@nattstack/ui 0.0.98 → 0.0.100

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 (41) hide show
  1. package/dist/components/index.d.ts +12 -14
  2. package/dist/components/index.js +12 -14
  3. package/dist/components/menu/menu-checkbox-item.d.ts +3 -4
  4. package/dist/components/menu/menu-checkbox-item.js +29 -32
  5. package/dist/components/menu/menu-content.css +7 -0
  6. package/dist/components/menu/menu-content.d.ts +2 -2
  7. package/dist/components/menu/menu-content.js +20 -8
  8. package/dist/components/menu/menu-content.module.js +5 -0
  9. package/dist/components/menu/menu-group-label.d.ts +2 -1
  10. package/dist/components/menu/menu-group-label.js +5 -4
  11. package/dist/components/menu/menu-group.d.ts +2 -1
  12. package/dist/components/menu/menu-group.js +5 -4
  13. package/dist/components/menu/menu-item.css +7 -0
  14. package/dist/components/menu/menu-item.d.ts +2 -1
  15. package/dist/components/menu/menu-item.js +8 -7
  16. package/dist/components/menu/menu-item.module.js +5 -0
  17. package/dist/components/menu/menu-link-item.d.ts +5 -2
  18. package/dist/components/menu/menu-link-item.js +9 -4
  19. package/dist/components/menu/menu-radio-group.d.ts +2 -1
  20. package/dist/components/menu/menu-radio-group.js +5 -4
  21. package/dist/components/menu/menu-radio-item.d.ts +3 -4
  22. package/dist/components/menu/menu-radio-item.js +29 -30
  23. package/dist/components/menu/menu-separator.d.ts +2 -1
  24. package/dist/components/menu/menu-separator.js +5 -4
  25. package/dist/components/menu/menu-submenu-trigger.css +16 -0
  26. package/dist/components/menu/menu-submenu-trigger.d.ts +6 -2
  27. package/dist/components/menu/menu-submenu-trigger.js +36 -5
  28. package/dist/components/menu/menu-submenu-trigger.module.js +8 -0
  29. package/dist/components/menu/menu-submenu.d.ts +1 -5
  30. package/dist/components/menu/menu-submenu.js +1 -4
  31. package/dist/components/menu/menu-trigger.d.ts +2 -2
  32. package/dist/components/menu/menu.d.ts +3 -8
  33. package/dist/components/menu/menu.js +2 -6
  34. package/dist/components/picker/picker-trigger.css +6 -1
  35. package/package.json +1 -1
  36. package/dist/components/menu/menu-class-names.d.ts +0 -23
  37. package/dist/components/menu/menu-class-names.js +0 -24
  38. package/dist/components/menu/menu-viewport.d.ts +0 -9
  39. package/dist/components/menu/menu-viewport.js +0 -16
  40. package/dist/components/menu/menu.css +0 -196
  41. package/dist/components/menu/menu.module.js +0 -24
@@ -21,21 +21,19 @@ import { DialogResponsiveTrigger, DialogResponsiveTriggerProps } from "./dialog-
21
21
  import { IconButton, IconButtonProps, iconButton } from "./icon-button/icon-button.js";
22
22
  import { Input, InputProps, inputVariants } from "./input/input.js";
23
23
  import { Label, LabelProps, labelVariants } from "./label/label.js";
24
- import { Menu, MenuProps, createMenuHandle } from "./menu/menu.js";
25
- import { MenuCheckboxItem, MenuCheckboxItemProps } from "./menu/menu-checkbox-item.js";
26
- import { MENU_CLASS_NAME } from "./menu/menu-class-names.js";
27
- import { MenuContent, MenuContentProps } from "./menu/menu-content.js";
28
- import { MenuGroup, MenuGroupProps } from "./menu/menu-group.js";
29
- import { MenuGroupLabel, MenuGroupLabelProps } from "./menu/menu-group-label.js";
30
- import { MenuItem, MenuItemProps } from "./menu/menu-item.js";
31
- import { MenuLinkItem, MenuLinkItemProps } from "./menu/menu-link-item.js";
32
- import { MenuRadioGroup, MenuRadioGroupProps } from "./menu/menu-radio-group.js";
33
- import { MenuRadioItem, MenuRadioItemProps } from "./menu/menu-radio-item.js";
34
- import { MenuSeparator, MenuSeparatorProps } from "./menu/menu-separator.js";
24
+ import { Menu, MenuProps } from "./menu/menu.js";
25
+ import { MenuCheckboxItem, MenuCheckboxItemProps, menuCheckboxItemVariants } from "./menu/menu-checkbox-item.js";
26
+ import { MenuContent, MenuContentProps, menuContentVariants } from "./menu/menu-content.js";
27
+ import { MenuGroup, MenuGroupProps, menuGroupVariants } from "./menu/menu-group.js";
28
+ import { MenuGroupLabel, MenuGroupLabelProps, menuGroupLabelVariants } from "./menu/menu-group-label.js";
29
+ import { MenuItem, MenuItemProps, menuItemVariants } from "./menu/menu-item.js";
30
+ import { MenuLinkItem, MenuLinkItemProps, menuLinkItemVariants } from "./menu/menu-link-item.js";
31
+ import { MenuRadioGroup, MenuRadioGroupProps, menuRadioGroupVariants } from "./menu/menu-radio-group.js";
32
+ import { MenuRadioItem, MenuRadioItemProps, menuRadioItemVariants } from "./menu/menu-radio-item.js";
33
+ import { MenuSeparator, MenuSeparatorProps, menuSeparatorVariants } from "./menu/menu-separator.js";
35
34
  import { MenuSubmenu, MenuSubmenuProps } from "./menu/menu-submenu.js";
36
- import { MenuSubmenuTrigger, MenuSubmenuTriggerProps } from "./menu/menu-submenu-trigger.js";
35
+ import { MenuSubmenuTrigger, MenuSubmenuTriggerProps, menuSubmenuTriggerVariants } from "./menu/menu-submenu-trigger.js";
37
36
  import { MenuTrigger, MenuTriggerProps } from "./menu/menu-trigger.js";
38
- import { MenuViewport, MenuViewportProps } from "./menu/menu-viewport.js";
39
37
  import { OTPField, otpFieldVariants } from "./otp-field/otp-field.js";
40
38
  import { OTPFieldInput, otpFieldInputVariants } from "./otp-field/otp-field-input.js";
41
39
  import { Row, RowProps, rowVariants } from "./row/row.js";
@@ -64,4 +62,4 @@ import { Tooltip, TooltipProps } from "./tooltip/tooltip.js";
64
62
  import { TooltipPopup, TooltipPopupProps, tooltipPopupVariants } from "./tooltip/tooltip-popup.js";
65
63
  import { TooltipProvider, TooltipProviderProps } from "./tooltip/tooltip-provider.js";
66
64
  import { TooltipTrigger, TooltipTriggerProps } from "./tooltip/tooltip-trigger.js";
67
- export { Button, ButtonLink, ButtonLinkProps, ButtonProps, Checkbox, CheckboxProps, Column, ColumnProps, Combobox, ComboboxCollection, ComboboxCollectionProps, ComboboxContent, ComboboxContentProps, ComboboxEmpty, ComboboxEmptyProps, ComboboxGroup, ComboboxGroupLabel, ComboboxGroupLabelProps, ComboboxGroupProps, ComboboxInput, ComboboxInputProps, ComboboxItem, ComboboxItemProps, ComboboxList, ComboboxListProps, ComboboxProps, ComboboxSearch, ComboboxSearchProps, ComboboxSeparator, ComboboxSeparatorProps, ComboboxTrigger, ComboboxTriggerProps, ComboboxValue, ComboboxValueProps, DialogResponsive, DialogResponsivePopup, DialogResponsivePopupProps, DialogResponsiveProps, DialogResponsiveTrigger, DialogResponsiveTriggerProps, IconButton, IconButtonProps, Input, InputProps, Label, LabelProps, MENU_CLASS_NAME, Menu, MenuCheckboxItem, MenuCheckboxItemProps, MenuContent, MenuContentProps, MenuGroup, MenuGroupLabel, MenuGroupLabelProps, MenuGroupProps, MenuItem, MenuItemProps, MenuLinkItem, MenuLinkItemProps, MenuProps, MenuRadioGroup, MenuRadioGroupProps, MenuRadioItem, MenuRadioItemProps, MenuSeparator, MenuSeparatorProps, MenuSubmenu, MenuSubmenuProps, MenuSubmenuTrigger, MenuSubmenuTriggerProps, MenuTrigger, MenuTriggerProps, MenuViewport, MenuViewportProps, OTPField, OTPFieldInput, Row, RowProps, Select, SelectContent, SelectContentProps, SelectGroup, SelectGroupLabel, SelectGroupLabelProps, SelectGroupProps, SelectItem, SelectItemProps, SelectProps, SelectSeparator, SelectSeparatorProps, SelectTrigger, SelectTriggerProps, SelectValue, SelectValueProps, Spacer, SpacerProps, Switch, SwitchProps, Tabs, TabsPanel, TabsPanelProps, TabsPillList, TabsPillListProps, TabsPillTab, TabsPillTabProps, TabsProps, TabsSegmentedList, TabsSegmentedListProps, TabsSegmentedTab, TabsSegmentedTabProps, TabsUnderlineList, TabsUnderlineListProps, TabsUnderlineTab, TabsUnderlineTabProps, Textarea, TextareaProps, ToggleGroup, ToggleGroupItem, ToggleGroupItemProps, ToggleGroupProps, Tooltip, TooltipPopup, TooltipPopupProps, TooltipProps, TooltipProvider, TooltipProviderProps, TooltipTrigger, TooltipTriggerProps, button, checkboxVariants, columnVariants, comboboxContentVariants, comboboxEmptyVariants, comboboxGroupLabelVariants, comboboxGroupVariants, comboboxInputVariants, comboboxItemVariants, comboboxListVariants, comboboxSearchVariants, comboboxSeparatorVariants, comboboxTriggerVariants, comboboxValueVariants, createMenuHandle, dialogResponsivePopupVariants, iconButton, inputVariants, labelVariants, otpFieldInputVariants, otpFieldVariants, rowVariants, selectContentVariants, selectGroupLabelVariants, selectGroupVariants, selectItemVariants, selectSeparatorVariants, selectTriggerVariants, selectValueVariants, spacerVariants, switchVariants, tabsPanelVariants, tabsPillListVariants, tabsPillTabVariants, tabsSegmentedListVariants, tabsSegmentedTabVariants, tabsUnderlineListVariants, tabsUnderlineTabVariants, tabsVariants, textareaVariants, toggleGroupItemVariants, toggleGroupVariants, tooltipPopupVariants };
65
+ export { Button, ButtonLink, ButtonLinkProps, ButtonProps, Checkbox, CheckboxProps, Column, ColumnProps, Combobox, ComboboxCollection, ComboboxCollectionProps, ComboboxContent, ComboboxContentProps, ComboboxEmpty, ComboboxEmptyProps, ComboboxGroup, ComboboxGroupLabel, ComboboxGroupLabelProps, ComboboxGroupProps, ComboboxInput, ComboboxInputProps, ComboboxItem, ComboboxItemProps, ComboboxList, ComboboxListProps, ComboboxProps, ComboboxSearch, ComboboxSearchProps, ComboboxSeparator, ComboboxSeparatorProps, ComboboxTrigger, ComboboxTriggerProps, ComboboxValue, ComboboxValueProps, DialogResponsive, DialogResponsivePopup, DialogResponsivePopupProps, DialogResponsiveProps, DialogResponsiveTrigger, DialogResponsiveTriggerProps, IconButton, IconButtonProps, Input, InputProps, Label, LabelProps, Menu, MenuCheckboxItem, MenuCheckboxItemProps, MenuContent, MenuContentProps, MenuGroup, MenuGroupLabel, MenuGroupLabelProps, MenuGroupProps, MenuItem, MenuItemProps, MenuLinkItem, MenuLinkItemProps, MenuProps, MenuRadioGroup, MenuRadioGroupProps, MenuRadioItem, MenuRadioItemProps, MenuSeparator, MenuSeparatorProps, MenuSubmenu, MenuSubmenuProps, MenuSubmenuTrigger, MenuSubmenuTriggerProps, MenuTrigger, MenuTriggerProps, OTPField, OTPFieldInput, Row, RowProps, Select, SelectContent, SelectContentProps, SelectGroup, SelectGroupLabel, SelectGroupLabelProps, SelectGroupProps, SelectItem, SelectItemProps, SelectProps, SelectSeparator, SelectSeparatorProps, SelectTrigger, SelectTriggerProps, SelectValue, SelectValueProps, Spacer, SpacerProps, Switch, SwitchProps, Tabs, TabsPanel, TabsPanelProps, TabsPillList, TabsPillListProps, TabsPillTab, TabsPillTabProps, TabsProps, TabsSegmentedList, TabsSegmentedListProps, TabsSegmentedTab, TabsSegmentedTabProps, TabsUnderlineList, TabsUnderlineListProps, TabsUnderlineTab, TabsUnderlineTabProps, Textarea, TextareaProps, ToggleGroup, ToggleGroupItem, ToggleGroupItemProps, ToggleGroupProps, Tooltip, TooltipPopup, TooltipPopupProps, TooltipProps, TooltipProvider, TooltipProviderProps, TooltipTrigger, TooltipTriggerProps, button, checkboxVariants, columnVariants, comboboxContentVariants, comboboxEmptyVariants, comboboxGroupLabelVariants, comboboxGroupVariants, comboboxInputVariants, comboboxItemVariants, comboboxListVariants, comboboxSearchVariants, comboboxSeparatorVariants, comboboxTriggerVariants, comboboxValueVariants, dialogResponsivePopupVariants, iconButton, inputVariants, labelVariants, menuCheckboxItemVariants, menuContentVariants, menuGroupLabelVariants, menuGroupVariants, menuItemVariants, menuLinkItemVariants, menuRadioGroupVariants, menuRadioItemVariants, menuSeparatorVariants, menuSubmenuTriggerVariants, otpFieldInputVariants, otpFieldVariants, rowVariants, selectContentVariants, selectGroupLabelVariants, selectGroupVariants, selectItemVariants, selectSeparatorVariants, selectTriggerVariants, selectValueVariants, spacerVariants, switchVariants, tabsPanelVariants, tabsPillListVariants, tabsPillTabVariants, tabsSegmentedListVariants, tabsSegmentedTabVariants, tabsUnderlineListVariants, tabsUnderlineTabVariants, tabsVariants, textareaVariants, toggleGroupItemVariants, toggleGroupVariants, tooltipPopupVariants };
@@ -21,21 +21,19 @@ import { DialogResponsiveTrigger } from "./dialog-responsive/dialog-responsive-t
21
21
  import { IconButton, iconButton } from "./icon-button/icon-button.js";
22
22
  import { Input, inputVariants } from "./input/input.js";
23
23
  import { Label, labelVariants } from "./label/label.js";
24
- import { Menu, createMenuHandle } from "./menu/menu.js";
25
- import { MENU_CLASS_NAME } from "./menu/menu-class-names.js";
26
- import { MenuCheckboxItem } from "./menu/menu-checkbox-item.js";
27
- import { MenuContent } from "./menu/menu-content.js";
28
- import { MenuGroup } from "./menu/menu-group.js";
29
- import { MenuGroupLabel } from "./menu/menu-group-label.js";
30
- import { MenuItem } from "./menu/menu-item.js";
31
- import { MenuLinkItem } from "./menu/menu-link-item.js";
32
- import { MenuRadioGroup } from "./menu/menu-radio-group.js";
33
- import { MenuRadioItem } from "./menu/menu-radio-item.js";
34
- import { MenuSeparator } from "./menu/menu-separator.js";
24
+ import { Menu } from "./menu/menu.js";
25
+ import { MenuCheckboxItem, menuCheckboxItemVariants } from "./menu/menu-checkbox-item.js";
26
+ import { MenuContent, menuContentVariants } from "./menu/menu-content.js";
27
+ import { MenuGroup, menuGroupVariants } from "./menu/menu-group.js";
28
+ import { MenuGroupLabel, menuGroupLabelVariants } from "./menu/menu-group-label.js";
29
+ import { MenuItem, menuItemVariants } from "./menu/menu-item.js";
30
+ import { MenuLinkItem, menuLinkItemVariants } from "./menu/menu-link-item.js";
31
+ import { MenuRadioGroup, menuRadioGroupVariants } from "./menu/menu-radio-group.js";
32
+ import { MenuRadioItem, menuRadioItemVariants } from "./menu/menu-radio-item.js";
33
+ import { MenuSeparator, menuSeparatorVariants } from "./menu/menu-separator.js";
35
34
  import { MenuSubmenu } from "./menu/menu-submenu.js";
36
- import { MenuSubmenuTrigger } from "./menu/menu-submenu-trigger.js";
35
+ import { MenuSubmenuTrigger, menuSubmenuTriggerVariants } from "./menu/menu-submenu-trigger.js";
37
36
  import { MenuTrigger } from "./menu/menu-trigger.js";
38
- import { MenuViewport } from "./menu/menu-viewport.js";
39
37
  import { OTPField, otpFieldVariants } from "./otp-field/otp-field.js";
40
38
  import { OTPFieldInput, otpFieldInputVariants } from "./otp-field/otp-field-input.js";
41
39
  import { Row, rowVariants } from "./row/row.js";
@@ -64,4 +62,4 @@ import { Tooltip } from "./tooltip/tooltip.js";
64
62
  import { TooltipPopup, tooltipPopupVariants } from "./tooltip/tooltip-popup.js";
65
63
  import { TooltipProvider } from "./tooltip/tooltip-provider.js";
66
64
  import { TooltipTrigger } from "./tooltip/tooltip-trigger.js";
67
- export { Button, ButtonLink, Checkbox, Column, Combobox, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxList, ComboboxSearch, ComboboxSeparator, ComboboxTrigger, ComboboxValue, DialogResponsive, DialogResponsivePopup, DialogResponsiveTrigger, IconButton, Input, Label, MENU_CLASS_NAME, Menu, MenuCheckboxItem, MenuContent, MenuGroup, MenuGroupLabel, MenuItem, MenuLinkItem, MenuRadioGroup, MenuRadioItem, MenuSeparator, MenuSubmenu, MenuSubmenuTrigger, MenuTrigger, MenuViewport, OTPField, OTPFieldInput, Row, Select, SelectContent, SelectGroup, SelectGroupLabel, SelectItem, SelectSeparator, SelectTrigger, SelectValue, Spacer, Switch, Tabs, TabsPanel, TabsPillList, TabsPillTab, TabsSegmentedList, TabsSegmentedTab, TabsUnderlineList, TabsUnderlineTab, Textarea, ToggleGroup, ToggleGroupItem, Tooltip, TooltipPopup, TooltipProvider, TooltipTrigger, button, checkboxVariants, columnVariants, comboboxContentVariants, comboboxEmptyVariants, comboboxGroupLabelVariants, comboboxGroupVariants, comboboxInputVariants, comboboxItemVariants, comboboxListVariants, comboboxSearchVariants, comboboxSeparatorVariants, comboboxTriggerVariants, comboboxValueVariants, createMenuHandle, dialogResponsivePopupVariants, iconButton, inputVariants, labelVariants, otpFieldInputVariants, otpFieldVariants, rowVariants, selectContentVariants, selectGroupLabelVariants, selectGroupVariants, selectItemVariants, selectSeparatorVariants, selectTriggerVariants, selectValueVariants, spacerVariants, switchVariants, tabsPanelVariants, tabsPillListVariants, tabsPillTabVariants, tabsSegmentedListVariants, tabsSegmentedTabVariants, tabsUnderlineListVariants, tabsUnderlineTabVariants, tabsVariants, textareaVariants, toggleGroupItemVariants, toggleGroupVariants, tooltipPopupVariants };
65
+ export { Button, ButtonLink, Checkbox, Column, Combobox, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxList, ComboboxSearch, ComboboxSeparator, ComboboxTrigger, ComboboxValue, DialogResponsive, DialogResponsivePopup, DialogResponsiveTrigger, IconButton, Input, Label, Menu, MenuCheckboxItem, MenuContent, MenuGroup, MenuGroupLabel, MenuItem, MenuLinkItem, MenuRadioGroup, MenuRadioItem, MenuSeparator, MenuSubmenu, MenuSubmenuTrigger, MenuTrigger, OTPField, OTPFieldInput, Row, Select, SelectContent, SelectGroup, SelectGroupLabel, SelectItem, SelectSeparator, SelectTrigger, SelectValue, Spacer, Switch, Tabs, TabsPanel, TabsPillList, TabsPillTab, TabsSegmentedList, TabsSegmentedTab, TabsUnderlineList, TabsUnderlineTab, Textarea, ToggleGroup, ToggleGroupItem, Tooltip, TooltipPopup, TooltipProvider, TooltipTrigger, button, checkboxVariants, columnVariants, comboboxContentVariants, comboboxEmptyVariants, comboboxGroupLabelVariants, comboboxGroupVariants, comboboxInputVariants, comboboxItemVariants, comboboxListVariants, comboboxSearchVariants, comboboxSeparatorVariants, comboboxTriggerVariants, comboboxValueVariants, dialogResponsivePopupVariants, iconButton, inputVariants, labelVariants, menuCheckboxItemVariants, menuContentVariants, menuGroupLabelVariants, menuGroupVariants, menuItemVariants, menuLinkItemVariants, menuRadioGroupVariants, menuRadioItemVariants, menuSeparatorVariants, menuSubmenuTriggerVariants, otpFieldInputVariants, otpFieldVariants, rowVariants, selectContentVariants, selectGroupLabelVariants, selectGroupVariants, selectItemVariants, selectSeparatorVariants, selectTriggerVariants, selectValueVariants, spacerVariants, switchVariants, tabsPanelVariants, tabsPillListVariants, tabsPillTabVariants, tabsSegmentedListVariants, tabsSegmentedTabVariants, tabsUnderlineListVariants, tabsUnderlineTabVariants, tabsVariants, textareaVariants, toggleGroupItemVariants, toggleGroupVariants, tooltipPopupVariants };
@@ -1,14 +1,13 @@
1
1
  import { Menu } from "@base-ui/react";
2
- import { JSX, ReactNode } from "react";
2
+ import { JSX } from "react";
3
3
  //#region src/components/menu/menu-checkbox-item.d.ts
4
4
  interface MenuCheckboxItemProps extends Omit<Menu.CheckboxItem.Props, "checked" | "className" | "defaultChecked" | "disabled"> {
5
5
  className?: string;
6
- iconEnd?: ReactNode;
7
- indicator?: ReactNode;
8
6
  isChecked?: Menu.CheckboxItem.Props["checked"];
9
7
  isDefaultChecked?: Menu.CheckboxItem.Props["defaultChecked"];
10
8
  isDisabled?: Menu.CheckboxItem.Props["disabled"];
11
9
  }
12
10
  declare function MenuCheckboxItem(props: MenuCheckboxItemProps): JSX.Element;
11
+ declare const menuCheckboxItemVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
13
12
  //#endregion
14
- export { MenuCheckboxItem, MenuCheckboxItemProps };
13
+ export { MenuCheckboxItem, MenuCheckboxItemProps, menuCheckboxItemVariants };
@@ -1,25 +1,11 @@
1
- import { MENU_CLASS_NAME } from "./menu-class-names.js";
2
- import { cx } from "class-variance-authority";
1
+ import picker_item_module_default from "../picker/picker-item.module.js";
2
+ import { cva } from "class-variance-authority";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  import { Menu } from "@base-ui/react";
5
5
  //#region src/components/menu/menu-checkbox-item.tsx
6
6
  function MenuCheckboxItem(props) {
7
- const { children, className: customClassName = "", iconEnd = void 0, indicator = void 0, isChecked = void 0, isDefaultChecked = false, isDisabled = false, ...rest } = props;
8
- const combinedClassName = cx(MENU_CLASS_NAME.CHECKBOX_ITEM, customClassName);
9
- const currentIndicator = indicator ?? /* @__PURE__ */ jsx("svg", {
10
- height: "14px",
11
- viewBox: "0 0 18 18",
12
- width: "14px",
13
- xmlns: "http://www.w3.org/2000/svg",
14
- children: /* @__PURE__ */ jsx("polyline", {
15
- fill: "none",
16
- points: "2.75 9.25 6.75 14.25 15.25 3.75",
17
- stroke: "currentColor",
18
- strokeLinecap: "round",
19
- strokeLinejoin: "round",
20
- strokeWidth: "1.5"
21
- })
22
- });
7
+ const { children, className: customClassName = "", isChecked = void 0, isDefaultChecked = false, isDisabled = false, ...rest } = props;
8
+ const combinedClassName = menuCheckboxItemVariants({ className: customClassName });
23
9
  return /* @__PURE__ */ jsxs(Menu.CheckboxItem, {
24
10
  checked: isChecked,
25
11
  className: combinedClassName,
@@ -27,21 +13,32 @@ function MenuCheckboxItem(props) {
27
13
  defaultChecked: isDefaultChecked,
28
14
  disabled: isDisabled,
29
15
  ...rest,
30
- children: [
31
- /* @__PURE__ */ jsx(Menu.CheckboxItemIndicator, {
32
- className: MENU_CLASS_NAME.ITEM_INDICATOR,
33
- children: currentIndicator
34
- }),
35
- /* @__PURE__ */ jsx("span", {
36
- className: MENU_CLASS_NAME.ITEM_LABEL,
37
- children
38
- }),
39
- iconEnd && /* @__PURE__ */ jsx("span", {
40
- className: MENU_CLASS_NAME.ITEM_ICON,
41
- children: iconEnd
16
+ children: [/* @__PURE__ */ jsx("span", {
17
+ className: picker_item_module_default.label,
18
+ "data-slot": "menu-checkbox-item-text",
19
+ children
20
+ }), /* @__PURE__ */ jsx(Menu.CheckboxItemIndicator, {
21
+ className: picker_item_module_default.indicator,
22
+ "data-slot": "menu-checkbox-item-indicator",
23
+ children: /* @__PURE__ */ jsx("svg", {
24
+ height: "14px",
25
+ viewBox: "0 0 18 18",
26
+ width: "14px",
27
+ x: "0px",
28
+ xmlns: "http://www.w3.org/2000/svg",
29
+ y: "0px",
30
+ children: /* @__PURE__ */ jsx("polyline", {
31
+ fill: "none",
32
+ points: "2.75 9.25 6.75 14.25 15.25 3.75",
33
+ stroke: "currentColor",
34
+ strokeLinecap: "round",
35
+ strokeLinejoin: "round",
36
+ strokeWidth: "1.5"
37
+ })
42
38
  })
43
- ]
39
+ })]
44
40
  });
45
41
  }
42
+ const menuCheckboxItemVariants = cva(picker_item_module_default.base);
46
43
  //#endregion
47
- export { MenuCheckboxItem };
44
+ export { MenuCheckboxItem, menuCheckboxItemVariants };
@@ -0,0 +1,7 @@
1
+ @layer components {
2
+ .menu-content-module_base_Dr2KgW {
3
+ max-width: min(var(--available-width), 320px);
4
+ width: max-content;
5
+ min-width: 180px;
6
+ }
7
+ }
@@ -4,8 +4,8 @@ import { JSX } from "react";
4
4
  interface MenuContentProps extends Omit<Menu.Popup.Props, "className">, Pick<Menu.Positioner.Props, "align" | "alignOffset" | "anchor" | "arrowPadding" | "collisionAvoidance" | "collisionBoundary" | "collisionPadding" | "disableAnchorTracking" | "positionMethod" | "side" | "sideOffset" | "sticky"> {
5
5
  className?: string;
6
6
  container?: Menu.Portal.Props["container"];
7
- keepMounted?: Menu.Portal.Props["keepMounted"];
8
7
  }
9
8
  declare function MenuContent(props: MenuContentProps): JSX.Element;
9
+ declare const menuContentVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
10
10
  //#endregion
11
- export { MenuContent, MenuContentProps };
11
+ export { MenuContent, MenuContentProps, menuContentVariants };
@@ -1,21 +1,22 @@
1
- import { MENU_CLASS_NAME } from "./menu-class-names.js";
2
- import { cx } from "class-variance-authority";
1
+ import picker_popup_module_default from "../picker/picker-popup.module.js";
2
+ import picker_list_module_default from "../picker/picker-list.module.js";
3
+ import menu_content_module_default from "./menu-content.module.js";
4
+ import { cva } from "class-variance-authority";
3
5
  import { jsx } from "react/jsx-runtime";
4
6
  import { Menu } from "@base-ui/react";
5
7
  //#region src/components/menu/menu-content.tsx
6
8
  function MenuContent(props) {
7
- const { align = "start", alignOffset = void 0, anchor = void 0, arrowPadding = void 0, children, className: customClassName = "", collisionAvoidance = void 0, collisionBoundary = void 0, collisionPadding = void 0, container = void 0, disableAnchorTracking = void 0, keepMounted = void 0, positionMethod = void 0, side = "bottom", sideOffset = 8, sticky = void 0, ...rest } = props;
8
- const combinedClassName = cx(MENU_CLASS_NAME.CONTENT, customClassName);
9
+ const { align = "start", alignOffset = getDefaultAlignOffset, anchor = void 0, arrowPadding = void 0, children, className: customClassName = "", collisionAvoidance = void 0, collisionBoundary = void 0, collisionPadding = void 0, container = void 0, disableAnchorTracking = void 0, positionMethod = void 0, side = void 0, sideOffset = getDefaultSideOffset, sticky = void 0, ...rest } = props;
10
+ const combinedClassName = menuContentVariants({ className: customClassName });
9
11
  return /* @__PURE__ */ jsx(Menu.Portal, {
10
12
  container,
11
13
  "data-slot": "menu-portal",
12
- keepMounted,
13
14
  children: /* @__PURE__ */ jsx(Menu.Positioner, {
14
15
  align,
15
16
  alignOffset,
16
17
  anchor,
17
18
  arrowPadding,
18
- className: MENU_CLASS_NAME.CONTENT_POSITIONER,
19
+ className: picker_popup_module_default.positioner,
19
20
  collisionAvoidance,
20
21
  collisionBoundary,
21
22
  collisionPadding,
@@ -29,10 +30,21 @@ function MenuContent(props) {
29
30
  className: combinedClassName,
30
31
  "data-slot": "menu-content",
31
32
  ...rest,
32
- children
33
+ children: /* @__PURE__ */ jsx("div", {
34
+ className: picker_list_module_default.base,
35
+ "data-slot": "menu-list",
36
+ children
37
+ })
33
38
  })
34
39
  })
35
40
  });
36
41
  }
42
+ function getDefaultAlignOffset(data) {
43
+ return data.side === "bottom" || data.side === "top" ? 0 : -4;
44
+ }
45
+ function getDefaultSideOffset(data) {
46
+ return data.side === "bottom" || data.side === "top" ? 6 : -4;
47
+ }
48
+ const menuContentVariants = cva([picker_popup_module_default.base, menu_content_module_default.base]);
37
49
  //#endregion
38
- export { MenuContent };
50
+ export { MenuContent, menuContentVariants };
@@ -0,0 +1,5 @@
1
+ import './menu-content.css';
2
+ //#region src/components/menu/menu-content.module.css
3
+ var menu_content_module_default = { "base": "menu-content-module_base_Dr2KgW" };
4
+ //#endregion
5
+ export { menu_content_module_default as default };
@@ -5,5 +5,6 @@ interface MenuGroupLabelProps extends Omit<Menu.GroupLabel.Props, "className"> {
5
5
  className?: string;
6
6
  }
7
7
  declare function MenuGroupLabel(props: MenuGroupLabelProps): JSX.Element;
8
+ declare const menuGroupLabelVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
8
9
  //#endregion
9
- export { MenuGroupLabel, MenuGroupLabelProps };
10
+ export { MenuGroupLabel, MenuGroupLabelProps, menuGroupLabelVariants };
@@ -1,16 +1,17 @@
1
- import { MENU_CLASS_NAME } from "./menu-class-names.js";
2
- import { cx } from "class-variance-authority";
1
+ import picker_group_module_default from "../picker/picker-group.module.js";
2
+ import { cva } from "class-variance-authority";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { Menu } from "@base-ui/react";
5
5
  //#region src/components/menu/menu-group-label.tsx
6
6
  function MenuGroupLabel(props) {
7
7
  const { className: customClassName = "", ...rest } = props;
8
- const combinedClassName = cx(MENU_CLASS_NAME.GROUP_LABEL, customClassName);
8
+ const combinedClassName = menuGroupLabelVariants({ className: customClassName });
9
9
  return /* @__PURE__ */ jsx(Menu.GroupLabel, {
10
10
  className: combinedClassName,
11
11
  "data-slot": "menu-group-label",
12
12
  ...rest
13
13
  });
14
14
  }
15
+ const menuGroupLabelVariants = cva(picker_group_module_default.label);
15
16
  //#endregion
16
- export { MenuGroupLabel };
17
+ export { MenuGroupLabel, menuGroupLabelVariants };
@@ -5,5 +5,6 @@ interface MenuGroupProps extends Omit<Menu.Group.Props, "className"> {
5
5
  className?: string;
6
6
  }
7
7
  declare function MenuGroup(props: MenuGroupProps): JSX.Element;
8
+ declare const menuGroupVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
8
9
  //#endregion
9
- export { MenuGroup, MenuGroupProps };
10
+ export { MenuGroup, MenuGroupProps, menuGroupVariants };
@@ -1,16 +1,17 @@
1
- import { MENU_CLASS_NAME } from "./menu-class-names.js";
2
- import { cx } from "class-variance-authority";
1
+ import picker_group_module_default from "../picker/picker-group.module.js";
2
+ import { cva } from "class-variance-authority";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { Menu } from "@base-ui/react";
5
5
  //#region src/components/menu/menu-group.tsx
6
6
  function MenuGroup(props) {
7
7
  const { className: customClassName = "", ...rest } = props;
8
- const combinedClassName = cx(MENU_CLASS_NAME.GROUP, customClassName);
8
+ const combinedClassName = menuGroupVariants({ className: customClassName });
9
9
  return /* @__PURE__ */ jsx(Menu.Group, {
10
10
  className: combinedClassName,
11
11
  "data-slot": "menu-group",
12
12
  ...rest
13
13
  });
14
14
  }
15
+ const menuGroupVariants = cva(picker_group_module_default.base);
15
16
  //#endregion
16
- export { MenuGroup };
17
+ export { MenuGroup, menuGroupVariants };
@@ -0,0 +1,7 @@
1
+ @layer components {
2
+ .menu-item-module_base_6F7Ula {
3
+ color: var(--color-text-primary);
4
+ font-size: 14px;
5
+ font-weight: 450;
6
+ }
7
+ }
@@ -6,5 +6,6 @@ interface MenuItemProps extends Omit<Menu.Item.Props, "className" | "disabled">
6
6
  isDisabled?: Menu.Item.Props["disabled"];
7
7
  }
8
8
  declare function MenuItem(props: MenuItemProps): JSX.Element;
9
+ declare const menuItemVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
9
10
  //#endregion
10
- export { MenuItem, MenuItemProps };
11
+ export { MenuItem, MenuItemProps, menuItemVariants };
@@ -1,18 +1,19 @@
1
- import { MENU_CLASS_NAME } from "./menu-class-names.js";
2
- import { cx } from "class-variance-authority";
1
+ import picker_item_module_default from "../picker/picker-item.module.js";
2
+ import menu_item_module_default from "./menu-item.module.js";
3
+ import { cva } from "class-variance-authority";
3
4
  import { jsx } from "react/jsx-runtime";
4
5
  import { Menu } from "@base-ui/react";
5
6
  //#region src/components/menu/menu-item.tsx
6
7
  function MenuItem(props) {
7
- const { children, className: customClassName = "", isDisabled = false, ...rest } = props;
8
- const combinedClassName = cx(MENU_CLASS_NAME.ITEM, customClassName);
8
+ const { className: customClassName = "", isDisabled = false, ...rest } = props;
9
+ const combinedClassName = menuItemVariants({ className: customClassName });
9
10
  return /* @__PURE__ */ jsx(Menu.Item, {
10
11
  className: combinedClassName,
11
12
  "data-slot": "menu-item",
12
13
  disabled: isDisabled,
13
- ...rest,
14
- children
14
+ ...rest
15
15
  });
16
16
  }
17
+ const menuItemVariants = cva([picker_item_module_default.base, menu_item_module_default.base]);
17
18
  //#endregion
18
- export { MenuItem };
19
+ export { MenuItem, menuItemVariants };
@@ -0,0 +1,5 @@
1
+ import './menu-item.css';
2
+ //#region src/components/menu/menu-item.module.css
3
+ var menu_item_module_default = { "base": "menu-item-module_base_6F7Ula" };
4
+ //#endregion
5
+ export { menu_item_module_default as default };
@@ -1,7 +1,10 @@
1
1
  import { Menu } from "@base-ui/react";
2
2
  import { JSX } from "react";
3
3
  //#region src/components/menu/menu-link-item.d.ts
4
- interface MenuLinkItemProps extends Menu.LinkItem.Props {}
4
+ interface MenuLinkItemProps extends Omit<Menu.LinkItem.Props, "className"> {
5
+ className?: string;
6
+ }
5
7
  declare function MenuLinkItem(props: MenuLinkItemProps): JSX.Element;
8
+ declare const menuLinkItemVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
6
9
  //#endregion
7
- export { MenuLinkItem, MenuLinkItemProps };
10
+ export { MenuLinkItem, MenuLinkItemProps, menuLinkItemVariants };
@@ -1,13 +1,18 @@
1
+ import picker_item_module_default from "../picker/picker-item.module.js";
2
+ import menu_item_module_default from "./menu-item.module.js";
3
+ import { cva } from "class-variance-authority";
1
4
  import { jsx } from "react/jsx-runtime";
2
5
  import { Menu } from "@base-ui/react";
3
6
  //#region src/components/menu/menu-link-item.tsx
4
7
  function MenuLinkItem(props) {
5
- const { children, ...rest } = props;
8
+ const { className: customClassName = "", ...rest } = props;
9
+ const combinedClassName = menuLinkItemVariants({ className: customClassName });
6
10
  return /* @__PURE__ */ jsx(Menu.LinkItem, {
11
+ className: combinedClassName,
7
12
  "data-slot": "menu-link-item",
8
- ...rest,
9
- children
13
+ ...rest
10
14
  });
11
15
  }
16
+ const menuLinkItemVariants = cva([picker_item_module_default.base, menu_item_module_default.base]);
12
17
  //#endregion
13
- export { MenuLinkItem };
18
+ export { MenuLinkItem, menuLinkItemVariants };
@@ -6,5 +6,6 @@ interface MenuRadioGroupProps extends Omit<Menu.RadioGroup.Props, "className" |
6
6
  isDisabled?: Menu.RadioGroup.Props["disabled"];
7
7
  }
8
8
  declare function MenuRadioGroup(props: MenuRadioGroupProps): JSX.Element;
9
+ declare const menuRadioGroupVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
9
10
  //#endregion
10
- export { MenuRadioGroup, MenuRadioGroupProps };
11
+ export { MenuRadioGroup, MenuRadioGroupProps, menuRadioGroupVariants };
@@ -1,11 +1,11 @@
1
- import { MENU_CLASS_NAME } from "./menu-class-names.js";
2
- import { cx } from "class-variance-authority";
1
+ import picker_group_module_default from "../picker/picker-group.module.js";
2
+ import { cva } from "class-variance-authority";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { Menu } from "@base-ui/react";
5
5
  //#region src/components/menu/menu-radio-group.tsx
6
6
  function MenuRadioGroup(props) {
7
7
  const { className: customClassName = "", isDisabled = false, ...rest } = props;
8
- const combinedClassName = cx(MENU_CLASS_NAME.RADIO_GROUP, customClassName);
8
+ const combinedClassName = menuRadioGroupVariants({ className: customClassName });
9
9
  return /* @__PURE__ */ jsx(Menu.RadioGroup, {
10
10
  className: combinedClassName,
11
11
  "data-slot": "menu-radio-group",
@@ -13,5 +13,6 @@ function MenuRadioGroup(props) {
13
13
  ...rest
14
14
  });
15
15
  }
16
+ const menuRadioGroupVariants = cva(picker_group_module_default.base);
16
17
  //#endregion
17
- export { MenuRadioGroup };
18
+ export { MenuRadioGroup, menuRadioGroupVariants };
@@ -1,12 +1,11 @@
1
1
  import { Menu } from "@base-ui/react";
2
- import { JSX, ReactNode } from "react";
2
+ import { JSX } from "react";
3
3
  //#region src/components/menu/menu-radio-item.d.ts
4
4
  interface MenuRadioItemProps extends Omit<Menu.RadioItem.Props, "className" | "disabled"> {
5
5
  className?: string;
6
- iconEnd?: ReactNode;
7
- indicator?: ReactNode;
8
6
  isDisabled?: Menu.RadioItem.Props["disabled"];
9
7
  }
10
8
  declare function MenuRadioItem(props: MenuRadioItemProps): JSX.Element;
9
+ declare const menuRadioItemVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
11
10
  //#endregion
12
- export { MenuRadioItem, MenuRadioItemProps };
11
+ export { MenuRadioItem, MenuRadioItemProps, menuRadioItemVariants };
@@ -1,43 +1,42 @@
1
- import { MENU_CLASS_NAME } from "./menu-class-names.js";
2
- import { cx } from "class-variance-authority";
1
+ import picker_item_module_default from "../picker/picker-item.module.js";
2
+ import { cva } from "class-variance-authority";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  import { Menu } from "@base-ui/react";
5
5
  //#region src/components/menu/menu-radio-item.tsx
6
6
  function MenuRadioItem(props) {
7
- const { children, className: customClassName = "", iconEnd = void 0, indicator = void 0, isDisabled = false, ...rest } = props;
8
- const combinedClassName = cx(MENU_CLASS_NAME.RADIO_ITEM, customClassName);
9
- const currentIndicator = indicator ?? /* @__PURE__ */ jsx("svg", {
10
- fill: "none",
11
- height: "16",
12
- viewBox: "0 0 16 16",
13
- width: "16",
14
- children: /* @__PURE__ */ jsx("circle", {
15
- cx: "8",
16
- cy: "8",
17
- fill: "currentColor",
18
- r: "3"
19
- })
20
- });
7
+ const { children, className: customClassName = "", isDisabled = false, ...rest } = props;
8
+ const combinedClassName = menuRadioItemVariants({ className: customClassName });
21
9
  return /* @__PURE__ */ jsxs(Menu.RadioItem, {
22
10
  className: combinedClassName,
23
11
  "data-slot": "menu-radio-item",
24
12
  disabled: isDisabled,
25
13
  ...rest,
26
- children: [
27
- /* @__PURE__ */ jsx(Menu.RadioItemIndicator, {
28
- className: MENU_CLASS_NAME.ITEM_INDICATOR,
29
- children: currentIndicator
30
- }),
31
- /* @__PURE__ */ jsx("span", {
32
- className: MENU_CLASS_NAME.ITEM_LABEL,
33
- children
34
- }),
35
- iconEnd && /* @__PURE__ */ jsx("span", {
36
- className: MENU_CLASS_NAME.ITEM_ICON,
37
- children: iconEnd
14
+ children: [/* @__PURE__ */ jsx("span", {
15
+ className: picker_item_module_default.label,
16
+ "data-slot": "menu-radio-item-text",
17
+ children
18
+ }), /* @__PURE__ */ jsx(Menu.RadioItemIndicator, {
19
+ className: picker_item_module_default.indicator,
20
+ "data-slot": "menu-radio-item-indicator",
21
+ children: /* @__PURE__ */ jsx("svg", {
22
+ height: "14px",
23
+ viewBox: "0 0 18 18",
24
+ width: "14px",
25
+ x: "0px",
26
+ xmlns: "http://www.w3.org/2000/svg",
27
+ y: "0px",
28
+ children: /* @__PURE__ */ jsx("polyline", {
29
+ fill: "none",
30
+ points: "2.75 9.25 6.75 14.25 15.25 3.75",
31
+ stroke: "currentColor",
32
+ strokeLinecap: "round",
33
+ strokeLinejoin: "round",
34
+ strokeWidth: "1.5"
35
+ })
38
36
  })
39
- ]
37
+ })]
40
38
  });
41
39
  }
40
+ const menuRadioItemVariants = cva(picker_item_module_default.base);
42
41
  //#endregion
43
- export { MenuRadioItem };
42
+ export { MenuRadioItem, menuRadioItemVariants };
@@ -5,5 +5,6 @@ interface MenuSeparatorProps extends Omit<Menu.Separator.Props, "className"> {
5
5
  className?: string;
6
6
  }
7
7
  declare function MenuSeparator(props: MenuSeparatorProps): JSX.Element;
8
+ declare const menuSeparatorVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
8
9
  //#endregion
9
- export { MenuSeparator, MenuSeparatorProps };
10
+ export { MenuSeparator, MenuSeparatorProps, menuSeparatorVariants };
@@ -1,16 +1,17 @@
1
- import { MENU_CLASS_NAME } from "./menu-class-names.js";
2
- import { cx } from "class-variance-authority";
1
+ import picker_separator_module_default from "../picker/picker-separator.module.js";
2
+ import { cva } from "class-variance-authority";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { Menu } from "@base-ui/react";
5
5
  //#region src/components/menu/menu-separator.tsx
6
6
  function MenuSeparator(props) {
7
7
  const { className: customClassName = "", ...rest } = props;
8
- const combinedClassName = cx(MENU_CLASS_NAME.SEPARATOR, customClassName);
8
+ const combinedClassName = menuSeparatorVariants({ className: customClassName });
9
9
  return /* @__PURE__ */ jsx(Menu.Separator, {
10
10
  className: combinedClassName,
11
11
  "data-slot": "menu-separator",
12
12
  ...rest
13
13
  });
14
14
  }
15
+ const menuSeparatorVariants = cva(picker_separator_module_default.base);
15
16
  //#endregion
16
- export { MenuSeparator };
17
+ export { MenuSeparator, menuSeparatorVariants };
@@ -0,0 +1,16 @@
1
+ @layer components {
2
+ .menu-submenu-trigger-module_base_XujWGq[data-popup-open] {
3
+ background-color: var(--color-gray-3);
4
+ }
5
+
6
+ .menu-submenu-trigger-module_icon_XujWGq {
7
+ color: var(--color-text-secondary);
8
+ flex-shrink: 0;
9
+ justify-content: center;
10
+ align-items: center;
11
+ width: 16px;
12
+ height: 16px;
13
+ margin-left: auto;
14
+ display: flex;
15
+ }
16
+ }
@@ -1,7 +1,11 @@
1
1
  import { Menu } from "@base-ui/react";
2
2
  import { JSX } from "react";
3
3
  //#region src/components/menu/menu-submenu-trigger.d.ts
4
- interface MenuSubmenuTriggerProps extends Menu.SubmenuTrigger.Props {}
4
+ interface MenuSubmenuTriggerProps extends Omit<Menu.SubmenuTrigger.Props, "className" | "disabled"> {
5
+ className?: string;
6
+ isDisabled?: Menu.SubmenuTrigger.Props["disabled"];
7
+ }
5
8
  declare function MenuSubmenuTrigger(props: MenuSubmenuTriggerProps): JSX.Element;
9
+ declare const menuSubmenuTriggerVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
6
10
  //#endregion
7
- export { MenuSubmenuTrigger, MenuSubmenuTriggerProps };
11
+ export { MenuSubmenuTrigger, MenuSubmenuTriggerProps, menuSubmenuTriggerVariants };
@@ -1,13 +1,44 @@
1
- import { jsx } from "react/jsx-runtime";
1
+ import picker_item_module_default from "../picker/picker-item.module.js";
2
+ import menu_item_module_default from "./menu-item.module.js";
3
+ import menu_submenu_trigger_module_default from "./menu-submenu-trigger.module.js";
4
+ import { cva } from "class-variance-authority";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
2
6
  import { Menu } from "@base-ui/react";
3
7
  //#region src/components/menu/menu-submenu-trigger.tsx
4
8
  function MenuSubmenuTrigger(props) {
5
- const { children, ...rest } = props;
6
- return /* @__PURE__ */ jsx(Menu.SubmenuTrigger, {
9
+ const { children, className: customClassName = "", isDisabled = false, ...rest } = props;
10
+ const combinedClassName = menuSubmenuTriggerVariants({ className: customClassName });
11
+ return /* @__PURE__ */ jsxs(Menu.SubmenuTrigger, {
12
+ className: combinedClassName,
7
13
  "data-slot": "menu-submenu-trigger",
14
+ disabled: isDisabled,
8
15
  ...rest,
9
- children
16
+ children: [children, /* @__PURE__ */ jsx("span", {
17
+ className: menu_submenu_trigger_module_default.icon,
18
+ "data-slot": "menu-submenu-trigger-icon",
19
+ children: /* @__PURE__ */ jsx("svg", {
20
+ height: "14px",
21
+ viewBox: "0 0 18 18",
22
+ width: "14px",
23
+ x: "0px",
24
+ xmlns: "http://www.w3.org/2000/svg",
25
+ y: "0px",
26
+ children: /* @__PURE__ */ jsx("polyline", {
27
+ fill: "none",
28
+ points: "6.5 2.75 12.75 9 6.5 15.25",
29
+ stroke: "currentColor",
30
+ strokeLinecap: "round",
31
+ strokeLinejoin: "round",
32
+ strokeWidth: "1.5"
33
+ })
34
+ })
35
+ })]
10
36
  });
11
37
  }
38
+ const menuSubmenuTriggerVariants = cva([
39
+ picker_item_module_default.base,
40
+ menu_item_module_default.base,
41
+ menu_submenu_trigger_module_default.base
42
+ ]);
12
43
  //#endregion
13
- export { MenuSubmenuTrigger };
44
+ export { MenuSubmenuTrigger, menuSubmenuTriggerVariants };
@@ -0,0 +1,8 @@
1
+ import './menu-submenu-trigger.css';
2
+ //#region src/components/menu/menu-submenu-trigger.module.css
3
+ var menu_submenu_trigger_module_default = {
4
+ "base": "menu-submenu-trigger-module_base_XujWGq",
5
+ "icon": "menu-submenu-trigger-module_icon_XujWGq"
6
+ };
7
+ //#endregion
8
+ export { menu_submenu_trigger_module_default as default };
@@ -1,11 +1,7 @@
1
1
  import { Menu } from "@base-ui/react";
2
2
  import { JSX } from "react";
3
3
  //#region src/components/menu/menu-submenu.d.ts
4
- interface MenuSubmenuProps extends Omit<Menu.SubmenuRoot.Props, "disabled" | "onOpenChange" | "open"> {
5
- isDisabled?: Menu.SubmenuRoot.Props["disabled"];
6
- isOpen?: Menu.SubmenuRoot.Props["open"];
7
- onIsOpenChange?: Menu.SubmenuRoot.Props["onOpenChange"];
8
- }
4
+ interface MenuSubmenuProps extends Menu.SubmenuRoot.Props {}
9
5
  declare function MenuSubmenu(props: MenuSubmenuProps): JSX.Element;
10
6
  //#endregion
11
7
  export { MenuSubmenu, MenuSubmenuProps };
@@ -2,12 +2,9 @@ import { jsx } from "react/jsx-runtime";
2
2
  import { Menu } from "@base-ui/react";
3
3
  //#region src/components/menu/menu-submenu.tsx
4
4
  function MenuSubmenu(props) {
5
- const { isDisabled = false, isOpen = void 0, onIsOpenChange = void 0, ...rest } = props;
5
+ const { ...rest } = props;
6
6
  return /* @__PURE__ */ jsx(Menu.SubmenuRoot, {
7
7
  "data-slot": "menu-submenu",
8
- disabled: isDisabled,
9
- onOpenChange: onIsOpenChange,
10
- open: isOpen,
11
8
  ...rest
12
9
  });
13
10
  }
@@ -1,7 +1,7 @@
1
1
  import { Menu } from "@base-ui/react";
2
2
  import { JSX } from "react";
3
3
  //#region src/components/menu/menu-trigger.d.ts
4
- interface MenuTriggerProps extends Menu.Trigger.Props {}
5
- declare function MenuTrigger(props: MenuTriggerProps): JSX.Element;
4
+ interface MenuTriggerProps<Payload = unknown> extends Menu.Trigger.Props<Payload> {}
5
+ declare function MenuTrigger<Payload = unknown>(props: MenuTriggerProps<Payload>): JSX.Element;
6
6
  //#endregion
7
7
  export { MenuTrigger, MenuTriggerProps };
@@ -1,12 +1,7 @@
1
1
  import { Menu } from "@base-ui/react";
2
2
  import { JSX } from "react";
3
3
  //#region src/components/menu/menu.d.ts
4
- interface MenuProps extends Omit<Menu.Root.Props, "disabled" | "onOpenChange" | "open"> {
5
- isDisabled?: Menu.Root.Props["disabled"];
6
- isOpen?: Menu.Root.Props["open"];
7
- onIsOpenChange?: Menu.Root.Props["onOpenChange"];
8
- }
9
- declare function Menu$1(props: MenuProps): JSX.Element;
10
- declare const createMenuHandle: typeof Menu.createHandle;
4
+ interface MenuProps<Payload = unknown> extends Menu.Root.Props<Payload> {}
5
+ declare function Menu$1<Payload = unknown>(props: MenuProps<Payload>): JSX.Element;
11
6
  //#endregion
12
- export { Menu$1 as Menu, MenuProps, createMenuHandle };
7
+ export { Menu$1 as Menu, MenuProps };
@@ -2,15 +2,11 @@ import { jsx } from "react/jsx-runtime";
2
2
  import { Menu } from "@base-ui/react";
3
3
  //#region src/components/menu/menu.tsx
4
4
  function Menu$1(props) {
5
- const { isDisabled = false, isOpen = void 0, onIsOpenChange = void 0, ...rest } = props;
5
+ const { ...rest } = props;
6
6
  return /* @__PURE__ */ jsx(Menu.Root, {
7
7
  "data-slot": "menu",
8
- disabled: isDisabled,
9
- onOpenChange: onIsOpenChange,
10
- open: isOpen,
11
8
  ...rest
12
9
  });
13
10
  }
14
- const createMenuHandle = Menu.createHandle;
15
11
  //#endregion
16
- export { Menu$1 as Menu, createMenuHandle };
12
+ export { Menu$1 as Menu };
@@ -22,16 +22,21 @@
22
22
  background-color: var(--color-gray-3);
23
23
  }
24
24
 
25
+ .dark .picker-trigger-module_base_81JCzq:disabled {
26
+ opacity: .25;
27
+ }
28
+
25
29
  .picker-trigger-module_base_81JCzq:focus-visible {
26
30
  outline-color: var(--color-primary);
27
31
  }
28
32
 
29
- .picker-trigger-module_base_81JCzq:hover:not(:disabled) {
33
+ .picker-trigger-module_base_81JCzq:hover:not(:disabled, [data-popup-open]) {
30
34
  box-shadow: inset 0 0 0 1px var(--color-gray-6);
31
35
  }
32
36
 
33
37
  .picker-trigger-module_base_81JCzq[data-popup-open] {
34
38
  background-color: var(--color-gray-3);
39
+ box-shadow: inset 0 0 0 1px #0000;
35
40
  }
36
41
 
37
42
  .picker-trigger-module_size_32_81JCzq {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nattstack/ui",
3
- "version": "0.0.98",
3
+ "version": "0.0.100",
4
4
  "description": "A collection of reusable React components built with Base UI, TypeScript, and CSS Modules",
5
5
  "keywords": [
6
6
  "base-ui",
@@ -1,23 +0,0 @@
1
- //#region src/components/menu/menu-class-names.d.ts
2
- declare const MENU_CLASS_NAME: {
3
- readonly ARROW: string;
4
- readonly ARROW_ICON: string;
5
- readonly CHECKBOX_ITEM: string;
6
- readonly CONTENT: string;
7
- readonly CONTENT_POSITIONER: string;
8
- readonly GROUP: string;
9
- readonly GROUP_LABEL: string;
10
- readonly ITEM: string;
11
- readonly ITEM_ICON: string;
12
- readonly ITEM_INDICATOR: string;
13
- readonly ITEM_LABEL: string;
14
- readonly LINK_ITEM: string;
15
- readonly RADIO_GROUP: string;
16
- readonly RADIO_ITEM: string;
17
- readonly SEPARATOR: string;
18
- readonly SUBMENU_TRIGGER: string;
19
- readonly TRIGGER: string;
20
- readonly VIEWPORT: string;
21
- };
22
- //#endregion
23
- export { MENU_CLASS_NAME };
@@ -1,24 +0,0 @@
1
- import menu_module_default from "./menu.module.js";
2
- //#region src/components/menu/menu-class-names.ts
3
- const MENU_CLASS_NAME = {
4
- ARROW: menu_module_default.menu_content_arrow,
5
- ARROW_ICON: menu_module_default.menu_content_arrow__icon,
6
- CHECKBOX_ITEM: menu_module_default.menu_checkbox_item,
7
- CONTENT: menu_module_default.menu_content,
8
- CONTENT_POSITIONER: menu_module_default.menu_content_positioner,
9
- GROUP: menu_module_default.menu_group,
10
- GROUP_LABEL: menu_module_default.menu_group_label,
11
- ITEM: menu_module_default.menu_item,
12
- ITEM_ICON: menu_module_default.menu_item__icon,
13
- ITEM_INDICATOR: menu_module_default.menu_item__indicator,
14
- ITEM_LABEL: menu_module_default.menu_item__label,
15
- LINK_ITEM: menu_module_default.menu_link_item,
16
- RADIO_GROUP: menu_module_default.menu_radio_group,
17
- RADIO_ITEM: menu_module_default.menu_radio_item,
18
- SEPARATOR: menu_module_default.menu_separator,
19
- SUBMENU_TRIGGER: menu_module_default.menu_submenu_trigger,
20
- TRIGGER: menu_module_default.menu_trigger,
21
- VIEWPORT: menu_module_default.menu_viewport
22
- };
23
- //#endregion
24
- export { MENU_CLASS_NAME };
@@ -1,9 +0,0 @@
1
- import { Menu } from "@base-ui/react";
2
- import { JSX } from "react";
3
- //#region src/components/menu/menu-viewport.d.ts
4
- interface MenuViewportProps extends Omit<Menu.Viewport.Props, "className"> {
5
- className?: string;
6
- }
7
- declare function MenuViewport(props: MenuViewportProps): JSX.Element;
8
- //#endregion
9
- export { MenuViewport, MenuViewportProps };
@@ -1,16 +0,0 @@
1
- import { MENU_CLASS_NAME } from "./menu-class-names.js";
2
- import { cx } from "class-variance-authority";
3
- import { jsx } from "react/jsx-runtime";
4
- import { Menu } from "@base-ui/react";
5
- //#region src/components/menu/menu-viewport.tsx
6
- function MenuViewport(props) {
7
- const { className: customClassName = "", ...rest } = props;
8
- const combinedClassName = cx(MENU_CLASS_NAME.VIEWPORT, customClassName);
9
- return /* @__PURE__ */ jsx(Menu.Viewport, {
10
- className: combinedClassName,
11
- "data-slot": "menu-viewport",
12
- ...rest
13
- });
14
- }
15
- //#endregion
16
- export { MenuViewport };
@@ -1,196 +0,0 @@
1
- @layer components {
2
- .menu-module_menu_trigger_7pJHya {
3
- background-color: var(--color-bg-shell-inner);
4
- box-shadow: inset 0 0 0 1px var(--color-border);
5
- color: var(--color-text-primary);
6
- cursor: pointer;
7
- outline-offset: 2px;
8
- user-select: none;
9
- border-radius: 10px;
10
- outline: 2px solid #0000;
11
- flex-shrink: 0;
12
- align-items: center;
13
- column-gap: 8px;
14
- width: max-content;
15
- height: 40px;
16
- padding: 0 16px;
17
- font-size: 14px;
18
- font-weight: 450;
19
- transition-property: background-color;
20
- transition-duration: .15s;
21
- display: inline-flex;
22
- overflow: hidden;
23
- }
24
-
25
- .menu-module_menu_trigger_7pJHya:disabled {
26
- background-color: var(--color-gray-3);
27
- cursor: not-allowed;
28
- opacity: .5;
29
- }
30
-
31
- .menu-module_menu_trigger_7pJHya:focus-visible {
32
- outline-color: var(--color-primary);
33
- }
34
-
35
- .menu-module_menu_trigger_7pJHya:hover:not(:disabled), .menu-module_menu_trigger_7pJHya[data-popup-open] {
36
- background-color: var(--color-gray-3);
37
- }
38
-
39
- .menu-module_menu_trigger_7pJHya > svg {
40
- width: 16px;
41
- height: 16px;
42
- }
43
-
44
- .menu-module_menu_content_positioner_7pJHya {
45
- isolation: isolate;
46
- z-index: 50;
47
- }
48
-
49
- .menu-module_menu_content_7pJHya {
50
- background-color: var(--color-bg-shell-inner);
51
- box-shadow: 0 0 0 1px var(--color-border) inset,
52
- 0 .5px 0 oklab(0% none none / .03),
53
- 0 36px 15px -4px oklab(0% none none / .01),
54
- 0 20px 12px -3px oklab(0% none none / .03),
55
- 0 9px 9px -2px oklab(0% none none / .04),
56
- 0 2px 5px -1px oklab(0% none none / .05);
57
- color: var(--color-text-primary);
58
- max-height: min(var(--available-height), 480px);
59
- max-width: min(var(--available-width), 320px);
60
- outline-color: var(--color-primary-9);
61
- outline-offset: -2px;
62
- min-width: 180px;
63
- transform-origin: var(--transform-origin);
64
- will-change: opacity, transform;
65
- border-radius: 12px;
66
- outline-width: 0;
67
- outline-style: solid;
68
- flex-direction: column;
69
- padding: 4px;
70
- transition-property: opacity, transform;
71
- transition-duration: .15s;
72
- display: flex;
73
- overflow: auto;
74
- }
75
-
76
- .menu-module_menu_content_7pJHya:focus-visible {
77
- outline-width: 2px;
78
- }
79
-
80
- .menu-module_menu_content_7pJHya[data-ending-style], .menu-module_menu_content_7pJHya[data-starting-style] {
81
- opacity: 0;
82
- transform: scale(.975);
83
- }
84
-
85
- .menu-module_menu_content_7pJHya[data-side="top"][data-ending-style], .menu-module_menu_content_7pJHya[data-side="top"][data-starting-style] {
86
- transform: scale(.975) translateY(4px);
87
- }
88
-
89
- .menu-module_menu_content_7pJHya[data-side="bottom"][data-ending-style], .menu-module_menu_content_7pJHya[data-side="bottom"][data-starting-style] {
90
- transform: scale(.975) translateY(-4px);
91
- }
92
-
93
- .menu-module_menu_content_7pJHya[data-side="left"][data-ending-style], .menu-module_menu_content_7pJHya[data-side="left"][data-starting-style], .menu-module_menu_content_7pJHya[data-side="inline-start"][data-ending-style], .menu-module_menu_content_7pJHya[data-side="inline-start"][data-starting-style] {
94
- transform: scale(.975) translateX(4px);
95
- }
96
-
97
- .menu-module_menu_content_7pJHya[data-side="right"][data-ending-style], .menu-module_menu_content_7pJHya[data-side="right"][data-starting-style], .menu-module_menu_content_7pJHya[data-side="inline-end"][data-ending-style], .menu-module_menu_content_7pJHya[data-side="inline-end"][data-starting-style] {
98
- transform: scale(.975) translateX(-4px);
99
- }
100
-
101
- .menu-module_menu_content_arrow_7pJHya {
102
- color: var(--color-bg-primary);
103
- display: flex;
104
- }
105
-
106
- .menu-module_menu_content_arrow__icon_7pJHya {
107
- fill: currentColor;
108
- filter: drop-shadow(0 -1px 0 var(--color-border));
109
- display: block;
110
- }
111
-
112
- .menu-module_menu_content_arrow_7pJHya[data-side="top"] {
113
- rotate: 180deg;
114
- }
115
-
116
- .menu-module_menu_content_arrow_7pJHya[data-side="left"], .menu-module_menu_content_arrow_7pJHya[data-side="inline-start"] {
117
- rotate: 90deg;
118
- }
119
-
120
- .menu-module_menu_content_arrow_7pJHya[data-side="right"], .menu-module_menu_content_arrow_7pJHya[data-side="inline-end"] {
121
- rotate: -90deg;
122
- }
123
-
124
- .menu-module_menu_checkbox_item_7pJHya, .menu-module_menu_item_7pJHya, .menu-module_menu_link_item_7pJHya, .menu-module_menu_radio_item_7pJHya, .menu-module_menu_submenu_trigger_7pJHya {
125
- color: var(--color-text-primary);
126
- cursor: pointer;
127
- user-select: none;
128
- border-radius: 8px;
129
- outline: none;
130
- flex-shrink: 0;
131
- align-items: center;
132
- column-gap: 8px;
133
- height: 36px;
134
- padding: 0 12px;
135
- font-size: 14px;
136
- font-weight: 450;
137
- text-decoration: none;
138
- display: flex;
139
- position: relative;
140
- }
141
-
142
- .menu-module_menu_checkbox_item_7pJHya[data-highlighted], .menu-module_menu_item_7pJHya[data-highlighted], .menu-module_menu_link_item_7pJHya[data-highlighted], .menu-module_menu_radio_item_7pJHya[data-highlighted], .menu-module_menu_submenu_trigger_7pJHya[data-highlighted], .menu-module_menu_submenu_trigger_7pJHya[data-popup-open] {
143
- background-color: var(--color-gray-3);
144
- }
145
-
146
- .menu-module_menu_checkbox_item_7pJHya[data-disabled], .menu-module_menu_item_7pJHya[data-disabled], .menu-module_menu_radio_item_7pJHya[data-disabled], .menu-module_menu_submenu_trigger_7pJHya[data-disabled] {
147
- cursor: not-allowed;
148
- opacity: .5;
149
- }
150
-
151
- .menu-module_menu_item__icon_7pJHya, .menu-module_menu_item__indicator_7pJHya {
152
- color: var(--color-text-secondary);
153
- flex-shrink: 0;
154
- justify-content: center;
155
- align-items: center;
156
- width: 16px;
157
- height: 16px;
158
- display: flex;
159
- }
160
-
161
- .menu-module_menu_item__indicator_7pJHya {
162
- color: var(--color-primary-9);
163
- }
164
-
165
- .menu-module_menu_item__icon_7pJHya > svg, .menu-module_menu_item__indicator_7pJHya > svg {
166
- width: 16px;
167
- height: 16px;
168
- }
169
-
170
- .menu-module_menu_item__label_7pJHya {
171
- text-overflow: ellipsis;
172
- white-space: nowrap;
173
- flex: auto;
174
- min-width: 0;
175
- overflow: hidden;
176
- }
177
-
178
- .menu-module_menu_group_7pJHya, .menu-module_menu_radio_group_7pJHya, .menu-module_menu_viewport_7pJHya {
179
- flex-direction: column;
180
- display: flex;
181
- }
182
-
183
- .menu-module_menu_group_label_7pJHya {
184
- color: var(--color-text-secondary);
185
- padding: 6px 12px 4px;
186
- font-size: 12px;
187
- font-weight: 450;
188
- }
189
-
190
- .menu-module_menu_separator_7pJHya {
191
- background-color: var(--color-border);
192
- flex-shrink: 0;
193
- height: 1px;
194
- margin: 4px 8px;
195
- }
196
- }
@@ -1,24 +0,0 @@
1
- import './menu.css';
2
- //#region src/components/menu/menu.module.css
3
- var menu_module_default = {
4
- "menu_checkbox_item": "menu-module_menu_checkbox_item_7pJHya",
5
- "menu_content": "menu-module_menu_content_7pJHya",
6
- "menu_content_arrow": "menu-module_menu_content_arrow_7pJHya",
7
- "menu_content_arrow__icon": "menu-module_menu_content_arrow__icon_7pJHya",
8
- "menu_content_positioner": "menu-module_menu_content_positioner_7pJHya",
9
- "menu_group": "menu-module_menu_group_7pJHya",
10
- "menu_group_label": "menu-module_menu_group_label_7pJHya",
11
- "menu_item": "menu-module_menu_item_7pJHya",
12
- "menu_item__icon": "menu-module_menu_item__icon_7pJHya",
13
- "menu_item__indicator": "menu-module_menu_item__indicator_7pJHya",
14
- "menu_item__label": "menu-module_menu_item__label_7pJHya",
15
- "menu_link_item": "menu-module_menu_link_item_7pJHya",
16
- "menu_radio_group": "menu-module_menu_radio_group_7pJHya",
17
- "menu_radio_item": "menu-module_menu_radio_item_7pJHya",
18
- "menu_separator": "menu-module_menu_separator_7pJHya",
19
- "menu_submenu_trigger": "menu-module_menu_submenu_trigger_7pJHya",
20
- "menu_trigger": "menu-module_menu_trigger_7pJHya",
21
- "menu_viewport": "menu-module_menu_viewport_7pJHya"
22
- };
23
- //#endregion
24
- export { menu_module_default as default };