@ryuzaki13/react-foundation-ui 1.0.7 → 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 (633) 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-uvFboXlh.js → TextEditorLexicalClient-Bca3FOUs.js} +8 -8
  11. package/dist/chunks/{TextEditorLexicalClient-uvFboXlh.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-CaKGXluL.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-BYUl3UFn.js → input-CZLUUggm.js} +12 -4
  31. package/dist/chunks/input-CZLUUggm.js.map +1 -0
  32. package/dist/chunks/{InputFiles-gIxOPv5y.js → input-files-aB8iaqGk.js} +5 -5
  33. package/dist/chunks/input-files-aB8iaqGk.js.map +1 -0
  34. package/dist/chunks/{input-search-BR4LDmyb.js → input-search-eMvnvgV0.js} +2 -2
  35. package/dist/chunks/{input-search-BR4LDmyb.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-DGXq3ikg.js → picker-beNX-cW9.js} +11 -11
  43. package/dist/chunks/{picker-DGXq3ikg.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/Input.d.ts +2 -2
  74. package/dist/input/Input.d.ts.map +1 -1
  75. package/dist/input/index.js +2 -14
  76. package/dist/input-date-time/index.js +258 -2
  77. package/dist/input-date-time/index.js.map +1 -0
  78. package/dist/input-file/index.js +105 -2
  79. package/dist/input-file/index.js.map +1 -0
  80. package/dist/input-files/index.js +1 -1
  81. package/dist/input-image/index.js +100 -2
  82. package/dist/input-image/index.js.map +1 -0
  83. package/dist/input-search/index.js +1 -1
  84. package/dist/layout-picker/index.js +1171 -2
  85. package/dist/layout-picker/index.js.map +1 -0
  86. package/dist/list/index.js +2 -2
  87. package/dist/listbox/index.js +81 -2
  88. package/dist/listbox/index.js.map +1 -0
  89. package/dist/misc/index.js +1 -1
  90. package/dist/modal/index.js +1 -1
  91. package/dist/multi-select/index.js +2 -3
  92. package/dist/notifications/index.js +151 -3
  93. package/dist/notifications/index.js.map +1 -0
  94. package/dist/picker/index.js +1 -1
  95. package/dist/preset-range-date-input/index.js +52 -3
  96. package/dist/preset-range-date-input/index.js.map +1 -1
  97. package/dist/preset-select/index.js +1 -1
  98. package/dist/radio-button/index.js +48 -2
  99. package/dist/radio-button/index.js.map +1 -0
  100. package/dist/radio-group/index.js +1 -1
  101. package/dist/select/index.js +2 -4
  102. package/dist/simple-table/index.js +1 -1
  103. package/dist/slider/index.js +695 -2
  104. package/dist/slider/index.js.map +1 -0
  105. package/dist/splitter/index.js +168 -2
  106. package/dist/splitter/index.js.map +1 -0
  107. package/dist/state-select/index.js +78 -2
  108. package/dist/state-select/index.js.map +1 -0
  109. package/dist/styles.css +1 -1
  110. package/dist/switch/index.js +81 -2
  111. package/dist/switch/index.js.map +1 -0
  112. package/dist/table/index.js +1 -1
  113. package/dist/table-sorting/index.js +1 -1
  114. package/dist/tabs/index.js +384 -2
  115. package/dist/tabs/index.js.map +1 -0
  116. package/dist/text-editor/index.js +3 -3
  117. package/dist/text-editor/toolbar/index.js +1 -1
  118. package/dist/textarea/index.js +44 -2
  119. package/dist/textarea/index.js.map +1 -0
  120. package/dist/toggle/index.js +73 -2
  121. package/dist/toggle/index.js.map +1 -0
  122. package/dist/toolbar/index.js +2 -3
  123. package/dist/toolbar/index.js.map +1 -1
  124. package/dist/tree-select/index.js +569 -89
  125. package/dist/tree-select/index.js.map +1 -1
  126. package/dist/tree-table/index.js +1 -1
  127. package/package.json +5 -304
  128. package/src/styles/_base.scss +11 -3
  129. package/src/styles/config/_index.scss +21 -37
  130. package/src/styles/themes/dark/_default.scss +0 -17
  131. package/storybook-static/assets/Badge-Cr7bAbxa.css +1 -0
  132. package/storybook-static/assets/Badge-Q8iX86Mn.js +139 -0
  133. package/storybook-static/assets/Badge.stories-BEMBzR2f.js +51 -0
  134. package/storybook-static/assets/Button-BN8Cuwsy.css +1 -0
  135. package/storybook-static/assets/Button-BUkCW8Zg.js +12 -0
  136. package/storybook-static/assets/Button-CfX05aoR.js +124 -0
  137. package/storybook-static/assets/Button.stories-BoNLZb6w.js +75 -0
  138. package/storybook-static/assets/CheckBox-B1xm2kwz.css +1 -0
  139. package/storybook-static/assets/CheckBox-CcXGzkSE.js +42 -0
  140. package/storybook-static/assets/CheckBox-DTSi8Yok.js +2 -0
  141. package/storybook-static/assets/CheckBox.module-Hr3mvdAC.js +1 -0
  142. package/storybook-static/assets/CheckBox.stories-Bo53TxC7.js +60 -0
  143. package/storybook-static/assets/Color-KMSTOMOX-Mbprgrbi.js +1 -0
  144. package/storybook-static/assets/ContextMenu-DYlSojIE.js +40 -0
  145. package/storybook-static/assets/ContextMenu.stories-BJr53bsq.js +90 -0
  146. package/storybook-static/assets/DateInput-Bc-MiPp1.css +1 -0
  147. package/storybook-static/assets/DateInput-BrmilavO.js +40 -0
  148. package/storybook-static/assets/DateInput-C72jV86j.js +1 -0
  149. package/storybook-static/assets/DateInput.stories-0hU_T1iZ.js +115 -0
  150. package/storybook-static/assets/DateRangePresetSelect-BklzgpCR.js +3 -0
  151. package/storybook-static/assets/DateRangePresetSelect-C7gJVkMB.js +30 -0
  152. package/storybook-static/assets/DateRangePresetSelect.stories-DQKDcAdP.js +11 -0
  153. package/storybook-static/assets/Detail-BKSBSfTO.css +1 -0
  154. package/storybook-static/assets/Detail-BMu0MY4h.js +40 -0
  155. package/storybook-static/assets/Detail.stories-CgBJjWQd.js +44 -0
  156. package/storybook-static/assets/Dialog-M7Uy3LiO.js +40 -0
  157. package/storybook-static/assets/Dialog.stories-BZ0opvaJ.js +31 -0
  158. package/storybook-static/assets/Disclosure-BXnfHC6v.js +29 -0
  159. package/storybook-static/assets/Disclosure-zNgXNDkm.css +1 -0
  160. package/storybook-static/assets/Disclosure.stories-C7wh6KJU.js +35 -0
  161. package/storybook-static/assets/DocsRenderer-JROSPFPF-BjXFJaat.js +2 -0
  162. package/storybook-static/assets/DropZone-C7HIN5ml.css +1 -0
  163. package/storybook-static/assets/DropZone-cd1aCNT1.js +36 -0
  164. package/storybook-static/assets/DropZone.stories-CVu731Lk.js +44 -0
  165. package/storybook-static/assets/DropdownMenu-B97Ad5Dg.js +1 -0
  166. package/storybook-static/assets/DropdownMenu-BgzIzwzM.css +1 -0
  167. package/storybook-static/assets/ExpandableActionPanel-D7q9two4.css +1 -0
  168. package/storybook-static/assets/ExpandableActionPanel.stories-k-eTxMyV.js +20 -0
  169. package/storybook-static/assets/Flex-BQkqAqL5.js +61 -0
  170. package/storybook-static/assets/Flex-C_VnI9xY.js +3 -0
  171. package/storybook-static/assets/Flex-IXK2se1Y.css +1 -0
  172. package/storybook-static/assets/Flex.stories-C1VO9Ct3.js +300 -0
  173. package/storybook-static/assets/Grid-Dr3BuEgd.js +61 -0
  174. package/storybook-static/assets/Grid-K9R_IHaw.css +1 -0
  175. package/storybook-static/assets/Grid-y8wKyEwc.js +163 -0
  176. package/storybook-static/assets/Grid.stories-6WUp6Tof.js +495 -0
  177. package/storybook-static/assets/Input-B7DWcGCL.js +3 -0
  178. package/storybook-static/assets/Input-BioMOZju.css +1 -0
  179. package/storybook-static/assets/Input-yly8wxYE.js +39 -0
  180. package/storybook-static/assets/Input.stories-CkVqvY-C.js +38 -0
  181. package/storybook-static/assets/InputDateTime-Cv8gmBe0.css +1 -0
  182. package/storybook-static/assets/InputDateTime-DHirw8rp.js +39 -0
  183. package/storybook-static/assets/InputDateTime.stories-Dci_81MA.js +35 -0
  184. package/storybook-static/assets/InputFile-DBFfWIkJ.js +37 -0
  185. package/storybook-static/assets/InputFile-hNjZ_wlG.css +1 -0
  186. package/storybook-static/assets/InputFile.stories-Bar27dP5.js +36 -0
  187. package/storybook-static/assets/InputFiles-ByK52qUe.css +1 -0
  188. package/storybook-static/assets/InputFiles-DPz7PiOC.js +1 -0
  189. package/storybook-static/assets/InputFiles-tULKp1KR.js +37 -0
  190. package/storybook-static/assets/InputFiles.stories-CkZ8et32.js +33 -0
  191. package/storybook-static/assets/InputImage-C-pnIXhT.css +1 -0
  192. package/storybook-static/assets/InputImage-D8VckxKl.js +37 -0
  193. package/storybook-static/assets/InputImage.stories-Dq8ORce3.js +51 -0
  194. package/storybook-static/assets/LayoutPicker-9tLTatHF.css +1 -0
  195. package/storybook-static/assets/LayoutPicker-l3XFAkqv.js +65 -0
  196. package/storybook-static/assets/LayoutPicker.stories-BjUmm2cg.js +449 -0
  197. package/storybook-static/assets/Listbox-B_6QVPAJ.js +38 -0
  198. package/storybook-static/assets/Listbox.stories-Cf_ApbmT.js +47 -0
  199. package/storybook-static/assets/Modal-BL_cTIW7.css +1 -0
  200. package/storybook-static/assets/Modal-BzienAaa.js +54 -0
  201. package/storybook-static/assets/Modal.stories-cPIHRa9a.js +180 -0
  202. package/storybook-static/assets/MultiSelect-CK2D25RA.js +56 -0
  203. package/storybook-static/assets/MultiSelect-CUQV67Ev.css +1 -0
  204. package/storybook-static/assets/MultiSelect-CjGBd2pC.js +2 -0
  205. package/storybook-static/assets/MultiSelect.stories--f_FoBzR.js +29 -0
  206. package/storybook-static/assets/NotificationsHost-D5Pvn4eu.css +1 -0
  207. package/storybook-static/assets/NotificationsHost-DKmlmqh0.js +44 -0
  208. package/storybook-static/assets/NotificationsHost.stories-1bPUJXfm.js +25 -0
  209. package/storybook-static/assets/ODataMultiSelect-BWUXuzlr.js +53 -0
  210. package/storybook-static/assets/ODataMultiSelect.stories-DA0f6SUG.js +73 -0
  211. package/storybook-static/assets/ODataSelect-D7GAFOcM.js +1 -0
  212. package/storybook-static/assets/ODataSelect-aNdHSjo_.js +52 -0
  213. package/storybook-static/assets/ODataSelect.stories-CjXA9Y9l.js +73 -0
  214. package/storybook-static/assets/ODataTreeMultiSelect-DKodulQ8.js +17 -0
  215. package/storybook-static/assets/ODataTreeMultiSelect.stories-BjRcb4W0.js +24 -0
  216. package/storybook-static/assets/ODataTreeSelect-Ck8HCh74.js +16 -0
  217. package/storybook-static/assets/ODataTreeSelect.stories-BgDj08mH.js +21 -0
  218. package/storybook-static/assets/PeriodSelect-Db7QmUfi.js +35 -0
  219. package/storybook-static/assets/PeriodSelect.stories-BI6yLRCK.js +23 -0
  220. package/storybook-static/assets/Popover-DR-r8iC5.js +45 -0
  221. package/storybook-static/assets/Popover.stories-ReRFMWiO.js +69 -0
  222. package/storybook-static/assets/PresetRangeDateInput-tSpiPAT9.js +31 -0
  223. package/storybook-static/assets/PresetRangeDateInput.stories-LVQa2_DG.js +15 -0
  224. package/storybook-static/assets/RadioButton-C-RjN-wY.css +1 -0
  225. package/storybook-static/assets/RadioButton-sEzdlL1y.js +38 -0
  226. package/storybook-static/assets/RadioButton.stories-CR0km0zF.js +36 -0
  227. package/storybook-static/assets/RadioGroup-BtNCd3Je.js +1 -0
  228. package/storybook-static/assets/RadioGroup-D-J7t20C.css +1 -0
  229. package/storybook-static/assets/RadioGroup-DR0H6Z0w.js +42 -0
  230. package/storybook-static/assets/RadioGroup.stories-FEqmkrs7.js +42 -0
  231. package/storybook-static/assets/Select-CO4ZHP9h.css +1 -0
  232. package/storybook-static/assets/Select-CUAevk01.js +57 -0
  233. package/storybook-static/assets/Select-DYVS7SCZ.js +9 -0
  234. package/storybook-static/assets/Select.stories-Df_c0IfC.js +37 -0
  235. package/storybook-static/assets/SelectOptionContent-B7W0Mned.js +1 -0
  236. package/storybook-static/assets/SerializableSelect-D63xBqOT.js +48 -0
  237. package/storybook-static/assets/SerializableSelect-DwCnuBgv.js +4 -0
  238. package/storybook-static/assets/SerializableSelect.stories-BLPXVOtP.js +43 -0
  239. package/storybook-static/assets/SingleDateTimeInput-mOllNfg2.css +1 -0
  240. package/storybook-static/assets/SingleDateTimeInput-xMkDodYz.js +53 -0
  241. package/storybook-static/assets/SingleDateTimeInput.stories-kcuSwx76.js +78 -0
  242. package/storybook-static/assets/Slider-BHZgpCjC.js +63 -0
  243. package/storybook-static/assets/Slider.stories-Bias_Soq.js +77 -0
  244. package/storybook-static/assets/SliderInput-jzFZcWr7.js +58 -0
  245. package/storybook-static/assets/SliderInput.stories-B7w8bp86.js +67 -0
  246. package/storybook-static/assets/Sortable-DcmDaPBw.js +72 -0
  247. package/storybook-static/assets/Sortable.stories-CwhHGCih.js +141 -0
  248. package/storybook-static/assets/Splitter-Bn7AJiD_.js +83 -0
  249. package/storybook-static/assets/Splitter-D-LmmQad.css +1 -0
  250. package/storybook-static/assets/Splitter.stories-CSvjKF-O.js +22 -0
  251. package/storybook-static/assets/StateSelect-MIGiXD10.js +36 -0
  252. package/storybook-static/assets/StateSelect-pIMkhj9A.css +1 -0
  253. package/storybook-static/assets/StateSelect.stories-BGDCnVqb.js +47 -0
  254. package/storybook-static/assets/Switch-C5zxOq_O.js +36 -0
  255. package/storybook-static/assets/Switch-DGYGWtPw.css +1 -0
  256. package/storybook-static/assets/Switch.stories-BmCl_Ts5.js +26 -0
  257. package/storybook-static/assets/Table-BGvRn9y0.css +1 -0
  258. package/storybook-static/assets/Table-CoySXvs5.js +197 -0
  259. package/storybook-static/assets/Table.stories-CA7ARhwC.js +122 -0
  260. package/storybook-static/assets/Tabs-BLkTB6pp.css +1 -0
  261. package/storybook-static/assets/Tabs-CQdzU18E.js +72 -0
  262. package/storybook-static/assets/Tabs.stories-SBWTpiy2.js +58 -0
  263. package/storybook-static/assets/Textarea-Bo-I0cnE.js +37 -0
  264. package/storybook-static/assets/Textarea-CPNMR88I.css +1 -0
  265. package/storybook-static/assets/Textarea.stories-C1wO9PKR.js +27 -0
  266. package/storybook-static/assets/TimePanel-0-mzaXky.js +1 -0
  267. package/storybook-static/assets/TimePanel-Bh98qsCo.css +1 -0
  268. package/storybook-static/assets/TimePanel.stories-C1VM13qN.js +25 -0
  269. package/storybook-static/assets/Toggle-B9H63WWC.js +37 -0
  270. package/storybook-static/assets/Toggle-DHulCX3T.css +1 -0
  271. package/storybook-static/assets/Toggle.stories-CKlGFcZW.js +30 -0
  272. package/storybook-static/assets/TreeMultiSelect-AXIl2Ge2.js +15 -0
  273. package/storybook-static/assets/TreeMultiSelect-Ci3bUpmv.js +1 -0
  274. package/storybook-static/assets/TreeMultiSelect.stories-CXGt4Q_u.js +14 -0
  275. package/storybook-static/assets/TreePickerBase-Md6Mt9qF.js +19 -0
  276. package/storybook-static/assets/TreePickerBase-qreyVjhY.css +1 -0
  277. package/storybook-static/assets/TreeSelect-BWoURakw.js +15 -0
  278. package/storybook-static/assets/TreeSelect-bOgRYtQQ.js +1 -0
  279. package/storybook-static/assets/TreeSelect.stories-By0h6wRi.js +16 -0
  280. package/storybook-static/assets/TreeTable--ZoksUiw.css +1 -0
  281. package/storybook-static/assets/TreeTable-C52Jh7O_.js +175 -0
  282. package/storybook-static/assets/TreeTable.stories-BH9Q8NPP.js +83 -0
  283. package/storybook-static/assets/WithTooltip-7X4HQR7L-DQXHhZoH.js +9 -0
  284. package/storybook-static/assets/axe-GLfyhAYL.js +20 -0
  285. package/storybook-static/assets/base-table-BNO0lnTL.css +1 -0
  286. package/storybook-static/assets/base-table-BSkQBgdx.js +18 -0
  287. package/storybook-static/assets/blocks-CwEU-ME1.js +285 -0
  288. package/storybook-static/assets/button-Bl3Hu8CS.js +1 -0
  289. package/storybook-static/assets/check-box-BrnNQnSi.js +1 -0
  290. package/storybook-static/assets/chunk-242VQQM5-Dtm7LRbQ.js +1 -0
  291. package/storybook-static/assets/chunk-3LY4VQVK-BxHCYS2R.js +6 -0
  292. package/storybook-static/assets/chunk-LITCR56V-euffoZAN.js +18 -0
  293. package/storybook-static/assets/contextMenu-Do6qEwKB.js +2 -0
  294. package/storybook-static/assets/date-segments-CzU9k5bl.js +1 -0
  295. package/storybook-static/assets/error-RVOk7zpw.js +1 -0
  296. package/storybook-static/assets/file-hArYcyES.js +1 -0
  297. package/storybook-static/assets/flex-DuYzsEBQ.js +1 -0
  298. package/storybook-static/assets/floating-ui.react-BR04wkLx.js +1 -0
  299. package/storybook-static/assets/formatter-L2YTDE3Q-Cdp-Jp2M.js +1 -0
  300. package/storybook-static/assets/formatters-yIBztcem.js +3 -0
  301. package/storybook-static/assets/grid-D0WOuGlB.js +1 -0
  302. package/storybook-static/assets/hooks-BEB2Gqy0.js +5 -0
  303. package/storybook-static/assets/iframe-SfMJGCsn.js +1117 -0
  304. package/storybook-static/assets/input-Be5K9_B7.js +1 -0
  305. package/storybook-static/assets/jsx-runtime-BBQGix-2.js +1 -0
  306. package/storybook-static/assets/lucide-react-CK2oyDtF.js +1 -0
  307. package/storybook-static/assets/matchers-JIUQ3HVY-BPS-eazD.js +28 -0
  308. package/storybook-static/assets/mdx-react-shim-DnKFgFHy.js +1 -0
  309. package/storybook-static/assets/media-Djn0SUaN.js +1 -0
  310. package/storybook-static/assets/misc-CPvLzCFJ.js +5 -0
  311. package/storybook-static/assets/misc-CerLA5Xh.css +1 -0
  312. package/storybook-static/assets/notifications-Zk996KvR.js +1 -0
  313. package/storybook-static/assets/odata-C2BNbnc9.js +1 -0
  314. package/storybook-static/assets/odata-service-8sDCOQ3I.js +1 -0
  315. package/storybook-static/assets/odataStoryFixtures-BBfdskiC.js +25 -0
  316. package/storybook-static/assets/picker-BmTTr59E.css +1 -0
  317. package/storybook-static/assets/picker-De4ZbESe.js +1 -0
  318. package/storybook-static/assets/popover-BiQHI7Wi.css +1 -0
  319. package/storybook-static/assets/popover-DWA5VOMQ.js +2 -0
  320. package/storybook-static/assets/preload-helper-B45gAKPr.js +1 -0
  321. package/storybook-static/assets/preset-select-DozCGhmu.js +5 -0
  322. package/storybook-static/assets/react-18-CfpYK14y.js +9 -0
  323. package/storybook-static/assets/react-BWN-5oQj.js +9 -0
  324. package/storybook-static/assets/react-dom-CncQzc_h.js +1 -0
  325. package/storybook-static/assets/select-BPvMbVDe.js +1 -0
  326. package/storybook-static/assets/slider-39Mty47U.js +2 -0
  327. package/storybook-static/assets/slider-DMDFRH6B.css +1 -0
  328. package/storybook-static/assets/sortable-CgCCp3dq.js +1 -0
  329. package/storybook-static/assets/sortable-DiBavgm0.css +1 -0
  330. package/storybook-static/assets/syntaxhighlighter-RTCFPKCB-Di6cCrDX.js +6 -0
  331. package/storybook-static/assets/text-BxA8yj6Z.js +4 -0
  332. package/storybook-static/assets/theming-DZauqOKI.js +39 -0
  333. package/storybook-static/assets/treeStoryFixtures-Cd984L7t.js +1 -0
  334. package/storybook-static/assets/ui-CmVy0trY.js +1 -0
  335. package/storybook-static/assets/ui-ZWM9zG1I.css +1 -0
  336. package/storybook-static/assets/ui.module-DS2qtZts.js +1 -0
  337. package/storybook-static/assets/uiClasses-CZ_HVS3Y.js +1 -0
  338. package/storybook-static/assets/useODataSelectBase-D33B4x2W.js +1 -0
  339. package/storybook-static/assets/useODataTreeData-CDdzN-LC.js +1 -0
  340. package/storybook-static/assets/utils-CReRlw17.js +1 -0
  341. package/storybook-static/favicon-wrapper.svg +46 -0
  342. package/storybook-static/favicon.svg +1 -0
  343. package/storybook-static/iframe.html +709 -0
  344. package/storybook-static/index.html +146 -0
  345. package/storybook-static/index.json +1 -0
  346. package/storybook-static/nunito-sans-bold-italic.woff2 +0 -0
  347. package/storybook-static/nunito-sans-bold.woff2 +0 -0
  348. package/storybook-static/nunito-sans-italic.woff2 +0 -0
  349. package/storybook-static/nunito-sans-regular.woff2 +0 -0
  350. package/storybook-static/project.json +1 -0
  351. package/storybook-static/sb-addons/a11y-2/manager-bundle.js +57 -0
  352. package/storybook-static/sb-addons/docs-1/manager-bundle.js +3 -0
  353. package/storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +630 -0
  354. package/storybook-static/sb-common-assets/favicon-wrapper.svg +46 -0
  355. package/storybook-static/sb-common-assets/favicon.svg +1 -0
  356. package/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  357. package/storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  358. package/storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  359. package/storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  360. package/storybook-static/sb-manager/globals-runtime.js +76714 -0
  361. package/storybook-static/sb-manager/globals.js +24 -0
  362. package/storybook-static/sb-manager/manager-stores.js +23 -0
  363. package/storybook-static/sb-manager/runtime.js +27451 -0
  364. package/storybook-static/vite-inject-mocker-entry.js +2 -0
  365. package/dist/badge/stories/Badge.stories.d.ts +0 -54
  366. package/dist/badge/stories/Badge.stories.d.ts.map +0 -1
  367. package/dist/badge/stories/Badge.stories.js +0 -147
  368. package/dist/badge/stories/Badge.stories.js.map +0 -1
  369. package/dist/button/index.js.map +0 -1
  370. package/dist/button/stories/Button.stories.d.ts +0 -69
  371. package/dist/button/stories/Button.stories.d.ts.map +0 -1
  372. package/dist/button/stories/Button.stories.js +0 -223
  373. package/dist/button/stories/Button.stories.js.map +0 -1
  374. package/dist/check-box/stories/CheckBox.stories.d.ts +0 -58
  375. package/dist/check-box/stories/CheckBox.stories.d.ts.map +0 -1
  376. package/dist/check-box/stories/CheckBox.stories.js +0 -150
  377. package/dist/check-box/stories/CheckBox.stories.js.map +0 -1
  378. package/dist/chunks/BadgeList-DYgun2rf.js.map +0 -1
  379. package/dist/chunks/Button-CCWuggdA.js +0 -55
  380. package/dist/chunks/Button-CCWuggdA.js.map +0 -1
  381. package/dist/chunks/CheckBox-BowNqqd3.js.map +0 -1
  382. package/dist/chunks/DateInput-CaKGXluL.js.map +0 -1
  383. package/dist/chunks/DateRangePresetSelect-UgsfaOeM.js.map +0 -1
  384. package/dist/chunks/Detail-DHDMsg8q.js +0 -80
  385. package/dist/chunks/Detail-DHDMsg8q.js.map +0 -1
  386. package/dist/chunks/Dialog-CFIvGxER.js +0 -50
  387. package/dist/chunks/Dialog-CFIvGxER.js.map +0 -1
  388. package/dist/chunks/DisclosureGroup-CfRTkl6Z.js +0 -49
  389. package/dist/chunks/DisclosureGroup-CfRTkl6Z.js.map +0 -1
  390. package/dist/chunks/DropZone-DdFdnC9X.js +0 -98
  391. package/dist/chunks/DropZone-DdFdnC9X.js.map +0 -1
  392. package/dist/chunks/DropdownMenu-DQeR3y7M.js.map +0 -1
  393. package/dist/chunks/Input-BYUl3UFn.js.map +0 -1
  394. package/dist/chunks/InputDateTime-DBkWb0lk.js +0 -258
  395. package/dist/chunks/InputDateTime-DBkWb0lk.js.map +0 -1
  396. package/dist/chunks/InputFile-Bo3CN73O.js +0 -105
  397. package/dist/chunks/InputFile-Bo3CN73O.js.map +0 -1
  398. package/dist/chunks/InputFiles-gIxOPv5y.js.map +0 -1
  399. package/dist/chunks/InputImage-k4l1J_tm.js +0 -100
  400. package/dist/chunks/InputImage-k4l1J_tm.js.map +0 -1
  401. package/dist/chunks/LabeledExpandableActionPanel-D3kUvmFH.js +0 -82
  402. package/dist/chunks/LabeledExpandableActionPanel-D3kUvmFH.js.map +0 -1
  403. package/dist/chunks/Listbox-BZlp5qHz.js +0 -81
  404. package/dist/chunks/Listbox-BZlp5qHz.js.map +0 -1
  405. package/dist/chunks/MultiSelect-B0nfMSpS.js +0 -422
  406. package/dist/chunks/MultiSelect-B0nfMSpS.js.map +0 -1
  407. package/dist/chunks/NotificationsHost-_icJx4xR.js +0 -151
  408. package/dist/chunks/NotificationsHost-_icJx4xR.js.map +0 -1
  409. package/dist/chunks/PresetRangeDateInput-C5HqkOCG.js +0 -53
  410. package/dist/chunks/PresetRangeDateInput-C5HqkOCG.js.map +0 -1
  411. package/dist/chunks/RadioButton-D0uA0rX_.js +0 -48
  412. package/dist/chunks/RadioButton-D0uA0rX_.js.map +0 -1
  413. package/dist/chunks/RadioGroup-B9XjkcOy.js.map +0 -1
  414. package/dist/chunks/Select-B6kxgxK2.js +0 -182
  415. package/dist/chunks/Select-B6kxgxK2.js.map +0 -1
  416. package/dist/chunks/SelectOptionContent-CI7wq9Oi.js +0 -27
  417. package/dist/chunks/SelectOptionContent-CI7wq9Oi.js.map +0 -1
  418. package/dist/chunks/SerializableSelect-CVGFjCGK.js +0 -33
  419. package/dist/chunks/SerializableSelect-CVGFjCGK.js.map +0 -1
  420. package/dist/chunks/SingleDateTimeInput-D2fDMQnI.js +0 -331
  421. package/dist/chunks/SingleDateTimeInput-D2fDMQnI.js.map +0 -1
  422. package/dist/chunks/Splitter-BFkVGVRb.js +0 -168
  423. package/dist/chunks/Splitter-BFkVGVRb.js.map +0 -1
  424. package/dist/chunks/StateSelect-CEp7kGGg.js +0 -78
  425. package/dist/chunks/StateSelect-CEp7kGGg.js.map +0 -1
  426. package/dist/chunks/Switch-B57Qmy1z.js +0 -81
  427. package/dist/chunks/Switch-B57Qmy1z.js.map +0 -1
  428. package/dist/chunks/Textarea-T8gXua35.js +0 -44
  429. package/dist/chunks/Textarea-T8gXua35.js.map +0 -1
  430. package/dist/chunks/TimePanel-b4saqoUY.js +0 -135
  431. package/dist/chunks/TimePanel-b4saqoUY.js.map +0 -1
  432. package/dist/chunks/Toggle-DVqOQXmt.js +0 -73
  433. package/dist/chunks/Toggle-DVqOQXmt.js.map +0 -1
  434. package/dist/chunks/TreeMultiSelect-BcPr2Phe.js +0 -40
  435. package/dist/chunks/TreeMultiSelect-BcPr2Phe.js.map +0 -1
  436. package/dist/chunks/TreePickerBase-ClXn2q3u.js +0 -423
  437. package/dist/chunks/TreePickerBase-ClXn2q3u.js.map +0 -1
  438. package/dist/chunks/TreeSelect-DYWkgryS.js +0 -37
  439. package/dist/chunks/TreeSelect-DYWkgryS.js.map +0 -1
  440. package/dist/chunks/layout-picker-C1sizRYa.js +0 -1171
  441. package/dist/chunks/layout-picker-C1sizRYa.js.map +0 -1
  442. package/dist/chunks/multi-select-DCY3fonG.js +0 -126
  443. package/dist/chunks/multi-select-DCY3fonG.js.map +0 -1
  444. package/dist/chunks/odata-DSW7z3nh.js.map +0 -1
  445. package/dist/chunks/select-Di99RAVO.js +0 -81
  446. package/dist/chunks/select-Di99RAVO.js.map +0 -1
  447. package/dist/chunks/slider-BqeYbdrg.js +0 -695
  448. package/dist/chunks/slider-BqeYbdrg.js.map +0 -1
  449. package/dist/chunks/tabs-DlnVVMJl.js +0 -384
  450. package/dist/chunks/tabs-DlnVVMJl.js.map +0 -1
  451. package/dist/chunks/treeStoryFixtures-Bhm3Gdky.js +0 -113
  452. package/dist/chunks/treeStoryFixtures-Bhm3Gdky.js.map +0 -1
  453. package/dist/context-menu/stories/ContextMenu.stories.d.ts +0 -16
  454. package/dist/context-menu/stories/ContextMenu.stories.d.ts.map +0 -1
  455. package/dist/context-menu/stories/ContextMenu.stories.js +0 -136
  456. package/dist/context-menu/stories/ContextMenu.stories.js.map +0 -1
  457. package/dist/date-input/stories/DateInput.stories.d.ts +0 -132
  458. package/dist/date-input/stories/DateInput.stories.d.ts.map +0 -1
  459. package/dist/date-input/stories/DateInput.stories.js +0 -247
  460. package/dist/date-input/stories/DateInput.stories.js.map +0 -1
  461. package/dist/date-range-preset-select/stories/DateRangePresetSelect.stories.d.ts +0 -22
  462. package/dist/date-range-preset-select/stories/DateRangePresetSelect.stories.d.ts.map +0 -1
  463. package/dist/date-range-preset-select/stories/DateRangePresetSelect.stories.js +0 -41
  464. package/dist/date-range-preset-select/stories/DateRangePresetSelect.stories.js.map +0 -1
  465. package/dist/date-time-input/stories/SingleDateTimeInput.stories.d.ts +0 -95
  466. package/dist/date-time-input/stories/SingleDateTimeInput.stories.d.ts.map +0 -1
  467. package/dist/date-time-input/stories/SingleDateTimeInput.stories.js +0 -195
  468. package/dist/date-time-input/stories/SingleDateTimeInput.stories.js.map +0 -1
  469. package/dist/date-time-input/stories/TimePanel.stories.d.ts +0 -26
  470. package/dist/date-time-input/stories/TimePanel.stories.d.ts.map +0 -1
  471. package/dist/date-time-input/stories/TimePanel.stories.js +0 -53
  472. package/dist/date-time-input/stories/TimePanel.stories.js.map +0 -1
  473. package/dist/detail/stories/Detail.stories.d.ts +0 -67
  474. package/dist/detail/stories/Detail.stories.d.ts.map +0 -1
  475. package/dist/detail/stories/Detail.stories.js +0 -170
  476. package/dist/detail/stories/Detail.stories.js.map +0 -1
  477. package/dist/dialog/stories/Dialog.stories.d.ts +0 -50
  478. package/dist/dialog/stories/Dialog.stories.d.ts.map +0 -1
  479. package/dist/dialog/stories/Dialog.stories.js +0 -89
  480. package/dist/dialog/stories/Dialog.stories.js.map +0 -1
  481. package/dist/disclosure/stories/Disclosure.stories.d.ts +0 -35
  482. package/dist/disclosure/stories/Disclosure.stories.d.ts.map +0 -1
  483. package/dist/disclosure/stories/Disclosure.stories.js +0 -70
  484. package/dist/disclosure/stories/Disclosure.stories.js.map +0 -1
  485. package/dist/drop-zone/stories/DropZone.stories.d.ts +0 -63
  486. package/dist/drop-zone/stories/DropZone.stories.d.ts.map +0 -1
  487. package/dist/drop-zone/stories/DropZone.stories.js +0 -97
  488. package/dist/drop-zone/stories/DropZone.stories.js.map +0 -1
  489. package/dist/expandable-action-panel/stories/ExpandableActionPanel.stories.d.ts +0 -44
  490. package/dist/expandable-action-panel/stories/ExpandableActionPanel.stories.d.ts.map +0 -1
  491. package/dist/expandable-action-panel/stories/ExpandableActionPanel.stories.js +0 -117
  492. package/dist/expandable-action-panel/stories/ExpandableActionPanel.stories.js.map +0 -1
  493. package/dist/flex/index.js.map +0 -1
  494. package/dist/flex/stories/Flex.stories.d.ts +0 -24
  495. package/dist/flex/stories/Flex.stories.d.ts.map +0 -1
  496. package/dist/flex/stories/Flex.stories.js +0 -607
  497. package/dist/flex/stories/Flex.stories.js.map +0 -1
  498. package/dist/grid/stories/Grid.stories.d.ts +0 -24
  499. package/dist/grid/stories/Grid.stories.d.ts.map +0 -1
  500. package/dist/grid/stories/Grid.stories.js +0 -840
  501. package/dist/grid/stories/Grid.stories.js.map +0 -1
  502. package/dist/input/index.js.map +0 -1
  503. package/dist/input/stories/Input.stories.d.ts +0 -69
  504. package/dist/input/stories/Input.stories.d.ts.map +0 -1
  505. package/dist/input/stories/Input.stories.js +0 -132
  506. package/dist/input/stories/Input.stories.js.map +0 -1
  507. package/dist/input-date-time/stories/InputDateTime.stories.d.ts +0 -69
  508. package/dist/input-date-time/stories/InputDateTime.stories.d.ts.map +0 -1
  509. package/dist/input-date-time/stories/InputDateTime.stories.js +0 -125
  510. package/dist/input-date-time/stories/InputDateTime.stories.js.map +0 -1
  511. package/dist/input-file/stories/InputFile.stories.d.ts +0 -85
  512. package/dist/input-file/stories/InputFile.stories.d.ts.map +0 -1
  513. package/dist/input-file/stories/InputFile.stories.js +0 -158
  514. package/dist/input-file/stories/InputFile.stories.js.map +0 -1
  515. package/dist/input-files/stories/InputFiles.stories.d.ts +0 -86
  516. package/dist/input-files/stories/InputFiles.stories.d.ts.map +0 -1
  517. package/dist/input-files/stories/InputFiles.stories.js +0 -158
  518. package/dist/input-files/stories/InputFiles.stories.js.map +0 -1
  519. package/dist/input-image/stories/InputImage.stories.d.ts +0 -81
  520. package/dist/input-image/stories/InputImage.stories.d.ts.map +0 -1
  521. package/dist/input-image/stories/InputImage.stories.js +0 -174
  522. package/dist/input-image/stories/InputImage.stories.js.map +0 -1
  523. package/dist/layout-picker/stories/LayoutPicker.stories.d.ts +0 -873
  524. package/dist/layout-picker/stories/LayoutPicker.stories.d.ts.map +0 -1
  525. package/dist/layout-picker/stories/LayoutPicker.stories.js +0 -422
  526. package/dist/layout-picker/stories/LayoutPicker.stories.js.map +0 -1
  527. package/dist/listbox/stories/Listbox.stories.d.ts +0 -76
  528. package/dist/listbox/stories/Listbox.stories.d.ts.map +0 -1
  529. package/dist/listbox/stories/Listbox.stories.js +0 -140
  530. package/dist/listbox/stories/Listbox.stories.js.map +0 -1
  531. package/dist/modal/stories/Modal.stories.d.ts +0 -74
  532. package/dist/modal/stories/Modal.stories.d.ts.map +0 -1
  533. package/dist/modal/stories/Modal.stories.js +0 -320
  534. package/dist/modal/stories/Modal.stories.js.map +0 -1
  535. package/dist/multi-select/ui/stories/MultiSelect.stories.d.ts +0 -67
  536. package/dist/multi-select/ui/stories/MultiSelect.stories.d.ts.map +0 -1
  537. package/dist/multi-select/ui/stories/MultiSelect.stories.js +0 -114
  538. package/dist/multi-select/ui/stories/MultiSelect.stories.js.map +0 -1
  539. package/dist/multi-select/ui/stories/ODataMultiSelect.stories.d.ts +0 -44
  540. package/dist/multi-select/ui/stories/ODataMultiSelect.stories.d.ts.map +0 -1
  541. package/dist/notifications/ui/stories/NotificationsHost.stories.d.ts +0 -21
  542. package/dist/notifications/ui/stories/NotificationsHost.stories.d.ts.map +0 -1
  543. package/dist/notifications/ui/stories/NotificationsHost.stories.js +0 -326
  544. package/dist/notifications/ui/stories/NotificationsHost.stories.js.map +0 -1
  545. package/dist/period-select/stories/PeriodSelect.stories.d.ts +0 -96
  546. package/dist/period-select/stories/PeriodSelect.stories.d.ts.map +0 -1
  547. package/dist/period-select/stories/PeriodSelect.stories.js +0 -166
  548. package/dist/period-select/stories/PeriodSelect.stories.js.map +0 -1
  549. package/dist/popover/stories/Popover.stories.d.ts +0 -10
  550. package/dist/popover/stories/Popover.stories.d.ts.map +0 -1
  551. package/dist/popover/stories/Popover.stories.js +0 -75
  552. package/dist/popover/stories/Popover.stories.js.map +0 -1
  553. package/dist/preset-range-date-input/ui/stories/PresetRangeDateInput.stories.d.ts +0 -22
  554. package/dist/preset-range-date-input/ui/stories/PresetRangeDateInput.stories.d.ts.map +0 -1
  555. package/dist/preset-range-date-input/ui/stories/PresetRangeDateInput.stories.js +0 -45
  556. package/dist/preset-range-date-input/ui/stories/PresetRangeDateInput.stories.js.map +0 -1
  557. package/dist/radio-button/stories/RadioButton.stories.d.ts +0 -60
  558. package/dist/radio-button/stories/RadioButton.stories.d.ts.map +0 -1
  559. package/dist/radio-button/stories/RadioButton.stories.js +0 -121
  560. package/dist/radio-button/stories/RadioButton.stories.js.map +0 -1
  561. package/dist/radio-group/stories/RadioGroup.stories.d.ts +0 -74
  562. package/dist/radio-group/stories/RadioGroup.stories.d.ts.map +0 -1
  563. package/dist/radio-group/stories/RadioGroup.stories.js +0 -146
  564. package/dist/radio-group/stories/RadioGroup.stories.js.map +0 -1
  565. package/dist/select/stories/ODataSelect.stories.d.ts +0 -46
  566. package/dist/select/stories/ODataSelect.stories.d.ts.map +0 -1
  567. package/dist/select/stories/Select.stories.d.ts +0 -127
  568. package/dist/select/stories/Select.stories.d.ts.map +0 -1
  569. package/dist/select/stories/Select.stories.js +0 -214
  570. package/dist/select/stories/Select.stories.js.map +0 -1
  571. package/dist/select/stories/SerializableSelect.stories.d.ts +0 -91
  572. package/dist/select/stories/SerializableSelect.stories.d.ts.map +0 -1
  573. package/dist/select/stories/SerializableSelect.stories.js +0 -165
  574. package/dist/select/stories/SerializableSelect.stories.js.map +0 -1
  575. package/dist/select/stories/odataStoryCollection.d.ts +0 -2
  576. package/dist/select/stories/odataStoryCollection.d.ts.map +0 -1
  577. package/dist/select/stories/odataStoryFixtures.d.ts +0 -35
  578. package/dist/select/stories/odataStoryFixtures.d.ts.map +0 -1
  579. package/dist/slider/stories/Slider.stories.d.ts +0 -29
  580. package/dist/slider/stories/Slider.stories.d.ts.map +0 -1
  581. package/dist/slider/stories/Slider.stories.js +0 -310
  582. package/dist/slider/stories/Slider.stories.js.map +0 -1
  583. package/dist/slider/stories/SliderInput.stories.d.ts +0 -30
  584. package/dist/slider/stories/SliderInput.stories.d.ts.map +0 -1
  585. package/dist/slider/stories/SliderInput.stories.js +0 -282
  586. package/dist/slider/stories/SliderInput.stories.js.map +0 -1
  587. package/dist/sortable/stories/Sortable.stories.d.ts +0 -58
  588. package/dist/sortable/stories/Sortable.stories.d.ts.map +0 -1
  589. package/dist/sortable/stories/Sortable.stories.js +0 -255
  590. package/dist/sortable/stories/Sortable.stories.js.map +0 -1
  591. package/dist/splitter/stories/Splitter.stories.d.ts +0 -66
  592. package/dist/splitter/stories/Splitter.stories.d.ts.map +0 -1
  593. package/dist/splitter/stories/Splitter.stories.js +0 -223
  594. package/dist/splitter/stories/Splitter.stories.js.map +0 -1
  595. package/dist/state-select/stories/StateSelect.stories.d.ts +0 -70
  596. package/dist/state-select/stories/StateSelect.stories.d.ts.map +0 -1
  597. package/dist/state-select/stories/StateSelect.stories.js +0 -145
  598. package/dist/state-select/stories/StateSelect.stories.js.map +0 -1
  599. package/dist/switch/stories/Switch.stories.d.ts +0 -59
  600. package/dist/switch/stories/Switch.stories.d.ts.map +0 -1
  601. package/dist/switch/stories/Switch.stories.js +0 -90
  602. package/dist/switch/stories/Switch.stories.js.map +0 -1
  603. package/dist/table/stories/Table.stories.d.ts +0 -155
  604. package/dist/table/stories/Table.stories.d.ts.map +0 -1
  605. package/dist/tabs/stories/Tabs.stories.d.ts +0 -94
  606. package/dist/tabs/stories/Tabs.stories.d.ts.map +0 -1
  607. package/dist/tabs/stories/Tabs.stories.js +0 -283
  608. package/dist/tabs/stories/Tabs.stories.js.map +0 -1
  609. package/dist/textarea/stories/Textarea.stories.d.ts +0 -64
  610. package/dist/textarea/stories/Textarea.stories.d.ts.map +0 -1
  611. package/dist/textarea/stories/Textarea.stories.js +0 -98
  612. package/dist/textarea/stories/Textarea.stories.js.map +0 -1
  613. package/dist/toggle/stories/Toggle.stories.d.ts +0 -61
  614. package/dist/toggle/stories/Toggle.stories.d.ts.map +0 -1
  615. package/dist/toggle/stories/Toggle.stories.js +0 -102
  616. package/dist/toggle/stories/Toggle.stories.js.map +0 -1
  617. package/dist/tree-select/stories/ODataTreeMultiSelect.stories.d.ts +0 -55
  618. package/dist/tree-select/stories/ODataTreeMultiSelect.stories.d.ts.map +0 -1
  619. package/dist/tree-select/stories/ODataTreeSelect.stories.d.ts +0 -54
  620. package/dist/tree-select/stories/ODataTreeSelect.stories.d.ts.map +0 -1
  621. package/dist/tree-select/stories/TreeMultiSelect.stories.d.ts +0 -35
  622. package/dist/tree-select/stories/TreeMultiSelect.stories.d.ts.map +0 -1
  623. package/dist/tree-select/stories/TreeMultiSelect.stories.js +0 -64
  624. package/dist/tree-select/stories/TreeMultiSelect.stories.js.map +0 -1
  625. package/dist/tree-select/stories/TreeSelect.stories.d.ts +0 -35
  626. package/dist/tree-select/stories/TreeSelect.stories.d.ts.map +0 -1
  627. package/dist/tree-select/stories/TreeSelect.stories.js +0 -66
  628. package/dist/tree-select/stories/TreeSelect.stories.js.map +0 -1
  629. package/dist/tree-select/stories/treeStoryFixtures.d.ts +0 -3
  630. package/dist/tree-select/stories/treeStoryFixtures.d.ts.map +0 -1
  631. package/dist/tree-table/stories/TreeTable.stories.d.ts +0 -158
  632. package/dist/tree-table/stories/TreeTable.stories.d.ts.map +0 -1
  633. package/src/styles/fonts.scss +0 -47
@@ -0,0 +1,42 @@
1
+ import{i as e}from"./preload-helper-B45gAKPr.js";import{E as t,a as n,d as r,f as i,l as a,m as o,n as s,p as c,r as l,u}from"./blocks-CwEU-ME1.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-DnKFgFHy.js";import{Controlled as p,Disabled as m,Vertical as h,n as g,t as _}from"./RadioGroup.stories-FEqmkrs7.js";function v(e){let o={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...t(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(a,{of:_,parameters:{docs:{toc:!0}}}),`
2
+ `,(0,b.jsx)(c,{children:`RadioGroup`}),`
3
+ `,(0,b.jsx)(i,{children:`Группа взаимоисключающих опций с поддержкой горизонтальной и вертикальной раскладки`}),`
4
+ `,(0,b.jsx)(o.p,{children:`RadioGroup уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
5
+ Ниже можно быстро проверить базовый сценарий, а затем перейти к отдельным режимам использования и состояниям компонента. Отдельно разобраны контролируемые сценарии, заблокированные состояния.`}),`
6
+ `,(0,b.jsx)(o.h2,{id:`основной-сценарий`,children:`Основной сценарий`}),`
7
+ `,(0,b.jsx)(u,{}),`
8
+ `,(0,b.jsx)(n,{of:p}),`
9
+ `,(0,b.jsx)(o.pre,{children:(0,b.jsx)(o.code,{className:`language-tsx`,children:`import { useState } from "react";
10
+
11
+ import { RadioGroup } from "@/shared/ui";
12
+
13
+ export function Example() {
14
+ const [value, setValue] = useState("email");
15
+
16
+ return (
17
+ <RadioGroup label="Канал" value={value} onChange={setValue}>
18
+ <RadioGroup.Option value="email" label="Email" />
19
+ <RadioGroup.Option value="sms" label="SMS" />
20
+ </RadioGroup>
21
+ );
22
+ }
23
+ `})}),`
24
+ `,(0,b.jsx)(o.h2,{id:`практические-рекомендации`,children:`Практические рекомендации`}),`
25
+ `,(0,b.jsxs)(o.ul,{children:[`
26
+ `,(0,b.jsx)(o.li,{children:`Если состояние должно жить во внешней форме или модели, ориентируйтесь на контролируемый режим из документации.`}),`
27
+ `,(0,b.jsx)(o.li,{children:`Заблокированное состояние лучше проверять отдельно, чтобы убедиться, что визуально и поведенчески оно остается понятным.`}),`
28
+ `]}),`
29
+ `,(0,b.jsx)(o.h2,{id:`сценарии-использования`,children:`Сценарии использования`}),`
30
+ `,(0,b.jsx)(o.h3,{id:`компонент-работает-в-контролируемом-режиме-когда-состояние-хранится-во-внешнем-компоненте`,children:`Компонент работает в контролируемом режиме, когда состояние хранится во внешнем компоненте`}),`
31
+ `,(0,b.jsx)(o.p,{children:`Компонент работает в контролируемом режиме, когда состояние хранится во внешнем компоненте.`}),`
32
+ `,(0,b.jsx)(l,{of:p}),`
33
+ `,(0,b.jsx)(o.h3,{id:`вертикальная-ориентация-или-вертикальный-режим`,children:`Вертикальная ориентация или вертикальный режим`}),`
34
+ `,(0,b.jsx)(o.p,{children:`Вертикальная ориентация или вертикальный режим.`}),`
35
+ `,(0,b.jsx)(l,{of:h}),`
36
+ `,(0,b.jsx)(o.h3,{id:`проверка-поведения-в-заблокированном-состоянии`,children:`Проверка поведения в заблокированном состоянии`}),`
37
+ `,(0,b.jsx)(o.p,{children:`Проверка поведения в заблокированном состоянии.`}),`
38
+ `,(0,b.jsx)(l,{of:m}),`
39
+ `,(0,b.jsx)(o.h2,{id:`api`,children:`API`}),`
40
+ `,(0,b.jsx)(s,{of:_}),`
41
+ `,(0,b.jsx)(o.h2,{id:`все-сторисы`,children:`Все сторисы`}),`
42
+ `,(0,b.jsx)(r,{includePrimary:!1})]})}function y(e={}){let{wrapper:n}={...t(),...e.components};return n?(0,b.jsx)(n,{...e,children:(0,b.jsx)(v,{...e})}):v(e)}var b;e((()=>{b=d(),f(),o(),g()}))();export{y as default};
@@ -0,0 +1,42 @@
1
+ import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{C as r}from"./iframe-SfMJGCsn.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{n as a,t as o}from"./RadioGroup-BtNCd3Je.js";var s=e({Controlled:()=>f,Disabled:()=>m,Vertical:()=>p,__namedExportsOrder:()=>h,default:()=>d});function c(e){return(0,u.jsx)(o,{...e})}var l,u,d,f,p,m,h,g=n((()=>{l=t(r(),1),a(),u=i(),d={title:`Shared/UI/RadioGroup`,component:c,args:{value:`email`,onChange:()=>{},orientation:`horizontal`,label:`Канал уведомлений`,description:`Выберите основной канал доставки`,disabled:!1},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{value:{description:`Текущее выбранное значение.`,control:`text`},onChange:{description:`Вызывается при смене выбранной опции.`,control:!1},label:{description:`Заголовок группы опций.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},disabled:{description:`Блокирует выбор опций.`,control:`boolean`},noWrap:{description:`Запрещает перенос опций на новую строку.`,control:`boolean`},orientation:{description:`Ориентация расположения опций.`,control:`inline-radio`,options:[`horizontal`,`vertical`]},className:{description:`Дополнительный CSS-класс контейнера.`,control:`text`},children:{description:"Элементы `RadioGroup.Option` внутри группы.",control:!1}}},f={render:e=>{let[t,n]=(0,l.useState)(`email`);return(0,u.jsxs)(`div`,{style:{display:`grid`,gap:10},children:[(0,u.jsxs)(c,{...e,value:t,onChange:n,children:[(0,u.jsx)(o.Option,{value:`email`,label:`Email`,description:`Письма на корпоративную почту`}),(0,u.jsx)(o.Option,{value:`sms`,label:`SMS`,description:`Сообщения на телефон`}),(0,u.jsx)(o.Option,{value:`push`,label:`Push`,description:`Уведомления в приложении`})]}),(0,u.jsxs)(`div`,{children:[`Выбрано: `,t]})]})},args:{children:void 0}},p={render:e=>{let[t,n]=(0,l.useState)(`draft`);return(0,u.jsxs)(c,{...e,value:t,onChange:n,orientation:`vertical`,label:`Статус документа`,children:[(0,u.jsx)(o.Option,{value:`draft`,label:`Черновик`}),(0,u.jsx)(o.Option,{value:`review`,label:`На согласовании`}),(0,u.jsx)(o.Option,{value:`approved`,label:`Утвержден`})]})},args:{orientation:`vertical`,children:void 0}},m={render:e=>(0,u.jsxs)(c,{...e,disabled:!0,children:[(0,u.jsx)(o.Option,{value:`yes`,label:`Да`}),(0,u.jsx)(o.Option,{value:`no`,label:`Нет`})]}),args:{disabled:!0,value:`yes`,children:void 0}},f.parameters={...f.parameters,docs:{...f.parameters?.docs,source:{originalSource:`{
2
+ render: args => {
3
+ const [value, setValue] = useState("email");
4
+ return <div style={{
5
+ display: "grid",
6
+ gap: 10
7
+ }}>
8
+ <StringRadioGroup {...args} value={value} onChange={setValue}>
9
+ <RadioGroup.Option value="email" label="Email" description="Письма на корпоративную почту" />
10
+ <RadioGroup.Option value="sms" label="SMS" description="Сообщения на телефон" />
11
+ <RadioGroup.Option value="push" label="Push" description="Уведомления в приложении" />
12
+ </StringRadioGroup>
13
+ <div>Выбрано: {value}</div>
14
+ </div>;
15
+ },
16
+ args: {
17
+ children: undefined
18
+ }
19
+ }`,...f.parameters?.docs?.source}}},p.parameters={...p.parameters,docs:{...p.parameters?.docs,source:{originalSource:`{
20
+ render: args => {
21
+ const [value, setValue] = useState("draft");
22
+ return <StringRadioGroup {...args} value={value} onChange={setValue} orientation="vertical" label="Статус документа">
23
+ <RadioGroup.Option value="draft" label="Черновик" />
24
+ <RadioGroup.Option value="review" label="На согласовании" />
25
+ <RadioGroup.Option value="approved" label="Утвержден" />
26
+ </StringRadioGroup>;
27
+ },
28
+ args: {
29
+ orientation: "vertical",
30
+ children: undefined
31
+ }
32
+ }`,...p.parameters?.docs?.source}}},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
33
+ render: args => <StringRadioGroup {...args} disabled>
34
+ <RadioGroup.Option value="yes" label="Да" />
35
+ <RadioGroup.Option value="no" label="Нет" />
36
+ </StringRadioGroup>,
37
+ args: {
38
+ disabled: true,
39
+ value: "yes",
40
+ children: undefined
41
+ }
42
+ }`,...m.parameters?.docs?.source}}},h=[`Controlled`,`Vertical`,`Disabled`]}));g();export{f as Controlled,m as Disabled,p as Vertical,h as __namedExportsOrder,d as default,g as n,s as t};
@@ -0,0 +1 @@
1
+ .aEEqH1{color:#0000;caret-color:#0000}._4HQKa7{inset:0 calc(var(--control-height) + var(--space-xs)) 0 var(--space-md);pointer-events:none;align-items:center;display:flex;position:absolute;overflow:hidden}
@@ -0,0 +1,57 @@
1
+ import{i as e}from"./preload-helper-B45gAKPr.js";import{E as t,a as n,d as r,f as i,l as a,m as o,n as s,p as c,r as l,u}from"./blocks-CwEU-ME1.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-DnKFgFHy.js";import{ControlledObjects as p,CustomOptionLayout as m,Disabled as h,Placeholder as g,PrimitiveOptions as _,n as v,t as y}from"./Select.stories-Df_c0IfC.js";function b(e){let o={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...t(),...e.components};return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(a,{of:y,parameters:{docs:{toc:!0}}}),`
2
+ `,(0,S.jsx)(c,{children:`Select`}),`
3
+ `,(0,S.jsx)(i,{children:`Getter-based select для примитивов и сложных объектных option`}),`
4
+ `,(0,S.jsx)(o.p,{children:`Select уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
5
+ Ниже можно быстро проверить базовый сценарий, а затем перейти к отдельным режимам использования и состояниям компонента. Отдельно разобраны заблокированные состояния.`}),`
6
+ `,(0,S.jsx)(o.h2,{id:`основной-сценарий`,children:`Основной сценарий`}),`
7
+ `,(0,S.jsx)(u,{}),`
8
+ `,(0,S.jsx)(n,{of:p}),`
9
+ `,(0,S.jsx)(o.pre,{children:(0,S.jsx)(o.code,{className:`language-tsx`,children:`import { useState } from "react";
10
+
11
+ import { Select } from "@/shared/ui";
12
+
13
+ const options = [
14
+ { id: 1, name: "Отдел продаж", code: "SLS" },
15
+ { id: 2, name: "Закупки", code: "PRC" }
16
+ ];
17
+
18
+ export function Example() {
19
+ const [value, setValue] = useState(undefined);
20
+
21
+ return (
22
+ <Select
23
+ label="Подразделение"
24
+ value={value}
25
+ onChange={setValue}
26
+ options={options}
27
+ getOptionKey={(option) => option.id}
28
+ getOptionLabel={(option) => option.name}
29
+ getOptionCode={(option) => option.code}
30
+ />
31
+ );
32
+ }
33
+ `})}),`
34
+ `,(0,S.jsx)(o.h2,{id:`практические-рекомендации`,children:`Практические рекомендации`}),`
35
+ `,(0,S.jsxs)(o.ul,{children:[`
36
+ `,(0,S.jsx)(o.li,{children:`Заблокированное состояние лучше проверять отдельно, чтобы убедиться, что визуально и поведенчески оно остается понятным.`}),`
37
+ `]}),`
38
+ `,(0,S.jsx)(o.h2,{id:`сценарии-использования`,children:`Сценарии использования`}),`
39
+ `,(0,S.jsx)(o.h3,{id:`работа-с-объектами-как-со-значениями-option`,children:`Работа с объектами как со значениями option`}),`
40
+ `,(0,S.jsx)(o.p,{children:`Работа с объектами как со значениями option.`}),`
41
+ `,(0,S.jsx)(l,{of:p}),`
42
+ `,(0,S.jsx)(o.h3,{id:`работа-с-примитивными-option`,children:`Работа с примитивными option`}),`
43
+ `,(0,S.jsx)(o.p,{children:`Работа с примитивными option.`}),`
44
+ `,(0,S.jsx)(l,{of:_}),`
45
+ `,(0,S.jsx)(o.h3,{id:`поведение-без-выбранного-значения`,children:`Поведение без выбранного значения`}),`
46
+ `,(0,S.jsx)(o.p,{children:`Поведение без выбранного значения.`}),`
47
+ `,(0,S.jsx)(l,{of:g}),`
48
+ `,(0,S.jsx)(o.h3,{id:`кастомный-рендер-option-и-выбранного-значения`,children:`Кастомный рендер option и выбранного значения`}),`
49
+ `,(0,S.jsx)(o.p,{children:`Кастомный рендер option и выбранного значения.`}),`
50
+ `,(0,S.jsx)(l,{of:m}),`
51
+ `,(0,S.jsx)(o.h3,{id:`проверка-поведения-в-заблокированном-состоянии`,children:`Проверка поведения в заблокированном состоянии`}),`
52
+ `,(0,S.jsx)(o.p,{children:`Проверка поведения в заблокированном состоянии.`}),`
53
+ `,(0,S.jsx)(l,{of:h}),`
54
+ `,(0,S.jsx)(o.h2,{id:`api`,children:`API`}),`
55
+ `,(0,S.jsx)(s,{of:y}),`
56
+ `,(0,S.jsx)(o.h2,{id:`все-сторисы`,children:`Все сторисы`}),`
57
+ `,(0,S.jsx)(r,{includePrimary:!1})]})}function x(e={}){let{wrapper:n}={...t(),...e.components};return n?(0,S.jsx)(n,{...e,children:(0,S.jsx)(b,{...e})}):b(e)}var S;e((()=>{S=d(),f(),o(),v()}))();export{x as default};
@@ -0,0 +1,9 @@
1
+ import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{C as n}from"./iframe-SfMJGCsn.js";import{t as r}from"./jsx-runtime-BBQGix-2.js";import{a as i,i as a}from"./utils-CReRlw17.js";import{n as o,t as s,ut as c}from"./lucide-react-CK2oyDtF.js";import{n as l,t as u}from"./ui.module-DS2qtZts.js";import{T as ee,b as te,d as ne,f as d,g as re,l as ie,m as ae,r as oe,s as se,t as f,v as p}from"./picker-De4ZbESe.js";function m({option:e,getOptionLabel:t,getOptionCode:n}){return[d(t(e)),d(n?.(e))].filter(e=>!!e).join(` `).toLowerCase()}var h=t((()=>{f()})),g=t((()=>{h()})),_,v,y,b=t((()=>{_=`aEEqH1`,v=`_4HQKa7`,y={inputWithOverlay:_,valueOverlay:v}}));function x(e){let{label:t,description:n,disabled:r,placeholder:a,size:s,options:u,value:f,onChange:h,getOptionKey:g,getOptionLabel:_,getOptionCode:v,getOptionDisabled:b,getOptionAriaLabel:x,getOptionClassName:w,renderOption:T,renderValue:E,className:D,buttonClassName:O,optionsClassName:k,optionsContentClassName:ce,searchable:A=!1,defaultFilter:le=!0,query:ue,defaultQuery:de,onQuery:fe,renderPopupHeader:pe,emptyState:j,loadingState:M,errorState:N,placement:P=`bottom-start`,clearable:F=!1}=e,I=h,L=(0,S.useRef)(null),[R,z]=(0,S.useState)(!1),B=A?`search-single`:`display`,V=f===void 0?void 0:g(f),H=V===void 0?void 0:u.find(e=>g(e)===V)??f,{query:U,setQuery:W}=se({open:R,query:ue,defaultQuery:de,onQuery:fe,triggerMode:B}),G=ne({options:u,query:U,enabled:A&&le,getSearchText:e=>m({option:e,getOptionLabel:_,getOptionCode:v})}),{activeIndex:me,context:he,floatingStyles:ge,getFloatingProps:_e,setReference:ve,setFloating:ye,setOptionRef:be,close:K,openList:xe,toggleOpen:Se,selectOption:Ce,selectActiveOption:we,handleReferenceKeyDown:Te,handleFloatingKeyDown:Ee,getOptionId:De,getActiveOptionId:q}=ie({options:G,selectedIndex:V===void 0?-1:G.findIndex(e=>g(e)===V),open:R,onOpenChange:z,getOptionDisabled:b,onSelect:I,disabled:r,placement:P,triggerMode:B}),J=G.length>0,Y=H===void 0?void 0:_(H),X=H===void 0?void 0:E?E(H):Y,Oe=d(Y),ke=H===void 0?void 0:d(v?.(H)),Ae=d(X)??Oe??ke??(V===void 0?``:String(V)),Z=A&&(R||U.length>0),je=Z?U:H===void 0?``:Ae,Q=H!==void 0&&X!==void 0&&d(X)===void 0&&!Z,$=oe({mode:B,open:R,currentQuery:U,hasDisplayValue:H!==void 0,inputRef:L,setQuery:W,openList:xe,close:K,toggleOpen:Se}),Me=e=>{L.current=e},Ne=()=>{F&&I(void 0),W(``),K()};return(0,C.jsx)(ee,{label:t,description:n,disabled:r,placeholder:a,size:s,className:D,children:({controlId:e,labelId:t,describedBy:n})=>{let s=`${e}-listbox`;return(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(ae,{ref:Me,rootRef:ve,id:e,type:`text`,disabled:r,readOnly:!A,autoComplete:`off`,role:`combobox`,value:je,placeholder:H===void 0||Z?a:void 0,"aria-labelledby":t,"aria-describedby":n,"aria-haspopup":`listbox`,"aria-expanded":R,"aria-controls":R?s:void 0,"aria-autocomplete":A?`list`:`none`,"aria-activedescendant":R?q(s):void 0,inputClassName:i(Q&&y.inputWithOverlay,O,`textOverflow`),overlay:Q?(0,C.jsx)(`div`,{className:y.valueOverlay,children:X}):void 0,endAdornment:(0,C.jsx)(re,{open:R,disabled:r,onToggleMouseDown:$.handleToggleMouseDown,onToggleClick:$.handleToggleClick,children:F&&H!==void 0&&!r?(0,C.jsx)(`button`,{type:`button`,className:l.uiClearButton,"data-ui":`select-clear-button`,"data-action":`clear-select`,onMouseDown:e=>{e.preventDefault(),e.stopPropagation()},onClick:e=>{e.preventDefault(),e.stopPropagation(),Ne()},"aria-label":`Очистить выбор`,children:(0,C.jsx)(o,{})}):null}),onChange:e=>{A&&$.handleTriggerInputChange(e.target.value)},onClick:$.handleTriggerClick,onFocus:e=>{$.handleTriggerFocus(e.currentTarget)},onKeyDown:e=>{Te(e),!e.defaultPrevented&&$.handleTriggerKeyDown({event:e,onActivateWhenOpen:we,enableSpaceActivation:!A})}}),(0,C.jsx)(te,{open:R,context:he,floatingStyles:ge,listId:s,labelId:t,descriptionId:n,activeOptionId:J?q(s):void 0,setFloating:ye,getFloatingProps:_e,onKeyDown:Ee,className:i(l.uiPopupOptions,k),header:pe,children:(0,C.jsx)(`div`,{className:i(ce,`h100 scrollable`),children:J?G.map((e,t)=>{let n=g(e),r=V!==void 0&&n===V,a=t===me,o=b?.(e)??!1,u={active:a,selected:r,disabled:o};return(0,C.jsx)(`div`,{id:De(s,t),ref:e=>be(t,e),role:`option`,"aria-selected":r,"aria-disabled":o||void 0,"aria-label":x?.(e),className:i(l.uiPopupOption,o&&l.disabled,a&&l.uiPopupOptionActive,r&&l.selected,w?.(e,u)),onClick:()=>Ce(e),children:T?T(e,u):(0,C.jsxs)(C.Fragment,{children:[r?(0,C.jsx)(c,{className:l.uiPopupOptionIcon}):(0,C.jsx)(`span`,{className:l.uiPopupOptionIcon}),(0,C.jsx)(`div`,{className:l.uiOptionText,children:_(e)}),v&&(0,C.jsx)(`div`,{className:l.uiOptionCode,children:v(e)})]})},n)}):(0,C.jsx)(p,{emptyState:j,loadingState:M,errorState:N})})})]})}})}var S,C,w=t((()=>{S=e(n(),1),a(),s(),f(),u(),g(),b(),C=r(),x.__docgenInfo={description:`Выпадающий список выбора значения из набора опций. Подходит для форм, фильтров и простых справочников.`,methods:[],displayName:`Select`,props:{options:{required:!0,tsType:{name:`unknown`},description:``},getOptionKey:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => SelectOptionKey`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]}}},description:``},getOptionLabel:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => ReactNode`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`ReactNode`}}},description:``},getOptionCode:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => ReactNode`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`ReactNode`}}},description:``},getOptionDisabled:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => boolean`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`boolean`}}},description:``},getOptionAriaLabel:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => string`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`string`}}},description:``},getOptionClassName:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption, state: SelectOptionState) => string | undefined`,signature:{arguments:[{type:{name:`TOption`},name:`option`},{type:{name:`signature`,type:`object`,raw:`{
2
+ active: boolean;
3
+ selected: boolean;
4
+ disabled: boolean;
5
+ }`,signature:{properties:[{key:`active`,value:{name:`boolean`,required:!0}},{key:`selected`,value:{name:`boolean`,required:!0}},{key:`disabled`,value:{name:`boolean`,required:!0}}]}},name:`state`}],return:{name:`union`,raw:`string | undefined`,elements:[{name:`string`},{name:`undefined`}]}}},description:``},renderOption:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption, state: SelectOptionState) => ReactNode`,signature:{arguments:[{type:{name:`TOption`},name:`option`},{type:{name:`signature`,type:`object`,raw:`{
6
+ active: boolean;
7
+ selected: boolean;
8
+ disabled: boolean;
9
+ }`,signature:{properties:[{key:`active`,value:{name:`boolean`,required:!0}},{key:`selected`,value:{name:`boolean`,required:!0}},{key:`disabled`,value:{name:`boolean`,required:!0}}]}},name:`state`}],return:{name:`ReactNode`}}},description:``},renderValue:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => ReactNode`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`ReactNode`}}},description:``},className:{required:!1,tsType:{name:`string`},description:``},buttonClassName:{required:!1,tsType:{name:`string`},description:``},optionsClassName:{required:!1,tsType:{name:`string`},description:``},optionsContentClassName:{required:!1,tsType:{name:`string`},description:``},searchable:{required:!1,tsType:{name:`boolean`},description:``},query:{required:!1,tsType:{name:`string`},description:``},defaultQuery:{required:!1,tsType:{name:`string`},description:``},onQuery:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},defaultFilter:{required:!1,tsType:{name:`boolean`},description:``},renderPopupHeader:{required:!1,tsType:{name:`ReactNode`},description:``},emptyState:{required:!1,tsType:{name:`ReactNode`},description:``},loadingState:{required:!1,tsType:{name:`ReactNode`},description:``},errorState:{required:!1,tsType:{name:`ReactNode`},description:``},placement:{required:!1,tsType:{name:`Placement`},description:``},clearable:{required:!1,tsType:{name:`TClearable`},description:``},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`unknown`},name:`value`}],return:{name:`void`}}},description:``}}}}));export{w as n,x as t};
@@ -0,0 +1,37 @@
1
+ import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{C as r}from"./iframe-SfMJGCsn.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{n as a,t as o}from"./Select-DYVS7SCZ.js";var s=e({ControlledObjects:()=>p,CustomOptionLayout:()=>g,Disabled:()=>_,Placeholder:()=>h,PrimitiveOptions:()=>m,__namedExportsOrder:()=>v,default:()=>f}),c,l,u,d,f,p,m,h,g,_,v,y=n((()=>{c=t(r(),1),a(),l=i(),u=[{id:1,name:`Отдел продаж`,code:`SLS`,manager:`Елена Миронова`},{id:2,name:`Закупки`,code:`PRC`,manager:`Антон Мелихов`},{id:3,name:`Логистика`,code:`LGS`,manager:`Мария Климова`,disabled:!0},{id:4,name:`Поддержка клиентов`,code:`SUP`,manager:`Ирина Белова`}],d=[`Новый`,`В работе`,`Завершён`,`Архив`],f={title:`Shared/UI/Select`,component:o,args:{label:`Подразделение`,description:`Выберите подразделение из списка.`,placeholder:`Не выбрано`,value:void 0,options:u,onChange:()=>{},getOptionKey:e=>e.id,getOptionLabel:e=>e.name,getOptionCode:e=>e.code,getOptionDisabled:e=>e.disabled??!1,size:`md`},parameters:{atomicCanvas:!0,layout:`padded`,docs:{description:{component:`Низкоуровневый getter-based select. Подходит для произвольных структур данных, примитивов и сложного кастомного рендера. Компонент возвращает наружу саму выбранную option. Для сериализуемых конфигов и сценариев с optionKey/optionLabel используйте SerializableSelect.`}}},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Текст, когда значение ещё не выбрано.`,control:`text`},value:{description:`Текущая выбранная option целиком.`,control:!1},options:{description:`Массив опций любого поддерживаемого формата.`,control:!1},onChange:{description:`Вызывается с выбранной option.`,control:!1},getOptionKey:{description:`Функция получения уникального ключа option.`,control:!1},getOptionLabel:{description:`Функция получения основного текста option.`,control:!1},getOptionCode:{description:`Опциональный рендер дополнительного кода справа.`,control:!1},getOptionDisabled:{description:`Опциональная функция блокировки отдельных option.`,control:!1},getOptionAriaLabel:{description:`Опциональная функция для aria-label option.`,control:!1},getOptionClassName:{description:`Опциональная функция CSS-класса option по её состоянию.`,control:!1},renderOption:{description:`Полностью кастомный рендер option в списке.`,control:!1},renderValue:{description:`Кастомный рендер выбранного значения в кнопке.`,control:!1},className:{description:`Дополнительный CSS-класс корневого контейнера.`,control:`text`},buttonClassName:{description:`Дополнительный CSS-класс кнопки выбора.`,control:`text`},optionsClassName:{description:`Дополнительный CSS-класс контейнера списка.`,control:`text`},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},placement:{description:`Позиционирование выпадающего списка.`,control:`select`,options:[`bottom-start`,`bottom-end`,`top-start`,`top-end`]},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`}}},p={name:`Объекты`,render:e=>{let[t,n]=(0,c.useState)(u[1]);return(0,l.jsx)(o,{...e,value:t,onChange:n})}},m={name:`Примитивы`,render:()=>{let[e,t]=(0,c.useState)(d[1]);return(0,l.jsx)(o,{label:`Статус`,description:`Пример использования низкоуровневого Select со строковыми значениями.`,placeholder:`Выберите статус`,options:d,value:e,onChange:t,getOptionKey:e=>e,getOptionLabel:e=>e,size:`md`})}},h={render:e=>{let[t,n]=(0,c.useState)(void 0);return(0,l.jsx)(o,{...e,value:t,onChange:n})}},g={name:`Кастомный рендер`,render:e=>{let[t,n]=(0,c.useState)(u[0]);return(0,l.jsx)(o,{...e,value:t,onChange:n,renderValue:e=>`${e.code} · ${e.name}`,renderOption:(e,t)=>(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(`div`,{className:`flexEllipsis`,children:[(0,l.jsx)(`div`,{children:e.name}),(0,l.jsx)(`div`,{className:`fontSizeSm content2`,children:e.manager})]}),(0,l.jsx)(`div`,{style:{opacity:t.selected?1:.5},children:e.code})]})})}},_={args:{disabled:!0,value:u[0]}},p.parameters={...p.parameters,docs:{...p.parameters?.docs,source:{originalSource:`{
2
+ name: "Объекты",
3
+ render: args => {
4
+ const [value, setValue] = useState<DepartmentOption | undefined>(departmentOptions[1]);
5
+ return <Select {...args} value={value} onChange={setValue} />;
6
+ }
7
+ }`,...p.parameters?.docs?.source}}},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
8
+ name: "Примитивы",
9
+ render: () => {
10
+ const [value, setValue] = useState<(typeof primitiveOptions)[number] | undefined>(primitiveOptions[1]);
11
+ return <Select label="Статус" description="Пример использования низкоуровневого Select со строковыми значениями." placeholder="Выберите статус" options={primitiveOptions} value={value} onChange={setValue} getOptionKey={option => option} getOptionLabel={option => option} size="md" />;
12
+ }
13
+ }`,...m.parameters?.docs?.source}}},h.parameters={...h.parameters,docs:{...h.parameters?.docs,source:{originalSource:`{
14
+ render: args => {
15
+ const [value, setValue] = useState<DepartmentOption | undefined>(undefined);
16
+ return <Select {...args} value={value} onChange={setValue} />;
17
+ }
18
+ }`,...h.parameters?.docs?.source}}},g.parameters={...g.parameters,docs:{...g.parameters?.docs,source:{originalSource:`{
19
+ name: "Кастомный рендер",
20
+ render: args => {
21
+ const [value, setValue] = useState<DepartmentOption | undefined>(departmentOptions[0]);
22
+ return <Select {...args} value={value} onChange={setValue} renderValue={option => \`\${option.code} · \${option.name}\`} renderOption={(option, state) => <>
23
+ <div className="flexEllipsis">
24
+ <div>{option.name}</div>
25
+ <div className="fontSizeSm content2">{option.manager}</div>
26
+ </div>
27
+ <div style={{
28
+ opacity: state.selected ? 1 : 0.5
29
+ }}>{option.code}</div>
30
+ </>} />;
31
+ }
32
+ }`,...g.parameters?.docs?.source}}},_.parameters={..._.parameters,docs:{..._.parameters?.docs,source:{originalSource:`{
33
+ args: {
34
+ disabled: true,
35
+ value: departmentOptions[0]
36
+ }
37
+ }`,..._.parameters?.docs?.source}}},v=[`ControlledObjects`,`PrimitiveOptions`,`Placeholder`,`CustomOptionLayout`,`Disabled`]}));y();export{p as ControlledObjects,g as CustomOptionLayout,_ as Disabled,h as Placeholder,m as PrimitiveOptions,v as __namedExportsOrder,f as default,y as n,s as t};
@@ -0,0 +1 @@
1
+ import{i as e}from"./preload-helper-B45gAKPr.js";import{t}from"./jsx-runtime-BBQGix-2.js";import{a as n,i as r}from"./utils-CReRlw17.js";import{o as i,t as a}from"./text-BxA8yj6Z.js";import{n as o,t as s}from"./ui.module-DS2qtZts.js";function c({label:e,code:t,highlight:r}){return(0,l.jsxs)(`div`,{className:o.uiOptionBase,children:[(0,l.jsx)(`div`,{className:n(o.uiOptionText,`flexEllipsis`),children:(0,l.jsx)(i,{text:e,highlight:r})}),t&&(0,l.jsx)(`div`,{className:o.uiOptionCode,children:(0,l.jsx)(i,{text:t,highlight:r})})]})}var l,u=e((()=>{r(),a(),s(),l=t(),c.__docgenInfo={description:`Универсальный рендерер опции. Используется и в single-select, и в multi-select.`,methods:[],displayName:`SelectOptionContent`,props:{label:{required:!0,tsType:{name:`string`},description:``},code:{required:!1,tsType:{name:`string`},description:``},highlight:{required:!1,tsType:{name:`string`},description:``}}}}));export{u as n,c as t};
@@ -0,0 +1,48 @@
1
+ import{i as e}from"./preload-helper-B45gAKPr.js";import{E as t,a as n,d as r,f as i,l as a,m as o,n as s,p as c,r as l,u}from"./blocks-CwEU-ME1.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-DnKFgFHy.js";import{AsyncReloadLike as p,Controlled as m,Disabled as h,Placeholder as g,WithCode as _,n as v,t as y}from"./SerializableSelect.stories-BLPXVOtP.js";function b(e){let o={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...t(),...e.components};return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(a,{of:y,parameters:{docs:{toc:!0}}}),`
2
+ `,(0,S.jsx)(c,{children:`SerializableSelect`}),`
3
+ `,(0,S.jsx)(i,{children:`Select для сериализуемых значений и конфигурационных сценариев с key/label описанием option`}),`
4
+ `,(0,S.jsx)(o.p,{children:`SerializableSelect уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
5
+ Ниже можно быстро проверить базовый сценарий, а затем перейти к отдельным режимам использования и состояниям компонента. Отдельно разобраны контролируемые сценарии, заблокированные состояния.`}),`
6
+ `,(0,S.jsx)(o.h2,{id:`основной-сценарий`,children:`Основной сценарий`}),`
7
+ `,(0,S.jsx)(u,{}),`
8
+ `,(0,S.jsx)(n,{of:m}),`
9
+ `,(0,S.jsx)(o.pre,{children:(0,S.jsx)(o.code,{className:`language-tsx`,children:`import { useState } from "react";
10
+
11
+ import { SerializableSelect } from "@/shared/ui";
12
+
13
+ const options = [
14
+ { key: "draft", label: "Черновик" },
15
+ { key: "done", label: "Завершен" }
16
+ ];
17
+
18
+ export function Example() {
19
+ const [value, setValue] = useState(undefined);
20
+
21
+ return <SerializableSelect label="Статус" value={value} onChange={setValue} options={options} optionKey="key" optionLabel="label" />;
22
+ }
23
+ `})}),`
24
+ `,(0,S.jsx)(o.h2,{id:`практические-рекомендации`,children:`Практические рекомендации`}),`
25
+ `,(0,S.jsxs)(o.ul,{children:[`
26
+ `,(0,S.jsx)(o.li,{children:`Если состояние должно жить во внешней форме или модели, ориентируйтесь на контролируемый режим из документации.`}),`
27
+ `,(0,S.jsx)(o.li,{children:`Заблокированное состояние лучше проверять отдельно, чтобы убедиться, что визуально и поведенчески оно остается понятным.`}),`
28
+ `]}),`
29
+ `,(0,S.jsx)(o.h2,{id:`сценарии-использования`,children:`Сценарии использования`}),`
30
+ `,(0,S.jsx)(o.h3,{id:`компонент-работает-в-контролируемом-режиме-когда-состояние-хранится-во-внешнем-компоненте`,children:`Компонент работает в контролируемом режиме, когда состояние хранится во внешнем компоненте`}),`
31
+ `,(0,S.jsx)(o.p,{children:`Компонент работает в контролируемом режиме, когда состояние хранится во внешнем компоненте.`}),`
32
+ `,(0,S.jsx)(l,{of:m}),`
33
+ `,(0,S.jsx)(o.h3,{id:`поведение-без-выбранного-значения`,children:`Поведение без выбранного значения`}),`
34
+ `,(0,S.jsx)(o.p,{children:`Поведение без выбранного значения.`}),`
35
+ `,(0,S.jsx)(l,{of:g}),`
36
+ `,(0,S.jsx)(o.h3,{id:`with-code`,children:`With Code`}),`
37
+ `,(0,S.jsxs)(o.p,{children:[`Сценарий демонстрирует вариант `,(0,S.jsx)(o.code,{children:`WithCode`}),` и помогает быстро сравнить его с остальными режимами компонента.`]}),`
38
+ `,(0,S.jsx)(l,{of:_}),`
39
+ `,(0,S.jsx)(o.h3,{id:`сценарий-близкий-к-асинхронной-перезагрузке-данных`,children:`Сценарий, близкий к асинхронной перезагрузке данных`}),`
40
+ `,(0,S.jsx)(o.p,{children:`Сценарий, близкий к асинхронной перезагрузке данных.`}),`
41
+ `,(0,S.jsx)(l,{of:p}),`
42
+ `,(0,S.jsx)(o.h3,{id:`проверка-поведения-в-заблокированном-состоянии`,children:`Проверка поведения в заблокированном состоянии`}),`
43
+ `,(0,S.jsx)(o.p,{children:`Проверка поведения в заблокированном состоянии.`}),`
44
+ `,(0,S.jsx)(l,{of:h}),`
45
+ `,(0,S.jsx)(o.h2,{id:`api`,children:`API`}),`
46
+ `,(0,S.jsx)(s,{of:y}),`
47
+ `,(0,S.jsx)(o.h2,{id:`все-сторисы`,children:`Все сторисы`}),`
48
+ `,(0,S.jsx)(r,{includePrimary:!1})]})}function x(e={}){let{wrapper:n}={...t(),...e.components};return n?(0,S.jsx)(n,{...e,children:(0,S.jsx)(b,{...e})}):b(e)}var S;e((()=>{S=d(),f(),o(),v()}))();export{x as default};
@@ -0,0 +1,4 @@
1
+ import{i as e}from"./preload-helper-B45gAKPr.js";import{t}from"./jsx-runtime-BBQGix-2.js";import{n,t as r}from"./Select-DYVS7SCZ.js";function i(e,t){return e[t]}function a(e,t,n){let r=e[t];if(typeof r==`string`||typeof r==`number`)return r;let a=i(e,n);return typeof a==`string`||typeof a==`number`?a:String(a)}function o({label:e,description:t,disabled:n,placeholder:o,size:c,options:l,value:u,onChange:d,optionKey:f,optionLabel:p,renderCode:m,className:h,clearable:g}){return(0,s.jsx)(r,{label:e,description:t,disabled:n,placeholder:o,size:c,options:l,value:u===void 0?void 0:l.find(e=>i(e,f)===u),onChange:e=>d(e?i(e,f):void 0),getOptionKey:e=>i(e,f),getOptionLabel:e=>a(e,p,f),getOptionCode:m?e=>i(e,f):void 0,className:h,clearable:g})}var s,c=e((()=>{n(),s=t(),o.__docgenInfo={description:``,methods:[],displayName:`SerializableSelect`,props:{options:{required:!0,tsType:{name:`unknown`},description:``},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: SerializableOptionValue<TOption, TOptionKey> | undefined) => void`,signature:{arguments:[{type:{name:`union`,raw:`SerializableOptionValue<TOption, TOptionKey> | undefined`,elements:[{name:`Extract`,elements:[{name:`TOption[TOptionKey]`,raw:`TOption[TOptionKey]`},{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]}],raw:`Extract<
2
+ TOption[TOptionKey],
3
+ SelectOptionKey
4
+ >`},{name:`undefined`}]},name:`value`}],return:{name:`void`}}},description:``},optionKey:{required:!0,tsType:{name:`TOptionKey`},description:``},optionLabel:{required:!0,tsType:{name:`TOptionLabel`},description:``},renderCode:{required:!1,tsType:{name:`literal`,value:`true`},description:``},className:{required:!1,tsType:{name:`string`},description:``},clearable:{required:!1,tsType:{name:`boolean`},description:``}},composes:[`Omit`]}}));export{c as n,o as t};
@@ -0,0 +1,43 @@
1
+ import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{C as r}from"./iframe-SfMJGCsn.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{n as a,t as o}from"./SerializableSelect-DwCnuBgv.js";var s=e({AsyncReloadLike:()=>h,Controlled:()=>f,Disabled:()=>g,Placeholder:()=>p,WithCode:()=>m,__namedExportsOrder:()=>_,default:()=>d}),c,l,u,d,f,p,m,h,g,_,v=n((()=>{c=t(r(),1),a(),l=i(),u=[{id:10,name:`Продажи`,code:`SLS`,branch:`Екатеринбург`},{id:20,name:`Закупки`,code:`PRC`,branch:`Челябинск`},{id:30,name:`Логистика`,code:`LGS`,branch:`Новосибирск`},{id:40,name:`Сервис`,code:`SRV`,branch:`Москва`}],d={title:`Shared/UI/SerializableSelect`,component:o,args:{label:`Подразделение`,description:`Сериализуемая обёртка над Select для object-options и field-based конфигурации.`,placeholder:`Выберите подразделение`,options:u,optionKey:`id`,optionLabel:`name`,value:void 0,onChange:()=>{},size:`md`},parameters:{atomicCanvas:!0,layout:`padded`,docs:{description:{component:`Высокоуровневая обёртка над low-level Select. Принимает массив объектов, получает key и label по именам полей, а наружу возвращает только значение ключа. Нужна для сериализуемых конфигов, в том числе в src/shared/ui/controls/*.`}}},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Текст, когда ключ ещё не выбран.`,control:`text`},options:{description:`Массив объектных option.`,control:!1},optionKey:{description:`Поле объекта, значение которого используется как ключ и отдаётся наружу через onChange.`,control:!1},optionLabel:{description:`Поле объекта, значение которого отображается как основной текст option.`,control:!1},renderCode:{description:`Если включено, справа от текста будет показан ключ optionKey.`,control:`boolean`},value:{description:`Текущий выбранный ключ option, а не вся option целиком.`,control:!1},onChange:{description:`Вызывается с новым значением optionKey.`,control:!1},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},className:{description:`Дополнительный CSS-класс корневого контейнера.`,control:`text`}}},f={name:`Выбор по ключу`,render:e=>{let[t,n]=(0,c.useState)(20);return(0,l.jsx)(o,{...e,value:t,onChange:n})}},p={render:e=>{let[t,n]=(0,c.useState)(void 0);return(0,l.jsx)(o,{...e,value:t,onChange:n})}},m={name:`С кодом`,render:e=>{let[t,n]=(0,c.useState)(10);return(0,l.jsx)(o,{...e,value:t,onChange:n,renderCode:!0})},args:{renderCode:!0}},h={name:`Смена набора опций`,render:e=>{let[t,n]=(0,c.useState)(30),[r,i]=(0,c.useState)(!1),a=(0,c.useMemo)(()=>r?u.filter(e=>e.id!==20):u,[r]);return(0,l.jsxs)(`div`,{style:{display:`grid`,gap:`12px`,maxWidth:`320px`},children:[(0,l.jsx)(`button`,{type:`button`,onClick:()=>i(e=>!e),children:r?`Показать полный список`:`Скрыть одну опцию`}),(0,l.jsx)(o,{...e,options:a,value:t,onChange:n})]})}},g={args:{disabled:!0,value:10}},f.parameters={...f.parameters,docs:{...f.parameters?.docs,source:{originalSource:`{
2
+ name: "Выбор по ключу",
3
+ render: args => {
4
+ const [value, setValue] = useState<number | undefined>(20);
5
+ return <SerializableSelect {...args} value={value} onChange={setValue} />;
6
+ }
7
+ }`,...f.parameters?.docs?.source}}},p.parameters={...p.parameters,docs:{...p.parameters?.docs,source:{originalSource:`{
8
+ render: args => {
9
+ const [value, setValue] = useState<number | undefined>(undefined);
10
+ return <SerializableSelect {...args} value={value} onChange={setValue} />;
11
+ }
12
+ }`,...p.parameters?.docs?.source}}},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
13
+ name: "С кодом",
14
+ render: args => {
15
+ const [value, setValue] = useState<number | undefined>(10);
16
+ return <SerializableSelect {...args} value={value} onChange={setValue} renderCode />;
17
+ },
18
+ args: {
19
+ renderCode: true
20
+ }
21
+ }`,...m.parameters?.docs?.source}}},h.parameters={...h.parameters,docs:{...h.parameters?.docs,source:{originalSource:`{
22
+ name: "Смена набора опций",
23
+ render: args => {
24
+ const [value, setValue] = useState<number | undefined>(30);
25
+ const [showShortList, setShowShortList] = useState(false);
26
+ const options = useMemo(() => showShortList ? departmentOptions.filter(option => option.id !== 20) : departmentOptions, [showShortList]);
27
+ return <div style={{
28
+ display: "grid",
29
+ gap: "12px",
30
+ maxWidth: "320px"
31
+ }}>
32
+ <button type="button" onClick={() => setShowShortList(current => !current)}>
33
+ {showShortList ? "Показать полный список" : "Скрыть одну опцию"}
34
+ </button>
35
+ <SerializableSelect {...args} options={options} value={value} onChange={setValue} />
36
+ </div>;
37
+ }
38
+ }`,...h.parameters?.docs?.source}}},g.parameters={...g.parameters,docs:{...g.parameters?.docs,source:{originalSource:`{
39
+ args: {
40
+ disabled: true,
41
+ value: 10
42
+ }
43
+ }`,...g.parameters?.docs?.source}}},_=[`Controlled`,`Placeholder`,`WithCode`,`AsyncReloadLike`,`Disabled`]}));v();export{h as AsyncReloadLike,f as Controlled,g as Disabled,p as Placeholder,m as WithCode,_ as __namedExportsOrder,d as default,v as n,s as t};
@@ -0,0 +1 @@
1
+ .AvG-mf{border-radius:var(--radius-xs);font-family:var(--font-family-mono);color:inherit;text-align:center;caret-color:var(--content-0);font-variant-numeric:tabular-nums;background:0 0;border:none;outline:none;margin:0;padding:0}.AvG-mf::placeholder{color:var(--content-2)}.AvG-mf::selection{background-color:var(--focus-ring);color:var(--surface-0)}.AvG-mf:disabled{opacity:.25}.ig7KtT{-webkit-user-select:none;user-select:none;color:var(--content-1);flex-shrink:0}.ig7KtT[data-disabled]{opacity:.25}.RTruv0:hover{color:var(--focus-ring)}.YQHPZa{gap:var(--space-md);display:grid}.-RZe-i{grid-template-columns:minmax(0,1fr)}.Ox0SRE{grid-template-columns:auto calc(9em + var(--width-add));align-items:stretch}.gfaRup,._59kEea{min-width:0}.Jjdu1Q{min-width:calc(9em + var(--width-add))}.Q8Y2xS{padding-top:var(--space-md);border-top:var(--border)}.XxZYTW{padding-left:var(--space-md);border-left:var(--border)}
@@ -0,0 +1,53 @@
1
+ import{i as e}from"./preload-helper-B45gAKPr.js";import{E as t,a as n,d as r,f as i,l as a,m as o,n as s,p as c,r as l,u}from"./blocks-CwEU-ME1.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-DnKFgFHy.js";import{Default as p,Empty as m,TimeOnly as h,WithLimits as g,WithRightPanel as _,n as v,t as y}from"./SingleDateTimeInput.stories-kcuSwx76.js";function b(e){let o={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...t(),...e.components};return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(a,{of:y,parameters:{docs:{toc:!0}}}),`
2
+ `,(0,S.jsx)(c,{children:`SingleDateTimeInput`}),`
3
+ `,(0,S.jsx)(i,{children:`Строгий сегментный ввод даты-времени и времени с popover picker`}),`
4
+ `,(0,S.jsxs)(o.p,{children:[(0,S.jsx)(o.code,{children:`SingleDateTimeInput`}),` объединяет два сценария:`]}),`
5
+ `,(0,S.jsxs)(o.ul,{children:[`
6
+ `,(0,S.jsxs)(o.li,{children:[`ручной ввод по фиксированной маске `,(0,S.jsx)(o.code,{children:`dd.MM.yyyy HH:mm`}),`;`]}),`
7
+ `,(0,S.jsx)(o.li,{children:`выбор даты и времени через popover picker с wheel-прокруткой;`}),`
8
+ `,(0,S.jsxs)(o.li,{children:[`выбор только времени по маске `,(0,S.jsx)(o.code,{children:`HH:mm`}),` с технической датой `,(0,S.jsx)(o.code,{children:`1970-01-01`}),`.`]}),`
9
+ `]}),`
10
+ `,(0,S.jsx)(o.p,{children:`Семантика компонента фиксирована и отличается от существующих компонентов так:`}),`
11
+ `,(0,S.jsxs)(o.ul,{children:[`
12
+ `,(0,S.jsxs)(o.li,{children:[`до: `,(0,S.jsx)(o.code,{children:`DateInput`}),` работал только с календарной датой и нормализовал значение к границам суток;`]}),`
13
+ `,(0,S.jsxs)(o.li,{children:[`до: `,(0,S.jsx)(o.code,{children:`InputDateTime`}),` давал сегментный ввод, но без picker и без опоры на shared date-formatters;`]}),`
14
+ `,(0,S.jsxs)(o.li,{children:[`после: `,(0,S.jsx)(o.code,{children:`SingleDateTimeInput`}),` хранит дату-время с точностью до минуты и использует строгий parse/format через общие date-formatters.`]}),`
15
+ `]}),`
16
+ `,(0,S.jsx)(o.h2,{id:`основной-сценарий`,children:`Основной сценарий`}),`
17
+ `,(0,S.jsx)(u,{}),`
18
+ `,(0,S.jsx)(n,{of:p}),`
19
+ `,(0,S.jsx)(o.pre,{children:(0,S.jsx)(o.code,{className:`language-tsx`,children:`import { useState } from "react";
20
+
21
+ import { SingleDateTimeInput } from "@/shared/ui";
22
+
23
+ export function Example() {
24
+ const [value, setValue] = useState<Date | null>(null);
25
+
26
+ return <SingleDateTimeInput label="Дата и время" value={value} onChange={setValue} />;
27
+ }
28
+ `})}),`
29
+ `,(0,S.jsx)(o.h2,{id:`практические-замечания`,children:`Практические замечания`}),`
30
+ `,(0,S.jsxs)(o.ul,{children:[`
31
+ `,(0,S.jsxs)(o.li,{children:[`Поле вызывает `,(0,S.jsx)(o.code,{children:`onChange`}),` только для полной и валидной даты-времени.`]}),`
32
+ `,(0,S.jsx)(o.li,{children:`Неполный или невалидный ручной ввод при потере фокуса откатывается к последнему committed значению.`}),`
33
+ `,(0,S.jsxs)(o.li,{children:[`Полностью очищенные сегменты трактуются как `,(0,S.jsx)(o.code,{children:`null`}),`.`]}),`
34
+ `,(0,S.jsxs)(o.li,{children:[`Ограничения `,(0,S.jsx)(o.code,{children:`minDate`}),` и `,(0,S.jsx)(o.code,{children:`maxDate`}),` применяются и к календарю, и к времени внутри того же дня.`]}),`
35
+ `,(0,S.jsxs)(o.li,{children:[`В режиме `,(0,S.jsx)(o.code,{children:`mode="time"`}),` компонент возвращает `,(0,S.jsx)(o.code,{children:`Date`}),` на технической дате `,(0,S.jsx)(o.code,{children:`1970-01-01`}),`, а `,(0,S.jsx)(o.code,{children:`minDate`}),` и `,(0,S.jsx)(o.code,{children:`maxDate`}),` сравниваются только по `,(0,S.jsx)(o.code,{children:`HH:mm`}),`.`]}),`
36
+ `,(0,S.jsx)(o.li,{children:`Wheel-панель блокирует прокрутку страницы во время взаимодействия и доводит выбранное значение в центр.`}),`
37
+ `,(0,S.jsxs)(o.li,{children:[`Размещение панели времени управляется через `,(0,S.jsx)(o.code,{children:`timePanelPlacement="bottom" | "right"`}),`.`]}),`
38
+ `]}),`
39
+ `,(0,S.jsx)(o.h2,{id:`сценарии-использования`,children:`Сценарии использования`}),`
40
+ `,(0,S.jsx)(o.h3,{id:`базовый-сценарий`,children:`Базовый сценарий`}),`
41
+ `,(0,S.jsx)(l,{of:p}),`
42
+ `,(0,S.jsx)(o.h3,{id:`пустое-значение`,children:`Пустое значение`}),`
43
+ `,(0,S.jsx)(l,{of:m}),`
44
+ `,(0,S.jsx)(o.h3,{id:`ограниченный-диапазон`,children:`Ограниченный диапазон`}),`
45
+ `,(0,S.jsx)(l,{of:g}),`
46
+ `,(0,S.jsx)(o.h3,{id:`панель-времени-справа`,children:`Панель времени справа`}),`
47
+ `,(0,S.jsx)(l,{of:_}),`
48
+ `,(0,S.jsx)(o.h3,{id:`только-время`,children:`Только время`}),`
49
+ `,(0,S.jsx)(l,{of:h}),`
50
+ `,(0,S.jsx)(o.h2,{id:`api`,children:`API`}),`
51
+ `,(0,S.jsx)(s,{of:y}),`
52
+ `,(0,S.jsx)(o.h2,{id:`все-сторисы`,children:`Все сторисы`}),`
53
+ `,(0,S.jsx)(r,{includePrimary:!1})]})}function x(e={}){let{wrapper:n}={...t(),...e.components};return n?(0,S.jsx)(n,{...e,children:(0,S.jsx)(b,{...e})}):b(e)}var S;e((()=>{S=d(),f(),o(),v()}))();export{x as default};
@@ -0,0 +1,78 @@
1
+ import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{C as r}from"./iframe-SfMJGCsn.js";import{t as i}from"./jsx-runtime-BBQGix-2.js";import{a,i as o}from"./utils-CReRlw17.js";import{B as ee,ft as s,t as c}from"./lucide-react-CK2oyDtF.js";import{J as l,K as u,_ as d,b as te,t as f,z as p}from"./formatters-yIBztcem.js";import{i as m,t as h}from"./popover-DWA5VOMQ.js";import{n as g,t as _}from"./ui.module-DS2qtZts.js";import{t as v}from"./Button-BUkCW8Zg.js";import{i as y}from"./DateInput-C72jV86j.js";import{t as b}from"./button-Bl3Hu8CS.js";import{o as ne,r as re,u as ie}from"./Input-B7DWcGCL.js";import{t as ae}from"./input-Be5K9_B7.js";import{t as oe}from"./ui-CmVy0trY.js";import{a as x,i as se,n as S,r as C,t as w}from"./date-segments-CzU9k5bl.js";import{a as ce,c as le,d as ue,i as T,l as de,n as E,o as D,r as fe,s as O,t as pe,u as me}from"./TimePanel-0-mzaXky.js";var k=n((()=>{D()}));function he(e){let t=[];return e.forEach((e,n)=>{e.kind===`editable`&&t.push(n)}),t}function ge({value:e,onChange:t,onClearError:n,disabled:r,minDate:i,maxDate:a,mode:o=`date-time`}){let ee=(0,A.useMemo)(()=>ce(o),[o]),s=(0,A.useMemo)(()=>se(ee),[ee]),c=(0,A.useMemo)(()=>he(s),[s]),l=(0,A.useMemo)(()=>S(e??null,s),[s,e]),[u,d]=(0,A.useState)(null),te=e?.getTime()??null,f=(0,A.useEffectEvent)(e=>d(e));(0,A.useEffect)(()=>{f(null)},[te,o]);let p=u??l,m=(0,A.useRef)(new Map),h=(0,A.useRef)(0),g=(0,A.useCallback)(n=>{if(w(s,n))return t(null),null;let r=x(s,n,{defaultDate:o===`time`?me(e,`time`)??T():void 0});return!r||!O(r,i,a,o)?null:(t(r),r)},[a,i,o,t,s,e]),_=(0,A.useCallback)((e,t=!0)=>{let n=m.current.get(e);n&&(n.focus(),t&&requestAnimationFrame(()=>n.select()))},[]),v=(0,A.useCallback)(e=>{let t=c.indexOf(e);return t<c.length-1?c[t+1]:null},[c]),y=(0,A.useCallback)(e=>{let t=c.indexOf(e);return t>0?c[t-1]:null},[c]),b=(0,A.useCallback)((e,t)=>e.padStart(t.length,`0`),[]);return{segments:s,segmentValues:p,registerRef:(0,A.useCallback)(e=>t=>{if(t){m.current.set(e,t);return}m.current.delete(e)},[]),handleInput:(0,A.useCallback)(e=>t=>{if(r)return;let i=s[e];if(i.kind!==`editable`)return;let a=t.target.value.replace(/\D/g,``).slice(0,i.length),o=new Map(p);if(o.set(e,a),d(o),n?.(),a.length===i.length){let t=v(e);t!==null&&requestAnimationFrame(()=>_(t))}g(o)},[r,_,v,n,p,s,g]),handleKeyDown:(0,A.useCallback)(e=>t=>{if(r)return;let n=s[e];if(n.kind!==`editable`)return;let i=p.get(e)??``,a=t.currentTarget;switch(t.key){case`ArrowRight`:if(a.selectionStart===i.length||i===``){t.preventDefault();let n=v(e);n!==null&&_(n)}break;case`ArrowLeft`:if(a.selectionStart===0||i===``){t.preventDefault();let n=y(e);n!==null&&_(n)}break;case`ArrowUp`:{t.preventDefault();let r=i===``?n.min:Number.parseInt(i,10)+1;r>n.max&&(r=n.min);let o=new Map(p);o.set(e,b(String(r),n)),d(o),g(o),requestAnimationFrame(()=>a.select());break}case`ArrowDown`:{t.preventDefault();let r=i===``?n.max:Number.parseInt(i,10)-1;r<n.min&&(r=n.max);let o=new Map(p);o.set(e,b(String(r),n)),d(o),g(o),requestAnimationFrame(()=>a.select());break}case`Backspace`:if(i===``){t.preventDefault();let n=y(e);n!==null&&_(n)}break;case`Delete`:{t.preventDefault();let n=new Map(p);n.set(e,``),d(n),g(n);break}}},[r,_,v,y,b,p,s,g]),handleFocus:(0,A.useCallback)(()=>e=>{e.target.select()},[]),handleContainerFocus:(0,A.useCallback)(()=>{clearTimeout(h.current)},[]),handleContainerBlur:(0,A.useCallback)(()=>{let n=new Map(p);h.current=window.setTimeout(()=>{if(w(s,n)){t(null),d(n);return}let r=x(s,n,{defaultDate:o===`time`?me(e,`time`)??T():void 0});if(!r||!O(r,i,a,o)){d(null);return}d(n)},0)},[a,i,o,t,p,s,e]),focusFirstEmpty:(0,A.useCallback)(()=>{let e=c.find(e=>!(p.get(e)??``))??c[c.length-1];e!==void 0&&_(e)},[c,_,p])}}var A,_e=n((()=>{A=t(r(),1),C(),k()})),ve=n((()=>{_e()})),j,M,N,P,F,I,L,R,z,B,V,H,ye=n((()=>{j=`AvG-mf`,M=`ig7KtT`,N=`RTruv0`,P=`YQHPZa`,F=`-RZe-i`,I=`Ox0SRE`,L=`gfaRup`,R=`_59kEea`,z=`Jjdu1Q`,B=`Q8Y2xS`,V=`XxZYTW`,H={segmentInput:j,separator:M,calendarButton:N,popoverContent:P,bottom:F,right:I,calendarPane:L,timePanelPane:R,timeOnlyPopoverContent:z,timePanelPaneBottom:B,timePanelPaneRight:V}}));function U({value:e,onChange:t,label:n,description:r,placeholder:i,disabled:o,size:c,error:l,onClearError:u,minDate:f,maxDate:p,timePanelPlacement:h=`right`,mode:_=`date-time`}){let b=me(e,_),ae=b?.getTime()??null,oe=(0,W.useMemo)(()=>d(new Date),[]),[x,se]=(0,W.useState)(!1),[S,C]=(0,W.useState)(b??null),[w,ce]=(0,W.useState)(`day`),[T,E]=(0,W.useState)(()=>ue(b,oe,_)),{controlId:D,labelId:k,descriptionId:he,errorId:A,describedBy:_e}=ie({hasLabel:n!=null,hasDescription:!!r,hasError:!!l}),ve=(0,W.useEffectEvent)(e=>C(e)),j=(0,W.useEffectEvent)(e=>E(e));(0,W.useEffect)(()=>{x||ve(b??null),b&&j(b)},[b,ae,x]),(0,W.useEffect)(()=>{b&&j(b)},[b,ae]);let{segments:M,segmentValues:N,registerRef:P,handleInput:F,handleKeyDown:I,handleFocus:L,handleContainerFocus:R,handleContainerBlur:z,focusFirstEmpty:B}=ge({value:b,onChange:t,onClearError:u,disabled:o,minDate:f,maxDate:p,mode:_}),V=e=>{if(_===`time`||te(e)||o)return;let t=le(e,S??b??T),{hours:n,minutes:r}=fe(e,t.getHours(),t.getMinutes(),f,p,_),i=de(e,n,r);O(i,f,p,_)&&(u?.(),C(i),E(i))},ye=(e,t)=>{if(o)return;let n=S??b??T,r=fe(n,e,t,f,p,_),i=de(n,r.hours,r.minutes,_);O(i,f,p,_)&&(u?.(),C(i),E(i))},U=e=>{e&&(C(b??null),E(ue(b,oe,_))),se(e)},be=()=>{(b?.getTime()??null)!==(S?.getTime()??null)&&t(S)},xe=h===`right`?H.timePanelPaneRight:H.timePanelPaneBottom,K=_===`time`?`Открыть выбор времени`:`Открыть календарь даты и времени`,q=i??(_===`time`?`чч:мм`:`дд.мм.гггг чч:мм`),J=S??b??T;return(0,G.jsxs)(m,{open:x,onOpenChange:U,children:[(0,G.jsx)(ne,{label:n,description:r,disabled:o,size:c,error:l,controlId:D,labelId:k,descriptionId:he,errorId:A,children:(0,G.jsx)(re,{endAdornmentWidth:`var(--control-height)`,endAdornment:(0,G.jsx)(m.Trigger,{children:(0,G.jsx)(v,{variant:`transparent`,disabled:o,className:H.calendarButton,icon:_===`time`?(0,G.jsx)(ee,{}):(0,G.jsx)(s,{}),"aria-label":K})}),children:({controlClassName:e})=>(0,G.jsx)(`div`,{id:D,className:a(g.uiInputControlFake,e),"data-disabled":o||void 0,"data-invalid":l?``:void 0,role:`group`,"aria-invalid":!!l||void 0,"aria-placeholder":q,"aria-labelledby":k,"aria-describedby":_e,onFocus:R,onBlur:z,onClick:e=>{e.target===e.currentTarget&&B()},children:M.map((e,t)=>e.kind===`literal`?(0,G.jsx)(`span`,{className:H.separator,"data-disabled":o||void 0,children:e.text},t):(0,G.jsx)(`input`,{ref:P(t),type:`text`,inputMode:`numeric`,className:H.segmentInput,style:{width:`${e.length+.5}ch`},value:N.get(t)??``,placeholder:e.placeholder,maxLength:e.length,disabled:o,"aria-label":e.ariaLabel,autoComplete:`off`,onChange:F(t),onKeyDown:I(t),onFocus:L()},t))})})}),(0,G.jsx)(m.Content,{background:`primary`,onClose:be,children:_===`time`?(0,G.jsx)(`div`,{className:H.timeOnlyPopoverContent,children:(0,G.jsx)(pe,{value:J,disabled:o,minDate:f,maxDate:p,mode:_,onChange:ye})}):(0,G.jsxs)(`div`,{className:a(H.popoverContent,H[h]),children:[(0,G.jsx)(`div`,{className:H.calendarPane,children:(0,G.jsx)(y,{view:w,datePickerLevel:`day`,selectionMode:`day`,onViewChange:ce,value:J,onChange:V,minDate:f,maxDate:p,currentDate:T,onCurrentDateChange:E})}),(0,G.jsx)(`div`,{className:a(H.timePanelPane,xe),children:(0,G.jsx)(pe,{value:J,disabled:o,minDate:f,maxDate:p,mode:_,onChange:ye})})]})})]})}var W,G,be=n((()=>{W=t(r(),1),f(),o(),c(),b(),oe(),ae(),h(),_(),k(),ve(),ye(),E(),G=i(),U.__docgenInfo={description:`Поле выбора даты-времени со строгой сегментной маской и popover-пикером.`,methods:[],displayName:`SingleDateTimeInput`,props:{error:{required:!1,tsType:{name:`string`},description:``},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},minDate:{required:!1,tsType:{name:`Date`},description:``},maxDate:{required:!1,tsType:{name:`Date`},description:``},timePanelPlacement:{required:!1,tsType:{name:`union`,raw:`"bottom" | "right"`,elements:[{name:`literal`,value:`"bottom"`},{name:`literal`,value:`"right"`}]},description:``,defaultValue:{value:`"right"`,computed:!1}},mode:{required:!1,tsType:{name:`union`,raw:`"date-time" | "time"`,elements:[{name:`literal`,value:`"date-time"`},{name:`literal`,value:`"time"`}]},description:``,defaultValue:{value:`"date-time"`,computed:!1}},label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``}}}})),xe=e({Default:()=>Y,Empty:()=>Z,TimeOnly:()=>X,WithLimits:()=>Q,WithRightPanel:()=>$,__namedExportsOrder:()=>Se,default:()=>J}),K,q,J,Y,X,Z,Q,$,Se,Ce=n((()=>{K=t(r(),1),f(),be(),q=i(),J={title:`Shared/UI/SingleDateTimeInput`,component:U,args:{value:null,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля даты и времени.`,control:`text`},description:{description:`Описание под заголовком поля.`,control:`text`},placeholder:{description:`Текстовая подсказка для сегментного ввода.`,control:`text`},value:{description:"Текущее значение в виде `Date | null`.",control:!1},onChange:{description:`Вызывается при вводе или выборе валидной даты-времени.`,control:!1},minDate:{description:`Минимально допустимая дата-время.`,control:`date`},maxDate:{description:`Максимально допустимая дата-время.`,control:`date`},error:{description:`Текст внешней ошибки под полем.`,control:`text`},onClearError:{description:`Сбрасывает внешнюю ошибку при ручном вводе и выборе в picker.`,control:!1},size:{description:`Размер поля и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},disabled:{description:`Блокирует сегментный ввод и popover picker.`,control:`boolean`},timePanelPlacement:{description:`Размещение панели выбора времени относительно календаря.`,control:`inline-radio`,options:[`bottom`,`right`]},mode:{description:`Режим работы поля: дата-время или только время.`,control:`inline-radio`,options:[`date-time`,`time`]}}},Y={render:e=>{let[t,n]=(0,K.useState)(e.value??new Date(2026,2,5,9,15,0,0));return(0,q.jsxs)(`div`,{children:[(0,q.jsx)(U,{...e,value:t,onChange:n}),(0,q.jsxs)(`p`,{children:[`Вывод значения через `,(0,q.jsx)(`code`,{className:`statusInfo`,children:`formatDateAsDateTime(value)`}),`:`]}),(0,q.jsx)(`pre`,{children:l(t)}),(0,q.jsxs)(`p`,{children:[`Вывод значения через `,(0,q.jsx)(`code`,{className:`statusInfo`,children:`formatDateAsODataDatetime(value)`}),`:`]}),(0,q.jsx)(`pre`,{children:p(t)})]})},args:{label:`Дата и время`,description:`Фиксированный формат: дд.мм.гггг чч:мм`,placeholder:`дд.мм.гггг чч:мм`,timePanelPlacement:`bottom`}},X={render:e=>{let[t,n]=(0,K.useState)(new Date(1970,0,1,9,15,0,0));return(0,q.jsxs)(`div`,{children:[(0,q.jsx)(U,{...e,value:t,onChange:n}),(0,q.jsxs)(`p`,{children:[`Вывод значения через `,(0,q.jsx)(`code`,{className:`statusInfo`,children:`formatDateAsTime(value)`}),`:`]}),(0,q.jsx)(`pre`,{children:u(t)}),(0,q.jsx)(`p`,{children:`Техническая дата значения всегда фиксируется как 01.01.1970.`}),(0,q.jsx)(`pre`,{children:t?t.toISOString():``})]})},args:{label:`Время`,description:`Режим только времени с маской чч:мм и wheel-picker без календаря.`,placeholder:`чч:мм`,mode:`time`,minDate:new Date(2026,2,10,9,15,0,0),maxDate:new Date(2026,2,10,18,30,0,0)}},Z={render:e=>{let[t,n]=(0,K.useState)(null);return(0,q.jsx)(U,{...e,value:t,onChange:n})},args:{label:`Пустое значение`,description:`Поле можно заполнить вручную или через popover picker.`,placeholder:`дд.мм.гггг чч:мм`,timePanelPlacement:`bottom`}},Q={render:e=>{let[t,n]=(0,K.useState)(new Date(2026,2,10,12,30,0,0));return(0,q.jsx)(U,{...e,value:t,onChange:n})},args:{label:`Дата отгрузки`,description:`Доступен только интервал с 10 по 12 марта 2026 года.`,minDate:new Date(2026,2,10,9,0,0,0),maxDate:new Date(2026,2,12,18,30,0,0),timePanelPlacement:`bottom`}},$={render:e=>{let[t,n]=(0,K.useState)(new Date(2026,2,10,12,30,0,0));return(0,q.jsx)(U,{...e,value:t,onChange:n})},args:{label:`Дата и время`,description:`Wheel-панель времени расположена справа от календаря.`,timePanelPlacement:`right`}},Y.parameters={...Y.parameters,docs:{...Y.parameters?.docs,source:{originalSource:`{
2
+ render: args => {
3
+ const [value, setValue] = useState<Date | null>(args.value ?? new Date(2026, 2, 5, 9, 15, 0, 0));
4
+ return <div>
5
+ <SingleDateTimeInput {...args} value={value} onChange={setValue} />
6
+
7
+ <p>
8
+ Вывод значения через <code className="statusInfo">formatDateAsDateTime(value)</code>:
9
+ </p>
10
+ <pre>{formatDateAsDateTime(value)}</pre>
11
+ <p>
12
+ Вывод значения через <code className="statusInfo">formatDateAsODataDatetime(value)</code>:
13
+ </p>
14
+ <pre>{formatDateAsODataDatetime(value)}</pre>
15
+ </div>;
16
+ },
17
+ args: {
18
+ label: "Дата и время",
19
+ description: "Фиксированный формат: дд.мм.гггг чч:мм",
20
+ placeholder: "дд.мм.гггг чч:мм",
21
+ timePanelPlacement: "bottom"
22
+ }
23
+ }`,...Y.parameters?.docs?.source},description:{story:`Демонстрирует основной сценарий выбора даты и времени с точностью до минуты.`,...Y.parameters?.docs?.description}}},X.parameters={...X.parameters,docs:{...X.parameters?.docs,source:{originalSource:`{
24
+ render: args => {
25
+ const [value, setValue] = useState<Date | null>(new Date(1970, 0, 1, 9, 15, 0, 0));
26
+ return <div>
27
+ <SingleDateTimeInput {...args} value={value} onChange={setValue} />
28
+
29
+ <p>
30
+ Вывод значения через <code className="statusInfo">formatDateAsTime(value)</code>:
31
+ </p>
32
+ <pre>{formatDateAsTime(value)}</pre>
33
+ <p>Техническая дата значения всегда фиксируется как 01.01.1970.</p>
34
+ <pre>{value ? value.toISOString() : ""}</pre>
35
+ </div>;
36
+ },
37
+ args: {
38
+ label: "Время",
39
+ description: "Режим только времени с маской чч:мм и wheel-picker без календаря.",
40
+ placeholder: "чч:мм",
41
+ mode: "time",
42
+ minDate: new Date(2026, 2, 10, 9, 15, 0, 0),
43
+ maxDate: new Date(2026, 2, 10, 18, 30, 0, 0)
44
+ }
45
+ }`,...X.parameters?.docs?.source},description:{story:"Демонстрирует режим выбора только времени на технической дате `1970-01-01`.",...X.parameters?.docs?.description}}},Z.parameters={...Z.parameters,docs:{...Z.parameters?.docs,source:{originalSource:`{
46
+ render: args => {
47
+ const [value, setValue] = useState<Date | null>(null);
48
+ return <SingleDateTimeInput {...args} value={value} onChange={setValue} />;
49
+ },
50
+ args: {
51
+ label: "Пустое значение",
52
+ description: "Поле можно заполнить вручную или через popover picker.",
53
+ placeholder: "дд.мм.гггг чч:мм",
54
+ timePanelPlacement: "bottom"
55
+ }
56
+ }`,...Z.parameters?.docs?.source},description:{story:`Показывает пустое контролируемое значение.`,...Z.parameters?.docs?.description}}},Q.parameters={...Q.parameters,docs:{...Q.parameters?.docs,source:{originalSource:`{
57
+ render: args => {
58
+ const [value, setValue] = useState<Date | null>(new Date(2026, 2, 10, 12, 30, 0, 0));
59
+ return <SingleDateTimeInput {...args} value={value} onChange={setValue} />;
60
+ },
61
+ args: {
62
+ label: "Дата отгрузки",
63
+ description: "Доступен только интервал с 10 по 12 марта 2026 года.",
64
+ minDate: new Date(2026, 2, 10, 9, 0, 0, 0),
65
+ maxDate: new Date(2026, 2, 12, 18, 30, 0, 0),
66
+ timePanelPlacement: "bottom"
67
+ }
68
+ }`,...Q.parameters?.docs?.source},description:{story:`Демонстрирует ограничение диапазона и синхронизацию календаря со временем.`,...Q.parameters?.docs?.description}}},$.parameters={...$.parameters,docs:{...$.parameters?.docs,source:{originalSource:`{
69
+ render: args => {
70
+ const [value, setValue] = useState<Date | null>(new Date(2026, 2, 10, 12, 30, 0, 0));
71
+ return <SingleDateTimeInput {...args} value={value} onChange={setValue} />;
72
+ },
73
+ args: {
74
+ label: "Дата и время",
75
+ description: "Wheel-панель времени расположена справа от календаря.",
76
+ timePanelPlacement: "right"
77
+ }
78
+ }`,...$.parameters?.docs?.source},description:{story:`Демонстрирует размещение wheel-панели справа от календаря.`,...$.parameters?.docs?.description}}},Se=[`Default`,`TimeOnly`,`Empty`,`WithLimits`,`WithRightPanel`]}));Ce();export{Y as Default,Z as Empty,X as TimeOnly,Q as WithLimits,$ as WithRightPanel,Se as __namedExportsOrder,J as default,Ce as n,xe as t};
@@ -0,0 +1,63 @@
1
+ import{i as e}from"./preload-helper-B45gAKPr.js";import{E as t,a as n,d as r,f as i,l as a,m as o,n as s,p as c,r as l,u}from"./blocks-CwEU-ME1.js";import{t as d}from"./jsx-runtime-BBQGix-2.js";import{t as f}from"./mdx-react-shim-DnKFgFHy.js";import{Disabled as p,MonthsIndexMarks as m,RangeMonthToDaysOutput as h,RangeOpenMonthToDaysOutput as g,RangeOpenWithoutExplicitMiddleOutput as _,RangePlain as v,SingleStep as y,SingleWithMarks as b,n as x,t as S}from"./Slider.stories-Bias_Soq.js";function C(e){let o={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...t(),...e.components};return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(a,{of:S,parameters:{docs:{toc:!0}}}),`
2
+ `,(0,T.jsx)(c,{children:`Slider`}),`
3
+ `,(0,T.jsx)(i,{children:`Компактные single и range слайдеры с marks, tooltip и открытыми границами`}),`
4
+ `,(0,T.jsxs)(o.p,{children:[(0,T.jsx)(o.code,{children:`Slider`}),` и `,(0,T.jsx)(o.code,{children:`SliderRange`}),` — отдельные публичные компоненты. Оба используют общую числовую шкалу, но не смешивают single/range через prop.`]}),`
5
+ `,(0,T.jsxs)(o.ul,{children:[`
6
+ `,(0,T.jsxs)(o.li,{children:[(0,T.jsx)(o.code,{children:`Slider`}),` возвращает одно finite-число;`]}),`
7
+ `,(0,T.jsxs)(o.li,{children:[(0,T.jsx)(o.code,{children:`SliderRange`}),` возвращает `,(0,T.jsx)(o.code,{children:`[number | null, number | null]`}),`;`]}),`
8
+ `,(0,T.jsxs)(o.li,{children:[(0,T.jsx)(o.code,{children:`null`}),` в range означает открытую границу;`]}),`
9
+ `,(0,T.jsxs)(o.li,{children:[(0,T.jsx)(o.code,{children:`marks`}),` всегда задают snap-домен;`]}),`
10
+ `,(0,T.jsxs)(o.li,{children:[(0,T.jsx)(o.code,{children:`marksPosition="index"`}),` размещает marks с равным визуальным шагом.`]}),`
11
+ `]}),`
12
+ `,(0,T.jsx)(o.h2,{id:`основной-сценарий`,children:`Основной сценарий`}),`
13
+ `,(0,T.jsx)(u,{}),`
14
+ `,(0,T.jsx)(n,{of:y}),`
15
+ `,(0,T.jsx)(o.pre,{children:(0,T.jsx)(o.code,{className:`language-tsx`,children:`import { useState } from "react";
16
+
17
+ import { Slider } from "@/shared/ui";
18
+
19
+ export function Example() {
20
+ const [value, setValue] = useState<number | undefined>(35);
21
+
22
+ return <Slider label="Громкость" min={0} max={100} step={5} value={value} onChange={setValue} />;
23
+ }
24
+ `})}),`
25
+ `,(0,T.jsx)(o.h2,{id:`range-с-открытой-границей`,children:`Range с открытой границей`}),`
26
+ `,(0,T.jsx)(o.pre,{children:(0,T.jsx)(o.code,{className:`language-tsx`,children:`import { useState } from "react";
27
+
28
+ import { SliderRange, type SliderRangeValue } from "@/shared/ui";
29
+
30
+ const marks = [
31
+ { value: 0, label: "До 3 мес.", outputValue: null },
32
+ { value: 3, label: "3 мес." },
33
+ { value: 6, label: "6 мес." },
34
+ { value: 24, label: "От 24 мес.", outputValue: null }
35
+ ] as const;
36
+
37
+ export function Example() {
38
+ const [value, setValue] = useState<SliderRangeValue | undefined>([null, 6]);
39
+
40
+ return <SliderRange label="Период" min={0} max={24} marks={marks} marksPosition="index" value={value} onChange={setValue} />;
41
+ }
42
+ `})}),`
43
+ `,(0,T.jsx)(o.h2,{id:`сценарии-использования`,children:`Сценарии использования`}),`
44
+ `,(0,T.jsx)(o.h3,{id:`single-со-step`,children:`Single со step`}),`
45
+ `,(0,T.jsx)(l,{of:y}),`
46
+ `,(0,T.jsx)(o.h3,{id:`single-с-compact-marks`,children:`Single с compact marks`}),`
47
+ `,(0,T.jsx)(l,{of:b}),`
48
+ `,(0,T.jsx)(o.h3,{id:`равные-расстояния-между-неравномерными-значениями`,children:`Равные расстояния между неравномерными значениями`}),`
49
+ `,(0,T.jsx)(l,{of:m}),`
50
+ `,(0,T.jsx)(o.h3,{id:`range-без-outputvalue`,children:`Range без outputValue`}),`
51
+ `,(0,T.jsx)(l,{of:v}),`
52
+ `,(0,T.jsx)(o.h3,{id:`range-с-открытыми-границами-без-outputvalue-у-обычных-marks`,children:`Range с открытыми границами без outputValue у обычных marks`}),`
53
+ `,(0,T.jsx)(l,{of:_}),`
54
+ `,(0,T.jsx)(o.h3,{id:`range-с-outputvalue-месяцы-на-шкале-дни-в-фильтре`,children:`Range с outputValue: месяцы на шкале, дни в фильтре`}),`
55
+ `,(0,T.jsx)(l,{of:h}),`
56
+ `,(0,T.jsx)(o.h3,{id:`range-с-outputvalue-и-открытыми-границами`,children:`Range с outputValue и открытыми границами`}),`
57
+ `,(0,T.jsx)(l,{of:g}),`
58
+ `,(0,T.jsx)(o.h3,{id:`disabled`,children:`Disabled`}),`
59
+ `,(0,T.jsx)(l,{of:p}),`
60
+ `,(0,T.jsx)(o.h2,{id:`api`,children:`API`}),`
61
+ `,(0,T.jsx)(s,{of:S}),`
62
+ `,(0,T.jsx)(o.h2,{id:`все-сторисы`,children:`Все сторисы`}),`
63
+ `,(0,T.jsx)(r,{includePrimary:!1})]})}function w(e={}){let{wrapper:n}={...t(),...e.components};return n?(0,T.jsx)(n,{...e,children:(0,T.jsx)(C,{...e})}):C(e)}var T;e((()=>{T=d(),f(),o(),x()}))();export{w as default};