@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 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/tabs/lib/tabs.ts","../../src/tabs/model/useTabsState.ts","../../src/tabs/ui/Tabs.module.scss","../../src/tabs/ui/TabsLoadingState.tsx","../../src/tabs/ui/TabsNoDataState.tsx","../../src/tabs/ui/TabsPanel.tsx","../../src/tabs/ui/TabsTabList.tsx","../../src/tabs/ui/TabsBox.tsx","../../src/tabs/ui/TabsLayout.tsx"],"sourcesContent":["import type { TabsDescriptor, TabsMountStrategy } from \"../model/types\";\n\n/**\n * Возвращает идентификатор первой доступной вкладки.\n */\nexport function getFirstEnabledTabId(items: TabsDescriptor[]) {\n\treturn items.find((item) => !item.disabled)?.id ?? null;\n}\n\n/**\n * Возвращает безопасный идентификатор вкладки.\n * Если переданный `candidate` недоступен, выбирается первая доступная вкладка.\n */\nexport function getSafeTabId(items: TabsDescriptor[], candidate: string | undefined | null) {\n\tif (!candidate) {\n\t\treturn getFirstEnabledTabId(items);\n\t}\n\n\tconst matchedItem = items.find((item) => item.id === candidate && !item.disabled);\n\treturn matchedItem?.id ?? getFirstEnabledTabId(items);\n}\n\n/**\n * Возвращает только доступные вкладки для roving focus и клавиатурной навигации.\n */\nexport function getEnabledTabs(items: TabsDescriptor[]) {\n\treturn items.filter((item) => !item.disabled);\n}\n\ninterface ShouldMountTabPanelOptions {\n\tmountStrategy: TabsMountStrategy;\n\tisSelected: boolean;\n\tisVisited: boolean;\n}\n\n/**\n * Определяет, должна ли панель оставаться смонтированной с учётом стратегии монтирования.\n */\nexport function shouldMountTabPanel({ mountStrategy, isSelected, isVisited }: ShouldMountTabPanelOptions) {\n\treturn mountStrategy === \"keep-mounted\" || isSelected || (mountStrategy === \"lazy\" && isVisited);\n}\n","import type React from \"react\";\nimport { FocusEvent, KeyboardEvent, useId, useMemo, useRef, useState } from \"react\";\n\nimport { getRovingFocusTargetIndex } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport { getEnabledTabs, getSafeTabId } from \"../lib/tabs\";\n\nimport type { TabsActivationMode, TabsDescriptor, TabsOrientation } from \"./types\";\n\ninterface UseTabsStateOptions {\n\titems: TabsDescriptor[];\n\tvalue?: string;\n\tdefaultValue?: string;\n\tonValueChange?: (value: string) => void;\n\torientation?: TabsOrientation;\n\tactivationMode?: TabsActivationMode;\n\tloop?: boolean;\n}\n\n/**\n * Публичная часть модели, необходимая визуальным подкомпонентам tabs.\n */\nexport interface TabsStateModel {\n\tactivationMode: TabsActivationMode;\n\torientation: TabsOrientation;\n\tselectedTabId: string | null;\n\ttabbableTabId: string | null;\n\tonTabListKeyDown: (event: KeyboardEvent<HTMLDivElement>) => void;\n\tonTabListBlur: (event: FocusEvent<HTMLDivElement>) => void;\n\tgetTabElementId: (tabId: string) => string;\n\tgetPanelElementId: (tabId: string) => string;\n\tgetTabButtonProps: (item: TabsDescriptor) => React.ButtonHTMLAttributes<HTMLButtonElement> & {\n\t\tref: (node: HTMLButtonElement | null) => void;\n\t};\n\tisVisited: (tabId: string) => boolean;\n}\n\n/**\n * Инкапсулирует state, a11y-связки и клавиатурную навигацию для всех оболочек tabs.\n */\nexport function useTabsState({\n\titems,\n\tvalue,\n\tdefaultValue,\n\tonValueChange,\n\torientation = \"horizontal\",\n\tactivationMode = \"automatic\",\n\tloop = true\n}: UseTabsStateOptions): TabsStateModel {\n\tconst isControlled = value !== undefined;\n\tconst enabledTabs = useMemo(() => getEnabledTabs(items), [items]);\n\tconst fallbackTabId = enabledTabs[0]?.id ?? null;\n\tconst [internalValue, setInternalValue] = useState(() => getSafeTabId(items, defaultValue));\n\tconst [focusedTabId, setFocusedTabId] = useState<string | null>(() => getSafeTabId(items, value ?? defaultValue));\n\tconst initialVisitedTabId = getSafeTabId(items, value ?? defaultValue);\n\tconst [visitedTabsState, setVisitedTabsState] = useState<Set<string>>(() =>\n\t\tinitialVisitedTabId ? new Set([initialVisitedTabId]) : new Set()\n\t);\n\tconst tabsId = useId();\n\tconst tabRefs = useRef<Record<string, HTMLButtonElement | null>>({});\n\n\tconst selectedTabId = getSafeTabId(items, isControlled ? value : internalValue);\n\tconst nextTabbableTabId = getSafeTabId(items, focusedTabId) ?? selectedTabId ?? fallbackTabId;\n\tconst visitedTabs = useMemo(() => {\n\t\tif (!selectedTabId || visitedTabsState.has(selectedTabId)) {\n\t\t\treturn visitedTabsState;\n\t\t}\n\n\t\tconst next = new Set(visitedTabsState);\n\t\tnext.add(selectedTabId);\n\t\treturn next;\n\t}, [selectedTabId, visitedTabsState]);\n\n\tconst activateTab = (nextTabId: string) => {\n\t\tconst safeNextTabId = getSafeTabId(items, nextTabId);\n\t\tif (!safeNextTabId) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetVisitedTabsState((prev) => {\n\t\t\tif (prev.has(safeNextTabId)) {\n\t\t\t\treturn prev;\n\t\t\t}\n\n\t\t\tconst next = new Set(prev);\n\t\t\tnext.add(safeNextTabId);\n\t\t\treturn next;\n\t\t});\n\n\t\tif (!isControlled) {\n\t\t\tsetInternalValue(safeNextTabId);\n\t\t}\n\n\t\tonValueChange?.(safeNextTabId);\n\t};\n\n\tconst focusTab = (nextTabId: string) => {\n\t\ttabRefs.current[nextTabId]?.focus();\n\t};\n\n\tconst onTabListKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n\t\tif (enabledTabs.length < 2) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst activeFocusIndex = Math.max(\n\t\t\t0,\n\t\t\tenabledTabs.findIndex((item) => item.id === (nextTabbableTabId ?? selectedTabId ?? fallbackTabId))\n\t\t);\n\t\tconst nextEnabledIndex = getRovingFocusTargetIndex({\n\t\t\tcurrentIndex: activeFocusIndex,\n\t\t\titemCount: enabledTabs.length,\n\t\t\tkey: event.key,\n\t\t\torientation,\n\t\t\twrap: loop\n\t\t});\n\n\t\tif (nextEnabledIndex === null) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tconst nextTabId = enabledTabs[nextEnabledIndex]?.id;\n\t\tif (!nextTabId) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetFocusedTabId(nextTabId);\n\t\tfocusTab(nextTabId);\n\n\t\tif (activationMode === \"automatic\") {\n\t\t\tactivateTab(nextTabId);\n\t\t}\n\t};\n\n\tconst onTabListBlur = (event: FocusEvent<HTMLDivElement>) => {\n\t\tconst nextTarget = event.relatedTarget;\n\n\t\tif (nextTarget instanceof Node && event.currentTarget.contains(nextTarget)) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetFocusedTabId(selectedTabId ?? fallbackTabId);\n\t};\n\n\tconst getTabElementId = (tabId: string) => `${tabsId}-tab-${tabId}`;\n\tconst getPanelElementId = (tabId: string) => `${tabsId}-panel-${tabId}`;\n\n\tconst getTabButtonProps = (item: TabsDescriptor) => {\n\t\tconst isSelected = item.id === selectedTabId;\n\t\tconst isTabbable = item.id === nextTabbableTabId;\n\n\t\treturn {\n\t\t\tref: (node: HTMLButtonElement | null) => {\n\t\t\t\ttabRefs.current[item.id] = node;\n\t\t\t},\n\t\t\ttype: \"button\" as const,\n\t\t\trole: \"tab\" as const,\n\t\t\tid: getTabElementId(item.id),\n\t\t\tdisabled: item.disabled,\n\t\t\t\"aria-selected\": isSelected,\n\t\t\t\"aria-controls\": getPanelElementId(item.id),\n\t\t\t\"aria-disabled\": item.disabled || undefined,\n\t\t\ttabIndex: item.disabled ? -1 : isTabbable ? 0 : -1,\n\t\t\tonFocus: () => setFocusedTabId(item.id),\n\t\t\tonClick: () => activateTab(item.id)\n\t\t};\n\t};\n\n\treturn {\n\t\tactivationMode,\n\t\torientation,\n\t\tselectedTabId,\n\t\ttabbableTabId: nextTabbableTabId,\n\t\tonTabListKeyDown,\n\t\tonTabListBlur,\n\t\tgetTabElementId,\n\t\tgetPanelElementId,\n\t\tgetTabButtonProps,\n\t\tisVisited: (tabId: string) => visitedTabs.has(tabId)\n\t};\n}\n",".tabsContainer {\n\t--tabs-border: var(--border);\n\t--tabs-panel-padding: var(--space-md);\n\n\tdisplay: grid;\n\tmin-width: 0;\n\tmin-height: 0;\n\theight: 100%;\n\toverflow: hidden;\n\n\t&.clean {\n\t\t--tabs-border: none;\n\t\t--tabs-panel-padding: 0;\n\t}\n}\n\n.tabs {\n\tdisplay: flex;\n\tmin-width: 0;\n\n\tborder: var(--tabs-border);\n\tbackground-color: var(--surface-1);\n}\n\n.panels {\n\tmin-width: 0;\n\tmin-height: 0;\n\tborder: var(--tabs-border);\n}\n\n.horizontal {\n\tgrid-template-rows: auto minmax(0, 1fr);\n\n\t.tabs {\n\t\tpadding: var(--space-sm);\n\n\t\tborder-top-left-radius: var(--radius-sm);\n\t\tborder-top-right-radius: var(--radius-sm);\n\t}\n\n\t.panels {\n\t\tborder-top: none;\n\n\t\tborder-bottom-left-radius: var(--radius-sm);\n\t\tborder-bottom-right-radius: var(--radius-sm);\n\t}\n\n\t.tab {\n\t\t&::before {\n\t\t\tcontent: \"\";\n\t\t\tposition: absolute;\n\t\t\tbottom: 0;\n\t\t\tleft: 0;\n\t\t\tright: 0;\n\t\t\tborder-bottom: var(--focus-width) solid var(--decoration-color);\n\t\t}\n\t}\n}\n\n.vertical {\n\tgrid-template-columns: 10em minmax(0, 1fr);\n\tmin-height: 0;\n\n\t.tabs {\n\t\tflex-direction: column;\n\n\t\tborder-top-left-radius: var(--radius-sm);\n\t\tborder-bottom-left-radius: var(--radius-sm);\n\t}\n\n\t.panels {\n\t\tborder-left: none;\n\n\t\tborder-top-right-radius: var(--radius-sm);\n\t\tborder-bottom-right-radius: var(--radius-sm);\n\t}\n\n\t// .tab {\n\t// \t&::before {\n\t// \t\tcontent: \"\";\n\t// \t\tposition: absolute;\n\t// \t\ttop: 0;\n\t// \t\tbottom: 0;\n\t// \t\tright: 0;\n\t// \t\tborder-right: var(--focus-width) solid var(--decoration-color);\n\t// \t}\n\t// }\n}\n\n.panelScrollable {\n\toverflow: auto;\n}\n\n.tab {\n\t--decoration-color: transparent;\n\n\ttext-align: left;\n\n\tposition: relative;\n\tmin-height: var(--control-height);\n\tpadding: var(--space-xs) var(--space-md);\n\tcolor: var(--content-2);\n\tborder-radius: var(--radius-sm);\n\tfont-weight: 700;\n\tfont-variation-settings: \"wght\" 700;\n\n\tflex-shrink: 0;\n\n\t&:hover {\n\t\tcursor: pointer;\n\t\tcolor: var(--accent-text);\n\t\t// background-color: var(--accent-fill);\n\t\t--decoration-color: var(--accent-border);\n\t}\n\n\t&.selected {\n\t\tcolor: var(--brand-text);\n\t\t// color: var(--content-0);\n\t\t// background-color: var(--brand-fill);\n\t\t--decoration-color: var(--brand-border);\n\t}\n\n\t&:disabled {\n\t\tcursor: not-allowed;\n\t\tcolor: var(--content-2);\n\t\tbackground-color: var(--surface-2);\n\t}\n}\n\n.panel {\n\tpadding: 0;\n\tmin-width: 0;\n\tmin-height: 0;\n\theight: 100%;\n}\n\n.panelBody {\n\tmin-width: 0;\n\tmin-height: 0;\n\n\theight: 100%;\n\tpadding: var(--tabs-panel-padding);\n}\n\n.layoutPanels {\n\toverflow: hidden;\n}\n\n.layoutPanel {\n\tdisplay: grid;\n\tgap: var(--space-md);\n\tmin-width: 0;\n\tmin-height: 0;\n\theight: 100%;\n\tpadding: var(--tabs-panel-padding);\n}\n\n.layoutSection {\n\tmin-width: 0;\n}\n\n.layoutContent {\n\tmin-height: 0;\n}\n","import { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport { LoadingMessage } from \"../../misc\";\n\nimport styles from \"./Tabs.module.scss\";\n\ninterface TabsLoadingStateProps {\n\tcontainerClassName: string;\n\ttabListClassName: string;\n\tpanelsClassName: string;\n\tpanelClassName: string;\n\tpanelBodyClassName: string;\n\tloadingText?: string;\n}\n\n/**\n * Служебное loading-состояние для `TabsBox`.\n */\nexport function TabsLoadingState({\n\tcontainerClassName,\n\ttabListClassName,\n\tpanelsClassName,\n\tpanelClassName,\n\tpanelBodyClassName,\n\tloadingText\n}: TabsLoadingStateProps) {\n\treturn (\n\t\t<div className={containerClassName}>\n\t\t\t<div className={tabListClassName} aria-hidden=\"true\">\n\t\t\t\t<button type=\"button\" disabled data-disabled=\"\" className={cn(styles.tab, \"skeletonLine\")}>\n\t\t\t\t\tЗагрузка...\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t<div className={panelsClassName} aria-busy=\"true\">\n\t\t\t\t<div className={panelClassName}>\n\t\t\t\t\t<div className={panelBodyClassName}>\n\t\t\t\t\t\t<LoadingMessage text={loadingText} className=\"radiusSm\" />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n","import { NoData } from \"../../misc\";\n\ninterface TabsNoDataStateProps {\n\tcontainerClassName: string;\n\tpanelsClassName: string;\n\tpanelClassName: string;\n\tpanelBodyClassName: string;\n}\n\n/**\n * Служебное empty-состояние для `TabsBox`.\n */\nexport function TabsNoDataState({ containerClassName, panelsClassName, panelClassName, panelBodyClassName }: TabsNoDataStateProps) {\n\treturn (\n\t\t<div className={containerClassName}>\n\t\t\t<div className={panelsClassName}>\n\t\t\t\t<div className={panelClassName}>\n\t\t\t\t\t<div className={panelBodyClassName}>\n\t\t\t\t\t\t<NoData className=\"radiusSm\" />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n","import React from \"react\";\n\n/**\n * Унифицированная ARIA-обёртка для содержимого активной панели tabs.\n */\ninterface TabsPanelProps {\n\ttabId: string;\n\tisSelected: boolean;\n\tclassName?: string;\n\tgetTabElementId: (tabId: string) => string;\n\tgetPanelElementId: (tabId: string) => string;\n\tchildren: React.ReactNode;\n}\n\nexport function TabsPanel({ tabId, isSelected, className, getTabElementId, getPanelElementId, children }: TabsPanelProps) {\n\treturn (\n\t\t<div\n\t\t\trole=\"tabpanel\"\n\t\t\tid={getPanelElementId(tabId)}\n\t\t\taria-labelledby={getTabElementId(tabId)}\n\t\t\thidden={!isSelected}\n\t\t\tclassName={className}>\n\t\t\t{children}\n\t\t</div>\n\t);\n}\n","import { ReactNode } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport { OneStepScroller } from \"../../misc\";\n\nimport styles from \"./Tabs.module.scss\";\n\nimport type { TabsDescriptor } from \"../model/types\";\nimport type { TabsStateModel } from \"../model/useTabsState\";\n\n/**\n * Рендерит tablist и кнопки вкладок поверх общей модели tabs.\n */\ninterface TabsTabListProps {\n\titems: TabsDescriptor[];\n\tstate: TabsStateModel;\n\tclassName?: string;\n\tariaLabel?: string;\n\tariaLabelledBy?: string;\n}\n\nexport function TabsTabList({ items, state, className, ariaLabel, ariaLabelledBy }: TabsTabListProps) {\n\tconst wrapItems = (children: ReactNode) => {\n\t\tif (state.orientation === \"horizontal\") {\n\t\t\treturn <OneStepScroller>{children}</OneStepScroller>;\n\t\t}\n\n\t\treturn <>{children}</>;\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName={className}\n\t\t\trole=\"tablist\"\n\t\t\taria-orientation={state.orientation}\n\t\t\taria-label={ariaLabel}\n\t\t\taria-labelledby={ariaLabelledBy}\n\t\t\tonKeyDown={state.onTabListKeyDown}\n\t\t\tonBlur={state.onTabListBlur}>\n\t\t\t{wrapItems(\n\t\t\t\titems.map((item) => (\n\t\t\t\t\t<button\n\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t{...state.getTabButtonProps(item)}\n\t\t\t\t\t\tdata-ui=\"tabs-tab\"\n\t\t\t\t\t\tdata-action=\"select-tab\"\n\t\t\t\t\t\tclassName={cn(styles.tab, \"textWrap\", item.id === state.selectedTabId && styles.selected)}>\n\t\t\t\t\t\t{item.title}\n\t\t\t\t\t</button>\n\t\t\t\t))\n\t\t\t)}\n\t\t</div>\n\t);\n}\n","import { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport uiStyles from \"../../ui.module.scss\";\nimport { getUiPanelToneClassName } from \"../../uiClasses\";\nimport { shouldMountTabPanel } from \"../lib/tabs\";\nimport { TabsBoxProps } from \"../model/types\";\nimport { useTabsState } from \"../model/useTabsState\";\n\nimport styles from \"./Tabs.module.scss\";\nimport { TabsLoadingState } from \"./TabsLoadingState\";\nimport { TabsNoDataState } from \"./TabsNoDataState\";\nimport { TabsPanel } from \"./TabsPanel\";\nimport { TabsTabList } from \"./TabsTabList\";\n\n/**\n * Простой items-based tabs-компонент.\n * Сам управляет областью панели и её прокруткой.\n */\nexport function TabsBox({\n\titems,\n\tvalue,\n\tdefaultValue,\n\tonValueChange,\n\tclassName,\n\tisLoading,\n\tloadingText,\n\torientation = \"horizontal\",\n\tactivationMode = \"automatic\",\n\tmountStrategy = \"unmount\",\n\tloop = true,\n\ttone = \"primary\",\n\tclean = false,\n\t\"aria-label\": ariaLabel,\n\t\"aria-labelledby\": ariaLabelledBy\n}: TabsBoxProps) {\n\tconst state = useTabsState({\n\t\titems,\n\t\tvalue,\n\t\tdefaultValue,\n\t\tonValueChange,\n\t\torientation,\n\t\tactivationMode,\n\t\tloop\n\t});\n\n\tconst rootClassName = cn(\n\t\tstyles.tabsContainer,\n\t\tclean ? styles.clean : uiStyles.uiFilledPanel,\n\t\tstyles[orientation],\n\t\tgetUiPanelToneClassName(tone),\n\t\tclassName\n\t);\n\tconst tabListClassName = styles.tabs;\n\tconst panelsClassName = cn(styles.panels, styles.panelScrollable, \"scrollable overscroll\");\n\tconst panelClassName = styles.panel;\n\tconst panelBodyClassName = styles.panelBody;\n\n\tif (isLoading) {\n\t\treturn (\n\t\t\t<TabsLoadingState\n\t\t\t\tcontainerClassName={rootClassName}\n\t\t\t\ttabListClassName={tabListClassName}\n\t\t\t\tpanelsClassName={panelsClassName}\n\t\t\t\tpanelClassName={panelClassName}\n\t\t\t\tpanelBodyClassName={panelBodyClassName}\n\t\t\t\tloadingText={loadingText}\n\t\t\t/>\n\t\t);\n\t}\n\n\tif (!items.length) {\n\t\treturn (\n\t\t\t<TabsNoDataState\n\t\t\t\tcontainerClassName={rootClassName}\n\t\t\t\tpanelsClassName={panelsClassName}\n\t\t\t\tpanelClassName={panelClassName}\n\t\t\t\tpanelBodyClassName={panelBodyClassName}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className={rootClassName}>\n\t\t\t<TabsTabList items={items} state={state} className={tabListClassName} ariaLabel={ariaLabel} ariaLabelledBy={ariaLabelledBy} />\n\n\t\t\t<div className={panelsClassName}>\n\t\t\t\t{items.map((item) => {\n\t\t\t\t\tconst isSelected = item.id === state.selectedTabId;\n\t\t\t\t\tconst isMounted = shouldMountTabPanel({\n\t\t\t\t\t\tmountStrategy,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisVisited: state.isVisited(item.id)\n\t\t\t\t\t});\n\n\t\t\t\t\tif (!isMounted) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<TabsPanel\n\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\ttabId={item.id}\n\t\t\t\t\t\t\tisSelected={isSelected}\n\t\t\t\t\t\t\tclassName={panelClassName}\n\t\t\t\t\t\t\tgetTabElementId={state.getTabElementId}\n\t\t\t\t\t\t\tgetPanelElementId={state.getPanelElementId}>\n\t\t\t\t\t\t\t<div className={panelBodyClassName}>{item.content}</div>\n\t\t\t\t\t\t</TabsPanel>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n","/* eslint-disable react-refresh/only-export-components */\nimport React, { Children, isValidElement, useMemo } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport uiStyles from \"../../ui.module.scss\";\nimport { getUiPanelToneClassName } from \"../../uiClasses\";\nimport { shouldMountTabPanel } from \"../lib/tabs\";\nimport { useTabsState } from \"../model/useTabsState\";\n\nimport styles from \"./Tabs.module.scss\";\nimport { TabsPanel } from \"./TabsPanel\";\nimport { TabsTabList } from \"./TabsTabList\";\n\nimport type { TabsDescriptor, TabsLayoutProps, TabsLayoutSectionProps, TabsLayoutTabProps } from \"../model/types\";\n\ninterface ParsedTabsLayoutTab extends TabsDescriptor {\n\ttoolbar: TabsLayoutSectionProps | null;\n\tcontent: TabsLayoutSectionProps;\n\tfooter: TabsLayoutSectionProps | null;\n}\n\nconst tabsLayoutTabDisplayName = \"TabsLayout.Tab\";\nconst tabsLayoutToolbarDisplayName = \"TabsLayout.Toolbar\";\nconst tabsLayoutContentDisplayName = \"TabsLayout.Content\";\nconst tabsLayoutFooterDisplayName = \"TabsLayout.Footer\";\n\n/**\n * Возвращает стабильный displayName compound-элемента.\n * Это нужно для корректной работы HMR, где ссылочное сравнение `child.type` может ломаться.\n */\nfunction getTabsLayoutElementDisplayName(child: React.ReactElement) {\n\tconst { type } = child;\n\n\tif (typeof type === \"function\") {\n\t\tconst componentType = type as React.JSXElementConstructor<unknown> & {\n\t\t\tdisplayName?: string;\n\t\t\tname?: string;\n\t\t};\n\n\t\treturn componentType.displayName ?? componentType.name ?? null;\n\t}\n\n\tif (typeof type === \"object\" && type !== null && \"displayName\" in type) {\n\t\tconst componentType = type as {\n\t\t\tdisplayName?: string;\n\t\t};\n\n\t\treturn typeof componentType.displayName === \"string\" ? componentType.displayName : null;\n\t}\n\n\treturn null;\n}\n\nfunction isTabsLayoutElement<Props>(child: React.ReactNode, displayName: string): child is React.ReactElement<Props> {\n\treturn isValidElement<Props>(child) && getTabsLayoutElementDisplayName(child) === displayName;\n}\n\n/**\n * Маркер верхнеуровневой вкладки в compound-режиме `TabsLayout`.\n */\nfunction TabsLayoutTab({ children }: TabsLayoutTabProps) {\n\treturn <>{children}</>;\n}\n\nTabsLayoutTab.displayName = tabsLayoutTabDisplayName;\n\n/**\n * Верхняя секция панели, исключённая из прокручиваемого содержимого.\n */\nfunction TabsLayoutToolbar({ children }: TabsLayoutSectionProps) {\n\treturn <>{children}</>;\n}\n\nTabsLayoutToolbar.displayName = tabsLayoutToolbarDisplayName;\n\n/**\n * Основное содержимое панели, которое само управляет своим layout и scroll.\n */\nfunction TabsLayoutContent({ children }: TabsLayoutSectionProps) {\n\treturn <>{children}</>;\n}\n\nTabsLayoutContent.displayName = tabsLayoutContentDisplayName;\n\n/**\n * Нижняя секция панели, исключённая из прокручиваемого содержимого.\n */\nfunction TabsLayoutFooter({ children }: TabsLayoutSectionProps) {\n\treturn <>{children}</>;\n}\n\nTabsLayoutFooter.displayName = tabsLayoutFooterDisplayName;\n\nfunction parseTabsLayoutSections(children: React.ReactNode, tabId: string) {\n\tlet toolbar: TabsLayoutSectionProps | null = null;\n\tlet content: TabsLayoutSectionProps | null = null;\n\tlet footer: TabsLayoutSectionProps | null = null;\n\n\tfor (const child of Children.toArray(children)) {\n\t\tif (!isValidElement(child)) {\n\t\t\tthrow new Error(\n\t\t\t\t`TabsLayout.Tab \"${tabId}\" поддерживает только дочерние элементы TabsLayout.Toolbar, TabsLayout.Content и TabsLayout.Footer.`\n\t\t\t);\n\t\t}\n\n\t\tif (isTabsLayoutElement<TabsLayoutSectionProps>(child, tabsLayoutToolbarDisplayName)) {\n\t\t\tif (toolbar) {\n\t\t\t\tthrow new Error(`TabsLayout.Tab \"${tabId}\" содержит более одного блока TabsLayout.Toolbar.`);\n\t\t\t}\n\n\t\t\ttoolbar = child.props;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (isTabsLayoutElement<TabsLayoutSectionProps>(child, tabsLayoutContentDisplayName)) {\n\t\t\tif (content) {\n\t\t\t\tthrow new Error(`TabsLayout.Tab \"${tabId}\" содержит более одного блока TabsLayout.Content.`);\n\t\t\t}\n\n\t\t\tcontent = child.props;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (isTabsLayoutElement<TabsLayoutSectionProps>(child, tabsLayoutFooterDisplayName)) {\n\t\t\tif (footer) {\n\t\t\t\tthrow new Error(`TabsLayout.Tab \"${tabId}\" содержит более одного блока TabsLayout.Footer.`);\n\t\t\t}\n\n\t\t\tfooter = child.props;\n\t\t\tcontinue;\n\t\t}\n\n\t\tthrow new Error(\n\t\t\t`TabsLayout.Tab \"${tabId}\" поддерживает только дочерние элементы TabsLayout.Toolbar, TabsLayout.Content и TabsLayout.Footer.`\n\t\t);\n\t}\n\n\tif (!content) {\n\t\tthrow new Error(`TabsLayout.Tab \"${tabId}\" должен содержать блок TabsLayout.Content.`);\n\t}\n\n\treturn { toolbar, content, footer };\n}\n\nfunction parseTabsLayoutChildren(children: React.ReactNode): ParsedTabsLayoutTab[] {\n\treturn Children.toArray(children).map((child) => {\n\t\tif (!isTabsLayoutElement<TabsLayoutTabProps>(child, tabsLayoutTabDisplayName)) {\n\t\t\tthrow new Error(\"TabsLayout принимает только дочерние элементы TabsLayout.Tab.\");\n\t\t}\n\n\t\treturn {\n\t\t\tid: child.props.id,\n\t\t\ttitle: child.props.title,\n\t\t\tdisabled: child.props.disabled,\n\t\t\t...parseTabsLayoutSections(child.props.children, child.props.id)\n\t\t};\n\t});\n}\n\ntype TabsLayoutComposition = React.FC<TabsLayoutProps> & {\n\tTab: typeof TabsLayoutTab;\n\tToolbar: typeof TabsLayoutToolbar;\n\tContent: typeof TabsLayoutContent;\n\tFooter: typeof TabsLayoutFooter;\n};\n\n/**\n * Compound-оболочка tabs для составных panel-layout сценариев.\n * Сам компонент управляет только переключением и каркасом панели.\n */\nconst TabsLayoutRoot: React.FC<TabsLayoutProps> = ({\n\tchildren,\n\tvalue,\n\tdefaultValue,\n\tonValueChange,\n\tclassName,\n\torientation = \"horizontal\",\n\tactivationMode = \"manual\",\n\tmountStrategy = \"lazy\",\n\tloop = true,\n\ttone = \"primary\",\n\tclean = false,\n\t\"aria-label\": ariaLabel,\n\t\"aria-labelledby\": ariaLabelledBy\n}) => {\n\tconst tabs = useMemo(() => parseTabsLayoutChildren(children), [children]);\n\tconst state = useTabsState({\n\t\titems: tabs,\n\t\tvalue,\n\t\tdefaultValue,\n\t\tonValueChange,\n\t\torientation,\n\t\tactivationMode,\n\t\tloop\n\t});\n\tconst rootClassName = cn(\n\t\tstyles.tabsContainer,\n\t\tclean ? styles.clean : uiStyles.uiFilledPanel,\n\t\tstyles[orientation],\n\t\tgetUiPanelToneClassName(tone),\n\t\tclassName\n\t);\n\tconst panelsClassName = cn(styles.panels, styles.layoutPanels);\n\n\treturn (\n\t\t<div className={rootClassName}>\n\t\t\t<TabsTabList items={tabs} state={state} className={styles.tabs} ariaLabel={ariaLabel} ariaLabelledBy={ariaLabelledBy} />\n\n\t\t\t<div className={panelsClassName}>\n\t\t\t\t{tabs.map((tab) => {\n\t\t\t\t\tconst isSelected = tab.id === state.selectedTabId;\n\t\t\t\t\tconst isMounted = shouldMountTabPanel({\n\t\t\t\t\t\tmountStrategy,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisVisited: state.isVisited(tab.id)\n\t\t\t\t\t});\n\n\t\t\t\t\tif (!isMounted) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst templateRows = `${tab.toolbar ? \"auto \" : \"\"}minmax(0, 1fr)${tab.footer ? \" auto\" : \"\"}`;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<TabsPanel\n\t\t\t\t\t\t\tkey={tab.id}\n\t\t\t\t\t\t\ttabId={tab.id}\n\t\t\t\t\t\t\tisSelected={isSelected}\n\t\t\t\t\t\t\tclassName={styles.panel}\n\t\t\t\t\t\t\tgetTabElementId={state.getTabElementId}\n\t\t\t\t\t\t\tgetPanelElementId={state.getPanelElementId}>\n\t\t\t\t\t\t\t<div className={styles.layoutPanel} style={{ gridTemplateRows: templateRows }}>\n\t\t\t\t\t\t\t\t{tab.toolbar ? (\n\t\t\t\t\t\t\t\t\t<div className={cn(styles.layoutSection, tab.toolbar.className)}>{tab.toolbar.children}</div>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t<div className={cn(styles.layoutSection, styles.layoutContent, tab.content.className)}>\n\t\t\t\t\t\t\t\t\t{tab.content.children}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{tab.footer ? (\n\t\t\t\t\t\t\t\t\t<div className={cn(styles.layoutSection, tab.footer.className)}>{tab.footer.children}</div>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</TabsPanel>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nTabsLayoutRoot.displayName = \"TabsLayout\";\n\nexport const TabsLayout = Object.assign(TabsLayoutRoot, {\n\tTab: TabsLayoutTab,\n\tToolbar: TabsLayoutToolbar,\n\tContent: TabsLayoutContent,\n\tFooter: TabsLayoutFooter\n}) as TabsLayoutComposition;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/tabs/lib/tabs.ts","../../src/tabs/model/useTabsState.ts","../../src/tabs/ui/Tabs.module.scss","../../src/tabs/ui/TabsLoadingState.tsx","../../src/tabs/ui/TabsNoDataState.tsx","../../src/tabs/ui/TabsPanel.tsx","../../src/tabs/ui/TabsTabList.tsx","../../src/tabs/ui/TabsBox.tsx","../../src/tabs/ui/TabsLayout.tsx"],"sourcesContent":["import type { TabsDescriptor, TabsMountStrategy } from \"../model/types\";\n\n/**\n * Возвращает идентификатор первой доступной вкладки.\n */\nexport function getFirstEnabledTabId(items: TabsDescriptor[]) {\n\treturn items.find((item) => !item.disabled)?.id ?? null;\n}\n\n/**\n * Возвращает безопасный идентификатор вкладки.\n * Если переданный `candidate` недоступен, выбирается первая доступная вкладка.\n */\nexport function getSafeTabId(items: TabsDescriptor[], candidate: string | undefined | null) {\n\tif (!candidate) {\n\t\treturn getFirstEnabledTabId(items);\n\t}\n\n\tconst matchedItem = items.find((item) => item.id === candidate && !item.disabled);\n\treturn matchedItem?.id ?? getFirstEnabledTabId(items);\n}\n\n/**\n * Возвращает только доступные вкладки для roving focus и клавиатурной навигации.\n */\nexport function getEnabledTabs(items: TabsDescriptor[]) {\n\treturn items.filter((item) => !item.disabled);\n}\n\ninterface ShouldMountTabPanelOptions {\n\tmountStrategy: TabsMountStrategy;\n\tisSelected: boolean;\n\tisVisited: boolean;\n}\n\n/**\n * Определяет, должна ли панель оставаться смонтированной с учётом стратегии монтирования.\n */\nexport function shouldMountTabPanel({ mountStrategy, isSelected, isVisited }: ShouldMountTabPanelOptions) {\n\treturn mountStrategy === \"keep-mounted\" || isSelected || (mountStrategy === \"lazy\" && isVisited);\n}\n","import type React from \"react\";\nimport { FocusEvent, KeyboardEvent, useId, useMemo, useRef, useState } from \"react\";\n\nimport { getRovingFocusTargetIndex } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport { getEnabledTabs, getSafeTabId } from \"../lib/tabs\";\n\nimport type { TabsActivationMode, TabsDescriptor, TabsOrientation } from \"./types\";\n\ninterface UseTabsStateOptions {\n\titems: TabsDescriptor[];\n\tvalue?: string;\n\tdefaultValue?: string;\n\tonValueChange?: (value: string) => void;\n\torientation?: TabsOrientation;\n\tactivationMode?: TabsActivationMode;\n\tloop?: boolean;\n}\n\n/**\n * Публичная часть модели, необходимая визуальным подкомпонентам tabs.\n */\nexport interface TabsStateModel {\n\tactivationMode: TabsActivationMode;\n\torientation: TabsOrientation;\n\tselectedTabId: string | null;\n\ttabbableTabId: string | null;\n\tonTabListKeyDown: (event: KeyboardEvent<HTMLDivElement>) => void;\n\tonTabListBlur: (event: FocusEvent<HTMLDivElement>) => void;\n\tgetTabElementId: (tabId: string) => string;\n\tgetPanelElementId: (tabId: string) => string;\n\tgetTabButtonProps: (item: TabsDescriptor) => React.ButtonHTMLAttributes<HTMLButtonElement> & {\n\t\tref: (node: HTMLButtonElement | null) => void;\n\t};\n\tisVisited: (tabId: string) => boolean;\n}\n\n/**\n * Инкапсулирует state, a11y-связки и клавиатурную навигацию для всех оболочек tabs.\n */\nexport function useTabsState({\n\titems,\n\tvalue,\n\tdefaultValue,\n\tonValueChange,\n\torientation = \"horizontal\",\n\tactivationMode = \"automatic\",\n\tloop = true\n}: UseTabsStateOptions): TabsStateModel {\n\tconst isControlled = value !== undefined;\n\tconst enabledTabs = useMemo(() => getEnabledTabs(items), [items]);\n\tconst fallbackTabId = enabledTabs[0]?.id ?? null;\n\tconst [internalValue, setInternalValue] = useState(() => getSafeTabId(items, defaultValue));\n\tconst [focusedTabId, setFocusedTabId] = useState<string | null>(() => getSafeTabId(items, value ?? defaultValue));\n\tconst initialVisitedTabId = getSafeTabId(items, value ?? defaultValue);\n\tconst [visitedTabsState, setVisitedTabsState] = useState<Set<string>>(() =>\n\t\tinitialVisitedTabId ? new Set([initialVisitedTabId]) : new Set()\n\t);\n\tconst tabsId = useId();\n\tconst tabRefs = useRef<Record<string, HTMLButtonElement | null>>({});\n\n\tconst selectedTabId = getSafeTabId(items, isControlled ? value : internalValue);\n\tconst nextTabbableTabId = getSafeTabId(items, focusedTabId) ?? selectedTabId ?? fallbackTabId;\n\tconst visitedTabs = useMemo(() => {\n\t\tif (!selectedTabId || visitedTabsState.has(selectedTabId)) {\n\t\t\treturn visitedTabsState;\n\t\t}\n\n\t\tconst next = new Set(visitedTabsState);\n\t\tnext.add(selectedTabId);\n\t\treturn next;\n\t}, [selectedTabId, visitedTabsState]);\n\n\tconst activateTab = (nextTabId: string) => {\n\t\tconst safeNextTabId = getSafeTabId(items, nextTabId);\n\t\tif (!safeNextTabId) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetVisitedTabsState((prev) => {\n\t\t\tif (prev.has(safeNextTabId)) {\n\t\t\t\treturn prev;\n\t\t\t}\n\n\t\t\tconst next = new Set(prev);\n\t\t\tnext.add(safeNextTabId);\n\t\t\treturn next;\n\t\t});\n\n\t\tif (!isControlled) {\n\t\t\tsetInternalValue(safeNextTabId);\n\t\t}\n\n\t\tonValueChange?.(safeNextTabId);\n\t};\n\n\tconst focusTab = (nextTabId: string) => {\n\t\ttabRefs.current[nextTabId]?.focus();\n\t};\n\n\tconst onTabListKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n\t\tif (enabledTabs.length < 2) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst activeFocusIndex = Math.max(\n\t\t\t0,\n\t\t\tenabledTabs.findIndex((item) => item.id === (nextTabbableTabId ?? selectedTabId ?? fallbackTabId))\n\t\t);\n\t\tconst nextEnabledIndex = getRovingFocusTargetIndex({\n\t\t\tcurrentIndex: activeFocusIndex,\n\t\t\titemCount: enabledTabs.length,\n\t\t\tkey: event.key,\n\t\t\torientation,\n\t\t\twrap: loop\n\t\t});\n\n\t\tif (nextEnabledIndex === null) {\n\t\t\treturn;\n\t\t}\n\n\t\tevent.preventDefault();\n\n\t\tconst nextTabId = enabledTabs[nextEnabledIndex]?.id;\n\t\tif (!nextTabId) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetFocusedTabId(nextTabId);\n\t\tfocusTab(nextTabId);\n\n\t\tif (activationMode === \"automatic\") {\n\t\t\tactivateTab(nextTabId);\n\t\t}\n\t};\n\n\tconst onTabListBlur = (event: FocusEvent<HTMLDivElement>) => {\n\t\tconst nextTarget = event.relatedTarget;\n\n\t\tif (nextTarget instanceof Node && event.currentTarget.contains(nextTarget)) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetFocusedTabId(selectedTabId ?? fallbackTabId);\n\t};\n\n\tconst getTabElementId = (tabId: string) => `${tabsId}-tab-${tabId}`;\n\tconst getPanelElementId = (tabId: string) => `${tabsId}-panel-${tabId}`;\n\n\tconst getTabButtonProps = (item: TabsDescriptor) => {\n\t\tconst isSelected = item.id === selectedTabId;\n\t\tconst isTabbable = item.id === nextTabbableTabId;\n\n\t\treturn {\n\t\t\tref: (node: HTMLButtonElement | null) => {\n\t\t\t\ttabRefs.current[item.id] = node;\n\t\t\t},\n\t\t\ttype: \"button\" as const,\n\t\t\trole: \"tab\" as const,\n\t\t\tid: getTabElementId(item.id),\n\t\t\tdisabled: item.disabled,\n\t\t\t\"aria-selected\": isSelected,\n\t\t\t\"aria-controls\": getPanelElementId(item.id),\n\t\t\t\"aria-disabled\": item.disabled || undefined,\n\t\t\ttabIndex: item.disabled ? -1 : isTabbable ? 0 : -1,\n\t\t\tonFocus: () => setFocusedTabId(item.id),\n\t\t\tonClick: () => activateTab(item.id)\n\t\t};\n\t};\n\n\treturn {\n\t\tactivationMode,\n\t\torientation,\n\t\tselectedTabId,\n\t\ttabbableTabId: nextTabbableTabId,\n\t\tonTabListKeyDown,\n\t\tonTabListBlur,\n\t\tgetTabElementId,\n\t\tgetPanelElementId,\n\t\tgetTabButtonProps,\n\t\tisVisited: (tabId: string) => visitedTabs.has(tabId)\n\t};\n}\n",".tabsContainer {\n\t--tabs-border: var(--border);\n\t--tabs-panel-padding: var(--space-md);\n\n\tdisplay: grid;\n\tmin-width: 0;\n\tmin-height: 0;\n\theight: 100%;\n\toverflow: hidden;\n\n\t&.clean {\n\t\t--tabs-border: none;\n\t\t--tabs-panel-padding: 0;\n\t}\n}\n\n.tabs {\n\tdisplay: flex;\n\tmin-width: 0;\n\n\tborder: var(--tabs-border);\n\tbackground-color: var(--surface-1);\n}\n\n.panels {\n\tmin-width: 0;\n\tmin-height: 0;\n\tborder: var(--tabs-border);\n}\n\n.horizontal {\n\tgrid-template-rows: auto minmax(0, 1fr);\n\n\t.tabs {\n\t\tpadding: var(--space-sm);\n\n\t\tborder-top-left-radius: var(--radius-sm);\n\t\tborder-top-right-radius: var(--radius-sm);\n\t}\n\n\t.panels {\n\t\tborder-top: none;\n\n\t\tborder-bottom-left-radius: var(--radius-sm);\n\t\tborder-bottom-right-radius: var(--radius-sm);\n\t}\n\n\t.tab {\n\t\t&::before {\n\t\t\tcontent: \"\";\n\t\t\tposition: absolute;\n\t\t\tbottom: 0;\n\t\t\tleft: 0;\n\t\t\tright: 0;\n\t\t\tborder-bottom: var(--focus-width) solid var(--decoration-color);\n\t\t}\n\t}\n}\n\n.vertical {\n\tgrid-template-columns: 10em minmax(0, 1fr);\n\tmin-height: 0;\n\n\t.tabs {\n\t\tflex-direction: column;\n\n\t\tborder-top-left-radius: var(--radius-sm);\n\t\tborder-bottom-left-radius: var(--radius-sm);\n\t}\n\n\t.panels {\n\t\tborder-left: none;\n\n\t\tborder-top-right-radius: var(--radius-sm);\n\t\tborder-bottom-right-radius: var(--radius-sm);\n\t}\n\n\t// .tab {\n\t// \t&::before {\n\t// \t\tcontent: \"\";\n\t// \t\tposition: absolute;\n\t// \t\ttop: 0;\n\t// \t\tbottom: 0;\n\t// \t\tright: 0;\n\t// \t\tborder-right: var(--focus-width) solid var(--decoration-color);\n\t// \t}\n\t// }\n}\n\n.panelScrollable {\n\toverflow: auto;\n}\n\n.tab {\n\t--decoration-color: transparent;\n\n\ttext-align: left;\n\n\tposition: relative;\n\tmin-height: var(--control-height);\n\tpadding: var(--space-xs) var(--space-md);\n\tcolor: var(--content-1);\n\tborder-radius: var(--radius-sm);\n\tfont-weight: 700;\n\tfont-variation-settings: \"wght\" 700;\n\n\tflex-shrink: 0;\n\n\t&:hover {\n\t\tcursor: pointer;\n\t\tcolor: var(--accent-text);\n\t\t// background-color: var(--accent-fill);\n\t\t--decoration-color: var(--accent-border);\n\t}\n\n\t&.selected {\n\t\tcolor: var(--brand-text);\n\t\t// color: var(--content-0);\n\t\t// background-color: var(--brand-fill);\n\t\t--decoration-color: var(--brand-border);\n\t}\n\n\t&:disabled {\n\t\tcursor: not-allowed;\n\t\tcolor: var(--content-2);\n\t\tbackground-color: var(--surface-2);\n\t}\n}\n\n.panel {\n\tpadding: 0;\n\tmin-width: 0;\n\tmin-height: 0;\n\theight: 100%;\n}\n\n.panelBody {\n\tmin-width: 0;\n\tmin-height: 0;\n\n\theight: 100%;\n\tpadding: var(--tabs-panel-padding);\n}\n\n.layoutPanels {\n\toverflow: hidden;\n}\n\n.layoutPanel {\n\tdisplay: grid;\n\tgap: var(--space-md);\n\tmin-width: 0;\n\tmin-height: 0;\n\theight: 100%;\n\tpadding: var(--tabs-panel-padding);\n}\n\n.layoutSection {\n\tmin-width: 0;\n}\n\n.layoutContent {\n\tmin-height: 0;\n}\n","import { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport { LoadingMessage } from \"../../misc\";\n\nimport styles from \"./Tabs.module.scss\";\n\ninterface TabsLoadingStateProps {\n\tcontainerClassName: string;\n\ttabListClassName: string;\n\tpanelsClassName: string;\n\tpanelClassName: string;\n\tpanelBodyClassName: string;\n\tloadingText?: string;\n}\n\n/**\n * Служебное loading-состояние для `TabsBox`.\n */\nexport function TabsLoadingState({\n\tcontainerClassName,\n\ttabListClassName,\n\tpanelsClassName,\n\tpanelClassName,\n\tpanelBodyClassName,\n\tloadingText\n}: TabsLoadingStateProps) {\n\treturn (\n\t\t<div className={containerClassName}>\n\t\t\t<div className={tabListClassName} aria-hidden=\"true\">\n\t\t\t\t<button type=\"button\" disabled data-disabled=\"\" className={cn(styles.tab, \"skeletonLine\")}>\n\t\t\t\t\tЗагрузка...\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t<div className={panelsClassName} aria-busy=\"true\">\n\t\t\t\t<div className={panelClassName}>\n\t\t\t\t\t<div className={panelBodyClassName}>\n\t\t\t\t\t\t<LoadingMessage text={loadingText} className=\"radiusSm\" />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n","import { NoData } from \"../../misc\";\n\ninterface TabsNoDataStateProps {\n\tcontainerClassName: string;\n\tpanelsClassName: string;\n\tpanelClassName: string;\n\tpanelBodyClassName: string;\n}\n\n/**\n * Служебное empty-состояние для `TabsBox`.\n */\nexport function TabsNoDataState({ containerClassName, panelsClassName, panelClassName, panelBodyClassName }: TabsNoDataStateProps) {\n\treturn (\n\t\t<div className={containerClassName}>\n\t\t\t<div className={panelsClassName}>\n\t\t\t\t<div className={panelClassName}>\n\t\t\t\t\t<div className={panelBodyClassName}>\n\t\t\t\t\t\t<NoData className=\"radiusSm\" />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n","import { type ReactNode } from \"react\";\n\n/**\n * Унифицированная ARIA-обёртка для содержимого активной панели tabs.\n */\ninterface TabsPanelProps {\n\ttabId: string;\n\tisSelected: boolean;\n\tclassName?: string;\n\tgetTabElementId: (tabId: string) => string;\n\tgetPanelElementId: (tabId: string) => string;\n\tchildren?: ReactNode;\n}\n\nexport function TabsPanel({ tabId, isSelected, className, getTabElementId, getPanelElementId, children }: TabsPanelProps) {\n\treturn (\n\t\t<div\n\t\t\trole=\"tabpanel\"\n\t\t\tid={getPanelElementId(tabId)}\n\t\t\taria-labelledby={getTabElementId(tabId)}\n\t\t\thidden={!isSelected}\n\t\t\ttabIndex={isSelected ? 0 : -1}\n\t\t\tclassName={className}>\n\t\t\t{children}\n\t\t</div>\n\t);\n}\n","import { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport { OneStepScroller } from \"../../misc\";\nimport { type TabsDescriptor } from \"../model/types\";\nimport { type TabsStateModel } from \"../model/useTabsState\";\n\nimport styles from \"./Tabs.module.scss\";\n\n/**\n * Рендерит tablist и кнопки вкладок поверх общей модели tabs.\n */\ninterface TabsTabListProps {\n\titems: TabsDescriptor[];\n\tstate: TabsStateModel;\n\tclassName?: string;\n\tariaLabel?: string;\n\tariaLabelledBy?: string;\n}\n\nexport function TabsTabList({ items, state, className, ariaLabel, ariaLabelledBy }: TabsTabListProps) {\n\tconst tabList = (\n\t\t<div\n\t\t\tdata-ui=\"tabs-tablist\"\n\t\t\tclassName={className}\n\t\t\trole=\"tablist\"\n\t\t\taria-orientation={state.orientation}\n\t\t\taria-label={ariaLabelledBy ? undefined : (ariaLabel ?? \"Вкладки\")}\n\t\t\taria-labelledby={ariaLabelledBy}\n\t\t\taria-live=\"off\"\n\t\t\tonKeyDown={state.onTabListKeyDown}\n\t\t\tonBlur={state.onTabListBlur}>\n\t\t\t{items.map((item) => (\n\t\t\t\t<button\n\t\t\t\t\tkey={item.id}\n\t\t\t\t\t{...state.getTabButtonProps(item)}\n\t\t\t\t\tdata-ui=\"tabs-tab\"\n\t\t\t\t\tdata-action=\"select-tab\"\n\t\t\t\t\tclassName={cn(styles.tab, \"textWrap\", item.id === state.selectedTabId && styles.selected)}>\n\t\t\t\t\t{item.title}\n\t\t\t\t</button>\n\t\t\t))}\n\t\t</div>\n\t);\n\n\tif (state.orientation === \"horizontal\") {\n\t\treturn <OneStepScroller itemSelector=\"[role='tab']\">{tabList}</OneStepScroller>;\n\t}\n\n\treturn tabList;\n}\n","import { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport uiStyles from \"../../ui.module.scss\";\nimport { getUiPanelToneClassName } from \"../../uiClasses\";\nimport { shouldMountTabPanel } from \"../lib/tabs\";\nimport { type TabsBoxProps } from \"../model/types\";\nimport { useTabsState } from \"../model/useTabsState\";\n\nimport styles from \"./Tabs.module.scss\";\nimport { TabsLoadingState } from \"./TabsLoadingState\";\nimport { TabsNoDataState } from \"./TabsNoDataState\";\nimport { TabsPanel } from \"./TabsPanel\";\nimport { TabsTabList } from \"./TabsTabList\";\n\n/**\n * Простой items-based tabs-компонент.\n * Сам управляет областью панели и её прокруткой.\n */\nexport function TabsBox({\n\titems,\n\tvalue,\n\tdefaultValue,\n\tonValueChange,\n\tclassName,\n\tisLoading,\n\tloadingText,\n\torientation = \"horizontal\",\n\tactivationMode = \"automatic\",\n\tmountStrategy = \"unmount\",\n\tloop = true,\n\ttone = \"primary\",\n\tclean = false,\n\t\"aria-label\": ariaLabel,\n\t\"aria-labelledby\": ariaLabelledBy\n}: TabsBoxProps) {\n\tconst state = useTabsState({\n\t\titems,\n\t\tvalue,\n\t\tdefaultValue,\n\t\tonValueChange,\n\t\torientation,\n\t\tactivationMode,\n\t\tloop\n\t});\n\n\tconst rootClassName = cn(\n\t\tstyles.tabsContainer,\n\t\tclean ? styles.clean : uiStyles.uiFilledPanel,\n\t\tstyles[orientation],\n\t\tgetUiPanelToneClassName(tone),\n\t\tclassName\n\t);\n\tconst tabListClassName = styles.tabs;\n\tconst panelsClassName = cn(styles.panels, styles.panelScrollable, \"scrollable overscroll\");\n\tconst panelClassName = styles.panel;\n\tconst panelBodyClassName = styles.panelBody;\n\n\tif (isLoading) {\n\t\treturn (\n\t\t\t<TabsLoadingState\n\t\t\t\tcontainerClassName={rootClassName}\n\t\t\t\ttabListClassName={tabListClassName}\n\t\t\t\tpanelsClassName={panelsClassName}\n\t\t\t\tpanelClassName={panelClassName}\n\t\t\t\tpanelBodyClassName={panelBodyClassName}\n\t\t\t\tloadingText={loadingText}\n\t\t\t/>\n\t\t);\n\t}\n\n\tif (!items.length) {\n\t\treturn (\n\t\t\t<TabsNoDataState\n\t\t\t\tcontainerClassName={rootClassName}\n\t\t\t\tpanelsClassName={panelsClassName}\n\t\t\t\tpanelClassName={panelClassName}\n\t\t\t\tpanelBodyClassName={panelBodyClassName}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className={rootClassName}>\n\t\t\t<TabsTabList items={items} state={state} className={tabListClassName} ariaLabel={ariaLabel} ariaLabelledBy={ariaLabelledBy} />\n\n\t\t\t<div className={panelsClassName}>\n\t\t\t\t{items.map((item) => {\n\t\t\t\t\tconst isSelected = item.id === state.selectedTabId;\n\t\t\t\t\tconst isMounted = shouldMountTabPanel({\n\t\t\t\t\t\tmountStrategy,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisVisited: state.isVisited(item.id)\n\t\t\t\t\t});\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<TabsPanel\n\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\ttabId={item.id}\n\t\t\t\t\t\t\tisSelected={isSelected}\n\t\t\t\t\t\t\tclassName={panelClassName}\n\t\t\t\t\t\t\tgetTabElementId={state.getTabElementId}\n\t\t\t\t\t\t\tgetPanelElementId={state.getPanelElementId}>\n\t\t\t\t\t\t\t{isMounted ? <div className={panelBodyClassName}>{item.content}</div> : null}\n\t\t\t\t\t\t</TabsPanel>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n","import React, { Children, isValidElement, useMemo } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport uiStyles from \"../../ui.module.scss\";\nimport { getUiPanelToneClassName } from \"../../uiClasses\";\nimport { shouldMountTabPanel } from \"../lib/tabs\";\nimport { useTabsState } from \"../model/useTabsState\";\n\nimport styles from \"./Tabs.module.scss\";\nimport { TabsPanel } from \"./TabsPanel\";\nimport { TabsTabList } from \"./TabsTabList\";\n\nimport type { TabsDescriptor, TabsLayoutProps, TabsLayoutSectionProps, TabsLayoutTabProps } from \"../model/types\";\n\ninterface ParsedTabsLayoutTab extends TabsDescriptor {\n\ttoolbar: TabsLayoutSectionProps | null;\n\tcontent: TabsLayoutSectionProps;\n\tfooter: TabsLayoutSectionProps | null;\n}\n\nconst tabsLayoutTabDisplayName = \"TabsLayout.Tab\";\nconst tabsLayoutToolbarDisplayName = \"TabsLayout.Toolbar\";\nconst tabsLayoutContentDisplayName = \"TabsLayout.Content\";\nconst tabsLayoutFooterDisplayName = \"TabsLayout.Footer\";\n\n/**\n * Возвращает стабильный displayName compound-элемента.\n * Это нужно для корректной работы HMR, где ссылочное сравнение `child.type` может ломаться.\n */\nfunction getTabsLayoutElementDisplayName(child: React.ReactElement) {\n\tconst { type } = child;\n\n\tif (typeof type === \"function\") {\n\t\tconst componentType = type as React.JSXElementConstructor<unknown> & {\n\t\t\tdisplayName?: string;\n\t\t\tname?: string;\n\t\t};\n\n\t\treturn componentType.displayName ?? componentType.name ?? null;\n\t}\n\n\tif (typeof type === \"object\" && type !== null && \"displayName\" in type) {\n\t\tconst componentType = type as {\n\t\t\tdisplayName?: string;\n\t\t};\n\n\t\treturn typeof componentType.displayName === \"string\" ? componentType.displayName : null;\n\t}\n\n\treturn null;\n}\n\nfunction isTabsLayoutElement<Props>(child: React.ReactNode, displayName: string): child is React.ReactElement<Props> {\n\treturn isValidElement<Props>(child) && getTabsLayoutElementDisplayName(child) === displayName;\n}\n\n/**\n * Маркер верхнеуровневой вкладки в compound-режиме `TabsLayout`.\n */\nfunction TabsLayoutTab({ children }: TabsLayoutTabProps) {\n\treturn <>{children}</>;\n}\n\nTabsLayoutTab.displayName = tabsLayoutTabDisplayName;\n\n/**\n * Верхняя секция панели, исключённая из прокручиваемого содержимого.\n */\nfunction TabsLayoutToolbar({ children }: TabsLayoutSectionProps) {\n\treturn <>{children}</>;\n}\n\nTabsLayoutToolbar.displayName = tabsLayoutToolbarDisplayName;\n\n/**\n * Основное содержимое панели, которое само управляет своим layout и scroll.\n */\nfunction TabsLayoutContent({ children }: TabsLayoutSectionProps) {\n\treturn <>{children}</>;\n}\n\nTabsLayoutContent.displayName = tabsLayoutContentDisplayName;\n\n/**\n * Нижняя секция панели, исключённая из прокручиваемого содержимого.\n */\nfunction TabsLayoutFooter({ children }: TabsLayoutSectionProps) {\n\treturn <>{children}</>;\n}\n\nTabsLayoutFooter.displayName = tabsLayoutFooterDisplayName;\n\nfunction parseTabsLayoutSections(children: React.ReactNode, tabId: string) {\n\tlet toolbar: TabsLayoutSectionProps | null = null;\n\tlet content: TabsLayoutSectionProps | null = null;\n\tlet footer: TabsLayoutSectionProps | null = null;\n\n\tfor (const child of Children.toArray(children)) {\n\t\tif (!isValidElement(child)) {\n\t\t\tthrow new Error(\n\t\t\t\t`TabsLayout.Tab \"${tabId}\" поддерживает только дочерние элементы TabsLayout.Toolbar, TabsLayout.Content и TabsLayout.Footer.`\n\t\t\t);\n\t\t}\n\n\t\tif (isTabsLayoutElement<TabsLayoutSectionProps>(child, tabsLayoutToolbarDisplayName)) {\n\t\t\tif (toolbar) {\n\t\t\t\tthrow new Error(`TabsLayout.Tab \"${tabId}\" содержит более одного блока TabsLayout.Toolbar.`);\n\t\t\t}\n\n\t\t\ttoolbar = child.props;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (isTabsLayoutElement<TabsLayoutSectionProps>(child, tabsLayoutContentDisplayName)) {\n\t\t\tif (content) {\n\t\t\t\tthrow new Error(`TabsLayout.Tab \"${tabId}\" содержит более одного блока TabsLayout.Content.`);\n\t\t\t}\n\n\t\t\tcontent = child.props;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (isTabsLayoutElement<TabsLayoutSectionProps>(child, tabsLayoutFooterDisplayName)) {\n\t\t\tif (footer) {\n\t\t\t\tthrow new Error(`TabsLayout.Tab \"${tabId}\" содержит более одного блока TabsLayout.Footer.`);\n\t\t\t}\n\n\t\t\tfooter = child.props;\n\t\t\tcontinue;\n\t\t}\n\n\t\tthrow new Error(\n\t\t\t`TabsLayout.Tab \"${tabId}\" поддерживает только дочерние элементы TabsLayout.Toolbar, TabsLayout.Content и TabsLayout.Footer.`\n\t\t);\n\t}\n\n\tif (!content) {\n\t\tthrow new Error(`TabsLayout.Tab \"${tabId}\" должен содержать блок TabsLayout.Content.`);\n\t}\n\n\treturn { toolbar, content, footer };\n}\n\nfunction parseTabsLayoutChildren(children: React.ReactNode): ParsedTabsLayoutTab[] {\n\treturn Children.toArray(children).map((child) => {\n\t\tif (!isTabsLayoutElement<TabsLayoutTabProps>(child, tabsLayoutTabDisplayName)) {\n\t\t\tthrow new Error(\"TabsLayout принимает только дочерние элементы TabsLayout.Tab.\");\n\t\t}\n\n\t\treturn {\n\t\t\tid: child.props.id,\n\t\t\ttitle: child.props.title,\n\t\t\tdisabled: child.props.disabled,\n\t\t\t...parseTabsLayoutSections(child.props.children, child.props.id)\n\t\t};\n\t});\n}\n\n/**\n * Compound-оболочка tabs для составных panel-layout сценариев.\n * Сам компонент управляет только переключением и каркасом панели.\n */\nexport function TabsLayout({\n\tchildren,\n\tvalue,\n\tdefaultValue,\n\tonValueChange,\n\tclassName,\n\torientation = \"horizontal\",\n\tactivationMode = \"manual\",\n\tmountStrategy = \"lazy\",\n\tloop = true,\n\ttone = \"primary\",\n\tclean = false,\n\t\"aria-label\": ariaLabel,\n\t\"aria-labelledby\": ariaLabelledBy\n}: TabsLayoutProps) {\n\tconst tabs = useMemo(() => parseTabsLayoutChildren(children), [children]);\n\tconst state = useTabsState({\n\t\titems: tabs,\n\t\tvalue,\n\t\tdefaultValue,\n\t\tonValueChange,\n\t\torientation,\n\t\tactivationMode,\n\t\tloop\n\t});\n\tconst rootClassName = cn(\n\t\tstyles.tabsContainer,\n\t\tclean ? styles.clean : uiStyles.uiFilledPanel,\n\t\tstyles[orientation],\n\t\tgetUiPanelToneClassName(tone),\n\t\tclassName\n\t);\n\tconst panelsClassName = cn(styles.panels, styles.layoutPanels);\n\n\treturn (\n\t\t<div className={rootClassName}>\n\t\t\t<TabsTabList items={tabs} state={state} className={styles.tabs} ariaLabel={ariaLabel} ariaLabelledBy={ariaLabelledBy} />\n\n\t\t\t<div className={panelsClassName}>\n\t\t\t\t{tabs.map((tab) => {\n\t\t\t\t\tconst isSelected = tab.id === state.selectedTabId;\n\t\t\t\t\tconst isMounted = shouldMountTabPanel({\n\t\t\t\t\t\tmountStrategy,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisVisited: state.isVisited(tab.id)\n\t\t\t\t\t});\n\n\t\t\t\t\tconst templateRows = `${tab.toolbar ? \"auto \" : \"\"}minmax(0, 1fr)${tab.footer ? \" auto\" : \"\"}`;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<TabsPanel\n\t\t\t\t\t\t\tkey={tab.id}\n\t\t\t\t\t\t\ttabId={tab.id}\n\t\t\t\t\t\t\tisSelected={isSelected}\n\t\t\t\t\t\t\tclassName={styles.panel}\n\t\t\t\t\t\t\tgetTabElementId={state.getTabElementId}\n\t\t\t\t\t\t\tgetPanelElementId={state.getPanelElementId}>\n\t\t\t\t\t\t\t{isMounted ? (\n\t\t\t\t\t\t\t\t<div className={styles.layoutPanel} style={{ gridTemplateRows: templateRows }}>\n\t\t\t\t\t\t\t\t\t{tab.toolbar ? (\n\t\t\t\t\t\t\t\t\t\t<div className={cn(styles.layoutSection, tab.toolbar.className)}>{tab.toolbar.children}</div>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t<div className={cn(styles.layoutSection, styles.layoutContent, tab.content.className)}>\n\t\t\t\t\t\t\t\t\t\t{tab.content.children}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t{tab.footer ? (\n\t\t\t\t\t\t\t\t\t\t<div className={cn(styles.layoutSection, tab.footer.className)}>{tab.footer.children}</div>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</TabsPanel>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nTabsLayout.Tab = TabsLayoutTab;\nTabsLayout.Toolbar = TabsLayoutToolbar;\nTabsLayout.Content = TabsLayoutContent;\nTabsLayout.Footer = TabsLayoutFooter;\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { TabsBoxProps } from "../model/types";
1
+ import { type TabsBoxProps } from "../model/types";
2
2
  /**
3
3
  * Простой items-based tabs-компонент.
4
4
  * Сам управляет областью панели и её прокруткой.
@@ -1 +1 @@
1
- {"version":3,"file":"TabsBox.d.ts","sourceRoot":"","sources":["../../../src/tabs/ui/TabsBox.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAS9C;;;GAGG;AACH,wBAAgB,OAAO,CAAC,EACvB,KAAK,EACL,KAAK,EACL,YAAY,EACZ,aAAa,EACb,SAAS,EACT,SAAS,EACT,WAAW,EACX,WAA0B,EAC1B,cAA4B,EAC5B,aAAyB,EACzB,IAAW,EACX,IAAgB,EAChB,KAAa,EACb,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,EACjC,EAAE,YAAY,+BA+Ed"}
1
+ {"version":3,"file":"TabsBox.d.ts","sourceRoot":"","sources":["../../../src/tabs/ui/TabsBox.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AASnD;;;GAGG;AACH,wBAAgB,OAAO,CAAC,EACvB,KAAK,EACL,KAAK,EACL,YAAY,EACZ,aAAa,EACb,SAAS,EACT,SAAS,EACT,WAAW,EACX,WAA0B,EAC1B,cAA4B,EAC5B,aAAyB,EACzB,IAAW,EACX,IAAgB,EAChB,KAAa,EACb,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,EACjC,EAAE,YAAY,+BA2Ed"}
@@ -28,12 +28,16 @@ declare function TabsLayoutFooter({ children }: TabsLayoutSectionProps): React.J
28
28
  declare namespace TabsLayoutFooter {
29
29
  var displayName: string;
30
30
  }
31
- type TabsLayoutComposition = React.FC<TabsLayoutProps> & {
32
- Tab: typeof TabsLayoutTab;
33
- Toolbar: typeof TabsLayoutToolbar;
34
- Content: typeof TabsLayoutContent;
35
- Footer: typeof TabsLayoutFooter;
36
- };
37
- export declare const TabsLayout: TabsLayoutComposition;
31
+ /**
32
+ * Compound-оболочка tabs для составных panel-layout сценариев.
33
+ * Сам компонент управляет только переключением и каркасом панели.
34
+ */
35
+ export declare function TabsLayout({ children, value, defaultValue, onValueChange, className, orientation, activationMode, mountStrategy, loop, tone, clean, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy }: TabsLayoutProps): React.JSX.Element;
36
+ export declare namespace TabsLayout {
37
+ var Tab: typeof TabsLayoutTab;
38
+ var Toolbar: typeof TabsLayoutToolbar;
39
+ var Content: typeof TabsLayoutContent;
40
+ var Footer: typeof TabsLayoutFooter;
41
+ }
38
42
  export {};
39
43
  //# sourceMappingURL=TabsLayout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabsLayout.d.ts","sourceRoot":"","sources":["../../../src/tabs/ui/TabsLayout.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4C,MAAM,OAAO,CAAC;AAajE,OAAO,KAAK,EAAkB,eAAe,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AA4ClH;;GAEG;AACH,iBAAS,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,kBAAkB,qBAEtD;kBAFQ,aAAa;;;AAMtB;;GAEG;AACH,iBAAS,iBAAiB,CAAC,EAAE,QAAQ,EAAE,EAAE,sBAAsB,qBAE9D;kBAFQ,iBAAiB;;;AAM1B;;GAEG;AACH,iBAAS,iBAAiB,CAAC,EAAE,QAAQ,EAAE,EAAE,sBAAsB,qBAE9D;kBAFQ,iBAAiB;;;AAM1B;;GAEG;AACH,iBAAS,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE,sBAAsB,qBAE7D;kBAFQ,gBAAgB;;;AAwEzB,KAAK,qBAAqB,GAAG,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,GAAG;IACxD,GAAG,EAAE,OAAO,aAAa,CAAC;IAC1B,OAAO,EAAE,OAAO,iBAAiB,CAAC;IAClC,OAAO,EAAE,OAAO,iBAAiB,CAAC;IAClC,MAAM,EAAE,OAAO,gBAAgB,CAAC;CAChC,CAAC;AAwFF,eAAO,MAAM,UAAU,EAKjB,qBAAqB,CAAC"}
1
+ {"version":3,"file":"TabsLayout.d.ts","sourceRoot":"","sources":["../../../src/tabs/ui/TabsLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AAajE,OAAO,KAAK,EAAkB,eAAe,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AA4ClH;;GAEG;AACH,iBAAS,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,kBAAkB,qBAEtD;kBAFQ,aAAa;;;AAMtB;;GAEG;AACH,iBAAS,iBAAiB,CAAC,EAAE,QAAQ,EAAE,EAAE,sBAAsB,qBAE9D;kBAFQ,iBAAiB;;;AAM1B;;GAEG;AACH,iBAAS,iBAAiB,CAAC,EAAE,QAAQ,EAAE,EAAE,sBAAsB,qBAE9D;kBAFQ,iBAAiB;;;AAM1B;;GAEG;AACH,iBAAS,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE,sBAAsB,qBAE7D;kBAFQ,gBAAgB;;;AAwEzB;;;GAGG;AACH,wBAAgB,UAAU,CAAC,EAC1B,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,aAAa,EACb,SAAS,EACT,WAA0B,EAC1B,cAAyB,EACzB,aAAsB,EACtB,IAAW,EACX,IAAgB,EAChB,KAAa,EACb,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,EACjC,EAAE,eAAe,qBA8DjB;yBA5Ee,UAAU"}
@@ -1,4 +1,4 @@
1
- import React from "react";
1
+ import { type ReactNode } from "react";
2
2
  /**
3
3
  * Унифицированная ARIA-обёртка для содержимого активной панели tabs.
4
4
  */
@@ -8,8 +8,8 @@ interface TabsPanelProps {
8
8
  className?: string;
9
9
  getTabElementId: (tabId: string) => string;
10
10
  getPanelElementId: (tabId: string) => string;
11
- children: React.ReactNode;
11
+ children?: ReactNode;
12
12
  }
13
- export declare function TabsPanel({ tabId, isSelected, className, getTabElementId, getPanelElementId, children }: TabsPanelProps): React.JSX.Element;
13
+ export declare function TabsPanel({ tabId, isSelected, className, getTabElementId, getPanelElementId, children }: TabsPanelProps): import("react").JSX.Element;
14
14
  export {};
15
15
  //# sourceMappingURL=TabsPanel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TabsPanel.d.ts","sourceRoot":"","sources":["../../../src/tabs/ui/TabsPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;GAEG;AACH,UAAU,cAAc;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,cAAc,qBAWvH"}
1
+ {"version":3,"file":"TabsPanel.d.ts","sourceRoot":"","sources":["../../../src/tabs/ui/TabsPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AACH,UAAU,cAAc;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7C,QAAQ,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,cAAc,+BAYvH"}
@@ -1,5 +1,5 @@
1
- import type { TabsDescriptor } from "../model/types";
2
- import type { TabsStateModel } from "../model/useTabsState";
1
+ import { type TabsDescriptor } from "../model/types";
2
+ import { type TabsStateModel } from "../model/useTabsState";
3
3
  /**
4
4
  * Рендерит tablist и кнопки вкладок поверх общей модели tabs.
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"TabsTabList.d.ts","sourceRoot":"","sources":["../../../src/tabs/ui/TabsTabList.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;GAEG;AACH,UAAU,gBAAgB;IACzB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,KAAK,EAAE,cAAc,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,gBAAgB,+BAgCnG"}
1
+ {"version":3,"file":"TabsTabList.d.ts","sourceRoot":"","sources":["../../../src/tabs/ui/TabsTabList.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI5D;;GAEG;AACH,UAAU,gBAAgB;IACzB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,KAAK,EAAE,cAAc,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,gBAAgB,+BA8BnG"}
@@ -1,5 +1,5 @@
1
- export declare const HighlightText: ({ text, highlight }: {
1
+ export declare function HighlightText({ text, highlight }: {
2
2
  text: string;
3
3
  highlight?: string;
4
- }) => string | (string | import("react").JSX.Element)[];
4
+ }): string | (string | import("react").JSX.Element)[];
5
5
  //# sourceMappingURL=HighlightText.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HighlightText.d.ts","sourceRoot":"","sources":["../../src/text/HighlightText.tsx"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,GAAI,qBAAqB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,sDAKtF,CAAC"}
1
+ {"version":3,"file":"HighlightText.d.ts","sourceRoot":"","sources":["../../src/text/HighlightText.tsx"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,qDAKtF"}
@@ -1,10 +1,15 @@
1
- import { n as e } from "../chunks/popover-yl5DVe06.js";
1
+ import { n as e } from "../chunks/popover-BJH-yHvb.js";
2
2
  import { cn as t } from "@ryuzaki13/react-foundation-lib/utils";
3
3
  import { jsx as n } from "react/jsx-runtime";
4
4
  import { useMemo as r } from "react";
5
5
  import { normalizeTextWithFallback as i } from "@ryuzaki13/react-foundation-lib/formatters";
6
6
  //#region src/text/HighlightText.tsx
7
- var a = ({ text: e, highlight: t }) => t ? e.split(RegExp(`(${t})`, "gi")).map((e, r) => e.toLowerCase() === t.toLowerCase() ? /* @__PURE__ */ n("mark", { children: e }, r) : e) : e, o = {
7
+ function a({ text: e, highlight: t }) {
8
+ return t ? e.split(RegExp(`(${t})`, "gi")).map((e, r) => e.toLowerCase() === t.toLowerCase() ? /* @__PURE__ */ n("mark", { children: e }, r) : e) : e;
9
+ }
10
+ //#endregion
11
+ //#region src/text/Text.tsx
12
+ var o = {
8
13
  primary: "content0",
9
14
  secondary: "content1",
10
15
  muted: "content2",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/text/HighlightText.tsx","../../src/text/Text.tsx","../../src/text/TextOverflow.tsx"],"sourcesContent":["export const HighlightText = ({ text, highlight }: { text: string; highlight?: string }) => {\n\tif (!highlight) return text;\n\treturn text\n\t\t.split(new RegExp(`(${highlight})`, \"gi\"))\n\t\t.map((part, i) => (part.toLowerCase() === highlight.toLowerCase() ? <mark key={i}>{part}</mark> : part));\n};\n","import React, { AriaRole, CSSProperties, useMemo } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nexport type TextSize = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\nexport type TextColor = \"primary\" | \"secondary\" | \"muted\" | \"error\" | \"warning\" | \"success\" | \"info\" | \"brand\" | \"accent\";\nexport type TextWeight = \"lighter\" | \"light\" | \"regular\" | \"medium\" | \"bold\" | \"bolder\";\nexport type TextWrap = \"wrap\" | \"noWrap\";\n\nconst textColors: Record<TextColor, string> = {\n\tprimary: \"content0\",\n\tsecondary: \"content1\",\n\tmuted: \"content2\",\n\tinfo: \"statusInfo\",\n\tsuccess: \"statusSuccess\",\n\twarning: \"statusWarning\",\n\terror: \"statusError\",\n\tbrand: \"statusBrand\",\n\taccent: \"contentAccent\"\n};\n\nconst textSizes: Record<TextSize, string> = {\n\txs: \"fontSizeXs\",\n\tsm: \"fontSizeSm\",\n\tmd: \"fontSizeMd\",\n\tlg: \"fontSizeLg\",\n\txl: \"fontSizeXl\"\n};\n\nconst textWeights: Record<TextWeight, string> = {\n\tlighter: \"fontLighter\",\n\tlight: \"fontLight\",\n\tregular: \"fontRegular\",\n\tmedium: \"fontMedium\",\n\tbold: \"fontBold\",\n\tbolder: \"fontBolder\"\n};\n\nconst textWraps: Record<TextWrap, string> = {\n\twrap: \"textWrap\",\n\tnoWrap: \"textNoWrap\"\n};\n\ninterface BaseTextProps {\n\tsize?: TextSize;\n\tcolor?: TextColor;\n\tweight?: TextWeight;\n\titalic?: boolean;\n\tuppercase?: boolean;\n\twrap?: TextWrap;\n\tclassName?: string;\n\tstyle?: CSSProperties;\n\trole?: AriaRole;\n}\n\ninterface TextProps extends BaseTextProps {\n\tchildren: React.ReactNode;\n\tas?: \"code\" | \"span\" | \"p\" | \"div\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\n}\n\nfunction useTextStyles({ size, color, weight, italic, uppercase, wrap, className }: BaseTextProps) {\n\treturn useMemo(() => {\n\t\tconst classes: string[] = [];\n\n\t\tif (size) {\n\t\t\tclasses.push(textSizes[size]);\n\t\t}\n\n\t\tif (weight) {\n\t\t\tclasses.push(textWeights[weight]);\n\t\t}\n\n\t\tif (wrap) {\n\t\t\tclasses.push(textWraps[wrap]);\n\t\t}\n\n\t\tif (italic) classes.push(\"fontItalic\");\n\t\tif (uppercase) classes.push(\"textUppercase\");\n\n\t\tif (color) {\n\t\t\tclasses.push(textColors[color]);\n\t\t}\n\n\t\treturn cn(...classes, className);\n\t}, [size, weight, color, italic, uppercase, wrap, className]);\n}\n\nexport function Text({ children, as, style, role, ...props }: TextProps) {\n\tconst classes = useTextStyles(props);\n\tconst Component = as || \"span\";\n\n\treturn (\n\t\t<Component role={role} className={classes} style={style}>\n\t\t\t{children}\n\t\t</Component>\n\t);\n}\n","import { ComponentProps, ComponentType } from \"react\";\n\nimport { Placement } from \"@floating-ui/react\";\nimport { normalizeTextWithFallback } from \"@ryuzaki13/react-foundation-lib/formatters\";\n\nimport { FloatingPopover } from \"../popover\";\n\n// Базовые пропсы которые всегда будут\ninterface BaseTextOverflowProps {\n\tchildren: string;\n\tmaxChar?: number;\n\t/**\n\t * Максимальная ширина тултипа в em.\n\t */\n\tmaxWidth?: number;\n\tplacement?: Placement;\n\tcloseDelay?: number;\n\t/**\n\t * Для работы text-overflow элемент обязан быть блочным или inline-block.\n\t * Если в качестве обёртки передается инлайновый компонент, то он будет\n\t * перезаписан через стили на display: block или inline-block в зависимости\n\t * от установки данного пропса.\n\t */\n\tblock?: true;\n\tstate?: \"information\" | \"error\" | \"warning\" | \"success\" | \"negative\";\n}\n\n// Базовые пропсы которые должен принимать textWrap компонент\ninterface RequiredWrapperProps {\n\tstyle?: React.CSSProperties;\n\tclassName?: string;\n\tchildren: string;\n}\n\n// Дженерик для пропсов которые зависят от textWrap компонента\ninterface TextOverflowProps<\n\tT extends ComponentType<RequiredWrapperProps> = ComponentType<RequiredWrapperProps>\n> extends BaseTextOverflowProps {\n\ttextWrap?: T;\n\ttextWrapProps?: Omit<ComponentProps<T>, \"children\">;\n}\n\nexport function TextOverflow<T extends ComponentType<RequiredWrapperProps>>({\n\tmaxChar,\n\tplacement = \"left\",\n\tcloseDelay = 0,\n\tmaxWidth,\n\tchildren,\n\tblock,\n\tstate,\n\ttextWrap,\n\ttextWrapProps\n}: TextOverflowProps<T>) {\n\tconst textContent = normalizeTextWithFallback(children);\n\tif (!textContent.length || (maxChar && textContent.length < maxChar)) return <span>{textContent}</span>;\n\n\tconst TextWrapper = textWrap ?? \"div\";\n\n\tconst baseWrapperProps = {\n\t\tstyle: { display: block ? \"block\" : \"inline-block\", width: maxChar ? `${maxChar - 3}ch` : \"auto\" },\n\t\tclassName: \"textOverflow\"\n\t};\n\n\t// Правильный порядок слияния: baseWrapperProps приоритетнее\n\tconst mergedProps = {\n\t\t...textWrapProps,\n\t\t...baseWrapperProps,\n\t\tstyle: {\n\t\t\t...textWrapProps?.style,\n\t\t\t...baseWrapperProps.style // width приоритетнее\n\t\t},\n\t\tclassName: [textWrapProps?.className, baseWrapperProps.className].filter(Boolean).join(\" \")\n\t};\n\n\treturn (\n\t\t<FloatingPopover state={state} placement={placement} openOnHover content={textContent} closeDelay={closeDelay} maxWidth={maxWidth}>\n\t\t\t<TextWrapper {...mergedProps}>{textContent}</TextWrapper>\n\t\t</FloatingPopover>\n\t);\n}\n"],"mappings":";;;;;;AAAA,IAAa,KAAiB,EAAE,SAAM,mBAChC,IACE,EACL,MAAU,OAAO,IAAI,EAAU,IAAI,IAAI,CAAC,CAAC,CACzC,KAAK,GAAM,MAAO,EAAK,YAAY,MAAM,EAAU,YAAY,IAAI,kBAAC,QAAD,EAAA,UAAe,EAAW,GAAf,CAAe,IAAI,CAAK,IAHjF,GCQlB,IAAwC;CAC7C,SAAS;CACT,WAAW;CACX,OAAO;CACP,MAAM;CACN,SAAS;CACT,SAAS;CACT,OAAO;CACP,OAAO;CACP,QAAQ;AACT,GAEM,IAAsC;CAC3C,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACL,GAEM,IAA0C;CAC/C,SAAS;CACT,OAAO;CACP,SAAS;CACT,QAAQ;CACR,MAAM;CACN,QAAQ;AACT,GAEM,IAAsC;CAC3C,MAAM;CACN,QAAQ;AACT;AAmBA,SAAS,EAAc,EAAE,SAAM,UAAO,WAAQ,WAAQ,cAAW,SAAM,gBAA4B;CAClG,OAAO,QAAc;EACpB,IAAM,IAAoB,CAAC;EAqB3B,OAnBI,KACH,EAAQ,KAAK,EAAU,EAAK,GAGzB,KACH,EAAQ,KAAK,EAAY,EAAO,GAG7B,KACH,EAAQ,KAAK,EAAU,EAAK,GAGzB,KAAQ,EAAQ,KAAK,YAAY,GACjC,KAAW,EAAQ,KAAK,eAAe,GAEvC,KACH,EAAQ,KAAK,EAAW,EAAM,GAGxB,EAAG,GAAG,GAAS,CAAS;CAChC,GAAG;EAAC;EAAM;EAAQ;EAAO;EAAQ;EAAW;EAAM;CAAS,CAAC;AAC7D;AAEA,SAAgB,EAAK,EAAE,aAAU,OAAI,UAAO,SAAM,GAAG,KAAoB;CACxE,IAAM,IAAU,EAAc,CAAK;CAGnC,OACC,kBAHiB,KAAM,QAGvB;EAAiB;EAAM,WAAW;EAAgB;EAChD;CACS,CAAA;AAEb;;;ACtDA,SAAgB,EAA4D,EAC3E,YACA,eAAY,QACZ,gBAAa,GACb,aACA,aACA,UACA,UACA,aACA,oBACwB;CACxB,IAAM,IAAc,EAA0B,CAAQ;CACtD,IAAI,CAAC,EAAY,UAAW,KAAW,EAAY,SAAS,GAAU,OAAO,kBAAC,QAAD,EAAA,UAAO,EAAkB,CAAA;CAEtG,IAAM,IAAc,KAAY,OAE1B,IAAmB;EACxB,OAAO;GAAE,SAAS,IAAQ,UAAU;GAAgB,OAAO,IAAU,GAAG,IAAU,EAAE,MAAM;EAAO;EACjG,WAAW;CACZ,GAGM,IAAc;EACnB,GAAG;EACH,GAAG;EACH,OAAO;GACN,GAAG,GAAe;GAClB,GAAG,EAAiB;EACrB;EACA,WAAW,CAAC,GAAe,WAAW,EAAiB,SAAS,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;CAC3F;CAEA,OACC,kBAAC,GAAD;EAAwB;EAAkB;EAAW,aAAA;EAAY,SAAS;EAAyB;EAAsB;EACxH,UAAA,kBAAC,GAAD;GAAa,GAAI;GAAc,UAAA;EAAyB,CAAA;CACxC,CAAA;AAEnB"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/text/HighlightText.tsx","../../src/text/Text.tsx","../../src/text/TextOverflow.tsx"],"sourcesContent":["export function HighlightText({ text, highlight }: { text: string; highlight?: string }) {\n\tif (!highlight) return text;\n\treturn text\n\t\t.split(new RegExp(`(${highlight})`, \"gi\"))\n\t\t.map((part, i) => (part.toLowerCase() === highlight.toLowerCase() ? <mark key={i}>{part}</mark> : part));\n}\n","import React, { AriaRole, CSSProperties, useMemo } from \"react\";\n\nimport { cn } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nexport type TextSize = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\nexport type TextColor = \"primary\" | \"secondary\" | \"muted\" | \"error\" | \"warning\" | \"success\" | \"info\" | \"brand\" | \"accent\";\nexport type TextWeight = \"lighter\" | \"light\" | \"regular\" | \"medium\" | \"bold\" | \"bolder\";\nexport type TextWrap = \"wrap\" | \"noWrap\";\n\nconst textColors: Record<TextColor, string> = {\n\tprimary: \"content0\",\n\tsecondary: \"content1\",\n\tmuted: \"content2\",\n\tinfo: \"statusInfo\",\n\tsuccess: \"statusSuccess\",\n\twarning: \"statusWarning\",\n\terror: \"statusError\",\n\tbrand: \"statusBrand\",\n\taccent: \"contentAccent\"\n};\n\nconst textSizes: Record<TextSize, string> = {\n\txs: \"fontSizeXs\",\n\tsm: \"fontSizeSm\",\n\tmd: \"fontSizeMd\",\n\tlg: \"fontSizeLg\",\n\txl: \"fontSizeXl\"\n};\n\nconst textWeights: Record<TextWeight, string> = {\n\tlighter: \"fontLighter\",\n\tlight: \"fontLight\",\n\tregular: \"fontRegular\",\n\tmedium: \"fontMedium\",\n\tbold: \"fontBold\",\n\tbolder: \"fontBolder\"\n};\n\nconst textWraps: Record<TextWrap, string> = {\n\twrap: \"textWrap\",\n\tnoWrap: \"textNoWrap\"\n};\n\ninterface BaseTextProps {\n\tsize?: TextSize;\n\tcolor?: TextColor;\n\tweight?: TextWeight;\n\titalic?: boolean;\n\tuppercase?: boolean;\n\twrap?: TextWrap;\n\tclassName?: string;\n\tstyle?: CSSProperties;\n\trole?: AriaRole;\n}\n\ninterface TextProps extends BaseTextProps {\n\tchildren: React.ReactNode;\n\tas?: \"code\" | \"span\" | \"p\" | \"div\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\n}\n\nfunction useTextStyles({ size, color, weight, italic, uppercase, wrap, className }: BaseTextProps) {\n\treturn useMemo(() => {\n\t\tconst classes: string[] = [];\n\n\t\tif (size) {\n\t\t\tclasses.push(textSizes[size]);\n\t\t}\n\n\t\tif (weight) {\n\t\t\tclasses.push(textWeights[weight]);\n\t\t}\n\n\t\tif (wrap) {\n\t\t\tclasses.push(textWraps[wrap]);\n\t\t}\n\n\t\tif (italic) classes.push(\"fontItalic\");\n\t\tif (uppercase) classes.push(\"textUppercase\");\n\n\t\tif (color) {\n\t\t\tclasses.push(textColors[color]);\n\t\t}\n\n\t\treturn cn(...classes, className);\n\t}, [size, weight, color, italic, uppercase, wrap, className]);\n}\n\nexport function Text({ children, as, style, role, ...props }: TextProps) {\n\tconst classes = useTextStyles(props);\n\tconst Component = as || \"span\";\n\n\treturn (\n\t\t<Component role={role} className={classes} style={style}>\n\t\t\t{children}\n\t\t</Component>\n\t);\n}\n","import { ComponentProps, ComponentType } from \"react\";\n\nimport { Placement } from \"@floating-ui/react\";\nimport { normalizeTextWithFallback } from \"@ryuzaki13/react-foundation-lib/formatters\";\n\nimport { FloatingPopover } from \"../popover\";\n\n// Базовые пропсы которые всегда будут\ninterface BaseTextOverflowProps {\n\tchildren: string;\n\tmaxChar?: number;\n\t/**\n\t * Максимальная ширина тултипа в em.\n\t */\n\tmaxWidth?: number;\n\tplacement?: Placement;\n\tcloseDelay?: number;\n\t/**\n\t * Для работы text-overflow элемент обязан быть блочным или inline-block.\n\t * Если в качестве обёртки передается инлайновый компонент, то он будет\n\t * перезаписан через стили на display: block или inline-block в зависимости\n\t * от установки данного пропса.\n\t */\n\tblock?: true;\n\tstate?: \"information\" | \"error\" | \"warning\" | \"success\" | \"negative\";\n}\n\n// Базовые пропсы которые должен принимать textWrap компонент\ninterface RequiredWrapperProps {\n\tstyle?: React.CSSProperties;\n\tclassName?: string;\n\tchildren: string;\n}\n\n// Дженерик для пропсов которые зависят от textWrap компонента\ninterface TextOverflowProps<\n\tT extends ComponentType<RequiredWrapperProps> = ComponentType<RequiredWrapperProps>\n> extends BaseTextOverflowProps {\n\ttextWrap?: T;\n\ttextWrapProps?: Omit<ComponentProps<T>, \"children\">;\n}\n\nexport function TextOverflow<T extends ComponentType<RequiredWrapperProps>>({\n\tmaxChar,\n\tplacement = \"left\",\n\tcloseDelay = 0,\n\tmaxWidth,\n\tchildren,\n\tblock,\n\tstate,\n\ttextWrap,\n\ttextWrapProps\n}: TextOverflowProps<T>) {\n\tconst textContent = normalizeTextWithFallback(children);\n\tif (!textContent.length || (maxChar && textContent.length < maxChar)) return <span>{textContent}</span>;\n\n\tconst TextWrapper = textWrap ?? \"div\";\n\n\tconst baseWrapperProps = {\n\t\tstyle: { display: block ? \"block\" : \"inline-block\", width: maxChar ? `${maxChar - 3}ch` : \"auto\" },\n\t\tclassName: \"textOverflow\"\n\t};\n\n\t// Правильный порядок слияния: baseWrapperProps приоритетнее\n\tconst mergedProps = {\n\t\t...textWrapProps,\n\t\t...baseWrapperProps,\n\t\tstyle: {\n\t\t\t...textWrapProps?.style,\n\t\t\t...baseWrapperProps.style // width приоритетнее\n\t\t},\n\t\tclassName: [textWrapProps?.className, baseWrapperProps.className].filter(Boolean).join(\" \")\n\t};\n\n\treturn (\n\t\t<FloatingPopover state={state} placement={placement} openOnHover content={textContent} closeDelay={closeDelay} maxWidth={maxWidth}>\n\t\t\t<TextWrapper {...mergedProps}>{textContent}</TextWrapper>\n\t\t</FloatingPopover>\n\t);\n}\n"],"mappings":";;;;;;AAAA,SAAgB,EAAc,EAAE,SAAM,gBAAmD;CAExF,OADK,IACE,EACL,MAAU,OAAO,IAAI,EAAU,IAAI,IAAI,CAAC,CAAC,CACzC,KAAK,GAAM,MAAO,EAAK,YAAY,MAAM,EAAU,YAAY,IAAI,kBAAC,QAAD,EAAA,UAAe,EAAW,GAAf,CAAe,IAAI,CAAK,IAHjF;AAIxB;;;ACIA,IAAM,IAAwC;CAC7C,SAAS;CACT,WAAW;CACX,OAAO;CACP,MAAM;CACN,SAAS;CACT,SAAS;CACT,OAAO;CACP,OAAO;CACP,QAAQ;AACT,GAEM,IAAsC;CAC3C,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACL,GAEM,IAA0C;CAC/C,SAAS;CACT,OAAO;CACP,SAAS;CACT,QAAQ;CACR,MAAM;CACN,QAAQ;AACT,GAEM,IAAsC;CAC3C,MAAM;CACN,QAAQ;AACT;AAmBA,SAAS,EAAc,EAAE,SAAM,UAAO,WAAQ,WAAQ,cAAW,SAAM,gBAA4B;CAClG,OAAO,QAAc;EACpB,IAAM,IAAoB,CAAC;EAqB3B,OAnBI,KACH,EAAQ,KAAK,EAAU,EAAK,GAGzB,KACH,EAAQ,KAAK,EAAY,EAAO,GAG7B,KACH,EAAQ,KAAK,EAAU,EAAK,GAGzB,KAAQ,EAAQ,KAAK,YAAY,GACjC,KAAW,EAAQ,KAAK,eAAe,GAEvC,KACH,EAAQ,KAAK,EAAW,EAAM,GAGxB,EAAG,GAAG,GAAS,CAAS;CAChC,GAAG;EAAC;EAAM;EAAQ;EAAO;EAAQ;EAAW;EAAM;CAAS,CAAC;AAC7D;AAEA,SAAgB,EAAK,EAAE,aAAU,OAAI,UAAO,SAAM,GAAG,KAAoB;CACxE,IAAM,IAAU,EAAc,CAAK;CAGnC,OACC,kBAHiB,KAAM,QAGvB;EAAiB;EAAM,WAAW;EAAgB;EAChD;CACS,CAAA;AAEb;;;ACtDA,SAAgB,EAA4D,EAC3E,YACA,eAAY,QACZ,gBAAa,GACb,aACA,aACA,UACA,UACA,aACA,oBACwB;CACxB,IAAM,IAAc,EAA0B,CAAQ;CACtD,IAAI,CAAC,EAAY,UAAW,KAAW,EAAY,SAAS,GAAU,OAAO,kBAAC,QAAD,EAAA,UAAO,EAAkB,CAAA;CAEtG,IAAM,IAAc,KAAY,OAE1B,IAAmB;EACxB,OAAO;GAAE,SAAS,IAAQ,UAAU;GAAgB,OAAO,IAAU,GAAG,IAAU,EAAE,MAAM;EAAO;EACjG,WAAW;CACZ,GAGM,IAAc;EACnB,GAAG;EACH,GAAG;EACH,OAAO;GACN,GAAG,GAAe;GAClB,GAAG,EAAiB;EACrB;EACA,WAAW,CAAC,GAAe,WAAW,EAAiB,SAAS,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;CAC3F;CAEA,OACC,kBAAC,GAAD;EAAwB;EAAkB;EAAW,aAAA;EAAY,SAAS;EAAyB;EAAsB;EACxH,UAAA,kBAAC,GAAD;GAAa,GAAI;GAAc,UAAA;EAAyB,CAAA;CACxC,CAAA;AAEnB"}
@@ -1,9 +1,9 @@
1
- import { m as e } from "../chunks/misc-CGQOXXCy.js";
1
+ import { m as e } from "../chunks/misc-Cm_LDrUD.js";
2
2
  import { a as t, n, t as r } from "../chunks/types-CxXyru6U.js";
3
3
  import { jsx as i } from "react/jsx-runtime";
4
4
  //#region src/text-editor/TextEditorLexical.tsx
5
5
  function a() {
6
- return import("../chunks/TextEditorLexicalClient-BRp8jHId.js").then((e) => ({ TextEditorLexicalClient: e.TextEditorLexicalClient }));
6
+ return import("../chunks/TextEditorLexicalClient-DrSVnvOe.js").then((e) => ({ TextEditorLexicalClient: e.TextEditorLexicalClient }));
7
7
  }
8
8
  function o(t) {
9
9
  return /* @__PURE__ */ i(e, {
@@ -1,6 +1,12 @@
1
1
  import React, { PropsWithChildren, ReactNode } from "react";
2
- export declare const ToolbarStart: React.FC<PropsWithChildren>;
3
- export declare const ToolbarEnd: React.FC<PropsWithChildren>;
2
+ export declare function ToolbarStart({ children }: PropsWithChildren): React.JSX.Element;
3
+ export declare namespace ToolbarStart {
4
+ var displayName: string;
5
+ }
6
+ export declare function ToolbarEnd({ children }: PropsWithChildren): React.JSX.Element;
7
+ export declare namespace ToolbarEnd {
8
+ var displayName: string;
9
+ }
4
10
  type ToolbarStartElement = React.ReactElement<{
5
11
  children: ReactNode;
6
12
  }, typeof ToolbarStart>;
@@ -1 +1 @@
1
- {"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../src/toolbar/Toolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAY,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOtE,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAqC,CAAC;AAG3F,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAqC,CAAC;AAGzF,KAAK,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAAC;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EAAE,OAAO,YAAY,CAAC,CAAC;AAC5F,KAAK,iBAAiB,GAAG,KAAK,CAAC,YAAY,CAAC;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EAAE,OAAO,UAAU,CAAC,CAAC;AAExF,KAAK,eAAe,GAAG,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;AAE1G,UAAU,YAAY;IACrB,QAAQ,EAAE,eAAe,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,OAAO,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,YAAY,qBAgD5D"}
1
+ {"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../src/toolbar/Toolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAY,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOtE,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,qBAE3D;yBAFe,YAAY;;;AAK5B,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,qBAEzD;yBAFe,UAAU;;;AAK1B,KAAK,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAAC;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EAAE,OAAO,YAAY,CAAC,CAAC;AAC5F,KAAK,iBAAiB,GAAG,KAAK,CAAC,YAAY,CAAC;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EAAE,OAAO,UAAU,CAAC,CAAC;AAExF,KAAK,eAAe,GAAG,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;AAE1G,UAAU,YAAY;IACrB,QAAQ,EAAE,eAAe,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,OAAO,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,YAAY,qBAgD5D"}
@@ -1,12 +1,16 @@
1
- import { r as e, t } from "../chunks/flex-DtXK7OM4.js";
2
- import { t as n } from "../chunks/grid-dI94AAbi.js";
1
+ import { r as e, t } from "../chunks/flex-D86M_h-0.js";
2
+ import { t as n } from "../chunks/grid-CFuzBigM.js";
3
3
  import { childrenCount as r } from "@ryuzaki13/react-foundation-lib/utils";
4
4
  import { Fragment as i, jsx as a, jsxs as o } from "react/jsx-runtime";
5
5
  import { Children as s } from "react";
6
6
  //#region src/toolbar/Toolbar.tsx
7
- var c = ({ children: e }) => /* @__PURE__ */ a(i, { children: e });
7
+ function c({ children: e }) {
8
+ return /* @__PURE__ */ a(i, { children: e });
9
+ }
8
10
  c.displayName = "Toolbar.Start";
9
- var l = ({ children: e }) => /* @__PURE__ */ a(i, { children: e });
11
+ function l({ children: e }) {
12
+ return /* @__PURE__ */ a(i, { children: e });
13
+ }
10
14
  l.displayName = "Toolbar.End";
11
15
  function u({ children: i, className: u }) {
12
16
  let d = null, f = null, p = s.toArray(i);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/toolbar/Toolbar.tsx"],"sourcesContent":["import React, { Children, PropsWithChildren, ReactNode } from \"react\";\n\nimport { childrenCount } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport { Flex, FlexSpacer } from \"../flex\";\nimport { Grid } from \"../grid\";\n\nexport const ToolbarStart: React.FC<PropsWithChildren> = ({ children }) => <>{children}</>;\nToolbarStart.displayName = \"Toolbar.Start\";\n\nexport const ToolbarEnd: React.FC<PropsWithChildren> = ({ children }) => <>{children}</>;\nToolbarEnd.displayName = \"Toolbar.End\";\n\ntype ToolbarStartElement = React.ReactElement<{ children: ReactNode }, typeof ToolbarStart>;\ntype ToolbarEndElement = React.ReactElement<{ children: ReactNode }, typeof ToolbarEnd>;\n\ntype ToolbarChildren = [ToolbarStartElement, ToolbarEndElement] | ToolbarStartElement | ToolbarEndElement;\n\ninterface ToolbarProps {\n\tchildren: ToolbarChildren;\n\tclassName?: string;\n}\n\nexport function Toolbar({ children, className }: ToolbarProps) {\n\tlet toolbarStart: ReactNode = null;\n\tlet toolbarEnd: ReactNode = null;\n\n\tconst childArray = Children.toArray(children) as (ToolbarStartElement | ToolbarEndElement)[];\n\n\tfor (const child of childArray) {\n\t\tconst typeName = child.type.displayName;\n\n\t\tswitch (typeName) {\n\t\t\tcase ToolbarStart.displayName:\n\t\t\t\tif (toolbarStart) throw new Error(\"Toolbar: duplicate <ToolbarStart> found\");\n\t\t\t\ttoolbarStart = child.props.children;\n\t\t\t\tbreak;\n\t\t\tcase ToolbarEnd.displayName:\n\t\t\t\tif (toolbarEnd) throw new Error(\"Toolbar: duplicate <ToolbarEnd> found\");\n\t\t\t\ttoolbarEnd = child.props.children;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn (\n\t\t<Flex.Container wrap align=\"center\" gap=\"md\" className={className}>\n\t\t\t{toolbarStart && (\n\t\t\t\t<Flex.Item flex0>\n\t\t\t\t\t<Grid.Container\n\t\t\t\t\t\ttemplateColumns={`repeat(${childrenCount(toolbarStart)}, calc(15em + var(--width-add)))`}\n\t\t\t\t\t\talign=\"end\"\n\t\t\t\t\t\tgap=\"sm\">\n\t\t\t\t\t\t{toolbarStart}\n\t\t\t\t\t</Grid.Container>\n\t\t\t\t</Flex.Item>\n\t\t\t)}\n\n\t\t\t<FlexSpacer />\n\n\t\t\t{toolbarEnd && (\n\t\t\t\t<Flex.Item flex0>\n\t\t\t\t\t<Grid.Container\n\t\t\t\t\t\ttemplateColumns={`repeat(${childrenCount(toolbarEnd)}, calc(15em + var(--width-add)))`}\n\t\t\t\t\t\talign=\"end\"\n\t\t\t\t\t\tgap=\"sm\">\n\t\t\t\t\t\t{toolbarEnd}\n\t\t\t\t\t</Grid.Container>\n\t\t\t\t</Flex.Item>\n\t\t\t)}\n\t\t</Flex.Container>\n\t);\n}\n"],"mappings":";;;;;;AAOA,IAAa,KAA6C,EAAE,kBAAe,kBAAA,GAAA,EAAG,YAAW,CAAA;AACzF,EAAa,cAAc;AAE3B,IAAa,KAA2C,EAAE,kBAAe,kBAAA,GAAA,EAAG,YAAW,CAAA;AACvF,EAAW,cAAc;AAYzB,SAAgB,EAAQ,EAAE,aAAU,gBAA2B;CAC9D,IAAI,IAA0B,MAC1B,IAAwB,MAEtB,IAAa,EAAS,QAAQ,CAAQ;CAE5C,KAAK,IAAM,KAAS,GAGnB,QAFiB,EAAM,KAAK,aAE5B;EACC,KAAK,EAAa;GACjB,IAAI,GAAc,MAAU,MAAM,yCAAyC;GAC3E,IAAe,EAAM,MAAM;GAC3B;EACD,KAAK,EAAW;GACf,IAAI,GAAY,MAAU,MAAM,uCAAuC;GACvE,IAAa,EAAM,MAAM;CAE3B;CAGD,OACC,kBAAC,EAAK,WAAN;EAAgB,MAAA;EAAK,OAAM;EAAS,KAAI;EAAgB;EAAxD,UAAA;GACE,KACA,kBAAC,EAAK,MAAN;IAAW,OAAA;IACV,UAAA,kBAAC,EAAK,WAAN;KACC,iBAAiB,UAAU,EAAc,CAAY,EAAE;KACvD,OAAM;KACN,KAAI;KACH,UAAA;IACc,CAAA;GACN,CAAA;GAGZ,kBAAC,GAAD,CAAa,CAAA;GAEZ,KACA,kBAAC,EAAK,MAAN;IAAW,OAAA;IACV,UAAA,kBAAC,EAAK,WAAN;KACC,iBAAiB,UAAU,EAAc,CAAU,EAAE;KACrD,OAAM;KACN,KAAI;KACH,UAAA;IACc,CAAA;GACN,CAAA;EAEG;;AAElB"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/toolbar/Toolbar.tsx"],"sourcesContent":["import React, { Children, PropsWithChildren, ReactNode } from \"react\";\n\nimport { childrenCount } from \"@ryuzaki13/react-foundation-lib/utils\";\n\nimport { Flex, FlexSpacer } from \"../flex\";\nimport { Grid } from \"../grid\";\n\nexport function ToolbarStart({ children }: PropsWithChildren) {\n\treturn <>{children}</>;\n}\nToolbarStart.displayName = \"Toolbar.Start\";\n\nexport function ToolbarEnd({ children }: PropsWithChildren) {\n\treturn <>{children}</>;\n}\nToolbarEnd.displayName = \"Toolbar.End\";\n\ntype ToolbarStartElement = React.ReactElement<{ children: ReactNode }, typeof ToolbarStart>;\ntype ToolbarEndElement = React.ReactElement<{ children: ReactNode }, typeof ToolbarEnd>;\n\ntype ToolbarChildren = [ToolbarStartElement, ToolbarEndElement] | ToolbarStartElement | ToolbarEndElement;\n\ninterface ToolbarProps {\n\tchildren: ToolbarChildren;\n\tclassName?: string;\n}\n\nexport function Toolbar({ children, className }: ToolbarProps) {\n\tlet toolbarStart: ReactNode = null;\n\tlet toolbarEnd: ReactNode = null;\n\n\tconst childArray = Children.toArray(children) as (ToolbarStartElement | ToolbarEndElement)[];\n\n\tfor (const child of childArray) {\n\t\tconst typeName = child.type.displayName;\n\n\t\tswitch (typeName) {\n\t\t\tcase ToolbarStart.displayName:\n\t\t\t\tif (toolbarStart) throw new Error(\"Toolbar: duplicate <ToolbarStart> found\");\n\t\t\t\ttoolbarStart = child.props.children;\n\t\t\t\tbreak;\n\t\t\tcase ToolbarEnd.displayName:\n\t\t\t\tif (toolbarEnd) throw new Error(\"Toolbar: duplicate <ToolbarEnd> found\");\n\t\t\t\ttoolbarEnd = child.props.children;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn (\n\t\t<Flex.Container wrap align=\"center\" gap=\"md\" className={className}>\n\t\t\t{toolbarStart && (\n\t\t\t\t<Flex.Item flex0>\n\t\t\t\t\t<Grid.Container\n\t\t\t\t\t\ttemplateColumns={`repeat(${childrenCount(toolbarStart)}, calc(15em + var(--width-add)))`}\n\t\t\t\t\t\talign=\"end\"\n\t\t\t\t\t\tgap=\"sm\">\n\t\t\t\t\t\t{toolbarStart}\n\t\t\t\t\t</Grid.Container>\n\t\t\t\t</Flex.Item>\n\t\t\t)}\n\n\t\t\t<FlexSpacer />\n\n\t\t\t{toolbarEnd && (\n\t\t\t\t<Flex.Item flex0>\n\t\t\t\t\t<Grid.Container\n\t\t\t\t\t\ttemplateColumns={`repeat(${childrenCount(toolbarEnd)}, calc(15em + var(--width-add)))`}\n\t\t\t\t\t\talign=\"end\"\n\t\t\t\t\t\tgap=\"sm\">\n\t\t\t\t\t\t{toolbarEnd}\n\t\t\t\t\t</Grid.Container>\n\t\t\t\t</Flex.Item>\n\t\t\t)}\n\t\t</Flex.Container>\n\t);\n}\n"],"mappings":";;;;;;AAOA,SAAgB,EAAa,EAAE,eAA+B;CAC7D,OAAO,kBAAA,GAAA,EAAG,YAAW,CAAA;AACtB;AACA,EAAa,cAAc;AAE3B,SAAgB,EAAW,EAAE,eAA+B;CAC3D,OAAO,kBAAA,GAAA,EAAG,YAAW,CAAA;AACtB;AACA,EAAW,cAAc;AAYzB,SAAgB,EAAQ,EAAE,aAAU,gBAA2B;CAC9D,IAAI,IAA0B,MAC1B,IAAwB,MAEtB,IAAa,EAAS,QAAQ,CAAQ;CAE5C,KAAK,IAAM,KAAS,GAGnB,QAFiB,EAAM,KAAK,aAE5B;EACC,KAAK,EAAa;GACjB,IAAI,GAAc,MAAU,MAAM,yCAAyC;GAC3E,IAAe,EAAM,MAAM;GAC3B;EACD,KAAK,EAAW;GACf,IAAI,GAAY,MAAU,MAAM,uCAAuC;GACvE,IAAa,EAAM,MAAM;CAE3B;CAGD,OACC,kBAAC,EAAK,WAAN;EAAgB,MAAA;EAAK,OAAM;EAAS,KAAI;EAAgB;EAAxD,UAAA;GACE,KACA,kBAAC,EAAK,MAAN;IAAW,OAAA;IACV,UAAA,kBAAC,EAAK,WAAN;KACC,iBAAiB,UAAU,EAAc,CAAY,EAAE;KACvD,OAAM;KACN,KAAI;KACH,UAAA;IACc,CAAA;GACN,CAAA;GAGZ,kBAAC,GAAD,CAAa,CAAA;GAEZ,KACA,kBAAC,EAAK,MAAN;IAAW,OAAA;IACV,UAAA,kBAAC,EAAK,WAAN;KACC,iBAAiB,UAAU,EAAc,CAAU,EAAE;KACrD,OAAM;KACN,KAAI;KACH,UAAA;IACc,CAAA;GACN,CAAA;EAEG;;AAElB"}
@@ -1,3 +1,4 @@
1
+ import { type Ref } from "react";
1
2
  import { TreeMultiSelectOptionsLayout, TreeSelectNode } from "./types";
2
3
  type TreeNodeContentProps = {
3
4
  node: TreeSelectNode;
@@ -12,7 +13,8 @@ type TreeNodeContentProps = {
12
13
  onToggleExpand?: () => void;
13
14
  onToggleSelection?: () => void;
14
15
  onActivate?: () => void;
16
+ actionRef?: Ref<HTMLButtonElement>;
15
17
  };
16
- export declare function TreeNodeContent({ node, level, highlight, hasChildren, isExpanded, selected, partial, selectionMode, optionsLayout, onToggleExpand, onToggleSelection, onActivate }: TreeNodeContentProps): import("react").JSX.Element;
18
+ export declare function TreeNodeContent({ node, level, highlight, hasChildren, isExpanded, selected, partial, selectionMode, optionsLayout, onToggleExpand, onToggleSelection, onActivate, actionRef }: TreeNodeContentProps): import("react").JSX.Element;
17
19
  export {};
18
20
  //# sourceMappingURL=TreeNodeContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TreeNodeContent.d.ts","sourceRoot":"","sources":["../../src/tree-select/TreeNodeContent.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,4BAA4B,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEvE,KAAK,oBAAoB,GAAG;IAC3B,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,QAAQ,GAAG,OAAO,CAAC;IAClC,aAAa,CAAC,EAAE,4BAA4B,CAAC;IAC7C,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC/B,IAAI,EACJ,KAAK,EACL,SAAS,EACT,WAAW,EACX,UAAU,EACV,QAAQ,EACR,OAAO,EACP,aAAa,EACb,aAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,EAAE,oBAAoB,+BAoDtB"}
1
+ {"version":3,"file":"TreeNodeContent.d.ts","sourceRoot":"","sources":["../../src/tree-select/TreeNodeContent.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAUrD,OAAO,EAAE,4BAA4B,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEvE,KAAK,oBAAoB,GAAG;IAC3B,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,QAAQ,GAAG,OAAO,CAAC;IAClC,aAAa,CAAC,EAAE,4BAA4B,CAAC;IAC7C,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;CACnC,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC/B,IAAI,EACJ,KAAK,EACL,SAAS,EACT,WAAW,EACX,UAAU,EACV,QAAQ,EACR,OAAO,EACP,aAAa,EACb,aAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,EAAE,oBAAoB,+BAkGtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"TreePickerBase.d.ts","sourceRoot":"","sources":["../../src/tree-select/TreePickerBase.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA0C,SAAS,EAA2D,MAAM,OAAO,CAAC;AAiBnI,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIvC,OAAO,EAON,KAAK,aAAa,EAElB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,4BAA4B,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEvE,KAAK,qBAAqB,GAAG;IAC5B,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AAEF,KAAK,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,GAAG;IAC3E,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IACjC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,aAAa,EAAE,QAAQ,GAAG,OAAO,CAAC;IAClC,aAAa,CAAC,EAAE,4BAA4B,CAAC;IAC7C,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,oFAAoF;IACpF,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,WAAW,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACnC,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,8EAA8E;IAC9E,cAAc,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,mBAAmB,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IACpF,+DAA+D;IAC/D,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,mBAAmB,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5F,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAgB,cAAc,CAAC,EAC9B,KAAK,EACL,WAAW,EACX,QAAQ,EACR,WAAW,EACX,IAAI,EACJ,KAAK,EACL,WAAW,EACX,UAAU,EACV,aAAa,EACb,aAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,IAAI,EAAE,cAAc,EACpB,YAAY,EACZ,WAAW,EACX,WAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,KAAK,EACL,YAAY,EACZ,OAAO,EACP,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,SAAS,EACT,KAAK,EACL,EAAE,mBAAmB,+BAybrB"}
1
+ {"version":3,"file":"TreePickerBase.d.ts","sourceRoot":"","sources":["../../src/tree-select/TreePickerBase.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA0C,SAAS,EAA2D,MAAM,OAAO,CAAC;AAiBnI,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIvC,OAAO,EAON,KAAK,aAAa,EAElB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,4BAA4B,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEvE,KAAK,qBAAqB,GAAG;IAC5B,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AAEF,KAAK,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,GAAG;IAC3E,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;IACjC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,aAAa,EAAE,QAAQ,GAAG,OAAO,CAAC;IAClC,aAAa,CAAC,EAAE,4BAA4B,CAAC;IAC7C,uBAAuB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,oFAAoF;IACpF,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,WAAW,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACnC,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,8EAA8E;IAC9E,cAAc,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,mBAAmB,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IACpF,+DAA+D;IAC/D,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,mBAAmB,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5F,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAgB,cAAc,CAAC,EAC9B,KAAK,EACL,WAAW,EACX,QAAQ,EACR,WAAW,EACX,IAAI,EACJ,KAAK,EACL,WAAW,EACX,UAAU,EACV,aAAa,EACb,aAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,IAAI,EAAE,cAAc,EACpB,YAAY,EACZ,WAAW,EACX,WAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,KAAK,EACL,YAAY,EACZ,OAAO,EACP,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,SAAS,EACT,KAAK,EACL,EAAE,mBAAmB,+BAyerB"}