@progress/kendo-react-layout 5.14.0-dev.202305291502 → 5.14.0-dev.202305311028

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/es/main.d.ts CHANGED
@@ -88,5 +88,7 @@ export * from './actionsheet/interfaces/ActionSheetItemProps';
88
88
  export * from './actionsheet/ActionSheetHeader';
89
89
  export * from './actionsheet/ActionSheetContent';
90
90
  export * from './actionsheet/ActionSheetFooter';
91
+ export * from './timeline/Timeline';
92
+ export * from './timeline/utils';
91
93
  export * from './contextmenu/ContextMenu';
92
94
  export * from './expansionpanel';
package/dist/es/main.js CHANGED
@@ -88,5 +88,7 @@ export * from './actionsheet/interfaces/ActionSheetItemProps';
88
88
  export * from './actionsheet/ActionSheetHeader';
89
89
  export * from './actionsheet/ActionSheetContent';
90
90
  export * from './actionsheet/ActionSheetFooter';
91
+ export * from './timeline/Timeline';
92
+ export * from './timeline/utils';
91
93
  export * from './contextmenu/ContextMenu';
92
94
  export * from './expansionpanel';
@@ -5,7 +5,7 @@ export var packageMetadata = {
5
5
  name: '@progress/kendo-react-layout',
6
6
  productName: 'KendoReact',
7
7
  productCodes: ['KENDOUIREACT', 'KENDOUICOMPLETE'],
8
- publishDate: 1685370559,
8
+ publishDate: 1685527085,
9
9
  version: '',
10
10
  licensingDocsUrl: 'https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning'
11
11
  };
@@ -0,0 +1,68 @@
1
+ import * as React from 'react';
2
+ import { ToggleEventProps } from './TimelineCard';
3
+ export interface TimelineEventProps {
4
+ /**
5
+ * Specifies the text that is rendered as body of the event card.
6
+ */
7
+ description: string;
8
+ /**
9
+ * Represent event point on the axis.
10
+ */
11
+ date: Date;
12
+ /**
13
+ * Specifies the text that is rendered as title.
14
+ */
15
+ title: string;
16
+ /**
17
+ * Specifies the text that is rendered under the title.
18
+ */
19
+ subtitle?: string;
20
+ /**
21
+ * Specifies the images that are rendered under the description.
22
+ */
23
+ images?: {
24
+ src: string;
25
+ alt?: string;
26
+ }[];
27
+ /**
28
+ * Specifies the corresponding links that are rendered under the images.
29
+ */
30
+ actions?: {
31
+ text: string;
32
+ url: string;
33
+ }[];
34
+ }
35
+ export interface TimelineProps {
36
+ events: TimelineEventProps[];
37
+ /**
38
+ * Specifies the CSS class names which are set to the Timeline.
39
+ */
40
+ className?: string;
41
+ /**
42
+ * Specifies option for expanding and collapsing the event card.
43
+ */
44
+ collapsibleEvents?: boolean;
45
+ /**
46
+ * @hidden
47
+ */
48
+ horizontal?: boolean;
49
+ /**
50
+ * The date format for displaying the event date.
51
+ */
52
+ dateFormat?: string;
53
+ /**
54
+ * Render events alternatingly on both sides of the axis.
55
+ */
56
+ alterMode?: boolean;
57
+ /**
58
+ * An event that is called when event card is toggled.
59
+ */
60
+ onChange?: (event: ToggleEventProps) => void;
61
+ /**
62
+ * An event that is called when card action is clicked.
63
+ */
64
+ onActionClick?: (event: {
65
+ eventData: TimelineEventProps;
66
+ }) => void;
67
+ }
68
+ export declare const Timeline: React.FunctionComponent<TimelineProps>;
@@ -0,0 +1,38 @@
1
+ import * as React from 'react';
2
+ import * as PropTypes from 'prop-types';
3
+ import { TimelineCard } from './TimelineCard';
4
+ import { classNames } from '@progress/kendo-react-common';
5
+ import { useInternationalization } from '@progress/kendo-react-intl';
6
+ export var Timeline = function (props) {
7
+ var collapsibleEvents = props.collapsibleEvents, className = props.className, alterMode = props.alterMode, horizontal = props.horizontal, events = props.events, dateFormat = props.dateFormat, onChange = props.onChange, onActionClick = props.onActionClick;
8
+ var intl = useInternationalization();
9
+ var yearPoint = undefined;
10
+ var setYearPoint = function (year) {
11
+ yearPoint = year;
12
+ return (React.createElement("li", { className: "k-timeline-flag-wrap" },
13
+ React.createElement("span", { className: "k-timeline-flag" }, year)));
14
+ };
15
+ var timelineVertical = function () { return (React.createElement("ul", null, events.map(function (eventData, index) {
16
+ return (React.createElement(React.Fragment, { key: index },
17
+ yearPoint !== eventData.date.getFullYear() && setYearPoint(eventData.date.getFullYear()),
18
+ React.createElement("li", { className: classNames('k-timeline-event', { 'k-reverse': index % 2 === 0 }) },
19
+ React.createElement("div", { className: "k-timeline-date-wrap" },
20
+ React.createElement("span", { className: "k-timeline-date" }, intl.formatDate(eventData.date, dateFormat))),
21
+ React.createElement("a", { className: "k-timeline-circle" }),
22
+ React.createElement(TimelineCard, { eventData: eventData, alternated: alterMode && index % 2 === 0, collapsible: collapsibleEvents, onChange: onChange, onActionClick: onActionClick }))));
23
+ }))); };
24
+ return (React.createElement("div", { className: classNames('k-timeline', 'k-timeline-collapsible', {
25
+ 'k-timeline-collapsible': collapsibleEvents,
26
+ 'k-timeline-vertical': !horizontal,
27
+ 'k-timeline-alternating': alterMode,
28
+ 'k-timeline-horizontal': horizontal
29
+ }, className) }, timelineVertical()));
30
+ };
31
+ Timeline.defaultProps = {
32
+ alterMode: true,
33
+ collapsibleEvents: true,
34
+ dateFormat: 'MMM dd, yyyy'
35
+ };
36
+ Timeline.propTypes = {
37
+ className: PropTypes.string
38
+ };
@@ -0,0 +1,30 @@
1
+ import * as React from 'react';
2
+ import { TimelineEventProps } from './Timeline';
3
+ /**
4
+ * @hidden
5
+ */
6
+ interface TimelineCardProps {
7
+ eventData: TimelineEventProps;
8
+ alternated?: boolean;
9
+ collapsible?: boolean;
10
+ onChange?: (event: ToggleEventProps) => void;
11
+ onActionClick?: (event: {
12
+ eventData: TimelineEventProps;
13
+ }) => void;
14
+ }
15
+ export interface ToggleEventProps {
16
+ /**
17
+ * A React Synthetic Event.
18
+ */
19
+ syntheticEvent?: React.SyntheticEvent<any>;
20
+ /**
21
+ * A native DOM event.
22
+ */
23
+ nativeEvent?: any;
24
+ /**
25
+ * The selected card value.
26
+ */
27
+ eventData: TimelineEventProps;
28
+ }
29
+ export declare const TimelineCard: React.FunctionComponent<TimelineCardProps>;
30
+ export {};
@@ -0,0 +1,56 @@
1
+ import * as React from 'react';
2
+ import * as PropTypes from 'prop-types';
3
+ import { Card } from '../card/Card';
4
+ import { CardHeader } from '../card/CardHeader';
5
+ import { CardTitle } from '../card/CardTitle';
6
+ import { CardSubtitle } from '../card/CardSubtitle';
7
+ import { CardBody } from '../card/CardBody';
8
+ import { CardImage } from '../card/CardImage';
9
+ import { CardActions } from '../card/CardActions';
10
+ import { Button } from '@progress/kendo-react-buttons';
11
+ import { classNames } from '@progress/kendo-react-common';
12
+ import { Reveal } from '@progress/kendo-react-animation';
13
+ import { chevronRightIcon } from '@progress/kendo-svg-icons';
14
+ export var TimelineCard = function (props) {
15
+ var animationDuration = 400;
16
+ var _a = props.eventData, title = _a.title, subtitle = _a.subtitle, actions = _a.actions, images = _a.images, description = _a.description;
17
+ var _b = React.useState(true), collapse = _b[0], setCollapse = _b[1];
18
+ var _c = React.useState(true), collapsed = _c[0], setCollapsed = _c[1];
19
+ var toggleCard = function (event) {
20
+ setCollapse(!collapse);
21
+ if (props.onChange) {
22
+ var toggleEvent = {
23
+ syntheticEvent: event,
24
+ nativeEvent: event.nativeEvent,
25
+ eventData: props.eventData
26
+ };
27
+ props.onChange.call(undefined, toggleEvent);
28
+ }
29
+ };
30
+ var actionClick = function () {
31
+ if (props.onActionClick) {
32
+ var actionClickEvent = {
33
+ eventData: props.eventData
34
+ };
35
+ props.onActionClick.call(undefined, actionClickEvent);
36
+ }
37
+ };
38
+ return (React.createElement("div", { className: classNames('k-timeline-card', { 'k-collapsed': collapsed }) },
39
+ React.createElement(Card, { className: "k-card-with-callout" },
40
+ React.createElement("span", { className: classNames('k-timeline-card-callout', 'k-card-callout', { 'k-callout-e': props.alternated }, { 'k-callout-w': !props.alternated }) }),
41
+ React.createElement(CardHeader, null,
42
+ React.createElement(CardTitle, null,
43
+ React.createElement("span", { className: "k-event-title" }, title),
44
+ props.collapsible && React.createElement(Button, { fillMode: 'flat', icon: 'chevron-right', svgIcon: chevronRightIcon, onClick: function (event) { return toggleCard(event); }, className: 'k-event-collapse' })),
45
+ subtitle && React.createElement(CardSubtitle, null, subtitle)),
46
+ React.createElement(Reveal, { transitionEnterDuration: animationDuration, transitionExitDuration: animationDuration, onBeforeEnter: function () { return setCollapsed(false); }, onAfterExited: function () { return setCollapsed(true); } }, !collapse ? React.createElement(CardBody, null,
47
+ React.createElement("div", { className: "k-card-description" },
48
+ React.createElement("p", null, description),
49
+ images && images.map(function (image, index) { return (React.createElement(CardImage, { key: index, src: image.src })); })),
50
+ React.createElement(CardActions, null, actions && actions.map(function (action, index) { return (React.createElement("a", { key: index, href: action.url, className: "k-button k-button-md k-rounded-md k-button-flat k-button-flat-primary", onClick: actionClick }, action.text)); })))
51
+ : null))));
52
+ };
53
+ TimelineCard.propTypes = {
54
+ onChange: PropTypes.func,
55
+ onActionClick: PropTypes.func
56
+ };
@@ -0,0 +1,5 @@
1
+ import { TimelineEventProps } from './Timeline';
2
+ /**
3
+ * Sort the events list based on event date.
4
+ */
5
+ export declare const sortEventList: (eventList: TimelineEventProps[]) => TimelineEventProps[];
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Sort the events list based on event date.
3
+ */
4
+ export var sortEventList = function (eventList) {
5
+ var sortedEvents = eventList.sort(function (a, b) {
6
+ return a.date.getTime() - b.date.getTime();
7
+ });
8
+ return sortedEvents;
9
+ };
@@ -88,5 +88,7 @@ export * from './actionsheet/interfaces/ActionSheetItemProps';
88
88
  export * from './actionsheet/ActionSheetHeader';
89
89
  export * from './actionsheet/ActionSheetContent';
90
90
  export * from './actionsheet/ActionSheetFooter';
91
+ export * from './timeline/Timeline';
92
+ export * from './timeline/utils';
91
93
  export * from './contextmenu/ContextMenu';
92
94
  export * from './expansionpanel';
package/dist/npm/main.js CHANGED
@@ -109,5 +109,7 @@ __exportStar(require("./actionsheet/interfaces/ActionSheetItemProps"), exports);
109
109
  __exportStar(require("./actionsheet/ActionSheetHeader"), exports);
110
110
  __exportStar(require("./actionsheet/ActionSheetContent"), exports);
111
111
  __exportStar(require("./actionsheet/ActionSheetFooter"), exports);
112
+ __exportStar(require("./timeline/Timeline"), exports);
113
+ __exportStar(require("./timeline/utils"), exports);
112
114
  __exportStar(require("./contextmenu/ContextMenu"), exports);
113
115
  __exportStar(require("./expansionpanel"), exports);
@@ -8,7 +8,7 @@ exports.packageMetadata = {
8
8
  name: '@progress/kendo-react-layout',
9
9
  productName: 'KendoReact',
10
10
  productCodes: ['KENDOUIREACT', 'KENDOUICOMPLETE'],
11
- publishDate: 1685370559,
11
+ publishDate: 1685527085,
12
12
  version: '',
13
13
  licensingDocsUrl: 'https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning'
14
14
  };
@@ -0,0 +1,68 @@
1
+ import * as React from 'react';
2
+ import { ToggleEventProps } from './TimelineCard';
3
+ export interface TimelineEventProps {
4
+ /**
5
+ * Specifies the text that is rendered as body of the event card.
6
+ */
7
+ description: string;
8
+ /**
9
+ * Represent event point on the axis.
10
+ */
11
+ date: Date;
12
+ /**
13
+ * Specifies the text that is rendered as title.
14
+ */
15
+ title: string;
16
+ /**
17
+ * Specifies the text that is rendered under the title.
18
+ */
19
+ subtitle?: string;
20
+ /**
21
+ * Specifies the images that are rendered under the description.
22
+ */
23
+ images?: {
24
+ src: string;
25
+ alt?: string;
26
+ }[];
27
+ /**
28
+ * Specifies the corresponding links that are rendered under the images.
29
+ */
30
+ actions?: {
31
+ text: string;
32
+ url: string;
33
+ }[];
34
+ }
35
+ export interface TimelineProps {
36
+ events: TimelineEventProps[];
37
+ /**
38
+ * Specifies the CSS class names which are set to the Timeline.
39
+ */
40
+ className?: string;
41
+ /**
42
+ * Specifies option for expanding and collapsing the event card.
43
+ */
44
+ collapsibleEvents?: boolean;
45
+ /**
46
+ * @hidden
47
+ */
48
+ horizontal?: boolean;
49
+ /**
50
+ * The date format for displaying the event date.
51
+ */
52
+ dateFormat?: string;
53
+ /**
54
+ * Render events alternatingly on both sides of the axis.
55
+ */
56
+ alterMode?: boolean;
57
+ /**
58
+ * An event that is called when event card is toggled.
59
+ */
60
+ onChange?: (event: ToggleEventProps) => void;
61
+ /**
62
+ * An event that is called when card action is clicked.
63
+ */
64
+ onActionClick?: (event: {
65
+ eventData: TimelineEventProps;
66
+ }) => void;
67
+ }
68
+ export declare const Timeline: React.FunctionComponent<TimelineProps>;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Timeline = void 0;
4
+ var React = require("react");
5
+ var PropTypes = require("prop-types");
6
+ var TimelineCard_1 = require("./TimelineCard");
7
+ var kendo_react_common_1 = require("@progress/kendo-react-common");
8
+ var kendo_react_intl_1 = require("@progress/kendo-react-intl");
9
+ var Timeline = function (props) {
10
+ var collapsibleEvents = props.collapsibleEvents, className = props.className, alterMode = props.alterMode, horizontal = props.horizontal, events = props.events, dateFormat = props.dateFormat, onChange = props.onChange, onActionClick = props.onActionClick;
11
+ var intl = (0, kendo_react_intl_1.useInternationalization)();
12
+ var yearPoint = undefined;
13
+ var setYearPoint = function (year) {
14
+ yearPoint = year;
15
+ return (React.createElement("li", { className: "k-timeline-flag-wrap" },
16
+ React.createElement("span", { className: "k-timeline-flag" }, year)));
17
+ };
18
+ var timelineVertical = function () { return (React.createElement("ul", null, events.map(function (eventData, index) {
19
+ return (React.createElement(React.Fragment, { key: index },
20
+ yearPoint !== eventData.date.getFullYear() && setYearPoint(eventData.date.getFullYear()),
21
+ React.createElement("li", { className: (0, kendo_react_common_1.classNames)('k-timeline-event', { 'k-reverse': index % 2 === 0 }) },
22
+ React.createElement("div", { className: "k-timeline-date-wrap" },
23
+ React.createElement("span", { className: "k-timeline-date" }, intl.formatDate(eventData.date, dateFormat))),
24
+ React.createElement("a", { className: "k-timeline-circle" }),
25
+ React.createElement(TimelineCard_1.TimelineCard, { eventData: eventData, alternated: alterMode && index % 2 === 0, collapsible: collapsibleEvents, onChange: onChange, onActionClick: onActionClick }))));
26
+ }))); };
27
+ return (React.createElement("div", { className: (0, kendo_react_common_1.classNames)('k-timeline', 'k-timeline-collapsible', {
28
+ 'k-timeline-collapsible': collapsibleEvents,
29
+ 'k-timeline-vertical': !horizontal,
30
+ 'k-timeline-alternating': alterMode,
31
+ 'k-timeline-horizontal': horizontal
32
+ }, className) }, timelineVertical()));
33
+ };
34
+ exports.Timeline = Timeline;
35
+ exports.Timeline.defaultProps = {
36
+ alterMode: true,
37
+ collapsibleEvents: true,
38
+ dateFormat: 'MMM dd, yyyy'
39
+ };
40
+ exports.Timeline.propTypes = {
41
+ className: PropTypes.string
42
+ };
@@ -0,0 +1,30 @@
1
+ import * as React from 'react';
2
+ import { TimelineEventProps } from './Timeline';
3
+ /**
4
+ * @hidden
5
+ */
6
+ interface TimelineCardProps {
7
+ eventData: TimelineEventProps;
8
+ alternated?: boolean;
9
+ collapsible?: boolean;
10
+ onChange?: (event: ToggleEventProps) => void;
11
+ onActionClick?: (event: {
12
+ eventData: TimelineEventProps;
13
+ }) => void;
14
+ }
15
+ export interface ToggleEventProps {
16
+ /**
17
+ * A React Synthetic Event.
18
+ */
19
+ syntheticEvent?: React.SyntheticEvent<any>;
20
+ /**
21
+ * A native DOM event.
22
+ */
23
+ nativeEvent?: any;
24
+ /**
25
+ * The selected card value.
26
+ */
27
+ eventData: TimelineEventProps;
28
+ }
29
+ export declare const TimelineCard: React.FunctionComponent<TimelineCardProps>;
30
+ export {};
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TimelineCard = void 0;
4
+ var React = require("react");
5
+ var PropTypes = require("prop-types");
6
+ var Card_1 = require("../card/Card");
7
+ var CardHeader_1 = require("../card/CardHeader");
8
+ var CardTitle_1 = require("../card/CardTitle");
9
+ var CardSubtitle_1 = require("../card/CardSubtitle");
10
+ var CardBody_1 = require("../card/CardBody");
11
+ var CardImage_1 = require("../card/CardImage");
12
+ var CardActions_1 = require("../card/CardActions");
13
+ var kendo_react_buttons_1 = require("@progress/kendo-react-buttons");
14
+ var kendo_react_common_1 = require("@progress/kendo-react-common");
15
+ var kendo_react_animation_1 = require("@progress/kendo-react-animation");
16
+ var kendo_svg_icons_1 = require("@progress/kendo-svg-icons");
17
+ var TimelineCard = function (props) {
18
+ var animationDuration = 400;
19
+ var _a = props.eventData, title = _a.title, subtitle = _a.subtitle, actions = _a.actions, images = _a.images, description = _a.description;
20
+ var _b = React.useState(true), collapse = _b[0], setCollapse = _b[1];
21
+ var _c = React.useState(true), collapsed = _c[0], setCollapsed = _c[1];
22
+ var toggleCard = function (event) {
23
+ setCollapse(!collapse);
24
+ if (props.onChange) {
25
+ var toggleEvent = {
26
+ syntheticEvent: event,
27
+ nativeEvent: event.nativeEvent,
28
+ eventData: props.eventData
29
+ };
30
+ props.onChange.call(undefined, toggleEvent);
31
+ }
32
+ };
33
+ var actionClick = function () {
34
+ if (props.onActionClick) {
35
+ var actionClickEvent = {
36
+ eventData: props.eventData
37
+ };
38
+ props.onActionClick.call(undefined, actionClickEvent);
39
+ }
40
+ };
41
+ return (React.createElement("div", { className: (0, kendo_react_common_1.classNames)('k-timeline-card', { 'k-collapsed': collapsed }) },
42
+ React.createElement(Card_1.Card, { className: "k-card-with-callout" },
43
+ React.createElement("span", { className: (0, kendo_react_common_1.classNames)('k-timeline-card-callout', 'k-card-callout', { 'k-callout-e': props.alternated }, { 'k-callout-w': !props.alternated }) }),
44
+ React.createElement(CardHeader_1.CardHeader, null,
45
+ React.createElement(CardTitle_1.CardTitle, null,
46
+ React.createElement("span", { className: "k-event-title" }, title),
47
+ props.collapsible && React.createElement(kendo_react_buttons_1.Button, { fillMode: 'flat', icon: 'chevron-right', svgIcon: kendo_svg_icons_1.chevronRightIcon, onClick: function (event) { return toggleCard(event); }, className: 'k-event-collapse' })),
48
+ subtitle && React.createElement(CardSubtitle_1.CardSubtitle, null, subtitle)),
49
+ React.createElement(kendo_react_animation_1.Reveal, { transitionEnterDuration: animationDuration, transitionExitDuration: animationDuration, onBeforeEnter: function () { return setCollapsed(false); }, onAfterExited: function () { return setCollapsed(true); } }, !collapse ? React.createElement(CardBody_1.CardBody, null,
50
+ React.createElement("div", { className: "k-card-description" },
51
+ React.createElement("p", null, description),
52
+ images && images.map(function (image, index) { return (React.createElement(CardImage_1.CardImage, { key: index, src: image.src })); })),
53
+ React.createElement(CardActions_1.CardActions, null, actions && actions.map(function (action, index) { return (React.createElement("a", { key: index, href: action.url, className: "k-button k-button-md k-rounded-md k-button-flat k-button-flat-primary", onClick: actionClick }, action.text)); })))
54
+ : null))));
55
+ };
56
+ exports.TimelineCard = TimelineCard;
57
+ exports.TimelineCard.propTypes = {
58
+ onChange: PropTypes.func,
59
+ onActionClick: PropTypes.func
60
+ };
@@ -0,0 +1,5 @@
1
+ import { TimelineEventProps } from './Timeline';
2
+ /**
3
+ * Sort the events list based on event date.
4
+ */
5
+ export declare const sortEventList: (eventList: TimelineEventProps[]) => TimelineEventProps[];
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sortEventList = void 0;
4
+ /**
5
+ * Sort the events list based on event date.
6
+ */
7
+ var sortEventList = function (eventList) {
8
+ var sortedEvents = eventList.sort(function (a, b) {
9
+ return a.date.getTime() - b.date.getTime();
10
+ });
11
+ return sortedEvents;
12
+ };
13
+ exports.sortEventList = sortEventList;