h2o-library 1.7.1 → 2.0.0
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 +74 -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 +36 -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-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 +36 -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-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 +36 -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/{css/src → esm/components/src/expandable-table}/expandable-table.css +27 -10
- 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 +47 -7
- 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 +36 -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-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 +36 -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-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 +36 -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-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 +66 -6
- 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 -26
- package/dist/components/src/chart-heatmap.d.ts +0 -20
- package/dist/components/src/chart-line.d.ts +0 -25
- package/dist/components/src/chart-pie.d.ts +0 -16
- 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 -39
- package/dist/components/src/expandable.d.ts +0 -9
- package/dist/components/src/icon.d.ts +0 -9
- 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 -18
- package/dist/css/index.css +0 -1
- package/dist/css/src/chart.css +0 -76
- package/dist/css/src/charts.css +0 -136
- 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 -26
- package/dist/esm/components/src/chart-heatmap.d.ts +0 -20
- package/dist/esm/components/src/chart-line.d.ts +0 -25
- package/dist/esm/components/src/chart-pie.d.ts +0 -16
- 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 -39
- package/dist/esm/components/src/expandable.d.ts +0 -9
- package/dist/esm/components/src/icon.d.ts +0 -9
- 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 -18
- package/dist/esm/css/index.css +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/index.cjs.js.map +0 -1
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
align-items: center;
|
|
7
7
|
justify-content: center;
|
|
8
8
|
z-index: 500;
|
|
9
|
+
padding: 1rem;
|
|
9
10
|
animation: overlayShow 0.15s ease-out;
|
|
10
11
|
}
|
|
11
12
|
|
|
@@ -14,14 +15,32 @@
|
|
|
14
15
|
border-radius: 0.5rem;
|
|
15
16
|
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
|
|
16
17
|
max-height: 85vh;
|
|
18
|
+
width: 100%;
|
|
19
|
+
display: flex;
|
|
20
|
+
flex-direction: column;
|
|
17
21
|
animation: modalShow 0.3s cubic-bezier(0.16, 1, 0.3, 1);
|
|
18
22
|
}
|
|
19
23
|
|
|
24
|
+
/* ── Size variants ── */
|
|
25
|
+
|
|
26
|
+
.modal--sm {
|
|
27
|
+
max-width: 24rem;
|
|
28
|
+
}
|
|
29
|
+
.modal--md {
|
|
30
|
+
max-width: 32rem;
|
|
31
|
+
}
|
|
32
|
+
.modal--lg {
|
|
33
|
+
max-width: 48rem;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/* ── Header ── */
|
|
37
|
+
|
|
20
38
|
.modal-header {
|
|
21
39
|
display: flex;
|
|
22
40
|
justify-content: space-between;
|
|
23
41
|
align-items: flex-start;
|
|
24
42
|
padding: 1.5rem;
|
|
43
|
+
flex-shrink: 0;
|
|
25
44
|
}
|
|
26
45
|
|
|
27
46
|
.modal-title-container {
|
|
@@ -57,12 +76,27 @@
|
|
|
57
76
|
color: hsl(var(--primary));
|
|
58
77
|
}
|
|
59
78
|
|
|
79
|
+
/* ── Content ── */
|
|
80
|
+
|
|
60
81
|
.modal-content {
|
|
61
|
-
padding: 1.5rem;
|
|
82
|
+
padding: 0 1.5rem 1.5rem;
|
|
62
83
|
overflow-y: auto;
|
|
63
|
-
|
|
84
|
+
flex: 1;
|
|
64
85
|
}
|
|
65
86
|
|
|
87
|
+
/* ── Footer ── */
|
|
88
|
+
|
|
89
|
+
.modal-footer {
|
|
90
|
+
display: flex;
|
|
91
|
+
justify-content: flex-end;
|
|
92
|
+
gap: 0.5rem;
|
|
93
|
+
padding: 1rem 1.5rem 1.5rem;
|
|
94
|
+
border-top: 1px solid hsl(var(--muted) / 0.3);
|
|
95
|
+
flex-shrink: 0;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/* ── Animations ── */
|
|
99
|
+
|
|
66
100
|
@keyframes overlayShow {
|
|
67
101
|
from {
|
|
68
102
|
opacity: 0;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import "./modal.css";
|
|
2
|
+
import type React from "react";
|
|
3
|
+
/**
|
|
4
|
+
* Modal dialog: **controlled** by `isOpen`; optional `onClose` for overlay/Escape/close button.
|
|
5
|
+
*
|
|
6
|
+
* @property {boolean} isOpen - Renders the portal and trap when `true`.
|
|
7
|
+
* @property {() => void} [onClose] - If omitted, the header close is hidden / no-op depending on design.
|
|
8
|
+
* @property {React.ReactNode} children - Primary dialog body.
|
|
9
|
+
* @property {React.ReactNode} [footer] - Sticky action row below the body.
|
|
10
|
+
* @property {"sm"|"md"|"lg"} [size] - Max width of the card. Default `"md"`.
|
|
11
|
+
*/
|
|
12
|
+
interface ModalProps {
|
|
13
|
+
isOpen: boolean;
|
|
14
|
+
onClose?: () => void;
|
|
15
|
+
title?: string;
|
|
16
|
+
description?: string;
|
|
17
|
+
children: React.ReactNode;
|
|
18
|
+
footer?: React.ReactNode;
|
|
19
|
+
size?: "sm" | "md" | "lg";
|
|
20
|
+
className?: string;
|
|
21
|
+
titleContainerClassName?: string;
|
|
22
|
+
titleClassName?: string;
|
|
23
|
+
descriptionClassName?: string;
|
|
24
|
+
closeButtonClassName?: string;
|
|
25
|
+
headerClassName?: string;
|
|
26
|
+
contentClassName?: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Centered overlay card with `role="dialog"`, focus trap, and optional title/description slots.
|
|
30
|
+
*
|
|
31
|
+
* @param {object} props - `isOpen` and content slots; BEM `className` parts for theming.
|
|
32
|
+
* @returns {JSX.Element | null} The dialog portal when `isOpen`, else `null`.
|
|
33
|
+
*/
|
|
34
|
+
export declare const Modal: ({ isOpen, onClose, title, description, children, footer, size, className, titleContainerClassName, titleClassName, descriptionClassName, closeButtonClassName, headerClassName, contentClassName, }: ModalProps) => React.ReactPortal | null;
|
|
35
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as e,jsxs as o}from"react/jsx-runtime";import"./modal.css";import{useRef as l,useEffect as a}from"react";import{createPortal as t}from"react-dom";import{Button as s}from"../button/button.js";import{useFocusTrap as r}from"../../../hooks/src/use-focus-trap.js";let d=0;const n=({isOpen:n,onClose:i,title:m,description:c,children:u,footer:N,size:v="md",className:h="",titleContainerClassName:p="",titleClassName:y="",descriptionClassName:f="",closeButtonClassName:C="",headerClassName:b="",contentClassName:$=""})=>{const k=l(null),w=l("modal-title-"+ ++d).current;return r(k,n),a((()=>{const e=e=>{"Escape"===e.key&&n&&i&&i()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)}),[n,i]),a((()=>{if(n){const e=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}}}),[n]),n?t(e("div",{className:"modal-overlay",children:o("div",{ref:k,role:"dialog","aria-modal":"true","aria-labelledby":m?w:void 0,className:`modal modal--${v}${h?` ${h}`:""}`,children:[o("div",{className:"modal-header"+(b?` ${b}`:""),children:[o("div",{className:"modal-title-container"+(p?` ${p}`:""),children:[m&&e("h2",{id:w,className:"modal-title"+(y?` ${y}`:""),children:m}),c&&e("p",{className:"modal-description"+(f?` ${f}`:""),children:c})]}),i&&e(s,{variant:"secondary",size:"sm",onClick:i,className:"modal-close"+(C?` ${C}`:""),"aria-label":"Close modal",icon:"close",iconOnly:!0})]}),e("div",{className:"modal-content"+($?` ${$}`:""),children:u}),N&&e("div",{className:"modal-footer",children:N})]})}),document.body):null};export{n as Modal};
|
|
2
|
+
//# sourceMappingURL=modal.js.map
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import "./month-calendar.css";
|
|
2
|
+
/**
|
|
3
|
+
* Month/year picker: grid of 12 months or a decade of years; no day-level selection.
|
|
4
|
+
*
|
|
5
|
+
* @property {Date} [value] - Optional controlled selection (month precision; only month/year are meaningful).
|
|
6
|
+
* @property {(value: Date) => void} [onChange] - Fires with the first day of the selected month.
|
|
7
|
+
* @property {Date} [minDate] - Inclusive lower bound; whole months before this are disabled.
|
|
8
|
+
* @property {Date} [maxDate] - Inclusive upper bound; months after are disabled.
|
|
9
|
+
* @property {Date[]} [disabledDates] - Extra disabled calendar days; months with only disabled coverage may be limited by implementation.
|
|
10
|
+
* @property {(year: number) => void} [onYearChange] - Fires when the user navigates to another year in month view.
|
|
11
|
+
*/
|
|
12
|
+
interface MonthCalendarProps {
|
|
13
|
+
value?: Date;
|
|
14
|
+
onChange?: (value: Date) => void;
|
|
15
|
+
minDate?: Date;
|
|
16
|
+
maxDate?: Date;
|
|
17
|
+
disabledDates?: Date[];
|
|
18
|
+
onYearChange?: (year: number) => void;
|
|
19
|
+
className?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Browses years and months in two views; enforces `minDate` / `maxDate` and optional `disabledDates`.
|
|
23
|
+
*
|
|
24
|
+
* @param {MonthCalendarProps} props - Value, change handler, and bounds.
|
|
25
|
+
* @returns {JSX.Element} The month/year navigation UI and grid.
|
|
26
|
+
*/
|
|
27
|
+
declare const MonthCalendar: ({ value, onChange, minDate, maxDate, onYearChange, className, }: MonthCalendarProps) => JSX.Element;
|
|
28
|
+
export { MonthCalendar };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsxs as e,jsx as a}from"react/jsx-runtime";import"./month-calendar.css";import n,{useState as t,useCallback as r}from"react";import{Icon as l}from"../icon/icon.js";const o=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],c=({value:e,currentYear:n,isMonthDisabled:t,onMonthSelect:r})=>a("div",{className:"month-calendar-grid","data-view":"months",children:o.map(((l,o)=>{const c=void 0!==e&&e.getFullYear()===n&&e.getMonth()===o,s=t(o);return a("button",{className:`month-calendar-item ${c?"selected":""} ${s?"disabled":""}`,onClick:()=>r(o),disabled:s,"aria-label":`${new Date(n,o,1).toLocaleString("default",{month:"long"})} ${n}`,children:l},l)}))}),s=({value:e,startYear:n,isYearDisabled:t,onYearSelect:r})=>{const l=Array.from({length:10},((e,a)=>n+a));return a("div",{className:"month-calendar-grid","data-view":"years",children:l.map((n=>{const l=void 0!==e&&e.getFullYear()===n,o=t(n);return a("button",{className:`month-calendar-item ${l?"selected":""} ${o?"disabled":""}`,onClick:()=>r(n),disabled:o,"aria-label":String(n),children:n},n)}))})},i=({value:o,onChange:i,minDate:d,maxDate:m,onYearChange:h,className:u})=>{var v;const[b,g]=t(null!==(v=null==o?void 0:o.getFullYear())&&void 0!==v?v:(new Date).getFullYear()),[D,Y]=t("months");n.useEffect((()=>{void 0!==o&&g(o.getFullYear())}),[o]);const f=r((e=>{if(!d&&!m)return!1;const a=new Date(b,e,1),n=new Date(b,e+1,0);return!!(d&&n<d)||!!(m&&a>m)}),[b,d,m]),N=r((e=>{if(!d&&!m)return!1;const a=new Date(e,0,1),n=new Date(e,11,31);return!!(d&&n<d)||!!(m&&a>m)}),[d,m]),p=r((()=>{if("months"===D){const e=b-1;g(e),null==h||h(e)}else g((e=>e-10))}),[D,b,h]),w=r((()=>{if("months"===D){const e=b+1;g(e),null==h||h(e)}else g((e=>e+10))}),[D,b,h]),$=r((()=>{Y((e=>"months"===e?"years":"months"))}),[]),M=r((e=>{f(e)||null==i||i(new Date(b,e,1))}),[b,f,i]),C=r((e=>{N(e)||(g(e),Y("months"),null==h||h(e))}),[N,h]),[S,y]=(e=>{const a=10*Math.floor(e/10);return[a,a+9]})(b);return e("div",{className:"month-calendar-container"+(u?` ${u}`:""),children:[e("div",{className:"month-calendar-header",children:[a("button",{className:"month-calendar-nav-button",onClick:p,"aria-label":"months"===D?"Previous year":"Previous decade",children:a(l,{icon:"chevron-left"})}),a("button",{className:"month-calendar-title",onClick:$,children:"months"===D?b:`${S} – ${y}`}),a("button",{className:"month-calendar-nav-button",onClick:w,"aria-label":"months"===D?"Next year":"Next decade",children:a(l,{icon:"chevron-right"})})]}),"months"===D?a(c,{value:o,currentYear:b,isMonthDisabled:f,onMonthSelect:M}):a(s,{value:o,startYear:S,isYearDisabled:N,onYearSelect:C})]})};export{i as MonthCalendar};
|
|
2
|
+
//# sourceMappingURL=month-calendar.js.map
|
|
@@ -1,52 +1,34 @@
|
|
|
1
|
-
/* src/styles/src/multi-menu.css */
|
|
2
1
|
.multi-menu-container {
|
|
3
|
-
display: flex;
|
|
2
|
+
display: inline-flex;
|
|
4
3
|
flex-direction: column;
|
|
5
|
-
gap: 0.375rem;
|
|
6
|
-
width: 100%;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
.multi-menu-label {
|
|
10
|
-
font-size: 0.875rem;
|
|
11
|
-
font-weight: 500;
|
|
12
|
-
color: hsl(var(--foreground));
|
|
13
4
|
}
|
|
14
5
|
|
|
15
6
|
.multi-menu-trigger-wrapper {
|
|
16
7
|
position: relative;
|
|
17
8
|
display: flex;
|
|
18
|
-
width: 100%;
|
|
19
9
|
border-radius: 0.375rem;
|
|
20
10
|
border: 1.5px solid hsl(var(--muted));
|
|
21
|
-
background: hsl(var(--
|
|
22
|
-
transition:
|
|
11
|
+
background: hsl(var(--input));
|
|
12
|
+
transition:
|
|
13
|
+
border-color 0.2s,
|
|
14
|
+
background-color 0.2s;
|
|
23
15
|
}
|
|
24
16
|
|
|
25
|
-
.multi-menu-trigger-wrapper:not(.multi-menu-disabled):
|
|
17
|
+
.multi-menu-trigger-wrapper:not(.multi-menu-disabled):hover {
|
|
26
18
|
border-color: hsl(var(--primary));
|
|
27
19
|
}
|
|
28
20
|
|
|
29
|
-
.multi-menu-trigger-wrapper
|
|
30
|
-
.multi-menu-error
|
|
31
|
-
) {
|
|
21
|
+
.multi-menu-trigger-wrapper:not(.multi-menu-disabled):focus-within {
|
|
32
22
|
border-color: hsl(var(--primary-300));
|
|
33
23
|
}
|
|
34
24
|
|
|
35
|
-
.multi-menu-trigger-wrapper.multi-menu-error {
|
|
36
|
-
border-color: hsl(var(--destructive));
|
|
37
|
-
background-color: hsl(var(--destructive-bg) / 0.3);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
.multi-menu-trigger-wrapper.multi-menu-error:hover,
|
|
41
|
-
.multi-menu-trigger-wrapper.multi-menu-error.multi-menu-focused {
|
|
42
|
-
border-color: hsl(var(--destructive));
|
|
43
|
-
}
|
|
44
|
-
|
|
45
25
|
.multi-menu-trigger-wrapper.multi-menu-disabled {
|
|
46
26
|
opacity: 0.5;
|
|
47
27
|
cursor: not-allowed;
|
|
48
28
|
}
|
|
49
29
|
|
|
30
|
+
/* ── Trigger button ── */
|
|
31
|
+
|
|
50
32
|
.multi-menu-trigger {
|
|
51
33
|
width: 100%;
|
|
52
34
|
display: flex;
|
|
@@ -84,11 +66,21 @@
|
|
|
84
66
|
transform: rotate(180deg);
|
|
85
67
|
}
|
|
86
68
|
|
|
87
|
-
.multi-menu-trigger-sm {
|
|
88
|
-
|
|
89
|
-
|
|
69
|
+
.multi-menu-trigger-sm {
|
|
70
|
+
height: 2rem;
|
|
71
|
+
font-size: 0.875rem;
|
|
72
|
+
}
|
|
73
|
+
.multi-menu-trigger-md {
|
|
74
|
+
height: 2.5rem;
|
|
75
|
+
font-size: 1rem;
|
|
76
|
+
}
|
|
77
|
+
.multi-menu-trigger-lg {
|
|
78
|
+
height: 3rem;
|
|
79
|
+
font-size: 1.125rem;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/* ── Cascading panels ── */
|
|
90
83
|
|
|
91
|
-
/* Menu panels */
|
|
92
84
|
.multi-menu-panels {
|
|
93
85
|
position: absolute;
|
|
94
86
|
top: 100%;
|
|
@@ -99,6 +91,12 @@
|
|
|
99
91
|
z-index: 50;
|
|
100
92
|
}
|
|
101
93
|
|
|
94
|
+
.multi-menu-panels-flip {
|
|
95
|
+
left: auto;
|
|
96
|
+
right: 0;
|
|
97
|
+
flex-direction: row-reverse;
|
|
98
|
+
}
|
|
99
|
+
|
|
102
100
|
.multi-menu-panel {
|
|
103
101
|
padding: 0.25rem;
|
|
104
102
|
border-radius: 0.375rem;
|
|
@@ -126,6 +124,13 @@
|
|
|
126
124
|
margin-left: 0.25rem;
|
|
127
125
|
}
|
|
128
126
|
|
|
127
|
+
.multi-menu-panels-flip .multi-menu-panel + .multi-menu-panel {
|
|
128
|
+
margin-left: 0;
|
|
129
|
+
margin-right: 0.25rem;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/* ── Menu items ── */
|
|
133
|
+
|
|
129
134
|
.multi-menu-option {
|
|
130
135
|
width: 100%;
|
|
131
136
|
display: flex;
|
|
@@ -139,11 +144,13 @@
|
|
|
139
144
|
text-align: left;
|
|
140
145
|
cursor: pointer;
|
|
141
146
|
border-radius: 0.25rem;
|
|
142
|
-
transition:
|
|
147
|
+
transition: background-color 0.15s;
|
|
143
148
|
white-space: nowrap;
|
|
149
|
+
outline: none;
|
|
144
150
|
}
|
|
145
151
|
|
|
146
|
-
.multi-menu-option:hover:not(.multi-menu-option-disabled)
|
|
152
|
+
.multi-menu-option:hover:not(.multi-menu-option-disabled),
|
|
153
|
+
.multi-menu-option:focus:not(.multi-menu-option-disabled) {
|
|
147
154
|
background-color: hsl(var(--primary-disabled));
|
|
148
155
|
}
|
|
149
156
|
|
|
@@ -167,24 +174,3 @@
|
|
|
167
174
|
flex-shrink: 0;
|
|
168
175
|
color: hsl(var(--muted-200));
|
|
169
176
|
}
|
|
170
|
-
|
|
171
|
-
.multi-menu-note {
|
|
172
|
-
font-size: 0.875rem;
|
|
173
|
-
color: hsl(var(--muted-200));
|
|
174
|
-
transition: color 0.2s;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
.multi-menu-trigger-wrapper:not(.multi-menu-disabled):not(.multi-menu-error):hover
|
|
178
|
-
+ .multi-menu-note {
|
|
179
|
-
color: hsl(var(--primary));
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
.multi-menu-trigger-wrapper.multi-menu-focused:not(.multi-menu-disabled):not(.multi-menu-error)
|
|
183
|
-
+ .multi-menu-note {
|
|
184
|
-
color: hsl(var(--primary));
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
.multi-menu-error-message {
|
|
188
|
-
font-size: 0.875rem;
|
|
189
|
-
color: hsl(var(--destructive));
|
|
190
|
-
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import "./multi-menu.css";
|
|
2
|
+
import React from "react";
|
|
3
|
+
/**
|
|
4
|
+
* One node in a nested `MultiMenu` tree (siblings at the same level need unique `value`s).
|
|
5
|
+
*
|
|
6
|
+
* @property {string} label - Menu row label.
|
|
7
|
+
* @property {string} value - Stable id; must be unique among siblings.
|
|
8
|
+
* @property {() => void} [onClick] - Fires when a leaf (no `subItems`) is activated; skipped when `subItems` exist.
|
|
9
|
+
* @property {MultiMenuItem[]} [subItems] - If present, opens a sub-panel with these entries.
|
|
10
|
+
*/
|
|
11
|
+
export interface MultiMenuItem {
|
|
12
|
+
label: string;
|
|
13
|
+
value: string;
|
|
14
|
+
onClick?: () => void;
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
subItems?: MultiMenuItem[];
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Hierarchical “overflow” / actions menu: trigger button and cascading flyouts from `items`.
|
|
20
|
+
* Extends `HTMLButtonElement` attributes except `size` (use design-system `size` instead).
|
|
21
|
+
*
|
|
22
|
+
* @property {MultiMenuItem[]} items - Top-level item tree.
|
|
23
|
+
* @property {string} [label] - Trigger button text. Default `"Options"`.
|
|
24
|
+
*/
|
|
25
|
+
interface MultiMenuProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "size"> {
|
|
26
|
+
size?: "sm" | "md" | "lg";
|
|
27
|
+
label?: string;
|
|
28
|
+
containerClassName?: string;
|
|
29
|
+
items: MultiMenuItem[];
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Renders a menu trigger and nested panels; supports keyboard navigation and click-outside close.
|
|
33
|
+
*
|
|
34
|
+
* @param {MultiMenuProps} props - Tree in `items` and trigger props.
|
|
35
|
+
* @param {React.Ref<HTMLButtonElement>} ref - For the top-level menu trigger.
|
|
36
|
+
* @returns {React.ReactElement} Markup for the trigger and any open flyout(s).
|
|
37
|
+
*/
|
|
38
|
+
export declare const MultiMenu: React.ForwardRefExoticComponent<MultiMenuProps & React.RefAttributes<HTMLButtonElement>>;
|
|
39
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__rest as e}from"../../../node_modules/tslib/tslib.es6.mjs.js";import{jsx as l,jsxs as t}from"react/jsx-runtime";import"./multi-menu.css";import n,{useState as i,useRef as u,useEffect as r,useCallback as o}from"react";import{Icon as s}from"../icon/icon.js";import{useClickOutside as a}from"../../../hooks/src/use-click-outside.js";const c=n.forwardRef(((n,c)=>{var{size:m="md",label:d="Options",className:v="",containerClassName:p="",disabled:b,items:f}=n,h=e(n,["size","label","className","containerClassName","disabled","items"]);const[g,y]=i(!1),[k,N]=i([]),[w,S]=i(!1),A=u(null);a(A,(()=>{g&&(y(!1),N([]))})),r((()=>{if(!g)return;const e=setTimeout((()=>{var e;const l=null===(e=A.current)||void 0===e?void 0:e.querySelector('[role="menu"]'),t=null==l?void 0:l.querySelector('[role="menuitem"]:not([disabled])');null==t||t.focus()}),0);return()=>clearTimeout(e)}),[g]);const D=o(((e,l)=>{var t;if(!e.disabled)if(e.subItems){const t=k.slice(0,l);k[l]===e.value?N(t):N([...t,e.value])}else null===(t=e.onClick)||void 0===t||t.call(e),y(!1),N([])}),[k]),I=[f];let q=f;for(const e of k){const l=q.find((l=>l.value===e));if(!(null==l?void 0:l.subItems))break;I.push(l.subItems),q=l.subItems}return l("div",{className:"multi-menu-container"+(p?` ${p}`:""),ref:A,onKeyDown:e=>{var l,t,n,i,u;if("Escape"===e.key)return e.preventDefault(),y(!1),N([]),void(null===(t=null===(l=A.current)||void 0===l?void 0:l.querySelector(".multi-menu-trigger"))||void 0===t||t.focus());if(!g)return void("Enter"!==e.key&&" "!==e.key&&"ArrowDown"!==e.key||(e.preventDefault(),y(!0)));const r=k.length,o=null===(n=A.current)||void 0===n?void 0:n.querySelectorAll('[role="menu"]');if(!o||0===o.length)return;const s=o[r];if(!s)return;const a=Array.from(s.querySelectorAll('[role="menuitem"]:not([disabled])')),c=document.activeElement,m=a.indexOf(c);switch(e.key){case"ArrowDown":e.preventDefault();null===(i=a[m<0?0:(m+1)%a.length])||void 0===i||i.focus();break;case"ArrowUp":e.preventDefault();null===(u=a[m<0?a.length-1:(m-1+a.length)%a.length])||void 0===u||u.focus();break;case"ArrowRight":if(e.preventDefault(),m>=0&&"true"===c.dataset.hasSubmenu){const e=c.dataset.value;N((l=>[...l.slice(0,r),e])),setTimeout((()=>{var e,l;const t=null===(e=A.current)||void 0===e?void 0:e.querySelectorAll('[role="menu"]'),n=null==t?void 0:t[r+1],i=null==n?void 0:n.querySelectorAll('[role="menuitem"]:not([disabled])');null===(l=null==i?void 0:i[0])||void 0===l||l.focus()}),0)}break;case"ArrowLeft":if(e.preventDefault(),k.length>0){const e=k[k.length-1];N((e=>e.slice(0,-1))),setTimeout((()=>{var l;const t=null===(l=A.current)||void 0===l?void 0:l.querySelector(`[data-value="${CSS.escape(e)}"]`);null==t||t.focus()}),0)}break;case"Enter":case" ":m>=0&&(e.preventDefault(),c.click())}},children:t("div",{className:"multi-menu-trigger-wrapper"+(b?" multi-menu-disabled":""),children:[t("button",Object.assign({ref:c,type:"button",className:`multi-menu-trigger multi-menu-trigger-${m}${v?` ${v}`:""}`,onClick:()=>{var e;if(!b){if(!g){const l=null===(e=A.current)||void 0===e?void 0:e.getBoundingClientRect();S(!!l&&l.left>window.innerWidth/2)}y(!g)}},disabled:b,"aria-haspopup":"menu","aria-expanded":g},h,{children:[l("span",{className:"multi-menu-trigger-value",children:d}),l(s,{icon:"chevron-down",className:"multi-menu-chevron"+(g?" multi-menu-chevron-open":"")})]})),g&&l("div",{className:"multi-menu-panels"+(w?" multi-menu-panels-flip":""),onMouseLeave:e=>{var l;(null===(l=A.current)||void 0===l?void 0:l.contains(e.relatedTarget))||N([])},children:I.map(((e,n)=>l("div",{className:"multi-menu-panel",role:"menu",children:e.map((e=>t("button",{type:"button",role:"menuitem","aria-haspopup":e.subItems?"menu":void 0,"aria-disabled":e.disabled,"data-value":e.value,"data-has-submenu":e.subItems?"true":void 0,className:`multi-menu-option${e.disabled?" multi-menu-option-disabled":""}${k.includes(e.value)&&e.subItems?" multi-menu-option-active":""}`,onClick:()=>D(e,n),onMouseEnter:()=>((e,l)=>{if(e.disabled)return;const t=k.slice(0,l);e.subItems&&t.push(e.value),N(t)})(e,n),disabled:e.disabled,tabIndex:-1,children:[l("span",{className:"multi-menu-option-label",children:e.label}),e.subItems&&l(s,{icon:"chevron-right",className:"multi-menu-option-chevron"})]},e.value)))},n)))})]})})}));c.displayName="MultiMenu";export{c as MultiMenu};
|
|
2
|
+
//# sourceMappingURL=multi-menu.js.map
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
padding: 0.2rem 0.3rem 0.2rem 0.3rem;
|
|
18
18
|
cursor: pointer;
|
|
19
19
|
transition: all 0.2s;
|
|
20
|
+
background-color: hsl(var(--input));
|
|
20
21
|
}
|
|
21
22
|
|
|
22
23
|
.multi-select-trigger-container-open {
|
|
@@ -60,7 +61,8 @@
|
|
|
60
61
|
.multi-select-trigger-placeholder {
|
|
61
62
|
color: hsl(var(--muted));
|
|
62
63
|
font-size: 0.875rem;
|
|
63
|
-
|
|
64
|
+
font-weight: 400;
|
|
65
|
+
padding-left: 0.5rem;
|
|
64
66
|
}
|
|
65
67
|
|
|
66
68
|
.multi-select-trigger-icon {
|
|
@@ -97,7 +99,7 @@
|
|
|
97
99
|
border-radius: 0 0 0.5rem 0.5rem;
|
|
98
100
|
border: 1.5px solid hsl(var(--primary));
|
|
99
101
|
border-top: none;
|
|
100
|
-
background-color: hsl(var(--
|
|
102
|
+
background-color: hsl(var(--input));
|
|
101
103
|
z-index: 100;
|
|
102
104
|
padding: 0.5rem;
|
|
103
105
|
display: flex;
|
|
@@ -121,3 +123,93 @@
|
|
|
121
123
|
max-height: 18rem;
|
|
122
124
|
overflow-y: auto;
|
|
123
125
|
}
|
|
126
|
+
|
|
127
|
+
/* Header */
|
|
128
|
+
.multi-select-header {
|
|
129
|
+
display: flex;
|
|
130
|
+
align-items: center;
|
|
131
|
+
justify-content: space-between;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.multi-select-label {
|
|
135
|
+
font-size: 0.875rem;
|
|
136
|
+
font-weight: 500;
|
|
137
|
+
color: hsl(var(--foreground));
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.multi-select-clear {
|
|
141
|
+
font-size: 0.875rem;
|
|
142
|
+
color: hsl(var(--muted-200));
|
|
143
|
+
background: none;
|
|
144
|
+
border: none;
|
|
145
|
+
cursor: pointer;
|
|
146
|
+
transition: color 0.2s;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.multi-select-clear:hover {
|
|
150
|
+
color: hsl(var(--primary));
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/* Wrapper */
|
|
154
|
+
.multi-select-wrapper {
|
|
155
|
+
position: relative;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/* Counter shown in open state */
|
|
159
|
+
.multi-select-counter {
|
|
160
|
+
font-size: 0.875rem;
|
|
161
|
+
color: hsl(var(--primary));
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/* Overflow ("+N more") display */
|
|
165
|
+
.multi-select-overflow {
|
|
166
|
+
display: flex;
|
|
167
|
+
align-items: center;
|
|
168
|
+
gap: 0.5rem;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.multi-select-overflow-tags {
|
|
172
|
+
display: grid;
|
|
173
|
+
grid-template-columns: repeat(2, 1fr);
|
|
174
|
+
gap: 0.25rem;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/* Size variants for trigger */
|
|
178
|
+
.multi-select-trigger-sm {
|
|
179
|
+
height: 2rem;
|
|
180
|
+
font-size: 0.875rem;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
.multi-select-trigger-md {
|
|
184
|
+
height: 2.5rem;
|
|
185
|
+
font-size: 1rem;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
.multi-select-trigger-lg {
|
|
189
|
+
height: 3rem;
|
|
190
|
+
font-size: 1.125rem;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
/* Disabled state */
|
|
194
|
+
.multi-select-trigger-disabled .multi-select-trigger-container {
|
|
195
|
+
opacity: 0.5;
|
|
196
|
+
cursor: not-allowed;
|
|
197
|
+
pointer-events: none;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
/* Error state */
|
|
201
|
+
.multi-select-trigger-error .multi-select-trigger-container {
|
|
202
|
+
border-color: hsl(var(--destructive));
|
|
203
|
+
background-color: hsl(var(--destructive-bg) / 0.3);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/* Note and error messages */
|
|
207
|
+
.multi-select-note {
|
|
208
|
+
font-size: 0.875rem;
|
|
209
|
+
color: hsl(var(--muted-200));
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
.multi-select-error-message {
|
|
213
|
+
font-size: 0.875rem;
|
|
214
|
+
color: hsl(var(--destructive));
|
|
215
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import "./multi-select.css";
|
|
2
|
+
import React from "react";
|
|
3
|
+
/**
|
|
4
|
+
* A selectable item in the dropdown list; `value` must be unique across `options`.
|
|
5
|
+
* @property {string} label - Shown in the list and in selected tags.
|
|
6
|
+
* @property {string} value - Stable id stored in the selection array.
|
|
7
|
+
*/
|
|
8
|
+
export interface MultiSelectOption {
|
|
9
|
+
label: string;
|
|
10
|
+
value: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* **Controlled** multi-select: `value` is the full set of selected `{ label, value }` objects, not just keys.
|
|
14
|
+
*
|
|
15
|
+
* @property {MultiSelectOption[]} options - Full catalog; filtered when `showSearch` is on.
|
|
16
|
+
* @property {MultiSelectOption[]} value - Current selection (order preserved for tags).
|
|
17
|
+
* @property {(options: MultiSelectOption[]) => void} onChange - Emits the new array on any change.
|
|
18
|
+
* @property {number} [maxSelectedOptions] - Hard cap; further picks are ignored when reached.
|
|
19
|
+
* @property {boolean} [showSearch] - When `true`, shows a search field in the panel. Default `true`.
|
|
20
|
+
* @property {boolean} [showSelectAll] - When `true`, exposes a select-all control in the list. Default `false`.
|
|
21
|
+
*/
|
|
22
|
+
interface MultiSelectProps {
|
|
23
|
+
options: MultiSelectOption[];
|
|
24
|
+
value: MultiSelectOption[];
|
|
25
|
+
onChange: (options: MultiSelectOption[]) => void;
|
|
26
|
+
placeholder?: string;
|
|
27
|
+
label?: string;
|
|
28
|
+
error?: string;
|
|
29
|
+
note?: string;
|
|
30
|
+
disabled?: boolean;
|
|
31
|
+
size?: "sm" | "md" | "lg";
|
|
32
|
+
className?: string;
|
|
33
|
+
containerClassName?: string;
|
|
34
|
+
maxSelectedOptions?: number;
|
|
35
|
+
showClear?: boolean;
|
|
36
|
+
toggleLabel?: string;
|
|
37
|
+
onToggle?: (checked: boolean) => void;
|
|
38
|
+
showSearch?: boolean;
|
|
39
|
+
showSelectAll?: boolean;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Field that opens a list with checkboxes, optional search, select-all, max cap, and selected rows as `Tag`s.
|
|
43
|
+
*
|
|
44
|
+
* @param {MultiSelectProps} props - Controlled `value` / `onChange` plus `options`.
|
|
45
|
+
* @param {React.Ref<HTMLDivElement>} ref - Container ref.
|
|
46
|
+
* @returns {React.ReactElement} Trigger, open panel, and tag stack.
|
|
47
|
+
*/
|
|
48
|
+
export declare const MultiSelect: React.ForwardRefExoticComponent<MultiSelectProps & React.RefAttributes<HTMLDivElement>>;
|
|
49
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsxs as e,jsx as l,Fragment as t}from"react/jsx-runtime";import"./multi-select.css";import a,{useState as s,useId as i,useRef as c,useCallback as o,useMemo as r}from"react";import{Input as n}from"../input/input.js";import{Toggle as m}from"../toggle/toggle.js";import{Checkbox as u}from"../checkbox/checkbox.js";import{Icon as d}from"../icon/icon.js";import{Tag as g}from"../tag/tag.js";import{useClickOutside as h}from"../../../hooks/src/use-click-outside.js";const p=[],v=a.forwardRef((({options:a,value:v=p,onChange:N,placeholder:b,label:f,error:C="",note:k,disabled:w=!1,size:$="md",className:x="",containerClassName:j="",maxSelectedOptions:y,showClear:S,toggleLabel:R,onToggle:D,showSearch:L=!0,showSelectAll:z=!0},A)=>{const[E,I]=s(!1),[M,O]=s(""),K=i(),T=c(null),q=o((e=>{T.current=e,"function"==typeof A?A(e):A&&(A.current=e)}),[A]);h(T,(()=>{E&&(I(!1),O(""))}));const B=e=>{N(v.filter((l=>l.value!==e.value)))},F=r((()=>a.filter((e=>e.label.toLowerCase().includes(M.toLowerCase())))),[a,M]),G=null!=b?b:`Select ${null!=f?f:"options"}`;return e("div",{ref:q,className:`multi-select-container ${j}`,children:[(f||S&&v.length>0)&&e("div",{className:"multi-select-header",children:[f&&l("span",{className:"multi-select-label",children:f}),S&&v.length>0&&!w&&l("button",{type:"button",onClick:()=>N([]),className:"multi-select-clear","aria-label":"Clear selection",children:"Clear"})]}),e("div",{className:`multi-select-wrapper ${C?"multi-select-trigger-error":""} ${w?"multi-select-trigger-disabled":""}`,children:[e("div",{className:`multi-select-trigger-container multi-select-trigger-${$} ${E?"multi-select-trigger-container-open":""} ${x}`,onClick:()=>!w&&I(!E),onKeyDown:e=>{w||("Enter"!==e.key&&" "!==e.key||(e.preventDefault(),I((e=>!e))),"Escape"===e.key&&E&&(e.preventDefault(),I(!1),O("")))},role:"combobox","aria-controls":K,"aria-expanded":E,"aria-haspopup":"listbox",tabIndex:w?-1:0,children:[l("div",{className:"multi-select-trigger",children:E?l("span",{className:"multi-select-counter",children:`${v.length}/${a.length} ${null!=f?f:"selected"}`}):l(t,{children:0===v.length?l("div",{className:"multi-select-trigger-placeholder",children:G}):v.length<=2?v.map((e=>l(g,{label:e.label,onRemove:()=>B(e),className:"multi-select-tag"},e.value))):e("div",{className:"multi-select-overflow",children:[l("div",{className:"multi-select-overflow-tags",children:v.slice(0,2).map((e=>l(g,{label:e.label,onRemove:()=>B(e),className:"multi-select-tag"},e.value)))}),l("span",{className:"multi-select-show-more",children:`+${v.length-2} More`})]})})}),l(d,{icon:"chevron-down",className:"multi-select-trigger-icon "+(E?"multi-select-trigger-icon-open":"")})]}),E&&e("div",{id:K,role:"listbox","aria-label":null!=f?f:"Options",className:"multi-select-options-container",children:[l("div",{className:"multi-select-selected-options-container",children:v.map((e=>l(g,{label:e.label,onRemove:()=>B(e),className:"multi-select-tag"},e.value)))}),L&&l(n,{placeholder:`Search ${null!=f?f:"options"}`,rightIcon:"search",containerClassName:"multi-select-search-input",size:"sm",value:M,onChange:e=>O(e.target.value)}),R&&D&&l(m,{label:R,isCard:!0,className:"multi-select-toggle",onChange:e=>D(e.target.checked)}),z&&l(m,{label:"Select All",isCard:!0,className:"multi-select-toggle",checked:v.length===a.length,onChange:e=>{e.target.checked?(()=>{const e=null!=y?y:a.length;N(a.slice(0,e))})():N([])}}),l("div",{className:"multi-select-options-list",children:F.map((e=>l("div",{className:"multi-select-options-list-item",children:l(u,{label:e.label,checked:v.some((l=>l.value===e.value)),onChange:()=>(e=>{v.some((l=>l.value===e.value))?N(v.filter((l=>l.value!==e.value))):void 0!==y&&v.length>=y||N([...v,e])})(e),className:"multi-select-option",isCard:!0})},e.value)))})]})]}),(k||C)&&l("small",{className:C?"multi-select-error-message":"multi-select-note",children:C||k})]})}));v.displayName="MultiSelect";export{v as MultiSelect};
|
|
2
|
+
//# sourceMappingURL=multi-select.js.map
|
|
@@ -78,3 +78,20 @@
|
|
|
78
78
|
.pagination-page-active:hover {
|
|
79
79
|
background-color: hsl(var(--primary-200)) !important;
|
|
80
80
|
}
|
|
81
|
+
|
|
82
|
+
.pagination-ellipsis {
|
|
83
|
+
min-width: 2rem;
|
|
84
|
+
height: 2rem;
|
|
85
|
+
display: flex;
|
|
86
|
+
align-items: center;
|
|
87
|
+
justify-content: center;
|
|
88
|
+
font-size: 0.875rem;
|
|
89
|
+
color: hsl(var(--muted));
|
|
90
|
+
user-select: none;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.pagination-info {
|
|
94
|
+
font-size: 0.875rem;
|
|
95
|
+
color: hsl(var(--muted-200));
|
|
96
|
+
white-space: nowrap;
|
|
97
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import "./pagination.css";
|
|
2
|
+
/**
|
|
3
|
+
* Page/limit UI: **controlled** `currentPage`, `perPage`, and `totalPages`.
|
|
4
|
+
*
|
|
5
|
+
* @property {number} currentPage - 1-based index of the active page.
|
|
6
|
+
* @property {number} totalPages - Total page count from the server or client math.
|
|
7
|
+
* @property {number} perPage - Rows per page (synced with `Dropdown` for `onPerPageChange`).
|
|
8
|
+
* @property {number} [totalItems] - Optional; shown in the summary line when provided.
|
|
9
|
+
* @property {{label: string, value: number}[]} [perPageOptions] - Dropdown entries; default presets 10–50.
|
|
10
|
+
* @property {(page: number) => void} onPageChange - Called with the new 1-based page.
|
|
11
|
+
* @property {(perPage: number) => void} onPerPageChange - Called when the user changes page size.
|
|
12
|
+
*/
|
|
13
|
+
interface PaginationProps {
|
|
14
|
+
currentPage: number;
|
|
15
|
+
totalPages: number;
|
|
16
|
+
perPage: number;
|
|
17
|
+
totalItems?: number;
|
|
18
|
+
perPageOptions?: {
|
|
19
|
+
label: string;
|
|
20
|
+
value: number;
|
|
21
|
+
}[];
|
|
22
|
+
onPageChange: (page: number) => void;
|
|
23
|
+
onPerPageChange: (perPage: number) => void;
|
|
24
|
+
className?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Renders first/prev/next/last, numeric page window, and a per-page `Dropdown` when `perPageOptions` is set.
|
|
28
|
+
*
|
|
29
|
+
* @param {PaginationProps} props - Page + limit state and handlers.
|
|
30
|
+
* @returns {JSX.Element} The pagination toolbar.
|
|
31
|
+
*/
|
|
32
|
+
export declare function Pagination({ currentPage, totalPages, perPage, totalItems, perPageOptions, onPageChange, onPerPageChange, className, }: PaginationProps): import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsxs as a,jsx as e}from"react/jsx-runtime";import"./pagination.css";import{Dropdown as i}from"../dropdown/dropdown.js";import{Icon as n}from"../icon/icon.js";function l({currentPage:l,totalPages:o,perPage:r,totalItems:s,perPageOptions:t=[{label:"10 per page",value:10},{label:"20 per page",value:20},{label:"30 per page",value:30},{label:"50 per page",value:50}],onPageChange:p,onPerPageChange:c,className:g=""}){const d=t.map((a=>({label:a.label,value:String(a.value)}))),h=(l-1)*r+1,m=void 0!==s?Math.min(l*r,s):l*r;return a("div",{className:`pagination ${g}`,children:[e("div",{className:"pagination-per-page",children:e(i,{value:String(r),onChange:a=>void 0!==a&&c(Number(a)),options:d,size:"sm",direction:"top"})}),void 0!==s&&a("span",{className:"pagination-info",children:[h,"–",m," of ",s]}),a("div",{className:"pagination-controls",children:[e("button",{className:"pagination-arrow",onClick:()=>p(1),disabled:1===l,"aria-label":"First page",children:e(n,{icon:"double-chevron-left",size:16})}),e("button",{className:"pagination-arrow",onClick:()=>p(l-1),disabled:1===l,"aria-label":"Previous page",children:e(n,{icon:"chevron-left",size:16})}),e("div",{className:"pagination-pages",children:(()=>{const a=[];if(o<=5)return Array.from({length:o},((a,e)=>e+1));a.push(1);let e=Math.max(2,l-1),i=Math.min(o-1,l+1);l<=3&&(i=Math.min(4,o-1)),l>=o-2&&(e=Math.max(o-3,2)),e>2&&a.push("ellipsis");for(let n=e;n<=i;n++)a.push(n);return i<o-1&&a.push("ellipsis"),a.push(o),a})().map(((a,i)=>"ellipsis"===a?e("span",{className:"pagination-ellipsis","aria-hidden":"true",children:"..."},`ellipsis-${i}`):e("button",{className:"pagination-page "+(a===l?"pagination-page-active":""),onClick:()=>p(a),"aria-label":`Page ${a}`,"aria-current":a===l?"page":void 0,children:a},a)))}),e("button",{className:"pagination-arrow",onClick:()=>p(l+1),disabled:l===o,"aria-label":"Next page",children:e(n,{icon:"chevron-right",size:16})}),e("button",{className:"pagination-arrow",onClick:()=>p(o),disabled:l===o,"aria-label":"Last page",children:e(n,{icon:"double-chevron-right",size:16})})]})]})}export{l as Pagination};
|
|
2
|
+
//# sourceMappingURL=pagination.js.map
|
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
.popover-trigger {
|
|
2
|
-
|
|
2
|
+
display: inline-flex;
|
|
3
|
+
cursor: pointer;
|
|
4
|
+
outline: none;
|
|
5
|
+
user-select: none;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.popover-trigger:focus-visible {
|
|
9
|
+
outline: 2px solid hsl(var(--primary));
|
|
10
|
+
outline-offset: 2px;
|
|
11
|
+
border-radius: 2px;
|
|
3
12
|
}
|
|
4
13
|
|
|
5
14
|
.popover-content {
|
|
6
|
-
z-index:
|
|
15
|
+
z-index: 300;
|
|
7
16
|
animation: popoverShow 0.2s cubic-bezier(0.16, 1, 0.3, 1);
|
|
8
17
|
transform-origin: var(--origin, top);
|
|
9
18
|
}
|