@mirohq/design-system-input 0.1.8 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/module.js CHANGED
@@ -11,6 +11,7 @@ import { focus } from '@mirohq/design-system-styles';
11
11
  import { IconCross, IconExclamationPointCircle, IconCheckMark, IconLockClosed, IconEyeOpen, IconEyeClosed, IconEnvelope, IconMagnifyingGlass } from '@mirohq/design-system-icons';
12
12
  import { useFormFieldContext, FloatingLabel } from '@mirohq/design-system-base-form';
13
13
  import { useHover } from '@react-aria/interactions';
14
+ import { mergeProps } from '@react-aria/utils';
14
15
  import { styles } from '@mirohq/design-system-base-input';
15
16
  import { useAriaDisabled } from '@mirohq/design-system-use-aria-disabled';
16
17
 
@@ -489,8 +490,7 @@ const Root = React.forwardRef(({ children, size, placeholder, ...restProps }, fo
489
490
  return /* @__PURE__ */ jsxs(
490
491
  StyledBaseInput,
491
492
  {
492
- ...restProps,
493
- ...hoverProps,
493
+ ...mergeProps(restProps, hoverProps),
494
494
  "data-invalid": booleanishAttrValue(valid === false),
495
495
  "data-valid": booleanishAttrValue(valid === true),
496
496
  onClick: ({ target }) => {
@@ -551,67 +551,94 @@ const BaseInput = React.forwardRef(
551
551
  );
552
552
  BaseInput.Input = Input$1;
553
553
 
554
+ const baseInputAllowedEvents = [
555
+ "onMouseEnter",
556
+ "onMouseLeave",
557
+ "onMouseMove",
558
+ "onMouseMoveCapture",
559
+ "onMouseOut",
560
+ "onMouseOutCapture",
561
+ "onMouseOver",
562
+ "onMouseOverCapture",
563
+ "onPointerEnter",
564
+ "onPointerEnterCapture",
565
+ "onPointerLeave",
566
+ "onPointerLeaveCapture",
567
+ "onPointerMove",
568
+ "onPointerMoveCapture",
569
+ "onPointerOut",
570
+ "onPointerOutCapture",
571
+ "onPointerOver",
572
+ "onPointerOverCapture",
573
+ "onTouchMove",
574
+ "onTouchMoveCapture"
575
+ ];
576
+ const useBaseInputProps = (allProps) => {
577
+ const {
578
+ valid,
579
+ "aria-disabled": ariaDisabled,
580
+ readOnly,
581
+ required,
582
+ disabled,
583
+ size,
584
+ className,
585
+ css,
586
+ // shared props
587
+ placeholder,
588
+ value,
589
+ defaultValue,
590
+ ...restProps
591
+ } = allProps;
592
+ const baseInputProps = {
593
+ valid,
594
+ "aria-disabled": ariaDisabled,
595
+ readOnly,
596
+ required,
597
+ disabled,
598
+ size,
599
+ className,
600
+ css,
601
+ placeholder,
602
+ value,
603
+ defaultValue
604
+ };
605
+ const inputProps = {
606
+ placeholder,
607
+ value,
608
+ defaultValue
609
+ };
610
+ Object.entries(restProps).forEach(([key, value2]) => {
611
+ if (baseInputAllowedEvents.includes(key)) {
612
+ baseInputProps[key] = value2;
613
+ } else {
614
+ inputProps[key] = value2;
615
+ }
616
+ });
617
+ return { baseInputProps, inputProps };
618
+ };
619
+
554
620
  const Input = React.forwardRef(
555
- ({ value, defaultValue, ...restProps }, forwardRef) => {
621
+ ({ children, ...restProps }, forwardRef) => {
556
622
  const {
557
623
  clearable = false,
558
624
  onClear,
559
625
  clearLabel,
560
626
  ...elementProps
561
627
  } = restProps;
562
- const {
563
- valid,
564
- "aria-disabled": ariaDisabled,
565
- readOnly,
566
- required,
567
- disabled,
568
- hovered,
569
- focused,
570
- size,
628
+ const { baseInputProps, inputProps } = useBaseInputProps(elementProps);
629
+ return /* @__PURE__ */ jsxs(BaseInput, { ...baseInputProps, children: [
630
+ /* @__PURE__ */ jsx(BaseInput.Input, { ...inputProps, ref: forwardRef }),
571
631
  children,
572
- className,
573
- css,
574
- ...inputProps
575
- } = elementProps;
576
- return /* @__PURE__ */ jsxs(
577
- BaseInput,
578
- {
579
- disabled,
580
- valid,
581
- "aria-disabled": ariaDisabled,
582
- readOnly,
583
- required,
584
- hovered,
585
- focused,
586
- className,
587
- css,
588
- size,
589
- value,
590
- defaultValue,
591
- placeholder: inputProps.placeholder,
592
- children: [
593
- /* @__PURE__ */ jsx(
594
- BaseInput.Input,
595
- {
596
- ...inputProps,
597
- value,
598
- defaultValue,
599
- ref: forwardRef
600
- }
601
- ),
602
- children,
603
- /* @__PURE__ */ jsx(
604
- ClearAction,
605
- {
606
- clearable,
607
- clearLabel,
608
- onClear,
609
- value
610
- }
611
- )
612
- ]
613
- }
614
- );
632
+ /* @__PURE__ */ jsx(
633
+ ClearAction,
634
+ {
635
+ clearable,
636
+ clearLabel,
637
+ onClear,
638
+ value: inputProps.value
639
+ }
640
+ )
641
+ ] });
615
642
  }
616
643
  );
617
644
  Input.ActionButton = ActionButton;
@@ -619,174 +646,101 @@ Input.IconSlot = IconSlot;
619
646
 
620
647
  const InputPassword = React.forwardRef(
621
648
  ({
622
- value,
623
649
  reveal,
624
650
  defaultReveal,
625
651
  onReveal,
626
652
  onHide,
627
653
  hideLabel,
628
654
  revealLabel,
655
+ children,
629
656
  ...restProps
630
657
  }, forwardRef) => {
631
658
  const inputRef = useRef(null);
632
659
  const [revealState, setRevealState] = useState(defaultReveal != null ? defaultReveal : false);
633
660
  const revealInternal = reveal != null ? reveal : revealState;
634
- const {
635
- valid,
636
- "aria-disabled": ariaDisabled,
637
- readOnly,
638
- disabled,
639
- hovered,
640
- focused,
641
- size,
642
- ...inputProps
643
- } = restProps;
644
- return /* @__PURE__ */ jsxs(
645
- BaseInput,
646
- {
647
- disabled,
648
- valid,
649
- "aria-disabled": ariaDisabled,
650
- readOnly,
651
- hovered,
652
- focused,
653
- size,
654
- children: [
655
- /* @__PURE__ */ jsx(
656
- BaseInput.Input,
657
- {
658
- ...inputProps,
659
- type: revealInternal ? "text" : "password",
660
- value,
661
- ref: mergeRefs([inputRef, forwardRef])
661
+ const { baseInputProps, inputProps } = useBaseInputProps(restProps);
662
+ return /* @__PURE__ */ jsxs(BaseInput, { ...baseInputProps, children: [
663
+ /* @__PURE__ */ jsx(
664
+ BaseInput.Input,
665
+ {
666
+ ...inputProps,
667
+ type: revealInternal ? "text" : "password",
668
+ ref: mergeRefs([inputRef, forwardRef])
669
+ }
670
+ ),
671
+ children,
672
+ /* @__PURE__ */ jsx(IconSlot, { children: /* @__PURE__ */ jsx(IconLockClosed, {}) }),
673
+ /* @__PURE__ */ jsx(
674
+ ActionButton,
675
+ {
676
+ label: revealInternal ? hideLabel : revealLabel,
677
+ disabled: false,
678
+ onPress: () => {
679
+ var _a, _b;
680
+ const valueInternal = (_b = inputProps.value) != null ? _b : (_a = inputRef.current) == null ? void 0 : _a.value;
681
+ if (revealInternal) {
682
+ onHide == null ? void 0 : onHide(valueInternal);
683
+ } else {
684
+ onReveal == null ? void 0 : onReveal(valueInternal);
662
685
  }
663
- ),
664
- /* @__PURE__ */ jsx(IconSlot, { children: /* @__PURE__ */ jsx(IconLockClosed, {}) }),
665
- /* @__PURE__ */ jsx(
666
- ActionButton,
667
- {
668
- label: revealInternal ? hideLabel : revealLabel,
669
- disabled: false,
670
- onPress: () => {
671
- var _a;
672
- const valueInternal = value != null ? value : (_a = inputRef.current) == null ? void 0 : _a.value;
673
- if (revealInternal) {
674
- onHide == null ? void 0 : onHide(valueInternal);
675
- } else {
676
- onReveal == null ? void 0 : onReveal(valueInternal);
677
- }
678
- if (reveal === void 0) {
679
- setRevealState((reveal2) => !reveal2);
680
- }
681
- },
682
- children: revealInternal ? /* @__PURE__ */ jsx(IconEyeOpen, {}) : /* @__PURE__ */ jsx(IconEyeClosed, {})
686
+ if (reveal === void 0) {
687
+ setRevealState((reveal2) => !reveal2);
683
688
  }
684
- )
685
- ]
686
- }
687
- );
689
+ },
690
+ children: revealInternal ? /* @__PURE__ */ jsx(IconEyeOpen, {}) : /* @__PURE__ */ jsx(IconEyeClosed, {})
691
+ }
692
+ )
693
+ ] });
688
694
  }
689
695
  );
690
696
 
691
- const InputEmail = React.forwardRef(({ value, ...restProps }, forwardRef) => {
697
+ const InputEmail = React.forwardRef(({ children, ...restProps }, forwardRef) => {
692
698
  const {
693
699
  clearable = false,
694
700
  onClear,
695
701
  clearLabel,
696
702
  ...elementProps
697
703
  } = restProps;
698
- const {
699
- valid,
700
- "aria-disabled": ariaDisabled,
701
- readOnly,
702
- disabled,
703
- hovered,
704
- focused,
705
- size,
704
+ const { baseInputProps, inputProps } = useBaseInputProps(elementProps);
705
+ return /* @__PURE__ */ jsxs(BaseInput, { ...baseInputProps, children: [
706
+ /* @__PURE__ */ jsx(BaseInput.Input, { type: "email", ...inputProps, ref: forwardRef }),
706
707
  children,
707
- ...inputProps
708
- } = elementProps;
709
- return /* @__PURE__ */ jsxs(
710
- BaseInput,
711
- {
712
- disabled,
713
- valid,
714
- "aria-disabled": ariaDisabled,
715
- readOnly,
716
- hovered,
717
- focused,
718
- size,
719
- children: [
720
- /* @__PURE__ */ jsx(
721
- BaseInput.Input,
722
- {
723
- type: "email",
724
- ...inputProps,
725
- value,
726
- ref: forwardRef
727
- }
728
- ),
729
- children,
730
- /* @__PURE__ */ jsx(
731
- ClearAction,
732
- {
733
- clearable,
734
- clearLabel,
735
- onClear,
736
- value
737
- }
738
- ),
739
- /* @__PURE__ */ jsx(IconSlot, { children: /* @__PURE__ */ jsx(IconEnvelope, {}) })
740
- ]
741
- }
742
- );
708
+ /* @__PURE__ */ jsx(
709
+ ClearAction,
710
+ {
711
+ clearable,
712
+ clearLabel,
713
+ onClear,
714
+ value: inputProps.value
715
+ }
716
+ ),
717
+ /* @__PURE__ */ jsx(IconSlot, { children: /* @__PURE__ */ jsx(IconEnvelope, {}) })
718
+ ] });
743
719
  });
744
720
  InputEmail.ActionButton = ActionButton;
745
721
 
746
- const InputSearch = React.forwardRef(({ value, ...restProps }, forwardRef) => {
722
+ const InputSearch = React.forwardRef(({ children, ...restProps }, forwardRef) => {
747
723
  const {
748
724
  clearable = false,
749
725
  onClear,
750
726
  clearLabel,
751
727
  ...elementProps
752
728
  } = restProps;
753
- const {
754
- valid,
755
- "aria-disabled": ariaDisabled,
756
- readOnly,
757
- disabled,
758
- hovered,
759
- focused,
760
- size,
729
+ const { baseInputProps, inputProps } = useBaseInputProps(elementProps);
730
+ return /* @__PURE__ */ jsxs(BaseInput, { ...baseInputProps, children: [
731
+ /* @__PURE__ */ jsx(BaseInput.Input, { ...inputProps, ref: forwardRef }),
761
732
  children,
762
- ...inputProps
763
- } = elementProps;
764
- return /* @__PURE__ */ jsxs(
765
- BaseInput,
766
- {
767
- disabled,
768
- valid,
769
- "aria-disabled": ariaDisabled,
770
- readOnly,
771
- hovered,
772
- focused,
773
- size,
774
- children: [
775
- /* @__PURE__ */ jsx(BaseInput.Input, { ...inputProps, value, ref: forwardRef }),
776
- children,
777
- /* @__PURE__ */ jsx(
778
- ClearAction,
779
- {
780
- clearable,
781
- clearLabel,
782
- onClear,
783
- value
784
- }
785
- ),
786
- /* @__PURE__ */ jsx(IconSlot, { children: /* @__PURE__ */ jsx(IconMagnifyingGlass, {}) })
787
- ]
788
- }
789
- );
733
+ /* @__PURE__ */ jsx(
734
+ ClearAction,
735
+ {
736
+ clearable,
737
+ clearLabel,
738
+ onClear,
739
+ value: inputProps.value
740
+ }
741
+ ),
742
+ /* @__PURE__ */ jsx(IconSlot, { children: /* @__PURE__ */ jsx(IconMagnifyingGlass, {}) })
743
+ ] });
790
744
  });
791
745
  InputSearch.ActionButton = ActionButton;
792
746
 
@@ -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/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 interface ActionButtonProps extends 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 interface ClearActionProps extends 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 InputHTMLAttributes,\n HTMLAttributes,\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 { useHover } from '@react-aria/interactions'\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 { InputProviderProps } from './hooks/use-input-context'\nimport type { StyledBaseInputProps } from './base-input.styled'\n\nexport interface BaseInputProps\n extends InputProviderProps,\n Omit<\n StyledBaseInputProps,\n keyof HTMLAttributes<any> | keyof InputProviderProps\n >,\n Omit<InputHTMLAttributes<HTMLInputElement | HTMLDivElement>, 'size'> {\n hovered?: boolean\n focused?: boolean\n}\n\nconst Root = React.forwardRef<\n ElementRef<typeof StyledBaseInput>,\n BaseInputProps\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 hasIconSlot,\n } = useInputContext()\n const { hoverProps, isHovered: hovered } = useHover({\n onHoverChange: setHovered,\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 {...restProps}\n {...hoverProps}\n data-invalid={booleanishAttrValue(valid === false)}\n data-valid={booleanishAttrValue(valid === true)}\n onClick={({ target }) => {\n const shouldFocusInput = target !== actionButtonRef.current\n\n if (shouldFocusInput) {\n inputRef.current?.focus()\n }\n }}\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 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 { BaseInputProps } from './base-input'\nimport type { ClearableInputProps, ClearProps } from './types'\n\nexport type InputProps = ClearableInputProps\n\nexport const Input = React.forwardRef<ElementRef<'input'>, InputProps>(\n ({ value, defaultValue, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClear,\n clearLabel,\n ...elementProps\n } = restProps as ClearProps\n\n const {\n valid,\n 'aria-disabled': ariaDisabled,\n readOnly,\n required,\n disabled,\n hovered,\n focused,\n size,\n children,\n className,\n css,\n ...inputProps\n } = elementProps as BaseInputProps\n\n return (\n <BaseInput\n disabled={disabled}\n valid={valid}\n aria-disabled={ariaDisabled}\n readOnly={readOnly}\n required={required}\n hovered={hovered}\n focused={focused}\n className={className}\n css={css}\n size={size}\n value={value}\n defaultValue={defaultValue}\n placeholder={inputProps.placeholder}\n >\n <BaseInput.Input\n {...inputProps}\n value={value}\n defaultValue={defaultValue}\n ref={forwardRef}\n />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClear={onClear}\n value={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 { BaseInputProps } from './base-input'\nimport type { InputSharedProps, Value } from './types'\n\nexport interface InputPasswordProps\n extends Omit<InputSharedProps, 'type' | 'children'> {\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 value,\n reveal,\n defaultReveal,\n onReveal,\n onHide,\n hideLabel,\n revealLabel,\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 {\n valid,\n 'aria-disabled': ariaDisabled,\n readOnly,\n disabled,\n hovered,\n focused,\n size,\n ...inputProps\n } = restProps as BaseInputProps\n\n return (\n <BaseInput\n disabled={disabled}\n valid={valid}\n aria-disabled={ariaDisabled}\n readOnly={readOnly}\n hovered={hovered}\n focused={focused}\n size={size}\n >\n <BaseInput.Input\n {...inputProps}\n type={revealInternal ? 'text' : 'password'}\n value={value}\n ref={mergeRefs([inputRef, forwardRef])}\n />\n <IconSlot>\n <IconLockClosed />\n </IconSlot>\n <ActionButton\n label={revealInternal ? hideLabel : revealLabel}\n disabled={false}\n onPress={() => {\n const valueInternal = 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 type { BaseInputProps } from './base-input'\nimport { ClearAction } from './clear-action'\nimport type { ClearableInputProps, ClearProps } from './types'\n\nexport type InputEmailProps = ClearableInputProps\n\nexport const InputEmail = React.forwardRef<\n ElementRef<'input'>,\n InputEmailProps\n>(({ value, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClear,\n clearLabel,\n ...elementProps\n } = restProps as ClearProps\n\n const {\n valid,\n 'aria-disabled': ariaDisabled,\n readOnly,\n disabled,\n hovered,\n focused,\n size,\n children,\n ...inputProps\n } = elementProps as BaseInputProps\n\n return (\n <BaseInput\n disabled={disabled}\n valid={valid}\n aria-disabled={ariaDisabled}\n readOnly={readOnly}\n hovered={hovered}\n focused={focused}\n size={size}\n >\n <BaseInput.Input\n type='email'\n {...inputProps}\n value={value}\n ref={forwardRef}\n />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClear={onClear}\n value={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 { BaseInputProps } from './base-input'\nimport type { ClearableInputProps, ClearProps } from './types'\n\nexport type InputSearchProps = ClearableInputProps\n\nexport const InputSearch = React.forwardRef<\n ElementRef<'input'>,\n InputSearchProps\n>(({ value, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClear,\n clearLabel,\n ...elementProps\n } = restProps as ClearProps\n\n const {\n valid,\n 'aria-disabled': ariaDisabled,\n readOnly,\n disabled,\n hovered,\n focused,\n size,\n children,\n ...inputProps\n } = elementProps as BaseInputProps\n\n return (\n <BaseInput\n disabled={disabled}\n valid={valid}\n aria-disabled={ariaDisabled}\n readOnly={readOnly}\n hovered={hovered}\n focused={focused}\n size={size}\n >\n <BaseInput.Input {...inputProps} value={value} ref={forwardRef} />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClear={onClear}\n value={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","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 interface ActionButtonProps extends 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 interface ClearActionProps extends 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 { 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 hasIconSlot,\n } = useInputContext()\n const { hoverProps, isHovered: hovered } = useHover({\n onHoverChange: setHovered,\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)}\n data-invalid={booleanishAttrValue(valid === false)}\n data-valid={booleanishAttrValue(valid === true)}\n onClick={({ target }) => {\n const shouldFocusInput = target !== actionButtonRef.current\n\n if (shouldFocusInput) {\n inputRef.current?.focus()\n }\n }}\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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"}