@ryuzaki13/react-foundation-ui 3.10.1 → 3.12.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 (355) hide show
  1. package/README.md +11 -0
  2. package/dist/chunks/{TextEditorLexicalClient-Cj6yjCGm.js → TextEditorLexicalClient-apy-Cugj.js} +101 -101
  3. package/dist/chunks/{TextEditorLexicalClient-Cj6yjCGm.js.map → TextEditorLexicalClient-apy-Cugj.js.map} +1 -1
  4. package/dist/floating-windows/FloatingWindow.d.ts +19 -0
  5. package/dist/floating-windows/FloatingWindow.d.ts.map +1 -0
  6. package/dist/floating-windows/FloatingWindowHeader.d.ts +14 -0
  7. package/dist/floating-windows/FloatingWindowHeader.d.ts.map +1 -0
  8. package/dist/floating-windows/FloatingWindows.d.ts +16 -0
  9. package/dist/floating-windows/FloatingWindows.d.ts.map +1 -0
  10. package/dist/floating-windows/FloatingWindowsBoundary.d.ts +10 -0
  11. package/dist/floating-windows/FloatingWindowsBoundary.d.ts.map +1 -0
  12. package/dist/floating-windows/FloatingWindowsProvider.d.ts +11 -0
  13. package/dist/floating-windows/FloatingWindowsProvider.d.ts.map +1 -0
  14. package/dist/floating-windows/index.d.ts +4 -0
  15. package/dist/floating-windows/index.d.ts.map +1 -0
  16. package/dist/floating-windows/index.js +576 -0
  17. package/dist/floating-windows/index.js.map +1 -0
  18. package/dist/floating-windows/lib/constrainFloatingWindowPosition.d.ts +8 -0
  19. package/dist/floating-windows/lib/constrainFloatingWindowPosition.d.ts.map +1 -0
  20. package/dist/floating-windows/lib/floatingWindowsStorage.d.ts +10 -0
  21. package/dist/floating-windows/lib/floatingWindowsStorage.d.ts.map +1 -0
  22. package/dist/floating-windows/lib/getFloatingWindowStyle.d.ts +5 -0
  23. package/dist/floating-windows/lib/getFloatingWindowStyle.d.ts.map +1 -0
  24. package/dist/floating-windows/lib/isFloatingWindowId.d.ts +3 -0
  25. package/dist/floating-windows/lib/isFloatingWindowId.d.ts.map +1 -0
  26. package/dist/floating-windows/lib/selectFloatingWindowCascadePosition.d.ts +8 -0
  27. package/dist/floating-windows/lib/selectFloatingWindowCascadePosition.d.ts.map +1 -0
  28. package/dist/floating-windows/lib/selectFloatingWindowRestoreFocus.d.ts +3 -0
  29. package/dist/floating-windows/lib/selectFloatingWindowRestoreFocus.d.ts.map +1 -0
  30. package/dist/floating-windows/model/FloatingWindowsContext.d.ts +4 -0
  31. package/dist/floating-windows/model/FloatingWindowsContext.d.ts.map +1 -0
  32. package/dist/floating-windows/model/createFloatingWindowsStore.d.ts +8 -0
  33. package/dist/floating-windows/model/createFloatingWindowsStore.d.ts.map +1 -0
  34. package/dist/floating-windows/model/floatingWindowMoveTypes.d.ts +27 -0
  35. package/dist/floating-windows/model/floatingWindowMoveTypes.d.ts.map +1 -0
  36. package/dist/floating-windows/model/floatingWindowsTypes.d.ts +40 -0
  37. package/dist/floating-windows/model/floatingWindowsTypes.d.ts.map +1 -0
  38. package/dist/floating-windows/model/useFloatingWindowFocus.d.ts +4 -0
  39. package/dist/floating-windows/model/useFloatingWindowFocus.d.ts.map +1 -0
  40. package/dist/floating-windows/model/useFloatingWindowMeasurements.d.ts +5 -0
  41. package/dist/floating-windows/model/useFloatingWindowMeasurements.d.ts.map +1 -0
  42. package/dist/floating-windows/model/useFloatingWindowMove.d.ts +4 -0
  43. package/dist/floating-windows/model/useFloatingWindowMove.d.ts.map +1 -0
  44. package/dist/floating-windows/model/useFloatingWindowSnapshot.d.ts +4 -0
  45. package/dist/floating-windows/model/useFloatingWindowSnapshot.d.ts.map +1 -0
  46. package/dist/floating-windows/model/useFloatingWindowsBounds.d.ts +4 -0
  47. package/dist/floating-windows/model/useFloatingWindowsBounds.d.ts.map +1 -0
  48. package/dist/floating-windows/model/useFloatingWindowsPersistence.d.ts +4 -0
  49. package/dist/floating-windows/model/useFloatingWindowsPersistence.d.ts.map +1 -0
  50. package/dist/floating-windows/model/useFloatingWindowsStore.d.ts +4 -0
  51. package/dist/floating-windows/model/useFloatingWindowsStore.d.ts.map +1 -0
  52. package/dist/notifications/index.js +9 -9
  53. package/dist/styles.css +1 -1
  54. package/dist/text-editor/TextEditorLexicalViewer.d.ts +10 -0
  55. package/dist/text-editor/TextEditorLexicalViewer.d.ts.map +1 -0
  56. package/dist/text-editor/index.d.ts +1 -0
  57. package/dist/text-editor/index.d.ts.map +1 -1
  58. package/dist/text-editor/index.js +298 -7
  59. package/dist/text-editor/index.js.map +1 -1
  60. package/dist/text-editor/lib/viewer/getTextEditorViewerElementStyle.d.ts +5 -0
  61. package/dist/text-editor/lib/viewer/getTextEditorViewerElementStyle.d.ts.map +1 -0
  62. package/dist/text-editor/lib/viewer/parseTextEditorViewerDocument.d.ts +4 -0
  63. package/dist/text-editor/lib/viewer/parseTextEditorViewerDocument.d.ts.map +1 -0
  64. package/dist/text-editor/lib/viewer/resolveTextEditorViewerLink.d.ts +3 -0
  65. package/dist/text-editor/lib/viewer/resolveTextEditorViewerLink.d.ts.map +1 -0
  66. package/dist/text-editor/model/textEditorViewerTypes.d.ts +58 -0
  67. package/dist/text-editor/model/textEditorViewerTypes.d.ts.map +1 -0
  68. package/dist/text-editor/ui/viewer/TextEditorViewerNode.d.ts +7 -0
  69. package/dist/text-editor/ui/viewer/TextEditorViewerNode.d.ts.map +1 -0
  70. package/dist/text-editor/ui/viewer/TextEditorViewerText.d.ts +8 -0
  71. package/dist/text-editor/ui/viewer/TextEditorViewerText.d.ts.map +1 -0
  72. package/package.json +5 -1
  73. package/storybook-static/assets/{Badge-7nsS5Yyj.js → Badge-Dn4r-dgK.js} +1 -1
  74. package/storybook-static/assets/{Badge.stories-BzQKeDqC.js → Badge.stories-C8jgD6Tm.js} +1 -1
  75. package/storybook-static/assets/{BadgeList-WzFV9MB1.js → BadgeList-DoZGQ7qG.js} +1 -1
  76. package/storybook-static/assets/{BarcodeScannerDialog.stories-Ci8Mf9WX.js → BarcodeScannerDialog.stories-SWsYyoae.js} +1 -1
  77. package/storybook-static/assets/{Button-DqsSng-I.js → Button-BHqigqOj.js} +1 -1
  78. package/storybook-static/assets/{Button-6F3OVyTc.js → Button-DLYgesJU.js} +1 -1
  79. package/storybook-static/assets/{Button.stories-PNc3lIYB.js → Button.stories-B-YCCpsv.js} +1 -1
  80. package/storybook-static/assets/{CalendarView-BT9X9tky.js → CalendarView-DC9-KqBg.js} +1 -1
  81. package/storybook-static/assets/{CheckBox-BJhTyl1K.js → CheckBox-A1DE9OKH.js} +1 -1
  82. package/storybook-static/assets/{CheckBox-BasxUZYS.js → CheckBox-BhDEikPn.js} +1 -1
  83. package/storybook-static/assets/{CheckBox.stories-DLRA5q3H.js → CheckBox.stories-CCwPabOj.js} +1 -1
  84. package/storybook-static/assets/Color-6AOWCN3U-CZ7Lqth4.js +1 -0
  85. package/storybook-static/assets/{ContextMenu-BckwURZg.js → ContextMenu-C7QDzxj5.js} +1 -1
  86. package/storybook-static/assets/{ContextMenu-OOsbvmOa.js → ContextMenu-snDFBA5B.js} +1 -1
  87. package/storybook-static/assets/{ContextMenu.stories-BD-wMDNw.js → ContextMenu.stories-DmQHbLWt.js} +1 -1
  88. package/storybook-static/assets/{DateInput-DT6btAWU.js → DateInput-BkVJLdmV.js} +1 -1
  89. package/storybook-static/assets/{DateInput-B5MxQUHL.js → DateInput-DLOTW8zG.js} +1 -1
  90. package/storybook-static/assets/{DateInput.stories-BK2brwe_.js → DateInput.stories-DNMVE7-m.js} +1 -1
  91. package/storybook-static/assets/{DateRangePresetSelect-gRdIuTx9.js → DateRangePresetSelect-Aswl3yfO.js} +1 -1
  92. package/storybook-static/assets/{DateRangePresetSelect-Dplr79Cm.js → DateRangePresetSelect-FZ5Wqp5Q.js} +1 -1
  93. package/storybook-static/assets/{DateRangePresetSelect.stories-BRksGdxw.js → DateRangePresetSelect.stories-D7j1ye-X.js} +1 -1
  94. package/storybook-static/assets/{DeprecatedMultiSelect-1MSPac-V.js → DeprecatedMultiSelect-BrU5iHiB.js} +1 -1
  95. package/storybook-static/assets/{DeprecatedMultiSelect-BOxmEW2D.js → DeprecatedMultiSelect-DZm42dZe.js} +1 -1
  96. package/storybook-static/assets/{DeprecatedMultiSelect.stories-Ax0zv6Kb.js → DeprecatedMultiSelect.stories-DX5gJVg8.js} +1 -1
  97. package/storybook-static/assets/{Detail-_5TyqOha.js → Detail-Dm2OB35c.js} +1 -1
  98. package/storybook-static/assets/{Detail.stories-CJbeEBiY.js → Detail.stories-ChjIDw9R.js} +1 -1
  99. package/storybook-static/assets/{Dialog-HBOYhMQq.js → Dialog-5Bjs3MIP.js} +1 -1
  100. package/storybook-static/assets/{Dialog-BodfEiIi.js → Dialog-CppiFu4m.js} +1 -1
  101. package/storybook-static/assets/{Dialog.stories-Ds4F0ZoJ.js → Dialog.stories-DNKVgKJf.js} +1 -1
  102. package/storybook-static/assets/{Disclosure-BbvtIOyN.js → Disclosure-B_rE1zlW.js} +1 -1
  103. package/storybook-static/assets/{Disclosure.stories-CnSK79hZ.js → Disclosure.stories-ATxKR5IU.js} +1 -1
  104. package/storybook-static/assets/{DisclosureGroup-Dd0BeL4o.js → DisclosureGroup-ClweT22a.js} +1 -1
  105. package/storybook-static/assets/{DocsRenderer-JROSPFPF-BX-ThlFg.js → DocsRenderer-JROSPFPF-m7QPTTWT.js} +1 -1
  106. package/storybook-static/assets/{DropZone-DPqYieZH.js → DropZone-C6Qx5YnY.js} +1 -1
  107. package/storybook-static/assets/{DropZone-CCkHaYAD.js → DropZone-CEnjaRlb.js} +1 -1
  108. package/storybook-static/assets/{DropZone.stories-lfKkNIIl.js → DropZone.stories-8b7TFwCV.js} +1 -1
  109. package/storybook-static/assets/{DropdownMenu-QWp-lSol.js → DropdownMenu-BvqYqsyj.js} +1 -1
  110. package/storybook-static/assets/{ExpandableActionPanel-DxPp3zYd.js → ExpandableActionPanel-DfZA1lTx.js} +1 -1
  111. package/storybook-static/assets/{ExpandableActionPanel.stories-BiklI55p.js → ExpandableActionPanel.stories-Bq2XMot-.js} +1 -1
  112. package/storybook-static/assets/{Flex-S4mwRnc2.js → Flex-BFGhhseF.js} +1 -1
  113. package/storybook-static/assets/{Flex.stories-DRBLrgrW.js → Flex.stories-Ct2TXMNG.js} +1 -1
  114. package/storybook-static/assets/{FlexContainer-4Ap7vbIt.js → FlexContainer-DNTMFsKB.js} +1 -1
  115. package/storybook-static/assets/{FlexItem-Dwqi7KeT.js → FlexItem-DdZg96Tw.js} +1 -1
  116. package/storybook-static/assets/{FloatingPopover-D8FScEoc.js → FloatingPopover-Qm2OYQyi.js} +1 -1
  117. package/storybook-static/assets/FloatingWindows-C2FJO6ij.css +1 -0
  118. package/storybook-static/assets/FloatingWindows.stories-DSXleet4.js +13 -0
  119. package/storybook-static/assets/FormattedTableCell-Cfdl2sgg.js +15 -0
  120. package/storybook-static/assets/{Grid-CJ5RLrgv.js → Grid-DF06uQ48.js} +1 -1
  121. package/storybook-static/assets/{Grid-DIYjEdUA.js → Grid-DlctIqYo.js} +1 -1
  122. package/storybook-static/assets/{Grid.stories-Bl35lMkU.js → Grid.stories-CqMEpZ8C.js} +1 -1
  123. package/storybook-static/assets/{GridContainer-B2iAnXeB.js → GridContainer-BlkGC1Ti.js} +1 -1
  124. package/storybook-static/assets/{ImageCropper.stories--E79MUTS.js → ImageCropper.stories-GlDzLRHa.js} +1 -1
  125. package/storybook-static/assets/{ImageRenderer-D0stahXz.js → ImageRenderer-DKVKzwts.js} +1 -1
  126. package/storybook-static/assets/{ImageRenderer.stories-C_Ir6A3m.js → ImageRenderer.stories-D5Ot_LFG.js} +1 -1
  127. package/storybook-static/assets/{ImageView.stories-DbY7pwWs.js → ImageView.stories-t9WED3jc.js} +1 -1
  128. package/storybook-static/assets/{ImageViewer.stories-D2jfTzCV.js → ImageViewer.stories-CTLSla9v.js} +2 -2
  129. package/storybook-static/assets/{ImageViewerRuntime-DlvGnNv4.js → ImageViewerRuntime-B0a-Sycn.js} +1 -1
  130. package/storybook-static/assets/{Input-CzvWPW0I.js → Input-C-RwifM5.js} +1 -1
  131. package/storybook-static/assets/{Input-av5ktymr.js → Input-L7KSl95J.js} +1 -1
  132. package/storybook-static/assets/{Input.stories-CvLnu270.js → Input.stories-RZ8DST5q.js} +1 -1
  133. package/storybook-static/assets/{InputDateTime-D5bQuB9a.js → InputDateTime-C3SMAFaX.js} +1 -1
  134. package/storybook-static/assets/{InputDateTime.stories-BD9Pt7vB.js → InputDateTime.stories-Bo76yqgM.js} +1 -1
  135. package/storybook-static/assets/{InputFile-ulrG6ECh.js → InputFile-ByiVAcXi.js} +1 -1
  136. package/storybook-static/assets/{InputFile-C3nj3qsi.js → InputFile-DeMKgRCz.js} +1 -1
  137. package/storybook-static/assets/{InputFile.stories-CEewSWb_.js → InputFile.stories-C2xolZZp.js} +1 -1
  138. package/storybook-static/assets/{InputFiles-DZ1nUYOE.js → InputFiles-D2X5XwMg.js} +1 -1
  139. package/storybook-static/assets/{InputFiles-lF7Ys1hh.js → InputFiles-DW_A7HZQ.js} +1 -1
  140. package/storybook-static/assets/{InputFiles.stories-CCptKLDn.js → InputFiles.stories-Cy4lGiDs.js} +1 -1
  141. package/storybook-static/assets/{InputFilesList-DTJkMHNI.js → InputFilesList-D-T9k_qj.js} +1 -1
  142. package/storybook-static/assets/{InputImage-lDHbW_ac.js → InputImage-COyE-G8n.js} +1 -1
  143. package/storybook-static/assets/{InputImage-CIPZL6uS.js → InputImage-VviyVqWs.js} +1 -1
  144. package/storybook-static/assets/{InputImage.stories-CQ2BBGf-.js → InputImage.stories-C7PZBPak.js} +1 -1
  145. package/storybook-static/assets/{InteractiveComponents-DD7TZeA4.js → InteractiveComponents-DsXWc2Ba.js} +1 -1
  146. package/storybook-static/assets/{InteractiveComponents.stories-Bbo3l8WO.js → InteractiveComponents.stories-xzIOC6VP.js} +1 -1
  147. package/storybook-static/assets/{LayoutPicker-uw1knHzA.js → LayoutPicker-CEe3rtKw.js} +1 -1
  148. package/storybook-static/assets/{LayoutPicker-A7VlDbc0.js → LayoutPicker-DqauomnH.js} +1 -1
  149. package/storybook-static/assets/{LayoutPicker.stories-DDR6oiSN.js → LayoutPicker.stories-DZS4nX4W.js} +1 -1
  150. package/storybook-static/assets/{Listbox-CmkI7dm_.js → Listbox-DMBqQzvF.js} +1 -1
  151. package/storybook-static/assets/{Listbox-CO1BjyFs.js → Listbox-DcoYj_fu.js} +1 -1
  152. package/storybook-static/assets/{Listbox.stories-BIPmBbuG.js → Listbox.stories-CiEKNklg.js} +1 -1
  153. package/storybook-static/assets/{Modal-C3JdXj6Q.js → Modal-B2NdQSX-.js} +1 -1
  154. package/storybook-static/assets/{Modal-IXMZUaaw.js → Modal-XzWN4rYg.js} +1 -1
  155. package/storybook-static/assets/{Modal.stories-BD-UnVeM.js → Modal.stories-DiO0SJb6.js} +1 -1
  156. package/storybook-static/assets/{ModalManagerProvider-zJVg8-dg.js → ModalManagerProvider-CXZWFJBk.js} +1 -1
  157. package/storybook-static/assets/{MultiSelect-DZKjK53B.js → MultiSelect-Bdo1Sjz8.js} +1 -1
  158. package/storybook-static/assets/{MultiSelect-CGoyA8-m.js → MultiSelect-CIrw0Nez.js} +1 -1
  159. package/storybook-static/assets/{MultiSelect.stories-D65mpYYt.js → MultiSelect.stories-DsYsvZRr.js} +1 -1
  160. package/storybook-static/assets/{MultiSelectCore-ih1pgvuq.js → MultiSelectCore-DVlr9xCh.js} +1 -1
  161. package/storybook-static/assets/{NoData-32gM9qt4.js → NoData-D0rf5MW3.js} +1 -1
  162. package/storybook-static/assets/{NotificationsHost-pkEhxgz2.js → NotificationsHost-BQZaAM-V.js} +9 -9
  163. package/storybook-static/assets/{NotificationsHost.stories-BqIayryx.js → NotificationsHost.stories-DwymJZby.js} +1 -1
  164. package/storybook-static/assets/{ODataMultiSelect-D42gAcHg.js → ODataMultiSelect-DMSWI6tE.js} +1 -1
  165. package/storybook-static/assets/{ODataMultiSelect.stories-DfAkKAsG.js → ODataMultiSelect.stories-B3zztIBx.js} +2 -2
  166. package/storybook-static/assets/{ODataSelect-DPOMWPKO.js → ODataSelect-C7HWF4Mk.js} +1 -1
  167. package/storybook-static/assets/{ODataSelect.stories-DHs3wp7E.js → ODataSelect.stories-BTqluN2n.js} +2 -2
  168. package/storybook-static/assets/{ODataTreeMultiSelect-CC8yuaVP.js → ODataTreeMultiSelect-D1C46tO1.js} +1 -1
  169. package/storybook-static/assets/{ODataTreeMultiSelect.stories-BtwLdGK6.js → ODataTreeMultiSelect.stories-Cau6yuzj.js} +1 -1
  170. package/storybook-static/assets/{ODataTreeSelect-qcitpYxj.js → ODataTreeSelect-DjieOI9n.js} +1 -1
  171. package/storybook-static/assets/{ODataTreeSelect.stories-1r_tkUVi.js → ODataTreeSelect.stories-C2QXdt7d.js} +1 -1
  172. package/storybook-static/assets/{OneStepScroller-wz4Qujpx.js → OneStepScroller-srOmxRQp.js} +1 -1
  173. package/storybook-static/assets/{Option-Beom2xTg.js → Option-7XzYAa1X.js} +1 -1
  174. package/storybook-static/assets/{OptionButton-D_ZCVbsd.js → OptionButton-De2RG5bE.js} +1 -1
  175. package/storybook-static/assets/{OptionContent-FZ-u9L1s.js → OptionContent-J_mD8o8Q.js} +1 -1
  176. package/storybook-static/assets/{OptionContentContainer-HVNOgpjm.js → OptionContentContainer-BMe8XiaH.js} +1 -1
  177. package/storybook-static/assets/{PeriodSelect-qevVtoSU.js → PeriodSelect-BanQI_dT.js} +1 -1
  178. package/storybook-static/assets/{PeriodSelect-DbdeznMQ.js → PeriodSelect-DffdZHTx.js} +1 -1
  179. package/storybook-static/assets/{PeriodSelect.stories-BLi_6rpY.js → PeriodSelect.stories-D_mZIvPa.js} +1 -1
  180. package/storybook-static/assets/{PickerField-BHSRcQY6.js → PickerField-BiRCrEVk.js} +1 -1
  181. package/storybook-static/assets/{PickerTriggerActions-Cxk3YQGF.js → PickerTriggerActions-SYQofxvL.js} +1 -1
  182. package/storybook-static/assets/{Popover-BosMVXTI.js → Popover-CyFO9TsF.js} +1 -1
  183. package/storybook-static/assets/{Popover-De2fvkIB.js → Popover-DVLKhPpI.js} +1 -1
  184. package/storybook-static/assets/{Popover.stories-DM-Plj05.js → Popover.stories-z-_6ttYX.js} +1 -1
  185. package/storybook-static/assets/{PresetRangeDateInput-jersOEYO.js → PresetRangeDateInput-CNwYUovX.js} +1 -1
  186. package/storybook-static/assets/{PresetRangeDateInput-CCQuBkJj.js → PresetRangeDateInput-DusPRYOo.js} +1 -1
  187. package/storybook-static/assets/{PresetRangeDateInput.stories-DwqDWXX9.js → PresetRangeDateInput.stories-C_o_VW2j.js} +1 -1
  188. package/storybook-static/assets/{PresetSelect-BhwHbWmS.js → PresetSelect-CV3zwYQR.js} +1 -1
  189. package/storybook-static/assets/{README-LWfExOhc.js → README-0xXSqDp8.js} +1 -1
  190. package/storybook-static/assets/{README-DmJq-c8n.js → README-2-1qM_na.js} +1 -1
  191. package/storybook-static/assets/{README-B5eMX8_9.js → README-4aHWePja.js} +1 -1
  192. package/storybook-static/assets/{README-DzASMBMv.js → README-7eESTN29.js} +1 -1
  193. package/storybook-static/assets/{README-BzVVPLXk.js → README-B5zjJGVN.js} +1 -1
  194. package/storybook-static/assets/{README-DQl_3tX1.js → README-BG0ZHFMO.js} +1 -1
  195. package/storybook-static/assets/{README-ECCgQcGo.js → README-BJ0oZ6IK.js} +1 -1
  196. package/storybook-static/assets/{README-DT96eoyc.js → README-BaVIhvx2.js} +1 -1
  197. package/storybook-static/assets/{README-1UUrJXjZ.js → README-BdSEAONV.js} +1 -1
  198. package/storybook-static/assets/{README-D_d6frx1.js → README-BgG12pti.js} +1 -1
  199. package/storybook-static/assets/{README-CioPc-xb.js → README-BggXgUKF.js} +1 -1
  200. package/storybook-static/assets/{README-DK5aZdOt.js → README-BjBW3_iS.js} +1 -1
  201. package/storybook-static/assets/{README-DKI2c8YJ.js → README-Bjq-bxH1.js} +1 -1
  202. package/storybook-static/assets/{README-o4PUljT6.js → README-BmcSs4kj.js} +1 -1
  203. package/storybook-static/assets/{README-BPSG9KrB.js → README-Bn7kAPLQ.js} +1 -1
  204. package/storybook-static/assets/{README-bWB0c7pN.js → README-BoQbGA96.js} +1 -1
  205. package/storybook-static/assets/{README-CrhHHw0i.js → README-BwUFmp9h.js} +1 -1
  206. package/storybook-static/assets/{README-CPZBUXWs.js → README-BwvDtGJp.js} +1 -1
  207. package/storybook-static/assets/{README-DeHGaTaW.js → README-BxC_3EeL.js} +1 -1
  208. package/storybook-static/assets/{README-CvReVgGJ.js → README-C-U-dI9P.js} +1 -1
  209. package/storybook-static/assets/{README-D5YLxtgR.js → README-C-e2RqTI.js} +1 -1
  210. package/storybook-static/assets/{README-D09okhy9.js → README-C3-4o6yH.js} +1 -1
  211. package/storybook-static/assets/{README-BNsU3Cqx.js → README-CFpsye1R.js} +1 -1
  212. package/storybook-static/assets/{README-BK8k_Q4m.js → README-CJG1QnZ8.js} +1 -1
  213. package/storybook-static/assets/{README-BD5f1if4.js → README-Cc67rRzO.js} +1 -1
  214. package/storybook-static/assets/{README-BQDFmWGi.js → README-CgHkf8AZ.js} +1 -1
  215. package/storybook-static/assets/{README-DzrrH56m.js → README-CjwjADv4.js} +1 -1
  216. package/storybook-static/assets/{README-CvzdarfH.js → README-CtA0tP_V.js} +1 -1
  217. package/storybook-static/assets/{README-CmzO6bzh.js → README-D0SwEPQG.js} +1 -1
  218. package/storybook-static/assets/{README-sPm51M3K.js → README-D0eHrEQF.js} +1 -1
  219. package/storybook-static/assets/{README-Rk3Krdys.js → README-D8bNkmba.js} +1 -1
  220. package/storybook-static/assets/{README-Cpk-Tr_W.js → README-DCP4ywXT.js} +1 -1
  221. package/storybook-static/assets/{README-CJ6rsYUk.js → README-DEHjbK77.js} +1 -1
  222. package/storybook-static/assets/{README-DNeDK1_H.js → README-DHXjeQQR.js} +1 -1
  223. package/storybook-static/assets/{README-Df8F75dr.js → README-DJsEoOXI.js} +1 -1
  224. package/storybook-static/assets/{README-BCEKAY_J.js → README-DWfKideq.js} +1 -1
  225. package/storybook-static/assets/{README-29WDFTDH.js → README-DZD6wqGT.js} +1 -1
  226. package/storybook-static/assets/{README-CJFgcV8C.js → README-D_V-SEnq.js} +1 -1
  227. package/storybook-static/assets/{README-By0zyJQ-.js → README-DkEysBXh.js} +1 -1
  228. package/storybook-static/assets/{README-33qTnj5l.js → README-DuB9PiOM.js} +1 -1
  229. package/storybook-static/assets/{README-BIvHy4kr.js → README-Duk1AG16.js} +1 -1
  230. package/storybook-static/assets/{README-BKLeD4y3.js → README-DwC2gAZg.js} +1 -1
  231. package/storybook-static/assets/{README-Cz14JUTC.js → README-MX6_MwDQ.js} +1 -1
  232. package/storybook-static/assets/{README-Dc2qBccm.js → README-TaumiOmj.js} +1 -1
  233. package/storybook-static/assets/{README-B_tg7QVI.js → README-_ysKMvAx.js} +1 -1
  234. package/storybook-static/assets/{README-BAlXRtAz.js → README-b_q7W3j3.js} +1 -1
  235. package/storybook-static/assets/{README-B5rmNIab.js → README-gE_kxplo.js} +1 -1
  236. package/storybook-static/assets/{README-DS63ZnOT.js → README-gjTa9tZ_.js} +1 -1
  237. package/storybook-static/assets/{README-NHHRscRF.js → README-p62MFS5g.js} +1 -1
  238. package/storybook-static/assets/{README-CHllxFPj.js → README-swRdnv1f.js} +1 -1
  239. package/storybook-static/assets/{README-BfRKdJtw.js → README-x--9qFul.js} +1 -1
  240. package/storybook-static/assets/{README-O9BJmE-H.js → README-xDqMMO8-.js} +1 -1
  241. package/storybook-static/assets/{README-BoJXfTe6.js → README-xWo3G40o.js} +1 -1
  242. package/storybook-static/assets/{RadioButton-BZiBFXe1.js → RadioButton-B6x2_7or.js} +1 -1
  243. package/storybook-static/assets/{RadioButton-CBLdgMz4.js → RadioButton-CBABLSvE.js} +1 -1
  244. package/storybook-static/assets/{RadioButton.stories-BP5yM5qg.js → RadioButton.stories-DLd7EmuZ.js} +1 -1
  245. package/storybook-static/assets/{RadioGroup-DYRfZVGC.js → RadioGroup-CIaXj3zQ.js} +1 -1
  246. package/storybook-static/assets/{RadioGroup-epjQdSZn.js → RadioGroup-Ce5Irxz3.js} +1 -1
  247. package/storybook-static/assets/{RadioGroup.stories-UOjXIk6v.js → RadioGroup.stories-DKhMElyC.js} +1 -1
  248. package/storybook-static/assets/{ResponsiveLayoutPreview-BHBxtn2W.js → ResponsiveLayoutPreview-Bcojizl4.js} +1 -1
  249. package/storybook-static/assets/{Scrollable-DKQa75cf.js → Scrollable-B5e-IEe8.js} +1 -1
  250. package/storybook-static/assets/{Scrollable-BBYov1Hn.js → Scrollable-BfCUp0BO.js} +1 -1
  251. package/storybook-static/assets/{Scrollable.stories-BH1-i6nI.js → Scrollable.stories-B4IMoipT.js} +1 -1
  252. package/storybook-static/assets/{Select-DU6Eh0Lt.js → Select-CdjYSSyG.js} +1 -1
  253. package/storybook-static/assets/{Select-DYOCTPiv.js → Select-DYHUwcLE.js} +1 -1
  254. package/storybook-static/assets/{Select.stories-BF3svbAH.js → Select.stories-BuaXB6qE.js} +1 -1
  255. package/storybook-static/assets/{Separator-_gvt1sqm.js → Separator-CS6gkWSA.js} +1 -1
  256. package/storybook-static/assets/{Separator-CxviJxG5.js → Separator-D45blL6r.js} +1 -1
  257. package/storybook-static/assets/{Separator.stories-DN6hlZl5.js → Separator.stories-C2GzCEGW.js} +1 -1
  258. package/storybook-static/assets/{SerializableSelect-BVTOrYLs.js → SerializableSelect-7raamiuG.js} +1 -1
  259. package/storybook-static/assets/{SerializableSelect.stories-pcWq603M.js → SerializableSelect.stories-CD0e6DQk.js} +1 -1
  260. package/storybook-static/assets/{ShimmerText-BDDa_Wf7.js → ShimmerText-DkiewbBe.js} +1 -1
  261. package/storybook-static/assets/{ShimmerText.stories-DdZPIKwl.js → ShimmerText.stories-DrXMcGDO.js} +1 -1
  262. package/storybook-static/assets/{SingleDateTimeInput-q-eu2xUU.js → SingleDateTimeInput-BTIgqxH7.js} +1 -1
  263. package/storybook-static/assets/{SingleDateTimeInput-sGTkT8ZA.js → SingleDateTimeInput-Dj_VSvfb.js} +1 -1
  264. package/storybook-static/assets/{SingleDateTimeInput.stories-X7CMAFsq.js → SingleDateTimeInput.stories-CnYFrOUX.js} +1 -1
  265. package/storybook-static/assets/{Slider-CaKY8LIJ.js → Slider-CLE5MSJr.js} +1 -1
  266. package/storybook-static/assets/{Slider-CqNWljkT.js → Slider-D4wvDQDc.js} +1 -1
  267. package/storybook-static/assets/{Slider.stories-CMxutCGM.js → Slider.stories-Cbz3RilT.js} +1 -1
  268. package/storybook-static/assets/{SliderInput-HUUN5_IF.js → SliderInput-AC9oLjGF.js} +1 -1
  269. package/storybook-static/assets/{SliderInput-scYwk-4g.js → SliderInput-DbyDo3fR.js} +1 -1
  270. package/storybook-static/assets/{SliderInput.stories-CDhgeql1.js → SliderInput.stories-69pRH0Uk.js} +1 -1
  271. package/storybook-static/assets/{Sortable-CaysnUNW.js → Sortable-E3DirII-.js} +1 -1
  272. package/storybook-static/assets/{Sortable.stories-C4gHc5ka.js → Sortable.stories-BbmTcem4.js} +1 -1
  273. package/storybook-static/assets/{Splitter-6cU1s7Qr.js → Splitter-DbaIQk2G.js} +1 -1
  274. package/storybook-static/assets/{Splitter.stories-CA9A-CZ-.js → Splitter.stories-HntpFa6w.js} +1 -1
  275. package/storybook-static/assets/{StateSelect-OHl6KWge.js → StateSelect-8r4Qlf4Y.js} +1 -1
  276. package/storybook-static/assets/{StateSelect-BAqjdi4g.js → StateSelect-C7ZIrgDB.js} +1 -1
  277. package/storybook-static/assets/{StateSelect.stories-xX3ujKGO.js → StateSelect.stories-CfUJCQGE.js} +1 -1
  278. package/storybook-static/assets/{StatusIndicator-C_7dWY2t.js → StatusIndicator-IqUZ24rN.js} +1 -1
  279. package/storybook-static/assets/{StatusIndicator.stories-BRlVzKf7.js → StatusIndicator.stories-DhKREzk8.js} +1 -1
  280. package/storybook-static/assets/{StringToggle.stories-DFPLwtHW.js → StringToggle.stories-BOC_AuIw.js} +1 -1
  281. package/storybook-static/assets/{Switch-CrlrIm3t.js → Switch-58npo6H_.js} +1 -1
  282. package/storybook-static/assets/{Switch-DHcMczAC.js → Switch-C4wfyH7_.js} +1 -1
  283. package/storybook-static/assets/{Switch.stories-LhTPX_R-.js → Switch.stories-BpABAFmv.js} +1 -1
  284. package/storybook-static/assets/{Table-Ct8iqJEY.js → Table-RAMtWu9C.js} +1 -1
  285. package/storybook-static/assets/Table.stories-Cth_AbDh.js +184 -0
  286. package/storybook-static/assets/{TableEditor.stories-Qtqr_l4g.js → TableEditor.stories-IfJyun1v.js} +1 -1
  287. package/storybook-static/assets/{Tabs-CC0IIQwl.js → Tabs-CX67nGv0.js} +1 -1
  288. package/storybook-static/assets/{Tabs.stories-Bo_Y-dq8.js → Tabs.stories-6wO9Pmly.js} +1 -1
  289. package/storybook-static/assets/{TabsBox-BMNvHsCH.js → TabsBox-QKS_MMQ0.js} +1 -1
  290. package/storybook-static/assets/{TagInput-BLwbzCit.js → TagInput-R6ANDdvh.js} +1 -1
  291. package/storybook-static/assets/{TagInput.stories-DNcD4tn4.js → TagInput.stories-DAyX89-l.js} +1 -1
  292. package/storybook-static/assets/{Text-Bih-aO3C.js → Text-D3vBpXH0.js} +1 -1
  293. package/storybook-static/assets/TextEditorLexicalViewer-DRQG2UON.css +1 -0
  294. package/storybook-static/assets/TextEditorLexicalViewer.stories-RdypWNwx.js +66 -0
  295. package/storybook-static/assets/{Textarea-DCnLF4aj.js → Textarea-BPtHeqrt.js} +1 -1
  296. package/storybook-static/assets/{Textarea-D3os1biP.js → Textarea-Cio32hA3.js} +1 -1
  297. package/storybook-static/assets/{Textarea.stories-CIFzZQ5Z.js → Textarea.stories-DDVaU3Ho.js} +1 -1
  298. package/storybook-static/assets/{TimePanel-BcVGesht.js → TimePanel-e1drsuDA.js} +1 -1
  299. package/storybook-static/assets/{TimePanel.stories-C6_xVdCq.js → TimePanel.stories-Dze9jjtv.js} +1 -1
  300. package/storybook-static/assets/{Toggle-BD0YAuO2.js → Toggle-BuLJ3UR_.js} +1 -1
  301. package/storybook-static/assets/{Toggle-CtABgcO5.js → Toggle-D8UQ_CuL.js} +1 -1
  302. package/storybook-static/assets/{Toggle.stories-DnTnFcGB.js → Toggle.stories-0wuia83j.js} +1 -1
  303. package/storybook-static/assets/{TreeMultiSelect-DHk_QP2h.js → TreeMultiSelect-Ciy9H9Q3.js} +1 -1
  304. package/storybook-static/assets/{TreeMultiSelect-Bp_Akwgc.js → TreeMultiSelect-QWOfniqX.js} +1 -1
  305. package/storybook-static/assets/{TreeMultiSelect.stories-CBVQbR1c.js → TreeMultiSelect.stories-C5bKUKLA.js} +1 -1
  306. package/storybook-static/assets/{TreePickerBase-BhWXyIoO.js → TreePickerBase-DAld1sj1.js} +1 -1
  307. package/storybook-static/assets/{TreeSelect-HNbghKYG.js → TreeSelect-ANFeSIqw.js} +1 -1
  308. package/storybook-static/assets/{TreeSelect-DleoF0hJ.js → TreeSelect-DKUJycNd.js} +1 -1
  309. package/storybook-static/assets/{TreeSelect.stories-BigcPfEn.js → TreeSelect.stories-BJErYrTv.js} +1 -1
  310. package/storybook-static/assets/{TreeTable-BNkuyFKP.js → TreeTable-DcyUjVXj.js} +1 -1
  311. package/storybook-static/assets/TreeTable.stories-BnyxdNPz.js +138 -0
  312. package/storybook-static/assets/blocks-Bn1nLfdu.js +287 -0
  313. package/storybook-static/assets/{check-DRMDOowi.js → check-DTcQ3CsH.js} +1 -1
  314. package/storybook-static/assets/{chevron-down-D0ohA4RZ.js → chevron-down-CRBjmU7w.js} +1 -1
  315. package/storybook-static/assets/{chevron-left-CLqpYqDQ.js → chevron-left-CBPOblch.js} +1 -1
  316. package/storybook-static/assets/{chevron-right-CXryGzSx.js → chevron-right-Bryg2EIf.js} +1 -1
  317. package/storybook-static/assets/{chunk-W22LQPXL-CxLeSIMq.js → chunk-W22LQPXL-44DPZKTZ.js} +1 -1
  318. package/storybook-static/assets/{circle-alert-l6NwXGUY.js → circle-alert-DviK8puL.js} +1 -1
  319. package/storybook-static/assets/{circle-check-B-r716dD.js → circle-check-B1-l7Oh4.js} +1 -1
  320. package/storybook-static/assets/{contextMenu-Br4n839h.js → contextMenu-DtHQnSjw.js} +1 -1
  321. package/storybook-static/assets/{download-DqFSGBvN.js → download-BuLQijJq.js} +1 -1
  322. package/storybook-static/assets/{floating-ui.react-B-qFeMZZ.js → floating-ui.react-iTaFJp98.js} +1 -1
  323. package/storybook-static/assets/{foundationApi-DxO3oR-c.js → foundationApi-Bjw5h-ru.js} +1 -1
  324. package/storybook-static/assets/{foundationLib-CTFFCQvn.js → foundationLib-BcePCYWP.js} +1 -1
  325. package/storybook-static/assets/{hooks-CAgVZJ-F.js → hooks-CiUB_4kG.js} +1 -1
  326. package/storybook-static/assets/{iframe-E950Ehp0.js → iframe-BvendKJ_.js} +4 -4
  327. package/storybook-static/assets/iframe-BzGX4Usd.js +1 -0
  328. package/storybook-static/assets/{info-Dp6XZGwP.js → info-Dq-9oYHd.js} +1 -1
  329. package/storybook-static/assets/isRecord-DXDTW-jA-CMenzszF.js +1 -0
  330. package/storybook-static/assets/odata-f2MNATrV.js +1 -0
  331. package/storybook-static/assets/{odataStoryFixtures-CDArjyM7.js → odataStoryFixtures-BaKh8qyu.js} +1 -1
  332. package/storybook-static/assets/{react-CGpO0FqR.js → react-B6cO4JYx.js} +1 -1
  333. package/storybook-static/assets/{refresh-cw-dMgbnEda.js → refresh-cw-DmxZlsqm.js} +1 -1
  334. package/storybook-static/assets/{settings-2-CmW1dpao.js → settings-2-CBuqWUWt.js} +1 -1
  335. package/storybook-static/assets/{sortable-D7TAXZBK.js → sortable-BkTzd-5v.js} +1 -1
  336. package/storybook-static/assets/{syntaxhighlighter-QEQV7K2Y-ok7zY4QK.js → syntaxhighlighter-QEQV7K2Y-h6bhL7V7.js} +1 -1
  337. package/storybook-static/assets/{trash-2-5v1tbQ2V.js → trash-2-wTK0eWnF.js} +1 -1
  338. package/storybook-static/assets/{triangle-alert-CVLPpc5j.js → triangle-alert-CD0VXyGn.js} +1 -1
  339. package/storybook-static/assets/{useODataSelectBase-Bkht6gRs.js → useODataSelectBase-keqr2Q3a.js} +1 -1
  340. package/storybook-static/assets/useODataTreeData-BLDGoADN.js +1 -0
  341. package/storybook-static/assets/{usePickerQuery-BmoBHlzm.js → usePickerQuery-BA8NMnw6.js} +1 -1
  342. package/storybook-static/assets/{usePickerTriggerController-Dvt7LsFZ.js → usePickerTriggerController-Ceb5Hrtf.js} +1 -1
  343. package/storybook-static/assets/{x-DZpfbNy0.js → x-CsG3nxct.js} +1 -1
  344. package/storybook-static/iframe.html +2 -2
  345. package/storybook-static/index.json +1 -1
  346. package/storybook-static/project.json +1 -1
  347. package/storybook-static/assets/Color-6AOWCN3U-C4R02nIA.js +0 -1
  348. package/storybook-static/assets/FormattedTableCell-BKSpyxnu.js +0 -15
  349. package/storybook-static/assets/Table.stories-DO30v6VO.js +0 -184
  350. package/storybook-static/assets/TreeTable.stories-Bdx3y7Yb.js +0 -138
  351. package/storybook-static/assets/blocks-DGivDYe5.js +0 -48
  352. package/storybook-static/assets/components-Vmrwp1qC.js +0 -241
  353. package/storybook-static/assets/iframe-dKozSQh6.js +0 -1
  354. package/storybook-static/assets/odata-DuJbgix6.js +0 -1
  355. package/storybook-static/assets/useODataTreeData-DTWPuC9Y.js +0 -1
@@ -0,0 +1,66 @@
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-BvendKJ_.js";import{i as r,r as i}from"./isRecord-DXDTW-jA-CMenzszF.js";import{a,i as o}from"./utils-tg3ibbzi.js";import{t as s}from"./validators-D82aYLRK.js";function c(e){return{textAlign:e.alignment||void 0,marginInlineStart:e.indent?`min(${e.indent} * var(--space-lg), 25%)`:void 0}}function ee(e){if(typeof e!=`string`||e.length===0||/[\s\u0000-\u001f\u007f]/u.test(e)||!URL.canParse(e))return null;let t=new URL(e);return t.protocol!==`http:`&&t.protocol!==`https:`||!t.hostname||t.username||t.password?null:t.href}function l(e){if(!r(e)||!i(e))return null;let t=Reflect.ownKeys(e);if(t.length>x.length)return null;for(let n of t){if(typeof n!=`string`)return null;let t=Object.getOwnPropertyDescriptor(e,n);if(!t||!t.enumerable||!(`value`in t))return null}return e}function u(e,t){return Object.keys(e).every(e=>t.includes(e))}function te(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0&&e<=v&&(e&~v)===0}function d(e,t){return typeof e==`string`&&(t.textUnits+=e.length,t.textUnits<=le)}function f(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>0}function p(e){let t=e.direction,n=e.format,r=e.indent;return t!==null&&t!==`ltr`&&t!==`rtl`||n!==``&&n!==`left`&&n!==`right`&&n!==`center`&&n!==`justify`&&n!==`start`&&n!==`end`||typeof r!=`number`||!Number.isSafeInteger(r)||r<0||r>_||e.textFormat!==void 0&&!te(e.textFormat)||e.textStyle!==void 0&&e.textStyle!==``?null:{direction:t,alignment:n,indent:r}}function m(e){return e.type===`text`||e.type===`linebreak`||e.type===`link`}function ne(e){return e.type===`text`||e.type===`linebreak`}function re(e){return e.type===`paragraph`||e.type===`quote`||e.type===`heading`||e.type===`list`}function ie(e){return e.type===`listitem`}function ae(e){return m(e)||e.type===`list`}function h(e,t,n,r){if(!Array.isArray(e)||Object.getPrototypeOf(e)!==Array.prototype||e.length>g||Reflect.ownKeys(e).length!==e.length+1)return null;let i=[];for(let a=0;a<e.length;a++){let o=Object.getOwnPropertyDescriptor(e,a);if(!o||!(`value`in o))return null;let s=oe(o.value,t,n);if(!s||!r(s))return null;i.push(s)}return i}function oe(e,t,n){if(++t.nodes>g||n>ce)return null;let r=l(e);if(!r||r.version!==1)return null;if(r.type===`text`)return!u(r,[`type`,`version`,`detail`,`format`,`mode`,`style`,`text`])||r.detail!==0||r.mode!==`normal`||r.style!==``||!te(r.format)||!d(r.text,t)?null:{type:`text`,text:r.text,format:r.format};if(r.type===`linebreak`)return u(r,[`type`,`version`])?{type:`linebreak`}:null;let i=p(r);if(!i)return null;switch(r.type){case`paragraph`:case`quote`:{if(!u(r,y))return null;let e=h(r.children,t,n+1,m);return e?{...i,type:r.type,children:e}:null}case`heading`:{if(!u(r,[...y,`tag`]))return null;let e=r.tag;if(e!==`h1`&&e!==`h2`&&e!==`h3`&&e!==`h4`&&e!==`h5`&&e!==`h6`)return null;let a=h(r.children,t,n+1,m);return a?{...i,type:`heading`,tag:e,children:a}:null}case`list`:{if(!u(r,[...y,`listType`,`tag`,`start`])||!f(r.start))return null;let e=r.listType;if(!(e===`bullet`&&r.tag===`ul`||e===`number`&&r.tag===`ol`))return null;let a=h(r.children,t,n+1,ie);return a?{...i,type:`list`,listType:e,start:r.start,children:a}:null}case`listitem`:{if(!u(r,[...y,`value`,`checked`])||!f(r.value)||r.checked!==void 0)return null;let e=h(r.children,t,n+1,ae);return e?{...i,type:`listitem`,value:r.value,children:e}:null}case`link`:case`accessible-link`:{if(!u(r,r.type===`link`?b:x)||!d(r.url,t))return null;let e=ee(r.url);if(!e||r.target!==null&&r.target!==void 0&&r.target!==`_self`&&r.target!==`_blank`||r.rel!==void 0&&r.rel!==null&&!d(r.rel,t)||r.title!==void 0&&r.title!==null&&!d(r.title,t)||r.type===`accessible-link`&&(r.qrCode!==void 0&&r.qrCode!==!1||r.add!==void 0&&r.add!==null||r.text!==void 0&&r.text!==null&&!d(r.text,t)||r.ariaLabel!==void 0&&r.ariaLabel!==null&&!d(r.ariaLabel,t)))return null;let a=h(r.children,t,n+1,ne);return a?{...i,type:`link`,url:e,target:r.target===`_blank`?`_blank`:`_self`,ariaLabel:typeof r.ariaLabel==`string`?r.ariaLabel:null,title:typeof r.title==`string`?r.title:null,children:a}:null}default:return null}}function se(e){let t=l(e);if(!t||!u(t,[`format`,`version`,`editorState`])||t.format!==`lexical`||t.version!==1)return S;let n=l(t.editorState);if(!n||!u(n,[`root`]))return S;let r=l(n.root);if(!r||!u(r,y)||r.type!==`root`||r.version!==1)return S;let i=p(r);if(!i)return S;let a=h(r.children,{nodes:1,textUnits:0},1,re);return a?{status:`valid`,element:i,children:a}:S}var g,ce,le,_,v,y,b,x,S;function C(){return(C=e((()=>{s(),g=1e4,ce=32,le=1e6,_=32,v=255,y=[`type`,`version`,`children`,`direction`,`format`,`indent`,`textFormat`,`textStyle`],b=[...y,`url`,`target`,`rel`,`title`],x=[...b,`ariaLabel`,`qrCode`,`add`,`text`],S={status:`invalid`}})))()}var ue,w;function T(){return(T=e((()=>{ue=`IFCV0m`,w={viewer:ue}})))()}function de({node:e}){let t=e.text;return e.format&1&&(t=(0,E.jsx)(`strong`,{children:t})),e.format&2&&(t=(0,E.jsx)(`em`,{children:t})),e.format&8&&(t=(0,E.jsx)(`u`,{children:t})),e.format&4&&(t=(0,E.jsx)(`s`,{children:t})),e.format&16&&(t=(0,E.jsx)(`code`,{children:t})),e.format&128&&(t=(0,E.jsx)(`mark`,{children:t})),e.format&32&&(t=(0,E.jsx)(`sub`,{children:t})),e.format&64&&(t=(0,E.jsx)(`sup`,{children:t})),t}var E;function D(){return(D=e((()=>{E=n()})))()}function O({node:e}){if(e.type===`text`)return(0,k.jsx)(de,{node:e});if(e.type===`linebreak`)return(0,k.jsx)(`br`,{});let t=e.children.map((e,t)=>(0,k.jsx)(O,{node:e},t)),n={dir:e.direction??void 0,style:c(e)};switch(e.type){case`paragraph`:return(0,k.jsx)(`p`,{...n,children:t.length?t:(0,k.jsx)(`br`,{})});case`quote`:return(0,k.jsx)(`blockquote`,{...n,children:t});case`heading`:{let r=e.tag;return(0,k.jsx)(r,{...n,children:t})}case`link`:return(0,k.jsx)(`a`,{...n,href:e.url,target:e.target,rel:e.target===`_blank`?`noopener noreferrer`:void 0,"aria-label":e.ariaLabel??void 0,title:e.title??void 0,children:t});case`list`:return e.listType===`number`?(0,k.jsx)(`ol`,{...n,start:e.start,children:t}):(0,k.jsx)(`ul`,{...n,children:t});case`listitem`:return(0,k.jsx)(`li`,{...n,value:e.value,"data-nested-list":e.children.length===1&&e.children[0]?.type===`list`?`true`:void 0,children:t})}}var k;function A(){return(A=e((()=>{D(),k=n(),O.__docgenInfo={description:`Все tags и DOM props заданы renderer: исходные attributes не распространяются в JSX.`,methods:[],displayName:`TextEditorViewerNode`}})))()}function j({raw:e,className:t,fallback:n=`Содержимое недоступно для отображения.`}){let r=(0,M.useMemo)(()=>se(e),[e]);return r.status===`invalid`?(0,N.jsx)(`div`,{className:a(w.viewer,t),"data-text-editor-viewer":`unsupported`,children:n}):(0,N.jsx)(`div`,{className:a(w.viewer,t),"data-text-editor-viewer":`ready`,dir:r.element.direction??void 0,style:c(r.element),children:r.children.map((e,t)=>(0,N.jsx)(O,{node:e},t))})}var M,N;function P(){return(P=e((()=>{M=t(),o(),C(),T(),A(),N=n(),j.__docgenInfo={description:`Читает immutable raw без editor instance; SSR и браузер используют одну безопасную проекцию.`,methods:[],displayName:`TextEditorLexicalViewer`,props:{fallback:{defaultValue:{value:`"Содержимое недоступно для отображения."`,computed:!1},required:!1}}}})))()}var F,I;function L(){return(L=e((()=>{F=`-rhzJm`,I={narrow:F}})))()}function R(e,t=0){return{type:`text`,version:1,detail:0,format:t,mode:`normal`,style:``,text:e}}function z(e){return{format:`lexical`,version:1,editorState:{root:{...B,type:`root`,children:e}}}}var B,V,H,U,W,G,K;function fe(){return(fe=e((()=>{B={direction:null,format:``,indent:0,version:1},V=z([{...B,type:`heading`,tag:`h2`,children:[R(`Сохранённый документ`)]},{...B,type:`paragraph`,children:[R(`Обычный текст, `),R(`жирный`,1),R(`, `),R(`курсив`,2),R(`, `),R(`подчёркнутый`,8),R(` и `),R(`зачёркнутый`,4),R(`.`),{type:`linebreak`,version:1},R(`Код: `),R(`const answer = 42`,16),R(`. `),R(`Важная мысль выделена`,128),R(`. Индексы: H`),R(`2`,32),R(`O и x`),R(`2`,64),R(`.`),{type:`linebreak`,version:1},R(`Сочетание жирного, курсива и подчёркивания`,11)]},{...B,type:`quote`,children:[R(`Это просмотр сохранённого документа: ввод, курсор редактора и панель инструментов отсутствуют.`)]},{...B,type:`paragraph`,format:`right`,children:[R(`Выравнивание берётся только из поддерживаемого профиля.`)]}]),H=z([{...B,type:`heading`,tag:`h2`,children:[R(`Вложенность и нумерация`)]},{...B,type:`list`,listType:`number`,tag:`ol`,start:4,children:[{...B,type:`listitem`,value:4,children:[R(`Список начинается с четвёртого пункта.`)]},{...B,type:`listitem`,value:5,children:[{...B,type:`list`,listType:`bullet`,tag:`ul`,start:1,children:[{...B,type:`listitem`,value:1,children:[R(`Вложенный маркированный пункт.`)]},{...B,type:`listitem`,value:2,children:[{...B,type:`list`,listType:`number`,tag:`ol`,start:7,children:[{...B,type:`listitem`,value:7,children:[R(`Третий уровень: номер семь.`)]},{...B,type:`listitem`,value:9,children:[R(`Явный value сохраняет номер девять.`)]}]}]}]}]},{...B,type:`listitem`,value:8,children:[R(`Явный value возвращает внешний список к номеру восемь.`)]}]}]),U=z([{...B,type:`paragraph`,children:[R(`Абсолютная HTTPS-ссылка: `),{...B,type:`accessible-link`,url:`https://example.com/document`,target:`_blank`,rel:null,title:null,ariaLabel:`Пример документа — новая вкладка`,qrCode:!1,add:null,text:null,children:[R(`Пример документа`,1)]},R(`. При переходе откроется новая вкладка с защитным rel.`),{type:`linebreak`,version:1},R(`HTTP-ссылка в текущей вкладке: `),{...B,type:`accessible-link`,url:`http://example.com/reference`,target:`_self`,rel:null,title:null,ariaLabel:null,qrCode:!1,add:null,text:null,children:[R(`Справочный пример`)]}]}]),W=z([{...B,type:`heading`,tag:`h3`,children:[R(`Длинный текст в узкой области`)]},{...B,type:`paragraph`,children:[R(`Обычный текст переносится внутри доступной ширины без изменения сохранённых данных. `.repeat(6))]},{...B,type:`paragraph`,children:[R(`ОченьДлиннаяПоследовательностьБезПробелов`.repeat(8))]},{...B,type:`paragraph`,children:[R(`long_identifier_without_whitespace_`.repeat(6),16)]}]),G=z([{...B,type:`paragraph`,children:[R(`Этот фрагмент не должен появляться частично.`)]},{type:`unsupported-node`,version:1}]),K=z([])})))()}var q,pe,J,Y,X,Z,Q,$,me;function he(){return(he=e((()=>{P(),L(),fe(),q=n(),pe={title:`Text/TextEditorLexicalViewer`,component:j,args:{raw:V},parameters:{atomicCanvas:!0,layout:`padded`,controls:{disable:!0},docs:{description:{component:`Просмотр immutable TextEditorLexicalRaw без создания редактора и без HTML injection. Сервер и браузер строят одно семантическое дерево. Неизвестный или небезопасный документ целиком заменяется fallback. Поддерживаемый профиль и ограничения находятся в src/text-editor/README.md. Компонент не проверяет права доступа и не заменяет валидацию записи приложения.`}}},argTypes:{raw:{description:`Сериализованный immutable snapshot. Для обновления передайте новый объект.`,control:!1},className:{description:`Класс корневого элемента, например для ограничения ширины области чтения.`,control:!1},fallback:{description:`Содержимое вместо всего неподдерживаемого документа; не используется для корректного пустого документа.`,control:!1}}},J={name:`Текст и все inline-форматы`},Y={name:`Вложенные списки и нумерация`,args:{raw:H},parameters:{docs:{description:{story:`Внешний список начинается с 4, вложенный — с 7. Явные value сохраняют номера 8 и 9; обёртки вложенных списков не создают дополнительных маркеров.`}}}},X={name:`HTTP(S) accessible-link`,args:{raw:U},parameters:{docs:{description:{story:`Две ссылки из сериализованного accessible-link. Рендер не загружает ресурсы и не выполняет переход; переход возможен только при активации ссылки пользователем. Для новой вкладки viewer выставляет noopener noreferrer.`}}}},Z={name:`Узкая область и длинные строки`,args:{raw:W,className:I.narrow},parameters:{docs:{description:{story:`Ширина ограничена областью consumer. Проверьте обычные абзацы, непрерывное слово и inline code на узком viewport в светлой и тёмной темах.`}}}},Q={name:`Явный fallback неизвестного документа`,args:{raw:G,fallback:(0,q.jsx)(`p`,{role:`status`,children:`Документ содержит неподдерживаемый узел. Частичное содержимое не отображается.`})},parameters:{docs:{description:{story:`Корректный первый абзац намеренно соседствует с неизвестным узлом: вместо частичного документа показывается только заданный fallback.`}}}},$={name:`Корректный пустой документ`,args:{raw:K,fallback:(0,q.jsx)(`p`,{role:`status`,children:`Этот fallback не должен появиться для пустого документа.`})},parameters:{docs:{description:{story:`Пустой root допустим: viewer не создаёт текст-заглушку, не открывает editor и не показывает fallback.`}}}},J.parameters={...J.parameters,docs:{...J.parameters?.docs,source:{originalSource:`{
2
+ name: "Текст и все inline-форматы"
3
+ }`,...J.parameters?.docs?.source}}},Y.parameters={...Y.parameters,docs:{...Y.parameters?.docs,source:{originalSource:`{
4
+ name: "Вложенные списки и нумерация",
5
+ args: {
6
+ raw: nestedListsViewerStoryRaw
7
+ },
8
+ parameters: {
9
+ docs: {
10
+ description: {
11
+ story: "Внешний список начинается с 4, вложенный — с 7. Явные value сохраняют номера 8 и 9; обёртки вложенных списков не создают дополнительных маркеров."
12
+ }
13
+ }
14
+ }
15
+ }`,...Y.parameters?.docs?.source}}},X.parameters={...X.parameters,docs:{...X.parameters?.docs,source:{originalSource:`{
16
+ name: "HTTP(S) accessible-link",
17
+ args: {
18
+ raw: accessibleLinksViewerStoryRaw
19
+ },
20
+ parameters: {
21
+ docs: {
22
+ description: {
23
+ story: "Две ссылки из сериализованного accessible-link. Рендер не загружает ресурсы и не выполняет переход; переход возможен только при активации ссылки пользователем. Для новой вкладки viewer выставляет noopener noreferrer."
24
+ }
25
+ }
26
+ }
27
+ }`,...X.parameters?.docs?.source}}},Z.parameters={...Z.parameters,docs:{...Z.parameters?.docs,source:{originalSource:`{
28
+ name: "Узкая область и длинные строки",
29
+ args: {
30
+ raw: narrowContentViewerStoryRaw,
31
+ className: styles.narrow
32
+ },
33
+ parameters: {
34
+ docs: {
35
+ description: {
36
+ story: "Ширина ограничена областью consumer. Проверьте обычные абзацы, непрерывное слово и inline code на узком viewport в светлой и тёмной темах."
37
+ }
38
+ }
39
+ }
40
+ }`,...Z.parameters?.docs?.source}}},Q.parameters={...Q.parameters,docs:{...Q.parameters?.docs,source:{originalSource:`{
41
+ name: "Явный fallback неизвестного документа",
42
+ args: {
43
+ raw: unsupportedViewerStoryRaw,
44
+ fallback: <p role="status">Документ содержит неподдерживаемый узел. Частичное содержимое не отображается.</p>
45
+ },
46
+ parameters: {
47
+ docs: {
48
+ description: {
49
+ story: "Корректный первый абзац намеренно соседствует с неизвестным узлом: вместо частичного документа показывается только заданный fallback."
50
+ }
51
+ }
52
+ }
53
+ }`,...Q.parameters?.docs?.source}}},$.parameters={...$.parameters,docs:{...$.parameters?.docs,source:{originalSource:`{
54
+ name: "Корректный пустой документ",
55
+ args: {
56
+ raw: emptyViewerStoryRaw,
57
+ fallback: <p role="status">Этот fallback не должен появиться для пустого документа.</p>
58
+ },
59
+ parameters: {
60
+ docs: {
61
+ description: {
62
+ story: "Пустой root допустим: viewer не создаёт текст-заглушку, не открывает editor и не показывает fallback."
63
+ }
64
+ }
65
+ }
66
+ }`,...$.parameters?.docs?.source}}},me=[`RichText`,`NestedLists`,`AccessibleLinks`,`NarrowContent`,`UnsupportedDocument`,`EmptyDocument`]})))()}he();export{X as AccessibleLinks,$ as EmptyDocument,Z as NarrowContent,Y as NestedLists,J as RichText,Q as UnsupportedDocument,me as __namedExportsOrder,pe as default};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-E950Ehp0.js";import{a as n,i as r}from"./utils-tg3ibbzi.js";import{n as i,t as a}from"./ui.module-l7VCYIW-.js";import{d as o,l as s,s as c,u as l}from"./Input-CzvWPW0I.js";var u,d;function f(){return(f=e((()=>{u=`TjY2iu`,d={textarea:u}})))()}function p({label:e,description:t,className:r,disabled:a,size:s,value:l,onChange:u,error:f,onClearError:p,id:h,...g}){let{controlId:_,labelId:v,descriptionId:y,errorId:b,describedBy:x}=o({id:h,hasLabel:e!=null,hasDescription:!!t,hasError:!!f});return(0,m.jsx)(c,{label:e,description:t,disabled:a,required:g.required,size:s,error:f,controlId:_,labelId:v,descriptionId:y,errorId:b,children:(0,m.jsx)(`textarea`,{...g,id:_,disabled:a,value:l,"aria-invalid":!!f||void 0,"aria-labelledby":v,"aria-describedby":x,"data-invalid":f?``:void 0,className:n(i.uiControl,d.textarea,`scrollable`,r),onChange:e=>{u?.(e.target.value),f&&p&&p()}})})}var m;function h(){return(h=e((()=>{r(),s(),l(),a(),f(),m=t(),p.__docgenInfo={description:`Многострочное текстовое поле для ввода свободного текста. Поддерживает подпись, описание, ошибки и единый визуальный стиль формы.`,methods:[],displayName:`Textarea`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},error:{required:!1,tsType:{name:`string`},description:``},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``}},composes:[`Omit`]}})))()}export{h as n,p as t};
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-BvendKJ_.js";import{a as n,i as r}from"./utils-tg3ibbzi.js";import{n as i,t as a}from"./ui.module-l7VCYIW-.js";import{d as o,l as s,s as c,u as l}from"./Input-C-RwifM5.js";var u,d;function f(){return(f=e((()=>{u=`TjY2iu`,d={textarea:u}})))()}function p({label:e,description:t,className:r,disabled:a,size:s,value:l,onChange:u,error:f,onClearError:p,id:h,...g}){let{controlId:_,labelId:v,descriptionId:y,errorId:b,describedBy:x}=o({id:h,hasLabel:e!=null,hasDescription:!!t,hasError:!!f});return(0,m.jsx)(c,{label:e,description:t,disabled:a,required:g.required,size:s,error:f,controlId:_,labelId:v,descriptionId:y,errorId:b,children:(0,m.jsx)(`textarea`,{...g,id:_,disabled:a,value:l,"aria-invalid":!!f||void 0,"aria-labelledby":v,"aria-describedby":x,"data-invalid":f?``:void 0,className:n(i.uiControl,d.textarea,`scrollable`,r),onChange:e=>{u?.(e.target.value),f&&p&&p()}})})}var m;function h(){return(h=e((()=>{r(),s(),l(),a(),f(),m=t(),p.__docgenInfo={description:`Многострочное текстовое поле для ввода свободного текста. Поддерживает подпись, описание, ошибки и единый визуальный стиль формы.`,methods:[],displayName:`Textarea`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},error:{required:!1,tsType:{name:`string`},description:``},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``}},composes:[`Omit`]}})))()}export{h as n,p as t};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-E950Ehp0.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-DGivDYe5.js";import{a as p,i as m,n as h,r as g,t as _}from"./Textarea.stories-CIFzZQ5Z.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-BvendKJ_.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-Bn1nLfdu.js";import{a as p,i as m,n as h,r as g,t as _}from"./Textarea.stories-DDVaU3Ho.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:`Textarea`}),`
3
3
  `,(0,b.jsx)(o,{children:`Многострочное текстовое поле для описаний, комментариев и заметок`}),`
4
4
  `,(0,b.jsx)(t.p,{children:`Textarea уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
@@ -1,4 +1,4 @@
1
- import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-E950Ehp0.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./Textarea-DCnLF4aj.js";var s=t({Controlled:()=>d,Disabled:()=>p,WithValue:()=>f,__namedExportsOrder:()=>m,default:()=>u}),c,l,u,d,f,p,m;function h(){return(h=e((()=>{r(),a(),c=n(),l=i((e,t)=>(0,c.jsx)(o,{...e,value:e.value??``,onChange:n=>{e.onChange?.(n),t({value:n})},onClearError:()=>{e.onClearError?.(),t({error:void 0})}})),u={title:`UI/Textarea`,component:o,args:{label:`Комментарий`,description:`Оставьте примечание к документу.`,placeholder:`Введите текст...`,disabled:!1,value:``,onChange:()=>void 0},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок текстовой области.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Плейсхолдер поля ввода.`,control:`text`},value:{description:`Текущее значение текстовой области.`,control:`text`},onChange:{description:`Вызывается при изменении текста.`,control:!1},error:{description:`Текст ошибки под полем.`,control:`text`},onClearError:{description:`Вызывается при вводе для сброса внешней ошибки.`,control:!1},disabled:{description:`Блокирует редактирование.`,control:`boolean`},size:{description:`Размер поля и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},d={args:{value:`Первичный комментарий`},render:l},f={args:{value:`Шаблонный текст для редактирования.`},render:l},p={args:{disabled:!0,value:`Редактирование недоступно.`},render:l},d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
1
+ import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-BvendKJ_.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./Textarea-BPtHeqrt.js";var s=t({Controlled:()=>d,Disabled:()=>p,WithValue:()=>f,__namedExportsOrder:()=>m,default:()=>u}),c,l,u,d,f,p,m;function h(){return(h=e((()=>{r(),a(),c=n(),l=i((e,t)=>(0,c.jsx)(o,{...e,value:e.value??``,onChange:n=>{e.onChange?.(n),t({value:n})},onClearError:()=>{e.onClearError?.(),t({error:void 0})}})),u={title:`UI/Textarea`,component:o,args:{label:`Комментарий`,description:`Оставьте примечание к документу.`,placeholder:`Введите текст...`,disabled:!1,value:``,onChange:()=>void 0},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Заголовок текстовой области.`,control:`text`},description:{description:`Описание под заголовком.`,control:`text`},placeholder:{description:`Плейсхолдер поля ввода.`,control:`text`},value:{description:`Текущее значение текстовой области.`,control:`text`},onChange:{description:`Вызывается при изменении текста.`,control:!1},error:{description:`Текст ошибки под полем.`,control:`text`},onClearError:{description:`Вызывается при вводе для сброса внешней ошибки.`,control:!1},disabled:{description:`Блокирует редактирование.`,control:`boolean`},size:{description:`Размер поля и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},d={args:{value:`Первичный комментарий`},render:l},f={args:{value:`Шаблонный текст для редактирования.`},render:l},p={args:{disabled:!0,value:`Редактирование недоступно.`},render:l},d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
2
2
  args: {
3
3
  value: "Первичный комментарий"
4
4
  },
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-E950Ehp0.js";import{a as r,i}from"./utils-tg3ibbzi.js";import{g as a,s as o}from"./odata-service-CWkHASdw-DAt28ZWr.js";import{h as s,m as c}from"./formatters-DVE1YVNQ-CJCkXjuI.js";import{i as l,r as u}from"./date-segments-DeoMkKv9.js";function d(e=0,t=0){return c(S,C,w,e,t,0,0)}function f(e=`date-time`){return e===`time`?x:b}function p(e,t=`date-time`){if(e==null)return null;let n=o(e);return n?t===`time`?d(n.getHours(),n.getMinutes()):n:null}function m(e,t,n,r=`date-time`){let i=p(e,r);if(!i)return!1;if(r===`time`){let e=i.getHours()*60+i.getMinutes(),r=t?p(t,`time`):null,a=n?p(n,`time`):null;return!(r&&e<r.getHours()*60+r.getMinutes()||a&&e>a.getHours()*60+a.getMinutes())}return!(t&&i<t||n&&i>n)}function h(e,t){let n=p(t),r=n?.getHours()??0,i=n?.getMinutes()??0;return c(e.getFullYear(),e.getMonth(),e.getDate(),r,i,0,0)}function g(e,t,n,r=`date-time`){return r===`time`?d(t,n):c(e.getFullYear(),e.getMonth(),e.getDate(),t,n,0,0)}function _(e,t,n=`date-time`){return n===`time`?p(e,`time`)??d():p(e,n)??t}function v(e,t,n,r=`date-time`){let i=p(e,r)??e,a=t?p(t,r):null,o=n?p(n,r):null,s=!!a&&i.getFullYear()===a.getFullYear()&&i.getMonth()===a.getMonth()&&i.getDate()===a.getDate(),c=!!o&&i.getFullYear()===o.getFullYear()&&i.getMonth()===o.getMonth()&&i.getDate()===o.getDate(),l=s?a.getHours():0,u=c?o.getHours():23,d=s&&l===u?a.getMinutes():0,f=c&&l===u?o.getMinutes():59,m=l>u||l===u&&d>f;return{disabled:m,minHour:l,maxHour:u,minMinuteByHour:e=>m?0:s&&e===l?a.getMinutes():0,maxMinuteByHour:e=>m?59:c&&e===u?o.getMinutes():59}}function y(e,t,n,r,i,a=`date-time`){let o=v(e,r,i,a);if(o.disabled)return{hours:0,minutes:0};let s=Math.min(Math.max(t,o.minHour),o.maxHour),c=o.minMinuteByHour(s),l=o.maxMinuteByHour(s);return{hours:s,minutes:Math.min(Math.max(n,c),l)}}var b,x,S,C,w;function T(){return(T=e((()=>{u(),s(),a(),b=`dd.MM.yyyy HH:mm`,x=`HH:mm`,S=1970,C=0,w=1,l(x)})))()}function ee(e,t,n,r=`date-time`){let i=v(e,t,n,r),a=e.getHours(),o=e.getMinutes(),s=i.minMinuteByHour(a),c=i.maxMinuteByHour(a);return i.disabled?{disabled:!0,selectedHour:a,selectedMinute:o,hours:[],minutes:[]}:{disabled:!1,selectedHour:a,selectedMinute:o,hours:Array.from({length:i.maxHour-i.minHour+1},(e,t)=>i.minHour+t),minutes:Array.from({length:c-s+1},(e,t)=>s+t)}}function E(){return(E=e((()=>{T()})))()}function D(e,t){return t<=0||e<0?0:e>t-1?t-1:e}function te(e,t){return!Number.isFinite(e)||e<=0?t:Math.max(e,t)}function ne(e,t){return Math.max(1,Math.round(e/Math.max(1,t)))}function re(e,t){return Math.max(0,Math.round(e/2-t/2))}function O(e,t){return Math.max(0,Math.round(e*t))}function ie(e,t,n){return n<=0||t<=0?0:D(Math.round(e/t),n)}var k,A,j,M,N,P,F;function I(){return(I=e((()=>{k=`GLhdJ6`,A=`_2xLNL2`,j=`dgX32S`,M=`WfOtQ9`,N=`XIdSMi`,P=`_--Hsbk`,F={wheelPicker:k,viewport:A,scroller:j,items:M,item:N,selectionFrame:P}})))()}function L({items:e,value:t,onChange:n,ariaLabel:i,disabled:a,className:o,minHeight:s=B,visibleRows:c=V,formatItem:l,getItemKey:u}){let d=(0,R.useRef)(null),f=(0,R.useRef)(null),p=(0,R.useRef)(null),m=(0,R.useMemo)(()=>Math.max(0,e.findIndex(e=>Object.is(e,t))),[e,t]),[h,g]=(0,R.useState)(0),_=te(h,s),v=ne(_,c),y=re(_,v),b=(0,R.useRef)(m),x=(0,R.useCallback)(e=>Math.round(e.clientHeight),[]),S=(0,R.useCallback)(()=>{let t=f.current;if(!t||e.length===0)return;let r=ie(t.scrollTop,v,e.length);t.scrollTo({top:O(r,v),behavior:`smooth`}),r!==b.current&&(b.current=r,n(e[r]))},[v,e,n]),C=(0,R.useCallback)(()=>{p.current!==null&&window.clearTimeout(p.current),p.current=window.setTimeout(()=>{p.current=null,S()},H)},[S]);(0,R.useEffect)(()=>{let e=d.current;if(!e||typeof ResizeObserver>`u`)return;let t=e=>{g(t=>t===e?t:e)},n=new ResizeObserver(n=>{let r=n[0],i=Math.round(r?.contentRect.height??x(e));t(i)});return n.observe(e),t(x(e)),()=>n.disconnect()},[x]),(0,R.useEffect)(()=>{let t=f.current;if(!t||e.length===0)return;let n=D(m,e.length);b.current=n,t.scrollTo({top:O(n,v),behavior:`auto`})},[v,e.length,m]),(0,R.useEffect)(()=>{let e=f.current;if(!e)return;let t=()=>{a||C()},n=t=>{a||(t.preventDefault(),e.scrollTop+=t.deltaY,C())};return e.addEventListener(`scroll`,t,{passive:!0}),e.addEventListener(`wheel`,n,{passive:!1}),()=>{e.removeEventListener(`scroll`,t),e.removeEventListener(`wheel`,n)}},[a,e,n,C]),(0,R.useEffect)(()=>()=>{p.current!==null&&window.clearTimeout(p.current)},[]);let w=t=>{if(a||e.length===0||t.key!==`ArrowUp`&&t.key!==`ArrowDown`)return;t.preventDefault();let r=t.key===`ArrowUp`?-1:1,i=D(m+r,e.length);i!==m&&(b.current=i,n(e[i]))},T={"--wheel-picker-min-height":`${s}px`,"--wheel-picker-viewport-height":`${_}px`,"--wheel-picker-item-height":`${v}px`,"--wheel-picker-edge-padding":`${y}px`};return(0,z.jsx)(`div`,{ref:d,className:r(F.wheelPicker,o),style:T,children:(0,z.jsxs)(`div`,{className:F.viewport,children:[(0,z.jsx)(`div`,{ref:f,className:F.scroller,role:`listbox`,tabIndex:a?-1:0,"aria-label":i,"aria-disabled":a||void 0,onKeyDown:w,children:(0,z.jsx)(`div`,{className:F.items,children:e.map((e,t)=>{let r=t===m;return(0,z.jsx)(`button`,{type:`button`,role:`option`,"aria-selected":r,className:F.item,"data-selected":r?``:void 0,disabled:a,onClick:()=>{b.current=t,n(e)},children:l?.(e)??String(e)},u?.(e,t)??t)})})}),(0,z.jsx)(`div`,{className:F.selectionFrame,"aria-hidden":`true`})]})})}var R,z,B,V,H;function U(){return(U=e((()=>{R=t(),i(),I(),z=n(),B=192,V=7,H=96,L.__docgenInfo={description:`Внутренний wheel-picker со snap-кареткой по центру и блокировкой page scroll.`,methods:[],displayName:`WheelPicker`,props:{items:{required:!0,tsType:{name:`unknown`},description:``},value:{required:!0,tsType:{name:`T`},description:``},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`T`},name:`value`}],return:{name:`void`}}},description:``},ariaLabel:{required:!0,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},className:{required:!1,tsType:{name:`string`},description:``},minHeight:{required:!1,tsType:{name:`number`},description:``,defaultValue:{value:`192`,computed:!1}},visibleRows:{required:!1,tsType:{name:`number`},description:``,defaultValue:{value:`7`,computed:!1}},formatItem:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(item: T) => ReactNode`,signature:{arguments:[{type:{name:`T`},name:`item`}],return:{name:`ReactNode`}}},description:``},getItemKey:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(item: T, index: number) => Key`,signature:{arguments:[{type:{name:`T`},name:`item`},{type:{name:`number`},name:`index`}],return:{name:`Key`}}},description:``}}}})))()}var W,G,K,q,J,Y,X;function Z(){return(Z=e((()=>{W=`_5-SSnO`,G=`s1NHua`,K=`KQC9-8`,q=`WDu02W`,J=`_9mEhfD`,Y=`N-Fzjk`,X={timePanel:W,hint:G,fields:K,field:q,label:J,wheel:Y}})))()}function Q({value:e,disabled:t,minDate:n,maxDate:r,mode:i=`date-time`,onChange:a}){let o=ee(e,n,r,i),s=e=>String(e).padStart(2,`0`);return o.disabled?(0,$.jsx)(`div`,{className:X.timePanel,children:(0,$.jsx)(`p`,{className:X.hint,children:`Для выбранного дня нет доступного времени в заданном диапазоне.`})}):(0,$.jsx)(`div`,{className:X.timePanel,children:(0,$.jsxs)(`div`,{className:X.fields,children:[(0,$.jsxs)(`label`,{className:X.field,children:[(0,$.jsx)(`span`,{className:X.label,children:`Часы`}),(0,$.jsx)(L,{className:X.wheel,items:o.hours,value:o.selectedHour,onChange:e=>a(e,o.selectedMinute),ariaLabel:`Выбор часов`,disabled:t,formatItem:s})]}),(0,$.jsxs)(`label`,{className:X.field,children:[(0,$.jsx)(`span`,{className:X.label,children:`Минуты`}),(0,$.jsx)(L,{className:X.wheel,items:o.minutes,value:o.selectedMinute,onChange:e=>a(o.selectedHour,e),ariaLabel:`Выбор минут`,disabled:t,formatItem:s})]})]})})}var $;function ae(){return(ae=e((()=>{U(),E(),Z(),$=n(),Q.__docgenInfo={description:`Переиспользуемая панель выбора времени поверх internal wheel-picker.`,methods:[],displayName:`TimePanel`,props:{value:{required:!0,tsType:{name:`Date`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},minDate:{required:!1,tsType:{name:`Date`},description:``},maxDate:{required:!1,tsType:{name:`Date`},description:``},mode:{required:!1,tsType:{name:`union`,raw:`"date-time" | "time"`,elements:[{name:`literal`,value:`"date-time"`},{name:`literal`,value:`"time"`}]},description:``,defaultValue:{value:`"date-time"`,computed:!1}},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(hours: number, minutes: number) => void`,signature:{arguments:[{type:{name:`number`},name:`hours`},{type:{name:`number`},name:`minutes`}],return:{name:`void`}}},description:``}}}})))()}export{f as a,h as c,_ as d,d as i,g as l,ae as n,T as o,y as r,m as s,Q as t,p as u};
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-BvendKJ_.js";import{a as r,i}from"./utils-tg3ibbzi.js";import{g as a,s as o}from"./odata-service-CWkHASdw-DAt28ZWr.js";import{h as s,m as c}from"./formatters-DVE1YVNQ-CJCkXjuI.js";import{i as l,r as u}from"./date-segments-DeoMkKv9.js";function d(e=0,t=0){return c(S,C,w,e,t,0,0)}function f(e=`date-time`){return e===`time`?x:b}function p(e,t=`date-time`){if(e==null)return null;let n=o(e);return n?t===`time`?d(n.getHours(),n.getMinutes()):n:null}function m(e,t,n,r=`date-time`){let i=p(e,r);if(!i)return!1;if(r===`time`){let e=i.getHours()*60+i.getMinutes(),r=t?p(t,`time`):null,a=n?p(n,`time`):null;return!(r&&e<r.getHours()*60+r.getMinutes()||a&&e>a.getHours()*60+a.getMinutes())}return!(t&&i<t||n&&i>n)}function h(e,t){let n=p(t),r=n?.getHours()??0,i=n?.getMinutes()??0;return c(e.getFullYear(),e.getMonth(),e.getDate(),r,i,0,0)}function g(e,t,n,r=`date-time`){return r===`time`?d(t,n):c(e.getFullYear(),e.getMonth(),e.getDate(),t,n,0,0)}function _(e,t,n=`date-time`){return n===`time`?p(e,`time`)??d():p(e,n)??t}function v(e,t,n,r=`date-time`){let i=p(e,r)??e,a=t?p(t,r):null,o=n?p(n,r):null,s=!!a&&i.getFullYear()===a.getFullYear()&&i.getMonth()===a.getMonth()&&i.getDate()===a.getDate(),c=!!o&&i.getFullYear()===o.getFullYear()&&i.getMonth()===o.getMonth()&&i.getDate()===o.getDate(),l=s?a.getHours():0,u=c?o.getHours():23,d=s&&l===u?a.getMinutes():0,f=c&&l===u?o.getMinutes():59,m=l>u||l===u&&d>f;return{disabled:m,minHour:l,maxHour:u,minMinuteByHour:e=>m?0:s&&e===l?a.getMinutes():0,maxMinuteByHour:e=>m?59:c&&e===u?o.getMinutes():59}}function y(e,t,n,r,i,a=`date-time`){let o=v(e,r,i,a);if(o.disabled)return{hours:0,minutes:0};let s=Math.min(Math.max(t,o.minHour),o.maxHour),c=o.minMinuteByHour(s),l=o.maxMinuteByHour(s);return{hours:s,minutes:Math.min(Math.max(n,c),l)}}var b,x,S,C,w;function T(){return(T=e((()=>{u(),s(),a(),b=`dd.MM.yyyy HH:mm`,x=`HH:mm`,S=1970,C=0,w=1,l(x)})))()}function ee(e,t,n,r=`date-time`){let i=v(e,t,n,r),a=e.getHours(),o=e.getMinutes(),s=i.minMinuteByHour(a),c=i.maxMinuteByHour(a);return i.disabled?{disabled:!0,selectedHour:a,selectedMinute:o,hours:[],minutes:[]}:{disabled:!1,selectedHour:a,selectedMinute:o,hours:Array.from({length:i.maxHour-i.minHour+1},(e,t)=>i.minHour+t),minutes:Array.from({length:c-s+1},(e,t)=>s+t)}}function E(){return(E=e((()=>{T()})))()}function D(e,t){return t<=0||e<0?0:e>t-1?t-1:e}function te(e,t){return!Number.isFinite(e)||e<=0?t:Math.max(e,t)}function ne(e,t){return Math.max(1,Math.round(e/Math.max(1,t)))}function re(e,t){return Math.max(0,Math.round(e/2-t/2))}function O(e,t){return Math.max(0,Math.round(e*t))}function ie(e,t,n){return n<=0||t<=0?0:D(Math.round(e/t),n)}var k,A,j,M,N,P,F;function I(){return(I=e((()=>{k=`GLhdJ6`,A=`_2xLNL2`,j=`dgX32S`,M=`WfOtQ9`,N=`XIdSMi`,P=`_--Hsbk`,F={wheelPicker:k,viewport:A,scroller:j,items:M,item:N,selectionFrame:P}})))()}function L({items:e,value:t,onChange:n,ariaLabel:i,disabled:a,className:o,minHeight:s=B,visibleRows:c=V,formatItem:l,getItemKey:u}){let d=(0,R.useRef)(null),f=(0,R.useRef)(null),p=(0,R.useRef)(null),m=(0,R.useMemo)(()=>Math.max(0,e.findIndex(e=>Object.is(e,t))),[e,t]),[h,g]=(0,R.useState)(0),_=te(h,s),v=ne(_,c),y=re(_,v),b=(0,R.useRef)(m),x=(0,R.useCallback)(e=>Math.round(e.clientHeight),[]),S=(0,R.useCallback)(()=>{let t=f.current;if(!t||e.length===0)return;let r=ie(t.scrollTop,v,e.length);t.scrollTo({top:O(r,v),behavior:`smooth`}),r!==b.current&&(b.current=r,n(e[r]))},[v,e,n]),C=(0,R.useCallback)(()=>{p.current!==null&&window.clearTimeout(p.current),p.current=window.setTimeout(()=>{p.current=null,S()},H)},[S]);(0,R.useEffect)(()=>{let e=d.current;if(!e||typeof ResizeObserver>`u`)return;let t=e=>{g(t=>t===e?t:e)},n=new ResizeObserver(n=>{let r=n[0],i=Math.round(r?.contentRect.height??x(e));t(i)});return n.observe(e),t(x(e)),()=>n.disconnect()},[x]),(0,R.useEffect)(()=>{let t=f.current;if(!t||e.length===0)return;let n=D(m,e.length);b.current=n,t.scrollTo({top:O(n,v),behavior:`auto`})},[v,e.length,m]),(0,R.useEffect)(()=>{let e=f.current;if(!e)return;let t=()=>{a||C()},n=t=>{a||(t.preventDefault(),e.scrollTop+=t.deltaY,C())};return e.addEventListener(`scroll`,t,{passive:!0}),e.addEventListener(`wheel`,n,{passive:!1}),()=>{e.removeEventListener(`scroll`,t),e.removeEventListener(`wheel`,n)}},[a,e,n,C]),(0,R.useEffect)(()=>()=>{p.current!==null&&window.clearTimeout(p.current)},[]);let w=t=>{if(a||e.length===0||t.key!==`ArrowUp`&&t.key!==`ArrowDown`)return;t.preventDefault();let r=t.key===`ArrowUp`?-1:1,i=D(m+r,e.length);i!==m&&(b.current=i,n(e[i]))},T={"--wheel-picker-min-height":`${s}px`,"--wheel-picker-viewport-height":`${_}px`,"--wheel-picker-item-height":`${v}px`,"--wheel-picker-edge-padding":`${y}px`};return(0,z.jsx)(`div`,{ref:d,className:r(F.wheelPicker,o),style:T,children:(0,z.jsxs)(`div`,{className:F.viewport,children:[(0,z.jsx)(`div`,{ref:f,className:F.scroller,role:`listbox`,tabIndex:a?-1:0,"aria-label":i,"aria-disabled":a||void 0,onKeyDown:w,children:(0,z.jsx)(`div`,{className:F.items,children:e.map((e,t)=>{let r=t===m;return(0,z.jsx)(`button`,{type:`button`,role:`option`,"aria-selected":r,className:F.item,"data-selected":r?``:void 0,disabled:a,onClick:()=>{b.current=t,n(e)},children:l?.(e)??String(e)},u?.(e,t)??t)})})}),(0,z.jsx)(`div`,{className:F.selectionFrame,"aria-hidden":`true`})]})})}var R,z,B,V,H;function U(){return(U=e((()=>{R=t(),i(),I(),z=n(),B=192,V=7,H=96,L.__docgenInfo={description:`Внутренний wheel-picker со snap-кареткой по центру и блокировкой page scroll.`,methods:[],displayName:`WheelPicker`,props:{items:{required:!0,tsType:{name:`unknown`},description:``},value:{required:!0,tsType:{name:`T`},description:``},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`T`},name:`value`}],return:{name:`void`}}},description:``},ariaLabel:{required:!0,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},className:{required:!1,tsType:{name:`string`},description:``},minHeight:{required:!1,tsType:{name:`number`},description:``,defaultValue:{value:`192`,computed:!1}},visibleRows:{required:!1,tsType:{name:`number`},description:``,defaultValue:{value:`7`,computed:!1}},formatItem:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(item: T) => ReactNode`,signature:{arguments:[{type:{name:`T`},name:`item`}],return:{name:`ReactNode`}}},description:``},getItemKey:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(item: T, index: number) => Key`,signature:{arguments:[{type:{name:`T`},name:`item`},{type:{name:`number`},name:`index`}],return:{name:`Key`}}},description:``}}}})))()}var W,G,K,q,J,Y,X;function Z(){return(Z=e((()=>{W=`_5-SSnO`,G=`s1NHua`,K=`KQC9-8`,q=`WDu02W`,J=`_9mEhfD`,Y=`N-Fzjk`,X={timePanel:W,hint:G,fields:K,field:q,label:J,wheel:Y}})))()}function Q({value:e,disabled:t,minDate:n,maxDate:r,mode:i=`date-time`,onChange:a}){let o=ee(e,n,r,i),s=e=>String(e).padStart(2,`0`);return o.disabled?(0,$.jsx)(`div`,{className:X.timePanel,children:(0,$.jsx)(`p`,{className:X.hint,children:`Для выбранного дня нет доступного времени в заданном диапазоне.`})}):(0,$.jsx)(`div`,{className:X.timePanel,children:(0,$.jsxs)(`div`,{className:X.fields,children:[(0,$.jsxs)(`label`,{className:X.field,children:[(0,$.jsx)(`span`,{className:X.label,children:`Часы`}),(0,$.jsx)(L,{className:X.wheel,items:o.hours,value:o.selectedHour,onChange:e=>a(e,o.selectedMinute),ariaLabel:`Выбор часов`,disabled:t,formatItem:s})]}),(0,$.jsxs)(`label`,{className:X.field,children:[(0,$.jsx)(`span`,{className:X.label,children:`Минуты`}),(0,$.jsx)(L,{className:X.wheel,items:o.minutes,value:o.selectedMinute,onChange:e=>a(o.selectedHour,e),ariaLabel:`Выбор минут`,disabled:t,formatItem:s})]})]})})}var $;function ae(){return(ae=e((()=>{U(),E(),Z(),$=n(),Q.__docgenInfo={description:`Переиспользуемая панель выбора времени поверх internal wheel-picker.`,methods:[],displayName:`TimePanel`,props:{value:{required:!0,tsType:{name:`Date`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},minDate:{required:!1,tsType:{name:`Date`},description:``},maxDate:{required:!1,tsType:{name:`Date`},description:``},mode:{required:!1,tsType:{name:`union`,raw:`"date-time" | "time"`,elements:[{name:`literal`,value:`"date-time"`},{name:`literal`,value:`"time"`}]},description:``,defaultValue:{value:`"date-time"`,computed:!1}},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(hours: number, minutes: number) => void`,signature:{arguments:[{type:{name:`number`},name:`hours`},{type:{name:`number`},name:`minutes`}],return:{name:`void`}}},description:``}}}})))()}export{f as a,h as c,_ as d,d as i,g as l,ae as n,T as o,y as r,m as s,Q as t,p as u};
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-E950Ehp0.js";import{n,t as r}from"./createControlledStoryRender-BouhvX-R.js";import{n as i,t as a}from"./TimePanel-BcVGesht.js";var o,s,c,l,u,d,f;function p(){return(p=e((()=>{n(),i(),o=t(),{fn:s}=__STORYBOOK_MODULE_TEST__,c={title:`UI/Internal/DateTime/TimePanel`,component:a,args:{value:new Date(2026,2,10,12,30,0,0),onChange:s(),disabled:!1,mode:`date-time`},parameters:{atomicCanvas:!0,layout:`centered`},argTypes:{value:{description:`Текущая дата, из которой панель берёт календарный день и время.`,control:!1},disabled:{description:`Блокирует оба wheel-picker-а.`,control:`boolean`},minDate:{description:`Нижняя граница доступного времени для выбранного дня.`,control:`date`},maxDate:{description:`Верхняя граница доступного времени для выбранного дня.`,control:`date`},mode:{description:`Режим вычисления доступного времени.`,control:`inline-radio`,options:[`date-time`,`time`]},onChange:{description:`Вызывается с выбранными часами и минутами.`,control:!1}}},l=r((e,t)=>{let n=e.value;return(0,o.jsx)(`div`,{style:{width:320,minHeight:280},children:(0,o.jsx)(a,{...e,value:n,onChange:(r,i)=>{e.onChange(r,i),t({value:new Date(n.getFullYear(),n.getMonth(),n.getDate(),r,i,0,0)})}})})}),u={render:l},d={render:l,args:{value:new Date(2026,2,10,9,30,0,0),minDate:new Date(2026,2,10,9,15,0,0),maxDate:new Date(2026,2,10,18,30,0,0)}},u.parameters={...u.parameters,docs:{...u.parameters?.docs,source:{originalSource:`{
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-BvendKJ_.js";import{n,t as r}from"./createControlledStoryRender-BouhvX-R.js";import{n as i,t as a}from"./TimePanel-e1drsuDA.js";var o,s,c,l,u,d,f;function p(){return(p=e((()=>{n(),i(),o=t(),{fn:s}=__STORYBOOK_MODULE_TEST__,c={title:`UI/Internal/DateTime/TimePanel`,component:a,args:{value:new Date(2026,2,10,12,30,0,0),onChange:s(),disabled:!1,mode:`date-time`},parameters:{atomicCanvas:!0,layout:`centered`},argTypes:{value:{description:`Текущая дата, из которой панель берёт календарный день и время.`,control:!1},disabled:{description:`Блокирует оба wheel-picker-а.`,control:`boolean`},minDate:{description:`Нижняя граница доступного времени для выбранного дня.`,control:`date`},maxDate:{description:`Верхняя граница доступного времени для выбранного дня.`,control:`date`},mode:{description:`Режим вычисления доступного времени.`,control:`inline-radio`,options:[`date-time`,`time`]},onChange:{description:`Вызывается с выбранными часами и минутами.`,control:!1}}},l=r((e,t)=>{let n=e.value;return(0,o.jsx)(`div`,{style:{width:320,minHeight:280},children:(0,o.jsx)(a,{...e,value:n,onChange:(r,i)=>{e.onChange(r,i),t({value:new Date(n.getFullYear(),n.getMonth(),n.getDate(),r,i,0,0)})}})})}),u={render:l},d={render:l,args:{value:new Date(2026,2,10,9,30,0,0),minDate:new Date(2026,2,10,9,15,0,0),maxDate:new Date(2026,2,10,18,30,0,0)}},u.parameters={...u.parameters,docs:{...u.parameters?.docs,source:{originalSource:`{
2
2
  render: renderTimePanelStory
3
3
  }`,...u.parameters?.docs?.source},description:{story:`Демонстрирует базовую wheel-панель времени.`,...u.parameters?.docs?.description}}},d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
4
4
  render: renderTimePanelStory,
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-E950Ehp0.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-DGivDYe5.js";import{a as p,i as m,n as h,r as g,t as _}from"./Toggle.stories-DnTnFcGB.js";function v(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{of:m,parameters:{docs:{toc:!0}}}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-BvendKJ_.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-Bn1nLfdu.js";import{a as p,i as m,n as h,r as g,t as _}from"./Toggle.stories-0wuia83j.js";function v(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s,{of:m,parameters:{docs:{toc:!0}}}),`
2
2
  `,(0,b.jsx)(u,{children:`Toggle`}),`
3
3
  `,(0,b.jsx)(o,{children:`Переключаемый булев контрол для локальных режимов и простых опций`}),`
4
4
  `,(0,b.jsx)(t.p,{children:`Toggle уже имеет живые stories, а эта страница собирает их в структурированную документацию с краткими рекомендациями, примерами подключения и API.
@@ -1 +1 @@
1
- import{a as e,n as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r}from"./iframe-E950Ehp0.js";import{a as i,i as a}from"./utils-tg3ibbzi.js";import{n as o,t as s}from"./ui.module-l7VCYIW-.js";var c,l,u,d,f,p,m,h,g;function _(){return(_=t((()=>{c=`FFyoOs`,l=`zPYy7T`,u=`j6ek6R`,d=`HFTPXI`,f=`_0RK4xF`,p=`kDPnKt`,m=`DQHqws`,h=`nCQ9v4`,g={row:c,wrapper:l,input:u,track:d,thumb:f,unchecked:p,checked:m,option:h}})))()}function v({label:e,description:t,placeholder:n,disabled:r,size:a,className:s,onChange:c,value:l,id:u,checkedText:d=`ВКЛ`,uncheckedText:f=`ВЫКЛ`,labelPosition:p=`before`,...m}){let h=(0,y.useId)(),_=u??h,v=t?`${_}-description`:void 0,x=e??n,S=!!l,C=!x&&!m[`aria-label`]?`${f} / ${d}`:void 0,w=x?(0,b.jsx)(`label`,{htmlFor:_,className:o.uiLabel,children:x}):null;return(0,b.jsxs)(`div`,{className:i(o.uiElement,r&&o.disabled,a&&o.uiSizable,a&&o[a],s),"aria-disabled":r||void 0,children:[(0,b.jsxs)(`div`,{className:g.row,children:[p===`before`&&w,(0,b.jsxs)(`div`,{className:g.wrapper,children:[(0,b.jsx)(`input`,{...m,id:_,type:`checkbox`,role:`switch`,checked:S,disabled:r,"aria-checked":S,"aria-describedby":v,"aria-label":C,className:i(o.uiInputControl,g.input),onChange:e=>c?.(e.currentTarget.checked)}),(0,b.jsxs)(`div`,{className:g.track,"data-disabled":r||void 0,"aria-hidden":`true`,children:[(0,b.jsx)(`div`,{className:g.thumb}),(0,b.jsx)(`div`,{className:i(g.option,g.unchecked),children:f}),(0,b.jsx)(`div`,{className:i(g.option,g.checked),children:d})]})]}),p===`after`&&w]}),t&&(0,b.jsx)(`p`,{id:v,className:o.uiDescription,children:t})]})}var y,b;function x(){return(x=t((()=>{y=e(n(),1),a(),s(),_(),b=r(),v.__docgenInfo={description:`Переключаемая кнопка с сохранением активного состояния. Используется для локального выбора режима, фильтра или форматирования.`,methods:[],displayName:`Toggle`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},checkedText:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"ВКЛ"`,computed:!1}},uncheckedText:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"ВЫКЛ"`,computed:!1}},labelPosition:{required:!1,tsType:{name:`union`,raw:`"before" | "after"`,elements:[{name:`literal`,value:`"before"`},{name:`literal`,value:`"after"`}]},description:``,defaultValue:{value:`"before"`,computed:!1}}},composes:[`Omit`]}})))()}export{x as n,v as t};
1
+ import{a as e,n as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r}from"./iframe-BvendKJ_.js";import{a as i,i as a}from"./utils-tg3ibbzi.js";import{n as o,t as s}from"./ui.module-l7VCYIW-.js";var c,l,u,d,f,p,m,h,g;function _(){return(_=t((()=>{c=`FFyoOs`,l=`zPYy7T`,u=`j6ek6R`,d=`HFTPXI`,f=`_0RK4xF`,p=`kDPnKt`,m=`DQHqws`,h=`nCQ9v4`,g={row:c,wrapper:l,input:u,track:d,thumb:f,unchecked:p,checked:m,option:h}})))()}function v({label:e,description:t,placeholder:n,disabled:r,size:a,className:s,onChange:c,value:l,id:u,checkedText:d=`ВКЛ`,uncheckedText:f=`ВЫКЛ`,labelPosition:p=`before`,...m}){let h=(0,y.useId)(),_=u??h,v=t?`${_}-description`:void 0,x=e??n,S=!!l,C=!x&&!m[`aria-label`]?`${f} / ${d}`:void 0,w=x?(0,b.jsx)(`label`,{htmlFor:_,className:o.uiLabel,children:x}):null;return(0,b.jsxs)(`div`,{className:i(o.uiElement,r&&o.disabled,a&&o.uiSizable,a&&o[a],s),"aria-disabled":r||void 0,children:[(0,b.jsxs)(`div`,{className:g.row,children:[p===`before`&&w,(0,b.jsxs)(`div`,{className:g.wrapper,children:[(0,b.jsx)(`input`,{...m,id:_,type:`checkbox`,role:`switch`,checked:S,disabled:r,"aria-checked":S,"aria-describedby":v,"aria-label":C,className:i(o.uiInputControl,g.input),onChange:e=>c?.(e.currentTarget.checked)}),(0,b.jsxs)(`div`,{className:g.track,"data-disabled":r||void 0,"aria-hidden":`true`,children:[(0,b.jsx)(`div`,{className:g.thumb}),(0,b.jsx)(`div`,{className:i(g.option,g.unchecked),children:f}),(0,b.jsx)(`div`,{className:i(g.option,g.checked),children:d})]})]}),p===`after`&&w]}),t&&(0,b.jsx)(`p`,{id:v,className:o.uiDescription,children:t})]})}var y,b;function x(){return(x=t((()=>{y=e(n(),1),a(),s(),_(),b=r(),v.__docgenInfo={description:`Переключаемая кнопка с сохранением активного состояния. Используется для локального выбора режима, фильтра или форматирования.`,methods:[],displayName:`Toggle`,props:{label:{required:!1,tsType:{name:`ReactNode`},description:``},description:{required:!1,tsType:{name:`string`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``},value:{required:!0,tsType:{name:`V`},description:"Если начальное состояние может быть `null | undefined`\nзначит `onChange` тоже должен ументь сбрасывать.\nПоэтому такой контрол явно должен передавать `UiBaseProps<AnyType | undefined>`"},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`C`},name:`value`}],return:{name:`void`}}},description:``},checkedText:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"ВКЛ"`,computed:!1}},uncheckedText:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"ВЫКЛ"`,computed:!1}},labelPosition:{required:!1,tsType:{name:`union`,raw:`"before" | "after"`,elements:[{name:`literal`,value:`"before"`},{name:`literal`,value:`"after"`}]},description:``,defaultValue:{value:`"before"`,computed:!1}}},composes:[`Omit`]}})))()}export{x as n,v as t};
@@ -1,4 +1,4 @@
1
- import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-E950Ehp0.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./Toggle-CtABgcO5.js";var s=t({Controlled:()=>d,Disabled:()=>p,LabelAfter:()=>f,__namedExportsOrder:()=>m,default:()=>u}),c,l,u,d,f,p,m;function h(){return(h=e((()=>{r(),a(),c=n(),l=i((e,t)=>(0,c.jsx)(o,{...e,value:e.value??!1,onChange:n=>{e.onChange?.(n),t({value:n})}})),u={title:`UI/Toggle`,component:o,args:{value:!1,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Текст подписи переключателя.`,control:`text`},description:{description:`Описание под переключателем.`,control:`text`},placeholder:{description:"Резервная подпись, если `label` не задан.",control:`text`},value:{description:`Текущее значение переключателя.`,control:`boolean`},onChange:{description:`Вызывается при изменении значения.`,control:!1},checkedText:{description:`Текст для включенного состояния.`,control:`text`},uncheckedText:{description:`Текст для выключенного состояния.`,control:`text`},labelPosition:{description:`Положение подписи относительно переключателя.`,control:`inline-radio`,options:[`before`,`after`]},disabled:{description:`Блокирует взаимодействие.`,control:`boolean`},size:{description:`Размер контрола и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},d={render:l,args:{label:`Режим синхронизации`,description:`Мгновенное переключение состояния.`,value:!1,checkedText:`ВКЛ`,uncheckedText:`ВЫКЛ`,labelPosition:`before`}},f={render:l,args:{label:`Уведомления`,value:!0,labelPosition:`after`}},p={render:l,args:{label:`Недоступный переключатель`,value:!0,disabled:!0}},d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
1
+ import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-BvendKJ_.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./Toggle-D8UQ_CuL.js";var s=t({Controlled:()=>d,Disabled:()=>p,LabelAfter:()=>f,__namedExportsOrder:()=>m,default:()=>u}),c,l,u,d,f,p,m;function h(){return(h=e((()=>{r(),a(),c=n(),l=i((e,t)=>(0,c.jsx)(o,{...e,value:e.value??!1,onChange:n=>{e.onChange?.(n),t({value:n})}})),u={title:`UI/Toggle`,component:o,args:{value:!1,onChange:()=>{}},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{label:{description:`Текст подписи переключателя.`,control:`text`},description:{description:`Описание под переключателем.`,control:`text`},placeholder:{description:"Резервная подпись, если `label` не задан.",control:`text`},value:{description:`Текущее значение переключателя.`,control:`boolean`},onChange:{description:`Вызывается при изменении значения.`,control:!1},checkedText:{description:`Текст для включенного состояния.`,control:`text`},uncheckedText:{description:`Текст для выключенного состояния.`,control:`text`},labelPosition:{description:`Положение подписи относительно переключателя.`,control:`inline-radio`,options:[`before`,`after`]},disabled:{description:`Блокирует взаимодействие.`,control:`boolean`},size:{description:`Размер контрола и подписи.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},d={render:l,args:{label:`Режим синхронизации`,description:`Мгновенное переключение состояния.`,value:!1,checkedText:`ВКЛ`,uncheckedText:`ВЫКЛ`,labelPosition:`before`}},f={render:l,args:{label:`Уведомления`,value:!0,labelPosition:`after`}},p={render:l,args:{label:`Недоступный переключатель`,value:!0,disabled:!0}},d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
2
2
  render: renderToggleStory,
3
3
  args: {
4
4
  label: "Режим синхронизации",
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-E950Ehp0.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-DGivDYe5.js";import{a as p,c as m,i as h,l as g,n as _,o as v,r as y,s as b,t as x,u as S}from"./TreeMultiSelect.stories-CBVQbR1c.js";function C(e){let t={code:`code`,h2:`h2`,p:`p`,...n(),...e.components};return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(s,{of:g,parameters:{docs:{toc:!0}}}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-BvendKJ_.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-Bn1nLfdu.js";import{a as p,c as m,i as h,l as g,n as _,o as v,r as y,s as b,t as x,u as S}from"./TreeMultiSelect.stories-C5bKUKLA.js";function C(e){let t={code:`code`,h2:`h2`,p:`p`,...n(),...e.components};return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(s,{of:g,parameters:{docs:{toc:!0}}}),`
2
2
  `,(0,T.jsx)(u,{children:`TreeMultiSelect`}),`
3
3
  `,(0,T.jsx)(o,{children:`Мультивыбор узлов дерева с компрессией subtree в parent`}),`
4
4
  `,(0,T.jsxs)(t.p,{children:[(0,T.jsx)(t.code,{children:`TreeMultiSelect`}),` хранит наружу не “все листья”, а канонизированный frontier по уровням дерева.`]}),`
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-E950Ehp0.js";import{i as r,n as i,r as a,t as o}from"./formatMultiSelectOptionCount-BxXwE0wd.js";import{a as s,c,d as l,i as u,l as d,n as f,r as p,s as m,t as h}from"./TreePickerBase-BhWXyIoO.js";function g(e,t){let n=l(e,t),r=Object.values(n).reduce((e,t)=>e+t.length,0);if(r!==0){if(r===1){let n=[...e].sort((e,n)=>(t.preorderIndexById.get(e)??2**53-1)-(t.preorderIndexById.get(n)??2**53-1))[0],r=t.nodeById.get(n);return r?r.label:void 0}return o(r)}}function _(e,t,n){let r=d(e,n),i=d(t,n);return r.size===i.size&&[...r].every(e=>i.has(e))}function v({label:e,description:t,disabled:n,placeholder:i=`Выберите значения`,size:a,nodes:o,value:f,onChange:v,query:x,defaultQuery:S,onQuery:C,isLoading:w,error:T,fieldError:E,required:D,optionsLayout:O=`tree`,defaultExpandedCodeKeys:k}){let[A,j]=(0,y.useState)(!1),M=(0,y.useMemo)(()=>p(o),[o]),{draftValue:N,setDraftValue:P,prepareOpen:F}=r({value:f,open:A,onCommit:v,isEqual:(e,t)=>_(e,t,M)}),I=A?N:f,L=(0,y.useMemo)(()=>d(I,M),[I,M]),R=(0,y.useMemo)(()=>s(L,M),[L,M]),z=(0,y.useMemo)(()=>new Set([...M.nodeById.keys()].filter(e=>M.nodeById.get(e)?.disabled!==!0&&!m(e,L,M)&&!R.selectedIds.has(e)&&u(M,[e]).size===0)),[L,R.selectedIds,M]),B=(0,y.useMemo)(()=>g(L,M),[L,M]);return(0,b.jsx)(h,{label:e,description:t,disabled:n,placeholder:i,size:a,nodes:o,selectedIds:R.selectedIds,partialIds:R.partialIds,selectionMode:`multi`,optionsLayout:O,defaultExpandedCodeKeys:k,unavailableNodeIds:z,open:A,onOpenChange:e=>{e&&!A&&F(),j(e)},bulkActions:{onSelectAll:()=>{P(l(u(M),M))},onDeselectAll:()=>P({})},triggerMode:`search`,selectedSummary:B,query:x,defaultQuery:S,onQuery:C,onNodeActivate:(e,t)=>{P(c({},e.id,M,t))},onNodeToggleSelection:(e,t)=>{P(n=>c(n,e.id,M,t))},onClearSelection:()=>{P({}),A||v({})},isLoading:w,error:T,fieldError:E,required:D})}var y,b;function x(){return(x=e((()=>{y=t(),i(),a(),f(),b=n(),v.__docgenInfo={description:``,methods:[],displayName:`TreeMultiSelect`,props:{nodes:{required:!0,tsType:{name:`unknown`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Выберите значения"`,computed:!1}},query:{required:!1,tsType:{name:`string`},description:``},defaultQuery:{required:!1,tsType:{name:`string`},description:``},onQuery:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},isLoading:{required:!1,tsType:{name:`boolean`},description:``},error:{required:!1,tsType:{name:`string`},description:``},fieldError:{required:!1,tsType:{name:`string`},description:`Ошибка выбранного значения; error сообщает о сбое загрузки дерева в popup.`},required:{required:!1,tsType:{name:`boolean`},description:``},optionsLayout:{required:!1,tsType:{name:`union`,raw:`"tree" | "columns"`,elements:[{name:`literal`,value:`"tree"`},{name:`literal`,value:`"columns"`}]},description:`Определяет обычное раскрываемое дерево или полностью открытый адаптивный набор колонок.`,defaultValue:{value:`"tree"`,computed:!1}},defaultExpandedCodeKeys:{required:!1,tsType:{name:`unknown`},description:"Ключи уровней, узлы которых раскрываются до ручного действия пользователя.\nВ режиме `columns` дерево по-прежнему отображается полностью раскрытым."}},composes:[`Omit`]}})))()}export{x as n,v as t};
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-BvendKJ_.js";import{i as r,n as i,r as a,t as o}from"./formatMultiSelectOptionCount-BxXwE0wd.js";import{a as s,c,d as l,i as u,l as d,n as f,r as p,s as m,t as h}from"./TreePickerBase-DAld1sj1.js";function g(e,t){let n=l(e,t),r=Object.values(n).reduce((e,t)=>e+t.length,0);if(r!==0){if(r===1){let n=[...e].sort((e,n)=>(t.preorderIndexById.get(e)??2**53-1)-(t.preorderIndexById.get(n)??2**53-1))[0],r=t.nodeById.get(n);return r?r.label:void 0}return o(r)}}function _(e,t,n){let r=d(e,n),i=d(t,n);return r.size===i.size&&[...r].every(e=>i.has(e))}function v({label:e,description:t,disabled:n,placeholder:i=`Выберите значения`,size:a,nodes:o,value:f,onChange:v,query:x,defaultQuery:S,onQuery:C,isLoading:w,error:T,fieldError:E,required:D,optionsLayout:O=`tree`,defaultExpandedCodeKeys:k}){let[A,j]=(0,y.useState)(!1),M=(0,y.useMemo)(()=>p(o),[o]),{draftValue:N,setDraftValue:P,prepareOpen:F}=r({value:f,open:A,onCommit:v,isEqual:(e,t)=>_(e,t,M)}),I=A?N:f,L=(0,y.useMemo)(()=>d(I,M),[I,M]),R=(0,y.useMemo)(()=>s(L,M),[L,M]),z=(0,y.useMemo)(()=>new Set([...M.nodeById.keys()].filter(e=>M.nodeById.get(e)?.disabled!==!0&&!m(e,L,M)&&!R.selectedIds.has(e)&&u(M,[e]).size===0)),[L,R.selectedIds,M]),B=(0,y.useMemo)(()=>g(L,M),[L,M]);return(0,b.jsx)(h,{label:e,description:t,disabled:n,placeholder:i,size:a,nodes:o,selectedIds:R.selectedIds,partialIds:R.partialIds,selectionMode:`multi`,optionsLayout:O,defaultExpandedCodeKeys:k,unavailableNodeIds:z,open:A,onOpenChange:e=>{e&&!A&&F(),j(e)},bulkActions:{onSelectAll:()=>{P(l(u(M),M))},onDeselectAll:()=>P({})},triggerMode:`search`,selectedSummary:B,query:x,defaultQuery:S,onQuery:C,onNodeActivate:(e,t)=>{P(c({},e.id,M,t))},onNodeToggleSelection:(e,t)=>{P(n=>c(n,e.id,M,t))},onClearSelection:()=>{P({}),A||v({})},isLoading:w,error:T,fieldError:E,required:D})}var y,b;function x(){return(x=e((()=>{y=t(),i(),a(),f(),b=n(),v.__docgenInfo={description:``,methods:[],displayName:`TreeMultiSelect`,props:{nodes:{required:!0,tsType:{name:`unknown`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Выберите значения"`,computed:!1}},query:{required:!1,tsType:{name:`string`},description:``},defaultQuery:{required:!1,tsType:{name:`string`},description:``},onQuery:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},isLoading:{required:!1,tsType:{name:`boolean`},description:``},error:{required:!1,tsType:{name:`string`},description:``},fieldError:{required:!1,tsType:{name:`string`},description:`Ошибка выбранного значения; error сообщает о сбое загрузки дерева в popup.`},required:{required:!1,tsType:{name:`boolean`},description:``},optionsLayout:{required:!1,tsType:{name:`union`,raw:`"tree" | "columns"`,elements:[{name:`literal`,value:`"tree"`},{name:`literal`,value:`"columns"`}]},description:`Определяет обычное раскрываемое дерево или полностью открытый адаптивный набор колонок.`,defaultValue:{value:`"tree"`,computed:!1}},defaultExpandedCodeKeys:{required:!1,tsType:{name:`unknown`},description:"Ключи уровней, узлы которых раскрываются до ручного действия пользователя.\nВ режиме `columns` дерево по-прежнему отображается полностью раскрытым."}},composes:[`Omit`]}})))()}export{x as n,v as t};
@@ -1,4 +1,4 @@
1
- import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-E950Ehp0.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./TreeMultiSelect-Bp_Akwgc.js";import{n as s,r as c,t as l}from"./treeStoryFixtures-DXHh9GL3.js";var u=t({BalancedColumns:()=>x,Basic:()=>_,FirstTwoLevelsExpanded:()=>b,MixedSelection:()=>y,OrphanProtectionColumns:()=>S,ParentCompression:()=>v,RequiredWithError:()=>w,RightEdgeColumns:()=>C,__namedExportsOrder:()=>T,default:()=>g});function d({args:e,updateArgs:t}){return(0,f.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,f.jsx)(o,{...e,onChange:n=>{e.onChange(n),t({value:n,fieldError:Object.values(n).some(e=>e.length>0)?void 0:e.fieldError})}}),(0,f.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,JSON.stringify(e.value)]})]})}var f,p,m,h,g,_,v,y,b,x,S,C,w,T;function E(){return(E=e((()=>{r(),a(),s(),f=n(),p=Array.from({length:66},(e,t)=>{let n=String(t+1).padStart(2,`0`),r=`D${n}`;return{id:`DIVISION:${r}`,codeKey:`DIVISION`,value:r,label:`Дивизион ${n}`,code:r,searchText:`${r} Дивизион ${n}`}}),m=i((e,t)=>(0,f.jsx)(d,{args:e,updateArgs:t})),h=i((e,t)=>(0,f.jsx)(`div`,{style:{display:`flex`,minHeight:`calc(100vh - 32px)`,alignItems:`center`,justifyContent:`flex-end`},children:(0,f.jsx)(`div`,{style:{width:260},children:(0,f.jsx)(d,{args:e,updateArgs:t})})})),g={title:`UI/TreeMultiSelect`,component:o,parameters:{atomicCanvas:!0,layout:`padded`},args:{label:`Выбор узлов`,description:`Мультивыбор с канонизацией subtree в ближайший parent.`,nodes:l,value:{},onChange:()=>{}},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под полем.`,control:`text`},required:{description:`Помечает выбор узлов как обязательный.`,control:`boolean`},fieldError:{description:`Текст ошибки выбранных узлов под полем.`,control:`text`},placeholder:{description:`Текст без выбранных узлов.`,control:`text`},nodes:{description:`Дерево доступных узлов.`,control:!1},value:{description:`Контролируемое отображение выбранных узлов по codeKey.`,control:!1},onChange:{description:`Вызывается при commit набора узлов.`,control:!1},query:{description:`Контролируемый текст поиска.`,control:`text`},defaultQuery:{description:`Начальный текст поиска в uncontrolled-режиме.`,control:`text`},onQuery:{description:`Вызывается при вводе поисковой строки.`,control:!1},isLoading:{description:`Показывает загрузку дерева.`,control:`boolean`},error:{description:`Текст ошибки загрузки.`,control:`text`},optionsLayout:{description:`Способ показа: дерево или адаптивные колонки.`,control:`inline-radio`,options:[`tree`,`columns`]},defaultExpandedCodeKeys:{description:`Ключи уровней, раскрываемых при открытии.`,control:!1},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},_={render:m,args:{value:{OWNER:[`P0001`]}}},v={render:m,args:{label:`Компрессия parent`,description:`Когда выбран весь subtree, наружу может уйти только родительский узел.`,value:{REGION:[`R01`]}}},y={render:m,args:{label:`Смешанный выбор`,description:`Пример mixed frontier по соседним уровням.`,value:{BRANCH:[`B0101`],OWNER:[`P0004`]}}},b={render:m,args:{label:`Раскрыты два уровня`,description:`Уровни REGION и BRANCH раскрыты по умолчанию, остальные уровни остаются закрытыми.`,defaultExpandedCodeKeys:[`REGION`,`BRANCH`]}},x={render:m,args:{label:`Все уровни в столбцах`,description:`Popover подбирает число столбцов по количеству опций и доступному viewport.`,optionsLayout:`columns`,value:{BRANCH:[`B0101`]}}},S={render:m,args:{label:`Защита начала большой группы`,description:`Начало группы остаётся в текущем столбце при трёх свободных строках; при одной или двух переносится в новый.`,optionsLayout:`columns`,nodes:c}},C={render:h,args:{label:`Контрол у правой границы`,description:`Popover для 66 опций должен сравнить вертикальные и горизонтальные стороны и остаться внутри viewport.`,optionsLayout:`columns`,nodes:p}},w={name:`Обязательное поле с ошибкой`,render:m,args:{required:!0,fieldError:`Выберите хотя бы один узел.`,value:{}}},_.parameters={..._.parameters,docs:{..._.parameters?.docs,source:{originalSource:`{
1
+ import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-BvendKJ_.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./TreeMultiSelect-QWOfniqX.js";import{n as s,r as c,t as l}from"./treeStoryFixtures-DXHh9GL3.js";var u=t({BalancedColumns:()=>x,Basic:()=>_,FirstTwoLevelsExpanded:()=>b,MixedSelection:()=>y,OrphanProtectionColumns:()=>S,ParentCompression:()=>v,RequiredWithError:()=>w,RightEdgeColumns:()=>C,__namedExportsOrder:()=>T,default:()=>g});function d({args:e,updateArgs:t}){return(0,f.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,f.jsx)(o,{...e,onChange:n=>{e.onChange(n),t({value:n,fieldError:Object.values(n).some(e=>e.length>0)?void 0:e.fieldError})}}),(0,f.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,JSON.stringify(e.value)]})]})}var f,p,m,h,g,_,v,y,b,x,S,C,w,T;function E(){return(E=e((()=>{r(),a(),s(),f=n(),p=Array.from({length:66},(e,t)=>{let n=String(t+1).padStart(2,`0`),r=`D${n}`;return{id:`DIVISION:${r}`,codeKey:`DIVISION`,value:r,label:`Дивизион ${n}`,code:r,searchText:`${r} Дивизион ${n}`}}),m=i((e,t)=>(0,f.jsx)(d,{args:e,updateArgs:t})),h=i((e,t)=>(0,f.jsx)(`div`,{style:{display:`flex`,minHeight:`calc(100vh - 32px)`,alignItems:`center`,justifyContent:`flex-end`},children:(0,f.jsx)(`div`,{style:{width:260},children:(0,f.jsx)(d,{args:e,updateArgs:t})})})),g={title:`UI/TreeMultiSelect`,component:o,parameters:{atomicCanvas:!0,layout:`padded`},args:{label:`Выбор узлов`,description:`Мультивыбор с канонизацией subtree в ближайший parent.`,nodes:l,value:{},onChange:()=>{}},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под полем.`,control:`text`},required:{description:`Помечает выбор узлов как обязательный.`,control:`boolean`},fieldError:{description:`Текст ошибки выбранных узлов под полем.`,control:`text`},placeholder:{description:`Текст без выбранных узлов.`,control:`text`},nodes:{description:`Дерево доступных узлов.`,control:!1},value:{description:`Контролируемое отображение выбранных узлов по codeKey.`,control:!1},onChange:{description:`Вызывается при commit набора узлов.`,control:!1},query:{description:`Контролируемый текст поиска.`,control:`text`},defaultQuery:{description:`Начальный текст поиска в uncontrolled-режиме.`,control:`text`},onQuery:{description:`Вызывается при вводе поисковой строки.`,control:!1},isLoading:{description:`Показывает загрузку дерева.`,control:`boolean`},error:{description:`Текст ошибки загрузки.`,control:`text`},optionsLayout:{description:`Способ показа: дерево или адаптивные колонки.`,control:`inline-radio`,options:[`tree`,`columns`]},defaultExpandedCodeKeys:{description:`Ключи уровней, раскрываемых при открытии.`,control:!1},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},_={render:m,args:{value:{OWNER:[`P0001`]}}},v={render:m,args:{label:`Компрессия parent`,description:`Когда выбран весь subtree, наружу может уйти только родительский узел.`,value:{REGION:[`R01`]}}},y={render:m,args:{label:`Смешанный выбор`,description:`Пример mixed frontier по соседним уровням.`,value:{BRANCH:[`B0101`],OWNER:[`P0004`]}}},b={render:m,args:{label:`Раскрыты два уровня`,description:`Уровни REGION и BRANCH раскрыты по умолчанию, остальные уровни остаются закрытыми.`,defaultExpandedCodeKeys:[`REGION`,`BRANCH`]}},x={render:m,args:{label:`Все уровни в столбцах`,description:`Popover подбирает число столбцов по количеству опций и доступному viewport.`,optionsLayout:`columns`,value:{BRANCH:[`B0101`]}}},S={render:m,args:{label:`Защита начала большой группы`,description:`Начало группы остаётся в текущем столбце при трёх свободных строках; при одной или двух переносится в новый.`,optionsLayout:`columns`,nodes:c}},C={render:h,args:{label:`Контрол у правой границы`,description:`Popover для 66 опций должен сравнить вертикальные и горизонтальные стороны и остаться внутри viewport.`,optionsLayout:`columns`,nodes:p}},w={name:`Обязательное поле с ошибкой`,render:m,args:{required:!0,fieldError:`Выберите хотя бы один узел.`,value:{}}},_.parameters={..._.parameters,docs:{..._.parameters?.docs,source:{originalSource:`{
2
2
  render: renderTreeMultiSelectStory,
3
3
  args: {
4
4
  value: {
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n,t as r}from"./chevron-right-CXryGzSx.js";import{n as i,t as a}from"./CheckBox-BJhTyl1K.js";import{n as o}from"./iframe-E950Ehp0.js";import{a as s,i as c,r as l,s as u,t as d}from"./utils-tg3ibbzi.js";import{n as f,t as p}from"./OptionContent-FZ-u9L1s.js";import{l as m,o as h}from"./Input-CzvWPW0I.js";import{n as g,t as ee}from"./PickerField-BHSRcQY6.js";import{c as _,i as v,l as te,n as ne,r as re,s as ie,t as ae,u as y}from"./usePickerTriggerController-Dvt7LsFZ.js";import{a as oe,n as se,o as ce,t as le}from"./Option-Beom2xTg.js";import{i as ue,n as de,r as fe,t as pe}from"./usePickerQuery-BmoBHlzm.js";import{n as me,t as he}from"./OptionButton-D_ZCVbsd.js";import{n as b,t as ge}from"./OptionContentContainer-HVNOgpjm.js";function x(e,t){return`${e}::${t}`}function _e(e){let t=new Map,n=new Map,r=new Map,i=new Map,a=new Map,o=new Map,s=new Map,c=0,l=(e,u)=>{t.set(e.id,e),n.set(e.id,u),i.set(e.id,c++);let d=x(e.codeKey,e.value);a.set(d,e.id);let f=o.get(d);f?f.push(e.id):o.set(d,[e.id]);let p=(e.children??[]).map(e=>e.id);r.set(e.id,p);for(let t of e.children??[])l(t,e.id);s.set(e.id,e.disabled===!0||p.some(e=>s.get(e)===!0))};for(let t of e)l(t);return{rootIds:e.map(e=>e.id),nodeById:t,parentById:n,childrenById:r,preorderIndexById:i,nodeIdByCodeValue:a,nodeIdsByCodeValue:o,subtreeContainsDisabledById:s}}function S(e,t){let n=t.nodeById.get(e);return n?t.nodeIdsByCodeValue.get(x(n.codeKey,n.value))??[]:[]}function ve(e,t){if(e)return t.nodeIdByCodeValue.get(x(e.codeKey,e.value))}function ye(e,t){let n=new Set;if(!e)return n;for(let[r,i]of Object.entries(e))for(let e of i)for(let i of t.nodeIdsByCodeValue.get(x(r,e))??[])n.add(i);return A(n,t)}function C(e,t){let n=[...e].sort((e,n)=>(t.preorderIndexById.get(e)??2**53-1)-(t.preorderIndexById.get(n)??2**53-1)),r={},i=new Set;for(let e of n){let n=t.nodeById.get(e);if(!n)continue;let a=x(n.codeKey,n.value);i.has(a)||(r[n.codeKey]=r[n.codeKey]??[],r[n.codeKey].push(n.value),i.add(a))}return r}function w(e,t){let n=[],r=t.parentById.get(e);for(;r;)n.push(r),r=t.parentById.get(r);return n}function T(e,t,n){let r=n.parentById.get(e);for(;r;){if(r===t)return!0;r=n.parentById.get(r)}return!1}function be(e,t){let n=S(e,t);return!n.length||n.some(e=>{let n=t.nodeById.get(e);return!n||n.selectionBehavior===`descendants`||t.subtreeContainsDisabledById.get(e)===!0})?!1:!n.some((e,r)=>n.some((n,i)=>r!==i&&(T(e,n,t)||T(n,e,t))))}function xe(e,t){return be(e,t)?S(e,t):[e]}function E(e,t,n){for(let r of[...e])T(r,t,n)&&e.delete(r)}function D(e,t,n){let r=[t];for(let t=0;t<r.length;t+=1){let i=r[t];if(i){r.push(...n.childrenById.get(i)??[]);for(let t of S(i,n))e.delete(t)}}}function O(e,t,n){if(t.has(e))return!0;if(n.nodeById.get(e)?.disabled)return!1;let r=n.childrenById.get(e)??[];return r.length!==0&&r.every(e=>O(e,t,n))}function k(e,t,n){if(!n.nodeById.has(e))return!1;let r=t.childrenById.get(e)??[],i=n.childrenById.get(e)??[];return r.length===i.length&&r.every((e,r)=>i[r]===e&&k(e,t,n))}function A(e,t){let n=new Set(e);for(let e of[...n])if(t.nodeById.get(e)?.selectionBehavior===`descendants`){n.delete(e);for(let r of P(t,t.childrenById.get(e)??[]))n.add(r)}for(let e of[...n])w(e,t).some(e=>n.has(e))&&n.delete(e);let r=[...t.nodeById.keys()].sort((e,n)=>(t.preorderIndexById.get(n)??0)-(t.preorderIndexById.get(e)??0));for(let e of r){let r=t.childrenById.get(e)??[];if(!(r.length===0||n.has(e)||t.nodeById.get(e)?.disabled||t.nodeById.get(e)?.selectionBehavior===`descendants`)&&r.every(e=>O(e,n,t))){let r=S(e,t);if(be(e,t)&&r.every(e=>{let r=t.nodeById.get(e);return r&&!r.disabled&&r.selectionBehavior!==`descendants`&&O(e,n,t)}))for(let e of r)E(n,e,t),n.add(e)}}return n}function Se(e,t,n){let r=n.parentById.get(t);for(;r;){if(e.has(r)){for(let t of S(r,n))if(e.has(t)){e.delete(t);for(let r of P(n,n.childrenById.get(t)??[]))e.add(r)}return!0}r=n.parentById.get(r)}return!1}function j(e,t,n){return t.has(e)?!0:w(e,n).some(e=>t.has(e))}function M(e,t,n,r){let i=n.childrenById.get(e)??[];if(t.has(e))return r.selectedIds.add(e),{selected:!0,partial:!1};if(i.length===0)return{selected:!1,partial:!1};let a=i.map(e=>M(e,t,n,r)),o=a.every(e=>e.selected&&!e.partial),s=a.some(e=>e.selected||e.partial);return o?(r.selectedIds.add(e),{selected:!0,partial:!1}):s?(r.partialIds.add(e),{selected:!1,partial:!0}):{selected:!1,partial:!1}}function N(e,t){let n={selectedIds:new Set,partialIds:new Set};for(let r of t.rootIds)M(r,e,t,n);return n}function P(e,t=e.rootIds){let n=t=>{let r=e.nodeById.get(t),i=(e.childrenById.get(t)??[]).map(n),a=i.flatMap(e=>e.selectedIds),o=r?.disabled===!0||i.some(e=>e.containsDisabled);if(!r||r.disabled)return{containsDisabled:!0,selectedIds:a};if(r.selectionBehavior===`descendants`)return{containsDisabled:o,selectedIds:a};let s=!be(t,e);return o||s?{containsDisabled:!0,selectedIds:a}:{containsDisabled:!1,selectedIds:[t]}};return new Set(t.flatMap(e=>n(e).selectedIds))}function F(e,t,n,r){let i=ye(e,n),a=r!==void 0&&!k(t,n,r);if(!a&&O(t,i,n))return D(i,t,n),C(A(i,n),n);let o=e=>{if(i.has(e)){D(i,e,n);return}if(O(e,i,n)){D(i,e,n);return}if(j(e,i,n)){Se(i,e,n)&&(j(e,i,n)||O(e,i,n)?o(e):D(i,e,n));return}for(let t of xe(e,n))E(i,t,n),i.add(t)},s=e=>{if(!r?.nodeById.has(e))return[];if(k(e,n,r)){let t=[...P(n,[e])];return t.length>0?t:j(e,i,n)||O(e,i,n)?[e]:[]}return(r.childrenById.get(e)??[]).flatMap(s)},c=a?s(t):[...P(n,[t])],l=c.length===0&&(j(t,i,n)||O(t,i,n))?[t]:c,u=l.length>0&&l.every(e=>j(e,i,n)||O(e,i,n));for(let e of l){let t=j(e,i,n)||O(e,i,n);(u&&t||!u&&!t)&&o(e)}return C(A(i,n),n)}function I(e,t,n){let r=t.parentById.get(e);for(;r;)n.add(r),r=t.parentById.get(r)}function Ce(e,t){let n=new Set;for(let r of e)I(r,t,n);return n}function we(e,t,n){let r=new Set;for(let[i,a]of e.childrenById){if(a.length===0)continue;let o=e.nodeById.get(i);o&&(n.get(i)??t.has(o.codeKey))&&r.add(i)}return r}function Te(e,t,n){let r=(e.children??[]).map(e=>Te(e,t,n)).filter(e=>!!e);return!e.searchText.toLowerCase().includes(t)&&r.length===0?null:(r.length>0&&n.add(e.id),r.length===0?e:{...e,children:r})}function Ee(e,t){let n=t.trim().toLowerCase();if(!n)return{nodes:[...e],expandedIds:new Set};let r=new Set;return{nodes:e.map(e=>Te(e,n,r)).filter(e=>!!e),expandedIds:r}}function De(e,t){let n=[],r=(e,i,a)=>{let o=(e.children?.length??0)>0,s=o&&t.has(e.id);if(n.push({node:e,level:i,parentId:a,hasChildren:o,isExpanded:s,isLeaf:!o}),s)for(let t of e.children??[])r(t,i+1,e.id)};for(let t of e)r(t,0);return n}function Oe(){return(Oe=e((()=>{})))()}function ke(e){let t=[],n=0;for(;n<e.length;){let r=n+1;for(;r<e.length&&e[r]?.level!==0;)r+=1;t.push({startIndex:n,endIndexExclusive:r}),n=r}let r=t.map(({startIndex:e,endIndexExclusive:t})=>`${e}:${t}`).join(`|`);return{itemCount:e.length,groups:t,signature:`${e.length}|${r}`}}function L(e,t){return Number.isFinite(e)&&e>0?e:t}function Ae(e){let t=e.endIndexExclusive-e.startIndex;return Math.min(Pe,t)}function je(e,t){let n=Math.max(1,t),r=[],i=1,a=1,o=0;for(let t of e.groups){let e=Ae(t),s=n-a+1;a>1&&e>s&&(o+=s,i+=1,a=1);for(let e=t.startIndex;e<t.endIndexExclusive;e+=1)r[e]={column:i,row:a},a+=1,a>n&&(i+=1,a=1)}return{placements:r,usedColumnCount:r.length?Math.max(...r.map(e=>e.column)):1,intentionalGapCount:o}}function Me({descriptor:e,availableWidth:t,availableHeight:n,viewportWidth:r,viewportHeight:i,referenceWidth:a}){let o=Math.max(0,Math.floor(Number.isFinite(e.itemCount)?e.itemCount:0)),s=L(t,240),c=L(n,80),l=L(r,s+16),u=L(i,c),d=Math.max(1,Math.min(s,Math.max(1,l-16))),f=Math.max(1,Math.min(c,u-16)),p=Math.max(1,L(a,1)),m=Math.min(d,p),h=Math.max(1,Math.floor((d-R+V)/234)),g=Math.max(1,Math.min(H,h,o||1)),ee=e.groups.reduce((e,t)=>Math.max(e,Ae(t)),1);if(o===0)return{columnCount:1,rowCount:1,width:m,minWidth:m,maxHeight:f,placements:[]};let _,v=1/0;for(let t=1;t<=g;t+=1){let n=Math.max(ee,Math.ceil(o/t)),r=je(e,n);for(;r.usedColumnCount>t&&n<o;)n+=1,r=je(e,n);let i=r.usedColumnCount,a=Math.max(m,R+i*B+(i-1)*V),s=z+n*Ne,c=a/d,l=s/f,u=(i*n-o)/o,p=r.intentionalGapCount/o,h=Math.max(c,l)+.25*Math.abs(c-l)+.01*u+.02*p+.04*(i-1);h<v&&(v=h,_={columnCount:i,rowCount:n,width:Math.min(d,a),minWidth:m,maxHeight:f,placements:r.placements})}return _??{columnCount:1,rowCount:o,width:m,minWidth:m,maxHeight:f,placements:je(e,o).placements}}var R,z,B,V,Ne,H,Pe;function U(){return(U=e((()=>{R=16,z=48,B=224,V=10,Ne=32,H=6,Pe=3})))()}var W,Fe,G,Ie,Le,Re,ze,Be,Ve,He,Ue,We,K,q;function Ge(){return(Ge=e((()=>{W=`_6EH37F`,Fe=`UBll8Q`,G=`-y3RZP`,Ie=`ayLJ50`,Le=`_430vL2`,Re=`_2MFkGF`,ze=`JhnGSK`,Be=`_0cHzF8`,Ve=`o5NWnX`,He=`ibSd-S`,Ue=`lXezvv`,We=`FMlLGX`,K=`d2Zt7U`,q={treeNodeButton:W,treePopupHeader:Fe,treeColumns:G,treeColumnRow:Ie,treeColumnsPopupLayout:Le,treeColumnCheckBox:Re,treeNodeSelectionCell:ze,treeNodeActionCell:Be,treeIndent:Ve,treeExpander:He,treeExpanderPlaceholder:Ue,treeExpanderIcon:We,treeExpanderIconExpanded:K}})))()}function Ke({node:e,level:t,highlight:n,hasChildren:i,isExpanded:o,selected:c,partial:l,selectionMode:u,optionsLayout:d=`tree`,onToggleExpand:f,onToggleSelection:m,onActivate:h,actionRef:g}){let ee=d===`tree`,_=d===`columns`&&t===0,v=(0,J.jsx)(p,{text:e.label,code:e.code,searchText:n,emphasizeContent:_}),te=i?(0,J.jsx)(`span`,{className:q.treeExpander,"aria-hidden":`true`,onMouseDown:e=>e.preventDefault(),onClick:e=>{e.stopPropagation(),f?.()},"data-ui":`tree-select-expander`,"data-action":o?`collapse-tree-select-node`:`expand-tree-select-node`,children:(0,J.jsx)(r,{className:s(q.treeExpanderIcon,o&&q.treeExpanderIconExpanded)})}):(0,J.jsx)(`div`,{className:q.treeExpanderPlaceholder,"aria-hidden":`true`});return u===`multi`&&d===`tree`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{role:`gridcell`,className:q.treeNodeSelectionCell,children:[(0,J.jsx)(`div`,{className:q.treeIndent,style:{"--tree-level":t},"aria-hidden":`true`}),te,(0,J.jsx)(`div`,{className:q.treeColumnCheckBox,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:(0,J.jsx)(a,{value:c,indeterminate:l,disabled:e.disabled,"aria-label":`${c?`Убрать`:`Добавить`} «${e.label}» ${c?`из выбора`:`в выбор`}`,onChange:()=>m?.()})})]}),(0,J.jsx)(`div`,{role:`gridcell`,className:q.treeNodeActionCell,children:(0,J.jsx)(he,{ref:g,className:q.treeNodeButton,tabIndex:-1,disabled:e.disabled,"aria-label":`Выбрать только «${e.label}»`,text:e.label,code:e.code,searchText:n,onMouseDown:e=>e.preventDefault(),onClick:h})})]}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:q.treeIndent,style:{"--tree-level":t},"aria-hidden":`true`}),ee?te:null,u===`multi`?(0,J.jsx)(`div`,{className:q.treeColumnCheckBox,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:(0,J.jsx)(a,{value:c,indeterminate:l,disabled:e.disabled,"aria-label":`Выбрать ${e.label}`,onChange:()=>m?.()})}):null,d===`tree`?(0,J.jsx)(ge,{className:q.treeNodeButton,children:v}):(0,J.jsx)(he,{ref:g,className:q.treeNodeButton,tabIndex:-1,disabled:e.disabled,text:e.label,code:e.code,searchText:n,emphasizeContent:_,onMouseDown:e=>e.preventDefault(),onClick:h})]})}var J;function qe(){return(qe=e((()=>{c(),n(),i(),me(),f(),b(),Ge(),J=o(),Ke.__docgenInfo={description:``,methods:[],displayName:`TreeNodeContent`,props:{node:{required:!0,tsType:{name:`signature`,type:`object`,raw:`{
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n,t as r}from"./chevron-right-Bryg2EIf.js";import{n as i,t as a}from"./CheckBox-A1DE9OKH.js";import{n as o}from"./iframe-BvendKJ_.js";import{a as s,i as c,r as l,s as u,t as d}from"./utils-tg3ibbzi.js";import{n as f,t as p}from"./OptionContent-J_mD8o8Q.js";import{l as m,o as h}from"./Input-C-RwifM5.js";import{n as g,t as ee}from"./PickerField-BiRCrEVk.js";import{c as _,i as v,l as te,n as ne,r as re,s as ie,t as ae,u as y}from"./usePickerTriggerController-Ceb5Hrtf.js";import{a as oe,n as se,o as ce,t as le}from"./Option-7XzYAa1X.js";import{i as ue,n as de,r as fe,t as pe}from"./usePickerQuery-BA8NMnw6.js";import{n as me,t as he}from"./OptionButton-De2RG5bE.js";import{n as b,t as ge}from"./OptionContentContainer-BMe8XiaH.js";function x(e,t){return`${e}::${t}`}function _e(e){let t=new Map,n=new Map,r=new Map,i=new Map,a=new Map,o=new Map,s=new Map,c=0,l=(e,u)=>{t.set(e.id,e),n.set(e.id,u),i.set(e.id,c++);let d=x(e.codeKey,e.value);a.set(d,e.id);let f=o.get(d);f?f.push(e.id):o.set(d,[e.id]);let p=(e.children??[]).map(e=>e.id);r.set(e.id,p);for(let t of e.children??[])l(t,e.id);s.set(e.id,e.disabled===!0||p.some(e=>s.get(e)===!0))};for(let t of e)l(t);return{rootIds:e.map(e=>e.id),nodeById:t,parentById:n,childrenById:r,preorderIndexById:i,nodeIdByCodeValue:a,nodeIdsByCodeValue:o,subtreeContainsDisabledById:s}}function S(e,t){let n=t.nodeById.get(e);return n?t.nodeIdsByCodeValue.get(x(n.codeKey,n.value))??[]:[]}function ve(e,t){if(e)return t.nodeIdByCodeValue.get(x(e.codeKey,e.value))}function ye(e,t){let n=new Set;if(!e)return n;for(let[r,i]of Object.entries(e))for(let e of i)for(let i of t.nodeIdsByCodeValue.get(x(r,e))??[])n.add(i);return A(n,t)}function C(e,t){let n=[...e].sort((e,n)=>(t.preorderIndexById.get(e)??2**53-1)-(t.preorderIndexById.get(n)??2**53-1)),r={},i=new Set;for(let e of n){let n=t.nodeById.get(e);if(!n)continue;let a=x(n.codeKey,n.value);i.has(a)||(r[n.codeKey]=r[n.codeKey]??[],r[n.codeKey].push(n.value),i.add(a))}return r}function w(e,t){let n=[],r=t.parentById.get(e);for(;r;)n.push(r),r=t.parentById.get(r);return n}function T(e,t,n){let r=n.parentById.get(e);for(;r;){if(r===t)return!0;r=n.parentById.get(r)}return!1}function be(e,t){let n=S(e,t);return!n.length||n.some(e=>{let n=t.nodeById.get(e);return!n||n.selectionBehavior===`descendants`||t.subtreeContainsDisabledById.get(e)===!0})?!1:!n.some((e,r)=>n.some((n,i)=>r!==i&&(T(e,n,t)||T(n,e,t))))}function xe(e,t){return be(e,t)?S(e,t):[e]}function E(e,t,n){for(let r of[...e])T(r,t,n)&&e.delete(r)}function D(e,t,n){let r=[t];for(let t=0;t<r.length;t+=1){let i=r[t];if(i){r.push(...n.childrenById.get(i)??[]);for(let t of S(i,n))e.delete(t)}}}function O(e,t,n){if(t.has(e))return!0;if(n.nodeById.get(e)?.disabled)return!1;let r=n.childrenById.get(e)??[];return r.length!==0&&r.every(e=>O(e,t,n))}function k(e,t,n){if(!n.nodeById.has(e))return!1;let r=t.childrenById.get(e)??[],i=n.childrenById.get(e)??[];return r.length===i.length&&r.every((e,r)=>i[r]===e&&k(e,t,n))}function A(e,t){let n=new Set(e);for(let e of[...n])if(t.nodeById.get(e)?.selectionBehavior===`descendants`){n.delete(e);for(let r of P(t,t.childrenById.get(e)??[]))n.add(r)}for(let e of[...n])w(e,t).some(e=>n.has(e))&&n.delete(e);let r=[...t.nodeById.keys()].sort((e,n)=>(t.preorderIndexById.get(n)??0)-(t.preorderIndexById.get(e)??0));for(let e of r){let r=t.childrenById.get(e)??[];if(!(r.length===0||n.has(e)||t.nodeById.get(e)?.disabled||t.nodeById.get(e)?.selectionBehavior===`descendants`)&&r.every(e=>O(e,n,t))){let r=S(e,t);if(be(e,t)&&r.every(e=>{let r=t.nodeById.get(e);return r&&!r.disabled&&r.selectionBehavior!==`descendants`&&O(e,n,t)}))for(let e of r)E(n,e,t),n.add(e)}}return n}function Se(e,t,n){let r=n.parentById.get(t);for(;r;){if(e.has(r)){for(let t of S(r,n))if(e.has(t)){e.delete(t);for(let r of P(n,n.childrenById.get(t)??[]))e.add(r)}return!0}r=n.parentById.get(r)}return!1}function j(e,t,n){return t.has(e)?!0:w(e,n).some(e=>t.has(e))}function M(e,t,n,r){let i=n.childrenById.get(e)??[];if(t.has(e))return r.selectedIds.add(e),{selected:!0,partial:!1};if(i.length===0)return{selected:!1,partial:!1};let a=i.map(e=>M(e,t,n,r)),o=a.every(e=>e.selected&&!e.partial),s=a.some(e=>e.selected||e.partial);return o?(r.selectedIds.add(e),{selected:!0,partial:!1}):s?(r.partialIds.add(e),{selected:!1,partial:!0}):{selected:!1,partial:!1}}function N(e,t){let n={selectedIds:new Set,partialIds:new Set};for(let r of t.rootIds)M(r,e,t,n);return n}function P(e,t=e.rootIds){let n=t=>{let r=e.nodeById.get(t),i=(e.childrenById.get(t)??[]).map(n),a=i.flatMap(e=>e.selectedIds),o=r?.disabled===!0||i.some(e=>e.containsDisabled);if(!r||r.disabled)return{containsDisabled:!0,selectedIds:a};if(r.selectionBehavior===`descendants`)return{containsDisabled:o,selectedIds:a};let s=!be(t,e);return o||s?{containsDisabled:!0,selectedIds:a}:{containsDisabled:!1,selectedIds:[t]}};return new Set(t.flatMap(e=>n(e).selectedIds))}function F(e,t,n,r){let i=ye(e,n),a=r!==void 0&&!k(t,n,r);if(!a&&O(t,i,n))return D(i,t,n),C(A(i,n),n);let o=e=>{if(i.has(e)){D(i,e,n);return}if(O(e,i,n)){D(i,e,n);return}if(j(e,i,n)){Se(i,e,n)&&(j(e,i,n)||O(e,i,n)?o(e):D(i,e,n));return}for(let t of xe(e,n))E(i,t,n),i.add(t)},s=e=>{if(!r?.nodeById.has(e))return[];if(k(e,n,r)){let t=[...P(n,[e])];return t.length>0?t:j(e,i,n)||O(e,i,n)?[e]:[]}return(r.childrenById.get(e)??[]).flatMap(s)},c=a?s(t):[...P(n,[t])],l=c.length===0&&(j(t,i,n)||O(t,i,n))?[t]:c,u=l.length>0&&l.every(e=>j(e,i,n)||O(e,i,n));for(let e of l){let t=j(e,i,n)||O(e,i,n);(u&&t||!u&&!t)&&o(e)}return C(A(i,n),n)}function I(e,t,n){let r=t.parentById.get(e);for(;r;)n.add(r),r=t.parentById.get(r)}function Ce(e,t){let n=new Set;for(let r of e)I(r,t,n);return n}function we(e,t,n){let r=new Set;for(let[i,a]of e.childrenById){if(a.length===0)continue;let o=e.nodeById.get(i);o&&(n.get(i)??t.has(o.codeKey))&&r.add(i)}return r}function Te(e,t,n){let r=(e.children??[]).map(e=>Te(e,t,n)).filter(e=>!!e);return!e.searchText.toLowerCase().includes(t)&&r.length===0?null:(r.length>0&&n.add(e.id),r.length===0?e:{...e,children:r})}function Ee(e,t){let n=t.trim().toLowerCase();if(!n)return{nodes:[...e],expandedIds:new Set};let r=new Set;return{nodes:e.map(e=>Te(e,n,r)).filter(e=>!!e),expandedIds:r}}function De(e,t){let n=[],r=(e,i,a)=>{let o=(e.children?.length??0)>0,s=o&&t.has(e.id);if(n.push({node:e,level:i,parentId:a,hasChildren:o,isExpanded:s,isLeaf:!o}),s)for(let t of e.children??[])r(t,i+1,e.id)};for(let t of e)r(t,0);return n}function Oe(){return(Oe=e((()=>{})))()}function ke(e){let t=[],n=0;for(;n<e.length;){let r=n+1;for(;r<e.length&&e[r]?.level!==0;)r+=1;t.push({startIndex:n,endIndexExclusive:r}),n=r}let r=t.map(({startIndex:e,endIndexExclusive:t})=>`${e}:${t}`).join(`|`);return{itemCount:e.length,groups:t,signature:`${e.length}|${r}`}}function L(e,t){return Number.isFinite(e)&&e>0?e:t}function Ae(e){let t=e.endIndexExclusive-e.startIndex;return Math.min(Pe,t)}function je(e,t){let n=Math.max(1,t),r=[],i=1,a=1,o=0;for(let t of e.groups){let e=Ae(t),s=n-a+1;a>1&&e>s&&(o+=s,i+=1,a=1);for(let e=t.startIndex;e<t.endIndexExclusive;e+=1)r[e]={column:i,row:a},a+=1,a>n&&(i+=1,a=1)}return{placements:r,usedColumnCount:r.length?Math.max(...r.map(e=>e.column)):1,intentionalGapCount:o}}function Me({descriptor:e,availableWidth:t,availableHeight:n,viewportWidth:r,viewportHeight:i,referenceWidth:a}){let o=Math.max(0,Math.floor(Number.isFinite(e.itemCount)?e.itemCount:0)),s=L(t,240),c=L(n,80),l=L(r,s+16),u=L(i,c),d=Math.max(1,Math.min(s,Math.max(1,l-16))),f=Math.max(1,Math.min(c,u-16)),p=Math.max(1,L(a,1)),m=Math.min(d,p),h=Math.max(1,Math.floor((d-R+V)/234)),g=Math.max(1,Math.min(H,h,o||1)),ee=e.groups.reduce((e,t)=>Math.max(e,Ae(t)),1);if(o===0)return{columnCount:1,rowCount:1,width:m,minWidth:m,maxHeight:f,placements:[]};let _,v=1/0;for(let t=1;t<=g;t+=1){let n=Math.max(ee,Math.ceil(o/t)),r=je(e,n);for(;r.usedColumnCount>t&&n<o;)n+=1,r=je(e,n);let i=r.usedColumnCount,a=Math.max(m,R+i*B+(i-1)*V),s=z+n*Ne,c=a/d,l=s/f,u=(i*n-o)/o,p=r.intentionalGapCount/o,h=Math.max(c,l)+.25*Math.abs(c-l)+.01*u+.02*p+.04*(i-1);h<v&&(v=h,_={columnCount:i,rowCount:n,width:Math.min(d,a),minWidth:m,maxHeight:f,placements:r.placements})}return _??{columnCount:1,rowCount:o,width:m,minWidth:m,maxHeight:f,placements:je(e,o).placements}}var R,z,B,V,Ne,H,Pe;function U(){return(U=e((()=>{R=16,z=48,B=224,V=10,Ne=32,H=6,Pe=3})))()}var W,Fe,G,Ie,Le,Re,ze,Be,Ve,He,Ue,We,K,q;function Ge(){return(Ge=e((()=>{W=`_6EH37F`,Fe=`UBll8Q`,G=`-y3RZP`,Ie=`ayLJ50`,Le=`_430vL2`,Re=`_2MFkGF`,ze=`JhnGSK`,Be=`_0cHzF8`,Ve=`o5NWnX`,He=`ibSd-S`,Ue=`lXezvv`,We=`FMlLGX`,K=`d2Zt7U`,q={treeNodeButton:W,treePopupHeader:Fe,treeColumns:G,treeColumnRow:Ie,treeColumnsPopupLayout:Le,treeColumnCheckBox:Re,treeNodeSelectionCell:ze,treeNodeActionCell:Be,treeIndent:Ve,treeExpander:He,treeExpanderPlaceholder:Ue,treeExpanderIcon:We,treeExpanderIconExpanded:K}})))()}function Ke({node:e,level:t,highlight:n,hasChildren:i,isExpanded:o,selected:c,partial:l,selectionMode:u,optionsLayout:d=`tree`,onToggleExpand:f,onToggleSelection:m,onActivate:h,actionRef:g}){let ee=d===`tree`,_=d===`columns`&&t===0,v=(0,J.jsx)(p,{text:e.label,code:e.code,searchText:n,emphasizeContent:_}),te=i?(0,J.jsx)(`span`,{className:q.treeExpander,"aria-hidden":`true`,onMouseDown:e=>e.preventDefault(),onClick:e=>{e.stopPropagation(),f?.()},"data-ui":`tree-select-expander`,"data-action":o?`collapse-tree-select-node`:`expand-tree-select-node`,children:(0,J.jsx)(r,{className:s(q.treeExpanderIcon,o&&q.treeExpanderIconExpanded)})}):(0,J.jsx)(`div`,{className:q.treeExpanderPlaceholder,"aria-hidden":`true`});return u===`multi`&&d===`tree`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{role:`gridcell`,className:q.treeNodeSelectionCell,children:[(0,J.jsx)(`div`,{className:q.treeIndent,style:{"--tree-level":t},"aria-hidden":`true`}),te,(0,J.jsx)(`div`,{className:q.treeColumnCheckBox,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:(0,J.jsx)(a,{value:c,indeterminate:l,disabled:e.disabled,"aria-label":`${c?`Убрать`:`Добавить`} «${e.label}» ${c?`из выбора`:`в выбор`}`,onChange:()=>m?.()})})]}),(0,J.jsx)(`div`,{role:`gridcell`,className:q.treeNodeActionCell,children:(0,J.jsx)(he,{ref:g,className:q.treeNodeButton,tabIndex:-1,disabled:e.disabled,"aria-label":`Выбрать только «${e.label}»`,text:e.label,code:e.code,searchText:n,onMouseDown:e=>e.preventDefault(),onClick:h})})]}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:q.treeIndent,style:{"--tree-level":t},"aria-hidden":`true`}),ee?te:null,u===`multi`?(0,J.jsx)(`div`,{className:q.treeColumnCheckBox,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),children:(0,J.jsx)(a,{value:c,indeterminate:l,disabled:e.disabled,"aria-label":`Выбрать ${e.label}`,onChange:()=>m?.()})}):null,d===`tree`?(0,J.jsx)(ge,{className:q.treeNodeButton,children:v}):(0,J.jsx)(he,{ref:g,className:q.treeNodeButton,tabIndex:-1,disabled:e.disabled,text:e.label,code:e.code,searchText:n,emphasizeContent:_,onMouseDown:e=>e.preventDefault(),onClick:h})]})}var J;function qe(){return(qe=e((()=>{c(),n(),i(),me(),f(),b(),Ge(),J=o(),Ke.__docgenInfo={description:``,methods:[],displayName:`TreeNodeContent`,props:{node:{required:!0,tsType:{name:`signature`,type:`object`,raw:`{
2
2
  id: string;
3
3
  codeKey: string;
4
4
  value: string;
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-E950Ehp0.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-DGivDYe5.js";import{a as p,i as m,n as h,o as g,r as _,s as v,t as y}from"./TreeSelect.stories-BigcPfEn.js";function b(e){let t={code:`code`,h2:`h2`,p:`p`,...n(),...e.components};return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(s,{of:g,parameters:{docs:{toc:!0}}}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-BvendKJ_.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-Bn1nLfdu.js";import{a as p,i as m,n as h,o as g,r as _,s as v,t as y}from"./TreeSelect.stories-BJErYrTv.js";function b(e){let t={code:`code`,h2:`h2`,p:`p`,...n(),...e.components};return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(s,{of:g,parameters:{docs:{toc:!0}}}),`
2
2
  `,(0,S.jsx)(u,{children:`TreeSelect`}),`
3
3
  `,(0,S.jsx)(o,{children:`Single-select для выбора одного узла из дерева`}),`
4
4
  `,(0,S.jsxs)(t.p,{children:[(0,S.jsx)(t.code,{children:`TreeSelect`}),` подходит для сценариев, где выбор должен происходить по одному узлу, но пользователь работает не с плоским списком, а с иерархией.`]}),`
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-E950Ehp0.js";import{n as r,r as i,t as a,u as o}from"./TreePickerBase-BhWXyIoO.js";function s(e){if(e)return e.code&&e.code!==e.label?`${e.label} · ${e.code}`:e.label}function c({label:e,description:t,disabled:n,placeholder:r=`Выберите значение`,size:c,nodes:d,value:f,onChange:p,query:m,defaultQuery:h,onQuery:g,isLoading:_,error:v,fieldError:y,required:b,clearable:x=!1,defaultExpandedCodeKeys:S}){let C=(0,l.useMemo)(()=>i(d),[d]),w=o(f,C),T=w?C.nodeById.get(w):void 0;return(0,u.jsx)(a,{label:e,description:t,disabled:n,placeholder:r,size:c,nodes:d,selectedIds:w?new Set([w]):new Set,partialIds:new Set,selectionMode:`single`,defaultExpandedCodeKeys:S,triggerMode:`search`,selectedSummaryText:s(T),query:m,defaultQuery:h,onQuery:g,onNodeActivate:e=>p({codeKey:e.codeKey,value:e.value}),onClearSelection:x?()=>p(void 0):void 0,isLoading:_,error:v,fieldError:y,required:b})}var l,u;function d(){return(d=e((()=>{l=t(),r(),u=n(),c.__docgenInfo={description:``,methods:[],displayName:`TreeSelect`,props:{nodes:{required:!0,tsType:{name:`unknown`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Выберите значение"`,computed:!1}},query:{required:!1,tsType:{name:`string`},description:``},defaultQuery:{required:!1,tsType:{name:`string`},description:``},onQuery:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},isLoading:{required:!1,tsType:{name:`boolean`},description:``},error:{required:!1,tsType:{name:`string`},description:``},fieldError:{required:!1,tsType:{name:`string`},description:`Ошибка выбранного значения; error сообщает о сбое загрузки дерева в popup.`},required:{required:!1,tsType:{name:`boolean`},description:``},clearable:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`false`,computed:!1}},defaultExpandedCodeKeys:{required:!1,tsType:{name:`unknown`},description:"Ключи уровней, узлы которых раскрываются до ручного действия пользователя.\nЗначения сопоставляются с `TreeSelectNode.codeKey`."}},composes:[`Omit`]}})))()}export{d as n,c as t};
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-BvendKJ_.js";import{n as r,r as i,t as a,u as o}from"./TreePickerBase-DAld1sj1.js";function s(e){if(e)return e.code&&e.code!==e.label?`${e.label} · ${e.code}`:e.label}function c({label:e,description:t,disabled:n,placeholder:r=`Выберите значение`,size:c,nodes:d,value:f,onChange:p,query:m,defaultQuery:h,onQuery:g,isLoading:_,error:v,fieldError:y,required:b,clearable:x=!1,defaultExpandedCodeKeys:S}){let C=(0,l.useMemo)(()=>i(d),[d]),w=o(f,C),T=w?C.nodeById.get(w):void 0;return(0,u.jsx)(a,{label:e,description:t,disabled:n,placeholder:r,size:c,nodes:d,selectedIds:w?new Set([w]):new Set,partialIds:new Set,selectionMode:`single`,defaultExpandedCodeKeys:S,triggerMode:`search`,selectedSummaryText:s(T),query:m,defaultQuery:h,onQuery:g,onNodeActivate:e=>p({codeKey:e.codeKey,value:e.value}),onClearSelection:x?()=>p(void 0):void 0,isLoading:_,error:v,fieldError:y,required:b})}var l,u;function d(){return(d=e((()=>{l=t(),r(),u=n(),c.__docgenInfo={description:``,methods:[],displayName:`TreeSelect`,props:{nodes:{required:!0,tsType:{name:`unknown`},description:``},placeholder:{required:!1,tsType:{name:`string`},description:``,defaultValue:{value:`"Выберите значение"`,computed:!1}},query:{required:!1,tsType:{name:`string`},description:``},defaultQuery:{required:!1,tsType:{name:`string`},description:``},onQuery:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},isLoading:{required:!1,tsType:{name:`boolean`},description:``},error:{required:!1,tsType:{name:`string`},description:``},fieldError:{required:!1,tsType:{name:`string`},description:`Ошибка выбранного значения; error сообщает о сбое загрузки дерева в popup.`},required:{required:!1,tsType:{name:`boolean`},description:``},clearable:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`false`,computed:!1}},defaultExpandedCodeKeys:{required:!1,tsType:{name:`unknown`},description:"Ключи уровней, узлы которых раскрываются до ручного действия пользователя.\nЗначения сопоставляются с `TreeSelectNode.codeKey`."}},composes:[`Omit`]}})))()}export{d as n,c as t};
@@ -1,4 +1,4 @@
1
- import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-E950Ehp0.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./treeStoryFixtures-DXHh9GL3.js";import{n as s,t as c}from"./TreeSelect-DleoF0hJ.js";var l=t({Basic:()=>m,Empty:()=>_,FirstLevelExpanded:()=>g,RequiredWithError:()=>v,SelectParent:()=>h,__namedExportsOrder:()=>y,default:()=>p});function u({args:e,updateArgs:t}){return(0,d.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,d.jsx)(c,{...e,onChange:n=>{e.onChange(n),t({value:n,fieldError:n?void 0:e.fieldError})}}),(0,d.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,e.value?`${e.value.codeKey}=${e.value.value}`:`пусто`]})]})}var d,f,p,m,h,g,_,v,y;function b(){return(b=e((()=>{r(),s(),a(),d=n(),f=i((e,t)=>(0,d.jsx)(u,{args:e,updateArgs:t})),p={title:`UI/TreeSelect`,component:c,parameters:{atomicCanvas:!0,layout:`padded`},args:{label:`Выбор узла`,description:`Single-select поверх дерева. Можно выбрать любой узел.`,nodes:o,value:void 0,onChange:()=>{}},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под полем.`,control:`text`},required:{description:`Помечает выбор узла как обязательный.`,control:`boolean`},fieldError:{description:`Текст ошибки выбранного узла под полем.`,control:`text`},placeholder:{description:`Текст без выбранного узла.`,control:`text`},nodes:{description:`Дерево доступных узлов.`,control:!1},value:{description:`Выбранный узел в формате codeKey/value.`,control:!1},onChange:{description:`Вызывается при выборе узла.`,control:!1},query:{description:`Контролируемый текст поиска.`,control:`text`},defaultQuery:{description:`Начальный текст поиска в uncontrolled-режиме.`,control:`text`},onQuery:{description:`Вызывается при вводе поисковой строки.`,control:!1},isLoading:{description:`Показывает загрузку дерева.`,control:`boolean`},error:{description:`Текст ошибки загрузки.`,control:`text`},clearable:{description:`Показывает действие очистки выбора.`,control:`boolean`},defaultExpandedCodeKeys:{description:`Ключи уровней, раскрываемых при открытии.`,control:!1},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},m={render:f,args:{value:{codeKey:`BRANCH`,value:`B0101`}}},h={render:f,args:{label:`Выбор родителя`,description:`Проверка single-select сценария, когда выбирается не leaf, а промежуточный узел.`,value:{codeKey:`REGION`,value:`R01`}}},g={render:f,args:{label:`Раскрыт первый уровень`,description:`Все узлы уровня REGION раскрыты до первого ручного действия пользователя.`,defaultExpandedCodeKeys:[`REGION`]}},_={render:f,args:{nodes:[],description:`Состояние без доступных узлов.`}},v={name:`Обязательное поле с ошибкой`,render:f,args:{required:!0,fieldError:`Выберите узел дерева.`,value:void 0}},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
1
+ import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{n}from"./iframe-BvendKJ_.js";import{n as r,t as i}from"./createControlledStoryRender-BouhvX-R.js";import{n as a,t as o}from"./treeStoryFixtures-DXHh9GL3.js";import{n as s,t as c}from"./TreeSelect-DKUJycNd.js";var l=t({Basic:()=>m,Empty:()=>_,FirstLevelExpanded:()=>g,RequiredWithError:()=>v,SelectParent:()=>h,__namedExportsOrder:()=>y,default:()=>p});function u({args:e,updateArgs:t}){return(0,d.jsxs)(`div`,{style:{display:`grid`,gap:12,maxWidth:520},children:[(0,d.jsx)(c,{...e,onChange:n=>{e.onChange(n),t({value:n,fieldError:n?void 0:e.fieldError})}}),(0,d.jsxs)(`div`,{style:{fontSize:`var(--font-size-sm)`,color:`var(--content-1)`},children:[`Текущее значение: `,e.value?`${e.value.codeKey}=${e.value.value}`:`пусто`]})]})}var d,f,p,m,h,g,_,v,y;function b(){return(b=e((()=>{r(),s(),a(),d=n(),f=i((e,t)=>(0,d.jsx)(u,{args:e,updateArgs:t})),p={title:`UI/TreeSelect`,component:c,parameters:{atomicCanvas:!0,layout:`padded`},args:{label:`Выбор узла`,description:`Single-select поверх дерева. Можно выбрать любой узел.`,nodes:o,value:void 0,onChange:()=>{}},argTypes:{label:{description:`Заголовок поля.`,control:`text`},description:{description:`Описание под полем.`,control:`text`},required:{description:`Помечает выбор узла как обязательный.`,control:`boolean`},fieldError:{description:`Текст ошибки выбранного узла под полем.`,control:`text`},placeholder:{description:`Текст без выбранного узла.`,control:`text`},nodes:{description:`Дерево доступных узлов.`,control:!1},value:{description:`Выбранный узел в формате codeKey/value.`,control:!1},onChange:{description:`Вызывается при выборе узла.`,control:!1},query:{description:`Контролируемый текст поиска.`,control:`text`},defaultQuery:{description:`Начальный текст поиска в uncontrolled-режиме.`,control:`text`},onQuery:{description:`Вызывается при вводе поисковой строки.`,control:!1},isLoading:{description:`Показывает загрузку дерева.`,control:`boolean`},error:{description:`Текст ошибки загрузки.`,control:`text`},clearable:{description:`Показывает действие очистки выбора.`,control:`boolean`},defaultExpandedCodeKeys:{description:`Ключи уровней, раскрываемых при открытии.`,control:!1},disabled:{description:`Блокирует взаимодействие с полем.`,control:`boolean`},size:{description:`Размер поля и подписей.`,control:`select`,options:[`xs`,`sm`,`md`,`lg`,`xl`]}}},m={render:f,args:{value:{codeKey:`BRANCH`,value:`B0101`}}},h={render:f,args:{label:`Выбор родителя`,description:`Проверка single-select сценария, когда выбирается не leaf, а промежуточный узел.`,value:{codeKey:`REGION`,value:`R01`}}},g={render:f,args:{label:`Раскрыт первый уровень`,description:`Все узлы уровня REGION раскрыты до первого ручного действия пользователя.`,defaultExpandedCodeKeys:[`REGION`]}},_={render:f,args:{nodes:[],description:`Состояние без доступных узлов.`}},v={name:`Обязательное поле с ошибкой`,render:f,args:{required:!0,fieldError:`Выберите узел дерева.`,value:void 0}},m.parameters={...m.parameters,docs:{...m.parameters?.docs,source:{originalSource:`{
2
2
  render: renderTreeSelectStory,
3
3
  args: {
4
4
  value: {
@@ -1,4 +1,4 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-E950Ehp0.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-DGivDYe5.js";import{_ as p,a as m,c as h,d as g,f as _,g as v,h as y,i as b,l as x,m as S,n as C,o as w,p as T,r as E,s as D,t as O,u as k}from"./TreeTable.stories-Bdx3y7Yb.js";function A(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(s,{of:D,parameters:{docs:{toc:!0}}}),`
1
+ import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-BvendKJ_.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-Bn1nLfdu.js";import{_ as p,a as m,c as h,d as g,f as _,g as v,h as y,i as b,l as x,m as S,n as C,o as w,p as T,r as E,s as D,t as O,u as k}from"./TreeTable.stories-BnyxdNPz.js";function A(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(s,{of:D,parameters:{docs:{toc:!0}}}),`
2
2
  `,(0,M.jsx)(u,{children:`TreeTable`}),`
3
3
  `,(0,M.jsx)(o,{children:`Древовидная таблица для плоских OData-данных на базе TanStack Table`}),`
4
4
  `,(0,M.jsxs)(t.p,{children:[(0,M.jsx)(t.code,{children:`TreeTable`}),` предназначен для сценариев, где данные приходят плоским списком, но в UI должны выглядеть как дерево.