@mirohq/design-system-dropdown-menu 3.2.11 → 3.2.13

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.
package/dist/main.js CHANGED
@@ -41,7 +41,7 @@ const itemDefaults = {
41
41
  borderRadius: "$50",
42
42
  display: "flex",
43
43
  alignItems: "center",
44
- height: "$11",
44
+ minHeight: "$11",
45
45
  padding: "$100 $150",
46
46
  position: "relative",
47
47
  userSelect: "none",
@@ -87,16 +87,65 @@ const IconSlot = designSystemStitches.styled(designSystemPrimitive.Primitive.div
87
87
  marginRight: "$100",
88
88
  width: "$6"
89
89
  });
90
- const RightSlot = designSystemStitches.styled(designSystemPrimitive.Primitive.div, {
90
+ const ContentSlot = designSystemStitches.styled(designSystemPrimitive.Primitive.div, {
91
+ display: "flex",
92
+ alignItems: "center"
93
+ });
94
+ const StyledRightSlot = designSystemStitches.styled(designSystemPrimitive.Primitive.div, {
91
95
  display: "flex",
92
96
  alignItems: "center",
93
97
  marginLeft: "auto",
94
- paddingLeft: "$200"
98
+ paddingLeft: "$200",
99
+ "&:empty": {
100
+ paddingLeft: "$none"
101
+ }
95
102
  });
96
- const ContentSlot = designSystemStitches.styled(designSystemPrimitive.Primitive.div, {
97
- display: "flex",
98
- alignItems: "center"
103
+
104
+ const Context = React.createContext({
105
+ counter: {
106
+ right: 0,
107
+ left: 0
108
+ },
109
+ increaseCounter: () => {
110
+ },
111
+ decreaseCounter: () => {
112
+ }
99
113
  });
114
+ const SlotsProvider = ({
115
+ children
116
+ }) => {
117
+ const [counter, setCounter] = React.useState({
118
+ right: 0,
119
+ left: 0
120
+ });
121
+ return /* @__PURE__ */ React__default["default"].createElement(Context.Provider, {
122
+ value: {
123
+ counter,
124
+ increaseCounter: (side) => {
125
+ setCounter((counter2) => ({
126
+ ...counter2,
127
+ [side]: counter2[side] + 1
128
+ }));
129
+ },
130
+ decreaseCounter: (side) => setCounter((counter2) => ({
131
+ ...counter2,
132
+ [side]: counter2[side] - 1
133
+ }))
134
+ }
135
+ }, children);
136
+ };
137
+ const useSlots = () => React.useContext(Context);
138
+
139
+ const RightSlot = (props) => {
140
+ const { increaseCounter, decreaseCounter } = useSlots();
141
+ React.useEffect(() => {
142
+ increaseCounter("right");
143
+ return () => decreaseCounter("right");
144
+ }, []);
145
+ return /* @__PURE__ */ React__default["default"].createElement(StyledRightSlot, {
146
+ ...props
147
+ });
148
+ };
100
149
 
101
150
  const CheckIcon = () => /* @__PURE__ */ React__default["default"].createElement(StyledCheckIcon, {
102
151
  width: "16",
@@ -131,19 +180,12 @@ const CheckboxItem = React__default["default"].forwardRef(({ children, ...restPr
131
180
  const GUTTER_TOKEN = 150;
132
181
  const CONTENT_GUTTER = parseInt(designSystemStitches.theme.space[GUTTER_TOKEN]);
133
182
  const CONTENT_OFFSET = parseInt(designSystemStitches.theme.space[50]);
134
- const ITEM_WITHOUT_RIGHT_SLOT = `[role="menuitem"]:not(:has(${RightSlot}))`;
135
183
  const contentDefaults = {
136
184
  maxWidth: "$125",
137
185
  backgroundColor: "$white",
138
186
  borderRadius: "$50",
139
187
  padding: `$${GUTTER_TOKEN}`,
140
188
  boxShadow: "$50",
141
- [`&:has(${RightSlot}) > ${ITEM_WITHOUT_RIGHT_SLOT}`]: {
142
- paddingRight: "44px"
143
- },
144
- [`&:has([role="switch"]) > ${ITEM_WITHOUT_RIGHT_SLOT}`]: {
145
- paddingRight: "56px"
146
- },
147
189
  "@media (prefers-reduced-motion: no-preference)": {
148
190
  animationDuration: "150ms",
149
191
  animationTimingFunction: "cubic-bezier(0.25, 0.5, 0.5, 0.9)",
@@ -189,7 +231,7 @@ const Content = React__default["default"].forwardRef(
189
231
  sticky = "partial",
190
232
  hideWhenDetached = false,
191
233
  ...restProps
192
- }, forwardRef) => /* @__PURE__ */ React__default["default"].createElement(StyledContent, {
234
+ }, forwardRef) => /* @__PURE__ */ React__default["default"].createElement(SlotsProvider, null, /* @__PURE__ */ React__default["default"].createElement(StyledContent, {
193
235
  ...restProps,
194
236
  ref: forwardRef,
195
237
  loop,
@@ -201,17 +243,30 @@ const Content = React__default["default"].forwardRef(
201
243
  collisionPadding,
202
244
  sticky,
203
245
  hideWhenDetached
204
- })
246
+ }))
205
247
  );
206
248
 
207
- const StyledItem = designSystemStitches.styled(RadixDropdownMenu__namespace.Item, itemDefaults);
249
+ const StyledItem = designSystemStitches.styled(RadixDropdownMenu__namespace.Item, {
250
+ ...itemDefaults,
251
+ variants: {
252
+ hasRightSlot: {
253
+ true: {
254
+ paddingRight: "$600"
255
+ }
256
+ }
257
+ }
258
+ });
208
259
 
209
260
  const Item = React__default["default"].forwardRef(
210
- ({ disabled = false, ...restProps }, forwardRef) => /* @__PURE__ */ React__default["default"].createElement(StyledItem, {
211
- ...restProps,
212
- ref: forwardRef,
213
- disabled
214
- })
261
+ ({ disabled = false, ...restProps }, forwardRef) => {
262
+ const { counter } = useSlots();
263
+ return /* @__PURE__ */ React__default["default"].createElement(StyledItem, {
264
+ ...restProps,
265
+ ref: forwardRef,
266
+ disabled,
267
+ hasRightSlot: counter.right > 0
268
+ });
269
+ }
215
270
  );
216
271
 
217
272
  const LinkItem = React__default["default"].forwardRef(({ children, href, ...restProps }, forwardRef) => /* @__PURE__ */ React__default["default"].createElement(Item, {
@@ -333,7 +388,7 @@ const SubContent = React__default["default"].forwardRef(
333
388
  hideWhenDetached = false,
334
389
  sticky = "partial",
335
390
  ...restProps
336
- }, forwardRef) => /* @__PURE__ */ React__default["default"].createElement(StyledSubContent, {
391
+ }, forwardRef) => /* @__PURE__ */ React__default["default"].createElement(SlotsProvider, null, /* @__PURE__ */ React__default["default"].createElement(StyledSubContent, {
337
392
  ...restProps,
338
393
  ref: forwardRef,
339
394
  sideOffset,
@@ -342,7 +397,7 @@ const SubContent = React__default["default"].forwardRef(
342
397
  loop,
343
398
  hideWhenDetached,
344
399
  sticky
345
- })
400
+ }))
346
401
  );
347
402
 
348
403
  const StyledSub = designSystemStitches.styled(RadixDropdownMenu__namespace.Sub, {});
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sources":["../src/styles/item.ts","../src/partials/checkbox-item.styled.tsx","../src/partials/slots.styled.ts","../src/partials/checkbox-item.tsx","../src/styles/content.ts","../src/partials/content.styled.tsx","../src/partials/content.tsx","../src/partials/item.styled.tsx","../src/partials/item.tsx","../src/partials/link-item.tsx","../src/partials/radio-group.styled.tsx","../src/partials/radio-group.tsx","../src/partials/radio-item.styled.tsx","../src/partials/radio-item.tsx","../src/partials/separator.styled.tsx","../src/partials/separator.tsx","../src/partials/switch-item.tsx","../src/partials/trigger.styled.tsx","../src/partials/trigger.tsx","../src/partials/sub-trigger.styled.tsx","../src/partials/sub-trigger.tsx","../src/partials/sub-content.styled.tsx","../src/partials/sub-content.tsx","../src/partials/sub.styled.tsx","../src/partials/sub.tsx","../src/partials/portal.tsx","../src/dropdown-menu.tsx"],"sourcesContent":["import { focus } from '@mirohq/design-system-styles'\n\nexport const itemDefaults = {\n all: 'unset',\n boxSizing: 'border-box',\n fontSize: 14,\n lineHeight: '20px',\n color: 'rgba(5, 0, 56, 1)',\n borderRadius: '$50',\n display: 'flex',\n alignItems: 'center',\n height: '$11',\n padding: '$100 $150',\n position: 'relative',\n userSelect: 'none',\n cursor: 'pointer',\n\n '&[data-disabled]': {\n color: 'rgba(9, 9, 9, 0.4)',\n pointerEvents: 'none',\n },\n\n ...focus.defaults,\n\n '&:hover': {\n background: 'rgba(232, 236, 255, 1)',\n color: 'rgba(69, 91, 237, 1)',\n boxShadow: 'none',\n },\n '&[tabindex=\"0\"]': {\n zIndex: '1',\n },\n}\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { itemDefaults } from '../styles/item'\n\nexport const StyledCheckIcon = styled(Primitive.svg, {\n fill: 'rgba(235, 235, 239, 1)',\n})\n\nexport const checkboxItemStyles = {\n ...itemDefaults,\n [`&[data-state=\"checked\"] ${StyledCheckIcon}`]: {\n fill: 'rgba(69, 91, 237, 1)',\n },\n [`&[data-state=\"unchecked\"]:hover ${StyledCheckIcon}`]: {\n fill: 'rgba(205, 204, 215, 1)',\n },\n [`&[data-disabled][data-state=\"checked\"] ${StyledCheckIcon}`]: {\n fill: 'rgba(9, 9, 9, 0.4)',\n },\n}\n\nexport const StyledCheckboxItem = styled(\n RadixDropdownMenu.CheckboxItem,\n checkboxItemStyles\n)\n\nexport type StyledCheckboxItemProps = StrictComponentProps<\n typeof StyledCheckboxItem\n>\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const IconSlot = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n marginRight: '$100',\n width: '$6',\n})\n\nexport const RightSlot = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n marginLeft: 'auto',\n paddingLeft: '$200',\n})\n\nexport const ContentSlot = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n})\n","import React from 'react'\nimport type { ElementRef, PropsWithRef } from 'react'\n\nimport { StyledCheckboxItem, StyledCheckIcon } from './checkbox-item.styled'\nimport type { StyledCheckboxItemProps } from './checkbox-item.styled'\nimport { RightSlot, ContentSlot } from './slots.styled'\n\nexport const CheckIcon = (): JSX.Element => (\n <StyledCheckIcon\n width='16'\n height='16'\n viewBox='0 0 16 16'\n xmlns='http://www.w3.org/2000/svg'\n data-testid='checkbox-item-check-icon'\n >\n <path d='M4.28591 7.30832C3.89709 6.90837 3.25623 6.90386 2.8618 7.29828L2.79289 7.36719C2.39971 7.76038 2.40278 8.39879 2.79973 8.78818L6.57895 12.4953L13.8642 5.28822C14.2583 4.89833 14.26 4.26222 13.868 3.87021L13.7907 3.79289C13.3984 3.40056 12.7616 3.40264 12.3719 3.79754L6.57895 9.66692L4.28591 7.30832Z' />\n </StyledCheckIcon>\n)\n\nexport interface CheckboxItemProps\n extends Omit<StyledCheckboxItemProps, 'onChange'> {\n /**\n * The checked state of the item\n */\n checked: boolean\n\n /**\n * Event handler called when the checked state changes\n */\n onChange: (checked: boolean) => void\n\n /**\n * When true, prevents the user from interacting with the item\n */\n disabled?: boolean\n\n /**\n * Event handler called when the user selects an item (via mouse of keyboard). Calling event.preventDefault in this handler will prevent the dropdown menu from closing when selecting that item\n */\n onSelect?: (event: Event) => void\n\n /**\n * Optional text used for typeahead purposes. By default the typeahead behavior will use the .textContent of the item. Use this when the content is complex, or you have non-textual content inside\n */\n textValue?: string\n}\n\nexport const CheckboxItemRoot: React.FC<PropsWithRef<CheckboxItemProps>> = ({\n disabled = false,\n onChange,\n onSelect,\n ref,\n ...restProps\n}) => (\n <StyledCheckboxItem\n {...restProps}\n ref={ref}\n disabled={disabled}\n onCheckedChange={onChange}\n onSelect={(event: Event) => {\n event.preventDefault()\n onSelect?.(event)\n }}\n />\n)\n\nexport const CheckboxItem = React.forwardRef<\n ElementRef<typeof CheckboxItemRoot>,\n CheckboxItemProps\n>(({ children, ...restProps }, forwardRef) => (\n <CheckboxItemRoot {...restProps} ref={forwardRef}>\n <ContentSlot>{children}</ContentSlot>\n <RightSlot>\n <CheckIcon />\n </RightSlot>\n </CheckboxItemRoot>\n))\n","import { theme } from '@mirohq/design-system-stitches'\nimport { animations } from '@mirohq/design-system-styles'\n\nimport { RightSlot } from '../partials/slots.styled'\n\nconst GUTTER_TOKEN = 150\nexport const CONTENT_GUTTER = parseInt(theme.space[GUTTER_TOKEN])\nexport const CONTENT_OFFSET = parseInt(theme.space[50])\nconst ITEM_WITHOUT_RIGHT_SLOT = `[role=\"menuitem\"]:not(:has(${RightSlot}))`\n\nexport const contentDefaults = {\n maxWidth: '$125',\n backgroundColor: '$white',\n borderRadius: '$50',\n padding: `$${GUTTER_TOKEN}`,\n boxShadow: '$50',\n [`&:has(${RightSlot}) > ${ITEM_WITHOUT_RIGHT_SLOT}`]: {\n paddingRight: '44px',\n },\n [`&:has([role=\"switch\"]) > ${ITEM_WITHOUT_RIGHT_SLOT}`]: {\n paddingRight: '56px',\n },\n '@media (prefers-reduced-motion: no-preference)': {\n animationDuration: '150ms',\n animationTimingFunction: 'cubic-bezier(0.25, 0.5, 0.5, 0.9)',\n willChange: 'transform, opacity',\n '&[data-state=\"open\"]': { animationName: animations.fadeInScaled },\n '&[data-state=\"closed\"]': { animationName: animations.fadeOutScaled },\n '&[data-side=\"top\"]': {\n '&[data-align=\"start\"]': { transformOrigin: 'bottom left' },\n '&[data-align=\"center\"]': { transformOrigin: 'bottom center' },\n '&[data-align=\"end\"]': { transformOrigin: 'bottom right' },\n },\n '&[data-side=\"right\"]': {\n '&[data-align=\"start\"]': { transformOrigin: 'top left' },\n '&[data-align=\"center\"]': { transformOrigin: 'center left' },\n '&[data-align=\"end\"]': { transformOrigin: 'bottom left' },\n },\n '&[data-side=\"bottom\"]': {\n '&[data-align=\"start\"]': { transformOrigin: 'top left' },\n '&[data-align=\"center\"]': { transformOrigin: 'top center' },\n '&[data-align=\"end\"]': { transformOrigin: 'top right' },\n },\n '&[data-side=\"left\"]': {\n '&[data-align=\"start\"]': { transformOrigin: 'top right' },\n '&[data-align=\"center\"]': { transformOrigin: 'center right' },\n '&[data-align=\"end\"]': { transformOrigin: 'bottom right' },\n },\n },\n position: 'relative',\n zIndex: '$dropdownMenu',\n}\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { contentDefaults } from '../styles/content'\n\nexport const StyledContent = styled(RadixDropdownMenu.Content, contentDefaults)\n\nexport type StyledContentProps = StrictComponentProps<typeof StyledContent>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledContent } from './content.styled'\nimport type { StyledContentProps } from './content.styled'\nimport { CONTENT_OFFSET } from '../styles/content'\nimport type {\n PointerDownOutsideEvent,\n FocusOutsideEvent,\n Side,\n Align,\n StickyBehavior,\n} from '../types'\n\nexport interface ContentProps extends StyledContentProps {\n /**\n * Whether keyboard navigation should loop around\n */\n loop?: boolean\n\n /**\n * Event handler called when focus moves to the trigger after closing. It can\n * be prevented by calling event.preventDefault. This prop is ignored within\n * submenus.\n */\n onCloseAutoFocus?: (event: Event) => void\n\n /**\n * Event handler called when the escape key is down. It can be prevented by\n * calling event.preventDefault.\n */\n onEscapeKeyDown?: (event: KeyboardEvent) => void\n\n /**\n * Event handler called when a pointer event occurs outside the bounds of the\n * component. It can be prevented by calling event.preventDefault.\n */\n onPointerDownOutside?: (event: PointerDownOutsideEvent) => void\n\n /**\n * Event handler called when focus moves outside the bounds of the component.\n * It can be prevented by calling event.preventDefault.\n */\n onFocusOutside?: (event: FocusOutsideEvent) => void\n\n /**\n * Event handler called when an interaction (pointer or focus event) happens\n * outside the bounds of the component. It can be prevented by calling\n * event.preventDefault.\n */\n onInteractOutside?: (\n event: PointerDownOutsideEvent | FocusOutsideEvent\n ) => void\n\n /**\n * The preferred side of the trigger to render against when open. Will be\n * reversed when collisions occur and avoidCollisions is enabled. This prop is\n * ignored within submenus.\n */\n side?: Side\n\n /**\n * The distance in pixels from the trigger\n */\n sideOffset?: number\n\n /**\n * The preferred alignment against the trigger. May change when collisions\n * occur. This prop is ignored within submenus.\n */\n align?: Align\n\n /**\n * An offset in pixels from the \"start\" or \"end\" alignment options\n */\n alignOffset?: number\n\n /**\n * When true, overrides the side and align preferences to prevent collisions\n * with window edges.\n */\n avoidCollisions?: boolean\n\n /**\n * The distance in pixels from window edges where collision detection should\n * occur.\n */\n collisionPadding?: number\n\n /**\n * The sticky behavior on the align axis. \"partial\" will keep the content in\n * the boundary as long as the trigger is at least partially in the boundary\n * whilst \"always\" will keep the content in the boundary regardless.\n */\n sticky?: StickyBehavior\n\n /**\n * Used to force mounting when more control is needed. Useful when controlling\n * animation with React animation libraries. It inherits from\n * DropdownMenu.Portal.\n */\n forceMount?: true\n\n /**\n * The element used as the collision boundary. By default this is the\n * viewport, though you can provide additional element(s) to be included in\n * this check.\n */\n collisionBoundary?: Element | null\n\n /**\n * Whether to hide the content when the trigger becomes fully occluded.\n */\n hideWhenDetached?: boolean\n}\n\nexport const Content = React.forwardRef<\n ElementRef<typeof StyledContent>,\n ContentProps\n>(\n (\n {\n loop = false,\n side = 'bottom',\n sideOffset = CONTENT_OFFSET,\n align = 'center',\n alignOffset = 0,\n collisionPadding = 0,\n avoidCollisions = true,\n sticky = 'partial',\n hideWhenDetached = false,\n ...restProps\n },\n forwardRef\n ) => (\n <StyledContent\n {...restProps}\n ref={forwardRef}\n loop={loop}\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n avoidCollisions={avoidCollisions}\n collisionPadding={collisionPadding}\n sticky={sticky}\n hideWhenDetached={hideWhenDetached}\n />\n )\n)\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { itemDefaults } from '../styles/item'\n\nexport const StyledItem = styled(RadixDropdownMenu.Item, itemDefaults)\n\nexport type StyledItemProps = StrictComponentProps<typeof StyledItem>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledItem } from './item.styled'\nimport type { StyledItemProps } from './item.styled'\n\nexport interface ItemProps extends StyledItemProps {\n /**\n * When true, prevents the user from interacting with the item\n */\n disabled?: boolean\n\n /**\n * Event handler called when the user selects an item (via mouse of keyboard). Calling event.preventDefault in this handler will prevent the dropdown menu from closing when selecting that item\n */\n onSelect?: (event: Event) => void\n\n /**\n * Optional text used for typeahead purposes. By default the typeahead behavior will use the .textContent of the item. Use this when the content is complex, or you have non-textual content inside\n */\n textValue?: string\n}\n\nexport const Item = React.forwardRef<ElementRef<typeof StyledItem>, ItemProps>(\n ({ disabled = false, ...restProps }, forwardRef) => (\n <StyledItem {...restProps} ref={forwardRef} disabled={disabled} />\n )\n)\n","import React from 'react'\nimport type { ElementRef, AnchorHTMLAttributes } from 'react'\n\nimport { Item } from './item'\nimport type { ItemProps } from './item'\n\ntype ItemPropsWithAnchor = ItemProps & AnchorHTMLAttributes<typeof Item>\nexport interface LinkItemProps extends ItemPropsWithAnchor {}\n\nexport const LinkItem = React.forwardRef<\n ElementRef<typeof Item>,\n LinkItemProps\n>(({ children, href, ...restProps }, forwardRef) => (\n <Item asChild ref={forwardRef} {...restProps}>\n <a href={href}>{children}</a>\n </Item>\n))\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nexport const StyledRadioGroup = styled(RadixDropdownMenu.RadioGroup)\n\nexport type StyledRadioGroupProps = StrictComponentProps<\n typeof StyledRadioGroup\n>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledRadioGroup } from './radio-group.styled'\nimport type { StyledRadioGroupProps } from './radio-group.styled'\n\nexport interface RadioGroupProps\n extends Omit<StyledRadioGroupProps, 'onChange'> {\n /**\n * The value of the selected item in the group\n */\n value: string\n\n /**\n * Event handler called when the selected radio changes\n */\n onChange: (value: string) => void\n}\n\nexport const RadioGroup = React.forwardRef<\n ElementRef<typeof StyledRadioGroup>,\n RadioGroupProps\n>((props, forwardRef) => {\n const { onChange, ...restProps } = props\n\n return (\n <StyledRadioGroup\n {...restProps}\n ref={forwardRef}\n onValueChange={onChange}\n />\n )\n})\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { checkboxItemStyles } from './checkbox-item.styled'\n\nexport const StyledRadioItem = styled(\n RadixDropdownMenu.RadioItem,\n checkboxItemStyles\n)\n\nexport type StyledRadioItemProps = StrictComponentProps<typeof StyledRadioItem>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledRadioItem } from './radio-item.styled'\nimport type { StyledRadioItemProps } from './radio-item.styled'\nimport { RightSlot, ContentSlot } from './slots.styled'\nimport { CheckIcon } from './checkbox-item'\n\nexport interface RadioItemProps extends StyledRadioItemProps {\n /**\n * The unique value of the item\n */\n value: string\n\n /**\n * When true, prevents the user from interacting with the item\n */\n disabled?: boolean\n\n /**\n * Event handler called when the user selects an item (via mouse of keyboard). Calling event.preventDefault in this handler will prevent the dropdown menu from closing when selecting that item\n */\n onSelect?: (event: Event) => void\n\n /**\n * Optional text used for typeahead purposes. By default the typeahead behavior will use the .textContent of the item. Use this when the content is complex, or you have non-textual content inside\n */\n textValue?: string\n}\n\nexport const RadioItem = React.forwardRef<\n ElementRef<typeof StyledRadioItem>,\n RadioItemProps\n>(({ disabled = false, onSelect, children, ...restProps }, forwardRef) => (\n <StyledRadioItem\n {...restProps}\n ref={forwardRef}\n disabled={disabled}\n onSelect={(event: Event) => {\n event.preventDefault()\n onSelect?.(event)\n }}\n >\n <ContentSlot>{children}</ContentSlot>\n <RightSlot>\n <CheckIcon />\n </RightSlot>\n </StyledRadioItem>\n))\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nexport const StyledSeparator = styled(RadixDropdownMenu.Separator, {\n borderTop: '1px solid rgba(235, 235, 239, 1)',\n marginY: '$100',\n})\n\nexport type StyledSeparatorProps = StrictComponentProps<typeof StyledSeparator>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledSeparator } from './separator.styled'\nimport type { StyledSeparatorProps } from './separator.styled'\n\nexport interface SeparatorProps extends StyledSeparatorProps {}\n\nexport const Separator = React.forwardRef<\n ElementRef<typeof StyledSeparator>,\n SeparatorProps\n>((props, forwardRef) => <StyledSeparator {...props} ref={forwardRef} />)\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { Switch } from '@mirohq/design-system-switch'\n\nimport { CheckboxItemRoot } from './checkbox-item'\nimport type { CheckboxItemProps } from './checkbox-item'\nimport { ContentSlot, RightSlot } from './slots.styled'\n\nexport interface SwitchItemProps extends CheckboxItemProps {}\n\nexport const SwitchItem = React.forwardRef<\n ElementRef<typeof CheckboxItemRoot>,\n SwitchItemProps\n>(\n (\n { disabled = false, checked, onSelect, children, ...restProps },\n forwardRef\n ) => (\n <CheckboxItemRoot\n {...restProps}\n ref={forwardRef}\n disabled={disabled}\n checked={checked}\n >\n <ContentSlot>{children}</ContentSlot>\n <RightSlot>\n <Switch\n checked={checked}\n disabled={disabled}\n // bypass the control in order to use the switch-item state\n onChange={x => x}\n value=''\n />\n </RightSlot>\n </CheckboxItemRoot>\n )\n)\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\nimport { focus } from '@mirohq/design-system-styles'\n\nconst defaultStyles = {\n boxSizing: 'border-box',\n cursor: 'pointer',\n ...focus.defaults,\n}\n\nexport const StyledTrigger = styled(RadixDropdownMenu.Trigger, {\n variants: {\n unstyled: {\n true: {\n all: 'unset',\n ...defaultStyles,\n },\n false: defaultStyles,\n },\n },\n})\n\nexport type StyledTriggerProps = StrictComponentProps<typeof StyledTrigger>\n","import React from 'react'\nimport type { ElementRef, DOMAttributes } from 'react'\n\nimport { StyledTrigger } from './trigger.styled'\nimport type { StyledTriggerProps } from './trigger.styled'\n\nexport interface TriggerProps extends StyledTriggerProps {\n /**\n * temporary the same as onClick, later will be added touch events support\n */\n onPress?: DOMAttributes<HTMLElement>['onClick']\n}\n\nexport const Trigger = React.forwardRef<\n ElementRef<typeof StyledTrigger>,\n TriggerProps\n>(({ asChild = false, onPress, onClick, ...restProps }, forwardRef) => (\n <StyledTrigger\n {...restProps}\n onClick={onPress ?? onClick}\n ref={forwardRef}\n unstyled={!asChild}\n asChild={asChild}\n />\n))\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { itemDefaults } from '../styles/item'\n\nexport const StyledSubTrigger = styled(RadixDropdownMenu.SubTrigger, {\n ...itemDefaults,\n '&[data-state=\"open\"]': itemDefaults['&:hover'],\n})\n\nexport type StyledSubTriggerProps = StrictComponentProps<\n typeof StyledSubTrigger\n>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledSubTrigger } from './sub-trigger.styled'\nimport type { StyledSubTriggerProps } from './sub-trigger.styled'\nimport { RightSlot, ContentSlot } from './slots.styled'\n\nconst ArrowIcon = (): JSX.Element => (\n <svg\n width='16'\n height='16'\n viewBox='0 0 16 16'\n fill='currentColor'\n xmlns='http://www.w3.org/2000/svg'\n data-testid='submenu-arrow-icon'\n >\n <path d='M5.29289 3.29289C5.68342 2.90237 6.31658 2.90237 6.70711 3.29289L11.4142 8L6.70711 12.7071C6.31658 13.0976 5.68342 13.0976 5.29289 12.7071C4.90237 12.3166 4.90237 11.6834 5.29289 11.2929L8.58579 8L5.29289 4.70711C4.90237 4.31658 4.90237 3.68342 5.29289 3.29289Z' />\n </svg>\n)\n\nexport interface SubTriggerProps extends StyledSubTriggerProps {\n /**\n * Prevents the user from interacting with the switch\n */\n disabled?: boolean\n\n /**\n * Optional text used for type ahead purposes. By default the type ahead\n * behavior will use the .textContent of the item. Use this when the content\n * is complex, or you have.\n */\n textValue?: string\n}\n\nexport const SubTrigger = React.forwardRef<\n ElementRef<typeof StyledSubTrigger>,\n StyledSubTriggerProps\n>(({ children, disabled = false, ...restProps }, forwardRef) => (\n <StyledSubTrigger {...restProps} ref={forwardRef} disabled={disabled}>\n <ContentSlot>{children}</ContentSlot>\n <RightSlot>\n <ArrowIcon />\n </RightSlot>\n </StyledSubTrigger>\n))\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { contentDefaults } from '../styles/content'\n\nexport const StyledSubContent = styled(\n RadixDropdownMenu.SubContent,\n contentDefaults\n)\n\nexport type StyledSubContentProps = StrictComponentProps<\n typeof StyledSubContent\n>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledSubContent } from './sub-content.styled'\nimport { CONTENT_GUTTER, CONTENT_OFFSET } from '../styles/content'\nimport type { StyledSubContentProps } from './sub-content.styled'\nimport type { PointerDownOutsideEvent, FocusOutsideEvent } from '../types'\n\nexport interface SubContentProps extends StyledSubContentProps {\n /**\n * Whether keyboard navigation should loop around\n * @default false\n */\n loop?: boolean\n\n /**\n * Event handler called when focus moves to the trigger after closing. It can\n * be prevented by calling event.preventDefault. This prop is ignored within\n * submenus.\n */\n onCloseAutoFocus?: (event: Event) => void\n\n /**\n * Event handler called when the escape key is down. It can be prevented by\n * calling event.preventDefault.\n */\n onEscapeKeyDown?: (event: KeyboardEvent) => void\n\n /**\n * Event handler called when a pointer event occurs outside the bounds of the\n * component. It can be prevented by calling event.preventDefault.\n */\n onPointerDownOutside?: (event: PointerDownOutsideEvent) => void\n\n /**\n * Event handler called when focus moves outside the bounds of the component.\n * It can be prevented by calling event.preventDefault.\n */\n onFocusOutside?: (event: FocusOutsideEvent) => void\n\n /**\n * Event handler called when an interaction (pointer or focus event) happens\n * outside the bounds of the component. It can be prevented by calling\n * event.preventDefault.\n */\n onInteractOutside?: (\n event: PointerDownOutsideEvent | FocusOutsideEvent\n ) => void\n\n /**\n * Used to force mounting when more control is needed. Useful when controlling\n * animation with React animation libraries.\n */\n forceMount?: true\n\n /**\n * The distance in pixels from the trigger.\n */\n sideOffset?: number\n\n /**\n * An offset in pixels from the \"start\" or \"end\" alignment options.\n */\n alignOffset?: number\n\n /**\n * When true, overrides the side andalign preferences to prevent collisions\n * with window edges.\n * @default true\n */\n avoidCollisions?: boolean\n\n /**\n *The distance in pixels from the boundary edges where collision detection\n *should occur. Accepts a number (same for all sides).\n */\n collisionPadding?: number\n\n /**\n * The sticky behavior on the align axis. \"partial\" will keep the content in\n * the boundary as long as the trigger is at least partially in the boundary\n * whilst \"always\" will keep the content in the boundary regardless.\n * @default partial\n */\n sticky?: 'partial' | 'always'\n\n /**\n * Whether to hide the content when the trigger becomes fully occluded.\n * @default false\n */\n hideWhenDetached?: boolean\n}\n\n// without CONTENT_GUTTER submenu would overlap the menu\nconst SIDE_OFFSET = CONTENT_GUTTER + CONTENT_OFFSET\n\nexport const SubContent = React.forwardRef<\n ElementRef<typeof StyledSubContent>,\n SubContentProps\n>(\n (\n {\n sideOffset = SIDE_OFFSET,\n alignOffset = -CONTENT_GUTTER,\n collisionPadding = 0,\n loop = false,\n hideWhenDetached = false,\n sticky = 'partial',\n ...restProps\n },\n forwardRef\n ) => (\n <StyledSubContent\n {...restProps}\n ref={forwardRef}\n sideOffset={sideOffset}\n alignOffset={alignOffset}\n collisionPadding={collisionPadding}\n loop={loop}\n hideWhenDetached={hideWhenDetached}\n sticky={sticky}\n />\n )\n)\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nexport const StyledSub = styled(RadixDropdownMenu.Sub, {})\n\nexport type StyledSubProps = StrictComponentProps<typeof StyledSub>\n","import React, { useState } from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledSub } from './sub.styled'\nimport type { StyledSubProps } from './sub.styled'\n\nexport interface SubProps extends StyledSubProps {\n /**\n * The open state of the submenu when it is initially rendered. Use when you\n * do not need to control its open state.\n */\n defaultOpen?: boolean\n\n /**\n * The controlled open state of the submenu. Must be used in conjunction with\n * onOpenChange.\n */\n open?: boolean\n\n /**\n * Event handler called when the submenu opens.\n */\n onOpen?: () => void\n\n /**\n * Event handler called when the submenu closes.\n */\n onClose?: () => void\n}\n\nexport const Sub = React.forwardRef<ElementRef<typeof StyledSub>, SubProps>(\n ({ defaultOpen, onOpen, onClose, open, ...restProps }, forwardRef) => {\n const [openState, setOpenState] = useState(defaultOpen)\n return (\n <StyledSub\n {...restProps}\n open={open ?? openState}\n onOpenChange={newOpen => {\n if (open == null) {\n setOpenState(newOpen)\n }\n\n newOpen ? onOpen?.() : onClose?.()\n }}\n ref={forwardRef}\n />\n )\n }\n)\n","import React from 'react'\nimport type { DropdownMenuPortalProps } from '@radix-ui/react-dropdown-menu'\nimport { Portal as RadixPortal } from '@radix-ui/react-dropdown-menu'\n\nexport interface PortalProps extends DropdownMenuPortalProps {\n /**\n * Used to force mounting when more control is needed. Useful when controlling\n * animation with React animation libraries. If used on this part, it will be\n * inherited by DropdownMenu.Content and DropdownMenu.SubContent respectively.\n */\n forceMount?: true\n\n /**\n * Specify a container element to portal the content into.\n */\n container?: HTMLElement | null\n}\n\nexport const Portal: React.FC<PortalProps> = props => <RadixPortal {...props} />\n","import React, { useState } from 'react'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { CheckboxItem } from './partials/checkbox-item'\nimport { Content } from './partials/content'\nimport { Item } from './partials/item'\nimport { LinkItem } from './partials/link-item'\nimport { RadioGroup } from './partials/radio-group'\nimport { RadioItem } from './partials/radio-item'\nimport { Separator } from './partials/separator'\nimport { SwitchItem } from './partials/switch-item'\nimport { Trigger } from './partials/trigger'\nimport { SubTrigger } from './partials/sub-trigger'\nimport { SubContent } from './partials/sub-content'\nimport { Sub } from './partials/sub'\nimport { Portal } from './partials/portal'\nimport { IconSlot } from './partials/slots.styled'\n\nexport interface DropdownMenuProps {\n /**\n * The open state of the dropdown menu when it is initially rendered. Use when\n * you do not need to control its open state.\n */\n defaultOpen?: boolean\n\n /**\n * The reading direction of submenus when applicable. If omitted, assumes LTR\n * (left-to-right) reading mode.\n */\n direction?: 'ltr' | 'rtl'\n\n /**\n * The current dropdown open state.\n */\n open?: boolean\n\n /**\n * Event handler called when the dropdown opens.\n */\n onOpen?: () => void\n\n /**\n * Event handler called when the dropdown closes.\n */\n onClose?: () => void\n\n /**\n * Defines whether the interaction with outside elements will be disabled and\n * only menu content will be visible to screen readers. This prop is ignored\n * within submenus.\n */\n interactOutside?: boolean\n\n /**\n * The content\n */\n children: React.ReactNode\n}\n\nexport const DropdownMenu: React.FC<DropdownMenuProps> & Partials = ({\n defaultOpen = false,\n direction = 'ltr',\n interactOutside = false,\n open,\n onOpen,\n onClose,\n ...restProps\n}) => {\n const [openState, setOpenState] = useState(defaultOpen)\n\n return (\n <RadixDropdownMenu.Root\n {...restProps}\n dir={direction}\n modal={interactOutside}\n open={open ?? openState}\n onOpenChange={newOpen => {\n if (open == null) {\n setOpenState(newOpen)\n }\n\n newOpen ? onOpen?.() : onClose?.()\n }}\n />\n )\n}\n\n// Partials\n// -----------------------------------------------------------------------------\n\ninterface Partials {\n CheckboxItem: typeof CheckboxItem\n Content: typeof Content\n IconSlot: typeof IconSlot\n Item: typeof Item\n LinkItem: typeof LinkItem\n Portal: typeof Portal\n RadioGroup: typeof RadioGroup\n RadioItem: typeof RadioItem\n Separator: typeof Separator\n Sub: typeof Sub\n SubContent: typeof SubContent\n SubTrigger: typeof SubTrigger\n SwitchItem: typeof SwitchItem\n Trigger: typeof Trigger\n}\n\nDropdownMenu.CheckboxItem = CheckboxItem\nDropdownMenu.Content = Content\nDropdownMenu.IconSlot = IconSlot\nDropdownMenu.Item = Item\nDropdownMenu.LinkItem = LinkItem\nDropdownMenu.Portal = Portal\nDropdownMenu.RadioGroup = RadioGroup\nDropdownMenu.RadioItem = RadioItem\nDropdownMenu.Separator = Separator\nDropdownMenu.Sub = Sub\nDropdownMenu.SubContent = SubContent\nDropdownMenu.SubTrigger = SubTrigger\nDropdownMenu.SwitchItem = SwitchItem\nDropdownMenu.Trigger = Trigger\n"],"names":["focus","styled","Primitive","RadixDropdownMenu","React","theme","animations","Switch","useState","RadixPortal"],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sources":["../src/styles/item.ts","../src/partials/checkbox-item.styled.tsx","../src/partials/slots.styled.ts","../src/use-slots.tsx","../src/partials/slots.tsx","../src/partials/checkbox-item.tsx","../src/styles/content.ts","../src/partials/content.styled.tsx","../src/partials/content.tsx","../src/partials/item.styled.tsx","../src/partials/item.tsx","../src/partials/link-item.tsx","../src/partials/radio-group.styled.tsx","../src/partials/radio-group.tsx","../src/partials/radio-item.styled.tsx","../src/partials/radio-item.tsx","../src/partials/separator.styled.tsx","../src/partials/separator.tsx","../src/partials/switch-item.tsx","../src/partials/trigger.styled.tsx","../src/partials/trigger.tsx","../src/partials/sub-trigger.styled.tsx","../src/partials/sub-trigger.tsx","../src/partials/sub-content.styled.tsx","../src/partials/sub-content.tsx","../src/partials/sub.styled.tsx","../src/partials/sub.tsx","../src/partials/portal.tsx","../src/dropdown-menu.tsx"],"sourcesContent":["import { focus } from '@mirohq/design-system-styles'\n\nexport const itemDefaults = {\n all: 'unset',\n boxSizing: 'border-box',\n fontSize: 14,\n lineHeight: '20px',\n color: 'rgba(5, 0, 56, 1)',\n borderRadius: '$50',\n display: 'flex',\n alignItems: 'center',\n minHeight: '$11',\n padding: '$100 $150',\n position: 'relative',\n userSelect: 'none',\n cursor: 'pointer',\n\n '&[data-disabled]': {\n color: 'rgba(9, 9, 9, 0.4)',\n pointerEvents: 'none',\n },\n\n ...focus.defaults,\n\n '&:hover': {\n background: 'rgba(232, 236, 255, 1)',\n color: 'rgba(69, 91, 237, 1)',\n boxShadow: 'none',\n },\n '&[tabindex=\"0\"]': {\n zIndex: '1',\n },\n}\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { itemDefaults } from '../styles/item'\n\nexport const StyledCheckIcon = styled(Primitive.svg, {\n fill: 'rgba(235, 235, 239, 1)',\n})\n\nexport const checkboxItemStyles = {\n ...itemDefaults,\n [`&[data-state=\"checked\"] ${StyledCheckIcon}`]: {\n fill: 'rgba(69, 91, 237, 1)',\n },\n [`&[data-state=\"unchecked\"]:hover ${StyledCheckIcon}`]: {\n fill: 'rgba(205, 204, 215, 1)',\n },\n [`&[data-disabled][data-state=\"checked\"] ${StyledCheckIcon}`]: {\n fill: 'rgba(9, 9, 9, 0.4)',\n },\n}\n\nexport const StyledCheckboxItem = styled(\n RadixDropdownMenu.CheckboxItem,\n checkboxItemStyles\n)\n\nexport type StyledCheckboxItemProps = StrictComponentProps<\n typeof StyledCheckboxItem\n>\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const IconSlot = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n marginRight: '$100',\n width: '$6',\n})\n\nexport const ContentSlot = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n})\n\nexport const StyledRightSlot = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n marginLeft: 'auto',\n paddingLeft: '$200',\n '&:empty': {\n paddingLeft: '$none',\n },\n})\n","import React, { createContext, useContext, useState } from 'react'\nimport type { PropsWithChildren } from 'react'\n\nexport type Slots = 'right' | 'left'\n\ninterface SlotsContext {\n counter: { [key in Slots]: number }\n increaseCounter: (side: Slots) => void\n decreaseCounter: (side: Slots) => void\n}\n\nconst Context = createContext<SlotsContext>({\n counter: {\n right: 0,\n left: 0,\n },\n increaseCounter: () => {},\n decreaseCounter: () => {},\n})\n\nexport const SlotsProvider = ({\n children,\n}: PropsWithChildren<{}>): JSX.Element => {\n const [counter, setCounter] = useState({\n right: 0,\n left: 0,\n })\n\n return (\n <Context.Provider\n value={{\n counter,\n increaseCounter: side => {\n setCounter(counter => ({\n ...counter,\n [side]: counter[side] + 1,\n }))\n },\n decreaseCounter: side =>\n setCounter(counter => ({\n ...counter,\n [side]: counter[side] - 1,\n })),\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n\nexport const useSlots = (): SlotsContext => useContext(Context)\n","import React, { useEffect } from 'react'\nimport type { ComponentPropsWithRef } from 'react'\n\nimport { useSlots } from '../use-slots'\nimport { StyledRightSlot } from './slots.styled'\n\nexport const RightSlot = (\n props: ComponentPropsWithRef<typeof StyledRightSlot>\n): JSX.Element => {\n const { increaseCounter, decreaseCounter } = useSlots()\n\n useEffect(() => {\n increaseCounter('right')\n return () => decreaseCounter('right')\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n return <StyledRightSlot {...props} />\n}\n","import React from 'react'\nimport type { ElementRef, PropsWithRef } from 'react'\n\nimport { StyledCheckboxItem, StyledCheckIcon } from './checkbox-item.styled'\nimport type { StyledCheckboxItemProps } from './checkbox-item.styled'\nimport { ContentSlot } from './slots.styled'\nimport { RightSlot } from './slots'\n\nexport const CheckIcon = (): JSX.Element => (\n <StyledCheckIcon\n width='16'\n height='16'\n viewBox='0 0 16 16'\n xmlns='http://www.w3.org/2000/svg'\n data-testid='checkbox-item-check-icon'\n >\n <path d='M4.28591 7.30832C3.89709 6.90837 3.25623 6.90386 2.8618 7.29828L2.79289 7.36719C2.39971 7.76038 2.40278 8.39879 2.79973 8.78818L6.57895 12.4953L13.8642 5.28822C14.2583 4.89833 14.26 4.26222 13.868 3.87021L13.7907 3.79289C13.3984 3.40056 12.7616 3.40264 12.3719 3.79754L6.57895 9.66692L4.28591 7.30832Z' />\n </StyledCheckIcon>\n)\n\nexport interface CheckboxItemProps\n extends Omit<StyledCheckboxItemProps, 'onChange'> {\n /**\n * The checked state of the item\n */\n checked: boolean\n\n /**\n * Event handler called when the checked state changes\n */\n onChange: (checked: boolean) => void\n\n /**\n * When true, prevents the user from interacting with the item\n */\n disabled?: boolean\n\n /**\n * Event handler called when the user selects an item (via mouse of keyboard). Calling event.preventDefault in this handler will prevent the dropdown menu from closing when selecting that item\n */\n onSelect?: (event: Event) => void\n\n /**\n * Optional text used for typeahead purposes. By default the typeahead behavior will use the .textContent of the item. Use this when the content is complex, or you have non-textual content inside\n */\n textValue?: string\n}\n\nexport const CheckboxItemRoot: React.FC<PropsWithRef<CheckboxItemProps>> = ({\n disabled = false,\n onChange,\n onSelect,\n ref,\n ...restProps\n}) => (\n <StyledCheckboxItem\n {...restProps}\n ref={ref}\n disabled={disabled}\n onCheckedChange={onChange}\n onSelect={(event: Event) => {\n event.preventDefault()\n onSelect?.(event)\n }}\n />\n)\n\nexport const CheckboxItem = React.forwardRef<\n ElementRef<typeof CheckboxItemRoot>,\n CheckboxItemProps\n>(({ children, ...restProps }, forwardRef) => (\n <CheckboxItemRoot {...restProps} ref={forwardRef}>\n <ContentSlot>{children}</ContentSlot>\n <RightSlot>\n <CheckIcon />\n </RightSlot>\n </CheckboxItemRoot>\n))\n","import { theme } from '@mirohq/design-system-stitches'\nimport { animations } from '@mirohq/design-system-styles'\n\nconst GUTTER_TOKEN = 150\nexport const CONTENT_GUTTER = parseInt(theme.space[GUTTER_TOKEN])\nexport const CONTENT_OFFSET = parseInt(theme.space[50])\n\nexport const contentDefaults = {\n maxWidth: '$125',\n backgroundColor: '$white',\n borderRadius: '$50',\n padding: `$${GUTTER_TOKEN}`,\n boxShadow: '$50',\n '@media (prefers-reduced-motion: no-preference)': {\n animationDuration: '150ms',\n animationTimingFunction: 'cubic-bezier(0.25, 0.5, 0.5, 0.9)',\n willChange: 'transform, opacity',\n '&[data-state=\"open\"]': { animationName: animations.fadeInScaled },\n '&[data-state=\"closed\"]': { animationName: animations.fadeOutScaled },\n '&[data-side=\"top\"]': {\n '&[data-align=\"start\"]': { transformOrigin: 'bottom left' },\n '&[data-align=\"center\"]': { transformOrigin: 'bottom center' },\n '&[data-align=\"end\"]': { transformOrigin: 'bottom right' },\n },\n '&[data-side=\"right\"]': {\n '&[data-align=\"start\"]': { transformOrigin: 'top left' },\n '&[data-align=\"center\"]': { transformOrigin: 'center left' },\n '&[data-align=\"end\"]': { transformOrigin: 'bottom left' },\n },\n '&[data-side=\"bottom\"]': {\n '&[data-align=\"start\"]': { transformOrigin: 'top left' },\n '&[data-align=\"center\"]': { transformOrigin: 'top center' },\n '&[data-align=\"end\"]': { transformOrigin: 'top right' },\n },\n '&[data-side=\"left\"]': {\n '&[data-align=\"start\"]': { transformOrigin: 'top right' },\n '&[data-align=\"center\"]': { transformOrigin: 'center right' },\n '&[data-align=\"end\"]': { transformOrigin: 'bottom right' },\n },\n },\n position: 'relative',\n zIndex: '$dropdownMenu',\n}\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { contentDefaults } from '../styles/content'\n\nexport const StyledContent = styled(RadixDropdownMenu.Content, contentDefaults)\n\nexport type StyledContentProps = StrictComponentProps<typeof StyledContent>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledContent } from './content.styled'\nimport type { StyledContentProps } from './content.styled'\nimport { SlotsProvider } from '../use-slots'\nimport { CONTENT_OFFSET } from '../styles/content'\nimport type {\n PointerDownOutsideEvent,\n FocusOutsideEvent,\n Side,\n Align,\n StickyBehavior,\n} from '../types'\n\nexport interface ContentProps extends StyledContentProps {\n /**\n * Whether keyboard navigation should loop around\n */\n loop?: boolean\n\n /**\n * Event handler called when focus moves to the trigger after closing. It can\n * be prevented by calling event.preventDefault. This prop is ignored within\n * submenus.\n */\n onCloseAutoFocus?: (event: Event) => void\n\n /**\n * Event handler called when the escape key is down. It can be prevented by\n * calling event.preventDefault.\n */\n onEscapeKeyDown?: (event: KeyboardEvent) => void\n\n /**\n * Event handler called when a pointer event occurs outside the bounds of the\n * component. It can be prevented by calling event.preventDefault.\n */\n onPointerDownOutside?: (event: PointerDownOutsideEvent) => void\n\n /**\n * Event handler called when focus moves outside the bounds of the component.\n * It can be prevented by calling event.preventDefault.\n */\n onFocusOutside?: (event: FocusOutsideEvent) => void\n\n /**\n * Event handler called when an interaction (pointer or focus event) happens\n * outside the bounds of the component. It can be prevented by calling\n * event.preventDefault.\n */\n onInteractOutside?: (\n event: PointerDownOutsideEvent | FocusOutsideEvent\n ) => void\n\n /**\n * The preferred side of the trigger to render against when open. Will be\n * reversed when collisions occur and avoidCollisions is enabled. This prop is\n * ignored within submenus.\n */\n side?: Side\n\n /**\n * The distance in pixels from the trigger\n */\n sideOffset?: number\n\n /**\n * The preferred alignment against the trigger. May change when collisions\n * occur. This prop is ignored within submenus.\n */\n align?: Align\n\n /**\n * An offset in pixels from the \"start\" or \"end\" alignment options\n */\n alignOffset?: number\n\n /**\n * When true, overrides the side and align preferences to prevent collisions\n * with window edges.\n */\n avoidCollisions?: boolean\n\n /**\n * The distance in pixels from window edges where collision detection should\n * occur.\n */\n collisionPadding?: number\n\n /**\n * The sticky behavior on the align axis. \"partial\" will keep the content in\n * the boundary as long as the trigger is at least partially in the boundary\n * whilst \"always\" will keep the content in the boundary regardless.\n */\n sticky?: StickyBehavior\n\n /**\n * Used to force mounting when more control is needed. Useful when controlling\n * animation with React animation libraries. It inherits from\n * DropdownMenu.Portal.\n */\n forceMount?: true\n\n /**\n * The element used as the collision boundary. By default this is the\n * viewport, though you can provide additional element(s) to be included in\n * this check.\n */\n collisionBoundary?: Element | null\n\n /**\n * Whether to hide the content when the trigger becomes fully occluded.\n */\n hideWhenDetached?: boolean\n}\n\nexport const Content = React.forwardRef<\n ElementRef<typeof StyledContent>,\n ContentProps\n>(\n (\n {\n loop = false,\n side = 'bottom',\n sideOffset = CONTENT_OFFSET,\n align = 'center',\n alignOffset = 0,\n collisionPadding = 0,\n avoidCollisions = true,\n sticky = 'partial',\n hideWhenDetached = false,\n ...restProps\n },\n forwardRef\n ) => (\n <SlotsProvider>\n <StyledContent\n {...restProps}\n ref={forwardRef}\n loop={loop}\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n avoidCollisions={avoidCollisions}\n collisionPadding={collisionPadding}\n sticky={sticky}\n hideWhenDetached={hideWhenDetached}\n />\n </SlotsProvider>\n )\n)\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { itemDefaults } from '../styles/item'\n\nexport const StyledItem = styled(RadixDropdownMenu.Item, {\n ...itemDefaults,\n variants: {\n // This is a hack for the :has() selector\n // Remove it after Firefox implements it\n hasRightSlot: {\n true: {\n paddingRight: '$600',\n },\n },\n },\n})\n\nexport type StyledItemProps = StrictComponentProps<typeof StyledItem>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledItem } from './item.styled'\nimport type { StyledItemProps } from './item.styled'\nimport { useSlots } from '../use-slots'\n\nexport interface ItemProps extends StyledItemProps {\n /**\n * When true, prevents the user from interacting with the item\n */\n disabled?: boolean\n\n /**\n * Event handler called when the user selects an item (via mouse of keyboard). Calling event.preventDefault in this handler will prevent the dropdown menu from closing when selecting that item\n */\n onSelect?: (event: Event) => void\n\n /**\n * Optional text used for typeahead purposes. By default the typeahead behavior will use the .textContent of the item. Use this when the content is complex, or you have non-textual content inside\n */\n textValue?: string\n}\n\nexport const Item = React.forwardRef<ElementRef<typeof StyledItem>, ItemProps>(\n ({ disabled = false, ...restProps }, forwardRef) => {\n const { counter } = useSlots()\n\n return (\n <StyledItem\n {...restProps}\n ref={forwardRef}\n disabled={disabled}\n hasRightSlot={counter.right > 0}\n />\n )\n }\n)\n","import React from 'react'\nimport type { ElementRef, AnchorHTMLAttributes } from 'react'\n\nimport { Item } from './item'\nimport type { ItemProps } from './item'\n\ntype ItemPropsWithAnchor = ItemProps & AnchorHTMLAttributes<typeof Item>\nexport interface LinkItemProps extends ItemPropsWithAnchor {}\n\nexport const LinkItem = React.forwardRef<\n ElementRef<typeof Item>,\n LinkItemProps\n>(({ children, href, ...restProps }, forwardRef) => (\n <Item asChild ref={forwardRef} {...restProps}>\n <a href={href}>{children}</a>\n </Item>\n))\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nexport const StyledRadioGroup = styled(RadixDropdownMenu.RadioGroup)\n\nexport type StyledRadioGroupProps = StrictComponentProps<\n typeof StyledRadioGroup\n>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledRadioGroup } from './radio-group.styled'\nimport type { StyledRadioGroupProps } from './radio-group.styled'\n\nexport interface RadioGroupProps\n extends Omit<StyledRadioGroupProps, 'onChange'> {\n /**\n * The value of the selected item in the group\n */\n value: string\n\n /**\n * Event handler called when the selected radio changes\n */\n onChange: (value: string) => void\n}\n\nexport const RadioGroup = React.forwardRef<\n ElementRef<typeof StyledRadioGroup>,\n RadioGroupProps\n>((props, forwardRef) => {\n const { onChange, ...restProps } = props\n\n return (\n <StyledRadioGroup\n {...restProps}\n ref={forwardRef}\n onValueChange={onChange}\n />\n )\n})\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { checkboxItemStyles } from './checkbox-item.styled'\n\nexport const StyledRadioItem = styled(\n RadixDropdownMenu.RadioItem,\n checkboxItemStyles\n)\n\nexport type StyledRadioItemProps = StrictComponentProps<typeof StyledRadioItem>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledRadioItem } from './radio-item.styled'\nimport type { StyledRadioItemProps } from './radio-item.styled'\nimport { ContentSlot } from './slots.styled'\nimport { RightSlot } from './slots'\nimport { CheckIcon } from './checkbox-item'\n\nexport interface RadioItemProps extends StyledRadioItemProps {\n /**\n * The unique value of the item\n */\n value: string\n\n /**\n * When true, prevents the user from interacting with the item\n */\n disabled?: boolean\n\n /**\n * Event handler called when the user selects an item (via mouse of keyboard). Calling event.preventDefault in this handler will prevent the dropdown menu from closing when selecting that item\n */\n onSelect?: (event: Event) => void\n\n /**\n * Optional text used for typeahead purposes. By default the typeahead behavior will use the .textContent of the item. Use this when the content is complex, or you have non-textual content inside\n */\n textValue?: string\n}\n\nexport const RadioItem = React.forwardRef<\n ElementRef<typeof StyledRadioItem>,\n RadioItemProps\n>(({ disabled = false, onSelect, children, ...restProps }, forwardRef) => (\n <StyledRadioItem\n {...restProps}\n ref={forwardRef}\n disabled={disabled}\n onSelect={(event: Event) => {\n event.preventDefault()\n onSelect?.(event)\n }}\n >\n <ContentSlot>{children}</ContentSlot>\n <RightSlot>\n <CheckIcon />\n </RightSlot>\n </StyledRadioItem>\n))\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nexport const StyledSeparator = styled(RadixDropdownMenu.Separator, {\n borderTop: '1px solid rgba(235, 235, 239, 1)',\n marginY: '$100',\n})\n\nexport type StyledSeparatorProps = StrictComponentProps<typeof StyledSeparator>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledSeparator } from './separator.styled'\nimport type { StyledSeparatorProps } from './separator.styled'\n\nexport interface SeparatorProps extends StyledSeparatorProps {}\n\nexport const Separator = React.forwardRef<\n ElementRef<typeof StyledSeparator>,\n SeparatorProps\n>((props, forwardRef) => <StyledSeparator {...props} ref={forwardRef} />)\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { Switch } from '@mirohq/design-system-switch'\n\nimport { CheckboxItemRoot } from './checkbox-item'\nimport type { CheckboxItemProps } from './checkbox-item'\nimport { ContentSlot } from './slots.styled'\nimport { RightSlot } from './slots'\n\nexport interface SwitchItemProps extends CheckboxItemProps {}\n\nexport const SwitchItem = React.forwardRef<\n ElementRef<typeof CheckboxItemRoot>,\n SwitchItemProps\n>(\n (\n { disabled = false, checked, onSelect, children, ...restProps },\n forwardRef\n ) => (\n <CheckboxItemRoot\n {...restProps}\n ref={forwardRef}\n disabled={disabled}\n checked={checked}\n >\n <ContentSlot>{children}</ContentSlot>\n <RightSlot>\n <Switch\n checked={checked}\n disabled={disabled}\n // bypass the control in order to use the switch-item state\n onChange={x => x}\n value=''\n />\n </RightSlot>\n </CheckboxItemRoot>\n )\n)\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\nimport { focus } from '@mirohq/design-system-styles'\n\nconst defaultStyles = {\n boxSizing: 'border-box',\n cursor: 'pointer',\n ...focus.defaults,\n}\n\nexport const StyledTrigger = styled(RadixDropdownMenu.Trigger, {\n variants: {\n unstyled: {\n true: {\n all: 'unset',\n ...defaultStyles,\n },\n false: defaultStyles,\n },\n },\n})\n\nexport type StyledTriggerProps = StrictComponentProps<typeof StyledTrigger>\n","import React from 'react'\nimport type { ElementRef, DOMAttributes } from 'react'\n\nimport { StyledTrigger } from './trigger.styled'\nimport type { StyledTriggerProps } from './trigger.styled'\n\nexport interface TriggerProps extends StyledTriggerProps {\n /**\n * temporary the same as onClick, later will be added touch events support\n */\n onPress?: DOMAttributes<HTMLElement>['onClick']\n}\n\nexport const Trigger = React.forwardRef<\n ElementRef<typeof StyledTrigger>,\n TriggerProps\n>(({ asChild = false, onPress, onClick, ...restProps }, forwardRef) => (\n <StyledTrigger\n {...restProps}\n onClick={onPress ?? onClick}\n ref={forwardRef}\n unstyled={!asChild}\n asChild={asChild}\n />\n))\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { itemDefaults } from '../styles/item'\n\nexport const StyledSubTrigger = styled(RadixDropdownMenu.SubTrigger, {\n ...itemDefaults,\n '&[data-state=\"open\"]': itemDefaults['&:hover'],\n})\n\nexport type StyledSubTriggerProps = StrictComponentProps<\n typeof StyledSubTrigger\n>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledSubTrigger } from './sub-trigger.styled'\nimport type { StyledSubTriggerProps } from './sub-trigger.styled'\nimport { ContentSlot } from './slots.styled'\nimport { RightSlot } from './slots'\n\nconst ArrowIcon = (): JSX.Element => (\n <svg\n width='16'\n height='16'\n viewBox='0 0 16 16'\n fill='currentColor'\n xmlns='http://www.w3.org/2000/svg'\n data-testid='submenu-arrow-icon'\n >\n <path d='M5.29289 3.29289C5.68342 2.90237 6.31658 2.90237 6.70711 3.29289L11.4142 8L6.70711 12.7071C6.31658 13.0976 5.68342 13.0976 5.29289 12.7071C4.90237 12.3166 4.90237 11.6834 5.29289 11.2929L8.58579 8L5.29289 4.70711C4.90237 4.31658 4.90237 3.68342 5.29289 3.29289Z' />\n </svg>\n)\n\nexport interface SubTriggerProps extends StyledSubTriggerProps {\n /**\n * Prevents the user from interacting with the switch\n */\n disabled?: boolean\n\n /**\n * Optional text used for type ahead purposes. By default the type ahead\n * behavior will use the .textContent of the item. Use this when the content\n * is complex, or you have.\n */\n textValue?: string\n}\n\nexport const SubTrigger = React.forwardRef<\n ElementRef<typeof StyledSubTrigger>,\n StyledSubTriggerProps\n>(({ children, disabled = false, ...restProps }, forwardRef) => (\n <StyledSubTrigger {...restProps} ref={forwardRef} disabled={disabled}>\n <ContentSlot>{children}</ContentSlot>\n <RightSlot>\n <ArrowIcon />\n </RightSlot>\n </StyledSubTrigger>\n))\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { contentDefaults } from '../styles/content'\n\nexport const StyledSubContent = styled(\n RadixDropdownMenu.SubContent,\n contentDefaults\n)\n\nexport type StyledSubContentProps = StrictComponentProps<\n typeof StyledSubContent\n>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledSubContent } from './sub-content.styled'\nimport { CONTENT_GUTTER, CONTENT_OFFSET } from '../styles/content'\nimport { SlotsProvider } from '../use-slots'\nimport type { StyledSubContentProps } from './sub-content.styled'\nimport type { PointerDownOutsideEvent, FocusOutsideEvent } from '../types'\n\nexport interface SubContentProps extends StyledSubContentProps {\n /**\n * Whether keyboard navigation should loop around\n * @default false\n */\n loop?: boolean\n\n /**\n * Event handler called when focus moves to the trigger after closing. It can\n * be prevented by calling event.preventDefault. This prop is ignored within\n * submenus.\n */\n onCloseAutoFocus?: (event: Event) => void\n\n /**\n * Event handler called when the escape key is down. It can be prevented by\n * calling event.preventDefault.\n */\n onEscapeKeyDown?: (event: KeyboardEvent) => void\n\n /**\n * Event handler called when a pointer event occurs outside the bounds of the\n * component. It can be prevented by calling event.preventDefault.\n */\n onPointerDownOutside?: (event: PointerDownOutsideEvent) => void\n\n /**\n * Event handler called when focus moves outside the bounds of the component.\n * It can be prevented by calling event.preventDefault.\n */\n onFocusOutside?: (event: FocusOutsideEvent) => void\n\n /**\n * Event handler called when an interaction (pointer or focus event) happens\n * outside the bounds of the component. It can be prevented by calling\n * event.preventDefault.\n */\n onInteractOutside?: (\n event: PointerDownOutsideEvent | FocusOutsideEvent\n ) => void\n\n /**\n * Used to force mounting when more control is needed. Useful when controlling\n * animation with React animation libraries.\n */\n forceMount?: true\n\n /**\n * The distance in pixels from the trigger.\n */\n sideOffset?: number\n\n /**\n * An offset in pixels from the \"start\" or \"end\" alignment options.\n */\n alignOffset?: number\n\n /**\n * When true, overrides the side andalign preferences to prevent collisions\n * with window edges.\n * @default true\n */\n avoidCollisions?: boolean\n\n /**\n *The distance in pixels from the boundary edges where collision detection\n *should occur. Accepts a number (same for all sides).\n */\n collisionPadding?: number\n\n /**\n * The sticky behavior on the align axis. \"partial\" will keep the content in\n * the boundary as long as the trigger is at least partially in the boundary\n * whilst \"always\" will keep the content in the boundary regardless.\n * @default partial\n */\n sticky?: 'partial' | 'always'\n\n /**\n * Whether to hide the content when the trigger becomes fully occluded.\n * @default false\n */\n hideWhenDetached?: boolean\n}\n\n// without CONTENT_GUTTER submenu would overlap the menu\nconst SIDE_OFFSET = CONTENT_GUTTER + CONTENT_OFFSET\n\nexport const SubContent = React.forwardRef<\n ElementRef<typeof StyledSubContent>,\n SubContentProps\n>(\n (\n {\n sideOffset = SIDE_OFFSET,\n alignOffset = -CONTENT_GUTTER,\n collisionPadding = 0,\n loop = false,\n hideWhenDetached = false,\n sticky = 'partial',\n ...restProps\n },\n forwardRef\n ) => (\n <SlotsProvider>\n <StyledSubContent\n {...restProps}\n ref={forwardRef}\n sideOffset={sideOffset}\n alignOffset={alignOffset}\n collisionPadding={collisionPadding}\n loop={loop}\n hideWhenDetached={hideWhenDetached}\n sticky={sticky}\n />\n </SlotsProvider>\n )\n)\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nexport const StyledSub = styled(RadixDropdownMenu.Sub, {})\n\nexport type StyledSubProps = StrictComponentProps<typeof StyledSub>\n","import React, { useState } from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledSub } from './sub.styled'\nimport type { StyledSubProps } from './sub.styled'\n\nexport interface SubProps extends StyledSubProps {\n /**\n * The open state of the submenu when it is initially rendered. Use when you\n * do not need to control its open state.\n */\n defaultOpen?: boolean\n\n /**\n * The controlled open state of the submenu. Must be used in conjunction with\n * onOpenChange.\n */\n open?: boolean\n\n /**\n * Event handler called when the submenu opens.\n */\n onOpen?: () => void\n\n /**\n * Event handler called when the submenu closes.\n */\n onClose?: () => void\n}\n\nexport const Sub = React.forwardRef<ElementRef<typeof StyledSub>, SubProps>(\n ({ defaultOpen, onOpen, onClose, open, ...restProps }, forwardRef) => {\n const [openState, setOpenState] = useState(defaultOpen)\n return (\n <StyledSub\n {...restProps}\n open={open ?? openState}\n onOpenChange={newOpen => {\n if (open == null) {\n setOpenState(newOpen)\n }\n\n newOpen ? onOpen?.() : onClose?.()\n }}\n ref={forwardRef}\n />\n )\n }\n)\n","import React from 'react'\nimport type { DropdownMenuPortalProps } from '@radix-ui/react-dropdown-menu'\nimport { Portal as RadixPortal } from '@radix-ui/react-dropdown-menu'\n\nexport interface PortalProps extends DropdownMenuPortalProps {\n /**\n * Used to force mounting when more control is needed. Useful when controlling\n * animation with React animation libraries. If used on this part, it will be\n * inherited by DropdownMenu.Content and DropdownMenu.SubContent respectively.\n */\n forceMount?: true\n\n /**\n * Specify a container element to portal the content into.\n */\n container?: HTMLElement | null\n}\n\nexport const Portal: React.FC<PortalProps> = props => <RadixPortal {...props} />\n","import React, { useState } from 'react'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { CheckboxItem } from './partials/checkbox-item'\nimport { Content } from './partials/content'\nimport { Item } from './partials/item'\nimport { LinkItem } from './partials/link-item'\nimport { RadioGroup } from './partials/radio-group'\nimport { RadioItem } from './partials/radio-item'\nimport { Separator } from './partials/separator'\nimport { SwitchItem } from './partials/switch-item'\nimport { Trigger } from './partials/trigger'\nimport { SubTrigger } from './partials/sub-trigger'\nimport { SubContent } from './partials/sub-content'\nimport { Sub } from './partials/sub'\nimport { Portal } from './partials/portal'\nimport { IconSlot } from './partials/slots.styled'\n\nexport interface DropdownMenuProps {\n /**\n * The open state of the dropdown menu when it is initially rendered. Use when\n * you do not need to control its open state.\n */\n defaultOpen?: boolean\n\n /**\n * The reading direction of submenus when applicable. If omitted, assumes LTR\n * (left-to-right) reading mode.\n */\n direction?: 'ltr' | 'rtl'\n\n /**\n * The current dropdown open state.\n */\n open?: boolean\n\n /**\n * Event handler called when the dropdown opens.\n */\n onOpen?: () => void\n\n /**\n * Event handler called when the dropdown closes.\n */\n onClose?: () => void\n\n /**\n * Defines whether the interaction with outside elements will be disabled and\n * only menu content will be visible to screen readers. This prop is ignored\n * within submenus.\n */\n interactOutside?: boolean\n\n /**\n * The content\n */\n children: React.ReactNode\n}\n\nexport const DropdownMenu: React.FC<DropdownMenuProps> & Partials = ({\n defaultOpen = false,\n direction = 'ltr',\n interactOutside = false,\n open,\n onOpen,\n onClose,\n ...restProps\n}) => {\n const [openState, setOpenState] = useState(defaultOpen)\n\n return (\n <RadixDropdownMenu.Root\n {...restProps}\n dir={direction}\n modal={interactOutside}\n open={open ?? openState}\n onOpenChange={newOpen => {\n if (open == null) {\n setOpenState(newOpen)\n }\n\n newOpen ? onOpen?.() : onClose?.()\n }}\n />\n )\n}\n\n// Partials\n// -----------------------------------------------------------------------------\n\ninterface Partials {\n CheckboxItem: typeof CheckboxItem\n Content: typeof Content\n IconSlot: typeof IconSlot\n Item: typeof Item\n LinkItem: typeof LinkItem\n Portal: typeof Portal\n RadioGroup: typeof RadioGroup\n RadioItem: typeof RadioItem\n Separator: typeof Separator\n Sub: typeof Sub\n SubContent: typeof SubContent\n SubTrigger: typeof SubTrigger\n SwitchItem: typeof SwitchItem\n Trigger: typeof Trigger\n}\n\nDropdownMenu.CheckboxItem = CheckboxItem\nDropdownMenu.Content = Content\nDropdownMenu.IconSlot = IconSlot\nDropdownMenu.Item = Item\nDropdownMenu.LinkItem = LinkItem\nDropdownMenu.Portal = Portal\nDropdownMenu.RadioGroup = RadioGroup\nDropdownMenu.RadioItem = RadioItem\nDropdownMenu.Separator = Separator\nDropdownMenu.Sub = Sub\nDropdownMenu.SubContent = SubContent\nDropdownMenu.SubTrigger = SubTrigger\nDropdownMenu.SwitchItem = SwitchItem\nDropdownMenu.Trigger = Trigger\n"],"names":["focus","styled","Primitive","RadixDropdownMenu","createContext","useState","React","counter","useContext","useEffect","theme","animations","Switch","RadixPortal"],"mappings":"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"}
package/dist/module.js CHANGED
@@ -1,4 +1,4 @@
1
- import React, { useState } from 'react';
1
+ import React, { createContext, useState, useContext, useEffect } from 'react';
2
2
  import * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu';
3
3
  import { Portal as Portal$1 } from '@radix-ui/react-dropdown-menu';
4
4
  import { Primitive } from '@mirohq/design-system-primitive';
@@ -15,7 +15,7 @@ const itemDefaults = {
15
15
  borderRadius: "$50",
16
16
  display: "flex",
17
17
  alignItems: "center",
18
- height: "$11",
18
+ minHeight: "$11",
19
19
  padding: "$100 $150",
20
20
  position: "relative",
21
21
  userSelect: "none",
@@ -61,16 +61,65 @@ const IconSlot = styled(Primitive.div, {
61
61
  marginRight: "$100",
62
62
  width: "$6"
63
63
  });
64
- const RightSlot = styled(Primitive.div, {
64
+ const ContentSlot = styled(Primitive.div, {
65
+ display: "flex",
66
+ alignItems: "center"
67
+ });
68
+ const StyledRightSlot = styled(Primitive.div, {
65
69
  display: "flex",
66
70
  alignItems: "center",
67
71
  marginLeft: "auto",
68
- paddingLeft: "$200"
72
+ paddingLeft: "$200",
73
+ "&:empty": {
74
+ paddingLeft: "$none"
75
+ }
69
76
  });
70
- const ContentSlot = styled(Primitive.div, {
71
- display: "flex",
72
- alignItems: "center"
77
+
78
+ const Context = createContext({
79
+ counter: {
80
+ right: 0,
81
+ left: 0
82
+ },
83
+ increaseCounter: () => {
84
+ },
85
+ decreaseCounter: () => {
86
+ }
73
87
  });
88
+ const SlotsProvider = ({
89
+ children
90
+ }) => {
91
+ const [counter, setCounter] = useState({
92
+ right: 0,
93
+ left: 0
94
+ });
95
+ return /* @__PURE__ */ React.createElement(Context.Provider, {
96
+ value: {
97
+ counter,
98
+ increaseCounter: (side) => {
99
+ setCounter((counter2) => ({
100
+ ...counter2,
101
+ [side]: counter2[side] + 1
102
+ }));
103
+ },
104
+ decreaseCounter: (side) => setCounter((counter2) => ({
105
+ ...counter2,
106
+ [side]: counter2[side] - 1
107
+ }))
108
+ }
109
+ }, children);
110
+ };
111
+ const useSlots = () => useContext(Context);
112
+
113
+ const RightSlot = (props) => {
114
+ const { increaseCounter, decreaseCounter } = useSlots();
115
+ useEffect(() => {
116
+ increaseCounter("right");
117
+ return () => decreaseCounter("right");
118
+ }, []);
119
+ return /* @__PURE__ */ React.createElement(StyledRightSlot, {
120
+ ...props
121
+ });
122
+ };
74
123
 
75
124
  const CheckIcon = () => /* @__PURE__ */ React.createElement(StyledCheckIcon, {
76
125
  width: "16",
@@ -105,19 +154,12 @@ const CheckboxItem = React.forwardRef(({ children, ...restProps }, forwardRef) =
105
154
  const GUTTER_TOKEN = 150;
106
155
  const CONTENT_GUTTER = parseInt(theme.space[GUTTER_TOKEN]);
107
156
  const CONTENT_OFFSET = parseInt(theme.space[50]);
108
- const ITEM_WITHOUT_RIGHT_SLOT = `[role="menuitem"]:not(:has(${RightSlot}))`;
109
157
  const contentDefaults = {
110
158
  maxWidth: "$125",
111
159
  backgroundColor: "$white",
112
160
  borderRadius: "$50",
113
161
  padding: `$${GUTTER_TOKEN}`,
114
162
  boxShadow: "$50",
115
- [`&:has(${RightSlot}) > ${ITEM_WITHOUT_RIGHT_SLOT}`]: {
116
- paddingRight: "44px"
117
- },
118
- [`&:has([role="switch"]) > ${ITEM_WITHOUT_RIGHT_SLOT}`]: {
119
- paddingRight: "56px"
120
- },
121
163
  "@media (prefers-reduced-motion: no-preference)": {
122
164
  animationDuration: "150ms",
123
165
  animationTimingFunction: "cubic-bezier(0.25, 0.5, 0.5, 0.9)",
@@ -163,7 +205,7 @@ const Content = React.forwardRef(
163
205
  sticky = "partial",
164
206
  hideWhenDetached = false,
165
207
  ...restProps
166
- }, forwardRef) => /* @__PURE__ */ React.createElement(StyledContent, {
208
+ }, forwardRef) => /* @__PURE__ */ React.createElement(SlotsProvider, null, /* @__PURE__ */ React.createElement(StyledContent, {
167
209
  ...restProps,
168
210
  ref: forwardRef,
169
211
  loop,
@@ -175,17 +217,30 @@ const Content = React.forwardRef(
175
217
  collisionPadding,
176
218
  sticky,
177
219
  hideWhenDetached
178
- })
220
+ }))
179
221
  );
180
222
 
181
- const StyledItem = styled(RadixDropdownMenu.Item, itemDefaults);
223
+ const StyledItem = styled(RadixDropdownMenu.Item, {
224
+ ...itemDefaults,
225
+ variants: {
226
+ hasRightSlot: {
227
+ true: {
228
+ paddingRight: "$600"
229
+ }
230
+ }
231
+ }
232
+ });
182
233
 
183
234
  const Item = React.forwardRef(
184
- ({ disabled = false, ...restProps }, forwardRef) => /* @__PURE__ */ React.createElement(StyledItem, {
185
- ...restProps,
186
- ref: forwardRef,
187
- disabled
188
- })
235
+ ({ disabled = false, ...restProps }, forwardRef) => {
236
+ const { counter } = useSlots();
237
+ return /* @__PURE__ */ React.createElement(StyledItem, {
238
+ ...restProps,
239
+ ref: forwardRef,
240
+ disabled,
241
+ hasRightSlot: counter.right > 0
242
+ });
243
+ }
189
244
  );
190
245
 
191
246
  const LinkItem = React.forwardRef(({ children, href, ...restProps }, forwardRef) => /* @__PURE__ */ React.createElement(Item, {
@@ -307,7 +362,7 @@ const SubContent = React.forwardRef(
307
362
  hideWhenDetached = false,
308
363
  sticky = "partial",
309
364
  ...restProps
310
- }, forwardRef) => /* @__PURE__ */ React.createElement(StyledSubContent, {
365
+ }, forwardRef) => /* @__PURE__ */ React.createElement(SlotsProvider, null, /* @__PURE__ */ React.createElement(StyledSubContent, {
311
366
  ...restProps,
312
367
  ref: forwardRef,
313
368
  sideOffset,
@@ -316,7 +371,7 @@ const SubContent = React.forwardRef(
316
371
  loop,
317
372
  hideWhenDetached,
318
373
  sticky
319
- })
374
+ }))
320
375
  );
321
376
 
322
377
  const StyledSub = styled(RadixDropdownMenu.Sub, {});
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sources":["../src/styles/item.ts","../src/partials/checkbox-item.styled.tsx","../src/partials/slots.styled.ts","../src/partials/checkbox-item.tsx","../src/styles/content.ts","../src/partials/content.styled.tsx","../src/partials/content.tsx","../src/partials/item.styled.tsx","../src/partials/item.tsx","../src/partials/link-item.tsx","../src/partials/radio-group.styled.tsx","../src/partials/radio-group.tsx","../src/partials/radio-item.styled.tsx","../src/partials/radio-item.tsx","../src/partials/separator.styled.tsx","../src/partials/separator.tsx","../src/partials/switch-item.tsx","../src/partials/trigger.styled.tsx","../src/partials/trigger.tsx","../src/partials/sub-trigger.styled.tsx","../src/partials/sub-trigger.tsx","../src/partials/sub-content.styled.tsx","../src/partials/sub-content.tsx","../src/partials/sub.styled.tsx","../src/partials/sub.tsx","../src/partials/portal.tsx","../src/dropdown-menu.tsx"],"sourcesContent":["import { focus } from '@mirohq/design-system-styles'\n\nexport const itemDefaults = {\n all: 'unset',\n boxSizing: 'border-box',\n fontSize: 14,\n lineHeight: '20px',\n color: 'rgba(5, 0, 56, 1)',\n borderRadius: '$50',\n display: 'flex',\n alignItems: 'center',\n height: '$11',\n padding: '$100 $150',\n position: 'relative',\n userSelect: 'none',\n cursor: 'pointer',\n\n '&[data-disabled]': {\n color: 'rgba(9, 9, 9, 0.4)',\n pointerEvents: 'none',\n },\n\n ...focus.defaults,\n\n '&:hover': {\n background: 'rgba(232, 236, 255, 1)',\n color: 'rgba(69, 91, 237, 1)',\n boxShadow: 'none',\n },\n '&[tabindex=\"0\"]': {\n zIndex: '1',\n },\n}\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { itemDefaults } from '../styles/item'\n\nexport const StyledCheckIcon = styled(Primitive.svg, {\n fill: 'rgba(235, 235, 239, 1)',\n})\n\nexport const checkboxItemStyles = {\n ...itemDefaults,\n [`&[data-state=\"checked\"] ${StyledCheckIcon}`]: {\n fill: 'rgba(69, 91, 237, 1)',\n },\n [`&[data-state=\"unchecked\"]:hover ${StyledCheckIcon}`]: {\n fill: 'rgba(205, 204, 215, 1)',\n },\n [`&[data-disabled][data-state=\"checked\"] ${StyledCheckIcon}`]: {\n fill: 'rgba(9, 9, 9, 0.4)',\n },\n}\n\nexport const StyledCheckboxItem = styled(\n RadixDropdownMenu.CheckboxItem,\n checkboxItemStyles\n)\n\nexport type StyledCheckboxItemProps = StrictComponentProps<\n typeof StyledCheckboxItem\n>\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const IconSlot = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n marginRight: '$100',\n width: '$6',\n})\n\nexport const RightSlot = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n marginLeft: 'auto',\n paddingLeft: '$200',\n})\n\nexport const ContentSlot = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n})\n","import React from 'react'\nimport type { ElementRef, PropsWithRef } from 'react'\n\nimport { StyledCheckboxItem, StyledCheckIcon } from './checkbox-item.styled'\nimport type { StyledCheckboxItemProps } from './checkbox-item.styled'\nimport { RightSlot, ContentSlot } from './slots.styled'\n\nexport const CheckIcon = (): JSX.Element => (\n <StyledCheckIcon\n width='16'\n height='16'\n viewBox='0 0 16 16'\n xmlns='http://www.w3.org/2000/svg'\n data-testid='checkbox-item-check-icon'\n >\n <path d='M4.28591 7.30832C3.89709 6.90837 3.25623 6.90386 2.8618 7.29828L2.79289 7.36719C2.39971 7.76038 2.40278 8.39879 2.79973 8.78818L6.57895 12.4953L13.8642 5.28822C14.2583 4.89833 14.26 4.26222 13.868 3.87021L13.7907 3.79289C13.3984 3.40056 12.7616 3.40264 12.3719 3.79754L6.57895 9.66692L4.28591 7.30832Z' />\n </StyledCheckIcon>\n)\n\nexport interface CheckboxItemProps\n extends Omit<StyledCheckboxItemProps, 'onChange'> {\n /**\n * The checked state of the item\n */\n checked: boolean\n\n /**\n * Event handler called when the checked state changes\n */\n onChange: (checked: boolean) => void\n\n /**\n * When true, prevents the user from interacting with the item\n */\n disabled?: boolean\n\n /**\n * Event handler called when the user selects an item (via mouse of keyboard). Calling event.preventDefault in this handler will prevent the dropdown menu from closing when selecting that item\n */\n onSelect?: (event: Event) => void\n\n /**\n * Optional text used for typeahead purposes. By default the typeahead behavior will use the .textContent of the item. Use this when the content is complex, or you have non-textual content inside\n */\n textValue?: string\n}\n\nexport const CheckboxItemRoot: React.FC<PropsWithRef<CheckboxItemProps>> = ({\n disabled = false,\n onChange,\n onSelect,\n ref,\n ...restProps\n}) => (\n <StyledCheckboxItem\n {...restProps}\n ref={ref}\n disabled={disabled}\n onCheckedChange={onChange}\n onSelect={(event: Event) => {\n event.preventDefault()\n onSelect?.(event)\n }}\n />\n)\n\nexport const CheckboxItem = React.forwardRef<\n ElementRef<typeof CheckboxItemRoot>,\n CheckboxItemProps\n>(({ children, ...restProps }, forwardRef) => (\n <CheckboxItemRoot {...restProps} ref={forwardRef}>\n <ContentSlot>{children}</ContentSlot>\n <RightSlot>\n <CheckIcon />\n </RightSlot>\n </CheckboxItemRoot>\n))\n","import { theme } from '@mirohq/design-system-stitches'\nimport { animations } from '@mirohq/design-system-styles'\n\nimport { RightSlot } from '../partials/slots.styled'\n\nconst GUTTER_TOKEN = 150\nexport const CONTENT_GUTTER = parseInt(theme.space[GUTTER_TOKEN])\nexport const CONTENT_OFFSET = parseInt(theme.space[50])\nconst ITEM_WITHOUT_RIGHT_SLOT = `[role=\"menuitem\"]:not(:has(${RightSlot}))`\n\nexport const contentDefaults = {\n maxWidth: '$125',\n backgroundColor: '$white',\n borderRadius: '$50',\n padding: `$${GUTTER_TOKEN}`,\n boxShadow: '$50',\n [`&:has(${RightSlot}) > ${ITEM_WITHOUT_RIGHT_SLOT}`]: {\n paddingRight: '44px',\n },\n [`&:has([role=\"switch\"]) > ${ITEM_WITHOUT_RIGHT_SLOT}`]: {\n paddingRight: '56px',\n },\n '@media (prefers-reduced-motion: no-preference)': {\n animationDuration: '150ms',\n animationTimingFunction: 'cubic-bezier(0.25, 0.5, 0.5, 0.9)',\n willChange: 'transform, opacity',\n '&[data-state=\"open\"]': { animationName: animations.fadeInScaled },\n '&[data-state=\"closed\"]': { animationName: animations.fadeOutScaled },\n '&[data-side=\"top\"]': {\n '&[data-align=\"start\"]': { transformOrigin: 'bottom left' },\n '&[data-align=\"center\"]': { transformOrigin: 'bottom center' },\n '&[data-align=\"end\"]': { transformOrigin: 'bottom right' },\n },\n '&[data-side=\"right\"]': {\n '&[data-align=\"start\"]': { transformOrigin: 'top left' },\n '&[data-align=\"center\"]': { transformOrigin: 'center left' },\n '&[data-align=\"end\"]': { transformOrigin: 'bottom left' },\n },\n '&[data-side=\"bottom\"]': {\n '&[data-align=\"start\"]': { transformOrigin: 'top left' },\n '&[data-align=\"center\"]': { transformOrigin: 'top center' },\n '&[data-align=\"end\"]': { transformOrigin: 'top right' },\n },\n '&[data-side=\"left\"]': {\n '&[data-align=\"start\"]': { transformOrigin: 'top right' },\n '&[data-align=\"center\"]': { transformOrigin: 'center right' },\n '&[data-align=\"end\"]': { transformOrigin: 'bottom right' },\n },\n },\n position: 'relative',\n zIndex: '$dropdownMenu',\n}\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { contentDefaults } from '../styles/content'\n\nexport const StyledContent = styled(RadixDropdownMenu.Content, contentDefaults)\n\nexport type StyledContentProps = StrictComponentProps<typeof StyledContent>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledContent } from './content.styled'\nimport type { StyledContentProps } from './content.styled'\nimport { CONTENT_OFFSET } from '../styles/content'\nimport type {\n PointerDownOutsideEvent,\n FocusOutsideEvent,\n Side,\n Align,\n StickyBehavior,\n} from '../types'\n\nexport interface ContentProps extends StyledContentProps {\n /**\n * Whether keyboard navigation should loop around\n */\n loop?: boolean\n\n /**\n * Event handler called when focus moves to the trigger after closing. It can\n * be prevented by calling event.preventDefault. This prop is ignored within\n * submenus.\n */\n onCloseAutoFocus?: (event: Event) => void\n\n /**\n * Event handler called when the escape key is down. It can be prevented by\n * calling event.preventDefault.\n */\n onEscapeKeyDown?: (event: KeyboardEvent) => void\n\n /**\n * Event handler called when a pointer event occurs outside the bounds of the\n * component. It can be prevented by calling event.preventDefault.\n */\n onPointerDownOutside?: (event: PointerDownOutsideEvent) => void\n\n /**\n * Event handler called when focus moves outside the bounds of the component.\n * It can be prevented by calling event.preventDefault.\n */\n onFocusOutside?: (event: FocusOutsideEvent) => void\n\n /**\n * Event handler called when an interaction (pointer or focus event) happens\n * outside the bounds of the component. It can be prevented by calling\n * event.preventDefault.\n */\n onInteractOutside?: (\n event: PointerDownOutsideEvent | FocusOutsideEvent\n ) => void\n\n /**\n * The preferred side of the trigger to render against when open. Will be\n * reversed when collisions occur and avoidCollisions is enabled. This prop is\n * ignored within submenus.\n */\n side?: Side\n\n /**\n * The distance in pixels from the trigger\n */\n sideOffset?: number\n\n /**\n * The preferred alignment against the trigger. May change when collisions\n * occur. This prop is ignored within submenus.\n */\n align?: Align\n\n /**\n * An offset in pixels from the \"start\" or \"end\" alignment options\n */\n alignOffset?: number\n\n /**\n * When true, overrides the side and align preferences to prevent collisions\n * with window edges.\n */\n avoidCollisions?: boolean\n\n /**\n * The distance in pixels from window edges where collision detection should\n * occur.\n */\n collisionPadding?: number\n\n /**\n * The sticky behavior on the align axis. \"partial\" will keep the content in\n * the boundary as long as the trigger is at least partially in the boundary\n * whilst \"always\" will keep the content in the boundary regardless.\n */\n sticky?: StickyBehavior\n\n /**\n * Used to force mounting when more control is needed. Useful when controlling\n * animation with React animation libraries. It inherits from\n * DropdownMenu.Portal.\n */\n forceMount?: true\n\n /**\n * The element used as the collision boundary. By default this is the\n * viewport, though you can provide additional element(s) to be included in\n * this check.\n */\n collisionBoundary?: Element | null\n\n /**\n * Whether to hide the content when the trigger becomes fully occluded.\n */\n hideWhenDetached?: boolean\n}\n\nexport const Content = React.forwardRef<\n ElementRef<typeof StyledContent>,\n ContentProps\n>(\n (\n {\n loop = false,\n side = 'bottom',\n sideOffset = CONTENT_OFFSET,\n align = 'center',\n alignOffset = 0,\n collisionPadding = 0,\n avoidCollisions = true,\n sticky = 'partial',\n hideWhenDetached = false,\n ...restProps\n },\n forwardRef\n ) => (\n <StyledContent\n {...restProps}\n ref={forwardRef}\n loop={loop}\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n avoidCollisions={avoidCollisions}\n collisionPadding={collisionPadding}\n sticky={sticky}\n hideWhenDetached={hideWhenDetached}\n />\n )\n)\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { itemDefaults } from '../styles/item'\n\nexport const StyledItem = styled(RadixDropdownMenu.Item, itemDefaults)\n\nexport type StyledItemProps = StrictComponentProps<typeof StyledItem>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledItem } from './item.styled'\nimport type { StyledItemProps } from './item.styled'\n\nexport interface ItemProps extends StyledItemProps {\n /**\n * When true, prevents the user from interacting with the item\n */\n disabled?: boolean\n\n /**\n * Event handler called when the user selects an item (via mouse of keyboard). Calling event.preventDefault in this handler will prevent the dropdown menu from closing when selecting that item\n */\n onSelect?: (event: Event) => void\n\n /**\n * Optional text used for typeahead purposes. By default the typeahead behavior will use the .textContent of the item. Use this when the content is complex, or you have non-textual content inside\n */\n textValue?: string\n}\n\nexport const Item = React.forwardRef<ElementRef<typeof StyledItem>, ItemProps>(\n ({ disabled = false, ...restProps }, forwardRef) => (\n <StyledItem {...restProps} ref={forwardRef} disabled={disabled} />\n )\n)\n","import React from 'react'\nimport type { ElementRef, AnchorHTMLAttributes } from 'react'\n\nimport { Item } from './item'\nimport type { ItemProps } from './item'\n\ntype ItemPropsWithAnchor = ItemProps & AnchorHTMLAttributes<typeof Item>\nexport interface LinkItemProps extends ItemPropsWithAnchor {}\n\nexport const LinkItem = React.forwardRef<\n ElementRef<typeof Item>,\n LinkItemProps\n>(({ children, href, ...restProps }, forwardRef) => (\n <Item asChild ref={forwardRef} {...restProps}>\n <a href={href}>{children}</a>\n </Item>\n))\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nexport const StyledRadioGroup = styled(RadixDropdownMenu.RadioGroup)\n\nexport type StyledRadioGroupProps = StrictComponentProps<\n typeof StyledRadioGroup\n>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledRadioGroup } from './radio-group.styled'\nimport type { StyledRadioGroupProps } from './radio-group.styled'\n\nexport interface RadioGroupProps\n extends Omit<StyledRadioGroupProps, 'onChange'> {\n /**\n * The value of the selected item in the group\n */\n value: string\n\n /**\n * Event handler called when the selected radio changes\n */\n onChange: (value: string) => void\n}\n\nexport const RadioGroup = React.forwardRef<\n ElementRef<typeof StyledRadioGroup>,\n RadioGroupProps\n>((props, forwardRef) => {\n const { onChange, ...restProps } = props\n\n return (\n <StyledRadioGroup\n {...restProps}\n ref={forwardRef}\n onValueChange={onChange}\n />\n )\n})\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { checkboxItemStyles } from './checkbox-item.styled'\n\nexport const StyledRadioItem = styled(\n RadixDropdownMenu.RadioItem,\n checkboxItemStyles\n)\n\nexport type StyledRadioItemProps = StrictComponentProps<typeof StyledRadioItem>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledRadioItem } from './radio-item.styled'\nimport type { StyledRadioItemProps } from './radio-item.styled'\nimport { RightSlot, ContentSlot } from './slots.styled'\nimport { CheckIcon } from './checkbox-item'\n\nexport interface RadioItemProps extends StyledRadioItemProps {\n /**\n * The unique value of the item\n */\n value: string\n\n /**\n * When true, prevents the user from interacting with the item\n */\n disabled?: boolean\n\n /**\n * Event handler called when the user selects an item (via mouse of keyboard). Calling event.preventDefault in this handler will prevent the dropdown menu from closing when selecting that item\n */\n onSelect?: (event: Event) => void\n\n /**\n * Optional text used for typeahead purposes. By default the typeahead behavior will use the .textContent of the item. Use this when the content is complex, or you have non-textual content inside\n */\n textValue?: string\n}\n\nexport const RadioItem = React.forwardRef<\n ElementRef<typeof StyledRadioItem>,\n RadioItemProps\n>(({ disabled = false, onSelect, children, ...restProps }, forwardRef) => (\n <StyledRadioItem\n {...restProps}\n ref={forwardRef}\n disabled={disabled}\n onSelect={(event: Event) => {\n event.preventDefault()\n onSelect?.(event)\n }}\n >\n <ContentSlot>{children}</ContentSlot>\n <RightSlot>\n <CheckIcon />\n </RightSlot>\n </StyledRadioItem>\n))\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nexport const StyledSeparator = styled(RadixDropdownMenu.Separator, {\n borderTop: '1px solid rgba(235, 235, 239, 1)',\n marginY: '$100',\n})\n\nexport type StyledSeparatorProps = StrictComponentProps<typeof StyledSeparator>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledSeparator } from './separator.styled'\nimport type { StyledSeparatorProps } from './separator.styled'\n\nexport interface SeparatorProps extends StyledSeparatorProps {}\n\nexport const Separator = React.forwardRef<\n ElementRef<typeof StyledSeparator>,\n SeparatorProps\n>((props, forwardRef) => <StyledSeparator {...props} ref={forwardRef} />)\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { Switch } from '@mirohq/design-system-switch'\n\nimport { CheckboxItemRoot } from './checkbox-item'\nimport type { CheckboxItemProps } from './checkbox-item'\nimport { ContentSlot, RightSlot } from './slots.styled'\n\nexport interface SwitchItemProps extends CheckboxItemProps {}\n\nexport const SwitchItem = React.forwardRef<\n ElementRef<typeof CheckboxItemRoot>,\n SwitchItemProps\n>(\n (\n { disabled = false, checked, onSelect, children, ...restProps },\n forwardRef\n ) => (\n <CheckboxItemRoot\n {...restProps}\n ref={forwardRef}\n disabled={disabled}\n checked={checked}\n >\n <ContentSlot>{children}</ContentSlot>\n <RightSlot>\n <Switch\n checked={checked}\n disabled={disabled}\n // bypass the control in order to use the switch-item state\n onChange={x => x}\n value=''\n />\n </RightSlot>\n </CheckboxItemRoot>\n )\n)\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\nimport { focus } from '@mirohq/design-system-styles'\n\nconst defaultStyles = {\n boxSizing: 'border-box',\n cursor: 'pointer',\n ...focus.defaults,\n}\n\nexport const StyledTrigger = styled(RadixDropdownMenu.Trigger, {\n variants: {\n unstyled: {\n true: {\n all: 'unset',\n ...defaultStyles,\n },\n false: defaultStyles,\n },\n },\n})\n\nexport type StyledTriggerProps = StrictComponentProps<typeof StyledTrigger>\n","import React from 'react'\nimport type { ElementRef, DOMAttributes } from 'react'\n\nimport { StyledTrigger } from './trigger.styled'\nimport type { StyledTriggerProps } from './trigger.styled'\n\nexport interface TriggerProps extends StyledTriggerProps {\n /**\n * temporary the same as onClick, later will be added touch events support\n */\n onPress?: DOMAttributes<HTMLElement>['onClick']\n}\n\nexport const Trigger = React.forwardRef<\n ElementRef<typeof StyledTrigger>,\n TriggerProps\n>(({ asChild = false, onPress, onClick, ...restProps }, forwardRef) => (\n <StyledTrigger\n {...restProps}\n onClick={onPress ?? onClick}\n ref={forwardRef}\n unstyled={!asChild}\n asChild={asChild}\n />\n))\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { itemDefaults } from '../styles/item'\n\nexport const StyledSubTrigger = styled(RadixDropdownMenu.SubTrigger, {\n ...itemDefaults,\n '&[data-state=\"open\"]': itemDefaults['&:hover'],\n})\n\nexport type StyledSubTriggerProps = StrictComponentProps<\n typeof StyledSubTrigger\n>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledSubTrigger } from './sub-trigger.styled'\nimport type { StyledSubTriggerProps } from './sub-trigger.styled'\nimport { RightSlot, ContentSlot } from './slots.styled'\n\nconst ArrowIcon = (): JSX.Element => (\n <svg\n width='16'\n height='16'\n viewBox='0 0 16 16'\n fill='currentColor'\n xmlns='http://www.w3.org/2000/svg'\n data-testid='submenu-arrow-icon'\n >\n <path d='M5.29289 3.29289C5.68342 2.90237 6.31658 2.90237 6.70711 3.29289L11.4142 8L6.70711 12.7071C6.31658 13.0976 5.68342 13.0976 5.29289 12.7071C4.90237 12.3166 4.90237 11.6834 5.29289 11.2929L8.58579 8L5.29289 4.70711C4.90237 4.31658 4.90237 3.68342 5.29289 3.29289Z' />\n </svg>\n)\n\nexport interface SubTriggerProps extends StyledSubTriggerProps {\n /**\n * Prevents the user from interacting with the switch\n */\n disabled?: boolean\n\n /**\n * Optional text used for type ahead purposes. By default the type ahead\n * behavior will use the .textContent of the item. Use this when the content\n * is complex, or you have.\n */\n textValue?: string\n}\n\nexport const SubTrigger = React.forwardRef<\n ElementRef<typeof StyledSubTrigger>,\n StyledSubTriggerProps\n>(({ children, disabled = false, ...restProps }, forwardRef) => (\n <StyledSubTrigger {...restProps} ref={forwardRef} disabled={disabled}>\n <ContentSlot>{children}</ContentSlot>\n <RightSlot>\n <ArrowIcon />\n </RightSlot>\n </StyledSubTrigger>\n))\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { contentDefaults } from '../styles/content'\n\nexport const StyledSubContent = styled(\n RadixDropdownMenu.SubContent,\n contentDefaults\n)\n\nexport type StyledSubContentProps = StrictComponentProps<\n typeof StyledSubContent\n>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledSubContent } from './sub-content.styled'\nimport { CONTENT_GUTTER, CONTENT_OFFSET } from '../styles/content'\nimport type { StyledSubContentProps } from './sub-content.styled'\nimport type { PointerDownOutsideEvent, FocusOutsideEvent } from '../types'\n\nexport interface SubContentProps extends StyledSubContentProps {\n /**\n * Whether keyboard navigation should loop around\n * @default false\n */\n loop?: boolean\n\n /**\n * Event handler called when focus moves to the trigger after closing. It can\n * be prevented by calling event.preventDefault. This prop is ignored within\n * submenus.\n */\n onCloseAutoFocus?: (event: Event) => void\n\n /**\n * Event handler called when the escape key is down. It can be prevented by\n * calling event.preventDefault.\n */\n onEscapeKeyDown?: (event: KeyboardEvent) => void\n\n /**\n * Event handler called when a pointer event occurs outside the bounds of the\n * component. It can be prevented by calling event.preventDefault.\n */\n onPointerDownOutside?: (event: PointerDownOutsideEvent) => void\n\n /**\n * Event handler called when focus moves outside the bounds of the component.\n * It can be prevented by calling event.preventDefault.\n */\n onFocusOutside?: (event: FocusOutsideEvent) => void\n\n /**\n * Event handler called when an interaction (pointer or focus event) happens\n * outside the bounds of the component. It can be prevented by calling\n * event.preventDefault.\n */\n onInteractOutside?: (\n event: PointerDownOutsideEvent | FocusOutsideEvent\n ) => void\n\n /**\n * Used to force mounting when more control is needed. Useful when controlling\n * animation with React animation libraries.\n */\n forceMount?: true\n\n /**\n * The distance in pixels from the trigger.\n */\n sideOffset?: number\n\n /**\n * An offset in pixels from the \"start\" or \"end\" alignment options.\n */\n alignOffset?: number\n\n /**\n * When true, overrides the side andalign preferences to prevent collisions\n * with window edges.\n * @default true\n */\n avoidCollisions?: boolean\n\n /**\n *The distance in pixels from the boundary edges where collision detection\n *should occur. Accepts a number (same for all sides).\n */\n collisionPadding?: number\n\n /**\n * The sticky behavior on the align axis. \"partial\" will keep the content in\n * the boundary as long as the trigger is at least partially in the boundary\n * whilst \"always\" will keep the content in the boundary regardless.\n * @default partial\n */\n sticky?: 'partial' | 'always'\n\n /**\n * Whether to hide the content when the trigger becomes fully occluded.\n * @default false\n */\n hideWhenDetached?: boolean\n}\n\n// without CONTENT_GUTTER submenu would overlap the menu\nconst SIDE_OFFSET = CONTENT_GUTTER + CONTENT_OFFSET\n\nexport const SubContent = React.forwardRef<\n ElementRef<typeof StyledSubContent>,\n SubContentProps\n>(\n (\n {\n sideOffset = SIDE_OFFSET,\n alignOffset = -CONTENT_GUTTER,\n collisionPadding = 0,\n loop = false,\n hideWhenDetached = false,\n sticky = 'partial',\n ...restProps\n },\n forwardRef\n ) => (\n <StyledSubContent\n {...restProps}\n ref={forwardRef}\n sideOffset={sideOffset}\n alignOffset={alignOffset}\n collisionPadding={collisionPadding}\n loop={loop}\n hideWhenDetached={hideWhenDetached}\n sticky={sticky}\n />\n )\n)\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nexport const StyledSub = styled(RadixDropdownMenu.Sub, {})\n\nexport type StyledSubProps = StrictComponentProps<typeof StyledSub>\n","import React, { useState } from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledSub } from './sub.styled'\nimport type { StyledSubProps } from './sub.styled'\n\nexport interface SubProps extends StyledSubProps {\n /**\n * The open state of the submenu when it is initially rendered. Use when you\n * do not need to control its open state.\n */\n defaultOpen?: boolean\n\n /**\n * The controlled open state of the submenu. Must be used in conjunction with\n * onOpenChange.\n */\n open?: boolean\n\n /**\n * Event handler called when the submenu opens.\n */\n onOpen?: () => void\n\n /**\n * Event handler called when the submenu closes.\n */\n onClose?: () => void\n}\n\nexport const Sub = React.forwardRef<ElementRef<typeof StyledSub>, SubProps>(\n ({ defaultOpen, onOpen, onClose, open, ...restProps }, forwardRef) => {\n const [openState, setOpenState] = useState(defaultOpen)\n return (\n <StyledSub\n {...restProps}\n open={open ?? openState}\n onOpenChange={newOpen => {\n if (open == null) {\n setOpenState(newOpen)\n }\n\n newOpen ? onOpen?.() : onClose?.()\n }}\n ref={forwardRef}\n />\n )\n }\n)\n","import React from 'react'\nimport type { DropdownMenuPortalProps } from '@radix-ui/react-dropdown-menu'\nimport { Portal as RadixPortal } from '@radix-ui/react-dropdown-menu'\n\nexport interface PortalProps extends DropdownMenuPortalProps {\n /**\n * Used to force mounting when more control is needed. Useful when controlling\n * animation with React animation libraries. If used on this part, it will be\n * inherited by DropdownMenu.Content and DropdownMenu.SubContent respectively.\n */\n forceMount?: true\n\n /**\n * Specify a container element to portal the content into.\n */\n container?: HTMLElement | null\n}\n\nexport const Portal: React.FC<PortalProps> = props => <RadixPortal {...props} />\n","import React, { useState } from 'react'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { CheckboxItem } from './partials/checkbox-item'\nimport { Content } from './partials/content'\nimport { Item } from './partials/item'\nimport { LinkItem } from './partials/link-item'\nimport { RadioGroup } from './partials/radio-group'\nimport { RadioItem } from './partials/radio-item'\nimport { Separator } from './partials/separator'\nimport { SwitchItem } from './partials/switch-item'\nimport { Trigger } from './partials/trigger'\nimport { SubTrigger } from './partials/sub-trigger'\nimport { SubContent } from './partials/sub-content'\nimport { Sub } from './partials/sub'\nimport { Portal } from './partials/portal'\nimport { IconSlot } from './partials/slots.styled'\n\nexport interface DropdownMenuProps {\n /**\n * The open state of the dropdown menu when it is initially rendered. Use when\n * you do not need to control its open state.\n */\n defaultOpen?: boolean\n\n /**\n * The reading direction of submenus when applicable. If omitted, assumes LTR\n * (left-to-right) reading mode.\n */\n direction?: 'ltr' | 'rtl'\n\n /**\n * The current dropdown open state.\n */\n open?: boolean\n\n /**\n * Event handler called when the dropdown opens.\n */\n onOpen?: () => void\n\n /**\n * Event handler called when the dropdown closes.\n */\n onClose?: () => void\n\n /**\n * Defines whether the interaction with outside elements will be disabled and\n * only menu content will be visible to screen readers. This prop is ignored\n * within submenus.\n */\n interactOutside?: boolean\n\n /**\n * The content\n */\n children: React.ReactNode\n}\n\nexport const DropdownMenu: React.FC<DropdownMenuProps> & Partials = ({\n defaultOpen = false,\n direction = 'ltr',\n interactOutside = false,\n open,\n onOpen,\n onClose,\n ...restProps\n}) => {\n const [openState, setOpenState] = useState(defaultOpen)\n\n return (\n <RadixDropdownMenu.Root\n {...restProps}\n dir={direction}\n modal={interactOutside}\n open={open ?? openState}\n onOpenChange={newOpen => {\n if (open == null) {\n setOpenState(newOpen)\n }\n\n newOpen ? onOpen?.() : onClose?.()\n }}\n />\n )\n}\n\n// Partials\n// -----------------------------------------------------------------------------\n\ninterface Partials {\n CheckboxItem: typeof CheckboxItem\n Content: typeof Content\n IconSlot: typeof IconSlot\n Item: typeof Item\n LinkItem: typeof LinkItem\n Portal: typeof Portal\n RadioGroup: typeof RadioGroup\n RadioItem: typeof RadioItem\n Separator: typeof Separator\n Sub: typeof Sub\n SubContent: typeof SubContent\n SubTrigger: typeof SubTrigger\n SwitchItem: typeof SwitchItem\n Trigger: typeof Trigger\n}\n\nDropdownMenu.CheckboxItem = CheckboxItem\nDropdownMenu.Content = Content\nDropdownMenu.IconSlot = IconSlot\nDropdownMenu.Item = Item\nDropdownMenu.LinkItem = LinkItem\nDropdownMenu.Portal = Portal\nDropdownMenu.RadioGroup = RadioGroup\nDropdownMenu.RadioItem = RadioItem\nDropdownMenu.Separator = Separator\nDropdownMenu.Sub = Sub\nDropdownMenu.SubContent = SubContent\nDropdownMenu.SubTrigger = SubTrigger\nDropdownMenu.SwitchItem = SwitchItem\nDropdownMenu.Trigger = Trigger\n"],"names":["RadixPortal"],"mappings":"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"}
1
+ {"version":3,"file":"module.js","sources":["../src/styles/item.ts","../src/partials/checkbox-item.styled.tsx","../src/partials/slots.styled.ts","../src/use-slots.tsx","../src/partials/slots.tsx","../src/partials/checkbox-item.tsx","../src/styles/content.ts","../src/partials/content.styled.tsx","../src/partials/content.tsx","../src/partials/item.styled.tsx","../src/partials/item.tsx","../src/partials/link-item.tsx","../src/partials/radio-group.styled.tsx","../src/partials/radio-group.tsx","../src/partials/radio-item.styled.tsx","../src/partials/radio-item.tsx","../src/partials/separator.styled.tsx","../src/partials/separator.tsx","../src/partials/switch-item.tsx","../src/partials/trigger.styled.tsx","../src/partials/trigger.tsx","../src/partials/sub-trigger.styled.tsx","../src/partials/sub-trigger.tsx","../src/partials/sub-content.styled.tsx","../src/partials/sub-content.tsx","../src/partials/sub.styled.tsx","../src/partials/sub.tsx","../src/partials/portal.tsx","../src/dropdown-menu.tsx"],"sourcesContent":["import { focus } from '@mirohq/design-system-styles'\n\nexport const itemDefaults = {\n all: 'unset',\n boxSizing: 'border-box',\n fontSize: 14,\n lineHeight: '20px',\n color: 'rgba(5, 0, 56, 1)',\n borderRadius: '$50',\n display: 'flex',\n alignItems: 'center',\n minHeight: '$11',\n padding: '$100 $150',\n position: 'relative',\n userSelect: 'none',\n cursor: 'pointer',\n\n '&[data-disabled]': {\n color: 'rgba(9, 9, 9, 0.4)',\n pointerEvents: 'none',\n },\n\n ...focus.defaults,\n\n '&:hover': {\n background: 'rgba(232, 236, 255, 1)',\n color: 'rgba(69, 91, 237, 1)',\n boxShadow: 'none',\n },\n '&[tabindex=\"0\"]': {\n zIndex: '1',\n },\n}\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { itemDefaults } from '../styles/item'\n\nexport const StyledCheckIcon = styled(Primitive.svg, {\n fill: 'rgba(235, 235, 239, 1)',\n})\n\nexport const checkboxItemStyles = {\n ...itemDefaults,\n [`&[data-state=\"checked\"] ${StyledCheckIcon}`]: {\n fill: 'rgba(69, 91, 237, 1)',\n },\n [`&[data-state=\"unchecked\"]:hover ${StyledCheckIcon}`]: {\n fill: 'rgba(205, 204, 215, 1)',\n },\n [`&[data-disabled][data-state=\"checked\"] ${StyledCheckIcon}`]: {\n fill: 'rgba(9, 9, 9, 0.4)',\n },\n}\n\nexport const StyledCheckboxItem = styled(\n RadixDropdownMenu.CheckboxItem,\n checkboxItemStyles\n)\n\nexport type StyledCheckboxItemProps = StrictComponentProps<\n typeof StyledCheckboxItem\n>\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const IconSlot = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n marginRight: '$100',\n width: '$6',\n})\n\nexport const ContentSlot = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n})\n\nexport const StyledRightSlot = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n marginLeft: 'auto',\n paddingLeft: '$200',\n '&:empty': {\n paddingLeft: '$none',\n },\n})\n","import React, { createContext, useContext, useState } from 'react'\nimport type { PropsWithChildren } from 'react'\n\nexport type Slots = 'right' | 'left'\n\ninterface SlotsContext {\n counter: { [key in Slots]: number }\n increaseCounter: (side: Slots) => void\n decreaseCounter: (side: Slots) => void\n}\n\nconst Context = createContext<SlotsContext>({\n counter: {\n right: 0,\n left: 0,\n },\n increaseCounter: () => {},\n decreaseCounter: () => {},\n})\n\nexport const SlotsProvider = ({\n children,\n}: PropsWithChildren<{}>): JSX.Element => {\n const [counter, setCounter] = useState({\n right: 0,\n left: 0,\n })\n\n return (\n <Context.Provider\n value={{\n counter,\n increaseCounter: side => {\n setCounter(counter => ({\n ...counter,\n [side]: counter[side] + 1,\n }))\n },\n decreaseCounter: side =>\n setCounter(counter => ({\n ...counter,\n [side]: counter[side] - 1,\n })),\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n\nexport const useSlots = (): SlotsContext => useContext(Context)\n","import React, { useEffect } from 'react'\nimport type { ComponentPropsWithRef } from 'react'\n\nimport { useSlots } from '../use-slots'\nimport { StyledRightSlot } from './slots.styled'\n\nexport const RightSlot = (\n props: ComponentPropsWithRef<typeof StyledRightSlot>\n): JSX.Element => {\n const { increaseCounter, decreaseCounter } = useSlots()\n\n useEffect(() => {\n increaseCounter('right')\n return () => decreaseCounter('right')\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n return <StyledRightSlot {...props} />\n}\n","import React from 'react'\nimport type { ElementRef, PropsWithRef } from 'react'\n\nimport { StyledCheckboxItem, StyledCheckIcon } from './checkbox-item.styled'\nimport type { StyledCheckboxItemProps } from './checkbox-item.styled'\nimport { ContentSlot } from './slots.styled'\nimport { RightSlot } from './slots'\n\nexport const CheckIcon = (): JSX.Element => (\n <StyledCheckIcon\n width='16'\n height='16'\n viewBox='0 0 16 16'\n xmlns='http://www.w3.org/2000/svg'\n data-testid='checkbox-item-check-icon'\n >\n <path d='M4.28591 7.30832C3.89709 6.90837 3.25623 6.90386 2.8618 7.29828L2.79289 7.36719C2.39971 7.76038 2.40278 8.39879 2.79973 8.78818L6.57895 12.4953L13.8642 5.28822C14.2583 4.89833 14.26 4.26222 13.868 3.87021L13.7907 3.79289C13.3984 3.40056 12.7616 3.40264 12.3719 3.79754L6.57895 9.66692L4.28591 7.30832Z' />\n </StyledCheckIcon>\n)\n\nexport interface CheckboxItemProps\n extends Omit<StyledCheckboxItemProps, 'onChange'> {\n /**\n * The checked state of the item\n */\n checked: boolean\n\n /**\n * Event handler called when the checked state changes\n */\n onChange: (checked: boolean) => void\n\n /**\n * When true, prevents the user from interacting with the item\n */\n disabled?: boolean\n\n /**\n * Event handler called when the user selects an item (via mouse of keyboard). Calling event.preventDefault in this handler will prevent the dropdown menu from closing when selecting that item\n */\n onSelect?: (event: Event) => void\n\n /**\n * Optional text used for typeahead purposes. By default the typeahead behavior will use the .textContent of the item. Use this when the content is complex, or you have non-textual content inside\n */\n textValue?: string\n}\n\nexport const CheckboxItemRoot: React.FC<PropsWithRef<CheckboxItemProps>> = ({\n disabled = false,\n onChange,\n onSelect,\n ref,\n ...restProps\n}) => (\n <StyledCheckboxItem\n {...restProps}\n ref={ref}\n disabled={disabled}\n onCheckedChange={onChange}\n onSelect={(event: Event) => {\n event.preventDefault()\n onSelect?.(event)\n }}\n />\n)\n\nexport const CheckboxItem = React.forwardRef<\n ElementRef<typeof CheckboxItemRoot>,\n CheckboxItemProps\n>(({ children, ...restProps }, forwardRef) => (\n <CheckboxItemRoot {...restProps} ref={forwardRef}>\n <ContentSlot>{children}</ContentSlot>\n <RightSlot>\n <CheckIcon />\n </RightSlot>\n </CheckboxItemRoot>\n))\n","import { theme } from '@mirohq/design-system-stitches'\nimport { animations } from '@mirohq/design-system-styles'\n\nconst GUTTER_TOKEN = 150\nexport const CONTENT_GUTTER = parseInt(theme.space[GUTTER_TOKEN])\nexport const CONTENT_OFFSET = parseInt(theme.space[50])\n\nexport const contentDefaults = {\n maxWidth: '$125',\n backgroundColor: '$white',\n borderRadius: '$50',\n padding: `$${GUTTER_TOKEN}`,\n boxShadow: '$50',\n '@media (prefers-reduced-motion: no-preference)': {\n animationDuration: '150ms',\n animationTimingFunction: 'cubic-bezier(0.25, 0.5, 0.5, 0.9)',\n willChange: 'transform, opacity',\n '&[data-state=\"open\"]': { animationName: animations.fadeInScaled },\n '&[data-state=\"closed\"]': { animationName: animations.fadeOutScaled },\n '&[data-side=\"top\"]': {\n '&[data-align=\"start\"]': { transformOrigin: 'bottom left' },\n '&[data-align=\"center\"]': { transformOrigin: 'bottom center' },\n '&[data-align=\"end\"]': { transformOrigin: 'bottom right' },\n },\n '&[data-side=\"right\"]': {\n '&[data-align=\"start\"]': { transformOrigin: 'top left' },\n '&[data-align=\"center\"]': { transformOrigin: 'center left' },\n '&[data-align=\"end\"]': { transformOrigin: 'bottom left' },\n },\n '&[data-side=\"bottom\"]': {\n '&[data-align=\"start\"]': { transformOrigin: 'top left' },\n '&[data-align=\"center\"]': { transformOrigin: 'top center' },\n '&[data-align=\"end\"]': { transformOrigin: 'top right' },\n },\n '&[data-side=\"left\"]': {\n '&[data-align=\"start\"]': { transformOrigin: 'top right' },\n '&[data-align=\"center\"]': { transformOrigin: 'center right' },\n '&[data-align=\"end\"]': { transformOrigin: 'bottom right' },\n },\n },\n position: 'relative',\n zIndex: '$dropdownMenu',\n}\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { contentDefaults } from '../styles/content'\n\nexport const StyledContent = styled(RadixDropdownMenu.Content, contentDefaults)\n\nexport type StyledContentProps = StrictComponentProps<typeof StyledContent>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledContent } from './content.styled'\nimport type { StyledContentProps } from './content.styled'\nimport { SlotsProvider } from '../use-slots'\nimport { CONTENT_OFFSET } from '../styles/content'\nimport type {\n PointerDownOutsideEvent,\n FocusOutsideEvent,\n Side,\n Align,\n StickyBehavior,\n} from '../types'\n\nexport interface ContentProps extends StyledContentProps {\n /**\n * Whether keyboard navigation should loop around\n */\n loop?: boolean\n\n /**\n * Event handler called when focus moves to the trigger after closing. It can\n * be prevented by calling event.preventDefault. This prop is ignored within\n * submenus.\n */\n onCloseAutoFocus?: (event: Event) => void\n\n /**\n * Event handler called when the escape key is down. It can be prevented by\n * calling event.preventDefault.\n */\n onEscapeKeyDown?: (event: KeyboardEvent) => void\n\n /**\n * Event handler called when a pointer event occurs outside the bounds of the\n * component. It can be prevented by calling event.preventDefault.\n */\n onPointerDownOutside?: (event: PointerDownOutsideEvent) => void\n\n /**\n * Event handler called when focus moves outside the bounds of the component.\n * It can be prevented by calling event.preventDefault.\n */\n onFocusOutside?: (event: FocusOutsideEvent) => void\n\n /**\n * Event handler called when an interaction (pointer or focus event) happens\n * outside the bounds of the component. It can be prevented by calling\n * event.preventDefault.\n */\n onInteractOutside?: (\n event: PointerDownOutsideEvent | FocusOutsideEvent\n ) => void\n\n /**\n * The preferred side of the trigger to render against when open. Will be\n * reversed when collisions occur and avoidCollisions is enabled. This prop is\n * ignored within submenus.\n */\n side?: Side\n\n /**\n * The distance in pixels from the trigger\n */\n sideOffset?: number\n\n /**\n * The preferred alignment against the trigger. May change when collisions\n * occur. This prop is ignored within submenus.\n */\n align?: Align\n\n /**\n * An offset in pixels from the \"start\" or \"end\" alignment options\n */\n alignOffset?: number\n\n /**\n * When true, overrides the side and align preferences to prevent collisions\n * with window edges.\n */\n avoidCollisions?: boolean\n\n /**\n * The distance in pixels from window edges where collision detection should\n * occur.\n */\n collisionPadding?: number\n\n /**\n * The sticky behavior on the align axis. \"partial\" will keep the content in\n * the boundary as long as the trigger is at least partially in the boundary\n * whilst \"always\" will keep the content in the boundary regardless.\n */\n sticky?: StickyBehavior\n\n /**\n * Used to force mounting when more control is needed. Useful when controlling\n * animation with React animation libraries. It inherits from\n * DropdownMenu.Portal.\n */\n forceMount?: true\n\n /**\n * The element used as the collision boundary. By default this is the\n * viewport, though you can provide additional element(s) to be included in\n * this check.\n */\n collisionBoundary?: Element | null\n\n /**\n * Whether to hide the content when the trigger becomes fully occluded.\n */\n hideWhenDetached?: boolean\n}\n\nexport const Content = React.forwardRef<\n ElementRef<typeof StyledContent>,\n ContentProps\n>(\n (\n {\n loop = false,\n side = 'bottom',\n sideOffset = CONTENT_OFFSET,\n align = 'center',\n alignOffset = 0,\n collisionPadding = 0,\n avoidCollisions = true,\n sticky = 'partial',\n hideWhenDetached = false,\n ...restProps\n },\n forwardRef\n ) => (\n <SlotsProvider>\n <StyledContent\n {...restProps}\n ref={forwardRef}\n loop={loop}\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n avoidCollisions={avoidCollisions}\n collisionPadding={collisionPadding}\n sticky={sticky}\n hideWhenDetached={hideWhenDetached}\n />\n </SlotsProvider>\n )\n)\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { itemDefaults } from '../styles/item'\n\nexport const StyledItem = styled(RadixDropdownMenu.Item, {\n ...itemDefaults,\n variants: {\n // This is a hack for the :has() selector\n // Remove it after Firefox implements it\n hasRightSlot: {\n true: {\n paddingRight: '$600',\n },\n },\n },\n})\n\nexport type StyledItemProps = StrictComponentProps<typeof StyledItem>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledItem } from './item.styled'\nimport type { StyledItemProps } from './item.styled'\nimport { useSlots } from '../use-slots'\n\nexport interface ItemProps extends StyledItemProps {\n /**\n * When true, prevents the user from interacting with the item\n */\n disabled?: boolean\n\n /**\n * Event handler called when the user selects an item (via mouse of keyboard). Calling event.preventDefault in this handler will prevent the dropdown menu from closing when selecting that item\n */\n onSelect?: (event: Event) => void\n\n /**\n * Optional text used for typeahead purposes. By default the typeahead behavior will use the .textContent of the item. Use this when the content is complex, or you have non-textual content inside\n */\n textValue?: string\n}\n\nexport const Item = React.forwardRef<ElementRef<typeof StyledItem>, ItemProps>(\n ({ disabled = false, ...restProps }, forwardRef) => {\n const { counter } = useSlots()\n\n return (\n <StyledItem\n {...restProps}\n ref={forwardRef}\n disabled={disabled}\n hasRightSlot={counter.right > 0}\n />\n )\n }\n)\n","import React from 'react'\nimport type { ElementRef, AnchorHTMLAttributes } from 'react'\n\nimport { Item } from './item'\nimport type { ItemProps } from './item'\n\ntype ItemPropsWithAnchor = ItemProps & AnchorHTMLAttributes<typeof Item>\nexport interface LinkItemProps extends ItemPropsWithAnchor {}\n\nexport const LinkItem = React.forwardRef<\n ElementRef<typeof Item>,\n LinkItemProps\n>(({ children, href, ...restProps }, forwardRef) => (\n <Item asChild ref={forwardRef} {...restProps}>\n <a href={href}>{children}</a>\n </Item>\n))\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nexport const StyledRadioGroup = styled(RadixDropdownMenu.RadioGroup)\n\nexport type StyledRadioGroupProps = StrictComponentProps<\n typeof StyledRadioGroup\n>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledRadioGroup } from './radio-group.styled'\nimport type { StyledRadioGroupProps } from './radio-group.styled'\n\nexport interface RadioGroupProps\n extends Omit<StyledRadioGroupProps, 'onChange'> {\n /**\n * The value of the selected item in the group\n */\n value: string\n\n /**\n * Event handler called when the selected radio changes\n */\n onChange: (value: string) => void\n}\n\nexport const RadioGroup = React.forwardRef<\n ElementRef<typeof StyledRadioGroup>,\n RadioGroupProps\n>((props, forwardRef) => {\n const { onChange, ...restProps } = props\n\n return (\n <StyledRadioGroup\n {...restProps}\n ref={forwardRef}\n onValueChange={onChange}\n />\n )\n})\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { checkboxItemStyles } from './checkbox-item.styled'\n\nexport const StyledRadioItem = styled(\n RadixDropdownMenu.RadioItem,\n checkboxItemStyles\n)\n\nexport type StyledRadioItemProps = StrictComponentProps<typeof StyledRadioItem>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledRadioItem } from './radio-item.styled'\nimport type { StyledRadioItemProps } from './radio-item.styled'\nimport { ContentSlot } from './slots.styled'\nimport { RightSlot } from './slots'\nimport { CheckIcon } from './checkbox-item'\n\nexport interface RadioItemProps extends StyledRadioItemProps {\n /**\n * The unique value of the item\n */\n value: string\n\n /**\n * When true, prevents the user from interacting with the item\n */\n disabled?: boolean\n\n /**\n * Event handler called when the user selects an item (via mouse of keyboard). Calling event.preventDefault in this handler will prevent the dropdown menu from closing when selecting that item\n */\n onSelect?: (event: Event) => void\n\n /**\n * Optional text used for typeahead purposes. By default the typeahead behavior will use the .textContent of the item. Use this when the content is complex, or you have non-textual content inside\n */\n textValue?: string\n}\n\nexport const RadioItem = React.forwardRef<\n ElementRef<typeof StyledRadioItem>,\n RadioItemProps\n>(({ disabled = false, onSelect, children, ...restProps }, forwardRef) => (\n <StyledRadioItem\n {...restProps}\n ref={forwardRef}\n disabled={disabled}\n onSelect={(event: Event) => {\n event.preventDefault()\n onSelect?.(event)\n }}\n >\n <ContentSlot>{children}</ContentSlot>\n <RightSlot>\n <CheckIcon />\n </RightSlot>\n </StyledRadioItem>\n))\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nexport const StyledSeparator = styled(RadixDropdownMenu.Separator, {\n borderTop: '1px solid rgba(235, 235, 239, 1)',\n marginY: '$100',\n})\n\nexport type StyledSeparatorProps = StrictComponentProps<typeof StyledSeparator>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledSeparator } from './separator.styled'\nimport type { StyledSeparatorProps } from './separator.styled'\n\nexport interface SeparatorProps extends StyledSeparatorProps {}\n\nexport const Separator = React.forwardRef<\n ElementRef<typeof StyledSeparator>,\n SeparatorProps\n>((props, forwardRef) => <StyledSeparator {...props} ref={forwardRef} />)\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { Switch } from '@mirohq/design-system-switch'\n\nimport { CheckboxItemRoot } from './checkbox-item'\nimport type { CheckboxItemProps } from './checkbox-item'\nimport { ContentSlot } from './slots.styled'\nimport { RightSlot } from './slots'\n\nexport interface SwitchItemProps extends CheckboxItemProps {}\n\nexport const SwitchItem = React.forwardRef<\n ElementRef<typeof CheckboxItemRoot>,\n SwitchItemProps\n>(\n (\n { disabled = false, checked, onSelect, children, ...restProps },\n forwardRef\n ) => (\n <CheckboxItemRoot\n {...restProps}\n ref={forwardRef}\n disabled={disabled}\n checked={checked}\n >\n <ContentSlot>{children}</ContentSlot>\n <RightSlot>\n <Switch\n checked={checked}\n disabled={disabled}\n // bypass the control in order to use the switch-item state\n onChange={x => x}\n value=''\n />\n </RightSlot>\n </CheckboxItemRoot>\n )\n)\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\nimport { focus } from '@mirohq/design-system-styles'\n\nconst defaultStyles = {\n boxSizing: 'border-box',\n cursor: 'pointer',\n ...focus.defaults,\n}\n\nexport const StyledTrigger = styled(RadixDropdownMenu.Trigger, {\n variants: {\n unstyled: {\n true: {\n all: 'unset',\n ...defaultStyles,\n },\n false: defaultStyles,\n },\n },\n})\n\nexport type StyledTriggerProps = StrictComponentProps<typeof StyledTrigger>\n","import React from 'react'\nimport type { ElementRef, DOMAttributes } from 'react'\n\nimport { StyledTrigger } from './trigger.styled'\nimport type { StyledTriggerProps } from './trigger.styled'\n\nexport interface TriggerProps extends StyledTriggerProps {\n /**\n * temporary the same as onClick, later will be added touch events support\n */\n onPress?: DOMAttributes<HTMLElement>['onClick']\n}\n\nexport const Trigger = React.forwardRef<\n ElementRef<typeof StyledTrigger>,\n TriggerProps\n>(({ asChild = false, onPress, onClick, ...restProps }, forwardRef) => (\n <StyledTrigger\n {...restProps}\n onClick={onPress ?? onClick}\n ref={forwardRef}\n unstyled={!asChild}\n asChild={asChild}\n />\n))\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { itemDefaults } from '../styles/item'\n\nexport const StyledSubTrigger = styled(RadixDropdownMenu.SubTrigger, {\n ...itemDefaults,\n '&[data-state=\"open\"]': itemDefaults['&:hover'],\n})\n\nexport type StyledSubTriggerProps = StrictComponentProps<\n typeof StyledSubTrigger\n>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledSubTrigger } from './sub-trigger.styled'\nimport type { StyledSubTriggerProps } from './sub-trigger.styled'\nimport { ContentSlot } from './slots.styled'\nimport { RightSlot } from './slots'\n\nconst ArrowIcon = (): JSX.Element => (\n <svg\n width='16'\n height='16'\n viewBox='0 0 16 16'\n fill='currentColor'\n xmlns='http://www.w3.org/2000/svg'\n data-testid='submenu-arrow-icon'\n >\n <path d='M5.29289 3.29289C5.68342 2.90237 6.31658 2.90237 6.70711 3.29289L11.4142 8L6.70711 12.7071C6.31658 13.0976 5.68342 13.0976 5.29289 12.7071C4.90237 12.3166 4.90237 11.6834 5.29289 11.2929L8.58579 8L5.29289 4.70711C4.90237 4.31658 4.90237 3.68342 5.29289 3.29289Z' />\n </svg>\n)\n\nexport interface SubTriggerProps extends StyledSubTriggerProps {\n /**\n * Prevents the user from interacting with the switch\n */\n disabled?: boolean\n\n /**\n * Optional text used for type ahead purposes. By default the type ahead\n * behavior will use the .textContent of the item. Use this when the content\n * is complex, or you have.\n */\n textValue?: string\n}\n\nexport const SubTrigger = React.forwardRef<\n ElementRef<typeof StyledSubTrigger>,\n StyledSubTriggerProps\n>(({ children, disabled = false, ...restProps }, forwardRef) => (\n <StyledSubTrigger {...restProps} ref={forwardRef} disabled={disabled}>\n <ContentSlot>{children}</ContentSlot>\n <RightSlot>\n <ArrowIcon />\n </RightSlot>\n </StyledSubTrigger>\n))\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { contentDefaults } from '../styles/content'\n\nexport const StyledSubContent = styled(\n RadixDropdownMenu.SubContent,\n contentDefaults\n)\n\nexport type StyledSubContentProps = StrictComponentProps<\n typeof StyledSubContent\n>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledSubContent } from './sub-content.styled'\nimport { CONTENT_GUTTER, CONTENT_OFFSET } from '../styles/content'\nimport { SlotsProvider } from '../use-slots'\nimport type { StyledSubContentProps } from './sub-content.styled'\nimport type { PointerDownOutsideEvent, FocusOutsideEvent } from '../types'\n\nexport interface SubContentProps extends StyledSubContentProps {\n /**\n * Whether keyboard navigation should loop around\n * @default false\n */\n loop?: boolean\n\n /**\n * Event handler called when focus moves to the trigger after closing. It can\n * be prevented by calling event.preventDefault. This prop is ignored within\n * submenus.\n */\n onCloseAutoFocus?: (event: Event) => void\n\n /**\n * Event handler called when the escape key is down. It can be prevented by\n * calling event.preventDefault.\n */\n onEscapeKeyDown?: (event: KeyboardEvent) => void\n\n /**\n * Event handler called when a pointer event occurs outside the bounds of the\n * component. It can be prevented by calling event.preventDefault.\n */\n onPointerDownOutside?: (event: PointerDownOutsideEvent) => void\n\n /**\n * Event handler called when focus moves outside the bounds of the component.\n * It can be prevented by calling event.preventDefault.\n */\n onFocusOutside?: (event: FocusOutsideEvent) => void\n\n /**\n * Event handler called when an interaction (pointer or focus event) happens\n * outside the bounds of the component. It can be prevented by calling\n * event.preventDefault.\n */\n onInteractOutside?: (\n event: PointerDownOutsideEvent | FocusOutsideEvent\n ) => void\n\n /**\n * Used to force mounting when more control is needed. Useful when controlling\n * animation with React animation libraries.\n */\n forceMount?: true\n\n /**\n * The distance in pixels from the trigger.\n */\n sideOffset?: number\n\n /**\n * An offset in pixels from the \"start\" or \"end\" alignment options.\n */\n alignOffset?: number\n\n /**\n * When true, overrides the side andalign preferences to prevent collisions\n * with window edges.\n * @default true\n */\n avoidCollisions?: boolean\n\n /**\n *The distance in pixels from the boundary edges where collision detection\n *should occur. Accepts a number (same for all sides).\n */\n collisionPadding?: number\n\n /**\n * The sticky behavior on the align axis. \"partial\" will keep the content in\n * the boundary as long as the trigger is at least partially in the boundary\n * whilst \"always\" will keep the content in the boundary regardless.\n * @default partial\n */\n sticky?: 'partial' | 'always'\n\n /**\n * Whether to hide the content when the trigger becomes fully occluded.\n * @default false\n */\n hideWhenDetached?: boolean\n}\n\n// without CONTENT_GUTTER submenu would overlap the menu\nconst SIDE_OFFSET = CONTENT_GUTTER + CONTENT_OFFSET\n\nexport const SubContent = React.forwardRef<\n ElementRef<typeof StyledSubContent>,\n SubContentProps\n>(\n (\n {\n sideOffset = SIDE_OFFSET,\n alignOffset = -CONTENT_GUTTER,\n collisionPadding = 0,\n loop = false,\n hideWhenDetached = false,\n sticky = 'partial',\n ...restProps\n },\n forwardRef\n ) => (\n <SlotsProvider>\n <StyledSubContent\n {...restProps}\n ref={forwardRef}\n sideOffset={sideOffset}\n alignOffset={alignOffset}\n collisionPadding={collisionPadding}\n loop={loop}\n hideWhenDetached={hideWhenDetached}\n sticky={sticky}\n />\n </SlotsProvider>\n )\n)\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nexport const StyledSub = styled(RadixDropdownMenu.Sub, {})\n\nexport type StyledSubProps = StrictComponentProps<typeof StyledSub>\n","import React, { useState } from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledSub } from './sub.styled'\nimport type { StyledSubProps } from './sub.styled'\n\nexport interface SubProps extends StyledSubProps {\n /**\n * The open state of the submenu when it is initially rendered. Use when you\n * do not need to control its open state.\n */\n defaultOpen?: boolean\n\n /**\n * The controlled open state of the submenu. Must be used in conjunction with\n * onOpenChange.\n */\n open?: boolean\n\n /**\n * Event handler called when the submenu opens.\n */\n onOpen?: () => void\n\n /**\n * Event handler called when the submenu closes.\n */\n onClose?: () => void\n}\n\nexport const Sub = React.forwardRef<ElementRef<typeof StyledSub>, SubProps>(\n ({ defaultOpen, onOpen, onClose, open, ...restProps }, forwardRef) => {\n const [openState, setOpenState] = useState(defaultOpen)\n return (\n <StyledSub\n {...restProps}\n open={open ?? openState}\n onOpenChange={newOpen => {\n if (open == null) {\n setOpenState(newOpen)\n }\n\n newOpen ? onOpen?.() : onClose?.()\n }}\n ref={forwardRef}\n />\n )\n }\n)\n","import React from 'react'\nimport type { DropdownMenuPortalProps } from '@radix-ui/react-dropdown-menu'\nimport { Portal as RadixPortal } from '@radix-ui/react-dropdown-menu'\n\nexport interface PortalProps extends DropdownMenuPortalProps {\n /**\n * Used to force mounting when more control is needed. Useful when controlling\n * animation with React animation libraries. If used on this part, it will be\n * inherited by DropdownMenu.Content and DropdownMenu.SubContent respectively.\n */\n forceMount?: true\n\n /**\n * Specify a container element to portal the content into.\n */\n container?: HTMLElement | null\n}\n\nexport const Portal: React.FC<PortalProps> = props => <RadixPortal {...props} />\n","import React, { useState } from 'react'\nimport * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'\n\nimport { CheckboxItem } from './partials/checkbox-item'\nimport { Content } from './partials/content'\nimport { Item } from './partials/item'\nimport { LinkItem } from './partials/link-item'\nimport { RadioGroup } from './partials/radio-group'\nimport { RadioItem } from './partials/radio-item'\nimport { Separator } from './partials/separator'\nimport { SwitchItem } from './partials/switch-item'\nimport { Trigger } from './partials/trigger'\nimport { SubTrigger } from './partials/sub-trigger'\nimport { SubContent } from './partials/sub-content'\nimport { Sub } from './partials/sub'\nimport { Portal } from './partials/portal'\nimport { IconSlot } from './partials/slots.styled'\n\nexport interface DropdownMenuProps {\n /**\n * The open state of the dropdown menu when it is initially rendered. Use when\n * you do not need to control its open state.\n */\n defaultOpen?: boolean\n\n /**\n * The reading direction of submenus when applicable. If omitted, assumes LTR\n * (left-to-right) reading mode.\n */\n direction?: 'ltr' | 'rtl'\n\n /**\n * The current dropdown open state.\n */\n open?: boolean\n\n /**\n * Event handler called when the dropdown opens.\n */\n onOpen?: () => void\n\n /**\n * Event handler called when the dropdown closes.\n */\n onClose?: () => void\n\n /**\n * Defines whether the interaction with outside elements will be disabled and\n * only menu content will be visible to screen readers. This prop is ignored\n * within submenus.\n */\n interactOutside?: boolean\n\n /**\n * The content\n */\n children: React.ReactNode\n}\n\nexport const DropdownMenu: React.FC<DropdownMenuProps> & Partials = ({\n defaultOpen = false,\n direction = 'ltr',\n interactOutside = false,\n open,\n onOpen,\n onClose,\n ...restProps\n}) => {\n const [openState, setOpenState] = useState(defaultOpen)\n\n return (\n <RadixDropdownMenu.Root\n {...restProps}\n dir={direction}\n modal={interactOutside}\n open={open ?? openState}\n onOpenChange={newOpen => {\n if (open == null) {\n setOpenState(newOpen)\n }\n\n newOpen ? onOpen?.() : onClose?.()\n }}\n />\n )\n}\n\n// Partials\n// -----------------------------------------------------------------------------\n\ninterface Partials {\n CheckboxItem: typeof CheckboxItem\n Content: typeof Content\n IconSlot: typeof IconSlot\n Item: typeof Item\n LinkItem: typeof LinkItem\n Portal: typeof Portal\n RadioGroup: typeof RadioGroup\n RadioItem: typeof RadioItem\n Separator: typeof Separator\n Sub: typeof Sub\n SubContent: typeof SubContent\n SubTrigger: typeof SubTrigger\n SwitchItem: typeof SwitchItem\n Trigger: typeof Trigger\n}\n\nDropdownMenu.CheckboxItem = CheckboxItem\nDropdownMenu.Content = Content\nDropdownMenu.IconSlot = IconSlot\nDropdownMenu.Item = Item\nDropdownMenu.LinkItem = LinkItem\nDropdownMenu.Portal = Portal\nDropdownMenu.RadioGroup = RadioGroup\nDropdownMenu.RadioItem = RadioItem\nDropdownMenu.Separator = Separator\nDropdownMenu.Sub = Sub\nDropdownMenu.SubContent = SubContent\nDropdownMenu.SubTrigger = SubTrigger\nDropdownMenu.SwitchItem = SwitchItem\nDropdownMenu.Trigger = Trigger\n"],"names":["counter","RadixPortal"],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1031,7 +1031,11 @@ interface ContentProps extends StyledContentProps {
1031
1031
  }
1032
1032
  declare const Content: react__default.ForwardRefExoticComponent<Pick<ContentProps, "slot" | "title" | "key" | "loop" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "align" | "asChild" | "css" | "UNSAFE_style" | "sticky" | "side" | "sideOffset" | "alignOffset" | "collisionBoundary" | "collisionPadding" | "hideWhenDetached" | "avoidCollisions" | "onCloseAutoFocus" | "onEscapeKeyDown" | "onPointerDownOutside" | "onFocusOutside" | "onInteractOutside" | "forceMount"> & react__default.RefAttributes<HTMLDivElement>>;
1033
1033
 
1034
- declare const StyledItem: react.ForwardRefExoticComponent<Pick<Omit<{}, never> & _stitches_react_types_styled_component.TransformProps<{}, {}> & _mirohq_design_system_stitches.SafeProps<Omit<RadixDropdownMenu.DropdownMenuItemProps & react.RefAttributes<HTMLDivElement>, "css"> & _stitches_react_types_styled_component.TransformProps<{}, {}> & {
1034
+ declare const StyledItem: react.ForwardRefExoticComponent<Pick<Omit<{
1035
+ hasRightSlot?: boolean | "true" | undefined;
1036
+ }, "hasRightSlot"> & _stitches_react_types_styled_component.TransformProps<{
1037
+ hasRightSlot?: boolean | "true" | undefined;
1038
+ }, {}> & _mirohq_design_system_stitches.SafeProps<Omit<RadixDropdownMenu.DropdownMenuItemProps & react.RefAttributes<HTMLDivElement>, "css"> & _stitches_react_types_styled_component.TransformProps<{}, {}> & {
1035
1039
  css?: _stitches_react_types_css_util.CSS<{}, {
1036
1040
  'border-widths': {
1037
1041
  readonly none: 0;
@@ -1472,7 +1476,9 @@ declare const StyledItem: react.ForwardRefExoticComponent<Pick<Omit<{}, never> &
1472
1476
  }> | undefined;
1473
1477
  }> & {
1474
1478
  children?: react.ReactNode;
1475
- } & _mirohq_design_system_stitches.CustomStylesProps, "slot" | "title" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "disabled" | "asChild" | keyof _mirohq_design_system_stitches.CustomStylesProps | "textValue"> & react.RefAttributes<HTMLDivElement>> & _mirohq_design_system_stitches.StitchesInternals<react.ForwardRefExoticComponent<RadixDropdownMenu.DropdownMenuItemProps & react.RefAttributes<HTMLDivElement>>, {}, {}>;
1479
+ } & _mirohq_design_system_stitches.CustomStylesProps, "slot" | "title" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "disabled" | "asChild" | keyof _mirohq_design_system_stitches.CustomStylesProps | "textValue" | "hasRightSlot"> & react.RefAttributes<HTMLDivElement>> & _mirohq_design_system_stitches.StitchesInternals<react.ForwardRefExoticComponent<RadixDropdownMenu.DropdownMenuItemProps & react.RefAttributes<HTMLDivElement>>, {
1480
+ hasRightSlot?: boolean | "true" | undefined;
1481
+ }, {}>;
1476
1482
  declare type StyledItemProps = StrictComponentProps<typeof StyledItem>;
1477
1483
 
1478
1484
  interface ItemProps extends StyledItemProps {
@@ -1489,12 +1495,12 @@ interface ItemProps extends StyledItemProps {
1489
1495
  */
1490
1496
  textValue?: string;
1491
1497
  }
1492
- declare const Item: react__default.ForwardRefExoticComponent<Pick<ItemProps, "slot" | "title" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "disabled" | "asChild" | "css" | "UNSAFE_style" | "textValue"> & react__default.RefAttributes<HTMLDivElement>>;
1498
+ declare const Item: react__default.ForwardRefExoticComponent<Pick<ItemProps, "slot" | "title" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "disabled" | "asChild" | "css" | "UNSAFE_style" | "textValue" | "hasRightSlot"> & react__default.RefAttributes<HTMLDivElement>>;
1493
1499
 
1494
1500
  declare type ItemPropsWithAnchor = ItemProps & AnchorHTMLAttributes<typeof Item>;
1495
1501
  interface LinkItemProps extends ItemPropsWithAnchor {
1496
1502
  }
1497
- declare const LinkItem: react__default.ForwardRefExoticComponent<Pick<LinkItemProps, "slot" | "style" | "title" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "disabled" | "type" | "referrerPolicy" | "media" | "target" | "href" | "download" | "hrefLang" | "ping" | "rel" | "asChild" | "css" | "UNSAFE_style" | "textValue"> & react__default.RefAttributes<HTMLDivElement>>;
1503
+ declare const LinkItem: react__default.ForwardRefExoticComponent<Pick<LinkItemProps, "slot" | "style" | "title" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "disabled" | "type" | "referrerPolicy" | "media" | "target" | "href" | "download" | "hrefLang" | "ping" | "rel" | "asChild" | "css" | "UNSAFE_style" | "textValue" | "hasRightSlot"> & react__default.RefAttributes<HTMLDivElement>>;
1498
1504
 
1499
1505
  declare const StyledRadioGroup: react.ForwardRefExoticComponent<Pick<Omit<{}, never> & _stitches_react_types_styled_component.TransformProps<{}, {}> & _mirohq_design_system_stitches.SafeProps<Omit<RadixDropdownMenu.DropdownMenuRadioGroupProps & react.RefAttributes<HTMLDivElement>, "css"> & _stitches_react_types_styled_component.TransformProps<{}, {}> & {
1500
1506
  css?: _stitches_react_types_css_util.CSS<{}, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirohq/design-system-dropdown-menu",
3
- "version": "3.2.11",
3
+ "version": "3.2.13",
4
4
  "description": "",
5
5
  "author": "Miro",
6
6
  "source": "src/index.ts",
@@ -28,14 +28,14 @@
28
28
  },
29
29
  "dependencies": {
30
30
  "@radix-ui/react-dropdown-menu": "^1.0.0",
31
- "@mirohq/design-system-primitive": "^1.1.0",
32
- "@mirohq/design-system-switch": "^3.0.2",
33
- "@mirohq/design-system-styles": "^1.0.22",
34
- "@mirohq/design-system-stitches": "^2.3.0"
31
+ "@mirohq/design-system-switch": "^3.0.3",
32
+ "@mirohq/design-system-stitches": "^2.3.1",
33
+ "@mirohq/design-system-styles": "^1.0.23",
34
+ "@mirohq/design-system-primitive": "^1.1.0"
35
35
  },
36
36
  "devDependencies": {
37
- "@mirohq/design-system-button": "^3.1.0",
38
- "@mirohq/design-system-flex": "^2.1.10"
37
+ "@mirohq/design-system-button": "^3.1.1",
38
+ "@mirohq/design-system-flex": "^2.1.11"
39
39
  },
40
40
  "scripts": {
41
41
  "build": "rollup -c ../../../rollup.config.js",