@cube-dev/ui-kit 0.138.1 → 0.138.3

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 (429) hide show
  1. package/dist/CHANGELOG.md +12 -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 +1 -1
  12. package/dist/components/CollectionItem.js +1 -1
  13. package/dist/components/GlobalStyles.js +1 -1
  14. package/dist/components/GridProvider.js +1 -1
  15. package/dist/components/HiddenInput.js +1 -1
  16. package/dist/components/Root.js +1 -1
  17. package/dist/components/actions/Action/Action.js +1 -1
  18. package/dist/components/actions/Banner/Banner.js +1 -1
  19. package/dist/components/actions/Button/Button.d.ts +1 -0
  20. package/dist/components/actions/Button/Button.js +1 -1
  21. package/dist/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  22. package/dist/components/actions/ButtonSplit/ButtonSplit.js +1 -1
  23. package/dist/components/actions/ButtonSplit/context.js +1 -1
  24. package/dist/components/actions/CommandMenu/CommandMenu.js +1 -1
  25. package/dist/components/actions/CommandMenu/styled.js +1 -1
  26. package/dist/components/actions/ItemAction/ItemAction.js +1 -1
  27. package/dist/components/actions/ItemActionContext.js +1 -1
  28. package/dist/components/actions/ItemButton/ItemButton.js +1 -1
  29. package/dist/components/actions/Link/Link.js +1 -1
  30. package/dist/components/actions/Menu/Menu.js +1 -1
  31. package/dist/components/actions/Menu/MenuItem.js +1 -1
  32. package/dist/components/actions/Menu/MenuSection.js +1 -1
  33. package/dist/components/actions/Menu/MenuTrigger.js +1 -1
  34. package/dist/components/actions/Menu/SubMenuTrigger.js +15 -1
  35. package/dist/components/actions/Menu/SubMenuTrigger.js.map +1 -1
  36. package/dist/components/actions/Menu/SubmenuTriggerContext.js +1 -1
  37. package/dist/components/actions/Menu/context.js +1 -1
  38. package/dist/components/actions/Menu/styled.js +1 -1
  39. package/dist/components/actions/index.js +1 -1
  40. package/dist/components/actions/use-action.js +1 -1
  41. package/dist/components/actions/use-anchored-menu.js +1 -1
  42. package/dist/components/actions/use-context-menu.js +1 -1
  43. package/dist/components/content/ActiveZone/ActiveZone.js +1 -1
  44. package/dist/components/content/Alert/Alert.js +1 -1
  45. package/dist/components/content/Alert/use-alert.js +1 -1
  46. package/dist/components/content/Avatar/Avatar.js +1 -1
  47. package/dist/components/content/Badge/Badge.js +1 -1
  48. package/dist/components/content/Card/Card.js +1 -1
  49. package/dist/components/content/Content.js +1 -1
  50. package/dist/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  51. package/dist/components/content/CopySnippet/CopySnippet.js +1 -1
  52. package/dist/components/content/Disclosure/Disclosure.js +1 -1
  53. package/dist/components/content/Divider.js +1 -1
  54. package/dist/components/content/Footer.js +1 -1
  55. package/dist/components/content/Header.js +1 -1
  56. package/dist/components/content/HotKeys/HotKeys.js +1 -1
  57. package/dist/components/content/InlineInput/InlineInput.d.ts +9 -0
  58. package/dist/components/content/InlineInput/InlineInput.js +54 -11
  59. package/dist/components/content/InlineInput/InlineInput.js.map +1 -1
  60. package/dist/components/content/Item/Item.js +1 -1
  61. package/dist/components/content/ItemBadge/ItemBadge.js +1 -1
  62. package/dist/components/content/ItemCard/ItemCard.js +1 -1
  63. package/dist/components/content/Layout/GridLayout.js +1 -1
  64. package/dist/components/content/Layout/Layout.js +1 -1
  65. package/dist/components/content/Layout/LayoutBlock.js +1 -1
  66. package/dist/components/content/Layout/LayoutCenter.js +1 -1
  67. package/dist/components/content/Layout/LayoutContainer.js +1 -1
  68. package/dist/components/content/Layout/LayoutContent.js +1 -1
  69. package/dist/components/content/Layout/LayoutContext.js +1 -1
  70. package/dist/components/content/Layout/LayoutFlex.js +1 -1
  71. package/dist/components/content/Layout/LayoutFooter.js +1 -1
  72. package/dist/components/content/Layout/LayoutGrid.js +1 -1
  73. package/dist/components/content/Layout/LayoutHeader.js +1 -1
  74. package/dist/components/content/Layout/LayoutPane.js +1 -1
  75. package/dist/components/content/Layout/LayoutPanel.js +1 -1
  76. package/dist/components/content/Layout/LayoutPanelHeader.js +1 -1
  77. package/dist/components/content/Layout/LayoutToolbar.js +1 -1
  78. package/dist/components/content/Layout/hooks/useTinyScrollbar.js +1 -1
  79. package/dist/components/content/Layout/index.js +1 -1
  80. package/dist/components/content/Layout/utils.js +1 -1
  81. package/dist/components/content/Paragraph.js +1 -1
  82. package/dist/components/content/Placeholder/Placeholder.js +1 -1
  83. package/dist/components/content/PrismCode/PrismCode.js +1 -1
  84. package/dist/components/content/PrismCode/prismSetup.js +1 -1
  85. package/dist/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  86. package/dist/components/content/Result/Result.js +1 -1
  87. package/dist/components/content/Skeleton/Skeleton.js +1 -1
  88. package/dist/components/content/Tag/Tag.js +1 -1
  89. package/dist/components/content/Text.js +1 -1
  90. package/dist/components/content/TextItem/TextItem.js +1 -1
  91. package/dist/components/content/Title.js +1 -1
  92. package/dist/components/content/Tree/Tree.js +1 -1
  93. package/dist/components/content/Tree/TreeNode.js +1 -1
  94. package/dist/components/content/Tree/styled.js +1 -1
  95. package/dist/components/content/Tree/tree-index.js +1 -1
  96. package/dist/components/content/Tree/use-checkbox-tree.js +1 -1
  97. package/dist/components/content/Tree/use-load-data.js +1 -1
  98. package/dist/components/content/highlightText.js +1 -1
  99. package/dist/components/content/use-auto-tooltip.js +1 -1
  100. package/dist/components/fields/Checkbox/Checkbox.js +1 -1
  101. package/dist/components/fields/Checkbox/CheckboxGroup.js +1 -1
  102. package/dist/components/fields/Checkbox/context.js +1 -1
  103. package/dist/components/fields/ComboBox/ComboBox.js +1 -1
  104. package/dist/components/fields/DatePicker/DateInput.js +1 -1
  105. package/dist/components/fields/DatePicker/DateInputBase.js +1 -1
  106. package/dist/components/fields/DatePicker/DatePicker.js +1 -1
  107. package/dist/components/fields/DatePicker/DatePickerButton.js +1 -1
  108. package/dist/components/fields/DatePicker/DatePickerElement.js +1 -1
  109. package/dist/components/fields/DatePicker/DatePickerInput.js +1 -1
  110. package/dist/components/fields/DatePicker/DatePickerSegment.js +1 -1
  111. package/dist/components/fields/DatePicker/DateRangePicker.js +1 -1
  112. package/dist/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  113. package/dist/components/fields/DatePicker/TimeInput.js +1 -1
  114. package/dist/components/fields/DatePicker/intl.js +1 -1
  115. package/dist/components/fields/DatePicker/parseDate.js +1 -1
  116. package/dist/components/fields/DatePicker/props.js +1 -1
  117. package/dist/components/fields/DatePicker/utils.js +1 -1
  118. package/dist/components/fields/FileInput/FileInput.js +1 -1
  119. package/dist/components/fields/FilterListBox/FilterListBox.js +1 -1
  120. package/dist/components/fields/FilterPicker/FilterPicker.js +1 -1
  121. package/dist/components/fields/Input/Input.js +1 -1
  122. package/dist/components/fields/ListBox/DraggableListBox.js +1 -1
  123. package/dist/components/fields/ListBox/ListBox.js +1 -1
  124. package/dist/components/fields/NumberInput/NumberInput.js +1 -1
  125. package/dist/components/fields/NumberInput/StepButton.js +1 -1
  126. package/dist/components/fields/PasswordInput/PasswordInput.js +1 -1
  127. package/dist/components/fields/Picker/Picker.js +1 -1
  128. package/dist/components/fields/RadioGroup/Radio.js +1 -1
  129. package/dist/components/fields/RadioGroup/RadioGroup.js +1 -1
  130. package/dist/components/fields/RadioGroup/context.js +1 -1
  131. package/dist/components/fields/SearchInput/SearchInput.js +1 -1
  132. package/dist/components/fields/Select/Select.js +1 -1
  133. package/dist/components/fields/Slider/Gradation.js +1 -1
  134. package/dist/components/fields/Slider/HueSlider.js +1 -1
  135. package/dist/components/fields/Slider/RangeSlider.js +1 -1
  136. package/dist/components/fields/Slider/Slider.js +1 -1
  137. package/dist/components/fields/Slider/SliderBase.js +1 -1
  138. package/dist/components/fields/Slider/SliderThumb.js +1 -1
  139. package/dist/components/fields/Slider/SliderTrack.js +1 -1
  140. package/dist/components/fields/Slider/elements.js +1 -1
  141. package/dist/components/fields/Slider/index.js +1 -1
  142. package/dist/components/fields/Switch/Switch.js +1 -1
  143. package/dist/components/fields/TextArea/TextArea.js +1 -1
  144. package/dist/components/fields/TextInput/TextInput.js +1 -1
  145. package/dist/components/fields/TextInput/TextInputBase.js +1 -1
  146. package/dist/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  147. package/dist/components/form/FieldWrapper/FieldWrapper.js +1 -1
  148. package/dist/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  149. package/dist/components/form/Form/Field.js +1 -1
  150. package/dist/components/form/Form/Form.js +1 -1
  151. package/dist/components/form/Form/ResetButton/ResetButton.js +1 -1
  152. package/dist/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  153. package/dist/components/form/Form/SubmitError.js +1 -1
  154. package/dist/components/form/Form/index.js +1 -1
  155. package/dist/components/form/Form/use-field/use-field-props.js +1 -1
  156. package/dist/components/form/Form/use-field/use-field.js +1 -1
  157. package/dist/components/form/Form/use-form.js +1 -1
  158. package/dist/components/form/Form/validation.js +1 -1
  159. package/dist/components/form/Label.js +1 -1
  160. package/dist/components/form/wrapper.js +1 -1
  161. package/dist/components/helpers/DisplayTransition/DisplayTransition.js +1 -1
  162. package/dist/components/helpers/IconSwitch/IconSwitch.js +1 -1
  163. package/dist/components/layout/Flex.js +1 -1
  164. package/dist/components/layout/Flow.js +1 -1
  165. package/dist/components/layout/Grid.js +1 -1
  166. package/dist/components/layout/Panel.js +1 -1
  167. package/dist/components/layout/Prefix.js +1 -1
  168. package/dist/components/layout/ResizablePanel.js +1 -1
  169. package/dist/components/layout/Space.js +1 -1
  170. package/dist/components/layout/Suffix.js +1 -1
  171. package/dist/components/navigation/Tabs/DraggableTabList.js +1 -1
  172. package/dist/components/navigation/Tabs/TabButton.js +1 -1
  173. package/dist/components/navigation/Tabs/TabDropIndicator.js +1 -1
  174. package/dist/components/navigation/Tabs/TabPanel.js +1 -1
  175. package/dist/components/navigation/Tabs/TabPicker.js +1 -1
  176. package/dist/components/navigation/Tabs/Tabs.js +1 -1
  177. package/dist/components/navigation/Tabs/TabsAction.js +1 -1
  178. package/dist/components/navigation/Tabs/TabsContext.js +1 -1
  179. package/dist/components/navigation/Tabs/styled.js +1 -1
  180. package/dist/components/navigation/Tabs/types.js +1 -1
  181. package/dist/components/navigation/Tabs/use-tab-editing.js +1 -1
  182. package/dist/components/navigation/Tabs/use-tab-indicator.js +1 -1
  183. package/dist/components/organisms/FileTabs/FileTabs.js +1 -1
  184. package/dist/components/organisms/StatsCard/StatsCard.js +1 -1
  185. package/dist/components/other/Calendar/Calendar.js +1 -1
  186. package/dist/components/other/Calendar/CalendarCell.js +1 -1
  187. package/dist/components/other/Calendar/CalendarGrid.js +1 -1
  188. package/dist/components/other/Calendar/RangeCalendar.js +1 -1
  189. package/dist/components/other/CloudLogo/CloudLogo.js +1 -1
  190. package/dist/components/overlays/AlertDialog/AlertDialog.js +1 -1
  191. package/dist/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  192. package/dist/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  193. package/dist/components/overlays/Dialog/Dialog.js +1 -1
  194. package/dist/components/overlays/Dialog/DialogContainer.js +1 -1
  195. package/dist/components/overlays/Dialog/DialogForm.js +1 -1
  196. package/dist/components/overlays/Dialog/DialogTrigger.js +1 -1
  197. package/dist/components/overlays/Dialog/context.js +1 -1
  198. package/dist/components/overlays/Dialog/use-dialog-container.js +1 -1
  199. package/dist/components/overlays/Modal/Modal.d.ts +2 -1
  200. package/dist/components/overlays/Modal/Modal.js +1 -1
  201. package/dist/components/overlays/Modal/OpenTransitionContext.js +1 -1
  202. package/dist/components/overlays/Modal/Overlay.d.ts +1 -0
  203. package/dist/components/overlays/Modal/Overlay.js +1 -1
  204. package/dist/components/overlays/Modal/Popover.js +1 -1
  205. package/dist/components/overlays/Modal/Tray.js +1 -1
  206. package/dist/components/overlays/Modal/Underlay.js +1 -1
  207. package/dist/components/overlays/Modal/types.d.ts +1 -0
  208. package/dist/components/overlays/Notifications/Notification.js +1 -1
  209. package/dist/components/overlays/Notifications/NotificationAction.js +1 -1
  210. package/dist/components/overlays/Notifications/NotificationCard.js +1 -1
  211. package/dist/components/overlays/Notifications/NotificationContext.d.ts +2 -0
  212. package/dist/components/overlays/Notifications/NotificationContext.js +1 -1
  213. package/dist/components/overlays/Notifications/NotificationItem.js +1 -1
  214. package/dist/components/overlays/Notifications/OverlayContainer.js +1 -1
  215. package/dist/components/overlays/Notifications/OverlayProvider.js +1 -1
  216. package/dist/components/overlays/Notifications/PersistentNotificationsList.js +1 -1
  217. package/dist/components/overlays/Notifications/dismissed-storage.js +1 -1
  218. package/dist/components/overlays/Notifications/format-relative-time.js +1 -1
  219. package/dist/components/overlays/Notifications/index.js +1 -1
  220. package/dist/components/overlays/Notifications/use-notification-state.js +1 -1
  221. package/dist/components/overlays/Notifications/use-notifications.js +1 -1
  222. package/dist/components/overlays/Notifications/use-overlay-timers.js +1 -1
  223. package/dist/components/overlays/Notifications/use-persistent-notifications.js +1 -1
  224. package/dist/components/overlays/Notifications/use-persistent-state.js +1 -1
  225. package/dist/components/overlays/Notifications/use-toast-state.js +1 -1
  226. package/dist/components/overlays/Toast/ToastItem.js +1 -1
  227. package/dist/components/overlays/Toast/index.js +1 -1
  228. package/dist/components/overlays/Toast/useProgressToast.js +1 -1
  229. package/dist/components/overlays/Toast/useToast.js +1 -1
  230. package/dist/components/overlays/Tooltip/Tooltip.js +1 -1
  231. package/dist/components/overlays/Tooltip/TooltipProvider.js +1 -1
  232. package/dist/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  233. package/dist/components/overlays/Tooltip/context.js +1 -1
  234. package/dist/components/portal/Portal.js +1 -1
  235. package/dist/components/portal/PortalProvider.d.ts +2 -0
  236. package/dist/components/portal/PortalProvider.js +1 -1
  237. package/dist/components/portal/index.d.ts +1 -0
  238. package/dist/components/portal/usePortal.js +1 -1
  239. package/dist/components/shared/DraggableCollection.js +1 -1
  240. package/dist/components/shared/InvalidIcon.js +1 -1
  241. package/dist/components/shared/ValidIcon.js +1 -1
  242. package/dist/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  243. package/dist/components/status/Spin/Cube.js +1 -1
  244. package/dist/components/status/Spin/InternalSpinner.js +1 -1
  245. package/dist/components/status/Spin/Spin.js +1 -1
  246. package/dist/components/status/Spin/SpinsContainer.js +1 -1
  247. package/dist/data/item-themes.js +1 -1
  248. package/dist/data/themes.js +1 -1
  249. package/dist/icons/AdjustmentsHorizontalIcon.js +1 -1
  250. package/dist/icons/AdjustmentsIcon.js +1 -1
  251. package/dist/icons/AiIcon.js +1 -1
  252. package/dist/icons/AreaChartIcon.js +1 -1
  253. package/dist/icons/BackwardIcon.js +1 -1
  254. package/dist/icons/BarChartIcon.js +1 -1
  255. package/dist/icons/BellFilledIcon.js +1 -1
  256. package/dist/icons/BellIcon.js +1 -1
  257. package/dist/icons/BooleanIcon.js +1 -1
  258. package/dist/icons/CalendarEditIcon.js +1 -1
  259. package/dist/icons/CalendarIcon.js +1 -1
  260. package/dist/icons/CaretDownIcon.js +1 -1
  261. package/dist/icons/CaretUpIcon.js +1 -1
  262. package/dist/icons/ChartAreaStackedIcon.js +1 -1
  263. package/dist/icons/ChartAreaStackedPercentageIcon.js +1 -1
  264. package/dist/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  265. package/dist/icons/ChartBarGroupedIcon.js +1 -1
  266. package/dist/icons/ChartBarHorizontalIcon.js +1 -1
  267. package/dist/icons/ChartBarLineIcon.js +1 -1
  268. package/dist/icons/ChartBarStackedHorizontalIcon.js +1 -1
  269. package/dist/icons/ChartBarStackedIcon.js +1 -1
  270. package/dist/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  271. package/dist/icons/ChartBarStackedPercentageIcon.js +1 -1
  272. package/dist/icons/ChartBoxPlot2Icon.js +1 -1
  273. package/dist/icons/ChartBoxPlotIcon.js +1 -1
  274. package/dist/icons/ChartBubbleIcon.js +1 -1
  275. package/dist/icons/ChartDonut2Icon.js +1 -1
  276. package/dist/icons/ChartFunnelIcon.js +1 -1
  277. package/dist/icons/ChartHeatmapIcon.js +1 -1
  278. package/dist/icons/ChartKPIIcon.js +1 -1
  279. package/dist/icons/ChartPie2Icon.js +1 -1
  280. package/dist/icons/ChartScatterIcon.js +1 -1
  281. package/dist/icons/CheckCircleFilledIcon.js +1 -1
  282. package/dist/icons/CheckCircleIcon.js +1 -1
  283. package/dist/icons/CheckIcon.js +1 -1
  284. package/dist/icons/CircleFilledIcon.js +1 -1
  285. package/dist/icons/ClearIcon.js +1 -1
  286. package/dist/icons/CloseCircleFilledIcon.js +1 -1
  287. package/dist/icons/CloseCircleIcon.js +1 -1
  288. package/dist/icons/CloseIcon.js +1 -1
  289. package/dist/icons/CodeIcon.js +1 -1
  290. package/dist/icons/ColumnTotalIcon.js +1 -1
  291. package/dist/icons/CopyIcon.js +1 -1
  292. package/dist/icons/CountIcon.js +1 -1
  293. package/dist/icons/CubeIcon.js +1 -1
  294. package/dist/icons/CubePauseIcon.js +1 -1
  295. package/dist/icons/CubePlayIcon.js +1 -1
  296. package/dist/icons/CurrencyDollarIcon.js +1 -1
  297. package/dist/icons/DangerIcon.js +1 -1
  298. package/dist/icons/DashboardIcon.js +1 -1
  299. package/dist/icons/DatabaseIcon.js +1 -1
  300. package/dist/icons/DecimalDecreaseIcon.js +1 -1
  301. package/dist/icons/DecimalIncreaseIcon.js +1 -1
  302. package/dist/icons/DirectionIcon.js +1 -1
  303. package/dist/icons/DonutIcon.js +1 -1
  304. package/dist/icons/DownIcon.js +1 -1
  305. package/dist/icons/EditIcon.js +1 -1
  306. package/dist/icons/ExclamationCircleFilledIcon.js +1 -1
  307. package/dist/icons/ExclamationCircleIcon.js +1 -1
  308. package/dist/icons/ExclamationIcon.js +1 -1
  309. package/dist/icons/EyeIcon.js +1 -1
  310. package/dist/icons/EyeInvisibleIcon.js +1 -1
  311. package/dist/icons/FilterIcon.js +1 -1
  312. package/dist/icons/FolderFilledIcon.js +1 -1
  313. package/dist/icons/FolderIcon.js +1 -1
  314. package/dist/icons/FolderOpenFilledIcon.js +1 -1
  315. package/dist/icons/FolderOpenIcon.js +1 -1
  316. package/dist/icons/ForwardIcon.js +1 -1
  317. package/dist/icons/GripVerticalIcon.js +1 -1
  318. package/dist/icons/HierarchyIcon.js +1 -1
  319. package/dist/icons/HierarchyOpenIcon.js +1 -1
  320. package/dist/icons/Icon.js +1 -1
  321. package/dist/icons/InfoCircleIcon.js +1 -1
  322. package/dist/icons/InfoIcon.js +1 -1
  323. package/dist/icons/KeyIcon.js +1 -1
  324. package/dist/icons/LeftIcon.js +1 -1
  325. package/dist/icons/LineChartIcon.js +1 -1
  326. package/dist/icons/LoadingIcon.js +1 -1
  327. package/dist/icons/LockFilledIcon.js +1 -1
  328. package/dist/icons/LockIcon.js +1 -1
  329. package/dist/icons/MoreIcon.js +1 -1
  330. package/dist/icons/NotAllowedIcon.js +1 -1
  331. package/dist/icons/Number123Icon.js +1 -1
  332. package/dist/icons/NumberIcon.js +1 -1
  333. package/dist/icons/PauseCircleFilledIcon.js +1 -1
  334. package/dist/icons/PauseCircleIcon.js +1 -1
  335. package/dist/icons/PauseIcon.js +1 -1
  336. package/dist/icons/PercentageIcon.js +1 -1
  337. package/dist/icons/PieChartIcon.js +1 -1
  338. package/dist/icons/PlayCircleIcon.js +1 -1
  339. package/dist/icons/PlayIcon.js +1 -1
  340. package/dist/icons/PlusIcon.js +1 -1
  341. package/dist/icons/ProgressBarIcon.js +1 -1
  342. package/dist/icons/ReloadIcon.js +1 -1
  343. package/dist/icons/ReportIcon.js +1 -1
  344. package/dist/icons/ReturnIcon.js +1 -1
  345. package/dist/icons/RightIcon.js +1 -1
  346. package/dist/icons/RowTotalsIcon.js +1 -1
  347. package/dist/icons/SchemeIcon.js +1 -1
  348. package/dist/icons/SearchIcon.js +1 -1
  349. package/dist/icons/SemanticQueryIcon.js +1 -1
  350. package/dist/icons/SettingsIcon.js +1 -1
  351. package/dist/icons/ShieldFilledIcon.js +1 -1
  352. package/dist/icons/ShieldIcon.js +1 -1
  353. package/dist/icons/SlashIcon.js +1 -1
  354. package/dist/icons/SparklesIcon.js +1 -1
  355. package/dist/icons/SqlIcon.js +1 -1
  356. package/dist/icons/StatsIcon.js +1 -1
  357. package/dist/icons/StopIcon.js +1 -1
  358. package/dist/icons/StringIcon.js +1 -1
  359. package/dist/icons/SubtotalsIcon.js +1 -1
  360. package/dist/icons/SwitchIcon.js +1 -1
  361. package/dist/icons/TableIcon.js +1 -1
  362. package/dist/icons/ThumbsDownIcon.js +1 -1
  363. package/dist/icons/ThumbsUpIcon.js +1 -1
  364. package/dist/icons/ThunderboltCrossedIcon.js +1 -1
  365. package/dist/icons/ThunderboltFilledIcon.js +1 -1
  366. package/dist/icons/ThunderboltIcon.js +1 -1
  367. package/dist/icons/TimeIcon.js +1 -1
  368. package/dist/icons/TrashIcon.js +1 -1
  369. package/dist/icons/UnlockIcon.js +1 -1
  370. package/dist/icons/UpIcon.js +1 -1
  371. package/dist/icons/UserGroupIcon.js +1 -1
  372. package/dist/icons/UserIcon.js +1 -1
  373. package/dist/icons/UserLockIcon.js +1 -1
  374. package/dist/icons/ViewIcon.js +1 -1
  375. package/dist/icons/WarningFilledIcon.js +1 -1
  376. package/dist/icons/WarningIcon.js +1 -1
  377. package/dist/icons/wrap-icon.js +1 -1
  378. package/dist/index.js +1 -1
  379. package/dist/provider.js +1 -1
  380. package/dist/providers/TrackingProvider.js +1 -1
  381. package/dist/providers/navigationAdapter.default.js +1 -1
  382. package/dist/tokens/base.js +1 -1
  383. package/dist/tokens/colors.js +1 -1
  384. package/dist/tokens/index.js +1 -1
  385. package/dist/tokens/layout.js +1 -1
  386. package/dist/tokens/palette.js +1 -1
  387. package/dist/tokens/shadows.js +1 -1
  388. package/dist/tokens/sizes.js +1 -1
  389. package/dist/tokens/spacing.js +1 -1
  390. package/dist/tokens/typography.js +1 -1
  391. package/dist/utils/ResizeSensor.js +1 -1
  392. package/dist/utils/is-dev-env.js +1 -1
  393. package/dist/utils/modules.js +1 -1
  394. package/dist/utils/promise.js +1 -1
  395. package/dist/utils/raf.js +1 -1
  396. package/dist/utils/random.js +1 -1
  397. package/dist/utils/range.js +1 -1
  398. package/dist/utils/react/RenderCache.js +1 -1
  399. package/dist/utils/react/Slots.js +1 -1
  400. package/dist/utils/react/chain.js +1 -1
  401. package/dist/utils/react/forwardRefWithGenerics.js +1 -1
  402. package/dist/utils/react/index.js +1 -1
  403. package/dist/utils/react/interactions.js +1 -1
  404. package/dist/utils/react/isTextOnly.js +1 -1
  405. package/dist/utils/react/mapProps.js +1 -1
  406. package/dist/utils/react/mergeProps.js +1 -1
  407. package/dist/utils/react/nullableValue.js +1 -1
  408. package/dist/utils/react/resolveIcon.js +1 -1
  409. package/dist/utils/react/sharedStore.js +1 -1
  410. package/dist/utils/react/useCombinedRefs.js +1 -1
  411. package/dist/utils/react/useControlledFocusVisible.js +1 -1
  412. package/dist/utils/react/useEventBus.js +1 -1
  413. package/dist/utils/react/useId.js +1 -1
  414. package/dist/utils/react/useIsDarwin.js +1 -1
  415. package/dist/utils/react/useKeySymbols.js +1 -1
  416. package/dist/utils/react/useLayoutEffect.js +1 -1
  417. package/dist/utils/react/useLocalStorage.js +1 -1
  418. package/dist/utils/react/useMergeStyles.js +1 -1
  419. package/dist/utils/react/usePopoverSync.js +1 -1
  420. package/dist/utils/react/useQaProps.js +1 -1
  421. package/dist/utils/react/useViewportSize.js +1 -1
  422. package/dist/utils/react/wrapNodeIfPlain.js +1 -1
  423. package/dist/utils/selection.js +1 -1
  424. package/dist/utils/styles.js +1 -1
  425. package/dist/utils/tree.js +1 -1
  426. package/dist/utils/warnings.js +1 -1
  427. package/dist/version.js +3 -3
  428. package/docs/components/content/InlineInput.md +23 -9
  429. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useEvent } from "../../../_internal/hooks/use-event.js";
@@ -14,24 +14,58 @@ const InlineInputRoot = tasty({
14
14
  as: "span",
15
15
  styles: {
16
16
  display: "inline-flex",
17
- alignItems: "baseline",
18
- verticalAlign: "baseline",
17
+ alignItems: {
18
+ "": "baseline",
19
+ styled: "center"
20
+ },
21
+ verticalAlign: {
22
+ "": "baseline",
23
+ styled: "middle"
24
+ },
19
25
  position: "relative",
20
26
  maxWidth: "100%",
21
- color: "inherit",
22
- preset: "inherit",
27
+ boxSizing: "border-box",
28
+ color: {
29
+ "": "inherit",
30
+ styled: "#dark-02",
31
+ "styled & disabled": "#dark.30"
32
+ },
33
+ preset: {
34
+ "": "inherit",
35
+ styled: "t3"
36
+ },
23
37
  cursor: {
24
38
  "": "inherit",
25
39
  "editable & !editing": "text"
26
40
  },
41
+ fill: {
42
+ "": "transparent",
43
+ styled: "#surface",
44
+ "styled & disabled": "#disabled-surface"
45
+ },
46
+ border: {
47
+ "": false,
48
+ styled: true,
49
+ "styled & focused": "#primary-text",
50
+ "styled & disabled": true
51
+ },
27
52
  outline: {
28
53
  "": "1bw #primary.0",
29
- focused: "1bw #primary"
54
+ "focused & !styled": "1bw #primary"
30
55
  },
31
56
  outlineOffset: 1,
32
57
  radius: {
33
58
  "": 0,
34
- focused: true
59
+ focused: true,
60
+ styled: true
61
+ },
62
+ padding: {
63
+ "": 0,
64
+ styled: "(.75x - 1bw) (1x - 1bw)"
65
+ },
66
+ height: {
67
+ "": "auto",
68
+ styled: "$size-md"
35
69
  },
36
70
  transition: "theme",
37
71
  Display: {
@@ -48,8 +82,15 @@ const InlineInputRoot = tasty({
48
82
  preset: "inherit",
49
83
  color: "inherit",
50
84
  fill: "transparent",
51
- width: "initial $input-width 100%",
52
- minWidth: "1em",
85
+ textAlign: "left",
86
+ width: {
87
+ "": "initial $input-width 100%",
88
+ styled: "100%"
89
+ },
90
+ minWidth: {
91
+ "": "1em",
92
+ styled: 0
93
+ },
53
94
  "&::placeholder": { recipe: "input-placeholder" }
54
95
  },
55
96
  Measure: {
@@ -85,7 +126,7 @@ const STYLE_PROPS = [
85
126
  * works regardless of `editTrigger`.
86
127
  */
87
128
  const InlineInput = forwardRef(function InlineInput(allProps, ref) {
88
- const { value: valueProp, defaultValue, onChange, isEditing: isEditingProp, defaultIsEditing, onEditingChange, onSubmit, onCancel, editTrigger = "dblclick", keyboardActivation = true, submitOnBlur = true, trimOnSubmit = true, allowEmpty = false, isDisabled = false, isReadOnly = false, placeholder, renderDisplay, tooltip = true, tooltipPlacement = "top", "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, qa, qaVal, styles: stylesProp, inputStyles, mods: customMods, tokens: customTokens, ...otherProps } = allProps;
129
+ const { value: valueProp, defaultValue, onChange, isEditing: isEditingProp, defaultIsEditing, onEditingChange, onSubmit, onCancel, editTrigger = "dblclick", keyboardActivation = true, submitOnBlur = true, trimOnSubmit = true, allowEmpty = false, isDisabled = false, isReadOnly = false, isStyled = false, placeholder, renderDisplay, tooltip = true, tooltipPlacement = "top", "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, qa, qaVal, styles: stylesProp, inputStyles, mods: customMods, tokens: customTokens, ...otherProps } = allProps;
89
130
  const isControlled = valueProp !== void 0;
90
131
  const inputRef = useRef(null);
91
132
  const measureRef = useRef(null);
@@ -215,13 +256,14 @@ const InlineInput = forwardRef(function InlineInput(allProps, ref) {
215
256
  displayedValue
216
257
  ]);
217
258
  const isEditable = editTrigger !== "none" && !isDisabled && !isReadOnly;
218
- const showFocusRing = isFocusVisible && isEditable && !isEditing;
259
+ const showFocusRing = keyboardActivation && (isEditing || isFocusVisible && isEditable);
219
260
  const mods = useMemo(() => ({
220
261
  editing: isEditing,
221
262
  editable: isEditable,
222
263
  focused: showFocusRing,
223
264
  disabled: isDisabled,
224
265
  "read-only": isReadOnly,
266
+ styled: isStyled,
225
267
  empty: !displayedValue,
226
268
  ...customMods
227
269
  }), [
@@ -230,6 +272,7 @@ const InlineInput = forwardRef(function InlineInput(allProps, ref) {
230
272
  showFocusRing,
231
273
  isDisabled,
232
274
  isReadOnly,
275
+ isStyled,
233
276
  displayedValue,
234
277
  customMods
235
278
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"InlineInput.js","names":["mergeProps"],"sources":["../../../../src/components/content/InlineInput/InlineInput.tsx"],"sourcesContent":["import { useControlledState } from '@react-stately/utils';\nimport {\n BaseProps,\n BLOCK_STYLES,\n BlockStyleProps,\n COLOR_STYLES,\n ColorStyleProps,\n filterBaseProps,\n OUTER_STYLES,\n OuterStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport {\n FocusScope,\n OverlayProps,\n useFocusRing,\n useFocusWithin,\n} from 'react-aria';\n\nimport { useEvent } from '../../../_internal/hooks';\nimport { mergeProps } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\nimport { AutoTooltipValue, useAutoTooltip } from '../use-auto-tooltip';\n\nimport type {\n ChangeEvent,\n HTMLAttributes,\n KeyboardEvent,\n MouseEvent,\n ReactNode,\n RefObject,\n} from 'react';\n\n// =============================================================================\n// Types\n// =============================================================================\n\nexport type CubeInlineInputEditTrigger = 'dblclick' | 'click' | 'none';\n\nexport interface CubeInlineInputProps\n extends BaseProps,\n BlockStyleProps,\n OuterStyleProps,\n ColorStyleProps {\n /** Controlled value. When provided, the component is controlled. */\n value?: string;\n /** Initial value for uncontrolled usage. */\n defaultValue?: string;\n /**\n * Fires on commit *only when the value actually changed*. Use this to update\n * external state. Pair with `value` for the controlled pattern.\n */\n onChange?: (value: string) => void;\n\n /** Controlled editing state. When provided, the editing state is controlled. */\n isEditing?: boolean;\n /** Default editing state for uncontrolled usage. */\n defaultIsEditing?: boolean;\n /** Called when editing mode starts or ends. */\n onEditingChange?: (isEditing: boolean) => void;\n\n /**\n * Fires every time the user commits (Enter / submit-on-blur / `ref.stopEditing(true)`),\n * even if the value did not change. Use for side effects like analytics or\n * \"save\" toasts. For state updates, prefer `onChange`.\n *\n * May return a Promise. If the returned Promise **rejects**, the component\n * automatically reverts its optimistic display to the actual `value` prop —\n * this gives async-save flows free rollback on failure (in controlled mode).\n */\n onSubmit?: (value: string) => void | Promise<unknown>;\n /** Called when editing is cancelled (Escape or empty submit when `allowEmpty` is false). */\n onCancel?: () => void;\n\n /** How edit mode is activated from the display element. Default: `'dblclick'`. */\n editTrigger?: CubeInlineInputEditTrigger;\n /**\n * When true (default) the display element is keyboard-focusable and\n * responds to `Enter`, `F2` and `Space` by entering edit mode. Set to\n * `false` when a host (e.g. an editable tab inside a button) already\n * routes keyboard activation through `ref.startEditing()` — exposing the\n * display element as a separate tab stop would create a nested keyboard\n * focus inside the host.\n *\n * @default true\n */\n keyboardActivation?: boolean;\n /** Whether to submit when focus leaves the input. Default: `true`. */\n submitOnBlur?: boolean;\n /** Whether to trim the value on submit. Default: `true`. */\n trimOnSubmit?: boolean;\n /** When false, submitting an empty/whitespace value cancels instead. Default: `false`. */\n allowEmpty?: boolean;\n /** When true, edit mode cannot be entered (programmatically or otherwise). */\n isDisabled?: boolean;\n /** When true, edit mode cannot be entered, but the display reads as enabled. */\n isReadOnly?: boolean;\n\n /** Placeholder text shown in the input when the draft is empty. */\n placeholder?: string;\n /** Custom render for display (non-editing) mode. Receives the currently-displayed value (including optimistic). */\n renderDisplay?: (value: string) => ReactNode;\n /** ARIA label for the input (used when no visible label is associated). */\n 'aria-label'?: string;\n /** ARIA labelledby for the input. */\n 'aria-labelledby'?: string;\n\n /**\n * Tooltip behaviour for the display value:\n * - `true` (default): auto-tooltip — show the full value when the text is truncated.\n * - `false`: never show a tooltip.\n * - `string`: always show this tooltip text.\n * - object: full `TooltipProvider` configuration (with optional `auto`).\n *\n * The tooltip is automatically suppressed while editing and when `renderDisplay` is used.\n */\n tooltip?: AutoTooltipValue;\n /** Default tooltip placement. @default 'top' */\n tooltipPlacement?: OverlayProps['placement'];\n\n /** Convenience prop for styling the `Input` sub-element. Merged into `styles.Input`. */\n inputStyles?: Styles;\n}\n\nexport interface CubeInlineInputRef {\n /** Programmatically enter edit mode. */\n startEditing(): void;\n /** Programmatically exit edit mode. `submit=true` commits, `submit=false` cancels. Defaults to commit. */\n stopEditing(submit?: boolean): void;\n /** Focus the underlying element (input when editing, root span otherwise). */\n focus(): void;\n /** Current committed value (includes optimistic value if a parent hasn't synced yet). */\n getValue(): string;\n}\n\n// =============================================================================\n// Styled element\n// =============================================================================\n\nconst InlineInputRoot = tasty({\n as: 'span',\n styles: {\n // `inline-flex` with `alignItems: baseline` is used (instead of\n // `inline-block` + `overflow: hidden`) so the container's baseline comes\n // from the first flex item's content baseline. With `inline-block` +\n // `overflow: hidden`, the CSS spec forces the baseline to the bottom\n // margin edge, which visibly shifts the text upward inside surrounding\n // line boxes (notably inside Tabs' centered `Item.Label`).\n display: 'inline-flex',\n alignItems: 'baseline',\n verticalAlign: 'baseline',\n position: 'relative',\n maxWidth: '100%',\n color: 'inherit',\n preset: 'inherit',\n cursor: {\n '': 'inherit',\n 'editable & !editing': 'text',\n },\n // Keyboard focus ring (only when the display element is keyboard-focusable,\n // which is gated by `keyboardActivation` on the React side via the\n // `focused` mod). Outline doesn't take layout space and respects rounded\n // corners via `outlineOffset`.\n outline: {\n '': '1bw #primary.0',\n focused: '1bw #primary',\n },\n outlineOffset: 1,\n radius: {\n '': 0,\n focused: true,\n },\n transition: 'theme',\n\n // Display flex item: owns the truncation (`overflow: hidden` here is a\n // block-level rule that does *not* alter the parent's baseline, unlike\n // an `inline-block` overflow rule).\n Display: {\n display: 'block',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: '100%',\n preset: 'inherit',\n color: 'inherit',\n },\n\n Input: {\n recipe: 'reset input / input-autofill',\n preset: 'inherit',\n color: 'inherit',\n fill: 'transparent',\n width: 'initial $input-width 100%',\n minWidth: '1em',\n '&::placeholder': { recipe: 'input-placeholder' },\n },\n\n Measure: {\n position: 'absolute',\n visibility: 'hidden',\n pointerEvents: 'none',\n whiteSpace: 'pre',\n preset: 'inherit',\n height: 0,\n overflow: 'hidden',\n },\n\n Placeholder: {\n recipe: 'input-placeholder',\n preset: 'inherit',\n },\n },\n});\n\nconst STYLE_PROPS = [...BLOCK_STYLES, ...OUTER_STYLES, ...COLOR_STYLES];\n\n// =============================================================================\n// Component\n// =============================================================================\n\n/**\n * Inline editable text. Renders the value as inline content by default and\n * swaps to an auto-sizing text input when entering edit mode.\n *\n * Designed to drop into any text context (tab title, heading, paragraph,\n * table cell) without style customization: typography, color, and font family\n * are all inherited from the parent.\n *\n * Value and `isEditing` can each be controlled or uncontrolled independently.\n * Programmatic entry via the imperative ref (`startEditing`/`stopEditing`)\n * works regardless of `editTrigger`.\n */\nexport const InlineInput = forwardRef<CubeInlineInputRef, CubeInlineInputProps>(\n function InlineInput(allProps, ref) {\n const {\n value: valueProp,\n defaultValue,\n onChange,\n isEditing: isEditingProp,\n defaultIsEditing,\n onEditingChange,\n onSubmit,\n onCancel,\n editTrigger = 'dblclick',\n keyboardActivation = true,\n submitOnBlur = true,\n trimOnSubmit = true,\n allowEmpty = false,\n isDisabled = false,\n isReadOnly = false,\n placeholder,\n renderDisplay,\n tooltip = true,\n tooltipPlacement = 'top',\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n qa,\n qaVal,\n styles: stylesProp,\n inputStyles,\n mods: customMods,\n tokens: customTokens,\n ...otherProps\n } = allProps;\n\n const isControlled = valueProp !== undefined;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const measureRef = useRef<HTMLSpanElement>(null);\n const rootRef = useRef<HTMLSpanElement>(null);\n\n const [value, setValue] = useControlledState<string>(\n valueProp as string,\n (defaultValue ?? '') as string,\n onChange,\n );\n\n const [isEditing, setIsEditing] = useControlledState<boolean>(\n isEditingProp as boolean,\n (defaultIsEditing ?? false) as boolean,\n onEditingChange,\n );\n\n // Optimistic value. Holds the just-committed value while we wait for the\n // (potentially async) controlled parent to sync `value`. In uncontrolled\n // mode `value` updates immediately so this stays null after each render.\n const [optimisticValue, setOptimisticValue] = useState<string | null>(null);\n const displayedValue = optimisticValue ?? value;\n\n const [draft, setDraft] = useState<string>(value);\n const [inputWidth, setInputWidth] = useState<number | null>(null);\n\n // Token to invalidate in-flight onSubmit promises if a newer commit /\n // re-entry happens before they settle.\n const submitTokenRef = useRef(0);\n\n // Synchronous mirror of `isEditing`. We need this because cancel/commit\n // call user callbacks (`onCancel`/`onSubmit`) that may synchronously\n // re-focus another element — that causes a synchronous blur on the\n // input which would otherwise re-enter `commit` via `onBlurWithin` (the\n // state update from `setIsEditing(false)` isn't committed yet, so the\n // closure still sees `isEditing === true`).\n //\n // The ref is kept in sync via `useLayoutEffect` so concurrent renders\n // that get thrown away don't leak a stale value into the next commit.\n const isEditingRef = useRef(isEditing);\n\n useLayoutEffect(() => {\n isEditingRef.current = isEditing;\n }, [isEditing]);\n\n // Clear the optimistic value once `value` catches up or changes externally.\n useEffect(() => {\n setOptimisticValue(null);\n }, [value]);\n\n const enterEditing = useEvent(() => {\n if (isDisabled || isReadOnly || isEditing) return;\n // Invalidate any in-flight onSubmit promise — its outcome no longer\n // matters because the user is about to commit a new value anyway.\n submitTokenRef.current += 1;\n isEditingRef.current = true;\n // Start from the actual prop value, not optimistic — gives the user a\n // way to recover if a previous commit was rejected by the parent.\n setOptimisticValue(null);\n setDraft(value);\n setIsEditing(true);\n });\n\n const commit = useEvent((rawValue: string) => {\n // Re-entry guard. `onSubmit`/`onCancel` may synchronously refocus and\n // trigger another blur-driven commit before the state update lands.\n if (!isEditingRef.current) return;\n\n const next = trimOnSubmit ? rawValue.trim() : rawValue;\n\n if (!next && !allowEmpty) {\n isEditingRef.current = false;\n setIsEditing(false);\n onCancel?.();\n\n return;\n }\n\n const token = ++submitTokenRef.current;\n\n if (isControlled) {\n // Show the new value optimistically until the parent re-renders.\n setOptimisticValue(next);\n }\n isEditingRef.current = false;\n setValue(next);\n setIsEditing(false);\n\n const result = onSubmit?.(next);\n // If onSubmit returns a Promise that rejects, the parent is signalling\n // a save failure — revert the optimistic value back to the actual prop.\n // We guard with a token so a slow rejection doesn't clobber a newer\n // commit's optimistic display.\n if (\n result != null &&\n typeof (result as Promise<unknown>).then === 'function'\n ) {\n (result as Promise<unknown>).then(\n () => {},\n () => {\n if (submitTokenRef.current === token && isControlled) {\n setOptimisticValue(null);\n }\n },\n );\n }\n });\n\n const cancel = useEvent(() => {\n if (!isEditingRef.current) return;\n isEditingRef.current = false;\n setIsEditing(false);\n onCancel?.();\n });\n\n // Keep draft in sync with the external value while NOT editing.\n useEffect(() => {\n if (!isEditing) setDraft(value);\n }, [value, isEditing]);\n\n // Select all text synchronously when entering edit mode.\n useLayoutEffect(() => {\n if (!isEditing) return;\n inputRef.current?.select();\n }, [isEditing]);\n\n // Measure the draft so the input width follows the typed glyphs.\n useLayoutEffect(() => {\n if (!isEditing) return;\n const measure = measureRef.current;\n\n if (!measure) return;\n setInputWidth(measure.scrollWidth);\n }, [isEditing, draft, placeholder]);\n\n const handleKeyDown = useEvent((e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n commit(draft);\n\n return;\n }\n\n if (e.key === 'Escape') {\n e.preventDefault();\n cancel();\n\n return;\n }\n\n // Prevent the host (e.g. Tabs) from intercepting text-editing keys.\n if (\n e.key === 'ArrowLeft' ||\n e.key === 'ArrowRight' ||\n e.key === ' ' ||\n e.key === 'Delete' ||\n e.key === 'Backspace'\n ) {\n e.stopPropagation();\n }\n });\n\n const handleInputChange = useEvent((e: ChangeEvent<HTMLInputElement>) => {\n setDraft(e.target.value);\n });\n\n // Keyboard focus ring on the root. Only fires when the span itself is\n // keyboard-focused (i.e. `wantsKeyboard` made it tabbable) — clicking\n // does not trigger focus-visible, and once edit mode starts focus moves\n // to the inner input, so the ring vanishes naturally.\n const { isFocusVisible, focusProps: focusRingProps } = useFocusRing();\n\n const { focusWithinProps } = useFocusWithin({\n isDisabled: !isEditing,\n onBlurWithin: () => {\n if (!submitOnBlur) return;\n commit(draft);\n },\n });\n\n const handleDblClick = useEvent((e: MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n enterEditing();\n });\n\n const handleClick = useEvent((e: MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n enterEditing();\n });\n\n // Keyboard activation from the display element (standalone usage).\n // Hosts that own keyboard handling themselves should pass\n // `keyboardActivation={false}` (see `TabButton` for an example).\n const handleRootKeyDown = useEvent((e: KeyboardEvent<HTMLSpanElement>) => {\n if (e.key === 'Enter' || e.key === 'F2' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n enterEditing();\n }\n });\n\n useImperativeHandle(\n ref,\n () => ({\n startEditing: () => enterEditing(),\n stopEditing: (submit = true) => {\n if (!isEditingRef.current) return;\n if (submit) commit(draft);\n else cancel();\n },\n focus: () => {\n if (isEditingRef.current) inputRef.current?.focus();\n else rootRef.current?.focus();\n },\n getValue: () => displayedValue,\n }),\n [enterEditing, commit, cancel, draft, displayedValue],\n );\n\n const isEditable = editTrigger !== 'none' && !isDisabled && !isReadOnly;\n\n // `focused` is the keyboard-focus ring state. We gate it on `isEditable`\n // and `!isEditing` so the ring never shows on a non-editable display\n // (e.g. inside Tabs with `keyboardActivation={false}` — the span isn't\n // focusable there, but we belt-and-braces it anyway) or while editing\n // (focus is on the inner input).\n const showFocusRing = isFocusVisible && isEditable && !isEditing;\n\n const mods = useMemo(\n () => ({\n editing: isEditing,\n editable: isEditable,\n focused: showFocusRing,\n disabled: isDisabled,\n 'read-only': isReadOnly,\n empty: !displayedValue,\n ...customMods,\n }),\n [\n isEditing,\n isEditable,\n showFocusRing,\n isDisabled,\n isReadOnly,\n displayedValue,\n customMods,\n ],\n );\n\n const mergedStyles = useMemo<Styles | undefined>(() => {\n if (!stylesProp && !inputStyles) return undefined;\n if (!inputStyles) return stylesProp;\n const existingInput =\n (stylesProp?.Input as Styles | undefined) ?? undefined;\n\n return {\n ...stylesProp,\n Input: existingInput\n ? { ...existingInput, ...inputStyles }\n : inputStyles,\n };\n }, [stylesProp, inputStyles]);\n\n const extractedStyles = extractStyles(\n otherProps,\n STYLE_PROPS,\n mergedStyles,\n );\n\n const tokens = useMemo(\n () => ({\n ...customTokens,\n '$input-width': inputWidth != null ? `${inputWidth}px` : 'auto',\n }),\n [customTokens, inputWidth],\n );\n\n // In display mode, render the placeholder when the value is empty so the\n // component remains visible / clickable. Consumers using `renderDisplay`\n // take full control and are responsible for handling empty values\n // themselves.\n const displayContent = renderDisplay\n ? renderDisplay(displayedValue)\n : displayedValue ||\n (placeholder ? (\n <span data-element=\"Placeholder\">{placeholder}</span>\n ) : (\n ''\n ));\n\n const baseProps = filterBaseProps(otherProps, { eventProps: true });\n\n // Overflow detection / auto-tooltip. Suppressed while editing (the input\n // owns the visible text and isn't truncated), and when the consumer\n // provides `renderDisplay` (they own the display story and should attach\n // their own tooltip if needed).\n const { labelRef: tooltipLabelRef, renderWithTooltip } = useAutoTooltip({\n tooltip: isEditing || renderDisplay ? false : tooltip,\n children: displayedValue,\n });\n\n // Wire pointer/keyboard activators only when relevant. Hosts that drive\n // editing through `ref.startEditing()` keep all of these `undefined` so\n // they don't intercept their own keyboard / focus story.\n const wantsClick = !isEditing && isEditable && editTrigger === 'click';\n const wantsDblClick =\n !isEditing && isEditable && editTrigger === 'dblclick';\n const wantsKeyboard = !isEditing && isEditable && keyboardActivation;\n\n const renderRoot = (\n triggerProps?: HTMLAttributes<HTMLElement>,\n tooltipRef?: RefObject<HTMLElement>,\n ) => {\n const handleRootRef = (element: HTMLSpanElement | null) => {\n rootRef.current = element;\n if (tooltipRef) {\n (tooltipRef as { current: HTMLElement | null }).current = element;\n }\n };\n\n // Overflow detection has to look at the truncating element, which is now\n // the inner `Display` (the root is `inline-flex` and doesn't clip). The\n // tooltip still anchors to the root via `tooltipRef` above.\n const handleDisplayRef = (element: HTMLSpanElement | null) => {\n tooltipLabelRef(element);\n };\n\n const a11yProps: HTMLAttributes<HTMLElement> = {};\n\n if (wantsKeyboard) {\n a11yProps.tabIndex = 0;\n a11yProps.role = 'button';\n a11yProps['aria-roledescription'] = 'editable text';\n if (ariaLabel) a11yProps['aria-label'] = ariaLabel;\n if (ariaLabelledby) a11yProps['aria-labelledby'] = ariaLabelledby;\n }\n\n if (isDisabled) a11yProps['aria-disabled'] = true;\n if (isReadOnly) a11yProps['aria-readonly'] = true;\n\n return (\n <InlineInputRoot\n ref={handleRootRef}\n qa={qa ?? 'InlineInput'}\n qaVal={qaVal}\n mods={mods}\n tokens={tokens}\n styles={extractedStyles}\n {...mergeProps(\n baseProps,\n focusWithinProps,\n // Always attach focusRingProps so the hook sees the blur event\n // when focus moves into the inner input on edit-mode entry. If\n // we only attached them while `wantsKeyboard` is true, the hook\n // would miss the blur (since `wantsKeyboard` flips to false the\n // moment editing starts), leaving `isFocused` stale and the\n // ring stuck on after editing ends. `useFocusRing` filters\n // bubbled focus from descendants internally (`target ===\n // currentTarget`), so spreading these on a non-focusable span\n // is a no-op.\n focusRingProps,\n triggerProps ?? {},\n {\n onDoubleClick: wantsDblClick ? handleDblClick : undefined,\n onClick: wantsClick ? handleClick : undefined,\n onKeyDown: wantsKeyboard ? handleRootKeyDown : undefined,\n ...a11yProps,\n },\n )}\n >\n {isEditing ? (\n <FocusScope autoFocus restoreFocus={false} contain={false}>\n <span ref={measureRef} data-element=\"Measure\" aria-hidden=\"true\">\n {draft || placeholder || ' '}\n </span>\n <input\n ref={inputRef}\n data-element=\"Input\"\n type=\"text\"\n value={draft}\n placeholder={placeholder}\n disabled={isDisabled}\n readOnly={isReadOnly}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n onChange={handleInputChange}\n onKeyDown={handleKeyDown}\n />\n </FocusScope>\n ) : (\n <span ref={handleDisplayRef} data-element=\"Display\">\n {displayContent}\n </span>\n )}\n </InlineInputRoot>\n );\n };\n\n return renderWithTooltip(renderRoot, tooltipPlacement);\n },\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"InlineInput.js","names":["mergeProps"],"sources":["../../../../src/components/content/InlineInput/InlineInput.tsx"],"sourcesContent":["import { useControlledState } from '@react-stately/utils';\nimport {\n BaseProps,\n BLOCK_STYLES,\n BlockStyleProps,\n COLOR_STYLES,\n ColorStyleProps,\n filterBaseProps,\n OUTER_STYLES,\n OuterStyleProps,\n Styles,\n tasty,\n} from '@tenphi/tasty';\nimport {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport {\n FocusScope,\n OverlayProps,\n useFocusRing,\n useFocusWithin,\n} from 'react-aria';\n\nimport { useEvent } from '../../../_internal/hooks';\nimport { mergeProps } from '../../../utils/react';\nimport { extractStyles } from '../../../utils/styles';\nimport { AutoTooltipValue, useAutoTooltip } from '../use-auto-tooltip';\n\nimport type {\n ChangeEvent,\n HTMLAttributes,\n KeyboardEvent,\n MouseEvent,\n ReactNode,\n RefObject,\n} from 'react';\n\n// =============================================================================\n// Types\n// =============================================================================\n\nexport type CubeInlineInputEditTrigger = 'dblclick' | 'click' | 'none';\n\nexport interface CubeInlineInputProps\n extends BaseProps,\n BlockStyleProps,\n OuterStyleProps,\n ColorStyleProps {\n /** Controlled value. When provided, the component is controlled. */\n value?: string;\n /** Initial value for uncontrolled usage. */\n defaultValue?: string;\n /**\n * Fires on commit *only when the value actually changed*. Use this to update\n * external state. Pair with `value` for the controlled pattern.\n */\n onChange?: (value: string) => void;\n\n /** Controlled editing state. When provided, the editing state is controlled. */\n isEditing?: boolean;\n /** Default editing state for uncontrolled usage. */\n defaultIsEditing?: boolean;\n /** Called when editing mode starts or ends. */\n onEditingChange?: (isEditing: boolean) => void;\n\n /**\n * Fires every time the user commits (Enter / submit-on-blur / `ref.stopEditing(true)`),\n * even if the value did not change. Use for side effects like analytics or\n * \"save\" toasts. For state updates, prefer `onChange`.\n *\n * May return a Promise. If the returned Promise **rejects**, the component\n * automatically reverts its optimistic display to the actual `value` prop —\n * this gives async-save flows free rollback on failure (in controlled mode).\n */\n onSubmit?: (value: string) => void | Promise<unknown>;\n /** Called when editing is cancelled (Escape or empty submit when `allowEmpty` is false). */\n onCancel?: () => void;\n\n /** How edit mode is activated from the display element. Default: `'dblclick'`. */\n editTrigger?: CubeInlineInputEditTrigger;\n /**\n * When true (default) the display element is keyboard-focusable and\n * responds to `Enter`, `F2` and `Space` by entering edit mode. Set to\n * `false` when a host (e.g. an editable tab inside a button) already\n * routes keyboard activation through `ref.startEditing()` — exposing the\n * display element as a separate tab stop would create a nested keyboard\n * focus inside the host.\n *\n * @default true\n */\n keyboardActivation?: boolean;\n /** Whether to submit when focus leaves the input. Default: `true`. */\n submitOnBlur?: boolean;\n /** Whether to trim the value on submit. Default: `true`. */\n trimOnSubmit?: boolean;\n /** When false, submitting an empty/whitespace value cancels instead. Default: `false`. */\n allowEmpty?: boolean;\n /** When true, edit mode cannot be entered (programmatically or otherwise). */\n isDisabled?: boolean;\n /** When true, edit mode cannot be entered, but the display reads as enabled. */\n isReadOnly?: boolean;\n\n /**\n * When true, applies a styled wrapper to the component (border, fill, padding,\n * fixed height) so it visually matches a `TextInput`. Useful when swapping a\n * field component (e.g. `Select`) for an `InlineInput` to rename / edit the\n * current value without a visual jump.\n *\n * @default false\n */\n isStyled?: boolean;\n\n /** Placeholder text shown in the input when the draft is empty. */\n placeholder?: string;\n /** Custom render for display (non-editing) mode. Receives the currently-displayed value (including optimistic). */\n renderDisplay?: (value: string) => ReactNode;\n /** ARIA label for the input (used when no visible label is associated). */\n 'aria-label'?: string;\n /** ARIA labelledby for the input. */\n 'aria-labelledby'?: string;\n\n /**\n * Tooltip behaviour for the display value:\n * - `true` (default): auto-tooltip — show the full value when the text is truncated.\n * - `false`: never show a tooltip.\n * - `string`: always show this tooltip text.\n * - object: full `TooltipProvider` configuration (with optional `auto`).\n *\n * The tooltip is automatically suppressed while editing and when `renderDisplay` is used.\n */\n tooltip?: AutoTooltipValue;\n /** Default tooltip placement. @default 'top' */\n tooltipPlacement?: OverlayProps['placement'];\n\n /** Convenience prop for styling the `Input` sub-element. Merged into `styles.Input`. */\n inputStyles?: Styles;\n}\n\nexport interface CubeInlineInputRef {\n /** Programmatically enter edit mode. */\n startEditing(): void;\n /** Programmatically exit edit mode. `submit=true` commits, `submit=false` cancels. Defaults to commit. */\n stopEditing(submit?: boolean): void;\n /** Focus the underlying element (input when editing, root span otherwise). */\n focus(): void;\n /** Current committed value (includes optimistic value if a parent hasn't synced yet). */\n getValue(): string;\n}\n\n// =============================================================================\n// Styled element\n// =============================================================================\n\nconst InlineInputRoot = tasty({\n as: 'span',\n styles: {\n // `inline-flex` with `alignItems: baseline` is used (instead of\n // `inline-block` + `overflow: hidden`) so the container's baseline comes\n // from the first flex item's content baseline. With `inline-block` +\n // `overflow: hidden`, the CSS spec forces the baseline to the bottom\n // margin edge, which visibly shifts the text upward inside surrounding\n // line boxes (notably inside Tabs' centered `Item.Label`).\n display: 'inline-flex',\n alignItems: {\n '': 'baseline',\n styled: 'center',\n },\n verticalAlign: {\n '': 'baseline',\n styled: 'middle',\n },\n position: 'relative',\n maxWidth: '100%',\n boxSizing: 'border-box',\n color: {\n '': 'inherit',\n styled: '#dark-02',\n 'styled & disabled': '#dark.30',\n },\n preset: {\n '': 'inherit',\n styled: 't3',\n },\n cursor: {\n '': 'inherit',\n 'editable & !editing': 'text',\n },\n fill: {\n '': 'transparent',\n styled: '#surface',\n 'styled & disabled': '#disabled-surface',\n },\n border: {\n '': false,\n styled: true,\n 'styled & focused': '#primary-text',\n 'styled & disabled': true,\n },\n // Focus ring. Shown when the display element is keyboard-focused\n // (driven on the React side by `isFocusVisible`) and *always* while\n // editing — so swapping into the input always presents a clear focus\n // indicator regardless of how the user activated it (click vs keyboard).\n // In `styled` mode the border colour transition is enough to indicate\n // focus (matching `TextInput`'s visual), so the outline is suppressed.\n // Outline doesn't take layout space and respects rounded corners via\n // `outlineOffset`.\n outline: {\n '': '1bw #primary.0',\n 'focused & !styled': '1bw #primary',\n },\n outlineOffset: 1,\n radius: {\n '': 0,\n focused: true,\n styled: true,\n },\n padding: {\n '': 0,\n styled: '(.75x - 1bw) (1x - 1bw)',\n },\n height: {\n '': 'auto',\n styled: '$size-md',\n },\n transition: 'theme',\n\n // Display flex item: owns the truncation (`overflow: hidden` here is a\n // block-level rule that does *not* alter the parent's baseline, unlike\n // an `inline-block` overflow rule).\n Display: {\n display: 'block',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: '100%',\n preset: 'inherit',\n color: 'inherit',\n },\n\n Input: {\n recipe: 'reset input / input-autofill',\n preset: 'inherit',\n color: 'inherit',\n fill: 'transparent',\n textAlign: 'left',\n // In `styled` mode the wrapper has a fixed size and we want the input\n // to fill it (matches `TextInput`). In the default inline mode the\n // input auto-sizes to its content via `$input-width`.\n width: {\n '': 'initial $input-width 100%',\n styled: '100%',\n },\n minWidth: {\n '': '1em',\n styled: 0,\n },\n '&::placeholder': { recipe: 'input-placeholder' },\n },\n\n Measure: {\n position: 'absolute',\n visibility: 'hidden',\n pointerEvents: 'none',\n whiteSpace: 'pre',\n preset: 'inherit',\n height: 0,\n overflow: 'hidden',\n },\n\n Placeholder: {\n recipe: 'input-placeholder',\n preset: 'inherit',\n },\n },\n});\n\nconst STYLE_PROPS = [...BLOCK_STYLES, ...OUTER_STYLES, ...COLOR_STYLES];\n\n// =============================================================================\n// Component\n// =============================================================================\n\n/**\n * Inline editable text. Renders the value as inline content by default and\n * swaps to an auto-sizing text input when entering edit mode.\n *\n * Designed to drop into any text context (tab title, heading, paragraph,\n * table cell) without style customization: typography, color, and font family\n * are all inherited from the parent.\n *\n * Value and `isEditing` can each be controlled or uncontrolled independently.\n * Programmatic entry via the imperative ref (`startEditing`/`stopEditing`)\n * works regardless of `editTrigger`.\n */\nexport const InlineInput = forwardRef<CubeInlineInputRef, CubeInlineInputProps>(\n function InlineInput(allProps, ref) {\n const {\n value: valueProp,\n defaultValue,\n onChange,\n isEditing: isEditingProp,\n defaultIsEditing,\n onEditingChange,\n onSubmit,\n onCancel,\n editTrigger = 'dblclick',\n keyboardActivation = true,\n submitOnBlur = true,\n trimOnSubmit = true,\n allowEmpty = false,\n isDisabled = false,\n isReadOnly = false,\n isStyled = false,\n placeholder,\n renderDisplay,\n tooltip = true,\n tooltipPlacement = 'top',\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n qa,\n qaVal,\n styles: stylesProp,\n inputStyles,\n mods: customMods,\n tokens: customTokens,\n ...otherProps\n } = allProps;\n\n const isControlled = valueProp !== undefined;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const measureRef = useRef<HTMLSpanElement>(null);\n const rootRef = useRef<HTMLSpanElement>(null);\n\n const [value, setValue] = useControlledState<string>(\n valueProp as string,\n (defaultValue ?? '') as string,\n onChange,\n );\n\n const [isEditing, setIsEditing] = useControlledState<boolean>(\n isEditingProp as boolean,\n (defaultIsEditing ?? false) as boolean,\n onEditingChange,\n );\n\n // Optimistic value. Holds the just-committed value while we wait for the\n // (potentially async) controlled parent to sync `value`. In uncontrolled\n // mode `value` updates immediately so this stays null after each render.\n const [optimisticValue, setOptimisticValue] = useState<string | null>(null);\n const displayedValue = optimisticValue ?? value;\n\n const [draft, setDraft] = useState<string>(value);\n const [inputWidth, setInputWidth] = useState<number | null>(null);\n\n // Token to invalidate in-flight onSubmit promises if a newer commit /\n // re-entry happens before they settle.\n const submitTokenRef = useRef(0);\n\n // Synchronous mirror of `isEditing`. We need this because cancel/commit\n // call user callbacks (`onCancel`/`onSubmit`) that may synchronously\n // re-focus another element — that causes a synchronous blur on the\n // input which would otherwise re-enter `commit` via `onBlurWithin` (the\n // state update from `setIsEditing(false)` isn't committed yet, so the\n // closure still sees `isEditing === true`).\n //\n // The ref is kept in sync via `useLayoutEffect` so concurrent renders\n // that get thrown away don't leak a stale value into the next commit.\n const isEditingRef = useRef(isEditing);\n\n useLayoutEffect(() => {\n isEditingRef.current = isEditing;\n }, [isEditing]);\n\n // Clear the optimistic value once `value` catches up or changes externally.\n useEffect(() => {\n setOptimisticValue(null);\n }, [value]);\n\n const enterEditing = useEvent(() => {\n if (isDisabled || isReadOnly || isEditing) return;\n // Invalidate any in-flight onSubmit promise — its outcome no longer\n // matters because the user is about to commit a new value anyway.\n submitTokenRef.current += 1;\n isEditingRef.current = true;\n // Start from the actual prop value, not optimistic — gives the user a\n // way to recover if a previous commit was rejected by the parent.\n setOptimisticValue(null);\n setDraft(value);\n setIsEditing(true);\n });\n\n const commit = useEvent((rawValue: string) => {\n // Re-entry guard. `onSubmit`/`onCancel` may synchronously refocus and\n // trigger another blur-driven commit before the state update lands.\n if (!isEditingRef.current) return;\n\n const next = trimOnSubmit ? rawValue.trim() : rawValue;\n\n if (!next && !allowEmpty) {\n isEditingRef.current = false;\n setIsEditing(false);\n onCancel?.();\n\n return;\n }\n\n const token = ++submitTokenRef.current;\n\n if (isControlled) {\n // Show the new value optimistically until the parent re-renders.\n setOptimisticValue(next);\n }\n isEditingRef.current = false;\n setValue(next);\n setIsEditing(false);\n\n const result = onSubmit?.(next);\n // If onSubmit returns a Promise that rejects, the parent is signalling\n // a save failure — revert the optimistic value back to the actual prop.\n // We guard with a token so a slow rejection doesn't clobber a newer\n // commit's optimistic display.\n if (\n result != null &&\n typeof (result as Promise<unknown>).then === 'function'\n ) {\n (result as Promise<unknown>).then(\n () => {},\n () => {\n if (submitTokenRef.current === token && isControlled) {\n setOptimisticValue(null);\n }\n },\n );\n }\n });\n\n const cancel = useEvent(() => {\n if (!isEditingRef.current) return;\n isEditingRef.current = false;\n setIsEditing(false);\n onCancel?.();\n });\n\n // Keep draft in sync with the external value while NOT editing.\n useEffect(() => {\n if (!isEditing) setDraft(value);\n }, [value, isEditing]);\n\n // Select all text synchronously when entering edit mode.\n useLayoutEffect(() => {\n if (!isEditing) return;\n inputRef.current?.select();\n }, [isEditing]);\n\n // Measure the draft so the input width follows the typed glyphs.\n useLayoutEffect(() => {\n if (!isEditing) return;\n const measure = measureRef.current;\n\n if (!measure) return;\n setInputWidth(measure.scrollWidth);\n }, [isEditing, draft, placeholder]);\n\n const handleKeyDown = useEvent((e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n commit(draft);\n\n return;\n }\n\n if (e.key === 'Escape') {\n e.preventDefault();\n cancel();\n\n return;\n }\n\n // Prevent the host (e.g. Tabs) from intercepting text-editing keys.\n if (\n e.key === 'ArrowLeft' ||\n e.key === 'ArrowRight' ||\n e.key === ' ' ||\n e.key === 'Delete' ||\n e.key === 'Backspace'\n ) {\n e.stopPropagation();\n }\n });\n\n const handleInputChange = useEvent((e: ChangeEvent<HTMLInputElement>) => {\n setDraft(e.target.value);\n });\n\n // Keyboard focus ring on the root. Only fires when the span itself is\n // keyboard-focused (i.e. `wantsKeyboard` made it tabbable) — clicking\n // does not trigger focus-visible, and once edit mode starts focus moves\n // to the inner input, so the ring vanishes naturally.\n const { isFocusVisible, focusProps: focusRingProps } = useFocusRing();\n\n const { focusWithinProps } = useFocusWithin({\n isDisabled: !isEditing,\n onBlurWithin: () => {\n if (!submitOnBlur) return;\n commit(draft);\n },\n });\n\n const handleDblClick = useEvent((e: MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n enterEditing();\n });\n\n const handleClick = useEvent((e: MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n enterEditing();\n });\n\n // Keyboard activation from the display element (standalone usage).\n // Hosts that own keyboard handling themselves should pass\n // `keyboardActivation={false}` (see `TabButton` for an example).\n const handleRootKeyDown = useEvent((e: KeyboardEvent<HTMLSpanElement>) => {\n if (e.key === 'Enter' || e.key === 'F2' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n enterEditing();\n }\n });\n\n useImperativeHandle(\n ref,\n () => ({\n startEditing: () => enterEditing(),\n stopEditing: (submit = true) => {\n if (!isEditingRef.current) return;\n if (submit) commit(draft);\n else cancel();\n },\n focus: () => {\n if (isEditingRef.current) inputRef.current?.focus();\n else rootRef.current?.focus();\n },\n getValue: () => displayedValue,\n }),\n [enterEditing, commit, cancel, draft, displayedValue],\n );\n\n const isEditable = editTrigger !== 'none' && !isDisabled && !isReadOnly;\n\n // `focused` controls the visible focus indicator on the root.\n //\n // While editing, the inner `<input>` always has focus (FocusScope\n // `autoFocus`), so we show the focus indicator on the root regardless\n // of how the user activated edit mode (click vs keyboard).\n //\n // In display mode, we keep the original behaviour: only show the\n // indicator on keyboard focus (focus-visible), and only when the display\n // element is actually focusable (i.e. `isEditable`).\n //\n // When `keyboardActivation` is `false` the host (e.g. `Tabs`) owns the\n // entire focus story for this control, so we suppress the focus ring\n // entirely — including while editing — to avoid drawing a redundant\n // indicator on top of the host's own focus ring.\n const showFocusRing =\n keyboardActivation && (isEditing || (isFocusVisible && isEditable));\n\n const mods = useMemo(\n () => ({\n editing: isEditing,\n editable: isEditable,\n focused: showFocusRing,\n disabled: isDisabled,\n 'read-only': isReadOnly,\n styled: isStyled,\n empty: !displayedValue,\n ...customMods,\n }),\n [\n isEditing,\n isEditable,\n showFocusRing,\n isDisabled,\n isReadOnly,\n isStyled,\n displayedValue,\n customMods,\n ],\n );\n\n const mergedStyles = useMemo<Styles | undefined>(() => {\n if (!stylesProp && !inputStyles) return undefined;\n if (!inputStyles) return stylesProp;\n const existingInput =\n (stylesProp?.Input as Styles | undefined) ?? undefined;\n\n return {\n ...stylesProp,\n Input: existingInput\n ? { ...existingInput, ...inputStyles }\n : inputStyles,\n };\n }, [stylesProp, inputStyles]);\n\n const extractedStyles = extractStyles(\n otherProps,\n STYLE_PROPS,\n mergedStyles,\n );\n\n const tokens = useMemo(\n () => ({\n ...customTokens,\n '$input-width': inputWidth != null ? `${inputWidth}px` : 'auto',\n }),\n [customTokens, inputWidth],\n );\n\n // In display mode, render the placeholder when the value is empty so the\n // component remains visible / clickable. Consumers using `renderDisplay`\n // take full control and are responsible for handling empty values\n // themselves.\n const displayContent = renderDisplay\n ? renderDisplay(displayedValue)\n : displayedValue ||\n (placeholder ? (\n <span data-element=\"Placeholder\">{placeholder}</span>\n ) : (\n ''\n ));\n\n const baseProps = filterBaseProps(otherProps, { eventProps: true });\n\n // Overflow detection / auto-tooltip. Suppressed while editing (the input\n // owns the visible text and isn't truncated), and when the consumer\n // provides `renderDisplay` (they own the display story and should attach\n // their own tooltip if needed).\n const { labelRef: tooltipLabelRef, renderWithTooltip } = useAutoTooltip({\n tooltip: isEditing || renderDisplay ? false : tooltip,\n children: displayedValue,\n });\n\n // Wire pointer/keyboard activators only when relevant. Hosts that drive\n // editing through `ref.startEditing()` keep all of these `undefined` so\n // they don't intercept their own keyboard / focus story.\n const wantsClick = !isEditing && isEditable && editTrigger === 'click';\n const wantsDblClick =\n !isEditing && isEditable && editTrigger === 'dblclick';\n const wantsKeyboard = !isEditing && isEditable && keyboardActivation;\n\n const renderRoot = (\n triggerProps?: HTMLAttributes<HTMLElement>,\n tooltipRef?: RefObject<HTMLElement>,\n ) => {\n const handleRootRef = (element: HTMLSpanElement | null) => {\n rootRef.current = element;\n if (tooltipRef) {\n (tooltipRef as { current: HTMLElement | null }).current = element;\n }\n };\n\n // Overflow detection has to look at the truncating element, which is now\n // the inner `Display` (the root is `inline-flex` and doesn't clip). The\n // tooltip still anchors to the root via `tooltipRef` above.\n const handleDisplayRef = (element: HTMLSpanElement | null) => {\n tooltipLabelRef(element);\n };\n\n const a11yProps: HTMLAttributes<HTMLElement> = {};\n\n if (wantsKeyboard) {\n a11yProps.tabIndex = 0;\n a11yProps.role = 'button';\n a11yProps['aria-roledescription'] = 'editable text';\n if (ariaLabel) a11yProps['aria-label'] = ariaLabel;\n if (ariaLabelledby) a11yProps['aria-labelledby'] = ariaLabelledby;\n }\n\n if (isDisabled) a11yProps['aria-disabled'] = true;\n if (isReadOnly) a11yProps['aria-readonly'] = true;\n\n return (\n <InlineInputRoot\n ref={handleRootRef}\n qa={qa ?? 'InlineInput'}\n qaVal={qaVal}\n mods={mods}\n tokens={tokens}\n styles={extractedStyles}\n {...mergeProps(\n baseProps,\n focusWithinProps,\n // Always attach focusRingProps so the hook sees the blur event\n // when focus moves into the inner input on edit-mode entry. If\n // we only attached them while `wantsKeyboard` is true, the hook\n // would miss the blur (since `wantsKeyboard` flips to false the\n // moment editing starts), leaving `isFocused` stale and the\n // ring stuck on after editing ends. `useFocusRing` filters\n // bubbled focus from descendants internally (`target ===\n // currentTarget`), so spreading these on a non-focusable span\n // is a no-op.\n focusRingProps,\n triggerProps ?? {},\n {\n onDoubleClick: wantsDblClick ? handleDblClick : undefined,\n onClick: wantsClick ? handleClick : undefined,\n onKeyDown: wantsKeyboard ? handleRootKeyDown : undefined,\n ...a11yProps,\n },\n )}\n >\n {isEditing ? (\n <FocusScope autoFocus restoreFocus={false} contain={false}>\n <span ref={measureRef} data-element=\"Measure\" aria-hidden=\"true\">\n {draft || placeholder || ' '}\n </span>\n <input\n ref={inputRef}\n data-element=\"Input\"\n type=\"text\"\n value={draft}\n placeholder={placeholder}\n disabled={isDisabled}\n readOnly={isReadOnly}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n onChange={handleInputChange}\n onKeyDown={handleKeyDown}\n />\n </FocusScope>\n ) : (\n <span ref={handleDisplayRef} data-element=\"Display\">\n {displayContent}\n </span>\n )}\n </InlineInputRoot>\n );\n };\n\n return renderWithTooltip(renderRoot, tooltipPlacement);\n },\n);\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { mergeProps } from "../../../utils/react/mergeProps.js";
3
3
  import { resolveIcon } from "../../../utils/react/resolveIcon.js";
4
4
  import { highlightText } from "../highlightText.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { mergeProps } from "../../../utils/react/mergeProps.js";
3
3
  import { TooltipProvider } from "../../overlays/Tooltip/TooltipProvider.js";
4
4
  import { DANGER_CLEAR_STYLES, DANGER_NEUTRAL_STYLES, DANGER_PRIMARY_STYLES, DANGER_SECONDARY_STYLES, DEFAULT_CLEAR_STYLES, DEFAULT_NEUTRAL_STYLES, DEFAULT_PRIMARY_STYLES, DEFAULT_SECONDARY_STYLES, ITEM_ACTION_BASE_STYLES, SPECIAL_CLEAR_STYLES, SPECIAL_NEUTRAL_STYLES, SPECIAL_PRIMARY_STYLES, SPECIAL_SECONDARY_STYLES, SUCCESS_CLEAR_STYLES, SUCCESS_NEUTRAL_STYLES, SUCCESS_PRIMARY_STYLES, SUCCESS_SECONDARY_STYLES } from "../../../data/item-themes.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
3
3
  import { _Item } from "../Item/Item.js";
4
4
  import { forwardRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { _Layout } from "./Layout.js";
3
3
  import { _LayoutContent } from "./LayoutContent.js";
4
4
  import { _LayoutBlock } from "./LayoutBlock.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { Alert } from "../Alert/Alert.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { _LayoutContent } from "./LayoutContent.js";
3
3
  import { tasty } from "@tenphi/tasty";
4
4
  import { forwardRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { _LayoutContainer } from "./LayoutContainer.js";
3
3
  import { tasty } from "@tenphi/tasty";
4
4
  import { forwardRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { LayoutContextReset } from "./LayoutContext.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
4
4
  import { LayoutContextReset } from "./LayoutContext.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { createContext, useContext, useMemo, useRef, useState } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { _LayoutContent } from "./LayoutContent.js";
3
3
  import { tasty } from "@tenphi/tasty";
4
4
  import { forwardRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { _LayoutContent } from "./LayoutContent.js";
3
3
  import { tasty } from "@tenphi/tasty";
4
4
  import { forwardRef, useMemo } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { _LayoutContent } from "./LayoutContent.js";
3
3
  import { tasty } from "@tenphi/tasty";
4
4
  import { forwardRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { useAutoTooltip } from "../use-auto-tooltip.js";
3
3
  import { SlashIcon } from "../../../icons/SlashIcon.js";
4
4
  import { Button } from "../../actions/Button/Button.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useCombinedRefs } from "../../../utils/react/useCombinedRefs.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { ItemAction } from "../../actions/ItemAction/ItemAction.js";
4
4
  import { _Item } from "../Item/Item.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { _LayoutContent } from "./LayoutContent.js";
3
3
  import { tasty } from "@tenphi/tasty";
4
4
  import { forwardRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { useCallback, useEffect, useRef, useState } from "react";
3
3
 
4
4
  //#region src/components/content/Layout/hooks/useTinyScrollbar.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { LayoutActionsContext, LayoutContextReset, LayoutPanelContext, LayoutRefsContext, LayoutStateContext, useLayoutActionsContext, useLayoutPanelContext, useLayoutRefsContext, useLayoutStateContext } from "./LayoutContext.js";
3
3
  import { _Layout } from "./Layout.js";
4
4
  import { _LayoutContent } from "./LayoutContent.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  //#region src/components/content/Layout/utils.ts
3
3
  /**
4
4
  * Clamps a size value within min/max constraints.
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { extractStyles } from "../../utils/styles.js";
3
3
  import { _Text } from "./Text.js";
4
4
  import { CONTAINER_STYLES, TEXT_STYLES } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { CONTAINER_STYLES, filterBaseProps, keyframes, tasty } from "@tenphi/tasty";
4
4
  import { forwardRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { RendererPrism, ensureYamlSqlExtensions } from "./prismSetup.js";
3
3
  import { CONTAINER_STYLES, tasty } from "@tenphi/tasty";
4
4
  import { forwardRef } from "react";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { Prism as RendererPrism } from "prism-react-renderer";
3
3
 
4
4
  //#region src/components/content/PrismCode/prismSetup.tsx
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { _PrismCode } from "../PrismCode/PrismCode.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { diffLines } from "diff";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps } from "../../../utils/react/mergeProps.js";
4
4
  import { wrapNodeIfPlain } from "../../../utils/react/wrapNodeIfPlain.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { Space } from "../../layout/Space.js";
3
3
  import { Grid } from "../../layout/Grid.js";
4
4
  import { Flow } from "../../layout/Flow.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { _Item } from "../Item/Item.js";
3
3
  import { CloseIcon } from "../../../icons/CloseIcon.js";
4
4
  import { tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { extractStyles } from "../../utils/styles.js";
3
3
  import { useSlotProps } from "../../utils/react/Slots.js";
4
4
  import { BASE_STYLES, COLOR_STYLES, TEXT_STYLES, filterBaseProps, tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { TEXT_PROP_MAP, _Text } from "../Text.js";
4
4
  import { highlightText } from "../highlightText.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { extractStyles } from "../../utils/styles.js";
3
3
  import { useSlotProps } from "../../utils/react/Slots.js";
4
4
  import { TEXT_PROP_MAP } from "./Text.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeRefs } 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.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
3
3
  import { mergeRefs } 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.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { _Item } from "../Item/Item.js";
3
3
  import { Action } from "../../actions/Action/Action.js";
4
4
  import { tasty } from "@tenphi/tasty";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  //#region src/components/content/Tree/tree-index.ts
3
3
  function buildTreeIndex(treeData) {
4
4
  const byKey = /* @__PURE__ */ new Map();
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useMemo, useState } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { useEvent } from "../../../_internal/hooks/use-event.js";
3
3
  import { useRef, useState } from "react";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { _Text } from "./Text.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
 
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { TooltipProvider } from "../overlays/Tooltip/TooltipProvider.js";
3
3
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { _Text } from "../../content/Text.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";
4
4
  import { useProviderProps } from "../../../provider.js";
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { createContext } from "react";
3
3
 
4
4
  //#region src/components/fields/Checkbox/context.ts
@@ -1,4 +1,4 @@
1
- /** @license MIT | @cube-dev/ui-kit v0.138.1 | Cube Dev Team */
1
+ /** @license MIT | @cube-dev/ui-kit v0.138.3 | Cube Dev Team */
2
2
  import { extractStyles } from "../../../utils/styles.js";
3
3
  import { useLayoutEffect as useLayoutEffect$1 } from "../../../utils/react/useLayoutEffect.js";
4
4
  import { mergeProps as mergeProps$1 } from "../../../utils/react/mergeProps.js";