@thewrong/ui 0.1.0 → 0.3.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 +25 -4
- package/dist/_virtual/_rolldown/runtime.cjs +1 -0
- 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 +34 -0
- package/dist/components/action-toast/ActionToast.cjs +1 -0
- package/dist/{src/components → components}/action-toast/ActionToast.d.ts +17 -3
- package/dist/components/action-toast/ActionToast.esm.js +238 -0
- 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 +36 -0
- 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 +26 -0
- 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 +38 -0
- package/dist/components/button/Button.cjs +1 -0
- package/dist/components/button/Button.d.ts +19 -0
- package/dist/components/button/Button.esm.js +77 -0
- package/dist/{src/components → components}/button/index.d.ts +2 -2
- package/dist/components/button/utils.cjs +1 -0
- package/dist/{src/components → components}/button/utils.d.ts +1 -1
- package/dist/components/button/utils.esm.js +38 -0
- 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 +69 -0
- 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 +44 -0
- package/dist/components/collapsible/Collapsible.cjs +1 -0
- package/dist/components/collapsible/Collapsible.esm.js +20 -0
- 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 +40 -0
- 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 +183 -0
- 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 +238 -0
- 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 +103 -0
- package/dist/components/drawer/Drawer.cjs +1 -0
- package/dist/components/drawer/Drawer.d.ts +45 -0
- package/dist/components/drawer/Drawer.esm.js +143 -0
- 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/{src/components → components}/info-tooltip/InfoTooltip.d.ts +7 -0
- package/dist/components/info-tooltip/InfoTooltip.esm.js +25 -0
- 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 +89 -0
- 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 +29 -0
- 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 +44 -0
- 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 +24 -0
- package/dist/components/loading-spinner/LoadingSpinner.cjs +1 -0
- package/dist/{src/components → components}/loading-spinner/LoadingSpinner.d.ts +7 -0
- package/dist/components/loading-spinner/LoadingSpinner.esm.js +48 -0
- 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 +34 -2
- package/dist/components/modal/Modal.esm.js +167 -0
- 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 +111 -0
- 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 +57 -0
- 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 +17 -0
- package/dist/components/page-title/index.d.ts +1 -0
- package/dist/components/popover/Popover.cjs +1 -0
- package/dist/{src/components → components}/popover/Popover.d.ts +19 -1
- package/dist/components/popover/Popover.esm.js +57 -0
- package/dist/components/popover/index.d.ts +2 -0
- package/dist/components/progress/Progress.cjs +1 -0
- package/dist/components/progress/Progress.d.ts +13 -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 +28 -0
- 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 +155 -0
- package/dist/components/search-box/SearchBoxChips.cjs +1 -0
- package/dist/components/search-box/SearchBoxChips.esm.js +36 -0
- 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 +60 -0
- 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 +39 -0
- 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/SearchBoxField.esm.js +48 -0
- package/dist/components/search-box/SearchBoxFloatingInput.cjs +1 -0
- package/dist/components/search-box/SearchBoxFloatingInput.esm.js +43 -0
- 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 +79 -0
- package/dist/components/search-box/SearchBoxMonth.cjs +1 -0
- package/dist/components/search-box/SearchBoxMonth.esm.js +36 -0
- 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 +83 -0
- package/dist/components/search-box/SearchBoxSheetContext.cjs +1 -0
- package/dist/components/search-box/SearchBoxSheetContext.esm.js +5 -0
- package/dist/components/search-box/dateRangePresets.cjs +1 -0
- package/dist/{src/components → components}/search-box/dateRangePresets.d.ts +1 -1
- package/dist/components/search-box/dateRangePresets.esm.js +59 -0
- package/dist/{src/components → components}/search-box/index.d.ts +5 -5
- package/dist/components/search-box/parseDateRange.cjs +1 -0
- package/dist/components/search-box/parseDateRange.esm.js +21 -0
- package/dist/components/search-box/parseSearchValues.cjs +1 -0
- package/dist/{src/components → components}/search-box/parseSearchValues.d.ts +2 -2
- package/dist/components/search-box/parseSearchValues.esm.js +15 -0
- 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/search-box/useSearchBoxState.esm.js +87 -0
- 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 +279 -0
- 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 +320 -0
- 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 +24 -0
- 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/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/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 +37 -0
- 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 +40 -0
- 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 +418 -0
- package/dist/components/table/column-group-utils.cjs +1 -0
- package/dist/{src/components → components}/table/column-group-utils.d.ts +1 -1
- package/dist/components/table/column-group-utils.esm.js +53 -0
- 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 +166 -0
- 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 +194 -0
- package/dist/components/table/components/KeyboardNavButton.cjs +1 -0
- package/dist/components/table/components/KeyboardNavButton.esm.js +24 -0
- package/dist/components/table/components/PageJumpInput.cjs +1 -0
- package/dist/components/table/components/PageJumpInput.esm.js +54 -0
- package/dist/components/table/components/Pagination.cjs +1 -0
- package/dist/components/table/components/Pagination.esm.js +163 -0
- package/dist/components/table/components/PaginationFooter.cjs +1 -0
- package/dist/components/table/components/PaginationFooter.esm.js +80 -0
- package/dist/components/table/components/SortableHeaderCell.cjs +1 -0
- package/dist/components/table/components/SortableHeaderCell.esm.js +30 -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/useColumnPresets.esm.js +165 -0
- 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 +118 -0
- 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/useTableColumnState.esm.js +46 -0
- 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 +1 -1
- package/dist/components/table/hooks/useTableSort.esm.js +30 -0
- package/dist/components/table/hooks/useVirtualTable.cjs +1 -0
- package/dist/components/table/hooks/useVirtualTable.esm.js +18 -0
- 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 +127 -0
- 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-mini-table.esm.js +31 -0
- package/dist/components/table/paginated-table.cjs +1 -0
- package/dist/{src/components → components}/table/paginated-table.d.ts +1 -1
- package/dist/components/table/paginated-table.esm.js +31 -0
- package/dist/components/table/table.cjs +1 -0
- package/dist/{src/components → components}/table/table.d.ts +2 -1
- package/dist/components/table/table.esm.js +343 -0
- 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 +16 -0
- package/dist/components/table-checkbox/TableCheckbox.cjs +1 -0
- package/dist/components/table-checkbox/TableCheckbox.esm.js +40 -0
- 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 +37 -0
- package/dist/{src/components → components}/table-page-layout/index.d.ts +1 -1
- 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 +64 -0
- 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 +86 -0
- package/dist/components/toast/index.d.ts +3 -0
- package/dist/components/toast/index.esm.js +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 +149 -0
- package/dist/components/toolbar/index.d.ts +2 -0
- package/dist/components/tooltip/Tooltip.cjs +1 -0
- package/dist/{src/components → components}/tooltip/Tooltip.d.ts +10 -0
- package/dist/components/tooltip/Tooltip.esm.js +39 -0
- 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/useBottomSheetDrag.cjs +1 -0
- package/dist/hooks/useBottomSheetDrag.esm.js +17 -0
- package/dist/hooks/useClickOutside.cjs +1 -0
- package/dist/hooks/useClickOutside.esm.js +20 -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/useMediaQuery.cjs +1 -0
- package/dist/hooks/useMediaQuery.esm.js +15 -0
- package/dist/hooks/useScrollLock.cjs +1 -0
- package/dist/hooks/useScrollLock.esm.js +16 -0
- package/dist/hooks/useTableDragSelection.cjs +1 -0
- package/dist/{src/components/table/hooks → hooks}/useTableDragSelection.d.ts +3 -4
- package/dist/hooks/useTableDragSelection.esm.js +79 -0
- 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 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.ts +40 -0
- package/dist/index.esm.js +81 -0
- package/dist/lib/Portal.cjs +1 -0
- package/dist/lib/Portal.esm.js +11 -0
- package/dist/lib/column-preset-storage.cjs +1 -0
- package/dist/lib/column-preset-storage.esm.js +123 -0
- package/dist/lib/index.d.ts +6 -0
- package/dist/lib/overlay-stack.cjs +1 -0
- package/dist/lib/overlay-stack.esm.js +28 -0
- package/dist/lib/utils.cjs +1 -0
- package/dist/{src/lib → lib}/utils.d.ts +2 -1
- package/dist/lib/utils.esm.js +114 -0
- package/dist/node_modules/clsx/dist/clsx.cjs +1 -0
- package/dist/node_modules/clsx/dist/clsx.esm.js +16 -0
- package/dist/node_modules/lucide-react/dist/esm/Icon.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/Icon.esm.js +23 -0
- package/dist/node_modules/lucide-react/dist/esm/context.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/context.esm.js +6 -0
- package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.esm.js +17 -0
- package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.esm.js +14 -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-left.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/calendar.esm.js +25 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/check.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/check.esm.js +7 -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-down.esm.js +7 -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-left.esm.js +7 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.esm.js +7 -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-left.esm.js +10 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/chevrons-right.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/chevrons-right.esm.js +10 -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-check.esm.js +12 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/circle-x.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/circle-x.esm.js +19 -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-off.esm.js +21 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/eye.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/eye.esm.js +12 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/grip-vertical.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/grip-vertical.esm.js +41 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/info.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/info.esm.js +19 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/keyboard.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/keyboard.esm.js +45 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/list-filter.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/list-filter.esm.js +17 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/loader-circle.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/loader-circle.esm.js +7 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/minus.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/minus.esm.js +7 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/rotate-ccw.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/rotate-ccw.esm.js +10 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/save.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/save.esm.js +17 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/search.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/search.esm.js +12 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/settings.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/settings.esm.js +12 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/triangle-alert.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/triangle-alert.esm.js +17 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/wrench.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/wrench.esm.js +7 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/x.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/icons/x.esm.js +10 -0
- package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/hasA11yProp.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/hasA11yProp.esm.js +7 -0
- package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.esm.js +4 -0
- package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/toCamelCase.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/toCamelCase.esm.js +4 -0
- package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/toKebabCase.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/toKebabCase.esm.js +4 -0
- package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/toPascalCase.cjs +1 -0
- package/dist/node_modules/lucide-react/dist/esm/shared/src/utils/toPascalCase.esm.js +8 -0
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs +1 -0
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.esm.js +1723 -0
- package/dist/node_modules/use-debounce/dist/index.module.cjs +1 -0
- package/dist/node_modules/use-debounce/dist/index.module.esm.js +70 -0
- package/dist/tokens.css +1085 -0
- package/dist/ui.css +1 -1
- package/llms.txt +117 -0
- package/package.json +18 -9
- package/dist/index.cjs.js +0 -40
- package/dist/index.es.js +0 -8066
- 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/button/Button.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 -18
- 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-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/{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}/button/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}/page-title/PageTitle.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/{src/components → components}/search-box/SearchBoxSheetContext.d.ts +0 -0
- /package/dist/{src/components → components}/search-box/parseDateRange.d.ts +0 -0
- /package/dist/{src/components → components}/select/types.d.ts +0 -0
- /package/dist/{src/components → components}/switch/types.d.ts +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/components/SortableHeaderCell.d.ts +0 -0
- /package/dist/{src/components → components}/table/hooks/useVirtualTable.d.ts +0 -0
- /package/dist/{src/components → components}/table/types.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/hooks → hooks}/useBottomSheetDrag.d.ts +0 -0
- /package/dist/{src/hooks → hooks}/useClickOutside.d.ts +0 -0
- /package/dist/{src/hooks → hooks}/useMediaQuery.d.ts +0 -0
- /package/dist/{src/hooks → hooks}/useScrollLock.d.ts +0 -0
- /package/dist/{src/lib → lib}/Portal.d.ts +0 -0
- /package/dist/{src/lib → lib}/column-preset-storage.d.ts +0 -0
- /package/dist/{src/lib → lib}/overlay-stack.d.ts +0 -0
|
@@ -0,0 +1,320 @@
|
|
|
1
|
+
import { cn as e } from "../../lib/utils.esm.js";
|
|
2
|
+
import { ChevronDown as t } from "../../node_modules/lucide-react/dist/esm/icons/chevron-down.esm.js";
|
|
3
|
+
import { CircleX as n } from "../../node_modules/lucide-react/dist/esm/icons/circle-x.esm.js";
|
|
4
|
+
import { CHEVRON_SIZE_CLASS as r, CONTROL_TEXT_CLASS as i, SLOT_BADGE_TEXT_CLASS as ee, SLOT_CHILD_ICON_CLASS as te, SLOT_GAP_CLASS as ne, SLOT_ICON_SIZE_CLASS as re } from "../_shared/form-size-tokens.esm.js";
|
|
5
|
+
import { getInputContainerClasses as ie, getInputHelpClasses as ae, getInputLabelClasses as oe, getInputTrailingIconColor as se, getInputVariantClasses as ce } from "../input/utils.esm.js";
|
|
6
|
+
import { c as le } from "../../node_modules/use-debounce/dist/index.module.esm.js";
|
|
7
|
+
import { LoadingDots as ue } from "./loading-dots.esm.js";
|
|
8
|
+
import { computeSelectPanelMaxWidth as de } from "./panel-width.esm.js";
|
|
9
|
+
import { forwardRef as a, useEffect as fe, useId as pe, useMemo as me, useRef as o, useState as s } from "react";
|
|
10
|
+
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
11
|
+
import { FloatingFocusManager as he, FloatingPortal as ge, autoUpdate as _e, flip as ve, offset as ye, shift as be, size as xe, useClick as Se, useDismiss as Ce, useFloating as we, useInteractions as Te, useListNavigation as Ee, useRole as De, useTypeahead as Oe } from "@floating-ui/react";
|
|
12
|
+
//#region src/components/select/Select.tsx
|
|
13
|
+
var u = a(function({ options: a, value: u, onChange: d, variant: f, selectSize: p = "medium", label: ke, labelOption: Ae = "appear", help: je, placeholder: Me = "선택해주세요", hasError: m = !1, disabled: h = !1, suffix: g, trailingIcon: _, clearable: v = !1, badge: y, searchable: b = !1, searchPlaceholder: Ne = "검색...", onSearchChange: x, isSearchLoading: S = !1, containerProps: Pe, containerRef: Fe, className: C = "", panelClassName: Ie = "", id: Le, name: Re, onLoadMore: w, hasMore: T = !1, searchDebounceMs: E = 300, openOnFocus: ze = !1, validateSearchQuery: D, open: Be, onOpenChange: Ve, "data-testid": He }, O) {
|
|
14
|
+
let [Ue, We] = s(!1), k = Be ?? Ue, A = (e) => {
|
|
15
|
+
Be === void 0 && We(e), Ve?.(e);
|
|
16
|
+
}, [j, M] = s(null), [N, P] = s(""), Ge = o([]), F = o(null), [I, Ke] = s(null), [L, qe] = s(null), R = pe(), Je = pe(), z = Le ?? Je, Ye = (e) => `${R}-opt-${e}`, Xe = j === null ? void 0 : Ye(j), B = typeof x == "function", V = o(x);
|
|
17
|
+
V.current = x;
|
|
18
|
+
let Ze = E === !1 || E <= 0 ? 0 : E, Qe = le((e) => {
|
|
19
|
+
V.current?.(e);
|
|
20
|
+
}, Ze), H = (e, t) => {
|
|
21
|
+
B && (t || Ze === 0 ? (Qe.cancel(), V.current?.(e)) : Qe(e));
|
|
22
|
+
}, U = a.find((e) => String(e.value) === u), $e = o(U?.label ?? "");
|
|
23
|
+
$e.current = U?.label ?? "";
|
|
24
|
+
let et = o(H);
|
|
25
|
+
et.current = H;
|
|
26
|
+
let tt = b && (U !== void 0 && N === U.label || U === void 0 && u !== "" && N !== ""), W = me(() => {
|
|
27
|
+
if (!b || B || N.length === 0 || tt) return a;
|
|
28
|
+
let e = N.toLowerCase();
|
|
29
|
+
return a.filter((t) => t.label.toLowerCase().includes(e));
|
|
30
|
+
}, [
|
|
31
|
+
a,
|
|
32
|
+
b,
|
|
33
|
+
B,
|
|
34
|
+
N,
|
|
35
|
+
tt
|
|
36
|
+
]), { refs: G, floatingStyles: nt, context: K } = we({
|
|
37
|
+
open: k,
|
|
38
|
+
onOpenChange: A,
|
|
39
|
+
placement: "bottom-start",
|
|
40
|
+
whileElementsMounted: _e,
|
|
41
|
+
middleware: [
|
|
42
|
+
ye(4),
|
|
43
|
+
ve({ padding: 8 }),
|
|
44
|
+
be({ padding: 8 }),
|
|
45
|
+
xe({
|
|
46
|
+
apply({ rects: e, elements: t, availableHeight: n, availableWidth: r }) {
|
|
47
|
+
Object.assign(t.floating.style, {
|
|
48
|
+
minWidth: `${e.reference.width}px`,
|
|
49
|
+
maxWidth: `${de(e.reference.width, r)}px`,
|
|
50
|
+
maxHeight: `${Math.min(n, 320)}px`
|
|
51
|
+
});
|
|
52
|
+
},
|
|
53
|
+
padding: 8
|
|
54
|
+
})
|
|
55
|
+
]
|
|
56
|
+
}), { getReferenceProps: rt, getFloatingProps: it, getItemProps: at } = Te([
|
|
57
|
+
Se(K, { enabled: !h && !b }),
|
|
58
|
+
Ce(K),
|
|
59
|
+
De(K, { role: "listbox" }),
|
|
60
|
+
Ee(K, {
|
|
61
|
+
listRef: Ge,
|
|
62
|
+
activeIndex: j,
|
|
63
|
+
onNavigate: M,
|
|
64
|
+
virtual: b,
|
|
65
|
+
loop: !0
|
|
66
|
+
}),
|
|
67
|
+
Oe(K, {
|
|
68
|
+
listRef: { current: W.map((e) => e.label) },
|
|
69
|
+
activeIndex: j,
|
|
70
|
+
onMatch: M,
|
|
71
|
+
enabled: !b
|
|
72
|
+
})
|
|
73
|
+
]), ot = o(!1);
|
|
74
|
+
fe(() => {
|
|
75
|
+
if (k) {
|
|
76
|
+
if (ot.current = !0, b) {
|
|
77
|
+
let e = $e.current;
|
|
78
|
+
P(e), e !== "" && requestAnimationFrame(() => {
|
|
79
|
+
F.current?.select();
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
} else P(""), M(null), ot.current && et.current("", !0);
|
|
83
|
+
}, [
|
|
84
|
+
k,
|
|
85
|
+
b,
|
|
86
|
+
B
|
|
87
|
+
]), fe(() => {
|
|
88
|
+
if (!k || !w || !T || !I || !L) return;
|
|
89
|
+
let e = new IntersectionObserver((e) => {
|
|
90
|
+
for (let t of e) t.isIntersecting && !S && w();
|
|
91
|
+
}, {
|
|
92
|
+
root: L,
|
|
93
|
+
rootMargin: "0px 0px 80px 0px"
|
|
94
|
+
});
|
|
95
|
+
return e.observe(I), () => e.disconnect();
|
|
96
|
+
}, [
|
|
97
|
+
k,
|
|
98
|
+
w,
|
|
99
|
+
T,
|
|
100
|
+
S,
|
|
101
|
+
I,
|
|
102
|
+
L
|
|
103
|
+
]);
|
|
104
|
+
let q = (e) => {
|
|
105
|
+
d(e), A(!1);
|
|
106
|
+
}, st = (e) => {
|
|
107
|
+
e.stopPropagation(), d(""), P("");
|
|
108
|
+
}, ct = (e) => {
|
|
109
|
+
b || !v || h || !J || k || (e.key === "Backspace" || e.key === "Delete") && (e.preventDefault(), d(""));
|
|
110
|
+
}, lt = (e) => {
|
|
111
|
+
let t = e.target.value;
|
|
112
|
+
D && !D(t) || (t !== N && (L && (L.scrollTop = 0), M(null)), P(t), H(t, !1), k || A(!0));
|
|
113
|
+
}, ut = (e) => {
|
|
114
|
+
if (!e.nativeEvent.isComposing) {
|
|
115
|
+
if (e.key === "Enter" && j !== null) {
|
|
116
|
+
e.preventDefault();
|
|
117
|
+
let t = W[j];
|
|
118
|
+
t && !t.disabled && q(String(t.value));
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
(e.key === "Backspace" || e.key === "Delete") && U && (!k || N === "") && (e.preventDefault(), d(""));
|
|
122
|
+
}
|
|
123
|
+
}, dt = Ae === "sustain" || Ae === "appear" && !!U, J = !!U, ft = U ? U.label : Me, pt = k ? N : U?.label ?? "", mt = ne[p], Y = te[p], ht = ee[p], X = re[p], gt = r[p], _t = ce(f, m, h, p), Z = se(m, h, J || k), Q = i[p], $ = h ? "text-fg-disabled" : m ? "text-fg-danger" : J ? "text-fg-default" : "text-fg-subtle";
|
|
124
|
+
return /* @__PURE__ */ l("div", {
|
|
125
|
+
ref: Fe,
|
|
126
|
+
className: e(ie(), "min-w-0"),
|
|
127
|
+
...Pe,
|
|
128
|
+
children: [
|
|
129
|
+
dt && ke && /* @__PURE__ */ c("label", {
|
|
130
|
+
className: oe(f, m),
|
|
131
|
+
htmlFor: z,
|
|
132
|
+
children: ke
|
|
133
|
+
}),
|
|
134
|
+
b ? /* @__PURE__ */ l("div", {
|
|
135
|
+
ref: (e) => {
|
|
136
|
+
G.setReference(e);
|
|
137
|
+
},
|
|
138
|
+
...rt({ onClick: () => {
|
|
139
|
+
h || (F.current?.focus(), k || A(!0));
|
|
140
|
+
} }),
|
|
141
|
+
className: e(_t, "flex w-full min-w-0 items-center", mt, f !== "box" && "focus-within:border-primary", f !== "box" && f !== "line" && "focus-within:ring-control focus-within:ring-primary", h ? "cursor-not-allowed" : "cursor-text", C),
|
|
142
|
+
children: [
|
|
143
|
+
/* @__PURE__ */ c("input", {
|
|
144
|
+
ref: (e) => {
|
|
145
|
+
F.current = e, typeof O == "function" ? O(e) : O && (O.current = e);
|
|
146
|
+
},
|
|
147
|
+
id: z,
|
|
148
|
+
type: "text",
|
|
149
|
+
role: "combobox",
|
|
150
|
+
readOnly: !k,
|
|
151
|
+
disabled: h,
|
|
152
|
+
"aria-haspopup": "listbox",
|
|
153
|
+
"aria-expanded": k,
|
|
154
|
+
"aria-controls": k ? R : void 0,
|
|
155
|
+
"aria-activedescendant": Xe,
|
|
156
|
+
"aria-autocomplete": "list",
|
|
157
|
+
"data-testid": He,
|
|
158
|
+
value: pt,
|
|
159
|
+
placeholder: U ? Ne : Me,
|
|
160
|
+
onChange: lt,
|
|
161
|
+
onKeyDown: ut,
|
|
162
|
+
onFocus: () => {
|
|
163
|
+
ze && !h && !k && A(!0);
|
|
164
|
+
},
|
|
165
|
+
className: e("min-w-0 flex-1 truncate bg-transparent text-left outline-hidden placeholder:text-fg-subtle", Q, $, h && "cursor-not-allowed")
|
|
166
|
+
}),
|
|
167
|
+
g && /* @__PURE__ */ c("span", {
|
|
168
|
+
className: e("shrink-0 whitespace-nowrap", Q, Z),
|
|
169
|
+
children: g
|
|
170
|
+
}),
|
|
171
|
+
_ && /* @__PURE__ */ c("span", {
|
|
172
|
+
className: e("flex shrink-0 items-center", Z, Y),
|
|
173
|
+
children: _
|
|
174
|
+
}),
|
|
175
|
+
S && /* @__PURE__ */ c(ue, { className: e("shrink-0 text-fg-subtle", X) }),
|
|
176
|
+
v && !h && J && /* @__PURE__ */ c("button", {
|
|
177
|
+
type: "button",
|
|
178
|
+
tabIndex: -1,
|
|
179
|
+
onClick: st,
|
|
180
|
+
"aria-label": "선택 지우기",
|
|
181
|
+
className: e("flex shrink-0 cursor-pointer items-center rounded", Z, "hover:text-fg-default focus:outline-hidden focus-visible:ring-input-clear focus-visible:ring-input-clear-ring"),
|
|
182
|
+
children: /* @__PURE__ */ c(n, {
|
|
183
|
+
className: X,
|
|
184
|
+
strokeWidth: 1.5,
|
|
185
|
+
"aria-hidden": !0
|
|
186
|
+
})
|
|
187
|
+
}),
|
|
188
|
+
y && /* @__PURE__ */ c("span", {
|
|
189
|
+
className: e("flex shrink-0 items-center", Y, ht),
|
|
190
|
+
children: y
|
|
191
|
+
}),
|
|
192
|
+
/* @__PURE__ */ c(t, {
|
|
193
|
+
className: e("shrink-0 transition-transform", gt, Z, k && "rotate-180"),
|
|
194
|
+
strokeWidth: 1.5,
|
|
195
|
+
"aria-hidden": !0
|
|
196
|
+
})
|
|
197
|
+
]
|
|
198
|
+
}) : /* @__PURE__ */ l("button", {
|
|
199
|
+
ref: (e) => {
|
|
200
|
+
G.setReference(e), typeof O == "function" ? O(e) : O && (O.current = e);
|
|
201
|
+
},
|
|
202
|
+
id: z,
|
|
203
|
+
type: "button",
|
|
204
|
+
disabled: h,
|
|
205
|
+
"aria-haspopup": "listbox",
|
|
206
|
+
"aria-expanded": k,
|
|
207
|
+
"aria-controls": k ? R : void 0,
|
|
208
|
+
"aria-activedescendant": Xe,
|
|
209
|
+
"data-testid": He,
|
|
210
|
+
...rt({ onKeyDown: ct }),
|
|
211
|
+
className: e(_t, "flex w-full min-w-0 items-center", mt, h ? "cursor-not-allowed" : "cursor-pointer", C),
|
|
212
|
+
children: [
|
|
213
|
+
/* @__PURE__ */ c("span", {
|
|
214
|
+
className: e("min-w-0 flex-1 truncate text-left", Q, $),
|
|
215
|
+
children: ft
|
|
216
|
+
}),
|
|
217
|
+
g && /* @__PURE__ */ c("span", {
|
|
218
|
+
className: e("shrink-0 whitespace-nowrap", Q, Z),
|
|
219
|
+
children: g
|
|
220
|
+
}),
|
|
221
|
+
_ && /* @__PURE__ */ c("span", {
|
|
222
|
+
className: e("flex shrink-0 items-center", Z, Y),
|
|
223
|
+
children: _
|
|
224
|
+
}),
|
|
225
|
+
v && !h && J && /* @__PURE__ */ c("span", {
|
|
226
|
+
role: "button",
|
|
227
|
+
tabIndex: -1,
|
|
228
|
+
onClick: st,
|
|
229
|
+
"aria-label": "선택 지우기",
|
|
230
|
+
className: e("flex shrink-0 cursor-pointer items-center", Z, "hover:text-fg-default"),
|
|
231
|
+
children: /* @__PURE__ */ c(n, {
|
|
232
|
+
className: X,
|
|
233
|
+
strokeWidth: 1.5,
|
|
234
|
+
"aria-hidden": !0
|
|
235
|
+
})
|
|
236
|
+
}),
|
|
237
|
+
y && /* @__PURE__ */ c("span", {
|
|
238
|
+
className: e("flex shrink-0 items-center", Y, ht),
|
|
239
|
+
children: y
|
|
240
|
+
}),
|
|
241
|
+
/* @__PURE__ */ c(t, {
|
|
242
|
+
className: e("shrink-0 transition-transform", gt, Z, k && "rotate-180"),
|
|
243
|
+
strokeWidth: 1.5,
|
|
244
|
+
"aria-hidden": !0
|
|
245
|
+
})
|
|
246
|
+
]
|
|
247
|
+
}),
|
|
248
|
+
Re && /* @__PURE__ */ c("input", {
|
|
249
|
+
type: "hidden",
|
|
250
|
+
name: Re,
|
|
251
|
+
value: u
|
|
252
|
+
}),
|
|
253
|
+
k && /* @__PURE__ */ c(ge, { children: /* @__PURE__ */ c(he, {
|
|
254
|
+
context: K,
|
|
255
|
+
modal: !1,
|
|
256
|
+
initialFocus: b ? -1 : 0,
|
|
257
|
+
children: /* @__PURE__ */ c("div", {
|
|
258
|
+
ref: G.setFloating,
|
|
259
|
+
id: R,
|
|
260
|
+
style: nt,
|
|
261
|
+
...it(),
|
|
262
|
+
className: e("z-floating overflow-hidden rounded-surface border border-border-subtle bg-bg-surface shadow-overlay", Ie),
|
|
263
|
+
children: /* @__PURE__ */ l("div", {
|
|
264
|
+
ref: qe,
|
|
265
|
+
className: "max-h-72 overflow-y-auto py-1",
|
|
266
|
+
children: [W.length === 0 ? /* @__PURE__ */ c("div", {
|
|
267
|
+
className: "px-3 py-4 text-center text-sm text-fg-subtle",
|
|
268
|
+
children: S ? "검색 중..." : "옵션이 없어요"
|
|
269
|
+
}) : W.map((t, n) => {
|
|
270
|
+
let r = String(t.value) === u, i = j === n;
|
|
271
|
+
return /* @__PURE__ */ l("div", {
|
|
272
|
+
id: Ye(n),
|
|
273
|
+
ref: (e) => {
|
|
274
|
+
Ge.current[n] = e;
|
|
275
|
+
},
|
|
276
|
+
role: "option",
|
|
277
|
+
"aria-selected": r,
|
|
278
|
+
"aria-disabled": t.disabled || void 0,
|
|
279
|
+
tabIndex: i ? 0 : -1,
|
|
280
|
+
...at({
|
|
281
|
+
onClick: () => {
|
|
282
|
+
t.disabled || q(String(t.value));
|
|
283
|
+
},
|
|
284
|
+
onKeyDown: (e) => {
|
|
285
|
+
t.disabled || (e.key === "Enter" || e.key === " ") && (e.preventDefault(), q(String(t.value)));
|
|
286
|
+
}
|
|
287
|
+
}),
|
|
288
|
+
className: e("flex cursor-pointer items-start gap-3 px-3 py-2 text-sm transition-colors", t.disabled ? "cursor-not-allowed text-fg-disabled" : r ? e("font-medium text-primary-fg", i ? "bg-primary-subtle" : "bg-primary-subtle/60 hover:bg-primary-subtle/80") : i ? "bg-bg-subtle text-fg-default" : "text-fg-default hover:bg-bg-subtle"),
|
|
289
|
+
children: [/* @__PURE__ */ l("div", {
|
|
290
|
+
className: "min-w-0 flex-1",
|
|
291
|
+
children: [/* @__PURE__ */ c("div", {
|
|
292
|
+
className: "truncate",
|
|
293
|
+
children: t.label
|
|
294
|
+
}), t.description && /* @__PURE__ */ c("div", {
|
|
295
|
+
className: "mt-0.5 truncate text-xs text-fg-subtle",
|
|
296
|
+
children: t.description
|
|
297
|
+
})]
|
|
298
|
+
}), t.trailing && /* @__PURE__ */ c("span", {
|
|
299
|
+
className: "shrink-0 text-xs text-fg-subtle",
|
|
300
|
+
children: t.trailing
|
|
301
|
+
})]
|
|
302
|
+
}, String(t.value));
|
|
303
|
+
}), w && T && /* @__PURE__ */ c("div", {
|
|
304
|
+
ref: Ke,
|
|
305
|
+
"aria-hidden": !0,
|
|
306
|
+
className: "flex items-center justify-center px-3 py-3 text-fg-subtle",
|
|
307
|
+
children: S && /* @__PURE__ */ c(ue, {})
|
|
308
|
+
})]
|
|
309
|
+
})
|
|
310
|
+
})
|
|
311
|
+
}) }),
|
|
312
|
+
je && /* @__PURE__ */ c("div", {
|
|
313
|
+
className: ae(m),
|
|
314
|
+
children: je
|
|
315
|
+
})
|
|
316
|
+
]
|
|
317
|
+
});
|
|
318
|
+
});
|
|
319
|
+
//#endregion
|
|
320
|
+
export { u as Select };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("../../lib/utils.cjs");let t=require("react/jsx-runtime");var n=({className:n=``})=>(0,t.jsxs)(`span`,{className:e.cn(`inline-flex items-end gap-0.5`,n),"aria-label":`로딩 중`,role:`status`,children:[(0,t.jsx)(`span`,{className:`block h-1 w-1 animate-pulse rounded-full bg-current`,style:{animationDelay:`0ms`}}),(0,t.jsx)(`span`,{className:`block h-1 w-1 animate-pulse rounded-full bg-current`,style:{animationDelay:`200ms`}}),(0,t.jsx)(`span`,{className:`block h-1 w-1 animate-pulse rounded-full bg-current`,style:{animationDelay:`400ms`}})]});exports.LoadingDots=n;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { cn as e } from "../../lib/utils.esm.js";
|
|
2
|
+
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
3
|
+
//#region src/components/select/loading-dots.tsx
|
|
4
|
+
var r = ({ className: r = "" }) => /* @__PURE__ */ n("span", {
|
|
5
|
+
className: e("inline-flex items-end gap-0.5", r),
|
|
6
|
+
"aria-label": "로딩 중",
|
|
7
|
+
role: "status",
|
|
8
|
+
children: [
|
|
9
|
+
/* @__PURE__ */ t("span", {
|
|
10
|
+
className: "block h-1 w-1 animate-pulse rounded-full bg-current",
|
|
11
|
+
style: { animationDelay: "0ms" }
|
|
12
|
+
}),
|
|
13
|
+
/* @__PURE__ */ t("span", {
|
|
14
|
+
className: "block h-1 w-1 animate-pulse rounded-full bg-current",
|
|
15
|
+
style: { animationDelay: "200ms" }
|
|
16
|
+
}),
|
|
17
|
+
/* @__PURE__ */ t("span", {
|
|
18
|
+
className: "block h-1 w-1 animate-pulse rounded-full bg-current",
|
|
19
|
+
style: { animationDelay: "400ms" }
|
|
20
|
+
})
|
|
21
|
+
]
|
|
22
|
+
});
|
|
23
|
+
//#endregion
|
|
24
|
+
export { r as LoadingDots };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=420;function t(t,n){return Math.max(t,Math.min(n,e))}exports.computeSelectPanelMaxWidth=t;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("../../lib/utils.cjs");let t=require("react/jsx-runtime");function n({className:n,...r}){return(0,t.jsx)(`div`,{...r,"aria-hidden":`true`,className:e.cn(`animate-pulse rounded-control-small bg-bg-muted motion-reduce:animate-none`,n)})}exports.Skeleton=n;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { cn as e } from "../../lib/utils.esm.js";
|
|
2
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
3
|
+
//#region src/components/skeleton/Skeleton.tsx
|
|
4
|
+
function n({ className: n, ...r }) {
|
|
5
|
+
return /* @__PURE__ */ t("div", {
|
|
6
|
+
...r,
|
|
7
|
+
"aria-hidden": "true",
|
|
8
|
+
className: e("animate-pulse rounded-control-small bg-bg-muted motion-reduce:animate-none", n)
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
export { n as Skeleton };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("../../lib/utils.cjs"),t=require("../animated-height/AnimatedHeight.cjs");let n=require("react/jsx-runtime"),r=require("motion/react");function i(e,t){if(t.reducedMotion||t.transition===`none`||e===`center`)return{opacity:1,x:0,y:0,scale:1};if(t.transition===`fade`)return{opacity:0,x:0,y:0,scale:1};if(t.transition===`scale`)return{opacity:0,x:0,y:0,scale:e===`enter`?.98:1.02};let n=c(t.slideDirection),r=e===`enter`?t.direction:-t.direction;return{opacity:0,x:(n.x??0)*r,y:(n.y??0)*r,scale:1}}var a={enter:e=>i(`enter`,e),center:e=>i(`center`,e),exit:e=>i(`exit`,e)};function o({steps:r,currentStep:i,orientation:a=`horizontal`,allowNonLinear:o=!1,onStepChange:c,renderStepContent:l,stepContentTransition:u=`height`,className:d}){return(0,n.jsx)(`ol`,{className:e.cn(`flex`,a===`horizontal`?`w-full items-start`:`flex-col gap-5`,d),"aria-label":`진행 단계`,children:r.map((d,f)=>{let p=f<i?`completed`:f===i?`current`:`pending`,m=o&&!!c,h=a===`vertical`?l?.({step:d,index:f,status:p}):null,g=(0,n.jsx)(`span`,{className:e.cn(`flex h-7 w-7 shrink-0 items-center justify-center rounded-chip border text-xs font-semibold transition-colors`,p===`current`&&`border-primary bg-primary text-fg-inverse`,p===`completed`&&`border-primary bg-primary-subtle text-primary-fg`,p===`pending`&&`border-border-subtle bg-bg-surface text-fg-subtle`),"aria-hidden":`true`,children:f+1});return(0,n.jsxs)(`li`,{className:e.cn(`relative flex min-w-0`,a===`horizontal`?`flex-1 items-start`:`grid grid-cols-[1.75rem_minmax(0,1fr)] gap-x-3`),"aria-current":p===`current`?`step`:void 0,"data-status":p,children:[m?(0,n.jsxs)(`button`,{type:`button`,className:e.cn(`flex min-w-0 text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary`,a===`horizontal`?`w-full flex-col items-center gap-1.5`:`col-span-2 grid grid-cols-[1.75rem_minmax(0,1fr)] items-center gap-x-3`),onClick:()=>c?.(f),"aria-label":`${f+1}단계: ${d.label}`,children:[g,(0,n.jsx)(s,{step:d,orientation:a,status:p})]}):(0,n.jsxs)(`div`,{className:e.cn(`flex min-w-0`,a===`horizontal`?`w-full flex-col items-center gap-1.5 text-center`:`col-span-2 grid grid-cols-[1.75rem_minmax(0,1fr)] items-center gap-x-3`),children:[g,(0,n.jsx)(s,{step:d,orientation:a,status:p})]}),a===`vertical`&&l&&(0,n.jsx)(`div`,{className:`col-start-2 min-w-0`,"data-step-content":d.id,children:(0,n.jsx)(t.AnimatedHeight,{durationMs:u===`height`?220:0,children:(0,n.jsx)(`div`,{hidden:p===`pending`,className:`px-3 pt-3`,children:h})})}),f<r.length-1&&(0,n.jsx)(`span`,{className:e.cn(`absolute bg-border-subtle`,a===`horizontal`?`left-[calc(50%+18px)] right-[calc(-50%+18px)] top-3.5 h-px`:`left-3.5 top-9 h-[calc(100%+4px)] w-px`),"aria-hidden":`true`})]},d.id)})})}function s({step:t,orientation:r,status:i}){return(0,n.jsxs)(`span`,{className:e.cn(`min-w-0`,r===`horizontal`&&`px-1`),children:[(0,n.jsx)(`span`,{className:e.cn(`block truncate font-medium`,r===`horizontal`?`text-xs`:`text-sm`,i===`current`&&`text-fg-default`,i===`completed`&&`text-fg-muted`,i===`pending`&&`text-fg-subtle`),children:t.label}),t.description&&(0,n.jsx)(`span`,{className:`mt-0.5 hidden text-xs text-fg-muted sm:block`,children:t.description})]})}function c(e){return e===`left`?{x:20}:e===`right`?{x:-20}:e===`up`?{y:20}:{y:-20}}function l({stepKey:e,direction:t=1,transition:i=`fade`,slideDirection:a=`left`,children:o,className:s}){let c={direction:t,transition:i,slideDirection:a,reducedMotion:!!(0,r.useReducedMotion)()};return(0,n.jsx)(r.AnimatePresence,{mode:`wait`,initial:!1,custom:c,children:(0,n.jsx)(u,{className:s,custom:c,children:o},e)})}function u({custom:e,className:t,children:i}){return(0,n.jsx)(r.motion.div,{className:t,custom:e,variants:a,initial:`enter`,animate:`center`,exit:`exit`,transition:{duration:e.reducedMotion||e.transition===`none`?0:.18},children:i})}exports.Stepper=o,exports.StepperContent=l;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface StepperStep {
|
|
3
|
+
id: string;
|
|
4
|
+
label: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
}
|
|
7
|
+
export type StepperOrientation = "horizontal" | "vertical";
|
|
8
|
+
export type StepperStepStatus = "completed" | "current" | "pending";
|
|
9
|
+
export type StepperStepContentTransition = "height" | "none";
|
|
10
|
+
export type StepperTransition = "none" | "fade" | "scale" | "slide";
|
|
11
|
+
export type StepperSlideDirection = "left" | "right" | "up" | "down";
|
|
12
|
+
export interface StepperStepContentContext {
|
|
13
|
+
step: StepperStep;
|
|
14
|
+
index: number;
|
|
15
|
+
status: StepperStepStatus;
|
|
16
|
+
}
|
|
17
|
+
export interface StepperProps {
|
|
18
|
+
steps: readonly StepperStep[];
|
|
19
|
+
currentStep: number;
|
|
20
|
+
orientation?: StepperOrientation;
|
|
21
|
+
allowNonLinear?: boolean;
|
|
22
|
+
onStepChange?: (step: number) => void;
|
|
23
|
+
/** 세로형에서 각 단계 헤더와 다음 marker 사이에 콘텐츠를 렌더링합니다. */
|
|
24
|
+
renderStepContent?: (context: StepperStepContentContext) => ReactNode;
|
|
25
|
+
/** 세로형 단계 콘텐츠의 펼침·접힘 전환. 기본 height. */
|
|
26
|
+
stepContentTransition?: StepperStepContentTransition;
|
|
27
|
+
className?: string;
|
|
28
|
+
}
|
|
29
|
+
export interface StepperContentProps {
|
|
30
|
+
stepKey: string;
|
|
31
|
+
direction?: 1 | -1;
|
|
32
|
+
transition?: StepperTransition;
|
|
33
|
+
slideDirection?: StepperSlideDirection;
|
|
34
|
+
children: ReactNode;
|
|
35
|
+
className?: string;
|
|
36
|
+
}
|
|
37
|
+
interface MotionCustom {
|
|
38
|
+
direction: 1 | -1;
|
|
39
|
+
transition: StepperTransition;
|
|
40
|
+
slideDirection: StepperSlideDirection;
|
|
41
|
+
reducedMotion: boolean;
|
|
42
|
+
}
|
|
43
|
+
type MotionPhase = "enter" | "center" | "exit";
|
|
44
|
+
export declare function resolveStepperMotion(phase: MotionPhase, custom: MotionCustom): Record<string, number>;
|
|
45
|
+
/** 단계 표시는 상태와 검증을 소유하지 않는다. 유효한 단계와 이동 검증은 호출부에서 관리하고,
|
|
46
|
+
* 여러 단계를 건너뛰려면 훅과 표시 양쪽에 allowNonLinear를 지정한다. */
|
|
47
|
+
export declare function Stepper({ steps, currentStep, orientation, allowNonLinear, onStepChange, renderStepContent, stepContentTransition, className, }: StepperProps): import("react").JSX.Element;
|
|
48
|
+
/** 단계 콘텐츠를 전환한다. stepKey는 단계마다 고유해야 종료와 진입을 구분한다.
|
|
49
|
+
* 움직임을 원치 않으면 transition="none"을 쓰며 시스템의 동작 줄이기도 따른다. */
|
|
50
|
+
export declare function StepperContent({ stepKey, direction, transition, slideDirection, children, className, }: StepperContentProps): import("react").JSX.Element;
|
|
51
|
+
export {};
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { cn as e } from "../../lib/utils.esm.js";
|
|
2
|
+
import { AnimatedHeight as t } from "../animated-height/AnimatedHeight.esm.js";
|
|
3
|
+
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
4
|
+
import { AnimatePresence as i, motion as a, useReducedMotion as o } from "motion/react";
|
|
5
|
+
//#region src/components/stepper/Stepper.tsx
|
|
6
|
+
function s(e, t) {
|
|
7
|
+
if (t.reducedMotion || t.transition === "none" || e === "center") return {
|
|
8
|
+
opacity: 1,
|
|
9
|
+
x: 0,
|
|
10
|
+
y: 0,
|
|
11
|
+
scale: 1
|
|
12
|
+
};
|
|
13
|
+
if (t.transition === "fade") return {
|
|
14
|
+
opacity: 0,
|
|
15
|
+
x: 0,
|
|
16
|
+
y: 0,
|
|
17
|
+
scale: 1
|
|
18
|
+
};
|
|
19
|
+
if (t.transition === "scale") return {
|
|
20
|
+
opacity: 0,
|
|
21
|
+
x: 0,
|
|
22
|
+
y: 0,
|
|
23
|
+
scale: e === "enter" ? .98 : 1.02
|
|
24
|
+
};
|
|
25
|
+
let n = d(t.slideDirection), r = e === "enter" ? t.direction : -t.direction;
|
|
26
|
+
return {
|
|
27
|
+
opacity: 0,
|
|
28
|
+
x: (n.x ?? 0) * r,
|
|
29
|
+
y: (n.y ?? 0) * r,
|
|
30
|
+
scale: 1
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
var c = {
|
|
34
|
+
enter: (e) => s("enter", e),
|
|
35
|
+
center: (e) => s("center", e),
|
|
36
|
+
exit: (e) => s("exit", e)
|
|
37
|
+
};
|
|
38
|
+
function l({ steps: i, currentStep: a, orientation: o = "horizontal", allowNonLinear: s = !1, onStepChange: c, renderStepContent: l, stepContentTransition: d = "height", className: f }) {
|
|
39
|
+
return /* @__PURE__ */ n("ol", {
|
|
40
|
+
className: e("flex", o === "horizontal" ? "w-full items-start" : "flex-col gap-5", f),
|
|
41
|
+
"aria-label": "진행 단계",
|
|
42
|
+
children: i.map((f, p) => {
|
|
43
|
+
let m = p < a ? "completed" : p === a ? "current" : "pending", h = s && !!c, g = o === "vertical" ? l?.({
|
|
44
|
+
step: f,
|
|
45
|
+
index: p,
|
|
46
|
+
status: m
|
|
47
|
+
}) : null, _ = /* @__PURE__ */ n("span", {
|
|
48
|
+
className: e("flex h-7 w-7 shrink-0 items-center justify-center rounded-chip border text-xs font-semibold transition-colors", m === "current" && "border-primary bg-primary text-fg-inverse", m === "completed" && "border-primary bg-primary-subtle text-primary-fg", m === "pending" && "border-border-subtle bg-bg-surface text-fg-subtle"),
|
|
49
|
+
"aria-hidden": "true",
|
|
50
|
+
children: p + 1
|
|
51
|
+
});
|
|
52
|
+
return /* @__PURE__ */ r("li", {
|
|
53
|
+
className: e("relative flex min-w-0", o === "horizontal" ? "flex-1 items-start" : "grid grid-cols-[1.75rem_minmax(0,1fr)] gap-x-3"),
|
|
54
|
+
"aria-current": m === "current" ? "step" : void 0,
|
|
55
|
+
"data-status": m,
|
|
56
|
+
children: [
|
|
57
|
+
h ? /* @__PURE__ */ r("button", {
|
|
58
|
+
type: "button",
|
|
59
|
+
className: e("flex min-w-0 text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary", o === "horizontal" ? "w-full flex-col items-center gap-1.5" : "col-span-2 grid grid-cols-[1.75rem_minmax(0,1fr)] items-center gap-x-3"),
|
|
60
|
+
onClick: () => c?.(p),
|
|
61
|
+
"aria-label": `${p + 1}단계: ${f.label}`,
|
|
62
|
+
children: [_, /* @__PURE__ */ n(u, {
|
|
63
|
+
step: f,
|
|
64
|
+
orientation: o,
|
|
65
|
+
status: m
|
|
66
|
+
})]
|
|
67
|
+
}) : /* @__PURE__ */ r("div", {
|
|
68
|
+
className: e("flex min-w-0", o === "horizontal" ? "w-full flex-col items-center gap-1.5 text-center" : "col-span-2 grid grid-cols-[1.75rem_minmax(0,1fr)] items-center gap-x-3"),
|
|
69
|
+
children: [_, /* @__PURE__ */ n(u, {
|
|
70
|
+
step: f,
|
|
71
|
+
orientation: o,
|
|
72
|
+
status: m
|
|
73
|
+
})]
|
|
74
|
+
}),
|
|
75
|
+
o === "vertical" && l && /* @__PURE__ */ n("div", {
|
|
76
|
+
className: "col-start-2 min-w-0",
|
|
77
|
+
"data-step-content": f.id,
|
|
78
|
+
children: /* @__PURE__ */ n(t, {
|
|
79
|
+
durationMs: d === "height" ? 220 : 0,
|
|
80
|
+
children: /* @__PURE__ */ n("div", {
|
|
81
|
+
hidden: m === "pending",
|
|
82
|
+
className: "px-3 pt-3",
|
|
83
|
+
children: g
|
|
84
|
+
})
|
|
85
|
+
})
|
|
86
|
+
}),
|
|
87
|
+
p < i.length - 1 && /* @__PURE__ */ n("span", {
|
|
88
|
+
className: e("absolute bg-border-subtle", o === "horizontal" ? "left-[calc(50%+18px)] right-[calc(-50%+18px)] top-3.5 h-px" : "left-3.5 top-9 h-[calc(100%+4px)] w-px"),
|
|
89
|
+
"aria-hidden": "true"
|
|
90
|
+
})
|
|
91
|
+
]
|
|
92
|
+
}, f.id);
|
|
93
|
+
})
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
function u({ step: t, orientation: i, status: a }) {
|
|
97
|
+
return /* @__PURE__ */ r("span", {
|
|
98
|
+
className: e("min-w-0", i === "horizontal" && "px-1"),
|
|
99
|
+
children: [/* @__PURE__ */ n("span", {
|
|
100
|
+
className: e("block truncate font-medium", i === "horizontal" ? "text-xs" : "text-sm", a === "current" && "text-fg-default", a === "completed" && "text-fg-muted", a === "pending" && "text-fg-subtle"),
|
|
101
|
+
children: t.label
|
|
102
|
+
}), t.description && /* @__PURE__ */ n("span", {
|
|
103
|
+
className: "mt-0.5 hidden text-xs text-fg-muted sm:block",
|
|
104
|
+
children: t.description
|
|
105
|
+
})]
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
function d(e) {
|
|
109
|
+
return e === "left" ? { x: 20 } : e === "right" ? { x: -20 } : e === "up" ? { y: 20 } : { y: -20 };
|
|
110
|
+
}
|
|
111
|
+
function f({ stepKey: e, direction: t = 1, transition: r = "fade", slideDirection: a = "left", children: s, className: c }) {
|
|
112
|
+
let l = {
|
|
113
|
+
direction: t,
|
|
114
|
+
transition: r,
|
|
115
|
+
slideDirection: a,
|
|
116
|
+
reducedMotion: !!o()
|
|
117
|
+
};
|
|
118
|
+
return /* @__PURE__ */ n(i, {
|
|
119
|
+
mode: "wait",
|
|
120
|
+
initial: !1,
|
|
121
|
+
custom: l,
|
|
122
|
+
children: /* @__PURE__ */ n(p, {
|
|
123
|
+
className: c,
|
|
124
|
+
custom: l,
|
|
125
|
+
children: s
|
|
126
|
+
}, e)
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
function p({ custom: e, className: t, children: r }) {
|
|
130
|
+
return /* @__PURE__ */ n(a.div, {
|
|
131
|
+
className: t,
|
|
132
|
+
custom: e,
|
|
133
|
+
variants: c,
|
|
134
|
+
initial: "enter",
|
|
135
|
+
animate: "center",
|
|
136
|
+
exit: "exit",
|
|
137
|
+
transition: { duration: e.reducedMotion || e.transition === "none" ? 0 : .18 },
|
|
138
|
+
children: r
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
//#endregion
|
|
142
|
+
export { l as Stepper, f as StepperContent };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { Stepper, StepperContent } from './Stepper.js';
|
|
2
|
+
export type { StepperProps, StepperContentProps, StepperStep, StepperOrientation, StepperStepStatus, StepperStepContentTransition, StepperTransition, StepperSlideDirection, StepperStepContentContext, } from './Stepper.js';
|
|
3
|
+
export { useStepper } from './use-stepper.js';
|
|
4
|
+
export type { UseStepperOptions, StepperState } from './use-stepper.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let e=require("react");function t(e,t){return Math.min(Math.max(0,e),Math.max(0,t-1))}function n(e,n){let r=e.currentStep;if(n.type===`next`&&(r+=1),n.type===`previous`&&--r,n.type===`move`){let i=t(n.target,n.stepCount);if(!n.allowNonLinear&&Math.abs(i-e.currentStep)>1)return e;r=i}n.type===`reset`&&(r=n.target);let i=t(r,n.stepCount);return i===e.currentStep?e:{currentStep:i,direction:i>e.currentStep?1:-1}}function r({stepCount:r,initialStep:i=0,allowNonLinear:a=!1}){let o=t(i,r),[s,c]=(0,e.useReducer)(n,{currentStep:o,direction:1}),l=t(s.currentStep,r),u=l===s.currentStep?s.direction:l>s.currentStep?1:-1;return(0,e.useEffect)(()=>{c({type:`clamp`,stepCount:r})},[r]),{currentStep:l,direction:u,canGoNext:l<r-1,canGoPrevious:l>0,next:()=>c({type:`next`,stepCount:r}),previous:()=>c({type:`previous`,stepCount:r}),goTo:e=>c({type:`move`,target:e,stepCount:r,allowNonLinear:a}),reset:()=>c({type:`reset`,target:o,stepCount:r})}}exports.useStepper=r;
|