@mirohq/design-system-input 0.2.3 → 0.2.4

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
@@ -468,7 +468,7 @@ const Input$1 = React__default["default"].forwardRef(
468
468
  }
469
469
  );
470
470
 
471
- const Root = React__default["default"].forwardRef(({ children, size, placeholder, ...restProps }, forwardRef) => {
471
+ const Root = React__default["default"].forwardRef(({ children, size, placeholder, role, ...restProps }, forwardRef) => {
472
472
  var _a, _b, _c;
473
473
  const ref = React.useRef(null);
474
474
  const {
@@ -487,17 +487,24 @@ const Root = React__default["default"].forwardRef(({ children, size, placeholder
487
487
  onHoverChange: setHovered
488
488
  });
489
489
  const { pressProps } = designSystemUsePress.usePress({
490
- onPressStart: (e) => {
491
- var _a2;
490
+ onPressEnd: (e) => {
491
+ var _a2, _b2;
492
492
  const { target } = e.originalEvent;
493
- const shouldFocusInput = target !== actionButtonRef.current;
493
+ const isActionButton = target === actionButtonRef.current || ((_a2 = actionButtonRef.current) == null ? void 0 : _a2.contains(target)) === true;
494
+ const shouldFocusInput = !isActionButton && !designSystemUtils.booleanify(disabled) && !designSystemUtils.booleanify(focused);
494
495
  if (shouldFocusInput) {
495
- (_a2 = inputRef.current) == null ? void 0 : _a2.focus();
496
+ (_b2 = inputRef.current) == null ? void 0 : _b2.focus();
496
497
  setFocused(true);
497
498
  }
498
499
  },
499
500
  preventFocusOnPress: "auto"
500
501
  });
502
+ const onMouseDown = (e) => {
503
+ const shouldPrevent = document.activeElement === inputRef.current && e.target === ref.current;
504
+ if (shouldPrevent) {
505
+ e.preventDefault();
506
+ }
507
+ };
501
508
  const ariaDisabledOrDisabled = designSystemUtils.booleanify(ariaDisabled) || designSystemUtils.booleanify(disabled);
502
509
  const inputValue = (_c = (_b = (_a = inputRef.current) == null ? void 0 : _a.value) != null ? _b : restProps.value) != null ? _c : restProps.defaultValue;
503
510
  const {
@@ -506,16 +513,19 @@ const Root = React__default["default"].forwardRef(({ children, size, placeholder
506
513
  valid: formFieldValid
507
514
  } = designSystemBaseForm.useFormFieldContext();
508
515
  const floatingLabel = placeholder !== void 0 || inputValue !== void 0 && inputValue !== "" || focused;
516
+ const useFloatingLabel = shouldUseFloatingLabel && role !== "combobox";
509
517
  const valid = formFieldValid != null ? formFieldValid : inputValid;
510
518
  const showValidityIcon = !designSystemUtils.booleanify(readOnly) && !ariaDisabledOrDisabled && !hovered && !focused && valid !== void 0;
511
519
  const ValidIcon = valid === true ? StyledIconCheckMark : StyledIconExclamationPointCircle;
512
520
  return /* @__PURE__ */ jsxRuntime.jsxs(
513
521
  StyledBaseInput,
514
522
  {
515
- ...utils.mergeProps(restProps, hoverProps, pressProps),
523
+ ...utils.mergeProps(restProps, hoverProps, pressProps, {
524
+ onMouseDown
525
+ }),
516
526
  "data-invalid": designSystemUtils.booleanishAttrValue(valid === false),
517
527
  "data-valid": designSystemUtils.booleanishAttrValue(valid === true),
518
- "data-form-element": "input",
528
+ "data-form-element": role !== "combobox" ? "input" : void 0,
519
529
  ref: designSystemUtils.mergeRefs([ref, forwardRef]),
520
530
  size,
521
531
  hovered,
@@ -525,7 +535,7 @@ const Root = React__default["default"].forwardRef(({ children, size, placeholder
525
535
  ariaDisabled: designSystemUtils.booleanify(ariaDisabled),
526
536
  readOnly: designSystemUtils.booleanify(readOnly),
527
537
  children: [
528
- shouldUseFloatingLabel && /* @__PURE__ */ jsxRuntime.jsx(
538
+ useFloatingLabel && /* @__PURE__ */ jsxRuntime.jsx(
529
539
  designSystemBaseForm.FloatingLabel,
530
540
  {
531
541
  floating: floatingLabel,
@@ -534,7 +544,7 @@ const Root = React__default["default"].forwardRef(({ children, size, placeholder
534
544
  {
535
545
  transform: "translate(calc($sizes$icon-200 + $space$50 - 1px), -1px)"
536
546
  }
537
- ) : { transform: "translate(-1px, -1px)" },
547
+ ) : floatingLabel ? { transform: "translateY(calc(-50% - 1px))" } : void 0,
538
548
  size,
539
549
  children: label
540
550
  }
@@ -603,6 +613,7 @@ const useBaseInputProps = (allProps) => {
603
613
  placeholder,
604
614
  value,
605
615
  defaultValue,
616
+ role,
606
617
  ...restProps
607
618
  } = allProps;
608
619
  const baseInputProps = {
@@ -616,12 +627,14 @@ const useBaseInputProps = (allProps) => {
616
627
  css,
617
628
  placeholder,
618
629
  value,
619
- defaultValue
630
+ defaultValue,
631
+ role
620
632
  };
621
633
  const inputProps = {
622
634
  placeholder,
623
635
  value,
624
- defaultValue
636
+ defaultValue,
637
+ role
625
638
  };
626
639
  Object.entries(restProps).forEach(([key, value2]) => {
627
640
  if (baseInputAllowedEvents.includes(key)) {
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sources":["../src/partials/icon-slot.styled.tsx","../src/hooks/use-input-context.tsx","../src/partials/icon-slot.tsx","../src/partials/action-button.styled.tsx","../src/partials/action-button.tsx","../src/clear-action.tsx","../src/base-input.styled.tsx","../src/partials/input.styled.tsx","../src/partials/input.tsx","../src/base-input.tsx","../src/hooks/use-base-input-props.ts","../src/input.tsx","../src/input-password.tsx","../src/input-email.tsx","../src/input-search.tsx"],"sourcesContent":["import { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\n\nexport const StyledIconSlot = styled(Primitive.div, {\n order: 1,\n alignContent: 'center',\n display: 'flex',\n justifyContent: 'center',\n color: '$icon-neutrals-subtle',\n\n '& svg, & img': {\n pointerEvents: 'none',\n },\n\n variants: {\n disabled: {\n true: {\n '& svg': {\n color: '$icon-neutrals-disabled',\n },\n },\n },\n },\n})\n\nexport type StyledIconSlotProps = ComponentPropsWithRef<typeof StyledIconSlot>\n","import React, { createContext, useContext, useState, useRef } from 'react'\nimport type { PropsWithChildren } from 'react'\nimport { booleanify } from '@mirohq/design-system-utils'\nimport type { FormElementProps } from '@mirohq/design-system-base-form'\n\ninterface InputProps extends FormElementProps {}\n\ninterface InputContextProps extends InputProps {\n focused: boolean\n setFocused: React.Dispatch<React.SetStateAction<boolean>>\n hovered: boolean\n setHovered: React.Dispatch<React.SetStateAction<boolean>>\n hasIconSlot: boolean\n setHasIconSlot: React.Dispatch<React.SetStateAction<boolean>>\n actionButtonRef: React.RefObject<HTMLAnchorElement | HTMLButtonElement>\n inputRef: React.RefObject<HTMLInputElement>\n editable: boolean\n}\n\nexport type InputProviderProps = FormElementProps\n\nconst InputContext = createContext<InputContextProps>({} as any)\n\nexport const InputProvider = ({\n children,\n disabled,\n 'aria-disabled': ariaDisabled,\n readOnly,\n required,\n valid,\n ...restProps\n}: PropsWithChildren<InputProviderProps>): JSX.Element => {\n const actionButtonRef = useRef<HTMLAnchorElement | HTMLButtonElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n const [focused, setFocused] = useState(false)\n const [hovered, setHovered] = useState(false)\n const [hasIconSlot, setHasIconSlot] = useState(false)\n const editable =\n !booleanify(disabled) && !booleanify(ariaDisabled) && !booleanify(readOnly)\n\n return (\n <InputContext.Provider\n value={{\n ...restProps,\n setFocused,\n setHovered,\n setHasIconSlot,\n hasIconSlot,\n hovered,\n focused,\n disabled,\n 'aria-disabled': ariaDisabled,\n readOnly,\n editable,\n inputRef,\n actionButtonRef,\n required,\n valid,\n }}\n >\n {children}\n </InputContext.Provider>\n )\n}\n\nexport const useInputContext = (): InputContextProps => useContext(InputContext)\n","import React from 'react'\nimport { addPropsToChildren, booleanify } from '@mirohq/design-system-utils'\nimport { isIconComponent } from '@mirohq/design-system-base-icon'\nimport type { ElementRef } from 'react'\nimport { useLayoutEffect } from '@mirohq/design-system-use-layout-effect'\n\nimport { StyledIconSlot } from './icon-slot.styled'\nimport { useInputContext } from '../hooks/use-input-context'\nimport type { StyledIconSlotProps } from './icon-slot.styled'\n\nexport interface IconSlotProps extends StyledIconSlotProps {}\n\nexport const IconSlot = React.forwardRef<\n ElementRef<typeof StyledIconSlot>,\n StyledIconSlotProps\n>(({ children, ...restProps }, forwardRef) => {\n const {\n 'aria-disabled': ariaDisabled,\n disabled,\n setHasIconSlot,\n } = useInputContext()\n const formattedChildren = addPropsToChildren(children, isIconComponent, {\n size: 'small',\n weight: 'thin',\n 'aria-hidden': true,\n })\n\n useLayoutEffect(() => {\n setHasIconSlot(true)\n return () => setHasIconSlot(false)\n }, [setHasIconSlot])\n\n return (\n <StyledIconSlot\n {...restProps}\n disabled={booleanify(disabled ?? ariaDisabled)}\n ref={forwardRef}\n >\n {formattedChildren}\n </StyledIconSlot>\n )\n})\n\nIconSlot.displayName = 'IconSlot'\n","import { styled } from '@mirohq/design-system-stitches'\nimport { BaseButton } from '@mirohq/design-system-base-button'\nimport { focus } from '@mirohq/design-system-styles'\nimport type { ComponentPropsWithRef } from 'react'\n\nexport const StyledActionButton = styled(BaseButton, {\n backgroundColor: 'transparent',\n color: '$icon-neutrals-subtle',\n display: 'flex',\n justifyContent: 'center',\n order: 3,\n padding: '6px',\n square: '$7',\n\n '& svg:not([data-icon-component]), & img:not([data-icon-component])': {\n square: '$icon-200',\n '--svg-stroke-width': '$stroke-width$thin',\n },\n\n ...focus.css({\n boxShadow: '$focus-small',\n }),\n\n '&:hover': {\n backgroundColor: '$background-neutrals-subtle-hover',\n },\n\n '&:active, &[data-pressed]': {\n backgroundColor: '$background-neutrals-subtle-active',\n },\n\n variants: {\n readOnlyAppearance: {\n true: {\n '& svg[data-icon-component], & img[data-icon-component]': {\n color: '$icon-neutrals-subtle',\n },\n },\n },\n disableAppearance: {\n true: {\n color: '$icon-neutrals-disabled',\n },\n },\n },\n})\n\nexport type StyledActionButtonProps = ComponentPropsWithRef<\n typeof StyledActionButton\n>\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport {\n mergeRefs,\n booleanify,\n addPropsToChildren,\n} from '@mirohq/design-system-utils'\nimport { Tooltip } from '@mirohq/design-system-tooltip'\nimport { isIconComponent } from '@mirohq/design-system-base-icon'\n\nimport { StyledActionButton } from './action-button.styled'\nimport type { StyledActionButtonProps } from './action-button.styled'\nimport { useInputContext } from '../hooks/use-input-context'\n\nexport type ActionButtonProps = StyledActionButtonProps & {\n label: string\n}\n\nexport const ActionButton = React.forwardRef<\n ElementRef<typeof StyledActionButton>,\n ActionButtonProps\n>(({ 'aria-label': ariaLabel, label, children, ...restProps }, forwardRef) => {\n const {\n valid,\n hovered,\n editable,\n 'aria-disabled': ariaDisabled,\n disabled,\n readOnly,\n actionButtonRef,\n } = useInputContext()\n\n const showInputSlot = valid === undefined || booleanify(hovered)\n\n let formattedChildren = children\n\n formattedChildren = addPropsToChildren(children, isIconComponent, {\n 'aria-hidden': true,\n })\n\n const hasPressEvent = Object.keys(restProps).some(key =>\n key.startsWith('onPress')\n )\n const customDisabled = restProps.disabled\n\n return (\n <>\n {showInputSlot && (\n <Tooltip>\n <Tooltip.Trigger asChild>\n <StyledActionButton\n type='button'\n {...restProps}\n aria-label={ariaLabel ?? label}\n disabled={\n hasPressEvent ? customDisabled : customDisabled ?? !editable\n }\n disableAppearance={\n hasPressEvent\n ? !booleanify(readOnly) && customDisabled\n : booleanify(disabled ?? ariaDisabled)\n }\n readOnlyAppearance={readOnly}\n ref={mergeRefs([forwardRef, actionButtonRef])}\n >\n {formattedChildren}\n </StyledActionButton>\n </Tooltip.Trigger>\n <Tooltip.Content>{label}</Tooltip.Content>\n </Tooltip>\n )}\n </>\n )\n})\n","import { IconCross } from '@mirohq/design-system-icons'\nimport { booleanify } from '@mirohq/design-system-utils'\n\nimport { ActionButton } from './partials/action-button'\nimport { useInputContext } from './hooks/use-input-context'\nimport type { ClearProps } from './types'\n\nexport type ClearActionProps = ClearProps\n\nexport const ClearAction = ({\n clearable,\n clearLabel,\n onClear,\n value,\n}: ClearActionProps): JSX.Element => {\n const {\n disabled,\n 'aria-disabled': ariaDisabled,\n readOnly,\n inputRef,\n } = useInputContext()\n\n if (!clearable) return <></>\n\n return (\n <ActionButton\n label={clearLabel}\n disabled={booleanify(disabled ?? ariaDisabled ?? readOnly)}\n onPress={() => {\n onClear?.(value ?? inputRef.current?.value)\n\n if (value === undefined && inputRef.current !== null) {\n inputRef.current.value = ''\n }\n }}\n >\n <IconCross />\n </ActionButton>\n )\n}\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { styles as baseInputStyles } from '@mirohq/design-system-base-input'\nimport type { ComponentPropsWithRef } from 'react'\nimport {\n IconExclamationPointCircle,\n IconCheckMark,\n} from '@mirohq/design-system-icons'\n\nimport { StyledIconSlot } from './partials/icon-slot.styled'\nimport { StyledActionButton } from './partials/action-button.styled'\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 StyledValidityBox = styled(Primitive.div, {\n order: 3,\n display: 'flex',\n alignItems: 'center',\n padding: '6px',\n})\n\nexport const StyledBaseInput = styled('div', {\n position: 'relative',\n alignItems: 'center',\n display: 'inline-flex',\n height: 'max-content',\n boxSizing: 'border-box',\n width: '100%',\n ...baseInputStyles.variants.idle,\n\n variants: {\n hovered: {\n true: {},\n false: {},\n },\n focused: {\n true: baseInputStyles.variants.focused,\n false: {},\n },\n valid: {\n true: {},\n false: {},\n },\n readOnly: {\n true: baseInputStyles.variants.readOnly,\n false: {},\n },\n disabled: {\n true: baseInputStyles.variants.disabled,\n false: {},\n },\n ariaDisabled: {\n true: baseInputStyles.variants.disabled,\n false: {},\n },\n size: {\n large: {\n height: '$10',\n padding: '0 $100 ',\n [`& ${StyledIconSlot}`]: {\n paddingRight: '$50',\n },\n [`& ${StyledActionButton}, & ${StyledValidityBox}`]: {\n marginLeft: '$50',\n },\n [`& ${StyledValidityBox}`]: {\n paddingRight: '6px',\n },\n },\n 'x-large': {\n height: '$12',\n padding: '0 $150',\n [`& ${StyledIconSlot}`]: {\n paddingRight: '$100',\n },\n [`& ${StyledActionButton}, & ${StyledValidityBox}`]: {\n marginLeft: '$100',\n },\n [`& ${StyledValidityBox}`]: {\n paddingRight: '6px',\n },\n },\n },\n },\n compoundVariants: [\n /** Idle states */\n {\n valid: false,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: baseInputStyles.variants.invalid.idle,\n },\n {\n valid: true,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: baseInputStyles.variants.valid.idle,\n },\n /** Focus States */\n {\n focused: true,\n readOnly: false,\n css: {\n borderColor: baseInputStyles.variants.focused.borderColor,\n },\n },\n {\n focused: true,\n readOnly: false,\n valid: false,\n disabled: false,\n ariaDisabled: false,\n css: baseInputStyles.variants.invalid.focused,\n },\n {\n focused: true,\n readOnly: false,\n valid: true,\n disabled: false,\n ariaDisabled: false,\n css: baseInputStyles.variants.valid.focused,\n },\n /** Hover states */\n {\n hovered: true,\n disabled: false,\n ariaDisabled: false,\n readOnly: false,\n css: baseInputStyles.variants.hovered,\n },\n {\n hovered: true,\n focused: false,\n valid: false,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: baseInputStyles.variants.invalid.hovered,\n },\n {\n hovered: true,\n focused: false,\n valid: true,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: baseInputStyles.variants.valid.hovered,\n },\n ],\n defaultVariants: {\n size: 'large',\n },\n})\n\nexport type StyledBaseInputProps = ComponentPropsWithRef<typeof StyledBaseInput>\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\nimport { styles as baseInputStyles } from '@mirohq/design-system-base-input'\n\nconst disabledAndReadonlySelectors =\n ':read-only, :disabled, [aria-disabled=\"true\"], [data-disabled]'\n\nexport const StyledInput = styled(Primitive.input, {\n all: 'unset',\n background: 'transparent',\n color: '$text-neutrals',\n width: '100%',\n borderRadius: '$50',\n order: 2,\n padding: '0 $50',\n height: '100%',\n\n '&::placeholder': {\n fontStyle: 'italic',\n },\n\n [`&:not(${disabledAndReadonlySelectors})::placeholder`]:\n baseInputStyles.base.placeholder,\n\n '&:read-only': {\n color: baseInputStyles.variants.readOnly.color,\n },\n\n '&:disabled, &[aria-disabled=true], &[data-disabled]':\n baseInputStyles.base.disabled,\n})\n\nexport type StyledInputProps = ComponentPropsWithRef<typeof StyledInput>\n","import React, { useEffect } from 'react'\nimport type { ElementRef } from 'react'\nimport { stringAttrValue, mergeRefs } from '@mirohq/design-system-utils'\nimport { useAriaDisabled } from '@mirohq/design-system-use-aria-disabled'\nimport { useFormFieldContext } from '@mirohq/design-system-base-form'\n\nimport { StyledInput } from './input.styled'\nimport type { StyledInputProps } from './input.styled'\nimport { useInputContext } from '../hooks/use-input-context'\n\nexport interface InputProps extends StyledInputProps {}\n\nexport const Input = React.forwardRef<\n ElementRef<typeof StyledInput>,\n InputProps\n>(\n (\n {\n id,\n 'aria-describedby': ariaDescribedBy,\n 'aria-invalid': ariaInvalid,\n ...restProps\n },\n forwardRef\n ) => {\n const {\n 'aria-disabled': ariaDisabled,\n disabled,\n setFocused,\n inputRef,\n required,\n readOnly,\n } = useInputContext()\n const {\n formElementId,\n ariaDescribedBy: formFieldContextDescribedBy,\n ariaInvalid: formFieldAriaInvalid,\n formElementRef,\n setRequired,\n setReadOnly,\n setDisabled,\n setAriaDisabled,\n } = useFormFieldContext<HTMLInputElement>()\n\n const { onBlur, onFocus, ...elementProps } = useAriaDisabled({\n ...restProps,\n ariaDisabled,\n })\n\n useEffect(() => {\n setRequired?.(required)\n setReadOnly?.(readOnly)\n setDisabled?.(disabled)\n setAriaDisabled?.(ariaDisabled)\n }, [\n disabled,\n ariaDisabled,\n readOnly,\n required,\n ariaInvalid,\n setRequired,\n setReadOnly,\n setDisabled,\n setAriaDisabled,\n ])\n\n const onFocusHandler = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setFocused(true)\n onFocus?.(e)\n },\n [setFocused, onFocus]\n )\n const onBlurHandler = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setFocused(false)\n onBlur?.(e)\n },\n [setFocused, onBlur]\n )\n\n return (\n <StyledInput\n {...elementProps}\n id={id ?? formElementId}\n readOnly={readOnly}\n aria-describedby={stringAttrValue(\n ariaDescribedBy,\n formFieldContextDescribedBy\n )}\n aria-invalid={ariaInvalid ?? formFieldAriaInvalid}\n disabled={disabled === true || undefined}\n required={required === true || undefined}\n onFocus={onFocusHandler}\n onBlur={onBlurHandler}\n ref={mergeRefs([inputRef, formElementRef, forwardRef])}\n />\n )\n }\n)\n","import React, { useRef } from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from '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 { usePress } from '@mirohq/design-system-use-press'\nimport { useHover } from '@react-aria/interactions'\nimport { mergeProps } from '@react-aria/utils'\n\nimport {\n StyledBaseInput,\n StyledValidityBox,\n StyledIconExclamationPointCircle,\n StyledIconCheckMark,\n} from './base-input.styled'\nimport { Input } from './partials/input'\nimport { InputProvider, useInputContext } from './hooks/use-input-context'\nimport type { BaseInputProps } from './hooks/use-base-input-props'\n\ntype BaseInputRootProps = Omit<\n BaseInputProps,\n // these props come from useInputContext, we don't pass it to BaseInput directly\n 'focused' | 'valid' | 'readOnly' | 'disabled' | 'ariaDisabled'\n>\n\nconst Root = React.forwardRef<\n ElementRef<typeof StyledBaseInput>,\n BaseInputRootProps\n>(({ children, size, placeholder, ...restProps }, forwardRef) => {\n const ref = useRef<HTMLDivElement>(null)\n const {\n valid: inputValid,\n 'aria-disabled': ariaDisabled,\n disabled,\n readOnly,\n focused,\n setHovered,\n inputRef,\n actionButtonRef,\n setFocused,\n hasIconSlot,\n } = useInputContext()\n const { hoverProps, isHovered: hovered } = useHover({\n onHoverChange: setHovered,\n })\n\n const { pressProps } = usePress({\n onPressStart: e => {\n const { target } = e.originalEvent as PointerEvent\n\n const shouldFocusInput = target !== actionButtonRef.current\n\n if (shouldFocusInput) {\n inputRef.current?.focus()\n setFocused(true)\n }\n },\n preventFocusOnPress: 'auto',\n })\n\n const ariaDisabledOrDisabled =\n booleanify(ariaDisabled) || booleanify(disabled)\n const inputValue =\n inputRef.current?.value ?? restProps.value ?? restProps.defaultValue\n\n // label\n const {\n label,\n shouldUseFloatingLabel,\n valid: formFieldValid,\n } = useFormFieldContext()\n const floatingLabel =\n placeholder !== undefined ||\n (inputValue !== undefined && inputValue !== '') ||\n focused\n\n // validity\n const valid = formFieldValid ?? inputValid\n const showValidityIcon =\n !booleanify(readOnly) &&\n !ariaDisabledOrDisabled &&\n !hovered &&\n !focused &&\n valid !== undefined\n const ValidIcon =\n valid === true ? StyledIconCheckMark : StyledIconExclamationPointCircle\n\n return (\n <StyledBaseInput\n {...mergeProps(restProps, hoverProps, pressProps)}\n data-invalid={booleanishAttrValue(valid === false)}\n data-valid={booleanishAttrValue(valid === true)}\n data-form-element='input'\n ref={mergeRefs([ref, forwardRef])}\n size={size}\n hovered={hovered}\n focused={focused}\n valid={valid}\n disabled={booleanify(disabled)}\n ariaDisabled={booleanify(ariaDisabled)}\n readOnly={booleanify(readOnly)}\n >\n {shouldUseFloatingLabel && (\n <FloatingLabel\n floating={floatingLabel}\n css={\n !floatingLabel && hasIconSlot\n ? // icon size + input padding\n {\n transform: `translate(calc($sizes$icon-200 + $space$50 - 1px), -1px)`,\n }\n : { transform: 'translate(-1px, -1px)' }\n }\n size={size}\n >\n {label}\n </FloatingLabel>\n )}\n {children}\n {showValidityIcon && (\n <StyledValidityBox>\n <ValidIcon size='small' weight='thin' />\n </StyledValidityBox>\n )}\n </StyledBaseInput>\n )\n})\n\nexport const BaseInput = React.forwardRef<\n ElementRef<typeof StyledBaseInput>,\n BaseInputProps\n>(\n (\n {\n 'aria-disabled': ariaDisabled,\n disabled,\n valid,\n readOnly,\n required,\n ...restProps\n },\n forwardRef\n ) => (\n <InputProvider\n valid={valid}\n disabled={disabled}\n aria-disabled={ariaDisabled}\n readOnly={readOnly}\n required={required}\n >\n <Root {...restProps} ref={forwardRef} />\n </InputProvider>\n )\n) as ForwardRefExoticComponent<BaseInputProps> & Partials\n\n// Partials\n// -----------------------------------------------------------------------------\nexport interface Partials {\n Input: typeof Input\n}\n\nBaseInput.Input = Input\n","import type { InputHTMLAttributes, ReactNode } from 'react'\nimport type { CSS } from '@mirohq/design-system-stitches'\n\nimport type { InputProps } from '../partials/input'\nimport type { StyledBaseInputProps } from '../base-input.styled'\nimport type { InputProviderProps } from './use-input-context'\n\nconst baseInputAllowedEvents = [\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseMoveCapture',\n 'onMouseOut',\n 'onMouseOutCapture',\n 'onMouseOver',\n 'onMouseOverCapture',\n 'onPointerEnter',\n 'onPointerEnterCapture',\n 'onPointerLeave',\n 'onPointerLeaveCapture',\n 'onPointerMove',\n 'onPointerMoveCapture',\n 'onPointerOut',\n 'onPointerOutCapture',\n 'onPointerOver',\n 'onPointerOverCapture',\n 'onTouchMove',\n 'onTouchMoveCapture',\n] as const\n\ntype BaseInputAllowedEventsKeys = typeof baseInputAllowedEvents[number]\n\ntype BaseInputEventProps = Pick<\n InputHTMLAttributes<HTMLInputElement>,\n BaseInputAllowedEventsKeys\n>\n\nexport type BaseInputProps = InputProviderProps &\n BaseInputEventProps &\n Pick<\n InputHTMLAttributes<HTMLInputElement>,\n 'value' | 'defaultValue' | 'placeholder'\n > & {\n size?: StyledBaseInputProps['size']\n\n children?: ReactNode\n\n // to pass down className generated by Stitches.styled when providing Input as an element\n className?: string\n css?: CSS\n }\n\nexport const useBaseInputProps = (\n allProps: Omit<BaseInputProps & Omit<InputProps, 'size'>, 'children'>\n): {\n baseInputProps: BaseInputProps\n inputProps: InputProps\n} => {\n const {\n valid,\n 'aria-disabled': ariaDisabled,\n readOnly,\n required,\n disabled,\n size,\n className,\n css,\n\n // shared props\n placeholder,\n value,\n defaultValue,\n\n ...restProps\n } = allProps\n\n const baseInputProps: BaseInputProps = {\n valid,\n 'aria-disabled': ariaDisabled,\n readOnly,\n required,\n disabled,\n size,\n className,\n css,\n placeholder,\n value,\n defaultValue,\n }\n\n const inputProps: InputProps = {\n placeholder,\n value,\n defaultValue,\n }\n\n Object.entries(restProps).forEach(([key, value]) => {\n if (baseInputAllowedEvents.includes(key as any)) {\n baseInputProps[key as BaseInputAllowedEventsKeys] = value\n } else {\n inputProps[key as keyof InputProps] = value\n }\n })\n\n return { baseInputProps, inputProps }\n}\n","import React from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\n\nimport { IconSlot } from './partials/icon-slot'\nimport { ActionButton } from './partials/action-button'\nimport { ClearAction } from './clear-action'\nimport { BaseInput } from './base-input'\nimport type { ClearableInputProps, ClearProps } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\n\nexport type InputProps = ClearableInputProps\n\nexport const Input = React.forwardRef<ElementRef<'input'>, InputProps>(\n ({ children, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClear,\n clearLabel,\n ...elementProps\n } = restProps as ClearProps\n\n const { baseInputProps, inputProps } = useBaseInputProps(elementProps)\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input {...inputProps} ref={forwardRef} />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClear={onClear}\n value={inputProps.value}\n />\n </BaseInput>\n )\n }\n) as ForwardRefExoticComponent<InputProps> & Partials\n\nexport interface Partials {\n ActionButton: typeof ActionButton\n IconSlot: typeof IconSlot\n}\n\nInput.ActionButton = ActionButton\nInput.IconSlot = IconSlot\n","import React, { useState, useRef } from 'react'\nimport {\n IconEyeOpen,\n IconEyeClosed,\n IconLockClosed,\n} from '@mirohq/design-system-icons'\nimport { mergeRefs } from '@mirohq/design-system-utils'\nimport type { ElementRef } from 'react'\n\nimport { BaseInput } from './base-input'\nimport { ActionButton } from './partials/action-button'\nimport { IconSlot } from './partials/icon-slot'\nimport type { InputSharedProps, Value } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\n\nexport interface InputPasswordProps extends Omit<InputSharedProps, 'type'> {\n /**\n * A boolean for the default password state (visible or masked).\n */\n defaultReveal?: boolean\n\n /**\n * Indicates whether the password should be revealed (visible) or hidden (masked).\n */\n reveal?: boolean\n\n /**\n * Callback function to be called when the password is revealed.\n */\n onReveal?: (value: Value) => void\n\n /**\n * Callback function to be called when the password is hidden (masked).\n */\n onHide?: (value: Value) => void\n\n /**\n * Tooltip label text for the action to reveal the password.\n */\n revealLabel: string\n\n /**\n * Tooltip label text for the action to hide (mask) the password.\n */\n hideLabel: string\n}\n\nexport const InputPassword = React.forwardRef<\n ElementRef<'input'>,\n InputPasswordProps\n>(\n (\n {\n reveal,\n defaultReveal,\n onReveal,\n onHide,\n hideLabel,\n revealLabel,\n children,\n ...restProps\n },\n forwardRef\n ) => {\n const inputRef = useRef<HTMLInputElement>(null)\n const [revealState, setRevealState] = useState(defaultReveal ?? false)\n const revealInternal = reveal ?? revealState\n\n const { baseInputProps, inputProps } = useBaseInputProps(restProps)\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input\n {...inputProps}\n type={revealInternal ? 'text' : 'password'}\n ref={mergeRefs([inputRef, forwardRef])}\n />\n {children}\n <IconSlot>\n <IconLockClosed />\n </IconSlot>\n <ActionButton\n label={revealInternal ? hideLabel : revealLabel}\n disabled={false}\n onPress={() => {\n const valueInternal = inputProps.value ?? inputRef.current?.value\n\n if (revealInternal) {\n onHide?.(valueInternal)\n } else {\n onReveal?.(valueInternal)\n }\n\n if (reveal === undefined) {\n setRevealState(reveal => !reveal)\n }\n }}\n >\n {revealInternal ? <IconEyeOpen /> : <IconEyeClosed />}\n </ActionButton>\n </BaseInput>\n )\n }\n)\n","import React from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\nimport { IconEnvelope } from '@mirohq/design-system-icons'\n\nimport { IconSlot } from './partials/icon-slot'\nimport { ActionButton } from './partials/action-button'\nimport { BaseInput } from './base-input'\nimport { ClearAction } from './clear-action'\nimport type { ClearableInputProps, ClearProps } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\n\nexport type InputEmailProps = ClearableInputProps\n\nexport const InputEmail = React.forwardRef<\n ElementRef<'input'>,\n InputEmailProps\n>(({ children, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClear,\n clearLabel,\n ...elementProps\n } = restProps as ClearProps\n\n const { baseInputProps, inputProps } = useBaseInputProps(elementProps)\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input type='email' {...inputProps} ref={forwardRef} />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClear={onClear}\n value={inputProps.value}\n />\n <IconSlot>\n <IconEnvelope />\n </IconSlot>\n </BaseInput>\n )\n}) as ForwardRefExoticComponent<InputEmailProps> & Partials\n\nexport interface Partials {\n ActionButton: typeof ActionButton\n}\n\nInputEmail.ActionButton = ActionButton\n","import React from 'react'\nimport { IconMagnifyingGlass } from '@mirohq/design-system-icons'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\n\nimport { IconSlot } from './partials/icon-slot'\nimport { ActionButton } from './partials/action-button'\nimport { BaseInput } from './base-input'\nimport { ClearAction } from './clear-action'\nimport type { ClearableInputProps, ClearProps } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\n\nexport type InputSearchProps = ClearableInputProps\n\nexport const InputSearch = React.forwardRef<\n ElementRef<'input'>,\n InputSearchProps\n>(({ children, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClear,\n clearLabel,\n ...elementProps\n } = restProps as ClearProps\n\n const { baseInputProps, inputProps } = useBaseInputProps(elementProps)\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input {...inputProps} ref={forwardRef} />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClear={onClear}\n value={inputProps.value}\n />\n <IconSlot>\n <IconMagnifyingGlass />\n </IconSlot>\n </BaseInput>\n )\n}) as ForwardRefExoticComponent<InputSearchProps> & Partials\n\nexport interface Partials {\n ActionButton: typeof ActionButton\n}\n\nInputSearch.ActionButton = ActionButton\n"],"names":["styled","Primitive","createContext","useRef","useState","booleanify","jsx","useContext","React","addPropsToChildren","isIconComponent","useLayoutEffect","BaseButton","focus","Fragment","jsxs","Tooltip","mergeRefs","_a","IconCross","IconExclamationPointCircle","IconCheckMark","baseInputStyles","Input","useFormFieldContext","useAriaDisabled","useEffect","stringAttrValue","useHover","usePress","mergeProps","booleanishAttrValue","FloatingLabel","value","IconLockClosed","reveal","IconEyeOpen","IconEyeClosed","IconEnvelope","IconMagnifyingGlass"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIa,MAAA,cAAA,GAAiBA,2BAAO,CAAAC,+BAAA,CAAU,GAAK,EAAA;AAAA,EAClD,KAAO,EAAA,CAAA;AAAA,EACP,YAAc,EAAA,QAAA;AAAA,EACd,OAAS,EAAA,MAAA;AAAA,EACT,cAAgB,EAAA,QAAA;AAAA,EAChB,KAAO,EAAA,uBAAA;AAAA,EAEP,cAAgB,EAAA;AAAA,IACd,aAAe,EAAA,MAAA;AAAA,GACjB;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,QAAU,EAAA;AAAA,MACR,IAAM,EAAA;AAAA,QACJ,OAAS,EAAA;AAAA,UACP,KAAO,EAAA,yBAAA;AAAA,SACT;AAAA,OACF;AAAA,KACF;AAAA,GACF;AACF,CAAC,CAAA;;ACHD,MAAM,YAAA,GAAeC,mBAAiC,CAAA,EAAS,CAAA,CAAA;AAExD,MAAM,gBAAgB,CAAC;AAAA,EAC5B,QAAA;AAAA,EACA,QAAA;AAAA,EACA,eAAiB,EAAA,YAAA;AAAA,EACjB,QAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG,SAAA;AACL,CAA0D,KAAA;AACxD,EAAM,MAAA,eAAA,GAAkBC,aAA8C,IAAI,CAAA,CAAA;AAC1E,EAAM,MAAA,QAAA,GAAWA,aAAyB,IAAI,CAAA,CAAA;AAC9C,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIC,eAAS,KAAK,CAAA,CAAA;AAC5C,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIA,eAAS,KAAK,CAAA,CAAA;AAC5C,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAIA,eAAS,KAAK,CAAA,CAAA;AACpD,EAAM,MAAA,QAAA,GACJ,CAACC,4BAAA,CAAW,QAAQ,CAAA,IAAK,CAACA,4BAAA,CAAW,YAAY,CAAA,IAAK,CAACA,4BAAA,CAAW,QAAQ,CAAA,CAAA;AAE5E,EACE,uBAAAC,cAAA;AAAA,IAAC,YAAa,CAAA,QAAA;AAAA,IAAb;AAAA,MACC,KAAO,EAAA;AAAA,QACL,GAAG,SAAA;AAAA,QACH,UAAA;AAAA,QACA,UAAA;AAAA,QACA,cAAA;AAAA,QACA,WAAA;AAAA,QACA,OAAA;AAAA,QACA,OAAA;AAAA,QACA,QAAA;AAAA,QACA,eAAiB,EAAA,YAAA;AAAA,QACjB,QAAA;AAAA,QACA,QAAA;AAAA,QACA,QAAA;AAAA,QACA,eAAA;AAAA,QACA,QAAA;AAAA,QACA,KAAA;AAAA,OACF;AAAA,MAEC,QAAA;AAAA,KAAA;AAAA,GACH,CAAA;AAEJ,CAAA,CAAA;AAEa,MAAA,eAAA,GAAkB,MAAyBC,gBAAA,CAAW,YAAY,CAAA;;ACrDlE,MAAA,QAAA,GAAWC,0BAAM,UAG5B,CAAA,CAAC,EAAE,QAAU,EAAA,GAAG,SAAU,EAAA,EAAG,UAAe,KAAA;AAC5C,EAAM,MAAA;AAAA,IACJ,eAAiB,EAAA,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,cAAA;AAAA,MACE,eAAgB,EAAA,CAAA;AACpB,EAAM,MAAA,iBAAA,GAAoBC,oCAAmB,CAAA,QAAA,EAAUC,oCAAiB,EAAA;AAAA,IACtE,IAAM,EAAA,OAAA;AAAA,IACN,MAAQ,EAAA,MAAA;AAAA,IACR,aAAe,EAAA,IAAA;AAAA,GAChB,CAAA,CAAA;AAED,EAAAC,2CAAA,CAAgB,MAAM;AACpB,IAAA,cAAA,CAAe,IAAI,CAAA,CAAA;AACnB,IAAO,OAAA,MAAM,eAAe,KAAK,CAAA,CAAA;AAAA,GACnC,EAAG,CAAC,cAAc,CAAC,CAAA,CAAA;AAEnB,EACE,uBAAAL,cAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACE,GAAG,SAAA;AAAA,MACJ,QAAA,EAAUD,4BAAW,CAAA,QAAA,IAAA,IAAA,GAAA,QAAA,GAAY,YAAY,CAAA;AAAA,MAC7C,GAAK,EAAA,UAAA;AAAA,MAEJ,QAAA,EAAA,iBAAA;AAAA,KAAA;AAAA,GACH,CAAA;AAEJ,CAAC,CAAA,CAAA;AAED,QAAA,CAAS,WAAc,GAAA,UAAA;;ACtCV,MAAA,kBAAA,GAAqBL,4BAAOY,iCAAY,EAAA;AAAA,EACnD,eAAiB,EAAA,aAAA;AAAA,EACjB,KAAO,EAAA,uBAAA;AAAA,EACP,OAAS,EAAA,MAAA;AAAA,EACT,cAAgB,EAAA,QAAA;AAAA,EAChB,KAAO,EAAA,CAAA;AAAA,EACP,OAAS,EAAA,KAAA;AAAA,EACT,MAAQ,EAAA,IAAA;AAAA,EAER,oEAAsE,EAAA;AAAA,IACpE,MAAQ,EAAA,WAAA;AAAA,IACR,oBAAsB,EAAA,oBAAA;AAAA,GACxB;AAAA,EAEA,GAAGC,yBAAM,GAAI,CAAA;AAAA,IACX,SAAW,EAAA,cAAA;AAAA,GACZ,CAAA;AAAA,EAED,SAAW,EAAA;AAAA,IACT,eAAiB,EAAA,mCAAA;AAAA,GACnB;AAAA,EAEA,2BAA6B,EAAA;AAAA,IAC3B,eAAiB,EAAA,oCAAA;AAAA,GACnB;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,kBAAoB,EAAA;AAAA,MAClB,IAAM,EAAA;AAAA,QACJ,wDAA0D,EAAA;AAAA,UACxD,KAAO,EAAA,uBAAA;AAAA,SACT;AAAA,OACF;AAAA,KACF;AAAA,IACA,iBAAmB,EAAA;AAAA,MACjB,IAAM,EAAA;AAAA,QACJ,KAAO,EAAA,yBAAA;AAAA,OACT;AAAA,KACF;AAAA,GACF;AACF,CAAC,CAAA;;AC3BM,MAAM,YAAe,GAAAL,yBAAA,CAAM,UAGhC,CAAA,CAAC,EAAE,YAAA,EAAc,SAAW,EAAA,KAAA,EAAO,QAAU,EAAA,GAAG,SAAU,EAAA,EAAG,UAAe,KAAA;AAC5E,EAAM,MAAA;AAAA,IACJ,KAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,eAAiB,EAAA,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,QAAA;AAAA,IACA,eAAA;AAAA,MACE,eAAgB,EAAA,CAAA;AAEpB,EAAA,MAAM,aAAgB,GAAA,KAAA,KAAU,KAAa,CAAA,IAAAH,4BAAA,CAAW,OAAO,CAAA,CAAA;AAE/D,EAAA,IAAI,iBAAoB,GAAA,QAAA,CAAA;AAExB,EAAoB,iBAAA,GAAAI,oCAAA,CAAmB,UAAUC,oCAAiB,EAAA;AAAA,IAChE,aAAe,EAAA,IAAA;AAAA,GAChB,CAAA,CAAA;AAED,EAAA,MAAM,aAAgB,GAAA,MAAA,CAAO,IAAK,CAAA,SAAS,CAAE,CAAA,IAAA;AAAA,IAAK,CAAA,GAAA,KAChD,GAAI,CAAA,UAAA,CAAW,SAAS,CAAA;AAAA,GAC1B,CAAA;AACA,EAAA,MAAM,iBAAiB,SAAU,CAAA,QAAA,CAAA;AAEjC,EACE,uBAAAJ,cAAA,CAAAQ,mBAAA,EAAA,EACG,QACC,EAAA,aAAA,oBAAAC,eAAA,CAACC,2BACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAAV,cAAA,CAACU,2BAAQ,CAAA,OAAA,EAAR,EAAgB,OAAA,EAAO,IACtB,EAAA,QAAA,kBAAAV,cAAA;AAAA,MAAC,kBAAA;AAAA,MAAA;AAAA,QACC,IAAK,EAAA,QAAA;AAAA,QACJ,GAAG,SAAA;AAAA,QACJ,cAAY,SAAa,IAAA,IAAA,GAAA,SAAA,GAAA,KAAA;AAAA,QACzB,QACE,EAAA,aAAA,GAAgB,cAAiB,GAAA,cAAA,IAAA,IAAA,GAAA,cAAA,GAAkB,CAAC,QAAA;AAAA,QAEtD,iBAAA,EACE,gBACI,CAACD,4BAAA,CAAW,QAAQ,CAAK,IAAA,cAAA,GACzBA,4BAAW,CAAA,QAAA,IAAA,IAAA,GAAA,QAAA,GAAY,YAAY,CAAA;AAAA,QAEzC,kBAAoB,EAAA,QAAA;AAAA,QACpB,GAAK,EAAAY,2BAAA,CAAU,CAAC,UAAA,EAAY,eAAe,CAAC,CAAA;AAAA,QAE3C,QAAA,EAAA,iBAAA;AAAA,OAAA;AAAA,KAEL,EAAA,CAAA;AAAA,oBACCX,cAAA,CAAAU,2BAAA,CAAQ,OAAR,EAAA,EAAiB,QAAM,EAAA,KAAA,EAAA,CAAA;AAAA,GAAA,EAC1B,CAEJ,EAAA,CAAA,CAAA;AAEJ,CAAC,CAAA;;AChEM,MAAM,cAAc,CAAC;AAAA,EAC1B,SAAA;AAAA,EACA,UAAA;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AACF,CAAqC,KAAA;AAdrC,EAAA,IAAA,EAAA,CAAA;AAeE,EAAM,MAAA;AAAA,IACJ,QAAA;AAAA,IACA,eAAiB,EAAA,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,QAAA;AAAA,MACE,eAAgB,EAAA,CAAA;AAEpB,EAAA,IAAI,CAAC,SAAA;AAAW,IAAA,uBAASV,cAAA,CAAAQ,mBAAA,EAAA,EAAA,CAAA,CAAA;AAEzB,EACE,uBAAAR,cAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACC,KAAO,EAAA,UAAA;AAAA,MACP,QAAU,EAAAD,4BAAA,CAAA,CAAW,EAAY,GAAA,QAAA,IAAA,IAAA,GAAA,QAAA,GAAA,YAAA,KAAZ,YAA4B,QAAQ,CAAA;AAAA,MACzD,SAAS,MAAM;AA5BrB,QAAAa,IAAAA,GAAAA,CAAAA;AA6BQ,QAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAU,KAASA,IAAAA,IAAAA,GAAAA,KAAAA,GAAAA,CAAAA,GAAAA,GAAA,QAAS,CAAA,OAAA,KAAT,gBAAAA,GAAkB,CAAA,KAAA,CAAA,CAAA;AAErC,QAAA,IAAI,KAAU,KAAA,KAAA,CAAA,IAAa,QAAS,CAAA,OAAA,KAAY,IAAM,EAAA;AACpD,UAAA,QAAA,CAAS,QAAQ,KAAQ,GAAA,EAAA,CAAA;AAAA,SAC3B;AAAA,OACF;AAAA,MAEA,yCAACC,2BAAU,EAAA,EAAA,CAAA;AAAA,KAAA;AAAA,GACb,CAAA;AAEJ,CAAA;;AC3BO,MAAM,gCAAmC,GAAAnB,2BAAA;AAAA,EAC9CoB,4CAAA;AAAA,EACA;AAAA,IACE,KAAO,EAAA,cAAA;AAAA,GACT;AACF,CAAA,CAAA;AAEa,MAAA,mBAAA,GAAsBpB,4BAAOqB,+BAAe,EAAA;AAAA,EACvD,KAAO,EAAA,eAAA;AACT,CAAC,CAAA,CAAA;AAEY,MAAA,iBAAA,GAAoBrB,2BAAO,CAAAC,+BAAA,CAAU,GAAK,EAAA;AAAA,EACrD,KAAO,EAAA,CAAA;AAAA,EACP,OAAS,EAAA,MAAA;AAAA,EACT,UAAY,EAAA,QAAA;AAAA,EACZ,OAAS,EAAA,KAAA;AACX,CAAC,CAAA,CAAA;AAEY,MAAA,eAAA,GAAkBD,4BAAO,KAAO,EAAA;AAAA,EAC3C,QAAU,EAAA,UAAA;AAAA,EACV,UAAY,EAAA,QAAA;AAAA,EACZ,OAAS,EAAA,aAAA;AAAA,EACT,MAAQ,EAAA,aAAA;AAAA,EACR,SAAW,EAAA,YAAA;AAAA,EACX,KAAO,EAAA,MAAA;AAAA,EACP,GAAGsB,6BAAgB,QAAS,CAAA,IAAA;AAAA,EAE5B,QAAU,EAAA;AAAA,IACR,OAAS,EAAA;AAAA,MACP,MAAM,EAAC;AAAA,MACP,OAAO,EAAC;AAAA,KACV;AAAA,IACA,OAAS,EAAA;AAAA,MACP,IAAA,EAAMA,6BAAgB,QAAS,CAAA,OAAA;AAAA,MAC/B,OAAO,EAAC;AAAA,KACV;AAAA,IACA,KAAO,EAAA;AAAA,MACL,MAAM,EAAC;AAAA,MACP,OAAO,EAAC;AAAA,KACV;AAAA,IACA,QAAU,EAAA;AAAA,MACR,IAAA,EAAMA,6BAAgB,QAAS,CAAA,QAAA;AAAA,MAC/B,OAAO,EAAC;AAAA,KACV;AAAA,IACA,QAAU,EAAA;AAAA,MACR,IAAA,EAAMA,6BAAgB,QAAS,CAAA,QAAA;AAAA,MAC/B,OAAO,EAAC;AAAA,KACV;AAAA,IACA,YAAc,EAAA;AAAA,MACZ,IAAA,EAAMA,6BAAgB,QAAS,CAAA,QAAA;AAAA,MAC/B,OAAO,EAAC;AAAA,KACV;AAAA,IACA,IAAM,EAAA;AAAA,MACJ,KAAO,EAAA;AAAA,QACL,MAAQ,EAAA,KAAA;AAAA,QACR,OAAS,EAAA,SAAA;AAAA,QACT,CAAC,IAAK,CAAA,MAAA,CAAA,cAAA,CAAgB,GAAG;AAAA,UACvB,YAAc,EAAA,KAAA;AAAA,SAChB;AAAA,QACA,CAAC,IAAA,CAAK,MAAkB,CAAA,kBAAA,EAAA,MAAA,CAAA,CAAO,yBAAmB,GAAG;AAAA,UACnD,UAAY,EAAA,KAAA;AAAA,SACd;AAAA,QACA,CAAC,IAAK,CAAA,MAAA,CAAA,iBAAA,CAAmB,GAAG;AAAA,UAC1B,YAAc,EAAA,KAAA;AAAA,SAChB;AAAA,OACF;AAAA,MACA,SAAW,EAAA;AAAA,QACT,MAAQ,EAAA,KAAA;AAAA,QACR,OAAS,EAAA,QAAA;AAAA,QACT,CAAC,IAAK,CAAA,MAAA,CAAA,cAAA,CAAgB,GAAG;AAAA,UACvB,YAAc,EAAA,MAAA;AAAA,SAChB;AAAA,QACA,CAAC,IAAA,CAAK,MAAkB,CAAA,kBAAA,EAAA,MAAA,CAAA,CAAO,yBAAmB,GAAG;AAAA,UACnD,UAAY,EAAA,MAAA;AAAA,SACd;AAAA,QACA,CAAC,IAAK,CAAA,MAAA,CAAA,iBAAA,CAAmB,GAAG;AAAA,UAC1B,YAAc,EAAA,KAAA;AAAA,SAChB;AAAA,OACF;AAAA,KACF;AAAA,GACF;AAAA,EACA,gBAAkB,EAAA;AAAA;AAAA,IAEhB;AAAA,MACE,KAAO,EAAA,KAAA;AAAA,MACP,QAAU,EAAA,KAAA;AAAA,MACV,QAAU,EAAA,KAAA;AAAA,MACV,YAAc,EAAA,KAAA;AAAA,MACd,GAAA,EAAKA,4BAAgB,CAAA,QAAA,CAAS,OAAQ,CAAA,IAAA;AAAA,KACxC;AAAA,IACA;AAAA,MACE,KAAO,EAAA,IAAA;AAAA,MACP,QAAU,EAAA,KAAA;AAAA,MACV,QAAU,EAAA,KAAA;AAAA,MACV,YAAc,EAAA,KAAA;AAAA,MACd,GAAA,EAAKA,4BAAgB,CAAA,QAAA,CAAS,KAAM,CAAA,IAAA;AAAA,KACtC;AAAA;AAAA,IAEA;AAAA,MACE,OAAS,EAAA,IAAA;AAAA,MACT,QAAU,EAAA,KAAA;AAAA,MACV,GAAK,EAAA;AAAA,QACH,WAAA,EAAaA,4BAAgB,CAAA,QAAA,CAAS,OAAQ,CAAA,WAAA;AAAA,OAChD;AAAA,KACF;AAAA,IACA;AAAA,MACE,OAAS,EAAA,IAAA;AAAA,MACT,QAAU,EAAA,KAAA;AAAA,MACV,KAAO,EAAA,KAAA;AAAA,MACP,QAAU,EAAA,KAAA;AAAA,MACV,YAAc,EAAA,KAAA;AAAA,MACd,GAAA,EAAKA,4BAAgB,CAAA,QAAA,CAAS,OAAQ,CAAA,OAAA;AAAA,KACxC;AAAA,IACA;AAAA,MACE,OAAS,EAAA,IAAA;AAAA,MACT,QAAU,EAAA,KAAA;AAAA,MACV,KAAO,EAAA,IAAA;AAAA,MACP,QAAU,EAAA,KAAA;AAAA,MACV,YAAc,EAAA,KAAA;AAAA,MACd,GAAA,EAAKA,4BAAgB,CAAA,QAAA,CAAS,KAAM,CAAA,OAAA;AAAA,KACtC;AAAA;AAAA,IAEA;AAAA,MACE,OAAS,EAAA,IAAA;AAAA,MACT,QAAU,EAAA,KAAA;AAAA,MACV,YAAc,EAAA,KAAA;AAAA,MACd,QAAU,EAAA,KAAA;AAAA,MACV,GAAA,EAAKA,6BAAgB,QAAS,CAAA,OAAA;AAAA,KAChC;AAAA,IACA;AAAA,MACE,OAAS,EAAA,IAAA;AAAA,MACT,OAAS,EAAA,KAAA;AAAA,MACT,KAAO,EAAA,KAAA;AAAA,MACP,QAAU,EAAA,KAAA;AAAA,MACV,QAAU,EAAA,KAAA;AAAA,MACV,YAAc,EAAA,KAAA;AAAA,MACd,GAAA,EAAKA,4BAAgB,CAAA,QAAA,CAAS,OAAQ,CAAA,OAAA;AAAA,KACxC;AAAA,IACA;AAAA,MACE,OAAS,EAAA,IAAA;AAAA,MACT,OAAS,EAAA,KAAA;AAAA,MACT,KAAO,EAAA,IAAA;AAAA,MACP,QAAU,EAAA,KAAA;AAAA,MACV,QAAU,EAAA,KAAA;AAAA,MACV,YAAc,EAAA,KAAA;AAAA,MACd,GAAA,EAAKA,4BAAgB,CAAA,QAAA,CAAS,KAAM,CAAA,OAAA;AAAA,KACtC;AAAA,GACF;AAAA,EACA,eAAiB,EAAA;AAAA,IACf,IAAM,EAAA,OAAA;AAAA,GACR;AACF,CAAC,CAAA;;AC9JD,MAAM,4BACJ,GAAA,gEAAA,CAAA;AAEW,MAAA,WAAA,GAActB,2BAAO,CAAAC,+BAAA,CAAU,KAAO,EAAA;AAAA,EACjD,GAAK,EAAA,OAAA;AAAA,EACL,UAAY,EAAA,aAAA;AAAA,EACZ,KAAO,EAAA,gBAAA;AAAA,EACP,KAAO,EAAA,MAAA;AAAA,EACP,YAAc,EAAA,KAAA;AAAA,EACd,KAAO,EAAA,CAAA;AAAA,EACP,OAAS,EAAA,OAAA;AAAA,EACT,MAAQ,EAAA,MAAA;AAAA,EAER,gBAAkB,EAAA;AAAA,IAChB,SAAW,EAAA,QAAA;AAAA,GACb;AAAA,EAEA,CAAC,QAAS,CAAA,MAAA,CAAA,4BAAA,EAA4B,gBAAgB,CAAA,GACpDqB,6BAAgB,IAAK,CAAA,WAAA;AAAA,EAEvB,aAAe,EAAA;AAAA,IACb,KAAA,EAAOA,4BAAgB,CAAA,QAAA,CAAS,QAAS,CAAA,KAAA;AAAA,GAC3C;AAAA,EAEA,qDAAA,EACEA,6BAAgB,IAAK,CAAA,QAAA;AACzB,CAAC,CAAA;;ACnBM,MAAMC,UAAQf,yBAAM,CAAA,UAAA;AAAA,EAIzB,CACE;AAAA,IACE,EAAA;AAAA,IACA,kBAAoB,EAAA,eAAA;AAAA,IACpB,cAAgB,EAAA,WAAA;AAAA,IAChB,GAAG,SAAA;AAAA,KAEL,UACG,KAAA;AACH,IAAM,MAAA;AAAA,MACJ,eAAiB,EAAA,YAAA;AAAA,MACjB,QAAA;AAAA,MACA,UAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,QACE,eAAgB,EAAA,CAAA;AACpB,IAAM,MAAA;AAAA,MACJ,aAAA;AAAA,MACA,eAAiB,EAAA,2BAAA;AAAA,MACjB,WAAa,EAAA,oBAAA;AAAA,MACb,cAAA;AAAA,MACA,WAAA;AAAA,MACA,WAAA;AAAA,MACA,WAAA;AAAA,MACA,eAAA;AAAA,QACEgB,wCAAsC,EAAA,CAAA;AAE1C,IAAA,MAAM,EAAE,MAAQ,EAAA,OAAA,EAAS,GAAG,YAAA,KAAiBC,2CAAgB,CAAA;AAAA,MAC3D,GAAG,SAAA;AAAA,MACH,YAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAAC,eAAA,CAAU,MAAM;AACd,MAAc,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,QAAA,CAAA,CAAA;AACd,MAAc,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,QAAA,CAAA,CAAA;AACd,MAAc,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,QAAA,CAAA,CAAA;AACd,MAAkB,eAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAA,YAAA,CAAA,CAAA;AAAA,KACjB,EAAA;AAAA,MACD,QAAA;AAAA,MACA,YAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,MACA,WAAA;AAAA,MACA,WAAA;AAAA,MACA,WAAA;AAAA,MACA,WAAA;AAAA,MACA,eAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAA,MAAM,iBAAiBlB,yBAAM,CAAA,WAAA;AAAA,MAC3B,CAAC,CAA0C,KAAA;AACzC,QAAA,UAAA,CAAW,IAAI,CAAA,CAAA;AACf,QAAU,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,CAAA,CAAA,CAAA;AAAA,OACZ;AAAA,MACA,CAAC,YAAY,OAAO,CAAA;AAAA,KACtB,CAAA;AACA,IAAA,MAAM,gBAAgBA,yBAAM,CAAA,WAAA;AAAA,MAC1B,CAAC,CAA0C,KAAA;AACzC,QAAA,UAAA,CAAW,KAAK,CAAA,CAAA;AAChB,QAAS,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,OACX;AAAA,MACA,CAAC,YAAY,MAAM,CAAA;AAAA,KACrB,CAAA;AAEA,IACE,uBAAAF,cAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACE,GAAG,YAAA;AAAA,QACJ,IAAI,EAAM,IAAA,IAAA,GAAA,EAAA,GAAA,aAAA;AAAA,QACV,QAAA;AAAA,QACA,kBAAkB,EAAAqB,iCAAA;AAAA,UAChB,eAAA;AAAA,UACA,2BAAA;AAAA,SACF;AAAA,QACA,gBAAc,WAAe,IAAA,IAAA,GAAA,WAAA,GAAA,oBAAA;AAAA,QAC7B,QAAA,EAAU,aAAa,IAAQ,IAAA,KAAA,CAAA;AAAA,QAC/B,QAAA,EAAU,aAAa,IAAQ,IAAA,KAAA,CAAA;AAAA,QAC/B,OAAS,EAAA,cAAA;AAAA,QACT,MAAQ,EAAA,aAAA;AAAA,QACR,KAAKV,2BAAU,CAAA,CAAC,QAAU,EAAA,cAAA,EAAgB,UAAU,CAAC,CAAA;AAAA,OAAA;AAAA,KACvD,CAAA;AAAA,GAEJ;AACF,CAAA;;ACpEA,MAAM,IAAA,GAAOT,yBAAM,CAAA,UAAA,CAGjB,CAAC,EAAE,QAAU,EAAA,IAAA,EAAM,WAAa,EAAA,GAAG,SAAU,EAAA,EAAG,UAAe,KAAA;AAlCjE,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAmCE,EAAM,MAAA,GAAA,GAAML,aAAuB,IAAI,CAAA,CAAA;AACvC,EAAM,MAAA;AAAA,IACJ,KAAO,EAAA,UAAA;AAAA,IACP,eAAiB,EAAA,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA,eAAA;AAAA,IACA,UAAA;AAAA,IACA,WAAA;AAAA,MACE,eAAgB,EAAA,CAAA;AACpB,EAAA,MAAM,EAAE,UAAA,EAAY,SAAW,EAAA,OAAA,KAAYyB,qBAAS,CAAA;AAAA,IAClD,aAAe,EAAA,UAAA;AAAA,GAChB,CAAA,CAAA;AAED,EAAM,MAAA,EAAE,UAAW,EAAA,GAAIC,6BAAS,CAAA;AAAA,IAC9B,cAAc,CAAK,CAAA,KAAA;AArDvB,MAAAX,IAAAA,GAAAA,CAAAA;AAsDM,MAAM,MAAA,EAAE,MAAO,EAAA,GAAI,CAAE,CAAA,aAAA,CAAA;AAErB,MAAM,MAAA,gBAAA,GAAmB,WAAW,eAAgB,CAAA,OAAA,CAAA;AAEpD,MAAA,IAAI,gBAAkB,EAAA;AACpB,QAAA,CAAAA,GAAA,GAAA,QAAA,CAAS,OAAT,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,GAAkB,CAAA,KAAA,EAAA,CAAA;AAClB,QAAA,UAAA,CAAW,IAAI,CAAA,CAAA;AAAA,OACjB;AAAA,KACF;AAAA,IACA,mBAAqB,EAAA,MAAA;AAAA,GACtB,CAAA,CAAA;AAED,EAAA,MAAM,sBACJ,GAAAb,4BAAA,CAAW,YAAY,CAAA,IAAKA,6BAAW,QAAQ,CAAA,CAAA;AACjD,EAAM,MAAA,UAAA,GAAA,CACJ,0BAAS,OAAT,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAkB,UAAlB,IAA2B,GAAA,EAAA,GAAA,SAAA,CAAU,KAArC,KAAA,IAAA,GAAA,EAAA,GAA8C,SAAU,CAAA,YAAA,CAAA;AAG1D,EAAM,MAAA;AAAA,IACJ,KAAA;AAAA,IACA,sBAAA;AAAA,IACA,KAAO,EAAA,cAAA;AAAA,MACLmB,wCAAoB,EAAA,CAAA;AACxB,EAAA,MAAM,gBACJ,WAAgB,KAAA,KAAA,CAAA,IACf,UAAe,KAAA,KAAA,CAAA,IAAa,eAAe,EAC5C,IAAA,OAAA,CAAA;AAGF,EAAA,MAAM,QAAQ,cAAkB,IAAA,IAAA,GAAA,cAAA,GAAA,UAAA,CAAA;AAChC,EAAM,MAAA,gBAAA,GACJ,CAACnB,4BAAA,CAAW,QAAQ,CAAA,IACpB,CAAC,sBAAA,IACD,CAAC,OAAA,IACD,CAAC,OAAA,IACD,KAAU,KAAA,KAAA,CAAA,CAAA;AACZ,EAAM,MAAA,SAAA,GACJ,KAAU,KAAA,IAAA,GAAO,mBAAsB,GAAA,gCAAA,CAAA;AAEzC,EACE,uBAAAU,eAAA;AAAA,IAAC,eAAA;AAAA,IAAA;AAAA,MACE,GAAGe,gBAAA,CAAW,SAAW,EAAA,UAAA,EAAY,UAAU,CAAA;AAAA,MAChD,cAAA,EAAcC,qCAAoB,CAAA,KAAA,KAAU,KAAK,CAAA;AAAA,MACjD,YAAA,EAAYA,qCAAoB,CAAA,KAAA,KAAU,IAAI,CAAA;AAAA,MAC9C,mBAAkB,EAAA,OAAA;AAAA,MAClB,GAAK,EAAAd,2BAAA,CAAU,CAAC,GAAA,EAAK,UAAU,CAAC,CAAA;AAAA,MAChC,IAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA,EAAUZ,6BAAW,QAAQ,CAAA;AAAA,MAC7B,YAAA,EAAcA,6BAAW,YAAY,CAAA;AAAA,MACrC,QAAA,EAAUA,6BAAW,QAAQ,CAAA;AAAA,MAE5B,QAAA,EAAA;AAAA,QACC,sBAAA,oBAAAC,cAAA;AAAA,UAAC0B,kCAAA;AAAA,UAAA;AAAA,YACC,QAAU,EAAA,aAAA;AAAA,YACV,GAAA,EACE,CAAC,aAAiB,IAAA,WAAA;AAAA;AAAA,cAEd;AAAA,gBACE,SAAW,EAAA,0DAAA;AAAA,eACb;AAAA,gBACA,EAAE,WAAW,uBAAwB,EAAA;AAAA,YAE3C,IAAA;AAAA,YAEC,QAAA,EAAA,KAAA;AAAA,WAAA;AAAA,SACH;AAAA,QAED,QAAA;AAAA,QACA,gBAAA,mCACE,iBACC,EAAA,EAAA,QAAA,kBAAA1B,cAAA,CAAC,aAAU,IAAK,EAAA,OAAA,EAAQ,MAAO,EAAA,MAAA,EAAO,CACxC,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA;AAAA,GAEJ,CAAA;AAEJ,CAAC,CAAA,CAAA;AAEM,MAAM,YAAYE,yBAAM,CAAA,UAAA;AAAA,EAI7B,CACE;AAAA,IACE,eAAiB,EAAA,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAG,SAAA;AAAA,KAEL,UAEA,qBAAAF,cAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,QAAA;AAAA,MACA,eAAe,EAAA,YAAA;AAAA,MACf,QAAA;AAAA,MACA,QAAA;AAAA,MAEA,QAAC,kBAAAA,cAAA,CAAA,IAAA,EAAA,EAAM,GAAG,SAAA,EAAW,KAAK,UAAY,EAAA,CAAA;AAAA,KAAA;AAAA,GACxC;AAEJ,CAAA,CAAA;AAQA,SAAA,CAAU,KAAQ,GAAAiB,OAAA;;AChKlB,MAAM,sBAAyB,GAAA;AAAA,EAC7B,cAAA;AAAA,EACA,cAAA;AAAA,EACA,aAAA;AAAA,EACA,oBAAA;AAAA,EACA,YAAA;AAAA,EACA,mBAAA;AAAA,EACA,aAAA;AAAA,EACA,oBAAA;AAAA,EACA,gBAAA;AAAA,EACA,uBAAA;AAAA,EACA,gBAAA;AAAA,EACA,uBAAA;AAAA,EACA,eAAA;AAAA,EACA,sBAAA;AAAA,EACA,cAAA;AAAA,EACA,qBAAA;AAAA,EACA,eAAA;AAAA,EACA,sBAAA;AAAA,EACA,aAAA;AAAA,EACA,oBAAA;AACF,CAAA,CAAA;AAwBa,MAAA,iBAAA,GAAoB,CAC/B,QAIG,KAAA;AACH,EAAM,MAAA;AAAA,IACJ,KAAA;AAAA,IACA,eAAiB,EAAA,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA,SAAA;AAAA,IACA,GAAA;AAAA;AAAA,IAGA,WAAA;AAAA,IACA,KAAA;AAAA,IACA,YAAA;AAAA,IAEA,GAAG,SAAA;AAAA,GACD,GAAA,QAAA,CAAA;AAEJ,EAAA,MAAM,cAAiC,GAAA;AAAA,IACrC,KAAA;AAAA,IACA,eAAiB,EAAA,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA,SAAA;AAAA,IACA,GAAA;AAAA,IACA,WAAA;AAAA,IACA,KAAA;AAAA,IACA,YAAA;AAAA,GACF,CAAA;AAEA,EAAA,MAAM,UAAyB,GAAA;AAAA,IAC7B,WAAA;AAAA,IACA,KAAA;AAAA,IACA,YAAA;AAAA,GACF,CAAA;AAEA,EAAO,MAAA,CAAA,OAAA,CAAQ,SAAS,CAAE,CAAA,OAAA,CAAQ,CAAC,CAAC,GAAA,EAAKU,MAAK,CAAM,KAAA;AAClD,IAAI,IAAA,sBAAA,CAAuB,QAAS,CAAA,GAAU,CAAG,EAAA;AAC/C,MAAA,cAAA,CAAe,GAAiC,CAAIA,GAAAA,MAAAA,CAAAA;AAAA,KAC/C,MAAA;AACL,MAAA,UAAA,CAAW,GAAuB,CAAIA,GAAAA,MAAAA,CAAAA;AAAA,KACxC;AAAA,GACD,CAAA,CAAA;AAED,EAAO,OAAA,EAAE,gBAAgB,UAAW,EAAA,CAAA;AACtC,CAAA;;AC7FO,MAAM,QAAQzB,yBAAM,CAAA,UAAA;AAAA,EACzB,CAAC,EAAE,QAAA,EAAU,GAAG,SAAA,IAAa,UAAe,KAAA;AAC1C,IAAM,MAAA;AAAA,MACJ,SAAY,GAAA,KAAA;AAAA,MACZ,OAAA;AAAA,MACA,UAAA;AAAA,MACA,GAAG,YAAA;AAAA,KACD,GAAA,SAAA,CAAA;AAEJ,IAAA,MAAM,EAAE,cAAA,EAAgB,UAAW,EAAA,GAAI,kBAAkB,YAAY,CAAA,CAAA;AAErE,IACE,uBAAAO,eAAA,CAAC,SAAW,EAAA,EAAA,GAAG,cACb,EAAA,QAAA,EAAA;AAAA,sBAAAT,cAAA,CAAC,UAAU,KAAV,EAAA,EAAiB,GAAG,UAAA,EAAY,KAAK,UAAY,EAAA,CAAA;AAAA,MACjD,QAAA;AAAA,sBACDA,cAAA;AAAA,QAAC,WAAA;AAAA,QAAA;AAAA,UACC,SAAA;AAAA,UACA,UAAA;AAAA,UACA,OAAA;AAAA,UACA,OAAO,UAAW,CAAA,KAAA;AAAA,SAAA;AAAA,OACpB;AAAA,KACF,EAAA,CAAA,CAAA;AAAA,GAEJ;AACF,EAAA;AAOA,KAAA,CAAM,YAAe,GAAA,YAAA,CAAA;AACrB,KAAA,CAAM,QAAW,GAAA,QAAA;;ACGV,MAAM,gBAAgBE,yBAAM,CAAA,UAAA;AAAA,EAIjC,CACE;AAAA,IACE,MAAA;AAAA,IACA,aAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA;AAAA,IACA,SAAA;AAAA,IACA,WAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAG,SAAA;AAAA,KAEL,UACG,KAAA;AACH,IAAM,MAAA,QAAA,GAAWL,aAAyB,IAAI,CAAA,CAAA;AAC9C,IAAA,MAAM,CAAC,WAAa,EAAA,cAAc,CAAI,GAAAC,cAAA,CAAS,wCAAiB,KAAK,CAAA,CAAA;AACrE,IAAA,MAAM,iBAAiB,MAAU,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAA;AAEjC,IAAA,MAAM,EAAE,cAAA,EAAgB,UAAW,EAAA,GAAI,kBAAkB,SAAS,CAAA,CAAA;AAElE,IACE,uBAAAW,eAAA,CAAC,SAAW,EAAA,EAAA,GAAG,cACb,EAAA,QAAA,EAAA;AAAA,sBAAAT,cAAA;AAAA,QAAC,SAAU,CAAA,KAAA;AAAA,QAAV;AAAA,UACE,GAAG,UAAA;AAAA,UACJ,IAAA,EAAM,iBAAiB,MAAS,GAAA,UAAA;AAAA,UAChC,GAAK,EAAAW,2BAAA,CAAU,CAAC,QAAA,EAAU,UAAU,CAAC,CAAA;AAAA,SAAA;AAAA,OACvC;AAAA,MACC,QAAA;AAAA,sBACAX,cAAA,CAAA,QAAA,EAAA,EACC,QAAC,kBAAAA,cAAA,CAAA4B,gCAAA,EAAA,EAAe,CAClB,EAAA,CAAA;AAAA,sBACA5B,cAAA;AAAA,QAAC,YAAA;AAAA,QAAA;AAAA,UACC,KAAA,EAAO,iBAAiB,SAAY,GAAA,WAAA;AAAA,UACpC,QAAU,EAAA,KAAA;AAAA,UACV,SAAS,MAAM;AApFzB,YAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAqFY,YAAA,MAAM,iBAAgB,EAAW,GAAA,UAAA,CAAA,KAAA,KAAX,IAAoB,GAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAA,CAAS,YAAT,IAAkB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,CAAA;AAE5D,YAAA,IAAI,cAAgB,EAAA;AAClB,cAAS,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,aAAA,CAAA,CAAA;AAAA,aACJ,MAAA;AACL,cAAW,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,aAAA,CAAA,CAAA;AAAA,aACb;AAEA,YAAA,IAAI,WAAW,KAAW,CAAA,EAAA;AACxB,cAAe,cAAA,CAAA,CAAA6B,OAAU,KAAA,CAACA,OAAM,CAAA,CAAA;AAAA,aAClC;AAAA,WACF;AAAA,UAEC,QAAiB,EAAA,cAAA,mBAAA7B,cAAA,CAAC8B,6BAAY,EAAA,EAAA,CAAA,kCAAMC,+BAAc,EAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OACrD;AAAA,KACF,EAAA,CAAA,CAAA;AAAA,GAEJ;AACF;;AC1Fa,MAAA,UAAA,GAAa7B,0BAAM,UAG9B,CAAA,CAAC,EAAE,QAAU,EAAA,GAAG,SAAU,EAAA,EAAG,UAAe,KAAA;AAC5C,EAAM,MAAA;AAAA,IACJ,SAAY,GAAA,KAAA;AAAA,IACZ,OAAA;AAAA,IACA,UAAA;AAAA,IACA,GAAG,YAAA;AAAA,GACD,GAAA,SAAA,CAAA;AAEJ,EAAA,MAAM,EAAE,cAAA,EAAgB,UAAW,EAAA,GAAI,kBAAkB,YAAY,CAAA,CAAA;AAErE,EACE,uBAAAO,eAAA,CAAC,SAAW,EAAA,EAAA,GAAG,cACb,EAAA,QAAA,EAAA;AAAA,oBAACT,cAAA,CAAA,SAAA,CAAU,OAAV,EAAgB,IAAA,EAAK,SAAS,GAAG,UAAA,EAAY,KAAK,UAAY,EAAA,CAAA;AAAA,IAC9D,QAAA;AAAA,oBACDA,cAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACC,SAAA;AAAA,QACA,UAAA;AAAA,QACA,OAAA;AAAA,QACA,OAAO,UAAW,CAAA,KAAA;AAAA,OAAA;AAAA,KACpB;AAAA,oBACCA,cAAA,CAAA,QAAA,EAAA,EACC,QAAC,kBAAAA,cAAA,CAAAgC,8BAAA,EAAA,EAAa,CAChB,EAAA,CAAA;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ,CAAC,EAAA;AAMD,UAAA,CAAW,YAAe,GAAA,YAAA;;AClCb,MAAA,WAAA,GAAc9B,0BAAM,UAG/B,CAAA,CAAC,EAAE,QAAU,EAAA,GAAG,SAAU,EAAA,EAAG,UAAe,KAAA;AAC5C,EAAM,MAAA;AAAA,IACJ,SAAY,GAAA,KAAA;AAAA,IACZ,OAAA;AAAA,IACA,UAAA;AAAA,IACA,GAAG,YAAA;AAAA,GACD,GAAA,SAAA,CAAA;AAEJ,EAAA,MAAM,EAAE,cAAA,EAAgB,UAAW,EAAA,GAAI,kBAAkB,YAAY,CAAA,CAAA;AAErE,EACE,uBAAAO,eAAA,CAAC,SAAW,EAAA,EAAA,GAAG,cACb,EAAA,QAAA,EAAA;AAAA,oBAAAT,cAAA,CAAC,UAAU,KAAV,EAAA,EAAiB,GAAG,UAAA,EAAY,KAAK,UAAY,EAAA,CAAA;AAAA,IACjD,QAAA;AAAA,oBACDA,cAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACC,SAAA;AAAA,QACA,UAAA;AAAA,QACA,OAAA;AAAA,QACA,OAAO,UAAW,CAAA,KAAA;AAAA,OAAA;AAAA,KACpB;AAAA,oBACCA,cAAA,CAAA,QAAA,EAAA,EACC,QAAC,kBAAAA,cAAA,CAAAiC,qCAAA,EAAA,EAAoB,CACvB,EAAA,CAAA;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ,CAAC,EAAA;AAMD,WAAA,CAAY,YAAe,GAAA,YAAA;;;;;;;"}
1
+ {"version":3,"file":"main.js","sources":["../src/partials/icon-slot.styled.tsx","../src/hooks/use-input-context.tsx","../src/partials/icon-slot.tsx","../src/partials/action-button.styled.tsx","../src/partials/action-button.tsx","../src/clear-action.tsx","../src/base-input.styled.tsx","../src/partials/input.styled.tsx","../src/partials/input.tsx","../src/base-input.tsx","../src/hooks/use-base-input-props.ts","../src/input.tsx","../src/input-password.tsx","../src/input-email.tsx","../src/input-search.tsx"],"sourcesContent":["import { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\n\nexport const StyledIconSlot = styled(Primitive.div, {\n order: 1,\n alignContent: 'center',\n display: 'flex',\n justifyContent: 'center',\n color: '$icon-neutrals-subtle',\n\n '& svg, & img': {\n pointerEvents: 'none',\n },\n\n variants: {\n disabled: {\n true: {\n '& svg': {\n color: '$icon-neutrals-disabled',\n },\n },\n },\n },\n})\n\nexport type StyledIconSlotProps = ComponentPropsWithRef<typeof StyledIconSlot>\n","import React, { createContext, useContext, useState, useRef } from 'react'\nimport type { PropsWithChildren } from 'react'\nimport { booleanify } from '@mirohq/design-system-utils'\nimport type { FormElementProps } from '@mirohq/design-system-base-form'\n\ninterface InputProps extends FormElementProps {}\n\ninterface InputContextProps extends InputProps {\n focused: boolean\n setFocused: React.Dispatch<React.SetStateAction<boolean>>\n hovered: boolean\n setHovered: React.Dispatch<React.SetStateAction<boolean>>\n hasIconSlot: boolean\n setHasIconSlot: React.Dispatch<React.SetStateAction<boolean>>\n actionButtonRef: React.RefObject<HTMLAnchorElement | HTMLButtonElement>\n inputRef: React.RefObject<HTMLInputElement>\n editable: boolean\n}\n\nexport type InputProviderProps = FormElementProps\n\nconst InputContext = createContext<InputContextProps>({} as any)\n\nexport const InputProvider = ({\n children,\n disabled,\n 'aria-disabled': ariaDisabled,\n readOnly,\n required,\n valid,\n ...restProps\n}: PropsWithChildren<InputProviderProps>): JSX.Element => {\n const actionButtonRef = useRef<HTMLAnchorElement | HTMLButtonElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n const [focused, setFocused] = useState(false)\n const [hovered, setHovered] = useState(false)\n const [hasIconSlot, setHasIconSlot] = useState(false)\n const editable =\n !booleanify(disabled) && !booleanify(ariaDisabled) && !booleanify(readOnly)\n\n return (\n <InputContext.Provider\n value={{\n ...restProps,\n setFocused,\n setHovered,\n setHasIconSlot,\n hasIconSlot,\n hovered,\n focused,\n disabled,\n 'aria-disabled': ariaDisabled,\n readOnly,\n editable,\n inputRef,\n actionButtonRef,\n required,\n valid,\n }}\n >\n {children}\n </InputContext.Provider>\n )\n}\n\nexport const useInputContext = (): InputContextProps => useContext(InputContext)\n","import React from 'react'\nimport { addPropsToChildren, booleanify } from '@mirohq/design-system-utils'\nimport { isIconComponent } from '@mirohq/design-system-base-icon'\nimport type { ElementRef } from 'react'\nimport { useLayoutEffect } from '@mirohq/design-system-use-layout-effect'\n\nimport { StyledIconSlot } from './icon-slot.styled'\nimport { useInputContext } from '../hooks/use-input-context'\nimport type { StyledIconSlotProps } from './icon-slot.styled'\n\nexport interface IconSlotProps extends StyledIconSlotProps {}\n\nexport const IconSlot = React.forwardRef<\n ElementRef<typeof StyledIconSlot>,\n StyledIconSlotProps\n>(({ children, ...restProps }, forwardRef) => {\n const {\n 'aria-disabled': ariaDisabled,\n disabled,\n setHasIconSlot,\n } = useInputContext()\n const formattedChildren = addPropsToChildren(children, isIconComponent, {\n size: 'small',\n weight: 'thin',\n 'aria-hidden': true,\n })\n\n useLayoutEffect(() => {\n setHasIconSlot(true)\n return () => setHasIconSlot(false)\n }, [setHasIconSlot])\n\n return (\n <StyledIconSlot\n {...restProps}\n disabled={booleanify(disabled ?? ariaDisabled)}\n ref={forwardRef}\n >\n {formattedChildren}\n </StyledIconSlot>\n )\n})\n\nIconSlot.displayName = 'IconSlot'\n","import { styled } from '@mirohq/design-system-stitches'\nimport { BaseButton } from '@mirohq/design-system-base-button'\nimport { focus } from '@mirohq/design-system-styles'\nimport type { ComponentPropsWithRef } from 'react'\n\nexport const StyledActionButton = styled(BaseButton, {\n backgroundColor: 'transparent',\n color: '$icon-neutrals-subtle',\n display: 'flex',\n justifyContent: 'center',\n order: 3,\n padding: '6px',\n square: '$7',\n\n '& svg:not([data-icon-component]), & img:not([data-icon-component])': {\n square: '$icon-200',\n '--svg-stroke-width': '$stroke-width$thin',\n },\n\n ...focus.css({\n boxShadow: '$focus-small',\n }),\n\n '&:hover': {\n backgroundColor: '$background-neutrals-subtle-hover',\n },\n\n '&:active, &[data-pressed]': {\n backgroundColor: '$background-neutrals-subtle-active',\n },\n\n variants: {\n readOnlyAppearance: {\n true: {\n '& svg[data-icon-component], & img[data-icon-component]': {\n color: '$icon-neutrals-subtle',\n },\n },\n },\n disableAppearance: {\n true: {\n color: '$icon-neutrals-disabled',\n },\n },\n },\n})\n\nexport type StyledActionButtonProps = ComponentPropsWithRef<\n typeof StyledActionButton\n>\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport {\n mergeRefs,\n booleanify,\n addPropsToChildren,\n} from '@mirohq/design-system-utils'\nimport { Tooltip } from '@mirohq/design-system-tooltip'\nimport { isIconComponent } from '@mirohq/design-system-base-icon'\n\nimport { StyledActionButton } from './action-button.styled'\nimport type { StyledActionButtonProps } from './action-button.styled'\nimport { useInputContext } from '../hooks/use-input-context'\n\nexport type ActionButtonProps = StyledActionButtonProps & {\n label: string\n}\n\nexport const ActionButton = React.forwardRef<\n ElementRef<typeof StyledActionButton>,\n ActionButtonProps\n>(({ 'aria-label': ariaLabel, label, children, ...restProps }, forwardRef) => {\n const {\n valid,\n hovered,\n editable,\n 'aria-disabled': ariaDisabled,\n disabled,\n readOnly,\n actionButtonRef,\n } = useInputContext()\n\n const showInputSlot = valid === undefined || booleanify(hovered)\n\n let formattedChildren = children\n\n formattedChildren = addPropsToChildren(children, isIconComponent, {\n 'aria-hidden': true,\n })\n\n const hasPressEvent = Object.keys(restProps).some(key =>\n key.startsWith('onPress')\n )\n const customDisabled = restProps.disabled\n\n return (\n <>\n {showInputSlot && (\n <Tooltip>\n <Tooltip.Trigger asChild>\n <StyledActionButton\n type='button'\n {...restProps}\n aria-label={ariaLabel ?? label}\n disabled={\n hasPressEvent ? customDisabled : customDisabled ?? !editable\n }\n disableAppearance={\n hasPressEvent\n ? !booleanify(readOnly) && customDisabled\n : booleanify(disabled ?? ariaDisabled)\n }\n readOnlyAppearance={readOnly}\n ref={mergeRefs([forwardRef, actionButtonRef])}\n >\n {formattedChildren}\n </StyledActionButton>\n </Tooltip.Trigger>\n <Tooltip.Content>{label}</Tooltip.Content>\n </Tooltip>\n )}\n </>\n )\n})\n","import { IconCross } from '@mirohq/design-system-icons'\nimport { booleanify } from '@mirohq/design-system-utils'\n\nimport { ActionButton } from './partials/action-button'\nimport { useInputContext } from './hooks/use-input-context'\nimport type { ClearProps } from './types'\n\nexport type ClearActionProps = ClearProps\n\nexport const ClearAction = ({\n clearable,\n clearLabel,\n onClear,\n value,\n}: ClearActionProps): JSX.Element => {\n const {\n disabled,\n 'aria-disabled': ariaDisabled,\n readOnly,\n inputRef,\n } = useInputContext()\n\n if (!clearable) return <></>\n\n return (\n <ActionButton\n label={clearLabel}\n disabled={booleanify(disabled ?? ariaDisabled ?? readOnly)}\n onPress={() => {\n onClear?.(value ?? inputRef.current?.value)\n\n if (value === undefined && inputRef.current !== null) {\n inputRef.current.value = ''\n }\n }}\n >\n <IconCross />\n </ActionButton>\n )\n}\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { styles as baseInputStyles } from '@mirohq/design-system-base-input'\nimport type { ComponentPropsWithRef } from 'react'\nimport {\n IconExclamationPointCircle,\n IconCheckMark,\n} from '@mirohq/design-system-icons'\n\nimport { StyledIconSlot } from './partials/icon-slot.styled'\nimport { StyledActionButton } from './partials/action-button.styled'\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 StyledValidityBox = styled(Primitive.div, {\n order: 3,\n display: 'flex',\n alignItems: 'center',\n padding: '6px',\n})\n\nexport const StyledBaseInput = styled('div', {\n position: 'relative',\n alignItems: 'center',\n display: 'inline-flex',\n height: 'max-content',\n boxSizing: 'border-box',\n width: '100%',\n ...baseInputStyles.variants.idle,\n\n variants: {\n hovered: {\n true: {},\n false: {},\n },\n focused: {\n true: baseInputStyles.variants.focused,\n false: {},\n },\n valid: {\n true: {},\n false: {},\n },\n readOnly: {\n true: baseInputStyles.variants.readOnly,\n false: {},\n },\n disabled: {\n true: baseInputStyles.variants.disabled,\n false: {},\n },\n ariaDisabled: {\n true: baseInputStyles.variants.disabled,\n false: {},\n },\n size: {\n large: {\n height: '$10',\n padding: '0 $100 ',\n [`& ${StyledIconSlot}`]: {\n paddingRight: '$50',\n },\n [`& ${StyledActionButton}, & ${StyledValidityBox}`]: {\n marginLeft: '$50',\n },\n [`& ${StyledValidityBox}`]: {\n paddingRight: '6px',\n },\n },\n 'x-large': {\n height: '$12',\n padding: '0 $150',\n [`& ${StyledIconSlot}`]: {\n paddingRight: '$100',\n },\n [`& ${StyledActionButton}, & ${StyledValidityBox}`]: {\n marginLeft: '$100',\n },\n [`& ${StyledValidityBox}`]: {\n paddingRight: '6px',\n },\n },\n },\n },\n compoundVariants: [\n /** Idle states */\n {\n valid: false,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: baseInputStyles.variants.invalid.idle,\n },\n {\n valid: true,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: baseInputStyles.variants.valid.idle,\n },\n /** Focus States */\n {\n focused: true,\n readOnly: false,\n css: {\n borderColor: baseInputStyles.variants.focused.borderColor,\n },\n },\n {\n focused: true,\n readOnly: false,\n valid: false,\n disabled: false,\n ariaDisabled: false,\n css: baseInputStyles.variants.invalid.focused,\n },\n {\n focused: true,\n readOnly: false,\n valid: true,\n disabled: false,\n ariaDisabled: false,\n css: baseInputStyles.variants.valid.focused,\n },\n /** Hover states */\n {\n hovered: true,\n disabled: false,\n ariaDisabled: false,\n readOnly: false,\n css: baseInputStyles.variants.hovered,\n },\n {\n hovered: true,\n focused: false,\n valid: false,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: baseInputStyles.variants.invalid.hovered,\n },\n {\n hovered: true,\n focused: false,\n valid: true,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: baseInputStyles.variants.valid.hovered,\n },\n ],\n defaultVariants: {\n size: 'large',\n },\n})\n\nexport type StyledBaseInputProps = ComponentPropsWithRef<typeof StyledBaseInput>\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\nimport { styles as baseInputStyles } from '@mirohq/design-system-base-input'\n\nconst disabledAndReadonlySelectors =\n ':read-only, :disabled, [aria-disabled=\"true\"], [data-disabled]'\n\nexport const StyledInput = styled(Primitive.input, {\n all: 'unset',\n background: 'transparent',\n color: '$text-neutrals',\n width: '100%',\n borderRadius: '$50',\n order: 2,\n padding: '0 $50',\n height: '100%',\n\n '&::placeholder': {\n fontStyle: 'italic',\n },\n\n [`&:not(${disabledAndReadonlySelectors})::placeholder`]:\n baseInputStyles.base.placeholder,\n\n '&:read-only': {\n color: baseInputStyles.variants.readOnly.color,\n },\n\n '&:disabled, &[aria-disabled=true], &[data-disabled]':\n baseInputStyles.base.disabled,\n})\n\nexport type StyledInputProps = ComponentPropsWithRef<typeof StyledInput>\n","import React, { useEffect } from 'react'\nimport type { ElementRef } from 'react'\nimport { stringAttrValue, mergeRefs } from '@mirohq/design-system-utils'\nimport { useAriaDisabled } from '@mirohq/design-system-use-aria-disabled'\nimport { useFormFieldContext } from '@mirohq/design-system-base-form'\n\nimport { StyledInput } from './input.styled'\nimport type { StyledInputProps } from './input.styled'\nimport { useInputContext } from '../hooks/use-input-context'\n\nexport interface InputProps extends StyledInputProps {}\n\nexport const Input = React.forwardRef<\n ElementRef<typeof StyledInput>,\n InputProps\n>(\n (\n {\n id,\n 'aria-describedby': ariaDescribedBy,\n 'aria-invalid': ariaInvalid,\n ...restProps\n },\n forwardRef\n ) => {\n const {\n 'aria-disabled': ariaDisabled,\n disabled,\n setFocused,\n inputRef,\n required,\n readOnly,\n } = useInputContext()\n const {\n formElementId,\n ariaDescribedBy: formFieldContextDescribedBy,\n ariaInvalid: formFieldAriaInvalid,\n formElementRef,\n setRequired,\n setReadOnly,\n setDisabled,\n setAriaDisabled,\n } = useFormFieldContext<HTMLInputElement>()\n\n const { onBlur, onFocus, ...elementProps } = useAriaDisabled({\n ...restProps,\n ariaDisabled,\n })\n\n useEffect(() => {\n setRequired?.(required)\n setReadOnly?.(readOnly)\n setDisabled?.(disabled)\n setAriaDisabled?.(ariaDisabled)\n }, [\n disabled,\n ariaDisabled,\n readOnly,\n required,\n ariaInvalid,\n setRequired,\n setReadOnly,\n setDisabled,\n setAriaDisabled,\n ])\n\n const onFocusHandler = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setFocused(true)\n onFocus?.(e)\n },\n [setFocused, onFocus]\n )\n const onBlurHandler = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setFocused(false)\n onBlur?.(e)\n },\n [setFocused, onBlur]\n )\n\n return (\n <StyledInput\n {...elementProps}\n id={id ?? formElementId}\n readOnly={readOnly}\n aria-describedby={stringAttrValue(\n ariaDescribedBy,\n formFieldContextDescribedBy\n )}\n aria-invalid={ariaInvalid ?? formFieldAriaInvalid}\n disabled={disabled === true || undefined}\n required={required === true || undefined}\n onFocus={onFocusHandler}\n onBlur={onBlurHandler}\n ref={mergeRefs([inputRef, formElementRef, forwardRef])}\n />\n )\n }\n)\n","import React, { useRef } from 'react'\nimport type {\n ElementRef,\n ForwardRefExoticComponent,\n MouseEventHandler,\n} from '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 { usePress } from '@mirohq/design-system-use-press'\nimport { useHover } from '@react-aria/interactions'\nimport { mergeProps } from '@react-aria/utils'\n\nimport {\n StyledBaseInput,\n StyledValidityBox,\n StyledIconExclamationPointCircle,\n StyledIconCheckMark,\n} from './base-input.styled'\nimport { Input } from './partials/input'\nimport { InputProvider, useInputContext } from './hooks/use-input-context'\nimport type { BaseInputProps } from './hooks/use-base-input-props'\n\ntype BaseInputRootProps = Omit<\n BaseInputProps,\n // these props come from useInputContext, we don't pass it to BaseInput directly\n 'focused' | 'valid' | 'readOnly' | 'disabled' | 'ariaDisabled'\n>\n\nconst Root = React.forwardRef<\n ElementRef<typeof StyledBaseInput>,\n BaseInputRootProps\n>(({ children, size, placeholder, role, ...restProps }, forwardRef) => {\n const ref = useRef<HTMLDivElement>(null)\n const {\n valid: inputValid,\n 'aria-disabled': ariaDisabled,\n disabled,\n readOnly,\n focused,\n setHovered,\n inputRef,\n actionButtonRef,\n setFocused,\n hasIconSlot,\n } = useInputContext()\n const { hoverProps, isHovered: hovered } = useHover({\n onHoverChange: setHovered,\n })\n\n const { pressProps } = usePress({\n onPressEnd: e => {\n const { target } = e.originalEvent as PointerEvent\n\n const isActionButton =\n target === actionButtonRef.current ||\n actionButtonRef.current?.contains(target as Node) === true\n\n const shouldFocusInput =\n !isActionButton && !booleanify(disabled) && !booleanify(focused)\n\n if (shouldFocusInput) {\n inputRef.current?.focus()\n setFocused(true)\n }\n },\n preventFocusOnPress: 'auto',\n })\n\n // todo MDS-1032: move to onPressStart when preventDefault is supported for originalEvent\n const onMouseDown: MouseEventHandler<HTMLElement> = e => {\n const shouldPrevent =\n document.activeElement === inputRef.current && e.target === ref.current\n\n // to not lose focus on container click\n if (shouldPrevent) {\n e.preventDefault()\n }\n }\n\n const ariaDisabledOrDisabled =\n booleanify(ariaDisabled) || booleanify(disabled)\n const inputValue =\n inputRef.current?.value ?? restProps.value ?? restProps.defaultValue\n\n // label\n const {\n label,\n shouldUseFloatingLabel,\n valid: formFieldValid,\n } = useFormFieldContext()\n const floatingLabel =\n placeholder !== undefined ||\n (inputValue !== undefined && inputValue !== '') ||\n focused\n const useFloatingLabel = shouldUseFloatingLabel && role !== 'combobox'\n\n // validity\n const valid = formFieldValid ?? inputValid\n const showValidityIcon =\n !booleanify(readOnly) &&\n !ariaDisabledOrDisabled &&\n !hovered &&\n !focused &&\n valid !== undefined\n const ValidIcon =\n valid === true ? StyledIconCheckMark : StyledIconExclamationPointCircle\n\n return (\n <StyledBaseInput\n {...mergeProps(restProps, hoverProps, pressProps, {\n onMouseDown: onMouseDown,\n })}\n data-invalid={booleanishAttrValue(valid === false)}\n data-valid={booleanishAttrValue(valid === true)}\n data-form-element={role !== 'combobox' ? 'input' : undefined}\n ref={mergeRefs([ref, forwardRef])}\n size={size}\n hovered={hovered}\n focused={focused}\n valid={valid}\n disabled={booleanify(disabled)}\n ariaDisabled={booleanify(ariaDisabled)}\n readOnly={booleanify(readOnly)}\n >\n {useFloatingLabel && (\n <FloatingLabel\n floating={floatingLabel}\n css={\n !floatingLabel && hasIconSlot\n ? // icon size + input padding\n {\n transform: `translate(calc($sizes$icon-200 + $space$50 - 1px), -1px)`,\n }\n : floatingLabel\n ? { transform: 'translateY(calc(-50% - 1px))' }\n : undefined\n }\n size={size}\n >\n {label}\n </FloatingLabel>\n )}\n {children}\n {showValidityIcon && (\n <StyledValidityBox>\n <ValidIcon size='small' weight='thin' />\n </StyledValidityBox>\n )}\n </StyledBaseInput>\n )\n})\n\nexport const BaseInput = React.forwardRef<\n ElementRef<typeof StyledBaseInput>,\n BaseInputProps\n>(\n (\n {\n 'aria-disabled': ariaDisabled,\n disabled,\n valid,\n readOnly,\n required,\n ...restProps\n },\n forwardRef\n ) => (\n <InputProvider\n valid={valid}\n disabled={disabled}\n aria-disabled={ariaDisabled}\n readOnly={readOnly}\n required={required}\n >\n <Root {...restProps} ref={forwardRef} />\n </InputProvider>\n )\n) as ForwardRefExoticComponent<BaseInputProps> & Partials\n\n// Partials\n// -----------------------------------------------------------------------------\nexport interface Partials {\n Input: typeof Input\n}\n\nBaseInput.Input = Input\n","import type { InputHTMLAttributes, ReactNode } from 'react'\nimport type { CSS } from '@mirohq/design-system-stitches'\n\nimport type { InputProps } from '../partials/input'\nimport type { StyledBaseInputProps } from '../base-input.styled'\nimport type { InputProviderProps } from './use-input-context'\n\nconst baseInputAllowedEvents = [\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseMoveCapture',\n 'onMouseOut',\n 'onMouseOutCapture',\n 'onMouseOver',\n 'onMouseOverCapture',\n 'onPointerEnter',\n 'onPointerEnterCapture',\n 'onPointerLeave',\n 'onPointerLeaveCapture',\n 'onPointerMove',\n 'onPointerMoveCapture',\n 'onPointerOut',\n 'onPointerOutCapture',\n 'onPointerOver',\n 'onPointerOverCapture',\n 'onTouchMove',\n 'onTouchMoveCapture',\n] as const\n\ntype BaseInputAllowedEventsKeys = typeof baseInputAllowedEvents[number]\n\ntype BaseInputEventProps = Pick<\n InputHTMLAttributes<HTMLInputElement>,\n BaseInputAllowedEventsKeys\n>\n\nexport type BaseInputProps = InputProviderProps &\n BaseInputEventProps &\n Pick<\n InputHTMLAttributes<HTMLInputElement>,\n 'value' | 'defaultValue' | 'placeholder' | 'role'\n > & {\n size?: StyledBaseInputProps['size']\n\n children?: ReactNode\n\n // to pass down className generated by Stitches.styled when providing Input as an element\n className?: string\n css?: CSS\n }\n\nexport const useBaseInputProps = (\n allProps: Omit<BaseInputProps & Omit<InputProps, 'size'>, 'children'>\n): {\n baseInputProps: BaseInputProps\n inputProps: InputProps\n} => {\n const {\n valid,\n 'aria-disabled': ariaDisabled,\n readOnly,\n required,\n disabled,\n size,\n className,\n css,\n\n // shared props\n placeholder,\n value,\n defaultValue,\n role,\n\n ...restProps\n } = allProps\n\n const baseInputProps: BaseInputProps = {\n valid,\n 'aria-disabled': ariaDisabled,\n readOnly,\n required,\n disabled,\n size,\n className,\n css,\n placeholder,\n value,\n defaultValue,\n role,\n }\n\n const inputProps: InputProps = {\n placeholder,\n value,\n defaultValue,\n role,\n }\n\n Object.entries(restProps).forEach(([key, value]) => {\n if (baseInputAllowedEvents.includes(key as any)) {\n baseInputProps[key as BaseInputAllowedEventsKeys] = value\n } else {\n inputProps[key as keyof InputProps] = value\n }\n })\n\n return { baseInputProps, inputProps }\n}\n","import React from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\n\nimport { IconSlot } from './partials/icon-slot'\nimport { ActionButton } from './partials/action-button'\nimport { ClearAction } from './clear-action'\nimport { BaseInput } from './base-input'\nimport type { ClearableInputProps, ClearProps } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\n\nexport type InputProps = ClearableInputProps\n\nexport const Input = React.forwardRef<ElementRef<'input'>, InputProps>(\n ({ children, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClear,\n clearLabel,\n ...elementProps\n } = restProps as ClearProps\n\n const { baseInputProps, inputProps } = useBaseInputProps(elementProps)\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input {...inputProps} ref={forwardRef} />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClear={onClear}\n value={inputProps.value}\n />\n </BaseInput>\n )\n }\n) as ForwardRefExoticComponent<InputProps> & Partials\n\nexport interface Partials {\n ActionButton: typeof ActionButton\n IconSlot: typeof IconSlot\n}\n\nInput.ActionButton = ActionButton\nInput.IconSlot = IconSlot\n","import React, { useState, useRef } from 'react'\nimport {\n IconEyeOpen,\n IconEyeClosed,\n IconLockClosed,\n} from '@mirohq/design-system-icons'\nimport { mergeRefs } from '@mirohq/design-system-utils'\nimport type { ElementRef } from 'react'\n\nimport { BaseInput } from './base-input'\nimport { ActionButton } from './partials/action-button'\nimport { IconSlot } from './partials/icon-slot'\nimport type { InputSharedProps, Value } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\n\nexport interface InputPasswordProps extends Omit<InputSharedProps, 'type'> {\n /**\n * A boolean for the default password state (visible or masked).\n */\n defaultReveal?: boolean\n\n /**\n * Indicates whether the password should be revealed (visible) or hidden (masked).\n */\n reveal?: boolean\n\n /**\n * Callback function to be called when the password is revealed.\n */\n onReveal?: (value: Value) => void\n\n /**\n * Callback function to be called when the password is hidden (masked).\n */\n onHide?: (value: Value) => void\n\n /**\n * Tooltip label text for the action to reveal the password.\n */\n revealLabel: string\n\n /**\n * Tooltip label text for the action to hide (mask) the password.\n */\n hideLabel: string\n}\n\nexport const InputPassword = React.forwardRef<\n ElementRef<'input'>,\n InputPasswordProps\n>(\n (\n {\n reveal,\n defaultReveal,\n onReveal,\n onHide,\n hideLabel,\n revealLabel,\n children,\n ...restProps\n },\n forwardRef\n ) => {\n const inputRef = useRef<HTMLInputElement>(null)\n const [revealState, setRevealState] = useState(defaultReveal ?? false)\n const revealInternal = reveal ?? revealState\n\n const { baseInputProps, inputProps } = useBaseInputProps(restProps)\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input\n {...inputProps}\n type={revealInternal ? 'text' : 'password'}\n ref={mergeRefs([inputRef, forwardRef])}\n />\n {children}\n <IconSlot>\n <IconLockClosed />\n </IconSlot>\n <ActionButton\n label={revealInternal ? hideLabel : revealLabel}\n disabled={false}\n onPress={() => {\n const valueInternal = inputProps.value ?? inputRef.current?.value\n\n if (revealInternal) {\n onHide?.(valueInternal)\n } else {\n onReveal?.(valueInternal)\n }\n\n if (reveal === undefined) {\n setRevealState(reveal => !reveal)\n }\n }}\n >\n {revealInternal ? <IconEyeOpen /> : <IconEyeClosed />}\n </ActionButton>\n </BaseInput>\n )\n }\n)\n","import React from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\nimport { IconEnvelope } from '@mirohq/design-system-icons'\n\nimport { IconSlot } from './partials/icon-slot'\nimport { ActionButton } from './partials/action-button'\nimport { BaseInput } from './base-input'\nimport { ClearAction } from './clear-action'\nimport type { ClearableInputProps, ClearProps } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\n\nexport type InputEmailProps = ClearableInputProps\n\nexport const InputEmail = React.forwardRef<\n ElementRef<'input'>,\n InputEmailProps\n>(({ children, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClear,\n clearLabel,\n ...elementProps\n } = restProps as ClearProps\n\n const { baseInputProps, inputProps } = useBaseInputProps(elementProps)\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input type='email' {...inputProps} ref={forwardRef} />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClear={onClear}\n value={inputProps.value}\n />\n <IconSlot>\n <IconEnvelope />\n </IconSlot>\n </BaseInput>\n )\n}) as ForwardRefExoticComponent<InputEmailProps> & Partials\n\nexport interface Partials {\n ActionButton: typeof ActionButton\n}\n\nInputEmail.ActionButton = ActionButton\n","import React from 'react'\nimport { IconMagnifyingGlass } from '@mirohq/design-system-icons'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\n\nimport { IconSlot } from './partials/icon-slot'\nimport { ActionButton } from './partials/action-button'\nimport { BaseInput } from './base-input'\nimport { ClearAction } from './clear-action'\nimport type { ClearableInputProps, ClearProps } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\n\nexport type InputSearchProps = ClearableInputProps\n\nexport const InputSearch = React.forwardRef<\n ElementRef<'input'>,\n InputSearchProps\n>(({ children, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClear,\n clearLabel,\n ...elementProps\n } = restProps as ClearProps\n\n const { baseInputProps, inputProps } = useBaseInputProps(elementProps)\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input {...inputProps} ref={forwardRef} />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClear={onClear}\n value={inputProps.value}\n />\n <IconSlot>\n <IconMagnifyingGlass />\n </IconSlot>\n </BaseInput>\n )\n}) as ForwardRefExoticComponent<InputSearchProps> & Partials\n\nexport interface Partials {\n ActionButton: typeof ActionButton\n}\n\nInputSearch.ActionButton = ActionButton\n"],"names":["styled","Primitive","createContext","useRef","useState","booleanify","jsx","useContext","React","addPropsToChildren","isIconComponent","useLayoutEffect","BaseButton","focus","Fragment","jsxs","Tooltip","mergeRefs","_a","IconCross","IconExclamationPointCircle","IconCheckMark","baseInputStyles","Input","useFormFieldContext","useAriaDisabled","useEffect","stringAttrValue","useHover","usePress","_b","mergeProps","booleanishAttrValue","FloatingLabel","value","IconLockClosed","reveal","IconEyeOpen","IconEyeClosed","IconEnvelope","IconMagnifyingGlass"],"mappings":"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"}
package/dist/module.js CHANGED
@@ -460,7 +460,7 @@ const Input$1 = React.forwardRef(
460
460
  }
461
461
  );
462
462
 
463
- const Root = React.forwardRef(({ children, size, placeholder, ...restProps }, forwardRef) => {
463
+ const Root = React.forwardRef(({ children, size, placeholder, role, ...restProps }, forwardRef) => {
464
464
  var _a, _b, _c;
465
465
  const ref = useRef(null);
466
466
  const {
@@ -479,17 +479,24 @@ const Root = React.forwardRef(({ children, size, placeholder, ...restProps }, fo
479
479
  onHoverChange: setHovered
480
480
  });
481
481
  const { pressProps } = usePress({
482
- onPressStart: (e) => {
483
- var _a2;
482
+ onPressEnd: (e) => {
483
+ var _a2, _b2;
484
484
  const { target } = e.originalEvent;
485
- const shouldFocusInput = target !== actionButtonRef.current;
485
+ const isActionButton = target === actionButtonRef.current || ((_a2 = actionButtonRef.current) == null ? void 0 : _a2.contains(target)) === true;
486
+ const shouldFocusInput = !isActionButton && !booleanify(disabled) && !booleanify(focused);
486
487
  if (shouldFocusInput) {
487
- (_a2 = inputRef.current) == null ? void 0 : _a2.focus();
488
+ (_b2 = inputRef.current) == null ? void 0 : _b2.focus();
488
489
  setFocused(true);
489
490
  }
490
491
  },
491
492
  preventFocusOnPress: "auto"
492
493
  });
494
+ const onMouseDown = (e) => {
495
+ const shouldPrevent = document.activeElement === inputRef.current && e.target === ref.current;
496
+ if (shouldPrevent) {
497
+ e.preventDefault();
498
+ }
499
+ };
493
500
  const ariaDisabledOrDisabled = booleanify(ariaDisabled) || booleanify(disabled);
494
501
  const inputValue = (_c = (_b = (_a = inputRef.current) == null ? void 0 : _a.value) != null ? _b : restProps.value) != null ? _c : restProps.defaultValue;
495
502
  const {
@@ -498,16 +505,19 @@ const Root = React.forwardRef(({ children, size, placeholder, ...restProps }, fo
498
505
  valid: formFieldValid
499
506
  } = useFormFieldContext();
500
507
  const floatingLabel = placeholder !== void 0 || inputValue !== void 0 && inputValue !== "" || focused;
508
+ const useFloatingLabel = shouldUseFloatingLabel && role !== "combobox";
501
509
  const valid = formFieldValid != null ? formFieldValid : inputValid;
502
510
  const showValidityIcon = !booleanify(readOnly) && !ariaDisabledOrDisabled && !hovered && !focused && valid !== void 0;
503
511
  const ValidIcon = valid === true ? StyledIconCheckMark : StyledIconExclamationPointCircle;
504
512
  return /* @__PURE__ */ jsxs(
505
513
  StyledBaseInput,
506
514
  {
507
- ...mergeProps(restProps, hoverProps, pressProps),
515
+ ...mergeProps(restProps, hoverProps, pressProps, {
516
+ onMouseDown
517
+ }),
508
518
  "data-invalid": booleanishAttrValue(valid === false),
509
519
  "data-valid": booleanishAttrValue(valid === true),
510
- "data-form-element": "input",
520
+ "data-form-element": role !== "combobox" ? "input" : void 0,
511
521
  ref: mergeRefs([ref, forwardRef]),
512
522
  size,
513
523
  hovered,
@@ -517,7 +527,7 @@ const Root = React.forwardRef(({ children, size, placeholder, ...restProps }, fo
517
527
  ariaDisabled: booleanify(ariaDisabled),
518
528
  readOnly: booleanify(readOnly),
519
529
  children: [
520
- shouldUseFloatingLabel && /* @__PURE__ */ jsx(
530
+ useFloatingLabel && /* @__PURE__ */ jsx(
521
531
  FloatingLabel,
522
532
  {
523
533
  floating: floatingLabel,
@@ -526,7 +536,7 @@ const Root = React.forwardRef(({ children, size, placeholder, ...restProps }, fo
526
536
  {
527
537
  transform: "translate(calc($sizes$icon-200 + $space$50 - 1px), -1px)"
528
538
  }
529
- ) : { transform: "translate(-1px, -1px)" },
539
+ ) : floatingLabel ? { transform: "translateY(calc(-50% - 1px))" } : void 0,
530
540
  size,
531
541
  children: label
532
542
  }
@@ -595,6 +605,7 @@ const useBaseInputProps = (allProps) => {
595
605
  placeholder,
596
606
  value,
597
607
  defaultValue,
608
+ role,
598
609
  ...restProps
599
610
  } = allProps;
600
611
  const baseInputProps = {
@@ -608,12 +619,14 @@ const useBaseInputProps = (allProps) => {
608
619
  css,
609
620
  placeholder,
610
621
  value,
611
- defaultValue
622
+ defaultValue,
623
+ role
612
624
  };
613
625
  const inputProps = {
614
626
  placeholder,
615
627
  value,
616
- defaultValue
628
+ defaultValue,
629
+ role
617
630
  };
618
631
  Object.entries(restProps).forEach(([key, value2]) => {
619
632
  if (baseInputAllowedEvents.includes(key)) {
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sources":["../src/partials/icon-slot.styled.tsx","../src/hooks/use-input-context.tsx","../src/partials/icon-slot.tsx","../src/partials/action-button.styled.tsx","../src/partials/action-button.tsx","../src/clear-action.tsx","../src/base-input.styled.tsx","../src/partials/input.styled.tsx","../src/partials/input.tsx","../src/base-input.tsx","../src/hooks/use-base-input-props.ts","../src/input.tsx","../src/input-password.tsx","../src/input-email.tsx","../src/input-search.tsx"],"sourcesContent":["import { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\n\nexport const StyledIconSlot = styled(Primitive.div, {\n order: 1,\n alignContent: 'center',\n display: 'flex',\n justifyContent: 'center',\n color: '$icon-neutrals-subtle',\n\n '& svg, & img': {\n pointerEvents: 'none',\n },\n\n variants: {\n disabled: {\n true: {\n '& svg': {\n color: '$icon-neutrals-disabled',\n },\n },\n },\n },\n})\n\nexport type StyledIconSlotProps = ComponentPropsWithRef<typeof StyledIconSlot>\n","import React, { createContext, useContext, useState, useRef } from 'react'\nimport type { PropsWithChildren } from 'react'\nimport { booleanify } from '@mirohq/design-system-utils'\nimport type { FormElementProps } from '@mirohq/design-system-base-form'\n\ninterface InputProps extends FormElementProps {}\n\ninterface InputContextProps extends InputProps {\n focused: boolean\n setFocused: React.Dispatch<React.SetStateAction<boolean>>\n hovered: boolean\n setHovered: React.Dispatch<React.SetStateAction<boolean>>\n hasIconSlot: boolean\n setHasIconSlot: React.Dispatch<React.SetStateAction<boolean>>\n actionButtonRef: React.RefObject<HTMLAnchorElement | HTMLButtonElement>\n inputRef: React.RefObject<HTMLInputElement>\n editable: boolean\n}\n\nexport type InputProviderProps = FormElementProps\n\nconst InputContext = createContext<InputContextProps>({} as any)\n\nexport const InputProvider = ({\n children,\n disabled,\n 'aria-disabled': ariaDisabled,\n readOnly,\n required,\n valid,\n ...restProps\n}: PropsWithChildren<InputProviderProps>): JSX.Element => {\n const actionButtonRef = useRef<HTMLAnchorElement | HTMLButtonElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n const [focused, setFocused] = useState(false)\n const [hovered, setHovered] = useState(false)\n const [hasIconSlot, setHasIconSlot] = useState(false)\n const editable =\n !booleanify(disabled) && !booleanify(ariaDisabled) && !booleanify(readOnly)\n\n return (\n <InputContext.Provider\n value={{\n ...restProps,\n setFocused,\n setHovered,\n setHasIconSlot,\n hasIconSlot,\n hovered,\n focused,\n disabled,\n 'aria-disabled': ariaDisabled,\n readOnly,\n editable,\n inputRef,\n actionButtonRef,\n required,\n valid,\n }}\n >\n {children}\n </InputContext.Provider>\n )\n}\n\nexport const useInputContext = (): InputContextProps => useContext(InputContext)\n","import React from 'react'\nimport { addPropsToChildren, booleanify } from '@mirohq/design-system-utils'\nimport { isIconComponent } from '@mirohq/design-system-base-icon'\nimport type { ElementRef } from 'react'\nimport { useLayoutEffect } from '@mirohq/design-system-use-layout-effect'\n\nimport { StyledIconSlot } from './icon-slot.styled'\nimport { useInputContext } from '../hooks/use-input-context'\nimport type { StyledIconSlotProps } from './icon-slot.styled'\n\nexport interface IconSlotProps extends StyledIconSlotProps {}\n\nexport const IconSlot = React.forwardRef<\n ElementRef<typeof StyledIconSlot>,\n StyledIconSlotProps\n>(({ children, ...restProps }, forwardRef) => {\n const {\n 'aria-disabled': ariaDisabled,\n disabled,\n setHasIconSlot,\n } = useInputContext()\n const formattedChildren = addPropsToChildren(children, isIconComponent, {\n size: 'small',\n weight: 'thin',\n 'aria-hidden': true,\n })\n\n useLayoutEffect(() => {\n setHasIconSlot(true)\n return () => setHasIconSlot(false)\n }, [setHasIconSlot])\n\n return (\n <StyledIconSlot\n {...restProps}\n disabled={booleanify(disabled ?? ariaDisabled)}\n ref={forwardRef}\n >\n {formattedChildren}\n </StyledIconSlot>\n )\n})\n\nIconSlot.displayName = 'IconSlot'\n","import { styled } from '@mirohq/design-system-stitches'\nimport { BaseButton } from '@mirohq/design-system-base-button'\nimport { focus } from '@mirohq/design-system-styles'\nimport type { ComponentPropsWithRef } from 'react'\n\nexport const StyledActionButton = styled(BaseButton, {\n backgroundColor: 'transparent',\n color: '$icon-neutrals-subtle',\n display: 'flex',\n justifyContent: 'center',\n order: 3,\n padding: '6px',\n square: '$7',\n\n '& svg:not([data-icon-component]), & img:not([data-icon-component])': {\n square: '$icon-200',\n '--svg-stroke-width': '$stroke-width$thin',\n },\n\n ...focus.css({\n boxShadow: '$focus-small',\n }),\n\n '&:hover': {\n backgroundColor: '$background-neutrals-subtle-hover',\n },\n\n '&:active, &[data-pressed]': {\n backgroundColor: '$background-neutrals-subtle-active',\n },\n\n variants: {\n readOnlyAppearance: {\n true: {\n '& svg[data-icon-component], & img[data-icon-component]': {\n color: '$icon-neutrals-subtle',\n },\n },\n },\n disableAppearance: {\n true: {\n color: '$icon-neutrals-disabled',\n },\n },\n },\n})\n\nexport type StyledActionButtonProps = ComponentPropsWithRef<\n typeof StyledActionButton\n>\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport {\n mergeRefs,\n booleanify,\n addPropsToChildren,\n} from '@mirohq/design-system-utils'\nimport { Tooltip } from '@mirohq/design-system-tooltip'\nimport { isIconComponent } from '@mirohq/design-system-base-icon'\n\nimport { StyledActionButton } from './action-button.styled'\nimport type { StyledActionButtonProps } from './action-button.styled'\nimport { useInputContext } from '../hooks/use-input-context'\n\nexport type ActionButtonProps = StyledActionButtonProps & {\n label: string\n}\n\nexport const ActionButton = React.forwardRef<\n ElementRef<typeof StyledActionButton>,\n ActionButtonProps\n>(({ 'aria-label': ariaLabel, label, children, ...restProps }, forwardRef) => {\n const {\n valid,\n hovered,\n editable,\n 'aria-disabled': ariaDisabled,\n disabled,\n readOnly,\n actionButtonRef,\n } = useInputContext()\n\n const showInputSlot = valid === undefined || booleanify(hovered)\n\n let formattedChildren = children\n\n formattedChildren = addPropsToChildren(children, isIconComponent, {\n 'aria-hidden': true,\n })\n\n const hasPressEvent = Object.keys(restProps).some(key =>\n key.startsWith('onPress')\n )\n const customDisabled = restProps.disabled\n\n return (\n <>\n {showInputSlot && (\n <Tooltip>\n <Tooltip.Trigger asChild>\n <StyledActionButton\n type='button'\n {...restProps}\n aria-label={ariaLabel ?? label}\n disabled={\n hasPressEvent ? customDisabled : customDisabled ?? !editable\n }\n disableAppearance={\n hasPressEvent\n ? !booleanify(readOnly) && customDisabled\n : booleanify(disabled ?? ariaDisabled)\n }\n readOnlyAppearance={readOnly}\n ref={mergeRefs([forwardRef, actionButtonRef])}\n >\n {formattedChildren}\n </StyledActionButton>\n </Tooltip.Trigger>\n <Tooltip.Content>{label}</Tooltip.Content>\n </Tooltip>\n )}\n </>\n )\n})\n","import { IconCross } from '@mirohq/design-system-icons'\nimport { booleanify } from '@mirohq/design-system-utils'\n\nimport { ActionButton } from './partials/action-button'\nimport { useInputContext } from './hooks/use-input-context'\nimport type { ClearProps } from './types'\n\nexport type ClearActionProps = ClearProps\n\nexport const ClearAction = ({\n clearable,\n clearLabel,\n onClear,\n value,\n}: ClearActionProps): JSX.Element => {\n const {\n disabled,\n 'aria-disabled': ariaDisabled,\n readOnly,\n inputRef,\n } = useInputContext()\n\n if (!clearable) return <></>\n\n return (\n <ActionButton\n label={clearLabel}\n disabled={booleanify(disabled ?? ariaDisabled ?? readOnly)}\n onPress={() => {\n onClear?.(value ?? inputRef.current?.value)\n\n if (value === undefined && inputRef.current !== null) {\n inputRef.current.value = ''\n }\n }}\n >\n <IconCross />\n </ActionButton>\n )\n}\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { styles as baseInputStyles } from '@mirohq/design-system-base-input'\nimport type { ComponentPropsWithRef } from 'react'\nimport {\n IconExclamationPointCircle,\n IconCheckMark,\n} from '@mirohq/design-system-icons'\n\nimport { StyledIconSlot } from './partials/icon-slot.styled'\nimport { StyledActionButton } from './partials/action-button.styled'\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 StyledValidityBox = styled(Primitive.div, {\n order: 3,\n display: 'flex',\n alignItems: 'center',\n padding: '6px',\n})\n\nexport const StyledBaseInput = styled('div', {\n position: 'relative',\n alignItems: 'center',\n display: 'inline-flex',\n height: 'max-content',\n boxSizing: 'border-box',\n width: '100%',\n ...baseInputStyles.variants.idle,\n\n variants: {\n hovered: {\n true: {},\n false: {},\n },\n focused: {\n true: baseInputStyles.variants.focused,\n false: {},\n },\n valid: {\n true: {},\n false: {},\n },\n readOnly: {\n true: baseInputStyles.variants.readOnly,\n false: {},\n },\n disabled: {\n true: baseInputStyles.variants.disabled,\n false: {},\n },\n ariaDisabled: {\n true: baseInputStyles.variants.disabled,\n false: {},\n },\n size: {\n large: {\n height: '$10',\n padding: '0 $100 ',\n [`& ${StyledIconSlot}`]: {\n paddingRight: '$50',\n },\n [`& ${StyledActionButton}, & ${StyledValidityBox}`]: {\n marginLeft: '$50',\n },\n [`& ${StyledValidityBox}`]: {\n paddingRight: '6px',\n },\n },\n 'x-large': {\n height: '$12',\n padding: '0 $150',\n [`& ${StyledIconSlot}`]: {\n paddingRight: '$100',\n },\n [`& ${StyledActionButton}, & ${StyledValidityBox}`]: {\n marginLeft: '$100',\n },\n [`& ${StyledValidityBox}`]: {\n paddingRight: '6px',\n },\n },\n },\n },\n compoundVariants: [\n /** Idle states */\n {\n valid: false,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: baseInputStyles.variants.invalid.idle,\n },\n {\n valid: true,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: baseInputStyles.variants.valid.idle,\n },\n /** Focus States */\n {\n focused: true,\n readOnly: false,\n css: {\n borderColor: baseInputStyles.variants.focused.borderColor,\n },\n },\n {\n focused: true,\n readOnly: false,\n valid: false,\n disabled: false,\n ariaDisabled: false,\n css: baseInputStyles.variants.invalid.focused,\n },\n {\n focused: true,\n readOnly: false,\n valid: true,\n disabled: false,\n ariaDisabled: false,\n css: baseInputStyles.variants.valid.focused,\n },\n /** Hover states */\n {\n hovered: true,\n disabled: false,\n ariaDisabled: false,\n readOnly: false,\n css: baseInputStyles.variants.hovered,\n },\n {\n hovered: true,\n focused: false,\n valid: false,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: baseInputStyles.variants.invalid.hovered,\n },\n {\n hovered: true,\n focused: false,\n valid: true,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: baseInputStyles.variants.valid.hovered,\n },\n ],\n defaultVariants: {\n size: 'large',\n },\n})\n\nexport type StyledBaseInputProps = ComponentPropsWithRef<typeof StyledBaseInput>\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\nimport { styles as baseInputStyles } from '@mirohq/design-system-base-input'\n\nconst disabledAndReadonlySelectors =\n ':read-only, :disabled, [aria-disabled=\"true\"], [data-disabled]'\n\nexport const StyledInput = styled(Primitive.input, {\n all: 'unset',\n background: 'transparent',\n color: '$text-neutrals',\n width: '100%',\n borderRadius: '$50',\n order: 2,\n padding: '0 $50',\n height: '100%',\n\n '&::placeholder': {\n fontStyle: 'italic',\n },\n\n [`&:not(${disabledAndReadonlySelectors})::placeholder`]:\n baseInputStyles.base.placeholder,\n\n '&:read-only': {\n color: baseInputStyles.variants.readOnly.color,\n },\n\n '&:disabled, &[aria-disabled=true], &[data-disabled]':\n baseInputStyles.base.disabled,\n})\n\nexport type StyledInputProps = ComponentPropsWithRef<typeof StyledInput>\n","import React, { useEffect } from 'react'\nimport type { ElementRef } from 'react'\nimport { stringAttrValue, mergeRefs } from '@mirohq/design-system-utils'\nimport { useAriaDisabled } from '@mirohq/design-system-use-aria-disabled'\nimport { useFormFieldContext } from '@mirohq/design-system-base-form'\n\nimport { StyledInput } from './input.styled'\nimport type { StyledInputProps } from './input.styled'\nimport { useInputContext } from '../hooks/use-input-context'\n\nexport interface InputProps extends StyledInputProps {}\n\nexport const Input = React.forwardRef<\n ElementRef<typeof StyledInput>,\n InputProps\n>(\n (\n {\n id,\n 'aria-describedby': ariaDescribedBy,\n 'aria-invalid': ariaInvalid,\n ...restProps\n },\n forwardRef\n ) => {\n const {\n 'aria-disabled': ariaDisabled,\n disabled,\n setFocused,\n inputRef,\n required,\n readOnly,\n } = useInputContext()\n const {\n formElementId,\n ariaDescribedBy: formFieldContextDescribedBy,\n ariaInvalid: formFieldAriaInvalid,\n formElementRef,\n setRequired,\n setReadOnly,\n setDisabled,\n setAriaDisabled,\n } = useFormFieldContext<HTMLInputElement>()\n\n const { onBlur, onFocus, ...elementProps } = useAriaDisabled({\n ...restProps,\n ariaDisabled,\n })\n\n useEffect(() => {\n setRequired?.(required)\n setReadOnly?.(readOnly)\n setDisabled?.(disabled)\n setAriaDisabled?.(ariaDisabled)\n }, [\n disabled,\n ariaDisabled,\n readOnly,\n required,\n ariaInvalid,\n setRequired,\n setReadOnly,\n setDisabled,\n setAriaDisabled,\n ])\n\n const onFocusHandler = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setFocused(true)\n onFocus?.(e)\n },\n [setFocused, onFocus]\n )\n const onBlurHandler = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setFocused(false)\n onBlur?.(e)\n },\n [setFocused, onBlur]\n )\n\n return (\n <StyledInput\n {...elementProps}\n id={id ?? formElementId}\n readOnly={readOnly}\n aria-describedby={stringAttrValue(\n ariaDescribedBy,\n formFieldContextDescribedBy\n )}\n aria-invalid={ariaInvalid ?? formFieldAriaInvalid}\n disabled={disabled === true || undefined}\n required={required === true || undefined}\n onFocus={onFocusHandler}\n onBlur={onBlurHandler}\n ref={mergeRefs([inputRef, formElementRef, forwardRef])}\n />\n )\n }\n)\n","import React, { useRef } from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from '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 { usePress } from '@mirohq/design-system-use-press'\nimport { useHover } from '@react-aria/interactions'\nimport { mergeProps } from '@react-aria/utils'\n\nimport {\n StyledBaseInput,\n StyledValidityBox,\n StyledIconExclamationPointCircle,\n StyledIconCheckMark,\n} from './base-input.styled'\nimport { Input } from './partials/input'\nimport { InputProvider, useInputContext } from './hooks/use-input-context'\nimport type { BaseInputProps } from './hooks/use-base-input-props'\n\ntype BaseInputRootProps = Omit<\n BaseInputProps,\n // these props come from useInputContext, we don't pass it to BaseInput directly\n 'focused' | 'valid' | 'readOnly' | 'disabled' | 'ariaDisabled'\n>\n\nconst Root = React.forwardRef<\n ElementRef<typeof StyledBaseInput>,\n BaseInputRootProps\n>(({ children, size, placeholder, ...restProps }, forwardRef) => {\n const ref = useRef<HTMLDivElement>(null)\n const {\n valid: inputValid,\n 'aria-disabled': ariaDisabled,\n disabled,\n readOnly,\n focused,\n setHovered,\n inputRef,\n actionButtonRef,\n setFocused,\n hasIconSlot,\n } = useInputContext()\n const { hoverProps, isHovered: hovered } = useHover({\n onHoverChange: setHovered,\n })\n\n const { pressProps } = usePress({\n onPressStart: e => {\n const { target } = e.originalEvent as PointerEvent\n\n const shouldFocusInput = target !== actionButtonRef.current\n\n if (shouldFocusInput) {\n inputRef.current?.focus()\n setFocused(true)\n }\n },\n preventFocusOnPress: 'auto',\n })\n\n const ariaDisabledOrDisabled =\n booleanify(ariaDisabled) || booleanify(disabled)\n const inputValue =\n inputRef.current?.value ?? restProps.value ?? restProps.defaultValue\n\n // label\n const {\n label,\n shouldUseFloatingLabel,\n valid: formFieldValid,\n } = useFormFieldContext()\n const floatingLabel =\n placeholder !== undefined ||\n (inputValue !== undefined && inputValue !== '') ||\n focused\n\n // validity\n const valid = formFieldValid ?? inputValid\n const showValidityIcon =\n !booleanify(readOnly) &&\n !ariaDisabledOrDisabled &&\n !hovered &&\n !focused &&\n valid !== undefined\n const ValidIcon =\n valid === true ? StyledIconCheckMark : StyledIconExclamationPointCircle\n\n return (\n <StyledBaseInput\n {...mergeProps(restProps, hoverProps, pressProps)}\n data-invalid={booleanishAttrValue(valid === false)}\n data-valid={booleanishAttrValue(valid === true)}\n data-form-element='input'\n ref={mergeRefs([ref, forwardRef])}\n size={size}\n hovered={hovered}\n focused={focused}\n valid={valid}\n disabled={booleanify(disabled)}\n ariaDisabled={booleanify(ariaDisabled)}\n readOnly={booleanify(readOnly)}\n >\n {shouldUseFloatingLabel && (\n <FloatingLabel\n floating={floatingLabel}\n css={\n !floatingLabel && hasIconSlot\n ? // icon size + input padding\n {\n transform: `translate(calc($sizes$icon-200 + $space$50 - 1px), -1px)`,\n }\n : { transform: 'translate(-1px, -1px)' }\n }\n size={size}\n >\n {label}\n </FloatingLabel>\n )}\n {children}\n {showValidityIcon && (\n <StyledValidityBox>\n <ValidIcon size='small' weight='thin' />\n </StyledValidityBox>\n )}\n </StyledBaseInput>\n )\n})\n\nexport const BaseInput = React.forwardRef<\n ElementRef<typeof StyledBaseInput>,\n BaseInputProps\n>(\n (\n {\n 'aria-disabled': ariaDisabled,\n disabled,\n valid,\n readOnly,\n required,\n ...restProps\n },\n forwardRef\n ) => (\n <InputProvider\n valid={valid}\n disabled={disabled}\n aria-disabled={ariaDisabled}\n readOnly={readOnly}\n required={required}\n >\n <Root {...restProps} ref={forwardRef} />\n </InputProvider>\n )\n) as ForwardRefExoticComponent<BaseInputProps> & Partials\n\n// Partials\n// -----------------------------------------------------------------------------\nexport interface Partials {\n Input: typeof Input\n}\n\nBaseInput.Input = Input\n","import type { InputHTMLAttributes, ReactNode } from 'react'\nimport type { CSS } from '@mirohq/design-system-stitches'\n\nimport type { InputProps } from '../partials/input'\nimport type { StyledBaseInputProps } from '../base-input.styled'\nimport type { InputProviderProps } from './use-input-context'\n\nconst baseInputAllowedEvents = [\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseMoveCapture',\n 'onMouseOut',\n 'onMouseOutCapture',\n 'onMouseOver',\n 'onMouseOverCapture',\n 'onPointerEnter',\n 'onPointerEnterCapture',\n 'onPointerLeave',\n 'onPointerLeaveCapture',\n 'onPointerMove',\n 'onPointerMoveCapture',\n 'onPointerOut',\n 'onPointerOutCapture',\n 'onPointerOver',\n 'onPointerOverCapture',\n 'onTouchMove',\n 'onTouchMoveCapture',\n] as const\n\ntype BaseInputAllowedEventsKeys = typeof baseInputAllowedEvents[number]\n\ntype BaseInputEventProps = Pick<\n InputHTMLAttributes<HTMLInputElement>,\n BaseInputAllowedEventsKeys\n>\n\nexport type BaseInputProps = InputProviderProps &\n BaseInputEventProps &\n Pick<\n InputHTMLAttributes<HTMLInputElement>,\n 'value' | 'defaultValue' | 'placeholder'\n > & {\n size?: StyledBaseInputProps['size']\n\n children?: ReactNode\n\n // to pass down className generated by Stitches.styled when providing Input as an element\n className?: string\n css?: CSS\n }\n\nexport const useBaseInputProps = (\n allProps: Omit<BaseInputProps & Omit<InputProps, 'size'>, 'children'>\n): {\n baseInputProps: BaseInputProps\n inputProps: InputProps\n} => {\n const {\n valid,\n 'aria-disabled': ariaDisabled,\n readOnly,\n required,\n disabled,\n size,\n className,\n css,\n\n // shared props\n placeholder,\n value,\n defaultValue,\n\n ...restProps\n } = allProps\n\n const baseInputProps: BaseInputProps = {\n valid,\n 'aria-disabled': ariaDisabled,\n readOnly,\n required,\n disabled,\n size,\n className,\n css,\n placeholder,\n value,\n defaultValue,\n }\n\n const inputProps: InputProps = {\n placeholder,\n value,\n defaultValue,\n }\n\n Object.entries(restProps).forEach(([key, value]) => {\n if (baseInputAllowedEvents.includes(key as any)) {\n baseInputProps[key as BaseInputAllowedEventsKeys] = value\n } else {\n inputProps[key as keyof InputProps] = value\n }\n })\n\n return { baseInputProps, inputProps }\n}\n","import React from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\n\nimport { IconSlot } from './partials/icon-slot'\nimport { ActionButton } from './partials/action-button'\nimport { ClearAction } from './clear-action'\nimport { BaseInput } from './base-input'\nimport type { ClearableInputProps, ClearProps } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\n\nexport type InputProps = ClearableInputProps\n\nexport const Input = React.forwardRef<ElementRef<'input'>, InputProps>(\n ({ children, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClear,\n clearLabel,\n ...elementProps\n } = restProps as ClearProps\n\n const { baseInputProps, inputProps } = useBaseInputProps(elementProps)\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input {...inputProps} ref={forwardRef} />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClear={onClear}\n value={inputProps.value}\n />\n </BaseInput>\n )\n }\n) as ForwardRefExoticComponent<InputProps> & Partials\n\nexport interface Partials {\n ActionButton: typeof ActionButton\n IconSlot: typeof IconSlot\n}\n\nInput.ActionButton = ActionButton\nInput.IconSlot = IconSlot\n","import React, { useState, useRef } from 'react'\nimport {\n IconEyeOpen,\n IconEyeClosed,\n IconLockClosed,\n} from '@mirohq/design-system-icons'\nimport { mergeRefs } from '@mirohq/design-system-utils'\nimport type { ElementRef } from 'react'\n\nimport { BaseInput } from './base-input'\nimport { ActionButton } from './partials/action-button'\nimport { IconSlot } from './partials/icon-slot'\nimport type { InputSharedProps, Value } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\n\nexport interface InputPasswordProps extends Omit<InputSharedProps, 'type'> {\n /**\n * A boolean for the default password state (visible or masked).\n */\n defaultReveal?: boolean\n\n /**\n * Indicates whether the password should be revealed (visible) or hidden (masked).\n */\n reveal?: boolean\n\n /**\n * Callback function to be called when the password is revealed.\n */\n onReveal?: (value: Value) => void\n\n /**\n * Callback function to be called when the password is hidden (masked).\n */\n onHide?: (value: Value) => void\n\n /**\n * Tooltip label text for the action to reveal the password.\n */\n revealLabel: string\n\n /**\n * Tooltip label text for the action to hide (mask) the password.\n */\n hideLabel: string\n}\n\nexport const InputPassword = React.forwardRef<\n ElementRef<'input'>,\n InputPasswordProps\n>(\n (\n {\n reveal,\n defaultReveal,\n onReveal,\n onHide,\n hideLabel,\n revealLabel,\n children,\n ...restProps\n },\n forwardRef\n ) => {\n const inputRef = useRef<HTMLInputElement>(null)\n const [revealState, setRevealState] = useState(defaultReveal ?? false)\n const revealInternal = reveal ?? revealState\n\n const { baseInputProps, inputProps } = useBaseInputProps(restProps)\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input\n {...inputProps}\n type={revealInternal ? 'text' : 'password'}\n ref={mergeRefs([inputRef, forwardRef])}\n />\n {children}\n <IconSlot>\n <IconLockClosed />\n </IconSlot>\n <ActionButton\n label={revealInternal ? hideLabel : revealLabel}\n disabled={false}\n onPress={() => {\n const valueInternal = inputProps.value ?? inputRef.current?.value\n\n if (revealInternal) {\n onHide?.(valueInternal)\n } else {\n onReveal?.(valueInternal)\n }\n\n if (reveal === undefined) {\n setRevealState(reveal => !reveal)\n }\n }}\n >\n {revealInternal ? <IconEyeOpen /> : <IconEyeClosed />}\n </ActionButton>\n </BaseInput>\n )\n }\n)\n","import React from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\nimport { IconEnvelope } from '@mirohq/design-system-icons'\n\nimport { IconSlot } from './partials/icon-slot'\nimport { ActionButton } from './partials/action-button'\nimport { BaseInput } from './base-input'\nimport { ClearAction } from './clear-action'\nimport type { ClearableInputProps, ClearProps } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\n\nexport type InputEmailProps = ClearableInputProps\n\nexport const InputEmail = React.forwardRef<\n ElementRef<'input'>,\n InputEmailProps\n>(({ children, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClear,\n clearLabel,\n ...elementProps\n } = restProps as ClearProps\n\n const { baseInputProps, inputProps } = useBaseInputProps(elementProps)\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input type='email' {...inputProps} ref={forwardRef} />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClear={onClear}\n value={inputProps.value}\n />\n <IconSlot>\n <IconEnvelope />\n </IconSlot>\n </BaseInput>\n )\n}) as ForwardRefExoticComponent<InputEmailProps> & Partials\n\nexport interface Partials {\n ActionButton: typeof ActionButton\n}\n\nInputEmail.ActionButton = ActionButton\n","import React from 'react'\nimport { IconMagnifyingGlass } from '@mirohq/design-system-icons'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\n\nimport { IconSlot } from './partials/icon-slot'\nimport { ActionButton } from './partials/action-button'\nimport { BaseInput } from './base-input'\nimport { ClearAction } from './clear-action'\nimport type { ClearableInputProps, ClearProps } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\n\nexport type InputSearchProps = ClearableInputProps\n\nexport const InputSearch = React.forwardRef<\n ElementRef<'input'>,\n InputSearchProps\n>(({ children, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClear,\n clearLabel,\n ...elementProps\n } = restProps as ClearProps\n\n const { baseInputProps, inputProps } = useBaseInputProps(elementProps)\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input {...inputProps} ref={forwardRef} />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClear={onClear}\n value={inputProps.value}\n />\n <IconSlot>\n <IconMagnifyingGlass />\n </IconSlot>\n </BaseInput>\n )\n}) as ForwardRefExoticComponent<InputSearchProps> & Partials\n\nexport interface Partials {\n ActionButton: typeof ActionButton\n}\n\nInputSearch.ActionButton = ActionButton\n"],"names":["_a","baseInputStyles","Input","value","reveal"],"mappings":"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"}
1
+ {"version":3,"file":"module.js","sources":["../src/partials/icon-slot.styled.tsx","../src/hooks/use-input-context.tsx","../src/partials/icon-slot.tsx","../src/partials/action-button.styled.tsx","../src/partials/action-button.tsx","../src/clear-action.tsx","../src/base-input.styled.tsx","../src/partials/input.styled.tsx","../src/partials/input.tsx","../src/base-input.tsx","../src/hooks/use-base-input-props.ts","../src/input.tsx","../src/input-password.tsx","../src/input-email.tsx","../src/input-search.tsx"],"sourcesContent":["import { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\n\nexport const StyledIconSlot = styled(Primitive.div, {\n order: 1,\n alignContent: 'center',\n display: 'flex',\n justifyContent: 'center',\n color: '$icon-neutrals-subtle',\n\n '& svg, & img': {\n pointerEvents: 'none',\n },\n\n variants: {\n disabled: {\n true: {\n '& svg': {\n color: '$icon-neutrals-disabled',\n },\n },\n },\n },\n})\n\nexport type StyledIconSlotProps = ComponentPropsWithRef<typeof StyledIconSlot>\n","import React, { createContext, useContext, useState, useRef } from 'react'\nimport type { PropsWithChildren } from 'react'\nimport { booleanify } from '@mirohq/design-system-utils'\nimport type { FormElementProps } from '@mirohq/design-system-base-form'\n\ninterface InputProps extends FormElementProps {}\n\ninterface InputContextProps extends InputProps {\n focused: boolean\n setFocused: React.Dispatch<React.SetStateAction<boolean>>\n hovered: boolean\n setHovered: React.Dispatch<React.SetStateAction<boolean>>\n hasIconSlot: boolean\n setHasIconSlot: React.Dispatch<React.SetStateAction<boolean>>\n actionButtonRef: React.RefObject<HTMLAnchorElement | HTMLButtonElement>\n inputRef: React.RefObject<HTMLInputElement>\n editable: boolean\n}\n\nexport type InputProviderProps = FormElementProps\n\nconst InputContext = createContext<InputContextProps>({} as any)\n\nexport const InputProvider = ({\n children,\n disabled,\n 'aria-disabled': ariaDisabled,\n readOnly,\n required,\n valid,\n ...restProps\n}: PropsWithChildren<InputProviderProps>): JSX.Element => {\n const actionButtonRef = useRef<HTMLAnchorElement | HTMLButtonElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n const [focused, setFocused] = useState(false)\n const [hovered, setHovered] = useState(false)\n const [hasIconSlot, setHasIconSlot] = useState(false)\n const editable =\n !booleanify(disabled) && !booleanify(ariaDisabled) && !booleanify(readOnly)\n\n return (\n <InputContext.Provider\n value={{\n ...restProps,\n setFocused,\n setHovered,\n setHasIconSlot,\n hasIconSlot,\n hovered,\n focused,\n disabled,\n 'aria-disabled': ariaDisabled,\n readOnly,\n editable,\n inputRef,\n actionButtonRef,\n required,\n valid,\n }}\n >\n {children}\n </InputContext.Provider>\n )\n}\n\nexport const useInputContext = (): InputContextProps => useContext(InputContext)\n","import React from 'react'\nimport { addPropsToChildren, booleanify } from '@mirohq/design-system-utils'\nimport { isIconComponent } from '@mirohq/design-system-base-icon'\nimport type { ElementRef } from 'react'\nimport { useLayoutEffect } from '@mirohq/design-system-use-layout-effect'\n\nimport { StyledIconSlot } from './icon-slot.styled'\nimport { useInputContext } from '../hooks/use-input-context'\nimport type { StyledIconSlotProps } from './icon-slot.styled'\n\nexport interface IconSlotProps extends StyledIconSlotProps {}\n\nexport const IconSlot = React.forwardRef<\n ElementRef<typeof StyledIconSlot>,\n StyledIconSlotProps\n>(({ children, ...restProps }, forwardRef) => {\n const {\n 'aria-disabled': ariaDisabled,\n disabled,\n setHasIconSlot,\n } = useInputContext()\n const formattedChildren = addPropsToChildren(children, isIconComponent, {\n size: 'small',\n weight: 'thin',\n 'aria-hidden': true,\n })\n\n useLayoutEffect(() => {\n setHasIconSlot(true)\n return () => setHasIconSlot(false)\n }, [setHasIconSlot])\n\n return (\n <StyledIconSlot\n {...restProps}\n disabled={booleanify(disabled ?? ariaDisabled)}\n ref={forwardRef}\n >\n {formattedChildren}\n </StyledIconSlot>\n )\n})\n\nIconSlot.displayName = 'IconSlot'\n","import { styled } from '@mirohq/design-system-stitches'\nimport { BaseButton } from '@mirohq/design-system-base-button'\nimport { focus } from '@mirohq/design-system-styles'\nimport type { ComponentPropsWithRef } from 'react'\n\nexport const StyledActionButton = styled(BaseButton, {\n backgroundColor: 'transparent',\n color: '$icon-neutrals-subtle',\n display: 'flex',\n justifyContent: 'center',\n order: 3,\n padding: '6px',\n square: '$7',\n\n '& svg:not([data-icon-component]), & img:not([data-icon-component])': {\n square: '$icon-200',\n '--svg-stroke-width': '$stroke-width$thin',\n },\n\n ...focus.css({\n boxShadow: '$focus-small',\n }),\n\n '&:hover': {\n backgroundColor: '$background-neutrals-subtle-hover',\n },\n\n '&:active, &[data-pressed]': {\n backgroundColor: '$background-neutrals-subtle-active',\n },\n\n variants: {\n readOnlyAppearance: {\n true: {\n '& svg[data-icon-component], & img[data-icon-component]': {\n color: '$icon-neutrals-subtle',\n },\n },\n },\n disableAppearance: {\n true: {\n color: '$icon-neutrals-disabled',\n },\n },\n },\n})\n\nexport type StyledActionButtonProps = ComponentPropsWithRef<\n typeof StyledActionButton\n>\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport {\n mergeRefs,\n booleanify,\n addPropsToChildren,\n} from '@mirohq/design-system-utils'\nimport { Tooltip } from '@mirohq/design-system-tooltip'\nimport { isIconComponent } from '@mirohq/design-system-base-icon'\n\nimport { StyledActionButton } from './action-button.styled'\nimport type { StyledActionButtonProps } from './action-button.styled'\nimport { useInputContext } from '../hooks/use-input-context'\n\nexport type ActionButtonProps = StyledActionButtonProps & {\n label: string\n}\n\nexport const ActionButton = React.forwardRef<\n ElementRef<typeof StyledActionButton>,\n ActionButtonProps\n>(({ 'aria-label': ariaLabel, label, children, ...restProps }, forwardRef) => {\n const {\n valid,\n hovered,\n editable,\n 'aria-disabled': ariaDisabled,\n disabled,\n readOnly,\n actionButtonRef,\n } = useInputContext()\n\n const showInputSlot = valid === undefined || booleanify(hovered)\n\n let formattedChildren = children\n\n formattedChildren = addPropsToChildren(children, isIconComponent, {\n 'aria-hidden': true,\n })\n\n const hasPressEvent = Object.keys(restProps).some(key =>\n key.startsWith('onPress')\n )\n const customDisabled = restProps.disabled\n\n return (\n <>\n {showInputSlot && (\n <Tooltip>\n <Tooltip.Trigger asChild>\n <StyledActionButton\n type='button'\n {...restProps}\n aria-label={ariaLabel ?? label}\n disabled={\n hasPressEvent ? customDisabled : customDisabled ?? !editable\n }\n disableAppearance={\n hasPressEvent\n ? !booleanify(readOnly) && customDisabled\n : booleanify(disabled ?? ariaDisabled)\n }\n readOnlyAppearance={readOnly}\n ref={mergeRefs([forwardRef, actionButtonRef])}\n >\n {formattedChildren}\n </StyledActionButton>\n </Tooltip.Trigger>\n <Tooltip.Content>{label}</Tooltip.Content>\n </Tooltip>\n )}\n </>\n )\n})\n","import { IconCross } from '@mirohq/design-system-icons'\nimport { booleanify } from '@mirohq/design-system-utils'\n\nimport { ActionButton } from './partials/action-button'\nimport { useInputContext } from './hooks/use-input-context'\nimport type { ClearProps } from './types'\n\nexport type ClearActionProps = ClearProps\n\nexport const ClearAction = ({\n clearable,\n clearLabel,\n onClear,\n value,\n}: ClearActionProps): JSX.Element => {\n const {\n disabled,\n 'aria-disabled': ariaDisabled,\n readOnly,\n inputRef,\n } = useInputContext()\n\n if (!clearable) return <></>\n\n return (\n <ActionButton\n label={clearLabel}\n disabled={booleanify(disabled ?? ariaDisabled ?? readOnly)}\n onPress={() => {\n onClear?.(value ?? inputRef.current?.value)\n\n if (value === undefined && inputRef.current !== null) {\n inputRef.current.value = ''\n }\n }}\n >\n <IconCross />\n </ActionButton>\n )\n}\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { styles as baseInputStyles } from '@mirohq/design-system-base-input'\nimport type { ComponentPropsWithRef } from 'react'\nimport {\n IconExclamationPointCircle,\n IconCheckMark,\n} from '@mirohq/design-system-icons'\n\nimport { StyledIconSlot } from './partials/icon-slot.styled'\nimport { StyledActionButton } from './partials/action-button.styled'\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 StyledValidityBox = styled(Primitive.div, {\n order: 3,\n display: 'flex',\n alignItems: 'center',\n padding: '6px',\n})\n\nexport const StyledBaseInput = styled('div', {\n position: 'relative',\n alignItems: 'center',\n display: 'inline-flex',\n height: 'max-content',\n boxSizing: 'border-box',\n width: '100%',\n ...baseInputStyles.variants.idle,\n\n variants: {\n hovered: {\n true: {},\n false: {},\n },\n focused: {\n true: baseInputStyles.variants.focused,\n false: {},\n },\n valid: {\n true: {},\n false: {},\n },\n readOnly: {\n true: baseInputStyles.variants.readOnly,\n false: {},\n },\n disabled: {\n true: baseInputStyles.variants.disabled,\n false: {},\n },\n ariaDisabled: {\n true: baseInputStyles.variants.disabled,\n false: {},\n },\n size: {\n large: {\n height: '$10',\n padding: '0 $100 ',\n [`& ${StyledIconSlot}`]: {\n paddingRight: '$50',\n },\n [`& ${StyledActionButton}, & ${StyledValidityBox}`]: {\n marginLeft: '$50',\n },\n [`& ${StyledValidityBox}`]: {\n paddingRight: '6px',\n },\n },\n 'x-large': {\n height: '$12',\n padding: '0 $150',\n [`& ${StyledIconSlot}`]: {\n paddingRight: '$100',\n },\n [`& ${StyledActionButton}, & ${StyledValidityBox}`]: {\n marginLeft: '$100',\n },\n [`& ${StyledValidityBox}`]: {\n paddingRight: '6px',\n },\n },\n },\n },\n compoundVariants: [\n /** Idle states */\n {\n valid: false,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: baseInputStyles.variants.invalid.idle,\n },\n {\n valid: true,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: baseInputStyles.variants.valid.idle,\n },\n /** Focus States */\n {\n focused: true,\n readOnly: false,\n css: {\n borderColor: baseInputStyles.variants.focused.borderColor,\n },\n },\n {\n focused: true,\n readOnly: false,\n valid: false,\n disabled: false,\n ariaDisabled: false,\n css: baseInputStyles.variants.invalid.focused,\n },\n {\n focused: true,\n readOnly: false,\n valid: true,\n disabled: false,\n ariaDisabled: false,\n css: baseInputStyles.variants.valid.focused,\n },\n /** Hover states */\n {\n hovered: true,\n disabled: false,\n ariaDisabled: false,\n readOnly: false,\n css: baseInputStyles.variants.hovered,\n },\n {\n hovered: true,\n focused: false,\n valid: false,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: baseInputStyles.variants.invalid.hovered,\n },\n {\n hovered: true,\n focused: false,\n valid: true,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: baseInputStyles.variants.valid.hovered,\n },\n ],\n defaultVariants: {\n size: 'large',\n },\n})\n\nexport type StyledBaseInputProps = ComponentPropsWithRef<typeof StyledBaseInput>\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\nimport { styles as baseInputStyles } from '@mirohq/design-system-base-input'\n\nconst disabledAndReadonlySelectors =\n ':read-only, :disabled, [aria-disabled=\"true\"], [data-disabled]'\n\nexport const StyledInput = styled(Primitive.input, {\n all: 'unset',\n background: 'transparent',\n color: '$text-neutrals',\n width: '100%',\n borderRadius: '$50',\n order: 2,\n padding: '0 $50',\n height: '100%',\n\n '&::placeholder': {\n fontStyle: 'italic',\n },\n\n [`&:not(${disabledAndReadonlySelectors})::placeholder`]:\n baseInputStyles.base.placeholder,\n\n '&:read-only': {\n color: baseInputStyles.variants.readOnly.color,\n },\n\n '&:disabled, &[aria-disabled=true], &[data-disabled]':\n baseInputStyles.base.disabled,\n})\n\nexport type StyledInputProps = ComponentPropsWithRef<typeof StyledInput>\n","import React, { useEffect } from 'react'\nimport type { ElementRef } from 'react'\nimport { stringAttrValue, mergeRefs } from '@mirohq/design-system-utils'\nimport { useAriaDisabled } from '@mirohq/design-system-use-aria-disabled'\nimport { useFormFieldContext } from '@mirohq/design-system-base-form'\n\nimport { StyledInput } from './input.styled'\nimport type { StyledInputProps } from './input.styled'\nimport { useInputContext } from '../hooks/use-input-context'\n\nexport interface InputProps extends StyledInputProps {}\n\nexport const Input = React.forwardRef<\n ElementRef<typeof StyledInput>,\n InputProps\n>(\n (\n {\n id,\n 'aria-describedby': ariaDescribedBy,\n 'aria-invalid': ariaInvalid,\n ...restProps\n },\n forwardRef\n ) => {\n const {\n 'aria-disabled': ariaDisabled,\n disabled,\n setFocused,\n inputRef,\n required,\n readOnly,\n } = useInputContext()\n const {\n formElementId,\n ariaDescribedBy: formFieldContextDescribedBy,\n ariaInvalid: formFieldAriaInvalid,\n formElementRef,\n setRequired,\n setReadOnly,\n setDisabled,\n setAriaDisabled,\n } = useFormFieldContext<HTMLInputElement>()\n\n const { onBlur, onFocus, ...elementProps } = useAriaDisabled({\n ...restProps,\n ariaDisabled,\n })\n\n useEffect(() => {\n setRequired?.(required)\n setReadOnly?.(readOnly)\n setDisabled?.(disabled)\n setAriaDisabled?.(ariaDisabled)\n }, [\n disabled,\n ariaDisabled,\n readOnly,\n required,\n ariaInvalid,\n setRequired,\n setReadOnly,\n setDisabled,\n setAriaDisabled,\n ])\n\n const onFocusHandler = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setFocused(true)\n onFocus?.(e)\n },\n [setFocused, onFocus]\n )\n const onBlurHandler = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setFocused(false)\n onBlur?.(e)\n },\n [setFocused, onBlur]\n )\n\n return (\n <StyledInput\n {...elementProps}\n id={id ?? formElementId}\n readOnly={readOnly}\n aria-describedby={stringAttrValue(\n ariaDescribedBy,\n formFieldContextDescribedBy\n )}\n aria-invalid={ariaInvalid ?? formFieldAriaInvalid}\n disabled={disabled === true || undefined}\n required={required === true || undefined}\n onFocus={onFocusHandler}\n onBlur={onBlurHandler}\n ref={mergeRefs([inputRef, formElementRef, forwardRef])}\n />\n )\n }\n)\n","import React, { useRef } from 'react'\nimport type {\n ElementRef,\n ForwardRefExoticComponent,\n MouseEventHandler,\n} from '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 { usePress } from '@mirohq/design-system-use-press'\nimport { useHover } from '@react-aria/interactions'\nimport { mergeProps } from '@react-aria/utils'\n\nimport {\n StyledBaseInput,\n StyledValidityBox,\n StyledIconExclamationPointCircle,\n StyledIconCheckMark,\n} from './base-input.styled'\nimport { Input } from './partials/input'\nimport { InputProvider, useInputContext } from './hooks/use-input-context'\nimport type { BaseInputProps } from './hooks/use-base-input-props'\n\ntype BaseInputRootProps = Omit<\n BaseInputProps,\n // these props come from useInputContext, we don't pass it to BaseInput directly\n 'focused' | 'valid' | 'readOnly' | 'disabled' | 'ariaDisabled'\n>\n\nconst Root = React.forwardRef<\n ElementRef<typeof StyledBaseInput>,\n BaseInputRootProps\n>(({ children, size, placeholder, role, ...restProps }, forwardRef) => {\n const ref = useRef<HTMLDivElement>(null)\n const {\n valid: inputValid,\n 'aria-disabled': ariaDisabled,\n disabled,\n readOnly,\n focused,\n setHovered,\n inputRef,\n actionButtonRef,\n setFocused,\n hasIconSlot,\n } = useInputContext()\n const { hoverProps, isHovered: hovered } = useHover({\n onHoverChange: setHovered,\n })\n\n const { pressProps } = usePress({\n onPressEnd: e => {\n const { target } = e.originalEvent as PointerEvent\n\n const isActionButton =\n target === actionButtonRef.current ||\n actionButtonRef.current?.contains(target as Node) === true\n\n const shouldFocusInput =\n !isActionButton && !booleanify(disabled) && !booleanify(focused)\n\n if (shouldFocusInput) {\n inputRef.current?.focus()\n setFocused(true)\n }\n },\n preventFocusOnPress: 'auto',\n })\n\n // todo MDS-1032: move to onPressStart when preventDefault is supported for originalEvent\n const onMouseDown: MouseEventHandler<HTMLElement> = e => {\n const shouldPrevent =\n document.activeElement === inputRef.current && e.target === ref.current\n\n // to not lose focus on container click\n if (shouldPrevent) {\n e.preventDefault()\n }\n }\n\n const ariaDisabledOrDisabled =\n booleanify(ariaDisabled) || booleanify(disabled)\n const inputValue =\n inputRef.current?.value ?? restProps.value ?? restProps.defaultValue\n\n // label\n const {\n label,\n shouldUseFloatingLabel,\n valid: formFieldValid,\n } = useFormFieldContext()\n const floatingLabel =\n placeholder !== undefined ||\n (inputValue !== undefined && inputValue !== '') ||\n focused\n const useFloatingLabel = shouldUseFloatingLabel && role !== 'combobox'\n\n // validity\n const valid = formFieldValid ?? inputValid\n const showValidityIcon =\n !booleanify(readOnly) &&\n !ariaDisabledOrDisabled &&\n !hovered &&\n !focused &&\n valid !== undefined\n const ValidIcon =\n valid === true ? StyledIconCheckMark : StyledIconExclamationPointCircle\n\n return (\n <StyledBaseInput\n {...mergeProps(restProps, hoverProps, pressProps, {\n onMouseDown: onMouseDown,\n })}\n data-invalid={booleanishAttrValue(valid === false)}\n data-valid={booleanishAttrValue(valid === true)}\n data-form-element={role !== 'combobox' ? 'input' : undefined}\n ref={mergeRefs([ref, forwardRef])}\n size={size}\n hovered={hovered}\n focused={focused}\n valid={valid}\n disabled={booleanify(disabled)}\n ariaDisabled={booleanify(ariaDisabled)}\n readOnly={booleanify(readOnly)}\n >\n {useFloatingLabel && (\n <FloatingLabel\n floating={floatingLabel}\n css={\n !floatingLabel && hasIconSlot\n ? // icon size + input padding\n {\n transform: `translate(calc($sizes$icon-200 + $space$50 - 1px), -1px)`,\n }\n : floatingLabel\n ? { transform: 'translateY(calc(-50% - 1px))' }\n : undefined\n }\n size={size}\n >\n {label}\n </FloatingLabel>\n )}\n {children}\n {showValidityIcon && (\n <StyledValidityBox>\n <ValidIcon size='small' weight='thin' />\n </StyledValidityBox>\n )}\n </StyledBaseInput>\n )\n})\n\nexport const BaseInput = React.forwardRef<\n ElementRef<typeof StyledBaseInput>,\n BaseInputProps\n>(\n (\n {\n 'aria-disabled': ariaDisabled,\n disabled,\n valid,\n readOnly,\n required,\n ...restProps\n },\n forwardRef\n ) => (\n <InputProvider\n valid={valid}\n disabled={disabled}\n aria-disabled={ariaDisabled}\n readOnly={readOnly}\n required={required}\n >\n <Root {...restProps} ref={forwardRef} />\n </InputProvider>\n )\n) as ForwardRefExoticComponent<BaseInputProps> & Partials\n\n// Partials\n// -----------------------------------------------------------------------------\nexport interface Partials {\n Input: typeof Input\n}\n\nBaseInput.Input = Input\n","import type { InputHTMLAttributes, ReactNode } from 'react'\nimport type { CSS } from '@mirohq/design-system-stitches'\n\nimport type { InputProps } from '../partials/input'\nimport type { StyledBaseInputProps } from '../base-input.styled'\nimport type { InputProviderProps } from './use-input-context'\n\nconst baseInputAllowedEvents = [\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseMoveCapture',\n 'onMouseOut',\n 'onMouseOutCapture',\n 'onMouseOver',\n 'onMouseOverCapture',\n 'onPointerEnter',\n 'onPointerEnterCapture',\n 'onPointerLeave',\n 'onPointerLeaveCapture',\n 'onPointerMove',\n 'onPointerMoveCapture',\n 'onPointerOut',\n 'onPointerOutCapture',\n 'onPointerOver',\n 'onPointerOverCapture',\n 'onTouchMove',\n 'onTouchMoveCapture',\n] as const\n\ntype BaseInputAllowedEventsKeys = typeof baseInputAllowedEvents[number]\n\ntype BaseInputEventProps = Pick<\n InputHTMLAttributes<HTMLInputElement>,\n BaseInputAllowedEventsKeys\n>\n\nexport type BaseInputProps = InputProviderProps &\n BaseInputEventProps &\n Pick<\n InputHTMLAttributes<HTMLInputElement>,\n 'value' | 'defaultValue' | 'placeholder' | 'role'\n > & {\n size?: StyledBaseInputProps['size']\n\n children?: ReactNode\n\n // to pass down className generated by Stitches.styled when providing Input as an element\n className?: string\n css?: CSS\n }\n\nexport const useBaseInputProps = (\n allProps: Omit<BaseInputProps & Omit<InputProps, 'size'>, 'children'>\n): {\n baseInputProps: BaseInputProps\n inputProps: InputProps\n} => {\n const {\n valid,\n 'aria-disabled': ariaDisabled,\n readOnly,\n required,\n disabled,\n size,\n className,\n css,\n\n // shared props\n placeholder,\n value,\n defaultValue,\n role,\n\n ...restProps\n } = allProps\n\n const baseInputProps: BaseInputProps = {\n valid,\n 'aria-disabled': ariaDisabled,\n readOnly,\n required,\n disabled,\n size,\n className,\n css,\n placeholder,\n value,\n defaultValue,\n role,\n }\n\n const inputProps: InputProps = {\n placeholder,\n value,\n defaultValue,\n role,\n }\n\n Object.entries(restProps).forEach(([key, value]) => {\n if (baseInputAllowedEvents.includes(key as any)) {\n baseInputProps[key as BaseInputAllowedEventsKeys] = value\n } else {\n inputProps[key as keyof InputProps] = value\n }\n })\n\n return { baseInputProps, inputProps }\n}\n","import React from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\n\nimport { IconSlot } from './partials/icon-slot'\nimport { ActionButton } from './partials/action-button'\nimport { ClearAction } from './clear-action'\nimport { BaseInput } from './base-input'\nimport type { ClearableInputProps, ClearProps } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\n\nexport type InputProps = ClearableInputProps\n\nexport const Input = React.forwardRef<ElementRef<'input'>, InputProps>(\n ({ children, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClear,\n clearLabel,\n ...elementProps\n } = restProps as ClearProps\n\n const { baseInputProps, inputProps } = useBaseInputProps(elementProps)\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input {...inputProps} ref={forwardRef} />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClear={onClear}\n value={inputProps.value}\n />\n </BaseInput>\n )\n }\n) as ForwardRefExoticComponent<InputProps> & Partials\n\nexport interface Partials {\n ActionButton: typeof ActionButton\n IconSlot: typeof IconSlot\n}\n\nInput.ActionButton = ActionButton\nInput.IconSlot = IconSlot\n","import React, { useState, useRef } from 'react'\nimport {\n IconEyeOpen,\n IconEyeClosed,\n IconLockClosed,\n} from '@mirohq/design-system-icons'\nimport { mergeRefs } from '@mirohq/design-system-utils'\nimport type { ElementRef } from 'react'\n\nimport { BaseInput } from './base-input'\nimport { ActionButton } from './partials/action-button'\nimport { IconSlot } from './partials/icon-slot'\nimport type { InputSharedProps, Value } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\n\nexport interface InputPasswordProps extends Omit<InputSharedProps, 'type'> {\n /**\n * A boolean for the default password state (visible or masked).\n */\n defaultReveal?: boolean\n\n /**\n * Indicates whether the password should be revealed (visible) or hidden (masked).\n */\n reveal?: boolean\n\n /**\n * Callback function to be called when the password is revealed.\n */\n onReveal?: (value: Value) => void\n\n /**\n * Callback function to be called when the password is hidden (masked).\n */\n onHide?: (value: Value) => void\n\n /**\n * Tooltip label text for the action to reveal the password.\n */\n revealLabel: string\n\n /**\n * Tooltip label text for the action to hide (mask) the password.\n */\n hideLabel: string\n}\n\nexport const InputPassword = React.forwardRef<\n ElementRef<'input'>,\n InputPasswordProps\n>(\n (\n {\n reveal,\n defaultReveal,\n onReveal,\n onHide,\n hideLabel,\n revealLabel,\n children,\n ...restProps\n },\n forwardRef\n ) => {\n const inputRef = useRef<HTMLInputElement>(null)\n const [revealState, setRevealState] = useState(defaultReveal ?? false)\n const revealInternal = reveal ?? revealState\n\n const { baseInputProps, inputProps } = useBaseInputProps(restProps)\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input\n {...inputProps}\n type={revealInternal ? 'text' : 'password'}\n ref={mergeRefs([inputRef, forwardRef])}\n />\n {children}\n <IconSlot>\n <IconLockClosed />\n </IconSlot>\n <ActionButton\n label={revealInternal ? hideLabel : revealLabel}\n disabled={false}\n onPress={() => {\n const valueInternal = inputProps.value ?? inputRef.current?.value\n\n if (revealInternal) {\n onHide?.(valueInternal)\n } else {\n onReveal?.(valueInternal)\n }\n\n if (reveal === undefined) {\n setRevealState(reveal => !reveal)\n }\n }}\n >\n {revealInternal ? <IconEyeOpen /> : <IconEyeClosed />}\n </ActionButton>\n </BaseInput>\n )\n }\n)\n","import React from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\nimport { IconEnvelope } from '@mirohq/design-system-icons'\n\nimport { IconSlot } from './partials/icon-slot'\nimport { ActionButton } from './partials/action-button'\nimport { BaseInput } from './base-input'\nimport { ClearAction } from './clear-action'\nimport type { ClearableInputProps, ClearProps } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\n\nexport type InputEmailProps = ClearableInputProps\n\nexport const InputEmail = React.forwardRef<\n ElementRef<'input'>,\n InputEmailProps\n>(({ children, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClear,\n clearLabel,\n ...elementProps\n } = restProps as ClearProps\n\n const { baseInputProps, inputProps } = useBaseInputProps(elementProps)\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input type='email' {...inputProps} ref={forwardRef} />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClear={onClear}\n value={inputProps.value}\n />\n <IconSlot>\n <IconEnvelope />\n </IconSlot>\n </BaseInput>\n )\n}) as ForwardRefExoticComponent<InputEmailProps> & Partials\n\nexport interface Partials {\n ActionButton: typeof ActionButton\n}\n\nInputEmail.ActionButton = ActionButton\n","import React from 'react'\nimport { IconMagnifyingGlass } from '@mirohq/design-system-icons'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\n\nimport { IconSlot } from './partials/icon-slot'\nimport { ActionButton } from './partials/action-button'\nimport { BaseInput } from './base-input'\nimport { ClearAction } from './clear-action'\nimport type { ClearableInputProps, ClearProps } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\n\nexport type InputSearchProps = ClearableInputProps\n\nexport const InputSearch = React.forwardRef<\n ElementRef<'input'>,\n InputSearchProps\n>(({ children, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClear,\n clearLabel,\n ...elementProps\n } = restProps as ClearProps\n\n const { baseInputProps, inputProps } = useBaseInputProps(elementProps)\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input {...inputProps} ref={forwardRef} />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClear={onClear}\n value={inputProps.value}\n />\n <IconSlot>\n <IconMagnifyingGlass />\n </IconSlot>\n </BaseInput>\n )\n}) as ForwardRefExoticComponent<InputSearchProps> & Partials\n\nexport interface Partials {\n ActionButton: typeof ActionButton\n}\n\nInputSearch.ActionButton = ActionButton\n"],"names":["_a","baseInputStyles","Input","_b","value","reveal"],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -93,7 +93,7 @@ declare type StyledBaseInputProps = ComponentPropsWithRef<typeof StyledBaseInput
93
93
  declare const baseInputAllowedEvents: readonly ["onMouseEnter", "onMouseLeave", "onMouseMove", "onMouseMoveCapture", "onMouseOut", "onMouseOutCapture", "onMouseOver", "onMouseOverCapture", "onPointerEnter", "onPointerEnterCapture", "onPointerLeave", "onPointerLeaveCapture", "onPointerMove", "onPointerMoveCapture", "onPointerOut", "onPointerOutCapture", "onPointerOver", "onPointerOverCapture", "onTouchMove", "onTouchMoveCapture"];
94
94
  declare type BaseInputAllowedEventsKeys = typeof baseInputAllowedEvents[number];
95
95
  declare type BaseInputEventProps = Pick<InputHTMLAttributes<HTMLInputElement>, BaseInputAllowedEventsKeys>;
96
- declare type BaseInputProps = InputProviderProps & BaseInputEventProps & Pick<InputHTMLAttributes<HTMLInputElement>, 'value' | 'defaultValue' | 'placeholder'> & {
96
+ declare type BaseInputProps = InputProviderProps & BaseInputEventProps & Pick<InputHTMLAttributes<HTMLInputElement>, 'value' | 'defaultValue' | 'placeholder' | 'role'> & {
97
97
  size?: StyledBaseInputProps['size'];
98
98
  children?: ReactNode;
99
99
  className?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirohq/design-system-input",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "description": "",
5
5
  "author": "Miro",
6
6
  "source": "src/index.ts",
@@ -29,20 +29,20 @@
29
29
  "@react-aria/interactions": "^3.13.0",
30
30
  "@react-aria/utils": "^3.13.0",
31
31
  "@react-types/shared": "^3.16.0",
32
- "@mirohq/design-system-base-button": "^0.4.47",
33
- "@mirohq/design-system-base-icon": "^0.1.32",
32
+ "@mirohq/design-system-base-form": "^0.2.14",
34
33
  "@mirohq/design-system-base-input": "^0.0.4",
35
- "@mirohq/design-system-base-form": "^0.2.13",
36
- "@mirohq/design-system-icon-button": "^2.1.26",
37
- "@mirohq/design-system-icons": "^0.43.3",
38
- "@mirohq/design-system-stitches": "^2.6.11",
34
+ "@mirohq/design-system-base-icon": "^0.1.32",
35
+ "@mirohq/design-system-icons": "^0.43.4",
36
+ "@mirohq/design-system-base-button": "^0.4.47",
39
37
  "@mirohq/design-system-primitive": "^1.1.2",
40
- "@mirohq/design-system-tooltip": "^3.3.20",
38
+ "@mirohq/design-system-icon-button": "^2.1.27",
39
+ "@mirohq/design-system-stitches": "^2.6.11",
40
+ "@mirohq/design-system-styles": "^1.2.11",
41
+ "@mirohq/design-system-use-aria-disabled": "^0.1.5",
41
42
  "@mirohq/design-system-use-layout-effect": "^0.2.1",
42
- "@mirohq/design-system-use-aria-disabled": "^0.1.4",
43
- "@mirohq/design-system-use-press": "^0.3.5",
43
+ "@mirohq/design-system-tooltip": "^3.3.18",
44
44
  "@mirohq/design-system-utils": "^0.15.4",
45
- "@mirohq/design-system-styles": "^1.2.10"
45
+ "@mirohq/design-system-use-press": "^0.3.5"
46
46
  },
47
47
  "scripts": {
48
48
  "build": "rollup -c ../../../rollup.config.js",