@ryuzaki13/react-foundation-ui 1.3.3 → 1.4.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 (238) hide show
  1. package/dist/advanced-search/index.js +1 -1
  2. package/dist/chunks/{multi-select-DgSwr3Pf.js → multi-select-CWx12rgb.js} +2 -2
  3. package/dist/chunks/{multi-select-DgSwr3Pf.js.map → multi-select-CWx12rgb.js.map} +1 -1
  4. package/dist/chunks/{select-kZQRRj2e.js → select-BPb-eL3O.js} +2 -2
  5. package/dist/chunks/{select-kZQRRj2e.js.map → select-BPb-eL3O.js.map} +1 -1
  6. package/dist/chunks/{useODataSelectBase-CWBR3WCn.js → useODataSelectBase-CKe1AVMI.js} +4 -4
  7. package/dist/chunks/useODataSelectBase-CKe1AVMI.js.map +1 -0
  8. package/dist/multi-select/index.js +1 -1
  9. package/dist/preset-select/index.js +1 -1
  10. package/dist/select/SelectOptionContent.d.ts +5 -1
  11. package/dist/select/SelectOptionContent.d.ts.map +1 -1
  12. package/dist/select/index.js +1 -1
  13. package/dist/state-select/index.js +1 -1
  14. package/dist/styles.css +1 -1
  15. package/dist/tree-select/ODataTreeMultiSelect.d.ts +6 -1
  16. package/dist/tree-select/ODataTreeMultiSelect.d.ts.map +1 -1
  17. package/dist/tree-select/ODataTreeSelect.d.ts +6 -1
  18. package/dist/tree-select/ODataTreeSelect.d.ts.map +1 -1
  19. package/dist/tree-select/TreeMultiSelect.d.ts +6 -1
  20. package/dist/tree-select/TreeMultiSelect.d.ts.map +1 -1
  21. package/dist/tree-select/TreeNodeContent.d.ts.map +1 -1
  22. package/dist/tree-select/TreePickerBase.d.ts +2 -1
  23. package/dist/tree-select/TreePickerBase.d.ts.map +1 -1
  24. package/dist/tree-select/TreeSelect.d.ts +6 -1
  25. package/dist/tree-select/TreeSelect.d.ts.map +1 -1
  26. package/dist/tree-select/index.js +339 -239
  27. package/dist/tree-select/index.js.map +1 -1
  28. package/dist/tree-select/model/buildTreeColumnsLayoutDescriptor.d.ts +24 -0
  29. package/dist/tree-select/model/buildTreeColumnsLayoutDescriptor.d.ts.map +1 -0
  30. package/dist/tree-select/model/resolveBalancedTreeColumnsLayout.d.ts +26 -4
  31. package/dist/tree-select/model/resolveBalancedTreeColumnsLayout.d.ts.map +1 -1
  32. package/dist/tree-select/model/treeUtils.d.ts +8 -0
  33. package/dist/tree-select/model/treeUtils.d.ts.map +1 -1
  34. package/package.json +1 -1
  35. package/storybook-static/assets/{Badge-BXGizheF.js → Badge-gSh8l-os.js} +1 -1
  36. package/storybook-static/assets/{Badge.stories-CrSrZqzF.js → Badge.stories-BS7dTFrU.js} +1 -1
  37. package/storybook-static/assets/{Button-CDbk7d-m.js → Button-CIsa_NLR.js} +1 -1
  38. package/storybook-static/assets/{Button-Dqbwz5SY.js → Button-YeLofqo6.js} +1 -1
  39. package/storybook-static/assets/{Button.stories-IsLyuEQu.js → Button.stories-Bhb87Dqw.js} +1 -1
  40. package/storybook-static/assets/{CheckBox-B9vRjloY.js → CheckBox-BEkP7-_V.js} +1 -1
  41. package/storybook-static/assets/{CheckBox-CDF4aRMv.js → CheckBox-zKT33Upg.js} +1 -1
  42. package/storybook-static/assets/{CheckBox.stories-bhYhowXs.js → CheckBox.stories-CoXcAm05.js} +1 -1
  43. package/storybook-static/assets/{Color-KMSTOMOX-CZI26YHI.js → Color-KMSTOMOX-hhoYimsF.js} +1 -1
  44. package/storybook-static/assets/{ContextMenu-Dy_Joxaa.js → ContextMenu-DyY1tQ1E.js} +1 -1
  45. package/storybook-static/assets/{ContextMenu.stories-C12oKTxi.js → ContextMenu.stories-x8GI34yZ.js} +1 -1
  46. package/storybook-static/assets/{DateInput-CIfkWh1I.js → DateInput-BhFywEgL.js} +1 -1
  47. package/storybook-static/assets/{DateInput-Cm7V9wTx.js → DateInput-DKFrWLZc.js} +1 -1
  48. package/storybook-static/assets/{DateInput.stories-BylkzNdO.js → DateInput.stories-CcGZPbRD.js} +1 -1
  49. package/storybook-static/assets/{DateRangePresetSelect-i_k10VWg.js → DateRangePresetSelect-BUq-lz30.js} +1 -1
  50. package/storybook-static/assets/{DateRangePresetSelect-QEE36ShR.js → DateRangePresetSelect-B_97NkVH.js} +1 -1
  51. package/storybook-static/assets/{DateRangePresetSelect.stories-Bjk9qNYa.js → DateRangePresetSelect.stories-DiMDIy2Y.js} +1 -1
  52. package/storybook-static/assets/{Detail-jTHXj2KK.js → Detail-CW2ecf5q.js} +1 -1
  53. package/storybook-static/assets/{Detail.stories-BNtWBgLN.js → Detail.stories-CuHf3Wue.js} +1 -1
  54. package/storybook-static/assets/{Dialog-MinTRFx1.js → Dialog-saV3OBaD.js} +1 -1
  55. package/storybook-static/assets/{Dialog.stories-CCar2iEw.js → Dialog.stories-DJZjDZOj.js} +1 -1
  56. package/storybook-static/assets/{Disclosure-KhcxHVMA.js → Disclosure-BnQsoyZ9.js} +1 -1
  57. package/storybook-static/assets/{Disclosure.stories-D6CXdXhU.js → Disclosure.stories-CleAOTAa.js} +1 -1
  58. package/storybook-static/assets/{DocsRenderer-JROSPFPF-rE76odVy.js → DocsRenderer-JROSPFPF-Cb487wNy.js} +2 -2
  59. package/storybook-static/assets/{DropZone-C9P62eAo.js → DropZone-DCYvv6oS.js} +1 -1
  60. package/storybook-static/assets/{DropZone.stories-CDpU09qv.js → DropZone.stories-BN6UGMzJ.js} +1 -1
  61. package/storybook-static/assets/{DropdownMenu-B7_dSAQi.js → DropdownMenu-CwaWnh5v.js} +1 -1
  62. package/storybook-static/assets/{ExpandableActionPanel.stories-6Nol4NzG.js → ExpandableActionPanel.stories-BbTtL5H5.js} +1 -1
  63. package/storybook-static/assets/{Flex--d_h560m.js → Flex-BIhVP-gi.js} +1 -1
  64. package/storybook-static/assets/{Flex-DRM55swC.js → Flex-bVf3Ey0I.js} +1 -1
  65. package/storybook-static/assets/{Flex.stories-CYnHqtKr.js → Flex.stories-Bo516CcI.js} +1 -1
  66. package/storybook-static/assets/{Grid-D78Sqd0O.js → Grid-CZL3RCDH.js} +1 -1
  67. package/storybook-static/assets/{Grid-Dkv_vTie.js → Grid-D-XK8eGU.js} +1 -1
  68. package/storybook-static/assets/{Grid.stories-c-8ketPR.js → Grid.stories-f_m-IAqH.js} +1 -1
  69. package/storybook-static/assets/{ImageCropper.stories-B0f5Z4tM.js → ImageCropper.stories-C4u0eKX8.js} +1 -1
  70. package/storybook-static/assets/{ImageRenderer-D02DrLbT.js → ImageRenderer-Ctn8BFAc.js} +1 -1
  71. package/storybook-static/assets/{ImageRenderer.stories-BeqdZb_e.js → ImageRenderer.stories-k46-p7GH.js} +1 -1
  72. package/storybook-static/assets/{ImageView.stories-CTVipSiv.js → ImageView.stories-Dw9eCMdL.js} +1 -1
  73. package/storybook-static/assets/{ImageViewer.stories-CAAeqeVg.js → ImageViewer.stories-DN9QFJtR.js} +2 -2
  74. package/storybook-static/assets/{ImageViewerRuntime-D8hXJNQS.js → ImageViewerRuntime-C2241xTn.js} +1 -1
  75. package/storybook-static/assets/{Input-CLMsBTPD.js → Input-BRLdK2Si.js} +1 -1
  76. package/storybook-static/assets/{Input-BS0bE9Uq.js → Input-sOZDjUSU.js} +1 -1
  77. package/storybook-static/assets/{Input.stories-C6ok3Vf_.js → Input.stories-DplzGk8u.js} +1 -1
  78. package/storybook-static/assets/{InputDateTime-D3Gej3i7.js → InputDateTime-BTlRD6aj.js} +1 -1
  79. package/storybook-static/assets/{InputDateTime.stories-ZwUUI7r_.js → InputDateTime.stories-B1UvUlhq.js} +1 -1
  80. package/storybook-static/assets/{InputFile-nzPSdHb3.js → InputFile-BQ4vAM0P.js} +1 -1
  81. package/storybook-static/assets/{InputFile.stories-DK1Om55q.js → InputFile.stories-CPdM_Emc.js} +1 -1
  82. package/storybook-static/assets/{InputFiles-DW8oyBII.js → InputFiles-DQg_DoKH.js} +1 -1
  83. package/storybook-static/assets/{InputFiles-Dy9UVSj8.js → InputFiles-WBqlWl_E.js} +1 -1
  84. package/storybook-static/assets/{InputFiles.stories-UMTQR-ha.js → InputFiles.stories-Dv1xaXgU.js} +1 -1
  85. package/storybook-static/assets/{InputImage-xl7xbdkO.js → InputImage-akZIEPgb.js} +1 -1
  86. package/storybook-static/assets/{InputImage.stories-JpwZSlLI.js → InputImage.stories-CH_DiWmh.js} +1 -1
  87. package/storybook-static/assets/{LayoutPicker-x-U0lz-F.js → LayoutPicker-ERi6qIDR.js} +1 -1
  88. package/storybook-static/assets/{LayoutPicker.stories-CuBddoMg.js → LayoutPicker.stories-BrtmW4CE.js} +1 -1
  89. package/storybook-static/assets/{Listbox-BiEU-uRf.js → Listbox-DY72jU9z.js} +1 -1
  90. package/storybook-static/assets/{Listbox.stories-DIa0XZjz.js → Listbox.stories-_QzDM1Ci.js} +1 -1
  91. package/storybook-static/assets/{Modal-VxiktYka.js → Modal-DncLyPfo.js} +1 -1
  92. package/storybook-static/assets/{Modal.stories-Q3wIaMyI.js → Modal.stories-C4-NBAXw.js} +1 -1
  93. package/storybook-static/assets/{MultiSelect-CQdRxCcR.js → MultiSelect-B5N-STfq.js} +1 -1
  94. package/storybook-static/assets/{MultiSelect-BwntC_0E.js → MultiSelect-ejIWp-Rz.js} +1 -1
  95. package/storybook-static/assets/{MultiSelect.stories-C-cjyhFu.js → MultiSelect.stories-XgDrwGuo.js} +1 -1
  96. package/storybook-static/assets/{NotificationsHost-P8nSP6Ch.js → NotificationsHost-6b9kYvax.js} +1 -1
  97. package/storybook-static/assets/{NotificationsHost.stories-Bfbl26qA.js → NotificationsHost.stories-D09Wq0wZ.js} +1 -1
  98. package/storybook-static/assets/{ODataMultiSelect-B7NIfvTV.js → ODataMultiSelect-BFKJRw5K.js} +3 -3
  99. package/storybook-static/assets/{ODataMultiSelect-B2HLclZi.js → ODataMultiSelect-BIawkf_b.js} +1 -1
  100. package/storybook-static/assets/ODataMultiSelect.stories-CvsX2yER.js +73 -0
  101. package/storybook-static/assets/{ODataSelect-BQiFlfxa.js → ODataSelect-Cu6Tjx_s.js} +3 -2
  102. package/storybook-static/assets/{ODataSelect-Bj0JR8LA.js → ODataSelect-DIoiZucq.js} +1 -1
  103. package/storybook-static/assets/ODataSelect.stories-DjwSk6Uy.js +73 -0
  104. package/storybook-static/assets/ODataTreeMultiSelect-Bjhif1b9.js +19 -0
  105. package/storybook-static/assets/ODataTreeMultiSelect.stories-B3LvjLMX.js +30 -0
  106. package/storybook-static/assets/ODataTreeSelect-DjHtl_iC.js +17 -0
  107. package/storybook-static/assets/ODataTreeSelect.stories-BBJKEuMz.js +24 -0
  108. package/storybook-static/assets/{PeriodSelect-DaWQ0mjZ.js → PeriodSelect-D1AaJFeL.js} +1 -1
  109. package/storybook-static/assets/{PeriodSelect.stories-Yy99ua71.js → PeriodSelect.stories-CmbqFihE.js} +1 -1
  110. package/storybook-static/assets/{Popover-BNe7nxLz.js → Popover-DR8liz-v.js} +1 -1
  111. package/storybook-static/assets/{Popover.stories-DS7KGgX_.js → Popover.stories-DqUV0zog.js} +1 -1
  112. package/storybook-static/assets/{PresetRangeDateInput-CJgl2a75.js → PresetRangeDateInput-BLHAAOsi.js} +1 -1
  113. package/storybook-static/assets/{PresetRangeDateInput.stories-0rYhj1C_.js → PresetRangeDateInput.stories-CYkMAT2P.js} +1 -1
  114. package/storybook-static/assets/{RadioButton-BrwdgioM.js → RadioButton-C1XwSn49.js} +1 -1
  115. package/storybook-static/assets/{RadioButton.stories-BbtJGm_v.js → RadioButton.stories-DEhd2--I.js} +1 -1
  116. package/storybook-static/assets/{RadioGroup-DrKLg8_l.js → RadioGroup-C0kqI1LY.js} +1 -1
  117. package/storybook-static/assets/{RadioGroup-CIsYSRd5.js → RadioGroup-C1SuOl8q.js} +1 -1
  118. package/storybook-static/assets/{RadioGroup.stories-CH7TDkQh.js → RadioGroup.stories-B7fIJ67H.js} +1 -1
  119. package/storybook-static/assets/{Select-Co9fWuB0.js → Select-DJ5LrHt6.js} +1 -1
  120. package/storybook-static/assets/{Select-BAcaVPih.js → Select-DLjAU3g8.js} +1 -1
  121. package/storybook-static/assets/{Select.stories-D7KUyjz-.js → Select.stories-_vkzIMCQ.js} +1 -1
  122. package/storybook-static/assets/SelectOptionContent-NnKgGdv9.js +1 -0
  123. package/storybook-static/assets/{SerializableSelect-sfgdypbU.js → SerializableSelect-BR_nTkvZ.js} +1 -1
  124. package/storybook-static/assets/{SerializableSelect-C-xoVeel.js → SerializableSelect-DmJtvEpv.js} +1 -1
  125. package/storybook-static/assets/{SerializableSelect.stories-Dpq-fZDi.js → SerializableSelect.stories-DbGF0LVI.js} +1 -1
  126. package/storybook-static/assets/{SingleDateTimeInput-Bf1k18Gn.js → SingleDateTimeInput-DltYiswX.js} +1 -1
  127. package/storybook-static/assets/{SingleDateTimeInput.stories-SRbH9pIH.js → SingleDateTimeInput.stories-DmcElJ7B.js} +1 -1
  128. package/storybook-static/assets/{Slider-9vIXsbBc.js → Slider-CRHuCUbB.js} +1 -1
  129. package/storybook-static/assets/{Slider.stories-CxxHuu6c.js → Slider.stories-B2Bnn8xW.js} +1 -1
  130. package/storybook-static/assets/{SliderInput-D7X8REX1.js → SliderInput-Dv-_z_sZ.js} +1 -1
  131. package/storybook-static/assets/{SliderInput.stories-a42bU6Z6.js → SliderInput.stories-BP9cwXe3.js} +1 -1
  132. package/storybook-static/assets/{Sortable-CoPgATOF.js → Sortable-BDspkLd3.js} +1 -1
  133. package/storybook-static/assets/{Sortable.stories-BxXwlJEk.js → Sortable.stories-DqFu5ZAm.js} +1 -1
  134. package/storybook-static/assets/{Splitter-BHx8ouDF.js → Splitter-9N4ZumCX.js} +1 -1
  135. package/storybook-static/assets/{Splitter.stories-Cy_j7bxQ.js → Splitter.stories-DgZFlDGy.js} +1 -1
  136. package/storybook-static/assets/{StateSelect-BWg-mTDa.js → StateSelect-DsqJaiKP.js} +1 -1
  137. package/storybook-static/assets/{StateSelect.stories-ynd6h7zP.js → StateSelect.stories-Cte9B94C.js} +1 -1
  138. package/storybook-static/assets/{StringToggle.stories-BZalN849.js → StringToggle.stories-DKJ11M4C.js} +1 -1
  139. package/storybook-static/assets/{Switch-BlQLtAHz.js → Switch-DYaU9GG7.js} +1 -1
  140. package/storybook-static/assets/{Switch.stories-BaaZomBA.js → Switch.stories-BtUzES0M.js} +1 -1
  141. package/storybook-static/assets/{Table-BMvEYYc3.js → Table-D2BQ2oF-.js} +1 -1
  142. package/storybook-static/assets/{Table.stories-Cr0d5qNg.js → Table.stories-BA4_3qL_.js} +1 -1
  143. package/storybook-static/assets/{Tabs-GiDbVyfo.js → Tabs-Cm9HSlP4.js} +1 -1
  144. package/storybook-static/assets/{Tabs.stories-C_iNs4K8.js → Tabs.stories-DrrusJOZ.js} +1 -1
  145. package/storybook-static/assets/{TagInput.stories-DJS5FaGd.js → TagInput.stories-BWDiTIHT.js} +1 -1
  146. package/storybook-static/assets/{Textarea-Bhb4KAM8.js → Textarea-B4pxQFpd.js} +1 -1
  147. package/storybook-static/assets/{Textarea.stories-BORUEqOf.js → Textarea.stories-B6UkZhde.js} +1 -1
  148. package/storybook-static/assets/{TimePanel-DmhJEJcE.js → TimePanel-D0bfeKGK.js} +1 -1
  149. package/storybook-static/assets/{TimePanel.stories-Cn3tVq-4.js → TimePanel.stories-DKEdciW2.js} +1 -1
  150. package/storybook-static/assets/{Toggle-B5amUYe7.js → Toggle-CdbQ9Xt3.js} +1 -1
  151. package/storybook-static/assets/{Toggle-myLi7weF.js → Toggle-CkbbGdLU.js} +1 -1
  152. package/storybook-static/assets/{Toggle.stories-CuqXCgeU.js → Toggle.stories-BgIudoad.js} +1 -1
  153. package/storybook-static/assets/{TreeMultiSelect-bPrUGgaK.js → TreeMultiSelect-Cbkr4cDA.js} +1 -1
  154. package/storybook-static/assets/TreeMultiSelect-DiPWwhml.js +19 -0
  155. package/storybook-static/assets/TreeMultiSelect.stories-BBCAd6Gq.js +35 -0
  156. package/storybook-static/assets/TreePickerBase-Bh67Enrn.js +22 -0
  157. package/storybook-static/assets/TreePickerBase-DMs9EpFv.css +1 -0
  158. package/storybook-static/assets/TreeSelect-BnNzwMQT.js +1 -0
  159. package/storybook-static/assets/TreeSelect-CgvMcoPB.js +16 -0
  160. package/storybook-static/assets/TreeSelect.stories-S2zo4fAX.js +18 -0
  161. package/storybook-static/assets/{TreeTable-BiWqc6-q.js → TreeTable-FAzFcf-t.js} +1 -1
  162. package/storybook-static/assets/{TreeTable.stories-D6vlA8yy.js → TreeTable.stories-DXxhWXqi.js} +1 -1
  163. package/storybook-static/assets/{WithTooltip-7X4HQR7L-DnPvMlc9.js → WithTooltip-7X4HQR7L-BeB8nhAE.js} +1 -1
  164. package/storybook-static/assets/{async-CyQUFjmi.js → async-Bgo99s0E.js} +1 -1
  165. package/storybook-static/assets/{base-table-uP1PP_Oy.js → base-table-AmSzYs6_.js} +1 -1
  166. package/storybook-static/assets/{blocks-IdQCTvUd.js → blocks-Dmj58mhm.js} +6 -6
  167. package/storybook-static/assets/{button-DV-x82vZ.js → button-3eX4X1pF.js} +1 -1
  168. package/storybook-static/assets/{check-box-8mT5eRfY.js → check-box-rktGSTee.js} +1 -1
  169. package/storybook-static/assets/{chunk-3LY4VQVK-S-pyB8Sd.js → chunk-3LY4VQVK-JWq0LFl5.js} +1 -1
  170. package/storybook-static/assets/{chunk-LITCR56V-BD6i2lO2.js → chunk-LITCR56V-BbahN_yV.js} +1 -1
  171. package/storybook-static/assets/{contextMenu-DsN3EHC2.js → contextMenu-CLL5WAxb.js} +1 -1
  172. package/storybook-static/assets/{date-DxlYMRFC.js → date-CkgxDok0.js} +1 -1
  173. package/storybook-static/assets/{error-COVzo8NA.js → error-Z7w1iONy.js} +1 -1
  174. package/storybook-static/assets/{file-BS4XTFPL.js → file-mHK2nrmr.js} +1 -1
  175. package/storybook-static/assets/{flex-DPR1UVwD.js → flex-DbByv7Hz.js} +1 -1
  176. package/storybook-static/assets/{floating-ui.react-DpZNHVJo.js → floating-ui.react-BcrUz8lJ.js} +1 -1
  177. package/storybook-static/assets/formatter-L2YTDE3Q-E-fuD8S9.js +1 -0
  178. package/storybook-static/assets/{formatters-DP_8nUnc.js → formatters-CqCEtV8w.js} +1 -1
  179. package/storybook-static/assets/{formulas-sUEpqRa9.js → formulas-BGZ9BxqL.js} +1 -1
  180. package/storybook-static/assets/grid-BIirsPdV.js +1 -0
  181. package/storybook-static/assets/{hooks-B5nuE6xT.js → hooks-B3m-jZHN.js} +1 -1
  182. package/storybook-static/assets/{iframe-CPosUl6l.js → iframe-GalkF0Zs.js} +3 -3
  183. package/storybook-static/assets/{input-yGsUaLVq.js → input-BjhZOLSA.js} +1 -1
  184. package/storybook-static/assets/{mdx-react-shim-CBPblRz9.js → mdx-react-shim-7A_ItrB6.js} +1 -1
  185. package/storybook-static/assets/{media-Be-jYQNz.js → media-Wv7jf1K7.js} +1 -1
  186. package/storybook-static/assets/{misc-lRqgmzfY.js → misc-BdzvD5dq.js} +1 -1
  187. package/storybook-static/assets/{notifications-DIHm3qjc.js → notifications-CuN5DVHQ.js} +1 -1
  188. package/storybook-static/assets/{number-CKAfQaJT.js → number-JL9wEiuK.js} +1 -1
  189. package/storybook-static/assets/{odata-_XPl73Aa.js → odata-BccFjFfw.js} +1 -1
  190. package/storybook-static/assets/odata-service-BNu0tuI7.js +1 -0
  191. package/storybook-static/assets/{odataFetchFn-C7p0aWmK.js → odataFetchFn-C8GFQND8.js} +1 -1
  192. package/storybook-static/assets/odataStoryFixtures-Dt2Vrdj6.js +25 -0
  193. package/storybook-static/assets/{persisted-CZHjDjEJ.js → persisted-D91MCfhx.js} +1 -1
  194. package/storybook-static/assets/{picker-CCHjulFn.js → picker-x1g6PYwU.js} +1 -1
  195. package/storybook-static/assets/{popover-DuJbUENq.js → popover-DBLmjxtw.js} +1 -1
  196. package/storybook-static/assets/{preset-select-Da_LXDIV.js → preset-select-D2w5Mz9w.js} +1 -1
  197. package/storybook-static/assets/{pwa-ChJIv6lr.js → pwa-DjKFOgTI.js} +1 -1
  198. package/storybook-static/assets/{queryClient-Ae6QJu44.js → queryClient-Drw7gj9q.js} +1 -1
  199. package/storybook-static/assets/{react-18-ELe7LdAx.js → react-18-6hsRe9ic.js} +1 -1
  200. package/storybook-static/assets/{react-DTOxCn11.js → react-C8N_JgBl.js} +1 -1
  201. package/storybook-static/assets/{react-dom-C_QIBzU-.js → react-dom-Bj91rBuY.js} +1 -1
  202. package/storybook-static/assets/select-D41ZbY27.js +1 -0
  203. package/storybook-static/assets/{slider-7qfp7EHJ.js → slider-DUxUMuwH.js} +1 -1
  204. package/storybook-static/assets/{sortable-CTA2N_S-.js → sortable-C-fGCbB6.js} +1 -1
  205. package/storybook-static/assets/{syntaxhighlighter-RTCFPKCB-B5ppyZAL.js → syntaxhighlighter-RTCFPKCB-wu6kEAP5.js} +1 -1
  206. package/storybook-static/assets/{text-LKa6pXuu.js → text-LYJNm5Vm.js} +1 -1
  207. package/storybook-static/assets/{theming-U_48EKxV.js → theming-aB5M07PV.js} +1 -1
  208. package/storybook-static/assets/treeStoryFixtures-Y_nnjz0_.js +1 -0
  209. package/storybook-static/assets/ui-C5CglmiQ.js +1 -0
  210. package/storybook-static/assets/{useODataSelectBase-Dj4Bdax5.js → useODataSelectBase-Conf0Fia.js} +1 -1
  211. package/storybook-static/assets/{useODataTreeData-DjW6p37C.js → useODataTreeData-fEdbben5.js} +1 -1
  212. package/storybook-static/assets/{utils-C0B-4KjU.js → utils-CPEyORfW.js} +1 -1
  213. package/storybook-static/assets/{valueState-D7LXCe1O.js → valueState-BqGCah-i.js} +1 -1
  214. package/storybook-static/iframe.html +1 -1
  215. package/storybook-static/index.json +1 -1
  216. package/storybook-static/project.json +1 -1
  217. package/dist/chunks/useODataSelectBase-CWBR3WCn.js.map +0 -1
  218. package/storybook-static/assets/ODataMultiSelect.stories-BndcMsvg.js +0 -73
  219. package/storybook-static/assets/ODataSelect.stories-CygjSEYY.js +0 -73
  220. package/storybook-static/assets/ODataTreeMultiSelect-ClZEJzyt.js +0 -17
  221. package/storybook-static/assets/ODataTreeMultiSelect.stories-Xik2zGUW.js +0 -28
  222. package/storybook-static/assets/ODataTreeSelect-Bg6Mo8vf.js +0 -16
  223. package/storybook-static/assets/ODataTreeSelect.stories-bH0LuH1r.js +0 -21
  224. package/storybook-static/assets/SelectOptionContent-BkJYthTw.js +0 -1
  225. package/storybook-static/assets/TreeMultiSelect-BF3DgMI0.js +0 -15
  226. package/storybook-static/assets/TreeMultiSelect.stories-D_LBd0oz.js +0 -31
  227. package/storybook-static/assets/TreePickerBase-B35lReuv.css +0 -1
  228. package/storybook-static/assets/TreePickerBase-DXGy-Zvy.js +0 -22
  229. package/storybook-static/assets/TreeSelect-BBq2_XHB.js +0 -15
  230. package/storybook-static/assets/TreeSelect-DWa6i3lr.js +0 -1
  231. package/storybook-static/assets/TreeSelect.stories-Bawpqbmb.js +0 -16
  232. package/storybook-static/assets/formatter-L2YTDE3Q-BpaBJo5h.js +0 -1
  233. package/storybook-static/assets/grid-u45o2h4C.js +0 -1
  234. package/storybook-static/assets/odata-service-CB5M0ObI.js +0 -1
  235. package/storybook-static/assets/odataStoryFixtures-Bdtm1Z0E.js +0 -25
  236. package/storybook-static/assets/select-Dqn3553J.js +0 -1
  237. package/storybook-static/assets/treeStoryFixtures-Cd984L7t.js +0 -1
  238. package/storybook-static/assets/ui-Bv-As7qz.js +0 -1
@@ -1 +1 @@
1
- {"generatedAt":1785479478786,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":false,"hasStorybookEslint":false,"refCount":0,"metaFramework":{"name":"tanstack-react","packageName":"@tanstack/react-router","version":"1.170.17"},"knownPackages":{"testPackages":{"@storybook/addon-vitest":"10.4.6","@testing-library/dom":"10.4.1","@testing-library/react":"16.3.2","@testing-library/user-event":"^14.6.1","@vitest/browser":"4.1.10","playwright":"1.61.1","vitest":"4.1.10"},"stateManagementPackages":{"zustand":"^5.0.14"},"dataFetchingPackages":{"@tanstack/react-query":"^5.101.1"},"routerPackages":{"@tanstack/react-router":"^1.170.16"}},"hasRouterPackage":false,"packageManager":{"type":"npm","version":"11.7.0","agent":"npm","nodeLinker":"node_modules"},"preview":{"usesGlobals":false},"framework":{"name":"@storybook/react-vite","options":{}},"builder":"@storybook/builder-vite","renderer":"@storybook/react","portableStoriesFileCount":0,"applicationFileCount":9,"storybookVersion":"10.4.6","storybookVersionSpecifier":"^10.4.6","language":"typescript","storybookPackages":{"@storybook/react-vite":{"version":"10.4.6"},"storybook":{}},"addons":{"@chromatic-com/storybook":{"version":"5.2.1"},"@storybook/addon-docs":{"version":"10.4.6"},"@storybook/addon-a11y":{"version":"10.4.6"},"@storybook/addon-vitest":{"version":"10.4.6"}},"packageJsonType":"module"}
1
+ {"generatedAt":1785495730425,"hasCustomBabel":false,"hasCustomWebpack":false,"hasStaticDirs":false,"hasStorybookEslint":false,"refCount":0,"metaFramework":{"name":"tanstack-react","packageName":"@tanstack/react-router","version":"1.170.17"},"knownPackages":{"testPackages":{"@storybook/addon-vitest":"10.4.6","@testing-library/dom":"10.4.1","@testing-library/react":"16.3.2","@testing-library/user-event":"^14.6.1","@vitest/browser":"4.1.10","playwright":"1.61.1","vitest":"4.1.10"},"stateManagementPackages":{"zustand":"^5.0.14"},"dataFetchingPackages":{"@tanstack/react-query":"^5.101.1"},"routerPackages":{"@tanstack/react-router":"^1.170.16"}},"hasRouterPackage":false,"packageManager":{"type":"npm","version":"11.7.0","agent":"npm","nodeLinker":"node_modules"},"preview":{"usesGlobals":false},"framework":{"name":"@storybook/react-vite","options":{}},"builder":"@storybook/builder-vite","renderer":"@storybook/react","portableStoriesFileCount":0,"applicationFileCount":9,"storybookVersion":"10.4.6","storybookVersionSpecifier":"^10.4.6","language":"typescript","storybookPackages":{"@storybook/react-vite":{"version":"10.4.6"},"storybook":{}},"addons":{"@chromatic-com/storybook":{"version":"5.2.1"},"@storybook/addon-docs":{"version":"10.4.6"},"@storybook/addon-a11y":{"version":"10.4.6"},"@storybook/addon-vitest":{"version":"10.4.6"}},"packageJsonType":"module"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useODataSelectBase-CWBR3WCn.js","names":[],"sources":["../../src/select/SelectOptionContent.tsx","../../src/select/model/useODataSelectBase.ts"],"sourcesContent":["import { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport { HighlightText } from \"../text\";\nimport uiStyles from \"../ui.module.scss\";\n\ninterface OptionContentProps {\n\tlabel: string;\n\tcode?: string;\n\thighlight?: string;\n}\n\n/**\n * Универсальный рендерер опции. Используется и в single-select, и в multi-select.\n */\nexport function SelectOptionContent({ label, code, highlight }: OptionContentProps) {\n\treturn (\n\t\t<div className={uiStyles.uiOptionBase}>\n\t\t\t<div className={cn(uiStyles.uiOptionText, \"flexEllipsis\")}>\n\t\t\t\t<HighlightText text={label} highlight={highlight} />\n\t\t\t</div>\n\t\t\t{code && (\n\t\t\t\t<div className={uiStyles.uiOptionCode}>\n\t\t\t\t\t<HighlightText text={code} highlight={highlight} />\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n","import { useEffect, useMemo, useState } from \"react\";\n\nimport { ODataCollectionModel, ODataSelectBaseProps, useODataCollection } from \"@ryuzaki13/react-foundation-api/odata\";\nimport { startsWithIgnoringZeros } from \"@ryuzaki13/react-foundation-lib/formatters\";\nimport { CollectionItem } from \"@ryuzaki13/react-foundation-lib/odata\";\n\ninterface UseODataSelectBaseOptions extends Omit<ODataSelectBaseProps, \"model\" | \"value\"> {\n\tmodel: Required<ODataCollectionModel>;\n\tvalue?: string[];\n}\n\nconst DEPENDENCY_KEY_SEPARATOR = \"\\u0002\";\nconst DEPENDENCY_VALUE_SEPARATOR = \"\\u0001\";\n\nfunction normalizeDependencyValues(values?: readonly string[]) {\n\tif (!values?.length) return [];\n\treturn [...new Set(values)].sort();\n}\n\nfunction createDependencySignature(codeKey: string, availableKeys: Record<string, unknown>, dependencies?: Record<string, string[]>) {\n\tconst parts: string[] = [];\n\n\tfor (const key of Object.keys(availableKeys).sort()) {\n\t\tif (key === codeKey) continue;\n\n\t\tconst values = normalizeDependencyValues(dependencies?.[key]);\n\t\tif (!values.length) continue;\n\n\t\tparts.push(`${key}:${values.join(DEPENDENCY_VALUE_SEPARATOR)}`);\n\t}\n\n\treturn parts.join(DEPENDENCY_KEY_SEPARATOR);\n}\n\nfunction parseDependencySignature(signature: string) {\n\tconst dependencies = new Map<string, string[]>();\n\tif (!signature) return dependencies;\n\n\tfor (const part of signature.split(DEPENDENCY_KEY_SEPARATOR)) {\n\t\tconst separatorIndex = part.indexOf(\":\");\n\t\tif (separatorIndex < 0) continue;\n\n\t\tconst key = part.slice(0, separatorIndex);\n\t\tconst values = part\n\t\t\t.slice(separatorIndex + 1)\n\t\t\t.split(DEPENDENCY_VALUE_SEPARATOR)\n\t\t\t.filter(Boolean);\n\t\tif (key && values.length) {\n\t\t\tdependencies.set(key, values);\n\t\t}\n\t}\n\n\treturn dependencies;\n}\n\nexport function useODataSelectBase({ odata, segment, model, value, dependencies }: UseODataSelectBaseOptions) {\n\tconst [query, setQuery] = useState(\"\");\n\tconst [debouncedQuery, setDebouncedQuery] = useState(\"\");\n\n\tconst { codeKey, searchDebounceDelay, minSearchCodeLength, minSearchTextLength: minSearchLength } = model;\n\n\tconst {\n\t\tdata: rawData,\n\t\ttextKey,\n\t\tisLoading,\n\t\tisError,\n\t\tgetItems,\n\t\tseparatedItems,\n\t\tfindSourceItemsByKeys,\n\t\tsetFilteredItems,\n\t\tdebounce\n\t} = useODataCollection({ odata, model });\n\n\tconst itemsCount = separatedItems.length;\n\tconst selectionKey = segment.selectText && textKey ? textKey : codeKey;\n\n\tconst dependencySignature = useMemo(() => {\n\t\tif (!rawData) return \"\";\n\t\treturn createDependencySignature(codeKey, rawData.keyPairsMap, dependencies);\n\t}, [rawData, codeKey, dependencies]);\n\n\tuseEffect(() => {\n\t\tif (!rawData) return;\n\n\t\tconst selfIndex = rawData.chain.findIndex((c) => c.codeKey === codeKey);\n\t\tconst currentDependencies = parseDependencySignature(dependencySignature);\n\n\t\tconst resolveFilteredItems = (index: number) => {\n\t\t\tconst key = rawData.chain[index].codeKey;\n\t\t\tconst dependenciesValues = currentDependencies.get(key);\n\t\t\tif (dependenciesValues?.length) {\n\t\t\t\treturn findSourceItemsByKeys(key, dependenciesValues);\n\t\t\t}\n\t\t};\n\n\t\tfor (let i = rawData.chain.length - 1; i > selfIndex; i--) {\n\t\t\tconst filteredItems = resolveFilteredItems(i);\n\t\t\tif (filteredItems) {\n\t\t\t\tsetFilteredItems(filteredItems);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tfor (let i = 0; i < selfIndex; i++) {\n\t\t\tconst filteredItems = resolveFilteredItems(i);\n\t\t\tif (filteredItems) {\n\t\t\t\tsetFilteredItems(filteredItems);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tsetFilteredItems(undefined);\n\t}, [rawData, dependencySignature, codeKey, findSourceItemsByKeys, setFilteredItems]);\n\n\tuseEffect(() => {\n\t\tdebounce(\n\t\t\t\"search\",\n\t\t\t() => {\n\t\t\t\tsetDebouncedQuery(query.trim().toLowerCase());\n\t\t\t},\n\t\t\tsearchDebounceDelay\n\t\t);\n\t}, [debounce, query, searchDebounceDelay]);\n\n\tconst selectedItems = useMemo(() => {\n\t\tif (!value?.length || !selectionKey) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst selectedValues = new Set(value);\n\t\treturn separatedItems.filter((item) => selectedValues.has(item[selectionKey]));\n\t}, [separatedItems, selectionKey, value]);\n\n\tconst filteredItems = useMemo(() => {\n\t\tif (!rawData) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst isFiltered = debouncedQuery.length >= minSearchLength;\n\n\t\tif (!isFiltered) {\n\t\t\treturn getItems(undefined, selectedItems);\n\t\t}\n\n\t\tconst isAheadText = debouncedQuery.length >= minSearchLength;\n\t\tconst isAheadCode = !segment.hideCode && debouncedQuery.length >= minSearchCodeLength && !Number.isNaN(Number(debouncedQuery));\n\n\t\treturn getItems((codeValue: string, textValue: string) => {\n\t\t\tif (codeValue && textValue) {\n\t\t\t\tif (isAheadCode && startsWithIgnoringZeros(codeValue, debouncedQuery)) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tif (isAheadText && textValue.toLowerCase().includes(debouncedQuery)) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn false;\n\t\t}, selectedItems);\n\t}, [debouncedQuery, getItems, minSearchCodeLength, minSearchLength, rawData, segment.hideCode, selectedItems]);\n\n\tconst placeholder = useMemo(() => {\n\t\tconst filteredItemsLength = filteredItems.length;\n\n\t\tif (!itemsCount) {\n\t\t\treturn `${segment.placeholder} <пусто>`;\n\t\t}\n\n\t\tif (filteredItemsLength < itemsCount) {\n\t\t\treturn `${segment.placeholder} <${filteredItemsLength}+>`;\n\t\t}\n\n\t\treturn `${segment.placeholder} <${itemsCount > model.maxVisibleItems ? `${model.maxVisibleItems}+` : itemsCount}>`;\n\t}, [filteredItems.length, itemsCount, model.maxVisibleItems, segment.placeholder]);\n\n\treturn {\n\t\tquery,\n\t\tsetQuery,\n\t\tdebouncedQuery,\n\t\tselectedItems,\n\t\tfilteredItems,\n\t\titemsCount,\n\t\tisLoading,\n\t\tisError,\n\t\tcodeKey,\n\t\ttextKey,\n\t\tselectionKey,\n\t\tplaceholder\n\t};\n}\n\nexport type ODataSelectBaseModel = ReturnType<typeof useODataSelectBase>;\n\nexport function mapSelectedItemsToValues(items: CollectionItem[], selectionKey: string) {\n\treturn items.map((item) => item[selectionKey]);\n}\n"],"mappings":";;;;;;;;AAcA,SAAgB,EAAoB,EAAE,UAAO,SAAM,gBAAiC;CACnF,OACC,kBAAC,OAAD;EAAK,WAAW,EAAS;YAAzB,CACC,kBAAC,OAAD;GAAK,WAAW,EAAG,EAAS,cAAc,cAAc;aACvD,kBAAC,GAAD;IAAe,MAAM;IAAkB;GAAY,CAAA;EAC/C,CAAA,GACJ,KACA,kBAAC,OAAD;GAAK,WAAW,EAAS;aACxB,kBAAC,GAAD;IAAe,MAAM;IAAiB;GAAY,CAAA;EAC9C,CAAA,CAEF;;AAEP;;;AChBA,IAAM,IAA2B,KAC3B,IAA6B;AAEnC,SAAS,EAA0B,GAA4B;CAE9D,OADK,GAAQ,SACN,CAAC,GAAG,IAAI,IAAI,CAAM,CAAC,CAAC,CAAC,KAAK,IADL,CAAC;AAE9B;AAEA,SAAS,EAA0B,GAAiB,GAAwC,GAAyC;CACpI,IAAM,IAAkB,CAAC;CAEzB,KAAK,IAAM,KAAO,OAAO,KAAK,CAAa,CAAC,CAAC,KAAK,GAAG;EACpD,IAAI,MAAQ,GAAS;EAErB,IAAM,IAAS,EAA0B,IAAe,EAAI;EACvD,EAAO,UAEZ,EAAM,KAAK,GAAG,EAAI,GAAG,EAAO,KAAK,CAA0B,GAAG;CAC/D;CAEA,OAAO,EAAM,KAAK,CAAwB;AAC3C;AAEA,SAAS,EAAyB,GAAmB;CACpD,IAAM,oBAAe,IAAI,IAAsB;CAC/C,IAAI,CAAC,GAAW,OAAO;CAEvB,KAAK,IAAM,KAAQ,EAAU,MAAM,CAAwB,GAAG;EAC7D,IAAM,IAAiB,EAAK,QAAQ,GAAG;EACvC,IAAI,IAAiB,GAAG;EAExB,IAAM,IAAM,EAAK,MAAM,GAAG,CAAc,GAClC,IAAS,EACb,MAAM,IAAiB,CAAC,CAAC,CACzB,MAAM,CAA0B,CAAC,CACjC,OAAO,OAAO;EAChB,AAAI,KAAO,EAAO,UACjB,EAAa,IAAI,GAAK,CAAM;CAE9B;CAEA,OAAO;AACR;AAEA,SAAgB,EAAmB,EAAE,UAAO,YAAS,UAAO,UAAO,mBAA2C;CAC7G,IAAM,CAAC,GAAO,KAAY,EAAS,EAAE,GAC/B,CAAC,GAAgB,KAAqB,EAAS,EAAE,GAEjD,EAAE,YAAS,wBAAqB,wBAAqB,qBAAqB,MAAoB,GAE9F,EACL,MAAM,GACN,YACA,cACA,YACA,aACA,mBACA,0BACA,qBACA,gBACG,EAAmB;EAAE;EAAO;CAAM,CAAC,GAEjC,IAAa,EAAe,QAC5B,IAAe,EAAQ,cAAc,IAAU,IAAU,GAEzD,IAAsB,QACtB,IACE,EAA0B,GAAS,EAAQ,aAAa,CAAY,IADtD,IAEnB;EAAC;EAAS;EAAS;CAAY,CAAC;CAmCnC,AAjCA,QAAgB;EACf,IAAI,CAAC,GAAS;EAEd,IAAM,IAAY,EAAQ,MAAM,WAAW,MAAM,EAAE,YAAY,CAAO,GAChE,IAAsB,EAAyB,CAAmB,GAElE,KAAwB,MAAkB;GAC/C,IAAM,IAAM,EAAQ,MAAM,EAAM,CAAC,SAC3B,IAAqB,EAAoB,IAAI,CAAG;GACtD,IAAI,GAAoB,QACvB,OAAO,EAAsB,GAAK,CAAkB;EAEtD;EAEA,KAAK,IAAI,IAAI,EAAQ,MAAM,SAAS,GAAG,IAAI,GAAW,KAAK;GAC1D,IAAM,IAAgB,EAAqB,CAAC;GAC5C,IAAI,GAAe;IAClB,EAAiB,CAAa;IAC9B;GACD;EACD;EAEA,KAAK,IAAI,IAAI,GAAG,IAAI,GAAW,KAAK;GACnC,IAAM,IAAgB,EAAqB,CAAC;GAC5C,IAAI,GAAe;IAClB,EAAiB,CAAa;IAC9B;GACD;EACD;EAEA,EAAiB,KAAA,CAAS;CAC3B,GAAG;EAAC;EAAS;EAAqB;EAAS;EAAuB;CAAgB,CAAC,GAEnF,QAAgB;EACf,EACC,gBACM;GACL,EAAkB,EAAM,KAAK,CAAC,CAAC,YAAY,CAAC;EAC7C,GACA,CACD;CACD,GAAG;EAAC;EAAU;EAAO;CAAmB,CAAC;CAEzC,IAAM,IAAgB,QAAc;EACnC,IAAI,CAAC,GAAO,UAAU,CAAC,GACtB,OAAO,CAAC;EAGT,IAAM,IAAiB,IAAI,IAAI,CAAK;EACpC,OAAO,EAAe,QAAQ,MAAS,EAAe,IAAI,EAAK,EAAa,CAAC;CAC9E,GAAG;EAAC;EAAgB;EAAc;CAAK,CAAC,GAElC,IAAgB,QAAc;EACnC,IAAI,CAAC,GACJ,OAAO,CAAC;EAKT,IAAI,EAFe,EAAe,UAAU,IAG3C,OAAO,EAAS,KAAA,GAAW,CAAa;EAGzC,IAAM,IAAc,EAAe,UAAU,GACvC,IAAc,CAAC,EAAQ,YAAY,EAAe,UAAU,KAAuB,CAAC,OAAO,MAAM,OAAO,CAAc,CAAC;EAE7H,OAAO,GAAU,GAAmB,MACnC,GAAI,KAAa,MACZ,KAAe,EAAwB,GAAW,CAAc,KAIhE,KAAe,EAAU,YAAY,CAAC,CAAC,SAAS,CAAc,KAMjE,CAAa;CACjB,GAAG;EAAC;EAAgB;EAAU;EAAqB;EAAiB;EAAS,EAAQ;EAAU;CAAa,CAAC;CAgB7G,OAAO;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,aA1BmB,QAAc;GACjC,IAAM,IAAsB,EAAc;GAU1C,OARK,IAID,IAAsB,IAClB,GAAG,EAAQ,YAAY,IAAI,EAAoB,MAGhD,GAAG,EAAQ,YAAY,IAAI,IAAa,EAAM,kBAAkB,GAAG,EAAM,gBAAgB,KAAK,EAAW,KAPxG,GAAG,EAAQ,YAAY;EAQhC,GAAG;GAAC,EAAc;GAAQ;GAAY,EAAM;GAAiB,EAAQ;EAAW,CAc/E;CACD;AACD;AAIA,SAAgB,EAAyB,GAAyB,GAAsB;CACvF,OAAO,EAAM,KAAK,MAAS,EAAK,EAAa;AAC9C"}
@@ -1,73 +0,0 @@
1
- import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{pn as r,t as i}from"./iframe-CPosUl6l.js";import{a,i as o,n as s,r as c,s as l,t as u}from"./odataStoryFixtures-Bdtm1Z0E.js";import{n as d,t as f}from"./ODataMultiSelect-B2HLclZi.js";var p=e({BasicDivision:()=>y,CollectionError:()=>E,HideCode:()=>b,LinkedFilters:()=>C,LoadingState:()=>w,MetadataError:()=>T,SelectTextValue:()=>x,StaticDependency:()=>S,__namedExportsOrder:()=>D,default:()=>v});function m({initialValue:e=[],odata:t=s,model:n=u,segment:r=c,dependencies:i,label:a=`OData MultiSelect`,description:o}){let[l,d]=(0,g.useState)(e);return(0,_.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,_.jsx)(f,{label:a,description:o,odata:t,model:n,segment:r,value:l,dependencies:i,onChange:d}),(0,_.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,l.length?l.join(`, `):`пусто`]})]})}function h(){let[e,t]=(0,g.useState)([a.region]),[n,r]=(0,g.useState)([a.branch,a.branchAlt]),[i,o]=(0,g.useState)([a.team]),[c,l]=(0,g.useState)([a.owner,a.ownerAlt]),d=e.length?{REGION:e}:void 0,p=e.length&&n.length?{REGION:e,BRANCH:n}:d,m=e.length&&n.length&&i.length?{REGION:e,BRANCH:n,TEAM:i}:p;return(0,_.jsxs)(`div`,{style:{display:`grid`,gap:16,maxWidth:720},children:[(0,_.jsx)(f,{label:`Регион`,description:`Корневой фильтр для цепочки. После смены значения downstream-фильтры сбрасываются.`,odata:s,model:{...u,codeKey:`REGION`},segment:{placeholder:`Регион`},value:e,onChange:e=>{t(e),r([]),o([]),l([])}}),(0,_.jsx)(f,{label:`Подразделение`,description:`Выбор нескольких подразделений внутри выбранных регионов.`,odata:s,model:{...u,codeKey:`BRANCH`},segment:{placeholder:`Подразделение`},dependencies:d,value:n,onChange:e=>{r(e),o([]),l([])}}),(0,_.jsx)(f,{label:`Команда`,description:`Третий уровень зависит от текущего набора подразделений.`,odata:s,model:{...u,codeKey:`TEAM`},segment:{placeholder:`Команда`},dependencies:p,value:i,onChange:e=>{o(e),l([])}}),(0,_.jsx)(f,{label:`Ответственный`,description:`Leaf-уровень для выбранных команд.`,odata:s,model:{...u,codeKey:`OWNER`},segment:{placeholder:`Ответственный`},dependencies:m,value:c,onChange:l}),(0,_.jsxs)(`div`,{style:{display:`grid`,gap:4,fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[(0,_.jsxs)(`div`,{children:[`Регион: `,e.length?e.join(`, `):`пусто`]}),(0,_.jsxs)(`div`,{children:[`Подразделение: `,n.length?n.join(`, `):`пусто`]}),(0,_.jsxs)(`div`,{children:[`Команда: `,i.length?i.join(`, `):`пусто`]}),(0,_.jsxs)(`div`,{children:[`Ответственный: `,c.length?c.join(`, `):`пусто`]})]})]})}var g,_,v,y,b,x,S,C,w,T,E,D,O=n((()=>{g=t(r(),1),o(),d(),_=i(),v={title:`Shared/UI/ODataMultiSelect`,component:f,decorators:[l],parameters:{atomicCanvas:!0,layout:`padded`,odataMockMode:`success`},args:{label:`Регион`,description:`Пример OData MultiSelect на основе конфигурации ui control.`,odata:s,model:u,segment:c,value:[],onChange:()=>{}},argTypes:{onChange:{control:!1},value:{control:!1},dependencies:{control:!1}}},y={name:`Базовый регион`,render:()=>(0,_.jsx)(m,{label:`Регион`,description:`Базовая настройка из multiSelectConfig: выбор кодов REGION с текстовым отображением.`,model:{...u,codeKey:`REGION`},segment:{placeholder:`Регион`},initialValue:[a.region]})},b={name:`Скрытый код`,render:()=>(0,_.jsx)(m,{label:`Подразделение`,description:`Сценарий segment.hideCode: в списке и токене показывается только текст без кода.`,model:{...u,codeKey:`BRANCH`},segment:{placeholder:`Подразделение`,hideCode:!0},initialValue:[a.branch,a.branchAlt]})},x={name:`Выбор текста вместо кода`,render:()=>(0,_.jsx)(m,{label:`Регион по тексту`,description:`Сценарий segment.selectText: наружу возвращаются текстовые значения, а не коды.`,model:{...u,codeKey:`REGION`},segment:{placeholder:`Регион`,selectText:!0},initialValue:[a.regionText]})},S={name:`Зависимость от региона`,render:()=>(0,_.jsx)(m,{label:`Подразделение c зависимостью`,description:`Фильтрация подразделений по уже выбранному региону через props.dependencies.`,model:{...u,codeKey:`BRANCH`},segment:{placeholder:`Подразделение`},dependencies:{REGION:[a.region]},initialValue:[a.branch]})},C={name:`Связанная цепочка фильтров`,render:()=>(0,_.jsx)(h,{})},w={name:`Состояние загрузки`,parameters:{odataMockMode:`loading`},render:()=>(0,_.jsx)(m,{label:`Команда`,description:`Mock с задержкой ответа, чтобы проверить loading-state и skeleton.`,model:{...u,codeKey:`TEAM`},segment:{placeholder:`Команда`}})},T={name:`Ошибка metadata`,parameters:{odataMockMode:`metadataError`},render:()=>(0,_.jsx)(m,{label:`Регион`,description:`Сервис возвращает ошибку metadata. Полезно для проверки поведения хука useODataEntity.`,model:{...u,codeKey:`REGION`},segment:{placeholder:`Регион`}})},E={name:`Ошибка коллекции`,parameters:{odataMockMode:`collectionError`},render:()=>(0,_.jsx)(m,{label:`Ответственный`,description:`Metadata доступна, но загрузка коллекции завершается ошибкой.`,model:{...u,codeKey:`OWNER`},segment:{placeholder:`Ответственный`}})},y.parameters={...y.parameters,docs:{...y.parameters?.docs,source:{originalSource:`{
2
- name: "Базовый регион",
3
- render: () => <StatefulODataMultiSelect label="Регион" description="Базовая настройка из multiSelectConfig: выбор кодов REGION с текстовым отображением." model={{
4
- ...baseModel,
5
- codeKey: "REGION"
6
- }} segment={{
7
- placeholder: "Регион"
8
- }} initialValue={[storyValues.region]} />
9
- }`,...y.parameters?.docs?.source}}},b.parameters={...b.parameters,docs:{...b.parameters?.docs,source:{originalSource:`{
10
- name: "Скрытый код",
11
- render: () => <StatefulODataMultiSelect label="Подразделение" description="Сценарий segment.hideCode: в списке и токене показывается только текст без кода." model={{
12
- ...baseModel,
13
- codeKey: "BRANCH"
14
- }} segment={{
15
- placeholder: "Подразделение",
16
- hideCode: true
17
- }} initialValue={[storyValues.branch, storyValues.branchAlt]} />
18
- }`,...b.parameters?.docs?.source}}},x.parameters={...x.parameters,docs:{...x.parameters?.docs,source:{originalSource:`{
19
- name: "Выбор текста вместо кода",
20
- render: () => <StatefulODataMultiSelect label="Регион по тексту" description="Сценарий segment.selectText: наружу возвращаются текстовые значения, а не коды." model={{
21
- ...baseModel,
22
- codeKey: "REGION"
23
- }} segment={{
24
- placeholder: "Регион",
25
- selectText: true
26
- }} initialValue={[storyValues.regionText]} />
27
- }`,...x.parameters?.docs?.source}}},S.parameters={...S.parameters,docs:{...S.parameters?.docs,source:{originalSource:`{
28
- name: "Зависимость от региона",
29
- render: () => <StatefulODataMultiSelect label="Подразделение c зависимостью" description="Фильтрация подразделений по уже выбранному региону через props.dependencies." model={{
30
- ...baseModel,
31
- codeKey: "BRANCH"
32
- }} segment={{
33
- placeholder: "Подразделение"
34
- }} dependencies={{
35
- REGION: [storyValues.region]
36
- }} initialValue={[storyValues.branch]} />
37
- }`,...S.parameters?.docs?.source}}},C.parameters={...C.parameters,docs:{...C.parameters?.docs,source:{originalSource:`{
38
- name: "Связанная цепочка фильтров",
39
- render: () => <LinkedFiltersDemo />
40
- }`,...C.parameters?.docs?.source}}},w.parameters={...w.parameters,docs:{...w.parameters?.docs,source:{originalSource:`{
41
- name: "Состояние загрузки",
42
- parameters: {
43
- odataMockMode: "loading"
44
- },
45
- render: () => <StatefulODataMultiSelect label="Команда" description="Mock с задержкой ответа, чтобы проверить loading-state и skeleton." model={{
46
- ...baseModel,
47
- codeKey: "TEAM"
48
- }} segment={{
49
- placeholder: "Команда"
50
- }} />
51
- }`,...w.parameters?.docs?.source}}},T.parameters={...T.parameters,docs:{...T.parameters?.docs,source:{originalSource:`{
52
- name: "Ошибка metadata",
53
- parameters: {
54
- odataMockMode: "metadataError"
55
- },
56
- render: () => <StatefulODataMultiSelect label="Регион" description="Сервис возвращает ошибку metadata. Полезно для проверки поведения хука useODataEntity." model={{
57
- ...baseModel,
58
- codeKey: "REGION"
59
- }} segment={{
60
- placeholder: "Регион"
61
- }} />
62
- }`,...T.parameters?.docs?.source}}},E.parameters={...E.parameters,docs:{...E.parameters?.docs,source:{originalSource:`{
63
- name: "Ошибка коллекции",
64
- parameters: {
65
- odataMockMode: "collectionError"
66
- },
67
- render: () => <StatefulODataMultiSelect label="Ответственный" description="Metadata доступна, но загрузка коллекции завершается ошибкой." model={{
68
- ...baseModel,
69
- codeKey: "OWNER"
70
- }} segment={{
71
- placeholder: "Ответственный"
72
- }} />
73
- }`,...E.parameters?.docs?.source}}},D=[`BasicDivision`,`HideCode`,`SelectTextValue`,`StaticDependency`,`LinkedFilters`,`LoadingState`,`MetadataError`,`CollectionError`]}));O();export{y as BasicDivision,E as CollectionError,b as HideCode,C as LinkedFilters,w as LoadingState,T as MetadataError,x as SelectTextValue,S as StaticDependency,D as __namedExportsOrder,v as default,O as n,p as t};
@@ -1,73 +0,0 @@
1
- import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{pn as r,t as i}from"./iframe-CPosUl6l.js";import{n as a,t as o}from"./ODataSelect-Bj0JR8LA.js";import{a as s,i as c,n as l,r as u,s as d,t as f}from"./odataStoryFixtures-Bdtm1Z0E.js";var p=e({BasicDivision:()=>y,CollectionError:()=>E,HideCode:()=>b,LinkedFilters:()=>C,LoadingState:()=>w,MetadataError:()=>T,SelectTextValue:()=>x,StaticDependency:()=>S,__namedExportsOrder:()=>D,default:()=>v});function m({initialValue:e,odata:t=l,model:n=f,segment:r=u,dependencies:i,label:a=`OData Select`,description:s}){let[c,d]=(0,g.useState)(e);return(0,_.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,_.jsx)(o,{label:a,description:s,odata:t,model:n,segment:r,value:c,dependencies:i,onChange:d}),(0,_.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,c||`пусто`]})]})}function h(){let[e,t]=(0,g.useState)(s.region),[n,r]=(0,g.useState)(s.branch),[i,a]=(0,g.useState)(s.team),[c,u]=(0,g.useState)(s.owner),d=e?{REGION:[e]}:void 0,p=e&&n?{REGION:[e],BRANCH:[n]}:d,m=e&&n&&i?{REGION:[e],BRANCH:[n],TEAM:[i]}:p;return(0,_.jsxs)(`div`,{style:{display:`grid`,gap:16,maxWidth:720},children:[(0,_.jsx)(o,{label:`Регион`,description:`Первый фильтр в цепочке. Меняет доступный набор подразделений.`,odata:l,model:{...f,codeKey:`REGION`},segment:{placeholder:`Регион`},value:e,onChange:e=>{t(e),r(void 0),a(void 0),u(void 0)}}),(0,_.jsx)(o,{label:`Подразделение`,description:`Второй фильтр зависит от выбранного региона.`,odata:l,model:{...f,codeKey:`BRANCH`},segment:{placeholder:`Подразделение`},dependencies:d,value:n,onChange:e=>{r(e),a(void 0),u(void 0)}}),(0,_.jsx)(o,{label:`Команда`,description:`Третий фильтр зависит от сочетания региона и подразделения.`,odata:l,model:{...f,codeKey:`TEAM`},segment:{placeholder:`Команда`},dependencies:p,value:i,onChange:e=>{a(e),u(void 0)}}),(0,_.jsx)(o,{label:`Ответственный`,description:`Последний фильтр показывает leaf-узлы для выбранного пути.`,odata:l,model:{...f,codeKey:`OWNER`},segment:{placeholder:`Ответственный`},dependencies:m,value:c,onChange:u}),(0,_.jsxs)(`div`,{style:{display:`grid`,gap:4,fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[(0,_.jsxs)(`div`,{children:[`Регион: `,e||`пусто`]}),(0,_.jsxs)(`div`,{children:[`Подразделение: `,n||`пусто`]}),(0,_.jsxs)(`div`,{children:[`Команда: `,i||`пусто`]}),(0,_.jsxs)(`div`,{children:[`Ответственный: `,c||`пусто`]})]})]})}var g,_,v,y,b,x,S,C,w,T,E,D,O=n((()=>{g=t(r(),1),a(),c(),_=i(),v={title:`Shared/UI/ODataSelect`,component:o,decorators:[d],parameters:{atomicCanvas:!0,layout:`padded`,odataMockMode:`success`},args:{label:`Регион`,description:`Пример OData Select на основе конфигурации ui control.`,odata:l,model:f,segment:u,value:void 0,onChange:()=>{}},argTypes:{onChange:{control:!1},value:{control:!1},dependencies:{control:!1}}},y={name:`Базовый регион`,render:()=>(0,_.jsx)(m,{label:`Регион`,description:`Базовая настройка single-select для выбора кода REGION.`,model:{...f,codeKey:`REGION`},segment:{placeholder:`Регион`},initialValue:s.region})},b={name:`Скрытый код`,render:()=>(0,_.jsx)(m,{label:`Подразделение`,description:`Код скрыт и в выпадающем списке, и в выбранном значении.`,model:{...f,codeKey:`BRANCH`},segment:{placeholder:`Подразделение`,hideCode:!0},initialValue:s.branch})},x={name:`Выбор текста вместо кода`,render:()=>(0,_.jsx)(m,{label:`Регион по тексту`,description:`Снаружи хранится текстовое значение, а не код.`,model:{...f,codeKey:`REGION`},segment:{placeholder:`Регион`,selectText:!0},initialValue:s.regionText})},S={name:`Зависимость от региона`,render:()=>(0,_.jsx)(m,{label:`Подразделение c зависимостью`,description:`Фильтрация подразделений по уже выбранному региону через props.dependencies.`,model:{...f,codeKey:`BRANCH`},segment:{placeholder:`Подразделение`},dependencies:{REGION:[s.region]},initialValue:s.branch})},C={name:`Связанная цепочка фильтров`,render:()=>(0,_.jsx)(h,{})},w={name:`Состояние загрузки`,parameters:{odataMockMode:`loading`},render:()=>(0,_.jsx)(m,{label:`Команда`,description:`Mock с задержкой ответа, чтобы проверить loading-state.`,model:{...f,codeKey:`TEAM`},segment:{placeholder:`Команда`}})},T={name:`Ошибка metadata`,parameters:{odataMockMode:`metadataError`},render:()=>(0,_.jsx)(m,{label:`Регион`,description:`Сервис возвращает ошибку metadata.`,model:{...f,codeKey:`REGION`},segment:{placeholder:`Регион`}})},E={name:`Ошибка коллекции`,parameters:{odataMockMode:`collectionError`},render:()=>(0,_.jsx)(m,{label:`Ответственный`,description:`Metadata доступна, но загрузка коллекции завершается ошибкой.`,model:{...f,codeKey:`OWNER`},segment:{placeholder:`Ответственный`}})},y.parameters={...y.parameters,docs:{...y.parameters?.docs,source:{originalSource:`{
2
- name: "Базовый регион",
3
- render: () => <StatefulODataSelect label="Регион" description="Базовая настройка single-select для выбора кода REGION." model={{
4
- ...baseModel,
5
- codeKey: "REGION"
6
- }} segment={{
7
- placeholder: "Регион"
8
- }} initialValue={storyValues.region} />
9
- }`,...y.parameters?.docs?.source}}},b.parameters={...b.parameters,docs:{...b.parameters?.docs,source:{originalSource:`{
10
- name: "Скрытый код",
11
- render: () => <StatefulODataSelect label="Подразделение" description="Код скрыт и в выпадающем списке, и в выбранном значении." model={{
12
- ...baseModel,
13
- codeKey: "BRANCH"
14
- }} segment={{
15
- placeholder: "Подразделение",
16
- hideCode: true
17
- }} initialValue={storyValues.branch} />
18
- }`,...b.parameters?.docs?.source}}},x.parameters={...x.parameters,docs:{...x.parameters?.docs,source:{originalSource:`{
19
- name: "Выбор текста вместо кода",
20
- render: () => <StatefulODataSelect label="Регион по тексту" description="Снаружи хранится текстовое значение, а не код." model={{
21
- ...baseModel,
22
- codeKey: "REGION"
23
- }} segment={{
24
- placeholder: "Регион",
25
- selectText: true
26
- }} initialValue={storyValues.regionText} />
27
- }`,...x.parameters?.docs?.source}}},S.parameters={...S.parameters,docs:{...S.parameters?.docs,source:{originalSource:`{
28
- name: "Зависимость от региона",
29
- render: () => <StatefulODataSelect label="Подразделение c зависимостью" description="Фильтрация подразделений по уже выбранному региону через props.dependencies." model={{
30
- ...baseModel,
31
- codeKey: "BRANCH"
32
- }} segment={{
33
- placeholder: "Подразделение"
34
- }} dependencies={{
35
- REGION: [storyValues.region]
36
- }} initialValue={storyValues.branch} />
37
- }`,...S.parameters?.docs?.source}}},C.parameters={...C.parameters,docs:{...C.parameters?.docs,source:{originalSource:`{
38
- name: "Связанная цепочка фильтров",
39
- render: () => <LinkedFiltersDemo />
40
- }`,...C.parameters?.docs?.source}}},w.parameters={...w.parameters,docs:{...w.parameters?.docs,source:{originalSource:`{
41
- name: "Состояние загрузки",
42
- parameters: {
43
- odataMockMode: "loading"
44
- },
45
- render: () => <StatefulODataSelect label="Команда" description="Mock с задержкой ответа, чтобы проверить loading-state." model={{
46
- ...baseModel,
47
- codeKey: "TEAM"
48
- }} segment={{
49
- placeholder: "Команда"
50
- }} />
51
- }`,...w.parameters?.docs?.source}}},T.parameters={...T.parameters,docs:{...T.parameters?.docs,source:{originalSource:`{
52
- name: "Ошибка metadata",
53
- parameters: {
54
- odataMockMode: "metadataError"
55
- },
56
- render: () => <StatefulODataSelect label="Регион" description="Сервис возвращает ошибку metadata." model={{
57
- ...baseModel,
58
- codeKey: "REGION"
59
- }} segment={{
60
- placeholder: "Регион"
61
- }} />
62
- }`,...T.parameters?.docs?.source}}},E.parameters={...E.parameters,docs:{...E.parameters?.docs,source:{originalSource:`{
63
- name: "Ошибка коллекции",
64
- parameters: {
65
- odataMockMode: "collectionError"
66
- },
67
- render: () => <StatefulODataSelect label="Ответственный" description="Metadata доступна, но загрузка коллекции завершается ошибкой." model={{
68
- ...baseModel,
69
- codeKey: "OWNER"
70
- }} segment={{
71
- placeholder: "Ответственный"
72
- }} />
73
- }`,...E.parameters?.docs?.source}}},D=[`BasicDivision`,`HideCode`,`SelectTextValue`,`StaticDependency`,`LinkedFilters`,`LoadingState`,`MetadataError`,`CollectionError`]}));O();export{y as BasicDivision,E as CollectionError,b as HideCode,C as LinkedFilters,w as LoadingState,T as MetadataError,x as SelectTextValue,S as StaticDependency,D as __namedExportsOrder,v as default,O as n,p as t};
@@ -1,17 +0,0 @@
1
- import{i as e}from"./preload-helper-B45gAKPr.js";import{t}from"./iframe-CPosUl6l.js";import{E as n,a as r,d as i,f as a,l as o,m as s,n as c,p as l,r as u,u as d}from"./blocks-IdQCTvUd.js";import{t as f}from"./mdx-react-shim-CBPblRz9.js";import{Basic as p,ErrorState as m,LoadingState as h,MixedSelection as g,ParentCompression as _,n as v,t as y}from"./ODataTreeMultiSelect.stories-Xik2zGUW.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)(o,{of:y,parameters:{docs:{toc:!0}}}),`
2
- `,(0,S.jsx)(l,{children:`ODataTreeMultiSelect`}),`
3
- `,(0,S.jsx)(a,{children:`Мультивыбор по одной OData-цепочке в виде дерева`}),`
4
- `,(0,S.jsxs)(t.p,{children:[(0,S.jsx)(t.code,{children:`ODataTreeMultiSelect`}),` строит дерево из одной OData-цепочки и отдает наружу канонизированный выбор в формате `,(0,S.jsx)(t.code,{children:`Record<string, string[]>`}),`.`]}),`
5
- `,(0,S.jsx)(t.h2,{id:`основной-сценарий`,children:`Основной сценарий`}),`
6
- `,(0,S.jsx)(d,{}),`
7
- `,(0,S.jsx)(r,{of:p}),`
8
- `,(0,S.jsx)(t.h2,{id:`сценарии`,children:`Сценарии`}),`
9
- `,(0,S.jsx)(u,{of:p}),`
10
- `,(0,S.jsx)(u,{of:_}),`
11
- `,(0,S.jsx)(u,{of:g}),`
12
- `,(0,S.jsx)(u,{of:h}),`
13
- `,(0,S.jsx)(u,{of:m}),`
14
- `,(0,S.jsx)(t.h2,{id:`api`,children:`API`}),`
15
- `,(0,S.jsx)(c,{of:y}),`
16
- `,(0,S.jsx)(t.h2,{id:`все-сторисы`,children:`Все сторисы`}),`
17
- `,(0,S.jsx)(i,{includePrimary:!1})]})}function x(e={}){let{wrapper:t}={...n(),...e.components};return t?(0,S.jsx)(t,{...e,children:(0,S.jsx)(b,{...e})}):b(e)}var S;e((()=>{S=t(),f(),s(),v()}))();export{x as default};
@@ -1,28 +0,0 @@
1
- import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{pn as r,t as i}from"./iframe-CPosUl6l.js";import{a,i as o,n as s,o as c,s as l}from"./odataStoryFixtures-Bdtm1Z0E.js";import{n as u,t as d}from"./useODataTreeData-DjW6p37C.js";import{n as f,t as p}from"./TreeMultiSelect-bPrUGgaK.js";function m({label:e,description:t,disabled:n,size:r,placeholder:i,query:a,defaultQuery:o,onQuery:s,optionsLayout:c,value:l,onChange:d,odata:f,segments:m,model:g}){let _=u({odata:f,segments:m,model:g});return(0,h.jsx)(p,{label:e,description:t,disabled:n||_.isLoading,size:r,placeholder:i??_.placeholder,nodes:_.nodes,value:l,onChange:d,query:a,defaultQuery:o,onQuery:s,optionsLayout:c,isLoading:_.isLoading,error:_.isError?`Ошибка загрузки`:void 0})}var h,g=n((()=>{d(),f(),h=i(),m.__docgenInfo={description:``,methods:[],displayName:`ODataTreeMultiSelect`,props:{model:{required:!1,tsType:{name:`ODataDependentBaseProps["model"]`,raw:`ODataDependentBaseProps["model"]`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},query:{required:!1,tsType:{name:`string`},description:``},defaultQuery:{required:!1,tsType:{name:`string`},description:``},onQuery:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},optionsLayout:{required:!1,tsType:{name:`union`,raw:`"tree" | "columns"`,elements:[{name:`literal`,value:`"tree"`},{name:`literal`,value:`"columns"`}]},description:`Переключает способ показа загруженного OData-дерева, не меняя формат value и запросов.`}},composes:[`Omit`]}})),_=e({BalancedColumns:()=>T,Basic:()=>S,ErrorState:()=>D,LoadingState:()=>E,MixedSelection:()=>w,ParentCompression:()=>C,__namedExportsOrder:()=>O,default:()=>x});function v({initialValue:e={},odata:t=s,segments:n=c,label:r=`ODataTreeMultiSelect`,description:i,optionsLayout:a=`tree`}){let[o,l]=(0,y.useState)(e);return(0,b.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,b.jsx)(m,{label:r,description:i,odata:t,segments:n,value:o,onChange:l,optionsLayout:a}),(0,b.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,JSON.stringify(o)]})]})}var y,b,x,S,C,w,T,E,D,O,k=n((()=>{y=t(r(),1),o(),g(),b=i(),x={title:`Shared/UI/ODataTreeMultiSelect`,component:m,decorators:[l],parameters:{atomicCanvas:!0,layout:`padded`,odataMockMode:`success`},args:{label:`OData дерево`,description:`Multi-select поверх одной OData-цепочки.`,odata:s,segments:c,value:{},onChange:()=>{}},argTypes:{segments:{control:!1},value:{control:!1},onChange:{control:!1}}},S={render:()=>(0,b.jsx)(v,{initialValue:{OWNER:[a.owner]}})},C={render:()=>(0,b.jsx)(v,{label:`Компрессия subtree`,description:`Пример, когда наружу уходит узел верхнего уровня вместо полного списка потомков.`,initialValue:{REGION:[a.region]}})},w={render:()=>(0,b.jsx)(v,{label:`Смешанный выбор`,description:`Смешанный frontier по соседним уровням в OData-дереве.`,initialValue:{BRANCH:[a.branch],OWNER:[a.ownerAlt]}})},T={render:()=>(0,b.jsx)(v,{label:`OData tree в столбцах`,description:`Все уровни открыты, а popup балансирует ширину и высоту по доступному viewport.`,optionsLayout:`columns`,initialValue:{BRANCH:[a.branch]}})},E={parameters:{odataMockMode:`loading`},render:()=>(0,b.jsx)(v,{description:`Сценарий загрузки дерева.`})},D={parameters:{odataMockMode:`collectionError`},render:()=>(0,b.jsx)(v,{description:`Сценарий ошибки загрузки дерева.`})},S.parameters={...S.parameters,docs:{...S.parameters?.docs,source:{originalSource:`{
2
- render: () => <StatefulODataTreeMultiSelect initialValue={{
3
- OWNER: [storyValues.owner]
4
- }} />
5
- }`,...S.parameters?.docs?.source}}},C.parameters={...C.parameters,docs:{...C.parameters?.docs,source:{originalSource:`{
6
- render: () => <StatefulODataTreeMultiSelect label="Компрессия subtree" description="Пример, когда наружу уходит узел верхнего уровня вместо полного списка потомков." initialValue={{
7
- REGION: [storyValues.region]
8
- }} />
9
- }`,...C.parameters?.docs?.source}}},w.parameters={...w.parameters,docs:{...w.parameters?.docs,source:{originalSource:`{
10
- render: () => <StatefulODataTreeMultiSelect label="Смешанный выбор" description="Смешанный frontier по соседним уровням в OData-дереве." initialValue={{
11
- BRANCH: [storyValues.branch],
12
- OWNER: [storyValues.ownerAlt]
13
- }} />
14
- }`,...w.parameters?.docs?.source}}},T.parameters={...T.parameters,docs:{...T.parameters?.docs,source:{originalSource:`{
15
- render: () => <StatefulODataTreeMultiSelect label="OData tree в столбцах" description="Все уровни открыты, а popup балансирует ширину и высоту по доступному viewport." optionsLayout="columns" initialValue={{
16
- BRANCH: [storyValues.branch]
17
- }} />
18
- }`,...T.parameters?.docs?.source}}},E.parameters={...E.parameters,docs:{...E.parameters?.docs,source:{originalSource:`{
19
- parameters: {
20
- odataMockMode: "loading"
21
- },
22
- render: () => <StatefulODataTreeMultiSelect description="Сценарий загрузки дерева." />
23
- }`,...E.parameters?.docs?.source}}},D.parameters={...D.parameters,docs:{...D.parameters?.docs,source:{originalSource:`{
24
- parameters: {
25
- odataMockMode: "collectionError"
26
- },
27
- render: () => <StatefulODataTreeMultiSelect description="Сценарий ошибки загрузки дерева." />
28
- }`,...D.parameters?.docs?.source}}},O=[`Basic`,`ParentCompression`,`MixedSelection`,`BalancedColumns`,`LoadingState`,`ErrorState`]}));k();export{T as BalancedColumns,S as Basic,D as ErrorState,E as LoadingState,w as MixedSelection,C as ParentCompression,O as __namedExportsOrder,x as default,k as n,_ as t};
@@ -1,16 +0,0 @@
1
- import{i as e}from"./preload-helper-B45gAKPr.js";import{t}from"./iframe-CPosUl6l.js";import{E as n,a as r,d as i,f as a,l as o,m as s,n as c,p as l,r as u,u as d}from"./blocks-IdQCTvUd.js";import{t as f}from"./mdx-react-shim-CBPblRz9.js";import{Basic as p,ErrorState as m,LoadingState as h,SelectParent as g,n as _,t as v}from"./ODataTreeSelect.stories-bH0LuH1r.js";function y(e){let t={code:`code`,h2:`h2`,p:`p`,...n(),...e.components};return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(o,{of:v,parameters:{docs:{toc:!0}}}),`
2
- `,(0,x.jsx)(l,{children:`ODataTreeSelect`}),`
3
- `,(0,x.jsx)(a,{children:`Single-select по одной OData-цепочке в виде дерева`}),`
4
- `,(0,x.jsxs)(t.p,{children:[(0,x.jsx)(t.code,{children:`ODataTreeSelect`}),` загружает одну OData-коллекцию, строит дерево по цепочке codeKey и позволяет выбрать любой узел.`]}),`
5
- `,(0,x.jsx)(t.h2,{id:`основной-сценарий`,children:`Основной сценарий`}),`
6
- `,(0,x.jsx)(d,{}),`
7
- `,(0,x.jsx)(r,{of:p}),`
8
- `,(0,x.jsx)(t.h2,{id:`сценарии`,children:`Сценарии`}),`
9
- `,(0,x.jsx)(u,{of:p}),`
10
- `,(0,x.jsx)(u,{of:g}),`
11
- `,(0,x.jsx)(u,{of:h}),`
12
- `,(0,x.jsx)(u,{of:m}),`
13
- `,(0,x.jsx)(t.h2,{id:`api`,children:`API`}),`
14
- `,(0,x.jsx)(c,{of:v}),`
15
- `,(0,x.jsx)(t.h2,{id:`все-сторисы`,children:`Все сторисы`}),`
16
- `,(0,x.jsx)(i,{includePrimary:!1})]})}function b(e={}){let{wrapper:t}={...n(),...e.components};return t?(0,x.jsx)(t,{...e,children:(0,x.jsx)(y,{...e})}):y(e)}var x;e((()=>{x=t(),f(),s(),_()}))();export{b as default};
@@ -1,21 +0,0 @@
1
- import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{pn as r,t as i}from"./iframe-CPosUl6l.js";import{a,i as o,n as s,o as c,s as l}from"./odataStoryFixtures-Bdtm1Z0E.js";import{n as u,t as d}from"./useODataTreeData-DjW6p37C.js";import{n as f,t as p}from"./TreeSelect-DWa6i3lr.js";function m({label:e,description:t,disabled:n,size:r,placeholder:i,query:a,defaultQuery:o,onQuery:s,value:c,onChange:l,odata:d,segments:f,model:m,clearable:g}){let _=u({odata:d,segments:f,model:m});return(0,h.jsx)(p,{label:e,description:t,disabled:n||_.isLoading,size:r,placeholder:i??_.placeholder,nodes:_.nodes,value:c,onChange:l,query:a,defaultQuery:o,onQuery:s,isLoading:_.isLoading,error:_.isError?`Ошибка загрузки`:void 0,clearable:g})}var h,g=n((()=>{d(),f(),h=i(),m.__docgenInfo={description:``,methods:[],displayName:`ODataTreeSelect`,props:{model:{required:!1,tsType:{name:`ODataDependentBaseProps["model"]`,raw:`ODataDependentBaseProps["model"]`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},query:{required:!1,tsType:{name:`string`},description:``},defaultQuery:{required:!1,tsType:{name:`string`},description:``},onQuery:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},clearable:{required:!1,tsType:{name:`boolean`},description:``}},composes:[`Omit`]}})),_=e({Basic:()=>S,ErrorState:()=>T,LoadingState:()=>w,SelectParent:()=>C,__namedExportsOrder:()=>E,default:()=>x});function v({initialValue:e,odata:t=s,segments:n=c,label:r=`ODataTreeSelect`,description:i}){let[a,o]=(0,y.useState)(e);return(0,b.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,b.jsx)(m,{label:r,description:i,odata:t,segments:n,value:a,onChange:o}),(0,b.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,a?`${a.codeKey}=${a.value}`:`пусто`]})]})}var y,b,x,S,C,w,T,E,D=n((()=>{y=t(r(),1),o(),g(),b=i(),x={title:`Shared/UI/ODataTreeSelect`,component:m,decorators:[l],parameters:{atomicCanvas:!0,layout:`padded`,odataMockMode:`success`},args:{label:`OData дерево`,description:`Single-select поверх одной OData-цепочки.`,odata:s,segments:c,value:void 0,onChange:()=>{}},argTypes:{segments:{control:!1},value:{control:!1},onChange:{control:!1}}},S={render:()=>(0,b.jsx)(v,{initialValue:{codeKey:`OWNER`,value:a.owner}})},C={render:()=>(0,b.jsx)(v,{label:`Выбор родителя`,description:`Проверка выбора узла верхнего уровня из OData-дерева.`,initialValue:{codeKey:`REGION`,value:a.region}})},w={parameters:{odataMockMode:`loading`},render:()=>(0,b.jsx)(v,{description:`Сценарий загрузки дерева.`})},T={parameters:{odataMockMode:`collectionError`},render:()=>(0,b.jsx)(v,{description:`Сценарий ошибки загрузки дерева.`})},S.parameters={...S.parameters,docs:{...S.parameters?.docs,source:{originalSource:`{
2
- render: () => <StatefulODataTreeSelect initialValue={{
3
- codeKey: "OWNER",
4
- value: storyValues.owner
5
- }} />
6
- }`,...S.parameters?.docs?.source}}},C.parameters={...C.parameters,docs:{...C.parameters?.docs,source:{originalSource:`{
7
- render: () => <StatefulODataTreeSelect label="Выбор родителя" description="Проверка выбора узла верхнего уровня из OData-дерева." initialValue={{
8
- codeKey: "REGION",
9
- value: storyValues.region
10
- }} />
11
- }`,...C.parameters?.docs?.source}}},w.parameters={...w.parameters,docs:{...w.parameters?.docs,source:{originalSource:`{
12
- parameters: {
13
- odataMockMode: "loading"
14
- },
15
- render: () => <StatefulODataTreeSelect description="Сценарий загрузки дерева." />
16
- }`,...w.parameters?.docs?.source}}},T.parameters={...T.parameters,docs:{...T.parameters?.docs,source:{originalSource:`{
17
- parameters: {
18
- odataMockMode: "collectionError"
19
- },
20
- render: () => <StatefulODataTreeSelect description="Сценарий ошибки загрузки дерева." />
21
- }`,...T.parameters?.docs?.source}}},E=[`Basic`,`SelectParent`,`LoadingState`,`ErrorState`]}));D();export{S as Basic,T as ErrorState,w as LoadingState,C as SelectParent,E as __namedExportsOrder,x as default,D as n,_ as t};
@@ -1 +0,0 @@
1
- import{i as e}from"./preload-helper-B45gAKPr.js";import{t}from"./iframe-CPosUl6l.js";import{a as n,i as r}from"./utils-C0B-4KjU.js";import{o as i,t as a}from"./text-LKa6pXuu.js";import{n as o,t as s}from"./ui.module-wFHXkJzp.js";function c({label:e,code:t,highlight:r}){return(0,l.jsxs)(`div`,{className:o.uiOptionBase,children:[(0,l.jsx)(`div`,{className:n(o.uiOptionText,`flexEllipsis`),children:(0,l.jsx)(i,{text:e,highlight:r})}),t&&(0,l.jsx)(`div`,{className:o.uiOptionCode,children:(0,l.jsx)(i,{text:t,highlight:r})})]})}var l,u=e((()=>{r(),a(),s(),l=t(),c.__docgenInfo={description:`Универсальный рендерер опции. Используется и в single-select, и в multi-select.`,methods:[],displayName:`SelectOptionContent`,props:{label:{required:!0,tsType:{name:`string`},description:``},code:{required:!1,tsType:{name:`string`},description:``},highlight:{required:!1,tsType:{name:`string`},description:``}}}}));export{u as n,c as t};
@@ -1,15 +0,0 @@
1
- import{i as e}from"./preload-helper-B45gAKPr.js";import{t}from"./iframe-CPosUl6l.js";import{E as n,a as r,d as i,f as a,l as o,m as s,n as c,p as l,r as u,u as d}from"./blocks-IdQCTvUd.js";import{t as f}from"./mdx-react-shim-CBPblRz9.js";import{Basic as p,MixedSelection as m,ParentCompression as h,n as g,t as _}from"./TreeMultiSelect.stories-D_LBd0oz.js";function v(e){let t={code:`code`,h2:`h2`,p:`p`,...n(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(o,{of:_,parameters:{docs:{toc:!0}}}),`
2
- `,(0,b.jsx)(l,{children:`TreeMultiSelect`}),`
3
- `,(0,b.jsx)(a,{children:`Мультивыбор узлов дерева с компрессией subtree в parent`}),`
4
- `,(0,b.jsxs)(t.p,{children:[(0,b.jsx)(t.code,{children:`TreeMultiSelect`}),` хранит наружу не “все листья”, а канонизированный frontier по уровням дерева.`]}),`
5
- `,(0,b.jsx)(t.h2,{id:`основной-сценарий`,children:`Основной сценарий`}),`
6
- `,(0,b.jsx)(d,{}),`
7
- `,(0,b.jsx)(r,{of:p}),`
8
- `,(0,b.jsx)(t.h2,{id:`сценарии`,children:`Сценарии`}),`
9
- `,(0,b.jsx)(u,{of:p}),`
10
- `,(0,b.jsx)(u,{of:h}),`
11
- `,(0,b.jsx)(u,{of:m}),`
12
- `,(0,b.jsx)(t.h2,{id:`api`,children:`API`}),`
13
- `,(0,b.jsx)(c,{of:_}),`
14
- `,(0,b.jsx)(t.h2,{id:`все-сторисы`,children:`Все сторисы`}),`
15
- `,(0,b.jsx)(i,{includePrimary:!1})]})}function y(e={}){let{wrapper:t}={...n(),...e.components};return t?(0,b.jsx)(t,{...e,children:(0,b.jsx)(v,{...e})}):v(e)}var b;e((()=>{b=t(),f(),s(),g()}))();export{y as default};
@@ -1,31 +0,0 @@
1
- import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{pn as r,t as i}from"./iframe-CPosUl6l.js";import{n as a,t as o}from"./TreeMultiSelect-bPrUGgaK.js";import{n as s,t as c}from"./treeStoryFixtures-Cd984L7t.js";var l=e({BalancedColumns:()=>v,Basic:()=>h,MixedSelection:()=>_,ParentCompression:()=>g,RightEdgeColumns:()=>y,__namedExportsOrder:()=>b,default:()=>m});function u({initialValue:e={},label:t=`TreeMultiSelect`,description:n,optionsLayout:r=`tree`,nodes:i=c}){let[a,s]=(0,d.useState)(e);return(0,f.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,f.jsx)(o,{label:t,description:n,nodes:i,value:a,onChange:s,optionsLayout:r}),(0,f.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,JSON.stringify(a)]})]})}var d,f,p,m,h,g,_,v,y,b,x=n((()=>{d=t(r(),1),a(),s(),f=i(),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={title:`Shared/UI/TreeMultiSelect`,component:o,parameters:{atomicCanvas:!0,layout:`padded`},args:{label:`Выбор узлов`,description:`Мультивыбор с канонизацией subtree в ближайший parent.`,nodes:c,value:{},onChange:()=>{}},argTypes:{nodes:{control:!1},value:{control:!1},onChange:{control:!1}}},h={render:()=>(0,f.jsx)(u,{initialValue:{OWNER:[`P0001`]}})},g={render:()=>(0,f.jsx)(u,{label:`Компрессия parent`,description:`Когда выбран весь subtree, наружу может уйти только родительский узел.`,initialValue:{REGION:[`R01`]}})},_={render:()=>(0,f.jsx)(u,{label:`Смешанный выбор`,description:`Пример mixed frontier по соседним уровням.`,initialValue:{BRANCH:[`B0101`],OWNER:[`P0004`]}})},v={render:()=>(0,f.jsx)(u,{label:`Все уровни в столбцах`,description:`Popover подбирает число столбцов по количеству опций и доступному viewport.`,optionsLayout:`columns`,initialValue:{BRANCH:[`B0101`]}})},y={render:()=>(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)(u,{label:`Контрол у правой границы`,description:`Popover для 66 опций должен сравнить вертикальные и горизонтальные стороны и остаться внутри viewport.`,optionsLayout:`columns`,nodes:p})})})},h.parameters={...h.parameters,docs:{...h.parameters?.docs,source:{originalSource:`{
2
- render: () => <StatefulTreeMultiSelect initialValue={{
3
- OWNER: ["P0001"]
4
- }} />
5
- }`,...h.parameters?.docs?.source}}},g.parameters={...g.parameters,docs:{...g.parameters?.docs,source:{originalSource:`{
6
- render: () => <StatefulTreeMultiSelect label="Компрессия parent" description="Когда выбран весь subtree, наружу может уйти только родительский узел." initialValue={{
7
- REGION: ["R01"]
8
- }} />
9
- }`,...g.parameters?.docs?.source}}},_.parameters={..._.parameters,docs:{..._.parameters?.docs,source:{originalSource:`{
10
- render: () => <StatefulTreeMultiSelect label="Смешанный выбор" description="Пример mixed frontier по соседним уровням." initialValue={{
11
- BRANCH: ["B0101"],
12
- OWNER: ["P0004"]
13
- }} />
14
- }`,..._.parameters?.docs?.source}}},v.parameters={...v.parameters,docs:{...v.parameters?.docs,source:{originalSource:`{
15
- render: () => <StatefulTreeMultiSelect label="Все уровни в столбцах" description="Popover подбирает число столбцов по количеству опций и доступному viewport." optionsLayout="columns" initialValue={{
16
- BRANCH: ["B0101"]
17
- }} />
18
- }`,...v.parameters?.docs?.source}}},y.parameters={...y.parameters,docs:{...y.parameters?.docs,source:{originalSource:`{
19
- render: () => <div style={{
20
- display: "flex",
21
- minHeight: "calc(100vh - 32px)",
22
- alignItems: "center",
23
- justifyContent: "flex-end"
24
- }}>
25
- <div style={{
26
- width: 260
27
- }}>
28
- <StatefulTreeMultiSelect label="Контрол у правой границы" description="Popover для 66 опций должен сравнить вертикальные и горизонтальные стороны и остаться внутри viewport." optionsLayout="columns" nodes={rightEdgeTreeNodes} />
29
- </div>
30
- </div>
31
- }`,...y.parameters?.docs?.source}}},b=[`Basic`,`ParentCompression`,`MixedSelection`,`BalancedColumns`,`RightEdgeColumns`]}));x();export{v as BalancedColumns,h as Basic,_ as MixedSelection,g as ParentCompression,y as RightEdgeColumns,b as __namedExportsOrder,m as default,x as n,l as t};
@@ -1 +0,0 @@
1
- .eMqOwq{border-radius:var(--radius-sm);cursor:pointer;align-items:stretch;display:flex}.eMqOwq:focus{outline:var(--focus-width) solid var(--focus-ring);outline-offset:var(--focus-offset);background-color:var(--surface-accent);border-color:var(--border-1);cursor:pointer}.eMqOwq:hover{background-color:var(--surface-accent);cursor:pointer}.JKstO-{background-color:var(--surface-2);color:var(--content-accent);cursor:default}.hKgr8e{background-color:var(--surface-1)}.KjPZjd{cursor:not-allowed;opacity:var(--disabled-opacity)}.KjPZjd:hover{cursor:not-allowed;background-color:#0000}._6EH37F{align-items:center;gap:var(--space-xs);width:100%;padding:var(--space-xs) var(--space-xs) var(--space-xs) 0;text-align:left;border-radius:var(--radius-sm);background:0 0;display:flex}.UBll8Q{gap:var(--space-sm);display:grid}.-y3RZP{grid-auto-flow:column;grid-template-columns:repeat(var(--tree-column-count,1), minmax(0, 1fr));grid-template-rows:repeat(var(--tree-row-count,1), minmax(var(--control-height), auto));column-gap:var(--space-sm);align-content:start;width:100%;min-width:0;display:grid}.ayLJ50{break-inside:avoid;min-width:0}._2MFkGF{flex-shrink:0;display:inline-flex}.SWQUvb{flex:1 1 0;min-width:0;height:100%}.o5NWnX{width:calc(var(--tree-level) * 1em);flex-shrink:0}.ibSd-S,.lXezvv{flex-shrink:0;justify-content:center;align-items:center;width:1.5em;height:1.5em;display:inline-flex}.ibSd-S{border-radius:var(--radius-sm);color:var(--content-2);background:0 0;border:none}.ibSd-S:hover{color:var(--content-0);background-color:var(--surface-0)}.FMlLGX{transition:transform var(--transition-fast) ease}.d2Zt7U{transform:rotate(90deg)}._8PN4hs{border:var(--border);border-radius:var(--radius-xs);background-color:var(--surface-0);color:#0000;flex-shrink:0;justify-content:center;align-items:center;width:1em;height:1em;display:inline-flex}._4JEoen{background-color:var(--status-info-text);border-color:var(--status-info-text);color:var(--white)}.GS8eEC{background-color:var(--surface-1);border-color:var(--status-info-text);color:var(--status-info-text)}.T8gVno{width:.75rem;height:.75rem}.o6stdX{padding-right:calc(var(--control-height) * 2)}.I5zvhe{color:#0000;caret-color:#0000}.KQ0PBI{inset:0 calc(var(--control-height) * 2) 0 var(--space-md);pointer-events:none;align-items:center;display:flex;position:absolute;overflow:hidden}._7hAQQA{align-items:center;height:100%;display:flex;position:absolute;top:0;right:0}.XeUHNc{color:var(--status-error-text)}
@@ -1,22 +0,0 @@
1
- import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{Tt as n,j as r,n as i,pn as a,s as o,t as s,yt as c}from"./iframe-CPosUl6l.js";import{a as l,i as u}from"./utils-C0B-4KjU.js";import{n as d,t as f}from"./ui.module-wFHXkJzp.js";import{t as p}from"./CheckBox-CDF4aRMv.js";import{a as m}from"./Input-BS0bE9Uq.js";import{t as h}from"./input-yGsUaLVq.js";import{D as g,S as _,b as ee,g as te,l as ne,m as re,r as ie,s as ae,t as oe,v as se}from"./picker-CCHjulFn.js";import{n as v,t as y}from"./SelectOptionContent-BkJYthTw.js";import{t as b}from"./check-box-8mT5eRfY.js";function x(e,t){return`${e}::${t}`}function ce(e){let t=new Map,n=new Map,r=new Map,i=new Map,a=new Map,o=0,s=(e,c)=>{t.set(e.id,e),n.set(e.id,c),i.set(e.id,o++),a.set(x(e.codeKey,e.value),e.id);let l=(e.children??[]).map(e=>e.id);r.set(e.id,l);for(let t of e.children??[])s(t,e.id)};for(let t of e)s(t);return{rootIds:e.map(e=>e.id),nodeById:t,parentById:n,childrenById:r,preorderIndexById:i,nodeIdByCodeValue:a}}function le(e,t){if(e)return t.nodeIdByCodeValue.get(x(e.codeKey,e.value))}function ue(e,t){let n=new Set;if(!e)return n;for(let[r,i]of Object.entries(e))for(let e of i){let i=t.nodeIdByCodeValue.get(x(r,e));i&&n.add(i)}return E(n,t)}function de(e,t){let n=[...e].sort((e,n)=>(t.preorderIndexById.get(e)??2**53-1)-(t.preorderIndexById.get(n)??2**53-1)),r={};for(let e of n){let n=t.nodeById.get(e);n&&(r[n.codeKey]=r[n.codeKey]??[],r[n.codeKey].push(n.value))}return r}function S(e,t){let n=[],r=t.parentById.get(e);for(;r;)n.push(r),r=t.parentById.get(r);return n}function C(e,t,n){let r=n.parentById.get(e);for(;r;){if(r===t)return!0;r=n.parentById.get(r)}return!1}function w(e,t,n){for(let r of[...e])C(r,t,n)&&e.delete(r)}function T(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?!1:r.every(e=>T(e,t,n))}function E(e,t){let n=new Set(e);for(let e of[...n])S(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)??[];r.length===0||n.has(e)||t.nodeById.get(e)?.disabled||r.every(e=>T(e,n,t))&&(w(n,e,t),n.add(e))}return n}function fe(e,t,n){let r=n.parentById.get(t);for(;r;){if(e.has(r)){e.delete(r);for(let t of k(n,n.childrenById.get(r)??[]))e.add(t);return!0}r=n.parentById.get(r)}return!1}function D(e,t,n){return t.has(e)?!0:S(e,n).some(e=>t.has(e))}function O(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=>O(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 pe(e,t){let n={selectedIds:new Set,partialIds:new Set};for(let r of t.rootIds)O(r,e,t,n);return n}function k(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);return!r||r.disabled||o?{containsDisabled:!0,selectedIds:a}:{containsDisabled:!1,selectedIds:[t]}};return new Set(t.flatMap(e=>n(e).selectedIds))}function A(e,t,n){let r=ue(e,n),i=e=>{if(D(e,r,n)){if(r.has(e)){r.delete(e);return}fe(r,e,n)&&i(e);return}w(r,e,n),r.add(e)},a=[...k(n,[t])],o=a.length>0&&a.every(e=>D(e,r,n));for(let e of a){let t=D(e,r,n);(o&&t||!o&&!t)&&i(e)}return de(E(r,n),n)}function j(e,t,n){let r=t.parentById.get(e);for(;r;)n.add(r),r=t.parentById.get(r)}function me(e,t){let n=new Set;for(let r of e)j(r,t,n);return n}function M(e,t,n){let r=(e.children??[]).map(e=>M(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 he(e,t){let n=t.trim().toLowerCase();if(!n)return{nodes:[...e],expandedIds:new Set};let r=new Set;return{nodes:e.map(e=>M(e,n,r)).filter(e=>!!e),expandedIds:r}}function ge(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}var N=t((()=>{}));function P(e,t){return Number.isFinite(e)&&e>0?e:t}function _e({itemCount:e,availableWidth:t,availableHeight:n,viewportWidth:r,viewportHeight:i,referenceWidth:a}){let o=Math.max(0,Math.floor(Number.isFinite(e)?e:0)),s=P(t,240),c=P(n,80),l=P(r,s+F*2),u=P(i,c),d=Math.max(1,Math.min(s,Math.max(1,l-F*2))),f=Math.max(1,Math.min(c,u*.75)),p=Math.max(1,P(a,1)),m=Math.min(d,p),h=Math.max(1,Math.floor((d-I+z)/234)),g=Math.max(1,Math.min(B,h,o||1)),_=1,ee=1/0;for(let e=1;e<=g;e+=1){let t=Math.ceil(o/e),n=Math.max(m,I+e*R+(e-1)*z),r=L+t*ve,i=n/d,a=r/f,s=o?(e*t-o)/o:0,c=Math.max(i,a)+.25*Math.abs(i-a)+.01*s+.04*(e-1);c<ee&&(ee=c,_=e)}let te=Math.ceil(o/_),ne=Math.max(m,I+_*R+(_-1)*z);return{columnCount:_,rowCount:te,width:Math.min(d,ne),minWidth:m,maxHeight:f}}var F,I,L,R,z,ve,B,V=t((()=>{F=8,I=16,L=48,R=224,z=10,ve=32,B=6})),ye,be,xe,Se,Ce,we,H,Te,Ee,U,De,Oe,ke,W,G,K,Ae,q,je,Me,J,Y,Ne,Pe,X,Fe=t((()=>{ye=`eMqOwq`,be=`JKstO-`,xe=`hKgr8e`,Se=`KjPZjd`,Ce=`_6EH37F`,we=`UBll8Q`,H=`-y3RZP`,Te=`ayLJ50`,Ee=`_2MFkGF`,U=`SWQUvb`,De=`o5NWnX`,Oe=`ibSd-S`,ke=`lXezvv`,W=`FMlLGX`,G=`d2Zt7U`,K=`_8PN4hs`,Ae=`_4JEoen`,q=`GS8eEC`,je=`T8gVno`,Me=`o6stdX`,J=`I5zvhe`,Y=`KQ0PBI`,Ne=`_7hAQQA`,Pe=`XeUHNc`,X={treeRow:ye,treeRowSelected:be,treeRowActive:xe,treeRowDisabled:Se,treeNodeButton:Ce,treePopupHeader:we,treeColumns:H,treeColumnRow:Te,treeColumnCheckBox:Ee,treeNodeOptionContent:U,treeIndent:De,treeExpander:Oe,treeExpanderPlaceholder:ke,treeExpanderIcon:W,treeExpanderIconExpanded:G,treeSelection:K,treeSelectionChecked:Ae,treeSelectionPartial:q,treeSelectionIcon:je,treeSummary:Me,inputWithOverlay:J,valueOverlay:Y,treeActions:Ne,treeClearButton:Pe}}));function Ie({node:e,level:t,highlight:i,hasChildren:a,isExpanded:o,selected:s,partial:u,selectionMode:d,optionsLayout:f=`tree`,onToggleExpand:m,onToggleSelection:h}){let g=f===`tree`;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`span`,{className:X.treeIndent,style:{"--tree-level":t},"aria-hidden":`true`}),g&&a?(0,Z.jsx)(`button`,{type:`button`,className:X.treeExpander,onClick:e=>{e.stopPropagation(),m?.()},"aria-label":o?`Свернуть ветку`:`Развернуть ветку`,"data-ui":`tree-select-expander`,"data-action":o?`collapse-tree-select-node`:`expand-tree-select-node`,children:(0,Z.jsx)(c,{className:l(X.treeExpanderIcon,o&&X.treeExpanderIconExpanded)})}):g?(0,Z.jsx)(`span`,{className:X.treeExpanderPlaceholder,"aria-hidden":`true`}):null,d===`multi`&&f===`columns`?(0,Z.jsx)(`span`,{className:X.treeColumnCheckBox,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:(0,Z.jsx)(p,{value:s,indeterminate:u,disabled:e.disabled,"aria-label":`Выбрать ${e.label}`,onChange:()=>h?.()})}):d===`multi`?(0,Z.jsx)(`span`,{className:l(X.treeSelection,s&&X.treeSelectionChecked,u&&X.treeSelectionPartial),"aria-hidden":`true`,children:s?(0,Z.jsx)(n,{className:X.treeSelectionIcon}):u?(0,Z.jsx)(r,{className:X.treeSelectionIcon}):null}):null,(0,Z.jsx)(`div`,{className:X.treeNodeOptionContent,children:(0,Z.jsx)(y,{label:e.label,code:e.code,highlight:i})})]})}var Z,Le=t((()=>{u(),i(),b(),v(),Fe(),Z=s(),Ie.__docgenInfo={description:``,methods:[],displayName:`TreeNodeContent`,props:{node:{required:!0,tsType:{name:`signature`,type:`object`,raw:`{
2
- id: string;
3
- codeKey: string;
4
- value: string;
5
- label: string;
6
- code?: string;
7
- searchText: string;
8
- children?: TreeSelectNode[];
9
- disabled?: boolean;
10
- }`,signature:{properties:[{key:`id`,value:{name:`string`,required:!0}},{key:`codeKey`,value:{name:`string`,required:!0}},{key:`value`,value:{name:`string`,required:!0}},{key:`label`,value:{name:`string`,required:!0}},{key:`code`,value:{name:`string`,required:!1}},{key:`searchText`,value:{name:`string`,required:!0}},{key:`children`,value:{name:`Array`,elements:[{name:`TreeSelectNode`}],raw:`TreeSelectNode[]`,required:!1}},{key:`disabled`,value:{name:`boolean`,required:!1}}]}},description:``},level:{required:!0,tsType:{name:`number`},description:``},highlight:{required:!1,tsType:{name:`string`},description:``},hasChildren:{required:!0,tsType:{name:`boolean`},description:``},isExpanded:{required:!0,tsType:{name:`boolean`},description:``},selected:{required:!0,tsType:{name:`boolean`},description:``},partial:{required:!0,tsType:{name:`boolean`},description:``},selectionMode:{required:!0,tsType:{name:`union`,raw:`"single" | "multi"`,elements:[{name:`literal`,value:`"single"`},{name:`literal`,value:`"multi"`}]},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}},onToggleExpand:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},onToggleSelection:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``}}}}));function Re({label:e,description:t,disabled:n,placeholder:r,size:i,nodes:a,selectedIds:s,partialIds:c,selectionMode:u,optionsLayout:f=`tree`,open:p,onOpenChange:h,bulkActions:oe,triggerMode:v=`display`,selectedSummary:y,selectedSummaryText:b,query:x,defaultQuery:le,onQuery:ue,onNodeActivate:de,onClearSelection:S,isLoading:C,error:w}){let T=(0,Q.useRef)(null),E=(0,Q.useRef)(null),fe=(0,Q.useRef)(!1),[O,pe]=(0,Q.useState)(()=>new Set),k=v===`search`?u===`multi`?`search-multi`:`search-single`:`display`,A=(0,Q.useMemo)(()=>ce(a),[a]),{query:j,setQuery:M}=ae({open:!0,query:x,defaultQuery:le,onQuery:ue,triggerMode:`display`}),{nodes:N,expandedIds:P}=(0,Q.useMemo)(()=>he(a,j),[a,j]),F=(0,Q.useMemo)(()=>me(s,A),[s,A]),I=(0,Q.useMemo)(()=>new Set([...A.childrenById].filter(([,e])=>e.length>0).map(([e])=>e)),[A]),L=(0,Q.useMemo)(()=>f===`columns`?I:new Set([...O,...P,...F]),[I,O,f,P,F]),R=(0,Q.useMemo)(()=>ge(N,L),[N,L]),z=(0,Q.useMemo)(()=>R.findIndex(e=>s.has(e.node.id)),[s,R]),ve=(0,Q.useCallback)(e=>{let t=_e({...e,itemCount:R.length});return{width:`${t.width}px`,minWidth:`${t.minWidth}px`,maxWidth:`${t.width}px`,maxHeight:`${t.maxHeight}px`,"--tree-column-count":String(t.columnCount),"--tree-row-count":String(Math.max(t.rowCount,1))}},[R.length]),{open:B,activeIndex:V,context:ye,floatingStyles:be,getFloatingProps:xe,setReference:Se,setFloating:Ce,setOptionRef:we,close:H,openList:Te,toggleOpen:Ee,selectOption:U,handleReferenceKeyDown:De,handleFloatingKeyDown:Oe,getOptionId:ke,getActiveOptionId:W}=ne({options:R,selectedIndex:z,open:p,onOpenChange:h,onSelect:e=>de(e.node),getOptionDisabled:e=>e.node.disabled===!0,disabled:n||C,closeOnSelect:u===`single`,allowOpenWithoutOptions:!0,triggerMode:k,placementStrategy:f===`columns`?`auto`:`flip`,resolveFloatingSize:f===`columns`?ve:void 0}),G=s.size>0,K=v===`search`&&(B||j.length>0),Ae=K?j:b??``,q=v===`display`&&!!y,je=k===`search-multi`&&!!y,Me=k===`search-multi`&&!G||k===`search-single`&&(!b||K)||k===`display`&&!G,J=ie({mode:k,open:B,currentQuery:j,hasDisplayValue:!!b,inputRef:T,setQuery:M,openList:Te,close:H,toggleOpen:Ee}),Y=f===`columns`&&u===`multi`&&oe,Ne=v===`display`,Pe=Y||Ne?(0,$.jsxs)(`div`,{className:X.treePopupHeader,children:[Y?(0,$.jsx)(ee,{onSelectAll:oe.onSelectAll,onDeselectAll:oe.onDeselectAll,selectAllButtonRef:E}):null,Ne?(0,$.jsx)(m,{value:j,onChange:M,onClear:()=>M(``),placeholder:`Поиск по дереву`,onKeyDown:e=>{e.key!==`Escape`&&e.key!==`Tab`&&e.stopPropagation()},onClick:e=>{e.stopPropagation()}}):null]}):void 0;(0,Q.useEffect)(()=>{fe.current&&!B&&J.policy.resetQueryOnClose&&M(``),fe.current=B},[B,M,J.policy.resetQueryOnClose]);let Fe=e=>{T.current=e},Z=()=>{S?.(),M(``),u===`single`&&H()},Le=e=>{e.hasChildren&&pe(t=>{let n=new Set(t);return n.has(e.node.id)?n.delete(e.node.id):n.add(e.node.id),n})};return(0,$.jsx)(g,{label:e,description:t,disabled:n,placeholder:r,size:i,children:({controlId:t,labelId:i,describedBy:a})=>{let p=`${t}-listbox`,m=typeof e==`string`?e:r;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(re,{ref:Fe,rootRef:Se,id:t,type:`text`,role:`combobox`,autoComplete:`off`,disabled:n||C,readOnly:v!==`search`,value:v===`display`&&q?``:Ae,placeholder:Me?r:void 0,"aria-labelledby":i,"aria-label":i?void 0:r,"aria-describedby":a,"aria-haspopup":f===`columns`?`dialog`:`listbox`,"aria-expanded":B,"aria-controls":B?p:void 0,"aria-autocomplete":f!==`columns`&&v===`search`?`list`:`none`,"aria-activedescendant":f!==`columns`&&B&&R.length>0?W(p):void 0,inputClassName:l(G&&X.treeSummary,q&&X.inputWithOverlay),overlay:q?(0,$.jsx)(`div`,{className:X.valueOverlay,children:y}):void 0,endAdornment:(0,$.jsxs)(te,{open:B,disabled:n||C,onToggleMouseDown:J.handleToggleMouseDown,onToggleClick:J.handleToggleClick,children:[je?y:null,G&&S?(0,$.jsx)(`button`,{type:`button`,className:X.treeClearButton,onMouseDown:e=>{e.preventDefault(),e.stopPropagation()},onClick:e=>{e.preventDefault(),e.stopPropagation(),Z()},"aria-label":`Очистить выбор`,children:(0,$.jsx)(o,{})}):null]}),onChange:e=>{v===`search`&&J.handleTriggerInputChange(e.target.value)},onClick:J.handleTriggerClick,onFocus:e=>{J.handleTriggerFocus(e.currentTarget)},onKeyDown:e=>{if(f===`columns`&&B&&e.key===`Tab`&&!e.shiftKey&&E.current){e.preventDefault(),E.current.focus();return}De(e),!e.defaultPrevented&&J.handleTriggerKeyDown({event:e,onActivateWhenOpen:()=>{let e=V>=0?R[V]:void 0;e&&U(e)},enableSpaceActivation:v===`display`})}}),(0,$.jsx)(_,{open:B,context:ye,floatingStyles:be,listId:p,labelId:i,popupAriaLabel:m,descriptionId:a,activeOptionId:f!==`columns`&&R.length>0?W(p):void 0,ariaMultiselectable:f!==`columns`&&u===`multi`,popupRole:f===`columns`?`dialog`:`listbox`,setFloating:Ce,getFloatingProps:xe,onKeyDown:Oe,className:d.uiPopupOptions,bodyClassName:`scrollable`,header:Pe,children:(0,$.jsx)(`div`,{className:l(f===`columns`&&X.treeColumns),children:R.length===0?(0,$.jsx)(se,{errorState:w,loadingState:C?`Загрузка...`:void 0,emptyState:!w&&!C?`Нет данных`:void 0}):R.map((e,t)=>{let n=u===`multi`?D(e.node.id,s,A):s.has(e.node.id),r=u===`multi`&&!n&&c.has(e.node.id),i=t===V,a=e.node.disabled===!0;return(0,$.jsx)(`div`,{"data-ui":`tree-select-option`,id:ke(p,t),ref:e=>we(t,e),role:f===`columns`?void 0:`option`,"aria-selected":f===`columns`?void 0:n,"aria-disabled":a||void 0,className:l(X.treeRow,f===`columns`&&X.treeColumnRow,a&&X.treeRowDisabled,i&&X.treeRowActive,n&&X.treeRowSelected),onMouseDown:e=>{e.preventDefault()},onClick:()=>U(e),children:(0,$.jsx)(`div`,{className:X.treeNodeButton,children:(0,$.jsx)(Ie,{node:e.node,level:e.level,highlight:j,hasChildren:e.hasChildren,isExpanded:e.isExpanded,selected:n,partial:r,selectionMode:u,optionsLayout:f,onToggleExpand:()=>Le(e),onToggleSelection:()=>U(e)})})},e.node.id)})})})]})}})}var Q,$,ze=t((()=>{Q=e(a(),1),u(),i(),h(),oe(),f(),V(),N(),Le(),Fe(),$=s(),Re.__docgenInfo={description:``,methods:[],displayName:`TreePickerBase`,props:{nodes:{required:!0,tsType:{name:`unknown`},description:``},selectedIds:{required:!0,tsType:{name:`Set`,elements:[{name:`string`}],raw:`Set<string>`},description:``},partialIds:{required:!0,tsType:{name:`Set`,elements:[{name:`string`}],raw:`Set<string>`},description:``},selectionMode:{required:!0,tsType:{name:`union`,raw:`"single" | "multi"`,elements:[{name:`literal`,value:`"single"`},{name:`literal`,value:`"multi"`}]},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}},open:{required:!1,tsType:{name:`boolean`},description:``},onOpenChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(open: boolean) => void`,signature:{arguments:[{type:{name:`boolean`},name:`open`}],return:{name:`void`}}},description:``},bulkActions:{required:!1,tsType:{name:`signature`,type:`object`,raw:`{
11
- onSelectAll: () => void;
12
- onDeselectAll: () => void;
13
- }`,signature:{properties:[{key:`onSelectAll`,value:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}},required:!0}},{key:`onDeselectAll`,value:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}},required:!0}}]}},description:``},triggerMode:{required:!1,tsType:{name:`union`,raw:`"display" | "search"`,elements:[{name:`literal`,value:`"display"`},{name:`literal`,value:`"search"`}]},description:``,defaultValue:{value:`"display"`,computed:!1}},selectedSummary:{required:!1,tsType:{name:`ReactNode`},description:``},selectedSummaryText:{required:!1,tsType:{name:`string`},description:``},query:{required:!1,tsType:{name:`string`},description:``},defaultQuery:{required:!1,tsType:{name:`string`},description:``},onQuery:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},onNodeActivate:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(node: TreeSelectNode) => void`,signature:{arguments:[{type:{name:`signature`,type:`object`,raw:`{
14
- id: string;
15
- codeKey: string;
16
- value: string;
17
- label: string;
18
- code?: string;
19
- searchText: string;
20
- children?: TreeSelectNode[];
21
- disabled?: boolean;
22
- }`,signature:{properties:[{key:`id`,value:{name:`string`,required:!0}},{key:`codeKey`,value:{name:`string`,required:!0}},{key:`value`,value:{name:`string`,required:!0}},{key:`label`,value:{name:`string`,required:!0}},{key:`code`,value:{name:`string`,required:!1}},{key:`searchText`,value:{name:`string`,required:!0}},{key:`children`,value:{name:`Array`,elements:[{name:`TreeSelectNode`}],raw:`TreeSelectNode[]`,required:!1}},{key:`disabled`,value:{name:`boolean`,required:!1}}]}},name:`node`}],return:{name:`void`}}},description:``},onClearSelection:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},isLoading:{required:!1,tsType:{name:`boolean`},description:``},error:{required:!1,tsType:{name:`string`},description:``}}}}));export{pe as a,ue as c,k as i,le as l,ze as n,N as o,ce as r,A as s,Re as t,de as u};
@@ -1,15 +0,0 @@
1
- import{i as e}from"./preload-helper-B45gAKPr.js";import{t}from"./iframe-CPosUl6l.js";import{E as n,a as r,d as i,f as a,l as o,m as s,n as c,p as l,r as u,u as d}from"./blocks-IdQCTvUd.js";import{t as f}from"./mdx-react-shim-CBPblRz9.js";import{Basic as p,Empty as m,SelectParent as h,n as g,t as _}from"./TreeSelect.stories-Bawpqbmb.js";function v(e){let t={code:`code`,h2:`h2`,p:`p`,...n(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(o,{of:_,parameters:{docs:{toc:!0}}}),`
2
- `,(0,b.jsx)(l,{children:`TreeSelect`}),`
3
- `,(0,b.jsx)(a,{children:`Single-select для выбора одного узла из дерева`}),`
4
- `,(0,b.jsxs)(t.p,{children:[(0,b.jsx)(t.code,{children:`TreeSelect`}),` подходит для сценариев, где выбор должен происходить по одному узлу, но пользователь работает не с плоским списком, а с иерархией.`]}),`
5
- `,(0,b.jsx)(t.h2,{id:`основной-сценарий`,children:`Основной сценарий`}),`
6
- `,(0,b.jsx)(d,{}),`
7
- `,(0,b.jsx)(r,{of:p}),`
8
- `,(0,b.jsx)(t.h2,{id:`сценарии`,children:`Сценарии`}),`
9
- `,(0,b.jsx)(u,{of:p}),`
10
- `,(0,b.jsx)(u,{of:h}),`
11
- `,(0,b.jsx)(u,{of:m}),`
12
- `,(0,b.jsx)(t.h2,{id:`api`,children:`API`}),`
13
- `,(0,b.jsx)(c,{of:_}),`
14
- `,(0,b.jsx)(t.h2,{id:`все-сторисы`,children:`Все сторисы`}),`
15
- `,(0,b.jsx)(i,{includePrimary:!1})]})}function y(e={}){let{wrapper:t}={...n(),...e.components};return t?(0,b.jsx)(t,{...e,children:(0,b.jsx)(v,{...e})}):v(e)}var b;e((()=>{b=t(),f(),s(),g()}))();export{y as default};
@@ -1 +0,0 @@
1
- import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{pn as n,t as r}from"./iframe-CPosUl6l.js";import{l as i,n as a,o,r as s,t as c}from"./TreePickerBase-DXGy-Zvy.js";function l(e){if(e)return e.code&&e.code!==e.label?`${e.label} · ${e.code}`:e.label}function u({label:e,description:t,disabled:n,placeholder:r=`Выберите значение`,size:a,nodes:o,value:u,onChange:p,query:m,defaultQuery:h,onQuery:g,isLoading:_,error:v,clearable:y=!1}){let b=(0,d.useMemo)(()=>s(o),[o]),x=i(u,b),S=x?b.nodeById.get(x):void 0;return(0,f.jsx)(c,{label:e,description:t,disabled:n,placeholder:r,size:a,nodes:o,selectedIds:x?new Set([x]):new Set,partialIds:new Set,selectionMode:`single`,triggerMode:`search`,selectedSummaryText:l(S),query:m,defaultQuery:h,onQuery:g,onNodeActivate:e=>p({codeKey:e.codeKey,value:e.value}),onClearSelection:y?()=>p(void 0):void 0,isLoading:_,error:v})}var d,f,p=t((()=>{d=e(n(),1),o(),a(),f=r(),u.__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:``},clearable:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`false`,computed:!1}}},composes:[`Omit`]}}));export{p as n,u as t};
@@ -1,16 +0,0 @@
1
- import{a as e,c as t,i as n}from"./preload-helper-B45gAKPr.js";import{pn as r,t as i}from"./iframe-CPosUl6l.js";import{n as a,t as o}from"./TreeSelect-DWa6i3lr.js";import{n as s,t as c}from"./treeStoryFixtures-Cd984L7t.js";var l=e({Basic:()=>m,Empty:()=>g,SelectParent:()=>h,__namedExportsOrder:()=>_,default:()=>p});function u({initialValue:e,label:t=`TreeSelect`,description:n}){let[r,i]=(0,d.useState)(e);return(0,f.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,f.jsx)(o,{label:t,description:n,nodes:c,value:r,onChange:i}),(0,f.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,r?`${r.codeKey}=${r.value}`:`пусто`]})]})}var d,f,p,m,h,g,_,v=n((()=>{d=t(r(),1),a(),s(),f=i(),p={title:`Shared/UI/TreeSelect`,component:o,parameters:{atomicCanvas:!0,layout:`padded`},args:{label:`Выбор узла`,description:`Single-select поверх дерева. Можно выбрать любой узел.`,nodes:c,value:void 0,onChange:()=>{}},argTypes:{nodes:{control:!1},value:{control:!1},onChange:{control:!1}}},m={render:()=>(0,f.jsx)(u,{initialValue:{codeKey:`BRANCH`,value:`B0101`}})},h={render:()=>(0,f.jsx)(u,{label:`Выбор родителя`,description:`Проверка single-select сценария, когда выбирается не leaf, а промежуточный узел.`,initialValue:{codeKey:`REGION`,value:`R01`}})},g={args:{nodes:[],description:`Состояние без доступных узлов.`}},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
2
- render: () => <StatefulTreeSelect initialValue={{
3
- codeKey: "BRANCH",
4
- value: "B0101"
5
- }} />
6
- }`,...m.parameters?.docs?.source}}},h.parameters={...h.parameters,docs:{...h.parameters?.docs,source:{originalSource:`{
7
- render: () => <StatefulTreeSelect label="Выбор родителя" description="Проверка single-select сценария, когда выбирается не leaf, а промежуточный узел." initialValue={{
8
- codeKey: "REGION",
9
- value: "R01"
10
- }} />
11
- }`,...h.parameters?.docs?.source}}},g.parameters={...g.parameters,docs:{...g.parameters?.docs,source:{originalSource:`{
12
- args: {
13
- nodes: [],
14
- description: "Состояние без доступных узлов."
15
- }
16
- }`,...g.parameters?.docs?.source}}},_=[`Basic`,`SelectParent`,`Empty`]}));v();export{m as Basic,g as Empty,h as SelectParent,_ as __namedExportsOrder,p as default,v as n,l as t};
@@ -1 +0,0 @@
1
- import{i as e}from"./preload-helper-B45gAKPr.js";import{in as t,rn as n}from"./iframe-CPosUl6l.js";import{i as r,n as i,r as a,t as o}from"./chunk-3LY4VQVK-S-pyB8Sd.js";var s;e((()=>{a(),i(),t(),s=(0,n(r(),1).default)(2)(async(e,t)=>e===!1?t:o(t))}))();export{s as formatter};
@@ -1 +0,0 @@
1
- import{i as e}from"./preload-helper-B45gAKPr.js";import{a as t,n,r}from"./Grid-D78Sqd0O.js";var i=e((()=>{n(),t(),r()}));export{i as t};
@@ -1 +0,0 @@
1
- import{i as e}from"./preload-helper-B45gAKPr.js";import{N as t}from"./formatters-DP_8nUnc.js";var n=e((()=>{t()}));export{n as t};
@@ -1,25 +0,0 @@
1
- import{c as e,i as t}from"./preload-helper-B45gAKPr.js";import{pn as n,t as r}from"./iframe-CPosUl6l.js";import{D as i,E as a,O as o,T as s}from"./odata-_XPl73Aa.js";var c,l,u=t((()=>{c=[{code:`R01`,text:`Северный регион`,branches:[{code:`B0101`,text:`Подразделение Альфа`,teams:[{code:`T0101`,text:`Команда поддержки`,owners:[{code:`P0001`,text:`Ответственный 1`},{code:`P0002`,text:`Ответственный 2`},{code:`P0003`,text:`Ответственный 3`}]},{code:`T0102`,text:`Команда внедрения`,owners:[{code:`P0004`,text:`Ответственный 4`},{code:`P0005`,text:`Ответственный 5`}]}]},{code:`B0102`,text:`Подразделение Бета`,teams:[{code:`T0201`,text:`Команда аналитики`,owners:[{code:`P0006`,text:`Ответственный 6`},{code:`P0007`,text:`Ответственный 7`}]}]}]},{code:`R02`,text:`Южный регион`,branches:[{code:`B0201`,text:`Подразделение Гамма`,teams:[{code:`T0301`,text:`Команда сопровождения`,owners:[{code:`P0008`,text:`Ответственный 8`},{code:`P0009`,text:`Ответственный 9`}]}]}]},{code:`R03`,text:`Восточный регион`,branches:[{code:`B0301`,text:`Подразделение Дельта`,teams:[{code:`T0401`,text:`Команда развития`,owners:[{code:`P0010`,text:`Ответственный 10`},{code:`P0011`,text:`Ответственный 11`}]}]},{code:`B0302`,text:`Подразделение Омега`,teams:[{code:`T0501`,text:`Команда качества`,owners:[{code:`P0012`,text:`Ответственный 12`},{code:`P0013`,text:`Ответственный 13`}]}]}]}],l=c.flatMap(e=>e.branches.flatMap(t=>t.teams.flatMap(n=>n.owners.map(r=>({REGION:e.code,REGION_Text:e.text,BRANCH:t.code,BRANCH_Text:t.text,TEAM:n.code,TEAM_Text:n.text,OWNER:r.code,OWNER_Text:r.text})))))}));function d(e,t,n=200){return new Response(e,{status:n,headers:{"Content-Type":t}})}function f(e){return new Promise(t=>{setTimeout(t,e)})}var p,m,h,g,_,v,y,b,x,S,C,w=t((()=>{p=e(n(),1),a(),i(),u(),m=r(),h=`DEMO_REFERENCE_SRV`,g=`DemoReferenceItems`,_=`<?xml version="1.0" encoding="utf-8"?>
2
- <edmx:Edmx xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx">
3
- <edmx:DataServices xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" m:DataServiceVersion="2.0">
4
- <Schema Namespace="DEMO_REFERENCE_SRV" xmlns="http://schemas.microsoft.com/ado/2008/09/edm" xmlns:sap="http://www.sap.com/Protocols/SAPData">
5
- <EntityType Name="DemoReferenceItemsType" sap:semantics="aggregate" sap:label="Демо-справочник" sap:content-version="1">
6
- <Key>
7
- <PropertyRef Name="ID" />
8
- </Key>
9
- <Property Name="ID" Type="Edm.String" Nullable="false" sap:sortable="false" sap:filterable="false" />
10
- <Property Name="REGION" Type="Edm.String" MaxLength="4" sap:aggregation-role="dimension" sap:display-format="UpperCase" sap:text="REGION_Text" />
11
- <Property Name="REGION_Text" Type="Edm.String" MaxLength="40" sap:label="Регион" sap:quickinfo="Краткое описание" sap:creatable="false" sap:updatable="false" />
12
- <Property Name="BRANCH" Type="Edm.String" MaxLength="8" sap:aggregation-role="dimension" sap:display-format="UpperCase" sap:text="BRANCH_Text" />
13
- <Property Name="BRANCH_Text" Type="Edm.String" MaxLength="40" sap:label="Подразделение" sap:quickinfo="Среднее описание" sap:creatable="false" sap:updatable="false" />
14
- <Property Name="TEAM" Type="Edm.String" MaxLength="8" sap:aggregation-role="dimension" sap:display-format="UpperCase" sap:text="TEAM_Text" />
15
- <Property Name="TEAM_Text" Type="Edm.String" MaxLength="40" sap:label="Команда" sap:quickinfo="Среднее описание" sap:creatable="false" sap:updatable="false" />
16
- <Property Name="OWNER" Type="Edm.String" MaxLength="8" sap:aggregation-role="dimension" sap:display-format="UpperCase" sap:text="OWNER_Text" />
17
- <Property Name="OWNER_Text" Type="Edm.String" MaxLength="40" sap:label="Ответственный" sap:quickinfo="Среднее описание" sap:creatable="false" sap:updatable="false" />
18
- <Property Name="CNT" Type="Edm.Byte" sap:aggregation-role="measure" sap:filterable="false" />
19
- </EntityType>
20
- <EntityContainer Name="DEMO_REFERENCE_SRV_Entities" m:IsDefaultEntityContainer="true">
21
- <EntitySet Name="DemoReferenceItems" EntityType="DEMO_REFERENCE_SRV.DemoReferenceItemsType" sap:creatable="false" sap:updatable="false" sap:deletable="false" sap:content-version="1" />
22
- </EntityContainer>
23
- </Schema>
24
- </edmx:DataServices>
25
- </edmx:Edmx>`,v={region:`R01`,regionText:`Северный регион`,branch:`B0101`,branchAlt:`B0102`,team:`T0101`,teamAlt:`T0201`,owner:`P0001`,ownerAlt:`P0006`},y={REGION:{placeholder:`Регион`},BRANCH:{placeholder:`Подразделение`,hideCode:!0},TEAM:{placeholder:`Команда`},OWNER:{placeholder:`Ответственный`}},b=(e,t)=>{let n=(0,p.useMemo)(()=>s({}),[]),r=e;return(0,p.useLayoutEffect)(()=>{let e=window.fetch.bind(window),r=t.parameters.odataMockMode??`success`;return window.fetch=async(t,n)=>{let i=typeof t==`string`?t:t instanceof URL?t.toString():t.url,a=new URL(i,window.location.origin).pathname;return a.includes(`/DEMO_REFERENCE_SRV/`)?(r===`loading`&&await f(1200),a.endsWith(`/DEMO_REFERENCE_SRV/$metadata`)?r===`metadataError`?d(`Ошибка чтения metadata`,`text/plain`,500):d(_,`application/xml`):a.endsWith(`/DEMO_REFERENCE_SRV/DemoReferenceItems`)?r===`collectionError`?d(JSON.stringify({error:`Ошибка загрузки справочника`}),`application/json`,500):d(JSON.stringify({d:{results:l}}),`application/json`):e(t,n)):e(t,n)},()=>{window.fetch=e,n.clear()}},[t.id,t.parameters.odataMockMode,n]),(0,m.jsx)(o,{client:n,children:(0,m.jsx)(r,{})})},x={service:h,target:g},S={codeKey:`REGION`,minSearchTextLength:1,minSearchCodeLength:1,searchDebounceDelay:250,maxVisibleItems:100},C={placeholder:`Регион`},b.__docgenInfo={description:``,methods:[],displayName:`withMockedOData`}}));export{v as a,w as i,x as n,y as o,C as r,b as s,S as t};
@@ -1 +0,0 @@
1
- import{i as e}from"./preload-helper-B45gAKPr.js";import{n as t}from"./Select-BAcaVPih.js";import{n}from"./ODataSelect-Bj0JR8LA.js";import{n as r}from"./SerializableSelect-sfgdypbU.js";var i=e((()=>{n(),t(),r()}));export{i as t};
@@ -1 +0,0 @@
1
- import{i as e}from"./preload-helper-B45gAKPr.js";var t,n=e((()=>{t=[{id:`REGION:R01`,codeKey:`REGION`,value:`R01`,label:`Северный регион`,code:`R01`,searchText:`R01 Северный регион`,children:[{id:`REGION:R01/BRANCH:B0101`,codeKey:`BRANCH`,value:`B0101`,label:`Подразделение Альфа`,code:`B0101`,searchText:`B0101 Подразделение Альфа`,children:[{id:`REGION:R01/BRANCH:B0101/TEAM:T0101`,codeKey:`TEAM`,value:`T0101`,label:`Команда поддержки`,code:`T0101`,searchText:`T0101 Команда поддержки`,children:[{id:`REGION:R01/BRANCH:B0101/TEAM:T0101/OWNER:P0001`,codeKey:`OWNER`,value:`P0001`,label:`Ответственный 1`,code:`P0001`,searchText:`P0001 Ответственный 1`},{id:`REGION:R01/BRANCH:B0101/TEAM:T0101/OWNER:P0002`,codeKey:`OWNER`,value:`P0002`,label:`Ответственный 2`,code:`P0002`,searchText:`P0002 Ответственный 2`}]},{id:`REGION:R01/BRANCH:B0101/TEAM:T0102`,codeKey:`TEAM`,value:`T0102`,label:`Команда внедрения`,code:`T0102`,searchText:`T0102 Команда внедрения`,children:[{id:`REGION:R01/BRANCH:B0101/TEAM:T0102/OWNER:P0003`,codeKey:`OWNER`,value:`P0003`,label:`Ответственный 3`,code:`P0003`,searchText:`P0003 Ответственный 3`}]}]},{id:`REGION:R01/BRANCH:B0102`,codeKey:`BRANCH`,value:`B0102`,label:`Подразделение Бета`,code:`B0102`,searchText:`B0102 Подразделение Бета`,children:[{id:`REGION:R01/BRANCH:B0102/TEAM:T0201`,codeKey:`TEAM`,value:`T0201`,label:`Команда аналитики`,code:`T0201`,searchText:`T0201 Команда аналитики`,children:[{id:`REGION:R01/BRANCH:B0102/TEAM:T0201/OWNER:P0004`,codeKey:`OWNER`,value:`P0004`,label:`Ответственный 4`,code:`P0004`,searchText:`P0004 Ответственный 4`}]}]}]},{id:`REGION:R02`,codeKey:`REGION`,value:`R02`,label:`Южный регион`,code:`R02`,searchText:`R02 Южный регион`,children:[{id:`REGION:R02/BRANCH:B0201`,codeKey:`BRANCH`,value:`B0201`,label:`Подразделение Гамма`,code:`B0201`,searchText:`B0201 Подразделение Гамма`,children:[{id:`REGION:R02/BRANCH:B0201/TEAM:T0301`,codeKey:`TEAM`,value:`T0301`,label:`Команда сопровождения`,code:`T0301`,searchText:`T0301 Команда сопровождения`,children:[{id:`REGION:R02/BRANCH:B0201/TEAM:T0301/OWNER:P0005`,codeKey:`OWNER`,value:`P0005`,label:`Ответственный 5`,code:`P0005`,searchText:`P0005 Ответственный 5`}]}]}]}]}));export{n,t};
@@ -1 +0,0 @@
1
- import{i as e}from"./preload-helper-B45gAKPr.js";import{a as t,r as n}from"./DateInput-Cm7V9wTx.js";var r=e((()=>{t(),n()}));export{r as t};