@ryuzaki13/react-foundation-ui 1.4.1 → 1.4.3

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 (509) hide show
  1. package/dist/advanced-search/index.js +12 -11
  2. package/dist/advanced-search/index.js.map +1 -1
  3. package/dist/badge/index.js +1 -1
  4. package/dist/base-table/index.js +2 -2
  5. package/dist/button/index.js +1 -1
  6. package/dist/chunks/{CalendarView-KCkhCtK-.js → CalendarView-Z_XWk7aI.js} +8 -8
  7. package/dist/chunks/{CalendarView-KCkhCtK-.js.map → CalendarView-Z_XWk7aI.js.map} +1 -1
  8. package/dist/chunks/{ImageViewerRuntime-RN49by8Y.js → ImageViewerRuntime-BMs3BBkV.js} +4 -4
  9. package/dist/chunks/{ImageViewerRuntime-RN49by8Y.js.map → ImageViewerRuntime-BMs3BBkV.js.map} +1 -1
  10. package/dist/chunks/{TextEditorLexicalClient-CVTrglWP.js → TextEditorLexicalClient-CK8j3RA4.js} +16 -18
  11. package/dist/chunks/{TextEditorLexicalClient-CVTrglWP.js.map → TextEditorLexicalClient-CK8j3RA4.js.map} +1 -1
  12. package/dist/chunks/{badge-Cri0-kVK.js → badge-DwIUjH0a.js} +2 -2
  13. package/dist/chunks/{badge-Cri0-kVK.js.map → badge-DwIUjH0a.js.map} +1 -1
  14. package/dist/chunks/{base-table-D5IqsjQD.js → base-table-BFsVwXg3.js} +13 -12
  15. package/dist/chunks/{base-table-D5IqsjQD.js.map → base-table-BFsVwXg3.js.map} +1 -1
  16. package/dist/chunks/{button-CC0Jdx1j.js → button-BU2kRzwu.js} +2 -2
  17. package/dist/chunks/button-BU2kRzwu.js.map +1 -0
  18. package/dist/chunks/check-box-Dd3YFuxd.js.map +1 -1
  19. package/dist/chunks/{context-menu-DQeR3y7M.js → context-menu-C6RO7soI.js} +7 -2
  20. package/dist/chunks/{context-menu-DQeR3y7M.js.map → context-menu-C6RO7soI.js.map} +1 -1
  21. package/dist/chunks/{date-input-DBJisPRz.js → date-input-BzExUQnc.js} +5 -5
  22. package/dist/chunks/{date-input-DBJisPRz.js.map → date-input-BzExUQnc.js.map} +1 -1
  23. package/dist/chunks/{flex-DYZ0IbU6.js → flex-C7njxZ74.js} +10 -7
  24. package/dist/chunks/{flex-DYZ0IbU6.js.map → flex-C7njxZ74.js.map} +1 -1
  25. package/dist/chunks/floating-arrow-BE-z4QkE.js.map +1 -1
  26. package/dist/chunks/{input-BCJfUdK_.js → input-Bp6_Ucgr.js} +15 -15
  27. package/dist/chunks/{input-BCJfUdK_.js.map → input-Bp6_Ucgr.js.map} +1 -1
  28. package/dist/chunks/{input-files-Dcc5K-_1.js → input-files-D1JzSw_Y.js} +2 -2
  29. package/dist/chunks/{input-files-Dcc5K-_1.js.map → input-files-D1JzSw_Y.js.map} +1 -1
  30. package/dist/chunks/{input-search-B7HmrAM7.js → input-search-Bkhcinru.js} +2 -2
  31. package/dist/chunks/{input-search-B7HmrAM7.js.map → input-search-Bkhcinru.js.map} +1 -1
  32. package/dist/chunks/{misc-DIF5h9ba.js → misc-BYxxlJz6.js} +3 -3
  33. package/dist/chunks/{misc-DIF5h9ba.js.map → misc-BYxxlJz6.js.map} +1 -1
  34. package/dist/chunks/{modal-DXHX_sA-.js → modal-paexEF0j.js} +4 -5
  35. package/dist/chunks/{modal-DXHX_sA-.js.map → modal-paexEF0j.js.map} +1 -1
  36. package/dist/chunks/{multi-select-CWx12rgb.js → multi-select-COa6-owj.js} +3 -3
  37. package/dist/chunks/{multi-select-CWx12rgb.js.map → multi-select-COa6-owj.js.map} +1 -1
  38. package/dist/chunks/{picker-BAQ9NeHe.js → picker-e6IsrMUG.js} +3 -3
  39. package/dist/chunks/{picker-BAQ9NeHe.js.map → picker-e6IsrMUG.js.map} +1 -1
  40. package/dist/chunks/{popover-xJJqy1v6.js → popover-CGU3MlsH.js} +14 -14
  41. package/dist/chunks/{popover-xJJqy1v6.js.map → popover-CGU3MlsH.js.map} +1 -1
  42. package/dist/chunks/radio-group-CM9Lg_nc.js.map +1 -1
  43. package/dist/chunks/{select-BPb-eL3O.js → select-C95db02j.js} +32 -31
  44. package/dist/chunks/{select-BPb-eL3O.js.map → select-C95db02j.js.map} +1 -1
  45. package/dist/chunks/sortable-DcTIAbjD.js.map +1 -1
  46. package/dist/chunks/{table-xMAjqtcY.js → table-Dd5BcC0k.js} +3 -3
  47. package/dist/chunks/{table-xMAjqtcY.js.map → table-Dd5BcC0k.js.map} +1 -1
  48. package/dist/chunks/{table-column-interactions-BGd5Lwy9.js → table-column-interactions-DzEvVuXe.js} +8 -5
  49. package/dist/chunks/{table-column-interactions-BGd5Lwy9.js.map → table-column-interactions-DzEvVuXe.js.map} +1 -1
  50. package/dist/chunks/useODataSelectBase-CKe1AVMI.js.map +1 -1
  51. package/dist/chunks/wheel-picker-FS58cRsQ.js.map +1 -1
  52. package/dist/context-menu/index.js +1 -1
  53. package/dist/date-input/index.js +2 -2
  54. package/dist/date-time-input/index.js +4 -4
  55. package/dist/date-time-input/index.js.map +1 -1
  56. package/dist/detail/index.js.map +1 -1
  57. package/dist/dialog/index.js.map +1 -1
  58. package/dist/disclosure/index.js +1 -1
  59. package/dist/disclosure/index.js.map +1 -1
  60. package/dist/drop-zone/index.js +1 -1
  61. package/dist/drop-zone/index.js.map +1 -1
  62. package/dist/errors/index.js +1 -1
  63. package/dist/errors/index.js.map +1 -1
  64. package/dist/expandable-action-panel/index.js +2 -2
  65. package/dist/expandable-action-panel/index.js.map +1 -1
  66. package/dist/flex/index.js +1 -1
  67. package/dist/fullscreen-portal/index.js +3 -3
  68. package/dist/fullscreen-portal/index.js.map +1 -1
  69. package/dist/image/index.js +5 -5
  70. package/dist/image/index.js.map +1 -1
  71. package/dist/input/index.js +1 -1
  72. package/dist/input-date-time/index.js +1 -1
  73. package/dist/input-date-time/index.js.map +1 -1
  74. package/dist/input-file/index.js +1 -1
  75. package/dist/input-file/index.js.map +1 -1
  76. package/dist/input-files/index.js +1 -1
  77. package/dist/input-image/index.js +1 -1
  78. package/dist/input-image/index.js.map +1 -1
  79. package/dist/input-search/index.js +1 -1
  80. package/dist/layout-picker/index.js +3 -3
  81. package/dist/layout-picker/index.js.map +1 -1
  82. package/dist/list/index.js +7 -7
  83. package/dist/list/index.js.map +1 -1
  84. package/dist/listbox/index.js.map +1 -1
  85. package/dist/misc/index.js +1 -1
  86. package/dist/modal/index.js +1 -1
  87. package/dist/multi-select/index.js +1 -1
  88. package/dist/notifications/index.js +13 -11
  89. package/dist/notifications/index.js.map +1 -1
  90. package/dist/pages/index.js.map +1 -1
  91. package/dist/panel/index.js.map +1 -1
  92. package/dist/picker/index.js +1 -1
  93. package/dist/popover/index.js +1 -1
  94. package/dist/preset-range-date-input/index.js +2 -2
  95. package/dist/preset-range-date-input/index.js.map +1 -1
  96. package/dist/preset-select/index.js +1 -1
  97. package/dist/radio-button/index.js.map +1 -1
  98. package/dist/select/index.js +1 -1
  99. package/dist/simple-table/index.js +1 -1
  100. package/dist/slider/index.js +27 -24
  101. package/dist/slider/index.js.map +1 -1
  102. package/dist/splitter/index.js.map +1 -1
  103. package/dist/state-select/index.js +12 -10
  104. package/dist/state-select/index.js.map +1 -1
  105. package/dist/styles.css +1 -1
  106. package/dist/switch/index.js +1 -1
  107. package/dist/switch/index.js.map +1 -1
  108. package/dist/table/index.js +1 -1
  109. package/dist/table-column-interactions/index.js +1 -1
  110. package/dist/table-sorting/index.js +1 -1
  111. package/dist/table-sorting/index.js.map +1 -1
  112. package/dist/tabs/index.js +6 -6
  113. package/dist/tabs/index.js.map +1 -1
  114. package/dist/tag-input/index.js +1 -1
  115. package/dist/tag-input/index.js.map +1 -1
  116. package/dist/text/index.js +10 -8
  117. package/dist/text/index.js.map +1 -1
  118. package/dist/text-editor/index.js +2 -2
  119. package/dist/textarea/index.js +1 -1
  120. package/dist/textarea/index.js.map +1 -1
  121. package/dist/toggle/index.js.map +1 -1
  122. package/dist/toolbar/index.js +1 -2
  123. package/dist/toolbar/index.js.map +1 -1
  124. package/dist/tree/index.js.map +1 -1
  125. package/dist/tree-select/index.js +83 -80
  126. package/dist/tree-select/index.js.map +1 -1
  127. package/dist/tree-table/index.js +2 -2
  128. package/dist/tree-table/index.js.map +1 -1
  129. package/package.json +51 -59
  130. package/storybook-static/assets/{Badge-DrS-PqPt.js → Badge-DHexWW92.js} +11 -11
  131. package/storybook-static/assets/Badge.stories-CeWDekpP.js +54 -0
  132. package/storybook-static/assets/Button-DtU4kGzD.css +1 -0
  133. package/storybook-static/assets/Button-VdPdxcvG.js +12 -0
  134. package/storybook-static/assets/{Button-CIC4xzqW.js → Button-kybsFNS9.js} +10 -10
  135. package/storybook-static/assets/Button.stories-DhgYDM_q.js +75 -0
  136. package/storybook-static/assets/{DateInput-BfFTwd_P.css → CalendarView-DKvrkS40.css} +1 -1
  137. package/storybook-static/assets/CalendarView-DTX0eO8t.js +1 -0
  138. package/storybook-static/assets/CheckBox-B6rTemHK.js +2 -0
  139. package/storybook-static/assets/{CheckBox-B2HRisgL.js → CheckBox-CDwboiFD.js} +11 -11
  140. package/storybook-static/assets/CheckBox.module-BBzuj5He.js +1 -0
  141. package/storybook-static/assets/CheckBox.stories-BSMihxpY.js +60 -0
  142. package/storybook-static/assets/Color-6AOWCN3U-D5F38IUU.js +1 -0
  143. package/storybook-static/assets/{ContextMenu-BH2hpaXG.js → ContextMenu-2ZQAeo_p.js} +9 -9
  144. package/storybook-static/assets/ContextMenu-CQtvL8kx.js +1 -0
  145. package/storybook-static/assets/ContextMenu.stories-Dtz2YIGk.js +90 -0
  146. package/storybook-static/assets/{DateInput-DCJw3t_Z.js → DateInput-D41aWZ7_.js} +11 -11
  147. package/storybook-static/assets/DateInput-DBwgBhFj.js +1 -0
  148. package/storybook-static/assets/DateInput-pmGiwdvw.css +1 -0
  149. package/storybook-static/assets/{DateInput.stories-BG4-DoSj.js → DateInput.stories-CMV96t-8.js} +2 -2
  150. package/storybook-static/assets/{DateRangePresetSelect-KLRkhxJb.js → DateRangePresetSelect-BLKJkg8X.js} +8 -8
  151. package/storybook-static/assets/DateRangePresetSelect-DXYYFJJn.js +3 -0
  152. package/storybook-static/assets/DateRangePresetSelect.stories-BNtFx_iG.js +11 -0
  153. package/storybook-static/assets/{Detail-3XawxFBs.js → Detail-BHcGLZok.js} +11 -11
  154. package/storybook-static/assets/Detail.stories-C4smn8Uu.js +44 -0
  155. package/storybook-static/assets/{Dialog-CnolXXtD.js → Dialog-kji1ho-G.js} +9 -9
  156. package/storybook-static/assets/Dialog.stories-DYzrVcIT.js +31 -0
  157. package/storybook-static/assets/{Disclosure-BmQa9ejy.js → Disclosure-BVLfp53o.js} +10 -10
  158. package/storybook-static/assets/Disclosure.stories-DcV1pGCt.js +41 -0
  159. package/storybook-static/assets/DocsRenderer-JROSPFPF-CCwX0YiR.js +2 -0
  160. package/storybook-static/assets/{DropZone-BLqqXnAE.js → DropZone-6iWHt6C_.js} +10 -10
  161. package/storybook-static/assets/DropZone.stories-bASZNbD5.js +44 -0
  162. package/storybook-static/assets/ExpandableActionPanel.stories-CMMbHs_d.js +20 -0
  163. package/storybook-static/assets/{Flex-B1T5p8TC.js → Flex-BJViOwhH.js} +18 -18
  164. package/storybook-static/assets/Flex.stories-CI6DdxU7.js +300 -0
  165. package/storybook-static/assets/FlexContainer-LmZIdhq2.js +1 -0
  166. package/storybook-static/assets/FlexItem-vkDYa5tA.js +3 -0
  167. package/storybook-static/assets/FloatingPopover-CPLOruAY.js +1 -0
  168. package/storybook-static/assets/FloatingPopover-DC84VrV3.css +1 -0
  169. package/storybook-static/assets/FormattedTableCell-CV4yLuxl.js +18 -0
  170. package/storybook-static/assets/FormattedTableCell-CY3E21k8.css +1 -0
  171. package/storybook-static/assets/Grid-BCzygAqy.js +52 -0
  172. package/storybook-static/assets/{Grid-BNsFGran.js → Grid-CNEn2bRE.js} +18 -18
  173. package/storybook-static/assets/{Grid.stories-BtDwT-co.js → Grid.stories-qFo5E3qE.js} +2 -2
  174. package/storybook-static/assets/{Grid-DudjnKE7.js → GridContainer-qDguE1HS.js} +2 -53
  175. package/storybook-static/assets/ImageCropper.stories-BeQI7oKQ.js +115 -0
  176. package/storybook-static/assets/ImageRenderer-DK2ibQyr.js +2 -0
  177. package/storybook-static/assets/ImageRenderer.stories-C1T4ne0G.js +22 -0
  178. package/storybook-static/assets/ImageView.stories-D_Q-ZBtQ.js +9 -0
  179. package/storybook-static/assets/{ImageViewer.stories-CA-tcnt2.js → ImageViewer.stories-boombTJI.js} +5 -5
  180. package/storybook-static/assets/ImageViewerRuntime-D8KSESgf.js +51 -0
  181. package/storybook-static/assets/{Input-B6zekikL.js → Input-CGHba0oM.js} +11 -11
  182. package/storybook-static/assets/Input-DtOsW7ur.js +3 -0
  183. package/storybook-static/assets/Input.stories-C0qWd6SH.js +38 -0
  184. package/storybook-static/assets/{InputDateTime-EYsJkV-0.js → InputDateTime-CgYkmVYu.js} +11 -11
  185. package/storybook-static/assets/InputDateTime.stories-Brxo7Chn.js +35 -0
  186. package/storybook-static/assets/{InputFile-BizeGHyb.js → InputFile-Bsxafe88.js} +10 -10
  187. package/storybook-static/assets/InputFile.stories-BzEV7ybE.js +36 -0
  188. package/storybook-static/assets/{InputFiles-9tzXfyuT.js → InputFiles-KJFUsmSS.js} +10 -10
  189. package/storybook-static/assets/InputFiles.stories-ffjxiHSh.js +33 -0
  190. package/storybook-static/assets/InputFilesList-D6B5g99M.js +1 -0
  191. package/storybook-static/assets/{InputImage-uw3SMJNy.js → InputImage-Cd39V4Vc.js} +10 -10
  192. package/storybook-static/assets/InputImage.stories-n-tpY8OO.js +51 -0
  193. package/storybook-static/assets/{LayoutPicker-CeiyAZt7.js → LayoutPicker-CGQFfQk6.js} +13 -13
  194. package/storybook-static/assets/LayoutPicker.stories-xSL2qafC.js +449 -0
  195. package/storybook-static/assets/{Listbox-C-B_og6p.js → Listbox-CxISK8c5.js} +10 -10
  196. package/storybook-static/assets/Listbox.stories-BdQBmVFI.js +47 -0
  197. package/storybook-static/assets/{Modal-CsfpIg6C.js → Modal-BiaAWMdV.js} +12 -12
  198. package/storybook-static/assets/Modal.stories-GV7fGqyd.js +180 -0
  199. package/storybook-static/assets/MultiSelect-D5XFosSU.js +2 -0
  200. package/storybook-static/assets/{MultiSelect-Dt5HCrYP.js → MultiSelect-Df2CpyNH.js} +11 -11
  201. package/storybook-static/assets/MultiSelect.stories-BEVQF6hO.js +29 -0
  202. package/storybook-static/assets/MultiSelectToken-CrVawISu.js +1 -0
  203. package/storybook-static/assets/NoData-C7KqaHUh.css +1 -0
  204. package/storybook-static/assets/NoData-Fm23iF4n.js +1 -0
  205. package/storybook-static/assets/{NotificationsHost-CDI8mQh0.js → NotificationsHost-C2vSwAjz.js} +9 -9
  206. package/storybook-static/assets/NotificationsHost.stories-IbgayDlM.js +25 -0
  207. package/storybook-static/assets/{ODataMultiSelect-Bj1NtXx4.js → ODataMultiSelect-oW3kW0nO.js} +15 -15
  208. package/storybook-static/assets/ODataMultiSelect.stories-CP6_jGSr.js +73 -0
  209. package/storybook-static/assets/{ODataSelect-CalTWDdU.js → ODataSelect-CrGF8fyC.js} +15 -15
  210. package/storybook-static/assets/ODataSelect.stories-DTv31Rkv.js +73 -0
  211. package/storybook-static/assets/ODataTreeMultiSelect-D0h8H3gw.js +19 -0
  212. package/storybook-static/assets/ODataTreeMultiSelect.stories-CM8QjG8r.js +30 -0
  213. package/storybook-static/assets/ODataTreeSelect-PWn0-hI4.js +17 -0
  214. package/storybook-static/assets/ODataTreeSelect.stories-2UkFTnbE.js +24 -0
  215. package/storybook-static/assets/OneStepScroller-CH6K7wiO.js +5 -0
  216. package/storybook-static/assets/OneStepScroller-NRYd-egY.css +1 -0
  217. package/storybook-static/assets/{PeriodSelect--wEPFluW.js → PeriodSelect-BtwJuAO6.js} +13 -13
  218. package/storybook-static/assets/PeriodSelect.stories-BH8I5Wmg.js +64 -0
  219. package/storybook-static/assets/PickerSelectionToolbar-BcL8-O6n.js +2 -0
  220. package/storybook-static/assets/PickerTriggerActions-C8Asdp5e.js +1 -0
  221. package/storybook-static/assets/{Popover-CXlXO4Om.js → Popover-Ch5btFhR.js} +11 -11
  222. package/storybook-static/assets/Popover-DGX7JNNK.css +1 -0
  223. package/storybook-static/assets/Popover-Djns7yXR.js +2 -0
  224. package/storybook-static/assets/Popover.stories-Bask2I1I.js +69 -0
  225. package/storybook-static/assets/{PresetRangeDateInput-Ek_8-9jx.js → PresetRangeDateInput-DvsTjQNP.js} +8 -8
  226. package/storybook-static/assets/PresetRangeDateInput.stories-BNfOUWgp.js +15 -0
  227. package/storybook-static/assets/PresetSelect-9zitP0-V.js +5 -0
  228. package/storybook-static/assets/{RadioButton-CFyxweTk.js → RadioButton-Yb9bQKYe.js} +10 -10
  229. package/storybook-static/assets/RadioButton.stories-FIFxXFVP.js +36 -0
  230. package/storybook-static/assets/RadioGroup-CWsVqwtm.js +1 -0
  231. package/storybook-static/assets/{RadioGroup-BzgaB3tz.js → RadioGroup-Dn0zL838.js} +10 -10
  232. package/storybook-static/assets/RadioGroup.stories-B_drop9x.js +42 -0
  233. package/storybook-static/assets/Scrollable-3Z6b5g0Z.js +1 -0
  234. package/storybook-static/assets/{Select-CJTdiLLf.js → Select-BaR8D89E.js} +13 -13
  235. package/storybook-static/assets/Select-BiOxxy0y.js +12 -0
  236. package/storybook-static/assets/Select.stories-CMlWu7vC.js +46 -0
  237. package/storybook-static/assets/SelectOptionContent-DhtCMwz6.js +1 -0
  238. package/storybook-static/assets/{SerializableSelect-CsZnvsML.js → SerializableSelect-BDiZo_-M.js} +12 -12
  239. package/storybook-static/assets/SerializableSelect.stories-DgC6oiRx.js +46 -0
  240. package/storybook-static/assets/{SingleDateTimeInput-NGciSlUN.js → SingleDateTimeInput-Dx1fvzyr.js} +12 -12
  241. package/storybook-static/assets/SingleDateTimeInput.stories-NRUE7nnA.js +78 -0
  242. package/storybook-static/assets/Slider-DJpzPo7f.js +1 -0
  243. package/storybook-static/assets/{Slider-J-URo5p1.js → Slider-aiFcrSGY.js} +15 -15
  244. package/storybook-static/assets/Slider.stories-B0YHmFf5.js +77 -0
  245. package/storybook-static/assets/{SliderInput-D2IjNhE4.js → SliderInput-sOoxvdku.js} +16 -16
  246. package/storybook-static/assets/SliderInput.stories-BYk1V19Z.js +68 -0
  247. package/storybook-static/assets/{Sortable-Dut8-sKx.js → Sortable-CuVT40f8.js} +13 -13
  248. package/storybook-static/assets/Sortable.stories-KSWGoKrN.js +141 -0
  249. package/storybook-static/assets/{Splitter-Bid56cjA.js → Splitter-EoNOj4XF.js} +11 -11
  250. package/storybook-static/assets/Splitter.stories-CuAZab2y.js +22 -0
  251. package/storybook-static/assets/{StateSelect-C0z6JyBe.js → StateSelect-B_M50HZl.js} +10 -10
  252. package/storybook-static/assets/StateSelect.stories-DQ_MzvL4.js +47 -0
  253. package/storybook-static/assets/StringToggle.stories-BbRysCKA.js +6 -0
  254. package/storybook-static/assets/{Switch-Di-v9u1A.js → Switch-DO_tyZIc.js} +10 -10
  255. package/storybook-static/assets/Switch.stories-BQakMoPp.js +26 -0
  256. package/storybook-static/assets/{Table-DrsB0gBG.js → Table-CVK5rwmT.js} +22 -22
  257. package/storybook-static/assets/Table.stories-IZaleOjp.js +122 -0
  258. package/storybook-static/assets/{Tabs-DkY_hPxX.js → Tabs-DAaWUQb4.js} +15 -15
  259. package/storybook-static/assets/Tabs.stories-BC8LwG22.js +58 -0
  260. package/storybook-static/assets/TagInput.stories-CrXD57LV.js +18 -0
  261. package/storybook-static/assets/Text-cVBcGheg.js +1 -0
  262. package/storybook-static/assets/{Textarea-CwA3jBjr.js → Textarea-9VdIC6G0.js} +10 -10
  263. package/storybook-static/assets/Textarea.stories-CEaMwEau.js +27 -0
  264. package/storybook-static/assets/TimePanel-vx1aOwT4.js +1 -0
  265. package/storybook-static/assets/TimePanel.stories-BKyiLEgy.js +25 -0
  266. package/storybook-static/assets/Toggle-CyajrRVE.js +1 -0
  267. package/storybook-static/assets/{Toggle-Bo4KR3MN.js → Toggle-DrNoVpGe.js} +10 -10
  268. package/storybook-static/assets/Toggle.stories-CT0mQbdm.js +30 -0
  269. package/storybook-static/assets/TreeMultiSelect-CtDZ1cXU.js +1 -0
  270. package/storybook-static/assets/TreeMultiSelect-ag5i_Hw_.js +19 -0
  271. package/storybook-static/assets/TreeMultiSelect.stories-BxrbKopS.js +35 -0
  272. package/storybook-static/assets/TreePickerBase-DQzUtuAm.js +22 -0
  273. package/storybook-static/assets/TreeSelect-BNuJBo9x.js +1 -0
  274. package/storybook-static/assets/TreeSelect-CL8REXC5.js +16 -0
  275. package/storybook-static/assets/TreeSelect.stories-CsWGc9X0.js +18 -0
  276. package/storybook-static/assets/{TreeTable-rbcFU6RL.js → TreeTable-DrIFC4Oh.js} +22 -22
  277. package/storybook-static/assets/TreeTable.stories-Dq5c4_qe.js +83 -0
  278. package/storybook-static/assets/WithTooltip-7X4HQR7L-Cakt_JaX.js +9 -0
  279. package/storybook-static/assets/array-BBSjoTRy-CIRmlF93.js +1 -0
  280. package/storybook-static/assets/{async-DoYCd2O1.js → async-0-Te_uje.js} +3 -3
  281. package/storybook-static/assets/axe-Bq-2xuso.js +20 -0
  282. package/storybook-static/assets/blocks-Dz3dJBcm.js +48 -0
  283. package/storybook-static/assets/browserAndReact-kZBm3nQe.js +105 -0
  284. package/storybook-static/assets/check-BMyoSD8F.js +1 -0
  285. package/storybook-static/assets/chevron-down-QDFtnGcg.js +1 -0
  286. package/storybook-static/assets/chevron-left-BoVuWD4h.js +1 -0
  287. package/storybook-static/assets/chevron-right-DS62_o_9.js +1 -0
  288. package/storybook-static/assets/chunk-242VQQM5-BMWWiybC.js +1 -0
  289. package/storybook-static/assets/chunk-DRQKCCAG-CqE-Zrl9.js +1 -0
  290. package/storybook-static/assets/chunk-IMSF75WX-yvVUwIQZ.js +6 -0
  291. package/storybook-static/assets/chunk-KJHJLCBK-D-yQfkOi.js +1 -0
  292. package/storybook-static/assets/chunk-QQBDHPVZ-B98qboss.js +1 -0
  293. package/storybook-static/assets/chunk-W22LQPXL-DDIvKskF.js +18 -0
  294. package/storybook-static/assets/circle-alert-CXg50Gb0.js +1 -0
  295. package/storybook-static/assets/circle-check-BPfYNWmz.js +1 -0
  296. package/storybook-static/assets/components-BejapTpU.js +241 -0
  297. package/storybook-static/assets/contextMenu-DtXkMNr6.js +2 -0
  298. package/storybook-static/assets/date-segments-D3HouZ37.js +1 -0
  299. package/storybook-static/assets/dom-B3G_GtJw.js +1 -0
  300. package/storybook-static/assets/download-DnZ6jhvY.js +1 -0
  301. package/storybook-static/assets/error-BZrNlEUO.js +1 -0
  302. package/storybook-static/assets/file-vPGnhPr-.js +1 -0
  303. package/storybook-static/assets/filesAndExcel-CXMXtMjq.js +122 -0
  304. package/storybook-static/assets/floating-ui.react-PN45KvBS.js +1 -0
  305. package/storybook-static/assets/formatter-L2YTDE3Q-x0raBH34.js +1 -0
  306. package/storybook-static/assets/formatters--mhLir82-v41eaI4a.js +1 -0
  307. package/storybook-static/assets/formatters-DGXR8csR.js +291 -0
  308. package/storybook-static/assets/formatters-runtime-GsS-hTg9.js +384 -0
  309. package/storybook-static/assets/foundationLib-XrLbqi3r.js +82 -0
  310. package/storybook-static/assets/hooks-Ddmw7JMF.js +5 -0
  311. package/storybook-static/assets/iframe-CrnMVMTc.js +1151 -0
  312. package/storybook-static/assets/iframe-FUHzX0Mr.js +1 -0
  313. package/storybook-static/assets/info-Dqq5QHG7.js +1 -0
  314. package/storybook-static/assets/{matchers-JIUQ3HVY-BPS-eazD.js → matchers-JIUQ3HVY-DvR2XErZ.js} +3 -3
  315. package/storybook-static/assets/media-BycWpjAl.js +1 -0
  316. package/storybook-static/assets/odata-BaxgzNGj.js +1 -0
  317. package/storybook-static/assets/odata-service-DnPlNGpU-Bpd4Zh9L.js +3 -0
  318. package/storybook-static/assets/odataAndTables-OEVW-gFK.js +126 -0
  319. package/storybook-static/assets/{odataFetchFn-DDErUu7H.js → odataFetchFn-BLWeF0ZQ.js} +3 -3
  320. package/storybook-static/assets/odataStoryFixtures-BbswaX_5.js +25 -0
  321. package/storybook-static/assets/{persisted-DphnlPy-.js → persisted-BpFojVXw.js} +3 -3
  322. package/storybook-static/assets/preload-helper-BHmFeTtP.js +1 -0
  323. package/storybook-static/assets/pureUtilities-3afQk5ld.js +69 -0
  324. package/storybook-static/assets/react-18-CgkwBzTo.js +9 -0
  325. package/storybook-static/assets/react-C21x__mS.js +1 -0
  326. package/storybook-static/assets/react-CpOcCp9T.js +9 -0
  327. package/storybook-static/assets/react-CvkUhHUq.js +1 -0
  328. package/storybook-static/assets/react-dom-2o2phaJG.js +1 -0
  329. package/storybook-static/assets/react-qN2cStNd.js +1 -0
  330. package/storybook-static/assets/refresh-cw-B2VU4UNA.js +1 -0
  331. package/storybook-static/assets/rolldown-runtime-C0FnF6B9.js +1 -0
  332. package/storybook-static/assets/runtimeAndState-BEFDbOiZ.js +117 -0
  333. package/storybook-static/assets/settings-2-CLJhjWJl.js +1 -0
  334. package/storybook-static/assets/sortable-DW_Veba0.js +1 -0
  335. package/storybook-static/assets/syntaxhighlighter-T5IQBZDB-D0RhvxXU.js +6 -0
  336. package/storybook-static/assets/theming-mTWhffkp.js +39 -0
  337. package/storybook-static/assets/trash-2-yLqdtpz8.js +1 -0
  338. package/storybook-static/assets/treeStoryFixtures-Ci7STpiz.js +1 -0
  339. package/storybook-static/assets/triangle-alert-wI8Cd8tI.js +1 -0
  340. package/storybook-static/assets/ui.module-DoMIk8Oc.js +1 -0
  341. package/storybook-static/assets/uiClasses-CO3Cdv1E.js +1 -0
  342. package/storybook-static/assets/useFlexClasses-Gn9spXEB.js +1 -0
  343. package/storybook-static/assets/useODataSelectBase-WnxdcAM4.js +1 -0
  344. package/storybook-static/assets/useODataTreeData-C7L5TOjl.js +1 -0
  345. package/storybook-static/assets/usePickerDefaultFilter-DdxyE_i8.js +1 -0
  346. package/storybook-static/assets/usePickerQuery-CAWYFpCv.js +1 -0
  347. package/storybook-static/assets/usePickerTriggerController-BRXUlggw.js +1 -0
  348. package/storybook-static/assets/utils-DUM89eIj.js +1 -0
  349. package/storybook-static/assets/x-CyFk00QC.js +1 -0
  350. package/storybook-static/iframe.html +8 -3
  351. package/storybook-static/index.html +6 -0
  352. package/storybook-static/index.json +1 -1
  353. package/storybook-static/project.json +1 -1
  354. package/storybook-static/sb-addons/a11y-3/manager-bundle.js +3 -3
  355. package/storybook-static/sb-addons/chromatic-com-storybook-1/manager-bundle.js +17 -17
  356. package/storybook-static/sb-addons/docs-2/manager-bundle.js +16 -1
  357. package/storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +85 -83
  358. package/storybook-static/sb-addons/vitest-4/manager-bundle.js +1 -1
  359. package/storybook-static/sb-manager/globals-runtime.js +9939 -7695
  360. package/storybook-static/sb-manager/runtime.js +16128 -15326
  361. package/storybook-static/vite-inject-mocker-entry.js +2 -2
  362. package/dist/chunks/button-CC0Jdx1j.js.map +0 -1
  363. package/storybook-static/assets/Badge.stories-DwBMjWuT.js +0 -51
  364. package/storybook-static/assets/Button-Dpi111u7.js +0 -12
  365. package/storybook-static/assets/Button-nI2z0h4X.css +0 -1
  366. package/storybook-static/assets/Button.stories-DZmRqHrE.js +0 -75
  367. package/storybook-static/assets/CheckBox-DHWs_MEe.js +0 -2
  368. package/storybook-static/assets/CheckBox.module-ezWPE2pa.js +0 -1
  369. package/storybook-static/assets/CheckBox.stories-ChxWTQwY.js +0 -60
  370. package/storybook-static/assets/Color-KMSTOMOX-Ct0gfrkd.js +0 -1
  371. package/storybook-static/assets/ContextMenu.stories-D8QOi68M.js +0 -90
  372. package/storybook-static/assets/DateInput-aifcbvnl.js +0 -1
  373. package/storybook-static/assets/DateRangePresetSelect-lWDa-_zo.js +0 -3
  374. package/storybook-static/assets/DateRangePresetSelect.stories-DyxuSPt4.js +0 -11
  375. package/storybook-static/assets/Detail.stories-r0AG6eiC.js +0 -44
  376. package/storybook-static/assets/Dialog.stories-DyLAEjua.js +0 -31
  377. package/storybook-static/assets/Disclosure.stories-DHFMH6SZ.js +0 -41
  378. package/storybook-static/assets/DocsRenderer-JROSPFPF-OVZNUiiY.js +0 -2
  379. package/storybook-static/assets/DropZone.stories-C6iXDzpC.js +0 -44
  380. package/storybook-static/assets/DropdownMenu-BPIWC5Fe.js +0 -1
  381. package/storybook-static/assets/ExpandableActionPanel.stories-DeBP2SL6.js +0 -20
  382. package/storybook-static/assets/Flex-BvUI9OtR.js +0 -3
  383. package/storybook-static/assets/Flex.stories-DjHfItG6.js +0 -300
  384. package/storybook-static/assets/ImageCropper.stories-D1ZTKaL2.js +0 -115
  385. package/storybook-static/assets/ImageRenderer-C_UGYN2n.js +0 -2
  386. package/storybook-static/assets/ImageRenderer.stories-BRm7cNQQ.js +0 -22
  387. package/storybook-static/assets/ImageView.stories-DbPfP9Vk.js +0 -9
  388. package/storybook-static/assets/ImageViewerRuntime-FOJk41Ia.js +0 -51
  389. package/storybook-static/assets/Input-Cd3vgy0g.js +0 -3
  390. package/storybook-static/assets/Input.stories-DdEsalmK.js +0 -38
  391. package/storybook-static/assets/InputDateTime.stories-CWRMF1Uz.js +0 -35
  392. package/storybook-static/assets/InputFile.stories-DSMEa0Hb.js +0 -36
  393. package/storybook-static/assets/InputFiles-CL38ESTc.js +0 -1
  394. package/storybook-static/assets/InputFiles.stories-Baq4MwqA.js +0 -33
  395. package/storybook-static/assets/InputImage.stories-CosbCY9j.js +0 -51
  396. package/storybook-static/assets/LayoutPicker.stories-Dyqys3DQ.js +0 -449
  397. package/storybook-static/assets/Listbox.stories-YIJrMp0t.js +0 -47
  398. package/storybook-static/assets/Modal.stories-BFDuVpN3.js +0 -180
  399. package/storybook-static/assets/MultiSelect-DY6u4L61.js +0 -2
  400. package/storybook-static/assets/MultiSelect.stories-bYuh54Fu.js +0 -29
  401. package/storybook-static/assets/NotificationsHost.stories-DYvkJ2cU.js +0 -25
  402. package/storybook-static/assets/ODataMultiSelect-dD4o0805.js +0 -1
  403. package/storybook-static/assets/ODataMultiSelect.stories-BS2NR6_9.js +0 -73
  404. package/storybook-static/assets/ODataSelect-BggbU-2c.js +0 -1
  405. package/storybook-static/assets/ODataSelect.stories-vTrv4d9z.js +0 -73
  406. package/storybook-static/assets/ODataTreeMultiSelect-CMhyGXwM.js +0 -19
  407. package/storybook-static/assets/ODataTreeMultiSelect.stories-BZ-NN4dI.js +0 -30
  408. package/storybook-static/assets/ODataTreeSelect-mJe6gYMX.js +0 -17
  409. package/storybook-static/assets/ODataTreeSelect.stories-DhSjFMeQ.js +0 -24
  410. package/storybook-static/assets/PeriodSelect.stories-CZUB8olq.js +0 -64
  411. package/storybook-static/assets/Popover.stories-DpZzhK2O.js +0 -69
  412. package/storybook-static/assets/PresetRangeDateInput.stories-qn-B1IOD.js +0 -15
  413. package/storybook-static/assets/RadioButton.stories-DwNfCMGS.js +0 -36
  414. package/storybook-static/assets/RadioGroup-DE_bpBiS.js +0 -1
  415. package/storybook-static/assets/RadioGroup.stories-DVqgV_4W.js +0 -42
  416. package/storybook-static/assets/Select-CelCWR4u.js +0 -12
  417. package/storybook-static/assets/Select.stories-Cgw1rh4h.js +0 -46
  418. package/storybook-static/assets/SelectOptionContent-Bjy9USsA.js +0 -1
  419. package/storybook-static/assets/SerializableSelect-D8YCGkPD.js +0 -4
  420. package/storybook-static/assets/SerializableSelect.stories-R2stgrdq.js +0 -43
  421. package/storybook-static/assets/SingleDateTimeInput.stories-CBsxKb4w.js +0 -78
  422. package/storybook-static/assets/Slider.stories-BCpR-FX3.js +0 -77
  423. package/storybook-static/assets/SliderInput.stories-56IQYe6a.js +0 -67
  424. package/storybook-static/assets/Sortable.stories-DUCcvgKr.js +0 -141
  425. package/storybook-static/assets/Splitter.stories-D4odwrXg.js +0 -22
  426. package/storybook-static/assets/StateSelect.stories-DXdcVPG0.js +0 -47
  427. package/storybook-static/assets/StringToggle.stories-C8RhgIJd.js +0 -6
  428. package/storybook-static/assets/Switch.stories-Cfkb4wPd.js +0 -26
  429. package/storybook-static/assets/Table.stories-C24_nZ5H.js +0 -122
  430. package/storybook-static/assets/Tabs.stories-CicNE4cs.js +0 -58
  431. package/storybook-static/assets/TagInput.stories-C3766Yv0.js +0 -18
  432. package/storybook-static/assets/Textarea.stories-CrRB7fzB.js +0 -27
  433. package/storybook-static/assets/TimePanel-DoveAQla.js +0 -1
  434. package/storybook-static/assets/TimePanel.stories-D2vUL6s0.js +0 -25
  435. package/storybook-static/assets/Toggle-ClOUAjaj.js +0 -1
  436. package/storybook-static/assets/Toggle.stories-Dnt25rG3.js +0 -30
  437. package/storybook-static/assets/TreeMultiSelect-CPtnpliv.js +0 -19
  438. package/storybook-static/assets/TreeMultiSelect-DE3AQOZl.js +0 -1
  439. package/storybook-static/assets/TreeMultiSelect.stories-BVo2A9HK.js +0 -35
  440. package/storybook-static/assets/TreePickerBase-DiMmn5I3.js +0 -22
  441. package/storybook-static/assets/TreeSelect-Cs_tb930.js +0 -1
  442. package/storybook-static/assets/TreeSelect-JTI9tQ4C.js +0 -16
  443. package/storybook-static/assets/TreeSelect.stories-C6Gm2YfT.js +0 -18
  444. package/storybook-static/assets/TreeTable.stories-CXJMSxQu.js +0 -83
  445. package/storybook-static/assets/WithTooltip-7X4HQR7L-DVJE2Dqb.js +0 -9
  446. package/storybook-static/assets/axe-GLfyhAYL.js +0 -20
  447. package/storybook-static/assets/base-table-BNO0lnTL.css +0 -1
  448. package/storybook-static/assets/base-table-_WBb2IZM.js +0 -18
  449. package/storybook-static/assets/blocks-kCueRzKM.js +0 -285
  450. package/storybook-static/assets/button-BfP43NV5.js +0 -1
  451. package/storybook-static/assets/check-box-jgZW0_tB.js +0 -1
  452. package/storybook-static/assets/chunk-242VQQM5-Dtm7LRbQ.js +0 -1
  453. package/storybook-static/assets/chunk-3LY4VQVK-DgbtId2R.js +0 -6
  454. package/storybook-static/assets/chunk-LITCR56V-C-pEySCh.js +0 -18
  455. package/storybook-static/assets/contextMenu-BY8W9e2R.js +0 -2
  456. package/storybook-static/assets/date-CuKkMWak.js +0 -461
  457. package/storybook-static/assets/date-segments-CzU9k5bl.js +0 -1
  458. package/storybook-static/assets/error-BkkZrYYA.js +0 -1
  459. package/storybook-static/assets/file-CfhfQiKL.js +0 -291
  460. package/storybook-static/assets/file-hArYcyES.js +0 -1
  461. package/storybook-static/assets/flex-DYnuC3Jl.js +0 -1
  462. package/storybook-static/assets/floating-ui.react-fJcp4ywX.js +0 -1
  463. package/storybook-static/assets/formatter-L2YTDE3Q-CQmzS1Ku.js +0 -1
  464. package/storybook-static/assets/formatters-Bt3ef0VX.js +0 -3
  465. package/storybook-static/assets/formulas-C5ifYPhi.js +0 -2
  466. package/storybook-static/assets/grid-DLQc0tY5.js +0 -1
  467. package/storybook-static/assets/hooks-COY2kUuX.js +0 -5
  468. package/storybook-static/assets/iframe-CqfP7aF1.js +0 -1119
  469. package/storybook-static/assets/input-DNF627Va.js +0 -1
  470. package/storybook-static/assets/mdx-react-shim-4LHuzuKu.js +0 -1
  471. package/storybook-static/assets/media-CbWC9XZs.js +0 -1
  472. package/storybook-static/assets/misc-BElIqBdV.css +0 -1
  473. package/storybook-static/assets/misc-D0Mkvmw8.js +0 -5
  474. package/storybook-static/assets/notifications-CRagNLgf.js +0 -1
  475. package/storybook-static/assets/number-Da4Ulq9E.js +0 -2
  476. package/storybook-static/assets/odata-DUcjBQqp.js +0 -1
  477. package/storybook-static/assets/odata-service-Rl9UYgzA.js +0 -1
  478. package/storybook-static/assets/odataStoryFixtures-BY3DnLbL.js +0 -25
  479. package/storybook-static/assets/picker-D2lWKGk-.js +0 -2
  480. package/storybook-static/assets/popover-BiQHI7Wi.css +0 -1
  481. package/storybook-static/assets/popover-D7McA5RG.js +0 -2
  482. package/storybook-static/assets/preload-helper-B45gAKPr.js +0 -1
  483. package/storybook-static/assets/preset-select-FySDZYno.js +0 -5
  484. package/storybook-static/assets/pwa-QKsIz2U4.js +0 -640
  485. package/storybook-static/assets/queryClient-Cf_KN496.js +0 -567
  486. package/storybook-static/assets/react-18-Dyh2Pzaa.js +0 -9
  487. package/storybook-static/assets/react-BonvwE5R.js +0 -9
  488. package/storybook-static/assets/react-dom--kz57wTp.js +0 -1
  489. package/storybook-static/assets/select-DsPUjSXp.js +0 -1
  490. package/storybook-static/assets/slider-D93-bn3E.js +0 -2
  491. package/storybook-static/assets/sortable-B2Ihqi-W.js +0 -1
  492. package/storybook-static/assets/syntaxhighlighter-RTCFPKCB-Bh8qQ71X.js +0 -6
  493. package/storybook-static/assets/text-BCUxHWs4.js +0 -4
  494. package/storybook-static/assets/theming-KsQ_vHzM.js +0 -39
  495. package/storybook-static/assets/treeStoryFixtures-Y_nnjz0_.js +0 -1
  496. package/storybook-static/assets/ui-D39u6Dhv.js +0 -1
  497. package/storybook-static/assets/ui.module-wFHXkJzp.js +0 -1
  498. package/storybook-static/assets/uiClasses-CaHp0EWd.js +0 -1
  499. package/storybook-static/assets/useODataSelectBase-BWIM1yqH.js +0 -1
  500. package/storybook-static/assets/useODataTreeData-CnmOnxqb.js +0 -1
  501. package/storybook-static/assets/utils-BfYZ9Iv_.js +0 -1
  502. package/storybook-static/assets/valueState-CV4TgbM9.js +0 -277
  503. /package/storybook-static/assets/{DropdownMenu-BgzIzwzM.css → ContextMenu-BgzIzwzM.css} +0 -0
  504. /package/storybook-static/assets/{Grid-K9R_IHaw.css → GridContainer-K9R_IHaw.css} +0 -0
  505. /package/storybook-static/assets/{InputFiles-ByK52qUe.css → InputFilesList-ByK52qUe.css} +0 -0
  506. /package/storybook-static/assets/{MultiSelect-BoIwmje6.css → MultiSelectToken-BoIwmje6.css} +0 -0
  507. /package/storybook-static/assets/{slider-DMDFRH6B.css → Slider-DMDFRH6B.css} +0 -0
  508. /package/storybook-static/assets/{Flex-IXK2se1Y.css → useFlexClasses-IXK2se1Y.css} +0 -0
  509. /package/storybook-static/assets/{picker-DzBkX15M.css → usePickerTriggerController-DzBkX15M.css} +0 -0
@@ -1,24 +0,0 @@
1
- import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{pn as r,t as i}from"./iframe-CqfP7aF1.js";import{a,c as o,i as s,l as c,n as l,o as u,s as d}from"./odataStoryFixtures-BY3DnLbL.js";import{n as f,t as p}from"./useODataTreeData-CnmOnxqb.js";import{n as m,t as h}from"./TreeSelect-Cs_tb930.js";function g({label:e,description:t,disabled:n,size:r,placeholder:i,query:a,defaultQuery:o,onQuery:s,value:c,onChange:l,odata:u,segments:d,model:p,clearable:m,defaultExpandedCodeKeys:g}){let v=f({odata:u,segments:d,model:p});return(0,_.jsx)(h,{label:e,description:t,disabled:n||v.isLoading,size:r,placeholder:i??v.placeholder,nodes:v.nodes,value:c,onChange:l,query:a,defaultQuery:o,onQuery:s,defaultExpandedCodeKeys:g,isLoading:v.isLoading,error:v.isError?`Ошибка загрузки`:void 0,clearable:m})}var _,v=n((()=>{p(),m(),_=i(),g.__docgenInfo={description:``,methods:[],displayName:`ODataTreeSelect`,props:{model:{required:!1,tsType:{name:`ODataDependentBaseProps["model"]`,raw:`ODataDependentBaseProps["model"]`},description:``},placeholder:{required:!1,tsType:{name:`string`},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:``},clearable:{required:!1,tsType:{name:`boolean`},description:``},defaultExpandedCodeKeys:{required:!1,tsType:{name:`unknown`},description:`Ключи OData-уровней, раскрываемых после появления загруженных узлов.
2
- Настройка влияет только на представление и не изменяет OData-запросы.`}},composes:[`Omit`]}})),y=e({Basic:()=>w,ErrorState:()=>O,LoadingState:()=>D,OnlySecondLevelExpanded:()=>E,SelectParent:()=>T,__namedExportsOrder:()=>k,default:()=>C});function b({initialValue:e,odata:t=l,segments:n=o,label:r=`ODataTreeSelect`,description:i,defaultExpandedCodeKeys:a}){let[s,c]=(0,x.useState)(e);return(0,S.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,S.jsx)(g,{label:r,description:i,odata:t,segments:n,value:s,onChange:c,defaultExpandedCodeKeys:a}),(0,S.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,s?`${s.codeKey}=${s.value}`:`пусто`]})]})}var x,S,C,w,T,E,D,O,k,A=n((()=>{x=t(r(),1),s(),v(),S=i(),C={title:`Shared/UI/ODataTreeSelect`,component:g,decorators:[c],beforeEach:a,parameters:{atomicCanvas:!0,layout:`padded`,odataMockMode:`success`},args:{label:`OData дерево`,description:`Single-select поверх одной OData-цепочки.`,odata:l,segments:o,value:void 0,onChange:()=>{}},argTypes:{segments:{control:!1},value:{control:!1},onChange:{control:!1}}},w={render:()=>(0,S.jsx)(b,{initialValue:{codeKey:`OWNER`,value:d.owner}})},T={render:()=>(0,S.jsx)(b,{label:`Выбор родителя`,description:`Проверка выбора узла верхнего уровня из OData-дерева.`,initialValue:{codeKey:`REGION`,value:d.region}})},E={render:()=>(0,S.jsx)(b,{label:`Раскрывается только второй уровень`,description:`REGION остаётся закрытым. После его ручного открытия узлы BRANCH уже раскрыты по умолчанию.`,defaultExpandedCodeKeys:[`BRANCH`]})},D={parameters:{odataMockMode:`loading`},render:()=>(0,S.jsx)(b,{odata:u.loading,description:`Сценарий загрузки дерева.`})},O={parameters:{odataMockMode:`metadataError`},render:()=>(0,S.jsx)(b,{odata:u.metadataError,description:`Сценарий ошибки metadata дерева.`})},w.parameters={...w.parameters,docs:{...w.parameters?.docs,source:{originalSource:`{
3
- render: () => <StatefulODataTreeSelect initialValue={{
4
- codeKey: "OWNER",
5
- value: storyValues.owner
6
- }} />
7
- }`,...w.parameters?.docs?.source}}},T.parameters={...T.parameters,docs:{...T.parameters?.docs,source:{originalSource:`{
8
- render: () => <StatefulODataTreeSelect label="Выбор родителя" description="Проверка выбора узла верхнего уровня из OData-дерева." initialValue={{
9
- codeKey: "REGION",
10
- value: storyValues.region
11
- }} />
12
- }`,...T.parameters?.docs?.source}}},E.parameters={...E.parameters,docs:{...E.parameters?.docs,source:{originalSource:`{
13
- render: () => <StatefulODataTreeSelect label="Раскрывается только второй уровень" description="REGION остаётся закрытым. После его ручного открытия узлы BRANCH уже раскрыты по умолчанию." defaultExpandedCodeKeys={["BRANCH"]} />
14
- }`,...E.parameters?.docs?.source}}},D.parameters={...D.parameters,docs:{...D.parameters?.docs,source:{originalSource:`{
15
- parameters: {
16
- odataMockMode: "loading"
17
- },
18
- render: () => <StatefulODataTreeSelect odata={odataStoryOData.loading} description="Сценарий загрузки дерева." />
19
- }`,...D.parameters?.docs?.source}}},O.parameters={...O.parameters,docs:{...O.parameters?.docs,source:{originalSource:`{
20
- parameters: {
21
- odataMockMode: "metadataError"
22
- },
23
- render: () => <StatefulODataTreeSelect odata={odataStoryOData.metadataError} description="Сценарий ошибки metadata дерева." />
24
- }`,...O.parameters?.docs?.source}}},k=[`Basic`,`SelectParent`,`OnlySecondLevelExpanded`,`LoadingState`,`ErrorState`]}));A();export{w as Basic,O as ErrorState,D as LoadingState,E as OnlySecondLevelExpanded,T as SelectParent,k as __namedExportsOrder,C as default,A as n,y as t};
@@ -1,64 +0,0 @@
1
- import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{pn as r,t as i}from"./iframe-CqfP7aF1.js";import{i as a,t as o}from"./text-BCUxHWs4.js";import{P as s,_ as c,o as l,t as u}from"./formatters-Bt3ef0VX.js";import{t as d}from"./DateInput-aifcbvnl.js";import{a as f,c as p,i as m,n as h,s as g,t as _}from"./preset-select-FySDZYno.js";import{i as v}from"./Grid-DudjnKE7.js";import{t as y}from"./grid-DLQc0tY5.js";var b=n((()=>{}));function x(e){return typeof e==`string`&&k.has(e)}function S(e,t=O){let n=m(e,x,t),r=n.length>0?n:O,i=new Set(r);return O.filter(e=>i.has(e))}function C(e,t=D){return g(e,t)}function w({maxDayRangeDays:e,maxWeekRangeWeeks:t,labels:n}={}){let r=s(e),i=s(t);return D.map(e=>{let t={...e,label:n?.[e.id]??e.label};return e.id===`day`&&r!==void 0?{...t,maxRangeDays:r}:e.id===`week`&&i!==void 0?{...t,maxRangeDays:i*7}:t})}function T(e,t){let n=s(e.maxRangeDays);if(n===void 0||t===void 0)return!1;let r=c(t);return r!==null&&r>n}function E(e,t,n){if(t.length===0)return;let r=e===void 0?-1:t.findIndex(t=>t.id===e),i=r>=0?t[r]:void 0;return i&&!T(i,n)?i.id:(r>=0?t.slice(r+1):t).find(e=>!T(e,n))?.id??t.find(e=>!T(e,n))?.id}var D,O,k,A=n((()=>{u(),f(),D=Object.freeze([{id:`day`,label:`по дням`},{id:`week`,label:`по неделям`},{id:`month`,label:`по месяцам`},{id:`year`,label:`по годам`}]),O=Object.freeze([`day`,`week`,`month`,`year`]),k=new Set(D.map(e=>e.id))})),j=n((()=>{b(),A()}));function M({value:e,onChange:t,options:n,labels:r,presetIds:i,dateRange:a,maxDayRangeDays:o,maxWeekRangeWeeks:s,...c}){let l=(0,N.useMemo)(()=>n??C(S(i),w({maxDayRangeDays:o,maxWeekRangeWeeks:s,labels:r})),[r,o,s,n,i]),u=(0,N.useMemo)(()=>E(e,l,a),[a,l,e]),d=(0,N.useRef)(null),f=(0,N.useEffectEvent)(()=>{if(u===void 0||u===e){d.current=null;return}let n=d.current;n&&n.value===e&&n.availableValue===u||(d.current={value:e,availableValue:u},t(u))});return(0,N.useEffect)(()=>{f()},[u,e]),(0,P.jsx)(h,{...c,options:l,value:u,onChange:t,getOptionDisabled:e=>T(e,a)})}var N,P,F=n((()=>{N=t(r(),1),_(),j(),P=i(),M.__docgenInfo={description:`Select периода детализации, который может ограничивать доступные варианты по диапазону дат.`,methods:[],displayName:`PeriodSelect`,props:{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:``},options:{required:!1,tsType:{name:`unknown`},description:"Полный список custom options с высшим приоритетом. При его передаче\nвстроенные `presetIds`, `labels` и пороги диапазона не применяются."},labels:{required:!1,tsType:{name:`Partial`,elements:[{name:`Readonly`,elements:[{name:`Record`,elements:[{name:`union`,raw:`"day" | "week" | "month" | "year"`,elements:[{name:`literal`,value:`"day"`},{name:`literal`,value:`"week"`},{name:`literal`,value:`"month"`},{name:`literal`,value:`"year"`}]},{name:`string`}],raw:`Record<PeriodSelectPresetId, string>`}],raw:`Readonly<Record<PeriodSelectPresetId, string>>`}],raw:`Partial<PeriodSelectLabels>`},description:`Частично заменяет подписи встроенных вариантов, не изменяя их id,
2
- канонический порядок и правила доступности.
3
- Не применяется, когда передан собственный \`options\`.`},presetIds:{required:!1,tsType:{name:`unknown`},description:`Разрешенные встроенные варианты периода. Значение нормализуется в канонический
4
- порядок, а пустой либо невалидный список безопасно заменяется полным набором.
5
- Не применяется, когда передан собственный \`options\`.`},dateRange:{required:!1,tsType:{name:`DateRangeInput`},description:``},maxDayRangeDays:{required:!1,tsType:{name:`number`},description:``},maxWeekRangeWeeks:{required:!1,tsType:{name:`number`},description:``}}}})),I=n((()=>{j(),F()})),L=e({AllAllowedOptionsDisabled:()=>X,AlternativeLabels:()=>Y,AutoSwitchByRange:()=>q,Controlled:()=>K,Disabled:()=>Z,MonthAndYear:()=>J,__namedExportsOrder:()=>Q,default:()=>G});function R(e){return e!==void 0&&l(e)?e:null}function z(e){let[,t]=V(),n=R(e.dateRange),r=c(e.dateRange??null);return(0,B.jsxs)(v,{gap:`md`,children:[(0,B.jsx)(M,{...e,onChange:n=>{e.onChange(n),t({value:n})}}),(0,B.jsx)(d,{label:`Связанный диапазон дат`,placeholder:`дд.мм.гггг - дд.мм.гггг`,value:n,onChange:e=>t({dateRange:e??void 0})}),(0,B.jsxs)(a,{as:`p`,color:`secondary`,"aria-live":`polite`,children:[`Выбрано: `,(0,B.jsx)(a,{as:`code`,children:e.value??`не выбрано`}),`. Дней в диапазоне:`,` `,(0,B.jsx)(a,{as:`code`,children:r??`не задано`}),`.`]})]})}var B,V,H,U,W,G,K,q,J,Y,X,Z,Q,$=n((()=>{u(),p(),y(),o(),I(),B=i(),{useArgs:V}=__STORYBOOK_MODULE_PREVIEW_API__,{fn:H}=__STORYBOOK_MODULE_TEST__,U=[new Date(2026,2,1,0,0,0),new Date(2026,2,14,23,59,59)],W=[new Date(2026,0,1,0,0,0),new Date(2026,4,20,23,59,59)],G={title:`Shared/UI/PeriodSelect`,component:M,args:{label:`Период детализации`,description:`Выберите уровень группировки дат.`,placeholder:`Выберите период`,value:`day`,onChange:H(),presetIds:O,dateRange:U,maxDayRangeDays:31,maxWeekRangeWeeks:26,disabled:!1,size:`md`},parameters:{atomicCanvas:!0,layout:`padded`,docs:{description:{component:`Select периода детализации дат. Компонент работает с id периода и может блокировать слишком детальные варианты по переданному диапазону дат.`}}},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Текст, когда период не выбран.`,control:`text`},value:{description:`Текущий id периода.`,control:`select`,options:O},onChange:{description:`Вызывается с id выбранного периода.`,control:!1},options:{description:"Кастомный список периодов по контракту `PeriodSelectOption`; имеет приоритет над `presetIds`, `labels` и порогами диапазона.",control:!1},labels:{description:`Частичные подписи встроенных периодов поверх канонического каталога.`,control:`object`},presetIds:{description:"Разрешенные встроенные периоды. Порядок отображения остается `day → week → month → year`.",control:`check`,options:O},dateRange:{description:`Диапазон дат, по которому вычисляются заблокированные периоды.`,control:!1},maxDayRangeDays:{description:"Максимальное количество дней, при котором доступен период `day`.",control:{type:`number`,min:1,step:1}},maxWeekRangeWeeks:{description:"Максимальное количество недель, при котором доступен период `week`.",control:{type:`number`,min:1,step:1}},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},K={name:`Контролируемый выбор`,render:function(e){return(0,B.jsx)(z,{...e})}},q={name:`Автопереключение по диапазону`,args:{value:`day`,dateRange:W,maxDayRangeDays:31,maxWeekRangeWeeks:8},render:function(e){return(0,B.jsx)(z,{...e})}},J={name:`Только месяцы и годы`,args:{value:`month`,presetIds:[`month`,`year`]},render:function(e){return(0,B.jsx)(z,{...e})}},Y={name:`Альтернативные подписи`,args:{value:`month`,labels:{day:`за день`,week:`за неделю`,month:`за месяц`,year:`за год`}},render:function(e){return(0,B.jsx)(z,{...e})}},X={name:`Все разрешенные варианты недоступны`,args:{value:`day`,presetIds:[`day`,`week`],dateRange:W,maxDayRangeDays:31,maxWeekRangeWeeks:8},render:function(e){return(0,B.jsx)(z,{...e})}},Z={name:`Заблокированный контрол`,args:{disabled:!0,value:`week`}},K.parameters={...K.parameters,docs:{...K.parameters?.docs,source:{originalSource:`{
6
- name: "Контролируемый выбор",
7
- render: function Render(args) {
8
- return <PeriodSelectStoryCanvas {...args} />;
9
- }
10
- }`,...K.parameters?.docs?.source},description:{story:"Контролируемый сценарий синхронизирует `value` и `dateRange` через Storybook args.",...K.parameters?.docs?.description}}},q.parameters={...q.parameters,docs:{...q.parameters?.docs,source:{originalSource:`{
11
- name: "Автопереключение по диапазону",
12
- args: {
13
- value: "day",
14
- dateRange: longDateRange,
15
- maxDayRangeDays: 31,
16
- maxWeekRangeWeeks: 8
17
- },
18
- render: function Render(args) {
19
- return <PeriodSelectStoryCanvas {...args} />;
20
- }
21
- }`,...q.parameters?.docs?.source},description:{story:"Длинный диапазон блокирует `day` и `week`, поэтому контрол переключает значение на ближайший доступный период.",...q.parameters?.docs?.description}}},J.parameters={...J.parameters,docs:{...J.parameters?.docs,source:{originalSource:`{
22
- name: "Только месяцы и годы",
23
- args: {
24
- value: "month",
25
- presetIds: ["month", "year"]
26
- },
27
- render: function Render(args) {
28
- return <PeriodSelectStoryCanvas {...args} />;
29
- }
30
- }`,...J.parameters?.docs?.source},description:{story:`Allow-list ограничивает встроенный каталог двумя крупными уровнями детализации.`,...J.parameters?.docs?.description}}},Y.parameters={...Y.parameters,docs:{...Y.parameters?.docs,source:{originalSource:`{
31
- name: "Альтернативные подписи",
32
- args: {
33
- value: "month",
34
- labels: {
35
- day: "за день",
36
- week: "за неделю",
37
- month: "за месяц",
38
- year: "за год"
39
- }
40
- },
41
- render: function Render(args) {
42
- return <PeriodSelectStoryCanvas {...args} />;
43
- }
44
- }`,...Y.parameters?.docs?.source},description:{story:`Частичный labels override меняет формулировки встроенных вариантов,
45
- сохраняя их id, порядок и ограничения доступности.`,...Y.parameters?.docs?.description}}},X.parameters={...X.parameters,docs:{...X.parameters?.docs,source:{originalSource:`{
46
- name: "Все разрешенные варианты недоступны",
47
- args: {
48
- value: "day",
49
- presetIds: ["day", "week"],
50
- dateRange: longDateRange,
51
- maxDayRangeDays: 31,
52
- maxWeekRangeWeeks: 8
53
- },
54
- render: function Render(args) {
55
- return <PeriodSelectStoryCanvas {...args} />;
56
- }
57
- }`,...X.parameters?.docs?.source},description:{story:`При длинном диапазоне все разрешенные варианты временно недоступны; внешний
58
- controlled-id сохраняется, и после сокращения диапазона отображение восстанавливается.`,...X.parameters?.docs?.description}}},Z.parameters={...Z.parameters,docs:{...Z.parameters?.docs,source:{originalSource:`{
59
- name: "Заблокированный контрол",
60
- args: {
61
- disabled: true,
62
- value: "week"
63
- }
64
- }`,...Z.parameters?.docs?.source}}},Q=[`Controlled`,`AutoSwitchByRange`,`MonthAndYear`,`AlternativeLabels`,`AllAllowedOptionsDisabled`,`Disabled`]}));$();export{X as AllAllowedOptionsDisabled,Y as AlternativeLabels,q as AutoSwitchByRange,K as Controlled,Z as Disabled,J as MonthAndYear,Q as __namedExportsOrder,G as default,$ as n,L as t};
@@ -1,69 +0,0 @@
1
- import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{pn as r,t as i}from"./iframe-CqfP7aF1.js";import{a,i as o}from"./popover-D7McA5RG.js";import{n as s,t as c}from"./Button-Dpi111u7.js";import{c as l,t as u}from"./Input-Cd3vgy0g.js";var d=e({AnchorPlacement:()=>_,Controlled:()=>g,Default:()=>h,WithInteractiveContent:()=>v,__namedExportsOrder:()=>y,default:()=>m}),f,p,m,h,g,_,v,y,b=n((()=>{f=t(r(),1),s(),l(),a(),p=i(),m={title:`Shared/UI/Popover`,component:o,parameters:{atomicCanvas:!0,layout:`centered`}},h={render:()=>(0,p.jsxs)(o,{children:[(0,p.jsx)(o.Trigger,{children:(0,p.jsx)(`button`,{children:`Открыть`})}),(0,p.jsx)(o.Content,{children:e=>(0,p.jsxs)(`div`,{style:{padding:12,maxWidth:160},children:[(0,p.jsx)(`p`,{children:`Пример простого поповера`}),(0,p.jsx)(`button`,{onClick:e.setClose,children:`Закрыть`})]})})]})},g={render:()=>{let[e,t]=(0,f.useState)(!1);return(0,p.jsxs)(o,{open:e,onOpenChange:t,children:[(0,p.jsx)(o.Trigger,{children:(0,p.jsx)(`button`,{children:e?`Закрыть`:`Открыть`})}),(0,p.jsx)(o.Content,{children:(0,p.jsx)(`div`,{style:{padding:12},children:`Контролируемый режим`})})]})}},_={render:()=>(0,p.jsx)(`div`,{style:{display:`flex`,gap:32,flexWrap:`wrap`,justifyContent:`center`},children:[`top`,`bottom`,`left`,`right`,`top-start`,`bottom-end`].map(e=>(0,p.jsxs)(o,{placement:e,children:[(0,p.jsx)(o.Trigger,{children:(0,p.jsx)(`button`,{children:e})}),(0,p.jsx)(o.Content,{children:(0,p.jsx)(`div`,{style:{padding:8},children:e})})]},e))})},v={render:()=>(0,p.jsxs)(o,{children:[(0,p.jsx)(o.Trigger,{children:(0,p.jsx)(`button`,{children:`Форма`})}),(0,p.jsx)(o.Content,{children:e=>(0,p.jsxs)(`form`,{onSubmit:t=>{t.preventDefault(),e.setClose()},style:{display:`flex`,flexDirection:`column`,gap:8,padding:12,width:180},children:[(0,p.jsx)(u,{label:`Имя`,placeholder:`Введите имя`,value:``,onChange:()=>{}}),(0,p.jsx)(c,{children:`Отправить`})]})})]})},h.parameters={...h.parameters,docs:{...h.parameters?.docs,source:{originalSource:`{
2
- render: () => <Popover>
3
- <Popover.Trigger>
4
- <button>Открыть</button>
5
- </Popover.Trigger>
6
- <Popover.Content>
7
- {ctx => <div style={{
8
- padding: 12,
9
- maxWidth: 160
10
- }}>
11
- <p>Пример простого поповера</p>
12
- <button onClick={ctx.setClose}>Закрыть</button>
13
- </div>}
14
- </Popover.Content>
15
- </Popover>
16
- }`,...h.parameters?.docs?.source}}},g.parameters={...g.parameters,docs:{...g.parameters?.docs,source:{originalSource:`{
17
- render: () => {
18
- const [open, setOpen] = useState(false);
19
- return <Popover open={open} onOpenChange={setOpen}>
20
- <Popover.Trigger>
21
- <button>{open ? "Закрыть" : "Открыть"}</button>
22
- </Popover.Trigger>
23
- <Popover.Content>
24
- <div style={{
25
- padding: 12
26
- }}>Контролируемый режим</div>
27
- </Popover.Content>
28
- </Popover>;
29
- }
30
- }`,...g.parameters?.docs?.source}}},_.parameters={..._.parameters,docs:{..._.parameters?.docs,source:{originalSource:`{
31
- render: () => <div style={{
32
- display: "flex",
33
- gap: 32,
34
- flexWrap: "wrap",
35
- justifyContent: "center"
36
- }}>
37
- {["top", "bottom", "left", "right", "top-start", "bottom-end"].map(pos => <Popover key={pos} placement={pos as Placement}>
38
- <Popover.Trigger>
39
- <button>{pos}</button>
40
- </Popover.Trigger>
41
- <Popover.Content>
42
- <div style={{
43
- padding: 8
44
- }}>{pos}</div>
45
- </Popover.Content>
46
- </Popover>)}
47
- </div>
48
- }`,..._.parameters?.docs?.source}}},v.parameters={...v.parameters,docs:{...v.parameters?.docs,source:{originalSource:`{
49
- render: () => <Popover>
50
- <Popover.Trigger>
51
- <button>Форма</button>
52
- </Popover.Trigger>
53
- <Popover.Content>
54
- {ctx => <form onSubmit={e => {
55
- e.preventDefault();
56
- ctx.setClose();
57
- }} style={{
58
- display: "flex",
59
- flexDirection: "column",
60
- gap: 8,
61
- padding: 12,
62
- width: 180
63
- }}>
64
- <Input label="Имя" placeholder="Введите имя" value={""} onChange={() => {}} />
65
- <Button>Отправить</Button>
66
- </form>}
67
- </Popover.Content>
68
- </Popover>
69
- }`,...v.parameters?.docs?.source}}},y=[`Default`,`Controlled`,`AnchorPlacement`,`WithInteractiveContent`]}));b();export{_ as AnchorPlacement,g as Controlled,h as Default,v as WithInteractiveContent,y as __namedExportsOrder,m as default,b as n,d as t};
@@ -1,15 +0,0 @@
1
- import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{pn as r,t as i}from"./iframe-CqfP7aF1.js";import{i as a,t as o}from"./text-BCUxHWs4.js";import{o as s}from"./Flex-BvUI9OtR.js";import{t as c}from"./flex-DYnuC3Jl.js";import{t as l}from"./DateInput-aifcbvnl.js";import{c as u}from"./preset-select-FySDZYno.js";import{a as d,c as f,i as p,n as m,o as h,r as g,s as _,t as v}from"./DateRangePresetSelect-lWDa-_zo.js";var y=n((()=>{m(),p()}));function b(e){return e??`__empty__`}function x({value:e,onChange:t,presetId:n,onPresetIdChange:r,referenceDate:i,presetIds:a,presetOptions:o,presetLabel:c,presetDescription:u,presetPlaceholder:p=`Выберите пресет диапазона`,presetDisabled:m,...y}){let[x]=(0,S.useState)(()=>new Date),w=i??x,T=(0,S.useMemo)(()=>o??_(d(a,g)),[a,o]),E=e??null,D=(0,S.useMemo)(()=>h(E,w,T),[E,T,w]),O=n??D??void 0,k=(0,S.useRef)(``),A=(0,S.useCallback)(e=>{if(!r)return;let t=b(e);t!==k.current&&(k.current=t,r(e))},[r]),j=e=>{let n=f(e,w,T);if(!n){A(null);return}A(n.id),t(n.range)},M=e=>{t(e),A(h(e,w,T))};return(0,C.jsxs)(s,{gap:`sm`,align:`end`,children:[(0,C.jsx)(v,{size:`md`,label:c,description:u,placeholder:p,disabled:m??y.disabled,value:O,onChange:j,options:T,referenceDate:w}),(0,C.jsx)(l,{...y,size:`md`,value:E,onChange:M})]})}var S,C,w=n((()=>{S=t(r(),1),u(),y(),c(),C=i(),x.__docgenInfo={description:`Составной компонент выбора диапазона дат через пресет или ручной ввод.`,methods:[],displayName:`PresetRangeDateInput`,props:{presetId:{required:!1,tsType:{name:`union`,raw:`DateRangePresetOption["id"] | null`,elements:[{name:`DateRangePresetOption["id"]`,raw:`DateRangePresetOption["id"]`},{name:`null`}]},description:``},onPresetIdChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(presetId: DateRangePresetOption["id"] | null) => void`,signature:{arguments:[{type:{name:`union`,raw:`DateRangePresetOption["id"] | null`,elements:[{name:`DateRangePresetOption["id"]`,raw:`DateRangePresetOption["id"]`},{name:`null`}]},name:`presetId`}],return:{name:`void`}}},description:``},referenceDate:{required:!1,tsType:{name:`Date`},description:``},presetIds:{required:!1,tsType:{name:`unknown`},description:``},presetOptions:{required:!1,tsType:{name:`unknown`},description:``},presetLabel:{required:!1,tsType:{name:`ReactNode`},description:``},presetDescription:{required:!1,tsType:{name:`string`},description:``},presetPlaceholder:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Выберите пресет диапазона"`,computed:!1}},presetDisabled:{required:!1,tsType:{name:`boolean`},description:``}},composes:[`Omit`]}})),T=e({Default:()=>k,__namedExportsOrder:()=>A,default:()=>O}),E,D,O,k,A,j=n((()=>{E=t(r(),1),c(),o(),w(),D=i(),O={title:`Shared/UI/PresetRangeDateInput`,component:x,args:{value:null,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`}},k={render:()=>{let[e,t]=(0,E.useState)([new Date(2026,2,10,0,0,0),new Date(2026,2,10,23,59,59)]),[n,r]=(0,E.useState)(`today`);return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(s,{gap:`sm`,align:`end`,children:(0,D.jsx)(x,{value:e,onChange:t,presetId:n,onPresetIdChange:r,referenceDate:new Date(2026,2,10,12,0,0),presetLabel:`Быстрый диапазон`,size:`md`})}),(0,D.jsxs)(a,{as:`p`,className:`marginBlockSm`,children:[`Активный presetId: `,(0,D.jsx)(a,{as:`code`,children:n??`null`})]})]})}},k.parameters={...k.parameters,docs:{...k.parameters?.docs,source:{originalSource:`{
2
- render: () => {
3
- const [value, setValue] = useState<NullableDateRange | null>([new Date(2026, 2, 10, 0, 0, 0), new Date(2026, 2, 10, 23, 59, 59)]);
4
- const [presetId, setPresetId] = useState<string | null>("today");
5
- return <>
6
- <FlexContainer gap="sm" align="end">
7
- <PresetRangeDateInput value={value} onChange={setValue} presetId={presetId} onPresetIdChange={setPresetId} referenceDate={new Date(2026, 2, 10, 12, 0, 0)} presetLabel="Быстрый диапазон" size="md" />
8
- </FlexContainer>
9
-
10
- <Text as="p" className="marginBlockSm">
11
- Активный presetId: <Text as="code">{presetId ?? "null"}</Text>
12
- </Text>
13
- </>;
14
- }
15
- }`,...k.parameters?.docs?.source},description:{story:`Демонстрирует совместную работу пресета и ручного диапазона.`,...k.parameters?.docs?.description}}},A=[`Default`]}));j();export{k as Default,A as __namedExportsOrder,O as default,j as n,T as t};
@@ -1,36 +0,0 @@
1
- import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{n as r,pn as i,rt as a,t as o}from"./iframe-CqfP7aF1.js";import{a as s,i as c}from"./utils-BfYZ9Iv_.js";import{n as l,t as u}from"./ui.module-wFHXkJzp.js";import{n as d,r as f}from"./uiClasses-CaHp0EWd.js";import{n as p,t as m}from"./CheckBox.module-ezWPE2pa.js";var h,g,_=n((()=>{h=`gu8UMB`,g={radioInput:h}})),v,y,b,x=n((()=>{v=t(i(),1),c(),r(),p(),u(),f(),_(),y=o(),b=({label:e,description:t,placeholder:n,disabled:r,size:i,className:o,onChange:c,value:u,id:f,tone:p=`neutral`,...h})=>{let _=(0,v.useId)(),b=f??_,x=t?`${b}-description`:void 0,S=e??n,C=u??!1;return(0,y.jsxs)(`div`,{className:s(l.uiElement,i&&l.uiSizable,i&&l[i],r&&l.disabled,o),children:[(0,y.jsxs)(`div`,{className:m.row,children:[(0,y.jsxs)(`div`,{className:s(m.wrapper,d(p)),children:[(0,y.jsx)(`input`,{...h,id:b,type:`checkbox`,role:`radio`,checked:C,disabled:r,"aria-disabled":r,"aria-checked":C,"aria-describedby":x,className:s(l.uiSelectionControl,m.input,g.radioInput),onChange:()=>c?.(!C)}),(0,y.jsx)(`div`,{className:s(l.uiSelectionIcon,m.icon),"aria-hidden":`true`,children:(0,y.jsx)(a,{})})]}),S&&(0,y.jsx)(`label`,{htmlFor:b,className:l.uiLabel,children:S})]}),t&&(0,y.jsx)(`p`,{id:x,className:l.uiDescription,children:t})]})},b.__docgenInfo={description:`Компонент радиокнопки для выбора одного варианта.
2
- Поддерживает tone + appearance и использует общие selection utility-классы из ui.module.scss.`,methods:[],displayName:`RadioButton`,props:{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:``},tone:{required:!1,tsType:{name:`union`,raw:`"neutral" | "error" | "warning" | "success" | "info"`,elements:[{name:`literal`,value:`"neutral"`},{name:`literal`,value:`"error"`},{name:`literal`,value:`"warning"`},{name:`literal`,value:`"success"`},{name:`literal`,value:`"info"`}]},description:``,defaultValue:{value:`"neutral"`,computed:!1}}},composes:[`Omit`]}})),S=e({Controlled:()=>E,Disabled:()=>O,Group:()=>D,__namedExportsOrder:()=>k,default:()=>T}),C,w,T,E,D,O,k,A=n((()=>{C=t(i(),1),x(),w=o(),T={title:`Shared/UI/RadioButton`,component:b,args:{value:!1,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Текст подписи радиокнопки.`,control:`text`},description:{description:`Дополнительное описание под элементом.`,control:`text`},placeholder:{description:"Резервная подпись, если `label` не задан.",control:`text`},value:{description:`Признак выбранного состояния.`,control:`boolean`},onChange:{description:`Вызывается при изменении выбранности.`,control:!1},disabled:{description:`Блокирует взаимодействие.`,control:`boolean`},size:{description:`Размер визуального контрола и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},tone:{description:`Семантический тон радиокнопки.`,control:`inline-radio`,options:[`neutral`,`error`,`warning`,`success`,`info`]},name:{description:"HTML `name` для группировки кнопок.",control:`text`}}},E={render:e=>{let[t,n]=(0,C.useState)(e.value??!1);return(0,w.jsx)(b,{...e,value:t,onChange:n})},args:{label:`Выбрать опцию`,description:`Одиночная радиокнопка в controlled-режиме.`,value:!1,name:`single-radio`,tone:`neutral`}},D={render:()=>{let[e,t]=(0,C.useState)(`email`);return(0,w.jsxs)(`div`,{role:`radiogroup`,"aria-label":`Канал уведомлений`,style:{display:`grid`,gap:12},children:[(0,w.jsx)(b,{name:`notify-channel`,label:`Email`,value:e===`email`,onChange:e=>e&&t(`email`),tone:`info`}),(0,w.jsx)(b,{name:`notify-channel`,label:`SMS`,value:e===`sms`,onChange:e=>e&&t(`sms`),tone:`info`})]})},args:{value:void 0}},O={args:{label:`Недоступная опция`,description:`Заблокировано политикой конфигурации.`,value:!0,disabled:!0,tone:`neutral`}},E.parameters={...E.parameters,docs:{...E.parameters?.docs,source:{originalSource:`{
3
- render: args => {
4
- const [value, setValue] = useState(args.value ?? false);
5
- return <RadioButton {...args} value={value} onChange={setValue} />;
6
- },
7
- args: {
8
- label: "Выбрать опцию",
9
- description: "Одиночная радиокнопка в controlled-режиме.",
10
- value: false,
11
- name: "single-radio",
12
- tone: "neutral"
13
- }
14
- }`,...E.parameters?.docs?.source}}},D.parameters={...D.parameters,docs:{...D.parameters?.docs,source:{originalSource:`{
15
- render: () => {
16
- const [selected, setSelected] = useState<"email" | "sms">("email");
17
- return <div role="radiogroup" aria-label="Канал уведомлений" style={{
18
- display: "grid",
19
- gap: 12
20
- }}>
21
- <RadioButton name="notify-channel" label="Email" value={selected === "email"} onChange={checked => checked && setSelected("email")} tone="info" />
22
- <RadioButton name="notify-channel" label="SMS" value={selected === "sms"} onChange={checked => checked && setSelected("sms")} tone="info" />
23
- </div>;
24
- },
25
- args: {
26
- value: undefined
27
- }
28
- }`,...D.parameters?.docs?.source}}},O.parameters={...O.parameters,docs:{...O.parameters?.docs,source:{originalSource:`{
29
- args: {
30
- label: "Недоступная опция",
31
- description: "Заблокировано политикой конфигурации.",
32
- value: true,
33
- disabled: true,
34
- tone: "neutral"
35
- }
36
- }`,...O.parameters?.docs?.source}}},k=[`Controlled`,`Group`,`Disabled`]}));A();export{E as Controlled,O as Disabled,D as Group,k as __namedExportsOrder,T as default,A as n,S as t};
@@ -1 +0,0 @@
1
- import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{pn as n,t as r}from"./iframe-CqfP7aF1.js";import{a as i,i as a,n as o,o as s}from"./utils-BfYZ9Iv_.js";import{n as c,t as l}from"./ui.module-wFHXkJzp.js";var u,d,f,p,m,h,g,_=t((()=>{u=`nINbA6`,d=`GL-UWx`,f=`_6PeF-i`,p=`_5wP4aR`,m=`S3MnZI`,h=`KHJ0ja`,g={radioGroup:u,noWrap:d,horizontal:f,vertical:p,radioItem:m,checked:h}}));function v({value:e,onChange:t,label:n,description:r,disabled:a,className:o,noWrap:s,orientation:l=`horizontal`,"aria-label":u,children:d}){let f=(0,b.useId)(),p=n?`${f}-label`:void 0,m=r?`${f}-description`:void 0,[h,_]=(0,b.useState)([]),v=(0,b.useCallback)(e=>t?.(e),[t]),y=(0,b.useCallback)(e=>(_(t=>t.includes(e)?t:[...t,e]),()=>{_(t=>t.filter(t=>t!==e))}),[]),C=(0,b.useMemo)(()=>({value:e,onChange:v,disabled:a,orientation:l,groupId:f,labelId:p,descriptionId:m,firstOptionId:h[0],registerOption:y}),[m,a,f,v,p,l,y,h,e]);return(0,x.jsxs)(`div`,{className:i(c.uiElement,a&&c.disabled,o),children:[n&&(0,x.jsx)(`div`,{id:p,className:c.uiLabel,children:n}),r&&(0,x.jsx)(`div`,{id:m,className:c.uiDescription,children:r}),(0,x.jsx)(S.Provider,{value:C,children:(0,x.jsx)(`div`,{role:`radiogroup`,"aria-labelledby":p,"aria-label":p?void 0:u,"aria-describedby":m,"aria-disabled":a||void 0,"data-disabled":a||void 0,className:i(c.uiInputControl,g.radioGroup,s&&g.noWrap,g[l]),children:d})})]})}function y({value:e,label:t,description:n,className:r}){let a=(0,b.useContext)(S),c=(0,b.useId)(),l=a?.registerOption;if((0,b.useLayoutEffect)(()=>{if(l)return l(c)},[l,c]),!a)return(0,x.jsxs)(`div`,{className:i(g.radioItem,r),children:[(0,x.jsx)(`p`,{className:`textNoWrap`,children:t}),n&&(0,x.jsx)(`div`,{className:`fontSizeSm content2`,children:n})]});let u=Object.is(a.value,e),d=a.disabled===!0,f=a.value===void 0&&a.firstOptionId===c,p=()=>{d||u||a.onChange?.(e)};return(0,x.jsxs)(`button`,{id:`${a.groupId}-option-${c}`,type:`button`,role:`radio`,"aria-checked":u,disabled:d,tabIndex:u||f?0:-1,className:i(g.radioItem,u&&g.checked,r),"data-ui":`radio-option`,"data-action":`select-radio-option`,onClick:p,onKeyDown:e=>{if(d||o(e,p))return;let t=e.currentTarget,n=t.closest(`[role="radiogroup"]`),r=Array.from(n?.querySelectorAll(`[role="radio"]:not([disabled])`)??[]);if(!r.length)return;let i=r.indexOf(t);if(i===-1)return;let c=s({currentIndex:i,itemCount:r.length,key:e.key,orientation:a.orientation});c!==null&&(e.preventDefault(),r[c]?.focus(),r[c]?.click())},children:[(0,x.jsx)(`span`,{className:`textNoWrap`,children:t}),n&&(0,x.jsx)(`span`,{className:`fontSizeSm`,children:n})]})}var b,x,S,C=t((()=>{b=e(n(),1),a(),l(),_(),x=r(),S=(0,b.createContext)(null),v.Option=y,v.__docgenInfo={description:`Группа радиокнопок с общим состоянием выбранного значения. Обеспечивает единый API выбора и контекст для дочерних опций.`,methods:[{name:`Option`,docblock:null,modifiers:[`static`],params:[{name:`{ value, label, description, className }: OptionProps<T>`,optional:!1,type:{name:`OptionProps`,elements:[{name:`T`}],raw:`OptionProps<T>`,alias:`OptionProps`}}],returns:null}],displayName:`RadioGroup`,props:{value:{required:!1,tsType:{name:`T`},description:``},onChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`T`},name:`value`}],return:{name:`void`}}},description:``},label:{required:!1,tsType:{name:`string`},description:``},description:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},className:{required:!1,tsType:{name:`string`},description:``},noWrap:{required:!1,tsType:{name:`literal`,value:`true`},description:``},orientation:{required:!1,tsType:{name:`union`,raw:`"vertical" | "horizontal"`,elements:[{name:`literal`,value:`"vertical"`},{name:`literal`,value:`"horizontal"`}]},description:``,defaultValue:{value:`"horizontal"`,computed:!1}},"aria-label":{required:!1,tsType:{name:`string`},description:``},children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``}}},y.__docgenInfo={description:"Опция внутри `RadioGroup`, представляющая одно выбираемое значение. Отрисовывает подпись, описание и состояние выбора.",methods:[],displayName:`Option`,props:{value:{required:!0,tsType:{name:`T`},description:``},label:{required:!0,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`ReactNode`},description:``},className:{required:!1,tsType:{name:`string`},description:``}}}}));export{C as n,v as t};
@@ -1,42 +0,0 @@
1
- import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{pn as r,t as i}from"./iframe-CqfP7aF1.js";import{n as a,t as o}from"./RadioGroup-DE_bpBiS.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};
@@ -1,12 +0,0 @@
1
- import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{Tt as n,n as r,pn as i,s as a,t as o}from"./iframe-CqfP7aF1.js";import{a as s,i as c}from"./utils-BfYZ9Iv_.js";import{n as l,t as u}from"./ui.module-wFHXkJzp.js";import{D as ee,S as te,d as ne,f as d,g as re,l as f,m as p,r as m,s as ie,t as h,v as ae}from"./picker-D2lWKGk-.js";function oe({option:e,getOptionLabel:t,getOptionCode:n,getOptionGroup:r}){return[d(t(e)),d(n?.(e)),d(r?.(e)?.label)].filter(e=>!!e).join(` `).toLowerCase()}var g=t((()=>{h()})),_=t((()=>{g()}));function se(e,t){let n=[];return e.forEach((e,r)=>{let i=t(e),a=n.at(-1),o=a?.group?.key===i?.key;if(a&&o){a.items.push({option:e,index:r});return}n.push({group:i,items:[{option:e,index:r}]})}),n}var v=t((()=>{})),y,b,x,S=t((()=>{y=`aEEqH1`,b=`_4HQKa7`,x={inputWithOverlay:y,valueOverlay:b}}));function C(e){let{label:t,description:r,disabled:i,placeholder:o,size:c,options:u,value:h,onChange:g,getOptionKey:_,getOptionLabel:v,getOptionCode:y,getOptionDisabled:b,getOptionAriaLabel:S,getOptionGroup:C,getOptionClassName:E,renderOption:D,renderValue:O,className:ce,buttonClassName:le,optionsClassName:ue,optionsMaxWidth:de,optionsContentClassName:fe,searchable:k=!1,defaultFilter:pe=!0,query:me,defaultQuery:he,onQuery:ge,renderPopupHeader:_e,emptyState:ve,loadingState:A,errorState:j,placement:M=`bottom-start`,clearable:N=!1}=e,P=g,F=(0,w.useRef)(null),[I,ye]=(0,w.useState)(!1),L=k?`search-single`:`display`,R=h===void 0?void 0:_(h),z=R===void 0?void 0:u.find(e=>_(e)===R)??h,{query:B,setQuery:V}=ie({open:I,query:me,defaultQuery:he,onQuery:ge,triggerMode:L}),be=(0,w.useCallback)(e=>oe({option:e,getOptionLabel:v,getOptionCode:y,getOptionGroup:C}),[y,C,v]),H=ne({options:u,query:B,enabled:k&&pe,getSearchText:be}),U=(0,w.useMemo)(()=>C?se(H,C):void 0,[C,H]),{activeIndex:xe,context:Se,floatingStyles:Ce,getFloatingProps:we,setReference:Te,setFloating:Ee,setOptionRef:De,close:W,openList:Oe,toggleOpen:ke,selectOption:Ae,selectActiveOption:je,handleReferenceKeyDown:Me,handleFloatingKeyDown:Ne,getOptionId:Pe,getActiveOptionId:G}=f({options:H,selectedIndex:R===void 0?-1:H.findIndex(e=>_(e)===R),open:I,onOpenChange:ye,getOptionDisabled:b,onSelect:P,disabled:i,placement:M,triggerMode:L}),K=H.length>0,q=z===void 0?void 0:v(z),J=z===void 0?void 0:O?O(z):q,Y=d(q),Fe=z===void 0?void 0:d(y?.(z)),Ie=d(J)??Y??Fe??(R===void 0?``:String(R)),X=k&&(I||B.length>0),Le=X?B:z===void 0?``:Ie,Z=z!==void 0&&J!==void 0&&d(J)===void 0&&!X,Q=m({mode:L,open:I,currentQuery:B,hasDisplayValue:z!==void 0,inputRef:F,setQuery:V,openList:Oe,close:W,toggleOpen:ke}),Re=e=>{F.current=e},ze=()=>{N&&P(void 0),V(``),W()},$=(e,t,r)=>{let i=_(t),a=R!==void 0&&i===R,o=r===xe,c=b?.(t)??!1,u={active:o,selected:a,disabled:c};return(0,T.jsx)(`div`,{id:Pe(e,r),ref:e=>De(r,e),role:`option`,"aria-selected":a,"aria-disabled":c||void 0,"aria-label":S?.(t),className:s(l.uiPopupOption,c&&l.disabled,o&&l.uiPopupOptionActive,a&&l.selected,E?.(t,u)),onClick:()=>Ae(t),children:D?D(t,u):(0,T.jsxs)(T.Fragment,{children:[a?(0,T.jsx)(n,{className:l.uiPopupOptionIcon}):(0,T.jsx)(`span`,{className:l.uiPopupOptionIcon}),(0,T.jsx)(`div`,{className:l.uiOptionText,children:v(t)}),y&&(0,T.jsx)(`div`,{className:l.uiOptionCode,children:y(t)})]})},i)};return(0,T.jsx)(ee,{label:t,description:r,disabled:i,placeholder:o,size:c,className:ce,children:({controlId:e,labelId:t,describedBy:n})=>{let r=`${e}-listbox`;return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(p,{ref:Re,rootRef:Te,id:e,type:`text`,disabled:i,readOnly:!k,autoComplete:`off`,role:`combobox`,value:Le,placeholder:z===void 0||X?o:void 0,"aria-labelledby":t,"aria-describedby":n,"aria-haspopup":`listbox`,"aria-expanded":I,"aria-controls":I?r:void 0,"aria-autocomplete":k?`list`:`none`,"aria-activedescendant":I?G(r):void 0,inputClassName:s(Z&&x.inputWithOverlay,le,`textOverflow`),overlay:Z?(0,T.jsx)(`div`,{className:x.valueOverlay,children:J}):void 0,endAdornment:(0,T.jsx)(re,{open:I,disabled:i,onToggleMouseDown:Q.handleToggleMouseDown,onToggleClick:Q.handleToggleClick,children:N&&z!==void 0&&!i?(0,T.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(),ze()},"aria-label":`Очистить выбор`,children:(0,T.jsx)(a,{})}):null}),onChange:e=>{k&&Q.handleTriggerInputChange(e.target.value)},onClick:Q.handleTriggerClick,onFocus:e=>{Q.handleTriggerFocus(e.currentTarget)},onKeyDown:e=>{Me(e),!e.defaultPrevented&&Q.handleTriggerKeyDown({event:e,onActivateWhenOpen:je,enableSpaceActivation:!k})}}),(0,T.jsx)(te,{open:I,context:Se,floatingStyles:Ce,listId:r,labelId:t,descriptionId:n,activeOptionId:K?G(r):void 0,setFloating:Ee,getFloatingProps:we,onKeyDown:Ne,className:s(l.uiPopupOptions,ue),maxWidth:de,header:_e,children:(0,T.jsx)(`div`,{className:s(fe,`h100 scrollable`),children:K?U?U.map((e,t)=>{let n=e.group?`${r}-group-${t}`:void 0,i=e.items.map(({option:e,index:t})=>$(r,e,t));return e.group?(0,T.jsxs)(`div`,{role:`group`,"aria-labelledby":n,children:[(0,T.jsx)(`div`,{id:n,className:l.uiPopupGroupLabel,children:e.group.label}),i]},`group-${String(e.group.key)}-${t}`):(0,T.jsx)(w.Fragment,{children:i},`options-${t}`)}):H.map((e,t)=>$(r,e,t)):(0,T.jsx)(ae,{emptyState:ve,loadingState:A,errorState:j})})})]})}})}var w,T,E=t((()=>{w=e(i(),1),c(),r(),h(),u(),_(),v(),S(),T=o(),C.__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:``},getOptionGroup:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => SelectOptionGroup | undefined`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`union`,raw:`SelectOptionGroup | undefined`,elements:[{name:`signature`,type:`object`,raw:`{
2
- readonly key: SelectOptionKey;
3
- readonly label: ReactNode;
4
- }`,signature:{properties:[{key:`key`,value:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}],required:!0}},{key:`label`,value:{name:`ReactNode`,required:!0}}]}},{name:`undefined`}]}}},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:`{
5
- active: boolean;
6
- selected: boolean;
7
- disabled: boolean;
8
- }`,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:`{
9
- active: boolean;
10
- selected: boolean;
11
- disabled: boolean;
12
- }`,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:``},optionsMaxWidth:{required:!1,tsType:{name:`CSSProperties["maxWidth"]`,raw:`CSSProperties["maxWidth"]`},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{E as n,C as t};
@@ -1,46 +0,0 @@
1
- import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{pn as r,t as i}from"./iframe-CqfP7aF1.js";import{n as a,t as o}from"./Select-CelCWR4u.js";var s=e({ControlledObjects:()=>p,CustomOptionLayout:()=>_,Disabled:()=>v,GroupedOptions:()=>g,Placeholder:()=>h,PrimitiveOptions:()=>m,__namedExportsOrder:()=>y,default:()=>f}),c,l,u,d,f,p,m,h,g,_,v,y,b=n((()=>{c=t(r(),1),a(),l=i(),u=[{id:1,name:`Отдел продаж`,code:`SLS`,manager:`Елена Миронова`,direction:`Коммерческий блок`},{id:2,name:`Закупки`,code:`PRC`,manager:`Антон Мелихов`,direction:`Коммерческий блок`},{id:3,name:`Логистика`,code:`LGS`,manager:`Мария Климова`,direction:`Операционный блок`,disabled:!0},{id:4,name:`Поддержка клиентов`,code:`SUP`,manager:`Ирина Белова`,direction:`Операционный блок`}],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},getOptionGroup:{description:`Опциональная функция, которая объединяет соседние 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`},optionsMaxWidth:{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)();return(0,l.jsx)(o,{...e,value:t,onChange:n,getOptionGroup:e=>({key:e.direction,label:e.direction}),optionsMaxWidth:`40rem`})}},_={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})]})})}},v={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>();
22
- return <Select {...args} value={value} onChange={setValue} getOptionGroup={option => ({
23
- key: option.direction,
24
- label: option.direction
25
- })} optionsMaxWidth="40rem" />;
26
- }
27
- }`,...g.parameters?.docs?.source}}},_.parameters={..._.parameters,docs:{..._.parameters?.docs,source:{originalSource:`{
28
- name: "Кастомный рендер",
29
- render: args => {
30
- const [value, setValue] = useState<DepartmentOption | undefined>(departmentOptions[0]);
31
- return <Select {...args} value={value} onChange={setValue} renderValue={option => \`\${option.code} · \${option.name}\`} renderOption={(option, state) => <>
32
- <div className="flexEllipsis">
33
- <div>{option.name}</div>
34
- <div className="fontSizeSm content2">{option.manager}</div>
35
- </div>
36
- <div style={{
37
- opacity: state.selected ? 1 : 0.5
38
- }}>{option.code}</div>
39
- </>} />;
40
- }
41
- }`,..._.parameters?.docs?.source}}},v.parameters={...v.parameters,docs:{...v.parameters?.docs,source:{originalSource:`{
42
- args: {
43
- disabled: true,
44
- value: departmentOptions[0]
45
- }
46
- }`,...v.parameters?.docs?.source}}},y=[`ControlledObjects`,`PrimitiveOptions`,`Placeholder`,`GroupedOptions`,`CustomOptionLayout`,`Disabled`]}));b();export{p as ControlledObjects,_ as CustomOptionLayout,v as Disabled,g as GroupedOptions,h as Placeholder,m as PrimitiveOptions,y as __namedExportsOrder,f as default,b as n,s as t};
@@ -1 +0,0 @@
1
- import{i as e}from"./preload-helper-B45gAKPr.js";import{t}from"./iframe-CqfP7aF1.js";import{a as n,i as r}from"./utils-BfYZ9Iv_.js";import{o as i,t as a}from"./text-BCUxHWs4.js";import{n as o,t as s}from"./ui.module-wFHXkJzp.js";function c({label:e,code:t,highlight:r,labelClassName:a,codeClassName:s}){return(0,l.jsxs)(`div`,{className:o.uiOptionBase,children:[(0,l.jsx)(`div`,{className:n(o.uiOptionText,`flexEllipsis`,a),children:(0,l.jsx)(i,{text:e,highlight:r})}),t&&(0,l.jsx)(`div`,{className:n(o.uiOptionCode,s),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:``},labelClassName:{required:!1,tsType:{name:`string`},description:`Приватный визуальный modifier label для специализированного владельца option.`},codeClassName:{required:!1,tsType:{name:`string`},description:`Отдельный modifier code, потому что code задаёт собственный variable-font weight.`}}}}));export{u as n,c as t};
@@ -1,4 +0,0 @@
1
- import{i as e}from"./preload-helper-B45gAKPr.js";import{t}from"./iframe-CqfP7aF1.js";import{n,t as r}from"./Select-CelCWR4u.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};
@@ -1,43 +0,0 @@
1
- import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{pn as r,t as i}from"./iframe-CqfP7aF1.js";import{n as a,t as o}from"./SerializableSelect-D8YCGkPD.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};
@@ -1,78 +0,0 @@
1
- import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{jt as r,n as i,pn as a,t as o,tt as ee}from"./iframe-CqfP7aF1.js";import{a as s,i as c}from"./utils-BfYZ9Iv_.js";import{J as l,K as u,o as d,p as te,t as f,z as p}from"./formatters-Bt3ef0VX.js";import{i as m,t as h}from"./popover-D7McA5RG.js";import{n as g,t as _}from"./ui.module-wFHXkJzp.js";import{t as v}from"./Button-Dpi111u7.js";import{i as y}from"./DateInput-aifcbvnl.js";import{t as b}from"./button-BfP43NV5.js";import{o as ne,r as re,u as ie}from"./Input-Cd3vgy0g.js";import{t as ae}from"./input-DNF627Va.js";import{t as oe}from"./ui-D39u6Dhv.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-DoveAQla.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(a(),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:i,placeholder:a,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)(()=>te(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:!!i,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`||d(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=a??(_===`time`?`чч:мм`:`дд.мм.гггг чч:мм`),J=S??b??T;return(0,G.jsxs)(m,{open:x,onOpenChange:U,children:[(0,G.jsx)(ne,{label:n,description:i,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)(r,{}),"aria-label":K})}),children:({controlClassName:e})=>(0,G.jsx)(`div`,{id:D,className:s(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:s(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:s(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(a(),1),f(),c(),i(),b(),oe(),ae(),h(),_(),k(),ve(),ye(),E(),G=o(),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(a(),1),f(),be(),q=o(),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};