@mirohq/design-system-select 0.3.0-forms.4 → 0.3.0-forms.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.js CHANGED
@@ -175,7 +175,8 @@ const StyledTrigger = designSystemStitches.styled(reactSelect.Trigger, {
175
175
  justifyContent: "space-between",
176
176
  alignItems: "center",
177
177
  "&[data-placeholder]": {
178
- color: "$text-neutrals-subtle"
178
+ color: "$text-neutrals-placeholder",
179
+ fontStyle: "italic"
179
180
  },
180
181
  "&[data-invalid]": {
181
182
  borderColor: "$border-danger"
@@ -341,10 +342,10 @@ const Trigger = React__default["default"].forwardRef(
341
342
  setFocused(false);
342
343
  }
343
344
  },
344
- "data-invalid": designSystemUtils.booleanAttrValue(valid === false),
345
- "data-valid": designSystemUtils.booleanAttrValue(valid),
346
- "data-focused": designSystemUtils.booleanAttrValue(focused),
347
- "data-hovered": designSystemUtils.booleanAttrValue(hovered),
345
+ "data-invalid": designSystemUtils.booleanishAttrValue(valid === false),
346
+ "data-valid": designSystemUtils.booleanishAttrValue(valid),
347
+ "data-focused": designSystemUtils.booleanishAttrValue(focused),
348
+ "data-hovered": designSystemUtils.booleanishAttrValue(hovered),
348
349
  "aria-invalid": ariaInvalid,
349
350
  "aria-describedby": designSystemUtils.mergeAriaDescribedBy(
350
351
  ariaDescribedBy,
@@ -364,8 +365,10 @@ const Trigger = React__default["default"].forwardRef(
364
365
  );
365
366
 
366
367
  const StyledValue = designSystemStitches.styled("span", {
367
- overflow: "hidden",
368
368
  paddingX: "$50",
369
+ display: "block",
370
+ width: "100%",
371
+ overflow: "hidden",
369
372
  "& span:first-child": {
370
373
  display: "block",
371
374
  overflow: "hidden",
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'\nimport { Primitive } from '@mirohq/design-system-primitive'\n\nexport const StyledSelect = styled(RadixSelect, {})\n\nexport const StyledSelectContent = styled(Primitive.div, {\n position: 'relative',\n width: '100%',\n})\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'\nimport { useFormFieldContext } from '@mirohq/design-system-base-form'\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 valid,\n ...restProps\n}: PropsWithChildren<SelectValues>): any => {\n const [openState, setOpenState] = useState(defaultOpen)\n\n const { valid: formFieldValid } = useFormFieldContext()\n\n return (\n <SelectContext.Provider\n value={{\n ...restProps,\n valid: valid ?? formFieldValid,\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 { 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'\nimport {\n booleanify,\n booleanAttrValue,\n mergeAriaDescribedBy,\n} from '@mirohq/design-system-utils'\nimport { useFormFieldContext } from '@mirohq/design-system-base-form'\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 id,\n onKeyDown,\n onPointerDown,\n onFocus,\n onBlur,\n children,\n size = 'large',\n asChild = false,\n 'aria-describedby': ariaDescribedBy,\n onHoverChange,\n onHoverStart,\n onHoverEnd,\n ...restProps\n },\n forwardRef\n ) => {\n const { valid, ariaDisabled, open, openState } = useSelectContext()\n const [focused, setFocused] = useState(false)\n const isOpen = open ?? openState\n\n const {\n formElementId,\n ariaDescribedBy: formFieldContextDescribedBy,\n ariaInvalid,\n } = useFormFieldContext()\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': booleanAttrValue(valid === false),\n 'data-valid': booleanAttrValue(valid),\n 'data-focused': booleanAttrValue(focused),\n 'data-hovered': booleanAttrValue(hovered),\n 'aria-invalid': ariaInvalid,\n 'aria-describedby': mergeAriaDescribedBy(\n ariaDescribedBy,\n formFieldContextDescribedBy\n ),\n id: id ?? formElementId,\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) || valid === undefined || hovered || focused\n ? 'default'\n : valid\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, { useEffect } from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\nimport type { Booleanish } from '@mirohq/design-system-types'\nimport {\n FloatingLabel,\n useFormFieldContext,\n} from '@mirohq/design-system-base-form'\n\nimport { StyledSelect, StyledSelectContent } 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 (\n { disabled, onOpen, onClose, required, children, ...restProps },\n forwardRef\n ) => {\n const { ariaDisabled, direction, open, setOpenState, openState } =\n useSelectContext()\n\n const {\n label: contextLabel,\n shouldUseFloatingLabel,\n setRequired,\n setDisabled,\n setAriaDisabled,\n } = useFormFieldContext()\n\n useEffect(() => {\n setRequired?.(required)\n setDisabled?.(disabled)\n setAriaDisabled?.(ariaDisabled)\n }, [\n disabled,\n ariaDisabled,\n required,\n setRequired,\n setDisabled,\n setAriaDisabled,\n ])\n\n return (\n <StyledSelect\n {...restProps}\n dir={direction}\n disabled={disabled}\n required={required}\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 <StyledSelectContent>\n {shouldUseFloatingLabel && (\n <FloatingLabel>{contextLabel}</FloatingLabel>\n )}\n\n {children}\n </StyledSelectContent>\n </StyledSelect>\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","Primitive","RadixGroup","React","jsx","RadixItem","focus","RadixItemIndicator","jsxs","booleanify","IconCheckMark","RadixItemText","RadixPortal","RadixSelectIcon","IconExclamationPointCircle","IconChevronDown","RadixTrigger","createContext","useState","useFormFieldContext","useContext","useHover","booleanAttrValue","mergeAriaDescribedBy","RadixValue","RadixContent","theme","useCallback","RadixViewport","ScrollArea","Fragment","RadixLabel","RadixSeparator","useEffect","FloatingLabel"],"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'\nimport { Primitive } from '@mirohq/design-system-primitive'\n\nexport const StyledSelect = styled(RadixSelect, {})\n\nexport const StyledSelectContent = styled(Primitive.div, {\n position: 'relative',\n width: '100%',\n})\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-placeholder',\n fontStyle: 'italic',\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'\nimport { useFormFieldContext } from '@mirohq/design-system-base-form'\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 valid,\n ...restProps\n}: PropsWithChildren<SelectValues>): any => {\n const [openState, setOpenState] = useState(defaultOpen)\n\n const { valid: formFieldValid } = useFormFieldContext()\n\n return (\n <SelectContext.Provider\n value={{\n ...restProps,\n valid: valid ?? formFieldValid,\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 { 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'\nimport {\n booleanify,\n booleanishAttrValue,\n mergeAriaDescribedBy,\n} from '@mirohq/design-system-utils'\nimport { useFormFieldContext } from '@mirohq/design-system-base-form'\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 id,\n onKeyDown,\n onPointerDown,\n onFocus,\n onBlur,\n children,\n size = 'large',\n asChild = false,\n 'aria-describedby': ariaDescribedBy,\n onHoverChange,\n onHoverStart,\n onHoverEnd,\n ...restProps\n },\n forwardRef\n ) => {\n const { valid, ariaDisabled, open, openState } = useSelectContext()\n const [focused, setFocused] = useState(false)\n const isOpen = open ?? openState\n\n const {\n formElementId,\n ariaDescribedBy: formFieldContextDescribedBy,\n ariaInvalid,\n } = useFormFieldContext()\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': booleanishAttrValue(valid === false),\n 'data-valid': booleanishAttrValue(valid),\n 'data-focused': booleanishAttrValue(focused),\n 'data-hovered': booleanishAttrValue(hovered),\n 'aria-invalid': ariaInvalid,\n 'aria-describedby': mergeAriaDescribedBy(\n ariaDescribedBy,\n formFieldContextDescribedBy\n ),\n id: id ?? formElementId,\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) || valid === undefined || hovered || focused\n ? 'default'\n : valid\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 paddingX: '$50',\n display: 'block',\n width: '100%',\n overflow: 'hidden',\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, { useEffect } from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\nimport type { Booleanish } from '@mirohq/design-system-types'\nimport {\n FloatingLabel,\n useFormFieldContext,\n} from '@mirohq/design-system-base-form'\n\nimport { StyledSelect, StyledSelectContent } 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 (\n { disabled, onOpen, onClose, required, children, ...restProps },\n forwardRef\n ) => {\n const { ariaDisabled, direction, open, setOpenState, openState } =\n useSelectContext()\n\n const {\n label: contextLabel,\n shouldUseFloatingLabel,\n setRequired,\n setDisabled,\n setAriaDisabled,\n } = useFormFieldContext()\n\n useEffect(() => {\n setRequired?.(required)\n setDisabled?.(disabled)\n setAriaDisabled?.(ariaDisabled)\n }, [\n disabled,\n ariaDisabled,\n required,\n setRequired,\n setDisabled,\n setAriaDisabled,\n ])\n\n return (\n <StyledSelect\n {...restProps}\n dir={direction}\n disabled={disabled}\n required={required}\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 <StyledSelectContent>\n {shouldUseFloatingLabel && (\n <FloatingLabel>{contextLabel}</FloatingLabel>\n )}\n\n {children}\n </StyledSelectContent>\n </StyledSelect>\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","Primitive","RadixGroup","React","jsx","RadixItem","focus","RadixItemIndicator","jsxs","booleanify","IconCheckMark","RadixItemText","RadixPortal","RadixSelectIcon","IconExclamationPointCircle","IconChevronDown","RadixTrigger","createContext","useState","useFormFieldContext","useContext","useHover","booleanishAttrValue","mergeAriaDescribedBy","RadixValue","RadixContent","theme","useCallback","RadixViewport","ScrollArea","Fragment","RadixLabel","RadixSeparator","useEffect","FloatingLabel"],"mappings":"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"}
package/dist/module.js CHANGED
@@ -5,7 +5,7 @@ import { styled, theme } from '@mirohq/design-system-stitches';
5
5
  import { Root as Root$1, Group as Group$1, Item as Item$1, ItemIndicator, ItemText, Portal as Portal$1, SelectIcon, Trigger as Trigger$1, Value as Value$1, Content as Content$1, Viewport, Label as Label$1, Separator as Separator$1 } from '@radix-ui/react-select';
6
6
  import { Primitive } from '@mirohq/design-system-primitive';
7
7
  import { IconCheckMark, IconExclamationPointCircle, IconChevronDown } from '@mirohq/design-system-icons';
8
- import { booleanify, booleanAttrValue, mergeAriaDescribedBy } from '@mirohq/design-system-utils';
8
+ import { booleanify, booleanishAttrValue, mergeAriaDescribedBy } from '@mirohq/design-system-utils';
9
9
  import { focus } from '@mirohq/design-system-styles';
10
10
  import { useHover } from '@react-aria/interactions';
11
11
  import { ScrollArea } from '@mirohq/design-system-scroll-area';
@@ -167,7 +167,8 @@ const StyledTrigger = styled(Trigger$1, {
167
167
  justifyContent: "space-between",
168
168
  alignItems: "center",
169
169
  "&[data-placeholder]": {
170
- color: "$text-neutrals-subtle"
170
+ color: "$text-neutrals-placeholder",
171
+ fontStyle: "italic"
171
172
  },
172
173
  "&[data-invalid]": {
173
174
  borderColor: "$border-danger"
@@ -333,10 +334,10 @@ const Trigger = React.forwardRef(
333
334
  setFocused(false);
334
335
  }
335
336
  },
336
- "data-invalid": booleanAttrValue(valid === false),
337
- "data-valid": booleanAttrValue(valid),
338
- "data-focused": booleanAttrValue(focused),
339
- "data-hovered": booleanAttrValue(hovered),
337
+ "data-invalid": booleanishAttrValue(valid === false),
338
+ "data-valid": booleanishAttrValue(valid),
339
+ "data-focused": booleanishAttrValue(focused),
340
+ "data-hovered": booleanishAttrValue(hovered),
340
341
  "aria-invalid": ariaInvalid,
341
342
  "aria-describedby": mergeAriaDescribedBy(
342
343
  ariaDescribedBy,
@@ -356,8 +357,10 @@ const Trigger = React.forwardRef(
356
357
  );
357
358
 
358
359
  const StyledValue = styled("span", {
359
- overflow: "hidden",
360
360
  paddingX: "$50",
361
+ display: "block",
362
+ width: "100%",
363
+ overflow: "hidden",
361
364
  "& span:first-child": {
362
365
  display: "block",
363
366
  overflow: "hidden",
@@ -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'\nimport { Primitive } from '@mirohq/design-system-primitive'\n\nexport const StyledSelect = styled(RadixSelect, {})\n\nexport const StyledSelectContent = styled(Primitive.div, {\n position: 'relative',\n width: '100%',\n})\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'\nimport { useFormFieldContext } from '@mirohq/design-system-base-form'\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 valid,\n ...restProps\n}: PropsWithChildren<SelectValues>): any => {\n const [openState, setOpenState] = useState(defaultOpen)\n\n const { valid: formFieldValid } = useFormFieldContext()\n\n return (\n <SelectContext.Provider\n value={{\n ...restProps,\n valid: valid ?? formFieldValid,\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 { 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'\nimport {\n booleanify,\n booleanAttrValue,\n mergeAriaDescribedBy,\n} from '@mirohq/design-system-utils'\nimport { useFormFieldContext } from '@mirohq/design-system-base-form'\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 id,\n onKeyDown,\n onPointerDown,\n onFocus,\n onBlur,\n children,\n size = 'large',\n asChild = false,\n 'aria-describedby': ariaDescribedBy,\n onHoverChange,\n onHoverStart,\n onHoverEnd,\n ...restProps\n },\n forwardRef\n ) => {\n const { valid, ariaDisabled, open, openState } = useSelectContext()\n const [focused, setFocused] = useState(false)\n const isOpen = open ?? openState\n\n const {\n formElementId,\n ariaDescribedBy: formFieldContextDescribedBy,\n ariaInvalid,\n } = useFormFieldContext()\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': booleanAttrValue(valid === false),\n 'data-valid': booleanAttrValue(valid),\n 'data-focused': booleanAttrValue(focused),\n 'data-hovered': booleanAttrValue(hovered),\n 'aria-invalid': ariaInvalid,\n 'aria-describedby': mergeAriaDescribedBy(\n ariaDescribedBy,\n formFieldContextDescribedBy\n ),\n id: id ?? formElementId,\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) || valid === undefined || hovered || focused\n ? 'default'\n : valid\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, { useEffect } from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\nimport type { Booleanish } from '@mirohq/design-system-types'\nimport {\n FloatingLabel,\n useFormFieldContext,\n} from '@mirohq/design-system-base-form'\n\nimport { StyledSelect, StyledSelectContent } 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 (\n { disabled, onOpen, onClose, required, children, ...restProps },\n forwardRef\n ) => {\n const { ariaDisabled, direction, open, setOpenState, openState } =\n useSelectContext()\n\n const {\n label: contextLabel,\n shouldUseFloatingLabel,\n setRequired,\n setDisabled,\n setAriaDisabled,\n } = useFormFieldContext()\n\n useEffect(() => {\n setRequired?.(required)\n setDisabled?.(disabled)\n setAriaDisabled?.(ariaDisabled)\n }, [\n disabled,\n ariaDisabled,\n required,\n setRequired,\n setDisabled,\n setAriaDisabled,\n ])\n\n return (\n <StyledSelect\n {...restProps}\n dir={direction}\n disabled={disabled}\n required={required}\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 <StyledSelectContent>\n {shouldUseFloatingLabel && (\n <FloatingLabel>{contextLabel}</FloatingLabel>\n )}\n\n {children}\n </StyledSelectContent>\n </StyledSelect>\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'\nimport { Primitive } from '@mirohq/design-system-primitive'\n\nexport const StyledSelect = styled(RadixSelect, {})\n\nexport const StyledSelectContent = styled(Primitive.div, {\n position: 'relative',\n width: '100%',\n})\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-placeholder',\n fontStyle: 'italic',\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'\nimport { useFormFieldContext } from '@mirohq/design-system-base-form'\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 valid,\n ...restProps\n}: PropsWithChildren<SelectValues>): any => {\n const [openState, setOpenState] = useState(defaultOpen)\n\n const { valid: formFieldValid } = useFormFieldContext()\n\n return (\n <SelectContext.Provider\n value={{\n ...restProps,\n valid: valid ?? formFieldValid,\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 { 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'\nimport {\n booleanify,\n booleanishAttrValue,\n mergeAriaDescribedBy,\n} from '@mirohq/design-system-utils'\nimport { useFormFieldContext } from '@mirohq/design-system-base-form'\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 id,\n onKeyDown,\n onPointerDown,\n onFocus,\n onBlur,\n children,\n size = 'large',\n asChild = false,\n 'aria-describedby': ariaDescribedBy,\n onHoverChange,\n onHoverStart,\n onHoverEnd,\n ...restProps\n },\n forwardRef\n ) => {\n const { valid, ariaDisabled, open, openState } = useSelectContext()\n const [focused, setFocused] = useState(false)\n const isOpen = open ?? openState\n\n const {\n formElementId,\n ariaDescribedBy: formFieldContextDescribedBy,\n ariaInvalid,\n } = useFormFieldContext()\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': booleanishAttrValue(valid === false),\n 'data-valid': booleanishAttrValue(valid),\n 'data-focused': booleanishAttrValue(focused),\n 'data-hovered': booleanishAttrValue(hovered),\n 'aria-invalid': ariaInvalid,\n 'aria-describedby': mergeAriaDescribedBy(\n ariaDescribedBy,\n formFieldContextDescribedBy\n ),\n id: id ?? formElementId,\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) || valid === undefined || hovered || focused\n ? 'default'\n : valid\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 paddingX: '$50',\n display: 'block',\n width: '100%',\n overflow: 'hidden',\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, { useEffect } from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\nimport type { Booleanish } from '@mirohq/design-system-types'\nimport {\n FloatingLabel,\n useFormFieldContext,\n} from '@mirohq/design-system-base-form'\n\nimport { StyledSelect, StyledSelectContent } 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 (\n { disabled, onOpen, onClose, required, children, ...restProps },\n forwardRef\n ) => {\n const { ariaDisabled, direction, open, setOpenState, openState } =\n useSelectContext()\n\n const {\n label: contextLabel,\n shouldUseFloatingLabel,\n setRequired,\n setDisabled,\n setAriaDisabled,\n } = useFormFieldContext()\n\n useEffect(() => {\n setRequired?.(required)\n setDisabled?.(disabled)\n setAriaDisabled?.(ariaDisabled)\n }, [\n disabled,\n ariaDisabled,\n required,\n setRequired,\n setDisabled,\n setAriaDisabled,\n ])\n\n return (\n <StyledSelect\n {...restProps}\n dir={direction}\n disabled={disabled}\n required={required}\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 <StyledSelectContent>\n {shouldUseFloatingLabel && (\n <FloatingLabel>{contextLabel}</FloatingLabel>\n )}\n\n {children}\n </StyledSelectContent>\n </StyledSelect>\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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirohq/design-system-select",
3
- "version": "0.3.0-forms.4",
3
+ "version": "0.3.0-forms.5",
4
4
  "description": "",
5
5
  "author": "Miro",
6
6
  "source": "src/index.ts",
@@ -29,11 +29,11 @@
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-base-form": "^0.1.0-forms.1",
33
32
  "@mirohq/design-system-icons": "^0.36.1-forms.2",
33
+ "@mirohq/design-system-stitches": "^2.6.0",
34
34
  "@mirohq/design-system-primitive": "^1.1.2-forms.0",
35
+ "@mirohq/design-system-base-form": "^0.1.0-forms.1",
35
36
  "@mirohq/design-system-scroll-area": "^0.2.0",
36
- "@mirohq/design-system-stitches": "^2.6.0",
37
37
  "@mirohq/design-system-styles": "^1.1.19",
38
38
  "@mirohq/design-system-types": "^0.6.2",
39
39
  "@mirohq/design-system-utils": "^0.15.0-forms.1"