@ryuzaki13/react-foundation-ui 1.0.8 → 1.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (631) hide show
  1. package/dist/advanced-search/index.js +11 -11
  2. package/dist/badge/index.js +1 -1
  3. package/dist/base-table/index.js +1 -1
  4. package/dist/button/index.js +2 -23
  5. package/dist/check-box/index.js +1 -1
  6. package/dist/chunks/{CalendarView-DjeTJkTT.js → CalendarView-DCQjO2ho.js} +2 -2
  7. package/dist/chunks/{CalendarView-DjeTJkTT.js.map → CalendarView-DCQjO2ho.js.map} +1 -1
  8. package/dist/chunks/{odata-DSW7z3nh.js → SelectOptionContent-lfEtHXfO.js} +404 -381
  9. package/dist/chunks/SelectOptionContent-lfEtHXfO.js.map +1 -0
  10. package/dist/chunks/{TextEditorLexicalClient-16S18Yir.js → TextEditorLexicalClient-Bca3FOUs.js} +8 -8
  11. package/dist/chunks/{TextEditorLexicalClient-16S18Yir.js.map → TextEditorLexicalClient-Bca3FOUs.js.map} +1 -1
  12. package/dist/chunks/{BadgeList-DYgun2rf.js → badge-BfbLPk0z.js} +2 -2
  13. package/dist/chunks/badge-BfbLPk0z.js.map +1 -0
  14. package/dist/chunks/{base-table-CoQlKABk.js → base-table-CiYSRI_J.js} +4 -4
  15. package/dist/chunks/{base-table-CoQlKABk.js.map → base-table-CiYSRI_J.js.map} +1 -1
  16. package/dist/chunks/button-CC0Jdx1j.js +72 -0
  17. package/dist/chunks/button-CC0Jdx1j.js.map +1 -0
  18. package/dist/chunks/{CheckBox-BowNqqd3.js → check-box-BowNqqd3.js} +1 -1
  19. package/dist/chunks/check-box-BowNqqd3.js.map +1 -0
  20. package/dist/chunks/{DropdownMenu-DQeR3y7M.js → context-menu-DQeR3y7M.js} +1 -1
  21. package/dist/chunks/context-menu-DQeR3y7M.js.map +1 -0
  22. package/dist/chunks/{DateInput-BTJ-QTUx.js → date-input-DjAQ75n9.js} +5 -5
  23. package/dist/chunks/date-input-DjAQ75n9.js.map +1 -0
  24. package/dist/chunks/{DateRangePresetSelect-UgsfaOeM.js → date-range-preset-select-UgsfaOeM.js} +1 -1
  25. package/dist/chunks/date-range-preset-select-UgsfaOeM.js.map +1 -0
  26. package/dist/chunks/{Flex-DUYSL5TE.js → flex-CPO6xlPR.js} +38 -33
  27. package/dist/chunks/{Flex-DUYSL5TE.js.map → flex-CPO6xlPR.js.map} +1 -1
  28. package/dist/chunks/{Grid-ByIIytjh.js → grid-ByIIytjh.js} +1 -1
  29. package/dist/chunks/{Grid-ByIIytjh.js.map → grid-ByIIytjh.js.map} +1 -1
  30. package/dist/chunks/{Input-anSjiM9b.js → input-CZLUUggm.js} +10 -2
  31. package/dist/chunks/input-CZLUUggm.js.map +1 -0
  32. package/dist/chunks/{InputFiles-XBQxkHdB.js → input-files-aB8iaqGk.js} +5 -5
  33. package/dist/chunks/input-files-aB8iaqGk.js.map +1 -0
  34. package/dist/chunks/{input-search-B_njjJuV.js → input-search-eMvnvgV0.js} +2 -2
  35. package/dist/chunks/{input-search-B_njjJuV.js.map → input-search-eMvnvgV0.js.map} +1 -1
  36. package/dist/chunks/{misc-DoqZBMof.js → misc-1PxS8OWD.js} +2 -2
  37. package/dist/chunks/{misc-DoqZBMof.js.map → misc-1PxS8OWD.js.map} +1 -1
  38. package/dist/chunks/{modal-ByNRME3b.js → modal-C0j0hEIt.js} +5 -5
  39. package/dist/chunks/{modal-ByNRME3b.js.map → modal-C0j0hEIt.js.map} +1 -1
  40. package/dist/chunks/multi-select-r0ekR6Bh.js +541 -0
  41. package/dist/chunks/multi-select-r0ekR6Bh.js.map +1 -0
  42. package/dist/chunks/{picker-Du7Y4-el.js → picker-beNX-cW9.js} +11 -11
  43. package/dist/chunks/{picker-Du7Y4-el.js.map → picker-beNX-cW9.js.map} +1 -1
  44. package/dist/chunks/{RadioGroup-B9XjkcOy.js → radio-group-B9XjkcOy.js} +1 -1
  45. package/dist/chunks/radio-group-B9XjkcOy.js.map +1 -0
  46. package/dist/chunks/select-CFbZS7fx.js +284 -0
  47. package/dist/chunks/select-CFbZS7fx.js.map +1 -0
  48. package/dist/chunks/{table-Dc3AqMzP.js → table-BR2VqeEg.js} +2 -2
  49. package/dist/chunks/{table-Dc3AqMzP.js.map → table-BR2VqeEg.js.map} +1 -1
  50. package/dist/chunks/{toolbar-BCZNdRXM.js → toolbar-XCDeS2Li.js} +2 -2
  51. package/dist/chunks/{toolbar-BCZNdRXM.js.map → toolbar-XCDeS2Li.js.map} +1 -1
  52. package/dist/chunks/{useODataSelectBase-BbeKdq6x.js → useODataSelectBase-BxAvhDww.js} +2 -2
  53. package/dist/chunks/{useODataSelectBase-BbeKdq6x.js.map → useODataSelectBase-BxAvhDww.js.map} +1 -1
  54. package/dist/context-menu/index.js +1 -1
  55. package/dist/date-input/index.js +2 -2
  56. package/dist/date-range-preset-select/index.js +1 -1
  57. package/dist/date-time-input/index.js +458 -2
  58. package/dist/date-time-input/index.js.map +1 -0
  59. package/dist/detail/index.js +80 -2
  60. package/dist/detail/index.js.map +1 -0
  61. package/dist/dialog/index.js +50 -2
  62. package/dist/dialog/index.js.map +1 -0
  63. package/dist/disclosure/index.js +49 -2
  64. package/dist/disclosure/index.js.map +1 -0
  65. package/dist/drop-zone/index.js +98 -2
  66. package/dist/drop-zone/index.js.map +1 -0
  67. package/dist/errors/index.js +1 -1
  68. package/dist/expandable-action-panel/index.js +82 -2
  69. package/dist/expandable-action-panel/index.js.map +1 -0
  70. package/dist/flex/index.js +2 -14
  71. package/dist/grid/index.js +1 -1
  72. package/dist/image/index.js +5 -5
  73. package/dist/input/index.js +2 -14
  74. package/dist/input-date-time/index.js +258 -2
  75. package/dist/input-date-time/index.js.map +1 -0
  76. package/dist/input-file/index.js +105 -2
  77. package/dist/input-file/index.js.map +1 -0
  78. package/dist/input-files/index.js +1 -1
  79. package/dist/input-image/index.js +100 -2
  80. package/dist/input-image/index.js.map +1 -0
  81. package/dist/input-search/index.js +1 -1
  82. package/dist/layout-picker/index.js +1171 -2
  83. package/dist/layout-picker/index.js.map +1 -0
  84. package/dist/list/index.js +2 -2
  85. package/dist/listbox/index.js +81 -2
  86. package/dist/listbox/index.js.map +1 -0
  87. package/dist/misc/index.js +1 -1
  88. package/dist/modal/index.js +1 -1
  89. package/dist/multi-select/index.js +2 -3
  90. package/dist/notifications/index.js +151 -3
  91. package/dist/notifications/index.js.map +1 -0
  92. package/dist/picker/index.js +1 -1
  93. package/dist/preset-range-date-input/index.js +52 -3
  94. package/dist/preset-range-date-input/index.js.map +1 -1
  95. package/dist/preset-select/index.js +1 -1
  96. package/dist/radio-button/index.js +48 -2
  97. package/dist/radio-button/index.js.map +1 -0
  98. package/dist/radio-group/index.js +1 -1
  99. package/dist/select/index.js +2 -4
  100. package/dist/simple-table/index.js +1 -1
  101. package/dist/slider/index.js +695 -2
  102. package/dist/slider/index.js.map +1 -0
  103. package/dist/splitter/index.js +168 -2
  104. package/dist/splitter/index.js.map +1 -0
  105. package/dist/state-select/index.js +78 -2
  106. package/dist/state-select/index.js.map +1 -0
  107. package/dist/styles.css +1 -1
  108. package/dist/switch/index.js +81 -2
  109. package/dist/switch/index.js.map +1 -0
  110. package/dist/table/index.js +1 -1
  111. package/dist/table-sorting/index.js +1 -1
  112. package/dist/tabs/index.js +384 -2
  113. package/dist/tabs/index.js.map +1 -0
  114. package/dist/text-editor/index.js +3 -3
  115. package/dist/text-editor/toolbar/index.js +1 -1
  116. package/dist/textarea/index.js +44 -2
  117. package/dist/textarea/index.js.map +1 -0
  118. package/dist/toggle/index.js +73 -2
  119. package/dist/toggle/index.js.map +1 -0
  120. package/dist/toolbar/index.js +2 -3
  121. package/dist/toolbar/index.js.map +1 -1
  122. package/dist/tree-select/index.js +569 -89
  123. package/dist/tree-select/index.js.map +1 -1
  124. package/dist/tree-table/index.js +1 -1
  125. package/package.json +5 -304
  126. package/src/styles/_base.scss +11 -3
  127. package/src/styles/config/_index.scss +21 -37
  128. package/src/styles/themes/dark/_default.scss +0 -17
  129. package/storybook-static/assets/Badge-Cr7bAbxa.css +1 -0
  130. package/storybook-static/assets/Badge-Q8iX86Mn.js +139 -0
  131. package/storybook-static/assets/Badge.stories-BEMBzR2f.js +51 -0
  132. package/storybook-static/assets/Button-BN8Cuwsy.css +1 -0
  133. package/storybook-static/assets/Button-BUkCW8Zg.js +12 -0
  134. package/storybook-static/assets/Button-CfX05aoR.js +124 -0
  135. package/storybook-static/assets/Button.stories-BoNLZb6w.js +75 -0
  136. package/storybook-static/assets/CheckBox-B1xm2kwz.css +1 -0
  137. package/storybook-static/assets/CheckBox-CcXGzkSE.js +42 -0
  138. package/storybook-static/assets/CheckBox-DTSi8Yok.js +2 -0
  139. package/storybook-static/assets/CheckBox.module-Hr3mvdAC.js +1 -0
  140. package/storybook-static/assets/CheckBox.stories-Bo53TxC7.js +60 -0
  141. package/storybook-static/assets/Color-KMSTOMOX-Mbprgrbi.js +1 -0
  142. package/storybook-static/assets/ContextMenu-DYlSojIE.js +40 -0
  143. package/storybook-static/assets/ContextMenu.stories-BJr53bsq.js +90 -0
  144. package/storybook-static/assets/DateInput-Bc-MiPp1.css +1 -0
  145. package/storybook-static/assets/DateInput-BrmilavO.js +40 -0
  146. package/storybook-static/assets/DateInput-C72jV86j.js +1 -0
  147. package/storybook-static/assets/DateInput.stories-0hU_T1iZ.js +115 -0
  148. package/storybook-static/assets/DateRangePresetSelect-BklzgpCR.js +3 -0
  149. package/storybook-static/assets/DateRangePresetSelect-C7gJVkMB.js +30 -0
  150. package/storybook-static/assets/DateRangePresetSelect.stories-DQKDcAdP.js +11 -0
  151. package/storybook-static/assets/Detail-BKSBSfTO.css +1 -0
  152. package/storybook-static/assets/Detail-BMu0MY4h.js +40 -0
  153. package/storybook-static/assets/Detail.stories-CgBJjWQd.js +44 -0
  154. package/storybook-static/assets/Dialog-M7Uy3LiO.js +40 -0
  155. package/storybook-static/assets/Dialog.stories-BZ0opvaJ.js +31 -0
  156. package/storybook-static/assets/Disclosure-BXnfHC6v.js +29 -0
  157. package/storybook-static/assets/Disclosure-zNgXNDkm.css +1 -0
  158. package/storybook-static/assets/Disclosure.stories-C7wh6KJU.js +35 -0
  159. package/storybook-static/assets/DocsRenderer-JROSPFPF-BjXFJaat.js +2 -0
  160. package/storybook-static/assets/DropZone-C7HIN5ml.css +1 -0
  161. package/storybook-static/assets/DropZone-cd1aCNT1.js +36 -0
  162. package/storybook-static/assets/DropZone.stories-CVu731Lk.js +44 -0
  163. package/storybook-static/assets/DropdownMenu-B97Ad5Dg.js +1 -0
  164. package/storybook-static/assets/DropdownMenu-BgzIzwzM.css +1 -0
  165. package/storybook-static/assets/ExpandableActionPanel-D7q9two4.css +1 -0
  166. package/storybook-static/assets/ExpandableActionPanel.stories-k-eTxMyV.js +20 -0
  167. package/storybook-static/assets/Flex-BQkqAqL5.js +61 -0
  168. package/storybook-static/assets/Flex-C_VnI9xY.js +3 -0
  169. package/storybook-static/assets/Flex-IXK2se1Y.css +1 -0
  170. package/storybook-static/assets/Flex.stories-C1VO9Ct3.js +300 -0
  171. package/storybook-static/assets/Grid-Dr3BuEgd.js +61 -0
  172. package/storybook-static/assets/Grid-K9R_IHaw.css +1 -0
  173. package/storybook-static/assets/Grid-y8wKyEwc.js +163 -0
  174. package/storybook-static/assets/Grid.stories-6WUp6Tof.js +495 -0
  175. package/storybook-static/assets/Input-B7DWcGCL.js +3 -0
  176. package/storybook-static/assets/Input-BioMOZju.css +1 -0
  177. package/storybook-static/assets/Input-yly8wxYE.js +39 -0
  178. package/storybook-static/assets/Input.stories-CkVqvY-C.js +38 -0
  179. package/storybook-static/assets/InputDateTime-Cv8gmBe0.css +1 -0
  180. package/storybook-static/assets/InputDateTime-DHirw8rp.js +39 -0
  181. package/storybook-static/assets/InputDateTime.stories-Dci_81MA.js +35 -0
  182. package/storybook-static/assets/InputFile-DBFfWIkJ.js +37 -0
  183. package/storybook-static/assets/InputFile-hNjZ_wlG.css +1 -0
  184. package/storybook-static/assets/InputFile.stories-Bar27dP5.js +36 -0
  185. package/storybook-static/assets/InputFiles-ByK52qUe.css +1 -0
  186. package/storybook-static/assets/InputFiles-DPz7PiOC.js +1 -0
  187. package/storybook-static/assets/InputFiles-tULKp1KR.js +37 -0
  188. package/storybook-static/assets/InputFiles.stories-CkZ8et32.js +33 -0
  189. package/storybook-static/assets/InputImage-C-pnIXhT.css +1 -0
  190. package/storybook-static/assets/InputImage-D8VckxKl.js +37 -0
  191. package/storybook-static/assets/InputImage.stories-Dq8ORce3.js +51 -0
  192. package/storybook-static/assets/LayoutPicker-9tLTatHF.css +1 -0
  193. package/storybook-static/assets/LayoutPicker-l3XFAkqv.js +65 -0
  194. package/storybook-static/assets/LayoutPicker.stories-BjUmm2cg.js +449 -0
  195. package/storybook-static/assets/Listbox-B_6QVPAJ.js +38 -0
  196. package/storybook-static/assets/Listbox.stories-Cf_ApbmT.js +47 -0
  197. package/storybook-static/assets/Modal-BL_cTIW7.css +1 -0
  198. package/storybook-static/assets/Modal-BzienAaa.js +54 -0
  199. package/storybook-static/assets/Modal.stories-cPIHRa9a.js +180 -0
  200. package/storybook-static/assets/MultiSelect-CK2D25RA.js +56 -0
  201. package/storybook-static/assets/MultiSelect-CUQV67Ev.css +1 -0
  202. package/storybook-static/assets/MultiSelect-CjGBd2pC.js +2 -0
  203. package/storybook-static/assets/MultiSelect.stories--f_FoBzR.js +29 -0
  204. package/storybook-static/assets/NotificationsHost-D5Pvn4eu.css +1 -0
  205. package/storybook-static/assets/NotificationsHost-DKmlmqh0.js +44 -0
  206. package/storybook-static/assets/NotificationsHost.stories-1bPUJXfm.js +25 -0
  207. package/storybook-static/assets/ODataMultiSelect-BWUXuzlr.js +53 -0
  208. package/storybook-static/assets/ODataMultiSelect.stories-DA0f6SUG.js +73 -0
  209. package/storybook-static/assets/ODataSelect-D7GAFOcM.js +1 -0
  210. package/storybook-static/assets/ODataSelect-aNdHSjo_.js +52 -0
  211. package/storybook-static/assets/ODataSelect.stories-CjXA9Y9l.js +73 -0
  212. package/storybook-static/assets/ODataTreeMultiSelect-DKodulQ8.js +17 -0
  213. package/storybook-static/assets/ODataTreeMultiSelect.stories-BjRcb4W0.js +24 -0
  214. package/storybook-static/assets/ODataTreeSelect-Ck8HCh74.js +16 -0
  215. package/storybook-static/assets/ODataTreeSelect.stories-BgDj08mH.js +21 -0
  216. package/storybook-static/assets/PeriodSelect-Db7QmUfi.js +35 -0
  217. package/storybook-static/assets/PeriodSelect.stories-BI6yLRCK.js +23 -0
  218. package/storybook-static/assets/Popover-DR-r8iC5.js +45 -0
  219. package/storybook-static/assets/Popover.stories-ReRFMWiO.js +69 -0
  220. package/storybook-static/assets/PresetRangeDateInput-tSpiPAT9.js +31 -0
  221. package/storybook-static/assets/PresetRangeDateInput.stories-LVQa2_DG.js +15 -0
  222. package/storybook-static/assets/RadioButton-C-RjN-wY.css +1 -0
  223. package/storybook-static/assets/RadioButton-sEzdlL1y.js +38 -0
  224. package/storybook-static/assets/RadioButton.stories-CR0km0zF.js +36 -0
  225. package/storybook-static/assets/RadioGroup-BtNCd3Je.js +1 -0
  226. package/storybook-static/assets/RadioGroup-D-J7t20C.css +1 -0
  227. package/storybook-static/assets/RadioGroup-DR0H6Z0w.js +42 -0
  228. package/storybook-static/assets/RadioGroup.stories-FEqmkrs7.js +42 -0
  229. package/storybook-static/assets/Select-CO4ZHP9h.css +1 -0
  230. package/storybook-static/assets/Select-CUAevk01.js +57 -0
  231. package/storybook-static/assets/Select-DYVS7SCZ.js +9 -0
  232. package/storybook-static/assets/Select.stories-Df_c0IfC.js +37 -0
  233. package/storybook-static/assets/SelectOptionContent-B7W0Mned.js +1 -0
  234. package/storybook-static/assets/SerializableSelect-D63xBqOT.js +48 -0
  235. package/storybook-static/assets/SerializableSelect-DwCnuBgv.js +4 -0
  236. package/storybook-static/assets/SerializableSelect.stories-BLPXVOtP.js +43 -0
  237. package/storybook-static/assets/SingleDateTimeInput-mOllNfg2.css +1 -0
  238. package/storybook-static/assets/SingleDateTimeInput-xMkDodYz.js +53 -0
  239. package/storybook-static/assets/SingleDateTimeInput.stories-kcuSwx76.js +78 -0
  240. package/storybook-static/assets/Slider-BHZgpCjC.js +63 -0
  241. package/storybook-static/assets/Slider.stories-Bias_Soq.js +77 -0
  242. package/storybook-static/assets/SliderInput-jzFZcWr7.js +58 -0
  243. package/storybook-static/assets/SliderInput.stories-B7w8bp86.js +67 -0
  244. package/storybook-static/assets/Sortable-DcmDaPBw.js +72 -0
  245. package/storybook-static/assets/Sortable.stories-CwhHGCih.js +141 -0
  246. package/storybook-static/assets/Splitter-Bn7AJiD_.js +83 -0
  247. package/storybook-static/assets/Splitter-D-LmmQad.css +1 -0
  248. package/storybook-static/assets/Splitter.stories-CSvjKF-O.js +22 -0
  249. package/storybook-static/assets/StateSelect-MIGiXD10.js +36 -0
  250. package/storybook-static/assets/StateSelect-pIMkhj9A.css +1 -0
  251. package/storybook-static/assets/StateSelect.stories-BGDCnVqb.js +47 -0
  252. package/storybook-static/assets/Switch-C5zxOq_O.js +36 -0
  253. package/storybook-static/assets/Switch-DGYGWtPw.css +1 -0
  254. package/storybook-static/assets/Switch.stories-BmCl_Ts5.js +26 -0
  255. package/storybook-static/assets/Table-BGvRn9y0.css +1 -0
  256. package/storybook-static/assets/Table-CoySXvs5.js +197 -0
  257. package/storybook-static/assets/Table.stories-CA7ARhwC.js +122 -0
  258. package/storybook-static/assets/Tabs-BLkTB6pp.css +1 -0
  259. package/storybook-static/assets/Tabs-CQdzU18E.js +72 -0
  260. package/storybook-static/assets/Tabs.stories-SBWTpiy2.js +58 -0
  261. package/storybook-static/assets/Textarea-Bo-I0cnE.js +37 -0
  262. package/storybook-static/assets/Textarea-CPNMR88I.css +1 -0
  263. package/storybook-static/assets/Textarea.stories-C1wO9PKR.js +27 -0
  264. package/storybook-static/assets/TimePanel-0-mzaXky.js +1 -0
  265. package/storybook-static/assets/TimePanel-Bh98qsCo.css +1 -0
  266. package/storybook-static/assets/TimePanel.stories-C1VM13qN.js +25 -0
  267. package/storybook-static/assets/Toggle-B9H63WWC.js +37 -0
  268. package/storybook-static/assets/Toggle-DHulCX3T.css +1 -0
  269. package/storybook-static/assets/Toggle.stories-CKlGFcZW.js +30 -0
  270. package/storybook-static/assets/TreeMultiSelect-AXIl2Ge2.js +15 -0
  271. package/storybook-static/assets/TreeMultiSelect-Ci3bUpmv.js +1 -0
  272. package/storybook-static/assets/TreeMultiSelect.stories-CXGt4Q_u.js +14 -0
  273. package/storybook-static/assets/TreePickerBase-Md6Mt9qF.js +19 -0
  274. package/storybook-static/assets/TreePickerBase-qreyVjhY.css +1 -0
  275. package/storybook-static/assets/TreeSelect-BWoURakw.js +15 -0
  276. package/storybook-static/assets/TreeSelect-bOgRYtQQ.js +1 -0
  277. package/storybook-static/assets/TreeSelect.stories-By0h6wRi.js +16 -0
  278. package/storybook-static/assets/TreeTable--ZoksUiw.css +1 -0
  279. package/storybook-static/assets/TreeTable-C52Jh7O_.js +175 -0
  280. package/storybook-static/assets/TreeTable.stories-BH9Q8NPP.js +83 -0
  281. package/storybook-static/assets/WithTooltip-7X4HQR7L-DQXHhZoH.js +9 -0
  282. package/storybook-static/assets/axe-GLfyhAYL.js +20 -0
  283. package/storybook-static/assets/base-table-BNO0lnTL.css +1 -0
  284. package/storybook-static/assets/base-table-BSkQBgdx.js +18 -0
  285. package/storybook-static/assets/blocks-CwEU-ME1.js +285 -0
  286. package/storybook-static/assets/button-Bl3Hu8CS.js +1 -0
  287. package/storybook-static/assets/check-box-BrnNQnSi.js +1 -0
  288. package/storybook-static/assets/chunk-242VQQM5-Dtm7LRbQ.js +1 -0
  289. package/storybook-static/assets/chunk-3LY4VQVK-BxHCYS2R.js +6 -0
  290. package/storybook-static/assets/chunk-LITCR56V-euffoZAN.js +18 -0
  291. package/storybook-static/assets/contextMenu-Do6qEwKB.js +2 -0
  292. package/storybook-static/assets/date-segments-CzU9k5bl.js +1 -0
  293. package/storybook-static/assets/error-RVOk7zpw.js +1 -0
  294. package/storybook-static/assets/file-hArYcyES.js +1 -0
  295. package/storybook-static/assets/flex-DuYzsEBQ.js +1 -0
  296. package/storybook-static/assets/floating-ui.react-BR04wkLx.js +1 -0
  297. package/storybook-static/assets/formatter-L2YTDE3Q-Cdp-Jp2M.js +1 -0
  298. package/storybook-static/assets/formatters-yIBztcem.js +3 -0
  299. package/storybook-static/assets/grid-D0WOuGlB.js +1 -0
  300. package/storybook-static/assets/hooks-BEB2Gqy0.js +5 -0
  301. package/storybook-static/assets/iframe-SfMJGCsn.js +1117 -0
  302. package/storybook-static/assets/input-Be5K9_B7.js +1 -0
  303. package/storybook-static/assets/jsx-runtime-BBQGix-2.js +1 -0
  304. package/storybook-static/assets/lucide-react-CK2oyDtF.js +1 -0
  305. package/storybook-static/assets/matchers-JIUQ3HVY-BPS-eazD.js +28 -0
  306. package/storybook-static/assets/mdx-react-shim-DnKFgFHy.js +1 -0
  307. package/storybook-static/assets/media-Djn0SUaN.js +1 -0
  308. package/storybook-static/assets/misc-CPvLzCFJ.js +5 -0
  309. package/storybook-static/assets/misc-CerLA5Xh.css +1 -0
  310. package/storybook-static/assets/notifications-Zk996KvR.js +1 -0
  311. package/storybook-static/assets/odata-C2BNbnc9.js +1 -0
  312. package/storybook-static/assets/odata-service-8sDCOQ3I.js +1 -0
  313. package/storybook-static/assets/odataStoryFixtures-BBfdskiC.js +25 -0
  314. package/storybook-static/assets/picker-BmTTr59E.css +1 -0
  315. package/storybook-static/assets/picker-De4ZbESe.js +1 -0
  316. package/storybook-static/assets/popover-BiQHI7Wi.css +1 -0
  317. package/storybook-static/assets/popover-DWA5VOMQ.js +2 -0
  318. package/storybook-static/assets/preload-helper-B45gAKPr.js +1 -0
  319. package/storybook-static/assets/preset-select-DozCGhmu.js +5 -0
  320. package/storybook-static/assets/react-18-CfpYK14y.js +9 -0
  321. package/storybook-static/assets/react-BWN-5oQj.js +9 -0
  322. package/storybook-static/assets/react-dom-CncQzc_h.js +1 -0
  323. package/storybook-static/assets/select-BPvMbVDe.js +1 -0
  324. package/storybook-static/assets/slider-39Mty47U.js +2 -0
  325. package/storybook-static/assets/slider-DMDFRH6B.css +1 -0
  326. package/storybook-static/assets/sortable-CgCCp3dq.js +1 -0
  327. package/storybook-static/assets/sortable-DiBavgm0.css +1 -0
  328. package/storybook-static/assets/syntaxhighlighter-RTCFPKCB-Di6cCrDX.js +6 -0
  329. package/storybook-static/assets/text-BxA8yj6Z.js +4 -0
  330. package/storybook-static/assets/theming-DZauqOKI.js +39 -0
  331. package/storybook-static/assets/treeStoryFixtures-Cd984L7t.js +1 -0
  332. package/storybook-static/assets/ui-CmVy0trY.js +1 -0
  333. package/storybook-static/assets/ui-ZWM9zG1I.css +1 -0
  334. package/storybook-static/assets/ui.module-DS2qtZts.js +1 -0
  335. package/storybook-static/assets/uiClasses-CZ_HVS3Y.js +1 -0
  336. package/storybook-static/assets/useODataSelectBase-D33B4x2W.js +1 -0
  337. package/storybook-static/assets/useODataTreeData-CDdzN-LC.js +1 -0
  338. package/storybook-static/assets/utils-CReRlw17.js +1 -0
  339. package/storybook-static/favicon-wrapper.svg +46 -0
  340. package/storybook-static/favicon.svg +1 -0
  341. package/storybook-static/iframe.html +709 -0
  342. package/storybook-static/index.html +146 -0
  343. package/storybook-static/index.json +1 -0
  344. package/storybook-static/nunito-sans-bold-italic.woff2 +0 -0
  345. package/storybook-static/nunito-sans-bold.woff2 +0 -0
  346. package/storybook-static/nunito-sans-italic.woff2 +0 -0
  347. package/storybook-static/nunito-sans-regular.woff2 +0 -0
  348. package/storybook-static/project.json +1 -0
  349. package/storybook-static/sb-addons/a11y-2/manager-bundle.js +57 -0
  350. package/storybook-static/sb-addons/docs-1/manager-bundle.js +3 -0
  351. package/storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +630 -0
  352. package/storybook-static/sb-common-assets/favicon-wrapper.svg +46 -0
  353. package/storybook-static/sb-common-assets/favicon.svg +1 -0
  354. package/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  355. package/storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  356. package/storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  357. package/storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  358. package/storybook-static/sb-manager/globals-runtime.js +76714 -0
  359. package/storybook-static/sb-manager/globals.js +24 -0
  360. package/storybook-static/sb-manager/manager-stores.js +23 -0
  361. package/storybook-static/sb-manager/runtime.js +27451 -0
  362. package/storybook-static/vite-inject-mocker-entry.js +2 -0
  363. package/dist/badge/stories/Badge.stories.d.ts +0 -54
  364. package/dist/badge/stories/Badge.stories.d.ts.map +0 -1
  365. package/dist/badge/stories/Badge.stories.js +0 -147
  366. package/dist/badge/stories/Badge.stories.js.map +0 -1
  367. package/dist/button/index.js.map +0 -1
  368. package/dist/button/stories/Button.stories.d.ts +0 -69
  369. package/dist/button/stories/Button.stories.d.ts.map +0 -1
  370. package/dist/button/stories/Button.stories.js +0 -223
  371. package/dist/button/stories/Button.stories.js.map +0 -1
  372. package/dist/check-box/stories/CheckBox.stories.d.ts +0 -58
  373. package/dist/check-box/stories/CheckBox.stories.d.ts.map +0 -1
  374. package/dist/check-box/stories/CheckBox.stories.js +0 -150
  375. package/dist/check-box/stories/CheckBox.stories.js.map +0 -1
  376. package/dist/chunks/BadgeList-DYgun2rf.js.map +0 -1
  377. package/dist/chunks/Button-CCWuggdA.js +0 -55
  378. package/dist/chunks/Button-CCWuggdA.js.map +0 -1
  379. package/dist/chunks/CheckBox-BowNqqd3.js.map +0 -1
  380. package/dist/chunks/DateInput-BTJ-QTUx.js.map +0 -1
  381. package/dist/chunks/DateRangePresetSelect-UgsfaOeM.js.map +0 -1
  382. package/dist/chunks/Detail-DHDMsg8q.js +0 -80
  383. package/dist/chunks/Detail-DHDMsg8q.js.map +0 -1
  384. package/dist/chunks/Dialog-CFIvGxER.js +0 -50
  385. package/dist/chunks/Dialog-CFIvGxER.js.map +0 -1
  386. package/dist/chunks/DisclosureGroup-CfRTkl6Z.js +0 -49
  387. package/dist/chunks/DisclosureGroup-CfRTkl6Z.js.map +0 -1
  388. package/dist/chunks/DropZone-DgDMu4Iw.js +0 -98
  389. package/dist/chunks/DropZone-DgDMu4Iw.js.map +0 -1
  390. package/dist/chunks/DropdownMenu-DQeR3y7M.js.map +0 -1
  391. package/dist/chunks/Input-anSjiM9b.js.map +0 -1
  392. package/dist/chunks/InputDateTime-BGLJ_pbV.js +0 -258
  393. package/dist/chunks/InputDateTime-BGLJ_pbV.js.map +0 -1
  394. package/dist/chunks/InputFile-B5E0prk_.js +0 -105
  395. package/dist/chunks/InputFile-B5E0prk_.js.map +0 -1
  396. package/dist/chunks/InputFiles-XBQxkHdB.js.map +0 -1
  397. package/dist/chunks/InputImage-Bs6cFQIo.js +0 -100
  398. package/dist/chunks/InputImage-Bs6cFQIo.js.map +0 -1
  399. package/dist/chunks/LabeledExpandableActionPanel-D3kUvmFH.js +0 -82
  400. package/dist/chunks/LabeledExpandableActionPanel-D3kUvmFH.js.map +0 -1
  401. package/dist/chunks/Listbox-BZlp5qHz.js +0 -81
  402. package/dist/chunks/Listbox-BZlp5qHz.js.map +0 -1
  403. package/dist/chunks/MultiSelect-DblDAklj.js +0 -422
  404. package/dist/chunks/MultiSelect-DblDAklj.js.map +0 -1
  405. package/dist/chunks/NotificationsHost-_icJx4xR.js +0 -151
  406. package/dist/chunks/NotificationsHost-_icJx4xR.js.map +0 -1
  407. package/dist/chunks/PresetRangeDateInput-Bytk5sAs.js +0 -53
  408. package/dist/chunks/PresetRangeDateInput-Bytk5sAs.js.map +0 -1
  409. package/dist/chunks/RadioButton-D0uA0rX_.js +0 -48
  410. package/dist/chunks/RadioButton-D0uA0rX_.js.map +0 -1
  411. package/dist/chunks/RadioGroup-B9XjkcOy.js.map +0 -1
  412. package/dist/chunks/Select-ClBs-16a.js +0 -182
  413. package/dist/chunks/Select-ClBs-16a.js.map +0 -1
  414. package/dist/chunks/SelectOptionContent-CI7wq9Oi.js +0 -27
  415. package/dist/chunks/SelectOptionContent-CI7wq9Oi.js.map +0 -1
  416. package/dist/chunks/SerializableSelect-Ds8wp2_p.js +0 -33
  417. package/dist/chunks/SerializableSelect-Ds8wp2_p.js.map +0 -1
  418. package/dist/chunks/SingleDateTimeInput-kXrkLAAI.js +0 -331
  419. package/dist/chunks/SingleDateTimeInput-kXrkLAAI.js.map +0 -1
  420. package/dist/chunks/Splitter-BFkVGVRb.js +0 -168
  421. package/dist/chunks/Splitter-BFkVGVRb.js.map +0 -1
  422. package/dist/chunks/StateSelect-BzUsurDe.js +0 -78
  423. package/dist/chunks/StateSelect-BzUsurDe.js.map +0 -1
  424. package/dist/chunks/Switch-B57Qmy1z.js +0 -81
  425. package/dist/chunks/Switch-B57Qmy1z.js.map +0 -1
  426. package/dist/chunks/Textarea-CLyGS1h9.js +0 -44
  427. package/dist/chunks/Textarea-CLyGS1h9.js.map +0 -1
  428. package/dist/chunks/TimePanel-b4saqoUY.js +0 -135
  429. package/dist/chunks/TimePanel-b4saqoUY.js.map +0 -1
  430. package/dist/chunks/Toggle-DVqOQXmt.js +0 -73
  431. package/dist/chunks/Toggle-DVqOQXmt.js.map +0 -1
  432. package/dist/chunks/TreeMultiSelect-mIG8VKx8.js +0 -40
  433. package/dist/chunks/TreeMultiSelect-mIG8VKx8.js.map +0 -1
  434. package/dist/chunks/TreePickerBase-C9HEABt5.js +0 -423
  435. package/dist/chunks/TreePickerBase-C9HEABt5.js.map +0 -1
  436. package/dist/chunks/TreeSelect-B9rb_fbI.js +0 -37
  437. package/dist/chunks/TreeSelect-B9rb_fbI.js.map +0 -1
  438. package/dist/chunks/layout-picker-CSLuIUVZ.js +0 -1171
  439. package/dist/chunks/layout-picker-CSLuIUVZ.js.map +0 -1
  440. package/dist/chunks/multi-select-ei7LHBCv.js +0 -126
  441. package/dist/chunks/multi-select-ei7LHBCv.js.map +0 -1
  442. package/dist/chunks/odata-DSW7z3nh.js.map +0 -1
  443. package/dist/chunks/select-Ds7_EAGN.js +0 -81
  444. package/dist/chunks/select-Ds7_EAGN.js.map +0 -1
  445. package/dist/chunks/slider-uU26AeGu.js +0 -695
  446. package/dist/chunks/slider-uU26AeGu.js.map +0 -1
  447. package/dist/chunks/tabs-DlnVVMJl.js +0 -384
  448. package/dist/chunks/tabs-DlnVVMJl.js.map +0 -1
  449. package/dist/chunks/treeStoryFixtures-Bhm3Gdky.js +0 -113
  450. package/dist/chunks/treeStoryFixtures-Bhm3Gdky.js.map +0 -1
  451. package/dist/context-menu/stories/ContextMenu.stories.d.ts +0 -16
  452. package/dist/context-menu/stories/ContextMenu.stories.d.ts.map +0 -1
  453. package/dist/context-menu/stories/ContextMenu.stories.js +0 -136
  454. package/dist/context-menu/stories/ContextMenu.stories.js.map +0 -1
  455. package/dist/date-input/stories/DateInput.stories.d.ts +0 -132
  456. package/dist/date-input/stories/DateInput.stories.d.ts.map +0 -1
  457. package/dist/date-input/stories/DateInput.stories.js +0 -247
  458. package/dist/date-input/stories/DateInput.stories.js.map +0 -1
  459. package/dist/date-range-preset-select/stories/DateRangePresetSelect.stories.d.ts +0 -22
  460. package/dist/date-range-preset-select/stories/DateRangePresetSelect.stories.d.ts.map +0 -1
  461. package/dist/date-range-preset-select/stories/DateRangePresetSelect.stories.js +0 -41
  462. package/dist/date-range-preset-select/stories/DateRangePresetSelect.stories.js.map +0 -1
  463. package/dist/date-time-input/stories/SingleDateTimeInput.stories.d.ts +0 -95
  464. package/dist/date-time-input/stories/SingleDateTimeInput.stories.d.ts.map +0 -1
  465. package/dist/date-time-input/stories/SingleDateTimeInput.stories.js +0 -195
  466. package/dist/date-time-input/stories/SingleDateTimeInput.stories.js.map +0 -1
  467. package/dist/date-time-input/stories/TimePanel.stories.d.ts +0 -26
  468. package/dist/date-time-input/stories/TimePanel.stories.d.ts.map +0 -1
  469. package/dist/date-time-input/stories/TimePanel.stories.js +0 -53
  470. package/dist/date-time-input/stories/TimePanel.stories.js.map +0 -1
  471. package/dist/detail/stories/Detail.stories.d.ts +0 -67
  472. package/dist/detail/stories/Detail.stories.d.ts.map +0 -1
  473. package/dist/detail/stories/Detail.stories.js +0 -170
  474. package/dist/detail/stories/Detail.stories.js.map +0 -1
  475. package/dist/dialog/stories/Dialog.stories.d.ts +0 -50
  476. package/dist/dialog/stories/Dialog.stories.d.ts.map +0 -1
  477. package/dist/dialog/stories/Dialog.stories.js +0 -89
  478. package/dist/dialog/stories/Dialog.stories.js.map +0 -1
  479. package/dist/disclosure/stories/Disclosure.stories.d.ts +0 -35
  480. package/dist/disclosure/stories/Disclosure.stories.d.ts.map +0 -1
  481. package/dist/disclosure/stories/Disclosure.stories.js +0 -70
  482. package/dist/disclosure/stories/Disclosure.stories.js.map +0 -1
  483. package/dist/drop-zone/stories/DropZone.stories.d.ts +0 -63
  484. package/dist/drop-zone/stories/DropZone.stories.d.ts.map +0 -1
  485. package/dist/drop-zone/stories/DropZone.stories.js +0 -97
  486. package/dist/drop-zone/stories/DropZone.stories.js.map +0 -1
  487. package/dist/expandable-action-panel/stories/ExpandableActionPanel.stories.d.ts +0 -44
  488. package/dist/expandable-action-panel/stories/ExpandableActionPanel.stories.d.ts.map +0 -1
  489. package/dist/expandable-action-panel/stories/ExpandableActionPanel.stories.js +0 -117
  490. package/dist/expandable-action-panel/stories/ExpandableActionPanel.stories.js.map +0 -1
  491. package/dist/flex/index.js.map +0 -1
  492. package/dist/flex/stories/Flex.stories.d.ts +0 -24
  493. package/dist/flex/stories/Flex.stories.d.ts.map +0 -1
  494. package/dist/flex/stories/Flex.stories.js +0 -607
  495. package/dist/flex/stories/Flex.stories.js.map +0 -1
  496. package/dist/grid/stories/Grid.stories.d.ts +0 -24
  497. package/dist/grid/stories/Grid.stories.d.ts.map +0 -1
  498. package/dist/grid/stories/Grid.stories.js +0 -840
  499. package/dist/grid/stories/Grid.stories.js.map +0 -1
  500. package/dist/input/index.js.map +0 -1
  501. package/dist/input/stories/Input.stories.d.ts +0 -69
  502. package/dist/input/stories/Input.stories.d.ts.map +0 -1
  503. package/dist/input/stories/Input.stories.js +0 -132
  504. package/dist/input/stories/Input.stories.js.map +0 -1
  505. package/dist/input-date-time/stories/InputDateTime.stories.d.ts +0 -69
  506. package/dist/input-date-time/stories/InputDateTime.stories.d.ts.map +0 -1
  507. package/dist/input-date-time/stories/InputDateTime.stories.js +0 -125
  508. package/dist/input-date-time/stories/InputDateTime.stories.js.map +0 -1
  509. package/dist/input-file/stories/InputFile.stories.d.ts +0 -85
  510. package/dist/input-file/stories/InputFile.stories.d.ts.map +0 -1
  511. package/dist/input-file/stories/InputFile.stories.js +0 -158
  512. package/dist/input-file/stories/InputFile.stories.js.map +0 -1
  513. package/dist/input-files/stories/InputFiles.stories.d.ts +0 -86
  514. package/dist/input-files/stories/InputFiles.stories.d.ts.map +0 -1
  515. package/dist/input-files/stories/InputFiles.stories.js +0 -158
  516. package/dist/input-files/stories/InputFiles.stories.js.map +0 -1
  517. package/dist/input-image/stories/InputImage.stories.d.ts +0 -81
  518. package/dist/input-image/stories/InputImage.stories.d.ts.map +0 -1
  519. package/dist/input-image/stories/InputImage.stories.js +0 -174
  520. package/dist/input-image/stories/InputImage.stories.js.map +0 -1
  521. package/dist/layout-picker/stories/LayoutPicker.stories.d.ts +0 -873
  522. package/dist/layout-picker/stories/LayoutPicker.stories.d.ts.map +0 -1
  523. package/dist/layout-picker/stories/LayoutPicker.stories.js +0 -422
  524. package/dist/layout-picker/stories/LayoutPicker.stories.js.map +0 -1
  525. package/dist/listbox/stories/Listbox.stories.d.ts +0 -76
  526. package/dist/listbox/stories/Listbox.stories.d.ts.map +0 -1
  527. package/dist/listbox/stories/Listbox.stories.js +0 -140
  528. package/dist/listbox/stories/Listbox.stories.js.map +0 -1
  529. package/dist/modal/stories/Modal.stories.d.ts +0 -74
  530. package/dist/modal/stories/Modal.stories.d.ts.map +0 -1
  531. package/dist/modal/stories/Modal.stories.js +0 -320
  532. package/dist/modal/stories/Modal.stories.js.map +0 -1
  533. package/dist/multi-select/ui/stories/MultiSelect.stories.d.ts +0 -67
  534. package/dist/multi-select/ui/stories/MultiSelect.stories.d.ts.map +0 -1
  535. package/dist/multi-select/ui/stories/MultiSelect.stories.js +0 -114
  536. package/dist/multi-select/ui/stories/MultiSelect.stories.js.map +0 -1
  537. package/dist/multi-select/ui/stories/ODataMultiSelect.stories.d.ts +0 -44
  538. package/dist/multi-select/ui/stories/ODataMultiSelect.stories.d.ts.map +0 -1
  539. package/dist/notifications/ui/stories/NotificationsHost.stories.d.ts +0 -21
  540. package/dist/notifications/ui/stories/NotificationsHost.stories.d.ts.map +0 -1
  541. package/dist/notifications/ui/stories/NotificationsHost.stories.js +0 -326
  542. package/dist/notifications/ui/stories/NotificationsHost.stories.js.map +0 -1
  543. package/dist/period-select/stories/PeriodSelect.stories.d.ts +0 -96
  544. package/dist/period-select/stories/PeriodSelect.stories.d.ts.map +0 -1
  545. package/dist/period-select/stories/PeriodSelect.stories.js +0 -166
  546. package/dist/period-select/stories/PeriodSelect.stories.js.map +0 -1
  547. package/dist/popover/stories/Popover.stories.d.ts +0 -10
  548. package/dist/popover/stories/Popover.stories.d.ts.map +0 -1
  549. package/dist/popover/stories/Popover.stories.js +0 -75
  550. package/dist/popover/stories/Popover.stories.js.map +0 -1
  551. package/dist/preset-range-date-input/ui/stories/PresetRangeDateInput.stories.d.ts +0 -22
  552. package/dist/preset-range-date-input/ui/stories/PresetRangeDateInput.stories.d.ts.map +0 -1
  553. package/dist/preset-range-date-input/ui/stories/PresetRangeDateInput.stories.js +0 -45
  554. package/dist/preset-range-date-input/ui/stories/PresetRangeDateInput.stories.js.map +0 -1
  555. package/dist/radio-button/stories/RadioButton.stories.d.ts +0 -60
  556. package/dist/radio-button/stories/RadioButton.stories.d.ts.map +0 -1
  557. package/dist/radio-button/stories/RadioButton.stories.js +0 -121
  558. package/dist/radio-button/stories/RadioButton.stories.js.map +0 -1
  559. package/dist/radio-group/stories/RadioGroup.stories.d.ts +0 -74
  560. package/dist/radio-group/stories/RadioGroup.stories.d.ts.map +0 -1
  561. package/dist/radio-group/stories/RadioGroup.stories.js +0 -146
  562. package/dist/radio-group/stories/RadioGroup.stories.js.map +0 -1
  563. package/dist/select/stories/ODataSelect.stories.d.ts +0 -46
  564. package/dist/select/stories/ODataSelect.stories.d.ts.map +0 -1
  565. package/dist/select/stories/Select.stories.d.ts +0 -127
  566. package/dist/select/stories/Select.stories.d.ts.map +0 -1
  567. package/dist/select/stories/Select.stories.js +0 -214
  568. package/dist/select/stories/Select.stories.js.map +0 -1
  569. package/dist/select/stories/SerializableSelect.stories.d.ts +0 -91
  570. package/dist/select/stories/SerializableSelect.stories.d.ts.map +0 -1
  571. package/dist/select/stories/SerializableSelect.stories.js +0 -165
  572. package/dist/select/stories/SerializableSelect.stories.js.map +0 -1
  573. package/dist/select/stories/odataStoryCollection.d.ts +0 -2
  574. package/dist/select/stories/odataStoryCollection.d.ts.map +0 -1
  575. package/dist/select/stories/odataStoryFixtures.d.ts +0 -35
  576. package/dist/select/stories/odataStoryFixtures.d.ts.map +0 -1
  577. package/dist/slider/stories/Slider.stories.d.ts +0 -29
  578. package/dist/slider/stories/Slider.stories.d.ts.map +0 -1
  579. package/dist/slider/stories/Slider.stories.js +0 -310
  580. package/dist/slider/stories/Slider.stories.js.map +0 -1
  581. package/dist/slider/stories/SliderInput.stories.d.ts +0 -30
  582. package/dist/slider/stories/SliderInput.stories.d.ts.map +0 -1
  583. package/dist/slider/stories/SliderInput.stories.js +0 -282
  584. package/dist/slider/stories/SliderInput.stories.js.map +0 -1
  585. package/dist/sortable/stories/Sortable.stories.d.ts +0 -58
  586. package/dist/sortable/stories/Sortable.stories.d.ts.map +0 -1
  587. package/dist/sortable/stories/Sortable.stories.js +0 -255
  588. package/dist/sortable/stories/Sortable.stories.js.map +0 -1
  589. package/dist/splitter/stories/Splitter.stories.d.ts +0 -66
  590. package/dist/splitter/stories/Splitter.stories.d.ts.map +0 -1
  591. package/dist/splitter/stories/Splitter.stories.js +0 -223
  592. package/dist/splitter/stories/Splitter.stories.js.map +0 -1
  593. package/dist/state-select/stories/StateSelect.stories.d.ts +0 -70
  594. package/dist/state-select/stories/StateSelect.stories.d.ts.map +0 -1
  595. package/dist/state-select/stories/StateSelect.stories.js +0 -145
  596. package/dist/state-select/stories/StateSelect.stories.js.map +0 -1
  597. package/dist/switch/stories/Switch.stories.d.ts +0 -59
  598. package/dist/switch/stories/Switch.stories.d.ts.map +0 -1
  599. package/dist/switch/stories/Switch.stories.js +0 -90
  600. package/dist/switch/stories/Switch.stories.js.map +0 -1
  601. package/dist/table/stories/Table.stories.d.ts +0 -155
  602. package/dist/table/stories/Table.stories.d.ts.map +0 -1
  603. package/dist/tabs/stories/Tabs.stories.d.ts +0 -94
  604. package/dist/tabs/stories/Tabs.stories.d.ts.map +0 -1
  605. package/dist/tabs/stories/Tabs.stories.js +0 -283
  606. package/dist/tabs/stories/Tabs.stories.js.map +0 -1
  607. package/dist/textarea/stories/Textarea.stories.d.ts +0 -64
  608. package/dist/textarea/stories/Textarea.stories.d.ts.map +0 -1
  609. package/dist/textarea/stories/Textarea.stories.js +0 -98
  610. package/dist/textarea/stories/Textarea.stories.js.map +0 -1
  611. package/dist/toggle/stories/Toggle.stories.d.ts +0 -61
  612. package/dist/toggle/stories/Toggle.stories.d.ts.map +0 -1
  613. package/dist/toggle/stories/Toggle.stories.js +0 -102
  614. package/dist/toggle/stories/Toggle.stories.js.map +0 -1
  615. package/dist/tree-select/stories/ODataTreeMultiSelect.stories.d.ts +0 -55
  616. package/dist/tree-select/stories/ODataTreeMultiSelect.stories.d.ts.map +0 -1
  617. package/dist/tree-select/stories/ODataTreeSelect.stories.d.ts +0 -54
  618. package/dist/tree-select/stories/ODataTreeSelect.stories.d.ts.map +0 -1
  619. package/dist/tree-select/stories/TreeMultiSelect.stories.d.ts +0 -35
  620. package/dist/tree-select/stories/TreeMultiSelect.stories.d.ts.map +0 -1
  621. package/dist/tree-select/stories/TreeMultiSelect.stories.js +0 -64
  622. package/dist/tree-select/stories/TreeMultiSelect.stories.js.map +0 -1
  623. package/dist/tree-select/stories/TreeSelect.stories.d.ts +0 -35
  624. package/dist/tree-select/stories/TreeSelect.stories.d.ts.map +0 -1
  625. package/dist/tree-select/stories/TreeSelect.stories.js +0 -66
  626. package/dist/tree-select/stories/TreeSelect.stories.js.map +0 -1
  627. package/dist/tree-select/stories/treeStoryFixtures.d.ts +0 -3
  628. package/dist/tree-select/stories/treeStoryFixtures.d.ts.map +0 -1
  629. package/dist/tree-table/stories/TreeTable.stories.d.ts +0 -158
  630. package/dist/tree-table/stories/TreeTable.stories.d.ts.map +0 -1
  631. package/src/styles/fonts.scss +0 -47
@@ -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};