@mirohq/design-system-select 0.1.0-select.1 → 0.1.1

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
@@ -28,7 +28,7 @@ const StyledItem = designSystemStitches.styled(reactSelect.Item, {
28
28
  color: "$text-neutrals",
29
29
  cursor: "pointer",
30
30
  display: "grid",
31
- fontSize: 14,
31
+ fontSize: "$175",
32
32
  gridTemplateAreas: "leftSlot textItem",
33
33
  gridTemplateColumns: "20px 1fr",
34
34
  lineHeight: "20px",
@@ -274,7 +274,7 @@ const StyledContent = designSystemStitches.styled(reactSelect.Content, {
274
274
  lineHeight: "20px",
275
275
  minWidth: "var(--radix-select-trigger-width)",
276
276
  padding: "$50",
277
- zIndex: "$dropdownMenu",
277
+ zIndex: "$select",
278
278
  "& [data-radix-scroll-area-viewport]": {
279
279
  padding: "2px $50 2px 2px",
280
280
  boxSizing: "border-box"
@@ -300,7 +300,7 @@ const Content = React__default["default"].forwardRef(
300
300
  const getOverflowMaxHeight = React.useCallback(() => {
301
301
  const overflowMaxHeigh = "calc(var(--radix-select-content-available-height))";
302
302
  return {
303
- maxHeight: maxHeight === void 0 ? overflowMaxHeigh : maxHeight
303
+ maxHeight: maxHeight != null ? maxHeight : overflowMaxHeigh
304
304
  };
305
305
  }, [maxHeight]);
306
306
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -318,7 +318,7 @@ const Content = React__default["default"].forwardRef(
318
318
  sticky,
319
319
  hideWhenDetached,
320
320
  children: /* @__PURE__ */ jsxRuntime.jsx(reactSelect.Viewport, { children: overflow === "auto" ? /* @__PURE__ */ jsxRuntime.jsxs(designSystemScrollArea.ScrollArea, { type: "always", children: [
321
- /* @__PURE__ */ jsxRuntime.jsx(designSystemScrollArea.ScrollArea.Viewport, { css: { ...getOverflowMaxHeight() }, children }),
321
+ /* @__PURE__ */ jsxRuntime.jsx(designSystemScrollArea.ScrollArea.Viewport, { css: getOverflowMaxHeight(), children }),
322
322
  /* @__PURE__ */ jsxRuntime.jsx(designSystemScrollArea.ScrollArea.Scrollbar, { orientation: "vertical", children: /* @__PURE__ */ jsxRuntime.jsx(designSystemScrollArea.ScrollArea.Thumb, {}) })
323
323
  ] }) : /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children }) })
324
324
  }
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sources":["../src/select.styled.tsx","../partials/group.styled.tsx","../partials/group.tsx","../partials/item.styled.tsx","../partials/item-text.styled.tsx","../partials/item-indicator.styled.tsx","../partials/item.tsx","../partials/portal.styled.tsx","../partials/portal.tsx","../partials/select-icon.styled.tsx","../partials/trigger.styled.tsx","../hooks/use-select-context.tsx","../partials/trigger.tsx","../partials/value.styled.tsx","../partials/value.tsx","../partials/content.styled.tsx","../partials/content.tsx","../partials/label.styled.tsx","../partials/label.tsx","../partials/separator.styled.tsx","../partials/separator.tsx","../src/select.tsx"],"sourcesContent":["import type { ComponentPropsWithRef } from 'react'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Root as RadixSelect } from '@radix-ui/react-select'\n\nexport const StyledSelect = styled(RadixSelect)\n\nexport type StyledSelectProps = ComponentPropsWithRef<typeof StyledSelect>\n","import { Group as RadixGroup } from '@radix-ui/react-select'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledGroup = styled(RadixGroup, {})\n\nexport type StyledGroupProps = StrictComponentProps<typeof StyledGroup>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledGroup } from './group.styled'\nimport type { StyledGroupProps } from './group.styled'\n\nexport interface GroupProps extends StyledGroupProps {}\n\nexport const Group = React.forwardRef<\n ElementRef<typeof StyledGroup>,\n GroupProps\n>((props, forwardRef) => <StyledGroup {...props} ref={forwardRef} />)\n","import { Item as RadixItem } from '@radix-ui/react-select'\nimport { focus } from '@mirohq/design-system-styles'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledItem = styled(RadixItem, {\n all: 'unset',\n borderRadius: '$50',\n boxSizing: 'border-box',\n color: '$text-neutrals',\n cursor: 'pointer',\n display: 'grid',\n fontSize: 14,\n gridTemplateAreas: 'leftSlot textItem',\n gridTemplateColumns: '20px 1fr',\n lineHeight: '20px',\n padding: '6px $150 6px $100',\n position: 'relative',\n userSelect: 'none',\n\n ...focus.css({\n boxShadow: '$focus-small',\n outline: '1px solid transparent',\n }),\n\n '&[data-state=\"checked\"]': {\n color: '$text-primary-selected',\n },\n\n '&:active:not([aria-disabled=\"true\"])': {\n background: '$background-primary-subtle-active',\n boxShadow: 'none',\n color: '$text-primary-active',\n },\n\n '&:disabled, &[aria-disabled=\"true\"], &[data-disabled]': {\n cursor: 'default',\n color: '$text-neutrals-disabled',\n },\n\n '&:disabled, &[data-disabled]': {\n pointerEvents: 'none',\n },\n\n '&:hover:not([aria-disabled=\"true\"])': {\n background: '$background-primary-subtle-hover',\n color: '$text-primary-hover',\n '&:not([aria-disabled=\"true\"])': {\n boxShadow: 'none',\n },\n },\n})\n\nexport type StyledItemProps = StrictComponentProps<typeof StyledItem>\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledItemText = styled('span', {\n display: 'flex',\n gridColumn: 2,\n width: '100%',\n})\n\nexport type StyledItemProps = StrictComponentProps<typeof StyledItemText>\n","import { ItemIndicator as RadixItemIndicator } from '@radix-ui/react-select'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledItemIndicator = styled(RadixItemIndicator, {})\n\nexport type StyledItemIndicatorProps = StrictComponentProps<\n typeof StyledItemIndicator\n>\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { IconCheckMark } from '@mirohq/design-system-icons'\nimport { ItemText as RadixItemText } from '@radix-ui/react-select'\nimport { booleanify } from '@mirohq/design-system-utils'\n\nimport { StyledItem } from './item.styled'\nimport type { StyledItemProps } from './item.styled'\nimport { StyledItemText } from './item-text.styled'\nimport { StyledItemIndicator } from './item-indicator.styled'\n\nexport interface ItemProps extends StyledItemProps {\n /**\n * The value given as data when submitted with a name.\n */\n value: string\n\n /**\n * When true, prevents the user from interacting with the item.\n */\n disabled?: boolean\n\n /**\n * Optional text used for typeahead purposes. By default the typeahead\n * behavior will use the Select's item text. Use this when the content is\n * complex, or you have non-textual content inside.\n */\n textValue?: string\n}\n\nexport const Item = React.forwardRef<ElementRef<typeof StyledItem>, ItemProps>(\n (\n {\n disabled = false,\n textValue,\n 'aria-disabled': ariaDisabled,\n onKeyDown,\n onPointerUp,\n onPointerMove,\n onPointerLeave,\n children,\n ...restProps\n },\n forwardRef\n ) => (\n <StyledItem\n {...restProps}\n aria-disabled={booleanify(ariaDisabled) ? ariaDisabled : undefined}\n onKeyDown={e => {\n if (\n booleanify(ariaDisabled) &&\n e.code !== 'ArrowUp' &&\n e.code !== 'ArrowDown' &&\n e.code !== 'Escape'\n ) {\n e.preventDefault()\n e.stopPropagation()\n return\n }\n\n onKeyDown?.(e)\n }}\n onPointerUp={e => {\n if (booleanify(ariaDisabled)) {\n e.preventDefault()\n return\n }\n\n onPointerUp?.(e)\n }}\n onPointerMove={e => {\n if (booleanify(ariaDisabled)) {\n e.preventDefault()\n return\n }\n\n onPointerMove?.(e)\n }}\n onPointerLeave={e => {\n if (booleanify(ariaDisabled)) {\n e.preventDefault()\n return\n }\n\n onPointerLeave?.(e)\n }}\n textValue={textValue}\n disabled={disabled}\n ref={forwardRef}\n >\n <StyledItemIndicator>\n <IconCheckMark size='small' />\n </StyledItemIndicator>\n <RadixItemText asChild>\n <StyledItemText>{children}</StyledItemText>\n </RadixItemText>\n </StyledItem>\n )\n)\n","import { Portal as RadixPortal } from '@radix-ui/react-select'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledPortal = styled(RadixPortal, {})\n\nexport type StyledPortalProps = StrictComponentProps<typeof StyledPortal>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledPortal } from './portal.styled'\nimport type { StyledPortalProps } from './portal.styled'\n\nexport interface PortalProps extends StyledPortalProps {\n /**\n * Specify a container element to portal the content into.\n */\n container?: HTMLElement | null\n}\n\nexport const Portal = React.forwardRef<\n ElementRef<typeof StyledPortal>,\n PortalProps\n>((props, forwardRef) => <StyledPortal {...props} ref={forwardRef} />)\n","import type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { SelectIcon as RadixSelectIcon } from '@radix-ui/react-select'\n\nexport const StyledSelectIcon = styled(RadixSelectIcon, { flexShrink: 0 })\n\nexport type StyledSelectIconProps = StrictComponentProps<\n typeof StyledSelectIcon\n>\n","import type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Trigger as RadixTrigger } from '@radix-ui/react-select'\nimport { focus } from '@mirohq/design-system-styles'\n\nimport { StyledSelectIcon } from './select-icon.styled'\n\nexport const StyledTrigger = styled(RadixTrigger, {\n all: 'unset',\n backgroundColor: '$background-neutrals-container',\n border: '1px solid $border-neutrals',\n borderRadius: '$50',\n boxSizing: 'border-box',\n color: '$text-neutrals',\n display: 'flex',\n minWidth: 0,\n fontSize: '$200',\n lineHeight: 1.5,\n maxWidth: '$100',\n position: 'relative',\n userSelect: 'none',\n width: '$50',\n justifyContent: 'space-between',\n alignItems: 'center',\n\n svg: {\n color: '$icon-neutrals-text',\n },\n\n '&[data-placeholder]': {\n color: '$text-neutrals-subtle',\n },\n\n '&[data-invalid]': {\n borderColor: '$border-danger',\n\n ...focus.css({\n boxShadow: '$focus-controls-error',\n }),\n },\n\n '&:hover': {\n borderColor: '$border-primary-hover',\n },\n\n '&:active, &[data-state=\"open\"]': {\n borderColor: '$border-primary-active',\n },\n\n ...focus.css({\n boxShadow: '$focus-controls',\n outline: '1px solid transparent',\n }),\n\n '&[disabled], &[aria-disabled=\"true\"]': {\n backgroundColor: '$background-neutrals-disabled',\n borderColor: '$border-neutrals-disabled',\n color: '$text-neutrals-disabled',\n\n svg: {\n color: '$icon-neutrals-disabled',\n },\n },\n\n '&[data-state=\"open\"]': {\n [`& ${StyledSelectIcon}`]: {\n transform: 'rotate(180deg)',\n },\n },\n\n variants: {\n size: {\n medium: {\n height: '$10',\n paddingX: '$100',\n gap: '$50',\n },\n large: {\n height: '$12',\n paddingX: '$150',\n gap: '$100',\n },\n },\n },\n})\n\nexport type StyledTriggerProps = StrictComponentProps<typeof StyledTrigger>\n","import React, { createContext, useContext } from 'react'\nimport type { PropsWithChildren } from 'react'\nimport type { Booleanish } from '@mirohq/design-system-types'\n\ninterface SelectValues {\n invalid: boolean\n ariaDisabled?: Booleanish\n}\n\ninterface SelectContextProps {\n invalid: boolean\n ariaDisabled?: Booleanish\n}\n\nconst SelectContext = createContext<SelectContextProps>({} as any)\n\nexport const SelectProvider = ({\n children,\n invalid,\n ariaDisabled,\n}: PropsWithChildren<SelectValues>): any => (\n <SelectContext.Provider\n value={{\n invalid,\n ariaDisabled,\n }}\n >\n {children}\n </SelectContext.Provider>\n)\n\nexport const useSelectContext = (): SelectContextProps =>\n useContext(SelectContext)\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport { IconChevronDown } from '@mirohq/design-system-icons'\nimport { booleanify } from '@mirohq/design-system-utils'\n\nimport { StyledTrigger } from './trigger.styled'\nimport type { StyledTriggerProps } from './trigger.styled'\nimport { useSelectContext } from '../hooks/use-select-context'\nimport { StyledSelectIcon } from './select-icon.styled'\n\nexport interface TriggerProps extends StyledTriggerProps {\n /**\n * The content.\n */\n children: React.ReactNode\n}\n\nexport const Trigger = React.forwardRef<\n ElementRef<typeof StyledTrigger>,\n TriggerProps\n>(\n (\n { onKeyDown, onPointerDown, children, size = 'medium', ...restProps },\n forwardRef\n ) => {\n const { invalid, ariaDisabled } = useSelectContext()\n\n return (\n <StyledTrigger\n {...restProps}\n size={size}\n ref={forwardRef}\n aria-disabled={ariaDisabled}\n onPointerDown={e => {\n if (booleanify(ariaDisabled)) {\n e.preventDefault()\n } else {\n onPointerDown?.(e)\n }\n }}\n onKeyDown={e => {\n if (\n booleanify(ariaDisabled) &&\n e.code !== 'Tab' &&\n e.code !== 'ArrowUp' &&\n e.code !== 'ArrowDown'\n ) {\n e.preventDefault()\n } else {\n onKeyDown?.(e)\n }\n }}\n data-invalid={invalid ? '' : undefined}\n >\n {children}\n <StyledSelectIcon asChild>\n <IconChevronDown size='small' weight='thin' />\n </StyledSelectIcon>\n </StyledTrigger>\n )\n }\n)\n","import { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledValue = styled('span', {\n overflow: 'hidden',\n paddingX: '$50',\n\n '& span:first-child': {\n display: 'block',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n})\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { Value as RadixValue } from '@radix-ui/react-select'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nimport { StyledValue } from './value.styled'\n\nexport type StyledValueProps = StrictComponentProps<typeof RadixValue>\n\nexport interface ValueProps extends StyledValueProps {\n /**\n * The content that will be rendered inside the Select.Value when no value or\n * defaultValue is set.\n */\n placeholder?: React.ReactNode\n\n /**\n * The controlled content that will be rendered inside the Select.Value.\n */\n children?: React.ReactNode\n}\n\nexport const Value = React.forwardRef<\n ElementRef<typeof StyledValue>,\n ValueProps\n>((props, forwardRef) => (\n <StyledValue>\n <RadixValue {...props} ref={forwardRef} />\n </StyledValue>\n))\n","import { Content as RadixContent } from '@radix-ui/react-select'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledContent = styled(RadixContent, {\n backgroundColor: '$background-neutrals-container',\n borderRadius: '$50',\n boxShadow: '$50',\n fontSize: '$175',\n fontWeight: 'normal',\n lineHeight: '20px',\n minWidth: 'var(--radix-select-trigger-width)',\n padding: '$50',\n zIndex: '$dropdownMenu',\n\n '& [data-radix-scroll-area-viewport]': {\n padding: `2px $50 2px 2px`,\n boxSizing: 'border-box',\n },\n})\n\nexport type StyledContentProps = StrictComponentProps<typeof StyledContent>\n","import React, { useCallback } from 'react'\nimport type { ElementRef, ReactNode } from 'react'\nimport { ScrollArea } from '@mirohq/design-system-scroll-area'\nimport type { CSS, CSSProperties } from '@stitches/react'\nimport { Viewport as RadixViewport } from '@radix-ui/react-select'\nimport { theme } from '@mirohq/design-system-stitches'\n\nimport { StyledContent } from './content.styled'\nimport type { StyledContentProps } from './content.styled'\nimport type {\n Boundary,\n PointerDownOutsideEvent,\n Side,\n Align,\n Overflow,\n} from '../src/types'\n\nexport const CONTENT_OFFSET = parseInt(theme.space[50])\n\nexport interface ContentProps extends StyledContentProps {\n /**\n * Event handler called when focus moves to the trigger after closing. It can\n * be prevented by calling event.preventDefault.\n */\n onCloseAutoFocus?: (event: Event) => void\n\n /**\n * Event handler called when focus moves to the trigger after closing. It can\n * be prevented by 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 * The preferred side of the anchor to render against when open. Will be\n * reversed when collisions occur and avoidCollisions is enabled. Only\n * available when position is set to popper.\n */\n side?: Side\n\n /**\n * The distance in pixels from the anchor. Only available when position is set\n * to popper.\n */\n sideOffset?: number\n\n /**\n * The preferred alignment against the anchor. May change when collisions\n * occur. Only available when position is set to popper.\n */\n align?: Align\n\n /**\n * An offset in pixels from the \"start\" or \"end\" alignment options. Only\n * available when position is set to popper.\n */\n alignOffset?: number\n\n /**\n * When true, overrides the side andalign preferences to prevent collisions\n * with boundary edges. Only available when position is set to popper.\n */\n avoidCollisions?: boolean\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. Only available when position is set to popper.\n */\n collisionBoundary?: Boundary\n\n /**\n * The distance in pixels from the boundary edges where collision detection\n * should occur. Accepts a number (same for all sides), or a partial padding\n * object, for example: { top: 20, left: 20 }. Only available when position is\n * set to popper.\n */\n collisionPadding?: number | Partial<Record<Side, number>>\n\n /**\n * The sticky behavior on the align axis. \"partial\" will keep the content in the\n * boundary as long as the trigger is at least partially in the boundary whilst\n * \"always\" will keep the content in the boundary regardless. Only available\n * when position is set to popper.\n */\n sticky?: 'partial' | 'always'\n\n /**\n * Whether to hide the content when the trigger becomes fully occluded. Only\n * available when position is set to popper.\n */\n hideWhenDetached?: boolean\n\n /**\n * The max height for the content.\n */\n maxHeight?: CSSProperties['maxHeight']\n\n /**\n * Setting overflow as \"visible\" means that the content can extend beyond the\n * its collision boundary without any clipping or scrolling being\n * applied.\n * When set to \"auto,\" a scrollbar is added if the content exceeds its\n * boundaries. If no maxHeight is defined, it will be automatically adjusted\n * to fit the remaining space between the trigger and the boundary edge.\n */\n overflow?: Overflow\n\n /**\n * Select's content.\n */\n children?: ReactNode\n}\n\nexport const Content = React.forwardRef<\n ElementRef<typeof StyledContent>,\n ContentProps\n>(\n (\n {\n side = 'bottom',\n sideOffset = CONTENT_OFFSET,\n align = 'center',\n alignOffset = 0,\n collisionPadding = 0,\n avoidCollisions = true,\n sticky = 'partial',\n hideWhenDetached = true,\n overflow = 'visible',\n maxHeight,\n children,\n ...restProps\n },\n forwardRef\n ) => {\n const getOverflowMaxHeight = useCallback((): CSS => {\n const overflowMaxHeigh = `calc(var(--radix-select-content-available-height))`\n\n return {\n maxHeight: maxHeight === undefined ? overflowMaxHeigh : maxHeight,\n }\n }, [maxHeight])\n return (\n <StyledContent\n {...restProps}\n ref={forwardRef}\n position='popper'\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 <RadixViewport>\n {overflow === 'auto' ? (\n <ScrollArea type='always'>\n <ScrollArea.Viewport css={{ ...getOverflowMaxHeight() }}>\n {children}\n </ScrollArea.Viewport>\n <ScrollArea.Scrollbar orientation='vertical'>\n <ScrollArea.Thumb />\n </ScrollArea.Scrollbar>\n </ScrollArea>\n ) : (\n <>{children}</>\n )}\n </RadixViewport>\n </StyledContent>\n )\n }\n)\n","import { Label as RadixLabel } from '@radix-ui/react-select'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledLabel = styled(RadixLabel, {\n color: '$text-neutrals-subtle',\n marginLeft: '$300',\n padding: '6px $50',\n})\n\nexport type StyledLabelProps = StrictComponentProps<typeof StyledLabel>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledLabel } from './label.styled'\nimport type { StyledLabelProps } from './label.styled'\n\nexport interface LabelProps extends StyledLabelProps {}\n\nexport const Label = React.forwardRef<\n ElementRef<typeof StyledLabel>,\n LabelProps\n>((props, forwardRef) => <StyledLabel {...props} ref={forwardRef} />)\n","import { Separator as RadixSeparator } from '@radix-ui/react-select'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledSeparator = styled(RadixSeparator, {\n backgroundColor: '$border-neutrals-subtle',\n height: '1px',\n width: '100%',\n margin: '5.5px 0',\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, { useState } from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\nimport type { Booleanish } from '@mirohq/design-system-types'\n\nimport { StyledSelect } from './select.styled'\nimport type { StyledSelectProps } from './select.styled'\nimport { Group } from '../partials/group'\nimport { Item } from '../partials/item'\nimport { Portal } from '../partials/portal'\nimport { Trigger } from '../partials/trigger'\nimport { Value } from '../partials/value'\nimport { Content } from '../partials/content'\nimport { Label } from '../partials/label'\nimport { Separator } from '../partials/separator'\nimport { SelectProvider } from '../hooks/use-select-context'\n\nexport interface SelectProps extends StyledSelectProps {\n /**\n * The value of the select when initially rendered. Use when you do not need\n * to control the state of the select.\n */\n defaultValue?: string\n\n /**\n * The controlled value of the select. Should be used in conjunction with\n * onValueChange.\n */\n value?: string\n\n /**\n * Event handler called when the value changes.\n */\n onValueChange?: (value: string) => void\n\n /**\n * The open state of the select when it is initially rendered. Use when you do\n * not need to control its open state.\n */\n defaultOpen?: boolean\n\n /**\n * The controlled open state of the select. Must be used in conjunction with\n * onOpenChange.\n */\n open?: boolean\n\n /**\n * Event handler called when the select opens.\n */\n onOpen?: () => void\n\n /**\n * Event handler called when the select closes.\n */\n onClose?: () => void\n\n /**\n * The reading direction of the select when applicable. If omitted, inherits\n * globally from DirectionProvider or assumes LTR (left-to-right) reading\n * mode.\n */\n direction?: 'ltr' | 'rtl'\n\n /**\n * The name of the select. Submitted with its owning form as part of a\n * name/value pair.\n */\n name?: string\n\n /**\n * When true, prevents the user from interacting with select.\n */\n disabled?: boolean\n\n /**\n * When true, prevents the user from opening with select, while allowing focus and hover.\n */\n 'aria-disabled'?: Booleanish\n\n /**\n * When true, indicates that the user must select a value before the owning\n * form can be submitted.\n */\n required?: boolean\n\n /**\n * When true, indicates that the select value contains an error which have to be fixed before the owning\n * form can be submitted.\n */\n invalid?: boolean\n}\n\nexport const Select = React.forwardRef<\n ElementRef<typeof StyledSelect>,\n SelectProps\n>(\n (\n {\n defaultOpen = false,\n direction = 'ltr',\n open,\n onOpen,\n onClose,\n invalid = false,\n 'aria-disabled': ariaDisabled,\n disabled,\n ...restProps\n },\n forwardRef\n ) => {\n const [openState, setOpenState] = useState(defaultOpen)\n return (\n <SelectProvider invalid={invalid} ariaDisabled={ariaDisabled}>\n <StyledSelect\n {...restProps}\n aria-disabled={ariaDisabled}\n disabled={disabled}\n dir={direction}\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 </SelectProvider>\n )\n }\n) as ForwardRefExoticComponent<SelectProps> & Partials\n\ninterface Partials {\n Content: typeof Content\n Separator: typeof Separator\n Label: typeof Label\n Group: typeof Group\n Item: typeof Item\n Portal: typeof Portal\n Trigger: typeof Trigger\n Value: typeof Value\n}\n\nSelect.Group = Group\nSelect.Separator = Separator\nSelect.Content = Content\nSelect.Item = Item\nSelect.Portal = Portal\nSelect.Trigger = Trigger\nSelect.Value = Value\nSelect.Label = Label\n"],"names":["styled","RadixSelect","RadixGroup","React","jsx","RadixItem","focus","RadixItemIndicator","jsxs","booleanify","IconCheckMark","RadixItemText","RadixPortal","RadixSelectIcon","RadixTrigger","createContext","useContext","IconChevronDown","RadixValue","RadixContent","theme","useCallback","RadixViewport","ScrollArea","Fragment","RadixLabel","RadixSeparator","useState"],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sources":["../src/select.styled.tsx","../src/partials/group.styled.tsx","../src/partials/group.tsx","../src/partials/item.styled.tsx","../src/partials/item-text.styled.tsx","../src/partials/item-indicator.styled.tsx","../src/partials/item.tsx","../src/partials/portal.styled.tsx","../src/partials/portal.tsx","../src/partials/select-icon.styled.tsx","../src/partials/trigger.styled.tsx","../src/hooks/use-select-context.tsx","../src/partials/trigger.tsx","../src/partials/value.styled.tsx","../src/partials/value.tsx","../src/partials/content.styled.tsx","../src/partials/content.tsx","../src/partials/label.styled.tsx","../src/partials/label.tsx","../src/partials/separator.styled.tsx","../src/partials/separator.tsx","../src/select.tsx"],"sourcesContent":["import type { ComponentPropsWithRef } from 'react'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Root as RadixSelect } from '@radix-ui/react-select'\n\nexport const StyledSelect = styled(RadixSelect)\n\nexport type StyledSelectProps = ComponentPropsWithRef<typeof StyledSelect>\n","import { Group as RadixGroup } from '@radix-ui/react-select'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledGroup = styled(RadixGroup, {})\n\nexport type StyledGroupProps = StrictComponentProps<typeof StyledGroup>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledGroup } from './group.styled'\nimport type { StyledGroupProps } from './group.styled'\n\nexport interface GroupProps extends StyledGroupProps {}\n\nexport const Group = React.forwardRef<\n ElementRef<typeof StyledGroup>,\n GroupProps\n>((props, forwardRef) => <StyledGroup {...props} ref={forwardRef} />)\n","import { Item as RadixItem } from '@radix-ui/react-select'\nimport { focus } from '@mirohq/design-system-styles'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledItem = styled(RadixItem, {\n all: 'unset',\n borderRadius: '$50',\n boxSizing: 'border-box',\n color: '$text-neutrals',\n cursor: 'pointer',\n display: 'grid',\n fontSize: '$175',\n gridTemplateAreas: 'leftSlot textItem',\n gridTemplateColumns: '20px 1fr',\n lineHeight: '20px',\n padding: '6px $150 6px $100',\n position: 'relative',\n userSelect: 'none',\n\n ...focus.css({\n boxShadow: '$focus-small',\n outline: '1px solid transparent',\n }),\n\n '&[data-state=\"checked\"]': {\n color: '$text-primary-selected',\n },\n\n '&:active:not([aria-disabled=\"true\"])': {\n background: '$background-primary-subtle-active',\n boxShadow: 'none',\n color: '$text-primary-active',\n },\n\n '&:disabled, &[aria-disabled=\"true\"], &[data-disabled]': {\n cursor: 'default',\n color: '$text-neutrals-disabled',\n },\n\n '&:disabled, &[data-disabled]': {\n pointerEvents: 'none',\n },\n\n '&:hover:not([aria-disabled=\"true\"])': {\n background: '$background-primary-subtle-hover',\n color: '$text-primary-hover',\n '&:not([aria-disabled=\"true\"])': {\n boxShadow: 'none',\n },\n },\n})\n\nexport type StyledItemProps = StrictComponentProps<typeof StyledItem>\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledItemText = styled('span', {\n display: 'flex',\n gridColumn: 2,\n width: '100%',\n})\n\nexport type StyledItemProps = StrictComponentProps<typeof StyledItemText>\n","import { ItemIndicator as RadixItemIndicator } from '@radix-ui/react-select'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledItemIndicator = styled(RadixItemIndicator, {})\n\nexport type StyledItemIndicatorProps = StrictComponentProps<\n typeof StyledItemIndicator\n>\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { IconCheckMark } from '@mirohq/design-system-icons'\nimport { ItemText as RadixItemText } from '@radix-ui/react-select'\nimport { booleanify } from '@mirohq/design-system-utils'\n\nimport { StyledItem } from './item.styled'\nimport type { StyledItemProps } from './item.styled'\nimport { StyledItemText } from './item-text.styled'\nimport { StyledItemIndicator } from './item-indicator.styled'\n\nexport interface ItemProps extends StyledItemProps {\n /**\n * The value given as data when submitted with a name.\n */\n value: string\n\n /**\n * When true, prevents the user from interacting with the item.\n */\n disabled?: boolean\n\n /**\n * Optional text used for typeahead purposes. By default the typeahead\n * behavior will use the Select's item text. Use this when the content is\n * complex, or you have non-textual content inside.\n */\n textValue?: string\n}\n\nexport const Item = React.forwardRef<ElementRef<typeof StyledItem>, ItemProps>(\n (\n {\n disabled = false,\n textValue,\n 'aria-disabled': ariaDisabled,\n onKeyDown,\n onPointerUp,\n onPointerMove,\n onPointerLeave,\n children,\n ...restProps\n },\n forwardRef\n ) => (\n <StyledItem\n {...restProps}\n aria-disabled={booleanify(ariaDisabled) ? ariaDisabled : undefined}\n onKeyDown={e => {\n if (\n booleanify(ariaDisabled) &&\n e.code !== 'ArrowUp' &&\n e.code !== 'ArrowDown' &&\n e.code !== 'Escape'\n ) {\n e.preventDefault()\n e.stopPropagation()\n return\n }\n\n onKeyDown?.(e)\n }}\n onPointerUp={e => {\n if (booleanify(ariaDisabled)) {\n e.preventDefault()\n return\n }\n\n onPointerUp?.(e)\n }}\n onPointerMove={e => {\n if (booleanify(ariaDisabled)) {\n e.preventDefault()\n return\n }\n\n onPointerMove?.(e)\n }}\n onPointerLeave={e => {\n if (booleanify(ariaDisabled)) {\n e.preventDefault()\n return\n }\n\n onPointerLeave?.(e)\n }}\n textValue={textValue}\n disabled={disabled}\n ref={forwardRef}\n >\n <StyledItemIndicator>\n <IconCheckMark size='small' />\n </StyledItemIndicator>\n <RadixItemText asChild>\n <StyledItemText>{children}</StyledItemText>\n </RadixItemText>\n </StyledItem>\n )\n)\n","import { Portal as RadixPortal } from '@radix-ui/react-select'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledPortal = styled(RadixPortal, {})\n\nexport type StyledPortalProps = StrictComponentProps<typeof StyledPortal>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledPortal } from './portal.styled'\nimport type { StyledPortalProps } from './portal.styled'\n\nexport interface PortalProps extends StyledPortalProps {\n /**\n * Specify a container element to portal the content into.\n */\n container?: HTMLElement | null\n}\n\nexport const Portal = React.forwardRef<\n ElementRef<typeof StyledPortal>,\n PortalProps\n>((props, forwardRef) => <StyledPortal {...props} ref={forwardRef} />)\n","import type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { SelectIcon as RadixSelectIcon } from '@radix-ui/react-select'\n\nexport const StyledSelectIcon = styled(RadixSelectIcon, { flexShrink: 0 })\n\nexport type StyledSelectIconProps = StrictComponentProps<\n typeof StyledSelectIcon\n>\n","import type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Trigger as RadixTrigger } from '@radix-ui/react-select'\nimport { focus } from '@mirohq/design-system-styles'\n\nimport { StyledSelectIcon } from './select-icon.styled'\n\nexport const StyledTrigger = styled(RadixTrigger, {\n all: 'unset',\n backgroundColor: '$background-neutrals-container',\n border: '1px solid $border-neutrals',\n borderRadius: '$50',\n boxSizing: 'border-box',\n color: '$text-neutrals',\n display: 'flex',\n minWidth: 0,\n fontSize: '$200',\n lineHeight: 1.5,\n maxWidth: '$100',\n position: 'relative',\n userSelect: 'none',\n width: '$50',\n justifyContent: 'space-between',\n alignItems: 'center',\n\n svg: {\n color: '$icon-neutrals-text',\n },\n\n '&[data-placeholder]': {\n color: '$text-neutrals-subtle',\n },\n\n '&[data-invalid]': {\n borderColor: '$border-danger',\n\n ...focus.css({\n boxShadow: '$focus-controls-error',\n }),\n },\n\n '&:hover': {\n borderColor: '$border-primary-hover',\n },\n\n '&:active, &[data-state=\"open\"]': {\n borderColor: '$border-primary-active',\n },\n\n ...focus.css({\n boxShadow: '$focus-controls',\n outline: '1px solid transparent',\n }),\n\n '&[disabled], &[aria-disabled=\"true\"]': {\n backgroundColor: '$background-neutrals-disabled',\n borderColor: '$border-neutrals-disabled',\n color: '$text-neutrals-disabled',\n\n svg: {\n color: '$icon-neutrals-disabled',\n },\n },\n\n '&[data-state=\"open\"]': {\n [`& ${StyledSelectIcon}`]: {\n transform: 'rotate(180deg)',\n },\n },\n\n variants: {\n size: {\n medium: {\n height: '$10',\n paddingX: '$100',\n gap: '$50',\n },\n large: {\n height: '$12',\n paddingX: '$150',\n gap: '$100',\n },\n },\n },\n})\n\nexport type StyledTriggerProps = StrictComponentProps<typeof StyledTrigger>\n","import React, { createContext, useContext } from 'react'\nimport type { PropsWithChildren } from 'react'\nimport type { Booleanish } from '@mirohq/design-system-types'\n\ninterface SelectValues {\n invalid: boolean\n ariaDisabled?: Booleanish\n}\n\ninterface SelectContextProps {\n invalid: boolean\n ariaDisabled?: Booleanish\n}\n\nconst SelectContext = createContext<SelectContextProps>({} as any)\n\nexport const SelectProvider = ({\n children,\n invalid,\n ariaDisabled,\n}: PropsWithChildren<SelectValues>): any => (\n <SelectContext.Provider\n value={{\n invalid,\n ariaDisabled,\n }}\n >\n {children}\n </SelectContext.Provider>\n)\n\nexport const useSelectContext = (): SelectContextProps =>\n useContext(SelectContext)\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport { IconChevronDown } from '@mirohq/design-system-icons'\nimport { booleanify } from '@mirohq/design-system-utils'\n\nimport { StyledTrigger } from './trigger.styled'\nimport type { StyledTriggerProps } from './trigger.styled'\nimport { useSelectContext } from '../hooks/use-select-context'\nimport { StyledSelectIcon } from './select-icon.styled'\n\nexport interface TriggerProps extends StyledTriggerProps {\n /**\n * The content.\n */\n children: React.ReactNode\n}\n\nexport const Trigger = React.forwardRef<\n ElementRef<typeof StyledTrigger>,\n TriggerProps\n>(\n (\n { onKeyDown, onPointerDown, children, size = 'medium', ...restProps },\n forwardRef\n ) => {\n const { invalid, ariaDisabled } = useSelectContext()\n\n return (\n <StyledTrigger\n {...restProps}\n size={size}\n ref={forwardRef}\n aria-disabled={ariaDisabled}\n onPointerDown={e => {\n if (booleanify(ariaDisabled)) {\n e.preventDefault()\n } else {\n onPointerDown?.(e)\n }\n }}\n onKeyDown={e => {\n if (\n booleanify(ariaDisabled) &&\n e.code !== 'Tab' &&\n e.code !== 'ArrowUp' &&\n e.code !== 'ArrowDown'\n ) {\n e.preventDefault()\n } else {\n onKeyDown?.(e)\n }\n }}\n data-invalid={invalid ? '' : undefined}\n >\n {children}\n <StyledSelectIcon asChild>\n <IconChevronDown size='small' weight='thin' />\n </StyledSelectIcon>\n </StyledTrigger>\n )\n }\n)\n","import { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledValue = styled('span', {\n overflow: 'hidden',\n paddingX: '$50',\n\n '& span:first-child': {\n display: 'block',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n})\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { Value as RadixValue } from '@radix-ui/react-select'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nimport { StyledValue } from './value.styled'\n\nexport type StyledValueProps = StrictComponentProps<typeof RadixValue>\n\nexport interface ValueProps extends StyledValueProps {\n /**\n * The content that will be rendered inside the Select.Value when no value or\n * defaultValue is set.\n */\n placeholder?: React.ReactNode\n\n /**\n * The controlled content that will be rendered inside the Select.Value.\n */\n children?: React.ReactNode\n}\n\nexport const Value = React.forwardRef<\n ElementRef<typeof StyledValue>,\n ValueProps\n>((props, forwardRef) => (\n <StyledValue>\n <RadixValue {...props} ref={forwardRef} />\n </StyledValue>\n))\n","import { Content as RadixContent } from '@radix-ui/react-select'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledContent = styled(RadixContent, {\n backgroundColor: '$background-neutrals-container',\n borderRadius: '$50',\n boxShadow: '$50',\n fontSize: '$175',\n fontWeight: 'normal',\n lineHeight: '20px',\n minWidth: 'var(--radix-select-trigger-width)',\n padding: '$50',\n zIndex: '$select',\n\n '& [data-radix-scroll-area-viewport]': {\n padding: `2px $50 2px 2px`,\n boxSizing: 'border-box',\n },\n})\n\nexport type StyledContentProps = StrictComponentProps<typeof StyledContent>\n","import React, { useCallback } from 'react'\nimport type { ElementRef, ReactNode } from 'react'\nimport { ScrollArea } from '@mirohq/design-system-scroll-area'\nimport type { CSS, CSSProperties } from '@stitches/react'\nimport { Viewport as RadixViewport } from '@radix-ui/react-select'\nimport { theme } from '@mirohq/design-system-stitches'\n\nimport { StyledContent } from './content.styled'\nimport type { StyledContentProps } from './content.styled'\nimport type {\n Boundary,\n PointerDownOutsideEvent,\n Side,\n Align,\n Overflow,\n Sticky,\n} from '../types'\n\nexport const CONTENT_OFFSET = parseInt(theme.space[50])\n\nexport interface ContentProps extends StyledContentProps {\n /**\n * Event handler called when focus moves to the trigger after closing. It can\n * be prevented by calling event.preventDefault.\n */\n onCloseAutoFocus?: (event: Event) => void\n\n /**\n * Event handler called when focus moves to the trigger after closing. It can\n * be prevented by 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 * The preferred side of the anchor to render against when open. Will be\n * reversed when collisions occur and avoidCollisions is enabled. Only\n * available when position is set to popper.\n */\n side?: Side\n\n /**\n * The distance in pixels from the anchor. Only available when position is set\n * to popper.\n */\n sideOffset?: number\n\n /**\n * The preferred alignment against the anchor. May change when collisions\n * occur. Only available when position is set to popper.\n */\n align?: Align\n\n /**\n * An offset in pixels from the \"start\" or \"end\" alignment options. Only\n * available when position is set to popper.\n */\n alignOffset?: number\n\n /**\n * When true, overrides the side andalign preferences to prevent collisions\n * with boundary edges. Only available when position is set to popper.\n */\n avoidCollisions?: boolean\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. Only available when position is set to popper.\n */\n collisionBoundary?: Boundary\n\n /**\n * The distance in pixels from the boundary edges where collision detection\n * should occur. Accepts a number (same for all sides), or a partial padding\n * object, for example: { top: 20, left: 20 }. Only available when position is\n * set to popper.\n */\n collisionPadding?: number | Partial<Record<Side, number>>\n\n /**\n * The sticky behavior on the align axis. \"partial\" will keep the content in the\n * boundary as long as the trigger is at least partially in the boundary whilst\n * \"always\" will keep the content in the boundary regardless. Only available\n * when position is set to popper.\n */\n sticky?: Sticky\n\n /**\n * Whether to hide the content when the trigger becomes fully occluded. Only\n * available when position is set to popper.\n */\n hideWhenDetached?: boolean\n\n /**\n * The max height for the content.\n */\n maxHeight?: CSSProperties['maxHeight']\n\n /**\n * Setting overflow as \"visible\" means that the content can extend beyond the\n * its collision boundary without any clipping or scrolling being\n * applied.\n * When set to \"auto,\" a scrollbar is added if the content exceeds its\n * boundaries. If no maxHeight is defined, it will be automatically adjusted\n * to fit the remaining space between the trigger and the boundary edge.\n */\n overflow?: Overflow\n\n /**\n * Select's content.\n */\n children?: ReactNode\n}\n\nexport const Content = React.forwardRef<\n ElementRef<typeof StyledContent>,\n ContentProps\n>(\n (\n {\n side = 'bottom',\n sideOffset = CONTENT_OFFSET,\n align = 'center',\n alignOffset = 0,\n collisionPadding = 0,\n avoidCollisions = true,\n sticky = 'partial',\n hideWhenDetached = true,\n overflow = 'visible',\n maxHeight,\n children,\n ...restProps\n },\n forwardRef\n ) => {\n const getOverflowMaxHeight = useCallback((): CSS => {\n const overflowMaxHeigh = `calc(var(--radix-select-content-available-height))`\n\n return {\n maxHeight: maxHeight ?? overflowMaxHeigh,\n }\n }, [maxHeight])\n return (\n <StyledContent\n {...restProps}\n ref={forwardRef}\n position='popper'\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 <RadixViewport>\n {overflow === 'auto' ? (\n <ScrollArea type='always'>\n <ScrollArea.Viewport css={getOverflowMaxHeight()}>\n {children}\n </ScrollArea.Viewport>\n <ScrollArea.Scrollbar orientation='vertical'>\n <ScrollArea.Thumb />\n </ScrollArea.Scrollbar>\n </ScrollArea>\n ) : (\n <>{children}</>\n )}\n </RadixViewport>\n </StyledContent>\n )\n }\n)\n","import { Label as RadixLabel } from '@radix-ui/react-select'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledLabel = styled(RadixLabel, {\n color: '$text-neutrals-subtle',\n marginLeft: '$300',\n padding: '6px $50',\n})\n\nexport type StyledLabelProps = StrictComponentProps<typeof StyledLabel>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledLabel } from './label.styled'\nimport type { StyledLabelProps } from './label.styled'\n\nexport interface LabelProps extends StyledLabelProps {}\n\nexport const Label = React.forwardRef<\n ElementRef<typeof StyledLabel>,\n LabelProps\n>((props, forwardRef) => <StyledLabel {...props} ref={forwardRef} />)\n","import { Separator as RadixSeparator } from '@radix-ui/react-select'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledSeparator = styled(RadixSeparator, {\n backgroundColor: '$border-neutrals-subtle',\n height: '1px',\n width: '100%',\n margin: '5.5px 0',\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, { useState } from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\nimport type { Booleanish } from '@mirohq/design-system-types'\n\nimport { StyledSelect } from './select.styled'\nimport type { StyledSelectProps } from './select.styled'\nimport { Group } from './partials/group'\nimport { Item } from './partials/item'\nimport { Portal } from './partials/portal'\nimport { Trigger } from './partials/trigger'\nimport { Value } from './partials/value'\nimport { Content } from './partials/content'\nimport { Label } from './partials/label'\nimport { Separator } from './partials/separator'\nimport { SelectProvider } from './hooks/use-select-context'\n\nexport interface SelectProps extends StyledSelectProps {\n /**\n * The value of the select when initially rendered. Use when you do not need\n * to control the state of the select.\n */\n defaultValue?: string\n\n /**\n * The controlled value of the select. Should be used in conjunction with\n * onValueChange.\n */\n value?: string\n\n /**\n * Event handler called when the value changes.\n */\n onValueChange?: (value: string) => void\n\n /**\n * The open state of the select when it is initially rendered. Use when you do\n * not need to control its open state.\n */\n defaultOpen?: boolean\n\n /**\n * The controlled open state of the select. Must be used in conjunction with\n * onOpenChange.\n */\n open?: boolean\n\n /**\n * Event handler called when the select opens.\n */\n onOpen?: () => void\n\n /**\n * Event handler called when the select closes.\n */\n onClose?: () => void\n\n /**\n * The reading direction of the select when applicable. If omitted, inherits\n * globally from DirectionProvider or assumes LTR (left-to-right) reading\n * mode.\n */\n direction?: 'ltr' | 'rtl'\n\n /**\n * The name of the select. Submitted with its owning form as part of a\n * name/value pair.\n */\n name?: string\n\n /**\n * When true, prevents the user from interacting with select.\n */\n disabled?: boolean\n\n /**\n * When true, prevents the user from opening with select, while allowing focus and hover.\n */\n 'aria-disabled'?: Booleanish\n\n /**\n * When true, indicates that the user must select a value before the owning\n * form can be submitted.\n */\n required?: boolean\n\n /**\n * When true, indicates that the select value contains an error which have to be fixed before the owning\n * form can be submitted.\n */\n invalid?: boolean\n}\n\nexport const Select = React.forwardRef<\n ElementRef<typeof StyledSelect>,\n SelectProps\n>(\n (\n {\n defaultOpen = false,\n direction = 'ltr',\n open,\n onOpen,\n onClose,\n invalid = false,\n 'aria-disabled': ariaDisabled,\n disabled,\n ...restProps\n },\n forwardRef\n ) => {\n const [openState, setOpenState] = useState(defaultOpen)\n return (\n <SelectProvider invalid={invalid} ariaDisabled={ariaDisabled}>\n <StyledSelect\n {...restProps}\n aria-disabled={ariaDisabled}\n disabled={disabled}\n dir={direction}\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 </SelectProvider>\n )\n }\n) as ForwardRefExoticComponent<SelectProps> & Partials\n\ninterface Partials {\n Content: typeof Content\n Separator: typeof Separator\n Label: typeof Label\n Group: typeof Group\n Item: typeof Item\n Portal: typeof Portal\n Trigger: typeof Trigger\n Value: typeof Value\n}\n\nSelect.Group = Group\nSelect.Separator = Separator\nSelect.Content = Content\nSelect.Item = Item\nSelect.Portal = Portal\nSelect.Trigger = Trigger\nSelect.Value = Value\nSelect.Label = Label\n"],"names":["styled","RadixSelect","RadixGroup","React","jsx","RadixItem","focus","RadixItemIndicator","jsxs","booleanify","IconCheckMark","RadixItemText","RadixPortal","RadixSelectIcon","RadixTrigger","createContext","useContext","IconChevronDown","RadixValue","RadixContent","theme","useCallback","RadixViewport","ScrollArea","Fragment","RadixLabel","RadixSeparator","useState"],"mappings":"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"}
package/dist/module.js CHANGED
@@ -20,7 +20,7 @@ const StyledItem = styled(Item$1, {
20
20
  color: "$text-neutrals",
21
21
  cursor: "pointer",
22
22
  display: "grid",
23
- fontSize: 14,
23
+ fontSize: "$175",
24
24
  gridTemplateAreas: "leftSlot textItem",
25
25
  gridTemplateColumns: "20px 1fr",
26
26
  lineHeight: "20px",
@@ -266,7 +266,7 @@ const StyledContent = styled(Content$1, {
266
266
  lineHeight: "20px",
267
267
  minWidth: "var(--radix-select-trigger-width)",
268
268
  padding: "$50",
269
- zIndex: "$dropdownMenu",
269
+ zIndex: "$select",
270
270
  "& [data-radix-scroll-area-viewport]": {
271
271
  padding: "2px $50 2px 2px",
272
272
  boxSizing: "border-box"
@@ -292,7 +292,7 @@ const Content = React.forwardRef(
292
292
  const getOverflowMaxHeight = useCallback(() => {
293
293
  const overflowMaxHeigh = "calc(var(--radix-select-content-available-height))";
294
294
  return {
295
- maxHeight: maxHeight === void 0 ? overflowMaxHeigh : maxHeight
295
+ maxHeight: maxHeight != null ? maxHeight : overflowMaxHeigh
296
296
  };
297
297
  }, [maxHeight]);
298
298
  return /* @__PURE__ */ jsx(
@@ -310,7 +310,7 @@ const Content = React.forwardRef(
310
310
  sticky,
311
311
  hideWhenDetached,
312
312
  children: /* @__PURE__ */ jsx(Viewport, { children: overflow === "auto" ? /* @__PURE__ */ jsxs(ScrollArea, { type: "always", children: [
313
- /* @__PURE__ */ jsx(ScrollArea.Viewport, { css: { ...getOverflowMaxHeight() }, children }),
313
+ /* @__PURE__ */ jsx(ScrollArea.Viewport, { css: getOverflowMaxHeight(), children }),
314
314
  /* @__PURE__ */ jsx(ScrollArea.Scrollbar, { orientation: "vertical", children: /* @__PURE__ */ jsx(ScrollArea.Thumb, {}) })
315
315
  ] }) : /* @__PURE__ */ jsx(Fragment, { children }) })
316
316
  }
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sources":["../src/select.styled.tsx","../partials/group.styled.tsx","../partials/group.tsx","../partials/item.styled.tsx","../partials/item-text.styled.tsx","../partials/item-indicator.styled.tsx","../partials/item.tsx","../partials/portal.styled.tsx","../partials/portal.tsx","../partials/select-icon.styled.tsx","../partials/trigger.styled.tsx","../hooks/use-select-context.tsx","../partials/trigger.tsx","../partials/value.styled.tsx","../partials/value.tsx","../partials/content.styled.tsx","../partials/content.tsx","../partials/label.styled.tsx","../partials/label.tsx","../partials/separator.styled.tsx","../partials/separator.tsx","../src/select.tsx"],"sourcesContent":["import type { ComponentPropsWithRef } from 'react'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Root as RadixSelect } from '@radix-ui/react-select'\n\nexport const StyledSelect = styled(RadixSelect)\n\nexport type StyledSelectProps = ComponentPropsWithRef<typeof StyledSelect>\n","import { Group as RadixGroup } from '@radix-ui/react-select'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledGroup = styled(RadixGroup, {})\n\nexport type StyledGroupProps = StrictComponentProps<typeof StyledGroup>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledGroup } from './group.styled'\nimport type { StyledGroupProps } from './group.styled'\n\nexport interface GroupProps extends StyledGroupProps {}\n\nexport const Group = React.forwardRef<\n ElementRef<typeof StyledGroup>,\n GroupProps\n>((props, forwardRef) => <StyledGroup {...props} ref={forwardRef} />)\n","import { Item as RadixItem } from '@radix-ui/react-select'\nimport { focus } from '@mirohq/design-system-styles'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledItem = styled(RadixItem, {\n all: 'unset',\n borderRadius: '$50',\n boxSizing: 'border-box',\n color: '$text-neutrals',\n cursor: 'pointer',\n display: 'grid',\n fontSize: 14,\n gridTemplateAreas: 'leftSlot textItem',\n gridTemplateColumns: '20px 1fr',\n lineHeight: '20px',\n padding: '6px $150 6px $100',\n position: 'relative',\n userSelect: 'none',\n\n ...focus.css({\n boxShadow: '$focus-small',\n outline: '1px solid transparent',\n }),\n\n '&[data-state=\"checked\"]': {\n color: '$text-primary-selected',\n },\n\n '&:active:not([aria-disabled=\"true\"])': {\n background: '$background-primary-subtle-active',\n boxShadow: 'none',\n color: '$text-primary-active',\n },\n\n '&:disabled, &[aria-disabled=\"true\"], &[data-disabled]': {\n cursor: 'default',\n color: '$text-neutrals-disabled',\n },\n\n '&:disabled, &[data-disabled]': {\n pointerEvents: 'none',\n },\n\n '&:hover:not([aria-disabled=\"true\"])': {\n background: '$background-primary-subtle-hover',\n color: '$text-primary-hover',\n '&:not([aria-disabled=\"true\"])': {\n boxShadow: 'none',\n },\n },\n})\n\nexport type StyledItemProps = StrictComponentProps<typeof StyledItem>\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledItemText = styled('span', {\n display: 'flex',\n gridColumn: 2,\n width: '100%',\n})\n\nexport type StyledItemProps = StrictComponentProps<typeof StyledItemText>\n","import { ItemIndicator as RadixItemIndicator } from '@radix-ui/react-select'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledItemIndicator = styled(RadixItemIndicator, {})\n\nexport type StyledItemIndicatorProps = StrictComponentProps<\n typeof StyledItemIndicator\n>\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { IconCheckMark } from '@mirohq/design-system-icons'\nimport { ItemText as RadixItemText } from '@radix-ui/react-select'\nimport { booleanify } from '@mirohq/design-system-utils'\n\nimport { StyledItem } from './item.styled'\nimport type { StyledItemProps } from './item.styled'\nimport { StyledItemText } from './item-text.styled'\nimport { StyledItemIndicator } from './item-indicator.styled'\n\nexport interface ItemProps extends StyledItemProps {\n /**\n * The value given as data when submitted with a name.\n */\n value: string\n\n /**\n * When true, prevents the user from interacting with the item.\n */\n disabled?: boolean\n\n /**\n * Optional text used for typeahead purposes. By default the typeahead\n * behavior will use the Select's item text. Use this when the content is\n * complex, or you have non-textual content inside.\n */\n textValue?: string\n}\n\nexport const Item = React.forwardRef<ElementRef<typeof StyledItem>, ItemProps>(\n (\n {\n disabled = false,\n textValue,\n 'aria-disabled': ariaDisabled,\n onKeyDown,\n onPointerUp,\n onPointerMove,\n onPointerLeave,\n children,\n ...restProps\n },\n forwardRef\n ) => (\n <StyledItem\n {...restProps}\n aria-disabled={booleanify(ariaDisabled) ? ariaDisabled : undefined}\n onKeyDown={e => {\n if (\n booleanify(ariaDisabled) &&\n e.code !== 'ArrowUp' &&\n e.code !== 'ArrowDown' &&\n e.code !== 'Escape'\n ) {\n e.preventDefault()\n e.stopPropagation()\n return\n }\n\n onKeyDown?.(e)\n }}\n onPointerUp={e => {\n if (booleanify(ariaDisabled)) {\n e.preventDefault()\n return\n }\n\n onPointerUp?.(e)\n }}\n onPointerMove={e => {\n if (booleanify(ariaDisabled)) {\n e.preventDefault()\n return\n }\n\n onPointerMove?.(e)\n }}\n onPointerLeave={e => {\n if (booleanify(ariaDisabled)) {\n e.preventDefault()\n return\n }\n\n onPointerLeave?.(e)\n }}\n textValue={textValue}\n disabled={disabled}\n ref={forwardRef}\n >\n <StyledItemIndicator>\n <IconCheckMark size='small' />\n </StyledItemIndicator>\n <RadixItemText asChild>\n <StyledItemText>{children}</StyledItemText>\n </RadixItemText>\n </StyledItem>\n )\n)\n","import { Portal as RadixPortal } from '@radix-ui/react-select'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledPortal = styled(RadixPortal, {})\n\nexport type StyledPortalProps = StrictComponentProps<typeof StyledPortal>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledPortal } from './portal.styled'\nimport type { StyledPortalProps } from './portal.styled'\n\nexport interface PortalProps extends StyledPortalProps {\n /**\n * Specify a container element to portal the content into.\n */\n container?: HTMLElement | null\n}\n\nexport const Portal = React.forwardRef<\n ElementRef<typeof StyledPortal>,\n PortalProps\n>((props, forwardRef) => <StyledPortal {...props} ref={forwardRef} />)\n","import type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { SelectIcon as RadixSelectIcon } from '@radix-ui/react-select'\n\nexport const StyledSelectIcon = styled(RadixSelectIcon, { flexShrink: 0 })\n\nexport type StyledSelectIconProps = StrictComponentProps<\n typeof StyledSelectIcon\n>\n","import type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Trigger as RadixTrigger } from '@radix-ui/react-select'\nimport { focus } from '@mirohq/design-system-styles'\n\nimport { StyledSelectIcon } from './select-icon.styled'\n\nexport const StyledTrigger = styled(RadixTrigger, {\n all: 'unset',\n backgroundColor: '$background-neutrals-container',\n border: '1px solid $border-neutrals',\n borderRadius: '$50',\n boxSizing: 'border-box',\n color: '$text-neutrals',\n display: 'flex',\n minWidth: 0,\n fontSize: '$200',\n lineHeight: 1.5,\n maxWidth: '$100',\n position: 'relative',\n userSelect: 'none',\n width: '$50',\n justifyContent: 'space-between',\n alignItems: 'center',\n\n svg: {\n color: '$icon-neutrals-text',\n },\n\n '&[data-placeholder]': {\n color: '$text-neutrals-subtle',\n },\n\n '&[data-invalid]': {\n borderColor: '$border-danger',\n\n ...focus.css({\n boxShadow: '$focus-controls-error',\n }),\n },\n\n '&:hover': {\n borderColor: '$border-primary-hover',\n },\n\n '&:active, &[data-state=\"open\"]': {\n borderColor: '$border-primary-active',\n },\n\n ...focus.css({\n boxShadow: '$focus-controls',\n outline: '1px solid transparent',\n }),\n\n '&[disabled], &[aria-disabled=\"true\"]': {\n backgroundColor: '$background-neutrals-disabled',\n borderColor: '$border-neutrals-disabled',\n color: '$text-neutrals-disabled',\n\n svg: {\n color: '$icon-neutrals-disabled',\n },\n },\n\n '&[data-state=\"open\"]': {\n [`& ${StyledSelectIcon}`]: {\n transform: 'rotate(180deg)',\n },\n },\n\n variants: {\n size: {\n medium: {\n height: '$10',\n paddingX: '$100',\n gap: '$50',\n },\n large: {\n height: '$12',\n paddingX: '$150',\n gap: '$100',\n },\n },\n },\n})\n\nexport type StyledTriggerProps = StrictComponentProps<typeof StyledTrigger>\n","import React, { createContext, useContext } from 'react'\nimport type { PropsWithChildren } from 'react'\nimport type { Booleanish } from '@mirohq/design-system-types'\n\ninterface SelectValues {\n invalid: boolean\n ariaDisabled?: Booleanish\n}\n\ninterface SelectContextProps {\n invalid: boolean\n ariaDisabled?: Booleanish\n}\n\nconst SelectContext = createContext<SelectContextProps>({} as any)\n\nexport const SelectProvider = ({\n children,\n invalid,\n ariaDisabled,\n}: PropsWithChildren<SelectValues>): any => (\n <SelectContext.Provider\n value={{\n invalid,\n ariaDisabled,\n }}\n >\n {children}\n </SelectContext.Provider>\n)\n\nexport const useSelectContext = (): SelectContextProps =>\n useContext(SelectContext)\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport { IconChevronDown } from '@mirohq/design-system-icons'\nimport { booleanify } from '@mirohq/design-system-utils'\n\nimport { StyledTrigger } from './trigger.styled'\nimport type { StyledTriggerProps } from './trigger.styled'\nimport { useSelectContext } from '../hooks/use-select-context'\nimport { StyledSelectIcon } from './select-icon.styled'\n\nexport interface TriggerProps extends StyledTriggerProps {\n /**\n * The content.\n */\n children: React.ReactNode\n}\n\nexport const Trigger = React.forwardRef<\n ElementRef<typeof StyledTrigger>,\n TriggerProps\n>(\n (\n { onKeyDown, onPointerDown, children, size = 'medium', ...restProps },\n forwardRef\n ) => {\n const { invalid, ariaDisabled } = useSelectContext()\n\n return (\n <StyledTrigger\n {...restProps}\n size={size}\n ref={forwardRef}\n aria-disabled={ariaDisabled}\n onPointerDown={e => {\n if (booleanify(ariaDisabled)) {\n e.preventDefault()\n } else {\n onPointerDown?.(e)\n }\n }}\n onKeyDown={e => {\n if (\n booleanify(ariaDisabled) &&\n e.code !== 'Tab' &&\n e.code !== 'ArrowUp' &&\n e.code !== 'ArrowDown'\n ) {\n e.preventDefault()\n } else {\n onKeyDown?.(e)\n }\n }}\n data-invalid={invalid ? '' : undefined}\n >\n {children}\n <StyledSelectIcon asChild>\n <IconChevronDown size='small' weight='thin' />\n </StyledSelectIcon>\n </StyledTrigger>\n )\n }\n)\n","import { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledValue = styled('span', {\n overflow: 'hidden',\n paddingX: '$50',\n\n '& span:first-child': {\n display: 'block',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n})\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { Value as RadixValue } from '@radix-ui/react-select'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nimport { StyledValue } from './value.styled'\n\nexport type StyledValueProps = StrictComponentProps<typeof RadixValue>\n\nexport interface ValueProps extends StyledValueProps {\n /**\n * The content that will be rendered inside the Select.Value when no value or\n * defaultValue is set.\n */\n placeholder?: React.ReactNode\n\n /**\n * The controlled content that will be rendered inside the Select.Value.\n */\n children?: React.ReactNode\n}\n\nexport const Value = React.forwardRef<\n ElementRef<typeof StyledValue>,\n ValueProps\n>((props, forwardRef) => (\n <StyledValue>\n <RadixValue {...props} ref={forwardRef} />\n </StyledValue>\n))\n","import { Content as RadixContent } from '@radix-ui/react-select'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledContent = styled(RadixContent, {\n backgroundColor: '$background-neutrals-container',\n borderRadius: '$50',\n boxShadow: '$50',\n fontSize: '$175',\n fontWeight: 'normal',\n lineHeight: '20px',\n minWidth: 'var(--radix-select-trigger-width)',\n padding: '$50',\n zIndex: '$dropdownMenu',\n\n '& [data-radix-scroll-area-viewport]': {\n padding: `2px $50 2px 2px`,\n boxSizing: 'border-box',\n },\n})\n\nexport type StyledContentProps = StrictComponentProps<typeof StyledContent>\n","import React, { useCallback } from 'react'\nimport type { ElementRef, ReactNode } from 'react'\nimport { ScrollArea } from '@mirohq/design-system-scroll-area'\nimport type { CSS, CSSProperties } from '@stitches/react'\nimport { Viewport as RadixViewport } from '@radix-ui/react-select'\nimport { theme } from '@mirohq/design-system-stitches'\n\nimport { StyledContent } from './content.styled'\nimport type { StyledContentProps } from './content.styled'\nimport type {\n Boundary,\n PointerDownOutsideEvent,\n Side,\n Align,\n Overflow,\n} from '../src/types'\n\nexport const CONTENT_OFFSET = parseInt(theme.space[50])\n\nexport interface ContentProps extends StyledContentProps {\n /**\n * Event handler called when focus moves to the trigger after closing. It can\n * be prevented by calling event.preventDefault.\n */\n onCloseAutoFocus?: (event: Event) => void\n\n /**\n * Event handler called when focus moves to the trigger after closing. It can\n * be prevented by 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 * The preferred side of the anchor to render against when open. Will be\n * reversed when collisions occur and avoidCollisions is enabled. Only\n * available when position is set to popper.\n */\n side?: Side\n\n /**\n * The distance in pixels from the anchor. Only available when position is set\n * to popper.\n */\n sideOffset?: number\n\n /**\n * The preferred alignment against the anchor. May change when collisions\n * occur. Only available when position is set to popper.\n */\n align?: Align\n\n /**\n * An offset in pixels from the \"start\" or \"end\" alignment options. Only\n * available when position is set to popper.\n */\n alignOffset?: number\n\n /**\n * When true, overrides the side andalign preferences to prevent collisions\n * with boundary edges. Only available when position is set to popper.\n */\n avoidCollisions?: boolean\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. Only available when position is set to popper.\n */\n collisionBoundary?: Boundary\n\n /**\n * The distance in pixels from the boundary edges where collision detection\n * should occur. Accepts a number (same for all sides), or a partial padding\n * object, for example: { top: 20, left: 20 }. Only available when position is\n * set to popper.\n */\n collisionPadding?: number | Partial<Record<Side, number>>\n\n /**\n * The sticky behavior on the align axis. \"partial\" will keep the content in the\n * boundary as long as the trigger is at least partially in the boundary whilst\n * \"always\" will keep the content in the boundary regardless. Only available\n * when position is set to popper.\n */\n sticky?: 'partial' | 'always'\n\n /**\n * Whether to hide the content when the trigger becomes fully occluded. Only\n * available when position is set to popper.\n */\n hideWhenDetached?: boolean\n\n /**\n * The max height for the content.\n */\n maxHeight?: CSSProperties['maxHeight']\n\n /**\n * Setting overflow as \"visible\" means that the content can extend beyond the\n * its collision boundary without any clipping or scrolling being\n * applied.\n * When set to \"auto,\" a scrollbar is added if the content exceeds its\n * boundaries. If no maxHeight is defined, it will be automatically adjusted\n * to fit the remaining space between the trigger and the boundary edge.\n */\n overflow?: Overflow\n\n /**\n * Select's content.\n */\n children?: ReactNode\n}\n\nexport const Content = React.forwardRef<\n ElementRef<typeof StyledContent>,\n ContentProps\n>(\n (\n {\n side = 'bottom',\n sideOffset = CONTENT_OFFSET,\n align = 'center',\n alignOffset = 0,\n collisionPadding = 0,\n avoidCollisions = true,\n sticky = 'partial',\n hideWhenDetached = true,\n overflow = 'visible',\n maxHeight,\n children,\n ...restProps\n },\n forwardRef\n ) => {\n const getOverflowMaxHeight = useCallback((): CSS => {\n const overflowMaxHeigh = `calc(var(--radix-select-content-available-height))`\n\n return {\n maxHeight: maxHeight === undefined ? overflowMaxHeigh : maxHeight,\n }\n }, [maxHeight])\n return (\n <StyledContent\n {...restProps}\n ref={forwardRef}\n position='popper'\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 <RadixViewport>\n {overflow === 'auto' ? (\n <ScrollArea type='always'>\n <ScrollArea.Viewport css={{ ...getOverflowMaxHeight() }}>\n {children}\n </ScrollArea.Viewport>\n <ScrollArea.Scrollbar orientation='vertical'>\n <ScrollArea.Thumb />\n </ScrollArea.Scrollbar>\n </ScrollArea>\n ) : (\n <>{children}</>\n )}\n </RadixViewport>\n </StyledContent>\n )\n }\n)\n","import { Label as RadixLabel } from '@radix-ui/react-select'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledLabel = styled(RadixLabel, {\n color: '$text-neutrals-subtle',\n marginLeft: '$300',\n padding: '6px $50',\n})\n\nexport type StyledLabelProps = StrictComponentProps<typeof StyledLabel>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledLabel } from './label.styled'\nimport type { StyledLabelProps } from './label.styled'\n\nexport interface LabelProps extends StyledLabelProps {}\n\nexport const Label = React.forwardRef<\n ElementRef<typeof StyledLabel>,\n LabelProps\n>((props, forwardRef) => <StyledLabel {...props} ref={forwardRef} />)\n","import { Separator as RadixSeparator } from '@radix-ui/react-select'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledSeparator = styled(RadixSeparator, {\n backgroundColor: '$border-neutrals-subtle',\n height: '1px',\n width: '100%',\n margin: '5.5px 0',\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, { useState } from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\nimport type { Booleanish } from '@mirohq/design-system-types'\n\nimport { StyledSelect } from './select.styled'\nimport type { StyledSelectProps } from './select.styled'\nimport { Group } from '../partials/group'\nimport { Item } from '../partials/item'\nimport { Portal } from '../partials/portal'\nimport { Trigger } from '../partials/trigger'\nimport { Value } from '../partials/value'\nimport { Content } from '../partials/content'\nimport { Label } from '../partials/label'\nimport { Separator } from '../partials/separator'\nimport { SelectProvider } from '../hooks/use-select-context'\n\nexport interface SelectProps extends StyledSelectProps {\n /**\n * The value of the select when initially rendered. Use when you do not need\n * to control the state of the select.\n */\n defaultValue?: string\n\n /**\n * The controlled value of the select. Should be used in conjunction with\n * onValueChange.\n */\n value?: string\n\n /**\n * Event handler called when the value changes.\n */\n onValueChange?: (value: string) => void\n\n /**\n * The open state of the select when it is initially rendered. Use when you do\n * not need to control its open state.\n */\n defaultOpen?: boolean\n\n /**\n * The controlled open state of the select. Must be used in conjunction with\n * onOpenChange.\n */\n open?: boolean\n\n /**\n * Event handler called when the select opens.\n */\n onOpen?: () => void\n\n /**\n * Event handler called when the select closes.\n */\n onClose?: () => void\n\n /**\n * The reading direction of the select when applicable. If omitted, inherits\n * globally from DirectionProvider or assumes LTR (left-to-right) reading\n * mode.\n */\n direction?: 'ltr' | 'rtl'\n\n /**\n * The name of the select. Submitted with its owning form as part of a\n * name/value pair.\n */\n name?: string\n\n /**\n * When true, prevents the user from interacting with select.\n */\n disabled?: boolean\n\n /**\n * When true, prevents the user from opening with select, while allowing focus and hover.\n */\n 'aria-disabled'?: Booleanish\n\n /**\n * When true, indicates that the user must select a value before the owning\n * form can be submitted.\n */\n required?: boolean\n\n /**\n * When true, indicates that the select value contains an error which have to be fixed before the owning\n * form can be submitted.\n */\n invalid?: boolean\n}\n\nexport const Select = React.forwardRef<\n ElementRef<typeof StyledSelect>,\n SelectProps\n>(\n (\n {\n defaultOpen = false,\n direction = 'ltr',\n open,\n onOpen,\n onClose,\n invalid = false,\n 'aria-disabled': ariaDisabled,\n disabled,\n ...restProps\n },\n forwardRef\n ) => {\n const [openState, setOpenState] = useState(defaultOpen)\n return (\n <SelectProvider invalid={invalid} ariaDisabled={ariaDisabled}>\n <StyledSelect\n {...restProps}\n aria-disabled={ariaDisabled}\n disabled={disabled}\n dir={direction}\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 </SelectProvider>\n )\n }\n) as ForwardRefExoticComponent<SelectProps> & Partials\n\ninterface Partials {\n Content: typeof Content\n Separator: typeof Separator\n Label: typeof Label\n Group: typeof Group\n Item: typeof Item\n Portal: typeof Portal\n Trigger: typeof Trigger\n Value: typeof Value\n}\n\nSelect.Group = Group\nSelect.Separator = Separator\nSelect.Content = Content\nSelect.Item = Item\nSelect.Portal = Portal\nSelect.Trigger = Trigger\nSelect.Value = Value\nSelect.Label = Label\n"],"names":["RadixSelect","RadixGroup","RadixItem","RadixItemIndicator","RadixItemText","RadixPortal","RadixSelectIcon","RadixTrigger","RadixValue","RadixContent","RadixViewport","RadixLabel","RadixSeparator"],"mappings":"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"}
1
+ {"version":3,"file":"module.js","sources":["../src/select.styled.tsx","../src/partials/group.styled.tsx","../src/partials/group.tsx","../src/partials/item.styled.tsx","../src/partials/item-text.styled.tsx","../src/partials/item-indicator.styled.tsx","../src/partials/item.tsx","../src/partials/portal.styled.tsx","../src/partials/portal.tsx","../src/partials/select-icon.styled.tsx","../src/partials/trigger.styled.tsx","../src/hooks/use-select-context.tsx","../src/partials/trigger.tsx","../src/partials/value.styled.tsx","../src/partials/value.tsx","../src/partials/content.styled.tsx","../src/partials/content.tsx","../src/partials/label.styled.tsx","../src/partials/label.tsx","../src/partials/separator.styled.tsx","../src/partials/separator.tsx","../src/select.tsx"],"sourcesContent":["import type { ComponentPropsWithRef } from 'react'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Root as RadixSelect } from '@radix-ui/react-select'\n\nexport const StyledSelect = styled(RadixSelect)\n\nexport type StyledSelectProps = ComponentPropsWithRef<typeof StyledSelect>\n","import { Group as RadixGroup } from '@radix-ui/react-select'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledGroup = styled(RadixGroup, {})\n\nexport type StyledGroupProps = StrictComponentProps<typeof StyledGroup>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledGroup } from './group.styled'\nimport type { StyledGroupProps } from './group.styled'\n\nexport interface GroupProps extends StyledGroupProps {}\n\nexport const Group = React.forwardRef<\n ElementRef<typeof StyledGroup>,\n GroupProps\n>((props, forwardRef) => <StyledGroup {...props} ref={forwardRef} />)\n","import { Item as RadixItem } from '@radix-ui/react-select'\nimport { focus } from '@mirohq/design-system-styles'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledItem = styled(RadixItem, {\n all: 'unset',\n borderRadius: '$50',\n boxSizing: 'border-box',\n color: '$text-neutrals',\n cursor: 'pointer',\n display: 'grid',\n fontSize: '$175',\n gridTemplateAreas: 'leftSlot textItem',\n gridTemplateColumns: '20px 1fr',\n lineHeight: '20px',\n padding: '6px $150 6px $100',\n position: 'relative',\n userSelect: 'none',\n\n ...focus.css({\n boxShadow: '$focus-small',\n outline: '1px solid transparent',\n }),\n\n '&[data-state=\"checked\"]': {\n color: '$text-primary-selected',\n },\n\n '&:active:not([aria-disabled=\"true\"])': {\n background: '$background-primary-subtle-active',\n boxShadow: 'none',\n color: '$text-primary-active',\n },\n\n '&:disabled, &[aria-disabled=\"true\"], &[data-disabled]': {\n cursor: 'default',\n color: '$text-neutrals-disabled',\n },\n\n '&:disabled, &[data-disabled]': {\n pointerEvents: 'none',\n },\n\n '&:hover:not([aria-disabled=\"true\"])': {\n background: '$background-primary-subtle-hover',\n color: '$text-primary-hover',\n '&:not([aria-disabled=\"true\"])': {\n boxShadow: 'none',\n },\n },\n})\n\nexport type StyledItemProps = StrictComponentProps<typeof StyledItem>\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledItemText = styled('span', {\n display: 'flex',\n gridColumn: 2,\n width: '100%',\n})\n\nexport type StyledItemProps = StrictComponentProps<typeof StyledItemText>\n","import { ItemIndicator as RadixItemIndicator } from '@radix-ui/react-select'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledItemIndicator = styled(RadixItemIndicator, {})\n\nexport type StyledItemIndicatorProps = StrictComponentProps<\n typeof StyledItemIndicator\n>\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { IconCheckMark } from '@mirohq/design-system-icons'\nimport { ItemText as RadixItemText } from '@radix-ui/react-select'\nimport { booleanify } from '@mirohq/design-system-utils'\n\nimport { StyledItem } from './item.styled'\nimport type { StyledItemProps } from './item.styled'\nimport { StyledItemText } from './item-text.styled'\nimport { StyledItemIndicator } from './item-indicator.styled'\n\nexport interface ItemProps extends StyledItemProps {\n /**\n * The value given as data when submitted with a name.\n */\n value: string\n\n /**\n * When true, prevents the user from interacting with the item.\n */\n disabled?: boolean\n\n /**\n * Optional text used for typeahead purposes. By default the typeahead\n * behavior will use the Select's item text. Use this when the content is\n * complex, or you have non-textual content inside.\n */\n textValue?: string\n}\n\nexport const Item = React.forwardRef<ElementRef<typeof StyledItem>, ItemProps>(\n (\n {\n disabled = false,\n textValue,\n 'aria-disabled': ariaDisabled,\n onKeyDown,\n onPointerUp,\n onPointerMove,\n onPointerLeave,\n children,\n ...restProps\n },\n forwardRef\n ) => (\n <StyledItem\n {...restProps}\n aria-disabled={booleanify(ariaDisabled) ? ariaDisabled : undefined}\n onKeyDown={e => {\n if (\n booleanify(ariaDisabled) &&\n e.code !== 'ArrowUp' &&\n e.code !== 'ArrowDown' &&\n e.code !== 'Escape'\n ) {\n e.preventDefault()\n e.stopPropagation()\n return\n }\n\n onKeyDown?.(e)\n }}\n onPointerUp={e => {\n if (booleanify(ariaDisabled)) {\n e.preventDefault()\n return\n }\n\n onPointerUp?.(e)\n }}\n onPointerMove={e => {\n if (booleanify(ariaDisabled)) {\n e.preventDefault()\n return\n }\n\n onPointerMove?.(e)\n }}\n onPointerLeave={e => {\n if (booleanify(ariaDisabled)) {\n e.preventDefault()\n return\n }\n\n onPointerLeave?.(e)\n }}\n textValue={textValue}\n disabled={disabled}\n ref={forwardRef}\n >\n <StyledItemIndicator>\n <IconCheckMark size='small' />\n </StyledItemIndicator>\n <RadixItemText asChild>\n <StyledItemText>{children}</StyledItemText>\n </RadixItemText>\n </StyledItem>\n )\n)\n","import { Portal as RadixPortal } from '@radix-ui/react-select'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledPortal = styled(RadixPortal, {})\n\nexport type StyledPortalProps = StrictComponentProps<typeof StyledPortal>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledPortal } from './portal.styled'\nimport type { StyledPortalProps } from './portal.styled'\n\nexport interface PortalProps extends StyledPortalProps {\n /**\n * Specify a container element to portal the content into.\n */\n container?: HTMLElement | null\n}\n\nexport const Portal = React.forwardRef<\n ElementRef<typeof StyledPortal>,\n PortalProps\n>((props, forwardRef) => <StyledPortal {...props} ref={forwardRef} />)\n","import type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { SelectIcon as RadixSelectIcon } from '@radix-ui/react-select'\n\nexport const StyledSelectIcon = styled(RadixSelectIcon, { flexShrink: 0 })\n\nexport type StyledSelectIconProps = StrictComponentProps<\n typeof StyledSelectIcon\n>\n","import type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Trigger as RadixTrigger } from '@radix-ui/react-select'\nimport { focus } from '@mirohq/design-system-styles'\n\nimport { StyledSelectIcon } from './select-icon.styled'\n\nexport const StyledTrigger = styled(RadixTrigger, {\n all: 'unset',\n backgroundColor: '$background-neutrals-container',\n border: '1px solid $border-neutrals',\n borderRadius: '$50',\n boxSizing: 'border-box',\n color: '$text-neutrals',\n display: 'flex',\n minWidth: 0,\n fontSize: '$200',\n lineHeight: 1.5,\n maxWidth: '$100',\n position: 'relative',\n userSelect: 'none',\n width: '$50',\n justifyContent: 'space-between',\n alignItems: 'center',\n\n svg: {\n color: '$icon-neutrals-text',\n },\n\n '&[data-placeholder]': {\n color: '$text-neutrals-subtle',\n },\n\n '&[data-invalid]': {\n borderColor: '$border-danger',\n\n ...focus.css({\n boxShadow: '$focus-controls-error',\n }),\n },\n\n '&:hover': {\n borderColor: '$border-primary-hover',\n },\n\n '&:active, &[data-state=\"open\"]': {\n borderColor: '$border-primary-active',\n },\n\n ...focus.css({\n boxShadow: '$focus-controls',\n outline: '1px solid transparent',\n }),\n\n '&[disabled], &[aria-disabled=\"true\"]': {\n backgroundColor: '$background-neutrals-disabled',\n borderColor: '$border-neutrals-disabled',\n color: '$text-neutrals-disabled',\n\n svg: {\n color: '$icon-neutrals-disabled',\n },\n },\n\n '&[data-state=\"open\"]': {\n [`& ${StyledSelectIcon}`]: {\n transform: 'rotate(180deg)',\n },\n },\n\n variants: {\n size: {\n medium: {\n height: '$10',\n paddingX: '$100',\n gap: '$50',\n },\n large: {\n height: '$12',\n paddingX: '$150',\n gap: '$100',\n },\n },\n },\n})\n\nexport type StyledTriggerProps = StrictComponentProps<typeof StyledTrigger>\n","import React, { createContext, useContext } from 'react'\nimport type { PropsWithChildren } from 'react'\nimport type { Booleanish } from '@mirohq/design-system-types'\n\ninterface SelectValues {\n invalid: boolean\n ariaDisabled?: Booleanish\n}\n\ninterface SelectContextProps {\n invalid: boolean\n ariaDisabled?: Booleanish\n}\n\nconst SelectContext = createContext<SelectContextProps>({} as any)\n\nexport const SelectProvider = ({\n children,\n invalid,\n ariaDisabled,\n}: PropsWithChildren<SelectValues>): any => (\n <SelectContext.Provider\n value={{\n invalid,\n ariaDisabled,\n }}\n >\n {children}\n </SelectContext.Provider>\n)\n\nexport const useSelectContext = (): SelectContextProps =>\n useContext(SelectContext)\n","import type { ElementRef } from 'react'\nimport React from 'react'\nimport { IconChevronDown } from '@mirohq/design-system-icons'\nimport { booleanify } from '@mirohq/design-system-utils'\n\nimport { StyledTrigger } from './trigger.styled'\nimport type { StyledTriggerProps } from './trigger.styled'\nimport { useSelectContext } from '../hooks/use-select-context'\nimport { StyledSelectIcon } from './select-icon.styled'\n\nexport interface TriggerProps extends StyledTriggerProps {\n /**\n * The content.\n */\n children: React.ReactNode\n}\n\nexport const Trigger = React.forwardRef<\n ElementRef<typeof StyledTrigger>,\n TriggerProps\n>(\n (\n { onKeyDown, onPointerDown, children, size = 'medium', ...restProps },\n forwardRef\n ) => {\n const { invalid, ariaDisabled } = useSelectContext()\n\n return (\n <StyledTrigger\n {...restProps}\n size={size}\n ref={forwardRef}\n aria-disabled={ariaDisabled}\n onPointerDown={e => {\n if (booleanify(ariaDisabled)) {\n e.preventDefault()\n } else {\n onPointerDown?.(e)\n }\n }}\n onKeyDown={e => {\n if (\n booleanify(ariaDisabled) &&\n e.code !== 'Tab' &&\n e.code !== 'ArrowUp' &&\n e.code !== 'ArrowDown'\n ) {\n e.preventDefault()\n } else {\n onKeyDown?.(e)\n }\n }}\n data-invalid={invalid ? '' : undefined}\n >\n {children}\n <StyledSelectIcon asChild>\n <IconChevronDown size='small' weight='thin' />\n </StyledSelectIcon>\n </StyledTrigger>\n )\n }\n)\n","import { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledValue = styled('span', {\n overflow: 'hidden',\n paddingX: '$50',\n\n '& span:first-child': {\n display: 'block',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n})\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { Value as RadixValue } from '@radix-ui/react-select'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nimport { StyledValue } from './value.styled'\n\nexport type StyledValueProps = StrictComponentProps<typeof RadixValue>\n\nexport interface ValueProps extends StyledValueProps {\n /**\n * The content that will be rendered inside the Select.Value when no value or\n * defaultValue is set.\n */\n placeholder?: React.ReactNode\n\n /**\n * The controlled content that will be rendered inside the Select.Value.\n */\n children?: React.ReactNode\n}\n\nexport const Value = React.forwardRef<\n ElementRef<typeof StyledValue>,\n ValueProps\n>((props, forwardRef) => (\n <StyledValue>\n <RadixValue {...props} ref={forwardRef} />\n </StyledValue>\n))\n","import { Content as RadixContent } from '@radix-ui/react-select'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledContent = styled(RadixContent, {\n backgroundColor: '$background-neutrals-container',\n borderRadius: '$50',\n boxShadow: '$50',\n fontSize: '$175',\n fontWeight: 'normal',\n lineHeight: '20px',\n minWidth: 'var(--radix-select-trigger-width)',\n padding: '$50',\n zIndex: '$select',\n\n '& [data-radix-scroll-area-viewport]': {\n padding: `2px $50 2px 2px`,\n boxSizing: 'border-box',\n },\n})\n\nexport type StyledContentProps = StrictComponentProps<typeof StyledContent>\n","import React, { useCallback } from 'react'\nimport type { ElementRef, ReactNode } from 'react'\nimport { ScrollArea } from '@mirohq/design-system-scroll-area'\nimport type { CSS, CSSProperties } from '@stitches/react'\nimport { Viewport as RadixViewport } from '@radix-ui/react-select'\nimport { theme } from '@mirohq/design-system-stitches'\n\nimport { StyledContent } from './content.styled'\nimport type { StyledContentProps } from './content.styled'\nimport type {\n Boundary,\n PointerDownOutsideEvent,\n Side,\n Align,\n Overflow,\n Sticky,\n} from '../types'\n\nexport const CONTENT_OFFSET = parseInt(theme.space[50])\n\nexport interface ContentProps extends StyledContentProps {\n /**\n * Event handler called when focus moves to the trigger after closing. It can\n * be prevented by calling event.preventDefault.\n */\n onCloseAutoFocus?: (event: Event) => void\n\n /**\n * Event handler called when focus moves to the trigger after closing. It can\n * be prevented by 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 * The preferred side of the anchor to render against when open. Will be\n * reversed when collisions occur and avoidCollisions is enabled. Only\n * available when position is set to popper.\n */\n side?: Side\n\n /**\n * The distance in pixels from the anchor. Only available when position is set\n * to popper.\n */\n sideOffset?: number\n\n /**\n * The preferred alignment against the anchor. May change when collisions\n * occur. Only available when position is set to popper.\n */\n align?: Align\n\n /**\n * An offset in pixels from the \"start\" or \"end\" alignment options. Only\n * available when position is set to popper.\n */\n alignOffset?: number\n\n /**\n * When true, overrides the side andalign preferences to prevent collisions\n * with boundary edges. Only available when position is set to popper.\n */\n avoidCollisions?: boolean\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. Only available when position is set to popper.\n */\n collisionBoundary?: Boundary\n\n /**\n * The distance in pixels from the boundary edges where collision detection\n * should occur. Accepts a number (same for all sides), or a partial padding\n * object, for example: { top: 20, left: 20 }. Only available when position is\n * set to popper.\n */\n collisionPadding?: number | Partial<Record<Side, number>>\n\n /**\n * The sticky behavior on the align axis. \"partial\" will keep the content in the\n * boundary as long as the trigger is at least partially in the boundary whilst\n * \"always\" will keep the content in the boundary regardless. Only available\n * when position is set to popper.\n */\n sticky?: Sticky\n\n /**\n * Whether to hide the content when the trigger becomes fully occluded. Only\n * available when position is set to popper.\n */\n hideWhenDetached?: boolean\n\n /**\n * The max height for the content.\n */\n maxHeight?: CSSProperties['maxHeight']\n\n /**\n * Setting overflow as \"visible\" means that the content can extend beyond the\n * its collision boundary without any clipping or scrolling being\n * applied.\n * When set to \"auto,\" a scrollbar is added if the content exceeds its\n * boundaries. If no maxHeight is defined, it will be automatically adjusted\n * to fit the remaining space between the trigger and the boundary edge.\n */\n overflow?: Overflow\n\n /**\n * Select's content.\n */\n children?: ReactNode\n}\n\nexport const Content = React.forwardRef<\n ElementRef<typeof StyledContent>,\n ContentProps\n>(\n (\n {\n side = 'bottom',\n sideOffset = CONTENT_OFFSET,\n align = 'center',\n alignOffset = 0,\n collisionPadding = 0,\n avoidCollisions = true,\n sticky = 'partial',\n hideWhenDetached = true,\n overflow = 'visible',\n maxHeight,\n children,\n ...restProps\n },\n forwardRef\n ) => {\n const getOverflowMaxHeight = useCallback((): CSS => {\n const overflowMaxHeigh = `calc(var(--radix-select-content-available-height))`\n\n return {\n maxHeight: maxHeight ?? overflowMaxHeigh,\n }\n }, [maxHeight])\n return (\n <StyledContent\n {...restProps}\n ref={forwardRef}\n position='popper'\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 <RadixViewport>\n {overflow === 'auto' ? (\n <ScrollArea type='always'>\n <ScrollArea.Viewport css={getOverflowMaxHeight()}>\n {children}\n </ScrollArea.Viewport>\n <ScrollArea.Scrollbar orientation='vertical'>\n <ScrollArea.Thumb />\n </ScrollArea.Scrollbar>\n </ScrollArea>\n ) : (\n <>{children}</>\n )}\n </RadixViewport>\n </StyledContent>\n )\n }\n)\n","import { Label as RadixLabel } from '@radix-ui/react-select'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledLabel = styled(RadixLabel, {\n color: '$text-neutrals-subtle',\n marginLeft: '$300',\n padding: '6px $50',\n})\n\nexport type StyledLabelProps = StrictComponentProps<typeof StyledLabel>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledLabel } from './label.styled'\nimport type { StyledLabelProps } from './label.styled'\n\nexport interface LabelProps extends StyledLabelProps {}\n\nexport const Label = React.forwardRef<\n ElementRef<typeof StyledLabel>,\n LabelProps\n>((props, forwardRef) => <StyledLabel {...props} ref={forwardRef} />)\n","import { Separator as RadixSeparator } from '@radix-ui/react-select'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledSeparator = styled(RadixSeparator, {\n backgroundColor: '$border-neutrals-subtle',\n height: '1px',\n width: '100%',\n margin: '5.5px 0',\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, { useState } from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\nimport type { Booleanish } from '@mirohq/design-system-types'\n\nimport { StyledSelect } from './select.styled'\nimport type { StyledSelectProps } from './select.styled'\nimport { Group } from './partials/group'\nimport { Item } from './partials/item'\nimport { Portal } from './partials/portal'\nimport { Trigger } from './partials/trigger'\nimport { Value } from './partials/value'\nimport { Content } from './partials/content'\nimport { Label } from './partials/label'\nimport { Separator } from './partials/separator'\nimport { SelectProvider } from './hooks/use-select-context'\n\nexport interface SelectProps extends StyledSelectProps {\n /**\n * The value of the select when initially rendered. Use when you do not need\n * to control the state of the select.\n */\n defaultValue?: string\n\n /**\n * The controlled value of the select. Should be used in conjunction with\n * onValueChange.\n */\n value?: string\n\n /**\n * Event handler called when the value changes.\n */\n onValueChange?: (value: string) => void\n\n /**\n * The open state of the select when it is initially rendered. Use when you do\n * not need to control its open state.\n */\n defaultOpen?: boolean\n\n /**\n * The controlled open state of the select. Must be used in conjunction with\n * onOpenChange.\n */\n open?: boolean\n\n /**\n * Event handler called when the select opens.\n */\n onOpen?: () => void\n\n /**\n * Event handler called when the select closes.\n */\n onClose?: () => void\n\n /**\n * The reading direction of the select when applicable. If omitted, inherits\n * globally from DirectionProvider or assumes LTR (left-to-right) reading\n * mode.\n */\n direction?: 'ltr' | 'rtl'\n\n /**\n * The name of the select. Submitted with its owning form as part of a\n * name/value pair.\n */\n name?: string\n\n /**\n * When true, prevents the user from interacting with select.\n */\n disabled?: boolean\n\n /**\n * When true, prevents the user from opening with select, while allowing focus and hover.\n */\n 'aria-disabled'?: Booleanish\n\n /**\n * When true, indicates that the user must select a value before the owning\n * form can be submitted.\n */\n required?: boolean\n\n /**\n * When true, indicates that the select value contains an error which have to be fixed before the owning\n * form can be submitted.\n */\n invalid?: boolean\n}\n\nexport const Select = React.forwardRef<\n ElementRef<typeof StyledSelect>,\n SelectProps\n>(\n (\n {\n defaultOpen = false,\n direction = 'ltr',\n open,\n onOpen,\n onClose,\n invalid = false,\n 'aria-disabled': ariaDisabled,\n disabled,\n ...restProps\n },\n forwardRef\n ) => {\n const [openState, setOpenState] = useState(defaultOpen)\n return (\n <SelectProvider invalid={invalid} ariaDisabled={ariaDisabled}>\n <StyledSelect\n {...restProps}\n aria-disabled={ariaDisabled}\n disabled={disabled}\n dir={direction}\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 </SelectProvider>\n )\n }\n) as ForwardRefExoticComponent<SelectProps> & Partials\n\ninterface Partials {\n Content: typeof Content\n Separator: typeof Separator\n Label: typeof Label\n Group: typeof Group\n Item: typeof Item\n Portal: typeof Portal\n Trigger: typeof Trigger\n Value: typeof Value\n}\n\nSelect.Group = Group\nSelect.Separator = Separator\nSelect.Content = Content\nSelect.Item = Item\nSelect.Portal = Portal\nSelect.Trigger = Trigger\nSelect.Value = Value\nSelect.Label = Label\n"],"names":["RadixSelect","RadixGroup","RadixItem","RadixItemIndicator","RadixItemText","RadixPortal","RadixSelectIcon","RadixTrigger","RadixValue","RadixContent","RadixViewport","RadixLabel","RadixSeparator"],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -239,6 +239,7 @@ declare const StyledSelect: react.ForwardRefExoticComponent<Omit<{}, never> & _s
239
239
  readonly 400: "32px";
240
240
  readonly 500: "40px";
241
241
  readonly 600: "48px";
242
+ readonly 700: "56px";
242
243
  readonly 800: "64px";
243
244
  readonly 1200: "96px";
244
245
  readonly 1600: "128px";
@@ -290,8 +291,9 @@ declare const StyledSelect: react.ForwardRefExoticComponent<Omit<{}, never> & _s
290
291
  };
291
292
  'z-indices': {
292
293
  readonly dropdownMenu: 100;
293
- readonly popover: 200;
294
- readonly tooltip: 300;
294
+ readonly select: 200;
295
+ readonly popover: 300;
296
+ readonly tooltip: 400;
295
297
  };
296
298
  }, {
297
299
  readonly background: "colors";
@@ -710,6 +712,7 @@ declare const StyledGroup: react.ForwardRefExoticComponent<Omit<Omit<{}, never>
710
712
  readonly 400: "32px";
711
713
  readonly 500: "40px";
712
714
  readonly 600: "48px";
715
+ readonly 700: "56px";
713
716
  readonly 800: "64px";
714
717
  readonly 1200: "96px";
715
718
  readonly 1600: "128px";
@@ -761,8 +764,9 @@ declare const StyledGroup: react.ForwardRefExoticComponent<Omit<Omit<{}, never>
761
764
  };
762
765
  'z-indices': {
763
766
  readonly dropdownMenu: 100;
764
- readonly popover: 200;
765
- readonly tooltip: 300;
767
+ readonly select: 200;
768
+ readonly popover: 300;
769
+ readonly tooltip: 400;
766
770
  };
767
771
  }, {
768
772
  readonly background: "colors";
@@ -1185,6 +1189,7 @@ declare const StyledItem: react.ForwardRefExoticComponent<Omit<Omit<{}, never> &
1185
1189
  readonly 400: "32px";
1186
1190
  readonly 500: "40px";
1187
1191
  readonly 600: "48px";
1192
+ readonly 700: "56px";
1188
1193
  readonly 800: "64px";
1189
1194
  readonly 1200: "96px";
1190
1195
  readonly 1600: "128px";
@@ -1236,8 +1241,9 @@ declare const StyledItem: react.ForwardRefExoticComponent<Omit<Omit<{}, never> &
1236
1241
  };
1237
1242
  'z-indices': {
1238
1243
  readonly dropdownMenu: 100;
1239
- readonly popover: 200;
1240
- readonly tooltip: 300;
1244
+ readonly select: 200;
1245
+ readonly popover: 300;
1246
+ readonly tooltip: 400;
1241
1247
  };
1242
1248
  }, {
1243
1249
  readonly background: "colors";
@@ -1674,6 +1680,7 @@ declare const StyledPortal: react.ForwardRefExoticComponent<Omit<{}, never> & _s
1674
1680
  readonly 400: "32px";
1675
1681
  readonly 500: "40px";
1676
1682
  readonly 600: "48px";
1683
+ readonly 700: "56px";
1677
1684
  readonly 800: "64px";
1678
1685
  readonly 1200: "96px";
1679
1686
  readonly 1600: "128px";
@@ -1725,8 +1732,9 @@ declare const StyledPortal: react.ForwardRefExoticComponent<Omit<{}, never> & _s
1725
1732
  };
1726
1733
  'z-indices': {
1727
1734
  readonly dropdownMenu: 100;
1728
- readonly popover: 200;
1729
- readonly tooltip: 300;
1735
+ readonly select: 200;
1736
+ readonly popover: 300;
1737
+ readonly tooltip: 400;
1730
1738
  };
1731
1739
  }, {
1732
1740
  readonly background: "colors";
@@ -2157,6 +2165,7 @@ declare const StyledTrigger: react.ForwardRefExoticComponent<Omit<Omit<{
2157
2165
  readonly 400: "32px";
2158
2166
  readonly 500: "40px";
2159
2167
  readonly 600: "48px";
2168
+ readonly 700: "56px";
2160
2169
  readonly 800: "64px";
2161
2170
  readonly 1200: "96px";
2162
2171
  readonly 1600: "128px";
@@ -2208,8 +2217,9 @@ declare const StyledTrigger: react.ForwardRefExoticComponent<Omit<Omit<{
2208
2217
  };
2209
2218
  'z-indices': {
2210
2219
  readonly dropdownMenu: 100;
2211
- readonly popover: 200;
2212
- readonly tooltip: 300;
2220
+ readonly select: 200;
2221
+ readonly popover: 300;
2222
+ readonly tooltip: 400;
2213
2223
  };
2214
2224
  }, {
2215
2225
  readonly background: "colors";
@@ -2652,6 +2662,7 @@ declare const StyledContent: react.ForwardRefExoticComponent<Omit<Omit<{}, never
2652
2662
  readonly 400: "32px";
2653
2663
  readonly 500: "40px";
2654
2664
  readonly 600: "48px";
2665
+ readonly 700: "56px";
2655
2666
  readonly 800: "64px";
2656
2667
  readonly 1200: "96px";
2657
2668
  readonly 1600: "128px";
@@ -2703,8 +2714,9 @@ declare const StyledContent: react.ForwardRefExoticComponent<Omit<Omit<{}, never
2703
2714
  };
2704
2715
  'z-indices': {
2705
2716
  readonly dropdownMenu: 100;
2706
- readonly popover: 200;
2707
- readonly tooltip: 300;
2717
+ readonly select: 200;
2718
+ readonly popover: 300;
2719
+ readonly tooltip: 400;
2708
2720
  };
2709
2721
  }, {
2710
2722
  readonly background: "colors";
@@ -2902,6 +2914,7 @@ declare type Align = 'start' | 'center' | 'end';
2902
2914
  declare type Padding = Partial<Record<Side, number>>;
2903
2915
  declare type Overflow = 'auto' | 'visible';
2904
2916
  declare type Size = 'medium' | 'large';
2917
+ declare type Sticky = 'partial' | 'always';
2905
2918
 
2906
2919
  type types_PointerDownOutsideEvent = PointerDownOutsideEvent;
2907
2920
  type types_Boundary = Boundary;
@@ -2910,6 +2923,7 @@ type types_Align = Align;
2910
2923
  type types_Padding = Padding;
2911
2924
  type types_Overflow = Overflow;
2912
2925
  type types_Size = Size;
2926
+ type types_Sticky = Sticky;
2913
2927
  declare namespace types {
2914
2928
  export {
2915
2929
  types_PointerDownOutsideEvent as PointerDownOutsideEvent,
@@ -2919,6 +2933,7 @@ declare namespace types {
2919
2933
  types_Padding as Padding,
2920
2934
  types_Overflow as Overflow,
2921
2935
  types_Size as Size,
2936
+ types_Sticky as Sticky,
2922
2937
  };
2923
2938
  }
2924
2939
 
@@ -2983,7 +2998,7 @@ interface ContentProps extends StyledContentProps {
2983
2998
  * "always" will keep the content in the boundary regardless. Only available
2984
2999
  * when position is set to popper.
2985
3000
  */
2986
- sticky?: 'partial' | 'always';
3001
+ sticky?: Sticky;
2987
3002
  /**
2988
3003
  * Whether to hide the content when the trigger becomes fully occluded. Only
2989
3004
  * available when position is set to popper.
@@ -3239,6 +3254,7 @@ declare const StyledLabel: react.ForwardRefExoticComponent<Omit<Omit<{}, never>
3239
3254
  readonly 400: "32px";
3240
3255
  readonly 500: "40px";
3241
3256
  readonly 600: "48px";
3257
+ readonly 700: "56px";
3242
3258
  readonly 800: "64px";
3243
3259
  readonly 1200: "96px";
3244
3260
  readonly 1600: "128px";
@@ -3290,8 +3306,9 @@ declare const StyledLabel: react.ForwardRefExoticComponent<Omit<Omit<{}, never>
3290
3306
  };
3291
3307
  'z-indices': {
3292
3308
  readonly dropdownMenu: 100;
3293
- readonly popover: 200;
3294
- readonly tooltip: 300;
3309
+ readonly select: 200;
3310
+ readonly popover: 300;
3311
+ readonly tooltip: 400;
3295
3312
  };
3296
3313
  }, {
3297
3314
  readonly background: "colors";
@@ -3714,6 +3731,7 @@ declare const StyledSeparator: react.ForwardRefExoticComponent<Omit<Omit<{}, nev
3714
3731
  readonly 400: "32px";
3715
3732
  readonly 500: "40px";
3716
3733
  readonly 600: "48px";
3734
+ readonly 700: "56px";
3717
3735
  readonly 800: "64px";
3718
3736
  readonly 1200: "96px";
3719
3737
  readonly 1600: "128px";
@@ -3765,8 +3783,9 @@ declare const StyledSeparator: react.ForwardRefExoticComponent<Omit<Omit<{}, nev
3765
3783
  };
3766
3784
  'z-indices': {
3767
3785
  readonly dropdownMenu: 100;
3768
- readonly popover: 200;
3769
- readonly tooltip: 300;
3786
+ readonly select: 200;
3787
+ readonly popover: 300;
3788
+ readonly tooltip: 400;
3770
3789
  };
3771
3790
  }, {
3772
3791
  readonly background: "colors";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirohq/design-system-select",
3
- "version": "0.1.0-select.1",
3
+ "version": "0.1.1",
4
4
  "description": "",
5
5
  "author": "Miro",
6
6
  "source": "src/index.ts",
@@ -27,12 +27,12 @@
27
27
  },
28
28
  "dependencies": {
29
29
  "@radix-ui/react-select": "^1.2.2",
30
- "@mirohq/design-system-icons": "^0.29.5-select.0",
31
- "@mirohq/design-system-scroll-area": "^0.1.9-select.0",
32
- "@mirohq/design-system-stitches": "^2.3.10-select.0",
30
+ "@mirohq/design-system-icons": "^0.30.2",
31
+ "@mirohq/design-system-primitive": "^1.1.1",
32
+ "@mirohq/design-system-scroll-area": "^0.1.10",
33
+ "@mirohq/design-system-stitches": "^2.3.11",
33
34
  "@mirohq/design-system-types": "^0.6.2",
34
- "@mirohq/design-system-utils": "^0.14.3",
35
- "@mirohq/design-system-primitive": "^1.1.1"
35
+ "@mirohq/design-system-utils": "^0.14.3"
36
36
  },
37
37
  "scripts": {
38
38
  "build": "rollup -c ../../../rollup.config.js",