@ryuzaki13/react-foundation-ui 1.6.14 → 1.7.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 (246) hide show
  1. package/dist/advanced-search/index.js +1 -1
  2. package/dist/base-table/index.js +2 -2
  3. package/dist/base-table/lib/columnPinning.d.ts +15 -17
  4. package/dist/base-table/lib/columnPinning.d.ts.map +1 -1
  5. package/dist/base-table/lib/mergeDuplicates.d.ts +4 -4
  6. package/dist/base-table/lib/mergeDuplicates.d.ts.map +1 -1
  7. package/dist/base-table/model/useTableColumnPinning.d.ts +2 -2
  8. package/dist/base-table/model/useTableColumnVisibility.d.ts +7 -6
  9. package/dist/base-table/model/useTableColumnVisibility.d.ts.map +1 -1
  10. package/dist/base-table/ui/BaseTable.d.ts +8 -9
  11. package/dist/base-table/ui/BaseTable.d.ts.map +1 -1
  12. package/dist/base-table/ui/BaseTableHeaderCell.d.ts +6 -6
  13. package/dist/base-table/ui/BaseTableHeaderCell.d.ts.map +1 -1
  14. package/dist/chunks/{base-table-CTafaxo2.js → base-table-DNSYOO9t.js} +29 -29
  15. package/dist/chunks/base-table-DNSYOO9t.js.map +1 -0
  16. package/dist/chunks/{table-DOwANXnt.js → table-RO4dfMAj.js} +9 -9
  17. package/dist/chunks/table-RO4dfMAj.js.map +1 -0
  18. package/dist/simple-table/SimpleTable.d.ts +2 -2
  19. package/dist/simple-table/SimpleTable.d.ts.map +1 -1
  20. package/dist/simple-table/index.js +7 -10
  21. package/dist/simple-table/index.js.map +1 -1
  22. package/dist/styles.css +1 -1
  23. package/dist/table/Table.d.ts +7 -8
  24. package/dist/table/Table.d.ts.map +1 -1
  25. package/dist/table/index.js +1 -1
  26. package/dist/tree-table/TreeTable.d.ts +7 -8
  27. package/dist/tree-table/TreeTable.d.ts.map +1 -1
  28. package/dist/tree-table/index.js +104 -105
  29. package/dist/tree-table/index.js.map +1 -1
  30. package/package.json +9 -9
  31. package/src/styles/config/_index.scss +9 -9
  32. package/src/styles/mixins/_mixin.scss +28 -28
  33. package/storybook-static/assets/{Badge-BcdRczMk.js → Badge-Dvx1zhPb.js} +1 -1
  34. package/storybook-static/assets/{Badge.stories-Ct1rOXKb.js → Badge.stories-0OqfwxFw.js} +1 -1
  35. package/storybook-static/assets/{BadgeList-B0uCxTjK.js → BadgeList-y-uBOP3g.js} +1 -1
  36. package/storybook-static/assets/{Button-SSIgKYw0.js → Button-C80gfqoH.js} +1 -1
  37. package/storybook-static/assets/{Button-BB1nGfBt.js → Button-Do2mwgAg.js} +1 -1
  38. package/storybook-static/assets/{Button.stories-ZLeozBpB.js → Button.stories-D8Fw6nud.js} +1 -1
  39. package/storybook-static/assets/{CalendarView-CYrBwuDb.js → CalendarView--kZXxq2R.js} +1 -1
  40. package/storybook-static/assets/{CheckBox-BhyFAnPZ.js → CheckBox-B75CNLqu.js} +1 -1
  41. package/storybook-static/assets/{CheckBox-Blz1oxQt.js → CheckBox-BLhKCbdy.js} +1 -1
  42. package/storybook-static/assets/{CheckBox.stories-CaIkqi5f.js → CheckBox.stories-B6oVA8el.js} +1 -1
  43. package/storybook-static/assets/{Color-6AOWCN3U-CCVpVcK8.js → Color-6AOWCN3U-cvznI3uO.js} +1 -1
  44. package/storybook-static/assets/{ContextMenu-1AD4f0i0.js → ContextMenu-CO0idIWo.js} +1 -1
  45. package/storybook-static/assets/{ContextMenu-DXD_0XB9.js → ContextMenu-fNZVzUvQ.js} +1 -1
  46. package/storybook-static/assets/{ContextMenu.stories-DFmB0X5K.js → ContextMenu.stories-0nmobIh6.js} +1 -1
  47. package/storybook-static/assets/{DateInput-BOLDxsXz.js → DateInput-C2In05Rg.js} +1 -1
  48. package/storybook-static/assets/{DateInput-C9p85ceA.js → DateInput-D2rfcbf3.js} +1 -1
  49. package/storybook-static/assets/{DateInput.stories-Ba3IIPg3.js → DateInput.stories-JUkITh6A.js} +1 -1
  50. package/storybook-static/assets/{DateRangePresetSelect-C_4NfC5d.js → DateRangePresetSelect-Qc1kiswO.js} +1 -1
  51. package/storybook-static/assets/{DateRangePresetSelect-C8nw0-vH.js → DateRangePresetSelect-nJgrTbCb.js} +1 -1
  52. package/storybook-static/assets/{DateRangePresetSelect.stories-DKQJMXX5.js → DateRangePresetSelect.stories-ZCKuMVv1.js} +1 -1
  53. package/storybook-static/assets/{Detail-BTLyY-Cx.js → Detail-pOYJZCE7.js} +1 -1
  54. package/storybook-static/assets/{Detail.stories-sbG-B89r.js → Detail.stories-zt0s1IF8.js} +1 -1
  55. package/storybook-static/assets/{Dialog-DEOBYclm.js → Dialog-0qof8LAi.js} +1 -1
  56. package/storybook-static/assets/{Dialog-DxhVyxTw.js → Dialog-yNCOXo0U.js} +1 -1
  57. package/storybook-static/assets/{Dialog.stories-BkDHW55c.js → Dialog.stories-B8N3aCaV.js} +1 -1
  58. package/storybook-static/assets/{Disclosure-DfRw5j-s.js → Disclosure-1aczsOfE.js} +1 -1
  59. package/storybook-static/assets/{Disclosure.stories-3EiNEI0t.js → Disclosure.stories-BHF7zV4r.js} +1 -1
  60. package/storybook-static/assets/{DisclosureGroup-BhIPr7Zx.js → DisclosureGroup-1UIF1dzA.js} +1 -1
  61. package/storybook-static/assets/{DocsRenderer-JROSPFPF-DEVDQ4Qo.js → DocsRenderer-JROSPFPF-C3ElfDK6.js} +1 -1
  62. package/storybook-static/assets/{DropZone-CTDbnKbh.js → DropZone-BXwkEyR-.js} +1 -1
  63. package/storybook-static/assets/{DropZone-CgSbRlAS.js → DropZone-DcnHdyOy.js} +1 -1
  64. package/storybook-static/assets/{DropZone.stories-C7HI-Ded.js → DropZone.stories-C__hp7nZ.js} +1 -1
  65. package/storybook-static/assets/{DropdownMenu-D2uTldgN.js → DropdownMenu-Cn3NEWML.js} +1 -1
  66. package/storybook-static/assets/{ExpandableActionPanel-C49pE4fu.js → ExpandableActionPanel-DRmbAqvH.js} +1 -1
  67. package/storybook-static/assets/{ExpandableActionPanel.stories-DaUA0ZwQ.js → ExpandableActionPanel.stories-CILdKlLi.js} +1 -1
  68. package/storybook-static/assets/{Flex-X9798UxV.js → Flex-sxipWyth.js} +1 -1
  69. package/storybook-static/assets/{Flex.stories-Dz6oGUUF.js → Flex.stories-DY8V2sbR.js} +1 -1
  70. package/storybook-static/assets/{FloatingPopover-E_Ew4-wi.js → FloatingPopover-CNZzGjfO.js} +1 -1
  71. package/storybook-static/assets/{FormattedTableCell-CY3E21k8.css → FormattedTableCell-AZc2IHfK.css} +1 -1
  72. package/storybook-static/assets/FormattedTableCell-DG4dVFTa.js +15 -0
  73. package/storybook-static/assets/{Grid-BCciNn-A.js → Grid-D2wN6WmI.js} +1 -1
  74. package/storybook-static/assets/{Grid.stories-DgvZoNuI.js → Grid.stories-Dtya61zz.js} +1 -1
  75. package/storybook-static/assets/{ImageCropper.stories-D_wOvbUS.js → ImageCropper.stories-CQOvZs9k.js} +1 -1
  76. package/storybook-static/assets/{ImageRenderer-xnNcHtPe.js → ImageRenderer-C8mxg5a9.js} +1 -1
  77. package/storybook-static/assets/{ImageRenderer.stories-D9JpdJiV.js → ImageRenderer.stories-ulHRIV84.js} +1 -1
  78. package/storybook-static/assets/{ImageView.stories-ByWZ__3N.js → ImageView.stories-DfO8LRNv.js} +1 -1
  79. package/storybook-static/assets/{ImageViewer.stories-B0BzHjEk.js → ImageViewer.stories-BC2AIOFa.js} +2 -2
  80. package/storybook-static/assets/{ImageViewerRuntime-BD3738hF.js → ImageViewerRuntime-D3u-RNDY.js} +1 -1
  81. package/storybook-static/assets/{Input-BH1AkOMS.js → Input-BrWASIXE.js} +1 -1
  82. package/storybook-static/assets/{Input-MdLAT_u1.js → Input-Duo7u72d.js} +1 -1
  83. package/storybook-static/assets/{Input.stories-D-ZQvpnN.js → Input.stories--i9k07KI.js} +1 -1
  84. package/storybook-static/assets/{InputDateTime-BfTkj-YX.js → InputDateTime-DcZRgiPg.js} +1 -1
  85. package/storybook-static/assets/{InputDateTime.stories-uU4v4z0C.js → InputDateTime.stories-Dt6Y1CZ2.js} +1 -1
  86. package/storybook-static/assets/{InputFile-DEHnLzej.js → InputFile-BiLD06iA.js} +1 -1
  87. package/storybook-static/assets/{InputFile-s9ue0Ubw.js → InputFile-Cj-m_fo4.js} +1 -1
  88. package/storybook-static/assets/{InputFile.stories-DqUzUqeP.js → InputFile.stories-akX4tW3o.js} +1 -1
  89. package/storybook-static/assets/{InputFiles-DAFA8pPS.js → InputFiles-6FDWUpPw.js} +1 -1
  90. package/storybook-static/assets/{InputFiles-BO8bPwVE.js → InputFiles-B8Erga76.js} +1 -1
  91. package/storybook-static/assets/{InputFiles.stories-DwqQzJk0.js → InputFiles.stories-CHQIzkT-.js} +1 -1
  92. package/storybook-static/assets/{InputFilesList-zkl234mc.js → InputFilesList-B2ED3xeD.js} +1 -1
  93. package/storybook-static/assets/{InputImage-BO2IEU16.js → InputImage-Csz6DuXw.js} +1 -1
  94. package/storybook-static/assets/{InputImage-BGCpqqw2.js → InputImage-DgEux6nu.js} +1 -1
  95. package/storybook-static/assets/{InputImage.stories-D_NGBLXT.js → InputImage.stories-BQMt1D7p.js} +1 -1
  96. package/storybook-static/assets/{InteractiveComponents-Dwh7s7t2.js → InteractiveComponents-Dsk4_Vr2.js} +1 -1
  97. package/storybook-static/assets/{InteractiveComponents.stories-DYepXQCx.js → InteractiveComponents.stories-DkOUo1Hs.js} +1 -1
  98. package/storybook-static/assets/{LayoutPicker-BlhMQvHT.js → LayoutPicker-BYQGwA2A.js} +1 -1
  99. package/storybook-static/assets/{LayoutPicker-CkE9m2jl.js → LayoutPicker-CtU_BRSU.js} +1 -1
  100. package/storybook-static/assets/{LayoutPicker.stories-BxuR4zzW.js → LayoutPicker.stories-u-llXrmg.js} +1 -1
  101. package/storybook-static/assets/{Listbox-oa6-dpOF.js → Listbox-CRpGe74L.js} +1 -1
  102. package/storybook-static/assets/{Listbox-C1Rqsgp0.js → Listbox-D-w3s2rV.js} +1 -1
  103. package/storybook-static/assets/{Listbox.stories-B7F4BYQe.js → Listbox.stories-DNgm_jEg.js} +1 -1
  104. package/storybook-static/assets/{Modal-DzXqf1Ly.js → Modal-BCEfdMRV.js} +1 -1
  105. package/storybook-static/assets/{Modal.stories-CG1_xlyh.js → Modal.stories-DgluP-Zg.js} +1 -1
  106. package/storybook-static/assets/{ModalManagerProvider-CZYnO2lF.js → ModalManagerProvider-DB1CpShR.js} +1 -1
  107. package/storybook-static/assets/{MultiSelect-4G-iQPYH.js → MultiSelect-CtPVgzw3.js} +1 -1
  108. package/storybook-static/assets/{MultiSelect-D6VN1ten.js → MultiSelect-DXazv8Gk.js} +1 -1
  109. package/storybook-static/assets/{MultiSelect.stories-B8yQ13Tn.js → MultiSelect.stories-m3lK4whp.js} +1 -1
  110. package/storybook-static/assets/{NoData-BgHie4j3.js → NoData-tXPTJtqs.js} +1 -1
  111. package/storybook-static/assets/{NotificationsHost-CFfzFTyd.js → NotificationsHost-Cns_wFoV.js} +1 -1
  112. package/storybook-static/assets/{NotificationsHost.stories-D-EoSpNR.js → NotificationsHost.stories-Bl6cz2bV.js} +1 -1
  113. package/storybook-static/assets/{ODataMultiSelect-DTsiTKot.js → ODataMultiSelect-6Df5Fkah.js} +1 -1
  114. package/storybook-static/assets/{ODataMultiSelect.stories-DCO4zPF4.js → ODataMultiSelect.stories-B6yPCpTe.js} +1 -1
  115. package/storybook-static/assets/{ODataSelect-CaH2bcCK.js → ODataSelect-BO5s66q2.js} +1 -1
  116. package/storybook-static/assets/{ODataSelect.stories-B0tv4wL4.js → ODataSelect.stories-C0zyeXlC.js} +1 -1
  117. package/storybook-static/assets/{ODataTreeMultiSelect-Dyek9WdW.js → ODataTreeMultiSelect-OSArfN7U.js} +1 -1
  118. package/storybook-static/assets/{ODataTreeMultiSelect.stories-CcACO93g.js → ODataTreeMultiSelect.stories-DIO3n7N6.js} +1 -1
  119. package/storybook-static/assets/{ODataTreeSelect-CUz7YiVU.js → ODataTreeSelect-C2YNVppX.js} +1 -1
  120. package/storybook-static/assets/{ODataTreeSelect.stories-wGnk-ffy.js → ODataTreeSelect.stories-BCjXst_-.js} +1 -1
  121. package/storybook-static/assets/{OneStepScroller-o5Gb3vjr.js → OneStepScroller-CBqY-Bqn.js} +1 -1
  122. package/storybook-static/assets/{PeriodSelect-faoKK2vP.js → PeriodSelect-8I2DZE_l.js} +1 -1
  123. package/storybook-static/assets/{PeriodSelect-ZJjARhjl.js → PeriodSelect-D9DwWI_-.js} +1 -1
  124. package/storybook-static/assets/{PeriodSelect.stories-CoXVK3T7.js → PeriodSelect.stories-Dvdfl6jl.js} +1 -1
  125. package/storybook-static/assets/{PickerSelectionToolbar-D4SqZyNs.js → PickerSelectionToolbar-DTFaKHYJ.js} +1 -1
  126. package/storybook-static/assets/{PickerTriggerActions-D0jutGDl.js → PickerTriggerActions-DB5hWOPs.js} +1 -1
  127. package/storybook-static/assets/{Popover-B94TkkrH.js → Popover-DDuVgt46.js} +1 -1
  128. package/storybook-static/assets/{Popover-DDa4eeVc.js → Popover-x1KDnoku.js} +1 -1
  129. package/storybook-static/assets/{Popover.stories-BpIi9J1K.js → Popover.stories-JeW5d8gm.js} +1 -1
  130. package/storybook-static/assets/{PresetRangeDateInput-D2J7DKKw.js → PresetRangeDateInput-C4gbhz_V.js} +1 -1
  131. package/storybook-static/assets/{PresetRangeDateInput-CXwvyN5D.js → PresetRangeDateInput-Csq8RBK7.js} +1 -1
  132. package/storybook-static/assets/{PresetRangeDateInput.stories-BLMBzOHq.js → PresetRangeDateInput.stories-mPfnN7w9.js} +1 -1
  133. package/storybook-static/assets/{PresetSelect--NNO5Ddu.js → PresetSelect-D5XN8_y3.js} +1 -1
  134. package/storybook-static/assets/{RadioButton-CwH2Hesc.js → RadioButton-3vNTYzok.js} +1 -1
  135. package/storybook-static/assets/{RadioButton-BMIDEoWy.js → RadioButton-DqKb7dga.js} +1 -1
  136. package/storybook-static/assets/{RadioButton.stories-N2cIOAgo.js → RadioButton.stories-DEtB6-Gq.js} +1 -1
  137. package/storybook-static/assets/{RadioGroup-BScP9Lpg.js → RadioGroup-BVH61YyU.js} +1 -1
  138. package/storybook-static/assets/{RadioGroup-CErOSI5g.js → RadioGroup-CxSDxT4Z.js} +1 -1
  139. package/storybook-static/assets/{RadioGroup.stories-evzuyPl2.js → RadioGroup.stories-D8YHF52N.js} +1 -1
  140. package/storybook-static/assets/{Scrollable-BwNQtM7w.js → Scrollable-CzjaBhDx.js} +1 -1
  141. package/storybook-static/assets/{Select-DJYUi3iy.js → Select-DCitHJuw.js} +1 -1
  142. package/storybook-static/assets/{Select-DJzmWS1T.js → Select-DRU8ibvA.js} +1 -1
  143. package/storybook-static/assets/{Select.stories-BnUIbrvc.js → Select.stories-CK_D5RAO.js} +1 -1
  144. package/storybook-static/assets/{SelectOptionContent-Cd4435dS.js → SelectOptionContent-BAJEXMJG.js} +1 -1
  145. package/storybook-static/assets/{SerializableSelect-fsLc_Ma0.js → SerializableSelect-DyRYm6Fb.js} +1 -1
  146. package/storybook-static/assets/{SerializableSelect.stories-BCRRVcbU.js → SerializableSelect.stories-6msteGLD.js} +1 -1
  147. package/storybook-static/assets/{SingleDateTimeInput-C1AR0xZh.js → SingleDateTimeInput-CNIODG1r.js} +1 -1
  148. package/storybook-static/assets/{SingleDateTimeInput-Diyz6qI-.js → SingleDateTimeInput-Dt2pvrEI.js} +1 -1
  149. package/storybook-static/assets/{SingleDateTimeInput.stories-nks-T7BL.js → SingleDateTimeInput.stories-BjZkApxR.js} +1 -1
  150. package/storybook-static/assets/{Slider-CgMHiwLj.js → Slider-C2STT2eb.js} +1 -1
  151. package/storybook-static/assets/{Slider-BouKs-yX.js → Slider-CyrGnw3r.js} +1 -1
  152. package/storybook-static/assets/{Slider.stories-Cg5heBxN.js → Slider.stories-cV_-2z3X.js} +1 -1
  153. package/storybook-static/assets/{SliderInput-VRJ7juTy.js → SliderInput-C7XLyS8n.js} +1 -1
  154. package/storybook-static/assets/{SliderInput-DU6sY9hj.js → SliderInput-DxWLjpcW.js} +1 -1
  155. package/storybook-static/assets/{SliderInput.stories-B154T_8Q.js → SliderInput.stories-DBIe7Yhj.js} +1 -1
  156. package/storybook-static/assets/{Sortable-Cy_0KjFR.js → Sortable-06Qmji0A.js} +1 -1
  157. package/storybook-static/assets/{Sortable.stories-CHE8wWLA.js → Sortable.stories-VPSDld7o.js} +1 -1
  158. package/storybook-static/assets/{Splitter-yrZypMbS.js → Splitter-Bjc9_DpU.js} +1 -1
  159. package/storybook-static/assets/{Splitter.stories-CwSwsE0H.js → Splitter.stories-CaecpwzX.js} +1 -1
  160. package/storybook-static/assets/{StateSelect-DuLO_Piy.js → StateSelect-CBqVFgZr.js} +1 -1
  161. package/storybook-static/assets/{StateSelect-BHzuZX75.js → StateSelect-DEbS-UHz.js} +1 -1
  162. package/storybook-static/assets/{StateSelect.stories-CGlKn8jQ.js → StateSelect.stories-DHCZQjpD.js} +1 -1
  163. package/storybook-static/assets/{StringToggle.stories-BMGe4CV1.js → StringToggle.stories-DZ5cJKre.js} +1 -1
  164. package/storybook-static/assets/{Switch-wxL8km93.js → Switch-BQVOziJc.js} +1 -1
  165. package/storybook-static/assets/{Switch-CfKqydJl.js → Switch-DbMsXJZQ.js} +1 -1
  166. package/storybook-static/assets/{Switch.stories-CTF8Fn5S.js → Switch.stories-xsRPNma9.js} +1 -1
  167. package/storybook-static/assets/{Table-BggkDkyA.js → Table-90xunt07.js} +1 -1
  168. package/storybook-static/assets/Table.stories-BHO05Nt2.js +207 -0
  169. package/storybook-static/assets/{Tabs-BhU1yJ68.js → Tabs-I00nOCLh.js} +1 -1
  170. package/storybook-static/assets/{Tabs.stories-Doot6gmo.js → Tabs.stories-B2XJ7Ho5.js} +1 -1
  171. package/storybook-static/assets/{TabsBox-DQtakMLT.js → TabsBox-elxR9IVU.js} +1 -1
  172. package/storybook-static/assets/{TagInput-BOUAaS40.js → TagInput-DJRFuFDX.js} +1 -1
  173. package/storybook-static/assets/{TagInput.stories-DNEu6f1H.js → TagInput.stories-Cf6c-1Xx.js} +1 -1
  174. package/storybook-static/assets/{Text-BX0Gm-we.js → Text-CKeWyv1R.js} +1 -1
  175. package/storybook-static/assets/{Textarea-DbV3up2r.js → Textarea-DZ27cTTb.js} +1 -1
  176. package/storybook-static/assets/{Textarea-vACUwDlt.js → Textarea-DamLyP7r.js} +1 -1
  177. package/storybook-static/assets/{Textarea.stories-BBkhkeg2.js → Textarea.stories-1wsB9B_l.js} +1 -1
  178. package/storybook-static/assets/{TimePanel-CN59Txlq.js → TimePanel-BCiqgc3_.js} +1 -1
  179. package/storybook-static/assets/{TimePanel.stories-BKYWX6RZ.js → TimePanel.stories-CChD-RUz.js} +1 -1
  180. package/storybook-static/assets/{Toggle-CaIYF6CW.js → Toggle-BAJj1RSd.js} +1 -1
  181. package/storybook-static/assets/{Toggle-C1i7Qcj6.js → Toggle-CUhT4loI.js} +1 -1
  182. package/storybook-static/assets/{Toggle.stories-A7L9V62F.js → Toggle.stories-Dipcr_LJ.js} +1 -1
  183. package/storybook-static/assets/{TreeMultiSelect-DaRr_WsB.js → TreeMultiSelect-BXhuUX3J.js} +1 -1
  184. package/storybook-static/assets/{TreeMultiSelect-BVcb4Bqo.js → TreeMultiSelect-D4Owgkp8.js} +1 -1
  185. package/storybook-static/assets/{TreeMultiSelect.stories-BWmYIta_.js → TreeMultiSelect.stories-CB2jm_bz.js} +1 -1
  186. package/storybook-static/assets/{TreePickerBase-CzvhvwzY.js → TreePickerBase-eXU7yGrA.js} +1 -1
  187. package/storybook-static/assets/{TreeSelect-Dyi_CLRD.js → TreeSelect-0dZm6ufk.js} +1 -1
  188. package/storybook-static/assets/{TreeSelect-DRus4VcV.js → TreeSelect-5qlmmCCI.js} +1 -1
  189. package/storybook-static/assets/{TreeSelect.stories-C4pm8iLe.js → TreeSelect.stories-CllcJYnI.js} +1 -1
  190. package/storybook-static/assets/{TreeTable-k2zD3Y_g.js → TreeTable-BqZk_QkK.js} +1 -1
  191. package/storybook-static/assets/{TreeTable.stories-cwP-epkE.js → TreeTable.stories-BDoNVZCh.js} +4 -4
  192. package/storybook-static/assets/{async-_ojLVlM1.js → async-CoT7Kgjz.js} +1 -1
  193. package/storybook-static/assets/{blocks-7Wf2ozDB.js → blocks-W-usNnZb.js} +3 -3
  194. package/storybook-static/assets/{browserAndReact-DpDuZQNz.js → browserAndReact-CdN7k1Ys.js} +1 -1
  195. package/storybook-static/assets/{check-B8KQJdvH.js → check-DjVied9B.js} +1 -1
  196. package/storybook-static/assets/{chevron-down-BzvRoQwm.js → chevron-down-CjmFWC1H.js} +1 -1
  197. package/storybook-static/assets/{chevron-left-B1gSiTT5.js → chevron-left-CgCtsWUK.js} +1 -1
  198. package/storybook-static/assets/{chevron-right-DGZcDdSt.js → chevron-right-DfAt2YE7.js} +1 -1
  199. package/storybook-static/assets/{chunk-W22LQPXL-BcSNUmAX.js → chunk-W22LQPXL-CPNotdVj.js} +1 -1
  200. package/storybook-static/assets/{circle-alert-CE1HjPRk.js → circle-alert-DNyHEnP7.js} +1 -1
  201. package/storybook-static/assets/{circle-check-CLOhV_d2.js → circle-check-BUp-oyqo.js} +1 -1
  202. package/storybook-static/assets/components-CWI6MUvj.js +241 -0
  203. package/storybook-static/assets/{contextMenu-Cy6W9ruC.js → contextMenu-B2RJaey1.js} +1 -1
  204. package/storybook-static/assets/{defaultRenderers-DMzMTiXd.js → defaultRenderers-jxMgDhVa.js} +1 -1
  205. package/storybook-static/assets/{download-C9YXf8CS.js → download-C5zRdMry.js} +1 -1
  206. package/storybook-static/assets/{filesAndExcel-CqunExs5.js → filesAndExcel-CYKyG14W.js} +1 -1
  207. package/storybook-static/assets/{floating-ui.react-CGmmDcLA.js → floating-ui.react-BGMb0aIS.js} +1 -1
  208. package/storybook-static/assets/{formatters-CVj-3Vn0-BFaHJqZL.js → formatters-CBgrBeSA-DY6OIAc8.js} +1 -1
  209. package/storybook-static/assets/{formatters-BbK_Ug8Y.js → formatters-DeU7wI7T.js} +1 -1
  210. package/storybook-static/assets/{formatters-runtime-UPbk1cre.js → formatters-runtime-DnSgDhbz.js} +1 -1
  211. package/storybook-static/assets/{foundationLib-N3zYHNH2.js → foundationLib-DrimcZD1.js} +1 -1
  212. package/storybook-static/assets/{hooks-BY3WPUzv.js → hooks-BJmY6rG1.js} +1 -1
  213. package/storybook-static/assets/{iframe-I5gZKSOP.css → iframe-Baz8D-0E.css} +1 -1
  214. package/storybook-static/assets/{iframe-DM52JHVE.js → iframe-BnW9ONAs.js} +4 -4
  215. package/storybook-static/assets/iframe-DGAjOA6_.js +1 -0
  216. package/storybook-static/assets/{info-DVyz6CIq.js → info-2igYCwst.js} +1 -1
  217. package/storybook-static/assets/odata-DfSyh3Sn.js +1 -0
  218. package/storybook-static/assets/{odataAndTables-aeqd_eqp.js → odataAndTables-BhJXkoYZ.js} +3 -3
  219. package/storybook-static/assets/{odataFetchFn-WMwANfst.js → odataFetchFn-D2X1lPng.js} +1 -1
  220. package/storybook-static/assets/{odataStoryFixtures-Bg0hW1z0.js → odataStoryFixtures-DYRSp8rq.js} +2 -2
  221. package/storybook-static/assets/{persisted-SjS3xGzj.js → persisted-DHhF6isC.js} +1 -1
  222. package/storybook-static/assets/{pureUtilities-Dhj0YAO5.js → pureUtilities-ChXuZIo7.js} +1 -1
  223. package/storybook-static/assets/{react-fq-BOIxH.js → react-CLWTMVeL.js} +1 -1
  224. package/storybook-static/assets/{refresh-cw-BhvbdEMC.js → refresh-cw-B-NTAP58.js} +1 -1
  225. package/storybook-static/assets/{runtimeAndState-Ms4DDeIl.js → runtimeAndState-H412awCm.js} +1 -1
  226. package/storybook-static/assets/{settings-2-CDoQ1pkq.js → settings-2-1qvlM5d_.js} +1 -1
  227. package/storybook-static/assets/shim-BUMlC1GG.js +1 -0
  228. package/storybook-static/assets/{sortable-CFGuBqj5.js → sortable-BHG_CM3B.js} +1 -1
  229. package/storybook-static/assets/{syntaxhighlighter-T5IQBZDB-CBZU3huW.js → syntaxhighlighter-T5IQBZDB-R3_3CMVb.js} +1 -1
  230. package/storybook-static/assets/{trash-2-D4oLpgpt.js → trash-2-CE6CewYq.js} +1 -1
  231. package/storybook-static/assets/{triangle-alert-DKUca28b.js → triangle-alert-D3UYXaLs.js} +1 -1
  232. package/storybook-static/assets/{useODataSelectBase-BsPw4jSk.js → useODataSelectBase-FSv5umRf.js} +1 -1
  233. package/storybook-static/assets/{useODataTreeData-D7ngw3D8.js → useODataTreeData-kmN53sfw.js} +1 -1
  234. package/storybook-static/assets/{usePickerQuery-DdN-mMzn.js → usePickerQuery-0QXDg2qR.js} +1 -1
  235. package/storybook-static/assets/{usePickerTriggerController-CQeVg3Yu.js → usePickerTriggerController-FtkRoBgz.js} +1 -1
  236. package/storybook-static/assets/{x-CE5eZUoO.js → x-BGnlLolo.js} +1 -1
  237. package/storybook-static/iframe.html +3 -3
  238. package/storybook-static/project.json +1 -1
  239. package/dist/chunks/base-table-CTafaxo2.js.map +0 -1
  240. package/dist/chunks/table-DOwANXnt.js.map +0 -1
  241. package/storybook-static/assets/FormattedTableCell-DdLJ2UCi.js +0 -18
  242. package/storybook-static/assets/Table.stories-Cc6traPG.js +0 -207
  243. package/storybook-static/assets/components-CQvUk-HE.js +0 -241
  244. package/storybook-static/assets/iframe-Chlg3akS.js +0 -1
  245. package/storybook-static/assets/odata-v-5LKxZl.js +0 -1
  246. /package/storybook-static/assets/{odata-service-B5w4YBao-BW9QLSrS.js → odata-service-B6TxBSLm-BW9QLSrS.js} +0 -0
@@ -1,12 +1,12 @@
1
- import{n as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{t as n}from"./react-C21x__mS.js";import{n as r,t as i}from"./chevron-down-BzvRoQwm.js";import{n as a,t as o}from"./chevron-right-DGZcDdSt.js";import{n as s}from"./iframe-DM52JHVE.js";import{D as c,E as l,T as u,c as d,d as f,n as p,p as ee,s as te,v as ne,w as re}from"./odata-v-5LKxZl.js";import{a as ie,i as ae}from"./utils-DUM89eIj.js";import{i as oe,y as se}from"./formatters-CVj-3Vn0-BFaHJqZL.js";import{C as ce,S as le,_ as ue,a as de,b as fe,c as pe,d as me,f as he,g as ge,h as _e,i as ve,l as ye,m as be,n as xe,o as Se,p as Ce,r as we,s as Te,t as Ee,u as De,v as Oe,x as ke,y as Ae}from"./FormattedTableCell-DdLJ2UCi.js";function je(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 Me(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&&je(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,d=(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(d(e,a))}return l.length>0&&(o.children=l),o},f=[],p=[];for(let e of l)u.has(e)||(f.push(d(e,new Set)),p.push(e));for(let e of c)u.has(e)||(s.push(e),f.push(d(e,new Set)),p.push(e));return{rows:f,rowById:n,allRowIds:c,rootRowIds:m(p),orphanRowIds:m(o),duplicateRowIds:m(a),cyclicRowIds:m(s)}}function h(){return(h=e((()=>{})))()}var Ne,Pe,Fe,g,_,v,y,b;function x(){return(x=e((()=>{Ne=`jOS9rT`,Pe=`zHOAf7`,Fe=`j48cXg`,g=`mf4-Kr`,_=`p8pb0F`,v=`KIudLf`,y=`bJsPGU`,b={treeColumnCell:Ne,selectedIndicatorCell:Pe,treeCell:Fe,treeCellContent:g,expanderButton:_,expanderSpacer:v,sentinel:y}})))()}function Ie(e){return Object.fromEntries(e.map(e=>[e,!0]))}function Le(e){return typeof e==`boolean`?[]:Object.keys(e).filter(t=>e[t])}function S(e,t){return t.get(e.id)??e.original}function Re(e,t,n,r){return e.cell.column.id===n?(0,T.jsxs)(`div`,{className:b.treeCell,style:{paddingInlineStart:`calc(${e.row.depth} * ${f(r)??`0em`})`},children:[e.row.getCanExpand()?(0,T.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,T.jsx)(i,{size:16}):(0,T.jsx)(o,{size:16})}):(0,T.jsx)(`span`,{className:b.expanderSpacer,"aria-hidden":`true`}),(0,T.jsx)(`div`,{className:b.treeCellContent,children:t})]}):t}function C({title:e,isLoading:t,isFetching:n,data:r,columns:i,hierarchy:a,selectionMode:o=`none`,expandFirstLevel:s=!1,defaultExpandedRowIds:c,treeColumnId:l,indentSize:u=1,className:f,tableClassName:p,columnVisibility:ee,defaultColumnVisibility:te,columnOrder:ne,defaultColumnOrder:re,columnSizing:ae,defaultColumnSizing:se,columnPinning:de,defaultColumnPinning:fe,enableColumnResizing:me=!1,enableColumnReordering:ge=!1,columnResizeMinWidth:ve,onColumnVisibilityChange:ye,onColumnOrderChange:be,onColumnSizingChange:xe,onColumnPinningChange:Te,onRowClick:Ae,onRowSelectionChange:je,onExpandedRowIdsChange:m,onReachEnd:h,getRowCanSelect:Ne,getRowClassName:Pe,renderHeaderContextMenu:Fe,renderCellContent:g}){let _=(0,w.useMemo)(()=>Me(r??[],a),[r,a]),v=(0,w.useMemo)(()=>_e(i),[i]),y=(0,w.useMemo)(()=>{let e=new Set(c??[]);if(s)for(let t of _.rootRowIds)e.add(t);return Array.from(e)},[c,s,_.rootRowIds]),[x,C]=(0,w.useState)({}),E=(0,w.useRef)(!1),D=(0,w.useRef)(null),ze=(0,w.useRef)(null),{rowSelection:Be,activateRowSelection:O}=d({availableRowIds:_.allRowIds,rowById:_.rowById,selectionMode:o,onRowSelectionChange:je}),{columnVisibility:Ve,onColumnVisibilityChange:He}=Se({columnVisibility:ee,defaultColumnVisibility:te,onColumnVisibilityChange:ye}),{columnOrder:k,onColumnOrderChange:Ue}=he({columnOrder:ne,defaultColumnOrder:re,onColumnOrderChange:be}),{columnSizing:A,onColumnSizingChange:We}=pe({columnSizing:ae,defaultColumnSizing:se,columnResizeMinWidth:ve,onColumnSizingChange:xe}),{columnPinning:j,onColumnPinningChange:Ge}=De({columnPinning:de,defaultColumnPinning:fe,onColumnPinningChange:Te}),Ke=(0,w.useMemo)(()=>({columnOrder:k,columnPinning:j,columnSizing:A,columnVisibility:Ve}),[k,j,A,Ve]),M=(0,w.useEffectEvent)((e,t)=>{if(e.length===0){E.current=!1,C({});return}let n=new Set(e);C(e=>{let r=Le(e).filter(e=>n.has(e));return E.current?Ie(r):(E.current=!0,Ie(Array.from(new Set([...r,...t.filter(e=>n.has(e))]))))})}),qe=(0,w.useEffectEvent)(e=>{m?.(Le(e))}),N=(0,w.useEffectEvent)(()=>{h?.()});(0,w.useEffect)(()=>{M(_.allRowIds,y)},[y,_.allRowIds]),(0,w.useEffect)(()=>{qe(x)},[x]),(0,w.useEffect)(()=>{if(!h||!D.current||!ze.current||t)return;let e=new IntersectionObserver(e=>{e[0]?.isIntersecting&&N()},{root:D.current,threshold:.1});return e.observe(ze.current),()=>e.disconnect()},[t,h,_.rows.length]);let P=ke({data:_.rows,columns:i,state:{columnOrder:k,columnPinning:j,columnSizing:A,columnVisibility:Ve,expanded:x,rowSelection:Be},getRowId:e=>a.getRowId(e),getSubRows:e=>e.children,getCoreRowModel:le(),getExpandedRowModel:ce(),onColumnOrderChange:Ue,onColumnPinningChange:Ge,onColumnSizingChange:We,onColumnVisibilityChange:He,onExpandedChange:C,enableMultiRowSelection:o===`multi`,enableRowSelection:e=>{if(o===`none`)return!1;let t=S(e,_.rowById);return!Ne||Ne(t)}}),F=Oe(P,Ke),I=l??F[0]?.id,Je=P.getRowModel().rows,Ye=(0,w.useMemo)(()=>Ce({rows:Je,columns:F,resolveRowBoundaryKey:e=>e.depth,excludeColumnIds:I?new Set([I]):void 0}),[Je,F,I]);return(0,T.jsx)(we,{table:P,columnState:Ke,title:e,isLoading:t,isFetching:n,className:f,tableClassName:p,selectionMode:o,scrollableRef:D,interactiveElementSelector:`[data-tree-table-interactive="true"]`,onActivateRow:o!==`none`||Ae?e=>{let t=S(e,_.rowById);O(e.id,e.getCanSelect()),Ae?.(t)}:void 0,isRowInteractive:e=>!!(Ae||o!==`none`&&e.getCanSelect()),getRowClassName:e=>{let t=S(e,_.rowById);return Pe?.(t)},getCellClassName:({row:e,cell:t})=>ie(t.column.id===I&&b.treeColumnCell,t.column.id===I&&e.getIsSelected()&&b.selectedIndicatorCell),getCellLayout:({cell:e})=>Ye.get(e.id),renderHeaderContextMenu:Fe,enableColumnResizing:me,enableColumnReordering:ge,columnResizeMinWidth:ve,renderCellContent:e=>{let t=S(e.row,_.rowById),n=oe({field:v.runtimeByColumnId[e.cell.column.id],rawValue:e.cell.getValue(),rowData:t,rowKind:`tree`}),r=ue({columnId:e.cell.column.id,runtimeByColumnId:v.runtimeByColumnId,customCellColumnIds:v.customCellColumnIds})?(0,T.jsx)(Ee,{displayValue:n,align:e.columnMeta?.align}):e.defaultContent;return Re(e,g?g({...e,defaultContent:r,displayValue:n}):r,I,u)},afterTableContent:h?(0,T.jsx)(`div`,{ref:ze,className:b.sentinel,"aria-hidden":`true`}):null})}var w,T;function E(){return(E=e((()=>{w=n(),se(),ne(),h(),ae(),fe(),r(),a(),ve(),be(),ge(),xe(),Ae(),me(),ye(),Te(),de(),x(),T=s(),C.__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 и отступы.
1
+ import{n as e,r as t}from"./rolldown-runtime-C0FnF6B9.js";import{t as n}from"./react-C21x__mS.js";import{n as r,t as i}from"./chevron-down-CjmFWC1H.js";import{n as a,t as o}from"./chevron-right-DfAt2YE7.js";import{n as s}from"./iframe-BnW9ONAs.js";import{J as c,X as l,Y as u,_ as ee,b as d,g as te,h as ne,n as re,q as ie,s as ae,y as oe}from"./odata-DfSyh3Sn.js";import{a as se,i as ce}from"./utils-DUM89eIj.js";import{i as le,y as ue}from"./formatters-CBgrBeSA-DY6OIAc8.js";import{_ as de,a as fe,b as pe,c as me,d as he,f as ge,g as _e,h as ve,i as ye,l as be,m as xe,n as Se,o as Ce,p as we,r as Te,s as Ee,t as De,u as Oe,v as ke,x as Ae,y as je}from"./FormattedTableCell-DG4dVFTa.js";function Me(e,t,n){let r=e.get(t);if(r){r.push(n);return}e.set(t,[n])}function f(e){return Array.from(new Set(e))}function Ne(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&&Me(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},d=[],te=[];for(let e of l)u.has(e)||(d.push(ee(e,new Set)),te.push(e));for(let e of c)u.has(e)||(s.push(e),d.push(ee(e,new Set)),te.push(e));return{rows:d,rowById:n,allRowIds:c,rootRowIds:f(te),orphanRowIds:f(o),duplicateRowIds:f(a),cyclicRowIds:f(s)}}function p(){return(p=e((()=>{})))()}var m,Pe,Fe,h,g,_,v,y;function b(){return(b=e((()=>{m=`jOS9rT`,Pe=`zHOAf7`,Fe=`j48cXg`,h=`mf4-Kr`,g=`p8pb0F`,_=`KIudLf`,v=`bJsPGU`,y={treeColumnCell:m,selectedIndicatorCell:Pe,treeCell:Fe,treeCellContent:h,expanderButton:g,expanderSpacer:_,sentinel:v}})))()}function Ie(e){return Object.fromEntries(e.map(e=>[e,!0]))}function Le(e){return typeof e==`boolean`?[]:Object.keys(e).filter(t=>e[t])}function x(e,t){return t.get(e.id)??e.original}function Re(e,t,n,r){return e.cell.column.id===n?(0,w.jsxs)(`div`,{className:y.treeCell,style:{paddingInlineStart:`calc(${e.row.depth} * ${oe(r)??`0em`})`},children:[e.row.getCanExpand()?(0,w.jsx)(`button`,{type:`button`,className:y.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:y.expanderSpacer,"aria-hidden":`true`}),(0,w.jsx)(`div`,{className:y.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:c,treeColumnId:l,indentSize:u=1,className:d,tableClassName:ne,columnVisibility:re,defaultColumnVisibility:ie,columnOrder:ae,defaultColumnOrder:oe,columnSizing:ce,defaultColumnSizing:ue,columnPinning:fe,defaultColumnPinning:pe,enableColumnResizing:he=!1,enableColumnReordering:_e=!1,columnResizeMinWidth:ye,onColumnVisibilityChange:be,onColumnOrderChange:xe,onColumnSizingChange:Se,onColumnPinningChange:Ee,onRowClick:je,onRowSelectionChange:Me,onExpandedRowIdsChange:f,onReachEnd:p,getRowCanSelect:m,getRowClassName:Pe,renderHeaderContextMenu:Fe,renderCellContent:h}){let g=(0,C.useMemo)(()=>Ne(r??[],a),[r,a]),_=(0,C.useMemo)(()=>ve(i),[i]),v=(0,C.useMemo)(()=>{let e=new Set(c??[]);if(s)for(let t of g.rootRowIds)e.add(t);return Array.from(e)},[c,s,g.rootRowIds]),[b,S]=(0,C.useState)({}),T=(0,C.useRef)(!1),E=(0,C.useRef)(null),ze=(0,C.useRef)(null),{rowSelection:Be,activateRowSelection:D}=te({availableRowIds:g.allRowIds,rowById:g.rowById,selectionMode:o,onRowSelectionChange:Me}),{columnVisibility:O,onColumnVisibilityChange:Ve}=Ce({columnVisibility:re,defaultColumnVisibility:ie,onColumnVisibilityChange:be}),{columnOrder:k,onColumnOrderChange:He}=ge({columnOrder:ae,defaultColumnOrder:oe,onColumnOrderChange:xe}),{columnSizing:A,onColumnSizingChange:Ue}=me({columnSizing:ce,defaultColumnSizing:ue,columnResizeMinWidth:ye,onColumnSizingChange:Se}),{columnPinning:j,onColumnPinningChange:We}=Oe({columnPinning:fe,defaultColumnPinning:pe,onColumnPinningChange:Ee}),Ge=(0,C.useMemo)(()=>({columnOrder:k,columnPinning:j,columnSizing:A,columnVisibility:O}),[k,j,A,O]),M=(0,C.useEffectEvent)((e,t)=>{if(e.length===0){T.current=!1,S({});return}let n=new Set(e);S(e=>{let r=Le(e).filter(e=>n.has(e));return T.current?Ie(r):(T.current=!0,Ie(Array.from(new Set([...r,...t.filter(e=>n.has(e))]))))})}),Ke=(0,C.useEffectEvent)(e=>{f?.(Le(e))}),N=(0,C.useEffectEvent)(()=>{p?.()});(0,C.useEffect)(()=>{M(g.allRowIds,v)},[v,g.allRowIds]),(0,C.useEffect)(()=>{Ke(b)},[b]),(0,C.useEffect)(()=>{if(!p||!E.current||!ze.current||t)return;let e=new IntersectionObserver(e=>{e[0]?.isIntersecting&&N()},{root:E.current,threshold:.1});return e.observe(ze.current),()=>e.disconnect()},[t,p,g.rows.length]);let P=Ae({features:ee,data:g.rows,columns:i,state:{columnOrder:k,columnPinning:j,columnSizing:A,columnVisibility:O,expanded:b,rowSelection:Be},getRowId:e=>a.getRowId(e),getSubRows:e=>e.children,onColumnOrderChange:He,onColumnPinningChange:We,onColumnSizingChange:Ue,onColumnVisibilityChange:Ve,onExpandedChange:S,enableMultiRowSelection:o===`multi`,enableRowSelection:e=>{if(o===`none`)return!1;let t=x(e,g.rowById);return!m||m(t)}}),F=ke(P,Ge),I=l??F[0]?.id,qe=P.getRowModel().rows,Je=(0,C.useMemo)(()=>we({rows:qe,columns:F,resolveRowBoundaryKey:e=>e.depth,excludeColumnIds:I?new Set([I]):void 0}),[qe,F,I]);return(0,w.jsx)(Te,{table:P,columnState:Ge,title:e,isLoading:t,isFetching:n,className:d,tableClassName:ne,selectionMode:o,scrollableRef:E,interactiveElementSelector:`[data-tree-table-interactive="true"]`,onActivateRow:o!==`none`||je?e=>{let t=x(e,g.rowById);D(e.id,e.getCanSelect()),je?.(t)}:void 0,isRowInteractive:e=>!!(je||o!==`none`&&e.getCanSelect()),getRowClassName:e=>{let t=x(e,g.rowById);return Pe?.(t)},getCellClassName:({row:e,cell:t})=>se(t.column.id===I&&y.treeColumnCell,t.column.id===I&&e.getIsSelected()&&y.selectedIndicatorCell),getCellLayout:({cell:e})=>Je.get(e.id),renderHeaderContextMenu:Fe,enableColumnResizing:he,enableColumnReordering:_e,columnResizeMinWidth:ye,renderCellContent:e=>{let t=x(e.row,g.rowById),n=le({field:_.runtimeByColumnId[e.cell.column.id],rawValue:e.cell.getValue(),rowData:t,rowKind:`tree`}),r=de({columnId:e.cell.column.id,runtimeByColumnId:_.runtimeByColumnId,customCellColumnIds:_.customCellColumnIds})?(0,w.jsx)(De,{displayValue:n,align:e.columnMeta?.align}):e.defaultContent;return Re(e,h?h({...e,defaultContent:r,displayValue:n}):r,I,u)},afterTableContent:p?(0,w.jsx)(`div`,{ref:ze,className:y.sentinel,"aria-hidden":`true`}):null})}var C,w;function T(){return(T=e((()=>{C=n(),ue(),d(),p(),ce(),pe(),r(),a(),ye(),xe(),_e(),Se(),je(),he(),be(),Ee(),fe(),b(),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
2
 
3
3
  Если не указан, используется первая видимая колонка.`},indentSize:{required:!1,tsType:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]},description:`Отступ на один уровень вложенности.
4
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:`VisibilityState`},description:`Внешнее controlled-состояние видимости колонок.`},defaultColumnVisibility:{required:!1,tsType:{name:`VisibilityState`},description:`Стартовое uncontrolled-состояние видимости колонок.`},columnOrder:{required:!1,tsType:{name:`unknown`},description:`Внешнее controlled-состояние порядка колонок.`},defaultColumnOrder:{required:!1,tsType:{name:`unknown`},description:`Стартовое uncontrolled-состояние порядка колонок.`},columnSizing:{required:!1,tsType:{name:`TableColumnSizingState`},description:`Внешнее controlled-состояние ширин колонок в px.`},defaultColumnSizing:{required:!1,tsType:{name:`TableColumnSizingState`},description:`Стартовое uncontrolled-состояние ширин колонок в px.`},columnPinning:{required:!1,tsType:{name:`TableColumnPinningState`},description:`Внешнее controlled-состояние left-pinning для колонок.`},defaultColumnPinning:{required:!1,tsType:{name:`TableColumnPinningState`},description:`Стартовое uncontrolled-состояние left-pinning для колонок.`},enableColumnResizing:{required:!1,tsType:{name:`boolean`},description:`Включает изменение ширины колонок через header-handle.`,defaultValue:{value:`false`,computed:!1}},enableColumnReordering:{required:!1,tsType:{name:`boolean`},description:`Включает изменение порядка колонок через drag&drop заголовков.`,defaultValue:{value:`false`,computed:!1}},columnResizeMinWidth:{required:!1,tsType:{name:`number`},description:`Минимальная ширина колонки при resize в px.`},onColumnVisibilityChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(state: VisibilityState) => void`,signature:{arguments:[{type:{name:`VisibilityState`},name:`state`}],return:{name:`void`}}},description:`Вызывается после изменения видимости колонок.`},onColumnOrderChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(state: TableColumnOrderState) => void`,signature:{arguments:[{type:{name:`TableColumnOrderState`},name:`state`}],return:{name:`void`}}},description:`Вызывается после изменения порядка колонок.`},onColumnSizingChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(state: TableColumnSizingState) => void`,signature:{arguments:[{type:{name:`TableColumnSizingState`},name:`state`}],return:{name:`void`}}},description:`Вызывается после изменения ширины колонок.`},onColumnPinningChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(state: TableColumnPinningState) => void`,signature:{arguments:[{type:{name:`TableColumnPinningState`},name:`state`}],return:{name:`void`}}},description:`Вызывается после изменения left-pinning state.`},onRowClick:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(row: TData) => void`,signature:{arguments:[{type:{name:`TData`},name:`row`}],return:{name:`void`}}},description:`Вызывается при активации строки кликом или клавиатурой.`},onRowSelectionChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(rows: TData[]) => void`,signature:{arguments:[{type:{name:`Array`,elements:[{name:`TData`}],raw:`TData[]`},name:`rows`}],return:{name:`void`}}},description:`Вызывается после изменения выбранных строк.`},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-строки дерева,
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
6
  потому что BaseTable работает уже после сборки flat hierarchy.`},renderCellContent:{required:!1,tsType:{name:`BaseTableProps["renderCellContent"]`,raw:`BaseTableProps<TreeTableRuntimeRow<TData>>["renderCellContent"]`},description:`Точка расширения содержимого ячейки после общего форматирования.
7
7
 
8
8
  Для tree-column в \`defaultContent\` передается только содержимое ячейки:
9
- TreeTable сам добавит expander и отступ после выполнения слота.`}}}})))()}var D=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:()=>tt,default:()=>et});function ze(){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 Be(e){return[`odata`,`metadata`,{service:e}]}function O({args:e}){let[,t]=We();return(0,A.jsx)(C,{...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 Ve({args:e}){let{columns:t,metadata:n,isLoading:r}=p({service:L,target:R,mode:`build`});return(0,A.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`},children:[(0,A.jsxs)(`div`,{children:[`Режим build: hook собрал `,t.length,` колонки из metadata`,n?` для сущности «${n.title}».`:`.`]}),(0,A.jsx)(O,{args:{...e,columns:t,isLoading:e.isLoading??r}})]})}function He({args:e}){let{columns:t,metadata:n,isLoading:r}=p({service:L,target:R,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-контекстом`,n?` из metadata «${n.title}».`:`.`]}),(0,A.jsx)(O,{args:{...e,columns:t,isLoading:e.isLoading??r}})]})}function k({args:e,intro:t}){let[n,r]=(0,Ue.useState)([]);return(0,A.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`},children:[t?(0,A.jsx)(`div`,{children:t}):null,(0,A.jsxs)(`div`,{children:[`Выбрано: `,n.length>0?n.join(`, `):`ничего`]}),(0,A.jsx)(O,{args:{...e,onRowSelectionChange:t=>{e.onRowSelectionChange?.(t),r(t.map(e=>e.label))}}})]})}var Ue,A,We,j,Ge,Ke,M,qe,N,P,F,I,Je,Ye,Xe,Ze,L,R,Qe,$e,et,z,B,V,H,U,W,G,K,q,J,Y,X,Z,Q,$,tt;function nt(){return(nt=e((()=>{Ue=n(),te(),u(),ne(),c(),E(),A=s(),{useArgs:We}=__STORYBOOK_MODULE_PREVIEW_API__,j=[{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`}],Ge=[{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`}}],Ke={getRowId:e=>e.id,getParentRowId:e=>e.parentId},M={getRowId:e=>e.id,getParentRowId:e=>e.parentId},qe={getRowId:e=>e.id,getParentRowId:e=>e.parentId},N=[{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}],P=[{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:`УД`}],F=[{id:`label`,accessorKey:`label`,header:`Показатель`,meta:{width:14}},{id:`division`,accessorKey:`division`,header:`Дивизион`,meta:{width:10,mergeDuplicates:!0}}],I=[{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}}}],Je=[{id:`totalAmount`,accessorKey:`totalAmount`,header:`Сумма в дереве`,meta:{width:12,align:`right`,formatting:{role:`measure`,type:`decimal`,formattersPipeline:ze()}}},{id:`label`,accessorKey:`label`,header:`Показатель`,meta:{width:14}}],Ye=[{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}}}],Xe=[{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`}],Ze=ee(Xe),L=`ZDEMO_FINANCE_SRV`,R=`FinanceSet`,Qe={title:`Финансовая иерархия`,columns:Xe},$e=(e,t)=>{let n=(0,Ue.useMemo)(()=>{let e=re({}),n=t.parameters.odataService,r=t.parameters.odataEntity,i=t.parameters.odataMetadata;return n&&r&&i&&e.setQueryData(Be(n),{entities:{[r]:i},functionImports:{}}),e},[t.parameters.odataEntity,t.parameters.odataMetadata,t.parameters.odataService]);return(0,A.jsx)(l,{client:n,children:e()})},et={title:`Shared/UI/TreeTable`,component:C,args:{title:`Финансовые показатели`,data:j,columns:Ge,hierarchy:Ke,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}}},z={render:function(e){return(0,A.jsx)(O,{args:e})}},B={args:{selectionMode:`multi`},render:function(e){return(0,A.jsx)(k,{args:e})}},V={args:{expandFirstLevel:!1},render:function(e){return(0,A.jsx)(O,{args:e})}},H={args:{expandFirstLevel:!1,defaultExpandedRowIds:[`margin`,`margin_logistics`]},render:function(e){return(0,A.jsx)(O,{args:e})}},U={args:{selectionMode:`multi`,getRowCanSelect:e=>!e.isLocked},render:function(e){return(0,A.jsx)(k,{args:e,intro:`Строка «Экспортная логистика» остаётся в дереве, но не участвует в выборе.`})}},W={args:{isFetching:!0},render:function(e){return(0,A.jsx)(O,{args:e})}},G={args:{data:[]},render:function(e){return(0,A.jsx)(O,{args:e})}},K={args:{isLoading:!0},render:function(e){return(0,A.jsx)(O,{args:e})}},q={args:{title:`Формула в дереве`,data:N,columns:I,hierarchy:M,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},render:function(e){return(0,A.jsx)(O,{args:e})}},J={args:{title:`Форматирование tree-колонки`,data:N,columns:Je,hierarchy:M,treeColumnId:`totalAmount`,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},render:function(e){return(0,A.jsx)(O,{args:e})}},Y={args:{title:`Скрытие нулей в дереве`,data:N,columns:Ye,hierarchy:M,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},render:function(e){return(0,A.jsx)(O,{args:e})}},X={args:{title:`Слияние дубликатов в дереве`,data:P,columns:F,hierarchy:qe,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},render:function(e){return(0,A.jsx)(O,{args:e})}},Z={args:{title:`OData metadata adapter`,data:N,columns:Ze,hierarchy:M,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},render:function(e){return(0,A.jsx)(O,{args:e})}},Q={args:{title:`useODataTableColumns: build`,data:N,columns:[],hierarchy:M,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},decorators:[$e],parameters:{odataService:L,odataEntity:R,odataMetadata:Qe},render:function(e){return(0,A.jsx)(Ve,{args:e})}},$={args:{title:`useODataTableColumns: enrich`,data:N,columns:[],hierarchy:M,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},decorators:[$e],parameters:{odataService:L,odataEntity:R,odataMetadata:Qe},render:function(e){return(0,A.jsx)(He,{args:e})}},z.parameters={...z.parameters,docs:{...z.parameters?.docs,source:{originalSource:`{
9
+ TreeTable сам добавит expander и отступ после выполнения слота.`}}}})))()}var E=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:()=>et,default:()=>$e});function ze(){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 Be(e){return[`odata`,`metadata`,{service:e}]}function D({args:e}){let[,t]=Ue();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 O({args:e}){let{columns:t,metadata:n,isLoading:r}=re({service:L,target:R,mode:`build`});return(0,A.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`},children:[(0,A.jsxs)(`div`,{children:[`Режим build: hook собрал `,t.length,` колонки из metadata`,n?` для сущности «${n.title}».`:`.`]}),(0,A.jsx)(D,{args:{...e,columns:t,isLoading:e.isLoading??r}})]})}function Ve({args:e}){let{columns:t,metadata:n,isLoading:r}=re({service:L,target:R,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-контекстом`,n?` из metadata «${n.title}».`:`.`]}),(0,A.jsx)(D,{args:{...e,columns:t,isLoading:e.isLoading??r}})]})}function k({args:e,intro:t}){let[n,r]=(0,He.useState)([]);return(0,A.jsxs)(`div`,{style:{display:`grid`,gap:`0.75em`},children:[t?(0,A.jsx)(`div`,{children:t}):null,(0,A.jsxs)(`div`,{children:[`Выбрано: `,n.length>0?n.join(`, `):`ничего`]}),(0,A.jsx)(D,{args:{...e,onRowSelectionChange:t=>{e.onRowSelectionChange?.(t),r(t.map(e=>e.label))}}})]})}var He,A,Ue,j,We,Ge,M,Ke,N,P,F,I,qe,Je,Ye,Xe,L,R,Ze,Qe,$e,z,B,V,H,U,W,G,K,q,J,Y,X,Z,Q,$,et;function tt(){return(tt=e((()=>{He=n(),ae(),c(),d(),l(),T(),A=s(),{useArgs:Ue}=__STORYBOOK_MODULE_PREVIEW_API__,j=[{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`}],We=[{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`}}],Ge={getRowId:e=>e.id,getParentRowId:e=>e.parentId},M={getRowId:e=>e.id,getParentRowId:e=>e.parentId},Ke={getRowId:e=>e.id,getParentRowId:e=>e.parentId},N=[{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}],P=[{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:`УД`}],F=[{id:`label`,accessorKey:`label`,header:`Показатель`,meta:{width:14}},{id:`division`,accessorKey:`division`,header:`Дивизион`,meta:{width:10,mergeDuplicates:!0}}],I=[{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}}}],qe=[{id:`totalAmount`,accessorKey:`totalAmount`,header:`Сумма в дереве`,meta:{width:12,align:`right`,formatting:{role:`measure`,type:`decimal`,formattersPipeline:ze()}}},{id:`label`,accessorKey:`label`,header:`Показатель`,meta:{width:14}}],Je=[{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}}}],Ye=[{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`}],Xe=ne(Ye),L=`ZDEMO_FINANCE_SRV`,R=`FinanceSet`,Ze={title:`Финансовая иерархия`,columns:Ye},Qe=(e,t)=>{let n=(0,He.useMemo)(()=>{let e=ie({}),n=t.parameters.odataService,r=t.parameters.odataEntity,i=t.parameters.odataMetadata;return n&&r&&i&&e.setQueryData(Be(n),{entities:{[r]:i},functionImports:{}}),e},[t.parameters.odataEntity,t.parameters.odataMetadata,t.parameters.odataService]);return(0,A.jsx)(u,{client:n,children:e()})},$e={title:`Shared/UI/TreeTable`,component:S,args:{title:`Финансовые показатели`,data:j,columns:We,hierarchy:Ge,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}}},z={render:function(e){return(0,A.jsx)(D,{args:e})}},B={args:{selectionMode:`multi`},render:function(e){return(0,A.jsx)(k,{args:e})}},V={args:{expandFirstLevel:!1},render:function(e){return(0,A.jsx)(D,{args:e})}},H={args:{expandFirstLevel:!1,defaultExpandedRowIds:[`margin`,`margin_logistics`]},render:function(e){return(0,A.jsx)(D,{args:e})}},U={args:{selectionMode:`multi`,getRowCanSelect:e=>!e.isLocked},render:function(e){return(0,A.jsx)(k,{args:e,intro:`Строка «Экспортная логистика» остаётся в дереве, но не участвует в выборе.`})}},W={args:{isFetching:!0},render:function(e){return(0,A.jsx)(D,{args:e})}},G={args:{data:[]},render:function(e){return(0,A.jsx)(D,{args:e})}},K={args:{isLoading:!0},render:function(e){return(0,A.jsx)(D,{args:e})}},q={args:{title:`Формула в дереве`,data:N,columns:I,hierarchy:M,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},render:function(e){return(0,A.jsx)(D,{args:e})}},J={args:{title:`Форматирование tree-колонки`,data:N,columns:qe,hierarchy:M,treeColumnId:`totalAmount`,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},render:function(e){return(0,A.jsx)(D,{args:e})}},Y={args:{title:`Скрытие нулей в дереве`,data:N,columns:Je,hierarchy:M,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},render:function(e){return(0,A.jsx)(D,{args:e})}},X={args:{title:`Слияние дубликатов в дереве`,data:P,columns:F,hierarchy:Ke,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},render:function(e){return(0,A.jsx)(D,{args:e})}},Z={args:{title:`OData metadata adapter`,data:N,columns:Xe,hierarchy:M,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},render:function(e){return(0,A.jsx)(D,{args:e})}},Q={args:{title:`useODataTableColumns: build`,data:N,columns:[],hierarchy:M,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},decorators:[Qe],parameters:{odataService:L,odataEntity:R,odataMetadata:Ze},render:function(e){return(0,A.jsx)(O,{args:e})}},$={args:{title:`useODataTableColumns: enrich`,data:N,columns:[],hierarchy:M,selectionMode:`none`,expandFirstLevel:!0,indentSize:1},decorators:[Qe],parameters:{odataService:L,odataEntity:R,odataMetadata:Ze},render:function(e){return(0,A.jsx)(Ve,{args:e})}},z.parameters={...z.parameters,docs:{...z.parameters?.docs,source:{originalSource:`{
10
10
  render: function Render(args) {
11
11
  return <TreeTableStoryCanvas args={args} />;
12
12
  }
@@ -165,4 +165,4 @@ TreeTable сам добавит expander и отступ после выполн
165
165
  render: function Render(args) {
166
166
  return <HookEnrichTreeTableStory args={args} />;
167
167
  }
168
- }`,...$.parameters?.docs?.source},description:{story:"Реальный hook-сценарий `useODataTableColumns(...)` в режиме enrich для TreeTable.",...$.parameters?.docs?.description}}},tt=[`Basic`,`MultiSelect`,`CollapsedByDefault`,`WithDefaultExpandedBranch`,`WithDisabledRows`,`Fetching`,`Empty`,`Loading`,`WithFormulaColumn`,`WithFormattedTreeColumn`,`WithHiddenZero`,`WithMergedDuplicates`,`WithODataMetadataAdapter`,`WithUseODataTableColumnsBuildHook`,`WithUseODataTableColumnsEnrichHook`]})))()}export{nt 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,D as s,z as t,J as u};
168
+ }`,...$.parameters?.docs?.source},description:{story:"Реальный hook-сценарий `useODataTableColumns(...)` в режиме enrich для TreeTable.",...$.parameters?.docs?.description}}},et=[`Basic`,`MultiSelect`,`CollapsedByDefault`,`WithDefaultExpandedBranch`,`WithDisabledRows`,`Fetching`,`Empty`,`Loading`,`WithFormulaColumn`,`WithFormattedTreeColumn`,`WithHiddenZero`,`WithMergedDuplicates`,`WithODataMetadataAdapter`,`WithUseODataTableColumnsBuildHook`,`WithUseODataTableColumnsEnrichHook`]})))()}export{tt 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,E as s,z as t,J as u};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{n as t}from"./iframe-DM52JHVE.js";import{i as n,r}from"./react-qN2cStNd.js";import{c as i,l as a,m as o}from"./blocks-7Wf2ozDB.js";var s;function c(){return(c=e((()=>{s=`# Async helpers
1
+ import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{n as t}from"./iframe-BnW9ONAs.js";import{i as n,r}from"./react-qN2cStNd.js";import{c as i,l as a,m as o}from"./blocks-W-usNnZb.js";var s;function c(){return(c=e((()=>{s=`# Async helpers
2
2
 
3
3
  Модуль \`src/shared/api/async\` содержит инфраструктурный helper для пакетного запуска async-задач с ограничением по параллелизму.
4
4