@ryuzaki13/react-foundation-ui 3.4.3 → 3.6.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/dist/badge/index.js +65 -2
- package/dist/badge/index.js.map +1 -0
- package/dist/barcode-scanner/index.js +18 -18
- package/dist/base-table/index.js +2 -2
- package/dist/button/Button.d.ts +4 -2
- package/dist/button/Button.d.ts.map +1 -1
- package/dist/button/index.js +1 -1
- package/dist/check-box/index.js +1 -1
- package/dist/chunks/{CalendarView-Dm55k0bN.js → CalendarView-BCXVjLFz.js} +102 -92
- package/dist/chunks/CalendarView-BCXVjLFz.js.map +1 -0
- package/dist/chunks/{ImageViewerRuntime-HGBWp9NM.js → ImageViewerRuntime-DZpgxzF1.js} +25 -25
- package/dist/chunks/{ImageViewerRuntime-HGBWp9NM.js.map → ImageViewerRuntime-DZpgxzF1.js.map} +1 -1
- package/dist/chunks/OptionContentContainer-CWHlfm5Z.js +14 -0
- package/dist/chunks/OptionContentContainer-CWHlfm5Z.js.map +1 -0
- package/dist/chunks/{TextEditorLexicalClient-C8nSoz85.js → TextEditorLexicalClient-DrSVnvOe.js} +355 -355
- package/dist/chunks/{TextEditorLexicalClient-C8nSoz85.js.map → TextEditorLexicalClient-DrSVnvOe.js.map} +1 -1
- package/dist/chunks/{base-table-BWvKfI2W.js → base-table-BBp5WMDM.js} +138 -138
- package/dist/chunks/{base-table-BWvKfI2W.js.map → base-table-BBp5WMDM.js.map} +1 -1
- package/dist/chunks/button-DudCl375.js +75 -0
- package/dist/chunks/button-DudCl375.js.map +1 -0
- package/dist/chunks/{check-box-CZyhzmR0.js → check-box-D_Y6iIWv.js} +19 -19
- package/dist/chunks/{check-box-CZyhzmR0.js.map → check-box-D_Y6iIWv.js.map} +1 -1
- package/dist/chunks/context-menu-CrSXJxQL.js +621 -0
- package/dist/chunks/context-menu-CrSXJxQL.js.map +1 -0
- package/dist/chunks/{date-input-D7aBsPJc.js → date-input-CzCDou4s.js} +72 -69
- package/dist/chunks/{date-input-D7aBsPJc.js.map → date-input-CzCDou4s.js.map} +1 -1
- package/dist/chunks/{date-range-preset-select-BLnY47cv.js → date-range-preset-select-CyzGMvVp.js} +6 -6
- package/dist/chunks/{date-range-preset-select-BLnY47cv.js.map → date-range-preset-select-CyzGMvVp.js.map} +1 -1
- package/dist/chunks/{dialog-1Z1zCNCe.js → dialog-BcQGVNbu.js} +13 -13
- package/dist/chunks/{dialog-1Z1zCNCe.js.map → dialog-BcQGVNbu.js.map} +1 -1
- package/dist/chunks/flex-D86M_h-0.js +222 -0
- package/dist/chunks/flex-D86M_h-0.js.map +1 -0
- package/dist/chunks/{floating-arrow-DPKwJfww.js → floating-arrow-B_iSbzUZ.js} +20 -19
- package/dist/chunks/{floating-arrow-DPKwJfww.js.map → floating-arrow-B_iSbzUZ.js.map} +1 -1
- package/dist/chunks/{grid-dI94AAbi.js → grid-CFuzBigM.js} +77 -68
- package/dist/chunks/grid-CFuzBigM.js.map +1 -0
- package/dist/chunks/{input-DSPKgiCK.js → input-CuRK9Vbz.js} +78 -78
- package/dist/chunks/{input-DSPKgiCK.js.map → input-CuRK9Vbz.js.map} +1 -1
- package/dist/chunks/{input-files-tIS17-zX.js → input-files-B8j6Pb_M.js} +31 -31
- package/dist/chunks/{input-files-tIS17-zX.js.map → input-files-B8j6Pb_M.js.map} +1 -1
- package/dist/chunks/misc-Cm_LDrUD.js +332 -0
- package/dist/chunks/misc-Cm_LDrUD.js.map +1 -0
- package/dist/chunks/{modal-dplfAaER.js → modal-Dz5TzkTB.js} +79 -70
- package/dist/chunks/modal-Dz5TzkTB.js.map +1 -0
- package/dist/chunks/picker-SJXnHwsj.js +462 -0
- package/dist/chunks/picker-SJXnHwsj.js.map +1 -0
- package/dist/chunks/popover-BJH-yHvb.js +263 -0
- package/dist/chunks/popover-BJH-yHvb.js.map +1 -0
- package/dist/chunks/radio-group-CW-K1n9c.js +125 -0
- package/dist/chunks/{radio-group-sSnlYjAX.js.map → radio-group-CW-K1n9c.js.map} +1 -1
- package/dist/chunks/select--oIrv7SC.js +357 -0
- package/dist/chunks/select--oIrv7SC.js.map +1 -0
- package/dist/chunks/separator-CHpBud1e.js +18 -0
- package/dist/chunks/separator-CHpBud1e.js.map +1 -0
- package/dist/chunks/{sortable-BKIwlqhI.js → sortable-BujAJgFa.js} +42 -40
- package/dist/chunks/{sortable-BKIwlqhI.js.map → sortable-BujAJgFa.js.map} +1 -1
- package/dist/chunks/{table-DxoSOvQK.js → table-BDY9Zw--.js} +18 -18
- package/dist/chunks/{table-DxoSOvQK.js.map → table-BDY9Zw--.js.map} +1 -1
- package/dist/chunks/{table-column-interactions-DzEvVuXe.js → table-column-interactions-Do8LFtiv.js} +20 -20
- package/dist/chunks/{table-column-interactions-DzEvVuXe.js.map → table-column-interactions-Do8LFtiv.js.map} +1 -1
- package/dist/chunks/{types-D9Wj9wrg.js → types-CxXyru6U.js} +21 -21
- package/dist/chunks/{types-D9Wj9wrg.js.map → types-CxXyru6U.js.map} +1 -1
- package/dist/chunks/ui.module-oRwY3Zli.js.map +1 -1
- package/dist/chunks/{useODataSelectBase-DR4PrY1j.js → useODataSelectBase-DwR4Lfv-.js} +5 -5
- package/dist/chunks/{useODataSelectBase-DR4PrY1j.js.map → useODataSelectBase-DwR4Lfv-.js.map} +1 -1
- package/dist/chunks/{wheel-picker-FS58cRsQ.js → wheel-picker-DUHGy7wE.js} +23 -23
- package/dist/chunks/{wheel-picker-FS58cRsQ.js.map → wheel-picker-DUHGy7wE.js.map} +1 -1
- package/dist/context-menu/components/ContextMenu.d.ts +16 -9
- package/dist/context-menu/components/ContextMenu.d.ts.map +1 -1
- package/dist/context-menu/components/ContextMenuTrigger.d.ts +6 -4
- package/dist/context-menu/components/ContextMenuTrigger.d.ts.map +1 -1
- package/dist/context-menu/components/DropdownMenu.d.ts +12 -7
- package/dist/context-menu/components/DropdownMenu.d.ts.map +1 -1
- package/dist/context-menu/components/DropdownMenuTrigger.d.ts +6 -4
- package/dist/context-menu/components/DropdownMenuTrigger.d.ts.map +1 -1
- package/dist/context-menu/components/MenuContent.d.ts +6 -4
- package/dist/context-menu/components/MenuContent.d.ts.map +1 -1
- package/dist/context-menu/components/MenuContext.d.ts +12 -7
- package/dist/context-menu/components/MenuContext.d.ts.map +1 -1
- package/dist/context-menu/components/MenuGroupLabel.d.ts +1 -1
- package/dist/context-menu/components/MenuGroupLabel.d.ts.map +1 -1
- package/dist/context-menu/components/MenuItem.d.ts.map +1 -1
- package/dist/context-menu/components/MenuRoot.d.ts +5 -5
- package/dist/context-menu/components/MenuRoot.d.ts.map +1 -1
- package/dist/context-menu/components/MenuSeparator.d.ts +1 -2
- package/dist/context-menu/components/MenuSeparator.d.ts.map +1 -1
- package/dist/context-menu/components/RadialMenuContent.d.ts +6 -4
- package/dist/context-menu/components/RadialMenuContent.d.ts.map +1 -1
- package/dist/context-menu/components/RadialMenuItem.d.ts +1 -1
- package/dist/context-menu/components/RadialMenuItem.d.ts.map +1 -1
- package/dist/context-menu/index.js +1 -1
- package/dist/date-input/index.js +2 -2
- package/dist/date-input/ui/CalendarDayView.d.ts +1 -1
- package/dist/date-input/ui/CalendarDayView.d.ts.map +1 -1
- package/dist/date-input/ui/CalendarMonthView.d.ts +1 -1
- package/dist/date-input/ui/CalendarMonthView.d.ts.map +1 -1
- package/dist/date-input/ui/CalendarView.d.ts.map +1 -1
- package/dist/date-input/ui/CalendarYearView.d.ts +1 -1
- package/dist/date-input/ui/CalendarYearView.d.ts.map +1 -1
- package/dist/date-input/ui/DateInput.d.ts.map +1 -1
- package/dist/date-range-preset-select/index.js +1 -1
- package/dist/date-time-input/index.js +128 -125
- package/dist/date-time-input/index.js.map +1 -1
- package/dist/date-time-input/ui/SingleDateTimeInput.d.ts.map +1 -1
- package/dist/detail/Detail.d.ts +6 -1
- package/dist/detail/Detail.d.ts.map +1 -1
- package/dist/detail/index.js +23 -23
- package/dist/detail/index.js.map +1 -1
- package/dist/dialog/index.js +1 -1
- package/dist/disclosure/index.js +9 -9
- package/dist/drop-zone/index.js +21 -21
- package/dist/errors/BadRequestPage.d.ts +1 -1
- package/dist/errors/BadRequestPage.d.ts.map +1 -1
- package/dist/errors/ErrorDisplay.d.ts +2 -2
- package/dist/errors/ErrorDisplay.d.ts.map +1 -1
- package/dist/errors/ErrorExplosion.d.ts +1 -2
- package/dist/errors/ErrorExplosion.d.ts.map +1 -1
- package/dist/errors/ForbiddenPage.d.ts +1 -1
- package/dist/errors/ForbiddenPage.d.ts.map +1 -1
- package/dist/errors/NotFoundPage.d.ts +1 -1
- package/dist/errors/NotFoundPage.d.ts.map +1 -1
- package/dist/errors/PageError.d.ts +1 -2
- package/dist/errors/PageError.d.ts.map +1 -1
- package/dist/errors/UnauthorizedPage.d.ts +1 -1
- package/dist/errors/UnauthorizedPage.d.ts.map +1 -1
- package/dist/errors/ViewNotChanged.d.ts +1 -2
- package/dist/errors/ViewNotChanged.d.ts.map +1 -1
- package/dist/errors/index.js +110 -80
- package/dist/errors/index.js.map +1 -1
- package/dist/expandable-action-panel/index.js +24 -24
- package/dist/flex/Flex.d.ts +6 -3
- package/dist/flex/Flex.d.ts.map +1 -1
- package/dist/flex/FlexCenter.d.ts +1 -1
- package/dist/flex/FlexCenter.d.ts.map +1 -1
- package/dist/flex/FlexContainer.d.ts +7 -1
- package/dist/flex/FlexContainer.d.ts.map +1 -1
- package/dist/flex/FlexItem.d.ts +7 -1
- package/dist/flex/FlexItem.d.ts.map +1 -1
- package/dist/flex/FlexSpacer.d.ts +7 -1
- package/dist/flex/FlexSpacer.d.ts.map +1 -1
- package/dist/flex/PredefinedFlex.d.ts +7 -1
- package/dist/flex/PredefinedFlex.d.ts.map +1 -1
- package/dist/flex/index.js +1 -1
- package/dist/flex/useFlexClasses.d.ts +1 -1
- package/dist/floating-arrow/FloatingArrow.d.ts +4 -1
- package/dist/floating-arrow/FloatingArrow.d.ts.map +1 -1
- package/dist/floating-arrow/index.js +1 -1
- package/dist/fullscreen-portal/index.js +8 -8
- package/dist/grid/Grid.d.ts +4 -2
- package/dist/grid/Grid.d.ts.map +1 -1
- package/dist/grid/GridContainer.d.ts +7 -1
- package/dist/grid/GridContainer.d.ts.map +1 -1
- package/dist/grid/GridItem.d.ts +7 -1
- package/dist/grid/GridItem.d.ts.map +1 -1
- package/dist/grid/index.js +1 -1
- package/dist/image/index.js +120 -120
- package/dist/input/index.js +1 -1
- package/dist/input-date-time/index.js +55 -55
- package/dist/input-file/index.js +16 -16
- package/dist/input-files/index.js +1 -1
- package/dist/input-image/index.js +17 -17
- package/dist/input-search/index.js +30 -2
- package/dist/input-search/index.js.map +1 -0
- package/dist/layout-picker/index.js +95 -97
- package/dist/layout-picker/index.js.map +1 -1
- package/dist/layout-picker/ui/LayoutPicker.d.ts.map +1 -1
- package/dist/list/List.d.ts +9 -9
- package/dist/list/List.d.ts.map +1 -1
- package/dist/list/index.js +51 -44
- package/dist/list/index.js.map +1 -1
- package/dist/listbox/Listbox.d.ts.map +1 -1
- package/dist/listbox/index.js +33 -39
- package/dist/listbox/index.js.map +1 -1
- package/dist/misc/CopyTextWrapper.d.ts +1 -1
- package/dist/misc/CopyTextWrapper.d.ts.map +1 -1
- package/dist/misc/OneStepScroller.d.ts +1 -1
- package/dist/misc/OneStepScroller.d.ts.map +1 -1
- package/dist/misc/Scrollable.d.ts +9 -7
- package/dist/misc/Scrollable.d.ts.map +1 -1
- package/dist/misc/SkeletonLine.d.ts +1 -1
- package/dist/misc/SkeletonLine.d.ts.map +1 -1
- package/dist/misc/StateIcon.d.ts +6 -7
- package/dist/misc/StateIcon.d.ts.map +1 -1
- package/dist/misc/index.d.ts +1 -0
- package/dist/misc/index.d.ts.map +1 -1
- package/dist/misc/index.js +1 -1
- package/dist/modal/Modal.d.ts +14 -5
- package/dist/modal/Modal.d.ts.map +1 -1
- package/dist/modal/index.js +1 -1
- package/dist/multi-select/index.js +481 -2
- package/dist/multi-select/index.js.map +1 -0
- package/dist/multi-select/ui/MultiSelect.d.ts +7 -2
- package/dist/multi-select/ui/MultiSelect.d.ts.map +1 -1
- package/dist/multi-select/ui/ODataMultiSelect.d.ts +1 -2
- package/dist/multi-select/ui/ODataMultiSelect.d.ts.map +1 -1
- package/dist/notifications/index.js +46 -48
- package/dist/notifications/index.js.map +1 -1
- package/dist/option/Option.d.ts +3 -3
- package/dist/option/OptionContentContainer.d.ts +7 -0
- package/dist/option/OptionContentContainer.d.ts.map +1 -0
- package/dist/option/index.js +30 -30
- package/dist/option/index.js.map +1 -1
- package/dist/period-select/index.js +7 -7
- package/dist/picker/PickerOptions.d.ts +3 -1
- package/dist/picker/PickerOptions.d.ts.map +1 -1
- package/dist/picker/PickerPopup.d.ts +1 -1
- package/dist/picker/PickerPopup.d.ts.map +1 -1
- package/dist/picker/PickerTriggerActions.d.ts +7 -2
- package/dist/picker/PickerTriggerActions.d.ts.map +1 -1
- package/dist/picker/PickerTriggerInput.d.ts +7 -2
- package/dist/picker/PickerTriggerInput.d.ts.map +1 -1
- package/dist/picker/index.js +1 -1
- package/dist/polymorphic/PolymorphicComponent.d.ts +1 -1
- package/dist/polymorphic/PolymorphicComponent.d.ts.map +1 -1
- package/dist/polymorphic/index.js +3 -1
- package/dist/polymorphic/index.js.map +1 -1
- package/dist/popover/FloatingPopover.d.ts +1 -1
- package/dist/popover/FloatingPopover.d.ts.map +1 -1
- package/dist/popover/FloatingTooltip.d.ts +2 -2
- package/dist/popover/FloatingTooltip.d.ts.map +1 -1
- package/dist/popover/components/Popover.d.ts +11 -10
- package/dist/popover/components/Popover.d.ts.map +1 -1
- package/dist/popover/components/PopoverContent.d.ts +6 -4
- package/dist/popover/components/PopoverContent.d.ts.map +1 -1
- package/dist/popover/components/PopoverContext.d.ts +2 -1
- package/dist/popover/components/PopoverContext.d.ts.map +1 -1
- package/dist/popover/components/PopoverTrigger.d.ts +1 -1
- package/dist/popover/components/PopoverTrigger.d.ts.map +1 -1
- package/dist/popover/index.js +1 -1
- package/dist/preset-range-date-input/index.js +10 -10
- package/dist/preset-select/index.js +1 -1
- package/dist/radio-button/RadioButton.d.ts +1 -1
- package/dist/radio-button/RadioButton.d.ts.map +1 -1
- package/dist/radio-button/index.js +14 -11
- package/dist/radio-button/index.js.map +1 -1
- package/dist/radio-group/index.js +1 -1
- package/dist/select/ODataSelect.d.ts +1 -2
- package/dist/select/ODataSelect.d.ts.map +1 -1
- package/dist/select/Select.d.ts.map +1 -1
- package/dist/select/index.js +1 -1
- package/dist/separator/Separator.d.ts +1 -1
- package/dist/separator/Separator.d.ts.map +1 -1
- package/dist/separator/index.js +1 -1
- package/dist/simple-table/index.js +5 -5
- package/dist/slider/Slider.d.ts.map +1 -1
- package/dist/slider/SliderInput.d.ts.map +1 -1
- package/dist/slider/SliderPopoverToggle.d.ts +11 -0
- package/dist/slider/SliderPopoverToggle.d.ts.map +1 -0
- package/dist/slider/index.js +298 -277
- package/dist/slider/index.js.map +1 -1
- package/dist/sortable/Sortable.d.ts.map +1 -1
- package/dist/sortable/SortableDragHandle.d.ts +1 -1
- package/dist/sortable/SortableDragHandle.d.ts.map +1 -1
- package/dist/sortable/index.js +1 -1
- package/dist/splitter/index.js +55 -55
- package/dist/state-select/index.js +17 -17
- package/dist/styles.css +1 -1
- package/dist/switch/index.js +18 -18
- package/dist/table/index.js +1 -1
- package/dist/table-column-interactions/index.js +1 -1
- package/dist/table-editor/index.js +99 -99
- package/dist/table-sorting/index.js +13 -13
- package/dist/tabs/index.js +103 -104
- package/dist/tabs/index.js.map +1 -1
- package/dist/tabs/ui/TabsBox.d.ts +1 -1
- package/dist/tabs/ui/TabsBox.d.ts.map +1 -1
- package/dist/tabs/ui/TabsLayout.d.ts +11 -7
- package/dist/tabs/ui/TabsLayout.d.ts.map +1 -1
- package/dist/tabs/ui/TabsPanel.d.ts +3 -3
- package/dist/tabs/ui/TabsPanel.d.ts.map +1 -1
- package/dist/tabs/ui/TabsTabList.d.ts +2 -2
- package/dist/tabs/ui/TabsTabList.d.ts.map +1 -1
- package/dist/tag-input/index.js +58 -58
- package/dist/tag-input/index.js.map +1 -1
- package/dist/text/HighlightText.d.ts +2 -2
- package/dist/text/HighlightText.d.ts.map +1 -1
- package/dist/text/index.js +23 -18
- package/dist/text/index.js.map +1 -1
- package/dist/text-editor/index.js +3 -3
- package/dist/textarea/index.js +1 -1
- package/dist/three-scene/index.js +7 -7
- package/dist/toggle/index.js +20 -20
- package/dist/toolbar/Toolbar.d.ts +8 -2
- package/dist/toolbar/Toolbar.d.ts.map +1 -1
- package/dist/toolbar/index.js +21 -17
- package/dist/toolbar/index.js.map +1 -1
- package/dist/tree/index.js +24 -24
- package/dist/tree-select/TreeNodeContent.d.ts +3 -1
- package/dist/tree-select/TreeNodeContent.d.ts.map +1 -1
- package/dist/tree-select/TreePickerBase.d.ts.map +1 -1
- package/dist/tree-select/index.js +469 -392
- package/dist/tree-select/index.js.map +1 -1
- package/dist/tree-table/index.js +33 -33
- package/dist/tree-table/index.js.map +1 -1
- package/dist/wheel-picker/index.js +1 -1
- package/package.json +1 -5
- package/storybook-static/assets/{Badge-BKRvorSi.js → Badge-r7lsdHne.js} +1 -1
- package/storybook-static/assets/{Badge.stories-19yFfupy.js → Badge.stories-P4qdQ7cm.js} +1 -1
- package/storybook-static/assets/{BadgeList-DMkfxply.js → BadgeList-8NyPAV2Q.js} +1 -1
- package/storybook-static/assets/{BarcodeScannerDialog.stories-DdnHxu5x.js → BarcodeScannerDialog.stories--TadwGdZ.js} +1 -1
- package/storybook-static/assets/{Button-Di-0Ionw.js → Button-BP0DDcNq.js} +1 -1
- package/storybook-static/assets/{Button-CoOZeR_z.js → Button-X3OT5zE7.js} +2 -2
- package/storybook-static/assets/{Button.stories-Bd1To5BN.js → Button.stories-CFiUr_xE.js} +1 -1
- package/storybook-static/assets/CalendarView-nWuZBE9T.js +1 -0
- package/storybook-static/assets/{CheckBox-DSmGYEML.js → CheckBox-BId2Zf_m.js} +1 -1
- package/storybook-static/assets/{CheckBox-DfRTTXg1.js → CheckBox-Bde9tud-.js} +1 -1
- package/storybook-static/assets/{CheckBox.stories-DaldWgEI.js → CheckBox.stories-BVU9Rkai.js} +1 -1
- package/storybook-static/assets/{Color-6AOWCN3U-DIhia6KS.js → Color-6AOWCN3U-BeUy9gum.js} +1 -1
- package/storybook-static/assets/{ContextMenu-BGMQHT9V.js → ContextMenu-BS2UVgbu.js} +6 -2
- package/storybook-static/assets/ContextMenu-Byksyz_8.js +33 -0
- package/storybook-static/assets/ContextMenu.stories-DmJPp2YR.js +37 -0
- package/storybook-static/assets/{DateInput-DUl5Bb0j.js → DateInput-CQe_1Dk-.js} +8 -1
- package/storybook-static/assets/{DateInput-MgdMtvtr.js → DateInput-CgETMk9B.js} +1 -1
- package/storybook-static/assets/{DateInput.stories-B6Ol0Ak3.js → DateInput.stories-BOst6EKv.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-CPj0pSGc.js → DateRangePresetSelect-CxrNYBTe.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-C4MVqjXa.js → DateRangePresetSelect-DHJ31vIB.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect.stories-tPaMURtH.js → DateRangePresetSelect.stories-CiyN1joN.js} +1 -1
- package/storybook-static/assets/{Detail-DnHTVRb5.js → Detail-V_NYrUJR.js} +1 -1
- package/storybook-static/assets/Detail.stories-B4tf6inN.js +56 -0
- package/storybook-static/assets/{Dialog-COpvqcXi.js → Dialog-B6miFej7.js} +1 -1
- package/storybook-static/assets/{Dialog-LMnrvBpx.js → Dialog-DNTx5Unm.js} +1 -1
- package/storybook-static/assets/{Dialog.stories-BE2I5ny2.js → Dialog.stories-BS1dDTLW.js} +1 -1
- package/storybook-static/assets/{Disclosure-BZ3jd5nu.js → Disclosure-4sf5BIn1.js} +1 -1
- package/storybook-static/assets/{Disclosure.stories-cMcF8a8I.js → Disclosure.stories-DhUQNdEC.js} +1 -1
- package/storybook-static/assets/DisclosureGroup-Codiur77.js +2 -0
- package/storybook-static/assets/{DocsRenderer-JROSPFPF-CurHdzu8.js → DocsRenderer-JROSPFPF-yT2aWNaF.js} +1 -1
- package/storybook-static/assets/{DropZone-VEmgdfs6.js → DropZone-D4rl2WEV.js} +1 -1
- package/storybook-static/assets/{DropZone-DGMAbY1z.js → DropZone-Du0BQAyO.js} +1 -1
- package/storybook-static/assets/{DropZone.stories-B8N17-bV.js → DropZone.stories-B8iPjYH_.js} +1 -1
- package/storybook-static/assets/DropdownMenu-BcdS3oNz.js +21 -0
- package/storybook-static/assets/{ExpandableActionPanel-C7CFQZLD.js → ExpandableActionPanel-6u6YJanI.js} +1 -1
- package/storybook-static/assets/{ExpandableActionPanel.stories-CnBr0s9R.js → ExpandableActionPanel.stories-D-CZHUv0.js} +1 -1
- package/storybook-static/assets/{Flex-RpqsC-gQ.js → Flex-DWi0hQ-f.js} +1 -1
- package/storybook-static/assets/Flex.stories-CKKi33JK.js +300 -0
- package/storybook-static/assets/FlexContainer-BMK_YH72.js +1 -0
- package/storybook-static/assets/{FlexItem-pu3E11Sf.js → FlexItem-DpSHNBxJ.js} +2 -2
- package/storybook-static/assets/FloatingPopover-D9nTd47B.js +1 -0
- package/storybook-static/assets/FormattedTableCell-DyBhk9rG.js +15 -0
- package/storybook-static/assets/{Grid-CzO0Ae1r.js → Grid-BZgzDCLK.js} +2 -2
- package/storybook-static/assets/{Grid-BRnqEtg1.js → Grid-DbvUGBEN.js} +1 -1
- package/storybook-static/assets/{Grid.stories-DXY7Cvfu.js → Grid.stories-BeEAzTxD.js} +4 -4
- package/storybook-static/assets/{GridContainer-fKYgDsLl.js → GridContainer-B82Onj6x.js} +2 -2
- package/storybook-static/assets/{ImageCropper.stories-ZnvbFN71.js → ImageCropper.stories-SDIt19aO.js} +1 -1
- package/storybook-static/assets/{ImageRenderer-DUOhCfac.js → ImageRenderer-Bzg27pq7.js} +1 -1
- package/storybook-static/assets/{ImageRenderer.stories-Dj6NQm2k.js → ImageRenderer.stories-C-IE84zV.js} +1 -1
- package/storybook-static/assets/{ImageView.stories-QTzOsByD.js → ImageView.stories-DIcx2Krs.js} +1 -1
- package/storybook-static/assets/{ImageViewer.stories-CpnUEgZW.js → ImageViewer.stories-CQTy0uPX.js} +2 -2
- package/storybook-static/assets/{ImageViewerRuntime-B1PicLUw.js → ImageViewerRuntime-CA5BYQsX.js} +1 -1
- package/storybook-static/assets/{Input-B8eGQXlp.js → Input-D8uMye_9.js} +1 -1
- package/storybook-static/assets/{Input-DnFc_Pwx.js → Input-DmsN6uC_.js} +1 -1
- package/storybook-static/assets/{Input.stories-C6CbYvZP.js → Input.stories-D8QWPnMD.js} +1 -1
- package/storybook-static/assets/{InputDateTime-DoMduRde.js → InputDateTime-Cczll-bH.js} +1 -1
- package/storybook-static/assets/{InputDateTime.stories--LHpvJjY.js → InputDateTime.stories-DeZ6XHwa.js} +1 -1
- package/storybook-static/assets/{InputFile-CunQ8F4s.js → InputFile-BbPjLN4E.js} +1 -1
- package/storybook-static/assets/{InputFile-DFv3WAWa.js → InputFile-C0_L0zTd.js} +1 -1
- package/storybook-static/assets/{InputFile.stories-B0WZhic1.js → InputFile.stories-Di_6BkX1.js} +1 -1
- package/storybook-static/assets/{InputFiles-DyiPQ_tH.js → InputFiles-B3uOwqKF.js} +1 -1
- package/storybook-static/assets/{InputFiles-CKDPmjWY.js → InputFiles-CF60S_qG.js} +1 -1
- package/storybook-static/assets/{InputFiles.stories-BbP_bEnL.js → InputFiles.stories-BkTiEPX6.js} +1 -1
- package/storybook-static/assets/{InputFilesList-BAIGwV7V.js → InputFilesList-C9cudcHe.js} +1 -1
- package/storybook-static/assets/{InputImage-2G1pRNbw.js → InputImage-Aq_ZXmtw.js} +1 -1
- package/storybook-static/assets/{InputImage-ZvEB_TIT.js → InputImage-Dx0DIf4l.js} +1 -1
- package/storybook-static/assets/{InputImage.stories-BiShLRcw.js → InputImage.stories-D7LfEcn4.js} +1 -1
- package/storybook-static/assets/{InteractiveComponents-CT99QfHX.js → InteractiveComponents-DP5FyU4S.js} +1 -1
- package/storybook-static/assets/{InteractiveComponents.stories-BPTICQZz.js → InteractiveComponents.stories-CE5L5PAB.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-BDpc8LBa.js → LayoutPicker-BehxFQsU.js} +2 -2
- package/storybook-static/assets/{LayoutPicker-Cg_AM-pj.js → LayoutPicker-CW1W-CAf.js} +2 -1
- package/storybook-static/assets/{LayoutPicker.stories-Ca9WZdPW.js → LayoutPicker.stories-DtvfpOUS.js} +1 -1
- package/storybook-static/assets/Listbox-Bn_6WyQc.js +1 -0
- package/storybook-static/assets/{Listbox-LbbFtte9.js → Listbox-VcD28kxl.js} +2 -1
- package/storybook-static/assets/{Listbox.stories-xDpbFNZk.js → Listbox.stories-CL6fJlUm.js} +1 -1
- package/storybook-static/assets/{Modal-CXd2j0up.js → Modal-D0D5WZ_O.js} +1 -1
- package/storybook-static/assets/Modal-DrSX0i3a.js +1 -0
- package/storybook-static/assets/{Modal.stories-cNLvFjmT.js → Modal.stories-Ch3P8_kY.js} +1 -1
- package/storybook-static/assets/{ModalManagerProvider-ClXvSB9a.js → ModalManagerProvider-B0Lf7xX0.js} +1 -1
- package/storybook-static/assets/MultiSelect-Bw3qf8eW.js +2 -0
- package/storybook-static/assets/{MultiSelect-Na2VdNy3.js → MultiSelect-Cmxa5Vho.js} +4 -1
- package/storybook-static/assets/MultiSelect-SJBp1Ymv.css +1 -0
- package/storybook-static/assets/{MultiSelect.stories-4nFshdtz.js → MultiSelect.stories-DKHPBUWD.js} +1 -1
- package/storybook-static/assets/NoData-seFnJNiE.js +1 -0
- package/storybook-static/assets/{NotificationsHost-CrLL4WK9.js → NotificationsHost-d770FjSM.js} +11 -8
- package/storybook-static/assets/{NotificationsHost.stories-Ci2q0W9-.js → NotificationsHost.stories-BYmVl44l.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect-Cc09uTB8.js → ODataMultiSelect-BN0pcCmQ.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect.stories-CzGzREa9.js → ODataMultiSelect.stories-D5zrkaFW.js} +2 -2
- package/storybook-static/assets/{ODataSelect-DqoRg5pz.js → ODataSelect-C5DXRRVH.js} +1 -1
- package/storybook-static/assets/{ODataSelect.stories-BCcxERn3.js → ODataSelect.stories-ClYp08JR.js} +2 -2
- package/storybook-static/assets/{ODataTreeMultiSelect-qZEcSE5O.js → ODataTreeMultiSelect-CsvSq1G1.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect.stories-Bfees7Qr.js → ODataTreeMultiSelect.stories-DFXLQjms.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect-IOVS6uQc.js → ODataTreeSelect-CdN-NwV7.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect.stories-CO7DClzd.js → ODataTreeSelect.stories-CDffbvxi.js} +1 -1
- package/storybook-static/assets/OneStepScroller-qXHo2r0J.js +5 -0
- package/storybook-static/assets/Option-tEWfKgN_.js +10 -0
- package/storybook-static/assets/OptionButton-DOj_dfd1.js +1 -0
- package/storybook-static/assets/OptionContent-6iwuLpQP.js +1 -0
- package/storybook-static/assets/OptionContentContainer-DbdHO42m.js +2 -0
- package/storybook-static/assets/{PeriodSelect-D-jXJf5C.js → PeriodSelect-Bo_B6jdw.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-BAVDztkI.js → PeriodSelect-DffBuv6v.js} +1 -1
- package/storybook-static/assets/{PeriodSelect.stories-CscsENT9.js → PeriodSelect.stories-Boq-fBL8.js} +1 -1
- package/storybook-static/assets/{PickerField-CRtltoce.js → PickerField-fMVQUcBX.js} +1 -1
- package/storybook-static/assets/PickerTriggerActions-zS0JUD-3.js +2 -0
- package/storybook-static/assets/PolymorphicComponent-NBvIz9JD.js +1 -0
- package/storybook-static/assets/Popover-5c_n39x0.js +55 -0
- package/storybook-static/assets/Popover-u02JbpuP.js +46 -0
- package/storybook-static/assets/Popover.stories-BUVgJJQI.js +63 -0
- package/storybook-static/assets/{PresetRangeDateInput-VZnM8RNV.js → PresetRangeDateInput-EiaEd6Qp.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput-CVPMYlEV.js → PresetRangeDateInput-TyV-u0Db.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput.stories-DdBWlSV-.js → PresetRangeDateInput.stories-jJq5Gkdb.js} +1 -1
- package/storybook-static/assets/{PresetSelect-C7YYBjlL.js → PresetSelect-Cnl_fXjS.js} +1 -1
- package/storybook-static/assets/{README-6XPUoxFl.js → README-10_nKrEg.js} +1 -1
- package/storybook-static/assets/{README-DIWsYBR7.js → README-6n5fAnyG.js} +1 -1
- package/storybook-static/assets/{README-oKLTQYfV.js → README-7mbN7jNm.js} +1 -1
- package/storybook-static/assets/{README-D2AT2-yD.js → README-8qj7XGDa.js} +1 -1
- package/storybook-static/assets/{README-DADnaXLy.js → README-8vaqVs2t.js} +1 -1
- package/storybook-static/assets/{README-ZxRwqfIH.js → README-AbbeH5rC.js} +1 -1
- package/storybook-static/assets/{README-Bk1oSDWQ.js → README-B-K2UPpo.js} +1 -1
- package/storybook-static/assets/{README-DoxVtmRh.js → README-B-z6znlC.js} +1 -1
- package/storybook-static/assets/{README-BL8ZNGNi.js → README-B6uVB1ib.js} +1 -1
- package/storybook-static/assets/{README-B0FbTpix.js → README-B7f6XRLa.js} +1 -1
- package/storybook-static/assets/{README-BGBxEe4u.js → README-BGEviJbA.js} +1 -1
- package/storybook-static/assets/{README-C-IUw1gX.js → README-BPWr_0XE.js} +1 -1
- package/storybook-static/assets/{README-_KzyG4dS.js → README-BWiCGCpy.js} +1 -1
- package/storybook-static/assets/{README-DrTR5pSr.js → README-BfF9g6q6.js} +1 -1
- package/storybook-static/assets/{README-2NTkucdH.js → README-BgbmWbpJ.js} +1 -1
- package/storybook-static/assets/{README-DC0vNdOD.js → README-Bn7SBLqL.js} +1 -1
- package/storybook-static/assets/{README-w9FMhq0X.js → README-BoXMNqUS.js} +1 -1
- package/storybook-static/assets/{README-DyWhmOFY.js → README-BoZbB8t8.js} +1 -1
- package/storybook-static/assets/{README-b3wA6wFr.js → README-BsHrwATK.js} +1 -1
- package/storybook-static/assets/{README-CB5BpIBF.js → README-By7MmJad.js} +1 -1
- package/storybook-static/assets/{README-DWzfTSuq.js → README-BylyIJ4z.js} +1 -1
- package/storybook-static/assets/{README-CeNQeTK-.js → README-ByxHEXaq.js} +1 -1
- package/storybook-static/assets/{README-UcyyK9jn.js → README-CO0Anr1W.js} +1 -1
- package/storybook-static/assets/{README-BdsFByUw.js → README-CXhBUq08.js} +1 -1
- package/storybook-static/assets/{README-Bvo0Qxde.js → README-CXlUZ-Tw.js} +1 -1
- package/storybook-static/assets/{README-CTF9mVZL.js → README-CZBT22Qx.js} +1 -1
- package/storybook-static/assets/{README-B0Nb0jf2.js → README-CZaKBu1r.js} +1 -1
- package/storybook-static/assets/{README-C_lKreF9.js → README-Cc5RUdsX.js} +1 -1
- package/storybook-static/assets/{README-BZlnzGAh.js → README-CmCyESsg.js} +1 -1
- package/storybook-static/assets/{README-jvtwVY_n.js → README-CoofcGyA.js} +1 -1
- package/storybook-static/assets/{README-Wli4AXG5.js → README-CqCDXjY-.js} +1 -1
- package/storybook-static/assets/{README-DOi6rx7n.js → README-CqMgUXym.js} +1 -1
- package/storybook-static/assets/{README-na5mQX4V.js → README-DB3HzmYa.js} +1 -1
- package/storybook-static/assets/{README-DMwF_O1R.js → README-DBqb3xHL.js} +1 -1
- package/storybook-static/assets/{README-CvaizZr1.js → README-DKMzvCHg.js} +1 -1
- package/storybook-static/assets/{README-CqiNQGIJ.js → README-DLGk_zi3.js} +1 -1
- package/storybook-static/assets/{README-Dm7CwuVP.js → README-DT4BWDzj.js} +1 -1
- package/storybook-static/assets/{README-Brn9Tjjc.js → README-DXzLMFnF.js} +1 -1
- package/storybook-static/assets/{README-8L1vpZcz.js → README-DZKQ2NbJ.js} +1 -1
- package/storybook-static/assets/{README-C7N5_6-c.js → README-DnIK-CvZ.js} +1 -1
- package/storybook-static/assets/{README-GChrAHFQ.js → README-DsEaeYrz.js} +1 -1
- package/storybook-static/assets/{README-DkBG5Azm.js → README-DsqwQGJx.js} +1 -1
- package/storybook-static/assets/{README-Dr8TxFTe.js → README-DyhDd6j2.js} +1 -1
- package/storybook-static/assets/{README-HWuoKwKL.js → README-E09CwLzJ.js} +1 -1
- package/storybook-static/assets/{README-DlfWWC7n.js → README-W30_dPSQ.js} +1 -1
- package/storybook-static/assets/{README-DOBIWrus.js → README-WtLMdn_H.js} +1 -1
- package/storybook-static/assets/{README-g1VWHzAJ.js → README-_UuZJvdY.js} +1 -1
- package/storybook-static/assets/{README-BD-WSEvQ.js → README-bJALHbSR.js} +1 -1
- package/storybook-static/assets/{README-Dmu5lsNT.js → README-e3Zi9n04.js} +1 -1
- package/storybook-static/assets/{README-DgXAMdBY.js → README-g4l3WFXZ.js} +1 -1
- package/storybook-static/assets/{README-jQcGKqqm.js → README-jb10Ekr5.js} +1 -1
- package/storybook-static/assets/{README-CTwfFqJG.js → README-q6R_bF6h.js} +1 -1
- package/storybook-static/assets/{README-BGmO6U9j.js → README-tDgobAYS.js} +1 -1
- package/storybook-static/assets/{RadioButton-Dgkz1EWU.js → RadioButton-DGjO61a9.js} +1 -1
- package/storybook-static/assets/RadioButton-j3O4woG8.js +1 -0
- package/storybook-static/assets/{RadioButton.stories-DO14jTfm.js → RadioButton.stories-COGMYQcq.js} +1 -1
- package/storybook-static/assets/{RadioGroup-Db0AhiKo.js → RadioGroup-Cuj2D_RZ.js} +1 -1
- package/storybook-static/assets/{RadioGroup-BSiqjVai.js → RadioGroup-D9samx7D.js} +1 -1
- package/storybook-static/assets/{RadioGroup.stories-C0D6n83q.js → RadioGroup.stories-KSDvpgqY.js} +1 -1
- package/storybook-static/assets/Scrollable-DsOw--4y.js +1 -0
- package/storybook-static/assets/Scrollable-tPrIOchd.js +18 -0
- package/storybook-static/assets/Scrollable.stories-B7d_6eGB.js +1 -0
- package/storybook-static/assets/Select-D0CHiGkz.js +12 -0
- package/storybook-static/assets/{Select-D8X-SkP2.js → Select-h0tWQbii.js} +3 -1
- package/storybook-static/assets/{Select.stories-8_zvonmc.js → Select.stories-GmGbpUoi.js} +1 -1
- package/storybook-static/assets/Separator-C8aQcNns.js +1 -0
- package/storybook-static/assets/Separator-Dh8kzf-5.js +14 -0
- package/storybook-static/assets/Separator.stories-nQ9bDdo1.js +14 -0
- package/storybook-static/assets/{SerializableSelect-ii6T140l.js → SerializableSelect-BJAxQ8an.js} +1 -1
- package/storybook-static/assets/{SerializableSelect.stories-Ba3ABMGt.js → SerializableSelect.stories-CzVCg1_7.js} +1 -1
- package/storybook-static/assets/{ShimmerText-C6vkZwUV.js → ShimmerText-DnEOvvJA.js} +1 -1
- package/storybook-static/assets/{ShimmerText.stories-CVpSxXHJ.js → ShimmerText.stories-D2XRPcMC.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput-96-mrjq8.js → SingleDateTimeInput-Bwn8kqI3.js} +8 -1
- package/storybook-static/assets/{SingleDateTimeInput-DpETPR89.js → SingleDateTimeInput-DwY38Bzb.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput.stories-JhviurJO.js → SingleDateTimeInput.stories-DKq1_AqA.js} +1 -1
- package/storybook-static/assets/{Slider-B27TdvRV.js → Slider-CT0jMXMY.js} +8 -1
- package/storybook-static/assets/Slider-KiXLZUpw.js +1 -0
- package/storybook-static/assets/{Slider.stories-d1YeKe5r.js → Slider.stories-Cmcm8HlR.js} +1 -1
- package/storybook-static/assets/SliderInput-Dd_yvyMG.js +3 -0
- package/storybook-static/assets/{SliderInput-D2d23mEI.js → SliderInput-Unp3YEcU.js} +8 -1
- package/storybook-static/assets/{SliderInput.stories-CwqT79oE.js → SliderInput.stories-C0MwvTOV.js} +1 -1
- package/storybook-static/assets/{Sortable-DiJuiI6V.js → Sortable-CnCowZw-.js} +4 -2
- package/storybook-static/assets/Sortable.stories-DCrIurAg.js +44 -0
- package/storybook-static/assets/{Splitter-QwdfWNbm.js → Splitter-BErks2lB.js} +1 -1
- package/storybook-static/assets/{Splitter.stories-C2iDPz8c.js → Splitter.stories-DyRlCVUo.js} +1 -1
- package/storybook-static/assets/{StateSelect-D1ZDM6bC.js → StateSelect-DXfsbduM.js} +1 -1
- package/storybook-static/assets/{StateSelect-Bw9H1Cus.js → StateSelect-DuVzqi0t.js} +1 -1
- package/storybook-static/assets/{StateSelect.stories-DEFvQ15O.js → StateSelect.stories-CnIXqGFB.js} +1 -1
- package/storybook-static/assets/{StatusIndicator-D6Pbdz37.js → StatusIndicator-Bz3JF899.js} +1 -1
- package/storybook-static/assets/{StatusIndicator.stories-COgpy5cK.js → StatusIndicator.stories-B5RMchH3.js} +1 -1
- package/storybook-static/assets/{StringToggle.stories-BFwMh0Yd.js → StringToggle.stories-CcR8KHGF.js} +1 -1
- package/storybook-static/assets/{Switch-Bmj2AItH.js → Switch-Bo-dd4nL.js} +1 -1
- package/storybook-static/assets/{Switch-DyDk152g.js → Switch-a7GMbDn9.js} +1 -1
- package/storybook-static/assets/{Switch.stories-C10NxPL4.js → Switch.stories-B9c9CAmZ.js} +1 -1
- package/storybook-static/assets/{Table-YcEwF4aO.js → Table-BgmEmcbL.js} +1 -1
- package/storybook-static/assets/{Table.stories-DgxFS9Sa.js → Table.stories-BByDPmdZ.js} +1 -1
- package/storybook-static/assets/{TableEditor.stories-CSMoxO4O.js → TableEditor.stories-DJi7VPcY.js} +1 -1
- package/storybook-static/assets/{Tabs-DOsPN2X1.js → Tabs-CV1ykDlt.js} +2 -3
- package/storybook-static/assets/Tabs.stories-DOyJdrcR.js +57 -0
- package/storybook-static/assets/{TabsBox-B3REnb6D.css → TabsBox-DuBKU62M.css} +1 -1
- package/storybook-static/assets/{TabsBox-Ovukgo9G.js → TabsBox-n38x7_yO.js} +1 -1
- package/storybook-static/assets/{TagInput-BQBOGr9G.js → TagInput-j4mVWIf0.js} +1 -1
- package/storybook-static/assets/{TagInput.stories-DAAyJlgm.js → TagInput.stories-DSU97IRU.js} +1 -1
- package/storybook-static/assets/{Text-fdwuak_J.js → Text-COGTV38X.js} +1 -1
- package/storybook-static/assets/{Textarea-A22Efyk-.js → Textarea-BcgmS9aD.js} +1 -1
- package/storybook-static/assets/{Textarea-D80ZPpEy.js → Textarea-Byqjr2Ve.js} +1 -1
- package/storybook-static/assets/{Textarea.stories-DfaOYMoN.js → Textarea.stories-D1gXsWxK.js} +1 -1
- package/storybook-static/assets/{TimePanel-Bd5T_SfL.js → TimePanel-DzFFLXJP.js} +1 -1
- package/storybook-static/assets/{TimePanel.stories-D6TIpKp4.js → TimePanel.stories-287q5ipF.js} +1 -1
- package/storybook-static/assets/{Toggle-BvHMq6f_.js → Toggle-CCkzi_xC.js} +1 -1
- package/storybook-static/assets/{Toggle-DUyCRH0o.js → Toggle-KtpVC-vX.js} +1 -1
- package/storybook-static/assets/{Toggle.stories-ZPgC-EWw.js → Toggle.stories-BLKa6Zst.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-DTMybWfP.js → TreeMultiSelect-CbnCiXFa.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-DTmB9s8s.js → TreeMultiSelect-sYAglJIC.js} +2 -1
- package/storybook-static/assets/{TreeMultiSelect.stories-1_HB74Gf.js → TreeMultiSelect.stories-DGw_tJQ5.js} +1 -1
- package/storybook-static/assets/TreePickerBase-ClWTQVKW.css +1 -0
- package/storybook-static/assets/TreePickerBase-wz0-Y-eg.js +76 -0
- package/storybook-static/assets/{TreeSelect-CTN6cRRr.js → TreeSelect-BCOJNrl1.js} +1 -1
- package/storybook-static/assets/{TreeSelect-UsZGYhUO.js → TreeSelect-BJ6C_2pM.js} +2 -1
- package/storybook-static/assets/{TreeSelect.stories-B01pZcR9.js → TreeSelect.stories-DKdmUNAI.js} +1 -1
- package/storybook-static/assets/{TreeTable-dr3jK3Ih.js → TreeTable-DIRsmeC8.js} +1 -1
- package/storybook-static/assets/{TreeTable.stories-B1DPasDc.js → TreeTable.stories-BfqeLJU6.js} +1 -1
- package/storybook-static/assets/{blocks-Cw5Dm88b.js → blocks-r6nP1Mk3.js} +3 -3
- package/storybook-static/assets/{check-028VTQ8f.js → check-CX66-EtS.js} +1 -1
- package/storybook-static/assets/{chevron-down-CjXVIhzi.js → chevron-down-BpTVPmXw.js} +1 -1
- package/storybook-static/assets/{chevron-left-CktI1oFP.js → chevron-left-BDyvowID.js} +1 -1
- package/storybook-static/assets/{chevron-right-CF10QSRI.js → chevron-right-PitONC71.js} +1 -1
- package/storybook-static/assets/{chunk-W22LQPXL-C0ehDnCq.js → chunk-W22LQPXL-Bd54JRSO.js} +1 -1
- package/storybook-static/assets/{circle-alert-s0HpHvQO.js → circle-alert-BxfK632o.js} +1 -1
- package/storybook-static/assets/{circle-check-C7Lv1fv9.js → circle-check-CQ0mrCVh.js} +1 -1
- package/storybook-static/assets/{components-ClxgOUq5.js → components-CJIwocXl.js} +3 -3
- package/storybook-static/assets/contextMenu-BodN1HdA.js +2 -0
- package/storybook-static/assets/{download-B1U5w3LU.js → download-C_lZf2f4.js} +1 -1
- package/storybook-static/assets/{floating-ui.react-CyNWkXBV.js → floating-ui.react-BzwQR5CG.js} +1 -1
- package/storybook-static/assets/{foundationApi-CY0sxk8w.js → foundationApi-BgE0geET.js} +1 -1
- package/storybook-static/assets/{foundationLib-BCpSUA25.js → foundationLib-6nKeXUFS.js} +1 -1
- package/storybook-static/assets/{hooks-DjR-EyBl.js → hooks-DDySZJGR.js} +1 -1
- package/storybook-static/assets/{iframe-woVbsQH3.js → iframe-B9PXVErw.js} +4 -4
- package/storybook-static/assets/iframe-f5g4GUQw.js +1 -0
- package/storybook-static/assets/{info-DKbXBIbQ.js → info-rdW9neC9.js} +1 -1
- package/storybook-static/assets/{odata-CMCuN2Rx.js → odata-D6cOAxLt.js} +1 -1
- package/storybook-static/assets/{odataStoryFixtures-a4Q2PLas.js → odataStoryFixtures-CGQ31IO_.js} +1 -1
- package/storybook-static/assets/{react-D3CyilRt.js → react-BMktiE65.js} +1 -1
- package/storybook-static/assets/{refresh-cw-DXEJelAO.js → refresh-cw-CfKvrc1N.js} +1 -1
- package/storybook-static/assets/{settings-2-CKbiQBX8.js → settings-2-Drz-L5J9.js} +1 -1
- package/storybook-static/assets/sortable-BMuu2DRC.js +1 -0
- package/storybook-static/assets/{syntaxhighlighter-QEQV7K2Y-CLptde2b.js → syntaxhighlighter-QEQV7K2Y-eBmofw1l.js} +1 -1
- package/storybook-static/assets/{trash-2-CPWRIQlJ.js → trash-2-DEbF1hh6.js} +1 -1
- package/storybook-static/assets/{triangle-alert-XjzWCHp5.js → triangle-alert--nwD_1ZX.js} +1 -1
- package/storybook-static/assets/{ui-FA-1R8mO.css → ui-Bpz_yxm8.css} +1 -1
- package/storybook-static/assets/{uiClasses-DNnVkKPr.js → uiClasses-Bar5W7-L.js} +1 -1
- package/storybook-static/assets/{useODataSelectBase-ZGFa3pdT.js → useODataSelectBase-DSOGiMIw.js} +1 -1
- package/storybook-static/assets/{useODataTreeData-DAdLowou.js → useODataTreeData-Cn_XaKz_.js} +1 -1
- package/storybook-static/assets/usePickerQuery-B5ZZQg8g.js +1 -0
- package/storybook-static/assets/usePickerTriggerController-Cqy5IfOJ.js +6 -0
- package/storybook-static/assets/{x-D2Q9PGsq.js → x-DSHJbBBz.js} +1 -1
- package/storybook-static/iframe.html +2 -2
- package/storybook-static/index.json +1 -1
- package/storybook-static/project.json +1 -1
- package/dist/advanced-search/index.d.ts +0 -3
- package/dist/advanced-search/index.d.ts.map +0 -1
- package/dist/advanced-search/index.js +0 -399
- package/dist/advanced-search/index.js.map +0 -1
- package/dist/advanced-search/lib/index.d.ts +0 -2
- package/dist/advanced-search/lib/index.d.ts.map +0 -1
- package/dist/advanced-search/lib/searchParts.d.ts +0 -3
- package/dist/advanced-search/lib/searchParts.d.ts.map +0 -1
- package/dist/advanced-search/model/index.d.ts +0 -5
- package/dist/advanced-search/model/index.d.ts.map +0 -1
- package/dist/advanced-search/model/types.d.ts +0 -55
- package/dist/advanced-search/model/types.d.ts.map +0 -1
- package/dist/advanced-search/model/useAdvancedSearch.d.ts +0 -11
- package/dist/advanced-search/model/useAdvancedSearch.d.ts.map +0 -1
- package/dist/advanced-search/model/useAdvancedSearchInitialSelected.d.ts +0 -6
- package/dist/advanced-search/model/useAdvancedSearchInitialSelected.d.ts.map +0 -1
- package/dist/advanced-search/model/useAdvancedSearchSelection.d.ts +0 -13
- package/dist/advanced-search/model/useAdvancedSearchSelection.d.ts.map +0 -1
- package/dist/advanced-search/ui/AdvancedSearchModal.d.ts +0 -23
- package/dist/advanced-search/ui/AdvancedSearchModal.d.ts.map +0 -1
- package/dist/advanced-search/ui/AdvancedSearchModalSession.d.ts +0 -16
- package/dist/advanced-search/ui/AdvancedSearchModalSession.d.ts.map +0 -1
- package/dist/advanced-search/ui/AdvancedSearchSelect.d.ts +0 -9
- package/dist/advanced-search/ui/AdvancedSearchSelect.d.ts.map +0 -1
- package/dist/advanced-search/ui/AdvancedSearchSelectUI.d.ts +0 -9
- package/dist/advanced-search/ui/AdvancedSearchSelectUI.d.ts.map +0 -1
- package/dist/advanced-search/ui/index.d.ts +0 -2
- package/dist/advanced-search/ui/index.d.ts.map +0 -1
- package/dist/chunks/CalendarView-Dm55k0bN.js.map +0 -1
- package/dist/chunks/badge-6mXO9BWP.js +0 -65
- package/dist/chunks/badge-6mXO9BWP.js.map +0 -1
- package/dist/chunks/button-DF21yxVp.js +0 -72
- package/dist/chunks/button-DF21yxVp.js.map +0 -1
- package/dist/chunks/context-menu-DgvXGCuI.js +0 -532
- package/dist/chunks/context-menu-DgvXGCuI.js.map +0 -1
- package/dist/chunks/flex-C7njxZ74.js +0 -207
- package/dist/chunks/flex-C7njxZ74.js.map +0 -1
- package/dist/chunks/grid-dI94AAbi.js.map +0 -1
- package/dist/chunks/input-search-Cat4c7SM.js +0 -30
- package/dist/chunks/input-search-Cat4c7SM.js.map +0 -1
- package/dist/chunks/misc-DeGboAt-.js +0 -309
- package/dist/chunks/misc-DeGboAt-.js.map +0 -1
- package/dist/chunks/modal-dplfAaER.js.map +0 -1
- package/dist/chunks/multi-select-BZ9N6Dal.js +0 -466
- package/dist/chunks/multi-select-BZ9N6Dal.js.map +0 -1
- package/dist/chunks/picker-lvm82d0A.js +0 -439
- package/dist/chunks/picker-lvm82d0A.js.map +0 -1
- package/dist/chunks/popover-Bne-Ljbs.js +0 -245
- package/dist/chunks/popover-Bne-Ljbs.js.map +0 -1
- package/dist/chunks/radio-group-sSnlYjAX.js +0 -125
- package/dist/chunks/select-aTGupQan.js +0 -363
- package/dist/chunks/select-aTGupQan.js.map +0 -1
- package/dist/chunks/separator-B72Aq-6a.js +0 -15
- package/dist/chunks/separator-B72Aq-6a.js.map +0 -1
- package/storybook-static/assets/CalendarView-Dz8cY1fo.js +0 -1
- package/storybook-static/assets/ContextMenu-XS7B8QUC.js +0 -1
- package/storybook-static/assets/ContextMenu.stories-Dp2t2BZa.js +0 -37
- package/storybook-static/assets/CustomOptionButton-DNd0GDWp.js +0 -1
- package/storybook-static/assets/Detail.stories-CXg_w4qM.js +0 -56
- package/storybook-static/assets/DisclosureGroup-JNnTj18G.js +0 -2
- package/storybook-static/assets/DropdownMenu-xjOtBneA.js +0 -1
- package/storybook-static/assets/Flex.stories-CCVNsX23.js +0 -300
- package/storybook-static/assets/FlexContainer-BWyPlTMB.js +0 -1
- package/storybook-static/assets/FloatingPopover-D6tO24aO.js +0 -1
- package/storybook-static/assets/FormattedTableCell-CDaDfaXy.js +0 -15
- package/storybook-static/assets/Listbox-3Npc4PI_.js +0 -1
- package/storybook-static/assets/Modal-Ddmc8-2-.js +0 -1
- package/storybook-static/assets/MultiSelect-BkLCM22R.js +0 -2
- package/storybook-static/assets/MultiSelect-DI_UD1B-.css +0 -1
- package/storybook-static/assets/NoData-bUonNuRR.js +0 -1
- package/storybook-static/assets/OneStepScroller-B_IRz2Rw.js +0 -5
- package/storybook-static/assets/Option-fRoOLqLF.js +0 -10
- package/storybook-static/assets/OptionButton--hnpJ-88.js +0 -1
- package/storybook-static/assets/PickerTriggerActions-BDGEQPvP.js +0 -1
- package/storybook-static/assets/Popover-BYO0DlBg.js +0 -45
- package/storybook-static/assets/Popover-Byy9_Twt.js +0 -2
- package/storybook-static/assets/Popover.stories-8RhemIQg.js +0 -47
- package/storybook-static/assets/RadioButton-DMn-soQD.js +0 -1
- package/storybook-static/assets/Scrollable-BI3OE8gc.js +0 -1
- package/storybook-static/assets/Select-1MNiFkxm.js +0 -12
- package/storybook-static/assets/Slider-DbiDvmoV.js +0 -1
- package/storybook-static/assets/SliderInput-CzYn9gor.js +0 -2
- package/storybook-static/assets/Sortable.stories-DFCzTok0.js +0 -44
- package/storybook-static/assets/Tabs.stories-BdZilcp2.js +0 -57
- package/storybook-static/assets/TreePickerBase-CmFF9pWE.css +0 -1
- package/storybook-static/assets/TreePickerBase-Cu2mneBS.js +0 -76
- package/storybook-static/assets/contextMenu-CWGju9qn.js +0 -2
- package/storybook-static/assets/iframe-Dyd6jnSv.js +0 -1
- package/storybook-static/assets/sortable-CXLU2ip-.js +0 -1
- package/storybook-static/assets/usePickerQuery-CaO8hXyH.js +0 -1
- package/storybook-static/assets/usePickerTriggerController-DWjrt_q_.js +0 -6
- /package/storybook-static/assets/{ui.module-CyEEibCu.js → ui.module-0uniSGT-.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sortable-BKIwlqhI.js","names":[],"sources":["../../src/sortable/sortableUtils.ts","../../src/sortable/Sortable.tsx","../../src/sortable/SortableDragHandle.module.scss","../../src/sortable/SortableDragHandle.tsx","../../src/sortable/index.ts"],"sourcesContent":["import { type DragEndEvent, type UniqueIdentifier } from \"@dnd-kit/core\";\nimport { horizontalListSortingStrategy, rectSortingStrategy, verticalListSortingStrategy, type SortingStrategy } from \"@dnd-kit/sortable\";\n\nexport type SortableLayout = \"vertical\" | \"horizontal\" | \"grid\";\n\nexport interface SortableReorderResult {\n\tcontainerId: UniqueIdentifier;\n\tactiveId: UniqueIdentifier;\n\toverId: UniqueIdentifier;\n\tfromIndex: number;\n\ttoIndex: number;\n}\n\ntype SortableItemsByContainer = Record<string, readonly UniqueIdentifier[]>;\n\nfunction resolveContainerId(eventPart: DragEndEvent[\"active\"] | DragEndEvent[\"over\"] | null | undefined): UniqueIdentifier | null {\n\treturn eventPart?.data.current?.sortable.containerId ?? null;\n}\n\nfunction resolveContainerItems(\n\tcontainerId: UniqueIdentifier,\n\titems: readonly UniqueIdentifier[] | SortableItemsByContainer\n): readonly UniqueIdentifier[] | null {\n\tif (Array.isArray(items)) {\n\t\treturn items;\n\t}\n\n\treturn (items as SortableItemsByContainer)[String(containerId)] ?? null;\n}\n\nexport function resolveSortableStrategy(layout: SortableLayout, strategy?: SortingStrategy): SortingStrategy {\n\tif (strategy) {\n\t\treturn strategy;\n\t}\n\n\tswitch (layout) {\n\t\tcase \"horizontal\":\n\t\t\treturn horizontalListSortingStrategy;\n\t\tcase \"grid\":\n\t\t\treturn rectSortingStrategy;\n\t\tcase \"vertical\":\n\t\tdefault:\n\t\t\treturn verticalListSortingStrategy;\n\t}\n}\n\nexport function getSortableReorderResult(params: {\n\tevent: DragEndEvent;\n\titems: readonly UniqueIdentifier[] | SortableItemsByContainer;\n}): SortableReorderResult | null {\n\tconst { event, items } = params;\n\tconst { active, over } = event;\n\n\tif (!over || active.id === over.id) {\n\t\treturn null;\n\t}\n\n\tconst activeContainerId = resolveContainerId(active);\n\tconst overContainerId = resolveContainerId(over);\n\tif (activeContainerId == null || overContainerId == null || activeContainerId !== overContainerId) {\n\t\treturn null;\n\t}\n\n\tconst containerItems = resolveContainerItems(activeContainerId, items);\n\tif (!containerItems) {\n\t\treturn null;\n\t}\n\n\tconst fromIndex = containerItems.indexOf(active.id);\n\tconst toIndex = containerItems.indexOf(over.id);\n\tif (fromIndex < 0 || toIndex < 0) {\n\t\treturn null;\n\t}\n\n\treturn {\n\t\tcontainerId: activeContainerId,\n\t\tactiveId: active.id,\n\t\toverId: over.id,\n\t\tfromIndex,\n\t\ttoIndex\n\t};\n}\n","import {\n\tcreateContext,\n\tcreateElement,\n\tuseContext,\n\tuseMemo,\n\ttype ComponentPropsWithoutRef,\n\ttype CSSProperties,\n\ttype ElementType,\n\ttype ReactNode\n} from \"react\";\n\nimport { closestCenter, DndContext, type DndContextProps } from \"@dnd-kit/core\";\nimport { SortableContext, useSortable, type SortingStrategy } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport { useDndSortableSensors } from \"@ryuzaki13/react-foundation-lib/hooks\";\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport { resolveSortableStrategy, type SortableLayout } from \"./sortableUtils\";\n\nimport type { UniqueIdentifier } from \"@dnd-kit/core\";\n\ntype SortableItemRenderState = {\n\tisDragging: boolean;\n\tisOver: boolean;\n\tisSorting: boolean;\n\tdisabled: boolean;\n};\n\ntype SortableHandleContextValue = {\n\tattributes: Record<string, unknown>;\n\tlisteners: Record<string, ((event: unknown) => void) | undefined> | undefined;\n\tsetActivatorNodeRef: (element: HTMLElement | null) => void;\n\tdisabled: boolean;\n\tisDragging: boolean;\n};\n\ntype SortableRootProps = Omit<DndContextProps, \"children\" | \"collisionDetection\" | \"sensors\"> & {\n\tchildren: ReactNode;\n\tcollisionDetection?: DndContextProps[\"collisionDetection\"];\n\tsensors?: DndContextProps[\"sensors\"];\n};\n\ntype SortableContainerProps = {\n\tchildren: ReactNode;\n\tcontainerId: UniqueIdentifier;\n\titems: readonly UniqueIdentifier[];\n\tlayout?: SortableLayout;\n\tstrategy?: SortingStrategy;\n};\n\ntype SortableItemBaseProps = {\n\tas?: ElementType;\n\tid: UniqueIdentifier;\n\tchildren?: ReactNode | ((state: SortableItemRenderState) => ReactNode);\n\tclassName?: string;\n\tstyle?: CSSProperties;\n\tdisabled?: boolean;\n\tdragActivator?: \"handle\" | \"item\";\n};\n\ntype SortableItemProps<E extends ElementType = \"div\"> = SortableItemBaseProps &\n\tOmit<ComponentPropsWithoutRef<E>, keyof SortableItemBaseProps | \"children\" | \"style\" | \"id\">;\n\ntype SortableHandleBaseProps = {\n\tas?: ElementType;\n\tchildren?: ReactNode | ((state: Pick<SortableHandleContextValue, \"disabled\" | \"isDragging\">) => ReactNode);\n\tdisabled?: boolean;\n};\n\ntype SortableHandleProps<E extends ElementType = \"div\"> = SortableHandleBaseProps &\n\tOmit<ComponentPropsWithoutRef<E>, keyof SortableHandleBaseProps | \"children\">;\n\nconst SortableHandleContext = createContext<SortableHandleContextValue | null>(null);\n\nfunction toItemChildren(children: SortableItemProps[\"children\"], state: SortableItemRenderState) {\n\treturn typeof children === \"function\" ? children(state) : children;\n}\n\nfunction toHandleChildren(children: SortableHandleProps[\"children\"], state: Pick<SortableHandleContextValue, \"disabled\" | \"isDragging\">) {\n\treturn typeof children === \"function\" ? children(state) : children;\n}\n\nexport function SortableRoot(props: SortableRootProps) {\n\tconst {\n\t\tchildren,\n\t\tcollisionDetection = closestCenter,\n\t\tsensors,\n\t\tonDragCancel,\n\t\tonDragEnd,\n\t\tonDragMove,\n\t\tonDragOver,\n\t\tonDragPending,\n\t\tonDragStart,\n\t\taccessibility,\n\t\t...restProps\n\t} = props;\n\tconst defaultSensors = useDndSortableSensors();\n\tconst defaultAccessibilityContainer = typeof document === \"undefined\" ? undefined : document.body;\n\tconst resolvedAccessibility = useMemo<DndContextProps[\"accessibility\"]>(\n\t\t() => ({\n\t\t\t...accessibility,\n\t\t\tcontainer: accessibility?.container ?? defaultAccessibilityContainer\n\t\t}),\n\t\t[accessibility, defaultAccessibilityContainer]\n\t);\n\n\treturn (\n\t\t<DndContext\n\t\t\t{...restProps}\n\t\t\taccessibility={resolvedAccessibility}\n\t\t\tsensors={sensors ?? defaultSensors}\n\t\t\tcollisionDetection={collisionDetection}\n\t\t\tonDragStart={onDragStart}\n\t\t\tonDragMove={onDragMove}\n\t\t\tonDragOver={onDragOver}\n\t\t\tonDragEnd={onDragEnd}\n\t\t\tonDragCancel={onDragCancel}\n\t\t\tonDragPending={onDragPending}>\n\t\t\t{children}\n\t\t</DndContext>\n\t);\n}\n\nexport function SortableContainer(props: SortableContainerProps) {\n\tconst { children, containerId, items, layout = \"vertical\", strategy } = props;\n\n\treturn (\n\t\t<SortableContext id={String(containerId)} items={[...items]} strategy={resolveSortableStrategy(layout, strategy)}>\n\t\t\t{children}\n\t\t</SortableContext>\n\t);\n}\n\nexport function SortableItem<E extends ElementType = \"div\">(props: SortableItemProps<E>) {\n\tconst { as, id, children, className, style, disabled = false, dragActivator = \"handle\", ...restProps } = props;\n\tconst Component = (as ?? \"div\") as ElementType;\n\tconst { attributes, listeners, setActivatorNodeRef, setNodeRef, transform, transition, isDragging, isOver, isSorting } = useSortable({\n\t\tid,\n\t\tdisabled\n\t});\n\n\tconst itemStyle: CSSProperties = {\n\t\ttransform: CSS.Transform.toString(transform),\n\t\ttransition,\n\t\tzIndex: !disabled && isDragging ? 2 : 1,\n\t\topacity: !disabled && isDragging ? 0.6 : undefined,\n\t\t...style\n\t};\n\tconst handleContextValue = useMemo<SortableHandleContextValue>(\n\t\t() => ({\n\t\t\tattributes: attributes as unknown as Record<string, unknown>,\n\t\t\tlisteners:\n\t\t\t\tdragActivator === \"handle\" ? (listeners as Record<string, ((event: unknown) => void) | undefined> | undefined) : undefined,\n\t\t\tsetActivatorNodeRef,\n\t\t\tdisabled: disabled || dragActivator !== \"handle\",\n\t\t\tisDragging\n\t\t}),\n\t\t[attributes, listeners, setActivatorNodeRef, disabled, dragActivator, isDragging]\n\t);\n\tconst itemState: SortableItemRenderState = {\n\t\tisDragging,\n\t\tisOver,\n\t\tisSorting,\n\t\tdisabled\n\t};\n\tconst dragBindings = dragActivator === \"item\" && !disabled ? { ...attributes, ...listeners } : {};\n\n\treturn (\n\t\t<SortableHandleContext.Provider value={handleContextValue}>\n\t\t\t{createElement(\n\t\t\t\tComponent,\n\t\t\t\t{\n\t\t\t\t\t...restProps,\n\t\t\t\t\t...dragBindings,\n\t\t\t\t\tref: setNodeRef,\n\t\t\t\t\tclassName: cn(className),\n\t\t\t\t\tstyle: itemStyle,\n\t\t\t\t\t\"data-sortable-id\": String(id),\n\t\t\t\t\t\"data-sortable-dragging\": isDragging ? \"true\" : \"false\",\n\t\t\t\t\t\"data-sortable-disabled\": disabled ? \"true\" : \"false\"\n\t\t\t\t},\n\t\t\t\ttoItemChildren(children, itemState)\n\t\t\t)}\n\t\t</SortableHandleContext.Provider>\n\t);\n}\n\nexport function SortableHandle<E extends ElementType = \"div\">(props: SortableHandleProps<E>) {\n\tconst { as, children, disabled = false, ...restProps } = props;\n\tconst Component = (as ?? \"div\") as ElementType;\n\tconst context = useContext(SortableHandleContext);\n\tconst handleDisabled = disabled || !context || context.disabled;\n\tconst dragBindings = !handleDisabled ? { ...context.attributes, ...context.listeners } : {};\n\tconst handleState = {\n\t\tdisabled: handleDisabled,\n\t\tisDragging: context?.isDragging ?? false\n\t};\n\n\treturn createElement(\n\t\tComponent,\n\t\t{\n\t\t\t...restProps,\n\t\t\t...dragBindings,\n\t\t\tref: !handleDisabled && context ? context.setActivatorNodeRef : undefined,\n\t\t\t\"aria-disabled\": handleDisabled || undefined,\n\t\t\t\"data-sortable-handle\": \"true\",\n\t\t\t\"data-sortable-handle-disabled\": handleDisabled ? \"true\" : \"false\",\n\t\t\t\"data-sortable-handle-dragging\": handleState.isDragging ? \"true\" : \"false\"\n\t\t},\n\t\ttoHandleChildren(children, handleState)\n\t);\n}\n",".dragHandle {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tflex-shrink: 0;\n\n\twidth: var(--control-height);\n\theight: var(--control-height);\n\tpadding: 0;\n\tborder: none;\n\tborder-radius: var(--radius-sm);\n\tbackground: transparent;\n\tcolor: inherit;\n\tline-height: 1;\n\tuser-select: none;\n\ttouch-action: none;\n\tcursor: grab;\n\n\t&:focus-visible {\n\t\toutline: var(--focus);\n\t\toutline-offset: var(--focus-offset);\n\t}\n\n\t&:active,\n\t&[data-sortable-handle-dragging=\"true\"] {\n\t\tcursor: grabbing;\n\t}\n\n\t&[data-sortable-handle-disabled=\"true\"] {\n\t\tcursor: default;\n\t\topacity: 0.25;\n\t}\n\n\tsvg {\n\t\tdisplay: block;\n\t\twidth: 1.25em;\n\t\theight: 1.25em;\n\t}\n}\n","import type { ComponentPropsWithoutRef, ReactNode } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { GripIcon } from \"lucide-react\";\n\nimport { SortableHandle } from \"./Sortable\";\nimport styles from \"./SortableDragHandle.module.scss\";\n\ntype SortableDragHandleBaseProps = {\n\tchildren?: ReactNode;\n\tclassName?: string;\n\tdisabled?: boolean;\n\ticon?: ReactNode;\n};\n\ntype SortableDragHandleDivProps = SortableDragHandleBaseProps &\n\tOmit<ComponentPropsWithoutRef<\"div\">, keyof SortableDragHandleBaseProps | \"children\"> & {\n\t\tas?: \"div\";\n\t};\n\ntype SortableDragHandleButtonProps = SortableDragHandleBaseProps &\n\tOmit<ComponentPropsWithoutRef<\"button\">, keyof SortableDragHandleBaseProps | \"children\" | \"type\"> & {\n\t\tas: \"button\";\n\t\ttype?: \"button\" | \"submit\" | \"reset\";\n\t};\n\nexport type SortableDragHandleProps = SortableDragHandleDivProps | SortableDragHandleButtonProps;\n\nfunction renderHandleContent(children: ReactNode, icon: ReactNode) {\n\treturn children ?? icon;\n}\n\nfunction resolveIconOnlyAriaLabel(children: ReactNode, ariaLabel: string | undefined, title: string | undefined) {\n\treturn children == null ? (ariaLabel ?? title) : ariaLabel;\n}\n\nexport function SortableDragHandle(props: SortableDragHandleProps) {\n\tif (props.as === \"button\") {\n\t\tconst { as, children, className, disabled = false, icon = <GripIcon aria-hidden=\"true\" />, type = \"button\", ...restProps } = props;\n\t\tconst ariaLabel = resolveIconOnlyAriaLabel(children, restProps[\"aria-label\"], restProps.title);\n\n\t\treturn (\n\t\t\t<SortableHandle<\"button\">\n\t\t\t\t{...restProps}\n\t\t\t\tas={as}\n\t\t\t\ttype={type}\n\t\t\t\tdisabled={disabled}\n\t\t\t\taria-label={ariaLabel}\n\t\t\t\tclassName={cn(styles.dragHandle, className)}>\n\t\t\t\t{renderHandleContent(children, icon)}\n\t\t\t</SortableHandle>\n\t\t);\n\t}\n\n\tconst { as, children, className, disabled = false, icon = <GripIcon aria-hidden=\"true\" />, ...restProps } = props;\n\tconst ariaLabel = resolveIconOnlyAriaLabel(children, restProps[\"aria-label\"], restProps.title);\n\n\treturn (\n\t\t<SortableHandle<\"div\">\n\t\t\t{...restProps}\n\t\t\tas={as}\n\t\t\tdisabled={disabled}\n\t\t\taria-label={ariaLabel}\n\t\t\tclassName={cn(styles.dragHandle, className)}>\n\t\t\t{renderHandleContent(children, icon)}\n\t\t</SortableHandle>\n\t);\n}\n","import { SortableContainer, SortableHandle, SortableItem, SortableRoot } from \"./Sortable\";\nimport { SortableDragHandle } from \"./SortableDragHandle\";\n\nexport { getSortableReorderResult } from \"./sortableUtils\";\nexport { SortableContainer, SortableDragHandle, SortableHandle, SortableItem, SortableRoot };\n\nexport type { SortableDragHandleProps } from \"./SortableDragHandle\";\nexport type { SortableLayout, SortableReorderResult } from \"./sortableUtils\";\n\nexport const Sortable = {\n\tRoot: SortableRoot,\n\tContainer: SortableContainer,\n\tItem: SortableItem,\n\tHandle: SortableHandle,\n\tDragHandle: SortableDragHandle\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sortable-BujAJgFa.js","names":[],"sources":["../../src/sortable/sortableUtils.ts","../../src/sortable/Sortable.tsx","../../src/sortable/SortableDragHandle.module.scss","../../src/sortable/SortableDragHandle.tsx","../../src/sortable/index.ts"],"sourcesContent":["import { type DragEndEvent, type UniqueIdentifier } from \"@dnd-kit/core\";\nimport { horizontalListSortingStrategy, rectSortingStrategy, verticalListSortingStrategy, type SortingStrategy } from \"@dnd-kit/sortable\";\n\nexport type SortableLayout = \"vertical\" | \"horizontal\" | \"grid\";\n\nexport interface SortableReorderResult {\n\tcontainerId: UniqueIdentifier;\n\tactiveId: UniqueIdentifier;\n\toverId: UniqueIdentifier;\n\tfromIndex: number;\n\ttoIndex: number;\n}\n\ntype SortableItemsByContainer = Record<string, readonly UniqueIdentifier[]>;\n\nfunction resolveContainerId(eventPart: DragEndEvent[\"active\"] | DragEndEvent[\"over\"] | null | undefined): UniqueIdentifier | null {\n\treturn eventPart?.data.current?.sortable.containerId ?? null;\n}\n\nfunction resolveContainerItems(\n\tcontainerId: UniqueIdentifier,\n\titems: readonly UniqueIdentifier[] | SortableItemsByContainer\n): readonly UniqueIdentifier[] | null {\n\tif (Array.isArray(items)) {\n\t\treturn items;\n\t}\n\n\treturn (items as SortableItemsByContainer)[String(containerId)] ?? null;\n}\n\nexport function resolveSortableStrategy(layout: SortableLayout, strategy?: SortingStrategy): SortingStrategy {\n\tif (strategy) {\n\t\treturn strategy;\n\t}\n\n\tswitch (layout) {\n\t\tcase \"horizontal\":\n\t\t\treturn horizontalListSortingStrategy;\n\t\tcase \"grid\":\n\t\t\treturn rectSortingStrategy;\n\t\tcase \"vertical\":\n\t\tdefault:\n\t\t\treturn verticalListSortingStrategy;\n\t}\n}\n\nexport function getSortableReorderResult(params: {\n\tevent: DragEndEvent;\n\titems: readonly UniqueIdentifier[] | SortableItemsByContainer;\n}): SortableReorderResult | null {\n\tconst { event, items } = params;\n\tconst { active, over } = event;\n\n\tif (!over || active.id === over.id) {\n\t\treturn null;\n\t}\n\n\tconst activeContainerId = resolveContainerId(active);\n\tconst overContainerId = resolveContainerId(over);\n\tif (activeContainerId == null || overContainerId == null || activeContainerId !== overContainerId) {\n\t\treturn null;\n\t}\n\n\tconst containerItems = resolveContainerItems(activeContainerId, items);\n\tif (!containerItems) {\n\t\treturn null;\n\t}\n\n\tconst fromIndex = containerItems.indexOf(active.id);\n\tconst toIndex = containerItems.indexOf(over.id);\n\tif (fromIndex < 0 || toIndex < 0) {\n\t\treturn null;\n\t}\n\n\treturn {\n\t\tcontainerId: activeContainerId,\n\t\tactiveId: active.id,\n\t\toverId: over.id,\n\t\tfromIndex,\n\t\ttoIndex\n\t};\n}\n","import {\n\tcreateContext,\n\tcreateElement,\n\tuseContext,\n\tuseMemo,\n\ttype ComponentPropsWithoutRef,\n\ttype CSSProperties,\n\ttype ElementType,\n\ttype ReactNode\n} from \"react\";\n\nimport { closestCenter, DndContext, type DndContextProps } from \"@dnd-kit/core\";\nimport { SortableContext, useSortable, type SortingStrategy } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport { useDndSortableSensors } from \"@ryuzaki13/react-foundation-lib/hooks\";\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport { resolveSortableStrategy, type SortableLayout } from \"./sortableUtils\";\n\nimport type { UniqueIdentifier } from \"@dnd-kit/core\";\n\ntype SortableItemRenderState = {\n\tisDragging: boolean;\n\tisOver: boolean;\n\tisSorting: boolean;\n\tdisabled: boolean;\n};\n\ntype SortableHandleContextValue = {\n\tattributes: Record<string, unknown>;\n\tlisteners: Record<string, ((event: unknown) => void) | undefined> | undefined;\n\tsetActivatorNodeRef: (element: HTMLElement | null) => void;\n\tdisabled: boolean;\n\tisDragging: boolean;\n};\n\ntype SortableRootProps = Omit<DndContextProps, \"children\" | \"collisionDetection\" | \"sensors\"> & {\n\tchildren: ReactNode;\n\tcollisionDetection?: DndContextProps[\"collisionDetection\"];\n\tsensors?: DndContextProps[\"sensors\"];\n};\n\ntype SortableContainerProps = {\n\tchildren: ReactNode;\n\tcontainerId: UniqueIdentifier;\n\titems: readonly UniqueIdentifier[];\n\tlayout?: SortableLayout;\n\tstrategy?: SortingStrategy;\n};\n\ntype SortableItemBaseProps = {\n\tas?: ElementType;\n\tid: UniqueIdentifier;\n\tchildren?: ReactNode | ((state: SortableItemRenderState) => ReactNode);\n\tclassName?: string;\n\tstyle?: CSSProperties;\n\tdisabled?: boolean;\n\tdragActivator?: \"handle\" | \"item\";\n};\n\ntype SortableItemProps<E extends ElementType = \"div\"> = SortableItemBaseProps &\n\tOmit<ComponentPropsWithoutRef<E>, keyof SortableItemBaseProps | \"children\" | \"style\" | \"id\">;\n\ntype SortableHandleBaseProps = {\n\tas?: ElementType;\n\tchildren?: ReactNode | ((state: Pick<SortableHandleContextValue, \"disabled\" | \"isDragging\">) => ReactNode);\n\tdisabled?: boolean;\n};\n\ntype SortableHandleProps<E extends ElementType = \"div\"> = SortableHandleBaseProps &\n\tOmit<ComponentPropsWithoutRef<E>, keyof SortableHandleBaseProps | \"children\">;\n\nconst SortableHandleContext = createContext<SortableHandleContextValue | null>(null);\n\nfunction toItemChildren(children: SortableItemProps[\"children\"], state: SortableItemRenderState) {\n\treturn typeof children === \"function\" ? children(state) : children;\n}\n\nfunction toHandleChildren(children: SortableHandleProps[\"children\"], state: Pick<SortableHandleContextValue, \"disabled\" | \"isDragging\">) {\n\treturn typeof children === \"function\" ? children(state) : children;\n}\n\nexport function SortableRoot(props: SortableRootProps) {\n\tconst {\n\t\tchildren,\n\t\tcollisionDetection = closestCenter,\n\t\tsensors,\n\t\tonDragCancel,\n\t\tonDragEnd,\n\t\tonDragMove,\n\t\tonDragOver,\n\t\tonDragPending,\n\t\tonDragStart,\n\t\taccessibility,\n\t\t...restProps\n\t} = props;\n\tconst defaultSensors = useDndSortableSensors();\n\tconst defaultAccessibilityContainer = typeof document === \"undefined\" ? undefined : document.body;\n\tconst resolvedAccessibility = useMemo<DndContextProps[\"accessibility\"]>(\n\t\t() => ({\n\t\t\t...accessibility,\n\t\t\tcontainer: accessibility?.container ?? defaultAccessibilityContainer\n\t\t}),\n\t\t[accessibility, defaultAccessibilityContainer]\n\t);\n\n\treturn (\n\t\t<DndContext\n\t\t\t{...restProps}\n\t\t\taccessibility={resolvedAccessibility}\n\t\t\tsensors={sensors ?? defaultSensors}\n\t\t\tcollisionDetection={collisionDetection}\n\t\t\tonDragStart={onDragStart}\n\t\t\tonDragMove={onDragMove}\n\t\t\tonDragOver={onDragOver}\n\t\t\tonDragEnd={onDragEnd}\n\t\t\tonDragCancel={onDragCancel}\n\t\t\tonDragPending={onDragPending}>\n\t\t\t{children}\n\t\t</DndContext>\n\t);\n}\n\nexport function SortableContainer(props: SortableContainerProps) {\n\tconst { children, containerId, items, layout = \"vertical\", strategy } = props;\n\n\treturn (\n\t\t<SortableContext id={String(containerId)} items={[...items]} strategy={resolveSortableStrategy(layout, strategy)}>\n\t\t\t{children}\n\t\t</SortableContext>\n\t);\n}\n\nexport function SortableItem<E extends ElementType = \"div\">(props: SortableItemProps<E>) {\n\tconst { as, id, children, className, style, disabled = false, dragActivator = \"handle\", ...restProps } = props;\n\tconst Component = (as ?? \"div\") as ElementType;\n\tconst { attributes, listeners, setActivatorNodeRef, setNodeRef, transform, transition, isDragging, isOver, isSorting } = useSortable({\n\t\tid,\n\t\tdisabled\n\t});\n\n\tconst itemStyle: CSSProperties = {\n\t\ttransform: CSS.Transform.toString(transform),\n\t\ttransition,\n\t\tzIndex: !disabled && isDragging ? 2 : 1,\n\t\topacity: !disabled && isDragging ? 0.6 : undefined,\n\t\t...style\n\t};\n\tconst handleContextValue = useMemo<SortableHandleContextValue>(\n\t\t() => ({\n\t\t\tattributes: attributes as unknown as Record<string, unknown>,\n\t\t\tlisteners:\n\t\t\t\tdragActivator === \"handle\" ? (listeners as Record<string, ((event: unknown) => void) | undefined> | undefined) : undefined,\n\t\t\tsetActivatorNodeRef,\n\t\t\tdisabled: disabled || dragActivator !== \"handle\",\n\t\t\tisDragging\n\t\t}),\n\t\t[attributes, listeners, setActivatorNodeRef, disabled, dragActivator, isDragging]\n\t);\n\tconst itemState: SortableItemRenderState = {\n\t\tisDragging,\n\t\tisOver,\n\t\tisSorting,\n\t\tdisabled\n\t};\n\tconst dragBindings = dragActivator === \"item\" && !disabled ? { ...attributes, ...listeners } : {};\n\n\treturn (\n\t\t<SortableHandleContext.Provider value={handleContextValue}>\n\t\t\t{createElement(\n\t\t\t\tComponent,\n\t\t\t\t{\n\t\t\t\t\t...restProps,\n\t\t\t\t\t...dragBindings,\n\t\t\t\t\tref: setNodeRef,\n\t\t\t\t\tclassName: cn(className),\n\t\t\t\t\tstyle: itemStyle,\n\t\t\t\t\t\"data-sortable-id\": String(id),\n\t\t\t\t\t\"data-sortable-dragging\": isDragging ? \"true\" : \"false\",\n\t\t\t\t\t\"data-sortable-disabled\": disabled ? \"true\" : \"false\"\n\t\t\t\t},\n\t\t\t\ttoItemChildren(children, itemState)\n\t\t\t)}\n\t\t</SortableHandleContext.Provider>\n\t);\n}\n\nexport function SortableHandle<E extends ElementType = \"div\">(props: SortableHandleProps<E>) {\n\tconst { as, children, disabled = false, ...restProps } = props;\n\tconst Component = (as ?? \"div\") as ElementType;\n\tconst context = useContext(SortableHandleContext);\n\tconst handleDisabled = disabled || !context || context.disabled;\n\tconst dragBindings = !handleDisabled ? { ...context.attributes, ...context.listeners } : {};\n\tconst handleState = {\n\t\tdisabled: handleDisabled,\n\t\tisDragging: context?.isDragging ?? false\n\t};\n\tconst nativeDisabledProps = Component === \"button\" ? { disabled: handleDisabled } : {};\n\n\treturn createElement(\n\t\tComponent,\n\t\t{\n\t\t\t...restProps,\n\t\t\t...dragBindings,\n\t\t\t...nativeDisabledProps,\n\t\t\tref: !handleDisabled && context ? context.setActivatorNodeRef : undefined,\n\t\t\t\"aria-disabled\": handleDisabled || undefined,\n\t\t\t\"data-sortable-handle\": \"true\",\n\t\t\t\"data-sortable-handle-disabled\": handleDisabled ? \"true\" : \"false\",\n\t\t\t\"data-sortable-handle-dragging\": handleState.isDragging ? \"true\" : \"false\"\n\t\t},\n\t\ttoHandleChildren(children, handleState)\n\t);\n}\n",".dragHandle {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tflex-shrink: 0;\n\n\twidth: var(--control-height);\n\theight: var(--control-height);\n\tpadding: 0;\n\tborder: none;\n\tborder-radius: var(--radius-sm);\n\tbackground: transparent;\n\tcolor: inherit;\n\tline-height: 1;\n\tuser-select: none;\n\ttouch-action: none;\n\tcursor: grab;\n\n\t&:focus-visible {\n\t\toutline: var(--focus);\n\t\toutline-offset: var(--focus-offset);\n\t}\n\n\t&:active,\n\t&[data-sortable-handle-dragging=\"true\"] {\n\t\tcursor: grabbing;\n\t}\n\n\t&[data-sortable-handle-disabled=\"true\"] {\n\t\tcursor: default;\n\t\topacity: 0.25;\n\t}\n\n\tsvg {\n\t\tdisplay: block;\n\t\twidth: 1.25em;\n\t\theight: 1.25em;\n\t}\n}\n","import { type ComponentPropsWithoutRef, type ReactNode } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { GripIcon } from \"lucide-react\";\n\nimport { SortableHandle } from \"./Sortable\";\nimport styles from \"./SortableDragHandle.module.scss\";\n\ntype SortableDragHandleBaseProps = {\n\tchildren?: ReactNode;\n\tclassName?: string;\n\tdisabled?: boolean;\n\ticon?: ReactNode;\n};\n\ntype SortableDragHandleDivProps = SortableDragHandleBaseProps &\n\tOmit<ComponentPropsWithoutRef<\"div\">, keyof SortableDragHandleBaseProps | \"children\"> & {\n\t\tas?: \"div\";\n\t};\n\ntype SortableDragHandleButtonProps = SortableDragHandleBaseProps &\n\tOmit<ComponentPropsWithoutRef<\"button\">, keyof SortableDragHandleBaseProps | \"children\" | \"type\"> & {\n\t\tas: \"button\";\n\t\ttype?: \"button\" | \"submit\" | \"reset\";\n\t};\n\nexport type SortableDragHandleProps = SortableDragHandleDivProps | SortableDragHandleButtonProps;\n\nfunction renderHandleContent(children: ReactNode, icon: ReactNode) {\n\treturn children ?? icon;\n}\n\nfunction resolveIconOnlyAriaLabel(children: ReactNode, ariaLabel: string | undefined, title: string | undefined) {\n\treturn children == null ? (ariaLabel ?? title ?? \"Изменить порядок\") : ariaLabel;\n}\n\nexport function SortableDragHandle(props: SortableDragHandleProps) {\n\tif (props.as === \"button\") {\n\t\tconst { as, children, className, disabled = false, icon = <GripIcon aria-hidden=\"true\" />, type = \"button\", ...restProps } = props;\n\t\tconst ariaLabel = resolveIconOnlyAriaLabel(children, restProps[\"aria-label\"], restProps.title);\n\n\t\treturn (\n\t\t\t<SortableHandle<\"button\">\n\t\t\t\t{...restProps}\n\t\t\t\tas={as}\n\t\t\t\ttype={type}\n\t\t\t\tdisabled={disabled}\n\t\t\t\taria-label={ariaLabel}\n\t\t\t\tclassName={cn(styles.dragHandle, className)}>\n\t\t\t\t{renderHandleContent(children, icon)}\n\t\t\t</SortableHandle>\n\t\t);\n\t}\n\n\tconst { as, children, className, disabled = false, icon = <GripIcon aria-hidden=\"true\" />, ...restProps } = props;\n\tconst ariaLabel = resolveIconOnlyAriaLabel(children, restProps[\"aria-label\"], restProps.title);\n\n\treturn (\n\t\t<SortableHandle<\"div\">\n\t\t\t{...restProps}\n\t\t\tas={as}\n\t\t\trole=\"button\"\n\t\t\tdisabled={disabled}\n\t\t\taria-label={ariaLabel}\n\t\t\tclassName={cn(styles.dragHandle, className)}>\n\t\t\t{renderHandleContent(children, icon)}\n\t\t</SortableHandle>\n\t);\n}\n","import { SortableContainer, SortableHandle, SortableItem, SortableRoot } from \"./Sortable\";\nimport { SortableDragHandle } from \"./SortableDragHandle\";\n\nexport { getSortableReorderResult } from \"./sortableUtils\";\nexport { SortableContainer, SortableDragHandle, SortableHandle, SortableItem, SortableRoot };\n\nexport type { SortableDragHandleProps } from \"./SortableDragHandle\";\nexport type { SortableLayout, SortableReorderResult } from \"./sortableUtils\";\n\nexport const Sortable = {\n\tRoot: SortableRoot,\n\tContainer: SortableContainer,\n\tItem: SortableItem,\n\tHandle: SortableHandle,\n\tDragHandle: SortableDragHandle\n};\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as e, c as t, d as
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { a as e, c as t, d as ee, i as n, n as r, o as i, p as te, r as ne, s as re, t as ie } from "./base-table-BBp5WMDM.js";
|
|
2
|
+
import { jsx as a } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect as ae, useEffectEvent as o, useMemo as s, useRef as c } from "react";
|
|
4
4
|
import { formatPipelineDisplayValue as l } from "@ryuzaki13/react-foundation-lib/formatters";
|
|
5
5
|
import { foundationTableFeatures as u, useTableRowSelection as d } from "@ryuzaki13/react-foundation-lib/table";
|
|
6
6
|
import { useTable as f } from "@tanstack/react-table";
|
|
@@ -14,21 +14,21 @@ function oe(e, t) {
|
|
|
14
14
|
return String(t);
|
|
15
15
|
}
|
|
16
16
|
function m({ title: m, isLoading: h, isFetching: se, data: g, columns: _, selectionMode: v = "none", selectedRowIds: ce, getRowId: le, className: ue, minHeight: de, tableClassName: fe, columnVisibility: y, defaultColumnVisibility: b, columnOrder: x, defaultColumnOrder: S, columnSizing: C, defaultColumnSizing: w, columnPinning: T, defaultColumnPinning: E, enableColumnResizing: D = !1, enableColumnReordering: O = !1, columnResizeMinWidth: k, onColumnVisibilityChange: A, onColumnOrderChange: j, onColumnSizingChange: M, onColumnPinningChange: N, onRowClick: P, onRowSelectionChange: F, onReachEnd: I, getRowCanSelect: L, getRowClassName: R, renderHeaderContextMenu: pe, renderCellContent: z }) {
|
|
17
|
-
let B =
|
|
17
|
+
let B = s(() => g ?? [], [g]), V = s(() => t(_), [_]), H = le ?? oe, U = s(() => new Map(B.map((e, t) => [H(e, t), e])), [H, B]), me = s(() => Array.from(U.keys()), [U]), W = c(null), G = c(null), { rowSelection: he, activateRowSelection: ge } = d({
|
|
18
18
|
availableRowIds: me,
|
|
19
19
|
rowById: U,
|
|
20
20
|
selectionMode: v,
|
|
21
21
|
selectedRowIds: ce,
|
|
22
22
|
onRowSelectionChange: F
|
|
23
|
-
}), { columnVisibility: K, onColumnVisibilityChange: _e } =
|
|
23
|
+
}), { columnVisibility: K, onColumnVisibilityChange: _e } = ne({
|
|
24
24
|
columnVisibility: y,
|
|
25
25
|
defaultColumnVisibility: b,
|
|
26
26
|
onColumnVisibilityChange: A
|
|
27
|
-
}), { columnOrder: q, onColumnOrderChange: ve } =
|
|
27
|
+
}), { columnOrder: q, onColumnOrderChange: ve } = i({
|
|
28
28
|
columnOrder: x,
|
|
29
29
|
defaultColumnOrder: S,
|
|
30
30
|
onColumnOrderChange: j
|
|
31
|
-
}), { columnSizing: J, onColumnSizingChange: ye } =
|
|
31
|
+
}), { columnSizing: J, onColumnSizingChange: ye } = n({
|
|
32
32
|
columnSizing: C,
|
|
33
33
|
defaultColumnSizing: w,
|
|
34
34
|
columnResizeMinWidth: k,
|
|
@@ -37,7 +37,7 @@ function m({ title: m, isLoading: h, isFetching: se, data: g, columns: _, select
|
|
|
37
37
|
columnPinning: T,
|
|
38
38
|
defaultColumnPinning: E,
|
|
39
39
|
onColumnPinningChange: N
|
|
40
|
-
}), X =
|
|
40
|
+
}), X = s(() => ({
|
|
41
41
|
columnOrder: q,
|
|
42
42
|
columnPinning: Y,
|
|
43
43
|
columnSizing: J,
|
|
@@ -47,10 +47,10 @@ function m({ title: m, isLoading: h, isFetching: se, data: g, columns: _, select
|
|
|
47
47
|
Y,
|
|
48
48
|
J,
|
|
49
49
|
K
|
|
50
|
-
]), xe =
|
|
50
|
+
]), xe = o(() => {
|
|
51
51
|
I?.();
|
|
52
52
|
});
|
|
53
|
-
|
|
53
|
+
ae(() => {
|
|
54
54
|
if (!I || !W.current || !G.current || h) return;
|
|
55
55
|
let e = new IntersectionObserver((e) => {
|
|
56
56
|
e[0]?.isIntersecting && xe();
|
|
@@ -82,11 +82,11 @@ function m({ title: m, isLoading: h, isFetching: se, data: g, columns: _, select
|
|
|
82
82
|
getRowId: (e, t) => H(e, t),
|
|
83
83
|
enableMultiRowSelection: v === "multi",
|
|
84
84
|
enableRowSelection: (e) => v === "none" ? !1 : !L || L(e.original)
|
|
85
|
-
}), Q =
|
|
85
|
+
}), Q = te(Z, X), $ = Z.getRowModel().rows, Se = s(() => re({
|
|
86
86
|
rows: $,
|
|
87
87
|
columns: Q
|
|
88
88
|
}), [$, Q]), Ce = Q[0]?.id;
|
|
89
|
-
return /* @__PURE__ */
|
|
89
|
+
return /* @__PURE__ */ a(r, {
|
|
90
90
|
table: Z,
|
|
91
91
|
columnState: X,
|
|
92
92
|
title: m,
|
|
@@ -114,21 +114,21 @@ function m({ title: m, isLoading: h, isFetching: se, data: g, columns: _, select
|
|
|
114
114
|
rawValue: e.cell.getValue(),
|
|
115
115
|
rowData: e.row.original,
|
|
116
116
|
rowKind: "plain"
|
|
117
|
-
}),
|
|
117
|
+
}), n = ee({
|
|
118
118
|
columnId: e.cell.column.id,
|
|
119
119
|
runtimeByColumnId: V.runtimeByColumnId,
|
|
120
120
|
customCellColumnIds: V.customCellColumnIds
|
|
121
|
-
}) ? /* @__PURE__ */
|
|
121
|
+
}) ? /* @__PURE__ */ a(ie, {
|
|
122
122
|
displayValue: t,
|
|
123
123
|
align: e.columnMeta?.align
|
|
124
124
|
}) : e.defaultContent;
|
|
125
125
|
return z ? z({
|
|
126
126
|
...e,
|
|
127
|
-
defaultContent:
|
|
127
|
+
defaultContent: n,
|
|
128
128
|
displayValue: t
|
|
129
|
-
}) :
|
|
129
|
+
}) : n;
|
|
130
130
|
},
|
|
131
|
-
afterTableContent: I ? /* @__PURE__ */
|
|
131
|
+
afterTableContent: I ? /* @__PURE__ */ a("div", {
|
|
132
132
|
ref: G,
|
|
133
133
|
className: p.sentinel,
|
|
134
134
|
"aria-hidden": "true"
|
|
@@ -138,4 +138,4 @@ function m({ title: m, isLoading: h, isFetching: se, data: g, columns: _, select
|
|
|
138
138
|
//#endregion
|
|
139
139
|
export { m as t };
|
|
140
140
|
|
|
141
|
-
//# sourceMappingURL=table-
|
|
141
|
+
//# sourceMappingURL=table-BDY9Zw--.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-DxoSOvQK.js","names":[],"sources":["../../src/table/Table.module.scss","../../src/table/Table.tsx"],"sourcesContent":[".selectedIndicatorCell {\n\tbox-shadow: inset 0.1875rem 0 0 var(--accent-text);\n}\n\n.sentinel {\n\theight: 1px;\n}\n","import { useEffect, useEffectEvent, useMemo, useRef } from \"react\";\n\nimport { formatPipelineDisplayValue } from \"@ryuzaki13/react-foundation-lib/formatters\";\nimport { TableFormulaRowData } from \"@ryuzaki13/react-foundation-lib/formulas\";\nimport {\n\ttype FoundationTableRow,\n\tfoundationTableFeatures,\n\ttype TableColumnDef,\n\ttype TableColumnOrderState,\n\ttype TableColumnSizingState,\n\ttype TableColumnVisibilityState,\n\ttype TableSelectionMode,\n\tuseTableRowSelection\n} from \"@ryuzaki13/react-foundation-lib/table\";\nimport { useTable } from \"@tanstack/react-table\";\n\nimport {\n\tBaseTable,\n\tbuildBaseTableMergedCellsLayout,\n\tbuildTableFormattingSnapshot,\n\tFormattedTableCell,\n\tgetOrderedVisibleLeafColumns,\n\tshouldUseTableFormatting,\n\tuseTableColumnOrder,\n\tuseTableColumnPinning,\n\tuseTableColumnSizing,\n\tuseTableColumnVisibility,\n\ttype BaseTableColumnState,\n\ttype BaseTableProps,\n\ttype TableColumnPinningState\n} from \"../base-table\";\n\nimport styles from \"./Table.module.scss\";\n\n/**\n * Возвращает индекс как строковый id, если внешний id не передан.\n */\nfunction defaultGetRowId<TData>(_row: TData, index: number): string {\n\treturn String(index);\n}\n\n/**\n * Пропсы компонента Table.\n *\n * Компонент предназначен для плоских данных и по API осознанно сближен с TreeTable.\n */\nexport interface TableProps<TData extends object> {\n\t/**\n\t * Необязательный заголовок над таблицей.\n\t */\n\ttitle?: string;\n\t/**\n\t * Признак первичной загрузки.\n\t */\n\tisLoading?: boolean;\n\t/**\n\t * Признак фоновой догрузки или обновления данных.\n\t */\n\tisFetching?: boolean;\n\t/**\n\t * Плоский источник строк.\n\t */\n\tdata: readonly TData[] | undefined | null;\n\t/**\n\t * Описание колонок таблицы.\n\t */\n\tcolumns: readonly TableColumnDef<TData>[];\n\t/**\n\t * Режим выбора строк.\n\t */\n\tselectionMode?: TableSelectionMode;\n\t/**\n\t * Внешний список выбранных строк.\n\t *\n\t * Если передан, таблица синхронизирует визуальное выделение с этим набором id.\n\t */\n\tselectedRowIds?: readonly string[];\n\t/**\n\t * Стабильный идентификатор строки.\n\t *\n\t * Если не задан, используется индекс строки.\n\t */\n\tgetRowId?: (row: TData, index: number) => string;\n\t/**\n\t * Дополнительный CSS-класс корневого контейнера.\n\t */\n\tclassName?: string;\n\tminHeight?: `${number}em` | `${number}%`;\n\t/**\n\t * Дополнительный CSS-класс тега `table`.\n\t */\n\ttableClassName?: string;\n\t/**\n\t * Внешнее controlled-состояние видимости колонок.\n\t */\n\tcolumnVisibility?: TableColumnVisibilityState;\n\t/**\n\t * Стартовое uncontrolled-состояние видимости колонок.\n\t */\n\tdefaultColumnVisibility?: TableColumnVisibilityState;\n\t/**\n\t * Внешнее controlled-состояние порядка колонок.\n\t */\n\tcolumnOrder?: readonly string[];\n\t/**\n\t * Стартовое uncontrolled-состояние порядка колонок.\n\t */\n\tdefaultColumnOrder?: readonly string[];\n\t/**\n\t * Внешнее controlled-состояние ширин колонок в px.\n\t */\n\tcolumnSizing?: TableColumnSizingState;\n\t/**\n\t * Стартовое uncontrolled-состояние ширин колонок в px.\n\t */\n\tdefaultColumnSizing?: TableColumnSizingState;\n\t/**\n\t * Внешнее controlled-состояние start-pinning для колонок.\n\t */\n\tcolumnPinning?: TableColumnPinningState;\n\t/**\n\t * Стартовое uncontrolled-состояние start-pinning для колонок.\n\t */\n\tdefaultColumnPinning?: TableColumnPinningState;\n\t/**\n\t * Включает изменение ширины колонок через header-handle.\n\t */\n\tenableColumnResizing?: boolean;\n\t/**\n\t * Включает изменение порядка колонок через drag&drop заголовков.\n\t */\n\tenableColumnReordering?: boolean;\n\t/**\n\t * Минимальная ширина колонки при resize в px.\n\t */\n\tcolumnResizeMinWidth?: number;\n\t/**\n\t * Вызывается после изменения видимости колонок.\n\t */\n\tonColumnVisibilityChange?: (state: TableColumnVisibilityState) => void;\n\t/**\n\t * Вызывается после изменения порядка колонок.\n\t */\n\tonColumnOrderChange?: (state: TableColumnOrderState) => void;\n\t/**\n\t * Вызывается после изменения ширины колонок.\n\t */\n\tonColumnSizingChange?: (state: TableColumnSizingState) => void;\n\t/**\n\t * Вызывается после изменения start-pinning state.\n\t */\n\tonColumnPinningChange?: (state: TableColumnPinningState) => void;\n\t/**\n\t * Вызывается при активации строки кликом или клавиатурой.\n\t */\n\tonRowClick?: (row: TData) => void;\n\t/**\n\t * Вызывается после изменения выбранных строк.\n\t */\n\tonRowSelectionChange?: (rows: TData[]) => void;\n\t/**\n\t * Вызывается при достижении конца таблицы внутри scroll-контейнера.\n\t */\n\tonReachEnd?: () => void;\n\t/**\n\t * Позволяет запретить выбор отдельных строк.\n\t */\n\tgetRowCanSelect?: (row: TData) => boolean;\n\t/**\n\t * Позволяет добавить CSS-класс для конкретной строки.\n\t */\n\tgetRowClassName?: (row: TData) => string | undefined;\n\t/**\n\t * Контекстное меню заголовка колонки. Используется для общих runtime-действий\n\t * вроде server sorting без встраивания доменной логики в shared-таблицу.\n\t */\n\trenderHeaderContextMenu?: BaseTableProps<TData>[\"renderHeaderContextMenu\"];\n\t/**\n\t * Тонкая точка расширения содержимого ячейки поверх стандартного форматирования.\n\t *\n\t * В отличие от `column.cell`, этот слот не отключает общий formatting-runtime:\n\t * `defaultContent` уже содержит отформатированное значение, если оно применимо.\n\t */\n\trenderCellContent?: BaseTableProps<TData>[\"renderCellContent\"];\n}\n\n/**\n * Плоская таблица на базе TanStack Table как React-альтернатива `sap.m.Table`.\n */\nexport function Table<TData extends object>({\n\ttitle,\n\tisLoading,\n\tisFetching,\n\tdata,\n\tcolumns,\n\tselectionMode = \"none\",\n\tselectedRowIds,\n\tgetRowId,\n\tclassName,\n\tminHeight,\n\ttableClassName,\n\tcolumnVisibility,\n\tdefaultColumnVisibility,\n\tcolumnOrder,\n\tdefaultColumnOrder,\n\tcolumnSizing,\n\tdefaultColumnSizing,\n\tcolumnPinning,\n\tdefaultColumnPinning,\n\tenableColumnResizing = false,\n\tenableColumnReordering = false,\n\tcolumnResizeMinWidth,\n\tonColumnVisibilityChange,\n\tonColumnOrderChange,\n\tonColumnSizingChange,\n\tonColumnPinningChange,\n\tonRowClick,\n\tonRowSelectionChange,\n\tonReachEnd,\n\tgetRowCanSelect,\n\tgetRowClassName,\n\trenderHeaderContextMenu,\n\trenderCellContent\n}: TableProps<TData>) {\n\tconst tableData = useMemo(() => data ?? [], [data]);\n\tconst formattingSnapshot = useMemo(() => buildTableFormattingSnapshot(columns), [columns]);\n\tconst resolveRowId = getRowId ?? defaultGetRowId<TData>;\n\tconst rowById = useMemo(() => new Map(tableData.map((row, index) => [resolveRowId(row, index), row])), [resolveRowId, tableData]);\n\tconst availableRowIds = useMemo(() => Array.from(rowById.keys()), [rowById]);\n\tconst scrollableRef = useRef<HTMLDivElement | null>(null);\n\tconst sentinelRef = useRef<HTMLDivElement | null>(null);\n\n\tconst { rowSelection, activateRowSelection } = useTableRowSelection({\n\t\tavailableRowIds,\n\t\trowById,\n\t\tselectionMode,\n\t\tselectedRowIds,\n\t\tonRowSelectionChange\n\t});\n\tconst { columnVisibility: resolvedColumnVisibility, onColumnVisibilityChange: handleColumnVisibilityChange } = useTableColumnVisibility(\n\t\t{\n\t\t\tcolumnVisibility,\n\t\t\tdefaultColumnVisibility,\n\t\t\tonColumnVisibilityChange\n\t\t}\n\t);\n\tconst { columnOrder: resolvedColumnOrder, onColumnOrderChange: handleColumnOrderChange } = useTableColumnOrder({\n\t\tcolumnOrder,\n\t\tdefaultColumnOrder,\n\t\tonColumnOrderChange\n\t});\n\tconst { columnSizing: resolvedColumnSizing, onColumnSizingChange: handleColumnSizingChange } = useTableColumnSizing({\n\t\tcolumnSizing,\n\t\tdefaultColumnSizing,\n\t\tcolumnResizeMinWidth,\n\t\tonColumnSizingChange\n\t});\n\tconst { columnPinning: resolvedColumnPinning, onColumnPinningChange: handleColumnPinningChange } = useTableColumnPinning({\n\t\tcolumnPinning,\n\t\tdefaultColumnPinning,\n\t\tonColumnPinningChange\n\t});\n\tconst baseTableColumnState = useMemo<BaseTableColumnState>(\n\t\t() => ({\n\t\t\tcolumnOrder: resolvedColumnOrder,\n\t\t\tcolumnPinning: resolvedColumnPinning,\n\t\t\tcolumnSizing: resolvedColumnSizing,\n\t\t\tcolumnVisibility: resolvedColumnVisibility\n\t\t}),\n\t\t[resolvedColumnOrder, resolvedColumnPinning, resolvedColumnSizing, resolvedColumnVisibility]\n\t);\n\n\tconst emitReachEnd = useEffectEvent(() => {\n\t\tonReachEnd?.();\n\t});\n\n\tuseEffect(() => {\n\t\tif (!onReachEnd || !scrollableRef.current || !sentinelRef.current || isLoading) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst observer = new IntersectionObserver(\n\t\t\t(entries) => {\n\t\t\t\tconst entry = entries[0];\n\n\t\t\t\tif (entry?.isIntersecting) {\n\t\t\t\t\temitReachEnd();\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\troot: scrollableRef.current,\n\t\t\t\tthreshold: 0.1\n\t\t\t}\n\t\t);\n\n\t\tobserver.observe(sentinelRef.current);\n\n\t\treturn () => observer.disconnect();\n\t}, [isLoading, onReachEnd, tableData.length]);\n\n\tconst table = useTable({\n\t\tfeatures: foundationTableFeatures,\n\t\tdata: tableData as TData[],\n\t\tcolumns: columns as TableColumnDef<TData>[],\n\t\tstate: {\n\t\t\tcolumnOrder: resolvedColumnOrder,\n\t\t\tcolumnPinning: resolvedColumnPinning,\n\t\t\tcolumnSizing: resolvedColumnSizing,\n\t\t\tcolumnVisibility: resolvedColumnVisibility,\n\t\t\trowSelection\n\t\t},\n\t\tonColumnOrderChange: handleColumnOrderChange,\n\t\tonColumnPinningChange: handleColumnPinningChange,\n\t\tonColumnSizingChange: handleColumnSizingChange,\n\t\tonColumnVisibilityChange: handleColumnVisibilityChange,\n\t\tgetRowId: (row, index) => resolveRowId(row, index),\n\t\tenableMultiRowSelection: selectionMode === \"multi\",\n\t\tenableRowSelection: (row) => {\n\t\t\tif (selectionMode === \"none\") {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn getRowCanSelect ? getRowCanSelect(row.original) : true;\n\t\t}\n\t});\n\n\tconst visibleLeafColumns = getOrderedVisibleLeafColumns(table, baseTableColumnState);\n\tconst rowModelRows = table.getRowModel().rows;\n\tconst mergedCellLayout = useMemo(\n\t\t() =>\n\t\t\tbuildBaseTableMergedCellsLayout({\n\t\t\t\trows: rowModelRows,\n\t\t\t\tcolumns: visibleLeafColumns\n\t\t\t}),\n\t\t[rowModelRows, visibleLeafColumns]\n\t);\n\tconst leadingColumnId = visibleLeafColumns[0]?.id;\n\n\t/**\n\t * Активирует строку: обновляет выбор в соответствии с режимом и вызывает внешний callback.\n\t */\n\tconst activateRow = (row: FoundationTableRow<TData>) => {\n\t\tactivateRowSelection(row.id, row.getCanSelect());\n\t\tonRowClick?.(row.original);\n\t};\n\n\treturn (\n\t\t<BaseTable\n\t\t\ttable={table}\n\t\t\tcolumnState={baseTableColumnState}\n\t\t\ttitle={title}\n\t\t\tisLoading={isLoading}\n\t\t\tisFetching={isFetching}\n\t\t\tclassName={className}\n\t\t\tminHeight={minHeight}\n\t\t\ttableClassName={tableClassName}\n\t\t\tselectionMode={selectionMode}\n\t\t\tscrollableRef={scrollableRef}\n\t\t\tonActivateRow={selectionMode !== \"none\" || onRowClick ? activateRow : undefined}\n\t\t\tisRowInteractive={(row) => Boolean(onRowClick || (selectionMode !== \"none\" && row.getCanSelect()))}\n\t\t\tgetRowClassName={(row) => getRowClassName?.(row.original)}\n\t\t\tgetCellClassName={({ row, cell }) =>\n\t\t\t\tcell.column.id === leadingColumnId && row.getIsSelected() ? styles.selectedIndicatorCell : undefined\n\t\t\t}\n\t\t\tgetCellLayout={({ cell }) => mergedCellLayout.get(cell.id)}\n\t\t\trenderHeaderContextMenu={renderHeaderContextMenu}\n\t\t\tenableColumnResizing={enableColumnResizing}\n\t\t\tenableColumnReordering={enableColumnReordering}\n\t\t\tcolumnResizeMinWidth={columnResizeMinWidth}\n\t\t\trenderCellContent={(args) => {\n\t\t\t\tconst displayValue = formatPipelineDisplayValue({\n\t\t\t\t\tfield: formattingSnapshot.runtimeByColumnId[args.cell.column.id],\n\t\t\t\t\trawValue: args.cell.getValue(),\n\t\t\t\t\trowData: args.row.original as TableFormulaRowData,\n\t\t\t\t\trowKind: \"plain\"\n\t\t\t\t});\n\t\t\t\tconst defaultContent = !shouldUseTableFormatting({\n\t\t\t\t\tcolumnId: args.cell.column.id,\n\t\t\t\t\truntimeByColumnId: formattingSnapshot.runtimeByColumnId,\n\t\t\t\t\tcustomCellColumnIds: formattingSnapshot.customCellColumnIds\n\t\t\t\t}) ? (\n\t\t\t\t\targs.defaultContent\n\t\t\t\t) : (\n\t\t\t\t\t<FormattedTableCell displayValue={displayValue} align={args.columnMeta?.align} />\n\t\t\t\t);\n\n\t\t\t\tif (renderCellContent) {\n\t\t\t\t\treturn renderCellContent({\n\t\t\t\t\t\t...args,\n\t\t\t\t\t\tdefaultContent,\n\t\t\t\t\t\tdisplayValue\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn defaultContent;\n\t\t\t}}\n\t\t\tafterTableContent={onReachEnd ? <div ref={sentinelRef} className={styles.sentinel} aria-hidden=\"true\" /> : null}\n\t\t/>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table-BDY9Zw--.js","names":[],"sources":["../../src/table/Table.module.scss","../../src/table/Table.tsx"],"sourcesContent":[".selectedIndicatorCell {\n\tbox-shadow: inset 0.1875rem 0 0 var(--accent-text);\n}\n\n.sentinel {\n\theight: 1px;\n}\n","import { useEffect, useEffectEvent, useMemo, useRef } from \"react\";\n\nimport { formatPipelineDisplayValue } from \"@ryuzaki13/react-foundation-lib/formatters\";\nimport { TableFormulaRowData } from \"@ryuzaki13/react-foundation-lib/formulas\";\nimport {\n\ttype FoundationTableRow,\n\tfoundationTableFeatures,\n\ttype TableColumnDef,\n\ttype TableColumnOrderState,\n\ttype TableColumnSizingState,\n\ttype TableColumnVisibilityState,\n\ttype TableSelectionMode,\n\tuseTableRowSelection\n} from \"@ryuzaki13/react-foundation-lib/table\";\nimport { useTable } from \"@tanstack/react-table\";\n\nimport {\n\tBaseTable,\n\tbuildBaseTableMergedCellsLayout,\n\tbuildTableFormattingSnapshot,\n\tFormattedTableCell,\n\tgetOrderedVisibleLeafColumns,\n\tshouldUseTableFormatting,\n\tuseTableColumnOrder,\n\tuseTableColumnPinning,\n\tuseTableColumnSizing,\n\tuseTableColumnVisibility,\n\ttype BaseTableColumnState,\n\ttype BaseTableProps,\n\ttype TableColumnPinningState\n} from \"../base-table\";\n\nimport styles from \"./Table.module.scss\";\n\n/**\n * Возвращает индекс как строковый id, если внешний id не передан.\n */\nfunction defaultGetRowId<TData>(_row: TData, index: number): string {\n\treturn String(index);\n}\n\n/**\n * Пропсы компонента Table.\n *\n * Компонент предназначен для плоских данных и по API осознанно сближен с TreeTable.\n */\nexport interface TableProps<TData extends object> {\n\t/**\n\t * Необязательный заголовок над таблицей.\n\t */\n\ttitle?: string;\n\t/**\n\t * Признак первичной загрузки.\n\t */\n\tisLoading?: boolean;\n\t/**\n\t * Признак фоновой догрузки или обновления данных.\n\t */\n\tisFetching?: boolean;\n\t/**\n\t * Плоский источник строк.\n\t */\n\tdata: readonly TData[] | undefined | null;\n\t/**\n\t * Описание колонок таблицы.\n\t */\n\tcolumns: readonly TableColumnDef<TData>[];\n\t/**\n\t * Режим выбора строк.\n\t */\n\tselectionMode?: TableSelectionMode;\n\t/**\n\t * Внешний список выбранных строк.\n\t *\n\t * Если передан, таблица синхронизирует визуальное выделение с этим набором id.\n\t */\n\tselectedRowIds?: readonly string[];\n\t/**\n\t * Стабильный идентификатор строки.\n\t *\n\t * Если не задан, используется индекс строки.\n\t */\n\tgetRowId?: (row: TData, index: number) => string;\n\t/**\n\t * Дополнительный CSS-класс корневого контейнера.\n\t */\n\tclassName?: string;\n\tminHeight?: `${number}em` | `${number}%`;\n\t/**\n\t * Дополнительный CSS-класс тега `table`.\n\t */\n\ttableClassName?: string;\n\t/**\n\t * Внешнее controlled-состояние видимости колонок.\n\t */\n\tcolumnVisibility?: TableColumnVisibilityState;\n\t/**\n\t * Стартовое uncontrolled-состояние видимости колонок.\n\t */\n\tdefaultColumnVisibility?: TableColumnVisibilityState;\n\t/**\n\t * Внешнее controlled-состояние порядка колонок.\n\t */\n\tcolumnOrder?: readonly string[];\n\t/**\n\t * Стартовое uncontrolled-состояние порядка колонок.\n\t */\n\tdefaultColumnOrder?: readonly string[];\n\t/**\n\t * Внешнее controlled-состояние ширин колонок в px.\n\t */\n\tcolumnSizing?: TableColumnSizingState;\n\t/**\n\t * Стартовое uncontrolled-состояние ширин колонок в px.\n\t */\n\tdefaultColumnSizing?: TableColumnSizingState;\n\t/**\n\t * Внешнее controlled-состояние start-pinning для колонок.\n\t */\n\tcolumnPinning?: TableColumnPinningState;\n\t/**\n\t * Стартовое uncontrolled-состояние start-pinning для колонок.\n\t */\n\tdefaultColumnPinning?: TableColumnPinningState;\n\t/**\n\t * Включает изменение ширины колонок через header-handle.\n\t */\n\tenableColumnResizing?: boolean;\n\t/**\n\t * Включает изменение порядка колонок через drag&drop заголовков.\n\t */\n\tenableColumnReordering?: boolean;\n\t/**\n\t * Минимальная ширина колонки при resize в px.\n\t */\n\tcolumnResizeMinWidth?: number;\n\t/**\n\t * Вызывается после изменения видимости колонок.\n\t */\n\tonColumnVisibilityChange?: (state: TableColumnVisibilityState) => void;\n\t/**\n\t * Вызывается после изменения порядка колонок.\n\t */\n\tonColumnOrderChange?: (state: TableColumnOrderState) => void;\n\t/**\n\t * Вызывается после изменения ширины колонок.\n\t */\n\tonColumnSizingChange?: (state: TableColumnSizingState) => void;\n\t/**\n\t * Вызывается после изменения start-pinning state.\n\t */\n\tonColumnPinningChange?: (state: TableColumnPinningState) => void;\n\t/**\n\t * Вызывается при активации строки кликом или клавиатурой.\n\t */\n\tonRowClick?: (row: TData) => void;\n\t/**\n\t * Вызывается после изменения выбранных строк.\n\t */\n\tonRowSelectionChange?: (rows: TData[]) => void;\n\t/**\n\t * Вызывается при достижении конца таблицы внутри scroll-контейнера.\n\t */\n\tonReachEnd?: () => void;\n\t/**\n\t * Позволяет запретить выбор отдельных строк.\n\t */\n\tgetRowCanSelect?: (row: TData) => boolean;\n\t/**\n\t * Позволяет добавить CSS-класс для конкретной строки.\n\t */\n\tgetRowClassName?: (row: TData) => string | undefined;\n\t/**\n\t * Контекстное меню заголовка колонки. Используется для общих runtime-действий\n\t * вроде server sorting без встраивания доменной логики в shared-таблицу.\n\t */\n\trenderHeaderContextMenu?: BaseTableProps<TData>[\"renderHeaderContextMenu\"];\n\t/**\n\t * Тонкая точка расширения содержимого ячейки поверх стандартного форматирования.\n\t *\n\t * В отличие от `column.cell`, этот слот не отключает общий formatting-runtime:\n\t * `defaultContent` уже содержит отформатированное значение, если оно применимо.\n\t */\n\trenderCellContent?: BaseTableProps<TData>[\"renderCellContent\"];\n}\n\n/**\n * Плоская таблица на базе TanStack Table как React-альтернатива `sap.m.Table`.\n */\nexport function Table<TData extends object>({\n\ttitle,\n\tisLoading,\n\tisFetching,\n\tdata,\n\tcolumns,\n\tselectionMode = \"none\",\n\tselectedRowIds,\n\tgetRowId,\n\tclassName,\n\tminHeight,\n\ttableClassName,\n\tcolumnVisibility,\n\tdefaultColumnVisibility,\n\tcolumnOrder,\n\tdefaultColumnOrder,\n\tcolumnSizing,\n\tdefaultColumnSizing,\n\tcolumnPinning,\n\tdefaultColumnPinning,\n\tenableColumnResizing = false,\n\tenableColumnReordering = false,\n\tcolumnResizeMinWidth,\n\tonColumnVisibilityChange,\n\tonColumnOrderChange,\n\tonColumnSizingChange,\n\tonColumnPinningChange,\n\tonRowClick,\n\tonRowSelectionChange,\n\tonReachEnd,\n\tgetRowCanSelect,\n\tgetRowClassName,\n\trenderHeaderContextMenu,\n\trenderCellContent\n}: TableProps<TData>) {\n\tconst tableData = useMemo(() => data ?? [], [data]);\n\tconst formattingSnapshot = useMemo(() => buildTableFormattingSnapshot(columns), [columns]);\n\tconst resolveRowId = getRowId ?? defaultGetRowId<TData>;\n\tconst rowById = useMemo(() => new Map(tableData.map((row, index) => [resolveRowId(row, index), row])), [resolveRowId, tableData]);\n\tconst availableRowIds = useMemo(() => Array.from(rowById.keys()), [rowById]);\n\tconst scrollableRef = useRef<HTMLDivElement | null>(null);\n\tconst sentinelRef = useRef<HTMLDivElement | null>(null);\n\n\tconst { rowSelection, activateRowSelection } = useTableRowSelection({\n\t\tavailableRowIds,\n\t\trowById,\n\t\tselectionMode,\n\t\tselectedRowIds,\n\t\tonRowSelectionChange\n\t});\n\tconst { columnVisibility: resolvedColumnVisibility, onColumnVisibilityChange: handleColumnVisibilityChange } = useTableColumnVisibility(\n\t\t{\n\t\t\tcolumnVisibility,\n\t\t\tdefaultColumnVisibility,\n\t\t\tonColumnVisibilityChange\n\t\t}\n\t);\n\tconst { columnOrder: resolvedColumnOrder, onColumnOrderChange: handleColumnOrderChange } = useTableColumnOrder({\n\t\tcolumnOrder,\n\t\tdefaultColumnOrder,\n\t\tonColumnOrderChange\n\t});\n\tconst { columnSizing: resolvedColumnSizing, onColumnSizingChange: handleColumnSizingChange } = useTableColumnSizing({\n\t\tcolumnSizing,\n\t\tdefaultColumnSizing,\n\t\tcolumnResizeMinWidth,\n\t\tonColumnSizingChange\n\t});\n\tconst { columnPinning: resolvedColumnPinning, onColumnPinningChange: handleColumnPinningChange } = useTableColumnPinning({\n\t\tcolumnPinning,\n\t\tdefaultColumnPinning,\n\t\tonColumnPinningChange\n\t});\n\tconst baseTableColumnState = useMemo<BaseTableColumnState>(\n\t\t() => ({\n\t\t\tcolumnOrder: resolvedColumnOrder,\n\t\t\tcolumnPinning: resolvedColumnPinning,\n\t\t\tcolumnSizing: resolvedColumnSizing,\n\t\t\tcolumnVisibility: resolvedColumnVisibility\n\t\t}),\n\t\t[resolvedColumnOrder, resolvedColumnPinning, resolvedColumnSizing, resolvedColumnVisibility]\n\t);\n\n\tconst emitReachEnd = useEffectEvent(() => {\n\t\tonReachEnd?.();\n\t});\n\n\tuseEffect(() => {\n\t\tif (!onReachEnd || !scrollableRef.current || !sentinelRef.current || isLoading) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst observer = new IntersectionObserver(\n\t\t\t(entries) => {\n\t\t\t\tconst entry = entries[0];\n\n\t\t\t\tif (entry?.isIntersecting) {\n\t\t\t\t\temitReachEnd();\n\t\t\t\t}\n\t\t\t},\n\t\t\t{\n\t\t\t\troot: scrollableRef.current,\n\t\t\t\tthreshold: 0.1\n\t\t\t}\n\t\t);\n\n\t\tobserver.observe(sentinelRef.current);\n\n\t\treturn () => observer.disconnect();\n\t}, [isLoading, onReachEnd, tableData.length]);\n\n\tconst table = useTable({\n\t\tfeatures: foundationTableFeatures,\n\t\tdata: tableData as TData[],\n\t\tcolumns: columns as TableColumnDef<TData>[],\n\t\tstate: {\n\t\t\tcolumnOrder: resolvedColumnOrder,\n\t\t\tcolumnPinning: resolvedColumnPinning,\n\t\t\tcolumnSizing: resolvedColumnSizing,\n\t\t\tcolumnVisibility: resolvedColumnVisibility,\n\t\t\trowSelection\n\t\t},\n\t\tonColumnOrderChange: handleColumnOrderChange,\n\t\tonColumnPinningChange: handleColumnPinningChange,\n\t\tonColumnSizingChange: handleColumnSizingChange,\n\t\tonColumnVisibilityChange: handleColumnVisibilityChange,\n\t\tgetRowId: (row, index) => resolveRowId(row, index),\n\t\tenableMultiRowSelection: selectionMode === \"multi\",\n\t\tenableRowSelection: (row) => {\n\t\t\tif (selectionMode === \"none\") {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\treturn getRowCanSelect ? getRowCanSelect(row.original) : true;\n\t\t}\n\t});\n\n\tconst visibleLeafColumns = getOrderedVisibleLeafColumns(table, baseTableColumnState);\n\tconst rowModelRows = table.getRowModel().rows;\n\tconst mergedCellLayout = useMemo(\n\t\t() =>\n\t\t\tbuildBaseTableMergedCellsLayout({\n\t\t\t\trows: rowModelRows,\n\t\t\t\tcolumns: visibleLeafColumns\n\t\t\t}),\n\t\t[rowModelRows, visibleLeafColumns]\n\t);\n\tconst leadingColumnId = visibleLeafColumns[0]?.id;\n\n\t/**\n\t * Активирует строку: обновляет выбор в соответствии с режимом и вызывает внешний callback.\n\t */\n\tconst activateRow = (row: FoundationTableRow<TData>) => {\n\t\tactivateRowSelection(row.id, row.getCanSelect());\n\t\tonRowClick?.(row.original);\n\t};\n\n\treturn (\n\t\t<BaseTable\n\t\t\ttable={table}\n\t\t\tcolumnState={baseTableColumnState}\n\t\t\ttitle={title}\n\t\t\tisLoading={isLoading}\n\t\t\tisFetching={isFetching}\n\t\t\tclassName={className}\n\t\t\tminHeight={minHeight}\n\t\t\ttableClassName={tableClassName}\n\t\t\tselectionMode={selectionMode}\n\t\t\tscrollableRef={scrollableRef}\n\t\t\tonActivateRow={selectionMode !== \"none\" || onRowClick ? activateRow : undefined}\n\t\t\tisRowInteractive={(row) => Boolean(onRowClick || (selectionMode !== \"none\" && row.getCanSelect()))}\n\t\t\tgetRowClassName={(row) => getRowClassName?.(row.original)}\n\t\t\tgetCellClassName={({ row, cell }) =>\n\t\t\t\tcell.column.id === leadingColumnId && row.getIsSelected() ? styles.selectedIndicatorCell : undefined\n\t\t\t}\n\t\t\tgetCellLayout={({ cell }) => mergedCellLayout.get(cell.id)}\n\t\t\trenderHeaderContextMenu={renderHeaderContextMenu}\n\t\t\tenableColumnResizing={enableColumnResizing}\n\t\t\tenableColumnReordering={enableColumnReordering}\n\t\t\tcolumnResizeMinWidth={columnResizeMinWidth}\n\t\t\trenderCellContent={(args) => {\n\t\t\t\tconst displayValue = formatPipelineDisplayValue({\n\t\t\t\t\tfield: formattingSnapshot.runtimeByColumnId[args.cell.column.id],\n\t\t\t\t\trawValue: args.cell.getValue(),\n\t\t\t\t\trowData: args.row.original as TableFormulaRowData,\n\t\t\t\t\trowKind: \"plain\"\n\t\t\t\t});\n\t\t\t\tconst defaultContent = !shouldUseTableFormatting({\n\t\t\t\t\tcolumnId: args.cell.column.id,\n\t\t\t\t\truntimeByColumnId: formattingSnapshot.runtimeByColumnId,\n\t\t\t\t\tcustomCellColumnIds: formattingSnapshot.customCellColumnIds\n\t\t\t\t}) ? (\n\t\t\t\t\targs.defaultContent\n\t\t\t\t) : (\n\t\t\t\t\t<FormattedTableCell displayValue={displayValue} align={args.columnMeta?.align} />\n\t\t\t\t);\n\n\t\t\t\tif (renderCellContent) {\n\t\t\t\t\treturn renderCellContent({\n\t\t\t\t\t\t...args,\n\t\t\t\t\t\tdefaultContent,\n\t\t\t\t\t\tdisplayValue\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn defaultContent;\n\t\t\t}}\n\t\t\tafterTableContent={onReachEnd ? <div ref={sentinelRef} className={styles.sentinel} aria-hidden=\"true\" /> : null}\n\t\t/>\n\t);\n}\n"],"mappings":"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"}
|
package/dist/chunks/{table-column-interactions-DzEvVuXe.js → table-column-interactions-Do8LFtiv.js}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { cn as e } from "@ryuzaki13/react-foundation-lib/utils";
|
|
2
|
+
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
3
|
+
import { useRef as r } from "react";
|
|
4
4
|
import { DEFAULT_TABLE_COLUMN_MIN_WIDTH as i, normalizeTableColumnWidth as a } from "@ryuzaki13/react-foundation-lib/table";
|
|
5
5
|
import { useSortable as o } from "@dnd-kit/sortable";
|
|
6
6
|
import { CSS as s } from "@dnd-kit/utilities";
|
|
@@ -9,26 +9,26 @@ function u(e, t) {
|
|
|
9
9
|
let n = e.closest("th")?.getBoundingClientRect().width;
|
|
10
10
|
return a(typeof n == "number" && Number.isFinite(n) ? n : t, t);
|
|
11
11
|
}
|
|
12
|
-
function d({ columnId:
|
|
13
|
-
let _ = s ?? i, v =
|
|
14
|
-
let t = p?.(
|
|
12
|
+
function d({ columnId: n, className: o, minWidth: s, keyboardStep: d = l, ariaLabel: f = "Изменить ширину колонки", getStartWidth: p, onResize: m, onResizeEnd: h, onReset: g }) {
|
|
13
|
+
let _ = s ?? i, v = r(0), y = r(0), b = r(0), x = r(!1), S = r(!1), C = (e) => {
|
|
14
|
+
let t = p?.(n, e) ?? u(e, _);
|
|
15
15
|
return a(t, _);
|
|
16
16
|
}, w = (e) => {
|
|
17
17
|
(e.button === 0 || e.pointerType !== "mouse") && (x.current = !0, S.current = !1, v.current = e.clientX, y.current = C(e.currentTarget), b.current = y.current, e.currentTarget.setPointerCapture(e.pointerId), e.preventDefault(), e.stopPropagation());
|
|
18
18
|
}, T = (e) => {
|
|
19
19
|
if (!x.current) return;
|
|
20
20
|
let t = a(y.current + e.clientX - v.current, _);
|
|
21
|
-
b.current = t, S.current = !0, m(
|
|
21
|
+
b.current = t, S.current = !0, m(n, t), e.preventDefault(), e.stopPropagation();
|
|
22
22
|
}, E = (e) => {
|
|
23
23
|
if (x.current) {
|
|
24
|
-
x.current = !1, S.current && h?.(
|
|
24
|
+
x.current = !1, S.current && h?.(n, b.current);
|
|
25
25
|
try {
|
|
26
26
|
e.currentTarget.releasePointerCapture(e.pointerId);
|
|
27
27
|
} catch {}
|
|
28
28
|
e.preventDefault(), e.stopPropagation();
|
|
29
29
|
}
|
|
30
30
|
};
|
|
31
|
-
return /* @__PURE__ */
|
|
31
|
+
return /* @__PURE__ */ t("div", {
|
|
32
32
|
role: "separator",
|
|
33
33
|
"aria-label": f,
|
|
34
34
|
"aria-orientation": "vertical",
|
|
@@ -40,16 +40,16 @@ function d({ columnId: r, className: o, minWidth: s, keyboardStep: d = l, ariaLa
|
|
|
40
40
|
onKeyDown: (e) => {
|
|
41
41
|
if (e.key !== "ArrowLeft" && e.key !== "ArrowRight" && e.key !== "Home") return;
|
|
42
42
|
if (e.preventDefault(), e.stopPropagation(), e.key === "Home") {
|
|
43
|
-
g?.(
|
|
43
|
+
g?.(n);
|
|
44
44
|
return;
|
|
45
45
|
}
|
|
46
|
-
let t = e.key === "ArrowRight" ? 1 : -1,
|
|
47
|
-
m(
|
|
46
|
+
let t = e.key === "ArrowRight" ? 1 : -1, r = C(e.currentTarget), i = a(r + t * d, _);
|
|
47
|
+
m(n, i), h?.(n, i);
|
|
48
48
|
},
|
|
49
49
|
onDoubleClick: (e) => {
|
|
50
|
-
e.preventDefault(), e.stopPropagation(), g?.(
|
|
50
|
+
e.preventDefault(), e.stopPropagation(), g?.(n);
|
|
51
51
|
},
|
|
52
|
-
className:
|
|
52
|
+
className: e(c.resizeHandle, o)
|
|
53
53
|
});
|
|
54
54
|
}
|
|
55
55
|
//#endregion
|
|
@@ -57,9 +57,9 @@ function d({ columnId: r, className: o, minWidth: s, keyboardStep: d = l, ariaLa
|
|
|
57
57
|
function f(e, t) {
|
|
58
58
|
return typeof e == "function" ? e(t) : e;
|
|
59
59
|
}
|
|
60
|
-
function p({ columnId:
|
|
60
|
+
function p({ columnId: r, children: i, dragDisabled: a = !1, draggingClassName: c, resizeHandle: l, className: u, style: p, ...m }) {
|
|
61
61
|
let { attributes: h, listeners: g, setActivatorNodeRef: _, setNodeRef: v, transform: y, isDragging: b, rect: x } = o({
|
|
62
|
-
id:
|
|
62
|
+
id: r,
|
|
63
63
|
disabled: a
|
|
64
64
|
}), S = b ? x.current?.width : void 0, C = {
|
|
65
65
|
transform: s.Translate.toString(y),
|
|
@@ -76,15 +76,15 @@ function p({ columnId: e, children: i, dragDisabled: a = !1, draggingClassName:
|
|
|
76
76
|
disabled: a,
|
|
77
77
|
isDragging: b
|
|
78
78
|
};
|
|
79
|
-
return /* @__PURE__ */
|
|
79
|
+
return /* @__PURE__ */ n("th", {
|
|
80
80
|
...m,
|
|
81
81
|
ref: v,
|
|
82
|
-
className:
|
|
82
|
+
className: e(u, b && c),
|
|
83
83
|
style: C,
|
|
84
|
-
children: [f(i, w), l ? /* @__PURE__ */
|
|
84
|
+
children: [f(i, w), l ? /* @__PURE__ */ t(d, { ...l }) : null]
|
|
85
85
|
});
|
|
86
86
|
}
|
|
87
87
|
//#endregion
|
|
88
88
|
export { d as n, p as t };
|
|
89
89
|
|
|
90
|
-
//# sourceMappingURL=table-column-interactions-
|
|
90
|
+
//# sourceMappingURL=table-column-interactions-Do8LFtiv.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-column-interactions-
|
|
1
|
+
{"version":3,"file":"table-column-interactions-Do8LFtiv.js","names":[],"sources":["../../src/table-column-interactions/TableColumnInteractions.module.scss","../../src/table-column-interactions/TableColumnResizeHandle.tsx","../../src/table-column-interactions/TableHeaderInteractionCell.tsx"],"sourcesContent":[".resizeHandle {\n\tcursor: col-resize;\n\ttouch-action: none;\n\tuser-select: none;\n\tposition: absolute;\n\tright: 0;\n\ttop: 0;\n\theight: 100%;\n\twidth: 6px;\n\tz-index: 1;\n\n\t&:hover,\n\t&:focus-visible {\n\t\tbackground-color: var(--focus-ring);\n\t}\n\n\t&:focus-visible {\n\t\toutline: var(--focus);\n\t\toutline-offset: calc(var(--focus-offset) * -1);\n\t}\n}\n","import { useRef, type KeyboardEvent as ReactKeyboardEvent, type PointerEvent as ReactPointerEvent } from \"react\";\n\nimport { DEFAULT_TABLE_COLUMN_MIN_WIDTH, normalizeTableColumnWidth } from \"@ryuzaki13/react-foundation-lib/table\";\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport styles from \"./TableColumnInteractions.module.scss\";\n\nconst DEFAULT_KEYBOARD_RESIZE_STEP = 8;\n\nexport type TableColumnResizeHandleProps = {\n\tcolumnId: string;\n\tclassName?: string;\n\tminWidth?: number;\n\tkeyboardStep?: number;\n\tariaLabel?: string;\n\tgetStartWidth?: (columnId: string, element: HTMLElement) => number;\n\tonResize: (columnId: string, width: number) => void;\n\tonResizeEnd?: (columnId: string, width: number) => void;\n\tonReset?: (columnId: string) => void;\n};\n\nfunction resolveHeaderCellWidth(element: HTMLElement, minWidth: number): number {\n\tconst headerCell = element.closest(\"th\");\n\tconst width = headerCell?.getBoundingClientRect().width;\n\n\treturn normalizeTableColumnWidth(typeof width === \"number\" && Number.isFinite(width) ? width : minWidth, minWidth);\n}\n\nexport function TableColumnResizeHandle({\n\tcolumnId,\n\tclassName,\n\tminWidth,\n\tkeyboardStep = DEFAULT_KEYBOARD_RESIZE_STEP,\n\tariaLabel = \"Изменить ширину колонки\",\n\tgetStartWidth,\n\tonResize,\n\tonResizeEnd,\n\tonReset\n}: TableColumnResizeHandleProps) {\n\tconst resolvedMinWidth = minWidth ?? DEFAULT_TABLE_COLUMN_MIN_WIDTH;\n\tconst startXRef = useRef(0);\n\tconst startWidthRef = useRef(0);\n\tconst lastWidthRef = useRef(0);\n\tconst activeRef = useRef(false);\n\tconst movedRef = useRef(false);\n\n\tconst resolveStartWidth = (element: HTMLElement) => {\n\t\tconst width = getStartWidth?.(columnId, element) ?? resolveHeaderCellWidth(element, resolvedMinWidth);\n\n\t\treturn normalizeTableColumnWidth(width, resolvedMinWidth);\n\t};\n\n\tconst handlePointerDown = (event: ReactPointerEvent<HTMLDivElement>) => {\n\t\tif (event.button !== 0 && event.pointerType === \"mouse\") return;\n\n\t\tactiveRef.current = true;\n\t\tmovedRef.current = false;\n\t\tstartXRef.current = event.clientX;\n\t\tstartWidthRef.current = resolveStartWidth(event.currentTarget);\n\t\tlastWidthRef.current = startWidthRef.current;\n\t\tevent.currentTarget.setPointerCapture(event.pointerId);\n\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t};\n\n\tconst handlePointerMove = (event: ReactPointerEvent<HTMLDivElement>) => {\n\t\tif (!activeRef.current) return;\n\n\t\tconst nextWidth = normalizeTableColumnWidth(startWidthRef.current + event.clientX - startXRef.current, resolvedMinWidth);\n\t\tlastWidthRef.current = nextWidth;\n\t\tmovedRef.current = true;\n\t\tonResize(columnId, nextWidth);\n\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t};\n\n\tconst finishPointerResize = (event: ReactPointerEvent<HTMLDivElement>) => {\n\t\tif (!activeRef.current) return;\n\n\t\tactiveRef.current = false;\n\n\t\tif (movedRef.current) {\n\t\t\tonResizeEnd?.(columnId, lastWidthRef.current);\n\t\t}\n\n\t\ttry {\n\t\t\tevent.currentTarget.releasePointerCapture(event.pointerId);\n\t\t} catch {\n\t\t\t// Pointer capture мог быть сброшен браузером при отмене жеста.\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t};\n\n\tconst handleKeyDown = (event: ReactKeyboardEvent<HTMLDivElement>) => {\n\t\tif (event.key !== \"ArrowLeft\" && event.key !== \"ArrowRight\" && event.key !== \"Home\") {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\n\t\tif (event.key === \"Home\") {\n\t\t\tonReset?.(columnId);\n\t\t\treturn;\n\t\t}\n\n\t\tconst direction = event.key === \"ArrowRight\" ? 1 : -1;\n\t\tconst currentWidth = resolveStartWidth(event.currentTarget);\n\t\tconst nextWidth = normalizeTableColumnWidth(currentWidth + direction * keyboardStep, resolvedMinWidth);\n\t\tonResize(columnId, nextWidth);\n\t\tonResizeEnd?.(columnId, nextWidth);\n\t};\n\n\treturn (\n\t\t<div\n\t\t\trole=\"separator\"\n\t\t\taria-label={ariaLabel}\n\t\t\taria-orientation=\"vertical\"\n\t\t\ttabIndex={0}\n\t\t\tonPointerDown={handlePointerDown}\n\t\t\tonPointerMove={handlePointerMove}\n\t\t\tonPointerUp={finishPointerResize}\n\t\t\tonPointerCancel={finishPointerResize}\n\t\t\tonKeyDown={handleKeyDown}\n\t\t\tonDoubleClick={(event) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tonReset?.(columnId);\n\t\t\t}}\n\t\t\tclassName={cn(styles.resizeHandle, className)}\n\t\t/>\n\t);\n}\n","import { type ComponentPropsWithoutRef, type CSSProperties, type ReactNode } from \"react\";\n\nimport { type DraggableAttributes, type DraggableSyntheticListeners, type UniqueIdentifier } from \"@dnd-kit/core\";\nimport { useSortable } from \"@dnd-kit/sortable\";\nimport { CSS } from \"@dnd-kit/utilities\";\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport { TableColumnResizeHandle, type TableColumnResizeHandleProps } from \"./TableColumnResizeHandle\";\n\nexport type TableHeaderCellDragState = {\n\tattributes: DraggableAttributes;\n\tlisteners: DraggableSyntheticListeners;\n\tsetActivatorElement: (element: HTMLElement | null) => void;\n\tdisabled: boolean;\n\tisDragging: boolean;\n};\n\nexport type TableHeaderInteractionCellProps = Omit<ComponentPropsWithoutRef<\"th\">, \"children\" | \"id\"> & {\n\tcolumnId: UniqueIdentifier;\n\tchildren: ReactNode | ((dragState: TableHeaderCellDragState) => ReactNode);\n\tdragDisabled?: boolean;\n\tdraggingClassName?: string;\n\tresizeHandle?: TableColumnResizeHandleProps;\n};\n\nfunction renderChildren(children: TableHeaderInteractionCellProps[\"children\"], dragState: TableHeaderCellDragState): ReactNode {\n\treturn typeof children === \"function\" ? children(dragState) : children;\n}\n\nexport function TableHeaderInteractionCell({\n\tcolumnId,\n\tchildren,\n\tdragDisabled = false,\n\tdraggingClassName,\n\tresizeHandle,\n\tclassName,\n\tstyle,\n\t...thProps\n}: TableHeaderInteractionCellProps) {\n\tconst { attributes, listeners, setActivatorNodeRef, setNodeRef, transform, /*transition,*/ isDragging, rect } = useSortable({\n\t\tid: columnId,\n\t\tdisabled: dragDisabled\n\t});\n\tconst lockedWidth = isDragging ? rect.current?.width : undefined;\n\tconst sortableStyle: CSSProperties = {\n\t\ttransform: CSS.Translate.toString(transform),\n\t\t// transition,\n\t\tzIndex: isDragging ? \"calc(var(--z-header) + 1)\" : undefined,\n\t\t...(lockedWidth ? { width: lockedWidth, minWidth: lockedWidth } : {}),\n\t\t...style\n\t};\n\tconst dragState: TableHeaderCellDragState = {\n\t\tattributes,\n\t\tlisteners,\n\t\tsetActivatorElement: setActivatorNodeRef,\n\t\tdisabled: dragDisabled,\n\t\tisDragging\n\t};\n\n\treturn (\n\t\t<th {...thProps} ref={setNodeRef} className={cn(className, isDragging && draggingClassName)} style={sortableStyle}>\n\t\t\t{renderChildren(children, dragState)}\n\n\t\t\t{resizeHandle ? <TableColumnResizeHandle {...resizeHandle} /> : null}\n\t\t</th>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Bold as e, Code as t, Heading1 as n, Heading2 as r, Heading3 as i, Heading4 as a, Heading5 as o, Heading6 as s, Highlighter as c, Italic as l, List as u, ListOrdered as d, Pilcrow as f, Strikethrough as p, TextQuote as m, Type as h, Underline as g } from "lucide-react";
|
|
2
|
+
import { jsx as _ } from "react/jsx-runtime";
|
|
3
3
|
//#region src/text-editor/editorModel.ts
|
|
4
4
|
var v = (e) => {
|
|
5
5
|
if (!e || typeof e != "object") return !1;
|
|
@@ -10,109 +10,109 @@ var v = (e) => {
|
|
|
10
10
|
label: "Параграф",
|
|
11
11
|
node: "p",
|
|
12
12
|
style: "unstyled",
|
|
13
|
-
icon: /* @__PURE__ */
|
|
13
|
+
icon: /* @__PURE__ */ _(h, {})
|
|
14
14
|
},
|
|
15
15
|
paragraph: {
|
|
16
16
|
label: "Параграф",
|
|
17
17
|
node: "p",
|
|
18
18
|
style: "paragraph",
|
|
19
|
-
icon: /* @__PURE__ */
|
|
19
|
+
icon: /* @__PURE__ */ _(f, {})
|
|
20
20
|
},
|
|
21
21
|
"header-one": {
|
|
22
22
|
label: "Заголовок первого уровня",
|
|
23
23
|
node: "h1",
|
|
24
24
|
style: "header-one",
|
|
25
|
-
icon: /* @__PURE__ */
|
|
25
|
+
icon: /* @__PURE__ */ _(n, {})
|
|
26
26
|
},
|
|
27
27
|
"header-two": {
|
|
28
28
|
label: "Заголовок второго уровня",
|
|
29
29
|
node: "h2",
|
|
30
30
|
style: "header-two",
|
|
31
|
-
icon: /* @__PURE__ */
|
|
31
|
+
icon: /* @__PURE__ */ _(r, {})
|
|
32
32
|
},
|
|
33
33
|
"header-three": {
|
|
34
34
|
label: "Заголовок третьего уровня",
|
|
35
35
|
node: "h3",
|
|
36
36
|
style: "header-three",
|
|
37
|
-
icon: /* @__PURE__ */
|
|
37
|
+
icon: /* @__PURE__ */ _(i, {})
|
|
38
38
|
},
|
|
39
39
|
"header-four": {
|
|
40
40
|
label: "Заголовок четвертого уровня",
|
|
41
41
|
node: "h4",
|
|
42
42
|
style: "header-four",
|
|
43
|
-
icon: /* @__PURE__ */
|
|
43
|
+
icon: /* @__PURE__ */ _(a, {})
|
|
44
44
|
},
|
|
45
45
|
"header-five": {
|
|
46
46
|
label: "Заголовок пятого уровня",
|
|
47
47
|
node: "h5",
|
|
48
48
|
style: "header-five",
|
|
49
|
-
icon: /* @__PURE__ */
|
|
49
|
+
icon: /* @__PURE__ */ _(o, {})
|
|
50
50
|
},
|
|
51
51
|
"header-six": {
|
|
52
52
|
label: "Заголовок шестого уровня",
|
|
53
53
|
node: "h6",
|
|
54
54
|
style: "header-six",
|
|
55
|
-
icon: /* @__PURE__ */
|
|
55
|
+
icon: /* @__PURE__ */ _(s, {})
|
|
56
56
|
},
|
|
57
57
|
"code-block": {
|
|
58
58
|
label: "Блок кода",
|
|
59
59
|
node: "pre",
|
|
60
60
|
style: "code-block",
|
|
61
|
-
icon: /* @__PURE__ */
|
|
61
|
+
icon: /* @__PURE__ */ _(t, {})
|
|
62
62
|
},
|
|
63
63
|
blockquote: {
|
|
64
64
|
label: "Цитата",
|
|
65
65
|
node: "blockquote",
|
|
66
66
|
style: "blockquote",
|
|
67
|
-
icon: /* @__PURE__ */
|
|
67
|
+
icon: /* @__PURE__ */ _(m, {})
|
|
68
68
|
},
|
|
69
69
|
"unordered-list-item": {
|
|
70
70
|
label: "Маркированный список",
|
|
71
71
|
node: "ul",
|
|
72
72
|
style: "unordered-list-item",
|
|
73
|
-
icon: /* @__PURE__ */
|
|
73
|
+
icon: /* @__PURE__ */ _(u, {})
|
|
74
74
|
},
|
|
75
75
|
"ordered-list-item": {
|
|
76
76
|
label: "Нумерованный список",
|
|
77
77
|
node: "ol",
|
|
78
78
|
style: "ordered-list-item",
|
|
79
|
-
icon: /* @__PURE__ */
|
|
79
|
+
icon: /* @__PURE__ */ _(d, {})
|
|
80
80
|
},
|
|
81
81
|
CODE: {
|
|
82
82
|
label: "Моноширинный код",
|
|
83
83
|
node: "code",
|
|
84
84
|
style: "CODE",
|
|
85
|
-
icon: /* @__PURE__ */
|
|
85
|
+
icon: /* @__PURE__ */ _(t, {})
|
|
86
86
|
},
|
|
87
87
|
BOLD: {
|
|
88
88
|
label: "Выделение жирным",
|
|
89
89
|
node: "strong",
|
|
90
90
|
style: "BOLD",
|
|
91
|
-
icon: /* @__PURE__ */ e
|
|
91
|
+
icon: /* @__PURE__ */ _(e, {})
|
|
92
92
|
},
|
|
93
93
|
UNDERLINE: {
|
|
94
94
|
label: "Выделение подчеркнутым",
|
|
95
95
|
node: "u",
|
|
96
96
|
style: "UNDERLINE",
|
|
97
|
-
icon: /* @__PURE__ */
|
|
97
|
+
icon: /* @__PURE__ */ _(g, {})
|
|
98
98
|
},
|
|
99
99
|
STRIKETHROUGH: {
|
|
100
100
|
label: "Выделение зачеркнутым",
|
|
101
101
|
node: "s",
|
|
102
102
|
style: "STRIKETHROUGH",
|
|
103
|
-
icon: /* @__PURE__ */
|
|
103
|
+
icon: /* @__PURE__ */ _(p, {})
|
|
104
104
|
},
|
|
105
105
|
HIGHLIGHT: {
|
|
106
106
|
label: "Подсветка цветом",
|
|
107
107
|
node: "span",
|
|
108
108
|
style: "HIGHLIGHT",
|
|
109
|
-
icon: /* @__PURE__ */
|
|
109
|
+
icon: /* @__PURE__ */ _(c, {})
|
|
110
110
|
},
|
|
111
111
|
ITALIC: {
|
|
112
112
|
label: "Выделение курсивным",
|
|
113
113
|
node: "i",
|
|
114
114
|
style: "ITALIC",
|
|
115
|
-
icon: /* @__PURE__ */
|
|
115
|
+
icon: /* @__PURE__ */ _(l, {})
|
|
116
116
|
}
|
|
117
117
|
}, b = [
|
|
118
118
|
y.unstyled,
|
|
@@ -138,4 +138,4 @@ var v = (e) => {
|
|
|
138
138
|
//#endregion
|
|
139
139
|
export { v as a, x as i, C as n, b as r, S as t };
|
|
140
140
|
|
|
141
|
-
//# sourceMappingURL=types-
|
|
141
|
+
//# sourceMappingURL=types-CxXyru6U.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types-
|
|
1
|
+
{"version":3,"file":"types-CxXyru6U.js","names":[],"sources":["../../src/text-editor/editorModel.ts","../../src/text-editor/toolbar/types.tsx"],"sourcesContent":["import { ComponentType } from \"react\";\n\nexport type TextEditorLexicalRaw = {\n\tformat: \"lexical\";\n\tversion: 1;\n\teditorState: Record<string, unknown>;\n};\n\nexport type TextEditorData<TRaw = unknown> = {\n\thtml: string;\n\traw: TRaw;\n};\n\nexport interface TextEditorToolbarComponents {\n\tblocks?: boolean;\n\tlinks?: boolean;\n\thistory?: boolean;\n\talignment?: boolean;\n\tinline?: boolean;\n\ttags?: boolean;\n}\n\nexport interface LocalLinkDialogAdapterProps {\n\tisOpen: boolean;\n\tonClose: () => void;\n\tonConfirm: (url: string, ariaLabel: string) => void;\n}\n\nexport interface TextEditorBusinessAdapters {\n\tLocalLinkDialogComponent?: ComponentType<LocalLinkDialogAdapterProps>;\n}\n\nexport interface TextEditorCoreProps<TRaw = unknown> {\n\tinitialData: TextEditorData<TRaw>;\n\tonChange: (data: TextEditorData<TextEditorLexicalRaw>) => void;\n\ttoolbarComponents?: TextEditorToolbarComponents;\n\tbusinessAdapters?: TextEditorBusinessAdapters;\n}\n\nexport const isLexicalTextRaw = (raw: unknown): raw is TextEditorLexicalRaw => {\n\tif (!raw || typeof raw !== \"object\") return false;\n\n\tconst value = raw as Partial<TextEditorLexicalRaw>;\n\treturn value.format === \"lexical\" && value.version === 1 && !!value.editorState && typeof value.editorState === \"object\";\n};\n","import { JSX } from \"react\";\n\nimport {\n\tBold,\n\tCode,\n\tHeading1,\n\tHeading2,\n\tHeading3,\n\tHeading4,\n\tHeading5,\n\tHeading6,\n\tHighlighter,\n\tItalic,\n\tList,\n\tListOrdered,\n\tPilcrow,\n\tStrikethrough,\n\tTextQuote,\n\tType,\n\tUnderline\n} from \"lucide-react\";\n\nimport type { TextEditorElementTypes } from \"../types\";\n\ninterface TextEditorElement {\n\tlabel: string;\n\tstyle: TextEditorElementTypes;\n\tnode: string;\n\ticon: JSX.Element;\n}\n\nconst TextEditorElements: Record<TextEditorElementTypes, TextEditorElement> = {\n\tunstyled: { label: \"Параграф\", node: \"p\", style: \"unstyled\", icon: <Type /> },\n\tparagraph: { label: \"Параграф\", node: \"p\", style: \"paragraph\", icon: <Pilcrow /> },\n\t\"header-one\": { label: \"Заголовок первого уровня\", node: \"h1\", style: \"header-one\", icon: <Heading1 /> },\n\t\"header-two\": { label: \"Заголовок второго уровня\", node: \"h2\", style: \"header-two\", icon: <Heading2 /> },\n\t\"header-three\": { label: \"Заголовок третьего уровня\", node: \"h3\", style: \"header-three\", icon: <Heading3 /> },\n\t\"header-four\": { label: \"Заголовок четвертого уровня\", node: \"h4\", style: \"header-four\", icon: <Heading4 /> },\n\t\"header-five\": { label: \"Заголовок пятого уровня\", node: \"h5\", style: \"header-five\", icon: <Heading5 /> },\n\t\"header-six\": { label: \"Заголовок шестого уровня\", node: \"h6\", style: \"header-six\", icon: <Heading6 /> },\n\t\"code-block\": { label: \"Блок кода\", node: \"pre\", style: \"code-block\", icon: <Code /> },\n\tblockquote: { label: \"Цитата\", node: \"blockquote\", style: \"blockquote\", icon: <TextQuote /> },\n\t\"unordered-list-item\": { label: \"Маркированный список\", node: \"ul\", style: \"unordered-list-item\", icon: <List /> },\n\t\"ordered-list-item\": { label: \"Нумерованный список\", node: \"ol\", style: \"ordered-list-item\", icon: <ListOrdered /> },\n\tCODE: { label: \"Моноширинный код\", node: \"code\", style: \"CODE\", icon: <Code /> },\n\tBOLD: { label: \"Выделение жирным\", node: \"strong\", style: \"BOLD\", icon: <Bold /> },\n\tUNDERLINE: { label: \"Выделение подчеркнутым\", node: \"u\", style: \"UNDERLINE\", icon: <Underline /> },\n\tSTRIKETHROUGH: { label: \"Выделение зачеркнутым\", node: \"s\", style: \"STRIKETHROUGH\", icon: <Strikethrough /> },\n\tHIGHLIGHT: { label: \"Подсветка цветом\", node: \"span\", style: \"HIGHLIGHT\", icon: <Highlighter /> },\n\tITALIC: { label: \"Выделение курсивным\", node: \"i\", style: \"ITALIC\", icon: <Italic /> }\n};\n\nexport const getElementFromElementStyle = (style: TextEditorElementTypes) => {\n\tconst element = TextEditorElements[style];\n\tif (!element) {\n\t\treturn \"div\";\n\t}\n\treturn element.node;\n};\n\nexport const getTagFromElementStyle = (style: TextEditorElementTypes) => {\n\tconst element = TextEditorElements[style];\n\tif (!element) {\n\t\treturn null;\n\t}\n\treturn element.node;\n};\n\nexport const TextEditorBlockControls = [\n\tTextEditorElements.unstyled,\n\tTextEditorElements[\"header-three\"],\n\tTextEditorElements[\"header-four\"],\n\tTextEditorElements[\"header-five\"],\n\tTextEditorElements[\"header-six\"],\n\tTextEditorElements[\"ordered-list-item\"],\n\tTextEditorElements[\"unordered-list-item\"],\n\tTextEditorElements.blockquote\n];\n\nexport const TextEditorInlineControls = [\n\tTextEditorElements.BOLD,\n\tTextEditorElements.ITALIC,\n\tTextEditorElements.UNDERLINE,\n\tTextEditorElements.STRIKETHROUGH,\n\tTextEditorElements.HIGHLIGHT,\n\tTextEditorElements.CODE\n];\n\nexport const TextEditorStyleClasses = {\n\tCODE: {\n\t\tcolor: \"rgb(8, 89, 114)\",\n\t\tpadding: \"0.15em 0.4em\",\n\t\tmargin: \"0\",\n\t\tfontFamily: \"monospace\",\n\t\tfontSize: \"85%\",\n\t\tbackgroundColor: \"rgba(40, 68, 77, 0.05)\",\n\t\tborderRadius: \"var(--radius-md)\",\n\t\tlineHeight: \"1\"\n\t},\n\tHIGHLIGHT: {\n\t\tpaddingInline: \"0.15em\",\n\t\tbackgroundColor: \"rgb(234,255,142)\",\n\t\tborderRadius: \"var(--radius-md)\"\n\t},\n\tunstyled: {\n\t\tmarginBottom: \"1.5em\"\n\t},\n\tBOLD: { fontWeight: \"bold\" },\n\tITALIC: { fontStyle: \"italic\" },\n\tUNDERLINE: { textDecoration: \"underline\" },\n\tSTRIKETHROUGH: { textDecoration: \"line-through\" }\n};\n\nexport enum LinkTypes {\n\tLINK = \"link\",\n\t// eslint-disable-next-line @typescript-eslint/naming-convention\n\tLOCAL_LINK = \"localLink\",\n\tPHONE = \"phone\",\n\tEMAIL = \"email\"\n}\n\nexport enum TagTypes {\n\t// eslint-disable-next-line @typescript-eslint/naming-convention\n\tabbr = \"abbr\",\n\t// eslint-disable-next-line @typescript-eslint/naming-convention\n\tlang = \"lang\",\n\t// eslint-disable-next-line @typescript-eslint/naming-convention\n\ttime = \"time\",\n\t// eslint-disable-next-line @typescript-eslint/naming-convention\n\tcite = \"cite\",\n\t// eslint-disable-next-line @typescript-eslint/naming-convention\n\tins = \"ins\",\n\t// eslint-disable-next-line @typescript-eslint/naming-convention\n\tdel = \"del\"\n}\n"],"mappings":"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"}
|