@mirohq/design-system-input 1.3.5-fix-button-types.2 → 1.4.0-fix-stitches-types.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 +4 -10
- package/dist/main.js.map +1 -1
- package/dist/module.js +1 -1
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +26 -6
- package/package.json +4 -4
package/dist/main.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
4
|
var React = require('react');
|
|
7
5
|
var designSystemBaseInput = require('@mirohq/design-system-base-input');
|
|
@@ -9,10 +7,6 @@ var designSystemIcons = require('@mirohq/design-system-icons');
|
|
|
9
7
|
var designSystemUtils = require('@mirohq/design-system-utils');
|
|
10
8
|
var designSystemBaseForm = require('@mirohq/design-system-base-form');
|
|
11
9
|
|
|
12
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
|
-
|
|
14
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
15
|
-
|
|
16
10
|
const createSyntheticChangeEvent = (inputRef) => {
|
|
17
11
|
const event = {
|
|
18
12
|
target: inputRef.current,
|
|
@@ -176,7 +170,7 @@ const ActionButton = designSystemBaseInput.BaseInput.ActionButton;
|
|
|
176
170
|
|
|
177
171
|
const IconSlot = designSystemBaseInput.BaseInput.IconSlot;
|
|
178
172
|
|
|
179
|
-
const Input =
|
|
173
|
+
const Input = React.forwardRef(
|
|
180
174
|
({ children, ...restProps }, forwardRef) => {
|
|
181
175
|
const {
|
|
182
176
|
clearable = false,
|
|
@@ -206,7 +200,7 @@ const Input = React__default["default"].forwardRef(
|
|
|
206
200
|
Input.ActionButton = ActionButton;
|
|
207
201
|
Input.IconSlot = IconSlot;
|
|
208
202
|
|
|
209
|
-
const InputPassword =
|
|
203
|
+
const InputPassword = React.forwardRef(
|
|
210
204
|
({
|
|
211
205
|
reveal,
|
|
212
206
|
defaultReveal,
|
|
@@ -259,7 +253,7 @@ const InputPassword = React__default["default"].forwardRef(
|
|
|
259
253
|
}
|
|
260
254
|
);
|
|
261
255
|
|
|
262
|
-
const InputEmail =
|
|
256
|
+
const InputEmail = React.forwardRef(({ children, ...restProps }, forwardRef) => {
|
|
263
257
|
const {
|
|
264
258
|
clearable = false,
|
|
265
259
|
onClearPress,
|
|
@@ -287,7 +281,7 @@ const InputEmail = React__default["default"].forwardRef(({ children, ...restProp
|
|
|
287
281
|
});
|
|
288
282
|
InputEmail.ActionButton = ActionButton;
|
|
289
283
|
|
|
290
|
-
const InputSearch =
|
|
284
|
+
const InputSearch = React.forwardRef(({ children, onChange, ...restProps }, forwardRef) => {
|
|
291
285
|
const {
|
|
292
286
|
clearable = false,
|
|
293
287
|
onClearPress,
|
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, onChange, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClearPress,\n clearLabel,\n value,\n ...elementProps\n } = restProps as ClearProps\n const { baseInputProps, inputProps } = useBaseInputProps(\n { ...elementProps, onChange, value },\n forwardRef\n )\n\n const hasQuery = inputProps.value !== ''\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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"}
|
|
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 const { baseInputProps, inputProps } = useBaseInputProps(\n { ...elementProps, onChange, value },\n forwardRef\n )\n\n const hasQuery = inputProps.value !== ''\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","jsxs","useRef","useState","IconLockClosed","reveal","IconEyeOpen","IconEyeClosed","IconEnvelope","IconMagnifyingGlass"],"mappings":"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"}
|
package/dist/module.js
CHANGED
|
@@ -2,7 +2,7 @@ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
|
2
2
|
import React, { useEffect, useRef, useState } from 'react';
|
|
3
3
|
import { useInputContext, BaseInput } from '@mirohq/design-system-base-input';
|
|
4
4
|
import { IconCross, IconLockClosed, IconEyeOpen, IconEyeClosed, IconEnvelope, IconMagnifyingGlass } from '@mirohq/design-system-icons';
|
|
5
|
-
import { booleanify,
|
|
5
|
+
import { booleanify, mergeRefs, stringAttrValue } from '@mirohq/design-system-utils';
|
|
6
6
|
import { useFormFieldContext } from '@mirohq/design-system-base-form';
|
|
7
7
|
|
|
8
8
|
const createSyntheticChangeEvent = (inputRef) => {
|
package/dist/module.js.map
CHANGED
|
@@ -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, onChange, ...restProps }, forwardRef) => {\n const {\n clearable = false,\n onClearPress,\n clearLabel,\n value,\n ...elementProps\n } = restProps as ClearProps\n const { baseInputProps, inputProps } = useBaseInputProps(\n { ...elementProps, onChange, value },\n forwardRef\n )\n\n const hasQuery = inputProps.value !== ''\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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"}
|
|
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 const { baseInputProps, inputProps } = useBaseInputProps(\n { ...elementProps, onChange, value },\n forwardRef\n )\n\n const hasQuery = inputProps.value !== ''\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/dist/types.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
|
-
import react__default, { HTMLProps, RefAttributes, ElementRef
|
|
2
|
+
import react__default, { HTMLProps, ForwardRefExoticComponent, RefAttributes, ElementRef } from 'react';
|
|
3
3
|
import { PressEvent } from '@mirohq/design-system-use-press';
|
|
4
4
|
import { BaseInputSharedProps, BaseInputActionButtonProps, BaseInputIconSlotProps } from '@mirohq/design-system-base-input';
|
|
5
|
-
import * as _stitches_react_types_styled_component from '@stitches/react/types/styled-component';
|
|
6
5
|
import * as _mirohq_design_system_stitches from '@mirohq/design-system-stitches';
|
|
7
6
|
import * as _mirohq_design_system_components_internal_base_button from '@mirohq/design-system-components/internal/base-button';
|
|
8
7
|
import * as _mirohq_design_system_components_primitive from '@mirohq/design-system-components/primitive';
|
|
@@ -30,8 +29,28 @@ type ClearableInputProps = BaseInputSharedProps & ({
|
|
|
30
29
|
clearable?: never;
|
|
31
30
|
} | ClearProps);
|
|
32
31
|
|
|
32
|
+
/* Utilities */
|
|
33
|
+
/* ========================================================================== */
|
|
34
|
+
|
|
35
|
+
/** Returns a string with the given prefix followed by the given values. */
|
|
36
|
+
type Prefixed<K extends string, T> = `${K}${Extract<T, boolean | number | string>}`
|
|
37
|
+
|
|
38
|
+
type TransformProps<Props, Media> = {
|
|
39
|
+
[K in keyof Props]: (
|
|
40
|
+
| Props[K]
|
|
41
|
+
| (
|
|
42
|
+
& {
|
|
43
|
+
[KMedia in Prefixed<'@', 'initial' | keyof Media>]?: Props[K]
|
|
44
|
+
}
|
|
45
|
+
& {
|
|
46
|
+
[KMedia in string]: Props[K]
|
|
47
|
+
}
|
|
48
|
+
)
|
|
49
|
+
)
|
|
50
|
+
}
|
|
51
|
+
|
|
33
52
|
type ActionButtonProps = BaseInputActionButtonProps;
|
|
34
|
-
declare const ActionButton: react.ForwardRefExoticComponent<(Omit<Omit<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react.ForwardRefExoticComponent<Omit<_mirohq_design_system_components_internal_base_button.BaseButtonProps, "ref"> & react.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>>, "readOnlyAppearance" | "disableAppearance"> &
|
|
53
|
+
declare const ActionButton: react.ForwardRefExoticComponent<(Omit<Omit<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react.ForwardRefExoticComponent<Omit<_mirohq_design_system_components_internal_base_button.BaseButtonProps, "ref"> & react.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>>, "readOnlyAppearance" | "disableAppearance"> & TransformProps<{
|
|
35
54
|
readOnlyAppearance?: boolean | "true" | undefined;
|
|
36
55
|
disableAppearance?: boolean | "true" | undefined;
|
|
37
56
|
}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react.RefAttributes<HTMLAnchorElement | HTMLButtonElement>, "ref"> & {
|
|
@@ -39,7 +58,7 @@ declare const ActionButton: react.ForwardRefExoticComponent<(Omit<Omit<Omit<Omit
|
|
|
39
58
|
} & {
|
|
40
59
|
label: string;
|
|
41
60
|
'aria-label'?: string;
|
|
42
|
-
}, "ref"> | Omit<Omit<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react.ForwardRefExoticComponent<Omit<_mirohq_design_system_components_internal_base_button.BaseButtonProps, "ref"> & react.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>>, "readOnlyAppearance" | "disableAppearance"> &
|
|
61
|
+
}, "ref"> | Omit<Omit<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react.ForwardRefExoticComponent<Omit<_mirohq_design_system_components_internal_base_button.BaseButtonProps, "ref"> & react.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>>, "readOnlyAppearance" | "disableAppearance"> & TransformProps<{
|
|
43
62
|
readOnlyAppearance?: boolean | "true" | undefined;
|
|
44
63
|
disableAppearance?: boolean | "true" | undefined;
|
|
45
64
|
}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react.RefAttributes<HTMLAnchorElement | HTMLButtonElement>, "ref"> & {
|
|
@@ -50,7 +69,7 @@ declare const ActionButton: react.ForwardRefExoticComponent<(Omit<Omit<Omit<Omit
|
|
|
50
69
|
}, "ref">) & react.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
|
|
51
70
|
|
|
52
71
|
type IconSlotProps = BaseInputIconSlotProps;
|
|
53
|
-
declare const IconSlot: react.ForwardRefExoticComponent<Omit<Omit<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react.ForwardRefExoticComponent<_mirohq_design_system_components_primitive.PrimitiveProps<"div">>>, "disabled" | "variant"> &
|
|
72
|
+
declare const IconSlot: react.ForwardRefExoticComponent<Omit<Omit<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react.ForwardRefExoticComponent<_mirohq_design_system_components_primitive.PrimitiveProps<"div">>>, "disabled" | "variant"> & TransformProps<{
|
|
54
73
|
variant?: "outline" | "subtle" | undefined;
|
|
55
74
|
disabled?: boolean | "true" | undefined;
|
|
56
75
|
}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
@@ -104,4 +123,5 @@ interface Partials {
|
|
|
104
123
|
ActionButton: typeof ActionButton;
|
|
105
124
|
}
|
|
106
125
|
|
|
107
|
-
export { Input,
|
|
126
|
+
export { Input, InputEmail, InputPassword, InputSearch };
|
|
127
|
+
export type { ActionButtonProps as InputActionButtonProps, InputEmailProps, IconSlotProps as InputIconSlotProps, InputPasswordProps, InputProps, InputSearchProps };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mirohq/design-system-input",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0-fix-stitches-types.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "Miro",
|
|
6
6
|
"source": "src/index.ts",
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
"react": "^16.14 || ^17 || ^18 || ^19"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@mirohq/design-system-base-form": "^1.
|
|
30
|
-
"@mirohq/design-system-base-input": "^1.
|
|
31
|
-
"@mirohq/design-system-icons": "^1.
|
|
29
|
+
"@mirohq/design-system-base-form": "^1.2.0-fix-stitches-types.0",
|
|
30
|
+
"@mirohq/design-system-base-input": "^1.3.0-fix-stitches-types.0",
|
|
31
|
+
"@mirohq/design-system-icons": "^1.28.0-fix-stitches-types.0",
|
|
32
32
|
"@mirohq/design-system-use-press": "^1.1.1",
|
|
33
33
|
"@mirohq/design-system-utils": "^1.2.1"
|
|
34
34
|
},
|