@ryuzaki13/react-foundation-ui 3.5.0 → 3.6.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 (571) hide show
  1. package/dist/badge/index.js +1 -1
  2. package/dist/barcode-scanner/index.js +2 -2
  3. package/dist/base-table/index.js +1 -1
  4. package/dist/button/Button.d.ts +4 -2
  5. package/dist/button/Button.d.ts.map +1 -1
  6. package/dist/button/index.js +1 -1
  7. package/dist/chunks/{CalendarView-CwbPJG2Y.js → CalendarView-BCXVjLFz.js} +23 -13
  8. package/dist/chunks/CalendarView-BCXVjLFz.js.map +1 -0
  9. package/dist/chunks/OptionContentContainer-CWHlfm5Z.js +14 -0
  10. package/dist/chunks/OptionContentContainer-CWHlfm5Z.js.map +1 -0
  11. package/dist/chunks/{TextEditorLexicalClient-BRp8jHId.js → TextEditorLexicalClient-DrSVnvOe.js} +4 -4
  12. package/dist/chunks/{TextEditorLexicalClient-BRp8jHId.js.map → TextEditorLexicalClient-DrSVnvOe.js.map} +1 -1
  13. package/dist/chunks/{base-table-BHmboNzl.js → base-table-BBp5WMDM.js} +5 -5
  14. package/dist/chunks/{base-table-BHmboNzl.js.map → base-table-BBp5WMDM.js.map} +1 -1
  15. package/dist/chunks/button-DudCl375.js +75 -0
  16. package/dist/chunks/button-DudCl375.js.map +1 -0
  17. package/dist/chunks/context-menu-CrSXJxQL.js +621 -0
  18. package/dist/chunks/context-menu-CrSXJxQL.js.map +1 -0
  19. package/dist/chunks/{date-input-Crijdmmq.js → date-input-CzCDou4s.js} +10 -7
  20. package/dist/chunks/{date-input-Crijdmmq.js.map → date-input-CzCDou4s.js.map} +1 -1
  21. package/dist/chunks/flex-D86M_h-0.js +222 -0
  22. package/dist/chunks/flex-D86M_h-0.js.map +1 -0
  23. package/dist/chunks/{floating-arrow-DKUKx2ZQ.js → floating-arrow-B_iSbzUZ.js} +19 -18
  24. package/dist/chunks/{floating-arrow-DKUKx2ZQ.js.map → floating-arrow-B_iSbzUZ.js.map} +1 -1
  25. package/dist/chunks/{grid-dI94AAbi.js → grid-CFuzBigM.js} +77 -68
  26. package/dist/chunks/grid-CFuzBigM.js.map +1 -0
  27. package/dist/chunks/{misc-CGQOXXCy.js → misc-Cm_LDrUD.js} +120 -97
  28. package/dist/chunks/misc-Cm_LDrUD.js.map +1 -0
  29. package/dist/chunks/{modal-febBsMyR.js → modal-Dz5TzkTB.js} +36 -27
  30. package/dist/chunks/modal-Dz5TzkTB.js.map +1 -0
  31. package/dist/chunks/{picker-BA6okKnz.js → picker-SJXnHwsj.js} +144 -121
  32. package/dist/chunks/picker-SJXnHwsj.js.map +1 -0
  33. package/dist/chunks/popover-BJH-yHvb.js +263 -0
  34. package/dist/chunks/popover-BJH-yHvb.js.map +1 -0
  35. package/dist/chunks/{select-DblNSc5H.js → select--oIrv7SC.js} +98 -104
  36. package/dist/chunks/select--oIrv7SC.js.map +1 -0
  37. package/dist/chunks/separator-CHpBud1e.js +18 -0
  38. package/dist/chunks/separator-CHpBud1e.js.map +1 -0
  39. package/dist/chunks/{sortable-CQmMHAF8.js → sortable-BujAJgFa.js} +5 -3
  40. package/dist/chunks/{sortable-CQmMHAF8.js.map → sortable-BujAJgFa.js.map} +1 -1
  41. package/dist/chunks/{table-BnvjPaE1.js → table-BDY9Zw--.js} +2 -2
  42. package/dist/chunks/{table-BnvjPaE1.js.map → table-BDY9Zw--.js.map} +1 -1
  43. package/dist/chunks/ui.module-oRwY3Zli.js.map +1 -1
  44. package/dist/context-menu/components/ContextMenu.d.ts +16 -9
  45. package/dist/context-menu/components/ContextMenu.d.ts.map +1 -1
  46. package/dist/context-menu/components/ContextMenuTrigger.d.ts +6 -4
  47. package/dist/context-menu/components/ContextMenuTrigger.d.ts.map +1 -1
  48. package/dist/context-menu/components/DropdownMenu.d.ts +12 -7
  49. package/dist/context-menu/components/DropdownMenu.d.ts.map +1 -1
  50. package/dist/context-menu/components/DropdownMenuTrigger.d.ts +6 -4
  51. package/dist/context-menu/components/DropdownMenuTrigger.d.ts.map +1 -1
  52. package/dist/context-menu/components/MenuContent.d.ts +6 -4
  53. package/dist/context-menu/components/MenuContent.d.ts.map +1 -1
  54. package/dist/context-menu/components/MenuContext.d.ts +12 -7
  55. package/dist/context-menu/components/MenuContext.d.ts.map +1 -1
  56. package/dist/context-menu/components/MenuGroupLabel.d.ts +1 -1
  57. package/dist/context-menu/components/MenuGroupLabel.d.ts.map +1 -1
  58. package/dist/context-menu/components/MenuItem.d.ts.map +1 -1
  59. package/dist/context-menu/components/MenuRoot.d.ts +5 -5
  60. package/dist/context-menu/components/MenuRoot.d.ts.map +1 -1
  61. package/dist/context-menu/components/MenuSeparator.d.ts +1 -2
  62. package/dist/context-menu/components/MenuSeparator.d.ts.map +1 -1
  63. package/dist/context-menu/components/RadialMenuContent.d.ts +6 -4
  64. package/dist/context-menu/components/RadialMenuContent.d.ts.map +1 -1
  65. package/dist/context-menu/components/RadialMenuItem.d.ts +1 -1
  66. package/dist/context-menu/components/RadialMenuItem.d.ts.map +1 -1
  67. package/dist/context-menu/index.js +1 -1
  68. package/dist/date-input/index.js +2 -2
  69. package/dist/date-input/ui/CalendarDayView.d.ts +1 -1
  70. package/dist/date-input/ui/CalendarDayView.d.ts.map +1 -1
  71. package/dist/date-input/ui/CalendarMonthView.d.ts +1 -1
  72. package/dist/date-input/ui/CalendarMonthView.d.ts.map +1 -1
  73. package/dist/date-input/ui/CalendarView.d.ts.map +1 -1
  74. package/dist/date-input/ui/CalendarYearView.d.ts +1 -1
  75. package/dist/date-input/ui/CalendarYearView.d.ts.map +1 -1
  76. package/dist/date-input/ui/DateInput.d.ts.map +1 -1
  77. package/dist/date-time-input/index.js +10 -7
  78. package/dist/date-time-input/index.js.map +1 -1
  79. package/dist/date-time-input/ui/SingleDateTimeInput.d.ts.map +1 -1
  80. package/dist/detail/Detail.d.ts +6 -1
  81. package/dist/detail/Detail.d.ts.map +1 -1
  82. package/dist/detail/index.js +2 -2
  83. package/dist/detail/index.js.map +1 -1
  84. package/dist/disclosure/index.js +1 -1
  85. package/dist/errors/BadRequestPage.d.ts +1 -1
  86. package/dist/errors/BadRequestPage.d.ts.map +1 -1
  87. package/dist/errors/ErrorDisplay.d.ts +2 -2
  88. package/dist/errors/ErrorDisplay.d.ts.map +1 -1
  89. package/dist/errors/ErrorExplosion.d.ts +1 -2
  90. package/dist/errors/ErrorExplosion.d.ts.map +1 -1
  91. package/dist/errors/ForbiddenPage.d.ts +1 -1
  92. package/dist/errors/ForbiddenPage.d.ts.map +1 -1
  93. package/dist/errors/NotFoundPage.d.ts +1 -1
  94. package/dist/errors/NotFoundPage.d.ts.map +1 -1
  95. package/dist/errors/PageError.d.ts +1 -2
  96. package/dist/errors/PageError.d.ts.map +1 -1
  97. package/dist/errors/UnauthorizedPage.d.ts +1 -1
  98. package/dist/errors/UnauthorizedPage.d.ts.map +1 -1
  99. package/dist/errors/ViewNotChanged.d.ts +1 -2
  100. package/dist/errors/ViewNotChanged.d.ts.map +1 -1
  101. package/dist/errors/index.js +74 -44
  102. package/dist/errors/index.js.map +1 -1
  103. package/dist/expandable-action-panel/index.js +2 -2
  104. package/dist/flex/Flex.d.ts +6 -3
  105. package/dist/flex/Flex.d.ts.map +1 -1
  106. package/dist/flex/FlexCenter.d.ts +1 -1
  107. package/dist/flex/FlexCenter.d.ts.map +1 -1
  108. package/dist/flex/FlexContainer.d.ts +7 -1
  109. package/dist/flex/FlexContainer.d.ts.map +1 -1
  110. package/dist/flex/FlexItem.d.ts +7 -1
  111. package/dist/flex/FlexItem.d.ts.map +1 -1
  112. package/dist/flex/FlexSpacer.d.ts +7 -1
  113. package/dist/flex/FlexSpacer.d.ts.map +1 -1
  114. package/dist/flex/PredefinedFlex.d.ts +7 -1
  115. package/dist/flex/PredefinedFlex.d.ts.map +1 -1
  116. package/dist/flex/index.js +1 -1
  117. package/dist/floating-arrow/FloatingArrow.d.ts +4 -1
  118. package/dist/floating-arrow/FloatingArrow.d.ts.map +1 -1
  119. package/dist/floating-arrow/index.js +1 -1
  120. package/dist/grid/Grid.d.ts +4 -2
  121. package/dist/grid/Grid.d.ts.map +1 -1
  122. package/dist/grid/GridContainer.d.ts +7 -1
  123. package/dist/grid/GridContainer.d.ts.map +1 -1
  124. package/dist/grid/GridItem.d.ts +7 -1
  125. package/dist/grid/GridItem.d.ts.map +1 -1
  126. package/dist/grid/index.js +1 -1
  127. package/dist/image/index.js +3 -3
  128. package/dist/layout-picker/index.js +11 -13
  129. package/dist/layout-picker/index.js.map +1 -1
  130. package/dist/layout-picker/ui/LayoutPicker.d.ts.map +1 -1
  131. package/dist/list/List.d.ts +9 -9
  132. package/dist/list/List.d.ts.map +1 -1
  133. package/dist/list/index.js +23 -16
  134. package/dist/list/index.js.map +1 -1
  135. package/dist/listbox/Listbox.d.ts.map +1 -1
  136. package/dist/listbox/index.js +10 -16
  137. package/dist/listbox/index.js.map +1 -1
  138. package/dist/misc/CopyTextWrapper.d.ts +1 -1
  139. package/dist/misc/CopyTextWrapper.d.ts.map +1 -1
  140. package/dist/misc/OneStepScroller.d.ts +1 -1
  141. package/dist/misc/OneStepScroller.d.ts.map +1 -1
  142. package/dist/misc/Scrollable.d.ts +9 -7
  143. package/dist/misc/Scrollable.d.ts.map +1 -1
  144. package/dist/misc/SkeletonLine.d.ts +1 -1
  145. package/dist/misc/SkeletonLine.d.ts.map +1 -1
  146. package/dist/misc/StateIcon.d.ts +6 -7
  147. package/dist/misc/StateIcon.d.ts.map +1 -1
  148. package/dist/misc/index.d.ts +1 -0
  149. package/dist/misc/index.d.ts.map +1 -1
  150. package/dist/misc/index.js +1 -1
  151. package/dist/modal/Modal.d.ts +14 -5
  152. package/dist/modal/Modal.d.ts.map +1 -1
  153. package/dist/modal/index.js +1 -1
  154. package/dist/multi-select/index.js +247 -232
  155. package/dist/multi-select/index.js.map +1 -1
  156. package/dist/multi-select/ui/MultiSelect.d.ts +7 -2
  157. package/dist/multi-select/ui/MultiSelect.d.ts.map +1 -1
  158. package/dist/multi-select/ui/ODataMultiSelect.d.ts +1 -2
  159. package/dist/multi-select/ui/ODataMultiSelect.d.ts.map +1 -1
  160. package/dist/notifications/index.js +5 -7
  161. package/dist/notifications/index.js.map +1 -1
  162. package/dist/option/Option.d.ts +3 -3
  163. package/dist/option/OptionContentContainer.d.ts +7 -0
  164. package/dist/option/OptionContentContainer.d.ts.map +1 -0
  165. package/dist/option/index.js.map +1 -1
  166. package/dist/picker/PickerOptions.d.ts +3 -1
  167. package/dist/picker/PickerOptions.d.ts.map +1 -1
  168. package/dist/picker/PickerPopup.d.ts +1 -1
  169. package/dist/picker/PickerPopup.d.ts.map +1 -1
  170. package/dist/picker/PickerTriggerActions.d.ts +7 -2
  171. package/dist/picker/PickerTriggerActions.d.ts.map +1 -1
  172. package/dist/picker/PickerTriggerInput.d.ts +7 -2
  173. package/dist/picker/PickerTriggerInput.d.ts.map +1 -1
  174. package/dist/picker/index.js +1 -1
  175. package/dist/polymorphic/PolymorphicComponent.d.ts +1 -1
  176. package/dist/polymorphic/PolymorphicComponent.d.ts.map +1 -1
  177. package/dist/polymorphic/index.js +3 -1
  178. package/dist/polymorphic/index.js.map +1 -1
  179. package/dist/popover/FloatingPopover.d.ts +1 -1
  180. package/dist/popover/FloatingPopover.d.ts.map +1 -1
  181. package/dist/popover/FloatingTooltip.d.ts +2 -2
  182. package/dist/popover/FloatingTooltip.d.ts.map +1 -1
  183. package/dist/popover/components/Popover.d.ts +11 -10
  184. package/dist/popover/components/Popover.d.ts.map +1 -1
  185. package/dist/popover/components/PopoverContent.d.ts +6 -4
  186. package/dist/popover/components/PopoverContent.d.ts.map +1 -1
  187. package/dist/popover/components/PopoverContext.d.ts +2 -1
  188. package/dist/popover/components/PopoverContext.d.ts.map +1 -1
  189. package/dist/popover/components/PopoverTrigger.d.ts +1 -1
  190. package/dist/popover/components/PopoverTrigger.d.ts.map +1 -1
  191. package/dist/popover/index.js +1 -1
  192. package/dist/preset-range-date-input/index.js +2 -2
  193. package/dist/preset-select/index.js +1 -1
  194. package/dist/radio-button/RadioButton.d.ts +1 -1
  195. package/dist/radio-button/RadioButton.d.ts.map +1 -1
  196. package/dist/radio-button/index.js +5 -2
  197. package/dist/radio-button/index.js.map +1 -1
  198. package/dist/select/ODataSelect.d.ts +1 -2
  199. package/dist/select/ODataSelect.d.ts.map +1 -1
  200. package/dist/select/Select.d.ts.map +1 -1
  201. package/dist/select/index.js +1 -1
  202. package/dist/separator/Separator.d.ts +1 -1
  203. package/dist/separator/Separator.d.ts.map +1 -1
  204. package/dist/separator/index.js +1 -1
  205. package/dist/simple-table/index.js +1 -1
  206. package/dist/slider/Slider.d.ts.map +1 -1
  207. package/dist/slider/SliderInput.d.ts.map +1 -1
  208. package/dist/slider/SliderPopoverToggle.d.ts +11 -0
  209. package/dist/slider/SliderPopoverToggle.d.ts.map +1 -0
  210. package/dist/slider/index.js +299 -278
  211. package/dist/slider/index.js.map +1 -1
  212. package/dist/sortable/Sortable.d.ts.map +1 -1
  213. package/dist/sortable/SortableDragHandle.d.ts +1 -1
  214. package/dist/sortable/SortableDragHandle.d.ts.map +1 -1
  215. package/dist/sortable/index.js +1 -1
  216. package/dist/state-select/index.js +1 -1
  217. package/dist/styles.css +1 -1
  218. package/dist/table/index.js +1 -1
  219. package/dist/table-editor/index.js +1 -1
  220. package/dist/table-sorting/index.js +1 -1
  221. package/dist/tabs/index.js +27 -28
  222. package/dist/tabs/index.js.map +1 -1
  223. package/dist/tabs/ui/TabsBox.d.ts +1 -1
  224. package/dist/tabs/ui/TabsBox.d.ts.map +1 -1
  225. package/dist/tabs/ui/TabsLayout.d.ts +11 -7
  226. package/dist/tabs/ui/TabsLayout.d.ts.map +1 -1
  227. package/dist/tabs/ui/TabsPanel.d.ts +3 -3
  228. package/dist/tabs/ui/TabsPanel.d.ts.map +1 -1
  229. package/dist/tabs/ui/TabsTabList.d.ts +2 -2
  230. package/dist/tabs/ui/TabsTabList.d.ts.map +1 -1
  231. package/dist/text/HighlightText.d.ts +2 -2
  232. package/dist/text/HighlightText.d.ts.map +1 -1
  233. package/dist/text/index.js +7 -2
  234. package/dist/text/index.js.map +1 -1
  235. package/dist/text-editor/index.js +2 -2
  236. package/dist/toolbar/Toolbar.d.ts +8 -2
  237. package/dist/toolbar/Toolbar.d.ts.map +1 -1
  238. package/dist/toolbar/index.js +8 -4
  239. package/dist/toolbar/index.js.map +1 -1
  240. package/dist/tree-select/TreeNodeContent.d.ts +3 -1
  241. package/dist/tree-select/TreeNodeContent.d.ts.map +1 -1
  242. package/dist/tree-select/TreePickerBase.d.ts.map +1 -1
  243. package/dist/tree-select/index.js +409 -332
  244. package/dist/tree-select/index.js.map +1 -1
  245. package/dist/tree-table/index.js +1 -1
  246. package/package.json +1 -1
  247. package/storybook-static/assets/{Badge-BKRvorSi.js → Badge-r7lsdHne.js} +1 -1
  248. package/storybook-static/assets/{Badge.stories-19yFfupy.js → Badge.stories-P4qdQ7cm.js} +1 -1
  249. package/storybook-static/assets/{BadgeList-DMkfxply.js → BadgeList-8NyPAV2Q.js} +1 -1
  250. package/storybook-static/assets/{BarcodeScannerDialog.stories-DdnHxu5x.js → BarcodeScannerDialog.stories--TadwGdZ.js} +1 -1
  251. package/storybook-static/assets/{Button-Di-0Ionw.js → Button-BP0DDcNq.js} +1 -1
  252. package/storybook-static/assets/{Button-CoOZeR_z.js → Button-X3OT5zE7.js} +2 -2
  253. package/storybook-static/assets/{Button.stories-Bd1To5BN.js → Button.stories-CFiUr_xE.js} +1 -1
  254. package/storybook-static/assets/CalendarView-nWuZBE9T.js +1 -0
  255. package/storybook-static/assets/{CheckBox-DSmGYEML.js → CheckBox-BId2Zf_m.js} +1 -1
  256. package/storybook-static/assets/{CheckBox-DfRTTXg1.js → CheckBox-Bde9tud-.js} +1 -1
  257. package/storybook-static/assets/{CheckBox.stories-DaldWgEI.js → CheckBox.stories-BVU9Rkai.js} +1 -1
  258. package/storybook-static/assets/{Color-6AOWCN3U-DIhia6KS.js → Color-6AOWCN3U-BeUy9gum.js} +1 -1
  259. package/storybook-static/assets/{ContextMenu-BGMQHT9V.js → ContextMenu-BS2UVgbu.js} +6 -2
  260. package/storybook-static/assets/ContextMenu-Byksyz_8.js +33 -0
  261. package/storybook-static/assets/ContextMenu.stories-DmJPp2YR.js +37 -0
  262. package/storybook-static/assets/{DateInput-DUl5Bb0j.js → DateInput-CQe_1Dk-.js} +8 -1
  263. package/storybook-static/assets/{DateInput-MgdMtvtr.js → DateInput-CgETMk9B.js} +1 -1
  264. package/storybook-static/assets/{DateInput.stories-B6Ol0Ak3.js → DateInput.stories-BOst6EKv.js} +1 -1
  265. package/storybook-static/assets/{DateRangePresetSelect-CPj0pSGc.js → DateRangePresetSelect-CxrNYBTe.js} +1 -1
  266. package/storybook-static/assets/{DateRangePresetSelect-C4MVqjXa.js → DateRangePresetSelect-DHJ31vIB.js} +1 -1
  267. package/storybook-static/assets/{DateRangePresetSelect.stories-tPaMURtH.js → DateRangePresetSelect.stories-CiyN1joN.js} +1 -1
  268. package/storybook-static/assets/{Detail-DnHTVRb5.js → Detail-V_NYrUJR.js} +1 -1
  269. package/storybook-static/assets/Detail.stories-B4tf6inN.js +56 -0
  270. package/storybook-static/assets/{Dialog-COpvqcXi.js → Dialog-B6miFej7.js} +1 -1
  271. package/storybook-static/assets/{Dialog-LMnrvBpx.js → Dialog-DNTx5Unm.js} +1 -1
  272. package/storybook-static/assets/{Dialog.stories-BE2I5ny2.js → Dialog.stories-BS1dDTLW.js} +1 -1
  273. package/storybook-static/assets/{Disclosure-BZ3jd5nu.js → Disclosure-4sf5BIn1.js} +1 -1
  274. package/storybook-static/assets/{Disclosure.stories-cMcF8a8I.js → Disclosure.stories-DhUQNdEC.js} +1 -1
  275. package/storybook-static/assets/DisclosureGroup-Codiur77.js +2 -0
  276. package/storybook-static/assets/{DocsRenderer-JROSPFPF-CurHdzu8.js → DocsRenderer-JROSPFPF-yT2aWNaF.js} +1 -1
  277. package/storybook-static/assets/{DropZone-VEmgdfs6.js → DropZone-D4rl2WEV.js} +1 -1
  278. package/storybook-static/assets/{DropZone-DGMAbY1z.js → DropZone-Du0BQAyO.js} +1 -1
  279. package/storybook-static/assets/{DropZone.stories-B8N17-bV.js → DropZone.stories-B8iPjYH_.js} +1 -1
  280. package/storybook-static/assets/DropdownMenu-BcdS3oNz.js +21 -0
  281. package/storybook-static/assets/{ExpandableActionPanel-C7CFQZLD.js → ExpandableActionPanel-6u6YJanI.js} +1 -1
  282. package/storybook-static/assets/{ExpandableActionPanel.stories-CnBr0s9R.js → ExpandableActionPanel.stories-D-CZHUv0.js} +1 -1
  283. package/storybook-static/assets/{Flex-RpqsC-gQ.js → Flex-DWi0hQ-f.js} +1 -1
  284. package/storybook-static/assets/Flex.stories-CKKi33JK.js +300 -0
  285. package/storybook-static/assets/FlexContainer-BMK_YH72.js +1 -0
  286. package/storybook-static/assets/{FlexItem-pu3E11Sf.js → FlexItem-DpSHNBxJ.js} +2 -2
  287. package/storybook-static/assets/FloatingPopover-D9nTd47B.js +1 -0
  288. package/storybook-static/assets/FormattedTableCell-DyBhk9rG.js +15 -0
  289. package/storybook-static/assets/{Grid-CzO0Ae1r.js → Grid-BZgzDCLK.js} +2 -2
  290. package/storybook-static/assets/{Grid-BRnqEtg1.js → Grid-DbvUGBEN.js} +1 -1
  291. package/storybook-static/assets/{Grid.stories-DXY7Cvfu.js → Grid.stories-BeEAzTxD.js} +4 -4
  292. package/storybook-static/assets/{GridContainer-fKYgDsLl.js → GridContainer-B82Onj6x.js} +2 -2
  293. package/storybook-static/assets/{ImageCropper.stories-ZnvbFN71.js → ImageCropper.stories-SDIt19aO.js} +1 -1
  294. package/storybook-static/assets/{ImageRenderer-DUOhCfac.js → ImageRenderer-Bzg27pq7.js} +1 -1
  295. package/storybook-static/assets/{ImageRenderer.stories-Dj6NQm2k.js → ImageRenderer.stories-C-IE84zV.js} +1 -1
  296. package/storybook-static/assets/{ImageView.stories-QTzOsByD.js → ImageView.stories-DIcx2Krs.js} +1 -1
  297. package/storybook-static/assets/{ImageViewer.stories-CpnUEgZW.js → ImageViewer.stories-CQTy0uPX.js} +2 -2
  298. package/storybook-static/assets/{ImageViewerRuntime-B1PicLUw.js → ImageViewerRuntime-CA5BYQsX.js} +1 -1
  299. package/storybook-static/assets/{Input-B8eGQXlp.js → Input-D8uMye_9.js} +1 -1
  300. package/storybook-static/assets/{Input-DnFc_Pwx.js → Input-DmsN6uC_.js} +1 -1
  301. package/storybook-static/assets/{Input.stories-C6CbYvZP.js → Input.stories-D8QWPnMD.js} +1 -1
  302. package/storybook-static/assets/{InputDateTime-DoMduRde.js → InputDateTime-Cczll-bH.js} +1 -1
  303. package/storybook-static/assets/{InputDateTime.stories--LHpvJjY.js → InputDateTime.stories-DeZ6XHwa.js} +1 -1
  304. package/storybook-static/assets/{InputFile-CunQ8F4s.js → InputFile-BbPjLN4E.js} +1 -1
  305. package/storybook-static/assets/{InputFile-DFv3WAWa.js → InputFile-C0_L0zTd.js} +1 -1
  306. package/storybook-static/assets/{InputFile.stories-B0WZhic1.js → InputFile.stories-Di_6BkX1.js} +1 -1
  307. package/storybook-static/assets/{InputFiles-DyiPQ_tH.js → InputFiles-B3uOwqKF.js} +1 -1
  308. package/storybook-static/assets/{InputFiles-CKDPmjWY.js → InputFiles-CF60S_qG.js} +1 -1
  309. package/storybook-static/assets/{InputFiles.stories-BbP_bEnL.js → InputFiles.stories-BkTiEPX6.js} +1 -1
  310. package/storybook-static/assets/{InputFilesList-BAIGwV7V.js → InputFilesList-C9cudcHe.js} +1 -1
  311. package/storybook-static/assets/{InputImage-2G1pRNbw.js → InputImage-Aq_ZXmtw.js} +1 -1
  312. package/storybook-static/assets/{InputImage-ZvEB_TIT.js → InputImage-Dx0DIf4l.js} +1 -1
  313. package/storybook-static/assets/{InputImage.stories-BiShLRcw.js → InputImage.stories-D7LfEcn4.js} +1 -1
  314. package/storybook-static/assets/{InteractiveComponents-CT99QfHX.js → InteractiveComponents-DP5FyU4S.js} +1 -1
  315. package/storybook-static/assets/{InteractiveComponents.stories-BPTICQZz.js → InteractiveComponents.stories-CE5L5PAB.js} +1 -1
  316. package/storybook-static/assets/{LayoutPicker-BDpc8LBa.js → LayoutPicker-BehxFQsU.js} +2 -2
  317. package/storybook-static/assets/{LayoutPicker-Cg_AM-pj.js → LayoutPicker-CW1W-CAf.js} +2 -1
  318. package/storybook-static/assets/{LayoutPicker.stories-Ca9WZdPW.js → LayoutPicker.stories-DtvfpOUS.js} +1 -1
  319. package/storybook-static/assets/Listbox-Bn_6WyQc.js +1 -0
  320. package/storybook-static/assets/{Listbox-LbbFtte9.js → Listbox-VcD28kxl.js} +2 -1
  321. package/storybook-static/assets/{Listbox.stories-xDpbFNZk.js → Listbox.stories-CL6fJlUm.js} +1 -1
  322. package/storybook-static/assets/{Modal-CXd2j0up.js → Modal-D0D5WZ_O.js} +1 -1
  323. package/storybook-static/assets/Modal-DrSX0i3a.js +1 -0
  324. package/storybook-static/assets/{Modal.stories-cNLvFjmT.js → Modal.stories-Ch3P8_kY.js} +1 -1
  325. package/storybook-static/assets/{ModalManagerProvider-ClXvSB9a.js → ModalManagerProvider-B0Lf7xX0.js} +1 -1
  326. package/storybook-static/assets/MultiSelect-Bw3qf8eW.js +2 -0
  327. package/storybook-static/assets/{MultiSelect-Na2VdNy3.js → MultiSelect-Cmxa5Vho.js} +4 -1
  328. package/storybook-static/assets/MultiSelect-SJBp1Ymv.css +1 -0
  329. package/storybook-static/assets/{MultiSelect.stories-4nFshdtz.js → MultiSelect.stories-DKHPBUWD.js} +1 -1
  330. package/storybook-static/assets/NoData-seFnJNiE.js +1 -0
  331. package/storybook-static/assets/{NotificationsHost-CrLL4WK9.js → NotificationsHost-d770FjSM.js} +11 -8
  332. package/storybook-static/assets/{NotificationsHost.stories-Ci2q0W9-.js → NotificationsHost.stories-BYmVl44l.js} +1 -1
  333. package/storybook-static/assets/{ODataMultiSelect-Cc09uTB8.js → ODataMultiSelect-BN0pcCmQ.js} +1 -1
  334. package/storybook-static/assets/{ODataMultiSelect.stories-CzGzREa9.js → ODataMultiSelect.stories-D5zrkaFW.js} +2 -2
  335. package/storybook-static/assets/{ODataSelect-DqoRg5pz.js → ODataSelect-C5DXRRVH.js} +1 -1
  336. package/storybook-static/assets/{ODataSelect.stories-BCcxERn3.js → ODataSelect.stories-ClYp08JR.js} +2 -2
  337. package/storybook-static/assets/{ODataTreeMultiSelect-qZEcSE5O.js → ODataTreeMultiSelect-CsvSq1G1.js} +1 -1
  338. package/storybook-static/assets/{ODataTreeMultiSelect.stories-Bfees7Qr.js → ODataTreeMultiSelect.stories-DFXLQjms.js} +1 -1
  339. package/storybook-static/assets/{ODataTreeSelect-IOVS6uQc.js → ODataTreeSelect-CdN-NwV7.js} +1 -1
  340. package/storybook-static/assets/{ODataTreeSelect.stories-CO7DClzd.js → ODataTreeSelect.stories-CDffbvxi.js} +1 -1
  341. package/storybook-static/assets/OneStepScroller-qXHo2r0J.js +5 -0
  342. package/storybook-static/assets/Option-tEWfKgN_.js +10 -0
  343. package/storybook-static/assets/OptionButton-DOj_dfd1.js +1 -0
  344. package/storybook-static/assets/OptionContent-6iwuLpQP.js +1 -0
  345. package/storybook-static/assets/OptionContentContainer-DbdHO42m.js +2 -0
  346. package/storybook-static/assets/{PeriodSelect-D-jXJf5C.js → PeriodSelect-Bo_B6jdw.js} +1 -1
  347. package/storybook-static/assets/{PeriodSelect-BAVDztkI.js → PeriodSelect-DffBuv6v.js} +1 -1
  348. package/storybook-static/assets/{PeriodSelect.stories-CscsENT9.js → PeriodSelect.stories-Boq-fBL8.js} +1 -1
  349. package/storybook-static/assets/{PickerField-CRtltoce.js → PickerField-fMVQUcBX.js} +1 -1
  350. package/storybook-static/assets/PickerTriggerActions-zS0JUD-3.js +2 -0
  351. package/storybook-static/assets/PolymorphicComponent-NBvIz9JD.js +1 -0
  352. package/storybook-static/assets/Popover-5c_n39x0.js +55 -0
  353. package/storybook-static/assets/Popover-u02JbpuP.js +46 -0
  354. package/storybook-static/assets/Popover.stories-BUVgJJQI.js +63 -0
  355. package/storybook-static/assets/{PresetRangeDateInput-VZnM8RNV.js → PresetRangeDateInput-EiaEd6Qp.js} +1 -1
  356. package/storybook-static/assets/{PresetRangeDateInput-CVPMYlEV.js → PresetRangeDateInput-TyV-u0Db.js} +1 -1
  357. package/storybook-static/assets/{PresetRangeDateInput.stories-DdBWlSV-.js → PresetRangeDateInput.stories-jJq5Gkdb.js} +1 -1
  358. package/storybook-static/assets/{PresetSelect-C7YYBjlL.js → PresetSelect-Cnl_fXjS.js} +1 -1
  359. package/storybook-static/assets/{README-6XPUoxFl.js → README-10_nKrEg.js} +1 -1
  360. package/storybook-static/assets/{README-DIWsYBR7.js → README-6n5fAnyG.js} +1 -1
  361. package/storybook-static/assets/{README-oKLTQYfV.js → README-7mbN7jNm.js} +1 -1
  362. package/storybook-static/assets/{README-D2AT2-yD.js → README-8qj7XGDa.js} +1 -1
  363. package/storybook-static/assets/{README-DADnaXLy.js → README-8vaqVs2t.js} +1 -1
  364. package/storybook-static/assets/{README-ZxRwqfIH.js → README-AbbeH5rC.js} +1 -1
  365. package/storybook-static/assets/{README-Bk1oSDWQ.js → README-B-K2UPpo.js} +1 -1
  366. package/storybook-static/assets/{README-DoxVtmRh.js → README-B-z6znlC.js} +1 -1
  367. package/storybook-static/assets/{README-BL8ZNGNi.js → README-B6uVB1ib.js} +1 -1
  368. package/storybook-static/assets/{README-B0FbTpix.js → README-B7f6XRLa.js} +1 -1
  369. package/storybook-static/assets/{README-BGBxEe4u.js → README-BGEviJbA.js} +1 -1
  370. package/storybook-static/assets/{README-C-IUw1gX.js → README-BPWr_0XE.js} +1 -1
  371. package/storybook-static/assets/{README-_KzyG4dS.js → README-BWiCGCpy.js} +1 -1
  372. package/storybook-static/assets/{README-DrTR5pSr.js → README-BfF9g6q6.js} +1 -1
  373. package/storybook-static/assets/{README-2NTkucdH.js → README-BgbmWbpJ.js} +1 -1
  374. package/storybook-static/assets/{README-DC0vNdOD.js → README-Bn7SBLqL.js} +1 -1
  375. package/storybook-static/assets/{README-w9FMhq0X.js → README-BoXMNqUS.js} +1 -1
  376. package/storybook-static/assets/{README-DyWhmOFY.js → README-BoZbB8t8.js} +1 -1
  377. package/storybook-static/assets/{README-b3wA6wFr.js → README-BsHrwATK.js} +1 -1
  378. package/storybook-static/assets/{README-CB5BpIBF.js → README-By7MmJad.js} +1 -1
  379. package/storybook-static/assets/{README-DWzfTSuq.js → README-BylyIJ4z.js} +1 -1
  380. package/storybook-static/assets/{README-CeNQeTK-.js → README-ByxHEXaq.js} +1 -1
  381. package/storybook-static/assets/{README-UcyyK9jn.js → README-CO0Anr1W.js} +1 -1
  382. package/storybook-static/assets/{README-BdsFByUw.js → README-CXhBUq08.js} +1 -1
  383. package/storybook-static/assets/{README-Bvo0Qxde.js → README-CXlUZ-Tw.js} +1 -1
  384. package/storybook-static/assets/{README-CTF9mVZL.js → README-CZBT22Qx.js} +1 -1
  385. package/storybook-static/assets/{README-B0Nb0jf2.js → README-CZaKBu1r.js} +1 -1
  386. package/storybook-static/assets/{README-C_lKreF9.js → README-Cc5RUdsX.js} +1 -1
  387. package/storybook-static/assets/{README-BZlnzGAh.js → README-CmCyESsg.js} +1 -1
  388. package/storybook-static/assets/{README-jvtwVY_n.js → README-CoofcGyA.js} +1 -1
  389. package/storybook-static/assets/{README-Wli4AXG5.js → README-CqCDXjY-.js} +1 -1
  390. package/storybook-static/assets/{README-DOi6rx7n.js → README-CqMgUXym.js} +1 -1
  391. package/storybook-static/assets/{README-na5mQX4V.js → README-DB3HzmYa.js} +1 -1
  392. package/storybook-static/assets/{README-DMwF_O1R.js → README-DBqb3xHL.js} +1 -1
  393. package/storybook-static/assets/{README-CvaizZr1.js → README-DKMzvCHg.js} +1 -1
  394. package/storybook-static/assets/{README-CqiNQGIJ.js → README-DLGk_zi3.js} +1 -1
  395. package/storybook-static/assets/{README-Dm7CwuVP.js → README-DT4BWDzj.js} +1 -1
  396. package/storybook-static/assets/{README-Brn9Tjjc.js → README-DXzLMFnF.js} +1 -1
  397. package/storybook-static/assets/{README-8L1vpZcz.js → README-DZKQ2NbJ.js} +1 -1
  398. package/storybook-static/assets/{README-C7N5_6-c.js → README-DnIK-CvZ.js} +1 -1
  399. package/storybook-static/assets/{README-GChrAHFQ.js → README-DsEaeYrz.js} +1 -1
  400. package/storybook-static/assets/{README-DkBG5Azm.js → README-DsqwQGJx.js} +1 -1
  401. package/storybook-static/assets/{README-Dr8TxFTe.js → README-DyhDd6j2.js} +1 -1
  402. package/storybook-static/assets/{README-HWuoKwKL.js → README-E09CwLzJ.js} +1 -1
  403. package/storybook-static/assets/{README-DlfWWC7n.js → README-W30_dPSQ.js} +1 -1
  404. package/storybook-static/assets/{README-DOBIWrus.js → README-WtLMdn_H.js} +1 -1
  405. package/storybook-static/assets/{README-g1VWHzAJ.js → README-_UuZJvdY.js} +1 -1
  406. package/storybook-static/assets/{README-BD-WSEvQ.js → README-bJALHbSR.js} +1 -1
  407. package/storybook-static/assets/{README-Dmu5lsNT.js → README-e3Zi9n04.js} +1 -1
  408. package/storybook-static/assets/{README-DgXAMdBY.js → README-g4l3WFXZ.js} +1 -1
  409. package/storybook-static/assets/{README-jQcGKqqm.js → README-jb10Ekr5.js} +1 -1
  410. package/storybook-static/assets/{README-CTwfFqJG.js → README-q6R_bF6h.js} +1 -1
  411. package/storybook-static/assets/{README-BGmO6U9j.js → README-tDgobAYS.js} +1 -1
  412. package/storybook-static/assets/{RadioButton-Dgkz1EWU.js → RadioButton-DGjO61a9.js} +1 -1
  413. package/storybook-static/assets/RadioButton-j3O4woG8.js +1 -0
  414. package/storybook-static/assets/{RadioButton.stories-DO14jTfm.js → RadioButton.stories-COGMYQcq.js} +1 -1
  415. package/storybook-static/assets/{RadioGroup-Db0AhiKo.js → RadioGroup-Cuj2D_RZ.js} +1 -1
  416. package/storybook-static/assets/{RadioGroup-BSiqjVai.js → RadioGroup-D9samx7D.js} +1 -1
  417. package/storybook-static/assets/{RadioGroup.stories-C0D6n83q.js → RadioGroup.stories-KSDvpgqY.js} +1 -1
  418. package/storybook-static/assets/Scrollable-DsOw--4y.js +1 -0
  419. package/storybook-static/assets/Scrollable-tPrIOchd.js +18 -0
  420. package/storybook-static/assets/Scrollable.stories-B7d_6eGB.js +1 -0
  421. package/storybook-static/assets/Select-D0CHiGkz.js +12 -0
  422. package/storybook-static/assets/{Select-D8X-SkP2.js → Select-h0tWQbii.js} +3 -1
  423. package/storybook-static/assets/{Select.stories-8_zvonmc.js → Select.stories-GmGbpUoi.js} +1 -1
  424. package/storybook-static/assets/Separator-C8aQcNns.js +1 -0
  425. package/storybook-static/assets/Separator-Dh8kzf-5.js +14 -0
  426. package/storybook-static/assets/Separator.stories-nQ9bDdo1.js +14 -0
  427. package/storybook-static/assets/{SerializableSelect-ii6T140l.js → SerializableSelect-BJAxQ8an.js} +1 -1
  428. package/storybook-static/assets/{SerializableSelect.stories-Ba3ABMGt.js → SerializableSelect.stories-CzVCg1_7.js} +1 -1
  429. package/storybook-static/assets/{ShimmerText-C6vkZwUV.js → ShimmerText-DnEOvvJA.js} +1 -1
  430. package/storybook-static/assets/{ShimmerText.stories-CVpSxXHJ.js → ShimmerText.stories-D2XRPcMC.js} +1 -1
  431. package/storybook-static/assets/{SingleDateTimeInput-96-mrjq8.js → SingleDateTimeInput-Bwn8kqI3.js} +8 -1
  432. package/storybook-static/assets/{SingleDateTimeInput-DpETPR89.js → SingleDateTimeInput-DwY38Bzb.js} +1 -1
  433. package/storybook-static/assets/{SingleDateTimeInput.stories-JhviurJO.js → SingleDateTimeInput.stories-DKq1_AqA.js} +1 -1
  434. package/storybook-static/assets/{Slider-B27TdvRV.js → Slider-CT0jMXMY.js} +8 -1
  435. package/storybook-static/assets/Slider-KiXLZUpw.js +1 -0
  436. package/storybook-static/assets/{Slider.stories-d1YeKe5r.js → Slider.stories-Cmcm8HlR.js} +1 -1
  437. package/storybook-static/assets/SliderInput-Dd_yvyMG.js +3 -0
  438. package/storybook-static/assets/{SliderInput-D2d23mEI.js → SliderInput-Unp3YEcU.js} +8 -1
  439. package/storybook-static/assets/{SliderInput.stories-CwqT79oE.js → SliderInput.stories-C0MwvTOV.js} +1 -1
  440. package/storybook-static/assets/{Sortable-DiJuiI6V.js → Sortable-CnCowZw-.js} +4 -2
  441. package/storybook-static/assets/Sortable.stories-DCrIurAg.js +44 -0
  442. package/storybook-static/assets/{Splitter-QwdfWNbm.js → Splitter-BErks2lB.js} +1 -1
  443. package/storybook-static/assets/{Splitter.stories-C2iDPz8c.js → Splitter.stories-DyRlCVUo.js} +1 -1
  444. package/storybook-static/assets/{StateSelect-D1ZDM6bC.js → StateSelect-DXfsbduM.js} +1 -1
  445. package/storybook-static/assets/{StateSelect-Bw9H1Cus.js → StateSelect-DuVzqi0t.js} +1 -1
  446. package/storybook-static/assets/{StateSelect.stories-DEFvQ15O.js → StateSelect.stories-CnIXqGFB.js} +1 -1
  447. package/storybook-static/assets/{StatusIndicator-D6Pbdz37.js → StatusIndicator-Bz3JF899.js} +1 -1
  448. package/storybook-static/assets/{StatusIndicator.stories-COgpy5cK.js → StatusIndicator.stories-B5RMchH3.js} +1 -1
  449. package/storybook-static/assets/{StringToggle.stories-BFwMh0Yd.js → StringToggle.stories-CcR8KHGF.js} +1 -1
  450. package/storybook-static/assets/{Switch-Bmj2AItH.js → Switch-Bo-dd4nL.js} +1 -1
  451. package/storybook-static/assets/{Switch-DyDk152g.js → Switch-a7GMbDn9.js} +1 -1
  452. package/storybook-static/assets/{Switch.stories-C10NxPL4.js → Switch.stories-B9c9CAmZ.js} +1 -1
  453. package/storybook-static/assets/{Table-YcEwF4aO.js → Table-BgmEmcbL.js} +1 -1
  454. package/storybook-static/assets/{Table.stories-DgxFS9Sa.js → Table.stories-BByDPmdZ.js} +1 -1
  455. package/storybook-static/assets/{TableEditor.stories-CSMoxO4O.js → TableEditor.stories-DJi7VPcY.js} +1 -1
  456. package/storybook-static/assets/{Tabs-DOsPN2X1.js → Tabs-CV1ykDlt.js} +2 -3
  457. package/storybook-static/assets/Tabs.stories-DOyJdrcR.js +57 -0
  458. package/storybook-static/assets/{TabsBox-B3REnb6D.css → TabsBox-DuBKU62M.css} +1 -1
  459. package/storybook-static/assets/{TabsBox-Ovukgo9G.js → TabsBox-n38x7_yO.js} +1 -1
  460. package/storybook-static/assets/{TagInput-BQBOGr9G.js → TagInput-j4mVWIf0.js} +1 -1
  461. package/storybook-static/assets/{TagInput.stories-DAAyJlgm.js → TagInput.stories-DSU97IRU.js} +1 -1
  462. package/storybook-static/assets/{Text-fdwuak_J.js → Text-COGTV38X.js} +1 -1
  463. package/storybook-static/assets/{Textarea-A22Efyk-.js → Textarea-BcgmS9aD.js} +1 -1
  464. package/storybook-static/assets/{Textarea-D80ZPpEy.js → Textarea-Byqjr2Ve.js} +1 -1
  465. package/storybook-static/assets/{Textarea.stories-DfaOYMoN.js → Textarea.stories-D1gXsWxK.js} +1 -1
  466. package/storybook-static/assets/{TimePanel-Bd5T_SfL.js → TimePanel-DzFFLXJP.js} +1 -1
  467. package/storybook-static/assets/{TimePanel.stories-D6TIpKp4.js → TimePanel.stories-287q5ipF.js} +1 -1
  468. package/storybook-static/assets/{Toggle-BvHMq6f_.js → Toggle-CCkzi_xC.js} +1 -1
  469. package/storybook-static/assets/{Toggle-DUyCRH0o.js → Toggle-KtpVC-vX.js} +1 -1
  470. package/storybook-static/assets/{Toggle.stories-ZPgC-EWw.js → Toggle.stories-BLKa6Zst.js} +1 -1
  471. package/storybook-static/assets/{TreeMultiSelect-DTMybWfP.js → TreeMultiSelect-CbnCiXFa.js} +1 -1
  472. package/storybook-static/assets/{TreeMultiSelect-DTmB9s8s.js → TreeMultiSelect-sYAglJIC.js} +2 -1
  473. package/storybook-static/assets/{TreeMultiSelect.stories-1_HB74Gf.js → TreeMultiSelect.stories-DGw_tJQ5.js} +1 -1
  474. package/storybook-static/assets/TreePickerBase-ClWTQVKW.css +1 -0
  475. package/storybook-static/assets/TreePickerBase-wz0-Y-eg.js +76 -0
  476. package/storybook-static/assets/{TreeSelect-CTN6cRRr.js → TreeSelect-BCOJNrl1.js} +1 -1
  477. package/storybook-static/assets/{TreeSelect-UsZGYhUO.js → TreeSelect-BJ6C_2pM.js} +2 -1
  478. package/storybook-static/assets/{TreeSelect.stories-B01pZcR9.js → TreeSelect.stories-DKdmUNAI.js} +1 -1
  479. package/storybook-static/assets/{TreeTable-dr3jK3Ih.js → TreeTable-DIRsmeC8.js} +1 -1
  480. package/storybook-static/assets/{TreeTable.stories-B1DPasDc.js → TreeTable.stories-BfqeLJU6.js} +1 -1
  481. package/storybook-static/assets/{blocks-Cw5Dm88b.js → blocks-r6nP1Mk3.js} +3 -3
  482. package/storybook-static/assets/{check-028VTQ8f.js → check-CX66-EtS.js} +1 -1
  483. package/storybook-static/assets/{chevron-down-CjXVIhzi.js → chevron-down-BpTVPmXw.js} +1 -1
  484. package/storybook-static/assets/{chevron-left-CktI1oFP.js → chevron-left-BDyvowID.js} +1 -1
  485. package/storybook-static/assets/{chevron-right-CF10QSRI.js → chevron-right-PitONC71.js} +1 -1
  486. package/storybook-static/assets/{chunk-W22LQPXL-C0ehDnCq.js → chunk-W22LQPXL-Bd54JRSO.js} +1 -1
  487. package/storybook-static/assets/{circle-alert-s0HpHvQO.js → circle-alert-BxfK632o.js} +1 -1
  488. package/storybook-static/assets/{circle-check-C7Lv1fv9.js → circle-check-CQ0mrCVh.js} +1 -1
  489. package/storybook-static/assets/{components-ClxgOUq5.js → components-CJIwocXl.js} +3 -3
  490. package/storybook-static/assets/contextMenu-BodN1HdA.js +2 -0
  491. package/storybook-static/assets/{download-B1U5w3LU.js → download-C_lZf2f4.js} +1 -1
  492. package/storybook-static/assets/{floating-ui.react-CyNWkXBV.js → floating-ui.react-BzwQR5CG.js} +1 -1
  493. package/storybook-static/assets/{foundationApi-CY0sxk8w.js → foundationApi-BgE0geET.js} +1 -1
  494. package/storybook-static/assets/{foundationLib-BCpSUA25.js → foundationLib-6nKeXUFS.js} +1 -1
  495. package/storybook-static/assets/{hooks-DjR-EyBl.js → hooks-DDySZJGR.js} +1 -1
  496. package/storybook-static/assets/{iframe-woVbsQH3.js → iframe-B9PXVErw.js} +4 -4
  497. package/storybook-static/assets/iframe-f5g4GUQw.js +1 -0
  498. package/storybook-static/assets/{info-DKbXBIbQ.js → info-rdW9neC9.js} +1 -1
  499. package/storybook-static/assets/{odata-CMCuN2Rx.js → odata-D6cOAxLt.js} +1 -1
  500. package/storybook-static/assets/{odataStoryFixtures-a4Q2PLas.js → odataStoryFixtures-CGQ31IO_.js} +1 -1
  501. package/storybook-static/assets/{react-D3CyilRt.js → react-BMktiE65.js} +1 -1
  502. package/storybook-static/assets/{refresh-cw-DXEJelAO.js → refresh-cw-CfKvrc1N.js} +1 -1
  503. package/storybook-static/assets/{settings-2-CKbiQBX8.js → settings-2-Drz-L5J9.js} +1 -1
  504. package/storybook-static/assets/sortable-BMuu2DRC.js +1 -0
  505. package/storybook-static/assets/{syntaxhighlighter-QEQV7K2Y-CLptde2b.js → syntaxhighlighter-QEQV7K2Y-eBmofw1l.js} +1 -1
  506. package/storybook-static/assets/{trash-2-CPWRIQlJ.js → trash-2-DEbF1hh6.js} +1 -1
  507. package/storybook-static/assets/{triangle-alert-XjzWCHp5.js → triangle-alert--nwD_1ZX.js} +1 -1
  508. package/storybook-static/assets/{ui-FA-1R8mO.css → ui-Bpz_yxm8.css} +1 -1
  509. package/storybook-static/assets/{uiClasses-DNnVkKPr.js → uiClasses-Bar5W7-L.js} +1 -1
  510. package/storybook-static/assets/{useODataSelectBase-ZGFa3pdT.js → useODataSelectBase-DSOGiMIw.js} +1 -1
  511. package/storybook-static/assets/{useODataTreeData-DAdLowou.js → useODataTreeData-Cn_XaKz_.js} +1 -1
  512. package/storybook-static/assets/usePickerQuery-B5ZZQg8g.js +1 -0
  513. package/storybook-static/assets/usePickerTriggerController-Cqy5IfOJ.js +6 -0
  514. package/storybook-static/assets/{x-D2Q9PGsq.js → x-DSHJbBBz.js} +1 -1
  515. package/storybook-static/iframe.html +2 -2
  516. package/storybook-static/index.json +1 -1
  517. package/storybook-static/project.json +1 -1
  518. package/dist/chunks/CalendarView-CwbPJG2Y.js.map +0 -1
  519. package/dist/chunks/button-D7GAU2Wa.js +0 -72
  520. package/dist/chunks/button-D7GAU2Wa.js.map +0 -1
  521. package/dist/chunks/context-menu-BQePxRpu.js +0 -532
  522. package/dist/chunks/context-menu-BQePxRpu.js.map +0 -1
  523. package/dist/chunks/flex-DtXK7OM4.js +0 -207
  524. package/dist/chunks/flex-DtXK7OM4.js.map +0 -1
  525. package/dist/chunks/grid-dI94AAbi.js.map +0 -1
  526. package/dist/chunks/misc-CGQOXXCy.js.map +0 -1
  527. package/dist/chunks/modal-febBsMyR.js.map +0 -1
  528. package/dist/chunks/picker-BA6okKnz.js.map +0 -1
  529. package/dist/chunks/popover-yl5DVe06.js +0 -245
  530. package/dist/chunks/popover-yl5DVe06.js.map +0 -1
  531. package/dist/chunks/select-DblNSc5H.js.map +0 -1
  532. package/dist/chunks/separator-CIqnk2z9.js +0 -15
  533. package/dist/chunks/separator-CIqnk2z9.js.map +0 -1
  534. package/storybook-static/assets/CalendarView-Dz8cY1fo.js +0 -1
  535. package/storybook-static/assets/ContextMenu-XS7B8QUC.js +0 -1
  536. package/storybook-static/assets/ContextMenu.stories-Dp2t2BZa.js +0 -37
  537. package/storybook-static/assets/CustomOptionButton-DNd0GDWp.js +0 -1
  538. package/storybook-static/assets/Detail.stories-CXg_w4qM.js +0 -56
  539. package/storybook-static/assets/DisclosureGroup-JNnTj18G.js +0 -2
  540. package/storybook-static/assets/DropdownMenu-xjOtBneA.js +0 -1
  541. package/storybook-static/assets/Flex.stories-CCVNsX23.js +0 -300
  542. package/storybook-static/assets/FlexContainer-BWyPlTMB.js +0 -1
  543. package/storybook-static/assets/FloatingPopover-D6tO24aO.js +0 -1
  544. package/storybook-static/assets/FormattedTableCell-CDaDfaXy.js +0 -15
  545. package/storybook-static/assets/Listbox-3Npc4PI_.js +0 -1
  546. package/storybook-static/assets/Modal-Ddmc8-2-.js +0 -1
  547. package/storybook-static/assets/MultiSelect-BkLCM22R.js +0 -2
  548. package/storybook-static/assets/MultiSelect-DI_UD1B-.css +0 -1
  549. package/storybook-static/assets/NoData-bUonNuRR.js +0 -1
  550. package/storybook-static/assets/OneStepScroller-B_IRz2Rw.js +0 -5
  551. package/storybook-static/assets/Option-fRoOLqLF.js +0 -10
  552. package/storybook-static/assets/OptionButton--hnpJ-88.js +0 -1
  553. package/storybook-static/assets/PickerTriggerActions-BDGEQPvP.js +0 -1
  554. package/storybook-static/assets/Popover-BYO0DlBg.js +0 -45
  555. package/storybook-static/assets/Popover-Byy9_Twt.js +0 -2
  556. package/storybook-static/assets/Popover.stories-8RhemIQg.js +0 -47
  557. package/storybook-static/assets/RadioButton-DMn-soQD.js +0 -1
  558. package/storybook-static/assets/Scrollable-BI3OE8gc.js +0 -1
  559. package/storybook-static/assets/Select-1MNiFkxm.js +0 -12
  560. package/storybook-static/assets/Slider-DbiDvmoV.js +0 -1
  561. package/storybook-static/assets/SliderInput-CzYn9gor.js +0 -2
  562. package/storybook-static/assets/Sortable.stories-DFCzTok0.js +0 -44
  563. package/storybook-static/assets/Tabs.stories-BdZilcp2.js +0 -57
  564. package/storybook-static/assets/TreePickerBase-CmFF9pWE.css +0 -1
  565. package/storybook-static/assets/TreePickerBase-Cu2mneBS.js +0 -76
  566. package/storybook-static/assets/contextMenu-CWGju9qn.js +0 -2
  567. package/storybook-static/assets/iframe-Dyd6jnSv.js +0 -1
  568. package/storybook-static/assets/sortable-CXLU2ip-.js +0 -1
  569. package/storybook-static/assets/usePickerQuery-CaO8hXyH.js +0 -1
  570. package/storybook-static/assets/usePickerTriggerController-DWjrt_q_.js +0 -6
  571. /package/storybook-static/assets/{ui.module-CyEEibCu.js → ui.module-0uniSGT-.js} +0 -0
@@ -1,2 +0,0 @@
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-woVbsQH3.js";import{a as i,i as a}from"./utils-tg3ibbzi.js";import{_ as o,a as s,f as c,g as l,h as u,m as d,n as f,r as p,u as m}from"./floating-ui.react-CyNWkXBV.js";import{a as h,i as g,n as _,r as v}from"./dom-DBd_DWF8.js";import{i as y,r as b}from"./FloatingPopover-D6tO24aO.js";import{n as x}from"./error-De9R4E_F.js";function S({availableWidth:e,availableHeight:t,floating:n}){n.style.setProperty(`--popover-available-width`,`${Math.max(0,e)}px`),n.style.setProperty(`--popover-available-height`,`${Math.max(0,t)}px`)}var C,w,T,E;function D(){return(D=t((()=>{C=`JK2Y7t`,w=`_5QtpCJ`,T=`hZuysP`,E={popover:C,primary:w,secondary:T}})))()}function O(){let e=(0,k.useContext)(A);if(!e)throw x({hookName:`usePopoverContext`,providerName:`Popover`});return e}var k,A;function j(){return(j=t((()=>{k=n(),A=(0,k.createContext)(null)})))()}var M,N,P;function F(){return(F=t((()=>{M=e(n(),1),p(),v(),a(),y(),D(),j(),N=r(),P=({children:e,onClose:t,closeOnOutside:n=!0,closeOnEscape:r=!0,disableOutsideClick:a=!1,background:o=`secondary`})=>{let{open:s,setOpen:c,refs:l,floatingStyles:u,middlewareData:d,placement:p,arrowRef:m}=O(),v=(0,M.useRef)(null),y=(0,M.useCallback)(e=>{v.current=e,l.setFloating(e)},[l]),x=h({active:s,initialFocus:`container`,restoreFocus:!0,containerRef:v}),S=(0,M.useCallback)(()=>{s&&(c(!1),t?.())},[c,t,s]);_({active:s,enabled:r,onDismiss:S,containerRef:x});let C=(0,M.useCallback)(()=>{!s||a||n&&S()},[s,a,n,S]);return g([l.floating,l.reference],C),s?(0,N.jsx)(f,{children:(0,N.jsxs)(`div`,{ref:y,style:u,className:i(E.popover,E[o]),role:`dialog`,"aria-modal":`true`,tabIndex:-1,children:[typeof e==`function`?e({setClose:S}):e,(0,N.jsx)(b,{ref:m,placement:p,middlewareData:d})]})}):null},P.__docgenInfo={description:`Содержимое Popover, отображаемое в портале.`,methods:[],displayName:`PopoverContent`,props:{children:{required:!0,tsType:{name:`union`,raw:`React.ReactNode | ((ctx: { setClose: () => void }) => React.ReactNode)`,elements:[{name:`ReactReactNode`,raw:`React.ReactNode`},{name:`unknown`}]},description:``},onClose:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},closeOnOutside:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`true`,computed:!1}},closeOnEscape:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`true`,computed:!1}},disableOutsideClick:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`false`,computed:!1}},background:{required:!1,tsType:{name:`union`,raw:`"primary" | "secondary"`,elements:[{name:`literal`,value:`"primary"`},{name:`literal`,value:`"secondary"`}]},description:``,defaultValue:{value:`"secondary"`,computed:!1}}}}})))()}var I,L;function R(){return(R=t((()=>{I=n(),j(),L=({passive:e,children:t})=>{let{open:n,setOpen:r,refs:i}=O(),a=(0,I.useCallback)(n=>{t.props.onClick&&t.props.onClick(n),!n.defaultPrevented&&(n.preventDefault(),n.stopPropagation(),!e&&r(e=>!e))},[t,r,e]);return(0,I.cloneElement)(t,{ref:i.setReference,"aria-expanded":n,onClick:a})},L.__docgenInfo={description:``,methods:[],displayName:`PopoverTrigger`,props:{passive:{required:!1,tsType:{name:`literal`,value:`true`},description:``},children:{required:!0,tsType:{name:`ReactReactElement`,raw:`React.ReactElement<React.HTMLAttributes<Element> & { ref?: React.Ref<Element> }>`,elements:[{name:`intersection`,raw:`React.HTMLAttributes<Element> & { ref?: React.Ref<Element> }`,elements:[{name:`ReactHTMLAttributes`,raw:`React.HTMLAttributes<Element>`,elements:[{name:`Element`}]},{name:`signature`,type:`object`,raw:`{ ref?: React.Ref<Element> }`,signature:{properties:[{key:`ref`,value:{name:`ReactRef`,raw:`React.Ref<Element>`,elements:[{name:`Element`}],required:!1}}]}}]}]},description:``}}}})))()}var z,B,V,H,U;function W(){return(W=t((()=>{z=e(n(),1),p(),F(),j(),R(),B=r(),V=16,H=({children:e,open:t,defaultOpen:n,onOpenChange:r,placement:i=`bottom`})=>{let[a,f]=(0,z.useState)(n??!1),p=t!==void 0,h=p?t:a,g=(0,z.useCallback)(e=>{let t=typeof e==`function`?e(h):e;p||f(t),r?.(t)},[p,r,h]),_=(0,z.useRef)(null),{refs:v,floatingStyles:y,middlewareData:b,placement:x}=s({open:h,onOpenChange:g,placement:i,middleware:[d(8),c({padding:V}),u({padding:V}),l({padding:V,apply({availableWidth:e,availableHeight:t,elements:n}){S({availableWidth:e,availableHeight:t,floating:n.floating})}}),m({element:_.current})],whileElementsMounted:o});return(0,B.jsx)(A.Provider,{value:{open:h,setOpen:g,refs:v,floatingStyles:y,placement:x,middlewareData:b,arrowRef:_},children:e})},U=Object.assign(H,{Trigger:L,Content:P}),H.__docgenInfo={description:`Контролируемый Popover.
2
- Используется в связке с Popover.Trigger и Popover.Content.`,methods:[],displayName:`PopoverRoot`,props:{children:{required:!0,tsType:{name:`ReactReactNode`,raw:`React.ReactNode`},description:``},placement:{required:!1,tsType:{name:`Placement`},description:``,defaultValue:{value:`"bottom"`,computed:!1}},open:{required:!1,tsType:{name:`boolean`},description:``},defaultOpen:{required:!1,tsType:{name:`boolean`},description:``},onOpenChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(open: boolean) => void`,signature:{arguments:[{type:{name:`boolean`},name:`open`}],return:{name:`void`}}},description:``}}}})))()}export{W as n,U as t};
@@ -1,47 +0,0 @@
1
- import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r}from"./iframe-woVbsQH3.js";import{n as i,t as a}from"./Popover-Byy9_Twt.js";import{n as o,t as s}from"./Button-CoOZeR_z.js";import{n as c,t as l}from"./createControlledStoryRender-BouhvX-R.js";import{l as u,t as d}from"./Input-B8eGQXlp.js";var f=t({AnchorPlacement:()=>w,Controlled:()=>C,Default:()=>S,WithInteractiveContent:()=>T,__namedExportsOrder:()=>E,default:()=>x});function p({args:e,updateArgs:t,trigger:n,children:r}){return(0,_.jsxs)(a,{placement:e.placement,open:e.open,defaultOpen:e.defaultOpen,onOpenChange:n=>{e.onOpenChange?.(n),t({open:n})},children:[(0,_.jsx)(a.Trigger,{passive:e.passive,children:n(e.open===!0)}),(0,_.jsx)(a.Content,{onClose:()=>e.onClose?.(),closeOnOutside:e.closeOnOutside,closeOnEscape:e.closeOnEscape,disableOutsideClick:e.disableOutsideClick,background:e.background,children:r})]})}function m(e,t){return l((n,r)=>(0,_.jsx)(p,{args:n,updateArgs:r,trigger:e,children:t}))}function h({args:e,updateArgs:t}){let[n,r]=(0,g.useState)(``);return(0,_.jsx)(p,{args:e,updateArgs:t,trigger:()=>(0,_.jsx)(`button`,{type:`button`,children:`Форма`}),children:e=>(0,_.jsxs)(`form`,{onSubmit:t=>{t.preventDefault(),e.setClose()},style:{display:`flex`,flexDirection:`column`,gap:8,padding:12,width:180},children:[(0,_.jsx)(d,{label:`Имя`,placeholder:`Введите имя`,value:n,onChange:r}),(0,_.jsx)(s,{children:`Отправить`})]})})}var g,_,v,y,b,x,S,C,w,T,E;function D(){return(D=e((()=>{g=n(),o(),c(),u(),i(),_=r(),{useArgs:v}=__STORYBOOK_MODULE_PREVIEW_API__,{fn:y}=__STORYBOOK_MODULE_TEST__,b=[`top`,`top-start`,`top-end`,`right`,`right-start`,`right-end`,`bottom`,`bottom-start`,`bottom-end`,`left`,`left-start`,`left-end`],x={title:`UI/Popover`,component:a,args:{children:null,placement:`bottom`,open:!1,defaultOpen:!1,onOpenChange:y(),onClose:y(),closeOnOutside:!0,closeOnEscape:!0,disableOutsideClick:!1,background:`secondary`},parameters:{atomicCanvas:!0,layout:`centered`},argTypes:{children:{description:"Композиция из `Popover.Trigger` и `Popover.Content`.",control:!1},placement:{description:`Предпочтительное положение панели относительно trigger.`,control:`select`,options:b},open:{description:`Контролируемая видимость popover.`,control:`boolean`},defaultOpen:{description:`Начальная видимость в uncontrolled-режиме.`,control:`boolean`},onOpenChange:{description:`Вызывается при открытии и закрытии popover.`,control:!1},passive:{description:`Оставляет trigger пассивным: он получает reference, но не переключает popover по клику.`,control:`boolean`},onClose:{description:"Вызывается после закрытия Content через Escape, клик снаружи или `setClose`.",control:!1},closeOnOutside:{description:`Закрывает Content по клику снаружи.`,control:`boolean`},closeOnEscape:{description:`Закрывает Content по клавише Escape.`,control:`boolean`},disableOutsideClick:{description:`Игнорирует клики снаружи Content.`,control:`boolean`},background:{description:`Тема фона Content.`,control:`inline-radio`,options:[`primary`,`secondary`]}}},S={render:m(()=>(0,_.jsx)(`button`,{type:`button`,children:`Открыть`}),e=>(0,_.jsxs)(`div`,{style:{padding:12,maxWidth:160},children:[(0,_.jsx)(`p`,{children:`Пример простого поповера`}),(0,_.jsx)(`button`,{type:`button`,onClick:e.setClose,children:`Закрыть`})]}))},C={render:m(e=>(0,_.jsx)(`button`,{type:`button`,children:e?`Закрыть`:`Открыть`}),(0,_.jsx)(`div`,{style:{padding:12},children:`Контролируемый режим`}))},w={render:function(){let[e,t]=v(),n=(n,r)=>{e.onOpenChange?.(n),t(n?{open:!0,placement:r}:{open:!1})};return(0,_.jsx)(`div`,{style:{display:`flex`,gap:32,flexWrap:`wrap`,justifyContent:`center`},children:b.map(t=>(0,_.jsxs)(a,{placement:t,open:e.open===!0&&e.placement===t,defaultOpen:e.defaultOpen,onOpenChange:e=>n(e,t),children:[(0,_.jsx)(a.Trigger,{passive:e.passive,children:(0,_.jsx)(`button`,{type:`button`,children:t})}),(0,_.jsx)(a.Content,{onClose:()=>e.onClose?.(),closeOnOutside:e.closeOnOutside,closeOnEscape:e.closeOnEscape,disableOutsideClick:e.disableOutsideClick,background:e.background,children:(0,_.jsx)(`div`,{style:{padding:8},children:t})})]},t))})}},T={render:l((e,t)=>(0,_.jsx)(h,{args:e,updateArgs:t}))},S.parameters={...S.parameters,docs:{...S.parameters?.docs,source:{originalSource:`{
2
- render: createPopoverStoryRender(() => <button type="button">Открыть</button>, ctx => <div style={{
3
- padding: 12,
4
- maxWidth: 160
5
- }}>
6
- <p>Пример простого поповера</p>
7
- <button type="button" onClick={ctx.setClose}>
8
- Закрыть
9
- </button>
10
- </div>)
11
- }`,...S.parameters?.docs?.source}}},C.parameters={...C.parameters,docs:{...C.parameters?.docs,source:{originalSource:`{
12
- render: createPopoverStoryRender(open => <button type="button">{open ? "Закрыть" : "Открыть"}</button>, <div style={{
13
- padding: 12
14
- }}>Контролируемый режим</div>)
15
- }`,...C.parameters?.docs?.source}}},w.parameters={...w.parameters,docs:{...w.parameters?.docs,source:{originalSource:`{
16
- render: function Render() {
17
- const [args, updateArgs] = useArgs<PopoverStoryArgs>();
18
- const onOpenChange = (open: boolean, placement: Placement) => {
19
- args.onOpenChange?.(open);
20
- updateArgs(open ? {
21
- open: true,
22
- placement
23
- } : {
24
- open: false
25
- });
26
- };
27
- return <div style={{
28
- display: "flex",
29
- gap: 32,
30
- flexWrap: "wrap",
31
- justifyContent: "center"
32
- }}>
33
- {placements.map(placement => <Popover key={placement} placement={placement} open={args.open === true && args.placement === placement} defaultOpen={args.defaultOpen} onOpenChange={open => onOpenChange(open, placement)}>
34
- <Popover.Trigger passive={args.passive}>
35
- <button type="button">{placement}</button>
36
- </Popover.Trigger>
37
- <Popover.Content onClose={() => args.onClose?.()} closeOnOutside={args.closeOnOutside} closeOnEscape={args.closeOnEscape} disableOutsideClick={args.disableOutsideClick} background={args.background}>
38
- <div style={{
39
- padding: 8
40
- }}>{placement}</div>
41
- </Popover.Content>
42
- </Popover>)}
43
- </div>;
44
- }
45
- }`,...w.parameters?.docs?.source}}},T.parameters={...T.parameters,docs:{...T.parameters?.docs,source:{originalSource:`{
46
- render: createControlledStoryRender<PopoverStoryArgs>((args, updateArgs) => <InteractivePopoverStoryCanvas args={args} updateArgs={updateArgs} />)
47
- }`,...T.parameters?.docs?.source}}},E=[`Default`,`Controlled`,`AnchorPlacement`,`WithInteractiveContent`]})))()}export{T as a,f as i,C as n,D as o,S as r,w as t};
@@ -1 +0,0 @@
1
- import{a as e,n as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{i as r,n as i,r as a}from"./iframe-woVbsQH3.js";import{a as o,i as s}from"./utils-tg3ibbzi.js";import{n as c,t as l}from"./ui.module-CyEEibCu.js";import{i as u,r as d}from"./uiClasses-DNnVkKPr.js";import{n as f,t as p}from"./CheckBox.module-BOAVN-Ny.js";var m,h;function g(){return(g=t((()=>{r(),m=[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]],h=a(`circle`,m)})))()}var _,v;function y(){return(y=t((()=>{_=`gu8UMB`,v={radioInput:_}})))()}var b,x,S;function C(){return(C=t((()=>{b=e(n(),1),s(),g(),f(),l(),u(),y(),x=i(),S=({label:e,description:t,placeholder:n,disabled:r,size:i,className:a,onChange:s,value:l,id:u,tone:f=`neutral`,...m})=>{let g=(0,b.useId)(),_=u??g,y=t?`${_}-description`:void 0,S=e??n,C=l??!1;return(0,x.jsxs)(`div`,{className:o(c.uiElement,i&&c.uiSizable,i&&c[i],r&&c.disabled,a),children:[(0,x.jsxs)(`div`,{className:p.row,children:[(0,x.jsxs)(`div`,{className:o(p.wrapper,d(f)),children:[(0,x.jsx)(`input`,{...m,id:_,type:`radio`,checked:C,disabled:r,"aria-disabled":r,"aria-describedby":y,className:o(c.uiSelectionControl,p.input,v.radioInput),onChange:e=>s?.(e.currentTarget.checked)}),(0,x.jsx)(`div`,{className:o(c.uiSelectionIcon,p.icon),"aria-hidden":`true`,children:(0,x.jsx)(h,{fill:`currentColor`})})]}),S&&(0,x.jsx)(`label`,{htmlFor:_,className:c.uiLabel,children:S})]}),t&&(0,x.jsx)(`p`,{id:y,className:c.uiDescription,children:t})]})},S.__docgenInfo={description:'Компонент радиокнопки для выбора одного варианта.\nНативный `input[type="radio"]` обеспечивает взаимоисключение элементов с\nобщим `name`, а controlled API продолжает публиковать булево состояние.\nПоддерживает tone + appearance и использует общие selection utility-классы из ui.module.scss.',methods:[],displayName:`RadioButton`,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:``},tone:{required:!1,tsType:{name:`union`,raw:`"accent" | "neutral" | "brand" | "error" | "warning" | "success" | "info"`,elements:[{name:`literal`,value:`"accent"`},{name:`literal`,value:`"neutral"`},{name:`literal`,value:`"brand"`},{name:`literal`,value:`"error"`},{name:`literal`,value:`"warning"`},{name:`literal`,value:`"success"`},{name:`literal`,value:`"info"`}]},description:``,defaultValue:{value:`"neutral"`,computed:!1}}},composes:[`Omit`]}})))()}export{C as n,S as t};
@@ -1 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-woVbsQH3.js";import{a as r,i}from"./utils-tg3ibbzi.js";var a,o,s,c;function l(){return(l=e((()=>{a=t(),i(),o=n(),s=(0,a.forwardRef)(({children:e,height:t,stable:n,overscroll:i,className:a},s)=>(0,o.jsx)(`div`,{ref:s,className:r(`scrollable`,n&&`stable`,i&&`overscroll`,a),style:{height:t},children:e})),c=(0,a.forwardRef)(({blockClassName:e,...t},n)=>(0,o.jsx)(`div`,{className:r(e,`overflowHidden w100 h100`),children:(0,o.jsx)(s,{ref:n,...t})})),s.__docgenInfo={description:``,methods:[],displayName:`Scrollable`,props:{className:{required:!1,tsType:{name:`string`},description:``},height:{required:!1,tsType:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]},description:``},stable:{required:!1,tsType:{name:`boolean`},description:``},overscroll:{required:!1,tsType:{name:`boolean`},description:``}},composes:[`PropsWithChildren`]},c.__docgenInfo={description:``,methods:[],displayName:`ScrollableBlock`,props:{className:{required:!1,tsType:{name:`string`},description:``},height:{required:!1,tsType:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]},description:``},stable:{required:!1,tsType:{name:`boolean`},description:``},overscroll:{required:!1,tsType:{name:`boolean`},description:``},blockClassName:{required:!1,tsType:{name:`string`},description:``}},composes:[`PropsWithChildren`]}})))()}export{l as n,s as t};
@@ -1,12 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n,t as r}from"./check-028VTQ8f.js";import{n as i}from"./iframe-woVbsQH3.js";import{a,i as o}from"./utils-tg3ibbzi.js";import{n as s,t as ee}from"./OptionButton--hnpJ-88.js";import{n as c,t as l}from"./ui.module-CyEEibCu.js";import{n as u,t as te}from"./Option-fRoOLqLF.js";import{n as d,t as ne}from"./PickerField-CRtltoce.js";import{c as f,d as p,f as m,i as re,l as h,n as ie,r as g,s as ae,t as _,u as v}from"./usePickerTriggerController-DWjrt_q_.js";import{i as y,n as oe,r as se,t as b}from"./usePickerQuery-CaO8hXyH.js";import{n as x,t as S}from"./usePickerDefaultFilter-ien2ZY7g.js";import{n as C,t as ce}from"./CustomOptionButton-DNd0GDWp.js";function le({option:e,getOptionLabel:t,getOptionCode:n,getOptionGroup:r}){return[p(t(e)),p(n?.(e)),p(r?.(e)?.label)].filter(e=>!!e).join(` `).toLowerCase()}function w(){return(w=e((()=>{m()})))()}function ue(e,t){let n=[];return e.forEach((e,r)=>{let i=t(e),a=n.at(-1),o=a?.group?.key===i?.key;if(a&&o){a.items.push({option:e,index:r});return}n.push({group:i,items:[{option:e,index:r}]})}),n}function T(e){let{label:t,description:n,disabled:i,placeholder:o,size:s,options:l,value:u,onChange:d,getOptionKey:f,getOptionLabel:m,getOptionCode:g,getOptionSearchText:_,getOptionDisabled:v,getOptionAriaLabel:y,getOptionGroup:b,getOptionClassName:S,renderOption:C,renderValue:w,className:T,buttonClassName:O,optionsClassName:de,optionsMaxWidth:fe,optionsContentClassName:pe,searchable:k=!1,defaultFilter:me=!0,query:he,defaultQuery:ge,onQuery:_e,renderPopupHeader:ve,emptyState:ye,isLoading:A,errorState:j,placement:M=`bottom-start`,clearable:N=!1}=e,P=d,F=(0,E.useRef)(null),[I,be]=(0,E.useState)(!1),L=k?`search-single`:`display`,R=u===void 0?void 0:f(u),z=R===void 0?void 0:l.find(e=>f(e)===R)??u,{query:B,setQuery:V,resetQueryOnClose:xe}=oe({query:he,defaultQuery:ge,onQuery:_e,triggerMode:L}),Se=e=>{I&&!e&&xe&&V(``),be(e)},Ce=(0,E.useCallback)(e=>_?.(e)??le({option:e,getOptionLabel:m,getOptionCode:g,getOptionGroup:b}),[_,g,b,m]),H=x({options:l,query:B,enabled:k&&me,getSearchText:Ce}),U=(0,E.useMemo)(()=>b?ue(H,b):void 0,[b,H]),we=R===void 0?-1:H.findIndex(e=>f(e)===R),{activeIndex:Te,context:Ee,floatingStyles:De,getFloatingProps:Oe,setReference:ke,setFloating:Ae,setOptionRef:je,close:W,openList:Me,toggleOpen:Ne,selectOption:G,selectActiveOption:Pe,handleReferenceKeyDown:Fe,handleFloatingKeyDown:Ie,getOptionId:Le,getActiveOptionId:K}=re({options:H,selectedIndex:we,open:I,onOpenChange:Se,getOptionDisabled:v,onSelect:P,disabled:i,placement:M,triggerMode:L}),q=H.length>0,J=z===void 0?void 0:m(z),Y=z===void 0?void 0:w?w(z):J,Re=p(J),ze=z===void 0?void 0:p(g?.(z)),X=p(Y)??Re??ze??(R===void 0?``:String(R)),Z=k&&(I||B.length>0)?B:z===void 0?``:X,Q=ie({mode:L,open:I,currentQuery:B,hasDisplayValue:z!==void 0,inputRef:F,setQuery:V,openList:Me,close:W,toggleOpen:Ne}),Be=e=>{F.current=e},Ve=()=>{N&&P(void 0),V(``),W()},$=(e,t,n)=>{let i=f(t),a=R!==void 0&&i===R,o=n===Te,s=v?.(t)??!1,c={active:o,selected:a,disabled:s};return(0,D.jsx)(te,{id:Le(e,n),ref:e=>je(n,e),role:`option`,"aria-selected":a,"aria-disabled":s||void 0,"aria-label":y?.(t),active:o,selected:a,disabled:s,className:S?.(t,c),children:C?(0,D.jsx)(ce,{tabIndex:-1,disabled:s,onMouseDown:e=>e.preventDefault(),onClick:()=>G(t),children:C(t,c)}):(0,D.jsx)(ee,{tabIndex:-1,disabled:s,icon:a?(0,D.jsx)(r,{}):(0,D.jsx)(`span`,{}),text:m(t),code:g?.(t),onMouseDown:e=>e.preventDefault(),onClick:()=>G(t)})},i)};return(0,D.jsx)(ne,{label:t,description:n,disabled:i,size:s,className:T,children:({controlId:e,labelId:n,describedBy:r})=>{let s=`${e}-listbox`;return(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(ae,{ref:Be,rootRef:ke,id:e,type:`text`,disabled:i,readOnly:!k,autoComplete:`off`,role:`combobox`,isLoading:A,open:I,optionCount:l.length,label:t,placeholder:o,value:Z,selectedValue:Y??X,hasSelection:z!==void 0,showSelectedValue:!1,clearable:!!N,onClear:Ve,onToggleMouseDown:Q.handleToggleMouseDown,onToggleClick:Q.handleToggleClick,"aria-labelledby":n,"aria-describedby":r,"aria-haspopup":`listbox`,"aria-expanded":I,"aria-controls":I?s:void 0,"aria-autocomplete":k?`list`:`none`,"aria-activedescendant":I?K(s):void 0,inputClassName:a(O,`textOverflow`),onChange:e=>{k&&Q.handleTriggerInputChange(e.target.value)},onClick:Q.handleTriggerClick,onFocus:e=>{Q.handleTriggerFocus(e.currentTarget)},onKeyDown:e=>{Fe(e),!e.defaultPrevented&&Q.handleTriggerKeyDown({event:e,onActivateWhenOpen:Pe,enableSpaceActivation:!k})}}),(0,D.jsx)(h,{open:I,context:Ee,floatingStyles:De,listId:s,labelId:n,descriptionId:r,activeOptionId:q?K(s):void 0,setFloating:Ae,getFloatingProps:Oe,onKeyDown:Ie,className:de,maxWidth:fe,toolbar:ve,children:(0,D.jsx)(`div`,{className:a(pe,`h100 scrollable overscroll`),children:q?U?U.map((e,t)=>{let n=e.group?`${s}-group-${t}`:void 0,r=e.items.map(({option:e,index:t})=>$(s,e,t));return e.group?(0,D.jsxs)(`div`,{role:`group`,"aria-labelledby":n,children:[(0,D.jsx)(`div`,{id:n,className:c.uiPopupGroupLabel,children:e.group.label}),r]},`group-${String(e.group.key)}-${t}`):(0,D.jsx)(E.Fragment,{children:r},`options-${t}`)}):H.map((e,t)=>$(s,e,t)):(0,D.jsx)(se,{emptyState:ye,errorState:j})})})]})}})}var E,D;function O(){return(O=e((()=>{E=t(),o(),n(),C(),u(),s(),m(),d(),v(),y(),f(),S(),g(),b(),_(),l(),w(),D=i(),T.__docgenInfo={description:`Выпадающий список выбора значения из набора опций. Подходит для форм, фильтров и простых справочников.`,methods:[],displayName:`Select`,props:{options:{required:!0,tsType:{name:`unknown`},description:``},getOptionKey:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => SelectOptionKey`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`string`}}},description:``},getOptionLabel:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => string`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`string`}}},description:``},getOptionCode:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => string`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`string`}}},description:``},getOptionSearchText:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => string | readonly string[]`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`union`,raw:`string | readonly string[]`,elements:[{name:`string`},{name:`unknown`}]}}},description:`Явный поисковый текст для опции с произвольным ReactNode-render.`},getOptionDisabled:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => boolean`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`boolean`}}},description:``},getOptionAriaLabel:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => string`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`string`}}},description:``},getOptionGroup:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => SelectOptionGroup | undefined`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`union`,raw:`SelectOptionGroup | undefined`,elements:[{name:`signature`,type:`object`,raw:`{
2
- readonly key: SelectOptionKey;
3
- readonly label: ReactNode;
4
- }`,signature:{properties:[{key:`key`,value:{name:`string`,required:!0}},{key:`label`,value:{name:`ReactNode`,required:!0}}]}},{name:`undefined`}]}}},description:``},getOptionClassName:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption, state: SelectOptionState) => string | undefined`,signature:{arguments:[{type:{name:`TOption`},name:`option`},{type:{name:`signature`,type:`object`,raw:`{
5
- active: boolean;
6
- selected: boolean;
7
- disabled: boolean;
8
- }`,signature:{properties:[{key:`active`,value:{name:`boolean`,required:!0}},{key:`selected`,value:{name:`boolean`,required:!0}},{key:`disabled`,value:{name:`boolean`,required:!0}}]}},name:`state`}],return:{name:`union`,raw:`string | undefined`,elements:[{name:`string`},{name:`undefined`}]}}},description:``},renderOption:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption, state: SelectOptionState) => ReactNode`,signature:{arguments:[{type:{name:`TOption`},name:`option`},{type:{name:`signature`,type:`object`,raw:`{
9
- active: boolean;
10
- selected: boolean;
11
- disabled: boolean;
12
- }`,signature:{properties:[{key:`active`,value:{name:`boolean`,required:!0}},{key:`selected`,value:{name:`boolean`,required:!0}},{key:`disabled`,value:{name:`boolean`,required:!0}}]}},name:`state`}],return:{name:`ReactNode`}}},description:``},renderValue:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(option: TOption) => ReactNode`,signature:{arguments:[{type:{name:`TOption`},name:`option`}],return:{name:`ReactNode`}}},description:``},className:{required:!1,tsType:{name:`string`},description:``},buttonClassName:{required:!1,tsType:{name:`string`},description:``},optionsClassName:{required:!1,tsType:{name:`string`},description:``},optionsMaxWidth:{required:!1,tsType:{name:`CSSProperties["maxWidth"]`,raw:`CSSProperties["maxWidth"]`},description:``},optionsContentClassName:{required:!1,tsType:{name:`string`},description:``},searchable:{required:!1,tsType:{name:`boolean`},description:``},query:{required:!1,tsType:{name:`string`},description:``},defaultQuery:{required:!1,tsType:{name:`string`},description:``},onQuery:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},defaultFilter:{required:!1,tsType:{name:`boolean`},description:``},isLoading:{required:!1,tsType:{name:`boolean`},description:``},renderPopupHeader:{required:!1,tsType:{name:`ReactNode`},description:``},emptyState:{required:!1,tsType:{name:`ReactNode`},description:``},errorState:{required:!1,tsType:{name:`ReactNode`},description:``},placement:{required:!1,tsType:{name:`Placement`},description:``},clearable:{required:!1,tsType:{name:`TClearable`},description:``},onChange:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(value: T) => void`,signature:{arguments:[{type:{name:`unknown`},name:`value`}],return:{name:`void`}}},description:``}}}})))()}export{O as n,T as t};
@@ -1 +0,0 @@
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-woVbsQH3.js";import{a as i,i as a}from"./utils-tg3ibbzi.js";import{n as o,t as s}from"./FloatingPopover-D6tO24aO.js";import{d as ee,l as c,s as te,u as l}from"./Input-B8eGQXlp.js";import{c as u,d,f,i as ne,l as p,n as re,o as m,r as ie,s as h,t as g}from"./number-scale-D2KTkjVQ.js";function _(e,t,n){return g(e,t,n)}function v(e,t,n){let r=t.findIndex(t=>t.value===e.value);return ie(Math.max(0,r),t,n.min,n.max,n.marksPosition)}function y(e,t){let{min:n,max:r}=h(t.min,t.max),i=_(t.marks,n,r);if(i.length>0){let a=i.find(t=>t.value===e)??d(e,i);if(a)return v(a,i,{...t,min:n,max:r,marks:i})}return f(e,n,r)}function ae(e,t){let{min:n,max:r}=h(t.min,t.max),i=_(t.marks,n,r);return p(e,i,n,r,t.marksPosition)}function b(e,t){return m(e,t)}function x(e,t){let{min:n,max:r}=h(t.min,t.max);return e===void 0?n:b(e,{...t,min:n,max:r})}function S(e){if(e)return!Object.hasOwn(e,`outputValue`)||e.outputValue===void 0?e.value:e.outputValue}function C(e,t,n){let r=t.filter(t=>S(t)===e);if(r.length)return e===null?n===0?r[0]:r[r.length-1]:r[0]}function w(e,t,n){let r=C(e,t,n);if(r)return r;let i,a=1/0;for(let n of t){let t=S(n);if(typeof t!=`number`||!Number.isFinite(t))continue;let r=Math.abs(e-t);r<a&&(i=n,a=r)}return i}function T(e,t,n,r){if(e===null)return null;let{min:i,max:a}=h(r.min,r.max),o=_(r.marks,i,a),s=Number.isFinite(e)?e:t;if(o.length>0){let e=w(s,o,n),r=S(e);return r===void 0?e?.value??t:r}return u(s,i,a,r.step)}function E(e,t){let{min:n,max:r}=h(t.min,t.max);if(!e)return[null,null];let i=T(e[0],n,0,{...t,min:n,max:r}),a=T(e[1],r,1,{...t,min:n,max:r});return i!==null&&a!==null&&i>a?[a,i]:[i,a]}function D(e,t,n,r){if(e===null)return t;let{min:i,max:a}=h(r.min,r.max),o=_(r.marks,i,a);return o.length>0?(C(e,o,n)??(typeof e==`number`?w(e,o,n):void 0))?.value??t:u(e,i,a,r.step)}function oe(e,t){let{min:n,max:r}=h(t.min,t.max),i=E(e,{...t,min:n,max:r}),a=D(i[0],n,0,{...t,min:n,max:r}),o=D(i[1],r,1,{...t,min:n,max:r});return a<=o?[a,o]:[o,a]}function se(e,t){let{min:n,max:r}=h(t.min,t.max),i=_(t.marks,n,r);if(i.length>0){let t=d(e,i),n=S(t);return n===void 0?t?.value??e:n}return u(e,n,r,t.step)}function ce(e,t){let[n,r]=t;return Math.abs(e-n)<=Math.abs(e-r)?0:1}function le(e,t){let{min:n,max:r}=h(t.min,t.max);return Array.isArray(e)?{startPercent:y(e[0],{...t,min:n,max:r}),endPercent:y(e[1],{...t,min:n,max:r})}:{startPercent:0,endPercent:y(e,{...t,min:n,max:r})}}function O(){return(O=t((()=>{})))()}var k,A,j,M,N,P,F,I,L,R,z,B,V,H,U,W,G,K;function q(){return(q=t((()=>{k=`fA7zne`,A=`gg-atO`,j=`bTLJZl`,M=`vDAmRy`,N=`PpaxP2`,P=`_9K78Fi`,F=`TMbaqW`,I=`_77qn1L`,L=`cxJQqh`,R=`-X13t0`,z=`iNrV0y`,B=`vzEDBe`,V=`_0OWJh0`,H=`Mk4xi2`,U=`SL0IDQ`,W=`mdezg5`,G=`a4R18g`,K={slider:k,rail:A,fill:j,thumb:M,mark:N,compactMark:P,sliderCompact:F,trackShell:I,track:L,tooltipReference:R,marks:z,markDot:B,markLabel:V,popoverContent:H,rangeInputControl:U,rangeSegmentInput:W,rangeSeparator:G}})))()}function ue(e){return e===`ArrowLeft`||e===`ArrowDown`?-1:e===`ArrowRight`||e===`ArrowUp`?1:e===`PageDown`?-10:e===`PageUp`?10:null}function de(e,t){return!!e&&e[0]===t[0]&&e[1]===t[1]}function fe(e,t){return e===null?t===0?`-∞`:`∞`:String(e)}function pe(e,t){return t.find(t=>t.value===e)?.label??String(e)}function me(e){return typeof e==`string`||typeof e==`number`?(0,Q.jsx)(`span`,{className:`textNoWrap`,children:e}):e}function he({position:e,children:t}){return(0,Q.jsx)(`span`,{"data-slot":`slider-tooltip-reference`,className:K.tooltipReference,style:{left:`${e}%`},children:t})}function J(e){let{min:t,max:n,step:r,marks:a,marksPosition:o=`value`,marksDisplay:c=`compact`,className:l,error:u,onClearError:d,label:f,description:p,disabled:m,size:ie}=e,{min:g,max:b}=(0,Z.useMemo)(()=>h(t,n),[t,n]),S=(0,Z.useMemo)(()=>_(a,g,b),[a,g,b]),C=(0,Z.useMemo)(()=>({min:g,max:b,step:r,marks:S,marksPosition:o}),[g,b,r,S,o]),w=e.mode===`range`,T=w?void 0:x(e.value,C),D=w?E(e.value,C):void 0,O=w?oe(e.value,C):void 0,k=w?O:[T],A=le(w?O:T,C),j=(0,Z.useRef)(null),M=(0,Z.useRef)([]),N=(0,Z.useRef)(null),P=(0,Z.useRef)(null),[F,I]=(0,Z.useState)(null),{controlId:L,labelId:R,descriptionId:z,errorId:B,describedBy:V}=ee({hasLabel:f!=null,hasDescription:!!p,hasError:!!u}),H=t=>{m||e.mode!==`single`||(e.value===void 0||e.value!==t)&&(e.onChange(t),d?.())},U=t=>{m||e.mode!==`range`||de(e.value,t)||(e.onChange(t),d?.())},W=(t,n)=>{if(!m){if(e.mode===`range`){let[e,r]=O,[i,a]=D,o=E(n===0?[se(Math.min(t,r),C),a]:[i,se(Math.max(t,e),C)],C);U(o);return}H(x(t,C))}},G=e=>{let t=j.current?.getBoundingClientRect();if(!t)return g;let n=(e-t.left)/t.width*100;return(S.length>0?ae(n,C):void 0)?.value??re(n,g,b)},q=(0,Z.useRef)(W),J=(0,Z.useRef)(G);(0,Z.useEffect)(()=>{q.current=W,J.current=G}),(0,Z.useEffect)(()=>{let e=e=>{P.current!==null&&e&&e.pointerId!==P.current||(P.current=null,N.current=null,I(null))},t=e=>{N.current!==null&&(P.current===null||e.pointerId===P.current)&&q.current(J.current(e.clientX),N.current)};return window.addEventListener(`pointermove`,t),window.addEventListener(`pointerup`,e),window.addEventListener(`pointercancel`,e),()=>{window.removeEventListener(`pointermove`,t),window.removeEventListener(`pointerup`,e),window.removeEventListener(`pointercancel`,e)}},[]);let Y=(e,t)=>{P.current=e,N.current=t,I(t),M.current[t]?.focus()},X=e=>{if(m)return;e.preventDefault();let t=G(e.clientX),n=w?ce(t,O):0;W(t,n),Y(e.pointerId,n)},$=e=>t=>{m||(t.preventDefault(),t.stopPropagation(),Y(t.pointerId,e))},ge=e=>t=>{if(m)return;let n=w&&e===1?O[0]:g,r=w&&e===0?O[1]:b,i=ue(t.key);if(t.key===`Home`){t.preventDefault(),W(n,e);return}if(t.key===`End`){t.preventDefault(),W(r,e);return}if(i===null)return;t.preventDefault();let a=k[e],o=ne(a,i,C,n,r);W(o,e)},_e=e=>{if(m)return;let t=w?ce(e,O):0;W(e,t),M.current[t]?.focus()},ve=(e,t)=>{if(w){let n=D[t];return S.find(t=>t.value===e)?.label??fe(n,t)}return pe(e,S)};return(0,Q.jsx)(te,{label:f,description:p,disabled:m,className:l,size:ie,error:u,controlId:L,labelId:R,descriptionId:z,errorId:B,children:(0,Q.jsxs)(`div`,{id:L,className:i(K.slider,c===`compact`&&K.sliderCompact),"data-disabled":m||void 0,children:[(0,Q.jsx)(`div`,{className:K.trackShell,children:(0,Q.jsxs)(`div`,{ref:j,"data-slot":`track`,className:K.track,role:`presentation`,onPointerDown:X,children:[(0,Q.jsx)(`div`,{className:K.rail}),(0,Q.jsx)(`div`,{"data-slot":`fill`,className:K.fill,style:{left:`${A.startPercent}%`,width:`${A.endPercent-A.startPercent}%`}}),c===`compact`&&S.map(e=>{let t=v(e,S,C),n=w?e.value>=O[0]&&e.value<=O[1]:e.value<=T;return(0,Q.jsx)(he,{position:t,children:(0,Q.jsx)(s,{tooltip:!0,placement:`top`,content:me(e.label),children:(0,Q.jsx)(`button`,{type:`button`,"data-slot":`mark`,"data-active":n?``:void 0,className:K.compactMark,"aria-label":e.ariaLabel,disabled:m,onClick:()=>_e(e.value),children:(0,Q.jsx)(`span`,{className:K.markDot,"aria-hidden":`true`})})})},e.value)}),k.map((e,t)=>{let n=ve(e,t);return(0,Q.jsx)(he,{position:y(e,C),children:(0,Q.jsx)(s,{tooltip:!0,placement:`top`,content:me(n),openDelay:0,closeDelay:100,positionUpdateKey:e,children:(0,Q.jsx)(`button`,{ref:e=>{M.current[t]=e},type:`button`,role:`slider`,"data-slot":`thumb`,"data-thumb-index":t,"data-dragging":F===t?``:void 0,className:K.thumb,disabled:m,"aria-disabled":m||void 0,"aria-orientation":`horizontal`,"aria-valuemin":w&&t===1?O[0]:g,"aria-valuemax":w&&t===0?O[1]:b,"aria-valuenow":e,"aria-valuetext":typeof n==`string`||typeof n==`number`?String(n):void 0,"aria-labelledby":R,"aria-describedby":V,"aria-label":R?void 0:w?t===0?`Минимальное значение`:`Максимальное значение`:`Значение`,onPointerDown:$(t),onKeyDown:ge(t)})})},t)})]})}),c===`full`&&S.length>0&&(0,Q.jsx)(`div`,{className:K.marks,children:S.map(e=>{let t=w?e.value>=O[0]&&e.value<=O[1]:e.value<=T;return(0,Q.jsxs)(`button`,{type:`button`,"data-slot":`mark`,"data-active":t?``:void 0,className:K.mark,style:{left:`${v(e,S,C)}%`},"aria-label":e.ariaLabel,disabled:m,onClick:()=>_e(e.value),children:[(0,Q.jsx)(`span`,{className:K.markDot,"aria-hidden":`true`}),(0,Q.jsx)(`span`,{className:K.markLabel,children:e.label})]},e.value)})})]})})}function Y(e){return(0,Q.jsx)(J,{...e,mode:`single`,marksDisplay:`compact`})}function X(e){return(0,Q.jsx)(J,{...e,mode:`range`,marksDisplay:`compact`})}var Z,Q;function $(){return($=t((()=>{Z=e(n(),1),a(),c(),l(),o(),O(),q(),Q=r(),J.__docgenInfo={description:``,methods:[],displayName:`SliderBase`},Y.__docgenInfo={description:``,methods:[],displayName:`Slider`,props:{min:{required:!0,tsType:{name:`number`},description:`Минимальная координата шкалы. Marks вне этой границы отбрасываются.`},max:{required:!0,tsType:{name:`number`},description:`Максимальная координата шкалы. Marks вне этой границы отбрасываются.`},step:{required:!1,tsType:{name:`number`},description:"Шаг изменения, когда `marks` не заданы или после фильтрации не осталось валидных marks."},marks:{required:!1,tsType:{name:`unknown`},description:`Дискретные точки выбора. Если заданы, бегунок всегда ходит только по marks.`},marksPosition:{required:!1,tsType:{name:`NumberScaleMarksPosition`},description:"Способ визуального размещения marks и бегунка: по числовой координате `value` или равномерно по индексу."},className:{required:!1,tsType:{name:`string`},description:`Внешний CSS-класс контейнера поля.`},error:{required:!1,tsType:{name:`string`},description:"Текст внешней ошибки, отображается через общую `InputUI`-обёртку."},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:`Вызывается после успешного изменения значения, чтобы потребитель мог сбросить внешнюю ошибку.`}},composes:[`Omit`]},X.__docgenInfo={description:``,methods:[],displayName:`SliderRange`,props:{min:{required:!0,tsType:{name:`number`},description:`Минимальная координата шкалы. Marks вне этой границы отбрасываются.`},max:{required:!0,tsType:{name:`number`},description:`Максимальная координата шкалы. Marks вне этой границы отбрасываются.`},step:{required:!1,tsType:{name:`number`},description:"Шаг изменения, когда `marks` не заданы или после фильтрации не осталось валидных marks."},marks:{required:!1,tsType:{name:`unknown`},description:`Дискретные точки выбора. Если заданы, бегунок всегда ходит только по marks.`},marksPosition:{required:!1,tsType:{name:`NumberScaleMarksPosition`},description:"Способ визуального размещения marks и бегунка: по числовой координате `value` или равномерно по индексу."},className:{required:!1,tsType:{name:`string`},description:`Внешний CSS-класс контейнера поля.`},error:{required:!1,tsType:{name:`string`},description:"Текст внешней ошибки, отображается через общую `InputUI`-обёртку."},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:`Вызывается после успешного изменения значения, чтобы потребитель мог сбросить внешнюю ошибку.`}},composes:[`Omit`]}})))()}export{K as a,O as c,_ as d,$ as i,E as l,J as n,q as o,X as r,S as s,Y as t,x as u};
@@ -1,2 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-woVbsQH3.js";import{a as r,i}from"./utils-tg3ibbzi.js";import{g as a,p as o}from"./odata-service-CWkHASdw-DAt28ZWr.js";import{n as s,t as c}from"./Popover-Byy9_Twt.js";import{n as l,t as u}from"./ui.module-CyEEibCu.js";import{d,l as f,o as p,r as m,s as h,u as g}from"./Input-B8eGQXlp.js";import{n as _,t as v}from"./PickerTriggerActions-BDGEQPvP.js";import{s as y}from"./number-scale-D2KTkjVQ.js";import{a as b,c as x,d as S,i as C,l as w,n as T,o as E,s as D,u as O}from"./Slider-DbiDvmoV.js";function k({open:e,disabled:t,setOpen:n}){return(0,B.jsx)(c.Trigger,{passive:!0,children:(0,B.jsx)(`div`,{children:(0,B.jsx)(v,{open:e,disabled:t,openAriaLabel:`Открыть слайдер`,closeAriaLabel:`Закрыть слайдер`,onToggleMouseDown:e=>e.preventDefault(),onToggleClick:()=>n(e=>!e)})})})}function A(e,t){let n=w(e,t);return{start:n[0]===null?`-∞`:String(n[0]),end:n[1]===null?`∞`:String(n[1])}}function j(e,t){let n=e.trim();return n===``||n===t?null:o(n)}function M(e,t,n){let r=t.filter(t=>D(t)===e);if(r.length)return e===null&&n===`end`?r[r.length-1]:r[0]}function N(e,t){return e?.readonlyLabel?.trim()?e.readonlyLabel.trim():typeof e?.label==`string`||typeof e?.label==`number`?String(e.label):t===null?``:String(t)}function P(e,t,n){return N(M(e,t,n),e)}function F(e,t,n){let[r,i]=e,a=r===null,o=i===null;return a&&o?n??``:a?`Меньше ${P(i,t,`end`)}`:o?`Больше ${P(r,t,`start`)}`:r===i?`Равно ${P(r,t,`start`)}`:`От ${P(r,t,`start`)} до ${P(i,t,`end`)}`}function I({value:e,onChange:t,min:n,max:r,step:i,marks:a,marksPosition:s=`value`,className:l,error:u,onClearError:d,label:f,description:m,placeholder:h,disabled:g,size:_}){let{min:v,max:x}=(0,z.useMemo)(()=>y(n,r),[n,r]),C=(0,z.useMemo)(()=>S(a,v,x),[a,v,x]),w=(0,z.useMemo)(()=>({min:v,max:x,step:i,marks:C,marksPosition:s}),[v,x,i,C,s]),E=O(e,w),[D,A]=(0,z.useState)(!1),[j,M]=(0,z.useState)(()=>({sourceValue:E,value:String(E)})),N=j.sourceValue===E?j.value:String(E),P=e=>{M({sourceValue:E,value:e})},F=(0,z.useCallback)(()=>{if(g){M({sourceValue:E,value:String(E)});return}let n=o(N);if(n===void 0){M({sourceValue:E,value:String(E)});return}let r=O(n,w);e!==r&&(t(r),d?.()),M({sourceValue:r,value:String(r)})},[g,N,E,t,d,w,e]);return(0,B.jsxs)(c,{open:D,onOpenChange:A,children:[(0,B.jsx)(p,{label:f,description:m,placeholder:h,disabled:g,size:_,className:l,error:u,value:N,onChange:P,onBlur:F,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),F())},endAdornmentWidth:`var(--control-height)`,endAdornment:k({open:D,disabled:g,setOpen:A})}),(0,B.jsx)(c.Content,{background:`primary`,children:(0,B.jsx)(`div`,{className:b.popoverContent,children:(0,B.jsx)(T,{mode:`single`,min:v,max:x,step:i,marks:C,marksPosition:s,marksDisplay:`full`,value:e,onChange:e=>{t(e),M({sourceValue:e,value:String(e)}),d?.()},disabled:g})})})]})}function L({value:e,onChange:t,min:n,max:i,step:a,marks:o,marksPosition:s=`value`,className:u,error:f,onClearError:p,label:g,description:_,readonlyValueText:v,placeholder:x,disabled:C,size:E}){let{min:D,max:O}=(0,z.useMemo)(()=>y(n,i),[n,i]),M=(0,z.useMemo)(()=>S(o,D,O),[o,D,O]),N=(0,z.useMemo)(()=>({min:D,max:O,step:a,marks:M,marksPosition:s}),[D,O,a,M,s]),P=(0,z.useMemo)(()=>w(e,N),[N,e]),I=(0,z.useMemo)(()=>A(P,N),[P,N]),[L,V]=(0,z.useState)(!1),[H,U]=(0,z.useState)(()=>({sourceValue:P,start:I.start,end:I.end})),[W,G]=(0,z.useState)(P),K=L||R(H.sourceValue,P),q=K?H.start:I.start,J=K?H.end:I.end,ee=e=>{U({sourceValue:P,start:e,end:J})},te=e=>{U({sourceValue:P,start:q,end:e})},{controlId:Y,labelId:X,descriptionId:ne,errorId:re,describedBy:ie}=d({hasLabel:g!=null,hasDescription:!!_,hasError:!!f}),Z=(0,z.useCallback)(()=>{U({sourceValue:P,start:I.start,end:I.end})},[I.end,I.start,P]),Q=(0,z.useCallback)(()=>{if(C){Z();return}let e=j(q,`-∞`),n=j(J,`∞`);if(e===void 0||n===void 0){Z();return}let r=w([e,n],N);R(P,r)||(t(r),p?.());let i=A(r,N);U({sourceValue:r,start:i.start,end:i.end}),G(r)},[C,J,q,P,t,p,Z,N]),ae=(0,z.useCallback)(e=>{let n=w(e,N);R(P,n)||(t(n),p?.());let r=A(n,N);U({sourceValue:n,start:r.start,end:r.end}),G(n)},[P,t,p,N]),$=e=>{!L&&e&&(G(P),U({sourceValue:P,start:I.start,end:I.end})),L&&!e&&!C&&ae(W),V(e)},oe=e=>{e.key===`Enter`&&(e.preventDefault(),Q())},se=e=>{let t=w(e,N);G(t);let n=A(t,N);U({sourceValue:P,start:n.start,end:n.end})},ce=v?F(L?W:P,M,x):void 0;return(0,B.jsxs)(c,{open:L,onOpenChange:$,children:[(0,B.jsx)(h,{label:g,description:_,disabled:C,className:u,size:E,error:f,controlId:Y,labelId:X,descriptionId:ne,errorId:re,children:(0,B.jsx)(m,{endAdornmentWidth:`var(--control-height)`,endAdornment:k({open:L,disabled:C,setOpen:e=>{$(typeof e==`function`?e(L):e)}}),children:({controlClassName:e})=>(0,B.jsx)(`div`,{id:Y,className:r(l.uiInputControlFake,b.rangeInputControl,e),"data-invalid":f?``:void 0,"data-disabled":C||void 0,role:`group`,"aria-invalid":!!f||void 0,"aria-label":typeof g==`string`?g:`Диапазон`,"aria-labelledby":typeof g==`string`?void 0:X,"aria-describedby":ie,children:v?(0,B.jsx)(`span`,{className:r(`flexEllipsis`,!ce&&l.uiPlaceholder),children:ce||x}):(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`input`,{type:`text`,inputMode:`decimal`,className:b.rangeSegmentInput,value:q,disabled:C,"aria-label":`Начало диапазона`,onChange:e=>ee(e.target.value),onBlur:Q,onKeyDown:oe}),(0,B.jsx)(`span`,{className:b.rangeSeparator,"data-disabled":C||void 0,children:`-`}),(0,B.jsx)(`input`,{type:`text`,inputMode:`decimal`,className:b.rangeSegmentInput,value:J,disabled:C,"aria-label":`Конец диапазона`,onChange:e=>te(e.target.value),onBlur:Q,onKeyDown:oe})]})})})}),(0,B.jsx)(c.Content,{background:`primary`,children:(0,B.jsx)(`div`,{className:b.popoverContent,children:(0,B.jsx)(T,{mode:`range`,min:D,max:O,step:a,marks:M,marksPosition:s,marksDisplay:`full`,value:W,onChange:se,disabled:C})})})]})}function R(e,t){return e[0]===t[0]&&e[1]===t[1]}var z,B;function V(){return(V=e((()=>{z=t(),a(),i(),f(),g(),_(),s(),u(),x(),C(),E(),B=n(),I.__docgenInfo={description:``,methods:[],displayName:`SliderInput`,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:``},min:{required:!0,tsType:{name:`number`},description:`Минимальная координата шкалы. Marks вне этой границы не участвуют в выборе.`},max:{required:!0,tsType:{name:`number`},description:`Максимальная координата шкалы. Marks вне этой границы не участвуют в выборе.`},step:{required:!1,tsType:{name:`number`},description:`Шаг ручного ввода и слайдера, если не заданы marks.`},marksPosition:{required:!1,tsType:{name:`NumberScaleMarksPosition`},description:`Способ визуального размещения marks и бегунка в popover.`,defaultValue:{value:`"value"`,computed:!1}},className:{required:!1,tsType:{name:`string`},description:`Внешний CSS-класс общей обёртки поля.`},error:{required:!1,tsType:{name:`string`},description:`Текст внешней ошибки.`},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:`Сбрасывает внешнюю ошибку после успешного commit или выбора в popover.`},marks:{required:!1,tsType:{name:`unknown`},description:"Marks single-слайдера. Single-компонент отдаёт наружу `mark.value`."}}},L.__docgenInfo={description:``,methods:[],displayName:`SliderRangeInput`,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:``},min:{required:!0,tsType:{name:`number`},description:`Минимальная координата шкалы. Marks вне этой границы не участвуют в выборе.`},max:{required:!0,tsType:{name:`number`},description:`Максимальная координата шкалы. Marks вне этой границы не участвуют в выборе.`},step:{required:!1,tsType:{name:`number`},description:`Шаг ручного ввода и слайдера, если не заданы marks.`},marksPosition:{required:!1,tsType:{name:`NumberScaleMarksPosition`},description:`Способ визуального размещения marks и бегунка в popover.`,defaultValue:{value:`"value"`,computed:!1}},className:{required:!1,tsType:{name:`string`},description:`Внешний CSS-класс общей обёртки поля.`},error:{required:!1,tsType:{name:`string`},description:`Текст внешней ошибки.`},onClearError:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:`Сбрасывает внешнюю ошибку после успешного commit или выбора в popover.`},marks:{required:!1,tsType:{name:`unknown`},description:"Marks range-слайдера. `value` задаёт координату на шкале, `outputValue` задаёт публичное значение для потребителя."},readonlyValueText:{required:!1,tsType:{name:`boolean`},description:`Показывает вместо ручных сегментов готовый текст по выбранным marks.
2
- Popover остаётся единственным способом изменить значение через слайдер, а потребитель получает изменение при закрытии popover.`}}}})))()}export{L as n,V as r,I as t};
@@ -1,44 +0,0 @@
1
- import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{i as r,n as i,r as a,t as o}from"./sortable-CXLU2ip-.js";import{n as s}from"./iframe-woVbsQH3.js";var c=t({Basic:()=>S,DisabledItems:()=>T,GridCards:()=>w,HandleOnly:()=>E,HorizontalList:()=>C,NestedContainers:()=>D,SortablePreview:()=>f,__namedExportsOrder:()=>O,default:()=>x});function l(e,t,n){let r=[...e],[i]=r.splice(t,1);return r.splice(n,0,i),r}function u(e){switch(e){case`horizontal`:return{display:`flex`,gap:`var(--space-sm)`,overflowX:`auto`};case`grid`:return{display:`grid`,gap:`var(--space-sm)`,gridTemplateColumns:`repeat(auto-fill, minmax(12rem, 1fr))`};default:return{display:`grid`,gap:`var(--space-sm)`}}}function d(e){let t=e.initialItems,n=new Set(e.disabledIds??[]);return(0,h.jsxs)(`div`,{style:{display:`grid`,gap:12},children:[(0,h.jsx)(o.Root,{onDragEnd:n=>{let r=a({event:n,items:{[e.containerId]:t}});r&&e.onItemsChange(l(t,r.fromIndex,r.toIndex))},children:(0,h.jsx)(o.Container,{containerId:e.containerId,items:t,layout:e.layout,children:(0,h.jsx)(`div`,{style:u(e.layout),children:t.map(t=>(0,h.jsxs)(o.Item,{id:t,disabled:n.has(t),style:{..._,minWidth:e.itemWidth},children:[(0,h.jsx)(o.DragHandle,{title:`Перетащить ${t}`}),(0,h.jsx)(`div`,{children:t})]},t))})})}),(0,h.jsx)(`div`,{style:{fontSize:14,opacity:.8},children:`Порядок элементов изменяется локально в рамках story.`})]})}function f(e){let[t,n]=(0,m.useState)(e.initialItems);return(0,h.jsx)(d,{...e,initialItems:t,onItemsChange:n})}function p({args:e,onTopItemsChange:t}){let n=e.initialItems,[r,i]=(0,m.useState)({"Группа A":[`A.1`,`A.2`,`A.3`],"Группа B":[`B.1`,`B.2`]});return(0,h.jsxs)(`div`,{style:{display:`grid`,gap:12},children:[(0,h.jsx)(o.Root,{onDragEnd:o=>{let s=a({event:o,items:{[e.containerId]:n,...Object.fromEntries(n.map(e=>[`parent:${e}`,r[e]??[]]))}});if(!s)return;if(s.containerId===e.containerId){t(l(n,s.fromIndex,s.toIndex));return}let c=String(s.containerId).slice(7);i(e=>({...e,[c]:l(e[c]??[],s.fromIndex,s.toIndex)}))},children:(0,h.jsx)(o.Container,{containerId:e.containerId,items:n,layout:e.layout,children:(0,h.jsx)(`div`,{style:{display:`grid`,gap:`var(--space-md)`},children:n.map(e=>(0,h.jsxs)(o.Item,{id:e,style:{..._,gridTemplateColumns:`var(--control-height) 1fr`,alignItems:`start`},children:[(0,h.jsx)(o.DragHandle,{title:`Перетащить ${e}`}),(0,h.jsxs)(`div`,{style:{display:`grid`,gap:`var(--space-sm)`},children:[(0,h.jsx)(`strong`,{children:e}),(0,h.jsx)(o.Container,{containerId:`parent:${e}`,items:r[e]??[],children:(0,h.jsx)(`div`,{style:{display:`grid`,gap:`var(--space-xs)`},children:(r[e]??[]).map(e=>(0,h.jsxs)(o.Item,{id:e,style:{..._,background:`var(--surface-1)`},children:[(0,h.jsx)(o.DragHandle,{title:`Перетащить ${e}`}),(0,h.jsx)(`div`,{children:e})]},e))})})]})]},e))})})}),(0,h.jsx)(`div`,{style:{fontSize:14,opacity:.8},children:"Вложенные контейнеры сортируются независимо и используют общий `Sortable.Root`."})]})}var m,h,g,_,v,y,b,x,S,C,w,T,E,D,O;function k(){return(k=e((()=>{m=n(),i(),r(),h=s(),{useArgs:g}=__STORYBOOK_MODULE_PREVIEW_API__,_={display:`grid`,gridTemplateColumns:`var(--control-height) 1fr`,alignItems:`center`,gap:`var(--space-sm)`,padding:`var(--space-sm)`,border:`var(--border)`,borderRadius:`var(--radius-sm)`,background:`var(--surface-0)`},v=[`Alpha`,`Bravo`,`Charlie`,`Delta`],y=[`Фильтры`,`Графики`,`Сводка`,`История`],b=[`Карточка 1`,`Карточка 2`,`Карточка 3`,`Карточка 4`,`Карточка 5`,`Карточка 6`],x={title:`UI/Sortable`,component:f,args:{containerId:`sortable-demo`,layout:`vertical`,initialItems:v,itemWidth:void 0,disabledIds:[]},parameters:{atomicCanvas:!0,layout:`padded`},render:function(e){let[,t]=g();return(0,h.jsx)(d,{...e,onItemsChange:e=>t({initialItems:e})})},argTypes:{containerId:{description:"Идентификатор `SortableContext`, который используется для вычисления reorder внутри контейнера.",control:`text`},layout:{description:`Режим раскладки и стратегия сортировки: вертикальный список, горизонтальный список или grid.`,control:`inline-radio`,options:[`vertical`,`horizontal`,`grid`]},initialItems:{description:`Текущий порядок элементов. После drag-and-drop обновляется в Storybook args.`,control:!1},itemWidth:{description:`Минимальная ширина карточки; полезна для горизонтального режима.`,control:`text`},disabledIds:{description:`Список id, для которых drag-handle отключен.`,control:!1}}},S={},C={args:{containerId:`sortable-horizontal`,layout:`horizontal`,initialItems:y,itemWidth:`12rem`}},w={args:{containerId:`sortable-grid`,layout:`grid`,initialItems:b}},T={args:{containerId:`sortable-disabled`,layout:`vertical`,initialItems:v,disabledIds:[`Bravo`,`Delta`]}},E={args:{containerId:`sortable-handle-only`,layout:`vertical`,initialItems:[`Пункт 1`,`Пункт 2`,`Пункт 3`,`Пункт 4`]}},D={args:{containerId:`top`,layout:`vertical`,initialItems:[`Группа A`,`Группа B`]},render:function(e){let[,t]=g();return(0,h.jsx)(p,{args:e,onTopItemsChange:e=>t({initialItems:e})})}},f.__docgenInfo={description:`Предоставляет самостоятельный React-preview компонента вне Storybook.
2
- Storybook использует отдельный render ниже, чтобы синхронизировать порядок с args.`,methods:[],displayName:`SortablePreview`,props:{containerId:{required:!0,tsType:{name:`string`},description:``},layout:{required:!0,tsType:{name:`union`,raw:`"vertical" | "horizontal" | "grid"`,elements:[{name:`literal`,value:`"vertical"`},{name:`literal`,value:`"horizontal"`},{name:`literal`,value:`"grid"`}]},description:``},initialItems:{required:!0,tsType:{name:`Array`,elements:[{name:`string`}],raw:`string[]`},description:``},itemWidth:{required:!1,tsType:{name:`string`},description:``},disabledIds:{required:!1,tsType:{name:`Array`,elements:[{name:`string`}],raw:`string[]`},description:``}}},f.parameters={...f.parameters,docs:{...f.parameters?.docs,source:{originalSource:`function SortablePreview(props: SortablePreviewProps) {
3
- const [items, setItems] = useState(props.initialItems);
4
- return <SortablePreviewCanvas {...props} initialItems={items} onItemsChange={setItems} />;
5
- }`,...f.parameters?.docs?.source},description:{story:`Предоставляет самостоятельный React-preview компонента вне Storybook.
6
- Storybook использует отдельный render ниже, чтобы синхронизировать порядок с args.`,...f.parameters?.docs?.description}}},S.parameters={...S.parameters,docs:{...S.parameters?.docs,source:{originalSource:`{}`,...S.parameters?.docs?.source}}},C.parameters={...C.parameters,docs:{...C.parameters?.docs,source:{originalSource:`{
7
- args: {
8
- containerId: "sortable-horizontal",
9
- layout: "horizontal",
10
- initialItems: horizontalItems,
11
- itemWidth: "12rem"
12
- }
13
- }`,...C.parameters?.docs?.source}}},w.parameters={...w.parameters,docs:{...w.parameters?.docs,source:{originalSource:`{
14
- args: {
15
- containerId: "sortable-grid",
16
- layout: "grid",
17
- initialItems: gridItems
18
- }
19
- }`,...w.parameters?.docs?.source}}},T.parameters={...T.parameters,docs:{...T.parameters?.docs,source:{originalSource:`{
20
- args: {
21
- containerId: "sortable-disabled",
22
- layout: "vertical",
23
- initialItems: verticalItems,
24
- disabledIds: ["Bravo", "Delta"]
25
- }
26
- }`,...T.parameters?.docs?.source}}},E.parameters={...E.parameters,docs:{...E.parameters?.docs,source:{originalSource:`{
27
- args: {
28
- containerId: "sortable-handle-only",
29
- layout: "vertical",
30
- initialItems: ["Пункт 1", "Пункт 2", "Пункт 3", "Пункт 4"]
31
- }
32
- }`,...E.parameters?.docs?.source}}},D.parameters={...D.parameters,docs:{...D.parameters?.docs,source:{originalSource:`{
33
- args: {
34
- containerId: "top",
35
- layout: "vertical",
36
- initialItems: ["Группа A", "Группа B"]
37
- },
38
- render: function Render(args) {
39
- const [, updateArgs] = useArgs<SortablePreviewProps>();
40
- return <NestedContainersCanvas args={args} onTopItemsChange={initialItems => updateArgs({
41
- initialItems
42
- })} />;
43
- }
44
- }`,...D.parameters?.docs?.source}}},O=[`SortablePreview`,`Basic`,`HorizontalList`,`GridCards`,`DisabledItems`,`HandleOnly`,`NestedContainers`]})))()}export{C as a,k as c,E as i,T as n,D as o,w as r,c as s,S as t};
@@ -1,57 +0,0 @@
1
- import{a as e,n as t,r as n}from"./rolldown-runtime-DkW27tQK.js";import{t as r}from"./react-BZJXY1be.js";import{n as i}from"./iframe-woVbsQH3.js";import{a,i as o}from"./utils-tg3ibbzi.js";import{n as ee,t as s}from"./ui.module-CyEEibCu.js";import{i as c,n as te}from"./uiClasses-DNnVkKPr.js";import{n as l,t as u}from"./Scrollable-BI3OE8gc.js";import{n as d,t as f}from"./createControlledStoryRender-BouhvX-R.js";import{a as ne,c as p,f as re,i as m,l as h,n as g,o as _,r as ie,s as v,t as y,u as ae}from"./TabsBox-Ovukgo9G.js";function oe(e){let{type:t}=e;if(typeof t==`function`){let e=t;return e.displayName??e.name??null}if(typeof t==`object`&&t&&`displayName`in t){let e=t;return typeof e.displayName==`string`?e.displayName:null}return null}function b(e,t){return(0,T.isValidElement)(e)&&oe(e)===t}function x({children:e}){return(0,E.jsx)(E.Fragment,{children:e})}function S({children:e}){return(0,E.jsx)(E.Fragment,{children:e})}function C({children:e}){return(0,E.jsx)(E.Fragment,{children:e})}function w({children:e}){return(0,E.jsx)(E.Fragment,{children:e})}function se(e,t){let n=null,r=null,i=null;for(let a of T.Children.toArray(e)){if(!(0,T.isValidElement)(a))throw Error(`TabsLayout.Tab "${t}" поддерживает только дочерние элементы TabsLayout.Toolbar, TabsLayout.Content и TabsLayout.Footer.`);if(b(a,O)){if(n)throw Error(`TabsLayout.Tab "${t}" содержит более одного блока TabsLayout.Toolbar.`);n=a.props;continue}if(b(a,k)){if(r)throw Error(`TabsLayout.Tab "${t}" содержит более одного блока TabsLayout.Content.`);r=a.props;continue}if(b(a,A)){if(i)throw Error(`TabsLayout.Tab "${t}" содержит более одного блока TabsLayout.Footer.`);i=a.props;continue}throw Error(`TabsLayout.Tab "${t}" поддерживает только дочерние элементы TabsLayout.Toolbar, TabsLayout.Content и TabsLayout.Footer.`)}if(!r)throw Error(`TabsLayout.Tab "${t}" должен содержать блок TabsLayout.Content.`);return{toolbar:n,content:r,footer:i}}function ce(e){return T.Children.toArray(e).map(e=>{if(!b(e,D))throw Error(`TabsLayout принимает только дочерние элементы TabsLayout.Tab.`);return{id:e.props.id,title:e.props.title,disabled:e.props.disabled,...se(e.props.children,e.props.id)}})}var T,E,D,O,k,A,j,M;function N(){return(N=t((()=>{T=e(r(),1),o(),s(),c(),h(),p(),_(),m(),E=i(),D=`TabsLayout.Tab`,O=`TabsLayout.Toolbar`,k=`TabsLayout.Content`,A=`TabsLayout.Footer`,x.displayName=D,S.displayName=O,C.displayName=k,w.displayName=A,j=({children:e,value:t,defaultValue:n,onValueChange:r,className:i,orientation:o=`horizontal`,activationMode:s=`manual`,mountStrategy:c=`lazy`,loop:l=!0,tone:u=`primary`,clean:d=!1,"aria-label":f,"aria-labelledby":p})=>{let m=(0,T.useMemo)(()=>ce(e),[e]),h=ae({items:m,value:t,defaultValue:n,onValueChange:r,orientation:o,activationMode:s,loop:l}),g=a(v.tabsContainer,d?v.clean:ee.uiFilledPanel,v[o],te(u),i),_=a(v.panels,v.layoutPanels);return(0,E.jsxs)(`div`,{className:g,children:[(0,E.jsx)(ie,{items:m,state:h,className:v.tabs,ariaLabel:f,ariaLabelledBy:p}),(0,E.jsx)(`div`,{className:_,children:m.map(e=>{let t=e.id===h.selectedTabId;if(!re({mountStrategy:c,isSelected:t,isVisited:h.isVisited(e.id)}))return null;let n=`${e.toolbar?`auto `:``}minmax(0, 1fr)${e.footer?` auto`:``}`;return(0,E.jsx)(ne,{tabId:e.id,isSelected:t,className:v.panel,getTabElementId:h.getTabElementId,getPanelElementId:h.getPanelElementId,children:(0,E.jsxs)(`div`,{className:v.layoutPanel,style:{gridTemplateRows:n},children:[e.toolbar?(0,E.jsx)(`div`,{className:a(v.layoutSection,e.toolbar.className),children:e.toolbar.children}):null,(0,E.jsx)(`div`,{className:a(v.layoutSection,v.layoutContent,e.content.className),children:e.content.children}),e.footer?(0,E.jsx)(`div`,{className:a(v.layoutSection,e.footer.className),children:e.footer.children}):null]})},e.id)})})]})},j.displayName=`TabsLayout`,M=Object.assign(j,{Tab:x,Toolbar:S,Content:C,Footer:w}),j.__docgenInfo={description:`Compound-оболочка tabs для составных panel-layout сценариев.
2
- Сам компонент управляет только переключением и каркасом панели.`,methods:[],displayName:`TabsLayout`,props:{value:{required:!1,tsType:{name:`string`},description:``},defaultValue:{required:!1,tsType:{name:`string`},description:``},onValueChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},orientation:{required:!1,tsType:{name:`union`,raw:`"horizontal" | "vertical"`,elements:[{name:`literal`,value:`"horizontal"`},{name:`literal`,value:`"vertical"`}]},description:``,defaultValue:{value:`"horizontal"`,computed:!1}},activationMode:{required:!1,tsType:{name:`union`,raw:`"automatic" | "manual"`,elements:[{name:`literal`,value:`"automatic"`},{name:`literal`,value:`"manual"`}]},description:``,defaultValue:{value:`"manual"`,computed:!1}},mountStrategy:{required:!1,tsType:{name:`union`,raw:`"unmount" | "lazy" | "keep-mounted"`,elements:[{name:`literal`,value:`"unmount"`},{name:`literal`,value:`"lazy"`},{name:`literal`,value:`"keep-mounted"`}]},description:``,defaultValue:{value:`"lazy"`,computed:!1}},loop:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`true`,computed:!1}},tone:{required:!1,tsType:{name:`union`,raw:`"primary" | "secondary" | "tertiary"`,elements:[{name:`literal`,value:`"primary"`},{name:`literal`,value:`"secondary"`},{name:`literal`,value:`"tertiary"`}]},description:``,defaultValue:{value:`"primary"`,computed:!1}},clean:{required:!1,tsType:{name:`boolean`},description:``,defaultValue:{value:`false`,computed:!1}},className:{required:!1,tsType:{name:`string`},description:``},"aria-label":{required:!1,tsType:{name:`string`},description:``},"aria-labelledby":{required:!1,tsType:{name:`string`},description:``},children:{required:!0,tsType:{name:`ReactNode`},description:``}}}})))()}var le=n({BoxBasic:()=>K,BoxControlled:()=>q,BoxMountStrategies:()=>Y,BoxVertical:()=>J,DisabledTabs:()=>X,Empty:()=>$,LayoutPanels:()=>Z,Loading:()=>Q,__namedExportsOrder:()=>ue,default:()=>W});function P({label:e}){let[t,n]=(0,I.useState)(0);return(0,L.jsxs)(`div`,{style:z,children:[(0,L.jsxs)(`div`,{children:[`Панель: `,e]}),(0,L.jsxs)(`div`,{children:[`Локальный счётчик: `,t]}),(0,L.jsx)(`button`,{type:`button`,onClick:()=>n(e=>e+1),children:`Увеличить`})]})}function F(e){return f((t,n)=>{let r=t.value??t.defaultValue,i=(0,L.jsx)(y,{...t,value:r,onValueChange:e=>{t.onValueChange?.(e),n({value:e})}});return e===void 0?i:(0,L.jsx)(`div`,{style:{height:e},children:i})})}var I,L,R,z,B,V,H,U,W,G,K,q,J,Y,X,Z,Q,$,ue;function de(){return(de=t((()=>{I=r(),g(),N(),d(),l(),L=i(),{fn:R}=__STORYBOOK_MODULE_TEST__,z={padding:16,display:`grid`,gap:12},B=[{id:`profile`,title:`Профиль`,content:(0,L.jsx)(`div`,{style:z,children:`Карточка пользователя и основные поля профиля.`})},{id:`settings`,title:`Настройки`,content:(0,L.jsx)(`div`,{style:z,children:`Параметры интерфейса, уведомлений и доступа.`})},{id:`history`,title:`История`,content:(0,L.jsx)(`div`,{style:z,children:`Последние действия, комментарии и изменения.`})}],V=[{id:`first`,title:`Первая`,content:(0,L.jsx)(P,{label:`Первая`})},{id:`second`,title:`Вторая`,content:(0,L.jsx)(P,{label:`Вторая`})},{id:`third`,title:`Третья`,content:(0,L.jsx)(P,{label:`Третья`})}],H=[{id:`overview`,title:`Обзор`,content:(0,L.jsx)(`div`,{style:z,children:`Раздел доступен сразу.`})},{id:`analytics`,title:`Аналитика`,disabled:!0,content:(0,L.jsx)(`div`,{style:z,children:`Пока недоступно.`})},{id:`history`,title:`История`,content:(0,L.jsx)(`div`,{style:z,children:`История изменений и действий.`})}],U=Array.from({length:12},(e,t)=>`Элемент ${t+1}`),W={title:`UI/Tabs`,component:y,args:{items:B,value:`profile`,onValueChange:R(),orientation:`horizontal`,activationMode:`automatic`,mountStrategy:`unmount`,isLoading:!1,loadingText:`Загрузка вкладок...`,clean:!1,loop:!0},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{items:{description:"Набор вкладок для `TabsBox`. Каждая вкладка задаётся через `id`, `title`, `content` и опциональный `disabled`.",control:!1},value:{description:`Активная вкладка в controlled-режиме.`,control:`text`},defaultValue:{description:`Начальная вкладка в uncontrolled-режиме.`,control:`text`},onValueChange:{description:`Вызывается при смене активной вкладки.`,control:!1},orientation:{description:`Направление списка вкладок.`,control:`inline-radio`,options:[`horizontal`,`vertical`]},activationMode:{description:"Режим клавиатурной активации: `automatic` меняет вкладку стрелками, `manual` только переводит фокус.",control:`inline-radio`,options:[`automatic`,`manual`]},mountStrategy:{description:"Политика монтирования панелей: `unmount`, `lazy` или `keep-mounted`.",control:`inline-radio`,options:[`unmount`,`lazy`,`keep-mounted`]},clean:{description:`Убирает базовые padding и surface-оформление panel-области.`,control:`boolean`},loop:{description:`Разрешает циклическую навигацию стрелками и Home/End.`,control:`boolean`},isLoading:{description:"Показывает loading-состояние `TabsBox`.",control:`boolean`},loadingText:{description:`Текст внутри loading-состояния.`,control:`text`},"aria-label":{description:"Собственное доступное имя `tablist`, если рядом нет видимого заголовка.",control:`text`},"aria-labelledby":{description:"Ссылка на внешний заголовок `tablist` вместо текстовой ARIA-метки.",control:`text`}}},G=f((e,t)=>{let n=e.value??e.defaultValue??`details`;return(0,L.jsx)(`div`,{style:{height:360},children:(0,L.jsxs)(M,{value:n,defaultValue:e.defaultValue,onValueChange:n=>{e.onValueChange?.(n),t({value:n})},orientation:e.orientation,activationMode:e.activationMode,mountStrategy:e.mountStrategy,loop:e.loop,clean:e.clean,className:e.className,"aria-label":e[`aria-label`],"aria-labelledby":e[`aria-labelledby`],children:[(0,L.jsxs)(M.Tab,{id:`details`,title:`Детали`,children:[(0,L.jsx)(M.Toolbar,{children:(0,L.jsx)(`div`,{className:`surface0 border radiusSm paddingSm`,children:`Панель инструментов вне scroll-области.`})}),(0,L.jsx)(M.Content,{children:(0,L.jsxs)(`div`,{style:{display:`grid`,gridTemplateColumns:`1fr 1fr`,gap:12,height:`100%`},children:[(0,L.jsx)(u,{className:`surface0 border radiusSm paddingSm h100`,children:U.map(e=>(0,L.jsxs)(`div`,{className:`paddingBlockXs`,children:[`Левая колонка: `,e]},`left-${e}`))}),(0,L.jsx)(u,{className:`surface0 border radiusSm paddingSm h100`,children:U.map(e=>(0,L.jsxs)(`div`,{className:`paddingBlockXs`,children:[`Правая колонка: `,e]},`right-${e}`))})]})}),(0,L.jsx)(M.Footer,{children:(0,L.jsx)(`div`,{className:`surface0 border radiusSm paddingSm`,children:`Футер тоже исключён из scroll-контента.`})})]}),(0,L.jsx)(M.Tab,{id:`history`,title:`История`,children:(0,L.jsx)(M.Content,{children:(0,L.jsx)(u,{className:`surface0 border radiusSm paddingSm h100`,children:U.map(e=>(0,L.jsxs)(`div`,{className:`paddingBlockXs`,children:[`История изменения: `,e]},`history-${e}`))})})})]})})}),K={args:{"aria-label":`Основные разделы профиля`},render:F()},q={args:{value:`settings`,"aria-label":`Управляемые вкладки`},render:F()},J={args:{orientation:`vertical`,"aria-label":`Вертикальные вкладки`},render:F(320)},Y={args:{items:V,mountStrategy:`lazy`,"aria-label":`Демонстрация стратегий монтирования`},render:F()},X={args:{items:H,value:`overview`,"aria-label":`Вкладки с недоступным разделом`},render:F()},Z={args:{value:`details`,onValueChange:R(),orientation:`horizontal`,activationMode:`manual`,mountStrategy:`lazy`,clean:!1,loop:!0,"aria-label":`Составные панели документа`},render:G},Q={args:{isLoading:!0,items:B},render:F()},$={args:{items:[],value:void 0},render:F()},K.parameters={...K.parameters,docs:{...K.parameters?.docs,source:{originalSource:`{
3
- args: {
4
- "aria-label": "Основные разделы профиля"
5
- },
6
- render: createTabsBoxStoryRender()
7
- }`,...K.parameters?.docs?.source}}},q.parameters={...q.parameters,docs:{...q.parameters?.docs,source:{originalSource:`{
8
- args: {
9
- value: "settings",
10
- "aria-label": "Управляемые вкладки"
11
- },
12
- render: createTabsBoxStoryRender()
13
- }`,...q.parameters?.docs?.source}}},J.parameters={...J.parameters,docs:{...J.parameters?.docs,source:{originalSource:`{
14
- args: {
15
- orientation: "vertical",
16
- "aria-label": "Вертикальные вкладки"
17
- },
18
- render: createTabsBoxStoryRender(320)
19
- }`,...J.parameters?.docs?.source}}},Y.parameters={...Y.parameters,docs:{...Y.parameters?.docs,source:{originalSource:`{
20
- args: {
21
- items: lifecycleItems,
22
- mountStrategy: "lazy",
23
- "aria-label": "Демонстрация стратегий монтирования"
24
- },
25
- render: createTabsBoxStoryRender()
26
- }`,...Y.parameters?.docs?.source}}},X.parameters={...X.parameters,docs:{...X.parameters?.docs,source:{originalSource:`{
27
- args: {
28
- items: disabledItems,
29
- value: "overview",
30
- "aria-label": "Вкладки с недоступным разделом"
31
- },
32
- render: createTabsBoxStoryRender()
33
- }`,...X.parameters?.docs?.source}}},Z.parameters={...Z.parameters,docs:{...Z.parameters?.docs,source:{originalSource:`{
34
- args: {
35
- value: "details",
36
- onValueChange: fn<(value: string) => void>(),
37
- orientation: "horizontal",
38
- activationMode: "manual",
39
- mountStrategy: "lazy",
40
- clean: false,
41
- loop: true,
42
- "aria-label": "Составные панели документа"
43
- },
44
- render: renderTabsLayoutStory
45
- }`,...Z.parameters?.docs?.source}}},Q.parameters={...Q.parameters,docs:{...Q.parameters?.docs,source:{originalSource:`{
46
- args: {
47
- isLoading: true,
48
- items: demoItems
49
- },
50
- render: createTabsBoxStoryRender()
51
- }`,...Q.parameters?.docs?.source}}},$.parameters={...$.parameters,docs:{...$.parameters?.docs,source:{originalSource:`{
52
- args: {
53
- items: [],
54
- value: undefined
55
- },
56
- render: createTabsBoxStoryRender()
57
- }`,...$.parameters?.docs?.source}}},ue=[`BoxBasic`,`BoxControlled`,`BoxVertical`,`BoxMountStrategies`,`DisabledTabs`,`LayoutPanels`,`Loading`,`Empty`]})))()}export{X as a,Q as c,J as i,le as l,q as n,$ as o,Y as r,Z as s,K as t,de as u};
@@ -1 +0,0 @@
1
- ._6EH37F{gap:var(--space-sm)}.UBll8Q{gap:var(--space-sm);display:grid}.-y3RZP{grid-template-columns:repeat(var(--tree-column-count,1), minmax(0, 1fr));grid-template-rows:repeat(var(--tree-row-count,1), minmax(var(--control-height), auto));column-gap:var(--space-sm);align-content:start;width:100%;min-width:0;display:grid}.ayLJ50{grid-column-start:var(--tree-option-column);grid-row-start:var(--tree-option-row);min-width:0}._430vL2{max-height:none}._2MFkGF{--check-box-control-size:auto;flex-shrink:0;display:inline-flex}.o5NWnX{width:calc(var(--tree-level) * 1em);flex-shrink:0}.ibSd-S,.lXezvv{width:var(--text-height);height:var(--text-height);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.ibSd-S{border-radius:var(--radius-sm);color:var(--content-2);background:0 0;border:none}.ibSd-S:hover{color:var(--accent-text)}.FMlLGX{transition:transform var(--transition-fast) ease}.d2Zt7U{transform:rotate(90deg)}
@@ -1,76 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n,t as r}from"./chevron-right-CF10QSRI.js";import{n as i,t as a}from"./CheckBox-DSmGYEML.js";import{n as o}from"./iframe-woVbsQH3.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"./OptionButton--hnpJ-88.js";import{a as m,n as h,o as g,t as ee}from"./Option-fRoOLqLF.js";import{l as _,o as te}from"./Input-B8eGQXlp.js";import{n as ne,t as re}from"./PickerField-CRtltoce.js";import{c as ie,i as ae,l as oe,n as se,r as v,s as ce,t as le,u as ue}from"./usePickerTriggerController-DWjrt_q_.js";import{i as de,n as fe,r as pe,t as me}from"./usePickerQuery-CaO8hXyH.js";function y(e,t){return`${e}::${t}`}function he(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=y(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 b(e,t){let n=t.nodeById.get(e);return n?t.nodeIdsByCodeValue.get(y(n.codeKey,n.value))??[]:[]}function ge(e,t){if(e)return t.nodeIdByCodeValue.get(y(e.codeKey,e.value))}function _e(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(y(r,e))??[])n.add(i);return O(n,t)}function x(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=y(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 S(e,t){let n=[],r=t.parentById.get(e);for(;r;)n.push(r),r=t.parentById.get(r);return n}function C(e,t,n){let r=n.parentById.get(e);for(;r;){if(r===t)return!0;r=n.parentById.get(r)}return!1}function w(e,t){let n=b(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&&(C(e,n,t)||C(n,e,t))))}function ve(e,t){return w(e,t)?b(e,t):[e]}function ye(e,t,n){for(let r of[...e])C(r,t,n)&&e.delete(r)}function T(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 b(i,n))e.delete(t)}}}function E(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=>E(e,t,n))}function D(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&&D(e,t,n))}function O(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 j(t,t.childrenById.get(e)??[]))n.add(r)}for(let e of[...n])S(e,t).some(e=>n.has(e))&&n.delete(e);let r=[...t.nodeById.keys()].sort((e,n)=>(t.preorderIndexById.get(n)??0)-(t.preorderIndexById.get(e)??0));for(let e of r){let r=t.childrenById.get(e)??[];if(!(r.length===0||n.has(e)||t.nodeById.get(e)?.disabled||t.nodeById.get(e)?.selectionBehavior===`descendants`)&&r.every(e=>E(e,n,t))){let r=b(e,t);if(w(e,t)&&r.every(e=>{let r=t.nodeById.get(e);return r&&!r.disabled&&r.selectionBehavior!==`descendants`&&E(e,n,t)}))for(let e of r)ye(n,e,t),n.add(e)}}return n}function k(e,t,n){let r=n.parentById.get(t);for(;r;){if(e.has(r)){for(let t of b(r,n))if(e.has(t)){e.delete(t);for(let r of j(n,n.childrenById.get(t)??[]))e.add(r)}return!0}r=n.parentById.get(r)}return!1}function A(e,t,n){return t.has(e)?!0:S(e,n).some(e=>t.has(e))}function be(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=>be(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 xe(e,t){let n={selectedIds:new Set,partialIds:new Set};for(let r of t.rootIds)be(r,e,t,n);return n}function j(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=!w(t,e);return o||s?{containsDisabled:!0,selectedIds:a}:{containsDisabled:!1,selectedIds:[t]}};return new Set(t.flatMap(e=>n(e).selectedIds))}function M(e,t,n,r){let i=_e(e,n),a=r!==void 0&&!D(t,n,r);if(!a&&E(t,i,n))return T(i,t,n),x(O(i,n),n);let o=e=>{if(i.has(e)){T(i,e,n);return}if(E(e,i,n)){T(i,e,n);return}if(A(e,i,n)){k(i,e,n)&&(A(e,i,n)||E(e,i,n)?o(e):T(i,e,n));return}for(let t of ve(e,n))ye(i,t,n),i.add(t)},s=e=>{if(!r?.nodeById.has(e))return[];if(D(e,n,r)){let t=[...j(n,[e])];return t.length>0?t:A(e,i,n)||E(e,i,n)?[e]:[]}return(r.childrenById.get(e)??[]).flatMap(s)},c=a?s(t):[...j(n,[t])],l=c.length===0&&(A(t,i,n)||E(t,i,n))?[t]:c,u=l.length>0&&l.every(e=>A(e,i,n)||E(e,i,n));for(let e of l){let t=A(e,i,n)||E(e,i,n);(u&&t||!u&&!t)&&o(e)}return x(O(i,n),n)}function N(e,t,n){let r=t.parentById.get(e);for(;r;)n.add(r),r=t.parentById.get(r)}function Se(e,t){let n=new Set;for(let r of e)N(r,t,n);return n}function Ce(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 P(e,t,n){let r=(e.children??[]).map(e=>P(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 we(e,t){let n=t.trim().toLowerCase();if(!n)return{nodes:[...e],expandedIds:new Set};let r=new Set;return{nodes:e.map(e=>P(e,n,r)).filter(e=>!!e),expandedIds:r}}function Te(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 F(){return(F=e((()=>{})))()}function Ee(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 I(e,t){return Number.isFinite(e)&&e>0?e:t}function De(e){let t=e.endIndexExclusive-e.startIndex;return Math.min(je,t)}function L(e,t){let n=Math.max(1,t),r=[],i=1,a=1,o=0;for(let t of e.groups){let e=De(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 Oe({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=I(t,240),c=I(n,80),l=I(r,s+16),u=I(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,I(a,1)),m=Math.min(d,p),h=Math.max(1,Math.floor((d-R+B)/234)),g=Math.max(1,Math.min(Ae,h,o||1)),ee=e.groups.reduce((e,t)=>Math.max(e,De(t)),1);if(o===0)return{columnCount:1,rowCount:1,width:m,minWidth:m,maxHeight:f,placements:[]};let _,te=1/0;for(let t=1;t<=g;t+=1){let n=Math.max(ee,Math.ceil(o/t)),r=L(e,n);for(;r.usedColumnCount>t&&n<o;)n+=1,r=L(e,n);let i=r.usedColumnCount,a=Math.max(m,R+i*z+(i-1)*B),s=ke+n*V,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<te&&(te=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:L(e,o).placements}}var R,ke,z,B,V,Ae,je;function H(){return(H=e((()=>{R=16,ke=48,z=224,B=10,V=32,Ae=6,je=3})))()}var Me,U,W,Ne,G,Pe,Fe,Ie,Le,Re,ze,K;function q(){return(q=e((()=>{Me=`_6EH37F`,U=`UBll8Q`,W=`-y3RZP`,Ne=`ayLJ50`,G=`_430vL2`,Pe=`_2MFkGF`,Fe=`o5NWnX`,Ie=`ibSd-S`,Le=`lXezvv`,Re=`FMlLGX`,ze=`d2Zt7U`,K={treeNodeButton:Me,treePopupHeader:U,treeColumns:W,treeColumnRow:Ne,treeColumnsPopupLayout:G,treeColumnCheckBox:Pe,treeIndent:Fe,treeExpander:Ie,treeExpanderPlaceholder:Le,treeExpanderIcon:Re,treeExpanderIconExpanded:ze}})))()}function Be({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}){let g=d===`tree`,ee=d===`columns`&&t===0;return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:K.treeIndent,style:{"--tree-level":t},"aria-hidden":`true`}),g&&i?(0,J.jsx)(`button`,{type:`button`,className:K.treeExpander,onClick:e=>{e.stopPropagation(),f?.()},"aria-label":o?`Свернуть ветку`:`Развернуть ветку`,"data-ui":`tree-select-expander`,"data-action":o?`collapse-tree-select-node`:`expand-tree-select-node`,children:(0,J.jsx)(r,{className:s(K.treeExpanderIcon,o&&K.treeExpanderIconExpanded)})}):g?(0,J.jsx)(`div`,{className:K.treeExpanderPlaceholder,"aria-hidden":`true`}):null,u===`multi`?(0,J.jsx)(`div`,{className:K.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,(0,J.jsx)(p,{className:K.treeNodeButton,tabIndex:-1,disabled:e.disabled,text:e.label,code:e.code,searchText:n,emphasizeContent:ee,onMouseDown:e=>e.preventDefault(),onClick:h})]})}var J;function Ve(){return(Ve=e((()=>{c(),n(),i(),f(),q(),J=o(),Be.__docgenInfo={description:``,methods:[],displayName:`TreeNodeContent`,props:{node:{required:!0,tsType:{name:`signature`,type:`object`,raw:`{
2
- id: string;
3
- codeKey: string;
4
- value: string;
5
- label: string;
6
- code?: string;
7
- searchText: string;
8
- children?: TreeSelectNode[];
9
- disabled?: boolean;
10
- selectionBehavior?: TreeMultiSelectNodeSelectionBehavior;
11
- }`,signature:{properties:[{key:`id`,value:{name:`string`,required:!0}},{key:`codeKey`,value:{name:`string`,required:!0}},{key:`value`,value:{name:`string`,required:!0}},{key:`label`,value:{name:`string`,required:!0}},{key:`code`,value:{name:`string`,required:!1}},{key:`searchText`,value:{name:`string`,required:!0}},{key:`children`,value:{name:`Array`,elements:[{name:`TreeSelectNode`}],raw:`TreeSelectNode[]`,required:!1}},{key:`disabled`,value:{name:`boolean`,required:!1}},{key:`selectionBehavior`,value:{name:`union`,raw:`"self" | "descendants"`,elements:[{name:`literal`,value:`"self"`},{name:`literal`,value:`"descendants"`}],required:!1}}]}},description:``},level:{required:!0,tsType:{name:`number`},description:``},highlight:{required:!1,tsType:{name:`string`},description:``},hasChildren:{required:!0,tsType:{name:`boolean`},description:``},isExpanded:{required:!0,tsType:{name:`boolean`},description:``},selected:{required:!0,tsType:{name:`boolean`},description:``},partial:{required:!0,tsType:{name:`boolean`},description:``},selectionMode:{required:!0,tsType:{name:`union`,raw:`"single" | "multi"`,elements:[{name:`literal`,value:`"single"`},{name:`literal`,value:`"multi"`}]},description:``},optionsLayout:{required:!1,tsType:{name:`union`,raw:`"tree" | "columns"`,elements:[{name:`literal`,value:`"tree"`},{name:`literal`,value:`"columns"`}]},description:``,defaultValue:{value:`"tree"`,computed:!1}},onToggleExpand:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},onToggleSelection:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},onActivate:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``}}}})))()}function Y({label:e,description:t,disabled:n,placeholder:r,size:i,nodes:a,selectedIds:o,partialIds:c,selectionMode:f,optionsLayout:p=`tree`,defaultExpandedCodeKeys:h,unavailableNodeIds:g,open:_,onOpenChange:ne,bulkActions:ie,triggerMode:v=`display`,selectedSummary:le,selectedSummaryText:ue,query:de,defaultQuery:me,onQuery:y,onNodeActivate:b,onNodeToggleSelection:ge,onClearSelection:_e,isLoading:x,error:S}){let C=(0,X.useRef)(null),w=(0,X.useRef)(null),ve=(0,X.useRef)([]),[ye,T]=(0,X.useState)(!1),[E,D]=(0,X.useState)(),O=_!==void 0,k=O?_:ye,[be,xe]=(0,X.useState)(()=>new Map),j=v===`search`?f===`multi`?`search-multi`:`search-single`:`display`,M=(0,X.useMemo)(()=>he(a),[a]),N=(0,X.useMemo)(()=>new Set(h),[h]),{query:P,setQuery:F,resetQueryOnClose:I}=fe({query:de,defaultQuery:me,onQuery:y,triggerMode:j}),De=e=>{k&&!e&&I&&F(``),e||D(void 0),O||T(e),ne?.(e)},{nodes:L,expandedIds:R}=(0,X.useMemo)(()=>we(a,P),[a,P]),ke=(0,X.useMemo)(()=>he(L),[L]),z=P.trim().length>0?ke:void 0,B=(0,X.useMemo)(()=>Se(o,M),[o,M]),V=(0,X.useMemo)(()=>Ce(M,N,be),[N,be,M]),Ae=(0,X.useMemo)(()=>new Set([...M.childrenById].filter(([,e])=>e.length>0).map(([e])=>e)),[M]),je=(0,X.useMemo)(()=>p===`columns`?Ae:new Set([...V,...R,...B]),[Ae,V,p,R,B]),H=(0,X.useMemo)(()=>Te(L,je),[L,je]),Me=(0,X.useMemo)(()=>H.findIndex(e=>o.has(e.node.id)),[o,H]),U=(0,X.useCallback)(e=>e.node.disabled===!0||g?.has(e.node.id)===!0,[g]),W=(0,X.useMemo)(()=>Ee(H),[H]),Ne=(0,X.useCallback)(e=>{let t=Oe({...e,descriptor:W}),n={};return t.placements.forEach((e,t)=>{n[`--tree-option-${t}-column`]=String(e.column),n[`--tree-option-${t}-row`]=String(e.row)}),{width:`${t.width}px`,minWidth:`${t.minWidth}px`,maxWidth:`${t.width}px`,maxHeight:`${t.maxHeight}px`,"--tree-column-count":String(t.columnCount),"--tree-row-count":String(t.rowCount),...n}},[W]),{activeIndex:G,context:Pe,floatingStyles:Fe,getFloatingProps:Ie,setReference:Le,setFloating:Re,setOptionRef:ze,close:q,openList:J,toggleOpen:Ve,selectOption:Y,handleReferenceKeyDown:He,handleFloatingKeyDown:Ue,getOptionId:We,getActiveOptionId:Ge}=ae({options:H,selectedIndex:Me,open:k,onOpenChange:De,onSelect:e=>b(e.node,z),getOptionDisabled:U,disabled:n||x,closeOnSelect:!0,allowOpenWithoutOptions:!0,triggerMode:j,placementStrategy:p===`columns`?`auto`:`flip`,resolveFloatingSize:p===`columns`?Ne:void 0}),Ke=E?H.findIndex(e=>e.node.id===E):-1,qe=Ke>=0?Ke:G,Je=Pe.update,Ye=o.size>0,Xe=v===`search`&&(k||P.length>0),Ze=Xe?P:ue??``,Q=se({mode:j,open:k,currentQuery:P,hasDisplayValue:!!ue,inputRef:C,setQuery:F,openList:J,close:q,toggleOpen:Ve}),Qe=p===`columns`&&f===`multi`&&ie,$e=v===`display`,et=Qe||$e?(0,Z.jsxs)(`div`,{className:K.treePopupHeader,children:[Qe?(0,Z.jsx)(m,{onSelectAll:ie.onSelectAll,onDeselectAll:ie.onDeselectAll,selectAllButtonRef:w}):null,$e?(0,Z.jsx)(te,{value:P,onChange:F,onClear:()=>F(``),placeholder:`Поиск по дереву`,onKeyDown:e=>{e.key!==`Escape`&&e.key!==`Tab`&&e.stopPropagation()},onClick:e=>{e.stopPropagation()}}):null]}):void 0;(0,X.useLayoutEffect)(()=>{k&&p===`columns`&&Je()},[W.signature,k,p,Je]);let tt=e=>{C.current=e},nt=()=>{_e?.(),F(``),f===`single`&&q()},rt=e=>{e.hasChildren&&xe(t=>{let n=new Map(t),r=t.get(e.node.id)??N.has(e.node.codeKey);return n.set(e.node.id,!r),n})},$=e=>{ve.current[e]?.focus()},it=(e,t,n)=>{if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault();let t=e.key===`ArrowDown`?1:-1;$(d(H,n,t,U));return}if(e.key===`Home`||e.key===`End`){e.preventDefault();let t=e.key===`Home`?l(H,U):u(H,U);$(t);return}if(p===`tree`&&e.key===`ArrowRight`){if(e.preventDefault(),t.hasChildren&&!t.isExpanded){rt(t);return}let r=H[n+1];t.isExpanded&&r?.parentId===t.node.id&&$(n+1);return}if(p===`tree`&&e.key===`ArrowLeft`){if(e.preventDefault(),t.hasChildren&&t.isExpanded){rt(t);return}t.parentId&&$(H.findIndex(e=>e.node.id===t.parentId));return}if(e.key===` `&&f===`multi`&&!U(t)){e.preventDefault(),ge?.(t.node,z);return}e.key===`Enter`&&!U(t)&&(e.preventDefault(),Y(t))};return(0,Z.jsx)(re,{label:e,description:t,disabled:n,size:i,children:({controlId:t,labelId:i,describedBy:a})=>{let l=`${t}-listbox`,u=typeof e==`string`?e:r;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(ce,{ref:tt,rootRef:Le,id:t,type:`text`,role:`combobox`,autoComplete:`off`,isLoading:x,disabled:n,open:k,optionCount:M.nodeById.size,label:e,placeholder:r,readOnly:v!==`search`,value:Ze,selectedValue:le??ue,hasSelection:Ye,showSelectedValue:Ye&&(j===`search-multi`?P.length===0:!Xe),clearable:_e!==void 0,onClear:nt,onToggleMouseDown:Q.handleToggleMouseDown,onToggleClick:Q.handleToggleClick,"aria-labelledby":i,"aria-label":i?void 0:r,"aria-describedby":a,"aria-haspopup":p===`columns`?`dialog`:`listbox`,"aria-expanded":k,"aria-controls":k?l:void 0,"aria-autocomplete":p!==`columns`&&v===`search`?`list`:`none`,"aria-activedescendant":p!==`columns`&&k&&H.length>0?Ge(l):void 0,onChange:e=>{v===`search`&&Q.handleTriggerInputChange(e.target.value)},onClick:Q.handleTriggerClick,onFocus:e=>{D(void 0),Q.handleTriggerFocus(e.currentTarget)},onKeyDown:e=>{if(p===`columns`&&k&&e.key===`Tab`&&!e.shiftKey&&w.current){e.preventDefault(),w.current.focus();return}He(e),!e.defaultPrevented&&Q.handleTriggerKeyDown({event:e,onActivateWhenOpen:()=>{let e=G>=0?H[G]:void 0;e&&Y(e)},enableSpaceActivation:v===`display`})}}),(0,Z.jsx)(oe,{open:k,context:Pe,floatingStyles:Fe,listId:l,labelId:i,popupAriaLabel:u,descriptionId:a,activeOptionId:p!==`columns`&&H.length>0?Ge(l):void 0,ariaMultiselectable:p!==`columns`&&f===`multi`,popupRole:p===`columns`?`dialog`:`listbox`,setFloating:Re,getFloatingProps:Ie,onKeyDown:Ue,layoutClassName:p===`columns`?K.treeColumnsPopupLayout:void 0,bodyClassName:`scrollable`,toolbar:et,children:(0,Z.jsx)(`div`,{className:s(p===`columns`&&K.treeColumns),children:H.length===0?(0,Z.jsx)(pe,{errorState:S,emptyState:!S&&!x?`Нет данных`:void 0}):H.map((e,t)=>{let n=f===`multi`?A(e.node.id,o,M):o.has(e.node.id),r=f===`multi`&&!n&&c.has(e.node.id),i=t===qe,a=e.node.disabled===!0||g?.has(e.node.id)===!0;return(0,Z.jsx)(ee,{"data-ui":`tree-select-option`,id:We(l,t),ref:e=>{ve.current[t]=e,ze(t,e)},tabIndex:-1,role:p===`columns`?void 0:`option`,"aria-selected":p===`columns`?void 0:n,disabled:a,active:i,selected:n,onFocus:()=>D(e.node.id),onKeyDown:n=>it(n,e,t),className:p===`columns`?K.treeColumnRow:void 0,style:p===`columns`?{"--tree-option-column":`var(--tree-option-${t}-column, auto)`,"--tree-option-row":`var(--tree-option-${t}-row, auto)`}:void 0,children:(0,Z.jsx)(Be,{node:a?{...e.node,disabled:!0}:e.node,level:e.level,highlight:P,hasChildren:e.hasChildren,isExpanded:e.isExpanded,selected:n,partial:r,selectionMode:f,optionsLayout:p,onToggleExpand:()=>rt(e),onToggleSelection:()=>ge?.(e.node,z),onActivate:()=>Y(e)})},e.node.id)})})})]})}})}var X,Z;function He(){return(He=e((()=>{X=t(),c(),_(),h(),ne(),ue(),g(),de(),ie(),v(),me(),le(),H(),Ve(),q(),Z=o(),Y.__docgenInfo={description:``,methods:[],displayName:`TreePickerBase`,props:{nodes:{required:!0,tsType:{name:`unknown`},description:``},selectedIds:{required:!0,tsType:{name:`Set`,elements:[{name:`string`}],raw:`Set<string>`},description:``},partialIds:{required:!0,tsType:{name:`Set`,elements:[{name:`string`}],raw:`Set<string>`},description:``},selectionMode:{required:!0,tsType:{name:`union`,raw:`"single" | "multi"`,elements:[{name:`literal`,value:`"single"`},{name:`literal`,value:`"multi"`}]},description:``},optionsLayout:{required:!1,tsType:{name:`union`,raw:`"tree" | "columns"`,elements:[{name:`literal`,value:`"tree"`},{name:`literal`,value:`"columns"`}]},description:``,defaultValue:{value:`"tree"`,computed:!1}},defaultExpandedCodeKeys:{required:!1,tsType:{name:`unknown`},description:``},unavailableNodeIds:{required:!1,tsType:{name:`ReadonlySet`,elements:[{name:`string`}],raw:`ReadonlySet<string>`},description:`Узлы, которые текущий multi-select contract не может безопасно сериализовать.`},open:{required:!1,tsType:{name:`boolean`},description:``},onOpenChange:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(open: boolean) => void`,signature:{arguments:[{type:{name:`boolean`},name:`open`}],return:{name:`void`}}},description:``},bulkActions:{required:!1,tsType:{name:`signature`,type:`object`,raw:`{
12
- onSelectAll: () => void;
13
- onDeselectAll: () => void;
14
- }`,signature:{properties:[{key:`onSelectAll`,value:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}},required:!0}},{key:`onDeselectAll`,value:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}},required:!0}}]}},description:``},triggerMode:{required:!1,tsType:{name:`union`,raw:`"display" | "search"`,elements:[{name:`literal`,value:`"display"`},{name:`literal`,value:`"search"`}]},description:``,defaultValue:{value:`"display"`,computed:!1}},selectedSummary:{required:!1,tsType:{name:`ReactNode`},description:``},selectedSummaryText:{required:!1,tsType:{name:`string`},description:``},query:{required:!1,tsType:{name:`string`},description:``},defaultQuery:{required:!1,tsType:{name:`string`},description:``},onQuery:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(value: string) => void`,signature:{arguments:[{type:{name:`string`},name:`value`}],return:{name:`void`}}},description:``},onNodeActivate:{required:!0,tsType:{name:`signature`,type:`function`,raw:`(node: TreeSelectNode, selectionScopeIndex?: TreeNodeIndex) => void`,signature:{arguments:[{type:{name:`signature`,type:`object`,raw:`{
15
- id: string;
16
- codeKey: string;
17
- value: string;
18
- label: string;
19
- code?: string;
20
- searchText: string;
21
- children?: TreeSelectNode[];
22
- disabled?: boolean;
23
- selectionBehavior?: TreeMultiSelectNodeSelectionBehavior;
24
- }`,signature:{properties:[{key:`id`,value:{name:`string`,required:!0}},{key:`codeKey`,value:{name:`string`,required:!0}},{key:`value`,value:{name:`string`,required:!0}},{key:`label`,value:{name:`string`,required:!0}},{key:`code`,value:{name:`string`,required:!1}},{key:`searchText`,value:{name:`string`,required:!0}},{key:`children`,value:{name:`Array`,elements:[{name:`TreeSelectNode`}],raw:`TreeSelectNode[]`,required:!1}},{key:`disabled`,value:{name:`boolean`,required:!1}},{key:`selectionBehavior`,value:{name:`union`,raw:`"self" | "descendants"`,elements:[{name:`literal`,value:`"self"`},{name:`literal`,value:`"descendants"`}],required:!1}}]}},name:`node`},{type:{name:`signature`,type:`object`,raw:`{
25
- rootIds: string[];
26
- nodeById: Map<string, TreeSelectNode>;
27
- parentById: Map<string, string | undefined>;
28
- childrenById: Map<string, string[]>;
29
- preorderIndexById: Map<string, number>;
30
- nodeIdByCodeValue: Map<string, string>;
31
- /** Все визуальные узлы одного сериализуемого значения в порядке обхода дерева. */
32
- nodeIdsByCodeValue: Map<string, string[]>;
33
- /** Признак disabled-ограничения в узле или любом его потомке. */
34
- subtreeContainsDisabledById: Map<string, boolean>;
35
- }`,signature:{properties:[{key:`rootIds`,value:{name:`Array`,elements:[{name:`string`}],raw:`string[]`,required:!0}},{key:`nodeById`,value:{name:`Map`,elements:[{name:`string`},{name:`signature`,type:`object`,raw:`{
36
- id: string;
37
- codeKey: string;
38
- value: string;
39
- label: string;
40
- code?: string;
41
- searchText: string;
42
- children?: TreeSelectNode[];
43
- disabled?: boolean;
44
- selectionBehavior?: TreeMultiSelectNodeSelectionBehavior;
45
- }`,signature:{properties:[{key:`id`,value:{name:`string`,required:!0}},{key:`codeKey`,value:{name:`string`,required:!0}},{key:`value`,value:{name:`string`,required:!0}},{key:`label`,value:{name:`string`,required:!0}},{key:`code`,value:{name:`string`,required:!1}},{key:`searchText`,value:{name:`string`,required:!0}},{key:`children`,value:{name:`Array`,elements:[{name:`TreeSelectNode`}],raw:`TreeSelectNode[]`,required:!1}},{key:`disabled`,value:{name:`boolean`,required:!1}},{key:`selectionBehavior`,value:{name:`union`,raw:`"self" | "descendants"`,elements:[{name:`literal`,value:`"self"`},{name:`literal`,value:`"descendants"`}],required:!1}}]}}],raw:`Map<string, TreeSelectNode>`,required:!0}},{key:`parentById`,value:{name:`Map`,elements:[{name:`string`},{name:`union`,raw:`string | undefined`,elements:[{name:`string`},{name:`undefined`}]}],raw:`Map<string, string | undefined>`,required:!0}},{key:`childrenById`,value:{name:`Map`,elements:[{name:`string`},{name:`Array`,elements:[{name:`string`}],raw:`string[]`}],raw:`Map<string, string[]>`,required:!0}},{key:`preorderIndexById`,value:{name:`Map`,elements:[{name:`string`},{name:`number`}],raw:`Map<string, number>`,required:!0}},{key:`nodeIdByCodeValue`,value:{name:`Map`,elements:[{name:`string`},{name:`string`}],raw:`Map<string, string>`,required:!0}},{key:`nodeIdsByCodeValue`,value:{name:`Map`,elements:[{name:`string`},{name:`Array`,elements:[{name:`string`}],raw:`string[]`}],raw:`Map<string, string[]>`,required:!0},description:`Все визуальные узлы одного сериализуемого значения в порядке обхода дерева.`},{key:`subtreeContainsDisabledById`,value:{name:`Map`,elements:[{name:`string`},{name:`boolean`}],raw:`Map<string, boolean>`,required:!0},description:`Признак disabled-ограничения в узле или любом его потомке.`}]}},name:`selectionScopeIndex`}],return:{name:`void`}}},description:`Основное действие OptionButton выбирает узел и завершает текущий выбор.`},onNodeToggleSelection:{required:!1,tsType:{name:`signature`,type:`function`,raw:`(node: TreeSelectNode, selectionScopeIndex?: TreeNodeIndex) => void`,signature:{arguments:[{type:{name:`signature`,type:`object`,raw:`{
46
- id: string;
47
- codeKey: string;
48
- value: string;
49
- label: string;
50
- code?: string;
51
- searchText: string;
52
- children?: TreeSelectNode[];
53
- disabled?: boolean;
54
- selectionBehavior?: TreeMultiSelectNodeSelectionBehavior;
55
- }`,signature:{properties:[{key:`id`,value:{name:`string`,required:!0}},{key:`codeKey`,value:{name:`string`,required:!0}},{key:`value`,value:{name:`string`,required:!0}},{key:`label`,value:{name:`string`,required:!0}},{key:`code`,value:{name:`string`,required:!1}},{key:`searchText`,value:{name:`string`,required:!0}},{key:`children`,value:{name:`Array`,elements:[{name:`TreeSelectNode`}],raw:`TreeSelectNode[]`,required:!1}},{key:`disabled`,value:{name:`boolean`,required:!1}},{key:`selectionBehavior`,value:{name:`union`,raw:`"self" | "descendants"`,elements:[{name:`literal`,value:`"self"`},{name:`literal`,value:`"descendants"`}],required:!1}}]}},name:`node`},{type:{name:`signature`,type:`object`,raw:`{
56
- rootIds: string[];
57
- nodeById: Map<string, TreeSelectNode>;
58
- parentById: Map<string, string | undefined>;
59
- childrenById: Map<string, string[]>;
60
- preorderIndexById: Map<string, number>;
61
- nodeIdByCodeValue: Map<string, string>;
62
- /** Все визуальные узлы одного сериализуемого значения в порядке обхода дерева. */
63
- nodeIdsByCodeValue: Map<string, string[]>;
64
- /** Признак disabled-ограничения в узле или любом его потомке. */
65
- subtreeContainsDisabledById: Map<string, boolean>;
66
- }`,signature:{properties:[{key:`rootIds`,value:{name:`Array`,elements:[{name:`string`}],raw:`string[]`,required:!0}},{key:`nodeById`,value:{name:`Map`,elements:[{name:`string`},{name:`signature`,type:`object`,raw:`{
67
- id: string;
68
- codeKey: string;
69
- value: string;
70
- label: string;
71
- code?: string;
72
- searchText: string;
73
- children?: TreeSelectNode[];
74
- disabled?: boolean;
75
- selectionBehavior?: TreeMultiSelectNodeSelectionBehavior;
76
- }`,signature:{properties:[{key:`id`,value:{name:`string`,required:!0}},{key:`codeKey`,value:{name:`string`,required:!0}},{key:`value`,value:{name:`string`,required:!0}},{key:`label`,value:{name:`string`,required:!0}},{key:`code`,value:{name:`string`,required:!1}},{key:`searchText`,value:{name:`string`,required:!0}},{key:`children`,value:{name:`Array`,elements:[{name:`TreeSelectNode`}],raw:`TreeSelectNode[]`,required:!1}},{key:`disabled`,value:{name:`boolean`,required:!1}},{key:`selectionBehavior`,value:{name:`union`,raw:`"self" | "descendants"`,elements:[{name:`literal`,value:`"self"`},{name:`literal`,value:`"descendants"`}],required:!1}}]}}],raw:`Map<string, TreeSelectNode>`,required:!0}},{key:`parentById`,value:{name:`Map`,elements:[{name:`string`},{name:`union`,raw:`string | undefined`,elements:[{name:`string`},{name:`undefined`}]}],raw:`Map<string, string | undefined>`,required:!0}},{key:`childrenById`,value:{name:`Map`,elements:[{name:`string`},{name:`Array`,elements:[{name:`string`}],raw:`string[]`}],raw:`Map<string, string[]>`,required:!0}},{key:`preorderIndexById`,value:{name:`Map`,elements:[{name:`string`},{name:`number`}],raw:`Map<string, number>`,required:!0}},{key:`nodeIdByCodeValue`,value:{name:`Map`,elements:[{name:`string`},{name:`string`}],raw:`Map<string, string>`,required:!0}},{key:`nodeIdsByCodeValue`,value:{name:`Map`,elements:[{name:`string`},{name:`Array`,elements:[{name:`string`}],raw:`string[]`}],raw:`Map<string, string[]>`,required:!0},description:`Все визуальные узлы одного сериализуемого значения в порядке обхода дерева.`},{key:`subtreeContainsDisabledById`,value:{name:`Map`,elements:[{name:`string`},{name:`boolean`}],raw:`Map<string, boolean>`,required:!0},description:`Признак disabled-ограничения в узле или любом его потомке.`}]}},name:`selectionScopeIndex`}],return:{name:`void`}}},description:`Независимый checkbox меняет черновик, не закрывая popup.`},onClearSelection:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``},isLoading:{required:!1,tsType:{name:`boolean`},description:``},error:{required:!1,tsType:{name:`string`},description:``}}}})))()}export{xe as a,M as c,x as d,j as i,_e as l,He as n,F as o,he as r,A as s,Y as t,ge as u};
@@ -1,2 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-woVbsQH3.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{c as i,l as a,m as o}from"./blocks-Cw5Dm88b.js";var s;function c(){return(c=e((()=>{s='# Context Menu\n\nУниверсальный модуль меню с двумя сценариями открытия:\n\n- `DropdownMenu` — открытие по обычному клику.\n- `ContextMenu` — открытие строго по событию `contextmenu` (правый клик), также поддержан клавиатурный вызов `Shift+F10` и клавиша `ContextMenu`.\n\nРеализация разделена на:\n\n- функциональный слой в `src/shared/lib/context-menu`;\n- UI-слой в `src/shared/ui/basic/context-menu`.\n\nМодуль готов к production-использованию: поддерживает controlled/uncontrolled режим, позиционирование через `floating-ui`, анимацию через `motion`, базовую a11y-разметку и клавиатурную навигацию.\n\n---\n\n## Быстрый старт\n\n```tsx\nimport { ContextMenu, DropdownMenu } from "@/shared/ui";\n```\n\n### Обычное меню (по клику)\n\n```tsx\n<DropdownMenu>\n <DropdownMenu.Trigger>\n <button type="button">Действия</button>\n </DropdownMenu.Trigger>\n\n <DropdownMenu.Content>\n <DropdownMenu.Item>Редактировать</DropdownMenu.Item>\n <DropdownMenu.Item>Копировать</DropdownMenu.Item>\n <DropdownMenu.Separator />\n <DropdownMenu.Item>Удалить</DropdownMenu.Item>\n </DropdownMenu.Content>\n</DropdownMenu>\n```\n\n### Контекстное меню (по правому клику)\n\n```tsx\n<ContextMenu>\n <ContextMenu.Trigger>\n <div style={{ width: 320, height: 180 }}>Нажмите правой кнопкой мыши</div>\n </ContextMenu.Trigger>\n\n <ContextMenu.Content>\n <ContextMenu.Item>Переименовать</ContextMenu.Item>\n <ContextMenu.Item>Дублировать</ContextMenu.Item>\n <ContextMenu.Separator />\n <ContextMenu.Item>Переместить в корзину</ContextMenu.Item>\n </ContextMenu.Content>\n</ContextMenu>\n```\n\n### Радиальное контекстное меню\n\nРадиальное меню подходит для короткого набора частых действий, которые удобно выбирать вокруг точки вызова. Для длинных списков, групп, разделителей и вложенных сценариев используйте обычный `ContextMenu.Content`.\n\n```tsx\n<ContextMenu>\n <ContextMenu.Trigger>\n <div style={{ width: 320, height: 180 }}>Нажмите правой кнопкой мыши</div>\n </ContextMenu.Trigger>\n\n <ContextMenu.RadialContent>\n <ContextMenu.RadialItem icon={<PencilLine />}>Править</ContextMenu.RadialItem>\n <ContextMenu.RadialItem icon={<Copy />}>Копия</ContextMenu.RadialItem>\n <ContextMenu.RadialItem icon={<Pin />}>Закрепить</ContextMenu.RadialItem>\n <ContextMenu.RadialItem icon={<Eye />}>Просмотр</ContextMenu.RadialItem>\n </ContextMenu.RadialContent>\n</ContextMenu>\n```\n\nВ v1 радиальное меню поддерживает выбор только кликом по пункту. Выбор жестом по направлению движения и отпусканию кнопки мыши не реализован.\n\n---\n\n## API: UI-слой\n\n## `DropdownMenu`\n\nRoot-компонент для меню, открываемого по клику.\n\n### Props\n\n| Prop | Тип | По умолчанию | Описание |\n| -------------- | ---------------------------------- | ---------------- | ---------------------------------------------------------------------------------- |\n| `children` | `React.ReactNode` | — | Композиция из `Trigger`, `Content` и опционально `Item`, `Separator`, `GroupLabel` |\n| `placement` | `Placement` (`@floating-ui/react`) | `"bottom-start"` | Позиция меню относительно trigger-элемента |\n| `open` | `boolean` | — | Controlled-состояние открытия |\n| `defaultOpen` | `boolean` | `false` | Начальное состояние в uncontrolled-режиме |\n| `onOpenChange` | `(open: boolean) => void` | — | Колбэк изменения состояния |\n\n---\n\n## `ContextMenu`\n\nRoot-компонент для меню, открываемого по `contextmenu`.\n\n### Props\n\n| Prop | Тип | По умолчанию | Описание |\n| -------------- | ---------------------------------- | --------------- | ---------------------------------------------------------------------------------- |\n| `children` | `React.ReactNode` | — | Композиция из `Trigger`, `Content` и опционально `Item`, `Separator`, `GroupLabel` |\n| `placement` | `Placement` (`@floating-ui/react`) | `"right-start"` | Позиция меню относительно точки правого клика |\n| `open` | `boolean` | — | Controlled-состояние открытия |\n| `defaultOpen` | `boolean` | `false` | Начальное состояние в uncontrolled-режиме |\n| `onOpenChange` | `(open: boolean) => void` | — | Колбэк изменения состояния |\n\n---\n\n## `ContextMenu.RadialContent`\n\nКольцевой контейнер для коротких контекстных команд вокруг точки открытия.\n\n### Props\n\n| Prop | Тип | По умолчанию | Описание |\n| --------------------- | -------------------------------------------------------------------------- | ------------ | --------------------------------------------- |\n| `children` | `React.ReactNode \\| ((ctx: { closeMenu: () => void }) => React.ReactNode)` | — | Набор `ContextMenu.RadialItem` |\n| `className` | `string` | — | Дополнительный CSS-класс контейнера |\n| `closeOnOutside` | `boolean` | `true` | Закрывать ли меню при клике вне него |\n| `closeOnEscape` | `boolean` | `true` | Закрывать ли меню по клавише `Escape` |\n| `disableOutsideClick` | `boolean` | `false` | Полностью выключить закрытие по клику снаружи |\n| `restoreFocus` | `boolean` | `true` | Возвращать ли фокус в trigger после закрытия |\n| `radius` | `number` | `76` | Радиус раскладки пунктов в пикселях |\n| `itemSize` | `number` | `64` | Размер одного пункта в пикселях |\n| `closeLabel` | `string` | `"Закрыть"` | Текст и `aria-label` центральной кнопки |\n\n### Поведение\n\n- Рендер в `document.body` через портал.\n- Центрируется на точке правого клика или на центре trigger-элемента при `Shift+F10`.\n- Центральная кнопка закрывает меню и не участвует в раскладке `RadialItem`.\n- Не выходит за границы viewport.\n- Навигация с клавиатуры: `ArrowLeft`, `ArrowRight`, `ArrowUp`, `ArrowDown`, `Home`, `End`, `Escape`.\n- Оптимальный диапазон — 4-8 пунктов.\n\n---\n\n## `ContextMenu.RadialItem`\n\nПункт радиального меню.\n\n### Props\n\n| Prop | Тип | По умолчанию | Описание |\n| --------------- | ------------------------------------------------------ | ------------ | --------------------------- |\n| `children` | `React.ReactNode` | — | Подпись пункта |\n| `icon` | `React.ReactNode` | — | Иконка над подписью |\n| `className` | `string` | — | Дополнительный CSS-класс |\n| `disabled` | `boolean` | `false` | Блокирует выбор пункта |\n| `closeOnSelect` | `boolean` | `true` | Закрывать меню после выбора |\n| `onSelect` | `(event: React.MouseEvent<HTMLButtonElement>) => void` | — | Обработчик выбора |\n\n---\n\n## `*.Trigger`\n\nКомпоненты-триггеры:\n\n- `DropdownMenu.Trigger`\n- `ContextMenu.Trigger`\n\n### Props\n\n| Prop | Тип | По умолчанию | Описание |\n| ---------------- | ----------------------------------------------------------- | ------------ | ------------------------------------------------------------------------------------------------ |\n| `children` | `React.ReactElement` | — | Единственный дочерний элемент, в который пробрасываются обработчики |\n| `resolveTrigger` | `(eventTarget: EventTarget \\| null) => HTMLElement \\| null` | — | Только `ContextMenu.Trigger`: выбирает вложенную цель события или отменяет открытие через `null` |\n\n### Важные детали\n\n- Для `DropdownMenu.Trigger` используется `onClick`.\n- Для `ContextMenu.Trigger` используется `onContextMenu` (с `preventDefault()`).\n- В оба trigger-компонента добавляются `aria-haspopup="menu"` и `aria-expanded`.\n- Вызов через клавиатуру работает в обоих триггерах: `Shift+F10` и `ContextMenu`.\n- `resolveTrigger` позволяет одному `ContextMenu` обслуживать таблицу или список:\n точка клавиатурного открытия и возврат фокуса относятся к найденной вложенной\n цели, а `null` не открывает меню.\n\n---\n\n## `*.Content`\n\nКомпонент отображения меню:\n\n- `DropdownMenu.Content`\n- `ContextMenu.Content`\n\n### Props\n\n| Prop | Тип | По умолчанию | Описание |\n| --------------------- | -------------------------------------------------------------------------- | ------------ | ---------------------------------------------- |\n| `children` | `React.ReactNode \\| ((ctx: { closeMenu: () => void }) => React.ReactNode)` | — | Контент меню или render-function с `closeMenu` |\n| `className` | `string` | — | Дополнительный CSS-класс контейнера меню |\n| `closeOnOutside` | `boolean` | `true` | Закрывать ли меню при клике вне него |\n| `closeOnEscape` | `boolean` | `true` | Закрывать ли меню по клавише `Escape` |\n| `disableOutsideClick` | `boolean` | `false` | Полностью выключить закрытие по клику снаружи |\n\n### Поведение по умолчанию\n\n- Рендер в `document.body` через портал.\n- Роль контейнера: `role="menu"`.\n- Автофокус на первый доступный пункт меню.\n- Навигация с клавиатуры:\n- `ArrowDown`, `ArrowUp`\n- `Home`, `End`\n- `Escape`\n\n---\n\n## `*.Item`\n\nПункт меню:\n\n- `DropdownMenu.Item`\n- `ContextMenu.Item`\n\n### Props\n\n| Prop | Тип | По умолчанию | Описание |\n| --------------- | ------------------------------------------------ | ------------ | ---------------------------------- |\n| `children` | `React.ReactNode` | — | Текст/контент пункта |\n| `icon` | `React.ReactNode` | — | Иконка слева |\n| `hotKey` | `string` | — | Подсказка сочетания клавиш справа |\n| `className` | `string` | — | Дополнительный CSS-класс |\n| `disabled` | `boolean` | `false` | Блокирует выбор пункта |\n| `href` | `string` | — | Рендер как `<a>` вместо `<button>` |\n| `target` | `string` | — | Атрибут ссылки |\n| `rel` | `string` | — | Атрибут ссылки |\n| `closeOnSelect` | `boolean` | `true` | Закрывать меню после выбора |\n| `onSelect` | `(event: React.MouseEvent<HTMLElement>) => void` | — | Обработчик выбора |\n\n### Поведение\n\n- Если передан `href`, рендерится ссылка `<a role="menuitem">`.\n- Если `href` не передан, рендерится `<button role="menuitem">`.\n- Если `disabled`, выбор блокируется и закрытие не выполняется.\n\n---\n\n## `*.Separator`\n\nРазделитель группы пунктов.\n\n### Props\n\n| Prop | Тип | По умолчанию | Описание |\n| ----------- | -------- | ------------ | ------------------------ |\n| `className` | `string` | — | Дополнительный CSS-класс |\n\n---\n\n## `*.GroupLabel`\n\nЛейбл группы пунктов.\n\n### Props\n\n| Prop | Тип | По умолчанию | Описание |\n| ----------- | ----------------- | ------------ | ------------------------ |\n| `children` | `React.ReactNode` | — | Текст группы |\n| `className` | `string` | — | Дополнительный CSS-класс |\n\n---\n\n## API: функциональный слой (`src/shared/lib/context-menu`)\n\nИмпорт:\n\n```ts\nimport {\n initialMenuState,\n openMenu,\n closeMenu,\n toggleMenu,\n getMenuPointFromEvent,\n getMenuPointFromRect,\n createVirtualAnchor\n} from "@/shared/lib/context-menu";\n```\n\n### Типы\n\n```ts\ninterface MenuPoint {\n x: number;\n y: number;\n}\n\ntype MenuOpenSource = "click" | "contextmenu" | "keyboard" | "programmatic";\n\ntype MenuAnchor = { type: "element"; element: HTMLElement } | { type: "point"; point: MenuPoint; contextElement?: Element | null };\n\ninterface MenuState {\n open: boolean;\n source: MenuOpenSource | null;\n anchor: MenuAnchor | null;\n}\n\ninterface OpenMenuPayload {\n source: MenuOpenSource;\n anchor: MenuAnchor;\n}\n```\n\n### Функции состояния\n\n| Функция | Сигнатура | Назначение |\n| ------------------ | ----------------------------------------------------------- | ------------------------------------- |\n| `initialMenuState` | `MenuState` | Начальное состояние закрытого меню |\n| `openMenu` | `(payload: OpenMenuPayload) => MenuState` | Создать состояние открытого меню |\n| `closeMenu` | `(state: MenuState) => MenuState` | Закрыть меню и очистить anchor/source |\n| `toggleMenu` | `(state: MenuState, payload: OpenMenuPayload) => MenuState` | Переключить состояние |\n\n### Функции позиционирования\n\n| Функция | Сигнатура | Назначение |\n| ----------------------- | ------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------- |\n| `getMenuPointFromEvent` | `(event: { clientX: number; clientY: number }) => MenuPoint` | Получить координаты из mouse event |\n| `getMenuPointFromRect` | `(rect: { left: number; top: number; width: number; height: number }) => MenuPoint` | Получить центр прямоугольника |\n| `createVirtualAnchor` | `(point: MenuPoint, contextElement?: Element \\| null) => { getBoundingClientRect(): DOMRect; contextElement?: Element }` | Создать virtual anchor для `floating-ui` |\n\n---\n\n## Примеры использования\n\n## 1) Controlled `DropdownMenu`\n\n```tsx\nconst [open, setOpen] = useState(false);\n\nreturn (\n <DropdownMenu open={open} onOpenChange={setOpen}>\n <DropdownMenu.Trigger>\n <button type="button">{open ? "Скрыть" : "Показать"} меню</button>\n </DropdownMenu.Trigger>\n <DropdownMenu.Content>\n <DropdownMenu.Item onSelect={() => console.log("Edit")}>Редактировать</DropdownMenu.Item>\n <DropdownMenu.Item onSelect={() => setOpen(false)}>Закрыть вручную</DropdownMenu.Item>\n </DropdownMenu.Content>\n </DropdownMenu>\n);\n```\n\n## 2) Controlled `ContextMenu`\n\n```tsx\nconst [open, setOpen] = useState(false);\n\nreturn (\n <ContextMenu open={open} onOpenChange={setOpen}>\n <ContextMenu.Trigger>\n <div tabIndex={0}>Правая кнопка мыши</div>\n </ContextMenu.Trigger>\n <ContextMenu.Content>\n <ContextMenu.Item onSelect={() => alert("Открыть")}>Открыть</ContextMenu.Item>\n </ContextMenu.Content>\n </ContextMenu>\n);\n```\n\n## 3) Группы, иконки, горячие клавиши\n\n```tsx\n<DropdownMenu>\n <DropdownMenu.Trigger>\n <button type="button">Меню</button>\n </DropdownMenu.Trigger>\n <DropdownMenu.Content>\n <DropdownMenu.GroupLabel>Документ</DropdownMenu.GroupLabel>\n <DropdownMenu.Item icon={<FilePenLine size={14} />} hotKey="Ctrl+E">\n Редактировать\n </DropdownMenu.Item>\n <DropdownMenu.Item icon={<Copy size={14} />} hotKey="Ctrl+C">\n Копировать\n </DropdownMenu.Item>\n <DropdownMenu.Separator />\n <DropdownMenu.GroupLabel>Опасные</DropdownMenu.GroupLabel>\n <DropdownMenu.Item icon={<Trash2 size={14} />} hotKey="Del">\n Удалить\n </DropdownMenu.Item>\n </DropdownMenu.Content>\n</DropdownMenu>\n```\n\n## 4) Пункт-ссылка\n\n```tsx\n<ContextMenu.Item href="/docs/123" target="_blank" rel="noreferrer">\n Открыть документацию\n</ContextMenu.Item>\n```\n\n## 5) Оставлять меню открытым после выбора\n\n```tsx\n<DropdownMenu.Item closeOnSelect={false} onSelect={() => setFilter("active")}>\n Только активные\n</DropdownMenu.Item>\n```\n\n## 6) Render-function контента с `closeMenu`\n\n```tsx\n<ContextMenu.Content>\n {({ closeMenu }) => (\n <div>\n <ContextMenu.Item onSelect={() => runCommand("rename")}>Переименовать</ContextMenu.Item>\n <button type="button" onClick={closeMenu}>\n Закрыть\n </button>\n </div>\n )}\n</ContextMenu.Content>\n```\n\n## 7) Асинхронный `onSelect` с ручным закрытием\n\n```tsx\n<DropdownMenu.Item\n closeOnSelect={false}\n onSelect={async () => {\n await saveDraft();\n notify("Черновик сохранен");\n }}>\n Сохранить черновик\n</DropdownMenu.Item>\n```\n\n## 8) Отключить закрытие по клику вне меню\n\n```tsx\n<DropdownMenu.Content disableOutsideClick closeOnEscape>\n <DropdownMenu.Item>Пункт</DropdownMenu.Item>\n</DropdownMenu.Content>\n```\n\n## 9) Кастомные стили контейнера\n\n```tsx\n<ContextMenu.Content className="myContextMenu">\n <ContextMenu.Item>Кастомный пункт</ContextMenu.Item>\n</ContextMenu.Content>\n```\n\n```scss\n.myContextMenu {\n min-width: 18rem;\n max-width: 28rem;\n}\n```\n\n## 10) Использование low-level функций `shared/lib/context-menu`\n\n```ts\nimport { closeMenu, initialMenuState, openMenu, toggleMenu } from "@/shared/lib/context-menu";\n\nlet state = initialMenuState;\n\nstate = openMenu({\n source: "programmatic",\n anchor: {\n type: "point",\n point: { x: 100, y: 200 }\n }\n});\n\nstate = toggleMenu(state, {\n source: "click",\n anchor: {\n type: "point",\n point: { x: 120, y: 220 }\n }\n});\n\nstate = closeMenu(state);\n```\n\n---\n\n## Доступность и клавиатура\n\n- `Trigger` получает `aria-haspopup="menu"` и `aria-expanded`.\n- Контент рендерится с `role="menu"`.\n- Элементы действий рендерятся с `role="menuitem"`.\n- Поддержка клавиш:\n- `Shift+F10` / `ContextMenu` для открытия;\n- `ArrowUp` / `ArrowDown` для перемещения;\n- `Home` / `End` для перехода к первому/последнему пункту;\n- `Escape` для закрытия.\n\n---\n\n## Storybook\n\nИстории находятся в:\n\n- `src/shared/ui/atomic/context-menu/stories/ContextMenu.stories.tsx`\n\nОсновные сценарии:\n\n- `DropdownMenu / Базовый`\n- `ContextMenu / По правому клику`\n- `DropdownMenu / Контролируемый`\n\n---\n\n## Внутренние детали реализации\n\n- Позиционирование: `@floating-ui/react`.\n- Анимация открытия/закрытия: `motion/react` (`AnimatePresence`, `motion.div`).\n- Для совместимости с анимацией позиционирование `floating-ui` переведено на `top/left` (`transform: false`), чтобы исключить конфликт `transform` со стороны `motion`.\n\n---\n\n## Тесты\n\nПокрыты функциональные утилиты слоя `shared/lib/context-menu`:\n\n- `src/shared/lib/context-menu/state.test.ts`\n- `src/shared/lib/context-menu/anchor.test.ts`\n\nЗапуск:\n\n```bash\nnpx vitest run src/shared/lib/context-menu/state.test.ts src/shared/lib/context-menu/anchor.test.ts\n```\n'})))()}function l(e){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(a,{title:`Документация/ContextMenu`}),`
2
- `,(0,d.jsx)(i,{children:s})]})}function u(e={}){let{wrapper:t}={...n(),...e.components};return t?(0,d.jsx)(t,{...e,children:(0,d.jsx)(l,{...e})}):l(e)}var d;function f(){return(f=e((()=>{d=t(),r(),o(),c()})))()}f();export{u as default};
@@ -1 +0,0 @@
1
- import{t as e}from"./iframe-woVbsQH3.js";e();
@@ -1 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{i as n,n as r,r as i}from"./iframe-woVbsQH3.js";import{a,i as o}from"./utils-tg3ibbzi.js";import{a as s,c,d as l,f as u,i as d,l as f,m as p,n as m,o as h,p as g,r as _,s as v,u as y}from"./hooks-DjR-EyBl.js";var b,x;function S(){return(S=e((()=>{n(),b=[[`circle`,{cx:`12`,cy:`5`,r:`1`,key:`gxeob9`}],[`circle`,{cx:`19`,cy:`5`,r:`1`,key:`w8mnmm`}],[`circle`,{cx:`5`,cy:`5`,r:`1`,key:`lttvr7`}],[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}],[`circle`,{cx:`12`,cy:`19`,r:`1`,key:`lyex9k`}],[`circle`,{cx:`19`,cy:`19`,r:`1`,key:`shf9b7`}],[`circle`,{cx:`5`,cy:`19`,r:`1`,key:`bfqh0e`}]],x=i(`grip`,b)})))()}function C(e){return e?.data.current?.sortable.containerId??null}function w(e,t){return Array.isArray(t)?t:t[String(e)]??null}function T(e,t){if(t)return t;switch(e){case`horizontal`:return s;case`grid`:return v;default:return f}}function E(e){let{event:t,items:n}=e,{active:r,over:i}=t;if(!i||r.id===i.id)return null;let a=C(r),o=C(i);if(a==null||o==null||a!==o)return null;let s=w(a,n);if(!s)return null;let c=s.indexOf(r.id),l=s.indexOf(i.id);return c<0||l<0?null:{containerId:a,activeId:r.id,overId:i.id,fromIndex:c,toIndex:l}}function D(){return(D=e((()=>{h()})))()}function O(e,t){return typeof e==`function`?e(t):e}function k(e,t){return typeof e==`function`?e(t):e}function A(e){let{children:t,collisionDetection:n=l,sensors:r,onDragCancel:i,onDragEnd:a,onDragMove:o,onDragOver:s,onDragPending:c,onDragStart:u,accessibility:d,...f}=e,p=m(),h=typeof document>`u`?void 0:document.body,g=(0,P.useMemo)(()=>({...d,container:d?.container??h}),[d,h]);return(0,F.jsx)(y,{...f,accessibility:g,sensors:r??p,collisionDetection:n,onDragStart:u,onDragMove:o,onDragOver:s,onDragEnd:a,onDragCancel:i,onDragPending:c,children:t})}function j(e){let{children:t,containerId:n,items:r,layout:i=`vertical`,strategy:a}=e;return(0,F.jsx)(d,{id:String(n),items:[...r],strategy:T(i,a),children:t})}function M(e){let{as:t,id:n,children:r,className:i,style:o,disabled:s=!1,dragActivator:l=`handle`,...u}=e,d=t??`div`,{attributes:f,listeners:p,setActivatorNodeRef:m,setNodeRef:h,transform:_,transition:v,isDragging:y,isOver:b,isSorting:x}=c({id:n,disabled:s}),S={transform:g.Transform.toString(_),transition:v,zIndex:!s&&y?2:1,opacity:!s&&y?.6:void 0,...o},C=(0,P.useMemo)(()=>({attributes:f,listeners:l===`handle`?p:void 0,setActivatorNodeRef:m,disabled:s||l!==`handle`,isDragging:y}),[f,p,m,s,l,y]),w={isDragging:y,isOver:b,isSorting:x,disabled:s},T=l===`item`&&!s?{...f,...p}:{};return(0,F.jsx)(I.Provider,{value:C,children:(0,P.createElement)(d,{...u,...T,ref:h,className:a(i),style:S,"data-sortable-id":String(n),"data-sortable-dragging":y?`true`:`false`,"data-sortable-disabled":s?`true`:`false`},O(r,w))})}function N(e){let{as:t,children:n,disabled:r=!1,...i}=e,a=t??`div`,o=(0,P.useContext)(I),s=r||!o||o.disabled,c=s?{}:{...o.attributes,...o.listeners},l={disabled:s,isDragging:o?.isDragging??!1};return(0,P.createElement)(a,{...i,...c,ref:!s&&o?o.setActivatorNodeRef:void 0,"aria-disabled":s||void 0,"data-sortable-handle":`true`,"data-sortable-handle-disabled":s?`true`:`false`,"data-sortable-handle-dragging":l.isDragging?`true`:`false`},k(n,l))}var P,F,I;function L(){return(L=e((()=>{P=t(),u(),h(),p(),_(),o(),D(),F=r(),I=(0,P.createContext)(null),A.__docgenInfo={description:``,methods:[],displayName:`SortableRoot`,props:{children:{required:!0,tsType:{name:`ReactNode`},description:``},collisionDetection:{required:!1,tsType:{name:`DndContextProps["collisionDetection"]`,raw:`DndContextProps["collisionDetection"]`},description:``},sensors:{required:!1,tsType:{name:`DndContextProps["sensors"]`,raw:`DndContextProps["sensors"]`},description:``}}},j.__docgenInfo={description:``,methods:[],displayName:`SortableContainer`,props:{children:{required:!0,tsType:{name:`ReactNode`},description:``},containerId:{required:!0,tsType:{name:`UniqueIdentifier`},description:``},items:{required:!0,tsType:{name:`unknown`},description:``},layout:{required:!1,tsType:{name:`union`,raw:`"vertical" | "horizontal" | "grid"`,elements:[{name:`literal`,value:`"vertical"`},{name:`literal`,value:`"horizontal"`},{name:`literal`,value:`"grid"`}]},description:``},strategy:{required:!1,tsType:{name:`SortingStrategy`},description:``}}},M.__docgenInfo={description:``,methods:[],displayName:`SortableItem`,props:{as:{required:!1,tsType:{name:`ElementType`},description:``},id:{required:!0,tsType:{name:`UniqueIdentifier`},description:``},children:{required:!1,tsType:{name:`union`,raw:`ReactNode | ((state: SortableItemRenderState) => ReactNode)`,elements:[{name:`ReactNode`},{name:`unknown`}]},description:``},className:{required:!1,tsType:{name:`string`},description:``},style:{required:!1,tsType:{name:`CSSProperties`},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``},dragActivator:{required:!1,tsType:{name:`union`,raw:`"handle" | "item"`,elements:[{name:`literal`,value:`"handle"`},{name:`literal`,value:`"item"`}]},description:``}}},N.__docgenInfo={description:``,methods:[],displayName:`SortableHandle`,props:{as:{required:!1,tsType:{name:`ElementType`},description:``},children:{required:!1,tsType:{name:`union`,raw:`ReactNode | ((state: Pick<SortableHandleContextValue, "disabled" | "isDragging">) => ReactNode)`,elements:[{name:`ReactNode`},{name:`unknown`}]},description:``},disabled:{required:!1,tsType:{name:`boolean`},description:``}}}})))()}var R,z;function B(){return(B=e((()=>{R=`_7rGb26`,z={dragHandle:R}})))()}function V(e,t){return e??t}function H(e,t,n){return e==null?t??n:t}function U(e){if(e.as===`button`){let{as:t,children:n,className:r,disabled:i=!1,icon:o=(0,W.jsx)(x,{"aria-hidden":`true`}),type:s=`button`,...c}=e,l=H(n,c[`aria-label`],c.title);return(0,W.jsx)(N,{...c,as:t,type:s,disabled:i,"aria-label":l,className:a(z.dragHandle,r),children:V(n,o)})}let{as:t,children:n,className:r,disabled:i=!1,icon:o=(0,W.jsx)(x,{"aria-hidden":`true`}),...s}=e,c=H(n,s[`aria-label`],s.title);return(0,W.jsx)(N,{...s,as:t,disabled:i,"aria-label":c,className:a(z.dragHandle,r),children:V(n,o)})}var W;function G(){return(G=e((()=>{o(),S(),L(),B(),W=r(),U.__docgenInfo={description:``,methods:[],displayName:`SortableDragHandle`}})))()}var K;function q(){return(q=e((()=>{L(),G(),D(),K={Root:A,Container:j,Item:M,Handle:N,DragHandle:U}})))()}export{D as i,q as n,E as r,K as t};
@@ -1 +0,0 @@
1
- import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n}from"./iframe-woVbsQH3.js";import{a as r,i}from"./utils-tg3ibbzi.js";import{n as a,t as o}from"./ui.module-CyEEibCu.js";import{c as s,s as c}from"./Option-fRoOLqLF.js";import{a as l}from"./usePickerTriggerController-DWjrt_q_.js";function u({emptyState:e,errorState:t}){let n=t??e;return n==null?null:(0,d.jsx)(`div`,{className:r(a.uiPopupOption,c.status,t!==void 0&&c.statusError),"aria-disabled":!0,children:n})}var d;function f(){return(f=e((()=>{i(),o(),s(),d=n(),u.__docgenInfo={description:``,methods:[],displayName:`PickerStatus`,props:{emptyState:{required:!1,tsType:{name:`ReactNode`},description:``},errorState:{required:!1,tsType:{name:`ReactNode`},description:``}}}})))()}function p({query:e,defaultQuery:t,onQuery:n,resetOnClose:r,triggerMode:i}){let a=e!==void 0,[o,s]=(0,m.useState)(t??``),c=a?e??``:o,u=r??(!i||l(i).resetQueryOnClose),d=e=>{a||s(e),n?.(e)};return{query:c,setQuery:d,clearQuery:()=>d(``),resetQueryOnClose:u}}var m;function h(){return(h=e((()=>{m=t()})))()}export{f as i,p as n,u as r,h as t};