@progress/kendo-react-layout 5.14.0-dev.202305301859 → 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/cdn/js/kendo-react-layout.js +1 -1
- package/dist/es/main.d.ts +2 -0
- package/dist/es/main.js +2 -0
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/timeline/Timeline.d.ts +68 -0
- package/dist/es/timeline/Timeline.js +38 -0
- package/dist/es/timeline/TimelineCard.d.ts +30 -0
- package/dist/es/timeline/TimelineCard.js +56 -0
- package/dist/es/timeline/utils.d.ts +5 -0
- package/dist/es/timeline/utils.js +9 -0
- package/dist/npm/main.d.ts +2 -0
- package/dist/npm/main.js +2 -0
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/timeline/Timeline.d.ts +68 -0
- package/dist/npm/timeline/Timeline.js +42 -0
- package/dist/npm/timeline/TimelineCard.d.ts +30 -0
- package/dist/npm/timeline/TimelineCard.js +60 -0
- package/dist/npm/timeline/utils.d.ts +5 -0
- package/dist/npm/timeline/utils.js +13 -0
- package/dist/systemjs/kendo-react-layout.js +1 -1
- package/package.json +13 -13
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:
|
|
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
|
+
};
|
package/dist/npm/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/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:
|
|
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,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;
|