@thewrong/ui 0.2.0 → 0.4.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/README.md +27 -6
- package/dist/components/_shared/form-size-tokens.cjs +1 -0
- package/dist/{src/components → components}/_shared/form-size-tokens.d.ts +3 -1
- package/dist/components/_shared/form-size-tokens.esm.js +26 -21
- package/dist/components/action-toast/ActionToast.cjs +1 -0
- package/dist/{src/components → components}/action-toast/ActionToast.d.ts +12 -3
- package/dist/components/action-toast/ActionToast.esm.js +133 -123
- package/dist/{src/components → components}/action-toast/index.d.ts +2 -2
- package/dist/components/animated-height/AnimatedHeight.cjs +1 -0
- package/dist/components/animated-height/AnimatedHeight.esm.js +14 -14
- package/dist/components/animated-height/index.d.ts +2 -0
- package/dist/components/badge/Badge.cjs +1 -0
- package/dist/{src/components → components}/badge/Badge.d.ts +1 -1
- package/dist/components/badge/Badge.esm.js +19 -23
- package/dist/components/badge/index.d.ts +2 -0
- package/dist/components/badge/utils.cjs +1 -0
- package/dist/{src/components → components}/badge/utils.d.ts +1 -1
- package/dist/components/badge/utils.esm.js +15 -15
- package/dist/components/button/Button.cjs +1 -0
- package/dist/{src/components → components}/button/Button.d.ts +5 -1
- package/dist/components/button/Button.esm.js +50 -45
- package/dist/{src/components → components}/button/index.d.ts +2 -2
- package/dist/{src/components → components}/button/types.d.ts +3 -1
- package/dist/components/button/utils.cjs +1 -0
- package/dist/{src/components → components}/button/utils.d.ts +3 -3
- package/dist/components/button/utils.esm.js +26 -22
- package/dist/components/checkbox/Checkbox.cjs +1 -0
- package/dist/{src/components → components}/checkbox/Checkbox.d.ts +1 -1
- package/dist/components/checkbox/Checkbox.esm.js +36 -35
- package/dist/components/checkbox/index.d.ts +2 -0
- package/dist/components/checkbox/utils.cjs +1 -0
- package/dist/{src/components → components}/checkbox/utils.d.ts +1 -1
- package/dist/components/checkbox/utils.esm.js +11 -11
- package/dist/components/collapsible/Collapsible.cjs +1 -0
- package/dist/components/collapsible/Collapsible.esm.js +12 -11
- package/dist/components/collapsible/index.d.ts +2 -0
- package/dist/components/copyable-text/CopyableText.cjs +1 -0
- package/dist/components/copyable-text/CopyableText.d.ts +22 -0
- package/dist/components/copyable-text/CopyableText.esm.js +50 -0
- package/dist/components/copyable-text/index.d.ts +2 -0
- package/dist/components/date-input/DateInput.cjs +1 -0
- package/dist/{src/components → components}/date-input/DateInput.d.ts +1 -0
- package/dist/components/date-input/DateInput.esm.js +24 -23
- package/dist/components/date-input/index.d.ts +1 -0
- package/dist/components/date-picker/PickerSheet.cjs +1 -0
- package/dist/components/date-picker/PickerSheet.d.ts +22 -0
- package/dist/components/date-picker/PickerSheet.esm.js +77 -0
- package/dist/components/date-picker/date-picker.cjs +1 -0
- package/dist/{src/components → components}/date-picker/date-picker.d.ts +1 -0
- package/dist/components/date-picker/date-picker.esm.js +99 -147
- package/dist/components/date-picker/date-range-picker.cjs +1 -0
- package/dist/{src/components → components}/date-picker/date-range-picker.d.ts +3 -1
- package/dist/components/date-picker/date-range-picker.esm.js +117 -166
- package/dist/components/date-picker/index.d.ts +5 -0
- package/dist/components/date-picker/month-picker.cjs +1 -0
- package/dist/{src/components → components}/date-picker/month-picker.d.ts +1 -0
- package/dist/components/date-picker/month-picker.esm.js +68 -112
- package/dist/components/drawer/Drawer.cjs +1 -0
- package/dist/components/drawer/Drawer.d.ts +45 -0
- package/dist/components/drawer/Drawer.esm.js +127 -97
- package/dist/components/drawer/index.d.ts +2 -0
- package/dist/components/error-boundary/ErrorBoundary.cjs +1 -0
- package/dist/components/error-boundary/ErrorBoundary.d.ts +23 -0
- package/dist/components/error-boundary/ErrorBoundary.esm.js +46 -0
- package/dist/components/error-boundary/chunk-reload.cjs +1 -0
- package/dist/components/error-boundary/chunk-reload.d.ts +77 -0
- package/dist/components/error-boundary/chunk-reload.esm.js +73 -0
- package/dist/components/error-boundary/index.d.ts +4 -0
- package/dist/components/error-boundary/types.d.ts +23 -0
- package/dist/components/field/Field.cjs +1 -0
- package/dist/components/field/Field.d.ts +16 -0
- package/dist/components/field/Field.esm.js +34 -0
- package/dist/components/field/FieldMessage.cjs +1 -0
- package/dist/components/field/FieldMessage.d.ts +19 -0
- package/dist/components/field/FieldMessage.esm.js +12 -0
- package/dist/components/field/index.d.ts +3 -0
- package/dist/components/field/types.d.ts +24 -0
- package/dist/components/info-tooltip/InfoTooltip.cjs +1 -0
- package/dist/components/info-tooltip/InfoTooltip.esm.js +13 -12
- package/dist/components/info-tooltip/index.d.ts +2 -0
- package/dist/components/input/DecimalInput.cjs +1 -0
- package/dist/components/input/DecimalInput.d.ts +18 -0
- package/dist/components/input/DecimalInput.esm.js +40 -0
- package/dist/components/input/Input.cjs +1 -0
- package/dist/{src/components → components}/input/Input.d.ts +1 -1
- package/dist/components/input/Input.esm.js +47 -53
- package/dist/components/input/PasswordInput.cjs +1 -0
- package/dist/{src/components → components}/input/PasswordInput.d.ts +1 -1
- package/dist/components/input/PasswordInput.esm.js +1 -1
- package/dist/components/input/decimal-validation.cjs +1 -0
- package/dist/components/input/decimal-validation.d.ts +7 -0
- package/dist/components/input/decimal-validation.esm.js +66 -0
- package/dist/components/input/format.cjs +1 -0
- package/dist/{src/components → components}/input/format.d.ts +17 -1
- package/dist/components/input/format.esm.js +16 -5
- package/dist/components/input/index.d.ts +7 -0
- package/dist/{src/components → components}/input/types.d.ts +2 -2
- package/dist/components/input/use-input-format.cjs +1 -0
- package/dist/components/input/use-input-format.d.ts +43 -0
- package/dist/components/input/use-input-format.esm.js +75 -0
- package/dist/components/input/utils.cjs +1 -0
- package/dist/{src/components → components}/input/utils.d.ts +1 -1
- package/dist/components/input/utils.esm.js +19 -18
- package/dist/components/loading-spinner/LoadingSpinner.cjs +1 -0
- package/dist/components/loading-spinner/LoadingSpinner.esm.js +19 -18
- package/dist/components/loading-spinner/index.d.ts +2 -0
- package/dist/components/modal/Modal.cjs +1 -0
- package/dist/{src/components → components}/modal/Modal.d.ts +28 -2
- package/dist/components/modal/Modal.esm.js +148 -118
- package/dist/components/modal/ModalFocusTrapContext.cjs +1 -0
- package/dist/components/modal/ModalFocusTrapContext.d.ts +18 -0
- package/dist/components/modal/ModalFocusTrapContext.esm.js +36 -0
- package/dist/components/modal/ModalSubView.cjs +1 -0
- package/dist/{src/components → components}/modal/ModalSubView.d.ts +6 -1
- package/dist/components/modal/ModalSubView.esm.js +65 -45
- package/dist/components/modal/StandardModal.cjs +1 -0
- package/dist/{src/components → components}/modal/StandardModal.d.ts +8 -2
- package/dist/components/modal/StandardModal.esm.js +18 -15
- package/dist/components/modal/index.d.ts +6 -0
- package/dist/components/month-range-picker/index.d.ts +2 -0
- package/dist/components/month-range-picker/month-range-picker.cjs +1 -0
- package/dist/components/month-range-picker/month-range-picker.d.ts +16 -0
- package/dist/components/month-range-picker/month-range-picker.esm.js +227 -0
- package/dist/components/month-range-picker/month-range-utils.cjs +1 -0
- package/dist/components/month-range-picker/month-range-utils.d.ts +9 -0
- package/dist/components/month-range-picker/month-range-utils.esm.js +28 -0
- package/dist/components/page-title/PageTitle.cjs +1 -0
- package/dist/components/page-title/PageTitle.esm.js +11 -10
- package/dist/components/page-title/index.d.ts +1 -0
- package/dist/components/popover/Popover.cjs +1 -0
- package/dist/components/popover/Popover.esm.js +2 -2
- package/dist/components/popover/index.d.ts +2 -0
- package/dist/components/progress/Progress.cjs +1 -0
- package/dist/components/progress/Progress.d.ts +12 -0
- package/dist/components/progress/Progress.esm.js +24 -0
- package/dist/components/progress/index.d.ts +2 -0
- package/dist/components/progress/types.d.ts +13 -0
- package/dist/components/radio/Radio.cjs +1 -0
- package/dist/components/radio/Radio.d.ts +31 -0
- package/dist/components/radio/Radio.esm.js +118 -0
- package/dist/components/radio/index.d.ts +2 -0
- package/dist/components/radio/types.d.ts +24 -0
- package/dist/components/search-box/ExactMatchToggle.cjs +1 -0
- package/dist/components/search-box/ExactMatchToggle.esm.js +14 -13
- package/dist/components/search-box/SearchBox.cjs +1 -0
- package/dist/{src/components → components}/search-box/SearchBox.d.ts +1 -1
- package/dist/components/search-box/SearchBox.esm.js +94 -93
- package/dist/components/search-box/SearchBoxChips.cjs +1 -0
- package/dist/components/search-box/SearchBoxChips.esm.js +3 -3
- package/dist/components/search-box/SearchBoxDateRange.cjs +1 -0
- package/dist/{src/components → components}/search-box/SearchBoxDateRange.d.ts +1 -1
- package/dist/components/search-box/SearchBoxDateRange.esm.js +39 -36
- package/dist/components/search-box/SearchBoxDateSingle.cjs +1 -0
- package/dist/{src/components → components}/search-box/SearchBoxDateSingle.d.ts +1 -1
- package/dist/components/search-box/SearchBoxDateSingle.esm.js +29 -27
- package/dist/components/search-box/SearchBoxField.cjs +1 -0
- package/dist/{src/components → components}/search-box/SearchBoxField.d.ts +1 -1
- package/dist/components/search-box/SearchBoxFloatingInput.cjs +1 -0
- package/dist/components/search-box/SearchBoxFloatingInput.esm.js +29 -24
- package/dist/components/search-box/SearchBoxFloatingSelect.cjs +1 -0
- package/dist/{src/components → components}/search-box/SearchBoxFloatingSelect.d.ts +1 -1
- package/dist/components/search-box/SearchBoxFloatingSelect.esm.js +56 -51
- package/dist/components/search-box/SearchBoxMonth.cjs +1 -0
- package/dist/components/search-box/SearchBoxMonth.esm.js +21 -20
- package/dist/components/search-box/SearchBoxMultiSelect.cjs +1 -0
- package/dist/{src/components → components}/search-box/SearchBoxMultiSelect.d.ts +2 -2
- package/dist/components/search-box/SearchBoxMultiSelect.esm.js +60 -55
- package/dist/components/search-box/dateRangePresets.cjs +1 -0
- package/dist/{src/components → components}/search-box/dateRangePresets.d.ts +1 -1
- package/dist/{src/components → components}/search-box/index.d.ts +5 -5
- package/dist/components/search-box/parseSearchValues.cjs +1 -0
- package/dist/{src/components → components}/search-box/parseSearchValues.d.ts +2 -2
- package/dist/{src/components → components}/search-box/types.d.ts +1 -1
- package/dist/components/search-box/useSearchBoxState.cjs +1 -0
- package/dist/{src/components → components}/search-box/useSearchBoxState.d.ts +1 -1
- package/dist/components/segmented-code-input/SegmentedCodeInput.cjs +1 -0
- package/dist/components/segmented-code-input/SegmentedCodeInput.d.ts +49 -0
- package/dist/components/segmented-code-input/SegmentedCodeInput.esm.js +87 -0
- package/dist/components/segmented-code-input/code-utils.cjs +1 -0
- package/dist/components/segmented-code-input/code-utils.d.ts +4 -0
- package/dist/components/segmented-code-input/code-utils.esm.js +9 -0
- package/dist/components/segmented-code-input/index.d.ts +2 -0
- package/dist/components/segmented-control/SegmentedControl.cjs +1 -0
- package/dist/components/segmented-control/SegmentedControl.d.ts +27 -0
- package/dist/components/segmented-control/SegmentedControl.esm.js +84 -0
- package/dist/components/segmented-control/index.d.ts +2 -0
- package/dist/components/segmented-control/types.d.ts +30 -0
- package/dist/components/select/MultiSelect.cjs +1 -0
- package/dist/{src/components → components}/select/MultiSelect.d.ts +11 -3
- package/dist/components/select/MultiSelect.esm.js +180 -176
- package/dist/components/select/Select.cjs +1 -0
- package/dist/{src/components → components}/select/Select.d.ts +16 -2
- package/dist/components/select/Select.esm.js +215 -195
- package/dist/components/select/index.d.ts +4 -0
- package/dist/components/select/loading-dots.cjs +1 -0
- package/dist/components/select/loading-dots.d.ts +3 -0
- package/dist/components/select/loading-dots.esm.js +8 -7
- package/dist/components/select/panel-width.cjs +1 -0
- package/dist/components/select/panel-width.d.ts +2 -0
- package/dist/components/select/panel-width.esm.js +7 -0
- package/dist/{src/components → components}/select/types.d.ts +7 -0
- package/dist/{src/components → components}/select/utils.d.ts +1 -1
- package/dist/components/skeleton/Skeleton.cjs +1 -0
- package/dist/components/skeleton/Skeleton.d.ts +6 -0
- package/dist/components/skeleton/Skeleton.esm.js +12 -0
- package/dist/components/skeleton/index.d.ts +2 -0
- package/dist/components/skeleton/types.d.ts +2 -0
- package/dist/components/slider/Slider.cjs +1 -0
- package/dist/components/slider/Slider.d.ts +6 -0
- package/dist/components/slider/Slider.esm.js +36 -0
- package/dist/components/slider/index.d.ts +2 -0
- package/dist/components/slider/types.d.ts +15 -0
- package/dist/components/slider/utils.cjs +1 -0
- package/dist/components/slider/utils.d.ts +3 -0
- package/dist/components/slider/utils.esm.js +15 -0
- package/dist/components/stepper/Stepper.cjs +1 -0
- package/dist/components/stepper/Stepper.d.ts +51 -0
- package/dist/components/stepper/Stepper.esm.js +142 -0
- package/dist/components/stepper/index.d.ts +4 -0
- package/dist/components/stepper/use-stepper.cjs +1 -0
- package/dist/components/stepper/use-stepper.d.ts +43 -0
- package/dist/components/stepper/use-stepper.esm.js +57 -0
- package/dist/components/switch/Switch.cjs +1 -0
- package/dist/{src/components → components}/switch/Switch.d.ts +1 -1
- package/dist/components/switch/Switch.esm.js +21 -20
- package/dist/components/switch/index.d.ts +2 -0
- package/dist/components/switch/utils.cjs +1 -0
- package/dist/{src/components → components}/switch/utils.d.ts +2 -2
- package/dist/components/switch/utils.esm.js +9 -8
- package/dist/components/table/accordion-table.cjs +1 -0
- package/dist/{src/components → components}/table/accordion-table.d.ts +1 -1
- package/dist/components/table/accordion-table.esm.js +261 -247
- package/dist/{src/components → components}/table/column-group-utils.d.ts +1 -1
- package/dist/components/table/components/ColumnPresetSelector.cjs +1 -0
- package/dist/{src/components → components}/table/components/ColumnPresetSelector.d.ts +2 -2
- package/dist/components/table/components/ColumnPresetSelector.esm.js +60 -59
- package/dist/components/table/components/ColumnSettingsTable.cjs +1 -0
- package/dist/{src/components → components}/table/components/ColumnSettingsTable.d.ts +1 -1
- package/dist/components/table/components/ColumnSettingsTable.esm.js +94 -96
- package/dist/components/table/components/KeyboardNavButton.cjs +1 -0
- package/dist/components/table/components/KeyboardNavButton.esm.js +1 -1
- package/dist/components/table/components/PageJumpInput.cjs +1 -0
- package/dist/components/table/components/PageJumpInput.esm.js +33 -32
- package/dist/components/table/components/Pagination.cjs +1 -0
- package/dist/components/table/components/Pagination.esm.js +80 -79
- package/dist/components/table/components/PaginationFooter.cjs +1 -0
- package/dist/components/table/components/PaginationFooter.esm.js +2 -2
- package/dist/components/table/components/SortHeader.cjs +1 -0
- package/dist/components/table/components/SortHeader.d.ts +10 -0
- package/dist/components/table/components/SortHeader.esm.js +27 -0
- package/dist/components/table/components/SortableHeaderCell.cjs +1 -0
- package/dist/{src/components → components}/table/components/SortableHeaderCell.d.ts +10 -2
- package/dist/components/table/components/SortableHeaderCell.esm.js +54 -26
- package/dist/components/table/hooks/sort-state.cjs +1 -0
- package/dist/components/table/hooks/sort-state.d.ts +5 -0
- package/dist/components/table/hooks/sort-state.esm.js +21 -0
- package/dist/components/table/hooks/useColumnPresets.cjs +1 -0
- package/dist/{src/components → components}/table/hooks/useColumnPresets.d.ts +2 -2
- package/dist/components/table/hooks/useColumnResize.cjs +1 -0
- package/dist/{src/components → components}/table/hooks/useColumnResize.d.ts +12 -0
- package/dist/components/table/hooks/useColumnResize.esm.js +66 -54
- package/dist/components/table/hooks/useFillEmptyRows.d.ts +2 -0
- package/dist/components/table/hooks/useInfiniteScroll.d.ts +2 -0
- package/dist/components/table/hooks/useTableColumnState.cjs +1 -0
- package/dist/{src/components → components}/table/hooks/useTableColumnState.d.ts +1 -1
- package/dist/components/table/hooks/useTableDragSelection.d.ts +2 -0
- package/dist/components/table/hooks/useTableSort.cjs +1 -0
- package/dist/{src/components → components}/table/hooks/useTableSort.d.ts +7 -4
- package/dist/components/table/hooks/useTableSort.esm.js +18 -19
- package/dist/components/table/hooks/useVirtualTable.cjs +1 -0
- package/dist/components/table/hooks/useVirtualTable.esm.js +8 -8
- package/dist/components/table/index.d.ts +27 -0
- package/dist/components/table/mini-table.cjs +1 -0
- package/dist/{src/components → components}/table/mini-table.d.ts +1 -1
- package/dist/components/table/mini-table.esm.js +87 -86
- package/dist/components/table/paginated-mini-table.cjs +1 -0
- package/dist/{src/components → components}/table/paginated-mini-table.d.ts +1 -1
- package/dist/components/table/paginated-table.cjs +1 -0
- package/dist/{src/components → components}/table/paginated-table.d.ts +3 -1
- package/dist/components/table/table.cjs +1 -0
- package/dist/components/table/table.d.ts +13 -0
- package/dist/components/table/table.esm.js +189 -173
- package/dist/{src/components → components}/table/types.d.ts +11 -4
- package/dist/components/table/utils.cjs +35 -0
- package/dist/{src/components → components}/table/utils.d.ts +2 -2
- package/dist/components/table/utils.esm.js +2 -2
- package/dist/components/table-checkbox/TableCheckbox.cjs +1 -0
- package/dist/components/table-checkbox/TableCheckbox.esm.js +27 -26
- package/dist/components/table-checkbox/index.d.ts +1 -0
- package/dist/components/table-page-layout/TablePageLayout.cjs +1 -0
- package/dist/components/table-page-layout/TablePageLayout.esm.js +3 -3
- package/dist/{src/components → components}/table-page-layout/index.d.ts +1 -1
- package/dist/components/tabs/Tabs.cjs +1 -0
- package/dist/components/tabs/Tabs.d.ts +8 -0
- package/dist/components/tabs/Tabs.esm.js +53 -0
- package/dist/components/tabs/index.d.ts +2 -0
- package/dist/components/tabs/navigation.cjs +1 -0
- package/dist/components/tabs/navigation.d.ts +2 -0
- package/dist/components/tabs/navigation.esm.js +18 -0
- package/dist/components/tabs/types.d.ts +20 -0
- package/dist/components/textarea/Textarea.cjs +1 -0
- package/dist/{src/components → components}/textarea/Textarea.d.ts +1 -1
- package/dist/components/textarea/Textarea.esm.js +49 -47
- package/dist/components/textarea/index.d.ts +2 -0
- package/dist/components/time-picker/index.d.ts +2 -0
- package/dist/components/time-picker/time-picker.cjs +1 -0
- package/dist/components/time-picker/time-picker.d.ts +35 -0
- package/dist/components/time-picker/time-picker.esm.js +193 -0
- package/dist/components/time-picker/time-utils.cjs +1 -0
- package/dist/components/time-picker/time-utils.d.ts +12 -0
- package/dist/components/time-picker/time-utils.esm.js +56 -0
- package/dist/components/toast/ToastProvider.cjs +1 -0
- package/dist/{src/components → components}/toast/ToastProvider.d.ts +3 -0
- package/dist/components/toast/ToastProvider.esm.js +47 -43
- package/dist/components/toast/index.d.ts +3 -0
- package/dist/components/toolbar/Toolbar.cjs +1 -0
- package/dist/{src/components → components}/toolbar/Toolbar.d.ts +1 -1
- package/dist/components/toolbar/Toolbar.esm.js +99 -98
- package/dist/components/toolbar/index.d.ts +2 -0
- package/dist/components/tooltip/{Tooltip.cjs.js → Tooltip.cjs} +1 -1
- package/dist/components/tooltip/Tooltip.esm.js +1 -1
- package/dist/components/tooltip/index.d.ts +2 -0
- package/dist/components/typewriter-text/TypewriterText.cjs +1 -0
- package/dist/components/typewriter-text/TypewriterText.d.ts +7 -0
- package/dist/components/typewriter-text/TypewriterText.esm.js +58 -0
- package/dist/components/typewriter-text/index.d.ts +2 -0
- package/dist/components/typewriter-text/types.d.ts +12 -0
- package/dist/components/typing-dots/TypingDots.cjs +1 -0
- package/dist/components/typing-dots/TypingDots.d.ts +10 -0
- package/dist/components/typing-dots/TypingDots.esm.js +37 -0
- package/dist/components/typing-dots/index.d.ts +2 -0
- package/dist/components/typing-dots/types.d.ts +4 -0
- package/dist/hooks/awaitableOverlayController.cjs +1 -0
- package/dist/hooks/awaitableOverlayController.d.ts +6 -0
- package/dist/hooks/awaitableOverlayController.esm.js +18 -0
- package/dist/hooks/index.d.ts +17 -0
- package/dist/hooks/useAwaitableOverlay.cjs +1 -0
- package/dist/hooks/useAwaitableOverlay.d.ts +16 -0
- package/dist/hooks/useAwaitableOverlay.esm.js +22 -0
- package/dist/hooks/useFillEmptyRows.cjs +1 -0
- package/dist/{src/components/table/hooks → hooks}/useFillEmptyRows.d.ts +10 -1
- package/dist/hooks/useFillEmptyRows.esm.js +60 -0
- package/dist/hooks/useFocusTrap.cjs +1 -0
- package/dist/hooks/useFocusTrap.d.ts +47 -0
- package/dist/hooks/useFocusTrap.esm.js +210 -0
- package/dist/hooks/useInfiniteScroll.cjs +1 -0
- package/dist/hooks/useInfiniteScroll.d.ts +36 -0
- package/dist/hooks/useInfiniteScroll.esm.js +31 -0
- package/dist/hooks/useTableDragSelection.cjs +1 -0
- package/dist/{src/components/table/hooks → hooks}/useTableDragSelection.d.ts +3 -4
- package/dist/{components/table/hooks → hooks}/useTableDragSelection.esm.js +9 -6
- package/dist/hooks/useVirtualRows.cjs +1 -0
- package/dist/hooks/useVirtualRows.d.ts +56 -0
- package/dist/hooks/useVirtualRows.esm.js +20 -0
- package/dist/hooks.cjs +1 -0
- package/dist/hooks.esm.js +12 -5
- package/dist/index.cjs +1 -0
- package/dist/index.d.ts +42 -0
- package/dist/index.esm.js +83 -58
- package/dist/lib/index.d.ts +6 -0
- package/dist/lib/utils.cjs +1 -0
- package/dist/{src/lib → lib}/utils.d.ts +2 -1
- package/dist/lib/utils.esm.js +108 -5
- package/dist/node_modules/lucide-react/dist/esm/Icon.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/arrow-down.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/arrow-down.esm.js +10 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/arrow-left.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/arrow-up-down.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/arrow-up-down.esm.js +21 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/arrow-up.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/arrow-up.esm.js +10 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/calendar.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/check.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-down.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-left.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/chevrons-left.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/chevrons-right.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/circle-check.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/circle-x.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/clock.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/clock.esm.js +12 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/copy.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/copy.esm.js +15 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/eye-off.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/eye.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/grip-vertical.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/info.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/keyboard.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/list-filter.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/loader-circle.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/minus.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/rotate-ccw.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/save.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/search.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/settings.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/triangle-alert.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/wrench.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/x.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/toPascalCase.cjs +1 -0
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs +1 -0
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.esm.js +559 -550
- package/dist/tokens.css +1158 -0
- package/dist/ui.css +1 -1
- package/llms.txt +46 -17
- package/package.json +11 -8
- package/dist/components/_shared/form-size-tokens.cjs.js +0 -1
- package/dist/components/action-toast/ActionToast.cjs.js +0 -1
- package/dist/components/animated-height/AnimatedHeight.cjs.js +0 -1
- package/dist/components/badge/Badge.cjs.js +0 -1
- package/dist/components/badge/utils.cjs.js +0 -1
- package/dist/components/button/Button.cjs.js +0 -1
- package/dist/components/button/utils.cjs.js +0 -1
- package/dist/components/checkbox/Checkbox.cjs.js +0 -1
- package/dist/components/checkbox/utils.cjs.js +0 -1
- package/dist/components/collapsible/Collapsible.cjs.js +0 -1
- package/dist/components/date-input/DateInput.cjs.js +0 -1
- package/dist/components/date-picker/date-picker.cjs.js +0 -1
- package/dist/components/date-picker/date-range-picker.cjs.js +0 -1
- package/dist/components/date-picker/month-picker.cjs.js +0 -1
- package/dist/components/drawer/Drawer.cjs.js +0 -1
- package/dist/components/info-tooltip/InfoTooltip.cjs.js +0 -1
- package/dist/components/input/Input.cjs.js +0 -1
- package/dist/components/input/PasswordInput.cjs.js +0 -1
- package/dist/components/input/format.cjs.js +0 -1
- package/dist/components/input/utils.cjs.js +0 -1
- package/dist/components/loading-spinner/LoadingSpinner.cjs.js +0 -1
- package/dist/components/modal/Modal.cjs.js +0 -1
- package/dist/components/modal/ModalSubView.cjs.js +0 -1
- package/dist/components/modal/StandardModal.cjs.js +0 -1
- package/dist/components/page-title/PageTitle.cjs.js +0 -1
- package/dist/components/popover/Popover.cjs.js +0 -1
- package/dist/components/search-box/ExactMatchToggle.cjs.js +0 -1
- package/dist/components/search-box/SearchBox.cjs.js +0 -1
- package/dist/components/search-box/SearchBoxChips.cjs.js +0 -1
- package/dist/components/search-box/SearchBoxDateRange.cjs.js +0 -1
- package/dist/components/search-box/SearchBoxDateSingle.cjs.js +0 -1
- package/dist/components/search-box/SearchBoxField.cjs.js +0 -1
- package/dist/components/search-box/SearchBoxFloatingInput.cjs.js +0 -1
- package/dist/components/search-box/SearchBoxFloatingSelect.cjs.js +0 -1
- package/dist/components/search-box/SearchBoxMonth.cjs.js +0 -1
- package/dist/components/search-box/SearchBoxMultiSelect.cjs.js +0 -1
- package/dist/components/search-box/dateRangePresets.cjs.js +0 -1
- package/dist/components/search-box/parseSearchValues.cjs.js +0 -1
- package/dist/components/search-box/useSearchBoxState.cjs.js +0 -1
- package/dist/components/select/MultiSelect.cjs.js +0 -1
- package/dist/components/select/Select.cjs.js +0 -1
- package/dist/components/select/loading-dots.cjs.js +0 -1
- package/dist/components/switch/Switch.cjs.js +0 -1
- package/dist/components/switch/utils.cjs.js +0 -1
- package/dist/components/table/accordion-table.cjs.js +0 -1
- package/dist/components/table/components/ColumnPresetSelector.cjs.js +0 -1
- package/dist/components/table/components/ColumnSettingsTable.cjs.js +0 -4
- package/dist/components/table/components/KeyboardNavButton.cjs.js +0 -1
- package/dist/components/table/components/PageJumpInput.cjs.js +0 -1
- package/dist/components/table/components/Pagination.cjs.js +0 -1
- package/dist/components/table/components/PaginationFooter.cjs.js +0 -1
- package/dist/components/table/components/SortableHeaderCell.cjs.js +0 -1
- package/dist/components/table/hooks/useColumnPresets.cjs.js +0 -1
- package/dist/components/table/hooks/useColumnResize.cjs.js +0 -1
- package/dist/components/table/hooks/useFillEmptyRows.cjs.js +0 -1
- package/dist/components/table/hooks/useFillEmptyRows.esm.js +0 -49
- package/dist/components/table/hooks/useInfiniteScroll.cjs.js +0 -1
- package/dist/components/table/hooks/useInfiniteScroll.esm.js +0 -32
- package/dist/components/table/hooks/useTableColumnState.cjs.js +0 -1
- package/dist/components/table/hooks/useTableDragSelection.cjs.js +0 -1
- package/dist/components/table/hooks/useTableSort.cjs.js +0 -1
- package/dist/components/table/hooks/useVirtualTable.cjs.js +0 -1
- package/dist/components/table/mini-table.cjs.js +0 -1
- package/dist/components/table/paginated-mini-table.cjs.js +0 -1
- package/dist/components/table/paginated-table.cjs.js +0 -1
- package/dist/components/table/table.cjs.js +0 -1
- package/dist/components/table/utils.cjs.js +0 -37
- package/dist/components/table-checkbox/TableCheckbox.cjs.js +0 -1
- package/dist/components/table-page-layout/TablePageLayout.cjs.js +0 -1
- package/dist/components/textarea/Textarea.cjs.js +0 -1
- package/dist/components/toast/ToastProvider.cjs.js +0 -1
- package/dist/components/toolbar/Toolbar.cjs.js +0 -1
- package/dist/hooks.cjs.js +0 -1
- package/dist/index.cjs.js +0 -1
- package/dist/lib/utils.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/Icon.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/arrow-left.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/calendar.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/check.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-down.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-left.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/chevrons-left.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/chevrons-right.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/circle-check.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/circle-x.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/eye-off.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/eye.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/grip-vertical.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/info.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/keyboard.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/list-filter.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/loader-circle.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/minus.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/rotate-ccw.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/save.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/search.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/settings.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/triangle-alert.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/wrench.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/icons/x.cjs.js +0 -1
- package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/toPascalCase.cjs.js +0 -1
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs.js +0 -1
- package/dist/src/components/animated-height/index.d.ts +0 -2
- package/dist/src/components/badge/index.d.ts +0 -2
- package/dist/src/components/checkbox/index.d.ts +0 -2
- package/dist/src/components/collapsible/index.d.ts +0 -2
- package/dist/src/components/date-input/index.d.ts +0 -1
- package/dist/src/components/date-picker/index.d.ts +0 -5
- package/dist/src/components/drawer/Drawer.d.ts +0 -23
- package/dist/src/components/drawer/index.d.ts +0 -2
- package/dist/src/components/info-tooltip/index.d.ts +0 -2
- package/dist/src/components/input/index.d.ts +0 -4
- package/dist/src/components/loading-spinner/index.d.ts +0 -2
- package/dist/src/components/modal/index.d.ts +0 -6
- package/dist/src/components/page-title/index.d.ts +0 -1
- package/dist/src/components/popover/index.d.ts +0 -2
- package/dist/src/components/select/index.d.ts +0 -4
- package/dist/src/components/select/loading-dots.d.ts +0 -9
- package/dist/src/components/switch/index.d.ts +0 -2
- package/dist/src/components/table/hooks/useInfiniteScroll.d.ts +0 -58
- package/dist/src/components/table/index.d.ts +0 -27
- package/dist/src/components/table/table.d.ts +0 -10
- package/dist/src/components/table-checkbox/index.d.ts +0 -1
- package/dist/src/components/textarea/index.d.ts +0 -2
- package/dist/src/components/toast/index.d.ts +0 -3
- package/dist/src/components/toolbar/index.d.ts +0 -2
- package/dist/src/components/tooltip/index.d.ts +0 -2
- package/dist/src/hooks/index.d.ts +0 -4
- package/dist/src/index.d.ts +0 -27
- package/dist/src/lib/index.d.ts +0 -6
- /package/dist/_virtual/_rolldown/{runtime.cjs.js → runtime.cjs} +0 -0
- /package/dist/{src/components → components}/animated-height/AnimatedHeight.d.ts +0 -0
- /package/dist/{src/components → components}/badge/types.d.ts +0 -0
- /package/dist/{src/components → components}/checkbox/types.d.ts +0 -0
- /package/dist/{src/components → components}/collapsible/Collapsible.d.ts +0 -0
- /package/dist/{src/components → components}/info-tooltip/InfoTooltip.d.ts +0 -0
- /package/dist/{src/components → components}/loading-spinner/LoadingSpinner.d.ts +0 -0
- /package/dist/{src/components → components}/page-title/PageTitle.d.ts +0 -0
- /package/dist/{src/components → components}/popover/Popover.d.ts +0 -0
- /package/dist/{src/components → components}/search-box/ExactMatchToggle.d.ts +0 -0
- /package/dist/{src/components → components}/search-box/SearchBoxChips.d.ts +0 -0
- /package/dist/{src/components → components}/search-box/SearchBoxFloatingInput.d.ts +0 -0
- /package/dist/{src/components → components}/search-box/SearchBoxMonth.d.ts +0 -0
- /package/dist/components/search-box/{SearchBoxSheetContext.cjs.js → SearchBoxSheetContext.cjs} +0 -0
- /package/dist/{src/components → components}/search-box/SearchBoxSheetContext.d.ts +0 -0
- /package/dist/components/search-box/{parseDateRange.cjs.js → parseDateRange.cjs} +0 -0
- /package/dist/{src/components → components}/search-box/parseDateRange.d.ts +0 -0
- /package/dist/{src/components → components}/switch/types.d.ts +0 -0
- /package/dist/components/table/{column-group-utils.cjs.js → column-group-utils.cjs} +0 -0
- /package/dist/{src/components → components}/table/components/KeyboardNavButton.d.ts +0 -0
- /package/dist/{src/components → components}/table/components/PageJumpInput.d.ts +0 -0
- /package/dist/{src/components → components}/table/components/Pagination.d.ts +0 -0
- /package/dist/{src/components → components}/table/components/PaginationFooter.d.ts +0 -0
- /package/dist/{src/components → components}/table/hooks/useVirtualTable.d.ts +0 -0
- /package/dist/{src/components → components}/table-checkbox/TableCheckbox.d.ts +0 -0
- /package/dist/{src/components → components}/table-page-layout/TablePageLayout.d.ts +0 -0
- /package/dist/{src/components → components}/textarea/types.d.ts +0 -0
- /package/dist/{src/components → components}/tooltip/Tooltip.d.ts +0 -0
- /package/dist/hooks/{useBottomSheetDrag.cjs.js → useBottomSheetDrag.cjs} +0 -0
- /package/dist/{src/hooks → hooks}/useBottomSheetDrag.d.ts +0 -0
- /package/dist/hooks/{useClickOutside.cjs.js → useClickOutside.cjs} +0 -0
- /package/dist/{src/hooks → hooks}/useClickOutside.d.ts +0 -0
- /package/dist/hooks/{useMediaQuery.cjs.js → useMediaQuery.cjs} +0 -0
- /package/dist/{src/hooks → hooks}/useMediaQuery.d.ts +0 -0
- /package/dist/hooks/{useScrollLock.cjs.js → useScrollLock.cjs} +0 -0
- /package/dist/{src/hooks → hooks}/useScrollLock.d.ts +0 -0
- /package/dist/lib/{Portal.cjs.js → Portal.cjs} +0 -0
- /package/dist/{src/lib → lib}/Portal.d.ts +0 -0
- /package/dist/lib/{column-preset-storage.cjs.js → column-preset-storage.cjs} +0 -0
- /package/dist/{src/lib → lib}/column-preset-storage.d.ts +0 -0
- /package/dist/lib/{overlay-stack.cjs.js → overlay-stack.cjs} +0 -0
- /package/dist/{src/lib → lib}/overlay-stack.d.ts +0 -0
- /package/dist/node_modules/clsx/dist/{clsx.cjs.js → clsx.cjs} +0 -0
- /package/dist/node_modules/lucide-react/dist/esm/{context.cjs.js → context.cjs} +0 -0
- /package/dist/node_modules/lucide-react/dist/esm/{defaultAttributes.cjs.js → defaultAttributes.cjs} +0 -0
- /package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/{hasA11yProp.cjs.js → hasA11yProp.cjs} +0 -0
- /package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/{mergeClasses.cjs.js → mergeClasses.cjs} +0 -0
- /package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/{toCamelCase.cjs.js → toCamelCase.cjs} +0 -0
- /package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/{toKebabCase.cjs.js → toKebabCase.cjs} +0 -0
- /package/dist/node_modules/use-debounce/dist/{index.module.cjs.js → index.module.cjs} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("../../lib/utils.cjs"),t=require("../../node_modules/lucide-react/dist/esm/icons/grip-vertical.cjs"),n=require("../loading-spinner/LoadingSpinner.cjs"),r=require("../table-checkbox/TableCheckbox.cjs"),i=require("./column-group-utils.cjs"),a=require("./components/SortableHeaderCell.cjs"),o=require("./components/SortHeader.cjs"),s=require("./hooks/sort-state.cjs"),ee=require("./hooks/useColumnResize.cjs"),te=require("../../hooks/useFillEmptyRows.cjs"),ne=require("../../hooks/useTableDragSelection.cjs"),re=require("./hooks/useTableSort.cjs"),c=require("./utils.cjs");let l=require("react"),u=require("react/jsx-runtime"),d=require("@dnd-kit/core"),f=require("@dnd-kit/sortable");var ie=({transform:e,draggingNodeRect:t,containerNodeRect:n})=>{let r={...e,y:0};if(!t||!n)return r;let i=n.left-t.left,a=n.right-t.right;return r.x=Math.min(Math.max(r.x,i),a),r},p=(0,l.forwardRef)((p,m)=>{let{data:h,columns:g,columnGroups:ae,rowHeight:_,loading:oe=!1,isFetching:v=!1,emptyMessage:se=`데이터가 없어요`,onRowClick:y,selectedRows:b=[],onRowSelect:x,enableRowSelection:S=!1,enableSelectAll:C=!1,rowCompare:ce,getRowId:le,enableSorting:w=!1,sortCycle:ue=`tri`,formatSortLabel:de,serverSideSorting:T=!1,onSortChange:fe,initialSort:pe,variant:me=`default`,size:he=`medium`,stickyHeader:E=!0,height:D,maxHeight:O,storageKey:ge,columnState:k,fillEmptyRows:A=!0,totalElements:j,footerSlot:_e,className:M=``,"data-testid":N,...P}=p,{sort:F,sortedData:I,handleSort:ve}=re.useTableSort({initialSort:pe,cycle:ue,serverSide:T,onSort:fe||void 0}),L=e=>!!(e.sortable&&(w||T)),R=e=>L(e)?s.ariaSort(s.sortDirectionFor(F,e.key)):void 0,z=e=>{if(!L(e))return(0,u.jsx)(`span`,{children:e.header});let t=s.sortDirectionFor(F,e.key),n=s.nextSort(F,e.key,ue)?.direction??null;return(0,u.jsx)(o.SortHeader,{current:t,label:de?.(e,t,n),onSort:()=>ve(e.key),children:e.header})},B=(0,l.useMemo)(()=>!w||T?h:I(h,(e,t)=>{let n=g.find(e=>e.key===t);if(n?.accessor){let r=n.accessor(e);return typeof r==`string`||typeof r==`number`?r:e[t]}return e[t]}),[h,w,T,F,I,g]),V=(0,l.useRef)(null),H=(0,l.useRef)(null),U=(0,l.useRef)(null),ye=(0,l.useRef)(null),W=!!k,be=(0,d.useSensors)((0,d.useSensor)(d.PointerSensor,{activationConstraint:{distance:5}}),(0,d.useSensor)(d.KeyboardSensor,{coordinateGetter:f.sortableKeyboardCoordinates})),G=(0,l.useMemo)(()=>i.buildColumnSlots(g,ae),[g,ae]),K=(0,l.useMemo)(()=>{if(!k)return G.filter(e=>!(e.kind===`column`&&e.leafColumns[0].hidden));let e=new Set(k.hiddenColumns);return i.applyColumnState(G,k.columnOrder,e)},[G,k]),q=(0,l.useMemo)(()=>i.flattenLeafColumns(K),[K]),J=(0,l.useMemo)(()=>i.hasGroupSlot(K),[K]),xe=(0,l.useMemo)(()=>new Map(G.map(e=>[e.key,e])),[G]),Se=e=>{let{active:t,over:n}=e;if(!k||!n||t.id===n.id)return;let r=xe.get(String(n.id));if(r?.kind===`column`&&r.leafColumns[0].excludeFromPreset)return;let i=k.columnOrder,a=i.indexOf(String(t.id)),o=i.indexOf(String(n.id));a===-1||o===-1||k.onColumnOrderChange((0,f.arrayMove)(i,a,o))},{handleMouseDown:Ce,handleDoubleClick:we,getColumnWidth:Y,measureRef:Te}=ee.useColumnResize({columns:q,data:B,getCellContent:(e,t)=>{let n=q.find(e=>e.key===t);return n?.accessor?n.accessor(e):e[t]},tableRef:V,...k?{controlledWidths:k.columnWidths,onColumnWidthsChange:k.onColumnWidthsChange}:{storageKey:ge}}),Ee=c.getTableBaseClasses(),De=c.getTableVariantClasses(me),Oe=c.getTableSizeClasses(he),ke=S&&C?48:0,Ae=(0,l.useMemo)(()=>q.reduce((e,t)=>{let n=Y(t.key,t.width),r=parseFloat(n);return e+(Number.isFinite(r)?r:0)},0)+ke,[q,Y,ke]),X=(0,l.useMemo)(()=>{let e={};return D&&(e.height=typeof D==`number`?`${D}px`:D),O&&(e.maxHeight=typeof O==`number`?`${O}px`:O),e},[D,O]),{emptyRowCount:je,measuredRowHeight:Me}=te.useFillEmptyRows({enabled:A,containerRef:H,theadRef:U,tbodyRef:ye,excludeRowsSelector:`tr:not([data-empty-row])`,remainingMode:`sum-real-rows`,deps:[B,q]}),Z=e=>!S||b.length===0?!1:ce?b.some(t=>ce(t,e)):b.some(t=>t===e),Ne=(0,l.useMemo)(()=>!S||!C||B.length===0?!1:B.every(e=>Z(e)),[S,C,B,Z]),Pe=()=>{!S||!x||(Ne?B.forEach(e=>{Z(e)&&x(e,!1)}):B.forEach(e=>{Z(e)||x(e,!0)}))},Q=S&&!!x&&!!le,$=ne.useTableDragSelection({rows:B,getRowId:le??(()=>-1),isSelected:e=>Z(e),setSelected:(e,t)=>x?.(e,t),enabled:Q,scrollContainerRef:H}),Fe=(t,n)=>{let r=[c.getStripedRowClasses(n)];return Z(t)&&r.push(c.getSelectedRowClasses()),y&&r.push(c.getHoverableRowClasses()),e.cn(r)};return oe?(0,u.jsx)(`div`,{ref:m,className:e.cn(`flex items-center justify-center p-8 flex-1`,M),style:X,"data-testid":N,...P,children:(0,u.jsx)(n.LoadingSpinner,{message:`데이터를 불러오는 중이에요...`,className:`min-h-0`})}):(0,u.jsxs)(`div`,{ref:m,className:e.cn(`isolate relative flex flex-col min-h-0 gap-4 md:gap-5 xl:gap-6`,M),style:X,"data-testid":N,...P,children:[(0,u.jsx)(`div`,{ref:Te,className:`absolute invisible whitespace-nowrap`,style:{top:`-9999px`,left:`-9999px`}}),(0,u.jsxs)(`div`,{className:`flex flex-1 flex-col min-h-0 gap-4 md:gap-5 xl:gap-6`,children:[(0,u.jsxs)(`div`,{className:`relative flex flex-1 flex-col min-h-0`,children:[(0,u.jsx)(`div`,{className:e.cn(`pointer-events-none absolute inset-0 z-30 flex items-center justify-center bg-bg-surface/60 backdrop-blur-[2px] transition-opacity duration-150`,v?`opacity-100`:`opacity-0`),...v?{role:`status`,"aria-live":`polite`}:{"aria-hidden":!0},children:(0,u.jsx)(n.LoadingSpinner,{message:``,className:`min-h-0`})}),(0,u.jsx)(`div`,{ref:H,className:`scrollbar-table overflow-auto flex-1 bg-bg-page`,children:B.length===0?(0,u.jsx)(`div`,{className:`flex items-center justify-center p-8 h-full`,children:(0,u.jsx)(`p`,{className:`text-fg-muted`,children:se})}):(0,u.jsx)(d.DndContext,{sensors:be,collisionDetection:d.closestCenter,onDragEnd:Se,modifiers:[ie],children:(0,u.jsxs)(`table`,{ref:V,className:e.cn(Ee,De,Oe),style:{tableLayout:`fixed`,minWidth:`100%`,width:`${Ae}px`},children:[(0,u.jsxs)(`colgroup`,{children:[S&&C&&(0,u.jsx)(`col`,{style:{width:`48px`}}),q.map(e=>(0,u.jsx)(`col`,{"data-col-key":e.key,style:{width:Y(e.key,e.width)}},e.key))]}),(0,u.jsxs)(`thead`,{ref:U,className:c.getTableHeaderClasses(),style:{position:E?`sticky`:`relative`,top:E?0:void 0,zIndex:E?20:void 0},children:[(0,u.jsxs)(`tr`,{children:[S&&C&&(0,u.jsx)(`th`,{rowSpan:J?2:1,className:e.cn(c.getTableHeaderCellClasses(),c.getColumnAlignClasses(`center`),`w-12 px-0`),children:(0,u.jsx)(`div`,{className:`flex items-center justify-center`,children:(0,u.jsx)(r.TableCheckbox,{checked:Ne,onChange:()=>Pe(),ariaLabel:`전체 선택`})})}),(0,u.jsx)(f.SortableContext,{items:K.map(e=>e.key),strategy:f.horizontalListSortingStrategy,children:K.map(n=>{if(n.kind===`group`)return(0,u.jsxs)(a.SortableHeaderCell,{id:n.key,disabled:!W,as:`th`,colSpan:n.leafColumns.length,className:e.cn(c.getTableHeaderCellClasses(),c.getColumnAlignClasses(`center`),`group/header-cell relative`,n.hideOnMobile&&`hidden md:table-cell`),children:[W&&(0,u.jsx)(`span`,{className:`absolute left-0.5 top-1/2 -translate-y-1/2 text-fg-subtle opacity-0 transition-opacity group-hover/header-cell:opacity-100`,"aria-hidden":`true`,children:(0,u.jsx)(t.GripVertical,{className:`h-3.5 w-3.5`})}),(0,u.jsx)(`div`,{className:`flex items-center justify-center w-full pr-1 pl-3 select-none`,children:(0,u.jsx)(`span`,{children:n.header})})]},n.key);let r=n.leafColumns[0],i=!W||r.excludeFromPreset===!0;return(0,u.jsxs)(a.SortableHeaderCell,{id:r.key,disabled:i,as:`th`,"aria-sort":R(r),hasSortButton:L(r),rowSpan:J?2:1,className:e.cn(c.getTableHeaderCellClasses(),c.getColumnAlignClasses(`center`),`group/header-cell relative`,r.sticky&&`sticky left-0 z-20 bg-bg-table-header`,r.hideOnMobile&&`hidden md:table-cell`),style:{width:Y(r.key,r.width),minWidth:r.minWidth||50},children:[!i&&(0,u.jsx)(`span`,{className:`absolute left-0.5 top-1/2 -translate-y-1/2 text-fg-subtle opacity-0 transition-opacity group-hover/header-cell:opacity-100`,"aria-hidden":`true`,children:(0,u.jsx)(t.GripVertical,{className:`h-3.5 w-3.5`})}),(0,u.jsx)(`div`,{className:`flex items-center justify-center w-full pr-1 pl-3 select-none`,children:z(r)}),r.excludeFromPreset!==!0&&(0,u.jsx)(`div`,{className:`group/resize absolute right-0 top-0 h-full w-3 cursor-col-resize z-50 flex items-center justify-center`,onPointerDown:e=>e.stopPropagation(),onMouseDown:e=>{e.preventDefault(),e.stopPropagation(),Ce(r.key,e)},onDoubleClick:e=>{e.preventDefault(),e.stopPropagation(),we(r.key,e)},onClick:e=>{e.preventDefault(),e.stopPropagation()},style:{touchAction:`none`},title:`드래그하여 너비 조절, 더블 클릭하여 자동 조절`,children:(0,u.jsx)(`span`,{"aria-hidden":`true`,className:`h-1/2 w-0.5 rounded-full bg-transparent transition-colors group-hover/header-cell:bg-border-default group-hover/resize:!bg-primary group-active/resize:!bg-primary-hover`})})]},r.key)})})]}),J&&(0,u.jsx)(`tr`,{children:K.filter(e=>e.kind===`group`).flatMap(e=>e.leafColumns).map(t=>(0,u.jsx)(`th`,{"aria-sort":R(t),className:e.cn(c.getTableHeaderCellClasses(),c.getColumnAlignClasses(t.align??`center`),t.hideOnMobile&&`hidden md:table-cell`),style:{width:Y(t.key,t.width),minWidth:t.minWidth||50},children:(0,u.jsx)(`div`,{className:`flex items-center justify-center w-full pr-1 pl-3 select-none`,children:z(t)})},t.key))})]}),(0,u.jsxs)(`tbody`,{ref:ye,children:[B.map((t,n)=>{let i=Z(t);return(0,u.jsxs)(`tr`,{className:Fe(t,n),onClick:()=>y?.(t,n),style:_?{height:`${_}px`}:void 0,children:[S&&C&&(0,u.jsx)(`td`,{className:e.cn(c.getTableCellClasses(),c.getColumnAlignClasses(`center`),`w-12 select-none`),onClick:e=>e.stopPropagation(),onMouseDown:Q?e=>{e.preventDefault(),$.onRowMouseDown(n)}:void 0,onMouseEnter:Q?()=>$.onRowMouseEnter(n):void 0,children:(0,u.jsx)(`div`,{className:`flex items-center justify-center`,children:(0,u.jsx)(r.TableCheckbox,{checked:i,onChange:e=>x?.(t,e),pointerEventsNone:Q,ariaLabel:`행 선택`})})}),q.map(n=>{let r=n.accessor?n.accessor(t):t[n.key];return(0,u.jsx)(`td`,{className:e.cn(c.getTableCellClasses(),c.getColumnAlignClasses(n.align),n.sticky&&`sticky left-0 z-10 bg-inherit`,n.hideOnMobile&&`hidden md:table-cell`),style:{width:Y(n.key,n.width),minWidth:n.minWidth||50,..._?{height:`${_}px`,maxHeight:`${_}px`,overflow:`hidden`}:{}},children:r},n.key)})]},n)}),A&&Array.from({length:je}).map((t,n)=>{let r=B.length+n,i=_??Me??void 0;return(0,u.jsxs)(`tr`,{"data-empty-row":!0,"aria-hidden":`true`,className:c.getStripedRowClasses(r),style:i?{height:`${i}px`}:void 0,children:[S&&C&&(0,u.jsx)(`td`,{className:e.cn(c.getTableCellClasses(),`w-12`),style:i?{height:`${i}px`}:void 0}),q.map(t=>(0,u.jsx)(`td`,{className:e.cn(c.getTableCellClasses(),t.hideOnMobile&&`hidden md:table-cell`),style:{width:Y(t.key,t.width),minWidth:t.minWidth||50,...i?{height:`${i}px`}:{}}},t.key))]},`empty-${n}`)})]})]})})})]}),_e??(j===void 0?null:(0,u.jsx)(`div`,{className:`flex justify-end shrink-0 text-sm text-fg-muted`,children:(0,u.jsxs)(`span`,{children:[`총 `,j.toLocaleString(),`건`]})}))]})]})});p.displayName=`Table`,exports.Table=p;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TableProps } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Table — 코어 테이블. 헤더(정렬/리사이즈/grip 드래그) + 본문(스트라이프/선택/sticky) + 컬럼 프리셋.
|
|
4
|
+
*
|
|
5
|
+
* 페이지네이션이 없는 조회 API 또는 페이지네이션 영역을 별도로 렌더하는 경우 사용.
|
|
6
|
+
* PaginatedTable은 이 컴포넌트를 wrap해서 footer(Pagination/PageJump/PageSize)를 추가.
|
|
7
|
+
* 클라이언트 정렬은 전달된 현재 페이지 데이터만 정렬한다. 서버 페이지네이션이면 serverSideSorting을 사용하고,
|
|
8
|
+
* 정렬 변경 시 페이지 초기화는 호출부에서 처리한다.
|
|
9
|
+
* 컬럼 너비 합이 컨테이너보다 작아 열이 늘어나면 브라우저가 남는 폭을 재분배하므로 드래그 이동량과 화면 변화량이 비례하지 않는다. 컬럼 합을 컨테이너 이상으로 지정한다(여백 컬럼이 필요하면 AccordionTable을 쓴다 — Table에는 여백 컬럼 옵션이 없다).
|
|
10
|
+
*/
|
|
11
|
+
export declare const Table: <T>(props: TableProps<T> & {
|
|
12
|
+
ref?: React.ForwardedRef<HTMLDivElement>;
|
|
13
|
+
}) => React.ReactElement;
|
|
@@ -1,19 +1,22 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { cn as e } from "../../lib/utils.esm.js";
|
|
2
|
+
import { GripVertical as t } from "../../node_modules/lucide-react/dist/esm/icons/grip-vertical.esm.js";
|
|
3
|
+
import { LoadingSpinner as n } from "../loading-spinner/LoadingSpinner.esm.js";
|
|
4
|
+
import { TableCheckbox as r } from "../table-checkbox/TableCheckbox.esm.js";
|
|
5
|
+
import { applyColumnState as i, buildColumnSlots as a, flattenLeafColumns as o, hasGroupSlot as ee } from "./column-group-utils.esm.js";
|
|
5
6
|
import { SortableHeaderCell as s } from "./components/SortableHeaderCell.esm.js";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
7
|
+
import { SortHeader as te } from "./components/SortHeader.esm.js";
|
|
8
|
+
import { ariaSort as ne, nextSort as re, sortDirectionFor as ie } from "./hooks/sort-state.esm.js";
|
|
9
|
+
import { useColumnResize as ae } from "./hooks/useColumnResize.esm.js";
|
|
10
|
+
import { useFillEmptyRows as oe } from "../../hooks/useFillEmptyRows.esm.js";
|
|
11
|
+
import { useTableDragSelection as se } from "../../hooks/useTableDragSelection.esm.js";
|
|
12
|
+
import { useTableSort as ce } from "./hooks/useTableSort.esm.js";
|
|
13
|
+
import { getColumnAlignClasses as c, getHoverableRowClasses as le, getSelectedRowClasses as ue, getStripedRowClasses as l, getTableBaseClasses as de, getTableCellClasses as u, getTableHeaderCellClasses as d, getTableHeaderClasses as fe, getTableSizeClasses as pe, getTableVariantClasses as me } from "./utils.esm.js";
|
|
11
14
|
import { forwardRef as f, useMemo as p, useRef as m } from "react";
|
|
12
15
|
import { jsx as h, jsxs as g } from "react/jsx-runtime";
|
|
13
|
-
import { DndContext as
|
|
14
|
-
import { SortableContext as
|
|
16
|
+
import { DndContext as he, KeyboardSensor as ge, PointerSensor as _e, closestCenter as ve, useSensor as ye, useSensors as be } from "@dnd-kit/core";
|
|
17
|
+
import { SortableContext as xe, arrayMove as Se, horizontalListSortingStrategy as Ce, sortableKeyboardCoordinates as we } from "@dnd-kit/sortable";
|
|
15
18
|
//#region src/components/table/table.tsx
|
|
16
|
-
var
|
|
19
|
+
var Te = ({ transform: e, draggingNodeRect: t, containerNodeRect: n }) => {
|
|
17
20
|
let r = {
|
|
18
21
|
...e,
|
|
19
22
|
y: 0
|
|
@@ -22,11 +25,21 @@ var be = ({ transform: e, draggingNodeRect: t, containerNodeRect: n }) => {
|
|
|
22
25
|
let i = n.left - t.left, a = n.right - t.right;
|
|
23
26
|
return r.x = Math.min(Math.max(r.x, i), a), r;
|
|
24
27
|
}, _ = f((f, _) => {
|
|
25
|
-
let { data: v, columns: y, columnGroups: b, rowHeight: x, loading:
|
|
26
|
-
initialSort:
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
let { data: v, columns: y, columnGroups: b, rowHeight: x, loading: Ee = !1, isFetching: S = !1, emptyMessage: De = "데이터가 없어요", onRowClick: C, selectedRows: w = [], onRowSelect: T, enableRowSelection: E = !1, enableSelectAll: D = !1, rowCompare: O, getRowId: k, enableSorting: A = !1, sortCycle: j = "tri", formatSortLabel: Oe, serverSideSorting: M = !1, onSortChange: ke, initialSort: Ae, variant: je = "default", size: Me = "medium", stickyHeader: N = !0, height: P, maxHeight: F, storageKey: Ne, columnState: I, fillEmptyRows: L = !0, totalElements: R, footerSlot: Pe, className: z = "", "data-testid": Fe, ...Ie } = f, { sort: B, sortedData: Le, handleSort: Re } = ce({
|
|
29
|
+
initialSort: Ae,
|
|
30
|
+
cycle: j,
|
|
31
|
+
serverSide: M,
|
|
32
|
+
onSort: ke || void 0
|
|
33
|
+
}), V = (e) => !!(e.sortable && (A || M)), ze = (e) => V(e) ? ne(ie(B, e.key)) : void 0, Be = (e) => {
|
|
34
|
+
if (!V(e)) return /* @__PURE__ */ h("span", { children: e.header });
|
|
35
|
+
let t = ie(B, e.key), n = re(B, e.key, j)?.direction ?? null;
|
|
36
|
+
return /* @__PURE__ */ h(te, {
|
|
37
|
+
current: t,
|
|
38
|
+
label: Oe?.(e, t, n),
|
|
39
|
+
onSort: () => Re(e.key),
|
|
40
|
+
children: e.header
|
|
41
|
+
});
|
|
42
|
+
}, H = p(() => !A || M ? v : Le(v, (e, t) => {
|
|
30
43
|
let n = y.find((e) => e.key === t);
|
|
31
44
|
if (n?.accessor) {
|
|
32
45
|
let r = n.accessor(e);
|
|
@@ -36,91 +49,91 @@ var be = ({ transform: e, draggingNodeRect: t, containerNodeRect: n }) => {
|
|
|
36
49
|
}), [
|
|
37
50
|
v,
|
|
38
51
|
A,
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
52
|
+
M,
|
|
53
|
+
B,
|
|
54
|
+
Le,
|
|
42
55
|
y
|
|
43
|
-
]),
|
|
44
|
-
if (!
|
|
45
|
-
let e = new Set(
|
|
46
|
-
return
|
|
47
|
-
}, [
|
|
56
|
+
]), Ve = m(null), U = m(null), He = m(null), Ue = m(null), W = !!I, We = be(ye(_e, { activationConstraint: { distance: 5 } }), ye(ge, { coordinateGetter: we })), G = p(() => a(y, b), [y, b]), K = p(() => {
|
|
57
|
+
if (!I) return G.filter((e) => !(e.kind === "column" && e.leafColumns[0].hidden));
|
|
58
|
+
let e = new Set(I.hiddenColumns);
|
|
59
|
+
return i(G, I.columnOrder, e);
|
|
60
|
+
}, [G, I]), q = p(() => o(K), [K]), J = p(() => ee(K), [K]), Ge = p(() => new Map(G.map((e) => [e.key, e])), [G]), Ke = (e) => {
|
|
48
61
|
let { active: t, over: n } = e;
|
|
49
|
-
if (!
|
|
50
|
-
let r =
|
|
62
|
+
if (!I || !n || t.id === n.id) return;
|
|
63
|
+
let r = Ge.get(String(n.id));
|
|
51
64
|
if (r?.kind === "column" && r.leafColumns[0].excludeFromPreset) return;
|
|
52
|
-
let i =
|
|
53
|
-
a === -1 || o === -1 ||
|
|
54
|
-
}, { handleMouseDown:
|
|
55
|
-
columns:
|
|
65
|
+
let i = I.columnOrder, a = i.indexOf(String(t.id)), o = i.indexOf(String(n.id));
|
|
66
|
+
a === -1 || o === -1 || I.onColumnOrderChange(Se(i, a, o));
|
|
67
|
+
}, { handleMouseDown: qe, handleDoubleClick: Je, getColumnWidth: Y, measureRef: Ye } = ae({
|
|
68
|
+
columns: q,
|
|
56
69
|
data: H,
|
|
57
70
|
getCellContent: (e, t) => {
|
|
58
|
-
let n =
|
|
71
|
+
let n = q.find((e) => e.key === t);
|
|
59
72
|
return n?.accessor ? n.accessor(e) : e[t];
|
|
60
73
|
},
|
|
61
|
-
tableRef:
|
|
62
|
-
...
|
|
63
|
-
controlledWidths:
|
|
64
|
-
onColumnWidthsChange:
|
|
65
|
-
} : { storageKey:
|
|
66
|
-
}),
|
|
67
|
-
let n =
|
|
74
|
+
tableRef: Ve,
|
|
75
|
+
...I ? {
|
|
76
|
+
controlledWidths: I.columnWidths,
|
|
77
|
+
onColumnWidthsChange: I.onColumnWidthsChange
|
|
78
|
+
} : { storageKey: Ne }
|
|
79
|
+
}), Xe = de(), Ze = me(je), Qe = pe(Me), $e = E && D ? 48 : 0, et = p(() => q.reduce((e, t) => {
|
|
80
|
+
let n = Y(t.key, t.width), r = parseFloat(n);
|
|
68
81
|
return e + (Number.isFinite(r) ? r : 0);
|
|
69
|
-
}, 0) +
|
|
82
|
+
}, 0) + $e, [
|
|
83
|
+
q,
|
|
70
84
|
Y,
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
]), He = p(() => {
|
|
85
|
+
$e
|
|
86
|
+
]), X = p(() => {
|
|
74
87
|
let e = {};
|
|
75
|
-
return
|
|
76
|
-
}, [
|
|
77
|
-
enabled:
|
|
78
|
-
containerRef:
|
|
79
|
-
theadRef:
|
|
80
|
-
tbodyRef:
|
|
88
|
+
return P && (e.height = typeof P == "number" ? `${P}px` : P), F && (e.maxHeight = typeof F == "number" ? `${F}px` : F), e;
|
|
89
|
+
}, [P, F]), { emptyRowCount: tt, measuredRowHeight: nt } = oe({
|
|
90
|
+
enabled: L,
|
|
91
|
+
containerRef: U,
|
|
92
|
+
theadRef: He,
|
|
93
|
+
tbodyRef: Ue,
|
|
81
94
|
excludeRowsSelector: "tr:not([data-empty-row])",
|
|
82
95
|
remainingMode: "sum-real-rows",
|
|
83
|
-
deps: [H,
|
|
84
|
-
}),
|
|
96
|
+
deps: [H, q]
|
|
97
|
+
}), Z = (e) => !E || w.length === 0 ? !1 : O ? w.some((t) => O(t, e)) : w.some((t) => t === e), rt = p(() => !E || !D || H.length === 0 ? !1 : H.every((e) => Z(e)), [
|
|
85
98
|
E,
|
|
86
99
|
D,
|
|
87
100
|
H,
|
|
88
|
-
|
|
89
|
-
]),
|
|
90
|
-
!E || !T || (
|
|
91
|
-
|
|
101
|
+
Z
|
|
102
|
+
]), it = () => {
|
|
103
|
+
!E || !T || (rt ? H.forEach((e) => {
|
|
104
|
+
Z(e) && T(e, !1);
|
|
92
105
|
}) : H.forEach((e) => {
|
|
93
|
-
|
|
106
|
+
Z(e) || T(e, !0);
|
|
94
107
|
}));
|
|
95
|
-
},
|
|
108
|
+
}, Q = E && !!T && !!k, $ = se({
|
|
96
109
|
rows: H,
|
|
97
110
|
getRowId: k ?? (() => -1),
|
|
98
|
-
isSelected: (e) =>
|
|
111
|
+
isSelected: (e) => Z(e),
|
|
99
112
|
setSelected: (e, t) => T?.(e, t),
|
|
100
|
-
enabled:
|
|
101
|
-
scrollContainerRef:
|
|
102
|
-
}),
|
|
103
|
-
let
|
|
104
|
-
return
|
|
113
|
+
enabled: Q,
|
|
114
|
+
scrollContainerRef: U
|
|
115
|
+
}), at = (t, n) => {
|
|
116
|
+
let r = [l(n)];
|
|
117
|
+
return Z(t) && r.push(ue()), C && r.push(le()), e(r);
|
|
105
118
|
};
|
|
106
|
-
return
|
|
119
|
+
return Ee ? /* @__PURE__ */ h("div", {
|
|
107
120
|
ref: _,
|
|
108
|
-
className:
|
|
109
|
-
style:
|
|
110
|
-
"data-testid":
|
|
111
|
-
...
|
|
112
|
-
children: /* @__PURE__ */ h(
|
|
121
|
+
className: e("flex items-center justify-center p-8 flex-1", z),
|
|
122
|
+
style: X,
|
|
123
|
+
"data-testid": Fe,
|
|
124
|
+
...Ie,
|
|
125
|
+
children: /* @__PURE__ */ h(n, {
|
|
113
126
|
message: "데이터를 불러오는 중이에요...",
|
|
114
127
|
className: "min-h-0"
|
|
115
128
|
})
|
|
116
129
|
}) : /* @__PURE__ */ g("div", {
|
|
117
130
|
ref: _,
|
|
118
|
-
className:
|
|
119
|
-
style:
|
|
120
|
-
"data-testid":
|
|
121
|
-
...
|
|
131
|
+
className: e("isolate relative flex flex-col min-h-0 gap-4 md:gap-5 xl:gap-6", z),
|
|
132
|
+
style: X,
|
|
133
|
+
"data-testid": Fe,
|
|
134
|
+
...Ie,
|
|
122
135
|
children: [/* @__PURE__ */ h("div", {
|
|
123
|
-
ref:
|
|
136
|
+
ref: Ye,
|
|
124
137
|
className: "absolute invisible whitespace-nowrap",
|
|
125
138
|
style: {
|
|
126
139
|
top: "-9999px",
|
|
@@ -131,109 +144,111 @@ var be = ({ transform: e, draggingNodeRect: t, containerNodeRect: n }) => {
|
|
|
131
144
|
children: [/* @__PURE__ */ g("div", {
|
|
132
145
|
className: "relative flex flex-1 flex-col min-h-0",
|
|
133
146
|
children: [/* @__PURE__ */ h("div", {
|
|
134
|
-
className:
|
|
147
|
+
className: e("pointer-events-none absolute inset-0 z-30 flex items-center justify-center bg-bg-surface/60 backdrop-blur-[2px] transition-opacity duration-150", S ? "opacity-100" : "opacity-0"),
|
|
135
148
|
...S ? {
|
|
136
149
|
role: "status",
|
|
137
150
|
"aria-live": "polite"
|
|
138
151
|
} : { "aria-hidden": !0 },
|
|
139
|
-
children: /* @__PURE__ */ h(
|
|
152
|
+
children: /* @__PURE__ */ h(n, {
|
|
140
153
|
message: "",
|
|
141
154
|
className: "min-h-0"
|
|
142
155
|
})
|
|
143
156
|
}), /* @__PURE__ */ h("div", {
|
|
144
|
-
ref:
|
|
145
|
-
className: "scrollbar-table overflow-auto flex-1 bg-
|
|
157
|
+
ref: U,
|
|
158
|
+
className: "scrollbar-table overflow-auto flex-1 bg-bg-page",
|
|
146
159
|
children: H.length === 0 ? /* @__PURE__ */ h("div", {
|
|
147
160
|
className: "flex items-center justify-center p-8 h-full",
|
|
148
161
|
children: /* @__PURE__ */ h("p", {
|
|
149
|
-
className: "text-
|
|
150
|
-
children:
|
|
162
|
+
className: "text-fg-muted",
|
|
163
|
+
children: De
|
|
151
164
|
})
|
|
152
|
-
}) : /* @__PURE__ */ h(
|
|
153
|
-
sensors:
|
|
154
|
-
collisionDetection:
|
|
155
|
-
onDragEnd:
|
|
156
|
-
modifiers: [
|
|
165
|
+
}) : /* @__PURE__ */ h(he, {
|
|
166
|
+
sensors: We,
|
|
167
|
+
collisionDetection: ve,
|
|
168
|
+
onDragEnd: Ke,
|
|
169
|
+
modifiers: [Te],
|
|
157
170
|
children: /* @__PURE__ */ g("table", {
|
|
158
|
-
ref:
|
|
159
|
-
className:
|
|
171
|
+
ref: Ve,
|
|
172
|
+
className: e(Xe, Ze, Qe),
|
|
160
173
|
style: {
|
|
161
174
|
tableLayout: "fixed",
|
|
162
175
|
minWidth: "100%",
|
|
163
|
-
width: `${
|
|
176
|
+
width: `${et}px`
|
|
164
177
|
},
|
|
165
178
|
children: [
|
|
166
|
-
/* @__PURE__ */ g("colgroup", { children: [E && D && /* @__PURE__ */ h("col", { style: { width: "48px" } }),
|
|
179
|
+
/* @__PURE__ */ g("colgroup", { children: [E && D && /* @__PURE__ */ h("col", { style: { width: "48px" } }), q.map((e) => /* @__PURE__ */ h("col", {
|
|
167
180
|
"data-col-key": e.key,
|
|
168
|
-
style: { width:
|
|
181
|
+
style: { width: Y(e.key, e.width) }
|
|
169
182
|
}, e.key))] }),
|
|
170
183
|
/* @__PURE__ */ g("thead", {
|
|
171
|
-
ref:
|
|
172
|
-
className:
|
|
184
|
+
ref: He,
|
|
185
|
+
className: fe(),
|
|
173
186
|
style: {
|
|
174
|
-
position:
|
|
175
|
-
top:
|
|
176
|
-
zIndex:
|
|
187
|
+
position: N ? "sticky" : "relative",
|
|
188
|
+
top: N ? 0 : void 0,
|
|
189
|
+
zIndex: N ? 20 : void 0
|
|
177
190
|
},
|
|
178
191
|
children: [/* @__PURE__ */ g("tr", { children: [E && D && /* @__PURE__ */ h("th", {
|
|
179
|
-
rowSpan:
|
|
180
|
-
className:
|
|
192
|
+
rowSpan: J ? 2 : 1,
|
|
193
|
+
className: e(d(), c("center"), "w-12 px-0"),
|
|
181
194
|
children: /* @__PURE__ */ h("div", {
|
|
182
195
|
className: "flex items-center justify-center",
|
|
183
|
-
children: /* @__PURE__ */ h(
|
|
184
|
-
checked:
|
|
185
|
-
onChange: () =>
|
|
196
|
+
children: /* @__PURE__ */ h(r, {
|
|
197
|
+
checked: rt,
|
|
198
|
+
onChange: () => it(),
|
|
186
199
|
ariaLabel: "전체 선택"
|
|
187
200
|
})
|
|
188
201
|
})
|
|
189
|
-
}), /* @__PURE__ */ h(
|
|
190
|
-
items:
|
|
191
|
-
strategy:
|
|
192
|
-
children:
|
|
193
|
-
if (
|
|
194
|
-
id:
|
|
195
|
-
disabled: !
|
|
202
|
+
}), /* @__PURE__ */ h(xe, {
|
|
203
|
+
items: K.map((e) => e.key),
|
|
204
|
+
strategy: Ce,
|
|
205
|
+
children: K.map((n) => {
|
|
206
|
+
if (n.kind === "group") return /* @__PURE__ */ g(s, {
|
|
207
|
+
id: n.key,
|
|
208
|
+
disabled: !W,
|
|
196
209
|
as: "th",
|
|
197
|
-
colSpan:
|
|
198
|
-
className:
|
|
199
|
-
children: [
|
|
200
|
-
className: "absolute left-0.5 top-1/2 -translate-y-1/2 text-
|
|
210
|
+
colSpan: n.leafColumns.length,
|
|
211
|
+
className: e(d(), c("center"), "group/header-cell relative", n.hideOnMobile && "hidden md:table-cell"),
|
|
212
|
+
children: [W && /* @__PURE__ */ h("span", {
|
|
213
|
+
className: "absolute left-0.5 top-1/2 -translate-y-1/2 text-fg-subtle opacity-0 transition-opacity group-hover/header-cell:opacity-100",
|
|
201
214
|
"aria-hidden": "true",
|
|
202
|
-
children: /* @__PURE__ */ h(
|
|
215
|
+
children: /* @__PURE__ */ h(t, { className: "h-3.5 w-3.5" })
|
|
203
216
|
}), /* @__PURE__ */ h("div", {
|
|
204
217
|
className: "flex items-center justify-center w-full pr-1 pl-3 select-none",
|
|
205
|
-
children: /* @__PURE__ */ h("span", { children:
|
|
218
|
+
children: /* @__PURE__ */ h("span", { children: n.header })
|
|
206
219
|
})]
|
|
207
|
-
},
|
|
208
|
-
let
|
|
220
|
+
}, n.key);
|
|
221
|
+
let r = n.leafColumns[0], i = !W || r.excludeFromPreset === !0;
|
|
209
222
|
return /* @__PURE__ */ g(s, {
|
|
210
|
-
id:
|
|
211
|
-
disabled:
|
|
223
|
+
id: r.key,
|
|
224
|
+
disabled: i,
|
|
212
225
|
as: "th",
|
|
213
|
-
|
|
214
|
-
|
|
226
|
+
"aria-sort": ze(r),
|
|
227
|
+
hasSortButton: V(r),
|
|
228
|
+
rowSpan: J ? 2 : 1,
|
|
229
|
+
className: e(d(), c("center"), "group/header-cell relative", r.sticky && "sticky left-0 z-20 bg-bg-table-header", r.hideOnMobile && "hidden md:table-cell"),
|
|
215
230
|
style: {
|
|
216
|
-
width:
|
|
217
|
-
minWidth:
|
|
231
|
+
width: Y(r.key, r.width),
|
|
232
|
+
minWidth: r.minWidth || 50
|
|
218
233
|
},
|
|
219
234
|
children: [
|
|
220
|
-
!
|
|
221
|
-
className: "absolute left-0.5 top-1/2 -translate-y-1/2 text-
|
|
235
|
+
!i && /* @__PURE__ */ h("span", {
|
|
236
|
+
className: "absolute left-0.5 top-1/2 -translate-y-1/2 text-fg-subtle opacity-0 transition-opacity group-hover/header-cell:opacity-100",
|
|
222
237
|
"aria-hidden": "true",
|
|
223
|
-
children: /* @__PURE__ */ h(
|
|
238
|
+
children: /* @__PURE__ */ h(t, { className: "h-3.5 w-3.5" })
|
|
224
239
|
}),
|
|
225
240
|
/* @__PURE__ */ h("div", {
|
|
226
241
|
className: "flex items-center justify-center w-full pr-1 pl-3 select-none",
|
|
227
|
-
children:
|
|
242
|
+
children: Be(r)
|
|
228
243
|
}),
|
|
229
|
-
|
|
244
|
+
r.excludeFromPreset !== !0 && /* @__PURE__ */ h("div", {
|
|
230
245
|
className: "group/resize absolute right-0 top-0 h-full w-3 cursor-col-resize z-50 flex items-center justify-center",
|
|
231
246
|
onPointerDown: (e) => e.stopPropagation(),
|
|
232
247
|
onMouseDown: (e) => {
|
|
233
|
-
e.preventDefault(), e.stopPropagation(),
|
|
248
|
+
e.preventDefault(), e.stopPropagation(), qe(r.key, e);
|
|
234
249
|
},
|
|
235
250
|
onDoubleClick: (e) => {
|
|
236
|
-
e.preventDefault(), e.stopPropagation(),
|
|
251
|
+
e.preventDefault(), e.stopPropagation(), Je(r.key, e);
|
|
237
252
|
},
|
|
238
253
|
onClick: (e) => {
|
|
239
254
|
e.preventDefault(), e.stopPropagation();
|
|
@@ -242,95 +257,96 @@ var be = ({ transform: e, draggingNodeRect: t, containerNodeRect: n }) => {
|
|
|
242
257
|
title: "드래그하여 너비 조절, 더블 클릭하여 자동 조절",
|
|
243
258
|
children: /* @__PURE__ */ h("span", {
|
|
244
259
|
"aria-hidden": "true",
|
|
245
|
-
className: "h-1/2 w-0.5 rounded-full bg-transparent transition-colors group-hover/header-cell:bg-
|
|
260
|
+
className: "h-1/2 w-0.5 rounded-full bg-transparent transition-colors group-hover/header-cell:bg-border-default group-hover/resize:!bg-primary group-active/resize:!bg-primary-hover"
|
|
246
261
|
})
|
|
247
262
|
})
|
|
248
263
|
]
|
|
249
|
-
},
|
|
264
|
+
}, r.key);
|
|
250
265
|
})
|
|
251
|
-
})] }),
|
|
252
|
-
|
|
266
|
+
})] }), J && /* @__PURE__ */ h("tr", { children: K.filter((e) => e.kind === "group").flatMap((e) => e.leafColumns).map((t) => /* @__PURE__ */ h("th", {
|
|
267
|
+
"aria-sort": ze(t),
|
|
268
|
+
className: e(d(), c(t.align ?? "center"), t.hideOnMobile && "hidden md:table-cell"),
|
|
253
269
|
style: {
|
|
254
|
-
width:
|
|
255
|
-
minWidth:
|
|
270
|
+
width: Y(t.key, t.width),
|
|
271
|
+
minWidth: t.minWidth || 50
|
|
256
272
|
},
|
|
257
273
|
children: /* @__PURE__ */ h("div", {
|
|
258
274
|
className: "flex items-center justify-center w-full pr-1 pl-3 select-none",
|
|
259
|
-
children:
|
|
275
|
+
children: Be(t)
|
|
260
276
|
})
|
|
261
|
-
},
|
|
277
|
+
}, t.key)) })]
|
|
262
278
|
}),
|
|
263
279
|
/* @__PURE__ */ g("tbody", {
|
|
264
|
-
ref:
|
|
265
|
-
children: [H.map((
|
|
266
|
-
let
|
|
280
|
+
ref: Ue,
|
|
281
|
+
children: [H.map((t, n) => {
|
|
282
|
+
let i = Z(t);
|
|
267
283
|
return /* @__PURE__ */ g("tr", {
|
|
268
|
-
className:
|
|
269
|
-
onClick: () => C?.(
|
|
284
|
+
className: at(t, n),
|
|
285
|
+
onClick: () => C?.(t, n),
|
|
270
286
|
style: x ? { height: `${x}px` } : void 0,
|
|
271
287
|
children: [E && D && /* @__PURE__ */ h("td", {
|
|
272
|
-
className:
|
|
288
|
+
className: e(u(), c("center"), "w-12 select-none"),
|
|
273
289
|
onClick: (e) => e.stopPropagation(),
|
|
274
|
-
onMouseDown:
|
|
275
|
-
e.preventDefault(),
|
|
290
|
+
onMouseDown: Q ? (e) => {
|
|
291
|
+
e.preventDefault(), $.onRowMouseDown(n);
|
|
276
292
|
} : void 0,
|
|
277
|
-
onMouseEnter:
|
|
293
|
+
onMouseEnter: Q ? () => $.onRowMouseEnter(n) : void 0,
|
|
278
294
|
children: /* @__PURE__ */ h("div", {
|
|
279
295
|
className: "flex items-center justify-center",
|
|
280
|
-
children: /* @__PURE__ */ h(
|
|
281
|
-
checked:
|
|
282
|
-
onChange: (
|
|
283
|
-
pointerEventsNone:
|
|
296
|
+
children: /* @__PURE__ */ h(r, {
|
|
297
|
+
checked: i,
|
|
298
|
+
onChange: (e) => T?.(t, e),
|
|
299
|
+
pointerEventsNone: Q,
|
|
284
300
|
ariaLabel: "행 선택"
|
|
285
301
|
})
|
|
286
302
|
})
|
|
287
|
-
}),
|
|
288
|
-
let
|
|
303
|
+
}), q.map((n) => {
|
|
304
|
+
let r = n.accessor ? n.accessor(t) : t[n.key];
|
|
289
305
|
return /* @__PURE__ */ h("td", {
|
|
290
|
-
className:
|
|
306
|
+
className: e(u(), c(n.align), n.sticky && "sticky left-0 z-10 bg-inherit", n.hideOnMobile && "hidden md:table-cell"),
|
|
291
307
|
style: {
|
|
292
|
-
width:
|
|
293
|
-
minWidth:
|
|
308
|
+
width: Y(n.key, n.width),
|
|
309
|
+
minWidth: n.minWidth || 50,
|
|
294
310
|
...x ? {
|
|
295
311
|
height: `${x}px`,
|
|
296
312
|
maxHeight: `${x}px`,
|
|
297
313
|
overflow: "hidden"
|
|
298
314
|
} : {}
|
|
299
315
|
},
|
|
300
|
-
children:
|
|
301
|
-
},
|
|
316
|
+
children: r
|
|
317
|
+
}, n.key);
|
|
302
318
|
})]
|
|
303
|
-
},
|
|
304
|
-
}),
|
|
305
|
-
let
|
|
319
|
+
}, n);
|
|
320
|
+
}), L && Array.from({ length: tt }).map((t, n) => {
|
|
321
|
+
let r = H.length + n, i = x ?? nt ?? void 0;
|
|
306
322
|
return /* @__PURE__ */ g("tr", {
|
|
307
323
|
"data-empty-row": !0,
|
|
308
324
|
"aria-hidden": "true",
|
|
309
|
-
className: l(
|
|
310
|
-
style:
|
|
325
|
+
className: l(r),
|
|
326
|
+
style: i ? { height: `${i}px` } : void 0,
|
|
311
327
|
children: [E && D && /* @__PURE__ */ h("td", {
|
|
312
|
-
className:
|
|
313
|
-
style:
|
|
314
|
-
}),
|
|
315
|
-
className:
|
|
328
|
+
className: e(u(), "w-12"),
|
|
329
|
+
style: i ? { height: `${i}px` } : void 0
|
|
330
|
+
}), q.map((t) => /* @__PURE__ */ h("td", {
|
|
331
|
+
className: e(u(), t.hideOnMobile && "hidden md:table-cell"),
|
|
316
332
|
style: {
|
|
317
|
-
width:
|
|
318
|
-
minWidth:
|
|
319
|
-
...
|
|
333
|
+
width: Y(t.key, t.width),
|
|
334
|
+
minWidth: t.minWidth || 50,
|
|
335
|
+
...i ? { height: `${i}px` } : {}
|
|
320
336
|
}
|
|
321
|
-
},
|
|
322
|
-
}, `empty-${
|
|
337
|
+
}, t.key))]
|
|
338
|
+
}, `empty-${n}`);
|
|
323
339
|
})]
|
|
324
340
|
})
|
|
325
341
|
]
|
|
326
342
|
})
|
|
327
343
|
})
|
|
328
344
|
})]
|
|
329
|
-
}),
|
|
330
|
-
className: "flex justify-end shrink-0 text-sm text-
|
|
345
|
+
}), Pe ?? (R === void 0 ? null : /* @__PURE__ */ h("div", {
|
|
346
|
+
className: "flex justify-end shrink-0 text-sm text-fg-muted",
|
|
331
347
|
children: /* @__PURE__ */ g("span", { children: [
|
|
332
348
|
"총 ",
|
|
333
|
-
|
|
349
|
+
R.toLocaleString(),
|
|
334
350
|
"건"
|
|
335
351
|
] })
|
|
336
352
|
}))]
|
|
@@ -60,12 +60,11 @@ export interface TableColumn<T> {
|
|
|
60
60
|
*/
|
|
61
61
|
sortable?: boolean;
|
|
62
62
|
/**
|
|
63
|
-
*
|
|
64
|
-
* @default null
|
|
63
|
+
* @deprecated 무시됨. 정렬은 Table의 enableSorting/serverSideSorting과 useTableSort로 설정한다.
|
|
65
64
|
*/
|
|
66
65
|
sortDirection?: SortDirection;
|
|
67
66
|
/**
|
|
68
|
-
*
|
|
67
|
+
* @deprecated 무시됨. 정렬은 Table의 enableSorting/serverSideSorting과 useTableSort로 설정한다.
|
|
69
68
|
*/
|
|
70
69
|
onSort?: (direction: SortDirection) => void;
|
|
71
70
|
/**
|
|
@@ -206,10 +205,18 @@ export interface TableCommonProps<T> {
|
|
|
206
205
|
*/
|
|
207
206
|
getRowId?: (row: T) => string | number;
|
|
208
207
|
/**
|
|
209
|
-
* 정렬 사용 여부 (클라이언트 사이드 정렬)
|
|
208
|
+
* 정렬 사용 여부 (클라이언트 사이드 정렬). 전달된 현재 페이지 데이터만 정렬한다.
|
|
209
|
+
* 서버 페이지네이션이면 serverSideSorting을 사용하고, 정렬 변경 시 페이지 초기화는 호출부에서 처리한다.
|
|
210
210
|
* @default false
|
|
211
211
|
*/
|
|
212
212
|
enableSorting?: boolean;
|
|
213
|
+
/** 정렬 순서. 기본 tri(오름차순 → 내림차순 → 해제), toggle은 두 방향만 순환한다. */
|
|
214
|
+
sortCycle?: "tri" | "toggle";
|
|
215
|
+
/**
|
|
216
|
+
* 정렬 버튼 이름을 지정한다. 기본값은 헤더 텍스트이며 정렬 상태는 헤더의 aria-sort로 전달한다.
|
|
217
|
+
* 보이는 헤더 텍스트가 있으면 반환하는 이름에 그 텍스트를 포함한다(WCAG 2.5.3).
|
|
218
|
+
*/
|
|
219
|
+
formatSortLabel?: (column: TableColumn<T>, current: SortDirection, next: SortDirection) => string;
|
|
213
220
|
/**
|
|
214
221
|
* 서버 사이드 정렬 사용 여부
|
|
215
222
|
* @default false
|