@mirohq/design-system-base-input 1.3.31 → 1.3.33
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 +26 -3
- package/dist/main.js.map +1 -1
- package/dist/module.js +26 -3
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +4 -0
- package/package.json +5 -5
package/dist/main.js
CHANGED
|
@@ -74,7 +74,10 @@ const StyledBaseInput = designSystemStitches.styled("div", {
|
|
|
74
74
|
...designSystemBaseTextField.textFieldStyles.variants.idle,
|
|
75
75
|
variants: {
|
|
76
76
|
variant: {
|
|
77
|
-
outline: {
|
|
77
|
+
outline: {
|
|
78
|
+
backgroundColor: "$input-background-default",
|
|
79
|
+
borderColor: "$input-border-default"
|
|
80
|
+
},
|
|
78
81
|
subtle: {}
|
|
79
82
|
},
|
|
80
83
|
hovered: {
|
|
@@ -176,7 +179,7 @@ const StyledBaseInput = designSystemStitches.styled("div", {
|
|
|
176
179
|
disabled: false,
|
|
177
180
|
ariaDisabled: false,
|
|
178
181
|
css: {
|
|
179
|
-
|
|
182
|
+
background: "$input-background-alt-default",
|
|
180
183
|
borderColor: "transparent"
|
|
181
184
|
}
|
|
182
185
|
},
|
|
@@ -192,6 +195,16 @@ const StyledBaseInput = designSystemStitches.styled("div", {
|
|
|
192
195
|
ariaDisabled: false,
|
|
193
196
|
css: designSystemBaseTextField.textFieldStyles.variants.active
|
|
194
197
|
},
|
|
198
|
+
{
|
|
199
|
+
variant: "subtle",
|
|
200
|
+
active: true,
|
|
201
|
+
readOnly: false,
|
|
202
|
+
disabled: false,
|
|
203
|
+
ariaDisabled: false,
|
|
204
|
+
css: {
|
|
205
|
+
"&&": { background: "$input-background-alt-focused" }
|
|
206
|
+
}
|
|
207
|
+
},
|
|
195
208
|
/** Focus States */
|
|
196
209
|
{
|
|
197
210
|
focused: true,
|
|
@@ -204,6 +217,16 @@ const StyledBaseInput = designSystemStitches.styled("div", {
|
|
|
204
217
|
ariaDisabled: false,
|
|
205
218
|
css: designSystemBaseTextField.textFieldStyles.variants.focused
|
|
206
219
|
},
|
|
220
|
+
{
|
|
221
|
+
variant: "subtle",
|
|
222
|
+
focused: true,
|
|
223
|
+
readOnly: false,
|
|
224
|
+
disabled: false,
|
|
225
|
+
ariaDisabled: false,
|
|
226
|
+
css: {
|
|
227
|
+
"&&": { background: "$input-background-alt-focused" }
|
|
228
|
+
}
|
|
229
|
+
},
|
|
207
230
|
/** Hover states */
|
|
208
231
|
{
|
|
209
232
|
hovered: true,
|
|
@@ -238,7 +261,7 @@ const StyledBaseInput = designSystemStitches.styled("div", {
|
|
|
238
261
|
disabled: false,
|
|
239
262
|
ariaDisabled: false,
|
|
240
263
|
css: {
|
|
241
|
-
|
|
264
|
+
background: "$input-background-alt-hover"
|
|
242
265
|
}
|
|
243
266
|
}
|
|
244
267
|
],
|
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-secondary',\n\n '& svg, & img': {\n pointerEvents: 'none',\n },\n\n variants: {\n variant: {\n outline: {},\n subtle: {\n color: '$icon-default',\n },\n },\n disabled: {\n true: {\n '& svg': {\n color: '$icon-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-secondary',\n },\n },\n },\n disableAppearance: {\n true: {\n color: '$icon-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: '$input-background-alt-default',\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: '$input-background-alt-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-default',\n width: '100%',\n borderRadius: '$input',\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 onPress: e => {\n // For pointer events, only focus on completed press (not drag-away)\n if (e.pointerType === 'keyboard') return\n\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 }\n },\n onPressEnd: e => {\n // For keyboard events, restore focus when child elements handle presses\n // (e.g., chip removal in combobox)\n if (e.pointerType !== 'keyboard') return\n\n const shouldFocusInput = !booleanify(disabled) && !booleanify(focused)\n\n if (shouldFocusInput) {\n inputRef.current?.focus()\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","useAriaDisabled","mergeRefs","Fragment","Tooltip","addPropsToChildren","isIconComponent","useLayoutEffect","useHover","usePress","useMemo","mergeProps","booleanishAttrValue"],"mappings":";;;;;;;;;;;;;;;;;AAIO,MAAM,cAAA,GAAiBA,2BAAA,CAAOC,+BAAA,CAAU,GAAA,EAAK;AAAA,EAClD,KAAA,EAAO,CAAA;AAAA,EACP,YAAA,EAAc,QAAA;AAAA,EACd,OAAA,EAAS,MAAA;AAAA,EACT,cAAA,EAAgB,QAAA;AAAA,EAChB,KAAA,EAAO,iBAAA;AAAA,EAEP,cAAA,EAAgB;AAAA,IACd,aAAA,EAAe;AAAA,GACjB;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS;AAAA,MACP,SAAS,EAAC;AAAA,MACV,MAAA,EAAQ;AAAA,QACN,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,OAAA,EAAS;AAAA,UACP,KAAA,EAAO;AAAA;AACT;AACF;AACF;AAEJ,CAAC,CAAA;;ACzBM,MAAM,kBAAA,GAAqBD,4BAAOE,iCAAA,EAAY;AAAA,EACnD,GAAGC,4CAAA;AAAA,EACH,KAAA,EAAO,CAAA;AAAA,EAEP,QAAA,EAAU;AAAA,IACR,kBAAA,EAAoB;AAAA,MAClB,IAAA,EAAM;AAAA,QACJ,wDAAA,EAA0D;AAAA,UACxD,KAAA,EAAO;AAAA;AACT;AACF,KACF;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,IAAA,EAAM;AAAA,QACJ,KAAA,EAAO;AAAA;AACT;AACF;AAEJ,CAAC,CAAA;;ACfM,MAAM,iBAAA,GAAoBH,2BAAA,CAAOC,+BAAA,CAAU,GAAA,EAAK;AAAA,EACrD,KAAA,EAAO,CAAA;AAAA,EACP,OAAA,EAAS,MAAA;AAAA,EACT,UAAA,EAAY,QAAA;AAAA,EACZ,OAAA,EAAS;AACX,CAAC,CAAA;AAEM,MAAM,eAAA,GAAkBD,4BAAO,KAAA,EAAO;AAAA,EAC3C,QAAA,EAAU,UAAA;AAAA,EACV,UAAA,EAAY,QAAA;AAAA,EACZ,OAAA,EAAS,aAAA;AAAA,EACT,MAAA,EAAQ,aAAA;AAAA,EACR,GAAGI,0CAAgB,QAAA,CAAS,IAAA;AAAA,EAE5B,QAAA,EAAU;AAAA,IACR,OAAA,EAAS;AAAA,MACP,SAAS,EAAC;AAAA,MACV,QAAQ;AAAC,KACX;AAAA,IACA,OAAA,EAAS;AAAA,MACP,MAAM,EAAC;AAAA,MACP,OAAO;AAAC,KACV;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,MAAM,EAAC;AAAA,MACP,OAAO;AAAC,KACV;AAAA,IACA,OAAA,EAAS;AAAA,MACP,MAAM,EAAC;AAAA,MACP,OAAO;AAAC,KACV;AAAA,IACA,KAAA,EAAO;AAAA,MACL,MAAM,EAAC;AAAA,MACP,OAAO;AAAC,KACV;AAAA,IACA,QAAA,EAAU;AAAA,MACR,IAAA,EAAMA,0CAAgB,QAAA,CAAS,QAAA;AAAA,MAC/B,OAAO;AAAC,KACV;AAAA,IACA,QAAA,EAAU;AAAA,MACR,IAAA,EAAMA,0CAAgB,QAAA,CAAS,QAAA;AAAA,MAC/B,OAAO;AAAC,KACV;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,IAAA,EAAMA,0CAAgB,QAAA,CAAS,QAAA;AAAA,MAC/B,OAAO;AAAC,KACV;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,MAAA,EAAQ;AAAA,QACN,QAAA,EAAU,MAAA;AAAA,QACV,MAAA,EAAQ,IAAA;AAAA,QACR,OAAA,EAAS,SAAA;AAAA,QACT,CAAC,IAAA,CAAK,MAAA,CAAA,cAAA,CAAgB,GAAG;AAAA,UACvB,YAAA,EAAc;AAAA,SAChB;AAAA,QACA,CAAC,IAAA,CAAK,MAAA,CAAA,kBAAA,EAAkB,MAAA,CAAA,CAAO,yBAAmB,GAAG;AAAA,UACnD,UAAA,EAAY;AAAA,SACd;AAAA,QACA,CAAC,IAAA,CAAK,MAAA,CAAA,iBAAA,CAAmB,GAAG;AAAA,UAC1B,YAAA,EAAc;AAAA;AAChB,OACF;AAAA,MACA,KAAA,EAAO;AAAA,QACL,MAAA,EAAQ,KAAA;AAAA,QACR,OAAA,EAAS,SAAA;AAAA,QACT,CAAC,IAAA,CAAK,MAAA,CAAA,cAAA,CAAgB,GAAG;AAAA,UACvB,YAAA,EAAc;AAAA,SAChB;AAAA,QACA,CAAC,IAAA,CAAK,MAAA,CAAA,kBAAA,EAAkB,MAAA,CAAA,CAAO,yBAAmB,GAAG;AAAA,UACnD,UAAA,EAAY;AAAA,SACd;AAAA,QACA,CAAC,IAAA,CAAK,MAAA,CAAA,iBAAA,CAAmB,GAAG;AAAA,UAC1B,YAAA,EAAc;AAAA;AAChB,OACF;AAAA,MACA,SAAA,EAAW;AAAA,QACT,MAAA,EAAQ,KAAA;AAAA,QACR,OAAA,EAAS,QAAA;AAAA,QACT,QAAA,EAAU,MAAA;AAAA,QACV,UAAA,EAAY,MAAA;AAAA,QACZ,CAAC,IAAA,CAAK,MAAA,CAAA,cAAA,CAAgB,GAAG;AAAA,UACvB,YAAA,EAAc;AAAA,SAChB;AAAA,QACA,CAAC,IAAA,CAAK,MAAA,CAAA,kBAAA,EAAkB,MAAA,CAAA,CAAO,yBAAmB,GAAG;AAAA,UACnD,UAAA,EAAY;AAAA,SACd;AAAA,QACA,CAAC,IAAA,CAAK,MAAA,CAAA,iBAAA,CAAmB,GAAG;AAAA,UAC1B,YAAA,EAAc;AAAA;AAChB;AACF;AACF,GACF;AAAA,EACA,gBAAA,EAAkB;AAAA;AAAA,IAEhB;AAAA,MACE,KAAA,EAAO,KAAA;AAAA,MACP,OAAA,EAAS,KAAA;AAAA,MACT,QAAA,EAAU,KAAA;AAAA,MACV,QAAA,EAAU,KAAA;AAAA,MACV,YAAA,EAAc,KAAA;AAAA,MACd,GAAA,EAAKA,yCAAA,CAAgB,QAAA,CAAS,OAAA,CAAQ;AAAA,KACxC;AAAA,IACA;AAAA,MACE,KAAA,EAAO,IAAA;AAAA,MACP,OAAA,EAAS,KAAA;AAAA,MACT,QAAA,EAAU,KAAA;AAAA,MACV,QAAA,EAAU,KAAA;AAAA,MACV,YAAA,EAAc,KAAA;AAAA,MACd,GAAA,EAAKA,yCAAA,CAAgB,QAAA,CAAS,KAAA,CAAM;AAAA,KACtC;AAAA,IACA;AAAA,MACE,OAAA,EAAS,QAAA;AAAA,MACT,KAAA,EAAO,MAAA;AAAA,MACP,OAAA,EAAS,KAAA;AAAA,MACT,QAAA,EAAU,KAAA;AAAA,MACV,QAAA,EAAU,KAAA;AAAA,MACV,YAAA,EAAc,KAAA;AAAA,MACd,GAAA,EAAK;AAAA,QACH,eAAA,EAAiB,+BAAA;AAAA,QACjB,WAAA,EAAa;AAAA;AACf,KACF;AAAA;AAAA,IAEA;AAAA,MACE,MAAA,EAAQ,IAAA;AAAA,MACR,GAAA,EAAKA,0CAAgB,QAAA,CAAS;AAAA,KAChC;AAAA,IACA;AAAA,MACE,MAAA,EAAQ,IAAA;AAAA,MACR,QAAA,EAAU,KAAA;AAAA,MACV,QAAA,EAAU,KAAA;AAAA,MACV,YAAA,EAAc,KAAA;AAAA,MACd,GAAA,EAAKA,0CAAgB,QAAA,CAAS;AAAA,KAChC;AAAA;AAAA,IAGA;AAAA,MACE,OAAA,EAAS,IAAA;AAAA,MACT,GAAA,EAAKA,0CAAgB,QAAA,CAAS;AAAA,KAChC;AAAA,IACA;AAAA,MACE,OAAA,EAAS,IAAA;AAAA,MACT,QAAA,EAAU,KAAA;AAAA,MACV,QAAA,EAAU,KAAA;AAAA,MACV,YAAA,EAAc,KAAA;AAAA,MACd,GAAA,EAAKA,0CAAgB,QAAA,CAAS;AAAA,KAChC;AAAA;AAAA,IAGA;AAAA,MACE,OAAA,EAAS,IAAA;AAAA,MACT,QAAA,EAAU,KAAA;AAAA,MACV,YAAA,EAAc,KAAA;AAAA,MACd,QAAA,EAAU,KAAA;AAAA,MACV,GAAA,EAAKA,0CAAgB,QAAA,CAAS;AAAA,KAChC;AAAA,IACA;AAAA,MACE,OAAA,EAAS,IAAA;AAAA,MACT,OAAA,EAAS,KAAA;AAAA,MACT,KAAA,EAAO,KAAA;AAAA,MACP,QAAA,EAAU,KAAA;AAAA,MACV,QAAA,EAAU,KAAA;AAAA,MACV,YAAA,EAAc,KAAA;AAAA,MACd,GAAA,EAAKA,yCAAA,CAAgB,QAAA,CAAS,OAAA,CAAQ;AAAA,KACxC;AAAA,IACA;AAAA,MACE,OAAA,EAAS,IAAA;AAAA,MACT,OAAA,EAAS,KAAA;AAAA,MACT,KAAA,EAAO,IAAA;AAAA,MACP,QAAA,EAAU,KAAA;AAAA,MACV,QAAA,EAAU,KAAA;AAAA,MACV,YAAA,EAAc,KAAA;AAAA,MACd,GAAA,EAAKA,yCAAA,CAAgB,QAAA,CAAS,KAAA,CAAM;AAAA,KACtC;AAAA,IACA;AAAA,MACE,OAAA,EAAS,QAAA;AAAA,MACT,KAAA,EAAO,MAAA;AAAA,MACP,OAAA,EAAS,IAAA;AAAA,MACT,QAAA,EAAU,KAAA;AAAA,MACV,QAAA,EAAU,KAAA;AAAA,MACV,YAAA,EAAc,KAAA;AAAA,MACd,GAAA,EAAK;AAAA,QACH,eAAA,EAAiB;AAAA;AACnB;AACF,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAC,CAAA;;AChMD,MAAM,4BAAA,GACJ,gEAAA;AAEK,MAAM,WAAA,GAAcJ,2BAAA,CAAOC,+BAAA,CAAU,KAAA,EAAO;AAAA,EACjD,GAAA,EAAK,OAAA;AAAA,EACL,UAAA,EAAY,aAAA;AAAA,EACZ,KAAA,EAAO,eAAA;AAAA,EACP,KAAA,EAAO,MAAA;AAAA,EACP,YAAA,EAAc,QAAA;AAAA,EACd,KAAA,EAAO,CAAA;AAAA,EACP,OAAA,EAAS,OAAA;AAAA,EACT,MAAA,EAAQ,MAAA;AAAA,EAER,CAAC,QAAA,CAAS,MAAA,CAAA,4BAAA,EAA4B,gBAAA,CAAgB,GACpDG,0CAAgB,IAAA,CAAK,WAAA;AAAA,EAEvB,aAAA,EAAe;AAAA,IACb,KAAA,EAAOA,yCAAA,CAAgB,QAAA,CAAS,QAAA,CAAS;AAAA,GAC3C;AAAA,EAEA,qDAAA,EACEA,0CAAgB,IAAA,CAAK;AACzB,CAAC,CAAA;;ACAD,MAAM,YAAA,GAAeC,mBAAA,CAAiC,EAAS,CAAA;AAExD,MAAM,gBAAgB,CAAC;AAAA,EAC5B,QAAA;AAAA,EACA,QAAA;AAAA,EACA,eAAA,EAAiB,YAAA;AAAA,EACjB,QAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAuC;AACrC,EAAA,MAAM,eAAA,GAAkBC,aAA8C,IAAI,CAAA;AAC1E,EAAA,MAAM,QAAA,GAAWA,aAAyB,IAAI,CAAA;AAC9C,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIC,eAAS,KAAK,CAAA;AAC5C,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIA,eAAS,KAAK,CAAA;AAC5C,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAIA,eAAS,KAAK,CAAA;AAC1C,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAIA,eAAS,KAAK,CAAA;AACpD,EAAA,MAAM,QAAA,GACJ,CAACC,4BAAA,CAAW,QAAQ,CAAA,IAAK,CAACA,4BAAA,CAAW,YAAY,CAAA,IAAK,CAACA,4BAAA,CAAW,QAAQ,CAAA;AAE5E,EAAA,uBACEC,cAAA;AAAA,IAAC,YAAA,CAAa,QAAA;AAAA,IAAb;AAAA,MACC,KAAA,EAAO;AAAA,QACL,GAAG,SAAA;AAAA,QACH,UAAA;AAAA,QACA,UAAA;AAAA,QACA,SAAA;AAAA,QACA,cAAA;AAAA,QACA,WAAA;AAAA,QACA,MAAA;AAAA,QACA,OAAA;AAAA,QACA,OAAA;AAAA,QACA,QAAA;AAAA,QACA,eAAA,EAAiB,YAAA;AAAA,QACjB,QAAA;AAAA,QACA,QAAA;AAAA,QACA,QAAA;AAAA,QACA,eAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ,CAAA;AAEO,MAAM,eAAA,GAAkB,MAAyBC,gBAAA,CAAW,YAAY;;AC3DxE,MAAM,QAAQ,KAAA,CAAM,UAAA;AAAA,EAIzB,CACE;AAAA,IACE,EAAA;AAAA,IACA,kBAAA,EAAoB,eAAA;AAAA,IACpB,cAAA,EAAgB,WAAA;AAAA,IAChB,GAAG;AAAA,KAEL,UAAA,KACG;AACH,IAAA,MAAM;AAAA,MACJ,eAAA,EAAiB,YAAA;AAAA,MACjB,QAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,MACA;AAAA,QACE,eAAA,EAAgB;AAEpB,IAAA,MAAM,eAAeC,2CAAA,CAAgB;AAAA,MACnC,GAAG,SAAA;AAAA,MACH;AAAA,KACD,CAAA;AAED,IAAA,uBACEF,cAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACE,GAAG,YAAA;AAAA,QACJ,EAAA;AAAA,QACA,QAAA;AAAA,QACA,kBAAA,EAAkB,eAAA;AAAA,QAClB,cAAA,EAAc,WAAA;AAAA,QACd,QAAA,EAAU,aAAa,IAAA,IAAQ,MAAA;AAAA,QAC/B,QAAA,EAAU,aAAa,IAAA,IAAQ,MAAA;AAAA,QAC/B,QAAA;AAAA,QACA,GAAA,EAAKG,2BAAA,CAAU,CAAC,QAAA,EAAU,UAAU,CAAC;AAAA;AAAA,KACvC;AAAA,EAEJ;AACF,CAAA;;AClCO,MAAM,YAAA,GAAe,KAAA,CAAM,UAAA,CAGhC,CAAC,EAAE,YAAA,EAAc,SAAA,EAAW,KAAA,EAAO,QAAA,EAAU,GAAG,SAAA,EAAU,EAAG,UAAA,KAAe;AAC5E,EAAA,MAAM;AAAA,IACJ,KAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,eAAA,EAAiB,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,MACE,eAAA,EAAgB;AAEpB,EAAA,MAAM,aAAA,GAAgB,KAAA,KAAU,MAAA,IAAaJ,4BAAA,CAAW,OAAO,CAAA;AAE/D,EAAA,MAAM,aAAA,GAAgB,MAAA,CAAO,IAAA,CAAK,SAAS,CAAA,CAAE,IAAA;AAAA,IAAK,CAAA,GAAA,KAChD,GAAA,CAAI,UAAA,CAAW,SAAS;AAAA,GAC1B;AACA,EAAA,MAAM,iBAAiB,SAAA,CAAU,QAAA;AAEjC,EAAA,MAAM,YAAA,mBACJC,cAAA;AAAA,IAAC,kBAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,QAAA;AAAA,MACJ,GAAG,SAAA;AAAA,MACJ,cAAY,SAAA,IAAA,IAAA,GAAA,SAAA,GAAa,KAAA;AAAA,MACzB,QAAA,EAAU,aAAA,GAAgB,cAAA,GAAiB,cAAA,IAAA,IAAA,GAAA,cAAA,GAAkB,CAAC,QAAA;AAAA,MAC9D,iBAAA,EACE,gBACI,CAACD,4BAAA,CAAW,QAAQ,CAAA,IAAK,cAAA,GACzBA,4BAAA,CAAW,QAAA,IAAA,IAAA,GAAA,QAAA,GAAY,YAAY,CAAA;AAAA,MAEzC,kBAAA,EAAoB,QAAA;AAAA,MACpB,GAAA,EAAKI,2BAAA,CAAU,CAAC,UAAA,EAAY,eAAe,CAAC,CAAA;AAAA,MAE3C;AAAA;AAAA,GACH;AAGF,EAAA,IAAI,CAAC,aAAA,EAAe,uBAAOH,cAAA,CAAAI,mBAAA,EAAA,EAAE,CAAA;AAE7B,EAAA,IAAA,CACG,UAAU,MAAA,IAAa,KAAA,KAAU,OAClC,SAAA,KAAc,MAAA,IACd,cAAc,EAAA,EACd;AACA,IAAA,OAAO,YAAA;AAAA,EACT;AAEA,EAAA,uCACGC,2BAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAAL,cAAA,CAACK,2BAAA,CAAQ,OAAA,EAAR,EAAgB,OAAA,EAAO,MAAE,QAAA,EAAA,YAAA,EAAa,CAAA;AAAA,oBACvCL,cAAA,CAACK,2BAAA,CAAQ,OAAA,EAAR,EAAiB,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EAC1B,CAAA;AAEJ,CAAC,CAAA;;ACjEM,MAAM,QAAA,GAAW,MAAM,UAAA,CAG5B,CAAC,EAAE,QAAA,EAAU,GAAG,SAAA,EAAU,EAAG,UAAA,KAAe;AAC5C,EAAA,MAAM;AAAA,IACJ,eAAA,EAAiB,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,cAAA;AAAA,IACA;AAAA,MACE,eAAA,EAAgB;AACpB,EAAA,MAAM,iBAAA,GAAoBC,oCAAA,CAAmB,QAAA,EAAUC,oCAAA,EAAiB;AAAA,IACtE,IAAA,EAAM,OAAA;AAAA,IACN,MAAA,EAAQ;AAAA,GACT,CAAA;AAED,EAAAC,2CAAA,CAAgB,MAAM;AACpB,IAAA,cAAA,CAAe,IAAI,CAAA;AACnB,IAAA,OAAO,MAAM,eAAe,KAAK,CAAA;AAAA,EACnC,CAAA,EAAG,CAAC,cAAc,CAAC,CAAA;AAEnB,EAAA,uBACER,cAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACE,GAAG,SAAA;AAAA,MACJ,OAAA;AAAA,MACA,QAAA,EAAUD,4BAAA,CAAW,QAAA,IAAA,IAAA,GAAA,QAAA,GAAY,YAAY,CAAA;AAAA,MAC7C,GAAA,EAAK,UAAA;AAAA,MAEJ,QAAA,EAAA;AAAA;AAAA,GACH;AAEJ,CAAC,CAAA;AAED,QAAA,CAAS,WAAA,GAAc,UAAA;;ACVvB,MAAM,IAAA,GAAO,KAAA,CAAM,UAAA,CAGjB,CAAC,EAAE,UAAU,IAAA,EAAM,GAAG,SAAA,EAAU,EAAG,UAAA,KAAe;AAClD,EAAA,MAAM,GAAA,GAAMF,aAAuB,IAAI,CAAA;AACvC,EAAA,MAAM,gBAAA,GAAmBA,aAAO,KAAK,CAAA;AAErC,EAAA,MAAM;AAAA,IACJ,KAAA;AAAA,IACA,eAAA,EAAiB,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA,eAAA;AAAA,IACA,UAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA;AAAA,IACA;AAAA,MACE,eAAA,EAAgB;AACpB,EAAA,MAAM,EAAE,UAAA,EAAY,SAAA,EAAW,OAAA,KAAYY,qBAAA,CAAS;AAAA,IAClD,aAAA,EAAe;AAAA,GAChB,CAAA;AAED,EAAA,MAAM,EAAE,UAAA,EAAW,GAAIC,6BAAA,CAAS;AAAA,IAC9B,cAAc,CAAA,CAAA,KAAK;AACjB,MAAA,MAAM,EAAE,MAAA,EAAO,GAAI,CAAA,CAAE,aAAA;AAErB,MAAA,MAAM,gBACJ,QAAA,CAAS,aAAA,KAAkB,QAAA,CAAS,OAAA,IACpC,WAAW,QAAA,CAAS,OAAA;AAGtB,MAAA,IAAI,aAAA,EAAe;AACjB,QAAA,CAAA,CAAE,cAAc,cAAA,EAAe;AAAA,MACjC;AAAA,IACF,CAAA;AAAA,IACA,SAAS,CAAA,CAAA,KAAK;AAxElB,MAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA0EM,MAAA,IAAI,CAAA,CAAE,gBAAgB,UAAA,EAAY;AAElC,MAAA,MAAM,EAAE,MAAA,EAAO,GAAI,CAAA,CAAE,aAAA;AAErB,MAAA,MAAM,cAAA,GACJ,WAAW,eAAA,CAAgB,OAAA,KAAA,CAC1B,2BAAgB,OAAA,KAAhB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAyB,QAAA,CAAS,MAAA,CAAA,KAAlC,IAAA,GAAA,EAAA,GAAqD,KAAA,CAAA;AAExD,MAAA,MAAM,gBAAA,GACJ,CAAC,cAAA,IAAkB,CAACX,6BAAW,QAAQ,CAAA,IAAK,CAACA,4BAAA,CAAW,OAAO,CAAA;AAEjE,MAAA,IAAI,gBAAA,EAAkB;AACpB,QAAA,CAAA,EAAA,GAAA,QAAA,CAAS,YAAT,IAAA,GAAA,MAAA,GAAA,EAAA,CAAkB,KAAA,EAAA;AAAA,MACpB;AAAA,IACF,CAAA;AAAA,IACA,YAAY,CAAA,CAAA,KAAK;AAzFrB,MAAA,IAAA,EAAA;AA4FM,MAAA,IAAI,CAAA,CAAE,gBAAgB,UAAA,EAAY;AAElC,MAAA,MAAM,mBAAmB,CAACA,4BAAA,CAAW,QAAQ,CAAA,IAAK,CAACA,6BAAW,OAAO,CAAA;AAErE,MAAA,IAAI,gBAAA,EAAkB;AACpB,QAAA,CAAA,EAAA,GAAA,QAAA,CAAS,YAAT,IAAA,GAAA,MAAA,GAAA,EAAA,CAAkB,KAAA,EAAA;AAAA,MACpB;AAAA,IACF,CAAA;AAAA,IACA,mBAAA,EAAqB;AAAA,GACtB,CAAA;AAED,EAAA,MAAM,oBAAA,GAAuB,KAAA,CAAM,WAAA,CAAY,MAAM;AAEnD,IAAA,gBAAA,CAAiB,OAAA,GAAU,IAAA;AAAA,EAC7B,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,iBAAiB,KAAA,CAAM,WAAA;AAAA,IAC3B,CAAC,CAAA,KAAwC;AACvC,MAAA,IAAI,CAAC,gBAAA,CAAiB,OAAA,IAAW,CAAA,CAAE,MAAA,KAAW,SAAS,OAAA,EAAS;AAC9D,QAAA,UAAA,CAAW,IAAI,CAAA;AAAA,MACjB;AAEA,MAAA,SAAA,CAAU,IAAI,CAAA;AAAA,IAChB,CAAA;AAAA,IACA,CAAC,SAAA,EAAW,UAAA,EAAY,QAAQ;AAAA,GAClC;AAEA,EAAA,MAAM,aAAA,GAAgB,KAAA,CAAM,WAAA,CAAY,MAAM;AAC5C,IAAA,gBAAA,CAAiB,OAAA,GAAU,KAAA;AAC3B,IAAA,UAAA,CAAW,KAAK,CAAA;AAChB,IAAA,SAAA,CAAU,KAAK,CAAA;AAAA,EACjB,CAAA,EAAG,CAAC,SAAA,EAAW,UAAU,CAAC,CAAA;AAE1B,EAAA,MAAM,YAAA,GAAeY,aAAA;AAAA,IACnB,MACEC,gBAAA;AAAA,MACE,SAAA;AAAA,MACA;AAAA,QACE,OAAA,EAAS,cAAA;AAAA,QACT,MAAA,EAAQ,aAAA;AAAA,QACR,aAAA,EAAe;AAAA,OACjB;AAAA,MACA,UAAA;AAAA,MACA;AAAA,KACF;AAAA,IACF;AAAA,MACE,SAAA;AAAA,MACA,UAAA;AAAA,MACA,UAAA;AAAA,MACA,cAAA;AAAA,MACA,aAAA;AAAA,MACA;AAAA;AACF,GACF;AAEA,EAAA,uBACEZ,cAAA;AAAA,IAAC,eAAA;AAAA,IAAA;AAAA,MACE,GAAG,YAAA;AAAA,MACJ,cAAA,EAAca,qCAAA,CAAoB,KAAA,KAAU,KAAK,CAAA;AAAA,MACjD,YAAA,EAAYA,qCAAA,CAAoB,KAAA,KAAU,IAAI,CAAA;AAAA,MAC9C,mBAAA,EAAkB,OAAA;AAAA,MAClB,GAAA,EAAKV,2BAAA,CAAU,CAAC,GAAA,EAAK,UAAU,CAAC,CAAA;AAAA,MAChC,IAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA,EAAUJ,6BAAW,QAAQ,CAAA;AAAA,MAC7B,YAAA,EAAcA,6BAAW,YAAY,CAAA;AAAA,MACrC,QAAA,EAAUA,6BAAW,QAAQ,CAAA;AAAA,MAC7B,aAAA,EACE,OAAA,CAAQ,GAAA,CAAI,QAAA,KAAa,SAAS,iBAAA,GAAoB,MAAA;AAAA,MAGvD;AAAA;AAAA,GACH;AAEJ,CAAC,CAAA;AAIM,MAAM,YAAY,KAAA,CAAM,UAAA;AAAA,EAI7B,CACE;AAAA,IACE,eAAA,EAAiB,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,GAAG;AAAA,KAEL,UAAA,qBAEAC,cAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,QAAA;AAAA,MACA,eAAA,EAAe,YAAA;AAAA,MACf,QAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,MAEA,QAAA,kBAAAA,cAAA,CAAC,IAAA,EAAA,EAAM,GAAG,SAAA,EAAW,KAAK,UAAA,EAAY;AAAA;AAAA;AAG5C;AAUA,SAAA,CAAU,KAAA,GAAQ,KAAA;AAClB,SAAA,CAAU,YAAA,GAAe,YAAA;AACzB,SAAA,CAAU,QAAA,GAAW,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-secondary',\n\n '& svg, & img': {\n pointerEvents: 'none',\n },\n\n variants: {\n variant: {\n outline: {},\n subtle: {\n color: '$icon-default',\n },\n },\n disabled: {\n true: {\n '& svg': {\n color: '$icon-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-secondary',\n },\n },\n },\n disableAppearance: {\n true: {\n color: '$icon-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 backgroundColor: '$input-background-default',\n borderColor: '$input-border-default',\n },\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 background: '$input-background-alt-default',\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 variant: 'subtle',\n active: true,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: {\n '&&': { background: '$input-background-alt-focused' },\n },\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 {\n variant: 'subtle',\n focused: true,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: {\n '&&': { background: '$input-background-alt-focused' },\n },\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 background: '$input-background-alt-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-default',\n width: '100%',\n borderRadius: '$input',\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 onPress: e => {\n // For pointer events, only focus on completed press (not drag-away)\n if (e.pointerType === 'keyboard') return\n\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 }\n },\n onPressEnd: e => {\n // For keyboard events, restore focus when child elements handle presses\n // (e.g., chip removal in combobox)\n if (e.pointerType !== 'keyboard') return\n\n const shouldFocusInput = !booleanify(disabled) && !booleanify(focused)\n\n if (shouldFocusInput) {\n inputRef.current?.focus()\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","useAriaDisabled","mergeRefs","Fragment","Tooltip","addPropsToChildren","isIconComponent","useLayoutEffect","useHover","usePress","useMemo","mergeProps","booleanishAttrValue"],"mappings":"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"}
|
package/dist/module.js
CHANGED
|
@@ -72,7 +72,10 @@ const StyledBaseInput = styled("div", {
|
|
|
72
72
|
...textFieldStyles.variants.idle,
|
|
73
73
|
variants: {
|
|
74
74
|
variant: {
|
|
75
|
-
outline: {
|
|
75
|
+
outline: {
|
|
76
|
+
backgroundColor: "$input-background-default",
|
|
77
|
+
borderColor: "$input-border-default"
|
|
78
|
+
},
|
|
76
79
|
subtle: {}
|
|
77
80
|
},
|
|
78
81
|
hovered: {
|
|
@@ -174,7 +177,7 @@ const StyledBaseInput = styled("div", {
|
|
|
174
177
|
disabled: false,
|
|
175
178
|
ariaDisabled: false,
|
|
176
179
|
css: {
|
|
177
|
-
|
|
180
|
+
background: "$input-background-alt-default",
|
|
178
181
|
borderColor: "transparent"
|
|
179
182
|
}
|
|
180
183
|
},
|
|
@@ -190,6 +193,16 @@ const StyledBaseInput = styled("div", {
|
|
|
190
193
|
ariaDisabled: false,
|
|
191
194
|
css: textFieldStyles.variants.active
|
|
192
195
|
},
|
|
196
|
+
{
|
|
197
|
+
variant: "subtle",
|
|
198
|
+
active: true,
|
|
199
|
+
readOnly: false,
|
|
200
|
+
disabled: false,
|
|
201
|
+
ariaDisabled: false,
|
|
202
|
+
css: {
|
|
203
|
+
"&&": { background: "$input-background-alt-focused" }
|
|
204
|
+
}
|
|
205
|
+
},
|
|
193
206
|
/** Focus States */
|
|
194
207
|
{
|
|
195
208
|
focused: true,
|
|
@@ -202,6 +215,16 @@ const StyledBaseInput = styled("div", {
|
|
|
202
215
|
ariaDisabled: false,
|
|
203
216
|
css: textFieldStyles.variants.focused
|
|
204
217
|
},
|
|
218
|
+
{
|
|
219
|
+
variant: "subtle",
|
|
220
|
+
focused: true,
|
|
221
|
+
readOnly: false,
|
|
222
|
+
disabled: false,
|
|
223
|
+
ariaDisabled: false,
|
|
224
|
+
css: {
|
|
225
|
+
"&&": { background: "$input-background-alt-focused" }
|
|
226
|
+
}
|
|
227
|
+
},
|
|
205
228
|
/** Hover states */
|
|
206
229
|
{
|
|
207
230
|
hovered: true,
|
|
@@ -236,7 +259,7 @@ const StyledBaseInput = styled("div", {
|
|
|
236
259
|
disabled: false,
|
|
237
260
|
ariaDisabled: false,
|
|
238
261
|
css: {
|
|
239
|
-
|
|
262
|
+
background: "$input-background-alt-hover"
|
|
240
263
|
}
|
|
241
264
|
}
|
|
242
265
|
],
|
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-secondary',\n\n '& svg, & img': {\n pointerEvents: 'none',\n },\n\n variants: {\n variant: {\n outline: {},\n subtle: {\n color: '$icon-default',\n },\n },\n disabled: {\n true: {\n '& svg': {\n color: '$icon-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-secondary',\n },\n },\n },\n disableAppearance: {\n true: {\n color: '$icon-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: '$input-background-alt-default',\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: '$input-background-alt-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-default',\n width: '100%',\n borderRadius: '$input',\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 onPress: e => {\n // For pointer events, only focus on completed press (not drag-away)\n if (e.pointerType === 'keyboard') return\n\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 }\n },\n onPressEnd: e => {\n // For keyboard events, restore focus when child elements handle presses\n // (e.g., chip removal in combobox)\n if (e.pointerType !== 'keyboard') return\n\n const shouldFocusInput = !booleanify(disabled) && !booleanify(focused)\n\n if (shouldFocusInput) {\n inputRef.current?.focus()\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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"}
|
|
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-secondary',\n\n '& svg, & img': {\n pointerEvents: 'none',\n },\n\n variants: {\n variant: {\n outline: {},\n subtle: {\n color: '$icon-default',\n },\n },\n disabled: {\n true: {\n '& svg': {\n color: '$icon-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-secondary',\n },\n },\n },\n disableAppearance: {\n true: {\n color: '$icon-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 backgroundColor: '$input-background-default',\n borderColor: '$input-border-default',\n },\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 background: '$input-background-alt-default',\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 variant: 'subtle',\n active: true,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: {\n '&&': { background: '$input-background-alt-focused' },\n },\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 {\n variant: 'subtle',\n focused: true,\n readOnly: false,\n disabled: false,\n ariaDisabled: false,\n css: {\n '&&': { background: '$input-background-alt-focused' },\n },\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 background: '$input-background-alt-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-default',\n width: '100%',\n borderRadius: '$input',\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 onPress: e => {\n // For pointer events, only focus on completed press (not drag-away)\n if (e.pointerType === 'keyboard') return\n\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 }\n },\n onPressEnd: e => {\n // For keyboard events, restore focus when child elements handle presses\n // (e.g., chip removal in combobox)\n if (e.pointerType !== 'keyboard') return\n\n const shouldFocusInput = !booleanify(disabled) && !booleanify(focused)\n\n if (shouldFocusInput) {\n inputRef.current?.focus()\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":";;;;;;;;;;;;;;;AAIO,MAAM,cAAA,GAAiB,MAAA,CAAO,SAAA,CAAU,GAAA,EAAK;AAAA,EAClD,KAAA,EAAO,CAAA;AAAA,EACP,YAAA,EAAc,QAAA;AAAA,EACd,OAAA,EAAS,MAAA;AAAA,EACT,cAAA,EAAgB,QAAA;AAAA,EAChB,KAAA,EAAO,iBAAA;AAAA,EAEP,cAAA,EAAgB;AAAA,IACd,aAAA,EAAe;AAAA,GACjB;AAAA,EAEA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS;AAAA,MACP,SAAS,EAAC;AAAA,MACV,MAAA,EAAQ;AAAA,QACN,KAAA,EAAO;AAAA;AACT,KACF;AAAA,IACA,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,OAAA,EAAS;AAAA,UACP,KAAA,EAAO;AAAA;AACT;AACF;AACF;AAEJ,CAAC,CAAA;;ACzBM,MAAM,kBAAA,GAAqB,OAAO,UAAA,EAAY;AAAA,EACnD,GAAG,kBAAA;AAAA,EACH,KAAA,EAAO,CAAA;AAAA,EAEP,QAAA,EAAU;AAAA,IACR,kBAAA,EAAoB;AAAA,MAClB,IAAA,EAAM;AAAA,QACJ,wDAAA,EAA0D;AAAA,UACxD,KAAA,EAAO;AAAA;AACT;AACF,KACF;AAAA,IACA,iBAAA,EAAmB;AAAA,MACjB,IAAA,EAAM;AAAA,QACJ,KAAA,EAAO;AAAA;AACT;AACF;AAEJ,CAAC,CAAA;;ACfM,MAAM,iBAAA,GAAoB,MAAA,CAAO,SAAA,CAAU,GAAA,EAAK;AAAA,EACrD,KAAA,EAAO,CAAA;AAAA,EACP,OAAA,EAAS,MAAA;AAAA,EACT,UAAA,EAAY,QAAA;AAAA,EACZ,OAAA,EAAS;AACX,CAAC,CAAA;AAEM,MAAM,eAAA,GAAkB,OAAO,KAAA,EAAO;AAAA,EAC3C,QAAA,EAAU,UAAA;AAAA,EACV,UAAA,EAAY,QAAA;AAAA,EACZ,OAAA,EAAS,aAAA;AAAA,EACT,MAAA,EAAQ,aAAA;AAAA,EACR,GAAG,gBAAgB,QAAA,CAAS,IAAA;AAAA,EAE5B,QAAA,EAAU;AAAA,IACR,OAAA,EAAS;AAAA,MACP,OAAA,EAAS;AAAA,QACP,eAAA,EAAiB,2BAAA;AAAA,QACjB,WAAA,EAAa;AAAA,OACf;AAAA,MACA,QAAQ;AAAC,KACX;AAAA,IACA,OAAA,EAAS;AAAA,MACP,MAAM,EAAC;AAAA,MACP,OAAO;AAAC,KACV;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,MAAM,EAAC;AAAA,MACP,OAAO;AAAC,KACV;AAAA,IACA,OAAA,EAAS;AAAA,MACP,MAAM,EAAC;AAAA,MACP,OAAO;AAAC,KACV;AAAA,IACA,KAAA,EAAO;AAAA,MACL,MAAM,EAAC;AAAA,MACP,OAAO;AAAC,KACV;AAAA,IACA,QAAA,EAAU;AAAA,MACR,IAAA,EAAM,gBAAgB,QAAA,CAAS,QAAA;AAAA,MAC/B,OAAO;AAAC,KACV;AAAA,IACA,QAAA,EAAU;AAAA,MACR,IAAA,EAAM,gBAAgB,QAAA,CAAS,QAAA;AAAA,MAC/B,OAAO;AAAC,KACV;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,IAAA,EAAM,gBAAgB,QAAA,CAAS,QAAA;AAAA,MAC/B,OAAO;AAAC,KACV;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,MAAA,EAAQ;AAAA,QACN,QAAA,EAAU,MAAA;AAAA,QACV,MAAA,EAAQ,IAAA;AAAA,QACR,OAAA,EAAS,SAAA;AAAA,QACT,CAAC,IAAA,CAAK,MAAA,CAAA,cAAA,CAAgB,GAAG;AAAA,UACvB,YAAA,EAAc;AAAA,SAChB;AAAA,QACA,CAAC,IAAA,CAAK,MAAA,CAAA,kBAAA,EAAkB,MAAA,CAAA,CAAO,yBAAmB,GAAG;AAAA,UACnD,UAAA,EAAY;AAAA,SACd;AAAA,QACA,CAAC,IAAA,CAAK,MAAA,CAAA,iBAAA,CAAmB,GAAG;AAAA,UAC1B,YAAA,EAAc;AAAA;AAChB,OACF;AAAA,MACA,KAAA,EAAO;AAAA,QACL,MAAA,EAAQ,KAAA;AAAA,QACR,OAAA,EAAS,SAAA;AAAA,QACT,CAAC,IAAA,CAAK,MAAA,CAAA,cAAA,CAAgB,GAAG;AAAA,UACvB,YAAA,EAAc;AAAA,SAChB;AAAA,QACA,CAAC,IAAA,CAAK,MAAA,CAAA,kBAAA,EAAkB,MAAA,CAAA,CAAO,yBAAmB,GAAG;AAAA,UACnD,UAAA,EAAY;AAAA,SACd;AAAA,QACA,CAAC,IAAA,CAAK,MAAA,CAAA,iBAAA,CAAmB,GAAG;AAAA,UAC1B,YAAA,EAAc;AAAA;AAChB,OACF;AAAA,MACA,SAAA,EAAW;AAAA,QACT,MAAA,EAAQ,KAAA;AAAA,QACR,OAAA,EAAS,QAAA;AAAA,QACT,QAAA,EAAU,MAAA;AAAA,QACV,UAAA,EAAY,MAAA;AAAA,QACZ,CAAC,IAAA,CAAK,MAAA,CAAA,cAAA,CAAgB,GAAG;AAAA,UACvB,YAAA,EAAc;AAAA,SAChB;AAAA,QACA,CAAC,IAAA,CAAK,MAAA,CAAA,kBAAA,EAAkB,MAAA,CAAA,CAAO,yBAAmB,GAAG;AAAA,UACnD,UAAA,EAAY;AAAA,SACd;AAAA,QACA,CAAC,IAAA,CAAK,MAAA,CAAA,iBAAA,CAAmB,GAAG;AAAA,UAC1B,YAAA,EAAc;AAAA;AAChB;AACF;AACF,GACF;AAAA,EACA,gBAAA,EAAkB;AAAA;AAAA,IAEhB;AAAA,MACE,KAAA,EAAO,KAAA;AAAA,MACP,OAAA,EAAS,KAAA;AAAA,MACT,QAAA,EAAU,KAAA;AAAA,MACV,QAAA,EAAU,KAAA;AAAA,MACV,YAAA,EAAc,KAAA;AAAA,MACd,GAAA,EAAK,eAAA,CAAgB,QAAA,CAAS,OAAA,CAAQ;AAAA,KACxC;AAAA,IACA;AAAA,MACE,KAAA,EAAO,IAAA;AAAA,MACP,OAAA,EAAS,KAAA;AAAA,MACT,QAAA,EAAU,KAAA;AAAA,MACV,QAAA,EAAU,KAAA;AAAA,MACV,YAAA,EAAc,KAAA;AAAA,MACd,GAAA,EAAK,eAAA,CAAgB,QAAA,CAAS,KAAA,CAAM;AAAA,KACtC;AAAA,IACA;AAAA,MACE,OAAA,EAAS,QAAA;AAAA,MACT,KAAA,EAAO,MAAA;AAAA,MACP,OAAA,EAAS,KAAA;AAAA,MACT,QAAA,EAAU,KAAA;AAAA,MACV,QAAA,EAAU,KAAA;AAAA,MACV,YAAA,EAAc,KAAA;AAAA,MACd,GAAA,EAAK;AAAA,QACH,UAAA,EAAY,+BAAA;AAAA,QACZ,WAAA,EAAa;AAAA;AACf,KACF;AAAA;AAAA,IAEA;AAAA,MACE,MAAA,EAAQ,IAAA;AAAA,MACR,GAAA,EAAK,gBAAgB,QAAA,CAAS;AAAA,KAChC;AAAA,IACA;AAAA,MACE,MAAA,EAAQ,IAAA;AAAA,MACR,QAAA,EAAU,KAAA;AAAA,MACV,QAAA,EAAU,KAAA;AAAA,MACV,YAAA,EAAc,KAAA;AAAA,MACd,GAAA,EAAK,gBAAgB,QAAA,CAAS;AAAA,KAChC;AAAA,IACA;AAAA,MACE,OAAA,EAAS,QAAA;AAAA,MACT,MAAA,EAAQ,IAAA;AAAA,MACR,QAAA,EAAU,KAAA;AAAA,MACV,QAAA,EAAU,KAAA;AAAA,MACV,YAAA,EAAc,KAAA;AAAA,MACd,GAAA,EAAK;AAAA,QACH,IAAA,EAAM,EAAE,UAAA,EAAY,+BAAA;AAAgC;AACtD,KACF;AAAA;AAAA,IAGA;AAAA,MACE,OAAA,EAAS,IAAA;AAAA,MACT,GAAA,EAAK,gBAAgB,QAAA,CAAS;AAAA,KAChC;AAAA,IACA;AAAA,MACE,OAAA,EAAS,IAAA;AAAA,MACT,QAAA,EAAU,KAAA;AAAA,MACV,QAAA,EAAU,KAAA;AAAA,MACV,YAAA,EAAc,KAAA;AAAA,MACd,GAAA,EAAK,gBAAgB,QAAA,CAAS;AAAA,KAChC;AAAA,IAEA;AAAA,MACE,OAAA,EAAS,QAAA;AAAA,MACT,OAAA,EAAS,IAAA;AAAA,MACT,QAAA,EAAU,KAAA;AAAA,MACV,QAAA,EAAU,KAAA;AAAA,MACV,YAAA,EAAc,KAAA;AAAA,MACd,GAAA,EAAK;AAAA,QACH,IAAA,EAAM,EAAE,UAAA,EAAY,+BAAA;AAAgC;AACtD,KACF;AAAA;AAAA,IAGA;AAAA,MACE,OAAA,EAAS,IAAA;AAAA,MACT,QAAA,EAAU,KAAA;AAAA,MACV,YAAA,EAAc,KAAA;AAAA,MACd,QAAA,EAAU,KAAA;AAAA,MACV,GAAA,EAAK,gBAAgB,QAAA,CAAS;AAAA,KAChC;AAAA,IACA;AAAA,MACE,OAAA,EAAS,IAAA;AAAA,MACT,OAAA,EAAS,KAAA;AAAA,MACT,KAAA,EAAO,KAAA;AAAA,MACP,QAAA,EAAU,KAAA;AAAA,MACV,QAAA,EAAU,KAAA;AAAA,MACV,YAAA,EAAc,KAAA;AAAA,MACd,GAAA,EAAK,eAAA,CAAgB,QAAA,CAAS,OAAA,CAAQ;AAAA,KACxC;AAAA,IACA;AAAA,MACE,OAAA,EAAS,IAAA;AAAA,MACT,OAAA,EAAS,KAAA;AAAA,MACT,KAAA,EAAO,IAAA;AAAA,MACP,QAAA,EAAU,KAAA;AAAA,MACV,QAAA,EAAU,KAAA;AAAA,MACV,YAAA,EAAc,KAAA;AAAA,MACd,GAAA,EAAK,eAAA,CAAgB,QAAA,CAAS,KAAA,CAAM;AAAA,KACtC;AAAA,IACA;AAAA,MACE,OAAA,EAAS,QAAA;AAAA,MACT,KAAA,EAAO,MAAA;AAAA,MACP,OAAA,EAAS,IAAA;AAAA,MACT,QAAA,EAAU,KAAA;AAAA,MACV,QAAA,EAAU,KAAA;AAAA,MACV,YAAA,EAAc,KAAA;AAAA,MACd,GAAA,EAAK;AAAA,QACH,UAAA,EAAY;AAAA;AACd;AACF,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAC,CAAA;;ACxND,MAAM,4BAAA,GACJ,gEAAA;AAEK,MAAM,WAAA,GAAc,MAAA,CAAO,SAAA,CAAU,KAAA,EAAO;AAAA,EACjD,GAAA,EAAK,OAAA;AAAA,EACL,UAAA,EAAY,aAAA;AAAA,EACZ,KAAA,EAAO,eAAA;AAAA,EACP,KAAA,EAAO,MAAA;AAAA,EACP,YAAA,EAAc,QAAA;AAAA,EACd,KAAA,EAAO,CAAA;AAAA,EACP,OAAA,EAAS,OAAA;AAAA,EACT,MAAA,EAAQ,MAAA;AAAA,EAER,CAAC,QAAA,CAAS,MAAA,CAAA,4BAAA,EAA4B,gBAAA,CAAgB,GACpD,gBAAgB,IAAA,CAAK,WAAA;AAAA,EAEvB,aAAA,EAAe;AAAA,IACb,KAAA,EAAO,eAAA,CAAgB,QAAA,CAAS,QAAA,CAAS;AAAA,GAC3C;AAAA,EAEA,qDAAA,EACE,gBAAgB,IAAA,CAAK;AACzB,CAAC,CAAA;;ACAD,MAAM,YAAA,GAAe,aAAA,CAAiC,EAAS,CAAA;AAExD,MAAM,gBAAgB,CAAC;AAAA,EAC5B,QAAA;AAAA,EACA,QAAA;AAAA,EACA,eAAA,EAAiB,YAAA;AAAA,EACjB,QAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAuC;AACrC,EAAA,MAAM,eAAA,GAAkB,OAA8C,IAAI,CAAA;AAC1E,EAAA,MAAM,QAAA,GAAW,OAAyB,IAAI,CAAA;AAC9C,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA;AAC5C,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA;AAC5C,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,SAAS,KAAK,CAAA;AAC1C,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAAS,KAAK,CAAA;AACpD,EAAA,MAAM,QAAA,GACJ,CAAC,UAAA,CAAW,QAAQ,CAAA,IAAK,CAAC,UAAA,CAAW,YAAY,CAAA,IAAK,CAAC,UAAA,CAAW,QAAQ,CAAA;AAE5E,EAAA,uBACE,GAAA;AAAA,IAAC,YAAA,CAAa,QAAA;AAAA,IAAb;AAAA,MACC,KAAA,EAAO;AAAA,QACL,GAAG,SAAA;AAAA,QACH,UAAA;AAAA,QACA,UAAA;AAAA,QACA,SAAA;AAAA,QACA,cAAA;AAAA,QACA,WAAA;AAAA,QACA,MAAA;AAAA,QACA,OAAA;AAAA,QACA,OAAA;AAAA,QACA,QAAA;AAAA,QACA,eAAA,EAAiB,YAAA;AAAA,QACjB,QAAA;AAAA,QACA,QAAA;AAAA,QACA,QAAA;AAAA,QACA,eAAA;AAAA,QACA,QAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ,CAAA;AAEO,MAAM,eAAA,GAAkB,MAAyB,UAAA,CAAW,YAAY;;AC3DxE,MAAM,QAAQ,KAAA,CAAM,UAAA;AAAA,EAIzB,CACE;AAAA,IACE,EAAA;AAAA,IACA,kBAAA,EAAoB,eAAA;AAAA,IACpB,cAAA,EAAgB,WAAA;AAAA,IAChB,GAAG;AAAA,KAEL,UAAA,KACG;AACH,IAAA,MAAM;AAAA,MACJ,eAAA,EAAiB,YAAA;AAAA,MACjB,QAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,MACA;AAAA,QACE,eAAA,EAAgB;AAEpB,IAAA,MAAM,eAAe,eAAA,CAAgB;AAAA,MACnC,GAAG,SAAA;AAAA,MACH;AAAA,KACD,CAAA;AAED,IAAA,uBACE,GAAA;AAAA,MAAC,WAAA;AAAA,MAAA;AAAA,QACE,GAAG,YAAA;AAAA,QACJ,EAAA;AAAA,QACA,QAAA;AAAA,QACA,kBAAA,EAAkB,eAAA;AAAA,QAClB,cAAA,EAAc,WAAA;AAAA,QACd,QAAA,EAAU,aAAa,IAAA,IAAQ,MAAA;AAAA,QAC/B,QAAA,EAAU,aAAa,IAAA,IAAQ,MAAA;AAAA,QAC/B,QAAA;AAAA,QACA,GAAA,EAAK,SAAA,CAAU,CAAC,QAAA,EAAU,UAAU,CAAC;AAAA;AAAA,KACvC;AAAA,EAEJ;AACF,CAAA;;AClCO,MAAM,YAAA,GAAe,KAAA,CAAM,UAAA,CAGhC,CAAC,EAAE,YAAA,EAAc,SAAA,EAAW,KAAA,EAAO,QAAA,EAAU,GAAG,SAAA,EAAU,EAAG,UAAA,KAAe;AAC5E,EAAA,MAAM;AAAA,IACJ,KAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,eAAA,EAAiB,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,QAAA;AAAA,IACA;AAAA,MACE,eAAA,EAAgB;AAEpB,EAAA,MAAM,aAAA,GAAgB,KAAA,KAAU,MAAA,IAAa,UAAA,CAAW,OAAO,CAAA;AAE/D,EAAA,MAAM,aAAA,GAAgB,MAAA,CAAO,IAAA,CAAK,SAAS,CAAA,CAAE,IAAA;AAAA,IAAK,CAAA,GAAA,KAChD,GAAA,CAAI,UAAA,CAAW,SAAS;AAAA,GAC1B;AACA,EAAA,MAAM,iBAAiB,SAAA,CAAU,QAAA;AAEjC,EAAA,MAAM,YAAA,mBACJ,GAAA;AAAA,IAAC,kBAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,QAAA;AAAA,MACJ,GAAG,SAAA;AAAA,MACJ,cAAY,SAAA,IAAA,IAAA,GAAA,SAAA,GAAa,KAAA;AAAA,MACzB,QAAA,EAAU,aAAA,GAAgB,cAAA,GAAiB,cAAA,IAAA,IAAA,GAAA,cAAA,GAAkB,CAAC,QAAA;AAAA,MAC9D,iBAAA,EACE,gBACI,CAAC,UAAA,CAAW,QAAQ,CAAA,IAAK,cAAA,GACzB,UAAA,CAAW,QAAA,IAAA,IAAA,GAAA,QAAA,GAAY,YAAY,CAAA;AAAA,MAEzC,kBAAA,EAAoB,QAAA;AAAA,MACpB,GAAA,EAAK,SAAA,CAAU,CAAC,UAAA,EAAY,eAAe,CAAC,CAAA;AAAA,MAE3C;AAAA;AAAA,GACH;AAGF,EAAA,IAAI,CAAC,aAAA,EAAe,uBAAO,GAAA,CAAA,QAAA,EAAA,EAAE,CAAA;AAE7B,EAAA,IAAA,CACG,UAAU,MAAA,IAAa,KAAA,KAAU,OAClC,SAAA,KAAc,MAAA,IACd,cAAc,EAAA,EACd;AACA,IAAA,OAAO,YAAA;AAAA,EACT;AAEA,EAAA,4BACG,OAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,OAAA,CAAQ,OAAA,EAAR,EAAgB,OAAA,EAAO,MAAE,QAAA,EAAA,YAAA,EAAa,CAAA;AAAA,oBACvC,GAAA,CAAC,OAAA,CAAQ,OAAA,EAAR,EAAiB,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EAC1B,CAAA;AAEJ,CAAC,CAAA;;ACjEM,MAAM,QAAA,GAAW,MAAM,UAAA,CAG5B,CAAC,EAAE,QAAA,EAAU,GAAG,SAAA,EAAU,EAAG,UAAA,KAAe;AAC5C,EAAA,MAAM;AAAA,IACJ,eAAA,EAAiB,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,cAAA;AAAA,IACA;AAAA,MACE,eAAA,EAAgB;AACpB,EAAA,MAAM,iBAAA,GAAoB,kBAAA,CAAmB,QAAA,EAAU,eAAA,EAAiB;AAAA,IACtE,IAAA,EAAM,OAAA;AAAA,IACN,MAAA,EAAQ;AAAA,GACT,CAAA;AAED,EAAA,eAAA,CAAgB,MAAM;AACpB,IAAA,cAAA,CAAe,IAAI,CAAA;AACnB,IAAA,OAAO,MAAM,eAAe,KAAK,CAAA;AAAA,EACnC,CAAA,EAAG,CAAC,cAAc,CAAC,CAAA;AAEnB,EAAA,uBACE,GAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACE,GAAG,SAAA;AAAA,MACJ,OAAA;AAAA,MACA,QAAA,EAAU,UAAA,CAAW,QAAA,IAAA,IAAA,GAAA,QAAA,GAAY,YAAY,CAAA;AAAA,MAC7C,GAAA,EAAK,UAAA;AAAA,MAEJ,QAAA,EAAA;AAAA;AAAA,GACH;AAEJ,CAAC,CAAA;AAED,QAAA,CAAS,WAAA,GAAc,UAAA;;ACVvB,MAAM,IAAA,GAAO,KAAA,CAAM,UAAA,CAGjB,CAAC,EAAE,UAAU,IAAA,EAAM,GAAG,SAAA,EAAU,EAAG,UAAA,KAAe;AAClD,EAAA,MAAM,GAAA,GAAM,OAAuB,IAAI,CAAA;AACvC,EAAA,MAAM,gBAAA,GAAmB,OAAO,KAAK,CAAA;AAErC,EAAA,MAAM;AAAA,IACJ,KAAA;AAAA,IACA,eAAA,EAAiB,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA,eAAA;AAAA,IACA,UAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA;AAAA,IACA;AAAA,MACE,eAAA,EAAgB;AACpB,EAAA,MAAM,EAAE,UAAA,EAAY,SAAA,EAAW,OAAA,KAAY,QAAA,CAAS;AAAA,IAClD,aAAA,EAAe;AAAA,GAChB,CAAA;AAED,EAAA,MAAM,EAAE,UAAA,EAAW,GAAI,QAAA,CAAS;AAAA,IAC9B,cAAc,CAAA,CAAA,KAAK;AACjB,MAAA,MAAM,EAAE,MAAA,EAAO,GAAI,CAAA,CAAE,aAAA;AAErB,MAAA,MAAM,gBACJ,QAAA,CAAS,aAAA,KAAkB,QAAA,CAAS,OAAA,IACpC,WAAW,QAAA,CAAS,OAAA;AAGtB,MAAA,IAAI,aAAA,EAAe;AACjB,QAAA,CAAA,CAAE,cAAc,cAAA,EAAe;AAAA,MACjC;AAAA,IACF,CAAA;AAAA,IACA,SAAS,CAAA,CAAA,KAAK;AAxElB,MAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA0EM,MAAA,IAAI,CAAA,CAAE,gBAAgB,UAAA,EAAY;AAElC,MAAA,MAAM,EAAE,MAAA,EAAO,GAAI,CAAA,CAAE,aAAA;AAErB,MAAA,MAAM,cAAA,GACJ,WAAW,eAAA,CAAgB,OAAA,KAAA,CAC1B,2BAAgB,OAAA,KAAhB,IAAA,GAAA,MAAA,GAAA,EAAA,CAAyB,QAAA,CAAS,MAAA,CAAA,KAAlC,IAAA,GAAA,EAAA,GAAqD,KAAA,CAAA;AAExD,MAAA,MAAM,gBAAA,GACJ,CAAC,cAAA,IAAkB,CAAC,WAAW,QAAQ,CAAA,IAAK,CAAC,UAAA,CAAW,OAAO,CAAA;AAEjE,MAAA,IAAI,gBAAA,EAAkB;AACpB,QAAA,CAAA,EAAA,GAAA,QAAA,CAAS,YAAT,IAAA,GAAA,MAAA,GAAA,EAAA,CAAkB,KAAA,EAAA;AAAA,MACpB;AAAA,IACF,CAAA;AAAA,IACA,YAAY,CAAA,CAAA,KAAK;AAzFrB,MAAA,IAAA,EAAA;AA4FM,MAAA,IAAI,CAAA,CAAE,gBAAgB,UAAA,EAAY;AAElC,MAAA,MAAM,mBAAmB,CAAC,UAAA,CAAW,QAAQ,CAAA,IAAK,CAAC,WAAW,OAAO,CAAA;AAErE,MAAA,IAAI,gBAAA,EAAkB;AACpB,QAAA,CAAA,EAAA,GAAA,QAAA,CAAS,YAAT,IAAA,GAAA,MAAA,GAAA,EAAA,CAAkB,KAAA,EAAA;AAAA,MACpB;AAAA,IACF,CAAA;AAAA,IACA,mBAAA,EAAqB;AAAA,GACtB,CAAA;AAED,EAAA,MAAM,oBAAA,GAAuB,KAAA,CAAM,WAAA,CAAY,MAAM;AAEnD,IAAA,gBAAA,CAAiB,OAAA,GAAU,IAAA;AAAA,EAC7B,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,iBAAiB,KAAA,CAAM,WAAA;AAAA,IAC3B,CAAC,CAAA,KAAwC;AACvC,MAAA,IAAI,CAAC,gBAAA,CAAiB,OAAA,IAAW,CAAA,CAAE,MAAA,KAAW,SAAS,OAAA,EAAS;AAC9D,QAAA,UAAA,CAAW,IAAI,CAAA;AAAA,MACjB;AAEA,MAAA,SAAA,CAAU,IAAI,CAAA;AAAA,IAChB,CAAA;AAAA,IACA,CAAC,SAAA,EAAW,UAAA,EAAY,QAAQ;AAAA,GAClC;AAEA,EAAA,MAAM,aAAA,GAAgB,KAAA,CAAM,WAAA,CAAY,MAAM;AAC5C,IAAA,gBAAA,CAAiB,OAAA,GAAU,KAAA;AAC3B,IAAA,UAAA,CAAW,KAAK,CAAA;AAChB,IAAA,SAAA,CAAU,KAAK,CAAA;AAAA,EACjB,CAAA,EAAG,CAAC,SAAA,EAAW,UAAU,CAAC,CAAA;AAE1B,EAAA,MAAM,YAAA,GAAe,OAAA;AAAA,IACnB,MACE,UAAA;AAAA,MACE,SAAA;AAAA,MACA;AAAA,QACE,OAAA,EAAS,cAAA;AAAA,QACT,MAAA,EAAQ,aAAA;AAAA,QACR,aAAA,EAAe;AAAA,OACjB;AAAA,MACA,UAAA;AAAA,MACA;AAAA,KACF;AAAA,IACF;AAAA,MACE,SAAA;AAAA,MACA,UAAA;AAAA,MACA,UAAA;AAAA,MACA,cAAA;AAAA,MACA,aAAA;AAAA,MACA;AAAA;AACF,GACF;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,eAAA;AAAA,IAAA;AAAA,MACE,GAAG,YAAA;AAAA,MACJ,cAAA,EAAc,mBAAA,CAAoB,KAAA,KAAU,KAAK,CAAA;AAAA,MACjD,YAAA,EAAY,mBAAA,CAAoB,KAAA,KAAU,IAAI,CAAA;AAAA,MAC9C,mBAAA,EAAkB,OAAA;AAAA,MAClB,GAAA,EAAK,SAAA,CAAU,CAAC,GAAA,EAAK,UAAU,CAAC,CAAA;AAAA,MAChC,IAAA;AAAA,MACA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,OAAA;AAAA,MACA,OAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA,EAAU,WAAW,QAAQ,CAAA;AAAA,MAC7B,YAAA,EAAc,WAAW,YAAY,CAAA;AAAA,MACrC,QAAA,EAAU,WAAW,QAAQ,CAAA;AAAA,MAC7B,aAAA,EACE,OAAA,CAAQ,GAAA,CAAI,QAAA,KAAa,SAAS,iBAAA,GAAoB,MAAA;AAAA,MAGvD;AAAA;AAAA,GACH;AAEJ,CAAC,CAAA;AAIM,MAAM,YAAY,KAAA,CAAM,UAAA;AAAA,EAI7B,CACE;AAAA,IACE,eAAA,EAAiB,YAAA;AAAA,IACjB,QAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,GAAG;AAAA,KAEL,UAAA,qBAEA,GAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,QAAA;AAAA,MACA,eAAA,EAAe,YAAA;AAAA,MACf,QAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,MACA,OAAA;AAAA,MAEA,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAM,GAAG,SAAA,EAAW,KAAK,UAAA,EAAY;AAAA;AAAA;AAG5C;AAUA,SAAA,CAAU,KAAA,GAAQ,KAAA;AAClB,SAAA,CAAU,YAAA,GAAe,YAAA;AACzB,SAAA,CAAU,QAAA,GAAW,QAAA;;;;"}
|
package/dist/types.d.ts
CHANGED
|
@@ -155,6 +155,10 @@ interface BaseInputSharedProps extends FormElementProps, Omit<BaseInputStyledPro
|
|
|
155
155
|
* The size of the input.
|
|
156
156
|
*/
|
|
157
157
|
size?: BaseInputProps['size'];
|
|
158
|
+
/**
|
|
159
|
+
* The visual style of the input.
|
|
160
|
+
*/
|
|
161
|
+
variant?: BaseInputProps['variant'];
|
|
158
162
|
/**
|
|
159
163
|
* Input's content.
|
|
160
164
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mirohq/design-system-base-input",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.33",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "Miro",
|
|
6
6
|
"source": "src/index.ts",
|
|
@@ -28,15 +28,15 @@
|
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@react-aria/interactions": "^3.13.0",
|
|
30
30
|
"@react-aria/utils": "^3.31.0",
|
|
31
|
+
"@mirohq/design-system-base-button": "^1.2.26",
|
|
31
32
|
"@mirohq/design-system-base-form": "^2.0.0",
|
|
32
|
-
"@mirohq/design-system-base-button": "^1.2.25",
|
|
33
33
|
"@mirohq/design-system-base-icon": "^1.2.1",
|
|
34
|
-
"@mirohq/design-system-base-text-field": "^1.3.27",
|
|
35
|
-
"@mirohq/design-system-stitches": "^3.3.21",
|
|
36
|
-
"@mirohq/design-system-tooltip": "^4.4.23",
|
|
37
34
|
"@mirohq/design-system-primitive": "^2.2.1",
|
|
35
|
+
"@mirohq/design-system-base-text-field": "^1.3.28",
|
|
38
36
|
"@mirohq/design-system-use-aria-disabled": "^1.1.4",
|
|
37
|
+
"@mirohq/design-system-tooltip": "^4.4.24",
|
|
39
38
|
"@mirohq/design-system-use-layout-effect": "^1.1.1",
|
|
39
|
+
"@mirohq/design-system-stitches": "^3.3.22",
|
|
40
40
|
"@mirohq/design-system-use-press": "^1.1.4",
|
|
41
41
|
"@mirohq/design-system-utils": "^1.3.0"
|
|
42
42
|
},
|