@ryuzaki13/react-foundation-ui 1.0.8 → 1.0.11

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 (631) hide show
  1. package/dist/advanced-search/index.js +11 -11
  2. package/dist/badge/index.js +1 -1
  3. package/dist/base-table/index.js +1 -1
  4. package/dist/button/index.js +2 -23
  5. package/dist/check-box/index.js +1 -1
  6. package/dist/chunks/{CalendarView-DjeTJkTT.js → CalendarView-DCQjO2ho.js} +2 -2
  7. package/dist/chunks/{CalendarView-DjeTJkTT.js.map → CalendarView-DCQjO2ho.js.map} +1 -1
  8. package/dist/chunks/{odata-DSW7z3nh.js → SelectOptionContent-lfEtHXfO.js} +404 -381
  9. package/dist/chunks/SelectOptionContent-lfEtHXfO.js.map +1 -0
  10. package/dist/chunks/{TextEditorLexicalClient-16S18Yir.js → TextEditorLexicalClient-Bca3FOUs.js} +8 -8
  11. package/dist/chunks/{TextEditorLexicalClient-16S18Yir.js.map → TextEditorLexicalClient-Bca3FOUs.js.map} +1 -1
  12. package/dist/chunks/{BadgeList-DYgun2rf.js → badge-BfbLPk0z.js} +2 -2
  13. package/dist/chunks/badge-BfbLPk0z.js.map +1 -0
  14. package/dist/chunks/{base-table-CoQlKABk.js → base-table-CiYSRI_J.js} +4 -4
  15. package/dist/chunks/{base-table-CoQlKABk.js.map → base-table-CiYSRI_J.js.map} +1 -1
  16. package/dist/chunks/button-CC0Jdx1j.js +72 -0
  17. package/dist/chunks/button-CC0Jdx1j.js.map +1 -0
  18. package/dist/chunks/{CheckBox-BowNqqd3.js → check-box-BowNqqd3.js} +1 -1
  19. package/dist/chunks/check-box-BowNqqd3.js.map +1 -0
  20. package/dist/chunks/{DropdownMenu-DQeR3y7M.js → context-menu-DQeR3y7M.js} +1 -1
  21. package/dist/chunks/context-menu-DQeR3y7M.js.map +1 -0
  22. package/dist/chunks/{DateInput-BTJ-QTUx.js → date-input-DjAQ75n9.js} +5 -5
  23. package/dist/chunks/date-input-DjAQ75n9.js.map +1 -0
  24. package/dist/chunks/{DateRangePresetSelect-UgsfaOeM.js → date-range-preset-select-UgsfaOeM.js} +1 -1
  25. package/dist/chunks/date-range-preset-select-UgsfaOeM.js.map +1 -0
  26. package/dist/chunks/{Flex-DUYSL5TE.js → flex-CPO6xlPR.js} +38 -33
  27. package/dist/chunks/{Flex-DUYSL5TE.js.map → flex-CPO6xlPR.js.map} +1 -1
  28. package/dist/chunks/{Grid-ByIIytjh.js → grid-ByIIytjh.js} +1 -1
  29. package/dist/chunks/{Grid-ByIIytjh.js.map → grid-ByIIytjh.js.map} +1 -1
  30. package/dist/chunks/{Input-anSjiM9b.js → input-CZLUUggm.js} +10 -2
  31. package/dist/chunks/input-CZLUUggm.js.map +1 -0
  32. package/dist/chunks/{InputFiles-XBQxkHdB.js → input-files-aB8iaqGk.js} +5 -5
  33. package/dist/chunks/input-files-aB8iaqGk.js.map +1 -0
  34. package/dist/chunks/{input-search-B_njjJuV.js → input-search-eMvnvgV0.js} +2 -2
  35. package/dist/chunks/{input-search-B_njjJuV.js.map → input-search-eMvnvgV0.js.map} +1 -1
  36. package/dist/chunks/{misc-DoqZBMof.js → misc-1PxS8OWD.js} +2 -2
  37. package/dist/chunks/{misc-DoqZBMof.js.map → misc-1PxS8OWD.js.map} +1 -1
  38. package/dist/chunks/{modal-ByNRME3b.js → modal-C0j0hEIt.js} +5 -5
  39. package/dist/chunks/{modal-ByNRME3b.js.map → modal-C0j0hEIt.js.map} +1 -1
  40. package/dist/chunks/multi-select-r0ekR6Bh.js +541 -0
  41. package/dist/chunks/multi-select-r0ekR6Bh.js.map +1 -0
  42. package/dist/chunks/{picker-Du7Y4-el.js → picker-beNX-cW9.js} +11 -11
  43. package/dist/chunks/{picker-Du7Y4-el.js.map → picker-beNX-cW9.js.map} +1 -1
  44. package/dist/chunks/{RadioGroup-B9XjkcOy.js → radio-group-B9XjkcOy.js} +1 -1
  45. package/dist/chunks/radio-group-B9XjkcOy.js.map +1 -0
  46. package/dist/chunks/select-CFbZS7fx.js +284 -0
  47. package/dist/chunks/select-CFbZS7fx.js.map +1 -0
  48. package/dist/chunks/{table-Dc3AqMzP.js → table-BR2VqeEg.js} +2 -2
  49. package/dist/chunks/{table-Dc3AqMzP.js.map → table-BR2VqeEg.js.map} +1 -1
  50. package/dist/chunks/{toolbar-BCZNdRXM.js → toolbar-XCDeS2Li.js} +2 -2
  51. package/dist/chunks/{toolbar-BCZNdRXM.js.map → toolbar-XCDeS2Li.js.map} +1 -1
  52. package/dist/chunks/{useODataSelectBase-BbeKdq6x.js → useODataSelectBase-BxAvhDww.js} +2 -2
  53. package/dist/chunks/{useODataSelectBase-BbeKdq6x.js.map → useODataSelectBase-BxAvhDww.js.map} +1 -1
  54. package/dist/context-menu/index.js +1 -1
  55. package/dist/date-input/index.js +2 -2
  56. package/dist/date-range-preset-select/index.js +1 -1
  57. package/dist/date-time-input/index.js +458 -2
  58. package/dist/date-time-input/index.js.map +1 -0
  59. package/dist/detail/index.js +80 -2
  60. package/dist/detail/index.js.map +1 -0
  61. package/dist/dialog/index.js +50 -2
  62. package/dist/dialog/index.js.map +1 -0
  63. package/dist/disclosure/index.js +49 -2
  64. package/dist/disclosure/index.js.map +1 -0
  65. package/dist/drop-zone/index.js +98 -2
  66. package/dist/drop-zone/index.js.map +1 -0
  67. package/dist/errors/index.js +1 -1
  68. package/dist/expandable-action-panel/index.js +82 -2
  69. package/dist/expandable-action-panel/index.js.map +1 -0
  70. package/dist/flex/index.js +2 -14
  71. package/dist/grid/index.js +1 -1
  72. package/dist/image/index.js +5 -5
  73. package/dist/input/index.js +2 -14
  74. package/dist/input-date-time/index.js +258 -2
  75. package/dist/input-date-time/index.js.map +1 -0
  76. package/dist/input-file/index.js +105 -2
  77. package/dist/input-file/index.js.map +1 -0
  78. package/dist/input-files/index.js +1 -1
  79. package/dist/input-image/index.js +100 -2
  80. package/dist/input-image/index.js.map +1 -0
  81. package/dist/input-search/index.js +1 -1
  82. package/dist/layout-picker/index.js +1171 -2
  83. package/dist/layout-picker/index.js.map +1 -0
  84. package/dist/list/index.js +2 -2
  85. package/dist/listbox/index.js +81 -2
  86. package/dist/listbox/index.js.map +1 -0
  87. package/dist/misc/index.js +1 -1
  88. package/dist/modal/index.js +1 -1
  89. package/dist/multi-select/index.js +2 -3
  90. package/dist/notifications/index.js +151 -3
  91. package/dist/notifications/index.js.map +1 -0
  92. package/dist/picker/index.js +1 -1
  93. package/dist/preset-range-date-input/index.js +52 -3
  94. package/dist/preset-range-date-input/index.js.map +1 -1
  95. package/dist/preset-select/index.js +1 -1
  96. package/dist/radio-button/index.js +48 -2
  97. package/dist/radio-button/index.js.map +1 -0
  98. package/dist/radio-group/index.js +1 -1
  99. package/dist/select/index.js +2 -4
  100. package/dist/simple-table/index.js +1 -1
  101. package/dist/slider/index.js +695 -2
  102. package/dist/slider/index.js.map +1 -0
  103. package/dist/splitter/index.js +168 -2
  104. package/dist/splitter/index.js.map +1 -0
  105. package/dist/state-select/index.js +78 -2
  106. package/dist/state-select/index.js.map +1 -0
  107. package/dist/styles.css +1 -1
  108. package/dist/switch/index.js +81 -2
  109. package/dist/switch/index.js.map +1 -0
  110. package/dist/table/index.js +1 -1
  111. package/dist/table-sorting/index.js +1 -1
  112. package/dist/tabs/index.js +384 -2
  113. package/dist/tabs/index.js.map +1 -0
  114. package/dist/text-editor/index.js +3 -3
  115. package/dist/text-editor/toolbar/index.js +1 -1
  116. package/dist/textarea/index.js +44 -2
  117. package/dist/textarea/index.js.map +1 -0
  118. package/dist/toggle/index.js +73 -2
  119. package/dist/toggle/index.js.map +1 -0
  120. package/dist/toolbar/index.js +2 -3
  121. package/dist/toolbar/index.js.map +1 -1
  122. package/dist/tree-select/index.js +569 -89
  123. package/dist/tree-select/index.js.map +1 -1
  124. package/dist/tree-table/index.js +1 -1
  125. package/package.json +5 -304
  126. package/src/styles/_base.scss +11 -3
  127. package/src/styles/config/_index.scss +21 -37
  128. package/src/styles/themes/dark/_default.scss +0 -17
  129. package/storybook-static/assets/Badge-Cr7bAbxa.css +1 -0
  130. package/storybook-static/assets/Badge-Q8iX86Mn.js +139 -0
  131. package/storybook-static/assets/Badge.stories-BEMBzR2f.js +51 -0
  132. package/storybook-static/assets/Button-BN8Cuwsy.css +1 -0
  133. package/storybook-static/assets/Button-BUkCW8Zg.js +12 -0
  134. package/storybook-static/assets/Button-CfX05aoR.js +124 -0
  135. package/storybook-static/assets/Button.stories-BoNLZb6w.js +75 -0
  136. package/storybook-static/assets/CheckBox-B1xm2kwz.css +1 -0
  137. package/storybook-static/assets/CheckBox-CcXGzkSE.js +42 -0
  138. package/storybook-static/assets/CheckBox-DTSi8Yok.js +2 -0
  139. package/storybook-static/assets/CheckBox.module-Hr3mvdAC.js +1 -0
  140. package/storybook-static/assets/CheckBox.stories-Bo53TxC7.js +60 -0
  141. package/storybook-static/assets/Color-KMSTOMOX-Mbprgrbi.js +1 -0
  142. package/storybook-static/assets/ContextMenu-DYlSojIE.js +40 -0
  143. package/storybook-static/assets/ContextMenu.stories-BJr53bsq.js +90 -0
  144. package/storybook-static/assets/DateInput-Bc-MiPp1.css +1 -0
  145. package/storybook-static/assets/DateInput-BrmilavO.js +40 -0
  146. package/storybook-static/assets/DateInput-C72jV86j.js +1 -0
  147. package/storybook-static/assets/DateInput.stories-0hU_T1iZ.js +115 -0
  148. package/storybook-static/assets/DateRangePresetSelect-BklzgpCR.js +3 -0
  149. package/storybook-static/assets/DateRangePresetSelect-C7gJVkMB.js +30 -0
  150. package/storybook-static/assets/DateRangePresetSelect.stories-DQKDcAdP.js +11 -0
  151. package/storybook-static/assets/Detail-BKSBSfTO.css +1 -0
  152. package/storybook-static/assets/Detail-BMu0MY4h.js +40 -0
  153. package/storybook-static/assets/Detail.stories-CgBJjWQd.js +44 -0
  154. package/storybook-static/assets/Dialog-M7Uy3LiO.js +40 -0
  155. package/storybook-static/assets/Dialog.stories-BZ0opvaJ.js +31 -0
  156. package/storybook-static/assets/Disclosure-BXnfHC6v.js +29 -0
  157. package/storybook-static/assets/Disclosure-zNgXNDkm.css +1 -0
  158. package/storybook-static/assets/Disclosure.stories-C7wh6KJU.js +35 -0
  159. package/storybook-static/assets/DocsRenderer-JROSPFPF-BjXFJaat.js +2 -0
  160. package/storybook-static/assets/DropZone-C7HIN5ml.css +1 -0
  161. package/storybook-static/assets/DropZone-cd1aCNT1.js +36 -0
  162. package/storybook-static/assets/DropZone.stories-CVu731Lk.js +44 -0
  163. package/storybook-static/assets/DropdownMenu-B97Ad5Dg.js +1 -0
  164. package/storybook-static/assets/DropdownMenu-BgzIzwzM.css +1 -0
  165. package/storybook-static/assets/ExpandableActionPanel-D7q9two4.css +1 -0
  166. package/storybook-static/assets/ExpandableActionPanel.stories-k-eTxMyV.js +20 -0
  167. package/storybook-static/assets/Flex-BQkqAqL5.js +61 -0
  168. package/storybook-static/assets/Flex-C_VnI9xY.js +3 -0
  169. package/storybook-static/assets/Flex-IXK2se1Y.css +1 -0
  170. package/storybook-static/assets/Flex.stories-C1VO9Ct3.js +300 -0
  171. package/storybook-static/assets/Grid-Dr3BuEgd.js +61 -0
  172. package/storybook-static/assets/Grid-K9R_IHaw.css +1 -0
  173. package/storybook-static/assets/Grid-y8wKyEwc.js +163 -0
  174. package/storybook-static/assets/Grid.stories-6WUp6Tof.js +495 -0
  175. package/storybook-static/assets/Input-B7DWcGCL.js +3 -0
  176. package/storybook-static/assets/Input-BioMOZju.css +1 -0
  177. package/storybook-static/assets/Input-yly8wxYE.js +39 -0
  178. package/storybook-static/assets/Input.stories-CkVqvY-C.js +38 -0
  179. package/storybook-static/assets/InputDateTime-Cv8gmBe0.css +1 -0
  180. package/storybook-static/assets/InputDateTime-DHirw8rp.js +39 -0
  181. package/storybook-static/assets/InputDateTime.stories-Dci_81MA.js +35 -0
  182. package/storybook-static/assets/InputFile-DBFfWIkJ.js +37 -0
  183. package/storybook-static/assets/InputFile-hNjZ_wlG.css +1 -0
  184. package/storybook-static/assets/InputFile.stories-Bar27dP5.js +36 -0
  185. package/storybook-static/assets/InputFiles-ByK52qUe.css +1 -0
  186. package/storybook-static/assets/InputFiles-DPz7PiOC.js +1 -0
  187. package/storybook-static/assets/InputFiles-tULKp1KR.js +37 -0
  188. package/storybook-static/assets/InputFiles.stories-CkZ8et32.js +33 -0
  189. package/storybook-static/assets/InputImage-C-pnIXhT.css +1 -0
  190. package/storybook-static/assets/InputImage-D8VckxKl.js +37 -0
  191. package/storybook-static/assets/InputImage.stories-Dq8ORce3.js +51 -0
  192. package/storybook-static/assets/LayoutPicker-9tLTatHF.css +1 -0
  193. package/storybook-static/assets/LayoutPicker-l3XFAkqv.js +65 -0
  194. package/storybook-static/assets/LayoutPicker.stories-BjUmm2cg.js +449 -0
  195. package/storybook-static/assets/Listbox-B_6QVPAJ.js +38 -0
  196. package/storybook-static/assets/Listbox.stories-Cf_ApbmT.js +47 -0
  197. package/storybook-static/assets/Modal-BL_cTIW7.css +1 -0
  198. package/storybook-static/assets/Modal-BzienAaa.js +54 -0
  199. package/storybook-static/assets/Modal.stories-cPIHRa9a.js +180 -0
  200. package/storybook-static/assets/MultiSelect-CK2D25RA.js +56 -0
  201. package/storybook-static/assets/MultiSelect-CUQV67Ev.css +1 -0
  202. package/storybook-static/assets/MultiSelect-CjGBd2pC.js +2 -0
  203. package/storybook-static/assets/MultiSelect.stories--f_FoBzR.js +29 -0
  204. package/storybook-static/assets/NotificationsHost-D5Pvn4eu.css +1 -0
  205. package/storybook-static/assets/NotificationsHost-DKmlmqh0.js +44 -0
  206. package/storybook-static/assets/NotificationsHost.stories-1bPUJXfm.js +25 -0
  207. package/storybook-static/assets/ODataMultiSelect-BWUXuzlr.js +53 -0
  208. package/storybook-static/assets/ODataMultiSelect.stories-DA0f6SUG.js +73 -0
  209. package/storybook-static/assets/ODataSelect-D7GAFOcM.js +1 -0
  210. package/storybook-static/assets/ODataSelect-aNdHSjo_.js +52 -0
  211. package/storybook-static/assets/ODataSelect.stories-CjXA9Y9l.js +73 -0
  212. package/storybook-static/assets/ODataTreeMultiSelect-DKodulQ8.js +17 -0
  213. package/storybook-static/assets/ODataTreeMultiSelect.stories-BjRcb4W0.js +24 -0
  214. package/storybook-static/assets/ODataTreeSelect-Ck8HCh74.js +16 -0
  215. package/storybook-static/assets/ODataTreeSelect.stories-BgDj08mH.js +21 -0
  216. package/storybook-static/assets/PeriodSelect-Db7QmUfi.js +35 -0
  217. package/storybook-static/assets/PeriodSelect.stories-BI6yLRCK.js +23 -0
  218. package/storybook-static/assets/Popover-DR-r8iC5.js +45 -0
  219. package/storybook-static/assets/Popover.stories-ReRFMWiO.js +69 -0
  220. package/storybook-static/assets/PresetRangeDateInput-tSpiPAT9.js +31 -0
  221. package/storybook-static/assets/PresetRangeDateInput.stories-LVQa2_DG.js +15 -0
  222. package/storybook-static/assets/RadioButton-C-RjN-wY.css +1 -0
  223. package/storybook-static/assets/RadioButton-sEzdlL1y.js +38 -0
  224. package/storybook-static/assets/RadioButton.stories-CR0km0zF.js +36 -0
  225. package/storybook-static/assets/RadioGroup-BtNCd3Je.js +1 -0
  226. package/storybook-static/assets/RadioGroup-D-J7t20C.css +1 -0
  227. package/storybook-static/assets/RadioGroup-DR0H6Z0w.js +42 -0
  228. package/storybook-static/assets/RadioGroup.stories-FEqmkrs7.js +42 -0
  229. package/storybook-static/assets/Select-CO4ZHP9h.css +1 -0
  230. package/storybook-static/assets/Select-CUAevk01.js +57 -0
  231. package/storybook-static/assets/Select-DYVS7SCZ.js +9 -0
  232. package/storybook-static/assets/Select.stories-Df_c0IfC.js +37 -0
  233. package/storybook-static/assets/SelectOptionContent-B7W0Mned.js +1 -0
  234. package/storybook-static/assets/SerializableSelect-D63xBqOT.js +48 -0
  235. package/storybook-static/assets/SerializableSelect-DwCnuBgv.js +4 -0
  236. package/storybook-static/assets/SerializableSelect.stories-BLPXVOtP.js +43 -0
  237. package/storybook-static/assets/SingleDateTimeInput-mOllNfg2.css +1 -0
  238. package/storybook-static/assets/SingleDateTimeInput-xMkDodYz.js +53 -0
  239. package/storybook-static/assets/SingleDateTimeInput.stories-kcuSwx76.js +78 -0
  240. package/storybook-static/assets/Slider-BHZgpCjC.js +63 -0
  241. package/storybook-static/assets/Slider.stories-Bias_Soq.js +77 -0
  242. package/storybook-static/assets/SliderInput-jzFZcWr7.js +58 -0
  243. package/storybook-static/assets/SliderInput.stories-B7w8bp86.js +67 -0
  244. package/storybook-static/assets/Sortable-DcmDaPBw.js +72 -0
  245. package/storybook-static/assets/Sortable.stories-CwhHGCih.js +141 -0
  246. package/storybook-static/assets/Splitter-Bn7AJiD_.js +83 -0
  247. package/storybook-static/assets/Splitter-D-LmmQad.css +1 -0
  248. package/storybook-static/assets/Splitter.stories-CSvjKF-O.js +22 -0
  249. package/storybook-static/assets/StateSelect-MIGiXD10.js +36 -0
  250. package/storybook-static/assets/StateSelect-pIMkhj9A.css +1 -0
  251. package/storybook-static/assets/StateSelect.stories-BGDCnVqb.js +47 -0
  252. package/storybook-static/assets/Switch-C5zxOq_O.js +36 -0
  253. package/storybook-static/assets/Switch-DGYGWtPw.css +1 -0
  254. package/storybook-static/assets/Switch.stories-BmCl_Ts5.js +26 -0
  255. package/storybook-static/assets/Table-BGvRn9y0.css +1 -0
  256. package/storybook-static/assets/Table-CoySXvs5.js +197 -0
  257. package/storybook-static/assets/Table.stories-CA7ARhwC.js +122 -0
  258. package/storybook-static/assets/Tabs-BLkTB6pp.css +1 -0
  259. package/storybook-static/assets/Tabs-CQdzU18E.js +72 -0
  260. package/storybook-static/assets/Tabs.stories-SBWTpiy2.js +58 -0
  261. package/storybook-static/assets/Textarea-Bo-I0cnE.js +37 -0
  262. package/storybook-static/assets/Textarea-CPNMR88I.css +1 -0
  263. package/storybook-static/assets/Textarea.stories-C1wO9PKR.js +27 -0
  264. package/storybook-static/assets/TimePanel-0-mzaXky.js +1 -0
  265. package/storybook-static/assets/TimePanel-Bh98qsCo.css +1 -0
  266. package/storybook-static/assets/TimePanel.stories-C1VM13qN.js +25 -0
  267. package/storybook-static/assets/Toggle-B9H63WWC.js +37 -0
  268. package/storybook-static/assets/Toggle-DHulCX3T.css +1 -0
  269. package/storybook-static/assets/Toggle.stories-CKlGFcZW.js +30 -0
  270. package/storybook-static/assets/TreeMultiSelect-AXIl2Ge2.js +15 -0
  271. package/storybook-static/assets/TreeMultiSelect-Ci3bUpmv.js +1 -0
  272. package/storybook-static/assets/TreeMultiSelect.stories-CXGt4Q_u.js +14 -0
  273. package/storybook-static/assets/TreePickerBase-Md6Mt9qF.js +19 -0
  274. package/storybook-static/assets/TreePickerBase-qreyVjhY.css +1 -0
  275. package/storybook-static/assets/TreeSelect-BWoURakw.js +15 -0
  276. package/storybook-static/assets/TreeSelect-bOgRYtQQ.js +1 -0
  277. package/storybook-static/assets/TreeSelect.stories-By0h6wRi.js +16 -0
  278. package/storybook-static/assets/TreeTable--ZoksUiw.css +1 -0
  279. package/storybook-static/assets/TreeTable-C52Jh7O_.js +175 -0
  280. package/storybook-static/assets/TreeTable.stories-BH9Q8NPP.js +83 -0
  281. package/storybook-static/assets/WithTooltip-7X4HQR7L-DQXHhZoH.js +9 -0
  282. package/storybook-static/assets/axe-GLfyhAYL.js +20 -0
  283. package/storybook-static/assets/base-table-BNO0lnTL.css +1 -0
  284. package/storybook-static/assets/base-table-BSkQBgdx.js +18 -0
  285. package/storybook-static/assets/blocks-CwEU-ME1.js +285 -0
  286. package/storybook-static/assets/button-Bl3Hu8CS.js +1 -0
  287. package/storybook-static/assets/check-box-BrnNQnSi.js +1 -0
  288. package/storybook-static/assets/chunk-242VQQM5-Dtm7LRbQ.js +1 -0
  289. package/storybook-static/assets/chunk-3LY4VQVK-BxHCYS2R.js +6 -0
  290. package/storybook-static/assets/chunk-LITCR56V-euffoZAN.js +18 -0
  291. package/storybook-static/assets/contextMenu-Do6qEwKB.js +2 -0
  292. package/storybook-static/assets/date-segments-CzU9k5bl.js +1 -0
  293. package/storybook-static/assets/error-RVOk7zpw.js +1 -0
  294. package/storybook-static/assets/file-hArYcyES.js +1 -0
  295. package/storybook-static/assets/flex-DuYzsEBQ.js +1 -0
  296. package/storybook-static/assets/floating-ui.react-BR04wkLx.js +1 -0
  297. package/storybook-static/assets/formatter-L2YTDE3Q-Cdp-Jp2M.js +1 -0
  298. package/storybook-static/assets/formatters-yIBztcem.js +3 -0
  299. package/storybook-static/assets/grid-D0WOuGlB.js +1 -0
  300. package/storybook-static/assets/hooks-BEB2Gqy0.js +5 -0
  301. package/storybook-static/assets/iframe-SfMJGCsn.js +1117 -0
  302. package/storybook-static/assets/input-Be5K9_B7.js +1 -0
  303. package/storybook-static/assets/jsx-runtime-BBQGix-2.js +1 -0
  304. package/storybook-static/assets/lucide-react-CK2oyDtF.js +1 -0
  305. package/storybook-static/assets/matchers-JIUQ3HVY-BPS-eazD.js +28 -0
  306. package/storybook-static/assets/mdx-react-shim-DnKFgFHy.js +1 -0
  307. package/storybook-static/assets/media-Djn0SUaN.js +1 -0
  308. package/storybook-static/assets/misc-CPvLzCFJ.js +5 -0
  309. package/storybook-static/assets/misc-CerLA5Xh.css +1 -0
  310. package/storybook-static/assets/notifications-Zk996KvR.js +1 -0
  311. package/storybook-static/assets/odata-C2BNbnc9.js +1 -0
  312. package/storybook-static/assets/odata-service-8sDCOQ3I.js +1 -0
  313. package/storybook-static/assets/odataStoryFixtures-BBfdskiC.js +25 -0
  314. package/storybook-static/assets/picker-BmTTr59E.css +1 -0
  315. package/storybook-static/assets/picker-De4ZbESe.js +1 -0
  316. package/storybook-static/assets/popover-BiQHI7Wi.css +1 -0
  317. package/storybook-static/assets/popover-DWA5VOMQ.js +2 -0
  318. package/storybook-static/assets/preload-helper-B45gAKPr.js +1 -0
  319. package/storybook-static/assets/preset-select-DozCGhmu.js +5 -0
  320. package/storybook-static/assets/react-18-CfpYK14y.js +9 -0
  321. package/storybook-static/assets/react-BWN-5oQj.js +9 -0
  322. package/storybook-static/assets/react-dom-CncQzc_h.js +1 -0
  323. package/storybook-static/assets/select-BPvMbVDe.js +1 -0
  324. package/storybook-static/assets/slider-39Mty47U.js +2 -0
  325. package/storybook-static/assets/slider-DMDFRH6B.css +1 -0
  326. package/storybook-static/assets/sortable-CgCCp3dq.js +1 -0
  327. package/storybook-static/assets/sortable-DiBavgm0.css +1 -0
  328. package/storybook-static/assets/syntaxhighlighter-RTCFPKCB-Di6cCrDX.js +6 -0
  329. package/storybook-static/assets/text-BxA8yj6Z.js +4 -0
  330. package/storybook-static/assets/theming-DZauqOKI.js +39 -0
  331. package/storybook-static/assets/treeStoryFixtures-Cd984L7t.js +1 -0
  332. package/storybook-static/assets/ui-CmVy0trY.js +1 -0
  333. package/storybook-static/assets/ui-ZWM9zG1I.css +1 -0
  334. package/storybook-static/assets/ui.module-DS2qtZts.js +1 -0
  335. package/storybook-static/assets/uiClasses-CZ_HVS3Y.js +1 -0
  336. package/storybook-static/assets/useODataSelectBase-D33B4x2W.js +1 -0
  337. package/storybook-static/assets/useODataTreeData-CDdzN-LC.js +1 -0
  338. package/storybook-static/assets/utils-CReRlw17.js +1 -0
  339. package/storybook-static/favicon-wrapper.svg +46 -0
  340. package/storybook-static/favicon.svg +1 -0
  341. package/storybook-static/iframe.html +709 -0
  342. package/storybook-static/index.html +146 -0
  343. package/storybook-static/index.json +1 -0
  344. package/storybook-static/nunito-sans-bold-italic.woff2 +0 -0
  345. package/storybook-static/nunito-sans-bold.woff2 +0 -0
  346. package/storybook-static/nunito-sans-italic.woff2 +0 -0
  347. package/storybook-static/nunito-sans-regular.woff2 +0 -0
  348. package/storybook-static/project.json +1 -0
  349. package/storybook-static/sb-addons/a11y-2/manager-bundle.js +57 -0
  350. package/storybook-static/sb-addons/docs-1/manager-bundle.js +3 -0
  351. package/storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +630 -0
  352. package/storybook-static/sb-common-assets/favicon-wrapper.svg +46 -0
  353. package/storybook-static/sb-common-assets/favicon.svg +1 -0
  354. package/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  355. package/storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  356. package/storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  357. package/storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  358. package/storybook-static/sb-manager/globals-runtime.js +76714 -0
  359. package/storybook-static/sb-manager/globals.js +24 -0
  360. package/storybook-static/sb-manager/manager-stores.js +23 -0
  361. package/storybook-static/sb-manager/runtime.js +27451 -0
  362. package/storybook-static/vite-inject-mocker-entry.js +2 -0
  363. package/dist/badge/stories/Badge.stories.d.ts +0 -54
  364. package/dist/badge/stories/Badge.stories.d.ts.map +0 -1
  365. package/dist/badge/stories/Badge.stories.js +0 -147
  366. package/dist/badge/stories/Badge.stories.js.map +0 -1
  367. package/dist/button/index.js.map +0 -1
  368. package/dist/button/stories/Button.stories.d.ts +0 -69
  369. package/dist/button/stories/Button.stories.d.ts.map +0 -1
  370. package/dist/button/stories/Button.stories.js +0 -223
  371. package/dist/button/stories/Button.stories.js.map +0 -1
  372. package/dist/check-box/stories/CheckBox.stories.d.ts +0 -58
  373. package/dist/check-box/stories/CheckBox.stories.d.ts.map +0 -1
  374. package/dist/check-box/stories/CheckBox.stories.js +0 -150
  375. package/dist/check-box/stories/CheckBox.stories.js.map +0 -1
  376. package/dist/chunks/BadgeList-DYgun2rf.js.map +0 -1
  377. package/dist/chunks/Button-CCWuggdA.js +0 -55
  378. package/dist/chunks/Button-CCWuggdA.js.map +0 -1
  379. package/dist/chunks/CheckBox-BowNqqd3.js.map +0 -1
  380. package/dist/chunks/DateInput-BTJ-QTUx.js.map +0 -1
  381. package/dist/chunks/DateRangePresetSelect-UgsfaOeM.js.map +0 -1
  382. package/dist/chunks/Detail-DHDMsg8q.js +0 -80
  383. package/dist/chunks/Detail-DHDMsg8q.js.map +0 -1
  384. package/dist/chunks/Dialog-CFIvGxER.js +0 -50
  385. package/dist/chunks/Dialog-CFIvGxER.js.map +0 -1
  386. package/dist/chunks/DisclosureGroup-CfRTkl6Z.js +0 -49
  387. package/dist/chunks/DisclosureGroup-CfRTkl6Z.js.map +0 -1
  388. package/dist/chunks/DropZone-DgDMu4Iw.js +0 -98
  389. package/dist/chunks/DropZone-DgDMu4Iw.js.map +0 -1
  390. package/dist/chunks/DropdownMenu-DQeR3y7M.js.map +0 -1
  391. package/dist/chunks/Input-anSjiM9b.js.map +0 -1
  392. package/dist/chunks/InputDateTime-BGLJ_pbV.js +0 -258
  393. package/dist/chunks/InputDateTime-BGLJ_pbV.js.map +0 -1
  394. package/dist/chunks/InputFile-B5E0prk_.js +0 -105
  395. package/dist/chunks/InputFile-B5E0prk_.js.map +0 -1
  396. package/dist/chunks/InputFiles-XBQxkHdB.js.map +0 -1
  397. package/dist/chunks/InputImage-Bs6cFQIo.js +0 -100
  398. package/dist/chunks/InputImage-Bs6cFQIo.js.map +0 -1
  399. package/dist/chunks/LabeledExpandableActionPanel-D3kUvmFH.js +0 -82
  400. package/dist/chunks/LabeledExpandableActionPanel-D3kUvmFH.js.map +0 -1
  401. package/dist/chunks/Listbox-BZlp5qHz.js +0 -81
  402. package/dist/chunks/Listbox-BZlp5qHz.js.map +0 -1
  403. package/dist/chunks/MultiSelect-DblDAklj.js +0 -422
  404. package/dist/chunks/MultiSelect-DblDAklj.js.map +0 -1
  405. package/dist/chunks/NotificationsHost-_icJx4xR.js +0 -151
  406. package/dist/chunks/NotificationsHost-_icJx4xR.js.map +0 -1
  407. package/dist/chunks/PresetRangeDateInput-Bytk5sAs.js +0 -53
  408. package/dist/chunks/PresetRangeDateInput-Bytk5sAs.js.map +0 -1
  409. package/dist/chunks/RadioButton-D0uA0rX_.js +0 -48
  410. package/dist/chunks/RadioButton-D0uA0rX_.js.map +0 -1
  411. package/dist/chunks/RadioGroup-B9XjkcOy.js.map +0 -1
  412. package/dist/chunks/Select-ClBs-16a.js +0 -182
  413. package/dist/chunks/Select-ClBs-16a.js.map +0 -1
  414. package/dist/chunks/SelectOptionContent-CI7wq9Oi.js +0 -27
  415. package/dist/chunks/SelectOptionContent-CI7wq9Oi.js.map +0 -1
  416. package/dist/chunks/SerializableSelect-Ds8wp2_p.js +0 -33
  417. package/dist/chunks/SerializableSelect-Ds8wp2_p.js.map +0 -1
  418. package/dist/chunks/SingleDateTimeInput-kXrkLAAI.js +0 -331
  419. package/dist/chunks/SingleDateTimeInput-kXrkLAAI.js.map +0 -1
  420. package/dist/chunks/Splitter-BFkVGVRb.js +0 -168
  421. package/dist/chunks/Splitter-BFkVGVRb.js.map +0 -1
  422. package/dist/chunks/StateSelect-BzUsurDe.js +0 -78
  423. package/dist/chunks/StateSelect-BzUsurDe.js.map +0 -1
  424. package/dist/chunks/Switch-B57Qmy1z.js +0 -81
  425. package/dist/chunks/Switch-B57Qmy1z.js.map +0 -1
  426. package/dist/chunks/Textarea-CLyGS1h9.js +0 -44
  427. package/dist/chunks/Textarea-CLyGS1h9.js.map +0 -1
  428. package/dist/chunks/TimePanel-b4saqoUY.js +0 -135
  429. package/dist/chunks/TimePanel-b4saqoUY.js.map +0 -1
  430. package/dist/chunks/Toggle-DVqOQXmt.js +0 -73
  431. package/dist/chunks/Toggle-DVqOQXmt.js.map +0 -1
  432. package/dist/chunks/TreeMultiSelect-mIG8VKx8.js +0 -40
  433. package/dist/chunks/TreeMultiSelect-mIG8VKx8.js.map +0 -1
  434. package/dist/chunks/TreePickerBase-C9HEABt5.js +0 -423
  435. package/dist/chunks/TreePickerBase-C9HEABt5.js.map +0 -1
  436. package/dist/chunks/TreeSelect-B9rb_fbI.js +0 -37
  437. package/dist/chunks/TreeSelect-B9rb_fbI.js.map +0 -1
  438. package/dist/chunks/layout-picker-CSLuIUVZ.js +0 -1171
  439. package/dist/chunks/layout-picker-CSLuIUVZ.js.map +0 -1
  440. package/dist/chunks/multi-select-ei7LHBCv.js +0 -126
  441. package/dist/chunks/multi-select-ei7LHBCv.js.map +0 -1
  442. package/dist/chunks/odata-DSW7z3nh.js.map +0 -1
  443. package/dist/chunks/select-Ds7_EAGN.js +0 -81
  444. package/dist/chunks/select-Ds7_EAGN.js.map +0 -1
  445. package/dist/chunks/slider-uU26AeGu.js +0 -695
  446. package/dist/chunks/slider-uU26AeGu.js.map +0 -1
  447. package/dist/chunks/tabs-DlnVVMJl.js +0 -384
  448. package/dist/chunks/tabs-DlnVVMJl.js.map +0 -1
  449. package/dist/chunks/treeStoryFixtures-Bhm3Gdky.js +0 -113
  450. package/dist/chunks/treeStoryFixtures-Bhm3Gdky.js.map +0 -1
  451. package/dist/context-menu/stories/ContextMenu.stories.d.ts +0 -16
  452. package/dist/context-menu/stories/ContextMenu.stories.d.ts.map +0 -1
  453. package/dist/context-menu/stories/ContextMenu.stories.js +0 -136
  454. package/dist/context-menu/stories/ContextMenu.stories.js.map +0 -1
  455. package/dist/date-input/stories/DateInput.stories.d.ts +0 -132
  456. package/dist/date-input/stories/DateInput.stories.d.ts.map +0 -1
  457. package/dist/date-input/stories/DateInput.stories.js +0 -247
  458. package/dist/date-input/stories/DateInput.stories.js.map +0 -1
  459. package/dist/date-range-preset-select/stories/DateRangePresetSelect.stories.d.ts +0 -22
  460. package/dist/date-range-preset-select/stories/DateRangePresetSelect.stories.d.ts.map +0 -1
  461. package/dist/date-range-preset-select/stories/DateRangePresetSelect.stories.js +0 -41
  462. package/dist/date-range-preset-select/stories/DateRangePresetSelect.stories.js.map +0 -1
  463. package/dist/date-time-input/stories/SingleDateTimeInput.stories.d.ts +0 -95
  464. package/dist/date-time-input/stories/SingleDateTimeInput.stories.d.ts.map +0 -1
  465. package/dist/date-time-input/stories/SingleDateTimeInput.stories.js +0 -195
  466. package/dist/date-time-input/stories/SingleDateTimeInput.stories.js.map +0 -1
  467. package/dist/date-time-input/stories/TimePanel.stories.d.ts +0 -26
  468. package/dist/date-time-input/stories/TimePanel.stories.d.ts.map +0 -1
  469. package/dist/date-time-input/stories/TimePanel.stories.js +0 -53
  470. package/dist/date-time-input/stories/TimePanel.stories.js.map +0 -1
  471. package/dist/detail/stories/Detail.stories.d.ts +0 -67
  472. package/dist/detail/stories/Detail.stories.d.ts.map +0 -1
  473. package/dist/detail/stories/Detail.stories.js +0 -170
  474. package/dist/detail/stories/Detail.stories.js.map +0 -1
  475. package/dist/dialog/stories/Dialog.stories.d.ts +0 -50
  476. package/dist/dialog/stories/Dialog.stories.d.ts.map +0 -1
  477. package/dist/dialog/stories/Dialog.stories.js +0 -89
  478. package/dist/dialog/stories/Dialog.stories.js.map +0 -1
  479. package/dist/disclosure/stories/Disclosure.stories.d.ts +0 -35
  480. package/dist/disclosure/stories/Disclosure.stories.d.ts.map +0 -1
  481. package/dist/disclosure/stories/Disclosure.stories.js +0 -70
  482. package/dist/disclosure/stories/Disclosure.stories.js.map +0 -1
  483. package/dist/drop-zone/stories/DropZone.stories.d.ts +0 -63
  484. package/dist/drop-zone/stories/DropZone.stories.d.ts.map +0 -1
  485. package/dist/drop-zone/stories/DropZone.stories.js +0 -97
  486. package/dist/drop-zone/stories/DropZone.stories.js.map +0 -1
  487. package/dist/expandable-action-panel/stories/ExpandableActionPanel.stories.d.ts +0 -44
  488. package/dist/expandable-action-panel/stories/ExpandableActionPanel.stories.d.ts.map +0 -1
  489. package/dist/expandable-action-panel/stories/ExpandableActionPanel.stories.js +0 -117
  490. package/dist/expandable-action-panel/stories/ExpandableActionPanel.stories.js.map +0 -1
  491. package/dist/flex/index.js.map +0 -1
  492. package/dist/flex/stories/Flex.stories.d.ts +0 -24
  493. package/dist/flex/stories/Flex.stories.d.ts.map +0 -1
  494. package/dist/flex/stories/Flex.stories.js +0 -607
  495. package/dist/flex/stories/Flex.stories.js.map +0 -1
  496. package/dist/grid/stories/Grid.stories.d.ts +0 -24
  497. package/dist/grid/stories/Grid.stories.d.ts.map +0 -1
  498. package/dist/grid/stories/Grid.stories.js +0 -840
  499. package/dist/grid/stories/Grid.stories.js.map +0 -1
  500. package/dist/input/index.js.map +0 -1
  501. package/dist/input/stories/Input.stories.d.ts +0 -69
  502. package/dist/input/stories/Input.stories.d.ts.map +0 -1
  503. package/dist/input/stories/Input.stories.js +0 -132
  504. package/dist/input/stories/Input.stories.js.map +0 -1
  505. package/dist/input-date-time/stories/InputDateTime.stories.d.ts +0 -69
  506. package/dist/input-date-time/stories/InputDateTime.stories.d.ts.map +0 -1
  507. package/dist/input-date-time/stories/InputDateTime.stories.js +0 -125
  508. package/dist/input-date-time/stories/InputDateTime.stories.js.map +0 -1
  509. package/dist/input-file/stories/InputFile.stories.d.ts +0 -85
  510. package/dist/input-file/stories/InputFile.stories.d.ts.map +0 -1
  511. package/dist/input-file/stories/InputFile.stories.js +0 -158
  512. package/dist/input-file/stories/InputFile.stories.js.map +0 -1
  513. package/dist/input-files/stories/InputFiles.stories.d.ts +0 -86
  514. package/dist/input-files/stories/InputFiles.stories.d.ts.map +0 -1
  515. package/dist/input-files/stories/InputFiles.stories.js +0 -158
  516. package/dist/input-files/stories/InputFiles.stories.js.map +0 -1
  517. package/dist/input-image/stories/InputImage.stories.d.ts +0 -81
  518. package/dist/input-image/stories/InputImage.stories.d.ts.map +0 -1
  519. package/dist/input-image/stories/InputImage.stories.js +0 -174
  520. package/dist/input-image/stories/InputImage.stories.js.map +0 -1
  521. package/dist/layout-picker/stories/LayoutPicker.stories.d.ts +0 -873
  522. package/dist/layout-picker/stories/LayoutPicker.stories.d.ts.map +0 -1
  523. package/dist/layout-picker/stories/LayoutPicker.stories.js +0 -422
  524. package/dist/layout-picker/stories/LayoutPicker.stories.js.map +0 -1
  525. package/dist/listbox/stories/Listbox.stories.d.ts +0 -76
  526. package/dist/listbox/stories/Listbox.stories.d.ts.map +0 -1
  527. package/dist/listbox/stories/Listbox.stories.js +0 -140
  528. package/dist/listbox/stories/Listbox.stories.js.map +0 -1
  529. package/dist/modal/stories/Modal.stories.d.ts +0 -74
  530. package/dist/modal/stories/Modal.stories.d.ts.map +0 -1
  531. package/dist/modal/stories/Modal.stories.js +0 -320
  532. package/dist/modal/stories/Modal.stories.js.map +0 -1
  533. package/dist/multi-select/ui/stories/MultiSelect.stories.d.ts +0 -67
  534. package/dist/multi-select/ui/stories/MultiSelect.stories.d.ts.map +0 -1
  535. package/dist/multi-select/ui/stories/MultiSelect.stories.js +0 -114
  536. package/dist/multi-select/ui/stories/MultiSelect.stories.js.map +0 -1
  537. package/dist/multi-select/ui/stories/ODataMultiSelect.stories.d.ts +0 -44
  538. package/dist/multi-select/ui/stories/ODataMultiSelect.stories.d.ts.map +0 -1
  539. package/dist/notifications/ui/stories/NotificationsHost.stories.d.ts +0 -21
  540. package/dist/notifications/ui/stories/NotificationsHost.stories.d.ts.map +0 -1
  541. package/dist/notifications/ui/stories/NotificationsHost.stories.js +0 -326
  542. package/dist/notifications/ui/stories/NotificationsHost.stories.js.map +0 -1
  543. package/dist/period-select/stories/PeriodSelect.stories.d.ts +0 -96
  544. package/dist/period-select/stories/PeriodSelect.stories.d.ts.map +0 -1
  545. package/dist/period-select/stories/PeriodSelect.stories.js +0 -166
  546. package/dist/period-select/stories/PeriodSelect.stories.js.map +0 -1
  547. package/dist/popover/stories/Popover.stories.d.ts +0 -10
  548. package/dist/popover/stories/Popover.stories.d.ts.map +0 -1
  549. package/dist/popover/stories/Popover.stories.js +0 -75
  550. package/dist/popover/stories/Popover.stories.js.map +0 -1
  551. package/dist/preset-range-date-input/ui/stories/PresetRangeDateInput.stories.d.ts +0 -22
  552. package/dist/preset-range-date-input/ui/stories/PresetRangeDateInput.stories.d.ts.map +0 -1
  553. package/dist/preset-range-date-input/ui/stories/PresetRangeDateInput.stories.js +0 -45
  554. package/dist/preset-range-date-input/ui/stories/PresetRangeDateInput.stories.js.map +0 -1
  555. package/dist/radio-button/stories/RadioButton.stories.d.ts +0 -60
  556. package/dist/radio-button/stories/RadioButton.stories.d.ts.map +0 -1
  557. package/dist/radio-button/stories/RadioButton.stories.js +0 -121
  558. package/dist/radio-button/stories/RadioButton.stories.js.map +0 -1
  559. package/dist/radio-group/stories/RadioGroup.stories.d.ts +0 -74
  560. package/dist/radio-group/stories/RadioGroup.stories.d.ts.map +0 -1
  561. package/dist/radio-group/stories/RadioGroup.stories.js +0 -146
  562. package/dist/radio-group/stories/RadioGroup.stories.js.map +0 -1
  563. package/dist/select/stories/ODataSelect.stories.d.ts +0 -46
  564. package/dist/select/stories/ODataSelect.stories.d.ts.map +0 -1
  565. package/dist/select/stories/Select.stories.d.ts +0 -127
  566. package/dist/select/stories/Select.stories.d.ts.map +0 -1
  567. package/dist/select/stories/Select.stories.js +0 -214
  568. package/dist/select/stories/Select.stories.js.map +0 -1
  569. package/dist/select/stories/SerializableSelect.stories.d.ts +0 -91
  570. package/dist/select/stories/SerializableSelect.stories.d.ts.map +0 -1
  571. package/dist/select/stories/SerializableSelect.stories.js +0 -165
  572. package/dist/select/stories/SerializableSelect.stories.js.map +0 -1
  573. package/dist/select/stories/odataStoryCollection.d.ts +0 -2
  574. package/dist/select/stories/odataStoryCollection.d.ts.map +0 -1
  575. package/dist/select/stories/odataStoryFixtures.d.ts +0 -35
  576. package/dist/select/stories/odataStoryFixtures.d.ts.map +0 -1
  577. package/dist/slider/stories/Slider.stories.d.ts +0 -29
  578. package/dist/slider/stories/Slider.stories.d.ts.map +0 -1
  579. package/dist/slider/stories/Slider.stories.js +0 -310
  580. package/dist/slider/stories/Slider.stories.js.map +0 -1
  581. package/dist/slider/stories/SliderInput.stories.d.ts +0 -30
  582. package/dist/slider/stories/SliderInput.stories.d.ts.map +0 -1
  583. package/dist/slider/stories/SliderInput.stories.js +0 -282
  584. package/dist/slider/stories/SliderInput.stories.js.map +0 -1
  585. package/dist/sortable/stories/Sortable.stories.d.ts +0 -58
  586. package/dist/sortable/stories/Sortable.stories.d.ts.map +0 -1
  587. package/dist/sortable/stories/Sortable.stories.js +0 -255
  588. package/dist/sortable/stories/Sortable.stories.js.map +0 -1
  589. package/dist/splitter/stories/Splitter.stories.d.ts +0 -66
  590. package/dist/splitter/stories/Splitter.stories.d.ts.map +0 -1
  591. package/dist/splitter/stories/Splitter.stories.js +0 -223
  592. package/dist/splitter/stories/Splitter.stories.js.map +0 -1
  593. package/dist/state-select/stories/StateSelect.stories.d.ts +0 -70
  594. package/dist/state-select/stories/StateSelect.stories.d.ts.map +0 -1
  595. package/dist/state-select/stories/StateSelect.stories.js +0 -145
  596. package/dist/state-select/stories/StateSelect.stories.js.map +0 -1
  597. package/dist/switch/stories/Switch.stories.d.ts +0 -59
  598. package/dist/switch/stories/Switch.stories.d.ts.map +0 -1
  599. package/dist/switch/stories/Switch.stories.js +0 -90
  600. package/dist/switch/stories/Switch.stories.js.map +0 -1
  601. package/dist/table/stories/Table.stories.d.ts +0 -155
  602. package/dist/table/stories/Table.stories.d.ts.map +0 -1
  603. package/dist/tabs/stories/Tabs.stories.d.ts +0 -94
  604. package/dist/tabs/stories/Tabs.stories.d.ts.map +0 -1
  605. package/dist/tabs/stories/Tabs.stories.js +0 -283
  606. package/dist/tabs/stories/Tabs.stories.js.map +0 -1
  607. package/dist/textarea/stories/Textarea.stories.d.ts +0 -64
  608. package/dist/textarea/stories/Textarea.stories.d.ts.map +0 -1
  609. package/dist/textarea/stories/Textarea.stories.js +0 -98
  610. package/dist/textarea/stories/Textarea.stories.js.map +0 -1
  611. package/dist/toggle/stories/Toggle.stories.d.ts +0 -61
  612. package/dist/toggle/stories/Toggle.stories.d.ts.map +0 -1
  613. package/dist/toggle/stories/Toggle.stories.js +0 -102
  614. package/dist/toggle/stories/Toggle.stories.js.map +0 -1
  615. package/dist/tree-select/stories/ODataTreeMultiSelect.stories.d.ts +0 -55
  616. package/dist/tree-select/stories/ODataTreeMultiSelect.stories.d.ts.map +0 -1
  617. package/dist/tree-select/stories/ODataTreeSelect.stories.d.ts +0 -54
  618. package/dist/tree-select/stories/ODataTreeSelect.stories.d.ts.map +0 -1
  619. package/dist/tree-select/stories/TreeMultiSelect.stories.d.ts +0 -35
  620. package/dist/tree-select/stories/TreeMultiSelect.stories.d.ts.map +0 -1
  621. package/dist/tree-select/stories/TreeMultiSelect.stories.js +0 -64
  622. package/dist/tree-select/stories/TreeMultiSelect.stories.js.map +0 -1
  623. package/dist/tree-select/stories/TreeSelect.stories.d.ts +0 -35
  624. package/dist/tree-select/stories/TreeSelect.stories.d.ts.map +0 -1
  625. package/dist/tree-select/stories/TreeSelect.stories.js +0 -66
  626. package/dist/tree-select/stories/TreeSelect.stories.js.map +0 -1
  627. package/dist/tree-select/stories/treeStoryFixtures.d.ts +0 -3
  628. package/dist/tree-select/stories/treeStoryFixtures.d.ts.map +0 -1
  629. package/dist/tree-table/stories/TreeTable.stories.d.ts +0 -158
  630. package/dist/tree-table/stories/TreeTable.stories.d.ts.map +0 -1
  631. package/src/styles/fonts.scss +0 -47
@@ -1,422 +0,0 @@
1
- import { Text as e } from "../text/index.js";
2
- import { t } from "./ui.module-BisoTevy.js";
3
- import { t as n } from "./Grid-ByIIytjh.js";
4
- import { t as r } from "./CheckBox-BowNqqd3.js";
5
- import { a as i, c as a, d as o, f as s, i as c, l, n as ee, r as u, t as d, u as f } from "./picker-Du7Y4-el.js";
6
- import { t as p } from "./separator-B72Aq-6a.js";
7
- import { t as m } from "./SelectOptionContent-CI7wq9Oi.js";
8
- import { forwardRef as h, useCallback as g, useMemo as _, useRef as te, useState as ne } from "react";
9
- import { cn as re } from "@ryuzaki13/react-foundation-lib/utils";
10
- import { XIcon as ie } from "lucide-react";
11
- import { Fragment as ae, jsx as v, jsxs as y } from "react/jsx-runtime";
12
- //#region src/multi-select/ui/MultiSelectOption.tsx
13
- function b({ item: e, textKey: t, codeKey: n, highlight: r }) {
14
- return /* @__PURE__ */ v(m, {
15
- label: e[t],
16
- code: n && e[n],
17
- highlight: r
18
- });
19
- }
20
- var x = {
21
- multiSelect: "_9oSdQi",
22
- multiSelectTokens: "iobHig",
23
- multiSelectToken: "yatXso",
24
- selectAllButton: "h2aA6E"
25
- };
26
- //#endregion
27
- //#region src/multi-select/ui/MultiSelectOptionsToolbar.tsx
28
- function S({ onSelectAll: e, onDeselectAll: t }) {
29
- return /* @__PURE__ */ y(n.Container, {
30
- gap: "xs",
31
- templateColumns: "1fr 1fr",
32
- children: [/* @__PURE__ */ v("button", {
33
- type: "button",
34
- className: x.selectAllButton,
35
- onClick: e,
36
- "data-ui": "multi-select-select-all",
37
- "data-action": "select-all",
38
- children: "Выбрать все"
39
- }), /* @__PURE__ */ v("button", {
40
- type: "button",
41
- className: x.selectAllButton,
42
- onClick: t,
43
- "data-ui": "multi-select-deselect-all",
44
- "data-action": "deselect-all",
45
- children: "Снять выбор"
46
- })]
47
- });
48
- }
49
- //#endregion
50
- //#region src/multi-select/ui/MultiSelectToken.tsx
51
- function C({ value: e }) {
52
- return e ? /* @__PURE__ */ v("div", {
53
- className: x.multiSelectTokens,
54
- children: /* @__PURE__ */ v("div", {
55
- className: x.multiSelectToken,
56
- children: e
57
- })
58
- }) : null;
59
- }
60
- //#endregion
61
- //#region src/multi-select/ui/defaultRenderers.tsx
62
- function w(e, t, n) {
63
- if (n) return n;
64
- let r = e[0];
65
- return r ? Object.keys(r).find((e) => e !== t) ?? t : t;
66
- }
67
- function oe(e, t, n) {
68
- if (e.length === 0) return;
69
- if (e.length > 1) return `${e.length} элемент${e.length > 5 ? "ов" : "а"})`;
70
- let r = w(e, t, n);
71
- return e[0]?.[r] ?? e[0]?.[t];
72
- }
73
- function se(e) {
74
- return function(t) {
75
- return /* @__PURE__ */ v(C, { value: oe(t.selectedItems, e.codeKey, e.textKey) });
76
- };
77
- }
78
- function ce(e) {
79
- return /* @__PURE__ */ v(S, {
80
- onSelectAll: e.selectAll,
81
- onDeselectAll: e.deselectAll
82
- });
83
- }
84
- function le(e) {
85
- return function(t, n) {
86
- return /* @__PURE__ */ v(b, {
87
- item: t,
88
- selected: n.selected,
89
- highlight: n.highlightQuery,
90
- textKey: w([t], e.codeKey, e.textKey),
91
- codeKey: e.hideCode ? void 0 : e.codeKey
92
- });
93
- };
94
- }
95
- //#endregion
96
- //#region src/multi-select/ui/MultiSelectOptionSkeleton.tsx
97
- function T({ text: n, isError: r }) {
98
- return /* @__PURE__ */ y("div", {
99
- className: t.uiPopupOption,
100
- children: [/* @__PURE__ */ v("span", { className: t.uiPopupOptionIcon }), /* @__PURE__ */ v(e, {
101
- color: r ? "error" : "primary",
102
- children: n
103
- })]
104
- });
105
- }
106
- //#endregion
107
- //#region src/multi-select/ui/MultiSelect.tsx
108
- function ue({ isNoData: e, isLoading: t, error: n, children: r }) {
109
- return e ? /* @__PURE__ */ v(f, { emptyState: /* @__PURE__ */ v(T, { text: "Нет данных" }) }) : t ? /* @__PURE__ */ v(f, { loadingState: /* @__PURE__ */ v(T, { text: "Загрузка..." }) }) : n ? /* @__PURE__ */ v(f, { errorState: /* @__PURE__ */ v(T, {
110
- isError: !0,
111
- text: "Ошибка загрузки"
112
- }) }) : /* @__PURE__ */ v(ae, { children: r });
113
- }
114
- var de = [];
115
- function E(e, t) {
116
- return e[t];
117
- }
118
- function fe(e, t, n) {
119
- return Array.from(/* @__PURE__ */ new Set([
120
- e[n],
121
- e[t],
122
- ...Object.values(e)
123
- ]));
124
- }
125
- function pe(e, t, n) {
126
- if (e.length !== t.length) return !1;
127
- let r = new Set(t.map((e) => E(e, n)));
128
- return e.every((e) => r.has(E(e, n)));
129
- }
130
- function D({ entries: e, listId: n, activeIndex: i, selectedKeys: a, codeKey: o, query: s, highlightQuery: c, getOptionDisabled: l, getOptionId: ee, setOptionRef: u, toggleOption: d, selectOnlyOption: f, renderItem: p }) {
131
- return e.map(({ item: e, index: m }) => {
132
- let h = m === i, g = a.has(E(e, o)), _ = l?.(e) ?? !1;
133
- return /* @__PURE__ */ y("div", {
134
- id: ee(n, m),
135
- ref: (e) => u(m, e),
136
- role: "option",
137
- "aria-selected": g,
138
- "aria-disabled": _ || void 0,
139
- className: re(t.uiSelectOption, _ && t.disabled, g && t.selected, h && t.uiPopupOptionActive),
140
- onMouseDown: (e) => {
141
- e.preventDefault();
142
- },
143
- children: [/* @__PURE__ */ v("div", {
144
- onClick: (e) => {
145
- e.stopPropagation();
146
- },
147
- children: /* @__PURE__ */ v(r, {
148
- value: g,
149
- disabled: _,
150
- onChange: () => {
151
- _ || d(e);
152
- },
153
- onClick: (e) => {
154
- e.stopPropagation();
155
- },
156
- onMouseDown: (e) => {
157
- e.stopPropagation();
158
- }
159
- })
160
- }), /* @__PURE__ */ v("div", {
161
- className: "overflowHidden",
162
- onClick: () => {
163
- _ || f(e);
164
- },
165
- children: p(e, {
166
- selected: g,
167
- active: h,
168
- disabled: _,
169
- query: s,
170
- highlightQuery: c
171
- })
172
- })]
173
- }, `${E(e, o)}-${m}`);
174
- });
175
- }
176
- var O = h(({ codeKey: e, textKey: n, hideCode: r, items: f, value: m, onChange: h, label: re, description: b, placeholder: S, size: C, query: oe, defaultQuery: T, highlightQuery: O, onQuery: me, defaultFilter: he = !0, onOpen: ge, onClose: _e, getOptionDisabled: k, disabled: A, error: j, isLoading: M, renderToken: N, renderToolbar: P, renderItem: ve }, F) => {
177
- let I = te(null), [L, ye] = ne(!1), R = "search-multi", z = m ?? de, be = _(() => new Set(z.map((t) => E(t, e))), [e, z]), xe = _(() => f.filter((t) => !be.has(E(t, e))), [
178
- e,
179
- be,
180
- f
181
- ]), B = _(() => w([...z, ...f], e, n), [
182
- e,
183
- z,
184
- f,
185
- n
186
- ]), { query: V, setQuery: Se } = u({
187
- open: L,
188
- query: oe,
189
- defaultQuery: T,
190
- onQuery: me,
191
- triggerMode: R
192
- }), H = i({
193
- options: z,
194
- query: V,
195
- enabled: he,
196
- getSearchText: (t) => fe(t, e, B)
197
- }), U = i({
198
- options: xe,
199
- query: V,
200
- enabled: he,
201
- getSearchText: (t) => fe(t, e, B)
202
- }), W = _(() => [...H, ...U], [U, H]), Ce = H.length > 0 ? 0 : -1, { draftValue: G, setDraftValue: K, prepareOpen: we } = ee({
203
- value: z,
204
- open: L,
205
- onCommit: h,
206
- onOpen: ge,
207
- onClose: _e,
208
- isEqual: (t, n) => pe(t, n, e)
209
- }), q = _(() => new Set(G.map((t) => E(t, e))), [e, G]), Te = _(() => ({
210
- selectedItems: G,
211
- committedSelectedItems: z,
212
- selectedKeys: q,
213
- open: L
214
- }), [
215
- z,
216
- G,
217
- L,
218
- q
219
- ]), J = g((e) => k?.(e, Te) ?? !1, [k, Te]), { activeIndex: Y, context: Ee, floatingStyles: De, getFloatingProps: Oe, setReference: ke, setFloating: Ae, setOptionRef: je, close: Me, openList: Ne, toggleOpen: Pe, selectActiveOption: Fe, handleReferenceKeyDown: Ie, handleFloatingKeyDown: Le, getOptionId: Re, getActiveOptionId: ze } = c({
220
- options: W,
221
- selectedIndex: Ce,
222
- open: L,
223
- onOpenChange: ye,
224
- onSelect: void 0,
225
- disabled: A,
226
- getOptionDisabled: J,
227
- closeOnSelect: !1,
228
- allowOpenWithoutOptions: !0,
229
- triggerMode: R
230
- }), Be = O ?? V, X = (t) => {
231
- let n = E(t, e);
232
- K((r) => r.some((t) => E(t, e) === n) ? r.filter((t) => E(t, e) !== n) : J(t) ? r : [...r, t]);
233
- }, Ve = (e) => {
234
- if (I.current = e, typeof F == "function") {
235
- F(e);
236
- return;
237
- }
238
- F && (F.current = e);
239
- }, He = () => {
240
- K([]), L || h([]);
241
- }, Ue = () => {
242
- K((t) => {
243
- let n = [...t], r = new Set(t.map((t) => E(t, e)));
244
- for (let t of W) {
245
- let i = E(t, e);
246
- !r.has(i) && !J(t) && (r.add(i), n.push(t));
247
- }
248
- return n;
249
- });
250
- }, We = () => {
251
- K([]);
252
- }, Ge = (e) => {
253
- J(e) || (K([e]), Me());
254
- }, Ke = L ? G : z, Z = Ke.length > 0, qe = {
255
- selectedItems: Ke,
256
- committedSelectedItems: z,
257
- availableItems: U,
258
- query: V,
259
- open: L,
260
- clearSelection: He,
261
- selectAll: Ue,
262
- deselectAll: We
263
- }, Je = N === void 0 ? se({
264
- codeKey: e,
265
- textKey: B
266
- }) : N, Ye = P === void 0 ? ce : P, Xe = ve ?? le({
267
- codeKey: e,
268
- textKey: B,
269
- hideCode: r
270
- }), Ze = typeof Je == "function" ? Je(qe) : null, Qe = typeof Ye == "function" ? Ye(qe) : null, Q = H.map((e, t) => ({
271
- item: e,
272
- index: t
273
- })), $e = U.map((e, t) => ({
274
- item: e,
275
- index: t + Q.length
276
- })), et = !M && !j && W.length === 0, $ = d({
277
- mode: R,
278
- open: L,
279
- currentQuery: V,
280
- hasDisplayValue: !1,
281
- inputRef: I,
282
- setQuery: Se,
283
- openList: Ne,
284
- close: Me,
285
- toggleOpen: Pe,
286
- onBeforeOpen: () => {
287
- L || we();
288
- }
289
- });
290
- return /* @__PURE__ */ v(s, {
291
- label: re,
292
- description: b,
293
- disabled: A,
294
- placeholder: S,
295
- size: C,
296
- className: x.multiSelect,
297
- children: ({ controlId: n, labelId: r, describedBy: i }) => {
298
- let s = `${n}-listbox`;
299
- return /* @__PURE__ */ y(ae, { children: [/* @__PURE__ */ v(a, {
300
- ref: Ve,
301
- rootRef: ke,
302
- id: n,
303
- type: "text",
304
- role: "combobox",
305
- autoComplete: "off",
306
- disabled: A,
307
- value: V,
308
- placeholder: Z ? void 0 : S,
309
- "aria-labelledby": r,
310
- "aria-describedby": i,
311
- "aria-haspopup": "listbox",
312
- "aria-expanded": L,
313
- "aria-controls": L ? s : void 0,
314
- "aria-autocomplete": "list",
315
- "aria-activedescendant": L ? ze(s) : void 0,
316
- rootClassName: "flex alignItemsCenter",
317
- endAdornment: /* @__PURE__ */ y(l, {
318
- open: L,
319
- disabled: A,
320
- onToggleMouseDown: $.handleToggleMouseDown,
321
- onToggleClick: $.handleToggleClick,
322
- children: [Ze, /* @__PURE__ */ v("button", {
323
- type: "button",
324
- disabled: !Z,
325
- className: t.uiClearButton,
326
- "data-ui": "multi-select-clear-button",
327
- "data-action": "clear-multi-select",
328
- onClick: He,
329
- "aria-label": "Очистить все",
330
- children: /* @__PURE__ */ v(ie, {})
331
- })]
332
- }),
333
- onChange: (e) => {
334
- $.handleTriggerInputChange(e.target.value);
335
- },
336
- onClick: $.handleTriggerClick,
337
- onFocus: (e) => {
338
- $.handleTriggerFocus(e.currentTarget);
339
- },
340
- onKeyDown: (e) => {
341
- Ie(e), !e.defaultPrevented && $.handleTriggerKeyDown({
342
- event: e,
343
- onActivateWhenOpen: () => {
344
- if (Y >= 0) {
345
- let e = W[Y];
346
- if (e) {
347
- X(e);
348
- return;
349
- }
350
- }
351
- Fe();
352
- },
353
- enableClosedArrowDownOpen: !0,
354
- suppressClosedArrowUp: !0
355
- });
356
- }
357
- }), /* @__PURE__ */ v(o, {
358
- open: L,
359
- context: Ee,
360
- floatingStyles: De,
361
- listId: s,
362
- labelId: r,
363
- descriptionId: i,
364
- activeOptionId: L ? ze(s) : void 0,
365
- setFloating: Ae,
366
- getFloatingProps: Oe,
367
- onKeyDown: Le,
368
- initialFocus: -1,
369
- returnFocus: !1,
370
- tabIndex: -1,
371
- className: t.uiPopupOptions,
372
- header: Qe,
373
- children: /* @__PURE__ */ v(ue, {
374
- isNoData: et,
375
- isLoading: M,
376
- error: j,
377
- children: /* @__PURE__ */ y("div", {
378
- className: "scrollable h100",
379
- children: [
380
- /* @__PURE__ */ v(D, {
381
- entries: Q,
382
- listId: s,
383
- activeIndex: Y,
384
- selectedKeys: q,
385
- codeKey: e,
386
- query: V,
387
- highlightQuery: Be,
388
- getOptionDisabled: J,
389
- getOptionId: Re,
390
- setOptionRef: je,
391
- toggleOption: X,
392
- selectOnlyOption: Ge,
393
- renderItem: Xe
394
- }),
395
- Q.length > 0 && xe.length > 0 && /* @__PURE__ */ v(p, { className: "marginBlockSm" }),
396
- /* @__PURE__ */ v(D, {
397
- entries: $e,
398
- listId: s,
399
- activeIndex: Y,
400
- selectedKeys: q,
401
- codeKey: e,
402
- query: V,
403
- highlightQuery: Be,
404
- getOptionDisabled: J,
405
- getOptionId: Re,
406
- setOptionRef: je,
407
- toggleOption: X,
408
- selectOnlyOption: Ge,
409
- renderItem: Xe
410
- })
411
- ]
412
- })
413
- })
414
- })] });
415
- }
416
- });
417
- });
418
- O.displayName = "MultiSelect";
419
- //#endregion
420
- export { C as n, O as t };
421
-
422
- //# sourceMappingURL=MultiSelect-DblDAklj.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MultiSelect-DblDAklj.js","names":[],"sources":["../../src/multi-select/ui/MultiSelectOption.tsx","../../src/multi-select/ui/MultiSelect.module.scss","../../src/multi-select/ui/MultiSelectOptionsToolbar.tsx","../../src/multi-select/ui/MultiSelectToken.tsx","../../src/multi-select/ui/defaultRenderers.tsx","../../src/multi-select/ui/MultiSelectOptionSkeleton.tsx","../../src/multi-select/ui/MultiSelect.tsx"],"sourcesContent":["import { CollectionItem } from \"@ryuzaki13/react-foundation-lib/odata\";\n\nimport { SelectOptionContent } from \"../../select/SelectOptionContent\";\n\ninterface MultiSelectOptionProps {\n\titem: CollectionItem;\n\ttextKey: string;\n\tcodeKey?: string;\n\thighlight?: string;\n\tselected: boolean;\n}\n\n/**\n * Отдельная опция внутри `MultiSelect`. Отрисовывает состояние выбора и подсветку текста для найденных совпадений.\n */\nexport function MultiSelectOption({ item, textKey, codeKey, highlight }: MultiSelectOptionProps) {\n\treturn <SelectOptionContent label={item[textKey]} code={codeKey && item[codeKey]} highlight={highlight} />;\n}\n","@use \"@/styles/mixins\" as *;\n\n.multiSelect {\n\t// Общий контейнер\n\tpadding: 0;\n}\n\n.multiSelectTokens {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: flex-end;\n\n\theight: calc(100% - var(--space-sm));\n\tmax-width: calc(100% - var(--control-height) * 2);\n\n\t// overflow: hidden;\n\n\t&:empty {\n\t\tdisplay: none;\n\t}\n}\n\n.multiSelectToken {\n\t// font-size: var(--font-size-sm);\n\n\t// flex: 1 1 0%;\n\t// min-width: 0;\n\tmax-width: 70%;\n\n\toverflow: hidden;\n\twhite-space: nowrap;\n\tword-break: normal;\n\ttext-overflow: ellipsis;\n\n\tpointer-events: none;\n}\n\n.selectAllButton {\n\t// font-size: var(--font-size-sm);\n\tpadding-block: var(--space-xs);\n\tborder-radius: var(--radius-sm);\n\n\t&:hover {\n\t\t// color: var(--content-accent);\n\t\tbackground-color: var(--surface-2);\n\t}\n}\n","import { Grid } from \"../../grid\";\n\nimport styles from \"./MultiSelect.module.scss\";\n\n/**\n * Панель массовых действий для `MultiSelect`. Позволяет быстро выбрать все доступные элементы или снять выбор.\n */\nexport function MultiSelectOptionsToolbar({ onSelectAll, onDeselectAll }: { onSelectAll: () => void; onDeselectAll: () => void }) {\n\treturn (\n\t\t<Grid.Container gap=\"xs\" templateColumns=\"1fr 1fr\">\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName={styles.selectAllButton}\n\t\t\t\tonClick={onSelectAll}\n\t\t\t\tdata-ui=\"multi-select-select-all\"\n\t\t\t\tdata-action=\"select-all\">\n\t\t\t\tВыбрать все\n\t\t\t</button>\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName={styles.selectAllButton}\n\t\t\t\tonClick={onDeselectAll}\n\t\t\t\tdata-ui=\"multi-select-deselect-all\"\n\t\t\t\tdata-action=\"deselect-all\">\n\t\t\t\tСнять выбор\n\t\t\t</button>\n\t\t</Grid.Container>\n\t);\n}\n","import styles from \"./MultiSelect.module.scss\";\n\ninterface MultiSelectTokenProps {\n\tvalue: string | undefined;\n}\n\n/**\n * Токен выбранного значения в `MultiSelect`. Показывает выбранный элемент и кнопку его удаления из текущего набора.\n */\nexport function MultiSelectToken({ value }: MultiSelectTokenProps) {\n\tif (!value) return null;\n\n\treturn (\n\t\t<div className={styles.multiSelectTokens}>\n\t\t\t<div className={styles.multiSelectToken}>{value}</div>\n\t\t</div>\n\t);\n}\n","import { CollectionItem } from \"@ryuzaki13/react-foundation-lib/odata\";\n\nimport { MultiSelectOption } from \"./MultiSelectOption\";\nimport { MultiSelectOptionsToolbar } from \"./MultiSelectOptionsToolbar\";\nimport { MultiSelectToken } from \"./MultiSelectToken\";\n\nimport type { MultiSelectItemState, MultiSelectRenderContext } from \"./MultiSelect\";\n\ninterface MultiSelectRendererConfig {\n\tcodeKey: string;\n\ttextKey?: string;\n\thideCode?: boolean;\n}\n\nexport function resolveMultiSelectTextKey(items: CollectionItem[], codeKey: string, textKey?: string) {\n\tif (textKey) {\n\t\treturn textKey;\n\t}\n\n\tconst sampleItem = items[0];\n\n\tif (!sampleItem) {\n\t\treturn codeKey;\n\t}\n\n\treturn Object.keys(sampleItem).find((key) => key !== codeKey) ?? codeKey;\n}\n\nexport function getDefaultMultiSelectTokenValue(items: CollectionItem[], codeKey: string, textKey?: string) {\n\tif (items.length === 0) {\n\t\treturn undefined;\n\t}\n\n\tif (items.length > 1) {\n\t\treturn `${items.length} элемент${items.length > 5 ? \"ов\" : \"а\"})`;\n\t}\n\n\tconst resolvedTextKey = resolveMultiSelectTextKey(items, codeKey, textKey);\n\treturn items[0]?.[resolvedTextKey] ?? items[0]?.[codeKey];\n}\n\nexport function createDefaultMultiSelectTokenRenderer(config: MultiSelectRendererConfig) {\n\treturn function renderDefaultToken(context: MultiSelectRenderContext) {\n\t\treturn <MultiSelectToken value={getDefaultMultiSelectTokenValue(context.selectedItems, config.codeKey, config.textKey)} />;\n\t};\n}\n\nexport function renderDefaultMultiSelectToolbar(context: MultiSelectRenderContext) {\n\treturn <MultiSelectOptionsToolbar onSelectAll={context.selectAll} onDeselectAll={context.deselectAll} />;\n}\n\nexport function createDefaultMultiSelectItemRenderer(config: MultiSelectRendererConfig) {\n\treturn function renderDefaultItem(item: CollectionItem, state: MultiSelectItemState) {\n\t\treturn (\n\t\t\t<MultiSelectOption\n\t\t\t\titem={item}\n\t\t\t\tselected={state.selected}\n\t\t\t\thighlight={state.highlightQuery}\n\t\t\t\ttextKey={resolveMultiSelectTextKey([item], config.codeKey, config.textKey)}\n\t\t\t\tcodeKey={config.hideCode ? undefined : config.codeKey}\n\t\t\t/>\n\t\t);\n\t};\n}\n","import { Text } from \"../../text\";\nimport uiStyles from \"../../ui.module.scss\";\n\ninterface MultiSelectOptionSkeletonProps {\n\ttext: string;\n\tisError?: boolean;\n}\n\n/**\n * Скелетон строки опции для `MultiSelect`. Используется во время загрузки или при отображении ошибок получения списка.\n */\nexport function MultiSelectOptionSkeleton({ text, isError }: MultiSelectOptionSkeletonProps) {\n\treturn (\n\t\t<div className={uiStyles.uiPopupOption}>\n\t\t\t<span className={uiStyles.uiPopupOptionIcon}></span>\n\t\t\t<Text color={isError ? \"error\" : \"primary\"}>{text}</Text>\n\t\t</div>\n\t);\n}\n","import React, { forwardRef, type PropsWithChildren, useCallback, useMemo, useRef, useState } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { XIcon } from \"lucide-react\";\n\nimport { CheckBox } from \"../../check-box\";\nimport {\n\tPickerField,\n\tPickerPopup,\n\tPickerStatus,\n\tPickerTriggerActions,\n\tPickerTriggerInput,\n\tusePickerDefaultFilter,\n\tusePickerFloatingListbox,\n\tusePickerQuery,\n\tusePickerSelectionLifecycle,\n\tusePickerTriggerController\n} from \"../../picker\";\nimport { Separator } from \"../../separator\";\nimport { type UiBaseProps } from \"../../types\";\nimport uiStyles from \"../../ui.module.scss\";\n\nimport {\n\tcreateDefaultMultiSelectItemRenderer,\n\tcreateDefaultMultiSelectTokenRenderer,\n\trenderDefaultMultiSelectToolbar,\n\tresolveMultiSelectTextKey\n} from \"./defaultRenderers\";\nimport styles from \"./MultiSelect.module.scss\";\nimport { MultiSelectOptionSkeleton } from \"./MultiSelectOptionSkeleton\";\n\nimport type { CollectionItem } from \"@ryuzaki13/react-foundation-lib/odata\";\n\ninterface MultiSelectOptionsProps extends PropsWithChildren {\n\tisNoData?: boolean;\n\tisLoading?: boolean;\n\terror?: string;\n}\n\nfunction MultiSelectOptionsWrapper({ isNoData, isLoading, error, children }: MultiSelectOptionsProps) {\n\tif (isNoData) return <PickerStatus emptyState={<MultiSelectOptionSkeleton text=\"Нет данных\" />} />;\n\tif (isLoading) return <PickerStatus loadingState={<MultiSelectOptionSkeleton text=\"Загрузка...\" />} />;\n\tif (error) return <PickerStatus errorState={<MultiSelectOptionSkeleton isError text=\"Ошибка загрузки\" />} />;\n\n\treturn <>{children}</>;\n}\n\nexport interface MultiSelectItemState {\n\tselected: boolean;\n\tactive: boolean;\n\tdisabled: boolean;\n\tquery: string;\n\thighlightQuery: string;\n}\n\nexport interface MultiSelectRenderContext {\n\tselectedItems: CollectionItem[];\n\tcommittedSelectedItems: CollectionItem[];\n\tavailableItems: CollectionItem[];\n\tquery: string;\n\topen: boolean;\n\tclearSelection: () => void;\n\tselectAll: () => void;\n\tdeselectAll: () => void;\n}\n\nexport interface MultiSelectOptionDisableContext {\n\tselectedItems: CollectionItem[];\n\tcommittedSelectedItems: CollectionItem[];\n\tselectedKeys: ReadonlySet<string>;\n\topen: boolean;\n}\n\ntype MultiSelectOptionalRenderer<TContext> = ((context: TContext) => React.ReactNode) | null | false;\n\ninterface MultiSelectRenderers {\n\trenderToken?: MultiSelectOptionalRenderer<MultiSelectRenderContext>;\n\trenderToolbar?: MultiSelectOptionalRenderer<MultiSelectRenderContext>;\n\trenderItem?: (item: CollectionItem, state: MultiSelectItemState) => React.ReactNode;\n}\n\nexport interface MultiSelectProps<TOption extends Record<string, string> = CollectionItem>\n\textends MultiSelectRenderers, UiBaseProps<TOption[]> {\n\tcodeKey: string;\n\ttextKey?: string;\n\thideCode?: boolean;\n\tquery?: string;\n\tdefaultQuery?: string;\n\thighlightQuery?: string;\n\tonQuery?: (value: string) => void;\n\tdefaultFilter?: boolean;\n\titems: TOption[];\n\tgetOptionDisabled?: (item: TOption, context: MultiSelectOptionDisableContext) => boolean;\n\tonOpen?: () => void;\n\tonClose?: (value: TOption[]) => void;\n\terror?: string;\n\tisLoading?: boolean;\n}\n\nconst fallback: CollectionItem[] = [];\n\nfunction getItemKey(item: CollectionItem, codeKey: string) {\n\treturn item[codeKey];\n}\n\nfunction getItemSearchParts(item: CollectionItem, codeKey: string, textKey: string) {\n\treturn Array.from(new Set([item[textKey], item[codeKey], ...Object.values(item)]));\n}\n\nfunction areSelectionsEqual(left: CollectionItem[], right: CollectionItem[], codeKey: string) {\n\tif (left.length !== right.length) {\n\t\treturn false;\n\t}\n\n\tconst rightKeys = new Set(right.map((item) => getItemKey(item, codeKey)));\n\n\treturn left.every((item) => rightKeys.has(getItemKey(item, codeKey)));\n}\n\ninterface MultiSelectOptionEntry {\n\titem: CollectionItem;\n\tindex: number;\n}\n\ninterface MultiSelectOptionGroupProps {\n\tentries: MultiSelectOptionEntry[];\n\tlistId: string;\n\tactiveIndex: number;\n\tselectedKeys: Set<string>;\n\tcodeKey: string;\n\tquery: string;\n\thighlightQuery: string;\n\tgetOptionDisabled?: (item: CollectionItem) => boolean;\n\tgetOptionId: (listId: string, index: number) => string;\n\tsetOptionRef: (index: number, node: HTMLElement | null) => void;\n\ttoggleOption: (item: CollectionItem) => void;\n\tselectOnlyOption: (item: CollectionItem) => void;\n\trenderItem: (item: CollectionItem, state: MultiSelectItemState) => React.ReactNode;\n}\n\nfunction MultiSelectOptionGroup({\n\tentries,\n\tlistId,\n\tactiveIndex,\n\tselectedKeys,\n\tcodeKey,\n\tquery,\n\thighlightQuery,\n\tgetOptionDisabled,\n\tgetOptionId,\n\tsetOptionRef,\n\ttoggleOption,\n\tselectOnlyOption,\n\trenderItem\n}: MultiSelectOptionGroupProps) {\n\treturn entries.map(({ item, index }) => {\n\t\tconst active = index === activeIndex;\n\t\tconst selected = selectedKeys.has(getItemKey(item, codeKey));\n\t\tconst optionDisabled = getOptionDisabled?.(item) ?? false;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tkey={`${getItemKey(item, codeKey)}-${index}`}\n\t\t\t\tid={getOptionId(listId, index)}\n\t\t\t\tref={(node) => setOptionRef(index, node)}\n\t\t\t\trole=\"option\"\n\t\t\t\taria-selected={selected}\n\t\t\t\taria-disabled={optionDisabled || undefined}\n\t\t\t\tclassName={cn(\n\t\t\t\t\tuiStyles.uiSelectOption,\n\t\t\t\t\toptionDisabled && uiStyles.disabled,\n\t\t\t\t\tselected && uiStyles.selected,\n\t\t\t\t\tactive && uiStyles.uiPopupOptionActive\n\t\t\t\t)}\n\t\t\t\tonMouseDown={(event) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}}>\n\t\t\t\t<div\n\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t}}>\n\t\t\t\t\t<CheckBox\n\t\t\t\t\t\tvalue={selected}\n\t\t\t\t\t\tdisabled={optionDisabled}\n\t\t\t\t\t\tonChange={() => {\n\t\t\t\t\t\t\tif (!optionDisabled) {\n\t\t\t\t\t\t\t\ttoggleOption(item);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonMouseDown={(event) => {\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"overflowHidden\"\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tif (!optionDisabled) {\n\t\t\t\t\t\t\tselectOnlyOption(item);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}>\n\t\t\t\t\t{renderItem(item, { selected, active, disabled: optionDisabled, query, highlightQuery })}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t});\n}\n\n/**\n * Поле множественного выбора с внутренним черновиком значений и подтверждением выбора при закрытии списка.\n * Подходит как для самостоятельного использования, так и как базовый слой для OData-оберток.\n */\nexport const MultiSelect = forwardRef<HTMLInputElement, MultiSelectProps>(\n\t(\n\t\t{\n\t\t\tcodeKey,\n\t\t\ttextKey,\n\t\t\thideCode,\n\t\t\titems,\n\t\t\tvalue,\n\t\t\tonChange,\n\t\t\tlabel,\n\t\t\tdescription,\n\t\t\tplaceholder,\n\t\t\tsize,\n\t\t\tquery,\n\t\t\tdefaultQuery,\n\t\t\thighlightQuery,\n\t\t\tonQuery,\n\t\t\tdefaultFilter = true,\n\t\t\tonOpen,\n\t\t\tonClose,\n\t\t\tgetOptionDisabled,\n\t\t\tdisabled,\n\t\t\terror,\n\t\t\tisLoading,\n\t\t\trenderToken,\n\t\t\trenderToolbar,\n\t\t\trenderItem\n\t\t},\n\t\tref\n\t) => {\n\t\tconst inputRef = useRef<HTMLInputElement | null>(null);\n\t\tconst [open, setOpen] = useState(false);\n\t\tconst triggerMode = \"search-multi\";\n\t\tconst committedSelectedItems = value ?? fallback;\n\t\tconst committedSelectedKeys = useMemo(\n\t\t\t() => new Set(committedSelectedItems.map((item) => getItemKey(item, codeKey))),\n\t\t\t[codeKey, committedSelectedItems]\n\t\t);\n\t\tconst availableItems = useMemo(\n\t\t\t() => items.filter((item) => !committedSelectedKeys.has(getItemKey(item, codeKey))),\n\t\t\t[codeKey, committedSelectedKeys, items]\n\t\t);\n\t\tconst resolvedTextKey = useMemo(\n\t\t\t() => resolveMultiSelectTextKey([...committedSelectedItems, ...items], codeKey, textKey),\n\t\t\t[codeKey, committedSelectedItems, items, textKey]\n\t\t);\n\t\tconst { query: currentQuery, setQuery } = usePickerQuery({\n\t\t\topen,\n\t\t\tquery,\n\t\t\tdefaultQuery,\n\t\t\tonQuery,\n\t\t\ttriggerMode\n\t\t});\n\t\tconst filteredCommittedSelectedItems = usePickerDefaultFilter({\n\t\t\toptions: committedSelectedItems,\n\t\t\tquery: currentQuery,\n\t\t\tenabled: defaultFilter,\n\t\t\tgetSearchText: (item) => getItemSearchParts(item, codeKey, resolvedTextKey)\n\t\t});\n\t\tconst filteredAvailableItems = usePickerDefaultFilter({\n\t\t\toptions: availableItems,\n\t\t\tquery: currentQuery,\n\t\t\tenabled: defaultFilter,\n\t\t\tgetSearchText: (item) => getItemSearchParts(item, codeKey, resolvedTextKey)\n\t\t});\n\t\tconst visibleOptions = useMemo(\n\t\t\t() => [...filteredCommittedSelectedItems, ...filteredAvailableItems],\n\t\t\t[filteredAvailableItems, filteredCommittedSelectedItems]\n\t\t);\n\t\tconst selectedIndex = filteredCommittedSelectedItems.length > 0 ? 0 : -1;\n\t\tconst {\n\t\t\tdraftValue: draftSelectedItems,\n\t\t\tsetDraftValue: setDraftSelectedItems,\n\t\t\tprepareOpen\n\t\t} = usePickerSelectionLifecycle({\n\t\t\tvalue: committedSelectedItems,\n\t\t\topen,\n\t\t\tonCommit: onChange,\n\t\t\tonOpen,\n\t\t\tonClose,\n\t\t\tisEqual: (left, right) => areSelectionsEqual(left, right, codeKey)\n\t\t});\n\t\tconst selectedKeys = useMemo(\n\t\t\t() => new Set(draftSelectedItems.map((item) => getItemKey(item, codeKey))),\n\t\t\t[codeKey, draftSelectedItems]\n\t\t);\n\t\tconst optionDisableContext = useMemo<MultiSelectOptionDisableContext>(\n\t\t\t() => ({\n\t\t\t\tselectedItems: draftSelectedItems,\n\t\t\t\tcommittedSelectedItems,\n\t\t\t\tselectedKeys,\n\t\t\t\topen\n\t\t\t}),\n\t\t\t[committedSelectedItems, draftSelectedItems, open, selectedKeys]\n\t\t);\n\t\tconst isOptionDisabled = useCallback(\n\t\t\t(item: CollectionItem) => getOptionDisabled?.(item, optionDisableContext) ?? false,\n\t\t\t[getOptionDisabled, optionDisableContext]\n\t\t);\n\t\tconst {\n\t\t\tactiveIndex,\n\t\t\tcontext,\n\t\t\tfloatingStyles,\n\t\t\tgetFloatingProps,\n\t\t\tsetReference,\n\t\t\tsetFloating,\n\t\t\tsetOptionRef,\n\t\t\tclose,\n\t\t\topenList,\n\t\t\ttoggleOpen,\n\t\t\tselectActiveOption,\n\t\t\thandleReferenceKeyDown,\n\t\t\thandleFloatingKeyDown,\n\t\t\tgetOptionId,\n\t\t\tgetActiveOptionId\n\t\t} = usePickerFloatingListbox({\n\t\t\toptions: visibleOptions,\n\t\t\tselectedIndex,\n\t\t\topen,\n\t\t\tonOpenChange: setOpen,\n\t\t\tonSelect: undefined,\n\t\t\tdisabled,\n\t\t\tgetOptionDisabled: isOptionDisabled,\n\t\t\tcloseOnSelect: false,\n\t\t\tallowOpenWithoutOptions: true,\n\t\t\ttriggerMode\n\t\t});\n\n\t\tconst currentHighlightQuery = highlightQuery ?? currentQuery;\n\t\tconst toggleDraftSelection = (item: CollectionItem) => {\n\t\t\tconst itemKey = getItemKey(item, codeKey);\n\n\t\t\tsetDraftSelectedItems((currentItems) => {\n\t\t\t\tconst isSelected = currentItems.some((selectedItem) => getItemKey(selectedItem, codeKey) === itemKey);\n\n\t\t\t\tif (isSelected) {\n\t\t\t\t\treturn currentItems.filter((selectedItem) => getItemKey(selectedItem, codeKey) !== itemKey);\n\t\t\t\t}\n\n\t\t\t\tif (isOptionDisabled(item)) {\n\t\t\t\t\treturn currentItems;\n\t\t\t\t}\n\n\t\t\t\treturn [...currentItems, item];\n\t\t\t});\n\t\t};\n\n\t\tconst setInputNode = (node: HTMLInputElement | null) => {\n\t\t\tinputRef.current = node;\n\n\t\t\tif (typeof ref === \"function\") {\n\t\t\t\tref(node);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (ref) {\n\t\t\t\tref.current = node;\n\t\t\t}\n\t\t};\n\n\t\tconst clearSelection = () => {\n\t\t\tsetDraftSelectedItems([]);\n\n\t\t\tif (!open) {\n\t\t\t\tonChange([]);\n\t\t\t}\n\t\t};\n\n\t\tconst selectAll = () => {\n\t\t\tsetDraftSelectedItems((currentItems) => {\n\t\t\t\tconst nextItems = [...currentItems];\n\t\t\t\tconst selectedKeys = new Set(currentItems.map((item) => getItemKey(item, codeKey)));\n\n\t\t\t\tfor (const item of visibleOptions) {\n\t\t\t\t\tconst itemKey = getItemKey(item, codeKey);\n\n\t\t\t\t\tif (!selectedKeys.has(itemKey) && !isOptionDisabled(item)) {\n\t\t\t\t\t\tselectedKeys.add(itemKey);\n\t\t\t\t\t\tnextItems.push(item);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn nextItems;\n\t\t\t});\n\t\t};\n\n\t\tconst deselectAll = () => {\n\t\t\tsetDraftSelectedItems([]);\n\t\t};\n\n\t\tconst selectOnlyOption = (item: CollectionItem) => {\n\t\t\tif (isOptionDisabled(item)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetDraftSelectedItems([item]);\n\t\t\tclose();\n\t\t};\n\n\t\tconst currentSelectedItems = open ? draftSelectedItems : committedSelectedItems;\n\t\tconst hasSelectedItems = currentSelectedItems.length > 0;\n\t\tconst renderContext: MultiSelectRenderContext = {\n\t\t\tselectedItems: currentSelectedItems,\n\t\t\tcommittedSelectedItems,\n\t\t\tavailableItems: filteredAvailableItems,\n\t\t\tquery: currentQuery,\n\t\t\topen,\n\t\t\tclearSelection,\n\t\t\tselectAll,\n\t\t\tdeselectAll\n\t\t};\n\t\tconst tokenRenderer =\n\t\t\trenderToken === undefined ? createDefaultMultiSelectTokenRenderer({ codeKey, textKey: resolvedTextKey }) : renderToken;\n\t\tconst toolbarRenderer = renderToolbar === undefined ? renderDefaultMultiSelectToolbar : renderToolbar;\n\t\tconst itemRenderer =\n\t\t\trenderItem ??\n\t\t\tcreateDefaultMultiSelectItemRenderer({\n\t\t\t\tcodeKey,\n\t\t\t\ttextKey: resolvedTextKey,\n\t\t\t\thideCode\n\t\t\t});\n\t\tconst tokenNode = typeof tokenRenderer === \"function\" ? tokenRenderer(renderContext) : null;\n\t\tconst toolbarNode = typeof toolbarRenderer === \"function\" ? toolbarRenderer(renderContext) : null;\n\t\t// const hasToken = tokenNode !== null && tokenNode !== undefined;\n\t\tconst selectedEntries = filteredCommittedSelectedItems.map((item, index) => ({ item, index }));\n\t\tconst itemEntries = filteredAvailableItems.map((item, index) => ({ item, index: index + selectedEntries.length }));\n\t\tconst isNoData = !isLoading && !error && visibleOptions.length === 0;\n\t\tconst triggerController = usePickerTriggerController({\n\t\t\tmode: triggerMode,\n\t\t\topen,\n\t\t\tcurrentQuery,\n\t\t\thasDisplayValue: false,\n\t\t\tinputRef,\n\t\t\tsetQuery,\n\t\t\topenList,\n\t\t\tclose,\n\t\t\ttoggleOpen,\n\t\t\tonBeforeOpen: () => {\n\t\t\t\tif (!open) {\n\t\t\t\t\tprepareOpen();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\treturn (\n\t\t\t<PickerField\n\t\t\t\tlabel={label}\n\t\t\t\tdescription={description}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tplaceholder={placeholder}\n\t\t\t\tsize={size}\n\t\t\t\tclassName={styles.multiSelect}>\n\t\t\t\t{({ controlId, labelId, describedBy }) => {\n\t\t\t\t\tconst listId = `${controlId}-listbox`;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<PickerTriggerInput\n\t\t\t\t\t\t\t\tref={setInputNode}\n\t\t\t\t\t\t\t\trootRef={setReference}\n\t\t\t\t\t\t\t\tid={controlId}\n\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\tvalue={currentQuery}\n\t\t\t\t\t\t\t\tplaceholder={hasSelectedItems ? undefined : placeholder}\n\t\t\t\t\t\t\t\taria-labelledby={labelId}\n\t\t\t\t\t\t\t\taria-describedby={describedBy}\n\t\t\t\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\t\t\t\taria-expanded={open}\n\t\t\t\t\t\t\t\taria-controls={open ? listId : undefined}\n\t\t\t\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\t\t\t\taria-activedescendant={open ? getActiveOptionId(listId) : undefined}\n\t\t\t\t\t\t\t\trootClassName=\"flex alignItemsCenter\"\n\t\t\t\t\t\t\t\tendAdornment={\n\t\t\t\t\t\t\t\t\t<PickerTriggerActions\n\t\t\t\t\t\t\t\t\t\topen={open}\n\t\t\t\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\t\t\t\tonToggleMouseDown={triggerController.handleToggleMouseDown}\n\t\t\t\t\t\t\t\t\t\tonToggleClick={triggerController.handleToggleClick}>\n\t\t\t\t\t\t\t\t\t\t{tokenNode}\n\n\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\t\tdisabled={!hasSelectedItems}\n\t\t\t\t\t\t\t\t\t\t\tclassName={uiStyles.uiClearButton}\n\t\t\t\t\t\t\t\t\t\t\tdata-ui=\"multi-select-clear-button\"\n\t\t\t\t\t\t\t\t\t\t\tdata-action=\"clear-multi-select\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={clearSelection}\n\t\t\t\t\t\t\t\t\t\t\taria-label=\"Очистить все\">\n\t\t\t\t\t\t\t\t\t\t\t<XIcon />\n\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t</PickerTriggerActions>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\t\t\t\ttriggerController.handleTriggerInputChange(event.target.value);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonClick={triggerController.handleTriggerClick}\n\t\t\t\t\t\t\t\tonFocus={(event) => {\n\t\t\t\t\t\t\t\t\ttriggerController.handleTriggerFocus(event.currentTarget);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonKeyDown={(event) => {\n\t\t\t\t\t\t\t\t\thandleReferenceKeyDown(event);\n\n\t\t\t\t\t\t\t\t\tif (event.defaultPrevented) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\ttriggerController.handleTriggerKeyDown({\n\t\t\t\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\t\t\t\tonActivateWhenOpen: () => {\n\t\t\t\t\t\t\t\t\t\t\tif (activeIndex >= 0) {\n\t\t\t\t\t\t\t\t\t\t\t\tconst activeItem = visibleOptions[activeIndex];\n\t\t\t\t\t\t\t\t\t\t\t\tif (activeItem) {\n\t\t\t\t\t\t\t\t\t\t\t\t\ttoggleDraftSelection(activeItem);\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\tselectActiveOption();\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tenableClosedArrowDownOpen: true,\n\t\t\t\t\t\t\t\t\t\tsuppressClosedArrowUp: true\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<PickerPopup\n\t\t\t\t\t\t\t\topen={open}\n\t\t\t\t\t\t\t\tcontext={context}\n\t\t\t\t\t\t\t\tfloatingStyles={floatingStyles}\n\t\t\t\t\t\t\t\tlistId={listId}\n\t\t\t\t\t\t\t\tlabelId={labelId}\n\t\t\t\t\t\t\t\tdescriptionId={describedBy}\n\t\t\t\t\t\t\t\tactiveOptionId={open ? getActiveOptionId(listId) : undefined}\n\t\t\t\t\t\t\t\tsetFloating={setFloating}\n\t\t\t\t\t\t\t\tgetFloatingProps={getFloatingProps}\n\t\t\t\t\t\t\t\tonKeyDown={handleFloatingKeyDown}\n\t\t\t\t\t\t\t\tinitialFocus={-1}\n\t\t\t\t\t\t\t\treturnFocus={false}\n\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t\tclassName={uiStyles.uiPopupOptions}\n\t\t\t\t\t\t\t\theader={toolbarNode}>\n\t\t\t\t\t\t\t\t<MultiSelectOptionsWrapper isNoData={isNoData} isLoading={isLoading} error={error}>\n\t\t\t\t\t\t\t\t\t<div className=\"scrollable h100\">\n\t\t\t\t\t\t\t\t\t\t<MultiSelectOptionGroup\n\t\t\t\t\t\t\t\t\t\t\tentries={selectedEntries}\n\t\t\t\t\t\t\t\t\t\t\tlistId={listId}\n\t\t\t\t\t\t\t\t\t\t\tactiveIndex={activeIndex}\n\t\t\t\t\t\t\t\t\t\t\tselectedKeys={selectedKeys}\n\t\t\t\t\t\t\t\t\t\t\tcodeKey={codeKey}\n\t\t\t\t\t\t\t\t\t\t\tquery={currentQuery}\n\t\t\t\t\t\t\t\t\t\t\thighlightQuery={currentHighlightQuery}\n\t\t\t\t\t\t\t\t\t\t\tgetOptionDisabled={isOptionDisabled}\n\t\t\t\t\t\t\t\t\t\t\tgetOptionId={getOptionId}\n\t\t\t\t\t\t\t\t\t\t\tsetOptionRef={setOptionRef}\n\t\t\t\t\t\t\t\t\t\t\ttoggleOption={toggleDraftSelection}\n\t\t\t\t\t\t\t\t\t\t\tselectOnlyOption={selectOnlyOption}\n\t\t\t\t\t\t\t\t\t\t\trenderItem={itemRenderer}\n\t\t\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t\t\t{selectedEntries.length > 0 && availableItems.length > 0 && <Separator className=\"marginBlockSm\" />}\n\n\t\t\t\t\t\t\t\t\t\t<MultiSelectOptionGroup\n\t\t\t\t\t\t\t\t\t\t\tentries={itemEntries}\n\t\t\t\t\t\t\t\t\t\t\tlistId={listId}\n\t\t\t\t\t\t\t\t\t\t\tactiveIndex={activeIndex}\n\t\t\t\t\t\t\t\t\t\t\tselectedKeys={selectedKeys}\n\t\t\t\t\t\t\t\t\t\t\tcodeKey={codeKey}\n\t\t\t\t\t\t\t\t\t\t\tquery={currentQuery}\n\t\t\t\t\t\t\t\t\t\t\thighlightQuery={currentHighlightQuery}\n\t\t\t\t\t\t\t\t\t\t\tgetOptionDisabled={isOptionDisabled}\n\t\t\t\t\t\t\t\t\t\t\tgetOptionId={getOptionId}\n\t\t\t\t\t\t\t\t\t\t\tsetOptionRef={setOptionRef}\n\t\t\t\t\t\t\t\t\t\t\ttoggleOption={toggleDraftSelection}\n\t\t\t\t\t\t\t\t\t\t\tselectOnlyOption={selectOnlyOption}\n\t\t\t\t\t\t\t\t\t\t\trenderItem={itemRenderer}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</MultiSelectOptionsWrapper>\n\t\t\t\t\t\t\t</PickerPopup>\n\t\t\t\t\t\t</>\n\t\t\t\t\t);\n\t\t\t\t}}\n\t\t\t</PickerField>\n\t\t);\n\t}\n);\n\nMultiSelect.displayName = \"MultiSelect\";\n"],"mappings":"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"}
@@ -1,151 +0,0 @@
1
- import { i as e } from "./Flex-DUYSL5TE.js";
2
- import { t } from "./Button-CCWuggdA.js";
3
- import { createContext as n, useContext as r, useEffect as i, useMemo as a } from "react";
4
- import { cn as o } from "@ryuzaki13/react-foundation-lib/utils";
5
- import { bindNotifications as s, createNotificationsStore as c } from "@ryuzaki13/react-foundation-lib/notifications";
6
- import { AlertCircleIcon as l, CheckCircle2Icon as u, InfoIcon as d, TriangleAlertIcon as f, XIcon as p } from "lucide-react";
7
- import { jsx as m, jsxs as h } from "react/jsx-runtime";
8
- import { createMissingContextError as g } from "@ryuzaki13/react-foundation-lib/error";
9
- import { useStore as _ } from "zustand";
10
- //#region src/notifications/model/NotificationsProvider.tsx
11
- var v = n(null);
12
- function y({ children: e }) {
13
- let t = a(() => c(), []);
14
- return i(() => s(t), [t]), /* @__PURE__ */ m(v.Provider, {
15
- value: t,
16
- children: e
17
- });
18
- }
19
- function b() {
20
- let e = r(v);
21
- if (!e) throw g({
22
- hookName: "useNotificationApi",
23
- providerName: "NotificationsProvider"
24
- });
25
- return e;
26
- }
27
- function x() {
28
- return _(b(), (e) => e.items);
29
- }
30
- function S() {
31
- let e = _(b(), (e) => e.actions), t = (t) => (n, r) => e.push({
32
- type: t,
33
- message: n,
34
- ...r
35
- });
36
- return {
37
- ...e,
38
- success: t("success"),
39
- info: t("info"),
40
- warning: t("warning"),
41
- error: t("error")
42
- };
43
- }
44
- function C(e) {
45
- return _(b(), (t) => t.items.find((t) => t.id === e));
46
- }
47
- var w = {
48
- container: "STGQ3g",
49
- card: "RaiISE",
50
- info: "cM81wO",
51
- success: "nH2cuZ",
52
- warning: "A2glD7",
53
- error: "yWjijS",
54
- header: "_1HO2ne",
55
- content: "OyRJpj",
56
- copy: "vrCrow",
57
- icon: "A0X-ma",
58
- kicker: "AkHvPV",
59
- title: "_4YDLB5",
60
- message: "CK3Bqv",
61
- actions: "nLmQut"
62
- }, T = {
63
- info: {
64
- title: "Информация",
65
- Icon: d
66
- },
67
- success: {
68
- title: "Успешно",
69
- Icon: u
70
- },
71
- warning: {
72
- title: "Предупреждение",
73
- Icon: f
74
- },
75
- error: {
76
- title: "Ошибка",
77
- Icon: l
78
- }
79
- };
80
- function E() {
81
- let n = x(), { dismiss: r } = S();
82
- return /* @__PURE__ */ m("div", {
83
- className: w.container,
84
- "aria-label": "Область уведомлений",
85
- "aria-live": "polite",
86
- "aria-relevant": "additions text",
87
- children: n.map((n) => {
88
- let i = T[n.type], a = n.title ?? i.title, s = i.Icon;
89
- return /* @__PURE__ */ m("article", {
90
- role: n.type === "error" ? "alert" : "status",
91
- "aria-atomic": "true",
92
- className: o(w.card, w[n.type]),
93
- children: /* @__PURE__ */ h(e, {
94
- align: "start",
95
- justify: "between",
96
- gap: "sm",
97
- className: w.header,
98
- children: [/* @__PURE__ */ h(e, {
99
- align: "start",
100
- gap: "sm",
101
- className: w.content,
102
- children: [/* @__PURE__ */ m("span", {
103
- className: w.icon,
104
- "aria-hidden": "true",
105
- children: /* @__PURE__ */ m(s, {})
106
- }), /* @__PURE__ */ h("div", {
107
- className: w.copy,
108
- children: [
109
- /* @__PURE__ */ m("div", {
110
- className: w.kicker,
111
- children: i.title
112
- }),
113
- n.title ? /* @__PURE__ */ m("div", {
114
- className: w.title,
115
- children: a
116
- }) : null,
117
- /* @__PURE__ */ m("div", {
118
- className: w.message,
119
- children: n.message
120
- }),
121
- n.actions?.length ? /* @__PURE__ */ m("div", {
122
- className: w.actions,
123
- children: n.actions.map((e) => /* @__PURE__ */ m(t, {
124
- tone: e.tone ?? n.type,
125
- appearance: "outline",
126
- "data-ui": "notification-action-button",
127
- "data-action": "notification-action",
128
- onClick: () => void e.onClick(),
129
- children: e.label
130
- }, e.label))
131
- }) : null
132
- ]
133
- })]
134
- }), n.dismissible === !1 ? null : /* @__PURE__ */ m(t, {
135
- icon: /* @__PURE__ */ m(p, {}),
136
- appearance: "ghost",
137
- tone: n.type,
138
- onClick: () => r(n.id),
139
- "aria-label": "Закрыть уведомление",
140
- "data-ui": "notification-dismiss-button",
141
- "data-action": "dismiss-notification"
142
- })]
143
- })
144
- }, n.id);
145
- })
146
- });
147
- }
148
- //#endregion
149
- export { S as a, x as i, y as n, C as r, E as t };
150
-
151
- //# sourceMappingURL=NotificationsHost-_icJx4xR.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NotificationsHost-_icJx4xR.js","names":[],"sources":["../../src/notifications/model/NotificationsProvider.tsx","../../src/notifications/ui/Notification.module.scss","../../src/notifications/ui/NotificationsHost.tsx"],"sourcesContent":["/* eslint-disable react-refresh/only-export-components */\nimport { createContext, PropsWithChildren, useContext, useEffect, useMemo } from \"react\";\n\nimport { createMissingContextError } from \"@ryuzaki13/react-foundation-lib/error\";\nimport {\n\tbindNotifications,\n\tcreateNotificationsStore,\n\tNotificationId,\n\tNotificationPushInput,\n\tNotificationsStoreApi,\n\tNotificationType\n} from \"@ryuzaki13/react-foundation-lib/notifications\";\nimport { useStore } from \"zustand\";\n\nconst NotificationsContext = createContext<NotificationsStoreApi | null>(null);\n\n/**\n * Провайдер уведомлений приложения. Хранит состояние списка уведомлений и предоставляет хуки доступа к нему.\n */\nexport function NotificationsProvider({ children }: PropsWithChildren) {\n\tconst store = useMemo(() => createNotificationsStore(), []);\n\n\tuseEffect(() => {\n\t\treturn bindNotifications(store);\n\t}, [store]);\n\n\treturn <NotificationsContext.Provider value={store}>{children}</NotificationsContext.Provider>;\n}\n\nfunction useNotificationApi() {\n\tconst ctx = useContext(NotificationsContext);\n\tif (!ctx) {\n\t\tthrow createMissingContextError({\n\t\t\thookName: \"useNotificationApi\",\n\t\t\tproviderName: \"NotificationsProvider\"\n\t\t});\n\t}\n\treturn ctx;\n}\n\nexport function useNotifications() {\n\tconst api = useNotificationApi();\n\treturn useStore(api, (s) => s.items);\n}\n\nexport function useNotify() {\n\tconst api = useNotificationApi();\n\tconst actions = useStore(api, (s) => s.actions);\n\n\tconst mk = (type: NotificationType) => (message: string, opts?: Omit<NotificationPushInput, \"type\" | \"message\">) =>\n\t\tactions.push({ type, message, ...opts });\n\n\treturn {\n\t\t...actions,\n\t\tsuccess: mk(\"success\"),\n\t\tinfo: mk(\"info\"),\n\t\twarning: mk(\"warning\"),\n\t\terror: mk(\"error\")\n\t};\n}\n\nexport function useNotificationById(id: NotificationId) {\n\tconst api = useNotificationApi();\n\treturn useStore(api, (s) => s.items.find((n) => n.id === id));\n}\n","@use \"@/styles/mixins\" as *;\n\n.container {\n\tposition: fixed;\n\tz-index: var(--z-notify);\n\tbottom: 0;\n\tleft: 0;\n\tdisplay: grid;\n\tgap: var(--space-sm);\n\tpadding: var(--space-lg);\n\twidth: min(28em, calc(100dvw - var(--space-lg) * 2));\n\tpointer-events: none;\n}\n\n.card {\n\t--notify-accent: var(--border-1);\n\t--notify-accent-surface: var(--surface-1);\n\t--notify-accent-text: var(--content-accent);\n\n\tposition: relative;\n\toverflow: hidden;\n\tpointer-events: auto;\n\twidth: 100%;\n\tpadding: var(--space-md);\n\t// border: var(--border);\n\tborder-left: 0.3125em solid var(--notify-accent);\n\tborder-radius: var(--radius-md);\n\tbackground: linear-gradient(37deg, var(--notify-accent-surface), var(--surface-0));\n\tcolor: var(--content-0);\n\tbox-shadow: var(--shadow-md);\n}\n\n.info {\n\t--notify-accent: var(--status-info-border);\n\t--notify-accent-surface: var(--status-info-soft);\n\t--notify-accent-text: var(--status-info-text);\n}\n\n.success {\n\t--notify-accent: var(--status-success-border);\n\t--notify-accent-surface: var(--status-success-soft);\n\t--notify-accent-text: var(--status-success-text);\n}\n\n.warning {\n\t--notify-accent: var(--status-warning-border);\n\t--notify-accent-surface: var(--status-warning-soft);\n\t--notify-accent-text: var(--status-warning-text);\n}\n\n.error {\n\t--notify-accent: var(--status-error-border);\n\t--notify-accent-surface: var(--status-error-soft);\n\t--notify-accent-text: var(--status-error-text);\n}\n\n.header,\n.content,\n.copy {\n\tmin-width: 0;\n}\n\n.content {\n\tmin-width: 0;\n\tflex: 1;\n}\n\n.icon {\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\tflex-shrink: 0;\n\twidth: var(--control-height);\n\theight: var(--control-height);\n\tborder-radius: 50%;\n\tbackground-color: var(--notify-accent-surface);\n\tcolor: var(--notify-accent-text);\n\tborder: var(--border-width) solid color-mix(in srgb, var(--notify-accent) 22%, transparent);\n\n\tsvg {\n\t\twidth: 1.125em;\n\t\theight: 1.125em;\n\t}\n}\n\n.kicker {\n\tmargin-bottom: var(--space-xs);\n\tcolor: var(--notify-accent-text);\n\tfont-size: var(--font-size-xs);\n\tfont-weight: 600;\n\tfont-variation-settings: \"wght\" 600;\n\tletter-spacing: 0.04em;\n\ttext-transform: uppercase;\n}\n\n.title {\n\tcolor: var(--notify-accent-text);\n\tfont-weight: 600;\n\tfont-variation-settings: \"wght\" 600;\n}\n\n.message {\n\tmargin-top: var(--space-xs);\n\tcolor: var(--content-0);\n\twhite-space: pre-wrap;\n\tword-break: break-word;\n}\n\n.actions {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: var(--space-xs);\n\tmargin-top: var(--space-sm);\n}\n\n@include mobile {\n\t.container {\n\t\tpadding: var(--space-md);\n\t\twidth: min(100dvw, calc(100dvw - var(--space-md) * 2));\n\t}\n}\n","import { NotificationType } from \"@ryuzaki13/react-foundation-lib/notifications\";\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\nimport { AlertCircleIcon, CheckCircle2Icon, InfoIcon, TriangleAlertIcon, XIcon } from \"lucide-react\";\n\nimport { Button } from \"../../button\";\nimport { FlexContainer } from \"../../flex\";\nimport { useNotifications, useNotify } from \"../model/NotificationsProvider\";\n\nimport styles from \"./Notification.module.scss\";\n\nconst notificationConfig: Record<\n\tNotificationType,\n\t{\n\t\ttitle: string;\n\t\tIcon: typeof InfoIcon;\n\t}\n> = {\n\tinfo: {\n\t\ttitle: \"Информация\",\n\t\tIcon: InfoIcon\n\t},\n\tsuccess: {\n\t\ttitle: \"Успешно\",\n\t\tIcon: CheckCircle2Icon\n\t},\n\twarning: {\n\t\ttitle: \"Предупреждение\",\n\t\tIcon: TriangleAlertIcon\n\t},\n\terror: {\n\t\ttitle: \"Ошибка\",\n\t\tIcon: AlertCircleIcon\n\t}\n};\n\n/**\n * Хост для визуального отображения очереди уведомлений.\n * Обычно монтируется один раз на уровне приложения рядом с провайдером уведомлений.\n */\nexport function NotificationsHost() {\n\tconst items = useNotifications();\n\tconst { dismiss } = useNotify();\n\n\treturn (\n\t\t<div className={styles.container} aria-label=\"Область уведомлений\" aria-live=\"polite\" aria-relevant=\"additions text\">\n\t\t\t{items.map((notification) => {\n\t\t\t\tconst config = notificationConfig[notification.type];\n\t\t\t\tconst title = notification.title ?? config.title;\n\t\t\t\tconst Icon = config.Icon;\n\n\t\t\t\treturn (\n\t\t\t\t\t<article\n\t\t\t\t\t\tkey={notification.id}\n\t\t\t\t\t\trole={notification.type === \"error\" ? \"alert\" : \"status\"}\n\t\t\t\t\t\taria-atomic=\"true\"\n\t\t\t\t\t\tclassName={cn(styles.card, styles[notification.type])}>\n\t\t\t\t\t\t<FlexContainer align=\"start\" justify=\"between\" gap=\"sm\" className={styles.header}>\n\t\t\t\t\t\t\t<FlexContainer align=\"start\" gap=\"sm\" className={styles.content}>\n\t\t\t\t\t\t\t\t<span className={styles.icon} aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t<Icon />\n\t\t\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t\t\t<div className={styles.copy}>\n\t\t\t\t\t\t\t\t\t<div className={styles.kicker}>{config.title}</div>\n\t\t\t\t\t\t\t\t\t{notification.title ? <div className={styles.title}>{title}</div> : null}\n\t\t\t\t\t\t\t\t\t<div className={styles.message}>{notification.message}</div>\n\n\t\t\t\t\t\t\t\t\t{notification.actions?.length ? (\n\t\t\t\t\t\t\t\t\t\t<div className={styles.actions}>\n\t\t\t\t\t\t\t\t\t\t\t{notification.actions.map((action) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={action.label}\n\t\t\t\t\t\t\t\t\t\t\t\t\ttone={action.tone ?? notification.type}\n\t\t\t\t\t\t\t\t\t\t\t\t\tappearance=\"outline\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata-ui=\"notification-action-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tdata-action=\"notification-action\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => void action.onClick()}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{action.label}\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</FlexContainer>\n\n\t\t\t\t\t\t\t{notification.dismissible !== false ? (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ticon={<XIcon />}\n\t\t\t\t\t\t\t\t\tappearance=\"ghost\"\n\t\t\t\t\t\t\t\t\ttone={notification.type}\n\t\t\t\t\t\t\t\t\tonClick={() => dismiss(notification.id)}\n\t\t\t\t\t\t\t\t\taria-label=\"Закрыть уведомление\"\n\t\t\t\t\t\t\t\t\tdata-ui=\"notification-dismiss-button\"\n\t\t\t\t\t\t\t\t\tdata-action=\"dismiss-notification\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</FlexContainer>\n\t\t\t\t\t</article>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}