@ryuzaki13/react-foundation-ui 3.10.0 → 3.11.0

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 (421) hide show
  1. package/README.md +11 -0
  2. package/dist/badge/index.js +1 -1
  3. package/dist/barcode-scanner/index.js +1 -1
  4. package/dist/base-table/index.js +1 -1
  5. package/dist/chunks/{TextEditorLexicalClient-BQH41FFT.js → TextEditorLexicalClient-Cj6yjCGm.js} +3 -3
  6. package/dist/chunks/{TextEditorLexicalClient-BQH41FFT.js.map → TextEditorLexicalClient-Cj6yjCGm.js.map} +1 -1
  7. package/dist/chunks/{base-table-CacTH3BE.js → base-table-CoVXG2FT.js} +4 -4
  8. package/dist/chunks/{base-table-CacTH3BE.js.map → base-table-CoVXG2FT.js.map} +1 -1
  9. package/dist/chunks/{context-menu-BV8636Ou.js → context-menu-BlLesqpZ.js} +2 -2
  10. package/dist/chunks/{context-menu-BV8636Ou.js.map → context-menu-BlLesqpZ.js.map} +1 -1
  11. package/dist/chunks/flex-BhrQCH4I.js +401 -0
  12. package/dist/chunks/flex-BhrQCH4I.js.map +1 -0
  13. package/dist/chunks/grid-D6wPRCjx.js +394 -0
  14. package/dist/chunks/grid-D6wPRCjx.js.map +1 -0
  15. package/dist/chunks/{misc-BjdDK6mm.js → misc-Dcr24uDY.js} +2 -2
  16. package/dist/chunks/{misc-BjdDK6mm.js.map → misc-Dcr24uDY.js.map} +1 -1
  17. package/dist/chunks/{modal-CBGNsqrq.js → modal-DeABSKrb.js} +4 -4
  18. package/dist/chunks/{modal-CBGNsqrq.js.map → modal-DeABSKrb.js.map} +1 -1
  19. package/dist/chunks/{picker-DagDe9OH.js → picker-CWx7vPE8.js} +2 -2
  20. package/dist/chunks/{picker-DagDe9OH.js.map → picker-CWx7vPE8.js.map} +1 -1
  21. package/dist/chunks/responsiveLayout-D2mtCDdh.js +28 -0
  22. package/dist/chunks/responsiveLayout-D2mtCDdh.js.map +1 -0
  23. package/dist/chunks/{select-C-1U-ujV.js → select-CHBBo5fn.js} +2 -2
  24. package/dist/chunks/{select-C-1U-ujV.js.map → select-CHBBo5fn.js.map} +1 -1
  25. package/dist/chunks/{table-Cx__DvpN.js → table-Cm9NhT9K.js} +2 -2
  26. package/dist/chunks/{table-Cx__DvpN.js.map → table-Cm9NhT9K.js.map} +1 -1
  27. package/dist/context-menu/index.js +1 -1
  28. package/dist/disclosure/index.js +1 -1
  29. package/dist/errors/index.js +1 -1
  30. package/dist/expandable-action-panel/index.js +1 -1
  31. package/dist/flex/FlexContainer.d.ts +1 -1
  32. package/dist/flex/FlexContainer.d.ts.map +1 -1
  33. package/dist/flex/FlexItem.d.ts +1 -1
  34. package/dist/flex/FlexItem.d.ts.map +1 -1
  35. package/dist/flex/PredefinedFlex.d.ts +1 -1
  36. package/dist/flex/PredefinedFlex.d.ts.map +1 -1
  37. package/dist/flex/getFlexClasses.d.ts +5 -0
  38. package/dist/flex/getFlexClasses.d.ts.map +1 -0
  39. package/dist/flex/index.js +1 -1
  40. package/dist/floating-windows/FloatingWindow.d.ts +19 -0
  41. package/dist/floating-windows/FloatingWindow.d.ts.map +1 -0
  42. package/dist/floating-windows/FloatingWindowHeader.d.ts +14 -0
  43. package/dist/floating-windows/FloatingWindowHeader.d.ts.map +1 -0
  44. package/dist/floating-windows/FloatingWindows.d.ts +16 -0
  45. package/dist/floating-windows/FloatingWindows.d.ts.map +1 -0
  46. package/dist/floating-windows/FloatingWindowsBoundary.d.ts +10 -0
  47. package/dist/floating-windows/FloatingWindowsBoundary.d.ts.map +1 -0
  48. package/dist/floating-windows/FloatingWindowsProvider.d.ts +11 -0
  49. package/dist/floating-windows/FloatingWindowsProvider.d.ts.map +1 -0
  50. package/dist/floating-windows/index.d.ts +4 -0
  51. package/dist/floating-windows/index.d.ts.map +1 -0
  52. package/dist/floating-windows/index.js +576 -0
  53. package/dist/floating-windows/index.js.map +1 -0
  54. package/dist/floating-windows/lib/constrainFloatingWindowPosition.d.ts +8 -0
  55. package/dist/floating-windows/lib/constrainFloatingWindowPosition.d.ts.map +1 -0
  56. package/dist/floating-windows/lib/floatingWindowsStorage.d.ts +10 -0
  57. package/dist/floating-windows/lib/floatingWindowsStorage.d.ts.map +1 -0
  58. package/dist/floating-windows/lib/getFloatingWindowStyle.d.ts +5 -0
  59. package/dist/floating-windows/lib/getFloatingWindowStyle.d.ts.map +1 -0
  60. package/dist/floating-windows/lib/isFloatingWindowId.d.ts +3 -0
  61. package/dist/floating-windows/lib/isFloatingWindowId.d.ts.map +1 -0
  62. package/dist/floating-windows/lib/selectFloatingWindowCascadePosition.d.ts +8 -0
  63. package/dist/floating-windows/lib/selectFloatingWindowCascadePosition.d.ts.map +1 -0
  64. package/dist/floating-windows/lib/selectFloatingWindowRestoreFocus.d.ts +3 -0
  65. package/dist/floating-windows/lib/selectFloatingWindowRestoreFocus.d.ts.map +1 -0
  66. package/dist/floating-windows/model/FloatingWindowsContext.d.ts +4 -0
  67. package/dist/floating-windows/model/FloatingWindowsContext.d.ts.map +1 -0
  68. package/dist/floating-windows/model/createFloatingWindowsStore.d.ts +8 -0
  69. package/dist/floating-windows/model/createFloatingWindowsStore.d.ts.map +1 -0
  70. package/dist/floating-windows/model/floatingWindowMoveTypes.d.ts +27 -0
  71. package/dist/floating-windows/model/floatingWindowMoveTypes.d.ts.map +1 -0
  72. package/dist/floating-windows/model/floatingWindowsTypes.d.ts +40 -0
  73. package/dist/floating-windows/model/floatingWindowsTypes.d.ts.map +1 -0
  74. package/dist/floating-windows/model/useFloatingWindowFocus.d.ts +4 -0
  75. package/dist/floating-windows/model/useFloatingWindowFocus.d.ts.map +1 -0
  76. package/dist/floating-windows/model/useFloatingWindowMeasurements.d.ts +5 -0
  77. package/dist/floating-windows/model/useFloatingWindowMeasurements.d.ts.map +1 -0
  78. package/dist/floating-windows/model/useFloatingWindowMove.d.ts +4 -0
  79. package/dist/floating-windows/model/useFloatingWindowMove.d.ts.map +1 -0
  80. package/dist/floating-windows/model/useFloatingWindowSnapshot.d.ts +4 -0
  81. package/dist/floating-windows/model/useFloatingWindowSnapshot.d.ts.map +1 -0
  82. package/dist/floating-windows/model/useFloatingWindowsBounds.d.ts +4 -0
  83. package/dist/floating-windows/model/useFloatingWindowsBounds.d.ts.map +1 -0
  84. package/dist/floating-windows/model/useFloatingWindowsPersistence.d.ts +4 -0
  85. package/dist/floating-windows/model/useFloatingWindowsPersistence.d.ts.map +1 -0
  86. package/dist/floating-windows/model/useFloatingWindowsStore.d.ts +4 -0
  87. package/dist/floating-windows/model/useFloatingWindowsStore.d.ts.map +1 -0
  88. package/dist/grid/GridContainer.d.ts.map +1 -1
  89. package/dist/grid/GridItem.d.ts.map +1 -1
  90. package/dist/grid/getGridClasses.d.ts +12 -0
  91. package/dist/grid/getGridClasses.d.ts.map +1 -0
  92. package/dist/grid/index.js +1 -1
  93. package/dist/image/index.js +2 -2
  94. package/dist/layout-picker/index.js +1 -1
  95. package/dist/list/index.js +2 -2
  96. package/dist/listbox/index.js +1 -1
  97. package/dist/misc/index.js +1 -1
  98. package/dist/modal/index.js +1 -1
  99. package/dist/multi-select/index.js +1 -1
  100. package/dist/notifications/index.js +10 -10
  101. package/dist/picker/index.js +1 -1
  102. package/dist/preset-range-date-input/index.js +1 -1
  103. package/dist/preset-select/index.js +1 -1
  104. package/dist/responsive-layout/responsiveLayout.d.ts +17 -0
  105. package/dist/responsive-layout/responsiveLayout.d.ts.map +1 -0
  106. package/dist/select/index.js +1 -1
  107. package/dist/simple-table/index.js +1 -1
  108. package/dist/slider/index.js +1 -1
  109. package/dist/state-select/index.js +1 -1
  110. package/dist/styles.css +1 -1
  111. package/dist/table/index.js +1 -1
  112. package/dist/table-sorting/index.js +1 -1
  113. package/dist/tabs/index.js +1 -1
  114. package/dist/text-editor/index.js +2 -2
  115. package/dist/toolbar/index.js +2 -2
  116. package/dist/tree-select/index.js +1 -1
  117. package/dist/tree-table/index.js +1 -1
  118. package/package.json +5 -1
  119. package/storybook-static/assets/{Badge-DxGi2POg.js → Badge-CVgLMAJT.js} +1 -1
  120. package/storybook-static/assets/{Badge.stories-D6Em1fN8.js → Badge.stories-KeadkKsz.js} +1 -1
  121. package/storybook-static/assets/{BadgeList-DemBuxUQ.js → BadgeList-_jBtMkE3.js} +1 -1
  122. package/storybook-static/assets/{BarcodeScannerDialog.stories-Bxnb0wH3.js → BarcodeScannerDialog.stories-J9XDExKK.js} +1 -1
  123. package/storybook-static/assets/{Button-dlGIhkja.js → Button-C-uRygWz.js} +1 -1
  124. package/storybook-static/assets/{Button-9vGUTM3m.js → Button-DegBPiAl.js} +1 -1
  125. package/storybook-static/assets/{Button.stories-WOE1_ovM.js → Button.stories-Ds4zCq_9.js} +1 -1
  126. package/storybook-static/assets/{CalendarView-Co2EiQf9.js → CalendarView-iyr_ipPy.js} +1 -1
  127. package/storybook-static/assets/{CheckBox-CwJshQX2.js → CheckBox-B0zrARHA.js} +1 -1
  128. package/storybook-static/assets/{CheckBox-Dpg2QsvS.js → CheckBox-nBqHJGY9.js} +1 -1
  129. package/storybook-static/assets/{CheckBox.stories-K8wng7-q.js → CheckBox.stories-CxO9FwA7.js} +1 -1
  130. package/storybook-static/assets/Color-6AOWCN3U-Dzuzn5Yr.js +1 -0
  131. package/storybook-static/assets/{ContextMenu-DbmUWR4I.js → ContextMenu-BC5OXqVj.js} +1 -1
  132. package/storybook-static/assets/{ContextMenu-C1zzFMni.js → ContextMenu-CnZu58rQ.js} +1 -1
  133. package/storybook-static/assets/{ContextMenu.stories-D0tclMo1.js → ContextMenu.stories-CPdTdVV7.js} +1 -1
  134. package/storybook-static/assets/{DateInput-BDxg1E80.js → DateInput-B5j7kofa.js} +1 -1
  135. package/storybook-static/assets/{DateInput-DxpENevn.js → DateInput-CuYe4WXO.js} +1 -1
  136. package/storybook-static/assets/{DateInput.stories-De_AOkrK.js → DateInput.stories-C4ZaIPUG.js} +1 -1
  137. package/storybook-static/assets/{DateRangePresetSelect-CD7jNInU.js → DateRangePresetSelect-CbDK9t1J.js} +1 -1
  138. package/storybook-static/assets/{DateRangePresetSelect-CD8qu2LL.js → DateRangePresetSelect-Cg6yPY0K.js} +1 -1
  139. package/storybook-static/assets/{DateRangePresetSelect.stories-phHkk3Q1.js → DateRangePresetSelect.stories-DPWUHjXu.js} +1 -1
  140. package/storybook-static/assets/{DeprecatedMultiSelect-Bdv505U3.js → DeprecatedMultiSelect-DCReLsN-.js} +1 -1
  141. package/storybook-static/assets/{DeprecatedMultiSelect-B4VEjiTj.js → DeprecatedMultiSelect-DkGsEVRD.js} +1 -1
  142. package/storybook-static/assets/{DeprecatedMultiSelect.stories-DdPzDJjx.js → DeprecatedMultiSelect.stories-tbYFDSML.js} +1 -1
  143. package/storybook-static/assets/{Detail-BoazSWw_.js → Detail-CtVpK6xU.js} +1 -1
  144. package/storybook-static/assets/{Detail.stories-Cc9fEkdx.js → Detail.stories-zAQfXGuT.js} +1 -1
  145. package/storybook-static/assets/{Dialog-ieE9mpAU.js → Dialog-B9ltl4hS.js} +1 -1
  146. package/storybook-static/assets/{Dialog-VJ62BLtp.js → Dialog-JetMtpYt.js} +1 -1
  147. package/storybook-static/assets/{Dialog.stories-CUyAMGoD.js → Dialog.stories-tJymN3yq.js} +1 -1
  148. package/storybook-static/assets/{Disclosure-BP8VhRCA.js → Disclosure-j-RCrVFs.js} +1 -1
  149. package/storybook-static/assets/{Disclosure.stories-DwIo-o1J.js → Disclosure.stories-4Jj2XNlo.js} +1 -1
  150. package/storybook-static/assets/{DisclosureGroup-LjgDW-Z6.js → DisclosureGroup-CM7GlGI4.js} +1 -1
  151. package/storybook-static/assets/{DocsRenderer-JROSPFPF-BjRaiNDG.js → DocsRenderer-JROSPFPF-DevtpZi5.js} +1 -1
  152. package/storybook-static/assets/{DropZone-BMT4jv2L.js → DropZone-Bwo7NG5D.js} +1 -1
  153. package/storybook-static/assets/{DropZone-Dg3GZxY8.js → DropZone-CPrhOtX-.js} +1 -1
  154. package/storybook-static/assets/{DropZone.stories-szOGIPHx.js → DropZone.stories-VyNhIaxw.js} +1 -1
  155. package/storybook-static/assets/{DropdownMenu-B0EI5ePH.js → DropdownMenu-DMWZzFK1.js} +1 -1
  156. package/storybook-static/assets/{ExpandableActionPanel-D_qy2JID.js → ExpandableActionPanel-DmKB3xVB.js} +1 -1
  157. package/storybook-static/assets/{ExpandableActionPanel.stories-wdmlBDmK.js → ExpandableActionPanel.stories-Kh_OSEIl.js} +1 -1
  158. package/storybook-static/assets/Flex-BZKhuaao.js +81 -0
  159. package/storybook-static/assets/Flex.stories-CrHxjVCH.js +454 -0
  160. package/storybook-static/assets/FlexContainer-DGc37vCr.js +1 -0
  161. package/storybook-static/assets/{FlexItem-BE_4juAd.js → FlexItem-DYv72TvP.js} +2 -2
  162. package/storybook-static/assets/{FloatingPopover-DHxMCBdS.js → FloatingPopover-Bd3b1U8c.js} +1 -1
  163. package/storybook-static/assets/FloatingWindows-C2FJO6ij.css +1 -0
  164. package/storybook-static/assets/FloatingWindows.stories-Cs_i092m.js +13 -0
  165. package/storybook-static/assets/FormattedTableCell-CdlWquoj.js +15 -0
  166. package/storybook-static/assets/Grid-DIKudfVu.js +84 -0
  167. package/storybook-static/assets/{Grid-0NnWfTJ7.js → Grid-DUcSdqsI.js} +2 -2
  168. package/storybook-static/assets/Grid.stories-sZUaIp7v.js +657 -0
  169. package/storybook-static/assets/{GridContainer-BHSfIiml.js → GridContainer-C5r-VTTG.js} +2 -2
  170. package/storybook-static/assets/GridContainer-DgBuOs_1.css +1 -0
  171. package/storybook-static/assets/{ImageCropper.stories-Cf5ogf7p.js → ImageCropper.stories-Bk3SF90a.js} +1 -1
  172. package/storybook-static/assets/{ImageRenderer-CsN1-IP6.js → ImageRenderer-CM-YetP0.js} +1 -1
  173. package/storybook-static/assets/{ImageRenderer.stories-DIC-UR-l.js → ImageRenderer.stories-CMqKyVuX.js} +1 -1
  174. package/storybook-static/assets/{ImageView.stories-DT6QZR-1.js → ImageView.stories-9IjWDUev.js} +1 -1
  175. package/storybook-static/assets/{ImageViewer.stories-DxpCKbpk.js → ImageViewer.stories-D-Zzvzh3.js} +2 -2
  176. package/storybook-static/assets/{ImageViewerRuntime-COhNh4_y.js → ImageViewerRuntime-BRWmVnG3.js} +1 -1
  177. package/storybook-static/assets/{Input-BJ3sPHt1.js → Input-BaEhNNL0.js} +1 -1
  178. package/storybook-static/assets/{Input-D2eqioLp.js → Input-YuUUu0DD.js} +1 -1
  179. package/storybook-static/assets/{Input.stories-MtAx6H2F.js → Input.stories-CoJY4vR8.js} +1 -1
  180. package/storybook-static/assets/{InputDateTime-CNNqhoo6.js → InputDateTime-CPlDTMTI.js} +1 -1
  181. package/storybook-static/assets/{InputDateTime.stories-DT3CvxRy.js → InputDateTime.stories-DaOA4pFM.js} +1 -1
  182. package/storybook-static/assets/{InputFile-RfdomZEH.js → InputFile-7PMO3B4Q.js} +1 -1
  183. package/storybook-static/assets/{InputFile-DiI_0QV5.js → InputFile-D2HPvbt_.js} +1 -1
  184. package/storybook-static/assets/{InputFile.stories-CiqGBnkS.js → InputFile.stories-CD4sJtXF.js} +1 -1
  185. package/storybook-static/assets/{InputFiles-CBrPDNlV.js → InputFiles-DSOs_hpc.js} +1 -1
  186. package/storybook-static/assets/{InputFiles-CgyVXpI1.js → InputFiles-DwgBtqPe.js} +1 -1
  187. package/storybook-static/assets/{InputFiles.stories-QHNxJjiV.js → InputFiles.stories-B2zPOUXW.js} +1 -1
  188. package/storybook-static/assets/{InputFilesList-BEIBTAEK.js → InputFilesList-DWtH6HFC.js} +1 -1
  189. package/storybook-static/assets/{InputImage-BBJr8TWl.js → InputImage-Cke0I8XV.js} +1 -1
  190. package/storybook-static/assets/{InputImage-vXbhnE46.js → InputImage-CnTU-bKF.js} +1 -1
  191. package/storybook-static/assets/{InputImage.stories-VoVU0QZB.js → InputImage.stories-CadyFqUh.js} +1 -1
  192. package/storybook-static/assets/{InteractiveComponents-CjkX3vU6.js → InteractiveComponents-cNgymLXT.js} +1 -1
  193. package/storybook-static/assets/{InteractiveComponents.stories-Gc_Ju4xJ.js → InteractiveComponents.stories-c5kIdj-d.js} +1 -1
  194. package/storybook-static/assets/{LayoutPicker-DwpDr_Is.js → LayoutPicker-BydBdeCh.js} +1 -1
  195. package/storybook-static/assets/{LayoutPicker-ONnrtLDR.js → LayoutPicker-u5tv4tmF.js} +1 -1
  196. package/storybook-static/assets/{LayoutPicker.stories-B-HIq6DD.js → LayoutPicker.stories-ZcTgJxX5.js} +1 -1
  197. package/storybook-static/assets/{Listbox-XIi0yHgl.js → Listbox-CaBDvhDA.js} +1 -1
  198. package/storybook-static/assets/{Listbox-DoF5nZIP.js → Listbox-CzmfAAEG.js} +1 -1
  199. package/storybook-static/assets/{Listbox.stories-DT8FJQ3z.js → Listbox.stories-B_tFWmxp.js} +1 -1
  200. package/storybook-static/assets/{Modal-C3F4r2UA.js → Modal-CIptTLdh.js} +1 -1
  201. package/storybook-static/assets/{Modal-Ml7EuSvu.js → Modal-DIJuHLSp.js} +1 -1
  202. package/storybook-static/assets/{Modal.stories-DRwnYxst.js → Modal.stories-BAh1Lzf0.js} +1 -1
  203. package/storybook-static/assets/{ModalManagerProvider-CmqdB_ni.js → ModalManagerProvider-DH2lt3jw.js} +1 -1
  204. package/storybook-static/assets/{MultiSelect-CAg-L0dM.js → MultiSelect-CbcU2Cam.js} +1 -1
  205. package/storybook-static/assets/{MultiSelect-B1QokJ3C.js → MultiSelect-OPkS-VFp.js} +1 -1
  206. package/storybook-static/assets/{MultiSelect.stories-Dfh2Lp0N.js → MultiSelect.stories-jghnBwe0.js} +1 -1
  207. package/storybook-static/assets/{MultiSelectCore-GRGtCBO1.js → MultiSelectCore-AgK9lN-8.js} +1 -1
  208. package/storybook-static/assets/{NoData-BZhNhaYV.js → NoData-CRi9NzcI.js} +1 -1
  209. package/storybook-static/assets/{NotificationsHost-BUPLrDM3.js → NotificationsHost-C8sCDEzY.js} +9 -9
  210. package/storybook-static/assets/{NotificationsHost.stories-CKbR-_nq.js → NotificationsHost.stories-BxpWtMHl.js} +1 -1
  211. package/storybook-static/assets/{ODataMultiSelect-CDW0B1az.js → ODataMultiSelect-Cjptiw3k.js} +1 -1
  212. package/storybook-static/assets/{ODataMultiSelect.stories-BbKrxs7t.js → ODataMultiSelect.stories-B-tBcHkU.js} +2 -2
  213. package/storybook-static/assets/{ODataSelect-C5G0dCnn.js → ODataSelect-BdVlf2WW.js} +1 -1
  214. package/storybook-static/assets/{ODataSelect.stories-DcX50cyD.js → ODataSelect.stories-DZv8DgW4.js} +2 -2
  215. package/storybook-static/assets/{ODataTreeMultiSelect-4mTjhnlJ.js → ODataTreeMultiSelect-B83uLKnT.js} +1 -1
  216. package/storybook-static/assets/{ODataTreeMultiSelect.stories-B-4UUg5l.js → ODataTreeMultiSelect.stories-k92VjXYz.js} +1 -1
  217. package/storybook-static/assets/{ODataTreeSelect-D-wcx2OH.js → ODataTreeSelect-CkZeBBoA.js} +1 -1
  218. package/storybook-static/assets/{ODataTreeSelect.stories-uB_sG4ga.js → ODataTreeSelect.stories-COweaWEr.js} +1 -1
  219. package/storybook-static/assets/{OneStepScroller-DQI5POnJ.js → OneStepScroller-dD9RSWvg.js} +1 -1
  220. package/storybook-static/assets/{Option-CrEWqsFF.js → Option-lTkoUcHa.js} +1 -1
  221. package/storybook-static/assets/{OptionButton-BEQ2oSPf.js → OptionButton-Bt6YtqRZ.js} +1 -1
  222. package/storybook-static/assets/{OptionContent-C8S7IjI3.js → OptionContent-C7Zoef1L.js} +1 -1
  223. package/storybook-static/assets/{OptionContentContainer-ljQts_jY.js → OptionContentContainer-xpO-es_t.js} +1 -1
  224. package/storybook-static/assets/{PeriodSelect-DuqatGdk.js → PeriodSelect-CmGjITS0.js} +1 -1
  225. package/storybook-static/assets/{PeriodSelect-BTdDU06N.js → PeriodSelect-DkGZmPFu.js} +1 -1
  226. package/storybook-static/assets/{PeriodSelect.stories-CX4DSFJG.js → PeriodSelect.stories-BxkZen1s.js} +1 -1
  227. package/storybook-static/assets/{PickerField-Cgcm-Y5T.js → PickerField-vwGcXNU3.js} +1 -1
  228. package/storybook-static/assets/{PickerTriggerActions-DWe2uX0K.js → PickerTriggerActions-BVO2pwu2.js} +1 -1
  229. package/storybook-static/assets/{Popover-C55I0GTn.js → Popover-DU0wD6MT.js} +1 -1
  230. package/storybook-static/assets/{Popover-0QfSvwRS.js → Popover-PRWJVARx.js} +1 -1
  231. package/storybook-static/assets/{Popover.stories-Bgjomdgb.js → Popover.stories-CXKDCIfT.js} +1 -1
  232. package/storybook-static/assets/{PresetRangeDateInput-C-vQa5BZ.js → PresetRangeDateInput-B1oR9Z-A.js} +1 -1
  233. package/storybook-static/assets/{PresetRangeDateInput-Cai5fvRb.js → PresetRangeDateInput-DUcxF5lh.js} +1 -1
  234. package/storybook-static/assets/{PresetRangeDateInput.stories-CWtIukRG.js → PresetRangeDateInput.stories-CAPHV6_P.js} +1 -1
  235. package/storybook-static/assets/{PresetSelect-HqtmoRLb.js → PresetSelect-Hrow5Qbz.js} +1 -1
  236. package/storybook-static/assets/{README-DfVaZ9rz.js → README-AWtoYOeO.js} +1 -1
  237. package/storybook-static/assets/{README-CxsbsDff.js → README-BB_tSzAG.js} +1 -1
  238. package/storybook-static/assets/{README-QWeHqOh2.js → README-BCBBtU0T.js} +1 -1
  239. package/storybook-static/assets/{README-BFjx8Jxa.js → README-BCXjh3I1.js} +1 -1
  240. package/storybook-static/assets/{README-CxMmicr4.js → README-BDdhvdKa.js} +1 -1
  241. package/storybook-static/assets/{README-UC0a4Wh9.js → README-BEUQd7JO.js} +1 -1
  242. package/storybook-static/assets/{README-BEypAdTE.js → README-BIHT1kGT.js} +1 -1
  243. package/storybook-static/assets/{README-CdnQbIDn.js → README-BJXCE3us.js} +1 -1
  244. package/storybook-static/assets/{README-B5wBU6mA.js → README-BLog3wnj.js} +1 -1
  245. package/storybook-static/assets/{README-C2xdMez4.js → README-BPOSX1IH.js} +1 -1
  246. package/storybook-static/assets/{README-DUShQLyj.js → README-BwSjP1rm.js} +1 -1
  247. package/storybook-static/assets/{README-BzIE9gSk.js → README-C8-H1dVZ.js} +1 -1
  248. package/storybook-static/assets/{README-CxEn3Q3j.js → README-CDYORt73.js} +1 -1
  249. package/storybook-static/assets/{README-DitsKP8x.js → README-CDq7upsw.js} +1 -1
  250. package/storybook-static/assets/{README-eRuOqnaA.js → README-CF5B-uBm.js} +1 -1
  251. package/storybook-static/assets/{README-DF3qw7Jo.js → README-CF79JAmm.js} +1 -1
  252. package/storybook-static/assets/{README-Bk6x-7we.js → README-CGalXaw7.js} +1 -1
  253. package/storybook-static/assets/{README-RGQ7HMZR.js → README-CHgqsGMV.js} +1 -1
  254. package/storybook-static/assets/{README-B5Lc1yT4.js → README-COzEPNJ8.js} +1 -1
  255. package/storybook-static/assets/{README-ClH6EKpO.js → README-CRfg4Opx.js} +1 -1
  256. package/storybook-static/assets/{README-C6ryhIOV.js → README-CRk_ElRL.js} +1 -1
  257. package/storybook-static/assets/{README-SafL9Bz5.js → README-CTbRRHIT.js} +1 -1
  258. package/storybook-static/assets/{README-2lBx3R6g.js → README-C_hI3IVn.js} +1 -1
  259. package/storybook-static/assets/{README-DycS0KDV.js → README-CbCzYjzO.js} +1 -1
  260. package/storybook-static/assets/{README-mxJzt2Xo.js → README-Cb_U_ZYK.js} +1 -1
  261. package/storybook-static/assets/{README-B8RrtmaZ.js → README-CdDd6nD8.js} +1 -1
  262. package/storybook-static/assets/{README-BqMpFJKP.js → README-Cu3r4RYC.js} +1 -1
  263. package/storybook-static/assets/{README-DFGUcAOx.js → README-CxBqJjI3.js} +1 -1
  264. package/storybook-static/assets/{README-QZrJnhYv.js → README-D0EguYwa.js} +1 -1
  265. package/storybook-static/assets/{README-Brd9di5k.js → README-DA8e0atn.js} +1 -1
  266. package/storybook-static/assets/{README-DAozVWEl.js → README-DUVORqie.js} +1 -1
  267. package/storybook-static/assets/{README-Dk7syFq-.js → README-DYjyXvbd.js} +1 -1
  268. package/storybook-static/assets/{README-C1BajdmC.js → README-D_iA9J4Q.js} +1 -1
  269. package/storybook-static/assets/{README-BHrzFd3i.js → README-De02nG6s.js} +1 -1
  270. package/storybook-static/assets/{README-C702dbsS.js → README-DjM1av8U.js} +1 -1
  271. package/storybook-static/assets/{README-BUKlvu1v.js → README-DmT1wyUb.js} +1 -1
  272. package/storybook-static/assets/{README-B41_J33v.js → README-DnpmMCNN.js} +1 -1
  273. package/storybook-static/assets/{README-B1IMnjhg.js → README-FJ4JNfan.js} +1 -1
  274. package/storybook-static/assets/{README-C8oftQ5c.js → README-JqCoy91R.js} +1 -1
  275. package/storybook-static/assets/{README-BNLmyDfy.js → README-JrppLPED.js} +1 -1
  276. package/storybook-static/assets/{README-_K214jGV.js → README-MUzkojYd.js} +1 -1
  277. package/storybook-static/assets/{README-DlBBM40-.js → README-O1ww7U1S.js} +1 -1
  278. package/storybook-static/assets/{README-BRJHDPaP.js → README-SkcZXYo1.js} +1 -1
  279. package/storybook-static/assets/{README-CdMmAh_G.js → README-UfCsOg0n.js} +1 -1
  280. package/storybook-static/assets/{README-DBpH2nf1.js → README-Xu3cmYZg.js} +1 -1
  281. package/storybook-static/assets/{README-BkFTTVE2.js → README-bcnh89ek.js} +1 -1
  282. package/storybook-static/assets/{README-Bl1rJEQE.js → README-ctVjdbq7.js} +1 -1
  283. package/storybook-static/assets/{README-CUUPvXQd.js → README-diVWU6bQ.js} +1 -1
  284. package/storybook-static/assets/{README-kvlO41U2.js → README-f5UPnPkY.js} +1 -1
  285. package/storybook-static/assets/{README-BTk3TSh8.js → README-mq6pyk4G.js} +1 -1
  286. package/storybook-static/assets/{README-BhvWyeL_.js → README-o-a96Aib.js} +1 -1
  287. package/storybook-static/assets/{README-BgbNoj4_.js → README-w3_FegOo.js} +1 -1
  288. package/storybook-static/assets/{README-CM5yZ6jf.js → README-zelg96nd.js} +1 -1
  289. package/storybook-static/assets/{RadioButton-BKsBk3--.js → RadioButton-BztQMLNR.js} +1 -1
  290. package/storybook-static/assets/{RadioButton-CsM-RT0A.js → RadioButton-DUOPHyRt.js} +1 -1
  291. package/storybook-static/assets/{RadioButton.stories-D5PGiHj5.js → RadioButton.stories-BOE5cGej.js} +1 -1
  292. package/storybook-static/assets/{RadioGroup-B3bLu8Qg.js → RadioGroup-CDqbnv4J.js} +1 -1
  293. package/storybook-static/assets/{RadioGroup-BZY_jeje.js → RadioGroup-QICEWbjz.js} +1 -1
  294. package/storybook-static/assets/{RadioGroup.stories-DMfcZFp0.js → RadioGroup.stories-f2qU7hhM.js} +1 -1
  295. package/storybook-static/assets/ResponsiveLayoutPreview-BWBLsr8u.js +1 -0
  296. package/storybook-static/assets/ResponsiveLayoutPreview-CyXawjCA.css +1 -0
  297. package/storybook-static/assets/{Scrollable-DdXQmkMU.js → Scrollable-CAnjXb6_.js} +1 -1
  298. package/storybook-static/assets/{Scrollable-DLyQwImF.js → Scrollable-Cc641kuG.js} +1 -1
  299. package/storybook-static/assets/{Scrollable.stories-Du5joHAp.js → Scrollable.stories-ZQT-1f1f.js} +1 -1
  300. package/storybook-static/assets/{Select-CT_wwcDN.js → Select-BeoH_3V4.js} +1 -1
  301. package/storybook-static/assets/{Select-8PYQeQRR.js → Select-D6RLm9D5.js} +1 -1
  302. package/storybook-static/assets/{Select.stories-DIqia2Hb.js → Select.stories-DI6pVDzi.js} +1 -1
  303. package/storybook-static/assets/{Separator-DJ93-Cvq.js → Separator-De9vEg4j.js} +1 -1
  304. package/storybook-static/assets/{Separator-CelBAATq.js → Separator-tkZoR8Ft.js} +1 -1
  305. package/storybook-static/assets/{Separator.stories-DBEDpiqL.js → Separator.stories-CGZrsdLJ.js} +1 -1
  306. package/storybook-static/assets/{SerializableSelect-C-00d6wC.js → SerializableSelect-BWgkYLIe.js} +1 -1
  307. package/storybook-static/assets/{SerializableSelect.stories-CP7fJBNa.js → SerializableSelect.stories-BfGg_SmN.js} +1 -1
  308. package/storybook-static/assets/{ShimmerText-qA7CslLE.js → ShimmerText-D1ygdKrh.js} +1 -1
  309. package/storybook-static/assets/{ShimmerText.stories-CiGIbhCm.js → ShimmerText.stories-D5AB85Hj.js} +1 -1
  310. package/storybook-static/assets/{SingleDateTimeInput-B7tnYWQl.js → SingleDateTimeInput-Bf2RpSbC.js} +1 -1
  311. package/storybook-static/assets/{SingleDateTimeInput-DJ2vRS9H.js → SingleDateTimeInput-C2O-fXgE.js} +1 -1
  312. package/storybook-static/assets/{SingleDateTimeInput.stories-BK59HKLf.js → SingleDateTimeInput.stories-BUbSA1UY.js} +1 -1
  313. package/storybook-static/assets/{Slider-Cm6kd77G.js → Slider-BhfM7XZ9.js} +1 -1
  314. package/storybook-static/assets/{Slider-CXcIxUE3.js → Slider-CVPKS3XB.js} +1 -1
  315. package/storybook-static/assets/{Slider.stories-BuhFWvUX.js → Slider.stories-C6ZUJc4b.js} +1 -1
  316. package/storybook-static/assets/{SliderInput-DI2h4X8P.js → SliderInput-MMUGLDDl.js} +1 -1
  317. package/storybook-static/assets/{SliderInput-DpmYS5Zb.js → SliderInput-PwHeDeo2.js} +1 -1
  318. package/storybook-static/assets/{SliderInput.stories-CLdLS0_8.js → SliderInput.stories-zBDRonPh.js} +1 -1
  319. package/storybook-static/assets/{Sortable-CpjAZLxn.js → Sortable-BKNLJGIe.js} +1 -1
  320. package/storybook-static/assets/{Sortable.stories-Ck2MHBoR.js → Sortable.stories-CLY263mj.js} +1 -1
  321. package/storybook-static/assets/{Splitter-Cpk_5dTf.js → Splitter-PyZco_V_.js} +1 -1
  322. package/storybook-static/assets/{Splitter.stories-BIf9NNWq.js → Splitter.stories-CY3Itq_G.js} +1 -1
  323. package/storybook-static/assets/{StateSelect-BznE9WIu.js → StateSelect-BlEIRWer.js} +1 -1
  324. package/storybook-static/assets/{StateSelect-C5tnrhWT.js → StateSelect-DfUif3cG.js} +1 -1
  325. package/storybook-static/assets/{StateSelect.stories-DLvSnAcF.js → StateSelect.stories-ClSYkdz8.js} +1 -1
  326. package/storybook-static/assets/{StatusIndicator-vJAPPq2m.js → StatusIndicator-CL-WMBHT.js} +1 -1
  327. package/storybook-static/assets/{StatusIndicator.stories-B7PGK2_C.js → StatusIndicator.stories-BbpEocDe.js} +1 -1
  328. package/storybook-static/assets/{StringToggle.stories-DBpxJZL-.js → StringToggle.stories-0r9TfflS.js} +1 -1
  329. package/storybook-static/assets/{Switch-BkTvYjyQ.js → Switch-AoVSoc9P.js} +1 -1
  330. package/storybook-static/assets/{Switch-DlRrk6o7.js → Switch-HAWn3D1c.js} +1 -1
  331. package/storybook-static/assets/{Switch.stories-BtctkC2W.js → Switch.stories-D1VJIWsC.js} +1 -1
  332. package/storybook-static/assets/{Table-xOdM6spm.js → Table-CyX8frK4.js} +1 -1
  333. package/storybook-static/assets/Table.stories-DoGpFMZB.js +184 -0
  334. package/storybook-static/assets/{TableEditor.stories-GU46gl20.js → TableEditor.stories-Mh6q2awx.js} +1 -1
  335. package/storybook-static/assets/{Tabs-Cg_IYAXs.js → Tabs-BZfNXmy0.js} +1 -1
  336. package/storybook-static/assets/{Tabs.stories-2cS0B94o.js → Tabs.stories-C9L4pJDb.js} +1 -1
  337. package/storybook-static/assets/{TabsBox-Dz3AsaoR.js → TabsBox-qRCIBtqi.js} +1 -1
  338. package/storybook-static/assets/{TagInput-CCTgbRhQ.js → TagInput-CPB6lb2J.js} +1 -1
  339. package/storybook-static/assets/{TagInput.stories-CevhCeXY.js → TagInput.stories-CT6B8CVV.js} +1 -1
  340. package/storybook-static/assets/{Text-CDCeYwIB.js → Text-AbSWZQO3.js} +1 -1
  341. package/storybook-static/assets/{Textarea-CNsrFSip.js → Textarea-BY51Li7J.js} +1 -1
  342. package/storybook-static/assets/{Textarea-Ba4MyNoY.js → Textarea-Bz9O1y1I.js} +1 -1
  343. package/storybook-static/assets/{Textarea.stories-laVFWVXL.js → Textarea.stories-CJbv3jrK.js} +1 -1
  344. package/storybook-static/assets/{TimePanel-Ddy67nzH.js → TimePanel-Wn5lUiwx.js} +1 -1
  345. package/storybook-static/assets/{TimePanel.stories-OLefy0XD.js → TimePanel.stories-dF5kTdp1.js} +1 -1
  346. package/storybook-static/assets/{Toggle-BGbyfmSW.js → Toggle-BpDn9f6k.js} +1 -1
  347. package/storybook-static/assets/{Toggle-BlCBtQd1.js → Toggle-CUO99pvo.js} +1 -1
  348. package/storybook-static/assets/{Toggle.stories-BjeTDL90.js → Toggle.stories-T1Hk_etn.js} +1 -1
  349. package/storybook-static/assets/{TreeMultiSelect-ZVSLdnCU.js → TreeMultiSelect-DEsECkRj.js} +1 -1
  350. package/storybook-static/assets/{TreeMultiSelect-BJnAzsFO.js → TreeMultiSelect-bqQExCm8.js} +1 -1
  351. package/storybook-static/assets/{TreeMultiSelect.stories-BJOtdIDe.js → TreeMultiSelect.stories-DyK7bWZu.js} +1 -1
  352. package/storybook-static/assets/{TreePickerBase-BQKfhufH.js → TreePickerBase-BCbV37dL.js} +1 -1
  353. package/storybook-static/assets/{TreeSelect-BSr4FMlq.js → TreeSelect-CTvlmF81.js} +1 -1
  354. package/storybook-static/assets/{TreeSelect-DSHQjGD1.js → TreeSelect-Cepr58wS.js} +1 -1
  355. package/storybook-static/assets/{TreeSelect.stories-GRcEv-kN.js → TreeSelect.stories-RVPMBCd_.js} +1 -1
  356. package/storybook-static/assets/{TreeTable-CzmxD2ee.js → TreeTable-DznOmuAD.js} +1 -1
  357. package/storybook-static/assets/TreeTable.stories-Lx2ImfgC.js +138 -0
  358. package/storybook-static/assets/blocks-u0CCD6I1.js +287 -0
  359. package/storybook-static/assets/{check-BYM7OgKl.js → check-CHvYWZD5.js} +1 -1
  360. package/storybook-static/assets/{chevron-down-Mu7usNfR.js → chevron-down-DqHAghNU.js} +1 -1
  361. package/storybook-static/assets/{chevron-left-CiOR-CGA.js → chevron-left-Bj7vIyg-.js} +1 -1
  362. package/storybook-static/assets/{chevron-right-5Rrk5UhO.js → chevron-right-BUqG0v39.js} +1 -1
  363. package/storybook-static/assets/{chunk-W22LQPXL-Cj8Y9DHq.js → chunk-W22LQPXL-BSczDjJT.js} +1 -1
  364. package/storybook-static/assets/{circle-alert-BXB7LSDS.js → circle-alert-DXUFM6uc.js} +1 -1
  365. package/storybook-static/assets/{circle-check-DrVuYn1Q.js → circle-check-0x9vHUU_.js} +1 -1
  366. package/storybook-static/assets/{contextMenu-BaB_e0Tl.js → contextMenu-D8PjjiwD.js} +1 -1
  367. package/storybook-static/assets/{download-W-Vr_TI7.js → download-15Eb3eUj.js} +1 -1
  368. package/storybook-static/assets/{floating-ui.react-BTEwHffF.js → floating-ui.react-CypKyrM4.js} +1 -1
  369. package/storybook-static/assets/{foundationApi-BcoJ1zeX.js → foundationApi-dmPNotab.js} +1 -1
  370. package/storybook-static/assets/{foundationLib-B2kQ07LT.js → foundationLib-CyrgF87o.js} +1 -1
  371. package/storybook-static/assets/getFlexClasses-BBvI2V8h.css +1 -0
  372. package/storybook-static/assets/getFlexClasses-DOf6NlyJ.js +1 -0
  373. package/storybook-static/assets/{hooks-BgMXxXbY.js → hooks-DM8_3IU2.js} +1 -1
  374. package/storybook-static/assets/{iframe-CU98mtpe.js → iframe-BmGorvhi.js} +4 -4
  375. package/storybook-static/assets/iframe-WuXBbC_P.js +1 -0
  376. package/storybook-static/assets/{info-BhHmytIH.js → info-HMSnCOw2.js} +1 -1
  377. package/storybook-static/assets/isRecord-DXDTW-jA-DtM9YD3V.js +1 -0
  378. package/storybook-static/assets/odata-DLogt0PY.js +1 -0
  379. package/storybook-static/assets/{odataStoryFixtures-CnZ_YrUb.js → odataStoryFixtures-DiC-gXoK.js} +1 -1
  380. package/storybook-static/assets/{react-C2mSveWL.js → react-BLxZ0fqY.js} +1 -1
  381. package/storybook-static/assets/{refresh-cw-D8_L8K4Y.js → refresh-cw-Obk3FkLO.js} +1 -1
  382. package/storybook-static/assets/responsiveLayout-B9XAp69M.js +1 -0
  383. package/storybook-static/assets/{settings-2-jWGaWGT0.js → settings-2-BQ2LYeiA.js} +1 -1
  384. package/storybook-static/assets/{sortable-BteEe6X0.js → sortable-BrLDYUp8.js} +1 -1
  385. package/storybook-static/assets/{syntaxhighlighter-QEQV7K2Y-eEu1MRSg.js → syntaxhighlighter-QEQV7K2Y-JUCJEf5U.js} +1 -1
  386. package/storybook-static/assets/{trash-2-CwmbYA8i.js → trash-2-CzXfDl_F.js} +1 -1
  387. package/storybook-static/assets/{triangle-alert-TRLt6Woa.js → triangle-alert-Ww2Tuzxk.js} +1 -1
  388. package/storybook-static/assets/{useODataSelectBase-BxHmAh7D.js → useODataSelectBase-DIZSERuU.js} +1 -1
  389. package/storybook-static/assets/useODataTreeData-DLgIiNMG.js +1 -0
  390. package/storybook-static/assets/{usePickerQuery-ByBt1NRd.js → usePickerQuery-BZ1Hrn2J.js} +1 -1
  391. package/storybook-static/assets/{usePickerTriggerController-CqdXiV2q.js → usePickerTriggerController-BIarg6M4.js} +1 -1
  392. package/storybook-static/assets/{x-BPRzfyys.js → x-BmlmEU-a.js} +1 -1
  393. package/storybook-static/iframe.html +2 -2
  394. package/storybook-static/index.json +1 -1
  395. package/storybook-static/project.json +1 -1
  396. package/dist/chunks/flex-D86M_h-0.js +0 -222
  397. package/dist/chunks/flex-D86M_h-0.js.map +0 -1
  398. package/dist/chunks/grid-CFuzBigM.js +0 -186
  399. package/dist/chunks/grid-CFuzBigM.js.map +0 -1
  400. package/dist/flex/useFlexClasses.d.ts +0 -8
  401. package/dist/flex/useFlexClasses.d.ts.map +0 -1
  402. package/dist/grid/useGridClasses.d.ts +0 -10
  403. package/dist/grid/useGridClasses.d.ts.map +0 -1
  404. package/storybook-static/assets/Color-6AOWCN3U-D-64SqRn.js +0 -1
  405. package/storybook-static/assets/Flex-DYXuexPG.js +0 -61
  406. package/storybook-static/assets/Flex.stories-DH1BReS-.js +0 -300
  407. package/storybook-static/assets/FlexContainer-DO3X5f_1.js +0 -1
  408. package/storybook-static/assets/FormattedTableCell-BfEiCYOi.js +0 -15
  409. package/storybook-static/assets/Grid-ChS0GzNg.js +0 -61
  410. package/storybook-static/assets/Grid.stories-ClZzgSfZ.js +0 -495
  411. package/storybook-static/assets/GridContainer-K9R_IHaw.css +0 -1
  412. package/storybook-static/assets/Table.stories-FORIU5CX.js +0 -184
  413. package/storybook-static/assets/TreeTable.stories-35ufhVh1.js +0 -138
  414. package/storybook-static/assets/blocks-SX-KK9Lg.js +0 -48
  415. package/storybook-static/assets/components-BEDJAYMp.js +0 -241
  416. package/storybook-static/assets/iframe-DaZCH1M-.js +0 -1
  417. package/storybook-static/assets/media-D9cE2tzi.js +0 -1
  418. package/storybook-static/assets/odata-yWIAioh9.js +0 -1
  419. package/storybook-static/assets/useFlexClasses-IXK2se1Y.css +0 -1
  420. package/storybook-static/assets/useFlexClasses-SgVG37Bb.js +0 -1
  421. package/storybook-static/assets/useODataTreeData-dSt1HJsq.js +0 -1
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CU98mtpe.js";import{n,t as r}from"./createControlledStoryRender-BouhvX-R.js";import{n as i,t as a}from"./TimePanel-Ddy67nzH.js";var o,s,c,l,u,d,f;function p(){return(p=e((()=>{n(),i(),o=t(),{fn:s}=__STORYBOOK_MODULE_TEST__,c={title:`UI/Internal/DateTime/TimePanel`,component:a,args:{value:new Date(2026,2,10,12,30,0,0),onChange:s(),disabled:!1,mode:`date-time`},parameters:{atomicCanvas:!0,layout:`centered`},argTypes:{value:{description:`Текущая дата, из которой панель берёт календарный день и время.`,control:!1},disabled:{description:`Блокирует оба wheel-picker-а.`,control:`boolean`},minDate:{description:`Нижняя граница доступного времени для выбранного дня.`,control:`date`},maxDate:{description:`Верхняя граница доступного времени для выбранного дня.`,control:`date`},mode:{description:`Режим вычисления доступного времени.`,control:`inline-radio`,options:[`date-time`,`time`]},onChange:{description:`Вызывается с выбранными часами и минутами.`,control:!1}}},l=r((e,t)=>{let n=e.value;return(0,o.jsx)(`div`,{style:{width:320,minHeight:280},children:(0,o.jsx)(a,{...e,value:n,onChange:(r,i)=>{e.onChange(r,i),t({value:new Date(n.getFullYear(),n.getMonth(),n.getDate(),r,i,0,0)})}})})}),u={render:l},d={render:l,args:{value:new Date(2026,2,10,9,30,0,0),minDate:new Date(2026,2,10,9,15,0,0),maxDate:new Date(2026,2,10,18,30,0,0)}},u.parameters={...u.parameters,docs:{...u.parameters?.docs,source:{originalSource:`{
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-BmGorvhi.js";import{n,t as r}from"./createControlledStoryRender-BouhvX-R.js";import{n as i,t as a}from"./TimePanel-Wn5lUiwx.js";var o,s,c,l,u,d,f;function p(){return(p=e((()=>{n(),i(),o=t(),{fn:s}=__STORYBOOK_MODULE_TEST__,c={title:`UI/Internal/DateTime/TimePanel`,component:a,args:{value:new Date(2026,2,10,12,30,0,0),onChange:s(),disabled:!1,mode:`date-time`},parameters:{atomicCanvas:!0,layout:`centered`},argTypes:{value:{description:`Текущая дата, из которой панель берёт календарный день и время.`,control:!1},disabled:{description:`Блокирует оба wheel-picker-а.`,control:`boolean`},minDate:{description:`Нижняя граница доступного времени для выбранного дня.`,control:`date`},maxDate:{description:`Верхняя граница доступного времени для выбранного дня.`,control:`date`},mode:{description:`Режим вычисления доступного времени.`,control:`inline-radio`,options:[`date-time`,`time`]},onChange:{description:`Вызывается с выбранными часами и минутами.`,control:!1}}},l=r((e,t)=>{let n=e.value;return(0,o.jsx)(`div`,{style:{width:320,minHeight:280},children:(0,o.jsx)(a,{...e,value:n,onChange:(r,i)=>{e.onChange(r,i),t({value:new Date(n.getFullYear(),n.getMonth(),n.getDate(),r,i,0,0)})}})})}),u={render:l},d={render:l,args:{value:new Date(2026,2,10,9,30,0,0),minDate:new Date(2026,2,10,9,15,0,0),maxDate:new Date(2026,2,10,18,30,0,0)}},u.parameters={...u.parameters,docs:{...u.parameters?.docs,source:{originalSource:`{
2
2
  render: renderTimePanelStory
3
3
  }`,...u.parameters?.docs?.source},description:{story:`Демонстрирует базовую wheel-панель времени.`,...u.parameters?.docs?.description}}},d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
4
4
  render: renderTimePanelStory,
@@ -1 +1 @@
1
- import{a as e,n as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r}from"./iframe-CU98mtpe.js";import{a as i,i as a}from"./utils-tg3ibbzi.js";import{n as o,t as s}from"./ui.module-l7VCYIW-.js";var c,l,u,d,f,p,m,h,g;function _(){return(_=t((()=>{c=`FFyoOs`,l=`zPYy7T`,u=`j6ek6R`,d=`HFTPXI`,f=`_0RK4xF`,p=`kDPnKt`,m=`DQHqws`,h=`nCQ9v4`,g={row:c,wrapper:l,input:u,track:d,thumb:f,unchecked:p,checked:m,option:h}})))()}function v({label:e,description:t,placeholder:n,disabled:r,size:a,className:s,onChange:c,value:l,id:u,checkedText:d=`ВКЛ`,uncheckedText:f=`ВЫКЛ`,labelPosition:p=`before`,...m}){let h=(0,y.useId)(),_=u??h,v=t?`${_}-description`:void 0,x=e??n,S=!!l,C=!x&&!m[`aria-label`]?`${f} / ${d}`:void 0,w=x?(0,b.jsx)(`label`,{htmlFor:_,className:o.uiLabel,children:x}):null;return(0,b.jsxs)(`div`,{className:i(o.uiElement,r&&o.disabled,a&&o.uiSizable,a&&o[a],s),"aria-disabled":r||void 0,children:[(0,b.jsxs)(`div`,{className:g.row,children:[p===`before`&&w,(0,b.jsxs)(`div`,{className:g.wrapper,children:[(0,b.jsx)(`input`,{...m,id:_,type:`checkbox`,role:`switch`,checked:S,disabled:r,"aria-checked":S,"aria-describedby":v,"aria-label":C,className:i(o.uiInputControl,g.input),onChange:e=>c?.(e.currentTarget.checked)}),(0,b.jsxs)(`div`,{className:g.track,"data-disabled":r||void 0,"aria-hidden":`true`,children:[(0,b.jsx)(`div`,{className:g.thumb}),(0,b.jsx)(`div`,{className:i(g.option,g.unchecked),children:f}),(0,b.jsx)(`div`,{className:i(g.option,g.checked),children:d})]})]}),p===`after`&&w]}),t&&(0,b.jsx)(`p`,{id:v,className:o.uiDescription,children:t})]})}var y,b;function x(){return(x=t((()=>{y=e(n(),1),a(),s(),_(),b=r(),v.__docgenInfo={description:`Переключаемая кнопка с сохранением активного состояния. Используется для локального выбора режима, фильтра или форматирования.`,methods:[],displayName:`Toggle`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},checkedText:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"ВКЛ"`,computed:!1}},uncheckedText:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"ВЫКЛ"`,computed:!1}},labelPosition:{required:!1,tsType:{name:`union`,raw:`"before" | "after"`,elements:[{name:`literal`,value:`"before"`},{name:`literal`,value:`"after"`}]},description:``,defaultValue:{value:`"before"`,computed:!1}}},composes:[`Omit`]}})))()}export{x as n,v as t};
1
+ import{a as e,n as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r}from"./iframe-BmGorvhi.js";import{a as i,i as a}from"./utils-tg3ibbzi.js";import{n as o,t as s}from"./ui.module-l7VCYIW-.js";var c,l,u,d,f,p,m,h,g;function _(){return(_=t((()=>{c=`FFyoOs`,l=`zPYy7T`,u=`j6ek6R`,d=`HFTPXI`,f=`_0RK4xF`,p=`kDPnKt`,m=`DQHqws`,h=`nCQ9v4`,g={row:c,wrapper:l,input:u,track:d,thumb:f,unchecked:p,checked:m,option:h}})))()}function v({label:e,description:t,placeholder:n,disabled:r,size:a,className:s,onChange:c,value:l,id:u,checkedText:d=`ВКЛ`,uncheckedText:f=`ВЫКЛ`,labelPosition:p=`before`,...m}){let h=(0,y.useId)(),_=u??h,v=t?`${_}-description`:void 0,x=e??n,S=!!l,C=!x&&!m[`aria-label`]?`${f} / ${d}`:void 0,w=x?(0,b.jsx)(`label`,{htmlFor:_,className:o.uiLabel,children:x}):null;return(0,b.jsxs)(`div`,{className:i(o.uiElement,r&&o.disabled,a&&o.uiSizable,a&&o[a],s),"aria-disabled":r||void 0,children:[(0,b.jsxs)(`div`,{className:g.row,children:[p===`before`&&w,(0,b.jsxs)(`div`,{className:g.wrapper,children:[(0,b.jsx)(`input`,{...m,id:_,type:`checkbox`,role:`switch`,checked:S,disabled:r,"aria-checked":S,"aria-describedby":v,"aria-label":C,className:i(o.uiInputControl,g.input),onChange:e=>c?.(e.currentTarget.checked)}),(0,b.jsxs)(`div`,{className:g.track,"data-disabled":r||void 0,"aria-hidden":`true`,children:[(0,b.jsx)(`div`,{className:g.thumb}),(0,b.jsx)(`div`,{className:i(g.option,g.unchecked),children:f}),(0,b.jsx)(`div`,{className:i(g.option,g.checked),children:d})]})]}),p===`after`&&w]}),t&&(0,b.jsx)(`p`,{id:v,className:o.uiDescription,children:t})]})}var y,b;function x(){return(x=t((()=>{y=e(n(),1),a(),s(),_(),b=r(),v.__docgenInfo={description:`Переключаемая кнопка с сохранением активного состояния. Используется для локального выбора режима, фильтра или форматирования.`,methods:[],displayName:`Toggle`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},checkedText:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"ВКЛ"`,computed:!1}},uncheckedText:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"ВЫКЛ"`,computed:!1}},labelPosition:{required:!1,tsType:{name:`union`,raw:`"before" | "after"`,elements:[{name:`literal`,value:`"before"`},{name:`literal`,value:`"after"`}]},description:``,defaultValue:{value:`"before"`,computed:!1}}},composes:[`Omit`]}})))()}export{x as n,v as t};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CU98mtpe.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-SX-KK9Lg.js";import{a as p,i as m,n as h,r as g,t as _}from"./Toggle.stories-BjeTDL90.js";function v(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{of:m,parameters:{docs:{toc:!0}}}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-BmGorvhi.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-u0CCD6I1.js";import{a as p,i as m,n as h,r as g,t as _}from"./Toggle.stories-T1Hk_etn.js";function v(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{of:m,parameters:{docs:{toc:!0}}}),`
2
2
  `,(0,b.jsx)(u,{children:`Toggle`}),`
3
3
  `,(0,b.jsx)(o,{children:`Переключаемый булев контрол для локальных режимов и простых опций`}),`
4
4
  `,(0,b.jsx)(t.p,{children:`Toggle уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
@@ -1,4 +1,4 @@
1
- import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-CU98mtpe.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./Toggle-BGbyfmSW.js";var s=t({Controlled:()=>d,Disabled:()=>p,LabelAfter:()=>f,__namedExportsOrder:()=>m,default:()=>u}),c,l,u,d,f,p,m;function h(){return(h=e((()=>{r(),a(),c=n(),l=i((e,t)=>(0,c.jsx)(o,{...e,value:e.value??!1,onChange:n=>{e.onChange?.(n),t({value:n})}})),u={title:`UI/Toggle`,component:o,args:{value:!1,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Текст подписи переключателя.`,control:`text`},description:{description:`Описание под переключателем.`,control:`text`},placeholder:{description:"Резервная подпись, если `label` не задан.",control:`text`},value:{description:`Текущее значение переключателя.`,control:`boolean`},onChange:{description:`Вызывается при изменении значения.`,control:!1},checkedText:{description:`Текст для включенного состояния.`,control:`text`},uncheckedText:{description:`Текст для выключенного состояния.`,control:`text`},labelPosition:{description:`Положение подписи относительно переключателя.`,control:`inline-radio`,options:[`before`,`after`]},disabled:{description:`Блокирует взаимодействие.`,control:`boolean`},size:{description:`Размер контрола и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},d={render:l,args:{label:`Режим синхронизации`,description:`Мгновенное переключение состояния.`,value:!1,checkedText:`ВКЛ`,uncheckedText:`ВЫКЛ`,labelPosition:`before`}},f={render:l,args:{label:`Уведомления`,value:!0,labelPosition:`after`}},p={render:l,args:{label:`Недоступный переключатель`,value:!0,disabled:!0}},d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
1
+ import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-BmGorvhi.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./Toggle-BpDn9f6k.js";var s=t({Controlled:()=>d,Disabled:()=>p,LabelAfter:()=>f,__namedExportsOrder:()=>m,default:()=>u}),c,l,u,d,f,p,m;function h(){return(h=e((()=>{r(),a(),c=n(),l=i((e,t)=>(0,c.jsx)(o,{...e,value:e.value??!1,onChange:n=>{e.onChange?.(n),t({value:n})}})),u={title:`UI/Toggle`,component:o,args:{value:!1,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Текст подписи переключателя.`,control:`text`},description:{description:`Описание под переключателем.`,control:`text`},placeholder:{description:"Резервная подпись, если `label` не задан.",control:`text`},value:{description:`Текущее значение переключателя.`,control:`boolean`},onChange:{description:`Вызывается при изменении значения.`,control:!1},checkedText:{description:`Текст для включенного состояния.`,control:`text`},uncheckedText:{description:`Текст для выключенного состояния.`,control:`text`},labelPosition:{description:`Положение подписи относительно переключателя.`,control:`inline-radio`,options:[`before`,`after`]},disabled:{description:`Блокирует взаимодействие.`,control:`boolean`},size:{description:`Размер контрола и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},d={render:l,args:{label:`Режим синхронизации`,description:`Мгновенное переключение состояния.`,value:!1,checkedText:`ВКЛ`,uncheckedText:`ВЫКЛ`,labelPosition:`before`}},f={render:l,args:{label:`Уведомления`,value:!0,labelPosition:`after`}},p={render:l,args:{label:`Недоступный переключатель`,value:!0,disabled:!0}},d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
2
2
  render: renderToggleStory,
3
3
  args: {
4
4
  label: "Режим синхронизации",
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CU98mtpe.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-SX-KK9Lg.js";import{a as p,c as m,i as h,l as g,n as _,o as v,r as y,s as b,t as x,u as S}from"./TreeMultiSelect.stories-BJOtdIDe.js";function C(e){let t={code:`code`,h2:`h2`,p:`p`,...n(),...e.components};return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(s,{of:g,parameters:{docs:{toc:!0}}}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-BmGorvhi.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-u0CCD6I1.js";import{a as p,c as m,i as h,l as g,n as _,o as v,r as y,s as b,t as x,u as S}from"./TreeMultiSelect.stories-DyK7bWZu.js";function C(e){let t={code:`code`,h2:`h2`,p:`p`,...n(),...e.components};return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(s,{of:g,parameters:{docs:{toc:!0}}}),`
2
2
  `,(0,T.jsx)(u,{children:`TreeMultiSelect`}),`
3
3
  `,(0,T.jsx)(o,{children:`Мультивыбор узлов дерева с компрессией subtree в parent`}),`
4
4
  `,(0,T.jsxs)(t.p,{children:[(0,T.jsx)(t.code,{children:`TreeMultiSelect`}),` хранит наружу не “все листья”, а канонизированный frontier по уровням дерева.`]}),`
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-CU98mtpe.js";import{i as r,n as i,r as a,t as o}from"./formatMultiSelectOptionCount-BxXwE0wd.js";import{a as s,c,d as l,i as u,l as d,n as f,r as p,s as m,t as h}from"./TreePickerBase-BQKfhufH.js";function g(e,t){let n=l(e,t),r=Object.values(n).reduce((e,t)=>e+t.length,0);if(r!==0){if(r===1){let n=[...e].sort((e,n)=>(t.preorderIndexById.get(e)??2**53-1)-(t.preorderIndexById.get(n)??2**53-1))[0],r=t.nodeById.get(n);return r?r.label:void 0}return o(r)}}function _(e,t,n){let r=d(e,n),i=d(t,n);return r.size===i.size&&[...r].every(e=>i.has(e))}function v({label:e,description:t,disabled:n,placeholder:i=`Выберите значения`,size:a,nodes:o,value:f,onChange:v,query:x,defaultQuery:S,onQuery:C,isLoading:w,error:T,fieldError:E,required:D,optionsLayout:O=`tree`,defaultExpandedCodeKeys:k}){let[A,j]=(0,y.useState)(!1),M=(0,y.useMemo)(()=>p(o),[o]),{draftValue:N,setDraftValue:P,prepareOpen:F}=r({value:f,open:A,onCommit:v,isEqual:(e,t)=>_(e,t,M)}),I=A?N:f,L=(0,y.useMemo)(()=>d(I,M),[I,M]),R=(0,y.useMemo)(()=>s(L,M),[L,M]),z=(0,y.useMemo)(()=>new Set([...M.nodeById.keys()].filter(e=>M.nodeById.get(e)?.disabled!==!0&&!m(e,L,M)&&!R.selectedIds.has(e)&&u(M,[e]).size===0)),[L,R.selectedIds,M]),B=(0,y.useMemo)(()=>g(L,M),[L,M]);return(0,b.jsx)(h,{label:e,description:t,disabled:n,placeholder:i,size:a,nodes:o,selectedIds:R.selectedIds,partialIds:R.partialIds,selectionMode:`multi`,optionsLayout:O,defaultExpandedCodeKeys:k,unavailableNodeIds:z,open:A,onOpenChange:e=>{e&&!A&&F(),j(e)},bulkActions:{onSelectAll:()=>{P(l(u(M),M))},onDeselectAll:()=>P({})},triggerMode:`search`,selectedSummary:B,query:x,defaultQuery:S,onQuery:C,onNodeActivate:(e,t)=>{P(c({},e.id,M,t))},onNodeToggleSelection:(e,t)=>{P(n=>c(n,e.id,M,t))},onClearSelection:()=>{P({}),A||v({})},isLoading:w,error:T,fieldError:E,required:D})}var y,b;function x(){return(x=e((()=>{y=t(),i(),a(),f(),b=n(),v.__docgenInfo={description:``,methods:[],displayName:`TreeMultiSelect`,props:{nodes:{required:!0,tsType:{name:`unknown`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Выберите значения"`,computed:!1}},query:{required:!1,tsType:{name:`string`},description:``},defaultQuery:{required:!1,tsType:{name:`string`},description:``},onQuery:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},isLoading:{required:!1,tsType:{name:`boolean`},description:``},error:{required:!1,tsType:{name:`string`},description:``},fieldError:{required:!1,tsType:{name:`string`},description:`Ошибка выбранного значения; error сообщает о сбое загрузки дерева в popup.`},required:{required:!1,tsType:{name:`boolean`},description:``},optionsLayout:{required:!1,tsType:{name:`union`,raw:`"tree" | "columns"`,elements:[{name:`literal`,value:`"tree"`},{name:`literal`,value:`"columns"`}]},description:`Определяет обычное раскрываемое дерево или полностью открытый адаптивный набор колонок.`,defaultValue:{value:`"tree"`,computed:!1}},defaultExpandedCodeKeys:{required:!1,tsType:{name:`unknown`},description:"Ключи уровней, узлы которых раскрываются до ручного действия пользователя.\nВ режиме `columns` дерево по-прежнему отображается полностью раскрытым."}},composes:[`Omit`]}})))()}export{x as n,v as t};
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-BmGorvhi.js";import{i as r,n as i,r as a,t as o}from"./formatMultiSelectOptionCount-BxXwE0wd.js";import{a as s,c,d as l,i as u,l as d,n as f,r as p,s as m,t as h}from"./TreePickerBase-BCbV37dL.js";function g(e,t){let n=l(e,t),r=Object.values(n).reduce((e,t)=>e+t.length,0);if(r!==0){if(r===1){let n=[...e].sort((e,n)=>(t.preorderIndexById.get(e)??2**53-1)-(t.preorderIndexById.get(n)??2**53-1))[0],r=t.nodeById.get(n);return r?r.label:void 0}return o(r)}}function _(e,t,n){let r=d(e,n),i=d(t,n);return r.size===i.size&&[...r].every(e=>i.has(e))}function v({label:e,description:t,disabled:n,placeholder:i=`Выберите значения`,size:a,nodes:o,value:f,onChange:v,query:x,defaultQuery:S,onQuery:C,isLoading:w,error:T,fieldError:E,required:D,optionsLayout:O=`tree`,defaultExpandedCodeKeys:k}){let[A,j]=(0,y.useState)(!1),M=(0,y.useMemo)(()=>p(o),[o]),{draftValue:N,setDraftValue:P,prepareOpen:F}=r({value:f,open:A,onCommit:v,isEqual:(e,t)=>_(e,t,M)}),I=A?N:f,L=(0,y.useMemo)(()=>d(I,M),[I,M]),R=(0,y.useMemo)(()=>s(L,M),[L,M]),z=(0,y.useMemo)(()=>new Set([...M.nodeById.keys()].filter(e=>M.nodeById.get(e)?.disabled!==!0&&!m(e,L,M)&&!R.selectedIds.has(e)&&u(M,[e]).size===0)),[L,R.selectedIds,M]),B=(0,y.useMemo)(()=>g(L,M),[L,M]);return(0,b.jsx)(h,{label:e,description:t,disabled:n,placeholder:i,size:a,nodes:o,selectedIds:R.selectedIds,partialIds:R.partialIds,selectionMode:`multi`,optionsLayout:O,defaultExpandedCodeKeys:k,unavailableNodeIds:z,open:A,onOpenChange:e=>{e&&!A&&F(),j(e)},bulkActions:{onSelectAll:()=>{P(l(u(M),M))},onDeselectAll:()=>P({})},triggerMode:`search`,selectedSummary:B,query:x,defaultQuery:S,onQuery:C,onNodeActivate:(e,t)=>{P(c({},e.id,M,t))},onNodeToggleSelection:(e,t)=>{P(n=>c(n,e.id,M,t))},onClearSelection:()=>{P({}),A||v({})},isLoading:w,error:T,fieldError:E,required:D})}var y,b;function x(){return(x=e((()=>{y=t(),i(),a(),f(),b=n(),v.__docgenInfo={description:``,methods:[],displayName:`TreeMultiSelect`,props:{nodes:{required:!0,tsType:{name:`unknown`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Выберите значения"`,computed:!1}},query:{required:!1,tsType:{name:`string`},description:``},defaultQuery:{required:!1,tsType:{name:`string`},description:``},onQuery:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},isLoading:{required:!1,tsType:{name:`boolean`},description:``},error:{required:!1,tsType:{name:`string`},description:``},fieldError:{required:!1,tsType:{name:`string`},description:`Ошибка выбранного значения; error сообщает о сбое загрузки дерева в popup.`},required:{required:!1,tsType:{name:`boolean`},description:``},optionsLayout:{required:!1,tsType:{name:`union`,raw:`"tree" | "columns"`,elements:[{name:`literal`,value:`"tree"`},{name:`literal`,value:`"columns"`}]},description:`Определяет обычное раскрываемое дерево или полностью открытый адаптивный набор колонок.`,defaultValue:{value:`"tree"`,computed:!1}},defaultExpandedCodeKeys:{required:!1,tsType:{name:`unknown`},description:"Ключи уровней, узлы которых раскрываются до ручного действия пользователя.\nВ режиме `columns` дерево по-прежнему отображается полностью раскрытым."}},composes:[`Omit`]}})))()}export{x as n,v as t};
@@ -1,4 +1,4 @@
1
- import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-CU98mtpe.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./TreeMultiSelect-BJnAzsFO.js";import{n as s,r as c,t as l}from"./treeStoryFixtures-DXHh9GL3.js";var u=t({BalancedColumns:()=>x,Basic:()=>_,FirstTwoLevelsExpanded:()=>b,MixedSelection:()=>y,OrphanProtectionColumns:()=>S,ParentCompression:()=>v,RequiredWithError:()=>w,RightEdgeColumns:()=>C,__namedExportsOrder:()=>T,default:()=>g});function d({args:e,updateArgs:t}){return(0,f.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,f.jsx)(o,{...e,onChange:n=>{e.onChange(n),t({value:n,fieldError:Object.values(n).some(e=>e.length>0)?void 0:e.fieldError})}}),(0,f.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,JSON.stringify(e.value)]})]})}var f,p,m,h,g,_,v,y,b,x,S,C,w,T;function E(){return(E=e((()=>{r(),a(),s(),f=n(),p=Array.from({length:66},(e,t)=>{let n=String(t+1).padStart(2,`0`),r=`D${n}`;return{id:`DIVISION:${r}`,codeKey:`DIVISION`,value:r,label:`Дивизион ${n}`,code:r,searchText:`${r} Дивизион ${n}`}}),m=i((e,t)=>(0,f.jsx)(d,{args:e,updateArgs:t})),h=i((e,t)=>(0,f.jsx)(`div`,{style:{display:`flex`,minHeight:`calc(100vh - 32px)`,alignItems:`center`,justifyContent:`flex-end`},children:(0,f.jsx)(`div`,{style:{width:260},children:(0,f.jsx)(d,{args:e,updateArgs:t})})})),g={title:`UI/TreeMultiSelect`,component:o,parameters:{atomicCanvas:!0,layout:`padded`},args:{label:`Выбор узлов`,description:`Мультивыбор с канонизацией subtree в ближайший parent.`,nodes:l,value:{},onChange:()=>{}},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под полем.`,control:`text`},required:{description:`Помечает выбор узлов как обязательный.`,control:`boolean`},fieldError:{description:`Текст ошибки выбранных узлов под полем.`,control:`text`},placeholder:{description:`Текст без выбранных узлов.`,control:`text`},nodes:{description:`Дерево доступных узлов.`,control:!1},value:{description:`Контролируемое отображение выбранных узлов по codeKey.`,control:!1},onChange:{description:`Вызывается при commit набора узлов.`,control:!1},query:{description:`Контролируемый текст поиска.`,control:`text`},defaultQuery:{description:`Начальный текст поиска в uncontrolled-режиме.`,control:`text`},onQuery:{description:`Вызывается при вводе поисковой строки.`,control:!1},isLoading:{description:`Показывает загрузку дерева.`,control:`boolean`},error:{description:`Текст ошибки загрузки.`,control:`text`},optionsLayout:{description:`Способ показа: дерево или адаптивные колонки.`,control:`inline-radio`,options:[`tree`,`columns`]},defaultExpandedCodeKeys:{description:`Ключи уровней, раскрываемых при открытии.`,control:!1},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},_={render:m,args:{value:{OWNER:[`P0001`]}}},v={render:m,args:{label:`Компрессия parent`,description:`Когда выбран весь subtree, наружу может уйти только родительский узел.`,value:{REGION:[`R01`]}}},y={render:m,args:{label:`Смешанный выбор`,description:`Пример mixed frontier по соседним уровням.`,value:{BRANCH:[`B0101`],OWNER:[`P0004`]}}},b={render:m,args:{label:`Раскрыты два уровня`,description:`Уровни REGION и BRANCH раскрыты по умолчанию, остальные уровни остаются закрытыми.`,defaultExpandedCodeKeys:[`REGION`,`BRANCH`]}},x={render:m,args:{label:`Все уровни в столбцах`,description:`Popover подбирает число столбцов по количеству опций и доступному viewport.`,optionsLayout:`columns`,value:{BRANCH:[`B0101`]}}},S={render:m,args:{label:`Защита начала большой группы`,description:`Начало группы остаётся в текущем столбце при трёх свободных строках; при одной или двух переносится в новый.`,optionsLayout:`columns`,nodes:c}},C={render:h,args:{label:`Контрол у правой границы`,description:`Popover для 66 опций должен сравнить вертикальные и горизонтальные стороны и остаться внутри viewport.`,optionsLayout:`columns`,nodes:p}},w={name:`Обязательное поле с ошибкой`,render:m,args:{required:!0,fieldError:`Выберите хотя бы один узел.`,value:{}}},_.parameters={..._.parameters,docs:{..._.parameters?.docs,source:{originalSource:`{
1
+ import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-BmGorvhi.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./TreeMultiSelect-bqQExCm8.js";import{n as s,r as c,t as l}from"./treeStoryFixtures-DXHh9GL3.js";var u=t({BalancedColumns:()=>x,Basic:()=>_,FirstTwoLevelsExpanded:()=>b,MixedSelection:()=>y,OrphanProtectionColumns:()=>S,ParentCompression:()=>v,RequiredWithError:()=>w,RightEdgeColumns:()=>C,__namedExportsOrder:()=>T,default:()=>g});function d({args:e,updateArgs:t}){return(0,f.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,f.jsx)(o,{...e,onChange:n=>{e.onChange(n),t({value:n,fieldError:Object.values(n).some(e=>e.length>0)?void 0:e.fieldError})}}),(0,f.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,JSON.stringify(e.value)]})]})}var f,p,m,h,g,_,v,y,b,x,S,C,w,T;function E(){return(E=e((()=>{r(),a(),s(),f=n(),p=Array.from({length:66},(e,t)=>{let n=String(t+1).padStart(2,`0`),r=`D${n}`;return{id:`DIVISION:${r}`,codeKey:`DIVISION`,value:r,label:`Дивизион ${n}`,code:r,searchText:`${r} Дивизион ${n}`}}),m=i((e,t)=>(0,f.jsx)(d,{args:e,updateArgs:t})),h=i((e,t)=>(0,f.jsx)(`div`,{style:{display:`flex`,minHeight:`calc(100vh - 32px)`,alignItems:`center`,justifyContent:`flex-end`},children:(0,f.jsx)(`div`,{style:{width:260},children:(0,f.jsx)(d,{args:e,updateArgs:t})})})),g={title:`UI/TreeMultiSelect`,component:o,parameters:{atomicCanvas:!0,layout:`padded`},args:{label:`Выбор узлов`,description:`Мультивыбор с канонизацией subtree в ближайший parent.`,nodes:l,value:{},onChange:()=>{}},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под полем.`,control:`text`},required:{description:`Помечает выбор узлов как обязательный.`,control:`boolean`},fieldError:{description:`Текст ошибки выбранных узлов под полем.`,control:`text`},placeholder:{description:`Текст без выбранных узлов.`,control:`text`},nodes:{description:`Дерево доступных узлов.`,control:!1},value:{description:`Контролируемое отображение выбранных узлов по codeKey.`,control:!1},onChange:{description:`Вызывается при commit набора узлов.`,control:!1},query:{description:`Контролируемый текст поиска.`,control:`text`},defaultQuery:{description:`Начальный текст поиска в uncontrolled-режиме.`,control:`text`},onQuery:{description:`Вызывается при вводе поисковой строки.`,control:!1},isLoading:{description:`Показывает загрузку дерева.`,control:`boolean`},error:{description:`Текст ошибки загрузки.`,control:`text`},optionsLayout:{description:`Способ показа: дерево или адаптивные колонки.`,control:`inline-radio`,options:[`tree`,`columns`]},defaultExpandedCodeKeys:{description:`Ключи уровней, раскрываемых при открытии.`,control:!1},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},_={render:m,args:{value:{OWNER:[`P0001`]}}},v={render:m,args:{label:`Компрессия parent`,description:`Когда выбран весь subtree, наружу может уйти только родительский узел.`,value:{REGION:[`R01`]}}},y={render:m,args:{label:`Смешанный выбор`,description:`Пример mixed frontier по соседним уровням.`,value:{BRANCH:[`B0101`],OWNER:[`P0004`]}}},b={render:m,args:{label:`Раскрыты два уровня`,description:`Уровни REGION и BRANCH раскрыты по умолчанию, остальные уровни остаются закрытыми.`,defaultExpandedCodeKeys:[`REGION`,`BRANCH`]}},x={render:m,args:{label:`Все уровни в столбцах`,description:`Popover подбирает число столбцов по количеству опций и доступному viewport.`,optionsLayout:`columns`,value:{BRANCH:[`B0101`]}}},S={render:m,args:{label:`Защита начала большой группы`,description:`Начало группы остаётся в текущем столбце при трёх свободных строках; при одной или двух переносится в новый.`,optionsLayout:`columns`,nodes:c}},C={render:h,args:{label:`Контрол у правой границы`,description:`Popover для 66 опций должен сравнить вертикальные и горизонтальные стороны и остаться внутри viewport.`,optionsLayout:`columns`,nodes:p}},w={name:`Обязательное поле с ошибкой`,render:m,args:{required:!0,fieldError:`Выберите хотя бы один узел.`,value:{}}},_.parameters={..._.parameters,docs:{..._.parameters?.docs,source:{originalSource:`{
2
2
  render: renderTreeMultiSelectStory,
3
3
  args: {
4
4
  value: {
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n,t as r}from"./chevron-right-5Rrk5UhO.js";import{n as i,t as a}from"./CheckBox-Dpg2QsvS.js";import{n as o}from"./iframe-CU98mtpe.js";import{a as s,i as c,r as l,s as u,t as d}from"./utils-tg3ibbzi.js";import{n as f,t as p}from"./OptionContent-C8S7IjI3.js";import{l as m,o as h}from"./Input-D2eqioLp.js";import{n as g,t as ee}from"./PickerField-Cgcm-Y5T.js";import{c as _,i as v,l as te,n as ne,r as re,s as ie,t as ae,u as y}from"./usePickerTriggerController-CqdXiV2q.js";import{a as oe,n as se,o as ce,t as le}from"./Option-CrEWqsFF.js";import{i as ue,n as de,r as fe,t as pe}from"./usePickerQuery-ByBt1NRd.js";import{n as me,t as he}from"./OptionButton-BEQ2oSPf.js";import{n as b,t as ge}from"./OptionContentContainer-ljQts_jY.js";function x(e,t){return`${e}::${t}`}function _e(e){let t=new Map,n=new Map,r=new Map,i=new Map,a=new Map,o=new Map,s=new Map,c=0,l=(e,u)=>{t.set(e.id,e),n.set(e.id,u),i.set(e.id,c++);let d=x(e.codeKey,e.value);a.set(d,e.id);let f=o.get(d);f?f.push(e.id):o.set(d,[e.id]);let p=(e.children??[]).map(e=>e.id);r.set(e.id,p);for(let t of e.children??[])l(t,e.id);s.set(e.id,e.disabled===!0||p.some(e=>s.get(e)===!0))};for(let t of e)l(t);return{rootIds:e.map(e=>e.id),nodeById:t,parentById:n,childrenById:r,preorderIndexById:i,nodeIdByCodeValue:a,nodeIdsByCodeValue:o,subtreeContainsDisabledById:s}}function S(e,t){let n=t.nodeById.get(e);return n?t.nodeIdsByCodeValue.get(x(n.codeKey,n.value))??[]:[]}function ve(e,t){if(e)return t.nodeIdByCodeValue.get(x(e.codeKey,e.value))}function ye(e,t){let n=new Set;if(!e)return n;for(let[r,i]of Object.entries(e))for(let e of i)for(let i of t.nodeIdsByCodeValue.get(x(r,e))??[])n.add(i);return A(n,t)}function C(e,t){let n=[...e].sort((e,n)=>(t.preorderIndexById.get(e)??2**53-1)-(t.preorderIndexById.get(n)??2**53-1)),r={},i=new Set;for(let e of n){let n=t.nodeById.get(e);if(!n)continue;let a=x(n.codeKey,n.value);i.has(a)||(r[n.codeKey]=r[n.codeKey]??[],r[n.codeKey].push(n.value),i.add(a))}return r}function w(e,t){let n=[],r=t.parentById.get(e);for(;r;)n.push(r),r=t.parentById.get(r);return n}function T(e,t,n){let r=n.parentById.get(e);for(;r;){if(r===t)return!0;r=n.parentById.get(r)}return!1}function be(e,t){let n=S(e,t);return!n.length||n.some(e=>{let n=t.nodeById.get(e);return!n||n.selectionBehavior===`descendants`||t.subtreeContainsDisabledById.get(e)===!0})?!1:!n.some((e,r)=>n.some((n,i)=>r!==i&&(T(e,n,t)||T(n,e,t))))}function xe(e,t){return be(e,t)?S(e,t):[e]}function E(e,t,n){for(let r of[...e])T(r,t,n)&&e.delete(r)}function D(e,t,n){let r=[t];for(let t=0;t<r.length;t+=1){let i=r[t];if(i){r.push(...n.childrenById.get(i)??[]);for(let t of S(i,n))e.delete(t)}}}function O(e,t,n){if(t.has(e))return!0;if(n.nodeById.get(e)?.disabled)return!1;let r=n.childrenById.get(e)??[];return r.length!==0&&r.every(e=>O(e,t,n))}function k(e,t,n){if(!n.nodeById.has(e))return!1;let r=t.childrenById.get(e)??[],i=n.childrenById.get(e)??[];return r.length===i.length&&r.every((e,r)=>i[r]===e&&k(e,t,n))}function A(e,t){let n=new Set(e);for(let e of[...n])if(t.nodeById.get(e)?.selectionBehavior===`descendants`){n.delete(e);for(let r of P(t,t.childrenById.get(e)??[]))n.add(r)}for(let e of[...n])w(e,t).some(e=>n.has(e))&&n.delete(e);let r=[...t.nodeById.keys()].sort((e,n)=>(t.preorderIndexById.get(n)??0)-(t.preorderIndexById.get(e)??0));for(let e of r){let r=t.childrenById.get(e)??[];if(!(r.length===0||n.has(e)||t.nodeById.get(e)?.disabled||t.nodeById.get(e)?.selectionBehavior===`descendants`)&&r.every(e=>O(e,n,t))){let r=S(e,t);if(be(e,t)&&r.every(e=>{let r=t.nodeById.get(e);return r&&!r.disabled&&r.selectionBehavior!==`descendants`&&O(e,n,t)}))for(let e of r)E(n,e,t),n.add(e)}}return n}function Se(e,t,n){let r=n.parentById.get(t);for(;r;){if(e.has(r)){for(let t of S(r,n))if(e.has(t)){e.delete(t);for(let r of P(n,n.childrenById.get(t)??[]))e.add(r)}return!0}r=n.parentById.get(r)}return!1}function j(e,t,n){return t.has(e)?!0:w(e,n).some(e=>t.has(e))}function M(e,t,n,r){let i=n.childrenById.get(e)??[];if(t.has(e))return r.selectedIds.add(e),{selected:!0,partial:!1};if(i.length===0)return{selected:!1,partial:!1};let a=i.map(e=>M(e,t,n,r)),o=a.every(e=>e.selected&&!e.partial),s=a.some(e=>e.selected||e.partial);return o?(r.selectedIds.add(e),{selected:!0,partial:!1}):s?(r.partialIds.add(e),{selected:!1,partial:!0}):{selected:!1,partial:!1}}function N(e,t){let n={selectedIds:new Set,partialIds:new Set};for(let r of t.rootIds)M(r,e,t,n);return n}function P(e,t=e.rootIds){let n=t=>{let r=e.nodeById.get(t),i=(e.childrenById.get(t)??[]).map(n),a=i.flatMap(e=>e.selectedIds),o=r?.disabled===!0||i.some(e=>e.containsDisabled);if(!r||r.disabled)return{containsDisabled:!0,selectedIds:a};if(r.selectionBehavior===`descendants`)return{containsDisabled:o,selectedIds:a};let s=!be(t,e);return o||s?{containsDisabled:!0,selectedIds:a}:{containsDisabled:!1,selectedIds:[t]}};return new Set(t.flatMap(e=>n(e).selectedIds))}function F(e,t,n,r){let i=ye(e,n),a=r!==void 0&&!k(t,n,r);if(!a&&O(t,i,n))return D(i,t,n),C(A(i,n),n);let o=e=>{if(i.has(e)){D(i,e,n);return}if(O(e,i,n)){D(i,e,n);return}if(j(e,i,n)){Se(i,e,n)&&(j(e,i,n)||O(e,i,n)?o(e):D(i,e,n));return}for(let t of xe(e,n))E(i,t,n),i.add(t)},s=e=>{if(!r?.nodeById.has(e))return[];if(k(e,n,r)){let t=[...P(n,[e])];return t.length>0?t:j(e,i,n)||O(e,i,n)?[e]:[]}return(r.childrenById.get(e)??[]).flatMap(s)},c=a?s(t):[...P(n,[t])],l=c.length===0&&(j(t,i,n)||O(t,i,n))?[t]:c,u=l.length>0&&l.every(e=>j(e,i,n)||O(e,i,n));for(let e of l){let t=j(e,i,n)||O(e,i,n);(u&&t||!u&&!t)&&o(e)}return C(A(i,n),n)}function I(e,t,n){let r=t.parentById.get(e);for(;r;)n.add(r),r=t.parentById.get(r)}function Ce(e,t){let n=new Set;for(let r of e)I(r,t,n);return n}function we(e,t,n){let r=new Set;for(let[i,a]of e.childrenById){if(a.length===0)continue;let o=e.nodeById.get(i);o&&(n.get(i)??t.has(o.codeKey))&&r.add(i)}return r}function Te(e,t,n){let r=(e.children??[]).map(e=>Te(e,t,n)).filter(e=>!!e);return!e.searchText.toLowerCase().includes(t)&&r.length===0?null:(r.length>0&&n.add(e.id),r.length===0?e:{...e,children:r})}function Ee(e,t){let n=t.trim().toLowerCase();if(!n)return{nodes:[...e],expandedIds:new Set};let r=new Set;return{nodes:e.map(e=>Te(e,n,r)).filter(e=>!!e),expandedIds:r}}function De(e,t){let n=[],r=(e,i,a)=>{let o=(e.children?.length??0)>0,s=o&&t.has(e.id);if(n.push({node:e,level:i,parentId:a,hasChildren:o,isExpanded:s,isLeaf:!o}),s)for(let t of e.children??[])r(t,i+1,e.id)};for(let t of e)r(t,0);return n}function Oe(){return(Oe=e((()=>{})))()}function ke(e){let t=[],n=0;for(;n<e.length;){let r=n+1;for(;r<e.length&&e[r]?.level!==0;)r+=1;t.push({startIndex:n,endIndexExclusive:r}),n=r}let r=t.map(({startIndex:e,endIndexExclusive:t})=>`${e}:${t}`).join(`|`);return{itemCount:e.length,groups:t,signature:`${e.length}|${r}`}}function L(e,t){return Number.isFinite(e)&&e>0?e:t}function Ae(e){let t=e.endIndexExclusive-e.startIndex;return Math.min(Pe,t)}function je(e,t){let n=Math.max(1,t),r=[],i=1,a=1,o=0;for(let t of e.groups){let e=Ae(t),s=n-a+1;a>1&&e>s&&(o+=s,i+=1,a=1);for(let e=t.startIndex;e<t.endIndexExclusive;e+=1)r[e]={column:i,row:a},a+=1,a>n&&(i+=1,a=1)}return{placements:r,usedColumnCount:r.length?Math.max(...r.map(e=>e.column)):1,intentionalGapCount:o}}function Me({descriptor:e,availableWidth:t,availableHeight:n,viewportWidth:r,viewportHeight:i,referenceWidth:a}){let o=Math.max(0,Math.floor(Number.isFinite(e.itemCount)?e.itemCount:0)),s=L(t,240),c=L(n,80),l=L(r,s+16),u=L(i,c),d=Math.max(1,Math.min(s,Math.max(1,l-16))),f=Math.max(1,Math.min(c,u-16)),p=Math.max(1,L(a,1)),m=Math.min(d,p),h=Math.max(1,Math.floor((d-R+V)/234)),g=Math.max(1,Math.min(H,h,o||1)),ee=e.groups.reduce((e,t)=>Math.max(e,Ae(t)),1);if(o===0)return{columnCount:1,rowCount:1,width:m,minWidth:m,maxHeight:f,placements:[]};let _,v=1/0;for(let t=1;t<=g;t+=1){let n=Math.max(ee,Math.ceil(o/t)),r=je(e,n);for(;r.usedColumnCount>t&&n<o;)n+=1,r=je(e,n);let i=r.usedColumnCount,a=Math.max(m,R+i*B+(i-1)*V),s=z+n*Ne,c=a/d,l=s/f,u=(i*n-o)/o,p=r.intentionalGapCount/o,h=Math.max(c,l)+.25*Math.abs(c-l)+.01*u+.02*p+.04*(i-1);h<v&&(v=h,_={columnCount:i,rowCount:n,width:Math.min(d,a),minWidth:m,maxHeight:f,placements:r.placements})}return _??{columnCount:1,rowCount:o,width:m,minWidth:m,maxHeight:f,placements:je(e,o).placements}}var R,z,B,V,Ne,H,Pe;function U(){return(U=e((()=>{R=16,z=48,B=224,V=10,Ne=32,H=6,Pe=3})))()}var W,Fe,G,Ie,Le,Re,ze,Be,Ve,He,Ue,We,K,q;function Ge(){return(Ge=e((()=>{W=`_6EH37F`,Fe=`UBll8Q`,G=`-y3RZP`,Ie=`ayLJ50`,Le=`_430vL2`,Re=`_2MFkGF`,ze=`JhnGSK`,Be=`_0cHzF8`,Ve=`o5NWnX`,He=`ibSd-S`,Ue=`lXezvv`,We=`FMlLGX`,K=`d2Zt7U`,q={treeNodeButton:W,treePopupHeader:Fe,treeColumns:G,treeColumnRow:Ie,treeColumnsPopupLayout:Le,treeColumnCheckBox:Re,treeNodeSelectionCell:ze,treeNodeActionCell:Be,treeIndent:Ve,treeExpander:He,treeExpanderPlaceholder:Ue,treeExpanderIcon:We,treeExpanderIconExpanded:K}})))()}function Ke({node:e,level:t,highlight:n,hasChildren:i,isExpanded:o,selected:c,partial:l,selectionMode:u,optionsLayout:d=`tree`,onToggleExpand:f,onToggleSelection:m,onActivate:h,actionRef:g}){let ee=d===`tree`,_=d===`columns`&&t===0,v=(0,J.jsx)(p,{text:e.label,code:e.code,searchText:n,emphasizeContent:_}),te=i?(0,J.jsx)(`span`,{className:q.treeExpander,"aria-hidden":`true`,onMouseDown:e=>e.preventDefault(),onClick:e=>{e.stopPropagation(),f?.()},"data-ui":`tree-select-expander`,"data-action":o?`collapse-tree-select-node`:`expand-tree-select-node`,children:(0,J.jsx)(r,{className:s(q.treeExpanderIcon,o&&q.treeExpanderIconExpanded)})}):(0,J.jsx)(`div`,{className:q.treeExpanderPlaceholder,"aria-hidden":`true`});return u===`multi`&&d===`tree`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{role:`gridcell`,className:q.treeNodeSelectionCell,children:[(0,J.jsx)(`div`,{className:q.treeIndent,style:{"--tree-level":t},"aria-hidden":`true`}),te,(0,J.jsx)(`div`,{className:q.treeColumnCheckBox,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:(0,J.jsx)(a,{value:c,indeterminate:l,disabled:e.disabled,"aria-label":`${c?`Убрать`:`Добавить`} «${e.label}» ${c?`из выбора`:`в выбор`}`,onChange:()=>m?.()})})]}),(0,J.jsx)(`div`,{role:`gridcell`,className:q.treeNodeActionCell,children:(0,J.jsx)(he,{ref:g,className:q.treeNodeButton,tabIndex:-1,disabled:e.disabled,"aria-label":`Выбрать только «${e.label}»`,text:e.label,code:e.code,searchText:n,onMouseDown:e=>e.preventDefault(),onClick:h})})]}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:q.treeIndent,style:{"--tree-level":t},"aria-hidden":`true`}),ee?te:null,u===`multi`?(0,J.jsx)(`div`,{className:q.treeColumnCheckBox,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:(0,J.jsx)(a,{value:c,indeterminate:l,disabled:e.disabled,"aria-label":`Выбрать ${e.label}`,onChange:()=>m?.()})}):null,d===`tree`?(0,J.jsx)(ge,{className:q.treeNodeButton,children:v}):(0,J.jsx)(he,{ref:g,className:q.treeNodeButton,tabIndex:-1,disabled:e.disabled,text:e.label,code:e.code,searchText:n,emphasizeContent:_,onMouseDown:e=>e.preventDefault(),onClick:h})]})}var J;function qe(){return(qe=e((()=>{c(),n(),i(),me(),f(),b(),Ge(),J=o(),Ke.__docgenInfo={description:``,methods:[],displayName:`TreeNodeContent`,props:{node:{required:!0,tsType:{name:`signature`,type:`object`,raw:`{
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n,t as r}from"./chevron-right-BUqG0v39.js";import{n as i,t as a}from"./CheckBox-nBqHJGY9.js";import{n as o}from"./iframe-BmGorvhi.js";import{a as s,i as c,r as l,s as u,t as d}from"./utils-tg3ibbzi.js";import{n as f,t as p}from"./OptionContent-C7Zoef1L.js";import{l as m,o as h}from"./Input-YuUUu0DD.js";import{n as g,t as ee}from"./PickerField-vwGcXNU3.js";import{c as _,i as v,l as te,n as ne,r as re,s as ie,t as ae,u as y}from"./usePickerTriggerController-BIarg6M4.js";import{a as oe,n as se,o as ce,t as le}from"./Option-lTkoUcHa.js";import{i as ue,n as de,r as fe,t as pe}from"./usePickerQuery-BZ1Hrn2J.js";import{n as me,t as he}from"./OptionButton-Bt6YtqRZ.js";import{n as b,t as ge}from"./OptionContentContainer-xpO-es_t.js";function x(e,t){return`${e}::${t}`}function _e(e){let t=new Map,n=new Map,r=new Map,i=new Map,a=new Map,o=new Map,s=new Map,c=0,l=(e,u)=>{t.set(e.id,e),n.set(e.id,u),i.set(e.id,c++);let d=x(e.codeKey,e.value);a.set(d,e.id);let f=o.get(d);f?f.push(e.id):o.set(d,[e.id]);let p=(e.children??[]).map(e=>e.id);r.set(e.id,p);for(let t of e.children??[])l(t,e.id);s.set(e.id,e.disabled===!0||p.some(e=>s.get(e)===!0))};for(let t of e)l(t);return{rootIds:e.map(e=>e.id),nodeById:t,parentById:n,childrenById:r,preorderIndexById:i,nodeIdByCodeValue:a,nodeIdsByCodeValue:o,subtreeContainsDisabledById:s}}function S(e,t){let n=t.nodeById.get(e);return n?t.nodeIdsByCodeValue.get(x(n.codeKey,n.value))??[]:[]}function ve(e,t){if(e)return t.nodeIdByCodeValue.get(x(e.codeKey,e.value))}function ye(e,t){let n=new Set;if(!e)return n;for(let[r,i]of Object.entries(e))for(let e of i)for(let i of t.nodeIdsByCodeValue.get(x(r,e))??[])n.add(i);return A(n,t)}function C(e,t){let n=[...e].sort((e,n)=>(t.preorderIndexById.get(e)??2**53-1)-(t.preorderIndexById.get(n)??2**53-1)),r={},i=new Set;for(let e of n){let n=t.nodeById.get(e);if(!n)continue;let a=x(n.codeKey,n.value);i.has(a)||(r[n.codeKey]=r[n.codeKey]??[],r[n.codeKey].push(n.value),i.add(a))}return r}function w(e,t){let n=[],r=t.parentById.get(e);for(;r;)n.push(r),r=t.parentById.get(r);return n}function T(e,t,n){let r=n.parentById.get(e);for(;r;){if(r===t)return!0;r=n.parentById.get(r)}return!1}function be(e,t){let n=S(e,t);return!n.length||n.some(e=>{let n=t.nodeById.get(e);return!n||n.selectionBehavior===`descendants`||t.subtreeContainsDisabledById.get(e)===!0})?!1:!n.some((e,r)=>n.some((n,i)=>r!==i&&(T(e,n,t)||T(n,e,t))))}function xe(e,t){return be(e,t)?S(e,t):[e]}function E(e,t,n){for(let r of[...e])T(r,t,n)&&e.delete(r)}function D(e,t,n){let r=[t];for(let t=0;t<r.length;t+=1){let i=r[t];if(i){r.push(...n.childrenById.get(i)??[]);for(let t of S(i,n))e.delete(t)}}}function O(e,t,n){if(t.has(e))return!0;if(n.nodeById.get(e)?.disabled)return!1;let r=n.childrenById.get(e)??[];return r.length!==0&&r.every(e=>O(e,t,n))}function k(e,t,n){if(!n.nodeById.has(e))return!1;let r=t.childrenById.get(e)??[],i=n.childrenById.get(e)??[];return r.length===i.length&&r.every((e,r)=>i[r]===e&&k(e,t,n))}function A(e,t){let n=new Set(e);for(let e of[...n])if(t.nodeById.get(e)?.selectionBehavior===`descendants`){n.delete(e);for(let r of P(t,t.childrenById.get(e)??[]))n.add(r)}for(let e of[...n])w(e,t).some(e=>n.has(e))&&n.delete(e);let r=[...t.nodeById.keys()].sort((e,n)=>(t.preorderIndexById.get(n)??0)-(t.preorderIndexById.get(e)??0));for(let e of r){let r=t.childrenById.get(e)??[];if(!(r.length===0||n.has(e)||t.nodeById.get(e)?.disabled||t.nodeById.get(e)?.selectionBehavior===`descendants`)&&r.every(e=>O(e,n,t))){let r=S(e,t);if(be(e,t)&&r.every(e=>{let r=t.nodeById.get(e);return r&&!r.disabled&&r.selectionBehavior!==`descendants`&&O(e,n,t)}))for(let e of r)E(n,e,t),n.add(e)}}return n}function Se(e,t,n){let r=n.parentById.get(t);for(;r;){if(e.has(r)){for(let t of S(r,n))if(e.has(t)){e.delete(t);for(let r of P(n,n.childrenById.get(t)??[]))e.add(r)}return!0}r=n.parentById.get(r)}return!1}function j(e,t,n){return t.has(e)?!0:w(e,n).some(e=>t.has(e))}function M(e,t,n,r){let i=n.childrenById.get(e)??[];if(t.has(e))return r.selectedIds.add(e),{selected:!0,partial:!1};if(i.length===0)return{selected:!1,partial:!1};let a=i.map(e=>M(e,t,n,r)),o=a.every(e=>e.selected&&!e.partial),s=a.some(e=>e.selected||e.partial);return o?(r.selectedIds.add(e),{selected:!0,partial:!1}):s?(r.partialIds.add(e),{selected:!1,partial:!0}):{selected:!1,partial:!1}}function N(e,t){let n={selectedIds:new Set,partialIds:new Set};for(let r of t.rootIds)M(r,e,t,n);return n}function P(e,t=e.rootIds){let n=t=>{let r=e.nodeById.get(t),i=(e.childrenById.get(t)??[]).map(n),a=i.flatMap(e=>e.selectedIds),o=r?.disabled===!0||i.some(e=>e.containsDisabled);if(!r||r.disabled)return{containsDisabled:!0,selectedIds:a};if(r.selectionBehavior===`descendants`)return{containsDisabled:o,selectedIds:a};let s=!be(t,e);return o||s?{containsDisabled:!0,selectedIds:a}:{containsDisabled:!1,selectedIds:[t]}};return new Set(t.flatMap(e=>n(e).selectedIds))}function F(e,t,n,r){let i=ye(e,n),a=r!==void 0&&!k(t,n,r);if(!a&&O(t,i,n))return D(i,t,n),C(A(i,n),n);let o=e=>{if(i.has(e)){D(i,e,n);return}if(O(e,i,n)){D(i,e,n);return}if(j(e,i,n)){Se(i,e,n)&&(j(e,i,n)||O(e,i,n)?o(e):D(i,e,n));return}for(let t of xe(e,n))E(i,t,n),i.add(t)},s=e=>{if(!r?.nodeById.has(e))return[];if(k(e,n,r)){let t=[...P(n,[e])];return t.length>0?t:j(e,i,n)||O(e,i,n)?[e]:[]}return(r.childrenById.get(e)??[]).flatMap(s)},c=a?s(t):[...P(n,[t])],l=c.length===0&&(j(t,i,n)||O(t,i,n))?[t]:c,u=l.length>0&&l.every(e=>j(e,i,n)||O(e,i,n));for(let e of l){let t=j(e,i,n)||O(e,i,n);(u&&t||!u&&!t)&&o(e)}return C(A(i,n),n)}function I(e,t,n){let r=t.parentById.get(e);for(;r;)n.add(r),r=t.parentById.get(r)}function Ce(e,t){let n=new Set;for(let r of e)I(r,t,n);return n}function we(e,t,n){let r=new Set;for(let[i,a]of e.childrenById){if(a.length===0)continue;let o=e.nodeById.get(i);o&&(n.get(i)??t.has(o.codeKey))&&r.add(i)}return r}function Te(e,t,n){let r=(e.children??[]).map(e=>Te(e,t,n)).filter(e=>!!e);return!e.searchText.toLowerCase().includes(t)&&r.length===0?null:(r.length>0&&n.add(e.id),r.length===0?e:{...e,children:r})}function Ee(e,t){let n=t.trim().toLowerCase();if(!n)return{nodes:[...e],expandedIds:new Set};let r=new Set;return{nodes:e.map(e=>Te(e,n,r)).filter(e=>!!e),expandedIds:r}}function De(e,t){let n=[],r=(e,i,a)=>{let o=(e.children?.length??0)>0,s=o&&t.has(e.id);if(n.push({node:e,level:i,parentId:a,hasChildren:o,isExpanded:s,isLeaf:!o}),s)for(let t of e.children??[])r(t,i+1,e.id)};for(let t of e)r(t,0);return n}function Oe(){return(Oe=e((()=>{})))()}function ke(e){let t=[],n=0;for(;n<e.length;){let r=n+1;for(;r<e.length&&e[r]?.level!==0;)r+=1;t.push({startIndex:n,endIndexExclusive:r}),n=r}let r=t.map(({startIndex:e,endIndexExclusive:t})=>`${e}:${t}`).join(`|`);return{itemCount:e.length,groups:t,signature:`${e.length}|${r}`}}function L(e,t){return Number.isFinite(e)&&e>0?e:t}function Ae(e){let t=e.endIndexExclusive-e.startIndex;return Math.min(Pe,t)}function je(e,t){let n=Math.max(1,t),r=[],i=1,a=1,o=0;for(let t of e.groups){let e=Ae(t),s=n-a+1;a>1&&e>s&&(o+=s,i+=1,a=1);for(let e=t.startIndex;e<t.endIndexExclusive;e+=1)r[e]={column:i,row:a},a+=1,a>n&&(i+=1,a=1)}return{placements:r,usedColumnCount:r.length?Math.max(...r.map(e=>e.column)):1,intentionalGapCount:o}}function Me({descriptor:e,availableWidth:t,availableHeight:n,viewportWidth:r,viewportHeight:i,referenceWidth:a}){let o=Math.max(0,Math.floor(Number.isFinite(e.itemCount)?e.itemCount:0)),s=L(t,240),c=L(n,80),l=L(r,s+16),u=L(i,c),d=Math.max(1,Math.min(s,Math.max(1,l-16))),f=Math.max(1,Math.min(c,u-16)),p=Math.max(1,L(a,1)),m=Math.min(d,p),h=Math.max(1,Math.floor((d-R+V)/234)),g=Math.max(1,Math.min(H,h,o||1)),ee=e.groups.reduce((e,t)=>Math.max(e,Ae(t)),1);if(o===0)return{columnCount:1,rowCount:1,width:m,minWidth:m,maxHeight:f,placements:[]};let _,v=1/0;for(let t=1;t<=g;t+=1){let n=Math.max(ee,Math.ceil(o/t)),r=je(e,n);for(;r.usedColumnCount>t&&n<o;)n+=1,r=je(e,n);let i=r.usedColumnCount,a=Math.max(m,R+i*B+(i-1)*V),s=z+n*Ne,c=a/d,l=s/f,u=(i*n-o)/o,p=r.intentionalGapCount/o,h=Math.max(c,l)+.25*Math.abs(c-l)+.01*u+.02*p+.04*(i-1);h<v&&(v=h,_={columnCount:i,rowCount:n,width:Math.min(d,a),minWidth:m,maxHeight:f,placements:r.placements})}return _??{columnCount:1,rowCount:o,width:m,minWidth:m,maxHeight:f,placements:je(e,o).placements}}var R,z,B,V,Ne,H,Pe;function U(){return(U=e((()=>{R=16,z=48,B=224,V=10,Ne=32,H=6,Pe=3})))()}var W,Fe,G,Ie,Le,Re,ze,Be,Ve,He,Ue,We,K,q;function Ge(){return(Ge=e((()=>{W=`_6EH37F`,Fe=`UBll8Q`,G=`-y3RZP`,Ie=`ayLJ50`,Le=`_430vL2`,Re=`_2MFkGF`,ze=`JhnGSK`,Be=`_0cHzF8`,Ve=`o5NWnX`,He=`ibSd-S`,Ue=`lXezvv`,We=`FMlLGX`,K=`d2Zt7U`,q={treeNodeButton:W,treePopupHeader:Fe,treeColumns:G,treeColumnRow:Ie,treeColumnsPopupLayout:Le,treeColumnCheckBox:Re,treeNodeSelectionCell:ze,treeNodeActionCell:Be,treeIndent:Ve,treeExpander:He,treeExpanderPlaceholder:Ue,treeExpanderIcon:We,treeExpanderIconExpanded:K}})))()}function Ke({node:e,level:t,highlight:n,hasChildren:i,isExpanded:o,selected:c,partial:l,selectionMode:u,optionsLayout:d=`tree`,onToggleExpand:f,onToggleSelection:m,onActivate:h,actionRef:g}){let ee=d===`tree`,_=d===`columns`&&t===0,v=(0,J.jsx)(p,{text:e.label,code:e.code,searchText:n,emphasizeContent:_}),te=i?(0,J.jsx)(`span`,{className:q.treeExpander,"aria-hidden":`true`,onMouseDown:e=>e.preventDefault(),onClick:e=>{e.stopPropagation(),f?.()},"data-ui":`tree-select-expander`,"data-action":o?`collapse-tree-select-node`:`expand-tree-select-node`,children:(0,J.jsx)(r,{className:s(q.treeExpanderIcon,o&&q.treeExpanderIconExpanded)})}):(0,J.jsx)(`div`,{className:q.treeExpanderPlaceholder,"aria-hidden":`true`});return u===`multi`&&d===`tree`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{role:`gridcell`,className:q.treeNodeSelectionCell,children:[(0,J.jsx)(`div`,{className:q.treeIndent,style:{"--tree-level":t},"aria-hidden":`true`}),te,(0,J.jsx)(`div`,{className:q.treeColumnCheckBox,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:(0,J.jsx)(a,{value:c,indeterminate:l,disabled:e.disabled,"aria-label":`${c?`Убрать`:`Добавить`} «${e.label}» ${c?`из выбора`:`в выбор`}`,onChange:()=>m?.()})})]}),(0,J.jsx)(`div`,{role:`gridcell`,className:q.treeNodeActionCell,children:(0,J.jsx)(he,{ref:g,className:q.treeNodeButton,tabIndex:-1,disabled:e.disabled,"aria-label":`Выбрать только «${e.label}»`,text:e.label,code:e.code,searchText:n,onMouseDown:e=>e.preventDefault(),onClick:h})})]}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:q.treeIndent,style:{"--tree-level":t},"aria-hidden":`true`}),ee?te:null,u===`multi`?(0,J.jsx)(`div`,{className:q.treeColumnCheckBox,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:(0,J.jsx)(a,{value:c,indeterminate:l,disabled:e.disabled,"aria-label":`Выбрать ${e.label}`,onChange:()=>m?.()})}):null,d===`tree`?(0,J.jsx)(ge,{className:q.treeNodeButton,children:v}):(0,J.jsx)(he,{ref:g,className:q.treeNodeButton,tabIndex:-1,disabled:e.disabled,text:e.label,code:e.code,searchText:n,emphasizeContent:_,onMouseDown:e=>e.preventDefault(),onClick:h})]})}var J;function qe(){return(qe=e((()=>{c(),n(),i(),me(),f(),b(),Ge(),J=o(),Ke.__docgenInfo={description:``,methods:[],displayName:`TreeNodeContent`,props:{node:{required:!0,tsType:{name:`signature`,type:`object`,raw:`{
2
2
  id: string;
3
3
  codeKey: string;
4
4
  value: string;
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-CU98mtpe.js";import{n as r,r as i,t as a,u as o}from"./TreePickerBase-BQKfhufH.js";function s(e){if(e)return e.code&&e.code!==e.label?`${e.label} · ${e.code}`:e.label}function c({label:e,description:t,disabled:n,placeholder:r=`Выберите значение`,size:c,nodes:d,value:f,onChange:p,query:m,defaultQuery:h,onQuery:g,isLoading:_,error:v,fieldError:y,required:b,clearable:x=!1,defaultExpandedCodeKeys:S}){let C=(0,l.useMemo)(()=>i(d),[d]),w=o(f,C),T=w?C.nodeById.get(w):void 0;return(0,u.jsx)(a,{label:e,description:t,disabled:n,placeholder:r,size:c,nodes:d,selectedIds:w?new Set([w]):new Set,partialIds:new Set,selectionMode:`single`,defaultExpandedCodeKeys:S,triggerMode:`search`,selectedSummaryText:s(T),query:m,defaultQuery:h,onQuery:g,onNodeActivate:e=>p({codeKey:e.codeKey,value:e.value}),onClearSelection:x?()=>p(void 0):void 0,isLoading:_,error:v,fieldError:y,required:b})}var l,u;function d(){return(d=e((()=>{l=t(),r(),u=n(),c.__docgenInfo={description:``,methods:[],displayName:`TreeSelect`,props:{nodes:{required:!0,tsType:{name:`unknown`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Выберите значение"`,computed:!1}},query:{required:!1,tsType:{name:`string`},description:``},defaultQuery:{required:!1,tsType:{name:`string`},description:``},onQuery:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},isLoading:{required:!1,tsType:{name:`boolean`},description:``},error:{required:!1,tsType:{name:`string`},description:``},fieldError:{required:!1,tsType:{name:`string`},description:`Ошибка выбранного значения; error сообщает о сбое загрузки дерева в popup.`},required:{required:!1,tsType:{name:`boolean`},description:``},clearable:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`false`,computed:!1}},defaultExpandedCodeKeys:{required:!1,tsType:{name:`unknown`},description:"Ключи уровней, узлы которых раскрываются до ручного действия пользователя.\nЗначения сопоставляются с `TreeSelectNode.codeKey`."}},composes:[`Omit`]}})))()}export{d as n,c as t};
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-BmGorvhi.js";import{n as r,r as i,t as a,u as o}from"./TreePickerBase-BCbV37dL.js";function s(e){if(e)return e.code&&e.code!==e.label?`${e.label} · ${e.code}`:e.label}function c({label:e,description:t,disabled:n,placeholder:r=`Выберите значение`,size:c,nodes:d,value:f,onChange:p,query:m,defaultQuery:h,onQuery:g,isLoading:_,error:v,fieldError:y,required:b,clearable:x=!1,defaultExpandedCodeKeys:S}){let C=(0,l.useMemo)(()=>i(d),[d]),w=o(f,C),T=w?C.nodeById.get(w):void 0;return(0,u.jsx)(a,{label:e,description:t,disabled:n,placeholder:r,size:c,nodes:d,selectedIds:w?new Set([w]):new Set,partialIds:new Set,selectionMode:`single`,defaultExpandedCodeKeys:S,triggerMode:`search`,selectedSummaryText:s(T),query:m,defaultQuery:h,onQuery:g,onNodeActivate:e=>p({codeKey:e.codeKey,value:e.value}),onClearSelection:x?()=>p(void 0):void 0,isLoading:_,error:v,fieldError:y,required:b})}var l,u;function d(){return(d=e((()=>{l=t(),r(),u=n(),c.__docgenInfo={description:``,methods:[],displayName:`TreeSelect`,props:{nodes:{required:!0,tsType:{name:`unknown`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Выберите значение"`,computed:!1}},query:{required:!1,tsType:{name:`string`},description:``},defaultQuery:{required:!1,tsType:{name:`string`},description:``},onQuery:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},isLoading:{required:!1,tsType:{name:`boolean`},description:``},error:{required:!1,tsType:{name:`string`},description:``},fieldError:{required:!1,tsType:{name:`string`},description:`Ошибка выбранного значения; error сообщает о сбое загрузки дерева в popup.`},required:{required:!1,tsType:{name:`boolean`},description:``},clearable:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`false`,computed:!1}},defaultExpandedCodeKeys:{required:!1,tsType:{name:`unknown`},description:"Ключи уровней, узлы которых раскрываются до ручного действия пользователя.\nЗначения сопоставляются с `TreeSelectNode.codeKey`."}},composes:[`Omit`]}})))()}export{d as n,c as t};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CU98mtpe.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-SX-KK9Lg.js";import{a as p,i as m,n as h,o as g,r as _,s as v,t as y}from"./TreeSelect.stories-GRcEv-kN.js";function b(e){let t={code:`code`,h2:`h2`,p:`p`,...n(),...e.components};return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(s,{of:g,parameters:{docs:{toc:!0}}}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-BmGorvhi.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-u0CCD6I1.js";import{a as p,i as m,n as h,o as g,r as _,s as v,t as y}from"./TreeSelect.stories-RVPMBCd_.js";function b(e){let t={code:`code`,h2:`h2`,p:`p`,...n(),...e.components};return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(s,{of:g,parameters:{docs:{toc:!0}}}),`
2
2
  `,(0,S.jsx)(u,{children:`TreeSelect`}),`
3
3
  `,(0,S.jsx)(o,{children:`Single-select для выбора одного узла из дерева`}),`
4
4
  `,(0,S.jsxs)(t.p,{children:[(0,S.jsx)(t.code,{children:`TreeSelect`}),` подходит для сценариев, где выбор должен происходить по одному узлу, но пользователь работает не с плоским списком, а с иерархией.`]}),`
@@ -1,4 +1,4 @@
1
- import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-CU98mtpe.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./treeStoryFixtures-DXHh9GL3.js";import{n as s,t as c}from"./TreeSelect-BSr4FMlq.js";var l=t({Basic:()=>m,Empty:()=>_,FirstLevelExpanded:()=>g,RequiredWithError:()=>v,SelectParent:()=>h,__namedExportsOrder:()=>y,default:()=>p});function u({args:e,updateArgs:t}){return(0,d.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,d.jsx)(c,{...e,onChange:n=>{e.onChange(n),t({value:n,fieldError:n?void 0:e.fieldError})}}),(0,d.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,e.value?`${e.value.codeKey}=${e.value.value}`:`пусто`]})]})}var d,f,p,m,h,g,_,v,y;function b(){return(b=e((()=>{r(),s(),a(),d=n(),f=i((e,t)=>(0,d.jsx)(u,{args:e,updateArgs:t})),p={title:`UI/TreeSelect`,component:c,parameters:{atomicCanvas:!0,layout:`padded`},args:{label:`Выбор узла`,description:`Single-select поверх дерева. Можно выбрать любой узел.`,nodes:o,value:void 0,onChange:()=>{}},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под полем.`,control:`text`},required:{description:`Помечает выбор узла как обязательный.`,control:`boolean`},fieldError:{description:`Текст ошибки выбранного узла под полем.`,control:`text`},placeholder:{description:`Текст без выбранного узла.`,control:`text`},nodes:{description:`Дерево доступных узлов.`,control:!1},value:{description:`Выбранный узел в формате codeKey/value.`,control:!1},onChange:{description:`Вызывается при выборе узла.`,control:!1},query:{description:`Контролируемый текст поиска.`,control:`text`},defaultQuery:{description:`Начальный текст поиска в uncontrolled-режиме.`,control:`text`},onQuery:{description:`Вызывается при вводе поисковой строки.`,control:!1},isLoading:{description:`Показывает загрузку дерева.`,control:`boolean`},error:{description:`Текст ошибки загрузки.`,control:`text`},clearable:{description:`Показывает действие очистки выбора.`,control:`boolean`},defaultExpandedCodeKeys:{description:`Ключи уровней, раскрываемых при открытии.`,control:!1},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},m={render:f,args:{value:{codeKey:`BRANCH`,value:`B0101`}}},h={render:f,args:{label:`Выбор родителя`,description:`Проверка single-select сценария, когда выбирается не leaf, а промежуточный узел.`,value:{codeKey:`REGION`,value:`R01`}}},g={render:f,args:{label:`Раскрыт первый уровень`,description:`Все узлы уровня REGION раскрыты до первого ручного действия пользователя.`,defaultExpandedCodeKeys:[`REGION`]}},_={render:f,args:{nodes:[],description:`Состояние без доступных узлов.`}},v={name:`Обязательное поле с ошибкой`,render:f,args:{required:!0,fieldError:`Выберите узел дерева.`,value:void 0}},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
1
+ import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-BmGorvhi.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./treeStoryFixtures-DXHh9GL3.js";import{n as s,t as c}from"./TreeSelect-CTvlmF81.js";var l=t({Basic:()=>m,Empty:()=>_,FirstLevelExpanded:()=>g,RequiredWithError:()=>v,SelectParent:()=>h,__namedExportsOrder:()=>y,default:()=>p});function u({args:e,updateArgs:t}){return(0,d.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,d.jsx)(c,{...e,onChange:n=>{e.onChange(n),t({value:n,fieldError:n?void 0:e.fieldError})}}),(0,d.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,e.value?`${e.value.codeKey}=${e.value.value}`:`пусто`]})]})}var d,f,p,m,h,g,_,v,y;function b(){return(b=e((()=>{r(),s(),a(),d=n(),f=i((e,t)=>(0,d.jsx)(u,{args:e,updateArgs:t})),p={title:`UI/TreeSelect`,component:c,parameters:{atomicCanvas:!0,layout:`padded`},args:{label:`Выбор узла`,description:`Single-select поверх дерева. Можно выбрать любой узел.`,nodes:o,value:void 0,onChange:()=>{}},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под полем.`,control:`text`},required:{description:`Помечает выбор узла как обязательный.`,control:`boolean`},fieldError:{description:`Текст ошибки выбранного узла под полем.`,control:`text`},placeholder:{description:`Текст без выбранного узла.`,control:`text`},nodes:{description:`Дерево доступных узлов.`,control:!1},value:{description:`Выбранный узел в формате codeKey/value.`,control:!1},onChange:{description:`Вызывается при выборе узла.`,control:!1},query:{description:`Контролируемый текст поиска.`,control:`text`},defaultQuery:{description:`Начальный текст поиска в uncontrolled-режиме.`,control:`text`},onQuery:{description:`Вызывается при вводе поисковой строки.`,control:!1},isLoading:{description:`Показывает загрузку дерева.`,control:`boolean`},error:{description:`Текст ошибки загрузки.`,control:`text`},clearable:{description:`Показывает действие очистки выбора.`,control:`boolean`},defaultExpandedCodeKeys:{description:`Ключи уровней, раскрываемых при открытии.`,control:!1},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},m={render:f,args:{value:{codeKey:`BRANCH`,value:`B0101`}}},h={render:f,args:{label:`Выбор родителя`,description:`Проверка single-select сценария, когда выбирается не leaf, а промежуточный узел.`,value:{codeKey:`REGION`,value:`R01`}}},g={render:f,args:{label:`Раскрыт первый уровень`,description:`Все узлы уровня REGION раскрыты до первого ручного действия пользователя.`,defaultExpandedCodeKeys:[`REGION`]}},_={render:f,args:{nodes:[],description:`Состояние без доступных узлов.`}},v={name:`Обязательное поле с ошибкой`,render:f,args:{required:!0,fieldError:`Выберите узел дерева.`,value:void 0}},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
2
2
  render: renderTreeSelectStory,
3
3
  args: {
4
4
  value: {
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CU98mtpe.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-SX-KK9Lg.js";import{_ as p,a as m,c as h,d as g,f as _,g as v,h as y,i as b,l as x,m as S,n as C,o as w,p as T,r as E,s as D,t as O,u as k}from"./TreeTable.stories-35ufhVh1.js";function A(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(s,{of:D,parameters:{docs:{toc:!0}}}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-BmGorvhi.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-u0CCD6I1.js";import{_ as p,a as m,c as h,d as g,f as _,g as v,h as y,i as b,l as x,m as S,n as C,o as w,p as T,r as E,s as D,t as O,u as k}from"./TreeTable.stories-Lx2ImfgC.js";function A(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(s,{of:D,parameters:{docs:{toc:!0}}}),`
2
2
  `,(0,M.jsx)(u,{children:`TreeTable`}),`
3
3
  `,(0,M.jsx)(o,{children:`Древовидная таблица для плоских OData-данных на базе TanStack Table`}),`
4
4
  `,(0,M.jsxs)(t.p,{children:[(0,M.jsx)(t.code,{children:`TreeTable`}),` предназначен для сценариев, где данные приходят плоским списком, но в UI должны выглядеть как дерево.
@@ -0,0 +1,138 @@
1
+ import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r,t as i}from"./chevron-down-DqHAghNU.js";import{n as a,t as o}from"./chevron-right-BUqG0v39.js";import{n as s}from"./iframe-BmGorvhi.js";import{a as c,i as l}from"./utils-tg3ibbzi.js";import{h as u,u as ee}from"./formatters-DVE1YVNQ-CJCkXjuI.js";import{n as te,t as d}from"./useTable-CK68Q4S4.js";import{_ as ne,a as re,c as ie,d as ae,f as oe,g as se,h as ce,i as le,l as ue,m as de,n as fe,o as pe,p as me,r as he,s as ge,t as _e,u as ve,v as ye,y as be}from"./FormattedTableCell-CdlWquoj.js";import{n as xe,t as f}from"./createControlledStoryRender-BouhvX-R.js";import{A as Se,D as Ce,O as we,T as Te,_ as Ee,a as De,b as Oe,g as ke,h as Ae,i as je,k as Me,y as p}from"./odata-DLogt0PY.js";function Ne(e,t,n){let r=e.get(t);if(r){r.push(n);return}e.set(t,[n])}function m(e){return Array.from(new Set(e))}function Pe(e,t){let n=new Map,r=new Map,i=new Map,a=[],o=[],s=[],c=[];for(let o of e){let e=t.getRowId(o);if(n.has(e)){a.push(e);continue}let s=t.getParentRowId(o)??null;n.set(e,o),r.set(e,s),c.push(e),s!==null&&s!==e&&Ne(i,s,e)}let l=[];for(let e of c){let t=r.get(e)??null;if(t===null){l.push(e);continue}if(t===e){s.push(e),l.push(e);continue}n.has(t)||(o.push(e),l.push(e))}let u=new Set,ee=(e,t)=>{let r=n.get(e);if(!r)throw Error(`Не удалось построить дерево: строка "${e}" отсутствует в индексе.`);u.add(e);let a=new Set(t);a.add(e);let o={...r},c=i.get(e)??[],l=[];for(let e of c){if(a.has(e)){s.push(e);continue}u.has(e)||l.push(ee(e,a))}return l.length>0&&(o.children=l),o},te=[],d=[];for(let e of l)u.has(e)||(te.push(ee(e,new Set)),d.push(e));for(let e of c)u.has(e)||(s.push(e),te.push(ee(e,new Set)),d.push(e));return{rows:te,rowById:n,allRowIds:c,rootRowIds:m(d),orphanRowIds:m(o),duplicateRowIds:m(a),cyclicRowIds:m(s)}}function Fe(){return(Fe=e((()=>{})))()}var Ie,h,g,Le,_,v,y,b;function x(){return(x=e((()=>{Ie=`jOS9rT`,h=`zHOAf7`,g=`j48cXg`,Le=`mf4-Kr`,_=`p8pb0F`,v=`KIudLf`,y=`bJsPGU`,b={treeColumnCell:Ie,selectedIndicatorCell:h,treeCell:g,treeCellContent:Le,expanderButton:_,expanderSpacer:v,sentinel:y}})))()}function Re(e){return Object.fromEntries(e.map(e=>[e,!0]))}function ze(e){return typeof e==`boolean`?[]:Object.keys(e).filter(t=>e[t])}function Be(e,t){return t.get(e.id)??e.original}function Ve(e,t,n,r){return e.cell.column.id===n?(0,w.jsxs)(`div`,{className:b.treeCell,style:{paddingInlineStart:`calc(${e.row.depth} * ${p(r)??`0em`})`},children:[e.row.getCanExpand()?(0,w.jsx)(`button`,{type:`button`,className:b.expanderButton,"aria-label":e.row.getIsExpanded()?`Свернуть строку`:`Развернуть строку`,"data-tree-table-interactive":`true`,"data-ui":`tree-table-expander`,"data-action":e.row.getIsExpanded()?`collapse-tree-table-row`:`expand-tree-table-row`,onClick:t=>{t.stopPropagation(),e.row.toggleExpanded()},children:e.row.getIsExpanded()?(0,w.jsx)(i,{size:16}):(0,w.jsx)(o,{size:16})}):(0,w.jsx)(`span`,{className:b.expanderSpacer,"aria-hidden":`true`}),(0,w.jsx)(`div`,{className:b.treeCellContent,children:t})]}):t}function S({title:e,isLoading:t,isFetching:n,data:r,columns:i,hierarchy:a,selectionMode:o=`none`,expandFirstLevel:s=!1,defaultExpandedRowIds:l,treeColumnId:u,indentSize:d=1,className:re,tableClassName:ae,columnVisibility:se,defaultColumnVisibility:le,columnOrder:ue,defaultColumnOrder:de,columnSizing:fe,defaultColumnSizing:ge,columnPinning:be,defaultColumnPinning:xe,enableColumnResizing:f=!1,enableColumnReordering:Se=!1,columnResizeMinWidth:Ce,onColumnVisibilityChange:we,onColumnOrderChange:Te,onColumnSizingChange:De,onColumnPinningChange:Oe,onRowClick:Ae,onRowSelectionChange:je,onExpandedRowIdsChange:Me,onReachEnd:p,getRowCanSelect:Ne,getRowClassName:m,renderHeaderContextMenu:Fe,renderCellContent:Ie}){let h=(0,C.useMemo)(()=>Pe(r??[],a),[r,a]),g=(0,C.useMemo)(()=>ce(i),[i]),Le=(0,C.useMemo)(()=>{let e=new Set(l??[]);if(s)for(let t of h.rootRowIds)e.add(t);return Array.from(e)},[l,s,h.rootRowIds]),[_,v]=(0,C.useState)({}),y=(0,C.useRef)(!1),x=(0,C.useRef)(null),S=(0,C.useRef)(null),{rowSelection:He,activateRowSelection:Ue}=ke({availableRowIds:h.allRowIds,rowById:h.rowById,selectionMode:o,onRowSelectionChange:je}),{columnVisibility:T,onColumnVisibilityChange:E}=pe({columnVisibility:se,defaultColumnVisibility:le,onColumnVisibilityChange:we}),{columnOrder:D,onColumnOrderChange:We}=oe({columnOrder:ue,defaultColumnOrder:de,onColumnOrderChange:Te}),{columnSizing:O,onColumnSizingChange:k}=ie({columnSizing:fe,defaultColumnSizing:ge,columnResizeMinWidth:Ce,onColumnSizingChange:De}),{columnPinning:A,onColumnPinningChange:Ge}=ve({columnPinning:be,defaultColumnPinning:xe,onColumnPinningChange:Oe}),Ke=(0,C.useMemo)(()=>({columnOrder:D,columnPinning:A,columnSizing:O,columnVisibility:T}),[D,A,O,T]),qe=(0,C.useEffectEvent)((e,t)=>{if(e.length===0){y.current=!1,v({});return}let n=new Set(e);v(e=>{let r=ze(e).filter(e=>n.has(e));return y.current?Re(r):(y.current=!0,Re(Array.from(new Set([...r,...t.filter(e=>n.has(e))]))))})}),j=(0,C.useEffectEvent)(e=>{Me?.(ze(e))}),Je=(0,C.useEffectEvent)(()=>{p?.()});(0,C.useEffect)(()=>{qe(h.allRowIds,Le)},[Le,h.allRowIds]),(0,C.useEffect)(()=>{j(_)},[_]),(0,C.useEffect)(()=>{if(!p||!x.current||!S.current||t)return;let e=new IntersectionObserver(e=>{e[0]?.isIntersecting&&Je()},{root:x.current,threshold:.1});return e.observe(S.current),()=>e.disconnect()},[t,p,h.rows.length]);let M=te({features:Ee,data:h.rows,columns:i,state:{columnOrder:D,columnPinning:A,columnSizing:O,columnVisibility:T,expanded:_,rowSelection:He},getRowId:e=>a.getRowId(e),getSubRows:e=>e.children,onColumnOrderChange:We,onColumnPinningChange:Ge,onColumnSizingChange:k,onColumnVisibilityChange:E,onExpandedChange:v,enableMultiRowSelection:o===`multi`,enableRowSelection:e=>{if(o===`none`)return!1;let t=Be(e,h.rowById);return!Ne||Ne(t)}}),N=ye(M,Ke),P=u??N[0]?.id,Ye=M.getRowModel().rows,Xe=(0,C.useMemo)(()=>me({rows:Ye,columns:N,resolveRowBoundaryKey:e=>e.depth,excludeColumnIds:P?new Set([P]):void 0}),[Ye,N,P]);return(0,w.jsx)(he,{table:M,columnState:Ke,title:e,isLoading:t,isFetching:n,className:re,tableClassName:ae,selectionMode:o,scrollableRef:x,interactiveElementSelector:`[data-tree-table-interactive="true"]`,onActivateRow:o!==`none`||Ae?e=>{let t=Be(e,h.rowById);Ue(e.id,e.getCanSelect()),Ae?.(t)}:void 0,isRowInteractive:e=>!!(Ae||o!==`none`&&e.getCanSelect()),getRowClassName:e=>{let t=Be(e,h.rowById);return m?.(t)},getCellClassName:({row:e,cell:t})=>c(t.column.id===P&&b.treeColumnCell,t.column.id===P&&e.getIsSelected()&&b.selectedIndicatorCell),getCellLayout:({cell:e})=>Xe.get(e.id),renderHeaderContextMenu:Fe,enableColumnResizing:f,enableColumnReordering:Se,columnResizeMinWidth:Ce,renderCellContent:e=>{let t=Be(e.row,h.rowById),n=ee({field:g.runtimeByColumnId[e.cell.column.id],rawValue:e.cell.getValue(),rowData:t,rowKind:`tree`}),r=ne({columnId:e.cell.column.id,runtimeByColumnId:g.runtimeByColumnId,customCellColumnIds:g.customCellColumnIds})?(0,w.jsx)(_e,{displayValue:n,align:e.columnMeta?.align}):e.defaultContent;return Ve(e,Ie?Ie({...e,defaultContent:r,displayValue:n}):r,P,d)},afterTableContent:p?(0,w.jsx)(`div`,{ref:S,className:b.sentinel,"aria-hidden":`true`}):null})}var C,w;function He(){return(He=e((()=>{C=n(),u(),Oe(),Fe(),l(),d(),r(),a(),le(),de(),se(),fe(),be(),ae(),ue(),ge(),re(),x(),w=s(),S.__docgenInfo={description:`Древовидная таблица на базе TanStack Table для плоских OData-данных.`,methods:[],displayName:`TreeTable`,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:`Описание колонок через исходный тип строки.`},hierarchy:{required:!0,tsType:{name:`TreeTableFlatHierarchy`,elements:[{name:`TData`}],raw:`TreeTableFlatHierarchy<TData>`},description:`Правила восстановления дерева из плоского списка.`},selectionMode:{required:!1,tsType:{name:`TableSelectionMode`},description:`Режим выбора строк.`,defaultValue:{value:`"none"`,computed:!1}},expandFirstLevel:{required:!1,tsType:{name:`boolean`},description:"Если `true`, при первом появлении данных раскрывает корневой уровень.",defaultValue:{value:`false`,computed:!1}},defaultExpandedRowIds:{required:!1,tsType:{name:`unknown`},description:`Дополнительные строки, которые должны быть раскрыты при первой инициализации.`},treeColumnId:{required:!1,tsType:{name:`string`},description:`Идентификатор колонки, в которой нужно рисовать tree-toggle и отступы.
2
+
3
+ Если не указан, используется первая видимая колонка.`},indentSize:{required:!1,tsType:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]},description:`Отступ на один уровень вложенности.
4
+
5
+ Числовое значение трактуется как \`em\`.`,defaultValue:{value:`1`,computed:!1}},className:{required:!1,tsType:{name:`string`},description:`Дополнительный CSS-класс корневого контейнера.`},tableClassName:{required:!1,tsType:{name:`string`},description:"Дополнительный CSS-класс тега `table`."},columnVisibility:{required:!1,tsType:{name:`TableColumnVisibilityState`},description:`Внешнее controlled-состояние видимости колонок.`},defaultColumnVisibility:{required:!1,tsType:{name:`TableColumnVisibilityState`},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-состояние start-pinning для колонок.`},defaultColumnPinning:{required:!1,tsType:{name:`TableColumnPinningState`},description:`Стартовое uncontrolled-состояние start-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: TableColumnVisibilityState) => void`,signature:{arguments:[{type:{name:`TableColumnVisibilityState`},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:`Вызывается после изменения start-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:`Вызывается после изменения выбранных строк.`},onExpandedRowIdsChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(rowIds: string[]) => void`,signature:{arguments:[{type:{name:`Array`,elements:[{name:`string`}],raw:`string[]`},name:`rowIds`}],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<TreeTableRuntimeRow<TData>>["renderHeaderContextMenu"]`},description:`Контекстное меню заголовка колонки. Получает runtime-строки дерева,
6
+ потому что BaseTable работает уже после сборки flat hierarchy.`},renderCellContent:{required:!1,tsType:{name:`BaseTableProps["renderCellContent"]`,raw:`BaseTableProps<TreeTableRuntimeRow<TData>>["renderCellContent"]`},description:`Точка расширения содержимого ячейки после общего форматирования.
7
+
8
+ Для tree-column в \`defaultContent\` передается только содержимое ячейки:
9
+ TreeTable сам добавит expander и отступ после выполнения слота.`}}}})))()}var Ue=t({Basic:()=>z,CollapsedByDefault:()=>V,Empty:()=>G,Fetching:()=>W,Loading:()=>K,MultiSelect:()=>B,WithDefaultExpandedBranch:()=>H,WithDisabledRows:()=>U,WithFormattedTreeColumn:()=>J,WithFormulaColumn:()=>q,WithHiddenZero:()=>Y,WithMergedDuplicates:()=>X,WithODataMetadataAdapter:()=>Z,WithUseODataTableColumnsBuildHook:()=>Q,WithUseODataTableColumnsEnrichHook:()=>$,__namedExportsOrder:()=>it,default:()=>nt});function T(){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 E({args:e,updateArgs:t}){return(0,A.jsx)(S,{...e,onColumnVisibilityChange:n=>{e.onColumnVisibilityChange?.(n),t({columnVisibility:n})},onColumnOrderChange:n=>{e.onColumnOrderChange?.(n),t({columnOrder:n})},onColumnSizingChange:n=>{e.onColumnSizingChange?.(n),t({columnSizing:n})},onColumnPinningChange:n=>{e.onColumnPinningChange?.(n),t({columnPinning:n})}})}function D({args:e,updateArgs:t}){let{columns:n,metadata:r,isLoading:i}=je({service:F,target:I,mode:`build`});return(0,A.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`},children:[(0,A.jsxs)(`div`,{children:[`Режим build: hook собрал `,n.length,` колонки из metadata`,r?` для сущности «${r.title}».`:`.`]}),(0,A.jsx)(E,{args:{...e,columns:n,isLoading:e.isLoading??i},updateArgs:t})]})}function We({args:e,updateArgs:t}){let{columns:n,metadata:r,isLoading:i}=je({service:F,target:I,mode:`enrich`,columns:[{id:`label`,accessorKey:`label`,header:`Статья`,meta:{width:16}},{id:`createdAt`,accessorKey:`createdAt`,header:`Создано`,meta:{width:12}},{id:`totalAmount`,accessorKey:`totalAmount`,header:`Итог`,meta:{width:10,align:`right`}}]});return(0,A.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`},children:[(0,A.jsxs)(`div`,{children:[`Режим enrich: hook сохранил ручные tree-колонки и дополнил их formatting-контекстом`,r?` из metadata «${r.title}».`:`.`]}),(0,A.jsx)(E,{args:{...e,columns:n,isLoading:e.isLoading??i},updateArgs:t})]})}function O({args:e,updateArgs:t,intro:n}){let[r,i]=(0,k.useState)([]);return(0,A.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`},children:[n?(0,A.jsx)(`div`,{children:n}):null,(0,A.jsxs)(`div`,{children:[`Выбрано: `,r.length>0?r.join(`, `):`ничего`]}),(0,A.jsx)(E,{args:{...e,onRowSelectionChange:t=>{e.onRowSelectionChange?.(t),i(t.map(e=>e.label))}},updateArgs:t})]})}var k,A,Ge,Ke,qe,j,Je,M,N,P,Ye,Xe,Ze,Qe,$e,F,I,et,tt,nt,L,R,rt,z,B,V,H,U,W,G,K,q,J,Y,X,Z,Q,$,it;function at(){return(at=e((()=>{k=n(),De(),we(),Oe(),Se(),xe(),He(),A=s(),Ge=[{id:`revenue`,parentId:null,label:`Выручка`,jan:`1 240`,feb:`1 320`,mar:`1 410`,apr:`1 505`},{id:`revenue_clients`,parentId:`revenue`,label:`Клиентский сегмент`,jan:`920`,feb:`960`,mar:`1 020`,apr:`1 080`},{id:`revenue_exports`,parentId:`revenue`,label:`Экспорт`,jan:`320`,feb:`360`,mar:`390`,apr:`425`},{id:`margin`,parentId:null,label:`Маржинальность`,jan:`18%`,feb:`19%`,mar:`21%`,apr:`20%`},{id:`margin_sales`,parentId:`margin`,label:`Продажи`,jan:`12%`,feb:`13%`,mar:`14%`,apr:`14%`},{id:`margin_logistics`,parentId:`margin`,label:`Логистика`,jan:`6%`,feb:`6%`,mar:`7%`,apr:`6%`},{id:`margin_logistics_local`,parentId:`margin_logistics`,label:`Локальная логистика`,jan:`4%`,feb:`4%`,mar:`5%`,apr:`4%`},{id:`margin_logistics_export`,parentId:`margin_logistics`,label:`Экспортная логистика`,jan:`2%`,feb:`2%`,mar:`2%`,apr:`2%`,isLocked:!0},{id:`orphan_costs`,parentId:`missing_parent`,label:`Прочие расходы без родителя`,jan:`30`,feb:`28`,mar:`31`,apr:`35`}],Ke=[{id:`label`,accessorKey:`label`,header:`Показатель`,meta:{width:18,align:`left`}},{id:`jan`,accessorKey:`jan`,header:`янв`,meta:{width:8,align:`right`}},{id:`feb`,accessorKey:`feb`,header:`фев`,meta:{width:8,align:`right`}},{id:`mar`,accessorKey:`mar`,header:`мар`,meta:{width:8,align:`right`}},{id:`apr`,accessorKey:`apr`,header:`апр`,meta:{width:8,align:`right`}}],qe={getRowId:e=>e.id,getParentRowId:e=>e.parentId},j={getRowId:e=>e.id,getParentRowId:e=>e.parentId},Je={getRowId:e=>e.id,getParentRowId:e=>e.parentId},M=[{id:`revenue`,parentId:null,label:`Выручка`,purchasePrice:80,salePrice:125,healthScore:40,pendingAmount:0,createdAt:`2026-03-18T09:15:00.000Z`,totalAmount:1820},{id:`revenue_domestic`,parentId:`revenue`,label:`Внутренний рынок`,purchasePrice:82,salePrice:129,healthScore:120,pendingAmount:250,createdAt:`2026-03-18T10:00:00.000Z`,totalAmount:980},{id:`revenue_export`,parentId:`revenue`,label:`Экспорт`,purchasePrice:75,salePrice:118,healthScore:95,pendingAmount:0,createdAt:`2026-03-19T08:25:00.000Z`,totalAmount:840},{id:`margin`,parentId:null,label:`Маржинальность`,purchasePrice:60,salePrice:90,healthScore:70,pendingAmount:0,createdAt:`2026-03-20T07:05:00.000Z`,totalAmount:640}],N=[{id:`div-root-1`,parentId:null,label:`Корень 1`,division:`ДВД`},{id:`div-root-2`,parentId:null,label:`Корень 2`,division:`ДВД`},{id:`div-root-3`,parentId:null,label:`Корень 3`,division:`УД`},{id:`div-child-1`,parentId:`div-root-3`,label:`Дочерний узел`,division:`УД`}],P=[{id:`label`,accessorKey:`label`,header:`Показатель`,meta:{width:14}},{id:`division`,accessorKey:`division`,header:`Дивизион`,meta:{width:10,mergeDuplicates:!0}}],Ye=[{id:`label`,accessorKey:`label`,header:`Показатель`,meta:{width:16}},{id:`purchasePrice`,accessorKey:`purchasePrice`,header:`Закупка`,meta:{width:8,align:`right`,formatting:{role:`measure`,type:`decimal`}}},{id:`salePrice`,accessorKey:`salePrice`,header:`Продажа`,meta:{width:8,align:`right`,formatting:{role:`measure`,type:`decimal`}}},{id:`markup`,accessorFn:()=>void 0,header:`Наценка`,meta:{width:8,align:`right`,formatting:{role:`measure`,type:`decimal`,formulaId:`markup`,formulaDependencies:[`purchasePrice`,`salePrice`],purelyDerived:!0}}}],Xe=[{id:`totalAmount`,accessorKey:`totalAmount`,header:`Сумма в дереве`,meta:{width:12,align:`right`,formatting:{role:`measure`,type:`decimal`,formattersPipeline:T()}}},{id:`label`,accessorKey:`label`,header:`Показатель`,meta:{width:14}}],Ze=[{id:`label`,accessorKey:`label`,header:`Показатель`,meta:{width:16}},{id:`pendingAmount`,accessorKey:`pendingAmount`,header:`Резерв`,meta:{width:8,align:`right`,formatting:{role:`measure`,type:`decimal`,emptyWhenZero:!0}}}],Qe=[{id:`label`,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`}],$e=Ae(Qe),F=`ZDEMO_FINANCE_SRV`,I=`FinanceSet`,et={title:`Финансовая иерархия`,columns:Qe},tt=(e,t)=>{let n=(0,k.useMemo)(()=>{let e=Ce({}),n=t.parameters.odataService,r=t.parameters.odataEntity,i=t.parameters.odataMetadata;return n&&r&&i&&e.setQueryData(Te({service:n}).queryKey,{entities:{[r]:i},functionImports:{}}),e},[t.parameters.odataEntity,t.parameters.odataMetadata,t.parameters.odataService]);return(0,A.jsx)(Me,{client:n,children:e()})},nt={title:`UI/TreeTable`,component:S,args:{title:`Финансовые показатели`,data:Ge,columns:Ke,hierarchy:qe,selectionMode:`single`,expandFirstLevel:!0,indentSize:1},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{title:{description:`Заголовок таблицы.`,control:`text`},isLoading:{description:`Показывает состояние первичной загрузки.`,control:`boolean`},isFetching:{description:`Показывает фоновое обновление без очистки дерева.`,control:`boolean`},data:{description:`Плоский источник данных OData.`,control:!1},columns:{description:`Колонки TreeTable.`,control:!1},hierarchy:{description:`Функции получения id строки и id родителя.`,control:!1},selectionMode:{description:`Режим выбора строк.`,control:`inline-radio`,options:[`none`,`single`,`multi`]},expandFirstLevel:{description:`Автоматически раскрывает корневой уровень при первой инициализации.`,control:`boolean`},defaultExpandedRowIds:{description:`Дополнительные строки, которые должны быть раскрыты при первой инициализации.`,control:!1},treeColumnId:{description:`Колонка, в которой рисуется дерево.`,control:`text`},indentSize:{description:`Отступ на уровень вложенности; число трактуется как em.`,control:`number`},columnVisibility:{description:`Controlled-состояние видимости колонок.`,control:!1},defaultColumnVisibility:{description:`Стартовое uncontrolled-состояние видимости колонок.`,control:!1},columnOrder:{description:`Controlled-порядок идентификаторов колонок.`,control:!1},defaultColumnOrder:{description:`Стартовый uncontrolled-порядок колонок.`,control:!1},columnSizing:{description:`Controlled-ширины колонок в px.`,control:!1},defaultColumnSizing:{description:`Стартовые uncontrolled-ширины колонок.`,control:!1},columnPinning:{description:`Controlled-состояние закрепления колонок слева.`,control:!1},defaultColumnPinning:{description:`Стартовое uncontrolled-состояние закрепления колонок слева.`,control:!1},enableColumnResizing:{description:`Включает изменение ширины колонок через header-handle.`,control:`boolean`},enableColumnReordering:{description:`Включает перетаскивание заголовков для изменения порядка колонок.`,control:`boolean`},columnResizeMinWidth:{description:`Минимальная ширина колонки при resize в px.`,control:`number`},onColumnVisibilityChange:{description:`Вызывается после изменения видимости колонок.`,control:!1},onColumnOrderChange:{description:`Вызывается после изменения порядка колонок.`,control:!1},onColumnSizingChange:{description:`Вызывается после изменения ширины колонок.`,control:!1},onColumnPinningChange:{description:`Вызывается после изменения закрепления колонок слева.`,control:!1},getRowCanSelect:{description:`Позволяет запретить выбор отдельных строк.`,control:!1},getRowClassName:{description:`Позволяет назначить CSS-класс конкретной строке.`,control:!1},onRowClick:{description:`Вызывается при активации строки.`,control:!1},onRowSelectionChange:{description:`Вызывается после изменения выбранных строк.`,control:!1},onExpandedRowIdsChange:{description:`Вызывается после изменения раскрытых строк.`,control:!1},onReachEnd:{description:`Вызывается при достижении конца дерева внутри scroll-контейнера.`,control:!1},renderHeaderContextMenu:{description:`Слот контекстного меню заголовка колонки.`,control:!1},renderCellContent:{description:`Слот содержимого ячейки поверх стандартного formatting-runtime.`,control:!1}}},L=f((e,t)=>(0,A.jsx)(E,{args:e,updateArgs:t})),R=f((e,t)=>(0,A.jsx)(E,{args:e,updateArgs:t})),rt=f((e,t)=>(0,A.jsx)(E,{args:e,updateArgs:t})),z={render:L},B={args:{selectionMode:`multi`},render:f((e,t)=>(0,A.jsx)(O,{args:e,updateArgs:t}))},V={args:{expandFirstLevel:!1},render:L},H={args:{expandFirstLevel:!1,defaultExpandedRowIds:[`margin`,`margin_logistics`]},render:L},U={args:{selectionMode:`multi`,getRowCanSelect:e=>!e.isLocked},render:f((e,t)=>(0,A.jsx)(O,{args:e,updateArgs:t,intro:`Строка «Экспортная логистика» остаётся в дереве, но не участвует в выборе.`}))},W={args:{isFetching:!0},render:L},G={args:{data:[]},render:L},K={args:{isLoading:!0},render:L},q={args:{title:`Формула в дереве`,data:M,columns:Ye,hierarchy:j,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},render:R},J={args:{title:`Форматирование tree-колонки`,data:M,columns:Xe,hierarchy:j,treeColumnId:`totalAmount`,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},render:R},Y={args:{title:`Скрытие нулей в дереве`,data:M,columns:Ze,hierarchy:j,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},render:R},X={args:{title:`Слияние дубликатов в дереве`,data:N,columns:P,hierarchy:Je,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},render:rt},Z={args:{title:`OData metadata adapter`,data:M,columns:$e,hierarchy:j,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},render:R},Q={args:{title:`useODataTableColumns: build`,data:M,columns:[],hierarchy:j,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},decorators:[tt],parameters:{odataService:F,odataEntity:I,odataMetadata:et},render:f((e,t)=>(0,A.jsx)(D,{args:e,updateArgs:t}))},$={args:{title:`useODataTableColumns: enrich`,data:M,columns:[],hierarchy:j,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},decorators:[tt],parameters:{odataService:F,odataEntity:I,odataMetadata:et},render:f((e,t)=>(0,A.jsx)(We,{args:e,updateArgs:t}))},z.parameters={...z.parameters,docs:{...z.parameters?.docs,source:{originalSource:`{
10
+ render: renderFinancialTreeTableStory
11
+ }`,...z.parameters?.docs?.source},description:{story:`Базовый сценарий дерева с раскрытием первого уровня.`,...z.parameters?.docs?.description}}},B.parameters={...B.parameters,docs:{...B.parameters?.docs,source:{originalSource:`{
12
+ args: {
13
+ selectionMode: "multi"
14
+ },
15
+ render: createControlledStoryRender<TreeTableProps<FinancialRow>>((args, updateArgs) => <SelectionTreeTableCanvas args={args} updateArgs={updateArgs} />)
16
+ }`,...B.parameters?.docs?.source},description:{story:`Множественный выбор с отображением текущего результата.`,...B.parameters?.docs?.description}}},V.parameters={...V.parameters,docs:{...V.parameters?.docs,source:{originalSource:`{
17
+ args: {
18
+ expandFirstLevel: false
19
+ },
20
+ render: renderFinancialTreeTableStory
21
+ }`,...V.parameters?.docs?.source},description:{story:`Дерево остаётся свёрнутым до взаимодействия пользователя.`,...V.parameters?.docs?.description}}},H.parameters={...H.parameters,docs:{...H.parameters?.docs,source:{originalSource:`{
22
+ args: {
23
+ expandFirstLevel: false,
24
+ defaultExpandedRowIds: ["margin", "margin_logistics"]
25
+ },
26
+ render: renderFinancialTreeTableStory
27
+ }`,...H.parameters?.docs?.source},description:{story:`Дополнительно раскрывает конкретную ветку при первой инициализации.`,...H.parameters?.docs?.description}}},U.parameters={...U.parameters,docs:{...U.parameters?.docs,source:{originalSource:`{
28
+ args: {
29
+ selectionMode: "multi",
30
+ getRowCanSelect: row => !row.isLocked
31
+ },
32
+ render: createControlledStoryRender<TreeTableProps<FinancialRow>>((args, updateArgs) => <SelectionTreeTableCanvas args={args} updateArgs={updateArgs} intro="Строка «Экспортная логистика» остаётся в дереве, но не участвует в выборе." />)
33
+ }`,...U.parameters?.docs?.source},description:{story:`Часть строк можно показать, но запретить выбирать.`,...U.parameters?.docs?.description}}},W.parameters={...W.parameters,docs:{...W.parameters?.docs,source:{originalSource:`{
34
+ args: {
35
+ isFetching: true
36
+ },
37
+ render: renderFinancialTreeTableStory
38
+ }`,...W.parameters?.docs?.source},description:{story:`Сценарий фонового обновления данных без очистки дерева.`,...W.parameters?.docs?.description}}},G.parameters={...G.parameters,docs:{...G.parameters?.docs,source:{originalSource:`{
39
+ args: {
40
+ data: []
41
+ },
42
+ render: renderFinancialTreeTableStory
43
+ }`,...G.parameters?.docs?.source},description:{story:`Пустой источник данных.`,...G.parameters?.docs?.description}}},K.parameters={...K.parameters,docs:{...K.parameters?.docs,source:{originalSource:`{
44
+ args: {
45
+ isLoading: true
46
+ },
47
+ render: renderFinancialTreeTableStory
48
+ }`,...K.parameters?.docs?.source},description:{story:`Состояние первичной загрузки.`,...K.parameters?.docs?.description}}},q.parameters={...q.parameters,docs:{...q.parameters?.docs,source:{originalSource:`{
49
+ args: {
50
+ title: "Формула в дереве",
51
+ data: formattingRows,
52
+ columns: formulaColumns,
53
+ hierarchy: formattingHierarchy,
54
+ selectionMode: "none",
55
+ expandFirstLevel: true,
56
+ indentSize: 1
57
+ },
58
+ render: renderFormattingTreeTableStory
59
+ }`,...q.parameters?.docs?.source},description:{story:`Сценарий с formula-based колонкой в древовидной таблице.`,...q.parameters?.docs?.description}}},J.parameters={...J.parameters,docs:{...J.parameters?.docs,source:{originalSource:`{
60
+ args: {
61
+ title: "Форматирование tree-колонки",
62
+ data: formattingRows,
63
+ columns: treeFormattedColumns,
64
+ hierarchy: formattingHierarchy,
65
+ treeColumnId: "totalAmount",
66
+ selectionMode: "none",
67
+ expandFirstLevel: true,
68
+ indentSize: 1
69
+ },
70
+ render: renderFormattingTreeTableStory
71
+ }`,...J.parameters?.docs?.source},description:{story:`Сценарий, где formatting применяется прямо в tree-колонке.`,...J.parameters?.docs?.description}}},Y.parameters={...Y.parameters,docs:{...Y.parameters?.docs,source:{originalSource:`{
72
+ args: {
73
+ title: "Скрытие нулей в дереве",
74
+ data: formattingRows,
75
+ columns: hiddenZeroColumns,
76
+ hierarchy: formattingHierarchy,
77
+ selectionMode: "none",
78
+ expandFirstLevel: true,
79
+ indentSize: 1
80
+ },
81
+ render: renderFormattingTreeTableStory
82
+ }`,...Y.parameters?.docs?.source},description:{story:`Сценарий со скрытием нулевых значений в дереве.`,...Y.parameters?.docs?.description}}},X.parameters={...X.parameters,docs:{...X.parameters?.docs,source:{originalSource:`{
83
+ args: {
84
+ title: "Слияние дубликатов в дереве",
85
+ data: divisionTreeRows,
86
+ columns: divisionTreeColumns,
87
+ hierarchy: divisionTreeHierarchy,
88
+ selectionMode: "none",
89
+ expandFirstLevel: true,
90
+ indentSize: 1
91
+ },
92
+ render: renderDivisionTreeTableStory
93
+ }`,...X.parameters?.docs?.source},description:{story:"Сценарий со слиянием дубликатов на одной глубине в `TreeTable`.",...X.parameters?.docs?.description}}},Z.parameters={...Z.parameters,docs:{...Z.parameters?.docs,source:{originalSource:`{
94
+ args: {
95
+ title: "OData metadata adapter",
96
+ data: formattingRows,
97
+ columns: adapterColumns,
98
+ hierarchy: formattingHierarchy,
99
+ selectionMode: "none",
100
+ expandFirstLevel: true,
101
+ indentSize: 1
102
+ },
103
+ render: renderFormattingTreeTableStory
104
+ }`,...Z.parameters?.docs?.source},description:{story:`Сценарий со статическим OData metadata adapter в build-режиме.`,...Z.parameters?.docs?.description}}},Q.parameters={...Q.parameters,docs:{...Q.parameters?.docs,source:{originalSource:`{
105
+ args: {
106
+ title: "useODataTableColumns: build",
107
+ data: formattingRows,
108
+ columns: [],
109
+ hierarchy: formattingHierarchy,
110
+ selectionMode: "none",
111
+ expandFirstLevel: true,
112
+ indentSize: 1
113
+ },
114
+ decorators: [withMockedHookODataMetadata],
115
+ parameters: {
116
+ odataService: HOOK_ODATA_SERVICE,
117
+ odataEntity: HOOK_ODATA_ENTITY,
118
+ odataMetadata: hookMetadata
119
+ },
120
+ render: createControlledStoryRender<TreeTableProps<FinancialFormattingRow>>((args, updateArgs) => <HookBuildTreeTableStory args={args} updateArgs={updateArgs} />)
121
+ }`,...Q.parameters?.docs?.source},description:{story:"Реальный hook-сценарий `useODataTableColumns(...)` в режиме build для TreeTable.",...Q.parameters?.docs?.description}}},$.parameters={...$.parameters,docs:{...$.parameters?.docs,source:{originalSource:`{
122
+ args: {
123
+ title: "useODataTableColumns: enrich",
124
+ data: formattingRows,
125
+ columns: [],
126
+ hierarchy: formattingHierarchy,
127
+ selectionMode: "none",
128
+ expandFirstLevel: true,
129
+ indentSize: 1
130
+ },
131
+ decorators: [withMockedHookODataMetadata],
132
+ parameters: {
133
+ odataService: HOOK_ODATA_SERVICE,
134
+ odataEntity: HOOK_ODATA_ENTITY,
135
+ odataMetadata: hookMetadata
136
+ },
137
+ render: createControlledStoryRender<TreeTableProps<FinancialFormattingRow>>((args, updateArgs) => <HookEnrichTreeTableStory args={args} updateArgs={updateArgs} />)
138
+ }`,...$.parameters?.docs?.source},description:{story:"Реальный hook-сценарий `useODataTableColumns(...)` в режиме enrich для TreeTable.",...$.parameters?.docs?.description}}},it=[`Basic`,`MultiSelect`,`CollapsedByDefault`,`WithDefaultExpandedBranch`,`WithDisabledRows`,`Fetching`,`Empty`,`Loading`,`WithFormulaColumn`,`WithFormattedTreeColumn`,`WithHiddenZero`,`WithMergedDuplicates`,`WithODataMetadataAdapter`,`WithUseODataTableColumnsBuildHook`,`WithUseODataTableColumnsEnrichHook`]})))()}export{at as _,K as a,H as c,q as d,Y as f,$ as g,Q as h,W as i,U as l,Z as m,V as n,B as o,X as p,G as r,Ue as s,z as t,J as u};