@mirohq/design-system-input 0.0.22 → 0.1.0-forms.3

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
@@ -12,9 +12,10 @@ var designSystemTooltip = require('@mirohq/design-system-tooltip');
12
12
  var designSystemBaseButton = require('@mirohq/design-system-base-button');
13
13
  var designSystemStyles = require('@mirohq/design-system-styles');
14
14
  var designSystemIcons = require('@mirohq/design-system-icons');
15
+ var designSystemBaseForm = require('@mirohq/design-system-base-form');
15
16
  var interactions = require('@react-aria/interactions');
16
17
  var designSystemBaseInput = require('@mirohq/design-system-base-input');
17
- var utils = require('@react-aria/utils');
18
+ var designSystemUseAriaDisabled = require('@mirohq/design-system-use-aria-disabled');
18
19
 
19
20
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
21
 
@@ -40,32 +41,21 @@ const StyledIconSlot = designSystemStitches.styled(designSystemPrimitive.Primiti
40
41
  }
41
42
  });
42
43
 
43
- const InputContext = React.createContext({
44
- actionButtonRef: { current: null },
45
- inputRef: { current: null },
46
- setFocused: () => {
47
- },
48
- setHovered: () => {
49
- },
50
- setActive: () => {
51
- },
52
- editable: true,
53
- hovered: false,
54
- focused: false,
55
- active: false
56
- });
44
+ const InputContext = React.createContext({});
57
45
  const InputProvider = ({
58
46
  children,
59
47
  disabled,
60
48
  ariaDisabled,
61
49
  readOnly,
50
+ required,
51
+ valid,
62
52
  ...restProps
63
53
  }) => {
64
54
  const actionButtonRef = React.useRef(null);
65
55
  const inputRef = React.useRef(null);
66
56
  const [focused, setFocused] = React.useState(false);
67
57
  const [hovered, setHovered] = React.useState(false);
68
- const [active, setActive] = React.useState(false);
58
+ const [hasIconSlot, setHasIconSlot] = React.useState(false);
69
59
  const editable = !designSystemUtils.booleanify(disabled) && !designSystemUtils.booleanify(ariaDisabled) && !designSystemUtils.booleanify(readOnly);
70
60
  return /* @__PURE__ */ jsxRuntime.jsx(
71
61
  InputContext.Provider,
@@ -74,8 +64,8 @@ const InputProvider = ({
74
64
  ...restProps,
75
65
  setFocused,
76
66
  setHovered,
77
- setActive,
78
- active,
67
+ setHasIconSlot,
68
+ hasIconSlot,
79
69
  hovered,
80
70
  focused,
81
71
  disabled,
@@ -83,7 +73,9 @@ const InputProvider = ({
83
73
  readOnly,
84
74
  editable,
85
75
  inputRef,
86
- actionButtonRef
76
+ actionButtonRef,
77
+ required,
78
+ valid
87
79
  },
88
80
  children
89
81
  }
@@ -92,12 +84,16 @@ const InputProvider = ({
92
84
  const useInputContext = () => React.useContext(InputContext);
93
85
 
94
86
  const IconSlot = React__default["default"].forwardRef(({ children, ...restProps }, forwardRef) => {
95
- const { ariaDisabled, disabled } = useInputContext();
87
+ const { ariaDisabled, disabled, setHasIconSlot } = useInputContext();
96
88
  const formattedChildren = designSystemUtils.addPropsToChildren(children, designSystemBaseIcon.isIconComponent, {
97
89
  size: "small",
98
90
  weight: "thin",
99
91
  "aria-hidden": true
100
92
  });
93
+ React.useEffect(() => {
94
+ setHasIconSlot(true);
95
+ return () => setHasIconSlot(false);
96
+ }, [setHasIconSlot]);
101
97
  return /* @__PURE__ */ jsxRuntime.jsx(
102
98
  StyledIconSlot,
103
99
  {
@@ -108,6 +104,7 @@ const IconSlot = React__default["default"].forwardRef(({ children, ...restProps
108
104
  }
109
105
  );
110
106
  });
107
+ IconSlot.displayName = "IconSlot";
111
108
 
112
109
  const StyledActionButton = designSystemStitches.styled(designSystemBaseButton.BaseButton, {
113
110
  backgroundColor: "transparent",
@@ -151,13 +148,12 @@ const ActionButton = React__default["default"].forwardRef(({ "aria-label": ariaL
151
148
  valid,
152
149
  hovered,
153
150
  editable,
154
- active,
155
151
  ariaDisabled,
156
152
  disabled,
157
153
  readOnly,
158
154
  actionButtonRef
159
155
  } = useInputContext();
160
- const showInputSlot = valid === void 0 || designSystemUtils.booleanify(hovered) || designSystemUtils.booleanify(active);
156
+ const showInputSlot = valid === void 0 || designSystemUtils.booleanify(hovered);
161
157
  let formattedChildren = children;
162
158
  formattedChildren = designSystemUtils.addPropsToChildren(children, designSystemBaseIcon.isIconComponent, {
163
159
  "aria-hidden": true
@@ -231,7 +227,6 @@ const StyledBaseInput = designSystemStitches.styled("div", {
231
227
  alignItems: "center",
232
228
  display: "inline-flex",
233
229
  height: "max-content",
234
- justifyContent: "flex-end",
235
230
  position: "relative",
236
231
  verticalAlign: "middle",
237
232
  boxSizing: "border-box",
@@ -384,49 +379,103 @@ const StyledInput = designSystemStitches.styled(designSystemPrimitive.Primitive.
384
379
  });
385
380
 
386
381
  const Input$1 = React__default["default"].forwardRef((props, forwardRef) => {
387
- const { ariaDisabled, disabled, readOnly, setFocused, inputRef } = useInputContext();
388
- let elementProps = designSystemBaseInput.useAriaDisabled(props, ariaDisabled);
389
- const onBlurEventHandler = () => {
390
- setFocused == null ? void 0 : setFocused(false);
391
- };
392
- const onFocusEventHandler = () => {
393
- setFocused == null ? void 0 : setFocused(true);
394
- };
395
- elementProps = utils.mergeProps(elementProps, {
396
- onBlur: onBlurEventHandler,
397
- onFocus: onFocusEventHandler
382
+ var _a;
383
+ const {
384
+ ariaDisabled,
385
+ disabled,
386
+ setFocused,
387
+ inputRef,
388
+ required,
389
+ readOnly,
390
+ placeholder
391
+ } = useInputContext();
392
+ const {
393
+ formElementId,
394
+ ariaDescribedBy,
395
+ ariaInvalid,
396
+ formElementRef,
397
+ setRequired,
398
+ setReadOnly,
399
+ setDisabled,
400
+ setAriaDisabled,
401
+ setAriaInvalid
402
+ } = designSystemBaseForm.useFormFieldContext();
403
+ const elementProps = designSystemUseAriaDisabled.useAriaDisabled({
404
+ ...props,
405
+ disabled,
406
+ ariaDisabled
398
407
  });
408
+ React.useEffect(() => {
409
+ setRequired == null ? void 0 : setRequired(required);
410
+ setReadOnly == null ? void 0 : setReadOnly(readOnly);
411
+ setDisabled == null ? void 0 : setDisabled(disabled);
412
+ setAriaDisabled == null ? void 0 : setAriaDisabled(ariaDisabled);
413
+ setAriaInvalid == null ? void 0 : setAriaInvalid(ariaInvalid);
414
+ }, [
415
+ disabled,
416
+ ariaDisabled,
417
+ readOnly,
418
+ required,
419
+ ariaInvalid,
420
+ setRequired,
421
+ setReadOnly,
422
+ setDisabled,
423
+ setAriaDisabled,
424
+ setAriaInvalid
425
+ ]);
399
426
  return /* @__PURE__ */ jsxRuntime.jsx(
400
427
  StyledInput,
401
428
  {
402
- ...elementProps,
403
- "aria-disabled": ariaDisabled,
404
- disabled,
405
429
  readOnly,
406
- ref: designSystemUtils.mergeRefs([inputRef, forwardRef])
430
+ "aria-describedby": ariaDescribedBy,
431
+ "aria-invalid": ariaInvalid,
432
+ "aria-required": required,
433
+ placeholder,
434
+ ...elementProps,
435
+ onFocus: (e) => {
436
+ var _a2;
437
+ setFocused(true);
438
+ (_a2 = elementProps.onFocus) == null ? void 0 : _a2.call(elementProps, e);
439
+ },
440
+ onBlur: (e) => {
441
+ var _a2;
442
+ setFocused(false);
443
+ (_a2 = elementProps.onBlur) == null ? void 0 : _a2.call(elementProps, e);
444
+ },
445
+ id: (_a = props.id) != null ? _a : formElementId,
446
+ ref: designSystemUtils.mergeRefs([inputRef, formElementRef, forwardRef])
407
447
  }
408
448
  );
409
449
  });
410
450
 
411
- const Root = React__default["default"].forwardRef(({ children, ...restProps }, forwardRef) => {
451
+ const Root = React__default["default"].forwardRef(({ children, size, ...restProps }, forwardRef) => {
452
+ var _a, _b, _c;
453
+ const ref = React.useRef(null);
412
454
  const {
413
- valid,
455
+ valid: inputValid,
414
456
  ariaDisabled,
415
457
  disabled,
416
458
  readOnly,
417
459
  focused,
418
- active,
419
460
  setHovered,
420
- setActive,
421
461
  inputRef,
422
- actionButtonRef
462
+ actionButtonRef,
463
+ hasIconSlot,
464
+ placeholder
423
465
  } = useInputContext();
424
- const ref = React.useRef(null);
425
466
  const { hoverProps, isHovered: hovered } = interactions.useHover({
426
467
  onHoverChange: setHovered
427
468
  });
428
469
  const ariaDisabledOrDisabled = designSystemUtils.booleanify(ariaDisabled) || designSystemUtils.booleanify(disabled);
429
- const showValidityIcon = !ariaDisabledOrDisabled && !designSystemUtils.booleanify(readOnly) && !designSystemUtils.booleanify(hovered) && !designSystemUtils.booleanify(focused) && !designSystemUtils.booleanify(active) && (valid === true || valid === false);
470
+ const inputValue = (_c = (_b = (_a = inputRef.current) == null ? void 0 : _a.value) != null ? _b : restProps.value) != null ? _c : restProps.defaultValue;
471
+ const {
472
+ label: contextLabel,
473
+ shouldUseFloatingLabel,
474
+ valid: formFieldValid
475
+ } = designSystemBaseForm.useFormFieldContext();
476
+ const floatingLabel = placeholder !== void 0 || inputValue !== void 0 && inputValue !== "" || focused;
477
+ const valid = inputValid != null ? inputValid : formFieldValid;
478
+ const showValidityIcon = !designSystemUtils.booleanify(readOnly) && !ariaDisabledOrDisabled && !hovered && !focused && valid !== void 0;
430
479
  const ValidIcon = valid === true ? StyledIconCheckMark : StyledIconExclamationPointCircle;
431
480
  return /* @__PURE__ */ jsxRuntime.jsxs(
432
481
  StyledBaseInput,
@@ -434,33 +483,35 @@ const Root = React__default["default"].forwardRef(({ children, ...restProps }, f
434
483
  ...restProps,
435
484
  ...hoverProps,
436
485
  ref: designSystemUtils.mergeRefs([ref, forwardRef]),
486
+ size,
437
487
  hovered,
438
488
  focused,
439
489
  valid,
440
490
  disabled: designSystemUtils.booleanify(disabled),
441
491
  ariaDisabled: designSystemUtils.booleanify(ariaDisabled),
442
492
  readOnly: designSystemUtils.booleanify(readOnly),
443
- "data-invalid": valid === false ? "" : void 0,
444
- "data-valid": valid === true ? "" : void 0,
445
- onFocus: () => {
446
- setActive(true);
447
- },
448
- onBlur: () => {
449
- setTimeout(() => {
450
- var _a;
451
- if ((ref == null ? void 0 : ref.current) != null && !((_a = ref == null ? void 0 : ref.current) == null ? void 0 : _a.contains(document.activeElement))) {
452
- setActive(false);
453
- }
454
- }, 0);
455
- },
493
+ "data-invalid": designSystemUtils.booleanAttrValue(valid === false),
494
+ "data-valid": designSystemUtils.booleanAttrValue(valid === true),
456
495
  onClick: ({ target }) => {
457
- var _a;
496
+ var _a2;
458
497
  const shouldFocusInput = target !== actionButtonRef.current;
459
498
  if (shouldFocusInput) {
460
- (_a = inputRef.current) == null ? void 0 : _a.focus();
499
+ (_a2 = inputRef.current) == null ? void 0 : _a2.focus();
461
500
  }
462
501
  },
463
502
  children: [
503
+ shouldUseFloatingLabel && /* @__PURE__ */ jsxRuntime.jsx(
504
+ designSystemBaseForm.FloatingLabel,
505
+ {
506
+ floating: floatingLabel,
507
+ css: !floatingLabel && hasIconSlot ? {
508
+ // icon size + input padding
509
+ transform: "translateX(calc($sizes$icon-200 + $space$50))"
510
+ } : void 0,
511
+ size,
512
+ children: contextLabel
513
+ }
514
+ ),
464
515
  children,
465
516
  showValidityIcon && /* @__PURE__ */ jsxRuntime.jsx(StyledValidityBox, { children: /* @__PURE__ */ jsxRuntime.jsx(ValidIcon, { size: "small" }) })
466
517
  ]
@@ -468,13 +519,23 @@ const Root = React__default["default"].forwardRef(({ children, ...restProps }, f
468
519
  );
469
520
  });
470
521
  const BaseInput = React__default["default"].forwardRef(
471
- ({ "aria-disabled": ariaDisabled, disabled, valid, readOnly, ...restProps }, forwardRef) => /* @__PURE__ */ jsxRuntime.jsx(
522
+ ({
523
+ "aria-disabled": ariaDisabled,
524
+ placeholder,
525
+ disabled,
526
+ valid,
527
+ readOnly,
528
+ required,
529
+ ...restProps
530
+ }, forwardRef) => /* @__PURE__ */ jsxRuntime.jsx(
472
531
  InputProvider,
473
532
  {
474
533
  valid,
475
534
  disabled,
476
535
  ariaDisabled,
477
536
  readOnly,
537
+ required,
538
+ placeholder,
478
539
  children: /* @__PURE__ */ jsxRuntime.jsx(Root, { ...restProps, ref: forwardRef })
479
540
  }
480
541
  )
@@ -482,7 +543,7 @@ const BaseInput = React__default["default"].forwardRef(
482
543
  BaseInput.Input = Input$1;
483
544
 
484
545
  const Input = React__default["default"].forwardRef(
485
- ({ value, ...restProps }, forwardRef) => {
546
+ ({ value, defaultValue, ...restProps }, forwardRef) => {
486
547
  const inputRef = React.useRef(null);
487
548
  const {
488
549
  clearable = false,
@@ -494,6 +555,7 @@ const Input = React__default["default"].forwardRef(
494
555
  valid,
495
556
  "aria-disabled": ariaDisabled,
496
557
  readOnly,
558
+ required,
497
559
  disabled,
498
560
  hovered,
499
561
  focused,
@@ -501,6 +563,7 @@ const Input = React__default["default"].forwardRef(
501
563
  children,
502
564
  className,
503
565
  css,
566
+ label,
504
567
  ...inputProps
505
568
  } = elementProps;
506
569
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -510,17 +573,23 @@ const Input = React__default["default"].forwardRef(
510
573
  valid,
511
574
  "aria-disabled": ariaDisabled,
512
575
  readOnly,
576
+ required,
513
577
  hovered,
514
578
  focused,
515
579
  className,
516
580
  css,
517
581
  size,
582
+ label,
583
+ value,
584
+ defaultValue,
585
+ placeholder: inputProps.placeholder,
518
586
  children: [
519
587
  /* @__PURE__ */ jsxRuntime.jsx(
520
588
  BaseInput.Input,
521
589
  {
522
590
  ...inputProps,
523
591
  value,
592
+ defaultValue,
524
593
  ref: designSystemUtils.mergeRefs([inputRef, forwardRef])
525
594
  }
526
595
  ),
@@ -565,6 +634,7 @@ const InputPassword = React__default["default"].forwardRef(
565
634
  hovered,
566
635
  focused,
567
636
  size,
637
+ placeholder,
568
638
  ...inputProps
569
639
  } = restProps;
570
640
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -577,6 +647,7 @@ const InputPassword = React__default["default"].forwardRef(
577
647
  hovered,
578
648
  focused,
579
649
  size,
650
+ placeholder,
580
651
  children: [
581
652
  /* @__PURE__ */ jsxRuntime.jsx(
582
653
  BaseInput.Input,
@@ -631,6 +702,7 @@ const InputEmail = React__default["default"].forwardRef(({ value, ...restProps }
631
702
  focused,
632
703
  size,
633
704
  children,
705
+ placeholder,
634
706
  ...inputProps
635
707
  } = elementProps;
636
708
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -643,6 +715,7 @@ const InputEmail = React__default["default"].forwardRef(({ value, ...restProps }
643
715
  hovered,
644
716
  focused,
645
717
  size,
718
+ placeholder,
646
719
  children: [
647
720
  /* @__PURE__ */ jsxRuntime.jsx(
648
721
  BaseInput.Input,
@@ -688,6 +761,7 @@ const InputSearch = React__default["default"].forwardRef(({ value, ...restProps
688
761
  focused,
689
762
  size,
690
763
  children,
764
+ placeholder,
691
765
  ...inputProps
692
766
  } = elementProps;
693
767
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -700,6 +774,7 @@ const InputSearch = React__default["default"].forwardRef(({ value, ...restProps
700
774
  hovered,
701
775
  focused,
702
776
  size,
777
+ placeholder,
703
778
  children: [
704
779
  /* @__PURE__ */ jsxRuntime.jsx(
705
780
  BaseInput.Input,
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/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 { Booleanish } from '@mirohq/design-system-types'\n\nexport interface InputContextProps {\n disabled?: boolean\n ariaDisabled?: Booleanish\n readOnly?: boolean\n valid?: boolean\n hovered: boolean\n focused: boolean\n active: boolean\n actionButtonRef: React.RefObject<HTMLAnchorElement | HTMLButtonElement>\n inputRef: React.RefObject<HTMLInputElement>\n setFocused: React.Dispatch<React.SetStateAction<boolean>>\n setHovered: React.Dispatch<React.SetStateAction<boolean>>\n setActive: React.Dispatch<React.SetStateAction<boolean>>\n editable: boolean\n}\n\ninterface InputProviderProps {\n disabled?: boolean\n ariaDisabled?: Booleanish\n readOnly?: boolean\n valid?: boolean\n hovered?: boolean\n focused?: boolean\n active?: boolean\n editable?: boolean\n}\n\nconst InputContext = createContext<InputContextProps>({\n actionButtonRef: { current: null },\n inputRef: { current: null },\n setFocused: () => {},\n setHovered: () => {},\n setActive: () => {},\n editable: true,\n hovered: false,\n focused: false,\n active: false,\n})\n\nexport const InputProvider = ({\n children,\n disabled,\n ariaDisabled,\n readOnly,\n ...restProps\n}: PropsWithChildren<InputProviderProps>): any => {\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 [active, setActive] = 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 setActive,\n active,\n hovered,\n focused,\n disabled,\n ariaDisabled,\n readOnly,\n editable,\n inputRef,\n actionButtonRef,\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'\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 { ariaDisabled, disabled } = useInputContext()\n const formattedChildren = addPropsToChildren(children, isIconComponent, {\n size: 'small',\n weight: 'thin',\n 'aria-hidden': true,\n })\n\n return (\n <StyledIconSlot\n {...restProps}\n disabled={booleanify(disabled ?? ariaDisabled)}\n ref={forwardRef}\n >\n {formattedChildren}\n </StyledIconSlot>\n )\n})\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 active,\n ariaDisabled,\n disabled,\n readOnly,\n actionButtonRef,\n } = useInputContext()\n\n const showInputSlot =\n valid === undefined || booleanify(hovered) || booleanify(active)\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 type { HTMLProps } from 'react'\nimport { booleanify } from '@mirohq/design-system-utils'\n\nimport { ActionButton } from './partials/action-button'\nimport { useInputContext } from './hooks/use-input-context'\n\ntype Value = HTMLProps<'input'>['value']\n\nexport interface ClearProps {\n /**\n * Show X button for clearing the input value.\n */\n clearable: boolean\n\n /**\n * Tooltip label for the clear button.\n */\n\n clearLabel: string\n\n /**\n * Callback event called when clearing the input.\n */\n onClear?: (value: Value) => void\n\n /**\n * The controlled input's value.\n */\n value?: Value\n}\n\ninterface ClearActionProps extends ClearProps {\n inputRef: React.RefObject<HTMLInputElement>\n}\n\nexport const ClearAction = ({\n clearable,\n clearLabel,\n onClear,\n inputRef,\n value,\n}: ClearActionProps): JSX.Element => {\n const { disabled, ariaDisabled, readOnly } = 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 alignItems: 'center',\n display: 'inline-flex',\n height: 'max-content',\n justifyContent: 'flex-end',\n position: 'relative',\n verticalAlign: 'middle',\n boxSizing: 'border-box',\n width: '100%',\n ...baseInputStyles.variants.idle,\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 from 'react'\nimport type { FocusEventHandler, ElementRef } from 'react'\nimport { mergeRefs } from '@mirohq/design-system-utils'\nimport { useAriaDisabled } from '@mirohq/design-system-base-input'\nimport { mergeProps } from '@react-aria/utils'\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 StyledInputProps\n>((props, forwardRef) => {\n const { ariaDisabled, disabled, readOnly, setFocused, inputRef } =\n useInputContext()\n\n let elementProps = useAriaDisabled(props, ariaDisabled)\n\n const onBlurEventHandler: FocusEventHandler<HTMLInputElement> = (): void => {\n setFocused?.(false)\n }\n\n const onFocusEventHandler: FocusEventHandler<HTMLInputElement> = (): void => {\n setFocused?.(true)\n }\n\n elementProps = mergeProps(elementProps, {\n onBlur: onBlurEventHandler,\n onFocus: onFocusEventHandler,\n })\n\n return (\n <StyledInput\n {...elementProps}\n aria-disabled={ariaDisabled}\n disabled={disabled}\n readOnly={readOnly}\n ref={mergeRefs([inputRef, forwardRef])}\n />\n )\n})\n","import React, { useRef } from 'react'\nimport type {\n DOMAttributes,\n ElementRef,\n ForwardRefExoticComponent,\n} from 'react'\nimport { booleanify, mergeRefs } from '@mirohq/design-system-utils'\nimport type { Booleanish } from '@mirohq/design-system-types'\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 { StyledBaseInputProps } from './base-input.styled'\n\nexport interface BaseInputProps\n extends Omit<StyledBaseInputProps, keyof DOMAttributes<Element>> {\n 'aria-disabled'?: Booleanish | undefined\n disabled?: boolean | undefined\n readOnly?: boolean | undefined\n valid?: boolean | undefined\n hovered?: boolean | undefined\n focused?: boolean | undefined\n children: React.ReactNode\n className?: string | undefined\n}\n\nconst Root = React.forwardRef<\n ElementRef<typeof StyledBaseInput>,\n BaseInputProps\n>(({ children, ...restProps }, forwardRef) => {\n const {\n valid,\n ariaDisabled,\n disabled,\n readOnly,\n focused,\n active,\n setHovered,\n setActive,\n inputRef,\n actionButtonRef,\n } = useInputContext()\n\n const ref = useRef<HTMLDivElement>(null)\n\n const { hoverProps, isHovered: hovered } = useHover({\n onHoverChange: setHovered,\n })\n\n const ariaDisabledOrDisabled =\n booleanify(ariaDisabled) || booleanify(disabled)\n\n const showValidityIcon =\n !ariaDisabledOrDisabled &&\n !booleanify(readOnly) &&\n !booleanify(hovered) &&\n !booleanify(focused) &&\n !booleanify(active) &&\n (valid === true || valid === false)\n\n const ValidIcon =\n valid === true ? StyledIconCheckMark : StyledIconExclamationPointCircle\n\n return (\n <StyledBaseInput\n {...restProps}\n {...hoverProps}\n ref={mergeRefs([ref, forwardRef])}\n hovered={hovered}\n focused={focused}\n valid={valid}\n disabled={booleanify(disabled)}\n ariaDisabled={booleanify(ariaDisabled)}\n readOnly={booleanify(readOnly)}\n data-invalid={valid === false ? '' : undefined}\n data-valid={valid === true ? '' : undefined}\n onFocus={() => {\n setActive(true)\n }}\n onBlur={() => {\n setTimeout(() => {\n if (\n ref?.current != null &&\n !ref?.current?.contains(document.activeElement)\n ) {\n setActive(false)\n }\n }, 0)\n }}\n onClick={({ target }) => {\n const shouldFocusInput = target !== actionButtonRef.current\n\n if (shouldFocusInput) {\n inputRef.current?.focus()\n }\n }}\n >\n {children}\n {showValidityIcon && (\n <StyledValidityBox>\n <ValidIcon size='small' />\n </StyledValidityBox>\n )}\n </StyledBaseInput>\n )\n})\n\nexport const BaseInput = React.forwardRef<\n ElementRef<typeof StyledBaseInput>,\n BaseInputProps\n>(\n (\n { 'aria-disabled': ariaDisabled, disabled, valid, readOnly, ...restProps },\n forwardRef\n ) => (\n <InputProvider\n valid={valid}\n disabled={disabled}\n ariaDisabled={ariaDisabled}\n readOnly={readOnly}\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, { useRef } from 'react'\nimport { mergeRefs } from '@mirohq/design-system-utils'\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 { InputSharedProps } from './types'\nimport type { ClearProps } from './clear-action'\n\nexport type InputProps = InputSharedProps & ({ clearable?: never } | ClearProps)\n\nexport const Input = React.forwardRef<ElementRef<'input'>, InputProps>(\n ({ value, ...restProps }, forwardRef) => {\n const inputRef = useRef<HTMLInputElement>(null)\n\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 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 hovered={hovered}\n focused={focused}\n className={className}\n css={css}\n size={size}\n >\n <BaseInput.Input\n {...inputProps}\n value={value}\n ref={mergeRefs([inputRef, forwardRef])}\n />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClear={onClear}\n inputRef={inputRef}\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, HTMLProps } 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 } from './types'\n\ntype Value = HTMLProps<'input'>['value']\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 (value === undefined) {\n setRevealState(reveal => !reveal)\n }\n }}\n >\n {revealInternal ? <IconEyeOpen /> : <IconEyeClosed />}\n </ActionButton>\n </BaseInput>\n )\n }\n)\n","import React, { useRef } from 'react'\nimport { mergeRefs } from '@mirohq/design-system-utils'\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 type { InputSharedProps } from './types'\nimport { ClearAction } from './clear-action'\nimport type { ClearProps } from './clear-action'\n\nexport type InputEmailProps = InputSharedProps &\n ({ clearable?: never } | ClearProps)\n\nexport const InputEmail = React.forwardRef<\n ElementRef<'input'>,\n InputEmailProps\n>(({ value, ...restProps }, forwardRef) => {\n const inputRef = useRef<HTMLInputElement>(null)\n\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={mergeRefs([inputRef, forwardRef])}\n />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClear={onClear}\n inputRef={inputRef}\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, { useRef } from 'react'\nimport { mergeRefs } from '@mirohq/design-system-utils'\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 { InputSharedProps } from './types'\nimport type { ClearProps } from './clear-action'\n\nexport type InputSearchProps = InputSharedProps &\n ({ clearable?: never } | ClearProps)\n\nexport const InputSearch = React.forwardRef<\n ElementRef<'input'>,\n InputSearchProps\n>(({ value, ...restProps }, forwardRef) => {\n const inputRef = useRef<HTMLInputElement>(null)\n\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 {...inputProps}\n value={value}\n ref={mergeRefs([inputRef, forwardRef])}\n />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClear={onClear}\n inputRef={inputRef}\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":["styled","Primitive","createContext","useRef","useState","booleanify","jsx","useContext","React","addPropsToChildren","isIconComponent","BaseButton","focus","Fragment","jsxs","Tooltip","mergeRefs","_a","IconCross","IconExclamationPointCircle","IconCheckMark","baseInputStyles","Input","useAriaDisabled","mergeProps","useHover","IconLockClosed","reveal","IconEyeOpen","IconEyeClosed","IconEnvelope","IconMagnifyingGlass"],"mappings":"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"}
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/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 { Booleanish } from '@mirohq/design-system-types'\n\ninterface InputProps {\n disabled?: boolean\n ariaDisabled?: Booleanish\n readOnly?: boolean\n valid?: boolean\n required?: boolean\n placeholder?: string\n}\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 = InputProps\n\nconst InputContext = createContext<InputContextProps>({} as any)\n\nexport const InputProvider = ({\n children,\n disabled,\n ariaDisabled,\n readOnly,\n required,\n valid,\n ...restProps\n}: PropsWithChildren<InputProviderProps>): any => {\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 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, { useEffect } from 'react'\nimport { addPropsToChildren, booleanify } from '@mirohq/design-system-utils'\nimport { isIconComponent } from '@mirohq/design-system-base-icon'\nimport type { ElementRef } from 'react'\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 { ariaDisabled, disabled, setHasIconSlot } = useInputContext()\n const formattedChildren = addPropsToChildren(children, isIconComponent, {\n size: 'small',\n weight: 'thin',\n 'aria-hidden': true,\n })\n\n useEffect(() => {\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 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 inputRef: React.RefObject<HTMLInputElement>\n}\n\nexport const ClearAction = ({\n clearable,\n clearLabel,\n onClear,\n inputRef,\n value,\n}: ClearActionProps): JSX.Element => {\n const { disabled, ariaDisabled, readOnly } = 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 alignItems: 'center',\n display: 'inline-flex',\n height: 'max-content',\n position: 'relative',\n verticalAlign: 'middle',\n boxSizing: 'border-box',\n width: '100%',\n ...baseInputStyles.variants.idle,\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 { 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>((props, forwardRef) => {\n const {\n ariaDisabled,\n disabled,\n setFocused,\n inputRef,\n required,\n readOnly,\n placeholder,\n } = useInputContext()\n const {\n formElementId,\n ariaDescribedBy,\n ariaInvalid,\n formElementRef,\n setRequired,\n setReadOnly,\n setDisabled,\n setAriaDisabled,\n setAriaInvalid,\n } = useFormFieldContext()\n\n const elementProps = useAriaDisabled({\n ...props,\n disabled,\n ariaDisabled,\n })\n\n useEffect(() => {\n setRequired?.(required)\n setReadOnly?.(readOnly)\n setDisabled?.(disabled)\n setAriaDisabled?.(ariaDisabled)\n setAriaInvalid?.(ariaInvalid)\n }, [\n disabled,\n ariaDisabled,\n readOnly,\n required,\n ariaInvalid,\n setRequired,\n setReadOnly,\n setDisabled,\n setAriaDisabled,\n setAriaInvalid,\n ])\n\n return (\n <StyledInput\n readOnly={readOnly}\n aria-describedby={ariaDescribedBy}\n aria-invalid={ariaInvalid}\n aria-required={required}\n placeholder={placeholder}\n {...elementProps}\n onFocus={e => {\n setFocused(true)\n elementProps.onFocus?.(e)\n }}\n onBlur={e => {\n setFocused(false)\n elementProps.onBlur?.(e)\n }}\n id={props.id ?? formElementId}\n ref={mergeRefs([inputRef, formElementRef, forwardRef])}\n />\n )\n})\n","import React, { useRef } from 'react'\nimport type {\n ElementRef,\n ForwardRefExoticComponent,\n InputHTMLAttributes,\n} from 'react'\nimport {\n booleanify,\n booleanAttrValue,\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 { StyledBaseInputProps } from './base-input.styled'\n\nexport interface BaseInputProps\n extends Omit<\n StyledBaseInputProps,\n Exclude<keyof InputHTMLAttributes<'input' | 'div'>, 'size'>\n >,\n Omit<InputHTMLAttributes<any>, 'size'> {\n label?: React.ReactNode\n valid?: boolean\n hovered?: boolean\n focused?: boolean\n}\n\nconst Root = React.forwardRef<\n ElementRef<typeof StyledBaseInput>,\n BaseInputProps\n>(({ children, size, ...restProps }, forwardRef) => {\n const ref = useRef<HTMLDivElement>(null)\n const {\n valid: inputValid,\n ariaDisabled,\n disabled,\n readOnly,\n focused,\n setHovered,\n inputRef,\n actionButtonRef,\n hasIconSlot,\n placeholder,\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: contextLabel,\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 = inputValid ?? formFieldValid\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 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 data-invalid={booleanAttrValue(valid === false)}\n data-valid={booleanAttrValue(valid === true)}\n onClick={({ target }) => {\n const shouldFocusInput = target !== actionButtonRef.current\n\n if (shouldFocusInput) {\n inputRef.current?.focus()\n }\n }}\n >\n {shouldUseFloatingLabel && (\n <FloatingLabel\n floating={floatingLabel}\n css={\n !floatingLabel && hasIconSlot\n ? {\n // icon size + input padding\n transform: `translateX(calc($sizes$icon-200 + $space$50))`,\n }\n : undefined\n }\n size={size}\n >\n {contextLabel}\n </FloatingLabel>\n )}\n {children}\n {showValidityIcon && (\n <StyledValidityBox>\n <ValidIcon size='small' />\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 placeholder,\n disabled,\n valid,\n readOnly,\n required,\n ...restProps\n },\n forwardRef\n ) => (\n <InputProvider\n valid={valid}\n disabled={disabled}\n ariaDisabled={ariaDisabled}\n readOnly={readOnly}\n required={required}\n placeholder={placeholder}\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, { useRef } from 'react'\nimport { mergeRefs } from '@mirohq/design-system-utils'\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 inputRef = useRef<HTMLInputElement>(null)\n\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 label,\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 label={label}\n value={value}\n defaultValue={defaultValue}\n placeholder={inputProps.placeholder}\n >\n <BaseInput.Input\n {...inputProps}\n value={value}\n defaultValue={defaultValue}\n ref={mergeRefs([inputRef, forwardRef])}\n />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClear={onClear}\n inputRef={inputRef}\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 { ClearableInputProps, Value } from './types'\n\nexport interface InputPasswordProps\n extends Omit<ClearableInputProps, '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 placeholder,\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 placeholder={placeholder}\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 (value === undefined) {\n setRevealState(reveal => !reveal)\n }\n }}\n >\n {revealInternal ? <IconEyeOpen /> : <IconEyeClosed />}\n </ActionButton>\n </BaseInput>\n )\n }\n)\n","import React, { useRef } from 'react'\nimport { mergeRefs } from '@mirohq/design-system-utils'\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 inputRef = useRef<HTMLInputElement>(null)\n\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 placeholder,\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 placeholder={placeholder}\n >\n <BaseInput.Input\n type='email'\n {...inputProps}\n value={value}\n ref={mergeRefs([inputRef, forwardRef])}\n />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClear={onClear}\n inputRef={inputRef}\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, { useRef } from 'react'\nimport { mergeRefs } from '@mirohq/design-system-utils'\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 inputRef = useRef<HTMLInputElement>(null)\n\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 placeholder,\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 placeholder={placeholder}\n >\n <BaseInput.Input\n {...inputProps}\n value={value}\n ref={mergeRefs([inputRef, forwardRef])}\n />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClear={onClear}\n inputRef={inputRef}\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":["styled","Primitive","createContext","useRef","useState","booleanify","jsx","useContext","React","addPropsToChildren","isIconComponent","useEffect","BaseButton","focus","Fragment","jsxs","Tooltip","mergeRefs","_a","IconCross","IconExclamationPointCircle","IconCheckMark","baseInputStyles","Input","useFormFieldContext","useAriaDisabled","useHover","booleanAttrValue","FloatingLabel","IconLockClosed","reveal","IconEyeOpen","IconEyeClosed","IconEnvelope","IconMagnifyingGlass"],"mappings":"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"}