@ryuzaki13/react-foundation-ui 1.0.0 → 1.0.1
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/Badge.d.ts.map +1 -1
- package/dist/badge/index.js +1 -1
- package/dist/badge/stories/Badge.stories.js +1 -1
- package/dist/base-table/index.js +1 -1
- package/dist/base-table/lib/columnPinning.d.ts.map +1 -1
- package/dist/base-table/model/useTableColumnOrder.d.ts +1 -1
- package/dist/base-table/model/useTableColumnOrder.d.ts.map +1 -1
- package/dist/base-table/model/useTableColumnSizing.d.ts +1 -1
- package/dist/base-table/model/useTableColumnSizing.d.ts.map +1 -1
- package/dist/base-table/ui/BaseTable.d.ts +2 -2
- package/dist/base-table/ui/BaseTable.d.ts.map +1 -1
- package/dist/base-table/ui/BaseTableHeaderCell.d.ts.map +1 -1
- package/dist/base-table/ui/FormattedTableCell.d.ts.map +1 -1
- package/dist/check-box/CheckBox.d.ts.map +1 -1
- package/dist/check-box/index.js +1 -1
- package/dist/check-box/stories/CheckBox.stories.js +1 -1
- package/dist/chunks/{BadgeList-DHW_Ktr3.js → BadgeList-6qL9oNAp.js} +5 -5
- package/dist/chunks/BadgeList-6qL9oNAp.js.map +1 -0
- package/dist/chunks/{CalendarView-B75faWIU.js → CalendarView-DjShdvRD.js} +42 -42
- package/dist/chunks/{CalendarView-B75faWIU.js.map → CalendarView-DjShdvRD.js.map} +1 -1
- package/dist/chunks/{CheckBox-Cck5w1Ud.js → CheckBox-CulnjNvJ.js} +9 -9
- package/dist/chunks/CheckBox-CulnjNvJ.js.map +1 -0
- package/dist/chunks/{DateInput-CINDYueM.js → DateInput-LSSvObtg.js} +3 -3
- package/dist/chunks/DateInput-LSSvObtg.js.map +1 -0
- package/dist/chunks/Dialog-BPS4BeWZ.js.map +1 -1
- package/dist/chunks/{DisclosureGroup-0BtaXO54.js → DisclosureGroup-Plk2M_Vl.js} +9 -9
- package/dist/chunks/DisclosureGroup-Plk2M_Vl.js.map +1 -0
- package/dist/chunks/{DropZone-hf7Em__0.js → DropZone-DPGTpHI6.js} +7 -7
- package/dist/chunks/DropZone-DPGTpHI6.js.map +1 -0
- package/dist/chunks/DropdownMenu-Ds-trH4M.js.map +1 -1
- package/dist/chunks/Flex-DbBdq336.js.map +1 -1
- package/dist/chunks/Grid-ByIIytjh.js.map +1 -1
- package/dist/chunks/{Input-Ce2HXBUc.js → Input-Wrew1puH.js} +30 -30
- package/dist/chunks/Input-Wrew1puH.js.map +1 -0
- package/dist/chunks/{InputDateTime-DPtY_4Od.js → InputDateTime-2PCX8an8.js} +2 -2
- package/dist/chunks/{InputDateTime-DPtY_4Od.js.map → InputDateTime-2PCX8an8.js.map} +1 -1
- package/dist/chunks/{InputFile-ga5yJmdZ.js → InputFile-Ca-bRo93.js} +2 -2
- package/dist/chunks/InputFile-Ca-bRo93.js.map +1 -0
- package/dist/chunks/{InputFiles-Or2Nvfgk.js → InputFiles-pI9rQXOI.js} +22 -22
- package/dist/chunks/InputFiles-pI9rQXOI.js.map +1 -0
- package/dist/chunks/{InputImage-BeA5WJz1.js → InputImage-B522AQzl.js} +2 -2
- package/dist/chunks/{InputImage-BeA5WJz1.js.map → InputImage-B522AQzl.js.map} +1 -1
- package/dist/chunks/{LabeledExpandableActionPanel-Bx-DWmYz.js → LabeledExpandableActionPanel-CWmOSWeS.js} +12 -12
- package/dist/chunks/LabeledExpandableActionPanel-CWmOSWeS.js.map +1 -0
- package/dist/chunks/{Listbox-CY1wQOCP.js → Listbox-B6F_IKQv.js} +22 -22
- package/dist/chunks/Listbox-B6F_IKQv.js.map +1 -0
- package/dist/chunks/{MultiSelect-CBqTylqO.js → MultiSelect-CUXA8gx-.js} +12 -12
- package/dist/chunks/{MultiSelect-CBqTylqO.js.map → MultiSelect-CUXA8gx-.js.map} +1 -1
- package/dist/chunks/{NotificationsHost-BQc-zOr2.js → NotificationsHost-Bnq7xFKO.js} +24 -24
- package/dist/chunks/NotificationsHost-Bnq7xFKO.js.map +1 -0
- package/dist/chunks/{PresetRangeDateInput-YBQm_4Fb.js → PresetRangeDateInput-B_8jsilZ.js} +2 -2
- package/dist/chunks/{PresetRangeDateInput-YBQm_4Fb.js.map → PresetRangeDateInput-B_8jsilZ.js.map} +1 -1
- package/dist/chunks/{RadioButton-DJp31HFR.js → RadioButton-D5vPW4Yr.js} +8 -8
- package/dist/chunks/RadioButton-D5vPW4Yr.js.map +1 -0
- package/dist/chunks/{Select-B7k_8_Lf.js → Select-CoAYWNOn.js} +10 -10
- package/dist/chunks/Select-CoAYWNOn.js.map +1 -0
- package/dist/chunks/{SerializableSelect-53uNCqdE.js → SerializableSelect-awBOWKTj.js} +2 -2
- package/dist/chunks/{SerializableSelect-53uNCqdE.js.map → SerializableSelect-awBOWKTj.js.map} +1 -1
- package/dist/chunks/{SingleDateTimeInput-CwvIbwje.js → SingleDateTimeInput-o44Vlwdk.js} +19 -19
- package/dist/chunks/SingleDateTimeInput-o44Vlwdk.js.map +1 -0
- package/dist/chunks/{StateSelect-D0wuUdT9.js → StateSelect-abZq176J.js} +2 -2
- package/dist/chunks/{StateSelect-D0wuUdT9.js.map → StateSelect-abZq176J.js.map} +1 -1
- package/dist/chunks/{Switch-B476FBUD.js → Switch-DHMnZVmN.js} +9 -9
- package/dist/chunks/Switch-DHMnZVmN.js.map +1 -0
- package/dist/chunks/{TextEditorLexicalClient-DcixYuo4.js → TextEditorLexicalClient-Dt4eaPA3.js} +4 -4
- package/dist/chunks/{TextEditorLexicalClient-DcixYuo4.js.map → TextEditorLexicalClient-Dt4eaPA3.js.map} +1 -1
- package/dist/chunks/{Textarea-DeJJjjkI.js → Textarea-DOVrPH4I.js} +2 -2
- package/dist/chunks/{Textarea-DeJJjjkI.js.map → Textarea-DOVrPH4I.js.map} +1 -1
- package/dist/chunks/TimePanel-_kF2RtHk.js.map +1 -1
- package/dist/chunks/{TreeMultiSelect-DRYNx7u5.js → TreeMultiSelect-C76RYavo.js} +2 -2
- package/dist/chunks/{TreeMultiSelect-DRYNx7u5.js.map → TreeMultiSelect-C76RYavo.js.map} +1 -1
- package/dist/chunks/{TreePickerBase-DYzTsSBQ.js → TreePickerBase-qNHIWbYL.js} +155 -155
- package/dist/chunks/TreePickerBase-qNHIWbYL.js.map +1 -0
- package/dist/chunks/{TreeSelect-DGLDu6qc.js → TreeSelect-LEhNdPCX.js} +2 -2
- package/dist/chunks/{TreeSelect-DGLDu6qc.js.map → TreeSelect-LEhNdPCX.js.map} +1 -1
- package/dist/chunks/{base-table-DVje02Zi.js → base-table-ij2guVMB.js} +3 -3
- package/dist/chunks/base-table-ij2guVMB.js.map +1 -0
- package/dist/chunks/{layout-picker-BA9vA8JI.js → layout-picker-CzZ8Xzkk.js} +9 -9
- package/dist/chunks/layout-picker-CzZ8Xzkk.js.map +1 -0
- package/dist/chunks/{misc-DrmMj8GO.js → misc-Bj0y3ERC.js} +54 -54
- package/dist/chunks/misc-Bj0y3ERC.js.map +1 -0
- package/dist/chunks/{modal-DqVcZws_.js → modal-B4ivQb2h.js} +10 -10
- package/dist/chunks/modal-B4ivQb2h.js.map +1 -0
- package/dist/chunks/{picker-Cj4RnJh6.js → picker-gIUs0nE_.js} +13 -13
- package/dist/chunks/picker-gIUs0nE_.js.map +1 -0
- package/dist/chunks/popover-C79P5bm2.js.map +1 -1
- package/dist/chunks/{slider-34wxzKkG.js → slider-CigVo4Ju.js} +3 -3
- package/dist/chunks/slider-CigVo4Ju.js.map +1 -0
- package/dist/chunks/{sortable-CwDHC3CA.js → sortable-BZqnZ_LA.js} +10 -10
- package/dist/chunks/sortable-BZqnZ_LA.js.map +1 -0
- package/dist/chunks/{table-BYA0hCj7.js → table-CK-CM2zD.js} +2 -2
- package/dist/chunks/table-CK-CM2zD.js.map +1 -0
- package/dist/chunks/table-column-interactions-DPyJDD7P.js.map +1 -1
- package/dist/chunks/{tabs-CjU2KCgs.js → tabs-D5ikIIng.js} +2 -2
- package/dist/chunks/{tabs-CjU2KCgs.js.map → tabs-D5ikIIng.js.map} +1 -1
- package/dist/context-menu/components/MenuContent.d.ts.map +1 -1
- package/dist/context-menu/components/MenuContext.d.ts.map +1 -1
- package/dist/context-menu/components/MenuRoot.d.ts.map +1 -1
- package/dist/context-menu/components/RadialMenuContent.d.ts.map +1 -1
- package/dist/date-input/index.js +2 -2
- package/dist/date-input/lib/types.d.ts.map +1 -1
- package/dist/date-input/stories/DateInput.stories.js +2 -2
- package/dist/date-input/ui/CalendarView.d.ts.map +1 -1
- package/dist/date-input/ui/DateInput.d.ts.map +1 -1
- package/dist/date-range-preset-select/stories/DateRangePresetSelect.stories.js +1 -1
- package/dist/date-time-input/index.js +1 -1
- package/dist/date-time-input/lib/dateTimeValue.d.ts.map +1 -1
- package/dist/date-time-input/stories/SingleDateTimeInput.stories.js +1 -1
- package/dist/date-time-input/ui/SingleDateTimeInput.d.ts.map +1 -1
- package/dist/dialog/Dialog.d.ts.map +1 -1
- package/dist/disclosure/Disclosure.d.ts.map +1 -1
- package/dist/disclosure/index.js +1 -1
- package/dist/disclosure/stories/Disclosure.stories.js +1 -1
- package/dist/drop-zone/DropZone.d.ts.map +1 -1
- package/dist/drop-zone/index.js +1 -1
- package/dist/drop-zone/stories/DropZone.stories.d.ts.map +1 -1
- package/dist/drop-zone/stories/DropZone.stories.js +1 -1
- package/dist/drop-zone/stories/DropZone.stories.js.map +1 -1
- package/dist/errors/ErrorDisplay.d.ts.map +1 -1
- package/dist/errors/index.js.map +1 -1
- package/dist/expandable-action-panel/ExpandableActionPanel.d.ts.map +1 -1
- package/dist/expandable-action-panel/index.js +1 -1
- package/dist/expandable-action-panel/stories/ExpandableActionPanel.stories.js +4 -4
- package/dist/image/index.js +3 -3
- package/dist/image/index.js.map +1 -1
- package/dist/image/ui/ImageSelection.d.ts.map +1 -1
- package/dist/input/Input.d.ts.map +1 -1
- package/dist/input/index.js +1 -1
- package/dist/input/stories/Input.stories.js +1 -1
- package/dist/input-date-time/index.js +1 -1
- package/dist/input-date-time/stories/InputDateTime.stories.js +1 -1
- package/dist/input-file/InputFile.d.ts.map +1 -1
- package/dist/input-file/index.js +1 -1
- package/dist/input-file/stories/InputFile.stories.d.ts.map +1 -1
- package/dist/input-file/stories/InputFile.stories.js +1 -1
- package/dist/input-file/stories/InputFile.stories.js.map +1 -1
- package/dist/input-files/InputFilesList.d.ts.map +1 -1
- package/dist/input-files/index.js +1 -1
- package/dist/input-files/stories/InputFiles.stories.d.ts +1 -1
- package/dist/input-files/stories/InputFiles.stories.d.ts.map +1 -1
- package/dist/input-files/stories/InputFiles.stories.js +1 -1
- package/dist/input-files/stories/InputFiles.stories.js.map +1 -1
- package/dist/input-image/index.js +1 -1
- package/dist/input-image/stories/InputImage.stories.d.ts.map +1 -1
- package/dist/input-image/stories/InputImage.stories.js +1 -1
- package/dist/input-image/stories/InputImage.stories.js.map +1 -1
- package/dist/input-search/index.js +1 -1
- package/dist/layout-picker/index.js +1 -1
- package/dist/layout-picker/stories/LayoutPicker.stories.js +1 -1
- package/dist/layout-picker/ui/LayoutPicker.d.ts.map +1 -1
- package/dist/list/List.d.ts.map +1 -1
- package/dist/list/index.js +5 -5
- package/dist/list/index.js.map +1 -1
- package/dist/listbox/Listbox.d.ts.map +1 -1
- package/dist/listbox/index.js +1 -1
- package/dist/listbox/stories/Listbox.stories.js +1 -1
- package/dist/misc/CopyTextWrapper.d.ts.map +1 -1
- package/dist/misc/OneStepScroller.d.ts.map +1 -1
- package/dist/misc/StateIcon.d.ts.map +1 -1
- package/dist/misc/index.js +1 -1
- package/dist/modal/Modal.d.ts +5 -1
- package/dist/modal/Modal.d.ts.map +1 -1
- package/dist/modal/index.js +1 -1
- package/dist/modal/stories/Modal.stories.js +2 -2
- package/dist/multi-select/index.js +1130 -24
- package/dist/multi-select/index.js.map +1 -1
- package/dist/multi-select/model/useODataMultiSelect.d.ts +23 -0
- package/dist/multi-select/model/useODataMultiSelect.d.ts.map +1 -0
- package/dist/multi-select/ui/MultiSelect.d.ts +1 -1
- package/dist/multi-select/ui/MultiSelect.d.ts.map +1 -1
- package/dist/multi-select/ui/ODataDependentMultiSelect.d.ts +20 -0
- package/dist/multi-select/ui/ODataDependentMultiSelect.d.ts.map +1 -0
- package/dist/multi-select/ui/ODataDependentSegmentMultiSelect.d.ts +21 -0
- package/dist/multi-select/ui/ODataDependentSegmentMultiSelect.d.ts.map +1 -0
- package/dist/multi-select/ui/ODataMultiSelect.d.ts +7 -0
- package/dist/multi-select/ui/ODataMultiSelect.d.ts.map +1 -0
- package/dist/multi-select/ui/SerializableMultiSelect.d.ts.map +1 -1
- package/dist/multi-select/ui/index.d.ts +3 -0
- package/dist/multi-select/ui/index.d.ts.map +1 -1
- package/dist/multi-select/ui/stories/MultiSelect.stories.js +1 -1
- package/dist/multi-select/ui/stories/ODataMultiSelect.stories.d.ts +44 -0
- package/dist/multi-select/ui/stories/ODataMultiSelect.stories.d.ts.map +1 -0
- package/dist/notifications/index.js +1 -1
- package/dist/notifications/model/NotificationsProvider.d.ts.map +1 -1
- package/dist/notifications/ui/NotificationsHost.d.ts.map +1 -1
- package/dist/notifications/ui/stories/NotificationsHost.stories.js +1 -1
- package/dist/period-select/PeriodSelect.d.ts +1 -1
- package/dist/period-select/PeriodSelect.d.ts.map +1 -1
- package/dist/period-select/index.js.map +1 -1
- package/dist/period-select/lib/periodSelect.d.ts.map +1 -1
- package/dist/period-select/stories/PeriodSelect.stories.d.ts.map +1 -1
- package/dist/period-select/stories/PeriodSelect.stories.js +1 -1
- package/dist/period-select/stories/PeriodSelect.stories.js.map +1 -1
- package/dist/picker/PickerPopup.d.ts.map +1 -1
- package/dist/picker/PickerTriggerActions.d.ts.map +1 -1
- package/dist/picker/index.js +1 -1
- package/dist/picker/model/usePickerFloatingListbox.d.ts.map +1 -1
- package/dist/popover/FloatingPopover.d.ts.map +1 -1
- package/dist/popover/components/PopoverContent.d.ts.map +1 -1
- package/dist/popover/components/PopoverContext.d.ts.map +1 -1
- package/dist/popover/stories/Popover.stories.js +1 -1
- package/dist/preset-range-date-input/index.js +1 -1
- package/dist/preset-range-date-input/ui/stories/PresetRangeDateInput.stories.js +1 -1
- package/dist/preset-select/index.js +1 -1
- package/dist/radio-button/RadioButton.d.ts.map +1 -1
- package/dist/radio-button/index.js +1 -1
- package/dist/radio-button/stories/RadioButton.stories.js +1 -1
- package/dist/select/ODataSelect.d.ts +9 -0
- package/dist/select/ODataSelect.d.ts.map +1 -0
- package/dist/select/Select.d.ts.map +1 -1
- package/dist/select/index.js +2 -2
- package/dist/select/model/useODataSelect.d.ts +25 -0
- package/dist/select/model/useODataSelect.d.ts.map +1 -0
- package/dist/select/model/useODataSelectBase.d.ts +24 -0
- package/dist/select/model/useODataSelectBase.d.ts.map +1 -0
- package/dist/select/stories/ODataSelect.stories.d.ts +46 -0
- package/dist/select/stories/ODataSelect.stories.d.ts.map +1 -0
- package/dist/select/stories/Select.stories.js +1 -1
- package/dist/select/stories/SerializableSelect.stories.js +1 -1
- package/dist/select/stories/odataStoryFixtures.d.ts +35 -0
- package/dist/select/stories/odataStoryFixtures.d.ts.map +1 -0
- package/dist/simple-table/index.js +1 -1
- package/dist/simple-table/index.js.map +1 -1
- package/dist/slider/Slider.d.ts.map +1 -1
- package/dist/slider/index.js +1 -1
- package/dist/slider/stories/Slider.stories.js +1 -1
- package/dist/slider/stories/SliderInput.stories.js +1 -1
- package/dist/sortable/Sortable.d.ts.map +1 -1
- package/dist/sortable/SortableDragHandle.d.ts.map +1 -1
- package/dist/sortable/index.js +1 -1
- package/dist/sortable/stories/Sortable.stories.js +1 -1
- package/dist/state-select/index.js +1 -1
- package/dist/state-select/stories/StateSelect.stories.d.ts.map +1 -1
- package/dist/state-select/stories/StateSelect.stories.js +1 -1
- package/dist/state-select/stories/StateSelect.stories.js.map +1 -1
- package/dist/switch/Switch.d.ts.map +1 -1
- package/dist/switch/index.js +1 -1
- package/dist/switch/stories/Switch.stories.js +1 -1
- package/dist/table/Table.d.ts +1 -1
- package/dist/table/Table.d.ts.map +1 -1
- package/dist/table/index.js +1 -1
- package/dist/table/stories/Table.stories.d.ts +155 -0
- package/dist/table/stories/Table.stories.d.ts.map +1 -0
- package/dist/table-column-interactions/TableHeaderInteractionCell.d.ts.map +1 -1
- package/dist/tabs/index.js +1 -1
- package/dist/tabs/stories/Tabs.stories.d.ts.map +1 -1
- package/dist/tabs/stories/Tabs.stories.js +2 -2
- package/dist/tabs/stories/Tabs.stories.js.map +1 -1
- package/dist/text/TextOverflow.d.ts.map +1 -1
- package/dist/text/index.js.map +1 -1
- package/dist/text-editor/TextEditorLexicalClient.d.ts.map +1 -1
- package/dist/text-editor/index.js +2 -2
- package/dist/textarea/index.js +1 -1
- package/dist/textarea/stories/Textarea.stories.js +1 -1
- package/dist/tree-select/ODataTreeMultiSelect.d.ts +12 -0
- package/dist/tree-select/ODataTreeMultiSelect.d.ts.map +1 -0
- package/dist/tree-select/ODataTreeSelect.d.ts +13 -0
- package/dist/tree-select/ODataTreeSelect.d.ts.map +1 -0
- 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 +2 -2
- package/dist/tree-select/model/buildODataTreeNodes.d.ts +12 -0
- package/dist/tree-select/model/buildODataTreeNodes.d.ts.map +1 -0
- package/dist/tree-select/model/resolveOrderedTreeSegmentItems.d.ts +4 -0
- package/dist/tree-select/model/resolveOrderedTreeSegmentItems.d.ts.map +1 -0
- package/dist/tree-select/model/useODataTreeData.d.ts +11 -0
- package/dist/tree-select/model/useODataTreeData.d.ts.map +1 -0
- package/dist/tree-select/stories/ODataTreeMultiSelect.stories.d.ts +55 -0
- package/dist/tree-select/stories/ODataTreeMultiSelect.stories.d.ts.map +1 -0
- package/dist/tree-select/stories/ODataTreeSelect.stories.d.ts +54 -0
- package/dist/tree-select/stories/ODataTreeSelect.stories.d.ts.map +1 -0
- package/dist/tree-select/stories/TreeMultiSelect.stories.js +1 -1
- package/dist/tree-select/stories/TreeSelect.stories.js +1 -1
- package/dist/tree-table/TreeTable.d.ts +1 -1
- package/dist/tree-table/TreeTable.d.ts.map +1 -1
- package/dist/tree-table/index.js +2 -2
- package/dist/tree-table/index.js.map +1 -1
- package/dist/tree-table/stories/TreeTable.stories.d.ts +158 -0
- package/dist/tree-table/stories/TreeTable.stories.d.ts.map +1 -0
- package/package.json +5 -4
- package/dist/chunks/BadgeList-DHW_Ktr3.js.map +0 -1
- package/dist/chunks/CheckBox-Cck5w1Ud.js.map +0 -1
- package/dist/chunks/DateInput-CINDYueM.js.map +0 -1
- package/dist/chunks/DisclosureGroup-0BtaXO54.js.map +0 -1
- package/dist/chunks/DropZone-hf7Em__0.js.map +0 -1
- package/dist/chunks/Input-Ce2HXBUc.js.map +0 -1
- package/dist/chunks/InputFile-ga5yJmdZ.js.map +0 -1
- package/dist/chunks/InputFiles-Or2Nvfgk.js.map +0 -1
- package/dist/chunks/LabeledExpandableActionPanel-Bx-DWmYz.js.map +0 -1
- package/dist/chunks/Listbox-CY1wQOCP.js.map +0 -1
- package/dist/chunks/NotificationsHost-BQc-zOr2.js.map +0 -1
- package/dist/chunks/RadioButton-DJp31HFR.js.map +0 -1
- package/dist/chunks/Select-B7k_8_Lf.js.map +0 -1
- package/dist/chunks/SingleDateTimeInput-CwvIbwje.js.map +0 -1
- package/dist/chunks/Switch-B476FBUD.js.map +0 -1
- package/dist/chunks/TreePickerBase-DYzTsSBQ.js.map +0 -1
- package/dist/chunks/base-table-DVje02Zi.js.map +0 -1
- package/dist/chunks/layout-picker-BA9vA8JI.js.map +0 -1
- package/dist/chunks/misc-DrmMj8GO.js.map +0 -1
- package/dist/chunks/modal-DqVcZws_.js.map +0 -1
- package/dist/chunks/picker-Cj4RnJh6.js.map +0 -1
- package/dist/chunks/slider-34wxzKkG.js.map +0 -1
- package/dist/chunks/sortable-CwDHC3CA.js.map +0 -1
- package/dist/chunks/table-BYA0hCj7.js.map +0 -1
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { t as e } from "./ui.module-BisoTevy.js";
|
|
2
|
-
import { a as t } from "./Input-
|
|
3
|
-
import { c as n, d as r, f as i, i as a, l as o, r as s, t as c, u as
|
|
4
|
-
import { t as
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { Fragment as
|
|
8
|
-
import { useEffect as
|
|
2
|
+
import { a as t } from "./Input-Wrew1puH.js";
|
|
3
|
+
import { c as n, d as r, f as i, i as a, l as o, r as s, t as c, u as ee } from "./picker-gIUs0nE_.js";
|
|
4
|
+
import { t as l } from "./SelectOptionContent-CI7wq9Oi.js";
|
|
5
|
+
import { cn as u } from "@ryuzaki13/react-foundation-lib/utils";
|
|
6
|
+
import { CheckIcon as d, ChevronRightIcon as f, MinusIcon as p, XIcon as te } from "lucide-react";
|
|
7
|
+
import { Fragment as m, jsx as h, jsxs as g } from "react/jsx-runtime";
|
|
8
|
+
import { useEffect as ne, useMemo as _, useRef as v, useState as re } from "react";
|
|
9
9
|
//#region src/tree-select/model/treeUtils.ts
|
|
10
|
-
function
|
|
10
|
+
function y(e, t) {
|
|
11
11
|
return `${e}::${t}`;
|
|
12
12
|
}
|
|
13
|
-
function
|
|
13
|
+
function b(e) {
|
|
14
14
|
let t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map(), o = 0, s = (e, c) => {
|
|
15
|
-
t.set(e.id, e), n.set(e.id, c), i.set(e.id, o++), a.set(
|
|
16
|
-
let
|
|
17
|
-
r.set(e.id,
|
|
15
|
+
t.set(e.id, e), n.set(e.id, c), i.set(e.id, o++), a.set(y(e.codeKey, e.value), e.id);
|
|
16
|
+
let ee = (e.children ?? []).map((e) => e.id);
|
|
17
|
+
r.set(e.id, ee);
|
|
18
18
|
for (let t of e.children ?? []) s(t, e.id);
|
|
19
19
|
};
|
|
20
20
|
for (let t of e) s(t);
|
|
@@ -27,19 +27,19 @@ function x(e) {
|
|
|
27
27
|
nodeIdByCodeValue: a
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
|
-
function
|
|
31
|
-
if (e) return t.nodeIdByCodeValue.get(
|
|
30
|
+
function x(e, t) {
|
|
31
|
+
if (e) return t.nodeIdByCodeValue.get(y(e.codeKey, e.value));
|
|
32
32
|
}
|
|
33
|
-
function
|
|
33
|
+
function S(e, t) {
|
|
34
34
|
let n = /* @__PURE__ */ new Set();
|
|
35
35
|
if (!e) return n;
|
|
36
36
|
for (let [r, i] of Object.entries(e)) for (let e of i) {
|
|
37
|
-
let i = t.nodeIdByCodeValue.get(
|
|
37
|
+
let i = t.nodeIdByCodeValue.get(y(r, e));
|
|
38
38
|
i && n.add(i);
|
|
39
39
|
}
|
|
40
|
-
return
|
|
40
|
+
return O(n, t);
|
|
41
41
|
}
|
|
42
|
-
function
|
|
42
|
+
function C(e, t) {
|
|
43
43
|
let n = [...e].sort((e, n) => (t.preorderIndexById.get(e) ?? 2 ** 53 - 1) - (t.preorderIndexById.get(n) ?? 2 ** 53 - 1)), r = {};
|
|
44
44
|
for (let e of n) {
|
|
45
45
|
let n = t.nodeById.get(e);
|
|
@@ -47,12 +47,12 @@ function w(e, t) {
|
|
|
47
47
|
}
|
|
48
48
|
return r;
|
|
49
49
|
}
|
|
50
|
-
function
|
|
50
|
+
function w(e, t) {
|
|
51
51
|
let n = [], r = t.parentById.get(e);
|
|
52
52
|
for (; r;) n.push(r), r = t.parentById.get(r);
|
|
53
53
|
return n;
|
|
54
54
|
}
|
|
55
|
-
function
|
|
55
|
+
function T(e, t, n) {
|
|
56
56
|
let r = n.parentById.get(e);
|
|
57
57
|
for (; r;) {
|
|
58
58
|
if (r === t) return !0;
|
|
@@ -60,25 +60,25 @@ function E(e, t, n) {
|
|
|
60
60
|
}
|
|
61
61
|
return !1;
|
|
62
62
|
}
|
|
63
|
-
function
|
|
64
|
-
for (let r of [...e])
|
|
63
|
+
function E(e, t, n) {
|
|
64
|
+
for (let r of [...e]) T(r, t, n) && e.delete(r);
|
|
65
65
|
}
|
|
66
|
-
function
|
|
66
|
+
function D(e, t, n) {
|
|
67
67
|
if (t.has(e)) return !0;
|
|
68
68
|
let r = n.childrenById.get(e) ?? [];
|
|
69
|
-
return r.length === 0 ? !1 : r.every((e) =>
|
|
69
|
+
return r.length === 0 ? !1 : r.every((e) => D(e, t, n));
|
|
70
70
|
}
|
|
71
|
-
function
|
|
71
|
+
function O(e, t) {
|
|
72
72
|
let n = new Set(e);
|
|
73
|
-
for (let e of [...n])
|
|
73
|
+
for (let e of [...n]) w(e, t).some((e) => n.has(e)) && n.delete(e);
|
|
74
74
|
let r = [...t.nodeById.keys()].sort((e, n) => (t.preorderIndexById.get(n) ?? 0) - (t.preorderIndexById.get(e) ?? 0));
|
|
75
75
|
for (let e of r) {
|
|
76
76
|
let r = t.childrenById.get(e) ?? [];
|
|
77
|
-
r.length === 0 || n.has(e) || r.every((e) =>
|
|
77
|
+
r.length === 0 || n.has(e) || r.every((e) => D(e, n, t)) && (E(n, e, t), n.add(e));
|
|
78
78
|
}
|
|
79
79
|
return n;
|
|
80
80
|
}
|
|
81
|
-
function
|
|
81
|
+
function ie(e, t, n) {
|
|
82
82
|
let r = n.parentById.get(t);
|
|
83
83
|
for (; r;) {
|
|
84
84
|
if (e.has(r)) {
|
|
@@ -90,10 +90,10 @@ function re(e, t, n) {
|
|
|
90
90
|
}
|
|
91
91
|
return !1;
|
|
92
92
|
}
|
|
93
|
-
function
|
|
94
|
-
return t.has(e) ? !0 :
|
|
93
|
+
function ae(e, t, n) {
|
|
94
|
+
return t.has(e) ? !0 : w(e, n).some((e) => t.has(e));
|
|
95
95
|
}
|
|
96
|
-
function
|
|
96
|
+
function k(e, t, n, r) {
|
|
97
97
|
let i = n.childrenById.get(e) ?? [];
|
|
98
98
|
if (t.has(e)) return r.selectedIds.add(e), {
|
|
99
99
|
selected: !0,
|
|
@@ -103,7 +103,7 @@ function A(e, t, n, r) {
|
|
|
103
103
|
selected: !1,
|
|
104
104
|
partial: !1
|
|
105
105
|
};
|
|
106
|
-
let a = i.map((e) =>
|
|
106
|
+
let a = i.map((e) => k(e, t, n, r)), o = a.every((e) => e.selected && !e.partial), s = a.some((e) => e.selected || e.partial);
|
|
107
107
|
return o ? (r.selectedIds.add(e), {
|
|
108
108
|
selected: !0,
|
|
109
109
|
partial: !1
|
|
@@ -115,45 +115,45 @@ function A(e, t, n, r) {
|
|
|
115
115
|
partial: !1
|
|
116
116
|
};
|
|
117
117
|
}
|
|
118
|
-
function
|
|
118
|
+
function A(e, t) {
|
|
119
119
|
let n = {
|
|
120
120
|
selectedIds: /* @__PURE__ */ new Set(),
|
|
121
121
|
partialIds: /* @__PURE__ */ new Set()
|
|
122
122
|
};
|
|
123
|
-
for (let r of t.rootIds)
|
|
123
|
+
for (let r of t.rootIds) k(r, e, t, n);
|
|
124
124
|
return n;
|
|
125
125
|
}
|
|
126
|
-
function
|
|
127
|
-
let r =
|
|
128
|
-
if (
|
|
126
|
+
function j(e, t, n) {
|
|
127
|
+
let r = S(e, n), i = (e) => {
|
|
128
|
+
if (ae(e, r, n)) {
|
|
129
129
|
if (r.has(e)) {
|
|
130
130
|
r.delete(e);
|
|
131
131
|
return;
|
|
132
132
|
}
|
|
133
|
-
|
|
133
|
+
ie(r, e, n) && i(e);
|
|
134
134
|
return;
|
|
135
135
|
}
|
|
136
|
-
|
|
136
|
+
E(r, e, n), r.add(e);
|
|
137
137
|
};
|
|
138
|
-
return i(t),
|
|
138
|
+
return i(t), C(O(r, n), n);
|
|
139
139
|
}
|
|
140
|
-
function
|
|
140
|
+
function M(e, t, n) {
|
|
141
141
|
let r = t.parentById.get(e);
|
|
142
142
|
for (; r;) n.add(r), r = t.parentById.get(r);
|
|
143
143
|
}
|
|
144
|
-
function
|
|
144
|
+
function oe(e, t) {
|
|
145
145
|
let n = /* @__PURE__ */ new Set();
|
|
146
|
-
for (let r of e)
|
|
146
|
+
for (let r of e) M(r, t, n);
|
|
147
147
|
return n;
|
|
148
148
|
}
|
|
149
|
-
function
|
|
150
|
-
let r = (e.children ?? []).map((e) =>
|
|
149
|
+
function N(e, t, n) {
|
|
150
|
+
let r = (e.children ?? []).map((e) => N(e, t, n)).filter((e) => !!e);
|
|
151
151
|
return !e.searchText.toLowerCase().includes(t) && r.length === 0 ? null : (r.length > 0 && n.add(e.id), r.length === 0 ? e : {
|
|
152
152
|
...e,
|
|
153
153
|
children: r
|
|
154
154
|
});
|
|
155
155
|
}
|
|
156
|
-
function
|
|
156
|
+
function se(e, t) {
|
|
157
157
|
let n = t.trim().toLowerCase();
|
|
158
158
|
if (!n) return {
|
|
159
159
|
nodes: [...e],
|
|
@@ -161,11 +161,11 @@ function oe(e, t) {
|
|
|
161
161
|
};
|
|
162
162
|
let r = /* @__PURE__ */ new Set();
|
|
163
163
|
return {
|
|
164
|
-
nodes: e.map((e) =>
|
|
164
|
+
nodes: e.map((e) => N(e, n, r)).filter((e) => !!e),
|
|
165
165
|
expandedIds: r
|
|
166
166
|
};
|
|
167
167
|
}
|
|
168
|
-
function
|
|
168
|
+
function ce(e, t) {
|
|
169
169
|
let n = [], r = (e, i, a) => {
|
|
170
170
|
let o = (e.children?.length ?? 0) > 0, s = o && t.has(e.id);
|
|
171
171
|
if (n.push({
|
|
@@ -180,7 +180,7 @@ function se(e, t) {
|
|
|
180
180
|
for (let t of e) r(t, 0);
|
|
181
181
|
return n;
|
|
182
182
|
}
|
|
183
|
-
var
|
|
183
|
+
var P = {
|
|
184
184
|
treeRow: "eMqOwq",
|
|
185
185
|
treeRowSelected: "JKstO-",
|
|
186
186
|
treeRowActive: "hKgr8e",
|
|
@@ -202,33 +202,33 @@ var F = {
|
|
|
202
202
|
};
|
|
203
203
|
//#endregion
|
|
204
204
|
//#region src/tree-select/TreeNodeContent.tsx
|
|
205
|
-
function
|
|
206
|
-
return /* @__PURE__ */
|
|
207
|
-
/* @__PURE__ */
|
|
208
|
-
className:
|
|
205
|
+
function le({ node: e, level: t, highlight: n, hasChildren: r, isExpanded: i, selected: a, partial: o, selectionMode: s, onToggleExpand: c }) {
|
|
206
|
+
return /* @__PURE__ */ g(m, { children: [
|
|
207
|
+
/* @__PURE__ */ h("span", {
|
|
208
|
+
className: P.treeIndent,
|
|
209
209
|
style: { "--tree-level": t },
|
|
210
210
|
"aria-hidden": "true"
|
|
211
211
|
}),
|
|
212
|
-
r ? /* @__PURE__ */
|
|
212
|
+
r ? /* @__PURE__ */ h("button", {
|
|
213
213
|
type: "button",
|
|
214
|
-
className:
|
|
214
|
+
className: P.treeExpander,
|
|
215
215
|
onClick: (e) => {
|
|
216
216
|
e.stopPropagation(), c?.();
|
|
217
217
|
},
|
|
218
218
|
"aria-label": i ? "Свернуть ветку" : "Развернуть ветку",
|
|
219
219
|
"data-ui": "tree-select-expander",
|
|
220
220
|
"data-action": i ? "collapse-tree-select-node" : "expand-tree-select-node",
|
|
221
|
-
children: /* @__PURE__ */
|
|
222
|
-
}) : /* @__PURE__ */
|
|
223
|
-
className:
|
|
221
|
+
children: /* @__PURE__ */ h(f, { className: u(P.treeExpanderIcon, i && P.treeExpanderIconExpanded) })
|
|
222
|
+
}) : /* @__PURE__ */ h("span", {
|
|
223
|
+
className: P.treeExpanderPlaceholder,
|
|
224
224
|
"aria-hidden": "true"
|
|
225
225
|
}),
|
|
226
|
-
s === "multi" && /* @__PURE__ */
|
|
227
|
-
className:
|
|
226
|
+
s === "multi" && /* @__PURE__ */ h("span", {
|
|
227
|
+
className: u(P.treeSelection, a && P.treeSelectionChecked, o && P.treeSelectionPartial),
|
|
228
228
|
"aria-hidden": "true",
|
|
229
|
-
children: a ? /* @__PURE__ */
|
|
229
|
+
children: a ? /* @__PURE__ */ h(d, { className: P.treeSelectionIcon }) : o ? /* @__PURE__ */ h(p, { className: P.treeSelectionIcon }) : null
|
|
230
230
|
}),
|
|
231
|
-
/* @__PURE__ */
|
|
231
|
+
/* @__PURE__ */ h(l, {
|
|
232
232
|
label: e.label,
|
|
233
233
|
code: e.code,
|
|
234
234
|
highlight: n
|
|
@@ -237,96 +237,96 @@ function ce({ node: e, level: t, highlight: n, hasChildren: r, isExpanded: i, se
|
|
|
237
237
|
}
|
|
238
238
|
//#endregion
|
|
239
239
|
//#region src/tree-select/TreePickerBase.tsx
|
|
240
|
-
function
|
|
241
|
-
let
|
|
240
|
+
function F({ label: l, description: d, disabled: f, placeholder: p, size: y, nodes: x, selectedIds: S, partialIds: C, selectionMode: w, triggerMode: T = "display", selectedSummary: E, selectedSummaryText: D, query: O, defaultQuery: ie, onQuery: ae, onNodeActivate: k, onClearSelection: A, isLoading: j, error: M }) {
|
|
241
|
+
let N = v(null), F = v(!1), [I, ue] = re(() => /* @__PURE__ */ new Set()), L = T === "search" ? "search-single" : "display", R = _(() => b(x), [x]), { query: z, setQuery: B } = s({
|
|
242
242
|
open: !0,
|
|
243
|
-
query:
|
|
244
|
-
defaultQuery:
|
|
245
|
-
onQuery:
|
|
243
|
+
query: O,
|
|
244
|
+
defaultQuery: ie,
|
|
245
|
+
onQuery: ae,
|
|
246
246
|
triggerMode: "display"
|
|
247
|
-
}), { nodes:
|
|
248
|
-
...
|
|
249
|
-
...
|
|
250
|
-
...
|
|
247
|
+
}), { nodes: V, expandedIds: H } = _(() => se(x, z), [x, z]), U = _(() => oe(S, R), [S, R]), W = _(() => /* @__PURE__ */ new Set([
|
|
248
|
+
...I,
|
|
249
|
+
...H,
|
|
250
|
+
...U
|
|
251
251
|
]), [
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
]),
|
|
256
|
-
options:
|
|
257
|
-
selectedIndex:
|
|
258
|
-
onSelect: (e) =>
|
|
259
|
-
disabled: f ||
|
|
260
|
-
closeOnSelect:
|
|
252
|
+
I,
|
|
253
|
+
H,
|
|
254
|
+
U
|
|
255
|
+
]), G = _(() => ce(V, W), [V, W]), { open: K, activeIndex: q, context: de, floatingStyles: fe, getFloatingProps: pe, setReference: me, setFloating: he, setOptionRef: ge, close: J, openList: _e, toggleOpen: ve, selectOption: Y, handleReferenceKeyDown: ye, handleFloatingKeyDown: be, getOptionId: xe, getActiveOptionId: Se } = a({
|
|
256
|
+
options: G,
|
|
257
|
+
selectedIndex: _(() => G.findIndex((e) => S.has(e.node.id)), [S, G]),
|
|
258
|
+
onSelect: (e) => k(e.node),
|
|
259
|
+
disabled: f || j,
|
|
260
|
+
closeOnSelect: w === "single",
|
|
261
261
|
allowOpenWithoutOptions: !0,
|
|
262
|
-
triggerMode:
|
|
263
|
-
}), X =
|
|
264
|
-
mode:
|
|
265
|
-
open:
|
|
266
|
-
currentQuery:
|
|
267
|
-
hasDisplayValue: !!
|
|
268
|
-
inputRef:
|
|
269
|
-
setQuery:
|
|
270
|
-
openList:
|
|
271
|
-
close:
|
|
272
|
-
toggleOpen:
|
|
262
|
+
triggerMode: L
|
|
263
|
+
}), X = S.size > 0, Z = T === "search" && (K || z.length > 0), Ce = Z ? z : D ?? "", Q = T === "display" && !!E, $ = c({
|
|
264
|
+
mode: L,
|
|
265
|
+
open: K,
|
|
266
|
+
currentQuery: z,
|
|
267
|
+
hasDisplayValue: !!D,
|
|
268
|
+
inputRef: N,
|
|
269
|
+
setQuery: B,
|
|
270
|
+
openList: _e,
|
|
271
|
+
close: J,
|
|
272
|
+
toggleOpen: ve
|
|
273
273
|
});
|
|
274
|
-
|
|
275
|
-
|
|
274
|
+
ne(() => {
|
|
275
|
+
F.current && !K && $.policy.resetQueryOnClose && B(""), F.current = K;
|
|
276
276
|
}, [
|
|
277
|
-
|
|
278
|
-
|
|
277
|
+
K,
|
|
278
|
+
B,
|
|
279
279
|
$.policy.resetQueryOnClose
|
|
280
280
|
]);
|
|
281
281
|
let we = (e) => {
|
|
282
|
-
|
|
282
|
+
N.current = e;
|
|
283
283
|
}, Te = () => {
|
|
284
|
-
|
|
284
|
+
A?.(), B(""), J();
|
|
285
285
|
}, Ee = (e) => {
|
|
286
|
-
e.hasChildren &&
|
|
286
|
+
e.hasChildren && ue((t) => {
|
|
287
287
|
let n = new Set(t);
|
|
288
288
|
return n.has(e.node.id) ? n.delete(e.node.id) : n.add(e.node.id), n;
|
|
289
289
|
});
|
|
290
290
|
};
|
|
291
|
-
return /* @__PURE__ */
|
|
292
|
-
label:
|
|
291
|
+
return /* @__PURE__ */ h(i, {
|
|
292
|
+
label: l,
|
|
293
293
|
description: d,
|
|
294
294
|
disabled: f,
|
|
295
295
|
placeholder: p,
|
|
296
|
-
size:
|
|
296
|
+
size: y,
|
|
297
297
|
children: ({ controlId: i, labelId: a, describedBy: s }) => {
|
|
298
298
|
let c = `${i}-listbox`;
|
|
299
|
-
return /* @__PURE__ */
|
|
299
|
+
return /* @__PURE__ */ g(m, { children: [/* @__PURE__ */ h(n, {
|
|
300
300
|
ref: we,
|
|
301
|
-
rootRef:
|
|
301
|
+
rootRef: me,
|
|
302
302
|
id: i,
|
|
303
303
|
type: "text",
|
|
304
304
|
role: "combobox",
|
|
305
305
|
autoComplete: "off",
|
|
306
|
-
disabled: f ||
|
|
307
|
-
readOnly:
|
|
308
|
-
value:
|
|
309
|
-
placeholder:
|
|
306
|
+
disabled: f || j,
|
|
307
|
+
readOnly: T !== "search",
|
|
308
|
+
value: T === "display" && Q ? "" : Ce,
|
|
309
|
+
placeholder: T === "search" ? !D || Z ? p : void 0 : X ? void 0 : p,
|
|
310
310
|
"aria-labelledby": a,
|
|
311
311
|
"aria-describedby": s,
|
|
312
312
|
"aria-haspopup": "listbox",
|
|
313
|
-
"aria-expanded":
|
|
314
|
-
"aria-controls":
|
|
315
|
-
"aria-autocomplete":
|
|
316
|
-
"aria-activedescendant":
|
|
317
|
-
inputClassName:
|
|
318
|
-
overlay: Q ? /* @__PURE__ */
|
|
319
|
-
className:
|
|
320
|
-
children:
|
|
313
|
+
"aria-expanded": K,
|
|
314
|
+
"aria-controls": K ? c : void 0,
|
|
315
|
+
"aria-autocomplete": T === "search" ? "list" : "none",
|
|
316
|
+
"aria-activedescendant": K && G.length > 0 ? Se(c) : void 0,
|
|
317
|
+
inputClassName: u(X && P.treeSummary, Q && P.inputWithOverlay),
|
|
318
|
+
overlay: Q ? /* @__PURE__ */ h("div", {
|
|
319
|
+
className: P.valueOverlay,
|
|
320
|
+
children: E
|
|
321
321
|
}) : void 0,
|
|
322
|
-
endAdornment: /* @__PURE__ */
|
|
323
|
-
open:
|
|
324
|
-
disabled: f ||
|
|
322
|
+
endAdornment: /* @__PURE__ */ h(o, {
|
|
323
|
+
open: K,
|
|
324
|
+
disabled: f || j,
|
|
325
325
|
onToggleMouseDown: $.handleToggleMouseDown,
|
|
326
326
|
onToggleClick: $.handleToggleClick,
|
|
327
|
-
children: X &&
|
|
327
|
+
children: X && A ? /* @__PURE__ */ h("button", {
|
|
328
328
|
type: "button",
|
|
329
|
-
className:
|
|
329
|
+
className: P.treeClearButton,
|
|
330
330
|
onMouseDown: (e) => {
|
|
331
331
|
e.preventDefault(), e.stopPropagation();
|
|
332
332
|
},
|
|
@@ -334,11 +334,11 @@ function I({ label: u, description: d, disabled: f, placeholder: p, size: b, nod
|
|
|
334
334
|
e.preventDefault(), e.stopPropagation(), Te();
|
|
335
335
|
},
|
|
336
336
|
"aria-label": "Очистить выбор",
|
|
337
|
-
children: /* @__PURE__ */
|
|
337
|
+
children: /* @__PURE__ */ h(te, {})
|
|
338
338
|
}) : null
|
|
339
339
|
}),
|
|
340
340
|
onChange: (e) => {
|
|
341
|
-
|
|
341
|
+
T === "search" && $.handleTriggerInputChange(e.target.value);
|
|
342
342
|
},
|
|
343
343
|
onClick: $.handleTriggerClick,
|
|
344
344
|
onFocus: (e) => {
|
|
@@ -348,28 +348,28 @@ function I({ label: u, description: d, disabled: f, placeholder: p, size: b, nod
|
|
|
348
348
|
ye(e), !e.defaultPrevented && $.handleTriggerKeyDown({
|
|
349
349
|
event: e,
|
|
350
350
|
onActivateWhenOpen: () => {
|
|
351
|
-
let e =
|
|
352
|
-
e &&
|
|
351
|
+
let e = q >= 0 ? G[q] : void 0;
|
|
352
|
+
e && Y(e);
|
|
353
353
|
},
|
|
354
|
-
enableSpaceActivation:
|
|
354
|
+
enableSpaceActivation: T === "display"
|
|
355
355
|
});
|
|
356
356
|
}
|
|
357
|
-
}), /* @__PURE__ */
|
|
358
|
-
open:
|
|
359
|
-
context:
|
|
360
|
-
floatingStyles:
|
|
357
|
+
}), /* @__PURE__ */ h(r, {
|
|
358
|
+
open: K,
|
|
359
|
+
context: de,
|
|
360
|
+
floatingStyles: fe,
|
|
361
361
|
listId: c,
|
|
362
362
|
labelId: a,
|
|
363
363
|
descriptionId: s,
|
|
364
|
-
activeOptionId:
|
|
365
|
-
setFloating:
|
|
366
|
-
getFloatingProps:
|
|
364
|
+
activeOptionId: G.length > 0 ? Se(c) : void 0,
|
|
365
|
+
setFloating: he,
|
|
366
|
+
getFloatingProps: pe,
|
|
367
367
|
onKeyDown: be,
|
|
368
|
-
className:
|
|
369
|
-
header:
|
|
370
|
-
value:
|
|
371
|
-
onChange:
|
|
372
|
-
onClear: () =>
|
|
368
|
+
className: u(e.uiPopupOptions, "scrollable"),
|
|
369
|
+
header: T === "display" ? /* @__PURE__ */ h(t, {
|
|
370
|
+
value: z,
|
|
371
|
+
onChange: B,
|
|
372
|
+
onClear: () => B(""),
|
|
373
373
|
placeholder: "Поиск по дереву",
|
|
374
374
|
onKeyDown: (e) => {
|
|
375
375
|
e.key !== "Escape" && e.key !== "Tab" && e.stopPropagation();
|
|
@@ -378,35 +378,35 @@ function I({ label: u, description: d, disabled: f, placeholder: p, size: b, nod
|
|
|
378
378
|
e.stopPropagation();
|
|
379
379
|
}
|
|
380
380
|
}) : void 0,
|
|
381
|
-
children: /* @__PURE__ */
|
|
381
|
+
children: /* @__PURE__ */ h("div", {
|
|
382
382
|
className: "",
|
|
383
|
-
children:
|
|
384
|
-
errorState:
|
|
385
|
-
loadingState:
|
|
386
|
-
emptyState: !
|
|
387
|
-
}) :
|
|
388
|
-
let n =
|
|
389
|
-
return /* @__PURE__ */
|
|
383
|
+
children: G.length === 0 ? /* @__PURE__ */ h(ee, {
|
|
384
|
+
errorState: M,
|
|
385
|
+
loadingState: j ? "Загрузка..." : void 0,
|
|
386
|
+
emptyState: !M && !j ? "Нет данных" : void 0
|
|
387
|
+
}) : G.map((e, t) => {
|
|
388
|
+
let n = S.has(e.node.id), r = !n && C.has(e.node.id), i = t === q;
|
|
389
|
+
return /* @__PURE__ */ h("div", {
|
|
390
390
|
id: xe(c, t),
|
|
391
|
-
ref: (e) =>
|
|
391
|
+
ref: (e) => ge(t, e),
|
|
392
392
|
role: "option",
|
|
393
393
|
"aria-selected": n,
|
|
394
|
-
className:
|
|
394
|
+
className: u(P.treeRow, i && P.treeRowActive, n && P.treeRowSelected),
|
|
395
395
|
onMouseDown: (e) => {
|
|
396
396
|
e.preventDefault();
|
|
397
397
|
},
|
|
398
|
-
onClick: () =>
|
|
399
|
-
children: /* @__PURE__ */
|
|
400
|
-
className:
|
|
401
|
-
children: /* @__PURE__ */
|
|
398
|
+
onClick: () => Y(e),
|
|
399
|
+
children: /* @__PURE__ */ h("div", {
|
|
400
|
+
className: P.treeNodeButton,
|
|
401
|
+
children: /* @__PURE__ */ h(le, {
|
|
402
402
|
node: e.node,
|
|
403
403
|
level: e.level,
|
|
404
|
-
highlight:
|
|
404
|
+
highlight: z,
|
|
405
405
|
hasChildren: e.hasChildren,
|
|
406
406
|
isExpanded: e.isExpanded,
|
|
407
407
|
selected: n,
|
|
408
408
|
partial: r,
|
|
409
|
-
selectionMode:
|
|
409
|
+
selectionMode: w,
|
|
410
410
|
onToggleExpand: () => Ee(e)
|
|
411
411
|
})
|
|
412
412
|
})
|
|
@@ -418,6 +418,6 @@ function I({ label: u, description: d, disabled: f, placeholder: p, size: b, nod
|
|
|
418
418
|
});
|
|
419
419
|
}
|
|
420
420
|
//#endregion
|
|
421
|
-
export {
|
|
421
|
+
export { S as a, j as i, b as n, x as o, A as r, F as t };
|
|
422
422
|
|
|
423
|
-
//# sourceMappingURL=TreePickerBase-
|
|
423
|
+
//# sourceMappingURL=TreePickerBase-qNHIWbYL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TreePickerBase-qNHIWbYL.js","names":[],"sources":["../../src/tree-select/model/treeUtils.ts","../../src/tree-select/TreeSelect.module.scss","../../src/tree-select/TreeNodeContent.tsx","../../src/tree-select/TreePickerBase.tsx"],"sourcesContent":["import { TreeMultiSelectValue, TreeSelectNode, TreeSelectValue } from \"../types\";\n\nexport type TreeNodeIndex = {\n\trootIds: string[];\n\tnodeById: Map<string, TreeSelectNode>;\n\tparentById: Map<string, string | undefined>;\n\tchildrenById: Map<string, string[]>;\n\tpreorderIndexById: Map<string, number>;\n\tnodeIdByCodeValue: Map<string, string>;\n};\n\nexport type TreeNodeSelectionState = {\n\tselectedIds: Set<string>;\n\tpartialIds: Set<string>;\n};\n\nexport type TreeVisibleEntry = {\n\tnode: TreeSelectNode;\n\tlevel: number;\n\tparentId?: string;\n\thasChildren: boolean;\n\tisExpanded: boolean;\n\tisLeaf: boolean;\n};\n\nfunction makeCodeValueKey(codeKey: string, value: string) {\n\treturn `${codeKey}::${value}`;\n}\n\nexport function createTreeNodeIndex(nodes: readonly TreeSelectNode[]): TreeNodeIndex {\n\tconst nodeById = new Map<string, TreeSelectNode>();\n\tconst parentById = new Map<string, string | undefined>();\n\tconst childrenById = new Map<string, string[]>();\n\tconst preorderIndexById = new Map<string, number>();\n\tconst nodeIdByCodeValue = new Map<string, string>();\n\tlet preorderIndex = 0;\n\n\tconst walk = (node: TreeSelectNode, parentId?: string) => {\n\t\tnodeById.set(node.id, node);\n\t\tparentById.set(node.id, parentId);\n\t\tpreorderIndexById.set(node.id, preorderIndex++);\n\t\tnodeIdByCodeValue.set(makeCodeValueKey(node.codeKey, node.value), node.id);\n\n\t\tconst childIds = (node.children ?? []).map((child) => child.id);\n\t\tchildrenById.set(node.id, childIds);\n\n\t\tfor (const child of node.children ?? []) {\n\t\t\twalk(child, node.id);\n\t\t}\n\t};\n\n\tfor (const node of nodes) {\n\t\twalk(node);\n\t}\n\n\treturn {\n\t\trootIds: nodes.map((node) => node.id),\n\t\tnodeById,\n\t\tparentById,\n\t\tchildrenById,\n\t\tpreorderIndexById,\n\t\tnodeIdByCodeValue\n\t};\n}\n\nexport function treeSelectValueToId(value: TreeSelectValue | undefined, index: TreeNodeIndex) {\n\tif (!value) return undefined;\n\treturn index.nodeIdByCodeValue.get(makeCodeValueKey(value.codeKey, value.value));\n}\n\nexport function treeMultiValueToSelectedIds(value: TreeMultiSelectValue | undefined, index: TreeNodeIndex) {\n\tconst selectedIds = new Set<string>();\n\n\tif (!value) {\n\t\treturn selectedIds;\n\t}\n\n\tfor (const [codeKey, values] of Object.entries(value)) {\n\t\tfor (const itemValue of values) {\n\t\t\tconst nodeId = index.nodeIdByCodeValue.get(makeCodeValueKey(codeKey, itemValue));\n\t\t\tif (nodeId) {\n\t\t\t\tselectedIds.add(nodeId);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn canonicalizeTreeSelection(selectedIds, index);\n}\n\nexport function treeSelectedIdsToMultiValue(selectedIds: Set<string>, index: TreeNodeIndex): TreeMultiSelectValue {\n\tconst orderedIds = [...selectedIds].sort(\n\t\t(leftId, rightId) =>\n\t\t\t(index.preorderIndexById.get(leftId) ?? Number.MAX_SAFE_INTEGER) -\n\t\t\t(index.preorderIndexById.get(rightId) ?? Number.MAX_SAFE_INTEGER)\n\t);\n\tconst result: TreeMultiSelectValue = {};\n\n\tfor (const nodeId of orderedIds) {\n\t\tconst node = index.nodeById.get(nodeId);\n\t\tif (!node) continue;\n\n\t\tresult[node.codeKey] = result[node.codeKey] ?? [];\n\t\tresult[node.codeKey].push(node.value);\n\t}\n\n\treturn result;\n}\n\nexport function treeSelectValueToMultiValue(value: TreeSelectValue | undefined): TreeMultiSelectValue {\n\tif (!value) {\n\t\treturn {};\n\t}\n\n\treturn {\n\t\t[value.codeKey]: [value.value]\n\t};\n}\n\nfunction getAncestorIds(nodeId: string, index: TreeNodeIndex) {\n\tconst ancestors: string[] = [];\n\tlet currentId = index.parentById.get(nodeId);\n\n\twhile (currentId) {\n\t\tancestors.push(currentId);\n\t\tcurrentId = index.parentById.get(currentId);\n\t}\n\n\treturn ancestors;\n}\n\nfunction isDescendantOf(nodeId: string, ancestorId: string, index: TreeNodeIndex) {\n\tlet currentId = index.parentById.get(nodeId);\n\n\twhile (currentId) {\n\t\tif (currentId === ancestorId) {\n\t\t\treturn true;\n\t\t}\n\n\t\tcurrentId = index.parentById.get(currentId);\n\t}\n\n\treturn false;\n}\n\nfunction removeDescendantSelections(selectedIds: Set<string>, nodeId: string, index: TreeNodeIndex) {\n\tfor (const selectedId of [...selectedIds]) {\n\t\tif (isDescendantOf(selectedId, nodeId, index)) {\n\t\t\tselectedIds.delete(selectedId);\n\t\t}\n\t}\n}\n\nfunction isNodeFullySelected(nodeId: string, selectedIds: Set<string>, index: TreeNodeIndex): boolean {\n\tif (selectedIds.has(nodeId)) {\n\t\treturn true;\n\t}\n\n\tconst children = index.childrenById.get(nodeId) ?? [];\n\tif (children.length === 0) {\n\t\treturn false;\n\t}\n\n\treturn children.every((childId) => isNodeFullySelected(childId, selectedIds, index));\n}\n\nexport function canonicalizeTreeSelection(selectedIds: Set<string>, index: TreeNodeIndex) {\n\tconst nextSelectedIds = new Set(selectedIds);\n\n\tfor (const selectedId of [...nextSelectedIds]) {\n\t\tif (getAncestorIds(selectedId, index).some((ancestorId) => nextSelectedIds.has(ancestorId))) {\n\t\t\tnextSelectedIds.delete(selectedId);\n\t\t}\n\t}\n\n\tconst orderedNodeIds = [...index.nodeById.keys()].sort(\n\t\t(leftId, rightId) => (index.preorderIndexById.get(rightId) ?? 0) - (index.preorderIndexById.get(leftId) ?? 0)\n\t);\n\n\tfor (const nodeId of orderedNodeIds) {\n\t\tconst children = index.childrenById.get(nodeId) ?? [];\n\n\t\tif (children.length === 0 || nextSelectedIds.has(nodeId)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (children.every((childId) => isNodeFullySelected(childId, nextSelectedIds, index))) {\n\t\t\tremoveDescendantSelections(nextSelectedIds, nodeId, index);\n\t\t\tnextSelectedIds.add(nodeId);\n\t\t}\n\t}\n\n\treturn nextSelectedIds;\n}\n\nfunction expandNearestSelectedAncestor(selectedIds: Set<string>, nodeId: string, index: TreeNodeIndex) {\n\tlet currentId = index.parentById.get(nodeId);\n\n\twhile (currentId) {\n\t\tif (selectedIds.has(currentId)) {\n\t\t\tselectedIds.delete(currentId);\n\n\t\t\tfor (const childId of index.childrenById.get(currentId) ?? []) {\n\t\t\t\tselectedIds.add(childId);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t}\n\n\t\tcurrentId = index.parentById.get(currentId);\n\t}\n\n\treturn false;\n}\n\nexport function isTreeNodeSelected(nodeId: string, selectedIds: Set<string>, index: TreeNodeIndex): boolean {\n\tif (selectedIds.has(nodeId)) {\n\t\treturn true;\n\t}\n\n\treturn getAncestorIds(nodeId, index).some((ancestorId) => selectedIds.has(ancestorId));\n}\n\nfunction resolveTreeSelectionState(nodeId: string, selectedIds: Set<string>, index: TreeNodeIndex, state: TreeNodeSelectionState) {\n\tconst children = index.childrenById.get(nodeId) ?? [];\n\n\tif (selectedIds.has(nodeId)) {\n\t\tstate.selectedIds.add(nodeId);\n\t\treturn { selected: true, partial: false };\n\t}\n\n\tif (children.length === 0) {\n\t\treturn { selected: false, partial: false };\n\t}\n\n\tconst childStates = children.map((childId) => resolveTreeSelectionState(childId, selectedIds, index, state));\n\tconst allSelected = childStates.every((childState) => childState.selected && !childState.partial);\n\tconst hasAnySelected = childStates.some((childState) => childState.selected || childState.partial);\n\n\tif (allSelected) {\n\t\tstate.selectedIds.add(nodeId);\n\t\treturn { selected: true, partial: false };\n\t}\n\n\tif (hasAnySelected) {\n\t\tstate.partialIds.add(nodeId);\n\t\treturn { selected: false, partial: true };\n\t}\n\n\treturn { selected: false, partial: false };\n}\n\nexport function getTreeNodeSelectionState(selectedIds: Set<string>, index: TreeNodeIndex): TreeNodeSelectionState {\n\tconst state: TreeNodeSelectionState = {\n\t\tselectedIds: new Set(),\n\t\tpartialIds: new Set()\n\t};\n\n\tfor (const rootId of index.rootIds) {\n\t\tresolveTreeSelectionState(rootId, selectedIds, index, state);\n\t}\n\n\treturn state;\n}\n\nexport function toggleTreeMultiSelection(currentValue: TreeMultiSelectValue | undefined, targetNodeId: string, index: TreeNodeIndex) {\n\tconst selectedIds = treeMultiValueToSelectedIds(currentValue, index);\n\n\tconst toggle = (targetId: string) => {\n\t\tif (isTreeNodeSelected(targetId, selectedIds, index)) {\n\t\t\tif (selectedIds.has(targetId)) {\n\t\t\t\tselectedIds.delete(targetId);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (expandNearestSelectedAncestor(selectedIds, targetId, index)) {\n\t\t\t\ttoggle(targetId);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tremoveDescendantSelections(selectedIds, targetId, index);\n\t\tselectedIds.add(targetId);\n\t};\n\n\ttoggle(targetNodeId);\n\n\treturn treeSelectedIdsToMultiValue(canonicalizeTreeSelection(selectedIds, index), index);\n}\n\nfunction collectExpandedIds(nodeId: string, index: TreeNodeIndex, expandedIds: Set<string>) {\n\tlet currentId = index.parentById.get(nodeId);\n\n\twhile (currentId) {\n\t\texpandedIds.add(currentId);\n\t\tcurrentId = index.parentById.get(currentId);\n\t}\n}\n\nexport function getSelectionExpandedIds(selectedIds: Set<string>, index: TreeNodeIndex) {\n\tconst expandedIds = new Set<string>();\n\n\tfor (const selectedId of selectedIds) {\n\t\tcollectExpandedIds(selectedId, index, expandedIds);\n\t}\n\n\treturn expandedIds;\n}\n\nfunction filterTreeNode(node: TreeSelectNode, normalizedQuery: string, expandedIds: Set<string>): TreeSelectNode | null {\n\tconst filteredChildren = (node.children ?? [])\n\t\t.map((childNode) => filterTreeNode(childNode, normalizedQuery, expandedIds))\n\t\t.filter((childNode): childNode is TreeSelectNode => Boolean(childNode));\n\tconst isMatched = node.searchText.toLowerCase().includes(normalizedQuery);\n\n\tif (!isMatched && filteredChildren.length === 0) {\n\t\treturn null;\n\t}\n\n\tif (filteredChildren.length > 0) {\n\t\texpandedIds.add(node.id);\n\t}\n\n\tif (filteredChildren.length === 0) {\n\t\treturn node;\n\t}\n\n\treturn {\n\t\t...node,\n\t\tchildren: filteredChildren\n\t};\n}\n\nexport function filterTreeNodes(nodes: readonly TreeSelectNode[], query: string) {\n\tconst normalizedQuery = query.trim().toLowerCase();\n\n\tif (!normalizedQuery) {\n\t\treturn {\n\t\t\tnodes: [...nodes],\n\t\t\texpandedIds: new Set<string>()\n\t\t};\n\t}\n\n\tconst expandedIds = new Set<string>();\n\tconst filteredNodes = nodes\n\t\t.map((node) => filterTreeNode(node, normalizedQuery, expandedIds))\n\t\t.filter((node): node is TreeSelectNode => Boolean(node));\n\n\treturn {\n\t\tnodes: filteredNodes,\n\t\texpandedIds\n\t};\n}\n\nexport function flattenVisibleTreeNodes(nodes: readonly TreeSelectNode[], expandedIds: Set<string>): TreeVisibleEntry[] {\n\tconst entries: TreeVisibleEntry[] = [];\n\n\tconst walk = (node: TreeSelectNode, level: number, parentId?: string) => {\n\t\tconst hasChildren = (node.children?.length ?? 0) > 0;\n\t\tconst isExpanded = hasChildren && expandedIds.has(node.id);\n\n\t\tentries.push({\n\t\t\tnode,\n\t\t\tlevel,\n\t\t\tparentId,\n\t\t\thasChildren,\n\t\t\tisExpanded,\n\t\t\tisLeaf: !hasChildren\n\t\t});\n\n\t\tif (!isExpanded) {\n\t\t\treturn;\n\t\t}\n\n\t\tfor (const childNode of node.children ?? []) {\n\t\t\twalk(childNode, level + 1, node.id);\n\t\t}\n\t};\n\n\tfor (const node of nodes) {\n\t\twalk(node, 0);\n\t}\n\n\treturn entries;\n}\n","@use \"@/styles/mixins\" as *;\n\n// .uiOptionRow\n.treeRow {\n\tdisplay: flex;\n\talign-items: stretch;\n\tborder-radius: var(--radius-sm);\n\tcursor: pointer;\n\n\t&:focus {\n\t\t@include focusVisible;\n\n\t\tbackground-color: var(--surface-accent);\n\t\tborder-color: var(--border-1);\n\t\tcursor: pointer;\n\t}\n\n\t&:hover {\n\t\tbackground-color: var(--surface-accent);\n\t\tcursor: pointer;\n\t}\n}\n\n// .uiOptionRowSelected\n.treeRowSelected {\n\tbackground-color: var(--surface-2);\n\tcolor: var(--content-accent);\n\tcursor: default;\n}\n\n// .uiOptionRowActive\n.treeRowActive {\n\tbackground-color: var(--surface-1);\n}\n\n.treeNodeButton {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: var(--space-xs);\n\twidth: 100%;\n\tpadding: var(--space-xs) var(--space-xs) var(--space-xs) 0;\n\tbackground: transparent;\n\ttext-align: left;\n\tborder-radius: var(--radius-sm);\n}\n\n.treeIndent {\n\tflex-shrink: 0;\n\twidth: calc(var(--tree-level) * 1em);\n}\n\n.treeExpander,\n.treeExpanderPlaceholder {\n\tflex-shrink: 0;\n\twidth: 1.5em;\n\theight: 1.5em;\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.treeExpander {\n\tbackground: transparent;\n\tborder: none;\n\tborder-radius: var(--radius-sm);\n\tcolor: var(--content-2);\n\n\t&:hover {\n\t\tcolor: var(--content-0);\n\t\tbackground-color: var(--surface-0);\n\t}\n}\n\n.treeExpanderIcon {\n\ttransition: transform var(--transition-fast) ease;\n}\n\n.treeExpanderIconExpanded {\n\ttransform: rotate(90deg);\n}\n\n.treeSelection {\n\tflex-shrink: 0;\n\twidth: 1em;\n\theight: 1em;\n\tborder: var(--border);\n\tborder-radius: var(--radius-xs);\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbackground-color: var(--surface-0);\n\tcolor: transparent;\n}\n\n.treeSelectionChecked {\n\tbackground-color: var(--status-info-text);\n\tborder-color: var(--status-info-text);\n\tcolor: var(--white);\n\n\t// outline: 1px dashed rgb(255, 100, 141);\n\t// outline-offset: -1px;\n}\n\n.treeSelectionPartial {\n\tbackground-color: var(--surface-1);\n\tborder-color: var(--status-info-text);\n\tcolor: var(--status-info-text);\n}\n\n.treeSelectionIcon {\n\twidth: 0.75rem;\n\theight: 0.75rem;\n}\n\n.treeSummary {\n\tpadding-right: calc(var(--control-height) * 2);\n}\n\n.inputWithOverlay {\n\tcolor: transparent;\n\tcaret-color: transparent;\n}\n\n.valueOverlay {\n\tposition: absolute;\n\tinset: 0 calc(var(--control-height) * 2) 0 var(--space-md);\n\tdisplay: flex;\n\talign-items: center;\n\tpointer-events: none;\n\toverflow: hidden;\n}\n\n.treeActions {\n\tposition: absolute;\n\tright: 0;\n\ttop: 0;\n\theight: 100%;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.treeClearButton {\n\tcolor: var(--status-error-text);\n}\n","import { CSSProperties } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { CheckIcon, ChevronRightIcon, MinusIcon } from \"lucide-react\";\n\nimport { SelectOptionContent } from \"../select/SelectOptionContent\";\n\nimport styles from \"./TreeSelect.module.scss\";\nimport { TreeSelectNode } from \"./types\";\n\ntype TreeNodeContentProps = {\n\tnode: TreeSelectNode;\n\tlevel: number;\n\thighlight?: string;\n\thasChildren: boolean;\n\tisExpanded: boolean;\n\tselected: boolean;\n\tpartial: boolean;\n\tselectionMode: \"single\" | \"multi\";\n\tonToggleExpand?: () => void;\n};\n\nexport function TreeNodeContent({\n\tnode,\n\tlevel,\n\thighlight,\n\thasChildren,\n\tisExpanded,\n\tselected,\n\tpartial,\n\tselectionMode,\n\tonToggleExpand\n}: TreeNodeContentProps) {\n\treturn (\n\t\t<>\n\t\t\t<span className={styles.treeIndent} style={{ \"--tree-level\": level } as CSSProperties} aria-hidden=\"true\" />\n\t\t\t{hasChildren ? (\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclassName={styles.treeExpander}\n\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tonToggleExpand?.();\n\t\t\t\t\t}}\n\t\t\t\t\taria-label={isExpanded ? \"Свернуть ветку\" : \"Развернуть ветку\"}\n\t\t\t\t\tdata-ui=\"tree-select-expander\"\n\t\t\t\t\tdata-action={isExpanded ? \"collapse-tree-select-node\" : \"expand-tree-select-node\"}>\n\t\t\t\t\t<ChevronRightIcon className={cn(styles.treeExpanderIcon, isExpanded && styles.treeExpanderIconExpanded)} />\n\t\t\t\t</button>\n\t\t\t) : (\n\t\t\t\t<span className={styles.treeExpanderPlaceholder} aria-hidden=\"true\" />\n\t\t\t)}\n\n\t\t\t{selectionMode === \"multi\" && (\n\t\t\t\t<span\n\t\t\t\t\tclassName={cn(styles.treeSelection, selected && styles.treeSelectionChecked, partial && styles.treeSelectionPartial)}\n\t\t\t\t\taria-hidden=\"true\">\n\t\t\t\t\t{selected ? (\n\t\t\t\t\t\t<CheckIcon className={styles.treeSelectionIcon} />\n\t\t\t\t\t) : partial ? (\n\t\t\t\t\t\t<MinusIcon className={styles.treeSelectionIcon} />\n\t\t\t\t\t) : null}\n\t\t\t\t</span>\n\t\t\t)}\n\n\t\t\t<SelectOptionContent label={node.label} code={node.code} highlight={highlight} />\n\t\t</>\n\t);\n}\n","import { ReactNode, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { XIcon } from \"lucide-react\";\n\nimport { InputText } from \"../input\";\nimport {\n\tPickerField,\n\tPickerPopup,\n\tPickerStatus,\n\tPickerTriggerActions,\n\tPickerTriggerInput,\n\tusePickerFloatingListbox,\n\tusePickerQuery,\n\tusePickerTriggerController\n} from \"../picker\";\nimport { UiBaseProps } from \"../types\";\nimport uiStyles from \"../ui.module.scss\";\n\nimport {\n\tcreateTreeNodeIndex,\n\tfilterTreeNodes,\n\tflattenVisibleTreeNodes,\n\tgetSelectionExpandedIds,\n\tTreeVisibleEntry\n} from \"./model/treeUtils\";\nimport { TreeNodeContent } from \"./TreeNodeContent\";\nimport styles from \"./TreeSelect.module.scss\";\nimport { TreeSelectNode } from \"./types\";\n\ntype TreePickerBaseProps = Omit<UiBaseProps<never>, \"value\" | \"onChange\"> & {\n\tnodes: readonly TreeSelectNode[];\n\tselectedIds: Set<string>;\n\tpartialIds: Set<string>;\n\tselectionMode: \"single\" | \"multi\";\n\ttriggerMode?: \"display\" | \"search\";\n\tselectedSummary?: ReactNode;\n\tselectedSummaryText?: string;\n\tquery?: string;\n\tdefaultQuery?: string;\n\tonQuery?: (value: string) => void;\n\tonNodeActivate: (node: TreeSelectNode) => void;\n\tonClearSelection?: () => void;\n\tisLoading?: boolean;\n\terror?: string;\n};\n\nexport function TreePickerBase({\n\tlabel,\n\tdescription,\n\tdisabled,\n\tplaceholder,\n\tsize,\n\tnodes,\n\tselectedIds,\n\tpartialIds,\n\tselectionMode,\n\ttriggerMode = \"display\",\n\tselectedSummary,\n\tselectedSummaryText,\n\tquery,\n\tdefaultQuery,\n\tonQuery,\n\tonNodeActivate,\n\tonClearSelection,\n\tisLoading,\n\terror\n}: TreePickerBaseProps) {\n\tconst inputRef = useRef<HTMLInputElement | null>(null);\n\tconst previousOpenRef = useRef(false);\n\tconst [expandedIds, setExpandedIds] = useState<Set<string>>(() => new Set());\n\tconst resolvedTriggerMode = triggerMode === \"search\" ? \"search-single\" : \"display\";\n\tconst treeIndex = useMemo(() => createTreeNodeIndex(nodes), [nodes]);\n\tconst { query: currentQuery, setQuery } = usePickerQuery({\n\t\topen: true,\n\t\tquery,\n\t\tdefaultQuery,\n\t\tonQuery,\n\t\ttriggerMode: \"display\"\n\t});\n\tconst { nodes: filteredNodes, expandedIds: searchExpandedIds } = useMemo(\n\t\t() => filterTreeNodes(nodes, currentQuery),\n\t\t[nodes, currentQuery]\n\t);\n\tconst selectedExpandedIds = useMemo(() => getSelectionExpandedIds(selectedIds, treeIndex), [selectedIds, treeIndex]);\n\tconst resolvedExpandedIds = useMemo(\n\t\t() => new Set([...expandedIds, ...searchExpandedIds, ...selectedExpandedIds]),\n\t\t[expandedIds, searchExpandedIds, selectedExpandedIds]\n\t);\n\tconst visibleEntries = useMemo(() => flattenVisibleTreeNodes(filteredNodes, resolvedExpandedIds), [filteredNodes, resolvedExpandedIds]);\n\tconst selectedIndex = useMemo(() => visibleEntries.findIndex((entry) => selectedIds.has(entry.node.id)), [selectedIds, visibleEntries]);\n\tconst {\n\t\topen,\n\t\tactiveIndex,\n\t\tcontext,\n\t\tfloatingStyles,\n\t\tgetFloatingProps,\n\t\tsetReference,\n\t\tsetFloating,\n\t\tsetOptionRef,\n\t\tclose,\n\t\topenList,\n\t\ttoggleOpen,\n\t\tselectOption,\n\t\thandleReferenceKeyDown,\n\t\thandleFloatingKeyDown,\n\t\tgetOptionId,\n\t\tgetActiveOptionId\n\t} = usePickerFloatingListbox({\n\t\toptions: visibleEntries,\n\t\tselectedIndex,\n\t\tonSelect: (entry) => onNodeActivate(entry.node),\n\t\tdisabled: disabled || isLoading,\n\t\tcloseOnSelect: selectionMode === \"single\",\n\t\tallowOpenWithoutOptions: true,\n\t\ttriggerMode: resolvedTriggerMode\n\t});\n\tconst hasSelection = selectedIds.size > 0;\n\tconst showTriggerQuery = triggerMode === \"search\" && (open || currentQuery.length > 0);\n\tconst triggerValue = showTriggerQuery ? currentQuery : (selectedSummaryText ?? \"\");\n\tconst showSummaryOverlay = triggerMode === \"display\" && Boolean(selectedSummary);\n\tconst triggerController = usePickerTriggerController({\n\t\tmode: resolvedTriggerMode,\n\t\topen,\n\t\tcurrentQuery,\n\t\thasDisplayValue: Boolean(selectedSummaryText),\n\t\tinputRef,\n\t\tsetQuery,\n\t\topenList,\n\t\tclose,\n\t\ttoggleOpen\n\t});\n\n\tuseEffect(() => {\n\t\tif (previousOpenRef.current && !open && triggerController.policy.resetQueryOnClose) {\n\t\t\tsetQuery(\"\");\n\t\t}\n\n\t\tpreviousOpenRef.current = open;\n\t}, [open, setQuery, triggerController.policy.resetQueryOnClose]);\n\n\tconst setInputNode = (node: HTMLInputElement | null) => {\n\t\tinputRef.current = node;\n\t};\n\tconst handleClearSelection = () => {\n\t\tonClearSelection?.();\n\t\tsetQuery(\"\");\n\t\tclose();\n\t};\n\n\tconst toggleExpand = (entry: TreeVisibleEntry) => {\n\t\tif (!entry.hasChildren) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetExpandedIds((currentExpandedIds) => {\n\t\t\tconst nextExpandedIds = new Set(currentExpandedIds);\n\n\t\t\tif (nextExpandedIds.has(entry.node.id)) {\n\t\t\t\tnextExpandedIds.delete(entry.node.id);\n\t\t\t} else {\n\t\t\t\tnextExpandedIds.add(entry.node.id);\n\t\t\t}\n\n\t\t\treturn nextExpandedIds;\n\t\t});\n\t};\n\n\treturn (\n\t\t<PickerField label={label} description={description} disabled={disabled} placeholder={placeholder} size={size}>\n\t\t\t{({ controlId, labelId, describedBy }) => {\n\t\t\t\tconst listId = `${controlId}-listbox`;\n\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PickerTriggerInput\n\t\t\t\t\t\t\tref={setInputNode}\n\t\t\t\t\t\t\trootRef={setReference}\n\t\t\t\t\t\t\tid={controlId}\n\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\tdisabled={disabled || isLoading}\n\t\t\t\t\t\t\treadOnly={triggerMode !== \"search\"}\n\t\t\t\t\t\t\tvalue={triggerMode === \"display\" && showSummaryOverlay ? \"\" : triggerValue}\n\t\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\t\ttriggerMode === \"search\"\n\t\t\t\t\t\t\t\t\t? !selectedSummaryText || showTriggerQuery\n\t\t\t\t\t\t\t\t\t\t? placeholder\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t: hasSelection\n\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t: placeholder\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taria-labelledby={labelId}\n\t\t\t\t\t\t\taria-describedby={describedBy}\n\t\t\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\t\t\taria-expanded={open}\n\t\t\t\t\t\t\taria-controls={open ? listId : undefined}\n\t\t\t\t\t\t\taria-autocomplete={triggerMode === \"search\" ? \"list\" : \"none\"}\n\t\t\t\t\t\t\taria-activedescendant={open && visibleEntries.length > 0 ? getActiveOptionId(listId) : undefined}\n\t\t\t\t\t\t\tinputClassName={cn(hasSelection && styles.treeSummary, showSummaryOverlay && styles.inputWithOverlay)}\n\t\t\t\t\t\t\toverlay={showSummaryOverlay ? <div className={styles.valueOverlay}>{selectedSummary}</div> : undefined}\n\t\t\t\t\t\t\tendAdornment={\n\t\t\t\t\t\t\t\t<PickerTriggerActions\n\t\t\t\t\t\t\t\t\topen={open}\n\t\t\t\t\t\t\t\t\tdisabled={disabled || isLoading}\n\t\t\t\t\t\t\t\t\tonToggleMouseDown={triggerController.handleToggleMouseDown}\n\t\t\t\t\t\t\t\t\tonToggleClick={triggerController.handleToggleClick}>\n\t\t\t\t\t\t\t\t\t{hasSelection && onClearSelection ? (\n\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\tclassName={styles.treeClearButton}\n\t\t\t\t\t\t\t\t\t\t\tonMouseDown={(event) => {\n\t\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\t\thandleClearSelection();\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\taria-label=\"Очистить выбор\">\n\t\t\t\t\t\t\t\t\t\t\t<XIcon />\n\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t</PickerTriggerActions>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\t\t\tif (triggerMode !== \"search\") {\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\ttriggerController.handleTriggerInputChange(event.target.value);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonClick={triggerController.handleTriggerClick}\n\t\t\t\t\t\t\tonFocus={(event) => {\n\t\t\t\t\t\t\t\ttriggerController.handleTriggerFocus(event.currentTarget);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonKeyDown={(event) => {\n\t\t\t\t\t\t\t\thandleReferenceKeyDown(event);\n\n\t\t\t\t\t\t\t\tif (event.defaultPrevented) {\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\ttriggerController.handleTriggerKeyDown({\n\t\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\t\tonActivateWhenOpen: () => {\n\t\t\t\t\t\t\t\t\t\tconst activeEntry = activeIndex >= 0 ? visibleEntries[activeIndex] : undefined;\n\t\t\t\t\t\t\t\t\t\tif (activeEntry) {\n\t\t\t\t\t\t\t\t\t\t\tselectOption(activeEntry);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tenableSpaceActivation: triggerMode === \"display\"\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<PickerPopup\n\t\t\t\t\t\t\topen={open}\n\t\t\t\t\t\t\tcontext={context}\n\t\t\t\t\t\t\tfloatingStyles={floatingStyles}\n\t\t\t\t\t\t\tlistId={listId}\n\t\t\t\t\t\t\tlabelId={labelId}\n\t\t\t\t\t\t\tdescriptionId={describedBy}\n\t\t\t\t\t\t\tactiveOptionId={visibleEntries.length > 0 ? getActiveOptionId(listId) : undefined}\n\t\t\t\t\t\t\tsetFloating={setFloating}\n\t\t\t\t\t\t\tgetFloatingProps={getFloatingProps}\n\t\t\t\t\t\t\tonKeyDown={handleFloatingKeyDown}\n\t\t\t\t\t\t\tclassName={cn(uiStyles.uiPopupOptions, \"scrollable\")}\n\t\t\t\t\t\t\theader={\n\t\t\t\t\t\t\t\ttriggerMode === \"display\" ? (\n\t\t\t\t\t\t\t\t\t<InputText\n\t\t\t\t\t\t\t\t\t\tvalue={currentQuery}\n\t\t\t\t\t\t\t\t\t\tonChange={setQuery}\n\t\t\t\t\t\t\t\t\t\tonClear={() => setQuery(\"\")}\n\t\t\t\t\t\t\t\t\t\tplaceholder=\"Поиск по дереву\"\n\t\t\t\t\t\t\t\t\t\tonKeyDown={(event) => {\n\t\t\t\t\t\t\t\t\t\t\tif (event.key !== \"Escape\" && event.key !== \"Tab\") {\n\t\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : undefined\n\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t<div className=\"\">\n\t\t\t\t\t\t\t\t{visibleEntries.length === 0 ? (\n\t\t\t\t\t\t\t\t\t<PickerStatus\n\t\t\t\t\t\t\t\t\t\terrorState={error}\n\t\t\t\t\t\t\t\t\t\tloadingState={isLoading ? \"Загрузка...\" : undefined}\n\t\t\t\t\t\t\t\t\t\temptyState={!error && !isLoading ? \"Нет данных\" : undefined}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\tvisibleEntries.map((entry, index) => {\n\t\t\t\t\t\t\t\t\t\tconst selected = selectedIds.has(entry.node.id);\n\t\t\t\t\t\t\t\t\t\tconst partial = !selected && partialIds.has(entry.node.id);\n\t\t\t\t\t\t\t\t\t\tconst active = index === activeIndex;\n\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tkey={entry.node.id}\n\t\t\t\t\t\t\t\t\t\t\t\tid={getOptionId(listId, index)}\n\t\t\t\t\t\t\t\t\t\t\t\tref={(node) => setOptionRef(index, node)}\n\t\t\t\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\t\t\t\taria-selected={selected}\n\t\t\t\t\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.treeRow,\n\t\t\t\t\t\t\t\t\t\t\t\t\tactive && styles.treeRowActive,\n\t\t\t\t\t\t\t\t\t\t\t\t\tselected && styles.treeRowSelected\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\tonMouseDown={(event) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => selectOption(entry)}>\n\t\t\t\t\t\t\t\t\t\t\t\t<div className={styles.treeNodeButton}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<TreeNodeContent\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnode={entry.node}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlevel={entry.level}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thighlight={currentQuery}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thasChildren={entry.hasChildren}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisExpanded={entry.isExpanded}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tselected={selected}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tpartial={partial}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectionMode={selectionMode}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonToggleExpand={() => toggleExpand(entry)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</PickerPopup>\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t}}\n\t\t</PickerField>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as e, o as t, t as n } from "./TreePickerBase-
|
|
1
|
+
import { n as e, o as t, t as n } from "./TreePickerBase-qNHIWbYL.js";
|
|
2
2
|
import { jsx as r } from "react/jsx-runtime";
|
|
3
3
|
import { useMemo as i } from "react";
|
|
4
4
|
//#region src/tree-select/TreeSelect.tsx
|
|
@@ -34,4 +34,4 @@ function o({ label: o, description: s, disabled: c, placeholder: l = "Выбер
|
|
|
34
34
|
//#endregion
|
|
35
35
|
export { o as t };
|
|
36
36
|
|
|
37
|
-
//# sourceMappingURL=TreeSelect-
|
|
37
|
+
//# sourceMappingURL=TreeSelect-LEhNdPCX.js.map
|