@mirohq/design-system-select 0.2.7 → 0.2.9

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.map CHANGED
@@ -1 +1 @@
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 position: 'relative',\n userSelect: 'none',\n padding: '6px 0',\n paddingInline: '$150 $100',\n\n ...focus.css({\n boxShadow: '$focus-small',\n outline: '1px solid transparent',\n }),\n\n '&[aria-selected=true]': {\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 '&[data-state=\"checked\"]': {\n color: '$text-primary-selected',\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'\nimport {\n IconExclamationPointCircle,\n IconChevronDown,\n IconCheckMark,\n} from '@mirohq/design-system-icons'\n\nexport const StyledSelectIcon = styled(RadixSelectIcon, {\n flexShrink: 0,\n})\n\nexport const StyledIconExclamationPointCircle = styled(\n IconExclamationPointCircle,\n {\n color: '$icon-danger',\n }\n)\n\nexport const StyledIconCheckMark = styled(IconCheckMark, {\n color: '$icon-success',\n})\n\nexport const StyledIconChevronDown = styled(IconChevronDown, {\n color: '$icon-neutrals-text',\n})\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 position: 'relative',\n userSelect: 'none',\n width: '100%',\n justifyContent: 'space-between',\n alignItems: 'center',\n\n '&[data-placeholder]': {\n color: '$text-neutrals-subtle',\n },\n\n '&[data-invalid]': {\n borderColor: '$border-danger',\n },\n\n '&[data-valid]': {\n borderColor: '$border-success',\n },\n\n '&[data-focused], &[data-hovered]': {\n borderColor: '$border-neutrals',\n\n ...focus.css({\n boxShadow: '$focus-controls',\n outline: '1px solid transparent',\n }),\n },\n\n '&[data-invalid][data-focused]': {\n borderColor: '$border-danger',\n\n ...focus.css({\n boxShadow: '$focus-controls-error',\n }),\n },\n\n '&[data-valid][data-focused]': {\n borderColor: '$border-success',\n\n ...focus.css({\n boxShadow: '$focus-controls-success',\n }),\n },\n\n '&[data-hovered]': {\n borderColor: '$border-primary-hover',\n },\n\n '&[data-invalid][data-hovered]': {\n borderColor: '$border-danger-hover',\n },\n\n '&[data-valid][data-hovered]': {\n borderColor: '$border-success-hover',\n },\n\n '&:active, &[data-state=\"open\"]': {\n borderColor: '$border-primary-active',\n },\n\n '&:active[data-valid], &[data-state=\"open\"][data-valid]': {\n borderColor: '$border-success-active',\n },\n\n '&:active[data-invalid], &[data-state=\"open\"][data-invalid]': {\n borderColor: '$border-danger-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 large: {\n height: '$10',\n paddingX: '$100',\n gap: '$50',\n },\n 'x-large': {\n height: '$12',\n paddingX: '$150',\n gap: '$100',\n },\n },\n },\n})\n\nexport type StyledTriggerProps = StrictComponentProps<typeof StyledTrigger>\n","import { createContext, useContext, useState } from 'react'\nimport type { PropsWithChildren } from 'react'\nimport type { Booleanish } from '@mirohq/design-system-types'\n\nimport type { Direction } from '../types'\n\ninterface SelectValues {\n valid?: boolean\n ariaDisabled?: Booleanish\n direction?: Direction\n open?: boolean\n defaultOpen: boolean\n}\n\ninterface SelectContextProps {\n valid?: boolean\n ariaDisabled?: Booleanish\n direction?: Direction\n open?: boolean\n setOpenState: React.Dispatch<React.SetStateAction<boolean>>\n openState: boolean\n}\n\nconst SelectContext = createContext<SelectContextProps>({} as any)\n\nexport const SelectProvider = ({\n children,\n defaultOpen,\n ...restProps\n}: PropsWithChildren<SelectValues>): any => {\n const [openState, setOpenState] = useState(defaultOpen)\n return (\n <SelectContext.Provider\n value={{\n ...restProps,\n openState,\n setOpenState,\n }}\n >\n {children}\n </SelectContext.Provider>\n )\n}\n\nexport const useSelectContext = (): SelectContextProps =>\n useContext(SelectContext)\n","import React, { useState } from 'react'\nimport { booleanify } from '@mirohq/design-system-utils'\nimport { Trigger as RadixTrigger } from '@radix-ui/react-select'\nimport { useHover } from '@react-aria/interactions'\nimport type { HoverEvents } from '@react-types/shared'\nimport type { ElementRef, PointerEvent } from 'react'\n\nimport { StyledTrigger } from './trigger.styled'\nimport { useSelectContext } from '../hooks/use-select-context'\nimport {\n StyledSelectIcon,\n StyledIconExclamationPointCircle,\n StyledIconCheckMark,\n StyledIconChevronDown,\n} from './select-icon.styled'\nimport type { StyledTriggerProps } from './trigger.styled'\n\nexport interface TriggerProps extends StyledTriggerProps, HoverEvents {\n /**\n * The content.\n */\n children: React.ReactNode\n}\n\nconst SELECT_ICONS = {\n valid: StyledIconCheckMark,\n invalid: StyledIconExclamationPointCircle,\n default: StyledIconChevronDown,\n}\n\nexport const Trigger = React.forwardRef<\n ElementRef<typeof StyledTrigger>,\n TriggerProps\n>(\n (\n {\n onKeyDown,\n onPointerDown,\n onFocus,\n onBlur,\n children,\n size = 'large',\n asChild = false,\n onHoverChange,\n onHoverStart,\n onHoverEnd,\n ...restProps\n },\n forwardRef\n ) => {\n const { valid, ariaDisabled, open, openState } = useSelectContext()\n const isValid = valid === undefined ? undefined : valid\n const [focused, setFocused] = useState(false)\n const isOpen = open ?? openState\n\n const { hoverProps, isHovered: hovered } = useHover({\n onHoverStart,\n onHoverEnd,\n onHoverChange: isHovering => {\n onHoverChange?.(isHovering)\n },\n })\n\n const commonProps = {\n ...restProps,\n ref: forwardRef,\n 'aria-disabled': ariaDisabled,\n onPointerDown: (e: PointerEvent<HTMLButtonElement>) => {\n if (booleanify(ariaDisabled)) {\n e.preventDefault()\n } else {\n onPointerDown?.(e)\n }\n },\n onKeyDown: (e: React.KeyboardEvent<HTMLButtonElement>) => {\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 onFocus: (e: React.FocusEvent<HTMLButtonElement>) => {\n onFocus?.(e)\n setFocused(true)\n },\n onBlur: (e: React.FocusEvent<HTMLButtonElement>) => {\n onBlur?.(e)\n if (!isOpen) {\n setFocused(false)\n }\n },\n 'data-invalid': isValid === false ? '' : undefined,\n 'data-valid': isValid === true ? '' : undefined,\n 'data-focused': focused ? '' : undefined,\n 'data-hovered': hovered ? '' : undefined,\n }\n\n if (asChild) {\n return (\n <RadixTrigger {...commonProps} asChild>\n {children}\n </RadixTrigger>\n )\n }\n\n const SelectIcon =\n SELECT_ICONS[\n (open ?? openState) || isValid === undefined || hovered || focused\n ? 'default'\n : isValid\n ? 'valid'\n : 'invalid'\n ]\n\n return (\n <StyledTrigger {...hoverProps} {...commonProps} size={size}>\n {children}\n <StyledSelectIcon asChild>\n <SelectIcon 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'\nimport { Primitive } from '@mirohq/design-system-primitive'\n\nexport const StyledScrollContainer = styled(Primitive.div, {\n boxSizing: 'border-box',\n paddingInline: '0 6px',\n margin: '-2px 0 0',\n marginInline: '-2px 2px',\n})\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-select-viewport]': {\n padding: `$100`,\n boxSizing: 'border-box',\n margin: '-6px',\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, StyledScrollContainer } 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'\nimport { useSelectContext } from '../hooks/use-select-context'\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 { direction } = useSelectContext()\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 dir={direction} type='always'>\n <ScrollArea.Viewport css={getOverflowMaxHeight()}>\n <StyledScrollContainer>{children}</StyledScrollContainer>\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 margin: '0 $400',\n padding: '6px 0',\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 from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\nimport type { Booleanish } from '@mirohq/design-system-types'\n\nimport { StyledSelect } 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, useSelectContext } from './hooks/use-select-context'\nimport type { Direction } from './types'\nimport type { StyledSelectProps } from './select.styled'\n\nexport interface SelectProps\n extends Omit<StyledSelectProps, 'onOpenChange' | 'dir'> {\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 * onOpen and onClose.\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?: Direction\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\n * 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\", this indicates that the input component is valid, and a\n * green state is displayed, allowing the form to be submitted.\n */\n valid?: boolean\n}\n\nconst Root = React.forwardRef<ElementRef<typeof StyledSelect>, SelectProps>(\n ({ disabled, onOpen, onClose, ...restProps }, forwardRef) => {\n const { ariaDisabled, direction, open, setOpenState, openState } =\n useSelectContext()\n\n return (\n <StyledSelect\n {...restProps}\n aria-disabled={ariaDisabled}\n dir={direction}\n disabled={disabled}\n open={open ?? openState}\n onOpenChange={newOpen => {\n if (open == null) {\n setOpenState(newOpen)\n }\n\n newOpen ? onOpen?.() : onClose?.()\n }}\n ref={forwardRef}\n />\n )\n }\n)\n\nexport const Select = React.forwardRef<\n ElementRef<typeof StyledSelect>,\n SelectProps\n>(\n (\n {\n 'aria-disabled': ariaDisabled,\n defaultOpen = false,\n direction = 'ltr',\n open,\n valid,\n ...restProps\n },\n forwardRef\n ) => (\n <SelectProvider\n ariaDisabled={ariaDisabled}\n defaultOpen={defaultOpen}\n direction={direction}\n open={open}\n valid={valid}\n >\n <Root open={open} {...restProps} ref={forwardRef} />\n </SelectProvider>\n )\n) as ForwardRefExoticComponent<SelectProps> & Partials\n\nexport interface 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","IconExclamationPointCircle","IconChevronDown","RadixTrigger","createContext","useState","useContext","useHover","RadixValue","Primitive","RadixContent","theme","useCallback","RadixViewport","ScrollArea","Fragment","RadixLabel","RadixSeparator"],"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 position: 'relative',\n userSelect: 'none',\n padding: '6px 0',\n paddingInline: '$150 $100',\n\n ...focus.css({\n boxShadow: '$focus-small',\n outline: '1px solid transparent',\n }),\n\n '&[aria-selected=true]': {\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 '&[data-state=\"checked\"]': {\n color: '$text-primary-selected',\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 * @default false\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 * @default document.body\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'\nimport {\n IconExclamationPointCircle,\n IconChevronDown,\n IconCheckMark,\n} from '@mirohq/design-system-icons'\n\nexport const StyledSelectIcon = styled(RadixSelectIcon, {\n flexShrink: 0,\n})\n\nexport const StyledIconExclamationPointCircle = styled(\n IconExclamationPointCircle,\n {\n color: '$icon-danger',\n }\n)\n\nexport const StyledIconCheckMark = styled(IconCheckMark, {\n color: '$icon-success',\n})\n\nexport const StyledIconChevronDown = styled(IconChevronDown, {\n color: '$icon-neutrals-text',\n})\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 position: 'relative',\n userSelect: 'none',\n width: '100%',\n justifyContent: 'space-between',\n alignItems: 'center',\n\n '&[data-placeholder]': {\n color: '$text-neutrals-subtle',\n },\n\n '&[data-invalid]': {\n borderColor: '$border-danger',\n },\n\n '&[data-valid]': {\n borderColor: '$border-success',\n },\n\n '&[data-focused], &[data-hovered]': {\n borderColor: '$border-neutrals',\n\n ...focus.css({\n boxShadow: '$focus-controls',\n outline: '1px solid transparent',\n }),\n },\n\n '&[data-invalid][data-focused]': {\n borderColor: '$border-danger',\n\n ...focus.css({\n boxShadow: '$focus-controls-error',\n }),\n },\n\n '&[data-valid][data-focused]': {\n borderColor: '$border-success',\n\n ...focus.css({\n boxShadow: '$focus-controls-success',\n }),\n },\n\n '&[data-hovered]': {\n borderColor: '$border-primary-hover',\n },\n\n '&[data-invalid][data-hovered]': {\n borderColor: '$border-danger-hover',\n },\n\n '&[data-valid][data-hovered]': {\n borderColor: '$border-success-hover',\n },\n\n '&:active, &[data-state=\"open\"]': {\n borderColor: '$border-primary-active',\n },\n\n '&:active[data-valid], &[data-state=\"open\"][data-valid]': {\n borderColor: '$border-success-active',\n },\n\n '&:active[data-invalid], &[data-state=\"open\"][data-invalid]': {\n borderColor: '$border-danger-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 large: {\n height: '$10',\n paddingX: '$100',\n gap: '$50',\n },\n 'x-large': {\n height: '$12',\n paddingX: '$150',\n gap: '$100',\n },\n },\n },\n})\n\nexport type StyledTriggerProps = StrictComponentProps<typeof StyledTrigger>\n","import { createContext, useContext, useState } from 'react'\nimport type { PropsWithChildren } from 'react'\nimport type { Booleanish } from '@mirohq/design-system-types'\n\nimport type { Direction } from '../types'\n\ninterface SelectValues {\n valid?: boolean\n ariaDisabled?: Booleanish\n direction?: Direction\n open?: boolean\n defaultOpen: boolean\n}\n\ninterface SelectContextProps {\n valid?: boolean\n ariaDisabled?: Booleanish\n direction?: Direction\n open?: boolean\n setOpenState: React.Dispatch<React.SetStateAction<boolean>>\n openState: boolean\n}\n\nconst SelectContext = createContext<SelectContextProps>({} as any)\n\nexport const SelectProvider = ({\n children,\n defaultOpen,\n ...restProps\n}: PropsWithChildren<SelectValues>): any => {\n const [openState, setOpenState] = useState(defaultOpen)\n return (\n <SelectContext.Provider\n value={{\n ...restProps,\n openState,\n setOpenState,\n }}\n >\n {children}\n </SelectContext.Provider>\n )\n}\n\nexport const useSelectContext = (): SelectContextProps =>\n useContext(SelectContext)\n","import React, { useState } from 'react'\nimport { booleanify } from '@mirohq/design-system-utils'\nimport { Trigger as RadixTrigger } from '@radix-ui/react-select'\nimport { useHover } from '@react-aria/interactions'\nimport type { HoverEvents } from '@react-types/shared'\nimport type { ElementRef, PointerEvent } from 'react'\n\nimport { StyledTrigger } from './trigger.styled'\nimport { useSelectContext } from '../hooks/use-select-context'\nimport {\n StyledSelectIcon,\n StyledIconExclamationPointCircle,\n StyledIconCheckMark,\n StyledIconChevronDown,\n} from './select-icon.styled'\nimport type { StyledTriggerProps } from './trigger.styled'\n\nexport interface TriggerProps extends StyledTriggerProps, HoverEvents {\n /**\n * The content.\n */\n children: React.ReactNode\n\n /**\n * The size of the trigger.\n * @default 'large'\n */\n size?: StyledTriggerProps['size']\n}\n\nconst SELECT_ICONS = {\n valid: StyledIconCheckMark,\n invalid: StyledIconExclamationPointCircle,\n default: StyledIconChevronDown,\n}\n\nexport const Trigger = React.forwardRef<\n ElementRef<typeof StyledTrigger>,\n TriggerProps\n>(\n (\n {\n onKeyDown,\n onPointerDown,\n onFocus,\n onBlur,\n children,\n size = 'large',\n asChild = false,\n onHoverChange,\n onHoverStart,\n onHoverEnd,\n ...restProps\n },\n forwardRef\n ) => {\n const { valid, ariaDisabled, open, openState } = useSelectContext()\n const isValid = valid === undefined ? undefined : valid\n const [focused, setFocused] = useState(false)\n const isOpen = open ?? openState\n\n const { hoverProps, isHovered: hovered } = useHover({\n onHoverStart,\n onHoverEnd,\n onHoverChange: isHovering => {\n onHoverChange?.(isHovering)\n },\n })\n\n const commonProps = {\n ...restProps,\n ref: forwardRef,\n 'aria-disabled': ariaDisabled,\n onPointerDown: (e: PointerEvent<HTMLButtonElement>) => {\n if (booleanify(ariaDisabled)) {\n e.preventDefault()\n } else {\n onPointerDown?.(e)\n }\n },\n onKeyDown: (e: React.KeyboardEvent<HTMLButtonElement>) => {\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 onFocus: (e: React.FocusEvent<HTMLButtonElement>) => {\n onFocus?.(e)\n setFocused(true)\n },\n onBlur: (e: React.FocusEvent<HTMLButtonElement>) => {\n onBlur?.(e)\n if (!isOpen) {\n setFocused(false)\n }\n },\n 'data-invalid': isValid === false ? '' : undefined,\n 'data-valid': isValid === true ? '' : undefined,\n 'data-focused': focused ? '' : undefined,\n 'data-hovered': hovered ? '' : undefined,\n }\n\n if (asChild) {\n return (\n <RadixTrigger {...commonProps} asChild>\n {children}\n </RadixTrigger>\n )\n }\n\n const SelectIcon =\n SELECT_ICONS[\n (open ?? openState) || isValid === undefined || hovered || focused\n ? 'default'\n : isValid\n ? 'valid'\n : 'invalid'\n ]\n\n return (\n <StyledTrigger {...hoverProps} {...commonProps} size={size}>\n {children}\n <StyledSelectIcon asChild>\n <SelectIcon 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'\nimport { Primitive } from '@mirohq/design-system-primitive'\n\nexport const StyledScrollContainer = styled(Primitive.div, {\n boxSizing: 'border-box',\n paddingInline: '0 6px',\n margin: '-2px 0 0',\n marginInline: '-2px 2px',\n})\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-select-viewport]': {\n padding: `$100`,\n boxSizing: 'border-box',\n margin: '-6px',\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, StyledScrollContainer } 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'\nimport { useSelectContext } from '../hooks/use-select-context'\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 * @default 'bottom'\n */\n side?: Side\n\n /**\n * The distance in pixels from the anchor. Only available when position is set\n * to popper.\n * @default CONTENT_OFFSET\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 * @default 'center'\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 * @default 0\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 * @default true\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 * @default viewport\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 * @default 0\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 * @default 'partial'\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 * @default true\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 * @default 'visible'\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 { direction } = useSelectContext()\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 dir={direction} type='always'>\n <ScrollArea.Viewport css={getOverflowMaxHeight()}>\n <StyledScrollContainer>{children}</StyledScrollContainer>\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 margin: '0 $400',\n padding: '6px 0',\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 from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\nimport type { Booleanish } from '@mirohq/design-system-types'\n\nimport { StyledSelect } 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, useSelectContext } from './hooks/use-select-context'\nimport type { Direction } from './types'\nimport type { StyledSelectProps } from './select.styled'\n\nexport interface SelectProps\n extends Omit<StyledSelectProps, 'onOpenChange' | 'dir'> {\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 * @default false\n */\n defaultOpen?: boolean\n\n /**\n * The controlled open state of the select. Must be used in conjunction with\n * onOpen and onClose.\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 * @default 'ltr'\n */\n direction?: Direction\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\n * 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\", this indicates that the input component is valid, and a\n * green state is displayed, allowing the form to be submitted.\n */\n valid?: boolean\n}\n\nconst Root = React.forwardRef<ElementRef<typeof StyledSelect>, SelectProps>(\n ({ disabled, onOpen, onClose, ...restProps }, forwardRef) => {\n const { ariaDisabled, direction, open, setOpenState, openState } =\n useSelectContext()\n\n return (\n <StyledSelect\n {...restProps}\n aria-disabled={ariaDisabled}\n dir={direction}\n disabled={disabled}\n open={open ?? openState}\n onOpenChange={newOpen => {\n if (open == null) {\n setOpenState(newOpen)\n }\n\n newOpen ? onOpen?.() : onClose?.()\n }}\n ref={forwardRef}\n />\n )\n }\n)\n\nexport const Select = React.forwardRef<\n ElementRef<typeof StyledSelect>,\n SelectProps\n>(\n (\n {\n 'aria-disabled': ariaDisabled,\n defaultOpen = false,\n direction = 'ltr',\n open,\n valid,\n ...restProps\n },\n forwardRef\n ) => (\n <SelectProvider\n ariaDisabled={ariaDisabled}\n defaultOpen={defaultOpen}\n direction={direction}\n open={open}\n valid={valid}\n >\n <Root open={open} {...restProps} ref={forwardRef} />\n </SelectProvider>\n )\n) as ForwardRefExoticComponent<SelectProps> & Partials\n\nexport interface 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","IconExclamationPointCircle","IconChevronDown","RadixTrigger","createContext","useState","useContext","useHover","RadixValue","Primitive","RadixContent","theme","useCallback","RadixViewport","ScrollArea","Fragment","RadixLabel","RadixSeparator"],"mappings":"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"}
@@ -1 +1 @@
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 position: 'relative',\n userSelect: 'none',\n padding: '6px 0',\n paddingInline: '$150 $100',\n\n ...focus.css({\n boxShadow: '$focus-small',\n outline: '1px solid transparent',\n }),\n\n '&[aria-selected=true]': {\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 '&[data-state=\"checked\"]': {\n color: '$text-primary-selected',\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'\nimport {\n IconExclamationPointCircle,\n IconChevronDown,\n IconCheckMark,\n} from '@mirohq/design-system-icons'\n\nexport const StyledSelectIcon = styled(RadixSelectIcon, {\n flexShrink: 0,\n})\n\nexport const StyledIconExclamationPointCircle = styled(\n IconExclamationPointCircle,\n {\n color: '$icon-danger',\n }\n)\n\nexport const StyledIconCheckMark = styled(IconCheckMark, {\n color: '$icon-success',\n})\n\nexport const StyledIconChevronDown = styled(IconChevronDown, {\n color: '$icon-neutrals-text',\n})\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 position: 'relative',\n userSelect: 'none',\n width: '100%',\n justifyContent: 'space-between',\n alignItems: 'center',\n\n '&[data-placeholder]': {\n color: '$text-neutrals-subtle',\n },\n\n '&[data-invalid]': {\n borderColor: '$border-danger',\n },\n\n '&[data-valid]': {\n borderColor: '$border-success',\n },\n\n '&[data-focused], &[data-hovered]': {\n borderColor: '$border-neutrals',\n\n ...focus.css({\n boxShadow: '$focus-controls',\n outline: '1px solid transparent',\n }),\n },\n\n '&[data-invalid][data-focused]': {\n borderColor: '$border-danger',\n\n ...focus.css({\n boxShadow: '$focus-controls-error',\n }),\n },\n\n '&[data-valid][data-focused]': {\n borderColor: '$border-success',\n\n ...focus.css({\n boxShadow: '$focus-controls-success',\n }),\n },\n\n '&[data-hovered]': {\n borderColor: '$border-primary-hover',\n },\n\n '&[data-invalid][data-hovered]': {\n borderColor: '$border-danger-hover',\n },\n\n '&[data-valid][data-hovered]': {\n borderColor: '$border-success-hover',\n },\n\n '&:active, &[data-state=\"open\"]': {\n borderColor: '$border-primary-active',\n },\n\n '&:active[data-valid], &[data-state=\"open\"][data-valid]': {\n borderColor: '$border-success-active',\n },\n\n '&:active[data-invalid], &[data-state=\"open\"][data-invalid]': {\n borderColor: '$border-danger-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 large: {\n height: '$10',\n paddingX: '$100',\n gap: '$50',\n },\n 'x-large': {\n height: '$12',\n paddingX: '$150',\n gap: '$100',\n },\n },\n },\n})\n\nexport type StyledTriggerProps = StrictComponentProps<typeof StyledTrigger>\n","import { createContext, useContext, useState } from 'react'\nimport type { PropsWithChildren } from 'react'\nimport type { Booleanish } from '@mirohq/design-system-types'\n\nimport type { Direction } from '../types'\n\ninterface SelectValues {\n valid?: boolean\n ariaDisabled?: Booleanish\n direction?: Direction\n open?: boolean\n defaultOpen: boolean\n}\n\ninterface SelectContextProps {\n valid?: boolean\n ariaDisabled?: Booleanish\n direction?: Direction\n open?: boolean\n setOpenState: React.Dispatch<React.SetStateAction<boolean>>\n openState: boolean\n}\n\nconst SelectContext = createContext<SelectContextProps>({} as any)\n\nexport const SelectProvider = ({\n children,\n defaultOpen,\n ...restProps\n}: PropsWithChildren<SelectValues>): any => {\n const [openState, setOpenState] = useState(defaultOpen)\n return (\n <SelectContext.Provider\n value={{\n ...restProps,\n openState,\n setOpenState,\n }}\n >\n {children}\n </SelectContext.Provider>\n )\n}\n\nexport const useSelectContext = (): SelectContextProps =>\n useContext(SelectContext)\n","import React, { useState } from 'react'\nimport { booleanify } from '@mirohq/design-system-utils'\nimport { Trigger as RadixTrigger } from '@radix-ui/react-select'\nimport { useHover } from '@react-aria/interactions'\nimport type { HoverEvents } from '@react-types/shared'\nimport type { ElementRef, PointerEvent } from 'react'\n\nimport { StyledTrigger } from './trigger.styled'\nimport { useSelectContext } from '../hooks/use-select-context'\nimport {\n StyledSelectIcon,\n StyledIconExclamationPointCircle,\n StyledIconCheckMark,\n StyledIconChevronDown,\n} from './select-icon.styled'\nimport type { StyledTriggerProps } from './trigger.styled'\n\nexport interface TriggerProps extends StyledTriggerProps, HoverEvents {\n /**\n * The content.\n */\n children: React.ReactNode\n}\n\nconst SELECT_ICONS = {\n valid: StyledIconCheckMark,\n invalid: StyledIconExclamationPointCircle,\n default: StyledIconChevronDown,\n}\n\nexport const Trigger = React.forwardRef<\n ElementRef<typeof StyledTrigger>,\n TriggerProps\n>(\n (\n {\n onKeyDown,\n onPointerDown,\n onFocus,\n onBlur,\n children,\n size = 'large',\n asChild = false,\n onHoverChange,\n onHoverStart,\n onHoverEnd,\n ...restProps\n },\n forwardRef\n ) => {\n const { valid, ariaDisabled, open, openState } = useSelectContext()\n const isValid = valid === undefined ? undefined : valid\n const [focused, setFocused] = useState(false)\n const isOpen = open ?? openState\n\n const { hoverProps, isHovered: hovered } = useHover({\n onHoverStart,\n onHoverEnd,\n onHoverChange: isHovering => {\n onHoverChange?.(isHovering)\n },\n })\n\n const commonProps = {\n ...restProps,\n ref: forwardRef,\n 'aria-disabled': ariaDisabled,\n onPointerDown: (e: PointerEvent<HTMLButtonElement>) => {\n if (booleanify(ariaDisabled)) {\n e.preventDefault()\n } else {\n onPointerDown?.(e)\n }\n },\n onKeyDown: (e: React.KeyboardEvent<HTMLButtonElement>) => {\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 onFocus: (e: React.FocusEvent<HTMLButtonElement>) => {\n onFocus?.(e)\n setFocused(true)\n },\n onBlur: (e: React.FocusEvent<HTMLButtonElement>) => {\n onBlur?.(e)\n if (!isOpen) {\n setFocused(false)\n }\n },\n 'data-invalid': isValid === false ? '' : undefined,\n 'data-valid': isValid === true ? '' : undefined,\n 'data-focused': focused ? '' : undefined,\n 'data-hovered': hovered ? '' : undefined,\n }\n\n if (asChild) {\n return (\n <RadixTrigger {...commonProps} asChild>\n {children}\n </RadixTrigger>\n )\n }\n\n const SelectIcon =\n SELECT_ICONS[\n (open ?? openState) || isValid === undefined || hovered || focused\n ? 'default'\n : isValid\n ? 'valid'\n : 'invalid'\n ]\n\n return (\n <StyledTrigger {...hoverProps} {...commonProps} size={size}>\n {children}\n <StyledSelectIcon asChild>\n <SelectIcon 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'\nimport { Primitive } from '@mirohq/design-system-primitive'\n\nexport const StyledScrollContainer = styled(Primitive.div, {\n boxSizing: 'border-box',\n paddingInline: '0 6px',\n margin: '-2px 0 0',\n marginInline: '-2px 2px',\n})\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-select-viewport]': {\n padding: `$100`,\n boxSizing: 'border-box',\n margin: '-6px',\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, StyledScrollContainer } 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'\nimport { useSelectContext } from '../hooks/use-select-context'\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 { direction } = useSelectContext()\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 dir={direction} type='always'>\n <ScrollArea.Viewport css={getOverflowMaxHeight()}>\n <StyledScrollContainer>{children}</StyledScrollContainer>\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 margin: '0 $400',\n padding: '6px 0',\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 from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\nimport type { Booleanish } from '@mirohq/design-system-types'\n\nimport { StyledSelect } 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, useSelectContext } from './hooks/use-select-context'\nimport type { Direction } from './types'\nimport type { StyledSelectProps } from './select.styled'\n\nexport interface SelectProps\n extends Omit<StyledSelectProps, 'onOpenChange' | 'dir'> {\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 * onOpen and onClose.\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?: Direction\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\n * 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\", this indicates that the input component is valid, and a\n * green state is displayed, allowing the form to be submitted.\n */\n valid?: boolean\n}\n\nconst Root = React.forwardRef<ElementRef<typeof StyledSelect>, SelectProps>(\n ({ disabled, onOpen, onClose, ...restProps }, forwardRef) => {\n const { ariaDisabled, direction, open, setOpenState, openState } =\n useSelectContext()\n\n return (\n <StyledSelect\n {...restProps}\n aria-disabled={ariaDisabled}\n dir={direction}\n disabled={disabled}\n open={open ?? openState}\n onOpenChange={newOpen => {\n if (open == null) {\n setOpenState(newOpen)\n }\n\n newOpen ? onOpen?.() : onClose?.()\n }}\n ref={forwardRef}\n />\n )\n }\n)\n\nexport const Select = React.forwardRef<\n ElementRef<typeof StyledSelect>,\n SelectProps\n>(\n (\n {\n 'aria-disabled': ariaDisabled,\n defaultOpen = false,\n direction = 'ltr',\n open,\n valid,\n ...restProps\n },\n forwardRef\n ) => (\n <SelectProvider\n ariaDisabled={ariaDisabled}\n defaultOpen={defaultOpen}\n direction={direction}\n open={open}\n valid={valid}\n >\n <Root open={open} {...restProps} ref={forwardRef} />\n </SelectProvider>\n )\n) as ForwardRefExoticComponent<SelectProps> & Partials\n\nexport interface 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 position: 'relative',\n userSelect: 'none',\n padding: '6px 0',\n paddingInline: '$150 $100',\n\n ...focus.css({\n boxShadow: '$focus-small',\n outline: '1px solid transparent',\n }),\n\n '&[aria-selected=true]': {\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 '&[data-state=\"checked\"]': {\n color: '$text-primary-selected',\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 * @default false\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 * @default document.body\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'\nimport {\n IconExclamationPointCircle,\n IconChevronDown,\n IconCheckMark,\n} from '@mirohq/design-system-icons'\n\nexport const StyledSelectIcon = styled(RadixSelectIcon, {\n flexShrink: 0,\n})\n\nexport const StyledIconExclamationPointCircle = styled(\n IconExclamationPointCircle,\n {\n color: '$icon-danger',\n }\n)\n\nexport const StyledIconCheckMark = styled(IconCheckMark, {\n color: '$icon-success',\n})\n\nexport const StyledIconChevronDown = styled(IconChevronDown, {\n color: '$icon-neutrals-text',\n})\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 position: 'relative',\n userSelect: 'none',\n width: '100%',\n justifyContent: 'space-between',\n alignItems: 'center',\n\n '&[data-placeholder]': {\n color: '$text-neutrals-subtle',\n },\n\n '&[data-invalid]': {\n borderColor: '$border-danger',\n },\n\n '&[data-valid]': {\n borderColor: '$border-success',\n },\n\n '&[data-focused], &[data-hovered]': {\n borderColor: '$border-neutrals',\n\n ...focus.css({\n boxShadow: '$focus-controls',\n outline: '1px solid transparent',\n }),\n },\n\n '&[data-invalid][data-focused]': {\n borderColor: '$border-danger',\n\n ...focus.css({\n boxShadow: '$focus-controls-error',\n }),\n },\n\n '&[data-valid][data-focused]': {\n borderColor: '$border-success',\n\n ...focus.css({\n boxShadow: '$focus-controls-success',\n }),\n },\n\n '&[data-hovered]': {\n borderColor: '$border-primary-hover',\n },\n\n '&[data-invalid][data-hovered]': {\n borderColor: '$border-danger-hover',\n },\n\n '&[data-valid][data-hovered]': {\n borderColor: '$border-success-hover',\n },\n\n '&:active, &[data-state=\"open\"]': {\n borderColor: '$border-primary-active',\n },\n\n '&:active[data-valid], &[data-state=\"open\"][data-valid]': {\n borderColor: '$border-success-active',\n },\n\n '&:active[data-invalid], &[data-state=\"open\"][data-invalid]': {\n borderColor: '$border-danger-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 large: {\n height: '$10',\n paddingX: '$100',\n gap: '$50',\n },\n 'x-large': {\n height: '$12',\n paddingX: '$150',\n gap: '$100',\n },\n },\n },\n})\n\nexport type StyledTriggerProps = StrictComponentProps<typeof StyledTrigger>\n","import { createContext, useContext, useState } from 'react'\nimport type { PropsWithChildren } from 'react'\nimport type { Booleanish } from '@mirohq/design-system-types'\n\nimport type { Direction } from '../types'\n\ninterface SelectValues {\n valid?: boolean\n ariaDisabled?: Booleanish\n direction?: Direction\n open?: boolean\n defaultOpen: boolean\n}\n\ninterface SelectContextProps {\n valid?: boolean\n ariaDisabled?: Booleanish\n direction?: Direction\n open?: boolean\n setOpenState: React.Dispatch<React.SetStateAction<boolean>>\n openState: boolean\n}\n\nconst SelectContext = createContext<SelectContextProps>({} as any)\n\nexport const SelectProvider = ({\n children,\n defaultOpen,\n ...restProps\n}: PropsWithChildren<SelectValues>): any => {\n const [openState, setOpenState] = useState(defaultOpen)\n return (\n <SelectContext.Provider\n value={{\n ...restProps,\n openState,\n setOpenState,\n }}\n >\n {children}\n </SelectContext.Provider>\n )\n}\n\nexport const useSelectContext = (): SelectContextProps =>\n useContext(SelectContext)\n","import React, { useState } from 'react'\nimport { booleanify } from '@mirohq/design-system-utils'\nimport { Trigger as RadixTrigger } from '@radix-ui/react-select'\nimport { useHover } from '@react-aria/interactions'\nimport type { HoverEvents } from '@react-types/shared'\nimport type { ElementRef, PointerEvent } from 'react'\n\nimport { StyledTrigger } from './trigger.styled'\nimport { useSelectContext } from '../hooks/use-select-context'\nimport {\n StyledSelectIcon,\n StyledIconExclamationPointCircle,\n StyledIconCheckMark,\n StyledIconChevronDown,\n} from './select-icon.styled'\nimport type { StyledTriggerProps } from './trigger.styled'\n\nexport interface TriggerProps extends StyledTriggerProps, HoverEvents {\n /**\n * The content.\n */\n children: React.ReactNode\n\n /**\n * The size of the trigger.\n * @default 'large'\n */\n size?: StyledTriggerProps['size']\n}\n\nconst SELECT_ICONS = {\n valid: StyledIconCheckMark,\n invalid: StyledIconExclamationPointCircle,\n default: StyledIconChevronDown,\n}\n\nexport const Trigger = React.forwardRef<\n ElementRef<typeof StyledTrigger>,\n TriggerProps\n>(\n (\n {\n onKeyDown,\n onPointerDown,\n onFocus,\n onBlur,\n children,\n size = 'large',\n asChild = false,\n onHoverChange,\n onHoverStart,\n onHoverEnd,\n ...restProps\n },\n forwardRef\n ) => {\n const { valid, ariaDisabled, open, openState } = useSelectContext()\n const isValid = valid === undefined ? undefined : valid\n const [focused, setFocused] = useState(false)\n const isOpen = open ?? openState\n\n const { hoverProps, isHovered: hovered } = useHover({\n onHoverStart,\n onHoverEnd,\n onHoverChange: isHovering => {\n onHoverChange?.(isHovering)\n },\n })\n\n const commonProps = {\n ...restProps,\n ref: forwardRef,\n 'aria-disabled': ariaDisabled,\n onPointerDown: (e: PointerEvent<HTMLButtonElement>) => {\n if (booleanify(ariaDisabled)) {\n e.preventDefault()\n } else {\n onPointerDown?.(e)\n }\n },\n onKeyDown: (e: React.KeyboardEvent<HTMLButtonElement>) => {\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 onFocus: (e: React.FocusEvent<HTMLButtonElement>) => {\n onFocus?.(e)\n setFocused(true)\n },\n onBlur: (e: React.FocusEvent<HTMLButtonElement>) => {\n onBlur?.(e)\n if (!isOpen) {\n setFocused(false)\n }\n },\n 'data-invalid': isValid === false ? '' : undefined,\n 'data-valid': isValid === true ? '' : undefined,\n 'data-focused': focused ? '' : undefined,\n 'data-hovered': hovered ? '' : undefined,\n }\n\n if (asChild) {\n return (\n <RadixTrigger {...commonProps} asChild>\n {children}\n </RadixTrigger>\n )\n }\n\n const SelectIcon =\n SELECT_ICONS[\n (open ?? openState) || isValid === undefined || hovered || focused\n ? 'default'\n : isValid\n ? 'valid'\n : 'invalid'\n ]\n\n return (\n <StyledTrigger {...hoverProps} {...commonProps} size={size}>\n {children}\n <StyledSelectIcon asChild>\n <SelectIcon 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'\nimport { Primitive } from '@mirohq/design-system-primitive'\n\nexport const StyledScrollContainer = styled(Primitive.div, {\n boxSizing: 'border-box',\n paddingInline: '0 6px',\n margin: '-2px 0 0',\n marginInline: '-2px 2px',\n})\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-select-viewport]': {\n padding: `$100`,\n boxSizing: 'border-box',\n margin: '-6px',\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, StyledScrollContainer } 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'\nimport { useSelectContext } from '../hooks/use-select-context'\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 * @default 'bottom'\n */\n side?: Side\n\n /**\n * The distance in pixels from the anchor. Only available when position is set\n * to popper.\n * @default CONTENT_OFFSET\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 * @default 'center'\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 * @default 0\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 * @default true\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 * @default viewport\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 * @default 0\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 * @default 'partial'\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 * @default true\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 * @default 'visible'\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 { direction } = useSelectContext()\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 dir={direction} type='always'>\n <ScrollArea.Viewport css={getOverflowMaxHeight()}>\n <StyledScrollContainer>{children}</StyledScrollContainer>\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 margin: '0 $400',\n padding: '6px 0',\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 from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\nimport type { Booleanish } from '@mirohq/design-system-types'\n\nimport { StyledSelect } 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, useSelectContext } from './hooks/use-select-context'\nimport type { Direction } from './types'\nimport type { StyledSelectProps } from './select.styled'\n\nexport interface SelectProps\n extends Omit<StyledSelectProps, 'onOpenChange' | 'dir'> {\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 * @default false\n */\n defaultOpen?: boolean\n\n /**\n * The controlled open state of the select. Must be used in conjunction with\n * onOpen and onClose.\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 * @default 'ltr'\n */\n direction?: Direction\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\n * 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\", this indicates that the input component is valid, and a\n * green state is displayed, allowing the form to be submitted.\n */\n valid?: boolean\n}\n\nconst Root = React.forwardRef<ElementRef<typeof StyledSelect>, SelectProps>(\n ({ disabled, onOpen, onClose, ...restProps }, forwardRef) => {\n const { ariaDisabled, direction, open, setOpenState, openState } =\n useSelectContext()\n\n return (\n <StyledSelect\n {...restProps}\n aria-disabled={ariaDisabled}\n dir={direction}\n disabled={disabled}\n open={open ?? openState}\n onOpenChange={newOpen => {\n if (open == null) {\n setOpenState(newOpen)\n }\n\n newOpen ? onOpen?.() : onClose?.()\n }}\n ref={forwardRef}\n />\n )\n }\n)\n\nexport const Select = React.forwardRef<\n ElementRef<typeof StyledSelect>,\n SelectProps\n>(\n (\n {\n 'aria-disabled': ariaDisabled,\n defaultOpen = false,\n direction = 'ltr',\n open,\n valid,\n ...restProps\n },\n forwardRef\n ) => (\n <SelectProvider\n ariaDisabled={ariaDisabled}\n defaultOpen={defaultOpen}\n direction={direction}\n open={open}\n valid={valid}\n >\n <Root open={open} {...restProps} ref={forwardRef} />\n </SelectProvider>\n )\n) as ForwardRefExoticComponent<SelectProps> & Partials\n\nexport interface 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
@@ -1003,6 +1003,7 @@ interface ItemProps extends StyledItemProps {
1003
1003
  value: string;
1004
1004
  /**
1005
1005
  * When true, prevents the user from interacting with the item.
1006
+ * @default false
1006
1007
  */
1007
1008
  disabled?: boolean;
1008
1009
  /**
@@ -1508,6 +1509,7 @@ declare type StyledPortalProps = StrictComponentProps<typeof StyledPortal>;
1508
1509
  interface PortalProps extends StyledPortalProps {
1509
1510
  /**
1510
1511
  * Specify a container element to portal the content into.
1512
+ * @default document.body
1511
1513
  */
1512
1514
  container?: HTMLElement | null;
1513
1515
  }
@@ -2013,6 +2015,11 @@ interface TriggerProps extends StyledTriggerProps, HoverEvents {
2013
2015
  * The content.
2014
2016
  */
2015
2017
  children: react__default.ReactNode;
2018
+ /**
2019
+ * The size of the trigger.
2020
+ * @default 'large'
2021
+ */
2022
+ size?: StyledTriggerProps['size'];
2016
2023
  }
2017
2024
  declare const Trigger: react__default.ForwardRefExoticComponent<Omit<TriggerProps, "ref"> & react__default.RefAttributes<HTMLButtonElement>>;
2018
2025
 
@@ -2576,32 +2583,38 @@ interface ContentProps extends StyledContentProps {
2576
2583
  * The preferred side of the anchor to render against when open. Will be
2577
2584
  * reversed when collisions occur and avoidCollisions is enabled. Only
2578
2585
  * available when position is set to popper.
2586
+ * @default 'bottom'
2579
2587
  */
2580
2588
  side?: Side;
2581
2589
  /**
2582
2590
  * The distance in pixels from the anchor. Only available when position is set
2583
2591
  * to popper.
2592
+ * @default CONTENT_OFFSET
2584
2593
  */
2585
2594
  sideOffset?: number;
2586
2595
  /**
2587
2596
  * The preferred alignment against the anchor. May change when collisions
2588
2597
  * occur. Only available when position is set to popper.
2598
+ * @default 'center'
2589
2599
  */
2590
2600
  align?: Align;
2591
2601
  /**
2592
2602
  * An offset in pixels from the "start" or "end" alignment options. Only
2593
2603
  * available when position is set to popper.
2604
+ * @default 0
2594
2605
  */
2595
2606
  alignOffset?: number;
2596
2607
  /**
2597
2608
  * When true, overrides the side andalign preferences to prevent collisions
2598
2609
  * with boundary edges. Only available when position is set to popper.
2610
+ * @default true
2599
2611
  */
2600
2612
  avoidCollisions?: boolean;
2601
2613
  /**
2602
2614
  * The element used as the collision boundary. By default this is the
2603
2615
  * viewport, though you can provide additional element(s) to be included in
2604
2616
  * this check. Only available when position is set to popper.
2617
+ * @default viewport
2605
2618
  */
2606
2619
  collisionBoundary?: Boundary;
2607
2620
  /**
@@ -2609,6 +2622,7 @@ interface ContentProps extends StyledContentProps {
2609
2622
  * should occur. Accepts a number (same for all sides), or a partial padding
2610
2623
  * object, for example: { top: 20, left: 20 }. Only available when position is
2611
2624
  * set to popper.
2625
+ * @default 0
2612
2626
  */
2613
2627
  collisionPadding?: number | Partial<Record<Side, number>>;
2614
2628
  /**
@@ -2616,11 +2630,13 @@ interface ContentProps extends StyledContentProps {
2616
2630
  * boundary as long as the trigger is at least partially in the boundary whilst
2617
2631
  * "always" will keep the content in the boundary regardless. Only available
2618
2632
  * when position is set to popper.
2633
+ * @default 'partial'
2619
2634
  */
2620
2635
  sticky?: Sticky;
2621
2636
  /**
2622
2637
  * Whether to hide the content when the trigger becomes fully occluded. Only
2623
2638
  * available when position is set to popper.
2639
+ * @default true
2624
2640
  */
2625
2641
  hideWhenDetached?: boolean;
2626
2642
  /**
@@ -2634,6 +2650,7 @@ interface ContentProps extends StyledContentProps {
2634
2650
  * When set to "auto," a scrollbar is added if the content exceeds its
2635
2651
  * boundaries. If no maxHeight is defined, it will be automatically adjusted
2636
2652
  * to fit the remaining space between the trigger and the boundary edge.
2653
+ * @default 'visible'
2637
2654
  */
2638
2655
  overflow?: Overflow;
2639
2656
  /**
@@ -4142,6 +4159,7 @@ interface SelectProps extends Omit<StyledSelectProps, 'onOpenChange' | 'dir'> {
4142
4159
  /**
4143
4160
  * The open state of the select when it is initially rendered. Use when you do
4144
4161
  * not need to control its open state.
4162
+ * @default false
4145
4163
  */
4146
4164
  defaultOpen?: boolean;
4147
4165
  /**
@@ -4161,6 +4179,7 @@ interface SelectProps extends Omit<StyledSelectProps, 'onOpenChange' | 'dir'> {
4161
4179
  * The reading direction of the select when applicable. If omitted, inherits
4162
4180
  * globally from DirectionProvider or assumes LTR (left-to-right) reading
4163
4181
  * mode.
4182
+ * @default 'ltr'
4164
4183
  */
4165
4184
  direction?: Direction;
4166
4185
  /**
@@ -4200,4 +4219,4 @@ interface Partials {
4200
4219
  Value: typeof Value;
4201
4220
  }
4202
4221
 
4203
- export { Select, SelectProps, types as SelectTypes };
4222
+ export { Select, ContentProps as SelectContentProps, GroupProps as SelectGroupProps, ItemProps as SelectItemProps, LabelProps as SelectLabelProps, PortalProps as SelectPortalProps, SelectProps, SeparatorProps as SelectSeparatorProps, TriggerProps as SelectTriggerProps, types as SelectTypes, ValueProps as SelectValueProps };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirohq/design-system-select",
3
- "version": "0.2.7",
3
+ "version": "0.2.9",
4
4
  "description": "",
5
5
  "author": "Miro",
6
6
  "source": "src/index.ts",
@@ -29,11 +29,12 @@
29
29
  "@radix-ui/react-select": "^2.0.0",
30
30
  "@react-aria/interactions": "^3.13.0",
31
31
  "@react-types/shared": "^3.16.0",
32
- "@mirohq/design-system-icons": "^0.33.0",
32
+ "@mirohq/design-system-icons": "^0.33.2",
33
+ "@mirohq/design-system-stitches": "^2.6.0",
34
+ "@mirohq/design-system-scroll-area": "^0.2.0",
33
35
  "@mirohq/design-system-primitive": "^1.1.1",
34
- "@mirohq/design-system-scroll-area": "^0.1.21",
36
+ "@mirohq/design-system-styles": "^1.1.19",
35
37
  "@mirohq/design-system-types": "^0.6.2",
36
- "@mirohq/design-system-stitches": "^2.6.0",
37
38
  "@mirohq/design-system-utils": "^0.14.3"
38
39
  },
39
40
  "scripts": {