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

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,
@@ -474,18 +493,10 @@ const Root = React__default["default"].forwardRef(({ children, size, placeholder
474
493
  const showValidityIcon = !designSystemUtils.booleanify(readOnly) && !ariaDisabledOrDisabled && !hovered && !focused && valid !== void 0;
475
494
  const ValidIcon = valid === true ? StyledIconCheckMark : StyledIconExclamationPointCircle;
476
495
  return /* @__PURE__ */ jsxRuntime.jsxs(
477
- StyledBaseInput,
496
+ StyledContainer,
478
497
  {
479
498
  ...restProps,
480
499
  ...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
500
  "data-invalid": designSystemUtils.booleanishAttrValue(valid === false),
490
501
  "data-valid": designSystemUtils.booleanishAttrValue(valid === true),
491
502
  onClick: ({ target }) => {
@@ -495,20 +506,36 @@ const Root = React__default["default"].forwardRef(({ children, size, placeholder
495
506
  (_a2 = inputRef.current) == null ? void 0 : _a2.focus();
496
507
  }
497
508
  },
509
+ ref: designSystemUtils.mergeRefs([ref, forwardRef]),
498
510
  children: [
499
511
  shouldUseFloatingLabel && /* @__PURE__ */ jsxRuntime.jsx(
500
512
  designSystemBaseForm.FloatingLabel,
501
513
  {
502
514
  floating: floatingLabel,
503
- css: {
504
- transform: floatingLabel ? "translateY(-1px)" : hasIconSlot ? "translateX(calc($sizes$icon-200 + $space$50))" : void 0
505
- },
515
+ css: !floatingLabel && hasIconSlot ? (
516
+ // icon size + input padding
517
+ { transform: "translateX(calc($sizes$icon-200 + $space$50))" }
518
+ ) : void 0,
506
519
  size,
507
520
  children: label
508
521
  }
509
522
  ),
510
- children,
511
- showValidityIcon && /* @__PURE__ */ jsxRuntime.jsx(StyledValidityBox, { children: /* @__PURE__ */ jsxRuntime.jsx(ValidIcon, { size: "small", weight: "thin" }) })
523
+ /* @__PURE__ */ jsxRuntime.jsxs(
524
+ StyledBaseInput,
525
+ {
526
+ size,
527
+ hovered,
528
+ focused,
529
+ valid,
530
+ disabled: designSystemUtils.booleanify(disabled),
531
+ ariaDisabled: designSystemUtils.booleanify(ariaDisabled),
532
+ readOnly: designSystemUtils.booleanify(readOnly),
533
+ children: [
534
+ children,
535
+ showValidityIcon && /* @__PURE__ */ jsxRuntime.jsx(StyledValidityBox, { children: /* @__PURE__ */ jsxRuntime.jsx(ValidIcon, { size: "small", weight: "thin" }) })
536
+ ]
537
+ }
538
+ )
512
539
  ]
513
540
  }
514
541
  );
@@ -526,7 +553,7 @@ const BaseInput = React__default["default"].forwardRef(
526
553
  {
527
554
  valid,
528
555
  disabled,
529
- ariaDisabled,
556
+ "aria-disabled": ariaDisabled,
530
557
  readOnly,
531
558
  required,
532
559
  children: /* @__PURE__ */ jsxRuntime.jsx(Root, { ...restProps, ref: forwardRef })
@@ -537,7 +564,6 @@ BaseInput.Input = Input$1;
537
564
 
538
565
  const Input = React__default["default"].forwardRef(
539
566
  ({ value, defaultValue, ...restProps }, forwardRef) => {
540
- const inputRef = React.useRef(null);
541
567
  const {
542
568
  clearable = false,
543
569
  onClear,
@@ -556,7 +582,6 @@ const Input = React__default["default"].forwardRef(
556
582
  children,
557
583
  className,
558
584
  css,
559
- label,
560
585
  ...inputProps
561
586
  } = elementProps;
562
587
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -572,7 +597,6 @@ const Input = React__default["default"].forwardRef(
572
597
  className,
573
598
  css,
574
599
  size,
575
- label,
576
600
  value,
577
601
  defaultValue,
578
602
  placeholder: inputProps.placeholder,
@@ -583,7 +607,7 @@ const Input = React__default["default"].forwardRef(
583
607
  ...inputProps,
584
608
  value,
585
609
  defaultValue,
586
- ref: designSystemUtils.mergeRefs([inputRef, forwardRef])
610
+ ref: forwardRef
587
611
  }
588
612
  ),
589
613
  children,
@@ -593,7 +617,6 @@ const Input = React__default["default"].forwardRef(
593
617
  clearable,
594
618
  clearLabel,
595
619
  onClear,
596
- inputRef,
597
620
  value
598
621
  }
599
622
  )
@@ -677,7 +700,6 @@ const InputPassword = React__default["default"].forwardRef(
677
700
  );
678
701
 
679
702
  const InputEmail = React__default["default"].forwardRef(({ value, ...restProps }, forwardRef) => {
680
- const inputRef = React.useRef(null);
681
703
  const {
682
704
  clearable = false,
683
705
  onClear,
@@ -712,7 +734,7 @@ const InputEmail = React__default["default"].forwardRef(({ value, ...restProps }
712
734
  type: "email",
713
735
  ...inputProps,
714
736
  value,
715
- ref: designSystemUtils.mergeRefs([inputRef, forwardRef])
737
+ ref: forwardRef
716
738
  }
717
739
  ),
718
740
  children,
@@ -722,7 +744,6 @@ const InputEmail = React__default["default"].forwardRef(({ value, ...restProps }
722
744
  clearable,
723
745
  clearLabel,
724
746
  onClear,
725
- inputRef,
726
747
  value
727
748
  }
728
749
  ),
@@ -734,7 +755,6 @@ const InputEmail = React__default["default"].forwardRef(({ value, ...restProps }
734
755
  InputEmail.ActionButton = ActionButton;
735
756
 
736
757
  const InputSearch = React__default["default"].forwardRef(({ value, ...restProps }, forwardRef) => {
737
- const inputRef = React.useRef(null);
738
758
  const {
739
759
  clearable = false,
740
760
  onClear,
@@ -763,14 +783,7 @@ const InputSearch = React__default["default"].forwardRef(({ value, ...restProps
763
783
  focused,
764
784
  size,
765
785
  children: [
766
- /* @__PURE__ */ jsxRuntime.jsx(
767
- BaseInput.Input,
768
- {
769
- ...inputProps,
770
- value,
771
- ref: designSystemUtils.mergeRefs([inputRef, forwardRef])
772
- }
773
- ),
786
+ /* @__PURE__ */ jsxRuntime.jsx(BaseInput.Input, { ...inputProps, value, ref: forwardRef }),
774
787
  children,
775
788
  /* @__PURE__ */ jsxRuntime.jsx(
776
789
  ClearAction,
@@ -778,7 +791,6 @@ const InputSearch = React__default["default"].forwardRef(({ value, ...restProps
778
791
  clearable,
779
792
  clearLabel,
780
793
  onClear,
781
- inputRef,
782
794
  value
783
795
  }
784
796
  ),
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 {...restProps}\n {...hoverProps}\n data-invalid={booleanishAttrValue(valid === false)}\n data-valid={booleanishAttrValue(valid === true)}\n onClick={({ target }) => {\n const shouldFocusInput = target !== actionButtonRef.current\n\n if (shouldFocusInput) {\n inputRef.current?.focus()\n }\n }}\n ref={mergeRefs([ref, forwardRef])}\n >\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 size={size}\n hovered={hovered}\n focused={focused}\n valid={valid}\n disabled={booleanify(disabled)}\n ariaDisabled={booleanify(ariaDisabled)}\n readOnly={booleanify(readOnly)}\n >\n {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 { InputSharedProps, Value } from './types'\n\nexport interface InputPasswordProps\n extends Omit<InputSharedProps, 'type' | 'children'> {\n /**\n * A boolean for the default password state (visible or masked).\n */\n defaultReveal?: boolean\n\n /**\n * Indicates whether the password should be revealed (visible) or hidden (masked).\n */\n reveal?: boolean\n\n /**\n * Callback function to be called when the password is revealed.\n */\n onReveal?: (value: Value) => void\n\n /**\n * Callback function to be called when the password is hidden (masked).\n */\n onHide?: (value: Value) => void\n\n /**\n * Tooltip label text for the action to reveal the password.\n */\n revealLabel: string\n\n /**\n * Tooltip label text for the action to hide (mask) the password.\n */\n hideLabel: string\n}\n\nexport const InputPassword = React.forwardRef<\n ElementRef<'input'>,\n InputPasswordProps\n>(\n (\n {\n value,\n reveal,\n defaultReveal,\n onReveal,\n onHide,\n hideLabel,\n revealLabel,\n ...restProps\n },\n forwardRef\n ) => {\n const inputRef = useRef<HTMLInputElement>(null)\n const [revealState, setRevealState] = useState(defaultReveal ?? false)\n const revealInternal = reveal ?? revealState\n\n const {\n valid,\n 'aria-disabled': ariaDisabled,\n readOnly,\n disabled,\n hovered,\n focused,\n size,\n ...inputProps\n } = restProps as BaseInputProps\n\n return (\n <BaseInput\n disabled={disabled}\n valid={valid}\n aria-disabled={ariaDisabled}\n readOnly={readOnly}\n hovered={hovered}\n focused={focused}\n size={size}\n >\n <BaseInput.Input\n {...inputProps}\n type={revealInternal ? 'text' : 'password'}\n value={value}\n ref={mergeRefs([inputRef, forwardRef])}\n />\n <IconSlot>\n <IconLockClosed />\n </IconSlot>\n <ActionButton\n label={revealInternal ? hideLabel : revealLabel}\n disabled={false}\n onPress={() => {\n const valueInternal = value ?? inputRef.current?.value\n\n if (revealInternal) {\n onHide?.(valueInternal)\n } else {\n onReveal?.(valueInternal)\n }\n\n if (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","booleanishAttrValue","FloatingLabel","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,
@@ -466,18 +485,10 @@ const Root = React.forwardRef(({ children, size, placeholder, ...restProps }, fo
466
485
  const showValidityIcon = !booleanify(readOnly) && !ariaDisabledOrDisabled && !hovered && !focused && valid !== void 0;
467
486
  const ValidIcon = valid === true ? StyledIconCheckMark : StyledIconExclamationPointCircle;
468
487
  return /* @__PURE__ */ jsxs(
469
- StyledBaseInput,
488
+ StyledContainer,
470
489
  {
471
490
  ...restProps,
472
491
  ...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
492
  "data-invalid": booleanishAttrValue(valid === false),
482
493
  "data-valid": booleanishAttrValue(valid === true),
483
494
  onClick: ({ target }) => {
@@ -487,20 +498,36 @@ const Root = React.forwardRef(({ children, size, placeholder, ...restProps }, fo
487
498
  (_a2 = inputRef.current) == null ? void 0 : _a2.focus();
488
499
  }
489
500
  },
501
+ ref: mergeRefs([ref, forwardRef]),
490
502
  children: [
491
503
  shouldUseFloatingLabel && /* @__PURE__ */ jsx(
492
504
  FloatingLabel,
493
505
  {
494
506
  floating: floatingLabel,
495
- css: {
496
- transform: floatingLabel ? "translateY(-1px)" : hasIconSlot ? "translateX(calc($sizes$icon-200 + $space$50))" : void 0
497
- },
507
+ css: !floatingLabel && hasIconSlot ? (
508
+ // icon size + input padding
509
+ { transform: "translateX(calc($sizes$icon-200 + $space$50))" }
510
+ ) : void 0,
498
511
  size,
499
512
  children: label
500
513
  }
501
514
  ),
502
- children,
503
- showValidityIcon && /* @__PURE__ */ jsx(StyledValidityBox, { children: /* @__PURE__ */ jsx(ValidIcon, { size: "small", weight: "thin" }) })
515
+ /* @__PURE__ */ jsxs(
516
+ StyledBaseInput,
517
+ {
518
+ size,
519
+ hovered,
520
+ focused,
521
+ valid,
522
+ disabled: booleanify(disabled),
523
+ ariaDisabled: booleanify(ariaDisabled),
524
+ readOnly: booleanify(readOnly),
525
+ children: [
526
+ children,
527
+ showValidityIcon && /* @__PURE__ */ jsx(StyledValidityBox, { children: /* @__PURE__ */ jsx(ValidIcon, { size: "small", weight: "thin" }) })
528
+ ]
529
+ }
530
+ )
504
531
  ]
505
532
  }
506
533
  );
@@ -518,7 +545,7 @@ const BaseInput = React.forwardRef(
518
545
  {
519
546
  valid,
520
547
  disabled,
521
- ariaDisabled,
548
+ "aria-disabled": ariaDisabled,
522
549
  readOnly,
523
550
  required,
524
551
  children: /* @__PURE__ */ jsx(Root, { ...restProps, ref: forwardRef })
@@ -529,7 +556,6 @@ BaseInput.Input = Input$1;
529
556
 
530
557
  const Input = React.forwardRef(
531
558
  ({ value, defaultValue, ...restProps }, forwardRef) => {
532
- const inputRef = useRef(null);
533
559
  const {
534
560
  clearable = false,
535
561
  onClear,
@@ -548,7 +574,6 @@ const Input = React.forwardRef(
548
574
  children,
549
575
  className,
550
576
  css,
551
- label,
552
577
  ...inputProps
553
578
  } = elementProps;
554
579
  return /* @__PURE__ */ jsxs(
@@ -564,7 +589,6 @@ const Input = React.forwardRef(
564
589
  className,
565
590
  css,
566
591
  size,
567
- label,
568
592
  value,
569
593
  defaultValue,
570
594
  placeholder: inputProps.placeholder,
@@ -575,7 +599,7 @@ const Input = React.forwardRef(
575
599
  ...inputProps,
576
600
  value,
577
601
  defaultValue,
578
- ref: mergeRefs([inputRef, forwardRef])
602
+ ref: forwardRef
579
603
  }
580
604
  ),
581
605
  children,
@@ -585,7 +609,6 @@ const Input = React.forwardRef(
585
609
  clearable,
586
610
  clearLabel,
587
611
  onClear,
588
- inputRef,
589
612
  value
590
613
  }
591
614
  )
@@ -669,7 +692,6 @@ const InputPassword = React.forwardRef(
669
692
  );
670
693
 
671
694
  const InputEmail = React.forwardRef(({ value, ...restProps }, forwardRef) => {
672
- const inputRef = useRef(null);
673
695
  const {
674
696
  clearable = false,
675
697
  onClear,
@@ -704,7 +726,7 @@ const InputEmail = React.forwardRef(({ value, ...restProps }, forwardRef) => {
704
726
  type: "email",
705
727
  ...inputProps,
706
728
  value,
707
- ref: mergeRefs([inputRef, forwardRef])
729
+ ref: forwardRef
708
730
  }
709
731
  ),
710
732
  children,
@@ -714,7 +736,6 @@ const InputEmail = React.forwardRef(({ value, ...restProps }, forwardRef) => {
714
736
  clearable,
715
737
  clearLabel,
716
738
  onClear,
717
- inputRef,
718
739
  value
719
740
  }
720
741
  ),
@@ -726,7 +747,6 @@ const InputEmail = React.forwardRef(({ value, ...restProps }, forwardRef) => {
726
747
  InputEmail.ActionButton = ActionButton;
727
748
 
728
749
  const InputSearch = React.forwardRef(({ value, ...restProps }, forwardRef) => {
729
- const inputRef = useRef(null);
730
750
  const {
731
751
  clearable = false,
732
752
  onClear,
@@ -755,14 +775,7 @@ const InputSearch = React.forwardRef(({ value, ...restProps }, forwardRef) => {
755
775
  focused,
756
776
  size,
757
777
  children: [
758
- /* @__PURE__ */ jsx(
759
- BaseInput.Input,
760
- {
761
- ...inputProps,
762
- value,
763
- ref: mergeRefs([inputRef, forwardRef])
764
- }
765
- ),
778
+ /* @__PURE__ */ jsx(BaseInput.Input, { ...inputProps, value, ref: forwardRef }),
766
779
  children,
767
780
  /* @__PURE__ */ jsx(
768
781
  ClearAction,
@@ -770,7 +783,6 @@ const InputSearch = React.forwardRef(({ value, ...restProps }, forwardRef) => {
770
783
  clearable,
771
784
  clearLabel,
772
785
  onClear,
773
- inputRef,
774
786
  value
775
787
  }
776
788
  ),
@@ -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 {...restProps}\n {...hoverProps}\n data-invalid={booleanishAttrValue(valid === false)}\n data-valid={booleanishAttrValue(valid === true)}\n onClick={({ target }) => {\n const shouldFocusInput = target !== actionButtonRef.current\n\n if (shouldFocusInput) {\n inputRef.current?.focus()\n }\n }}\n ref={mergeRefs([ref, forwardRef])}\n >\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 size={size}\n hovered={hovered}\n focused={focused}\n valid={valid}\n disabled={booleanify(disabled)}\n ariaDisabled={booleanify(ariaDisabled)}\n readOnly={booleanify(readOnly)}\n >\n {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 { InputSharedProps, Value } from './types'\n\nexport interface InputPasswordProps\n extends Omit<InputSharedProps, 'type' | 'children'> {\n /**\n * A boolean for the default password state (visible or masked).\n */\n defaultReveal?: boolean\n\n /**\n * Indicates whether the password should be revealed (visible) or hidden (masked).\n */\n reveal?: boolean\n\n /**\n * Callback function to be called when the password is revealed.\n */\n onReveal?: (value: Value) => void\n\n /**\n * Callback function to be called when the password is hidden (masked).\n */\n onHide?: (value: Value) => void\n\n /**\n * Tooltip label text for the action to reveal the password.\n */\n revealLabel: string\n\n /**\n * Tooltip label text for the action to hide (mask) the password.\n */\n hideLabel: string\n}\n\nexport const InputPassword = React.forwardRef<\n ElementRef<'input'>,\n InputPasswordProps\n>(\n (\n {\n value,\n reveal,\n defaultReveal,\n onReveal,\n onHide,\n hideLabel,\n revealLabel,\n ...restProps\n },\n forwardRef\n ) => {\n const inputRef = useRef<HTMLInputElement>(null)\n const [revealState, setRevealState] = useState(defaultReveal ?? false)\n const revealInternal = reveal ?? revealState\n\n const {\n valid,\n 'aria-disabled': ariaDisabled,\n readOnly,\n disabled,\n hovered,\n focused,\n size,\n ...inputProps\n } = restProps as BaseInputProps\n\n return (\n <BaseInput\n disabled={disabled}\n valid={valid}\n aria-disabled={ariaDisabled}\n readOnly={readOnly}\n hovered={hovered}\n focused={focused}\n size={size}\n >\n <BaseInput.Input\n {...inputProps}\n type={revealInternal ? 'text' : 'password'}\n value={value}\n ref={mergeRefs([inputRef, forwardRef])}\n />\n <IconSlot>\n <IconLockClosed />\n </IconSlot>\n <ActionButton\n label={revealInternal ? hideLabel : revealLabel}\n disabled={false}\n onPress={() => {\n const valueInternal = value ?? inputRef.current?.value\n\n if (revealInternal) {\n onHide?.(valueInternal)\n } else {\n onReveal?.(valueInternal)\n }\n\n if (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":"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"}
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
@@ -4509,7 +4510,7 @@ interface Partials$2 {
4509
4510
  IconSlot: typeof IconSlot;
4510
4511
  }
4511
4512
 
4512
- interface InputPasswordProps extends Omit<ClearableInputProps, 'type' | 'children'> {
4513
+ interface InputPasswordProps extends Omit<InputSharedProps, 'type' | 'children'> {
4513
4514
  /**
4514
4515
  * A boolean for the default password state (visible or masked).
4515
4516
  */
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",
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",
32
+ "@mirohq/design-system-base-form": "^0.1.0",
33
+ "@mirohq/design-system-base-input": "^0.0.3",
34
+ "@mirohq/design-system-primitive": "^1.1.2",
35
+ "@mirohq/design-system-base-icon": "^0.1.21",
36
+ "@mirohq/design-system-icon-button": "^2.1.8",
39
37
  "@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",
38
+ "@mirohq/design-system-icons": "^0.36.2",
39
+ "@mirohq/design-system-stitches": "^2.6.0",
40
+ "@mirohq/design-system-tooltip": "^3.3.4",
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-utils": "^0.15.0",
43
+ "@mirohq/design-system-use-aria-disabled": "^0.1.0"
44
44
  },
45
45
  "scripts": {
46
46
  "build": "rollup -c ../../../rollup.config.js",