@ryuzaki13/react-foundation-ui 3.8.3 → 3.10.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 (403) hide show
  1. package/dist/base-table/index.js +1 -1
  2. package/dist/base-table/ui/BaseTable.d.ts +9 -1
  3. package/dist/base-table/ui/BaseTable.d.ts.map +1 -1
  4. package/dist/chunks/{TextEditorLexicalClient-U-sTxmCU.js → TextEditorLexicalClient-BQH41FFT.js} +2 -2
  5. package/dist/chunks/{TextEditorLexicalClient-U-sTxmCU.js.map → TextEditorLexicalClient-BQH41FFT.js.map} +1 -1
  6. package/dist/chunks/{base-table-BMesCx6H.js → base-table-CacTH3BE.js} +130 -112
  7. package/dist/chunks/base-table-CacTH3BE.js.map +1 -0
  8. package/dist/chunks/{context-menu-CrSXJxQL.js → context-menu-BV8636Ou.js} +2 -2
  9. package/dist/chunks/{context-menu-CrSXJxQL.js.map → context-menu-BV8636Ou.js.map} +1 -1
  10. package/dist/chunks/{date-input-CzCDou4s.js → date-input-B7iG9cA7.js} +2 -2
  11. package/dist/chunks/{date-input-CzCDou4s.js.map → date-input-B7iG9cA7.js.map} +1 -1
  12. package/dist/chunks/{input-CuRK9Vbz.js → input-KXI7o06g.js} +7 -7
  13. package/dist/chunks/input-KXI7o06g.js.map +1 -0
  14. package/dist/chunks/{input-files-B8j6Pb_M.js → input-files-CnBNlJo0.js} +2 -2
  15. package/dist/chunks/{input-files-B8j6Pb_M.js.map → input-files-CnBNlJo0.js.map} +1 -1
  16. package/dist/chunks/{picker-SJXnHwsj.js → picker-DagDe9OH.js} +17 -16
  17. package/dist/chunks/picker-DagDe9OH.js.map +1 -0
  18. package/dist/chunks/select-C-1U-ujV.js +368 -0
  19. package/dist/chunks/select-C-1U-ujV.js.map +1 -0
  20. package/dist/chunks/table-Cx__DvpN.js +154 -0
  21. package/dist/chunks/table-Cx__DvpN.js.map +1 -0
  22. package/dist/context-menu/index.js +1 -1
  23. package/dist/date-input/index.js +1 -1
  24. package/dist/date-time-input/index.js +1 -1
  25. package/dist/drop-zone/index.js +1 -1
  26. package/dist/image/index.js +2 -2
  27. package/dist/input/Input.d.ts +2 -2
  28. package/dist/input/Input.d.ts.map +1 -1
  29. package/dist/input/index.js +1 -1
  30. package/dist/input-date-time/index.js +1 -1
  31. package/dist/input-file/index.js +1 -1
  32. package/dist/input-files/index.js +1 -1
  33. package/dist/input-image/index.js +1 -1
  34. package/dist/input-search/index.js +1 -1
  35. package/dist/layout-picker/index.js +1 -1
  36. package/dist/listbox/index.js +1 -1
  37. package/dist/multi-select/index.js +171 -161
  38. package/dist/multi-select/index.js.map +1 -1
  39. package/dist/multi-select/ui/DeprecatedMultiSelect.d.ts +2 -0
  40. package/dist/multi-select/ui/DeprecatedMultiSelect.d.ts.map +1 -1
  41. package/dist/multi-select/ui/MultiSelect.d.ts +3 -0
  42. package/dist/multi-select/ui/MultiSelect.d.ts.map +1 -1
  43. package/dist/multi-select/ui/MultiSelectCore.d.ts +1 -1
  44. package/dist/multi-select/ui/MultiSelectCore.d.ts.map +1 -1
  45. package/dist/multi-select/ui/ODataDependentSegmentMultiSelect.d.ts.map +1 -1
  46. package/dist/multi-select/ui/ODataMultiSelect.d.ts +5 -2
  47. package/dist/multi-select/ui/ODataMultiSelect.d.ts.map +1 -1
  48. package/dist/multi-select/ui/SerializableMultiSelect.d.ts +3 -1
  49. package/dist/multi-select/ui/SerializableMultiSelect.d.ts.map +1 -1
  50. package/dist/odata-dependent/ODataDependentSegmentControlProps.d.ts +4 -0
  51. package/dist/odata-dependent/ODataDependentSegmentControlProps.d.ts.map +1 -1
  52. package/dist/period-select/PeriodSelect.d.ts +2 -0
  53. package/dist/period-select/PeriodSelect.d.ts.map +1 -1
  54. package/dist/period-select/index.js.map +1 -1
  55. package/dist/picker/PickerField.d.ts +1 -1
  56. package/dist/picker/PickerField.d.ts.map +1 -1
  57. package/dist/picker/PickerTriggerInput.d.ts.map +1 -1
  58. package/dist/picker/index.js +1 -1
  59. package/dist/picker/types.d.ts +2 -0
  60. package/dist/picker/types.d.ts.map +1 -1
  61. package/dist/preset-range-date-input/index.js +1 -1
  62. package/dist/preset-select/PresetSelect.d.ts +2 -0
  63. package/dist/preset-select/PresetSelect.d.ts.map +1 -1
  64. package/dist/preset-select/index.js +1 -1
  65. package/dist/preset-select/index.js.map +1 -1
  66. package/dist/select/ODataDependentSegmentSelect.d.ts.map +1 -1
  67. package/dist/select/ODataSelect.d.ts +3 -1
  68. package/dist/select/ODataSelect.d.ts.map +1 -1
  69. package/dist/select/Select.d.ts +3 -0
  70. package/dist/select/Select.d.ts.map +1 -1
  71. package/dist/select/SerializableSelect.d.ts +3 -1
  72. package/dist/select/SerializableSelect.d.ts.map +1 -1
  73. package/dist/select/index.js +1 -1
  74. package/dist/simple-table/index.js +1 -1
  75. package/dist/slider/index.js +2 -2
  76. package/dist/state-select/StateSelect.d.ts +3 -1
  77. package/dist/state-select/StateSelect.d.ts.map +1 -1
  78. package/dist/state-select/index.js +10 -8
  79. package/dist/state-select/index.js.map +1 -1
  80. package/dist/table/Table.d.ts +10 -1
  81. package/dist/table/Table.d.ts.map +1 -1
  82. package/dist/table/index.js +1 -1
  83. package/dist/table-editor/index.js +1 -1
  84. package/dist/table-sorting/index.js +1 -1
  85. package/dist/tag-input/index.js +1 -1
  86. package/dist/text-editor/index.js +1 -1
  87. package/dist/textarea/index.js +1 -1
  88. package/dist/tree-select/ODataTreeMultiSelect.d.ts +3 -1
  89. package/dist/tree-select/ODataTreeMultiSelect.d.ts.map +1 -1
  90. package/dist/tree-select/ODataTreeSelect.d.ts +3 -1
  91. package/dist/tree-select/ODataTreeSelect.d.ts.map +1 -1
  92. package/dist/tree-select/TreeMultiSelect.d.ts +4 -1
  93. package/dist/tree-select/TreeMultiSelect.d.ts.map +1 -1
  94. package/dist/tree-select/TreePickerBase.d.ts +3 -1
  95. package/dist/tree-select/TreePickerBase.d.ts.map +1 -1
  96. package/dist/tree-select/TreeSelect.d.ts +4 -1
  97. package/dist/tree-select/TreeSelect.d.ts.map +1 -1
  98. package/dist/tree-select/index.js +271 -259
  99. package/dist/tree-select/index.js.map +1 -1
  100. package/dist/tree-table/index.js +1 -1
  101. package/package.json +1 -1
  102. package/storybook-static/assets/{Badge-Exgo2liR.js → Badge-DxGi2POg.js} +1 -1
  103. package/storybook-static/assets/{Badge.stories-BSZPB2hP.js → Badge.stories-D6Em1fN8.js} +1 -1
  104. package/storybook-static/assets/{BadgeList-vXAflISJ.js → BadgeList-DemBuxUQ.js} +1 -1
  105. package/storybook-static/assets/{BarcodeScannerDialog.stories-B5JJTqxe.js → BarcodeScannerDialog.stories-Bxnb0wH3.js} +1 -1
  106. package/storybook-static/assets/{Button-W5ftYk1w.js → Button-9vGUTM3m.js} +1 -1
  107. package/storybook-static/assets/{Button-BzRtAjtM.js → Button-dlGIhkja.js} +1 -1
  108. package/storybook-static/assets/{Button.stories-DcuEJMqp.js → Button.stories-WOE1_ovM.js} +1 -1
  109. package/storybook-static/assets/{CalendarView-C8taheM_.js → CalendarView-Co2EiQf9.js} +1 -1
  110. package/storybook-static/assets/{CheckBox-Cahw6EU8.js → CheckBox-CwJshQX2.js} +1 -1
  111. package/storybook-static/assets/{CheckBox-C-EWY4_-.js → CheckBox-Dpg2QsvS.js} +1 -1
  112. package/storybook-static/assets/{CheckBox.stories-DL49eu_s.js → CheckBox.stories-K8wng7-q.js} +1 -1
  113. package/storybook-static/assets/{Color-6AOWCN3U-B0iuSBAP.js → Color-6AOWCN3U-D-64SqRn.js} +1 -1
  114. package/storybook-static/assets/{ContextMenu-k1Mubm6h.js → ContextMenu-C1zzFMni.js} +1 -1
  115. package/storybook-static/assets/{ContextMenu-DqLKk-wW.js → ContextMenu-DbmUWR4I.js} +1 -1
  116. package/storybook-static/assets/{ContextMenu.stories-CNnrfTxO.js → ContextMenu.stories-D0tclMo1.js} +1 -1
  117. package/storybook-static/assets/{DateInput-CgBBiqYK.js → DateInput-BDxg1E80.js} +1 -1
  118. package/storybook-static/assets/{DateInput-NSuuc0Vu.js → DateInput-DxpENevn.js} +1 -1
  119. package/storybook-static/assets/{DateInput.stories-eWY9Pqwp.js → DateInput.stories-De_AOkrK.js} +1 -1
  120. package/storybook-static/assets/{DateRangePresetSelect-Ch6rsktY.js → DateRangePresetSelect-CD7jNInU.js} +1 -1
  121. package/storybook-static/assets/{DateRangePresetSelect-DibXoV_U.js → DateRangePresetSelect-CD8qu2LL.js} +1 -1
  122. package/storybook-static/assets/{DateRangePresetSelect.stories-B8yndfPd.js → DateRangePresetSelect.stories-phHkk3Q1.js} +1 -1
  123. package/storybook-static/assets/{DeprecatedMultiSelect-1K4GSVRr.js → DeprecatedMultiSelect-B4VEjiTj.js} +1 -1
  124. package/storybook-static/assets/{DeprecatedMultiSelect-D8BCr3qw.js → DeprecatedMultiSelect-Bdv505U3.js} +1 -1
  125. package/storybook-static/assets/{DeprecatedMultiSelect.stories-DH7fIprL.js → DeprecatedMultiSelect.stories-DdPzDJjx.js} +1 -1
  126. package/storybook-static/assets/{Detail-CzQ7DLhL.js → Detail-BoazSWw_.js} +1 -1
  127. package/storybook-static/assets/{Detail.stories-DzmSAGkt.js → Detail.stories-Cc9fEkdx.js} +1 -1
  128. package/storybook-static/assets/{Dialog-Cm7gLcJI.js → Dialog-VJ62BLtp.js} +1 -1
  129. package/storybook-static/assets/{Dialog-DEDDnDtQ.js → Dialog-ieE9mpAU.js} +1 -1
  130. package/storybook-static/assets/{Dialog.stories-BzvBjaiX.js → Dialog.stories-CUyAMGoD.js} +1 -1
  131. package/storybook-static/assets/{Disclosure-Bpji7KuP.js → Disclosure-BP8VhRCA.js} +1 -1
  132. package/storybook-static/assets/{Disclosure.stories-Bwuzf5fl.js → Disclosure.stories-DwIo-o1J.js} +1 -1
  133. package/storybook-static/assets/{DisclosureGroup-bCpsF5YE.js → DisclosureGroup-LjgDW-Z6.js} +1 -1
  134. package/storybook-static/assets/{DocsRenderer-JROSPFPF-DQRIOLjc.js → DocsRenderer-JROSPFPF-BjRaiNDG.js} +1 -1
  135. package/storybook-static/assets/{DropZone-Diu_Hlgs.js → DropZone-BMT4jv2L.js} +1 -1
  136. package/storybook-static/assets/{DropZone-qvCLdJmm.js → DropZone-Dg3GZxY8.js} +1 -1
  137. package/storybook-static/assets/{DropZone.stories-DHgexefI.js → DropZone.stories-szOGIPHx.js} +1 -1
  138. package/storybook-static/assets/{DropdownMenu-Bl2IPF3Q.js → DropdownMenu-B0EI5ePH.js} +1 -1
  139. package/storybook-static/assets/{ExpandableActionPanel-B3iQGrX8.js → ExpandableActionPanel-D_qy2JID.js} +1 -1
  140. package/storybook-static/assets/{ExpandableActionPanel.stories-DRnMPxSP.js → ExpandableActionPanel.stories-wdmlBDmK.js} +1 -1
  141. package/storybook-static/assets/{Flex-CrWmRoxc.js → Flex-DYXuexPG.js} +1 -1
  142. package/storybook-static/assets/{Flex.stories-Db20If9k.js → Flex.stories-DH1BReS-.js} +1 -1
  143. package/storybook-static/assets/{FlexContainer-YYPiKtpT.js → FlexContainer-DO3X5f_1.js} +1 -1
  144. package/storybook-static/assets/{FlexItem-CXY6tvoB.js → FlexItem-BE_4juAd.js} +1 -1
  145. package/storybook-static/assets/{FloatingPopover-DSRofmW2.js → FloatingPopover-DHxMCBdS.js} +1 -1
  146. package/storybook-static/assets/FormattedTableCell-BfEiCYOi.js +15 -0
  147. package/storybook-static/assets/{Grid-CUmJniwF.js → Grid-0NnWfTJ7.js} +1 -1
  148. package/storybook-static/assets/{Grid-Ad2q9giD.js → Grid-ChS0GzNg.js} +1 -1
  149. package/storybook-static/assets/{Grid.stories-CsohhjMJ.js → Grid.stories-ClZzgSfZ.js} +1 -1
  150. package/storybook-static/assets/{GridContainer-DfZnU_h-.js → GridContainer-BHSfIiml.js} +1 -1
  151. package/storybook-static/assets/{ImageCropper.stories-Bdg7E1B6.js → ImageCropper.stories-Cf5ogf7p.js} +1 -1
  152. package/storybook-static/assets/{ImageRenderer-DEsg7Nf5.js → ImageRenderer-CsN1-IP6.js} +1 -1
  153. package/storybook-static/assets/{ImageRenderer.stories-C2uPYFbK.js → ImageRenderer.stories-DIC-UR-l.js} +1 -1
  154. package/storybook-static/assets/{ImageView.stories-qFIo_3jG.js → ImageView.stories-DT6QZR-1.js} +1 -1
  155. package/storybook-static/assets/{ImageViewer.stories-D6RoxWRG.js → ImageViewer.stories-DxpCKbpk.js} +2 -2
  156. package/storybook-static/assets/{ImageViewerRuntime-DEVRfnpp.js → ImageViewerRuntime-COhNh4_y.js} +1 -1
  157. package/storybook-static/assets/{Input-CXSVW4qb.js → Input-BJ3sPHt1.js} +1 -1
  158. package/storybook-static/assets/Input-D2eqioLp.js +3 -0
  159. package/storybook-static/assets/{Input.stories-CKUo8mda.js → Input.stories-MtAx6H2F.js} +1 -1
  160. package/storybook-static/assets/{InputDateTime-CBgevl2k.js → InputDateTime-CNNqhoo6.js} +1 -1
  161. package/storybook-static/assets/{InputDateTime.stories-Dc_yRirT.js → InputDateTime.stories-DT3CvxRy.js} +1 -1
  162. package/storybook-static/assets/{InputFile-BX9qIipq.js → InputFile-DiI_0QV5.js} +1 -1
  163. package/storybook-static/assets/{InputFile-VkGuvstd.js → InputFile-RfdomZEH.js} +1 -1
  164. package/storybook-static/assets/{InputFile.stories-VernHNAn.js → InputFile.stories-CiqGBnkS.js} +1 -1
  165. package/storybook-static/assets/{InputFiles-CRFuNd-6.js → InputFiles-CBrPDNlV.js} +1 -1
  166. package/storybook-static/assets/{InputFiles-BpSb2G11.js → InputFiles-CgyVXpI1.js} +1 -1
  167. package/storybook-static/assets/{InputFiles.stories-CfrGV2lA.js → InputFiles.stories-QHNxJjiV.js} +1 -1
  168. package/storybook-static/assets/{InputFilesList-BoL4jQmC.js → InputFilesList-BEIBTAEK.js} +1 -1
  169. package/storybook-static/assets/{InputImage-BKfXCZHx.js → InputImage-BBJr8TWl.js} +1 -1
  170. package/storybook-static/assets/{InputImage-BcUm7aKp.js → InputImage-vXbhnE46.js} +1 -1
  171. package/storybook-static/assets/{InputImage.stories-l1xnaTXn.js → InputImage.stories-VoVU0QZB.js} +1 -1
  172. package/storybook-static/assets/{InteractiveComponents-DKix-b3k.js → InteractiveComponents-CjkX3vU6.js} +5 -5
  173. package/storybook-static/assets/{InteractiveComponents.stories-CK118Tbj.js → InteractiveComponents.stories-Gc_Ju4xJ.js} +1 -1
  174. package/storybook-static/assets/{LayoutPicker-Ca57uusp.js → LayoutPicker-DwpDr_Is.js} +1 -1
  175. package/storybook-static/assets/{LayoutPicker-BqI2-D2r.js → LayoutPicker-ONnrtLDR.js} +1 -1
  176. package/storybook-static/assets/{LayoutPicker.stories-BDRBBnj-.js → LayoutPicker.stories-B-HIq6DD.js} +1 -1
  177. package/storybook-static/assets/{Listbox-lrvI9Fx9.js → Listbox-DoF5nZIP.js} +1 -1
  178. package/storybook-static/assets/{Listbox-D_Qgzkw1.js → Listbox-XIi0yHgl.js} +1 -1
  179. package/storybook-static/assets/{Listbox.stories-Djb1uju9.js → Listbox.stories-DT8FJQ3z.js} +1 -1
  180. package/storybook-static/assets/{Modal-CLZFIZH2.js → Modal-C3F4r2UA.js} +1 -1
  181. package/storybook-static/assets/{Modal-BpqYaQXu.js → Modal-Ml7EuSvu.js} +1 -1
  182. package/storybook-static/assets/{Modal.stories-DNpMq9oL.js → Modal.stories-DRwnYxst.js} +1 -1
  183. package/storybook-static/assets/{ModalManagerProvider-DMlNCo5h.js → ModalManagerProvider-CmqdB_ni.js} +1 -1
  184. package/storybook-static/assets/MultiSelect-B1QokJ3C.js +79 -0
  185. package/storybook-static/assets/{MultiSelect-C593f3VV.js → MultiSelect-CAg-L0dM.js} +1 -1
  186. package/storybook-static/assets/MultiSelect.stories-Dfh2Lp0N.js +81 -0
  187. package/storybook-static/assets/MultiSelectCore-GRGtCBO1.js +3 -0
  188. package/storybook-static/assets/{NoData-Bvl_1jH4.js → NoData-BZhNhaYV.js} +1 -1
  189. package/storybook-static/assets/{NotificationsHost-CdPm_hcB.js → NotificationsHost-BUPLrDM3.js} +1 -1
  190. package/storybook-static/assets/{NotificationsHost.stories-Bo_dwZZe.js → NotificationsHost.stories-CKbR-_nq.js} +1 -1
  191. package/storybook-static/assets/{ODataMultiSelect-BVlJ8U90.js → ODataMultiSelect-CDW0B1az.js} +1 -1
  192. package/storybook-static/assets/{ODataMultiSelect.stories-CqHpctYU.js → ODataMultiSelect.stories-BbKrxs7t.js} +1 -1
  193. package/storybook-static/assets/{ODataSelect-BCl-z6Sg.js → ODataSelect-C5G0dCnn.js} +1 -1
  194. package/storybook-static/assets/ODataSelect.stories-DcX50cyD.js +148 -0
  195. package/storybook-static/assets/{ODataTreeMultiSelect-1CrmEPOx.js → ODataTreeMultiSelect-4mTjhnlJ.js} +1 -1
  196. package/storybook-static/assets/{ODataTreeMultiSelect.stories-B2YMNMyr.js → ODataTreeMultiSelect.stories-B-4UUg5l.js} +1 -1
  197. package/storybook-static/assets/{ODataTreeSelect-BqP9H4QH.js → ODataTreeSelect-D-wcx2OH.js} +1 -1
  198. package/storybook-static/assets/{ODataTreeSelect.stories-x_GCdGW8.js → ODataTreeSelect.stories-uB_sG4ga.js} +1 -1
  199. package/storybook-static/assets/{OneStepScroller-B1H-Yg0P.js → OneStepScroller-DQI5POnJ.js} +1 -1
  200. package/storybook-static/assets/{Option-ChGr-plg.js → Option-CrEWqsFF.js} +1 -1
  201. package/storybook-static/assets/{OptionButton-D6mT04a1.js → OptionButton-BEQ2oSPf.js} +1 -1
  202. package/storybook-static/assets/{OptionContent-CXc6K3fK.js → OptionContent-C8S7IjI3.js} +1 -1
  203. package/storybook-static/assets/{OptionContentContainer-D0p7mbft.js → OptionContentContainer-ljQts_jY.js} +1 -1
  204. package/storybook-static/assets/{PeriodSelect-Bm9WdjpG.js → PeriodSelect-BTdDU06N.js} +1 -1
  205. package/storybook-static/assets/{PeriodSelect-CpnYgcOA.js → PeriodSelect-DuqatGdk.js} +1 -1
  206. package/storybook-static/assets/{PeriodSelect.stories-4Im6GLjq.js → PeriodSelect.stories-CX4DSFJG.js} +1 -1
  207. package/storybook-static/assets/PickerField-Cgcm-Y5T.js +1 -0
  208. package/storybook-static/assets/{PickerTriggerActions-BCupttoF.js → PickerTriggerActions-DWe2uX0K.js} +1 -1
  209. package/storybook-static/assets/{Popover-CbgP8DJy.js → Popover-0QfSvwRS.js} +1 -1
  210. package/storybook-static/assets/{Popover-CCHTXorF.js → Popover-C55I0GTn.js} +1 -1
  211. package/storybook-static/assets/{Popover.stories-zZ2fYcQb.js → Popover.stories-Bgjomdgb.js} +1 -1
  212. package/storybook-static/assets/{PresetRangeDateInput-D-Xf5CL3.js → PresetRangeDateInput-C-vQa5BZ.js} +1 -1
  213. package/storybook-static/assets/{PresetRangeDateInput-cmWbFoHz.js → PresetRangeDateInput-Cai5fvRb.js} +1 -1
  214. package/storybook-static/assets/{PresetRangeDateInput.stories-C3VxU77P.js → PresetRangeDateInput.stories-CWtIukRG.js} +1 -1
  215. package/storybook-static/assets/{PresetSelect-BmTJNeUt.js → PresetSelect-HqtmoRLb.js} +2 -2
  216. package/storybook-static/assets/{README-DVPc9Io_.js → README-2lBx3R6g.js} +1 -1
  217. package/storybook-static/assets/{README-CXLnU8PY.js → README-B1IMnjhg.js} +1 -1
  218. package/storybook-static/assets/{README-Cu9QJjVK.js → README-B41_J33v.js} +1 -1
  219. package/storybook-static/assets/{README-Iwf47F8s.js → README-B5Lc1yT4.js} +1 -1
  220. package/storybook-static/assets/{README-Dv4LnFqu.js → README-B5wBU6mA.js} +1 -1
  221. package/storybook-static/assets/{README-DFF21yas.js → README-B8RrtmaZ.js} +1 -1
  222. package/storybook-static/assets/{README-T35eDlrl.js → README-BEypAdTE.js} +1 -1
  223. package/storybook-static/assets/{README-BRE26E-6.js → README-BFjx8Jxa.js} +1 -1
  224. package/storybook-static/assets/{README-UcG-T3oc.js → README-BHrzFd3i.js} +1 -1
  225. package/storybook-static/assets/{README-C_zVigpw.js → README-BNLmyDfy.js} +1 -1
  226. package/storybook-static/assets/{README-zF7TglyH.js → README-BRJHDPaP.js} +1 -1
  227. package/storybook-static/assets/{README-3VGZSgWz.js → README-BTk3TSh8.js} +1 -1
  228. package/storybook-static/assets/{README-CaZGDS4o.js → README-BUKlvu1v.js} +1 -1
  229. package/storybook-static/assets/{README-BW8ukk_3.js → README-BgbNoj4_.js} +1 -1
  230. package/storybook-static/assets/{README-DcMAIy3x.js → README-BhvWyeL_.js} +1 -1
  231. package/storybook-static/assets/{README-BZW-Ku8G.js → README-Bk6x-7we.js} +1 -1
  232. package/storybook-static/assets/{README-BcSaq4c4.js → README-BkFTTVE2.js} +1 -1
  233. package/storybook-static/assets/{README-IkL3xuvr.js → README-Bl1rJEQE.js} +1 -1
  234. package/storybook-static/assets/{README-jg6CIybs.js → README-BqMpFJKP.js} +1 -1
  235. package/storybook-static/assets/{README-BsvaCxyJ.js → README-Brd9di5k.js} +1 -1
  236. package/storybook-static/assets/{README-Bl2m1JMK.js → README-BzIE9gSk.js} +1 -1
  237. package/storybook-static/assets/{README-DEOe-D4O.js → README-C1BajdmC.js} +1 -1
  238. package/storybook-static/assets/{README-DXajBW2j.js → README-C2xdMez4.js} +1 -1
  239. package/storybook-static/assets/{README-CZciBX1A.js → README-C6ryhIOV.js} +1 -1
  240. package/storybook-static/assets/{README-vCy3YlCq.js → README-C702dbsS.js} +1 -1
  241. package/storybook-static/assets/{README-DkgiAGPo.js → README-C8oftQ5c.js} +1 -1
  242. package/storybook-static/assets/{README-Bfp-2y9L.js → README-CM5yZ6jf.js} +1 -1
  243. package/storybook-static/assets/{README-B3bdpv3F.js → README-CUUPvXQd.js} +1 -1
  244. package/storybook-static/assets/{README-B_TP46xP.js → README-CdMmAh_G.js} +1 -1
  245. package/storybook-static/assets/{README-BfbEWAVW.js → README-CdnQbIDn.js} +1 -1
  246. package/storybook-static/assets/{README-D7IHIZJQ.js → README-ClH6EKpO.js} +1 -1
  247. package/storybook-static/assets/{README-5uy1ulgc.js → README-CxEn3Q3j.js} +1 -1
  248. package/storybook-static/assets/{README-CLTYPp6T.js → README-CxMmicr4.js} +1 -1
  249. package/storybook-static/assets/{README-DnkVTJ7s.js → README-CxsbsDff.js} +1 -1
  250. package/storybook-static/assets/{README-BiyBf-O3.js → README-DAozVWEl.js} +1 -1
  251. package/storybook-static/assets/{README-BkJ_PjJk.js → README-DBpH2nf1.js} +1 -1
  252. package/storybook-static/assets/{README-HRwASuVm.js → README-DF3qw7Jo.js} +1 -1
  253. package/storybook-static/assets/{README-BeMdGWkW.js → README-DFGUcAOx.js} +1 -1
  254. package/storybook-static/assets/{README-EmDsFxzc.js → README-DUShQLyj.js} +1 -1
  255. package/storybook-static/assets/{README-CnX5IOsQ.js → README-DfVaZ9rz.js} +1 -1
  256. package/storybook-static/assets/{README-DEtA9vXg.js → README-DitsKP8x.js} +1 -1
  257. package/storybook-static/assets/{README-CwqRXSIJ.js → README-Dk7syFq-.js} +1 -1
  258. package/storybook-static/assets/{README-BC4nu9of.js → README-DlBBM40-.js} +1 -1
  259. package/storybook-static/assets/{README-CjwMWiHf.js → README-DycS0KDV.js} +1 -1
  260. package/storybook-static/assets/{README-BMXu-jQk.js → README-QWeHqOh2.js} +1 -1
  261. package/storybook-static/assets/{README-xMu2rAZ4.js → README-QZrJnhYv.js} +1 -1
  262. package/storybook-static/assets/{README-k2-wWcjY.js → README-RGQ7HMZR.js} +1 -1
  263. package/storybook-static/assets/{README-B7kN5fdq.js → README-SafL9Bz5.js} +1 -1
  264. package/storybook-static/assets/{README-lHhj1ioe.js → README-UC0a4Wh9.js} +1 -1
  265. package/storybook-static/assets/{README-C4vu077M.js → README-_K214jGV.js} +1 -1
  266. package/storybook-static/assets/{README-Bf9aqOSG.js → README-eRuOqnaA.js} +1 -1
  267. package/storybook-static/assets/{README-DLtEU6xV.js → README-kvlO41U2.js} +1 -1
  268. package/storybook-static/assets/{README-Bc63jJ_g.js → README-mxJzt2Xo.js} +1 -1
  269. package/storybook-static/assets/{RadioButton-Cy_jQtud.js → RadioButton-BKsBk3--.js} +1 -1
  270. package/storybook-static/assets/{RadioButton-BBfQWcy3.js → RadioButton-CsM-RT0A.js} +1 -1
  271. package/storybook-static/assets/{RadioButton.stories-9V4bon68.js → RadioButton.stories-D5PGiHj5.js} +1 -1
  272. package/storybook-static/assets/{RadioGroup-TwFpisuE.js → RadioGroup-B3bLu8Qg.js} +1 -1
  273. package/storybook-static/assets/{RadioGroup-BndgLwX8.js → RadioGroup-BZY_jeje.js} +1 -1
  274. package/storybook-static/assets/{RadioGroup.stories-DJLxesgz.js → RadioGroup.stories-DMfcZFp0.js} +1 -1
  275. package/storybook-static/assets/{Scrollable-DtB02dAG.js → Scrollable-DLyQwImF.js} +1 -1
  276. package/storybook-static/assets/{Scrollable-pBI6H_we.js → Scrollable-DdXQmkMU.js} +1 -1
  277. package/storybook-static/assets/{Scrollable.stories-CahJ5rFA.js → Scrollable.stories-Du5joHAp.js} +1 -1
  278. package/storybook-static/assets/Select-8PYQeQRR.js +66 -0
  279. package/storybook-static/assets/Select-CT_wwcDN.js +12 -0
  280. package/storybook-static/assets/Select.stories-DIqia2Hb.js +86 -0
  281. package/storybook-static/assets/{Separator-BdOz35ux.js → Separator-CelBAATq.js} +1 -1
  282. package/storybook-static/assets/{Separator-BQlVHMcy.js → Separator-DJ93-Cvq.js} +1 -1
  283. package/storybook-static/assets/{Separator.stories-DRmR0Kda.js → Separator.stories-DBEDpiqL.js} +1 -1
  284. package/storybook-static/assets/{SerializableSelect-ClSz_VvD.js → SerializableSelect-C-00d6wC.js} +1 -1
  285. package/storybook-static/assets/SerializableSelect.stories-CP7fJBNa.js +73 -0
  286. package/storybook-static/assets/{ShimmerText-CuhrU7uk.js → ShimmerText-qA7CslLE.js} +1 -1
  287. package/storybook-static/assets/{ShimmerText.stories-Djb6DvbN.js → ShimmerText.stories-CiGIbhCm.js} +1 -1
  288. package/storybook-static/assets/{SingleDateTimeInput-hC1Ft3qs.js → SingleDateTimeInput-B7tnYWQl.js} +1 -1
  289. package/storybook-static/assets/{SingleDateTimeInput-C4jzvJ05.js → SingleDateTimeInput-DJ2vRS9H.js} +1 -1
  290. package/storybook-static/assets/{SingleDateTimeInput.stories-D-HmSpnz.js → SingleDateTimeInput.stories-BK59HKLf.js} +1 -1
  291. package/storybook-static/assets/{Slider-u0qKNrgI.js → Slider-CXcIxUE3.js} +1 -1
  292. package/storybook-static/assets/{Slider-WLUfmHyw.js → Slider-Cm6kd77G.js} +1 -1
  293. package/storybook-static/assets/{Slider.stories-CX8fS5Ax.js → Slider.stories-BuhFWvUX.js} +1 -1
  294. package/storybook-static/assets/{SliderInput-BEirf0Ys.js → SliderInput-DI2h4X8P.js} +1 -1
  295. package/storybook-static/assets/{SliderInput-ibTyal5l.js → SliderInput-DpmYS5Zb.js} +1 -1
  296. package/storybook-static/assets/{SliderInput.stories-xuycnRN_.js → SliderInput.stories-CLdLS0_8.js} +1 -1
  297. package/storybook-static/assets/{Sortable-p0kUHa8E.js → Sortable-CpjAZLxn.js} +1 -1
  298. package/storybook-static/assets/{Sortable.stories-BdCtmfnr.js → Sortable.stories-Ck2MHBoR.js} +1 -1
  299. package/storybook-static/assets/{Splitter-BzAg1cZ0.js → Splitter-Cpk_5dTf.js} +1 -1
  300. package/storybook-static/assets/{Splitter.stories-C5zZ4lHf.js → Splitter.stories-BIf9NNWq.js} +1 -1
  301. package/storybook-static/assets/{StateSelect-CyjHfKNv.js → StateSelect-BznE9WIu.js} +1 -1
  302. package/storybook-static/assets/StateSelect-C5tnrhWT.js +4 -0
  303. package/storybook-static/assets/{StateSelect.stories-D94g21N9.js → StateSelect.stories-DLvSnAcF.js} +1 -1
  304. package/storybook-static/assets/{StatusIndicator-ylfiroPh.js → StatusIndicator-vJAPPq2m.js} +1 -1
  305. package/storybook-static/assets/{StatusIndicator.stories-BB7y4KGW.js → StatusIndicator.stories-B7PGK2_C.js} +1 -1
  306. package/storybook-static/assets/{StringToggle.stories-BwuTZAGa.js → StringToggle.stories-DBpxJZL-.js} +1 -1
  307. package/storybook-static/assets/{Switch-BXWiUOXs.js → Switch-BkTvYjyQ.js} +1 -1
  308. package/storybook-static/assets/{Switch-DRLWRp0P.js → Switch-DlRrk6o7.js} +1 -1
  309. package/storybook-static/assets/{Switch.stories-taC_bi5a.js → Switch.stories-BtctkC2W.js} +1 -1
  310. package/storybook-static/assets/Table-xOdM6spm.js +219 -0
  311. package/storybook-static/assets/Table.stories-FORIU5CX.js +184 -0
  312. package/storybook-static/assets/{TableEditor.stories-CG0ULNok.js → TableEditor.stories-GU46gl20.js} +1 -1
  313. package/storybook-static/assets/{Tabs-BYp06IN2.js → Tabs-Cg_IYAXs.js} +1 -1
  314. package/storybook-static/assets/{Tabs.stories-BCkUYsqs.js → Tabs.stories-2cS0B94o.js} +1 -1
  315. package/storybook-static/assets/{TabsBox-DBm2a1iA.js → TabsBox-Dz3AsaoR.js} +1 -1
  316. package/storybook-static/assets/{TagInput-D9gedxBU.js → TagInput-CCTgbRhQ.js} +1 -1
  317. package/storybook-static/assets/{TagInput.stories-6eOGQ16t.js → TagInput.stories-CevhCeXY.js} +1 -1
  318. package/storybook-static/assets/{Text-CcgH9LXI.js → Text-CDCeYwIB.js} +1 -1
  319. package/storybook-static/assets/{Textarea-DXOTj2Y7.js → Textarea-Ba4MyNoY.js} +1 -1
  320. package/storybook-static/assets/{Textarea-aGrLpQXu.js → Textarea-CNsrFSip.js} +1 -1
  321. package/storybook-static/assets/{Textarea.stories-BwqxG2lk.js → Textarea.stories-laVFWVXL.js} +1 -1
  322. package/storybook-static/assets/{TimePanel-DroAbbvD.js → TimePanel-Ddy67nzH.js} +1 -1
  323. package/storybook-static/assets/{TimePanel.stories-DgU6ia4A.js → TimePanel.stories-OLefy0XD.js} +1 -1
  324. package/storybook-static/assets/{Toggle-BUSzQ1ww.js → Toggle-BGbyfmSW.js} +1 -1
  325. package/storybook-static/assets/{Toggle-B7MbU9HB.js → Toggle-BlCBtQd1.js} +1 -1
  326. package/storybook-static/assets/{Toggle.stories-BYU9hS62.js → Toggle.stories-BjeTDL90.js} +1 -1
  327. package/storybook-static/assets/TreeMultiSelect-BJnAzsFO.js +1 -0
  328. package/storybook-static/assets/TreeMultiSelect-ZVSLdnCU.js +22 -0
  329. package/storybook-static/assets/TreeMultiSelect.stories-BJOtdIDe.js +68 -0
  330. package/storybook-static/assets/TreePickerBase-BQKfhufH.js +76 -0
  331. package/storybook-static/assets/TreeSelect-BSr4FMlq.js +1 -0
  332. package/storybook-static/assets/TreeSelect-DSHQjGD1.js +19 -0
  333. package/storybook-static/assets/TreeSelect.stories-GRcEv-kN.js +40 -0
  334. package/storybook-static/assets/{TreeTable-AIcYVdfl.js → TreeTable-CzmxD2ee.js} +1 -1
  335. package/storybook-static/assets/{TreeTable.stories-BKbbLMK7.js → TreeTable.stories-35ufhVh1.js} +1 -1
  336. package/storybook-static/assets/{array-D-_yMMUK-DnJ_b27D.js → array-D-_yMMUK-BBmW5vUr.js} +1 -1
  337. package/storybook-static/assets/{blocks-Bdsl8TP-.js → blocks-SX-KK9Lg.js} +3 -3
  338. package/storybook-static/assets/{check-DGqyuB4O.js → check-BYM7OgKl.js} +1 -1
  339. package/storybook-static/assets/{chevron-down-BykqjXRq.js → chevron-down-Mu7usNfR.js} +1 -1
  340. package/storybook-static/assets/{chevron-left-Z5uCO076.js → chevron-left-CiOR-CGA.js} +1 -1
  341. package/storybook-static/assets/{chevron-right-C8yfwmkk.js → chevron-right-5Rrk5UhO.js} +1 -1
  342. package/storybook-static/assets/{chunk-W22LQPXL-hfBk2z5K.js → chunk-W22LQPXL-Cj8Y9DHq.js} +1 -1
  343. package/storybook-static/assets/{circle-alert-C9sxb8DT.js → circle-alert-BXB7LSDS.js} +1 -1
  344. package/storybook-static/assets/{circle-check-BLrYJ_8h.js → circle-check-DrVuYn1Q.js} +1 -1
  345. package/storybook-static/assets/{components-xYnqEbBt.js → components-BEDJAYMp.js} +3 -3
  346. package/storybook-static/assets/{contextMenu-C-b4jBpY.js → contextMenu-BaB_e0Tl.js} +1 -1
  347. package/storybook-static/assets/{download-g1fk8W6J.js → download-W-Vr_TI7.js} +1 -1
  348. package/storybook-static/assets/{floating-ui.react-cCWtY5RA.js → floating-ui.react-BTEwHffF.js} +1 -1
  349. package/storybook-static/assets/{formatMultiSelectOptionCount-xGq1uM2H.js → formatMultiSelectOptionCount-BxXwE0wd.js} +1 -1
  350. package/storybook-static/assets/{formatters-DVE1YVNQ-YIdRxgw-.js → formatters-DVE1YVNQ-CJCkXjuI.js} +1 -1
  351. package/storybook-static/assets/{foundationApi-Ci5vPKh_.js → foundationApi-BcoJ1zeX.js} +1 -1
  352. package/storybook-static/assets/{foundationLib-DNlIsEyf.js → foundationLib-B2kQ07LT.js} +1 -1
  353. package/storybook-static/assets/{hooks-XqeLihmr.js → hooks-BgMXxXbY.js} +1 -1
  354. package/storybook-static/assets/{iframe-ltYEol2F.js → iframe-CU98mtpe.js} +3 -3
  355. package/storybook-static/assets/iframe-DaZCH1M-.js +1 -0
  356. package/storybook-static/assets/{info-CBSXRv7d.js → info-BhHmytIH.js} +1 -1
  357. package/storybook-static/assets/{odata-Dd_3_5NS.js → odata-yWIAioh9.js} +1 -1
  358. package/storybook-static/assets/{odataStoryFixtures-3lOfs9T6.js → odataStoryFixtures-CnZ_YrUb.js} +1 -1
  359. package/storybook-static/assets/{react-BxWB81Qy.js → react-C2mSveWL.js} +1 -1
  360. package/storybook-static/assets/{refresh-cw-FKHfW9eG.js → refresh-cw-D8_L8K4Y.js} +1 -1
  361. package/storybook-static/assets/{settings-2-Cz1PtqGa.js → settings-2-jWGaWGT0.js} +1 -1
  362. package/storybook-static/assets/{sortable-BelHSus7.js → sortable-BteEe6X0.js} +1 -1
  363. package/storybook-static/assets/{syntaxhighlighter-QEQV7K2Y-gGot_qSq.js → syntaxhighlighter-QEQV7K2Y-eEu1MRSg.js} +1 -1
  364. package/storybook-static/assets/{trash-2-BT2kW3r-.js → trash-2-CwmbYA8i.js} +1 -1
  365. package/storybook-static/assets/{triangle-alert-CPiJJHYc.js → triangle-alert-TRLt6Woa.js} +1 -1
  366. package/storybook-static/assets/{useODataSelectBase-bPN0T_Xm.js → useODataSelectBase-BxHmAh7D.js} +1 -1
  367. package/storybook-static/assets/{useODataTreeData-CIpE4LZu.js → useODataTreeData-dSt1HJsq.js} +1 -1
  368. package/storybook-static/assets/{usePickerDefaultFilter-ien2ZY7g.js → usePickerDefaultFilter-Djn1liy6.js} +1 -1
  369. package/storybook-static/assets/{usePickerQuery-OTz4Oze6.js → usePickerQuery-ByBt1NRd.js} +1 -1
  370. package/storybook-static/assets/{usePickerTriggerController-vNC5e_t0.js → usePickerTriggerController-CqdXiV2q.js} +2 -2
  371. package/storybook-static/assets/{x-BdAuXjBq.js → x-BPRzfyys.js} +1 -1
  372. package/storybook-static/iframe.html +2 -2
  373. package/storybook-static/index.json +1 -1
  374. package/storybook-static/project.json +1 -1
  375. package/dist/chunks/base-table-BMesCx6H.js.map +0 -1
  376. package/dist/chunks/input-CuRK9Vbz.js.map +0 -1
  377. package/dist/chunks/picker-SJXnHwsj.js.map +0 -1
  378. package/dist/chunks/select--oIrv7SC.js +0 -357
  379. package/dist/chunks/select--oIrv7SC.js.map +0 -1
  380. package/dist/chunks/table-OvvWkKfy.js +0 -141
  381. package/dist/chunks/table-OvvWkKfy.js.map +0 -1
  382. package/storybook-static/assets/FormattedTableCell-B-t0D2oX.js +0 -15
  383. package/storybook-static/assets/Input-b2F0zrLw.js +0 -3
  384. package/storybook-static/assets/MultiSelect-DmC3DaMc.js +0 -76
  385. package/storybook-static/assets/MultiSelect.stories-R6JTKnFI.js +0 -64
  386. package/storybook-static/assets/MultiSelectCore-BaRmQrD-.js +0 -3
  387. package/storybook-static/assets/ODataSelect.stories-Cm-Xkq40.js +0 -148
  388. package/storybook-static/assets/PickerField-w1JCZyzA.js +0 -1
  389. package/storybook-static/assets/Select-BOnv-Uuv.js +0 -63
  390. package/storybook-static/assets/Select-CClfxa48.js +0 -12
  391. package/storybook-static/assets/Select.stories-C0X5pvUk.js +0 -69
  392. package/storybook-static/assets/SerializableSelect.stories-DozN_Quy.js +0 -73
  393. package/storybook-static/assets/StateSelect-bHA1Vf6z.js +0 -4
  394. package/storybook-static/assets/Table-BYiIQfjA.js +0 -197
  395. package/storybook-static/assets/Table.stories-B9u81cAN.js +0 -178
  396. package/storybook-static/assets/TreeMultiSelect-BhFYUbr0.js +0 -1
  397. package/storybook-static/assets/TreeMultiSelect-CZIyMaIZ.js +0 -20
  398. package/storybook-static/assets/TreeMultiSelect.stories-DG_mdSkQ.js +0 -60
  399. package/storybook-static/assets/TreePickerBase-CbULuQpp.js +0 -76
  400. package/storybook-static/assets/TreeSelect-CMSolQHr.js +0 -17
  401. package/storybook-static/assets/TreeSelect-Cu1BsepL.js +0 -1
  402. package/storybook-static/assets/TreeSelect.stories-B2J0N4ke.js +0 -32
  403. package/storybook-static/assets/iframe-TsWsvoxA.js +0 -1
@@ -1,4 +1,4 @@
1
- import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r}from"./iframe-ltYEol2F.js";import{a as i,i as a}from"./utils-tg3ibbzi.js";import{i as o,s,u as c}from"./number-scale-D2KTkjVQ.js";var l,u,d,f,p,m,h;function g(){return(g=e((()=>{l=`wAovST`,u=`QVVMwe`,d=`H43AJ8`,f=`pgo8sW`,p=`_8fCvqA`,m=`t6RFcI`,h={splitter:l,vertical:u,separator:d,horizontal:f,topLeft:p,bottomRight:m}})))()}function _(e,t,n){return Math.min(n,Math.max(t,e))}function v(e,t){return Number.isFinite(e)?_(e,0,1):t}function y(e,t){let n=v(e,k),r=v(t,A);return n<=r?[n,r]:[r,n]}function b(e,t){return e===`vertical`?t.clientX:t.clientY}function x(e,t){return e===`vertical`?t.width:t.height}function S(e,t){if(e===`vertical`){if(t===`ArrowLeft`)return-.02;if(t===`ArrowRight`)return M}if(e===`horizontal`){if(t===`ArrowUp`)return-.02;if(t===`ArrowDown`)return M}return null}function C(e,t){return t===`start`?0:t===`end`?1:e}function w({direction:e,initial:t,min:n,max:r,onChange:i,collapsedPane:a}){let[o,s]=y(n,r),c=(0,D.useRef)(null),l=(0,D.useRef)(null),u=(0,D.useRef)(null),d=(0,D.useRef)(null),f=(0,D.useRef)(null),p=(0,D.useRef)(null),m=(0,D.useRef)(0),h=(0,D.useRef)(_(v(t,j),o,s)),g=(0,D.useRef)(t),[w,T]=(0,D.useState)(()=>_(v(t,j),o,s)),E=(0,D.useRef)(w),O=(0,D.useCallback)(e=>{E.current=e,l.current?.style.setProperty(`flex-basis`,`${C(e,a)*100}%`),u.current?.setAttribute(`aria-valuenow`,`${Math.round(e*100)}`)},[a]),k=()=>{if(p.current!==null&&(cancelAnimationFrame(p.current),p.current=null),f.current===null)return E.current;let e=f.current;return f.current=null,O(e),e},A=e=>{f.current=e,p.current===null&&(p.current=requestAnimationFrame(()=>{p.current=null,f.current!==null&&O(f.current)}))},M=()=>{d.current?.(),d.current=null},N=(e,t=E.current)=>{k();let n=_(e,o,s);T(n),n!==t&&i?.(n)};return(0,D.useLayoutEffect)(()=>{O(w)},[O,w]),(0,D.useEffect)(()=>{T(e=>{let n=g.current!==t;return g.current=t,_(n?v(t,j):e,o,s)})},[t,o,s]),(0,D.useEffect)(()=>()=>{M(),p.current!==null&&cancelAnimationFrame(p.current)},[]),{containerRef:c,topLeftRef:l,separatorRef:u,ratio:w,minRatio:o,maxRatio:s,handleSeparatorPointerDown:t=>{if(t.button!==0)return;t.preventDefault();let n=c.current;if(!n)return;M();try{t.currentTarget.setPointerCapture?.(t.pointerId)}catch{}m.current=b(e,t),h.current=E.current;let r=t=>{let r=x(e,n.getBoundingClientRect());if(r<=0)return;let i=b(e,t)-m.current,a=_(h.current+i/r,o,s);A(a)},i=()=>{M(),N(k(),h.current)};d.current=()=>{document.removeEventListener(`pointermove`,r),document.removeEventListener(`pointerup`,i),document.removeEventListener(`pointercancel`,i)},document.addEventListener(`pointermove`,r),document.addEventListener(`pointerup`,i),document.addEventListener(`pointercancel`,i)},handleSeparatorKeyDown:t=>{let n=S(e,t.key);if(n!==null){t.preventDefault(),N(E.current+n);return}if(t.key===`Home`){t.preventDefault(),N(o);return}t.key===`End`&&(t.preventDefault(),N(s))}}}function T({className:e,direction:t,left:n,right:r,collapsedPane:a,logic:o}){let{containerRef:s,topLeftRef:c,separatorRef:l,ratio:u,minRatio:d,maxRatio:f,handleSeparatorPointerDown:p,handleSeparatorKeyDown:m}=o,g=C(u,a),_=a===`start`,v=a===`end`,y=a===null;return(0,O.jsxs)(`div`,{ref:s,className:i(h.splitter,h[t],e),children:[(0,O.jsx)(`div`,{ref:c,className:h.topLeft,style:{flexBasis:`${g*100}%`},hidden:_,children:n}),(0,O.jsx)(`div`,{ref:l,hidden:!y,role:`separator`,"aria-orientation":t===`vertical`?`vertical`:`horizontal`,"aria-valuemin":Math.round(d*100),"aria-valuemax":Math.round(f*100),"aria-valuenow":Math.round(u*100),tabIndex:y?0:-1,onPointerDown:p,onKeyDown:m,className:h.separator}),(0,O.jsx)(`div`,{className:h.bottomRight,hidden:v,children:r})]})}function E({direction:e=`vertical`,initial:t=j,min:n=k,max:r=A,onChange:i,className:a,collapsedPane:o=null,children:s}){let[c,l]=D.Children.toArray(s),u=w({direction:e,initial:t,min:n,max:r,onChange:i,collapsedPane:o});return l?(0,O.jsx)(T,{className:a,direction:e,left:c,right:l,collapsedPane:o,logic:u}):c}var D,O,k,A,j,M;function N(){return(N=e((()=>{D=n(),a(),g(),O=r(),k=.1,A=.9,j=.7,M=.02,E.__docgenInfo={description:``,methods:[],displayName:`Splitter`,props:{direction:{defaultValue:{value:`"vertical"`,computed:!1},required:!1},initial:{defaultValue:{value:`0.7`,computed:!1},required:!1},min:{defaultValue:{value:`0.1`,computed:!1},required:!1},max:{defaultValue:{value:`0.9`,computed:!1},required:!1},collapsedPane:{defaultValue:{value:`null`,computed:!1},required:!1}}}})))()}var ee,P,te,F;function I(){return(I=e((()=>{ee=`dN78Fa`,P=`q7Yvg9`,te=`yP9UOD`,F={container:ee,viewport:P,separator:te}})))()}function ne({height:e,defaultHeight:t,minHeight:n,maxHeight:r,heightStep:i,onHeightChange:a}){let l=s(n,r),u={...l,step:i},d=e!==void 0,[f,p]=(0,L.useState)(()=>c(t,l.min,l.max)),[m,h]=(0,L.useState)(null),g=c(e??f,l.min,l.max),_=m??g,v=(0,L.useRef)(null),y=(0,L.useRef)(null),b=(0,L.useRef)(null),x=(0,L.useRef)(_),S=(0,L.useRef)(_),C=(0,L.useRef)(0),w=()=>{if(y.current!==null&&(cancelAnimationFrame(y.current),y.current=null),b.current===null)return x.current;let e=b.current;return b.current=null,x.current=e,e},T=e=>{b.current=e,y.current===null&&(y.current=requestAnimationFrame(()=>{if(y.current=null,b.current===null)return;let e=b.current;b.current=null,x.current=e,h(e)}))},E=(e,t=x.current)=>{let n=c(e,l.min,l.max);x.current=n,h(null),n!==t&&(d||p(n),a?.(n))},D=()=>{v.current?.(),v.current=null};return(0,L.useLayoutEffect)(()=>{x.current=_},[_]),(0,L.useEffect)(()=>()=>{D(),y.current!==null&&cancelAnimationFrame(y.current)},[]),{height:_,minHeight:l.min,maxHeight:l.max,handleSeparatorPointerDown:e=>{if(e.button!==0)return;e.preventDefault(),D();try{e.currentTarget.setPointerCapture?.(e.pointerId)}catch{}C.current=e.clientY,S.current=x.current;let t=e=>{let t=e.clientY-C.current,n=c(S.current+t,l.min,l.max);T(n)},n=()=>{D(),E(w(),S.current)};v.current=()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n),document.removeEventListener(`pointercancel`,n)},document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n),document.addEventListener(`pointercancel`,n)},handleSeparatorKeyDown:e=>{let t;e.key===`ArrowUp`&&(t=o(_,-1,u)),e.key===`ArrowDown`&&(t=o(_,1,u)),e.key===`Home`&&(t=l.min),e.key===`End`&&(t=l.max),t!==void 0&&(e.preventDefault(),E(t,_))}}}var L;function R(){return(R=e((()=>{L=n()})))()}function re({height:e,defaultHeight:t=ie,minHeight:n=ae,maxHeight:r=V,heightStep:a=H,onHeightChange:o,className:s,viewportClassName:c,separatorClassName:l,separatorAriaLabel:u=`Изменить высоту рабочей области`,children:d}){let f=`${(0,z.useId)()}-viewport`,p=ne({height:e,defaultHeight:t,minHeight:n,maxHeight:r,heightStep:a,onHeightChange:o});return(0,B.jsxs)(`div`,{className:i(F.container,s),"data-ui":`splitter-height-container`,children:[(0,B.jsx)(`div`,{id:f,className:i(F.viewport,c),style:{height:p.height},"data-ui":`splitter-height-viewport`,children:d}),(0,B.jsx)(`div`,{role:`separator`,"aria-label":u,"aria-orientation":`horizontal`,"aria-controls":f,"aria-valuemin":p.minHeight,"aria-valuemax":p.maxHeight,"aria-valuenow":p.height,"aria-valuetext":`${p.height} px`,tabIndex:0,className:i(F.separator,l),onPointerDown:p.handleSeparatorPointerDown,onKeyDown:p.handleSeparatorKeyDown,"data-ui":`splitter-height-separator`})]})}var z,B,ie,ae,V,H;function U(){return(U=e((()=>{z=n(),a(),I(),R(),B=r(),ie=480,ae=240,V=1200,H=20,re.__docgenInfo={description:`Опциональная внешняя композиция для Splitter: область панелей получает
1
+ import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r}from"./iframe-CU98mtpe.js";import{a as i,i as a}from"./utils-tg3ibbzi.js";import{i as o,s,u as c}from"./number-scale-D2KTkjVQ.js";var l,u,d,f,p,m,h;function g(){return(g=e((()=>{l=`wAovST`,u=`QVVMwe`,d=`H43AJ8`,f=`pgo8sW`,p=`_8fCvqA`,m=`t6RFcI`,h={splitter:l,vertical:u,separator:d,horizontal:f,topLeft:p,bottomRight:m}})))()}function _(e,t,n){return Math.min(n,Math.max(t,e))}function v(e,t){return Number.isFinite(e)?_(e,0,1):t}function y(e,t){let n=v(e,k),r=v(t,A);return n<=r?[n,r]:[r,n]}function b(e,t){return e===`vertical`?t.clientX:t.clientY}function x(e,t){return e===`vertical`?t.width:t.height}function S(e,t){if(e===`vertical`){if(t===`ArrowLeft`)return-.02;if(t===`ArrowRight`)return M}if(e===`horizontal`){if(t===`ArrowUp`)return-.02;if(t===`ArrowDown`)return M}return null}function C(e,t){return t===`start`?0:t===`end`?1:e}function w({direction:e,initial:t,min:n,max:r,onChange:i,collapsedPane:a}){let[o,s]=y(n,r),c=(0,D.useRef)(null),l=(0,D.useRef)(null),u=(0,D.useRef)(null),d=(0,D.useRef)(null),f=(0,D.useRef)(null),p=(0,D.useRef)(null),m=(0,D.useRef)(0),h=(0,D.useRef)(_(v(t,j),o,s)),g=(0,D.useRef)(t),[w,T]=(0,D.useState)(()=>_(v(t,j),o,s)),E=(0,D.useRef)(w),O=(0,D.useCallback)(e=>{E.current=e,l.current?.style.setProperty(`flex-basis`,`${C(e,a)*100}%`),u.current?.setAttribute(`aria-valuenow`,`${Math.round(e*100)}`)},[a]),k=()=>{if(p.current!==null&&(cancelAnimationFrame(p.current),p.current=null),f.current===null)return E.current;let e=f.current;return f.current=null,O(e),e},A=e=>{f.current=e,p.current===null&&(p.current=requestAnimationFrame(()=>{p.current=null,f.current!==null&&O(f.current)}))},M=()=>{d.current?.(),d.current=null},N=(e,t=E.current)=>{k();let n=_(e,o,s);T(n),n!==t&&i?.(n)};return(0,D.useLayoutEffect)(()=>{O(w)},[O,w]),(0,D.useEffect)(()=>{T(e=>{let n=g.current!==t;return g.current=t,_(n?v(t,j):e,o,s)})},[t,o,s]),(0,D.useEffect)(()=>()=>{M(),p.current!==null&&cancelAnimationFrame(p.current)},[]),{containerRef:c,topLeftRef:l,separatorRef:u,ratio:w,minRatio:o,maxRatio:s,handleSeparatorPointerDown:t=>{if(t.button!==0)return;t.preventDefault();let n=c.current;if(!n)return;M();try{t.currentTarget.setPointerCapture?.(t.pointerId)}catch{}m.current=b(e,t),h.current=E.current;let r=t=>{let r=x(e,n.getBoundingClientRect());if(r<=0)return;let i=b(e,t)-m.current,a=_(h.current+i/r,o,s);A(a)},i=()=>{M(),N(k(),h.current)};d.current=()=>{document.removeEventListener(`pointermove`,r),document.removeEventListener(`pointerup`,i),document.removeEventListener(`pointercancel`,i)},document.addEventListener(`pointermove`,r),document.addEventListener(`pointerup`,i),document.addEventListener(`pointercancel`,i)},handleSeparatorKeyDown:t=>{let n=S(e,t.key);if(n!==null){t.preventDefault(),N(E.current+n);return}if(t.key===`Home`){t.preventDefault(),N(o);return}t.key===`End`&&(t.preventDefault(),N(s))}}}function T({className:e,direction:t,left:n,right:r,collapsedPane:a,logic:o}){let{containerRef:s,topLeftRef:c,separatorRef:l,ratio:u,minRatio:d,maxRatio:f,handleSeparatorPointerDown:p,handleSeparatorKeyDown:m}=o,g=C(u,a),_=a===`start`,v=a===`end`,y=a===null;return(0,O.jsxs)(`div`,{ref:s,className:i(h.splitter,h[t],e),children:[(0,O.jsx)(`div`,{ref:c,className:h.topLeft,style:{flexBasis:`${g*100}%`},hidden:_,children:n}),(0,O.jsx)(`div`,{ref:l,hidden:!y,role:`separator`,"aria-orientation":t===`vertical`?`vertical`:`horizontal`,"aria-valuemin":Math.round(d*100),"aria-valuemax":Math.round(f*100),"aria-valuenow":Math.round(u*100),tabIndex:y?0:-1,onPointerDown:p,onKeyDown:m,className:h.separator}),(0,O.jsx)(`div`,{className:h.bottomRight,hidden:v,children:r})]})}function E({direction:e=`vertical`,initial:t=j,min:n=k,max:r=A,onChange:i,className:a,collapsedPane:o=null,children:s}){let[c,l]=D.Children.toArray(s),u=w({direction:e,initial:t,min:n,max:r,onChange:i,collapsedPane:o});return l?(0,O.jsx)(T,{className:a,direction:e,left:c,right:l,collapsedPane:o,logic:u}):c}var D,O,k,A,j,M;function N(){return(N=e((()=>{D=n(),a(),g(),O=r(),k=.1,A=.9,j=.7,M=.02,E.__docgenInfo={description:``,methods:[],displayName:`Splitter`,props:{direction:{defaultValue:{value:`"vertical"`,computed:!1},required:!1},initial:{defaultValue:{value:`0.7`,computed:!1},required:!1},min:{defaultValue:{value:`0.1`,computed:!1},required:!1},max:{defaultValue:{value:`0.9`,computed:!1},required:!1},collapsedPane:{defaultValue:{value:`null`,computed:!1},required:!1}}}})))()}var ee,P,te,F;function I(){return(I=e((()=>{ee=`dN78Fa`,P=`q7Yvg9`,te=`yP9UOD`,F={container:ee,viewport:P,separator:te}})))()}function ne({height:e,defaultHeight:t,minHeight:n,maxHeight:r,heightStep:i,onHeightChange:a}){let l=s(n,r),u={...l,step:i},d=e!==void 0,[f,p]=(0,L.useState)(()=>c(t,l.min,l.max)),[m,h]=(0,L.useState)(null),g=c(e??f,l.min,l.max),_=m??g,v=(0,L.useRef)(null),y=(0,L.useRef)(null),b=(0,L.useRef)(null),x=(0,L.useRef)(_),S=(0,L.useRef)(_),C=(0,L.useRef)(0),w=()=>{if(y.current!==null&&(cancelAnimationFrame(y.current),y.current=null),b.current===null)return x.current;let e=b.current;return b.current=null,x.current=e,e},T=e=>{b.current=e,y.current===null&&(y.current=requestAnimationFrame(()=>{if(y.current=null,b.current===null)return;let e=b.current;b.current=null,x.current=e,h(e)}))},E=(e,t=x.current)=>{let n=c(e,l.min,l.max);x.current=n,h(null),n!==t&&(d||p(n),a?.(n))},D=()=>{v.current?.(),v.current=null};return(0,L.useLayoutEffect)(()=>{x.current=_},[_]),(0,L.useEffect)(()=>()=>{D(),y.current!==null&&cancelAnimationFrame(y.current)},[]),{height:_,minHeight:l.min,maxHeight:l.max,handleSeparatorPointerDown:e=>{if(e.button!==0)return;e.preventDefault(),D();try{e.currentTarget.setPointerCapture?.(e.pointerId)}catch{}C.current=e.clientY,S.current=x.current;let t=e=>{let t=e.clientY-C.current,n=c(S.current+t,l.min,l.max);T(n)},n=()=>{D(),E(w(),S.current)};v.current=()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n),document.removeEventListener(`pointercancel`,n)},document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n),document.addEventListener(`pointercancel`,n)},handleSeparatorKeyDown:e=>{let t;e.key===`ArrowUp`&&(t=o(_,-1,u)),e.key===`ArrowDown`&&(t=o(_,1,u)),e.key===`Home`&&(t=l.min),e.key===`End`&&(t=l.max),t!==void 0&&(e.preventDefault(),E(t,_))}}}var L;function R(){return(R=e((()=>{L=n()})))()}function re({height:e,defaultHeight:t=ie,minHeight:n=ae,maxHeight:r=V,heightStep:a=H,onHeightChange:o,className:s,viewportClassName:c,separatorClassName:l,separatorAriaLabel:u=`Изменить высоту рабочей области`,children:d}){let f=`${(0,z.useId)()}-viewport`,p=ne({height:e,defaultHeight:t,minHeight:n,maxHeight:r,heightStep:a,onHeightChange:o});return(0,B.jsxs)(`div`,{className:i(F.container,s),"data-ui":`splitter-height-container`,children:[(0,B.jsx)(`div`,{id:f,className:i(F.viewport,c),style:{height:p.height},"data-ui":`splitter-height-viewport`,children:d}),(0,B.jsx)(`div`,{role:`separator`,"aria-label":u,"aria-orientation":`horizontal`,"aria-controls":f,"aria-valuemin":p.minHeight,"aria-valuemax":p.maxHeight,"aria-valuenow":p.height,"aria-valuetext":`${p.height} px`,tabIndex:0,className:i(F.separator,l),onPointerDown:p.handleSeparatorPointerDown,onKeyDown:p.handleSeparatorKeyDown,"data-ui":`splitter-height-separator`})]})}var z,B,ie,ae,V,H;function U(){return(U=e((()=>{z=n(),a(),I(),R(),B=r(),ie=480,ae=240,V=1200,H=20,re.__docgenInfo={description:`Опциональная внешняя композиция для Splitter: область панелей получает
2
2
  независимую высоту, а расположенный снизу separator изменяет весь viewport.
3
3
  Внутренние Splitter при этом продолжают управлять только своими пропорциями.`,methods:[],displayName:`SplitterHeightContainer`,props:{defaultHeight:{defaultValue:{value:`480`,computed:!1},required:!1},minHeight:{defaultValue:{value:`240`,computed:!1},required:!1},maxHeight:{defaultValue:{value:`1200`,computed:!1},required:!1},heightStep:{defaultValue:{value:`20`,computed:!1},required:!1},separatorAriaLabel:{defaultValue:{value:`"Изменить высоту рабочей области"`,computed:!1},required:!1}}}})))()}var oe=t({AdjustableHeight:()=>$,Basic:()=>Y,Constrained:()=>Q,Horizontal:()=>X,NestedFourPanels:()=>Z,__namedExportsOrder:()=>ue,default:()=>le});function W({children:e}){return(0,q.jsx)(`div`,{style:{height:490},children:e})}function G({title:e,description:t,items:n=[]}){return(0,q.jsxs)(`div`,{style:{height:`100%`,padding:`var(--space-md)`,borderRadius:`var(--radius-md)`,border:`var(--border)`,display:`grid`,alignContent:`start`,gap:`var(--space-md)`},className:`scrollable`,children:[(0,q.jsxs)(`div`,{children:[(0,q.jsx)(`h2`,{children:e}),(0,q.jsx)(`p`,{children:t})]}),n.length>0&&(0,q.jsx)(`div`,{style:{display:`grid`,gap:`var(--space-sm)`},children:n.map(e=>(0,q.jsx)(`div`,{style:{padding:`var(--space-sm) var(--space-md)`,borderRadius:`var(--radius-sm)`,background:`var(--surface-1)`},children:e},e))})]})}function K(e){return(0,q.jsx)(W,{children:(0,q.jsxs)(E,{...e,children:[(0,q.jsx)(G,{title:`Навигация`,description:`Левая панель подходит для фильтров, дерева разделов, списка сущностей или структуры документа.`,items:[`Раздел 1`,`Раздел 2`,`Раздел 3`,`Раздел 4`]}),(0,q.jsx)(G,{title:`Рабочая область`,description:`Правая панель обычно содержит детальный контент: таблицу, карточку объекта, форму или вкладки.`,items:[`Текущий документ`,`История изменений`,`Комментарии`,`Связанные объекты`,`Параметры отображения`]})]})})}function se(e){return(0,q.jsx)(W,{children:(0,q.jsxs)(E,{...e,children:[(0,q.jsxs)(E,{direction:`horizontal`,initial:.58,min:.25,max:.75,children:[(0,q.jsx)(G,{title:`Список`,description:`Верхняя левая панель может держать навигацию или результат поиска.`,items:[`Поиск`,`Фильтр по статусу`,`Группы`,`Быстрые действия`]}),(0,q.jsx)(G,{title:`Подробности`,description:`Нижняя левая панель подходит для связанного контента по выбранному элементу.`,items:[`Свойства`,`Ответственный`,`Теги`,`Контекст`]})]}),(0,q.jsxs)(E,{direction:`horizontal`,initial:.36,min:.2,max:.8,children:[(0,q.jsx)(G,{title:`Превью`,description:`Верхняя правая панель может содержать документ, схему, карту или live-просмотр.`,items:[`Предпросмотр файла`,`Масштаб 100%`,`Слой подсветки`]}),(0,q.jsx)(G,{title:`Журнал`,description:`Нижняя правая панель часто используется для событий, логов или вспомогательных данных.`,items:[`10:31 Импорт завершён`,`10:34 Индексация`,`10:36 Синхронизация`,`10:38 Проверка целостности`]})]})]})})}function ce(e){return(0,q.jsx)(W,{children:(0,q.jsxs)(E,{...e,children:[(0,q.jsx)(G,{title:`Фиксированные ограничения`,description:"У этой панели ужаты границы `min` и `max`, поэтому splitter нельзя увести слишком далеко.",items:[`Нажмите на разделитель`,`Используйте стрелки`,`Home = минимум`,`End = максимум`]}),(0,q.jsx)(G,{title:`Проверка доступности`,description:`Сценарий помогает проверить клавиатурное управление, устойчивость границ и отсутствие рывков при drag.`,items:[`ArrowLeft / ArrowRight`,`ArrowUp / ArrowDown`,`Перетаскивание мышью`,`Перетаскивание на тач-устройстве`]})]})})}var q,J,le,Y,X,Z,Q,$,ue;function de(){return(de=e((()=>{N(),U(),q=r(),{useArgs:J}=__STORYBOOK_MODULE_PREVIEW_API__,le={title:`UI/Splitter`,component:E,parameters:{atomicCanvas:!0,layout:`padded`},args:{direction:`vertical`,initial:.45,min:.15,max:.85},argTypes:{direction:{description:`Направление разделения: вертикальное по ширине или горизонтальное по высоте.`,control:`inline-radio`,options:[`vertical`,`horizontal`]},initial:{description:`Начальная доля первой панели в диапазоне от 0 до 1.`,control:{type:`range`,min:0,max:1,step:.01}},min:{description:`Минимальная доля первой панели. Значение автоматически нормализуется в диапазон 0..1.`,control:{type:`range`,min:0,max:1,step:.01}},max:{description:"Максимальная доля первой панели. Если `min` и `max` перепутаны местами, компонент сам исправит диапазон.",control:{type:`range`,min:0,max:1,step:.01}},onChange:{description:`Получает итоговую долю первой панели после завершения drag или клавиатурного шага.`,control:!1},collapsedPane:{description:`Сворачивает начальную или конечную панель.`,control:`inline-radio`,options:[null,`start`,`end`]},children:{description:`Splitter ожидает ровно два прямых дочерних элемента. Для большего количества областей используйте вложенные Splitter.`,control:!1}}},Y={name:`Две панели`,render:function(){let[e]=J();return(0,q.jsx)(K,{...e})}},X={name:`Горизонтальное разделение`,render:function(){let[e]=J();return(0,q.jsx)(K,{...e})},args:{direction:`horizontal`,initial:.55}},Z={name:`Четыре панели через вложенность`,render:function(){let[e]=J();return(0,q.jsx)(se,{...e})},args:{initial:.48,min:.25,max:.75}},Q={name:`Ограничения и клавиатура`,render:function(){let[e]=J();return(0,q.jsx)(ce,{...e})},args:{initial:.35,min:.25,max:.55}},$={name:`Изменяемая высота контейнера`,render:function(){let[e]=J();return(0,q.jsx)(re,{defaultHeight:360,minHeight:240,maxHeight:720,heightStep:20,children:(0,q.jsxs)(E,{...e,children:[(0,q.jsx)(G,{title:`Основная область`,description:`Separator под Splitter изменяет весь viewport, не меняя доли панелей.`,items:[`Высота хранится отдельно`,`Доли панелей остаются независимыми`]}),(0,q.jsx)(G,{title:`Дополнительная область`,description:`onHeightChange можно связать с внешними настройками пользователя.`,items:[`Минимум 240 px`,`Шаг клавиатуры 20 px`,`Максимум 720 px`]})]})})}},Y.parameters={...Y.parameters,docs:{...Y.parameters?.docs,source:{originalSource:`{
4
4
  name: "Две панели",
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-ltYEol2F.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-Bdsl8TP-.js";import{a as p,i as m,n as h,r as g,t as _}from"./StateSelect.stories-D94g21N9.js";function v(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{of:g,parameters:{docs:{toc:!0}}}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CU98mtpe.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-SX-KK9Lg.js";import{a as p,i as m,n as h,r as g,t as _}from"./StateSelect.stories-DLvSnAcF.js";function v(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{of:g,parameters:{docs:{toc:!0}}}),`
2
2
  `,(0,b.jsx)(u,{children:`StateSelect`}),`
3
3
  `,(0,b.jsx)(o,{children:`Специализированный select для выбора визуального статуса или семантического состояния`}),`
4
4
  `,(0,b.jsx)(t.p,{children:`StateSelect уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
@@ -0,0 +1,4 @@
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-CU98mtpe.js";import{a as r,i}from"./utils-tg3ibbzi.js";import{a,h as o,o as s}from"./formatters-DVE1YVNQ-CJCkXjuI.js";import{n as c,t as l}from"./Select-CT_wwcDN.js";var u,d,f,p,m,h,g,_,v,y,b,x;function S(){return(S=e((()=>{u=`p4nQdZ`,d=`_94tg5v`,f=`HyK7Zs`,p=`Mm4hrB`,m=`clxxBQ`,h=`_5pJ7o-`,g=`VV6hKN`,_=`cuQNP0`,v=`w7nIOT`,y=`ed-Afj`,b=`Lbxloe`,x={button:u,valueContainer:d,swatch:f,optionsPalette:p,optionsDetailed:m,option:h,optionPalette:g,optionDetailed:_,optionMeta:v,optionMetaIcon:y,optionMetaLabel:b}})))()}function C({state:e,className:t}){return(0,A.jsx)(`span`,{className:r(x.swatch,t),"data-empty":e===`none`?``:void 0,style:{"--state-color":s[e]}})}function w(e){return!!(e?.icon||e?.label)}function T(e,t){return typeof t?.label==`string`&&t.label.trim()?t.label:e||`empty`}function E(e){return w(e)?(0,A.jsxs)(`span`,{className:x.optionMeta,children:[e?.icon?(0,A.jsx)(`span`,{className:x.optionMetaIcon,children:e.icon}):null,e?.label?(0,A.jsx)(`span`,{className:x.optionMetaLabel,children:e.label}):null]}):null}function D(e,t){return(0,A.jsxs)(`div`,{className:x.valueContainer,children:[(0,A.jsx)(C,{state:e}),E(t)]})}function O({label:e,description:t,disabled:n,placeholder:i,size:o,value:s,onChange:c,options:u=a,stateMeta:d,className:f,clearable:p,required:m,error:h}){let g=(0,k.useMemo)(()=>Array.from(new Set(u)),[u]),_=g.some(e=>w(d?.[e])),v={getOptionKey:e=>e||`__empty_state__`,getOptionLabel:e=>d?.[e]?.label??e,getOptionAriaLabel:e=>T(e,d?.[e]),renderValue:e=>D(e,d?.[e]),renderOption:e=>(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(C,{state:e}),_?E(d?.[e]):null]}),buttonClassName:x.button,optionsContentClassName:r(_?x.optionsDetailed:x.optionsPalette),getOptionClassName:()=>r(x.option,_?x.optionDetailed:x.optionPalette)};return(0,A.jsx)(l,{label:e,description:t,disabled:n,placeholder:i,size:o,value:s,onChange:c,options:g,className:f,clearable:p,required:m,error:h,...v})}var k,A;function j(){return(j=e((()=>{k=t(),o(),i(),c(),S(),A=n(),O.__docgenInfo={description:`Специализированный селект для выбора цветового или статусного состояния. Используется там, где значению соответствует визуальный swatch.`,methods:[],displayName:`StateSelect`,props:{placeholder:{required:!1,tsType:{name:`string`},description:``},options:{required:!1,tsType:{name:`unknown`},description:``,defaultValue:{value:`DEFAULT_VALUE_STATES`,computed:!0}},stateMeta:{required:!1,tsType:{name:`Partial`,elements:[{name:`Record`,elements:[{name:`State`},{name:`signature`,type:`object`,raw:`{
2
+ label?: string;
3
+ icon?: ReactNode;
4
+ }`,signature:{properties:[{key:`label`,value:{name:`string`,required:!1}},{key:`icon`,value:{name:`ReactNode`,required:!1}}]}}],raw:`Record<State, StateMeta>`}],raw:`Partial<Record<State, StateMeta>>`},description:``},className:{required:!1,tsType:{name:`string`},description:``},clearable:{required:!1,tsType:{name:`boolean`},description:``},required:{required:!1,tsType:{name:`boolean`},description:``},error:{required:!1,tsType:{name:`string`},description:``}},composes:[`Omit`]}})))()}export{j as n,O as t};
@@ -1,4 +1,4 @@
1
- import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n,t as r}from"./circle-check-BLrYJ_8h.js";import{i,n as a,r as o,t as s}from"./info-CBSXRv7d.js";import{n as c,t as l}from"./triangle-alert-CPiJJHYc.js";import{i as u,n as d,r as f}from"./iframe-ltYEol2F.js";import{n as p,t as m}from"./StateSelect-bHA1Vf6z.js";var h,g;function _(){return(_=e((()=>{u(),h=[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}]],g=f(`circle-minus`,h)})))()}var v=t({Controlled:()=>C,PaletteOnly:()=>T,WithMeta:()=>w,__namedExportsOrder:()=>E,default:()=>S}),y,b,x,S,C,w,T,E;function D(){return(D=e((()=>{c(),n(),a(),_(),i(),p(),y=d(),{useArgs:b}=__STORYBOOK_MODULE_PREVIEW_API__,{fn:x}=__STORYBOOK_MODULE_TEST__,S={title:`UI/StateSelect`,component:m,args:{label:`Состояние`,description:`Выберите визуальный статус.`,placeholder:`Выберите значение`,value:`information`,onChange:x(),disabled:!1,size:`md`},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля выбора состояния.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Текст, когда значение не выбрано.`,control:`text`},value:{description:`Текущее состояние.`,control:`select`,options:[``,`none`,`information`,`success`,`warning`,`error`]},onChange:{description:`Вызывается при выборе состояния.`,control:!1},options:{description:`Кастомный набор доступных состояний.`,control:!1},stateMeta:{description:`Кастомные иконки и подписи для значений.`,control:!1},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},clearable:{description:`Показывает действие очистки выбранного состояния.`,control:`boolean`},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},C={render:function(e){let[,t]=b();return(0,y.jsx)(m,{...e,value:e.value??`information`,onChange:n=>{e.onChange(n),t({value:n})}})}},w={render:function(e){let[,t]=b();return(0,y.jsx)(m,{...e,value:e.value??`warning`,onChange:n=>{e.onChange(n),t({value:n})},stateMeta:{none:{label:`Без статуса`,icon:(0,y.jsx)(g,{})},information:{label:`Инфо`,icon:(0,y.jsx)(s,{})},success:{label:`Успех`,icon:(0,y.jsx)(r,{})},warning:{label:`Предупреждение`,icon:(0,y.jsx)(l,{})},error:{label:`Ошибка`,icon:(0,y.jsx)(o,{})}}})},args:{value:`warning`}},T={render:function(e){let[,t]=b();return(0,y.jsx)(m,{...e,value:e.value??`none`,onChange:n=>{e.onChange(n),t({value:n})},options:[`none`,`success`,`error`]})},args:{options:[`none`,`success`,`error`],value:`none`}},C.parameters={...C.parameters,docs:{...C.parameters?.docs,source:{originalSource:`{
1
+ import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n,t as r}from"./circle-check-DrVuYn1Q.js";import{i,n as a,r as o,t as s}from"./info-BhHmytIH.js";import{n as c,t as l}from"./triangle-alert-TRLt6Woa.js";import{i as u,n as d,r as f}from"./iframe-CU98mtpe.js";import{n as p,t as m}from"./StateSelect-C5tnrhWT.js";var h,g;function _(){return(_=e((()=>{u(),h=[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}]],g=f(`circle-minus`,h)})))()}var v=t({Controlled:()=>C,PaletteOnly:()=>T,WithMeta:()=>w,__namedExportsOrder:()=>E,default:()=>S}),y,b,x,S,C,w,T,E;function D(){return(D=e((()=>{c(),n(),a(),_(),i(),p(),y=d(),{useArgs:b}=__STORYBOOK_MODULE_PREVIEW_API__,{fn:x}=__STORYBOOK_MODULE_TEST__,S={title:`UI/StateSelect`,component:m,args:{label:`Состояние`,description:`Выберите визуальный статус.`,placeholder:`Выберите значение`,value:`information`,onChange:x(),disabled:!1,size:`md`},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок поля выбора состояния.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Текст, когда значение не выбрано.`,control:`text`},value:{description:`Текущее состояние.`,control:`select`,options:[``,`none`,`information`,`success`,`warning`,`error`]},onChange:{description:`Вызывается при выборе состояния.`,control:!1},options:{description:`Кастомный набор доступных состояний.`,control:!1},stateMeta:{description:`Кастомные иконки и подписи для значений.`,control:!1},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},clearable:{description:`Показывает действие очистки выбранного состояния.`,control:`boolean`},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},C={render:function(e){let[,t]=b();return(0,y.jsx)(m,{...e,value:e.value??`information`,onChange:n=>{e.onChange(n),t({value:n})}})}},w={render:function(e){let[,t]=b();return(0,y.jsx)(m,{...e,value:e.value??`warning`,onChange:n=>{e.onChange(n),t({value:n})},stateMeta:{none:{label:`Без статуса`,icon:(0,y.jsx)(g,{})},information:{label:`Инфо`,icon:(0,y.jsx)(s,{})},success:{label:`Успех`,icon:(0,y.jsx)(r,{})},warning:{label:`Предупреждение`,icon:(0,y.jsx)(l,{})},error:{label:`Ошибка`,icon:(0,y.jsx)(o,{})}}})},args:{value:`warning`}},T={render:function(e){let[,t]=b();return(0,y.jsx)(m,{...e,value:e.value??`none`,onChange:n=>{e.onChange(n),t({value:n})},options:[`none`,`success`,`error`]})},args:{options:[`none`,`success`,`error`],value:`none`}},C.parameters={...C.parameters,docs:{...C.parameters?.docs,source:{originalSource:`{
2
2
  render: function Render(args) {
3
3
  const [, updateArgs] = useArgs<StateSelectProps>();
4
4
  return <StateSelect {...args} value={args.value ?? "information"} onChange={value => {
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-ltYEol2F.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-Bdsl8TP-.js";import{a as p,i as m,n as h,o as g,r as _,t as v}from"./StatusIndicator.stories-BB7y4KGW.js";function y(e){let t={code:`code`,h2:`h2`,p:`p`,pre:`pre`,...n(),...e.components};return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(s,{of:m,parameters:{atomicCanvas:!0,layout:`padded`,docs:{toc:!0}}}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CU98mtpe.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-SX-KK9Lg.js";import{a as p,i as m,n as h,o as g,r as _,t as v}from"./StatusIndicator.stories-B7PGK2_C.js";function y(e){let t={code:`code`,h2:`h2`,p:`p`,pre:`pre`,...n(),...e.components};return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(s,{of:m,parameters:{atomicCanvas:!0,layout:`padded`,docs:{toc:!0}}}),`
2
2
  `,(0,x.jsx)(u,{children:`StatusIndicator`}),`
3
3
  `,(0,x.jsx)(o,{children:`Компактный цветовой маркер состояния`}),`
4
4
  `,(0,x.jsx)(t.p,{children:`StatusIndicator помогает быстро считать состояние строки, карточки или процесса. Компонент использует семантические status-токены темы и сохраняет цветовую схему во всех host-проектах.`}),`
@@ -1,4 +1,4 @@
1
- import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-ltYEol2F.js";import{a as r,i}from"./utils-tg3ibbzi.js";var a,o,s,c,l,u,d,f,p,m,h,g,_;function v(){return(v=e((()=>{a=`bJvCcD`,o=`UhVDLa`,s=`kNg89H`,c=`bRw83O`,l=`VQh7sh`,u=`zdESHk`,d=`-KLln9`,f=`Ak9M6g`,p=`_43MsRd`,m=`FpGv5-`,h=`y-1aex`,g=`_56N544`,_={statusIndicator:a,neutral:o,accent:s,info:c,success:l,warning:u,error:d,sizeSm:f,sizeMd:p,sizeLg:m,animated:h,statusIndicatorPulse:g}})))()}function y({tone:e=`neutral`,size:t=`md`,animated:n=!1,className:i,...a}){let o=a.role!==void 0||a[`aria-label`]!==void 0||a[`aria-labelledby`]!==void 0,s=a[`aria-hidden`]??(!o||void 0);return(0,b.jsx)(`span`,{...a,className:r(_.statusIndicator,x[e],S[t],n&&_.animated,i),"aria-hidden":s,"data-ui":`status-indicator`})}var b,x,S;function C(){return(C=e((()=>{i(),v(),b=n(),x={accent:_.accent,neutral:_.neutral,info:_.info,success:_.success,warning:_.warning,error:_.error},S={sm:_.sizeSm,md:_.sizeMd,lg:_.sizeLg},y.__docgenInfo={description:`Декоративный цветовой маркер статуса. Передавайте смысл состояния видимым текстом рядом с индикатором.`,methods:[],displayName:`StatusIndicator`,props:{tone:{required:!1,tsType:{name:`Exclude`,elements:[{name:`union`,raw:`"accent" | "neutral" | "brand" | "error" | "warning" | "success" | "info"`,elements:[{name:`literal`,value:`"accent"`},{name:`literal`,value:`"neutral"`},{name:`literal`,value:`"brand"`},{name:`literal`,value:`"error"`},{name:`literal`,value:`"warning"`},{name:`literal`,value:`"success"`},{name:`literal`,value:`"info"`}]},{name:`literal`,value:`"brand"`}],raw:`Exclude<UiTone, "brand">`},description:``,defaultValue:{value:`"neutral"`,computed:!1}},size:{required:!1,tsType:{name:`Extract`,elements:[{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},{name:`union`,raw:`"sm" | "md" | "lg"`,elements:[{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`}]}],raw:`Extract<UiSize, "sm" | "md" | "lg">`},description:``,defaultValue:{value:`"md"`,computed:!1}},animated:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`false`,computed:!1}}},composes:[`Omit`]}})))()}var w=t({Animated:()=>P,Basic:()=>j,Sizes:()=>N,Tones:()=>M,__namedExportsOrder:()=>F,default:()=>A}),T,E,D,O,k,A,j,M,N,P,F;function I(){return(I=e((()=>{C(),T=n(),E={display:`flex`,alignItems:`center`,flexWrap:`wrap`,gap:`var(--space-lg)`},D={display:`inline-flex`,alignItems:`center`,gap:`var(--space-sm)`},O=[{tone:`accent`,label:`Текущий`},{tone:`neutral`,label:`Неизвестно`},{tone:`info`,label:`В работе`},{tone:`success`,label:`Готово`},{tone:`warning`,label:`Требует внимания`},{tone:`error`,label:`Ошибка`}],k=[{size:`sm`,label:`Small`},{size:`md`,label:`Medium`},{size:`lg`,label:`Large`}],A={title:`UI/StatusIndicator`,component:y,args:{tone:`info`,size:`md`,animated:!1},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{tone:{description:`Семантический цвет индикатора.`,control:`inline-radio`,options:[`accent`,`neutral`,`info`,`success`,`warning`,`error`]},size:{description:`Размер индикатора.`,control:`inline-radio`,options:[`sm`,`md`,`lg`]},animated:{description:`Включает спокойную пульсацию для изменяющегося или активного состояния.`,control:`boolean`}}},j={render:e=>(0,T.jsxs)(`span`,{style:D,children:[(0,T.jsx)(y,{...e}),(0,T.jsx)(`span`,{children:`В работе`})]})},M={render:()=>(0,T.jsx)(`div`,{style:E,children:O.map(({tone:e,label:t})=>(0,T.jsxs)(`span`,{style:D,children:[(0,T.jsx)(y,{tone:e}),(0,T.jsx)(`span`,{children:t})]},e))})},N={render:()=>(0,T.jsx)(`div`,{style:E,children:k.map(({size:e,label:t})=>(0,T.jsxs)(`span`,{style:D,children:[(0,T.jsx)(y,{size:e,tone:`success`}),(0,T.jsx)(`span`,{children:t})]},e))})},P={render:()=>(0,T.jsxs)(`span`,{style:D,role:`status`,children:[(0,T.jsx)(y,{tone:`info`,animated:!0}),(0,T.jsx)(`span`,{children:`Синхронизация`})]})},j.parameters={...j.parameters,docs:{...j.parameters?.docs,source:{originalSource:`{
1
+ import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-CU98mtpe.js";import{a as r,i}from"./utils-tg3ibbzi.js";var a,o,s,c,l,u,d,f,p,m,h,g,_;function v(){return(v=e((()=>{a=`bJvCcD`,o=`UhVDLa`,s=`kNg89H`,c=`bRw83O`,l=`VQh7sh`,u=`zdESHk`,d=`-KLln9`,f=`Ak9M6g`,p=`_43MsRd`,m=`FpGv5-`,h=`y-1aex`,g=`_56N544`,_={statusIndicator:a,neutral:o,accent:s,info:c,success:l,warning:u,error:d,sizeSm:f,sizeMd:p,sizeLg:m,animated:h,statusIndicatorPulse:g}})))()}function y({tone:e=`neutral`,size:t=`md`,animated:n=!1,className:i,...a}){let o=a.role!==void 0||a[`aria-label`]!==void 0||a[`aria-labelledby`]!==void 0,s=a[`aria-hidden`]??(!o||void 0);return(0,b.jsx)(`span`,{...a,className:r(_.statusIndicator,x[e],S[t],n&&_.animated,i),"aria-hidden":s,"data-ui":`status-indicator`})}var b,x,S;function C(){return(C=e((()=>{i(),v(),b=n(),x={accent:_.accent,neutral:_.neutral,info:_.info,success:_.success,warning:_.warning,error:_.error},S={sm:_.sizeSm,md:_.sizeMd,lg:_.sizeLg},y.__docgenInfo={description:`Декоративный цветовой маркер статуса. Передавайте смысл состояния видимым текстом рядом с индикатором.`,methods:[],displayName:`StatusIndicator`,props:{tone:{required:!1,tsType:{name:`Exclude`,elements:[{name:`union`,raw:`"accent" | "neutral" | "brand" | "error" | "warning" | "success" | "info"`,elements:[{name:`literal`,value:`"accent"`},{name:`literal`,value:`"neutral"`},{name:`literal`,value:`"brand"`},{name:`literal`,value:`"error"`},{name:`literal`,value:`"warning"`},{name:`literal`,value:`"success"`},{name:`literal`,value:`"info"`}]},{name:`literal`,value:`"brand"`}],raw:`Exclude<UiTone, "brand">`},description:``,defaultValue:{value:`"neutral"`,computed:!1}},size:{required:!1,tsType:{name:`Extract`,elements:[{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},{name:`union`,raw:`"sm" | "md" | "lg"`,elements:[{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`}]}],raw:`Extract<UiSize, "sm" | "md" | "lg">`},description:``,defaultValue:{value:`"md"`,computed:!1}},animated:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`false`,computed:!1}}},composes:[`Omit`]}})))()}var w=t({Animated:()=>P,Basic:()=>j,Sizes:()=>N,Tones:()=>M,__namedExportsOrder:()=>F,default:()=>A}),T,E,D,O,k,A,j,M,N,P,F;function I(){return(I=e((()=>{C(),T=n(),E={display:`flex`,alignItems:`center`,flexWrap:`wrap`,gap:`var(--space-lg)`},D={display:`inline-flex`,alignItems:`center`,gap:`var(--space-sm)`},O=[{tone:`accent`,label:`Текущий`},{tone:`neutral`,label:`Неизвестно`},{tone:`info`,label:`В работе`},{tone:`success`,label:`Готово`},{tone:`warning`,label:`Требует внимания`},{tone:`error`,label:`Ошибка`}],k=[{size:`sm`,label:`Small`},{size:`md`,label:`Medium`},{size:`lg`,label:`Large`}],A={title:`UI/StatusIndicator`,component:y,args:{tone:`info`,size:`md`,animated:!1},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{tone:{description:`Семантический цвет индикатора.`,control:`inline-radio`,options:[`accent`,`neutral`,`info`,`success`,`warning`,`error`]},size:{description:`Размер индикатора.`,control:`inline-radio`,options:[`sm`,`md`,`lg`]},animated:{description:`Включает спокойную пульсацию для изменяющегося или активного состояния.`,control:`boolean`}}},j={render:e=>(0,T.jsxs)(`span`,{style:D,children:[(0,T.jsx)(y,{...e}),(0,T.jsx)(`span`,{children:`В работе`})]})},M={render:()=>(0,T.jsx)(`div`,{style:E,children:O.map(({tone:e,label:t})=>(0,T.jsxs)(`span`,{style:D,children:[(0,T.jsx)(y,{tone:e}),(0,T.jsx)(`span`,{children:t})]},e))})},N={render:()=>(0,T.jsx)(`div`,{style:E,children:k.map(({size:e,label:t})=>(0,T.jsxs)(`span`,{style:D,children:[(0,T.jsx)(y,{size:e,tone:`success`}),(0,T.jsx)(`span`,{children:t})]},e))})},P={render:()=>(0,T.jsxs)(`span`,{style:D,role:`status`,children:[(0,T.jsx)(y,{tone:`info`,animated:!0}),(0,T.jsx)(`span`,{children:`Синхронизация`})]})},j.parameters={...j.parameters,docs:{...j.parameters?.docs,source:{originalSource:`{
2
2
  render: args => <span style={itemStyle}>
3
3
  <StatusIndicator {...args} />
4
4
  <span>В работе</span>
@@ -1,3 +1,3 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-ltYEol2F.js";import{n,t as r}from"./createControlledStoryRender-BouhvX-R.js";import{n as i,t as a}from"./Toggle-BUSzQ1ww.js";function o(e,t){return typeof e==`string`?e:t}var s,c;function l(){return(l=e((()=>{s=`true`,c=`false`})))()}function u({value:e,onChange:t,checkedValue:n,uncheckedValue:r,defaultChecked:i,...l}){let u=o(n,s),f=o(r,c),p=e===u;return(0,d.jsx)(a,{...l,value:p,onChange:e=>t(e?u:f)})}var d;function f(){return(f=e((()=>{l(),i(),d=t(),u.__docgenInfo={description:`Адаптирует boolean-состояние Toggle к паре настраиваемых строковых значений.`,methods:[],displayName:`StringToggle`,props:{checkedValue:{required:!1,tsType:{name:`string`},description:``},uncheckedValue:{required:!1,tsType:{name:`string`},description:``},value:{required:!0,tsType:{name:`string`},description:``},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``}}}})))()}var p,m,h,g,_;function v(){return(v=e((()=>{n(),f(),p=t(),m=r((e,t)=>(0,p.jsx)(u,{...e,onChange:n=>{e.onChange(n),t({value:n})}})),h={title:`UI/Toggle/StringToggle`,component:u,args:{value:`ZBP_MANAGER`,onChange:()=>void 0,checkedText:`за клиента`,uncheckedText:`за сделку`,checkedValue:`ZM_MANAGER`,uncheckedValue:`ZBP_MANAGER`},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Текст подписи переключателя.`,control:`text`},description:{description:`Описание под переключателем.`,control:`text`},placeholder:{description:"Резервная подпись, если `label` не задан.",control:`text`},value:{description:`Текущее строковое значение.`,control:`text`},onChange:{description:`Возвращает строку выбранного состояния.`,control:!1},checkedValue:{description:`Значение включённого состояния.`,control:`text`},uncheckedValue:{description:`Значение выключенного состояния.`,control:`text`},checkedText:{description:`Текст включённого состояния.`,control:`text`},uncheckedText:{description:`Текст выключенного состояния.`,control:`text`},labelPosition:{description:`Положение подписи относительно переключателя.`,control:`inline-radio`,options:[`before`,`after`]},disabled:{description:`Блокирует взаимодействие.`,control:`boolean`},size:{description:`Размер контрола и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},g={render:m},g.parameters={...g.parameters,docs:{...g.parameters?.docs,source:{originalSource:`{
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CU98mtpe.js";import{n,t as r}from"./createControlledStoryRender-BouhvX-R.js";import{n as i,t as a}from"./Toggle-BGbyfmSW.js";function o(e,t){return typeof e==`string`?e:t}var s,c;function l(){return(l=e((()=>{s=`true`,c=`false`})))()}function u({value:e,onChange:t,checkedValue:n,uncheckedValue:r,defaultChecked:i,...l}){let u=o(n,s),f=o(r,c),p=e===u;return(0,d.jsx)(a,{...l,value:p,onChange:e=>t(e?u:f)})}var d;function f(){return(f=e((()=>{l(),i(),d=t(),u.__docgenInfo={description:`Адаптирует boolean-состояние Toggle к паре настраиваемых строковых значений.`,methods:[],displayName:`StringToggle`,props:{checkedValue:{required:!1,tsType:{name:`string`},description:``},uncheckedValue:{required:!1,tsType:{name:`string`},description:``},value:{required:!0,tsType:{name:`string`},description:``},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``}}}})))()}var p,m,h,g,_;function v(){return(v=e((()=>{n(),f(),p=t(),m=r((e,t)=>(0,p.jsx)(u,{...e,onChange:n=>{e.onChange(n),t({value:n})}})),h={title:`UI/Toggle/StringToggle`,component:u,args:{value:`ZBP_MANAGER`,onChange:()=>void 0,checkedText:`за клиента`,uncheckedText:`за сделку`,checkedValue:`ZM_MANAGER`,uncheckedValue:`ZBP_MANAGER`},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Текст подписи переключателя.`,control:`text`},description:{description:`Описание под переключателем.`,control:`text`},placeholder:{description:"Резервная подпись, если `label` не задан.",control:`text`},value:{description:`Текущее строковое значение.`,control:`text`},onChange:{description:`Возвращает строку выбранного состояния.`,control:!1},checkedValue:{description:`Значение включённого состояния.`,control:`text`},uncheckedValue:{description:`Значение выключенного состояния.`,control:`text`},checkedText:{description:`Текст включённого состояния.`,control:`text`},uncheckedText:{description:`Текст выключенного состояния.`,control:`text`},labelPosition:{description:`Положение подписи относительно переключателя.`,control:`inline-radio`,options:[`before`,`after`]},disabled:{description:`Блокирует взаимодействие.`,control:`boolean`},size:{description:`Размер контрола и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},g={render:m},g.parameters={...g.parameters,docs:{...g.parameters?.docs,source:{originalSource:`{
2
2
  render: renderStringToggleStory
3
3
  }`,...g.parameters?.docs?.source}}},_=[`ManagerScope`]})))()}v();export{g as ManagerScope,_ as __namedExportsOrder,h as default};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-ltYEol2F.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-Bdsl8TP-.js";import{a as p,i as m,n as h,r as g,t as _}from"./Switch.stories-taC_bi5a.js";function v(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{of:g,parameters:{docs:{toc:!0}}}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CU98mtpe.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-SX-KK9Lg.js";import{a as p,i as m,n as h,r as g,t as _}from"./Switch.stories-BtctkC2W.js";function v(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{of:g,parameters:{docs:{toc:!0}}}),`
2
2
  `,(0,b.jsx)(u,{children:`Switch`}),`
3
3
  `,(0,b.jsx)(o,{children:`Переключатель в виде слайдера для быстрых включений, отключений и tri-state сценариев`}),`
4
4
  `,(0,b.jsx)(t.p,{children:`Switch уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
@@ -1 +1 @@
1
- import{a as e,n as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r,t as i}from"./circle-check-BLrYJ_8h.js";import{i as a,n as o,r as s}from"./iframe-ltYEol2F.js";import{a as c,i as l}from"./utils-tg3ibbzi.js";import{n as u,t as d}from"./ui.module-l7VCYIW-.js";var f,p;function m(){return(m=t((()=>{a(),f=[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M4.929 4.929 19.07 19.071`,key:`196cmz`}]],p=s(`ban`,f)})))()}var h,g,_,v,y;function b(){return(b=t((()=>{h=`Or5LYA`,g=`w0AMfA`,_=`P1x4lq`,v=`-ZVOZo`,y={switchWrapper:h,switch:`qge3io`,iconWrapper:g,auto:_,checked:v}})))()}function x(e){let{label:t,description:n,disabled:r,checkedIcon:a=(0,C.jsx)(i,{}),uncheckedIcon:o=(0,C.jsx)(p,{}),className:s,type:l,id:d,size:f,placeholder:m,onChange:h,value:g,triState:_,...v}=e,b=(0,S.useId)(),x=d??b,w=n?`${x}-description`:void 0,T=t?`${x}-label`:void 0,E=()=>{if(!e.triState){e.onChange(!e.value);return}if(e.value===void 0){e.onChange(!0);return}if(e.value===!0){e.onChange(!1);return}e.value===!1&&e.onChange(void 0)},D=typeof e.value==`boolean`&&e.value,O=e.triState&&typeof e.value!=`boolean`,k=v[`aria-label`]??(t?void 0:`Переключатель`);return(0,C.jsxs)(`div`,{className:c(u.uiElement,r&&u.disabled),"aria-disabled":r||void 0,children:[t&&(0,C.jsxs)(`div`,{id:T,className:u.uiLabel,children:[t,`:`]}),n&&(0,C.jsx)(`p`,{id:w,className:u.uiDescription,children:n}),(0,C.jsx)(`button`,{...v,id:x,type:l??`button`,role:`switch`,disabled:r,"aria-checked":D,"aria-describedby":w,"aria-labelledby":T,"aria-label":k,"aria-disabled":r,"data-ui":`switch`,"data-action":`toggle-switch`,onClick:E,className:c(u.uiInputControl,y.switchWrapper,s),children:(0,C.jsx)(`div`,{className:y.switch,"data-disabled":r||void 0,children:O?(0,C.jsx)(`div`,{className:c(y.iconWrapper,y.auto,y.checked),children:`Auto`}):(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(`div`,{className:c(y.iconWrapper,!e.value&&y.checked),children:o}),(0,C.jsx)(`div`,{className:c(y.iconWrapper,e.value&&y.checked),children:a})]})})})]})}var S,C;function w(){return(w=t((()=>{S=e(n(),1),l(),m(),r(),d(),b(),C=o(),x.__docgenInfo={description:`Переключатель boolean-состояния в виде слайдера. Подходит для быстрых настроек и включения/отключения опций.`,methods:[],displayName:`Switch`}})))()}export{w as n,x as t};
1
+ import{a as e,n as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r,t as i}from"./circle-check-DrVuYn1Q.js";import{i as a,n as o,r as s}from"./iframe-CU98mtpe.js";import{a as c,i as l}from"./utils-tg3ibbzi.js";import{n as u,t as d}from"./ui.module-l7VCYIW-.js";var f,p;function m(){return(m=t((()=>{a(),f=[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M4.929 4.929 19.07 19.071`,key:`196cmz`}]],p=s(`ban`,f)})))()}var h,g,_,v,y;function b(){return(b=t((()=>{h=`Or5LYA`,g=`w0AMfA`,_=`P1x4lq`,v=`-ZVOZo`,y={switchWrapper:h,switch:`qge3io`,iconWrapper:g,auto:_,checked:v}})))()}function x(e){let{label:t,description:n,disabled:r,checkedIcon:a=(0,C.jsx)(i,{}),uncheckedIcon:o=(0,C.jsx)(p,{}),className:s,type:l,id:d,size:f,placeholder:m,onChange:h,value:g,triState:_,...v}=e,b=(0,S.useId)(),x=d??b,w=n?`${x}-description`:void 0,T=t?`${x}-label`:void 0,E=()=>{if(!e.triState){e.onChange(!e.value);return}if(e.value===void 0){e.onChange(!0);return}if(e.value===!0){e.onChange(!1);return}e.value===!1&&e.onChange(void 0)},D=typeof e.value==`boolean`&&e.value,O=e.triState&&typeof e.value!=`boolean`,k=v[`aria-label`]??(t?void 0:`Переключатель`);return(0,C.jsxs)(`div`,{className:c(u.uiElement,r&&u.disabled),"aria-disabled":r||void 0,children:[t&&(0,C.jsxs)(`div`,{id:T,className:u.uiLabel,children:[t,`:`]}),n&&(0,C.jsx)(`p`,{id:w,className:u.uiDescription,children:n}),(0,C.jsx)(`button`,{...v,id:x,type:l??`button`,role:`switch`,disabled:r,"aria-checked":D,"aria-describedby":w,"aria-labelledby":T,"aria-label":k,"aria-disabled":r,"data-ui":`switch`,"data-action":`toggle-switch`,onClick:E,className:c(u.uiInputControl,y.switchWrapper,s),children:(0,C.jsx)(`div`,{className:y.switch,"data-disabled":r||void 0,children:O?(0,C.jsx)(`div`,{className:c(y.iconWrapper,y.auto,y.checked),children:`Auto`}):(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(`div`,{className:c(y.iconWrapper,!e.value&&y.checked),children:o}),(0,C.jsx)(`div`,{className:c(y.iconWrapper,e.value&&y.checked),children:a})]})})})]})}var S,C;function w(){return(w=t((()=>{S=e(n(),1),l(),m(),r(),d(),b(),C=o(),x.__docgenInfo={description:`Переключатель boolean-состояния в виде слайдера. Подходит для быстрых настроек и включения/отключения опций.`,methods:[],displayName:`Switch`}})))()}export{w as n,x as t};
@@ -1,4 +1,4 @@
1
- import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n,t as r}from"./Switch-DRLWRp0P.js";import{n as i}from"./iframe-ltYEol2F.js";import{n as a,t as o}from"./createControlledStoryRender-BouhvX-R.js";var s=t({BiState:()=>f,Disabled:()=>m,TriState:()=>p,__namedExportsOrder:()=>h,default:()=>d}),c,l,u,d,f,p,m,h;function g(){return(g=e((()=>{a(),n(),c=i(),l=o((e,t)=>(0,c.jsx)(r,{...e,triState:!1,value:e.value??!1,onChange:n=>{e.onChange(n),t({value:n})}})),u=o((e,t)=>(0,c.jsxs)(`div`,{style:{display:`grid`,gap:8},children:[(0,c.jsx)(r,{...e,triState:!0,value:e.value,onChange:n=>{e.onChange(n),t({value:n})}}),(0,c.jsxs)(`div`,{children:[`Текущее значение: `,String(e.value)]})]})),d={title:`UI/Switch`,component:r,args:{label:`Режим обработки`,description:`Переключение состояния`,value:!1,onChange:()=>{},triState:!1,disabled:!1},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок переключателя.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},value:{description:"Текущее значение (`boolean` или `undefined` в tri-state).",control:`boolean`},onChange:{description:`Вызывается при изменении состояния.`,control:!1},triState:{description:"Включает трехсостоянный режим (`undefined → true → false`).",control:`boolean`},checkedIcon:{description:"Кастомная иконка для состояния `true`.",control:!1},uncheckedIcon:{description:"Кастомная иконка для состояния `false`.",control:!1},disabled:{description:`Блокирует переключение.`,control:`boolean`}}},f={render:l},p={render:u,args:{triState:!0,value:void 0}},m={render:l,args:{disabled:!0,value:!0}},f.parameters={...f.parameters,docs:{...f.parameters?.docs,source:{originalSource:`{
1
+ import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n,t as r}from"./Switch-DlRrk6o7.js";import{n as i}from"./iframe-CU98mtpe.js";import{n as a,t as o}from"./createControlledStoryRender-BouhvX-R.js";var s=t({BiState:()=>f,Disabled:()=>m,TriState:()=>p,__namedExportsOrder:()=>h,default:()=>d}),c,l,u,d,f,p,m,h;function g(){return(g=e((()=>{a(),n(),c=i(),l=o((e,t)=>(0,c.jsx)(r,{...e,triState:!1,value:e.value??!1,onChange:n=>{e.onChange(n),t({value:n})}})),u=o((e,t)=>(0,c.jsxs)(`div`,{style:{display:`grid`,gap:8},children:[(0,c.jsx)(r,{...e,triState:!0,value:e.value,onChange:n=>{e.onChange(n),t({value:n})}}),(0,c.jsxs)(`div`,{children:[`Текущее значение: `,String(e.value)]})]})),d={title:`UI/Switch`,component:r,args:{label:`Режим обработки`,description:`Переключение состояния`,value:!1,onChange:()=>{},triState:!1,disabled:!1},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок переключателя.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},value:{description:"Текущее значение (`boolean` или `undefined` в tri-state).",control:`boolean`},onChange:{description:`Вызывается при изменении состояния.`,control:!1},triState:{description:"Включает трехсостоянный режим (`undefined → true → false`).",control:`boolean`},checkedIcon:{description:"Кастомная иконка для состояния `true`.",control:!1},uncheckedIcon:{description:"Кастомная иконка для состояния `false`.",control:!1},disabled:{description:`Блокирует переключение.`,control:`boolean`}}},f={render:l},p={render:u,args:{triState:!0,value:void 0}},m={render:l,args:{disabled:!0,value:!0}},f.parameters={...f.parameters,docs:{...f.parameters?.docs,source:{originalSource:`{
2
2
  render: renderBiStateSwitchStory
3
3
  }`,...f.parameters?.docs?.source}}},p.parameters={...p.parameters,docs:{...p.parameters?.docs,source:{originalSource:`{
4
4
  render: renderTriStateSwitchStory,
@@ -0,0 +1,219 @@
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CU98mtpe.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-SX-KK9Lg.js";import{_ as p,a as m,c as h,d as g,f as _,g as v,h as y,i as b,l as x,m as S,n as C,o as w,p as T,r as E,s as D,t as O,u as k,v as A}from"./Table.stories-FORIU5CX.js";function j(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(s,{of:D,parameters:{docs:{toc:!0}}}),`
2
+ `,(0,N.jsx)(u,{children:`Table`}),`
3
+ `,(0,N.jsxs)(o,{children:[`Плоская таблица как React-альтернатива `,(0,N.jsx)(t.code,{children:`sap.m.Table`})]}),`
4
+ `,(0,N.jsxs)(t.p,{children:[(0,N.jsx)(t.code,{children:`Table`}),` предназначен для плоских данных и по поведению осознанно сближен с `,(0,N.jsx)(t.code,{children:`TreeTable`}),`.
5
+ Оба компонента используют общий табличный каркас, поэтому здесь совпадают states загрузки, визуальная структура, обработка выбора строк и клавиатурная активация.
6
+ `,(0,N.jsx)(t.code,{children:`Table`}),` также поддерживает декларативное форматирование через `,(0,N.jsx)(t.code,{children:`meta.formatting`}),`, formulas, безопасное pipeline-formatting и optional OData adapter.`]}),`
7
+ `,(0,N.jsxs)(t.p,{children:[`Для перестановки строк передайте `,(0,N.jsx)(t.code,{children:`rowReordering`}),` и разместите `,(0,N.jsx)(t.code,{children:`Sortable.DragHandle`}),` в отдельной колонке. `,(0,N.jsx)(t.code,{children:`Table`}),` сохраняет единые стили строк и подключает pointer/keyboard DnD, а потребитель владеет обновлением порядка данных.`]}),`
8
+ `,(0,N.jsx)(t.pre,{children:(0,N.jsx)(t.code,{className:`language-tsx`,children:`import { Sortable } from "@ryuzaki13/react-foundation-ui/sortable";
9
+ import { Table } from "@ryuzaki13/react-foundation-ui/table";
10
+
11
+ const columns = [
12
+ {
13
+ id: "reorder",
14
+ header: "Порядок",
15
+ cell: ({ row }) => <Sortable.DragHandle as="button" title={\`Переместить \${row.original.name}\`} />
16
+ },
17
+ { id: "name", accessorKey: "name", header: "Название" }
18
+ ];
19
+
20
+ <Table
21
+ data={rows}
22
+ columns={columns}
23
+ getRowId={(row) => row.id}
24
+ rowReordering={{ onReorder: setRows }}
25
+ />;
26
+ `})}),`
27
+ `,(0,N.jsx)(t.h2,{id:`основной-сценарий`,children:`Основной сценарий`}),`
28
+ `,(0,N.jsx)(f,{}),`
29
+ `,(0,N.jsx)(i,{of:O}),`
30
+ `,(0,N.jsx)(t.pre,{children:(0,N.jsx)(t.code,{className:`language-tsx`,children:`import { Table, type TableColumnDef } from "@ryuzaki13/react-foundation-ui";
31
+
32
+ interface DealRow {
33
+ id: string;
34
+ number: string;
35
+ client: string;
36
+ amount: string;
37
+ }
38
+
39
+ const columns: TableColumnDef<DealRow>[] = [
40
+ {
41
+ id: "number",
42
+ accessorKey: "number",
43
+ header: "Номер",
44
+ meta: { width: "9em" }
45
+ },
46
+ {
47
+ id: "client",
48
+ accessorKey: "client",
49
+ header: "Клиент",
50
+ meta: { width: "14em" }
51
+ },
52
+ {
53
+ id: "amount",
54
+ accessorKey: "amount",
55
+ header: "Сумма",
56
+ meta: { width: "10em", align: "right" }
57
+ }
58
+ ];
59
+
60
+ export function Example({ rows }: { rows: DealRow[] }) {
61
+ return <Table data={rows} columns={columns} getRowId={(row) => row.id} selectionMode="single" height="20em" />;
62
+ }
63
+ `})}),`
64
+ `,(0,N.jsx)(t.h2,{id:`форматирование-ячеек`,children:`Форматирование ячеек`}),`
65
+ `,(0,N.jsxs)(t.p,{children:[(0,N.jsx)(t.code,{children:`meta.formatting`}),` добавляет к колонке декларативный runtime-контракт:`]}),`
66
+ `,(0,N.jsxs)(t.ul,{children:[`
67
+ `,(0,N.jsxs)(t.li,{children:[`typed formatting по `,(0,N.jsx)(t.code,{children:`role/type`}),`;`]}),`
68
+ `,(0,N.jsx)(t.li,{children:`formula-based вычисление значения;`}),`
69
+ `,(0,N.jsxs)(t.li,{children:[`pipeline display-formatting (`,(0,N.jsx)(t.code,{children:`normalizeLeadingZeros`}),`, `,(0,N.jsx)(t.code,{children:`resolveValueState`}),`, `,(0,N.jsx)(t.code,{children:`typedValueFormat`}),`);`]}),`
70
+ `,(0,N.jsxs)(t.li,{children:[(0,N.jsx)(t.code,{children:`emptyWhenZero`}),` для скрытия нулевых значений;`]}),`
71
+ `,(0,N.jsxs)(t.li,{children:[(0,N.jsx)(t.code,{children:`overflowTooltip`}),` для длинного текста.`]}),`
72
+ `]}),`
73
+ `,(0,N.jsx)(t.p,{children:`Важно:`}),`
74
+ `,(0,N.jsxs)(t.ul,{children:[`
75
+ `,(0,N.jsxs)(t.li,{children:[(0,N.jsx)(t.code,{children:`meta.formatting`}),` применяется только если у колонки нет кастомного `,(0,N.jsx)(t.code,{children:`cell`}),`;`]}),`
76
+ `,(0,N.jsx)(t.li,{children:`formulas и pipeline компилируются один раз на снимок колонок;`}),`
77
+ `,(0,N.jsxs)(t.li,{children:[`ошибки formula/pipeline не роняют таблицу и не подставляют универсальный `,(0,N.jsx)(t.code,{children:`0`}),`;`]}),`
78
+ `,(0,N.jsxs)(t.li,{children:[`OData adapter остаётся внешней прослойкой, а не частью `,(0,N.jsx)(t.code,{children:`Table`}),`.`]}),`
79
+ `]}),`
80
+ `,(0,N.jsx)(t.pre,{children:(0,N.jsx)(t.code,{className:`language-tsx`,children:`const columns: TableColumnDef<Row>[] = [
81
+ {
82
+ id: "amount",
83
+ accessorKey: "amount",
84
+ header: "Сумма",
85
+ meta: {
86
+ align: "right",
87
+ formatting: {
88
+ role: "measure",
89
+ type: "decimal",
90
+ emptyWhenZero: true
91
+ }
92
+ }
93
+ }
94
+ ];
95
+ `})}),`
96
+ `,(0,N.jsxs)(t.p,{children:[`Для OData-сценариев можно не прописывать `,(0,N.jsx)(t.code,{children:`role/type`}),` вручную, а обогатить колонки через adapter:`]}),`
97
+ `,(0,N.jsx)(t.pre,{children:(0,N.jsx)(t.code,{className:`language-tsx`,children:`import { enrichTableColumnsWithODataFormatting } from "@ryuzaki13/react-foundation-lib/table";
98
+
99
+ const columns = enrichTableColumnsWithODataFormatting(manualColumns, metadata.columns);
100
+ `})}),`
101
+ `,(0,N.jsx)(t.h2,{id:`слияние-дубликатов`,children:`Слияние дубликатов`}),`
102
+ `,(0,N.jsxs)(t.p,{children:[(0,N.jsx)(t.code,{children:`meta.mergeDuplicates`}),` включает display-only слияние подряд идущих одинаковых raw-значений без изменения структуры строк.`]}),`
103
+ `,(0,N.jsx)(t.p,{children:`Важно:`}),`
104
+ `,(0,N.jsxs)(t.ul,{children:[`
105
+ `,(0,N.jsxs)(t.li,{children:[`сравнение идёт по `,(0,N.jsx)(t.code,{children:`cell.getValue()`}),`, а не по formatted display;`]}),`
106
+ `,(0,N.jsx)(t.li,{children:`объединяются только подряд идущие строки;`}),`
107
+ `,(0,N.jsxs)(t.li,{children:[(0,N.jsx)(t.code,{children:`null`}),`, `,(0,N.jsx)(t.code,{children:`undefined`}),` и пустая строка `,(0,N.jsx)(t.code,{children:`""`}),` не объединяются;`]}),`
108
+ `,(0,N.jsx)(t.li,{children:`повторяющееся значение остаётся только в первой строке группы, а ниже рендерятся пустые ячейки;`}),`
109
+ `,(0,N.jsx)(t.li,{children:`если сервер не отсортировал данные так, чтобы дубликаты шли подряд, слияния не будет.`}),`
110
+ `]}),`
111
+ `,(0,N.jsx)(t.pre,{children:(0,N.jsx)(t.code,{className:`language-tsx`,children:`const columns: TableColumnDef<Row>[] = [
112
+ {
113
+ id: "division",
114
+ accessorKey: "division",
115
+ header: "Дивизион",
116
+ meta: {
117
+ mergeDuplicates: true
118
+ }
119
+ }
120
+ ];
121
+ `})}),`
122
+ `,(0,N.jsxs)(t.h2,{id:`хук-useodatatablecolumns`,children:[`Хук `,(0,N.jsx)(t.code,{children:`useODataTableColumns`})]}),`
123
+ `,(0,N.jsxs)(t.p,{children:[`Наиболее частый кейс - работать не с pure-helper напрямую, а с hook-слоем `,(0,N.jsx)(t.code,{children:`useODataTableColumns(...)`}),`.`]}),`
124
+ `,(0,N.jsxs)(t.p,{children:[(0,N.jsx)(t.code,{children:`build`}),` стоит выбирать, когда колонки можно полностью собрать из `,(0,N.jsx)(t.code,{children:`metadata.columns`}),`:`]}),`
125
+ `,(0,N.jsx)(t.pre,{children:(0,N.jsx)(t.code,{className:`language-tsx`,children:`import { useODataTableColumns } from "@ryuzaki13/react-foundation-api/odata";
126
+ import { Table } from "@ryuzaki13/react-foundation-ui";
127
+
128
+ function DealsTable({ rows }: { rows: DealRow[] }) {
129
+ const { columns, metadata, isLoading } = useODataTableColumns<DealRow>({
130
+ service: "ZSD_SALES_SRV",
131
+ entity: "DealSet",
132
+ mode: "build"
133
+ });
134
+
135
+ return (
136
+ <Table
137
+ title={metadata?.title ?? "Сделки"}
138
+ data={rows}
139
+ columns={columns}
140
+ isLoading={isLoading}
141
+ getRowId={(row) => row.id}
142
+ selectionMode="single"
143
+ />
144
+ );
145
+ }
146
+ `})}),`
147
+ `,(0,N.jsxs)(t.p,{children:[(0,N.jsx)(t.code,{children:`enrich`}),` подходит, когда колонки уже описаны вручную и нужно только дозаполнить `,(0,N.jsx)(t.code,{children:`meta.formatting.role/type`}),`:`]}),`
148
+ `,(0,N.jsx)(t.pre,{children:(0,N.jsx)(t.code,{className:`language-tsx`,children:`import { useODataTableColumns } from "@ryuzaki13/react-foundation-api/odata";
149
+ import { Table } from "@ryuzaki13/react-foundation-ui";
150
+
151
+ const manualColumns: TableColumnDef<DealRow>[] = [
152
+ { id: "product", accessorKey: "product", header: "Позиция" },
153
+ { id: "createdAt", accessorKey: "createdAt", header: "Создано" },
154
+ { id: "totalAmount", accessorKey: "totalAmount", header: "Итог", meta: { align: "right" } }
155
+ ];
156
+
157
+ function DealsTable({ rows }: { rows: DealRow[] }) {
158
+ const { columns, isLoading } = useODataTableColumns<DealRow>({
159
+ service: "ZSD_SALES_SRV",
160
+ entity: "DealSet",
161
+ mode: "enrich",
162
+ columns: manualColumns
163
+ });
164
+
165
+ return <Table data={rows} columns={columns} isLoading={isLoading} getRowId={(row) => row.id} selectionMode="single" />;
166
+ }
167
+ `})}),`
168
+ `,(0,N.jsx)(t.p,{children:`Практическая семантика хука:`}),`
169
+ `,(0,N.jsxs)(t.ul,{children:[`
170
+ `,(0,N.jsxs)(t.li,{children:[(0,N.jsx)(t.code,{children:`columns`}),` уже готовы для прямой передачи в `,(0,N.jsx)(t.code,{children:`Table`}),`;`]}),`
171
+ `,(0,N.jsxs)(t.li,{children:[(0,N.jsx)(t.code,{children:`metadata`}),` можно использовать для заголовка, пустых состояний или дополнительной UI-подписи;`]}),`
172
+ `,(0,N.jsxs)(t.li,{children:[(0,N.jsx)(t.code,{children:`isLoading`}),` нужно прокидывать в `,(0,N.jsx)(t.code,{children:`Table`}),`, чтобы сохранить единое табличное состояние загрузки;`]}),`
173
+ `,(0,N.jsxs)(t.li,{children:[`сам `,(0,N.jsx)(t.code,{children:`Table`}),` остаётся OData-независимым и получает только готовые `,(0,N.jsx)(t.code,{children:`columns`}),`.`]}),`
174
+ `]}),`
175
+ `,(0,N.jsx)(t.h2,{id:`что-важно-знать`,children:`Что важно знать`}),`
176
+ `,(0,N.jsxs)(t.ul,{children:[`
177
+ `,(0,N.jsx)(t.li,{children:`Компонент принимает именно плоский массив строк и не содержит древовидной логики.`}),`
178
+ `,(0,N.jsxs)(t.li,{children:[`Поведение `,(0,N.jsx)(t.code,{children:`selectionMode`}),` идентично `,(0,N.jsx)(t.code,{children:`TreeTable`}),`: `,(0,N.jsx)(t.code,{children:`single`}),` не снимает выбор повторным кликом по уже выбранной строке.`]}),`
179
+ `,(0,N.jsxs)(t.li,{children:[(0,N.jsx)(t.code,{children:`height`}),` и ширины колонок можно задавать строками в `,(0,N.jsx)(t.code,{children:`em`}),`, `,(0,N.jsx)(t.code,{children:`rem`}),`, `,(0,N.jsx)(t.code,{children:`%`}),` и других CSS-единицах; числовые значения трактуются как `,(0,N.jsx)(t.code,{children:`em`}),`.`]}),`
180
+ `,(0,N.jsxs)(t.li,{children:[(0,N.jsx)(t.code,{children:`onReachEnd`}),` срабатывает внутри scroll-контейнера и подходит для постепенной догрузки длинного списка.`]}),`
181
+ `,(0,N.jsxs)(t.li,{children:[(0,N.jsx)(t.code,{children:`Table`}),` не зависит от OData напрямую и продолжает работать на plain local data без metadata.`]}),`
182
+ `]}),`
183
+ `,(0,N.jsx)(t.h2,{id:`сценарии`,children:`Сценарии`}),`
184
+ `,(0,N.jsx)(t.h3,{id:`базовый-режим`,children:`Базовый режим`}),`
185
+ `,(0,N.jsx)(d,{of:O}),`
186
+ `,(0,N.jsx)(t.h3,{id:`перестановка-строк`,children:`Перестановка строк`}),`
187
+ `,(0,N.jsx)(d,{of:y}),`
188
+ `,(0,N.jsx)(t.h3,{id:`left-pinning-столбцов`,children:`Left-pinning столбцов`}),`
189
+ `,(0,N.jsx)(d,{of:h}),`
190
+ `,(0,N.jsx)(t.h3,{id:`множественный-выбор`,children:`Множественный выбор`}),`
191
+ `,(0,N.jsx)(d,{of:m}),`
192
+ `,(0,N.jsx)(t.h3,{id:`строки-с-ограничением-выбора`,children:`Строки с ограничением выбора`}),`
193
+ `,(0,N.jsx)(d,{of:x}),`
194
+ `,(0,N.jsx)(t.h3,{id:`фоновое-обновление-данных`,children:`Фоновое обновление данных`}),`
195
+ `,(0,N.jsx)(d,{of:E}),`
196
+ `,(0,N.jsx)(t.h3,{id:`пустая-таблица`,children:`Пустая таблица`}),`
197
+ `,(0,N.jsx)(d,{of:C}),`
198
+ `,(0,N.jsx)(t.h3,{id:`достижение-конца-списка`,children:`Достижение конца списка`}),`
199
+ `,(0,N.jsx)(d,{of:w}),`
200
+ `,(0,N.jsx)(t.h3,{id:`первичная-загрузка`,children:`Первичная загрузка`}),`
201
+ `,(0,N.jsx)(d,{of:b}),`
202
+ `,(0,N.jsx)(t.h3,{id:`formula-based-колонка`,children:`Formula-based колонка`}),`
203
+ `,(0,N.jsx)(d,{of:g}),`
204
+ `,(0,N.jsx)(t.h3,{id:`pipeline-display-formatting`,children:`Pipeline display-formatting`}),`
205
+ `,(0,N.jsx)(d,{of:k}),`
206
+ `,(0,N.jsx)(t.h3,{id:`скрытие-нулевых-значений`,children:`Скрытие нулевых значений`}),`
207
+ `,(0,N.jsx)(d,{of:_}),`
208
+ `,(0,N.jsx)(t.h3,{id:`слияние-дубликатов-1`,children:`Слияние дубликатов`}),`
209
+ `,(0,N.jsx)(d,{of:T}),`
210
+ `,(0,N.jsx)(t.h3,{id:`odata-metadata-adapter`,children:`OData metadata adapter`}),`
211
+ `,(0,N.jsx)(d,{of:S}),`
212
+ `,(0,N.jsx)(t.h3,{id:`useodatatablecolumns-build`,children:`useODataTableColumns: build`}),`
213
+ `,(0,N.jsx)(d,{of:v}),`
214
+ `,(0,N.jsx)(t.h3,{id:`useodatatablecolumns-enrich`,children:`useODataTableColumns: enrich`}),`
215
+ `,(0,N.jsx)(d,{of:p}),`
216
+ `,(0,N.jsx)(t.h2,{id:`api`,children:`API`}),`
217
+ `,(0,N.jsx)(l,{of:D}),`
218
+ `,(0,N.jsx)(t.h2,{id:`все-stories`,children:`Все stories`}),`
219
+ `,(0,N.jsx)(a,{includePrimary:!1})]})}function M(e={}){let{wrapper:t}={...n(),...e.components};return t?(0,N.jsx)(t,{...e,children:(0,N.jsx)(j,{...e})}):j(e)}var N;function P(){return(P=e((()=>{N=t(),r(),c(),A()})))()}P();export{M as default};