@raystack/apsara 0.46.0-rc.2 → 0.46.0-rc.4
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/_virtual/index.cjs +2 -2
- package/dist/_virtual/index.js +2 -2
- package/dist/_virtual/index2.cjs +2 -2
- package/dist/_virtual/index2.js +2 -2
- package/dist/box/box.cjs +3 -0
- package/dist/box/box.cjs.map +1 -1
- package/dist/box/box.d.ts +3 -0
- package/dist/box/box.d.ts.map +1 -1
- package/dist/box/box.js +3 -0
- package/dist/box/box.js.map +1 -1
- package/dist/node_modules/.pnpm/@radix-ui_react-select@2.2.4_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-select/dist/index.cjs +2 -0
- package/dist/node_modules/.pnpm/@radix-ui_react-select@2.2.4_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-select/dist/index.cjs.map +1 -1
- package/dist/node_modules/.pnpm/@radix-ui_react-select@2.2.4_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-select/dist/index.js +2 -1
- package/dist/node_modules/.pnpm/@radix-ui_react-select@2.2.4_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-select/dist/index.js.map +1 -1
- package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.cjs +1 -1
- package/dist/node_modules/.pnpm/react-is@16.13.1/node_modules/react-is/index.js +1 -1
- package/dist/node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.2.0/node_modules/use-sync-external-store/shim/index.cjs +1 -1
- package/dist/node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.2.0/node_modules/use-sync-external-store/shim/index.js +1 -1
- package/dist/style.css +1 -1
- package/dist/v1/components/avatar/avatar.cjs +84 -49
- package/dist/v1/components/avatar/avatar.cjs.map +1 -1
- package/dist/v1/components/avatar/avatar.d.ts +4 -4
- package/dist/v1/components/avatar/avatar.d.ts.map +1 -1
- package/dist/v1/components/avatar/avatar.js +84 -49
- package/dist/v1/components/avatar/avatar.js.map +1 -1
- package/dist/v1/components/breadcrumb/breadcrumb.cjs +12 -11
- package/dist/v1/components/breadcrumb/breadcrumb.cjs.map +1 -1
- package/dist/v1/components/breadcrumb/breadcrumb.d.ts +2 -2
- package/dist/v1/components/breadcrumb/breadcrumb.d.ts.map +1 -1
- package/dist/v1/components/breadcrumb/breadcrumb.js +12 -11
- package/dist/v1/components/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/v1/components/calendar/calendar.cjs +11 -11
- package/dist/v1/components/calendar/calendar.cjs.map +1 -1
- package/dist/v1/components/calendar/calendar.d.ts.map +1 -1
- package/dist/v1/components/calendar/calendar.js +9 -9
- package/dist/v1/components/calendar/calendar.js.map +1 -1
- package/dist/v1/components/calendar/date-picker.cjs +1 -1
- package/dist/v1/components/calendar/date-picker.cjs.map +1 -1
- package/dist/v1/components/calendar/date-picker.js +1 -1
- package/dist/v1/components/calendar/date-picker.js.map +1 -1
- package/dist/v1/components/calendar/range-picker.cjs +2 -2
- package/dist/v1/components/calendar/range-picker.cjs.map +1 -1
- package/dist/v1/components/calendar/range-picker.js +2 -2
- package/dist/v1/components/calendar/range-picker.js.map +1 -1
- package/dist/v1/components/data-table/components/filters.cjs +14 -14
- package/dist/v1/components/data-table/components/filters.cjs.map +1 -1
- package/dist/v1/components/data-table/components/filters.d.ts.map +1 -1
- package/dist/v1/components/data-table/components/filters.js +14 -14
- package/dist/v1/components/data-table/components/filters.js.map +1 -1
- package/dist/v1/components/filter-chip/filter-chip.cjs +3 -1
- package/dist/v1/components/filter-chip/filter-chip.cjs.map +1 -1
- package/dist/v1/components/filter-chip/filter-chip.js +3 -1
- package/dist/v1/components/filter-chip/filter-chip.js.map +1 -1
- package/dist/v1/components/grid/grid-item.cjs +25 -0
- package/dist/v1/components/grid/grid-item.cjs.map +1 -0
- package/dist/v1/components/grid/grid-item.d.ts +15 -0
- package/dist/v1/components/grid/grid-item.d.ts.map +1 -0
- package/dist/v1/components/grid/grid-item.js +23 -0
- package/dist/v1/components/grid/grid-item.js.map +1 -0
- package/dist/v1/components/grid/grid.cjs +48 -0
- package/dist/v1/components/grid/grid.cjs.map +1 -0
- package/dist/v1/components/grid/grid.d.ts +45 -0
- package/dist/v1/components/grid/grid.d.ts.map +1 -0
- package/dist/v1/components/grid/grid.js +46 -0
- package/dist/v1/components/grid/grid.js.map +1 -0
- package/dist/v1/components/grid/index.cjs +11 -0
- package/dist/v1/components/grid/index.cjs.map +1 -0
- package/dist/v1/components/grid/index.d.ts +31 -0
- package/dist/v1/components/grid/index.d.ts.map +1 -0
- package/dist/v1/components/grid/index.js +9 -0
- package/dist/v1/components/grid/index.js.map +1 -0
- package/dist/v1/components/grid/types.d.ts +3 -0
- package/dist/v1/components/grid/types.d.ts.map +1 -0
- package/dist/v1/components/select/select-content.cjs +10 -3
- package/dist/v1/components/select/select-content.cjs.map +1 -1
- package/dist/v1/components/select/select-content.d.ts +4 -1
- package/dist/v1/components/select/select-content.d.ts.map +1 -1
- package/dist/v1/components/select/select-content.js +10 -3
- package/dist/v1/components/select/select-content.js.map +1 -1
- package/dist/v1/components/select/select-item.cjs +15 -3
- package/dist/v1/components/select/select-item.cjs.map +1 -1
- package/dist/v1/components/select/select-item.d.ts +1 -1
- package/dist/v1/components/select/select-item.d.ts.map +1 -1
- package/dist/v1/components/select/select-item.js +16 -4
- package/dist/v1/components/select/select-item.js.map +1 -1
- package/dist/v1/components/select/select-misc.cjs +35 -0
- package/dist/v1/components/select/select-misc.cjs.map +1 -0
- package/dist/v1/components/select/select-misc.d.ts +5 -0
- package/dist/v1/components/select/select-misc.d.ts.map +1 -0
- package/dist/v1/components/select/select-misc.js +31 -0
- package/dist/v1/components/select/select-misc.js.map +1 -0
- package/dist/v1/components/select/select-root.cjs +28 -5
- package/dist/v1/components/select/select-root.cjs.map +1 -1
- package/dist/v1/components/select/select-root.d.ts +40 -3
- package/dist/v1/components/select/select-root.d.ts.map +1 -1
- package/dist/v1/components/select/select-root.js +28 -5
- package/dist/v1/components/select/select-root.js.map +1 -1
- package/dist/v1/components/select/select-trigger.cjs.map +1 -1
- package/dist/v1/components/select/select-trigger.d.ts +3 -4
- package/dist/v1/components/select/select-trigger.d.ts.map +1 -1
- package/dist/v1/components/select/select-trigger.js.map +1 -1
- package/dist/v1/components/select/select.cjs +4 -2
- package/dist/v1/components/select/select.cjs.map +1 -1
- package/dist/v1/components/select/select.d.ts +5 -6
- package/dist/v1/components/select/select.d.ts.map +1 -1
- package/dist/v1/components/select/select.js +5 -3
- package/dist/v1/components/select/select.js.map +1 -1
- package/dist/v1/components/select/select.module.css.cjs +1 -1
- package/dist/v1/components/select/select.module.css.js +1 -1
- package/dist/v1/components/sidebar/sidebar.cjs +20 -6
- package/dist/v1/components/sidebar/sidebar.cjs.map +1 -1
- package/dist/v1/components/sidebar/sidebar.d.ts +2 -1
- package/dist/v1/components/sidebar/sidebar.d.ts.map +1 -1
- package/dist/v1/components/sidebar/sidebar.js +21 -7
- package/dist/v1/components/sidebar/sidebar.js.map +1 -1
- package/dist/v1/components/skeleton/index.d.ts +2 -0
- package/dist/v1/components/skeleton/index.d.ts.map +1 -0
- package/dist/v1/components/skeleton/skeleton.cjs +36 -0
- package/dist/v1/components/skeleton/skeleton.cjs.map +1 -0
- package/dist/v1/components/skeleton/skeleton.d.ts +24 -0
- package/dist/v1/components/skeleton/skeleton.d.ts.map +1 -0
- package/dist/v1/components/skeleton/skeleton.js +34 -0
- package/dist/v1/components/skeleton/skeleton.js.map +1 -0
- package/dist/v1/components/skeleton/skeleton.module.css.cjs +8 -0
- package/dist/v1/components/skeleton/skeleton.module.css.cjs.map +1 -0
- package/dist/v1/components/skeleton/skeleton.module.css.js +4 -0
- package/dist/v1/components/skeleton/skeleton.module.css.js.map +1 -0
- package/dist/v1/index.cjs +4 -0
- package/dist/v1/index.cjs.map +1 -1
- package/dist/v1/index.d.ts +2 -0
- package/dist/v1/index.d.ts.map +1 -1
- package/dist/v1/index.js +2 -0
- package/dist/v1/index.js.map +1 -1
- package/dist/v1/node_modules/.pnpm/@radix-ui_react-select@2.2.4_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-select/dist/index.cjs +2 -0
- package/dist/v1/node_modules/.pnpm/@radix-ui_react-select@2.2.4_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-select/dist/index.cjs.map +1 -1
- package/dist/v1/node_modules/.pnpm/@radix-ui_react-select@2.2.4_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-select/dist/index.js +2 -1
- package/dist/v1/node_modules/.pnpm/@radix-ui_react-select@2.2.4_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-select/dist/index.js.map +1 -1
- package/dist/v1/style.css +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumb.cjs","sources":["../../../../v1/components/breadcrumb/breadcrumb.tsx"],"sourcesContent":["import { ChevronDownIcon,DotsHorizontalIcon } from
|
|
1
|
+
{"version":3,"file":"breadcrumb.cjs","sources":["../../../../v1/components/breadcrumb/breadcrumb.tsx"],"sourcesContent":["import { ChevronDownIcon, DotsHorizontalIcon } from '@radix-ui/react-icons';\nimport { type VariantProps, cva } from 'class-variance-authority';\nimport React, { forwardRef, PropsWithChildren } from 'react';\n\nimport { DropdownMenu } from '../dropdown-menu';\nimport styles from './breadcrumb.module.css';\n\ninterface BreadcrumbItem {\n label: string;\n href: string;\n icon?: React.ReactNode;\n dropdownItems?: Array<{ label: string; href: string }>;\n}\n\nconst breadcrumb = cva(styles['breadcrumb'], {\n variants: {\n size: {\n small: styles['breadcrumb-small'],\n medium: styles['breadcrumb-medium']\n }\n },\n defaultVariants: {\n size: 'medium'\n }\n});\n\ntype BreadcrumbProps = PropsWithChildren<\n Omit<VariantProps<typeof breadcrumb>, 'size'>\n> & {\n items: BreadcrumbItem[];\n maxVisibleItems?: number;\n separator?: React.ReactNode;\n onItemClick?: (item: BreadcrumbItem) => void;\n className?: string;\n size?: 'small' | 'medium';\n};\n\nexport const Breadcrumb = forwardRef<HTMLDivElement, BreadcrumbProps>(\n (\n {\n className,\n size = 'medium',\n items,\n maxVisibleItems,\n separator = '/',\n onItemClick,\n ...props\n },\n ref\n ) => {\n const visibleItems =\n maxVisibleItems && items.length > maxVisibleItems\n ? [\n ...items.slice(0, 1),\n { label: 'ellipsis', href: '#' },\n ...items.slice(-Math.min(maxVisibleItems - 1, items.length - 1))\n ]\n : items;\n\n const renderItem = (\n item: BreadcrumbItem,\n index: number,\n isLast: boolean\n ) => (\n <li key={index} className={styles['breadcrumb-item']}>\n {item.label === 'ellipsis' ? (\n <span className={styles['breadcrumb-ellipsis']}>\n <DotsHorizontalIcon />\n </span>\n ) : item?.dropdownItems ? (\n <DropdownMenu>\n <DropdownMenu.Trigger\n className={styles['breadcrumb-dropdown-trigger']}\n >\n {item.icon && (\n <span className={styles['breadcrumb-icon']}>{item.icon}</span>\n )}\n <span>{item.label}</span>\n <ChevronDownIcon className={styles['breadcrumb-dropdown-icon']} />\n </DropdownMenu.Trigger>\n <DropdownMenu.Content\n className={styles['breadcrumb-dropdown-content']}\n >\n {item.dropdownItems.map((dropdownItem, dropdownIndex) => (\n <DropdownMenu.Item\n key={dropdownIndex}\n className={styles['breadcrumb-dropdown-item']}\n onClick={() =>\n onItemClick &&\n onItemClick({\n label: dropdownItem.label,\n href: dropdownItem.href\n })\n }\n >\n {dropdownItem.label}\n </DropdownMenu.Item>\n ))}\n </DropdownMenu.Content>\n </DropdownMenu>\n ) : (\n <a\n href={item.href}\n className={`${styles['breadcrumb-link']} ${isLast ? styles['breadcrumb-link-active'] : ''}`}\n onClick={e => {\n if (onItemClick && item.href !== '#') {\n e.preventDefault();\n onItemClick(item);\n }\n }}\n >\n {item.icon && (\n <span className={styles['breadcrumb-icon']}>{item.icon}</span>\n )}\n <span>{item.label}</span>\n </a>\n )}\n {!isLast && (\n <span className={styles['breadcrumb-separator']}>{separator}</span>\n )}\n </li>\n );\n\n return (\n <nav\n className={breadcrumb({ size: size as 'small' | 'medium', className })}\n ref={ref}\n {...props}\n >\n <ol className={styles['breadcrumb-list']}>\n {visibleItems.map((item, index) =>\n renderItem(item, index, index === visibleItems.length - 1)\n )}\n </ol>\n </nav>\n );\n }\n);\n\nBreadcrumb.displayName = 'Breadcrumb';\n"],"names":["cva","styles","forwardRef","_jsxs","_jsx","DotsHorizontalIcon","DropdownMenu","ChevronDownIcon"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../../../v1/components/breadcrumb/breadcrumb.tsx"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../../../v1/components/breadcrumb/breadcrumb.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAO,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAwC,MAAM,OAAO,CAAC;AAK7D,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,aAAa,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxD;AAyBD,eAAO,MAAM,UAAU;;;;;WARd,cAAc,EAAE;;gBAEX,MAAM,SAAS;0BACN,cAAc,KAAK,IAAI;;;wCAyG7C,CAAC"}
|
|
@@ -8,13 +8,13 @@ import styles from './breadcrumb.module.css.js';
|
|
|
8
8
|
const breadcrumb = cva(styles['breadcrumb'], {
|
|
9
9
|
variants: {
|
|
10
10
|
size: {
|
|
11
|
-
small: styles[
|
|
12
|
-
medium: styles[
|
|
13
|
-
}
|
|
11
|
+
small: styles['breadcrumb-small'],
|
|
12
|
+
medium: styles['breadcrumb-medium']
|
|
13
|
+
}
|
|
14
14
|
},
|
|
15
15
|
defaultVariants: {
|
|
16
|
-
size:
|
|
17
|
-
}
|
|
16
|
+
size: 'medium'
|
|
17
|
+
}
|
|
18
18
|
});
|
|
19
19
|
const Breadcrumb = forwardRef(({ className, size = 'medium', items, maxVisibleItems, separator = '/', onItemClick, ...props }, ref) => {
|
|
20
20
|
const visibleItems = maxVisibleItems && items.length > maxVisibleItems
|
|
@@ -24,18 +24,19 @@ const Breadcrumb = forwardRef(({ className, size = 'medium', items, maxVisibleIt
|
|
|
24
24
|
...items.slice(-Math.min(maxVisibleItems - 1, items.length - 1))
|
|
25
25
|
]
|
|
26
26
|
: items;
|
|
27
|
-
const renderItem = (item, index, isLast) => (jsxRuntimeExports.jsxs("li", { className: styles['breadcrumb-item'], children: [item.label === 'ellipsis' ? (jsxRuntimeExports.jsx("span", { className: styles['breadcrumb-ellipsis'], children: jsxRuntimeExports.jsx(DotsHorizontalIcon, {}) })) : item?.dropdownItems ? (jsxRuntimeExports.jsxs(DropdownMenu, { children: [jsxRuntimeExports.jsxs(DropdownMenu.Trigger, { className: styles['breadcrumb-dropdown-trigger'], children: [item.icon && jsxRuntimeExports.jsx("span", { className: styles['breadcrumb-icon'], children: item.icon }), jsxRuntimeExports.jsx("span", { children: item.label }), jsxRuntimeExports.jsx(ChevronDownIcon, { className: styles['breadcrumb-dropdown-icon'] })] }), jsxRuntimeExports.jsx(DropdownMenu.Content, { className: styles['breadcrumb-dropdown-content'], children: item.dropdownItems.map((dropdownItem, dropdownIndex) => (jsxRuntimeExports.jsx(DropdownMenu.Item, { className: styles['breadcrumb-dropdown-item'],
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
const renderItem = (item, index, isLast) => (jsxRuntimeExports.jsxs("li", { className: styles['breadcrumb-item'], children: [item.label === 'ellipsis' ? (jsxRuntimeExports.jsx("span", { className: styles['breadcrumb-ellipsis'], children: jsxRuntimeExports.jsx(DotsHorizontalIcon, {}) })) : item?.dropdownItems ? (jsxRuntimeExports.jsxs(DropdownMenu, { children: [jsxRuntimeExports.jsxs(DropdownMenu.Trigger, { className: styles['breadcrumb-dropdown-trigger'], children: [item.icon && (jsxRuntimeExports.jsx("span", { className: styles['breadcrumb-icon'], children: item.icon })), jsxRuntimeExports.jsx("span", { children: item.label }), jsxRuntimeExports.jsx(ChevronDownIcon, { className: styles['breadcrumb-dropdown-icon'] })] }), jsxRuntimeExports.jsx(DropdownMenu.Content, { className: styles['breadcrumb-dropdown-content'], children: item.dropdownItems.map((dropdownItem, dropdownIndex) => (jsxRuntimeExports.jsx(DropdownMenu.Item, { className: styles['breadcrumb-dropdown-item'], onClick: () => onItemClick &&
|
|
28
|
+
onItemClick({
|
|
29
|
+
label: dropdownItem.label,
|
|
30
|
+
href: dropdownItem.href
|
|
31
|
+
}), children: dropdownItem.label }, dropdownIndex))) })] })) : (jsxRuntimeExports.jsxs("a", { href: item.href, className: `${styles['breadcrumb-link']} ${isLast ? styles['breadcrumb-link-active'] : ''}`, onClick: e => {
|
|
31
32
|
if (onItemClick && item.href !== '#') {
|
|
32
33
|
e.preventDefault();
|
|
33
34
|
onItemClick(item);
|
|
34
35
|
}
|
|
35
|
-
}, children: [item.icon && jsxRuntimeExports.jsx("span", { className: styles['breadcrumb-icon'], children: item.icon }), jsxRuntimeExports.jsx("span", { children: item.label })] })), !isLast && jsxRuntimeExports.jsx("span", { className: styles['breadcrumb-separator'], children: separator })] }, index));
|
|
36
|
+
}, children: [item.icon && (jsxRuntimeExports.jsx("span", { className: styles['breadcrumb-icon'], children: item.icon })), jsxRuntimeExports.jsx("span", { children: item.label })] })), !isLast && (jsxRuntimeExports.jsx("span", { className: styles['breadcrumb-separator'], children: separator }))] }, index));
|
|
36
37
|
return (jsxRuntimeExports.jsx("nav", { className: breadcrumb({ size: size, className }), ref: ref, ...props, children: jsxRuntimeExports.jsx("ol", { className: styles['breadcrumb-list'], children: visibleItems.map((item, index) => renderItem(item, index, index === visibleItems.length - 1)) }) }));
|
|
37
38
|
});
|
|
38
|
-
Breadcrumb.displayName =
|
|
39
|
+
Breadcrumb.displayName = 'Breadcrumb';
|
|
39
40
|
|
|
40
41
|
export { Breadcrumb };
|
|
41
42
|
//# sourceMappingURL=breadcrumb.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumb.js","sources":["../../../../v1/components/breadcrumb/breadcrumb.tsx"],"sourcesContent":["import { ChevronDownIcon,DotsHorizontalIcon } from
|
|
1
|
+
{"version":3,"file":"breadcrumb.js","sources":["../../../../v1/components/breadcrumb/breadcrumb.tsx"],"sourcesContent":["import { ChevronDownIcon, DotsHorizontalIcon } from '@radix-ui/react-icons';\nimport { type VariantProps, cva } from 'class-variance-authority';\nimport React, { forwardRef, PropsWithChildren } from 'react';\n\nimport { DropdownMenu } from '../dropdown-menu';\nimport styles from './breadcrumb.module.css';\n\ninterface BreadcrumbItem {\n label: string;\n href: string;\n icon?: React.ReactNode;\n dropdownItems?: Array<{ label: string; href: string }>;\n}\n\nconst breadcrumb = cva(styles['breadcrumb'], {\n variants: {\n size: {\n small: styles['breadcrumb-small'],\n medium: styles['breadcrumb-medium']\n }\n },\n defaultVariants: {\n size: 'medium'\n }\n});\n\ntype BreadcrumbProps = PropsWithChildren<\n Omit<VariantProps<typeof breadcrumb>, 'size'>\n> & {\n items: BreadcrumbItem[];\n maxVisibleItems?: number;\n separator?: React.ReactNode;\n onItemClick?: (item: BreadcrumbItem) => void;\n className?: string;\n size?: 'small' | 'medium';\n};\n\nexport const Breadcrumb = forwardRef<HTMLDivElement, BreadcrumbProps>(\n (\n {\n className,\n size = 'medium',\n items,\n maxVisibleItems,\n separator = '/',\n onItemClick,\n ...props\n },\n ref\n ) => {\n const visibleItems =\n maxVisibleItems && items.length > maxVisibleItems\n ? [\n ...items.slice(0, 1),\n { label: 'ellipsis', href: '#' },\n ...items.slice(-Math.min(maxVisibleItems - 1, items.length - 1))\n ]\n : items;\n\n const renderItem = (\n item: BreadcrumbItem,\n index: number,\n isLast: boolean\n ) => (\n <li key={index} className={styles['breadcrumb-item']}>\n {item.label === 'ellipsis' ? (\n <span className={styles['breadcrumb-ellipsis']}>\n <DotsHorizontalIcon />\n </span>\n ) : item?.dropdownItems ? (\n <DropdownMenu>\n <DropdownMenu.Trigger\n className={styles['breadcrumb-dropdown-trigger']}\n >\n {item.icon && (\n <span className={styles['breadcrumb-icon']}>{item.icon}</span>\n )}\n <span>{item.label}</span>\n <ChevronDownIcon className={styles['breadcrumb-dropdown-icon']} />\n </DropdownMenu.Trigger>\n <DropdownMenu.Content\n className={styles['breadcrumb-dropdown-content']}\n >\n {item.dropdownItems.map((dropdownItem, dropdownIndex) => (\n <DropdownMenu.Item\n key={dropdownIndex}\n className={styles['breadcrumb-dropdown-item']}\n onClick={() =>\n onItemClick &&\n onItemClick({\n label: dropdownItem.label,\n href: dropdownItem.href\n })\n }\n >\n {dropdownItem.label}\n </DropdownMenu.Item>\n ))}\n </DropdownMenu.Content>\n </DropdownMenu>\n ) : (\n <a\n href={item.href}\n className={`${styles['breadcrumb-link']} ${isLast ? styles['breadcrumb-link-active'] : ''}`}\n onClick={e => {\n if (onItemClick && item.href !== '#') {\n e.preventDefault();\n onItemClick(item);\n }\n }}\n >\n {item.icon && (\n <span className={styles['breadcrumb-icon']}>{item.icon}</span>\n )}\n <span>{item.label}</span>\n </a>\n )}\n {!isLast && (\n <span className={styles['breadcrumb-separator']}>{separator}</span>\n )}\n </li>\n );\n\n return (\n <nav\n className={breadcrumb({ size: size as 'small' | 'medium', className })}\n ref={ref}\n {...props}\n >\n <ol className={styles['breadcrumb-list']}>\n {visibleItems.map((item, index) =>\n renderItem(item, index, index === visibleItems.length - 1)\n )}\n </ol>\n </nav>\n );\n }\n);\n\nBreadcrumb.displayName = 'Breadcrumb';\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -2,18 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.cjs');
|
|
4
4
|
var reactIcons_esm = require('../../node_modules/.pnpm/@radix-ui_react-icons@1.3.0_react@18.2.0/node_modules/@radix-ui/react-icons/dist/react-icons.esm.cjs');
|
|
5
|
-
var index
|
|
5
|
+
var index = require('../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.cjs');
|
|
6
6
|
var React = require('react');
|
|
7
|
-
var
|
|
7
|
+
var clsx = require('../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.cjs');
|
|
8
8
|
var flex = require('../flex/flex.cjs');
|
|
9
9
|
var select = require('../select/select.cjs');
|
|
10
10
|
var tooltip = require('../tooltip/tooltip.cjs');
|
|
11
|
+
var skeleton = require('../skeleton/skeleton.cjs');
|
|
11
12
|
var calendar_module = require('./calendar.module.css.cjs');
|
|
13
|
+
var iconButton = require('../icon-button/icon-button.cjs');
|
|
12
14
|
var DayPicker = require('../../node_modules/.pnpm/react-day-picker@9.6.7_react@18.2.0/node_modules/react-day-picker/dist/esm/DayPicker.cjs');
|
|
13
15
|
var DateLib = require('../../node_modules/.pnpm/react-day-picker@9.6.7_react@18.2.0/node_modules/react-day-picker/dist/esm/classes/DateLib.cjs');
|
|
14
16
|
|
|
15
|
-
const root = index
|
|
16
|
-
function DropDown({ options = [], value, onChange, onDropdownOpen, }) {
|
|
17
|
+
const root = index.cva(calendar_module.default.calendarRoot);
|
|
18
|
+
function DropDown({ options = [], value, onChange, onDropdownOpen, disabled, }) {
|
|
17
19
|
const [open, setOpen] = React.useState(false);
|
|
18
20
|
React.useEffect(() => {
|
|
19
21
|
if (open && onDropdownOpen)
|
|
@@ -26,25 +28,23 @@ function DropDown({ options = [], value, onChange, onDropdownOpen, }) {
|
|
|
26
28
|
}
|
|
27
29
|
return (jsxRuntime.jsxRuntimeExports.jsxs(select.Select, { value: value?.toString(), onValueChange: handleChange, open: open, onOpenChange: setOpen, children: [jsxRuntime.jsxRuntimeExports.jsx(select.Select.Trigger, { className: calendar_module.default.dropdown_trigger, iconProps: {
|
|
28
30
|
className: calendar_module.default.dropdown_icon,
|
|
29
|
-
}, stopPropagation: true, size: "small", variant: "text", children: jsxRuntime.jsxRuntimeExports.jsx(select.Select.Value, {}) }), jsxRuntime.jsxRuntimeExports.jsxs(select.Select.Content, { className: calendar_module.default.dropdown_content, children: [jsxRuntime.jsxRuntimeExports.jsx(select.Select.ScrollUpButton, { asChild: true, children: jsxRuntime.jsxRuntimeExports.jsx(flex.Flex, { justify: 'center', children: jsxRuntime.jsxRuntimeExports.jsx(reactIcons_esm.ChevronUpIcon, {}) }) }), jsxRuntime.jsxRuntimeExports.jsx(select.Select.Viewport, { children: options.map((opt) => (jsxRuntime.jsxRuntimeExports.jsx(select.Select.Item, { value: opt.value.toString(), disabled: opt.disabled, textProps: {
|
|
31
|
+
}, stopPropagation: true, size: "small", variant: "text", disabled: disabled, children: jsxRuntime.jsxRuntimeExports.jsx(select.Select.Value, {}) }), jsxRuntime.jsxRuntimeExports.jsxs(select.Select.Content, { className: calendar_module.default.dropdown_content, children: [jsxRuntime.jsxRuntimeExports.jsx(select.Select.ScrollUpButton, { asChild: true, children: jsxRuntime.jsxRuntimeExports.jsx(flex.Flex, { justify: 'center', children: jsxRuntime.jsxRuntimeExports.jsx(reactIcons_esm.ChevronUpIcon, {}) }) }), jsxRuntime.jsxRuntimeExports.jsx(select.Select.Viewport, { children: options.map((opt) => (jsxRuntime.jsxRuntimeExports.jsx(select.Select.Item, { value: opt.value.toString(), disabled: opt.disabled, textProps: {
|
|
30
32
|
className: calendar_module.default.dropdown_item_text,
|
|
31
33
|
}, children: opt.label }, opt.value))) }), jsxRuntime.jsxRuntimeExports.jsx(select.Select.ScrollDownButton, { asChild: true, children: jsxRuntime.jsxRuntimeExports.jsx(flex.Flex, { justify: 'center', children: jsxRuntime.jsxRuntimeExports.jsx(reactIcons_esm.ChevronDownIcon, {}) }) })] })] }));
|
|
32
34
|
}
|
|
33
35
|
const Calendar = function ({ className, classNames, showOutsideDays = true, onDropdownOpen, showTooltip = false, tooltipMessages = {}, loadingData = false, timeZone, ...props }) {
|
|
34
36
|
return (jsxRuntime.jsxRuntimeExports.jsx(DayPicker.DayPicker, { showOutsideDays: showOutsideDays, timeZone: timeZone, components: {
|
|
35
37
|
Chevron: (props) => {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
return jsxRuntime.jsxRuntimeExports.jsx(reactIcons_esm.ChevronRightIcon, { ...props });
|
|
38
|
+
const icon = props.orientation === 'left' ? (jsxRuntime.jsxRuntimeExports.jsx(reactIcons_esm.ChevronLeftIcon, {})) : (jsxRuntime.jsxRuntimeExports.jsx(reactIcons_esm.ChevronRightIcon, {}));
|
|
39
|
+
return (jsxRuntime.jsxRuntimeExports.jsx(iconButton.IconButton, { ...props, disabled: loadingData, className: clsx.clsx(props.className, loadingData && calendar_module.default.disabled), size: 3, "aria-label": props.orientation === 'left' ? 'Previous month' : 'Next month', children: icon }));
|
|
40
40
|
},
|
|
41
|
-
Dropdown: (props) => (jsxRuntime.jsxRuntimeExports.jsx(DropDown, { ...props, onDropdownOpen: onDropdownOpen })),
|
|
41
|
+
Dropdown: (props) => (jsxRuntime.jsxRuntimeExports.jsx(DropDown, { ...props, onDropdownOpen: onDropdownOpen, disabled: loadingData })),
|
|
42
42
|
DayButton: (props) => {
|
|
43
43
|
const { day, ...buttonProps } = props;
|
|
44
44
|
const message = tooltipMessages[DateLib.dateLib.format(day.date, 'dd-MM-yyyy')];
|
|
45
45
|
return (jsxRuntime.jsxRuntimeExports.jsx(tooltip.Tooltip, { side: "top", disabled: loadingData || !showTooltip || !message, message: message, children: jsxRuntime.jsxRuntimeExports.jsx("button", { ...buttonProps }) }));
|
|
46
46
|
},
|
|
47
|
-
MonthGrid: (props) => loadingData ? (jsxRuntime.jsxRuntimeExports.jsx(
|
|
47
|
+
MonthGrid: (props) => loadingData ? (jsxRuntime.jsxRuntimeExports.jsx(skeleton.Skeleton, { count: 5, height: "18px", width: "252px", style: { marginBottom: "var(--rs-space-6)" } })) : (jsxRuntime.jsxRuntimeExports.jsx("table", { ...props })),
|
|
48
48
|
}, classNames: {
|
|
49
49
|
caption_label: calendar_module.default.caption_label,
|
|
50
50
|
button_previous: `${calendar_module.default.nav_button} ${calendar_module.default.nav_button_previous}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.cjs","sources":["../../../../v1/components/calendar/calendar.tsx"],"sourcesContent":["import {\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n ChevronUpIcon,\n} from '@radix-ui/react-icons';\nimport { cva } from 'class-variance-authority';\nimport { ChangeEvent, useEffect, useState } from 'react';\nimport {\n dateLib,\n DayPicker,\n DayPickerProps,\n DropdownProps,\n} from 'react-day-picker';\nimport Skeleton from 'react-loading-skeleton';\n\nimport { Flex } from '../flex/flex';\nimport { Select } from '../select';\nimport { Tooltip } from '../tooltip';\nimport styles from './calendar.module.css';\n\ninterface OnDropdownOpen {\n onDropdownOpen?: VoidFunction;\n}\n\ninterface CalendarPropsExtended {\n showTooltip?: boolean;\n tooltipMessages?: { [key: string]: any };\n loadingData?: boolean;\n timeZone?: string;\n}\n\nexport type CalendarProps = DayPickerProps &\n OnDropdownOpen &\n CalendarPropsExtended;\n\nconst root = cva(styles.calendarRoot);\n\nfunction DropDown({\n options = [],\n value,\n onChange,\n onDropdownOpen,\n}: DropdownProps & OnDropdownOpen) {\n const [open, setOpen] = useState(false);\n\n useEffect(() => {\n if (open && onDropdownOpen) onDropdownOpen();\n }, [open]);\n\n function handleChange(value: string) {\n if (onChange) {\n onChange({ target: { value } } as ChangeEvent<HTMLSelectElement>);\n }\n }\n\n return (\n <Select\n value={value?.toString()}\n onValueChange={handleChange}\n open={open}\n onOpenChange={setOpen}\n >\n <Select.Trigger\n className={styles.dropdown_trigger}\n iconProps={{\n className: styles.dropdown_icon,\n }}\n stopPropagation={true}\n size=\"small\"\n variant=\"text\"\n >\n <Select.Value />\n </Select.Trigger>\n <Select.Content className={styles.dropdown_content}>\n <Select.ScrollUpButton asChild>\n <Flex justify={'center'}>\n <ChevronUpIcon />\n </Flex>\n </Select.ScrollUpButton>\n <Select.Viewport>\n {options.map((opt) => (\n <Select.Item\n value={opt.value.toString()}\n key={opt.value}\n disabled={opt.disabled}\n textProps={{\n className: styles.dropdown_item_text,\n }}\n >\n {opt.label}\n </Select.Item>\n ))}\n </Select.Viewport>\n <Select.ScrollDownButton asChild>\n <Flex justify={'center'}>\n <ChevronDownIcon />\n </Flex>\n </Select.ScrollDownButton>\n </Select.Content>\n </Select>\n );\n}\n\nexport const Calendar = function ({\n className,\n classNames,\n showOutsideDays = true,\n onDropdownOpen,\n showTooltip = false,\n tooltipMessages = {},\n loadingData = false,\n timeZone,\n ...props\n}: CalendarProps) {\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n timeZone={timeZone}\n components={{\n Chevron: (props) => {\n if (props.orientation === 'left') {\n return <ChevronLeftIcon {...props} />;\n }\n return <ChevronRightIcon {...props} />;\n },\n Dropdown: (props: DropdownProps) => (\n <DropDown {...props} onDropdownOpen={onDropdownOpen} />\n ),\n DayButton: (props) => {\n const { day, ...buttonProps } = props;\n const message =\n tooltipMessages[dateLib.format(day.date, 'dd-MM-yyyy')];\n return (\n <Tooltip\n side=\"top\"\n disabled={loadingData || !showTooltip || !message}\n message={message}\n >\n <button {...buttonProps} />\n </Tooltip>\n );\n },\n MonthGrid: (props) =>\n loadingData ? (\n <Skeleton\n count={6}\n height=\"12px\"\n width=\"252px\"\n style={{ marginBottom: \"var(--rs-space-5)\" }}\n highlightColor=\"var(--rs-color-background-base-primary)\"\n baseColor=\"var(--rs-color-background-base-primary-hover)\"\n />\n ) : (\n <table {...props} />\n ),\n }}\n classNames={{\n caption_label: styles.caption_label,\n button_previous: `${styles.nav_button} ${styles.nav_button_previous}`,\n button_next: `${styles.nav_button} ${styles.nav_button_next}`,\n month_caption: styles.month_caption,\n months: styles.months,\n nav: styles.nav,\n day: styles.day,\n today: styles.today,\n outside: styles.outside,\n week: styles.week,\n weekdays: styles.week,\n weekday: styles.weekday,\n disabled: styles.disabled,\n selected: styles.selected,\n day_button: styles.day_button,\n range_middle: styles.range_middle,\n range_end: styles.range_end,\n range_start: styles.range_start,\n hidden: styles.hidden,\n dropdowns: styles.dropdowns,\n ...classNames,\n }}\n className={root({ className })}\n mode=\"single\"\n {...props}\n />\n );\n};\n"],"names":["cva","styles","useState","useEffect","_jsxs","Select","_jsx","Flex","ChevronUpIcon","ChevronDownIcon","DayPicker","ChevronLeftIcon","ChevronRightIcon","dateLib","Tooltip","Skeleton"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"calendar.cjs","sources":["../../../../v1/components/calendar/calendar.tsx"],"sourcesContent":["import {\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n ChevronUpIcon,\n} from '@radix-ui/react-icons';\nimport { cva } from 'class-variance-authority';\nimport { ChangeEvent, useEffect, useState } from 'react';\nimport {\n dateLib,\n DayPicker,\n DayPickerProps,\n DropdownProps,\n} from 'react-day-picker';\nimport { clsx } from 'clsx';\n\nimport { Flex } from '../flex/flex';\nimport { Select } from '../select';\nimport { Tooltip } from '../tooltip';\nimport { Skeleton } from '../skeleton';\nimport styles from './calendar.module.css';\nimport { IconButton } from '../icon-button';\n\ninterface OnDropdownOpen {\n onDropdownOpen?: VoidFunction;\n}\n\ninterface CalendarPropsExtended {\n showTooltip?: boolean;\n tooltipMessages?: { [key: string]: any };\n loadingData?: boolean;\n timeZone?: string;\n}\n\nexport type CalendarProps = DayPickerProps &\n OnDropdownOpen &\n CalendarPropsExtended;\n\nconst root = cva(styles.calendarRoot);\n\ninterface DropDownComponentProps extends DropdownProps, OnDropdownOpen {\n disabled?: boolean;\n}\n\nfunction DropDown({\n options = [],\n value,\n onChange,\n onDropdownOpen,\n disabled,\n}: DropDownComponentProps) {\n const [open, setOpen] = useState(false);\n\n useEffect(() => {\n if (open && onDropdownOpen) onDropdownOpen();\n }, [open]);\n\n function handleChange(value: string) {\n if (onChange) {\n onChange({ target: { value } } as ChangeEvent<HTMLSelectElement>);\n }\n }\n\n return (\n <Select\n value={value?.toString()}\n onValueChange={handleChange}\n open={open}\n onOpenChange={setOpen}\n >\n <Select.Trigger\n className={styles.dropdown_trigger}\n iconProps={{\n className: styles.dropdown_icon,\n }}\n stopPropagation={true}\n size=\"small\"\n variant=\"text\"\n disabled={disabled}\n >\n <Select.Value />\n </Select.Trigger>\n <Select.Content className={styles.dropdown_content}>\n <Select.ScrollUpButton asChild>\n <Flex justify={'center'}>\n <ChevronUpIcon />\n </Flex>\n </Select.ScrollUpButton>\n <Select.Viewport>\n {options.map((opt) => (\n <Select.Item\n value={opt.value.toString()}\n key={opt.value}\n disabled={opt.disabled}\n textProps={{\n className: styles.dropdown_item_text,\n }}\n >\n {opt.label}\n </Select.Item>\n ))}\n </Select.Viewport>\n <Select.ScrollDownButton asChild>\n <Flex justify={'center'}>\n <ChevronDownIcon />\n </Flex>\n </Select.ScrollDownButton>\n </Select.Content>\n </Select>\n );\n}\n\nexport const Calendar = function ({\n className,\n classNames,\n showOutsideDays = true,\n onDropdownOpen,\n showTooltip = false,\n tooltipMessages = {},\n loadingData = false,\n timeZone,\n ...props\n}: CalendarProps) {\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n timeZone={timeZone}\n components={{\n Chevron: (props) => {\n const icon = props.orientation === 'left' ? (\n <ChevronLeftIcon />\n ) : (\n <ChevronRightIcon />\n );\n\n return (\n <IconButton \n {...props} \n disabled={loadingData}\n className={clsx(props.className, loadingData && styles.disabled)}\n size={3}\n aria-label={props.orientation === 'left' ? 'Previous month' : 'Next month'}\n >\n {icon}\n </IconButton>\n );\n },\n Dropdown: (props: DropdownProps) => (\n <DropDown \n {...props} \n onDropdownOpen={onDropdownOpen}\n disabled={loadingData}\n />\n ),\n DayButton: (props) => {\n const { day, ...buttonProps } = props;\n const message =\n tooltipMessages[dateLib.format(day.date, 'dd-MM-yyyy')];\n return (\n <Tooltip\n side=\"top\"\n disabled={loadingData || !showTooltip || !message}\n message={message}\n >\n <button {...buttonProps} />\n </Tooltip>\n );\n },\n MonthGrid: (props) =>\n loadingData ? (\n <Skeleton\n count={5}\n height=\"18px\"\n width=\"252px\"\n style={{ marginBottom: \"var(--rs-space-6)\" }}\n />\n ) : (\n <table {...props} />\n ),\n }}\n classNames={{\n caption_label: styles.caption_label,\n button_previous: `${styles.nav_button} ${styles.nav_button_previous}`,\n button_next: `${styles.nav_button} ${styles.nav_button_next}`,\n month_caption: styles.month_caption,\n months: styles.months,\n nav: styles.nav,\n day: styles.day,\n today: styles.today,\n outside: styles.outside,\n week: styles.week,\n weekdays: styles.week,\n weekday: styles.weekday,\n disabled: styles.disabled,\n selected: styles.selected,\n day_button: styles.day_button,\n range_middle: styles.range_middle,\n range_end: styles.range_end,\n range_start: styles.range_start,\n hidden: styles.hidden,\n dropdowns: styles.dropdowns,\n ...classNames,\n }}\n className={root({ className })}\n mode=\"single\"\n {...props}\n />\n );\n};\n"],"names":["cva","styles","useState","useEffect","_jsxs","Select","_jsx","Flex","ChevronUpIcon","ChevronDownIcon","DayPicker","ChevronLeftIcon","ChevronRightIcon","IconButton","clsx","dateLib","Tooltip","Skeleton"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../../v1/components/calendar/calendar.tsx"],"names":[],"mappings":"AAQA,OAAO,EAGL,cAAc,EAEf,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../../../v1/components/calendar/calendar.tsx"],"names":[],"mappings":"AAQA,OAAO,EAGL,cAAc,EAEf,MAAM,kBAAkB,CAAC;AAU1B,UAAU,cAAc;IACtB,cAAc,CAAC,EAAE,YAAY,CAAC;CAC/B;AAED,UAAU,qBAAqB;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,aAAa,GAAG,cAAc,GACxC,cAAc,GACd,qBAAqB,CAAC;AA4ExB,eAAO,MAAM,QAAQ,8HAUlB,aAAa,4CAsFf,CAAC"}
|
|
@@ -2,16 +2,18 @@ import { j as jsxRuntimeExports } from '../../node_modules/.pnpm/react@18.2.0/no
|
|
|
2
2
|
import { ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChevronDownIcon } from '../../node_modules/.pnpm/@radix-ui_react-icons@1.3.0_react@18.2.0/node_modules/@radix-ui/react-icons/dist/react-icons.esm.js';
|
|
3
3
|
import { cva } from '../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js';
|
|
4
4
|
import { useState, useEffect } from 'react';
|
|
5
|
-
import
|
|
5
|
+
import { clsx } from '../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js';
|
|
6
6
|
import { Flex } from '../flex/flex.js';
|
|
7
7
|
import { Select } from '../select/select.js';
|
|
8
8
|
import { Tooltip } from '../tooltip/tooltip.js';
|
|
9
|
+
import { Skeleton } from '../skeleton/skeleton.js';
|
|
9
10
|
import styles from './calendar.module.css.js';
|
|
11
|
+
import { IconButton } from '../icon-button/icon-button.js';
|
|
10
12
|
import { DayPicker } from '../../node_modules/.pnpm/react-day-picker@9.6.7_react@18.2.0/node_modules/react-day-picker/dist/esm/DayPicker.js';
|
|
11
13
|
import { dateLib } from '../../node_modules/.pnpm/react-day-picker@9.6.7_react@18.2.0/node_modules/react-day-picker/dist/esm/classes/DateLib.js';
|
|
12
14
|
|
|
13
15
|
const root = cva(styles.calendarRoot);
|
|
14
|
-
function DropDown({ options = [], value, onChange, onDropdownOpen, }) {
|
|
16
|
+
function DropDown({ options = [], value, onChange, onDropdownOpen, disabled, }) {
|
|
15
17
|
const [open, setOpen] = useState(false);
|
|
16
18
|
useEffect(() => {
|
|
17
19
|
if (open && onDropdownOpen)
|
|
@@ -24,25 +26,23 @@ function DropDown({ options = [], value, onChange, onDropdownOpen, }) {
|
|
|
24
26
|
}
|
|
25
27
|
return (jsxRuntimeExports.jsxs(Select, { value: value?.toString(), onValueChange: handleChange, open: open, onOpenChange: setOpen, children: [jsxRuntimeExports.jsx(Select.Trigger, { className: styles.dropdown_trigger, iconProps: {
|
|
26
28
|
className: styles.dropdown_icon,
|
|
27
|
-
}, stopPropagation: true, size: "small", variant: "text", children: jsxRuntimeExports.jsx(Select.Value, {}) }), jsxRuntimeExports.jsxs(Select.Content, { className: styles.dropdown_content, children: [jsxRuntimeExports.jsx(Select.ScrollUpButton, { asChild: true, children: jsxRuntimeExports.jsx(Flex, { justify: 'center', children: jsxRuntimeExports.jsx(ChevronUpIcon, {}) }) }), jsxRuntimeExports.jsx(Select.Viewport, { children: options.map((opt) => (jsxRuntimeExports.jsx(Select.Item, { value: opt.value.toString(), disabled: opt.disabled, textProps: {
|
|
29
|
+
}, stopPropagation: true, size: "small", variant: "text", disabled: disabled, children: jsxRuntimeExports.jsx(Select.Value, {}) }), jsxRuntimeExports.jsxs(Select.Content, { className: styles.dropdown_content, children: [jsxRuntimeExports.jsx(Select.ScrollUpButton, { asChild: true, children: jsxRuntimeExports.jsx(Flex, { justify: 'center', children: jsxRuntimeExports.jsx(ChevronUpIcon, {}) }) }), jsxRuntimeExports.jsx(Select.Viewport, { children: options.map((opt) => (jsxRuntimeExports.jsx(Select.Item, { value: opt.value.toString(), disabled: opt.disabled, textProps: {
|
|
28
30
|
className: styles.dropdown_item_text,
|
|
29
31
|
}, children: opt.label }, opt.value))) }), jsxRuntimeExports.jsx(Select.ScrollDownButton, { asChild: true, children: jsxRuntimeExports.jsx(Flex, { justify: 'center', children: jsxRuntimeExports.jsx(ChevronDownIcon, {}) }) })] })] }));
|
|
30
32
|
}
|
|
31
33
|
const Calendar = function ({ className, classNames, showOutsideDays = true, onDropdownOpen, showTooltip = false, tooltipMessages = {}, loadingData = false, timeZone, ...props }) {
|
|
32
34
|
return (jsxRuntimeExports.jsx(DayPicker, { showOutsideDays: showOutsideDays, timeZone: timeZone, components: {
|
|
33
35
|
Chevron: (props) => {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
return jsxRuntimeExports.jsx(ChevronRightIcon, { ...props });
|
|
36
|
+
const icon = props.orientation === 'left' ? (jsxRuntimeExports.jsx(ChevronLeftIcon, {})) : (jsxRuntimeExports.jsx(ChevronRightIcon, {}));
|
|
37
|
+
return (jsxRuntimeExports.jsx(IconButton, { ...props, disabled: loadingData, className: clsx(props.className, loadingData && styles.disabled), size: 3, "aria-label": props.orientation === 'left' ? 'Previous month' : 'Next month', children: icon }));
|
|
38
38
|
},
|
|
39
|
-
Dropdown: (props) => (jsxRuntimeExports.jsx(DropDown, { ...props, onDropdownOpen: onDropdownOpen })),
|
|
39
|
+
Dropdown: (props) => (jsxRuntimeExports.jsx(DropDown, { ...props, onDropdownOpen: onDropdownOpen, disabled: loadingData })),
|
|
40
40
|
DayButton: (props) => {
|
|
41
41
|
const { day, ...buttonProps } = props;
|
|
42
42
|
const message = tooltipMessages[dateLib.format(day.date, 'dd-MM-yyyy')];
|
|
43
43
|
return (jsxRuntimeExports.jsx(Tooltip, { side: "top", disabled: loadingData || !showTooltip || !message, message: message, children: jsxRuntimeExports.jsx("button", { ...buttonProps }) }));
|
|
44
44
|
},
|
|
45
|
-
MonthGrid: (props) => loadingData ? (jsxRuntimeExports.jsx(Skeleton, { count:
|
|
45
|
+
MonthGrid: (props) => loadingData ? (jsxRuntimeExports.jsx(Skeleton, { count: 5, height: "18px", width: "252px", style: { marginBottom: "var(--rs-space-6)" } })) : (jsxRuntimeExports.jsx("table", { ...props })),
|
|
46
46
|
}, classNames: {
|
|
47
47
|
caption_label: styles.caption_label,
|
|
48
48
|
button_previous: `${styles.nav_button} ${styles.nav_button_previous}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.js","sources":["../../../../v1/components/calendar/calendar.tsx"],"sourcesContent":["import {\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n ChevronUpIcon,\n} from '@radix-ui/react-icons';\nimport { cva } from 'class-variance-authority';\nimport { ChangeEvent, useEffect, useState } from 'react';\nimport {\n dateLib,\n DayPicker,\n DayPickerProps,\n DropdownProps,\n} from 'react-day-picker';\nimport
|
|
1
|
+
{"version":3,"file":"calendar.js","sources":["../../../../v1/components/calendar/calendar.tsx"],"sourcesContent":["import {\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n ChevronUpIcon,\n} from '@radix-ui/react-icons';\nimport { cva } from 'class-variance-authority';\nimport { ChangeEvent, useEffect, useState } from 'react';\nimport {\n dateLib,\n DayPicker,\n DayPickerProps,\n DropdownProps,\n} from 'react-day-picker';\nimport { clsx } from 'clsx';\n\nimport { Flex } from '../flex/flex';\nimport { Select } from '../select';\nimport { Tooltip } from '../tooltip';\nimport { Skeleton } from '../skeleton';\nimport styles from './calendar.module.css';\nimport { IconButton } from '../icon-button';\n\ninterface OnDropdownOpen {\n onDropdownOpen?: VoidFunction;\n}\n\ninterface CalendarPropsExtended {\n showTooltip?: boolean;\n tooltipMessages?: { [key: string]: any };\n loadingData?: boolean;\n timeZone?: string;\n}\n\nexport type CalendarProps = DayPickerProps &\n OnDropdownOpen &\n CalendarPropsExtended;\n\nconst root = cva(styles.calendarRoot);\n\ninterface DropDownComponentProps extends DropdownProps, OnDropdownOpen {\n disabled?: boolean;\n}\n\nfunction DropDown({\n options = [],\n value,\n onChange,\n onDropdownOpen,\n disabled,\n}: DropDownComponentProps) {\n const [open, setOpen] = useState(false);\n\n useEffect(() => {\n if (open && onDropdownOpen) onDropdownOpen();\n }, [open]);\n\n function handleChange(value: string) {\n if (onChange) {\n onChange({ target: { value } } as ChangeEvent<HTMLSelectElement>);\n }\n }\n\n return (\n <Select\n value={value?.toString()}\n onValueChange={handleChange}\n open={open}\n onOpenChange={setOpen}\n >\n <Select.Trigger\n className={styles.dropdown_trigger}\n iconProps={{\n className: styles.dropdown_icon,\n }}\n stopPropagation={true}\n size=\"small\"\n variant=\"text\"\n disabled={disabled}\n >\n <Select.Value />\n </Select.Trigger>\n <Select.Content className={styles.dropdown_content}>\n <Select.ScrollUpButton asChild>\n <Flex justify={'center'}>\n <ChevronUpIcon />\n </Flex>\n </Select.ScrollUpButton>\n <Select.Viewport>\n {options.map((opt) => (\n <Select.Item\n value={opt.value.toString()}\n key={opt.value}\n disabled={opt.disabled}\n textProps={{\n className: styles.dropdown_item_text,\n }}\n >\n {opt.label}\n </Select.Item>\n ))}\n </Select.Viewport>\n <Select.ScrollDownButton asChild>\n <Flex justify={'center'}>\n <ChevronDownIcon />\n </Flex>\n </Select.ScrollDownButton>\n </Select.Content>\n </Select>\n );\n}\n\nexport const Calendar = function ({\n className,\n classNames,\n showOutsideDays = true,\n onDropdownOpen,\n showTooltip = false,\n tooltipMessages = {},\n loadingData = false,\n timeZone,\n ...props\n}: CalendarProps) {\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n timeZone={timeZone}\n components={{\n Chevron: (props) => {\n const icon = props.orientation === 'left' ? (\n <ChevronLeftIcon />\n ) : (\n <ChevronRightIcon />\n );\n\n return (\n <IconButton \n {...props} \n disabled={loadingData}\n className={clsx(props.className, loadingData && styles.disabled)}\n size={3}\n aria-label={props.orientation === 'left' ? 'Previous month' : 'Next month'}\n >\n {icon}\n </IconButton>\n );\n },\n Dropdown: (props: DropdownProps) => (\n <DropDown \n {...props} \n onDropdownOpen={onDropdownOpen}\n disabled={loadingData}\n />\n ),\n DayButton: (props) => {\n const { day, ...buttonProps } = props;\n const message =\n tooltipMessages[dateLib.format(day.date, 'dd-MM-yyyy')];\n return (\n <Tooltip\n side=\"top\"\n disabled={loadingData || !showTooltip || !message}\n message={message}\n >\n <button {...buttonProps} />\n </Tooltip>\n );\n },\n MonthGrid: (props) =>\n loadingData ? (\n <Skeleton\n count={5}\n height=\"18px\"\n width=\"252px\"\n style={{ marginBottom: \"var(--rs-space-6)\" }}\n />\n ) : (\n <table {...props} />\n ),\n }}\n classNames={{\n caption_label: styles.caption_label,\n button_previous: `${styles.nav_button} ${styles.nav_button_previous}`,\n button_next: `${styles.nav_button} ${styles.nav_button_next}`,\n month_caption: styles.month_caption,\n months: styles.months,\n nav: styles.nav,\n day: styles.day,\n today: styles.today,\n outside: styles.outside,\n week: styles.week,\n weekdays: styles.week,\n weekday: styles.weekday,\n disabled: styles.disabled,\n selected: styles.selected,\n day_button: styles.day_button,\n range_middle: styles.range_middle,\n range_end: styles.range_end,\n range_start: styles.range_start,\n hidden: styles.hidden,\n dropdowns: styles.dropdowns,\n ...classNames,\n }}\n className={root({ className })}\n mode=\"single\"\n {...props}\n />\n );\n};\n"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -111,7 +111,7 @@ function DatePicker({ side = "top", dateFormat = "DD/MM/YYYY", inputFieldProps,
|
|
|
111
111
|
setError("Invalid date");
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
|
-
const defaultTrigger = (jsxRuntime.jsxRuntimeExports.jsx(inputField.InputField, {
|
|
114
|
+
const defaultTrigger = (jsxRuntime.jsxRuntimeExports.jsx(inputField.InputField, { size: "small", placeholder: "Select date", error: error, className: calendar_module.default.datePickerInput, trailingIcon: showCalendarIcon ? jsxRuntime.jsxRuntimeExports.jsx(reactIcons_esm.CalendarIcon, {}) : undefined, ...inputFieldProps, ref: inputFieldRef, defaultValue: formattedDate, onChange: handleInputChange, onFocus: handleInputFocus, onBlur: handleInputBlur, onKeyUp: handleKeyUp }));
|
|
115
115
|
const trigger = typeof children === "function"
|
|
116
116
|
? children({ selectedDate: formattedDate })
|
|
117
117
|
: children ? jsxRuntime.jsxRuntimeExports.jsx("div", { children: children }) : defaultTrigger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-picker.cjs","sources":["../../../../v1/components/calendar/date-picker.tsx"],"sourcesContent":["import { CalendarIcon } from \"@radix-ui/react-icons\";\nimport dayjs from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport { PropsBase, PropsSingleRequired } from \"react-day-picker\";\n\nimport { Popover } from \"../popover\";\nimport { InputField } from \"../input-field\";\nimport { InputFieldProps } from \"../input-field/input-field\";\nimport { Calendar } from \"./calendar\";\nimport styles from \"./calendar.module.css\";\n\ndayjs.extend(customParseFormat);\n\ninterface DatePickerProps {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n dateFormat?: string;\n inputFieldProps?: InputFieldProps;\n calendarProps?: PropsSingleRequired & PropsBase;\n onSelect?: (date: Date) => void;\n value?: Date;\n children?:\n | React.ReactNode\n | ((props: { selectedDate: string }) => React.ReactNode);\n showCalendarIcon?: boolean;\n timeZone?: string;\n}\n\nexport function DatePicker({\n side = \"top\",\n dateFormat = \"DD/MM/YYYY\",\n inputFieldProps,\n calendarProps,\n value = new Date(),\n onSelect = () => {},\n children,\n showCalendarIcon = true,\n timeZone,\n}: DatePickerProps) {\n const [showCalendar, setShowCalendar] = useState(false);\n const [selectedDate, setSelectedDate] = useState(value);\n const [error, setError] = useState<string>();\n\n const formattedDate = dayjs(selectedDate).format(dateFormat);\n\n const isDropdownOpenRef = useRef(false);\n const inputFieldRef = useRef<HTMLInputElement | null>(null);\n const contentRef = useRef<HTMLDivElement | null>(null);\n const isInputFieldFocused = useRef(false);\n const selectedDateRef = useRef(selectedDate);\n\n useEffect(() => {\n selectedDateRef.current = selectedDate;\n }, [selectedDate]);\n\n function isElementOutside(el: HTMLElement) {\n return (\n !isDropdownOpenRef.current && // Month and Year dropdown from Date picker\n !inputFieldRef.current?.contains(el) && // InputField\n !contentRef.current?.contains(el)\n );\n }\n\n const handleMouseDown = useCallback((event: MouseEvent) => {\n const el = event.target as HTMLElement | null;\n if (el && isElementOutside(el)) removeEventListeners();\n }, []);\n\n function registerEventListeners() {\n isInputFieldFocused.current = true;\n document.addEventListener(\"mouseup\", handleMouseDown);\n }\n\n function removeEventListeners(skipUpdate = false) {\n isInputFieldFocused.current = false;\n setShowCalendar(false);\n\n const updatedVal = dayjs(selectedDateRef.current).format(dateFormat);\n\n if (inputFieldRef.current) inputFieldRef.current.value = updatedVal;\n if (!error && !skipUpdate) onSelect(dayjs(updatedVal).toDate());\n\n document.removeEventListener(\"mouseup\", handleMouseDown);\n }\n\n const handleSelect = (day: Date) => {\n setSelectedDate(day);\n onSelect(day);\n setError(undefined);\n removeEventListeners(true);\n };\n\n function onDropdownOpen() {\n isDropdownOpenRef.current = true;\n }\n\n function onOpenChange(open?: boolean) {\n if (\n !isDropdownOpenRef.current &&\n !(isInputFieldFocused.current && showCalendar)\n ) {\n setShowCalendar(Boolean(open));\n }\n\n isDropdownOpenRef.current = false;\n }\n\n function handleInputFocus() {\n if (isInputFieldFocused.current) return;\n if (!showCalendar) setShowCalendar(true);\n }\n\n function handleInputBlur(event: React.FocusEvent) {\n if (isInputFieldFocused.current) {\n const el = event.relatedTarget as HTMLElement | null;\n if (el && isElementOutside(el)) removeEventListeners();\n } else {\n registerEventListeners();\n setTimeout(() => inputFieldRef.current?.select());\n }\n }\n\n function handleKeyUp(event: React.KeyboardEvent) {\n if (event.code === \"Enter\" && inputFieldRef.current) {\n inputFieldRef.current.blur();\n removeEventListeners();\n }\n }\n\n function handleInputChange(event: React.ChangeEvent<HTMLInputElement>) {\n const { value } = event.target;\n\n const format = value.includes(\"/\")\n ? \"DD/MM/YYYY\"\n : value.includes(\"-\")\n ? \"DD-MM-YYYY\"\n : undefined;\n const date = dayjs(value, format);\n\n const isValidDate = date.isValid();\n\n const isAfter =\n calendarProps?.startMonth !== undefined\n ? dayjs(date).isSameOrAfter(calendarProps.startMonth)\n : true;\n const isBefore =\n calendarProps?.endMonth !== undefined\n ? dayjs(date).isSameOrBefore(calendarProps.endMonth)\n : true;\n\n const isValid =\n isValidDate && isAfter && isBefore && dayjs(date).isSameOrBefore(dayjs());\n\n if (isValid) {\n setSelectedDate(date.toDate());\n setError(undefined);\n } else {\n setError(\"Invalid date\");\n }\n }\n\n const defaultTrigger = (\n <InputField\n ref={inputFieldRef}\n size=\"small\"\n placeholder=\"Select date\"\n trailingIcon={showCalendarIcon ? <CalendarIcon /> : undefined}\n {...inputFieldProps}\n defaultValue={formattedDate}\n onChange={handleInputChange}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n error={error}\n onKeyUp={handleKeyUp}\n className={styles.datePickerInput}\n />\n );\n\n const trigger =\n typeof children === \"function\"\n ? children({ selectedDate: formattedDate })\n : children ? <div>{children}</div> : defaultTrigger;\n\n return (\n <Popover open={showCalendar} onOpenChange={onOpenChange}>\n <Popover.Trigger asChild>{trigger}</Popover.Trigger>\n\n <Popover.Content\n side={side}\n className={styles.calendarPopover}\n ref={contentRef}\n >\n <Calendar\n required={true}\n {...calendarProps}\n timeZone={timeZone}\n onDropdownOpen={onDropdownOpen}\n mode=\"single\"\n selected={selectedDate}\n month={selectedDate}\n onSelect={handleSelect}\n onMonthChange={setSelectedDate}\n />\n </Popover.Content>\n </Popover>\n );\n}\n"],"names":["dayjs","customParseFormat","useState","useRef","useEffect","useCallback","_jsx","InputField","CalendarIcon","styles","_jsxs","Popover","Calendar"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"date-picker.cjs","sources":["../../../../v1/components/calendar/date-picker.tsx"],"sourcesContent":["import { CalendarIcon } from \"@radix-ui/react-icons\";\nimport dayjs from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport { PropsBase, PropsSingleRequired } from \"react-day-picker\";\n\nimport { Popover } from \"../popover\";\nimport { InputField } from \"../input-field\";\nimport { InputFieldProps } from \"../input-field/input-field\";\nimport { Calendar } from \"./calendar\";\nimport styles from \"./calendar.module.css\";\n\ndayjs.extend(customParseFormat);\n\ninterface DatePickerProps {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n dateFormat?: string;\n inputFieldProps?: InputFieldProps;\n calendarProps?: PropsSingleRequired & PropsBase;\n onSelect?: (date: Date) => void;\n value?: Date;\n children?:\n | React.ReactNode\n | ((props: { selectedDate: string }) => React.ReactNode);\n showCalendarIcon?: boolean;\n timeZone?: string;\n}\n\nexport function DatePicker({\n side = \"top\",\n dateFormat = \"DD/MM/YYYY\",\n inputFieldProps,\n calendarProps,\n value = new Date(),\n onSelect = () => {},\n children,\n showCalendarIcon = true,\n timeZone,\n}: DatePickerProps) {\n const [showCalendar, setShowCalendar] = useState(false);\n const [selectedDate, setSelectedDate] = useState(value);\n const [error, setError] = useState<string>();\n\n const formattedDate = dayjs(selectedDate).format(dateFormat);\n\n const isDropdownOpenRef = useRef(false);\n const inputFieldRef = useRef<HTMLInputElement | null>(null);\n const contentRef = useRef<HTMLDivElement | null>(null);\n const isInputFieldFocused = useRef(false);\n const selectedDateRef = useRef(selectedDate);\n\n useEffect(() => {\n selectedDateRef.current = selectedDate;\n }, [selectedDate]);\n\n function isElementOutside(el: HTMLElement) {\n return (\n !isDropdownOpenRef.current && // Month and Year dropdown from Date picker\n !inputFieldRef.current?.contains(el) && // InputField\n !contentRef.current?.contains(el)\n );\n }\n\n const handleMouseDown = useCallback((event: MouseEvent) => {\n const el = event.target as HTMLElement | null;\n if (el && isElementOutside(el)) removeEventListeners();\n }, []);\n\n function registerEventListeners() {\n isInputFieldFocused.current = true;\n document.addEventListener(\"mouseup\", handleMouseDown);\n }\n\n function removeEventListeners(skipUpdate = false) {\n isInputFieldFocused.current = false;\n setShowCalendar(false);\n\n const updatedVal = dayjs(selectedDateRef.current).format(dateFormat);\n\n if (inputFieldRef.current) inputFieldRef.current.value = updatedVal;\n if (!error && !skipUpdate) onSelect(dayjs(updatedVal).toDate());\n\n document.removeEventListener(\"mouseup\", handleMouseDown);\n }\n\n const handleSelect = (day: Date) => {\n setSelectedDate(day);\n onSelect(day);\n setError(undefined);\n removeEventListeners(true);\n };\n\n function onDropdownOpen() {\n isDropdownOpenRef.current = true;\n }\n\n function onOpenChange(open?: boolean) {\n if (\n !isDropdownOpenRef.current &&\n !(isInputFieldFocused.current && showCalendar)\n ) {\n setShowCalendar(Boolean(open));\n }\n\n isDropdownOpenRef.current = false;\n }\n\n function handleInputFocus() {\n if (isInputFieldFocused.current) return;\n if (!showCalendar) setShowCalendar(true);\n }\n\n function handleInputBlur(event: React.FocusEvent) {\n if (isInputFieldFocused.current) {\n const el = event.relatedTarget as HTMLElement | null;\n if (el && isElementOutside(el)) removeEventListeners();\n } else {\n registerEventListeners();\n setTimeout(() => inputFieldRef.current?.select());\n }\n }\n\n function handleKeyUp(event: React.KeyboardEvent) {\n if (event.code === \"Enter\" && inputFieldRef.current) {\n inputFieldRef.current.blur();\n removeEventListeners();\n }\n }\n\n function handleInputChange(event: React.ChangeEvent<HTMLInputElement>) {\n const { value } = event.target;\n\n const format = value.includes(\"/\")\n ? \"DD/MM/YYYY\"\n : value.includes(\"-\")\n ? \"DD-MM-YYYY\"\n : undefined;\n const date = dayjs(value, format);\n\n const isValidDate = date.isValid();\n\n const isAfter =\n calendarProps?.startMonth !== undefined\n ? dayjs(date).isSameOrAfter(calendarProps.startMonth)\n : true;\n const isBefore =\n calendarProps?.endMonth !== undefined\n ? dayjs(date).isSameOrBefore(calendarProps.endMonth)\n : true;\n\n const isValid =\n isValidDate && isAfter && isBefore && dayjs(date).isSameOrBefore(dayjs());\n\n if (isValid) {\n setSelectedDate(date.toDate());\n setError(undefined);\n } else {\n setError(\"Invalid date\");\n }\n }\n\n const defaultTrigger = (\n <InputField\n size=\"small\"\n placeholder=\"Select date\"\n error={error}\n className={styles.datePickerInput}\n trailingIcon={showCalendarIcon ? <CalendarIcon /> : undefined}\n {...inputFieldProps}\n ref={inputFieldRef}\n defaultValue={formattedDate}\n onChange={handleInputChange}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onKeyUp={handleKeyUp}\n />\n );\n\n const trigger =\n typeof children === \"function\"\n ? children({ selectedDate: formattedDate })\n : children ? <div>{children}</div> : defaultTrigger;\n\n return (\n <Popover open={showCalendar} onOpenChange={onOpenChange}>\n <Popover.Trigger asChild>{trigger}</Popover.Trigger>\n\n <Popover.Content\n side={side}\n className={styles.calendarPopover}\n ref={contentRef}\n >\n <Calendar\n required={true}\n {...calendarProps}\n timeZone={timeZone}\n onDropdownOpen={onDropdownOpen}\n mode=\"single\"\n selected={selectedDate}\n month={selectedDate}\n onSelect={handleSelect}\n onMonthChange={setSelectedDate}\n />\n </Popover.Content>\n </Popover>\n );\n}\n"],"names":["dayjs","customParseFormat","useState","useRef","useEffect","useCallback","_jsx","InputField","styles","CalendarIcon","_jsxs","Popover","Calendar"],"mappings":"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"}
|
|
@@ -109,7 +109,7 @@ function DatePicker({ side = "top", dateFormat = "DD/MM/YYYY", inputFieldProps,
|
|
|
109
109
|
setError("Invalid date");
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
-
const defaultTrigger = (jsxRuntimeExports.jsx(InputField, {
|
|
112
|
+
const defaultTrigger = (jsxRuntimeExports.jsx(InputField, { size: "small", placeholder: "Select date", error: error, className: styles.datePickerInput, trailingIcon: showCalendarIcon ? jsxRuntimeExports.jsx(CalendarIcon, {}) : undefined, ...inputFieldProps, ref: inputFieldRef, defaultValue: formattedDate, onChange: handleInputChange, onFocus: handleInputFocus, onBlur: handleInputBlur, onKeyUp: handleKeyUp }));
|
|
113
113
|
const trigger = typeof children === "function"
|
|
114
114
|
? children({ selectedDate: formattedDate })
|
|
115
115
|
: children ? jsxRuntimeExports.jsx("div", { children: children }) : defaultTrigger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-picker.js","sources":["../../../../v1/components/calendar/date-picker.tsx"],"sourcesContent":["import { CalendarIcon } from \"@radix-ui/react-icons\";\nimport dayjs from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport { PropsBase, PropsSingleRequired } from \"react-day-picker\";\n\nimport { Popover } from \"../popover\";\nimport { InputField } from \"../input-field\";\nimport { InputFieldProps } from \"../input-field/input-field\";\nimport { Calendar } from \"./calendar\";\nimport styles from \"./calendar.module.css\";\n\ndayjs.extend(customParseFormat);\n\ninterface DatePickerProps {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n dateFormat?: string;\n inputFieldProps?: InputFieldProps;\n calendarProps?: PropsSingleRequired & PropsBase;\n onSelect?: (date: Date) => void;\n value?: Date;\n children?:\n | React.ReactNode\n | ((props: { selectedDate: string }) => React.ReactNode);\n showCalendarIcon?: boolean;\n timeZone?: string;\n}\n\nexport function DatePicker({\n side = \"top\",\n dateFormat = \"DD/MM/YYYY\",\n inputFieldProps,\n calendarProps,\n value = new Date(),\n onSelect = () => {},\n children,\n showCalendarIcon = true,\n timeZone,\n}: DatePickerProps) {\n const [showCalendar, setShowCalendar] = useState(false);\n const [selectedDate, setSelectedDate] = useState(value);\n const [error, setError] = useState<string>();\n\n const formattedDate = dayjs(selectedDate).format(dateFormat);\n\n const isDropdownOpenRef = useRef(false);\n const inputFieldRef = useRef<HTMLInputElement | null>(null);\n const contentRef = useRef<HTMLDivElement | null>(null);\n const isInputFieldFocused = useRef(false);\n const selectedDateRef = useRef(selectedDate);\n\n useEffect(() => {\n selectedDateRef.current = selectedDate;\n }, [selectedDate]);\n\n function isElementOutside(el: HTMLElement) {\n return (\n !isDropdownOpenRef.current && // Month and Year dropdown from Date picker\n !inputFieldRef.current?.contains(el) && // InputField\n !contentRef.current?.contains(el)\n );\n }\n\n const handleMouseDown = useCallback((event: MouseEvent) => {\n const el = event.target as HTMLElement | null;\n if (el && isElementOutside(el)) removeEventListeners();\n }, []);\n\n function registerEventListeners() {\n isInputFieldFocused.current = true;\n document.addEventListener(\"mouseup\", handleMouseDown);\n }\n\n function removeEventListeners(skipUpdate = false) {\n isInputFieldFocused.current = false;\n setShowCalendar(false);\n\n const updatedVal = dayjs(selectedDateRef.current).format(dateFormat);\n\n if (inputFieldRef.current) inputFieldRef.current.value = updatedVal;\n if (!error && !skipUpdate) onSelect(dayjs(updatedVal).toDate());\n\n document.removeEventListener(\"mouseup\", handleMouseDown);\n }\n\n const handleSelect = (day: Date) => {\n setSelectedDate(day);\n onSelect(day);\n setError(undefined);\n removeEventListeners(true);\n };\n\n function onDropdownOpen() {\n isDropdownOpenRef.current = true;\n }\n\n function onOpenChange(open?: boolean) {\n if (\n !isDropdownOpenRef.current &&\n !(isInputFieldFocused.current && showCalendar)\n ) {\n setShowCalendar(Boolean(open));\n }\n\n isDropdownOpenRef.current = false;\n }\n\n function handleInputFocus() {\n if (isInputFieldFocused.current) return;\n if (!showCalendar) setShowCalendar(true);\n }\n\n function handleInputBlur(event: React.FocusEvent) {\n if (isInputFieldFocused.current) {\n const el = event.relatedTarget as HTMLElement | null;\n if (el && isElementOutside(el)) removeEventListeners();\n } else {\n registerEventListeners();\n setTimeout(() => inputFieldRef.current?.select());\n }\n }\n\n function handleKeyUp(event: React.KeyboardEvent) {\n if (event.code === \"Enter\" && inputFieldRef.current) {\n inputFieldRef.current.blur();\n removeEventListeners();\n }\n }\n\n function handleInputChange(event: React.ChangeEvent<HTMLInputElement>) {\n const { value } = event.target;\n\n const format = value.includes(\"/\")\n ? \"DD/MM/YYYY\"\n : value.includes(\"-\")\n ? \"DD-MM-YYYY\"\n : undefined;\n const date = dayjs(value, format);\n\n const isValidDate = date.isValid();\n\n const isAfter =\n calendarProps?.startMonth !== undefined\n ? dayjs(date).isSameOrAfter(calendarProps.startMonth)\n : true;\n const isBefore =\n calendarProps?.endMonth !== undefined\n ? dayjs(date).isSameOrBefore(calendarProps.endMonth)\n : true;\n\n const isValid =\n isValidDate && isAfter && isBefore && dayjs(date).isSameOrBefore(dayjs());\n\n if (isValid) {\n setSelectedDate(date.toDate());\n setError(undefined);\n } else {\n setError(\"Invalid date\");\n }\n }\n\n const defaultTrigger = (\n <InputField\n ref={inputFieldRef}\n size=\"small\"\n placeholder=\"Select date\"\n trailingIcon={showCalendarIcon ? <CalendarIcon /> : undefined}\n {...inputFieldProps}\n defaultValue={formattedDate}\n onChange={handleInputChange}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n error={error}\n onKeyUp={handleKeyUp}\n className={styles.datePickerInput}\n />\n );\n\n const trigger =\n typeof children === \"function\"\n ? children({ selectedDate: formattedDate })\n : children ? <div>{children}</div> : defaultTrigger;\n\n return (\n <Popover open={showCalendar} onOpenChange={onOpenChange}>\n <Popover.Trigger asChild>{trigger}</Popover.Trigger>\n\n <Popover.Content\n side={side}\n className={styles.calendarPopover}\n ref={contentRef}\n >\n <Calendar\n required={true}\n {...calendarProps}\n timeZone={timeZone}\n onDropdownOpen={onDropdownOpen}\n mode=\"single\"\n selected={selectedDate}\n month={selectedDate}\n onSelect={handleSelect}\n onMonthChange={setSelectedDate}\n />\n </Popover.Content>\n </Popover>\n );\n}\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"date-picker.js","sources":["../../../../v1/components/calendar/date-picker.tsx"],"sourcesContent":["import { CalendarIcon } from \"@radix-ui/react-icons\";\nimport dayjs from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\nimport { PropsBase, PropsSingleRequired } from \"react-day-picker\";\n\nimport { Popover } from \"../popover\";\nimport { InputField } from \"../input-field\";\nimport { InputFieldProps } from \"../input-field/input-field\";\nimport { Calendar } from \"./calendar\";\nimport styles from \"./calendar.module.css\";\n\ndayjs.extend(customParseFormat);\n\ninterface DatePickerProps {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n dateFormat?: string;\n inputFieldProps?: InputFieldProps;\n calendarProps?: PropsSingleRequired & PropsBase;\n onSelect?: (date: Date) => void;\n value?: Date;\n children?:\n | React.ReactNode\n | ((props: { selectedDate: string }) => React.ReactNode);\n showCalendarIcon?: boolean;\n timeZone?: string;\n}\n\nexport function DatePicker({\n side = \"top\",\n dateFormat = \"DD/MM/YYYY\",\n inputFieldProps,\n calendarProps,\n value = new Date(),\n onSelect = () => {},\n children,\n showCalendarIcon = true,\n timeZone,\n}: DatePickerProps) {\n const [showCalendar, setShowCalendar] = useState(false);\n const [selectedDate, setSelectedDate] = useState(value);\n const [error, setError] = useState<string>();\n\n const formattedDate = dayjs(selectedDate).format(dateFormat);\n\n const isDropdownOpenRef = useRef(false);\n const inputFieldRef = useRef<HTMLInputElement | null>(null);\n const contentRef = useRef<HTMLDivElement | null>(null);\n const isInputFieldFocused = useRef(false);\n const selectedDateRef = useRef(selectedDate);\n\n useEffect(() => {\n selectedDateRef.current = selectedDate;\n }, [selectedDate]);\n\n function isElementOutside(el: HTMLElement) {\n return (\n !isDropdownOpenRef.current && // Month and Year dropdown from Date picker\n !inputFieldRef.current?.contains(el) && // InputField\n !contentRef.current?.contains(el)\n );\n }\n\n const handleMouseDown = useCallback((event: MouseEvent) => {\n const el = event.target as HTMLElement | null;\n if (el && isElementOutside(el)) removeEventListeners();\n }, []);\n\n function registerEventListeners() {\n isInputFieldFocused.current = true;\n document.addEventListener(\"mouseup\", handleMouseDown);\n }\n\n function removeEventListeners(skipUpdate = false) {\n isInputFieldFocused.current = false;\n setShowCalendar(false);\n\n const updatedVal = dayjs(selectedDateRef.current).format(dateFormat);\n\n if (inputFieldRef.current) inputFieldRef.current.value = updatedVal;\n if (!error && !skipUpdate) onSelect(dayjs(updatedVal).toDate());\n\n document.removeEventListener(\"mouseup\", handleMouseDown);\n }\n\n const handleSelect = (day: Date) => {\n setSelectedDate(day);\n onSelect(day);\n setError(undefined);\n removeEventListeners(true);\n };\n\n function onDropdownOpen() {\n isDropdownOpenRef.current = true;\n }\n\n function onOpenChange(open?: boolean) {\n if (\n !isDropdownOpenRef.current &&\n !(isInputFieldFocused.current && showCalendar)\n ) {\n setShowCalendar(Boolean(open));\n }\n\n isDropdownOpenRef.current = false;\n }\n\n function handleInputFocus() {\n if (isInputFieldFocused.current) return;\n if (!showCalendar) setShowCalendar(true);\n }\n\n function handleInputBlur(event: React.FocusEvent) {\n if (isInputFieldFocused.current) {\n const el = event.relatedTarget as HTMLElement | null;\n if (el && isElementOutside(el)) removeEventListeners();\n } else {\n registerEventListeners();\n setTimeout(() => inputFieldRef.current?.select());\n }\n }\n\n function handleKeyUp(event: React.KeyboardEvent) {\n if (event.code === \"Enter\" && inputFieldRef.current) {\n inputFieldRef.current.blur();\n removeEventListeners();\n }\n }\n\n function handleInputChange(event: React.ChangeEvent<HTMLInputElement>) {\n const { value } = event.target;\n\n const format = value.includes(\"/\")\n ? \"DD/MM/YYYY\"\n : value.includes(\"-\")\n ? \"DD-MM-YYYY\"\n : undefined;\n const date = dayjs(value, format);\n\n const isValidDate = date.isValid();\n\n const isAfter =\n calendarProps?.startMonth !== undefined\n ? dayjs(date).isSameOrAfter(calendarProps.startMonth)\n : true;\n const isBefore =\n calendarProps?.endMonth !== undefined\n ? dayjs(date).isSameOrBefore(calendarProps.endMonth)\n : true;\n\n const isValid =\n isValidDate && isAfter && isBefore && dayjs(date).isSameOrBefore(dayjs());\n\n if (isValid) {\n setSelectedDate(date.toDate());\n setError(undefined);\n } else {\n setError(\"Invalid date\");\n }\n }\n\n const defaultTrigger = (\n <InputField\n size=\"small\"\n placeholder=\"Select date\"\n error={error}\n className={styles.datePickerInput}\n trailingIcon={showCalendarIcon ? <CalendarIcon /> : undefined}\n {...inputFieldProps}\n ref={inputFieldRef}\n defaultValue={formattedDate}\n onChange={handleInputChange}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onKeyUp={handleKeyUp}\n />\n );\n\n const trigger =\n typeof children === \"function\"\n ? children({ selectedDate: formattedDate })\n : children ? <div>{children}</div> : defaultTrigger;\n\n return (\n <Popover open={showCalendar} onOpenChange={onOpenChange}>\n <Popover.Trigger asChild>{trigger}</Popover.Trigger>\n\n <Popover.Content\n side={side}\n className={styles.calendarPopover}\n ref={contentRef}\n >\n <Calendar\n required={true}\n {...calendarProps}\n timeZone={timeZone}\n onDropdownOpen={onDropdownOpen}\n mode=\"single\"\n selected={selectedDate}\n month={selectedDate}\n onSelect={handleSelect}\n onMonthChange={setSelectedDate}\n />\n </Popover.Content>\n </Popover>\n );\n}\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ function RangePicker({ side = "top", dateFormat = "DD/MM/YYYY", inputFieldsProps
|
|
|
25
25
|
const endDate = selectedRange.to
|
|
26
26
|
? dayjs_min.default(selectedRange.to).format(dateFormat)
|
|
27
27
|
: "";
|
|
28
|
-
// Ensures two months are visible even when
|
|
28
|
+
// Ensures two months are visible even when
|
|
29
29
|
// current month is the last allowed month (endMonth).
|
|
30
30
|
const computedDefaultMonth = React.useMemo(() => {
|
|
31
31
|
let month = currentMonth;
|
|
@@ -79,7 +79,7 @@ function RangePicker({ side = "top", dateFormat = "DD/MM/YYYY", inputFieldsProps
|
|
|
79
79
|
prevSelectedRangeRef.current = selectedRange;
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
|
-
const defaultTrigger = (jsxRuntime.jsxRuntimeExports.jsxs(flex.Flex, { gap: "medium", className: pickerGroupClassName, children: [jsxRuntime.jsxRuntimeExports.jsx(inputField.InputField, { size: 'small', placeholder: "Select start date", trailingIcon: showCalendarIcon ? jsxRuntime.jsxRuntimeExports.jsx(reactIcons_esm.CalendarIcon, {}) : undefined, ...(inputFieldsProps.startDate ?? {}), value: startDate,
|
|
82
|
+
const defaultTrigger = (jsxRuntime.jsxRuntimeExports.jsxs(flex.Flex, { gap: "medium", className: pickerGroupClassName, children: [jsxRuntime.jsxRuntimeExports.jsx(inputField.InputField, { size: 'small', placeholder: "Select start date", trailingIcon: showCalendarIcon ? jsxRuntime.jsxRuntimeExports.jsx(reactIcons_esm.CalendarIcon, {}) : undefined, className: calendar_module.default.datePickerInput, ...(inputFieldsProps.startDate ?? {}), value: startDate, readOnly: true }), jsxRuntime.jsxRuntimeExports.jsx(inputField.InputField, { size: 'small', placeholder: "Select end date", trailingIcon: showCalendarIcon ? jsxRuntime.jsxRuntimeExports.jsx(reactIcons_esm.CalendarIcon, {}) : undefined, className: calendar_module.default.datePickerInput, ...(inputFieldsProps.endDate ?? {}), value: endDate, readOnly: true })] }));
|
|
83
83
|
const trigger = typeof children === "function"
|
|
84
84
|
? children({ startDate, endDate })
|
|
85
85
|
: children || defaultTrigger;
|