h2o-library 1.8.0 → 2.0.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/CHANGELOG.md +83 -0
- package/README.md +149 -13
- package/assets/logo.svg +3 -0
- package/dist/charts/charts/index.d.ts +8 -0
- package/dist/charts/charts/src/bar/chart-bar.d.ts +27 -0
- package/dist/charts/charts/src/chart/chart.d.ts +35 -0
- package/dist/charts/charts/src/chart-tooltip-styles.d.ts +4 -0
- package/dist/charts/charts/src/gantt/chart-gantt.d.ts +25 -0
- package/dist/charts/charts/src/heatmap/chart-heatmap.d.ts +18 -0
- package/dist/charts/charts/src/legend/legend.d.ts +19 -0
- package/dist/charts/charts/src/line/chart-line.d.ts +28 -0
- package/dist/charts/charts/src/pie/chart-pie.d.ts +19 -0
- package/dist/charts/charts/src/recharts-tick-props.d.ts +11 -0
- package/dist/charts/charts/src/stat/chart-stat.d.ts +21 -0
- package/dist/charts/components/index.d.ts +37 -0
- package/dist/charts/components/src/accordion/accordion.d.ts +32 -0
- package/dist/charts/components/src/button/button.d.ts +41 -0
- package/dist/charts/components/src/calendar/calendar.d.ts +43 -0
- package/dist/charts/components/src/checkbox/checkbox.d.ts +58 -0
- package/dist/charts/components/src/chip/chip.d.ts +37 -0
- package/dist/charts/components/src/compact-multi-select/compact-multi-select.d.ts +52 -0
- package/dist/charts/components/src/content-switch/content-switch.d.ts +39 -0
- package/dist/charts/components/src/date-picker/date-picker.d.ts +35 -0
- package/dist/charts/components/src/date-range-picker/date-range-picker.d.ts +39 -0
- package/dist/charts/components/src/dropdown/dropdown.d.ts +53 -0
- package/dist/charts/components/src/expandable-search/expandable-search.d.ts +40 -0
- package/dist/charts/components/src/expandable-table/expandable-table.d.ts +61 -0
- package/dist/charts/components/src/icon/icon-paths.d.ts +3 -0
- package/dist/charts/components/src/icon/icon.d.ts +28 -0
- package/dist/charts/components/src/input/input.d.ts +29 -0
- package/dist/charts/components/src/loader/loader.d.ts +12 -0
- package/dist/charts/components/src/logo/logo.d.ts +12 -0
- package/dist/charts/components/src/message/message.d.ts +34 -0
- package/dist/charts/components/src/modal/modal.d.ts +35 -0
- package/dist/charts/components/src/month-calendar/month-calendar.d.ts +28 -0
- package/dist/charts/components/src/multi-menu/multi-menu.d.ts +39 -0
- package/dist/charts/components/src/multi-select/multi-select.d.ts +49 -0
- package/dist/charts/components/src/pagination/pagination.d.ts +33 -0
- package/dist/charts/components/src/popover/popover.d.ts +53 -0
- package/dist/charts/components/src/radio/radio.d.ts +31 -0
- package/dist/charts/components/src/radio-group/radio-group.d.ts +42 -0
- package/dist/charts/components/src/segmented-toggle/segmented-toggle.d.ts +50 -0
- package/dist/charts/components/src/side-panel/side-panel.d.ts +36 -0
- package/dist/charts/components/src/skeleton/skeleton.d.ts +15 -0
- package/dist/charts/components/src/slider/slider.d.ts +46 -0
- package/dist/charts/components/src/table/table-utils.d.ts +2 -0
- package/dist/charts/components/src/table/table.d.ts +78 -0
- package/dist/charts/components/src/tabs/tabs.d.ts +35 -0
- package/dist/charts/components/src/tag/tag.d.ts +26 -0
- package/dist/charts/components/src/textarea/textarea.d.ts +33 -0
- package/dist/charts/components/src/time-picker/time-picker.d.ts +31 -0
- package/dist/charts/components/src/toast/toast.d.ts +54 -0
- package/dist/charts/components/src/toggle/toggle.d.ts +35 -0
- package/dist/charts/components/src/tooltip/tooltip.d.ts +38 -0
- package/dist/charts/entries/charts.d.ts +4 -0
- package/dist/charts/entries/hooks.d.ts +4 -0
- package/dist/charts/entries/types.d.ts +9 -0
- package/dist/charts/entries/utils.d.ts +5 -0
- package/dist/charts/hooks/index.d.ts +18 -0
- package/dist/charts/hooks/src/use-click-outside.d.ts +13 -0
- package/dist/charts/hooks/src/use-copy-to-clipboard.d.ts +15 -0
- package/dist/charts/hooks/src/use-debounce.d.ts +9 -0
- package/dist/charts/hooks/src/use-dropdown-position.d.ts +10 -0
- package/dist/charts/hooks/src/use-event-listener.d.ts +15 -0
- package/dist/charts/hooks/src/use-focus-trap.d.ts +8 -0
- package/dist/charts/hooks/src/use-hover.d.ts +10 -0
- package/dist/charts/hooks/src/use-idle.d.ts +15 -0
- package/dist/charts/hooks/src/use-interval.d.ts +7 -0
- package/dist/charts/hooks/src/use-key-press.d.ts +13 -0
- package/dist/charts/hooks/src/use-long-press.d.ts +20 -0
- package/dist/charts/hooks/src/use-media-query.d.ts +7 -0
- package/dist/charts/hooks/src/use-mouse.d.ts +12 -0
- package/dist/charts/hooks/src/use-timeout.d.ts +8 -0
- package/dist/charts/hooks/src/use-toast.d.ts +15 -0
- package/dist/charts/hooks/src/use-window-scroll.d.ts +10 -0
- package/dist/charts/hooks/src/use-window-size.d.ts +10 -0
- package/dist/charts/index.cjs.js +2 -0
- package/dist/charts/index.d.ts +4 -0
- package/dist/charts/index.js +2 -0
- package/dist/charts/src/bar/chart-bar.d.ts +27 -0
- package/dist/charts/src/chart/chart.d.ts +35 -0
- package/dist/charts/src/chart-tooltip-styles.d.ts +4 -0
- package/dist/charts/src/gantt/chart-gantt.d.ts +25 -0
- package/dist/charts/src/heatmap/chart-heatmap.d.ts +18 -0
- package/dist/charts/src/legend/legend.d.ts +19 -0
- package/dist/charts/src/line/chart-line.d.ts +28 -0
- package/dist/charts/src/pie/chart-pie.d.ts +19 -0
- package/dist/charts/src/recharts-tick-props.d.ts +11 -0
- package/dist/charts/src/stat/chart-stat.d.ts +21 -0
- package/dist/charts/types/index.d.ts +2 -0
- package/dist/charts/types/src/icon.d.ts +1 -0
- package/dist/charts/utils/index.d.ts +7 -0
- package/dist/charts/utils/src/array.d.ts +24 -0
- package/dist/charts/utils/src/async.d.ts +32 -0
- package/dist/charts/utils/src/cn.d.ts +9 -0
- package/dist/charts/utils/src/format.d.ts +20 -0
- package/dist/charts/utils/src/math.d.ts +22 -0
- package/dist/charts/utils/src/object.d.ts +36 -0
- package/dist/charts/utils/src/string.d.ts +24 -0
- package/dist/components/index.d.ts +37 -41
- package/dist/components/src/accordion/accordion.d.ts +32 -0
- package/dist/components/src/button/button.d.ts +41 -0
- package/dist/components/src/calendar/calendar.d.ts +43 -0
- package/dist/components/src/checkbox/checkbox.d.ts +58 -0
- package/dist/components/src/chip/chip.d.ts +37 -0
- package/dist/components/src/compact-multi-select/compact-multi-select.d.ts +52 -0
- package/dist/components/src/content-switch/content-switch.d.ts +39 -0
- package/dist/components/src/date-picker/date-picker.d.ts +35 -0
- package/dist/components/src/date-range-picker/date-range-picker.d.ts +39 -0
- package/dist/components/src/dropdown/dropdown.d.ts +53 -0
- package/dist/components/src/expandable-search/expandable-search.d.ts +40 -0
- package/dist/components/src/expandable-table/expandable-table.d.ts +61 -0
- package/dist/components/src/icon/icon-paths.d.ts +3 -0
- package/dist/components/src/icon/icon.d.ts +28 -0
- package/dist/components/src/input/input.d.ts +29 -0
- package/dist/components/src/loader/loader.d.ts +12 -0
- package/dist/components/src/logo/logo.d.ts +12 -0
- package/dist/components/src/message/message.d.ts +34 -0
- package/dist/components/src/modal/modal.d.ts +35 -0
- package/dist/components/src/month-calendar/month-calendar.d.ts +28 -0
- package/dist/components/src/multi-menu/multi-menu.d.ts +39 -0
- package/dist/components/src/multi-select/multi-select.d.ts +49 -0
- package/dist/components/src/pagination/pagination.d.ts +33 -0
- package/dist/components/src/popover/popover.d.ts +53 -0
- package/dist/components/src/radio/radio.d.ts +31 -0
- package/dist/components/src/radio-group/radio-group.d.ts +42 -0
- package/dist/components/src/segmented-toggle/segmented-toggle.d.ts +50 -0
- package/dist/components/src/side-panel/side-panel.d.ts +36 -0
- package/dist/components/src/skeleton/skeleton.d.ts +15 -0
- package/dist/components/src/slider/slider.d.ts +46 -0
- package/dist/components/src/table/table-utils.d.ts +2 -0
- package/dist/components/src/table/table.d.ts +78 -0
- package/dist/components/src/tabs/tabs.d.ts +35 -0
- package/dist/components/src/tag/tag.d.ts +26 -0
- package/dist/components/src/textarea/textarea.d.ts +33 -0
- package/dist/components/src/time-picker/time-picker.d.ts +31 -0
- package/dist/components/src/toast/toast.d.ts +54 -0
- package/dist/components/src/toggle/toggle.d.ts +35 -0
- package/dist/components/src/tooltip/tooltip.d.ts +38 -0
- package/dist/entries/charts.d.ts +4 -0
- package/dist/entries/hooks.d.ts +4 -0
- package/dist/entries/types.d.ts +9 -0
- package/dist/entries/utils.d.ts +5 -0
- package/dist/esm/charts/charts.css +377 -0
- package/dist/esm/charts/index.d.ts +8 -0
- package/dist/esm/charts/src/bar/chart-bar.d.ts +27 -0
- package/dist/esm/charts/src/chart/chart.d.ts +35 -0
- package/dist/esm/charts/src/chart-tooltip-styles.d.ts +4 -0
- package/dist/esm/charts/src/gantt/chart-gantt.d.ts +25 -0
- package/dist/esm/charts/src/heatmap/chart-heatmap.d.ts +18 -0
- package/dist/{css/src → esm/charts/src/legend}/legend.css +6 -1
- package/dist/esm/charts/src/legend/legend.d.ts +19 -0
- package/dist/esm/charts/src/line/chart-line.d.ts +28 -0
- package/dist/esm/charts/src/pie/chart-pie.d.ts +19 -0
- package/dist/esm/charts/src/recharts-tick-props.d.ts +11 -0
- package/dist/esm/charts/src/stat/chart-stat.d.ts +21 -0
- package/dist/esm/components/index.d.ts +37 -41
- package/dist/{css/src → esm/components/src/accordion}/accordion.css +8 -2
- package/dist/esm/components/src/accordion/accordion.d.ts +32 -0
- package/dist/esm/components/src/accordion/accordion.js +2 -0
- package/dist/{css/src → esm/components/src/button}/button.css +19 -8
- package/dist/esm/components/src/button/button.d.ts +41 -0
- package/dist/esm/components/src/button/button.js +2 -0
- package/dist/{css/src → esm/components/src/calendar}/calendar.css +62 -96
- package/dist/esm/components/src/calendar/calendar.d.ts +43 -0
- package/dist/esm/components/src/calendar/calendar.js +2 -0
- package/dist/{css/src → esm/components/src/checkbox}/checkbox.css +97 -19
- package/dist/esm/components/src/checkbox/checkbox.d.ts +58 -0
- package/dist/esm/components/src/checkbox/checkbox.js +2 -0
- package/dist/esm/components/src/chip/chip.css +123 -0
- package/dist/esm/components/src/chip/chip.d.ts +37 -0
- package/dist/esm/components/src/chip/chip.js +2 -0
- package/dist/{css/src → esm/components/src/compact-multi-select}/compact-multi-select.css +14 -38
- package/dist/esm/components/src/compact-multi-select/compact-multi-select.d.ts +52 -0
- package/dist/esm/components/src/compact-multi-select/compact-multi-select.js +2 -0
- package/dist/{css/src → esm/components/src/content-switch}/content-switch.css +17 -1
- package/dist/esm/components/src/content-switch/content-switch.d.ts +39 -0
- package/dist/esm/components/src/content-switch/content-switch.js +2 -0
- package/dist/esm/components/src/date-picker/date-picker.css +160 -0
- package/dist/esm/components/src/date-picker/date-picker.d.ts +35 -0
- package/dist/esm/components/src/date-picker/date-picker.js +2 -0
- package/dist/{css/src → esm/components/src/date-range-picker}/date-range-picker.css +3 -4
- package/dist/esm/components/src/date-range-picker/date-range-picker.d.ts +39 -0
- package/dist/esm/components/src/date-range-picker/date-range-picker.js +2 -0
- package/dist/{css/src → esm/components/src/dropdown}/dropdown.css +26 -13
- package/dist/esm/components/src/dropdown/dropdown.d.ts +53 -0
- package/dist/esm/components/src/dropdown/dropdown.js +2 -0
- package/dist/esm/components/src/expandable-search/expandable-search.css +120 -0
- package/dist/esm/components/src/expandable-search/expandable-search.d.ts +40 -0
- package/dist/esm/components/src/expandable-search/expandable-search.js +2 -0
- package/dist/{css/src → esm/components/src/expandable-table}/expandable-table.css +4 -6
- package/dist/esm/components/src/expandable-table/expandable-table.d.ts +61 -0
- package/dist/esm/components/src/expandable-table/expandable-table.js +2 -0
- package/dist/esm/components/src/icon/icon-paths.d.ts +3 -0
- package/dist/esm/components/src/icon/icon-paths.js +2 -0
- package/dist/esm/components/src/icon/icon.d.ts +28 -0
- package/dist/esm/components/src/icon/icon.js +2 -0
- package/dist/{css/src → esm/components/src/input}/input.css +11 -12
- package/dist/esm/components/src/input/input.d.ts +29 -0
- package/dist/esm/components/src/input/input.js +2 -0
- package/dist/esm/components/src/loader/loader.css +109 -0
- package/dist/esm/components/src/loader/loader.d.ts +12 -0
- package/dist/esm/components/src/loader/loader.js +2 -0
- package/dist/esm/components/src/logo/logo.d.ts +12 -0
- package/dist/esm/components/src/logo/logo.js +2 -0
- package/dist/{css/src → esm/components/src/message}/message.css +21 -0
- package/dist/esm/components/src/message/message.d.ts +34 -0
- package/dist/esm/components/src/message/message.js +2 -0
- package/dist/{css/src → esm/components/src/modal}/modal.css +36 -2
- package/dist/esm/components/src/modal/modal.d.ts +35 -0
- package/dist/esm/components/src/modal/modal.js +2 -0
- package/dist/{css/src → esm/components/src/month-calendar}/month-calendar.css +1 -2
- package/dist/esm/components/src/month-calendar/month-calendar.d.ts +28 -0
- package/dist/esm/components/src/month-calendar/month-calendar.js +2 -0
- package/dist/{css/src → esm/components/src/multi-menu}/multi-menu.css +40 -54
- package/dist/esm/components/src/multi-menu/multi-menu.d.ts +39 -0
- package/dist/esm/components/src/multi-menu/multi-menu.js +2 -0
- package/dist/{css/src → esm/components/src/multi-select}/multi-select.css +94 -2
- package/dist/esm/components/src/multi-select/multi-select.d.ts +49 -0
- package/dist/esm/components/src/multi-select/multi-select.js +2 -0
- package/dist/{css/src → esm/components/src/pagination}/pagination.css +17 -0
- package/dist/esm/components/src/pagination/pagination.d.ts +33 -0
- package/dist/esm/components/src/pagination/pagination.js +2 -0
- package/dist/{css/src → esm/components/src/popover}/popover.css +11 -2
- package/dist/esm/components/src/popover/popover.d.ts +53 -0
- package/dist/esm/components/src/popover/popover.js +2 -0
- package/dist/esm/components/src/radio/radio.css +196 -0
- package/dist/esm/components/src/radio/radio.d.ts +31 -0
- package/dist/esm/components/src/radio/radio.js +2 -0
- package/dist/esm/components/src/radio-group/radio-group.css +93 -0
- package/dist/esm/components/src/radio-group/radio-group.d.ts +42 -0
- package/dist/esm/components/src/radio-group/radio-group.js +2 -0
- package/dist/{css/src → esm/components/src/segmented-toggle}/segmented-toggle.css +1 -1
- package/dist/esm/components/src/segmented-toggle/segmented-toggle.d.ts +50 -0
- package/dist/esm/components/src/segmented-toggle/segmented-toggle.js +2 -0
- package/dist/{css/src → esm/components/src/side-panel}/side-panel.css +62 -9
- package/dist/esm/components/src/side-panel/side-panel.d.ts +36 -0
- package/dist/esm/components/src/side-panel/side-panel.js +2 -0
- package/dist/esm/components/src/skeleton/skeleton.css +79 -0
- package/dist/esm/components/src/skeleton/skeleton.d.ts +15 -0
- package/dist/esm/components/src/skeleton/skeleton.js +2 -0
- package/dist/esm/components/src/slider/slider.css +211 -0
- package/dist/esm/components/src/slider/slider.d.ts +46 -0
- package/dist/esm/components/src/slider/slider.js +2 -0
- package/dist/esm/components/src/table/table-utils.d.ts +2 -0
- package/dist/esm/components/src/table/table-utils.js +2 -0
- package/dist/{css/src → esm/components/src/table}/table.css +5 -9
- package/dist/esm/components/src/table/table.d.ts +78 -0
- package/dist/esm/components/src/table/table.js +2 -0
- package/dist/{css/src → esm/components/src/tabs}/tabs.css +32 -0
- package/dist/esm/components/src/tabs/tabs.d.ts +35 -0
- package/dist/esm/components/src/tabs/tabs.js +2 -0
- package/dist/{css/src → esm/components/src/tag}/tag.css +17 -2
- package/dist/esm/components/src/tag/tag.d.ts +26 -0
- package/dist/esm/components/src/tag/tag.js +2 -0
- package/dist/{css/src → esm/components/src/textarea}/textarea.css +28 -31
- package/dist/esm/components/src/textarea/textarea.d.ts +33 -0
- package/dist/esm/components/src/textarea/textarea.js +2 -0
- package/dist/esm/components/src/time-picker/time-picker.css +249 -0
- package/dist/esm/components/src/time-picker/time-picker.d.ts +31 -0
- package/dist/esm/components/src/time-picker/time-picker.js +2 -0
- package/dist/{css/src → esm/components/src/toast}/toast.css +50 -12
- package/dist/esm/components/src/toast/toast.d.ts +54 -0
- package/dist/esm/components/src/toast/toast.js +2 -0
- package/dist/{css/src → esm/components/src/toggle}/toggle.css +102 -12
- package/dist/esm/components/src/toggle/toggle.d.ts +35 -0
- package/dist/esm/components/src/toggle/toggle.js +2 -0
- package/dist/{css/src → esm/components/src/tooltip}/tooltip.css +22 -13
- package/dist/esm/components/src/tooltip/tooltip.d.ts +38 -0
- package/dist/esm/components/src/tooltip/tooltip.js +2 -0
- package/dist/esm/entries/charts.d.ts +4 -0
- package/dist/esm/entries/hooks.d.ts +4 -0
- package/dist/esm/entries/types.d.ts +9 -0
- package/dist/esm/entries/utils.d.ts +5 -0
- package/dist/esm/hooks/index.d.ts +16 -0
- package/dist/esm/hooks/src/use-click-outside.d.ts +10 -1
- package/dist/esm/hooks/src/use-click-outside.js +2 -0
- package/dist/esm/hooks/src/use-copy-to-clipboard.d.ts +15 -0
- package/dist/esm/hooks/src/use-debounce.d.ts +9 -0
- package/dist/esm/hooks/src/use-dropdown-position.d.ts +10 -0
- package/dist/esm/hooks/src/use-dropdown-position.js +2 -0
- package/dist/esm/hooks/src/use-event-listener.d.ts +15 -0
- package/dist/esm/hooks/src/use-focus-trap.d.ts +8 -0
- package/dist/esm/hooks/src/use-focus-trap.js +2 -0
- package/dist/esm/hooks/src/use-hover.d.ts +10 -0
- package/dist/esm/hooks/src/use-idle.d.ts +15 -0
- package/dist/esm/hooks/src/use-interval.d.ts +7 -0
- package/dist/esm/hooks/src/use-key-press.d.ts +13 -0
- package/dist/esm/hooks/src/use-long-press.d.ts +20 -0
- package/dist/esm/hooks/src/use-media-query.d.ts +6 -0
- package/dist/esm/hooks/src/use-mouse.d.ts +12 -0
- package/dist/esm/hooks/src/use-timeout.d.ts +8 -0
- package/dist/esm/hooks/src/use-toast.d.ts +15 -0
- package/dist/esm/hooks/src/use-window-scroll.d.ts +10 -0
- package/dist/esm/hooks/src/use-window-size.d.ts +10 -0
- package/dist/esm/index.d.ts +0 -4
- package/dist/esm/index.js +1 -23
- package/dist/esm/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.js +2 -0
- package/dist/esm/node_modules/@dnd-kit/core/dist/core.esm.js +2 -0
- package/dist/esm/node_modules/@dnd-kit/sortable/dist/sortable.esm.js +2 -0
- package/dist/esm/node_modules/@dnd-kit/utilities/dist/utilities.esm.js +2 -0
- package/dist/esm/node_modules/clsx/dist/clsx.mjs.js +2 -0
- package/dist/esm/node_modules/tailwind-merge/dist/bundle-mjs.mjs.js +2 -0
- package/dist/esm/node_modules/tslib/tslib.es6.mjs.js +2 -0
- package/dist/esm/styles/index.css +68 -0
- package/dist/esm/types/src/icon.d.ts +1 -1
- package/dist/esm/utils/index.d.ts +7 -2
- package/dist/esm/utils/src/array.d.ts +24 -0
- package/dist/esm/utils/src/async.d.ts +32 -0
- package/dist/esm/utils/src/cn.d.ts +9 -0
- package/dist/esm/utils/src/cn.js +2 -0
- package/dist/esm/utils/src/format.d.ts +20 -0
- package/dist/esm/utils/src/math.d.ts +22 -0
- package/dist/esm/utils/src/math.js +2 -0
- package/dist/esm/utils/src/object.d.ts +36 -0
- package/dist/esm/utils/src/string.d.ts +24 -0
- package/dist/hooks/charts/index.d.ts +8 -0
- package/dist/hooks/charts/src/bar/chart-bar.d.ts +27 -0
- package/dist/hooks/charts/src/chart/chart.d.ts +35 -0
- package/dist/hooks/charts/src/chart-tooltip-styles.d.ts +4 -0
- package/dist/hooks/charts/src/gantt/chart-gantt.d.ts +25 -0
- package/dist/hooks/charts/src/heatmap/chart-heatmap.d.ts +18 -0
- package/dist/hooks/charts/src/legend/legend.d.ts +19 -0
- package/dist/hooks/charts/src/line/chart-line.d.ts +28 -0
- package/dist/hooks/charts/src/pie/chart-pie.d.ts +19 -0
- package/dist/hooks/charts/src/recharts-tick-props.d.ts +11 -0
- package/dist/hooks/charts/src/stat/chart-stat.d.ts +21 -0
- package/dist/hooks/components/index.d.ts +37 -0
- package/dist/hooks/components/src/accordion/accordion.d.ts +32 -0
- package/dist/hooks/components/src/button/button.d.ts +41 -0
- package/dist/hooks/components/src/calendar/calendar.d.ts +43 -0
- package/dist/hooks/components/src/checkbox/checkbox.d.ts +58 -0
- package/dist/hooks/components/src/chip/chip.d.ts +37 -0
- package/dist/hooks/components/src/compact-multi-select/compact-multi-select.d.ts +52 -0
- package/dist/hooks/components/src/content-switch/content-switch.d.ts +39 -0
- package/dist/hooks/components/src/date-picker/date-picker.d.ts +35 -0
- package/dist/hooks/components/src/date-range-picker/date-range-picker.d.ts +39 -0
- package/dist/hooks/components/src/dropdown/dropdown.d.ts +53 -0
- package/dist/hooks/components/src/expandable-search/expandable-search.d.ts +40 -0
- package/dist/hooks/components/src/expandable-table/expandable-table.d.ts +61 -0
- package/dist/hooks/components/src/icon/icon-paths.d.ts +3 -0
- package/dist/hooks/components/src/icon/icon.d.ts +28 -0
- package/dist/hooks/components/src/input/input.d.ts +29 -0
- package/dist/hooks/components/src/loader/loader.d.ts +12 -0
- package/dist/hooks/components/src/logo/logo.d.ts +12 -0
- package/dist/hooks/components/src/message/message.d.ts +34 -0
- package/dist/hooks/components/src/modal/modal.d.ts +35 -0
- package/dist/hooks/components/src/month-calendar/month-calendar.d.ts +28 -0
- package/dist/hooks/components/src/multi-menu/multi-menu.d.ts +39 -0
- package/dist/hooks/components/src/multi-select/multi-select.d.ts +49 -0
- package/dist/hooks/components/src/pagination/pagination.d.ts +33 -0
- package/dist/hooks/components/src/popover/popover.d.ts +53 -0
- package/dist/hooks/components/src/radio/radio.d.ts +31 -0
- package/dist/hooks/components/src/radio-group/radio-group.d.ts +42 -0
- package/dist/hooks/components/src/segmented-toggle/segmented-toggle.d.ts +50 -0
- package/dist/hooks/components/src/side-panel/side-panel.d.ts +36 -0
- package/dist/hooks/components/src/skeleton/skeleton.d.ts +15 -0
- package/dist/hooks/components/src/slider/slider.d.ts +46 -0
- package/dist/hooks/components/src/table/table-utils.d.ts +2 -0
- package/dist/hooks/components/src/table/table.d.ts +78 -0
- package/dist/hooks/components/src/tabs/tabs.d.ts +35 -0
- package/dist/hooks/components/src/tag/tag.d.ts +26 -0
- package/dist/hooks/components/src/textarea/textarea.d.ts +33 -0
- package/dist/hooks/components/src/time-picker/time-picker.d.ts +31 -0
- package/dist/hooks/components/src/toast/toast.d.ts +54 -0
- package/dist/hooks/components/src/toggle/toggle.d.ts +35 -0
- package/dist/hooks/components/src/tooltip/tooltip.d.ts +38 -0
- package/dist/hooks/entries/charts.d.ts +4 -0
- package/dist/hooks/entries/hooks.d.ts +4 -0
- package/dist/hooks/entries/types.d.ts +9 -0
- package/dist/hooks/entries/utils.d.ts +5 -0
- package/dist/hooks/hooks/index.d.ts +18 -0
- package/dist/hooks/hooks/src/use-click-outside.d.ts +13 -0
- package/dist/hooks/hooks/src/use-copy-to-clipboard.d.ts +15 -0
- package/dist/hooks/hooks/src/use-debounce.d.ts +9 -0
- package/dist/hooks/hooks/src/use-dropdown-position.d.ts +10 -0
- package/dist/hooks/hooks/src/use-event-listener.d.ts +15 -0
- package/dist/hooks/hooks/src/use-focus-trap.d.ts +8 -0
- package/dist/hooks/hooks/src/use-hover.d.ts +10 -0
- package/dist/hooks/hooks/src/use-idle.d.ts +15 -0
- package/dist/hooks/hooks/src/use-interval.d.ts +7 -0
- package/dist/hooks/hooks/src/use-key-press.d.ts +13 -0
- package/dist/hooks/hooks/src/use-long-press.d.ts +20 -0
- package/dist/hooks/hooks/src/use-media-query.d.ts +7 -0
- package/dist/hooks/hooks/src/use-mouse.d.ts +12 -0
- package/dist/hooks/hooks/src/use-timeout.d.ts +8 -0
- package/dist/hooks/hooks/src/use-toast.d.ts +15 -0
- package/dist/hooks/hooks/src/use-window-scroll.d.ts +10 -0
- package/dist/hooks/hooks/src/use-window-size.d.ts +10 -0
- package/dist/hooks/index.cjs.js +2 -0
- package/dist/hooks/index.d.ts +4 -2
- package/dist/hooks/index.js +2 -0
- package/dist/hooks/src/use-click-outside.d.ts +10 -1
- package/dist/hooks/src/use-copy-to-clipboard.d.ts +15 -0
- package/dist/hooks/src/use-debounce.d.ts +9 -0
- package/dist/hooks/src/use-dropdown-position.d.ts +10 -0
- package/dist/hooks/src/use-event-listener.d.ts +15 -0
- package/dist/hooks/src/use-focus-trap.d.ts +8 -0
- package/dist/hooks/src/use-hover.d.ts +10 -0
- package/dist/hooks/src/use-idle.d.ts +15 -0
- package/dist/hooks/src/use-interval.d.ts +7 -0
- package/dist/hooks/src/use-key-press.d.ts +13 -0
- package/dist/hooks/src/use-long-press.d.ts +20 -0
- package/dist/hooks/src/use-media-query.d.ts +6 -0
- package/dist/hooks/src/use-mouse.d.ts +12 -0
- package/dist/hooks/src/use-timeout.d.ts +8 -0
- package/dist/hooks/src/use-toast.d.ts +15 -0
- package/dist/hooks/src/use-window-scroll.d.ts +10 -0
- package/dist/hooks/src/use-window-size.d.ts +10 -0
- package/dist/hooks/types/index.d.ts +2 -0
- package/dist/hooks/types/src/icon.d.ts +1 -0
- package/dist/hooks/utils/index.d.ts +7 -0
- package/dist/hooks/utils/src/array.d.ts +24 -0
- package/dist/hooks/utils/src/async.d.ts +32 -0
- package/dist/hooks/utils/src/cn.d.ts +9 -0
- package/dist/hooks/utils/src/format.d.ts +20 -0
- package/dist/hooks/utils/src/math.d.ts +22 -0
- package/dist/hooks/utils/src/object.d.ts +36 -0
- package/dist/hooks/utils/src/string.d.ts +24 -0
- package/dist/index.cjs.js +1 -23
- package/dist/index.css +2 -0
- package/dist/index.d.ts +4 -4
- package/dist/styles/index.css +68 -0
- package/dist/types/charts/index.d.ts +8 -0
- package/dist/types/charts/src/bar/chart-bar.d.ts +27 -0
- package/dist/types/charts/src/chart/chart.d.ts +35 -0
- package/dist/types/charts/src/chart-tooltip-styles.d.ts +4 -0
- package/dist/types/charts/src/gantt/chart-gantt.d.ts +25 -0
- package/dist/types/charts/src/heatmap/chart-heatmap.d.ts +18 -0
- package/dist/types/charts/src/legend/legend.d.ts +19 -0
- package/dist/types/charts/src/line/chart-line.d.ts +28 -0
- package/dist/types/charts/src/pie/chart-pie.d.ts +19 -0
- package/dist/types/charts/src/recharts-tick-props.d.ts +11 -0
- package/dist/types/charts/src/stat/chart-stat.d.ts +21 -0
- package/dist/types/components/index.d.ts +37 -0
- package/dist/types/components/src/accordion/accordion.d.ts +32 -0
- package/dist/types/components/src/button/button.d.ts +41 -0
- package/dist/types/components/src/calendar/calendar.d.ts +43 -0
- package/dist/types/components/src/checkbox/checkbox.d.ts +58 -0
- package/dist/types/components/src/chip/chip.d.ts +37 -0
- package/dist/types/components/src/compact-multi-select/compact-multi-select.d.ts +52 -0
- package/dist/types/components/src/content-switch/content-switch.d.ts +39 -0
- package/dist/types/components/src/date-picker/date-picker.d.ts +35 -0
- package/dist/types/components/src/date-range-picker/date-range-picker.d.ts +39 -0
- package/dist/types/components/src/dropdown/dropdown.d.ts +53 -0
- package/dist/types/components/src/expandable-search/expandable-search.d.ts +40 -0
- package/dist/types/components/src/expandable-table/expandable-table.d.ts +61 -0
- package/dist/types/components/src/icon/icon-paths.d.ts +3 -0
- package/dist/types/components/src/icon/icon.d.ts +28 -0
- package/dist/types/components/src/input/input.d.ts +29 -0
- package/dist/types/components/src/loader/loader.d.ts +12 -0
- package/dist/types/components/src/logo/logo.d.ts +12 -0
- package/dist/types/components/src/message/message.d.ts +34 -0
- package/dist/types/components/src/modal/modal.d.ts +35 -0
- package/dist/types/components/src/month-calendar/month-calendar.d.ts +28 -0
- package/dist/types/components/src/multi-menu/multi-menu.d.ts +39 -0
- package/dist/types/components/src/multi-select/multi-select.d.ts +49 -0
- package/dist/types/components/src/pagination/pagination.d.ts +33 -0
- package/dist/types/components/src/popover/popover.d.ts +53 -0
- package/dist/types/components/src/radio/radio.d.ts +31 -0
- package/dist/types/components/src/radio-group/radio-group.d.ts +42 -0
- package/dist/types/components/src/segmented-toggle/segmented-toggle.d.ts +50 -0
- package/dist/types/components/src/side-panel/side-panel.d.ts +36 -0
- package/dist/types/components/src/skeleton/skeleton.d.ts +15 -0
- package/dist/types/components/src/slider/slider.d.ts +46 -0
- package/dist/types/components/src/table/table-utils.d.ts +2 -0
- package/dist/types/components/src/table/table.d.ts +78 -0
- package/dist/types/components/src/tabs/tabs.d.ts +35 -0
- package/dist/types/components/src/tag/tag.d.ts +26 -0
- package/dist/types/components/src/textarea/textarea.d.ts +33 -0
- package/dist/types/components/src/time-picker/time-picker.d.ts +31 -0
- package/dist/types/components/src/toast/toast.d.ts +54 -0
- package/dist/types/components/src/toggle/toggle.d.ts +35 -0
- package/dist/types/components/src/tooltip/tooltip.d.ts +38 -0
- package/dist/types/entries/charts.d.ts +4 -0
- package/dist/types/entries/hooks.d.ts +4 -0
- package/dist/types/entries/types.d.ts +9 -0
- package/dist/types/entries/utils.d.ts +5 -0
- package/dist/types/hooks/index.d.ts +18 -0
- package/dist/types/hooks/src/use-click-outside.d.ts +13 -0
- package/dist/types/hooks/src/use-copy-to-clipboard.d.ts +15 -0
- package/dist/types/hooks/src/use-debounce.d.ts +9 -0
- package/dist/types/hooks/src/use-dropdown-position.d.ts +10 -0
- package/dist/types/hooks/src/use-event-listener.d.ts +15 -0
- package/dist/types/hooks/src/use-focus-trap.d.ts +8 -0
- package/dist/types/hooks/src/use-hover.d.ts +10 -0
- package/dist/types/hooks/src/use-idle.d.ts +15 -0
- package/dist/types/hooks/src/use-interval.d.ts +7 -0
- package/dist/types/hooks/src/use-key-press.d.ts +13 -0
- package/dist/types/hooks/src/use-long-press.d.ts +20 -0
- package/dist/types/hooks/src/use-media-query.d.ts +7 -0
- package/dist/types/hooks/src/use-mouse.d.ts +12 -0
- package/dist/types/hooks/src/use-timeout.d.ts +8 -0
- package/dist/types/hooks/src/use-toast.d.ts +15 -0
- package/dist/types/hooks/src/use-window-scroll.d.ts +10 -0
- package/dist/types/hooks/src/use-window-size.d.ts +10 -0
- package/dist/types/index.cjs.js +2 -0
- package/dist/types/index.d.ts +9 -2
- package/dist/types/index.js +2 -0
- package/dist/types/src/icon.d.ts +1 -1
- package/dist/types/types/index.d.ts +2 -0
- package/dist/types/types/src/icon.d.ts +1 -0
- package/dist/types/utils/index.d.ts +7 -0
- package/dist/types/utils/src/array.d.ts +24 -0
- package/dist/types/utils/src/async.d.ts +32 -0
- package/dist/types/utils/src/cn.d.ts +9 -0
- package/dist/types/utils/src/format.d.ts +20 -0
- package/dist/types/utils/src/math.d.ts +22 -0
- package/dist/types/utils/src/object.d.ts +36 -0
- package/dist/types/utils/src/string.d.ts +24 -0
- package/dist/utils/charts/index.d.ts +8 -0
- package/dist/utils/charts/src/bar/chart-bar.d.ts +27 -0
- package/dist/utils/charts/src/chart/chart.d.ts +35 -0
- package/dist/utils/charts/src/chart-tooltip-styles.d.ts +4 -0
- package/dist/utils/charts/src/gantt/chart-gantt.d.ts +25 -0
- package/dist/utils/charts/src/heatmap/chart-heatmap.d.ts +18 -0
- package/dist/utils/charts/src/legend/legend.d.ts +19 -0
- package/dist/utils/charts/src/line/chart-line.d.ts +28 -0
- package/dist/utils/charts/src/pie/chart-pie.d.ts +19 -0
- package/dist/utils/charts/src/recharts-tick-props.d.ts +11 -0
- package/dist/utils/charts/src/stat/chart-stat.d.ts +21 -0
- package/dist/utils/components/index.d.ts +37 -0
- package/dist/utils/components/src/accordion/accordion.d.ts +32 -0
- package/dist/utils/components/src/button/button.d.ts +41 -0
- package/dist/utils/components/src/calendar/calendar.d.ts +43 -0
- package/dist/utils/components/src/checkbox/checkbox.d.ts +58 -0
- package/dist/utils/components/src/chip/chip.d.ts +37 -0
- package/dist/utils/components/src/compact-multi-select/compact-multi-select.d.ts +52 -0
- package/dist/utils/components/src/content-switch/content-switch.d.ts +39 -0
- package/dist/utils/components/src/date-picker/date-picker.d.ts +35 -0
- package/dist/utils/components/src/date-range-picker/date-range-picker.d.ts +39 -0
- package/dist/utils/components/src/dropdown/dropdown.d.ts +53 -0
- package/dist/utils/components/src/expandable-search/expandable-search.d.ts +40 -0
- package/dist/utils/components/src/expandable-table/expandable-table.d.ts +61 -0
- package/dist/utils/components/src/icon/icon-paths.d.ts +3 -0
- package/dist/utils/components/src/icon/icon.d.ts +28 -0
- package/dist/utils/components/src/input/input.d.ts +29 -0
- package/dist/utils/components/src/loader/loader.d.ts +12 -0
- package/dist/utils/components/src/logo/logo.d.ts +12 -0
- package/dist/utils/components/src/message/message.d.ts +34 -0
- package/dist/utils/components/src/modal/modal.d.ts +35 -0
- package/dist/utils/components/src/month-calendar/month-calendar.d.ts +28 -0
- package/dist/utils/components/src/multi-menu/multi-menu.d.ts +39 -0
- package/dist/utils/components/src/multi-select/multi-select.d.ts +49 -0
- package/dist/utils/components/src/pagination/pagination.d.ts +33 -0
- package/dist/utils/components/src/popover/popover.d.ts +53 -0
- package/dist/utils/components/src/radio/radio.d.ts +31 -0
- package/dist/utils/components/src/radio-group/radio-group.d.ts +42 -0
- package/dist/utils/components/src/segmented-toggle/segmented-toggle.d.ts +50 -0
- package/dist/utils/components/src/side-panel/side-panel.d.ts +36 -0
- package/dist/utils/components/src/skeleton/skeleton.d.ts +15 -0
- package/dist/utils/components/src/slider/slider.d.ts +46 -0
- package/dist/utils/components/src/table/table-utils.d.ts +2 -0
- package/dist/utils/components/src/table/table.d.ts +78 -0
- package/dist/utils/components/src/tabs/tabs.d.ts +35 -0
- package/dist/utils/components/src/tag/tag.d.ts +26 -0
- package/dist/utils/components/src/textarea/textarea.d.ts +33 -0
- package/dist/utils/components/src/time-picker/time-picker.d.ts +31 -0
- package/dist/utils/components/src/toast/toast.d.ts +54 -0
- package/dist/utils/components/src/toggle/toggle.d.ts +35 -0
- package/dist/utils/components/src/tooltip/tooltip.d.ts +38 -0
- package/dist/utils/entries/charts.d.ts +4 -0
- package/dist/utils/entries/hooks.d.ts +4 -0
- package/dist/utils/entries/types.d.ts +9 -0
- package/dist/utils/entries/utils.d.ts +5 -0
- package/dist/utils/hooks/index.d.ts +18 -0
- package/dist/utils/hooks/src/use-click-outside.d.ts +13 -0
- package/dist/utils/hooks/src/use-copy-to-clipboard.d.ts +15 -0
- package/dist/utils/hooks/src/use-debounce.d.ts +9 -0
- package/dist/utils/hooks/src/use-dropdown-position.d.ts +10 -0
- package/dist/utils/hooks/src/use-event-listener.d.ts +15 -0
- package/dist/utils/hooks/src/use-focus-trap.d.ts +8 -0
- package/dist/utils/hooks/src/use-hover.d.ts +10 -0
- package/dist/utils/hooks/src/use-idle.d.ts +15 -0
- package/dist/utils/hooks/src/use-interval.d.ts +7 -0
- package/dist/utils/hooks/src/use-key-press.d.ts +13 -0
- package/dist/utils/hooks/src/use-long-press.d.ts +20 -0
- package/dist/utils/hooks/src/use-media-query.d.ts +7 -0
- package/dist/utils/hooks/src/use-mouse.d.ts +12 -0
- package/dist/utils/hooks/src/use-timeout.d.ts +8 -0
- package/dist/utils/hooks/src/use-toast.d.ts +15 -0
- package/dist/utils/hooks/src/use-window-scroll.d.ts +10 -0
- package/dist/utils/hooks/src/use-window-size.d.ts +10 -0
- package/dist/utils/index.cjs.js +2 -0
- package/dist/utils/index.d.ts +5 -2
- package/dist/utils/index.js +2 -0
- package/dist/utils/src/array.d.ts +24 -0
- package/dist/utils/src/async.d.ts +32 -0
- package/dist/utils/src/cn.d.ts +9 -0
- package/dist/utils/src/format.d.ts +20 -0
- package/dist/utils/src/math.d.ts +22 -0
- package/dist/utils/src/object.d.ts +36 -0
- package/dist/utils/src/string.d.ts +24 -0
- package/dist/utils/types/index.d.ts +2 -0
- package/dist/utils/types/src/icon.d.ts +1 -0
- package/dist/utils/utils/index.d.ts +7 -0
- package/dist/utils/utils/src/array.d.ts +24 -0
- package/dist/utils/utils/src/async.d.ts +32 -0
- package/dist/utils/utils/src/cn.d.ts +9 -0
- package/dist/utils/utils/src/format.d.ts +20 -0
- package/dist/utils/utils/src/math.d.ts +22 -0
- package/dist/utils/utils/src/object.d.ts +36 -0
- package/dist/utils/utils/src/string.d.ts +24 -0
- package/package.json +67 -7
- package/dist/components/src/accordion.d.ts +0 -13
- package/dist/components/src/button.d.ts +0 -15
- package/dist/components/src/calendar.d.ts +0 -19
- package/dist/components/src/chart-bar.d.ts +0 -27
- package/dist/components/src/chart-heatmap.d.ts +0 -21
- package/dist/components/src/chart-line.d.ts +0 -26
- package/dist/components/src/chart-pie.d.ts +0 -17
- package/dist/components/src/chart-stat.d.ts +0 -20
- package/dist/components/src/chart.d.ts +0 -36
- package/dist/components/src/checkbox.d.ts +0 -18
- package/dist/components/src/chip.d.ts +0 -13
- package/dist/components/src/compact-multi-select.d.ts +0 -25
- package/dist/components/src/content-switch.d.ts +0 -15
- package/dist/components/src/date-range-picker.d.ts +0 -12
- package/dist/components/src/dropdown.d.ts +0 -22
- package/dist/components/src/expandable-table.d.ts +0 -40
- package/dist/components/src/expandable.d.ts +0 -9
- package/dist/components/src/icon.d.ts +0 -10
- package/dist/components/src/input.d.ts +0 -16
- package/dist/components/src/legend.d.ts +0 -17
- package/dist/components/src/loader.d.ts +0 -5
- package/dist/components/src/logo.d.ts +0 -5
- package/dist/components/src/message.d.ts +0 -12
- package/dist/components/src/modal.d.ts +0 -16
- package/dist/components/src/month-calendar.d.ts +0 -10
- package/dist/components/src/multi-menu.d.ts +0 -18
- package/dist/components/src/multi-select.d.ts +0 -18
- package/dist/components/src/pagination.d.ts +0 -14
- package/dist/components/src/popover.d.ts +0 -16
- package/dist/components/src/radio-group.d.ts +0 -17
- package/dist/components/src/radio.d.ts +0 -6
- package/dist/components/src/segmented-toggle.d.ts +0 -20
- package/dist/components/src/side-panel.d.ts +0 -16
- package/dist/components/src/status.d.ts +0 -8
- package/dist/components/src/table.d.ts +0 -43
- package/dist/components/src/tabs.d.ts +0 -10
- package/dist/components/src/tag.d.ts +0 -9
- package/dist/components/src/textarea.d.ts +0 -15
- package/dist/components/src/toast.d.ts +0 -20
- package/dist/components/src/toggle.d.ts +0 -9
- package/dist/components/src/tooltip.d.ts +0 -20
- package/dist/css/index.css +0 -1
- package/dist/css/src/chart.css +0 -76
- package/dist/css/src/charts.css +0 -149
- package/dist/css/src/chip.css +0 -54
- package/dist/css/src/index.css +0 -70
- package/dist/css/src/loader.css +0 -18
- package/dist/css/src/radio-group.css +0 -44
- package/dist/css/src/radio.css +0 -146
- package/dist/css/src/search.css +0 -148
- package/dist/css/src/status.css +0 -31
- package/dist/esm/components/src/accordion.d.ts +0 -13
- package/dist/esm/components/src/button.d.ts +0 -15
- package/dist/esm/components/src/calendar.d.ts +0 -19
- package/dist/esm/components/src/chart-bar.d.ts +0 -27
- package/dist/esm/components/src/chart-heatmap.d.ts +0 -21
- package/dist/esm/components/src/chart-line.d.ts +0 -26
- package/dist/esm/components/src/chart-pie.d.ts +0 -17
- package/dist/esm/components/src/chart-stat.d.ts +0 -20
- package/dist/esm/components/src/chart.d.ts +0 -36
- package/dist/esm/components/src/checkbox.d.ts +0 -18
- package/dist/esm/components/src/chip.d.ts +0 -13
- package/dist/esm/components/src/compact-multi-select.d.ts +0 -25
- package/dist/esm/components/src/content-switch.d.ts +0 -15
- package/dist/esm/components/src/date-range-picker.d.ts +0 -12
- package/dist/esm/components/src/dropdown.d.ts +0 -22
- package/dist/esm/components/src/expandable-table.d.ts +0 -40
- package/dist/esm/components/src/expandable.d.ts +0 -9
- package/dist/esm/components/src/icon.d.ts +0 -10
- package/dist/esm/components/src/input.d.ts +0 -16
- package/dist/esm/components/src/legend.d.ts +0 -17
- package/dist/esm/components/src/loader.d.ts +0 -5
- package/dist/esm/components/src/logo.d.ts +0 -5
- package/dist/esm/components/src/message.d.ts +0 -12
- package/dist/esm/components/src/modal.d.ts +0 -16
- package/dist/esm/components/src/month-calendar.d.ts +0 -10
- package/dist/esm/components/src/multi-menu.d.ts +0 -18
- package/dist/esm/components/src/multi-select.d.ts +0 -18
- package/dist/esm/components/src/pagination.d.ts +0 -14
- package/dist/esm/components/src/popover.d.ts +0 -16
- package/dist/esm/components/src/radio-group.d.ts +0 -17
- package/dist/esm/components/src/radio.d.ts +0 -6
- package/dist/esm/components/src/segmented-toggle.d.ts +0 -20
- package/dist/esm/components/src/side-panel.d.ts +0 -16
- package/dist/esm/components/src/status.d.ts +0 -8
- package/dist/esm/components/src/table.d.ts +0 -43
- package/dist/esm/components/src/tabs.d.ts +0 -10
- package/dist/esm/components/src/tag.d.ts +0 -9
- package/dist/esm/components/src/textarea.d.ts +0 -15
- package/dist/esm/components/src/toast.d.ts +0 -20
- package/dist/esm/components/src/toggle.d.ts +0 -9
- package/dist/esm/components/src/tooltip.d.ts +0 -20
- package/dist/esm/css/index.css +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/index.cjs.js.map +0 -1
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
.date-picker-container {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
gap: 0.5rem;
|
|
5
|
+
font-family: inherit;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
/* ── Header ── */
|
|
9
|
+
|
|
10
|
+
.date-picker-header {
|
|
11
|
+
display: flex;
|
|
12
|
+
align-items: center;
|
|
13
|
+
justify-content: space-between;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.date-picker-labels {
|
|
17
|
+
display: flex;
|
|
18
|
+
flex: 1;
|
|
19
|
+
gap: 0.75rem;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.date-picker-label {
|
|
23
|
+
flex: 1;
|
|
24
|
+
font-size: 0.875rem;
|
|
25
|
+
font-weight: 500;
|
|
26
|
+
color: hsl(var(--foreground));
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.date-picker-clear {
|
|
30
|
+
font-size: 0.875rem;
|
|
31
|
+
color: hsl(var(--muted-200));
|
|
32
|
+
background: none;
|
|
33
|
+
border: none;
|
|
34
|
+
cursor: pointer;
|
|
35
|
+
transition: color 0.2s;
|
|
36
|
+
padding: 0;
|
|
37
|
+
flex-shrink: 0;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.date-picker-clear:hover {
|
|
41
|
+
color: hsl(var(--primary));
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/* ── Single wrapper ── */
|
|
45
|
+
|
|
46
|
+
.date-picker-wrapper {
|
|
47
|
+
position: relative;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/* ── Range wrapper: two fields side by side ── */
|
|
51
|
+
|
|
52
|
+
.date-picker-range-wrapper {
|
|
53
|
+
display: grid;
|
|
54
|
+
grid-template-columns: 1fr 1fr;
|
|
55
|
+
gap: 0.75rem;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.date-picker-field-wrapper {
|
|
59
|
+
position: relative;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/* ── Trigger ── */
|
|
63
|
+
|
|
64
|
+
.date-picker-trigger {
|
|
65
|
+
display: flex;
|
|
66
|
+
align-items: center;
|
|
67
|
+
justify-content: space-between;
|
|
68
|
+
width: 100%;
|
|
69
|
+
height: 2.5rem;
|
|
70
|
+
padding: 0 0.75rem;
|
|
71
|
+
border: 1.5px solid hsl(var(--muted));
|
|
72
|
+
border-radius: 0.5rem;
|
|
73
|
+
background: hsl(var(--input));
|
|
74
|
+
cursor: pointer;
|
|
75
|
+
transition: border-color 0.2s;
|
|
76
|
+
font-family: inherit;
|
|
77
|
+
font-size: 0.875rem;
|
|
78
|
+
text-align: left;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.date-picker-trigger:hover:not([disabled]) {
|
|
82
|
+
border-color: hsl(var(--primary));
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.date-picker-trigger:hover:not([disabled]) .date-picker-icon {
|
|
86
|
+
color: hsl(var(--primary));
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.date-picker-trigger--open {
|
|
90
|
+
border-color: hsl(var(--primary));
|
|
91
|
+
border-radius: 0.5rem 0.5rem 0 0;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.date-picker-trigger--error {
|
|
95
|
+
border-color: hsl(var(--destructive));
|
|
96
|
+
background-color: hsl(var(--destructive-bg) / 0.3);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.date-picker-trigger[disabled] {
|
|
100
|
+
opacity: 0.5;
|
|
101
|
+
cursor: not-allowed;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.date-picker-placeholder {
|
|
105
|
+
color: hsl(var(--muted));
|
|
106
|
+
font-size: 0.875rem;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.date-picker-value {
|
|
110
|
+
color: hsl(var(--foreground));
|
|
111
|
+
font-size: 0.875rem;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.date-picker-icon {
|
|
115
|
+
color: hsl(var(--muted-200));
|
|
116
|
+
flex-shrink: 0;
|
|
117
|
+
transition: color 0.2s;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.date-picker-icon--open {
|
|
121
|
+
color: hsl(var(--primary));
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/* ── Dropdown panel ── */
|
|
125
|
+
|
|
126
|
+
.date-picker-panel {
|
|
127
|
+
position: absolute;
|
|
128
|
+
top: 100%;
|
|
129
|
+
left: 0;
|
|
130
|
+
z-index: 200;
|
|
131
|
+
background-color: hsl(var(--input));
|
|
132
|
+
border: 1.5px solid hsl(var(--primary));
|
|
133
|
+
border-top: none;
|
|
134
|
+
border-radius: 0 0 0.5rem 0.5rem;
|
|
135
|
+
width: 100%;
|
|
136
|
+
box-sizing: border-box;
|
|
137
|
+
overflow: hidden;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/* Strip the calendar's own border so it blends into the panel */
|
|
141
|
+
.date-picker-panel .calendar-container {
|
|
142
|
+
border: none;
|
|
143
|
+
background: none;
|
|
144
|
+
max-width: none;
|
|
145
|
+
min-width: 0;
|
|
146
|
+
width: 100%;
|
|
147
|
+
box-sizing: border-box;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/* ── Messages ── */
|
|
151
|
+
|
|
152
|
+
.date-picker-note {
|
|
153
|
+
font-size: 0.875rem;
|
|
154
|
+
color: hsl(var(--muted-200));
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.date-picker-error-message {
|
|
158
|
+
font-size: 0.875rem;
|
|
159
|
+
color: hsl(var(--destructive));
|
|
160
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import "./date-picker.css";
|
|
2
|
+
/**
|
|
3
|
+
* Date input with inline `Calendar` popover: single `Date` or start/end `range` tuple.
|
|
4
|
+
*
|
|
5
|
+
* @property {"single"|"range"} [mode] - Field format and `value`/`onChange` shape. Default `"single"`.
|
|
6
|
+
* @property {Date|null|[Date|null,Date|null]} [value] - `null` means cleared; range uses tuple with partial `null` while picking.
|
|
7
|
+
* @property {(v:Date|null|[Date|null,Date|null]) => void} [onChange] - Emits the same shape as `value`.
|
|
8
|
+
* @property {Date} [minDate] - Inclusive lower bound for the calendar. Optional.
|
|
9
|
+
* @property {Date} [maxDate] - Inclusive upper bound. Optional.
|
|
10
|
+
* @property {Date[]} [disabledDates] - Unselectable days. Default `[]`.
|
|
11
|
+
* @property {string} [placeholder] - Empty input text. Default `"MM/DD/YYYY"`.
|
|
12
|
+
*/
|
|
13
|
+
interface DatePickerProps {
|
|
14
|
+
mode?: "single" | "range";
|
|
15
|
+
value?: Date | null | [Date | null, Date | null];
|
|
16
|
+
onChange?: (value: Date | null | [Date | null, Date | null]) => void;
|
|
17
|
+
minDate?: Date;
|
|
18
|
+
maxDate?: Date;
|
|
19
|
+
disabledDates?: Date[];
|
|
20
|
+
placeholder?: string;
|
|
21
|
+
label?: string;
|
|
22
|
+
endLabel?: string;
|
|
23
|
+
disabled?: boolean;
|
|
24
|
+
className?: string;
|
|
25
|
+
error?: string;
|
|
26
|
+
note?: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Renders a text field that opens a `Calendar` for one date or a range, with min/max and disabled day rules.
|
|
30
|
+
*
|
|
31
|
+
* @param {DatePickerProps} props - `mode` drives value typing; `label` / `endLabel` for field captions.
|
|
32
|
+
* @returns {JSX.Element} The field group, popover calendar, and optional note/error.
|
|
33
|
+
*/
|
|
34
|
+
export declare const DatePicker: ({ mode, value, onChange, minDate, maxDate, disabledDates, placeholder, label, endLabel, disabled, className, error, note, }: DatePickerProps) => import("react/jsx-runtime").JSX.Element;
|
|
35
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsxs as e,jsx as a,Fragment as r}from"react/jsx-runtime";import"./date-picker.css";import{useState as l,useRef as i,useCallback as n}from"react";import{Calendar as t}from"../calendar/calendar.js";import{Icon as c}from"../icon/icon.js";import{useClickOutside as d}from"../../../hooks/src/use-click-outside.js";const s=e=>`${String(e.getMonth()+1).padStart(2,"0")}/${String(e.getDate()).padStart(2,"0")}/${e.getFullYear()}`,o=({mode:o="single",value:p,onChange:g,minDate:m,maxDate:k,disabledDates:u=[],placeholder:h="MM/DD/YYYY",label:N,endLabel:b="End Date",disabled:v=!1,className:D,error:f,note:j})=>{const[y,C]=l(!1),[A,S]=l("start"),Y=i(null);d(Y,(()=>{y&&C(!1)}));const w=null!=N?N:"range"===o?"Start Date":"Date",x="single"!==o||Array.isArray(p)?null:null!=p?p:null,$="range"===o&&Array.isArray(p)?p:[null,null],B="single"===o?!!x:!(!$[0]&&!$[1]),M=n(((e="start")=>{v||("range"===o?y&&A===e?C(!1):(S(e),C(!0)):C((e=>!e)))}),[v,o,y,A]),O=n((e=>{e instanceof Date&&(null==g||g(e),C(!1))}),[g]),E=n((e=>{Array.isArray(e)&&(null==g||g(e),e[0]&&e[1]&&C(!1))}),[g]),F=n((e=>{e.stopPropagation(),null==g||g("range"===o?[null,null]:null),C(!1)}),[g,o]),L=y&&("single"===o||"start"===A),P=y&&"range"===o&&"end"===A,q={minDate:m,maxDate:k,disabledDates:u};return e("div",{ref:Y,className:"date-picker-container"+(D?` ${D}`:""),children:[e("div",{className:"date-picker-header",children:[a("div",{className:"date-picker-labels",children:"single"===o?a("span",{className:"date-picker-label",children:w}):e(r,{children:[a("span",{className:"date-picker-label",children:w}),a("span",{className:"date-picker-label",children:b})]})}),B&&!v&&a("button",{type:"button",className:"date-picker-clear",onClick:F,children:"Clear"})]}),"single"===o&&e("div",{className:"date-picker-wrapper",children:[e("button",{type:"button",className:["date-picker-trigger",y?"date-picker-trigger--open":"",f?"date-picker-trigger--error":""].filter(Boolean).join(" "),onClick:()=>M(),disabled:v,children:[a("span",{className:x?"date-picker-value":"date-picker-placeholder",children:x?s(x):h}),a(c,{icon:"calendar",className:"date-picker-icon"+(y?" date-picker-icon--open":"")})]}),y&&a("div",{className:"date-picker-panel",children:a(t,Object.assign({mode:"single",value:null!=x?x:void 0,onChange:O},q))})]}),"range"===o&&e("div",{className:"date-picker-range-wrapper",children:[e("div",{className:"date-picker-field-wrapper",children:[e("button",{type:"button",className:["date-picker-trigger",L?"date-picker-trigger--open":"",f?"date-picker-trigger--error":""].filter(Boolean).join(" "),onClick:()=>M("start"),disabled:v,children:[a("span",{className:$[0]?"date-picker-value":"date-picker-placeholder",children:$[0]?s($[0]):h}),a(c,{icon:"calendar",className:"date-picker-icon"+(L?" date-picker-icon--open":"")})]}),L&&a("div",{className:"date-picker-panel",children:a(t,Object.assign({mode:"range",value:$,onChange:E},q))})]}),e("div",{className:"date-picker-field-wrapper",children:[e("button",{type:"button",className:["date-picker-trigger",P?"date-picker-trigger--open":"",f?"date-picker-trigger--error":""].filter(Boolean).join(" "),onClick:()=>M("end"),disabled:v,children:[a("span",{className:$[1]?"date-picker-value":"date-picker-placeholder",children:$[1]?s($[1]):h}),a(c,{icon:"calendar",className:"date-picker-icon"+(P?" date-picker-icon--open":"")})]}),P&&a("div",{className:"date-picker-panel",children:a(t,Object.assign({mode:"range",value:$,onChange:E},q))})]})]}),(j||f)&&a("small",{className:f?"date-picker-error-message":"date-picker-note",children:f||j})]})};export{o as DatePicker};
|
|
2
|
+
//# sourceMappingURL=date-picker.js.map
|
|
@@ -2,9 +2,8 @@
|
|
|
2
2
|
display: flex;
|
|
3
3
|
background-color: hsl(var(--background));
|
|
4
4
|
border-radius: 0.5rem;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
font-family: sans-serif;
|
|
5
|
+
border: 1px solid hsl(var(--muted) / 50%);
|
|
6
|
+
font-family: inherit;
|
|
8
7
|
}
|
|
9
8
|
|
|
10
9
|
.date-range-picker__presets {
|
|
@@ -70,4 +69,4 @@
|
|
|
70
69
|
|
|
71
70
|
.date-range-picker__calendars .calendar-container:nth-of-type(2) {
|
|
72
71
|
grid-area: cal2;
|
|
73
|
-
}
|
|
72
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import "./date-range-picker.css";
|
|
2
|
+
/**
|
|
3
|
+
* Built-in range shortcut id (e.g. `last_7_days`, `custom` to open the calendar only).
|
|
4
|
+
* @type {string}
|
|
5
|
+
*/
|
|
6
|
+
export type Preset = "today" | "last_7_days" | "last_30_days" | "last_3_months" | "last_6_months" | "last_12_months" | "month_to_date" | "year_to_date" | "next_7_days" | "next_30_days" | "next_3_months" | "next_6_months" | "next_12_months" | "rest_of_month" | "rest_of_year" | "custom";
|
|
7
|
+
type PresetDirection = "last" | "next";
|
|
8
|
+
/**
|
|
9
|
+
* Two-field range with preset radio list and embedded `Calendar` for `custom` / adjustments.
|
|
10
|
+
* **Controlled** via `value: [Date|null, Date|null]`.
|
|
11
|
+
*
|
|
12
|
+
* @property {[Date|null,Date|null]} [value] - Inclusive start/end; `null` slot means unset.
|
|
13
|
+
* @property {(value: [Date|null,Date|null]) => void} [onChange] - Emits the full tuple on change.
|
|
14
|
+
* @property {PresetDirection} [presetDirection] - `"last"` vs `"next"` preset menu. Default `"last"`.
|
|
15
|
+
* @property {Preset} [defaultPreset] - Initial active preset. Default `"custom"`.
|
|
16
|
+
* @property {(date: Date) => string} [formatDate] - Formats the two summary fields; default YYYY/MM/DD.
|
|
17
|
+
* @property {Date} [minDate] - Forwarded to `Calendar`. Optional.
|
|
18
|
+
* @property {Date} [maxDate] - Forwarded to `Calendar`. Optional.
|
|
19
|
+
*/
|
|
20
|
+
interface DateRangePickerProps {
|
|
21
|
+
value?: [Date | null, Date | null];
|
|
22
|
+
onChange?: (value: [Date | null, Date | null]) => void;
|
|
23
|
+
minDate?: Date;
|
|
24
|
+
maxDate?: Date;
|
|
25
|
+
disabledDates?: Date[];
|
|
26
|
+
presetDirection?: PresetDirection;
|
|
27
|
+
defaultPreset?: Preset;
|
|
28
|
+
/** Custom date display formatter. Defaults to YYYY/MM/DD. */
|
|
29
|
+
formatDate?: (date: Date) => string;
|
|
30
|
+
className?: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Renders preset radios plus a range `Calendar` and forwards remaining props (min/max, disabled days) to it.
|
|
34
|
+
*
|
|
35
|
+
* @param {DateRangePickerProps} props - `value`/`onChange` tuple, presets, and optional `className`.
|
|
36
|
+
* @returns {JSX.Element} The preset column, field pair, and popover `Calendar` when `custom` is active.
|
|
37
|
+
*/
|
|
38
|
+
export declare const DateRangePicker: ({ value, onChange, presetDirection, defaultPreset, formatDate, className, ...calendarProps }: DateRangePickerProps) => import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__rest as e}from"../../../node_modules/tslib/tslib.es6.mjs.js";import{jsxs as t,jsx as a}from"react/jsx-runtime";import"./date-range-picker.css";import n,{useState as l,useMemo as s,useCallback as r}from"react";import{Calendar as o}from"../calendar/calendar.js";import{Radio as c}from"../radio/radio.js";import{Icon as u}from"../icon/icon.js";const d=[{label:"Today",value:"today"},{label:"Last 7 days",value:"last_7_days"},{label:"Last 30 days",value:"last_30_days"},{label:"Last 3 months",value:"last_3_months"},{label:"Last 6 months",value:"last_6_months"},{label:"Last 12 months",value:"last_12_months"},{label:"Month To Date",value:"month_to_date"},{label:"Year To Date",value:"year_to_date"},{label:"Custom Range",value:"custom"}],h=[{label:"Today",value:"today"},{label:"Next 7 days",value:"next_7_days"},{label:"Next 30 days",value:"next_30_days"},{label:"Next 3 months",value:"next_3_months"},{label:"Next 6 months",value:"next_6_months"},{label:"Next 12 months",value:"next_12_months"},{label:"Rest of Month",value:"rest_of_month"},{label:"Rest of Year",value:"rest_of_year"},{label:"Custom Range",value:"custom"}],i=e=>`${e.getFullYear()}/${(e.getMonth()+1).toString().padStart(2,"0")}/${e.getDate().toString().padStart(2,"0")}`,m=m=>{var{value:_=[null,null],onChange:D,presetDirection:g="last",defaultPreset:v="custom",formatDate:w,className:y}=m,b=e(m,["value","onChange","presetDirection","defaultPreset","formatDate","className"]);const[p,M]=l(_),[f,Y]=l(v),[x,N]=l(p[0]||new Date),[F,k]=l(null),C=null!=w?w:i,L="next"===g?h:d;n.useEffect((()=>{M(_),_[0]&&N(_[0])}),[_]);const j=s((()=>new Date(x.getFullYear(),x.getMonth()+1,1)),[x]),S=e=>{if(Y(e),"custom"===e)M([null,null]),null==D||D([null,null]);else{const t=(e=>{const t=new Date;switch(t.setHours(0,0,0,0),e){case"today":return[new Date(t),new Date(t)];case"last_7_days":{const e=new Date(t);return e.setDate(t.getDate()-6),[e,new Date(t)]}case"last_30_days":{const e=new Date(t);return e.setDate(t.getDate()-29),[e,new Date(t)]}case"last_3_months":{const e=new Date(t);return e.setMonth(t.getMonth()-3),[e,new Date(t)]}case"last_6_months":{const e=new Date(t);return e.setMonth(t.getMonth()-6),[e,new Date(t)]}case"last_12_months":{const e=new Date(t);return e.setFullYear(t.getFullYear()-1),[e,new Date(t)]}case"month_to_date":return[new Date(t.getFullYear(),t.getMonth(),1),new Date(t)];case"year_to_date":return[new Date(t.getFullYear(),0,1),new Date(t)];case"next_7_days":{const e=new Date(t);return e.setDate(t.getDate()+6),[new Date(t),e]}case"next_30_days":{const e=new Date(t);return e.setDate(t.getDate()+29),[new Date(t),e]}case"next_3_months":{const e=new Date(t);return e.setMonth(t.getMonth()+3),[new Date(t),e]}case"next_6_months":{const e=new Date(t);return e.setMonth(t.getMonth()+6),[new Date(t),e]}case"next_12_months":{const e=new Date(t);return e.setFullYear(t.getFullYear()+1),[new Date(t),e]}case"rest_of_month":{const e=new Date(t.getFullYear(),t.getMonth()+1,0);return[new Date(t),e]}case"rest_of_year":{const e=new Date(t.getFullYear(),11,31);return[new Date(t),e]}default:return null}})(e);t&&(M(t),null==D||D(t),N(t[0]))}},O=e=>{Array.isArray(e)&&(M(e),Y("custom"),null==D||D(e))},R=e=>{p[0]&&!p[1]&&k(e)},T=()=>{k(null)},$=r((()=>{N((e=>new Date(e.getFullYear(),e.getMonth()+1,1)))}),[]),E=r((()=>{N((e=>new Date(e.getFullYear(),e.getMonth()-1,1)))}),[]);return t("div",{className:"date-range-picker"+(y?` ${y}`:""),children:[a("div",{className:"date-range-picker__presets",children:L.map((e=>a(c,{label:e.label,name:"date-range-preset",value:e.value,checked:f===e.value,onChange:()=>S(e.value)},e.value)))}),t("div",{className:"date-range-picker__main",children:[t("div",{className:"date-range-picker__display",children:[p[0]?C(p[0]):"YYYY/MM/DD"," → ",p[1]?C(p[1]):"YYYY/MM/DD"]}),t("div",{className:"date-range-picker__calendars",children:[t("div",{className:"date-range-picker__header",children:[a("button",{className:"calendar-nav-button",onClick:E,"aria-label":"Previous month",children:a(u,{icon:"chevron-left"})}),a("div",{className:"calendar-title",children:x.toLocaleString("default",{month:"short",year:"numeric"})})]}),t("div",{className:"date-range-picker__header",children:[a("div",{className:"calendar-title",children:j.toLocaleString("default",{month:"short",year:"numeric"})}),a("button",{className:"calendar-nav-button",onClick:$,"aria-label":"Next month",children:a(u,{icon:"chevron-right"})})]}),a(o,Object.assign({mode:"range",value:p,onChange:O,month:x,hideHeader:!0,hideOutsideDays:!0,hoverDate:F,onDayMouseEnter:R,onDayMouseLeave:T},b)),a(o,Object.assign({mode:"range",value:p,onChange:O,month:j,hideHeader:!0,hideOutsideDays:!0,hoverDate:F,onDayMouseEnter:R,onDayMouseLeave:T},b))]})]})]})};export{m as DateRangePicker};
|
|
2
|
+
//# sourceMappingURL=date-range-picker.js.map
|
|
@@ -15,6 +15,17 @@
|
|
|
15
15
|
font-size: 0.875rem;
|
|
16
16
|
font-weight: 500;
|
|
17
17
|
color: hsl(var(--foreground));
|
|
18
|
+
display: flex;
|
|
19
|
+
align-items: center;
|
|
20
|
+
gap: 0.2rem;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.dropdown-info-icon {
|
|
24
|
+
color: hsl(var(--muted-200));
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.dropdown-info-icon:hover {
|
|
28
|
+
color: hsl(var(--primary));
|
|
18
29
|
}
|
|
19
30
|
|
|
20
31
|
.dropdown-clear {
|
|
@@ -36,17 +47,17 @@
|
|
|
36
47
|
width: 100%;
|
|
37
48
|
border-radius: 0.375rem;
|
|
38
49
|
border: 1.5px solid hsl(var(--muted));
|
|
39
|
-
background: hsl(var(--
|
|
40
|
-
transition:
|
|
50
|
+
background: hsl(var(--input));
|
|
51
|
+
transition:
|
|
52
|
+
border-color 0.2s,
|
|
53
|
+
background-color 0.2s;
|
|
41
54
|
}
|
|
42
55
|
|
|
43
56
|
.dropdown-wrapper:not(.dropdown-disabled):not(.dropdown-error):hover {
|
|
44
57
|
border-color: hsl(var(--primary));
|
|
45
58
|
}
|
|
46
59
|
|
|
47
|
-
.dropdown-wrapper.dropdown-focused:not(.dropdown-disabled):not(
|
|
48
|
-
.dropdown-error
|
|
49
|
-
) {
|
|
60
|
+
.dropdown-wrapper.dropdown-focused:not(.dropdown-disabled):not(.dropdown-error) {
|
|
50
61
|
border-color: hsl(var(--primary-300));
|
|
51
62
|
}
|
|
52
63
|
|
|
@@ -90,6 +101,12 @@
|
|
|
90
101
|
white-space: nowrap;
|
|
91
102
|
}
|
|
92
103
|
|
|
104
|
+
.dropdown-value-placeholder {
|
|
105
|
+
color: hsl(var(--muted));
|
|
106
|
+
font-size: 0.875rem;
|
|
107
|
+
font-weight: 400;
|
|
108
|
+
}
|
|
109
|
+
|
|
93
110
|
.dropdown-chevron {
|
|
94
111
|
flex-shrink: 0;
|
|
95
112
|
margin-left: 0.5rem;
|
|
@@ -123,7 +140,7 @@
|
|
|
123
140
|
margin-top: 0.25rem;
|
|
124
141
|
margin-bottom: 0.25rem;
|
|
125
142
|
border-radius: 0.375rem;
|
|
126
|
-
background-color: hsl(var(--
|
|
143
|
+
background-color: hsl(var(--input));
|
|
127
144
|
border: 1px solid hsl(var(--muted));
|
|
128
145
|
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
|
|
129
146
|
max-height: 15rem;
|
|
@@ -196,9 +213,7 @@
|
|
|
196
213
|
transition: all 0.2s;
|
|
197
214
|
}
|
|
198
215
|
|
|
199
|
-
.dropdown-option:hover:not(.dropdown-option-disabled):not(
|
|
200
|
-
.dropdown-option-selected
|
|
201
|
-
) {
|
|
216
|
+
.dropdown-option:hover:not(.dropdown-option-disabled):not(.dropdown-option-selected) {
|
|
202
217
|
background-color: hsl(var(--primary-disabled));
|
|
203
218
|
}
|
|
204
219
|
|
|
@@ -222,13 +237,11 @@
|
|
|
222
237
|
transition: color 0.2s;
|
|
223
238
|
}
|
|
224
239
|
|
|
225
|
-
.dropdown-wrapper:not(.dropdown-disabled):not(.dropdown-error):hover
|
|
226
|
-
+ .dropdown-note {
|
|
240
|
+
.dropdown-wrapper:not(.dropdown-disabled):not(.dropdown-error):hover + .dropdown-note {
|
|
227
241
|
color: hsl(var(--primary));
|
|
228
242
|
}
|
|
229
243
|
|
|
230
|
-
.dropdown-wrapper.dropdown-focused:not(.dropdown-disabled):not(.dropdown-error)
|
|
231
|
-
+ .dropdown-note {
|
|
244
|
+
.dropdown-wrapper.dropdown-focused:not(.dropdown-disabled):not(.dropdown-error) + .dropdown-note {
|
|
232
245
|
color: hsl(var(--primary));
|
|
233
246
|
}
|
|
234
247
|
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import "./dropdown.css";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import type { TooltipPosition } from "../../../types";
|
|
4
|
+
/**
|
|
5
|
+
* One selectable item in a `Dropdown` `options` list.
|
|
6
|
+
*
|
|
7
|
+
* @property {string} label - User-visible text in the list and when selected.
|
|
8
|
+
* @property {string} value - Stable value passed to `onChange`.
|
|
9
|
+
* @property {boolean} [disabled] - When true, the option cannot be selected. Default `false`.
|
|
10
|
+
*/
|
|
11
|
+
export interface DropdownOption {
|
|
12
|
+
label: string;
|
|
13
|
+
value: string;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Props for the `Dropdown` component. **Controlled** via `value` and `onChange`
|
|
18
|
+
* (selected option `value` string, or `undefined` when cleared).
|
|
19
|
+
*
|
|
20
|
+
* @property {DropdownOption[]} options - The full list to render and filter.
|
|
21
|
+
* @property {string|undefined} [value] - Selected option’s `value`, or `undefined` when empty/cleared.
|
|
22
|
+
* @property {(value: string|undefined) => void} [onChange] - Called on select or clear.
|
|
23
|
+
* @property {boolean} [enableSearch] - When true, filters options by a search string. Default `false`.
|
|
24
|
+
* @property {"top"|"bottom"|"auto"} [direction] - Where the panel opens relative to the field. Default `"auto"`.
|
|
25
|
+
*/
|
|
26
|
+
interface DropdownProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "size" | "value" | "onChange"> {
|
|
27
|
+
size?: "sm" | "md" | "lg";
|
|
28
|
+
label?: string;
|
|
29
|
+
showClear?: boolean;
|
|
30
|
+
note?: string;
|
|
31
|
+
error?: string;
|
|
32
|
+
containerClassName?: string;
|
|
33
|
+
options: DropdownOption[];
|
|
34
|
+
placeholder?: string;
|
|
35
|
+
value?: string;
|
|
36
|
+
onChange?: (value: string | undefined) => void;
|
|
37
|
+
enableSearch?: boolean;
|
|
38
|
+
direction?: "top" | "bottom" | "auto";
|
|
39
|
+
arrowClassName?: string;
|
|
40
|
+
tooltip?: string;
|
|
41
|
+
tooltipPosition?: TooltipPosition;
|
|
42
|
+
onOpen?: () => void;
|
|
43
|
+
onClose?: () => void;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Single-select combobox: trigger button, optional in-list search, clear, and field chrome (label, error, note).
|
|
47
|
+
*
|
|
48
|
+
* @param {DropdownProps} props - Controlled `value` / `onChange` and `options` list.
|
|
49
|
+
* @param {React.Ref<HTMLButtonElement>} ref - Reference to the trigger `<button>`.
|
|
50
|
+
* @returns {React.ReactElement} The closed trigger and absolutely positioned list when open.
|
|
51
|
+
*/
|
|
52
|
+
export declare const Dropdown: React.ForwardRefExoticComponent<DropdownProps & React.RefAttributes<HTMLButtonElement>>;
|
|
53
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__rest as o}from"../../../node_modules/tslib/tslib.es6.mjs.js";import{jsxs as e,jsx as n}from"react/jsx-runtime";import"./dropdown.css";import r,{useId as l,useState as a,useRef as d,useMemo as s,useEffect as i}from"react";import{Icon as t}from"../icon/icon.js";import{Input as p}from"../input/input.js";import{useDropdownPosition as c}from"../../../hooks/src/use-dropdown-position.js";import{useClickOutside as m}from"../../../hooks/src/use-click-outside.js";const u=r.forwardRef(((r,u)=>{var{size:w="md",label:h,showClear:b,note:v,error:N="",className:f="",containerClassName:C="",disabled:$,options:g,value:j,onChange:k,placeholder:y="Select an option",enableSearch:x=!1,direction:z="auto",arrowClassName:P="",tooltip:S,tooltipPosition:O="top",onOpen:D,onClose:F}=r,L=o(r,["size","label","showClear","note","error","className","containerClassName","disabled","options","value","onChange","placeholder","enableSearch","direction","arrowClassName","tooltip","tooltipPosition","onOpen","onClose"]);const B=l(),[E,I]=a(!1),[K,R]=a(!1),[_,q]=a(""),A=d(null),G=d(null),H=c(A,E,z),J=g.find((o=>o.value===j)),M=s((()=>x&&_?g.filter((o=>o.label.toLowerCase().includes(_.toLowerCase()))):g),[g,_,x]);m(A,(()=>{E&&(I(!1),q(""),null==F||F())}));const Q=()=>{I(!1),q(""),null==F||F()};i((()=>{E&&x&&G.current&&G.current.focus()}),[E,x]);const T=`${B}-menu`;return e("div",{className:`dropdown-container ${C}`,ref:A,onKeyDown:o=>{"Escape"===o.key&&E&&Q()},children:[(h||b&&j)&&e("div",{className:"dropdown-header",children:[h&&e("label",{htmlFor:B,className:"dropdown-label",children:[h,S&&n(t,{icon:"info",size:16,tooltip:S,className:"dropdown-info-icon",tooltipPosition:O})]}),b&&j&&!$&&n("button",{type:"button",onClick:o=>{o.stopPropagation(),null==k||k(void 0)},className:"dropdown-clear","aria-label":"Clear selection",children:"Clear"})]}),e("div",{className:`dropdown-wrapper ${N?"dropdown-error":""} ${$?"dropdown-disabled":""} ${K?"dropdown-focused":""}`,children:[e("button",Object.assign({id:B,ref:u,type:"button",className:`dropdown dropdown-${w} ${f}`,onClick:()=>E?Q():void($||(I(!0),null==D||D())),onFocus:()=>R(!0),onBlur:()=>R(!1),disabled:$,"aria-expanded":E,"aria-haspopup":"listbox","aria-controls":E?T:void 0},L,{children:[n("span",{className:"dropdown-value"+(J?"":" dropdown-value-placeholder"),children:J?J.label:y}),n(t,{icon:"chevron-down",className:`dropdown-chevron ${E?"dropdown-chevron-open":""} ${P}`})]})),E&&e("div",{id:T,role:"listbox","aria-label":h,className:`dropdown-menu dropdown-menu-${H}`,style:{position:"absolute",["bottom"===H?"top":"bottom"]:"100%",left:0,right:0},children:[x&&n("div",{className:"dropdown-search-wrapper",children:n(p,{ref:G,placeholder:"Search...",size:"sm",value:_,onChange:o=>q(o.target.value),rightIcon:"search"})}),n("div",{className:"dropdown-options-wrapper",children:M.length>0?M.map((o=>n("button",{type:"button",role:"option","aria-selected":o.value===j,className:`dropdown-option ${o.value===j?"dropdown-option-selected":""} ${o.disabled?"dropdown-option-disabled":""}`,onClick:()=>(o=>{o.disabled||(null==k||k(o.value),Q())})(o),disabled:o.disabled,children:o.label},o.value))):n("div",{className:"dropdown-no-options",children:"No options found."})})]})]}),(v||N)&&n("small",{className:N?"dropdown-error-message":"dropdown-note",children:N||v})]})}));u.displayName="Dropdown";export{u as Dropdown};
|
|
2
|
+
//# sourceMappingURL=dropdown.js.map
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
.expandable-search {
|
|
2
|
+
--expandable-search-height: 40px;
|
|
3
|
+
--expandable-search-width: 200px;
|
|
4
|
+
|
|
5
|
+
position: relative;
|
|
6
|
+
width: fit-content;
|
|
7
|
+
overflow: hidden;
|
|
8
|
+
border: 1.5px solid transparent;
|
|
9
|
+
border-radius: var(--radius-md);
|
|
10
|
+
transition:
|
|
11
|
+
border-color 0.2s ease,
|
|
12
|
+
background-color 0.2s ease;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.expandable-search--sm {
|
|
16
|
+
--expandable-search-height: 32px;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.expandable-search--md {
|
|
20
|
+
--expandable-search-height: 40px;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.expandable-search--lg {
|
|
24
|
+
--expandable-search-height: 48px;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.expandable-search--expanded {
|
|
28
|
+
border-color: hsl(var(--primary));
|
|
29
|
+
background: hsl(var(--input));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.expandable-search-container {
|
|
33
|
+
position: relative;
|
|
34
|
+
display: flex;
|
|
35
|
+
align-items: center;
|
|
36
|
+
justify-content: flex-end;
|
|
37
|
+
width: var(--expandable-search-height);
|
|
38
|
+
overflow: hidden;
|
|
39
|
+
border-radius: var(--radius-md);
|
|
40
|
+
transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.expandable-search--expanded .expandable-search-container {
|
|
44
|
+
width: calc(
|
|
45
|
+
var(--expandable-search-width) + var(--expandable-search-height)
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.expandable-search-button {
|
|
50
|
+
display: inline-flex;
|
|
51
|
+
align-items: center;
|
|
52
|
+
justify-content: center;
|
|
53
|
+
flex-shrink: 0;
|
|
54
|
+
width: var(--expandable-search-height);
|
|
55
|
+
height: var(--expandable-search-height);
|
|
56
|
+
padding: 0;
|
|
57
|
+
border: none;
|
|
58
|
+
border-radius: var(--radius-md);
|
|
59
|
+
background: transparent;
|
|
60
|
+
color: hsl(var(--primary));
|
|
61
|
+
cursor: pointer;
|
|
62
|
+
position: relative;
|
|
63
|
+
z-index: 2;
|
|
64
|
+
transition:
|
|
65
|
+
background-color 0.2s ease,
|
|
66
|
+
color 0.2s ease;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.expandable-search-button:hover {
|
|
70
|
+
background-color: hsl(var(--primary-disabled));
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.expandable-search-button:focus-visible {
|
|
74
|
+
outline: 2px solid hsl(var(--primary));
|
|
75
|
+
outline-offset: 2px;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.expandable-search--expanded .expandable-search-button:hover {
|
|
79
|
+
background-color: transparent;
|
|
80
|
+
color: hsl(var(--primary-300));
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.expandable-search-input {
|
|
84
|
+
position: absolute;
|
|
85
|
+
top: 0;
|
|
86
|
+
right: var(--expandable-search-height);
|
|
87
|
+
width: var(--expandable-search-width);
|
|
88
|
+
height: var(--expandable-search-height);
|
|
89
|
+
padding: 0 0.875rem;
|
|
90
|
+
margin: 0;
|
|
91
|
+
border: none;
|
|
92
|
+
outline: none;
|
|
93
|
+
background: transparent;
|
|
94
|
+
color: hsl(var(--foreground));
|
|
95
|
+
font-size: 0.875rem;
|
|
96
|
+
font-family: inherit;
|
|
97
|
+
transform: translateX(100%);
|
|
98
|
+
opacity: 0;
|
|
99
|
+
visibility: hidden;
|
|
100
|
+
pointer-events: none;
|
|
101
|
+
transition:
|
|
102
|
+
transform 0.1s cubic-bezier(0.4, 0, 0.2, 1),
|
|
103
|
+
opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),
|
|
104
|
+
visibility 0s linear 0.3s;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.expandable-search-input::placeholder {
|
|
108
|
+
color: hsl(var(--muted));
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.expandable-search--expanded .expandable-search-input {
|
|
112
|
+
transform: translateX(0);
|
|
113
|
+
opacity: 1;
|
|
114
|
+
visibility: visible;
|
|
115
|
+
pointer-events: all;
|
|
116
|
+
transition:
|
|
117
|
+
transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) 0.1s,
|
|
118
|
+
opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1) 0.1s,
|
|
119
|
+
visibility 0s linear 0.1s;
|
|
120
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import "./expandable-search.css";
|
|
2
|
+
/**
|
|
3
|
+
* Props for `ExpandableSearch`.
|
|
4
|
+
*
|
|
5
|
+
* @property {"sm"|"md"|"lg"} [size] - Trigger and expanded field height. Default `"md"`.
|
|
6
|
+
* @property {string} [value] - Controlled value. When provided, the parent owns state.
|
|
7
|
+
* @property {string} [defaultValue] - Initial value when uncontrolled. Default `""`.
|
|
8
|
+
* @property {boolean} [defaultExpanded] - Initial expanded state when uncontrolled. Default `false`.
|
|
9
|
+
* @property {string} [placeholder] - Input placeholder. Default `"Search..."`.
|
|
10
|
+
* @property {number} [expandedWidth] - Width of the input area in px when expanded. Default `200`.
|
|
11
|
+
* @property {(value: string) => void} [onChange] - Fires on each keystroke with the new value.
|
|
12
|
+
* @property {(expanded: boolean) => void} [onExpandedChange] - Fires when expanded state changes.
|
|
13
|
+
* @property {string} [className] - Extra class names on the wrapper.
|
|
14
|
+
* @property {string} [openAriaLabel] - Aria label for the trigger when collapsed. Default `"Open search"`.
|
|
15
|
+
* @property {string} [closeAriaLabel] - Aria label for the trigger when expanded. Default `"Close search"`.
|
|
16
|
+
*/
|
|
17
|
+
interface ExpandableSearchProps {
|
|
18
|
+
size?: "sm" | "md" | "lg";
|
|
19
|
+
value?: string;
|
|
20
|
+
defaultValue?: string;
|
|
21
|
+
defaultExpanded?: boolean;
|
|
22
|
+
placeholder?: string;
|
|
23
|
+
expandedWidth?: number;
|
|
24
|
+
onChange?: (value: string) => void;
|
|
25
|
+
onExpandedChange?: (expanded: boolean) => void;
|
|
26
|
+
className?: string;
|
|
27
|
+
openAriaLabel?: string;
|
|
28
|
+
closeAriaLabel?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Icon-only search trigger that expands into an inline input on click.
|
|
32
|
+
*
|
|
33
|
+
* Collapses automatically when the user clicks outside while the input is empty.
|
|
34
|
+
* Toggling while expanded clears the value. Supports controlled or uncontrolled value.
|
|
35
|
+
*
|
|
36
|
+
* @param {ExpandableSearchProps} props - Controlled/uncontrolled value and presentation.
|
|
37
|
+
* @returns {JSX.Element} A pill-shaped wrapper containing the input and toggle button.
|
|
38
|
+
*/
|
|
39
|
+
export declare const ExpandableSearch: ({ size, value, defaultValue, defaultExpanded, placeholder, expandedWidth, onChange, onExpandedChange, className, openAriaLabel, closeAriaLabel, }: ExpandableSearchProps) => JSX.Element;
|
|
40
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as e,jsxs as a}from"react/jsx-runtime";import"./expandable-search.css";import{useState as n,useRef as l,useEffect as r}from"react";import{Icon as o}from"../icon/icon.js";import{useClickOutside as s}from"../../../hooks/src/use-click-outside.js";const c=({size:c="md",value:d,defaultValue:t="",defaultExpanded:i=!1,placeholder:p="Search...",expandedWidth:h=200,onChange:u,onExpandedChange:m,className:x="",openAriaLabel:b="Open search",closeAriaLabel:f="Close search"})=>{const v=void 0!==d,[g,C]=n(t),[N,j]=n(i),k=l(null),y=l(null),z=v?d:g,A=e=>{v||C(e),null==u||u(e)},E=e=>{j(e),null==m||m(e)};s(k,(()=>{N&&!z&&E(!1)})),r((()=>{var e;N&&(null===(e=y.current)||void 0===e||e.focus())}),[N]);const L=["expandable-search",`expandable-search--${c}`,N?"expandable-search--expanded":"",x].filter(Boolean).join(" ");return e("div",{ref:k,className:L,style:{"--expandable-search-width":`${h}px`},children:a("div",{className:"expandable-search-container",children:[e("input",{ref:y,type:"text",value:z,onChange:e=>{A(e.target.value)},placeholder:p,className:"expandable-search-input",tabIndex:N?0:-1,"aria-hidden":!N||void 0}),e("button",{type:"button",onClick:()=>{if(N)return A(""),void E(!1);E(!0)},className:"expandable-search-button","aria-label":N?f:b,"aria-expanded":N,children:e(o,{icon:N?"close":"search",size:{sm:14,md:16,lg:18}[c]})})]})})};export{c as ExpandableSearch};
|
|
2
|
+
//# sourceMappingURL=expandable-search.js.map
|
|
@@ -31,24 +31,24 @@
|
|
|
31
31
|
color: hsl(var(--primary));
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
/* Row immediately before an expanded row: bottom border primary (forms top edge of expanded block) */
|
|
35
34
|
.expandable-table tbody tr:has(+ tr.expanded-row) td {
|
|
36
35
|
border-bottom-color: hsl(var(--primary));
|
|
37
36
|
}
|
|
38
37
|
|
|
39
|
-
/* Expanded main row: no vertical borders between cells; only outer left/right and top/bottom */
|
|
40
38
|
.expandable-table tr.expanded-row td {
|
|
41
39
|
border-bottom: 1px solid hsl(var(--primary));
|
|
42
40
|
border-left: none;
|
|
43
41
|
border-right: none;
|
|
44
42
|
}
|
|
43
|
+
|
|
45
44
|
.expandable-table tr.expanded-row td:first-child {
|
|
46
45
|
border-left: 1px solid hsl(var(--primary));
|
|
47
46
|
}
|
|
47
|
+
|
|
48
48
|
.expandable-table tr.expanded-row td:last-child {
|
|
49
49
|
border-right: 1px solid hsl(var(--primary));
|
|
50
50
|
}
|
|
51
|
-
|
|
51
|
+
|
|
52
52
|
.expandable-table tbody tr.expanded-row td {
|
|
53
53
|
border-top: 1px solid hsl(var(--primary));
|
|
54
54
|
}
|
|
@@ -61,17 +61,15 @@
|
|
|
61
61
|
padding: 1rem;
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
/* Expandable content row: primary border on all sides (divider above + bottom/left/right) */
|
|
65
64
|
.expandable-table .expandable-row td {
|
|
66
65
|
padding: 0;
|
|
67
66
|
border: 1px solid hsl(var(--primary));
|
|
68
67
|
}
|
|
69
|
-
|
|
68
|
+
|
|
70
69
|
.expandable-table tbody tr.expandable-row:last-child td {
|
|
71
70
|
border-bottom: 1px solid hsl(var(--primary));
|
|
72
71
|
}
|
|
73
72
|
|
|
74
|
-
/* Animation for expanding/collapsing rows */
|
|
75
73
|
.expandable-table .expandable-row {
|
|
76
74
|
transition: all 0.3s ease-in-out;
|
|
77
75
|
}
|