@cube-dev/ui-kit 0.121.5 → 0.121.7

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 (578) hide show
  1. package/dist/CHANGELOG.md +21 -0
  2. package/dist/_internal/hooks/use-chained-callback.js +1 -1
  3. package/dist/_internal/hooks/use-debounced-value.js +1 -1
  4. package/dist/_internal/hooks/use-deprecation-warning.js +1 -1
  5. package/dist/_internal/hooks/use-event.js +1 -1
  6. package/dist/_internal/hooks/use-is-first-render.js +1 -1
  7. package/dist/_internal/hooks/use-sync-ref.js +1 -1
  8. package/dist/_internal/hooks/use-timer/timer.js +1 -1
  9. package/dist/_internal/hooks/use-timer/use-timer.js +1 -1
  10. package/dist/_internal/hooks/use-warn.js +1 -1
  11. package/dist/components/Block.js +3 -2
  12. package/dist/components/Block.js.map +1 -1
  13. package/dist/components/CollectionItem.js +1 -1
  14. package/dist/components/GlobalStyles.js +1 -1
  15. package/dist/components/GridProvider.js +1 -1
  16. package/dist/components/HiddenInput.js +1 -1
  17. package/dist/components/Root.js +3 -2
  18. package/dist/components/Root.js.map +1 -1
  19. package/dist/components/actions/Action/Action.js +3 -2
  20. package/dist/components/actions/Action/Action.js.map +1 -1
  21. package/dist/components/actions/Banner/Banner.js +1 -1
  22. package/dist/components/actions/Button/Button.js +3 -2
  23. package/dist/components/actions/Button/Button.js.map +1 -1
  24. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  25. package/dist/components/actions/ButtonSplit/ButtonSplit.js +3 -2
  26. package/dist/components/actions/ButtonSplit/ButtonSplit.js.map +1 -1
  27. package/dist/components/actions/ButtonSplit/context.js +1 -1
  28. package/dist/components/actions/CommandMenu/CommandMenu.js +3 -2
  29. package/dist/components/actions/CommandMenu/CommandMenu.js.map +1 -1
  30. package/dist/components/actions/CommandMenu/styled.js +1 -1
  31. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  32. package/dist/components/actions/ItemActionContext.js +1 -1
  33. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  34. package/dist/components/actions/Link/Link.js +1 -1
  35. package/dist/components/actions/Menu/Menu.js +3 -2
  36. package/dist/components/actions/Menu/Menu.js.map +1 -1
  37. package/dist/components/actions/Menu/MenuItem.js +1 -1
  38. package/dist/components/actions/Menu/MenuSection.js +1 -1
  39. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  40. package/dist/components/actions/Menu/SubMenuTrigger.js +1 -1
  41. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  42. package/dist/components/actions/Menu/context.js +1 -1
  43. package/dist/components/actions/Menu/styled.js +1 -1
  44. package/dist/components/actions/index.js +1 -1
  45. package/dist/components/actions/use-action.js +1 -1
  46. package/dist/components/actions/use-anchored-menu.js +1 -1
  47. package/dist/components/actions/use-context-menu.js +1 -1
  48. package/dist/components/content/ActiveZone/ActiveZone.js +3 -2
  49. package/dist/components/content/ActiveZone/ActiveZone.js.map +1 -1
  50. package/dist/components/content/Alert/Alert.js +1 -1
  51. package/dist/components/content/Alert/use-alert.js +3 -2
  52. package/dist/components/content/Alert/use-alert.js.map +1 -1
  53. package/dist/components/content/Avatar/Avatar.js +3 -2
  54. package/dist/components/content/Avatar/Avatar.js.map +1 -1
  55. package/dist/components/content/Badge/Badge.js +1 -1
  56. package/dist/components/content/Card/Card.js +3 -2
  57. package/dist/components/content/Card/Card.js.map +1 -1
  58. package/dist/components/content/Content.js +3 -2
  59. package/dist/components/content/Content.js.map +1 -1
  60. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +3 -2
  61. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js.map +1 -1
  62. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  63. package/dist/components/content/Disclosure/Disclosure.js +3 -2
  64. package/dist/components/content/Disclosure/Disclosure.js.map +1 -1
  65. package/dist/components/content/Divider.js +1 -1
  66. package/dist/components/content/Footer.js +3 -2
  67. package/dist/components/content/Footer.js.map +1 -1
  68. package/dist/components/content/Header.js +3 -2
  69. package/dist/components/content/Header.js.map +1 -1
  70. package/dist/components/content/HotKeys/HotKeys.js +3 -2
  71. package/dist/components/content/HotKeys/HotKeys.js.map +1 -1
  72. package/dist/components/content/Item/Item.js +1 -1
  73. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  74. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  75. package/dist/components/content/Layout/GridLayout.js +1 -1
  76. package/dist/components/content/Layout/Layout.js +3 -2
  77. package/dist/components/content/Layout/Layout.js.map +1 -1
  78. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  79. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  80. package/dist/components/content/Layout/LayoutContainer.js +3 -2
  81. package/dist/components/content/Layout/LayoutContainer.js.map +1 -1
  82. package/dist/components/content/Layout/LayoutContent.js +3 -2
  83. package/dist/components/content/Layout/LayoutContent.js.map +1 -1
  84. package/dist/components/content/Layout/LayoutContext.js +1 -1
  85. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  86. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  87. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  88. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  89. package/dist/components/content/Layout/LayoutPane.js +3 -2
  90. package/dist/components/content/Layout/LayoutPane.js.map +1 -1
  91. package/dist/components/content/Layout/LayoutPanel.js +3 -2
  92. package/dist/components/content/Layout/LayoutPanel.js.map +1 -1
  93. package/dist/components/content/Layout/LayoutPanelHeader.js +3 -2
  94. package/dist/components/content/Layout/LayoutPanelHeader.js.map +1 -1
  95. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  96. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  97. package/dist/components/content/Layout/index.js +1 -1
  98. package/dist/components/content/Layout/utils.js +1 -1
  99. package/dist/components/content/Paragraph.js +3 -2
  100. package/dist/components/content/Paragraph.js.map +1 -1
  101. package/dist/components/content/Placeholder/Placeholder.js +3 -2
  102. package/dist/components/content/Placeholder/Placeholder.js.map +1 -1
  103. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  104. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  105. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  106. package/dist/components/content/Result/Result.js +4 -3
  107. package/dist/components/content/Result/Result.js.map +1 -1
  108. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  109. package/dist/components/content/Tag/Tag.js +1 -1
  110. package/dist/components/content/Text.js +3 -2
  111. package/dist/components/content/Text.js.map +1 -1
  112. package/dist/components/content/TextItem/TextItem.js +3 -2
  113. package/dist/components/content/TextItem/TextItem.js.map +1 -1
  114. package/dist/components/content/Title.js +3 -2
  115. package/dist/components/content/Title.js.map +1 -1
  116. package/dist/components/content/highlightText.js +1 -1
  117. package/dist/components/content/use-auto-tooltip.js +1 -1
  118. package/dist/components/fields/Checkbox/Checkbox.js +3 -2
  119. package/dist/components/fields/Checkbox/Checkbox.js.map +1 -1
  120. package/dist/components/fields/Checkbox/CheckboxGroup.js +3 -2
  121. package/dist/components/fields/Checkbox/CheckboxGroup.js.map +1 -1
  122. package/dist/components/fields/Checkbox/context.js +1 -1
  123. package/dist/components/fields/ComboBox/ComboBox.js +3 -2
  124. package/dist/components/fields/ComboBox/ComboBox.js.map +1 -1
  125. package/dist/components/fields/DatePicker/DateInput.js +3 -2
  126. package/dist/components/fields/DatePicker/DateInput.js.map +1 -1
  127. package/dist/components/fields/DatePicker/DateInputBase.js +3 -2
  128. package/dist/components/fields/DatePicker/DateInputBase.js.map +1 -1
  129. package/dist/components/fields/DatePicker/DatePicker.js +3 -2
  130. package/dist/components/fields/DatePicker/DatePicker.js.map +1 -1
  131. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  132. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  133. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  134. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  135. package/dist/components/fields/DatePicker/DateRangePicker.js +3 -2
  136. package/dist/components/fields/DatePicker/DateRangePicker.js.map +1 -1
  137. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +3 -2
  138. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js.map +1 -1
  139. package/dist/components/fields/DatePicker/TimeInput.js +3 -2
  140. package/dist/components/fields/DatePicker/TimeInput.js.map +1 -1
  141. package/dist/components/fields/DatePicker/intl.js +1 -1
  142. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  143. package/dist/components/fields/DatePicker/props.js +1 -1
  144. package/dist/components/fields/DatePicker/utils.js +1 -1
  145. package/dist/components/fields/FileInput/FileInput.js +3 -2
  146. package/dist/components/fields/FileInput/FileInput.js.map +1 -1
  147. package/dist/components/fields/FilterListBox/FilterListBox.js +3 -2
  148. package/dist/components/fields/FilterListBox/FilterListBox.js.map +1 -1
  149. package/dist/components/fields/FilterPicker/FilterPicker.js +3 -2
  150. package/dist/components/fields/FilterPicker/FilterPicker.js.map +1 -1
  151. package/dist/components/fields/Input/Input.js +1 -1
  152. package/dist/components/fields/ListBox/ListBox.js +3 -2
  153. package/dist/components/fields/ListBox/ListBox.js.map +1 -1
  154. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  155. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  156. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  157. package/dist/components/fields/Picker/Picker.js +3 -2
  158. package/dist/components/fields/Picker/Picker.js.map +1 -1
  159. package/dist/components/fields/RadioGroup/Radio.js +3 -2
  160. package/dist/components/fields/RadioGroup/Radio.js.map +1 -1
  161. package/dist/components/fields/RadioGroup/RadioGroup.js +3 -2
  162. package/dist/components/fields/RadioGroup/RadioGroup.js.map +1 -1
  163. package/dist/components/fields/RadioGroup/context.js +1 -1
  164. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  165. package/dist/components/fields/Select/Select.js +3 -2
  166. package/dist/components/fields/Select/Select.js.map +1 -1
  167. package/dist/components/fields/Slider/Gradation.js +1 -1
  168. package/dist/components/fields/Slider/HueSlider.js +1 -1
  169. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  170. package/dist/components/fields/Slider/Slider.js +3 -2
  171. package/dist/components/fields/Slider/Slider.js.map +1 -1
  172. package/dist/components/fields/Slider/SliderBase.js +3 -2
  173. package/dist/components/fields/Slider/SliderBase.js.map +1 -1
  174. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  175. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  176. package/dist/components/fields/Slider/elements.js +1 -1
  177. package/dist/components/fields/Slider/index.js +1 -1
  178. package/dist/components/fields/Switch/Switch.js +6 -5
  179. package/dist/components/fields/Switch/Switch.js.map +1 -1
  180. package/dist/components/fields/TextArea/TextArea.js +1 -1
  181. package/dist/components/fields/TextInput/TextInput.js +1 -1
  182. package/dist/components/fields/TextInput/TextInputBase.d.ts +2 -2
  183. package/dist/components/fields/TextInput/TextInputBase.js +15 -6
  184. package/dist/components/fields/TextInput/TextInputBase.js.map +1 -1
  185. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  186. package/dist/components/form/FieldWrapper/FieldWrapper.js +3 -3
  187. package/dist/components/form/FieldWrapper/FieldWrapper.js.map +1 -1
  188. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  189. package/dist/components/form/Form/Field.js +1 -1
  190. package/dist/components/form/Form/Form.js +3 -2
  191. package/dist/components/form/Form/Form.js.map +1 -1
  192. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  193. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  194. package/dist/components/form/Form/SubmitError.js +1 -1
  195. package/dist/components/form/Form/index.js +1 -1
  196. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  197. package/dist/components/form/Form/use-field/use-field.js +1 -1
  198. package/dist/components/form/Form/use-form.js +1 -1
  199. package/dist/components/form/Form/validation.js +1 -1
  200. package/dist/components/form/Label.js +3 -2
  201. package/dist/components/form/Label.js.map +1 -1
  202. package/dist/components/form/wrapper.js +1 -1
  203. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  204. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  205. package/dist/components/layout/Flex.js +3 -2
  206. package/dist/components/layout/Flex.js.map +1 -1
  207. package/dist/components/layout/Flow.js +3 -2
  208. package/dist/components/layout/Flow.js.map +1 -1
  209. package/dist/components/layout/Grid.js +3 -2
  210. package/dist/components/layout/Grid.js.map +1 -1
  211. package/dist/components/layout/Panel.js +1 -1
  212. package/dist/components/layout/Prefix.js +3 -2
  213. package/dist/components/layout/Prefix.js.map +1 -1
  214. package/dist/components/layout/ResizablePanel.js +1 -1
  215. package/dist/components/layout/Space.js +3 -2
  216. package/dist/components/layout/Space.js.map +1 -1
  217. package/dist/components/layout/Suffix.js +3 -2
  218. package/dist/components/layout/Suffix.js.map +1 -1
  219. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  220. package/dist/components/navigation/Tabs/EditableTitle.js +1 -1
  221. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  222. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  223. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  224. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  225. package/dist/components/navigation/Tabs/Tabs.js +3 -2
  226. package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
  227. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  228. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  229. package/dist/components/navigation/Tabs/styled.js +1 -1
  230. package/dist/components/navigation/Tabs/types.js +1 -1
  231. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  232. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  233. package/dist/components/organisms/FileTabs/FileTabs.js +1 -1
  234. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  235. package/dist/components/other/Calendar/Calendar.js +1 -1
  236. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  237. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  238. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  239. package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
  240. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  241. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  242. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  243. package/dist/components/overlays/Dialog/Dialog.js +3 -2
  244. package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
  245. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  246. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  247. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  248. package/dist/components/overlays/Dialog/context.js +1 -1
  249. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  250. package/dist/components/overlays/Modal/Modal.js +1 -1
  251. package/dist/components/overlays/Modal/OpenTransition.js +1 -1
  252. package/dist/components/overlays/Modal/Overlay.js +1 -1
  253. package/dist/components/overlays/Modal/Popover.js +1 -1
  254. package/dist/components/overlays/Modal/Tray.js +1 -1
  255. package/dist/components/overlays/Modal/Underlay.js +1 -1
  256. package/dist/components/overlays/Notifications/Notification.js +1 -1
  257. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  258. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  259. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  260. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  261. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  262. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  263. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  264. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  265. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  266. package/dist/components/overlays/Notifications/index.js +1 -1
  267. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  268. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  269. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  270. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  271. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  272. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  273. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  274. package/dist/components/overlays/Toast/index.js +1 -1
  275. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  276. package/dist/components/overlays/Toast/useToast.js +1 -1
  277. package/dist/components/overlays/Tooltip/Tooltip.js +3 -2
  278. package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -1
  279. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  280. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  281. package/dist/components/overlays/Tooltip/context.js +1 -1
  282. package/dist/components/portal/Portal.js +1 -1
  283. package/dist/components/portal/PortalProvider.js +1 -1
  284. package/dist/components/portal/usePortal.js +1 -1
  285. package/dist/components/shared/InvalidIcon.js +1 -1
  286. package/dist/components/shared/ValidIcon.js +1 -1
  287. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  288. package/dist/components/status/Spin/Cube.js +1 -1
  289. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  290. package/dist/components/status/Spin/Spin.js +1 -1
  291. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  292. package/dist/data/item-themes.js +1 -1
  293. package/dist/data/themes.js +1 -1
  294. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  295. package/dist/icons/AdjustmentsIcon.js +1 -1
  296. package/dist/icons/AiIcon.js +1 -1
  297. package/dist/icons/AreaChartIcon.js +1 -1
  298. package/dist/icons/BackwardIcon.js +1 -1
  299. package/dist/icons/BarChartIcon.js +1 -1
  300. package/dist/icons/BellFilledIcon.js +1 -1
  301. package/dist/icons/BellIcon.js +1 -1
  302. package/dist/icons/BooleanIcon.js +1 -1
  303. package/dist/icons/CalendarEditIcon.js +1 -1
  304. package/dist/icons/CalendarIcon.js +1 -1
  305. package/dist/icons/CaretDownIcon.js +1 -1
  306. package/dist/icons/CaretUpIcon.js +1 -1
  307. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  308. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  309. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  310. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  311. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  312. package/dist/icons/ChartBarLineIcon.js +1 -1
  313. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  314. package/dist/icons/ChartBarStackedIcon.js +1 -1
  315. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  316. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  317. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  318. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  319. package/dist/icons/ChartBubbleIcon.js +1 -1
  320. package/dist/icons/ChartDonut2Icon.js +1 -1
  321. package/dist/icons/ChartFunnelIcon.js +1 -1
  322. package/dist/icons/ChartHeatmapIcon.js +1 -1
  323. package/dist/icons/ChartKPIIcon.js +1 -1
  324. package/dist/icons/ChartPie2Icon.js +1 -1
  325. package/dist/icons/ChartScatterIcon.js +1 -1
  326. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  327. package/dist/icons/CheckCircleIcon.js +1 -1
  328. package/dist/icons/CheckIcon.js +1 -1
  329. package/dist/icons/CircleFilledIcon.js +1 -1
  330. package/dist/icons/ClearIcon.js +1 -1
  331. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  332. package/dist/icons/CloseCircleIcon.js +1 -1
  333. package/dist/icons/CloseIcon.js +1 -1
  334. package/dist/icons/CodeIcon.js +1 -1
  335. package/dist/icons/ColumnTotalIcon.js +1 -1
  336. package/dist/icons/CopyIcon.js +1 -1
  337. package/dist/icons/CountIcon.js +1 -1
  338. package/dist/icons/CubeIcon.js +1 -1
  339. package/dist/icons/CubePauseIcon.js +1 -1
  340. package/dist/icons/CubePlayIcon.js +1 -1
  341. package/dist/icons/CurrencyDollarIcon.js +1 -1
  342. package/dist/icons/DangerIcon.js +1 -1
  343. package/dist/icons/DashboardIcon.js +1 -1
  344. package/dist/icons/DatabaseIcon.js +1 -1
  345. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  346. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  347. package/dist/icons/DirectionIcon.js +1 -1
  348. package/dist/icons/DonutIcon.js +1 -1
  349. package/dist/icons/DownIcon.js +1 -1
  350. package/dist/icons/EditIcon.js +1 -1
  351. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  352. package/dist/icons/ExclamationCircleIcon.js +1 -1
  353. package/dist/icons/ExclamationIcon.js +1 -1
  354. package/dist/icons/EyeIcon.js +1 -1
  355. package/dist/icons/EyeInvisibleIcon.js +1 -1
  356. package/dist/icons/FilterIcon.js +1 -1
  357. package/dist/icons/FolderFilledIcon.js +1 -1
  358. package/dist/icons/FolderIcon.js +1 -1
  359. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  360. package/dist/icons/FolderOpenIcon.js +1 -1
  361. package/dist/icons/ForwardIcon.js +1 -1
  362. package/dist/icons/HierarchyIcon.js +1 -1
  363. package/dist/icons/HierarchyOpenIcon.js +1 -1
  364. package/dist/icons/Icon.js +1 -1
  365. package/dist/icons/InfoCircleIcon.js +1 -1
  366. package/dist/icons/InfoIcon.js +1 -1
  367. package/dist/icons/KeyIcon.js +1 -1
  368. package/dist/icons/LeftIcon.js +1 -1
  369. package/dist/icons/LineChartIcon.js +1 -1
  370. package/dist/icons/LoadingIcon.js +1 -1
  371. package/dist/icons/LockFilledIcon.js +1 -1
  372. package/dist/icons/LockIcon.js +1 -1
  373. package/dist/icons/MoreIcon.js +1 -1
  374. package/dist/icons/NotAllowedIcon.js +1 -1
  375. package/dist/icons/Number123Icon.js +1 -1
  376. package/dist/icons/NumberIcon.js +1 -1
  377. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  378. package/dist/icons/PauseCircleIcon.js +1 -1
  379. package/dist/icons/PauseIcon.js +1 -1
  380. package/dist/icons/PercentageIcon.js +1 -1
  381. package/dist/icons/PieChartIcon.js +1 -1
  382. package/dist/icons/PlayCircleIcon.js +1 -1
  383. package/dist/icons/PlayIcon.js +1 -1
  384. package/dist/icons/PlusIcon.js +1 -1
  385. package/dist/icons/ProgressBarIcon.js +1 -1
  386. package/dist/icons/ReloadIcon.js +1 -1
  387. package/dist/icons/ReportIcon.js +1 -1
  388. package/dist/icons/ReturnIcon.js +1 -1
  389. package/dist/icons/RightIcon.js +1 -1
  390. package/dist/icons/RowTotalsIcon.js +1 -1
  391. package/dist/icons/SchemeIcon.js +1 -1
  392. package/dist/icons/SearchIcon.js +1 -1
  393. package/dist/icons/SemanticQueryIcon.js +1 -1
  394. package/dist/icons/SettingsIcon.js +1 -1
  395. package/dist/icons/ShieldFilledIcon.js +1 -1
  396. package/dist/icons/ShieldIcon.js +1 -1
  397. package/dist/icons/SlashIcon.js +1 -1
  398. package/dist/icons/SparklesIcon.js +1 -1
  399. package/dist/icons/SqlIcon.js +1 -1
  400. package/dist/icons/StatsIcon.js +1 -1
  401. package/dist/icons/StopIcon.js +1 -1
  402. package/dist/icons/StringIcon.js +1 -1
  403. package/dist/icons/SubtotalsIcon.js +1 -1
  404. package/dist/icons/SwitchIcon.js +1 -1
  405. package/dist/icons/TableIcon.js +1 -1
  406. package/dist/icons/ThumbsDownIcon.js +1 -1
  407. package/dist/icons/ThumbsUpIcon.js +1 -1
  408. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  409. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  410. package/dist/icons/ThunderboltIcon.js +1 -1
  411. package/dist/icons/TimeIcon.js +1 -1
  412. package/dist/icons/TrashIcon.js +1 -1
  413. package/dist/icons/UnlockIcon.js +1 -1
  414. package/dist/icons/UpIcon.js +1 -1
  415. package/dist/icons/UserGroupIcon.js +1 -1
  416. package/dist/icons/UserIcon.js +1 -1
  417. package/dist/icons/UserLockIcon.js +1 -1
  418. package/dist/icons/ViewIcon.js +1 -1
  419. package/dist/icons/WarningFilledIcon.js +1 -1
  420. package/dist/icons/WarningIcon.js +1 -1
  421. package/dist/icons/wrap-icon.js +1 -1
  422. package/dist/index.d.ts +3 -1
  423. package/dist/index.js +4 -2
  424. package/dist/index.js.map +1 -1
  425. package/dist/provider.js +1 -1
  426. package/dist/providers/TrackingProvider.js +1 -1
  427. package/dist/providers/navigationAdapter.default.js +1 -1
  428. package/dist/tokens/base.js +1 -1
  429. package/dist/tokens/colors.js +1 -1
  430. package/dist/tokens/index.d.ts +1 -0
  431. package/dist/tokens/index.js +3 -2
  432. package/dist/tokens/index.js.map +1 -1
  433. package/dist/tokens/layout.js +1 -1
  434. package/dist/tokens/shadows.js +1 -1
  435. package/dist/tokens/sizes.js +1 -1
  436. package/dist/tokens/spacing.js +1 -1
  437. package/dist/tokens/typography.d.ts +35 -0
  438. package/dist/tokens/typography.js +238 -0
  439. package/dist/tokens/typography.js.map +1 -0
  440. package/dist/utils/ResizeSensor.js +1 -1
  441. package/dist/utils/index.d.ts +1 -0
  442. package/dist/utils/is-dev-env.js +1 -1
  443. package/dist/utils/modules.js +1 -1
  444. package/dist/utils/promise.js +1 -1
  445. package/dist/utils/raf.js +1 -1
  446. package/dist/utils/random.js +1 -1
  447. package/dist/utils/range.js +1 -1
  448. package/dist/utils/react/RenderCache.js +1 -1
  449. package/dist/utils/react/Slots.js +1 -1
  450. package/dist/utils/react/chain.js +1 -1
  451. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  452. package/dist/utils/react/index.js +1 -1
  453. package/dist/utils/react/interactions.js +1 -1
  454. package/dist/utils/react/isTextOnly.js +1 -1
  455. package/dist/utils/react/mapProps.js +1 -1
  456. package/dist/utils/react/mergeProps.js +1 -1
  457. package/dist/utils/react/nullableValue.js +1 -1
  458. package/dist/utils/react/resolveIcon.js +1 -1
  459. package/dist/utils/react/sharedStore.js +1 -1
  460. package/dist/utils/react/useCombinedRefs.js +1 -1
  461. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  462. package/dist/utils/react/useEventBus.js +1 -1
  463. package/dist/utils/react/useId.js +1 -1
  464. package/dist/utils/react/useIsDarwin.js +1 -1
  465. package/dist/utils/react/useKeySymbols.js +1 -1
  466. package/dist/utils/react/useLayoutEffect.js +1 -1
  467. package/dist/utils/react/useLocalStorage.js +1 -1
  468. package/dist/utils/react/useMergeStyles.js +1 -1
  469. package/dist/utils/react/useQaProps.js +1 -1
  470. package/dist/utils/react/useViewportSize.js +1 -1
  471. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  472. package/dist/utils/styles.d.ts +19 -0
  473. package/dist/utils/styles.js +31 -0
  474. package/dist/utils/styles.js.map +1 -0
  475. package/dist/utils/tree.js +1 -1
  476. package/dist/utils/warnings.js +1 -1
  477. package/dist/version.js +2 -2
  478. package/docs/BaseProperties.md +1 -1
  479. package/docs/Utilities.md +183 -0
  480. package/docs/components/Block.md +11 -0
  481. package/docs/components/CollectionItem.md +37 -8
  482. package/docs/components/GridProvider.md +15 -0
  483. package/docs/components/Root.md +8 -0
  484. package/docs/components/actions/Action.md +12 -0
  485. package/docs/components/actions/Banner.md +28 -2
  486. package/docs/components/actions/Button.md +10 -1
  487. package/docs/components/actions/ButtonGroup.md +11 -0
  488. package/docs/components/actions/ButtonSplit.md +11 -1
  489. package/docs/components/actions/CommandMenu.md +44 -17
  490. package/docs/components/actions/ItemButton.md +14 -37
  491. package/docs/components/actions/Link.md +9 -5
  492. package/docs/components/actions/Menu.md +11 -13
  493. package/docs/components/actions/MenuTrigger.md +17 -0
  494. package/docs/components/actions/SubMenuTrigger.md +17 -0
  495. package/docs/components/actions/use-anchored-menu.md +11 -0
  496. package/docs/components/actions/use-context-menu.md +11 -0
  497. package/docs/components/content/ActiveZone.md +18 -0
  498. package/docs/components/content/Alert.md +12 -0
  499. package/docs/components/content/Avatar.md +11 -0
  500. package/docs/components/content/Badge.md +20 -9
  501. package/docs/components/content/Card.md +11 -0
  502. package/docs/components/content/Content.md +12 -0
  503. package/docs/components/content/CopyPasteBlock.md +8 -0
  504. package/docs/components/content/CopySnippet.md +19 -5
  505. package/docs/components/content/Disclosure.md +5 -1
  506. package/docs/components/content/Divider.md +12 -0
  507. package/docs/components/content/Footer.md +12 -0
  508. package/docs/components/content/Header.md +12 -0
  509. package/docs/components/content/HotKeys.md +7 -14
  510. package/docs/components/content/ItemBadge.md +1 -0
  511. package/docs/components/content/ItemCard.md +20 -5
  512. package/docs/components/content/Layout.md +8 -1
  513. package/docs/components/content/Paragraph.md +20 -1
  514. package/docs/components/content/Placeholder.md +11 -0
  515. package/docs/components/content/Result.md +12 -0
  516. package/docs/components/content/Skeleton.md +15 -0
  517. package/docs/components/content/Tag.md +20 -9
  518. package/docs/components/content/Text.md +8 -0
  519. package/docs/components/content/TextItem.md +15 -9
  520. package/docs/components/content/Title.md +16 -0
  521. package/docs/components/fields/Checkbox.md +8 -3
  522. package/docs/components/fields/ComboBox.md +11 -5
  523. package/docs/components/fields/DatePicker.md +16 -15
  524. package/docs/components/fields/FileInput.md +13 -31
  525. package/docs/components/fields/FilterListBox.md +16 -1
  526. package/docs/components/fields/FilterPicker.md +34 -7
  527. package/docs/components/fields/HueSlider.md +16 -2
  528. package/docs/components/fields/ListBox.md +9 -1
  529. package/docs/components/fields/NumberInput.md +14 -6
  530. package/docs/components/fields/PasswordInput.md +10 -2
  531. package/docs/components/fields/Picker.md +29 -12
  532. package/docs/components/fields/RadioGroup.md +8 -1
  533. package/docs/components/fields/SearchInput.md +12 -2
  534. package/docs/components/fields/Select.md +14 -2
  535. package/docs/components/fields/Slider.md +34 -0
  536. package/docs/components/fields/Switch.md +3 -1
  537. package/docs/components/fields/TextArea.md +43 -0
  538. package/docs/components/fields/TextInput.md +10 -2
  539. package/docs/components/fields/TextInputMapper.md +30 -0
  540. package/docs/components/form/Field.md +9 -1
  541. package/docs/components/form/Form.md +9 -1
  542. package/docs/components/layout/Flex.md +11 -0
  543. package/docs/components/layout/Flow.md +11 -0
  544. package/docs/components/layout/Grid.md +11 -0
  545. package/docs/components/layout/Panel.md +11 -0
  546. package/docs/components/layout/Prefix.md +11 -0
  547. package/docs/components/layout/ResizablePanel.md +17 -0
  548. package/docs/components/layout/Space.md +11 -0
  549. package/docs/components/layout/Suffix.md +11 -0
  550. package/docs/components/navigation/Tabs.md +6 -1
  551. package/docs/components/organisms/FileTabs.md +12 -0
  552. package/docs/components/organisms/StatsCard.md +11 -0
  553. package/docs/components/other/CloudLogo.md +12 -0
  554. package/docs/components/overlays/AlertDialog.md +16 -0
  555. package/docs/components/overlays/Dialog.md +6 -3
  556. package/docs/components/overlays/DialogContainer.md +9 -0
  557. package/docs/components/overlays/DialogForm.md +29 -16
  558. package/docs/components/overlays/DialogTrigger.md +11 -0
  559. package/docs/components/overlays/Tooltip.md +27 -84
  560. package/docs/components/overlays/TooltipProvider.md +24 -4
  561. package/docs/components/overlays/TooltipTrigger.md +14 -0
  562. package/docs/components/portal/Portal.md +4 -0
  563. package/docs/components/status/LoadingAnimation.md +11 -0
  564. package/docs/components/status/Spin.md +11 -0
  565. package/docs/tasty/adoption.md +286 -0
  566. package/docs/tasty/comparison.md +413 -0
  567. package/docs/tasty/configuration.md +41 -10
  568. package/docs/tasty/debug.md +1 -1
  569. package/docs/tasty/design-system.md +401 -0
  570. package/docs/tasty/{usage.md → dsl.md} +254 -409
  571. package/docs/tasty/getting-started.md +201 -0
  572. package/docs/tasty/injector.md +2 -2
  573. package/docs/tasty/methodology.md +501 -0
  574. package/docs/tasty/runtime.md +291 -0
  575. package/docs/tasty/ssr.md +11 -1
  576. package/docs/tasty/styles.md +2 -2
  577. package/docs/tasty/tasty-static.md +64 -20
  578. package/package.json +8 -9
@@ -1 +1 @@
1
- {"version":3,"file":"TextInputBase.js","names":["useFocus","mergeProps"],"sources":["../../../../src/components/fields/TextInput/TextInputBase.tsx"],"sourcesContent":["import { createFocusableRef } from '@react-spectrum/utils';\nimport {\n BaseProps,\n BLOCK_STYLES,\n BlockStyleProps,\n extractStyles,\n OUTER_STYLES,\n OuterStyleProps,\n Props,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n cloneElement,\n forwardRef,\n ReactElement,\n ReactNode,\n RefObject,\n useImperativeHandle,\n useMemo,\n useRef,\n} from 'react';\nimport { AriaNumberFieldProps, AriaTextFieldProps, useHover } from 'react-aria';\n\nimport { LoadingIcon } from '../../../icons';\nimport { useProviderProps } from '../../../provider';\nimport { FieldBaseProps } from '../../../shared';\nimport { mergeProps, useCombinedRefs } from '../../../utils/react';\nimport { useFocus } from '../../../utils/react/interactions';\nimport { useFieldProps, useFormProps, wrapWithField } from '../../form';\nimport { InvalidIcon } from '../../shared/InvalidIcon';\nimport { ValidIcon } from '../../shared/ValidIcon';\n\nconst ADD_STYLES = {\n $: '>',\n display: 'grid',\n placeContent: 'stretch',\n placeItems: 'center',\n gridRows: '1sf',\n flow: 'column',\n gap: 0,\n cursor: 'inherit',\n opacity: {\n '': 1,\n disabled: '$disabled-opacity',\n },\n};\n\nexport const INPUT_WRAPPER_STYLES: Styles = {\n display: 'grid',\n flow: 'row',\n position: 'relative',\n gridColumns: {\n '': '1sf',\n prefix: 'max-content 1sf',\n suffix: '1sf max-content',\n 'prefix & suffix': 'max-content 1sf max-content',\n },\n gridRows: '1sf',\n placeItems: 'stretch',\n fill: {\n '': '#white',\n disabled: '#dark.04',\n },\n border: {\n '': true,\n valid: '#success-text.50',\n invalid: '#danger-text.50',\n focused: '#primary-text',\n 'valid & focused': '#success-text',\n 'invalid & focused': '#danger-text',\n disabled: true,\n },\n preset: 't3',\n radius: true,\n cursor: 'text',\n color: {\n '': '#dark-02',\n focused: '#dark-02',\n invalid: '#danger-text',\n disabled: '#dark.30',\n },\n zIndex: {\n '': 'initial',\n focused: 1,\n },\n boxSizing: 'border-box',\n transition: 'theme',\n backgroundClip: 'content-box',\n height: {\n '': '$size $size',\n multiline: 'min $size',\n },\n\n $size: {\n '': '$size-md',\n 'size=small': '$size-sm',\n 'size=medium': '$size-md',\n 'size=large': '$size-lg',\n },\n\n Prefix: ADD_STYLES,\n\n Suffix: ADD_STYLES,\n\n State: {\n $: '> Suffix >',\n display: 'flex',\n },\n\n InputIcon: {\n display: 'grid',\n placeItems: 'center',\n width: 'min $size-sm',\n color: 'inherit',\n fontSize: '$icon-size',\n },\n\n ValidationIcon: {\n $: '> Suffix > State >',\n display: 'grid',\n placeItems: 'center',\n width: {\n '': 'min $size-sm',\n suffix: 'min $size-xs',\n },\n fontSize: '$icon-size',\n },\n};\n\nconst InputWrapperElement = tasty({\n qa: 'InputWrapper',\n styles: INPUT_WRAPPER_STYLES,\n});\n\nconst INPUT_STYLE_PROPS_LIST = [...BLOCK_STYLES, 'resize'];\n\nexport const DEFAULT_INPUT_STYLES: Styles = {\n recipe: 'reset input / input-autofill',\n placeSelf: 'stretch',\n width: 'initial 100% 100%',\n transition: 'theme',\n radius: true,\n padding: '$vertical-padding $right-padding $vertical-padding $left-padding',\n textAlign: 'left',\n preset: 't3',\n flexGrow: 1,\n margin: {\n '': 0,\n multiline: '((($size-md - 1lh) / 2) - 1bw) 0',\n 'multiline & size=small': '((($size-sm - 1lh) / 2) - 1bw) 0',\n 'multiline & size=large': '((($size-lg - 1lh) / 2) - 1bw) 0',\n },\n resize: 'none',\n userSelect: 'auto',\n\n Placeholder: {\n $: '::placeholder',\n recipe: 'input-placeholder',\n },\n '&::-webkit-search-cancel-button': {\n recipe: 'input-search-cancel-button',\n },\n\n '$vertical-padding': 0,\n '$left-padding': {\n '': '(1x - 1bw)',\n 'size=small': '(1x - 1bw)',\n 'size=large': '(1.25x - 1bw)',\n 'size=xlarge': '(1.5x - 1bw)',\n prefix: '0',\n },\n '$right-padding': {\n '': '(1x - 1bw)',\n 'size=small': '(1x - 1bw)',\n 'size=large': '(1.25x - 1bw)',\n 'size=xlarge': '(1.5x - 1bw)',\n suffix: '0',\n },\n};\n\nconst InputElement = tasty({ qa: 'Input', styles: DEFAULT_INPUT_STYLES });\n\nexport interface CubeTextInputBaseProps\n extends BaseProps,\n OuterStyleProps,\n BlockStyleProps,\n Omit<AriaTextFieldProps, 'validate'>,\n FieldBaseProps {\n validate?: AriaTextFieldProps['validate'] | AriaNumberFieldProps['validate'];\n /** Left input icon */\n icon?: ReactElement | null;\n /** Input decoration before the main input */\n prefix?: ReactNode;\n /** Input decoration after the main input */\n suffix?: ReactNode;\n /** Suffix position goes before or after the validation and loading statuses */\n suffixPosition?: 'before' | 'after';\n /** Whether the input is multiline */\n multiLine?: boolean;\n /** Whether the input should have autofocus */\n autoFocus?: boolean;\n /** Direct input props */\n inputProps?: Props;\n /** Direct input wrapper props */\n wrapperProps?: Props;\n /** The input ref */\n inputRef?: RefObject<HTMLInputElement | HTMLTextAreaElement>;\n /** The wrapper ref */\n wrapperRef?: RefObject<HTMLDivElement>;\n /** Whether the input has the loading status */\n isLoading?: boolean;\n /** The loading status indicator */\n loadingIndicator?: ReactNode;\n /** Style map for the input */\n inputStyles?: Styles;\n /** The number of rows for the input. Only applies to textarea. */\n rows?: number;\n /** The resize CSS property sets whether an element is resizable, and if so, in which directions. */\n resize?: Styles['resize'];\n /** The size of the input */\n size?: 'small' | 'medium' | 'large' | (string & {});\n autocomplete?: string;\n}\n\nfunction _TextInputBase(props: CubeTextInputBaseProps, ref) {\n props = useProviderProps(props);\n props = useFormProps(props);\n props = useFieldProps(props, {\n defaultValidationTrigger: 'onBlur',\n valuePropsMapper: ({ value, onChange }) => ({\n value:\n typeof value === 'string' || typeof value === 'number'\n ? String(value)\n : '',\n onChange,\n }),\n });\n\n let {\n qa,\n mods,\n validationState,\n prefix,\n isDisabled,\n multiLine,\n autoFocus,\n inputProps,\n wrapperProps,\n inputRef,\n isLoading,\n loadingIndicator,\n value,\n inputStyles = {},\n suffix,\n suffixPosition = 'before',\n wrapperRef,\n tooltip,\n rows = 1,\n size = 'medium',\n autocomplete,\n icon,\n maxLength,\n minLength,\n form,\n ...otherProps\n } = props;\n\n let styles = extractStyles(otherProps, OUTER_STYLES);\n let type = otherProps.type;\n\n inputStyles = extractStyles(\n otherProps,\n INPUT_STYLE_PROPS_LIST,\n inputStyles,\n undefined,\n ['styles'],\n );\n\n let ElementType: 'textarea' | 'input' = multiLine ? 'textarea' : 'input';\n let { isFocused, focusProps } = useFocus({ isDisabled });\n let { hoverProps, isHovered } = useHover({ isDisabled });\n let domRef = useRef(null);\n\n inputRef = useCombinedRefs(inputRef);\n\n // Expose imperative interface for ref\n useImperativeHandle(ref, () => ({\n ...createFocusableRef(domRef, inputRef),\n select() {\n if (inputRef?.current) {\n inputRef.current.select();\n }\n },\n getInputElement() {\n return inputRef?.current;\n },\n }));\n\n let isInvalid = validationState === 'invalid';\n let validationIcon = isInvalid ? InvalidIcon : ValidIcon;\n let validation = cloneElement(validationIcon);\n\n // Fix safari bug: https://github.com/philipwalton/flexbugs/issues/270\n if (!inputProps?.placeholder) {\n if (!inputProps) {\n inputProps = {};\n }\n\n inputProps.placeholder = ' ';\n }\n\n if (icon) {\n icon = <div data-element=\"InputIcon\">{icon}</div>;\n\n if (prefix) {\n prefix = (\n <>\n {icon}\n {prefix}\n </>\n );\n } else {\n prefix = icon;\n }\n }\n\n const modifiers = useMemo(\n () => ({\n invalid: isInvalid,\n valid: validationState === 'valid',\n loadable: !!loadingIndicator,\n focused: isFocused,\n hovered: isHovered,\n disabled: isDisabled,\n multiline: multiLine,\n prefix: !!prefix,\n suffix: (validationState && !isLoading) || isLoading || !!suffix,\n ...mods,\n }),\n [\n mods,\n isInvalid,\n validationState,\n loadingIndicator,\n isFocused,\n isDisabled,\n isHovered,\n multiLine,\n prefix,\n suffix,\n ],\n );\n\n const hasTextSecurity = multiLine && type === 'password';\n const textSecurityStyles =\n hasTextSecurity && inputProps.value?.length\n ? {\n fontFamily: 'text-security-disc',\n }\n : {};\n\n const textField = (\n <InputWrapperElement\n ref={wrapperRef}\n mods={modifiers}\n data-size={size}\n styles={styles}\n {...wrapperProps}\n >\n {prefix ? <div data-element=\"Prefix\">{prefix}</div> : null}\n <InputElement\n qa={qa || 'Input'}\n as={ElementType}\n data-input-type=\"textinput\"\n {...mergeProps(inputProps, focusProps, hoverProps)}\n ref={inputRef}\n rows={multiLine ? rows : undefined}\n mods={modifiers}\n style={textSecurityStyles}\n data-autofocus={autoFocus ? '' : undefined}\n autoFocus={autoFocus}\n data-size={size}\n autoComplete={autocomplete}\n styles={inputStyles}\n disabled={!!isDisabled}\n maxLength={maxLength}\n minLength={minLength}\n />\n {(validationState && !isLoading) || isLoading || suffix ? (\n <div data-element=\"Suffix\">\n {suffixPosition === 'before' ? suffix : null}\n {(validationState && !isLoading) || isLoading ? (\n <div data-element=\"State\">\n {validationState && !isLoading ? validation : null}\n {isLoading && <LoadingIcon data-element=\"InputIcon\" />}\n </div>\n ) : null}\n {suffixPosition === 'after' ? suffix : null}\n </div>\n ) : null}\n </InputWrapperElement>\n );\n\n return wrapWithField(textField, domRef, {\n ...props,\n form: undefined,\n });\n}\n\nconst TextInputBase = forwardRef(_TextInputBase);\n\nexport { TextInputBase };\nexport type { AriaTextFieldProps };\n"],"mappings":"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"}
1
+ {"version":3,"file":"TextInputBase.js","names":["useFocus","mergeProps"],"sources":["../../../../src/components/fields/TextInput/TextInputBase.tsx"],"sourcesContent":["import { createFocusableRef } from '@react-spectrum/utils';\nimport {\n BASE_STYLES,\n BaseProps,\n BaseStyleProps,\n BLOCK_STYLES,\n BlockStyleProps,\n COLOR_STYLES,\n ColorStyleProps,\n OUTER_STYLES,\n OuterStyleProps,\n Props,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n cloneElement,\n forwardRef,\n ReactElement,\n ReactNode,\n RefObject,\n useImperativeHandle,\n useMemo,\n useRef,\n} from 'react';\nimport { AriaNumberFieldProps, AriaTextFieldProps, useHover } from 'react-aria';\n\nimport { LoadingIcon } from '../../../icons';\nimport { useProviderProps } from '../../../provider';\nimport { FieldBaseProps } from '../../../shared';\nimport { mergeProps, useCombinedRefs } from '../../../utils/react';\nimport { useFocus } from '../../../utils/react/interactions';\nimport { extractStyles } from '../../../utils/styles';\nimport { useFieldProps, useFormProps, wrapWithField } from '../../form';\nimport { InvalidIcon } from '../../shared/InvalidIcon';\nimport { ValidIcon } from '../../shared/ValidIcon';\n\nconst ADD_STYLES = {\n $: '>',\n display: 'grid',\n placeContent: 'stretch',\n placeItems: 'center',\n gridRows: '1sf',\n flow: 'column',\n gap: 0,\n cursor: 'inherit',\n opacity: {\n '': 1,\n disabled: '$disabled-opacity',\n },\n};\n\nexport const INPUT_WRAPPER_STYLES: Styles = {\n display: 'grid',\n flow: 'row',\n position: 'relative',\n gridColumns: {\n '': '1sf',\n prefix: 'max-content 1sf',\n suffix: '1sf max-content',\n 'prefix & suffix': 'max-content 1sf max-content',\n },\n gridRows: '1sf',\n placeItems: 'stretch',\n fill: {\n '': '#white',\n disabled: '#dark.04',\n },\n border: {\n '': true,\n valid: '#success-text.50',\n invalid: '#danger-text.50',\n focused: '#primary-text',\n 'valid & focused': '#success-text',\n 'invalid & focused': '#danger-text',\n disabled: true,\n },\n preset: 't3',\n radius: true,\n cursor: 'text',\n color: {\n '': '#dark-02',\n focused: '#dark-02',\n invalid: '#danger-text',\n disabled: '#dark.30',\n },\n zIndex: {\n '': 'initial',\n focused: 1,\n },\n boxSizing: 'border-box',\n transition: 'theme',\n backgroundClip: 'content-box',\n height: {\n '': '$size $size',\n multiline: 'min $size',\n },\n\n $size: {\n '': '$size-md',\n 'size=small': '$size-sm',\n 'size=medium': '$size-md',\n 'size=large': '$size-lg',\n },\n\n Prefix: ADD_STYLES,\n\n Suffix: ADD_STYLES,\n\n State: {\n $: '> Suffix >',\n display: 'flex',\n },\n\n InputIcon: {\n display: 'grid',\n placeItems: 'center',\n width: 'min $size-sm',\n color: 'inherit',\n fontSize: '$icon-size',\n },\n\n ValidationIcon: {\n $: '> Suffix > State >',\n display: 'grid',\n placeItems: 'center',\n width: {\n '': 'min $size-sm',\n suffix: 'min $size-xs',\n },\n fontSize: '$icon-size',\n },\n};\n\nconst InputWrapperElement = tasty({\n qa: 'InputWrapper',\n styles: INPUT_WRAPPER_STYLES,\n});\n\nconst PROP_STYLES = [\n ...BASE_STYLES,\n ...OUTER_STYLES,\n ...BLOCK_STYLES,\n ...COLOR_STYLES,\n];\n\nexport const DEFAULT_INPUT_STYLES: Styles = {\n recipe: 'reset input / input-autofill',\n placeSelf: 'stretch',\n width: 'initial 100% 100%',\n transition: 'theme',\n radius: true,\n padding: '$vertical-padding $right-padding $vertical-padding $left-padding',\n textAlign: 'left',\n preset: 't3',\n flexGrow: 1,\n margin: {\n '': 0,\n multiline: '((($size-md - 1lh) / 2) - 1bw) 0',\n 'multiline & size=small': '((($size-sm - 1lh) / 2) - 1bw) 0',\n 'multiline & size=large': '((($size-lg - 1lh) / 2) - 1bw) 0',\n },\n resize: 'none',\n userSelect: 'auto',\n\n Placeholder: {\n $: '::placeholder',\n recipe: 'input-placeholder',\n },\n '&::-webkit-search-cancel-button': {\n recipe: 'input-search-cancel-button',\n },\n\n '$vertical-padding': 0,\n '$left-padding': {\n '': '(1x - 1bw)',\n 'size=small': '(1x - 1bw)',\n 'size=large': '(1.25x - 1bw)',\n 'size=xlarge': '(1.5x - 1bw)',\n prefix: '0',\n },\n '$right-padding': {\n '': '(1x - 1bw)',\n 'size=small': '(1x - 1bw)',\n 'size=large': '(1.25x - 1bw)',\n 'size=xlarge': '(1.5x - 1bw)',\n suffix: '0',\n },\n};\n\nconst InputElement = tasty({ qa: 'Input', styles: DEFAULT_INPUT_STYLES });\n\nexport interface CubeTextInputBaseProps\n extends BaseProps,\n OuterStyleProps,\n BlockStyleProps,\n BaseStyleProps,\n ColorStyleProps,\n Omit<AriaTextFieldProps, 'validate'>,\n FieldBaseProps {\n validate?: AriaTextFieldProps['validate'] | AriaNumberFieldProps['validate'];\n /** Left input icon */\n icon?: ReactElement | null;\n /** Input decoration before the main input */\n prefix?: ReactNode;\n /** Input decoration after the main input */\n suffix?: ReactNode;\n /** Suffix position goes before or after the validation and loading statuses */\n suffixPosition?: 'before' | 'after';\n /** Whether the input is multiline */\n multiLine?: boolean;\n /** Whether the input should have autofocus */\n autoFocus?: boolean;\n /** Direct input props */\n inputProps?: Props;\n /** Direct input wrapper props */\n wrapperProps?: Props;\n /** The input ref */\n inputRef?: RefObject<HTMLInputElement | HTMLTextAreaElement>;\n /** The wrapper ref */\n wrapperRef?: RefObject<HTMLDivElement>;\n /** Whether the input has the loading status */\n isLoading?: boolean;\n /** The loading status indicator */\n loadingIndicator?: ReactNode;\n /** Style map for the input */\n inputStyles?: Styles;\n /** The number of rows for the input. Only applies to textarea. */\n rows?: number;\n /** The resize CSS property sets whether an element is resizable, and if so, in which directions. */\n resize?: Styles['resize'];\n /** The size of the input */\n size?: 'small' | 'medium' | 'large' | (string & {});\n autocomplete?: string;\n}\n\nfunction _TextInputBase(props: CubeTextInputBaseProps, ref) {\n props = useProviderProps(props);\n props = useFormProps(props);\n props = useFieldProps(props, {\n defaultValidationTrigger: 'onBlur',\n valuePropsMapper: ({ value, onChange }) => ({\n value:\n typeof value === 'string' || typeof value === 'number'\n ? String(value)\n : '',\n onChange,\n }),\n });\n\n let {\n qa,\n mods,\n validationState,\n prefix,\n isDisabled,\n multiLine,\n autoFocus,\n inputProps,\n wrapperProps,\n inputRef,\n isLoading,\n loadingIndicator,\n value,\n inputStyles = {},\n suffix,\n suffixPosition = 'before',\n wrapperRef,\n tooltip,\n rows = 1,\n size = 'medium',\n autocomplete,\n icon,\n maxLength,\n minLength,\n form,\n resize,\n ...otherProps\n } = props;\n\n let styles = extractStyles(otherProps, PROP_STYLES);\n let type = otherProps.type;\n\n if (resize) {\n inputStyles = { ...inputStyles, resize };\n }\n\n let ElementType: 'textarea' | 'input' = multiLine ? 'textarea' : 'input';\n let { isFocused, focusProps } = useFocus({ isDisabled });\n let { hoverProps, isHovered } = useHover({ isDisabled });\n let domRef = useRef(null);\n\n inputRef = useCombinedRefs(inputRef);\n\n // Expose imperative interface for ref\n useImperativeHandle(ref, () => ({\n ...createFocusableRef(domRef, inputRef),\n select() {\n if (inputRef?.current) {\n inputRef.current.select();\n }\n },\n getInputElement() {\n return inputRef?.current;\n },\n }));\n\n let isInvalid = validationState === 'invalid';\n let validationIcon = isInvalid ? InvalidIcon : ValidIcon;\n let validation = cloneElement(validationIcon);\n\n // Fix safari bug: https://github.com/philipwalton/flexbugs/issues/270\n if (!inputProps?.placeholder) {\n if (!inputProps) {\n inputProps = {};\n }\n\n inputProps.placeholder = ' ';\n }\n\n if (icon) {\n icon = <div data-element=\"InputIcon\">{icon}</div>;\n\n if (prefix) {\n prefix = (\n <>\n {icon}\n {prefix}\n </>\n );\n } else {\n prefix = icon;\n }\n }\n\n const modifiers = useMemo(\n () => ({\n invalid: isInvalid,\n valid: validationState === 'valid',\n loadable: !!loadingIndicator,\n focused: isFocused,\n hovered: isHovered,\n disabled: isDisabled,\n multiline: multiLine,\n prefix: !!prefix,\n suffix: (validationState && !isLoading) || isLoading || !!suffix,\n ...mods,\n }),\n [\n mods,\n isInvalid,\n validationState,\n loadingIndicator,\n isFocused,\n isDisabled,\n isHovered,\n multiLine,\n prefix,\n suffix,\n ],\n );\n\n const hasTextSecurity = multiLine && type === 'password';\n const textSecurityStyles =\n hasTextSecurity && inputProps.value?.length\n ? {\n fontFamily: 'text-security-disc',\n }\n : {};\n\n const textField = (\n <InputWrapperElement\n ref={wrapperRef}\n mods={modifiers}\n data-size={size}\n styles={styles}\n {...wrapperProps}\n >\n {prefix ? <div data-element=\"Prefix\">{prefix}</div> : null}\n <InputElement\n qa={qa || 'Input'}\n as={ElementType}\n data-input-type=\"textinput\"\n {...mergeProps(inputProps, focusProps, hoverProps)}\n ref={inputRef}\n rows={multiLine ? rows : undefined}\n mods={modifiers}\n style={textSecurityStyles}\n data-autofocus={autoFocus ? '' : undefined}\n autoFocus={autoFocus}\n data-size={size}\n autoComplete={autocomplete}\n styles={inputStyles}\n disabled={!!isDisabled}\n maxLength={maxLength}\n minLength={minLength}\n />\n {(validationState && !isLoading) || isLoading || suffix ? (\n <div data-element=\"Suffix\">\n {suffixPosition === 'before' ? suffix : null}\n {(validationState && !isLoading) || isLoading ? (\n <div data-element=\"State\">\n {validationState && !isLoading ? validation : null}\n {isLoading && <LoadingIcon data-element=\"InputIcon\" />}\n </div>\n ) : null}\n {suffixPosition === 'after' ? suffix : null}\n </div>\n ) : null}\n </InputWrapperElement>\n );\n\n return wrapWithField(textField, domRef, {\n ...props,\n form: undefined,\n });\n}\n\nconst TextInputBase = forwardRef(_TextInputBase);\n\nexport { TextInputBase };\nexport type { AriaTextFieldProps };\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
2
  import { mergeProps } from "../../../utils/react/mergeProps.js";
3
3
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { useEvent } from "../../../_internal/hooks/use-event.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
2
  import { mergeProps } from "../../../utils/react/mergeProps.js";
3
3
  import { wrapNodeIfPlain } from "../../../utils/react/wrapNodeIfPlain.js";
4
4
  import { _Text } from "../../content/Text.js";
@@ -59,7 +59,7 @@ const FieldElement = tasty({
59
59
  });
60
60
  FieldElement.displayName = "FieldWrapperElement";
61
61
  const MessageElement = tasty({
62
- qa: "Field_Message",
62
+ qa: "FieldMessage",
63
63
  styles: {
64
64
  preset: "t4",
65
65
  color: {
@@ -73,7 +73,7 @@ const MessageElement = tasty({
73
73
  }
74
74
  });
75
75
  const DescriptionElement = tasty({
76
- qa: "Field_Description",
76
+ qa: "FieldDescription",
77
77
  styles: {
78
78
  preset: "t4",
79
79
  color: "#dark-03",
@@ -1 +1 @@
1
- {"version":3,"file":"FieldWrapper.js","names":["Label","Item","Text"],"sources":["../../../../src/components/form/FieldWrapper/FieldWrapper.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { forwardRef } from 'react';\n\nimport { InfoCircleIcon } from '../../../icons/index';\nimport { mergeProps, wrapNodeIfPlain } from '../../../utils/react/index';\nimport { Item } from '../../content/Item';\nimport { Text } from '../../content/Text';\nimport { Flex } from '../../layout/Flex';\nimport { Space } from '../../layout/Space';\nimport { Label } from '../Label';\n\nimport { CubeFieldWrapperProps } from './types';\n\nconst FieldElement = tasty({\n qa: 'Field',\n styles: {\n display: 'grid',\n width: 'auto',\n gridColumns: {\n '': 'minmax(0, 1fr)',\n 'has-sider': '($full-label-width, auto) minmax(0, 1fr)',\n 'has-split': 'auto auto',\n },\n gap: 0,\n placeItems: {\n '': 'baseline stretch',\n 'has-split': 'center',\n },\n placeContent: {\n '': 'initial',\n 'has-split': 'space-between',\n },\n '$full-label-width': '($label-width + 1x)',\n\n LabelArea: {\n display: 'block',\n width: {\n '': 'initial',\n 'has-sider': '$label-width',\n },\n margin: {\n '': '1x bottom',\n 'has-sider': '1x right',\n 'has-split': '1x right',\n ':empty': '0',\n },\n },\n\n InputArea: {\n display: 'block',\n flow: 'column',\n gap: '.5x',\n gridColumn: {\n '': 'initial',\n 'has-sider': 2,\n 'has-split': 2,\n },\n },\n },\n});\n\nif (process.env.NODE_ENV === 'development') {\n FieldElement.displayName = 'FieldWrapperElement';\n}\n\nconst MessageElement = tasty({\n qa: 'Field_Message',\n styles: {\n preset: 't4',\n color: {\n '': '#dark-02',\n invalid: '#danger-text',\n valid: '#success-text',\n disabled: '#dark.40',\n },\n textAlign: 'left',\n userSelect: 'none',\n },\n});\n\nconst DescriptionElement = tasty({\n qa: 'Field_Description',\n styles: {\n preset: 't4',\n color: '#dark-03',\n textAlign: 'left',\n userSelect: 'none',\n },\n});\n\n/**\n * A wrapper for form fields to provide additional decoration for inputs.\n * @internal Do not use this component directly.\n */\nexport const FieldWrapper = forwardRef(function FieldWrapper(\n props: CubeFieldWrapperProps,\n ref,\n) {\n const {\n as,\n labelPosition = 'top',\n label,\n extra,\n styles,\n isRequired,\n isDisabled,\n labelStyles,\n necessityIndicator,\n labelProps,\n fieldProps,\n message,\n messageStyles,\n description,\n errorMessage,\n Component,\n validationState,\n requiredMark = true,\n tooltip,\n isHidden,\n labelSuffix,\n children,\n } = props;\n\n const labelComponent = label ? (\n <Label\n as={as === 'label' ? 'div' : 'label'}\n styles={labelStyles}\n labelPosition={labelPosition}\n isRequired={requiredMark ? isRequired : false}\n isDisabled={isDisabled}\n necessityIndicator={necessityIndicator}\n validationState={validationState}\n aria-label={typeof label === 'string' ? label : undefined}\n {...labelProps}\n >\n <Flex placeContent=\"baseline space-between\" width=\"100%\">\n <Space placeItems=\"center\" gap=\"0.75x\">\n <div>{label}</div>\n\n {tooltip ? (\n <Item\n icon={<InfoCircleIcon color=\"#primary-text\" />}\n size=\"inline\"\n tooltip={\n typeof tooltip === 'string' ? tooltip : { title: tooltip }\n }\n />\n ) : null}\n\n {labelSuffix ? <div>{labelSuffix}</div> : null}\n </Space>\n\n {extra && <Text preset=\"t3\">{extra}</Text>}\n </Flex>\n </Label>\n ) : null;\n\n // Create description component with proper styling\n const createDescriptionComponent = () => {\n if (!description) return null;\n\n return (\n <DescriptionElement data-element=\"Description\">\n {wrapNodeIfPlain(description, () => (\n <span>{description}</span>\n ))}\n </DescriptionElement>\n );\n };\n\n // Description positioning based on label position\n const descriptionForLabel =\n labelPosition === 'side' || labelPosition === 'split'\n ? createDescriptionComponent()\n : null;\n const descriptionForInput =\n labelPosition === 'top' ? createDescriptionComponent() : null;\n\n const mods = {\n 'has-sider': labelPosition === 'side',\n 'has-split': labelPosition === 'split',\n 'has-description': !!description,\n invalid: validationState === 'invalid',\n valid: validationState === 'valid',\n };\n\n // Determine which message to display (errorMessage takes precedence, then message for backward compatibility)\n const displayMessage = errorMessage || message;\n const isErrorMessage = !!errorMessage;\n\n // Merge fieldProps with styles to ensure both are applied\n const mergedFieldProps = styles\n ? mergeProps(fieldProps, { styles })\n : fieldProps;\n\n return (\n <>\n <FieldElement\n ref={ref}\n as={as ?? 'div'}\n mods={mods}\n isHidden={isHidden}\n {...mergedFieldProps}\n >\n {labelComponent || descriptionForLabel ? (\n <div data-element=\"LabelArea\">\n {labelComponent}\n {descriptionForLabel}\n </div>\n ) : null}\n <div data-element=\"InputArea\">\n {Component}\n {descriptionForInput}\n {displayMessage && !isDisabled && (\n <MessageElement\n mods={{\n ...mods,\n // Force invalid state for errorMessage regardless of validationState\n invalid: isErrorMessage || validationState === 'invalid',\n }}\n styles={messageStyles}\n role={\n isErrorMessage || validationState === 'invalid'\n ? 'alert'\n : undefined\n }\n >\n {displayMessage}\n </MessageElement>\n )}\n </div>\n </FieldElement>\n {children}\n </>\n );\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"FieldWrapper.js","names":["Label","Item","Text"],"sources":["../../../../src/components/form/FieldWrapper/FieldWrapper.tsx"],"sourcesContent":["import { tasty } from '@tenphi/tasty';\nimport { forwardRef } from 'react';\n\nimport { InfoCircleIcon } from '../../../icons/index';\nimport { mergeProps, wrapNodeIfPlain } from '../../../utils/react/index';\nimport { Item } from '../../content/Item';\nimport { Text } from '../../content/Text';\nimport { Flex } from '../../layout/Flex';\nimport { Space } from '../../layout/Space';\nimport { Label } from '../Label';\n\nimport { CubeFieldWrapperProps } from './types';\n\nconst FieldElement = tasty({\n qa: 'Field',\n styles: {\n display: 'grid',\n width: 'auto',\n gridColumns: {\n '': 'minmax(0, 1fr)',\n 'has-sider': '($full-label-width, auto) minmax(0, 1fr)',\n 'has-split': 'auto auto',\n },\n gap: 0,\n placeItems: {\n '': 'baseline stretch',\n 'has-split': 'center',\n },\n placeContent: {\n '': 'initial',\n 'has-split': 'space-between',\n },\n '$full-label-width': '($label-width + 1x)',\n\n LabelArea: {\n display: 'block',\n width: {\n '': 'initial',\n 'has-sider': '$label-width',\n },\n margin: {\n '': '1x bottom',\n 'has-sider': '1x right',\n 'has-split': '1x right',\n ':empty': '0',\n },\n },\n\n InputArea: {\n display: 'block',\n flow: 'column',\n gap: '.5x',\n gridColumn: {\n '': 'initial',\n 'has-sider': 2,\n 'has-split': 2,\n },\n },\n },\n});\n\nif (process.env.NODE_ENV === 'development') {\n FieldElement.displayName = 'FieldWrapperElement';\n}\n\nconst MessageElement = tasty({\n qa: 'FieldMessage',\n styles: {\n preset: 't4',\n color: {\n '': '#dark-02',\n invalid: '#danger-text',\n valid: '#success-text',\n disabled: '#dark.40',\n },\n textAlign: 'left',\n userSelect: 'none',\n },\n});\n\nconst DescriptionElement = tasty({\n qa: 'FieldDescription',\n styles: {\n preset: 't4',\n color: '#dark-03',\n textAlign: 'left',\n userSelect: 'none',\n },\n});\n\n/**\n * A wrapper for form fields to provide additional decoration for inputs.\n * @internal Do not use this component directly.\n */\nexport const FieldWrapper = forwardRef(function FieldWrapper(\n props: CubeFieldWrapperProps,\n ref,\n) {\n const {\n as,\n labelPosition = 'top',\n label,\n extra,\n styles,\n isRequired,\n isDisabled,\n labelStyles,\n necessityIndicator,\n labelProps,\n fieldProps,\n message,\n messageStyles,\n description,\n errorMessage,\n Component,\n validationState,\n requiredMark = true,\n tooltip,\n isHidden,\n labelSuffix,\n children,\n } = props;\n\n const labelComponent = label ? (\n <Label\n as={as === 'label' ? 'div' : 'label'}\n styles={labelStyles}\n labelPosition={labelPosition}\n isRequired={requiredMark ? isRequired : false}\n isDisabled={isDisabled}\n necessityIndicator={necessityIndicator}\n validationState={validationState}\n aria-label={typeof label === 'string' ? label : undefined}\n {...labelProps}\n >\n <Flex placeContent=\"baseline space-between\" width=\"100%\">\n <Space placeItems=\"center\" gap=\"0.75x\">\n <div>{label}</div>\n\n {tooltip ? (\n <Item\n icon={<InfoCircleIcon color=\"#primary-text\" />}\n size=\"inline\"\n tooltip={\n typeof tooltip === 'string' ? tooltip : { title: tooltip }\n }\n />\n ) : null}\n\n {labelSuffix ? <div>{labelSuffix}</div> : null}\n </Space>\n\n {extra && <Text preset=\"t3\">{extra}</Text>}\n </Flex>\n </Label>\n ) : null;\n\n // Create description component with proper styling\n const createDescriptionComponent = () => {\n if (!description) return null;\n\n return (\n <DescriptionElement data-element=\"Description\">\n {wrapNodeIfPlain(description, () => (\n <span>{description}</span>\n ))}\n </DescriptionElement>\n );\n };\n\n // Description positioning based on label position\n const descriptionForLabel =\n labelPosition === 'side' || labelPosition === 'split'\n ? createDescriptionComponent()\n : null;\n const descriptionForInput =\n labelPosition === 'top' ? createDescriptionComponent() : null;\n\n const mods = {\n 'has-sider': labelPosition === 'side',\n 'has-split': labelPosition === 'split',\n 'has-description': !!description,\n invalid: validationState === 'invalid',\n valid: validationState === 'valid',\n };\n\n // Determine which message to display (errorMessage takes precedence, then message for backward compatibility)\n const displayMessage = errorMessage || message;\n const isErrorMessage = !!errorMessage;\n\n // Merge fieldProps with styles to ensure both are applied\n const mergedFieldProps = styles\n ? mergeProps(fieldProps, { styles })\n : fieldProps;\n\n return (\n <>\n <FieldElement\n ref={ref}\n as={as ?? 'div'}\n mods={mods}\n isHidden={isHidden}\n {...mergedFieldProps}\n >\n {labelComponent || descriptionForLabel ? (\n <div data-element=\"LabelArea\">\n {labelComponent}\n {descriptionForLabel}\n </div>\n ) : null}\n <div data-element=\"InputArea\">\n {Component}\n {descriptionForInput}\n {displayMessage && !isDisabled && (\n <MessageElement\n mods={{\n ...mods,\n // Force invalid state for errorMessage regardless of validationState\n invalid: isErrorMessage || validationState === 'invalid',\n }}\n styles={messageStyles}\n role={\n isErrorMessage || validationState === 'invalid'\n ? 'alert'\n : undefined\n }\n >\n {displayMessage}\n </MessageElement>\n )}\n </div>\n </FieldElement>\n {children}\n </>\n );\n});\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
2
  //#region src/components/form/FieldWrapper/extract-field-wrapper-props.ts
3
3
  const createFieldWrapperPropsKeys = (arr) => new Set(arr);
4
4
  const fieldWrapperPropsKeys = createFieldWrapperPropsKeys([
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
2
  import { mergeProps } from "../../../utils/react/mergeProps.js";
3
3
  import { warn } from "../../../utils/warnings.js";
4
4
  import { FieldWrapper } from "../FieldWrapper/FieldWrapper.js";
@@ -1,9 +1,10 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
+ import { extractStyles } from "../../../utils/styles.js";
2
3
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
3
4
  import { Provider, useProviderProps } from "../../../provider.js";
4
5
  import { timeout } from "../../../utils/promise.js";
5
6
  import { useForm } from "./use-form.js";
6
- import { CONTAINER_STYLES, extractStyles, filterBaseProps, tasty } from "@tenphi/tasty";
7
+ import { CONTAINER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
7
8
  import { createContext, forwardRef, useContext, useRef } from "react";
8
9
  import { jsx } from "react/jsx-runtime";
9
10
  import { useDOMRef } from "@react-spectrum/utils";
@@ -1 +1 @@
1
- {"version":3,"file":"Form.js","names":[],"sources":["../../../../src/components/form/Form/Form.tsx"],"sourcesContent":["import { useDOMRef } from '@react-spectrum/utils';\nimport { DOMRef } from '@react-types/shared';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n extractStyles,\n filterBaseProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n createContext,\n FormHTMLAttributes,\n forwardRef,\n ReactElement,\n ReactNode,\n useContext,\n useRef,\n} from 'react';\n\nimport { Provider, useProviderProps } from '../../../provider';\nimport { FormBaseProps } from '../../../shared/index';\nimport { timeout } from '../../../utils/promise';\nimport { useCombinedRefs } from '../../../utils/react/index';\n\nimport { FieldTypes } from './types';\nimport { CubeFormData, CubeFormInstance, useForm } from './use-form';\n\nexport const FormContext = createContext({});\n\nconst FormElement = tasty({\n as: 'form',\n qa: 'Form',\n styles: {\n display: {\n '': 'block',\n horizontal: 'flex',\n },\n flow: {\n '': 'column',\n horizontal: 'row',\n },\n placeItems: {\n '': 'initial',\n horizontal: 'center',\n },\n gap: '2x',\n '$label-width': '25x',\n },\n});\n\nexport function useFormProps(props) {\n const ctx = useContext(FormContext);\n\n return { ...ctx, ...props };\n}\n\nconst formPropNames = new Set([\n 'action',\n 'autoComplete',\n 'encType',\n 'method',\n 'target',\n]);\n\nexport interface CubeFormProps<T extends FieldTypes = FieldTypes>\n extends FormBaseProps,\n BaseProps,\n ContainerStyleProps,\n Pick<\n FormHTMLAttributes<HTMLFormElement>,\n 'action' | 'autoComplete' | 'encType' | 'method' | 'target'\n > {\n /** Form name */\n name?: string;\n /** Default field values */\n defaultValues?: Partial<T>;\n /** Trigger when any value of the Field is changed */\n onValuesChange?: CubeFormInstance<T>['onValuesChange'];\n /** Trigger on form submit and success */\n onSubmit?: CubeFormInstance<T>['onSubmit'];\n /** Trigger on form submit and failed */\n onSubmitFailed?: (any?) => void | Promise<any>;\n /** Set form instance created by useForm */\n form?: CubeFormInstance<T, CubeFormData<T>>;\n /** The size of the side area with labels. Only for `labelPosition=\"side\"` */\n labelWidth?: Styles['width'];\n orientation?: 'vertical' | 'horizontal';\n}\n\nfunction Form<T extends FieldTypes>(\n props: CubeFormProps<T>,\n ref: DOMRef<HTMLFormElement>,\n) {\n props = useProviderProps(props);\n let {\n qa,\n name,\n children,\n labelPosition,\n orientation,\n necessityIndicator,\n isDisabled,\n isReadOnly,\n validationState,\n labelStyles,\n validateTrigger,\n showValid,\n defaultValues,\n onValuesChange,\n requiredMark = true,\n form,\n labelWidth,\n onSubmit,\n onSubmitFailed,\n ...otherProps\n } = props;\n const defaultValuesRef = useRef(defaultValues);\n const firstRunRef = useRef(true);\n const isHorizontal = orientation === 'horizontal';\n\n if (!orientation) {\n orientation = 'vertical';\n }\n\n if (!labelPosition) {\n labelPosition = isHorizontal ? 'side' : 'top';\n }\n\n if (!labelWidth) {\n labelWidth = isHorizontal ? 'auto' : undefined;\n }\n\n ref = useCombinedRefs(ref);\n\n let onSubmitCallback;\n\n if ((onSubmit || onSubmitFailed) && !otherProps.action) {\n onSubmitCallback = async (e) => {\n if (e && e?.preventDefault) {\n e && e?.preventDefault && e?.preventDefault();\n e && e?.stopPropagation && e?.stopPropagation();\n\n if (e.nativeEvent) {\n const evt = e.nativeEvent;\n\n if (\n evt.submitter &&\n evt.submitter.getAttribute('type') !== 'submit'\n ) {\n return;\n }\n }\n }\n\n if (!form || form.isSubmitting) return;\n\n form.submitError = null;\n form.setSubmitting(true);\n\n try {\n try {\n await form.validateFields();\n } catch (e) {\n form?.setSubmitting(false);\n\n return;\n }\n\n await timeout();\n await onSubmit?.(form.getFormData());\n } catch (e) {\n await timeout();\n\n // errors are shown\n form.submitError = e as ReactNode;\n // transfer errors to the callback\n onSubmitFailed?.(e);\n\n if (e instanceof Error) {\n throw e;\n }\n } finally {\n form?.setSubmitting(false);\n }\n\n // output data from form directly\n // onSubmit(Object.fromEntries(new FormData(e.target).entries()));\n };\n }\n\n [form] = useForm<T>(form, ref && ref.current, {\n onSubmit: onSubmitCallback,\n onValuesChange,\n });\n\n let styles = extractStyles(otherProps, CONTAINER_STYLES);\n\n if (labelWidth) {\n styles['$label-width'] = labelWidth;\n }\n\n let domRef = useDOMRef(ref as any);\n\n let ctx = {\n labelPosition,\n labelStyles,\n orientation,\n necessityIndicator,\n validateTrigger,\n requiredMark,\n showValid,\n form,\n submitError: form.submitError,\n idPrefix: name,\n };\n\n if (firstRunRef.current && form) {\n if (defaultValues) {\n form.setInitialFieldsValue(defaultValues);\n form.resetFields(undefined, true);\n firstRunRef.current = false;\n }\n }\n\n if (defaultValuesRef.current !== defaultValues) {\n form?.setInitialFieldsValue(defaultValues ?? {});\n defaultValuesRef.current = defaultValues;\n }\n\n return (\n <FormElement\n {...filterBaseProps(otherProps, { propNames: formPropNames })}\n ref={domRef}\n noValidate\n qa={qa}\n styles={styles}\n mods={{\n 'has-sider': labelPosition === 'side',\n 'has-split': labelPosition === 'split',\n horizontal: isHorizontal,\n }}\n onSubmit={onSubmitCallback}\n >\n <FormContext.Provider value={ctx}>\n <Provider\n insideForm={true}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n validationState={validationState}\n >\n {children}\n </Provider>\n </FormContext.Provider>\n </FormElement>\n );\n}\n\n/**\n * Forms allow users to enter data that can be submitted while providing alignment and styling for form fields.\n */\nconst _Form = forwardRef(Form) as unknown as <T extends FieldTypes>(\n props: CubeFormProps<T> & { ref?: DOMRef<HTMLFormElement> },\n) => ReactElement;\n\n(_Form as any).displayName = 'Form';\n\nexport { _Form as Form };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Form.js","names":[],"sources":["../../../../src/components/form/Form/Form.tsx"],"sourcesContent":["import { useDOMRef } from '@react-spectrum/utils';\nimport { DOMRef } from '@react-types/shared';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n filterBaseProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n createContext,\n FormHTMLAttributes,\n forwardRef,\n ReactElement,\n ReactNode,\n useContext,\n useRef,\n} from 'react';\n\nimport { Provider, useProviderProps } from '../../../provider';\nimport { FormBaseProps } from '../../../shared/index';\nimport { timeout } from '../../../utils/promise';\nimport { useCombinedRefs } from '../../../utils/react/index';\nimport { extractStyles } from '../../../utils/styles';\n\nimport { FieldTypes } from './types';\nimport { CubeFormData, CubeFormInstance, useForm } from './use-form';\n\nexport const FormContext = createContext({});\n\nconst FormElement = tasty({\n as: 'form',\n qa: 'Form',\n styles: {\n display: {\n '': 'block',\n horizontal: 'flex',\n },\n flow: {\n '': 'column',\n horizontal: 'row',\n },\n placeItems: {\n '': 'initial',\n horizontal: 'center',\n },\n gap: '2x',\n '$label-width': '25x',\n },\n});\n\nexport function useFormProps(props) {\n const ctx = useContext(FormContext);\n\n return { ...ctx, ...props };\n}\n\nconst formPropNames = new Set([\n 'action',\n 'autoComplete',\n 'encType',\n 'method',\n 'target',\n]);\n\nexport interface CubeFormProps<T extends FieldTypes = FieldTypes>\n extends FormBaseProps,\n BaseProps,\n ContainerStyleProps,\n Pick<\n FormHTMLAttributes<HTMLFormElement>,\n 'action' | 'autoComplete' | 'encType' | 'method' | 'target'\n > {\n /** Form name */\n name?: string;\n /** Default field values */\n defaultValues?: Partial<T>;\n /** Trigger when any value of the Field is changed */\n onValuesChange?: CubeFormInstance<T>['onValuesChange'];\n /** Trigger on form submit and success */\n onSubmit?: CubeFormInstance<T>['onSubmit'];\n /** Trigger on form submit and failed */\n onSubmitFailed?: (any?) => void | Promise<any>;\n /** Set form instance created by useForm */\n form?: CubeFormInstance<T, CubeFormData<T>>;\n /** The size of the side area with labels. Only for `labelPosition=\"side\"` */\n labelWidth?: Styles['width'];\n orientation?: 'vertical' | 'horizontal';\n}\n\nfunction Form<T extends FieldTypes>(\n props: CubeFormProps<T>,\n ref: DOMRef<HTMLFormElement>,\n) {\n props = useProviderProps(props);\n let {\n qa,\n name,\n children,\n labelPosition,\n orientation,\n necessityIndicator,\n isDisabled,\n isReadOnly,\n validationState,\n labelStyles,\n validateTrigger,\n showValid,\n defaultValues,\n onValuesChange,\n requiredMark = true,\n form,\n labelWidth,\n onSubmit,\n onSubmitFailed,\n ...otherProps\n } = props;\n const defaultValuesRef = useRef(defaultValues);\n const firstRunRef = useRef(true);\n const isHorizontal = orientation === 'horizontal';\n\n if (!orientation) {\n orientation = 'vertical';\n }\n\n if (!labelPosition) {\n labelPosition = isHorizontal ? 'side' : 'top';\n }\n\n if (!labelWidth) {\n labelWidth = isHorizontal ? 'auto' : undefined;\n }\n\n ref = useCombinedRefs(ref);\n\n let onSubmitCallback;\n\n if ((onSubmit || onSubmitFailed) && !otherProps.action) {\n onSubmitCallback = async (e) => {\n if (e && e?.preventDefault) {\n e && e?.preventDefault && e?.preventDefault();\n e && e?.stopPropagation && e?.stopPropagation();\n\n if (e.nativeEvent) {\n const evt = e.nativeEvent;\n\n if (\n evt.submitter &&\n evt.submitter.getAttribute('type') !== 'submit'\n ) {\n return;\n }\n }\n }\n\n if (!form || form.isSubmitting) return;\n\n form.submitError = null;\n form.setSubmitting(true);\n\n try {\n try {\n await form.validateFields();\n } catch (e) {\n form?.setSubmitting(false);\n\n return;\n }\n\n await timeout();\n await onSubmit?.(form.getFormData());\n } catch (e) {\n await timeout();\n\n // errors are shown\n form.submitError = e as ReactNode;\n // transfer errors to the callback\n onSubmitFailed?.(e);\n\n if (e instanceof Error) {\n throw e;\n }\n } finally {\n form?.setSubmitting(false);\n }\n\n // output data from form directly\n // onSubmit(Object.fromEntries(new FormData(e.target).entries()));\n };\n }\n\n [form] = useForm<T>(form, ref && ref.current, {\n onSubmit: onSubmitCallback,\n onValuesChange,\n });\n\n let styles = extractStyles(otherProps, CONTAINER_STYLES);\n\n if (labelWidth) {\n styles['$label-width'] = labelWidth;\n }\n\n let domRef = useDOMRef(ref as any);\n\n let ctx = {\n labelPosition,\n labelStyles,\n orientation,\n necessityIndicator,\n validateTrigger,\n requiredMark,\n showValid,\n form,\n submitError: form.submitError,\n idPrefix: name,\n };\n\n if (firstRunRef.current && form) {\n if (defaultValues) {\n form.setInitialFieldsValue(defaultValues);\n form.resetFields(undefined, true);\n firstRunRef.current = false;\n }\n }\n\n if (defaultValuesRef.current !== defaultValues) {\n form?.setInitialFieldsValue(defaultValues ?? {});\n defaultValuesRef.current = defaultValues;\n }\n\n return (\n <FormElement\n {...filterBaseProps(otherProps, { propNames: formPropNames })}\n ref={domRef}\n noValidate\n qa={qa}\n styles={styles}\n mods={{\n 'has-sider': labelPosition === 'side',\n 'has-split': labelPosition === 'split',\n horizontal: isHorizontal,\n }}\n onSubmit={onSubmitCallback}\n >\n <FormContext.Provider value={ctx}>\n <Provider\n insideForm={true}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n validationState={validationState}\n >\n {children}\n </Provider>\n </FormContext.Provider>\n </FormElement>\n );\n}\n\n/**\n * Forms allow users to enter data that can be submitted while providing alignment and styling for form fields.\n */\nconst _Form = forwardRef(Form) as unknown as <T extends FieldTypes>(\n props: CubeFormProps<T> & { ref?: DOMRef<HTMLFormElement> },\n) => ReactElement;\n\n(_Form as any).displayName = 'Form';\n\nexport { _Form as Form };\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
2
  import { mergeProps } from "../../../../utils/react/mergeProps.js";
3
3
  import { useEvent } from "../../../../_internal/hooks/use-event.js";
4
4
  import { useProviderProps } from "../../../../provider.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
2
  import { useProviderProps } from "../../../../provider.js";
3
3
  import { Button } from "../../../actions/Button/Button.js";
4
4
  import { useFormProps } from "../Form.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
2
  import { FormContext } from "./Form.js";
3
3
  import { Alert } from "../../content/Alert/Alert.js";
4
4
  import { forwardRef, isValidElement, useContext } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
2
  import { useForm } from "./use-form.js";
3
3
  import { FormContext, _Form, useFormProps } from "./Form.js";
4
4
  import { useField } from "./use-field/use-field.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
2
  import { mergeProps } from "../../../../utils/react/mergeProps.js";
3
3
  import { useEvent } from "../../../../_internal/hooks/use-event.js";
4
4
  import { warn } from "../../../../utils/warnings.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
2
  import { useEvent } from "../../../../_internal/hooks/use-event.js";
3
3
  import { useIsFirstRender } from "../../../../_internal/hooks/use-is-first-render.js";
4
4
  import { delayValidationRule } from "../validation.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
2
  import { applyRules } from "./validation.js";
3
3
  import { dotize } from "@tenphi/tasty";
4
4
  import { useRef, useState } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
2
  import { validate } from "email-validator";
3
3
  import validUrl from "valid-url";
4
4
 
@@ -1,6 +1,7 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
+ import { extractStyles } from "../../utils/styles.js";
2
3
  import { useProviderProps } from "../../provider.js";
3
- import { CONTAINER_STYLES, extractStyles, filterBaseProps, tasty } from "@tenphi/tasty";
4
+ import { CONTAINER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
4
5
  import { forwardRef } from "react";
5
6
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
6
7
  import { useDOMRef } from "@react-spectrum/utils";
@@ -1 +1 @@
1
- {"version":3,"file":"Label.js","names":[],"sources":["../../../src/components/form/Label.tsx"],"sourcesContent":["import { useDOMRef } from '@react-spectrum/utils';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n extractStyles,\n filterBaseProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef } from 'react';\n\nimport { useProviderProps } from '../../provider';\nimport {\n LabelPosition,\n NecessityIndicator,\n ValidationState,\n} from '../../shared/index';\n\nconst REQUIRED_ICON = (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n version=\"1.1\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 100 125\"\n style={{\n // @ts-ignore\n enableBackground: 'new 0 0 100 100',\n width: '.8em',\n height: '.8em',\n transform: 'rotate(-5deg)',\n }}\n >\n <switch>\n <g>\n <polygon\n fill=\"currentColor\"\n points=\"97.5,47.5 90.5,26.1 61.3,35.6 61.3,4.8 38.7,4.8 38.7,35.6 9.5,26.1 2.5,47.5 31.8,57 13.7,82 31.9,95.2 50,70.3 68.1,95.2 86.3,82 68.2,57\"\n />\n </g>\n </switch>\n </svg>\n);\n\nconst INTL_MESSAGES = {\n '(required)': '(required)',\n '(optional)': '(optional)',\n};\n\nexport const INLINE_LABEL_STYLES: Styles = {\n preset: 't3',\n color: {\n '': '#dark-02',\n invalid: '#danger-text',\n },\n} as const;\n\nexport const LABEL_STYLES: Styles = {\n display: 'block',\n preset: {\n '': 't3m',\n 'size=small': 't4',\n },\n color: {\n '': '#dark',\n invalid: '#danger-text',\n },\n width: {\n '': 'initial',\n side: '($label-width, initial)',\n split: 'initial',\n },\n};\n\nconst LabelElement = tasty({\n as: 'label',\n qa: 'Label',\n styles: LABEL_STYLES,\n});\n\nexport interface CubeLabelProps extends BaseProps, ContainerStyleProps {\n labelPosition?: LabelPosition;\n necessityIndicator?: NecessityIndicator;\n isRequired?: boolean;\n includeNecessityIndicatorInAccessibilityName?: boolean;\n htmlFor?: string;\n for?: string;\n validationState?: ValidationState;\n size?: 'medium' | 'small';\n}\n\nfunction Label(props: CubeLabelProps, ref) {\n props = useProviderProps<CubeLabelProps>(props);\n\n let {\n as,\n qa,\n children,\n labelPosition = 'top',\n isRequired,\n necessityIndicator = isRequired != null ? 'icon' : null,\n includeNecessityIndicatorInAccessibilityName = false,\n htmlFor,\n isDisabled,\n validationState,\n size = 'medium',\n for: labelFor,\n ...otherProps\n } = props;\n\n let domRef = useDOMRef(ref);\n\n const styles = extractStyles(otherProps, CONTAINER_STYLES);\n\n let formatMessage = (message) => INTL_MESSAGES[message];\n let necessityLabel = isRequired\n ? formatMessage('(required)')\n : formatMessage('(optional)');\n let icon = (\n <span\n aria-label={\n includeNecessityIndicatorInAccessibilityName\n ? formatMessage('(required)')\n : undefined\n }\n >\n {REQUIRED_ICON}\n </span>\n );\n\n return (\n <LabelElement\n {...filterBaseProps(otherProps)}\n ref={domRef}\n styles={styles}\n htmlFor={labelFor || htmlFor}\n data-size={size}\n mods={{\n side: labelPosition === 'side',\n disabled: isDisabled,\n invalid: validationState === 'invalid',\n valid: validationState === 'valid',\n }}\n >\n {typeof children !== 'string' ? (\n children\n ) : (\n <>\n {children}\n {(necessityIndicator === 'label' ||\n (necessityIndicator === 'icon' && isRequired)) &&\n ' \\u200b'}\n {/* necessityLabel is hidden to screen readers if the field is required because\n * aria-required is set on the field in that case. That will already be announced,\n * so no need to duplicate it here. If optional, we do want it to be announced here. */}\n {necessityIndicator === 'label' && (\n <span\n aria-hidden={\n !includeNecessityIndicatorInAccessibilityName\n ? isRequired\n : undefined\n }\n >\n {necessityLabel}\n </span>\n )}\n {necessityIndicator === 'icon' && isRequired && icon}\n </>\n )}\n </LabelElement>\n );\n}\n\nlet _Label = forwardRef(Label);\n\n_Label.displayName = 'Label';\n\nexport { _Label as Label };\n"],"mappings":";;;;;;;;AAmBA,MAAM,gBACJ,oBAAC;CACC,OAAM;CACN,SAAQ;CACR,GAAE;CACF,GAAE;CACF,SAAQ;CACR,OAAO;EAEL,kBAAkB;EAClB,OAAO;EACP,QAAQ;EACR,WAAW;EACZ;WAED,oBAAC,sBACC,oBAAC,iBACC,oBAAC;EACC,MAAK;EACL,QAAO;GACP,GACA,GACG;EACL;AAGR,MAAM,gBAAgB;CACpB,cAAc;CACd,cAAc;CACf;AAED,MAAa,sBAA8B;CACzC,QAAQ;CACR,OAAO;EACL,IAAI;EACJ,SAAS;EACV;CACF;AAED,MAAa,eAAuB;CAClC,SAAS;CACT,QAAQ;EACN,IAAI;EACJ,cAAc;EACf;CACD,OAAO;EACL,IAAI;EACJ,SAAS;EACV;CACD,OAAO;EACL,IAAI;EACJ,MAAM;EACN,OAAO;EACR;CACF;AAED,MAAM,eAAe,MAAM;CACzB,IAAI;CACJ,IAAI;CACJ,QAAQ;CACT,CAAC;AAaF,SAAS,MAAM,OAAuB,KAAK;AACzC,SAAQ,iBAAiC,MAAM;CAE/C,IAAI,EACF,IACA,IACA,UACA,gBAAgB,OAChB,YACA,qBAAqB,cAAc,OAAO,SAAS,MACnD,+CAA+C,OAC/C,SACA,YACA,iBACA,OAAO,UACP,KAAK,UACL,GAAG,eACD;CAEJ,IAAI,SAAS,UAAU,IAAI;CAE3B,MAAM,SAAS,cAAc,YAAY,iBAAiB;CAE1D,IAAI,iBAAiB,YAAY,cAAc;CAC/C,IAAI,iBAAiB,aACjB,cAAc,aAAa,GAC3B,cAAc,aAAa;CAC/B,IAAI,OACF,oBAAC;EACC,cACE,+CACI,cAAc,aAAa,GAC3B;YAGL;GACI;AAGT,QACE,oBAAC;EACC,GAAI,gBAAgB,WAAW;EAC/B,KAAK;EACG;EACR,SAAS,YAAY;EACrB,aAAW;EACX,MAAM;GACJ,MAAM,kBAAkB;GACxB,UAAU;GACV,SAAS,oBAAoB;GAC7B,OAAO,oBAAoB;GAC5B;YAEA,OAAO,aAAa,WACnB,WAEA;GACG;IACC,uBAAuB,WACtB,uBAAuB,UAAU,eAClC;GAID,uBAAuB,WACtB,oBAAC;IACC,eACE,CAAC,+CACG,aACA;cAGL;KACI;GAER,uBAAuB,UAAU,cAAc;MAC/C;GAEQ;;AAInB,IAAI,SAAS,WAAW,MAAM;AAE9B,OAAO,cAAc"}
1
+ {"version":3,"file":"Label.js","names":[],"sources":["../../../src/components/form/Label.tsx"],"sourcesContent":["import { useDOMRef } from '@react-spectrum/utils';\nimport {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n filterBaseProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef } from 'react';\n\nimport { useProviderProps } from '../../provider';\nimport {\n LabelPosition,\n NecessityIndicator,\n ValidationState,\n} from '../../shared/index';\nimport { extractStyles } from '../../utils/styles';\n\nconst REQUIRED_ICON = (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n version=\"1.1\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 100 125\"\n style={{\n // @ts-ignore\n enableBackground: 'new 0 0 100 100',\n width: '.8em',\n height: '.8em',\n transform: 'rotate(-5deg)',\n }}\n >\n <switch>\n <g>\n <polygon\n fill=\"currentColor\"\n points=\"97.5,47.5 90.5,26.1 61.3,35.6 61.3,4.8 38.7,4.8 38.7,35.6 9.5,26.1 2.5,47.5 31.8,57 13.7,82 31.9,95.2 50,70.3 68.1,95.2 86.3,82 68.2,57\"\n />\n </g>\n </switch>\n </svg>\n);\n\nconst INTL_MESSAGES = {\n '(required)': '(required)',\n '(optional)': '(optional)',\n};\n\nexport const INLINE_LABEL_STYLES: Styles = {\n preset: 't3',\n color: {\n '': '#dark-02',\n invalid: '#danger-text',\n },\n} as const;\n\nexport const LABEL_STYLES: Styles = {\n display: 'block',\n preset: {\n '': 't3m',\n 'size=small': 't4',\n },\n color: {\n '': '#dark',\n invalid: '#danger-text',\n },\n width: {\n '': 'initial',\n side: '($label-width, initial)',\n split: 'initial',\n },\n};\n\nconst LabelElement = tasty({\n as: 'label',\n qa: 'Label',\n styles: LABEL_STYLES,\n});\n\nexport interface CubeLabelProps extends BaseProps, ContainerStyleProps {\n labelPosition?: LabelPosition;\n necessityIndicator?: NecessityIndicator;\n isRequired?: boolean;\n includeNecessityIndicatorInAccessibilityName?: boolean;\n htmlFor?: string;\n for?: string;\n validationState?: ValidationState;\n size?: 'medium' | 'small';\n}\n\nfunction Label(props: CubeLabelProps, ref) {\n props = useProviderProps<CubeLabelProps>(props);\n\n let {\n as,\n qa,\n children,\n labelPosition = 'top',\n isRequired,\n necessityIndicator = isRequired != null ? 'icon' : null,\n includeNecessityIndicatorInAccessibilityName = false,\n htmlFor,\n isDisabled,\n validationState,\n size = 'medium',\n for: labelFor,\n ...otherProps\n } = props;\n\n let domRef = useDOMRef(ref);\n\n const styles = extractStyles(otherProps, CONTAINER_STYLES);\n\n let formatMessage = (message) => INTL_MESSAGES[message];\n let necessityLabel = isRequired\n ? formatMessage('(required)')\n : formatMessage('(optional)');\n let icon = (\n <span\n aria-label={\n includeNecessityIndicatorInAccessibilityName\n ? formatMessage('(required)')\n : undefined\n }\n >\n {REQUIRED_ICON}\n </span>\n );\n\n return (\n <LabelElement\n {...filterBaseProps(otherProps)}\n ref={domRef}\n styles={styles}\n htmlFor={labelFor || htmlFor}\n data-size={size}\n mods={{\n side: labelPosition === 'side',\n disabled: isDisabled,\n invalid: validationState === 'invalid',\n valid: validationState === 'valid',\n }}\n >\n {typeof children !== 'string' ? (\n children\n ) : (\n <>\n {children}\n {(necessityIndicator === 'label' ||\n (necessityIndicator === 'icon' && isRequired)) &&\n ' \\u200b'}\n {/* necessityLabel is hidden to screen readers if the field is required because\n * aria-required is set on the field in that case. That will already be announced,\n * so no need to duplicate it here. If optional, we do want it to be announced here. */}\n {necessityIndicator === 'label' && (\n <span\n aria-hidden={\n !includeNecessityIndicatorInAccessibilityName\n ? isRequired\n : undefined\n }\n >\n {necessityLabel}\n </span>\n )}\n {necessityIndicator === 'icon' && isRequired && icon}\n </>\n )}\n </LabelElement>\n );\n}\n\nlet _Label = forwardRef(Label);\n\n_Label.displayName = 'Label';\n\nexport { _Label as Label };\n"],"mappings":";;;;;;;;;AAmBA,MAAM,gBACJ,oBAAC;CACC,OAAM;CACN,SAAQ;CACR,GAAE;CACF,GAAE;CACF,SAAQ;CACR,OAAO;EAEL,kBAAkB;EAClB,OAAO;EACP,QAAQ;EACR,WAAW;EACZ;WAED,oBAAC,sBACC,oBAAC,iBACC,oBAAC;EACC,MAAK;EACL,QAAO;GACP,GACA,GACG;EACL;AAGR,MAAM,gBAAgB;CACpB,cAAc;CACd,cAAc;CACf;AAED,MAAa,sBAA8B;CACzC,QAAQ;CACR,OAAO;EACL,IAAI;EACJ,SAAS;EACV;CACF;AAED,MAAa,eAAuB;CAClC,SAAS;CACT,QAAQ;EACN,IAAI;EACJ,cAAc;EACf;CACD,OAAO;EACL,IAAI;EACJ,SAAS;EACV;CACD,OAAO;EACL,IAAI;EACJ,MAAM;EACN,OAAO;EACR;CACF;AAED,MAAM,eAAe,MAAM;CACzB,IAAI;CACJ,IAAI;CACJ,QAAQ;CACT,CAAC;AAaF,SAAS,MAAM,OAAuB,KAAK;AACzC,SAAQ,iBAAiC,MAAM;CAE/C,IAAI,EACF,IACA,IACA,UACA,gBAAgB,OAChB,YACA,qBAAqB,cAAc,OAAO,SAAS,MACnD,+CAA+C,OAC/C,SACA,YACA,iBACA,OAAO,UACP,KAAK,UACL,GAAG,eACD;CAEJ,IAAI,SAAS,UAAU,IAAI;CAE3B,MAAM,SAAS,cAAc,YAAY,iBAAiB;CAE1D,IAAI,iBAAiB,YAAY,cAAc;CAC/C,IAAI,iBAAiB,aACjB,cAAc,aAAa,GAC3B,cAAc,aAAa;CAC/B,IAAI,OACF,oBAAC;EACC,cACE,+CACI,cAAc,aAAa,GAC3B;YAGL;GACI;AAGT,QACE,oBAAC;EACC,GAAI,gBAAgB,WAAW;EAC/B,KAAK;EACG;EACR,SAAS,YAAY;EACrB,aAAW;EACX,MAAM;GACJ,MAAM,kBAAkB;GACxB,UAAU;GACV,SAAS,oBAAoB;GAC7B,OAAO,oBAAoB;GAC5B;YAEA,OAAO,aAAa,WACnB,WAEA;GACG;IACC,uBAAuB,WACtB,uBAAuB,UAAU,eAClC;GAID,uBAAuB,WACtB,oBAAC;IACC,eACE,CAAC,+CACG,aACA;cAGL;KACI;GAER,uBAAuB,UAAU,cAAc;MAC/C;GAEQ;;AAInB,IAAI,SAAS,WAAW,MAAM;AAE9B,OAAO,cAAc"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
2
  import { mergeProps } from "../../utils/react/mergeProps.js";
3
3
  import { FieldWrapper } from "./FieldWrapper/FieldWrapper.js";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
2
  import { useCallback, useEffect, useLayoutEffect, useRef, useState } from "react";
3
3
 
4
4
  //#region src/components/helpers/DisplayTransition/DisplayTransition.tsx
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
2
  import { DisplayTransition } from "../DisplayTransition/DisplayTransition.js";
3
3
  import { tasty } from "@tenphi/tasty";
4
4
  import { isValidElement, useCallback, useLayoutEffect, useRef, useState } from "react";
@@ -1,5 +1,6 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
2
- import { CONTAINER_STYLES, extractStyles, filterBaseProps, tasty } from "@tenphi/tasty";
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
+ import { extractStyles } from "../../utils/styles.js";
3
+ import { CONTAINER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
3
4
  import { forwardRef } from "react";
4
5
  import { jsx } from "react/jsx-runtime";
5
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"Flex.js","names":[],"sources":["../../../src/components/layout/Flex.tsx"],"sourcesContent":["import {\n AllBaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n extractStyles,\n filterBaseProps,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef } from 'react';\n\nconst FlexElement = tasty({\n styles: {\n display: 'flex',\n flow: 'row',\n },\n});\n\nexport interface CubeFlexProps extends AllBaseProps, ContainerStyleProps {}\n\nexport const Flex = forwardRef(function Flex(props: CubeFlexProps, ref) {\n const styles = extractStyles(props, CONTAINER_STYLES);\n\n return (\n <FlexElement\n {...filterBaseProps(props, { eventProps: true })}\n ref={ref}\n styles={styles}\n />\n );\n});\n"],"mappings":";;;;;;AAUA,MAAM,cAAc,MAAM,EACxB,QAAQ;CACN,SAAS;CACT,MAAM;CACP,EACF,CAAC;AAIF,MAAa,OAAO,WAAW,SAAS,KAAK,OAAsB,KAAK;CACtE,MAAM,SAAS,cAAc,OAAO,iBAAiB;AAErD,QACE,oBAAC;EACC,GAAI,gBAAgB,OAAO,EAAE,YAAY,MAAM,CAAC;EAC3C;EACG;GACR;EAEJ"}
1
+ {"version":3,"file":"Flex.js","names":[],"sources":["../../../src/components/layout/Flex.tsx"],"sourcesContent":["import {\n AllBaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n filterBaseProps,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef } from 'react';\n\nimport { extractStyles } from '../../utils/styles';\n\nconst FlexElement = tasty({\n styles: {\n display: 'flex',\n flow: 'row',\n },\n});\n\nexport interface CubeFlexProps extends AllBaseProps, ContainerStyleProps {}\n\nexport const Flex = forwardRef(function Flex(props: CubeFlexProps, ref) {\n const styles = extractStyles(props, CONTAINER_STYLES);\n\n return (\n <FlexElement\n {...filterBaseProps(props, { eventProps: true })}\n ref={ref}\n styles={styles}\n />\n );\n});\n"],"mappings":";;;;;;;AAWA,MAAM,cAAc,MAAM,EACxB,QAAQ;CACN,SAAS;CACT,MAAM;CACP,EACF,CAAC;AAIF,MAAa,OAAO,WAAW,SAAS,KAAK,OAAsB,KAAK;CACtE,MAAM,SAAS,cAAc,OAAO,iBAAiB;AAErD,QACE,oBAAC;EACC,GAAI,gBAAgB,OAAO,EAAE,YAAY,MAAM,CAAC;EAC3C;EACG;GACR;EAEJ"}
@@ -1,5 +1,6 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
2
- import { CONTAINER_STYLES, extractStyles, filterBaseProps, tasty } from "@tenphi/tasty";
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
+ import { extractStyles } from "../../utils/styles.js";
3
+ import { CONTAINER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
3
4
  import { forwardRef } from "react";
4
5
  import { jsx } from "react/jsx-runtime";
5
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"Flow.js","names":[],"sources":["../../../src/components/layout/Flow.tsx"],"sourcesContent":["import {\n AllBaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n extractStyles,\n filterBaseProps,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef } from 'react';\n\nconst FlowElement = tasty({\n styles: {\n display: 'block',\n flow: 'column',\n },\n});\n\nconst STYLE_PROPS = CONTAINER_STYLES;\n\nexport interface CubeFlowProps extends AllBaseProps, ContainerStyleProps {}\n\nexport const Flow = forwardRef(function Flow(props: CubeFlowProps, ref) {\n const styles = extractStyles(props, STYLE_PROPS);\n\n return (\n <FlowElement\n {...filterBaseProps(props, { eventProps: true })}\n ref={ref}\n styles={styles}\n />\n );\n});\n"],"mappings":";;;;;;AAUA,MAAM,cAAc,MAAM,EACxB,QAAQ;CACN,SAAS;CACT,MAAM;CACP,EACF,CAAC;AAEF,MAAM,cAAc;AAIpB,MAAa,OAAO,WAAW,SAAS,KAAK,OAAsB,KAAK;CACtE,MAAM,SAAS,cAAc,OAAO,YAAY;AAEhD,QACE,oBAAC;EACC,GAAI,gBAAgB,OAAO,EAAE,YAAY,MAAM,CAAC;EAC3C;EACG;GACR;EAEJ"}
1
+ {"version":3,"file":"Flow.js","names":[],"sources":["../../../src/components/layout/Flow.tsx"],"sourcesContent":["import {\n AllBaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n filterBaseProps,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef } from 'react';\n\nimport { extractStyles } from '../../utils/styles';\n\nconst FlowElement = tasty({\n styles: {\n display: 'block',\n flow: 'column',\n },\n});\n\nconst STYLE_PROPS = CONTAINER_STYLES;\n\nexport interface CubeFlowProps extends AllBaseProps, ContainerStyleProps {}\n\nexport const Flow = forwardRef(function Flow(props: CubeFlowProps, ref) {\n const styles = extractStyles(props, STYLE_PROPS);\n\n return (\n <FlowElement\n {...filterBaseProps(props, { eventProps: true })}\n ref={ref}\n styles={styles}\n />\n );\n});\n"],"mappings":";;;;;;;AAWA,MAAM,cAAc,MAAM,EACxB,QAAQ;CACN,SAAS;CACT,MAAM;CACP,EACF,CAAC;AAEF,MAAM,cAAc;AAIpB,MAAa,OAAO,WAAW,SAAS,KAAK,OAAsB,KAAK;CACtE,MAAM,SAAS,cAAc,OAAO,YAAY;AAEhD,QACE,oBAAC;EACC,GAAI,gBAAgB,OAAO,EAAE,YAAY,MAAM,CAAC;EAC3C;EACG;GACR;EAEJ"}
@@ -1,5 +1,6 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
2
- import { CONTAINER_STYLES, extractStyles, filterBaseProps, tasty } from "@tenphi/tasty";
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
+ import { extractStyles } from "../../utils/styles.js";
3
+ import { CONTAINER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
3
4
  import { forwardRef } from "react";
4
5
  import { jsx } from "react/jsx-runtime";
5
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"Grid.js","names":[],"sources":["../../../src/components/layout/Grid.tsx"],"sourcesContent":["import {\n AllBaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n extractStyles,\n filterBaseProps,\n ShortGridStyles,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef } from 'react';\n\nconst GridElement = tasty({\n styles: {\n display: 'grid',\n flow: 'row',\n },\n});\n\nexport interface CubeGridProps\n extends Omit<AllBaseProps, 'rows'>,\n ContainerStyleProps,\n ShortGridStyles {}\n\nconst PROP_MAP = {\n template: 'gridTemplate',\n columns: 'gridColumns',\n rows: 'gridRows',\n areas: 'gridAreas',\n} as const;\n\nexport const Grid = forwardRef(function Grid(props: CubeGridProps, ref) {\n const styles = extractStyles(props, CONTAINER_STYLES, undefined, PROP_MAP);\n\n return (\n <GridElement\n {...filterBaseProps(props, { eventProps: true })}\n ref={ref}\n styles={styles}\n />\n );\n});\n"],"mappings":";;;;;;AAWA,MAAM,cAAc,MAAM,EACxB,QAAQ;CACN,SAAS;CACT,MAAM;CACP,EACF,CAAC;AAOF,MAAM,WAAW;CACf,UAAU;CACV,SAAS;CACT,MAAM;CACN,OAAO;CACR;AAED,MAAa,OAAO,WAAW,SAAS,KAAK,OAAsB,KAAK;CACtE,MAAM,SAAS,cAAc,OAAO,kBAAkB,QAAW,SAAS;AAE1E,QACE,oBAAC;EACC,GAAI,gBAAgB,OAAO,EAAE,YAAY,MAAM,CAAC;EAC3C;EACG;GACR;EAEJ"}
1
+ {"version":3,"file":"Grid.js","names":[],"sources":["../../../src/components/layout/Grid.tsx"],"sourcesContent":["import {\n AllBaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n filterBaseProps,\n ShortGridStyles,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef } from 'react';\n\nimport { extractStyles } from '../../utils/styles';\n\nconst GridElement = tasty({\n styles: {\n display: 'grid',\n flow: 'row',\n },\n});\n\nexport interface CubeGridProps\n extends Omit<AllBaseProps, 'rows'>,\n ContainerStyleProps,\n ShortGridStyles {}\n\nconst PROP_MAP = {\n template: 'gridTemplate',\n columns: 'gridColumns',\n rows: 'gridRows',\n areas: 'gridAreas',\n} as const;\n\nexport const Grid = forwardRef(function Grid(props: CubeGridProps, ref) {\n const styles = extractStyles(props, CONTAINER_STYLES, undefined, PROP_MAP);\n\n return (\n <GridElement\n {...filterBaseProps(props, { eventProps: true })}\n ref={ref}\n styles={styles}\n />\n );\n});\n"],"mappings":";;;;;;;AAYA,MAAM,cAAc,MAAM,EACxB,QAAQ;CACN,SAAS;CACT,MAAM;CACP,EACF,CAAC;AAOF,MAAM,WAAW;CACf,UAAU;CACV,SAAS;CACT,MAAM;CACN,OAAO;CACR;AAED,MAAa,OAAO,WAAW,SAAS,KAAK,OAAsB,KAAK;CACtE,MAAM,SAAS,cAAc,OAAO,kBAAkB,QAAW,SAAS;AAE1E,QACE,oBAAC;EACC,GAAI,gBAAgB,OAAO,EAAE,YAAY,MAAM,CAAC;EAC3C;EACG;GACR;EAEJ"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
2
  import { BASE_STYLES, BLOCK_STYLES, COLOR_STYLES, DIMENSION_STYLES, OUTER_STYLES, tasty } from "@tenphi/tasty";
3
3
  import { forwardRef, useMemo } from "react";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -1,7 +1,8 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
+ import { extractStyles } from "../../utils/styles.js";
2
3
  import { useLayoutEffect as useLayoutEffect$1 } from "../../utils/react/useLayoutEffect.js";
3
4
  import { useCombinedRefs } from "../../utils/react/useCombinedRefs.js";
4
- import { CONTAINER_STYLES, extractStyles, filterBaseProps, parseStyle, tasty } from "@tenphi/tasty";
5
+ import { CONTAINER_STYLES, filterBaseProps, parseStyle, tasty } from "@tenphi/tasty";
5
6
  import { forwardRef } from "react";
6
7
  import { jsx } from "react/jsx-runtime";
7
8
 
@@ -1 +1 @@
1
- {"version":3,"file":"Prefix.js","names":[],"sources":["../../../src/components/layout/Prefix.tsx"],"sourcesContent":["import {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n extractStyles,\n filterBaseProps,\n parseStyle,\n tasty,\n} from '@tenphi/tasty';\nimport { CSSProperties, forwardRef } from 'react';\n\nimport { useCombinedRefs, useLayoutEffect } from '../../utils/react';\n\nconst PrefixElement = tasty({\n element: 'Prefix',\n styles: {\n position: 'absolute',\n display: 'grid',\n placeContent: 'stretch',\n placeItems: 'center',\n flow: 'column',\n gap: 0,\n left: '$prefix-gap',\n top: '$prefix-gap',\n bottom: '$prefix-gap',\n color: '#dark-02',\n height: '(100% - (2 * $prefix-gap))',\n },\n});\n\nexport interface CubePrefixProps extends BaseProps, ContainerStyleProps {\n onWidthChange?: Function;\n outerGap?: CSSProperties['gap'];\n}\n\nexport const Prefix = forwardRef<HTMLDivElement, CubePrefixProps>(\n function Prefix(allProps, outerRef) {\n let { onWidthChange, outerGap = '1bw', children, ...props } = allProps;\n\n const styles = extractStyles(props, CONTAINER_STYLES);\n const ref = useCombinedRefs(outerRef);\n\n useLayoutEffect(() => {\n if (ref?.current && onWidthChange) {\n onWidthChange(ref.current.offsetWidth);\n }\n }, [children, ref, onWidthChange]);\n\n return (\n <PrefixElement\n {...filterBaseProps(props, { eventProps: true })}\n ref={ref}\n styles={styles}\n style={{\n // @ts-ignore\n '--prefix-gap': parseStyle(outerGap).output,\n }}\n >\n {children}\n </PrefixElement>\n );\n },\n);\n"],"mappings":";;;;;;;;AAaA,MAAM,gBAAgB,MAAM;CAC1B,SAAS;CACT,QAAQ;EACN,UAAU;EACV,SAAS;EACT,cAAc;EACd,YAAY;EACZ,MAAM;EACN,KAAK;EACL,MAAM;EACN,KAAK;EACL,QAAQ;EACR,OAAO;EACP,QAAQ;EACT;CACF,CAAC;AAOF,MAAa,SAAS,WACpB,SAAS,OAAO,UAAU,UAAU;CAClC,IAAI,EAAE,eAAe,WAAW,OAAO,UAAU,GAAG,UAAU;CAE9D,MAAM,SAAS,cAAc,OAAO,iBAAiB;CACrD,MAAM,MAAM,gBAAgB,SAAS;AAErC,yBAAsB;AACpB,MAAI,KAAK,WAAW,cAClB,eAAc,IAAI,QAAQ,YAAY;IAEvC;EAAC;EAAU;EAAK;EAAc,CAAC;AAElC,QACE,oBAAC;EACC,GAAI,gBAAgB,OAAO,EAAE,YAAY,MAAM,CAAC;EAC3C;EACG;EACR,OAAO,EAEL,gBAAgB,WAAW,SAAS,CAAC,QACtC;EAEA;GACa;EAGrB"}
1
+ {"version":3,"file":"Prefix.js","names":[],"sources":["../../../src/components/layout/Prefix.tsx"],"sourcesContent":["import {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n filterBaseProps,\n parseStyle,\n tasty,\n} from '@tenphi/tasty';\nimport { CSSProperties, forwardRef } from 'react';\n\nimport { useCombinedRefs, useLayoutEffect } from '../../utils/react';\nimport { extractStyles } from '../../utils/styles';\n\nconst PrefixElement = tasty({\n element: 'Prefix',\n styles: {\n position: 'absolute',\n display: 'grid',\n placeContent: 'stretch',\n placeItems: 'center',\n flow: 'column',\n gap: 0,\n left: '$prefix-gap',\n top: '$prefix-gap',\n bottom: '$prefix-gap',\n color: '#dark-02',\n height: '(100% - (2 * $prefix-gap))',\n },\n});\n\nexport interface CubePrefixProps extends BaseProps, ContainerStyleProps {\n onWidthChange?: Function;\n outerGap?: CSSProperties['gap'];\n}\n\nexport const Prefix = forwardRef<HTMLDivElement, CubePrefixProps>(\n function Prefix(allProps, outerRef) {\n let { onWidthChange, outerGap = '1bw', children, ...props } = allProps;\n\n const styles = extractStyles(props, CONTAINER_STYLES);\n const ref = useCombinedRefs(outerRef);\n\n useLayoutEffect(() => {\n if (ref?.current && onWidthChange) {\n onWidthChange(ref.current.offsetWidth);\n }\n }, [children, ref, onWidthChange]);\n\n return (\n <PrefixElement\n {...filterBaseProps(props, { eventProps: true })}\n ref={ref}\n styles={styles}\n style={{\n // @ts-ignore\n '--prefix-gap': parseStyle(outerGap).output,\n }}\n >\n {children}\n </PrefixElement>\n );\n },\n);\n"],"mappings":";;;;;;;;;AAaA,MAAM,gBAAgB,MAAM;CAC1B,SAAS;CACT,QAAQ;EACN,UAAU;EACV,SAAS;EACT,cAAc;EACd,YAAY;EACZ,MAAM;EACN,KAAK;EACL,MAAM;EACN,KAAK;EACL,QAAQ;EACR,OAAO;EACP,QAAQ;EACT;CACF,CAAC;AAOF,MAAa,SAAS,WACpB,SAAS,OAAO,UAAU,UAAU;CAClC,IAAI,EAAE,eAAe,WAAW,OAAO,UAAU,GAAG,UAAU;CAE9D,MAAM,SAAS,cAAc,OAAO,iBAAiB;CACrD,MAAM,MAAM,gBAAgB,SAAS;AAErC,yBAAsB;AACpB,MAAI,KAAK,WAAW,cAClB,eAAc,IAAI,QAAQ,YAAY;IAEvC;EAAC;EAAU;EAAK;EAAc,CAAC;AAElC,QACE,oBAAC;EACC,GAAI,gBAAgB,OAAO,EAAE,YAAY,MAAM,CAAC;EAC3C;EACG;EACR,OAAO,EAEL,gBAAgB,WAAW,SAAS,CAAC,QACtC;EAEA;GACa;EAGrB"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../utils/react/mergeProps.js";
3
3
  import { useCombinedRefs } from "../../utils/react/useCombinedRefs.js";
4
4
  import { useEvent } from "../../_internal/hooks/use-event.js";
@@ -1,5 +1,6 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
2
- import { CONTAINER_STYLES, extractStyles, filterBaseProps, tasty } from "@tenphi/tasty";
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
+ import { extractStyles } from "../../utils/styles.js";
3
+ import { CONTAINER_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
3
4
  import { forwardRef } from "react";
4
5
  import { jsx } from "react/jsx-runtime";
5
6
 
@@ -1 +1 @@
1
- {"version":3,"file":"Space.js","names":[],"sources":["../../../src/components/layout/Space.tsx"],"sourcesContent":["import {\n AllBaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n extractStyles,\n filterBaseProps,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef } from 'react';\n\nconst SpaceElement = tasty({\n styles: {\n display: 'flex',\n gap: true,\n flow: {\n '': 'row',\n vertical: 'column',\n },\n placeItems: {\n '': 'center stretch',\n vertical: 'stretch',\n },\n },\n});\n\nexport interface CubeSpaceProps extends AllBaseProps, ContainerStyleProps {\n direction?: 'vertical' | 'horizontal';\n}\n\nexport const Space = forwardRef(function Space(props: CubeSpaceProps, ref) {\n const { mods, direction, ...otherProps } = props;\n const styles = extractStyles(otherProps, CONTAINER_STYLES);\n\n return (\n <SpaceElement\n {...filterBaseProps(otherProps, { eventProps: true })}\n ref={ref}\n mods={{\n vertical:\n direction === 'vertical' ||\n otherProps.flow === 'column' ||\n styles.flow === 'column',\n ...mods,\n }}\n styles={styles}\n />\n );\n});\n"],"mappings":";;;;;;AAUA,MAAM,eAAe,MAAM,EACzB,QAAQ;CACN,SAAS;CACT,KAAK;CACL,MAAM;EACJ,IAAI;EACJ,UAAU;EACX;CACD,YAAY;EACV,IAAI;EACJ,UAAU;EACX;CACF,EACF,CAAC;AAMF,MAAa,QAAQ,WAAW,SAAS,MAAM,OAAuB,KAAK;CACzE,MAAM,EAAE,MAAM,WAAW,GAAG,eAAe;CAC3C,MAAM,SAAS,cAAc,YAAY,iBAAiB;AAE1D,QACE,oBAAC;EACC,GAAI,gBAAgB,YAAY,EAAE,YAAY,MAAM,CAAC;EAChD;EACL,MAAM;GACJ,UACE,cAAc,cACd,WAAW,SAAS,YACpB,OAAO,SAAS;GAClB,GAAG;GACJ;EACO;GACR;EAEJ"}
1
+ {"version":3,"file":"Space.js","names":[],"sources":["../../../src/components/layout/Space.tsx"],"sourcesContent":["import {\n AllBaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n filterBaseProps,\n tasty,\n} from '@tenphi/tasty';\nimport { forwardRef } from 'react';\n\nimport { extractStyles } from '../../utils/styles';\n\nconst SpaceElement = tasty({\n styles: {\n display: 'flex',\n gap: true,\n flow: {\n '': 'row',\n vertical: 'column',\n },\n placeItems: {\n '': 'center stretch',\n vertical: 'stretch',\n },\n },\n});\n\nexport interface CubeSpaceProps extends AllBaseProps, ContainerStyleProps {\n direction?: 'vertical' | 'horizontal';\n}\n\nexport const Space = forwardRef(function Space(props: CubeSpaceProps, ref) {\n const { mods, direction, ...otherProps } = props;\n const styles = extractStyles(otherProps, CONTAINER_STYLES);\n\n return (\n <SpaceElement\n {...filterBaseProps(otherProps, { eventProps: true })}\n ref={ref}\n mods={{\n vertical:\n direction === 'vertical' ||\n otherProps.flow === 'column' ||\n styles.flow === 'column',\n ...mods,\n }}\n styles={styles}\n />\n );\n});\n"],"mappings":";;;;;;;AAWA,MAAM,eAAe,MAAM,EACzB,QAAQ;CACN,SAAS;CACT,KAAK;CACL,MAAM;EACJ,IAAI;EACJ,UAAU;EACX;CACD,YAAY;EACV,IAAI;EACJ,UAAU;EACX;CACF,EACF,CAAC;AAMF,MAAa,QAAQ,WAAW,SAAS,MAAM,OAAuB,KAAK;CACzE,MAAM,EAAE,MAAM,WAAW,GAAG,eAAe;CAC3C,MAAM,SAAS,cAAc,YAAY,iBAAiB;AAE1D,QACE,oBAAC;EACC,GAAI,gBAAgB,YAAY,EAAE,YAAY,MAAM,CAAC;EAChD;EACL,MAAM;GACJ,UACE,cAAc,cACd,WAAW,SAAS,YACpB,OAAO,SAAS;GAClB,GAAG;GACJ;EACO;GACR;EAEJ"}
@@ -1,6 +1,7 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
+ import { extractStyles } from "../../utils/styles.js";
2
3
  import { useCombinedRefs } from "../../utils/react/useCombinedRefs.js";
3
- import { CONTAINER_STYLES, extractStyles, filterBaseProps, parseStyle, tasty } from "@tenphi/tasty";
4
+ import { CONTAINER_STYLES, filterBaseProps, parseStyle, tasty } from "@tenphi/tasty";
4
5
  import { forwardRef, useEffect } from "react";
5
6
  import { jsx } from "react/jsx-runtime";
6
7
 
@@ -1 +1 @@
1
- {"version":3,"file":"Suffix.js","names":[],"sources":["../../../src/components/layout/Suffix.tsx"],"sourcesContent":["import {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n extractStyles,\n filterBaseProps,\n parseStyle,\n tasty,\n} from '@tenphi/tasty';\nimport { CSSProperties, forwardRef, useEffect } from 'react';\n\nimport { useCombinedRefs } from '../../utils/react';\n\nconst SuffixElement = tasty({\n element: 'Suffix',\n styles: {\n position: 'absolute',\n display: 'grid',\n placeContent: 'stretch',\n placeItems: 'center',\n flow: 'column',\n gap: 0,\n right: '$suffix-gap',\n top: '$suffix-gap',\n bottom: '$suffix-gap',\n color: '#dark-02',\n height: '(100% - (2 * $suffix-gap))',\n },\n});\n\nexport interface CubeSuffixProps extends BaseProps, ContainerStyleProps {\n onWidthChange?: Function;\n outerGap?: CSSProperties['gap'];\n}\n\nexport const Suffix = forwardRef<HTMLDivElement, CubeSuffixProps>(\n function Suffix(allProps, outerRef) {\n let { onWidthChange, outerGap = '1bw', children, ...props } = allProps;\n const styles = extractStyles(props, CONTAINER_STYLES);\n const ref = useCombinedRefs(outerRef);\n\n useEffect(() => {\n if (ref && ref.current && onWidthChange) {\n onWidthChange(ref.current.offsetWidth);\n }\n }, [children, ref, onWidthChange]);\n\n return (\n <SuffixElement\n {...filterBaseProps(props, { eventProps: true })}\n ref={ref}\n styles={styles}\n style={{\n '--suffix-gap': parseStyle(outerGap).output,\n }}\n >\n {children}\n </SuffixElement>\n );\n },\n);\n"],"mappings":";;;;;;;AAaA,MAAM,gBAAgB,MAAM;CAC1B,SAAS;CACT,QAAQ;EACN,UAAU;EACV,SAAS;EACT,cAAc;EACd,YAAY;EACZ,MAAM;EACN,KAAK;EACL,OAAO;EACP,KAAK;EACL,QAAQ;EACR,OAAO;EACP,QAAQ;EACT;CACF,CAAC;AAOF,MAAa,SAAS,WACpB,SAAS,OAAO,UAAU,UAAU;CAClC,IAAI,EAAE,eAAe,WAAW,OAAO,UAAU,GAAG,UAAU;CAC9D,MAAM,SAAS,cAAc,OAAO,iBAAiB;CACrD,MAAM,MAAM,gBAAgB,SAAS;AAErC,iBAAgB;AACd,MAAI,OAAO,IAAI,WAAW,cACxB,eAAc,IAAI,QAAQ,YAAY;IAEvC;EAAC;EAAU;EAAK;EAAc,CAAC;AAElC,QACE,oBAAC;EACC,GAAI,gBAAgB,OAAO,EAAE,YAAY,MAAM,CAAC;EAC3C;EACG;EACR,OAAO,EACL,gBAAgB,WAAW,SAAS,CAAC,QACtC;EAEA;GACa;EAGrB"}
1
+ {"version":3,"file":"Suffix.js","names":[],"sources":["../../../src/components/layout/Suffix.tsx"],"sourcesContent":["import {\n BaseProps,\n CONTAINER_STYLES,\n ContainerStyleProps,\n filterBaseProps,\n parseStyle,\n tasty,\n} from '@tenphi/tasty';\nimport { CSSProperties, forwardRef, useEffect } from 'react';\n\nimport { useCombinedRefs } from '../../utils/react';\nimport { extractStyles } from '../../utils/styles';\n\nconst SuffixElement = tasty({\n element: 'Suffix',\n styles: {\n position: 'absolute',\n display: 'grid',\n placeContent: 'stretch',\n placeItems: 'center',\n flow: 'column',\n gap: 0,\n right: '$suffix-gap',\n top: '$suffix-gap',\n bottom: '$suffix-gap',\n color: '#dark-02',\n height: '(100% - (2 * $suffix-gap))',\n },\n});\n\nexport interface CubeSuffixProps extends BaseProps, ContainerStyleProps {\n onWidthChange?: Function;\n outerGap?: CSSProperties['gap'];\n}\n\nexport const Suffix = forwardRef<HTMLDivElement, CubeSuffixProps>(\n function Suffix(allProps, outerRef) {\n let { onWidthChange, outerGap = '1bw', children, ...props } = allProps;\n const styles = extractStyles(props, CONTAINER_STYLES);\n const ref = useCombinedRefs(outerRef);\n\n useEffect(() => {\n if (ref && ref.current && onWidthChange) {\n onWidthChange(ref.current.offsetWidth);\n }\n }, [children, ref, onWidthChange]);\n\n return (\n <SuffixElement\n {...filterBaseProps(props, { eventProps: true })}\n ref={ref}\n styles={styles}\n style={{\n '--suffix-gap': parseStyle(outerGap).output,\n }}\n >\n {children}\n </SuffixElement>\n );\n },\n);\n"],"mappings":";;;;;;;;AAaA,MAAM,gBAAgB,MAAM;CAC1B,SAAS;CACT,QAAQ;EACN,UAAU;EACV,SAAS;EACT,cAAc;EACd,YAAY;EACZ,MAAM;EACN,KAAK;EACL,OAAO;EACP,KAAK;EACL,QAAQ;EACR,OAAO;EACP,QAAQ;EACT;CACF,CAAC;AAOF,MAAa,SAAS,WACpB,SAAS,OAAO,UAAU,UAAU;CAClC,IAAI,EAAE,eAAe,WAAW,OAAO,UAAU,GAAG,UAAU;CAC9D,MAAM,SAAS,cAAc,OAAO,iBAAiB;CACrD,MAAM,MAAM,gBAAgB,SAAS;AAErC,iBAAgB;AACd,MAAI,OAAO,IAAI,WAAW,cACxB,eAAc,IAAI,QAAQ,YAAY;IAEvC;EAAC;EAAU;EAAK;EAAc,CAAC;AAElC,QACE,oBAAC;EACC,GAAI,gBAAgB,OAAO,EAAE,YAAY,MAAM,CAAC;EAC3C;EACG;EACR,OAAO,EACL,gBAAgB,WAAW,SAAS,CAAC,QACtC;EAEA;GACa;EAGrB"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useCallback, useMemo } from "react";
4
4
  import { ListDropTargetDelegate, ListKeyboardDelegate, useDraggableCollection, useDroppableCollection } from "react-aria";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { EditableTitleInputElement, HiddenMeasure } from "./styled.js";
4
4
  import { useLayoutEffect, useRef, useState } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { useEvent } from "../../../_internal/hooks/use-event.js";
4
4
  import { ItemActionProvider } from "../../actions/ItemActionContext.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
2
  import { DropIndicatorElement } from "./styled.js";
3
3
  import { useEffect, useRef, useState } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
2
  import { TabPanelElement } from "./styled.js";
3
3
  import { useEffect, useMemo, useRef } from "react";
4
4
  import { Fragment as Fragment$1, jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
2
  import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
3
3
  import { CloseIcon } from "../../../icons/CloseIcon.js";
4
4
  import { MoreIcon } from "../../../icons/MoreIcon.js";
@@ -1,4 +1,5 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.121.5 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.121.7 | Cube Dev Team */
2
+ import { extractStyles } from "../../../utils/styles.js";
2
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
4
  import { useEvent } from "../../../_internal/hooks/use-event.js";
4
5
  import { useMergeStyles } from "../../../utils/react/useMergeStyles.js";
@@ -14,7 +15,7 @@ import { TabPicker } from "./TabPicker.js";
14
15
  import { TabsAction } from "./TabsAction.js";
15
16
  import { useTabEditing } from "./use-tab-editing.js";
16
17
  import { useTabIndicator } from "./use-tab-indicator.js";
17
- import { OUTER_STYLES, extractStyles, mergeStyles } from "@tenphi/tasty";
18
+ import { OUTER_STYLES, mergeStyles } from "@tenphi/tasty";
18
19
  import { Children, forwardRef, isValidElement, useEffect, useMemo, useRef } from "react";
19
20
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
20
21
  import { useTabList } from "react-aria";