@mirohq/design-system-combobox 0.1.0-combobox.7 → 0.1.0-combobox.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +141 -49
- package/dist/main.js.map +1 -1
- package/dist/module.js +144 -52
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +17 -13
- package/package.json +12 -11
package/dist/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sources":["../src/partials/trigger.styled.tsx","../src/hooks/use-combobox-context.tsx","../src/partials/trigger-action-button.styled.tsx","../src/partials/trigger-action-button.tsx","../src/partials/trigger.tsx","../src/partials/content.styled.tsx","../src/partials/item.styled.tsx","../src/partials/item.tsx","../src/util.ts","../src/partials/content.tsx","../src/partials/portal.tsx","../src/partials/group.tsx","../src/partials/group-label.styled.tsx","../src/partials/group-label.tsx","../src/chip/chip.styled.tsx","../src/chip/left-icon.styled.tsx","../src/chip/left-slot.tsx","../src/chip/chip.tsx","../src/partials/value.styled.tsx","../src/partials/value.tsx","../src/partials/separator.styled.tsx","../src/partials/separator.tsx","../src/combobox.tsx"],"sourcesContent":["import { styled } from '@mirohq/design-system-stitches'\nimport { Input } from '@mirohq/design-system-input'\nimport { Anchor as RadixAnchor } from '@radix-ui/react-popover'\n\nexport const StyledAnchor = styled(RadixAnchor, {\n position: 'relative',\n width: '100%',\n})\n\nexport const StyledInput = styled(Input, {\n flexWrap: 'wrap',\n flexGrow: 1,\n gap: '0 $50',\n overflowY: 'scroll',\n\n '&[data-valid], &[data-invalid]': {\n // we don't need a bigger padding here as Input component will render its own icon\n paddingRight: '$100',\n },\n\n '& input': {\n minWidth: '$8',\n flexBasis: 0,\n flexGrow: 1,\n },\n\n variants: {\n size: {\n large: {\n minHeight: '$10',\n height: 'auto',\n padding: '5px $100',\n paddingRight: '$500',\n },\n 'x-large': {\n minHeight: '$12',\n height: 'auto',\n padding: '5px $100',\n paddingRight: '$500',\n },\n },\n },\n\n defaultVariants: {\n size: 'large',\n },\n})\n","import React, { createContext, useContext, useRef, useState } from 'react'\nimport type { PropsWithChildren, ReactNode } from 'react'\nimport { useControllableState } from '@radix-ui/react-use-controllable-state'\nimport { useFormFieldContext } from '@mirohq/design-system-base-form'\nimport type { FormElementProps } from '@mirohq/design-system-base-form'\n\nimport type { Direction } from '../types'\n\nexport interface ComboboxProps extends FormElementProps {\n open?: boolean\n defaultOpen?: boolean\n onOpen?: () => void\n onClose?: () => void\n value?: string[]\n defaultValue?: string[]\n onValueChange?: (value: string[]) => void\n onSearchValueChange?: (value: string) => void\n direction?: Direction\n autoFilter?: boolean\n noResultsText?: ReactNode\n}\n\ninterface ComboboxContextProps extends ComboboxProps {\n setOpenState: React.Dispatch<React.SetStateAction<boolean | undefined>>\n openState: boolean\n value?: string[]\n setValue: React.Dispatch<React.SetStateAction<string[] | undefined>>\n setDefaultValue: React.Dispatch<React.SetStateAction<string[] | undefined>>\n triggerRef: React.RefObject<HTMLInputElement>\n inputRef: React.RefObject<HTMLInputElement>\n contentRef: React.RefObject<HTMLDivElement>\n searchValue: string\n setSearchValue: React.Dispatch<React.SetStateAction<string>>\n filteredItems: Set<string>\n setFilteredItems: React.Dispatch<React.SetStateAction<Set<string>>>\n}\n\nexport type ComboboxProviderProps = ComboboxProps\n\nconst ComboboxContext = createContext<ComboboxContextProps>({} as any)\n\nexport const ComboboxProvider = ({\n children,\n open: openProp,\n defaultOpen,\n onOpen,\n onClose,\n valid,\n value: valueProp,\n defaultValue: defaultValueProp,\n onValueChange,\n onSearchValueChange,\n autoFilter = true,\n ...restProps\n}: PropsWithChildren<ComboboxProviderProps>): JSX.Element => {\n const triggerRef = useRef<HTMLInputElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n const contentRef = useRef<HTMLDivElement>(null)\n\n const [defaultValue, setDefaultValue] = useState(defaultValueProp)\n const [openState = false, setOpenState] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: state => {\n if (state) {\n onOpen?.()\n } else {\n onClose?.()\n }\n },\n })\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValueProp,\n onChange: onValueChange,\n })\n const [filteredItems, setFilteredItems] = useState(new Set<string>())\n const [searchValue, setSearchValue] = useState('')\n\n const { valid: formFieldValid } = useFormFieldContext()\n\n return (\n <ComboboxContext.Provider\n value={{\n ...restProps,\n valid: valid ?? formFieldValid,\n openState,\n setOpenState,\n value,\n setValue,\n setDefaultValue,\n defaultValue,\n onSearchValueChange,\n triggerRef,\n inputRef,\n contentRef,\n autoFilter,\n searchValue,\n setSearchValue,\n filteredItems,\n setFilteredItems,\n }}\n >\n {children}\n </ComboboxContext.Provider>\n )\n}\n\nexport const useComboboxContext = (): ComboboxContextProps =>\n useContext(ComboboxContext)\n","import type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Input } from '@mirohq/design-system-input'\n\nexport const StyledActionButton = styled(Input.ActionButton, {\n position: 'absolute',\n right: '$100',\n\n variants: {\n size: {\n large: {\n top: '5px',\n },\n 'x-large': {\n top: '9px',\n },\n },\n },\n\n defaultVariants: {\n size: 'large',\n },\n})\n\nexport type StyledActionButtonProps = StrictComponentProps<\n typeof StyledActionButton\n>\n","import React, { useCallback } from 'react'\nimport { IconChevronDown, IconCross } from '@mirohq/design-system-icons'\n\nimport type { StyledActionButtonProps } from './trigger-action-button.styled'\nimport { StyledActionButton } from './trigger-action-button.styled'\nimport { useComboboxContext } from '../hooks/use-combobox-context'\n\nexport type TriggerActionButtonProps = Omit<\n StyledActionButtonProps,\n 'label'\n> & {\n /**\n * The label text for Trigger's action button when Combobox is empty. Open/Close action will be performed.\n * Will be rendered in a Tooltip.\n */\n openActionLabel: string\n\n /**\n * The label text for Trigger's action button when Combobox has values selected. Clear Combobox values action\n * will be performed. Will be rendered in a Tooltip.\n */\n clearActionLabel: string\n}\n\nexport const TriggerActionButton: React.FC<TriggerActionButtonProps> = ({\n openActionLabel,\n clearActionLabel,\n size,\n}) => {\n const { setOpenState, value = [], setValue } = useComboboxContext()\n\n const isEmpty = value.length === 0\n\n const ActionButtonIcon = isEmpty ? IconChevronDown : IconCross\n const label = isEmpty ? openActionLabel : clearActionLabel\n\n const onActionButtonClick = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n if (!isEmpty) {\n setValue([])\n } else {\n setOpenState((prevOpen = false) => !prevOpen)\n }\n\n event.stopPropagation()\n },\n [isEmpty, setValue, setOpenState]\n )\n\n return (\n <StyledActionButton label={label} size={size} onClick={onActionButtonClick}>\n <ActionButtonIcon size='small' weight='thin' />\n </StyledActionButton>\n )\n}\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { Combobox } from '@ariakit/react'\nimport {\n booleanify,\n booleanishAttrValue,\n mergeRefs,\n stringAttrValue,\n} from '@mirohq/design-system-utils'\nimport {\n FloatingLabel,\n useFormFieldContext,\n} from '@mirohq/design-system-base-form'\nimport type { Input, InputProps } from '@mirohq/design-system-input'\n\nimport { StyledAnchor, StyledInput } from './trigger.styled'\nimport { useComboboxContext } from '../hooks/use-combobox-context'\nimport { TriggerActionButton } from './trigger-action-button'\nimport type { TriggerActionButtonProps } from './trigger-action-button'\n\nexport type TriggerProps = InputProps &\n Pick<TriggerActionButtonProps, 'openActionLabel' | 'clearActionLabel'> & {\n /**\n * The content.\n */\n children?: React.ReactNode\n\n /**\n * The size of the trigger.\n * @default 'large'\n */\n size?: InputProps['size']\n\n /**\n * The content that will be rendered inside the Combobox.Trigger when no value or\n * defaultValue is set.\n */\n placeholder?: string\n }\n\nexport const Trigger = React.forwardRef<ElementRef<typeof Input>, TriggerProps>(\n (\n {\n id,\n children,\n size = 'large',\n 'aria-describedby': ariaDescribedBy,\n 'aria-invalid': ariaInvalid,\n placeholder,\n openActionLabel,\n clearActionLabel,\n onChange,\n css,\n ...restProps\n },\n forwardRef\n ) => {\n const {\n 'aria-disabled': ariaDisabled,\n valid: comboboxValid,\n disabled,\n value = [],\n readOnly,\n triggerRef,\n inputRef,\n onSearchValueChange,\n searchValue,\n setSearchValue,\n setOpenState,\n } = useComboboxContext()\n\n const {\n formElementId,\n ariaDescribedBy: formFieldContextDescribedBy,\n ariaInvalid: formFieldAriaInvalid,\n valid: formFieldValid,\n label,\n isFloatingLabel,\n focused,\n } = useFormFieldContext()\n\n const valid = formFieldValid ?? comboboxValid\n\n const inputProps = {\n ...restProps,\n 'aria-disabled': ariaDisabled,\n 'aria-invalid': ariaInvalid ?? formFieldAriaInvalid,\n 'aria-describedby': stringAttrValue(\n ariaDescribedBy,\n formFieldContextDescribedBy\n ),\n valid,\n disabled,\n readOnly,\n invalid: booleanishAttrValue(valid),\n id: id ?? formElementId,\n placeholder: value.length === 0 ? placeholder : undefined,\n }\n\n const shouldUseFloatingLabel = label !== null && isFloatingLabel\n const isFloating =\n placeholder !== undefined ||\n value.length !== 0 ||\n focused ||\n searchValue !== ''\n\n const scrollIntoView = (\n event: React.FocusEvent<HTMLInputElement>\n ): void => {\n const trigger = triggerRef?.current\n const baseInput = inputRef?.current?.parentElement\n\n if (baseInput != null && trigger != null) {\n event.preventDefault()\n baseInput.scrollTo({\n top: trigger.scrollHeight,\n })\n }\n\n if (restProps.onFocus !== undefined) {\n restProps.onFocus(event)\n }\n }\n\n const onInputChange = (e: React.ChangeEvent<HTMLInputElement>): void => {\n setSearchValue(e.target.value)\n onSearchValueChange?.(e.target.value)\n onChange?.(e)\n }\n\n return (\n <StyledAnchor\n ref={mergeRefs([triggerRef, forwardRef])}\n css={css}\n onClick={() => {\n if (\n !booleanify(disabled) &&\n !booleanify(ariaDisabled) &&\n !booleanify(readOnly)\n ) {\n setOpenState(true)\n }\n }}\n >\n {shouldUseFloatingLabel && (\n <FloatingLabel floating={isFloating} size={size}>\n {label}\n </FloatingLabel>\n )}\n <Combobox\n render={\n <StyledInput\n {...inputProps}\n value={searchValue}\n size={size}\n ref={inputRef}\n onChange={onInputChange}\n onFocus={scrollIntoView}\n >\n {children}\n <TriggerActionButton\n openActionLabel={openActionLabel}\n clearActionLabel={clearActionLabel}\n size={size}\n />\n </StyledInput>\n }\n />\n </StyledAnchor>\n )\n }\n)\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixPopover from '@radix-ui/react-popover'\n\nexport const StyledContent = styled(RadixPopover.Content, {\n backgroundColor: '$background-neutrals-container',\n borderRadius: '$50',\n boxShadow: '$50',\n fontSize: '$175',\n fontWeight: 'normal',\n lineHeight: '20px',\n width: 'var(--radix-popover-trigger-width)',\n zIndex: '$select',\n overflowY: 'auto',\n padding: '$50',\n boxSizing: 'border-box',\n outline: '1px solid transparent',\n})\n\nexport type StyledContentProps = StrictComponentProps<typeof StyledContent>\n","import { ComboboxItem } from '@ariakit/react'\nimport { focus } from '@mirohq/design-system-styles'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledItemCheck = styled(Primitive.span, {\n color: '$icon-primary',\n})\n\nexport const StyledItem = styled(ComboboxItem, {\n display: 'grid',\n gridTemplateColumns: '20px 1fr',\n borderRadius: '$50',\n boxSizing: 'border-box',\n color: '$text-neutrals',\n cursor: 'pointer',\n fontSize: '$175',\n lineHeight: '20px',\n position: 'relative',\n userSelect: 'none',\n padding: '6px $100 6px $150',\n\n ...focus.css({\n boxShadow: '$focus-small',\n }),\n\n '&:not([aria-disabled=\"true\"])': {\n _hover: {\n background: '$background-primary-subtle-hover',\n color: '$text-primary-hover',\n\n [`${StyledItemCheck}`]: {\n color: '$icon-primary-hover',\n },\n },\n },\n\n '&:disabled, &[aria-disabled=true], &[data-disabled]': {\n cursor: 'default',\n color: '$text-neutrals-disabled',\n\n [`${StyledItemCheck}`]: {\n color: '$icon-neutrals-disabled',\n },\n },\n\n '&[aria-selected=\"true\"]:not(:disabled,[aria-disabled=true],[data-disabled])':\n {\n color: '$text-primary-selected',\n },\n})\n\nexport type StyledItemProps = StrictComponentProps<typeof StyledItem>\n","import React from 'react'\nimport type { ElementRef, ReactNode } from 'react'\nimport { ComboboxItemCheck as AriakitComboboxItemCheck } from '@ariakit/react'\nimport { mergeProps } from '@react-aria/utils'\nimport { useAriaDisabled } from '@mirohq/design-system-use-aria-disabled'\nimport { IconCheckMark } from '@mirohq/design-system-icons'\nimport { booleanify } from '@mirohq/design-system-utils'\n\nimport { StyledItem, StyledItemCheck } from './item.styled'\nimport type { StyledItemProps } from './item.styled'\nimport { useComboboxContext } from '../hooks/use-combobox-context'\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 Combobox's item text. Use this when the content is\n * complex, or you have non-textual content inside.\n */\n textValue?: string\n\n /**\n * Item's content.\n */\n children?: ReactNode\n}\n\nexport const Item = React.forwardRef<ElementRef<typeof StyledItem>, ItemProps>(\n (\n { disabled = false, value, textValue, children, ...restProps },\n forwardRef\n ) => {\n const { 'aria-disabled': ariaDisabled, ...restAriaDisabledProps } =\n useAriaDisabled(restProps, { allowArrows: true })\n const { autoFilter, filteredItems, triggerRef, inputRef } =\n useComboboxContext()\n\n if (autoFilter !== false && !filteredItems.has(value)) {\n return null\n }\n\n const scrollIntoView = (event: React.MouseEvent<HTMLDivElement>): void => {\n if (\n inputRef?.current?.parentElement != null &&\n triggerRef?.current != null\n ) {\n inputRef.current.parentElement.scrollTo({\n top: triggerRef.current.scrollHeight,\n })\n }\n\n if (restProps.onClick !== undefined) {\n restProps.onClick(event)\n }\n }\n\n return (\n <StyledItem\n {...mergeProps(restProps, restAriaDisabledProps)}\n focusable\n hideOnClick={false}\n accessibleWhenDisabled={booleanify(ariaDisabled)}\n disabled={booleanify(ariaDisabled) || disabled}\n ref={forwardRef}\n value={value}\n onClick={scrollIntoView}\n >\n <AriakitComboboxItemCheck\n render={({ style, ...props }) => (\n // AriakitComboboxItemCheck adds its owm inline styles which we want to omit here\n <StyledItemCheck {...props} />\n )}\n >\n <IconCheckMark\n size='small'\n data-testid={\n process.env.NODE_ENV === 'test'\n ? 'combobox-item-check'\n : undefined\n }\n />\n </AriakitComboboxItemCheck>\n {children}\n </StyledItem>\n )\n }\n)\n","import React from 'react'\nimport type { ReactNode } from 'react'\n\nimport { Item } from './partials/item'\nimport type { ItemProps } from './partials/item'\n\nconst itemType = React.createElement(Item).type\n\nexport const getChildrenItemValues = (\n componentChildren: ReactNode\n): string[] => {\n const values: string[] = []\n\n const recurse = (children: ReactNode): void => {\n React.Children.forEach(children, child => {\n if (!React.isValidElement(child)) {\n return\n }\n\n if (child.type === itemType) {\n const props = child.props as ItemProps\n\n values.push(props.value)\n\n return\n }\n\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n if (child.props.children) {\n recurse(child.props.children)\n }\n })\n }\n\n recurse(componentChildren)\n\n return values\n}\n","import React, { useEffect } from 'react'\nimport type { ElementRef, ReactNode } from 'react'\nimport { mergeRefs } from '@mirohq/design-system-utils'\nimport { ScrollArea } from '@mirohq/design-system-scroll-area'\nimport { theme } from '@mirohq/design-system-stitches'\nimport type { CSSProperties } from '@stitches/react'\n\nimport { StyledContent } from './content.styled'\nimport type { StyledContentProps } from './content.styled'\nimport { useComboboxContext } from '../hooks/use-combobox-context'\nimport { getChildrenItemValues } from '../util'\nimport type { Overflow } from '../types'\n\nexport const CONTENT_OFFSET = parseInt(theme.space[50])\n\nconst isInsideRef = (\n element: Element | null,\n ref: React.RefObject<Element>\n): boolean => (element != null && ref.current?.contains(element)) ?? false\n\nexport interface ContentProps extends StyledContentProps {\n /**\n * Combobox's content.\n */\n children?: ReactNode\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 element used as the collision boundary. By default this is the\n * viewport, though you can provide additional element(s) to be included in\n * this check.\n */\n collisionBoundary?: Element | null\n\n /**\n * 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\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\nexport const Content = React.forwardRef<\n ElementRef<typeof StyledContent>,\n ContentProps\n>(\n (\n { sideOffset = CONTENT_OFFSET, maxHeight, children, ...restProps },\n forwardRef\n ) => {\n const {\n triggerRef,\n contentRef,\n autoFilter,\n filteredItems,\n setFilteredItems,\n searchValue,\n noResultsText,\n direction,\n } = useComboboxContext()\n\n useEffect(() => {\n const childrenItemValues = getChildrenItemValues(children)\n\n setFilteredItems(\n new Set(\n autoFilter === false\n ? childrenItemValues\n : childrenItemValues.filter(child =>\n child.toLowerCase().includes(searchValue.toLowerCase())\n )\n )\n )\n }, [children, autoFilter, setFilteredItems, searchValue])\n\n const content = filteredItems.size === 0 ? noResultsText : children\n\n return (\n <StyledContent\n {...restProps}\n sideOffset={sideOffset}\n ref={mergeRefs([forwardRef, contentRef])}\n onOpenAutoFocus={event => event.preventDefault()}\n onInteractOutside={event => {\n const target = event.target as Element | null\n const isTrigger = isInsideRef(target, triggerRef)\n const isContent = isInsideRef(target, contentRef)\n\n if (isTrigger || isContent) {\n event.preventDefault()\n }\n }}\n >\n <ScrollArea type='always' dir={direction}>\n <ScrollArea.Viewport\n availableHeight='var(--radix-popover-content-available-height)'\n verticalGap='var(--space-50) * 2'\n maxHeight={maxHeight}\n >\n {content}\n </ScrollArea.Viewport>\n <ScrollArea.Scrollbar orientation='vertical'>\n <ScrollArea.Thumb />\n </ScrollArea.Scrollbar>\n </ScrollArea>\n </StyledContent>\n )\n }\n)\n","import React from 'react'\nimport type { PopoverPortalProps } from '@radix-ui/react-popover'\nimport { Portal as RadixPortal } from '@radix-ui/react-popover'\n\nexport interface PortalProps extends PopoverPortalProps {\n /**\n * Specify a container element to portal the content into.\n */\n container?: HTMLElement | null\n}\n\nexport const Portal: React.FC<PortalProps> = props => <RadixPortal {...props} />\n","import React, { useMemo } from 'react'\nimport { Group as AriakitGroup } from '@ariakit/react'\nimport type { ElementRef } from 'react'\nimport type { GroupProps as AriakitGroupProps } from '@ariakit/react'\n\nimport { useComboboxContext } from '../hooks/use-combobox-context'\nimport { getChildrenItemValues } from '../util'\n\nexport type GroupProps = AriakitGroupProps\n\nexport const Group = React.forwardRef<\n ElementRef<typeof AriakitGroup>,\n GroupProps\n>(({ children, ...rest }, forwardRef) => {\n const { autoFilter, filteredItems } = useComboboxContext()\n\n const childValues = useMemo(\n // don't perform calculation if auto filter is disabled\n () => (autoFilter !== false ? getChildrenItemValues(children) : []),\n [children, autoFilter]\n )\n const hasVisibleChildren = useMemo(\n () =>\n // don't perform calculation if auto filter is disabled\n autoFilter !== false\n ? childValues.some(value => filteredItems.has(value))\n : true,\n [childValues, filteredItems, autoFilter]\n )\n\n if (!hasVisibleChildren) {\n return null\n }\n\n return (\n <AriakitGroup {...rest} ref={forwardRef}>\n {children}\n </AriakitGroup>\n )\n})\n","import { GroupLabel } from '@ariakit/react'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledGroupLabel = styled(GroupLabel, {\n padding: '6px $100',\n color: '$text-neutrals-subtle',\n})\n\nexport type StyledGroupLabelProps = StrictComponentProps<\n typeof StyledGroupLabel\n>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledGroupLabel } from './group-label.styled'\nimport type { StyledGroupLabelProps } from './group-label.styled'\n\nexport interface GroupLabelProps extends StyledGroupLabelProps {}\n\nexport const GroupLabel = React.forwardRef<\n ElementRef<typeof StyledGroupLabel>,\n GroupLabelProps\n>((props, forwardRef) => <StyledGroupLabel {...props} ref={forwardRef} />)\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { BaseButton } from '@mirohq/design-system-base-button'\nimport { focus } from '@mirohq/design-system-styles'\n\nexport const StyledChip = styled(Primitive.div, {\n fontSize: '$150',\n padding: '$50 $100',\n borderRadius: '$round',\n display: 'flex',\n alignItems: 'center',\n gap: '$50',\n whiteSpace: 'nowrap',\n maxWidth: '$35',\n background: '$gray-100',\n color: '$gray-900',\n})\n\nexport const StyledChipButton = styled(BaseButton, {\n ...focus.css({\n boxShadow: '$focus-small-outline',\n borderColor: '$blue-400 !important',\n }),\n})\n\nexport const StyledChipContent = styled(Primitive.div, {\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n lineHeight: 1.3,\n})\n\nexport type StyledChipProps = StrictComponentProps<typeof StyledChip>\n","import type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Primitive } from '@mirohq/design-system-primitive'\n\nexport const StyledLeftSlot = styled(Primitive.span, {\n order: -1,\n marginRight: '$50',\n})\n\nexport type StyledLeftSlotProps = StrictComponentProps<typeof StyledLeftSlot>\n","import type { StyledLeftSlotProps } from './left-icon.styled'\nimport { StyledLeftSlot } from './left-icon.styled'\n\nexport interface LeftSlotProps extends StyledLeftSlotProps {}\n\nexport const LeftSlot = StyledLeftSlot\n","import React from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\nimport { IconCross } from '@mirohq/design-system-icons'\nimport { booleanify } from '@mirohq/design-system-utils'\n\nimport { StyledChip, StyledChipContent, StyledChipButton } from './chip.styled'\nimport type { StyledChipProps } from './chip.styled'\nimport { LeftSlot } from './left-slot'\n\nexport type ChipProps = StyledChipProps & {\n /**\n * Event handler called when the chip's remove button is clicked.\n */\n onRemove?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void\n\n /**\n * When true, prevents the user from interacting with the item.\n * @default false\n */\n disabled?: boolean\n\n /**\n * Remove chip label used to make the button recognizable by the screen readers.\n */\n removeChipAriaLabel?: string\n}\n\nexport const Chip = React.forwardRef<ElementRef<typeof StyledChip>, ChipProps>(\n (\n { children, disabled = false, onRemove, removeChipAriaLabel, ...restProps },\n forwardRef\n ) => (\n <StyledChip {...restProps} ref={forwardRef}>\n <StyledChipContent>{children}</StyledChipContent>\n {!booleanify(disabled) && (\n <StyledChipButton onClick={onRemove} aria-label={removeChipAriaLabel}>\n <IconCross size='small' weight='thin' color='gray-500' />\n </StyledChipButton>\n )}\n </StyledChip>\n )\n) as ForwardRefExoticComponent<ChipProps> & Partials\n\nexport interface Partials {\n LeftSlot: typeof LeftSlot\n}\n\nChip.LeftSlot = LeftSlot\n","import { styled } from '@mirohq/design-system-stitches'\n\nimport { Chip } from '../chip'\n\nexport const StyledValue = styled(Chip, {\n marginTop: '$50',\n})\n","import type { FC } from 'react'\nimport React from 'react'\n\nimport { useComboboxContext } from '../hooks/use-combobox-context'\nimport { StyledValue } from './value.styled'\n\nexport interface ValueProps {\n /**\n * Remove chip label used to make the button recognizable by the screen readers.\n */\n removeChipAriaLabel?: string\n}\n\nexport const Value: FC<ValueProps> = ({ removeChipAriaLabel }) => {\n const {\n value = [],\n setValue,\n disabled,\n 'aria-disabled': ariaDisabled,\n } = useComboboxContext()\n const isDisabled = ariaDisabled === true || disabled\n\n const onItemRemove = (item: string): void => {\n setValue(prevValue => prevValue?.filter(value => value !== item))\n }\n\n if (value.length === 0) {\n return null\n }\n\n return (\n <>\n {value.map(item => (\n <StyledValue\n key={item}\n onRemove={() => onItemRemove(item)}\n disabled={isDisabled}\n removeChipAriaLabel={removeChipAriaLabel}\n data-testid={\n process.env.NODE_ENV === 'test'\n ? `combobox-value-${item}`\n : undefined\n }\n >\n {item}\n </StyledValue>\n ))}\n </>\n )\n}\n","import { styled } from '@mirohq/design-system-stitches'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledSeparator = styled(Primitive.div, {\n backgroundColor: '$border-neutrals-subtle',\n height: '1px',\n width: '100%',\n margin: '$100 0',\n})\n\nexport type StyledSeparatorProps = StrictComponentProps<typeof StyledSeparator>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { useComboboxContext } from '../hooks/use-combobox-context'\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) => {\n const { autoFilter, searchValue } = useComboboxContext()\n\n if (autoFilter === true && searchValue.length > 0) {\n return null\n }\n\n return <StyledSeparator {...props} ref={forwardRef} aria-hidden />\n})\n","import React, { useEffect } from 'react'\nimport type { ReactNode } from 'react'\nimport { ComboboxProvider as AriakitComboboxProvider } from '@ariakit/react'\nimport { useFormFieldContext } from '@mirohq/design-system-base-form'\nimport * as RadixPopover from '@radix-ui/react-popover'\nimport { booleanify } from '@mirohq/design-system-utils'\n\nimport { Trigger } from './partials/trigger'\nimport { Content } from './partials/content'\nimport { Item } from './partials/item'\nimport { Portal } from './partials/portal'\nimport { Group } from './partials/group'\nimport { GroupLabel } from './partials/group-label'\nimport { Value } from './partials/value'\nimport { Separator } from './partials/separator'\nimport {\n ComboboxProvider,\n useComboboxContext,\n} from './hooks/use-combobox-context'\nimport type { ComboboxProviderProps } from './hooks/use-combobox-context'\nimport type { Direction } from './types'\n\nexport interface ComboboxProps extends ComboboxProviderProps {\n /**\n * The value of the combobox when initially rendered. Use when you do not need\n * to control the state of the combobox.\n */\n defaultValue?: string[]\n\n /**\n * The controlled value of the combobox. 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 * Event handler called when the trigger input value changes.\n */\n onSearchValueChange?: (value: string) => void\n\n /**\n * The open state of the combobox 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 combobox. Must be used in conjunction with\n * onOpen and onClose.\n */\n open?: boolean\n\n /**\n * Event handler called when the combobox opens.\n */\n onOpen?: () => void\n\n /**\n * Event handler called when the combobox closes.\n */\n onClose?: () => void\n\n /**\n * The reading direction of the combobox 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 content of the combobox\n */\n children?: React.ReactNode\n\n /**\n * Enables/disabled automatic filtering.\n * @default true\n */\n autoFilter?: boolean\n\n /**\n * Text that is displayed when there are no items to display.\n */\n noResultsText: ReactNode\n}\n\nconst Root: React.FC<Omit<ComboboxProps, 'noResultsText'>> = ({\n value: valueProp,\n children,\n ...restProps\n}) => {\n const {\n openState,\n setOpenState,\n defaultValue,\n value,\n setValue,\n required,\n readOnly,\n 'aria-disabled': ariaDisabled,\n disabled,\n } = useComboboxContext()\n\n const { setRequired, setDisabled, setAriaDisabled, setReadOnly } =\n useFormFieldContext()\n\n useEffect(() => {\n setRequired?.(required)\n setDisabled?.(disabled)\n setAriaDisabled?.(ariaDisabled)\n setReadOnly?.(readOnly)\n }, [\n readOnly,\n disabled,\n ariaDisabled,\n required,\n setRequired,\n setDisabled,\n setAriaDisabled,\n setReadOnly,\n ])\n\n const onSetSelectedValue = (newValue: string | string[]): void => {\n setValue(typeof newValue === 'string' ? [newValue] : newValue)\n }\n\n const onOpenChange = (value: boolean): void => {\n if (!booleanify(readOnly)) {\n setOpenState(value)\n }\n }\n\n return (\n <RadixPopover.Root\n open={openState}\n onOpenChange={onOpenChange}\n {...restProps}\n >\n <AriakitComboboxProvider\n open={openState}\n setOpen={onOpenChange}\n defaultSelectedValue={defaultValue}\n selectedValue={value}\n setSelectedValue={onSetSelectedValue}\n >\n {children}\n </AriakitComboboxProvider>\n </RadixPopover.Root>\n )\n}\n\nexport const Combobox: React.FC<ComboboxProps> & Partials = ({\n 'aria-disabled': ariaDisabled,\n defaultOpen = false,\n open,\n valid,\n disabled,\n readOnly,\n required,\n value,\n defaultValue,\n onOpen,\n onClose,\n onSearchValueChange,\n onValueChange,\n direction = 'ltr',\n autoFilter = true,\n noResultsText,\n ...restProps\n}) => (\n <ComboboxProvider\n defaultValue={defaultValue}\n value={value}\n onValueChange={onValueChange}\n onSearchValueChange={onSearchValueChange}\n defaultOpen={defaultOpen}\n open={open}\n onOpen={onOpen}\n onClose={onClose}\n valid={valid}\n required={required}\n disabled={disabled}\n readOnly={readOnly}\n aria-disabled={ariaDisabled}\n direction={direction}\n autoFilter={autoFilter}\n noResultsText={noResultsText}\n >\n <Root {...restProps} value={value} />\n </ComboboxProvider>\n)\n\nexport interface Partials {\n Portal: typeof Portal\n Trigger: typeof Trigger\n Content: typeof Content\n Item: typeof Item\n Group: typeof Group\n GroupLabel: typeof GroupLabel\n Value: typeof Value\n Separator: typeof Separator\n}\n\nCombobox.Portal = Portal\nCombobox.Trigger = Trigger\nCombobox.Content = Content\nCombobox.Item = Item\nCombobox.Group = Group\nCombobox.GroupLabel = GroupLabel\nCombobox.Value = Value\nCombobox.Separator = Separator\n"],"names":["RadixAnchor","Combobox","AriakitComboboxItemCheck","RadixPortal","AriakitGroup","GroupLabel","value","AriakitComboboxProvider"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"module.js","sources":["../src/partials/trigger.styled.tsx","../src/hooks/use-combobox-context.tsx","../src/partials/trigger-action-button.styled.tsx","../src/partials/trigger-action-button.tsx","../src/partials/trigger.tsx","../src/partials/content.styled.tsx","../src/partials/item.styled.tsx","../src/partials/item.tsx","../src/util.ts","../src/hooks/use-document-fragment.ts","../src/hooks/use-invisible-content.tsx","../src/partials/content.tsx","../src/partials/portal.tsx","../src/partials/group.styled.tsx","../src/partials/group.tsx","../src/partials/group-label.styled.tsx","../src/partials/group-label.tsx","../src/chip/chip.styled.tsx","../src/chip/left-icon.styled.tsx","../src/chip/left-slot.tsx","../src/chip/chip.tsx","../src/partials/value.styled.tsx","../src/partials/value.tsx","../src/partials/separator.styled.tsx","../src/partials/separator.tsx","../src/combobox.tsx"],"sourcesContent":["import { styled } from '@mirohq/design-system-stitches'\nimport { Input } from '@mirohq/design-system-input'\nimport { Anchor as RadixAnchor } from '@radix-ui/react-popover'\n\nexport const StyledAnchor = styled(RadixAnchor, {\n position: 'relative',\n width: '100%',\n})\n\nexport const StyledInput = styled(Input, {\n flexWrap: 'wrap',\n flexGrow: 1,\n gap: '0 $50',\n overflowY: 'scroll',\n\n '&[data-valid], &[data-invalid]': {\n // we don't need a bigger padding here as Input component will render its own icon\n paddingRight: '$100',\n },\n\n '& input': {\n minWidth: '$8',\n flexBasis: 0,\n flexGrow: 1,\n },\n\n variants: {\n size: {\n large: {\n minHeight: '$10',\n height: 'auto',\n padding: '5px $100',\n paddingRight: '$500',\n },\n 'x-large': {\n minHeight: '$12',\n height: 'auto',\n padding: '5px $100',\n paddingRight: '$500',\n },\n },\n },\n\n defaultVariants: {\n size: 'large',\n },\n})\n","import React, { createContext, useContext, useRef, useState } from 'react'\nimport type { PropsWithChildren, ReactNode } from 'react'\nimport { useControllableState } from '@radix-ui/react-use-controllable-state'\nimport { useFormFieldContext } from '@mirohq/design-system-base-form'\nimport type { FormElementProps } from '@mirohq/design-system-base-form'\n\nimport type { Direction } from '../types'\n\nexport interface ComboboxProps extends FormElementProps {\n open?: boolean\n defaultOpen?: boolean\n onOpen?: () => void\n onClose?: () => void\n value?: string[]\n defaultValue?: string[]\n onValueChange?: (value: string[]) => void\n onSearchValueChange?: (value: string) => void\n direction?: Direction\n autoFilter?: boolean\n noResultsText?: ReactNode\n}\n\ninterface ComboboxContextProps extends ComboboxProps {\n setOpenState: React.Dispatch<React.SetStateAction<boolean | undefined>>\n openState: boolean\n value?: string[]\n setValue: React.Dispatch<React.SetStateAction<string[] | undefined>>\n setDefaultValue: React.Dispatch<React.SetStateAction<string[] | undefined>>\n triggerRef: React.RefObject<HTMLInputElement>\n inputRef: React.RefObject<HTMLInputElement>\n contentRef: React.RefObject<HTMLDivElement>\n searchValue: string\n setSearchValue: React.Dispatch<React.SetStateAction<string>>\n filteredItems: Set<string>\n setFilteredItems: React.Dispatch<React.SetStateAction<Set<string>>>\n itemValueTextMap: Map<string, string>\n setItemValueTextMap: React.Dispatch<React.SetStateAction<Map<string, string>>>\n}\n\nexport type ComboboxProviderProps = ComboboxProps\n\nconst ComboboxContext = createContext<ComboboxContextProps>({} as any)\n\nexport const ComboboxProvider = ({\n children,\n open: openProp,\n defaultOpen,\n onOpen,\n onClose,\n valid,\n value: valueProp,\n defaultValue: defaultValueProp,\n onValueChange,\n onSearchValueChange,\n autoFilter = true,\n ...restProps\n}: PropsWithChildren<ComboboxProviderProps>): JSX.Element => {\n const triggerRef = useRef<HTMLInputElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n const contentRef = useRef<HTMLDivElement>(null)\n\n const [defaultValue, setDefaultValue] = useState(defaultValueProp)\n const [openState = false, setOpenState] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: state => {\n if (state) {\n onOpen?.()\n } else {\n onClose?.()\n }\n },\n })\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValueProp,\n onChange: onValueChange,\n })\n const [filteredItems, setFilteredItems] = useState(new Set<string>())\n const [searchValue, setSearchValue] = useState('')\n\n const [itemValueTextMap, setItemValueTextMap] = useState<\n ComboboxContextProps['itemValueTextMap']\n >(new Map())\n\n const { valid: formFieldValid } = useFormFieldContext()\n\n return (\n <ComboboxContext.Provider\n value={{\n ...restProps,\n valid: valid ?? formFieldValid,\n openState,\n setOpenState,\n value,\n setValue,\n setDefaultValue,\n defaultValue,\n onSearchValueChange,\n triggerRef,\n inputRef,\n contentRef,\n autoFilter,\n searchValue,\n setSearchValue,\n filteredItems,\n setFilteredItems,\n itemValueTextMap,\n setItemValueTextMap,\n }}\n >\n {children}\n </ComboboxContext.Provider>\n )\n}\n\nexport const useComboboxContext = (): ComboboxContextProps =>\n useContext(ComboboxContext)\n","import type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Input } from '@mirohq/design-system-input'\n\nexport const StyledActionButton = styled(Input.ActionButton, {\n position: 'absolute',\n right: '$100',\n\n variants: {\n size: {\n large: {\n top: '5px',\n },\n 'x-large': {\n top: '9px',\n },\n },\n },\n\n defaultVariants: {\n size: 'large',\n },\n})\n\nexport type StyledActionButtonProps = StrictComponentProps<\n typeof StyledActionButton\n>\n","import React, { useCallback } from 'react'\nimport { IconChevronDown, IconCross } from '@mirohq/design-system-icons'\nimport { Trigger as RadixTrigger } from '@radix-ui/react-popover'\n\nimport type { StyledActionButtonProps } from './trigger-action-button.styled'\nimport { StyledActionButton } from './trigger-action-button.styled'\nimport { useComboboxContext } from '../hooks/use-combobox-context'\n\nexport type TriggerActionButtonProps = Omit<\n StyledActionButtonProps,\n 'label'\n> & {\n /**\n * The label text for Trigger's action button when Combobox is empty and closed. Will be rendered in a Tooltip.\n */\n openActionLabel: string\n\n /**\n * The label text for Trigger's action button when Combobox is empty and open. Will be rendered in a Tooltip.\n */\n closeActionLabel: string\n\n /**\n * The label text for Trigger's action button when Combobox has values selected. Will be rendered in a Tooltip.\n */\n clearActionLabel: string\n}\n\nexport const TriggerActionButton: React.FC<TriggerActionButtonProps> = ({\n openActionLabel,\n closeActionLabel,\n clearActionLabel,\n size,\n}) => {\n const { openState, setOpenState, value = [], setValue } = useComboboxContext()\n\n const isEmpty = value.length === 0\n\n const onToggleClick = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n if (openState) {\n // open action will be performed by radix since it's RadixTrigger\n setOpenState(false)\n }\n\n event.stopPropagation()\n },\n [setOpenState, openState]\n )\n\n const onClearClick = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n setValue([])\n\n event.stopPropagation()\n },\n [setValue]\n )\n\n if (isEmpty) {\n return (\n <RadixTrigger asChild aria-haspopup='listbox'>\n <StyledActionButton\n label={openState ? closeActionLabel : openActionLabel}\n size={size}\n onClick={onToggleClick}\n >\n <IconChevronDown size='small' weight='thin' />\n </StyledActionButton>\n </RadixTrigger>\n )\n }\n\n return (\n <StyledActionButton\n label={clearActionLabel}\n size={size}\n onClick={onClearClick}\n >\n <IconCross size='small' weight='thin' />\n </StyledActionButton>\n )\n}\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { Combobox as AriakitComboboxTrigger } from '@ariakit/react'\nimport {\n booleanify,\n booleanishAttrValue,\n mergeRefs,\n} from '@mirohq/design-system-utils'\nimport {\n FloatingLabel,\n useFormFieldContext,\n} from '@mirohq/design-system-base-form'\nimport type { Input, InputProps } from '@mirohq/design-system-input'\n\nimport { StyledAnchor, StyledInput } from './trigger.styled'\nimport { useComboboxContext } from '../hooks/use-combobox-context'\nimport { TriggerActionButton } from './trigger-action-button'\nimport type { TriggerActionButtonProps } from './trigger-action-button'\n\nexport type TriggerProps = InputProps &\n Pick<\n TriggerActionButtonProps,\n 'openActionLabel' | 'closeActionLabel' | 'clearActionLabel'\n > & {\n /**\n * The content.\n */\n children?: React.ReactNode\n\n /**\n * The size of the trigger.\n * @default 'large'\n */\n size?: InputProps['size']\n\n /**\n * The content that will be rendered inside the Combobox.Trigger when no value or\n * defaultValue is set.\n */\n placeholder?: string\n }\n\nexport const Trigger = React.forwardRef<ElementRef<typeof Input>, TriggerProps>(\n (\n {\n id,\n children,\n size = 'large',\n 'aria-describedby': ariaDescribedBy,\n 'aria-invalid': ariaInvalid,\n placeholder,\n openActionLabel,\n closeActionLabel,\n clearActionLabel,\n onChange,\n css,\n ...restProps\n },\n forwardRef\n ) => {\n const {\n 'aria-disabled': ariaDisabled,\n valid: comboboxValid,\n disabled,\n value = [],\n readOnly,\n triggerRef,\n inputRef,\n onSearchValueChange,\n searchValue,\n setSearchValue,\n setOpenState,\n } = useComboboxContext()\n\n const {\n formElementId,\n ariaInvalid: formFieldAriaInvalid,\n valid: formFieldValid,\n label,\n isFloatingLabel,\n focused,\n } = useFormFieldContext()\n\n const valid = formFieldValid ?? comboboxValid\n\n const inputProps = {\n ...restProps,\n 'aria-disabled': ariaDisabled,\n 'aria-invalid': ariaInvalid ?? formFieldAriaInvalid,\n // todo MDS-1011: use formFieldContextDescribedBy after removing form context from BaseInput\n 'aria-describedby': ariaDescribedBy,\n valid,\n disabled,\n readOnly,\n invalid: booleanishAttrValue(valid),\n id: id ?? formElementId,\n placeholder: value.length === 0 ? placeholder : undefined,\n }\n\n const shouldUseFloatingLabel = label !== null && isFloatingLabel\n const isFloating =\n placeholder !== undefined ||\n value.length !== 0 ||\n focused ||\n searchValue !== ''\n\n const scrollIntoView = (\n event: React.FocusEvent<HTMLInputElement>\n ): void => {\n const trigger = triggerRef?.current\n const baseInput = inputRef?.current?.parentElement\n\n if (baseInput != null && trigger != null) {\n event.preventDefault()\n baseInput.scrollTo({\n top: trigger.scrollHeight,\n })\n }\n\n if (restProps.onFocus !== undefined) {\n restProps.onFocus(event)\n }\n }\n\n const onInputChange = (e: React.ChangeEvent<HTMLInputElement>): void => {\n setSearchValue(e.target.value)\n onSearchValueChange?.(e.target.value)\n onChange?.(e)\n }\n\n return (\n <StyledAnchor\n ref={mergeRefs([triggerRef, forwardRef])}\n css={css}\n // todo MDS-1112: move this logic to AriakitComboboxTrigger's showOnClick\n onClick={() => {\n if (\n !booleanify(disabled) &&\n !booleanify(ariaDisabled) &&\n !booleanify(readOnly)\n ) {\n setOpenState(true)\n }\n }}\n >\n {shouldUseFloatingLabel && (\n <FloatingLabel floating={isFloating} size={size}>\n {label}\n </FloatingLabel>\n )}\n <AriakitComboboxTrigger\n render={\n <StyledInput\n {...inputProps}\n value={searchValue}\n size={size}\n ref={inputRef}\n onChange={onInputChange}\n onFocus={scrollIntoView}\n >\n {children}\n <TriggerActionButton\n openActionLabel={openActionLabel}\n closeActionLabel={closeActionLabel}\n clearActionLabel={clearActionLabel}\n size={size}\n />\n </StyledInput>\n }\n />\n </StyledAnchor>\n )\n }\n)\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport * as RadixPopover from '@radix-ui/react-popover'\nimport { Primitive } from '@mirohq/design-system-primitive'\n\nexport const NoResultPlaceholder = styled(Primitive.div, {\n padding: '$100',\n})\n\nexport const StyledContent = styled(RadixPopover.Content, {\n backgroundColor: '$background-neutrals-container',\n borderRadius: '$50',\n boxShadow: '$50',\n fontSize: '$175',\n fontWeight: 'normal',\n lineHeight: '20px',\n width: 'var(--radix-popover-trigger-width)',\n zIndex: '$select',\n overflowY: 'auto',\n padding: '$50',\n boxSizing: 'border-box',\n outline: '1px solid transparent',\n})\n\nexport type StyledContentProps = StrictComponentProps<typeof StyledContent>\n","import { ComboboxItem } from '@ariakit/react'\nimport { focus } from '@mirohq/design-system-styles'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledItemCheck = styled(Primitive.span, {\n color: '$icon-primary',\n})\n\nexport const StyledItem = styled(ComboboxItem, {\n display: 'grid',\n gridTemplateColumns: '20px 1fr',\n borderRadius: '$50',\n boxSizing: 'border-box',\n color: '$text-neutrals',\n cursor: 'pointer',\n fontSize: '$175',\n lineHeight: '20px',\n position: 'relative',\n userSelect: 'none',\n padding: '6px $100 6px $150',\n\n ...focus.css({\n boxShadow: '$focus-small',\n }),\n\n '&:not([aria-disabled=\"true\"])': {\n _hover: {\n background: '$background-primary-subtle-hover',\n color: '$text-primary-hover',\n\n [`${StyledItemCheck}`]: {\n color: '$icon-primary-hover',\n },\n },\n },\n\n '&:disabled, &[aria-disabled=true], &[data-disabled]': {\n cursor: 'default',\n color: '$text-neutrals-disabled',\n\n [`${StyledItemCheck}`]: {\n color: '$icon-neutrals-disabled',\n },\n },\n\n '&[aria-selected=\"true\"]:not(:disabled,[aria-disabled=true],[data-disabled])':\n {\n color: '$text-primary-selected',\n },\n})\n\nexport type StyledItemProps = StrictComponentProps<typeof StyledItem>\n","import React from 'react'\nimport type { ElementRef, ReactNode } from 'react'\nimport { ComboboxItemCheck as AriakitComboboxItemCheck } from '@ariakit/react'\nimport { mergeProps } from '@react-aria/utils'\nimport { useAriaDisabled } from '@mirohq/design-system-use-aria-disabled'\nimport { IconCheckMark } from '@mirohq/design-system-icons'\nimport { booleanify } from '@mirohq/design-system-utils'\nimport { useLayoutEffect } from '@mirohq/design-system-use-layout-effect'\n\nimport { StyledItem, StyledItemCheck } from './item.styled'\nimport type { StyledItemProps } from './item.styled'\nimport { useComboboxContext } from '../hooks/use-combobox-context'\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 Combobox's item text. Use this when the content is\n * complex, or you have non-textual content inside.\n */\n textValue?: string\n\n /**\n * Item's content.\n */\n children?: ReactNode\n}\n\nexport const Item = React.forwardRef<ElementRef<typeof StyledItem>, ItemProps>(\n (\n { disabled = false, value, textValue, children, ...restProps },\n forwardRef\n ) => {\n const { 'aria-disabled': ariaDisabled, ...restAriaDisabledProps } =\n useAriaDisabled(restProps, { allowArrows: true })\n const {\n autoFilter,\n filteredItems,\n setItemValueTextMap,\n triggerRef,\n inputRef,\n } = useComboboxContext()\n\n useLayoutEffect(() => {\n const textToSet =\n textValue !== undefined\n ? textValue\n : typeof children === 'string'\n ? children\n : ''\n\n setItemValueTextMap(prevState => new Map(prevState.set(value, textToSet)))\n\n return () => {\n setItemValueTextMap(prevState => {\n prevState.delete(value)\n return new Map(prevState)\n })\n }\n }, [setItemValueTextMap, value, textValue, children])\n\n if (autoFilter !== false && !filteredItems.has(value)) {\n return null\n }\n\n const scrollIntoView = (event: React.MouseEvent<HTMLDivElement>): void => {\n if (\n inputRef?.current?.parentElement != null &&\n triggerRef?.current != null\n ) {\n inputRef.current.parentElement.scrollTo({\n top: triggerRef.current.scrollHeight,\n })\n }\n\n if (restProps.onClick !== undefined) {\n restProps.onClick(event)\n }\n }\n\n return (\n <StyledItem\n {...mergeProps(restProps, restAriaDisabledProps)}\n focusable\n hideOnClick={false}\n accessibleWhenDisabled={booleanify(ariaDisabled)}\n disabled={booleanify(ariaDisabled) || disabled}\n ref={forwardRef}\n value={value}\n onClick={scrollIntoView}\n >\n <AriakitComboboxItemCheck\n render={({ style, ...props }) => (\n // AriakitComboboxItemCheck adds its owm inline styles which we want to omit here\n <StyledItemCheck {...props} />\n )}\n >\n <IconCheckMark\n size='small'\n data-testid={\n process.env.NODE_ENV === 'test'\n ? 'combobox-item-check'\n : undefined\n }\n />\n </AriakitComboboxItemCheck>\n {children}\n </StyledItem>\n )\n }\n)\n","import React from 'react'\nimport type { ReactNode } from 'react'\n\nimport { Item } from './partials/item'\nimport type { ItemProps } from './partials/item'\n\nconst itemType = React.createElement(Item).type\n\nexport const getChildrenItemValues = (\n componentChildren: ReactNode\n): string[] => {\n const values: string[] = []\n\n const recurse = (children: ReactNode): void => {\n React.Children.forEach(children, child => {\n if (!React.isValidElement(child)) {\n return\n }\n\n if (child.type === itemType) {\n const props = child.props as ItemProps\n\n values.push(props.value)\n\n return\n }\n\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n if (child.props.children) {\n recurse(child.props.children)\n }\n })\n }\n\n recurse(componentChildren)\n\n return values\n}\n","import React from 'react'\nimport { useLayoutEffect } from '@mirohq/design-system-use-layout-effect'\n\nexport const useDocumentFragment = (): DocumentFragment | undefined => {\n const [fragment, setFragment] = React.useState<DocumentFragment>()\n\n // we need `useLayoutEffect` here because `DocumentFragment` doesn't exist on the server\n useLayoutEffect(() => {\n setFragment(new DocumentFragment())\n }, [])\n\n return fragment\n}\n","import React, { useCallback } from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { useDocumentFragment } from './use-document-fragment'\n\n/**\n * Render content in DocumentFragment so items can send its text value to context,\n * otherwise we will have empty chips.\n * Content won't be visible in DOM.\n */\nexport const useInvisibleContent = (): ((\n children: React.ReactNode\n) => React.ReactElement | null) => {\n const fragment = useDocumentFragment()\n\n return useCallback(\n (children: React.ReactNode): React.ReactElement | null =>\n fragment !== undefined\n ? createPortal(<div>{children}</div>, fragment)\n : null,\n [fragment]\n )\n}\n","import React, { useEffect } from 'react'\nimport type { ElementRef, ReactNode } from 'react'\nimport { mergeRefs } from '@mirohq/design-system-utils'\nimport { ScrollArea } from '@mirohq/design-system-scroll-area'\nimport { theme } from '@mirohq/design-system-stitches'\nimport type { CSSProperties } from '@stitches/react'\nimport { ComboboxList as AriakitComboboxList } from '@ariakit/react'\n\nimport { NoResultPlaceholder, StyledContent } from './content.styled'\nimport type { StyledContentProps } from './content.styled'\nimport { useComboboxContext } from '../hooks/use-combobox-context'\nimport { getChildrenItemValues } from '../util'\nimport type { Overflow } from '../types'\nimport { useInvisibleContent } from '../hooks/use-invisible-content'\n\nexport const CONTENT_OFFSET = parseInt(theme.space[50])\n\nconst isInsideRef = (\n element: Element | null,\n ref: React.RefObject<Element>\n): boolean => (element != null && ref.current?.contains(element)) ?? false\n\nexport interface ContentProps extends StyledContentProps {\n /**\n * Combobox's content.\n */\n children?: ReactNode\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 element used as the collision boundary. By default this is the\n * viewport, though you can provide additional element(s) to be included in\n * this check.\n */\n collisionBoundary?: Element | null\n\n /**\n * 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\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\nexport const Content = React.forwardRef<\n ElementRef<typeof StyledContent>,\n ContentProps\n>(\n (\n {\n sideOffset = CONTENT_OFFSET,\n maxHeight,\n overflow,\n children,\n ...restProps\n },\n forwardRef\n ) => {\n const {\n triggerRef,\n contentRef,\n autoFilter,\n filteredItems,\n setFilteredItems,\n searchValue,\n noResultsText,\n direction,\n openState,\n } = useComboboxContext()\n\n useEffect(() => {\n const childrenItemValues = getChildrenItemValues(children)\n\n setFilteredItems(\n new Set(\n autoFilter === false\n ? childrenItemValues\n : childrenItemValues.filter(child =>\n child.toLowerCase().includes(searchValue.toLowerCase())\n )\n )\n )\n }, [children, autoFilter, setFilteredItems, searchValue])\n\n const getInvisibleContent = useInvisibleContent()\n\n if (!openState) {\n return getInvisibleContent(children)\n }\n\n const content =\n filteredItems.size === 0 ? (\n <>\n <NoResultPlaceholder>{noResultsText}</NoResultPlaceholder>\n {getInvisibleContent(children)}\n </>\n ) : (\n children\n )\n\n return (\n <StyledContent\n asChild\n {...restProps}\n dir={direction}\n sideOffset={sideOffset}\n ref={mergeRefs([forwardRef, contentRef])}\n onOpenAutoFocus={event => event.preventDefault()}\n onInteractOutside={event => {\n const target = event.target as Element | null\n const isTrigger = isInsideRef(target, triggerRef)\n const isContent = isInsideRef(target, contentRef)\n\n if (isTrigger || isContent) {\n event.preventDefault()\n }\n }}\n >\n {/* we have to specify role here otherwise it would be overwritten by Radix.Content */}\n <AriakitComboboxList role='listbox'>\n {overflow === 'auto' ? (\n <ScrollArea type='always' dir={direction}>\n <ScrollArea.Viewport\n availableHeight='var(--radix-popover-content-available-height)'\n verticalGap='var(--space-50) * 2'\n maxHeight={maxHeight}\n >\n {content}\n </ScrollArea.Viewport>\n <ScrollArea.Scrollbar orientation='vertical'>\n <ScrollArea.Thumb />\n </ScrollArea.Scrollbar>\n </ScrollArea>\n ) : (\n content\n )}\n </AriakitComboboxList>\n </StyledContent>\n )\n }\n)\n","import React from 'react'\nimport type { PopoverPortalProps } from '@radix-ui/react-popover'\nimport { Portal as RadixPortal } from '@radix-ui/react-popover'\n\nexport interface PortalProps extends PopoverPortalProps {\n /**\n * Specify a container element to portal the content into.\n */\n container?: HTMLElement | null\n}\n\nexport const Portal: React.FC<PortalProps> = props => <RadixPortal {...props} />\n","import { Group as AriakitGroup } from '@ariakit/react'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledGroup = styled(AriakitGroup)\n\nexport type StyledGroupProps = StrictComponentProps<typeof StyledGroup>\n","import React, { useMemo } from 'react'\nimport type { ElementRef } from 'react'\n\nimport { useComboboxContext } from '../hooks/use-combobox-context'\nimport { getChildrenItemValues } from '../util'\nimport type { StyledGroupProps } from './group.styled'\nimport { StyledGroup } from './group.styled'\nimport { useInvisibleContent } from '../hooks/use-invisible-content'\n\nexport type GroupProps = StyledGroupProps\n\nexport const Group = React.forwardRef<\n ElementRef<typeof StyledGroup>,\n GroupProps\n>(({ children, ...rest }, forwardRef) => {\n const { autoFilter, filteredItems } = useComboboxContext()\n\n const childValues = useMemo(\n // don't perform calculation if auto filter is disabled\n () => (autoFilter !== false ? getChildrenItemValues(children) : []),\n [children, autoFilter]\n )\n const hasVisibleChildren = useMemo(\n () =>\n // don't perform calculation if auto filter is disabled\n autoFilter !== false\n ? childValues.some(value => filteredItems.has(value))\n : true,\n [childValues, filteredItems, autoFilter]\n )\n\n const getInvisibleContent = useInvisibleContent()\n\n if (!hasVisibleChildren) {\n return getInvisibleContent(children)\n }\n\n return (\n <StyledGroup {...rest} ref={forwardRef}>\n {children}\n </StyledGroup>\n )\n})\n","import { GroupLabel } from '@ariakit/react'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledGroupLabel = styled(GroupLabel, {\n padding: '6px $100',\n color: '$text-neutrals-subtle',\n})\n\nexport type StyledGroupLabelProps = StrictComponentProps<\n typeof StyledGroupLabel\n>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { StyledGroupLabel } from './group-label.styled'\nimport type { StyledGroupLabelProps } from './group-label.styled'\n\nexport interface GroupLabelProps extends StyledGroupLabelProps {}\n\nexport const GroupLabel = React.forwardRef<\n ElementRef<typeof StyledGroupLabel>,\n GroupLabelProps\n>((props, forwardRef) => <StyledGroupLabel {...props} ref={forwardRef} />)\n","import { styled } from '@mirohq/design-system-stitches'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { BaseButton } from '@mirohq/design-system-base-button'\nimport { focus } from '@mirohq/design-system-styles'\n\nexport const StyledChip = styled(Primitive.div, {\n fontSize: '$150',\n padding: '$50 $100',\n borderRadius: '$round',\n display: 'flex',\n alignItems: 'center',\n gap: '$50',\n whiteSpace: 'nowrap',\n maxWidth: '$35',\n backgroundColor: '$background-neutrals-subtle',\n color: '$text-neutrals',\n})\n\nexport const StyledChipButton = styled(BaseButton, {\n color: '$icon-neutrals-inactive',\n\n ...focus.css({\n boxShadow: '$focus-small-outline',\n }),\n})\n\nexport const StyledChipContent = styled(Primitive.div, {\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n lineHeight: 1.3,\n})\n\nexport type StyledChipProps = StrictComponentProps<typeof StyledChip>\n","import type { StrictComponentProps } from '@mirohq/design-system-stitches'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Primitive } from '@mirohq/design-system-primitive'\n\nexport const StyledLeftSlot = styled(Primitive.span, {\n order: -1,\n marginRight: '$50',\n})\n\nexport type StyledLeftSlotProps = StrictComponentProps<typeof StyledLeftSlot>\n","import type { StyledLeftSlotProps } from './left-icon.styled'\nimport { StyledLeftSlot } from './left-icon.styled'\n\nexport interface LeftSlotProps extends StyledLeftSlotProps {}\n\nexport const LeftSlot = StyledLeftSlot\n","import React from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\nimport { IconCross } from '@mirohq/design-system-icons'\nimport { booleanify } from '@mirohq/design-system-utils'\n\nimport { StyledChip, StyledChipContent, StyledChipButton } from './chip.styled'\nimport type { StyledChipProps } from './chip.styled'\nimport { LeftSlot } from './left-slot'\n\nexport type ChipProps = StyledChipProps & {\n /**\n * Event handler called when the chip's remove button is clicked.\n */\n onRemove?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void\n\n /**\n * When true, prevents the user from interacting with the item.\n * @default false\n */\n disabled?: boolean\n\n /**\n * Remove button label to make the button recognizable by the screen readers.\n */\n removeAriaLabel: string\n}\n\nexport const Chip = React.forwardRef<ElementRef<typeof StyledChip>, ChipProps>(\n (\n { children, disabled = false, onRemove, removeAriaLabel, ...restProps },\n forwardRef\n ) => (\n <StyledChip {...restProps} ref={forwardRef}>\n <StyledChipContent>{children}</StyledChipContent>\n {!booleanify(disabled) && (\n <StyledChipButton onClick={onRemove} aria-label={removeAriaLabel}>\n <IconCross size='small' weight='thin' aria-hidden />\n </StyledChipButton>\n )}\n </StyledChip>\n )\n) as ForwardRefExoticComponent<ChipProps> & Partials\n\nexport interface Partials {\n LeftSlot: typeof LeftSlot\n}\n\nChip.LeftSlot = LeftSlot\n","import { styled } from '@mirohq/design-system-stitches'\n\nimport { Chip } from '../chip'\n\nexport const StyledValue = styled(Chip, {\n marginTop: '$50',\n})\n","import React, { useCallback } from 'react'\nimport type { FC } from 'react'\n\nimport { useComboboxContext } from '../hooks/use-combobox-context'\nimport { StyledValue } from './value.styled'\n\nexport interface ValueProps {\n /**\n * The label to make the remove button recognizable by the screen readers.\n */\n unselectAriaLabel: string\n}\n\nexport const Value: FC<ValueProps> = ({ unselectAriaLabel }) => {\n const {\n value = [],\n setValue,\n disabled,\n 'aria-disabled': ariaDisabled,\n itemValueTextMap,\n } = useComboboxContext()\n const isDisabled = ariaDisabled === true || disabled\n\n const onItemRemove = useCallback(\n (item: string): void => {\n setValue(prevValue => prevValue?.filter(value => value !== item))\n },\n [setValue]\n )\n\n const getItemText = useCallback(\n (itemValue: string) => {\n const textValue = itemValueTextMap.get(itemValue)\n if (textValue === undefined || textValue === '') {\n return null\n }\n\n return (\n <StyledValue\n key={itemValue}\n onRemove={() => onItemRemove(itemValue)}\n disabled={isDisabled}\n removeAriaLabel={`${unselectAriaLabel} ${textValue}`}\n data-testid={\n process.env.NODE_ENV === 'test'\n ? `combobox-value-${itemValue}`\n : undefined\n }\n >\n {textValue}\n </StyledValue>\n )\n },\n [isDisabled, itemValueTextMap, onItemRemove, unselectAriaLabel]\n )\n\n return <>{value.map(getItemText)}</>\n}\n","import { styled } from '@mirohq/design-system-stitches'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport type { StrictComponentProps } from '@mirohq/design-system-stitches'\n\nexport const StyledSeparator = styled(Primitive.div, {\n backgroundColor: '$border-neutrals-subtle',\n height: '1px',\n width: '100%',\n margin: '$100 0',\n})\n\nexport type StyledSeparatorProps = StrictComponentProps<typeof StyledSeparator>\n","import React from 'react'\nimport type { ElementRef } from 'react'\n\nimport { useComboboxContext } from '../hooks/use-combobox-context'\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) => {\n const { autoFilter, searchValue } = useComboboxContext()\n\n if (autoFilter === true && searchValue.length > 0) {\n return null\n }\n\n return <StyledSeparator {...props} ref={forwardRef} aria-hidden />\n})\n","import React, { useEffect } from 'react'\nimport type { ReactNode } from 'react'\nimport { ComboboxProvider as AriakitComboboxProvider } from '@ariakit/react'\nimport { useFormFieldContext } from '@mirohq/design-system-base-form'\nimport * as RadixPopover from '@radix-ui/react-popover'\nimport { booleanify } from '@mirohq/design-system-utils'\n\nimport { Trigger } from './partials/trigger'\nimport { Content } from './partials/content'\nimport { Item } from './partials/item'\nimport { Portal } from './partials/portal'\nimport { Group } from './partials/group'\nimport { GroupLabel } from './partials/group-label'\nimport { Value } from './partials/value'\nimport { Separator } from './partials/separator'\nimport {\n ComboboxProvider,\n useComboboxContext,\n} from './hooks/use-combobox-context'\nimport type { ComboboxProviderProps } from './hooks/use-combobox-context'\nimport type { Direction } from './types'\n\nexport interface ComboboxProps extends ComboboxProviderProps {\n /**\n * The value of the combobox when initially rendered. Use when you do not need\n * to control the state of the combobox.\n */\n defaultValue?: string[]\n\n /**\n * The controlled value of the combobox. 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 * Event handler called when the trigger input value changes.\n */\n onSearchValueChange?: (value: string) => void\n\n /**\n * The open state of the combobox 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 combobox. Must be used in conjunction with\n * onOpen and onClose.\n */\n open?: boolean\n\n /**\n * Event handler called when the combobox opens.\n */\n onOpen?: () => void\n\n /**\n * Event handler called when the combobox closes.\n */\n onClose?: () => void\n\n /**\n * The reading direction of the combobox 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 content of the combobox\n */\n children?: React.ReactNode\n\n /**\n * Enables/disabled automatic filtering.\n * @default true\n */\n autoFilter?: boolean\n\n /**\n * Text that is displayed when there are no items to display.\n */\n noResultsText: ReactNode\n}\n\nconst Root: React.FC<Omit<ComboboxProps, 'noResultsText'>> = ({\n value: valueProp,\n children,\n ...restProps\n}) => {\n const {\n openState,\n setOpenState,\n defaultValue,\n value,\n setValue,\n required,\n readOnly,\n 'aria-disabled': ariaDisabled,\n disabled,\n } = useComboboxContext()\n\n const { setRequired, setDisabled, setAriaDisabled, setReadOnly } =\n useFormFieldContext()\n\n useEffect(() => {\n setRequired?.(required)\n setDisabled?.(disabled)\n setAriaDisabled?.(ariaDisabled)\n setReadOnly?.(readOnly)\n }, [\n readOnly,\n disabled,\n ariaDisabled,\n required,\n setRequired,\n setDisabled,\n setAriaDisabled,\n setReadOnly,\n ])\n\n const onSetSelectedValue = (newValue: string | string[]): void => {\n setValue(typeof newValue === 'string' ? [newValue] : newValue)\n }\n\n const onOpenChange = (value: boolean): void => {\n if (!booleanify(readOnly)) {\n setOpenState(value)\n }\n }\n\n return (\n <RadixPopover.Root\n open={openState}\n onOpenChange={onOpenChange}\n {...restProps}\n >\n <AriakitComboboxProvider\n open={openState}\n setOpen={onOpenChange}\n defaultSelectedValue={defaultValue}\n selectedValue={value}\n setSelectedValue={onSetSelectedValue}\n >\n {children}\n </AriakitComboboxProvider>\n </RadixPopover.Root>\n )\n}\n\nexport const Combobox: React.FC<ComboboxProps> & Partials = ({\n 'aria-disabled': ariaDisabled,\n defaultOpen = false,\n open,\n valid,\n disabled,\n readOnly,\n required,\n value,\n defaultValue,\n onOpen,\n onClose,\n onSearchValueChange,\n onValueChange,\n direction = 'ltr',\n autoFilter = true,\n noResultsText,\n ...restProps\n}) => (\n <ComboboxProvider\n defaultValue={defaultValue}\n value={value}\n onValueChange={onValueChange}\n onSearchValueChange={onSearchValueChange}\n defaultOpen={defaultOpen}\n open={open}\n onOpen={onOpen}\n onClose={onClose}\n valid={valid}\n required={required}\n disabled={disabled}\n readOnly={readOnly}\n aria-disabled={ariaDisabled}\n direction={direction}\n autoFilter={autoFilter}\n noResultsText={noResultsText}\n >\n <Root {...restProps} value={value} />\n </ComboboxProvider>\n)\n\nexport interface Partials {\n Portal: typeof Portal\n Trigger: typeof Trigger\n Content: typeof Content\n Item: typeof Item\n Group: typeof Group\n GroupLabel: typeof GroupLabel\n Value: typeof Value\n Separator: typeof Separator\n}\n\nCombobox.Portal = Portal\nCombobox.Trigger = Trigger\nCombobox.Content = Content\nCombobox.Item = Item\nCombobox.Group = Group\nCombobox.GroupLabel = GroupLabel\nCombobox.Value = Value\nCombobox.Separator = Separator\n"],"names":["RadixAnchor","RadixTrigger","AriakitComboboxTrigger","AriakitComboboxItemCheck","AriakitComboboxList","RadixPortal","AriakitGroup","GroupLabel","value","AriakitComboboxProvider"],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -12,7 +12,6 @@ import { CSSProperties } from '@stitches/react';
|
|
|
12
12
|
import * as RadixPopover from '@radix-ui/react-popover';
|
|
13
13
|
import { PopoverPortalProps } from '@radix-ui/react-popover';
|
|
14
14
|
import * as _ariakit_react from '@ariakit/react';
|
|
15
|
-
import { GroupProps as GroupProps$1 } from '@ariakit/react';
|
|
16
15
|
import * as _mirohq_design_system_primitive from '@mirohq/design-system-primitive';
|
|
17
16
|
import { FormElementProps } from '@mirohq/design-system-base-form';
|
|
18
17
|
|
|
@@ -63,18 +62,20 @@ declare type StyledActionButtonProps = StrictComponentProps<typeof StyledActionB
|
|
|
63
62
|
|
|
64
63
|
declare type TriggerActionButtonProps = Omit<StyledActionButtonProps, 'label'> & {
|
|
65
64
|
/**
|
|
66
|
-
* The label text for Trigger's action button when Combobox is empty
|
|
67
|
-
* Will be rendered in a Tooltip.
|
|
65
|
+
* The label text for Trigger's action button when Combobox is empty and closed. Will be rendered in a Tooltip.
|
|
68
66
|
*/
|
|
69
67
|
openActionLabel: string;
|
|
70
68
|
/**
|
|
71
|
-
* The label text for Trigger's action button when Combobox
|
|
72
|
-
|
|
69
|
+
* The label text for Trigger's action button when Combobox is empty and open. Will be rendered in a Tooltip.
|
|
70
|
+
*/
|
|
71
|
+
closeActionLabel: string;
|
|
72
|
+
/**
|
|
73
|
+
* The label text for Trigger's action button when Combobox has values selected. Will be rendered in a Tooltip.
|
|
73
74
|
*/
|
|
74
75
|
clearActionLabel: string;
|
|
75
76
|
};
|
|
76
77
|
|
|
77
|
-
declare type TriggerProps = InputProps & Pick<TriggerActionButtonProps, 'openActionLabel' | 'clearActionLabel'> & {
|
|
78
|
+
declare type TriggerProps = InputProps & Pick<TriggerActionButtonProps, 'openActionLabel' | 'closeActionLabel' | 'clearActionLabel'> & {
|
|
78
79
|
/**
|
|
79
80
|
* The content.
|
|
80
81
|
*/
|
|
@@ -90,7 +91,7 @@ declare type TriggerProps = InputProps & Pick<TriggerActionButtonProps, 'openAct
|
|
|
90
91
|
*/
|
|
91
92
|
placeholder?: string;
|
|
92
93
|
};
|
|
93
|
-
declare const Trigger: react__default.ForwardRefExoticComponent<(Omit<packages_components_input_src_types.InputSharedProps & packages_components_input_src_types.ClearProps & Pick<TriggerActionButtonProps, "openActionLabel" | "clearActionLabel"> & {
|
|
94
|
+
declare const Trigger: react__default.ForwardRefExoticComponent<(Omit<packages_components_input_src_types.InputSharedProps & packages_components_input_src_types.ClearProps & Pick<TriggerActionButtonProps, "openActionLabel" | "closeActionLabel" | "clearActionLabel"> & {
|
|
94
95
|
/**
|
|
95
96
|
* The content.
|
|
96
97
|
*/
|
|
@@ -107,7 +108,7 @@ declare const Trigger: react__default.ForwardRefExoticComponent<(Omit<packages_c
|
|
|
107
108
|
placeholder?: string | undefined;
|
|
108
109
|
}, "ref"> | Omit<packages_components_input_src_types.InputSharedProps & {
|
|
109
110
|
clearable?: undefined;
|
|
110
|
-
} & Pick<TriggerActionButtonProps, "openActionLabel" | "clearActionLabel"> & {
|
|
111
|
+
} & Pick<TriggerActionButtonProps, "openActionLabel" | "closeActionLabel" | "clearActionLabel"> & {
|
|
111
112
|
/**
|
|
112
113
|
* The content.
|
|
113
114
|
*/
|
|
@@ -207,8 +208,11 @@ interface PortalProps extends PopoverPortalProps {
|
|
|
207
208
|
}
|
|
208
209
|
declare const Portal: react__default.FC<PortalProps>;
|
|
209
210
|
|
|
210
|
-
declare
|
|
211
|
-
declare
|
|
211
|
+
declare const StyledGroup: react.ForwardRefExoticComponent<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<(props: _ariakit_react.GroupProps<"div">) => react.ReactElement<any, string | react.JSXElementConstructor<any>>>, never> & _stitches_react_types_styled_component.TransformProps<{}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react.RefAttributes<HTMLDivElement>> & _mirohq_design_system_stitches.StitchesInternals<(props: _ariakit_react.GroupProps<"div">) => react.ReactElement<any, string | react.JSXElementConstructor<any>>, {}, {}>;
|
|
212
|
+
declare type StyledGroupProps = StrictComponentProps<typeof StyledGroup>;
|
|
213
|
+
|
|
214
|
+
declare type GroupProps = StyledGroupProps;
|
|
215
|
+
declare const Group: react__default.ForwardRefExoticComponent<Omit<StyledGroupProps, "ref"> & react__default.RefAttributes<HTMLDivElement>>;
|
|
212
216
|
|
|
213
217
|
declare const StyledGroupLabel: react.ForwardRefExoticComponent<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<(props: _ariakit_react.GroupLabelProps<"div">) => react.ReactElement<any, string | react.JSXElementConstructor<any>>>, never> & _stitches_react_types_styled_component.TransformProps<{}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react.RefAttributes<HTMLDivElement>> & _mirohq_design_system_stitches.StitchesInternals<(props: _ariakit_react.GroupLabelProps<"div">) => react.ReactElement<any, string | react.JSXElementConstructor<any>>, {}, {}>;
|
|
214
218
|
declare type StyledGroupLabelProps = StrictComponentProps<typeof StyledGroupLabel>;
|
|
@@ -219,9 +223,9 @@ declare const GroupLabel: react__default.ForwardRefExoticComponent<Omit<GroupLab
|
|
|
219
223
|
|
|
220
224
|
interface ValueProps {
|
|
221
225
|
/**
|
|
222
|
-
*
|
|
226
|
+
* The label to make the remove button recognizable by the screen readers.
|
|
223
227
|
*/
|
|
224
|
-
|
|
228
|
+
unselectAriaLabel: string;
|
|
225
229
|
}
|
|
226
230
|
declare const Value: FC<ValueProps>;
|
|
227
231
|
|
|
@@ -318,4 +322,4 @@ interface Partials {
|
|
|
318
322
|
Separator: typeof Separator;
|
|
319
323
|
}
|
|
320
324
|
|
|
321
|
-
export { Combobox, ContentProps as ComboboxContentProps, GroupLabelProps as ComboboxGroupLabelProps, GroupProps as ComboboxGroupProps, ItemProps as ComboboxItemProps, ComboboxProps, TriggerProps as ComboboxTriggerProps, types as ComboboxTypes, ValueProps as ComboboxValueProps };
|
|
325
|
+
export { Combobox, ContentProps as ComboboxContentProps, GroupLabelProps as ComboboxGroupLabelProps, GroupProps as ComboboxGroupProps, ItemProps as ComboboxItemProps, PortalProps as ComboboxPortalProps, ComboboxProps, SeparatorProps as ComboboxSeparatorProps, TriggerProps as ComboboxTriggerProps, types as ComboboxTypes, ValueProps as ComboboxValueProps };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mirohq/design-system-combobox",
|
|
3
|
-
"version": "0.1.0-combobox.
|
|
3
|
+
"version": "0.1.0-combobox.9",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "Miro",
|
|
6
6
|
"source": "src/index.ts",
|
|
@@ -31,17 +31,18 @@
|
|
|
31
31
|
"@radix-ui/react-popover": "^1.0.7",
|
|
32
32
|
"@radix-ui/react-use-controllable-state": "1.0.1",
|
|
33
33
|
"@react-aria/utils": "^3.13.0",
|
|
34
|
-
"@mirohq/design-system-base-button": "^0.4.
|
|
35
|
-
"@mirohq/design-system-
|
|
36
|
-
"@mirohq/design-system-form": "^0.
|
|
37
|
-
"@mirohq/design-system-icons": "^0.43.
|
|
38
|
-
"@mirohq/design-system-input": "^0.1.26-combobox.3",
|
|
34
|
+
"@mirohq/design-system-base-button": "^0.4.46",
|
|
35
|
+
"@mirohq/design-system-form": "^0.1.15",
|
|
36
|
+
"@mirohq/design-system-base-form": "^0.2.12",
|
|
37
|
+
"@mirohq/design-system-icons": "^0.43.3-combobox.0",
|
|
39
38
|
"@mirohq/design-system-primitive": "^1.1.2",
|
|
40
|
-
"@mirohq/design-system-
|
|
41
|
-
"@mirohq/design-system-
|
|
42
|
-
"@mirohq/design-system-
|
|
43
|
-
"@mirohq/design-system-
|
|
44
|
-
"@mirohq/design-system-
|
|
39
|
+
"@mirohq/design-system-input": "^0.1.29-combobox.3",
|
|
40
|
+
"@mirohq/design-system-scroll-area": "^0.2.12-combobox.0",
|
|
41
|
+
"@mirohq/design-system-stitches": "^2.6.10",
|
|
42
|
+
"@mirohq/design-system-styles": "^1.2.10-combobox.0",
|
|
43
|
+
"@mirohq/design-system-use-aria-disabled": "^0.1.5-combobox.0",
|
|
44
|
+
"@mirohq/design-system-use-layout-effect": "^0.2.1",
|
|
45
|
+
"@mirohq/design-system-utils": "^0.15.4"
|
|
45
46
|
},
|
|
46
47
|
"scripts": {
|
|
47
48
|
"build": "rollup -c ../../../rollup.config.js",
|