@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.
Files changed (253) hide show
  1. package/dist/advanced-search/index.d.ts +3 -0
  2. package/dist/advanced-search/index.d.ts.map +1 -0
  3. package/dist/advanced-search/index.js +361 -0
  4. package/dist/advanced-search/index.js.map +1 -0
  5. package/dist/advanced-search/lib/index.d.ts +2 -0
  6. package/dist/advanced-search/lib/index.d.ts.map +1 -0
  7. package/dist/advanced-search/lib/searchParts.d.ts +3 -0
  8. package/dist/advanced-search/lib/searchParts.d.ts.map +1 -0
  9. package/dist/advanced-search/model/index.d.ts +5 -0
  10. package/dist/advanced-search/model/index.d.ts.map +1 -0
  11. package/dist/advanced-search/model/types.d.ts +55 -0
  12. package/dist/advanced-search/model/types.d.ts.map +1 -0
  13. package/dist/advanced-search/model/useAdvancedSearch.d.ts +11 -0
  14. package/dist/advanced-search/model/useAdvancedSearch.d.ts.map +1 -0
  15. package/dist/advanced-search/model/useAdvancedSearchInitialSelected.d.ts +6 -0
  16. package/dist/advanced-search/model/useAdvancedSearchInitialSelected.d.ts.map +1 -0
  17. package/dist/advanced-search/model/useAdvancedSearchSelection.d.ts +13 -0
  18. package/dist/advanced-search/model/useAdvancedSearchSelection.d.ts.map +1 -0
  19. package/dist/advanced-search/ui/AdvancedSearchModal.d.ts +13 -0
  20. package/dist/advanced-search/ui/AdvancedSearchModal.d.ts.map +1 -0
  21. package/dist/advanced-search/ui/AdvancedSearchSelect.d.ts +8 -0
  22. package/dist/advanced-search/ui/AdvancedSearchSelect.d.ts.map +1 -0
  23. package/dist/advanced-search/ui/AdvancedSearchSelectUI.d.ts +9 -0
  24. package/dist/advanced-search/ui/AdvancedSearchSelectUI.d.ts.map +1 -0
  25. package/dist/advanced-search/ui/index.d.ts +2 -0
  26. package/dist/advanced-search/ui/index.d.ts.map +1 -0
  27. package/dist/badge/index.js +1 -1
  28. package/dist/badge/stories/Badge.stories.js +22 -22
  29. package/dist/base-table/index.js +2 -2
  30. package/dist/button/index.js +7 -7
  31. package/dist/button/stories/Button.stories.js +1 -1
  32. package/dist/check-box/index.js +1 -1
  33. package/dist/check-box/stories/CheckBox.stories.js +25 -25
  34. package/dist/chunks/{BadgeList-6qL9oNAp.js → BadgeList-DYgun2rf.js} +16 -16
  35. package/dist/chunks/{BadgeList-6qL9oNAp.js.map → BadgeList-DYgun2rf.js.map} +1 -1
  36. package/dist/chunks/{Button-BZ_b-Kin.js → Button-CCWuggdA.js} +16 -16
  37. package/dist/chunks/{Button-BZ_b-Kin.js.map → Button-CCWuggdA.js.map} +1 -1
  38. package/dist/chunks/CalendarView-DjeTJkTT.js +435 -0
  39. package/dist/chunks/{CalendarView-DjShdvRD.js.map → CalendarView-DjeTJkTT.js.map} +1 -1
  40. package/dist/chunks/CheckBox-BowNqqd3.js +48 -0
  41. package/dist/chunks/{CheckBox-CulnjNvJ.js.map → CheckBox-BowNqqd3.js.map} +1 -1
  42. package/dist/chunks/{DateInput-LSSvObtg.js → DateInput--tfofQ2x.js} +68 -68
  43. package/dist/chunks/{DateInput-LSSvObtg.js.map → DateInput--tfofQ2x.js.map} +1 -1
  44. package/dist/chunks/{DateRangePresetSelect-CyzGMvVp.js → DateRangePresetSelect-UgsfaOeM.js} +22 -22
  45. package/dist/chunks/{DateRangePresetSelect-CyzGMvVp.js.map → DateRangePresetSelect-UgsfaOeM.js.map} +1 -1
  46. package/dist/chunks/Detail-DHDMsg8q.js +80 -0
  47. package/dist/chunks/{Detail-DKolHye4.js.map → Detail-DHDMsg8q.js.map} +1 -1
  48. package/dist/chunks/{Dialog-BPS4BeWZ.js → Dialog-CFIvGxER.js} +8 -8
  49. package/dist/chunks/{Dialog-BPS4BeWZ.js.map → Dialog-CFIvGxER.js.map} +1 -1
  50. package/dist/chunks/DisclosureGroup-CfRTkl6Z.js +49 -0
  51. package/dist/chunks/{DisclosureGroup-Plk2M_Vl.js.map → DisclosureGroup-CfRTkl6Z.js.map} +1 -1
  52. package/dist/chunks/{DropZone-DPGTpHI6.js → DropZone-kJfbZU5g.js} +22 -22
  53. package/dist/chunks/{DropZone-DPGTpHI6.js.map → DropZone-kJfbZU5g.js.map} +1 -1
  54. package/dist/chunks/{DropdownMenu-Ds-trH4M.js → DropdownMenu-DQeR3y7M.js} +138 -138
  55. package/dist/chunks/{DropdownMenu-Ds-trH4M.js.map → DropdownMenu-DQeR3y7M.js.map} +1 -1
  56. package/dist/chunks/{Flex-DbBdq336.js → Flex-DUYSL5TE.js} +16 -16
  57. package/dist/chunks/{Flex-DbBdq336.js.map → Flex-DUYSL5TE.js.map} +1 -1
  58. package/dist/chunks/Input-BmjlpA09.js +227 -0
  59. package/dist/chunks/{Input-Wrew1puH.js.map → Input-BmjlpA09.js.map} +1 -1
  60. package/dist/chunks/{InputDateTime-2PCX8an8.js → InputDateTime-CxfAFe2L.js} +56 -56
  61. package/dist/chunks/{InputDateTime-2PCX8an8.js.map → InputDateTime-CxfAFe2L.js.map} +1 -1
  62. package/dist/chunks/{InputFile-Ca-bRo93.js → InputFile-CyZu__B_.js} +17 -17
  63. package/dist/chunks/{InputFile-Ca-bRo93.js.map → InputFile-CyZu__B_.js.map} +1 -1
  64. package/dist/chunks/{InputFiles-pI9rQXOI.js → InputFiles-CrTJV27R.js} +31 -31
  65. package/dist/chunks/{InputFiles-pI9rQXOI.js.map → InputFiles-CrTJV27R.js.map} +1 -1
  66. package/dist/chunks/{InputImage-B522AQzl.js → InputImage-Cw8rPYQu.js} +18 -18
  67. package/dist/chunks/{InputImage-B522AQzl.js.map → InputImage-Cw8rPYQu.js.map} +1 -1
  68. package/dist/chunks/{LabeledExpandableActionPanel-CWmOSWeS.js → LabeledExpandableActionPanel-D3kUvmFH.js} +26 -26
  69. package/dist/chunks/{LabeledExpandableActionPanel-CWmOSWeS.js.map → LabeledExpandableActionPanel-D3kUvmFH.js.map} +1 -1
  70. package/dist/chunks/Listbox-BZlp5qHz.js +81 -0
  71. package/dist/chunks/{Listbox-B6F_IKQv.js.map → Listbox-BZlp5qHz.js.map} +1 -1
  72. package/dist/chunks/{MultiSelect-CUXA8gx-.js → MultiSelect-D1XYuwH1.js} +113 -113
  73. package/dist/chunks/{MultiSelect-CUXA8gx-.js.map → MultiSelect-D1XYuwH1.js.map} +1 -1
  74. package/dist/chunks/{NotificationsHost-Bnq7xFKO.js → NotificationsHost-_icJx4xR.js} +44 -44
  75. package/dist/chunks/{NotificationsHost-Bnq7xFKO.js.map → NotificationsHost-_icJx4xR.js.map} +1 -1
  76. package/dist/chunks/{PresetRangeDateInput-B_8jsilZ.js → PresetRangeDateInput-CapirptQ.js} +11 -11
  77. package/dist/chunks/{PresetRangeDateInput-B_8jsilZ.js.map → PresetRangeDateInput-CapirptQ.js.map} +1 -1
  78. package/dist/chunks/RadioButton-D0uA0rX_.js +48 -0
  79. package/dist/chunks/{RadioButton-D5vPW4Yr.js.map → RadioButton-D0uA0rX_.js.map} +1 -1
  80. package/dist/chunks/RadioGroup-B9XjkcOy.js +121 -0
  81. package/dist/chunks/{RadioGroup-BAhN1d1X.js.map → RadioGroup-B9XjkcOy.js.map} +1 -1
  82. package/dist/chunks/{Select-CoAYWNOn.js → Select-CXeVjVKA.js} +11 -11
  83. package/dist/chunks/{Select-CoAYWNOn.js.map → Select-CXeVjVKA.js.map} +1 -1
  84. package/dist/chunks/{SerializableSelect-awBOWKTj.js → SerializableSelect-DkYeJtAO.js} +2 -2
  85. package/dist/chunks/{SerializableSelect-awBOWKTj.js.map → SerializableSelect-DkYeJtAO.js.map} +1 -1
  86. package/dist/chunks/{SingleDateTimeInput-o44Vlwdk.js → SingleDateTimeInput-BmeuVGQT.js} +78 -78
  87. package/dist/chunks/{SingleDateTimeInput-o44Vlwdk.js.map → SingleDateTimeInput-BmeuVGQT.js.map} +1 -1
  88. package/dist/chunks/{Splitter-NjNFuEq4.js → Splitter-BFkVGVRb.js} +32 -32
  89. package/dist/chunks/{Splitter-NjNFuEq4.js.map → Splitter-BFkVGVRb.js.map} +1 -1
  90. package/dist/chunks/StateSelect-1jH3uLz9.js +78 -0
  91. package/dist/chunks/{StateSelect-abZq176J.js.map → StateSelect-1jH3uLz9.js.map} +1 -1
  92. package/dist/chunks/{Switch-DHMnZVmN.js → Switch-B57Qmy1z.js} +19 -19
  93. package/dist/chunks/{Switch-DHMnZVmN.js.map → Switch-B57Qmy1z.js.map} +1 -1
  94. package/dist/chunks/{TextEditorLexicalClient-Dt4eaPA3.js → TextEditorLexicalClient-DRhAswpP.js} +204 -204
  95. package/dist/chunks/{TextEditorLexicalClient-Dt4eaPA3.js.map → TextEditorLexicalClient-DRhAswpP.js.map} +1 -1
  96. package/dist/chunks/{Textarea-DOVrPH4I.js → Textarea-C9UdUueF.js} +2 -2
  97. package/dist/chunks/{Textarea-DOVrPH4I.js.map → Textarea-C9UdUueF.js.map} +1 -1
  98. package/dist/chunks/{TimePanel-_kF2RtHk.js → TimePanel-b4saqoUY.js} +27 -27
  99. package/dist/chunks/{TimePanel-_kF2RtHk.js.map → TimePanel-b4saqoUY.js.map} +1 -1
  100. package/dist/chunks/{Toggle-C_fE-bkM.js → Toggle-DVqOQXmt.js} +18 -18
  101. package/dist/chunks/{Toggle-C_fE-bkM.js.map → Toggle-DVqOQXmt.js.map} +1 -1
  102. package/dist/chunks/{TreeMultiSelect-C76RYavo.js → TreeMultiSelect-CfQhlfnC.js} +6 -6
  103. package/dist/chunks/{TreeMultiSelect-C76RYavo.js.map → TreeMultiSelect-CfQhlfnC.js.map} +1 -1
  104. package/dist/chunks/{TreePickerBase-qNHIWbYL.js → TreePickerBase-BBUOWsSu.js} +49 -49
  105. package/dist/chunks/{TreePickerBase-qNHIWbYL.js.map → TreePickerBase-BBUOWsSu.js.map} +1 -1
  106. package/dist/chunks/{TreeSelect-LEhNdPCX.js → TreeSelect-2wUXs90E.js} +6 -6
  107. package/dist/chunks/{TreeSelect-LEhNdPCX.js.map → TreeSelect-2wUXs90E.js.map} +1 -1
  108. package/dist/chunks/base-table-CoQlKABk.js +514 -0
  109. package/dist/chunks/{base-table-ij2guVMB.js.map → base-table-CoQlKABk.js.map} +1 -1
  110. package/dist/chunks/{floating-arrow-CdRV69sg.js → floating-arrow-BE-z4QkE.js} +7 -7
  111. package/dist/chunks/{floating-arrow-CdRV69sg.js.map → floating-arrow-BE-z4QkE.js.map} +1 -1
  112. package/dist/chunks/input-search-Dw4rnJBq.js +30 -0
  113. package/dist/chunks/input-search-Dw4rnJBq.js.map +1 -0
  114. package/dist/chunks/{layout-picker-CzZ8Xzkk.js → layout-picker-MWaImn3L.js} +34 -34
  115. package/dist/chunks/{layout-picker-CzZ8Xzkk.js.map → layout-picker-MWaImn3L.js.map} +1 -1
  116. package/dist/chunks/{misc-Bj0y3ERC.js → misc-DoqZBMof.js} +110 -110
  117. package/dist/chunks/{misc-Bj0y3ERC.js.map → misc-DoqZBMof.js.map} +1 -1
  118. package/dist/chunks/{modal-B4ivQb2h.js → modal-B3HY3laL.js} +40 -40
  119. package/dist/chunks/{modal-B4ivQb2h.js.map → modal-B3HY3laL.js.map} +1 -1
  120. package/dist/chunks/multi-select-BzYIviCU.js +1305 -0
  121. package/dist/chunks/multi-select-BzYIviCU.js.map +1 -0
  122. package/dist/chunks/{picker-gIUs0nE_.js → picker-Dg55Ss-B.js} +74 -74
  123. package/dist/chunks/{picker-gIUs0nE_.js.map → picker-Dg55Ss-B.js.map} +1 -1
  124. package/dist/chunks/{popover-C79P5bm2.js → popover-xJJqy1v6.js} +52 -52
  125. package/dist/chunks/{popover-C79P5bm2.js.map → popover-xJJqy1v6.js.map} +1 -1
  126. package/dist/chunks/{separator-CIqnk2z9.js → separator-B72Aq-6a.js} +2 -2
  127. package/dist/chunks/{separator-CIqnk2z9.js.map → separator-B72Aq-6a.js.map} +1 -1
  128. package/dist/chunks/{slider-CigVo4Ju.js → slider-CFKsfxFp.js} +83 -83
  129. package/dist/chunks/{slider-CigVo4Ju.js.map → slider-CFKsfxFp.js.map} +1 -1
  130. package/dist/chunks/sortable-DcTIAbjD.js +185 -0
  131. package/dist/chunks/{sortable-BZqnZ_LA.js.map → sortable-DcTIAbjD.js.map} +1 -1
  132. package/dist/chunks/{table-CK-CM2zD.js → table-Dc3AqMzP.js} +21 -21
  133. package/dist/chunks/{table-CK-CM2zD.js.map → table-Dc3AqMzP.js.map} +1 -1
  134. package/dist/chunks/{table-column-interactions-DPyJDD7P.js → table-column-interactions-6RGjmiI5.js} +24 -24
  135. package/dist/chunks/{table-column-interactions-DPyJDD7P.js.map → table-column-interactions-6RGjmiI5.js.map} +1 -1
  136. package/dist/chunks/{tabs-D5ikIIng.js → tabs-DlnVVMJl.js} +96 -96
  137. package/dist/chunks/{tabs-D5ikIIng.js.map → tabs-DlnVVMJl.js.map} +1 -1
  138. package/dist/chunks/{toolbar-C-Ziw_Uh.js → toolbar-BCZNdRXM.js} +2 -2
  139. package/dist/chunks/{toolbar-C-Ziw_Uh.js.map → toolbar-BCZNdRXM.js.map} +1 -1
  140. package/dist/chunks/{wheel-picker-DUHGy7wE.js → wheel-picker-FS58cRsQ.js} +23 -23
  141. package/dist/chunks/{wheel-picker-DUHGy7wE.js.map → wheel-picker-FS58cRsQ.js.map} +1 -1
  142. package/dist/context-menu/index.js +1 -1
  143. package/dist/context-menu/stories/ContextMenu.stories.js +45 -45
  144. package/dist/date-input/index.js +2 -2
  145. package/dist/date-input/stories/DateInput.stories.js +2 -2
  146. package/dist/date-range-preset-select/index.js +1 -1
  147. package/dist/date-range-preset-select/stories/DateRangePresetSelect.stories.js +8 -8
  148. package/dist/date-time-input/index.js +1 -1
  149. package/dist/date-time-input/stories/SingleDateTimeInput.stories.js +38 -38
  150. package/dist/date-time-input/stories/TimePanel.stories.js +9 -9
  151. package/dist/detail/index.js +1 -1
  152. package/dist/detail/stories/Detail.stories.js +1 -1
  153. package/dist/dialog/index.js +1 -1
  154. package/dist/dialog/stories/Dialog.stories.js +16 -16
  155. package/dist/disclosure/index.js +1 -1
  156. package/dist/disclosure/stories/Disclosure.stories.js +1 -1
  157. package/dist/drop-zone/index.js +1 -1
  158. package/dist/drop-zone/stories/DropZone.stories.js +14 -14
  159. package/dist/errors/index.js +47 -47
  160. package/dist/expandable-action-panel/index.js +1 -1
  161. package/dist/expandable-action-panel/stories/ExpandableActionPanel.stories.js +28 -28
  162. package/dist/flex/index.js +2 -2
  163. package/dist/flex/stories/Flex.stories.js +2 -2
  164. package/dist/floating-arrow/index.js +1 -1
  165. package/dist/fullscreen-portal/index.js +6 -6
  166. package/dist/grid/stories/Grid.stories.js +1 -1
  167. package/dist/image/index.js +123 -123
  168. package/dist/input/index.js +1 -1
  169. package/dist/input/stories/Input.stories.js +11 -11
  170. package/dist/input-date-time/index.js +1 -1
  171. package/dist/input-date-time/stories/InputDateTime.stories.js +11 -11
  172. package/dist/input-file/index.js +1 -1
  173. package/dist/input-file/stories/InputFile.stories.js +9 -9
  174. package/dist/input-files/index.js +1 -1
  175. package/dist/input-files/stories/InputFiles.stories.js +9 -9
  176. package/dist/input-image/index.js +1 -1
  177. package/dist/input-image/stories/InputImage.stories.js +15 -15
  178. package/dist/input-search/index.js +2 -30
  179. package/dist/layout-picker/index.js +1 -1
  180. package/dist/layout-picker/stories/LayoutPicker.stories.js +52 -52
  181. package/dist/list/index.js +27 -27
  182. package/dist/listbox/index.js +1 -1
  183. package/dist/listbox/stories/Listbox.stories.js +19 -19
  184. package/dist/misc/index.js +1 -1
  185. package/dist/modal/index.js +1 -1
  186. package/dist/modal/stories/Modal.stories.js +55 -55
  187. package/dist/multi-select/index.js +3 -1141
  188. package/dist/multi-select/ui/stories/MultiSelect.stories.js +17 -17
  189. package/dist/notifications/index.js +1 -1
  190. package/dist/notifications/ui/stories/NotificationsHost.stories.js +59 -59
  191. package/dist/period-select/index.js +20 -20
  192. package/dist/period-select/stories/PeriodSelect.stories.js +17 -17
  193. package/dist/picker/index.js +1 -1
  194. package/dist/popover/index.js +1 -1
  195. package/dist/popover/stories/Popover.stories.js +16 -16
  196. package/dist/preset-range-date-input/index.js +1 -1
  197. package/dist/preset-range-date-input/ui/stories/PresetRangeDateInput.stories.js +9 -9
  198. package/dist/preset-select/index.js +1 -1
  199. package/dist/radio-button/index.js +1 -1
  200. package/dist/radio-button/stories/RadioButton.stories.js +11 -11
  201. package/dist/radio-group/index.js +1 -1
  202. package/dist/radio-group/stories/RadioGroup.stories.js +21 -21
  203. package/dist/select/index.js +2 -2
  204. package/dist/select/stories/Select.stories.js +23 -23
  205. package/dist/select/stories/SerializableSelect.stories.js +22 -22
  206. package/dist/separator/index.js +1 -1
  207. package/dist/simple-table/index.js +5 -5
  208. package/dist/slider/index.js +1 -1
  209. package/dist/slider/stories/Slider.stories.js +32 -32
  210. package/dist/slider/stories/SliderInput.stories.js +39 -39
  211. package/dist/sortable/index.js +1 -1
  212. package/dist/sortable/stories/Sortable.stories.js +23 -23
  213. package/dist/splitter/index.js +1 -1
  214. package/dist/splitter/stories/Splitter.stories.js +1 -1
  215. package/dist/state-select/index.js +1 -1
  216. package/dist/state-select/stories/StateSelect.stories.js +23 -23
  217. package/dist/styles.css +1 -1
  218. package/dist/switch/index.js +1 -1
  219. package/dist/switch/stories/Switch.stories.js +11 -11
  220. package/dist/table/index.js +1 -1
  221. package/dist/table-column-interactions/index.js +1 -1
  222. package/dist/table-sorting/index.js +1 -1
  223. package/dist/tabs/index.js +1 -1
  224. package/dist/tabs/stories/Tabs.stories.js +39 -39
  225. package/dist/text/index.js +20 -20
  226. package/dist/text-editor/index.js +3 -3
  227. package/dist/text-editor/toolbar/index.js +1 -1
  228. package/dist/textarea/index.js +1 -1
  229. package/dist/textarea/stories/Textarea.stories.js +8 -8
  230. package/dist/three-scene/index.js +7 -7
  231. package/dist/toggle/index.js +1 -1
  232. package/dist/toggle/stories/Toggle.stories.js +7 -7
  233. package/dist/toolbar/index.js +16 -16
  234. package/dist/tree/index.js +24 -24
  235. package/dist/tree-select/index.js +2 -2
  236. package/dist/tree-select/stories/TreeMultiSelect.stories.js +9 -9
  237. package/dist/tree-select/stories/TreeSelect.stories.js +9 -9
  238. package/dist/tree-table/index.js +32 -32
  239. package/dist/wheel-picker/index.js +1 -1
  240. package/package.json +11 -1
  241. package/dist/chunks/CalendarView-DjShdvRD.js +0 -435
  242. package/dist/chunks/CheckBox-CulnjNvJ.js +0 -48
  243. package/dist/chunks/Detail-DKolHye4.js +0 -80
  244. package/dist/chunks/DisclosureGroup-Plk2M_Vl.js +0 -49
  245. package/dist/chunks/Input-Wrew1puH.js +0 -227
  246. package/dist/chunks/Listbox-B6F_IKQv.js +0 -81
  247. package/dist/chunks/RadioButton-D5vPW4Yr.js +0 -48
  248. package/dist/chunks/RadioGroup-BAhN1d1X.js +0 -121
  249. package/dist/chunks/StateSelect-abZq176J.js +0 -78
  250. package/dist/chunks/base-table-ij2guVMB.js +0 -514
  251. package/dist/chunks/sortable-BZqnZ_LA.js +0 -185
  252. package/dist/input-search/index.js.map +0 -1
  253. package/dist/multi-select/index.js.map +0 -1
@@ -1,1141 +1,3 @@
1
- import { n as e, t } from "../chunks/MultiSelect-CUXA8gx-.js";
2
- import { logError as n } from "@ryuzaki13/react-foundation-lib/utils";
3
- import { jsx as r } from "react/jsx-runtime";
4
- import { useCallback as i, useEffect as a, useMemo as o, useRef as s, useState as c } from "react";
5
- import { formatDateAsODataDatetime as l, parseDate as u, startsWithIgnoringZeros as d, truncateText as f } from "@ryuzaki13/react-foundation-lib/formatters";
6
- import "@ryuzaki13/react-foundation-lib/table";
7
- import { reportTransportError as p } from "@ryuzaki13/react-foundation-lib/error-report";
8
- import { queryOptions as m, useQuery as h, useQueryClient as g } from "@tanstack/react-query";
9
- import { asRecord as _, isRecord as v, isSafe as y } from "@ryuzaki13/react-foundation-lib/validators";
10
- import { persistedQueryMeta as b } from "@ryuzaki13/react-foundation-lib/query-client";
11
- import { buildEntityPath as x, buildODataFilter as S, buildODataOrder as C, parseServiceMetadata as w } from "@ryuzaki13/react-foundation-lib/odata-service";
12
- import "@ryuzaki13/react-foundation-lib/string-comparison";
13
- import { buildSeparatedArrays as T, useODataCollectionStore as E } from "@ryuzaki13/react-foundation-lib/odata";
14
- import "@ryuzaki13/react-foundation-lib/notifications";
15
- //#region node_modules/@ryuzaki13/react-foundation-api/dist/chunks/fetch-CPEFkAcU.js
16
- var D = {};
17
- function O() {
18
- return D;
19
- }
20
- function k(e) {
21
- return e.split(";")[0] ?? e;
22
- }
23
- function A(e, t) {
24
- let n = D.devDp0Service;
25
- return (__DEV__ || __PREVIEW__) && n && k(e) === k(n) ? "odataDp0" : t ?? "odata";
26
- }
27
- function ee() {
28
- return D.resolveSapClient?.() ?? null;
29
- }
30
- var te = "/sap/opu/odata/sap", ne = __DEV__ || __PREVIEW__ ? "/sap-dp0/opu/odata/sap" : "/sap/opu/odata/sap", re = __DEV__ || __PREVIEW__ ? "/sap-dp0/opu/odata/UI2" : "/sap/opu/odata/UI2", ie = __BASE_APP_CONFIG_URL__, j = Object.freeze({
31
- "": "",
32
- odata: te,
33
- odataDp0: ne,
34
- odataUi2: re,
35
- config: ie
36
- });
37
- function M(e) {
38
- return typeof e == "string" ? e : typeof Request < "u" && e instanceof Request ? e.url : e.toString();
39
- }
40
- function N(e) {
41
- let t = e.split("?")[0]?.split("#")[0] ?? "";
42
- return t ? t.startsWith("/") ? t : `/${t}` : "/";
43
- }
44
- var ae = 40, oe = 1e3;
45
- function se(e) {
46
- try {
47
- let t = typeof window < "u" ? window.location.origin : "http://localhost", n = new URL(e, t);
48
- return `${n.origin === t ? "" : n.origin}${n.pathname}`;
49
- } catch {
50
- return N(e);
51
- }
52
- }
53
- function ce(e) {
54
- if (!(typeof DOMParser > "u")) try {
55
- return new DOMParser().parseFromString(e, "text/html");
56
- } catch {
57
- return;
58
- }
59
- }
60
- function le(e, t) {
61
- return t?.querySelector("title")?.textContent || /<title[^>]*>([\s\S]*?)<\/title>/i.exec(e)?.[1];
62
- }
63
- function ue(e, t) {
64
- let n = t?.querySelectorAll("form").length;
65
- return n === void 0 ? Array.from(e.matchAll(/<form\b/gi)).length : n;
66
- }
67
- function de(e, t) {
68
- let 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);
69
- return Array.from(new Set(n)).slice(0, ae);
70
- }
71
- function fe(e, t) {
72
- return f(t?.body?.textContent ?? e.replace(/<script\b[\s\S]*?<\/script>/gi, " ").replace(/<style\b[\s\S]*?<\/style>/gi, " ").replace(/<[^>]+>/g, " "), oe);
73
- }
74
- function pe(e) {
75
- let t = ce(e);
76
- return {
77
- length: e.length,
78
- title: f(le(e, t), 200),
79
- formCount: ue(e, t),
80
- inputNames: de(e, t),
81
- textPreview: fe(e, t)
82
- };
83
- }
84
- function me(e, t, n, r, i) {
85
- let a = i ? M(i.input) : void 0, o = a?.startsWith("http") ? a : a ? `${j[i?.baseUrlType ?? ""]}${a}` : void 0;
86
- p(e, {
87
- source: t,
88
- requestUrl: o ? se(o) : void 0,
89
- responseUrl: n.url ? se(n.url) : void 0,
90
- method: i?.init.method?.toUpperCase() ?? "GET",
91
- baseUrlType: i?.baseUrlType,
92
- sapClient: i?.sapClient,
93
- status: n.status,
94
- statusText: n.statusText,
95
- contentType: n.headers.get("Content-Type") || void 0,
96
- redirected: n.redirected,
97
- responseType: n.type,
98
- html: pe(r)
99
- });
100
- }
101
- var P = null, he = 0;
102
- function ge(e) {
103
- if (typeof window > "u") return e;
104
- try {
105
- let t = new RegExp(__ORIGIN_REG_EXP__, "i"), n = new URL(e, window.location.origin), r = t.test(n.origin), i = n.origin === __SSO_ORIGIN__;
106
- return r || i || n.origin === window.location.origin ? `${n.pathname}${n.search}${n.hash}` : n.toString();
107
- } catch {
108
- return e;
109
- }
110
- }
111
- function F(e) {
112
- return e ? typeof e.inputs.SAMLRequest == "string" || typeof e.inputs.SAMLResponse == "string" : !1;
113
- }
114
- function _e() {
115
- let e = `${__APP_ID__}-sso-iframe-${++he}`, t = document.createElement("iframe");
116
- return t.name = e, t.style.display = "none", t;
117
- }
118
- function ve(e, t) {
119
- return new Promise((n) => {
120
- let r = null, i = () => {
121
- r !== null && window.clearTimeout(r), r = window.setTimeout(() => {
122
- t(), n(!0);
123
- }, 400);
124
- };
125
- e.addEventListener("load", i), e.addEventListener("error", i);
126
- });
127
- }
128
- function ye(e, t) {
129
- let n = document.createElement("form");
130
- n.method = e.method === "GET" ? "GET" : "POST", n.action = ge(e.action), n.target = t, n.style.display = "none";
131
- for (let [t, r] of Object.entries(e.inputs)) {
132
- let e = document.createElement("input");
133
- e.type = "hidden", e.name = t, e.value = r, n.appendChild(e);
134
- }
135
- return n;
136
- }
137
- function be() {
138
- return typeof document > "u" ? null : document.body ?? document.documentElement;
139
- }
140
- function xe(e) {
141
- let t = be();
142
- if (!t) return Promise.resolve(!1);
143
- let n = _e(), r = ye(e, n.name), i = ve(n, () => {
144
- n.remove(), r.remove();
145
- });
146
- return t.appendChild(n), t.appendChild(r), r.submit(), i;
147
- }
148
- function Se(e) {
149
- let t = be();
150
- if (!t) return Promise.resolve(!1);
151
- let n = _e(), r = ve(n, () => {
152
- n.remove();
153
- });
154
- return t.appendChild(n), n.src = ge(e), r;
155
- }
156
- function Ce({ form: e, recoveryUrl: t } = {}) {
157
- return P || (typeof window > "u" ? !1 : (P = (async () => F(e) ? xe(e) : t ? Se(t) : !1)().finally(() => {
158
- P = null;
159
- }), P));
160
- }
161
- var I = class e extends Error {
162
- form;
163
- recoveryUrl;
164
- recoverable;
165
- constructor(t, n, r, i = {}) {
166
- super(t), this.form = n, this.recoveryUrl = r, this.recoverable = i.recoverable ?? !0, Object.setPrototypeOf(this, e.prototype);
167
- }
168
- }, L = /* @__PURE__ */ new Map(), R = /* @__PURE__ */ new Map(), z = null, B = null;
169
- function V(e, t) {
170
- if (t !== "") return !0;
171
- let n = N(M(e));
172
- return n.startsWith("/sap/") || n.startsWith("/sap-dp0/");
173
- }
174
- function H(e, t) {
175
- return __DEV__ || __PREVIEW__ ? V(e, t) ? t === "odataDp0" || t === "" && N(M(e)).startsWith("/sap-dp0/") ? "300" : `${__SAP_CLIENT__}` : null : ee();
176
- }
177
- function we(e) {
178
- return new I("Не удалось автоматически восстановить SSO-сессию. Перезагрузите страницу и выполните вход заново.", e.form, e.recoveryUrl, { recoverable: !1 });
179
- }
180
- function U(e) {
181
- let t = we(e);
182
- return typeof window < "u" && (B = t), t;
183
- }
184
- async function Te() {
185
- let e = z;
186
- if (e && await e.catch(() => {}), B) throw B;
187
- }
188
- async function W(e, t) {
189
- if (B) throw B;
190
- let n;
191
- if (!z) {
192
- if (z = (async () => {
193
- if (!await Promise.resolve(Ce({
194
- form: e.form,
195
- recoveryUrl: e.recoveryUrl
196
- })).catch(() => !1)) throw U(e);
197
- try {
198
- n = { value: await t() }, B = null;
199
- } catch (e) {
200
- throw e instanceof I ? U(e) : e;
201
- }
202
- })().finally(() => {
203
- z = null;
204
- }), await z, !n) throw B ?? we(e);
205
- return n.value;
206
- }
207
- await Te();
208
- try {
209
- return await t();
210
- } catch (e) {
211
- throw e instanceof I ? U(e) : e;
212
- }
213
- }
214
- function Ee(e, t, n) {
215
- if (t === "config") return {
216
- cacheKey: `${__APP_ID__}:${n ?? ""}`,
217
- fetchUrl: "/Statistics"
218
- };
219
- let [r] = N(M(e)).split("/").filter(Boolean);
220
- if (!r) throw Error("Не удалось определить сервис для получения CSRF-токена");
221
- return {
222
- cacheKey: `${t}:${n ?? ""}:${r}`,
223
- fetchUrl: `/${r}/`
224
- };
225
- }
226
- async function De(e, t, n) {
227
- let r = Ee(e, t, n), i = L.get(r.cacheKey);
228
- if (i) return i;
229
- let a = R.get(r.cacheKey);
230
- if (a) return a;
231
- let o = new Headers({ "x-csrf-token": "Fetch" });
232
- o.set("sap-language", "ru"), o.set("sap-contextid-accept", "header"), o.set("Accept-Language", "ru"), n && o.set("sap-client", n);
233
- let s = (t && j[t]) ?? "", c = fetch(s + r.fetchUrl, {
234
- method: "GET",
235
- headers: o,
236
- credentials: "include",
237
- redirect: "manual"
238
- }).then(async (e) => {
239
- if (Y(e)) throw new I("Требуется повторная аутентификация", void 0, s + r.fetchUrl);
240
- if (!e.ok) throw Error("Не удалось получить CSRF-токен");
241
- let t = e.headers.get("x-csrf-token");
242
- if (!t) {
243
- let t = (e.headers.get("Content-Type") || "").toLowerCase(), n = await e.text();
244
- if (q(t, n)) {
245
- let e = K(n);
246
- if (F(e)) throw new I("Требуется повторная аутентификация", e, s + r.fetchUrl);
247
- }
248
- throw Error("CSRF-токен отсутствует в ответе");
249
- }
250
- return L.set(r.cacheKey, t), R.delete(r.cacheKey), t;
251
- }).catch((e) => {
252
- throw R.delete(r.cacheKey), e;
253
- });
254
- return R.set(r.cacheKey, c), c;
255
- }
256
- function G(e, t) {
257
- let n = t.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
258
- return RegExp(`${n}\\s*=\\s*["']([^"']*)["']`, "i").exec(e)?.[1];
259
- }
260
- function K(e) {
261
- try {
262
- if (typeof DOMParser < "u") {
263
- let t = new DOMParser().parseFromString(e, "text/html").querySelector("form");
264
- if (t) {
265
- let e = t.getAttribute("action") || (typeof window < "u" ? window.location.href : ""), n = (t.getAttribute("method") || "GET").toUpperCase(), r = {};
266
- return t.querySelectorAll("input[name]").forEach((e) => {
267
- r[e.name] = e.value ?? "";
268
- }), {
269
- action: e,
270
- method: n,
271
- inputs: r
272
- };
273
- }
274
- }
275
- } catch {}
276
- let t = /<form\b([^>]*)>([\s\S]*?)<\/form>/i.exec(e);
277
- if (!t) return;
278
- let [, n = "", r = ""] = t, i = G(n, "action") || (typeof window < "u" ? window.location.href : ""), a = (G(n, "method") || "GET").toUpperCase(), o = {};
279
- for (let e of r.matchAll(/<input\b([^>]*)>/gi)) {
280
- let t = e[1] ?? "", n = G(t, "name");
281
- n && (o[n] = G(t, "value") ?? "");
282
- }
283
- return {
284
- action: i,
285
- method: a,
286
- inputs: o
287
- };
288
- }
289
- function q(e, t) {
290
- return e.includes("text/html") || /<html/i.test(t) || /<form/i.test(t);
291
- }
292
- function Oe(e) {
293
- if (!v(e)) return e;
294
- let t = { ...e };
295
- return delete t.__metadata, t;
296
- }
297
- function ke(e) {
298
- if (v(e) && v(e.d) && Array.isArray(e.d.results)) {
299
- let t;
300
- return e.d.__count && (t = Number(e.d.__count)), {
301
- data: e.d.results.map(Oe),
302
- totalCount: t
303
- };
304
- }
305
- return v(e) && e.d !== void 0 ? { data: Oe(e.d) } : { data: e };
306
- }
307
- var Ae = Object.freeze({ __noContent: !0 });
308
- function je(e) {
309
- return !!e && typeof e == "object" && "__noContent" in e;
310
- }
311
- async function Me(e, t) {
312
- if (e.status === 204 || e.status === 205) return { data: Ae };
313
- let r = (e.headers.get("Content-Type") || "").toLowerCase();
314
- if (r.includes("application/json") || r.includes("application/odata+json")) return ke(await e.json());
315
- let i = await e.text();
316
- if (q(r, i)) {
317
- let n = K(i);
318
- if (F(n)) throw new I("Требуется повторная аутентификация", n);
319
- let r = /* @__PURE__ */ Error("Unexpected HTML response from OData endpoint");
320
- throw me(r, "fetch.parseResponse", e, i, t), r;
321
- }
322
- try {
323
- return ke(JSON.parse(i));
324
- } catch (e) {
325
- throw n(e), Error("Unsupported response content type and body is not JSON");
326
- }
327
- }
328
- function Ne(e) {
329
- if (typeof e != "string") return null;
330
- let t = e.trim();
331
- return t.length ? t : null;
332
- }
333
- function J(e, t) {
334
- let n = Ne(t);
335
- !n || e.includes(n) || e.push(n);
336
- }
337
- function Pe(e) {
338
- let t = [], n = e.error;
339
- typeof n == "string" && J(t, n);
340
- let r = _(n);
341
- return r && (J(t, r.code), J(t, _(r.message)?.value ?? r.message)), J(t, e.details), J(t, e.message), t;
342
- }
343
- async function Fe(e, t) {
344
- let n = (e.headers.get("Content-Type") || "").toLowerCase();
345
- try {
346
- if (n.includes("application/json") || n.includes("application/odata+json")) {
347
- let t = Pe(await e.json());
348
- if (t.length) return Error(t.join(" | "));
349
- } else {
350
- let r = Ne(await e.text());
351
- if (r) {
352
- if (q(n, r)) {
353
- let n = K(r);
354
- if (F(n)) return new I("Требуется повторная аутентификация", n);
355
- let i = /* @__PURE__ */ Error("Unexpected HTML response from OData endpoint");
356
- return me(i, "fetch.buildHttpError", e, r, t), i;
357
- }
358
- return Error(r);
359
- }
360
- }
361
- } catch {}
362
- return /* @__PURE__ */ Error(`HTTP error: ${e.status} ${e.statusText}`);
363
- }
364
- function Y(e) {
365
- return e.type === "opaqueredirect";
366
- }
367
- async function Ie(e, t = {}, n = "odata") {
368
- let r = t.method?.toUpperCase() || "GET", i = new Headers(t.headers), a = !["GET", "HEAD"].includes(r), o = y(t.body), s = V(e, n), c = H(e, n);
369
- if (i.set("sap-language", "ru"), s && (i.set("sap-language", "ru"), i.set("sap-contextid-accept", "header")), c && i.set("sap-client", c), a && s) {
370
- let t = await De(e, n, c);
371
- i.set("x-csrf-token", t);
372
- }
373
- i.has("Accept") || i.set("Accept", "application/json"), o && a && !i.has("Content-Type") && i.set("Content-Type", "application/json");
374
- let l = (n && j[n]) ?? "", u = typeof e == "string" ? e : e.toString(), d = await fetch(l + u, {
375
- ...t,
376
- headers: i,
377
- credentials: "include",
378
- redirect: s ? "manual" : t.redirect
379
- });
380
- if (s && Y(d)) throw new I("Требуется повторная аутентификация", void 0, l + u);
381
- if ((d.status === 401 || d.status === 403) && a && s && !t.retried) {
382
- let r = Ee(e, n, c);
383
- L.delete(r.cacheKey), R.delete(r.cacheKey);
384
- let a = await De(e, n, c), o = new Headers(i);
385
- if (o.set("x-csrf-token", a), d = await fetch(l + u, {
386
- ...t,
387
- headers: o,
388
- credentials: "include",
389
- redirect: "manual",
390
- retried: !0
391
- }), Y(d)) throw new I("Требуется повторная аутентификация", void 0, l + u);
392
- }
393
- return d;
394
- }
395
- async function X(e, t, n, r, i) {
396
- if (!e.ok) throw e.status === 0 ? Error("Ошибка сети или CORS. Проверьте подключение и настройки сервера.") : await Fe(e, {
397
- input: t,
398
- init: n,
399
- baseUrlType: r,
400
- sapClient: i
401
- });
402
- return e;
403
- }
404
- async function Le(e, t = {}, n = "odata") {
405
- let r = H(e, n);
406
- return X(await Ie(e, t, n), e, t, n, r);
407
- }
408
- async function Re(e, t = {}, n = "odata") {
409
- let r = V(e, n), i = H(e, n), a = () => Le(e, {
410
- ...t,
411
- ssoRetried: !0
412
- }, n);
413
- r && await Te();
414
- let o;
415
- try {
416
- o = await Ie(e, t, n);
417
- } catch (e) {
418
- if (r && e instanceof I && e.recoverable && !t.ssoRetried) o = await W(e, a);
419
- else throw e;
420
- }
421
- try {
422
- return await X(o, e, t, n, i);
423
- } catch (o) {
424
- if (r && o instanceof I && o.recoverable && !t.ssoRetried) return X(await W(o, a), e, t, n, i);
425
- throw o;
426
- }
427
- }
428
- async function ze(e, t = {}, n = "odata") {
429
- let r = new Headers(t.headers);
430
- r.set("DataServiceVersion", "2.0"), r.set("MaxDataServiceVersion", "2.0");
431
- let i = {
432
- ...t,
433
- headers: r
434
- }, a = {
435
- input: e,
436
- init: t,
437
- baseUrlType: n,
438
- sapClient: H(e, n)
439
- };
440
- try {
441
- return await Me(await Re(e, i, n), a);
442
- } catch (r) {
443
- if (V(e, n) && r instanceof I && r.recoverable && !t.ssoRetried) return W(r, async () => {
444
- let t = {
445
- ...i,
446
- ssoRetried: !0
447
- };
448
- return Me(await Le(e, t, n), {
449
- input: e,
450
- init: t,
451
- baseUrlType: n,
452
- sapClient: H(e, n)
453
- });
454
- });
455
- throw r;
456
- }
457
- }
458
- function Be(e, t) {
459
- let n = t.init || {}, r = t.baseUrl, i = t.transform;
460
- if (t.swCache) {
461
- let e = new Headers(n.headers);
462
- e.set("x-sw-cache", t.swCache), n.headers = e;
463
- }
464
- return async (t) => {
465
- !n.signal && t?.signal && (n.signal = t.signal);
466
- let a = await Re(e, n, r);
467
- if (typeof i != "function") throw Error("fetchQueryFn requires a transformation function!");
468
- return await i(a);
469
- };
470
- }
471
- //#endregion
472
- //#region node_modules/@ryuzaki13/react-foundation-api/dist/chunks/odataFetchFn-D8PGKDZM.js
473
- var Z = ["odata"];
474
- function Q(e, t, n) {
475
- n === void 0 || n === "" || e.set(t, String(n));
476
- }
477
- function Ve(e, t = {}, n = {}) {
478
- let [r, i = ""] = e.split("?"), a = new URLSearchParams(i);
479
- if (t.expression) {
480
- let e = S(t.expression);
481
- e && a.set("$filter", e);
482
- }
483
- t.sorts && a.set("$orderby", C(t.sorts)), t.select && a.set("$select", t.select.join(",")), t.expand && a.set("$expand", t.expand.join(",")), Q(a, "$top", t.top), Q(a, "$skip", t.skip), Q(a, "$inlinecount", t.inlinecount);
484
- let o = r.replace(/\/+$/, ""), s = a.toString(), c = s ? `${o}?${s}` : o, l = n;
485
- if (t.swCache) {
486
- let e = new Headers(n.headers);
487
- e.set("x-sw-cache", t.swCache), l = {
488
- ...n,
489
- headers: e
490
- };
491
- }
492
- return {
493
- path: c,
494
- fullUrl: `${j[t.baseUrl ?? "odata"]}${c}`,
495
- baseUrl: t.baseUrl,
496
- init: l,
497
- queryString: s
498
- };
499
- }
500
- async function He(e, t = {}, n = {}) {
501
- let r = Ve(e, t, n);
502
- return ze(r.path, r.init, t.baseUrl);
503
- }
504
- var Ue = __APP_BUILD_ID__, We = 1e3 * 60 * 60 * 24;
505
- function Ge(e) {
506
- if (e) return Array.isArray(e) ? e[0] : e;
507
- }
508
- var Ke = ({ service: e }) => [
509
- ...Z,
510
- "metadata-version",
511
- {
512
- service: e,
513
- buildId: Ue
514
- }
515
- ];
516
- function qe(e) {
517
- return {
518
- service: e,
519
- changedAt: null,
520
- version: null
521
- };
522
- }
523
- function Je(e) {
524
- return async ({ signal: t }) => {
525
- let n = O().metadataVersion;
526
- if (!n) return qe(e.service);
527
- let r = u(Ge((await He(`/${n.service}/${n.target}('${k(e.service)}')`, { baseUrl: A(n.service, n.baseUrl) }, { signal: t })).data)?.lastChanged);
528
- return {
529
- service: e.service,
530
- changedAt: r,
531
- version: r ? l(r) : null
532
- };
533
- };
534
- }
535
- var Ye = (e) => m({
536
- queryKey: Ke(e),
537
- queryFn: Je(e),
538
- meta: b,
539
- enabled: !!(e.service && O().metadataVersion),
540
- staleTime: e.staleTime ?? We,
541
- gcTime: Infinity
542
- });
543
- function Xe(e, t) {
544
- return e.invalidateQueries({ predicate: (e) => {
545
- let [n, r, i] = e.queryKey;
546
- return n !== Z[0] || r !== "metadata" || !i || typeof i != "object" ? !1 : "service" in i && i.service === t;
547
- } });
548
- }
549
- function Ze(e, t) {
550
- return e?.data === void 0 || !t.changedAt ? !1 : t.changedAt.getTime() > e.dataUpdatedAt;
551
- }
552
- function Qe(e) {
553
- return Be(`/${e.service}/$metadata`, {
554
- baseUrl: A(e.service, e.baseUrl),
555
- init: { headers: {
556
- Accept: "*/*",
557
- "Content-Type": "application/xml"
558
- } },
559
- transform: async (t) => {
560
- try {
561
- return w(await t.text());
562
- } catch (t) {
563
- throw Error(`Сервис ${e.service} содержит необработанную ошибку: ${String(t)}`);
564
- }
565
- }
566
- });
567
- }
568
- var $e = (e) => m({
569
- queryKey: [
570
- ...Z,
571
- "metadata",
572
- e
573
- ],
574
- queryFn: Qe(e),
575
- meta: b,
576
- enabled: !!e.service,
577
- staleTime: Infinity,
578
- gcTime: Infinity
579
- });
580
- async function et(e, t, n) {
581
- if (!t.service) return;
582
- let r = $e(t).queryKey;
583
- Ze(e.getQueryState(r), n) && await Xe(e, t.service);
584
- }
585
- function tt(e) {
586
- let t = g(), n = o(() => ({
587
- service: e.service,
588
- baseUrl: e.baseUrl
589
- }), [e.baseUrl, e.service]), r = h(Ye(o(() => ({ service: e.service }), [e.service]))), i = h($e(n));
590
- return a(() => {
591
- !e.service || !r.isSuccess || et(t, n, r.data);
592
- }, [
593
- n,
594
- i.dataUpdatedAt,
595
- e.service,
596
- t,
597
- r.data,
598
- r.isSuccess
599
- ]), i;
600
- }
601
- //#endregion
602
- //#region node_modules/@ryuzaki13/react-foundation-api/dist/odata/index.js
603
- var nt = () => [...Z, "collection"], rt = ({ service: e, target: t, limitedKeys: n, serverFilter: r }) => [...nt(), {
604
- service: e,
605
- target: t,
606
- limitedKeys: n,
607
- serverFilter: r
608
- }];
609
- function it(e) {
610
- let t = [];
611
- for (let [n, r] of e.entries()) {
612
- let e = `${r.odata.service}.${r.odata.target}`;
613
- for (let [i, [a, o]] of Object.entries(r.segments).entries()) t.push({
614
- id: a,
615
- serviceKey: e,
616
- serviceIndex: n,
617
- segmentIndex: i,
618
- odata: r.odata,
619
- segment: o,
620
- model: {
621
- ...r.model,
622
- codeKey: a
623
- },
624
- panelVisibility: o.panelVisibility ?? "user"
625
- });
626
- }
627
- return t;
628
- }
629
- async function at(e) {
630
- let { url: t, query: r, signal: i } = e;
631
- try {
632
- let e = await He(t, r, { signal: i });
633
- if (je(e)) throw Error("отсутствует тело ответа");
634
- return { items: e.data.map(({ ID: e, CNT: t, __metadata: n, __Parameters: r, ...i }) => i) };
635
- } catch (e) {
636
- return n("Ошибка загрузки справочника:", e), { items: [] };
637
- }
638
- }
639
- var ot = __APP_BUILD_ID__, st = 1e3 * 60 * 60 * 4, ct = 1e3 * 60 * 60 * 24 * 7, lt = "ttl=forever;name=ref", ut = "bust=forever;name=ref", dt = "ttl=4h;name=ref-updates", ft = () => [
640
- ...Z,
641
- "collection-updates",
642
- { buildId: ot }
643
- ];
644
- function pt(e) {
645
- return {
646
- ...e,
647
- lastChangedAt: u(e.lastChanged)
648
- };
649
- }
650
- function mt(e, t) {
651
- let n = e.map(pt);
652
- return {
653
- items: n,
654
- byEntityName: n.reduce((e, t) => (t.entityName && (e[t.entityName] = t), e), {}),
655
- fetchedAt: t,
656
- coverageStartedAt: t - ct
657
- };
658
- }
659
- function ht() {
660
- return async ({ signal: e }) => {
661
- let t = Date.now(), n = O().collectionUpdates;
662
- return n ? mt((await He(`/${n.service}/${n.target}`, {
663
- baseUrl: A(n.service, n.baseUrl),
664
- swCache: dt
665
- }, { signal: e })).data, Math.max(t, Date.now())) : mt([], t);
666
- };
667
- }
668
- var gt = (e = {}) => m({
669
- queryKey: ft(),
670
- queryFn: ht(),
671
- meta: b,
672
- enabled: !!O().collectionUpdates,
673
- staleTime: e.staleTime ?? st,
674
- gcTime: Infinity
675
- });
676
- function _t(e = {}) {
677
- return h(gt(e));
678
- }
679
- function vt(e) {
680
- let { data: t, dataUpdatedAt: n = 0, isLoading: r, isError: i } = tt({ service: e.service }), a = t?.entities[e.target];
681
- if (!r && !a && t?.functionImports[e.target]) throw Error(`OData target '${e.target}' является FunctionImport и не может использоваться как сущность`);
682
- if (i) throw Error(`Ошибка загрузки метаданных сервиса ${e.service}`);
683
- return {
684
- metadata: a,
685
- metadataUpdatedAt: n,
686
- isLoading: r
687
- };
688
- }
689
- var $ = "Использование actions недопустимо до окончания загрузки metadata";
690
- function yt(e) {
691
- let { metadata: t, metadataUpdatedAt: n, isLoading: r } = vt(e);
692
- return {
693
- config: e,
694
- metadata: t,
695
- metadataUpdatedAt: n,
696
- isLoading: r,
697
- actions: o(() => ({
698
- getEntityPath: (n = {}) => {
699
- if (!t) throw Error($);
700
- return x(t, e, n);
701
- },
702
- getKeys: () => {
703
- if (!t) throw Error($);
704
- return t.columns?.map((e) => e.id);
705
- },
706
- getKeyPairs: () => {
707
- if (!t) throw Error($);
708
- return t.columns?.filter((e) => e.semanticType === "code" && e.linkedColumnId).map((e) => ({
709
- codeKey: e.id,
710
- textKey: e.linkedColumnId
711
- }));
712
- },
713
- getKeyPairsMap: () => {
714
- if (!t) throw Error($);
715
- let e = {};
716
- for (let n of t.columns ?? []) n.semanticType === "code" && n.linkedColumnId && (e[n.id] = n.linkedColumnId);
717
- return e;
718
- }
719
- }), [e, t])
720
- };
721
- }
722
- function bt(e, t) {
723
- if (!t) return e;
724
- let n = e.trim().toLowerCase();
725
- return n === "off" || n.startsWith("bust=") ? e : n.startsWith("ttl=") ? e.replace(/^\s*ttl=/i, "bust=") : ut;
726
- }
727
- function xt(e) {
728
- return typeof e == "number" && Number.isFinite(e) && e > 0;
729
- }
730
- function St(e, t) {
731
- let n = t?.cacheUpdatedAt ?? 0, r = e.update?.lastChangedAt?.getTime();
732
- return !!(xt(r) && (!t || !n || r > n) || xt(e.metadataUpdatedAt) && (!t || !n || e.metadataUpdatedAt > n) || xt(e.updatesCoverageStartedAt) && (!t || !n || n < e.updatesCoverageStartedAt));
733
- }
734
- function Ct(e) {
735
- let { service: t, target: n, limitedKeys: r, excludeEmpty: i, sortByCode: s, serverFilter: c, clientFilter: l, swCache: u = lt } = e, d = g(), { actions: f, metadata: p, metadataUpdatedAt: m, isLoading: _ } = yt(e), v = _t(), y = o(() => rt({
736
- service: t,
737
- target: n,
738
- limitedKeys: r,
739
- serverFilter: c
740
- }), [
741
- t,
742
- n,
743
- r,
744
- c
745
- ]), x = d.getQueryData(y), S = v.data?.byEntityName[n], C = St({
746
- update: S,
747
- metadataUpdatedAt: m,
748
- updatesCoverageStartedAt: v.data?.coverageStartedAt
749
- }, x), w = bt(u, C), E = v.isError || v.isSuccess && !v.isFetching;
750
- return a(() => {
751
- !x || !C || d.invalidateQueries({ queryKey: y });
752
- }, [
753
- x,
754
- d,
755
- y,
756
- C
757
- ]), h({
758
- queryKey: y,
759
- queryFn: async ({ signal: e }) => {
760
- let a = Date.now(), o = r ? [...r] : f.getKeys(), u = f.getKeyPairs(), d = f.getKeyPairsMap();
761
- if (r) for (let e of r) {
762
- let t = d[e];
763
- t && !o.includes(t) && o.push(t);
764
- }
765
- let { items: p } = await at({
766
- url: `/${t}/${n}`,
767
- query: {
768
- select: o,
769
- expression: c,
770
- swCache: w
771
- },
772
- signal: e
773
- }), h = p;
774
- l && (h = p.filter(l));
775
- let g = T(h, u, i, s), _ = u.map((e) => ({
776
- codeKey: e.codeKey,
777
- count: g[e.codeKey].length
778
- })).sort((e, t) => e.count - t.count);
779
- return {
780
- items: h,
781
- keyPairs: u,
782
- keyPairsMap: d,
783
- separated: g,
784
- chain: _,
785
- count: h.length,
786
- cacheUpdatedAt: Math.max(a, Date.now(), S?.lastChangedAt?.getTime() ?? 0, m)
787
- };
788
- },
789
- enabled: !!(!_ && p && t && n && E),
790
- meta: b,
791
- staleTime: 1e3 * 60 * 60 * 2,
792
- gcTime: 1e3 * 60 * 60 * 1
793
- });
794
- }
795
- function wt({ odata: e, model: t, pageSize: n = 50 }) {
796
- let { codeKey: r, maxVisibleItems: a } = t, { data: l, isLoading: u, isError: d, refetch: f } = Ct(e), p = l?.keyPairsMap[r] ?? "", m = g(), [h, _] = c(), v = s(/* @__PURE__ */ new Map()), { itemsMap: y, separatedItems: b, orderedKeys: x } = o(() => {
797
- let e = /* @__PURE__ */ new Map(), t = [], n = [];
798
- if (l && l.separated[r]) {
799
- n = l.separated[r];
800
- for (let i of n) {
801
- let n = i[r];
802
- n && (e.set(n, i), t.push(n));
803
- }
804
- }
805
- return {
806
- itemsMap: e,
807
- separatedItems: n,
808
- orderedKeys: t
809
- };
810
- }, [l, r]), S = i((e) => {
811
- let t = l?.separated[r];
812
- if (!t) return /* @__PURE__ */ new Map();
813
- let n = /* @__PURE__ */ new Map();
814
- for (let i of t) {
815
- let t = i[e]?.toLowerCase();
816
- if (t) for (let e = 1; e <= Math.min(5, t.length); e++) {
817
- let a = t.substring(0, e);
818
- n.has(a) || n.set(a, /* @__PURE__ */ new Set()), n.get(a).add(i[r]);
819
- }
820
- }
821
- return n;
822
- }, [l, r]), C = i((e) => {
823
- _(() => {
824
- if (e?.length) return new Set(e.map((e) => e[r]));
825
- });
826
- }, [r]), w = i((e, t) => {
827
- if (!x.length) return [];
828
- let n = a, i = /* @__PURE__ */ new Set(), o = [];
829
- if (t?.length) for (let e = 0; e < t.length; e++) i.add(t[e][r]);
830
- let s = 0, c = h && h.size > 0;
831
- for (let t of x) {
832
- if (s >= n) break;
833
- let a = y.get(t);
834
- if (!a || i.size > 0 && i.has(t)) continue;
835
- let l = a[r];
836
- c && !h.has(l) || e && !e(l, a[p]) || (o.push(a), s++);
837
- }
838
- return o;
839
- }, [
840
- x,
841
- a,
842
- r,
843
- y,
844
- h,
845
- p
846
- ]), T = i((e) => {
847
- let t = l?.separated[r] || [], i = e * n, a = i + n;
848
- return t.slice(i, a);
849
- }, [
850
- l,
851
- n,
852
- r
853
- ]), E = i((e, t) => {
854
- if (!l) return [];
855
- let n = new Set(t);
856
- return l.items.filter((t) => n.has(t[e]));
857
- }, [l]), D = i((e, t, n = 200) => {
858
- v.current.has(e) && clearTimeout(v.current.get(e));
859
- let r = setTimeout(t, n);
860
- v.current.set(e, r);
861
- }, []), O = i(() => {
862
- for (let e of v.current.values()) clearTimeout(e);
863
- v.current.clear();
864
- }, []);
865
- return o(() => () => {
866
- O();
867
- }, [O]), {
868
- data: l,
869
- isLoading: u,
870
- isError: d,
871
- codeKey: r,
872
- textKey: p,
873
- getItems: w,
874
- findSourceItemsByKeys: E,
875
- setFilteredItems: C,
876
- getPage: T,
877
- buildSearchIndex: S,
878
- debounce: D,
879
- itemsMap: y,
880
- separatedItems: b,
881
- orderedKeys: x,
882
- refetch: f,
883
- invalidate: () => m.invalidateQueries({ queryKey: rt(e) }),
884
- totalCount: l?.separated[r]?.length || 0,
885
- pageSize: n
886
- };
887
- }
888
- function Tt(e) {
889
- let [t] = c(() => {
890
- let t = E.getState(), { codeKey: n, maxVisibleItems: r = t.defaultMaxVisibleItems, minSearchCodeLength: i = t.defaultMinSearchCodeLength, minSearchTextLength: a = t.defaultMinSearchTextLength, searchDebounceDelay: o = t.defaultSearchDebounceDelay } = e;
891
- return {
892
- codeKey: n,
893
- maxVisibleItems: r,
894
- minSearchCodeLength: i,
895
- minSearchTextLength: a,
896
- searchDebounceDelay: o
897
- };
898
- });
899
- return t;
900
- }
901
- //#endregion
902
- //#region src/select/model/useODataSelectBase.ts
903
- var Et = "", Dt = "";
904
- function Ot(e) {
905
- return e?.length ? [...new Set(e)].sort() : [];
906
- }
907
- function kt(e, t, n) {
908
- let r = [];
909
- for (let i of Object.keys(t).sort()) {
910
- if (i === e) continue;
911
- let t = Ot(n?.[i]);
912
- t.length && r.push(`${i}:${t.join(Dt)}`);
913
- }
914
- return r.join(Et);
915
- }
916
- function At(e) {
917
- let t = /* @__PURE__ */ new Map();
918
- if (!e) return t;
919
- for (let n of e.split(Et)) {
920
- let e = n.indexOf(":");
921
- if (e < 0) continue;
922
- let r = n.slice(0, e), i = n.slice(e + 1).split(Dt).filter(Boolean);
923
- r && i.length && t.set(r, i);
924
- }
925
- return t;
926
- }
927
- function jt({ odata: e, segment: t, model: n, value: r, dependencies: i }) {
928
- let [s, l] = c(""), [u, f] = c(""), { codeKey: p, searchDebounceDelay: m, minSearchCodeLength: h, minSearchTextLength: g } = n, { data: _, textKey: v, isLoading: y, isError: b, getItems: x, separatedItems: S, findSourceItemsByKeys: C, setFilteredItems: w, debounce: T } = wt({
929
- odata: e,
930
- model: n
931
- }), E = S.length, D = t.selectText && v ? v : p, O = o(() => _ ? kt(p, _.keyPairsMap, i) : "", [
932
- _,
933
- p,
934
- i
935
- ]);
936
- a(() => {
937
- if (!_) return;
938
- let e = _.chain.findIndex((e) => e.codeKey === p), t = At(O), n = (e) => {
939
- let n = _.chain[e].codeKey, r = t.get(n);
940
- if (r?.length) return C(n, r);
941
- };
942
- for (let t = _.chain.length - 1; t > e; t--) {
943
- let e = n(t);
944
- if (e) {
945
- w(e);
946
- return;
947
- }
948
- }
949
- for (let t = 0; t < e; t++) {
950
- let e = n(t);
951
- if (e) {
952
- w(e);
953
- return;
954
- }
955
- }
956
- w(void 0);
957
- }, [
958
- _,
959
- O,
960
- p,
961
- C,
962
- w
963
- ]), a(() => {
964
- T("search", () => {
965
- f(s.trim().toLowerCase());
966
- }, m);
967
- }, [
968
- T,
969
- s,
970
- m
971
- ]);
972
- let k = o(() => {
973
- if (!r?.length || !D) return [];
974
- let e = new Set(r);
975
- return S.filter((t) => e.has(t[D]));
976
- }, [
977
- S,
978
- D,
979
- r
980
- ]), A = o(() => {
981
- if (!_) return [];
982
- if (!(u.length >= g)) return x(void 0, k);
983
- let e = u.length >= g, n = !t.hideCode && u.length >= h && !Number.isNaN(Number(u));
984
- return x((t, r) => !!(t && r && (n && d(t, u) || e && r.toLowerCase().includes(u))), k);
985
- }, [
986
- u,
987
- x,
988
- h,
989
- g,
990
- _,
991
- t.hideCode,
992
- k
993
- ]);
994
- return {
995
- query: s,
996
- setQuery: l,
997
- debouncedQuery: u,
998
- selectedItems: k,
999
- filteredItems: A,
1000
- itemsCount: E,
1001
- isLoading: y,
1002
- isError: b,
1003
- codeKey: p,
1004
- textKey: v,
1005
- selectionKey: D,
1006
- placeholder: o(() => {
1007
- let e = A.length;
1008
- return E ? e < E ? `${t.placeholder} <${e}+>` : `${t.placeholder} <${E > n.maxVisibleItems ? `${n.maxVisibleItems}+` : E}>` : `${t.placeholder} <пусто>`;
1009
- }, [
1010
- A.length,
1011
- E,
1012
- n.maxVisibleItems,
1013
- t.placeholder
1014
- ])
1015
- };
1016
- }
1017
- function Mt(e, t) {
1018
- return e.map((e) => e[t]);
1019
- }
1020
- //#endregion
1021
- //#region src/multi-select/model/useODataMultiSelect.ts
1022
- function Nt({ odata: e, segment: t, model: n, value: r, dependencies: i, onChange: a }) {
1023
- let o = jt({
1024
- odata: e,
1025
- segment: t,
1026
- model: n,
1027
- value: r,
1028
- dependencies: i
1029
- }), s = (e) => {
1030
- a(Mt(e, o.selectionKey));
1031
- };
1032
- return {
1033
- ...o,
1034
- handleChange: s
1035
- };
1036
- }
1037
- //#endregion
1038
- //#region src/multi-select/ui/ODataMultiSelect.tsx
1039
- var Pt = ({ odata: e, segment: n, model: i, label: a, description: o, disabled: s, value: c, dependencies: l, onChange: u, size: d }) => {
1040
- let f = Nt({
1041
- odata: e,
1042
- segment: n,
1043
- model: Tt(i),
1044
- value: c,
1045
- dependencies: l,
1046
- onChange: u
1047
- });
1048
- return /* @__PURE__ */ r(t, {
1049
- label: a,
1050
- description: o,
1051
- size: d,
1052
- codeKey: f.codeKey,
1053
- textKey: f.textKey,
1054
- hideCode: n.hideCode ?? e.hideCode,
1055
- items: f.filteredItems,
1056
- value: f.selectedItems,
1057
- onChange: f.handleChange,
1058
- onQuery: f.setQuery,
1059
- query: f.query,
1060
- defaultFilter: !1,
1061
- highlightQuery: f.debouncedQuery,
1062
- disabled: s || f.isLoading,
1063
- placeholder: f.placeholder,
1064
- error: f.isError ? "Ошибка загрузки" : void 0
1065
- });
1066
- }, Ft = ({ item: e, values: t, onChange: n, width: a = 15 }) => {
1067
- let [o, s] = c({}), l = t ?? o, u = `calc(${a}em + var(--width-add))`, d = i((r) => {
1068
- let i = {
1069
- ...l,
1070
- [e.id]: r
1071
- };
1072
- t || s(i), n?.(i);
1073
- }, [
1074
- e.id,
1075
- n,
1076
- l,
1077
- t
1078
- ]);
1079
- return /* @__PURE__ */ r("div", {
1080
- style: {
1081
- maxWidth: u,
1082
- minWidth: u
1083
- },
1084
- children: /* @__PURE__ */ r(Pt, {
1085
- odata: e.odata,
1086
- segment: e.segment,
1087
- model: e.model,
1088
- dependencies: l,
1089
- value: l[e.id],
1090
- onChange: d
1091
- })
1092
- });
1093
- }, It = ({ width: e = 15, odata: t, segments: n, model: i, values: a, onChange: o }) => {
1094
- let [s, l] = c({}), u = a ?? s;
1095
- return it([{
1096
- odata: t,
1097
- segments: n,
1098
- model: i
1099
- }]).map((t) => /* @__PURE__ */ r(Ft, {
1100
- item: t,
1101
- values: u,
1102
- onChange: (e) => {
1103
- a || l(e), o?.(e);
1104
- },
1105
- width: e
1106
- }, t.id));
1107
- };
1108
- //#endregion
1109
- //#region src/multi-select/ui/SerializableMultiSelect.tsx
1110
- function Lt(e, t) {
1111
- return e[t];
1112
- }
1113
- function Rt(e, t, n) {
1114
- let r = e[t];
1115
- if (typeof r == "string") return r;
1116
- let i = Lt(e, n);
1117
- return typeof i == "string" ? i : String(i);
1118
- }
1119
- function zt({ label: e, description: n, disabled: i, placeholder: a, size: o, options: s, value: c, onChange: l, optionKey: u, optionLabel: d, renderCode: f }) {
1120
- let p = s.map((e) => ({
1121
- key: String(Lt(e, u)),
1122
- text: Rt(e, d, u)
1123
- })), m = new Set((c ?? []).map((e) => String(e))), h = p.filter((e) => m.has(e.key));
1124
- return /* @__PURE__ */ r(t, {
1125
- label: e,
1126
- description: n,
1127
- disabled: i,
1128
- placeholder: a,
1129
- size: o,
1130
- items: p,
1131
- codeKey: "key",
1132
- textKey: "text",
1133
- hideCode: f ? void 0 : !0,
1134
- value: h,
1135
- onChange: (e) => l(e.map((e) => e.key))
1136
- });
1137
- }
1138
- //#endregion
1139
- export { t as MultiSelect, e as MultiSelectToken, It as ODataDependentMultiSelect, Ft as ODataDependentSegmentMultiSelect, Pt as ODataMultiSelect, zt as SerializableMultiSelect };
1140
-
1141
- //# sourceMappingURL=index.js.map
1
+ import { i as e, n as t, r as n, t as r } from "../chunks/multi-select-BzYIviCU.js";
2
+ import { n as i, t as a } from "../chunks/MultiSelect-D1XYuwH1.js";
3
+ export { a as MultiSelect, i as MultiSelectToken, t as ODataDependentMultiSelect, n as ODataDependentSegmentMultiSelect, e as ODataMultiSelect, r as SerializableMultiSelect };