@mirohq/design-system-input 0.1.0-forms.6 → 0.1.0-forms.7

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
@@ -46,7 +46,7 @@ const InputContext = React.createContext({});
46
46
  const InputProvider = ({
47
47
  children,
48
48
  disabled,
49
- ariaDisabled,
49
+ "aria-disabled": ariaDisabled,
50
50
  readOnly,
51
51
  required,
52
52
  valid,
@@ -70,7 +70,7 @@ const InputProvider = ({
70
70
  hovered,
71
71
  focused,
72
72
  disabled,
73
- ariaDisabled,
73
+ "aria-disabled": ariaDisabled,
74
74
  readOnly,
75
75
  editable,
76
76
  inputRef,
@@ -85,7 +85,11 @@ const InputProvider = ({
85
85
  const useInputContext = () => React.useContext(InputContext);
86
86
 
87
87
  const IconSlot = React__default["default"].forwardRef(({ children, ...restProps }, forwardRef) => {
88
- const { ariaDisabled, disabled, setHasIconSlot } = useInputContext();
88
+ const {
89
+ "aria-disabled": ariaDisabled,
90
+ disabled,
91
+ setHasIconSlot
92
+ } = useInputContext();
89
93
  const formattedChildren = designSystemUtils.addPropsToChildren(children, designSystemBaseIcon.isIconComponent, {
90
94
  size: "small",
91
95
  weight: "thin",
@@ -149,7 +153,7 @@ const ActionButton = React__default["default"].forwardRef(({ "aria-label": ariaL
149
153
  valid,
150
154
  hovered,
151
155
  editable,
152
- ariaDisabled,
156
+ "aria-disabled": ariaDisabled,
153
157
  disabled,
154
158
  readOnly,
155
159
  actionButtonRef
@@ -185,11 +189,15 @@ const ClearAction = ({
185
189
  clearable,
186
190
  clearLabel,
187
191
  onClear,
188
- inputRef,
189
192
  value
190
193
  }) => {
191
194
  var _a;
192
- const { disabled, ariaDisabled, readOnly } = useInputContext();
195
+ const {
196
+ disabled,
197
+ "aria-disabled": ariaDisabled,
198
+ readOnly,
199
+ inputRef
200
+ } = useInputContext();
193
201
  if (!clearable)
194
202
  return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {});
195
203
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -209,6 +217,12 @@ const ClearAction = ({
209
217
  );
210
218
  };
211
219
 
220
+ const StyledContainer = designSystemStitches.styled("div", {
221
+ display: "inline-flex",
222
+ position: "relative",
223
+ width: "100%",
224
+ verticalAlign: "middle"
225
+ });
212
226
  const StyledIconExclamationPointCircle = designSystemStitches.styled(
213
227
  designSystemIcons.IconExclamationPointCircle,
214
228
  {
@@ -226,10 +240,8 @@ const StyledValidityBox = designSystemStitches.styled(designSystemPrimitive.Prim
226
240
  });
227
241
  const StyledBaseInput = designSystemStitches.styled("div", {
228
242
  alignItems: "center",
229
- display: "inline-flex",
243
+ display: "flex",
230
244
  height: "max-content",
231
- position: "relative",
232
- verticalAlign: "middle",
233
245
  boxSizing: "border-box",
234
246
  width: "100%",
235
247
  ...designSystemBaseInput.styles.variants.idle,
@@ -380,7 +392,14 @@ const StyledInput = designSystemStitches.styled(designSystemPrimitive.Primitive.
380
392
  });
381
393
 
382
394
  const Input$1 = React__default["default"].forwardRef(({ id, "aria-describedby": ariaDescribedBy, ...restProps }, forwardRef) => {
383
- const { ariaDisabled, disabled, setFocused, inputRef, required, readOnly } = useInputContext();
395
+ const {
396
+ "aria-disabled": ariaDisabled,
397
+ disabled,
398
+ setFocused,
399
+ inputRef,
400
+ required,
401
+ readOnly
402
+ } = useInputContext();
384
403
  const {
385
404
  formElementId,
386
405
  ariaDescribedBy: formFieldContextDescribedBy,
@@ -431,7 +450,7 @@ const Input$1 = React__default["default"].forwardRef(({ id, "aria-describedby":
431
450
  ...elementProps,
432
451
  id: id != null ? id : formElementId,
433
452
  readOnly,
434
- "aria-describedby": designSystemUtils.mergeAriaDescribedBy(
453
+ "aria-describedby": designSystemUtils.stringAttrValue(
435
454
  ariaDescribedBy,
436
455
  formFieldContextDescribedBy
437
456
  ),
@@ -450,7 +469,7 @@ const Root = React__default["default"].forwardRef(({ children, size, placeholder
450
469
  const ref = React.useRef(null);
451
470
  const {
452
471
  valid: inputValid,
453
- ariaDisabled,
472
+ "aria-disabled": ariaDisabled,
454
473
  disabled,
455
474
  readOnly,
456
475
  focused,
@@ -473,45 +492,48 @@ const Root = React__default["default"].forwardRef(({ children, size, placeholder
473
492
  const valid = formFieldValid != null ? formFieldValid : inputValid;
474
493
  const showValidityIcon = !designSystemUtils.booleanify(readOnly) && !ariaDisabledOrDisabled && !hovered && !focused && valid !== void 0;
475
494
  const ValidIcon = valid === true ? StyledIconCheckMark : StyledIconExclamationPointCircle;
476
- return /* @__PURE__ */ jsxRuntime.jsxs(
477
- StyledBaseInput,
478
- {
479
- ...restProps,
480
- ...hoverProps,
481
- ref: designSystemUtils.mergeRefs([ref, forwardRef]),
482
- size,
483
- hovered,
484
- focused,
485
- valid,
486
- disabled: designSystemUtils.booleanify(disabled),
487
- ariaDisabled: designSystemUtils.booleanify(ariaDisabled),
488
- readOnly: designSystemUtils.booleanify(readOnly),
489
- "data-invalid": designSystemUtils.booleanishAttrValue(valid === false),
490
- "data-valid": designSystemUtils.booleanishAttrValue(valid === true),
491
- onClick: ({ target }) => {
492
- var _a2;
493
- const shouldFocusInput = target !== actionButtonRef.current;
494
- if (shouldFocusInput) {
495
- (_a2 = inputRef.current) == null ? void 0 : _a2.focus();
496
- }
497
- },
498
- children: [
499
- shouldUseFloatingLabel && /* @__PURE__ */ jsxRuntime.jsx(
500
- designSystemBaseForm.FloatingLabel,
501
- {
502
- floating: floatingLabel,
503
- css: {
504
- transform: floatingLabel ? "translateY(-1px)" : hasIconSlot ? "translateX(calc($sizes$icon-200 + $space$50))" : void 0
505
- },
506
- size,
507
- children: label
495
+ return /* @__PURE__ */ jsxRuntime.jsxs(StyledContainer, { children: [
496
+ shouldUseFloatingLabel && /* @__PURE__ */ jsxRuntime.jsx(
497
+ designSystemBaseForm.FloatingLabel,
498
+ {
499
+ floating: floatingLabel,
500
+ css: !floatingLabel && hasIconSlot ? (
501
+ // icon size + input padding
502
+ { transform: "translateX(calc($sizes$icon-200 + $space$50))" }
503
+ ) : void 0,
504
+ size,
505
+ children: label
506
+ }
507
+ ),
508
+ /* @__PURE__ */ jsxRuntime.jsxs(
509
+ StyledBaseInput,
510
+ {
511
+ ...restProps,
512
+ ...hoverProps,
513
+ ref: designSystemUtils.mergeRefs([ref, forwardRef]),
514
+ size,
515
+ hovered,
516
+ focused,
517
+ valid,
518
+ disabled: designSystemUtils.booleanify(disabled),
519
+ ariaDisabled: designSystemUtils.booleanify(ariaDisabled),
520
+ readOnly: designSystemUtils.booleanify(readOnly),
521
+ "data-invalid": designSystemUtils.booleanishAttrValue(valid === false),
522
+ "data-valid": designSystemUtils.booleanishAttrValue(valid === true),
523
+ onClick: ({ target }) => {
524
+ var _a2;
525
+ const shouldFocusInput = target !== actionButtonRef.current;
526
+ if (shouldFocusInput) {
527
+ (_a2 = inputRef.current) == null ? void 0 : _a2.focus();
508
528
  }
509
- ),
510
- children,
511
- showValidityIcon && /* @__PURE__ */ jsxRuntime.jsx(StyledValidityBox, { children: /* @__PURE__ */ jsxRuntime.jsx(ValidIcon, { size: "small", weight: "thin" }) })
512
- ]
513
- }
514
- );
529
+ },
530
+ children: [
531
+ children,
532
+ showValidityIcon && /* @__PURE__ */ jsxRuntime.jsx(StyledValidityBox, { children: /* @__PURE__ */ jsxRuntime.jsx(ValidIcon, { size: "small", weight: "thin" }) })
533
+ ]
534
+ }
535
+ )
536
+ ] });
515
537
  });
516
538
  const BaseInput = React__default["default"].forwardRef(
517
539
  ({
@@ -526,7 +548,7 @@ const BaseInput = React__default["default"].forwardRef(
526
548
  {
527
549
  valid,
528
550
  disabled,
529
- ariaDisabled,
551
+ "aria-disabled": ariaDisabled,
530
552
  readOnly,
531
553
  required,
532
554
  children: /* @__PURE__ */ jsxRuntime.jsx(Root, { ...restProps, ref: forwardRef })
@@ -537,7 +559,6 @@ BaseInput.Input = Input$1;
537
559
 
538
560
  const Input = React__default["default"].forwardRef(
539
561
  ({ value, defaultValue, ...restProps }, forwardRef) => {
540
- const inputRef = React.useRef(null);
541
562
  const {
542
563
  clearable = false,
543
564
  onClear,
@@ -556,7 +577,6 @@ const Input = React__default["default"].forwardRef(
556
577
  children,
557
578
  className,
558
579
  css,
559
- label,
560
580
  ...inputProps
561
581
  } = elementProps;
562
582
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -572,7 +592,6 @@ const Input = React__default["default"].forwardRef(
572
592
  className,
573
593
  css,
574
594
  size,
575
- label,
576
595
  value,
577
596
  defaultValue,
578
597
  placeholder: inputProps.placeholder,
@@ -583,7 +602,7 @@ const Input = React__default["default"].forwardRef(
583
602
  ...inputProps,
584
603
  value,
585
604
  defaultValue,
586
- ref: designSystemUtils.mergeRefs([inputRef, forwardRef])
605
+ ref: forwardRef
587
606
  }
588
607
  ),
589
608
  children,
@@ -593,7 +612,6 @@ const Input = React__default["default"].forwardRef(
593
612
  clearable,
594
613
  clearLabel,
595
614
  onClear,
596
- inputRef,
597
615
  value
598
616
  }
599
617
  )
@@ -677,7 +695,6 @@ const InputPassword = React__default["default"].forwardRef(
677
695
  );
678
696
 
679
697
  const InputEmail = React__default["default"].forwardRef(({ value, ...restProps }, forwardRef) => {
680
- const inputRef = React.useRef(null);
681
698
  const {
682
699
  clearable = false,
683
700
  onClear,
@@ -712,7 +729,7 @@ const InputEmail = React__default["default"].forwardRef(({ value, ...restProps }
712
729
  type: "email",
713
730
  ...inputProps,
714
731
  value,
715
- ref: designSystemUtils.mergeRefs([inputRef, forwardRef])
732
+ ref: forwardRef
716
733
  }
717
734
  ),
718
735
  children,
@@ -722,7 +739,6 @@ const InputEmail = React__default["default"].forwardRef(({ value, ...restProps }
722
739
  clearable,
723
740
  clearLabel,
724
741
  onClear,
725
- inputRef,
726
742
  value
727
743
  }
728
744
  ),
@@ -734,7 +750,6 @@ const InputEmail = React__default["default"].forwardRef(({ value, ...restProps }
734
750
  InputEmail.ActionButton = ActionButton;
735
751
 
736
752
  const InputSearch = React__default["default"].forwardRef(({ value, ...restProps }, forwardRef) => {
737
- const inputRef = React.useRef(null);
738
753
  const {
739
754
  clearable = false,
740
755
  onClear,
@@ -763,14 +778,7 @@ const InputSearch = React__default["default"].forwardRef(({ value, ...restProps
763
778
  focused,
764
779
  size,
765
780
  children: [
766
- /* @__PURE__ */ jsxRuntime.jsx(
767
- BaseInput.Input,
768
- {
769
- ...inputProps,
770
- value,
771
- ref: designSystemUtils.mergeRefs([inputRef, forwardRef])
772
- }
773
- ),
781
+ /* @__PURE__ */ jsxRuntime.jsx(BaseInput.Input, { ...inputProps, value, ref: forwardRef }),
774
782
  children,
775
783
  /* @__PURE__ */ jsxRuntime.jsx(
776
784
  ClearAction,
@@ -778,7 +786,6 @@ const InputSearch = React__default["default"].forwardRef(({ value, ...restProps
778
786
  clearable,
779
787
  clearLabel,
780
788
  onClear,
781
- inputRef,
782
789
  value
783
790
  }
784
791
  ),
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\ninterface InputProps {\n disabled?: boolean\n ariaDisabled?: Booleanish\n readOnly?: boolean\n valid?: boolean\n required?: boolean\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 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 { ariaDisabled, disabled, setHasIconSlot } = 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 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 { mergeAriaDescribedBy, 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>(({ id, 'aria-describedby': ariaDescribedBy, ...restProps }, forwardRef) => {\n const { ariaDisabled, disabled, setFocused, inputRef, required, readOnly } =\n useInputContext()\n const {\n formElementId,\n ariaDescribedBy: formFieldContextDescribedBy,\n ariaInvalid,\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={mergeAriaDescribedBy(\n ariaDescribedBy,\n formFieldContextDescribedBy\n )}\n aria-invalid={ariaInvalid}\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","import React, { useRef } from 'react'\nimport type {\n ElementRef,\n ForwardRefExoticComponent,\n InputHTMLAttributes,\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 { 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, placeholder, ...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 } = 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 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={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 >\n {shouldUseFloatingLabel && (\n <FloatingLabel\n floating={floatingLabel}\n css={{\n transform: floatingLabel\n ? 'translateY(-1px)' // border-top\n : hasIconSlot\n ? `translateX(calc($sizes$icon-200 + $space$50))` // icon size + input padding\n : undefined,\n }}\n size={size}\n >\n {label}\n </FloatingLabel>\n )}\n {children}\n {showValidityIcon && (\n <StyledValidityBox>\n <ValidIcon size='small' weight='thin' />\n </StyledValidityBox>\n )}\n </StyledBaseInput>\n )\n})\n\nexport const BaseInput = React.forwardRef<\n ElementRef<typeof StyledBaseInput>,\n BaseInputProps\n>(\n (\n {\n 'aria-disabled': ariaDisabled,\n disabled,\n valid,\n readOnly,\n required,\n ...restProps\n },\n forwardRef\n ) => (\n <InputProvider\n valid={valid}\n disabled={disabled}\n ariaDisabled={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, { 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 ...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 { 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 ...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 { 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 ...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","useLayoutEffect","BaseButton","focus","Fragment","jsxs","Tooltip","mergeRefs","_a","IconCross","IconExclamationPointCircle","IconCheckMark","baseInputStyles","Input","useFormFieldContext","useAriaDisabled","useEffect","mergeAriaDescribedBy","useHover","booleanishAttrValue","FloatingLabel","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 { 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 StyledContainer = styled('div', {\n display: 'inline-flex',\n position: 'relative',\n width: '100%',\n verticalAlign: 'middle',\n})\n\nexport const StyledIconExclamationPointCircle = styled(\n IconExclamationPointCircle,\n {\n color: '$icon-danger',\n }\n)\n\nexport const StyledIconCheckMark = styled(IconCheckMark, {\n color: '$icon-success',\n})\n\nexport const 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: '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>(({ id, 'aria-describedby': ariaDescribedBy, ...restProps }, forwardRef) => {\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,\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}\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","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 StyledContainer,\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 <StyledContainer>\n {shouldUseFloatingLabel && (\n <FloatingLabel\n floating={floatingLabel}\n css={\n !floatingLabel && hasIconSlot\n ? // icon size + input padding\n { transform: `translateX(calc($sizes$icon-200 + $space$50))` }\n : undefined\n }\n size={size}\n >\n {label}\n </FloatingLabel>\n )}\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={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 >\n {children}\n {showValidityIcon && (\n <StyledValidityBox>\n <ValidIcon size='small' weight='thin' />\n </StyledValidityBox>\n )}\n </StyledBaseInput>\n </StyledContainer>\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 { 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 ...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 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":["styled","Primitive","createContext","useRef","useState","booleanify","jsx","useContext","React","addPropsToChildren","isIconComponent","useLayoutEffect","BaseButton","focus","Fragment","jsxs","Tooltip","mergeRefs","_a","IconCross","IconExclamationPointCircle","IconCheckMark","baseInputStyles","Input","useFormFieldContext","useAriaDisabled","useEffect","stringAttrValue","useHover","FloatingLabel","booleanishAttrValue","IconLockClosed","reveal","IconEyeOpen","IconEyeClosed","IconEnvelope","IconMagnifyingGlass"],"mappings":"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"}
package/dist/module.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
2
  import React, { createContext, useRef, useState, useContext, useEffect } from 'react';
3
- import { booleanify, addPropsToChildren, mergeRefs, mergeAriaDescribedBy, booleanishAttrValue } from '@mirohq/design-system-utils';
3
+ import { booleanify, addPropsToChildren, mergeRefs, stringAttrValue, booleanishAttrValue } from '@mirohq/design-system-utils';
4
4
  import { isIconComponent } from '@mirohq/design-system-base-icon';
5
5
  import { useLayoutEffect } from '@mirohq/design-system-use-layout-effect';
6
6
  import { styled } from '@mirohq/design-system-stitches';
@@ -38,7 +38,7 @@ const InputContext = createContext({});
38
38
  const InputProvider = ({
39
39
  children,
40
40
  disabled,
41
- ariaDisabled,
41
+ "aria-disabled": ariaDisabled,
42
42
  readOnly,
43
43
  required,
44
44
  valid,
@@ -62,7 +62,7 @@ const InputProvider = ({
62
62
  hovered,
63
63
  focused,
64
64
  disabled,
65
- ariaDisabled,
65
+ "aria-disabled": ariaDisabled,
66
66
  readOnly,
67
67
  editable,
68
68
  inputRef,
@@ -77,7 +77,11 @@ const InputProvider = ({
77
77
  const useInputContext = () => useContext(InputContext);
78
78
 
79
79
  const IconSlot = React.forwardRef(({ children, ...restProps }, forwardRef) => {
80
- const { ariaDisabled, disabled, setHasIconSlot } = useInputContext();
80
+ const {
81
+ "aria-disabled": ariaDisabled,
82
+ disabled,
83
+ setHasIconSlot
84
+ } = useInputContext();
81
85
  const formattedChildren = addPropsToChildren(children, isIconComponent, {
82
86
  size: "small",
83
87
  weight: "thin",
@@ -141,7 +145,7 @@ const ActionButton = React.forwardRef(({ "aria-label": ariaLabel, label, childre
141
145
  valid,
142
146
  hovered,
143
147
  editable,
144
- ariaDisabled,
148
+ "aria-disabled": ariaDisabled,
145
149
  disabled,
146
150
  readOnly,
147
151
  actionButtonRef
@@ -177,11 +181,15 @@ const ClearAction = ({
177
181
  clearable,
178
182
  clearLabel,
179
183
  onClear,
180
- inputRef,
181
184
  value
182
185
  }) => {
183
186
  var _a;
184
- const { disabled, ariaDisabled, readOnly } = useInputContext();
187
+ const {
188
+ disabled,
189
+ "aria-disabled": ariaDisabled,
190
+ readOnly,
191
+ inputRef
192
+ } = useInputContext();
185
193
  if (!clearable)
186
194
  return /* @__PURE__ */ jsx(Fragment, {});
187
195
  return /* @__PURE__ */ jsx(
@@ -201,6 +209,12 @@ const ClearAction = ({
201
209
  );
202
210
  };
203
211
 
212
+ const StyledContainer = styled("div", {
213
+ display: "inline-flex",
214
+ position: "relative",
215
+ width: "100%",
216
+ verticalAlign: "middle"
217
+ });
204
218
  const StyledIconExclamationPointCircle = styled(
205
219
  IconExclamationPointCircle,
206
220
  {
@@ -218,10 +232,8 @@ const StyledValidityBox = styled(Primitive.div, {
218
232
  });
219
233
  const StyledBaseInput = styled("div", {
220
234
  alignItems: "center",
221
- display: "inline-flex",
235
+ display: "flex",
222
236
  height: "max-content",
223
- position: "relative",
224
- verticalAlign: "middle",
225
237
  boxSizing: "border-box",
226
238
  width: "100%",
227
239
  ...styles.variants.idle,
@@ -372,7 +384,14 @@ const StyledInput = styled(Primitive.input, {
372
384
  });
373
385
 
374
386
  const Input$1 = React.forwardRef(({ id, "aria-describedby": ariaDescribedBy, ...restProps }, forwardRef) => {
375
- const { ariaDisabled, disabled, setFocused, inputRef, required, readOnly } = useInputContext();
387
+ const {
388
+ "aria-disabled": ariaDisabled,
389
+ disabled,
390
+ setFocused,
391
+ inputRef,
392
+ required,
393
+ readOnly
394
+ } = useInputContext();
376
395
  const {
377
396
  formElementId,
378
397
  ariaDescribedBy: formFieldContextDescribedBy,
@@ -423,7 +442,7 @@ const Input$1 = React.forwardRef(({ id, "aria-describedby": ariaDescribedBy, ...
423
442
  ...elementProps,
424
443
  id: id != null ? id : formElementId,
425
444
  readOnly,
426
- "aria-describedby": mergeAriaDescribedBy(
445
+ "aria-describedby": stringAttrValue(
427
446
  ariaDescribedBy,
428
447
  formFieldContextDescribedBy
429
448
  ),
@@ -442,7 +461,7 @@ const Root = React.forwardRef(({ children, size, placeholder, ...restProps }, fo
442
461
  const ref = useRef(null);
443
462
  const {
444
463
  valid: inputValid,
445
- ariaDisabled,
464
+ "aria-disabled": ariaDisabled,
446
465
  disabled,
447
466
  readOnly,
448
467
  focused,
@@ -465,45 +484,48 @@ const Root = React.forwardRef(({ children, size, placeholder, ...restProps }, fo
465
484
  const valid = formFieldValid != null ? formFieldValid : inputValid;
466
485
  const showValidityIcon = !booleanify(readOnly) && !ariaDisabledOrDisabled && !hovered && !focused && valid !== void 0;
467
486
  const ValidIcon = valid === true ? StyledIconCheckMark : StyledIconExclamationPointCircle;
468
- return /* @__PURE__ */ jsxs(
469
- StyledBaseInput,
470
- {
471
- ...restProps,
472
- ...hoverProps,
473
- ref: mergeRefs([ref, forwardRef]),
474
- size,
475
- hovered,
476
- focused,
477
- valid,
478
- disabled: booleanify(disabled),
479
- ariaDisabled: booleanify(ariaDisabled),
480
- readOnly: booleanify(readOnly),
481
- "data-invalid": booleanishAttrValue(valid === false),
482
- "data-valid": booleanishAttrValue(valid === true),
483
- onClick: ({ target }) => {
484
- var _a2;
485
- const shouldFocusInput = target !== actionButtonRef.current;
486
- if (shouldFocusInput) {
487
- (_a2 = inputRef.current) == null ? void 0 : _a2.focus();
488
- }
489
- },
490
- children: [
491
- shouldUseFloatingLabel && /* @__PURE__ */ jsx(
492
- FloatingLabel,
493
- {
494
- floating: floatingLabel,
495
- css: {
496
- transform: floatingLabel ? "translateY(-1px)" : hasIconSlot ? "translateX(calc($sizes$icon-200 + $space$50))" : void 0
497
- },
498
- size,
499
- children: label
487
+ return /* @__PURE__ */ jsxs(StyledContainer, { children: [
488
+ shouldUseFloatingLabel && /* @__PURE__ */ jsx(
489
+ FloatingLabel,
490
+ {
491
+ floating: floatingLabel,
492
+ css: !floatingLabel && hasIconSlot ? (
493
+ // icon size + input padding
494
+ { transform: "translateX(calc($sizes$icon-200 + $space$50))" }
495
+ ) : void 0,
496
+ size,
497
+ children: label
498
+ }
499
+ ),
500
+ /* @__PURE__ */ jsxs(
501
+ StyledBaseInput,
502
+ {
503
+ ...restProps,
504
+ ...hoverProps,
505
+ ref: mergeRefs([ref, forwardRef]),
506
+ size,
507
+ hovered,
508
+ focused,
509
+ valid,
510
+ disabled: booleanify(disabled),
511
+ ariaDisabled: booleanify(ariaDisabled),
512
+ readOnly: booleanify(readOnly),
513
+ "data-invalid": booleanishAttrValue(valid === false),
514
+ "data-valid": booleanishAttrValue(valid === true),
515
+ onClick: ({ target }) => {
516
+ var _a2;
517
+ const shouldFocusInput = target !== actionButtonRef.current;
518
+ if (shouldFocusInput) {
519
+ (_a2 = inputRef.current) == null ? void 0 : _a2.focus();
500
520
  }
501
- ),
502
- children,
503
- showValidityIcon && /* @__PURE__ */ jsx(StyledValidityBox, { children: /* @__PURE__ */ jsx(ValidIcon, { size: "small", weight: "thin" }) })
504
- ]
505
- }
506
- );
521
+ },
522
+ children: [
523
+ children,
524
+ showValidityIcon && /* @__PURE__ */ jsx(StyledValidityBox, { children: /* @__PURE__ */ jsx(ValidIcon, { size: "small", weight: "thin" }) })
525
+ ]
526
+ }
527
+ )
528
+ ] });
507
529
  });
508
530
  const BaseInput = React.forwardRef(
509
531
  ({
@@ -518,7 +540,7 @@ const BaseInput = React.forwardRef(
518
540
  {
519
541
  valid,
520
542
  disabled,
521
- ariaDisabled,
543
+ "aria-disabled": ariaDisabled,
522
544
  readOnly,
523
545
  required,
524
546
  children: /* @__PURE__ */ jsx(Root, { ...restProps, ref: forwardRef })
@@ -529,7 +551,6 @@ BaseInput.Input = Input$1;
529
551
 
530
552
  const Input = React.forwardRef(
531
553
  ({ value, defaultValue, ...restProps }, forwardRef) => {
532
- const inputRef = useRef(null);
533
554
  const {
534
555
  clearable = false,
535
556
  onClear,
@@ -548,7 +569,6 @@ const Input = React.forwardRef(
548
569
  children,
549
570
  className,
550
571
  css,
551
- label,
552
572
  ...inputProps
553
573
  } = elementProps;
554
574
  return /* @__PURE__ */ jsxs(
@@ -564,7 +584,6 @@ const Input = React.forwardRef(
564
584
  className,
565
585
  css,
566
586
  size,
567
- label,
568
587
  value,
569
588
  defaultValue,
570
589
  placeholder: inputProps.placeholder,
@@ -575,7 +594,7 @@ const Input = React.forwardRef(
575
594
  ...inputProps,
576
595
  value,
577
596
  defaultValue,
578
- ref: mergeRefs([inputRef, forwardRef])
597
+ ref: forwardRef
579
598
  }
580
599
  ),
581
600
  children,
@@ -585,7 +604,6 @@ const Input = React.forwardRef(
585
604
  clearable,
586
605
  clearLabel,
587
606
  onClear,
588
- inputRef,
589
607
  value
590
608
  }
591
609
  )
@@ -669,7 +687,6 @@ const InputPassword = React.forwardRef(
669
687
  );
670
688
 
671
689
  const InputEmail = React.forwardRef(({ value, ...restProps }, forwardRef) => {
672
- const inputRef = useRef(null);
673
690
  const {
674
691
  clearable = false,
675
692
  onClear,
@@ -704,7 +721,7 @@ const InputEmail = React.forwardRef(({ value, ...restProps }, forwardRef) => {
704
721
  type: "email",
705
722
  ...inputProps,
706
723
  value,
707
- ref: mergeRefs([inputRef, forwardRef])
724
+ ref: forwardRef
708
725
  }
709
726
  ),
710
727
  children,
@@ -714,7 +731,6 @@ const InputEmail = React.forwardRef(({ value, ...restProps }, forwardRef) => {
714
731
  clearable,
715
732
  clearLabel,
716
733
  onClear,
717
- inputRef,
718
734
  value
719
735
  }
720
736
  ),
@@ -726,7 +742,6 @@ const InputEmail = React.forwardRef(({ value, ...restProps }, forwardRef) => {
726
742
  InputEmail.ActionButton = ActionButton;
727
743
 
728
744
  const InputSearch = React.forwardRef(({ value, ...restProps }, forwardRef) => {
729
- const inputRef = useRef(null);
730
745
  const {
731
746
  clearable = false,
732
747
  onClear,
@@ -755,14 +770,7 @@ const InputSearch = React.forwardRef(({ value, ...restProps }, forwardRef) => {
755
770
  focused,
756
771
  size,
757
772
  children: [
758
- /* @__PURE__ */ jsx(
759
- BaseInput.Input,
760
- {
761
- ...inputProps,
762
- value,
763
- ref: mergeRefs([inputRef, forwardRef])
764
- }
765
- ),
773
+ /* @__PURE__ */ jsx(BaseInput.Input, { ...inputProps, value, ref: forwardRef }),
766
774
  children,
767
775
  /* @__PURE__ */ jsx(
768
776
  ClearAction,
@@ -770,7 +778,6 @@ const InputSearch = React.forwardRef(({ value, ...restProps }, forwardRef) => {
770
778
  clearable,
771
779
  clearLabel,
772
780
  onClear,
773
- inputRef,
774
781
  value
775
782
  }
776
783
  ),
@@ -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 { 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}\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 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 { ariaDisabled, disabled, setHasIconSlot } = 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 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 { mergeAriaDescribedBy, 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>(({ id, 'aria-describedby': ariaDescribedBy, ...restProps }, forwardRef) => {\n const { ariaDisabled, disabled, setFocused, inputRef, required, readOnly } =\n useInputContext()\n const {\n formElementId,\n ariaDescribedBy: formFieldContextDescribedBy,\n ariaInvalid,\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={mergeAriaDescribedBy(\n ariaDescribedBy,\n formFieldContextDescribedBy\n )}\n aria-invalid={ariaInvalid}\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","import React, { useRef } from 'react'\nimport type {\n ElementRef,\n ForwardRefExoticComponent,\n InputHTMLAttributes,\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 { 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, placeholder, ...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 } = 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 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={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 >\n {shouldUseFloatingLabel && (\n <FloatingLabel\n floating={floatingLabel}\n css={{\n transform: floatingLabel\n ? 'translateY(-1px)' // border-top\n : hasIconSlot\n ? `translateX(calc($sizes$icon-200 + $space$50))` // icon size + input padding\n : undefined,\n }}\n size={size}\n >\n {label}\n </FloatingLabel>\n )}\n {children}\n {showValidityIcon && (\n <StyledValidityBox>\n <ValidIcon size='small' weight='thin' />\n </StyledValidityBox>\n )}\n </StyledBaseInput>\n )\n})\n\nexport const BaseInput = React.forwardRef<\n ElementRef<typeof StyledBaseInput>,\n BaseInputProps\n>(\n (\n {\n 'aria-disabled': ariaDisabled,\n disabled,\n valid,\n readOnly,\n required,\n ...restProps\n },\n forwardRef\n ) => (\n <InputProvider\n valid={valid}\n disabled={disabled}\n ariaDisabled={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, { 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 ...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 { 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 ...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 { 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 ...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":["_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/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 StyledContainer = styled('div', {\n display: 'inline-flex',\n position: 'relative',\n width: '100%',\n verticalAlign: 'middle',\n})\n\nexport const StyledIconExclamationPointCircle = styled(\n IconExclamationPointCircle,\n {\n color: '$icon-danger',\n }\n)\n\nexport const StyledIconCheckMark = styled(IconCheckMark, {\n color: '$icon-success',\n})\n\nexport const 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: '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>(({ id, 'aria-describedby': ariaDescribedBy, ...restProps }, forwardRef) => {\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,\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}\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","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 StyledContainer,\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 <StyledContainer>\n {shouldUseFloatingLabel && (\n <FloatingLabel\n floating={floatingLabel}\n css={\n !floatingLabel && hasIconSlot\n ? // icon size + input padding\n { transform: `translateX(calc($sizes$icon-200 + $space$50))` }\n : undefined\n }\n size={size}\n >\n {label}\n </FloatingLabel>\n )}\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={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 >\n {children}\n {showValidityIcon && (\n <StyledValidityBox>\n <ValidIcon size='small' weight='thin' />\n </StyledValidityBox>\n )}\n </StyledBaseInput>\n </StyledContainer>\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 { 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 ...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 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":";;;;;;;;;;;;;;;;AAIa,MAAA,cAAA,GAAiB,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EAClD,KAAO,EAAA,CAAA;AAAA,EACP,YAAc,EAAA,QAAA;AAAA,EACd,OAAS,EAAA,MAAA;AAAA,EACT,cAAgB,EAAA,QAAA;AAAA,EAChB,KAAO,EAAA,uBAAA;AAAA,EAEP,cAAgB,EAAA;AAAA,IACd,aAAe,EAAA,MAAA;AAAA,GACjB;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,QAAU,EAAA;AAAA,MACR,IAAM,EAAA;AAAA,QACJ,OAAS,EAAA;AAAA,UACP,KAAO,EAAA,yBAAA;AAAA,SACT;AAAA,OACF;AAAA,KACF;AAAA,GACF;AACF,CAAC,CAAA;;ACHD,MAAM,YAAA,GAAe,aAAiC,CAAA,EAAS,CAAA,CAAA;AAExD,MAAM,gBAAgB,CAAC;AAAA,EAC5B,QAAA;AAAA,EACA,QAAA;AAAA,EACA,eAAiB,EAAA,YAAA;AAAA,EACjB,QAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG,SAAA;AACL,CAA0D,KAAA;AACxD,EAAM,MAAA,eAAA,GAAkB,OAA8C,IAAI,CAAA,CAAA;AAC1E,EAAM,MAAA,QAAA,GAAW,OAAyB,IAAI,CAAA,CAAA;AAC9C,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AAC5C,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AAC5C,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AACpD,EAAM,MAAA,QAAA,GACJ,CAAC,UAAA,CAAW,QAAQ,CAAA,IAAK,CAAC,UAAA,CAAW,YAAY,CAAA,IAAK,CAAC,UAAA,CAAW,QAAQ,CAAA,CAAA;AAE5E,EACE,uBAAA,GAAA;AAAA,IAAC,YAAa,CAAA,QAAA;AAAA,IAAb;AAAA,MACC,KAAO,EAAA;AAAA,QACL,GAAG,SAAA;AAAA,QACH,UAAA;AAAA,QACA,UAAA;AAAA,QACA,cAAA;AAAA,QACA,WAAA;AAAA,QACA,OAAA;AAAA,QACA,OAAA;AAAA,QACA,QAAA;AAAA,QACA,eAAiB,EAAA,YAAA;AAAA,QACjB,QAAA;AAAA,QACA,QAAA;AAAA,QACA,QAAA;AAAA,QACA,eAAA;AAAA,QACA,QAAA;AAAA,QACA,KAAA;AAAA,OACF;AAAA,MAEC,QAAA;AAAA,KAAA;AAAA,GACH,CAAA;AAEJ,CAAA,CAAA;AAEa,MAAA,eAAA,GAAkB,MAAyB,UAAA,CAAW,YAAY,CAAA;;ACrDlE,MAAA,QAAA,GAAW,MAAM,UAG5B,CAAA,CAAC,EAAE,QAAU,EAAA,GAAG,SAAU,EAAA,EAAG,UAAe,KAAA;AAC5C,EAAM,MAAA;AAAA,IACJ,eAAiB,EAAA,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,cAAA;AAAA,MACE,eAAgB,EAAA,CAAA;AACpB,EAAM,MAAA,iBAAA,GAAoB,kBAAmB,CAAA,QAAA,EAAU,eAAiB,EAAA;AAAA,IACtE,IAAM,EAAA,OAAA;AAAA,IACN,MAAQ,EAAA,MAAA;AAAA,IACR,aAAe,EAAA,IAAA;AAAA,GAChB,CAAA,CAAA;AAED,EAAA,eAAA,CAAgB,MAAM;AACpB,IAAA,cAAA,CAAe,IAAI,CAAA,CAAA;AACnB,IAAO,OAAA,MAAM,eAAe,KAAK,CAAA,CAAA;AAAA,GACnC,EAAG,CAAC,cAAc,CAAC,CAAA,CAAA;AAEnB,EACE,uBAAA,GAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACE,GAAG,SAAA;AAAA,MACJ,QAAA,EAAU,UAAW,CAAA,QAAA,IAAA,IAAA,GAAA,QAAA,GAAY,YAAY,CAAA;AAAA,MAC7C,GAAK,EAAA,UAAA;AAAA,MAEJ,QAAA,EAAA,iBAAA;AAAA,KAAA;AAAA,GACH,CAAA;AAEJ,CAAC,CAAA,CAAA;AAED,QAAA,CAAS,WAAc,GAAA,UAAA;;ACtCV,MAAA,kBAAA,GAAqB,OAAO,UAAY,EAAA;AAAA,EACnD,eAAiB,EAAA,aAAA;AAAA,EACjB,KAAO,EAAA,uBAAA;AAAA,EACP,OAAS,EAAA,MAAA;AAAA,EACT,cAAgB,EAAA,QAAA;AAAA,EAChB,KAAO,EAAA,CAAA;AAAA,EACP,OAAS,EAAA,KAAA;AAAA,EACT,MAAQ,EAAA,IAAA;AAAA,EAER,oEAAsE,EAAA;AAAA,IACpE,MAAQ,EAAA,WAAA;AAAA,IACR,oBAAsB,EAAA,oBAAA;AAAA,GACxB;AAAA,EAEA,GAAG,MAAM,GAAI,CAAA;AAAA,IACX,SAAW,EAAA,cAAA;AAAA,GACZ,CAAA;AAAA,EAED,SAAW,EAAA;AAAA,IACT,eAAiB,EAAA,mCAAA;AAAA,GACnB;AAAA,EAEA,2BAA6B,EAAA;AAAA,IAC3B,eAAiB,EAAA,oCAAA;AAAA,GACnB;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,kBAAoB,EAAA;AAAA,MAClB,IAAM,EAAA;AAAA,QACJ,wDAA0D,EAAA;AAAA,UACxD,KAAO,EAAA,uBAAA;AAAA,SACT;AAAA,OACF;AAAA,KACF;AAAA,IACA,iBAAmB,EAAA;AAAA,MACjB,IAAM,EAAA;AAAA,QACJ,KAAO,EAAA,yBAAA;AAAA,OACT;AAAA,KACF;AAAA,GACF;AACF,CAAC,CAAA;;AC3BM,MAAM,YAAe,GAAA,KAAA,CAAM,UAGhC,CAAA,CAAC,EAAE,YAAA,EAAc,SAAW,EAAA,KAAA,EAAO,QAAU,EAAA,GAAG,SAAU,EAAA,EAAG,UAAe,KAAA;AAC5E,EAAM,MAAA;AAAA,IACJ,KAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,eAAiB,EAAA,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,QAAA;AAAA,IACA,eAAA;AAAA,MACE,eAAgB,EAAA,CAAA;AAEpB,EAAA,MAAM,aAAgB,GAAA,KAAA,KAAU,KAAa,CAAA,IAAA,UAAA,CAAW,OAAO,CAAA,CAAA;AAE/D,EAAA,IAAI,iBAAoB,GAAA,QAAA,CAAA;AAExB,EAAoB,iBAAA,GAAA,kBAAA,CAAmB,UAAU,eAAiB,EAAA;AAAA,IAChE,aAAe,EAAA,IAAA;AAAA,GAChB,CAAA,CAAA;AAED,EAAA,MAAM,aAAgB,GAAA,MAAA,CAAO,IAAK,CAAA,SAAS,CAAE,CAAA,IAAA;AAAA,IAAK,CAAA,GAAA,KAChD,GAAI,CAAA,UAAA,CAAW,SAAS,CAAA;AAAA,GAC1B,CAAA;AACA,EAAA,MAAM,iBAAiB,SAAU,CAAA,QAAA,CAAA;AAEjC,EACE,uBAAA,GAAA,CAAA,QAAA,EAAA,EACG,QACC,EAAA,aAAA,oBAAA,IAAA,CAAC,OACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,OAAQ,CAAA,OAAA,EAAR,EAAgB,OAAA,EAAO,IACtB,EAAA,QAAA,kBAAA,GAAA;AAAA,MAAC,kBAAA;AAAA,MAAA;AAAA,QACC,IAAK,EAAA,QAAA;AAAA,QACJ,GAAG,SAAA;AAAA,QACJ,cAAY,SAAa,IAAA,IAAA,GAAA,SAAA,GAAA,KAAA;AAAA,QACzB,QACE,EAAA,aAAA,GAAgB,cAAiB,GAAA,cAAA,IAAA,IAAA,GAAA,cAAA,GAAkB,CAAC,QAAA;AAAA,QAEtD,iBAAA,EACE,gBACI,CAAC,UAAA,CAAW,QAAQ,CAAK,IAAA,cAAA,GACzB,UAAW,CAAA,QAAA,IAAA,IAAA,GAAA,QAAA,GAAY,YAAY,CAAA;AAAA,QAEzC,kBAAoB,EAAA,QAAA;AAAA,QACpB,GAAK,EAAA,SAAA,CAAU,CAAC,UAAA,EAAY,eAAe,CAAC,CAAA;AAAA,QAE3C,QAAA,EAAA,iBAAA;AAAA,OAAA;AAAA,KAEL,EAAA,CAAA;AAAA,oBACC,GAAA,CAAA,OAAA,CAAQ,OAAR,EAAA,EAAiB,QAAM,EAAA,KAAA,EAAA,CAAA;AAAA,GAAA,EAC1B,CAEJ,EAAA,CAAA,CAAA;AAEJ,CAAC,CAAA;;AChEM,MAAM,cAAc,CAAC;AAAA,EAC1B,SAAA;AAAA,EACA,UAAA;AAAA,EACA,OAAA;AAAA,EACA,KAAA;AACF,CAAqC,KAAA;AAdrC,EAAA,IAAA,EAAA,CAAA;AAeE,EAAM,MAAA;AAAA,IACJ,QAAA;AAAA,IACA,eAAiB,EAAA,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,QAAA;AAAA,MACE,eAAgB,EAAA,CAAA;AAEpB,EAAA,IAAI,CAAC,SAAA;AAAW,IAAA,uBAAS,GAAA,CAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAEzB,EACE,uBAAA,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACC,KAAO,EAAA,UAAA;AAAA,MACP,QAAU,EAAA,UAAA,CAAA,CAAW,EAAY,GAAA,QAAA,IAAA,IAAA,GAAA,QAAA,GAAA,YAAA,KAAZ,YAA4B,QAAQ,CAAA;AAAA,MACzD,SAAS,MAAM;AA5BrB,QAAAA,IAAAA,GAAAA,CAAAA;AA6BQ,QAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAU,KAASA,IAAAA,IAAAA,GAAAA,KAAAA,GAAAA,CAAAA,GAAAA,GAAA,QAAS,CAAA,OAAA,KAAT,gBAAAA,GAAkB,CAAA,KAAA,CAAA,CAAA;AAErC,QAAA,IAAI,KAAU,KAAA,KAAA,CAAA,IAAa,QAAS,CAAA,OAAA,KAAY,IAAM,EAAA;AACpD,UAAA,QAAA,CAAS,QAAQ,KAAQ,GAAA,EAAA,CAAA;AAAA,SAC3B;AAAA,OACF;AAAA,MAEA,8BAAC,SAAU,EAAA,EAAA,CAAA;AAAA,KAAA;AAAA,GACb,CAAA;AAEJ,CAAA;;AC3Ba,MAAA,eAAA,GAAkB,OAAO,KAAO,EAAA;AAAA,EAC3C,OAAS,EAAA,aAAA;AAAA,EACT,QAAU,EAAA,UAAA;AAAA,EACV,KAAO,EAAA,MAAA;AAAA,EACP,aAAe,EAAA,QAAA;AACjB,CAAC,CAAA,CAAA;AAEM,MAAM,gCAAmC,GAAA,MAAA;AAAA,EAC9C,0BAAA;AAAA,EACA;AAAA,IACE,KAAO,EAAA,cAAA;AAAA,GACT;AACF,CAAA,CAAA;AAEa,MAAA,mBAAA,GAAsB,OAAO,aAAe,EAAA;AAAA,EACvD,KAAO,EAAA,eAAA;AACT,CAAC,CAAA,CAAA;AAEY,MAAA,iBAAA,GAAoB,MAAO,CAAA,SAAA,CAAU,GAAK,EAAA;AAAA,EACrD,KAAO,EAAA,CAAA;AAAA,EACP,OAAS,EAAA,MAAA;AAAA,EACT,UAAY,EAAA,QAAA;AAAA,EACZ,OAAS,EAAA,KAAA;AACX,CAAC,CAAA,CAAA;AAEY,MAAA,eAAA,GAAkB,OAAO,KAAO,EAAA;AAAA,EAC3C,UAAY,EAAA,QAAA;AAAA,EACZ,OAAS,EAAA,MAAA;AAAA,EACT,MAAQ,EAAA,aAAA;AAAA,EACR,SAAW,EAAA,YAAA;AAAA,EACX,KAAO,EAAA,MAAA;AAAA,EACP,GAAGC,OAAgB,QAAS,CAAA,IAAA;AAAA,EAE5B,QAAU,EAAA;AAAA,IACR,OAAS,EAAA;AAAA,MACP,MAAM,EAAC;AAAA,MACP,OAAO,EAAC;AAAA,KACV;AAAA,IACA,OAAS,EAAA;AAAA,MACP,IAAA,EAAMA,OAAgB,QAAS,CAAA,OAAA;AAAA,MAC/B,OAAO,EAAC;AAAA,KACV;AAAA,IACA,KAAO,EAAA;AAAA,MACL,MAAM,EAAC;AAAA,MACP,OAAO,EAAC;AAAA,KACV;AAAA,IACA,QAAU,EAAA;AAAA,MACR,IAAA,EAAMA,OAAgB,QAAS,CAAA,QAAA;AAAA,MAC/B,OAAO,EAAC;AAAA,KACV;AAAA,IACA,QAAU,EAAA;AAAA,MACR,IAAA,EAAMA,OAAgB,QAAS,CAAA,QAAA;AAAA,MAC/B,OAAO,EAAC;AAAA,KACV;AAAA,IACA,YAAc,EAAA;AAAA,MACZ,IAAA,EAAMA,OAAgB,QAAS,CAAA,QAAA;AAAA,MAC/B,OAAO,EAAC;AAAA,KACV;AAAA,IACA,IAAM,EAAA;AAAA,MACJ,KAAO,EAAA;AAAA,QACL,MAAQ,EAAA,KAAA;AAAA,QACR,OAAS,EAAA,SAAA;AAAA,QACT,CAAC,IAAK,CAAA,MAAA,CAAA,cAAA,CAAgB,GAAG;AAAA,UACvB,YAAc,EAAA,KAAA;AAAA,SAChB;AAAA,QACA,CAAC,IAAA,CAAK,MAAkB,CAAA,kBAAA,EAAA,MAAA,CAAA,CAAO,yBAAmB,GAAG;AAAA,UACnD,UAAY,EAAA,KAAA;AAAA,SACd;AAAA,QACA,CAAC,IAAK,CAAA,MAAA,CAAA,iBAAA,CAAmB,GAAG;AAAA,UAC1B,YAAc,EAAA,KAAA;AAAA,SAChB;AAAA,OACF;AAAA,MACA,SAAW,EAAA;AAAA,QACT,MAAQ,EAAA,KAAA;AAAA,QACR,OAAS,EAAA,QAAA;AAAA,QACT,CAAC,IAAK,CAAA,MAAA,CAAA,cAAA,CAAgB,GAAG;AAAA,UACvB,YAAc,EAAA,MAAA;AAAA,SAChB;AAAA,QACA,CAAC,IAAA,CAAK,MAAkB,CAAA,kBAAA,EAAA,MAAA,CAAA,CAAO,yBAAmB,GAAG;AAAA,UACnD,UAAY,EAAA,MAAA;AAAA,SACd;AAAA,QACA,CAAC,IAAK,CAAA,MAAA,CAAA,iBAAA,CAAmB,GAAG;AAAA,UAC1B,YAAc,EAAA,KAAA;AAAA,SAChB;AAAA,OACF;AAAA,KACF;AAAA,GACF;AAAA,EACA,gBAAkB,EAAA;AAAA;AAAA,IAEhB;AAAA,MACE,KAAO,EAAA,KAAA;AAAA,MACP,QAAU,EAAA,KAAA;AAAA,MACV,QAAU,EAAA,KAAA;AAAA,MACV,YAAc,EAAA,KAAA;AAAA,MACd,GAAA,EAAKA,MAAgB,CAAA,QAAA,CAAS,OAAQ,CAAA,IAAA;AAAA,KACxC;AAAA,IACA;AAAA,MACE,KAAO,EAAA,IAAA;AAAA,MACP,QAAU,EAAA,KAAA;AAAA,MACV,QAAU,EAAA,KAAA;AAAA,MACV,YAAc,EAAA,KAAA;AAAA,MACd,GAAA,EAAKA,MAAgB,CAAA,QAAA,CAAS,KAAM,CAAA,IAAA;AAAA,KACtC;AAAA;AAAA,IAEA;AAAA,MACE,OAAS,EAAA,IAAA;AAAA,MACT,QAAU,EAAA,KAAA;AAAA,MACV,GAAK,EAAA;AAAA,QACH,WAAA,EAAaA,MAAgB,CAAA,QAAA,CAAS,OAAQ,CAAA,WAAA;AAAA,OAChD;AAAA,KACF;AAAA,IACA;AAAA,MACE,OAAS,EAAA,IAAA;AAAA,MACT,QAAU,EAAA,KAAA;AAAA,MACV,KAAO,EAAA,KAAA;AAAA,MACP,QAAU,EAAA,KAAA;AAAA,MACV,YAAc,EAAA,KAAA;AAAA,MACd,GAAA,EAAKA,MAAgB,CAAA,QAAA,CAAS,OAAQ,CAAA,OAAA;AAAA,KACxC;AAAA,IACA;AAAA,MACE,OAAS,EAAA,IAAA;AAAA,MACT,QAAU,EAAA,KAAA;AAAA,MACV,KAAO,EAAA,IAAA;AAAA,MACP,QAAU,EAAA,KAAA;AAAA,MACV,YAAc,EAAA,KAAA;AAAA,MACd,GAAA,EAAKA,MAAgB,CAAA,QAAA,CAAS,KAAM,CAAA,OAAA;AAAA,KACtC;AAAA;AAAA,IAEA;AAAA,MACE,OAAS,EAAA,IAAA;AAAA,MACT,QAAU,EAAA,KAAA;AAAA,MACV,YAAc,EAAA,KAAA;AAAA,MACd,QAAU,EAAA,KAAA;AAAA,MACV,GAAA,EAAKA,OAAgB,QAAS,CAAA,OAAA;AAAA,KAChC;AAAA,IACA;AAAA,MACE,OAAS,EAAA,IAAA;AAAA,MACT,OAAS,EAAA,KAAA;AAAA,MACT,KAAO,EAAA,KAAA;AAAA,MACP,QAAU,EAAA,KAAA;AAAA,MACV,QAAU,EAAA,KAAA;AAAA,MACV,YAAc,EAAA,KAAA;AAAA,MACd,GAAA,EAAKA,MAAgB,CAAA,QAAA,CAAS,OAAQ,CAAA,OAAA;AAAA,KACxC;AAAA,IACA;AAAA,MACE,OAAS,EAAA,IAAA;AAAA,MACT,OAAS,EAAA,KAAA;AAAA,MACT,KAAO,EAAA,IAAA;AAAA,MACP,QAAU,EAAA,KAAA;AAAA,MACV,QAAU,EAAA,KAAA;AAAA,MACV,YAAc,EAAA,KAAA;AAAA,MACd,GAAA,EAAKA,MAAgB,CAAA,QAAA,CAAS,KAAM,CAAA,OAAA;AAAA,KACtC;AAAA,GACF;AAAA,EACA,eAAiB,EAAA;AAAA,IACf,IAAM,EAAA,OAAA;AAAA,GACR;AACF,CAAC,CAAA;;ACpKD,MAAM,4BACJ,GAAA,gEAAA,CAAA;AAEW,MAAA,WAAA,GAAc,MAAO,CAAA,SAAA,CAAU,KAAO,EAAA;AAAA,EACjD,GAAK,EAAA,OAAA;AAAA,EACL,UAAY,EAAA,aAAA;AAAA,EACZ,KAAO,EAAA,gBAAA;AAAA,EACP,KAAO,EAAA,MAAA;AAAA,EACP,YAAc,EAAA,KAAA;AAAA,EACd,KAAO,EAAA,CAAA;AAAA,EACP,OAAS,EAAA,OAAA;AAAA,EACT,MAAQ,EAAA,MAAA;AAAA,EAER,gBAAkB,EAAA;AAAA,IAChB,SAAW,EAAA,QAAA;AAAA,GACb;AAAA,EAEA,CAAC,QAAS,CAAA,MAAA,CAAA,4BAAA,EAA4B,gBAAgB,CAAA,GACpDA,OAAgB,IAAK,CAAA,WAAA;AAAA,EAEvB,aAAe,EAAA;AAAA,IACb,KAAA,EAAOA,MAAgB,CAAA,QAAA,CAAS,QAAS,CAAA,KAAA;AAAA,GAC3C;AAAA,EAEA,qDAAA,EACEA,OAAgB,IAAK,CAAA,QAAA;AACzB,CAAC,CAAA;;ACnBY,MAAAC,OAAA,GAAQ,KAAM,CAAA,UAAA,CAGzB,CAAC,EAAE,EAAI,EAAA,kBAAA,EAAoB,eAAiB,EAAA,GAAG,SAAU,EAAA,EAAG,UAAe,KAAA;AAC3E,EAAM,MAAA;AAAA,IACJ,eAAiB,EAAA,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,MACE,eAAgB,EAAA,CAAA;AACpB,EAAM,MAAA;AAAA,IACJ,aAAA;AAAA,IACA,eAAiB,EAAA,2BAAA;AAAA,IACjB,WAAA;AAAA,IACA,cAAA;AAAA,IACA,WAAA;AAAA,IACA,WAAA;AAAA,IACA,WAAA;AAAA,IACA,eAAA;AAAA,MACE,mBAAsC,EAAA,CAAA;AAE1C,EAAA,MAAM,EAAE,MAAQ,EAAA,OAAA,EAAS,GAAG,YAAA,KAAiB,eAAgB,CAAA;AAAA,IAC3D,GAAG,SAAA;AAAA,IACH,YAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAA,SAAA,CAAU,MAAM;AACd,IAAc,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,QAAA,CAAA,CAAA;AACd,IAAc,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,QAAA,CAAA,CAAA;AACd,IAAc,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,QAAA,CAAA,CAAA;AACd,IAAkB,eAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAA,YAAA,CAAA,CAAA;AAAA,GACjB,EAAA;AAAA,IACD,QAAA;AAAA,IACA,YAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,WAAA;AAAA,IACA,WAAA;AAAA,IACA,WAAA;AAAA,IACA,WAAA;AAAA,IACA,eAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAA,MAAM,iBAAiB,KAAM,CAAA,WAAA;AAAA,IAC3B,CAAC,CAA0C,KAAA;AACzC,MAAA,UAAA,CAAW,IAAI,CAAA,CAAA;AACf,MAAU,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KACZ;AAAA,IACA,CAAC,YAAY,OAAO,CAAA;AAAA,GACtB,CAAA;AACA,EAAA,MAAM,gBAAgB,KAAM,CAAA,WAAA;AAAA,IAC1B,CAAC,CAA0C,KAAA;AACzC,MAAA,UAAA,CAAW,KAAK,CAAA,CAAA;AAChB,MAAS,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KACX;AAAA,IACA,CAAC,YAAY,MAAM,CAAA;AAAA,GACrB,CAAA;AAEA,EACE,uBAAA,GAAA;AAAA,IAAC,WAAA;AAAA,IAAA;AAAA,MACE,GAAG,YAAA;AAAA,MACJ,IAAI,EAAM,IAAA,IAAA,GAAA,EAAA,GAAA,aAAA;AAAA,MACV,QAAA;AAAA,MACA,kBAAkB,EAAA,eAAA;AAAA,QAChB,eAAA;AAAA,QACA,2BAAA;AAAA,OACF;AAAA,MACA,cAAc,EAAA,WAAA;AAAA,MACd,QAAA,EAAU,aAAa,IAAQ,IAAA,KAAA,CAAA;AAAA,MAC/B,QAAA,EAAU,aAAa,IAAQ,IAAA,KAAA,CAAA;AAAA,MAC/B,OAAS,EAAA,cAAA;AAAA,MACT,MAAQ,EAAA,aAAA;AAAA,MACR,KAAK,SAAU,CAAA,CAAC,QAAU,EAAA,cAAA,EAAgB,UAAU,CAAC,CAAA;AAAA,KAAA;AAAA,GACvD,CAAA;AAEJ,CAAC,CAAA;;AChDD,MAAM,IAAA,GAAO,KAAM,CAAA,UAAA,CAGjB,CAAC,EAAE,QAAU,EAAA,IAAA,EAAM,WAAa,EAAA,GAAG,SAAU,EAAA,EAAG,UAAe,KAAA;AA5CjE,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AA6CE,EAAM,MAAA,GAAA,GAAM,OAAuB,IAAI,CAAA,CAAA;AACvC,EAAM,MAAA;AAAA,IACJ,KAAO,EAAA,UAAA;AAAA,IACP,eAAiB,EAAA,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA,eAAA;AAAA,IACA,WAAA;AAAA,MACE,eAAgB,EAAA,CAAA;AACpB,EAAA,MAAM,EAAE,UAAA,EAAY,SAAW,EAAA,OAAA,KAAY,QAAS,CAAA;AAAA,IAClD,aAAe,EAAA,UAAA;AAAA,GAChB,CAAA,CAAA;AACD,EAAA,MAAM,sBACJ,GAAA,UAAA,CAAW,YAAY,CAAA,IAAK,WAAW,QAAQ,CAAA,CAAA;AACjD,EAAM,MAAA,UAAA,GAAA,CACJ,0BAAS,OAAT,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAkB,UAAlB,IAA2B,GAAA,EAAA,GAAA,SAAA,CAAU,KAArC,KAAA,IAAA,GAAA,EAAA,GAA8C,SAAU,CAAA,YAAA,CAAA;AAG1D,EAAM,MAAA;AAAA,IACJ,KAAA;AAAA,IACA,sBAAA;AAAA,IACA,KAAO,EAAA,cAAA;AAAA,MACL,mBAAoB,EAAA,CAAA;AACxB,EAAA,MAAM,gBACJ,WAAgB,KAAA,KAAA,CAAA,IACf,UAAe,KAAA,KAAA,CAAA,IAAa,eAAe,EAC5C,IAAA,OAAA,CAAA;AAGF,EAAA,MAAM,QAAQ,cAAkB,IAAA,IAAA,GAAA,cAAA,GAAA,UAAA,CAAA;AAChC,EAAM,MAAA,gBAAA,GACJ,CAAC,UAAA,CAAW,QAAQ,CAAA,IACpB,CAAC,sBAAA,IACD,CAAC,OAAA,IACD,CAAC,OAAA,IACD,KAAU,KAAA,KAAA,CAAA,CAAA;AACZ,EAAM,MAAA,SAAA,GACJ,KAAU,KAAA,IAAA,GAAO,mBAAsB,GAAA,gCAAA,CAAA;AAEzC,EAAA,4BACG,eACE,EAAA,EAAA,QAAA,EAAA;AAAA,IACC,sBAAA,oBAAA,GAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QACC,QAAU,EAAA,aAAA;AAAA,QACV,GAAA,EACE,CAAC,aAAiB,IAAA,WAAA;AAAA;AAAA,UAEd,EAAE,WAAW,+CAAgD,EAAA;AAAA,YAC7D,KAAA,CAAA;AAAA,QAEN,IAAA;AAAA,QAEC,QAAA,EAAA,KAAA;AAAA,OAAA;AAAA,KACH;AAAA,oBAEF,IAAA;AAAA,MAAC,eAAA;AAAA,MAAA;AAAA,QACE,GAAG,SAAA;AAAA,QACH,GAAG,UAAA;AAAA,QACJ,GAAK,EAAA,SAAA,CAAU,CAAC,GAAA,EAAK,UAAU,CAAC,CAAA;AAAA,QAChC,IAAA;AAAA,QACA,OAAA;AAAA,QACA,OAAA;AAAA,QACA,KAAA;AAAA,QACA,QAAA,EAAU,WAAW,QAAQ,CAAA;AAAA,QAC7B,YAAA,EAAc,WAAW,YAAY,CAAA;AAAA,QACrC,QAAA,EAAU,WAAW,QAAQ,CAAA;AAAA,QAC7B,cAAA,EAAc,mBAAoB,CAAA,KAAA,KAAU,KAAK,CAAA;AAAA,QACjD,YAAA,EAAY,mBAAoB,CAAA,KAAA,KAAU,IAAI,CAAA;AAAA,QAC9C,OAAS,EAAA,CAAC,EAAE,MAAA,EAAa,KAAA;AApHjC,UAAAF,IAAAA,GAAAA,CAAAA;AAqHU,UAAM,MAAA,gBAAA,GAAmB,WAAW,eAAgB,CAAA,OAAA,CAAA;AAEpD,UAAA,IAAI,gBAAkB,EAAA;AACpB,YAAA,CAAAA,GAAA,GAAA,QAAA,CAAS,OAAT,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,GAAkB,CAAA,KAAA,EAAA,CAAA;AAAA,WACpB;AAAA,SACF;AAAA,QAEC,QAAA,EAAA;AAAA,UAAA,QAAA;AAAA,UACA,gBAAA,wBACE,iBACC,EAAA,EAAA,QAAA,kBAAA,GAAA,CAAC,aAAU,IAAK,EAAA,OAAA,EAAQ,MAAO,EAAA,MAAA,EAAO,CACxC,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA;AAAA,KAEJ;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ,CAAC,CAAA,CAAA;AAEM,MAAM,YAAY,KAAM,CAAA,UAAA;AAAA,EAI7B,CACE;AAAA,IACE,eAAiB,EAAA,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAG,SAAA;AAAA,KAEL,UAEA,qBAAA,GAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,QAAA;AAAA,MACA,eAAe,EAAA,YAAA;AAAA,MACf,QAAA;AAAA,MACA,QAAA;AAAA,MAEA,QAAC,kBAAA,GAAA,CAAA,IAAA,EAAA,EAAM,GAAG,SAAA,EAAW,KAAK,UAAY,EAAA,CAAA;AAAA,KAAA;AAAA,GACxC;AAEJ,CAAA,CAAA;AAQA,SAAA,CAAU,KAAQ,GAAAE,OAAA;;AC5JX,MAAM,QAAQ,KAAM,CAAA,UAAA;AAAA,EACzB,CAAC,EAAE,KAAA,EAAO,cAAc,GAAG,SAAA,IAAa,UAAe,KAAA;AACrD,IAAM,MAAA;AAAA,MACJ,SAAY,GAAA,KAAA;AAAA,MACZ,OAAA;AAAA,MACA,UAAA;AAAA,MACA,GAAG,YAAA;AAAA,KACD,GAAA,SAAA,CAAA;AAEJ,IAAM,MAAA;AAAA,MACJ,KAAA;AAAA,MACA,eAAiB,EAAA,YAAA;AAAA,MACjB,QAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,IAAA;AAAA,MACA,QAAA;AAAA,MACA,SAAA;AAAA,MACA,GAAA;AAAA,MACA,GAAG,UAAA;AAAA,KACD,GAAA,YAAA,CAAA;AAEJ,IACE,uBAAA,IAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACC,QAAA;AAAA,QACA,KAAA;AAAA,QACA,eAAe,EAAA,YAAA;AAAA,QACf,QAAA;AAAA,QACA,QAAA;AAAA,QACA,OAAA;AAAA,QACA,OAAA;AAAA,QACA,SAAA;AAAA,QACA,GAAA;AAAA,QACA,IAAA;AAAA,QACA,KAAA;AAAA,QACA,YAAA;AAAA,QACA,aAAa,UAAW,CAAA,WAAA;AAAA,QAExB,QAAA,EAAA;AAAA,0BAAA,GAAA;AAAA,YAAC,SAAU,CAAA,KAAA;AAAA,YAAV;AAAA,cACE,GAAG,UAAA;AAAA,cACJ,KAAA;AAAA,cACA,YAAA;AAAA,cACA,GAAK,EAAA,UAAA;AAAA,aAAA;AAAA,WACP;AAAA,UACC,QAAA;AAAA,0BACD,GAAA;AAAA,YAAC,WAAA;AAAA,YAAA;AAAA,cACC,SAAA;AAAA,cACA,UAAA;AAAA,cACA,OAAA;AAAA,cACA,KAAA;AAAA,aAAA;AAAA,WACF;AAAA,SAAA;AAAA,OAAA;AAAA,KACF,CAAA;AAAA,GAEJ;AACF,EAAA;AAOA,KAAA,CAAM,YAAe,GAAA,YAAA,CAAA;AACrB,KAAA,CAAM,QAAW,GAAA,QAAA;;AC5BV,MAAM,gBAAgB,KAAM,CAAA,UAAA;AAAA,EAIjC,CACE;AAAA,IACE,KAAA;AAAA,IACA,MAAA;AAAA,IACA,aAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA;AAAA,IACA,SAAA;AAAA,IACA,WAAA;AAAA,IACA,GAAG,SAAA;AAAA,KAEL,UACG,KAAA;AACH,IAAM,MAAA,QAAA,GAAW,OAAyB,IAAI,CAAA,CAAA;AAC9C,IAAA,MAAM,CAAC,WAAa,EAAA,cAAc,CAAI,GAAA,QAAA,CAAS,wCAAiB,KAAK,CAAA,CAAA;AACrE,IAAA,MAAM,iBAAiB,MAAU,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAA;AAEjC,IAAM,MAAA;AAAA,MACJ,KAAA;AAAA,MACA,eAAiB,EAAA,YAAA;AAAA,MACjB,QAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,IAAA;AAAA,MACA,GAAG,UAAA;AAAA,KACD,GAAA,SAAA,CAAA;AAEJ,IACE,uBAAA,IAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACC,QAAA;AAAA,QACA,KAAA;AAAA,QACA,eAAe,EAAA,YAAA;AAAA,QACf,QAAA;AAAA,QACA,OAAA;AAAA,QACA,OAAA;AAAA,QACA,IAAA;AAAA,QAEA,QAAA,EAAA;AAAA,0BAAA,GAAA;AAAA,YAAC,SAAU,CAAA,KAAA;AAAA,YAAV;AAAA,cACE,GAAG,UAAA;AAAA,cACJ,IAAA,EAAM,iBAAiB,MAAS,GAAA,UAAA;AAAA,cAChC,KAAA;AAAA,cACA,GAAK,EAAA,SAAA,CAAU,CAAC,QAAA,EAAU,UAAU,CAAC,CAAA;AAAA,aAAA;AAAA,WACvC;AAAA,0BACC,GAAA,CAAA,QAAA,EAAA,EACC,QAAC,kBAAA,GAAA,CAAA,cAAA,EAAA,EAAe,CAClB,EAAA,CAAA;AAAA,0BACA,GAAA;AAAA,YAAC,YAAA;AAAA,YAAA;AAAA,cACC,KAAA,EAAO,iBAAiB,SAAY,GAAA,WAAA;AAAA,cACpC,QAAU,EAAA,KAAA;AAAA,cACV,SAAS,MAAM;AAtGzB,gBAAA,IAAA,EAAA,CAAA;AAuGY,gBAAA,MAAM,aAAgB,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,GAAA,CAAS,EAAS,GAAA,QAAA,CAAA,OAAA,KAAT,IAAkB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,CAAA;AAEjD,gBAAA,IAAI,cAAgB,EAAA;AAClB,kBAAS,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,aAAA,CAAA,CAAA;AAAA,iBACJ,MAAA;AACL,kBAAW,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,aAAA,CAAA,CAAA;AAAA,iBACb;AAEA,gBAAA,IAAI,UAAU,KAAW,CAAA,EAAA;AACvB,kBAAe,cAAA,CAAA,CAAAC,OAAU,KAAA,CAACA,OAAM,CAAA,CAAA;AAAA,iBAClC;AAAA,eACF;AAAA,cAEC,QAAiB,EAAA,cAAA,mBAAA,GAAA,CAAC,WAAY,EAAA,EAAA,CAAA,uBAAM,aAAc,EAAA,EAAA,CAAA;AAAA,aAAA;AAAA,WACrD;AAAA,SAAA;AAAA,OAAA;AAAA,KACF,CAAA;AAAA,GAEJ;AACF;;AC5Ga,MAAA,UAAA,GAAa,MAAM,UAG9B,CAAA,CAAC,EAAE,KAAO,EAAA,GAAG,SAAU,EAAA,EAAG,UAAe,KAAA;AACzC,EAAM,MAAA;AAAA,IACJ,SAAY,GAAA,KAAA;AAAA,IACZ,OAAA;AAAA,IACA,UAAA;AAAA,IACA,GAAG,YAAA;AAAA,GACD,GAAA,SAAA,CAAA;AAEJ,EAAM,MAAA;AAAA,IACJ,KAAA;AAAA,IACA,eAAiB,EAAA,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,IAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAG,UAAA;AAAA,GACD,GAAA,YAAA,CAAA;AAEJ,EACE,uBAAA,IAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,QAAA;AAAA,MACA,KAAA;AAAA,MACA,eAAe,EAAA,YAAA;AAAA,MACf,QAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,IAAA;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,SAAU,CAAA,KAAA;AAAA,UAAV;AAAA,YACC,IAAK,EAAA,OAAA;AAAA,YACJ,GAAG,UAAA;AAAA,YACJ,KAAA;AAAA,YACA,GAAK,EAAA,UAAA;AAAA,WAAA;AAAA,SACP;AAAA,QACC,QAAA;AAAA,wBACD,GAAA;AAAA,UAAC,WAAA;AAAA,UAAA;AAAA,YACC,SAAA;AAAA,YACA,UAAA;AAAA,YACA,OAAA;AAAA,YACA,KAAA;AAAA,WAAA;AAAA,SACF;AAAA,wBACC,GAAA,CAAA,QAAA,EAAA,EACC,QAAC,kBAAA,GAAA,CAAA,YAAA,EAAA,EAAa,CAChB,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA;AAAA,GACF,CAAA;AAEJ,CAAC,EAAA;AAMD,UAAA,CAAW,YAAe,GAAA,YAAA;;ACzDb,MAAA,WAAA,GAAc,MAAM,UAG/B,CAAA,CAAC,EAAE,KAAO,EAAA,GAAG,SAAU,EAAA,EAAG,UAAe,KAAA;AACzC,EAAM,MAAA;AAAA,IACJ,SAAY,GAAA,KAAA;AAAA,IACZ,OAAA;AAAA,IACA,UAAA;AAAA,IACA,GAAG,YAAA;AAAA,GACD,GAAA,SAAA,CAAA;AAEJ,EAAM,MAAA;AAAA,IACJ,KAAA;AAAA,IACA,eAAiB,EAAA,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA,IAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAG,UAAA;AAAA,GACD,GAAA,YAAA,CAAA;AAEJ,EACE,uBAAA,IAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,QAAA;AAAA,MACA,KAAA;AAAA,MACA,eAAe,EAAA,YAAA;AAAA,MACf,QAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,IAAA;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,UAAU,KAAV,EAAA,EAAiB,GAAG,UAAY,EAAA,KAAA,EAAc,KAAK,UAAY,EAAA,CAAA;AAAA,QAC/D,QAAA;AAAA,wBACD,GAAA;AAAA,UAAC,WAAA;AAAA,UAAA;AAAA,YACC,SAAA;AAAA,YACA,UAAA;AAAA,YACA,OAAA;AAAA,YACA,KAAA;AAAA,WAAA;AAAA,SACF;AAAA,wBACC,GAAA,CAAA,QAAA,EAAA,EACC,QAAC,kBAAA,GAAA,CAAA,mBAAA,EAAA,EAAoB,CACvB,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA;AAAA,GACF,CAAA;AAEJ,CAAC,EAAA;AAMD,WAAA,CAAY,YAAe,GAAA,YAAA;;;;"}
package/dist/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import react__default, { ComponentPropsWithRef, InputHTMLAttributes, HTMLProps } from 'react';
2
+ import react__default, { ComponentPropsWithRef, HTMLAttributes, InputHTMLAttributes, HTMLProps } from 'react';
3
3
  import * as _mirohq_design_system_stitches from '@mirohq/design-system-stitches';
4
4
  import * as _stitches_react_types_styled_component from '@stitches/react/types/styled-component';
5
5
  import * as _stitches_react_types_css_util from '@stitches/react/types/css-util';
@@ -7,6 +7,7 @@ import * as _mirohq_design_system_components_primitive from '@mirohq/design-syst
7
7
  import * as _mirohq_design_system_primitive from '@mirohq/design-system-primitive';
8
8
  import * as packages_components_internal_base_button_src_base_button from 'packages/components/internal/base-button/src/base-button';
9
9
  import * as _mirohq_design_system_hooks_use_press from '@mirohq/design-system-hooks/use-press';
10
+ import { FormElementProps } from '@mirohq/design-system-base-form';
10
11
 
11
12
  declare const StyledIconSlot: react.ForwardRefExoticComponent<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<_stitches_react_types_styled_component.StyledComponent<react.ForwardRefExoticComponent<_mirohq_design_system_primitive.PrimitiveProps<"div">>, {}, {}, _stitches_react_types_css_util.CSS<{}, {
12
13
  'border-widths': {
@@ -3949,6 +3950,8 @@ declare type StyledInputProps = ComponentPropsWithRef<typeof StyledInput>;
3949
3950
  interface InputProps$1 extends StyledInputProps {
3950
3951
  }
3951
3952
 
3953
+ declare type InputProviderProps = FormElementProps;
3954
+
3952
3955
  declare const StyledBaseInput: react.ForwardRefExoticComponent<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<_stitches_react_types_styled_component.StyledComponent<"div", {}, {}, _stitches_react_types_css_util.CSS<{}, {
3953
3956
  'border-widths': {
3954
3957
  readonly none: 0;
@@ -4437,7 +4440,7 @@ declare const StyledBaseInput: react.ForwardRefExoticComponent<Omit<Omit<_mirohq
4437
4440
  _hover: (css: _stitches_react_types_css_util.CSSProperties) => {
4438
4441
  '&:hover, &[data-hovered]': _stitches_react_types_css_util.CSSProperties;
4439
4442
  };
4440
- }>>>, "size" | "disabled" | "readOnly" | "ariaDisabled" | "focused" | "hovered" | "valid"> & _stitches_react_types_styled_component.TransformProps<{
4443
+ }>>>, "size" | "disabled" | "readOnly" | "ariaDisabled" | "valid" | "focused" | "hovered"> & _stitches_react_types_styled_component.TransformProps<{
4441
4444
  hovered?: boolean | "false" | "true" | undefined;
4442
4445
  focused?: boolean | "false" | "true" | undefined;
4443
4446
  valid?: boolean | "false" | "true" | undefined;
@@ -4456,15 +4459,13 @@ declare const StyledBaseInput: react.ForwardRefExoticComponent<Omit<Omit<_mirohq
4456
4459
  }, {}>;
4457
4460
  declare type StyledBaseInputProps = ComponentPropsWithRef<typeof StyledBaseInput>;
4458
4461
 
4459
- interface BaseInputProps extends Omit<StyledBaseInputProps, Exclude<keyof InputHTMLAttributes<'input' | 'div'>, 'size'>>, Omit<InputHTMLAttributes<any>, 'size'> {
4460
- label?: react__default.ReactNode;
4461
- valid?: boolean;
4462
+ interface BaseInputProps extends InputProviderProps, Omit<StyledBaseInputProps, keyof HTMLAttributes<any> | keyof InputProviderProps>, Omit<InputHTMLAttributes<HTMLInputElement | HTMLDivElement>, 'size'> {
4462
4463
  hovered?: boolean;
4463
4464
  focused?: boolean;
4464
4465
  }
4465
4466
 
4466
4467
  declare type Value = HTMLProps<'input'>['value'];
4467
- interface InputSharedProps extends Omit<InputProps$1, 'size'> {
4468
+ interface InputSharedProps extends InputProviderProps, Omit<InputProps$1, 'size'> {
4468
4469
  /** The input's state is indicated by both an icon and border color. A
4469
4470
  * green check mark signifies valid input, while a red warning icon denotes
4470
4471
  * invalid input. In both cases, the border color mirrors the icon: green for
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirohq/design-system-input",
3
- "version": "0.1.0-forms.6",
3
+ "version": "0.1.0-forms.7",
4
4
  "description": "",
5
5
  "author": "Miro",
6
6
  "source": "src/index.ts",
@@ -28,19 +28,19 @@
28
28
  "dependencies": {
29
29
  "@react-aria/interactions": "^3.13.0",
30
30
  "@react-types/shared": "^3.16.0",
31
- "@mirohq/design-system-base-button": "^0.4.36-forms.2",
32
- "@mirohq/design-system-base-form": "^0.1.0-forms.1",
33
- "@mirohq/design-system-base-icon": "^0.1.21-forms.0",
34
- "@mirohq/design-system-base-input": "^0.1.0-forms.2",
35
- "@mirohq/design-system-icon-button": "^2.1.8-forms.2",
36
- "@mirohq/design-system-icons": "^0.36.2-forms.2",
37
- "@mirohq/design-system-primitive": "^1.1.2-forms.0",
38
- "@mirohq/design-system-stitches": "^2.6.0",
31
+ "@mirohq/design-system-base-button": "^0.4.36-forms.3",
32
+ "@mirohq/design-system-base-form": "^0.1.0-forms.2",
33
+ "@mirohq/design-system-base-icon": "^0.1.21-forms.1",
34
+ "@mirohq/design-system-base-input": "^0.0.3-forms.3",
35
+ "@mirohq/design-system-icon-button": "^2.1.8-forms.3",
36
+ "@mirohq/design-system-icons": "^0.36.2-forms.3",
37
+ "@mirohq/design-system-primitive": "^1.1.2-forms.1",
39
38
  "@mirohq/design-system-styles": "^1.1.19",
40
- "@mirohq/design-system-tooltip": "^3.3.4-forms.2",
41
- "@mirohq/design-system-use-aria-disabled": "^0.1.0-forms.2",
39
+ "@mirohq/design-system-utils": "^0.15.0-forms.2",
40
+ "@mirohq/design-system-stitches": "^2.6.0",
42
41
  "@mirohq/design-system-use-layout-effect": "^0.2.1",
43
- "@mirohq/design-system-utils": "^0.15.0-forms.1"
42
+ "@mirohq/design-system-tooltip": "^3.3.4-forms.3",
43
+ "@mirohq/design-system-use-aria-disabled": "^0.1.0-forms.3"
44
44
  },
45
45
  "scripts": {
46
46
  "build": "rollup -c ../../../rollup.config.js",