@mirohq/design-system-input 1.0.8 → 1.1.1

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
@@ -289,21 +289,30 @@ const InputEmail = React__default["default"].forwardRef(({ children, ...restProp
289
289
  });
290
290
  InputEmail.ActionButton = ActionButton;
291
291
 
292
- const InputSearch = React__default["default"].forwardRef(({ children, ...restProps }, forwardRef) => {
292
+ const InputSearch = React__default["default"].forwardRef(({ children, onChange, ...restProps }, forwardRef) => {
293
293
  const {
294
294
  clearable = false,
295
295
  onClearPress,
296
296
  clearLabel,
297
+ value,
297
298
  ...elementProps
298
299
  } = restProps;
300
+ const [hasQuery, setHasQuery] = React__default["default"].useState(value !== "");
301
+ const handleChange = React__default["default"].useCallback(
302
+ (e) => {
303
+ setHasQuery(e.target.value !== "");
304
+ onChange == null ? void 0 : onChange(e);
305
+ },
306
+ [onChange]
307
+ );
299
308
  const { baseInputProps, inputProps } = useBaseInputProps(
300
- elementProps,
309
+ { ...elementProps, onChange: handleChange, value },
301
310
  forwardRef
302
311
  );
303
312
  return /* @__PURE__ */ jsxRuntime.jsxs(designSystemBaseInput.BaseInput, { ...baseInputProps, variant: "subtle", children: [
304
313
  /* @__PURE__ */ jsxRuntime.jsx(designSystemBaseInput.BaseInput.Input, { ...inputProps, ref: forwardRef }),
305
314
  children,
306
- /* @__PURE__ */ jsxRuntime.jsx(
315
+ hasQuery && /* @__PURE__ */ jsxRuntime.jsx(
307
316
  ClearAction,
308
317
  {
309
318
  clearable,
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sources":["../src/clear-action.tsx","../src/hooks/use-base-input-props.ts","../src/partials/action-button.ts","../src/partials/icon-slot.ts","../src/input.tsx","../src/input-password.tsx","../src/input-email.tsx","../src/input-search.tsx"],"sourcesContent":["import { IconCross } from '@mirohq/design-system-icons'\nimport { booleanify } from '@mirohq/design-system-utils'\nimport type { PressEvent } from '@mirohq/design-system-use-press'\nimport { BaseInput, useInputContext } from '@mirohq/design-system-base-input'\n\nimport type { ClearProps } from './types'\n\nexport type ClearActionProps = ClearProps\n\nconst createSyntheticChangeEvent = (\n inputRef: React.RefObject<HTMLInputElement>\n): React.ChangeEvent<HTMLInputElement> => {\n const event: React.ChangeEvent<HTMLInputElement> = {\n target: inputRef.current,\n currentTarget: inputRef.current,\n nativeEvent: new Event('input', {\n bubbles: true,\n }),\n preventDefault: () => {},\n stopPropagation: () => {},\n isDefaultPrevented: () => false,\n isPropagationStopped: () => false,\n persist: () => {},\n } as unknown as React.ChangeEvent<HTMLInputElement>\n\n return event\n}\n\nexport const ClearAction = ({\n clearable,\n clearLabel,\n onClearPress,\n value,\n}: ClearActionProps): JSX.Element => {\n const {\n disabled,\n 'aria-disabled': ariaDisabled,\n readOnly,\n inputRef,\n onChange,\n } = useInputContext()\n\n if (!clearable) return <></>\n\n return (\n <BaseInput.ActionButton\n label={clearLabel}\n disabled={booleanify(disabled ?? ariaDisabled ?? readOnly)}\n onPress={(e: PressEvent) => {\n onClearPress?.(e)\n\n if (value === undefined && inputRef.current !== null) {\n if (inputRef.current.value === '') return\n inputRef.current.value = ''\n\n const event = createSyntheticChangeEvent(inputRef)\n onChange?.(event)\n }\n }}\n >\n <IconCross />\n </BaseInput.ActionButton>\n )\n}\n","import type { InputHTMLAttributes, ForwardedRef } from 'react'\nimport { useEffect } from 'react'\nimport type {\n BaseInputProps,\n BaseInputInputProps,\n BaseInputSharedProps,\n} from '@mirohq/design-system-base-input'\nimport { mergeRefs, stringAttrValue } from '@mirohq/design-system-utils'\nimport { useFormFieldContext } from '@mirohq/design-system-base-form'\n\nimport type { InputFloatingLabelProps } from '../floating-label'\n\nconst baseInputAllowedEvents = [\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseMoveCapture',\n 'onMouseOut',\n 'onMouseOutCapture',\n 'onMouseOver',\n 'onMouseOverCapture',\n 'onPointerEnter',\n 'onPointerLeave',\n 'onPointerMove',\n 'onPointerMoveCapture',\n 'onPointerOut',\n 'onPointerOutCapture',\n 'onPointerOver',\n 'onPointerOverCapture',\n 'onTouchMove',\n 'onTouchMoveCapture',\n] as const\n\ntype BaseInputAllowedEventsKeys = typeof baseInputAllowedEvents[number]\n\ntype BaseInputEventProps = Pick<\n InputHTMLAttributes<HTMLInputElement>,\n BaseInputAllowedEventsKeys\n>\n\ninterface AdditionalRootProps {\n // to pass down className generated by Stitches.styled when providing Input as an element\n className?: string\n}\n\nexport type BaseInputRootProps = BaseInputProps &\n BaseInputEventProps &\n AdditionalRootProps\n\nexport const useBaseInputProps = (\n allProps: BaseInputSharedProps & AdditionalRootProps,\n forwardRef: ForwardedRef<HTMLInputElement>\n): {\n baseInputProps: BaseInputRootProps\n inputProps: BaseInputInputProps\n floatingLabelProps: InputFloatingLabelProps\n} => {\n const {\n // base-input props\n valid,\n 'aria-disabled': ariaDisabled,\n readOnly,\n required,\n disabled,\n size,\n className,\n css,\n onChange,\n\n // input props\n id,\n 'aria-describedby': ariaDescribedBy,\n 'aria-invalid': ariaInvalid,\n\n // input & floatingLabel shared props\n placeholder,\n value,\n defaultValue,\n\n ...restProps\n } = allProps\n\n const {\n formElementId,\n formElementRef,\n ariaDescribedBy: formFieldContextDescribedBy,\n ariaInvalid: formFieldAriaInvalid,\n valid: formFieldValid,\n setRequired,\n setReadOnly,\n setDisabled,\n setAriaDisabled,\n } = useFormFieldContext<HTMLInputElement>()\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 setRequired,\n setReadOnly,\n setDisabled,\n setAriaDisabled,\n ])\n\n const baseInputProps: BaseInputRootProps = {\n valid: formFieldValid ?? valid,\n 'aria-disabled': ariaDisabled,\n readOnly,\n required,\n disabled,\n size,\n className,\n css,\n onChange,\n }\n\n const inputProps: BaseInputInputProps = {\n id: id ?? formElementId,\n 'aria-describedby': stringAttrValue(\n ariaDescribedBy,\n formFieldContextDescribedBy\n ),\n 'aria-invalid': ariaInvalid ?? formFieldAriaInvalid,\n placeholder,\n value,\n defaultValue,\n ref: mergeRefs<HTMLInputElement>([formElementRef, forwardRef]),\n }\n\n const floatingLabelProps = {\n placeholder,\n value,\n defaultValue,\n size,\n }\n\n Object.entries(restProps).forEach(([key, value]) => {\n if (baseInputAllowedEvents.includes(key as any)) {\n baseInputProps[key as BaseInputAllowedEventsKeys] = value\n } else {\n inputProps[key as keyof BaseInputInputProps] = value\n }\n })\n\n return { baseInputProps, inputProps, floatingLabelProps }\n}\n","import type { BaseInputActionButtonProps } from '@mirohq/design-system-base-input'\nimport { BaseInput } from '@mirohq/design-system-base-input'\n\nexport type ActionButtonProps = BaseInputActionButtonProps\nexport const ActionButton = BaseInput.ActionButton\n","import type { BaseInputIconSlotProps } from '@mirohq/design-system-base-input'\nimport { BaseInput } from '@mirohq/design-system-base-input'\n\nexport type IconSlotProps = BaseInputIconSlotProps\nexport const IconSlot = BaseInput.IconSlot\n","import React from 'react'\nimport type {\n ElementRef,\n ForwardRefExoticComponent,\n RefAttributes,\n} from 'react'\nimport { BaseInput } from '@mirohq/design-system-base-input'\n\nimport { ClearAction } from './clear-action'\nimport type { ClearableInputProps, ClearProps } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\nimport { ActionButton } from './partials/action-button'\nimport { IconSlot } from './partials/icon-slot'\n\nexport type InputProps = ClearableInputProps &\n RefAttributes<ElementRef<'input'>>\n\nexport const Input = React.forwardRef<ElementRef<'input'>, InputProps>(\n ({ children, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClearPress,\n clearLabel,\n ...elementProps\n } = restProps as ClearProps\n\n const { baseInputProps, inputProps } = useBaseInputProps(\n elementProps,\n forwardRef\n )\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input {...inputProps} />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClearPress={onClearPress}\n value={inputProps.value}\n />\n </BaseInput>\n )\n }\n) as ForwardRefExoticComponent<InputProps> & Partials\n\nexport interface Partials {\n ActionButton: typeof ActionButton\n IconSlot: typeof IconSlot\n}\n\nInput.ActionButton = ActionButton\nInput.IconSlot = IconSlot\n","import React, { useState, useRef } from 'react'\nimport type { ElementRef } from 'react'\nimport {\n IconEyeOpen,\n IconEyeClosed,\n IconLockClosed,\n} from '@mirohq/design-system-icons'\nimport { mergeRefs } from '@mirohq/design-system-utils'\nimport type { BaseInputSharedProps } from '@mirohq/design-system-base-input'\nimport { BaseInput } from '@mirohq/design-system-base-input'\n\nimport type { Value } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\n\nexport interface InputPasswordProps extends Omit<BaseInputSharedProps, 'type'> {\n /**\n * A boolean for the default password state (visible or masked).\n */\n defaultReveal?: boolean\n\n /**\n * Indicates whether the password should be revealed (visible) or hidden (masked).\n */\n reveal?: boolean\n\n /**\n * Callback function to be called when the password is revealed.\n */\n onReveal?: (value: Value) => void\n\n /**\n * Callback function to be called when the password is hidden (masked).\n */\n onHide?: (value: Value) => void\n\n /**\n * Tooltip label text for the action to reveal the password.\n */\n revealLabel: string\n\n /**\n * Tooltip label text for the action to hide (mask) the password.\n */\n hideLabel: string\n}\n\nexport const InputPassword = React.forwardRef<\n ElementRef<'input'>,\n InputPasswordProps\n>(\n (\n {\n reveal,\n defaultReveal,\n onReveal,\n onHide,\n hideLabel,\n revealLabel,\n children,\n ...restProps\n },\n forwardRef\n ) => {\n const inputRef = useRef<HTMLInputElement>(null)\n const [revealState, setRevealState] = useState(defaultReveal ?? false)\n const revealInternal = reveal ?? revealState\n\n const { baseInputProps, inputProps } = useBaseInputProps(\n restProps,\n forwardRef\n )\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input\n {...inputProps}\n type={revealInternal ? 'text' : 'password'}\n ref={mergeRefs([inputRef, forwardRef])}\n />\n {children}\n <BaseInput.IconSlot>\n <IconLockClosed />\n </BaseInput.IconSlot>\n <BaseInput.ActionButton\n label={revealInternal ? hideLabel : revealLabel}\n disabled={false}\n onPress={() => {\n const valueInternal = inputProps.value ?? inputRef.current?.value\n\n if (revealInternal) {\n onHide?.(valueInternal)\n } else {\n onReveal?.(valueInternal)\n }\n\n if (reveal === undefined) {\n setRevealState(reveal => !reveal)\n }\n }}\n >\n {revealInternal ? <IconEyeOpen /> : <IconEyeClosed />}\n </BaseInput.ActionButton>\n </BaseInput>\n )\n }\n)\n","import React from 'react'\nimport type {\n ElementRef,\n ForwardRefExoticComponent,\n RefAttributes,\n} from 'react'\nimport { IconEnvelope } from '@mirohq/design-system-icons'\nimport { BaseInput } from '@mirohq/design-system-base-input'\n\nimport { ClearAction } from './clear-action'\nimport type { ClearableInputProps, ClearProps } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\nimport { ActionButton } from './partials/action-button'\n\nexport type InputEmailProps = ClearableInputProps &\n RefAttributes<ElementRef<'input'>>\n\nexport const InputEmail = React.forwardRef<\n ElementRef<'input'>,\n InputEmailProps\n>(({ children, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClearPress,\n clearLabel,\n ...elementProps\n } = restProps as ClearProps\n\n const { baseInputProps, inputProps } = useBaseInputProps(\n elementProps,\n forwardRef\n )\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input type='email' {...inputProps} />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClearPress={onClearPress}\n value={inputProps.value}\n />\n <BaseInput.IconSlot>\n <IconEnvelope />\n </BaseInput.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 type {\n ElementRef,\n ForwardRefExoticComponent,\n RefAttributes,\n} from 'react'\nimport { IconMagnifyingGlass } from '@mirohq/design-system-icons'\nimport { BaseInput } from '@mirohq/design-system-base-input'\n\nimport { ClearAction } from './clear-action'\nimport type { ClearableInputProps, ClearProps } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\nimport { ActionButton } from './partials/action-button'\n\nexport type InputSearchProps = ClearableInputProps &\n RefAttributes<ElementRef<'input'>>\n\nexport const InputSearch = React.forwardRef<\n ElementRef<'input'>,\n InputSearchProps\n>(({ children, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClearPress,\n clearLabel,\n ...elementProps\n } = restProps as ClearProps\n\n const { baseInputProps, inputProps } = useBaseInputProps(\n elementProps,\n forwardRef\n )\n\n return (\n <BaseInput {...baseInputProps} variant='subtle'>\n <BaseInput.Input {...inputProps} ref={forwardRef} />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClearPress={onClearPress}\n value={inputProps.value}\n />\n <BaseInput.IconSlot>\n <IconMagnifyingGlass />\n </BaseInput.IconSlot>\n </BaseInput>\n )\n}) as ForwardRefExoticComponent<InputSearchProps> & Partials\n\nexport interface Partials {\n ActionButton: typeof ActionButton\n}\n\nInputSearch.ActionButton = ActionButton\n"],"names":["useInputContext","jsx","Fragment","BaseInput","booleanify","IconCross","useFormFieldContext","useEffect","stringAttrValue","mergeRefs","value","React","jsxs","useRef","useState","IconLockClosed","reveal","IconEyeOpen","IconEyeClosed","IconEnvelope","IconMagnifyingGlass"],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sources":["../src/clear-action.tsx","../src/hooks/use-base-input-props.ts","../src/partials/action-button.ts","../src/partials/icon-slot.ts","../src/input.tsx","../src/input-password.tsx","../src/input-email.tsx","../src/input-search.tsx"],"sourcesContent":["import { IconCross } from '@mirohq/design-system-icons'\nimport { booleanify } from '@mirohq/design-system-utils'\nimport type { PressEvent } from '@mirohq/design-system-use-press'\nimport { BaseInput, useInputContext } from '@mirohq/design-system-base-input'\n\nimport type { ClearProps } from './types'\n\nexport type ClearActionProps = ClearProps\n\nconst createSyntheticChangeEvent = (\n inputRef: React.RefObject<HTMLInputElement>\n): React.ChangeEvent<HTMLInputElement> => {\n const event: React.ChangeEvent<HTMLInputElement> = {\n target: inputRef.current,\n currentTarget: inputRef.current,\n nativeEvent: new Event('input', {\n bubbles: true,\n }),\n preventDefault: () => {},\n stopPropagation: () => {},\n isDefaultPrevented: () => false,\n isPropagationStopped: () => false,\n persist: () => {},\n } as unknown as React.ChangeEvent<HTMLInputElement>\n\n return event\n}\n\nexport const ClearAction = ({\n clearable,\n clearLabel,\n onClearPress,\n value,\n}: ClearActionProps): JSX.Element => {\n const {\n disabled,\n 'aria-disabled': ariaDisabled,\n readOnly,\n inputRef,\n onChange,\n } = useInputContext()\n\n if (!clearable) return <></>\n\n return (\n <BaseInput.ActionButton\n label={clearLabel}\n disabled={booleanify(disabled ?? ariaDisabled ?? readOnly)}\n onPress={(e: PressEvent) => {\n onClearPress?.(e)\n\n if (value === undefined && inputRef.current !== null) {\n if (inputRef.current.value === '') return\n inputRef.current.value = ''\n\n const event = createSyntheticChangeEvent(inputRef)\n onChange?.(event)\n }\n }}\n >\n <IconCross />\n </BaseInput.ActionButton>\n )\n}\n","import type { InputHTMLAttributes, ForwardedRef } from 'react'\nimport { useEffect } from 'react'\nimport type {\n BaseInputProps,\n BaseInputInputProps,\n BaseInputSharedProps,\n} from '@mirohq/design-system-base-input'\nimport { mergeRefs, stringAttrValue } from '@mirohq/design-system-utils'\nimport { useFormFieldContext } from '@mirohq/design-system-base-form'\n\nimport type { InputFloatingLabelProps } from '../floating-label'\n\nconst baseInputAllowedEvents = [\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseMoveCapture',\n 'onMouseOut',\n 'onMouseOutCapture',\n 'onMouseOver',\n 'onMouseOverCapture',\n 'onPointerEnter',\n 'onPointerLeave',\n 'onPointerMove',\n 'onPointerMoveCapture',\n 'onPointerOut',\n 'onPointerOutCapture',\n 'onPointerOver',\n 'onPointerOverCapture',\n 'onTouchMove',\n 'onTouchMoveCapture',\n] as const\n\ntype BaseInputAllowedEventsKeys = typeof baseInputAllowedEvents[number]\n\ntype BaseInputEventProps = Pick<\n InputHTMLAttributes<HTMLInputElement>,\n BaseInputAllowedEventsKeys\n>\n\ninterface AdditionalRootProps {\n // to pass down className generated by Stitches.styled when providing Input as an element\n className?: string\n}\n\nexport type BaseInputRootProps = BaseInputProps &\n BaseInputEventProps &\n AdditionalRootProps\n\nexport const useBaseInputProps = (\n allProps: BaseInputSharedProps & AdditionalRootProps,\n forwardRef: ForwardedRef<HTMLInputElement>\n): {\n baseInputProps: BaseInputRootProps\n inputProps: BaseInputInputProps\n floatingLabelProps: InputFloatingLabelProps\n} => {\n const {\n // base-input props\n valid,\n 'aria-disabled': ariaDisabled,\n readOnly,\n required,\n disabled,\n size,\n className,\n css,\n onChange,\n\n // input props\n id,\n 'aria-describedby': ariaDescribedBy,\n 'aria-invalid': ariaInvalid,\n\n // input & floatingLabel shared props\n placeholder,\n value,\n defaultValue,\n\n ...restProps\n } = allProps\n\n const {\n formElementId,\n formElementRef,\n ariaDescribedBy: formFieldContextDescribedBy,\n ariaInvalid: formFieldAriaInvalid,\n valid: formFieldValid,\n setRequired,\n setReadOnly,\n setDisabled,\n setAriaDisabled,\n } = useFormFieldContext<HTMLInputElement>()\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 setRequired,\n setReadOnly,\n setDisabled,\n setAriaDisabled,\n ])\n\n const baseInputProps: BaseInputRootProps = {\n valid: formFieldValid ?? valid,\n 'aria-disabled': ariaDisabled,\n readOnly,\n required,\n disabled,\n size,\n className,\n css,\n onChange,\n }\n\n const inputProps: BaseInputInputProps = {\n id: id ?? formElementId,\n 'aria-describedby': stringAttrValue(\n ariaDescribedBy,\n formFieldContextDescribedBy\n ),\n 'aria-invalid': ariaInvalid ?? formFieldAriaInvalid,\n placeholder,\n value,\n defaultValue,\n ref: mergeRefs<HTMLInputElement>([formElementRef, forwardRef]),\n }\n\n const floatingLabelProps = {\n placeholder,\n value,\n defaultValue,\n size,\n }\n\n Object.entries(restProps).forEach(([key, value]) => {\n if (baseInputAllowedEvents.includes(key as any)) {\n baseInputProps[key as BaseInputAllowedEventsKeys] = value\n } else {\n inputProps[key as keyof BaseInputInputProps] = value\n }\n })\n\n return { baseInputProps, inputProps, floatingLabelProps }\n}\n","import type { BaseInputActionButtonProps } from '@mirohq/design-system-base-input'\nimport { BaseInput } from '@mirohq/design-system-base-input'\n\nexport type ActionButtonProps = BaseInputActionButtonProps\nexport const ActionButton = BaseInput.ActionButton\n","import type { BaseInputIconSlotProps } from '@mirohq/design-system-base-input'\nimport { BaseInput } from '@mirohq/design-system-base-input'\n\nexport type IconSlotProps = BaseInputIconSlotProps\nexport const IconSlot = BaseInput.IconSlot\n","import React from 'react'\nimport type {\n ElementRef,\n ForwardRefExoticComponent,\n RefAttributes,\n} from 'react'\nimport { BaseInput } from '@mirohq/design-system-base-input'\n\nimport { ClearAction } from './clear-action'\nimport type { ClearableInputProps, ClearProps } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\nimport { ActionButton } from './partials/action-button'\nimport { IconSlot } from './partials/icon-slot'\n\nexport type InputProps = ClearableInputProps &\n RefAttributes<ElementRef<'input'>>\n\nexport const Input = React.forwardRef<ElementRef<'input'>, InputProps>(\n ({ children, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClearPress,\n clearLabel,\n ...elementProps\n } = restProps as ClearProps\n\n const { baseInputProps, inputProps } = useBaseInputProps(\n elementProps,\n forwardRef\n )\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input {...inputProps} />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClearPress={onClearPress}\n value={inputProps.value}\n />\n </BaseInput>\n )\n }\n) as ForwardRefExoticComponent<InputProps> & Partials\n\nexport interface Partials {\n ActionButton: typeof ActionButton\n IconSlot: typeof IconSlot\n}\n\nInput.ActionButton = ActionButton\nInput.IconSlot = IconSlot\n","import React, { useState, useRef } from 'react'\nimport type { ElementRef } from 'react'\nimport {\n IconEyeOpen,\n IconEyeClosed,\n IconLockClosed,\n} from '@mirohq/design-system-icons'\nimport { mergeRefs } from '@mirohq/design-system-utils'\nimport type { BaseInputSharedProps } from '@mirohq/design-system-base-input'\nimport { BaseInput } from '@mirohq/design-system-base-input'\n\nimport type { Value } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\n\nexport interface InputPasswordProps extends Omit<BaseInputSharedProps, 'type'> {\n /**\n * A boolean for the default password state (visible or masked).\n */\n defaultReveal?: boolean\n\n /**\n * Indicates whether the password should be revealed (visible) or hidden (masked).\n */\n reveal?: boolean\n\n /**\n * Callback function to be called when the password is revealed.\n */\n onReveal?: (value: Value) => void\n\n /**\n * Callback function to be called when the password is hidden (masked).\n */\n onHide?: (value: Value) => void\n\n /**\n * Tooltip label text for the action to reveal the password.\n */\n revealLabel: string\n\n /**\n * Tooltip label text for the action to hide (mask) the password.\n */\n hideLabel: string\n}\n\nexport const InputPassword = React.forwardRef<\n ElementRef<'input'>,\n InputPasswordProps\n>(\n (\n {\n reveal,\n defaultReveal,\n onReveal,\n onHide,\n hideLabel,\n revealLabel,\n children,\n ...restProps\n },\n forwardRef\n ) => {\n const inputRef = useRef<HTMLInputElement>(null)\n const [revealState, setRevealState] = useState(defaultReveal ?? false)\n const revealInternal = reveal ?? revealState\n\n const { baseInputProps, inputProps } = useBaseInputProps(\n restProps,\n forwardRef\n )\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input\n {...inputProps}\n type={revealInternal ? 'text' : 'password'}\n ref={mergeRefs([inputRef, forwardRef])}\n />\n {children}\n <BaseInput.IconSlot>\n <IconLockClosed />\n </BaseInput.IconSlot>\n <BaseInput.ActionButton\n label={revealInternal ? hideLabel : revealLabel}\n disabled={false}\n onPress={() => {\n const valueInternal = inputProps.value ?? inputRef.current?.value\n\n if (revealInternal) {\n onHide?.(valueInternal)\n } else {\n onReveal?.(valueInternal)\n }\n\n if (reveal === undefined) {\n setRevealState(reveal => !reveal)\n }\n }}\n >\n {revealInternal ? <IconEyeOpen /> : <IconEyeClosed />}\n </BaseInput.ActionButton>\n </BaseInput>\n )\n }\n)\n","import React from 'react'\nimport type {\n ElementRef,\n ForwardRefExoticComponent,\n RefAttributes,\n} from 'react'\nimport { IconEnvelope } from '@mirohq/design-system-icons'\nimport { BaseInput } from '@mirohq/design-system-base-input'\n\nimport { ClearAction } from './clear-action'\nimport type { ClearableInputProps, ClearProps } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\nimport { ActionButton } from './partials/action-button'\n\nexport type InputEmailProps = ClearableInputProps &\n RefAttributes<ElementRef<'input'>>\n\nexport const InputEmail = React.forwardRef<\n ElementRef<'input'>,\n InputEmailProps\n>(({ children, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClearPress,\n clearLabel,\n ...elementProps\n } = restProps as ClearProps\n\n const { baseInputProps, inputProps } = useBaseInputProps(\n elementProps,\n forwardRef\n )\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input type='email' {...inputProps} />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClearPress={onClearPress}\n value={inputProps.value}\n />\n <BaseInput.IconSlot>\n <IconEnvelope />\n </BaseInput.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 type {\n ElementRef,\n ForwardRefExoticComponent,\n RefAttributes,\n} from 'react'\nimport { IconMagnifyingGlass } from '@mirohq/design-system-icons'\nimport { BaseInput } from '@mirohq/design-system-base-input'\n\nimport { ClearAction } from './clear-action'\nimport type { ClearableInputProps, ClearProps } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\nimport { ActionButton } from './partials/action-button'\n\nexport type InputSearchProps = ClearableInputProps &\n RefAttributes<ElementRef<'input'>>\n\nexport const InputSearch = React.forwardRef<\n ElementRef<'input'>,\n InputSearchProps\n>(({ children, onChange, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClearPress,\n clearLabel,\n value,\n ...elementProps\n } = restProps as ClearProps\n\n const [hasQuery, setHasQuery] = React.useState(value !== '')\n\n const handleChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setHasQuery(e.target.value !== '')\n onChange?.(e)\n },\n [onChange]\n )\n\n const { baseInputProps, inputProps } = useBaseInputProps(\n { ...elementProps, onChange: handleChange, value },\n forwardRef\n )\n\n return (\n <BaseInput {...baseInputProps} variant='subtle'>\n <BaseInput.Input {...inputProps} ref={forwardRef} />\n {children}\n {hasQuery && (\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClearPress={onClearPress}\n value={inputProps.value}\n />\n )}\n <BaseInput.IconSlot>\n <IconMagnifyingGlass />\n </BaseInput.IconSlot>\n </BaseInput>\n )\n}) as ForwardRefExoticComponent<InputSearchProps> & Partials\n\nexport interface Partials {\n ActionButton: typeof ActionButton\n}\n\nInputSearch.ActionButton = ActionButton\n"],"names":["useInputContext","jsx","Fragment","BaseInput","booleanify","IconCross","useFormFieldContext","useEffect","stringAttrValue","mergeRefs","value","React","jsxs","useRef","useState","IconLockClosed","reveal","IconEyeOpen","IconEyeClosed","IconEnvelope","IconMagnifyingGlass"],"mappings":"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"}
package/dist/module.js CHANGED
@@ -281,21 +281,30 @@ const InputEmail = React.forwardRef(({ children, ...restProps }, forwardRef) =>
281
281
  });
282
282
  InputEmail.ActionButton = ActionButton;
283
283
 
284
- const InputSearch = React.forwardRef(({ children, ...restProps }, forwardRef) => {
284
+ const InputSearch = React.forwardRef(({ children, onChange, ...restProps }, forwardRef) => {
285
285
  const {
286
286
  clearable = false,
287
287
  onClearPress,
288
288
  clearLabel,
289
+ value,
289
290
  ...elementProps
290
291
  } = restProps;
292
+ const [hasQuery, setHasQuery] = React.useState(value !== "");
293
+ const handleChange = React.useCallback(
294
+ (e) => {
295
+ setHasQuery(e.target.value !== "");
296
+ onChange == null ? void 0 : onChange(e);
297
+ },
298
+ [onChange]
299
+ );
291
300
  const { baseInputProps, inputProps } = useBaseInputProps(
292
- elementProps,
301
+ { ...elementProps, onChange: handleChange, value },
293
302
  forwardRef
294
303
  );
295
304
  return /* @__PURE__ */ jsxs(BaseInput, { ...baseInputProps, variant: "subtle", children: [
296
305
  /* @__PURE__ */ jsx(BaseInput.Input, { ...inputProps, ref: forwardRef }),
297
306
  children,
298
- /* @__PURE__ */ jsx(
307
+ hasQuery && /* @__PURE__ */ jsx(
299
308
  ClearAction,
300
309
  {
301
310
  clearable,
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sources":["../src/clear-action.tsx","../src/hooks/use-base-input-props.ts","../src/partials/action-button.ts","../src/partials/icon-slot.ts","../src/input.tsx","../src/input-password.tsx","../src/input-email.tsx","../src/input-search.tsx"],"sourcesContent":["import { IconCross } from '@mirohq/design-system-icons'\nimport { booleanify } from '@mirohq/design-system-utils'\nimport type { PressEvent } from '@mirohq/design-system-use-press'\nimport { BaseInput, useInputContext } from '@mirohq/design-system-base-input'\n\nimport type { ClearProps } from './types'\n\nexport type ClearActionProps = ClearProps\n\nconst createSyntheticChangeEvent = (\n inputRef: React.RefObject<HTMLInputElement>\n): React.ChangeEvent<HTMLInputElement> => {\n const event: React.ChangeEvent<HTMLInputElement> = {\n target: inputRef.current,\n currentTarget: inputRef.current,\n nativeEvent: new Event('input', {\n bubbles: true,\n }),\n preventDefault: () => {},\n stopPropagation: () => {},\n isDefaultPrevented: () => false,\n isPropagationStopped: () => false,\n persist: () => {},\n } as unknown as React.ChangeEvent<HTMLInputElement>\n\n return event\n}\n\nexport const ClearAction = ({\n clearable,\n clearLabel,\n onClearPress,\n value,\n}: ClearActionProps): JSX.Element => {\n const {\n disabled,\n 'aria-disabled': ariaDisabled,\n readOnly,\n inputRef,\n onChange,\n } = useInputContext()\n\n if (!clearable) return <></>\n\n return (\n <BaseInput.ActionButton\n label={clearLabel}\n disabled={booleanify(disabled ?? ariaDisabled ?? readOnly)}\n onPress={(e: PressEvent) => {\n onClearPress?.(e)\n\n if (value === undefined && inputRef.current !== null) {\n if (inputRef.current.value === '') return\n inputRef.current.value = ''\n\n const event = createSyntheticChangeEvent(inputRef)\n onChange?.(event)\n }\n }}\n >\n <IconCross />\n </BaseInput.ActionButton>\n )\n}\n","import type { InputHTMLAttributes, ForwardedRef } from 'react'\nimport { useEffect } from 'react'\nimport type {\n BaseInputProps,\n BaseInputInputProps,\n BaseInputSharedProps,\n} from '@mirohq/design-system-base-input'\nimport { mergeRefs, stringAttrValue } from '@mirohq/design-system-utils'\nimport { useFormFieldContext } from '@mirohq/design-system-base-form'\n\nimport type { InputFloatingLabelProps } from '../floating-label'\n\nconst baseInputAllowedEvents = [\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseMoveCapture',\n 'onMouseOut',\n 'onMouseOutCapture',\n 'onMouseOver',\n 'onMouseOverCapture',\n 'onPointerEnter',\n 'onPointerLeave',\n 'onPointerMove',\n 'onPointerMoveCapture',\n 'onPointerOut',\n 'onPointerOutCapture',\n 'onPointerOver',\n 'onPointerOverCapture',\n 'onTouchMove',\n 'onTouchMoveCapture',\n] as const\n\ntype BaseInputAllowedEventsKeys = typeof baseInputAllowedEvents[number]\n\ntype BaseInputEventProps = Pick<\n InputHTMLAttributes<HTMLInputElement>,\n BaseInputAllowedEventsKeys\n>\n\ninterface AdditionalRootProps {\n // to pass down className generated by Stitches.styled when providing Input as an element\n className?: string\n}\n\nexport type BaseInputRootProps = BaseInputProps &\n BaseInputEventProps &\n AdditionalRootProps\n\nexport const useBaseInputProps = (\n allProps: BaseInputSharedProps & AdditionalRootProps,\n forwardRef: ForwardedRef<HTMLInputElement>\n): {\n baseInputProps: BaseInputRootProps\n inputProps: BaseInputInputProps\n floatingLabelProps: InputFloatingLabelProps\n} => {\n const {\n // base-input props\n valid,\n 'aria-disabled': ariaDisabled,\n readOnly,\n required,\n disabled,\n size,\n className,\n css,\n onChange,\n\n // input props\n id,\n 'aria-describedby': ariaDescribedBy,\n 'aria-invalid': ariaInvalid,\n\n // input & floatingLabel shared props\n placeholder,\n value,\n defaultValue,\n\n ...restProps\n } = allProps\n\n const {\n formElementId,\n formElementRef,\n ariaDescribedBy: formFieldContextDescribedBy,\n ariaInvalid: formFieldAriaInvalid,\n valid: formFieldValid,\n setRequired,\n setReadOnly,\n setDisabled,\n setAriaDisabled,\n } = useFormFieldContext<HTMLInputElement>()\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 setRequired,\n setReadOnly,\n setDisabled,\n setAriaDisabled,\n ])\n\n const baseInputProps: BaseInputRootProps = {\n valid: formFieldValid ?? valid,\n 'aria-disabled': ariaDisabled,\n readOnly,\n required,\n disabled,\n size,\n className,\n css,\n onChange,\n }\n\n const inputProps: BaseInputInputProps = {\n id: id ?? formElementId,\n 'aria-describedby': stringAttrValue(\n ariaDescribedBy,\n formFieldContextDescribedBy\n ),\n 'aria-invalid': ariaInvalid ?? formFieldAriaInvalid,\n placeholder,\n value,\n defaultValue,\n ref: mergeRefs<HTMLInputElement>([formElementRef, forwardRef]),\n }\n\n const floatingLabelProps = {\n placeholder,\n value,\n defaultValue,\n size,\n }\n\n Object.entries(restProps).forEach(([key, value]) => {\n if (baseInputAllowedEvents.includes(key as any)) {\n baseInputProps[key as BaseInputAllowedEventsKeys] = value\n } else {\n inputProps[key as keyof BaseInputInputProps] = value\n }\n })\n\n return { baseInputProps, inputProps, floatingLabelProps }\n}\n","import type { BaseInputActionButtonProps } from '@mirohq/design-system-base-input'\nimport { BaseInput } from '@mirohq/design-system-base-input'\n\nexport type ActionButtonProps = BaseInputActionButtonProps\nexport const ActionButton = BaseInput.ActionButton\n","import type { BaseInputIconSlotProps } from '@mirohq/design-system-base-input'\nimport { BaseInput } from '@mirohq/design-system-base-input'\n\nexport type IconSlotProps = BaseInputIconSlotProps\nexport const IconSlot = BaseInput.IconSlot\n","import React from 'react'\nimport type {\n ElementRef,\n ForwardRefExoticComponent,\n RefAttributes,\n} from 'react'\nimport { BaseInput } from '@mirohq/design-system-base-input'\n\nimport { ClearAction } from './clear-action'\nimport type { ClearableInputProps, ClearProps } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\nimport { ActionButton } from './partials/action-button'\nimport { IconSlot } from './partials/icon-slot'\n\nexport type InputProps = ClearableInputProps &\n RefAttributes<ElementRef<'input'>>\n\nexport const Input = React.forwardRef<ElementRef<'input'>, InputProps>(\n ({ children, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClearPress,\n clearLabel,\n ...elementProps\n } = restProps as ClearProps\n\n const { baseInputProps, inputProps } = useBaseInputProps(\n elementProps,\n forwardRef\n )\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input {...inputProps} />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClearPress={onClearPress}\n value={inputProps.value}\n />\n </BaseInput>\n )\n }\n) as ForwardRefExoticComponent<InputProps> & Partials\n\nexport interface Partials {\n ActionButton: typeof ActionButton\n IconSlot: typeof IconSlot\n}\n\nInput.ActionButton = ActionButton\nInput.IconSlot = IconSlot\n","import React, { useState, useRef } from 'react'\nimport type { ElementRef } from 'react'\nimport {\n IconEyeOpen,\n IconEyeClosed,\n IconLockClosed,\n} from '@mirohq/design-system-icons'\nimport { mergeRefs } from '@mirohq/design-system-utils'\nimport type { BaseInputSharedProps } from '@mirohq/design-system-base-input'\nimport { BaseInput } from '@mirohq/design-system-base-input'\n\nimport type { Value } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\n\nexport interface InputPasswordProps extends Omit<BaseInputSharedProps, 'type'> {\n /**\n * A boolean for the default password state (visible or masked).\n */\n defaultReveal?: boolean\n\n /**\n * Indicates whether the password should be revealed (visible) or hidden (masked).\n */\n reveal?: boolean\n\n /**\n * Callback function to be called when the password is revealed.\n */\n onReveal?: (value: Value) => void\n\n /**\n * Callback function to be called when the password is hidden (masked).\n */\n onHide?: (value: Value) => void\n\n /**\n * Tooltip label text for the action to reveal the password.\n */\n revealLabel: string\n\n /**\n * Tooltip label text for the action to hide (mask) the password.\n */\n hideLabel: string\n}\n\nexport const InputPassword = React.forwardRef<\n ElementRef<'input'>,\n InputPasswordProps\n>(\n (\n {\n reveal,\n defaultReveal,\n onReveal,\n onHide,\n hideLabel,\n revealLabel,\n children,\n ...restProps\n },\n forwardRef\n ) => {\n const inputRef = useRef<HTMLInputElement>(null)\n const [revealState, setRevealState] = useState(defaultReveal ?? false)\n const revealInternal = reveal ?? revealState\n\n const { baseInputProps, inputProps } = useBaseInputProps(\n restProps,\n forwardRef\n )\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input\n {...inputProps}\n type={revealInternal ? 'text' : 'password'}\n ref={mergeRefs([inputRef, forwardRef])}\n />\n {children}\n <BaseInput.IconSlot>\n <IconLockClosed />\n </BaseInput.IconSlot>\n <BaseInput.ActionButton\n label={revealInternal ? hideLabel : revealLabel}\n disabled={false}\n onPress={() => {\n const valueInternal = inputProps.value ?? inputRef.current?.value\n\n if (revealInternal) {\n onHide?.(valueInternal)\n } else {\n onReveal?.(valueInternal)\n }\n\n if (reveal === undefined) {\n setRevealState(reveal => !reveal)\n }\n }}\n >\n {revealInternal ? <IconEyeOpen /> : <IconEyeClosed />}\n </BaseInput.ActionButton>\n </BaseInput>\n )\n }\n)\n","import React from 'react'\nimport type {\n ElementRef,\n ForwardRefExoticComponent,\n RefAttributes,\n} from 'react'\nimport { IconEnvelope } from '@mirohq/design-system-icons'\nimport { BaseInput } from '@mirohq/design-system-base-input'\n\nimport { ClearAction } from './clear-action'\nimport type { ClearableInputProps, ClearProps } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\nimport { ActionButton } from './partials/action-button'\n\nexport type InputEmailProps = ClearableInputProps &\n RefAttributes<ElementRef<'input'>>\n\nexport const InputEmail = React.forwardRef<\n ElementRef<'input'>,\n InputEmailProps\n>(({ children, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClearPress,\n clearLabel,\n ...elementProps\n } = restProps as ClearProps\n\n const { baseInputProps, inputProps } = useBaseInputProps(\n elementProps,\n forwardRef\n )\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input type='email' {...inputProps} />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClearPress={onClearPress}\n value={inputProps.value}\n />\n <BaseInput.IconSlot>\n <IconEnvelope />\n </BaseInput.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 type {\n ElementRef,\n ForwardRefExoticComponent,\n RefAttributes,\n} from 'react'\nimport { IconMagnifyingGlass } from '@mirohq/design-system-icons'\nimport { BaseInput } from '@mirohq/design-system-base-input'\n\nimport { ClearAction } from './clear-action'\nimport type { ClearableInputProps, ClearProps } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\nimport { ActionButton } from './partials/action-button'\n\nexport type InputSearchProps = ClearableInputProps &\n RefAttributes<ElementRef<'input'>>\n\nexport const InputSearch = React.forwardRef<\n ElementRef<'input'>,\n InputSearchProps\n>(({ children, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClearPress,\n clearLabel,\n ...elementProps\n } = restProps as ClearProps\n\n const { baseInputProps, inputProps } = useBaseInputProps(\n elementProps,\n forwardRef\n )\n\n return (\n <BaseInput {...baseInputProps} variant='subtle'>\n <BaseInput.Input {...inputProps} ref={forwardRef} />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClearPress={onClearPress}\n value={inputProps.value}\n />\n <BaseInput.IconSlot>\n <IconMagnifyingGlass />\n </BaseInput.IconSlot>\n </BaseInput>\n )\n}) as ForwardRefExoticComponent<InputSearchProps> & Partials\n\nexport interface Partials {\n ActionButton: typeof ActionButton\n}\n\nInputSearch.ActionButton = ActionButton\n"],"names":["value","reveal"],"mappings":";;;;;;;AASA,MAAM,0BAAA,GAA6B,CACjC,QACwC,KAAA;AACxC,EAAA,MAAM,KAA6C,GAAA;AAAA,IACjD,QAAQ,QAAS,CAAA,OAAA;AAAA,IACjB,eAAe,QAAS,CAAA,OAAA;AAAA,IACxB,WAAA,EAAa,IAAI,KAAA,CAAM,OAAS,EAAA;AAAA,MAC9B,OAAS,EAAA,IAAA;AAAA,KACV,CAAA;AAAA,IACD,gBAAgB,MAAM;AAAA,KAAC;AAAA,IACvB,iBAAiB,MAAM;AAAA,KAAC;AAAA,IACxB,oBAAoB,MAAM,KAAA;AAAA,IAC1B,sBAAsB,MAAM,KAAA;AAAA,IAC5B,SAAS,MAAM;AAAA,KAAC;AAAA,GAClB,CAAA;AAEA,EAAO,OAAA,KAAA,CAAA;AACT,CAAA,CAAA;AAEO,MAAM,cAAc,CAAC;AAAA,EAC1B,SAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AAAA,EACA,KAAA;AACF,CAAqC,KAAA;AAjCrC,EAAA,IAAA,EAAA,CAAA;AAkCE,EAAM,MAAA;AAAA,IACJ,QAAA;AAAA,IACA,eAAiB,EAAA,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,MACE,eAAgB,EAAA,CAAA;AAEpB,EAAA,IAAI,CAAC,SAAA;AAAW,IAAA,uBAAS,GAAA,CAAA,QAAA,EAAA,EAAA,CAAA,CAAA;AAEzB,EACE,uBAAA,GAAA;AAAA,IAAC,SAAU,CAAA,YAAA;AAAA,IAAV;AAAA,MACC,KAAO,EAAA,UAAA;AAAA,MACP,QAAU,EAAA,UAAA,CAAA,CAAW,EAAY,GAAA,QAAA,IAAA,IAAA,GAAA,QAAA,GAAA,YAAA,KAAZ,YAA4B,QAAQ,CAAA;AAAA,MACzD,OAAA,EAAS,CAAC,CAAkB,KAAA;AAC1B,QAAe,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,CAAA,CAAA,CAAA;AAEf,QAAA,IAAI,KAAU,KAAA,KAAA,CAAA,IAAa,QAAS,CAAA,OAAA,KAAY,IAAM,EAAA;AACpD,UAAI,IAAA,QAAA,CAAS,QAAQ,KAAU,KAAA,EAAA;AAAI,YAAA,OAAA;AACnC,UAAA,QAAA,CAAS,QAAQ,KAAQ,GAAA,EAAA,CAAA;AAEzB,UAAM,MAAA,KAAA,GAAQ,2BAA2B,QAAQ,CAAA,CAAA;AACjD,UAAW,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA,CAAA;AAAA,SACb;AAAA,OACF;AAAA,MAEA,8BAAC,SAAU,EAAA,EAAA,CAAA;AAAA,KAAA;AAAA,GACb,CAAA;AAEJ,CAAA;;ACnDA,MAAM,sBAAyB,GAAA;AAAA,EAC7B,cAAA;AAAA,EACA,cAAA;AAAA,EACA,aAAA;AAAA,EACA,oBAAA;AAAA,EACA,YAAA;AAAA,EACA,mBAAA;AAAA,EACA,aAAA;AAAA,EACA,oBAAA;AAAA,EACA,gBAAA;AAAA,EACA,gBAAA;AAAA,EACA,eAAA;AAAA,EACA,sBAAA;AAAA,EACA,cAAA;AAAA,EACA,qBAAA;AAAA,EACA,eAAA;AAAA,EACA,sBAAA;AAAA,EACA,aAAA;AAAA,EACA,oBAAA;AACF,CAAA,CAAA;AAkBa,MAAA,iBAAA,GAAoB,CAC/B,QAAA,EACA,UAKG,KAAA;AACH,EAAM,MAAA;AAAA;AAAA,IAEJ,KAAA;AAAA,IACA,eAAiB,EAAA,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA,SAAA;AAAA,IACA,GAAA;AAAA,IACA,QAAA;AAAA;AAAA,IAGA,EAAA;AAAA,IACA,kBAAoB,EAAA,eAAA;AAAA,IACpB,cAAgB,EAAA,WAAA;AAAA;AAAA,IAGhB,WAAA;AAAA,IACA,KAAA;AAAA,IACA,YAAA;AAAA,IAEA,GAAG,SAAA;AAAA,GACD,GAAA,QAAA,CAAA;AAEJ,EAAM,MAAA;AAAA,IACJ,aAAA;AAAA,IACA,cAAA;AAAA,IACA,eAAiB,EAAA,2BAAA;AAAA,IACjB,WAAa,EAAA,oBAAA;AAAA,IACb,KAAO,EAAA,cAAA;AAAA,IACP,WAAA;AAAA,IACA,WAAA;AAAA,IACA,WAAA;AAAA,IACA,eAAA;AAAA,MACE,mBAAsC,EAAA,CAAA;AAE1C,EAAA,SAAA,CAAU,MAAM;AACd,IAAc,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,QAAA,CAAA,CAAA;AACd,IAAc,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,QAAA,CAAA,CAAA;AACd,IAAc,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,QAAA,CAAA,CAAA;AACd,IAAkB,eAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAA,YAAA,CAAA,CAAA;AAAA,GACjB,EAAA;AAAA,IACD,QAAA;AAAA,IACA,YAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,WAAA;AAAA,IACA,WAAA;AAAA,IACA,WAAA;AAAA,IACA,eAAA;AAAA,GACD,CAAA,CAAA;AAED,EAAA,MAAM,cAAqC,GAAA;AAAA,IACzC,OAAO,cAAkB,IAAA,IAAA,GAAA,cAAA,GAAA,KAAA;AAAA,IACzB,eAAiB,EAAA,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA,SAAA;AAAA,IACA,GAAA;AAAA,IACA,QAAA;AAAA,GACF,CAAA;AAEA,EAAA,MAAM,UAAkC,GAAA;AAAA,IACtC,IAAI,EAAM,IAAA,IAAA,GAAA,EAAA,GAAA,aAAA;AAAA,IACV,kBAAoB,EAAA,eAAA;AAAA,MAClB,eAAA;AAAA,MACA,2BAAA;AAAA,KACF;AAAA,IACA,gBAAgB,WAAe,IAAA,IAAA,GAAA,WAAA,GAAA,oBAAA;AAAA,IAC/B,WAAA;AAAA,IACA,KAAA;AAAA,IACA,YAAA;AAAA,IACA,GAAK,EAAA,SAAA,CAA4B,CAAC,cAAA,EAAgB,UAAU,CAAC,CAAA;AAAA,GAC/D,CAAA;AAEA,EAAA,MAAM,kBAAqB,GAAA;AAAA,IACzB,WAAA;AAAA,IACA,KAAA;AAAA,IACA,YAAA;AAAA,IACA,IAAA;AAAA,GACF,CAAA;AAEA,EAAO,MAAA,CAAA,OAAA,CAAQ,SAAS,CAAE,CAAA,OAAA,CAAQ,CAAC,CAAC,GAAA,EAAKA,MAAK,CAAM,KAAA;AAClD,IAAI,IAAA,sBAAA,CAAuB,QAAS,CAAA,GAAU,CAAG,EAAA;AAC/C,MAAA,cAAA,CAAe,GAAiC,CAAIA,GAAAA,MAAAA,CAAAA;AAAA,KAC/C,MAAA;AACL,MAAA,UAAA,CAAW,GAAgC,CAAIA,GAAAA,MAAAA,CAAAA;AAAA,KACjD;AAAA,GACD,CAAA,CAAA;AAED,EAAO,OAAA,EAAE,cAAgB,EAAA,UAAA,EAAY,kBAAmB,EAAA,CAAA;AAC1D,CAAA;;ACnJO,MAAM,eAAe,SAAU,CAAA,YAAA;;ACA/B,MAAM,WAAW,SAAU,CAAA,QAAA;;ACa3B,MAAM,QAAQ,KAAM,CAAA,UAAA;AAAA,EACzB,CAAC,EAAE,QAAA,EAAU,GAAG,SAAA,IAAa,UAAe,KAAA;AAC1C,IAAM,MAAA;AAAA,MACJ,SAAY,GAAA,KAAA;AAAA,MACZ,YAAA;AAAA,MACA,UAAA;AAAA,MACA,GAAG,YAAA;AAAA,KACD,GAAA,SAAA,CAAA;AAEJ,IAAM,MAAA,EAAE,cAAgB,EAAA,UAAA,EAAe,GAAA,iBAAA;AAAA,MACrC,YAAA;AAAA,MACA,UAAA;AAAA,KACF,CAAA;AAEA,IACE,uBAAA,IAAA,CAAC,SAAW,EAAA,EAAA,GAAG,cACb,EAAA,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,SAAU,CAAA,KAAA,EAAV,EAAiB,GAAG,UAAY,EAAA,CAAA;AAAA,MAChC,QAAA;AAAA,sBACD,GAAA;AAAA,QAAC,WAAA;AAAA,QAAA;AAAA,UACC,SAAA;AAAA,UACA,UAAA;AAAA,UACA,YAAA;AAAA,UACA,OAAO,UAAW,CAAA,KAAA;AAAA,SAAA;AAAA,OACpB;AAAA,KACF,EAAA,CAAA,CAAA;AAAA,GAEJ;AACF,EAAA;AAOA,KAAA,CAAM,YAAe,GAAA,YAAA,CAAA;AACrB,KAAA,CAAM,QAAW,GAAA,QAAA;;ACNV,MAAM,gBAAgB,KAAM,CAAA,UAAA;AAAA,EAIjC,CACE;AAAA,IACE,MAAA;AAAA,IACA,aAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA;AAAA,IACA,SAAA;AAAA,IACA,WAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAG,SAAA;AAAA,KAEL,UACG,KAAA;AACH,IAAM,MAAA,QAAA,GAAW,OAAyB,IAAI,CAAA,CAAA;AAC9C,IAAA,MAAM,CAAC,WAAa,EAAA,cAAc,CAAI,GAAA,QAAA,CAAS,wCAAiB,KAAK,CAAA,CAAA;AACrE,IAAA,MAAM,iBAAiB,MAAU,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAA;AAEjC,IAAM,MAAA,EAAE,cAAgB,EAAA,UAAA,EAAe,GAAA,iBAAA;AAAA,MACrC,SAAA;AAAA,MACA,UAAA;AAAA,KACF,CAAA;AAEA,IACE,uBAAA,IAAA,CAAC,SAAW,EAAA,EAAA,GAAG,cACb,EAAA,QAAA,EAAA;AAAA,sBAAA,GAAA;AAAA,QAAC,SAAU,CAAA,KAAA;AAAA,QAAV;AAAA,UACE,GAAG,UAAA;AAAA,UACJ,IAAA,EAAM,iBAAiB,MAAS,GAAA,UAAA;AAAA,UAChC,GAAK,EAAA,SAAA,CAAU,CAAC,QAAA,EAAU,UAAU,CAAC,CAAA;AAAA,SAAA;AAAA,OACvC;AAAA,MACC,QAAA;AAAA,0BACA,SAAU,CAAA,QAAA,EAAV,EACC,QAAA,kBAAA,GAAA,CAAC,kBAAe,CAClB,EAAA,CAAA;AAAA,sBACA,GAAA;AAAA,QAAC,SAAU,CAAA,YAAA;AAAA,QAAV;AAAA,UACC,KAAA,EAAO,iBAAiB,SAAY,GAAA,WAAA;AAAA,UACpC,QAAU,EAAA,KAAA;AAAA,UACV,SAAS,MAAM;AAtFzB,YAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAuFY,YAAA,MAAM,iBAAgB,EAAW,GAAA,UAAA,CAAA,KAAA,KAAX,IAAoB,GAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAA,CAAS,YAAT,IAAkB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,CAAA;AAE5D,YAAA,IAAI,cAAgB,EAAA;AAClB,cAAS,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,aAAA,CAAA,CAAA;AAAA,aACJ,MAAA;AACL,cAAW,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,aAAA,CAAA,CAAA;AAAA,aACb;AAEA,YAAA,IAAI,WAAW,KAAW,CAAA,EAAA;AACxB,cAAe,cAAA,CAAA,CAAAC,OAAU,KAAA,CAACA,OAAM,CAAA,CAAA;AAAA,aAClC;AAAA,WACF;AAAA,UAEC,QAAiB,EAAA,cAAA,mBAAA,GAAA,CAAC,WAAY,EAAA,EAAA,CAAA,uBAAM,aAAc,EAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OACrD;AAAA,KACF,EAAA,CAAA,CAAA;AAAA,GAEJ;AACF;;ACxFa,MAAA,UAAA,GAAa,MAAM,UAG9B,CAAA,CAAC,EAAE,QAAU,EAAA,GAAG,SAAU,EAAA,EAAG,UAAe,KAAA;AAC5C,EAAM,MAAA;AAAA,IACJ,SAAY,GAAA,KAAA;AAAA,IACZ,YAAA;AAAA,IACA,UAAA;AAAA,IACA,GAAG,YAAA;AAAA,GACD,GAAA,SAAA,CAAA;AAEJ,EAAM,MAAA,EAAE,cAAgB,EAAA,UAAA,EAAe,GAAA,iBAAA;AAAA,IACrC,YAAA;AAAA,IACA,UAAA;AAAA,GACF,CAAA;AAEA,EACE,uBAAA,IAAA,CAAC,SAAW,EAAA,EAAA,GAAG,cACb,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,UAAU,KAAV,EAAA,EAAgB,IAAK,EAAA,OAAA,EAAS,GAAG,UAAY,EAAA,CAAA;AAAA,IAC7C,QAAA;AAAA,oBACD,GAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACC,SAAA;AAAA,QACA,UAAA;AAAA,QACA,YAAA;AAAA,QACA,OAAO,UAAW,CAAA,KAAA;AAAA,OAAA;AAAA,KACpB;AAAA,wBACC,SAAU,CAAA,QAAA,EAAV,EACC,QAAA,kBAAA,GAAA,CAAC,gBAAa,CAChB,EAAA,CAAA;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ,CAAC,EAAA;AAMD,UAAA,CAAW,YAAe,GAAA,YAAA;;ACrCb,MAAA,WAAA,GAAc,MAAM,UAG/B,CAAA,CAAC,EAAE,QAAU,EAAA,GAAG,SAAU,EAAA,EAAG,UAAe,KAAA;AAC5C,EAAM,MAAA;AAAA,IACJ,SAAY,GAAA,KAAA;AAAA,IACZ,YAAA;AAAA,IACA,UAAA;AAAA,IACA,GAAG,YAAA;AAAA,GACD,GAAA,SAAA,CAAA;AAEJ,EAAM,MAAA,EAAE,cAAgB,EAAA,UAAA,EAAe,GAAA,iBAAA;AAAA,IACrC,YAAA;AAAA,IACA,UAAA;AAAA,GACF,CAAA;AAEA,EAAA,uBACG,IAAA,CAAA,SAAA,EAAA,EAAW,GAAG,cAAA,EAAgB,SAAQ,QACrC,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,UAAU,KAAV,EAAA,EAAiB,GAAG,UAAA,EAAY,KAAK,UAAY,EAAA,CAAA;AAAA,IACjD,QAAA;AAAA,oBACD,GAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACC,SAAA;AAAA,QACA,UAAA;AAAA,QACA,YAAA;AAAA,QACA,OAAO,UAAW,CAAA,KAAA;AAAA,OAAA;AAAA,KACpB;AAAA,wBACC,SAAU,CAAA,QAAA,EAAV,EACC,QAAA,kBAAA,GAAA,CAAC,uBAAoB,CACvB,EAAA,CAAA;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ,CAAC,EAAA;AAMD,WAAA,CAAY,YAAe,GAAA,YAAA;;;;"}
1
+ {"version":3,"file":"module.js","sources":["../src/clear-action.tsx","../src/hooks/use-base-input-props.ts","../src/partials/action-button.ts","../src/partials/icon-slot.ts","../src/input.tsx","../src/input-password.tsx","../src/input-email.tsx","../src/input-search.tsx"],"sourcesContent":["import { IconCross } from '@mirohq/design-system-icons'\nimport { booleanify } from '@mirohq/design-system-utils'\nimport type { PressEvent } from '@mirohq/design-system-use-press'\nimport { BaseInput, useInputContext } from '@mirohq/design-system-base-input'\n\nimport type { ClearProps } from './types'\n\nexport type ClearActionProps = ClearProps\n\nconst createSyntheticChangeEvent = (\n inputRef: React.RefObject<HTMLInputElement>\n): React.ChangeEvent<HTMLInputElement> => {\n const event: React.ChangeEvent<HTMLInputElement> = {\n target: inputRef.current,\n currentTarget: inputRef.current,\n nativeEvent: new Event('input', {\n bubbles: true,\n }),\n preventDefault: () => {},\n stopPropagation: () => {},\n isDefaultPrevented: () => false,\n isPropagationStopped: () => false,\n persist: () => {},\n } as unknown as React.ChangeEvent<HTMLInputElement>\n\n return event\n}\n\nexport const ClearAction = ({\n clearable,\n clearLabel,\n onClearPress,\n value,\n}: ClearActionProps): JSX.Element => {\n const {\n disabled,\n 'aria-disabled': ariaDisabled,\n readOnly,\n inputRef,\n onChange,\n } = useInputContext()\n\n if (!clearable) return <></>\n\n return (\n <BaseInput.ActionButton\n label={clearLabel}\n disabled={booleanify(disabled ?? ariaDisabled ?? readOnly)}\n onPress={(e: PressEvent) => {\n onClearPress?.(e)\n\n if (value === undefined && inputRef.current !== null) {\n if (inputRef.current.value === '') return\n inputRef.current.value = ''\n\n const event = createSyntheticChangeEvent(inputRef)\n onChange?.(event)\n }\n }}\n >\n <IconCross />\n </BaseInput.ActionButton>\n )\n}\n","import type { InputHTMLAttributes, ForwardedRef } from 'react'\nimport { useEffect } from 'react'\nimport type {\n BaseInputProps,\n BaseInputInputProps,\n BaseInputSharedProps,\n} from '@mirohq/design-system-base-input'\nimport { mergeRefs, stringAttrValue } from '@mirohq/design-system-utils'\nimport { useFormFieldContext } from '@mirohq/design-system-base-form'\n\nimport type { InputFloatingLabelProps } from '../floating-label'\n\nconst baseInputAllowedEvents = [\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseMoveCapture',\n 'onMouseOut',\n 'onMouseOutCapture',\n 'onMouseOver',\n 'onMouseOverCapture',\n 'onPointerEnter',\n 'onPointerLeave',\n 'onPointerMove',\n 'onPointerMoveCapture',\n 'onPointerOut',\n 'onPointerOutCapture',\n 'onPointerOver',\n 'onPointerOverCapture',\n 'onTouchMove',\n 'onTouchMoveCapture',\n] as const\n\ntype BaseInputAllowedEventsKeys = typeof baseInputAllowedEvents[number]\n\ntype BaseInputEventProps = Pick<\n InputHTMLAttributes<HTMLInputElement>,\n BaseInputAllowedEventsKeys\n>\n\ninterface AdditionalRootProps {\n // to pass down className generated by Stitches.styled when providing Input as an element\n className?: string\n}\n\nexport type BaseInputRootProps = BaseInputProps &\n BaseInputEventProps &\n AdditionalRootProps\n\nexport const useBaseInputProps = (\n allProps: BaseInputSharedProps & AdditionalRootProps,\n forwardRef: ForwardedRef<HTMLInputElement>\n): {\n baseInputProps: BaseInputRootProps\n inputProps: BaseInputInputProps\n floatingLabelProps: InputFloatingLabelProps\n} => {\n const {\n // base-input props\n valid,\n 'aria-disabled': ariaDisabled,\n readOnly,\n required,\n disabled,\n size,\n className,\n css,\n onChange,\n\n // input props\n id,\n 'aria-describedby': ariaDescribedBy,\n 'aria-invalid': ariaInvalid,\n\n // input & floatingLabel shared props\n placeholder,\n value,\n defaultValue,\n\n ...restProps\n } = allProps\n\n const {\n formElementId,\n formElementRef,\n ariaDescribedBy: formFieldContextDescribedBy,\n ariaInvalid: formFieldAriaInvalid,\n valid: formFieldValid,\n setRequired,\n setReadOnly,\n setDisabled,\n setAriaDisabled,\n } = useFormFieldContext<HTMLInputElement>()\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 setRequired,\n setReadOnly,\n setDisabled,\n setAriaDisabled,\n ])\n\n const baseInputProps: BaseInputRootProps = {\n valid: formFieldValid ?? valid,\n 'aria-disabled': ariaDisabled,\n readOnly,\n required,\n disabled,\n size,\n className,\n css,\n onChange,\n }\n\n const inputProps: BaseInputInputProps = {\n id: id ?? formElementId,\n 'aria-describedby': stringAttrValue(\n ariaDescribedBy,\n formFieldContextDescribedBy\n ),\n 'aria-invalid': ariaInvalid ?? formFieldAriaInvalid,\n placeholder,\n value,\n defaultValue,\n ref: mergeRefs<HTMLInputElement>([formElementRef, forwardRef]),\n }\n\n const floatingLabelProps = {\n placeholder,\n value,\n defaultValue,\n size,\n }\n\n Object.entries(restProps).forEach(([key, value]) => {\n if (baseInputAllowedEvents.includes(key as any)) {\n baseInputProps[key as BaseInputAllowedEventsKeys] = value\n } else {\n inputProps[key as keyof BaseInputInputProps] = value\n }\n })\n\n return { baseInputProps, inputProps, floatingLabelProps }\n}\n","import type { BaseInputActionButtonProps } from '@mirohq/design-system-base-input'\nimport { BaseInput } from '@mirohq/design-system-base-input'\n\nexport type ActionButtonProps = BaseInputActionButtonProps\nexport const ActionButton = BaseInput.ActionButton\n","import type { BaseInputIconSlotProps } from '@mirohq/design-system-base-input'\nimport { BaseInput } from '@mirohq/design-system-base-input'\n\nexport type IconSlotProps = BaseInputIconSlotProps\nexport const IconSlot = BaseInput.IconSlot\n","import React from 'react'\nimport type {\n ElementRef,\n ForwardRefExoticComponent,\n RefAttributes,\n} from 'react'\nimport { BaseInput } from '@mirohq/design-system-base-input'\n\nimport { ClearAction } from './clear-action'\nimport type { ClearableInputProps, ClearProps } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\nimport { ActionButton } from './partials/action-button'\nimport { IconSlot } from './partials/icon-slot'\n\nexport type InputProps = ClearableInputProps &\n RefAttributes<ElementRef<'input'>>\n\nexport const Input = React.forwardRef<ElementRef<'input'>, InputProps>(\n ({ children, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClearPress,\n clearLabel,\n ...elementProps\n } = restProps as ClearProps\n\n const { baseInputProps, inputProps } = useBaseInputProps(\n elementProps,\n forwardRef\n )\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input {...inputProps} />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClearPress={onClearPress}\n value={inputProps.value}\n />\n </BaseInput>\n )\n }\n) as ForwardRefExoticComponent<InputProps> & Partials\n\nexport interface Partials {\n ActionButton: typeof ActionButton\n IconSlot: typeof IconSlot\n}\n\nInput.ActionButton = ActionButton\nInput.IconSlot = IconSlot\n","import React, { useState, useRef } from 'react'\nimport type { ElementRef } from 'react'\nimport {\n IconEyeOpen,\n IconEyeClosed,\n IconLockClosed,\n} from '@mirohq/design-system-icons'\nimport { mergeRefs } from '@mirohq/design-system-utils'\nimport type { BaseInputSharedProps } from '@mirohq/design-system-base-input'\nimport { BaseInput } from '@mirohq/design-system-base-input'\n\nimport type { Value } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\n\nexport interface InputPasswordProps extends Omit<BaseInputSharedProps, 'type'> {\n /**\n * A boolean for the default password state (visible or masked).\n */\n defaultReveal?: boolean\n\n /**\n * Indicates whether the password should be revealed (visible) or hidden (masked).\n */\n reveal?: boolean\n\n /**\n * Callback function to be called when the password is revealed.\n */\n onReveal?: (value: Value) => void\n\n /**\n * Callback function to be called when the password is hidden (masked).\n */\n onHide?: (value: Value) => void\n\n /**\n * Tooltip label text for the action to reveal the password.\n */\n revealLabel: string\n\n /**\n * Tooltip label text for the action to hide (mask) the password.\n */\n hideLabel: string\n}\n\nexport const InputPassword = React.forwardRef<\n ElementRef<'input'>,\n InputPasswordProps\n>(\n (\n {\n reveal,\n defaultReveal,\n onReveal,\n onHide,\n hideLabel,\n revealLabel,\n children,\n ...restProps\n },\n forwardRef\n ) => {\n const inputRef = useRef<HTMLInputElement>(null)\n const [revealState, setRevealState] = useState(defaultReveal ?? false)\n const revealInternal = reveal ?? revealState\n\n const { baseInputProps, inputProps } = useBaseInputProps(\n restProps,\n forwardRef\n )\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input\n {...inputProps}\n type={revealInternal ? 'text' : 'password'}\n ref={mergeRefs([inputRef, forwardRef])}\n />\n {children}\n <BaseInput.IconSlot>\n <IconLockClosed />\n </BaseInput.IconSlot>\n <BaseInput.ActionButton\n label={revealInternal ? hideLabel : revealLabel}\n disabled={false}\n onPress={() => {\n const valueInternal = inputProps.value ?? inputRef.current?.value\n\n if (revealInternal) {\n onHide?.(valueInternal)\n } else {\n onReveal?.(valueInternal)\n }\n\n if (reveal === undefined) {\n setRevealState(reveal => !reveal)\n }\n }}\n >\n {revealInternal ? <IconEyeOpen /> : <IconEyeClosed />}\n </BaseInput.ActionButton>\n </BaseInput>\n )\n }\n)\n","import React from 'react'\nimport type {\n ElementRef,\n ForwardRefExoticComponent,\n RefAttributes,\n} from 'react'\nimport { IconEnvelope } from '@mirohq/design-system-icons'\nimport { BaseInput } from '@mirohq/design-system-base-input'\n\nimport { ClearAction } from './clear-action'\nimport type { ClearableInputProps, ClearProps } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\nimport { ActionButton } from './partials/action-button'\n\nexport type InputEmailProps = ClearableInputProps &\n RefAttributes<ElementRef<'input'>>\n\nexport const InputEmail = React.forwardRef<\n ElementRef<'input'>,\n InputEmailProps\n>(({ children, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClearPress,\n clearLabel,\n ...elementProps\n } = restProps as ClearProps\n\n const { baseInputProps, inputProps } = useBaseInputProps(\n elementProps,\n forwardRef\n )\n\n return (\n <BaseInput {...baseInputProps}>\n <BaseInput.Input type='email' {...inputProps} />\n {children}\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClearPress={onClearPress}\n value={inputProps.value}\n />\n <BaseInput.IconSlot>\n <IconEnvelope />\n </BaseInput.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 type {\n ElementRef,\n ForwardRefExoticComponent,\n RefAttributes,\n} from 'react'\nimport { IconMagnifyingGlass } from '@mirohq/design-system-icons'\nimport { BaseInput } from '@mirohq/design-system-base-input'\n\nimport { ClearAction } from './clear-action'\nimport type { ClearableInputProps, ClearProps } from './types'\nimport { useBaseInputProps } from './hooks/use-base-input-props'\nimport { ActionButton } from './partials/action-button'\n\nexport type InputSearchProps = ClearableInputProps &\n RefAttributes<ElementRef<'input'>>\n\nexport const InputSearch = React.forwardRef<\n ElementRef<'input'>,\n InputSearchProps\n>(({ children, onChange, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClearPress,\n clearLabel,\n value,\n ...elementProps\n } = restProps as ClearProps\n\n const [hasQuery, setHasQuery] = React.useState(value !== '')\n\n const handleChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setHasQuery(e.target.value !== '')\n onChange?.(e)\n },\n [onChange]\n )\n\n const { baseInputProps, inputProps } = useBaseInputProps(\n { ...elementProps, onChange: handleChange, value },\n forwardRef\n )\n\n return (\n <BaseInput {...baseInputProps} variant='subtle'>\n <BaseInput.Input {...inputProps} ref={forwardRef} />\n {children}\n {hasQuery && (\n <ClearAction\n clearable={clearable}\n clearLabel={clearLabel}\n onClearPress={onClearPress}\n value={inputProps.value}\n />\n )}\n <BaseInput.IconSlot>\n <IconMagnifyingGlass />\n </BaseInput.IconSlot>\n </BaseInput>\n )\n}) as ForwardRefExoticComponent<InputSearchProps> & Partials\n\nexport interface Partials {\n ActionButton: typeof ActionButton\n}\n\nInputSearch.ActionButton = ActionButton\n"],"names":["value","reveal"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mirohq/design-system-input",
3
- "version": "1.0.8",
3
+ "version": "1.1.1",
4
4
  "description": "",
5
5
  "author": "Miro",
6
6
  "source": "src/index.ts",
@@ -27,9 +27,9 @@
27
27
  },
28
28
  "dependencies": {
29
29
  "@mirohq/design-system-base-form": "^1.0.0",
30
+ "@mirohq/design-system-use-press": "^1.0.0",
30
31
  "@mirohq/design-system-base-input": "^1.0.0",
31
32
  "@mirohq/design-system-icons": "^1.6.1",
32
- "@mirohq/design-system-use-press": "^1.0.0",
33
33
  "@mirohq/design-system-utils": "^1.0.0"
34
34
  },
35
35
  "scripts": {