@ryuzaki13/react-foundation-ui 1.0.1 → 1.0.2
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/advanced-search/index.d.ts +3 -0
- package/dist/advanced-search/index.d.ts.map +1 -0
- package/dist/advanced-search/index.js +361 -0
- package/dist/advanced-search/index.js.map +1 -0
- package/dist/advanced-search/lib/index.d.ts +2 -0
- package/dist/advanced-search/lib/index.d.ts.map +1 -0
- package/dist/advanced-search/lib/searchParts.d.ts +3 -0
- package/dist/advanced-search/lib/searchParts.d.ts.map +1 -0
- package/dist/advanced-search/model/index.d.ts +5 -0
- package/dist/advanced-search/model/index.d.ts.map +1 -0
- package/dist/advanced-search/model/types.d.ts +55 -0
- package/dist/advanced-search/model/types.d.ts.map +1 -0
- package/dist/advanced-search/model/useAdvancedSearch.d.ts +11 -0
- package/dist/advanced-search/model/useAdvancedSearch.d.ts.map +1 -0
- package/dist/advanced-search/model/useAdvancedSearchInitialSelected.d.ts +6 -0
- package/dist/advanced-search/model/useAdvancedSearchInitialSelected.d.ts.map +1 -0
- package/dist/advanced-search/model/useAdvancedSearchSelection.d.ts +13 -0
- package/dist/advanced-search/model/useAdvancedSearchSelection.d.ts.map +1 -0
- package/dist/advanced-search/ui/AdvancedSearchModal.d.ts +13 -0
- package/dist/advanced-search/ui/AdvancedSearchModal.d.ts.map +1 -0
- package/dist/advanced-search/ui/AdvancedSearchSelect.d.ts +8 -0
- package/dist/advanced-search/ui/AdvancedSearchSelect.d.ts.map +1 -0
- package/dist/advanced-search/ui/AdvancedSearchSelectUI.d.ts +9 -0
- package/dist/advanced-search/ui/AdvancedSearchSelectUI.d.ts.map +1 -0
- package/dist/advanced-search/ui/index.d.ts +2 -0
- package/dist/advanced-search/ui/index.d.ts.map +1 -0
- package/dist/badge/index.js +1 -1
- package/dist/badge/stories/Badge.stories.js +22 -22
- package/dist/base-table/index.js +2 -2
- package/dist/button/index.js +7 -7
- package/dist/button/stories/Button.stories.js +1 -1
- package/dist/check-box/index.js +1 -1
- package/dist/check-box/stories/CheckBox.stories.js +25 -25
- package/dist/chunks/{BadgeList-6qL9oNAp.js → BadgeList-DYgun2rf.js} +16 -16
- package/dist/chunks/{BadgeList-6qL9oNAp.js.map → BadgeList-DYgun2rf.js.map} +1 -1
- package/dist/chunks/{Button-BZ_b-Kin.js → Button-CCWuggdA.js} +16 -16
- package/dist/chunks/{Button-BZ_b-Kin.js.map → Button-CCWuggdA.js.map} +1 -1
- package/dist/chunks/CalendarView-DjeTJkTT.js +435 -0
- package/dist/chunks/{CalendarView-DjShdvRD.js.map → CalendarView-DjeTJkTT.js.map} +1 -1
- package/dist/chunks/CheckBox-BowNqqd3.js +48 -0
- package/dist/chunks/{CheckBox-CulnjNvJ.js.map → CheckBox-BowNqqd3.js.map} +1 -1
- package/dist/chunks/{DateInput-LSSvObtg.js → DateInput--tfofQ2x.js} +68 -68
- package/dist/chunks/{DateInput-LSSvObtg.js.map → DateInput--tfofQ2x.js.map} +1 -1
- package/dist/chunks/{DateRangePresetSelect-CyzGMvVp.js → DateRangePresetSelect-UgsfaOeM.js} +22 -22
- package/dist/chunks/{DateRangePresetSelect-CyzGMvVp.js.map → DateRangePresetSelect-UgsfaOeM.js.map} +1 -1
- package/dist/chunks/Detail-DHDMsg8q.js +80 -0
- package/dist/chunks/{Detail-DKolHye4.js.map → Detail-DHDMsg8q.js.map} +1 -1
- package/dist/chunks/{Dialog-BPS4BeWZ.js → Dialog-CFIvGxER.js} +8 -8
- package/dist/chunks/{Dialog-BPS4BeWZ.js.map → Dialog-CFIvGxER.js.map} +1 -1
- package/dist/chunks/DisclosureGroup-CfRTkl6Z.js +49 -0
- package/dist/chunks/{DisclosureGroup-Plk2M_Vl.js.map → DisclosureGroup-CfRTkl6Z.js.map} +1 -1
- package/dist/chunks/{DropZone-DPGTpHI6.js → DropZone-kJfbZU5g.js} +22 -22
- package/dist/chunks/{DropZone-DPGTpHI6.js.map → DropZone-kJfbZU5g.js.map} +1 -1
- package/dist/chunks/{DropdownMenu-Ds-trH4M.js → DropdownMenu-DQeR3y7M.js} +138 -138
- package/dist/chunks/{DropdownMenu-Ds-trH4M.js.map → DropdownMenu-DQeR3y7M.js.map} +1 -1
- package/dist/chunks/{Flex-DbBdq336.js → Flex-DUYSL5TE.js} +16 -16
- package/dist/chunks/{Flex-DbBdq336.js.map → Flex-DUYSL5TE.js.map} +1 -1
- package/dist/chunks/Input-BmjlpA09.js +227 -0
- package/dist/chunks/{Input-Wrew1puH.js.map → Input-BmjlpA09.js.map} +1 -1
- package/dist/chunks/{InputDateTime-2PCX8an8.js → InputDateTime-CxfAFe2L.js} +56 -56
- package/dist/chunks/{InputDateTime-2PCX8an8.js.map → InputDateTime-CxfAFe2L.js.map} +1 -1
- package/dist/chunks/{InputFile-Ca-bRo93.js → InputFile-CyZu__B_.js} +17 -17
- package/dist/chunks/{InputFile-Ca-bRo93.js.map → InputFile-CyZu__B_.js.map} +1 -1
- package/dist/chunks/{InputFiles-pI9rQXOI.js → InputFiles-CrTJV27R.js} +31 -31
- package/dist/chunks/{InputFiles-pI9rQXOI.js.map → InputFiles-CrTJV27R.js.map} +1 -1
- package/dist/chunks/{InputImage-B522AQzl.js → InputImage-Cw8rPYQu.js} +18 -18
- package/dist/chunks/{InputImage-B522AQzl.js.map → InputImage-Cw8rPYQu.js.map} +1 -1
- package/dist/chunks/{LabeledExpandableActionPanel-CWmOSWeS.js → LabeledExpandableActionPanel-D3kUvmFH.js} +26 -26
- package/dist/chunks/{LabeledExpandableActionPanel-CWmOSWeS.js.map → LabeledExpandableActionPanel-D3kUvmFH.js.map} +1 -1
- package/dist/chunks/Listbox-BZlp5qHz.js +81 -0
- package/dist/chunks/{Listbox-B6F_IKQv.js.map → Listbox-BZlp5qHz.js.map} +1 -1
- package/dist/chunks/{MultiSelect-CUXA8gx-.js → MultiSelect-D1XYuwH1.js} +113 -113
- package/dist/chunks/{MultiSelect-CUXA8gx-.js.map → MultiSelect-D1XYuwH1.js.map} +1 -1
- package/dist/chunks/{NotificationsHost-Bnq7xFKO.js → NotificationsHost-_icJx4xR.js} +44 -44
- package/dist/chunks/{NotificationsHost-Bnq7xFKO.js.map → NotificationsHost-_icJx4xR.js.map} +1 -1
- package/dist/chunks/{PresetRangeDateInput-B_8jsilZ.js → PresetRangeDateInput-CapirptQ.js} +11 -11
- package/dist/chunks/{PresetRangeDateInput-B_8jsilZ.js.map → PresetRangeDateInput-CapirptQ.js.map} +1 -1
- package/dist/chunks/RadioButton-D0uA0rX_.js +48 -0
- package/dist/chunks/{RadioButton-D5vPW4Yr.js.map → RadioButton-D0uA0rX_.js.map} +1 -1
- package/dist/chunks/RadioGroup-B9XjkcOy.js +121 -0
- package/dist/chunks/{RadioGroup-BAhN1d1X.js.map → RadioGroup-B9XjkcOy.js.map} +1 -1
- package/dist/chunks/{Select-CoAYWNOn.js → Select-CXeVjVKA.js} +11 -11
- package/dist/chunks/{Select-CoAYWNOn.js.map → Select-CXeVjVKA.js.map} +1 -1
- package/dist/chunks/{SerializableSelect-awBOWKTj.js → SerializableSelect-DkYeJtAO.js} +2 -2
- package/dist/chunks/{SerializableSelect-awBOWKTj.js.map → SerializableSelect-DkYeJtAO.js.map} +1 -1
- package/dist/chunks/{SingleDateTimeInput-o44Vlwdk.js → SingleDateTimeInput-BmeuVGQT.js} +78 -78
- package/dist/chunks/{SingleDateTimeInput-o44Vlwdk.js.map → SingleDateTimeInput-BmeuVGQT.js.map} +1 -1
- package/dist/chunks/{Splitter-NjNFuEq4.js → Splitter-BFkVGVRb.js} +32 -32
- package/dist/chunks/{Splitter-NjNFuEq4.js.map → Splitter-BFkVGVRb.js.map} +1 -1
- package/dist/chunks/StateSelect-1jH3uLz9.js +78 -0
- package/dist/chunks/{StateSelect-abZq176J.js.map → StateSelect-1jH3uLz9.js.map} +1 -1
- package/dist/chunks/{Switch-DHMnZVmN.js → Switch-B57Qmy1z.js} +19 -19
- package/dist/chunks/{Switch-DHMnZVmN.js.map → Switch-B57Qmy1z.js.map} +1 -1
- package/dist/chunks/{TextEditorLexicalClient-Dt4eaPA3.js → TextEditorLexicalClient-DRhAswpP.js} +204 -204
- package/dist/chunks/{TextEditorLexicalClient-Dt4eaPA3.js.map → TextEditorLexicalClient-DRhAswpP.js.map} +1 -1
- package/dist/chunks/{Textarea-DOVrPH4I.js → Textarea-C9UdUueF.js} +2 -2
- package/dist/chunks/{Textarea-DOVrPH4I.js.map → Textarea-C9UdUueF.js.map} +1 -1
- package/dist/chunks/{TimePanel-_kF2RtHk.js → TimePanel-b4saqoUY.js} +27 -27
- package/dist/chunks/{TimePanel-_kF2RtHk.js.map → TimePanel-b4saqoUY.js.map} +1 -1
- package/dist/chunks/{Toggle-C_fE-bkM.js → Toggle-DVqOQXmt.js} +18 -18
- package/dist/chunks/{Toggle-C_fE-bkM.js.map → Toggle-DVqOQXmt.js.map} +1 -1
- package/dist/chunks/{TreeMultiSelect-C76RYavo.js → TreeMultiSelect-CfQhlfnC.js} +6 -6
- package/dist/chunks/{TreeMultiSelect-C76RYavo.js.map → TreeMultiSelect-CfQhlfnC.js.map} +1 -1
- package/dist/chunks/{TreePickerBase-qNHIWbYL.js → TreePickerBase-BBUOWsSu.js} +49 -49
- package/dist/chunks/{TreePickerBase-qNHIWbYL.js.map → TreePickerBase-BBUOWsSu.js.map} +1 -1
- package/dist/chunks/{TreeSelect-LEhNdPCX.js → TreeSelect-2wUXs90E.js} +6 -6
- package/dist/chunks/{TreeSelect-LEhNdPCX.js.map → TreeSelect-2wUXs90E.js.map} +1 -1
- package/dist/chunks/base-table-CoQlKABk.js +514 -0
- package/dist/chunks/{base-table-ij2guVMB.js.map → base-table-CoQlKABk.js.map} +1 -1
- package/dist/chunks/{floating-arrow-CdRV69sg.js → floating-arrow-BE-z4QkE.js} +7 -7
- package/dist/chunks/{floating-arrow-CdRV69sg.js.map → floating-arrow-BE-z4QkE.js.map} +1 -1
- package/dist/chunks/input-search-Dw4rnJBq.js +30 -0
- package/dist/chunks/input-search-Dw4rnJBq.js.map +1 -0
- package/dist/chunks/{layout-picker-CzZ8Xzkk.js → layout-picker-MWaImn3L.js} +34 -34
- package/dist/chunks/{layout-picker-CzZ8Xzkk.js.map → layout-picker-MWaImn3L.js.map} +1 -1
- package/dist/chunks/{misc-Bj0y3ERC.js → misc-DoqZBMof.js} +110 -110
- package/dist/chunks/{misc-Bj0y3ERC.js.map → misc-DoqZBMof.js.map} +1 -1
- package/dist/chunks/{modal-B4ivQb2h.js → modal-B3HY3laL.js} +40 -40
- package/dist/chunks/{modal-B4ivQb2h.js.map → modal-B3HY3laL.js.map} +1 -1
- package/dist/chunks/multi-select-BzYIviCU.js +1305 -0
- package/dist/chunks/multi-select-BzYIviCU.js.map +1 -0
- package/dist/chunks/{picker-gIUs0nE_.js → picker-Dg55Ss-B.js} +74 -74
- package/dist/chunks/{picker-gIUs0nE_.js.map → picker-Dg55Ss-B.js.map} +1 -1
- package/dist/chunks/{popover-C79P5bm2.js → popover-xJJqy1v6.js} +52 -52
- package/dist/chunks/{popover-C79P5bm2.js.map → popover-xJJqy1v6.js.map} +1 -1
- package/dist/chunks/{separator-CIqnk2z9.js → separator-B72Aq-6a.js} +2 -2
- package/dist/chunks/{separator-CIqnk2z9.js.map → separator-B72Aq-6a.js.map} +1 -1
- package/dist/chunks/{slider-CigVo4Ju.js → slider-CFKsfxFp.js} +83 -83
- package/dist/chunks/{slider-CigVo4Ju.js.map → slider-CFKsfxFp.js.map} +1 -1
- package/dist/chunks/sortable-DcTIAbjD.js +185 -0
- package/dist/chunks/{sortable-BZqnZ_LA.js.map → sortable-DcTIAbjD.js.map} +1 -1
- package/dist/chunks/{table-CK-CM2zD.js → table-Dc3AqMzP.js} +21 -21
- package/dist/chunks/{table-CK-CM2zD.js.map → table-Dc3AqMzP.js.map} +1 -1
- package/dist/chunks/{table-column-interactions-DPyJDD7P.js → table-column-interactions-6RGjmiI5.js} +24 -24
- package/dist/chunks/{table-column-interactions-DPyJDD7P.js.map → table-column-interactions-6RGjmiI5.js.map} +1 -1
- package/dist/chunks/{tabs-D5ikIIng.js → tabs-DlnVVMJl.js} +96 -96
- package/dist/chunks/{tabs-D5ikIIng.js.map → tabs-DlnVVMJl.js.map} +1 -1
- package/dist/chunks/{toolbar-C-Ziw_Uh.js → toolbar-BCZNdRXM.js} +2 -2
- package/dist/chunks/{toolbar-C-Ziw_Uh.js.map → toolbar-BCZNdRXM.js.map} +1 -1
- package/dist/chunks/{wheel-picker-DUHGy7wE.js → wheel-picker-FS58cRsQ.js} +23 -23
- package/dist/chunks/{wheel-picker-DUHGy7wE.js.map → wheel-picker-FS58cRsQ.js.map} +1 -1
- package/dist/context-menu/index.js +1 -1
- package/dist/context-menu/stories/ContextMenu.stories.js +45 -45
- package/dist/date-input/index.js +2 -2
- package/dist/date-input/stories/DateInput.stories.js +2 -2
- package/dist/date-range-preset-select/index.js +1 -1
- package/dist/date-range-preset-select/stories/DateRangePresetSelect.stories.js +8 -8
- package/dist/date-time-input/index.js +1 -1
- package/dist/date-time-input/stories/SingleDateTimeInput.stories.js +38 -38
- package/dist/date-time-input/stories/TimePanel.stories.js +9 -9
- package/dist/detail/index.js +1 -1
- package/dist/detail/stories/Detail.stories.js +1 -1
- package/dist/dialog/index.js +1 -1
- package/dist/dialog/stories/Dialog.stories.js +16 -16
- package/dist/disclosure/index.js +1 -1
- package/dist/disclosure/stories/Disclosure.stories.js +1 -1
- package/dist/drop-zone/index.js +1 -1
- package/dist/drop-zone/stories/DropZone.stories.js +14 -14
- package/dist/errors/index.js +47 -47
- package/dist/expandable-action-panel/index.js +1 -1
- package/dist/expandable-action-panel/stories/ExpandableActionPanel.stories.js +28 -28
- package/dist/flex/index.js +2 -2
- package/dist/flex/stories/Flex.stories.js +2 -2
- package/dist/floating-arrow/index.js +1 -1
- package/dist/fullscreen-portal/index.js +6 -6
- package/dist/grid/stories/Grid.stories.js +1 -1
- package/dist/image/index.js +123 -123
- package/dist/input/index.js +1 -1
- package/dist/input/stories/Input.stories.js +11 -11
- package/dist/input-date-time/index.js +1 -1
- package/dist/input-date-time/stories/InputDateTime.stories.js +11 -11
- package/dist/input-file/index.js +1 -1
- package/dist/input-file/stories/InputFile.stories.js +9 -9
- package/dist/input-files/index.js +1 -1
- package/dist/input-files/stories/InputFiles.stories.js +9 -9
- package/dist/input-image/index.js +1 -1
- package/dist/input-image/stories/InputImage.stories.js +15 -15
- package/dist/input-search/index.js +2 -30
- package/dist/layout-picker/index.js +1 -1
- package/dist/layout-picker/stories/LayoutPicker.stories.js +52 -52
- package/dist/list/index.js +27 -27
- package/dist/listbox/index.js +1 -1
- package/dist/listbox/stories/Listbox.stories.js +19 -19
- package/dist/misc/index.js +1 -1
- package/dist/modal/index.js +1 -1
- package/dist/modal/stories/Modal.stories.js +55 -55
- package/dist/multi-select/index.js +3 -1141
- package/dist/multi-select/ui/stories/MultiSelect.stories.js +17 -17
- package/dist/notifications/index.js +1 -1
- package/dist/notifications/ui/stories/NotificationsHost.stories.js +59 -59
- package/dist/period-select/index.js +20 -20
- package/dist/period-select/stories/PeriodSelect.stories.js +17 -17
- package/dist/picker/index.js +1 -1
- package/dist/popover/index.js +1 -1
- package/dist/popover/stories/Popover.stories.js +16 -16
- package/dist/preset-range-date-input/index.js +1 -1
- package/dist/preset-range-date-input/ui/stories/PresetRangeDateInput.stories.js +9 -9
- package/dist/preset-select/index.js +1 -1
- package/dist/radio-button/index.js +1 -1
- package/dist/radio-button/stories/RadioButton.stories.js +11 -11
- package/dist/radio-group/index.js +1 -1
- package/dist/radio-group/stories/RadioGroup.stories.js +21 -21
- package/dist/select/index.js +2 -2
- package/dist/select/stories/Select.stories.js +23 -23
- package/dist/select/stories/SerializableSelect.stories.js +22 -22
- package/dist/separator/index.js +1 -1
- package/dist/simple-table/index.js +5 -5
- package/dist/slider/index.js +1 -1
- package/dist/slider/stories/Slider.stories.js +32 -32
- package/dist/slider/stories/SliderInput.stories.js +39 -39
- package/dist/sortable/index.js +1 -1
- package/dist/sortable/stories/Sortable.stories.js +23 -23
- package/dist/splitter/index.js +1 -1
- package/dist/splitter/stories/Splitter.stories.js +1 -1
- package/dist/state-select/index.js +1 -1
- package/dist/state-select/stories/StateSelect.stories.js +23 -23
- package/dist/styles.css +1 -1
- package/dist/switch/index.js +1 -1
- package/dist/switch/stories/Switch.stories.js +11 -11
- package/dist/table/index.js +1 -1
- package/dist/table-column-interactions/index.js +1 -1
- package/dist/table-sorting/index.js +1 -1
- package/dist/tabs/index.js +1 -1
- package/dist/tabs/stories/Tabs.stories.js +39 -39
- package/dist/text/index.js +20 -20
- package/dist/text-editor/index.js +3 -3
- package/dist/text-editor/toolbar/index.js +1 -1
- package/dist/textarea/index.js +1 -1
- package/dist/textarea/stories/Textarea.stories.js +8 -8
- package/dist/three-scene/index.js +7 -7
- package/dist/toggle/index.js +1 -1
- package/dist/toggle/stories/Toggle.stories.js +7 -7
- package/dist/toolbar/index.js +16 -16
- package/dist/tree/index.js +24 -24
- package/dist/tree-select/index.js +2 -2
- package/dist/tree-select/stories/TreeMultiSelect.stories.js +9 -9
- package/dist/tree-select/stories/TreeSelect.stories.js +9 -9
- package/dist/tree-table/index.js +32 -32
- package/dist/wheel-picker/index.js +1 -1
- package/package.json +11 -1
- package/dist/chunks/CalendarView-DjShdvRD.js +0 -435
- package/dist/chunks/CheckBox-CulnjNvJ.js +0 -48
- package/dist/chunks/Detail-DKolHye4.js +0 -80
- package/dist/chunks/DisclosureGroup-Plk2M_Vl.js +0 -49
- package/dist/chunks/Input-Wrew1puH.js +0 -227
- package/dist/chunks/Listbox-B6F_IKQv.js +0 -81
- package/dist/chunks/RadioButton-D5vPW4Yr.js +0 -48
- package/dist/chunks/RadioGroup-BAhN1d1X.js +0 -121
- package/dist/chunks/StateSelect-abZq176J.js +0 -78
- package/dist/chunks/base-table-ij2guVMB.js +0 -514
- package/dist/chunks/sortable-BZqnZ_LA.js +0 -185
- package/dist/input-search/index.js.map +0 -1
- package/dist/multi-select/index.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["a","S","C","w","T","E","D","O","k","A","j","M","N","P","F","I","L","R","z","B","Y","U","H","V","W","n","G","K","e","q","J","t","r","X","v","y","n","i","o","l","t","e","c","f","h","P","F","a","x","I","L","R","m","d","p","u","ee","E","a","ye","be","S","e","we","M","A","T","O","De","j","Se","Te","k","Ce","D","Ee"],"sources":["../../node_modules/@ryuzaki13/react-foundation-api/dist/chunks/fetch-CPEFkAcU.js","../../node_modules/@ryuzaki13/react-foundation-api/dist/chunks/odataFetchFn-D8PGKDZM.js","../../node_modules/@ryuzaki13/react-foundation-api/dist/odata/index.js","../../src/select/model/useODataSelectBase.ts","../../src/multi-select/model/useODataMultiSelect.ts","../../src/multi-select/ui/ODataMultiSelect.tsx","../../src/multi-select/ui/ODataDependentSegmentMultiSelect.tsx","../../src/multi-select/ui/ODataDependentMultiSelect.tsx","../../src/multi-select/ui/SerializableMultiSelect.tsx"],"sourcesContent":["import { logError as e } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { asRecord as t, isRecord as n, isSafe as r } from \"@ryuzaki13/react-foundation-lib/validators\";\nimport { reportTransportError as i } from \"@ryuzaki13/react-foundation-lib/error-report\";\nimport { truncateText as a } from \"@ryuzaki13/react-foundation-lib/formatters\";\n//#region src/odata/odataProjectAdapter.ts\nvar o = {};\nfunction s(e) {\n\to = e;\n}\nfunction c() {\n\treturn o;\n}\nfunction l(e) {\n\treturn e.split(\";\")[0] ?? e;\n}\nfunction u(e, t) {\n\tlet n = o.devDp0Service;\n\treturn (__DEV__ || __PREVIEW__) && n && l(e) === l(n) ? \"odataDp0\" : t ?? \"odata\";\n}\nfunction d() {\n\treturn o.resolveSapClient?.() ?? null;\n}\n//#endregion\n//#region src/odata/transport/url.ts\nvar f = \"/sap/opu/odata/sap\", ee = __DEV__ || __PREVIEW__ ? \"/sap-dp0/opu/odata/sap\" : \"/sap/opu/odata/sap\", p = __DEV__ || __PREVIEW__ ? \"/sap-dp0/opu/odata/UI2\" : \"/sap/opu/odata/UI2\", m = __BASE_APP_CONFIG_URL__, h = Object.freeze({\n\t\"\": \"\",\n\todata: f,\n\todataDp0: ee,\n\todataUi2: p,\n\tconfig: m\n});\nfunction g(e) {\n\treturn typeof e == \"string\" ? e : typeof Request < \"u\" && e instanceof Request ? e.url : e.toString();\n}\nfunction _(e) {\n\tlet t = e.split(\"?\")[0]?.split(\"#\")[0] ?? \"\";\n\treturn t ? t.startsWith(\"/\") ? t : `/${t}` : \"/\";\n}\n//#endregion\n//#region src/odata/transport/errorReport.ts\nvar te = 40, ne = 1e3;\nfunction v(e) {\n\ttry {\n\t\tlet t = typeof window < \"u\" ? window.location.origin : \"http://localhost\", n = new URL(e, t);\n\t\treturn `${n.origin === t ? \"\" : n.origin}${n.pathname}`;\n\t} catch {\n\t\treturn _(e);\n\t}\n}\nfunction re(e) {\n\tif (!(typeof DOMParser > \"u\")) try {\n\t\treturn new DOMParser().parseFromString(e, \"text/html\");\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction ie(e, t) {\n\treturn t?.querySelector(\"title\")?.textContent || /<title[^>]*>([\\s\\S]*?)<\\/title>/i.exec(e)?.[1];\n}\nfunction ae(e, t) {\n\tlet n = t?.querySelectorAll(\"form\").length;\n\treturn n === void 0 ? Array.from(e.matchAll(/<form\\b/gi)).length : n;\n}\nfunction oe(e, t) {\n\tlet n = t ? Array.from(t.querySelectorAll(\"input[name],textarea[name],select[name]\")).map((e) => e.name).filter(Boolean) : Array.from(e.matchAll(/\\bname\\s*=\\s*[\"']([^\"']+)[\"']/gi)).map((e) => e[1]).filter((e) => !!e);\n\treturn Array.from(new Set(n)).slice(0, te);\n}\nfunction se(e, t) {\n\treturn a(t?.body?.textContent ?? e.replace(/<script\\b[\\s\\S]*?<\\/script>/gi, \" \").replace(/<style\\b[\\s\\S]*?<\\/style>/gi, \" \").replace(/<[^>]+>/g, \" \"), ne);\n}\nfunction ce(e) {\n\tlet t = re(e);\n\treturn {\n\t\tlength: e.length,\n\t\ttitle: a(ie(e, t), 200),\n\t\tformCount: ae(e, t),\n\t\tinputNames: oe(e, t),\n\t\ttextPreview: se(e, t)\n\t};\n}\nfunction y(e, t, n, r, a) {\n\tlet o = a ? g(a.input) : void 0, s = o?.startsWith(\"http\") ? o : o ? `${h[a?.baseUrlType ?? \"\"]}${o}` : void 0;\n\ti(e, {\n\t\tsource: t,\n\t\trequestUrl: s ? v(s) : void 0,\n\t\tresponseUrl: n.url ? v(n.url) : void 0,\n\t\tmethod: a?.init.method?.toUpperCase() ?? \"GET\",\n\t\tbaseUrlType: a?.baseUrlType,\n\t\tsapClient: a?.sapClient,\n\t\tstatus: n.status,\n\t\tstatusText: n.statusText,\n\t\tcontentType: n.headers.get(\"Content-Type\") || void 0,\n\t\tredirected: n.redirected,\n\t\tresponseType: n.type,\n\t\thtml: ce(r)\n\t});\n}\n//#endregion\n//#region src/odata/transport/SsoRequiredError.ts\nvar b = null, le = 0;\nfunction x(e) {\n\tif (typeof window > \"u\") return e;\n\ttry {\n\t\tlet t = new RegExp(__ORIGIN_REG_EXP__, \"i\"), n = new URL(e, window.location.origin), r = t.test(n.origin), i = n.origin === __SSO_ORIGIN__;\n\t\treturn r || i || n.origin === window.location.origin ? `${n.pathname}${n.search}${n.hash}` : n.toString();\n\t} catch {\n\t\treturn e;\n\t}\n}\nfunction S(e) {\n\treturn e ? typeof e.inputs.SAMLRequest == \"string\" || typeof e.inputs.SAMLResponse == \"string\" : !1;\n}\nfunction C() {\n\tlet e = `${__APP_ID__}-sso-iframe-${++le}`, t = document.createElement(\"iframe\");\n\treturn t.name = e, t.style.display = \"none\", t;\n}\nfunction w(e, t) {\n\treturn new Promise((n) => {\n\t\tlet r = null, i = () => {\n\t\t\tr !== null && window.clearTimeout(r), r = window.setTimeout(() => {\n\t\t\t\tt(), n(!0);\n\t\t\t}, 400);\n\t\t};\n\t\te.addEventListener(\"load\", i), e.addEventListener(\"error\", i);\n\t});\n}\nfunction T(e, t) {\n\tlet n = document.createElement(\"form\");\n\tn.method = e.method === \"GET\" ? \"GET\" : \"POST\", n.action = x(e.action), n.target = t, n.style.display = \"none\";\n\tfor (let [t, r] of Object.entries(e.inputs)) {\n\t\tlet e = document.createElement(\"input\");\n\t\te.type = \"hidden\", e.name = t, e.value = r, n.appendChild(e);\n\t}\n\treturn n;\n}\nfunction E() {\n\treturn typeof document > \"u\" ? null : document.body ?? document.documentElement;\n}\nfunction ue(e) {\n\tif (!S(e) || typeof document > \"u\") return !1;\n\tlet t = E();\n\tif (!t) return !1;\n\tlet n = C(), r = T(e, n.name);\n\treturn t.appendChild(n), t.appendChild(r), r.submit(), !0;\n}\nfunction de(e) {\n\tlet t = E();\n\tif (!t) return Promise.resolve(!1);\n\tlet n = C(), r = T(e, n.name), i = w(n, () => {\n\t\tn.remove(), r.remove();\n\t});\n\treturn t.appendChild(n), t.appendChild(r), r.submit(), i;\n}\nfunction fe(e) {\n\tlet t = E();\n\tif (!t) return Promise.resolve(!1);\n\tlet n = C(), r = w(n, () => {\n\t\tn.remove();\n\t});\n\treturn t.appendChild(n), n.src = x(e), r;\n}\nfunction D({ form: e, recoveryUrl: t } = {}) {\n\treturn b || (typeof window > \"u\" ? !1 : (b = (async () => S(e) ? de(e) : t ? fe(t) : !1)().finally(() => {\n\t\tb = null;\n\t}), b));\n}\nvar O = class e extends Error {\n\tform;\n\trecoveryUrl;\n\trecoverable;\n\tconstructor(t, n, r, i = {}) {\n\t\tsuper(t), this.form = n, this.recoveryUrl = r, this.recoverable = i.recoverable ?? !0, Object.setPrototypeOf(this, e.prototype);\n\t}\n}, k = /* @__PURE__ */ new Map(), A = /* @__PURE__ */ new Map(), j = null, M = null;\nfunction N(e, t) {\n\tif (t !== \"\") return !0;\n\tlet n = _(g(e));\n\treturn n.startsWith(\"/sap/\") || n.startsWith(\"/sap-dp0/\");\n}\nfunction P(e, t) {\n\treturn __DEV__ || __PREVIEW__ ? N(e, t) ? t === \"odataDp0\" || t === \"\" && _(g(e)).startsWith(\"/sap-dp0/\") ? \"300\" : `${__SAP_CLIENT__}` : null : d();\n}\nfunction F(e) {\n\treturn new O(\"Не удалось автоматически восстановить SSO-сессию. Перезагрузите страницу и выполните вход заново.\", e.form, e.recoveryUrl, { recoverable: !1 });\n}\nfunction I(e) {\n\tlet t = F(e);\n\treturn typeof window < \"u\" && (M = t), t;\n}\nasync function L() {\n\tlet e = j;\n\tif (e && await e.catch(() => {}), M) throw M;\n}\nasync function R(e, t) {\n\tif (M) throw M;\n\tlet n;\n\tif (!j) {\n\t\tif (j = (async () => {\n\t\t\tif (!await Promise.resolve(D({\n\t\t\t\tform: e.form,\n\t\t\t\trecoveryUrl: e.recoveryUrl\n\t\t\t})).catch(() => !1)) throw I(e);\n\t\t\ttry {\n\t\t\t\tn = { value: await t() }, M = null;\n\t\t\t} catch (e) {\n\t\t\t\tthrow e instanceof O ? I(e) : e;\n\t\t\t}\n\t\t})().finally(() => {\n\t\t\tj = null;\n\t\t}), await j, !n) throw M ?? F(e);\n\t\treturn n.value;\n\t}\n\tawait L();\n\ttry {\n\t\treturn await t();\n\t} catch (e) {\n\t\tthrow e instanceof O ? I(e) : e;\n\t}\n}\nfunction z(e, t, n) {\n\tif (t === \"config\") return {\n\t\tcacheKey: `${__APP_ID__}:${n ?? \"\"}`,\n\t\tfetchUrl: \"/Statistics\"\n\t};\n\tlet [r] = _(g(e)).split(\"/\").filter(Boolean);\n\tif (!r) throw Error(\"Не удалось определить сервис для получения CSRF-токена\");\n\treturn {\n\t\tcacheKey: `${t}:${n ?? \"\"}:${r}`,\n\t\tfetchUrl: `/${r}/`\n\t};\n}\nasync function B(e, t, n) {\n\tlet r = z(e, t, n), i = k.get(r.cacheKey);\n\tif (i) return i;\n\tlet a = A.get(r.cacheKey);\n\tif (a) return a;\n\tlet o = new Headers({ \"x-csrf-token\": \"Fetch\" });\n\to.set(\"sap-language\", \"ru\"), o.set(\"sap-contextid-accept\", \"header\"), o.set(\"Accept-Language\", \"ru\"), n && o.set(\"sap-client\", n);\n\tlet s = (t && h[t]) ?? \"\", c = fetch(s + r.fetchUrl, {\n\t\tmethod: \"GET\",\n\t\theaders: o,\n\t\tcredentials: \"include\",\n\t\tredirect: \"manual\"\n\t}).then(async (e) => {\n\t\tif (Y(e)) throw new O(\"Требуется повторная аутентификация\", void 0, s + r.fetchUrl);\n\t\tif (!e.ok) throw Error(\"Не удалось получить CSRF-токен\");\n\t\tlet t = e.headers.get(\"x-csrf-token\");\n\t\tif (!t) {\n\t\t\tlet t = (e.headers.get(\"Content-Type\") || \"\").toLowerCase(), n = await e.text();\n\t\t\tif (U(t, n)) {\n\t\t\t\tlet e = H(n);\n\t\t\t\tif (S(e)) throw new O(\"Требуется повторная аутентификация\", e, s + r.fetchUrl);\n\t\t\t}\n\t\t\tthrow Error(\"CSRF-токен отсутствует в ответе\");\n\t\t}\n\t\treturn k.set(r.cacheKey, t), A.delete(r.cacheKey), t;\n\t}).catch((e) => {\n\t\tthrow A.delete(r.cacheKey), e;\n\t});\n\treturn A.set(r.cacheKey, c), c;\n}\nfunction V(e, t) {\n\tlet n = t.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n\treturn RegExp(`${n}\\\\s*=\\\\s*[\"']([^\"']*)[\"']`, \"i\").exec(e)?.[1];\n}\nfunction H(e) {\n\ttry {\n\t\tif (typeof DOMParser < \"u\") {\n\t\t\tlet t = new DOMParser().parseFromString(e, \"text/html\").querySelector(\"form\");\n\t\t\tif (t) {\n\t\t\t\tlet e = t.getAttribute(\"action\") || (typeof window < \"u\" ? window.location.href : \"\"), n = (t.getAttribute(\"method\") || \"GET\").toUpperCase(), r = {};\n\t\t\t\treturn t.querySelectorAll(\"input[name]\").forEach((e) => {\n\t\t\t\t\tr[e.name] = e.value ?? \"\";\n\t\t\t\t}), {\n\t\t\t\t\taction: e,\n\t\t\t\t\tmethod: n,\n\t\t\t\t\tinputs: r\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t} catch {}\n\tlet t = /<form\\b([^>]*)>([\\s\\S]*?)<\\/form>/i.exec(e);\n\tif (!t) return;\n\tlet [, n = \"\", r = \"\"] = t, i = V(n, \"action\") || (typeof window < \"u\" ? window.location.href : \"\"), a = (V(n, \"method\") || \"GET\").toUpperCase(), o = {};\n\tfor (let e of r.matchAll(/<input\\b([^>]*)>/gi)) {\n\t\tlet t = e[1] ?? \"\", n = V(t, \"name\");\n\t\tn && (o[n] = V(t, \"value\") ?? \"\");\n\t}\n\treturn {\n\t\taction: i,\n\t\tmethod: a,\n\t\tinputs: o\n\t};\n}\nfunction U(e, t) {\n\treturn e.includes(\"text/html\") || /<html/i.test(t) || /<form/i.test(t);\n}\nfunction W(e) {\n\tif (!n(e)) return e;\n\tlet t = { ...e };\n\treturn delete t.__metadata, t;\n}\nfunction G(e) {\n\tif (n(e) && n(e.d) && Array.isArray(e.d.results)) {\n\t\tlet t;\n\t\treturn e.d.__count && (t = Number(e.d.__count)), {\n\t\t\tdata: e.d.results.map(W),\n\t\t\ttotalCount: t\n\t\t};\n\t}\n\treturn n(e) && e.d !== void 0 ? { data: W(e.d) } : { data: e };\n}\nvar pe = Object.freeze({ __noContent: !0 });\nfunction me(e) {\n\treturn !!e && typeof e == \"object\" && \"__noContent\" in e;\n}\nasync function K(t, n) {\n\tif (t.status === 204 || t.status === 205) return { data: pe };\n\tlet r = (t.headers.get(\"Content-Type\") || \"\").toLowerCase();\n\tif (r.includes(\"application/json\") || r.includes(\"application/odata+json\")) return G(await t.json());\n\tlet i = await t.text();\n\tif (U(r, i)) {\n\t\tlet e = H(i);\n\t\tif (S(e)) throw new O(\"Требуется повторная аутентификация\", e);\n\t\tlet r = /* @__PURE__ */ Error(\"Unexpected HTML response from OData endpoint\");\n\t\tthrow y(r, \"fetch.parseResponse\", t, i, n), r;\n\t}\n\ttry {\n\t\treturn G(JSON.parse(i));\n\t} catch (t) {\n\t\tthrow e(t), Error(\"Unsupported response content type and body is not JSON\");\n\t}\n}\nfunction q(e) {\n\tif (typeof e != \"string\") return null;\n\tlet t = e.trim();\n\treturn t.length ? t : null;\n}\nfunction J(e, t) {\n\tlet n = q(t);\n\t!n || e.includes(n) || e.push(n);\n}\nfunction he(e) {\n\tlet n = [], r = e.error;\n\ttypeof r == \"string\" && J(n, r);\n\tlet i = t(r);\n\treturn i && (J(n, i.code), J(n, t(i.message)?.value ?? i.message)), J(n, e.details), J(n, e.message), n;\n}\nasync function ge(e, t) {\n\tlet n = (e.headers.get(\"Content-Type\") || \"\").toLowerCase();\n\ttry {\n\t\tif (n.includes(\"application/json\") || n.includes(\"application/odata+json\")) {\n\t\t\tlet t = he(await e.json());\n\t\t\tif (t.length) return Error(t.join(\" | \"));\n\t\t} else {\n\t\t\tlet r = q(await e.text());\n\t\t\tif (r) {\n\t\t\t\tif (U(n, r)) {\n\t\t\t\t\tlet n = H(r);\n\t\t\t\t\tif (S(n)) return new O(\"Требуется повторная аутентификация\", n);\n\t\t\t\t\tlet i = /* @__PURE__ */ Error(\"Unexpected HTML response from OData endpoint\");\n\t\t\t\t\treturn y(i, \"fetch.buildHttpError\", e, r, t), i;\n\t\t\t\t}\n\t\t\t\treturn Error(r);\n\t\t\t}\n\t\t}\n\t} catch {}\n\treturn /* @__PURE__ */ Error(`HTTP error: ${e.status} ${e.statusText}`);\n}\nfunction Y(e) {\n\treturn e.type === \"opaqueredirect\";\n}\nasync function _e(e, t = {}, n = \"odata\") {\n\tlet i = t.method?.toUpperCase() || \"GET\", a = new Headers(t.headers), o = ![\"GET\", \"HEAD\"].includes(i), s = r(t.body), c = N(e, n), l = P(e, n);\n\tif (a.set(\"sap-language\", \"ru\"), c && (a.set(\"sap-language\", \"ru\"), a.set(\"sap-contextid-accept\", \"header\")), l && a.set(\"sap-client\", l), o && c) {\n\t\tlet t = await B(e, n, l);\n\t\ta.set(\"x-csrf-token\", t);\n\t}\n\ta.has(\"Accept\") || a.set(\"Accept\", \"application/json\"), s && o && !a.has(\"Content-Type\") && a.set(\"Content-Type\", \"application/json\");\n\tlet u = (n && h[n]) ?? \"\", d = typeof e == \"string\" ? e : e.toString(), f = await fetch(u + d, {\n\t\t...t,\n\t\theaders: a,\n\t\tcredentials: \"include\",\n\t\tredirect: c ? \"manual\" : t.redirect\n\t});\n\tif (c && Y(f)) throw new O(\"Требуется повторная аутентификация\", void 0, u + d);\n\tif ((f.status === 401 || f.status === 403) && o && c && !t.retried) {\n\t\tlet r = z(e, n, l);\n\t\tk.delete(r.cacheKey), A.delete(r.cacheKey);\n\t\tlet i = await B(e, n, l), o = new Headers(a);\n\t\tif (o.set(\"x-csrf-token\", i), f = await fetch(u + d, {\n\t\t\t...t,\n\t\t\theaders: o,\n\t\t\tcredentials: \"include\",\n\t\t\tredirect: \"manual\",\n\t\t\tretried: !0\n\t\t}), Y(f)) throw new O(\"Требуется повторная аутентификация\", void 0, u + d);\n\t}\n\treturn f;\n}\nasync function X(e, t, n, r, i) {\n\tif (!e.ok) throw e.status === 0 ? Error(\"Ошибка сети или CORS. Проверьте подключение и настройки сервера.\") : await ge(e, {\n\t\tinput: t,\n\t\tinit: n,\n\t\tbaseUrlType: r,\n\t\tsapClient: i\n\t});\n\treturn e;\n}\nasync function ve(e, t = {}, n = \"odata\") {\n\tlet r = P(e, n);\n\treturn X(await _e(e, t, n), e, t, n, r);\n}\nasync function Z(e, t = {}, n = \"odata\") {\n\tlet r = N(e, n), i = P(e, n), a = () => ve(e, {\n\t\t...t,\n\t\tssoRetried: !0\n\t}, n);\n\tr && await L();\n\tlet o;\n\ttry {\n\t\to = await _e(e, t, n);\n\t} catch (e) {\n\t\tif (r && e instanceof O && e.recoverable && !t.ssoRetried) o = await R(e, a);\n\t\telse throw e;\n\t}\n\ttry {\n\t\treturn await X(o, e, t, n, i);\n\t} catch (o) {\n\t\tif (r && o instanceof O && o.recoverable && !t.ssoRetried) return X(await R(o, a), e, t, n, i);\n\t\tthrow o;\n\t}\n}\nasync function Q(e, t = {}, n = \"odata\") {\n\tlet r = new Headers(t.headers);\n\tr.set(\"DataServiceVersion\", \"2.0\"), r.set(\"MaxDataServiceVersion\", \"2.0\");\n\tlet i = {\n\t\t...t,\n\t\theaders: r\n\t}, a = {\n\t\tinput: e,\n\t\tinit: t,\n\t\tbaseUrlType: n,\n\t\tsapClient: P(e, n)\n\t};\n\ttry {\n\t\treturn await K(await Z(e, i, n), a);\n\t} catch (r) {\n\t\tif (N(e, n) && r instanceof O && r.recoverable && !t.ssoRetried) return R(r, async () => {\n\t\t\tlet t = {\n\t\t\t\t...i,\n\t\t\t\tssoRetried: !0\n\t\t\t};\n\t\t\treturn K(await ve(e, t, n), {\n\t\t\t\tinput: e,\n\t\t\t\tinit: t,\n\t\t\t\tbaseUrlType: n,\n\t\t\t\tsapClient: P(e, n)\n\t\t\t});\n\t\t});\n\t\tthrow r;\n\t}\n}\nasync function $(e, t = {}, n = \"odata\") {\n\treturn (await Q(e, t, n)).data;\n}\nfunction ye(e, t) {\n\tlet n = t.init || {}, r = t.baseUrl, i = t.transform;\n\tif (t.swCache) {\n\t\tlet e = new Headers(n.headers);\n\t\te.set(\"x-sw-cache\", t.swCache), n.headers = e;\n\t}\n\treturn async (t) => {\n\t\t!n.signal && t?.signal && (n.signal = t.signal);\n\t\tlet a = await Z(e, n, r);\n\t\tif (typeof i != \"function\") throw Error(\"fetchQueryFn requires a transformation function!\");\n\t\treturn await i(a);\n\t};\n}\nfunction be(e, t) {\n\tlet n = t?.baseUrl || \"odata\", r = t?.transform;\n\treturn async (i) => {\n\t\tlet a = t?.init || {};\n\t\tif (!a.signal && i?.signal && (a.signal = i.signal), t?.swCache) {\n\t\t\tlet e = new Headers(a.headers);\n\t\t\te.set(\"x-sw-cache\", t.swCache), a.headers = e;\n\t\t}\n\t\tlet o = await $(e, a, n);\n\t\treturn r && r ? r(o) : o;\n\t};\n}\nfunction xe(e, t = \"POST\", n) {\n\treturn async (r, i) => $(e, {\n\t\tmethod: t,\n\t\theaders: { \"Content-Type\": \"application/json\" },\n\t\tbody: JSON.stringify(r),\n\t\tsignal: i\n\t}, n);\n}\nfunction Se(e, t) {\n\treturn async (n) => $(e, {\n\t\tmethod: \"DELETE\",\n\t\tsignal: n\n\t}, t);\n}\n//#endregion\nexport { u as C, l as S, h as _, be as a, s as b, me as c, D as d, ue as f, f as g, p as h, xe as i, O as l, ee as m, Se as n, Q as o, m as p, $ as r, ye as s, Z as t, S as u, g as v, d as w, c as x, _ as y };\n\n//# sourceMappingURL=fetch-CPEFkAcU.js.map","import { C as e, S as t, _ as n, c as r, o as i, s as a, x as o } from \"./fetch-CPEFkAcU.js\";\nimport { isRecord as s } from \"@ryuzaki13/react-foundation-lib/validators\";\nimport { formatDateAsODataDatetime as c, parseDate as l } from \"@ryuzaki13/react-foundation-lib/formatters\";\nimport { useEffect as u, useMemo as d } from \"react\";\nimport { queryOptions as f, useQuery as p, useQueryClient as m } from \"@tanstack/react-query\";\nimport { persistedQueryMeta as h } from \"@ryuzaki13/react-foundation-lib/query-client\";\nimport { buildEntityOperationPath as g, buildFunctionImportPath as _, buildODataFilter as v, buildODataOrder as y, odataParseValueByMetadata as b, parseServiceMetadata as x } from \"@ryuzaki13/react-foundation-lib/odata-service\";\n//#region src/odata/odataBaseQueryKey.ts\nvar S = [\"odata\"];\n//#endregion\n//#region src/odata/odataFetch.ts\nfunction C(e, t, n) {\n\tn === void 0 || n === \"\" || e.set(t, String(n));\n}\nfunction w(e, t = {}, r = {}) {\n\tlet [i, a = \"\"] = e.split(\"?\"), o = new URLSearchParams(a);\n\tif (t.expression) {\n\t\tlet e = v(t.expression);\n\t\te && o.set(\"$filter\", e);\n\t}\n\tt.sorts && o.set(\"$orderby\", y(t.sorts)), t.select && o.set(\"$select\", t.select.join(\",\")), t.expand && o.set(\"$expand\", t.expand.join(\",\")), C(o, \"$top\", t.top), C(o, \"$skip\", t.skip), C(o, \"$inlinecount\", t.inlinecount);\n\tlet s = i.replace(/\\/+$/, \"\"), c = o.toString(), l = c ? `${s}?${c}` : s, u = r;\n\tif (t.swCache) {\n\t\tlet e = new Headers(r.headers);\n\t\te.set(\"x-sw-cache\", t.swCache), u = {\n\t\t\t...r,\n\t\t\theaders: e\n\t\t};\n\t}\n\treturn {\n\t\tpath: l,\n\t\tfullUrl: `${n[t.baseUrl ?? \"odata\"]}${l}`,\n\t\tbaseUrl: t.baseUrl,\n\t\tinit: u,\n\t\tqueryString: c\n\t};\n}\nasync function T(e, t = {}, n = {}) {\n\tlet r = w(e, t, n);\n\treturn i(r.path, r.init, t.baseUrl);\n}\n//#endregion\n//#region src/odata/metadataVersionCheck.ts\nvar E = __APP_BUILD_ID__, D = 1e3 * 60 * 60 * 24;\nfunction O(e) {\n\tif (e) return Array.isArray(e) ? e[0] : e;\n}\nvar k = ({ service: e }) => [\n\t...S,\n\t\"metadata-version\",\n\t{\n\t\tservice: e,\n\t\tbuildId: E\n\t}\n];\nfunction A(e) {\n\treturn {\n\t\tservice: e,\n\t\tchangedAt: null,\n\t\tversion: null\n\t};\n}\nfunction j(n) {\n\treturn async ({ signal: r }) => {\n\t\tlet i = o().metadataVersion;\n\t\tif (!i) return A(n.service);\n\t\tlet a = l(O((await T(`/${i.service}/${i.target}('${t(n.service)}')`, { baseUrl: e(i.service, i.baseUrl) }, { signal: r })).data)?.lastChanged);\n\t\treturn {\n\t\t\tservice: n.service,\n\t\t\tchangedAt: a,\n\t\t\tversion: a ? c(a) : null\n\t\t};\n\t};\n}\nvar M = (e) => f({\n\tqueryKey: k(e),\n\tqueryFn: j(e),\n\tmeta: h,\n\tenabled: !!(e.service && o().metadataVersion),\n\tstaleTime: e.staleTime ?? D,\n\tgcTime: Infinity\n});\nfunction N(e, t) {\n\treturn e.invalidateQueries({ predicate: (e) => {\n\t\tlet [n, r, i] = e.queryKey;\n\t\treturn n !== S[0] || r !== \"metadata\" || !i || typeof i != \"object\" ? !1 : \"service\" in i && i.service === t;\n\t} });\n}\nfunction P(e, t) {\n\treturn e?.data === void 0 || !t.changedAt ? !1 : t.changedAt.getTime() > e.dataUpdatedAt;\n}\n//#endregion\n//#region src/odata/useODataMetadataQuery.ts\nfunction F(t) {\n\treturn a(`/${t.service}/$metadata`, {\n\t\tbaseUrl: e(t.service, t.baseUrl),\n\t\tinit: { headers: {\n\t\t\tAccept: \"*/*\",\n\t\t\t\"Content-Type\": \"application/xml\"\n\t\t} },\n\t\ttransform: async (e) => {\n\t\t\ttry {\n\t\t\t\treturn x(await e.text());\n\t\t\t} catch (e) {\n\t\t\t\tthrow Error(`Сервис ${t.service} содержит необработанную ошибку: ${String(e)}`);\n\t\t\t}\n\t\t}\n\t});\n}\nvar I = (e) => f({\n\tqueryKey: [\n\t\t...S,\n\t\t\"metadata\",\n\t\te\n\t],\n\tqueryFn: F(e),\n\tmeta: h,\n\tenabled: !!e.service,\n\tstaleTime: Infinity,\n\tgcTime: Infinity\n});\nasync function L(e, t, n) {\n\tif (!t.service) return;\n\tlet r = I(t).queryKey;\n\tP(e.getQueryState(r), n) && await N(e, t.service);\n}\nfunction R(e) {\n\tlet t = m(), n = d(() => ({\n\t\tservice: e.service,\n\t\tbaseUrl: e.baseUrl\n\t}), [e.baseUrl, e.service]), r = p(M(d(() => ({ service: e.service }), [e.service]))), i = p(I(n));\n\treturn u(() => {\n\t\t!e.service || !r.isSuccess || L(t, n, r.data);\n\t}, [\n\t\tn,\n\t\ti.dataUpdatedAt,\n\t\te.service,\n\t\tt,\n\t\tr.data,\n\t\tr.isSuccess\n\t]), i;\n}\nfunction z(e) {\n\treturn p(M(e));\n}\nasync function B(e, t) {\n\tlet n = { service: e.service };\n\ttry {\n\t\tawait L(t, e, await t.fetchQuery(M(n)));\n\t} catch {}\n}\nasync function V(e, t) {\n\tif (e.service) return await t.fetchQuery(I(e)), await B(e, t), t.fetchQuery(I(e));\n}\n//#endregion\n//#region src/odata/odataFetchFnHelpers.ts\nfunction H(e) {\n\treturn \"returnType\" in e;\n}\nfunction U(e, t) {\n\tlet n = e?.entities[t], r = e?.functionImports[t];\n\tif (n && r) throw Error(`Найден конфликт metadata: '${t}' существует и как Entity, и как FunctionImport`);\n\tif (n) return n;\n\tif (r) return r;\n\tthrow Error(`OData target '${t}' не был загружен`);\n}\nfunction W(e, t, n) {\n\tif (H(e)) {\n\t\tif (t !== \"fi\") throw Error(`OData operation '${t}' несовместима с FunctionImport '${e.name}'. Для FunctionImport используйте method: 'fi'.`);\n\t\treturn;\n\t}\n\tif (t === \"fi\") throw Error(`OData operation 'fi' несовместима с Entity '${n.target}'. Для Entity используйте один из методов: 'create', 'update', 'delete', 'read', 'query', 'fm'.`);\n\tif (t === \"read\" && e.result) throw Error(`OData operation '${t}' несовместима с parameterized query entity '${n.target}'. Для target с result='${e.result}' используйте method: 'query'.`);\n}\nfunction G(e, t) {\n\tif (t === \"create\") return \"POST\";\n\tif (t === \"update\") return \"PUT\";\n\tif (t === \"delete\") return \"DELETE\";\n\tif (t === \"read\" || t === \"query\") return \"GET\";\n\tif (H(e)) {\n\t\tif (!e.httpMethod) throw Error(`FunctionImport '${e.name}' не содержит httpMethod в metadata, поэтому operation 'fi' выполнить нельзя.`);\n\t\treturn e.httpMethod;\n\t}\n\tthrow Error(`OData operation '${t}' не поддерживается для target '${\"title\" in e ? e.title : \"unknown\"}'.`);\n}\nfunction K(e, t) {\n\tif (e && (t === \"create\" || t === \"update\")) return JSON.stringify(e);\n}\nfunction q(e, t, n, r) {\n\tif (H(e)) return _(e, t, n);\n\tif (r === \"fi\") throw Error(`OData operation 'fi' несовместима с Entity '${t.target}'.`);\n\treturn g(e, t, n, r);\n}\n//#endregion\n//#region src/odata/parseODataResponseByMetadata.ts\nfunction J(e, t) {\n\tif (!H(e)) return e.columns;\n\tif (e.resultEntity) return t.entities[e.resultEntity]?.columns;\n}\nfunction Y(e) {\n\tlet t = [];\n\tfor (let n = 0; n < e.length; n += 1) {\n\t\tlet r = e[n];\n\t\tt.push({\n\t\t\tid: r.id,\n\t\t\ttype: r.type,\n\t\t\tabapBooleanLike: r.abapBooleanLike\n\t\t});\n\t}\n\treturn t;\n}\nfunction X(e, t) {\n\tlet n;\n\tfor (let r = 0; r < t.length; r += 1) {\n\t\tlet i = t[r];\n\t\tif (!Object.prototype.hasOwnProperty.call(e, i.id)) continue;\n\t\tlet a = e[i.id], o = b(i, a);\n\t\to !== a && (n ||= { ...e }, n[i.id] = o);\n\t}\n\treturn n ?? e;\n}\nfunction Z(e, t, n) {\n\tlet r = J(t, n);\n\tif (!r?.length) return e;\n\tlet i = Y(r);\n\tif (Array.isArray(e)) {\n\t\tlet t;\n\t\tfor (let n = 0; n < e.length; n += 1) {\n\t\t\tlet r = e[n];\n\t\t\tif (!s(r)) continue;\n\t\t\tlet a = X(r, i);\n\t\t\ta !== r && (t ||= e.slice(), t[n] = a);\n\t\t}\n\t\treturn t ?? e;\n\t}\n\treturn s(e) ? X(e, i) : e;\n}\n//#endregion\n//#region src/odata/odataFetchFn.ts\nfunction Q(...t) {\n\tlet [n, i] = t, { odata: a, options: o = {}, init: s = {}, autoParse: c, swCache: l } = i, u = \"params\" in i ? i.params ?? {} : {};\n\treturn async ({ client: t, signal: d }) => {\n\t\tlet f = e(a.service, o.baseUrl), p = await V({\n\t\t\tservice: a.service,\n\t\t\tbaseUrl: f\n\t\t}, t);\n\t\tif (!p) throw Error(`Не удалось загрузить metadata OData-сервиса '${a.service}'`);\n\t\tlet m = U(p, a.target);\n\t\tW(m, n, a);\n\t\tlet h = \"body\" in i ? K(i.body, n) : void 0, g = G(m, n);\n\t\t__DEV__ && n === \"query\" && !(\"result\" in m) && Object.keys(u).length > 0 && console.warn(`OData query для plain entity \"${a.service}/${a.target}\" получил params, но они будут проигнорированы. Для чтения сущности по ключу используйте odataReadFn.`);\n\t\tlet _ = q(m, a, u, n), v = l ? {\n\t\t\t...o,\n\t\t\tbaseUrl: f,\n\t\t\tswCache: l\n\t\t} : {\n\t\t\t...o,\n\t\t\tbaseUrl: f\n\t\t}, y = {\n\t\t\t...s,\n\t\t\tmethod: g,\n\t\t\tbody: h,\n\t\t\tsignal: d\n\t\t};\n\t\tif (n === \"query\") {\n\t\t\tlet e = await T(_, v, y);\n\t\t\tif (r(e)) throw Error(\"OData query не должен возвращать 204 No Content\");\n\t\t\tlet t = c ? Z(e.data, m, p) : e.data;\n\t\t\treturn {\n\t\t\t\tdata: i.transform ? i.transform(t, m) : t,\n\t\t\t\ttotalCount: e.totalCount\n\t\t\t};\n\t\t}\n\t\tlet b = await T(_, v, y);\n\t\tif (r(b)) return { data: b.data };\n\t\tlet x = c ? Z(b.data, m, p) : b.data;\n\t\treturn {\n\t\t\tdata: i.transform ? i.transform(x, m) : x,\n\t\t\ttotalCount: b.totalCount\n\t\t};\n\t};\n}\nfunction $(e) {\n\treturn Q(\"create\", e);\n}\nfunction ee(e) {\n\treturn Q(\"update\", e);\n}\nfunction te(e) {\n\treturn Q(\"delete\", e);\n}\nfunction ne(e) {\n\treturn Q(\"read\", e);\n}\nfunction re(e) {\n\treturn Q(\"query\", e);\n}\nfunction ie(e) {\n\treturn Q(\"fi\", e);\n}\n//#endregion\nexport { S, I as _, re as a, w as b, q as c, K as d, G as f, V as g, F as h, ie as i, H as l, L as m, te as n, ne as o, W as p, Q as r, ee as s, $ as t, U as u, R as v, T as x, z as y };\n\n//# sourceMappingURL=odataFetchFn-D8PGKDZM.js.map","import { C as e, S as t, _ as n, a as r, b as i, c as a, d as o, f as s, g as c, h as l, i as u, l as d, m as f, n as p, o as m, p as h, r as g, s as _, t as v, u as y, v as b, w as x, x as S, y as C } from \"../chunks/fetch-CPEFkAcU.js\";\nimport { S as ee, _ as te, a as ne, b as re, c as ie, d as ae, f as oe, g as se, h as ce, i as le, l as ue, m as de, n as fe, o as pe, p as me, r as w, s as he, t as ge, u as _e, v as T, x as E, y as ve } from \"../chunks/odataFetchFn-D8PGKDZM.js\";\nimport { logError as ye } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { parseDate as be } from \"@ryuzaki13/react-foundation-lib/formatters\";\nimport { compareStrings as xe } from \"@ryuzaki13/react-foundation-lib/string-comparison\";\nimport { useCallback as D, useEffect as Se, useMemo as O, useRef as Ce, useState as k } from \"react\";\nimport { queryOptions as we, useQuery as A, useQueryClient as j } from \"@tanstack/react-query\";\nimport { buildSeparatedArrays as Te, useODataCollectionStore as Ee } from \"@ryuzaki13/react-foundation-lib/odata\";\nimport { persistedQueryMeta as M } from \"@ryuzaki13/react-foundation-lib/query-client\";\nimport { buildEntityPath as De } from \"@ryuzaki13/react-foundation-lib/odata-service\";\nimport { createTableColumnVisibilityFromODataMetadata as N, createTableColumnsFromODataMetadata as Oe, enrichTableColumnsWithODataFormatting as ke, resolveStableColumnId as Ae } from \"@ryuzaki13/react-foundation-lib/table\";\nimport { notify as je } from \"@ryuzaki13/react-foundation-lib/notifications\";\n//#region src/odata/createODataCollectionQueryKey.ts\nvar P = () => [...ee, \"collection\"], F = ({ service: e, target: t, limitedKeys: n, serverFilter: r }) => [...P(), {\n\tservice: e,\n\ttarget: t,\n\tlimitedKeys: n,\n\tserverFilter: r\n}];\n//#endregion\n//#region src/odata/flattenODataDependentServices.ts\nfunction Me(e) {\n\tlet t = [];\n\tfor (let [n, r] of e.entries()) {\n\t\tlet e = `${r.odata.service}.${r.odata.target}`;\n\t\tfor (let [i, [a, o]] of Object.entries(r.segments).entries()) t.push({\n\t\t\tid: a,\n\t\t\tserviceKey: e,\n\t\t\tserviceIndex: n,\n\t\t\tsegmentIndex: i,\n\t\t\todata: r.odata,\n\t\t\tsegment: o,\n\t\t\tmodel: {\n\t\t\t\t...r.model,\n\t\t\t\tcodeKey: a\n\t\t\t},\n\t\t\tpanelVisibility: o.panelVisibility ?? \"user\"\n\t\t});\n\t}\n\treturn t;\n}\n//#endregion\n//#region src/odata/sortODataDependentSegmentItemsByChains.ts\nfunction Ne(e, t, n) {\n\tlet r = /* @__PURE__ */ new Map();\n\tfor (let [e, n] of Object.entries(t)) r.set(e, new Map(n.map((e, t) => [e.codeKey, t])));\n\tlet i = [...e].map((e, t) => ({\n\t\titem: e,\n\t\tindex: t\n\t})).sort((e, t) => {\n\t\tif (e.item.serviceIndex !== t.item.serviceIndex) return e.item.serviceIndex - t.item.serviceIndex;\n\t\tlet n = r.get(e.item.serviceKey), i = n?.get(e.item.id), a = n?.get(t.item.id);\n\t\treturn i !== void 0 && a !== void 0 ? i - a : i === void 0 ? a === void 0 ? e.item.segmentIndex === t.item.segmentIndex ? e.index - t.index : e.item.segmentIndex - t.item.segmentIndex : 1 : -1;\n\t});\n\tif (!n?.length) return i.map(({ item: e }) => e);\n\tlet a = new Set(i.map(({ item: e }) => e.id)), o = [...new Set(n)].filter((e) => a.has(e));\n\tif (o.length === 0) return i.map(({ item: e }) => e);\n\tlet s = new Map(o.map((e, t) => [e, t]));\n\treturn [...i].sort((e, t) => {\n\t\tlet n = s.get(e.item.id), r = s.get(t.item.id);\n\t\treturn n !== void 0 && r !== void 0 ? n - r : n === void 0 ? r === void 0 ? e.index - t.index : 1 : -1;\n\t}).map(({ item: e }) => e);\n}\n//#endregion\n//#region src/odata/sortODataDependentServicesByChains.ts\nfunction Pe(e, t) {\n\tif (!t?.length) return [...e];\n\tlet n = /* @__PURE__ */ new Set();\n\tfor (let t of e) for (let e of Object.keys(t.segments)) n.add(e);\n\tlet r = [...new Set(t)].filter((e) => n.has(e));\n\tif (r.length === 0) return [...e];\n\tlet i = new Map(r.map((e, t) => [e, t])), a = r.length, o = /* @__PURE__ */ new Map(), s = a;\n\tfor (let t of e) for (let e of Object.keys(t.segments)) o.has(e) || o.set(e, i.get(e) ?? s++);\n\treturn [...e.map((e) => {\n\t\tlet t = Object.entries(e.segments).sort(([e], [t]) => (o.get(e) ?? 2 ** 53 - 1) - (o.get(t) ?? 2 ** 53 - 1));\n\t\treturn {\n\t\t\t...e,\n\t\t\tsegments: Object.fromEntries(t)\n\t\t};\n\t})].sort((e, t) => {\n\t\tlet n = Object.keys(e.segments)[0], r = Object.keys(t.segments)[0];\n\t\treturn (n ? o.get(n) ?? 2 ** 53 - 1 : 2 ** 53 - 1) - (r ? o.get(r) ?? 2 ** 53 - 1 : 2 ** 53 - 1);\n\t});\n}\nfunction Fe(e, t, n) {\n\treturn Pe(e.map((e) => {\n\t\tlet n = t[`${e.odata.service}.${e.odata.target}`];\n\t\tif (!n?.length) return e;\n\t\tlet r = new Map(n.map((e, t) => [e.codeKey, t])), i = Object.entries(e.segments).sort(([e], [t]) => {\n\t\t\tlet n = r.get(e), i = r.get(t);\n\t\t\treturn n !== void 0 && i !== void 0 ? n - i : n === void 0 ? i === void 0 ? xe(e, t) : 1 : -1;\n\t\t});\n\t\treturn {\n\t\t\t...e,\n\t\t\tsegments: Object.fromEntries(i)\n\t\t};\n\t}), n);\n}\n//#endregion\n//#region src/odata/fetchCollectionData.ts\nasync function Ie(e) {\n\tlet { url: t, query: n, signal: r } = e;\n\ttry {\n\t\tlet e = await E(t, n, { signal: r });\n\t\tif (a(e)) throw Error(\"отсутствует тело ответа\");\n\t\treturn { items: e.data.map(({ ID: e, CNT: t, __metadata: n, __Parameters: r, ...i }) => i) };\n\t} catch (e) {\n\t\treturn ye(\"Ошибка загрузки справочника:\", e), { items: [] };\n\t}\n}\n//#endregion\n//#region src/odata/useODataCollectionUpdatesQuery.ts\nvar Le = __APP_BUILD_ID__, Re = 1e3 * 60 * 60 * 4, I = 1e3 * 60 * 60 * 24 * 7, L = \"ttl=forever;name=ref\", R = \"bust=forever;name=ref\", z = \"ttl=4h;name=ref-updates\", B = () => [\n\t...ee,\n\t\"collection-updates\",\n\t{ buildId: Le }\n];\nfunction ze(e) {\n\treturn {\n\t\t...e,\n\t\tlastChangedAt: be(e.lastChanged)\n\t};\n}\nfunction V(e, t) {\n\tlet n = e.map(ze);\n\treturn {\n\t\titems: n,\n\t\tbyEntityName: n.reduce((e, t) => (t.entityName && (e[t.entityName] = t), e), {}),\n\t\tfetchedAt: t,\n\t\tcoverageStartedAt: t - I\n\t};\n}\nfunction H() {\n\treturn async ({ signal: t }) => {\n\t\tlet n = Date.now(), r = S().collectionUpdates;\n\t\treturn r ? V((await E(`/${r.service}/${r.target}`, {\n\t\t\tbaseUrl: e(r.service, r.baseUrl),\n\t\t\tswCache: z\n\t\t}, { signal: t })).data, Math.max(n, Date.now())) : V([], n);\n\t};\n}\nvar U = (e = {}) => we({\n\tqueryKey: B(),\n\tqueryFn: H(),\n\tmeta: M,\n\tenabled: !!S().collectionUpdates,\n\tstaleTime: e.staleTime ?? Re,\n\tgcTime: Infinity\n});\nfunction W(e = {}) {\n\treturn A(U(e));\n}\n//#endregion\n//#region src/odata/useODataMetadata.ts\nfunction G(e) {\n\tlet { data: t, dataUpdatedAt: n = 0, isLoading: r, isError: i } = T({ service: e.service }), a = t?.entities[e.target];\n\tif (!r && !a && t?.functionImports[e.target]) throw Error(`OData target '${e.target}' является FunctionImport и не может использоваться как сущность`);\n\tif (i) throw Error(`Ошибка загрузки метаданных сервиса ${e.service}`);\n\treturn {\n\t\tmetadata: a,\n\t\tmetadataUpdatedAt: n,\n\t\tisLoading: r\n\t};\n}\n//#endregion\n//#region src/odata/useODataEntity.ts\nvar K = \"Использование actions недопустимо до окончания загрузки metadata\";\nfunction q(e) {\n\tlet { metadata: t, metadataUpdatedAt: n, isLoading: r } = G(e);\n\treturn {\n\t\tconfig: e,\n\t\tmetadata: t,\n\t\tmetadataUpdatedAt: n,\n\t\tisLoading: r,\n\t\tactions: O(() => ({\n\t\t\tgetEntityPath: (n = {}) => {\n\t\t\t\tif (!t) throw Error(K);\n\t\t\t\treturn De(t, e, n);\n\t\t\t},\n\t\t\tgetKeys: () => {\n\t\t\t\tif (!t) throw Error(K);\n\t\t\t\treturn t.columns?.map((e) => e.id);\n\t\t\t},\n\t\t\tgetKeyPairs: () => {\n\t\t\t\tif (!t) throw Error(K);\n\t\t\t\treturn t.columns?.filter((e) => e.semanticType === \"code\" && e.linkedColumnId).map((e) => ({\n\t\t\t\t\tcodeKey: e.id,\n\t\t\t\t\ttextKey: e.linkedColumnId\n\t\t\t\t}));\n\t\t\t},\n\t\t\tgetKeyPairsMap: () => {\n\t\t\t\tif (!t) throw Error(K);\n\t\t\t\tlet e = {};\n\t\t\t\tfor (let n of t.columns ?? []) n.semanticType === \"code\" && n.linkedColumnId && (e[n.id] = n.linkedColumnId);\n\t\t\t\treturn e;\n\t\t\t}\n\t\t}), [e, t])\n\t};\n}\n//#endregion\n//#region src/odata/useODataCollectionQuery.ts\nfunction J(e, t) {\n\tif (!t) return e;\n\tlet n = e.trim().toLowerCase();\n\treturn n === \"off\" || n.startsWith(\"bust=\") ? e : n.startsWith(\"ttl=\") ? e.replace(/^\\s*ttl=/i, \"bust=\") : R;\n}\nfunction Y(e) {\n\treturn typeof e == \"number\" && Number.isFinite(e) && e > 0;\n}\nfunction Be(e, t) {\n\tlet n = t?.cacheUpdatedAt ?? 0, r = e.update?.lastChangedAt?.getTime();\n\treturn !!(Y(r) && (!t || !n || r > n) || Y(e.metadataUpdatedAt) && (!t || !n || e.metadataUpdatedAt > n) || Y(e.updatesCoverageStartedAt) && (!t || !n || n < e.updatesCoverageStartedAt));\n}\nfunction X(e) {\n\tlet { service: t, target: n, limitedKeys: r, excludeEmpty: i, sortByCode: a, serverFilter: o, clientFilter: s, swCache: c = L } = e, l = j(), { actions: u, metadata: d, metadataUpdatedAt: f, isLoading: p } = q(e), m = W(), h = O(() => F({\n\t\tservice: t,\n\t\ttarget: n,\n\t\tlimitedKeys: r,\n\t\tserverFilter: o\n\t}), [\n\t\tt,\n\t\tn,\n\t\tr,\n\t\to\n\t]), g = l.getQueryData(h), _ = m.data?.byEntityName[n], v = Be({\n\t\tupdate: _,\n\t\tmetadataUpdatedAt: f,\n\t\tupdatesCoverageStartedAt: m.data?.coverageStartedAt\n\t}, g), y = J(c, v), b = m.isError || m.isSuccess && !m.isFetching;\n\treturn Se(() => {\n\t\t!g || !v || l.invalidateQueries({ queryKey: h });\n\t}, [\n\t\tg,\n\t\tl,\n\t\th,\n\t\tv\n\t]), A({\n\t\tqueryKey: h,\n\t\tqueryFn: async ({ signal: e }) => {\n\t\t\tlet c = Date.now(), l = r ? [...r] : u.getKeys(), d = u.getKeyPairs(), p = u.getKeyPairsMap();\n\t\t\tif (r) for (let e of r) {\n\t\t\t\tlet t = p[e];\n\t\t\t\tt && !l.includes(t) && l.push(t);\n\t\t\t}\n\t\t\tlet { items: m } = await Ie({\n\t\t\t\turl: `/${t}/${n}`,\n\t\t\t\tquery: {\n\t\t\t\t\tselect: l,\n\t\t\t\t\texpression: o,\n\t\t\t\t\tswCache: y\n\t\t\t\t},\n\t\t\t\tsignal: e\n\t\t\t}), h = m;\n\t\t\ts && (h = m.filter(s));\n\t\t\tlet g = Te(h, d, i, a), v = d.map((e) => ({\n\t\t\t\tcodeKey: e.codeKey,\n\t\t\t\tcount: g[e.codeKey].length\n\t\t\t})).sort((e, t) => e.count - t.count);\n\t\t\treturn {\n\t\t\t\titems: h,\n\t\t\t\tkeyPairs: d,\n\t\t\t\tkeyPairsMap: p,\n\t\t\t\tseparated: g,\n\t\t\t\tchain: v,\n\t\t\t\tcount: h.length,\n\t\t\t\tcacheUpdatedAt: Math.max(c, Date.now(), _?.lastChangedAt?.getTime() ?? 0, f)\n\t\t\t};\n\t\t},\n\t\tenabled: !!(!p && d && t && n && b),\n\t\tmeta: M,\n\t\tstaleTime: 1e3 * 60 * 60 * 2,\n\t\tgcTime: 1e3 * 60 * 60 * 1\n\t});\n}\n//#endregion\n//#region src/odata/useODataCollection.ts\nfunction Ve({ odata: e, model: t, pageSize: n = 50 }) {\n\tlet { codeKey: r, maxVisibleItems: i } = t, { data: a, isLoading: o, isError: s, refetch: c } = X(e), l = a?.keyPairsMap[r] ?? \"\", u = j(), [d, f] = k(), p = Ce(/* @__PURE__ */ new Map()), { itemsMap: m, separatedItems: h, orderedKeys: g } = O(() => {\n\t\tlet e = /* @__PURE__ */ new Map(), t = [], n = [];\n\t\tif (a && a.separated[r]) {\n\t\t\tn = a.separated[r];\n\t\t\tfor (let i of n) {\n\t\t\t\tlet n = i[r];\n\t\t\t\tn && (e.set(n, i), t.push(n));\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\titemsMap: e,\n\t\t\tseparatedItems: n,\n\t\t\torderedKeys: t\n\t\t};\n\t}, [a, r]), _ = D((e) => {\n\t\tlet t = a?.separated[r];\n\t\tif (!t) return /* @__PURE__ */ new Map();\n\t\tlet n = /* @__PURE__ */ new Map();\n\t\tfor (let i of t) {\n\t\t\tlet t = i[e]?.toLowerCase();\n\t\t\tif (t) for (let e = 1; e <= Math.min(5, t.length); e++) {\n\t\t\t\tlet a = t.substring(0, e);\n\t\t\t\tn.has(a) || n.set(a, /* @__PURE__ */ new Set()), n.get(a).add(i[r]);\n\t\t\t}\n\t\t}\n\t\treturn n;\n\t}, [a, r]), v = D((e) => {\n\t\tf(() => {\n\t\t\tif (e?.length) return new Set(e.map((e) => e[r]));\n\t\t});\n\t}, [r]), y = D((e, t) => {\n\t\tif (!g.length) return [];\n\t\tlet n = i, a = /* @__PURE__ */ new Set(), o = [];\n\t\tif (t?.length) for (let e = 0; e < t.length; e++) a.add(t[e][r]);\n\t\tlet s = 0, c = d && d.size > 0;\n\t\tfor (let t of g) {\n\t\t\tif (s >= n) break;\n\t\t\tlet i = m.get(t);\n\t\t\tif (!i || a.size > 0 && a.has(t)) continue;\n\t\t\tlet u = i[r];\n\t\t\tc && !d.has(u) || e && !e(u, i[l]) || (o.push(i), s++);\n\t\t}\n\t\treturn o;\n\t}, [\n\t\tg,\n\t\ti,\n\t\tr,\n\t\tm,\n\t\td,\n\t\tl\n\t]), b = D((e) => {\n\t\tlet t = a?.separated[r] || [], i = e * n, o = i + n;\n\t\treturn t.slice(i, o);\n\t}, [\n\t\ta,\n\t\tn,\n\t\tr\n\t]), x = D((e, t) => {\n\t\tif (!a) return [];\n\t\tlet n = new Set(t);\n\t\treturn a.items.filter((t) => n.has(t[e]));\n\t}, [a]), S = D((e, t, n = 200) => {\n\t\tp.current.has(e) && clearTimeout(p.current.get(e));\n\t\tlet r = setTimeout(t, n);\n\t\tp.current.set(e, r);\n\t}, []), C = D(() => {\n\t\tfor (let e of p.current.values()) clearTimeout(e);\n\t\tp.current.clear();\n\t}, []);\n\treturn O(() => () => {\n\t\tC();\n\t}, [C]), {\n\t\tdata: a,\n\t\tisLoading: o,\n\t\tisError: s,\n\t\tcodeKey: r,\n\t\ttextKey: l,\n\t\tgetItems: y,\n\t\tfindSourceItemsByKeys: x,\n\t\tsetFilteredItems: v,\n\t\tgetPage: b,\n\t\tbuildSearchIndex: _,\n\t\tdebounce: S,\n\t\titemsMap: m,\n\t\tseparatedItems: h,\n\t\torderedKeys: g,\n\t\trefetch: c,\n\t\tinvalidate: () => u.invalidateQueries({ queryKey: F(e) }),\n\t\ttotalCount: a?.separated[r]?.length || 0,\n\t\tpageSize: n\n\t};\n}\n//#endregion\n//#region src/odata/useODataCollectionChains.ts\nfunction He(e) {\n\tlet t = j(), [n, r] = k({}), i = O(() => e.map((e) => F(e)), [e]);\n\treturn Se(() => {\n\t\tfunction n() {\n\t\t\tlet n = {};\n\t\t\tfor (let r of e) {\n\t\t\t\tlet e = F(r), i = t.getQueryData(e);\n\t\t\t\ti?.chain && (n[`${r.service}.${r.target}`] = i.chain);\n\t\t\t}\n\t\t\tr((e) => Object.keys(e).length === Object.keys(n).length && Object.entries(n).every(([t, n]) => e[t] === n) ? e : n);\n\t\t}\n\t\treturn n(), t.getQueryCache().subscribe((e) => {\n\t\t\tif (e?.query) {\n\t\t\t\tlet t = e.query;\n\t\t\t\ti.some((e) => JSON.stringify(e) === JSON.stringify(t.queryKey)) && n();\n\t\t\t}\n\t\t});\n\t}, [\n\t\te,\n\t\tt,\n\t\ti\n\t]), n;\n}\n//#endregion\n//#region src/odata/useODataCollectionModel.ts\nfunction Ue(e) {\n\tlet [t] = k(() => {\n\t\tlet t = Ee.getState(), { codeKey: n, maxVisibleItems: r = t.defaultMaxVisibleItems, minSearchCodeLength: i = t.defaultMinSearchCodeLength, minSearchTextLength: a = t.defaultMinSearchTextLength, searchDebounceDelay: o = t.defaultSearchDebounceDelay } = e;\n\t\treturn {\n\t\t\tcodeKey: n,\n\t\t\tmaxVisibleItems: r,\n\t\t\tminSearchCodeLength: i,\n\t\t\tminSearchTextLength: a,\n\t\t\tsearchDebounceDelay: o\n\t\t};\n\t});\n\treturn t;\n}\n//#endregion\n//#region src/odata/useODataTableColumns.ts\nfunction We(e, t) {\n\tlet n = {}, r = (e) => {\n\t\tfor (let i of e) {\n\t\t\tif (\"columns\" in i && Array.isArray(i.columns) && i.columns.length > 0) {\n\t\t\t\tr(i.columns);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tlet e = Ae(i);\n\t\t\t!e || !(e in t) || (n[e] = t[e]);\n\t\t}\n\t};\n\treturn r(e), n;\n}\nfunction Ge(e) {\n\tlet { metadata: t, isLoading: n } = G(e);\n\treturn {\n\t\tcolumns: O(() => t ? e.mode === \"build\" ? Oe(t.columns, {\n\t\t\tresolveHeader: e.resolveHeader,\n\t\t\tresolveFormatting: e.resolveFormatting\n\t\t}) : ke(e.columns, t.columns) : e.mode === \"build\" ? [] : [...e.columns], [e, t]),\n\t\tdefaultColumnVisibility: O(() => {\n\t\t\tif (!t) return;\n\t\t\tif (e.mode === \"build\") return N(t.columns, { resolveVisible: e.resolveVisible });\n\t\t\tlet n = N(t.columns);\n\t\t\treturn We(e.columns, n);\n\t\t}, [e, t]),\n\t\tmetadata: t,\n\t\tisLoading: n\n\t};\n}\n//#endregion\n//#region src/odata/useTextServiceQuery.ts\nfunction Ke(e) {\n\treturn X({\n\t\tservice: \"TEXT_DICTIONARY_SRV\",\n\t\ttarget: e\n\t});\n}\n//#endregion\n//#region src/odata/odataFetchFnDev.ts\nfunction qe() {\n\treturn globalThis.console;\n}\nfunction Je(e) {\n\tlet t = {};\n\treturn new Headers(e).forEach((e, n) => {\n\t\tt[n] = e;\n\t}), t;\n}\nfunction Ye(e) {\n\tif (e != null) {\n\t\tif (typeof e != \"string\") return e;\n\t\ttry {\n\t\t\treturn JSON.parse(e);\n\t\t} catch {\n\t\t\treturn e;\n\t\t}\n\t}\n}\nfunction Xe(e) {\n\treturn e !== void 0 && ![\"GET\", \"HEAD\"].includes(e.toUpperCase());\n}\nfunction Ze(e) {\n\treturn (e.baseUrl ?? \"odata\") === \"\" ? e.path.startsWith(\"/sap/\") || e.path.startsWith(\"/sap-dp0/\") : !0;\n}\nfunction Qe(e, t) {\n\tlet n = t.toLowerCase();\n\treturn Object.keys(e).some((e) => e.toLowerCase() === n);\n}\nfunction Z(e, t, n) {\n\tQe(e, t) || (e[t] = n);\n}\nfunction $e(e) {\n\tlet t = Je(e.init.headers), n = e.init.method, r = Ze(e);\n\treturn Z(t, \"DataServiceVersion\", \"2.0\"), Z(t, \"MaxDataServiceVersion\", \"2.0\"), Z(t, \"Accept\", \"application/json\"), t[\"sap-language\"] = \"ru\", r && (t[\"sap-contextid-accept\"] = \"header\"), Xe(n) && e.init.body && Z(t, \"Content-Type\", \"application/json\"), Xe(n) && r && Z(t, \"x-csrf-token\", \"<получается отдельным GET перед реальным write-запросом>\"), t;\n}\nfunction et(e) {\n\treturn ue(e) ? \"FunctionImport\" : e.result ? \"Parameterized Entity\" : \"Entity\";\n}\nfunction Q(e, t) {\n\tlet n = qe();\n\tn.groupCollapsed(e), n.info(t), n.groupEnd();\n}\nfunction tt(e) {\n\tlet t = qe(), n = Ye(e.request.init.body), r = Je(e.request.init.headers), i = $e(e.request), a = {\n\t\tmethod: e.request.init.method,\n\t\theaders: r,\n\t\tbody: n,\n\t\thasSignal: !!e.request.init.signal\n\t};\n\tt.groupCollapsed(`[OData DEV] ${e.requestMethod} ${e.request.fullUrl}`), t.table([{\n\t\thelper: e.helperName,\n\t\toperation: e.operation,\n\t\ttarget: e.odata.target,\n\t\ttargetKind: et(e.target),\n\t\tservice: e.odata.service,\n\t\trealFetch: \"не выполнялся\"\n\t}]), t.info(\"Итоговый URL:\", e.request.fullUrl), t.info(\"Path без base URL:\", e.request.path), t.info(\"Target path до query options:\", e.targetPath), t.info(\"Query string:\", e.request.queryString || \"<пусто>\"), t.info(\"Body:\", n ?? \"<пусто>\"), t.info(\"Auto parse:\", e.autoParse ?? !1), t.info(\"Transform:\", e.hasTransform ? \"передан, но не вызывается без ответа backend\" : \"не передан\"), t.info(\"Dry-run result:\", e.operation === \"query\" ? {\n\t\tdata: [],\n\t\ttotalCount: 0\n\t} : { data: void 0 }), Q(\"OData config\", e.odata), Q(\"Target metadata\", e.target), Q(\"Target params\", e.params), Q(\"Query options\", e.queryOptions), Q(\"RequestInit, переданный в transport\", a), Q(\"Заголовки после transport defaults (без реального fetch)\", i), t.groupEnd();\n}\nfunction nt(e) {\n\tje.warning(`${e}: DEV dry-run OData запроса. Реальный запрос не выполняется, payload выведен в console.`, { title: \"OData DEV helper\" });\n}\nfunction $(t, n, r) {\n\tlet { odata: i, options: a = {}, init: o = {}, autoParse: s, swCache: c } = n, l = n.params ?? {};\n\treturn async ({ client: u, signal: d }) => {\n\t\tnt(r);\n\t\tlet f = e(i.service, a.baseUrl), p = await se({\n\t\t\tservice: i.service,\n\t\t\tbaseUrl: f\n\t\t}, u);\n\t\tif (!p) throw Error(`Не удалось загрузить metadata OData-сервиса '${i.service}'`);\n\t\tlet m = _e(p, i.target);\n\t\tme(m, t, i);\n\t\tlet h = ae(n.body, t), g = oe(m, t), _ = ie(m, i, l, t), v = c ? {\n\t\t\t...a,\n\t\t\tbaseUrl: f,\n\t\t\tswCache: c\n\t\t} : {\n\t\t\t...a,\n\t\t\tbaseUrl: f\n\t\t}, y = re(_, v, {\n\t\t\t...o,\n\t\t\tmethod: g,\n\t\t\tbody: h,\n\t\t\tsignal: d\n\t\t});\n\t\treturn tt({\n\t\t\thelperName: r,\n\t\t\toperation: t,\n\t\t\todata: i,\n\t\t\ttarget: m,\n\t\t\ttargetPath: _,\n\t\t\trequest: y,\n\t\t\trequestMethod: g,\n\t\t\tparams: l,\n\t\t\tqueryOptions: v,\n\t\t\tbody: h,\n\t\t\tautoParse: s,\n\t\t\thasTransform: !!n.transform\n\t\t}), t === \"query\" ? {\n\t\t\tdata: [],\n\t\t\ttotalCount: 0\n\t\t} : { data: void 0 };\n\t};\n}\nfunction rt(e) {\n\treturn __DEV__ ? $(\"create\", e, \"odataCreateFnDev\") : w(\"create\", e);\n}\nfunction it(e) {\n\treturn __DEV__ ? $(\"update\", e, \"odataUpdateFnDev\") : w(\"update\", e);\n}\nfunction at(e) {\n\treturn __DEV__ ? $(\"delete\", e, \"odataDeleteFnDev\") : w(\"delete\", e);\n}\nfunction ot(e) {\n\treturn __DEV__ ? $(\"read\", e, \"odataReadFnDev\") : w(\"read\", e);\n}\nfunction st(e) {\n\treturn __DEV__ ? $(\"query\", e, \"odataQueryFnDev\") : w(\"query\", e);\n}\nfunction ct(e) {\n\treturn __DEV__ ? $(\"fi\", e, \"odataFunctionImportFnDev\") : w(\"fi\", e);\n}\n//#endregion\nexport { h as BaseAppConfigURL, f as BaseODataDp0URL, l as BaseODataUI2URL, c as BaseODataURL, n as BaseUrlMap, R as ODATA_COLLECTION_BUST_SW_CACHE, L as ODATA_COLLECTION_DEFAULT_SW_CACHE, I as ODATA_COLLECTION_UPDATES_LOOKBACK_MS, z as ODATA_COLLECTION_UPDATES_SW_CACHE, d as SsoRequiredError, de as applyODataMetadataVersion, i as configureODataProjectAdapter, P as createODataCollectionBaseQueryKey, F as createODataCollectionQueryKey, B as createODataCollectionUpdatesQueryKey, v as fetchBase, p as fetchDeleteFn, g as fetchJson, u as fetchJsonMutationFn, r as fetchJsonQueryFn, ce as fetchMetadata, H as fetchODataCollectionUpdates, m as fetchODataJson, _ as fetchQueryFn, Me as flattenODataDependentServices, b as getInputUrl, se as getODataMetadataData, S as getODataProjectAdapter, a as isNoContentResponse, y as isSsoForm, t as normalizeODataServiceName, C as normalizeRelativePath, U as odataCollectionUpdatesQueryOptions, ge as odataCreateFn, rt as odataCreateFnDev, fe as odataDeleteFn, at as odataDeleteFnDev, E as odataFetch, le as odataFunctionImportFn, ct as odataFunctionImportFnDev, te as odataMetadataQueryOptions, ne as odataQueryFn, st as odataQueryFnDev, pe as odataReadFn, ot as odataReadFnDev, he as odataUpdateFn, it as odataUpdateFnDev, o as recoverSsoSession, e as resolveODataBaseUrl, J as resolveODataCollectionSwCachePolicy, x as resolveODataSapClient, Be as shouldRefreshODataCollectionCache, Ne as sortODataDependentSegmentItemsByChains, Fe as sortODataDependentServicesByChains, s as submitSsoForm, Ve as useODataCollection, He as useODataCollectionChains, Ue as useODataCollectionModel, X as useODataCollectionQuery, W as useODataCollectionUpdatesQuery, q as useODataEntity, G as useODataMetadata, T as useODataMetadataQuery, ve as useODataMetadataVersionQuery, Ge as useODataTableColumns, Ke as useTextServiceQuery };\n\n//# sourceMappingURL=index.js.map","import { useEffect, useMemo, useState } from \"react\";\n\nimport { ODataCollectionModel, ODataSelectBaseProps, useODataCollection } from \"@ryuzaki13/react-foundation-api/odata\";\nimport { startsWithIgnoringZeros } from \"@ryuzaki13/react-foundation-lib/formatters\";\nimport { CollectionItem } from \"@ryuzaki13/react-foundation-lib/odata\";\n\ninterface UseODataSelectBaseOptions extends Omit<ODataSelectBaseProps, \"model\" | \"value\"> {\n\tmodel: Required<ODataCollectionModel>;\n\tvalue?: string[];\n}\n\nconst DEPENDENCY_KEY_SEPARATOR = \"\\u0002\";\nconst DEPENDENCY_VALUE_SEPARATOR = \"\\u0001\";\n\nfunction normalizeDependencyValues(values?: readonly string[]) {\n\tif (!values?.length) return [];\n\treturn [...new Set(values)].sort();\n}\n\nfunction createDependencySignature(codeKey: string, availableKeys: Record<string, unknown>, dependencies?: Record<string, string[]>) {\n\tconst parts: string[] = [];\n\n\tfor (const key of Object.keys(availableKeys).sort()) {\n\t\tif (key === codeKey) continue;\n\n\t\tconst values = normalizeDependencyValues(dependencies?.[key]);\n\t\tif (!values.length) continue;\n\n\t\tparts.push(`${key}:${values.join(DEPENDENCY_VALUE_SEPARATOR)}`);\n\t}\n\n\treturn parts.join(DEPENDENCY_KEY_SEPARATOR);\n}\n\nfunction parseDependencySignature(signature: string) {\n\tconst dependencies = new Map<string, string[]>();\n\tif (!signature) return dependencies;\n\n\tfor (const part of signature.split(DEPENDENCY_KEY_SEPARATOR)) {\n\t\tconst separatorIndex = part.indexOf(\":\");\n\t\tif (separatorIndex < 0) continue;\n\n\t\tconst key = part.slice(0, separatorIndex);\n\t\tconst values = part\n\t\t\t.slice(separatorIndex + 1)\n\t\t\t.split(DEPENDENCY_VALUE_SEPARATOR)\n\t\t\t.filter(Boolean);\n\t\tif (key && values.length) {\n\t\t\tdependencies.set(key, values);\n\t\t}\n\t}\n\n\treturn dependencies;\n}\n\nexport function useODataSelectBase({ odata, segment, model, value, dependencies }: UseODataSelectBaseOptions) {\n\tconst [query, setQuery] = useState(\"\");\n\tconst [debouncedQuery, setDebouncedQuery] = useState(\"\");\n\n\tconst { codeKey, searchDebounceDelay, minSearchCodeLength, minSearchTextLength: minSearchLength } = model;\n\n\tconst {\n\t\tdata: rawData,\n\t\ttextKey,\n\t\tisLoading,\n\t\tisError,\n\t\tgetItems,\n\t\tseparatedItems,\n\t\tfindSourceItemsByKeys,\n\t\tsetFilteredItems,\n\t\tdebounce\n\t} = useODataCollection({ odata, model });\n\n\tconst itemsCount = separatedItems.length;\n\tconst selectionKey = segment.selectText && textKey ? textKey : codeKey;\n\n\tconst dependencySignature = useMemo(() => {\n\t\tif (!rawData) return \"\";\n\t\treturn createDependencySignature(codeKey, rawData.keyPairsMap, dependencies);\n\t}, [rawData, codeKey, dependencies]);\n\n\tuseEffect(() => {\n\t\tif (!rawData) return;\n\n\t\tconst selfIndex = rawData.chain.findIndex((c) => c.codeKey === codeKey);\n\t\tconst currentDependencies = parseDependencySignature(dependencySignature);\n\n\t\tconst resolveFilteredItems = (index: number) => {\n\t\t\tconst key = rawData.chain[index].codeKey;\n\t\t\tconst dependenciesValues = currentDependencies.get(key);\n\t\t\tif (dependenciesValues?.length) {\n\t\t\t\treturn findSourceItemsByKeys(key, dependenciesValues);\n\t\t\t}\n\t\t};\n\n\t\tfor (let i = rawData.chain.length - 1; i > selfIndex; i--) {\n\t\t\tconst filteredItems = resolveFilteredItems(i);\n\t\t\tif (filteredItems) {\n\t\t\t\tsetFilteredItems(filteredItems);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tfor (let i = 0; i < selfIndex; i++) {\n\t\t\tconst filteredItems = resolveFilteredItems(i);\n\t\t\tif (filteredItems) {\n\t\t\t\tsetFilteredItems(filteredItems);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tsetFilteredItems(undefined);\n\t}, [rawData, dependencySignature, codeKey, findSourceItemsByKeys, setFilteredItems]);\n\n\tuseEffect(() => {\n\t\tdebounce(\n\t\t\t\"search\",\n\t\t\t() => {\n\t\t\t\tsetDebouncedQuery(query.trim().toLowerCase());\n\t\t\t},\n\t\t\tsearchDebounceDelay\n\t\t);\n\t}, [debounce, query, searchDebounceDelay]);\n\n\tconst selectedItems = useMemo(() => {\n\t\tif (!value?.length || !selectionKey) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst selectedValues = new Set(value);\n\t\treturn separatedItems.filter((item) => selectedValues.has(item[selectionKey]));\n\t}, [separatedItems, selectionKey, value]);\n\n\tconst filteredItems = useMemo(() => {\n\t\tif (!rawData) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst isFiltered = debouncedQuery.length >= minSearchLength;\n\n\t\tif (!isFiltered) {\n\t\t\treturn getItems(undefined, selectedItems);\n\t\t}\n\n\t\tconst isAheadText = debouncedQuery.length >= minSearchLength;\n\t\tconst isAheadCode = !segment.hideCode && debouncedQuery.length >= minSearchCodeLength && !Number.isNaN(Number(debouncedQuery));\n\n\t\treturn getItems((codeValue: string, textValue: string) => {\n\t\t\tif (codeValue && textValue) {\n\t\t\t\tif (isAheadCode && startsWithIgnoringZeros(codeValue, debouncedQuery)) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tif (isAheadText && textValue.toLowerCase().includes(debouncedQuery)) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn false;\n\t\t}, selectedItems);\n\t}, [debouncedQuery, getItems, minSearchCodeLength, minSearchLength, rawData, segment.hideCode, selectedItems]);\n\n\tconst placeholder = useMemo(() => {\n\t\tconst filteredItemsLength = filteredItems.length;\n\n\t\tif (!itemsCount) {\n\t\t\treturn `${segment.placeholder} <пусто>`;\n\t\t}\n\n\t\tif (filteredItemsLength < itemsCount) {\n\t\t\treturn `${segment.placeholder} <${filteredItemsLength}+>`;\n\t\t}\n\n\t\treturn `${segment.placeholder} <${itemsCount > model.maxVisibleItems ? `${model.maxVisibleItems}+` : itemsCount}>`;\n\t}, [filteredItems.length, itemsCount, model.maxVisibleItems, segment.placeholder]);\n\n\treturn {\n\t\tquery,\n\t\tsetQuery,\n\t\tdebouncedQuery,\n\t\tselectedItems,\n\t\tfilteredItems,\n\t\titemsCount,\n\t\tisLoading,\n\t\tisError,\n\t\tcodeKey,\n\t\ttextKey,\n\t\tselectionKey,\n\t\tplaceholder\n\t};\n}\n\nexport type ODataSelectBaseModel = ReturnType<typeof useODataSelectBase>;\n\nexport function mapSelectedItemsToValues(items: CollectionItem[], selectionKey: string) {\n\treturn items.map((item) => item[selectionKey]);\n}\n","import { ODataCollectionModel, ODataSelectBaseProps } from \"@ryuzaki13/react-foundation-api/odata\";\nimport { CollectionItem } from \"@ryuzaki13/react-foundation-lib/odata\";\n\nimport { mapSelectedItemsToValues, useODataSelectBase } from \"../../select/model/useODataSelectBase\";\n\ninterface UseODataMultiSelectOptions extends Omit<ODataSelectBaseProps, \"model\"> {\n\tmodel: Required<ODataCollectionModel>;\n\tonChange: (keys: string[]) => void;\n}\n\nexport function useODataMultiSelect({ odata, segment, model, value, dependencies, onChange }: UseODataMultiSelectOptions) {\n\tconst odataModel = useODataSelectBase({\n\t\todata,\n\t\tsegment,\n\t\tmodel,\n\t\tvalue,\n\t\tdependencies\n\t});\n\n\tconst handleChange = (items: CollectionItem[]) => {\n\t\tonChange(mapSelectedItemsToValues(items, odataModel.selectionKey));\n\t};\n\n\treturn {\n\t\t...odataModel,\n\t\thandleChange\n\t};\n}\n","import React from \"react\";\n\nimport { ODataSelectBaseProps, useODataCollectionModel } from \"@ryuzaki13/react-foundation-api/odata\";\n\nimport { UiBaseProps } from \"../../types\";\nimport { useODataMultiSelect } from \"../model/useODataMultiSelect\";\n\nimport { MultiSelect } from \"./MultiSelect\";\n\ntype ODataMultiSelectProps = ODataSelectBaseProps & Omit<UiBaseProps<string[]>, \"placeholder\"> & {};\n\nexport const ODataMultiSelect: React.FC<ODataMultiSelectProps> = ({\n\todata,\n\tsegment,\n\tmodel: initialModel,\n\tlabel,\n\tdescription,\n\tdisabled,\n\tvalue,\n\tdependencies,\n\tonChange,\n\tsize\n}) => {\n\tconst model = useODataCollectionModel(initialModel);\n\tconst odataModel = useODataMultiSelect({\n\t\todata,\n\t\tsegment,\n\t\tmodel,\n\t\tvalue,\n\t\tdependencies,\n\t\tonChange\n\t});\n\n\treturn (\n\t\t<MultiSelect\n\t\t\tlabel={label}\n\t\t\tdescription={description}\n\t\t\tsize={size}\n\t\t\tcodeKey={odataModel.codeKey}\n\t\t\ttextKey={odataModel.textKey}\n\t\t\thideCode={segment.hideCode ?? odata.hideCode}\n\t\t\titems={odataModel.filteredItems}\n\t\t\tvalue={odataModel.selectedItems}\n\t\t\tonChange={odataModel.handleChange}\n\t\t\tonQuery={odataModel.setQuery}\n\t\t\tquery={odataModel.query}\n\t\t\tdefaultFilter={false}\n\t\t\thighlightQuery={odataModel.debouncedQuery}\n\t\t\tdisabled={disabled || odataModel.isLoading}\n\t\t\tplaceholder={odataModel.placeholder}\n\t\t\terror={odataModel.isError ? \"Ошибка загрузки\" : undefined}\n\t\t/>\n\t);\n};\n","import { useCallback, useState } from \"react\";\n\nimport { ODataMultiSelect } from \"./ODataMultiSelect\";\n\nimport type { ODataDependentSegmentItem } from \"@ryuzaki13/react-foundation-api/odata\";\n\ninterface ODataDependentSegmentMultiSelectProps {\n\titem: ODataDependentSegmentItem;\n\t/**\n\t * Выбранные значения (управляемый компонент)\n\t */\n\tvalues?: Record<string, string[]>;\n\t/**\n\t * Обработчик изменения выбранных значений\n\t */\n\tonChange?: (selected: Record<string, string[]>) => void;\n\t/**\n\t * Ширина одного элемента в `em` единицах.\n\t *\n\t * @default 15\n\t */\n\twidth?: number;\n}\n\nexport const ODataDependentSegmentMultiSelect: React.FC<ODataDependentSegmentMultiSelectProps> = ({\n\titem,\n\tvalues,\n\tonChange,\n\twidth = 15\n}) => {\n\tconst [internalSelectedValues, setInternalSelectedValues] = useState<Record<string, string[]>>({});\n\tconst selectedValues = values ?? internalSelectedValues;\n\tconst widthStyle = `calc(${width}em + var(--width-add))`;\n\n\tconst handleSelectionChange = useCallback(\n\t\t(keys: string[]) => {\n\t\t\tconst nextSelectedValues = {\n\t\t\t\t...selectedValues,\n\t\t\t\t[item.id]: keys\n\t\t\t};\n\n\t\t\tif (!values) {\n\t\t\t\tsetInternalSelectedValues(nextSelectedValues);\n\t\t\t}\n\n\t\t\tonChange?.(nextSelectedValues);\n\t\t},\n\t\t[item.id, onChange, selectedValues, values]\n\t);\n\n\treturn (\n\t\t<div style={{ maxWidth: widthStyle, minWidth: widthStyle }}>\n\t\t\t<ODataMultiSelect\n\t\t\t\todata={item.odata}\n\t\t\t\tsegment={item.segment}\n\t\t\t\tmodel={item.model}\n\t\t\t\tdependencies={selectedValues}\n\t\t\t\tvalue={selectedValues[item.id]}\n\t\t\t\tonChange={handleSelectionChange}\n\t\t\t/>\n\t\t</div>\n\t);\n};\n","import { useState } from \"react\";\n\nimport { flattenODataDependentServices, ODataDependentBaseProps } from \"@ryuzaki13/react-foundation-api/odata\";\n\nimport { ODataDependentSegmentMultiSelect } from \"./ODataDependentSegmentMultiSelect\";\n\ninterface ODataDependentMultiSelectProps extends ODataDependentBaseProps {\n\t/**\n\t * Выбранные значения (управляемый компонент)\n\t */\n\tvalues?: Record<string, string[]>;\n\n\t/**\n\t * Обработчик изменения выбранных значений\n\t */\n\tonChange?: (selected: Record<string, string[]>) => void;\n\n\t/**\n\t * Ширина одного элемента в `em` единицах.\n\t *\n\t * @default 15\n\t */\n\twidth?: number;\n}\n\nexport const ODataDependentMultiSelect: React.FC<ODataDependentMultiSelectProps> = ({\n\twidth = 15,\n\todata,\n\tsegments,\n\tmodel,\n\tvalues,\n\tonChange\n}) => {\n\tconst [internalSelectedValues, setInternalSelectedValues] = useState<Record<string, string[]>>({});\n\tconst selectedValues = values ?? internalSelectedValues;\n\tconst items = flattenODataDependentServices([\n\t\t{\n\t\t\todata,\n\t\t\tsegments,\n\t\t\tmodel\n\t\t}\n\t]);\n\n\treturn items.map((item) => (\n\t\t<ODataDependentSegmentMultiSelect\n\t\t\tkey={item.id}\n\t\t\titem={item}\n\t\t\tvalues={selectedValues}\n\t\t\tonChange={(nextSelectedValues) => {\n\t\t\t\tif (!values) {\n\t\t\t\t\tsetInternalSelectedValues(nextSelectedValues);\n\t\t\t\t}\n\n\t\t\t\tonChange?.(nextSelectedValues);\n\t\t\t}}\n\t\t\twidth={width}\n\t\t/>\n\t));\n};\n","import { MultiSelect } from \"./MultiSelect\";\n\nimport type { UiBaseProps } from \"../../types\";\nimport type { CollectionItem } from \"@ryuzaki13/react-foundation-lib/odata\";\n\ntype SerializableOptionRecord = Record<string, unknown>;\n\ntype SerializableOptionKeyField<TOption extends SerializableOptionRecord> = {\n\t[K in keyof TOption]: Extract<TOption[K], string> extends never ? never : K;\n}[keyof TOption];\n\nexport interface SerializableMultiSelectProps<\n\tTOption extends SerializableOptionRecord,\n\tTOptionKey extends SerializableOptionKeyField<TOption>,\n\tTOptionLabel extends keyof TOption\n> extends UiBaseProps<Extract<TOption[TOptionKey], string>[]> {\n\toptions: readonly TOption[];\n\toptionKey: TOptionKey;\n\toptionLabel: TOptionLabel;\n\trenderCode?: true;\n}\n\nfunction getSerializableOptionKey<TOption extends SerializableOptionRecord, TOptionKey extends SerializableOptionKeyField<TOption>>(\n\toption: TOption,\n\toptionKey: TOptionKey\n): Extract<TOption[TOptionKey], string> {\n\treturn option[optionKey] as Extract<TOption[TOptionKey], string>;\n}\n\nfunction getSerializableOptionLabel<\n\tTOption extends SerializableOptionRecord,\n\tTOptionKey extends SerializableOptionKeyField<TOption>,\n\tTOptionLabel extends keyof TOption\n>(option: TOption, optionLabel: TOptionLabel, optionKey: TOptionKey): string {\n\tconst label = option[optionLabel];\n\n\tif (typeof label === \"string\") {\n\t\treturn label;\n\t}\n\n\tconst key = getSerializableOptionKey(option, optionKey);\n\treturn typeof key === \"string\" ? key : String(key);\n}\n\nexport function SerializableMultiSelect<\n\tTOption extends SerializableOptionRecord,\n\tTOptionKey extends SerializableOptionKeyField<TOption>,\n\tTOptionLabel extends keyof TOption\n>({\n\tlabel,\n\tdescription,\n\tdisabled,\n\tplaceholder,\n\tsize,\n\toptions,\n\tvalue,\n\tonChange,\n\toptionKey,\n\toptionLabel,\n\trenderCode\n}: SerializableMultiSelectProps<TOption, TOptionKey, TOptionLabel>) {\n\t// Как будто можно не мемоизировать, нет смысла\n\tconst items = options.map<CollectionItem>((option) => ({\n\t\tkey: String(getSerializableOptionKey(option, optionKey)),\n\t\ttext: getSerializableOptionLabel(option, optionLabel, optionKey)\n\t}));\n\tconst selectedKeys = new Set((value ?? []).map((item) => String(item)));\n\tconst selectedItems = items.filter((item) => selectedKeys.has(item.key));\n\n\treturn (\n\t\t<MultiSelect\n\t\t\tlabel={label}\n\t\t\tdescription={description}\n\t\t\tdisabled={disabled}\n\t\t\tplaceholder={placeholder}\n\t\t\tsize={size}\n\t\t\titems={items}\n\t\t\tcodeKey=\"key\"\n\t\t\ttextKey=\"text\"\n\t\t\thideCode={renderCode ? undefined : true}\n\t\t\tvalue={selectedItems}\n\t\t\tonChange={(nextItems) => onChange(nextItems.map((item) => item.key) as Extract<TOption[TOptionKey], string>[])}\n\t\t/>\n\t);\n}\n"],"x_google_ignoreList":[0,1,2],"mappings":"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"}
|