@cube-dev/ui-kit 0.65.0 → 0.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (484) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/es/_internal/hooks/index.js +1 -1
  3. package/es/_internal/hooks/use-chained-callback.js +1 -1
  4. package/es/_internal/hooks/use-debounced-value.js +1 -1
  5. package/es/_internal/hooks/use-deprecation-warning.js +1 -1
  6. package/es/_internal/hooks/use-effect-once.js +1 -1
  7. package/es/_internal/hooks/use-event.js +1 -1
  8. package/es/_internal/hooks/use-is-first-render.js +1 -1
  9. package/es/_internal/hooks/use-sync-ref.js +1 -1
  10. package/es/_internal/hooks/use-timer/index.js +1 -1
  11. package/es/_internal/hooks/use-timer/timer.js +1 -1
  12. package/es/_internal/hooks/use-timer/use-timer.js +1 -1
  13. package/es/_internal/hooks/use-update-effect.js +1 -1
  14. package/es/_internal/hooks/use-warn.js +1 -1
  15. package/es/_internal/index.js +1 -1
  16. package/es/components/Block.js +1 -1
  17. package/es/components/GlobalStyles.js +1 -1
  18. package/es/components/GridProvider.js +1 -1
  19. package/es/components/HiddenInput.js +1 -1
  20. package/es/components/OpenTrasition.js +1 -1
  21. package/es/components/Root.js +1 -1
  22. package/es/components/actions/Action/Action.js +1 -1
  23. package/es/components/actions/Button/Button.js +1 -1
  24. package/es/components/actions/Button/index.js +1 -1
  25. package/es/components/actions/ButtonGroup/ButtonGroup.js +1 -1
  26. package/es/components/actions/CommandMenu/CommandMenu.js +457 -0
  27. package/es/components/actions/CommandMenu/index.js +11 -0
  28. package/es/components/actions/CommandMenu/styled.js +110 -0
  29. package/es/components/actions/Menu/Menu.js +127 -0
  30. package/es/components/actions/Menu/MenuItem.js +101 -0
  31. package/es/components/{pickers → actions}/Menu/MenuSection.js +13 -5
  32. package/es/components/{pickers → actions}/Menu/MenuTrigger.js +2 -1
  33. package/es/components/{pickers → actions}/Menu/context.js +1 -1
  34. package/es/components/actions/Menu/index.js +17 -0
  35. package/es/components/actions/Menu/styled.js +173 -0
  36. package/es/components/actions/index.js +3 -1
  37. package/es/components/actions/use-action.js +1 -1
  38. package/es/components/content/ActiveZone/ActiveZone.js +1 -1
  39. package/es/components/content/Alert/Alert.js +1 -1
  40. package/es/components/content/Alert/index.js +1 -1
  41. package/es/components/content/Alert/types.js +1 -1
  42. package/es/components/content/Alert/use-alert.js +1 -1
  43. package/es/components/content/Avatar/Avatar.js +1 -1
  44. package/es/components/content/Badge/Badge.js +1 -1
  45. package/es/components/content/Card/Card.js +1 -1
  46. package/es/components/content/Content.js +1 -1
  47. package/es/components/content/CopyPasteBlock/CopyPasteBlock.js +1 -1
  48. package/es/components/content/CopyPasteBlock/index.js +1 -1
  49. package/es/components/content/CopySnippet/CopySnippet.js +1 -1
  50. package/es/components/content/CopySnippet/index.js +1 -1
  51. package/es/components/content/Divider.js +1 -1
  52. package/es/components/content/Footer.js +1 -1
  53. package/es/components/content/Header.js +1 -1
  54. package/es/components/content/HotKeys/HotKeys.js +14 -4
  55. package/es/components/content/HotKeys/index.js +1 -1
  56. package/es/components/content/Paragraph.js +1 -1
  57. package/es/components/content/Placeholder/Placeholder.js +1 -1
  58. package/es/components/content/PrismCode/PrismCode.js +1 -1
  59. package/es/components/content/PrismCode/prismSetup.js +1 -1
  60. package/es/components/content/PrismDiffCode/PrismDiffCode.js +1 -1
  61. package/es/components/content/Result/Result.js +1 -1
  62. package/es/components/content/Skeleton/Skeleton.js +1 -1
  63. package/es/components/content/Tag/Tag.js +1 -1
  64. package/es/components/content/Text.js +1 -1
  65. package/es/components/content/Title.js +1 -1
  66. package/es/components/fields/Checkbox/Checkbox.js +1 -1
  67. package/es/components/fields/Checkbox/CheckboxGroup.js +1 -1
  68. package/es/components/fields/Checkbox/context.js +1 -1
  69. package/es/components/fields/Checkbox/index.js +1 -1
  70. package/es/components/fields/ComboBox/ComboBox.js +3 -2
  71. package/es/components/fields/ComboBox/index.js +1 -1
  72. package/es/components/fields/DatePicker/DateInput.js +1 -1
  73. package/es/components/fields/DatePicker/DateInputBase.js +1 -1
  74. package/es/components/fields/DatePicker/DatePicker.js +1 -1
  75. package/es/components/fields/DatePicker/DatePickerButton.js +1 -1
  76. package/es/components/fields/DatePicker/DatePickerElement.js +1 -1
  77. package/es/components/fields/DatePicker/DatePickerInput.js +1 -1
  78. package/es/components/fields/DatePicker/DatePickerSegment.js +1 -1
  79. package/es/components/fields/DatePicker/DateRangePicker.js +1 -1
  80. package/es/components/fields/DatePicker/DateRangeSeparatedPicker.js +1 -1
  81. package/es/components/fields/DatePicker/TimeInput.js +1 -1
  82. package/es/components/fields/DatePicker/index.js +1 -1
  83. package/es/components/fields/DatePicker/intl.js +1 -1
  84. package/es/components/fields/DatePicker/parseDate.js +1 -1
  85. package/es/components/fields/DatePicker/props.js +1 -1
  86. package/es/components/fields/DatePicker/types.js +1 -1
  87. package/es/components/fields/DatePicker/utils.js +1 -1
  88. package/es/components/fields/FileInput/FileInput.js +1 -1
  89. package/es/components/fields/Input/Input.js +1 -1
  90. package/es/components/fields/Input/index.js +1 -1
  91. package/es/components/fields/ListBox/ListBox.js +1 -1
  92. package/es/components/fields/ListBox/index.js +1 -1
  93. package/es/components/fields/NumberInput/NumberInput.js +1 -1
  94. package/es/components/fields/NumberInput/StepButton.js +1 -1
  95. package/es/components/fields/PasswordInput/PasswordInput.js +1 -1
  96. package/es/components/fields/RadioGroup/Radio.js +1 -1
  97. package/es/components/fields/RadioGroup/RadioGroup.js +1 -1
  98. package/es/components/fields/RadioGroup/context.js +1 -1
  99. package/es/components/fields/RadioGroup/index.js +1 -1
  100. package/es/components/fields/SearchInput/SearchInput.js +1 -1
  101. package/es/components/fields/SearchInput/index.js +1 -1
  102. package/es/components/fields/Select/Select.js +19 -11
  103. package/es/components/fields/Select/index.js +1 -1
  104. package/es/components/fields/Slider/Gradation.js +1 -1
  105. package/es/components/fields/Slider/Header.js +1 -1
  106. package/es/components/fields/Slider/RangeSlider.js +1 -1
  107. package/es/components/fields/Slider/Slider.js +1 -1
  108. package/es/components/fields/Slider/SliderBase.js +1 -1
  109. package/es/components/fields/Slider/SliderInput.js +1 -1
  110. package/es/components/fields/Slider/SliderThumb.js +1 -1
  111. package/es/components/fields/Slider/SliderTrack.js +1 -1
  112. package/es/components/fields/Slider/elements.js +1 -1
  113. package/es/components/fields/Slider/index.js +1 -1
  114. package/es/components/fields/Slider/types.js +1 -1
  115. package/es/components/fields/Switch/Switch.js +1 -1
  116. package/es/components/fields/Switch/index.js +1 -1
  117. package/es/components/fields/TextArea/TextArea.js +1 -1
  118. package/es/components/fields/TextArea/index.js +1 -1
  119. package/es/components/fields/TextInput/TextInput.js +1 -1
  120. package/es/components/fields/TextInput/TextInputBase.js +1 -1
  121. package/es/components/fields/TextInput/index.js +1 -1
  122. package/es/components/fields/TextInputMapper/TextInputMapper.js +1 -1
  123. package/es/components/fields/TextInputMapper/index.js +1 -1
  124. package/es/components/fields/index.js +1 -1
  125. package/es/components/form/FieldWrapper/FieldWrapper.js +1 -1
  126. package/es/components/form/FieldWrapper/extract-field-wrapper-props.js +1 -1
  127. package/es/components/form/FieldWrapper/index.js +1 -1
  128. package/es/components/form/FieldWrapper/types.js +1 -1
  129. package/es/components/form/Form/Field.js +1 -1
  130. package/es/components/form/Form/Form.js +1 -1
  131. package/es/components/form/Form/ResetButton/ResetButton.js +1 -1
  132. package/es/components/form/Form/ResetButton/index.js +1 -1
  133. package/es/components/form/Form/SubmitButton/SubmitButton.js +1 -1
  134. package/es/components/form/Form/SubmitButton/index.js +1 -1
  135. package/es/components/form/Form/SubmitError.js +1 -1
  136. package/es/components/form/Form/index.js +1 -1
  137. package/es/components/form/Form/types.js +1 -1
  138. package/es/components/form/Form/use-field/index.js +1 -1
  139. package/es/components/form/Form/use-field/types.js +1 -1
  140. package/es/components/form/Form/use-field/use-field-props.js +1 -1
  141. package/es/components/form/Form/use-field/use-field.js +1 -1
  142. package/es/components/form/Form/use-form.js +1 -1
  143. package/es/components/form/Form/validation.js +1 -1
  144. package/es/components/form/Label.js +1 -1
  145. package/es/components/form/index.js +1 -1
  146. package/es/components/form/wrapper.js +1 -1
  147. package/es/components/layout/Flex.js +1 -1
  148. package/es/components/layout/Flow.js +1 -1
  149. package/es/components/layout/Grid.js +1 -1
  150. package/es/components/layout/Panel.js +1 -1
  151. package/es/components/layout/Prefix.js +1 -1
  152. package/es/components/layout/ResizablePanel.js +1 -1
  153. package/es/components/layout/Space.js +1 -1
  154. package/es/components/layout/Suffix.js +1 -1
  155. package/es/components/navigation/LegacyTabs/LegacyTabs.js +1 -1
  156. package/es/components/navigation/Link/Link.js +1 -1
  157. package/es/components/organisms/FileTabs/FileTabs.js +1 -1
  158. package/es/components/organisms/Modal/Modal.js +1 -1
  159. package/es/components/organisms/StatsCard/StatsCard.js +1 -1
  160. package/es/components/other/Base64Upload/Base64Upload.js +1 -1
  161. package/es/components/other/Calendar/Calendar.js +1 -1
  162. package/es/components/other/Calendar/CalendarCell.js +1 -1
  163. package/es/components/other/Calendar/CalendarGrid.js +1 -1
  164. package/es/components/other/Calendar/RangeCalendar.js +1 -1
  165. package/es/components/other/CloudLogo/CloudLogo.js +1 -1
  166. package/es/components/overlays/AlertDialog/AlertDialog.js +1 -1
  167. package/es/components/overlays/AlertDialog/AlertDialogApiProvider.js +1 -1
  168. package/es/components/overlays/AlertDialog/AlertDialogZone.js +1 -1
  169. package/es/components/overlays/AlertDialog/index.js +1 -1
  170. package/es/components/overlays/AlertDialog/types.js +1 -1
  171. package/es/components/overlays/Dialog/Dialog.js +1 -1
  172. package/es/components/overlays/Dialog/DialogContainer.js +1 -1
  173. package/es/components/overlays/Dialog/DialogForm.js +1 -1
  174. package/es/components/overlays/Dialog/DialogTrigger.js +1 -1
  175. package/es/components/overlays/Dialog/context.js +1 -1
  176. package/es/components/overlays/Dialog/dialog-container.js +1 -1
  177. package/es/components/overlays/Dialog/index.js +1 -1
  178. package/es/components/overlays/Modal/Modal.js +1 -1
  179. package/es/components/overlays/Modal/OpenTransition.js +1 -1
  180. package/es/components/overlays/Modal/Overlay.js +1 -1
  181. package/es/components/overlays/Modal/Popover.js +1 -1
  182. package/es/components/overlays/Modal/Tray.js +1 -1
  183. package/es/components/overlays/Modal/Underlay.js +1 -1
  184. package/es/components/overlays/Modal/index.js +1 -1
  185. package/es/components/overlays/Modal/types.js +1 -1
  186. package/es/components/overlays/NewNotifications/Bar/FloatingNotification.js +1 -1
  187. package/es/components/overlays/NewNotifications/Bar/NotificationsBar.js +1 -1
  188. package/es/components/overlays/NewNotifications/Bar/TransitionComponent.js +1 -1
  189. package/es/components/overlays/NewNotifications/Bar/index.js +1 -1
  190. package/es/components/overlays/NewNotifications/Dialog/NotificationsDialogTrigger.js +1 -1
  191. package/es/components/overlays/NewNotifications/Dialog/index.js +1 -1
  192. package/es/components/overlays/NewNotifications/Notification.js +1 -1
  193. package/es/components/overlays/NewNotifications/NotificationView/NotificationAction.js +1 -1
  194. package/es/components/overlays/NewNotifications/NotificationView/NotificationCloseButton.js +1 -1
  195. package/es/components/overlays/NewNotifications/NotificationView/NotificationDescription.js +1 -1
  196. package/es/components/overlays/NewNotifications/NotificationView/NotificationFooter.js +1 -1
  197. package/es/components/overlays/NewNotifications/NotificationView/NotificationHeader.js +1 -1
  198. package/es/components/overlays/NewNotifications/NotificationView/NotificationIcon.js +1 -1
  199. package/es/components/overlays/NewNotifications/NotificationView/NotificationProvider.js +1 -1
  200. package/es/components/overlays/NewNotifications/NotificationView/NotificationView.js +1 -1
  201. package/es/components/overlays/NewNotifications/NotificationView/index.js +1 -1
  202. package/es/components/overlays/NewNotifications/NotificationView/types.js +1 -1
  203. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsContext.js +1 -1
  204. package/es/components/overlays/NewNotifications/NotificationsContext/NotificationsProvider.js +1 -1
  205. package/es/components/overlays/NewNotifications/NotificationsContext/index.js +1 -1
  206. package/es/components/overlays/NewNotifications/NotificationsContext/use-notifications.js +1 -1
  207. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsList.js +1 -1
  208. package/es/components/overlays/NewNotifications/NotificationsList/NotificationsListItem.js +1 -1
  209. package/es/components/overlays/NewNotifications/NotificationsList/index.js +1 -1
  210. package/es/components/overlays/NewNotifications/NotificationsList/types.js +1 -1
  211. package/es/components/overlays/NewNotifications/hooks/index.js +1 -1
  212. package/es/components/overlays/NewNotifications/hooks/types.js +1 -1
  213. package/es/components/overlays/NewNotifications/hooks/use-notification-list-item.js +1 -1
  214. package/es/components/overlays/NewNotifications/hooks/use-notifications-api.js +1 -1
  215. package/es/components/overlays/NewNotifications/hooks/use-notifications-list.js +1 -1
  216. package/es/components/overlays/NewNotifications/hooks/use-notifications-observer.js +1 -1
  217. package/es/components/overlays/NewNotifications/index.js +1 -1
  218. package/es/components/overlays/NewNotifications/types.js +1 -1
  219. package/es/components/overlays/Notification/Notification.js +1 -1
  220. package/es/components/overlays/OverlayWrapper.js +1 -1
  221. package/es/components/overlays/Toasts/Toast.js +1 -1
  222. package/es/components/overlays/Toasts/index.js +1 -1
  223. package/es/components/overlays/Toasts/types.js +1 -1
  224. package/es/components/overlays/Toasts/use-toasts-api.js +1 -1
  225. package/es/components/overlays/Tooltip/Tooltip.js +1 -1
  226. package/es/components/overlays/Tooltip/TooltipProvider.js +1 -1
  227. package/es/components/overlays/Tooltip/TooltipTrigger.js +1 -1
  228. package/es/components/overlays/Tooltip/context.js +1 -1
  229. package/es/components/overlays/Tooltip/index.js +1 -1
  230. package/es/components/portal/Portal.js +1 -1
  231. package/es/components/portal/PortalProvider.js +1 -1
  232. package/es/components/portal/index.js +1 -1
  233. package/es/components/portal/storybook/templates/CustomRoot.js +1 -1
  234. package/es/components/portal/storybook/templates/PortalOrder.js +1 -1
  235. package/es/components/portal/storybook/templates/basic.js +1 -1
  236. package/es/components/portal/storybook/templates/index.js +1 -1
  237. package/es/components/portal/types.js +1 -1
  238. package/es/components/portal/usePortal.js +1 -1
  239. package/es/components/shared/InvalidIcon.js +1 -1
  240. package/es/components/shared/ValidIcon.js +1 -1
  241. package/es/components/status/LoadingAnimation/LoadingAnimation.js +1 -1
  242. package/es/components/status/LoadingAnimation/index.js +1 -1
  243. package/es/components/status/Spin/Cube.js +1 -1
  244. package/es/components/status/Spin/InternalSpinner.js +1 -1
  245. package/es/components/status/Spin/Spin.js +1 -1
  246. package/es/components/status/Spin/SpinsContainer.js +1 -1
  247. package/es/components/status/Spin/index.js +1 -1
  248. package/es/components/status/Spin/types.js +1 -1
  249. package/es/components/status/index.js +1 -1
  250. package/es/data/themes.js +1 -1
  251. package/es/icons/AdjustmentsHorizontalIcon.js +1 -1
  252. package/es/icons/AdjustmentsIcon.js +1 -1
  253. package/es/icons/AiIcon.js +1 -1
  254. package/es/icons/AreaChartIcon.js +1 -1
  255. package/es/icons/BackwardIcon.js +1 -1
  256. package/es/icons/BarChartIcon.js +1 -1
  257. package/es/icons/BellFilledIcon.js +1 -1
  258. package/es/icons/BellIcon.js +1 -1
  259. package/es/icons/BooleanIcon.js +1 -1
  260. package/es/icons/CalendarEditIcon.js +1 -1
  261. package/es/icons/CalendarIcon.js +1 -1
  262. package/es/icons/CaretDownIcon.js +1 -1
  263. package/es/icons/CaretUpIcon.js +1 -1
  264. package/es/icons/ChartAreaStackedIcon.js +1 -1
  265. package/es/icons/ChartAreaStackedPercentageIcon.js +1 -1
  266. package/es/icons/ChartBarGroupedHorizontalIcon.js +1 -1
  267. package/es/icons/ChartBarGroupedIcon.js +1 -1
  268. package/es/icons/ChartBarHorizontalIcon.js +1 -1
  269. package/es/icons/ChartBarLineIcon.js +1 -1
  270. package/es/icons/ChartBarStackedHorizontalIcon.js +1 -1
  271. package/es/icons/ChartBarStackedIcon.js +1 -1
  272. package/es/icons/ChartBarStackedPercentageHorizontalIcon.js +1 -1
  273. package/es/icons/ChartBarStackedPercentageIcon.js +1 -1
  274. package/es/icons/ChartBoxPlot2Icon.js +1 -1
  275. package/es/icons/ChartBoxPlotIcon.js +1 -1
  276. package/es/icons/ChartBubbleIcon.js +1 -1
  277. package/es/icons/ChartDonut2Icon.js +1 -1
  278. package/es/icons/ChartFunnelIcon.js +1 -1
  279. package/es/icons/ChartPie2Icon.js +1 -1
  280. package/es/icons/ChartScatterIcon.js +1 -1
  281. package/es/icons/CheckCircleFilledIcon.js +1 -1
  282. package/es/icons/CheckCircleIcon.js +1 -1
  283. package/es/icons/CheckIcon.js +1 -1
  284. package/es/icons/CircleFilledIcon.js +1 -1
  285. package/es/icons/ClearIcon.js +1 -1
  286. package/es/icons/CloseCircleFilledIcon.js +1 -1
  287. package/es/icons/CloseCircleIcon.js +1 -1
  288. package/es/icons/CloseIcon.js +1 -1
  289. package/es/icons/CodeIcon.js +1 -1
  290. package/es/icons/CopyIcon.js +1 -1
  291. package/es/icons/CountIcon.js +1 -1
  292. package/es/icons/CubeIcon.js +1 -1
  293. package/es/icons/DangerIcon.js +1 -1
  294. package/es/icons/DashboardIcon.js +1 -1
  295. package/es/icons/DatabaseIcon.js +1 -1
  296. package/es/icons/DirectionIcon.js +1 -1
  297. package/es/icons/DonutIcon.js +1 -1
  298. package/es/icons/DownIcon.js +1 -1
  299. package/es/icons/EditIcon.js +1 -1
  300. package/es/icons/ExclamationCircleFilledIcon.js +1 -1
  301. package/es/icons/ExclamationCircleIcon.js +1 -1
  302. package/es/icons/ExclamationIcon.js +1 -1
  303. package/es/icons/EyeIcon.js +1 -1
  304. package/es/icons/EyeInvisibleIcon.js +1 -1
  305. package/es/icons/FilterIcon.js +1 -1
  306. package/es/icons/FolderFilledIcon.js +1 -1
  307. package/es/icons/FolderIcon.js +1 -1
  308. package/es/icons/FolderOpenFilledIcon.js +1 -1
  309. package/es/icons/FolderOpenIcon.js +1 -1
  310. package/es/icons/ForwardIcon.js +1 -1
  311. package/es/icons/HierarchyIcon.js +1 -1
  312. package/es/icons/Icon.js +1 -1
  313. package/es/icons/InfoCircleIcon.js +1 -1
  314. package/es/icons/InfoIcon.js +1 -1
  315. package/es/icons/KeyIcon.js +1 -1
  316. package/es/icons/LeftIcon.js +1 -1
  317. package/es/icons/LineChartIcon.js +1 -1
  318. package/es/icons/LoadingIcon.js +1 -1
  319. package/es/icons/LockFilledIcon.js +1 -1
  320. package/es/icons/LockIcon.js +1 -1
  321. package/es/icons/MoreIcon.js +1 -1
  322. package/es/icons/NotAllowedIcon.js +1 -1
  323. package/es/icons/NumberIcon.js +1 -1
  324. package/es/icons/PauseCircleFilledIcon.js +1 -1
  325. package/es/icons/PauseCircleIcon.js +1 -1
  326. package/es/icons/PauseIcon.js +1 -1
  327. package/es/icons/PieChartIcon.js +1 -1
  328. package/es/icons/PlayCircleIcon.js +1 -1
  329. package/es/icons/PlayIcon.js +1 -1
  330. package/es/icons/PlusIcon.js +1 -1
  331. package/es/icons/ReloadIcon.js +1 -1
  332. package/es/icons/ReportIcon.js +1 -1
  333. package/es/icons/ReturnIcon.js +1 -1
  334. package/es/icons/RightIcon.js +1 -1
  335. package/es/icons/SchemeIcon.js +1 -1
  336. package/es/icons/SearchIcon.js +1 -1
  337. package/es/icons/SettingsIcon.js +1 -1
  338. package/es/icons/ShieldFilledIcon.js +1 -1
  339. package/es/icons/ShieldIcon.js +1 -1
  340. package/es/icons/SlashIcon.js +1 -1
  341. package/es/icons/SparklesIcon.js +1 -1
  342. package/es/icons/SqlIcon.js +1 -1
  343. package/es/icons/StatsIcon.js +1 -1
  344. package/es/icons/StopIcon.js +1 -1
  345. package/es/icons/StringIcon.js +1 -1
  346. package/es/icons/SwitchIcon.js +1 -1
  347. package/es/icons/TableIcon.js +1 -1
  348. package/es/icons/ThumbsDownIcon.js +1 -1
  349. package/es/icons/ThumbsUpIcon.js +1 -1
  350. package/es/icons/ThunderboltCrossedIcon.js +1 -1
  351. package/es/icons/ThunderboltFilledIcon.js +1 -1
  352. package/es/icons/ThunderboltIcon.js +1 -1
  353. package/es/icons/TimeIcon.js +1 -1
  354. package/es/icons/UnlockIcon.js +1 -1
  355. package/es/icons/UpIcon.js +1 -1
  356. package/es/icons/UserGroupIcon.js +1 -1
  357. package/es/icons/UserIcon.js +1 -1
  358. package/es/icons/UserLockIcon.js +1 -1
  359. package/es/icons/ViewIcon.js +1 -1
  360. package/es/icons/WarningFilledIcon.js +1 -1
  361. package/es/icons/WarningIcon.js +1 -1
  362. package/es/icons/add-new-icon.js +1 -1
  363. package/es/icons/index.js +1 -1
  364. package/es/icons/wrap-icon.js +1 -1
  365. package/es/index.js +4 -3
  366. package/es/provider.js +1 -1
  367. package/es/providers/TrackingProvider.js +1 -1
  368. package/es/services/notification.js +1 -1
  369. package/es/shared/form.js +1 -1
  370. package/es/shared/index.js +1 -1
  371. package/es/stories/Form.legacy-stories.js +1 -1
  372. package/es/stories/FormFieldArgs.js +1 -1
  373. package/es/stories/Layout.stories.js +1 -1
  374. package/es/stories/Tasty.stories.js +1 -1
  375. package/es/stories/components/ConfirmDeletionDialogForm.js +1 -1
  376. package/es/stories/components/DialogFormApp.js +1 -1
  377. package/es/stories/components/StyledButton.js +1 -1
  378. package/es/stories/lists/baseProps.js +1 -1
  379. package/es/tasty/index.js +1 -1
  380. package/es/tasty/providers/BreakpointsProvider.js +1 -1
  381. package/es/tasty/styles/align.js +1 -1
  382. package/es/tasty/styles/border.js +1 -1
  383. package/es/tasty/styles/boxShadow.combinator.js +1 -1
  384. package/es/tasty/styles/color.js +1 -1
  385. package/es/tasty/styles/createStyle.js +1 -1
  386. package/es/tasty/styles/dimension.js +1 -1
  387. package/es/tasty/styles/display.js +1 -1
  388. package/es/tasty/styles/fade.js +1 -1
  389. package/es/tasty/styles/fill.js +1 -1
  390. package/es/tasty/styles/flow.js +1 -1
  391. package/es/tasty/styles/font.js +1 -1
  392. package/es/tasty/styles/fontStyle.js +1 -1
  393. package/es/tasty/styles/gap.js +1 -1
  394. package/es/tasty/styles/groupRadius.js +1 -1
  395. package/es/tasty/styles/height.js +1 -1
  396. package/es/tasty/styles/index.js +1 -1
  397. package/es/tasty/styles/inset.js +1 -1
  398. package/es/tasty/styles/justify.js +1 -1
  399. package/es/tasty/styles/list.js +1 -1
  400. package/es/tasty/styles/margin.js +1 -1
  401. package/es/tasty/styles/marginBlock.js +1 -1
  402. package/es/tasty/styles/marginInline.js +1 -1
  403. package/es/tasty/styles/outline.js +1 -1
  404. package/es/tasty/styles/padding.js +1 -1
  405. package/es/tasty/styles/paddingBlock.js +1 -1
  406. package/es/tasty/styles/paddingInline.js +1 -1
  407. package/es/tasty/styles/place.js +1 -1
  408. package/es/tasty/styles/predefined.js +1 -1
  409. package/es/tasty/styles/preset.js +1 -1
  410. package/es/tasty/styles/radius.js +1 -1
  411. package/es/tasty/styles/reset.js +1 -1
  412. package/es/tasty/styles/scrollbar.js +1 -1
  413. package/es/tasty/styles/shadow.js +1 -1
  414. package/es/tasty/styles/styledScrollbar.js +1 -1
  415. package/es/tasty/styles/transition.js +1 -1
  416. package/es/tasty/styles/types.js +1 -1
  417. package/es/tasty/styles/width.js +1 -1
  418. package/es/tasty/tasty.js +1 -1
  419. package/es/tasty/types.js +1 -1
  420. package/es/tasty/utils/cache-wrapper.js +1 -1
  421. package/es/tasty/utils/case-converter.js +1 -1
  422. package/es/tasty/utils/colors.js +1 -1
  423. package/es/tasty/utils/dotize.js +1 -1
  424. package/es/tasty/utils/filterBaseProps.js +1 -1
  425. package/es/tasty/utils/getDisplayName.js +1 -1
  426. package/es/tasty/utils/getModCombinations.js +1 -1
  427. package/es/tasty/utils/mergeStyles.js +1 -1
  428. package/es/tasty/utils/modAttrs.js +1 -1
  429. package/es/tasty/utils/renderStyles.js +1 -1
  430. package/es/tasty/utils/responsive.js +1 -1
  431. package/es/tasty/utils/string.js +1 -1
  432. package/es/tasty/utils/styles.js +1 -1
  433. package/es/tasty/utils/warnings.js +1 -1
  434. package/es/tokens.js +3 -2
  435. package/es/type-checks.js +1 -1
  436. package/es/utils/ResizeSensor.js +1 -1
  437. package/es/utils/modules.js +1 -1
  438. package/es/utils/promise.js +1 -1
  439. package/es/utils/random.js +1 -1
  440. package/es/utils/range.js +1 -1
  441. package/es/utils/react/Slots.js +1 -1
  442. package/es/utils/react/chain.js +1 -1
  443. package/es/utils/react/index.js +1 -1
  444. package/es/utils/react/interactions.js +1 -1
  445. package/es/utils/react/isTextOnly.js +1 -1
  446. package/es/utils/react/mapProps.js +1 -1
  447. package/es/utils/react/mergeProps.js +1 -1
  448. package/es/utils/react/nullableValue.js +1 -1
  449. package/es/utils/react/useCombinedRefs.js +1 -1
  450. package/es/utils/react/useId.js +1 -1
  451. package/es/utils/react/useIsDarwin.js +1 -1
  452. package/es/utils/react/useKeySymbols.js +8 -8
  453. package/es/utils/react/useLayoutEffect.js +1 -1
  454. package/es/utils/react/useQaProps.js +1 -1
  455. package/es/utils/react/useViewportSize.js +1 -1
  456. package/es/utils/react/wrapNodeIfPlain.js +1 -1
  457. package/es/utils/transitions.js +1 -1
  458. package/es/utils/tree.js +1 -1
  459. package/es/utils/warnings.js +1 -1
  460. package/es/version.js +2 -2
  461. package/package.json +1 -1
  462. package/types/components/actions/CommandMenu/CommandMenu.d.ts +38 -0
  463. package/types/components/actions/CommandMenu/index.d.ts +2 -0
  464. package/types/components/actions/CommandMenu/styled.d.ts +5 -0
  465. package/types/components/actions/Menu/Menu.d.ts +65 -0
  466. package/types/components/{pickers → actions}/Menu/MenuItem.d.ts +2 -1
  467. package/types/components/{pickers → actions}/Menu/MenuSection.d.ts +1 -0
  468. package/types/components/{pickers → actions}/Menu/context.d.ts +4 -0
  469. package/types/components/actions/Menu/index.d.ts +7 -0
  470. package/types/components/{pickers → actions}/Menu/styled.d.ts +432 -0
  471. package/types/components/actions/index.d.ts +2 -0
  472. package/types/components/content/HotKeys/HotKeys.d.ts +3 -3
  473. package/types/components/fields/ComboBox/ComboBox.d.ts +1 -1
  474. package/types/components/fields/Select/Select.d.ts +3 -2
  475. package/types/components/status/Spin/Cube.d.ts +1 -1
  476. package/types/components/status/Spin/SpinsContainer.d.ts +1 -1
  477. package/types/index.d.ts +6 -4
  478. package/es/components/pickers/Menu/Menu.js +0 -95
  479. package/es/components/pickers/Menu/MenuButton.js +0 -96
  480. package/es/components/pickers/Menu/MenuItem.js +0 -90
  481. package/es/components/pickers/Menu/styled.js +0 -113
  482. package/types/components/pickers/Menu/Menu.d.ts +0 -43
  483. package/types/components/pickers/Menu/MenuButton.d.ts +0 -14
  484. /package/types/components/{pickers → actions}/Menu/MenuTrigger.d.ts +0 -0
@@ -0,0 +1,127 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.66.0
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ import { useSyncRef } from '@react-aria/utils';
10
+ import { useDOMRef } from '@react-spectrum/utils';
11
+ import React, { useMemo } from 'react';
12
+ import { useMenu } from 'react-aria';
13
+ import { Item as BaseItem, Section as BaseSection, useTreeState, } from 'react-stately';
14
+ import { CONTAINER_STYLES, extractStyles, filterBaseProps, } from '../../../tasty';
15
+ import { mergeProps } from '../../../utils/react';
16
+ import { TooltipProvider, } from '../../overlays/Tooltip/TooltipProvider';
17
+ import { useMenuContext } from './context';
18
+ import { MenuItem } from './MenuItem';
19
+ import { MenuSection } from './MenuSection';
20
+ import { StyledDivider, StyledFooter, StyledHeader, StyledMenu, } from './styled';
21
+ function Menu(props, ref) {
22
+ const { header, footer, itemStyles, sectionStyles, sectionHeadingStyles, selectionIcon, size = 'small', qa, selectedKeys, defaultSelectedKeys, onSelectionChange, ...rest } = props;
23
+ const domRef = useDOMRef(ref);
24
+ const contextProps = useMenuContext();
25
+ // Convert string[] to Set<Key> for React Aria compatibility
26
+ const ariaSelectedKeys = selectedKeys ? new Set(selectedKeys) : undefined;
27
+ const ariaDefaultSelectedKeys = defaultSelectedKeys
28
+ ? new Set(defaultSelectedKeys)
29
+ : undefined;
30
+ const handleSelectionChange = onSelectionChange
31
+ ? (keys) => {
32
+ if (keys === 'all') {
33
+ // Handle 'all' selection case - collect all available keys
34
+ const allKeys = Array.from(state.collection.getKeys()).map((key) => String(key));
35
+ onSelectionChange(allKeys);
36
+ }
37
+ else if (keys instanceof Set) {
38
+ onSelectionChange(Array.from(keys).map((key) => String(key)));
39
+ }
40
+ else {
41
+ onSelectionChange([]);
42
+ }
43
+ }
44
+ : undefined;
45
+ const completeProps = mergeProps(contextProps, rest, {
46
+ selectedKeys: ariaSelectedKeys,
47
+ defaultSelectedKeys: ariaDefaultSelectedKeys,
48
+ onSelectionChange: handleSelectionChange,
49
+ });
50
+ // Props used for collection building.
51
+ const treeProps = completeProps;
52
+ const state = useTreeState(treeProps);
53
+ const collectionItems = [...state.collection];
54
+ const hasSections = collectionItems.some((item) => item.type === 'section');
55
+ const { menuProps } = useMenu(completeProps, state, domRef);
56
+ const styles = useMemo(() => extractStyles(completeProps, CONTAINER_STYLES), [completeProps]);
57
+ const defaultProps = {
58
+ qa,
59
+ styles,
60
+ 'data-size': size,
61
+ mods: {
62
+ sections: hasSections,
63
+ footer: !!footer,
64
+ header: !!header,
65
+ popover: completeProps.mods?.popover,
66
+ },
67
+ };
68
+ // Sync the ref stored in the context object with the DOM ref returned by useDOMRef.
69
+ // The helper from @react-aria/utils expects the context object as the first argument
70
+ // to keep it up-to-date, and a ref object as the second.
71
+ useSyncRef(contextProps, domRef);
72
+ const renderedItems = useMemo(() => {
73
+ const items = [];
74
+ let isFirstSection = true;
75
+ collectionItems.forEach((item) => {
76
+ if (item.type === 'section') {
77
+ if (!isFirstSection) {
78
+ items.push(_jsx(StyledDivider, { role: "separator", "aria-orientation": "horizontal" }, `divider-${String(item.key)}`));
79
+ }
80
+ items.push(_jsx(MenuSection, { item: item, state: state, styles: sectionStyles, itemStyles: itemStyles, headingStyles: sectionHeadingStyles, selectionIcon: selectionIcon, size: size }, item.key));
81
+ isFirstSection = false;
82
+ return;
83
+ }
84
+ let menuItem = (_jsx(MenuItem, { item: item, state: state, styles: itemStyles, selectionIcon: selectionIcon, size: size, onAction: item.onAction }, item.key));
85
+ // Apply tooltip wrapper if tooltip property is provided
86
+ if (item.props.tooltip) {
87
+ const tooltipProps = typeof item.props.tooltip === 'string'
88
+ ? { title: item.props.tooltip }
89
+ : item.props.tooltip;
90
+ menuItem = (_jsx(TooltipProvider, { activeWrap: true, placement: "right", ...tooltipProps, children: menuItem }, item.key));
91
+ }
92
+ // Apply custom wrapper if provided
93
+ if (item.props.wrapper) {
94
+ menuItem = item.props.wrapper(menuItem);
95
+ }
96
+ // Ensure every child has a stable key, even if the wrapper component didn't set one.
97
+ items.push(React.cloneElement(menuItem, { key: item.key }));
98
+ });
99
+ return items;
100
+ }, [
101
+ collectionItems,
102
+ state,
103
+ sectionStyles,
104
+ itemStyles,
105
+ selectionIcon,
106
+ sectionHeadingStyles,
107
+ ]);
108
+ return (_jsxs(StyledMenu, { ...mergeProps(defaultProps, menuProps, filterBaseProps(completeProps)), ref: domRef, role: menuProps.role ?? 'menu', children: [header && _jsx(StyledHeader, { role: "presentation", children: header }), renderedItems, footer && _jsx(StyledFooter, { role: "presentation", children: footer })] }));
109
+ }
110
+ // forwardRef doesn't support generic parameters, so cast the result to the correct type
111
+ // https://stackoverflow.com/questions/58469229/react-with-typescript-generics-while-using-react-forwardref
112
+ const _Menu = React.forwardRef(Menu);
113
+ const Item = Object.assign(BaseItem, {
114
+ displayName: 'Item',
115
+ });
116
+ const Section = Object.assign(BaseSection, {
117
+ displayName: 'Section',
118
+ });
119
+ const __Menu = Object.assign(_Menu, {
120
+ Item: Item,
121
+ Section,
122
+ displayName: 'Menu',
123
+ });
124
+ __Menu.displayName = 'Menu';
125
+ export { __Menu as Menu };
126
+
127
+
@@ -0,0 +1,101 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.66.0
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ import { IconPointFilled } from '@tabler/icons-react';
10
+ import { useRef } from 'react';
11
+ import { FocusRing, useMenuItem } from 'react-aria';
12
+ import { useHotkeys } from 'react-hotkeys-hook';
13
+ import { CheckIcon } from '../../../icons';
14
+ import { ClearSlots, mergeProps, SlotProvider } from '../../../utils/react';
15
+ import { HotKeys } from '../../content/HotKeys';
16
+ import { Text } from '../../content/Text';
17
+ import { Space } from '../../layout/Space';
18
+ import { useMenuContext } from './context';
19
+ import { StyledItem } from './styled';
20
+ // Returns icon corresponding to selection type
21
+ const getSelectionTypeIcon = (selectionIcon) => {
22
+ switch (selectionIcon) {
23
+ case 'checkbox':
24
+ return _jsx(CheckIcon, {});
25
+ case 'radio':
26
+ return _jsx(IconPointFilled, {});
27
+ default:
28
+ return undefined;
29
+ }
30
+ };
31
+ // Normalise postfix rendering (string -> Text component)
32
+ const getPostfix = (postfix) => typeof postfix === 'string' ? (_jsx(Text, { nowrap: true, color: "inherit", "data-element": "Postfix", children: postfix })) : (postfix);
33
+ /** @private */
34
+ export function MenuItem(props) {
35
+ const { item, state, styles, selectionIcon, isVirtualized, onAction, size } = props;
36
+ const { onClose, closeOnSelect } = useMenuContext();
37
+ const { rendered, key, props: itemProps } = item;
38
+ // Extract optional keyboard shortcut and CommandMenu-specific props from item props so they are not passed down to DOM elements.
39
+ const { hotkeys, wrapper, keywords, forceMount, ...cleanItemProps } = (itemProps || {});
40
+ const isSelectable = state.selectionManager.selectionMode !== 'none';
41
+ const isDisabledKey = state.disabledKeys.has(key);
42
+ const ref = useRef(null);
43
+ const { menuItemProps, labelProps, descriptionProps, keyboardShortcutProps, isFocused, isSelected, isPressed, isDisabled, } = useMenuItem({
44
+ isSelected: state.selectionManager.isSelected(key),
45
+ isDisabled: isDisabledKey,
46
+ 'aria-label': item['aria-label'],
47
+ key,
48
+ onClose,
49
+ closeOnSelect,
50
+ isVirtualized,
51
+ onAction,
52
+ }, state, ref);
53
+ // Destructure presentation-related props from cleanItemProps so they are not spread onto DOM element
54
+ const { postfix, description, icon, mods: itemMods, qa: itemQa, textValue, ...restCleanProps } = cleanItemProps;
55
+ // Build final postfix: custom postfix or HotKeys hint if provided and no explicit postfix
56
+ const finalPostfix = postfix ?? (hotkeys ? _jsx(HotKeys, { children: hotkeys }) : undefined);
57
+ const checkIcon = isSelectable && isSelected
58
+ ? getSelectionTypeIcon(selectionIcon)
59
+ : undefined;
60
+ const isVirtualFocused = state.selectionManager.focusedKey === key;
61
+ const mods = {
62
+ ...itemMods,
63
+ focused: isFocused || isVirtualFocused,
64
+ pressed: isPressed,
65
+ selectionIcon: !!selectionIcon,
66
+ selectable: isSelectable,
67
+ selected: isSelected,
68
+ disabled: isDisabled,
69
+ };
70
+ // Register global hotkey if provided
71
+ useHotkeys(typeof hotkeys === 'string' ? hotkeys.toLowerCase() : '', () => {
72
+ if (!hotkeys)
73
+ return;
74
+ if (isDisabledKey || isDisabled)
75
+ return;
76
+ // Simulate a click on the menu item so all existing handlers run
77
+ if (ref.current) {
78
+ ref.current.click();
79
+ }
80
+ }, {
81
+ enableOnContentEditable: true,
82
+ enabled: !!hotkeys,
83
+ preventDefault: true,
84
+ enableOnFormTags: true,
85
+ }, [hotkeys, isDisabledKey, isDisabled]);
86
+ return (_jsx(FocusRing, { children: _jsx(StyledItem, { ...mergeProps(menuItemProps, restCleanProps, {
87
+ qa: itemQa ? itemQa : `MenuItem-${key}`,
88
+ mods,
89
+ styles,
90
+ 'aria-disabled': isDisabled || undefined,
91
+ 'data-size': size,
92
+ }), ref: ref, children: _jsx(ClearSlots, { children: _jsxs(SlotProvider, { slots: {
93
+ text: { className: 'itemLabel', ...labelProps },
94
+ end: { className: 'end', ...descriptionProps },
95
+ icon: { className: 'icon' },
96
+ description: { className: 'description', ...descriptionProps },
97
+ keyboard: { className: 'keyboard', ...keyboardShortcutProps },
98
+ }, children: [checkIcon ? (_jsx("div", { "data-element": "ButtonIcon", children: checkIcon })) : null, icon ? _jsx("div", { "data-element": "ButtonIcon", children: icon }) : null, _jsxs(Space, { gap: "1x", placeContent: "space-between", overflow: "clip", width: "100%", children: [_jsxs(Space, { flow: "column", gap: "0", width: "100%", children: [_jsx(Text, { ellipsis: true, color: "inherit", children: rendered }), description ? (_jsx(Text, { nowrap: true, ellipsis: true, "data-element": "Description", preset: "t4", color: "#dark-03", children: description })) : null] }), finalPostfix && getPostfix(finalPostfix)] })] }) }) }) }));
99
+ }
100
+
101
+
@@ -1,28 +1,36 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.65.0
4
+ * @cube-dev/ui-kit v0.66.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
8
8
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
9
9
  import { useMenuSection } from 'react-aria';
10
+ import { TooltipProvider } from '../../overlays/Tooltip/TooltipProvider';
10
11
  import { MenuItem } from './MenuItem';
11
12
  import { StyledMenu, StyledSection, StyledSectionHeading } from './styled';
12
13
  /** @private */
13
14
  export function MenuSection(props) {
14
- const { item, state, styles, itemStyles, headingStyles } = props;
15
+ const { item, state, styles, itemStyles, headingStyles, size } = props;
15
16
  const heading = item.rendered;
16
17
  const { itemProps, headingProps, groupProps } = useMenuSection({
17
18
  heading,
18
19
  'aria-label': item['aria-label'],
19
20
  });
20
21
  return (_jsx(_Fragment, { children: _jsxs(StyledSection, { ...itemProps, styles: styles, children: [heading && (_jsx(StyledSectionHeading, { ...headingProps, styles: headingStyles, children: heading })), _jsx(StyledMenu, { ...groupProps, mods: { section: true }, children: [...item.childNodes].map((node) => {
21
- let item = (_jsx(MenuItem, { item: node, styles: itemStyles, state: state, onAction: node.onAction }, node.key));
22
+ let menuItem = (_jsx(MenuItem, { item: node, styles: itemStyles, state: state, size: size, onAction: node.onAction }, node.key));
23
+ // Apply tooltip wrapper if tooltip property is provided
24
+ if (node.props.tooltip) {
25
+ const tooltipProps = typeof node.props.tooltip === 'string'
26
+ ? { title: node.props.tooltip }
27
+ : node.props.tooltip;
28
+ menuItem = (_jsx(TooltipProvider, { activeWrap: true, placement: "right", ...tooltipProps, children: menuItem }, node.key));
29
+ }
22
30
  if (node.props.wrapper) {
23
- item = node.props.wrapper(item);
31
+ menuItem = node.props.wrapper(menuItem);
24
32
  }
25
- return item;
33
+ return menuItem;
26
34
  }) })] }) }));
27
35
  }
28
36
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.65.0
4
+ * @cube-dev/ui-kit v0.66.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -70,6 +70,7 @@ function MenuTrigger(props, ref) {
70
70
  : undefined,
71
71
  mods: {
72
72
  popover: !isMobile,
73
+ tray: isMobile,
73
74
  },
74
75
  };
75
76
  const contents = (_jsxs(_Fragment, { children: [_jsx(DismissButton, { onDismiss: state.close }), menu, _jsx(DismissButton, { onDismiss: state.close })] }));
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.65.0
4
+ * @cube-dev/ui-kit v0.66.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.66.0
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ export * from './Menu';
9
+ export * from './MenuTrigger';
10
+ export * from './MenuItem';
11
+ export * from './MenuSection';
12
+ export * from './context';
13
+ // Re-export the main components
14
+ export { Menu } from './Menu';
15
+ export { MenuTrigger } from './MenuTrigger';
16
+
17
+
@@ -0,0 +1,173 @@
1
+ /**
2
+ * @license MIT
3
+ * author: Cube Dev Team
4
+ * @cube-dev/ui-kit v0.66.0
5
+ * Released under the MIT license.
6
+ */
7
+
8
+ import { DEFAULT_BUTTON_STYLES, DEFAULT_NEUTRAL_STYLES } from '..';
9
+ import { tasty } from '../../../tasty';
10
+ import { Space } from '../../layout/Space';
11
+ export const StyledMenu = tasty({
12
+ as: 'ul',
13
+ qa: 'Menu',
14
+ styles: {
15
+ display: 'flex',
16
+ flow: 'column',
17
+ gap: {
18
+ '': '1bw',
19
+ sections: false,
20
+ },
21
+ fill: '#white',
22
+ margin: 0,
23
+ padding: {
24
+ '': '0.5x',
25
+ section: 0, // section menu
26
+ },
27
+ overflow: {
28
+ '': 'auto',
29
+ section: '',
30
+ },
31
+ border: {
32
+ '': '#border',
33
+ section: false,
34
+ },
35
+ radius: '(1cr + 1bw)',
36
+ boxShadow: {
37
+ '': '',
38
+ popover: '0px 5px 15px #dark.05',
39
+ },
40
+ scrollbar: 'styled',
41
+ },
42
+ });
43
+ export const StyledDivider = tasty({
44
+ qa: 'Divider',
45
+ as: 'li',
46
+ styles: {
47
+ display: 'flex',
48
+ flow: 'column',
49
+ margin: '.5x',
50
+ listStyle: 'none',
51
+ fill: '#border',
52
+ height: '1bw',
53
+ flexShrink: 0,
54
+ },
55
+ });
56
+ export const StyledHeader = tasty(Space, {
57
+ qa: 'Header',
58
+ as: 'div',
59
+ styles: {
60
+ color: '#dark-02',
61
+ preset: 't3',
62
+ placeContent: 'space-between',
63
+ placeItems: 'center',
64
+ whiteSpace: 'nowrap',
65
+ padding: '.5x 1x',
66
+ height: 'min 4x',
67
+ },
68
+ });
69
+ export const StyledFooter = tasty(Space, {
70
+ qa: 'Footer',
71
+ as: 'div',
72
+ styles: {
73
+ color: '#dark-02',
74
+ preset: 't3',
75
+ border: '#border top',
76
+ placeContent: 'space-between',
77
+ placeItems: 'center',
78
+ whiteSpace: 'nowrap',
79
+ padding: '.5x 1x',
80
+ height: 'min 4x',
81
+ },
82
+ });
83
+ export const StyledSection = tasty({
84
+ qa: 'Section',
85
+ as: 'li',
86
+ styles: {
87
+ display: 'flex',
88
+ flow: 'column',
89
+ margin: '0',
90
+ padding: '0',
91
+ listStyle: 'none',
92
+ fill: '#white',
93
+ },
94
+ });
95
+ export const StyledItem = tasty({
96
+ qa: 'Item',
97
+ as: 'li',
98
+ styles: {
99
+ // Base button-like styles merged from Action/Button defaults
100
+ ...DEFAULT_BUTTON_STYLES,
101
+ ...DEFAULT_NEUTRAL_STYLES,
102
+ // Override specifics for menu context
103
+ display: 'flex',
104
+ flow: 'row',
105
+ justifyContent: 'stretch',
106
+ listStyle: 'none',
107
+ flexShrink: 0,
108
+ height: {
109
+ '': 'min 4x',
110
+ '[data-size="medium"]': 'min 5x',
111
+ },
112
+ border: false,
113
+ boxSizing: 'border-box',
114
+ fill: {
115
+ '': '#clear',
116
+ focused: '#dark.03',
117
+ selected: '#dark.06',
118
+ 'selected & focused': '#dark.09',
119
+ pressed: '#dark.06',
120
+ disabled: '#clear',
121
+ },
122
+ color: {
123
+ '': '#dark-02',
124
+ 'selected | pressed': '#dark',
125
+ disabled: '#dark-04',
126
+ },
127
+ cursor: {
128
+ '': 'pointer',
129
+ disabled: 'default',
130
+ },
131
+ shadow: '#clear',
132
+ padding: {
133
+ '': '.5x 1x',
134
+ 'selectionIcon & selectable & !selected': '.5x 1x .5x (1x + 3x)',
135
+ },
136
+ gap: '.75x',
137
+ outline: false,
138
+ // Sub-elements reused from MenuButton styles
139
+ ButtonIcon: {
140
+ display: 'grid',
141
+ fontSize: '@icon-size',
142
+ width: '@icon-size',
143
+ height: '@icon-size',
144
+ placeSelf: 'center',
145
+ placeItems: 'center',
146
+ },
147
+ Postfix: {
148
+ color: {
149
+ '': '#dark-03',
150
+ pressed: '#dark-02',
151
+ disabled: '#dark-04',
152
+ },
153
+ },
154
+ Description: {
155
+ preset: 't4',
156
+ color: '#dark-03',
157
+ },
158
+ },
159
+ });
160
+ export const StyledSectionHeading = tasty(Space, {
161
+ qa: 'SectionHeading',
162
+ as: 'div',
163
+ styles: {
164
+ color: '#dark-04',
165
+ preset: 'c2',
166
+ padding: '.5x 1x',
167
+ height: '3x',
168
+ placeContent: 'center space-between',
169
+ align: 'start',
170
+ },
171
+ });
172
+
173
+
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.65.0
4
+ * @cube-dev/ui-kit v0.66.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -10,6 +10,8 @@ import { ButtonGroup } from './ButtonGroup/ButtonGroup';
10
10
  const Button = Object.assign(__Button, { Group: ButtonGroup });
11
11
  export * from './Button';
12
12
  export * from './Action/Action';
13
+ export * from './Menu';
14
+ export * from './CommandMenu';
13
15
  export * from './use-action';
14
16
  export { Button, ButtonGroup };
15
17
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.65.0
4
+ * @cube-dev/ui-kit v0.66.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.65.0
4
+ * @cube-dev/ui-kit v0.66.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.65.0
4
+ * @cube-dev/ui-kit v0.66.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.65.0
4
+ * @cube-dev/ui-kit v0.66.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.65.0
4
+ * @cube-dev/ui-kit v0.66.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.65.0
4
+ * @cube-dev/ui-kit v0.66.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.65.0
4
+ * @cube-dev/ui-kit v0.66.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.65.0
4
+ * @cube-dev/ui-kit v0.66.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.65.0
4
+ * @cube-dev/ui-kit v0.66.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.65.0
4
+ * @cube-dev/ui-kit v0.66.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.65.0
4
+ * @cube-dev/ui-kit v0.66.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.65.0
4
+ * @cube-dev/ui-kit v0.66.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.65.0
4
+ * @cube-dev/ui-kit v0.66.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.65.0
4
+ * @cube-dev/ui-kit v0.66.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.65.0
4
+ * @cube-dev/ui-kit v0.66.0
5
5
  * Released under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license MIT
3
3
  * author: Cube Dev Team
4
- * @cube-dev/ui-kit v0.65.0
4
+ * @cube-dev/ui-kit v0.66.0
5
5
  * Released under the MIT license.
6
6
  */
7
7