@mirohq/design-system-base-input 1.1.1 → 1.2.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 +66 -25
- package/dist/main.js.map +1 -1
- package/dist/module.js +67 -26
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +5 -1
- package/package.json +5 -5
package/dist/main.js
CHANGED
|
@@ -87,6 +87,10 @@ const StyledBaseInput = designSystemStitches.styled("div", {
|
|
|
87
87
|
true: {},
|
|
88
88
|
false: {}
|
|
89
89
|
},
|
|
90
|
+
active: {
|
|
91
|
+
true: {},
|
|
92
|
+
false: {}
|
|
93
|
+
},
|
|
90
94
|
focused: {
|
|
91
95
|
true: {},
|
|
92
96
|
false: {}
|
|
@@ -182,6 +186,18 @@ const StyledBaseInput = designSystemStitches.styled("div", {
|
|
|
182
186
|
borderColor: "transparent"
|
|
183
187
|
}
|
|
184
188
|
},
|
|
189
|
+
/** Active */
|
|
190
|
+
{
|
|
191
|
+
active: true,
|
|
192
|
+
css: designSystemBaseTextField.textFieldStyles.variants.active
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
active: true,
|
|
196
|
+
readOnly: false,
|
|
197
|
+
disabled: false,
|
|
198
|
+
ariaDisabled: false,
|
|
199
|
+
css: designSystemBaseTextField.textFieldStyles.variants.active
|
|
200
|
+
},
|
|
185
201
|
/** Focus States */
|
|
186
202
|
{
|
|
187
203
|
focused: true,
|
|
@@ -268,6 +284,7 @@ const InputProvider = ({
|
|
|
268
284
|
const inputRef = React.useRef(null);
|
|
269
285
|
const [focused, setFocused] = React.useState(false);
|
|
270
286
|
const [hovered, setHovered] = React.useState(false);
|
|
287
|
+
const [active, setActive] = React.useState(false);
|
|
271
288
|
const [hasIconSlot, setHasIconSlot] = React.useState(false);
|
|
272
289
|
const editable = !designSystemUtils.booleanify(disabled) && !designSystemUtils.booleanify(ariaDisabled) && !designSystemUtils.booleanify(readOnly);
|
|
273
290
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -277,8 +294,10 @@ const InputProvider = ({
|
|
|
277
294
|
...restProps,
|
|
278
295
|
setFocused,
|
|
279
296
|
setHovered,
|
|
297
|
+
setActive,
|
|
280
298
|
setHasIconSlot,
|
|
281
299
|
hasIconSlot,
|
|
300
|
+
active,
|
|
282
301
|
hovered,
|
|
283
302
|
focused,
|
|
284
303
|
disabled,
|
|
@@ -306,30 +325,15 @@ const Input = React__default["default"].forwardRef(
|
|
|
306
325
|
const {
|
|
307
326
|
"aria-disabled": ariaDisabled,
|
|
308
327
|
disabled,
|
|
309
|
-
setFocused,
|
|
310
328
|
inputRef,
|
|
311
329
|
required,
|
|
312
330
|
readOnly,
|
|
313
331
|
onChange
|
|
314
332
|
} = useInputContext();
|
|
315
|
-
const
|
|
333
|
+
const elementProps = designSystemUseAriaDisabled.useAriaDisabled({
|
|
316
334
|
...restProps,
|
|
317
335
|
ariaDisabled
|
|
318
336
|
});
|
|
319
|
-
const onFocusHandler = React__default["default"].useCallback(
|
|
320
|
-
(e) => {
|
|
321
|
-
setFocused(true);
|
|
322
|
-
onFocus == null ? void 0 : onFocus(e);
|
|
323
|
-
},
|
|
324
|
-
[setFocused, onFocus]
|
|
325
|
-
);
|
|
326
|
-
const onBlurHandler = React__default["default"].useCallback(
|
|
327
|
-
(e) => {
|
|
328
|
-
setFocused(false);
|
|
329
|
-
onBlur == null ? void 0 : onBlur(e);
|
|
330
|
-
},
|
|
331
|
-
[setFocused, onBlur]
|
|
332
|
-
);
|
|
333
337
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
334
338
|
StyledInput,
|
|
335
339
|
{
|
|
@@ -340,8 +344,6 @@ const Input = React__default["default"].forwardRef(
|
|
|
340
344
|
"aria-invalid": ariaInvalid,
|
|
341
345
|
disabled: disabled === true || void 0,
|
|
342
346
|
required: required === true || void 0,
|
|
343
|
-
onFocus: onFocusHandler,
|
|
344
|
-
onBlur: onBlurHandler,
|
|
345
347
|
onChange,
|
|
346
348
|
ref: designSystemUtils.mergeRefs([inputRef, forwardRef])
|
|
347
349
|
}
|
|
@@ -377,8 +379,7 @@ const ActionButton = React__default["default"].forwardRef(({ "aria-label": ariaL
|
|
|
377
379
|
children
|
|
378
380
|
}
|
|
379
381
|
);
|
|
380
|
-
if (!showInputSlot)
|
|
381
|
-
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {});
|
|
382
|
+
if (!showInputSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, {});
|
|
382
383
|
if ((label === void 0 || label === "") && ariaLabel !== void 0 && ariaLabel !== "") {
|
|
383
384
|
return actionButton;
|
|
384
385
|
}
|
|
@@ -418,6 +419,7 @@ IconSlot.displayName = "IconSlot";
|
|
|
418
419
|
|
|
419
420
|
const Root = React__default["default"].forwardRef(({ children, size, ...restProps }, forwardRef) => {
|
|
420
421
|
const ref = React.useRef(null);
|
|
422
|
+
const isPointerDownRef = React.useRef(false);
|
|
421
423
|
const {
|
|
422
424
|
valid,
|
|
423
425
|
"aria-disabled": ariaDisabled,
|
|
@@ -428,6 +430,8 @@ const Root = React__default["default"].forwardRef(({ children, size, ...restProp
|
|
|
428
430
|
inputRef,
|
|
429
431
|
actionButtonRef,
|
|
430
432
|
setFocused,
|
|
433
|
+
setActive,
|
|
434
|
+
active,
|
|
431
435
|
variant
|
|
432
436
|
} = useInputContext();
|
|
433
437
|
const { hoverProps, isHovered: hovered } = interactions.useHover({
|
|
@@ -442,27 +446,64 @@ const Root = React__default["default"].forwardRef(({ children, size, ...restProp
|
|
|
442
446
|
}
|
|
443
447
|
},
|
|
444
448
|
onPressEnd: (e) => {
|
|
445
|
-
var _a, _b;
|
|
449
|
+
var _a, _b, _c;
|
|
446
450
|
const { target } = e.originalEvent;
|
|
447
|
-
const isActionButton = target === actionButtonRef.current || ((_a = actionButtonRef.current) == null ? void 0 : _a.contains(target))
|
|
451
|
+
const isActionButton = target === actionButtonRef.current || ((_b = (_a = actionButtonRef.current) == null ? void 0 : _a.contains(target)) != null ? _b : false);
|
|
448
452
|
const shouldFocusInput = !isActionButton && !designSystemUtils.booleanify(disabled) && !designSystemUtils.booleanify(focused);
|
|
449
453
|
if (shouldFocusInput) {
|
|
450
|
-
(
|
|
451
|
-
setFocused(true);
|
|
454
|
+
(_c = inputRef.current) == null ? void 0 : _c.focus();
|
|
452
455
|
}
|
|
453
456
|
},
|
|
454
457
|
preventFocusOnPress: "auto"
|
|
455
458
|
});
|
|
459
|
+
const onPointerDownHandler = React__default["default"].useCallback(() => {
|
|
460
|
+
isPointerDownRef.current = true;
|
|
461
|
+
}, []);
|
|
462
|
+
const onFocusHandler = React__default["default"].useCallback(
|
|
463
|
+
(e) => {
|
|
464
|
+
if (!isPointerDownRef.current && e.target === inputRef.current) {
|
|
465
|
+
setFocused(true);
|
|
466
|
+
}
|
|
467
|
+
setActive(true);
|
|
468
|
+
},
|
|
469
|
+
[setActive, setFocused, inputRef]
|
|
470
|
+
);
|
|
471
|
+
const onBlurHandler = React__default["default"].useCallback(() => {
|
|
472
|
+
isPointerDownRef.current = false;
|
|
473
|
+
setFocused(false);
|
|
474
|
+
setActive(false);
|
|
475
|
+
}, [setActive, setFocused]);
|
|
476
|
+
const elementProps = React.useMemo(
|
|
477
|
+
() => utils.mergeProps(
|
|
478
|
+
restProps,
|
|
479
|
+
{
|
|
480
|
+
onFocus: onFocusHandler,
|
|
481
|
+
onBlur: onBlurHandler,
|
|
482
|
+
onPointerDown: onPointerDownHandler
|
|
483
|
+
},
|
|
484
|
+
hoverProps,
|
|
485
|
+
pressProps
|
|
486
|
+
),
|
|
487
|
+
[
|
|
488
|
+
restProps,
|
|
489
|
+
hoverProps,
|
|
490
|
+
pressProps,
|
|
491
|
+
onFocusHandler,
|
|
492
|
+
onBlurHandler,
|
|
493
|
+
onPointerDownHandler
|
|
494
|
+
]
|
|
495
|
+
);
|
|
456
496
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
457
497
|
StyledBaseInput,
|
|
458
498
|
{
|
|
459
|
-
...
|
|
499
|
+
...elementProps,
|
|
460
500
|
"data-invalid": designSystemUtils.booleanishAttrValue(valid === false),
|
|
461
501
|
"data-valid": designSystemUtils.booleanishAttrValue(valid === true),
|
|
462
502
|
"data-form-element": "input",
|
|
463
503
|
ref: designSystemUtils.mergeRefs([ref, forwardRef]),
|
|
464
504
|
size,
|
|
465
505
|
variant,
|
|
506
|
+
active,
|
|
466
507
|
hovered,
|
|
467
508
|
focused,
|
|
468
509
|
valid,
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sources":["../src/partials/icon-slot.styled.tsx","../src/partials/action-button.styled.tsx","../src/base-input.styled.tsx","../src/partials/input.styled.tsx","../src/hooks/use-input-context.tsx","../src/partials/input.tsx","../src/partials/action-button.tsx","../src/partials/icon-slot.tsx","../src/base-input.tsx"],"sourcesContent":["import { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\n\nexport const StyledIconSlot = styled(Primitive.div, {\n order: 1,\n alignContent: 'center',\n display: 'flex',\n justifyContent: 'center',\n color: '$icon-neutrals-subtle',\n\n '& svg, & img': {\n pointerEvents: 'none',\n },\n\n variants: {\n variant: {\n outline: {},\n subtle: {\n color: '$icon-neutrals',\n },\n },\n disabled: {\n true: {\n '& svg': {\n color: '$icon-neutrals-disabled',\n },\n },\n },\n },\n})\n\nexport type StyledIconSlotProps = ComponentPropsWithRef<typeof StyledIconSlot>\n","import { styled } from '@mirohq/design-system-stitches'\nimport { BaseButton } from '@mirohq/design-system-base-button'\nimport type { ComponentPropsWithRef } from 'react'\nimport { actionButtonStyles } from '@mirohq/design-system-base-text-field'\n\nexport const StyledActionButton = styled(BaseButton, {\n ...actionButtonStyles,\n order: 3,\n\n variants: {\n readOnlyAppearance: {\n true: {\n '& svg[data-icon-component], & img[data-icon-component]': {\n color: '$icon-neutrals-subtle',\n },\n },\n },\n disableAppearance: {\n true: {\n color: '$icon-neutrals-disabled',\n },\n },\n },\n})\n\nexport type StyledActionButtonProps = ComponentPropsWithRef<\n typeof StyledActionButton\n>\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\nimport { textFieldStyles } from '@mirohq/design-system-base-text-field'\n\nimport { StyledIconSlot } from './partials/icon-slot.styled'\nimport { StyledActionButton } from './partials/action-button.styled'\n\nexport const StyledValidityBox = styled(Primitive.div, {\n order: 3,\n display: 'flex',\n alignItems: 'center',\n padding: '6px',\n})\n\nexport const StyledBaseInput = styled('div', {\n position: 'relative',\n alignItems: 'center',\n display: 'inline-flex',\n height: 'max-content',\n ...textFieldStyles.variants.idle,\n\n variants: {\n variant: {\n outline: {},\n subtle: {},\n },\n hovered: {\n true: {},\n false: {},\n },\n focused: {\n true: {},\n false: {},\n },\n valid: {\n true: {},\n false: {},\n },\n readOnly: {\n true: textFieldStyles.variants.readOnly,\n false: {},\n },\n disabled: {\n true: textFieldStyles.variants.disabled,\n false: {},\n },\n ariaDisabled: {\n true: textFieldStyles.variants.disabled,\n false: {},\n },\n size: {\n medium: {\n fontSize: '$175',\n height: '$8',\n padding: '0 $100 ',\n [`& ${StyledIconSlot}`]: {\n paddingRight: '$50',\n },\n [`& ${StyledActionButton}, & ${StyledValidityBox}`]: {\n marginLeft: '$50',\n },\n [`& ${StyledValidityBox}`]: {\n paddingRight: '6px',\n },\n },\n large: {\n height: '$10',\n padding: '0 $100 ',\n [`& ${StyledIconSlot}`]: {\n paddingRight: '$50',\n },\n [`& ${StyledActionButton}, & ${StyledValidityBox}`]: {\n marginLeft: '$50',\n },\n [`& ${StyledValidityBox}`]: {\n paddingRight: '6px',\n },\n },\n 'x-large': {\n height: '$12',\n padding: '0 $150',\n fontSize: '$200',\n lineHeight: '$500',\n [`& ${StyledIconSlot}`]: {\n paddingRight: '$100',\n },\n [`& ${StyledActionButton}, & ${StyledValidityBox}`]: {\n marginLeft: '$100',\n },\n [`& ${StyledValidityBox}`]: {\n paddingRight: '6px',\n },\n },\n },\n },\n compoundVariants: [\n /** Idle states */\n {\n valid: false,\n focused: false,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: textFieldStyles.variants.invalid.idle,\n },\n {\n valid: true,\n focused: false,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: textFieldStyles.variants.valid.idle,\n },\n {\n variant: 'subtle',\n valid: undefined,\n hovered: false,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: {\n backgroundColor: '$background-neutrals-subtle',\n borderColor: 'transparent',\n },\n },\n /** Focus States */\n {\n focused: true,\n css: textFieldStyles.variants.focused,\n },\n {\n focused: true,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: textFieldStyles.variants.focused,\n },\n\n /** Hover states */\n {\n hovered: true,\n disabled: false,\n ariaDisabled: false,\n readOnly: false,\n css: textFieldStyles.variants.hovered,\n },\n {\n hovered: true,\n focused: false,\n valid: false,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: textFieldStyles.variants.invalid.hovered,\n },\n {\n hovered: true,\n focused: false,\n valid: true,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: textFieldStyles.variants.valid.hovered,\n },\n {\n variant: 'subtle',\n valid: undefined,\n hovered: true,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: {\n backgroundColor: '$background-neutrals-subtle-hover',\n },\n },\n ],\n defaultVariants: {\n size: 'large',\n },\n})\n\nexport type StyledBaseInputProps = ComponentPropsWithRef<typeof StyledBaseInput>\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\nimport { textFieldStyles } from '@mirohq/design-system-base-text-field'\n\nconst disabledAndReadonlySelectors =\n ':read-only, :disabled, [aria-disabled=\"true\"], [data-disabled]'\n\nexport const StyledInput = styled(Primitive.input, {\n all: 'unset',\n background: 'transparent',\n color: '$text-neutrals',\n width: '100%',\n borderRadius: '$50',\n order: 2,\n padding: '0 $50',\n height: '100%',\n\n [`&:not(${disabledAndReadonlySelectors})::placeholder`]:\n textFieldStyles.base.placeholder,\n\n '&:read-only': {\n color: textFieldStyles.variants.readOnly.color,\n },\n\n '&:disabled, &[aria-disabled=true], &[data-disabled]':\n textFieldStyles.base.disabled,\n})\n\nexport type StyledInputProps = ComponentPropsWithRef<typeof StyledInput>\n","import React, { createContext, useContext, useState, useRef } from 'react'\nimport { booleanify } from '@mirohq/design-system-utils'\nimport type { FormElementProps } from '@mirohq/design-system-base-form'\n\ninterface InputProps extends FormElementProps {\n onChange?: React.ChangeEventHandler<HTMLInputElement>\n variant?: 'outline' | 'subtle'\n}\n\ninterface InputContextProps extends InputProps {\n focused: boolean\n setFocused: React.Dispatch<React.SetStateAction<boolean>>\n hovered: boolean\n setHovered: React.Dispatch<React.SetStateAction<boolean>>\n hasIconSlot: boolean\n setHasIconSlot: React.Dispatch<React.SetStateAction<boolean>>\n actionButtonRef: React.RefObject<HTMLAnchorElement | HTMLButtonElement>\n inputRef: React.RefObject<HTMLInputElement>\n editable: boolean\n}\n\nexport interface InputProviderProps extends InputProps {\n children?: React.ReactNode\n}\n\nconst InputContext = createContext<InputContextProps>({} as any)\n\nexport const InputProvider = ({\n children,\n disabled,\n 'aria-disabled': ariaDisabled,\n readOnly,\n required,\n valid,\n ...restProps\n}: InputProviderProps): JSX.Element => {\n const actionButtonRef = useRef<HTMLAnchorElement | HTMLButtonElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n const [focused, setFocused] = useState(false)\n const [hovered, setHovered] = useState(false)\n const [hasIconSlot, setHasIconSlot] = useState(false)\n const editable =\n !booleanify(disabled) && !booleanify(ariaDisabled) && !booleanify(readOnly)\n\n return (\n <InputContext.Provider\n value={{\n ...restProps,\n setFocused,\n setHovered,\n setHasIconSlot,\n hasIconSlot,\n hovered,\n focused,\n disabled,\n 'aria-disabled': ariaDisabled,\n readOnly,\n editable,\n inputRef,\n actionButtonRef,\n required,\n valid,\n }}\n >\n {children}\n </InputContext.Provider>\n )\n}\n\nexport const useInputContext = (): InputContextProps => useContext(InputContext)\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { mergeRefs } from '@mirohq/design-system-utils'\nimport { useAriaDisabled } from '@mirohq/design-system-use-aria-disabled'\n\nimport { StyledInput } from './input.styled'\nimport type { StyledInputProps } from './input.styled'\nimport { useInputContext } from '../hooks/use-input-context'\n\nexport type InputProps = Omit<\n StyledInputProps,\n // these props should be set in the root\n 'aria-disabled' | 'disabled' | 'readOnly' | 'required' | 'onChange'\n>\n\nexport const Input = React.forwardRef<\n ElementRef<typeof StyledInput>,\n InputProps\n>(\n (\n {\n id,\n 'aria-describedby': ariaDescribedBy,\n 'aria-invalid': ariaInvalid,\n ...restProps\n },\n forwardRef\n ) => {\n const {\n 'aria-disabled': ariaDisabled,\n disabled,\n setFocused,\n inputRef,\n required,\n readOnly,\n onChange,\n } = useInputContext()\n\n const { onBlur, onFocus, ...elementProps } = useAriaDisabled({\n ...restProps,\n ariaDisabled,\n })\n\n const onFocusHandler = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setFocused(true)\n onFocus?.(e)\n },\n [setFocused, onFocus]\n )\n const onBlurHandler = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setFocused(false)\n onBlur?.(e)\n },\n [setFocused, onBlur]\n )\n\n return (\n <StyledInput\n {...elementProps}\n id={id}\n readOnly={readOnly}\n aria-describedby={ariaDescribedBy}\n aria-invalid={ariaInvalid}\n disabled={disabled === true || undefined}\n required={required === true || undefined}\n onFocus={onFocusHandler}\n onBlur={onBlurHandler}\n onChange={onChange}\n ref={mergeRefs([inputRef, forwardRef])}\n />\n )\n }\n)\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { mergeRefs, booleanify } from '@mirohq/design-system-utils'\nimport { Tooltip } from '@mirohq/design-system-tooltip'\n\nimport { StyledActionButton } from './action-button.styled'\nimport type { StyledActionButtonProps } from './action-button.styled'\nimport { useInputContext } from '../hooks/use-input-context'\n\nexport type ActionButtonProps = StyledActionButtonProps &\n (\n | {\n label: string\n 'aria-label'?: string\n }\n // force aria-label if label is not present\n | {\n label?: never\n 'aria-label': string\n }\n )\n\nexport const ActionButton = React.forwardRef<\n ElementRef<typeof StyledActionButton>,\n ActionButtonProps\n>(({ 'aria-label': ariaLabel, label, children, ...restProps }, forwardRef) => {\n const {\n valid,\n hovered,\n editable,\n 'aria-disabled': ariaDisabled,\n disabled,\n readOnly,\n actionButtonRef,\n } = useInputContext()\n\n const showInputSlot = valid === undefined || booleanify(hovered)\n\n const hasPressEvent = Object.keys(restProps).some(key =>\n key.startsWith('onPress')\n )\n const customDisabled = restProps.disabled\n\n const actionButton = (\n <StyledActionButton\n type='button'\n {...restProps}\n aria-label={ariaLabel ?? label}\n disabled={hasPressEvent ? customDisabled : customDisabled ?? !editable}\n disableAppearance={\n hasPressEvent\n ? !booleanify(readOnly) && customDisabled\n : booleanify(disabled ?? ariaDisabled)\n }\n readOnlyAppearance={readOnly}\n ref={mergeRefs([forwardRef, actionButtonRef])}\n >\n {children}\n </StyledActionButton>\n )\n\n if (!showInputSlot) return <></>\n\n if (\n (label === undefined || label === '') &&\n ariaLabel !== undefined &&\n ariaLabel !== ''\n ) {\n return actionButton\n }\n\n return (\n <Tooltip>\n <Tooltip.Trigger asChild>{actionButton}</Tooltip.Trigger>\n <Tooltip.Content>{label}</Tooltip.Content>\n </Tooltip>\n )\n})\n","import React from 'react'\nimport { addPropsToChildren, booleanify } from '@mirohq/design-system-utils'\nimport { isIconComponent } from '@mirohq/design-system-base-icon'\nimport type { ElementRef } from 'react'\nimport { useLayoutEffect } from '@mirohq/design-system-use-layout-effect'\n\nimport { StyledIconSlot } from './icon-slot.styled'\nimport { useInputContext } from '../hooks/use-input-context'\nimport type { StyledIconSlotProps } from './icon-slot.styled'\n\nexport interface IconSlotProps extends Omit<StyledIconSlotProps, 'variant'> {}\n\nexport const IconSlot = React.forwardRef<\n ElementRef<typeof StyledIconSlot>,\n StyledIconSlotProps\n>(({ children, ...restProps }, forwardRef) => {\n const {\n 'aria-disabled': ariaDisabled,\n disabled,\n setHasIconSlot,\n variant,\n } = useInputContext()\n const formattedChildren = addPropsToChildren(children, isIconComponent, {\n size: 'small',\n weight: 'thin',\n })\n\n useLayoutEffect(() => {\n setHasIconSlot(true)\n return () => setHasIconSlot(false)\n }, [setHasIconSlot])\n\n return (\n <StyledIconSlot\n {...restProps}\n variant={variant}\n disabled={booleanify(disabled ?? ariaDisabled)}\n ref={forwardRef}\n >\n {formattedChildren}\n </StyledIconSlot>\n )\n})\n\nIconSlot.displayName = 'IconSlot'\n","import React, { useRef } from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\nimport {\n booleanify,\n booleanishAttrValue,\n mergeRefs,\n} from '@mirohq/design-system-utils'\nimport { usePress } from '@mirohq/design-system-use-press'\nimport { useHover } from '@react-aria/interactions'\nimport { mergeProps } from '@react-aria/utils'\n\nimport type { StyledBaseInputProps } from './base-input.styled'\nimport { StyledBaseInput } from './base-input.styled'\nimport { Input } from './partials/input'\nimport type { InputProviderProps } from './hooks/use-input-context'\nimport { InputProvider, useInputContext } from './hooks/use-input-context'\nimport { ActionButton } from './partials/action-button'\nimport { IconSlot } from './partials/icon-slot'\n\ntype BaseInputRootProps = Omit<\n StyledBaseInputProps,\n // these props come from useInputContext, we don't pass it to BaseInput directly\n | 'hovered'\n | 'focused'\n | 'valid'\n | 'readOnly'\n | 'disabled'\n | 'ariaDisabled'\n // these shouldn't be applied to div\n | 'value'\n | 'defaultValue'\n | 'placeholder'\n>\n\nconst Root = React.forwardRef<\n ElementRef<typeof StyledBaseInput>,\n BaseInputRootProps\n>(({ children, size, ...restProps }, forwardRef) => {\n const ref = useRef<HTMLDivElement>(null)\n const {\n valid,\n 'aria-disabled': ariaDisabled,\n disabled,\n readOnly,\n focused,\n setHovered,\n inputRef,\n actionButtonRef,\n setFocused,\n variant,\n } = useInputContext()\n const { hoverProps, isHovered: hovered } = useHover({\n onHoverChange: setHovered,\n })\n\n const { pressProps } = usePress({\n onPressStart: e => {\n const { target } = e.originalEvent as PointerEvent\n\n const shouldPrevent =\n document.activeElement === inputRef.current &&\n target !== inputRef.current // to not stop text selection\n\n // to not lose focus on container click\n if (shouldPrevent) {\n e.originalEvent.preventDefault()\n }\n },\n onPressEnd: e => {\n const { target } = e.originalEvent as PointerEvent\n\n const isActionButton =\n target === actionButtonRef.current ||\n actionButtonRef.current?.contains(target as Node) === true\n\n const shouldFocusInput =\n !isActionButton && !booleanify(disabled) && !booleanify(focused)\n\n if (shouldFocusInput) {\n inputRef.current?.focus()\n setFocused(true)\n }\n },\n preventFocusOnPress: 'auto',\n })\n\n return (\n <StyledBaseInput\n {...mergeProps(restProps, hoverProps, pressProps)}\n data-invalid={booleanishAttrValue(valid === false)}\n data-valid={booleanishAttrValue(valid === true)}\n data-form-element='input'\n ref={mergeRefs([ref, forwardRef])}\n size={size}\n variant={variant}\n hovered={hovered}\n focused={focused}\n valid={valid}\n disabled={booleanify(disabled)}\n ariaDisabled={booleanify(ariaDisabled)}\n readOnly={booleanify(readOnly)}\n data-testid={\n process.env.NODE_ENV === 'test' ? 'input-container' : undefined\n }\n >\n {children}\n </StyledBaseInput>\n )\n})\n\nexport type BaseInputProps = BaseInputRootProps & InputProviderProps\n\nexport const BaseInput = React.forwardRef<\n ElementRef<typeof StyledBaseInput>,\n BaseInputProps\n>(\n (\n {\n 'aria-disabled': ariaDisabled,\n disabled,\n valid,\n readOnly,\n required,\n onChange,\n variant,\n ...restProps\n },\n forwardRef\n ) => (\n <InputProvider\n valid={valid}\n disabled={disabled}\n aria-disabled={ariaDisabled}\n readOnly={readOnly}\n required={required}\n onChange={onChange}\n variant={variant}\n >\n <Root {...restProps} ref={forwardRef} />\n </InputProvider>\n )\n) as ForwardRefExoticComponent<BaseInputProps> & Partials\n\n// Partials\n// -----------------------------------------------------------------------------\nexport interface Partials {\n Input: typeof Input\n ActionButton: typeof ActionButton\n IconSlot: typeof IconSlot\n}\n\nBaseInput.Input = Input\nBaseInput.ActionButton = ActionButton\nBaseInput.IconSlot = IconSlot\n"],"names":["styled","Primitive","BaseButton","actionButtonStyles","textFieldStyles","createContext","useRef","useState","booleanify","jsx","useContext","React","useAriaDisabled","mergeRefs","Fragment","Tooltip","addPropsToChildren","isIconComponent","useLayoutEffect","useHover","usePress","mergeProps","booleanishAttrValue"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAIa,MAAA,cAAA,GAAiBA,2BAAO,CAAAC,+BAAA,CAAU,GAAK,EAAA;AAAA,EAClD,KAAO,EAAA,CAAA;AAAA,EACP,YAAc,EAAA,QAAA;AAAA,EACd,OAAS,EAAA,MAAA;AAAA,EACT,cAAgB,EAAA,QAAA;AAAA,EAChB,KAAO,EAAA,uBAAA;AAAA,EAEP,cAAgB,EAAA;AAAA,IACd,aAAe,EAAA,MAAA;AAAA,GACjB;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,OAAS,EAAA;AAAA,MACP,SAAS,EAAC;AAAA,MACV,MAAQ,EAAA;AAAA,QACN,KAAO,EAAA,gBAAA;AAAA,OACT;AAAA,KACF;AAAA,IACA,QAAU,EAAA;AAAA,MACR,IAAM,EAAA;AAAA,QACJ,OAAS,EAAA;AAAA,UACP,KAAO,EAAA,yBAAA;AAAA,SACT;AAAA,OACF;AAAA,KACF;AAAA,GACF;AACF,CAAC,CAAA;;ACzBY,MAAA,kBAAA,GAAqBD,4BAAOE,iCAAY,EAAA;AAAA,EACnD,GAAGC,4CAAA;AAAA,EACH,KAAO,EAAA,CAAA;AAAA,EAEP,QAAU,EAAA;AAAA,IACR,kBAAoB,EAAA;AAAA,MAClB,IAAM,EAAA;AAAA,QACJ,wDAA0D,EAAA;AAAA,UACxD,KAAO,EAAA,uBAAA;AAAA,SACT;AAAA,OACF;AAAA,KACF;AAAA,IACA,iBAAmB,EAAA;AAAA,MACjB,IAAM,EAAA;AAAA,QACJ,KAAO,EAAA,yBAAA;AAAA,OACT;AAAA,KACF;AAAA,GACF;AACF,CAAC,CAAA;;ACfY,MAAA,iBAAA,GAAoBH,2BAAO,CAAAC,+BAAA,CAAU,GAAK,EAAA;AAAA,EACrD,KAAO,EAAA,CAAA;AAAA,EACP,OAAS,EAAA,MAAA;AAAA,EACT,UAAY,EAAA,QAAA;AAAA,EACZ,OAAS,EAAA,KAAA;AACX,CAAC,CAAA,CAAA;AAEY,MAAA,eAAA,GAAkBD,4BAAO,KAAO,EAAA;AAAA,EAC3C,QAAU,EAAA,UAAA;AAAA,EACV,UAAY,EAAA,QAAA;AAAA,EACZ,OAAS,EAAA,aAAA;AAAA,EACT,MAAQ,EAAA,aAAA;AAAA,EACR,GAAGI,0CAAgB,QAAS,CAAA,IAAA;AAAA,EAE5B,QAAU,EAAA;AAAA,IACR,OAAS,EAAA;AAAA,MACP,SAAS,EAAC;AAAA,MACV,QAAQ,EAAC;AAAA,KACX;AAAA,IACA,OAAS,EAAA;AAAA,MACP,MAAM,EAAC;AAAA,MACP,OAAO,EAAC;AAAA,KACV;AAAA,IACA,OAAS,EAAA;AAAA,MACP,MAAM,EAAC;AAAA,MACP,OAAO,EAAC;AAAA,KACV;AAAA,IACA,KAAO,EAAA;AAAA,MACL,MAAM,EAAC;AAAA,MACP,OAAO,EAAC;AAAA,KACV;AAAA,IACA,QAAU,EAAA;AAAA,MACR,IAAA,EAAMA,0CAAgB,QAAS,CAAA,QAAA;AAAA,MAC/B,OAAO,EAAC;AAAA,KACV;AAAA,IACA,QAAU,EAAA;AAAA,MACR,IAAA,EAAMA,0CAAgB,QAAS,CAAA,QAAA;AAAA,MAC/B,OAAO,EAAC;AAAA,KACV;AAAA,IACA,YAAc,EAAA;AAAA,MACZ,IAAA,EAAMA,0CAAgB,QAAS,CAAA,QAAA;AAAA,MAC/B,OAAO,EAAC;AAAA,KACV;AAAA,IACA,IAAM,EAAA;AAAA,MACJ,MAAQ,EAAA;AAAA,QACN,QAAU,EAAA,MAAA;AAAA,QACV,MAAQ,EAAA,IAAA;AAAA,QACR,OAAS,EAAA,SAAA;AAAA,QACT,CAAC,IAAK,CAAA,MAAA,CAAA,cAAA,CAAgB,GAAG;AAAA,UACvB,YAAc,EAAA,KAAA;AAAA,SAChB;AAAA,QACA,CAAC,IAAA,CAAK,MAAkB,CAAA,kBAAA,EAAA,MAAA,CAAA,CAAO,yBAAmB,GAAG;AAAA,UACnD,UAAY,EAAA,KAAA;AAAA,SACd;AAAA,QACA,CAAC,IAAK,CAAA,MAAA,CAAA,iBAAA,CAAmB,GAAG;AAAA,UAC1B,YAAc,EAAA,KAAA;AAAA,SAChB;AAAA,OACF;AAAA,MACA,KAAO,EAAA;AAAA,QACL,MAAQ,EAAA,KAAA;AAAA,QACR,OAAS,EAAA,SAAA;AAAA,QACT,CAAC,IAAK,CAAA,MAAA,CAAA,cAAA,CAAgB,GAAG;AAAA,UACvB,YAAc,EAAA,KAAA;AAAA,SAChB;AAAA,QACA,CAAC,IAAA,CAAK,MAAkB,CAAA,kBAAA,EAAA,MAAA,CAAA,CAAO,yBAAmB,GAAG;AAAA,UACnD,UAAY,EAAA,KAAA;AAAA,SACd;AAAA,QACA,CAAC,IAAK,CAAA,MAAA,CAAA,iBAAA,CAAmB,GAAG;AAAA,UAC1B,YAAc,EAAA,KAAA;AAAA,SAChB;AAAA,OACF;AAAA,MACA,SAAW,EAAA;AAAA,QACT,MAAQ,EAAA,KAAA;AAAA,QACR,OAAS,EAAA,QAAA;AAAA,QACT,QAAU,EAAA,MAAA;AAAA,QACV,UAAY,EAAA,MAAA;AAAA,QACZ,CAAC,IAAK,CAAA,MAAA,CAAA,cAAA,CAAgB,GAAG;AAAA,UACvB,YAAc,EAAA,MAAA;AAAA,SAChB;AAAA,QACA,CAAC,IAAA,CAAK,MAAkB,CAAA,kBAAA,EAAA,MAAA,CAAA,CAAO,yBAAmB,GAAG;AAAA,UACnD,UAAY,EAAA,MAAA;AAAA,SACd;AAAA,QACA,CAAC,IAAK,CAAA,MAAA,CAAA,iBAAA,CAAmB,GAAG;AAAA,UAC1B,YAAc,EAAA,KAAA;AAAA,SAChB;AAAA,OACF;AAAA,KACF;AAAA,GACF;AAAA,EACA,gBAAkB,EAAA;AAAA;AAAA,IAEhB;AAAA,MACE,KAAO,EAAA,KAAA;AAAA,MACP,OAAS,EAAA,KAAA;AAAA,MACT,QAAU,EAAA,KAAA;AAAA,MACV,QAAU,EAAA,KAAA;AAAA,MACV,YAAc,EAAA,KAAA;AAAA,MACd,GAAA,EAAKA,yCAAgB,CAAA,QAAA,CAAS,OAAQ,CAAA,IAAA;AAAA,KACxC;AAAA,IACA;AAAA,MACE,KAAO,EAAA,IAAA;AAAA,MACP,OAAS,EAAA,KAAA;AAAA,MACT,QAAU,EAAA,KAAA;AAAA,MACV,QAAU,EAAA,KAAA;AAAA,MACV,YAAc,EAAA,KAAA;AAAA,MACd,GAAA,EAAKA,yCAAgB,CAAA,QAAA,CAAS,KAAM,CAAA,IAAA;AAAA,KACtC;AAAA,IACA;AAAA,MACE,OAAS,EAAA,QAAA;AAAA,MACT,KAAO,EAAA,KAAA,CAAA;AAAA,MACP,OAAS,EAAA,KAAA;AAAA,MACT,QAAU,EAAA,KAAA;AAAA,MACV,QAAU,EAAA,KAAA;AAAA,MACV,YAAc,EAAA,KAAA;AAAA,MACd,GAAK,EAAA;AAAA,QACH,eAAiB,EAAA,6BAAA;AAAA,QACjB,WAAa,EAAA,aAAA;AAAA,OACf;AAAA,KACF;AAAA;AAAA,IAEA;AAAA,MACE,OAAS,EAAA,IAAA;AAAA,MACT,GAAA,EAAKA,0CAAgB,QAAS,CAAA,OAAA;AAAA,KAChC;AAAA,IACA;AAAA,MACE,OAAS,EAAA,IAAA;AAAA,MACT,QAAU,EAAA,KAAA;AAAA,MACV,QAAU,EAAA,KAAA;AAAA,MACV,YAAc,EAAA,KAAA;AAAA,MACd,GAAA,EAAKA,0CAAgB,QAAS,CAAA,OAAA;AAAA,KAChC;AAAA;AAAA,IAGA;AAAA,MACE,OAAS,EAAA,IAAA;AAAA,MACT,QAAU,EAAA,KAAA;AAAA,MACV,YAAc,EAAA,KAAA;AAAA,MACd,QAAU,EAAA,KAAA;AAAA,MACV,GAAA,EAAKA,0CAAgB,QAAS,CAAA,OAAA;AAAA,KAChC;AAAA,IACA;AAAA,MACE,OAAS,EAAA,IAAA;AAAA,MACT,OAAS,EAAA,KAAA;AAAA,MACT,KAAO,EAAA,KAAA;AAAA,MACP,QAAU,EAAA,KAAA;AAAA,MACV,QAAU,EAAA,KAAA;AAAA,MACV,YAAc,EAAA,KAAA;AAAA,MACd,GAAA,EAAKA,yCAAgB,CAAA,QAAA,CAAS,OAAQ,CAAA,OAAA;AAAA,KACxC;AAAA,IACA;AAAA,MACE,OAAS,EAAA,IAAA;AAAA,MACT,OAAS,EAAA,KAAA;AAAA,MACT,KAAO,EAAA,IAAA;AAAA,MACP,QAAU,EAAA,KAAA;AAAA,MACV,QAAU,EAAA,KAAA;AAAA,MACV,YAAc,EAAA,KAAA;AAAA,MACd,GAAA,EAAKA,yCAAgB,CAAA,QAAA,CAAS,KAAM,CAAA,OAAA;AAAA,KACtC;AAAA,IACA;AAAA,MACE,OAAS,EAAA,QAAA;AAAA,MACT,KAAO,EAAA,KAAA,CAAA;AAAA,MACP,OAAS,EAAA,IAAA;AAAA,MACT,QAAU,EAAA,KAAA;AAAA,MACV,QAAU,EAAA,KAAA;AAAA,MACV,YAAc,EAAA,KAAA;AAAA,MACd,GAAK,EAAA;AAAA,QACH,eAAiB,EAAA,mCAAA;AAAA,OACnB;AAAA,KACF;AAAA,GACF;AAAA,EACA,eAAiB,EAAA;AAAA,IACf,IAAM,EAAA,OAAA;AAAA,GACR;AACF,CAAC,CAAA;;AC/KD,MAAM,4BACJ,GAAA,gEAAA,CAAA;AAEW,MAAA,WAAA,GAAcJ,2BAAO,CAAAC,+BAAA,CAAU,KAAO,EAAA;AAAA,EACjD,GAAK,EAAA,OAAA;AAAA,EACL,UAAY,EAAA,aAAA;AAAA,EACZ,KAAO,EAAA,gBAAA;AAAA,EACP,KAAO,EAAA,MAAA;AAAA,EACP,YAAc,EAAA,KAAA;AAAA,EACd,KAAO,EAAA,CAAA;AAAA,EACP,OAAS,EAAA,OAAA;AAAA,EACT,MAAQ,EAAA,MAAA;AAAA,EAER,CAAC,QAAS,CAAA,MAAA,CAAA,4BAAA,EAA4B,gBAAgB,CAAA,GACpDG,0CAAgB,IAAK,CAAA,WAAA;AAAA,EAEvB,aAAe,EAAA;AAAA,IACb,KAAA,EAAOA,yCAAgB,CAAA,QAAA,CAAS,QAAS,CAAA,KAAA;AAAA,GAC3C;AAAA,EAEA,qDAAA,EACEA,0CAAgB,IAAK,CAAA,QAAA;AACzB,CAAC,CAAA;;ACFD,MAAM,YAAA,GAAeC,mBAAiC,CAAA,EAAS,CAAA,CAAA;AAExD,MAAM,gBAAgB,CAAC;AAAA,EAC5B,QAAA;AAAA,EACA,QAAA;AAAA,EACA,eAAiB,EAAA,YAAA;AAAA,EACjB,QAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG,SAAA;AACL,CAAuC,KAAA;AACrC,EAAM,MAAA,eAAA,GAAkBC,aAA8C,IAAI,CAAA,CAAA;AAC1E,EAAM,MAAA,QAAA,GAAWA,aAAyB,IAAI,CAAA,CAAA;AAC9C,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIC,eAAS,KAAK,CAAA,CAAA;AAC5C,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIA,eAAS,KAAK,CAAA,CAAA;AAC5C,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAIA,eAAS,KAAK,CAAA,CAAA;AACpD,EAAM,MAAA,QAAA,GACJ,CAACC,4BAAA,CAAW,QAAQ,CAAA,IAAK,CAACA,4BAAA,CAAW,YAAY,CAAA,IAAK,CAACA,4BAAA,CAAW,QAAQ,CAAA,CAAA;AAE5E,EACE,uBAAAC,cAAA;AAAA,IAAC,YAAa,CAAA,QAAA;AAAA,IAAb;AAAA,MACC,KAAO,EAAA;AAAA,QACL,GAAG,SAAA;AAAA,QACH,UAAA;AAAA,QACA,UAAA;AAAA,QACA,cAAA;AAAA,QACA,WAAA;AAAA,QACA,OAAA;AAAA,QACA,OAAA;AAAA,QACA,QAAA;AAAA,QACA,eAAiB,EAAA,YAAA;AAAA,QACjB,QAAA;AAAA,QACA,QAAA;AAAA,QACA,QAAA;AAAA,QACA,eAAA;AAAA,QACA,QAAA;AAAA,QACA,KAAA;AAAA,OACF;AAAA,MAEC,QAAA;AAAA,KAAA;AAAA,GACH,CAAA;AAEJ,CAAA,CAAA;AAEa,MAAA,eAAA,GAAkB,MAAyBC,gBAAA,CAAW,YAAY;;ACtDxE,MAAM,QAAQC,yBAAM,CAAA,UAAA;AAAA,EAIzB,CACE;AAAA,IACE,EAAA;AAAA,IACA,kBAAoB,EAAA,eAAA;AAAA,IACpB,cAAgB,EAAA,WAAA;AAAA,IAChB,GAAG,SAAA;AAAA,KAEL,UACG,KAAA;AACH,IAAM,MAAA;AAAA,MACJ,eAAiB,EAAA,YAAA;AAAA,MACjB,QAAA;AAAA,MACA,UAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,QACE,eAAgB,EAAA,CAAA;AAEpB,IAAA,MAAM,EAAE,MAAQ,EAAA,OAAA,EAAS,GAAG,YAAA,KAAiBC,2CAAgB,CAAA;AAAA,MAC3D,GAAG,SAAA;AAAA,MACH,YAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAA,MAAM,iBAAiBD,yBAAM,CAAA,WAAA;AAAA,MAC3B,CAAC,CAA0C,KAAA;AACzC,QAAA,UAAA,CAAW,IAAI,CAAA,CAAA;AACf,QAAU,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,CAAA,CAAA,CAAA;AAAA,OACZ;AAAA,MACA,CAAC,YAAY,OAAO,CAAA;AAAA,KACtB,CAAA;AACA,IAAA,MAAM,gBAAgBA,yBAAM,CAAA,WAAA;AAAA,MAC1B,CAAC,CAA0C,KAAA;AACzC,QAAA,UAAA,CAAW,KAAK,CAAA,CAAA;AAChB,QAAS,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAAA,OACX;AAAA,MACA,CAAC,YAAY,MAAM,CAAA;AAAA,KACrB,CAAA;AAEA,IACE,uBAAAF,cAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACE,GAAG,YAAA;AAAA,QACJ,EAAA;AAAA,QACA,QAAA;AAAA,QACA,kBAAkB,EAAA,eAAA;AAAA,QAClB,cAAc,EAAA,WAAA;AAAA,QACd,QAAA,EAAU,aAAa,IAAQ,IAAA,KAAA,CAAA;AAAA,QAC/B,QAAA,EAAU,aAAa,IAAQ,IAAA,KAAA,CAAA;AAAA,QAC/B,OAAS,EAAA,cAAA;AAAA,QACT,MAAQ,EAAA,aAAA;AAAA,QACR,QAAA;AAAA,QACA,GAAK,EAAAI,2BAAA,CAAU,CAAC,QAAA,EAAU,UAAU,CAAC,CAAA;AAAA,OAAA;AAAA,KACvC,CAAA;AAAA,GAEJ;AACF,CAAA;;ACpDO,MAAM,YAAe,GAAAF,yBAAA,CAAM,UAGhC,CAAA,CAAC,EAAE,YAAA,EAAc,SAAW,EAAA,KAAA,EAAO,QAAU,EAAA,GAAG,SAAU,EAAA,EAAG,UAAe,KAAA;AAC5E,EAAM,MAAA;AAAA,IACJ,KAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,eAAiB,EAAA,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,QAAA;AAAA,IACA,eAAA;AAAA,MACE,eAAgB,EAAA,CAAA;AAEpB,EAAA,MAAM,aAAgB,GAAA,KAAA,KAAU,KAAa,CAAA,IAAAH,4BAAA,CAAW,OAAO,CAAA,CAAA;AAE/D,EAAA,MAAM,aAAgB,GAAA,MAAA,CAAO,IAAK,CAAA,SAAS,CAAE,CAAA,IAAA;AAAA,IAAK,CAAA,GAAA,KAChD,GAAI,CAAA,UAAA,CAAW,SAAS,CAAA;AAAA,GAC1B,CAAA;AACA,EAAA,MAAM,iBAAiB,SAAU,CAAA,QAAA,CAAA;AAEjC,EAAA,MAAM,YACJ,mBAAAC,cAAA;AAAA,IAAC,kBAAA;AAAA,IAAA;AAAA,MACC,IAAK,EAAA,QAAA;AAAA,MACJ,GAAG,SAAA;AAAA,MACJ,cAAY,SAAa,IAAA,IAAA,GAAA,SAAA,GAAA,KAAA;AAAA,MACzB,QAAU,EAAA,aAAA,GAAgB,cAAiB,GAAA,cAAA,IAAA,IAAA,GAAA,cAAA,GAAkB,CAAC,QAAA;AAAA,MAC9D,iBAAA,EACE,gBACI,CAACD,4BAAA,CAAW,QAAQ,CAAK,IAAA,cAAA,GACzBA,4BAAW,CAAA,QAAA,IAAA,IAAA,GAAA,QAAA,GAAY,YAAY,CAAA;AAAA,MAEzC,kBAAoB,EAAA,QAAA;AAAA,MACpB,GAAK,EAAAK,2BAAA,CAAU,CAAC,UAAA,EAAY,eAAe,CAAC,CAAA;AAAA,MAE3C,QAAA;AAAA,KAAA;AAAA,GACH,CAAA;AAGF,EAAA,IAAI,CAAC,aAAA;AAAe,IAAA,uBAASJ,cAAA,CAAAK,mBAAA,EAAA,EAAA,CAAA,CAAA;AAE7B,EAAA,IAAA,CACG,UAAU,KAAa,CAAA,IAAA,KAAA,KAAU,OAClC,SAAc,KAAA,KAAA,CAAA,IACd,cAAc,EACd,EAAA;AACA,IAAO,OAAA,YAAA,CAAA;AAAA,GACT;AAEA,EAAA,uCACGC,2BACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAAN,cAAA,CAACM,2BAAQ,CAAA,OAAA,EAAR,EAAgB,OAAA,EAAO,MAAE,QAAa,EAAA,YAAA,EAAA,CAAA;AAAA,oBACtCN,cAAA,CAAAM,2BAAA,CAAQ,OAAR,EAAA,EAAiB,QAAM,EAAA,KAAA,EAAA,CAAA;AAAA,GAC1B,EAAA,CAAA,CAAA;AAEJ,CAAC,CAAA;;ACjEY,MAAA,QAAA,GAAWJ,0BAAM,UAG5B,CAAA,CAAC,EAAE,QAAU,EAAA,GAAG,SAAU,EAAA,EAAG,UAAe,KAAA;AAC5C,EAAM,MAAA;AAAA,IACJ,eAAiB,EAAA,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,cAAA;AAAA,IACA,OAAA;AAAA,MACE,eAAgB,EAAA,CAAA;AACpB,EAAM,MAAA,iBAAA,GAAoBK,oCAAmB,CAAA,QAAA,EAAUC,oCAAiB,EAAA;AAAA,IACtE,IAAM,EAAA,OAAA;AAAA,IACN,MAAQ,EAAA,MAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAAC,2CAAA,CAAgB,MAAM;AACpB,IAAA,cAAA,CAAe,IAAI,CAAA,CAAA;AACnB,IAAO,OAAA,MAAM,eAAe,KAAK,CAAA,CAAA;AAAA,GACnC,EAAG,CAAC,cAAc,CAAC,CAAA,CAAA;AAEnB,EACE,uBAAAT,cAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACE,GAAG,SAAA;AAAA,MACJ,OAAA;AAAA,MACA,QAAA,EAAUD,4BAAW,CAAA,QAAA,IAAA,IAAA,GAAA,QAAA,GAAY,YAAY,CAAA;AAAA,MAC7C,GAAK,EAAA,UAAA;AAAA,MAEJ,QAAA,EAAA,iBAAA;AAAA,KAAA;AAAA,GACH,CAAA;AAEJ,CAAC,CAAA,CAAA;AAED,QAAA,CAAS,WAAc,GAAA,UAAA;;ACVvB,MAAM,IAAA,GAAOG,yBAAM,CAAA,UAAA,CAGjB,CAAC,EAAE,UAAU,IAAM,EAAA,GAAG,SAAU,EAAA,EAAG,UAAe,KAAA;AAClD,EAAM,MAAA,GAAA,GAAML,aAAuB,IAAI,CAAA,CAAA;AACvC,EAAM,MAAA;AAAA,IACJ,KAAA;AAAA,IACA,eAAiB,EAAA,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA,eAAA;AAAA,IACA,UAAA;AAAA,IACA,OAAA;AAAA,MACE,eAAgB,EAAA,CAAA;AACpB,EAAA,MAAM,EAAE,UAAA,EAAY,SAAW,EAAA,OAAA,KAAYa,qBAAS,CAAA;AAAA,IAClD,aAAe,EAAA,UAAA;AAAA,GAChB,CAAA,CAAA;AAED,EAAM,MAAA,EAAE,UAAW,EAAA,GAAIC,6BAAS,CAAA;AAAA,IAC9B,cAAc,CAAK,CAAA,KAAA;AACjB,MAAM,MAAA,EAAE,MAAO,EAAA,GAAI,CAAE,CAAA,aAAA,CAAA;AAErB,MAAA,MAAM,gBACJ,QAAS,CAAA,aAAA,KAAkB,QAAS,CAAA,OAAA,IACpC,WAAW,QAAS,CAAA,OAAA,CAAA;AAGtB,MAAA,IAAI,aAAe,EAAA;AACjB,QAAA,CAAA,CAAE,cAAc,cAAe,EAAA,CAAA;AAAA,OACjC;AAAA,KACF;AAAA,IACA,YAAY,CAAK,CAAA,KAAA;AApErB,MAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAqEM,MAAM,MAAA,EAAE,MAAO,EAAA,GAAI,CAAE,CAAA,aAAA,CAAA;AAErB,MAAM,MAAA,cAAA,GACJ,WAAW,eAAgB,CAAA,OAAA,IAAA,CAAA,CAC3B,qBAAgB,OAAhB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAyB,SAAS,MAAoB,CAAA,MAAA,IAAA,CAAA;AAExD,MAAM,MAAA,gBAAA,GACJ,CAAC,cAAkB,IAAA,CAACZ,6BAAW,QAAQ,CAAA,IAAK,CAACA,4BAAA,CAAW,OAAO,CAAA,CAAA;AAEjE,MAAA,IAAI,gBAAkB,EAAA;AACpB,QAAA,CAAA,EAAA,GAAA,QAAA,CAAS,YAAT,IAAkB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,EAAA,CAAA;AAClB,QAAA,UAAA,CAAW,IAAI,CAAA,CAAA;AAAA,OACjB;AAAA,KACF;AAAA,IACA,mBAAqB,EAAA,MAAA;AAAA,GACtB,CAAA,CAAA;AAED,EACE,uBAAAC,cAAA;AAAA,IAAC,eAAA;AAAA,IAAA;AAAA,MACE,GAAGY,gBAAA,CAAW,SAAW,EAAA,UAAA,EAAY,UAAU,CAAA;AAAA,MAChD,cAAA,EAAcC,qCAAoB,CAAA,KAAA,KAAU,KAAK,CAAA;AAAA,MACjD,YAAA,EAAYA,qCAAoB,CAAA,KAAA,KAAU,IAAI,CAAA;AAAA,MAC9C,mBAAkB,EAAA,OAAA;AAAA,MAClB,GAAK,EAAAT,2BAAA,CAAU,CAAC,GAAA,EAAK,UAAU,CAAC,CAAA;AAAA,MAChC,IAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA,EAAUL,6BAAW,QAAQ,CAAA;AAAA,MAC7B,YAAA,EAAcA,6BAAW,YAAY,CAAA;AAAA,MACrC,QAAA,EAAUA,6BAAW,QAAQ,CAAA;AAAA,MAC7B,aACE,EAAA,OAAA,CAAQ,GAAI,CAAA,QAAA,KAAa,SAAS,iBAAoB,GAAA,KAAA,CAAA;AAAA,MAGvD,QAAA;AAAA,KAAA;AAAA,GACH,CAAA;AAEJ,CAAC,CAAA,CAAA;AAIM,MAAM,YAAYG,yBAAM,CAAA,UAAA;AAAA,EAI7B,CACE;AAAA,IACE,eAAiB,EAAA,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,GAAG,SAAA;AAAA,KAEL,UAEA,qBAAAF,cAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,QAAA;AAAA,MACA,eAAe,EAAA,YAAA;AAAA,MACf,QAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,MAEA,QAAC,kBAAAA,cAAA,CAAA,IAAA,EAAA,EAAM,GAAG,SAAA,EAAW,KAAK,UAAY,EAAA,CAAA;AAAA,KAAA;AAAA,GACxC;AAEJ,EAAA;AAUA,SAAA,CAAU,KAAQ,GAAA,KAAA,CAAA;AAClB,SAAA,CAAU,YAAe,GAAA,YAAA,CAAA;AACzB,SAAA,CAAU,QAAW,GAAA,QAAA;;;;;"}
|
|
1
|
+
{"version":3,"file":"main.js","sources":["../src/partials/icon-slot.styled.tsx","../src/partials/action-button.styled.tsx","../src/base-input.styled.tsx","../src/partials/input.styled.tsx","../src/hooks/use-input-context.tsx","../src/partials/input.tsx","../src/partials/action-button.tsx","../src/partials/icon-slot.tsx","../src/base-input.tsx"],"sourcesContent":["import { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\n\nexport const StyledIconSlot = styled(Primitive.div, {\n order: 1,\n alignContent: 'center',\n display: 'flex',\n justifyContent: 'center',\n color: '$icon-neutrals-subtle',\n\n '& svg, & img': {\n pointerEvents: 'none',\n },\n\n variants: {\n variant: {\n outline: {},\n subtle: {\n color: '$icon-neutrals',\n },\n },\n disabled: {\n true: {\n '& svg': {\n color: '$icon-neutrals-disabled',\n },\n },\n },\n },\n})\n\nexport type StyledIconSlotProps = ComponentPropsWithRef<typeof StyledIconSlot>\n","import { styled } from '@mirohq/design-system-stitches'\nimport { BaseButton } from '@mirohq/design-system-base-button'\nimport type { ComponentPropsWithRef } from 'react'\nimport { actionButtonStyles } from '@mirohq/design-system-base-text-field'\n\nexport const StyledActionButton = styled(BaseButton, {\n ...actionButtonStyles,\n order: 3,\n\n variants: {\n readOnlyAppearance: {\n true: {\n '& svg[data-icon-component], & img[data-icon-component]': {\n color: '$icon-neutrals-subtle',\n },\n },\n },\n disableAppearance: {\n true: {\n color: '$icon-neutrals-disabled',\n },\n },\n },\n})\n\nexport type StyledActionButtonProps = ComponentPropsWithRef<\n typeof StyledActionButton\n>\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\nimport { textFieldStyles } from '@mirohq/design-system-base-text-field'\n\nimport { StyledIconSlot } from './partials/icon-slot.styled'\nimport { StyledActionButton } from './partials/action-button.styled'\n\nexport const StyledValidityBox = styled(Primitive.div, {\n order: 3,\n display: 'flex',\n alignItems: 'center',\n padding: '6px',\n})\n\nexport const StyledBaseInput = styled('div', {\n position: 'relative',\n alignItems: 'center',\n display: 'inline-flex',\n height: 'max-content',\n ...textFieldStyles.variants.idle,\n\n variants: {\n variant: {\n outline: {},\n subtle: {},\n },\n hovered: {\n true: {},\n false: {},\n },\n active: {\n true: {},\n false: {},\n },\n focused: {\n true: {},\n false: {},\n },\n valid: {\n true: {},\n false: {},\n },\n readOnly: {\n true: textFieldStyles.variants.readOnly,\n false: {},\n },\n disabled: {\n true: textFieldStyles.variants.disabled,\n false: {},\n },\n ariaDisabled: {\n true: textFieldStyles.variants.disabled,\n false: {},\n },\n size: {\n medium: {\n fontSize: '$175',\n height: '$8',\n padding: '0 $100 ',\n [`& ${StyledIconSlot}`]: {\n paddingRight: '$50',\n },\n [`& ${StyledActionButton}, & ${StyledValidityBox}`]: {\n marginLeft: '$50',\n },\n [`& ${StyledValidityBox}`]: {\n paddingRight: '6px',\n },\n },\n large: {\n height: '$10',\n padding: '0 $100 ',\n [`& ${StyledIconSlot}`]: {\n paddingRight: '$50',\n },\n [`& ${StyledActionButton}, & ${StyledValidityBox}`]: {\n marginLeft: '$50',\n },\n [`& ${StyledValidityBox}`]: {\n paddingRight: '6px',\n },\n },\n 'x-large': {\n height: '$12',\n padding: '0 $150',\n fontSize: '$200',\n lineHeight: '$500',\n [`& ${StyledIconSlot}`]: {\n paddingRight: '$100',\n },\n [`& ${StyledActionButton}, & ${StyledValidityBox}`]: {\n marginLeft: '$100',\n },\n [`& ${StyledValidityBox}`]: {\n paddingRight: '6px',\n },\n },\n },\n },\n compoundVariants: [\n /** Idle states */\n {\n valid: false,\n focused: false,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: textFieldStyles.variants.invalid.idle,\n },\n {\n valid: true,\n focused: false,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: textFieldStyles.variants.valid.idle,\n },\n {\n variant: 'subtle',\n valid: undefined,\n hovered: false,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: {\n backgroundColor: '$background-neutrals-subtle',\n borderColor: 'transparent',\n },\n },\n /** Active */\n {\n active: true,\n css: textFieldStyles.variants.active,\n },\n {\n active: true,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: textFieldStyles.variants.active,\n },\n\n /** Focus States */\n {\n focused: true,\n css: textFieldStyles.variants.focused,\n },\n {\n focused: true,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: textFieldStyles.variants.focused,\n },\n\n /** Hover states */\n {\n hovered: true,\n disabled: false,\n ariaDisabled: false,\n readOnly: false,\n css: textFieldStyles.variants.hovered,\n },\n {\n hovered: true,\n focused: false,\n valid: false,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: textFieldStyles.variants.invalid.hovered,\n },\n {\n hovered: true,\n focused: false,\n valid: true,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: textFieldStyles.variants.valid.hovered,\n },\n {\n variant: 'subtle',\n valid: undefined,\n hovered: true,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: {\n backgroundColor: '$background-neutrals-subtle-hover',\n },\n },\n ],\n defaultVariants: {\n size: 'large',\n },\n})\n\nexport type StyledBaseInputProps = ComponentPropsWithRef<typeof StyledBaseInput>\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\nimport { textFieldStyles } from '@mirohq/design-system-base-text-field'\n\nconst disabledAndReadonlySelectors =\n ':read-only, :disabled, [aria-disabled=\"true\"], [data-disabled]'\n\nexport const StyledInput = styled(Primitive.input, {\n all: 'unset',\n background: 'transparent',\n color: '$text-neutrals',\n width: '100%',\n borderRadius: '$50',\n order: 2,\n padding: '0 $50',\n height: '100%',\n\n [`&:not(${disabledAndReadonlySelectors})::placeholder`]:\n textFieldStyles.base.placeholder,\n\n '&:read-only': {\n color: textFieldStyles.variants.readOnly.color,\n },\n\n '&:disabled, &[aria-disabled=true], &[data-disabled]':\n textFieldStyles.base.disabled,\n})\n\nexport type StyledInputProps = ComponentPropsWithRef<typeof StyledInput>\n","import React, { createContext, useContext, useState, useRef } from 'react'\nimport { booleanify } from '@mirohq/design-system-utils'\nimport type { FormElementProps } from '@mirohq/design-system-base-form'\n\ninterface InputProps extends FormElementProps {\n onChange?: React.ChangeEventHandler<HTMLInputElement>\n variant?: 'outline' | 'subtle'\n}\n\ninterface InputContextProps extends InputProps {\n focused: boolean\n setFocused: React.Dispatch<React.SetStateAction<boolean>>\n hovered: boolean\n setHovered: React.Dispatch<React.SetStateAction<boolean>>\n active: boolean\n setActive: React.Dispatch<React.SetStateAction<boolean>>\n hasIconSlot: boolean\n setHasIconSlot: React.Dispatch<React.SetStateAction<boolean>>\n actionButtonRef: React.RefObject<HTMLAnchorElement | HTMLButtonElement>\n inputRef: React.RefObject<HTMLInputElement>\n editable: boolean\n}\n\nexport interface InputProviderProps extends InputProps {\n children?: React.ReactNode\n}\n\nconst InputContext = createContext<InputContextProps>({} as any)\n\nexport const InputProvider = ({\n children,\n disabled,\n 'aria-disabled': ariaDisabled,\n readOnly,\n required,\n valid,\n ...restProps\n}: InputProviderProps): JSX.Element => {\n const actionButtonRef = useRef<HTMLAnchorElement | HTMLButtonElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n const [focused, setFocused] = useState(false)\n const [hovered, setHovered] = useState(false)\n const [active, setActive] = useState(false)\n const [hasIconSlot, setHasIconSlot] = useState(false)\n const editable =\n !booleanify(disabled) && !booleanify(ariaDisabled) && !booleanify(readOnly)\n\n return (\n <InputContext.Provider\n value={{\n ...restProps,\n setFocused,\n setHovered,\n setActive,\n setHasIconSlot,\n hasIconSlot,\n active,\n hovered,\n focused,\n disabled,\n 'aria-disabled': ariaDisabled,\n readOnly,\n editable,\n inputRef,\n actionButtonRef,\n required,\n valid,\n }}\n >\n {children}\n </InputContext.Provider>\n )\n}\n\nexport const useInputContext = (): InputContextProps => useContext(InputContext)\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { mergeRefs } from '@mirohq/design-system-utils'\nimport { useAriaDisabled } from '@mirohq/design-system-use-aria-disabled'\n\nimport { StyledInput } from './input.styled'\nimport type { StyledInputProps } from './input.styled'\nimport { useInputContext } from '../hooks/use-input-context'\n\nexport type InputProps = Omit<\n StyledInputProps,\n // these props should be set in the root\n 'aria-disabled' | 'disabled' | 'readOnly' | 'required' | 'onChange'\n>\n\nexport const Input = React.forwardRef<\n ElementRef<typeof StyledInput>,\n InputProps\n>(\n (\n {\n id,\n 'aria-describedby': ariaDescribedBy,\n 'aria-invalid': ariaInvalid,\n ...restProps\n },\n forwardRef\n ) => {\n const {\n 'aria-disabled': ariaDisabled,\n disabled,\n inputRef,\n required,\n readOnly,\n onChange,\n } = useInputContext()\n\n const elementProps = useAriaDisabled({\n ...restProps,\n ariaDisabled,\n })\n\n return (\n <StyledInput\n {...elementProps}\n id={id}\n readOnly={readOnly}\n aria-describedby={ariaDescribedBy}\n aria-invalid={ariaInvalid}\n disabled={disabled === true || undefined}\n required={required === true || undefined}\n onChange={onChange}\n ref={mergeRefs([inputRef, forwardRef])}\n />\n )\n }\n)\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { mergeRefs, booleanify } from '@mirohq/design-system-utils'\nimport { Tooltip } from '@mirohq/design-system-tooltip'\n\nimport { StyledActionButton } from './action-button.styled'\nimport type { StyledActionButtonProps } from './action-button.styled'\nimport { useInputContext } from '../hooks/use-input-context'\n\nexport type ActionButtonProps = StyledActionButtonProps &\n (\n | {\n label: string\n 'aria-label'?: string\n }\n // force aria-label if label is not present\n | {\n label?: never\n 'aria-label': string\n }\n )\n\nexport const ActionButton = React.forwardRef<\n ElementRef<typeof StyledActionButton>,\n ActionButtonProps\n>(({ 'aria-label': ariaLabel, label, children, ...restProps }, forwardRef) => {\n const {\n valid,\n hovered,\n editable,\n 'aria-disabled': ariaDisabled,\n disabled,\n readOnly,\n actionButtonRef,\n } = useInputContext()\n\n const showInputSlot = valid === undefined || booleanify(hovered)\n\n const hasPressEvent = Object.keys(restProps).some(key =>\n key.startsWith('onPress')\n )\n const customDisabled = restProps.disabled\n\n const actionButton = (\n <StyledActionButton\n type='button'\n {...restProps}\n aria-label={ariaLabel ?? label}\n disabled={hasPressEvent ? customDisabled : customDisabled ?? !editable}\n disableAppearance={\n hasPressEvent\n ? !booleanify(readOnly) && customDisabled\n : booleanify(disabled ?? ariaDisabled)\n }\n readOnlyAppearance={readOnly}\n ref={mergeRefs([forwardRef, actionButtonRef])}\n >\n {children}\n </StyledActionButton>\n )\n\n if (!showInputSlot) return <></>\n\n if (\n (label === undefined || label === '') &&\n ariaLabel !== undefined &&\n ariaLabel !== ''\n ) {\n return actionButton\n }\n\n return (\n <Tooltip>\n <Tooltip.Trigger asChild>{actionButton}</Tooltip.Trigger>\n <Tooltip.Content>{label}</Tooltip.Content>\n </Tooltip>\n )\n})\n","import React from 'react'\nimport { addPropsToChildren, booleanify } from '@mirohq/design-system-utils'\nimport { isIconComponent } from '@mirohq/design-system-base-icon'\nimport type { ElementRef } from 'react'\nimport { useLayoutEffect } from '@mirohq/design-system-use-layout-effect'\n\nimport { StyledIconSlot } from './icon-slot.styled'\nimport { useInputContext } from '../hooks/use-input-context'\nimport type { StyledIconSlotProps } from './icon-slot.styled'\n\nexport interface IconSlotProps extends Omit<StyledIconSlotProps, 'variant'> {}\n\nexport const IconSlot = React.forwardRef<\n ElementRef<typeof StyledIconSlot>,\n StyledIconSlotProps\n>(({ children, ...restProps }, forwardRef) => {\n const {\n 'aria-disabled': ariaDisabled,\n disabled,\n setHasIconSlot,\n variant,\n } = useInputContext()\n const formattedChildren = addPropsToChildren(children, isIconComponent, {\n size: 'small',\n weight: 'thin',\n })\n\n useLayoutEffect(() => {\n setHasIconSlot(true)\n return () => setHasIconSlot(false)\n }, [setHasIconSlot])\n\n return (\n <StyledIconSlot\n {...restProps}\n variant={variant}\n disabled={booleanify(disabled ?? ariaDisabled)}\n ref={forwardRef}\n >\n {formattedChildren}\n </StyledIconSlot>\n )\n})\n\nIconSlot.displayName = 'IconSlot'\n","import React, { useRef, useMemo } from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\nimport {\n booleanify,\n booleanishAttrValue,\n mergeRefs,\n} from '@mirohq/design-system-utils'\nimport { usePress } from '@mirohq/design-system-use-press'\nimport { useHover } from '@react-aria/interactions'\nimport { mergeProps } from '@react-aria/utils'\n\nimport type { StyledBaseInputProps } from './base-input.styled'\nimport { StyledBaseInput } from './base-input.styled'\nimport { Input } from './partials/input'\nimport type { InputProviderProps } from './hooks/use-input-context'\nimport { InputProvider, useInputContext } from './hooks/use-input-context'\nimport { ActionButton } from './partials/action-button'\nimport { IconSlot } from './partials/icon-slot'\n\ntype BaseInputRootProps = Omit<\n StyledBaseInputProps,\n // these props come from useInputContext, we don't pass it to BaseInput directly\n | 'hovered'\n | 'focused'\n | 'valid'\n | 'readOnly'\n | 'disabled'\n | 'ariaDisabled'\n // these shouldn't be applied to div\n | 'value'\n | 'defaultValue'\n | 'placeholder'\n>\n\nconst Root = React.forwardRef<\n ElementRef<typeof StyledBaseInput>,\n BaseInputRootProps\n>(({ children, size, ...restProps }, forwardRef) => {\n const ref = useRef<HTMLDivElement>(null)\n const isPointerDownRef = useRef(false)\n\n const {\n valid,\n 'aria-disabled': ariaDisabled,\n disabled,\n readOnly,\n focused,\n setHovered,\n inputRef,\n actionButtonRef,\n setFocused,\n setActive,\n active,\n variant,\n } = useInputContext()\n const { hoverProps, isHovered: hovered } = useHover({\n onHoverChange: setHovered,\n })\n\n const { pressProps } = usePress({\n onPressStart: e => {\n const { target } = e.originalEvent as PointerEvent\n\n const shouldPrevent =\n document.activeElement === inputRef.current &&\n target !== inputRef.current // to not stop text selection\n\n // to not lose focus on container click\n if (shouldPrevent) {\n e.originalEvent.preventDefault()\n }\n },\n onPressEnd: e => {\n const { target } = e.originalEvent as PointerEvent\n\n const isActionButton =\n target === actionButtonRef.current ||\n (actionButtonRef.current?.contains(target as Node) ?? false)\n\n const shouldFocusInput =\n !isActionButton && !booleanify(disabled) && !booleanify(focused)\n\n if (shouldFocusInput) {\n inputRef.current?.focus()\n // Don't set focused here, let the focus handler decide based on pointer state\n }\n },\n preventFocusOnPress: 'auto',\n })\n\n const onPointerDownHandler = React.useCallback(() => {\n // Track that pointer was used to interact with the input\n isPointerDownRef.current = true\n }, [])\n\n const onFocusHandler = React.useCallback(\n (e: React.FocusEvent<HTMLDivElement>) => {\n if (!isPointerDownRef.current && e.target === inputRef.current) {\n setFocused(true)\n }\n\n setActive(true)\n },\n [setActive, setFocused, inputRef]\n )\n\n const onBlurHandler = React.useCallback(() => {\n isPointerDownRef.current = false\n setFocused(false)\n setActive(false)\n }, [setActive, setFocused])\n\n const elementProps = useMemo(\n () =>\n mergeProps(\n restProps,\n {\n onFocus: onFocusHandler,\n onBlur: onBlurHandler,\n onPointerDown: onPointerDownHandler,\n },\n hoverProps,\n pressProps\n ),\n [\n restProps,\n hoverProps,\n pressProps,\n onFocusHandler,\n onBlurHandler,\n onPointerDownHandler,\n ]\n )\n\n return (\n <StyledBaseInput\n {...elementProps}\n data-invalid={booleanishAttrValue(valid === false)}\n data-valid={booleanishAttrValue(valid === true)}\n data-form-element='input'\n ref={mergeRefs([ref, forwardRef])}\n size={size}\n variant={variant}\n active={active}\n hovered={hovered}\n focused={focused}\n valid={valid}\n disabled={booleanify(disabled)}\n ariaDisabled={booleanify(ariaDisabled)}\n readOnly={booleanify(readOnly)}\n data-testid={\n process.env.NODE_ENV === 'test' ? 'input-container' : undefined\n }\n >\n {children}\n </StyledBaseInput>\n )\n})\n\nexport type BaseInputProps = BaseInputRootProps & InputProviderProps\n\nexport const BaseInput = React.forwardRef<\n ElementRef<typeof StyledBaseInput>,\n BaseInputProps\n>(\n (\n {\n 'aria-disabled': ariaDisabled,\n disabled,\n valid,\n readOnly,\n required,\n onChange,\n variant,\n ...restProps\n },\n forwardRef\n ) => (\n <InputProvider\n valid={valid}\n disabled={disabled}\n aria-disabled={ariaDisabled}\n readOnly={readOnly}\n required={required}\n onChange={onChange}\n variant={variant}\n >\n <Root {...restProps} ref={forwardRef} />\n </InputProvider>\n )\n) as ForwardRefExoticComponent<BaseInputProps> & Partials\n\n// Partials\n// -----------------------------------------------------------------------------\nexport interface Partials {\n Input: typeof Input\n ActionButton: typeof ActionButton\n IconSlot: typeof IconSlot\n}\n\nBaseInput.Input = Input\nBaseInput.ActionButton = ActionButton\nBaseInput.IconSlot = IconSlot\n"],"names":["styled","Primitive","BaseButton","actionButtonStyles","textFieldStyles","createContext","useRef","useState","booleanify","jsx","useContext","React","useAriaDisabled","mergeRefs","Fragment","Tooltip","addPropsToChildren","isIconComponent","useLayoutEffect","useHover","usePress","useMemo","mergeProps","booleanishAttrValue"],"mappings":"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"}
|
package/dist/module.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
2
|
-
import React, { createContext, useRef, useState, useContext } from 'react';
|
|
2
|
+
import React, { createContext, useRef, useState, useContext, useMemo } from 'react';
|
|
3
3
|
import { booleanify, mergeRefs, addPropsToChildren, booleanishAttrValue } from '@mirohq/design-system-utils';
|
|
4
4
|
import { usePress } from '@mirohq/design-system-use-press';
|
|
5
5
|
import { useHover } from '@react-aria/interactions';
|
|
@@ -79,6 +79,10 @@ const StyledBaseInput = styled("div", {
|
|
|
79
79
|
true: {},
|
|
80
80
|
false: {}
|
|
81
81
|
},
|
|
82
|
+
active: {
|
|
83
|
+
true: {},
|
|
84
|
+
false: {}
|
|
85
|
+
},
|
|
82
86
|
focused: {
|
|
83
87
|
true: {},
|
|
84
88
|
false: {}
|
|
@@ -174,6 +178,18 @@ const StyledBaseInput = styled("div", {
|
|
|
174
178
|
borderColor: "transparent"
|
|
175
179
|
}
|
|
176
180
|
},
|
|
181
|
+
/** Active */
|
|
182
|
+
{
|
|
183
|
+
active: true,
|
|
184
|
+
css: textFieldStyles.variants.active
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
active: true,
|
|
188
|
+
readOnly: false,
|
|
189
|
+
disabled: false,
|
|
190
|
+
ariaDisabled: false,
|
|
191
|
+
css: textFieldStyles.variants.active
|
|
192
|
+
},
|
|
177
193
|
/** Focus States */
|
|
178
194
|
{
|
|
179
195
|
focused: true,
|
|
@@ -260,6 +276,7 @@ const InputProvider = ({
|
|
|
260
276
|
const inputRef = useRef(null);
|
|
261
277
|
const [focused, setFocused] = useState(false);
|
|
262
278
|
const [hovered, setHovered] = useState(false);
|
|
279
|
+
const [active, setActive] = useState(false);
|
|
263
280
|
const [hasIconSlot, setHasIconSlot] = useState(false);
|
|
264
281
|
const editable = !booleanify(disabled) && !booleanify(ariaDisabled) && !booleanify(readOnly);
|
|
265
282
|
return /* @__PURE__ */ jsx(
|
|
@@ -269,8 +286,10 @@ const InputProvider = ({
|
|
|
269
286
|
...restProps,
|
|
270
287
|
setFocused,
|
|
271
288
|
setHovered,
|
|
289
|
+
setActive,
|
|
272
290
|
setHasIconSlot,
|
|
273
291
|
hasIconSlot,
|
|
292
|
+
active,
|
|
274
293
|
hovered,
|
|
275
294
|
focused,
|
|
276
295
|
disabled,
|
|
@@ -298,30 +317,15 @@ const Input = React.forwardRef(
|
|
|
298
317
|
const {
|
|
299
318
|
"aria-disabled": ariaDisabled,
|
|
300
319
|
disabled,
|
|
301
|
-
setFocused,
|
|
302
320
|
inputRef,
|
|
303
321
|
required,
|
|
304
322
|
readOnly,
|
|
305
323
|
onChange
|
|
306
324
|
} = useInputContext();
|
|
307
|
-
const
|
|
325
|
+
const elementProps = useAriaDisabled({
|
|
308
326
|
...restProps,
|
|
309
327
|
ariaDisabled
|
|
310
328
|
});
|
|
311
|
-
const onFocusHandler = React.useCallback(
|
|
312
|
-
(e) => {
|
|
313
|
-
setFocused(true);
|
|
314
|
-
onFocus == null ? void 0 : onFocus(e);
|
|
315
|
-
},
|
|
316
|
-
[setFocused, onFocus]
|
|
317
|
-
);
|
|
318
|
-
const onBlurHandler = React.useCallback(
|
|
319
|
-
(e) => {
|
|
320
|
-
setFocused(false);
|
|
321
|
-
onBlur == null ? void 0 : onBlur(e);
|
|
322
|
-
},
|
|
323
|
-
[setFocused, onBlur]
|
|
324
|
-
);
|
|
325
329
|
return /* @__PURE__ */ jsx(
|
|
326
330
|
StyledInput,
|
|
327
331
|
{
|
|
@@ -332,8 +336,6 @@ const Input = React.forwardRef(
|
|
|
332
336
|
"aria-invalid": ariaInvalid,
|
|
333
337
|
disabled: disabled === true || void 0,
|
|
334
338
|
required: required === true || void 0,
|
|
335
|
-
onFocus: onFocusHandler,
|
|
336
|
-
onBlur: onBlurHandler,
|
|
337
339
|
onChange,
|
|
338
340
|
ref: mergeRefs([inputRef, forwardRef])
|
|
339
341
|
}
|
|
@@ -369,8 +371,7 @@ const ActionButton = React.forwardRef(({ "aria-label": ariaLabel, label, childre
|
|
|
369
371
|
children
|
|
370
372
|
}
|
|
371
373
|
);
|
|
372
|
-
if (!showInputSlot)
|
|
373
|
-
return /* @__PURE__ */ jsx(Fragment, {});
|
|
374
|
+
if (!showInputSlot) return /* @__PURE__ */ jsx(Fragment, {});
|
|
374
375
|
if ((label === void 0 || label === "") && ariaLabel !== void 0 && ariaLabel !== "") {
|
|
375
376
|
return actionButton;
|
|
376
377
|
}
|
|
@@ -410,6 +411,7 @@ IconSlot.displayName = "IconSlot";
|
|
|
410
411
|
|
|
411
412
|
const Root = React.forwardRef(({ children, size, ...restProps }, forwardRef) => {
|
|
412
413
|
const ref = useRef(null);
|
|
414
|
+
const isPointerDownRef = useRef(false);
|
|
413
415
|
const {
|
|
414
416
|
valid,
|
|
415
417
|
"aria-disabled": ariaDisabled,
|
|
@@ -420,6 +422,8 @@ const Root = React.forwardRef(({ children, size, ...restProps }, forwardRef) =>
|
|
|
420
422
|
inputRef,
|
|
421
423
|
actionButtonRef,
|
|
422
424
|
setFocused,
|
|
425
|
+
setActive,
|
|
426
|
+
active,
|
|
423
427
|
variant
|
|
424
428
|
} = useInputContext();
|
|
425
429
|
const { hoverProps, isHovered: hovered } = useHover({
|
|
@@ -434,27 +438,64 @@ const Root = React.forwardRef(({ children, size, ...restProps }, forwardRef) =>
|
|
|
434
438
|
}
|
|
435
439
|
},
|
|
436
440
|
onPressEnd: (e) => {
|
|
437
|
-
var _a, _b;
|
|
441
|
+
var _a, _b, _c;
|
|
438
442
|
const { target } = e.originalEvent;
|
|
439
|
-
const isActionButton = target === actionButtonRef.current || ((_a = actionButtonRef.current) == null ? void 0 : _a.contains(target))
|
|
443
|
+
const isActionButton = target === actionButtonRef.current || ((_b = (_a = actionButtonRef.current) == null ? void 0 : _a.contains(target)) != null ? _b : false);
|
|
440
444
|
const shouldFocusInput = !isActionButton && !booleanify(disabled) && !booleanify(focused);
|
|
441
445
|
if (shouldFocusInput) {
|
|
442
|
-
(
|
|
443
|
-
setFocused(true);
|
|
446
|
+
(_c = inputRef.current) == null ? void 0 : _c.focus();
|
|
444
447
|
}
|
|
445
448
|
},
|
|
446
449
|
preventFocusOnPress: "auto"
|
|
447
450
|
});
|
|
451
|
+
const onPointerDownHandler = React.useCallback(() => {
|
|
452
|
+
isPointerDownRef.current = true;
|
|
453
|
+
}, []);
|
|
454
|
+
const onFocusHandler = React.useCallback(
|
|
455
|
+
(e) => {
|
|
456
|
+
if (!isPointerDownRef.current && e.target === inputRef.current) {
|
|
457
|
+
setFocused(true);
|
|
458
|
+
}
|
|
459
|
+
setActive(true);
|
|
460
|
+
},
|
|
461
|
+
[setActive, setFocused, inputRef]
|
|
462
|
+
);
|
|
463
|
+
const onBlurHandler = React.useCallback(() => {
|
|
464
|
+
isPointerDownRef.current = false;
|
|
465
|
+
setFocused(false);
|
|
466
|
+
setActive(false);
|
|
467
|
+
}, [setActive, setFocused]);
|
|
468
|
+
const elementProps = useMemo(
|
|
469
|
+
() => mergeProps(
|
|
470
|
+
restProps,
|
|
471
|
+
{
|
|
472
|
+
onFocus: onFocusHandler,
|
|
473
|
+
onBlur: onBlurHandler,
|
|
474
|
+
onPointerDown: onPointerDownHandler
|
|
475
|
+
},
|
|
476
|
+
hoverProps,
|
|
477
|
+
pressProps
|
|
478
|
+
),
|
|
479
|
+
[
|
|
480
|
+
restProps,
|
|
481
|
+
hoverProps,
|
|
482
|
+
pressProps,
|
|
483
|
+
onFocusHandler,
|
|
484
|
+
onBlurHandler,
|
|
485
|
+
onPointerDownHandler
|
|
486
|
+
]
|
|
487
|
+
);
|
|
448
488
|
return /* @__PURE__ */ jsx(
|
|
449
489
|
StyledBaseInput,
|
|
450
490
|
{
|
|
451
|
-
...
|
|
491
|
+
...elementProps,
|
|
452
492
|
"data-invalid": booleanishAttrValue(valid === false),
|
|
453
493
|
"data-valid": booleanishAttrValue(valid === true),
|
|
454
494
|
"data-form-element": "input",
|
|
455
495
|
ref: mergeRefs([ref, forwardRef]),
|
|
456
496
|
size,
|
|
457
497
|
variant,
|
|
498
|
+
active,
|
|
458
499
|
hovered,
|
|
459
500
|
focused,
|
|
460
501
|
valid,
|
package/dist/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sources":["../src/partials/icon-slot.styled.tsx","../src/partials/action-button.styled.tsx","../src/base-input.styled.tsx","../src/partials/input.styled.tsx","../src/hooks/use-input-context.tsx","../src/partials/input.tsx","../src/partials/action-button.tsx","../src/partials/icon-slot.tsx","../src/base-input.tsx"],"sourcesContent":["import { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\n\nexport const StyledIconSlot = styled(Primitive.div, {\n order: 1,\n alignContent: 'center',\n display: 'flex',\n justifyContent: 'center',\n color: '$icon-neutrals-subtle',\n\n '& svg, & img': {\n pointerEvents: 'none',\n },\n\n variants: {\n variant: {\n outline: {},\n subtle: {\n color: '$icon-neutrals',\n },\n },\n disabled: {\n true: {\n '& svg': {\n color: '$icon-neutrals-disabled',\n },\n },\n },\n },\n})\n\nexport type StyledIconSlotProps = ComponentPropsWithRef<typeof StyledIconSlot>\n","import { styled } from '@mirohq/design-system-stitches'\nimport { BaseButton } from '@mirohq/design-system-base-button'\nimport type { ComponentPropsWithRef } from 'react'\nimport { actionButtonStyles } from '@mirohq/design-system-base-text-field'\n\nexport const StyledActionButton = styled(BaseButton, {\n ...actionButtonStyles,\n order: 3,\n\n variants: {\n readOnlyAppearance: {\n true: {\n '& svg[data-icon-component], & img[data-icon-component]': {\n color: '$icon-neutrals-subtle',\n },\n },\n },\n disableAppearance: {\n true: {\n color: '$icon-neutrals-disabled',\n },\n },\n },\n})\n\nexport type StyledActionButtonProps = ComponentPropsWithRef<\n typeof StyledActionButton\n>\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\nimport { textFieldStyles } from '@mirohq/design-system-base-text-field'\n\nimport { StyledIconSlot } from './partials/icon-slot.styled'\nimport { StyledActionButton } from './partials/action-button.styled'\n\nexport const StyledValidityBox = styled(Primitive.div, {\n order: 3,\n display: 'flex',\n alignItems: 'center',\n padding: '6px',\n})\n\nexport const StyledBaseInput = styled('div', {\n position: 'relative',\n alignItems: 'center',\n display: 'inline-flex',\n height: 'max-content',\n ...textFieldStyles.variants.idle,\n\n variants: {\n variant: {\n outline: {},\n subtle: {},\n },\n hovered: {\n true: {},\n false: {},\n },\n focused: {\n true: {},\n false: {},\n },\n valid: {\n true: {},\n false: {},\n },\n readOnly: {\n true: textFieldStyles.variants.readOnly,\n false: {},\n },\n disabled: {\n true: textFieldStyles.variants.disabled,\n false: {},\n },\n ariaDisabled: {\n true: textFieldStyles.variants.disabled,\n false: {},\n },\n size: {\n medium: {\n fontSize: '$175',\n height: '$8',\n padding: '0 $100 ',\n [`& ${StyledIconSlot}`]: {\n paddingRight: '$50',\n },\n [`& ${StyledActionButton}, & ${StyledValidityBox}`]: {\n marginLeft: '$50',\n },\n [`& ${StyledValidityBox}`]: {\n paddingRight: '6px',\n },\n },\n large: {\n height: '$10',\n padding: '0 $100 ',\n [`& ${StyledIconSlot}`]: {\n paddingRight: '$50',\n },\n [`& ${StyledActionButton}, & ${StyledValidityBox}`]: {\n marginLeft: '$50',\n },\n [`& ${StyledValidityBox}`]: {\n paddingRight: '6px',\n },\n },\n 'x-large': {\n height: '$12',\n padding: '0 $150',\n fontSize: '$200',\n lineHeight: '$500',\n [`& ${StyledIconSlot}`]: {\n paddingRight: '$100',\n },\n [`& ${StyledActionButton}, & ${StyledValidityBox}`]: {\n marginLeft: '$100',\n },\n [`& ${StyledValidityBox}`]: {\n paddingRight: '6px',\n },\n },\n },\n },\n compoundVariants: [\n /** Idle states */\n {\n valid: false,\n focused: false,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: textFieldStyles.variants.invalid.idle,\n },\n {\n valid: true,\n focused: false,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: textFieldStyles.variants.valid.idle,\n },\n {\n variant: 'subtle',\n valid: undefined,\n hovered: false,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: {\n backgroundColor: '$background-neutrals-subtle',\n borderColor: 'transparent',\n },\n },\n /** Focus States */\n {\n focused: true,\n css: textFieldStyles.variants.focused,\n },\n {\n focused: true,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: textFieldStyles.variants.focused,\n },\n\n /** Hover states */\n {\n hovered: true,\n disabled: false,\n ariaDisabled: false,\n readOnly: false,\n css: textFieldStyles.variants.hovered,\n },\n {\n hovered: true,\n focused: false,\n valid: false,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: textFieldStyles.variants.invalid.hovered,\n },\n {\n hovered: true,\n focused: false,\n valid: true,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: textFieldStyles.variants.valid.hovered,\n },\n {\n variant: 'subtle',\n valid: undefined,\n hovered: true,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: {\n backgroundColor: '$background-neutrals-subtle-hover',\n },\n },\n ],\n defaultVariants: {\n size: 'large',\n },\n})\n\nexport type StyledBaseInputProps = ComponentPropsWithRef<typeof StyledBaseInput>\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\nimport { textFieldStyles } from '@mirohq/design-system-base-text-field'\n\nconst disabledAndReadonlySelectors =\n ':read-only, :disabled, [aria-disabled=\"true\"], [data-disabled]'\n\nexport const StyledInput = styled(Primitive.input, {\n all: 'unset',\n background: 'transparent',\n color: '$text-neutrals',\n width: '100%',\n borderRadius: '$50',\n order: 2,\n padding: '0 $50',\n height: '100%',\n\n [`&:not(${disabledAndReadonlySelectors})::placeholder`]:\n textFieldStyles.base.placeholder,\n\n '&:read-only': {\n color: textFieldStyles.variants.readOnly.color,\n },\n\n '&:disabled, &[aria-disabled=true], &[data-disabled]':\n textFieldStyles.base.disabled,\n})\n\nexport type StyledInputProps = ComponentPropsWithRef<typeof StyledInput>\n","import React, { createContext, useContext, useState, useRef } from 'react'\nimport { booleanify } from '@mirohq/design-system-utils'\nimport type { FormElementProps } from '@mirohq/design-system-base-form'\n\ninterface InputProps extends FormElementProps {\n onChange?: React.ChangeEventHandler<HTMLInputElement>\n variant?: 'outline' | 'subtle'\n}\n\ninterface InputContextProps extends InputProps {\n focused: boolean\n setFocused: React.Dispatch<React.SetStateAction<boolean>>\n hovered: boolean\n setHovered: React.Dispatch<React.SetStateAction<boolean>>\n hasIconSlot: boolean\n setHasIconSlot: React.Dispatch<React.SetStateAction<boolean>>\n actionButtonRef: React.RefObject<HTMLAnchorElement | HTMLButtonElement>\n inputRef: React.RefObject<HTMLInputElement>\n editable: boolean\n}\n\nexport interface InputProviderProps extends InputProps {\n children?: React.ReactNode\n}\n\nconst InputContext = createContext<InputContextProps>({} as any)\n\nexport const InputProvider = ({\n children,\n disabled,\n 'aria-disabled': ariaDisabled,\n readOnly,\n required,\n valid,\n ...restProps\n}: InputProviderProps): JSX.Element => {\n const actionButtonRef = useRef<HTMLAnchorElement | HTMLButtonElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n const [focused, setFocused] = useState(false)\n const [hovered, setHovered] = useState(false)\n const [hasIconSlot, setHasIconSlot] = useState(false)\n const editable =\n !booleanify(disabled) && !booleanify(ariaDisabled) && !booleanify(readOnly)\n\n return (\n <InputContext.Provider\n value={{\n ...restProps,\n setFocused,\n setHovered,\n setHasIconSlot,\n hasIconSlot,\n hovered,\n focused,\n disabled,\n 'aria-disabled': ariaDisabled,\n readOnly,\n editable,\n inputRef,\n actionButtonRef,\n required,\n valid,\n }}\n >\n {children}\n </InputContext.Provider>\n )\n}\n\nexport const useInputContext = (): InputContextProps => useContext(InputContext)\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { mergeRefs } from '@mirohq/design-system-utils'\nimport { useAriaDisabled } from '@mirohq/design-system-use-aria-disabled'\n\nimport { StyledInput } from './input.styled'\nimport type { StyledInputProps } from './input.styled'\nimport { useInputContext } from '../hooks/use-input-context'\n\nexport type InputProps = Omit<\n StyledInputProps,\n // these props should be set in the root\n 'aria-disabled' | 'disabled' | 'readOnly' | 'required' | 'onChange'\n>\n\nexport const Input = React.forwardRef<\n ElementRef<typeof StyledInput>,\n InputProps\n>(\n (\n {\n id,\n 'aria-describedby': ariaDescribedBy,\n 'aria-invalid': ariaInvalid,\n ...restProps\n },\n forwardRef\n ) => {\n const {\n 'aria-disabled': ariaDisabled,\n disabled,\n setFocused,\n inputRef,\n required,\n readOnly,\n onChange,\n } = useInputContext()\n\n const { onBlur, onFocus, ...elementProps } = useAriaDisabled({\n ...restProps,\n ariaDisabled,\n })\n\n const onFocusHandler = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setFocused(true)\n onFocus?.(e)\n },\n [setFocused, onFocus]\n )\n const onBlurHandler = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setFocused(false)\n onBlur?.(e)\n },\n [setFocused, onBlur]\n )\n\n return (\n <StyledInput\n {...elementProps}\n id={id}\n readOnly={readOnly}\n aria-describedby={ariaDescribedBy}\n aria-invalid={ariaInvalid}\n disabled={disabled === true || undefined}\n required={required === true || undefined}\n onFocus={onFocusHandler}\n onBlur={onBlurHandler}\n onChange={onChange}\n ref={mergeRefs([inputRef, forwardRef])}\n />\n )\n }\n)\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { mergeRefs, booleanify } from '@mirohq/design-system-utils'\nimport { Tooltip } from '@mirohq/design-system-tooltip'\n\nimport { StyledActionButton } from './action-button.styled'\nimport type { StyledActionButtonProps } from './action-button.styled'\nimport { useInputContext } from '../hooks/use-input-context'\n\nexport type ActionButtonProps = StyledActionButtonProps &\n (\n | {\n label: string\n 'aria-label'?: string\n }\n // force aria-label if label is not present\n | {\n label?: never\n 'aria-label': string\n }\n )\n\nexport const ActionButton = React.forwardRef<\n ElementRef<typeof StyledActionButton>,\n ActionButtonProps\n>(({ 'aria-label': ariaLabel, label, children, ...restProps }, forwardRef) => {\n const {\n valid,\n hovered,\n editable,\n 'aria-disabled': ariaDisabled,\n disabled,\n readOnly,\n actionButtonRef,\n } = useInputContext()\n\n const showInputSlot = valid === undefined || booleanify(hovered)\n\n const hasPressEvent = Object.keys(restProps).some(key =>\n key.startsWith('onPress')\n )\n const customDisabled = restProps.disabled\n\n const actionButton = (\n <StyledActionButton\n type='button'\n {...restProps}\n aria-label={ariaLabel ?? label}\n disabled={hasPressEvent ? customDisabled : customDisabled ?? !editable}\n disableAppearance={\n hasPressEvent\n ? !booleanify(readOnly) && customDisabled\n : booleanify(disabled ?? ariaDisabled)\n }\n readOnlyAppearance={readOnly}\n ref={mergeRefs([forwardRef, actionButtonRef])}\n >\n {children}\n </StyledActionButton>\n )\n\n if (!showInputSlot) return <></>\n\n if (\n (label === undefined || label === '') &&\n ariaLabel !== undefined &&\n ariaLabel !== ''\n ) {\n return actionButton\n }\n\n return (\n <Tooltip>\n <Tooltip.Trigger asChild>{actionButton}</Tooltip.Trigger>\n <Tooltip.Content>{label}</Tooltip.Content>\n </Tooltip>\n )\n})\n","import React from 'react'\nimport { addPropsToChildren, booleanify } from '@mirohq/design-system-utils'\nimport { isIconComponent } from '@mirohq/design-system-base-icon'\nimport type { ElementRef } from 'react'\nimport { useLayoutEffect } from '@mirohq/design-system-use-layout-effect'\n\nimport { StyledIconSlot } from './icon-slot.styled'\nimport { useInputContext } from '../hooks/use-input-context'\nimport type { StyledIconSlotProps } from './icon-slot.styled'\n\nexport interface IconSlotProps extends Omit<StyledIconSlotProps, 'variant'> {}\n\nexport const IconSlot = React.forwardRef<\n ElementRef<typeof StyledIconSlot>,\n StyledIconSlotProps\n>(({ children, ...restProps }, forwardRef) => {\n const {\n 'aria-disabled': ariaDisabled,\n disabled,\n setHasIconSlot,\n variant,\n } = useInputContext()\n const formattedChildren = addPropsToChildren(children, isIconComponent, {\n size: 'small',\n weight: 'thin',\n })\n\n useLayoutEffect(() => {\n setHasIconSlot(true)\n return () => setHasIconSlot(false)\n }, [setHasIconSlot])\n\n return (\n <StyledIconSlot\n {...restProps}\n variant={variant}\n disabled={booleanify(disabled ?? ariaDisabled)}\n ref={forwardRef}\n >\n {formattedChildren}\n </StyledIconSlot>\n )\n})\n\nIconSlot.displayName = 'IconSlot'\n","import React, { useRef } from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\nimport {\n booleanify,\n booleanishAttrValue,\n mergeRefs,\n} from '@mirohq/design-system-utils'\nimport { usePress } from '@mirohq/design-system-use-press'\nimport { useHover } from '@react-aria/interactions'\nimport { mergeProps } from '@react-aria/utils'\n\nimport type { StyledBaseInputProps } from './base-input.styled'\nimport { StyledBaseInput } from './base-input.styled'\nimport { Input } from './partials/input'\nimport type { InputProviderProps } from './hooks/use-input-context'\nimport { InputProvider, useInputContext } from './hooks/use-input-context'\nimport { ActionButton } from './partials/action-button'\nimport { IconSlot } from './partials/icon-slot'\n\ntype BaseInputRootProps = Omit<\n StyledBaseInputProps,\n // these props come from useInputContext, we don't pass it to BaseInput directly\n | 'hovered'\n | 'focused'\n | 'valid'\n | 'readOnly'\n | 'disabled'\n | 'ariaDisabled'\n // these shouldn't be applied to div\n | 'value'\n | 'defaultValue'\n | 'placeholder'\n>\n\nconst Root = React.forwardRef<\n ElementRef<typeof StyledBaseInput>,\n BaseInputRootProps\n>(({ children, size, ...restProps }, forwardRef) => {\n const ref = useRef<HTMLDivElement>(null)\n const {\n valid,\n 'aria-disabled': ariaDisabled,\n disabled,\n readOnly,\n focused,\n setHovered,\n inputRef,\n actionButtonRef,\n setFocused,\n variant,\n } = useInputContext()\n const { hoverProps, isHovered: hovered } = useHover({\n onHoverChange: setHovered,\n })\n\n const { pressProps } = usePress({\n onPressStart: e => {\n const { target } = e.originalEvent as PointerEvent\n\n const shouldPrevent =\n document.activeElement === inputRef.current &&\n target !== inputRef.current // to not stop text selection\n\n // to not lose focus on container click\n if (shouldPrevent) {\n e.originalEvent.preventDefault()\n }\n },\n onPressEnd: e => {\n const { target } = e.originalEvent as PointerEvent\n\n const isActionButton =\n target === actionButtonRef.current ||\n actionButtonRef.current?.contains(target as Node) === true\n\n const shouldFocusInput =\n !isActionButton && !booleanify(disabled) && !booleanify(focused)\n\n if (shouldFocusInput) {\n inputRef.current?.focus()\n setFocused(true)\n }\n },\n preventFocusOnPress: 'auto',\n })\n\n return (\n <StyledBaseInput\n {...mergeProps(restProps, hoverProps, pressProps)}\n data-invalid={booleanishAttrValue(valid === false)}\n data-valid={booleanishAttrValue(valid === true)}\n data-form-element='input'\n ref={mergeRefs([ref, forwardRef])}\n size={size}\n variant={variant}\n hovered={hovered}\n focused={focused}\n valid={valid}\n disabled={booleanify(disabled)}\n ariaDisabled={booleanify(ariaDisabled)}\n readOnly={booleanify(readOnly)}\n data-testid={\n process.env.NODE_ENV === 'test' ? 'input-container' : undefined\n }\n >\n {children}\n </StyledBaseInput>\n )\n})\n\nexport type BaseInputProps = BaseInputRootProps & InputProviderProps\n\nexport const BaseInput = React.forwardRef<\n ElementRef<typeof StyledBaseInput>,\n BaseInputProps\n>(\n (\n {\n 'aria-disabled': ariaDisabled,\n disabled,\n valid,\n readOnly,\n required,\n onChange,\n variant,\n ...restProps\n },\n forwardRef\n ) => (\n <InputProvider\n valid={valid}\n disabled={disabled}\n aria-disabled={ariaDisabled}\n readOnly={readOnly}\n required={required}\n onChange={onChange}\n variant={variant}\n >\n <Root {...restProps} ref={forwardRef} />\n </InputProvider>\n )\n) as ForwardRefExoticComponent<BaseInputProps> & Partials\n\n// Partials\n// -----------------------------------------------------------------------------\nexport interface Partials {\n Input: typeof Input\n ActionButton: typeof ActionButton\n IconSlot: typeof IconSlot\n}\n\nBaseInput.Input = Input\nBaseInput.ActionButton = ActionButton\nBaseInput.IconSlot = IconSlot\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"module.js","sources":["../src/partials/icon-slot.styled.tsx","../src/partials/action-button.styled.tsx","../src/base-input.styled.tsx","../src/partials/input.styled.tsx","../src/hooks/use-input-context.tsx","../src/partials/input.tsx","../src/partials/action-button.tsx","../src/partials/icon-slot.tsx","../src/base-input.tsx"],"sourcesContent":["import { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\n\nexport const StyledIconSlot = styled(Primitive.div, {\n order: 1,\n alignContent: 'center',\n display: 'flex',\n justifyContent: 'center',\n color: '$icon-neutrals-subtle',\n\n '& svg, & img': {\n pointerEvents: 'none',\n },\n\n variants: {\n variant: {\n outline: {},\n subtle: {\n color: '$icon-neutrals',\n },\n },\n disabled: {\n true: {\n '& svg': {\n color: '$icon-neutrals-disabled',\n },\n },\n },\n },\n})\n\nexport type StyledIconSlotProps = ComponentPropsWithRef<typeof StyledIconSlot>\n","import { styled } from '@mirohq/design-system-stitches'\nimport { BaseButton } from '@mirohq/design-system-base-button'\nimport type { ComponentPropsWithRef } from 'react'\nimport { actionButtonStyles } from '@mirohq/design-system-base-text-field'\n\nexport const StyledActionButton = styled(BaseButton, {\n ...actionButtonStyles,\n order: 3,\n\n variants: {\n readOnlyAppearance: {\n true: {\n '& svg[data-icon-component], & img[data-icon-component]': {\n color: '$icon-neutrals-subtle',\n },\n },\n },\n disableAppearance: {\n true: {\n color: '$icon-neutrals-disabled',\n },\n },\n },\n})\n\nexport type StyledActionButtonProps = ComponentPropsWithRef<\n typeof StyledActionButton\n>\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\nimport { textFieldStyles } from '@mirohq/design-system-base-text-field'\n\nimport { StyledIconSlot } from './partials/icon-slot.styled'\nimport { StyledActionButton } from './partials/action-button.styled'\n\nexport const StyledValidityBox = styled(Primitive.div, {\n order: 3,\n display: 'flex',\n alignItems: 'center',\n padding: '6px',\n})\n\nexport const StyledBaseInput = styled('div', {\n position: 'relative',\n alignItems: 'center',\n display: 'inline-flex',\n height: 'max-content',\n ...textFieldStyles.variants.idle,\n\n variants: {\n variant: {\n outline: {},\n subtle: {},\n },\n hovered: {\n true: {},\n false: {},\n },\n active: {\n true: {},\n false: {},\n },\n focused: {\n true: {},\n false: {},\n },\n valid: {\n true: {},\n false: {},\n },\n readOnly: {\n true: textFieldStyles.variants.readOnly,\n false: {},\n },\n disabled: {\n true: textFieldStyles.variants.disabled,\n false: {},\n },\n ariaDisabled: {\n true: textFieldStyles.variants.disabled,\n false: {},\n },\n size: {\n medium: {\n fontSize: '$175',\n height: '$8',\n padding: '0 $100 ',\n [`& ${StyledIconSlot}`]: {\n paddingRight: '$50',\n },\n [`& ${StyledActionButton}, & ${StyledValidityBox}`]: {\n marginLeft: '$50',\n },\n [`& ${StyledValidityBox}`]: {\n paddingRight: '6px',\n },\n },\n large: {\n height: '$10',\n padding: '0 $100 ',\n [`& ${StyledIconSlot}`]: {\n paddingRight: '$50',\n },\n [`& ${StyledActionButton}, & ${StyledValidityBox}`]: {\n marginLeft: '$50',\n },\n [`& ${StyledValidityBox}`]: {\n paddingRight: '6px',\n },\n },\n 'x-large': {\n height: '$12',\n padding: '0 $150',\n fontSize: '$200',\n lineHeight: '$500',\n [`& ${StyledIconSlot}`]: {\n paddingRight: '$100',\n },\n [`& ${StyledActionButton}, & ${StyledValidityBox}`]: {\n marginLeft: '$100',\n },\n [`& ${StyledValidityBox}`]: {\n paddingRight: '6px',\n },\n },\n },\n },\n compoundVariants: [\n /** Idle states */\n {\n valid: false,\n focused: false,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: textFieldStyles.variants.invalid.idle,\n },\n {\n valid: true,\n focused: false,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: textFieldStyles.variants.valid.idle,\n },\n {\n variant: 'subtle',\n valid: undefined,\n hovered: false,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: {\n backgroundColor: '$background-neutrals-subtle',\n borderColor: 'transparent',\n },\n },\n /** Active */\n {\n active: true,\n css: textFieldStyles.variants.active,\n },\n {\n active: true,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: textFieldStyles.variants.active,\n },\n\n /** Focus States */\n {\n focused: true,\n css: textFieldStyles.variants.focused,\n },\n {\n focused: true,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: textFieldStyles.variants.focused,\n },\n\n /** Hover states */\n {\n hovered: true,\n disabled: false,\n ariaDisabled: false,\n readOnly: false,\n css: textFieldStyles.variants.hovered,\n },\n {\n hovered: true,\n focused: false,\n valid: false,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: textFieldStyles.variants.invalid.hovered,\n },\n {\n hovered: true,\n focused: false,\n valid: true,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: textFieldStyles.variants.valid.hovered,\n },\n {\n variant: 'subtle',\n valid: undefined,\n hovered: true,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: {\n backgroundColor: '$background-neutrals-subtle-hover',\n },\n },\n ],\n defaultVariants: {\n size: 'large',\n },\n})\n\nexport type StyledBaseInputProps = ComponentPropsWithRef<typeof StyledBaseInput>\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\nimport type { ComponentPropsWithRef } from 'react'\nimport { textFieldStyles } from '@mirohq/design-system-base-text-field'\n\nconst disabledAndReadonlySelectors =\n ':read-only, :disabled, [aria-disabled=\"true\"], [data-disabled]'\n\nexport const StyledInput = styled(Primitive.input, {\n all: 'unset',\n background: 'transparent',\n color: '$text-neutrals',\n width: '100%',\n borderRadius: '$50',\n order: 2,\n padding: '0 $50',\n height: '100%',\n\n [`&:not(${disabledAndReadonlySelectors})::placeholder`]:\n textFieldStyles.base.placeholder,\n\n '&:read-only': {\n color: textFieldStyles.variants.readOnly.color,\n },\n\n '&:disabled, &[aria-disabled=true], &[data-disabled]':\n textFieldStyles.base.disabled,\n})\n\nexport type StyledInputProps = ComponentPropsWithRef<typeof StyledInput>\n","import React, { createContext, useContext, useState, useRef } from 'react'\nimport { booleanify } from '@mirohq/design-system-utils'\nimport type { FormElementProps } from '@mirohq/design-system-base-form'\n\ninterface InputProps extends FormElementProps {\n onChange?: React.ChangeEventHandler<HTMLInputElement>\n variant?: 'outline' | 'subtle'\n}\n\ninterface InputContextProps extends InputProps {\n focused: boolean\n setFocused: React.Dispatch<React.SetStateAction<boolean>>\n hovered: boolean\n setHovered: React.Dispatch<React.SetStateAction<boolean>>\n active: boolean\n setActive: React.Dispatch<React.SetStateAction<boolean>>\n hasIconSlot: boolean\n setHasIconSlot: React.Dispatch<React.SetStateAction<boolean>>\n actionButtonRef: React.RefObject<HTMLAnchorElement | HTMLButtonElement>\n inputRef: React.RefObject<HTMLInputElement>\n editable: boolean\n}\n\nexport interface InputProviderProps extends InputProps {\n children?: React.ReactNode\n}\n\nconst InputContext = createContext<InputContextProps>({} as any)\n\nexport const InputProvider = ({\n children,\n disabled,\n 'aria-disabled': ariaDisabled,\n readOnly,\n required,\n valid,\n ...restProps\n}: InputProviderProps): JSX.Element => {\n const actionButtonRef = useRef<HTMLAnchorElement | HTMLButtonElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n const [focused, setFocused] = useState(false)\n const [hovered, setHovered] = useState(false)\n const [active, setActive] = useState(false)\n const [hasIconSlot, setHasIconSlot] = useState(false)\n const editable =\n !booleanify(disabled) && !booleanify(ariaDisabled) && !booleanify(readOnly)\n\n return (\n <InputContext.Provider\n value={{\n ...restProps,\n setFocused,\n setHovered,\n setActive,\n setHasIconSlot,\n hasIconSlot,\n active,\n hovered,\n focused,\n disabled,\n 'aria-disabled': ariaDisabled,\n readOnly,\n editable,\n inputRef,\n actionButtonRef,\n required,\n valid,\n }}\n >\n {children}\n </InputContext.Provider>\n )\n}\n\nexport const useInputContext = (): InputContextProps => useContext(InputContext)\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { mergeRefs } from '@mirohq/design-system-utils'\nimport { useAriaDisabled } from '@mirohq/design-system-use-aria-disabled'\n\nimport { StyledInput } from './input.styled'\nimport type { StyledInputProps } from './input.styled'\nimport { useInputContext } from '../hooks/use-input-context'\n\nexport type InputProps = Omit<\n StyledInputProps,\n // these props should be set in the root\n 'aria-disabled' | 'disabled' | 'readOnly' | 'required' | 'onChange'\n>\n\nexport const Input = React.forwardRef<\n ElementRef<typeof StyledInput>,\n InputProps\n>(\n (\n {\n id,\n 'aria-describedby': ariaDescribedBy,\n 'aria-invalid': ariaInvalid,\n ...restProps\n },\n forwardRef\n ) => {\n const {\n 'aria-disabled': ariaDisabled,\n disabled,\n inputRef,\n required,\n readOnly,\n onChange,\n } = useInputContext()\n\n const elementProps = useAriaDisabled({\n ...restProps,\n ariaDisabled,\n })\n\n return (\n <StyledInput\n {...elementProps}\n id={id}\n readOnly={readOnly}\n aria-describedby={ariaDescribedBy}\n aria-invalid={ariaInvalid}\n disabled={disabled === true || undefined}\n required={required === true || undefined}\n onChange={onChange}\n ref={mergeRefs([inputRef, forwardRef])}\n />\n )\n }\n)\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { mergeRefs, booleanify } from '@mirohq/design-system-utils'\nimport { Tooltip } from '@mirohq/design-system-tooltip'\n\nimport { StyledActionButton } from './action-button.styled'\nimport type { StyledActionButtonProps } from './action-button.styled'\nimport { useInputContext } from '../hooks/use-input-context'\n\nexport type ActionButtonProps = StyledActionButtonProps &\n (\n | {\n label: string\n 'aria-label'?: string\n }\n // force aria-label if label is not present\n | {\n label?: never\n 'aria-label': string\n }\n )\n\nexport const ActionButton = React.forwardRef<\n ElementRef<typeof StyledActionButton>,\n ActionButtonProps\n>(({ 'aria-label': ariaLabel, label, children, ...restProps }, forwardRef) => {\n const {\n valid,\n hovered,\n editable,\n 'aria-disabled': ariaDisabled,\n disabled,\n readOnly,\n actionButtonRef,\n } = useInputContext()\n\n const showInputSlot = valid === undefined || booleanify(hovered)\n\n const hasPressEvent = Object.keys(restProps).some(key =>\n key.startsWith('onPress')\n )\n const customDisabled = restProps.disabled\n\n const actionButton = (\n <StyledActionButton\n type='button'\n {...restProps}\n aria-label={ariaLabel ?? label}\n disabled={hasPressEvent ? customDisabled : customDisabled ?? !editable}\n disableAppearance={\n hasPressEvent\n ? !booleanify(readOnly) && customDisabled\n : booleanify(disabled ?? ariaDisabled)\n }\n readOnlyAppearance={readOnly}\n ref={mergeRefs([forwardRef, actionButtonRef])}\n >\n {children}\n </StyledActionButton>\n )\n\n if (!showInputSlot) return <></>\n\n if (\n (label === undefined || label === '') &&\n ariaLabel !== undefined &&\n ariaLabel !== ''\n ) {\n return actionButton\n }\n\n return (\n <Tooltip>\n <Tooltip.Trigger asChild>{actionButton}</Tooltip.Trigger>\n <Tooltip.Content>{label}</Tooltip.Content>\n </Tooltip>\n )\n})\n","import React from 'react'\nimport { addPropsToChildren, booleanify } from '@mirohq/design-system-utils'\nimport { isIconComponent } from '@mirohq/design-system-base-icon'\nimport type { ElementRef } from 'react'\nimport { useLayoutEffect } from '@mirohq/design-system-use-layout-effect'\n\nimport { StyledIconSlot } from './icon-slot.styled'\nimport { useInputContext } from '../hooks/use-input-context'\nimport type { StyledIconSlotProps } from './icon-slot.styled'\n\nexport interface IconSlotProps extends Omit<StyledIconSlotProps, 'variant'> {}\n\nexport const IconSlot = React.forwardRef<\n ElementRef<typeof StyledIconSlot>,\n StyledIconSlotProps\n>(({ children, ...restProps }, forwardRef) => {\n const {\n 'aria-disabled': ariaDisabled,\n disabled,\n setHasIconSlot,\n variant,\n } = useInputContext()\n const formattedChildren = addPropsToChildren(children, isIconComponent, {\n size: 'small',\n weight: 'thin',\n })\n\n useLayoutEffect(() => {\n setHasIconSlot(true)\n return () => setHasIconSlot(false)\n }, [setHasIconSlot])\n\n return (\n <StyledIconSlot\n {...restProps}\n variant={variant}\n disabled={booleanify(disabled ?? ariaDisabled)}\n ref={forwardRef}\n >\n {formattedChildren}\n </StyledIconSlot>\n )\n})\n\nIconSlot.displayName = 'IconSlot'\n","import React, { useRef, useMemo } from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\nimport {\n booleanify,\n booleanishAttrValue,\n mergeRefs,\n} from '@mirohq/design-system-utils'\nimport { usePress } from '@mirohq/design-system-use-press'\nimport { useHover } from '@react-aria/interactions'\nimport { mergeProps } from '@react-aria/utils'\n\nimport type { StyledBaseInputProps } from './base-input.styled'\nimport { StyledBaseInput } from './base-input.styled'\nimport { Input } from './partials/input'\nimport type { InputProviderProps } from './hooks/use-input-context'\nimport { InputProvider, useInputContext } from './hooks/use-input-context'\nimport { ActionButton } from './partials/action-button'\nimport { IconSlot } from './partials/icon-slot'\n\ntype BaseInputRootProps = Omit<\n StyledBaseInputProps,\n // these props come from useInputContext, we don't pass it to BaseInput directly\n | 'hovered'\n | 'focused'\n | 'valid'\n | 'readOnly'\n | 'disabled'\n | 'ariaDisabled'\n // these shouldn't be applied to div\n | 'value'\n | 'defaultValue'\n | 'placeholder'\n>\n\nconst Root = React.forwardRef<\n ElementRef<typeof StyledBaseInput>,\n BaseInputRootProps\n>(({ children, size, ...restProps }, forwardRef) => {\n const ref = useRef<HTMLDivElement>(null)\n const isPointerDownRef = useRef(false)\n\n const {\n valid,\n 'aria-disabled': ariaDisabled,\n disabled,\n readOnly,\n focused,\n setHovered,\n inputRef,\n actionButtonRef,\n setFocused,\n setActive,\n active,\n variant,\n } = useInputContext()\n const { hoverProps, isHovered: hovered } = useHover({\n onHoverChange: setHovered,\n })\n\n const { pressProps } = usePress({\n onPressStart: e => {\n const { target } = e.originalEvent as PointerEvent\n\n const shouldPrevent =\n document.activeElement === inputRef.current &&\n target !== inputRef.current // to not stop text selection\n\n // to not lose focus on container click\n if (shouldPrevent) {\n e.originalEvent.preventDefault()\n }\n },\n onPressEnd: e => {\n const { target } = e.originalEvent as PointerEvent\n\n const isActionButton =\n target === actionButtonRef.current ||\n (actionButtonRef.current?.contains(target as Node) ?? false)\n\n const shouldFocusInput =\n !isActionButton && !booleanify(disabled) && !booleanify(focused)\n\n if (shouldFocusInput) {\n inputRef.current?.focus()\n // Don't set focused here, let the focus handler decide based on pointer state\n }\n },\n preventFocusOnPress: 'auto',\n })\n\n const onPointerDownHandler = React.useCallback(() => {\n // Track that pointer was used to interact with the input\n isPointerDownRef.current = true\n }, [])\n\n const onFocusHandler = React.useCallback(\n (e: React.FocusEvent<HTMLDivElement>) => {\n if (!isPointerDownRef.current && e.target === inputRef.current) {\n setFocused(true)\n }\n\n setActive(true)\n },\n [setActive, setFocused, inputRef]\n )\n\n const onBlurHandler = React.useCallback(() => {\n isPointerDownRef.current = false\n setFocused(false)\n setActive(false)\n }, [setActive, setFocused])\n\n const elementProps = useMemo(\n () =>\n mergeProps(\n restProps,\n {\n onFocus: onFocusHandler,\n onBlur: onBlurHandler,\n onPointerDown: onPointerDownHandler,\n },\n hoverProps,\n pressProps\n ),\n [\n restProps,\n hoverProps,\n pressProps,\n onFocusHandler,\n onBlurHandler,\n onPointerDownHandler,\n ]\n )\n\n return (\n <StyledBaseInput\n {...elementProps}\n data-invalid={booleanishAttrValue(valid === false)}\n data-valid={booleanishAttrValue(valid === true)}\n data-form-element='input'\n ref={mergeRefs([ref, forwardRef])}\n size={size}\n variant={variant}\n active={active}\n hovered={hovered}\n focused={focused}\n valid={valid}\n disabled={booleanify(disabled)}\n ariaDisabled={booleanify(ariaDisabled)}\n readOnly={booleanify(readOnly)}\n data-testid={\n process.env.NODE_ENV === 'test' ? 'input-container' : undefined\n }\n >\n {children}\n </StyledBaseInput>\n )\n})\n\nexport type BaseInputProps = BaseInputRootProps & InputProviderProps\n\nexport const BaseInput = React.forwardRef<\n ElementRef<typeof StyledBaseInput>,\n BaseInputProps\n>(\n (\n {\n 'aria-disabled': ariaDisabled,\n disabled,\n valid,\n readOnly,\n required,\n onChange,\n variant,\n ...restProps\n },\n forwardRef\n ) => (\n <InputProvider\n valid={valid}\n disabled={disabled}\n aria-disabled={ariaDisabled}\n readOnly={readOnly}\n required={required}\n onChange={onChange}\n variant={variant}\n >\n <Root {...restProps} ref={forwardRef} />\n </InputProvider>\n )\n) as ForwardRefExoticComponent<BaseInputProps> & Partials\n\n// Partials\n// -----------------------------------------------------------------------------\nexport interface Partials {\n Input: typeof Input\n ActionButton: typeof ActionButton\n IconSlot: typeof IconSlot\n}\n\nBaseInput.Input = Input\nBaseInput.ActionButton = ActionButton\nBaseInput.IconSlot = IconSlot\n"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -9,9 +9,10 @@ import * as packages_components_internal_base_button_src_base_button from 'packa
|
|
|
9
9
|
import * as _mirohq_design_system_hooks_use_press from '@mirohq/design-system-hooks/use-press';
|
|
10
10
|
import * as _mirohq_design_system_components_primitive from '@mirohq/design-system-components/primitive';
|
|
11
11
|
|
|
12
|
-
declare const StyledBaseInput: React$1.ForwardRefExoticComponent<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<"div">, "size" | "disabled" | "readOnly" | "ariaDisabled" | "variant" | "hovered" | "focused" | "valid"> & _stitches_react_types_styled_component.TransformProps<{
|
|
12
|
+
declare const StyledBaseInput: React$1.ForwardRefExoticComponent<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<"div">, "size" | "disabled" | "readOnly" | "ariaDisabled" | "variant" | "hovered" | "active" | "focused" | "valid"> & _stitches_react_types_styled_component.TransformProps<{
|
|
13
13
|
variant?: "outline" | "subtle" | undefined;
|
|
14
14
|
hovered?: boolean | "false" | "true" | undefined;
|
|
15
|
+
active?: boolean | "false" | "true" | undefined;
|
|
15
16
|
focused?: boolean | "false" | "true" | undefined;
|
|
16
17
|
valid?: boolean | "false" | "true" | undefined;
|
|
17
18
|
readOnly?: boolean | "false" | "true" | undefined;
|
|
@@ -21,6 +22,7 @@ declare const StyledBaseInput: React$1.ForwardRefExoticComponent<Omit<Omit<_miro
|
|
|
21
22
|
}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & React$1.RefAttributes<HTMLDivElement>> & _mirohq_design_system_stitches.StitchesInternals<"div", {
|
|
22
23
|
variant?: "outline" | "subtle" | undefined;
|
|
23
24
|
hovered?: boolean | "false" | "true" | undefined;
|
|
25
|
+
active?: boolean | "false" | "true" | undefined;
|
|
24
26
|
focused?: boolean | "false" | "true" | undefined;
|
|
25
27
|
valid?: boolean | "false" | "true" | undefined;
|
|
26
28
|
readOnly?: boolean | "false" | "true" | undefined;
|
|
@@ -45,6 +47,8 @@ interface InputContextProps extends InputProps$1 {
|
|
|
45
47
|
setFocused: React__default.Dispatch<React__default.SetStateAction<boolean>>;
|
|
46
48
|
hovered: boolean;
|
|
47
49
|
setHovered: React__default.Dispatch<React__default.SetStateAction<boolean>>;
|
|
50
|
+
active: boolean;
|
|
51
|
+
setActive: React__default.Dispatch<React__default.SetStateAction<boolean>>;
|
|
48
52
|
hasIconSlot: boolean;
|
|
49
53
|
setHasIconSlot: React__default.Dispatch<React__default.SetStateAction<boolean>>;
|
|
50
54
|
actionButtonRef: React__default.RefObject<HTMLAnchorElement | HTMLButtonElement>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mirohq/design-system-base-input",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "Miro",
|
|
6
6
|
"source": "src/index.ts",
|
|
@@ -27,16 +27,16 @@
|
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@react-aria/interactions": "^3.13.0",
|
|
30
|
-
"@react-aria/utils": "^3.
|
|
30
|
+
"@react-aria/utils": "^3.31.0",
|
|
31
31
|
"@mirohq/design-system-base-button": "^1.1.1",
|
|
32
|
-
"@mirohq/design-system-base-form": "^1.1.
|
|
33
|
-
"@mirohq/design-system-base-text-field": "^1.1.1",
|
|
32
|
+
"@mirohq/design-system-base-form": "^1.1.2",
|
|
34
33
|
"@mirohq/design-system-base-icon": "^1.1.0",
|
|
34
|
+
"@mirohq/design-system-base-text-field": "^1.2.0",
|
|
35
35
|
"@mirohq/design-system-primitive": "^2.1.0",
|
|
36
36
|
"@mirohq/design-system-stitches": "^3.1.1",
|
|
37
37
|
"@mirohq/design-system-tooltip": "^4.1.1",
|
|
38
|
-
"@mirohq/design-system-use-layout-effect": "^1.1.0",
|
|
39
38
|
"@mirohq/design-system-use-aria-disabled": "^1.1.0",
|
|
39
|
+
"@mirohq/design-system-use-layout-effect": "^1.1.0",
|
|
40
40
|
"@mirohq/design-system-use-press": "^1.1.0",
|
|
41
41
|
"@mirohq/design-system-utils": "^1.2.0"
|
|
42
42
|
},
|