@ryuzaki13/react-foundation-ui 1.5.6 → 1.5.8

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 (367) hide show
  1. package/dist/advanced-search/index.js +8 -8
  2. package/dist/badge/index.js +1 -1
  3. package/dist/base-table/index.js +1 -1
  4. package/dist/button/index.js +1 -1
  5. package/dist/check-box/index.js +1 -1
  6. package/dist/chunks/{CalendarView-Cfih7hjD.js → CalendarView-DO899w6E.js} +2 -2
  7. package/dist/chunks/{CalendarView-Cfih7hjD.js.map → CalendarView-DO899w6E.js.map} +1 -1
  8. package/dist/chunks/{TextEditorLexicalClient-BSafrkLJ.js → TextEditorLexicalClient-C7XL4lZ5.js} +6 -6
  9. package/dist/chunks/{TextEditorLexicalClient-BSafrkLJ.js.map → TextEditorLexicalClient-C7XL4lZ5.js.map} +1 -1
  10. package/dist/chunks/{badge-CbclcpUi.js → badge-BXwM9cFq.js} +2 -2
  11. package/dist/chunks/{badge-CbclcpUi.js.map → badge-BXwM9cFq.js.map} +1 -1
  12. package/dist/chunks/{base-table-X7aSSjXa.js → base-table-CFJHhLNb.js} +2 -2
  13. package/dist/chunks/{base-table-X7aSSjXa.js.map → base-table-CFJHhLNb.js.map} +1 -1
  14. package/dist/chunks/{button-BOl7hYmT.js → button-BcnvJpqz.js} +3 -3
  15. package/dist/chunks/{button-BOl7hYmT.js.map → button-BcnvJpqz.js.map} +1 -1
  16. package/dist/chunks/{check-box-6HGX_KOy.js → check-box-BrPHWs2l.js} +3 -3
  17. package/dist/chunks/{check-box-6HGX_KOy.js.map → check-box-BrPHWs2l.js.map} +1 -1
  18. package/dist/chunks/{context-menu-tcD3kVAc.js → context-menu-DcdUfWN3.js} +2 -2
  19. package/dist/chunks/{context-menu-tcD3kVAc.js.map → context-menu-DcdUfWN3.js.map} +1 -1
  20. package/dist/chunks/{date-input-Bsl9dxxY.js → date-input-Db7GPkPC.js} +5 -5
  21. package/dist/chunks/{date-input-Bsl9dxxY.js.map → date-input-Db7GPkPC.js.map} +1 -1
  22. package/dist/chunks/{input-CAw1Loze.js → input-CMVATAFR.js} +2 -2
  23. package/dist/chunks/{input-CAw1Loze.js.map → input-CMVATAFR.js.map} +1 -1
  24. package/dist/chunks/{input-files-CLtQ7p8j.js → input-files-DM6I2iF_.js} +3 -3
  25. package/dist/chunks/{input-files-CLtQ7p8j.js.map → input-files-DM6I2iF_.js.map} +1 -1
  26. package/dist/chunks/{input-search-F6MPrUGF.js → input-search-BlTKbtAL.js} +2 -2
  27. package/dist/chunks/{input-search-F6MPrUGF.js.map → input-search-BlTKbtAL.js.map} +1 -1
  28. package/dist/chunks/{modal-DPIXoMkB.js → modal-z1Ej4Y-r.js} +2 -2
  29. package/dist/chunks/{modal-DPIXoMkB.js.map → modal-z1Ej4Y-r.js.map} +1 -1
  30. package/dist/chunks/{multi-select-CZPB8H6v.js → multi-select-BMBjWg3h.js} +5 -5
  31. package/dist/chunks/{multi-select-CZPB8H6v.js.map → multi-select-BMBjWg3h.js.map} +1 -1
  32. package/dist/chunks/{picker-TYLwgl1c.js → picker-C-a-2NkB.js} +3 -3
  33. package/dist/chunks/{picker-TYLwgl1c.js.map → picker-C-a-2NkB.js.map} +1 -1
  34. package/dist/chunks/{radio-group-4j2HbemI.js → radio-group-D-eBPuGm.js} +2 -2
  35. package/dist/chunks/radio-group-D-eBPuGm.js.map +1 -0
  36. package/dist/chunks/{select-BwbljzU9.js → select-BhVOTvZ_.js} +5 -5
  37. package/dist/chunks/{select-BwbljzU9.js.map → select-BhVOTvZ_.js.map} +1 -1
  38. package/dist/chunks/{table-DihiNNJt.js → table-jMjMoYKh.js} +2 -2
  39. package/dist/chunks/{table-DihiNNJt.js.map → table-jMjMoYKh.js.map} +1 -1
  40. package/dist/chunks/{ui.module-BfaIVBba.js → ui.module-D_ZhzCRv.js} +2 -1
  41. package/dist/chunks/ui.module-D_ZhzCRv.js.map +1 -0
  42. package/dist/chunks/{uiClasses-4atXOh0J.js → uiClasses-CF_aN4Tv.js} +11 -2
  43. package/dist/chunks/uiClasses-CF_aN4Tv.js.map +1 -0
  44. package/dist/chunks/{useODataSelectBase-Bfljwe39.js → useODataSelectBase-CQJuzk5Q.js} +2 -2
  45. package/dist/chunks/{useODataSelectBase-Bfljwe39.js.map → useODataSelectBase-CQJuzk5Q.js.map} +1 -1
  46. package/dist/context-menu/index.js +1 -1
  47. package/dist/date-input/index.js +2 -2
  48. package/dist/date-time-input/index.js +3 -3
  49. package/dist/development/storybook/createControlledStoryRender.d.ts +12 -0
  50. package/dist/development/storybook/createControlledStoryRender.d.ts.map +1 -0
  51. package/dist/disclosure/index.js +1 -1
  52. package/dist/drop-zone/index.js +1 -1
  53. package/dist/expandable-action-panel/index.js +1 -1
  54. package/dist/image/index.js +4 -4
  55. package/dist/input/index.js +1 -1
  56. package/dist/input-date-time/index.js +2 -2
  57. package/dist/input-file/index.js +2 -2
  58. package/dist/input-files/index.js +1 -1
  59. package/dist/input-image/index.js +2 -2
  60. package/dist/input-search/index.js +1 -1
  61. package/dist/layout-picker/index.js +2 -2
  62. package/dist/listbox/index.js +1 -1
  63. package/dist/modal/index.js +1 -1
  64. package/dist/multi-select/index.js +1 -1
  65. package/dist/notifications/index.js +1 -1
  66. package/dist/picker/index.js +1 -1
  67. package/dist/preset-range-date-input/index.js +1 -1
  68. package/dist/preset-select/index.js +1 -1
  69. package/dist/radio-button/RadioButton.d.ts +2 -0
  70. package/dist/radio-button/RadioButton.d.ts.map +1 -1
  71. package/dist/radio-button/index.js +4 -6
  72. package/dist/radio-button/index.js.map +1 -1
  73. package/dist/radio-group/index.js +1 -1
  74. package/dist/select/index.js +1 -1
  75. package/dist/simple-table/index.js +1 -1
  76. package/dist/slider/Slider.d.ts.map +1 -1
  77. package/dist/slider/index.js +9 -8
  78. package/dist/slider/index.js.map +1 -1
  79. package/dist/state-select/index.js +1 -1
  80. package/dist/styles.css +1 -1
  81. package/dist/switch/index.js +1 -1
  82. package/dist/table/index.js +1 -1
  83. package/dist/table-sorting/index.js +1 -1
  84. package/dist/tag-input/index.js +2 -2
  85. package/dist/text-editor/index.js +1 -1
  86. package/dist/textarea/index.js +2 -2
  87. package/dist/toggle/index.js +1 -1
  88. package/dist/tree-select/index.js +6 -6
  89. package/dist/tree-table/index.js +1 -1
  90. package/dist/types.d.ts +6 -2
  91. package/dist/types.d.ts.map +1 -1
  92. package/dist/uiClasses.d.ts.map +1 -1
  93. package/package.json +1 -1
  94. package/src/styles/_controls.scss +4 -0
  95. package/src/styles/config/_index.scss +71 -46
  96. package/src/styles/mixins/_mixin.scss +6 -6
  97. package/storybook-static/assets/{Badge-BiiRjdOi.js → Badge-Khhz8aRX.js} +1 -1
  98. package/storybook-static/assets/Badge.stories-zOcsfaff.js +56 -0
  99. package/storybook-static/assets/BadgeList-DS9d6kVQ.js +4 -0
  100. package/storybook-static/assets/{Button-CjaNN6rV.js → Button-C38ehnnC.js} +11 -1
  101. package/storybook-static/assets/Button-CEXo9sAm.js +14 -0
  102. package/storybook-static/assets/Button.stories-1WKvAI-j.js +93 -0
  103. package/storybook-static/assets/{CalendarView-BMJ6hyvh.js → CalendarView-CiXyo_UG.js} +1 -1
  104. package/storybook-static/assets/{CheckBox-BTR1-W6r.js → CheckBox-BeowtitL.js} +2 -2
  105. package/storybook-static/assets/{CheckBox-PJCZFi85.js → CheckBox-sqtI5EhB.js} +1 -1
  106. package/storybook-static/assets/CheckBox.stories-BPX1Rg46.js +58 -0
  107. package/storybook-static/assets/{Color-6AOWCN3U-VUHIzkg_.js → Color-6AOWCN3U-2vHfXX4h.js} +1 -1
  108. package/storybook-static/assets/{ContextMenu-Bh4oHP6K.js → ContextMenu-CKqFrruL.js} +1 -1
  109. package/storybook-static/assets/{ContextMenu-0zHy_xbK.js → ContextMenu-Cf0aB42t.js} +1 -1
  110. package/storybook-static/assets/ContextMenu.stories-DUNNczmV.js +37 -0
  111. package/storybook-static/assets/{DateInput-kNvOe_qw.js → DateInput-CgZisi2m.js} +1 -1
  112. package/storybook-static/assets/{DateInput-CNO6uPbo.js → DateInput-CqLQj_F4.js} +1 -1
  113. package/storybook-static/assets/{DateInput.stories-DGrl1NRg.js → DateInput.stories-Do_7epv1.js} +1 -1
  114. package/storybook-static/assets/{DateRangePresetSelect-CfuLAxW0.js → DateRangePresetSelect-CQH5mwGa.js} +2 -2
  115. package/storybook-static/assets/{DateRangePresetSelect-DVe-KZEx.js → DateRangePresetSelect-CvYeLrV2.js} +1 -1
  116. package/storybook-static/assets/DateRangePresetSelect.stories-BaulSowp.js +19 -0
  117. package/storybook-static/assets/{Detail-DjP_T3Yg.js → Detail-C5pT_ihu.js} +1 -1
  118. package/storybook-static/assets/Detail.stories-CYeU4gW0.js +56 -0
  119. package/storybook-static/assets/{Dialog-PPguLwie.js → Dialog-CyfPnLNU.js} +1 -1
  120. package/storybook-static/assets/{Dialog-BbfwcIzl.js → Dialog-JpGOo8UM.js} +1 -1
  121. package/storybook-static/assets/Dialog.stories-DDgSBPse.js +22 -0
  122. package/storybook-static/assets/{Disclosure-DfjeNfkn.js → Disclosure-CoRV3SKI.js} +1 -1
  123. package/storybook-static/assets/Disclosure.stories-ShTbXMfl.js +23 -0
  124. package/storybook-static/assets/{DisclosureGroup-C4o0IITt.js → DisclosureGroup-DFZxdYAc.js} +1 -1
  125. package/storybook-static/assets/{DocsRenderer-JROSPFPF-BiMFt7_A.js → DocsRenderer-JROSPFPF-C6cvpWLp.js} +1 -1
  126. package/storybook-static/assets/{DropZone-C3oRa6sQ.js → DropZone-BMM9Wzo2.js} +1 -1
  127. package/storybook-static/assets/{DropZone-Cw3X-9Xt.js → DropZone-aGbl_hY6.js} +1 -1
  128. package/storybook-static/assets/DropZone.stories-B19OUO0s.js +26 -0
  129. package/storybook-static/assets/{DropdownMenu-CPj2r3k-.js → DropdownMenu-Cg0W3h8L.js} +1 -1
  130. package/storybook-static/assets/{ExpandableActionPanel-DAzBwv3l.js → ExpandableActionPanel-BzBrYqC5.js} +1 -1
  131. package/storybook-static/assets/ExpandableActionPanel.stories-DCNEDnZa.js +9 -0
  132. package/storybook-static/assets/{Flex-Rsf5s2Qh.js → Flex-MkfwQVIc.js} +1 -1
  133. package/storybook-static/assets/{Flex.stories-C4LjuUoy.js → Flex.stories-BlM3OY3o.js} +12 -12
  134. package/storybook-static/assets/{FloatingPopover-QXZeXRkJ.js → FloatingPopover-D6CCSTdu.js} +1 -1
  135. package/storybook-static/assets/{FormattedTableCell-YhiJaAK4.js → FormattedTableCell-G7nk8gAQ.js} +1 -1
  136. package/storybook-static/assets/{Grid-BnEITS4J.js → Grid-DfaPblMb.js} +1 -1
  137. package/storybook-static/assets/{Grid.stories-CpCGadoX.js → Grid.stories-DDikKF9r.js} +15 -15
  138. package/storybook-static/assets/{ImageCropper.stories-CQZ6x_Ob.js → ImageCropper.stories-CXPVp9Vp.js} +23 -7
  139. package/storybook-static/assets/{ImageRenderer-CQSICbwz.js → ImageRenderer-BGvZWBqv.js} +1 -1
  140. package/storybook-static/assets/ImageRenderer.stories-DISqcLr0.js +34 -0
  141. package/storybook-static/assets/ImageView.stories-2slK-d-x.js +14 -0
  142. package/storybook-static/assets/{ImageViewer.stories-B2zHeVgq.js → ImageViewer.stories-Xq_D5QUi.js} +30 -12
  143. package/storybook-static/assets/{ImageViewerRuntime-CQBT2XUj.js → ImageViewerRuntime-DMqh4wGq.js} +1 -1
  144. package/storybook-static/assets/{Input-C2Lss7is.js → Input-B9ykEI3i.js} +1 -1
  145. package/storybook-static/assets/{Input-D7iiHnIH.js → Input-QDdDpHSi.js} +1 -1
  146. package/storybook-static/assets/Input.stories-B0ij_iCD.js +52 -0
  147. package/storybook-static/assets/{InputDateTime-DM3BFpr1.js → InputDateTime-BLCtKukj.js} +1 -1
  148. package/storybook-static/assets/{InputDateTime.stories-DYonovnC.js → InputDateTime.stories-mKKGsKaq.js} +23 -20
  149. package/storybook-static/assets/{InputFile-G-H8FqNn.js → InputFile-CHhD9bDB.js} +1 -1
  150. package/storybook-static/assets/{InputFile-BSVH6QKl.js → InputFile-uAmsP7LG.js} +1 -1
  151. package/storybook-static/assets/InputFile.stories-CK-ACsW2.js +27 -0
  152. package/storybook-static/assets/{InputFiles-CA7eAjuN.js → InputFiles-CDgBA7Tt.js} +1 -1
  153. package/storybook-static/assets/{InputFiles-DnYodbhi.js → InputFiles-DABWDqXi.js} +1 -1
  154. package/storybook-static/assets/InputFiles.stories-Dihf3LA3.js +26 -0
  155. package/storybook-static/assets/{InputFilesList-BhOSPaGs.js → InputFilesList-CCkGwmuk.js} +1 -1
  156. package/storybook-static/assets/{InputImage-BPmp_DbZ.js → InputImage-B-yYeHyx.js} +1 -1
  157. package/storybook-static/assets/{InputImage-BwWAi8ze.js → InputImage-CL1d5Pan.js} +1 -1
  158. package/storybook-static/assets/InputImage.stories-CJSA6DVX.js +56 -0
  159. package/storybook-static/assets/InteractiveComponents-BbTcKx2O.js +87 -0
  160. package/storybook-static/assets/InteractiveComponents.stories-91dvlxQf.js +472 -0
  161. package/storybook-static/assets/{LayoutPicker-DrQx5OwE.js → LayoutPicker-Bghy4k1z.js} +1 -1
  162. package/storybook-static/assets/{LayoutPicker-Bz8Vo6L7.js → LayoutPicker-CXDkkJp2.js} +1 -1
  163. package/storybook-static/assets/{LayoutPicker.stories-CBqPwt3h.js → LayoutPicker.stories-DW9dESrS.js} +1 -1
  164. package/storybook-static/assets/{Listbox-BbSsDx2u.js → Listbox--cQWgUmD.js} +1 -1
  165. package/storybook-static/assets/{Listbox-B7Z7L_t3.js → Listbox-CLvPiIfl.js} +1 -1
  166. package/storybook-static/assets/Listbox.stories-Df-qKPoO.js +68 -0
  167. package/storybook-static/assets/{Modal-Cob4DPKq.js → Modal-q_SY4zcu.js} +1 -1
  168. package/storybook-static/assets/Modal.stories-uOYpbXVv.js +232 -0
  169. package/storybook-static/assets/{ModalManagerProvider-DPGYpfId.js → ModalManagerProvider-DRweDYkZ.js} +1 -1
  170. package/storybook-static/assets/{MultiSelect-BgMw4DIC.js → MultiSelect-B2hs_VJT.js} +1 -1
  171. package/storybook-static/assets/{MultiSelect-DKv6Qe08.js → MultiSelect-C7oSCFYc.js} +1 -1
  172. package/storybook-static/assets/MultiSelect.stories-CmXVD8NV.js +55 -0
  173. package/storybook-static/assets/{NoData-B33Cn4pA.js → NoData-CYykp6nm.js} +1 -1
  174. package/storybook-static/assets/{NotificationsHost-DDcfMtWv.js → NotificationsHost-6EGDcdXc.js} +1 -1
  175. package/storybook-static/assets/NotificationsHost.stories-DYlOKW3z.js +29 -0
  176. package/storybook-static/assets/{ODataMultiSelect-CT4h5T5J.js → ODataMultiSelect-D3lAz52M.js} +1 -1
  177. package/storybook-static/assets/ODataMultiSelect.stories-Do349Woi.js +137 -0
  178. package/storybook-static/assets/{ODataSelect-_FeWsMNO.js → ODataSelect-BmLCt-Et.js} +1 -1
  179. package/storybook-static/assets/ODataSelect.stories-CBE4FRU1.js +207 -0
  180. package/storybook-static/assets/{ODataTreeMultiSelect-Lfa06t8R.js → ODataTreeMultiSelect-DPRC8mC_.js} +1 -1
  181. package/storybook-static/assets/ODataTreeMultiSelect.stories-B04PXBI1.js +78 -0
  182. package/storybook-static/assets/{ODataTreeSelect-CoVG8YGb.js → ODataTreeSelect-D_JM7RgM.js} +1 -1
  183. package/storybook-static/assets/ODataTreeSelect.stories-Cg5g1jKK.js +55 -0
  184. package/storybook-static/assets/{OneStepScroller-Ba810Z0K.js → OneStepScroller-BFpPuaB_.js} +1 -1
  185. package/storybook-static/assets/{PeriodSelect-U8W5a0AG.js → PeriodSelect-BcOUZrRT.js} +1 -1
  186. package/storybook-static/assets/{PeriodSelect-p_hunoMx.js → PeriodSelect-DEMta98q.js} +1 -1
  187. package/storybook-static/assets/PeriodSelect.stories-Y9ouTAuy.js +50 -0
  188. package/storybook-static/assets/{PickerSelectionToolbar-BQvUp2gy.js → PickerSelectionToolbar-Bv-nSj0d.js} +1 -1
  189. package/storybook-static/assets/{PickerTriggerActions-Bn7w0HQj.js → PickerTriggerActions-CQDEvDc_.js} +1 -1
  190. package/storybook-static/assets/{Popover-D5X_VDjs.js → Popover-CWLOyKnP.js} +1 -1
  191. package/storybook-static/assets/{Popover-CAmdlvk7.js → Popover-DB3qAxXW.js} +1 -1
  192. package/storybook-static/assets/Popover.stories-D5sWLE6b.js +47 -0
  193. package/storybook-static/assets/PresetRangeDateInput-59Tam-1W.js +1 -0
  194. package/storybook-static/assets/{PresetRangeDateInput-D_uUOybG.js → PresetRangeDateInput-CtvsU8Ml.js} +1 -1
  195. package/storybook-static/assets/PresetRangeDateInput.stories-CUwrsRrL.js +3 -0
  196. package/storybook-static/assets/{PresetSelect-ClINdcBe.js → PresetSelect-BAYEJ8CM.js} +1 -1
  197. package/storybook-static/assets/RadioButton-CM7QJhfw.js +1 -0
  198. package/storybook-static/assets/{RadioButton-CTQ3NULx.js → RadioButton-zpobcF9e.js} +1 -1
  199. package/storybook-static/assets/RadioButton.stories-CzL_GQa2.js +32 -0
  200. package/storybook-static/assets/{RadioGroup-ByD3Q99Y.js → RadioGroup-BApqIRxt.js} +1 -1
  201. package/storybook-static/assets/{RadioGroup-Bi6nDRg3.js → RadioGroup-CRQsZ0qT.js} +1 -1
  202. package/storybook-static/assets/{RadioGroup-DzkFQ83G.css → RadioGroup-vkD0hI_b.css} +1 -1
  203. package/storybook-static/assets/RadioGroup.stories-CxrEMC1U.js +17 -0
  204. package/storybook-static/assets/{Scrollable-BX1lUjOe.js → Scrollable-8LS79J5A.js} +1 -1
  205. package/storybook-static/assets/{Select-BIdQZ63S.js → Select-Dgz6O4XI.js} +1 -1
  206. package/storybook-static/assets/{Select-DZI40eOj.js → Select-DnKAwahR.js} +1 -1
  207. package/storybook-static/assets/Select.stories-BVue1oEG.js +69 -0
  208. package/storybook-static/assets/{SelectOptionContent-BBkx-6Ex.js → SelectOptionContent-B0aIuszF.js} +1 -1
  209. package/storybook-static/assets/{SerializableSelect-D8xPL7XQ.js → SerializableSelect-DdKvEcMl.js} +1 -1
  210. package/storybook-static/assets/SerializableSelect.stories-C9HykJIM.js +73 -0
  211. package/storybook-static/assets/{SingleDateTimeInput-DfsGAFoU.js → SingleDateTimeInput-5BdPENRL.js} +1 -1
  212. package/storybook-static/assets/{SingleDateTimeInput-CTvNbcZ6.js → SingleDateTimeInput-BJurOfWH.js} +1 -1
  213. package/storybook-static/assets/SingleDateTimeInput.stories-CbCzAEH_.js +48 -0
  214. package/storybook-static/assets/{Slider-DjX_Irjn.js → Slider-B7fBYWsh.js} +1 -1
  215. package/storybook-static/assets/{Slider-DLtF6vGD.js → Slider-Su14u999.js} +1 -1
  216. package/storybook-static/assets/Slider-bVVL6_Jz.css +1 -0
  217. package/storybook-static/assets/Slider.stories-oq8MwiOM.js +80 -0
  218. package/storybook-static/assets/{SliderInput-UCsxAR-B.js → SliderInput-C6vA0nX0.js} +1 -1
  219. package/storybook-static/assets/{SliderInput-BqvH8eHy.js → SliderInput-DC3rLw1R.js} +1 -1
  220. package/storybook-static/assets/SliderInput.stories-oSDfsTGl.js +92 -0
  221. package/storybook-static/assets/{Sortable-CNtgLPiY.js → Sortable-D2S4Ntya.js} +1 -1
  222. package/storybook-static/assets/Sortable.stories-B1VPCY57.js +77 -0
  223. package/storybook-static/assets/{Splitter-PsRXvIfb.js → Splitter-BOCZma_W.js} +1 -1
  224. package/storybook-static/assets/{Splitter.stories-CNpgsRiE.js → Splitter.stories-Be1FdaCX.js} +26 -9
  225. package/storybook-static/assets/{StateSelect-_vJdEQd4.js → StateSelect-D397PXHf.js} +1 -1
  226. package/storybook-static/assets/{StateSelect-BxRXr-2U.js → StateSelect-a1GpBbb9.js} +1 -1
  227. package/storybook-static/assets/StateSelect.stories-uqTINtV1.js +59 -0
  228. package/storybook-static/assets/StringToggle.stories-VNfJpKp9.js +5 -0
  229. package/storybook-static/assets/{Switch-B_3CFRDw.js → Switch-5BXuXQib.js} +1 -1
  230. package/storybook-static/assets/{Switch-CZpcIIzj.js → Switch-DJnZsi7c.js} +1 -1
  231. package/storybook-static/assets/Switch.stories-qmAfTk2T.js +15 -0
  232. package/storybook-static/assets/{Table-ozF5MS3q.js → Table-DwAfFwxJ.js} +1 -1
  233. package/storybook-static/assets/Table.stories-BIfxC452.js +207 -0
  234. package/storybook-static/assets/{Tabs-Dr4gaN0z.js → Tabs-CFLwas2t.js} +1 -1
  235. package/storybook-static/assets/Tabs.stories-BDpQCjIJ.js +87 -0
  236. package/storybook-static/assets/{TabsBox-6G7F_Vo9.js → TabsBox-B-Qi_Ddz.js} +1 -1
  237. package/storybook-static/assets/{TagInput-CIsnKs98.js → TagInput-o8pKGmii.js} +1 -1
  238. package/storybook-static/assets/TagInput.stories-VMOT59Cx.js +18 -0
  239. package/storybook-static/assets/{Text-DEUhj_FL.js → Text-DGP30761.js} +1 -1
  240. package/storybook-static/assets/{Textarea-BoLolqIc.js → Textarea-BAmJ8_Mc.js} +1 -1
  241. package/storybook-static/assets/{Textarea-Cv8Iiqm7.js → Textarea-ZKT4EZNo.js} +1 -1
  242. package/storybook-static/assets/Textarea.stories-C2UVl6PS.js +17 -0
  243. package/storybook-static/assets/{TimePanel-DbWoLCxS.js → TimePanel-BrhU0p24.js} +1 -1
  244. package/storybook-static/assets/TimePanel.stories-ngyJXj5J.js +14 -0
  245. package/storybook-static/assets/{Toggle-BAhzEihH.js → Toggle-CBNpSWHj.js} +1 -1
  246. package/storybook-static/assets/{Toggle-DN84PUdA.js → Toggle-wlk2S-OZ.js} +1 -1
  247. package/storybook-static/assets/Toggle.stories-B98YrV_V.js +25 -0
  248. package/storybook-static/assets/{TreeMultiSelect-C1iVfpMl.js → TreeMultiSelect-C-9k48kJ.js} +1 -1
  249. package/storybook-static/assets/{TreeMultiSelect-BTe_-dq5.js → TreeMultiSelect-Dtl4PCmy.js} +1 -1
  250. package/storybook-static/assets/TreeMultiSelect.stories-CWlzx-1-.js +60 -0
  251. package/storybook-static/assets/{TreePickerBase-DayQwVwR.js → TreePickerBase-DypAOfjj.js} +1 -1
  252. package/storybook-static/assets/{TreeSelect-CJV0O91H.js → TreeSelect-D5ihwfVT.js} +1 -1
  253. package/storybook-static/assets/{TreeSelect-D6L3D0h4.js → TreeSelect-DG-iC3OT.js} +1 -1
  254. package/storybook-static/assets/TreeSelect.stories-C4y-1eM0.js +40 -0
  255. package/storybook-static/assets/{TreeTable-fbVtFU3l.js → TreeTable-EtrL23Tv.js} +1 -1
  256. package/storybook-static/assets/TreeTable.stories-DlZcGmtJ.js +168 -0
  257. package/storybook-static/assets/{async-D6nAWhc1.js → async-BbFzTdhE.js} +1 -1
  258. package/storybook-static/assets/{blocks-DCcg3Usb.js → blocks-Dk_BOKmc.js} +3 -3
  259. package/storybook-static/assets/{browserAndReact-CcRiDbNd.js → browserAndReact-BjzCiDcb.js} +1 -1
  260. package/storybook-static/assets/{check-CmUKUPJO.js → check-DSM_9_9i.js} +1 -1
  261. package/storybook-static/assets/{chevron-down-BDWEK49G.js → chevron-down-Bp7g9jaN.js} +1 -1
  262. package/storybook-static/assets/{chevron-left-CGk7Zpej.js → chevron-left-D0R6zNbT.js} +1 -1
  263. package/storybook-static/assets/{chevron-right-CT64vlCm.js → chevron-right-D4cu1_Hh.js} +1 -1
  264. package/storybook-static/assets/{chunk-W22LQPXL-CxBe5sB2.js → chunk-W22LQPXL-ClDnVv2Q.js} +1 -1
  265. package/storybook-static/assets/{circle-alert-POx9wimX.js → circle-alert-BPggadk6.js} +1 -1
  266. package/storybook-static/assets/{circle-check-BlI17qP5.js → circle-check-BU1QAh8V.js} +1 -1
  267. package/storybook-static/assets/{components-D__s8Hie.js → components-B_jGKru2.js} +3 -3
  268. package/storybook-static/assets/{contextMenu-DK_TntWE.js → contextMenu-Bf6YK0UH.js} +1 -1
  269. package/storybook-static/assets/createControlledStoryRender-DHsyXc1B.js +1 -0
  270. package/storybook-static/assets/{defaultRenderers-DBXPZtpT.js → defaultRenderers-DjL-8uS1.js} +1 -1
  271. package/storybook-static/assets/{download-RGyJzMcA.js → download-QNniF4SQ.js} +1 -1
  272. package/storybook-static/assets/{filesAndExcel-DcPYf9n5.js → filesAndExcel-BYbWfuEG.js} +1 -1
  273. package/storybook-static/assets/{floating-ui.react-CMX7peH7.js → floating-ui.react-_mbG5dEq.js} +1 -1
  274. package/storybook-static/assets/{formatters-BwvzqJ-Y.js → formatters-CSUSbuYT.js} +1 -1
  275. package/storybook-static/assets/{formatters-runtime-DrmDzmeG.js → formatters-runtime-CJK7YO_m.js} +1 -1
  276. package/storybook-static/assets/{foundationLib-x4242gln.js → foundationLib-DYspa9hU.js} +1 -1
  277. package/storybook-static/assets/{hooks-FBRSoUmb.js → hooks-BKgQ004K.js} +1 -1
  278. package/storybook-static/assets/iframe-DrFZbzJ3.js +1 -0
  279. package/storybook-static/assets/{iframe-DBSrNt2a.js → iframe-DuAeRvx6.js} +4 -4
  280. package/storybook-static/assets/{iframe-wwpu8YXD.css → iframe-_EkhDToa.css} +1 -1
  281. package/storybook-static/assets/{info-Wi50bdLM.js → info-XhLhSnbk.js} +1 -1
  282. package/storybook-static/assets/{odata-BBTqO7nX.js → odata-kmwYINrm.js} +1 -1
  283. package/storybook-static/assets/{odataAndTables-DEn1lG-3.js → odataAndTables-D1zT50BB.js} +1 -1
  284. package/storybook-static/assets/{odataFetchFn-BT59Jmrl.js → odataFetchFn-0PlOYGor.js} +1 -1
  285. package/storybook-static/assets/odataStoryFixtures-BhAHMCLD.js +25 -0
  286. package/storybook-static/assets/{persisted-CZnECRrd.js → persisted-BYm1AJlK.js} +1 -1
  287. package/storybook-static/assets/{pureUtilities-BIPiVbpd.js → pureUtilities-CRz8PgNh.js} +1 -1
  288. package/storybook-static/assets/{react-vWCcOuxm.js → react-B37IqpVm.js} +1 -1
  289. package/storybook-static/assets/{refresh-cw-CnbDJa0D.js → refresh-cw-Bcya9hPG.js} +1 -1
  290. package/storybook-static/assets/{runtimeAndState-BqhoW8HS.js → runtimeAndState-Difqhsa_.js} +1 -1
  291. package/storybook-static/assets/{settings-2-CtlfzeoJ.js → settings-2-C2bGc7dw.js} +1 -1
  292. package/storybook-static/assets/{sortable-MoyiSprv.js → sortable-CvctSETP.js} +1 -1
  293. package/storybook-static/assets/{syntaxhighlighter-T5IQBZDB-CLTW-on9.js → syntaxhighlighter-T5IQBZDB-CK4b0ttG.js} +1 -1
  294. package/storybook-static/assets/{trash-2-D4ETgmHQ.js → trash-2-34MyPhKO.js} +1 -1
  295. package/storybook-static/assets/{triangle-alert-BhoF9j4U.js → triangle-alert-m0XHePwA.js} +1 -1
  296. package/storybook-static/assets/ui-nZtwyXyS.css +1 -0
  297. package/storybook-static/assets/ui.module-DjxH5szp.js +1 -0
  298. package/storybook-static/assets/uiClasses-CjI3jv6I.js +1 -0
  299. package/storybook-static/assets/{useODataSelectBase-oxkyJY_R.js → useODataSelectBase-DBkT6Oh-.js} +1 -1
  300. package/storybook-static/assets/{useODataTreeData-B2phJvDl.js → useODataTreeData-Cj_M219Q.js} +1 -1
  301. package/storybook-static/assets/{usePickerQuery-BN54SBQ9.js → usePickerQuery-DNrvDy8E.js} +1 -1
  302. package/storybook-static/assets/{usePickerTriggerController-6XAF3prJ.js → usePickerTriggerController-BCnKK5xY.js} +1 -1
  303. package/storybook-static/assets/{x-CdBCVC44.js → x-BXPCGZYS.js} +1 -1
  304. package/storybook-static/iframe.html +3 -3
  305. package/storybook-static/index.json +1 -1
  306. package/storybook-static/project.json +1 -1
  307. package/dist/chunks/radio-group-4j2HbemI.js.map +0 -1
  308. package/dist/chunks/ui.module-BfaIVBba.js.map +0 -1
  309. package/dist/chunks/uiClasses-4atXOh0J.js.map +0 -1
  310. package/storybook-static/assets/Badge.stories-lSXnbNqy.js +0 -54
  311. package/storybook-static/assets/Button-DMlznmSQ.js +0 -12
  312. package/storybook-static/assets/Button.stories-BYtMxH0y.js +0 -75
  313. package/storybook-static/assets/CheckBox.stories-COqnnc3-.js +0 -60
  314. package/storybook-static/assets/ContextMenu.stories-NMukUvNY.js +0 -90
  315. package/storybook-static/assets/DateRangePresetSelect.stories-28swhHV5.js +0 -11
  316. package/storybook-static/assets/Detail.stories-CUigXvmv.js +0 -44
  317. package/storybook-static/assets/Dialog.stories-CDKvce2w.js +0 -31
  318. package/storybook-static/assets/Disclosure.stories-Dz3sSy2W.js +0 -40
  319. package/storybook-static/assets/DropZone.stories-LfxThH0b.js +0 -36
  320. package/storybook-static/assets/ExpandableActionPanel.stories-CJwc_cQU.js +0 -19
  321. package/storybook-static/assets/ImageRenderer.stories-CGFEpwg9.js +0 -22
  322. package/storybook-static/assets/ImageView.stories-Cu4_LfLg.js +0 -9
  323. package/storybook-static/assets/Input.stories-BWwVCwT-.js +0 -38
  324. package/storybook-static/assets/InputFile.stories-CN-yFeRD.js +0 -36
  325. package/storybook-static/assets/InputFiles.stories--iCRqdJV.js +0 -33
  326. package/storybook-static/assets/InputImage.stories-_XP04DfA.js +0 -45
  327. package/storybook-static/assets/InteractiveComponents.stories-CLEBQnZj.js +0 -303
  328. package/storybook-static/assets/Listbox.stories-BeFIh3J1.js +0 -53
  329. package/storybook-static/assets/Modal.stories-DYsHSBH7.js +0 -180
  330. package/storybook-static/assets/MultiSelect.stories-BdRVZGqL.js +0 -29
  331. package/storybook-static/assets/NotificationsHost.stories-sQMqBW2S.js +0 -25
  332. package/storybook-static/assets/ODataMultiSelect.stories-D7bd1KpX.js +0 -73
  333. package/storybook-static/assets/ODataSelect.stories-D9x-rhIV.js +0 -73
  334. package/storybook-static/assets/ODataTreeMultiSelect.stories-BZwup1O6.js +0 -30
  335. package/storybook-static/assets/ODataTreeSelect.stories-CFEOk1B4.js +0 -24
  336. package/storybook-static/assets/PeriodSelect.stories-iXos1Qm2.js +0 -60
  337. package/storybook-static/assets/Popover.stories-4L2FVe7h.js +0 -69
  338. package/storybook-static/assets/PresetRangeDateInput-BSoQmjSq.js +0 -1
  339. package/storybook-static/assets/PresetRangeDateInput.stories-fPfgo6Ou.js +0 -15
  340. package/storybook-static/assets/RadioButton-sTaoMULx.js +0 -2
  341. package/storybook-static/assets/RadioButton.stories-QM_hXT2F.js +0 -35
  342. package/storybook-static/assets/RadioGroup.stories-Msf4GGu2.js +0 -42
  343. package/storybook-static/assets/Select.stories-DYH2fWV8.js +0 -46
  344. package/storybook-static/assets/SerializableSelect.stories-BWHyUHbr.js +0 -46
  345. package/storybook-static/assets/SingleDateTimeInput.stories-CoRPRZ4N.js +0 -78
  346. package/storybook-static/assets/Slider-BWuie2gr.css +0 -1
  347. package/storybook-static/assets/Slider.stories-fWpiVW0P.js +0 -77
  348. package/storybook-static/assets/SliderInput.stories-hTeZ6jCT.js +0 -67
  349. package/storybook-static/assets/Sortable.stories-DaJFxCXl.js +0 -141
  350. package/storybook-static/assets/StateSelect.stories-Drn802U8.js +0 -44
  351. package/storybook-static/assets/StringToggle.stories-D7jGapnI.js +0 -6
  352. package/storybook-static/assets/Switch.stories-7stb2lKH.js +0 -26
  353. package/storybook-static/assets/Table.stories-BiQiy3QV.js +0 -122
  354. package/storybook-static/assets/Tabs.stories-Kz9Mnt73.js +0 -57
  355. package/storybook-static/assets/TagInput.stories-Cbk6A71f.js +0 -12
  356. package/storybook-static/assets/Textarea.stories-D8wfZGw3.js +0 -27
  357. package/storybook-static/assets/TimePanel.stories-BX3XAzvM.js +0 -25
  358. package/storybook-static/assets/Toggle.stories-DF-aBY0T.js +0 -30
  359. package/storybook-static/assets/TreeMultiSelect.stories-DobJG0cZ.js +0 -35
  360. package/storybook-static/assets/TreeSelect.stories-s3-wydcP.js +0 -18
  361. package/storybook-static/assets/TreeTable.stories-WSlQn2jk.js +0 -83
  362. package/storybook-static/assets/iframe-xDaji_wj.js +0 -1
  363. package/storybook-static/assets/odataStoryFixtures-CYqFNpE_.js +0 -25
  364. package/storybook-static/assets/ui-4LkYZ0Er.css +0 -1
  365. package/storybook-static/assets/ui.module-CHEKb9Cb.js +0 -1
  366. package/storybook-static/assets/uiClasses-Bme9Qqv6.js +0 -1
  367. /package/storybook-static/assets/{Badge-CD5894x5.css → BadgeList-CD5894x5.css} +0 -0
@@ -1,67 +0,0 @@
1
- import{n as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{t as n}from"./react-C21x__mS.js";import{n as r}from"./iframe-DBSrNt2a.js";import{a as i,s as a}from"./odata-service-B5w4YBao-BW9QLSrS.js";import{n as o,r as s,t as c}from"./SliderInput-UCsxAR-B.js";var l=t({Basic:()=>v,DecimalManualInput:()=>b,Disabled:()=>E,MarksSnap:()=>y,RangeInputMonthToDaysOutput:()=>C,RangeInputOpenMonthToDaysOutput:()=>w,RangeInputOpenWithoutExplicitMiddleOutput:()=>S,RangeInputPlain:()=>x,RangeInputReadonlyText:()=>T,__namedExportsOrder:()=>D,default:()=>_});function u({value:e,field:t,children:n}){let[r,a]=e??[null,null];return(0,f.jsxs)(`div`,{className:`marginTopMd`,children:[(0,f.jsx)(`div`,{className:`textSm сontent2`,children:`Preview фильтра`}),(0,f.jsx)(`pre`,{children:JSON.stringify({value:[r,a],filter:i(t,e)},null,2)}),n]})}var d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D;function O(){return(O=e((()=>{d=n(),a(),s(),f=r(),p=[{value:0,label:`0`},{value:20,label:`20`},{value:40,label:`40`},{value:60,label:`60`},{value:80,label:`80`},{value:100,label:`100`}],m=[{value:0,label:`Без нижней границы`,outputValue:null},{value:1,label:`1 мес.`},{value:3,label:`3 мес.`},{value:6,label:`6 мес.`},{value:12,label:`12 мес.`},{value:24,label:`24 мес.`},{value:25,label:`Без верхней границы`,outputValue:null}],h=[{value:1,label:`1 мес.`,outputValue:30},{value:3,label:`3 мес.`,outputValue:90},{value:6,label:`6 мес.`,outputValue:180},{value:12,label:`12 мес.`,outputValue:360},{value:24,label:`24 мес.`,outputValue:720}],g=[{value:0,label:`-`,outputValue:null},{value:1,label:`1м.`,outputValue:30},{value:3,label:`3м.`,outputValue:90},{value:6,label:`6м.`,outputValue:180},{value:12,label:`1г.`,outputValue:360},{value:18,label:`1.5г.`,outputValue:540},{value:24,label:`2г.`,outputValue:720},{value:25,label:`-`,outputValue:null}],_={title:`Shared/UI/SliderInput`,component:c,args:{value:12,onChange:()=>{},min:0,max:100,step:.5},parameters:{atomicCanvas:!0,layout:`padded`}},v={render:e=>{let[t,n]=(0,d.useState)(e.value);return(0,f.jsx)(c,{...e,label:`Порог`,description:`Ручной ввод и popover slider работают с одним значением.`,value:t,onChange:n})}},y={render:e=>{let[t,n]=(0,d.useState)(40);return(0,f.jsx)(c,{...e,label:`Готовый пресет`,marks:p,value:t,onChange:n})}},b={render:e=>{let[t,n]=(0,d.useState)(17.5);return(0,f.jsx)(c,{...e,label:`Десятичное значение`,value:t,onChange:n})},args:{step:.5}},x={render:()=>{let[e,t]=(0,d.useState)([20,80]);return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(o,{label:`Процент выполнения`,description:"RangeInput без outputValue: наружу отдаётся координата `value`.",min:0,max:100,marks:p,value:e,onChange:t}),(0,f.jsx)(u,{value:e,field:`progress`,unit:`%`})]})}},S={render:()=>{let[e,t]=(0,d.useState)([null,12]);return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(o,{label:`Срок в месяцах`,description:"У крайних marks `outputValue:null`; у обычных marks outputValue не указан и берётся `value`.",min:0,max:25,marks:m,marksPosition:`index`,value:e,onChange:t}),(0,f.jsx)(u,{value:e,field:`months`,unit:` мес.`})]})}},C={render:()=>{let[e,t]=(0,d.useState)([90,360]);return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(o,{label:`Срок: месяцы на шкале, дни в фильтре`,description:`В поле и фильтре видны дни, а popover показывает месячные marks.`,min:1,max:24,marks:h,marksPosition:`index`,value:e,onChange:t}),(0,f.jsx)(u,{value:e,field:`days`,unit:` дн.`})]})}},w={render:()=>{let[e,t]=(0,d.useState)([null,720]);return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(o,{label:`Срок: открытые границы и дни в фильтре`,description:"Крайние marks отдают null, обычные marks отдают дни через `outputValue`.",min:0,max:25,marks:g,marksPosition:`index`,value:e,onChange:t}),(0,f.jsx)(u,{value:e,field:`days`,unit:` дн.`})]})}},T={render:()=>{let[e,t]=(0,d.useState)([90,180]);return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(o,{label:`Срок текстом`,description:`В поле выводится готовый текст по marks, а изменение через popover коммитится при закрытии.`,min:0,max:25,marks:g,marksPosition:`index`,value:e,onChange:t,readonlyValueText:!0,placeholder:`Любой срок`}),(0,f.jsx)(u,{value:e,field:`days`,unit:` дн.`})]})}},E={args:{label:`Недоступно`,description:`Поле и popover отключены.`,value:20,disabled:!0,marks:p}},v.parameters={...v.parameters,docs:{...v.parameters?.docs,source:{originalSource:`{
2
- render: args => {
3
- const [value, setValue] = useState<number>(args.value);
4
- return <SliderInput {...args} label="Порог" description="Ручной ввод и popover slider работают с одним значением." value={value} onChange={setValue} />;
5
- }
6
- }`,...v.parameters?.docs?.source}}},y.parameters={...y.parameters,docs:{...y.parameters?.docs,source:{originalSource:`{
7
- render: args => {
8
- const [value, setValue] = useState<number>(40);
9
- return <SliderInput {...args} label="Готовый пресет" marks={percentMarks} value={value} onChange={setValue} />;
10
- }
11
- }`,...y.parameters?.docs?.source}}},b.parameters={...b.parameters,docs:{...b.parameters?.docs,source:{originalSource:`{
12
- render: args => {
13
- const [value, setValue] = useState<number>(17.5);
14
- return <SliderInput {...args} label="Десятичное значение" value={value} onChange={setValue} />;
15
- },
16
- args: {
17
- step: 0.5
18
- }
19
- }`,...b.parameters?.docs?.source}}},x.parameters={...x.parameters,docs:{...x.parameters?.docs,source:{originalSource:`{
20
- render: () => {
21
- const [value, setValue] = useState<SliderRangeValue>([20, 80]);
22
- return <>
23
- <SliderRangeInput label="Процент выполнения" description="RangeInput без outputValue: наружу отдаётся координата \`value\`." min={0} max={100} marks={percentMarks} value={value} onChange={setValue} />
24
- <RangePreview value={value} field="progress" unit="%" />
25
- </>;
26
- }
27
- }`,...x.parameters?.docs?.source}}},S.parameters={...S.parameters,docs:{...S.parameters?.docs,source:{originalSource:`{
28
- render: () => {
29
- const [value, setValue] = useState<SliderRangeValue>([null, 12]);
30
- return <>
31
- <SliderRangeInput label="Срок в месяцах" description="У крайних marks \`outputValue:null\`; у обычных marks outputValue не указан и берётся \`value\`." min={0} max={25} marks={openMonthMarks} marksPosition="index" value={value} onChange={setValue} />
32
- <RangePreview value={value} field="months" unit=" мес." />
33
- </>;
34
- }
35
- }`,...S.parameters?.docs?.source}}},C.parameters={...C.parameters,docs:{...C.parameters?.docs,source:{originalSource:`{
36
- render: () => {
37
- const [value, setValue] = useState<SliderRangeValue>([90, 360]);
38
- return <>
39
- <SliderRangeInput label="Срок: месяцы на шкале, дни в фильтре" description="В поле и фильтре видны дни, а popover показывает месячные marks." min={1} max={24} marks={monthToDayMarks} marksPosition="index" value={value} onChange={setValue} />
40
- <RangePreview value={value} field="days" unit=" дн." />
41
- </>;
42
- }
43
- }`,...C.parameters?.docs?.source}}},w.parameters={...w.parameters,docs:{...w.parameters?.docs,source:{originalSource:`{
44
- render: () => {
45
- const [value, setValue] = useState<SliderRangeValue>([null, 720]);
46
- return <>
47
- <SliderRangeInput label="Срок: открытые границы и дни в фильтре" description="Крайние marks отдают null, обычные marks отдают дни через \`outputValue\`." min={0} max={25} marks={openMonthToDayMarks} marksPosition="index" value={value} onChange={setValue} />
48
- <RangePreview value={value} field="days" unit=" дн." />
49
- </>;
50
- }
51
- }`,...w.parameters?.docs?.source}}},T.parameters={...T.parameters,docs:{...T.parameters?.docs,source:{originalSource:`{
52
- render: () => {
53
- const [value, setValue] = useState<SliderRangeValue>([90, 180]);
54
- return <>
55
- <SliderRangeInput label="Срок текстом" description="В поле выводится готовый текст по marks, а изменение через popover коммитится при закрытии." min={0} max={25} marks={openMonthToDayMarks} marksPosition="index" value={value} onChange={setValue} readonlyValueText placeholder="Любой срок" />
56
- <RangePreview value={value} field="days" unit=" дн." />
57
- </>;
58
- }
59
- }`,...T.parameters?.docs?.source}}},E.parameters={...E.parameters,docs:{...E.parameters?.docs,source:{originalSource:`{
60
- args: {
61
- label: "Недоступно",
62
- description: "Поле и popover отключены.",
63
- value: 20,
64
- disabled: true,
65
- marks: percentMarks
66
- }
67
- }`,...E.parameters?.docs?.source}}},D=[`Basic`,`MarksSnap`,`DecimalManualInput`,`RangeInputPlain`,`RangeInputOpenWithoutExplicitMiddleOutput`,`RangeInputMonthToDaysOutput`,`RangeInputOpenMonthToDaysOutput`,`RangeInputReadonlyText`,`Disabled`]})))()}export{C as a,x as c,O as d,y as i,T as l,b as n,w as o,E as r,S as s,v as t,l as u};
@@ -1,141 +0,0 @@
1
- import{n as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{t as n}from"./react-C21x__mS.js";import{i as r,n as i,r as a,t as o}from"./sortable-MoyiSprv.js";import{n as s}from"./iframe-DBSrNt2a.js";var c=t({Basic:()=>y,DisabledItems:()=>S,GridCards:()=>x,HandleOnly:()=>C,HorizontalList:()=>b,NestedContainers:()=>w,SortablePreview:()=>d,__namedExportsOrder:()=>T,default:()=>v});function l(e,t,n){let r=[...e],[i]=r.splice(t,1);return r.splice(n,0,i),r}function u(e){switch(e){case`horizontal`:return{display:`flex`,gap:`var(--space-sm)`,overflowX:`auto`};case`grid`:return{display:`grid`,gap:`var(--space-sm)`,gridTemplateColumns:`repeat(auto-fill, minmax(12rem, 1fr))`};default:return{display:`grid`,gap:`var(--space-sm)`}}}function d(e){let[t,n]=(0,f.useState)(e.initialItems),r=new Set(e.disabledIds??[]);return(0,p.jsxs)(`div`,{style:{display:`grid`,gap:12},children:[(0,p.jsx)(o.Root,{onDragEnd:r=>{let i=a({event:r,items:{[e.containerId]:t}});i&&n(e=>l(e,i.fromIndex,i.toIndex))},children:(0,p.jsx)(o.Container,{containerId:e.containerId,items:t,layout:e.layout,children:(0,p.jsx)(`div`,{style:u(e.layout),children:t.map(t=>(0,p.jsxs)(o.Item,{id:t,disabled:r.has(t),style:{...m,minWidth:e.itemWidth},children:[(0,p.jsx)(o.DragHandle,{title:`Перетащить ${t}`}),(0,p.jsx)(`div`,{children:t})]},t))})})}),(0,p.jsx)(`div`,{style:{fontSize:14,opacity:.8},children:`Порядок элементов изменяется локально в рамках story.`})]})}var f,p,m,h,g,_,v,y,b,x,S,C,w,T;function E(){return(E=e((()=>{f=n(),i(),r(),p=s(),m={display:`grid`,gridTemplateColumns:`var(--control-height) 1fr`,alignItems:`center`,gap:`var(--space-sm)`,padding:`var(--space-sm)`,border:`var(--border)`,borderRadius:`var(--radius-sm)`,background:`var(--surface-0)`},h=[`Alpha`,`Bravo`,`Charlie`,`Delta`],g=[`Фильтры`,`Графики`,`Сводка`,`История`],_=[`Карточка 1`,`Карточка 2`,`Карточка 3`,`Карточка 4`,`Карточка 5`,`Карточка 6`],v={title:`Shared/UI/Sortable`,component:d,args:{containerId:`sortable-demo`,layout:`vertical`,initialItems:h,itemWidth:void 0,disabledIds:[]},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{containerId:{description:"Идентификатор `SortableContext`, который используется для вычисления reorder внутри контейнера.",control:`text`},layout:{description:`Режим раскладки и стратегия сортировки: вертикальный список, горизонтальный список или grid.`,control:`inline-radio`,options:[`vertical`,`horizontal`,`grid`]},initialItems:{description:`Начальный набор элементов. Внутри story состояние управляется локально.`,control:!1},itemWidth:{description:`Минимальная ширина карточки; полезна для горизонтального режима.`,control:`text`},disabledIds:{description:`Список id, для которых drag-handle отключен.`,control:!1}}},y={},b={args:{containerId:`sortable-horizontal`,layout:`horizontal`,initialItems:g,itemWidth:`12rem`}},x={args:{containerId:`sortable-grid`,layout:`grid`,initialItems:_}},S={args:{containerId:`sortable-disabled`,layout:`vertical`,initialItems:h,disabledIds:[`Bravo`,`Delta`]}},C={args:{containerId:`sortable-handle-only`,layout:`vertical`,initialItems:[`Пункт 1`,`Пункт 2`,`Пункт 3`,`Пункт 4`]}},w={args:{containerId:`top`,layout:`vertical`,initialItems:[`Группа A`,`Группа B`]},render:()=>{let[e,t]=(0,f.useState)([`Группа A`,`Группа B`]),[n,r]=(0,f.useState)({"Группа A":[`A.1`,`A.2`,`A.3`],"Группа B":[`B.1`,`B.2`]});return(0,p.jsxs)(`div`,{style:{display:`grid`,gap:12},children:[(0,p.jsx)(o.Root,{onDragEnd:i=>{let o=a({event:i,items:{top:e,...Object.fromEntries(e.map(e=>[`parent:${e}`,n[e]??[]]))}});if(!o)return;if(o.containerId===`top`){t(e=>l(e,o.fromIndex,o.toIndex));return}let s=String(o.containerId).slice(7);r(e=>({...e,[s]:l(e[s]??[],o.fromIndex,o.toIndex)}))},children:(0,p.jsx)(o.Container,{containerId:`top`,items:e,children:(0,p.jsx)(`div`,{style:{display:`grid`,gap:`var(--space-md)`},children:e.map(e=>(0,p.jsxs)(o.Item,{id:e,style:{...m,gridTemplateColumns:`var(--control-height) 1fr`,alignItems:`start`},children:[(0,p.jsx)(o.DragHandle,{title:`Перетащить ${e}`}),(0,p.jsxs)(`div`,{style:{display:`grid`,gap:`var(--space-sm)`},children:[(0,p.jsx)(`strong`,{children:e}),(0,p.jsx)(o.Container,{containerId:`parent:${e}`,items:n[e]??[],children:(0,p.jsx)(`div`,{style:{display:`grid`,gap:`var(--space-xs)`},children:(n[e]??[]).map(e=>(0,p.jsxs)(o.Item,{id:e,style:{...m,background:`var(--surface-1)`},children:[(0,p.jsx)(o.DragHandle,{title:`Перетащить ${e}`}),(0,p.jsx)(`div`,{children:e})]},e))})})]})]},e))})})}),(0,p.jsx)(`div`,{style:{fontSize:14,opacity:.8},children:"Вложенные контейнеры сортируются независимо и используют общий `Sortable.Root`."})]})}},d.__docgenInfo={description:``,methods:[],displayName:`SortablePreview`,props:{containerId:{required:!0,tsType:{name:`string`},description:``},layout:{required:!0,tsType:{name:`union`,raw:`"vertical" | "horizontal" | "grid"`,elements:[{name:`literal`,value:`"vertical"`},{name:`literal`,value:`"horizontal"`},{name:`literal`,value:`"grid"`}]},description:``},initialItems:{required:!0,tsType:{name:`Array`,elements:[{name:`string`}],raw:`string[]`},description:``},itemWidth:{required:!1,tsType:{name:`string`},description:``},disabledIds:{required:!1,tsType:{name:`Array`,elements:[{name:`string`}],raw:`string[]`},description:``}}},d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`function SortablePreview(props: SortablePreviewProps) {
2
- const [items, setItems] = useState(props.initialItems);
3
- const disabledIdSet = new Set(props.disabledIds ?? []);
4
- return <div style={{
5
- display: "grid",
6
- gap: 12
7
- }}>
8
- <Sortable.Root onDragEnd={event => {
9
- const reorder = getSortableReorderResult({
10
- event,
11
- items: {
12
- [props.containerId]: items
13
- }
14
- });
15
- if (!reorder) return;
16
- setItems(prev => reorderItems(prev, reorder.fromIndex, reorder.toIndex) as string[]);
17
- }}>
18
- <Sortable.Container containerId={props.containerId} items={items} layout={props.layout}>
19
- <div style={getContainerStyle(props.layout)}>
20
- {items.map(item => <Sortable.Item key={item} id={item} disabled={disabledIdSet.has(item)} style={{
21
- ...itemStyle,
22
- minWidth: props.itemWidth
23
- }}>
24
- <Sortable.DragHandle title={\`Перетащить \${item}\`} />
25
- <div>{item}</div>
26
- </Sortable.Item>)}
27
- </div>
28
- </Sortable.Container>
29
- </Sortable.Root>
30
-
31
- <div style={{
32
- fontSize: 14,
33
- opacity: 0.8
34
- }}>Порядок элементов изменяется локально в рамках story.</div>
35
- </div>;
36
- }`,...d.parameters?.docs?.source}}},y.parameters={...y.parameters,docs:{...y.parameters?.docs,source:{originalSource:`{}`,...y.parameters?.docs?.source}}},b.parameters={...b.parameters,docs:{...b.parameters?.docs,source:{originalSource:`{
37
- args: {
38
- containerId: "sortable-horizontal",
39
- layout: "horizontal",
40
- initialItems: horizontalItems,
41
- itemWidth: "12rem"
42
- }
43
- }`,...b.parameters?.docs?.source}}},x.parameters={...x.parameters,docs:{...x.parameters?.docs,source:{originalSource:`{
44
- args: {
45
- containerId: "sortable-grid",
46
- layout: "grid",
47
- initialItems: gridItems
48
- }
49
- }`,...x.parameters?.docs?.source}}},S.parameters={...S.parameters,docs:{...S.parameters?.docs,source:{originalSource:`{
50
- args: {
51
- containerId: "sortable-disabled",
52
- layout: "vertical",
53
- initialItems: verticalItems,
54
- disabledIds: ["Bravo", "Delta"]
55
- }
56
- }`,...S.parameters?.docs?.source}}},C.parameters={...C.parameters,docs:{...C.parameters?.docs,source:{originalSource:`{
57
- args: {
58
- containerId: "sortable-handle-only",
59
- layout: "vertical",
60
- initialItems: ["Пункт 1", "Пункт 2", "Пункт 3", "Пункт 4"]
61
- }
62
- }`,...C.parameters?.docs?.source}}},w.parameters={...w.parameters,docs:{...w.parameters?.docs,source:{originalSource:`{
63
- args: {
64
- containerId: "top",
65
- layout: "vertical",
66
- initialItems: ["Группа A", "Группа B"]
67
- },
68
- render: () => {
69
- const [topItems, setTopItems] = useState(["Группа A", "Группа B"]);
70
- const [childItemsByGroup, setChildItemsByGroup] = useState<Record<string, string[]>>({
71
- "Группа A": ["A.1", "A.2", "A.3"],
72
- "Группа B": ["B.1", "B.2"]
73
- });
74
- return <div style={{
75
- display: "grid",
76
- gap: 12
77
- }}>
78
- <Sortable.Root onDragEnd={event => {
79
- const reorder = getSortableReorderResult({
80
- event,
81
- items: {
82
- top: topItems,
83
- ...Object.fromEntries(topItems.map(item => [\`parent:\${item}\`, childItemsByGroup[item] ?? []]))
84
- }
85
- });
86
- if (!reorder) return;
87
- if (reorder.containerId === "top") {
88
- setTopItems(prev => reorderItems(prev, reorder.fromIndex, reorder.toIndex) as string[]);
89
- return;
90
- }
91
- const parentId = String(reorder.containerId).slice("parent:".length);
92
- setChildItemsByGroup(prev => ({
93
- ...prev,
94
- [parentId]: reorderItems(prev[parentId] ?? [], reorder.fromIndex, reorder.toIndex) as string[]
95
- }));
96
- }}>
97
- <Sortable.Container containerId="top" items={topItems}>
98
- <div style={{
99
- display: "grid",
100
- gap: "var(--space-md)"
101
- }}>
102
- {topItems.map(groupId => <Sortable.Item key={groupId} id={groupId} style={{
103
- ...itemStyle,
104
- gridTemplateColumns: "var(--control-height) 1fr",
105
- alignItems: "start"
106
- }}>
107
- <Sortable.DragHandle title={\`Перетащить \${groupId}\`} />
108
- <div style={{
109
- display: "grid",
110
- gap: "var(--space-sm)"
111
- }}>
112
- <strong>{groupId}</strong>
113
- <Sortable.Container containerId={\`parent:\${groupId}\`} items={childItemsByGroup[groupId] ?? []}>
114
- <div style={{
115
- display: "grid",
116
- gap: "var(--space-xs)"
117
- }}>
118
- {(childItemsByGroup[groupId] ?? []).map(item => <Sortable.Item key={item} id={item} style={{
119
- ...itemStyle,
120
- background: "var(--surface-1)"
121
- }}>
122
- <Sortable.DragHandle title={\`Перетащить \${item}\`} />
123
- <div>{item}</div>
124
- </Sortable.Item>)}
125
- </div>
126
- </Sortable.Container>
127
- </div>
128
- </Sortable.Item>)}
129
- </div>
130
- </Sortable.Container>
131
- </Sortable.Root>
132
-
133
- <div style={{
134
- fontSize: 14,
135
- opacity: 0.8
136
- }}>
137
- Вложенные контейнеры сортируются независимо и используют общий \`Sortable.Root\`.
138
- </div>
139
- </div>;
140
- }
141
- }`,...w.parameters?.docs?.source}}},T=[`SortablePreview`,`Basic`,`HorizontalList`,`GridCards`,`DisabledItems`,`HandleOnly`,`NestedContainers`]})))()}export{b as a,E as c,C as i,S as n,w as o,x as r,c as s,y as t};
@@ -1,44 +0,0 @@
1
- import{n as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{t as n}from"./react-C21x__mS.js";import{n as r,t as i}from"./circle-check-BlI17qP5.js";import{i as a,n as o,r as s,t as c}from"./info-Wi50bdLM.js";import{n as l,t as u}from"./triangle-alert-BhoF9j4U.js";import{i as d,n as f,r as p}from"./iframe-DBSrNt2a.js";import{n as m,t as h}from"./StateSelect-BxRXr-2U.js";var g,_;function v(){return(v=e((()=>{d(),g=[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}]],_=p(`circle-minus`,g)})))()}var y=t({Controlled:()=>C,PaletteOnly:()=>T,WithMeta:()=>w,__namedExportsOrder:()=>E,default:()=>S}),b,x,S,C,w,T,E;function D(){return(D=e((()=>{b=n(),l(),r(),o(),v(),a(),m(),x=f(),S={title:`Shared/UI/StateSelect`,component:h,args:{label:`Состояние`,description:`Выберите визуальный статус.`,placeholder:`Выберите значение`,value:`information`,onChange:()=>{},disabled:!1,size:`md`},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля выбора состояния.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Текст, когда значение не выбрано.`,control:`text`},value:{description:`Текущее состояние.`,control:`select`,options:[``,`none`,`information`,`success`,`warning`,`error`]},onChange:{description:`Вызывается при выборе состояния.`,control:!1},options:{description:`Кастомный набор доступных состояний.`,control:!1},stateMeta:{description:`Кастомные иконки и подписи для значений.`,control:!1},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},className:{description:`Дополнительный CSS-класс.`,control:`text`}}},C={render:e=>{let[t,n]=(0,b.useState)(`information`);return(0,x.jsx)(h,{...e,value:t,onChange:n})}},w={render:e=>{let[t,n]=(0,b.useState)(`warning`);return(0,x.jsx)(h,{...e,value:t,onChange:n,stateMeta:{none:{label:`Без статуса`,icon:(0,x.jsx)(_,{})},information:{label:`Инфо`,icon:(0,x.jsx)(c,{})},success:{label:`Успех`,icon:(0,x.jsx)(i,{})},warning:{label:`Предупреждение`,icon:(0,x.jsx)(u,{})},error:{label:`Ошибка`,icon:(0,x.jsx)(s,{})}}})},args:{value:`warning`}},T={render:e=>{let[t,n]=(0,b.useState)(`none`);return(0,x.jsx)(h,{...e,value:t,onChange:n,options:[`none`,`success`,`error`]})},args:{options:[`none`,`success`,`error`],value:`none`}},C.parameters={...C.parameters,docs:{...C.parameters?.docs,source:{originalSource:`{
2
- render: args => {
3
- const [value, setValue] = useState<State | undefined>("information");
4
- return <StateSelect {...args} value={value} onChange={setValue} />;
5
- }
6
- }`,...C.parameters?.docs?.source}}},w.parameters={...w.parameters,docs:{...w.parameters?.docs,source:{originalSource:`{
7
- render: args => {
8
- const [value, setValue] = useState<State | undefined>("warning");
9
- return <StateSelect {...args} value={value} onChange={setValue} stateMeta={{
10
- none: {
11
- label: "Без статуса",
12
- icon: <MinusCircleIcon />
13
- },
14
- information: {
15
- label: "Инфо",
16
- icon: <InfoIcon />
17
- },
18
- success: {
19
- label: "Успех",
20
- icon: <CheckCircle2Icon />
21
- },
22
- warning: {
23
- label: "Предупреждение",
24
- icon: <AlertTriangleIcon />
25
- },
26
- error: {
27
- label: "Ошибка",
28
- icon: <XCircleIcon />
29
- }
30
- }} />;
31
- },
32
- args: {
33
- value: "warning"
34
- }
35
- }`,...w.parameters?.docs?.source}}},T.parameters={...T.parameters,docs:{...T.parameters?.docs,source:{originalSource:`{
36
- render: args => {
37
- const [value, setValue] = useState<State | undefined>("none");
38
- return <StateSelect {...args} value={value} onChange={setValue} options={["none", "success", "error"]} />;
39
- },
40
- args: {
41
- options: ["none", "success", "error"],
42
- value: "none"
43
- }
44
- }`,...T.parameters?.docs?.source}}},E=[`Controlled`,`WithMeta`,`PaletteOnly`]})))()}export{D as a,w as i,T as n,y as r,C as t};
@@ -1,6 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-C21x__mS.js";import{n}from"./iframe-DBSrNt2a.js";import{n as r,t as i}from"./Toggle-BAhzEihH.js";function a(e,t){return typeof e==`string`?e:t}var o,s;function c(){return(c=e((()=>{o=`true`,s=`false`})))()}function l({value:e,onChange:t,checkedValue:n,uncheckedValue:r,defaultChecked:c,...l}){let d=a(n,o),f=a(r,s),p=e===d;return(0,u.jsx)(i,{...l,value:p,onChange:e=>t(e?d:f)})}var u;function d(){return(d=e((()=>{c(),r(),u=n(),l.__docgenInfo={description:`Адаптирует boolean-состояние Toggle к паре настраиваемых строковых значений.`,methods:[],displayName:`StringToggle`,props:{checkedValue:{required:!1,tsType:{name:`string`},description:``},uncheckedValue:{required:!1,tsType:{name:`string`},description:``},value:{required:!0,tsType:{name:`string`},description:``},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``}}}})))()}var f,p,m,h,g;function _(){return(_=e((()=>{f=t(),d(),p=n(),m={title:`Shared/UI/Toggle/StringToggle`,component:l,args:{value:`ZBP_MANAGER`,onChange:()=>void 0,checkedText:`за клиента`,uncheckedText:`за сделку`,checkedValue:`ZM_MANAGER`,uncheckedValue:`ZBP_MANAGER`},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{value:{description:`Текущее строковое значение.`,control:!1},onChange:{description:`Возвращает строку выбранного состояния.`,control:!1},checkedValue:{description:`Значение включённого состояния.`,control:`text`},uncheckedValue:{description:`Значение выключенного состояния.`,control:`text`},checkedText:{description:`Текст включённого состояния.`,control:`text`},uncheckedText:{description:`Текст выключенного состояния.`,control:`text`}}},h={render:e=>{let[t,n]=(0,f.useState)(e.value);return(0,p.jsx)(l,{...e,value:t,onChange:n})}},h.parameters={...h.parameters,docs:{...h.parameters?.docs,source:{originalSource:`{
2
- render: args => {
3
- const [value, setValue] = useState<string>(args.value);
4
- return <StringToggle {...args} value={value} onChange={setValue} />;
5
- }
6
- }`,...h.parameters?.docs?.source}}},g=[`ManagerScope`]})))()}_();export{h as ManagerScope,g as __namedExportsOrder,m as default};
@@ -1,26 +0,0 @@
1
- import{n as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{t as n}from"./react-C21x__mS.js";import{n as r,t as i}from"./Switch-CZpcIIzj.js";import{n as a}from"./iframe-DBSrNt2a.js";var o=t({BiState:()=>u,Disabled:()=>f,TriState:()=>d,__namedExportsOrder:()=>p,default:()=>l}),s,c,l,u,d,f,p;function m(){return(m=e((()=>{s=n(),r(),c=a(),l={title:`Shared/UI/Switch`,component:i,args:{label:`Режим обработки`,description:`Переключение состояния`,value:!1,onChange:()=>{},triState:!1,disabled:!1},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок переключателя.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},value:{description:"Текущее значение (`boolean` или `undefined` в tri-state).",control:!1},onChange:{description:`Вызывается при изменении состояния.`,control:!1},triState:{description:"Включает трехсостоянный режим (`undefined → true → false`).",control:`boolean`},checkedIcon:{description:"Кастомная иконка для состояния `true`.",control:!1},uncheckedIcon:{description:"Кастомная иконка для состояния `false`.",control:!1},disabled:{description:`Блокирует переключение.`,control:`boolean`}}},u={render:e=>{let[t,n]=(0,s.useState)(!1);return(0,c.jsx)(i,{...e,value:t,onChange:n,triState:!1})}},d={render:e=>{let[t,n]=(0,s.useState)(void 0);return(0,c.jsxs)(`div`,{style:{display:`grid`,gap:8},children:[(0,c.jsx)(i,{...e,value:t,onChange:n,triState:!0}),(0,c.jsxs)(`div`,{children:[`Текущее значение: `,String(t)]})]})},args:{triState:!0,value:void 0}},f={args:{disabled:!0,value:!0}},u.parameters={...u.parameters,docs:{...u.parameters?.docs,source:{originalSource:`{
2
- render: args => {
3
- const [value, setValue] = useState(false);
4
- return <Switch {...args} value={value} onChange={setValue} triState={false} />;
5
- }
6
- }`,...u.parameters?.docs?.source}}},d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
7
- render: args => {
8
- const [value, setValue] = useState<boolean | undefined>(undefined);
9
- return <div style={{
10
- display: "grid",
11
- gap: 8
12
- }}>
13
- <Switch {...args} value={value} onChange={setValue} triState />
14
- <div>Текущее значение: {String(value)}</div>
15
- </div>;
16
- },
17
- args: {
18
- triState: true,
19
- value: undefined
20
- }
21
- }`,...d.parameters?.docs?.source}}},f.parameters={...f.parameters,docs:{...f.parameters?.docs,source:{originalSource:`{
22
- args: {
23
- disabled: true,
24
- value: true
25
- }
26
- }`,...f.parameters?.docs?.source}}},p=[`BiState`,`TriState`,`Disabled`]})))()}export{m as a,d as i,f as n,o as r,u as t};
@@ -1,122 +0,0 @@
1
- import{n as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{t as n}from"./react-C21x__mS.js";import{n as r}from"./iframe-DBSrNt2a.js";import{D as i,E as a,T as ee,c as te,l as ne,n as o,s as re,v as s,w as ie}from"./odata-BBTqO7nX.js";import{i as ae,y as oe}from"./formatters-CVj-3Vn0-BFaHJqZL.js";import{S as se,_ as ce,a as le,b as ue,c as de,d as fe,f as pe,g as me,h as he,i as ge,l as _e,m as ve,n as ye,o as be,p as xe,r as Se,s as c,t as Ce,u as we,v as Te,x as Ee,y as De}from"./FormattedTableCell-YhiJaAK4.js";var l,u,d;function f(){return(f=e((()=>{l=`hKghZt`,u=`QsLRvS`,d={selectedIndicatorCell:l,sentinel:u}})))()}function Oe(e,t){return String(t)}function p({title:e,isLoading:t,isFetching:n,data:r,columns:i,selectionMode:a=`none`,selectedRowIds:ee,getRowId:ne,className:o,minHeight:re,tableClassName:s,columnVisibility:ie,defaultColumnVisibility:oe,columnOrder:le,defaultColumnOrder:ue,columnSizing:fe,defaultColumnSizing:me,columnPinning:ge,defaultColumnPinning:_e,enableColumnResizing:ve=!1,enableColumnReordering:ye=!1,columnResizeMinWidth:c,onColumnVisibilityChange:De,onColumnOrderChange:l,onColumnSizingChange:u,onColumnPinningChange:f,onRowClick:p,onRowSelectionChange:g,onReachEnd:_,getRowCanSelect:v,getRowClassName:ke,renderHeaderContextMenu:Ae,renderCellContent:y}){let b=(0,m.useMemo)(()=>r??[],[r]),x=(0,m.useMemo)(()=>he(i),[i]),S=ne??Oe,C=(0,m.useMemo)(()=>new Map(b.map((e,t)=>[S(e,t),e])),[S,b]),w=(0,m.useMemo)(()=>Array.from(C.keys()),[C]),T=(0,m.useRef)(null),E=(0,m.useRef)(null),{rowSelection:D,activateRowSelection:O}=te({availableRowIds:w,rowById:C,selectionMode:a,selectedRowIds:ee,onRowSelectionChange:g}),{columnVisibility:k,onColumnVisibilityChange:A}=be({columnVisibility:ie,defaultColumnVisibility:oe,onColumnVisibilityChange:De}),{columnOrder:j,onColumnOrderChange:M}=pe({columnOrder:le,defaultColumnOrder:ue,onColumnOrderChange:l}),{columnSizing:N,onColumnSizingChange:je}=de({columnSizing:fe,defaultColumnSizing:me,columnResizeMinWidth:c,onColumnSizingChange:u}),{columnPinning:P,onColumnPinningChange:F}=we({columnPinning:ge,defaultColumnPinning:_e,onColumnPinningChange:f}),I=(0,m.useMemo)(()=>({columnOrder:j,columnPinning:P,columnSizing:N,columnVisibility:k}),[j,P,N,k]),L=(0,m.useEffectEvent)(()=>{_?.()});(0,m.useEffect)(()=>{if(!_||!T.current||!E.current||t)return;let e=new IntersectionObserver(e=>{e[0]?.isIntersecting&&L()},{root:T.current,threshold:.1});return e.observe(E.current),()=>e.disconnect()},[t,_,b.length]);let R=Ee({data:b,columns:i,state:{columnOrder:j,columnPinning:P,columnSizing:N,columnVisibility:k,rowSelection:D},onColumnOrderChange:M,onColumnPinningChange:F,onColumnSizingChange:je,onColumnVisibilityChange:A,getRowId:(e,t)=>S(e,t),getCoreRowModel:se(),enableMultiRowSelection:a===`multi`,enableRowSelection:e=>a===`none`?!1:!v||v(e.original)}),z=Te(R,I),B=R.getRowModel().rows,V=(0,m.useMemo)(()=>xe({rows:B,columns:z}),[B,z]),H=z[0]?.id;return(0,h.jsx)(Se,{table:R,columnState:I,title:e,isLoading:t,isFetching:n,className:o,minHeight:re,tableClassName:s,selectionMode:a,scrollableRef:T,onActivateRow:a!==`none`||p?e=>{O(e.id,e.getCanSelect()),p?.(e.original)}:void 0,isRowInteractive:e=>!!(p||a!==`none`&&e.getCanSelect()),getRowClassName:e=>ke?.(e.original),getCellClassName:({row:e,cell:t})=>t.column.id===H&&e.getIsSelected()?d.selectedIndicatorCell:void 0,getCellLayout:({cell:e})=>V.get(e.id),renderHeaderContextMenu:Ae,enableColumnResizing:ve,enableColumnReordering:ye,columnResizeMinWidth:c,renderCellContent:e=>{let t=ae({field:x.runtimeByColumnId[e.cell.column.id],rawValue:e.cell.getValue(),rowData:e.row.original,rowKind:`plain`}),n=ce({columnId:e.cell.column.id,runtimeByColumnId:x.runtimeByColumnId,customCellColumnIds:x.customCellColumnIds})?(0,h.jsx)(Ce,{displayValue:t,align:e.columnMeta?.align}):e.defaultContent;return y?y({...e,defaultContent:n,displayValue:t}):n},afterTableContent:_?(0,h.jsx)(`div`,{ref:E,className:d.sentinel,"aria-hidden":`true`}):null})}var m,h;function g(){return(g=e((()=>{m=n(),oe(),s(),ue(),ge(),ve(),me(),ye(),De(),fe(),_e(),c(),le(),f(),h=r(),p.__docgenInfo={description:"Плоская таблица на базе TanStack Table как React-альтернатива `sap.m.Table`.",methods:[],displayName:`Table`,props:{title:{required:!1,tsType:{name:`string`},description:`Необязательный заголовок над таблицей.`},isLoading:{required:!1,tsType:{name:`boolean`},description:`Признак первичной загрузки.`},isFetching:{required:!1,tsType:{name:`boolean`},description:`Признак фоновой догрузки или обновления данных.`},data:{required:!0,tsType:{name:`union`,raw:`readonly TData[] | undefined | null`,elements:[{name:`unknown`},{name:`undefined`},{name:`null`}]},description:`Плоский источник строк.`},columns:{required:!0,tsType:{name:`unknown`},description:`Описание колонок таблицы.`},selectionMode:{required:!1,tsType:{name:`TableSelectionMode`},description:`Режим выбора строк.`,defaultValue:{value:`"none"`,computed:!1}},selectedRowIds:{required:!1,tsType:{name:`unknown`},description:`Внешний список выбранных строк.
2
-
3
- Если передан, таблица синхронизирует визуальное выделение с этим набором id.`},getRowId:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(row: TData, index: number) => string`,signature:{arguments:[{type:{name:`TData`},name:`row`},{type:{name:`number`},name:`index`}],return:{name:`string`}}},description:`Стабильный идентификатор строки.
4
-
5
- Если не задан, используется индекс строки.`},className:{required:!1,tsType:{name:`string`},description:`Дополнительный CSS-класс корневого контейнера.`},minHeight:{required:!1,tsType:{name:`union`,raw:"`${number}em` | `${number}%`",elements:[{name:`literal`,value:"`${number}em`"},{name:`literal`,value:"`${number}%`"}]},description:``},tableClassName:{required:!1,tsType:{name:`string`},description:"Дополнительный CSS-класс тега `table`."},columnVisibility:{required:!1,tsType:{name:`VisibilityState`},description:`Внешнее controlled-состояние видимости колонок.`},defaultColumnVisibility:{required:!1,tsType:{name:`VisibilityState`},description:`Стартовое uncontrolled-состояние видимости колонок.`},columnOrder:{required:!1,tsType:{name:`unknown`},description:`Внешнее controlled-состояние порядка колонок.`},defaultColumnOrder:{required:!1,tsType:{name:`unknown`},description:`Стартовое uncontrolled-состояние порядка колонок.`},columnSizing:{required:!1,tsType:{name:`TableColumnSizingState`},description:`Внешнее controlled-состояние ширин колонок в px.`},defaultColumnSizing:{required:!1,tsType:{name:`TableColumnSizingState`},description:`Стартовое uncontrolled-состояние ширин колонок в px.`},columnPinning:{required:!1,tsType:{name:`TableColumnPinningState`},description:`Внешнее controlled-состояние left-pinning для колонок.`},defaultColumnPinning:{required:!1,tsType:{name:`TableColumnPinningState`},description:`Стартовое uncontrolled-состояние left-pinning для колонок.`},enableColumnResizing:{required:!1,tsType:{name:`boolean`},description:`Включает изменение ширины колонок через header-handle.`,defaultValue:{value:`false`,computed:!1}},enableColumnReordering:{required:!1,tsType:{name:`boolean`},description:`Включает изменение порядка колонок через drag&drop заголовков.`,defaultValue:{value:`false`,computed:!1}},columnResizeMinWidth:{required:!1,tsType:{name:`number`},description:`Минимальная ширина колонки при resize в px.`},onColumnVisibilityChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(state: VisibilityState) => void`,signature:{arguments:[{type:{name:`VisibilityState`},name:`state`}],return:{name:`void`}}},description:`Вызывается после изменения видимости колонок.`},onColumnOrderChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(state: TableColumnOrderState) => void`,signature:{arguments:[{type:{name:`TableColumnOrderState`},name:`state`}],return:{name:`void`}}},description:`Вызывается после изменения порядка колонок.`},onColumnSizingChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(state: TableColumnSizingState) => void`,signature:{arguments:[{type:{name:`TableColumnSizingState`},name:`state`}],return:{name:`void`}}},description:`Вызывается после изменения ширины колонок.`},onColumnPinningChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(state: TableColumnPinningState) => void`,signature:{arguments:[{type:{name:`TableColumnPinningState`},name:`state`}],return:{name:`void`}}},description:`Вызывается после изменения left-pinning state.`},onRowClick:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(row: TData) => void`,signature:{arguments:[{type:{name:`TData`},name:`row`}],return:{name:`void`}}},description:`Вызывается при активации строки кликом или клавиатурой.`},onRowSelectionChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(rows: TData[]) => void`,signature:{arguments:[{type:{name:`Array`,elements:[{name:`TData`}],raw:`TData[]`},name:`rows`}],return:{name:`void`}}},description:`Вызывается после изменения выбранных строк.`},onReachEnd:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:`Вызывается при достижении конца таблицы внутри scroll-контейнера.`},getRowCanSelect:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(row: TData) => boolean`,signature:{arguments:[{type:{name:`TData`},name:`row`}],return:{name:`boolean`}}},description:`Позволяет запретить выбор отдельных строк.`},getRowClassName:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(row: TData) => string | undefined`,signature:{arguments:[{type:{name:`TData`},name:`row`}],return:{name:`union`,raw:`string | undefined`,elements:[{name:`string`},{name:`undefined`}]}}},description:`Позволяет добавить CSS-класс для конкретной строки.`},renderHeaderContextMenu:{required:!1,tsType:{name:`BaseTableProps["renderHeaderContextMenu"]`,raw:`BaseTableProps<TData>["renderHeaderContextMenu"]`},description:`Контекстное меню заголовка колонки. Используется для общих runtime-действий
6
- вроде server sorting без встраивания доменной логики в shared-таблицу.`},renderCellContent:{required:!1,tsType:{name:`BaseTableProps["renderCellContent"]`,raw:`BaseTableProps<TData>["renderCellContent"]`},description:"Тонкая точка расширения содержимого ячейки поверх стандартного форматирования.\n\nВ отличие от `column.cell`, этот слот не отключает общий formatting-runtime:\n`defaultContent` уже содержит отформатированное значение, если оно применимо."}}}})))()}var _=t({Basic:()=>z,Empty:()=>W,Fetching:()=>U,Loading:()=>K,MultiSelect:()=>V,ReachEnd:()=>G,WithColumnPinning:()=>B,WithDisabledRows:()=>H,WithFormattingPipeline:()=>J,WithFormulaColumn:()=>q,WithHiddenZero:()=>Y,WithMergedDuplicates:()=>X,WithODataMetadataAdapter:()=>Z,WithUseODataTableColumnsBuildHook:()=>Q,WithUseODataTableColumnsEnrichHook:()=>$,__namedExportsOrder:()=>Me,default:()=>R});function v(){return{version:1,plan:{steps:[{id:`state`,type:`resolveValueState`,config:{resolver:{kind:`threshold`,thresholds:[100],states:[`success`,`warning`],invalidState:`none`},icon:{enabled:!0,showValue:!0,position:`right`}}},{id:`typed`,type:`typedValueFormat`}]}}}function ke(e){return[`odata`,`metadata`,{service:e}]}function Ae(){let{columns:e,metadata:t,isLoading:n}=o({service:P,target:F,mode:`build`});return(0,x.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`},children:[(0,x.jsxs)(`div`,{children:[`Режим build: hook собрал `,e.length,` колонки из metadata`,t?` для сущности «${t.title}».`:`.`]}),(0,x.jsx)(p,{title:`useODataTableColumns: build`,data:E,columns:e,selectionMode:`none`,isLoading:n,getRowId:e=>e.id})]})}function y(){let{columns:e,metadata:t,isLoading:n}=o({service:P,target:F,mode:`enrich`,columns:N});return(0,x.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`},children:[(0,x.jsxs)(`div`,{children:[`Режим enrich: hook сохранил ручные заголовки и дополнил formatting-контекст`,t?` из metadata «${t.title}».`:`.`]}),(0,x.jsx)(p,{title:`useODataTableColumns: enrich`,data:E,columns:e,selectionMode:`none`,isLoading:n,getRowId:e=>e.id})]})}var b,x,S,C,w,T,E,D,O,k,A,j,M,N,je,P,F,I,L,R,z,B,V,H,U,W,G,K,q,J,Y,X,Z,Q,$,Me;function Ne(){return(Ne=e((()=>{b=n(),re(),ee(),s(),i(),g(),x=r(),S=[{id:`1`,number:`450001`,client:`Северсталь`,manager:`Иван Петров`,amount:`1 250 000`,status:`Новая`},{id:`2`,number:`450002`,client:`ММК`,manager:`Анна Смирнова`,amount:`980 000`,status:`В работе`},{id:`3`,number:`450003`,client:`НЛМК`,manager:`Олег Николаев`,amount:`1 540 000`,status:`Согласование`},{id:`4`,number:`450004`,client:`ЕВРАЗ`,manager:`Мария Кузнецова`,amount:`760 000`,status:`Отгружена`},{id:`5`,number:`450005`,client:`ТМК`,manager:`Дмитрий Волков`,amount:`1 120 000`,status:`Закрыта`}],C=[...S,{id:`6`,number:`450006`,client:`ОМК`,manager:`Елена Андреева`,amount:`680 000`,status:`Архив`,isLocked:!0}],w=Array.from({length:18},(e,t)=>({id:String(t+1),number:`4600${String(t+1).padStart(2,`0`)}`,client:`Клиент ${t+1}`,manager:`Менеджер ${t+1}`,amount:`${850+t*15} 000`,status:t%2==0?`В работе`:`Согласование`})),T=[{id:`number`,accessorKey:`number`,header:`Номер`,meta:{width:9}},{id:`client`,accessorKey:`client`,header:`Клиент`,meta:{width:14}},{id:`manager`,accessorKey:`manager`,header:`Менеджер`,meta:{width:12}},{id:`amount`,accessorKey:`amount`,header:`Сумма`,meta:{width:10,align:`right`}},{id:`status`,accessorKey:`status`,header:`Статус`,meta:{width:11}}],E=[{id:`fmt-1`,product:`Лист горячекатаный`,purchasePrice:80,salePrice:120,healthScore:35,pendingAmount:0,createdAt:`2026-03-18T09:15:00.000Z`,totalAmount:1520.5},{id:`fmt-2`,product:`Рулон оцинкованный`,purchasePrice:95,salePrice:150,healthScore:125,pendingAmount:320,createdAt:`2026-03-19T11:40:00.000Z`,totalAmount:2140},{id:`fmt-3`,product:`Арматура`,purchasePrice:60,salePrice:90,healthScore:70,pendingAmount:0,createdAt:`2026-03-20T07:05:00.000Z`,totalAmount:980.75}],D=[{id:`merge-1`,division:`ДВД`,department:`Продажи`,employee:`Иван Петров`},{id:`merge-2`,division:`ДВД`,department:`Продажи`,employee:`Анна Смирнова`},{id:`merge-3`,division:`ДВД`,department:`Продажи`,employee:`Олег Николаев`},{id:`merge-4`,division:`УД`,department:`Логистика`,employee:`Мария Кузнецова`},{id:`merge-5`,division:`УД`,department:`Логистика`,employee:`Дмитрий Волков`},{id:`merge-6`,division:`УД`,department:`Логистика`,employee:`Елена Андреева`},{id:`merge-7`,division:`УД`,department:`Логистика`,employee:`Николай Орлов`}],O=[{id:`division`,accessorKey:`division`,header:`Дивизион`,meta:{width:10,mergeDuplicates:!0}},{id:`department`,accessorKey:`department`,header:`Подразделение`,meta:{width:12}},{id:`employee`,accessorKey:`employee`,header:`Сотрудник`,meta:{width:14}}],k=[{id:`product`,accessorKey:`product`,header:`Товар`,meta:{width:16}},{id:`purchasePrice`,accessorKey:`purchasePrice`,header:`Закупка`,meta:{width:9,align:`right`,formatting:{role:`measure`,type:`decimal`}}},{id:`salePrice`,accessorKey:`salePrice`,header:`Продажа`,meta:{width:9,align:`right`,formatting:{role:`measure`,type:`decimal`}}},{id:`markup`,accessorFn:()=>void 0,header:`Наценка`,meta:{width:9,align:`right`,formatting:{role:`measure`,type:`decimal`,formulaId:`markup`,formulaDependencies:[`purchasePrice`,`salePrice`],purelyDerived:!0}}}],A=[{id:`product`,accessorKey:`product`,header:`Товар`,meta:{width:16}},{id:`healthScore`,accessorKey:`healthScore`,header:`Индекс риска`,meta:{width:10,align:`right`,formatting:{role:`measure`,type:`decimal`,formattersPipeline:v()}}}],j=[{id:`product`,accessorKey:`product`,header:`Товар`,meta:{width:16}},{id:`pendingAmount`,accessorKey:`pendingAmount`,header:`Резерв`,meta:{width:9,align:`right`,formatting:{role:`measure`,type:`decimal`,emptyWhenZero:!0}}}],M=[{id:`product`,type:`string`,originalType:`Edm.String`,label:`Товар`,semanticType:`none`,sortable:!0,filterable:!0,role:`dimension`},{id:`createdAt`,type:`datetime`,originalType:`Edm.DateTime`,label:`Дата создания`,semanticType:`none`,sortable:!0,filterable:!0,role:`dimension`},{id:`totalAmount`,type:`decimal`,originalType:`Edm.Decimal`,label:`Сумма`,semanticType:`none`,sortable:!0,filterable:!0,role:`measure`}],N=[{id:`product`,accessorKey:`product`,header:`Позиция`,meta:{width:16}},{id:`createdAt`,accessorKey:`createdAt`,header:`Создано`,meta:{width:12}},{id:`totalAmount`,accessorKey:`totalAmount`,header:`Итог`,meta:{width:9,align:`right`}}],je=ne(N,M),P=`ZDEMO_DEALS_SRV`,F=`DealSet`,I={title:`Портфель сделок`,columns:M},L=(e,t)=>{let n=(0,b.useMemo)(()=>{let e=ie({}),n=t.parameters.odataService,r=t.parameters.odataEntity,i=t.parameters.odataMetadata;return n&&r&&i&&e.setQueryData(ke(n),{entities:{[r]:i},functionImports:{}}),e},[t.parameters.odataEntity,t.parameters.odataMetadata,t.parameters.odataService]);return(0,x.jsx)(a,{client:n,children:e()})},R={title:`Shared/UI/Table`,component:p,args:{title:`Сделки`,data:S,columns:T,getRowId:e=>e.id,selectionMode:`single`},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{data:{description:`Плоский источник данных.`,control:!1},columns:{description:`Колонки таблицы.`,control:!1},title:{description:`Заголовок таблицы.`,control:`text`},selectionMode:{description:`Режим выбора строк.`,control:`inline-radio`,options:[`none`,`single`,`multi`]},getRowId:{description:`Функция получения стабильного id строки.`,control:!1},columnPinning:{description:`Controlled-состояние закрепления колонок слева.`,control:!1},defaultColumnPinning:{description:`Стартовое uncontrolled-состояние закрепления колонок слева.`,control:!1},onColumnPinningChange:{description:`Вызывается после изменения закрепления колонок слева.`,control:!1},getRowCanSelect:{description:`Позволяет запретить выбор отдельных строк.`,control:!1},getRowClassName:{description:`Позволяет добавить CSS-класс для конкретной строки.`,control:!1},onRowClick:{description:`Вызывается при активации строки.`,control:!1},onRowSelectionChange:{description:`Вызывается после изменения выбранных строк.`,control:!1},onReachEnd:{description:`Вызывается при достижении конца списка внутри scroll-контейнера.`,control:!1},isLoading:{description:`Первичная загрузка таблицы.`,control:`boolean`},isFetching:{description:`Фоновое обновление уже загруженных данных.`,control:`boolean`}}},z={},B={render:e=>{let[t,n]=(0,b.useState)({left:[`number`]});return(0,x.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`},children:[(0,x.jsxs)(`div`,{style:{display:`flex`,gap:`0.5em`,flexWrap:`wrap`},children:[(0,x.jsx)(`button`,{type:`button`,onClick:()=>n({left:[`number`]}),children:`Закрепить «Номер»`}),(0,x.jsx)(`button`,{type:`button`,onClick:()=>n({left:[`number`,`client`]}),children:`Закрепить «Номер» и «Клиент»`}),(0,x.jsx)(`button`,{type:`button`,onClick:()=>n({left:[]}),children:`Снять закрепление`})]}),(0,x.jsxs)(`div`,{children:[`Закреплено слева: `,t.left?.length?t.left.join(`, `):`ничего`]}),(0,x.jsx)(p,{...e,columnPinning:t,onColumnPinningChange:n})]})}},V={render:e=>{let[t,n]=(0,b.useState)([]);return(0,x.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`},children:[(0,x.jsxs)(`div`,{children:[`Выбрано: `,t.length>0?t.join(`, `):`ничего`]}),(0,x.jsx)(p,{...e,selectionMode:`multi`,onRowSelectionChange:e=>n(e.map(e=>e.number))})]})}},H={args:{data:C,selectionMode:`multi`,getRowCanSelect:e=>!e.isLocked},render:e=>{let[t,n]=(0,b.useState)([]);return(0,x.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`},children:[(0,x.jsx)(`div`,{children:`Строка со статусом «Архив» остаётся видимой, но не участвует в выборе.`}),(0,x.jsxs)(`div`,{children:[`Выбрано: `,t.length>0?t.join(`, `):`ничего`]}),(0,x.jsx)(p,{...e,onRowSelectionChange:e=>n(e.map(e=>e.number))})]})}},U={args:{isFetching:!0}},W={args:{data:[]}},G={args:{data:w},render:e=>{let[t,n]=(0,b.useState)(0);return(0,x.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`},children:[(0,x.jsxs)(`div`,{children:[`Событие достижения конца: `,t]}),(0,x.jsx)(p,{...e,onReachEnd:()=>n(e=>e+1)})]})}},K={args:{isLoading:!0}},q={render:()=>(0,x.jsx)(p,{title:`Формула наценки`,data:E,columns:k,selectionMode:`none`,getRowId:e=>e.id})},J={render:()=>(0,x.jsx)(p,{title:`Pipeline форматирования`,data:E,columns:A,selectionMode:`none`,getRowId:e=>e.id})},Y={render:()=>(0,x.jsx)(p,{title:`Скрытие нулей`,data:E,columns:j,selectionMode:`none`,getRowId:e=>e.id})},X={render:()=>(0,x.jsx)(p,{title:`Слияние дубликатов`,data:D,columns:O,selectionMode:`none`,getRowId:e=>e.id})},Z={render:()=>(0,x.jsx)(p,{title:`OData metadata adapter`,data:E,columns:je,selectionMode:`none`,getRowId:e=>e.id})},Q={decorators:[L],parameters:{odataService:P,odataEntity:F,odataMetadata:I},render:()=>(0,x.jsx)(Ae,{})},$={decorators:[L],parameters:{odataService:P,odataEntity:F,odataMetadata:I},render:()=>(0,x.jsx)(y,{})},z.parameters={...z.parameters,docs:{...z.parameters?.docs,source:{originalSource:`{}`,...z.parameters?.docs?.source},description:{story:`Базовый сценарий плоской таблицы с одиночным выбором.`,...z.parameters?.docs?.description}}},B.parameters={...B.parameters,docs:{...B.parameters?.docs,source:{originalSource:`{
7
- render: args => {
8
- const [columnPinning, setColumnPinning] = useState<{
9
- left?: string[];
10
- }>({
11
- left: ["number"]
12
- });
13
- return <div style={{
14
- display: "grid",
15
- gap: "0.75em"
16
- }}>
17
- <div style={{
18
- display: "flex",
19
- gap: "0.5em",
20
- flexWrap: "wrap"
21
- }}>
22
- <button type="button" onClick={() => setColumnPinning({
23
- left: ["number"]
24
- })}>
25
- Закрепить «Номер»
26
- </button>
27
- <button type="button" onClick={() => setColumnPinning({
28
- left: ["number", "client"]
29
- })}>
30
- Закрепить «Номер» и «Клиент»
31
- </button>
32
- <button type="button" onClick={() => setColumnPinning({
33
- left: []
34
- })}>
35
- Снять закрепление
36
- </button>
37
- </div>
38
- <div>Закреплено слева: {columnPinning.left?.length ? columnPinning.left.join(", ") : "ничего"}</div>
39
- <Table {...args} columnPinning={columnPinning} onColumnPinningChange={setColumnPinning} />
40
- </div>;
41
- }
42
- }`,...B.parameters?.docs?.source},description:{story:`Демонстрирует controlled left-pinning через внешний story-state без встроенного UI таблицы.`,...B.parameters?.docs?.description}}},V.parameters={...V.parameters,docs:{...V.parameters?.docs,source:{originalSource:`{
43
- render: args => {
44
- const [selectedNumbers, setSelectedNumbers] = useState<string[]>([]);
45
- return <div style={{
46
- display: "grid",
47
- gap: "0.75em"
48
- }}>
49
- <div>Выбрано: {selectedNumbers.length > 0 ? selectedNumbers.join(", ") : "ничего"}</div>
50
- <Table {...args} selectionMode="multi" onRowSelectionChange={rows => setSelectedNumbers(rows.map(row => row.number))} />
51
- </div>;
52
- }
53
- }`,...V.parameters?.docs?.source},description:{story:`Множественный выбор с отображением текущего результата.`,...V.parameters?.docs?.description}}},H.parameters={...H.parameters,docs:{...H.parameters?.docs,source:{originalSource:`{
54
- args: {
55
- data: nonSelectableRows,
56
- selectionMode: "multi",
57
- getRowCanSelect: row => !row.isLocked
58
- },
59
- render: args => {
60
- const [selectedNumbers, setSelectedNumbers] = useState<string[]>([]);
61
- return <div style={{
62
- display: "grid",
63
- gap: "0.75em"
64
- }}>
65
- <div>Строка со статусом «Архив» остаётся видимой, но не участвует в выборе.</div>
66
- <div>Выбрано: {selectedNumbers.length > 0 ? selectedNumbers.join(", ") : "ничего"}</div>
67
- <Table {...args} onRowSelectionChange={rows => setSelectedNumbers(rows.map(row => row.number))} />
68
- </div>;
69
- }
70
- }`,...H.parameters?.docs?.source},description:{story:`Часть строк можно показать, но запретить выбирать.`,...H.parameters?.docs?.description}}},U.parameters={...U.parameters,docs:{...U.parameters?.docs,source:{originalSource:`{
71
- args: {
72
- isFetching: true
73
- }
74
- }`,...U.parameters?.docs?.source},description:{story:`Сценарий фонового обновления данных без очистки таблицы.`,...U.parameters?.docs?.description}}},W.parameters={...W.parameters,docs:{...W.parameters?.docs,source:{originalSource:`{
75
- args: {
76
- data: []
77
- }
78
- }`,...W.parameters?.docs?.source},description:{story:`Пустой источник данных.`,...W.parameters?.docs?.description}}},G.parameters={...G.parameters,docs:{...G.parameters?.docs,source:{originalSource:`{
79
- args: {
80
- data: reachEndRows
81
- },
82
- render: args => {
83
- const [reachEndCount, setReachEndCount] = useState(0);
84
- return <div style={{
85
- display: "grid",
86
- gap: "0.75em"
87
- }}>
88
- <div>Событие достижения конца: {reachEndCount}</div>
89
- <Table {...args} onReachEnd={() => setReachEndCount(current => current + 1)} />
90
- </div>;
91
- }
92
- }`,...G.parameters?.docs?.source},description:{story:`Демонстрация callback при достижении конца списка.`,...G.parameters?.docs?.description}}},K.parameters={...K.parameters,docs:{...K.parameters?.docs,source:{originalSource:`{
93
- args: {
94
- isLoading: true
95
- }
96
- }`,...K.parameters?.docs?.source},description:{story:`Состояние первичной загрузки.`,...K.parameters?.docs?.description}}},q.parameters={...q.parameters,docs:{...q.parameters?.docs,source:{originalSource:`{
97
- render: () => <Table title="Формула наценки" data={formattingRows} columns={formulaColumns} selectionMode="none" getRowId={row => row.id} />
98
- }`,...q.parameters?.docs?.source},description:{story:"Сценарий с formula-based колонкой без кастомного `cell`.",...q.parameters?.docs?.description}}},J.parameters={...J.parameters,docs:{...J.parameters?.docs,source:{originalSource:`{
99
- render: () => <Table title="Pipeline форматирования" data={formattingRows} columns={pipelineColumns} selectionMode="none" getRowId={row => row.id} />
100
- }`,...J.parameters?.docs?.source},description:{story:`Сценарий с pipeline display-formatting и value-state.`,...J.parameters?.docs?.description}}},Y.parameters={...Y.parameters,docs:{...Y.parameters?.docs,source:{originalSource:`{
101
- render: () => <Table title="Скрытие нулей" data={formattingRows} columns={hiddenZeroColumns} selectionMode="none" getRowId={row => row.id} />
102
- }`,...Y.parameters?.docs?.source},description:{story:"Сценарий со скрытием нулевых значений через `emptyWhenZero`.",...Y.parameters?.docs?.description}}},X.parameters={...X.parameters,docs:{...X.parameters?.docs,source:{originalSource:`{
103
- render: () => <Table title="Слияние дубликатов" data={divisionMergeRows} columns={divisionMergeColumns} selectionMode="none" getRowId={row => row.id} />
104
- }`,...X.parameters?.docs?.source},description:{story:`Сценарий со display-only слиянием подряд идущих дубликатов через пустые ячейки и CSS-склейку.`,...X.parameters?.docs?.description}}},Z.parameters={...Z.parameters,docs:{...Z.parameters?.docs,source:{originalSource:`{
105
- render: () => <Table title="OData metadata adapter" data={formattingRows} columns={adapterColumns} selectionMode="none" getRowId={row => row.id} />
106
- }`,...Z.parameters?.docs?.source},description:{story:`Сценарий со статическим OData metadata adapter в режиме enrich.`,...Z.parameters?.docs?.description}}},Q.parameters={...Q.parameters,docs:{...Q.parameters?.docs,source:{originalSource:`{
107
- decorators: [withMockedHookODataMetadata],
108
- parameters: {
109
- odataService: HOOK_ODATA_SERVICE,
110
- odataEntity: HOOK_ODATA_ENTITY,
111
- odataMetadata: hookMetadata
112
- },
113
- render: () => <HookBuildTableStory />
114
- }`,...Q.parameters?.docs?.source},description:{story:"Реальный hook-сценарий `useODataTableColumns(...)` в режиме build.",...Q.parameters?.docs?.description}}},$.parameters={...$.parameters,docs:{...$.parameters?.docs,source:{originalSource:`{
115
- decorators: [withMockedHookODataMetadata],
116
- parameters: {
117
- odataService: HOOK_ODATA_SERVICE,
118
- odataEntity: HOOK_ODATA_ENTITY,
119
- odataMetadata: hookMetadata
120
- },
121
- render: () => <HookEnrichTableStory />
122
- }`,...$.parameters?.docs?.source},description:{story:"Реальный hook-сценарий `useODataTableColumns(...)` в режиме enrich.",...$.parameters?.docs?.description}}},Me=[`Basic`,`WithColumnPinning`,`MultiSelect`,`WithDisabledRows`,`Fetching`,`Empty`,`ReachEnd`,`Loading`,`WithFormulaColumn`,`WithFormattingPipeline`,`WithHiddenZero`,`WithMergedDuplicates`,`WithODataMetadataAdapter`,`WithUseODataTableColumnsBuildHook`,`WithUseODataTableColumnsEnrichHook`]})))()}export{Ne as _,V as a,B as c,q as d,Y as f,$ as g,Q as h,K as i,H as l,Z as m,W as n,G as o,X as p,U as r,_ as s,z as t,J as u};
@@ -1,57 +0,0 @@
1
- import{n as e,o as t,r as n}from"./rolldown-runtime-C0FnF6B9.js";import{t as r}from"./react-C21x__mS.js";import{n as i}from"./iframe-DBSrNt2a.js";import{a,i as o}from"./utils-DUM89eIj.js";import{n as s,t as c}from"./Scrollable-BX1lUjOe.js";import{a as ee,c as l,f as te,i as u,l as d,n as f,o as p,r as ne,s as m,t as h,u as re}from"./TabsBox-6G7F_Vo9.js";function g({onChange:e,onValueChange:t,...n}){return(0,_.jsx)(h,{...n,onValueChange:n=>{t?.(n),e?.(n)}})}var _;function v(){return(v=e((()=>{f(),_=i(),g.__docgenInfo={description:"@deprecated Используйте `TabsBox` для простого сценария и `TabsLayout` для составных layout-сценариев.",methods:[],displayName:`Tabs`,props:{value:{required:!1,tsType:{name:`string`},description:``},defaultValue:{required:!1,tsType:{name:`string`},description:``},onValueChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},orientation:{required:!1,tsType:{name:`union`,raw:`"horizontal" | "vertical"`,elements:[{name:`literal`,value:`"horizontal"`},{name:`literal`,value:`"vertical"`}]},description:``},activationMode:{required:!1,tsType:{name:`union`,raw:`"automatic" | "manual"`,elements:[{name:`literal`,value:`"automatic"`},{name:`literal`,value:`"manual"`}]},description:``},mountStrategy:{required:!1,tsType:{name:`union`,raw:`"unmount" | "lazy" | "keep-mounted"`,elements:[{name:`literal`,value:`"unmount"`},{name:`literal`,value:`"lazy"`},{name:`literal`,value:`"keep-mounted"`}]},description:``},loop:{required:!1,tsType:{name:`boolean`},description:``},cleanPanel:{required:!1,tsType:{name:`boolean`},description:``},bordered:{required:!1,tsType:{name:`boolean`},description:``},className:{required:!1,tsType:{name:`string`},description:``},"aria-label":{required:!1,tsType:{name:`string`},description:``},"aria-labelledby":{required:!1,tsType:{name:`string`},description:``},items:{required:!0,tsType:{name:`Array`,elements:[{name:`TabsBoxItem`}],raw:`TabsBoxItem[]`},description:``},isLoading:{required:!1,tsType:{name:`boolean`},description:``},loadingText:{required:!1,tsType:{name:`string`},description:``},onChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``}}}})))()}function ie(e){let{type:t}=e;if(typeof t==`function`){let e=t;return e.displayName??e.name??null}if(typeof t==`object`&&t&&`displayName`in t){let e=t;return typeof e.displayName==`string`?e.displayName:null}return null}function y(e,t){return(0,w.isValidElement)(e)&&ie(e)===t}function b({children:e}){return(0,T.jsx)(T.Fragment,{children:e})}function x({children:e}){return(0,T.jsx)(T.Fragment,{children:e})}function S({children:e}){return(0,T.jsx)(T.Fragment,{children:e})}function C({children:e}){return(0,T.jsx)(T.Fragment,{children:e})}function ae(e,t){let n=null,r=null,i=null;for(let a of w.Children.toArray(e)){if(!(0,w.isValidElement)(a))throw Error(`TabsLayout.Tab "${t}" поддерживает только дочерние элементы TabsLayout.Toolbar, TabsLayout.Content и TabsLayout.Footer.`);if(y(a,D)){if(n)throw Error(`TabsLayout.Tab "${t}" содержит более одного блока TabsLayout.Toolbar.`);n=a.props;continue}if(y(a,O)){if(r)throw Error(`TabsLayout.Tab "${t}" содержит более одного блока TabsLayout.Content.`);r=a.props;continue}if(y(a,k)){if(i)throw Error(`TabsLayout.Tab "${t}" содержит более одного блока TabsLayout.Footer.`);i=a.props;continue}throw Error(`TabsLayout.Tab "${t}" поддерживает только дочерние элементы TabsLayout.Toolbar, TabsLayout.Content и TabsLayout.Footer.`)}if(!r)throw Error(`TabsLayout.Tab "${t}" должен содержать блок TabsLayout.Content.`);return{toolbar:n,content:r,footer:i}}function oe(e){return w.Children.toArray(e).map(e=>{if(!y(e,E))throw Error(`TabsLayout принимает только дочерние элементы TabsLayout.Tab.`);return{id:e.props.id,title:e.props.title,disabled:e.props.disabled,...ae(e.props.children,e.props.id)}})}var w,T,E,D,O,k,A,j;function M(){return(M=e((()=>{w=t(r(),1),o(),d(),l(),p(),u(),T=i(),E=`TabsLayout.Tab`,D=`TabsLayout.Toolbar`,O=`TabsLayout.Content`,k=`TabsLayout.Footer`,b.displayName=E,x.displayName=D,S.displayName=O,C.displayName=k,A=({children:e,value:t,defaultValue:n,onValueChange:r,className:i,bordered:o,cleanPanel:s,orientation:c=`horizontal`,activationMode:l=`manual`,mountStrategy:u=`lazy`,loop:d=!0,"aria-label":f,"aria-labelledby":p})=>{let h=(0,w.useMemo)(()=>oe(e),[e]),g=re({items:h,value:t,defaultValue:n,onValueChange:r,orientation:c,activationMode:l,loop:d}),_=a(m.tabsContainer,m[c],o&&m.bordered,s&&m.cleanPanel,i),v=a(m.panels,m.layoutPanels);return(0,T.jsxs)(`div`,{className:_,children:[(0,T.jsx)(ne,{items:h,state:g,className:m.tabs,ariaLabel:f,ariaLabelledBy:p}),(0,T.jsx)(`div`,{className:v,children:h.map(e=>{let t=e.id===g.selectedTabId;if(!te({mountStrategy:u,isSelected:t,isVisited:g.isVisited(e.id)}))return null;let n=`${e.toolbar?`auto `:``}minmax(0, 1fr)${e.footer?` auto`:``}`;return(0,T.jsx)(ee,{tabId:e.id,isSelected:t,className:m.panel,getTabElementId:g.getTabElementId,getPanelElementId:g.getPanelElementId,children:(0,T.jsxs)(`div`,{className:m.layoutPanel,style:{gridTemplateRows:n},children:[e.toolbar?(0,T.jsx)(`div`,{className:a(m.layoutSection,e.toolbar.className),children:e.toolbar.children}):null,(0,T.jsx)(`div`,{className:a(m.layoutSection,m.layoutContent,e.content.className),children:e.content.children}),e.footer?(0,T.jsx)(`div`,{className:a(m.layoutSection,e.footer.className),children:e.footer.children}):null]})},e.id)})})]})},A.displayName=`TabsLayout`,j=Object.assign(A,{Tab:b,Toolbar:x,Content:S,Footer:C}),A.__docgenInfo={description:`Compound-оболочка tabs для составных panel-layout сценариев.
2
- Сам компонент управляет только переключением и каркасом панели.`,methods:[],displayName:`TabsLayout`,props:{value:{required:!1,tsType:{name:`string`},description:``},defaultValue:{required:!1,tsType:{name:`string`},description:``},onValueChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},orientation:{required:!1,tsType:{name:`union`,raw:`"horizontal" | "vertical"`,elements:[{name:`literal`,value:`"horizontal"`},{name:`literal`,value:`"vertical"`}]},description:``,defaultValue:{value:`"horizontal"`,computed:!1}},activationMode:{required:!1,tsType:{name:`union`,raw:`"automatic" | "manual"`,elements:[{name:`literal`,value:`"automatic"`},{name:`literal`,value:`"manual"`}]},description:``,defaultValue:{value:`"manual"`,computed:!1}},mountStrategy:{required:!1,tsType:{name:`union`,raw:`"unmount" | "lazy" | "keep-mounted"`,elements:[{name:`literal`,value:`"unmount"`},{name:`literal`,value:`"lazy"`},{name:`literal`,value:`"keep-mounted"`}]},description:``,defaultValue:{value:`"lazy"`,computed:!1}},loop:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`true`,computed:!1}},cleanPanel:{required:!1,tsType:{name:`boolean`},description:``},bordered:{required:!1,tsType:{name:`boolean`},description:``},className:{required:!1,tsType:{name:`string`},description:``},"aria-label":{required:!1,tsType:{name:`string`},description:``},"aria-labelledby":{required:!1,tsType:{name:`string`},description:``},children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``}}}})))()}var N=n({BoxBasic:()=>U,BoxControlled:()=>W,BoxMountStrategies:()=>K,BoxVertical:()=>G,DisabledTabs:()=>q,Empty:()=>Z,LayoutPanels:()=>J,LegacyTabs:()=>Y,Loading:()=>X,__namedExportsOrder:()=>Q,default:()=>H});function P({label:e}){let[t,n]=(0,F.useState)(0);return(0,I.jsxs)(`div`,{style:L,children:[(0,I.jsxs)(`div`,{children:[`Панель: `,e]}),(0,I.jsxs)(`div`,{children:[`Локальный счётчик: `,t]}),(0,I.jsx)(`button`,{type:`button`,onClick:()=>n(e=>e+1),children:`Увеличить`})]})}function se(){let[e,t]=(0,F.useState)(`details`);return(0,I.jsx)(`div`,{style:{height:360},children:(0,I.jsxs)(j,{value:e,onValueChange:t,bordered:!0,"aria-label":`Составные панели документа`,children:[(0,I.jsxs)(j.Tab,{id:`details`,title:`Детали`,children:[(0,I.jsx)(j.Toolbar,{children:(0,I.jsx)(`div`,{className:`surface0 border radiusSm paddingSm`,children:`Панель инструментов вне scroll-области.`})}),(0,I.jsx)(j.Content,{children:(0,I.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`1fr 1fr`,gap:12,height:`100%`},children:[(0,I.jsx)(c,{className:`surface0 border radiusSm paddingSm h100`,children:V.map(e=>(0,I.jsxs)(`div`,{className:`paddingBlockXs`,children:[`Левая колонка: `,e]},`left-${e}`))}),(0,I.jsx)(c,{className:`surface0 border radiusSm paddingSm h100`,children:V.map(e=>(0,I.jsxs)(`div`,{className:`paddingBlockXs`,children:[`Правая колонка: `,e]},`right-${e}`))})]})}),(0,I.jsx)(j.Footer,{children:(0,I.jsx)(`div`,{className:`surface0 border radiusSm paddingSm`,children:`Футер тоже исключён из scroll-контента.`})})]}),(0,I.jsx)(j.Tab,{id:`history`,title:`История`,children:(0,I.jsx)(j.Content,{children:(0,I.jsx)(c,{className:`surface0 border radiusSm paddingSm h100`,children:V.map(e=>(0,I.jsxs)(`div`,{className:`paddingBlockXs`,children:[`История изменения: `,e]},`history-${e}`))})})})]})})}var F,I,L,R,z,B,V,H,U,W,G,K,q,J,Y,X,Z,Q;function $(){return($=e((()=>{F=r(),v(),f(),M(),s(),I=i(),L={padding:16,display:`grid`,gap:12},R=[{id:`profile`,title:`Профиль`,content:(0,I.jsx)(`div`,{style:L,children:`Карточка пользователя и основные поля профиля.`})},{id:`settings`,title:`Настройки`,content:(0,I.jsx)(`div`,{style:L,children:`Параметры интерфейса, уведомлений и доступа.`})},{id:`history`,title:`История`,content:(0,I.jsx)(`div`,{style:L,children:`Последние действия, комментарии и изменения.`})}],z=[{id:`first`,title:`Первая`,content:(0,I.jsx)(P,{label:`Первая`})},{id:`second`,title:`Вторая`,content:(0,I.jsx)(P,{label:`Вторая`})},{id:`third`,title:`Третья`,content:(0,I.jsx)(P,{label:`Третья`})}],B=[{id:`overview`,title:`Обзор`,content:(0,I.jsx)(`div`,{style:L,children:`Раздел доступен сразу.`})},{id:`analytics`,title:`Аналитика`,disabled:!0,content:(0,I.jsx)(`div`,{style:L,children:`Пока недоступно.`})},{id:`history`,title:`История`,content:(0,I.jsx)(`div`,{style:L,children:`История изменений и действий.`})}],V=Array.from({length:12},(e,t)=>`Элемент ${t+1}`),H={title:`Shared/UI/Tabs`,component:h,args:{items:R,orientation:`horizontal`,activationMode:`automatic`,mountStrategy:`unmount`,isLoading:!1,loadingText:`Загрузка вкладок...`,bordered:!1,loop:!0},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{items:{description:"Набор вкладок для `TabsBox`. Каждая вкладка задаётся через `id`, `title`, `content` и опциональный `disabled`.",control:!1},value:{description:`Активная вкладка в controlled-режиме.`,control:`text`},defaultValue:{description:`Начальная вкладка в uncontrolled-режиме.`,control:`text`},onValueChange:{description:`Вызывается при смене активной вкладки.`,control:!1},orientation:{description:`Направление списка вкладок.`,control:`inline-radio`,options:[`horizontal`,`vertical`]},activationMode:{description:"Режим клавиатурной активации: `automatic` меняет вкладку стрелками, `manual` только переводит фокус.",control:`inline-radio`,options:[`automatic`,`manual`]},mountStrategy:{description:"Политика монтирования панелей: `unmount`, `lazy` или `keep-mounted`.",control:`inline-radio`,options:[`unmount`,`lazy`,`keep-mounted`]},bordered:{description:`Добавляет рамку вокруг области панелей.`,control:`boolean`},loop:{description:`Разрешает циклическую навигацию стрелками и Home/End.`,control:`boolean`},className:{description:`Дополнительный CSS-класс корневого контейнера.`,control:`text`},isLoading:{description:"Показывает loading-состояние `TabsBox`.",control:`boolean`},loadingText:{description:`Текст внутри loading-состояния.`,control:`text`},"aria-label":{description:"Текстовая подпись для `tablist`, если рядом нет видимого заголовка.",control:`text`},"aria-labelledby":{description:"Ссылка на внешний заголовок `tablist`.",control:`text`}}},U={args:{"aria-label":`Основные разделы профиля`}},W={render:e=>{let[t,n]=(0,F.useState)(`settings`);return(0,I.jsx)(h,{...e,value:t,onValueChange:n})},args:{value:`settings`,"aria-label":`Управляемые вкладки`}},G={render:e=>(0,I.jsx)(`div`,{style:{height:320},children:(0,I.jsx)(h,{...e})}),args:{orientation:`vertical`,bordered:!0,"aria-label":`Вертикальные вкладки`}},K={render:e=>(0,I.jsx)(h,{...e,items:z}),args:{mountStrategy:`lazy`,"aria-label":`Демонстрация стратегий монтирования`}},q={args:{items:B,"aria-label":`Вкладки с недоступным разделом`}},J={render:()=>(0,I.jsx)(se,{})},Y={render:e=>(0,I.jsx)(g,{...e,items:R,"aria-label":`Устаревший совместимый API`}),parameters:{docs:{description:{story:"Совместимый фасад поверх `TabsBox`. Новый функционал добавляется только в `TabsBox` и `TabsLayout`."}}}},X={args:{isLoading:!0,items:R}},Z={args:{items:[]}},U.parameters={...U.parameters,docs:{...U.parameters?.docs,source:{originalSource:`{
3
- args: {
4
- "aria-label": "Основные разделы профиля"
5
- }
6
- }`,...U.parameters?.docs?.source}}},W.parameters={...W.parameters,docs:{...W.parameters?.docs,source:{originalSource:`{
7
- render: args => {
8
- const [value, setValue] = useState("settings");
9
- return <TabsBox {...args} value={value} onValueChange={setValue} />;
10
- },
11
- args: {
12
- value: "settings",
13
- "aria-label": "Управляемые вкладки"
14
- }
15
- }`,...W.parameters?.docs?.source}}},G.parameters={...G.parameters,docs:{...G.parameters?.docs,source:{originalSource:`{
16
- render: args => <div style={{
17
- height: 320
18
- }}>
19
- <TabsBox {...args} />
20
- </div>,
21
- args: {
22
- orientation: "vertical",
23
- bordered: true,
24
- "aria-label": "Вертикальные вкладки"
25
- }
26
- }`,...G.parameters?.docs?.source}}},K.parameters={...K.parameters,docs:{...K.parameters?.docs,source:{originalSource:`{
27
- render: args => <TabsBox {...args} items={lifecycleItems} />,
28
- args: {
29
- mountStrategy: "lazy",
30
- "aria-label": "Демонстрация стратегий монтирования"
31
- }
32
- }`,...K.parameters?.docs?.source}}},q.parameters={...q.parameters,docs:{...q.parameters?.docs,source:{originalSource:`{
33
- args: {
34
- items: disabledItems,
35
- "aria-label": "Вкладки с недоступным разделом"
36
- }
37
- }`,...q.parameters?.docs?.source}}},J.parameters={...J.parameters,docs:{...J.parameters?.docs,source:{originalSource:`{
38
- render: () => <LayoutStory />
39
- }`,...J.parameters?.docs?.source}}},Y.parameters={...Y.parameters,docs:{...Y.parameters?.docs,source:{originalSource:`{
40
- render: args => <Tabs {...args} items={demoItems} aria-label="Устаревший совместимый API" />,
41
- parameters: {
42
- docs: {
43
- description: {
44
- story: "Совместимый фасад поверх \`TabsBox\`. Новый функционал добавляется только в \`TabsBox\` и \`TabsLayout\`."
45
- }
46
- }
47
- }
48
- }`,...Y.parameters?.docs?.source}}},X.parameters={...X.parameters,docs:{...X.parameters?.docs,source:{originalSource:`{
49
- args: {
50
- isLoading: true,
51
- items: demoItems
52
- }
53
- }`,...X.parameters?.docs?.source}}},Z.parameters={...Z.parameters,docs:{...Z.parameters?.docs,source:{originalSource:`{
54
- args: {
55
- items: []
56
- }
57
- }`,...Z.parameters?.docs?.source}}},Q=[`BoxBasic`,`BoxControlled`,`BoxVertical`,`BoxMountStrategies`,`DisabledTabs`,`LayoutPanels`,`LegacyTabs`,`Loading`,`Empty`]})))()}export{q as a,Y as c,$ as d,G as i,X as l,W as n,Z as o,K as r,J as s,U as t,N as u};
@@ -1,12 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-C21x__mS.js";import{n}from"./iframe-DBSrNt2a.js";import{n as r,t as i}from"./TagInput-CIsnKs98.js";var a,o,s,c,l,u;function d(){return(d=e((()=>{a=t(),r(),o=n(),s={title:`Shared/UI/TagInput`,component:i,args:{value:[],onChange:()=>void 0},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{value:{description:`Controlled-набор добавленных тегов.`,control:!1},onChange:{description:`Возвращает новый набор после добавления или удаления тега.`,control:!1},maxTags:{description:`Максимальное количество тегов.`,control:`number`},readOnly:{description:`Показывает набор без действий изменения.`,control:`boolean`},normalizeTag:{control:!1},getTagKey:{control:!1},getRemoveButtonAriaLabel:{control:!1}}},c={render:e=>{let[t,n]=(0,a.useState)([`Новости`,`Колледж`]);return(0,o.jsx)(i,{...e,label:`Теги материала`,description:`Введите значение и нажмите Enter или запятую. Можно вставить сразу несколько строк.`,placeholder:`Добавить тег`,value:t,onChange:n,maxTags:10,getTagKey:e=>e.toLocaleLowerCase(`ru`)})}},l={args:{label:`Теги материала`,value:[`Новости`,`Колледж`],readOnly:!0}},c.parameters={...c.parameters,docs:{...c.parameters?.docs,source:{originalSource:`{
2
- render: args => {
3
- const [value, setValue] = useState<readonly string[]>(["Новости", "Колледж"]);
4
- return <TagInput {...args} label="Теги материала" description="Введите значение и нажмите Enter или запятую. Можно вставить сразу несколько строк." placeholder="Добавить тег" value={value} onChange={setValue} maxTags={10} getTagKey={tag => tag.toLocaleLowerCase("ru")} />;
5
- }
6
- }`,...c.parameters?.docs?.source}}},l.parameters={...l.parameters,docs:{...l.parameters?.docs,source:{originalSource:`{
7
- args: {
8
- label: "Теги материала",
9
- value: ["Новости", "Колледж"],
10
- readOnly: true
11
- }
12
- }`,...l.parameters?.docs?.source}}},u=[`Controlled`,`ReadOnly`]})))()}d();export{c as Controlled,l as ReadOnly,u as __namedExportsOrder,s as default};