@g4rcez/components 5.0.1 → 5.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AnimatePresence-j36AYeOQ.js +181 -0
- package/dist/AnimatePresence-j36AYeOQ.js.map +1 -0
- package/dist/Calendar.es-xICmgvjq.js +23 -0
- package/dist/Calendar.es-xICmgvjq.js.map +1 -0
- package/dist/Funnel.es-DjKVl8Nj.js +23 -0
- package/dist/Funnel.es-DjKVl8Nj.js.map +1 -0
- package/dist/{MotionConfig-DKKYqBH2.js → MotionConfig-CXHoPGbK.js} +2 -2
- package/dist/{MotionConfig-DKKYqBH2.js.map → MotionConfig-CXHoPGbK.js.map} +1 -1
- package/dist/Plus.es-DbyRkEE2.js +23 -0
- package/dist/Plus.es-DbyRkEE2.js.map +1 -0
- package/dist/Trash.es-BFAc8PMf.js +23 -0
- package/dist/Trash.es-BFAc8PMf.js.map +1 -0
- package/dist/{calendar-PCCZDUIL.js → calendar-DEPkz8sw.js} +364 -502
- package/dist/calendar-DEPkz8sw.js.map +1 -0
- package/dist/calendar-header-Dfr-CwkY.js +174 -0
- package/dist/calendar-header-Dfr-CwkY.js.map +1 -0
- package/dist/chunk-jwUa06l-.js +23 -0
- package/dist/components/core/button.d.ts +77 -0
- package/dist/components/core/button.d.ts.map +1 -0
- package/dist/components/core/button.js +1 -1
- package/dist/components/core/button.jsx +79 -0
- package/dist/components/core/heading.d.ts +3 -0
- package/dist/components/core/heading.d.ts.map +1 -0
- package/dist/components/core/heading.js +11 -0
- package/dist/components/core/heading.js.map +1 -0
- package/dist/components/core/heading.jsx +4 -0
- package/dist/components/core/polymorph.d.ts +10 -0
- package/dist/components/core/polymorph.d.ts.map +1 -0
- package/dist/{polymorph-BLXhrn9n.js → components/core/polymorph.js} +2 -2
- package/dist/components/core/polymorph.js.map +1 -0
- package/dist/components/core/polymorph.jsx +5 -0
- package/dist/components/core/render-on-view.d.ts +7 -0
- package/dist/components/core/render-on-view.d.ts.map +1 -0
- package/dist/components/core/render-on-view.js +29 -0
- package/dist/components/core/render-on-view.js.map +1 -0
- package/dist/components/core/render-on-view.jsx +31 -0
- package/dist/components/core/resizable.d.ts +9 -0
- package/dist/components/core/resizable.d.ts.map +1 -0
- package/dist/components/core/resizable.js +60 -0
- package/dist/components/core/resizable.js.map +1 -0
- package/dist/components/core/resizable.jsx +57 -0
- package/dist/components/core/slot.d.ts +16 -0
- package/dist/components/core/slot.d.ts.map +1 -0
- package/dist/{slot-pC8kH9De.js → components/core/slot.js} +2 -2
- package/dist/components/core/slot.js.map +1 -0
- package/dist/components/core/slot.jsx +156 -0
- package/dist/components/core/tag.d.ts +35 -0
- package/dist/components/core/tag.d.ts.map +1 -0
- package/dist/components/core/tag.js +1 -1
- package/dist/components/core/tag.jsx +53 -0
- package/dist/components/core/typography.d.ts +25 -0
- package/dist/components/core/typography.d.ts.map +1 -0
- package/dist/components/core/typography.js +40 -0
- package/dist/components/core/typography.js.map +1 -0
- package/dist/components/core/typography.jsx +20 -0
- package/dist/components/display/alert.d.ts +28 -0
- package/dist/components/display/alert.d.ts.map +1 -0
- package/dist/components/display/alert.js +83 -102
- package/dist/components/display/alert.js.map +1 -1
- package/dist/components/display/alert.jsx +58 -0
- package/dist/components/display/calendar.d.ts +42 -0
- package/dist/components/display/calendar.d.ts.map +1 -0
- package/dist/components/display/calendar.js +1 -1
- package/dist/components/display/calendar.jsx +323 -0
- package/dist/components/display/card.d.ts +29 -0
- package/dist/components/display/card.d.ts.map +1 -0
- package/dist/components/display/card.js +2 -2
- package/dist/components/display/card.jsx +43 -0
- package/dist/components/display/empty.d.ts +8 -0
- package/dist/components/display/empty.d.ts.map +1 -0
- package/dist/components/display/empty.js +25 -0
- package/dist/components/display/empty.js.map +1 -0
- package/dist/components/display/empty.jsx +13 -0
- package/dist/components/display/list.d.ts +16 -0
- package/dist/components/display/list.d.ts.map +1 -0
- package/dist/components/display/list.js +132 -122
- package/dist/components/display/list.js.map +1 -1
- package/dist/components/display/list.jsx +90 -0
- package/dist/components/display/notifications.d.ts +27 -0
- package/dist/components/display/notifications.d.ts.map +1 -0
- package/dist/components/display/notifications.js +1 -1
- package/dist/components/display/notifications.jsx +132 -0
- package/dist/components/display/progress.d.ts +16 -0
- package/dist/components/display/progress.d.ts.map +1 -0
- package/dist/components/display/progress.js +3 -0
- package/dist/components/display/progress.jsx +19 -0
- package/dist/components/display/shortcut.d.ts +4 -0
- package/dist/components/display/shortcut.d.ts.map +1 -0
- package/dist/components/display/shortcut.js +2 -0
- package/dist/components/display/shortcut.jsx +23 -0
- package/dist/components/display/skeleton.d.ts +12 -0
- package/dist/components/display/skeleton.d.ts.map +1 -0
- package/dist/components/display/skeleton.js +41 -0
- package/dist/components/display/skeleton.js.map +1 -0
- package/dist/components/display/skeleton.jsx +19 -0
- package/dist/components/display/spinner.d.ts +5 -0
- package/dist/components/display/spinner.d.ts.map +1 -0
- package/dist/components/display/spinner.js +17 -0
- package/dist/components/display/spinner.js.map +1 -0
- package/dist/components/display/spinner.jsx +11 -0
- package/dist/components/display/stats.d.ts +12 -0
- package/dist/components/display/stats.d.ts.map +1 -0
- package/dist/components/display/stats.jsx +16 -0
- package/dist/components/display/step.d.ts +24 -0
- package/dist/components/display/step.d.ts.map +1 -0
- package/dist/components/display/step.js +3 -0
- package/dist/components/display/step.jsx +145 -0
- package/dist/components/display/tabs.d.ts +24 -0
- package/dist/components/display/tabs.d.ts.map +1 -0
- package/dist/components/display/tabs.js +1 -1
- package/dist/components/display/tabs.jsx +125 -0
- package/dist/components/display/timeline.d.ts +10 -0
- package/dist/components/display/timeline.d.ts.map +1 -0
- package/dist/components/display/timeline.js +1 -1
- package/dist/components/display/timeline.jsx +25 -0
- package/dist/components/floating/command-palette.d.ts +49 -0
- package/dist/components/floating/command-palette.d.ts.map +1 -0
- package/dist/components/floating/command-palette.js +255 -0
- package/dist/components/floating/command-palette.js.map +1 -0
- package/dist/components/floating/command-palette.jsx +232 -0
- package/dist/components/floating/dropdown.d.ts +15 -0
- package/dist/components/floating/dropdown.d.ts.map +1 -0
- package/dist/components/floating/dropdown.js +1 -1
- package/dist/components/floating/dropdown.js.map +1 -1
- package/dist/components/floating/dropdown.jsx +56 -0
- package/dist/components/floating/expand.d.ts +11 -0
- package/dist/components/floating/expand.d.ts.map +1 -0
- package/dist/components/floating/expand.js +15 -14
- package/dist/components/floating/expand.js.map +1 -1
- package/dist/components/floating/expand.jsx +44 -0
- package/dist/components/floating/menu.d.ts +52 -0
- package/dist/components/floating/menu.d.ts.map +1 -0
- package/dist/components/floating/menu.js +1 -1
- package/dist/components/floating/menu.jsx +165 -0
- package/dist/components/floating/modal.d.ts +63 -0
- package/dist/components/floating/modal.d.ts.map +1 -0
- package/dist/components/floating/modal.js +1 -1
- package/dist/components/floating/modal.jsx +375 -0
- package/dist/components/floating/toolbar.d.ts +6 -0
- package/dist/components/floating/toolbar.d.ts.map +1 -0
- package/dist/components/floating/toolbar.js +20 -0
- package/dist/components/floating/toolbar.js.map +1 -0
- package/dist/components/floating/toolbar.jsx +9 -0
- package/dist/components/floating/tooltip.d.ts +17 -0
- package/dist/components/floating/tooltip.d.ts.map +1 -0
- package/dist/components/floating/tooltip.js +2 -2
- package/dist/components/floating/tooltip.js.map +1 -1
- package/dist/components/floating/tooltip.jsx +67 -0
- package/dist/components/floating/wizard.d.ts +26 -0
- package/dist/components/floating/wizard.d.ts.map +1 -0
- package/dist/components/floating/wizard.js +3 -0
- package/dist/components/floating/wizard.jsx +165 -0
- package/dist/components/form/autocomplete.d.ts +16 -0
- package/dist/components/form/autocomplete.d.ts.map +1 -0
- package/dist/components/form/autocomplete.js +344 -2
- package/dist/components/form/autocomplete.js.map +1 -0
- package/dist/components/form/autocomplete.jsx +299 -0
- package/dist/components/form/checkbox.d.ts +12 -0
- package/dist/components/form/checkbox.d.ts.map +1 -0
- package/dist/components/form/checkbox.js +29 -27
- package/dist/components/form/checkbox.js.map +1 -1
- package/dist/components/form/checkbox.jsx +27 -0
- package/dist/components/form/date-picker.d.ts +10 -0
- package/dist/components/form/date-picker.d.ts.map +1 -0
- package/dist/components/form/date-picker.js +1 -1
- package/dist/components/form/date-picker.jsx +115 -0
- package/dist/components/form/file-upload.d.ts +20 -0
- package/dist/components/form/file-upload.d.ts.map +1 -0
- package/dist/components/form/file-upload.js +1 -1
- package/dist/components/form/file-upload.jsx +160 -0
- package/dist/components/form/form.d.ts +3 -0
- package/dist/components/form/form.d.ts.map +1 -0
- package/dist/components/form/form.jsx +10 -0
- package/dist/components/form/formReset.d.ts +2 -0
- package/dist/components/form/formReset.d.ts.map +1 -0
- package/dist/components/form/formReset.js +10 -0
- package/dist/components/form/formReset.js.map +1 -0
- package/dist/components/form/formReset.jsx +17 -0
- package/dist/components/form/free-text.d.ts +11 -0
- package/dist/components/form/free-text.d.ts.map +1 -0
- package/dist/components/form/free-text.js +70 -0
- package/dist/components/form/free-text.js.map +1 -0
- package/dist/components/form/free-text.jsx +41 -0
- package/dist/components/form/input-field.d.ts +34 -0
- package/dist/components/form/input-field.d.ts.map +1 -0
- package/dist/components/form/input-field.js +3 -0
- package/dist/components/form/input-field.jsx +64 -0
- package/dist/components/form/input.d.ts +52 -0
- package/dist/components/form/input.d.ts.map +1 -0
- package/dist/components/form/input.js +1 -1
- package/dist/components/form/input.jsx +36 -0
- package/dist/components/form/multi-select.d.ts +19 -0
- package/dist/components/form/multi-select.d.ts.map +1 -0
- package/dist/components/form/multi-select.js +420 -0
- package/dist/components/form/multi-select.js.map +1 -0
- package/dist/components/form/multi-select.jsx +352 -0
- package/dist/components/form/radiobox.d.ts +7 -0
- package/dist/components/form/radiobox.d.ts.map +1 -0
- package/dist/components/form/radiobox.jsx +6 -0
- package/dist/components/form/select.d.ts +13 -0
- package/dist/components/form/select.d.ts.map +1 -0
- package/dist/components/form/select.js +55 -51
- package/dist/components/form/select.js.map +1 -1
- package/dist/components/form/select.jsx +47 -0
- package/dist/components/form/slider.d.ts +7 -0
- package/dist/components/form/slider.d.ts.map +1 -0
- package/dist/components/form/slider.js +3 -0
- package/dist/components/form/slider.jsx +45 -0
- package/dist/components/form/switch.d.ts +10 -0
- package/dist/components/form/switch.d.ts.map +1 -0
- package/dist/components/form/switch.js +32 -26
- package/dist/components/form/switch.js.map +1 -1
- package/dist/components/form/switch.jsx +59 -0
- package/dist/components/form/task-list.d.ts +3 -0
- package/dist/components/form/task-list.d.ts.map +1 -0
- package/dist/components/form/task-list.jsx +26 -0
- package/dist/components/form/textarea.d.ts +5 -0
- package/dist/components/form/textarea.d.ts.map +1 -0
- package/dist/components/form/textarea.js +19 -0
- package/dist/components/form/textarea.js.map +1 -0
- package/dist/components/form/textarea.jsx +26 -0
- package/dist/components/index.d.ts +45 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +44 -0
- package/dist/components/page-calendar/calendar-header.d.ts +16 -0
- package/dist/components/page-calendar/calendar-header.d.ts.map +1 -0
- package/dist/components/page-calendar/calendar-header.js +2 -0
- package/dist/components/page-calendar/calendar-header.jsx +85 -0
- package/dist/components/page-calendar/day-view.d.ts +12 -0
- package/dist/components/page-calendar/day-view.d.ts.map +1 -0
- package/dist/components/page-calendar/day-view.js +124 -0
- package/dist/components/page-calendar/day-view.js.map +1 -0
- package/dist/components/page-calendar/day-view.jsx +89 -0
- package/dist/components/page-calendar/event-pill.d.ts +9 -0
- package/dist/components/page-calendar/event-pill.d.ts.map +1 -0
- package/dist/components/page-calendar/event-pill.js +44 -0
- package/dist/components/page-calendar/event-pill.js.map +1 -0
- package/dist/components/page-calendar/event-pill.jsx +25 -0
- package/dist/components/page-calendar/index.d.ts +4 -0
- package/dist/components/page-calendar/index.d.ts.map +1 -0
- package/dist/components/page-calendar/index.js +2 -0
- package/dist/components/page-calendar/month-view.d.ts +11 -0
- package/dist/components/page-calendar/month-view.d.ts.map +1 -0
- package/dist/components/page-calendar/month-view.js +109 -0
- package/dist/components/page-calendar/month-view.js.map +1 -0
- package/dist/components/page-calendar/month-view.jsx +93 -0
- package/dist/components/page-calendar/page-calendar.d.ts +18 -0
- package/dist/components/page-calendar/page-calendar.d.ts.map +1 -0
- package/dist/components/page-calendar/page-calendar.js +75 -0
- package/dist/components/page-calendar/page-calendar.js.map +1 -0
- package/dist/components/page-calendar/page-calendar.jsx +41 -0
- package/dist/components/page-calendar/page-calendar.types.d.ts +18 -0
- package/dist/components/page-calendar/page-calendar.types.d.ts.map +1 -0
- package/dist/components/page-calendar/page-calendar.types.js +1 -0
- package/dist/components/page-calendar/page-calendar.utils.d.ts +24 -0
- package/dist/components/page-calendar/page-calendar.utils.d.ts.map +1 -0
- package/dist/components/page-calendar/page-calendar.utils.js +93 -0
- package/dist/components/page-calendar/week-view.d.ts +11 -0
- package/dist/components/page-calendar/week-view.d.ts.map +1 -0
- package/dist/components/page-calendar/week-view.js +88 -0
- package/dist/components/page-calendar/week-view.js.map +1 -0
- package/dist/components/page-calendar/week-view.jsx +66 -0
- package/dist/components/table/filter.d.ts +42 -0
- package/dist/components/table/filter.d.ts.map +1 -0
- package/dist/components/table/filter.js +239 -0
- package/dist/components/table/filter.js.map +1 -0
- package/dist/components/table/filter.jsx +174 -0
- package/dist/components/table/group.d.ts +17 -0
- package/dist/components/table/group.d.ts.map +1 -0
- package/dist/components/table/group.js +3 -0
- package/dist/components/table/group.jsx +77 -0
- package/dist/components/table/index.d.ts +19 -0
- package/dist/components/table/index.d.ts.map +1 -0
- package/dist/components/table/index.js +102 -0
- package/dist/components/table/index.js.map +1 -0
- package/dist/components/table/index.jsx +63 -0
- package/dist/components/table/inner-table.d.ts +29 -0
- package/dist/components/table/inner-table.d.ts.map +1 -0
- package/dist/components/table/inner-table.js +2 -0
- package/dist/components/table/inner-table.jsx +102 -0
- package/dist/components/table/metadata.d.ts +4 -0
- package/dist/components/table/metadata.d.ts.map +1 -0
- package/dist/components/table/metadata.js +73 -0
- package/dist/components/table/metadata.js.map +1 -0
- package/dist/components/table/metadata.jsx +36 -0
- package/dist/components/table/pagination.d.ts +5 -0
- package/dist/components/table/pagination.d.ts.map +1 -0
- package/dist/components/table/pagination.js +70 -0
- package/dist/components/table/pagination.js.map +1 -0
- package/dist/components/table/pagination.jsx +74 -0
- package/dist/components/table/row.d.ts +11 -0
- package/dist/components/table/row.d.ts.map +1 -0
- package/dist/components/table/row.js +58 -0
- package/dist/components/table/row.js.map +1 -0
- package/dist/components/table/row.jsx +49 -0
- package/dist/components/table/sort.d.ts +28 -0
- package/dist/components/table/sort.d.ts.map +1 -0
- package/dist/components/table/sort.js +3 -0
- package/dist/components/table/sort.jsx +111 -0
- package/dist/components/table/table-lib.d.ts +135 -0
- package/dist/components/table/table-lib.d.ts.map +1 -0
- package/dist/components/table/table-lib.js +83 -0
- package/dist/components/table/table.context.d.ts +10 -0
- package/dist/components/table/table.context.d.ts.map +1 -0
- package/dist/components/table/table.context.jsx +5 -0
- package/dist/components/table/thead.d.ts +9 -0
- package/dist/components/table/thead.d.ts.map +1 -0
- package/dist/components/table/thead.js +3 -0
- package/dist/components/table/thead.jsx +103 -0
- package/dist/config/context.d.ts +21 -0
- package/dist/config/context.d.ts.map +1 -0
- package/dist/config/context.js +12 -0
- package/dist/config/default-translations.d.ts +112 -0
- package/dist/config/default-translations.d.ts.map +1 -0
- package/dist/config/default-translations.jsx +105 -0
- package/dist/config/default-tweaks.d.ts +13 -0
- package/dist/config/default-tweaks.d.ts.map +1 -0
- package/dist/config/default-tweaks.js +4 -0
- package/dist/constants.d.ts +3 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +2 -0
- package/dist/{use-translations-DTLfPE3_.js → context-CsnUsfeP.js} +55 -40
- package/dist/context-CsnUsfeP.js.map +1 -0
- package/dist/{date-picker-BhKEFZew.js → date-picker-DNzupG8R.js} +301 -317
- package/dist/date-picker-DNzupG8R.js.map +1 -0
- package/dist/dict-CisoYSMO.js +28 -0
- package/dist/dict-CisoYSMO.js.map +1 -0
- package/dist/dist-ChfJ5LO9.js +498 -0
- package/dist/dist-ChfJ5LO9.js.map +1 -0
- package/dist/{dist-BrGpYRaj.js → dist-DIjUECx9.js} +56 -56
- package/dist/{dist-BrGpYRaj.js.map → dist-DIjUECx9.js.map} +1 -1
- package/dist/dom-Bn4wY_Zx.js.map +1 -1
- package/dist/{file-upload-DWbZfeG5.js → file-upload-C2zNnv9n.js} +501 -481
- package/dist/{file-upload-DWbZfeG5.js.map → file-upload-C2zNnv9n.js.map} +1 -1
- package/dist/fzf-CPGDDCoU.js +64 -0
- package/dist/fzf-CPGDDCoU.js.map +1 -0
- package/dist/getISOWeek-EcB4Ebqp.js +72 -0
- package/dist/getISOWeek-EcB4Ebqp.js.map +1 -0
- package/dist/group-Dl14TJXO.js +222 -0
- package/dist/group-Dl14TJXO.js.map +1 -0
- package/dist/hooks/use-click-outside.d.ts +3 -0
- package/dist/hooks/use-click-outside.d.ts.map +1 -0
- package/dist/hooks/use-click-outside.js +17 -0
- package/dist/hooks/use-color-parser.d.ts +2 -0
- package/dist/hooks/use-color-parser.d.ts.map +1 -0
- package/dist/hooks/use-color-parser.js +9 -0
- package/dist/hooks/use-components-provider.d.ts +15 -0
- package/dist/hooks/use-components-provider.d.ts.map +1 -0
- package/dist/hooks/use-components-provider.jsx +22 -0
- package/dist/hooks/use-debounce.d.ts +5 -0
- package/dist/hooks/use-debounce.d.ts.map +1 -0
- package/dist/hooks/use-debounce.js +12 -0
- package/dist/hooks/use-floating-ref.d.ts +2 -0
- package/dist/hooks/use-floating-ref.d.ts.map +1 -0
- package/dist/hooks/use-floating-ref.js +6 -0
- package/dist/hooks/use-form.d.ts +394 -0
- package/dist/hooks/use-form.d.ts.map +1 -0
- package/dist/hooks/use-form.js +563 -0
- package/dist/hooks/use-hover.d.ts +3 -0
- package/dist/hooks/use-hover.d.ts.map +1 -0
- package/dist/hooks/use-hover.js +18 -0
- package/dist/hooks/use-input-id.d.ts +4 -0
- package/dist/hooks/use-input-id.d.ts.map +1 -0
- package/dist/hooks/use-input-id.js +5 -0
- package/dist/hooks/use-is-coarse-device.d.ts +2 -0
- package/dist/hooks/use-is-coarse-device.d.ts.map +1 -0
- package/dist/hooks/use-is-coarse-device.js +12 -0
- package/dist/hooks/use-locale.d.ts +3 -0
- package/dist/hooks/use-locale.d.ts.map +1 -0
- package/dist/hooks/use-locale.js +10 -0
- package/dist/hooks/use-media-query.d.ts +2 -0
- package/dist/hooks/use-media-query.d.ts.map +1 -0
- package/dist/hooks/use-media-query.js +25 -0
- package/dist/hooks/use-on-event.d.ts +4 -0
- package/dist/hooks/use-on-event.d.ts.map +1 -0
- package/dist/hooks/use-on-event.js +10 -0
- package/dist/hooks/use-parent.d.ts +3 -0
- package/dist/hooks/use-parent.d.ts.map +1 -0
- package/dist/hooks/use-parent.js +21 -0
- package/dist/hooks/use-preferences.d.ts +2 -0
- package/dist/hooks/use-preferences.d.ts.map +1 -0
- package/dist/hooks/use-preferences.js +23 -0
- package/dist/hooks/use-previous.d.ts +2 -0
- package/dist/hooks/use-previous.d.ts.map +1 -0
- package/dist/hooks/use-previous.js +9 -0
- package/dist/hooks/use-reactive.d.ts +2 -0
- package/dist/hooks/use-reactive.d.ts.map +1 -0
- package/dist/hooks/use-reactive.js +9 -0
- package/dist/hooks/use-remove-scroll.d.ts +4 -0
- package/dist/hooks/use-remove-scroll.d.ts.map +1 -0
- package/dist/hooks/use-remove-scroll.js +48 -0
- package/dist/hooks/use-resize-observer.d.ts +2 -0
- package/dist/hooks/use-resize-observer.d.ts.map +1 -0
- package/dist/hooks/use-resize-observer.js +17 -0
- package/dist/hooks/use-stable-ref.d.ts +2 -0
- package/dist/hooks/use-stable-ref.d.ts.map +1 -0
- package/dist/hooks/use-stable-ref.js +9 -0
- package/dist/hooks/use-swipe.d.ts +8 -0
- package/dist/hooks/use-swipe.d.ts.map +1 -0
- package/dist/hooks/use-swipe.js +17 -0
- package/dist/hooks/use-translations.d.ts +110 -0
- package/dist/hooks/use-translations.d.ts.map +1 -0
- package/dist/hooks/use-translations.js +9 -0
- package/dist/hooks/use-tweaks.d.ts +3 -0
- package/dist/hooks/use-tweaks.d.ts.map +1 -0
- package/dist/hooks/use-tweaks.js +9 -0
- package/dist/hooks/use-window-size.d.ts +5 -0
- package/dist/hooks/use-window-size.d.ts.map +1 -0
- package/dist/hooks/use-window-size.js +14 -0
- package/dist/index.css +1 -1
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -7932
- package/dist/index.js.map +1 -1
- package/dist/inner-table-CeDX60cL.js +151 -0
- package/dist/inner-table-CeDX60cL.js.map +1 -0
- package/dist/input-Cmyuea4Y.js +412 -0
- package/dist/input-Cmyuea4Y.js.map +1 -0
- package/dist/{input-field-B_whI66Q.js → input-field-ffx1MbHo.js} +29 -16
- package/dist/input-field-ffx1MbHo.js.map +1 -0
- package/dist/isSameMonth-C3lsSwcg.js +10 -0
- package/dist/isSameMonth-C3lsSwcg.js.map +1 -0
- package/dist/isToday-COXfxFui.js +32 -0
- package/dist/isToday-COXfxFui.js.map +1 -0
- package/dist/lib/combi-keys.d.ts +15 -0
- package/dist/lib/combi-keys.d.ts.map +1 -0
- package/dist/lib/combi-keys.js +60 -0
- package/dist/lib/dict.d.ts +9 -0
- package/dist/lib/dict.d.ts.map +1 -0
- package/dist/lib/dict.js +28 -0
- package/dist/lib/dom.d.ts +20 -0
- package/dist/lib/dom.d.ts.map +1 -0
- package/dist/lib/dom.js +185 -0
- package/dist/lib/fns.d.ts +11 -0
- package/dist/lib/fns.d.ts.map +1 -0
- package/dist/lib/fns.js +46 -0
- package/dist/lib/fzf.d.ts +16 -0
- package/dist/lib/fzf.d.ts.map +1 -0
- package/dist/lib/fzf.js +115 -0
- package/dist/lib/keyboard-area.d.ts +16 -0
- package/dist/lib/keyboard-area.d.ts.map +1 -0
- package/dist/lib/keyboard-area.js +14 -0
- package/dist/modal-Df8-6i-o.js +408 -0
- package/dist/modal-Df8-6i-o.js.map +1 -0
- package/dist/notifications-NhCESJUV.js +1697 -0
- package/dist/notifications-NhCESJUV.js.map +1 -0
- package/dist/page-calendar.utils-Bd0PHktL.js +102 -0
- package/dist/page-calendar.utils-Bd0PHktL.js.map +1 -0
- package/dist/preset/preset.tailwind.d.ts.map +1 -1
- package/dist/preset/preset.tailwind.js +6 -7
- package/dist/preset/src/styles/dark.js +1 -1
- package/dist/progress-8LO5gWLp.js +104 -0
- package/dist/progress-8LO5gWLp.js.map +1 -0
- package/dist/{proxy-BcJ_5Dwq.js → proxy-fP2NxmhM.js} +658 -844
- package/dist/proxy-fP2NxmhM.js.map +1 -0
- package/dist/shim-Czv-YhKR.js +93 -0
- package/dist/shim-Czv-YhKR.js.map +1 -0
- package/dist/shortcut-CQCmgmlU.js +100 -0
- package/dist/shortcut-CQCmgmlU.js.map +1 -0
- package/dist/slider-TX9hiHO-.js +1196 -0
- package/dist/slider-TX9hiHO-.js.map +1 -0
- package/dist/sort-DGmiselV.js +195 -0
- package/dist/sort-DGmiselV.js.map +1 -0
- package/dist/step-DFpJ7zCG.js +185 -0
- package/dist/step-DFpJ7zCG.js.map +1 -0
- package/dist/styles/dark.js +1 -1
- package/dist/subMonths-QcCnE3Yh.js +43 -0
- package/dist/subMonths-QcCnE3Yh.js.map +1 -0
- package/dist/table-lib-1bkYSklk.js +174 -0
- package/dist/table-lib-1bkYSklk.js.map +1 -0
- package/dist/{tabs-Ciy0l9OF.js → tabs-Brc963EW.js} +2 -2
- package/dist/{tabs-Ciy0l9OF.js.map → tabs-Brc963EW.js.map} +1 -1
- package/dist/thead-B6WELJZ-.js +211 -0
- package/dist/thead-B6WELJZ-.js.map +1 -0
- package/dist/types.d.ts +26 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +1 -0
- package/dist/use-locale-DPM_sg4s.js +12 -0
- package/dist/use-locale-DPM_sg4s.js.map +1 -0
- package/dist/use-remove-scroll-pAgC09Sq.js +38 -0
- package/dist/use-remove-scroll-pAgC09Sq.js.map +1 -0
- package/dist/use-translations-BE4PuhLm.js +11 -0
- package/dist/use-translations-BE4PuhLm.js.map +1 -0
- package/dist/useAnimationFrame-DnKbaXfi.js +223 -0
- package/dist/useAnimationFrame-DnKbaXfi.js.map +1 -0
- package/dist/valueToPercent-DZc_m1tm.js +43 -0
- package/dist/valueToPercent-DZc_m1tm.js.map +1 -0
- package/dist/visuallyHidden-B7wI86yi.js +303 -0
- package/dist/visuallyHidden-B7wI86yi.js.map +1 -0
- package/dist/with-selector-BFW5n-pb.js +102 -0
- package/dist/with-selector-BFW5n-pb.js.map +1 -0
- package/dist/wizard-7u_qZ-78.js +218 -0
- package/dist/wizard-7u_qZ-78.js.map +1 -0
- package/package.json +19 -11
- package/dist/autocomplete-D3VOTihi.js +0 -415
- package/dist/autocomplete-D3VOTihi.js.map +0 -1
- package/dist/calendar-PCCZDUIL.js.map +0 -1
- package/dist/components/table/table.js +0 -3
- package/dist/date-picker-BhKEFZew.js.map +0 -1
- package/dist/input-B7jqwPG4.js +0 -473
- package/dist/input-B7jqwPG4.js.map +0 -1
- package/dist/input-field-B_whI66Q.js.map +0 -1
- package/dist/modal-Bz-61ays.js +0 -373
- package/dist/modal-Bz-61ays.js.map +0 -1
- package/dist/notifications-MT4XkLov.js +0 -2203
- package/dist/notifications-MT4XkLov.js.map +0 -1
- package/dist/polymorph-BLXhrn9n.js.map +0 -1
- package/dist/proxy-BcJ_5Dwq.js.map +0 -1
- package/dist/skeleton-CBYEq3lM.js +0 -26
- package/dist/skeleton-CBYEq3lM.js.map +0 -1
- package/dist/slot-pC8kH9De.js.map +0 -1
- package/dist/table-CUFbAI2k.js +0 -1914
- package/dist/table-CUFbAI2k.js.map +0 -1
- package/dist/use-translations-DTLfPE3_.js.map +0 -1
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { CellAsideElement, Col } from "./table-lib";
|
|
3
|
+
type ItemContentContext<T extends Record<string, unknown>> = {
|
|
4
|
+
cols: Col<T>[];
|
|
5
|
+
loading?: boolean;
|
|
6
|
+
loadingMore?: boolean;
|
|
7
|
+
Aside?: React.FC<CellAsideElement<T>>;
|
|
8
|
+
};
|
|
9
|
+
export declare const Row: <T extends Record<string, unknown>>(index: number, row: T, context: ItemContentContext<T>) => React.JSX.Element;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=row.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"row.d.ts","sourceRoot":"","sources":["../../../src/components/table/row.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwD,MAAM,OAAO,CAAC;AAI7E,OAAO,EAAE,gBAAgB,EAAoB,GAAG,EAAa,MAAM,aAAa,CAAC;AAEjF,KAAK,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IACzD,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;CACzC,CAAC;AAoCF,eAAO,MAAM,GAAG,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,kBAAkB,CAAC,CAAC,CAAC,sBAgD3G,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { p as e } from "../../dom-Bn4wY_Zx.js";
|
|
2
|
+
import { a as t } from "../../fns-KbsWlOTG.js";
|
|
3
|
+
import { SkeletonCell as n } from "../display/skeleton.js";
|
|
4
|
+
import { Fragment as r, createElement as i, useRef as a, useState as o } from "react";
|
|
5
|
+
import { jsx as s } from "react/jsx-runtime";
|
|
6
|
+
//#region src/components/table/row.tsx
|
|
7
|
+
var c = (e) => {
|
|
8
|
+
let t = a(null), n = a(null), [r, i] = o("opacity-0"), c = r === "opacity-0";
|
|
9
|
+
return /* @__PURE__ */ s("div", {
|
|
10
|
+
ref: t,
|
|
11
|
+
onMouseEnter: () => {
|
|
12
|
+
let e = n.current, r = t.current;
|
|
13
|
+
e !== null && r !== null && (r.style.left = `-${e.getBoundingClientRect().width + 4}px`), i("opacity-100");
|
|
14
|
+
},
|
|
15
|
+
onMouseLeave: () => i("opacity-0"),
|
|
16
|
+
"data-component": "cell-aside",
|
|
17
|
+
inert: c ? !0 : void 0,
|
|
18
|
+
tabIndex: c ? -1 : void 0,
|
|
19
|
+
className: `group-table-cell-aside absolute inset-0 top-0 flex h-full w-full items-stretch transition-opacity duration-300 ease-in-out ${r}`,
|
|
20
|
+
children: /* @__PURE__ */ s("div", {
|
|
21
|
+
ref: n,
|
|
22
|
+
className: "isolate block",
|
|
23
|
+
children: e.children
|
|
24
|
+
})
|
|
25
|
+
});
|
|
26
|
+
}, l = (a, o, l) => {
|
|
27
|
+
let u = l.cols, d = l.loading;
|
|
28
|
+
return /* @__PURE__ */ s(r, { children: u.map((u, f) => {
|
|
29
|
+
let p = `${f},${a}`, m = t(o, u.id), h = u.Element, g = u.cellProps?.className || "", _ = f === 0 && l.Aside && d === !1, v = l.Aside;
|
|
30
|
+
return /* @__PURE__ */ i("td", {
|
|
31
|
+
...u.cellProps,
|
|
32
|
+
role: "cell",
|
|
33
|
+
"data-matrix": p,
|
|
34
|
+
key: `accessor-${a}-${f}`,
|
|
35
|
+
className: `typography group-table-cell flex border-collapse flex-col whitespace-pre-wrap border border-y border-b border-table-border p-table-cell-padding md:table-cell md:border-b-0 md:border-r md:border-l-transparent md:last:border-r-transparent ${g}`
|
|
36
|
+
}, _ ? /* @__PURE__ */ s(c, { children: /* @__PURE__ */ s(v, {
|
|
37
|
+
col: u,
|
|
38
|
+
row: o,
|
|
39
|
+
rowIndex: a
|
|
40
|
+
}) }) : null, /* @__PURE__ */ s("span", {
|
|
41
|
+
className: "text-typography-sm block font-bold leading-tight md:hidden",
|
|
42
|
+
children: u.thead
|
|
43
|
+
}), /* @__PURE__ */ s("span", {
|
|
44
|
+
className: "relative",
|
|
45
|
+
children: d ? n : h ? /* @__PURE__ */ s(r, { children: /* @__PURE__ */ s(h, {
|
|
46
|
+
row: o,
|
|
47
|
+
matrix: p,
|
|
48
|
+
col: u,
|
|
49
|
+
rowIndex: a,
|
|
50
|
+
value: m
|
|
51
|
+
}) }) : /* @__PURE__ */ s(r, { children: e.nil(m) ? "" : m })
|
|
52
|
+
}));
|
|
53
|
+
}) });
|
|
54
|
+
};
|
|
55
|
+
//#endregion
|
|
56
|
+
export { l as Row };
|
|
57
|
+
|
|
58
|
+
//# sourceMappingURL=row.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"row.js","names":[],"sources":["../../../src/components/table/row.tsx"],"sourcesContent":["import React, { Fragment, PropsWithChildren, useRef, useState } from \"react\";\nimport { Is } from \"sidekicker\";\nimport { path } from \"../../lib/fns\";\nimport { SkeletonCell } from \"../display/skeleton\";\nimport { CellAsideElement, CellPropsElement, Col, ColMatrix } from \"./table-lib\";\n\ntype ItemContentContext<T extends Record<string, unknown>> = {\n cols: Col<T>[];\n loading?: boolean;\n loadingMore?: boolean;\n Aside?: React.FC<CellAsideElement<T>>;\n};\n\nconst RowAside = (props: PropsWithChildren) => {\n const parentRef = useRef<HTMLDivElement>(null);\n const ref = useRef<HTMLDivElement>(null);\n const [className, setClassName] = useState(\"opacity-0\");\n const ariaHidden = className === \"opacity-0\";\n\n const onLeave = () => setClassName(\"opacity-0\");\n\n const onEnter = () => {\n const child = ref.current;\n const parent = parentRef.current;\n if (child !== null && parent !== null) {\n parent.style.left = `-${child.getBoundingClientRect().width + 4}px`;\n }\n setClassName(\"opacity-100\");\n };\n\n return (\n <div\n ref={parentRef}\n onMouseEnter={onEnter}\n onMouseLeave={onLeave}\n data-component=\"cell-aside\"\n inert={ariaHidden ? true : undefined}\n tabIndex={ariaHidden ? -1 : undefined}\n className={`group-table-cell-aside absolute inset-0 top-0 flex h-full w-full items-stretch transition-opacity duration-300 ease-in-out ${className}`}\n >\n <div ref={ref} className=\"isolate block\">\n {props.children}\n </div>\n </div>\n );\n};\n\nexport const Row = <T extends Record<string, unknown>>(index: number, row: T, context: ItemContentContext<T>) => {\n const cols = context.cols;\n const loading = context.loading;\n return (\n <Fragment>\n {cols.map((col, colIndex) => {\n const matrix: ColMatrix = `${colIndex},${index}`;\n const value = path(row, col.id);\n const Component = col.Element as React.FC<CellPropsElement<T, typeof col.id>> | undefined;\n const className = col.cellProps?.className || \"\";\n const exposeAside = colIndex === 0 && context.Aside && loading === false;\n const Aside = context.Aside!;\n return (\n <td\n {...col.cellProps}\n role=\"cell\"\n data-matrix={matrix}\n key={`accessor-${index}-${colIndex}`}\n className={`typography group-table-cell flex border-collapse flex-col whitespace-pre-wrap border border-y border-b border-table-border p-table-cell-padding md:table-cell md:border-b-0 md:border-r md:border-l-transparent md:last:border-r-transparent ${className}`}\n >\n {exposeAside ? (\n <RowAside>\n <Aside col={col} row={row} rowIndex={index} />\n </RowAside>\n ) : null}\n <span className=\"text-typography-sm block font-bold leading-tight md:hidden\">{col.thead}</span>\n <span className=\"relative\">\n {loading ? (\n SkeletonCell\n ) : Component ? (\n <Fragment>\n <Component\n row={row}\n matrix={matrix}\n col={col}\n rowIndex={index}\n value={value as CellPropsElement<T, typeof col.id>[\"value\"]}\n />\n </Fragment>\n ) : (\n <Fragment>{Is.nil(value) ? \"\" : (value as React.ReactNode)}</Fragment>\n )}\n </span>\n </td>\n );\n })}\n </Fragment>\n );\n};\n"],"mappings":";;;;;;AAaA,IAAM,KAAY,MAA6B;CAC3C,IAAM,IAAY,EAAuB,IAAI,GACvC,IAAM,EAAuB,IAAI,GACjC,CAAC,GAAW,KAAgB,EAAS,WAAW,GAChD,IAAa,MAAc;CAajC,OACI,kBAAC,OAAD;EACI,KAAK;EACL,oBAZc;GAClB,IAAM,IAAQ,EAAI,SACZ,IAAS,EAAU;GAIzB,AAHI,MAAU,QAAQ,MAAW,SAC7B,EAAO,MAAM,OAAO,IAAI,EAAM,sBAAsB,EAAE,QAAQ,EAAE,MAEpE,EAAa,aAAa;EAC9B;EAMQ,oBAfc,EAAa,WAAW;EAgBtC,kBAAe;EACf,OAAO,IAAa,KAAO,KAAA;EAC3B,UAAU,IAAa,KAAK,KAAA;EAC5B,WAAW,8HAA8H;YAEzI,kBAAC,OAAD;GAAU;GAAK,WAAU;aACpB,EAAM;EACN,CAAA;CACJ,CAAA;AAEb,GAEa,KAA0C,GAAe,GAAQ,MAAmC;CAC7G,IAAM,IAAO,EAAQ,MACf,IAAU,EAAQ;CACxB,OACI,kBAAC,GAAD,EAAA,UACK,EAAK,KAAK,GAAK,MAAa;EACzB,IAAM,IAAoB,GAAG,EAAS,GAAG,KACnC,IAAQ,EAAK,GAAK,EAAI,EAAE,GACxB,IAAY,EAAI,SAChB,IAAY,EAAI,WAAW,aAAa,IACxC,IAAc,MAAa,KAAK,EAAQ,SAAS,MAAY,IAC7D,IAAQ,EAAQ;EACtB,OACI,kBAAC,MAAD;GACI,GAAI,EAAI;GACR,MAAK;GACL,eAAa;GACb,KAAK,YAAY,EAAM,GAAG;GAC1B,WAAW,gPAAgP;EAyB3P,GAvBC,IACG,kBAAC,GAAD,EAAA,UACI,kBAAC,GAAD;GAAY;GAAU;GAAK,UAAU;EAAQ,CAAA,EACvC,CAAA,IACV,MACJ,kBAAC,QAAD;GAAM,WAAU;aAA8D,EAAI;EAAY,CAAA,GAC9F,kBAAC,QAAD;GAAM,WAAU;aACX,IACG,IACA,IACA,kBAAC,GAAD,EAAA,UACI,kBAAC,GAAD;IACS;IACG;IACH;IACL,UAAU;IACH;GACV,CAAA,EACK,CAAA,IAEV,kBAAC,GAAD,EAAA,UAAW,EAAG,IAAI,CAAK,IAAI,KAAM,EAAoC,CAAA;EAEvE,CAAA,CACN;CAEZ,CAAC,EACK,CAAA;AAElB"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import React, { Fragment, useRef, useState } from "react";
|
|
2
|
+
import { Is } from "sidekicker";
|
|
3
|
+
import { path } from "../../lib/fns";
|
|
4
|
+
import { SkeletonCell } from "../display/skeleton";
|
|
5
|
+
const RowAside = (props) => {
|
|
6
|
+
const parentRef = useRef(null);
|
|
7
|
+
const ref = useRef(null);
|
|
8
|
+
const [className, setClassName] = useState("opacity-0");
|
|
9
|
+
const ariaHidden = className === "opacity-0";
|
|
10
|
+
const onLeave = () => setClassName("opacity-0");
|
|
11
|
+
const onEnter = () => {
|
|
12
|
+
const child = ref.current;
|
|
13
|
+
const parent = parentRef.current;
|
|
14
|
+
if (child !== null && parent !== null) {
|
|
15
|
+
parent.style.left = `-${child.getBoundingClientRect().width + 4}px`;
|
|
16
|
+
}
|
|
17
|
+
setClassName("opacity-100");
|
|
18
|
+
};
|
|
19
|
+
return (<div ref={parentRef} onMouseEnter={onEnter} onMouseLeave={onLeave} data-component="cell-aside" inert={ariaHidden ? true : undefined} tabIndex={ariaHidden ? -1 : undefined} className={`group-table-cell-aside absolute inset-0 top-0 flex h-full w-full items-stretch transition-opacity duration-300 ease-in-out ${className}`}>
|
|
20
|
+
<div ref={ref} className="isolate block">
|
|
21
|
+
{props.children}
|
|
22
|
+
</div>
|
|
23
|
+
</div>);
|
|
24
|
+
};
|
|
25
|
+
export const Row = (index, row, context) => {
|
|
26
|
+
const cols = context.cols;
|
|
27
|
+
const loading = context.loading;
|
|
28
|
+
return (<Fragment>
|
|
29
|
+
{cols.map((col, colIndex) => {
|
|
30
|
+
const matrix = `${colIndex},${index}`;
|
|
31
|
+
const value = path(row, col.id);
|
|
32
|
+
const Component = col.Element;
|
|
33
|
+
const className = col.cellProps?.className || "";
|
|
34
|
+
const exposeAside = colIndex === 0 && context.Aside && loading === false;
|
|
35
|
+
const Aside = context.Aside;
|
|
36
|
+
return (<td {...col.cellProps} role="cell" data-matrix={matrix} key={`accessor-${index}-${colIndex}`} className={`typography group-table-cell flex border-collapse flex-col whitespace-pre-wrap border border-y border-b border-table-border p-table-cell-padding md:table-cell md:border-b-0 md:border-r md:border-l-transparent md:last:border-r-transparent ${className}`}>
|
|
37
|
+
{exposeAside ? (<RowAside>
|
|
38
|
+
<Aside col={col} row={row} rowIndex={index}/>
|
|
39
|
+
</RowAside>) : null}
|
|
40
|
+
<span className="text-typography-sm block font-bold leading-tight md:hidden">{col.thead}</span>
|
|
41
|
+
<span className="relative">
|
|
42
|
+
{loading ? (SkeletonCell) : Component ? (<Fragment>
|
|
43
|
+
<Component row={row} matrix={matrix} col={col} rowIndex={index} value={value}/>
|
|
44
|
+
</Fragment>) : (<Fragment>{Is.nil(value) ? "" : value}</Fragment>)}
|
|
45
|
+
</span>
|
|
46
|
+
</td>);
|
|
47
|
+
})}
|
|
48
|
+
</Fragment>);
|
|
49
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Any, Label } from "../../types";
|
|
3
|
+
import { Col, TableConfiguration, TableOperationProps } from "./table-lib";
|
|
4
|
+
type Keyof<T extends Any> = keyof T extends infer R extends string ? R : never;
|
|
5
|
+
declare enum Order {
|
|
6
|
+
Asc = "asc",
|
|
7
|
+
Desc = "desc",
|
|
8
|
+
Undefined = "undefined"
|
|
9
|
+
}
|
|
10
|
+
export type Sorter<T extends Any> = {
|
|
11
|
+
value: Keyof<T>;
|
|
12
|
+
type: Order;
|
|
13
|
+
label: Label;
|
|
14
|
+
id: string;
|
|
15
|
+
};
|
|
16
|
+
export declare const multiSort: <T extends Any>(array: T[], fields: Sorter<T>[]) => T[];
|
|
17
|
+
type Props<T extends Any> = TableConfiguration<T, {
|
|
18
|
+
cols: Col<T>[];
|
|
19
|
+
sorters: Sorter<T>[];
|
|
20
|
+
set: React.Dispatch<React.SetStateAction<Sorter<T>[]>>;
|
|
21
|
+
}>;
|
|
22
|
+
export declare const Sort: <T extends Any>(props: Props<T>) => React.JSX.Element;
|
|
23
|
+
type SorterHeadProps<T extends Any> = Pick<TableOperationProps<T>, "sorters" | "setSorters"> & {
|
|
24
|
+
col: Col<T>;
|
|
25
|
+
};
|
|
26
|
+
export declare const SorterHead: <T extends Any>(props: SorterHeadProps<T>) => React.JSX.Element;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=sort.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../../../src/components/table/sort.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,GAAG,EAAY,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAErF,KAAK,KAAK,CAAC,CAAC,SAAS,GAAG,IAAI,MAAM,CAAC,SAAS,MAAM,CAAC,SAAS,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC;AAE/E,aAAK,KAAK;IACN,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,SAAS,cAAc;CAC1B;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,GAAG,IAAI;IAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAAC,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAY/F,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE,QAGvE,CAAC;AAEF,KAAK,KAAK,CAAC,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAC1C,CAAC,EACD;IACI,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACrB,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAC1D,CACJ,CAAC;AASF,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,GAAG,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,sBA4ElD,CAAC;AAEF,KAAK,eAAe,CAAC,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC,GAAG;IAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC;AAE/G,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,GAAG,EAAE,OAAO,eAAe,CAAC,CAAC,CAAC,sBAkClE,CAAC"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { SortAscendingIcon, SortDescendingIcon, CaretUpDownIcon, PlusIcon, TrashIcon } from "@phosphor-icons/react";
|
|
3
|
+
import React, { Fragment, useState } from "react";
|
|
4
|
+
import { useTranslations } from "../../hooks/use-translations";
|
|
5
|
+
import { uuid } from "../../lib/fns";
|
|
6
|
+
import { Dropdown } from "../floating/dropdown";
|
|
7
|
+
import { Select } from "../form/select";
|
|
8
|
+
import { getLabel } from "./table-lib";
|
|
9
|
+
var Order;
|
|
10
|
+
(function (Order) {
|
|
11
|
+
Order["Asc"] = "asc";
|
|
12
|
+
Order["Desc"] = "desc";
|
|
13
|
+
Order["Undefined"] = "undefined";
|
|
14
|
+
})(Order || (Order = {}));
|
|
15
|
+
const createSorterFn = (fields) => (a, b) => fields.reduce((acc, x) => {
|
|
16
|
+
const reverse = x.type === "desc" ? -1 : 1;
|
|
17
|
+
const property = x.value;
|
|
18
|
+
const p = a[property] > b[property] ? reverse : a[property] < b[property] ? -reverse : 0;
|
|
19
|
+
return acc !== 0 ? acc : p;
|
|
20
|
+
}, 0);
|
|
21
|
+
export const multiSort = (array, fields) => {
|
|
22
|
+
array.sort(createSorterFn(fields));
|
|
23
|
+
return array;
|
|
24
|
+
};
|
|
25
|
+
const createSorter = (col, label, order) => ({
|
|
26
|
+
label,
|
|
27
|
+
id: uuid(),
|
|
28
|
+
type: order,
|
|
29
|
+
value: col.id,
|
|
30
|
+
});
|
|
31
|
+
export const Sort = (props) => {
|
|
32
|
+
const translation = useTranslations();
|
|
33
|
+
const orders = {
|
|
34
|
+
asc: { label: translation.tableSortAsc, value: Order.Asc },
|
|
35
|
+
desc: { label: translation.tableSortDesc, value: Order.Desc },
|
|
36
|
+
};
|
|
37
|
+
const orderOptions = [orders.asc, orders.desc];
|
|
38
|
+
const onAddSorter = () => {
|
|
39
|
+
const col = props.cols[0];
|
|
40
|
+
if (col)
|
|
41
|
+
props.set((prev) => [...prev, createSorter(col, orders.asc.label, orders.asc.value)]);
|
|
42
|
+
};
|
|
43
|
+
const onSetSorter = (id) => (e) => {
|
|
44
|
+
const value = e.target.value;
|
|
45
|
+
props.set((prev) => prev.map((x) => (x.id === id ? { ...x, value: value } : x)));
|
|
46
|
+
};
|
|
47
|
+
const onSortOrderType = (id) => (e) => {
|
|
48
|
+
const type = e.target.value;
|
|
49
|
+
props.set((prev) => prev.map((x) => (x.id === id ? { ...x, type: type } : x)));
|
|
50
|
+
};
|
|
51
|
+
const onDelete = (e) => {
|
|
52
|
+
const id = e.currentTarget.dataset.id || "";
|
|
53
|
+
props.set((prev) => prev.filter((x) => x.id !== id));
|
|
54
|
+
};
|
|
55
|
+
return (<Fragment>
|
|
56
|
+
<Dropdown title={translation.tableSortDropdownTitle} trigger={<span className="flex items-center gap-table-inline-gap-tight proportional-nums">
|
|
57
|
+
<CaretUpDownIcon size={14}/>
|
|
58
|
+
{translation.tableSortOrderByLabel} {props.sorters.length === 0 ? "" : ` (${props.sorters.length})`}
|
|
59
|
+
</span>}>
|
|
60
|
+
<ul className="mt-table-groups-mt space-y-2">
|
|
61
|
+
{props.sorters.map((sorter) => {
|
|
62
|
+
return (<li key={`sorter-select-${sorter.id}`} className="flex flex-nowrap gap-3">
|
|
63
|
+
<Select options={props.options} value={sorter.value} onChange={onSetSorter(sorter.id)} title={translation.tableSortOrderInputTitle} placeholder={translation.tableSortOrderInputPlaceholder}/>
|
|
64
|
+
<Select onChange={onSortOrderType(sorter.id)} value={sorter.type} options={orderOptions} title={translation.tableSortTypeInputTitle} placeholder={translation.tableSortTypeInputPlaceholder}/>
|
|
65
|
+
<button className="mt-table-groups-mt" data-id={sorter.id} onClick={onDelete}>
|
|
66
|
+
<span className="text-danger">
|
|
67
|
+
<TrashIcon aria-hidden="true" size={14}/>
|
|
68
|
+
</span>
|
|
69
|
+
</button>
|
|
70
|
+
</li>);
|
|
71
|
+
})}
|
|
72
|
+
<li>
|
|
73
|
+
<button type="button" onClick={onAddSorter} className="flex items-center gap-table-inline-gap-tight text-primary">
|
|
74
|
+
<PlusIcon size={14}/> {translation.tableSortAddButton}
|
|
75
|
+
</button>
|
|
76
|
+
</li>
|
|
77
|
+
</ul>
|
|
78
|
+
</Dropdown>
|
|
79
|
+
</Fragment>);
|
|
80
|
+
};
|
|
81
|
+
export const SorterHead = (props) => {
|
|
82
|
+
const translations = useTranslations();
|
|
83
|
+
const [status, setStatus] = useState(() => {
|
|
84
|
+
const sorter = props.sorters.find((sort) => sort.value === props.col.id);
|
|
85
|
+
return sorter ? sorter.type : Order.Undefined;
|
|
86
|
+
});
|
|
87
|
+
const onClick = () => {
|
|
88
|
+
const next = status === Order.Undefined ? Order.Asc : status === Order.Asc ? Order.Desc : Order.Undefined;
|
|
89
|
+
setStatus(next);
|
|
90
|
+
props.setSorters((prev) => {
|
|
91
|
+
if (next === Order.Undefined)
|
|
92
|
+
return prev.filter((x) => x.value !== props.col.id);
|
|
93
|
+
const findIndex = prev.findIndex((p) => p.value === props.col.id);
|
|
94
|
+
const sorter = createSorter(props.col, next, next);
|
|
95
|
+
if (findIndex === -1)
|
|
96
|
+
return [...prev, sorter];
|
|
97
|
+
prev[findIndex] = sorter;
|
|
98
|
+
return [...prev];
|
|
99
|
+
});
|
|
100
|
+
};
|
|
101
|
+
const labelId = `${props.col.id}-sorter-id`;
|
|
102
|
+
const label = getLabel(props.col);
|
|
103
|
+
return (<button aria-labelledby={labelId} className="isolate flex items-center" onClick={onClick} type="button">
|
|
104
|
+
<span id={labelId} className="sr-only">
|
|
105
|
+
{translations.tableSortDropdownTitle} {label}
|
|
106
|
+
</span>
|
|
107
|
+
{status === Order.Asc ? <SortAscendingIcon size={14}/> : null}
|
|
108
|
+
{status === Order.Desc ? <SortDescendingIcon size={14}/> : null}
|
|
109
|
+
{status === Order.Undefined ? <CaretUpDownIcon size={14}/> : null}
|
|
110
|
+
</button>);
|
|
111
|
+
};
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { AllPaths } from "sidekicker";
|
|
3
|
+
import { Any, POJO, SetState } from "../../types";
|
|
4
|
+
import { OptionProps } from "../form/select";
|
|
5
|
+
import { FilterConfig } from "./filter";
|
|
6
|
+
import { GroupItem } from "./group";
|
|
7
|
+
import { Sorter } from "./sort";
|
|
8
|
+
export declare const getLabel: <T extends POJO>(col: Col<T>) => string | number | bigint | boolean | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined>;
|
|
9
|
+
export type TableConfiguration<T extends POJO, M extends POJO = Any> = M & {
|
|
10
|
+
cols: Col<T>[];
|
|
11
|
+
options: OptionProps[];
|
|
12
|
+
};
|
|
13
|
+
export declare const createOptionCols: <T extends POJO>(cols: Col<T>[]) => OptionProps[];
|
|
14
|
+
export declare enum ColType {
|
|
15
|
+
Boolean = "boolean",
|
|
16
|
+
Number = "number",
|
|
17
|
+
Select = "select",
|
|
18
|
+
Text = "text"
|
|
19
|
+
}
|
|
20
|
+
export declare const valueFromType: (input: HTMLInputElement) => string | number;
|
|
21
|
+
type THead = React.ReactElement | React.ReactNode;
|
|
22
|
+
export type ColMatrix = `${number},${number}`;
|
|
23
|
+
type ParsePath<path, output extends string[] = [], currentChunk extends string = ""> = path extends number ? [`${path}`] : path extends `${infer first}${infer rest}` ? first extends "." | "[" | "]" ? ParsePath<rest, [...output, ...(currentChunk extends "" ? [] : [currentChunk])], ""> : ParsePath<rest, output, `${currentChunk}${first}`> : [...output, ...(currentChunk extends "" ? [] : [currentChunk])];
|
|
24
|
+
type RecursiveGet<Obj, pathList> = Obj extends any ? pathList extends [infer first, ...infer rest] ? first extends keyof Obj ? RecursiveGet<Obj[first], rest> : [first, Obj] extends [`${number}` | "number", readonly any[]] ? RecursiveGet<Extract<Obj, any[]>[number], rest> : undefined : Obj : never;
|
|
25
|
+
type GetFromPath<Obj, path> = RecursiveGet<Obj, ParsePath<path>>;
|
|
26
|
+
export type CellAsideElement<T extends POJO> = {
|
|
27
|
+
row: T;
|
|
28
|
+
rowIndex: number;
|
|
29
|
+
col: ColOptions<T, AllPaths<T>>;
|
|
30
|
+
};
|
|
31
|
+
export type CellPropsElement<T extends POJO, K extends AllPaths<T>> = {
|
|
32
|
+
row: T;
|
|
33
|
+
value: GetFromPath<T, K>;
|
|
34
|
+
rowIndex: number;
|
|
35
|
+
matrix: ColMatrix;
|
|
36
|
+
col: ColOptions<T, K> & {
|
|
37
|
+
id: K;
|
|
38
|
+
thead: THead;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
type ColOptions<T extends POJO, K extends AllPaths<T>> = Partial<{
|
|
42
|
+
type: ColType;
|
|
43
|
+
allowSort: boolean;
|
|
44
|
+
headerLabel: string;
|
|
45
|
+
allowFilter: boolean;
|
|
46
|
+
Element: React.FC<CellPropsElement<T, K>>;
|
|
47
|
+
thProps: React.HTMLAttributes<HTMLTableCellElement>;
|
|
48
|
+
cellProps: React.HTMLAttributes<HTMLTableCellElement>;
|
|
49
|
+
}>;
|
|
50
|
+
export type ColConstructor<T extends POJO> = {
|
|
51
|
+
getAll: () => Col<T>[];
|
|
52
|
+
remove: <K extends AllPaths<T>>(id: K) => void;
|
|
53
|
+
filter: (c: (c: Col<T>) => boolean) => Col<T>[];
|
|
54
|
+
add: <K extends AllPaths<T>>(id: K, thead: THead, props?: ColOptions<T, K>) => void;
|
|
55
|
+
};
|
|
56
|
+
declare const cols: <T extends POJO>() => <K extends AllPaths<T>>(id: K, thead: THead, options: ColOptions<T, K>) => {
|
|
57
|
+
id: K;
|
|
58
|
+
thead: THead;
|
|
59
|
+
type?: ColType | undefined;
|
|
60
|
+
allowSort?: boolean | undefined;
|
|
61
|
+
headerLabel?: string | undefined;
|
|
62
|
+
allowFilter?: boolean | undefined;
|
|
63
|
+
Element?: React.FC<CellPropsElement<T, K>> | undefined;
|
|
64
|
+
thProps?: React.HTMLAttributes<HTMLTableCellElement> | undefined;
|
|
65
|
+
cellProps?: React.HTMLAttributes<HTMLTableCellElement> | undefined;
|
|
66
|
+
};
|
|
67
|
+
export type Col<T extends POJO> = ReturnType<ReturnType<typeof cols<T>>>;
|
|
68
|
+
export type TablePagination = {
|
|
69
|
+
size: number;
|
|
70
|
+
pages: number;
|
|
71
|
+
current: number;
|
|
72
|
+
hasNext: boolean;
|
|
73
|
+
sizes?: number[];
|
|
74
|
+
totalItems: number;
|
|
75
|
+
hasPrevious: boolean;
|
|
76
|
+
onChangeSize?: (size: number) => void;
|
|
77
|
+
asLink?: React.FC<React.PropsWithChildren<{
|
|
78
|
+
href: number | "previous" | "next";
|
|
79
|
+
className: string;
|
|
80
|
+
}>>;
|
|
81
|
+
};
|
|
82
|
+
export type TableGetters<T extends POJO> = {
|
|
83
|
+
rows: T[];
|
|
84
|
+
cols: Col<T>[];
|
|
85
|
+
sorters: Sorter<T>[];
|
|
86
|
+
groups: GroupItem<T>[];
|
|
87
|
+
filters: FilterConfig<T>[];
|
|
88
|
+
pagination: TablePagination | null;
|
|
89
|
+
};
|
|
90
|
+
type TableSetters<T extends POJO> = {
|
|
91
|
+
setCols: SetState<Col<T>[]>;
|
|
92
|
+
setSorters: SetState<Sorter<T>[]>;
|
|
93
|
+
setGroups: SetState<GroupItem<T>[]>;
|
|
94
|
+
setFilters: SetState<FilterConfig<T>[]>;
|
|
95
|
+
};
|
|
96
|
+
export type TableOperationProps<T extends POJO> = TableConfiguration<T, TableSetters<T> & TableGetters<T> & {
|
|
97
|
+
set?: (v: TableGetters<T>) => void;
|
|
98
|
+
} & {
|
|
99
|
+
inlineSorter: boolean;
|
|
100
|
+
inlineFilter: boolean;
|
|
101
|
+
}>;
|
|
102
|
+
export declare const createColumns: <T extends POJO>(callback: (o: ColConstructor<T>) => void) => {
|
|
103
|
+
id: AllPaths<T, never>;
|
|
104
|
+
thead: THead;
|
|
105
|
+
type?: ColType | undefined;
|
|
106
|
+
allowSort?: boolean | undefined;
|
|
107
|
+
headerLabel?: string | undefined;
|
|
108
|
+
allowFilter?: boolean | undefined;
|
|
109
|
+
Element?: React.FC<CellPropsElement<T, AllPaths<T, never>>> | undefined;
|
|
110
|
+
thProps?: React.HTMLAttributes<HTMLTableCellElement> | undefined;
|
|
111
|
+
cellProps?: React.HTMLAttributes<HTMLTableCellElement> | undefined;
|
|
112
|
+
}[];
|
|
113
|
+
export declare const useTablePreferences: <T extends POJO>(name: string, cols: Col<T>[], options?: Partial<TableGetters<T>>) => {
|
|
114
|
+
name: string;
|
|
115
|
+
set: (getters: TableGetters<T>) => void;
|
|
116
|
+
cols: {
|
|
117
|
+
id: AllPaths<T, never>;
|
|
118
|
+
thead: THead;
|
|
119
|
+
type?: ColType | undefined;
|
|
120
|
+
allowSort?: boolean | undefined;
|
|
121
|
+
headerLabel?: string | undefined;
|
|
122
|
+
allowFilter?: boolean | undefined;
|
|
123
|
+
Element?: React.FC<CellPropsElement<T, AllPaths<T, never>>> | undefined;
|
|
124
|
+
thProps?: React.HTMLAttributes<HTMLTableCellElement> | undefined;
|
|
125
|
+
cellProps?: React.HTMLAttributes<HTMLTableCellElement> | undefined;
|
|
126
|
+
}[];
|
|
127
|
+
sorters: Sorter<T>[];
|
|
128
|
+
groups: GroupItem<T>[];
|
|
129
|
+
filters: FilterConfig<T>[];
|
|
130
|
+
pagination: TablePagination | null;
|
|
131
|
+
};
|
|
132
|
+
export declare const useWidthControl: <T extends object>(reorder: (c: Col<T>[]) => void) => readonly [React.RefObject<HTMLTableRowElement | null>, (cols: Col<T>[]) => void];
|
|
133
|
+
export declare const getModalScrollerRef: () => HTMLElement | undefined;
|
|
134
|
+
export {};
|
|
135
|
+
//# sourceMappingURL=table-lib.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-lib.d.ts","sourceRoot":"","sources":["../../../src/components/table/table-lib.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCallback, useRef } from "react";
|
|
3
|
+
import { LocalStorage } from "storage-manager-js";
|
|
4
|
+
import { useReducer } from "use-typed-reducer";
|
|
5
|
+
import { useStableRef } from "../../hooks/use-stable-ref";
|
|
6
|
+
import { isSsr } from "../../lib/fns";
|
|
7
|
+
export const getLabel = (col) => col.headerLabel ?? col.thead ?? col.id;
|
|
8
|
+
export const createOptionCols = (cols) => cols.map((opt) => ({
|
|
9
|
+
value: opt.id,
|
|
10
|
+
label: (opt.thead ?? opt.headerLabel ?? opt.id),
|
|
11
|
+
}));
|
|
12
|
+
export var ColType;
|
|
13
|
+
(function (ColType) {
|
|
14
|
+
ColType["Boolean"] = "boolean";
|
|
15
|
+
ColType["Number"] = "number";
|
|
16
|
+
ColType["Select"] = "select";
|
|
17
|
+
ColType["Text"] = "text";
|
|
18
|
+
})(ColType || (ColType = {}));
|
|
19
|
+
export const valueFromType = (input) => (input.type === "number" ? input.valueAsNumber : input.value);
|
|
20
|
+
const cols = () => (id, thead, options) => ({ ...options, id, thead });
|
|
21
|
+
export const createColumns = (callback) => {
|
|
22
|
+
let items = [];
|
|
23
|
+
const add = (id, thead, options) => items.push({ ...options, id, thead });
|
|
24
|
+
const remove = (id) => (items = items.filter((x) => x.id !== id));
|
|
25
|
+
const getAll = () => Array.from(items);
|
|
26
|
+
const filter = (c) => (items = Array.from(items.filter(c)));
|
|
27
|
+
callback({ add, remove, getAll, filter });
|
|
28
|
+
return items;
|
|
29
|
+
};
|
|
30
|
+
const noop = {};
|
|
31
|
+
const mergeCols = (cols, saved) => {
|
|
32
|
+
if (!Array.isArray(saved))
|
|
33
|
+
return cols;
|
|
34
|
+
const savedSet = new Set(saved.map((x) => x.id));
|
|
35
|
+
if (!cols.every((x) => savedSet.has(x.id))) {
|
|
36
|
+
return cols;
|
|
37
|
+
}
|
|
38
|
+
const map = new Map(cols.map((x) => [x.id, x]));
|
|
39
|
+
return saved.map((mock, index) => {
|
|
40
|
+
const original = map.get(mock.id);
|
|
41
|
+
if (original === undefined)
|
|
42
|
+
return cols[index];
|
|
43
|
+
return original;
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
export const useTablePreferences = (name, cols, options = noop) => {
|
|
47
|
+
const init = isSsr() ? null : LocalStorage.get(`@components/table-${name}`) || null;
|
|
48
|
+
const [state, dispatch] = useReducer({
|
|
49
|
+
name,
|
|
50
|
+
groups: options.groups || init?.groups || [],
|
|
51
|
+
sorters: options.sorters || init?.sorters || [],
|
|
52
|
+
filters: options.filters || init?.filters || [],
|
|
53
|
+
cols: mergeCols(cols, init?.cols),
|
|
54
|
+
}, (get) => {
|
|
55
|
+
const intercept = (partial) => {
|
|
56
|
+
const prev = get.state();
|
|
57
|
+
const result = { ...prev, ...partial };
|
|
58
|
+
if (!isSsr())
|
|
59
|
+
LocalStorage.set(`@components/table-${prev.name}`, result);
|
|
60
|
+
return result;
|
|
61
|
+
};
|
|
62
|
+
intercept(get.state());
|
|
63
|
+
return {
|
|
64
|
+
set: (getters) => intercept(getters),
|
|
65
|
+
};
|
|
66
|
+
});
|
|
67
|
+
return { ...state, ...dispatch, name };
|
|
68
|
+
};
|
|
69
|
+
export const useWidthControl = (reorder) => {
|
|
70
|
+
const stableRef = useStableRef(reorder);
|
|
71
|
+
const ref = useRef(null);
|
|
72
|
+
const onChange = useCallback((cols) => {
|
|
73
|
+
stableRef.current(cols);
|
|
74
|
+
cols.forEach((x) => {
|
|
75
|
+
const c = ref.current.querySelector(`th[data-tableheader="${x.id}"]`);
|
|
76
|
+
if (!c)
|
|
77
|
+
return;
|
|
78
|
+
c.style.width = "auto";
|
|
79
|
+
});
|
|
80
|
+
}, [stableRef]);
|
|
81
|
+
return [ref, onChange];
|
|
82
|
+
};
|
|
83
|
+
export const getModalScrollerRef = () => (isSsr() ? undefined : document.querySelector(`[data-component="modal-body"]`));
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type TableContextProps = Partial<{
|
|
2
|
+
sticky: number;
|
|
3
|
+
}>;
|
|
4
|
+
export declare const TableProvider: import("react").Provider<Partial<{
|
|
5
|
+
sticky: number;
|
|
6
|
+
}>>;
|
|
7
|
+
export declare const useTable: () => Partial<{
|
|
8
|
+
sticky: number;
|
|
9
|
+
}>;
|
|
10
|
+
//# sourceMappingURL=table.context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table.context.d.ts","sourceRoot":"","sources":["../../../src/components/table/table.context.tsx"],"names":[],"mappings":"AAGA,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAI5D,eAAO,MAAM,aAAa;YAJwB,MAAM;GAIN,CAAC;AAEnD,eAAO,MAAM,QAAQ;YAN6B,MAAM;EAMF,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Col, TableOperationProps } from "./table-lib";
|
|
3
|
+
type TableHeaderProps<T extends object> = {
|
|
4
|
+
loading: boolean;
|
|
5
|
+
headers: Col<T>[];
|
|
6
|
+
} & Pick<TableOperationProps<T>, "filters" | "setFilters" | "setCols" | "setSorters" | "sorters" | "inlineSorter" | "inlineFilter">;
|
|
7
|
+
export declare const TableHeader: <T extends object>(props: TableHeaderProps<T>) => React.JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=thead.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thead.d.ts","sourceRoot":"","sources":["../../../src/components/table/thead.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAM7D,OAAO,EAAE,GAAG,EAAY,mBAAmB,EAAmB,MAAM,aAAa,CAAC;AAIlF,KAAK,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAI;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;CACrB,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,cAAc,GAAG,cAAc,CAAC,CAAC;AAmKpI,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,EAAE,OAAO,gBAAgB,CAAC,CAAC,CAAC,sBAuBvE,CAAC"}
|