@qoretechnologies/reqore 0.67.6 → 0.68.1
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/components/DatePicker/index.d.ts +13 -1
- package/dist/components/DatePicker/index.d.ts.map +1 -1
- package/dist/components/DatePicker/index.js +79 -39
- package/dist/components/DatePicker/index.js.map +1 -1
- package/dist/components/DescriptionList/index.d.ts +119 -0
- package/dist/components/DescriptionList/index.d.ts.map +1 -0
- package/dist/components/DescriptionList/index.js +161 -0
- package/dist/components/DescriptionList/index.js.map +1 -0
- package/dist/components/Panel/index.d.ts.map +1 -1
- package/dist/components/Panel/index.js +1 -1
- package/dist/components/Panel/index.js.map +1 -1
- package/dist/constants/sizes.d.ts +9 -0
- package/dist/constants/sizes.d.ts.map +1 -1
- package/dist/constants/sizes.js +10 -1
- package/dist/constants/sizes.js.map +1 -1
- package/dist/esm/components/Accordion/index.js +142 -0
- package/dist/esm/components/Accordion/index.js.map +1 -0
- package/dist/esm/components/Breadcrumbs/index.js +122 -0
- package/dist/esm/components/Breadcrumbs/index.js.map +1 -0
- package/dist/esm/components/Breadcrumbs/item.js +14 -0
- package/dist/esm/components/Breadcrumbs/item.js.map +1 -0
- package/dist/esm/components/Button/index.js +315 -0
- package/dist/esm/components/Button/index.js.map +1 -0
- package/dist/esm/components/Callout/index.js +142 -0
- package/dist/esm/components/Callout/index.js.map +1 -0
- package/dist/esm/components/Checkbox/index.js +217 -0
- package/dist/esm/components/Checkbox/index.js.map +1 -0
- package/dist/esm/components/Collection/index.js +298 -0
- package/dist/esm/components/Collection/index.js.map +1 -0
- package/dist/esm/components/Collection/item.js +157 -0
- package/dist/esm/components/Collection/item.js.map +1 -0
- package/dist/esm/components/Columns/column.js +14 -0
- package/dist/esm/components/Columns/column.js.map +1 -0
- package/dist/esm/components/Columns/index.js +17 -0
- package/dist/esm/components/Columns/index.js.map +1 -0
- package/dist/esm/components/Comment/index.js +63 -0
- package/dist/esm/components/Comment/index.js.map +1 -0
- package/dist/esm/components/CommentFeed/index.js +17 -0
- package/dist/esm/components/CommentFeed/index.js.map +1 -0
- package/dist/esm/components/Content/index.js +16 -0
- package/dist/esm/components/Content/index.js.map +1 -0
- package/dist/esm/components/Content/wrapper.js +14 -0
- package/dist/esm/components/Content/wrapper.js.map +1 -0
- package/dist/esm/components/ControlGroup/index.js +351 -0
- package/dist/esm/components/ControlGroup/index.js.map +1 -0
- package/dist/esm/components/DatePicker/MonthYearDropdowns.js +30 -0
- package/dist/esm/components/DatePicker/MonthYearDropdowns.js.map +1 -0
- package/dist/esm/components/DatePicker/index.js +244 -0
- package/dist/esm/components/DatePicker/index.js.map +1 -0
- package/dist/esm/components/DescriptionList/index.js +132 -0
- package/dist/esm/components/DescriptionList/index.js.map +1 -0
- package/dist/esm/components/Drawer/backdrop.js +34 -0
- package/dist/esm/components/Drawer/backdrop.js.map +1 -0
- package/dist/esm/components/Drawer/index.js +286 -0
- package/dist/esm/components/Drawer/index.js.map +1 -0
- package/dist/esm/components/Dropdown/index.js +49 -0
- package/dist/esm/components/Dropdown/index.js.map +1 -0
- package/dist/esm/components/Dropdown/item.js +12 -0
- package/dist/esm/components/Dropdown/item.js.map +1 -0
- package/dist/esm/components/Dropdown/list.js +320 -0
- package/dist/esm/components/Dropdown/list.js.map +1 -0
- package/dist/esm/components/Effect/index.js +349 -0
- package/dist/esm/components/Effect/index.js.map +1 -0
- package/dist/esm/components/EmptyState/index.js +31 -0
- package/dist/esm/components/EmptyState/index.js.map +1 -0
- package/dist/esm/components/EntityRow/index.js +134 -0
- package/dist/esm/components/EntityRow/index.js.map +1 -0
- package/dist/esm/components/ErrorBoundary/index.js +57 -0
- package/dist/esm/components/ErrorBoundary/index.js.map +1 -0
- package/dist/esm/components/ExportModal/index.js +60 -0
- package/dist/esm/components/ExportModal/index.js.map +1 -0
- package/dist/esm/components/FeatureCard/index.js +139 -0
- package/dist/esm/components/FeatureCard/index.js.map +1 -0
- package/dist/esm/components/GlobalModalsWrapper/index.js +27 -0
- package/dist/esm/components/GlobalModalsWrapper/index.js.map +1 -0
- package/dist/esm/components/Header/index.js +55 -0
- package/dist/esm/components/Header/index.js.map +1 -0
- package/dist/esm/components/Icon/index.js +130 -0
- package/dist/esm/components/Icon/index.js.map +1 -0
- package/dist/esm/components/Input/index.js +136 -0
- package/dist/esm/components/Input/index.js.map +1 -0
- package/dist/esm/components/InputClearButton/index.js +32 -0
- package/dist/esm/components/InputClearButton/index.js.map +1 -0
- package/dist/esm/components/InternalPopover/index.js +244 -0
- package/dist/esm/components/InternalPopover/index.js.map +1 -0
- package/dist/esm/components/KeyValueTable/index.js +81 -0
- package/dist/esm/components/KeyValueTable/index.js.map +1 -0
- package/dist/esm/components/Label/index.js +7 -0
- package/dist/esm/components/Label/index.js.map +1 -0
- package/dist/esm/components/Layout/content.js +12 -0
- package/dist/esm/components/Layout/content.js.map +1 -0
- package/dist/esm/components/Layout/index.js +28 -0
- package/dist/esm/components/Layout/index.js.map +1 -0
- package/dist/esm/components/Menu/divider.js +41 -0
- package/dist/esm/components/Menu/divider.js.map +1 -0
- package/dist/esm/components/Menu/index.js +67 -0
- package/dist/esm/components/Menu/index.js.map +1 -0
- package/dist/esm/components/Menu/item.js +33 -0
- package/dist/esm/components/Menu/item.js.map +1 -0
- package/dist/esm/components/Menu/section.js +28 -0
- package/dist/esm/components/Menu/section.js.map +1 -0
- package/dist/esm/components/Message/index.js +52 -0
- package/dist/esm/components/Message/index.js.map +1 -0
- package/dist/esm/components/Modal/index.js +40 -0
- package/dist/esm/components/Modal/index.js.map +1 -0
- package/dist/esm/components/MultiSelect/index.js +146 -0
- package/dist/esm/components/MultiSelect/index.js.map +1 -0
- package/dist/esm/components/Navbar/divider.js +24 -0
- package/dist/esm/components/Navbar/divider.js.map +1 -0
- package/dist/esm/components/Navbar/group.js +27 -0
- package/dist/esm/components/Navbar/group.js.map +1 -0
- package/dist/esm/components/Navbar/index.js +39 -0
- package/dist/esm/components/Navbar/index.js.map +1 -0
- package/dist/esm/components/Navbar/item.js +51 -0
- package/dist/esm/components/Navbar/item.js.map +1 -0
- package/dist/esm/components/Notifications/index.js +28 -0
- package/dist/esm/components/Notifications/index.js.map +1 -0
- package/dist/esm/components/Notifications/notification.js +225 -0
- package/dist/esm/components/Notifications/notification.js.map +1 -0
- package/dist/esm/components/Paging/index.js +116 -0
- package/dist/esm/components/Paging/index.js.map +1 -0
- package/dist/esm/components/Panel/LabelEditor.js +33 -0
- package/dist/esm/components/Panel/LabelEditor.js.map +1 -0
- package/dist/esm/components/Panel/NonResponsiveActions.js +18 -0
- package/dist/esm/components/Panel/NonResponsiveActions.js.map +1 -0
- package/dist/esm/components/Panel/index.js +564 -0
- package/dist/esm/components/Panel/index.js.map +1 -0
- package/dist/esm/components/Panel/panel.screenshot.js +15 -0
- package/dist/esm/components/Panel/panel.screenshot.js.map +1 -0
- package/dist/esm/components/Paragraph/index.js +19 -0
- package/dist/esm/components/Paragraph/index.js.map +1 -0
- package/dist/esm/components/Popover/index.js +267 -0
- package/dist/esm/components/Popover/index.js.map +1 -0
- package/dist/esm/components/Progress/index.js +188 -0
- package/dist/esm/components/Progress/index.js.map +1 -0
- package/dist/esm/components/RadioGroup/index.js +9 -0
- package/dist/esm/components/RadioGroup/index.js.map +1 -0
- package/dist/esm/components/Rating/index.js +165 -0
- package/dist/esm/components/Rating/index.js.map +1 -0
- package/dist/esm/components/RichTextEditor/index.js +299 -0
- package/dist/esm/components/RichTextEditor/index.js.map +1 -0
- package/dist/esm/components/SegmentedControl/index.js +291 -0
- package/dist/esm/components/SegmentedControl/index.js.map +1 -0
- package/dist/esm/components/SeverityRow/index.js +106 -0
- package/dist/esm/components/SeverityRow/index.js.map +1 -0
- package/dist/esm/components/Skeleton/index.js +28 -0
- package/dist/esm/components/Skeleton/index.js.map +1 -0
- package/dist/esm/components/Slider/index.js +176 -0
- package/dist/esm/components/Slider/index.js.map +1 -0
- package/dist/esm/components/Spacer/index.js +96 -0
- package/dist/esm/components/Spacer/index.js.map +1 -0
- package/dist/esm/components/Span/index.js +18 -0
- package/dist/esm/components/Span/index.js.map +1 -0
- package/dist/esm/components/Spinner/index.js +14 -0
- package/dist/esm/components/Spinner/index.js.map +1 -0
- package/dist/esm/components/Statistic/index.js +166 -0
- package/dist/esm/components/Statistic/index.js.map +1 -0
- package/dist/esm/components/Table/body.js +72 -0
- package/dist/esm/components/Table/body.js.map +1 -0
- package/dist/esm/components/Table/cell.js +214 -0
- package/dist/esm/components/Table/cell.js.map +1 -0
- package/dist/esm/components/Table/header.js +158 -0
- package/dist/esm/components/Table/header.js.map +1 -0
- package/dist/esm/components/Table/headerCell.js +233 -0
- package/dist/esm/components/Table/headerCell.js.map +1 -0
- package/dist/esm/components/Table/helpers.js +285 -0
- package/dist/esm/components/Table/helpers.js.map +1 -0
- package/dist/esm/components/Table/index.js +472 -0
- package/dist/esm/components/Table/index.js.map +1 -0
- package/dist/esm/components/Table/row.js +176 -0
- package/dist/esm/components/Table/row.js.map +1 -0
- package/dist/esm/components/Table/value.js +19 -0
- package/dist/esm/components/Table/value.js.map +1 -0
- package/dist/esm/components/Tabs/content.js +23 -0
- package/dist/esm/components/Tabs/content.js.map +1 -0
- package/dist/esm/components/Tabs/index.js +44 -0
- package/dist/esm/components/Tabs/index.js.map +1 -0
- package/dist/esm/components/Tabs/item.js +122 -0
- package/dist/esm/components/Tabs/item.js.map +1 -0
- package/dist/esm/components/Tabs/list.js +208 -0
- package/dist/esm/components/Tabs/list.js.map +1 -0
- package/dist/esm/components/Tag/group.js +38 -0
- package/dist/esm/components/Tag/group.js.map +1 -0
- package/dist/esm/components/Tag/index.js +267 -0
- package/dist/esm/components/Tag/index.js.map +1 -0
- package/dist/esm/components/Testimonial/index.js +108 -0
- package/dist/esm/components/Testimonial/index.js.map +1 -0
- package/dist/esm/components/Textarea/index.js +135 -0
- package/dist/esm/components/Textarea/index.js.map +1 -0
- package/dist/esm/components/Tier/index.js +48 -0
- package/dist/esm/components/Tier/index.js.map +1 -0
- package/dist/esm/components/TimeAgo/index.js +19 -0
- package/dist/esm/components/TimeAgo/index.js.map +1 -0
- package/dist/esm/components/Timeline/index.js +271 -0
- package/dist/esm/components/Timeline/index.js.map +1 -0
- package/dist/esm/components/TooltipComponent/index.js +11 -0
- package/dist/esm/components/TooltipComponent/index.js.map +1 -0
- package/dist/esm/components/Tree/index.js +266 -0
- package/dist/esm/components/Tree/index.js.map +1 -0
- package/dist/esm/components/Tree/modal.js +30 -0
- package/dist/esm/components/Tree/modal.js.map +1 -0
- package/dist/esm/constants/animations.js +9 -0
- package/dist/esm/constants/animations.js.map +1 -0
- package/dist/esm/constants/colors.js +13 -0
- package/dist/esm/constants/colors.js.map +1 -0
- package/dist/esm/constants/paging.js +48 -0
- package/dist/esm/constants/paging.js.map +1 -0
- package/dist/esm/constants/sizes.js +363 -0
- package/dist/esm/constants/sizes.js.map +1 -0
- package/dist/esm/constants/theme.js +40 -0
- package/dist/esm/constants/theme.js.map +1 -0
- package/dist/esm/containers/Paging.js +29 -0
- package/dist/esm/containers/Paging.js.map +1 -0
- package/dist/esm/containers/ReqoreProvider.js +239 -0
- package/dist/esm/containers/ReqoreProvider.js.map +1 -0
- package/dist/esm/containers/ThemeProvider.js +11 -0
- package/dist/esm/containers/ThemeProvider.js.map +1 -0
- package/dist/esm/containers/UIProvider.js +53 -0
- package/dist/esm/containers/UIProvider.js.map +1 -0
- package/dist/esm/context/CustomThemeContext.js +4 -0
- package/dist/esm/context/CustomThemeContext.js.map +1 -0
- package/dist/esm/context/ReqoreContext.js +22 -0
- package/dist/esm/context/ReqoreContext.js.map +1 -0
- package/dist/esm/context/ThemeContext.js +4 -0
- package/dist/esm/context/ThemeContext.js.map +1 -0
- package/dist/esm/helpers/animations.js +13 -0
- package/dist/esm/helpers/animations.js.map +1 -0
- package/dist/esm/helpers/colors.js +240 -0
- package/dist/esm/helpers/colors.js.map +1 -0
- package/dist/esm/helpers/dates.js +52 -0
- package/dist/esm/helpers/dates.js.map +1 -0
- package/dist/esm/helpers/time.js +21 -0
- package/dist/esm/helpers/time.js.map +1 -0
- package/dist/esm/helpers/utils.js +174 -0
- package/dist/esm/helpers/utils.js.map +1 -0
- package/dist/esm/hooks/useAutoFocus.js +76 -0
- package/dist/esm/hooks/useAutoFocus.js.map +1 -0
- package/dist/esm/hooks/useCloneThroughFragments.js +26 -0
- package/dist/esm/hooks/useCloneThroughFragments.js.map +1 -0
- package/dist/esm/hooks/useCombinedRefs.js +25 -0
- package/dist/esm/hooks/useCombinedRefs.js.map +1 -0
- package/dist/esm/hooks/useComponentTooltip.js +28 -0
- package/dist/esm/hooks/useComponentTooltip.js.map +1 -0
- package/dist/esm/hooks/useFocusTrap.js +115 -0
- package/dist/esm/hooks/useFocusTrap.js.map +1 -0
- package/dist/esm/hooks/useLatestZIndex.js +10 -0
- package/dist/esm/hooks/useLatestZIndex.js.map +1 -0
- package/dist/esm/hooks/useOutsideClick.js +17 -0
- package/dist/esm/hooks/useOutsideClick.js.map +1 -0
- package/dist/esm/hooks/usePaging.js +92 -0
- package/dist/esm/hooks/usePaging.js.map +1 -0
- package/dist/esm/hooks/useQueryWithDelay.js +19 -0
- package/dist/esm/hooks/useQueryWithDelay.js.map +1 -0
- package/dist/esm/hooks/useReqore.js +10 -0
- package/dist/esm/hooks/useReqore.js.map +1 -0
- package/dist/esm/hooks/useReqoreContext.js +12 -0
- package/dist/esm/hooks/useReqoreContext.js.map +1 -0
- package/dist/esm/hooks/useReqoreEffect.js +21 -0
- package/dist/esm/hooks/useReqoreEffect.js.map +1 -0
- package/dist/esm/hooks/useTextareaAutoSize.js +16 -0
- package/dist/esm/hooks/useTextareaAutoSize.js.map +1 -0
- package/dist/esm/hooks/useTheme.js +39 -0
- package/dist/esm/hooks/useTheme.js.map +1 -0
- package/dist/esm/hooks/useWhyDidYouUpdate.js +32 -0
- package/dist/esm/hooks/useWhyDidYouUpdate.js.map +1 -0
- package/dist/esm/index.js +92 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/styles.js +122 -0
- package/dist/esm/styles.js.map +1 -0
- package/dist/esm/types/global.js +2 -0
- package/dist/esm/types/global.js.map +1 -0
- package/dist/esm/types/icons.js +2 -0
- package/dist/esm/types/icons.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/package.json +6 -2
- package/tests.json +1 -1
- package/tsconfig.esm.json +11 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { isNumber } from 'lodash';
|
|
3
|
+
import { memo, useMemo } from 'react';
|
|
4
|
+
import ReqoreButton, { ButtonBadge } from '../Button';
|
|
5
|
+
import ReqoreControlGroup from '../ControlGroup';
|
|
6
|
+
import { ReqoreH1 } from '../Header';
|
|
7
|
+
import ReqoreIcon from '../Icon';
|
|
8
|
+
import { ReqorePanel } from '../Panel';
|
|
9
|
+
import { ReqoreP } from '../Paragraph';
|
|
10
|
+
import { ReqoreVerticalSpacer } from '../Spacer';
|
|
11
|
+
export const ReqoreTier = memo(({ currency, currencyPosition = 'before', priceDetail, description, price, actionButtonProps, name, nameDetail, badge, featureList, highlight, salePrice, active, ...rest }) => {
|
|
12
|
+
const style = useMemo(() => {
|
|
13
|
+
return {
|
|
14
|
+
transform: `scale(${highlight ? 1.05 : 1})`,
|
|
15
|
+
...rest.style,
|
|
16
|
+
};
|
|
17
|
+
}, [rest.style]);
|
|
18
|
+
const contentEffect = useMemo(() => ({
|
|
19
|
+
gradient: {
|
|
20
|
+
type: 'linear',
|
|
21
|
+
direction: 'to right bottom',
|
|
22
|
+
animate: highlight ? 'always' : 'never',
|
|
23
|
+
animationSpeed: 5,
|
|
24
|
+
colors: {
|
|
25
|
+
0: highlight ? 'main:darken:3' : 'transparent',
|
|
26
|
+
150: highlight ? 'info:darken:7:0.8' : 'main:darken:5',
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
...rest.contentEffect,
|
|
30
|
+
}), [highlight, rest.contentEffect]);
|
|
31
|
+
return (_jsxs(ReqorePanel, { intent: highlight ? 'info' : undefined, ...rest, style: style, contentEffect: contentEffect, children: [_jsx(ReqoreVerticalSpacer, { height: 20 }), badge && (_jsxs(_Fragment, { children: [_jsx(ButtonBadge, { content: badge }), _jsx(ReqoreVerticalSpacer, { height: 10 })] })), _jsxs(ReqoreControlGroup, { horizontalAlign: 'center', vertical: true, gapSize: 'big', children: [_jsxs(ReqoreControlGroup, { horizontalAlign: 'center', vertical: true, gapSize: 'tiny', children: [_jsx(ReqoreP, { effect: { uppercase: true, weight: 'bold' }, size: 'big', children: name }), nameDetail && (_jsx(ReqoreP, { intent: 'muted', effect: { uppercase: true }, size: 'small', children: nameDetail }))] }), _jsxs(ReqoreControlGroup, { vertical: true, horizontalAlign: 'center', gapSize: 'tiny', children: [salePrice && (_jsxs(ReqoreP, { effect: {
|
|
32
|
+
uppercase: true,
|
|
33
|
+
weight: 'thick',
|
|
34
|
+
textSize: '40px',
|
|
35
|
+
color: 'success:lighten:15:1',
|
|
36
|
+
}, children: [currency && currencyPosition === 'before' && isNumber(salePrice)
|
|
37
|
+
? currency
|
|
38
|
+
: undefined, salePrice, currency && currencyPosition === 'after' && isNumber(salePrice)
|
|
39
|
+
? currency
|
|
40
|
+
: undefined] })), _jsxs(ReqoreH1, { effect: {
|
|
41
|
+
weight: 'thick',
|
|
42
|
+
textSize: salePrice ? '20px' : '40px',
|
|
43
|
+
lineThrough: salePrice ? '1px solid line-through red' : undefined,
|
|
44
|
+
opacity: salePrice ? 0.5 : 1,
|
|
45
|
+
}, children: [currency && currencyPosition === 'before' && isNumber(price) ? currency : undefined, price, currency && currencyPosition === 'after' && isNumber(price) ? currency : undefined] }), priceDetail && (_jsx(ReqoreP, { intent: 'muted', size: 'small', effect: { uppercase: true }, children: priceDetail }))] }), description && (_jsx(ReqoreP, { style: { textAlign: 'center', padding: '0 20px' }, children: description })), _jsx(ReqoreControlGroup, { fluid: true, horizontalAlign: 'center', children: _jsx(ReqoreButton, { minimal: true, textAlign: 'center', iconsAlign: 'center', intent: active ? 'success' : 'info', labelEffect: { uppercase: true, weight: 'thick', textSize: 'small' }, size: 'big', fluid: true, pill: true, label: active ? 'Active' : 'Get Started', icon: active ? 'CheckLine' : undefined, ...actionButtonProps, readOnly: active }) })] }), _jsx(ReqoreVerticalSpacer, { height: 20 }), _jsx(ReqoreControlGroup, { vertical: true, children: featureList &&
|
|
46
|
+
featureList.map(({ icon, content, iconProps, rightIcon, rightIconProps, ...contentProps }, index) => (_jsxs(ReqoreControlGroup, { spaceBetween: true, fluid: true, children: [_jsx(ReqoreIcon, { icon: icon || 'CheckLine', intent: 'success', ...iconProps }), _jsx(ReqoreP, { ...contentProps, children: content }), _jsx(ReqoreIcon, { icon: rightIcon, ...rightIconProps })] }, index))) })] }));
|
|
47
|
+
});
|
|
48
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Tier/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import timeago from 'epoch-timeago';
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { useInterval } from 'react-use';
|
|
4
|
+
import { getTimeAgoIntervalDelay } from '../../helpers/time';
|
|
5
|
+
export const TimeAgo = ({ time, emptyMessage = null, invalidMessage = 'Invalid Date', }) => {
|
|
6
|
+
const setUpdate = useState(Date.now());
|
|
7
|
+
const _time = typeof time === 'number' ? time : Date.parse(time);
|
|
8
|
+
useInterval(() => {
|
|
9
|
+
setUpdate[1](Date.now());
|
|
10
|
+
}, getTimeAgoIntervalDelay(_time));
|
|
11
|
+
if (!time) {
|
|
12
|
+
return emptyMessage;
|
|
13
|
+
}
|
|
14
|
+
if (isNaN(_time)) {
|
|
15
|
+
return invalidMessage;
|
|
16
|
+
}
|
|
17
|
+
return timeago(_time);
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/TimeAgo/index.tsx"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,eAAe,CAAC;AACpC,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EACtB,IAAI,EACJ,YAAY,GAAG,IAAI,EACnB,cAAc,GAAG,cAAc,GAKhC,EAAE,EAAE;IACH,MAAM,SAAS,GAAG,QAAQ,CAAS,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEjE,WAAW,CAAC,GAAG,EAAE;QACf,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3B,CAAC,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;IAEnC,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,YAAY,CAAC;KACrB;IAED,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;QAChB,OAAO,cAAc,CAAC;KACvB;IAED,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC,CAAC"}
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { rgba } from 'polished';
|
|
3
|
+
import { forwardRef, memo, useCallback, useState } from 'react';
|
|
4
|
+
import styled, { css } from 'styled-components';
|
|
5
|
+
import { GAP_FROM_SIZE, ICON_FROM_SIZE, PADDING_FROM_SIZE, RADIUS_FROM_SIZE, TEXT_FROM_SIZE, } from '../../constants/sizes';
|
|
6
|
+
import { changeLightness, getReadableColor } from '../../helpers/colors';
|
|
7
|
+
import { getOneLessSize } from '../../helpers/utils';
|
|
8
|
+
import { useReqoreProperty } from '../../hooks/useReqoreContext';
|
|
9
|
+
import { useReqoreTheme } from '../../hooks/useTheme';
|
|
10
|
+
import ReqoreControlGroup from '../ControlGroup';
|
|
11
|
+
import ReqoreIcon from '../Icon';
|
|
12
|
+
import { ReqoreP } from '../Paragraph';
|
|
13
|
+
import { ReqoreSpan } from '../Span';
|
|
14
|
+
import ReqoreTag from '../Tag';
|
|
15
|
+
import ReqoreTagGroup from '../Tag/group';
|
|
16
|
+
import { TimeAgo } from '../TimeAgo';
|
|
17
|
+
import { ReqoreTooltipComponent } from '../TooltipComponent';
|
|
18
|
+
// Size of the timeline marker (icon container) - made smaller
|
|
19
|
+
const MARKER_SIZE_FROM_SIZE = {
|
|
20
|
+
micro: 14,
|
|
21
|
+
tiny: 18,
|
|
22
|
+
small: 22,
|
|
23
|
+
normal: 26,
|
|
24
|
+
big: 32,
|
|
25
|
+
huge: 40,
|
|
26
|
+
massive: 50,
|
|
27
|
+
};
|
|
28
|
+
// Line width for the connector
|
|
29
|
+
const LINE_WIDTH_FROM_SIZE = {
|
|
30
|
+
micro: 1,
|
|
31
|
+
tiny: 1,
|
|
32
|
+
small: 2,
|
|
33
|
+
normal: 2,
|
|
34
|
+
big: 2,
|
|
35
|
+
huge: 3,
|
|
36
|
+
massive: 3,
|
|
37
|
+
};
|
|
38
|
+
const StyledTimeline = styled.ol `
|
|
39
|
+
list-style: none;
|
|
40
|
+
margin: 0;
|
|
41
|
+
padding: 0;
|
|
42
|
+
display: flex;
|
|
43
|
+
flex-direction: ${({ direction }) => (direction === 'horizontal' ? 'row' : 'column')};
|
|
44
|
+
width: ${({ fluid, direction }) => direction === 'horizontal' ? '100%' : fluid ? '100%' : 'auto'};
|
|
45
|
+
${({ direction }) => direction === 'horizontal' &&
|
|
46
|
+
css `
|
|
47
|
+
align-items: flex-start;
|
|
48
|
+
`}
|
|
49
|
+
`;
|
|
50
|
+
const StyledTimelineItem = styled.li `
|
|
51
|
+
display: flex;
|
|
52
|
+
position: relative;
|
|
53
|
+
|
|
54
|
+
${({ direction, theme, size, isLast }) => direction === 'horizontal' &&
|
|
55
|
+
css `
|
|
56
|
+
flex-direction: column;
|
|
57
|
+
align-items: center;
|
|
58
|
+
flex: 1 1 0;
|
|
59
|
+
min-width: 0;
|
|
60
|
+
text-align: center;
|
|
61
|
+
|
|
62
|
+
/* Connector line to the next item. Each item is the same flex width, so the line
|
|
63
|
+
starts at the right edge of this item's marker and ends at the left edge of the
|
|
64
|
+
next item's marker — distance = item_width - marker_size. */
|
|
65
|
+
&::after {
|
|
66
|
+
content: '';
|
|
67
|
+
position: absolute;
|
|
68
|
+
top: ${MARKER_SIZE_FROM_SIZE[size] / 2 - LINE_WIDTH_FROM_SIZE[size] / 2}px;
|
|
69
|
+
left: calc(50% + ${MARKER_SIZE_FROM_SIZE[size] / 2}px);
|
|
70
|
+
width: calc(100% - ${MARKER_SIZE_FROM_SIZE[size]}px);
|
|
71
|
+
height: ${LINE_WIDTH_FROM_SIZE[size]}px;
|
|
72
|
+
background-color: ${rgba(changeLightness(theme.main, 0.1), 0.4)};
|
|
73
|
+
${isLast &&
|
|
74
|
+
css `
|
|
75
|
+
display: none;
|
|
76
|
+
`}
|
|
77
|
+
}
|
|
78
|
+
`}
|
|
79
|
+
|
|
80
|
+
${({ disabled }) => disabled &&
|
|
81
|
+
css `
|
|
82
|
+
opacity: 0.5;
|
|
83
|
+
pointer-events: none;
|
|
84
|
+
`}
|
|
85
|
+
|
|
86
|
+
${({ isClickable, theme }) => isClickable &&
|
|
87
|
+
css `
|
|
88
|
+
cursor: pointer;
|
|
89
|
+
|
|
90
|
+
&:hover .reqore-timeline-marker {
|
|
91
|
+
background-color: ${rgba(changeLightness(theme.main, 0.1), 0.3)};
|
|
92
|
+
transform: scale(1.1);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
&:focus-visible {
|
|
96
|
+
outline: 2px solid ${changeLightness(theme.main, 0.2)};
|
|
97
|
+
outline-offset: 2px;
|
|
98
|
+
border-radius: ${RADIUS_FROM_SIZE.normal}px;
|
|
99
|
+
}
|
|
100
|
+
`}
|
|
101
|
+
`;
|
|
102
|
+
const StyledTimelineMarkerWrapper = styled.div `
|
|
103
|
+
display: flex;
|
|
104
|
+
flex-direction: column;
|
|
105
|
+
align-items: center;
|
|
106
|
+
flex-shrink: 0;
|
|
107
|
+
width: ${({ size }) => MARKER_SIZE_FROM_SIZE[size]}px;
|
|
108
|
+
margin-right: ${({ direction, size }) => direction === 'horizontal' ? 0 : `${PADDING_FROM_SIZE[size]}px`};
|
|
109
|
+
position: relative;
|
|
110
|
+
`;
|
|
111
|
+
const StyledTimelineMarker = styled.div `
|
|
112
|
+
display: flex;
|
|
113
|
+
align-items: center;
|
|
114
|
+
justify-content: center;
|
|
115
|
+
width: ${({ size }) => MARKER_SIZE_FROM_SIZE[size]}px;
|
|
116
|
+
height: ${({ size }) => MARKER_SIZE_FROM_SIZE[size]}px;
|
|
117
|
+
border-radius: 50%;
|
|
118
|
+
background-color: ${({ theme, hasIntent }) => hasIntent ? rgba(theme.main, 0.2) : rgba(changeLightness(theme.main, 0.1), 0.2)};
|
|
119
|
+
border: ${({ size }) => LINE_WIDTH_FROM_SIZE[size]}px solid
|
|
120
|
+
${({ theme, hasIntent }) => hasIntent ? theme.main : rgba(changeLightness(theme.main, 0.2), 0.6)};
|
|
121
|
+
transition: all 0.2s ease-in-out;
|
|
122
|
+
flex-shrink: 0;
|
|
123
|
+
z-index: 1;
|
|
124
|
+
`;
|
|
125
|
+
const StyledTimelineDot = styled.div `
|
|
126
|
+
width: ${({ size }) => Math.max(4, ICON_FROM_SIZE[size] / 4)}px;
|
|
127
|
+
height: ${({ size }) => Math.max(4, ICON_FROM_SIZE[size] / 4)}px;
|
|
128
|
+
border-radius: 50%;
|
|
129
|
+
background-color: ${({ theme, hasIntent }) => hasIntent ? theme.main : changeLightness(theme.main, 0.2)};
|
|
130
|
+
`;
|
|
131
|
+
// Line now positioned to connect markers (icon to icon) — vertical mode only.
|
|
132
|
+
// Horizontal mode draws its connector via a pseudo-element on StyledTimelineItem.
|
|
133
|
+
const StyledTimelineLine = styled.div `
|
|
134
|
+
position: absolute;
|
|
135
|
+
left: 50%;
|
|
136
|
+
transform: translateX(-50%);
|
|
137
|
+
top: ${({ size }) => MARKER_SIZE_FROM_SIZE[size]}px;
|
|
138
|
+
bottom: 0;
|
|
139
|
+
width: ${({ size }) => LINE_WIDTH_FROM_SIZE[size]}px;
|
|
140
|
+
background-color: ${({ theme }) => rgba(changeLightness(theme.main, 0.1), 0.4)};
|
|
141
|
+
|
|
142
|
+
${({ isLast }) => isLast &&
|
|
143
|
+
css `
|
|
144
|
+
display: none;
|
|
145
|
+
`}
|
|
146
|
+
`;
|
|
147
|
+
const StyledTimelineContent = styled.div `
|
|
148
|
+
flex: 1;
|
|
149
|
+
min-width: 0;
|
|
150
|
+
${({ direction, size }) => direction === 'horizontal'
|
|
151
|
+
? css `
|
|
152
|
+
padding-top: ${GAP_FROM_SIZE[size]}px;
|
|
153
|
+
padding-bottom: 0;
|
|
154
|
+
width: 100%;
|
|
155
|
+
text-align: center;
|
|
156
|
+
`
|
|
157
|
+
: css `
|
|
158
|
+
padding-top: ${Math.max(0, (MARKER_SIZE_FROM_SIZE[size] - TEXT_FROM_SIZE[size]) / 2 - 2)}px;
|
|
159
|
+
padding-bottom: ${PADDING_FROM_SIZE[size] * 2}px;
|
|
160
|
+
`}
|
|
161
|
+
`;
|
|
162
|
+
const StyledTimelineDetails = styled.div `
|
|
163
|
+
display: grid;
|
|
164
|
+
transition: grid-template-rows 0.2s ease-in-out, opacity 0.2s ease-in-out,
|
|
165
|
+
margin-top 0.2s ease-in-out;
|
|
166
|
+
|
|
167
|
+
${({ isCollapsed }) => isCollapsed &&
|
|
168
|
+
css `
|
|
169
|
+
grid-template-rows: 0fr;
|
|
170
|
+
opacity: 0;
|
|
171
|
+
margin-top: 0;
|
|
172
|
+
`}
|
|
173
|
+
|
|
174
|
+
${({ isCollapsed, size }) => !isCollapsed &&
|
|
175
|
+
css `
|
|
176
|
+
grid-template-rows: 1fr;
|
|
177
|
+
opacity: 1;
|
|
178
|
+
margin-top: ${GAP_FROM_SIZE[size]}px;
|
|
179
|
+
`}
|
|
180
|
+
|
|
181
|
+
> * {
|
|
182
|
+
overflow: hidden;
|
|
183
|
+
min-height: 0;
|
|
184
|
+
}
|
|
185
|
+
`;
|
|
186
|
+
const TimelineBadge = memo(({ size, content }) => {
|
|
187
|
+
const renderTag = useCallback((badge, key) => (_jsx(ReqoreTag, { size: getOneLessSize(size), asBadge: true, className: 'reqore-timeline-badge', labelAlign: 'center', minimal: true, ...(typeof badge === 'string' || typeof badge === 'number'
|
|
188
|
+
? { label: badge }
|
|
189
|
+
: badge) }, key)), [size]);
|
|
190
|
+
if (!content && content !== 0) {
|
|
191
|
+
return null;
|
|
192
|
+
}
|
|
193
|
+
if (Array.isArray(content)) {
|
|
194
|
+
return (_jsx(ReqoreTagGroup, { className: 'reqore-timeline-badges', children: content.map((badge, index) => renderTag(badge, index)) }));
|
|
195
|
+
}
|
|
196
|
+
return renderTag(content, 0);
|
|
197
|
+
});
|
|
198
|
+
const TimelineItemRenderer = memo(({ item, index, isLast, size, customTheme, intent, baseTheme, isCollapsed, direction, onToggleCollapse, onItemClick, onKeyDown, }) => {
|
|
199
|
+
const itemTheme = useReqoreTheme('main', customTheme, item.intent || intent);
|
|
200
|
+
const isClickable = !!item.onClick && !item.disabled;
|
|
201
|
+
const hasIntent = !!(item.intent || intent);
|
|
202
|
+
const isHorizontal = direction === 'horizontal';
|
|
203
|
+
// Horizontal mode is intentionally minimal: no expanding/collapsing and no content body.
|
|
204
|
+
const showCollapsible = !isHorizontal && item.collapsible;
|
|
205
|
+
const showContent = !isHorizontal && item.content;
|
|
206
|
+
const itemContent = (_jsxs(StyledTimelineItem, { theme: itemTheme, size: size, direction: direction, isClickable: isClickable, isLast: isLast, disabled: item.disabled, onClick: () => onItemClick(item), onKeyDown: (e) => onKeyDown(e, item), tabIndex: isClickable ? 0 : undefined, role: 'listitem', className: 'reqore-timeline-item', children: [_jsxs(StyledTimelineMarkerWrapper, { theme: itemTheme, size: size, direction: direction, children: [_jsx(StyledTimelineMarker, { theme: itemTheme, size: size, hasIntent: hasIntent, className: 'reqore-timeline-marker', children: item.icon ? (_jsx(ReqoreIcon, { icon: item.icon, size: getOneLessSize(getOneLessSize(size)), color: item.iconColor || (hasIntent ? itemTheme.main : undefined), ...item.iconProps })) : (_jsx(StyledTimelineDot, { theme: itemTheme, size: size, hasIntent: hasIntent })) }), !isHorizontal && (_jsx(StyledTimelineLine, { theme: baseTheme, size: size, isLast: isLast }))] }), _jsxs(StyledTimelineContent, { theme: baseTheme, size: size, direction: direction, children: [item.title && (_jsxs(ReqoreControlGroup, { verticalAlign: 'flex-start', horizontalAlign: isHorizontal ? 'center' : undefined, vertical: isHorizontal, gapSize: size, onClick: showCollapsible ? (e) => onToggleCollapse(index, e) : undefined, style: showCollapsible ? { cursor: 'pointer' } : undefined, children: [showCollapsible && (_jsx(ReqoreIcon, { icon: 'ArrowDownSLine', size: getOneLessSize(size), color: getReadableColor(baseTheme, undefined, undefined), rotation: isCollapsed ? -90 : 0, className: 'reqore-timeline-collapse', style: { flexShrink: 0 } })), _jsx(ReqoreSpan, { size: size, effect: item.titleEffect, className: 'reqore-timeline-title', style: { fontWeight: 500 }, children: item.title }), (item.badge || item.badge === 0) && (_jsx(TimelineBadge, { content: item.badge, size: size }))] })), item.timestamp && (_jsx(ReqoreSpan, { size: getOneLessSize(getOneLessSize(size)), className: 'reqore-timeline-timestamp', style: {
|
|
207
|
+
color: rgba(getReadableColor(baseTheme, undefined, undefined), 0.5),
|
|
208
|
+
display: 'block',
|
|
209
|
+
marginTop: `${GAP_FROM_SIZE[size]}px`,
|
|
210
|
+
textAlign: isHorizontal ? 'center' : undefined,
|
|
211
|
+
}, children: item.relativeTime ? _jsx(TimeAgo, { time: item.timestamp }) : item.timestamp })), showContent && (_jsx(StyledTimelineDetails, { theme: baseTheme, size: size, isCollapsed: isCollapsed, children: _jsx("div", { children: typeof item.content === 'string' || typeof item.content === 'number' ? (_jsx(ReqoreP, { size: getOneLessSize(size), effect: item.contentEffect, className: 'reqore-timeline-content', style: {
|
|
212
|
+
color: rgba(getReadableColor(baseTheme, undefined, undefined), 0.7),
|
|
213
|
+
lineHeight: 1.5,
|
|
214
|
+
}, children: item.content })) : (_jsx("div", { className: 'reqore-timeline-content', children: item.content })) }) }))] })] }));
|
|
215
|
+
if (item.tooltip) {
|
|
216
|
+
return (_jsx(ReqoreTooltipComponent, { tooltip: item.tooltip, Component: 'div', children: itemContent }));
|
|
217
|
+
}
|
|
218
|
+
return itemContent;
|
|
219
|
+
});
|
|
220
|
+
const ReqoreTimeline = memo(forwardRef(({ items, size = 'normal', customTheme, inheritCustomTheme, intent, fluid = false, className, direction: directionProp = 'vertical', responsive = true, collapsedState, onCollapseChange, ...rest }, ref) => {
|
|
221
|
+
const theme = useReqoreTheme('main', customTheme, intent, undefined, inheritCustomTheme);
|
|
222
|
+
const baseTheme = useReqoreTheme('main', customTheme, undefined, undefined, inheritCustomTheme);
|
|
223
|
+
const isMobile = useReqoreProperty('isMobile');
|
|
224
|
+
// Horizontal step rows get cramped on narrow viewports. Auto-fall back to vertical on
|
|
225
|
+
// mobile unless the caller explicitly opts out via `responsive={false}`.
|
|
226
|
+
const direction = responsive && isMobile && directionProp === 'horizontal' ? 'vertical' : directionProp;
|
|
227
|
+
// Internal state used only in uncontrolled mode
|
|
228
|
+
const [internalCollapsedStates, setInternalCollapsedStates] = useState(() => items.reduce((acc, item, index) => {
|
|
229
|
+
if (item.collapsible) {
|
|
230
|
+
acc[index] = item.isCollapsed ?? false;
|
|
231
|
+
}
|
|
232
|
+
return acc;
|
|
233
|
+
}, {}));
|
|
234
|
+
const isControlled = collapsedState !== undefined;
|
|
235
|
+
const handleItemClick = useCallback((item) => {
|
|
236
|
+
if (item.onClick && !item.disabled) {
|
|
237
|
+
item.onClick();
|
|
238
|
+
}
|
|
239
|
+
}, []);
|
|
240
|
+
const handleKeyDown = useCallback((event, item) => {
|
|
241
|
+
if ((event.key === 'Enter' || event.key === ' ') && item.onClick && !item.disabled) {
|
|
242
|
+
event.preventDefault();
|
|
243
|
+
item.onClick();
|
|
244
|
+
}
|
|
245
|
+
}, []);
|
|
246
|
+
const toggleCollapse = useCallback((index, event) => {
|
|
247
|
+
event.stopPropagation();
|
|
248
|
+
if (isControlled) {
|
|
249
|
+
const currentCollapsed = collapsedState[index] ?? items[index]?.isCollapsed ?? false;
|
|
250
|
+
onCollapseChange?.(index, !currentCollapsed);
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
setInternalCollapsedStates((prev) => {
|
|
254
|
+
const next = !prev[index];
|
|
255
|
+
onCollapseChange?.(index, next);
|
|
256
|
+
return { ...prev, [index]: next };
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
}, [isControlled, collapsedState, items, onCollapseChange]);
|
|
260
|
+
const getIsCollapsed = useCallback((item, index) => {
|
|
261
|
+
if (!item.collapsible)
|
|
262
|
+
return false;
|
|
263
|
+
if (isControlled) {
|
|
264
|
+
return collapsedState[index] ?? item.isCollapsed ?? false;
|
|
265
|
+
}
|
|
266
|
+
return internalCollapsedStates[index] ?? item.isCollapsed ?? false;
|
|
267
|
+
}, [isControlled, collapsedState, internalCollapsedStates]);
|
|
268
|
+
return (_jsx(StyledTimeline, { ...rest, ref: ref, theme: theme, size: size, fluid: fluid, direction: direction, className: `${className || ''} reqore-timeline reqore-timeline-${direction}`, role: 'list', children: items.map((item, index) => (_jsx(TimelineItemRenderer, { item: item, index: index, isLast: index === items.length - 1, size: size, customTheme: customTheme, intent: intent, baseTheme: baseTheme, direction: direction, isCollapsed: getIsCollapsed(item, index), onToggleCollapse: toggleCollapse, onItemClick: handleItemClick, onKeyDown: handleKeyDown }, index))) }));
|
|
269
|
+
}));
|
|
270
|
+
export default ReqoreTimeline;
|
|
271
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Timeline/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef, memo } from 'react';
|
|
3
|
+
import { buildTooltipForComponents } from '../../helpers/utils';
|
|
4
|
+
import { ReqorePopover } from '../Popover';
|
|
5
|
+
export const ReqoreTooltipComponent = memo(forwardRef(({ Component, ...rest }, ref) => {
|
|
6
|
+
if (!rest.tooltip) {
|
|
7
|
+
return _jsx(Component, { ...rest, ref: ref });
|
|
8
|
+
}
|
|
9
|
+
return (_jsx(ReqorePopover, { ...buildTooltipForComponents(rest.tooltip), component: Component, isReqoreComponent: true, ref: ref, componentProps: rest, children: rest.children }));
|
|
10
|
+
}));
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/TooltipComponent/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAQ3C,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CACxC,UAAU,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,EAA0B,EAAE,GAAG,EAAE,EAAE;IACjE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;QACjB,OAAO,KAAC,SAAS,OAAK,IAAI,EAAE,GAAG,EAAE,GAAG,GAAI,CAAC;KAC1C;IAED,OAAO,CACL,KAAC,aAAa,OACR,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,EAC3C,SAAS,EAAE,SAAS,EACpB,iBAAiB,QACjB,GAAG,EAAE,GAAG,EACR,cAAc,EAAE,IAAI,YAEnB,IAAI,CAAC,QAAQ,GACA,CACjB,CAAC;AACJ,CAAC,CAAC,CACH,CAAC"}
|