Socket
Socket
Sign inDemoInstall

@financial-times/x-teaser-timeline

Package Overview
Dependencies
98
Maintainers
10
Versions
147
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @financial-times/x-teaser-timeline

Display a list of teasers grouped by day and/or last visit time


Version published
Weekly downloads
340
decreased by-19.05%
Maintainers
10
Created
Weekly downloads
 

Readme

Source

x-teaser-timeline

This component renders a list of articles in reverse chronological order, grouped by day, according to the user's timezone. It will optionally group today's articles into "latest" and "earlier" too.

Installation

This module is supported on Node 12 and is distributed on npm.

npm install --save @financial-times/x-teaser-timeline

The x-engine module is used to inject your chosen runtime into the component. Please read the x-engine documentation first if you are consuming x- components for the first time in your application.

Other dependencies

o-teaser styles will need to be imported by the consumer of this component.

If selectively importing o-teaser's styles via scss, then you will need the following:

$o-teaser-is-silent: true;
@import '@financial-times/o-teaser/main';
@include oTeaser(('default', 'images', 'timestamp'), ('small'));

See the x-teaser documentation.

Usage

The components provided by this module are all functions that expect a map of properties. They can be used with vanilla JavaScript or JSX (If you are not familiar check out WTF is JSX first). For example if you were writing your application using React you could use the component like this:

import React from 'react'
import { TeaserTimeline } from '@financial-times/x-teaser-timeline'

// A == B == C
const a = TeaserTimeline(props)
const b = <TeaserTimeline {...props} />
const c = React.createElement(TeaserTimeline, props)

All x- components are designed to be compatible with a variety of runtimes, not just React. Check out the x-engine documentation for a list of recommended libraries and frameworks.

Properties

FeatureTypeNotes
itemsArray(Mandatory) Array of objects, in Teaser format, representating content items to render. The items should be in newest-first order.
timezoneOffsetNumber(Defaults using runtime clock) Minutes to offset item publish times in order to display in user's timezone. Negative means ahead of UTC.
localTodayDateString(Defaults using runtime clock) ISO format YYYY-MM-DD representating today's date in the user's timezone.
latestItemsTimeStringISO time (HH:mm:ss). If provided, will be used in combination with localTodayDate to render today's items into separate "Latest" and "Earlier" groups.
showSaveButtonsBoolean(Default to true). Option to hide x-article-save-buttons if they are not needed. Those buttons will get their saved/unsaved state from a saved property of the content item.
customSlotContentString or ArrayContent to insert at customSlotPosition.
customSlotPositionNumber or Array(Default is 2). Where to insert customSlotContent. The custom content will be inserted after the item at this position number. If this position is greater than the number items to render, then it will be inserted last.
csrfTokenStringA CSRF token that will be used by the save buttons (if shown).
latestItemsAgeHoursNumber(Optional). If provided, used to calculate a cutoff time before which no article will count as "latest", regardless of the value of latestItemsTime. If omitted, articles before midnight this morning will not count as "latest".

Example:

<TeaserTimeline items={items} timezoneOffset="-60" localTodayDate="2018-10-30" latestItemsTime="11:52:30" />

Keywords

FAQs

Last updated on 15 Apr 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc