@plasmicpkgs/react-aria 0.0.48 → 0.0.49
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/.tsbuildinfo +1 -1
- package/dist/react-aria.esm.js +12 -1
- package/dist/react-aria.esm.js.map +1 -1
- package/dist/react-aria.js +12 -1
- package/dist/react-aria.js.map +1 -1
- package/dist/registerModal.d.ts +1 -0
- package/package.json +2 -2
- package/skinny/registerModal.cjs.js +12 -1
- package/skinny/registerModal.cjs.js.map +1 -1
- package/skinny/registerModal.d.ts +1 -0
- package/skinny/registerModal.esm.js +12 -1
- package/skinny/registerModal.esm.js.map +1 -1
package/dist/react-aria.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-aria.js","sources":["../src/utils.ts","../src/common.ts","../src/interaction-variant-utils.tsx","../src/registerButton.tsx","../src/contexts.tsx","../src/registerCheckbox.tsx","../src/registerText.tsx","../src/registerDescription.tsx","../src/registerFieldError.tsx","../src/registerLabel.tsx","../src/registerCheckboxGroup.tsx","../src/option-utils.ts","../src/registerInput.tsx","../src/ErrorBoundary.tsx","../src/registerListBoxItem.tsx","../src/registerHeader.tsx","../src/registerSection.tsx","../src/registerListBox.tsx","../src/registerPopover.tsx","../src/registerComboBox.tsx","../src/registerModal.tsx","../src/registerDialogTrigger.tsx","../src/registerForm.tsx","../src/registerRadio.tsx","../src/registerRadioGroup.tsx","../src/registerSelect.tsx","../src/registerSliderOutput.tsx","../src/registerSliderThumb.tsx","../src/registerSliderTrack.tsx","../src/registerSlider.tsx","../src/registerSwitch.tsx","../src/registerTextArea.tsx","../src/registerTextField.tsx","../src/registerTooltip.tsx","../src/index.tsx"],"sourcesContent":["import type { CodeComponentMeta } from \"@plasmicapp/host\";\nimport registerComponent from \"@plasmicapp/host/registerComponent\";\nimport React from \"react\";\nimport { defaultStyles } from \"./common\";\n\nexport type HasControlContextData<T = BaseControlContextData> = {\n setControlContextData?: (ctxData: T) => void;\n};\n\nexport type BaseControlContextData = {\n parent?: {\n isDisabled?: boolean;\n isReadOnly?: boolean;\n };\n};\n\nexport type Registerable = {\n registerComponent: typeof registerComponent;\n};\n\nexport type OtherCodeComponentsMeta = {\n text: CodeComponentMeta<any>;\n description: CodeComponentMeta<any>;\n};\n\nexport type CodeComponentMetaOverrides<T extends React.ComponentType<any>> =\n Partial<\n Pick<\n CodeComponentMeta<React.ComponentProps<T>>,\n \"parentComponentName\" | \"props\" | \"displayName\" | \"name\"\n >\n >;\n\nexport function registerComponentHelper<T extends React.ComponentType<any>>(\n loader: Registerable | undefined,\n component: T,\n meta: CodeComponentMeta<React.ComponentProps<T>>,\n overrides?: CodeComponentMetaOverrides<T>\n) {\n meta = {\n ...meta,\n defaultStyles: {\n ...defaultStyles,\n ...(meta.defaultStyles ?? {}),\n },\n };\n if (overrides) {\n meta = {\n ...meta,\n ...overrides,\n props: {\n ...meta.props,\n ...overrides.props,\n },\n };\n if (overrides.parentComponentName) {\n meta.name = makeChildComponentName(\n overrides.parentComponentName,\n meta.name\n );\n }\n }\n if (loader) {\n loader.registerComponent(component, meta);\n } else {\n registerComponent(component, meta);\n }\n return meta;\n}\n\nexport function makeComponentName(name: string) {\n return `plasmic-react-aria-${name}`;\n}\n\nexport function makeChildComponentName(\n fullParentName: string | undefined,\n fullChildName: string\n) {\n if (!fullParentName) {\n return fullChildName;\n }\n return `${fullParentName}-${fullChildName.replace(\n \"plasmic-react-aria-\",\n \"\"\n )}`;\n}\n\nexport interface Styleable {\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport function extractPlasmicDataProps(props: Record<string, any>) {\n return Object.fromEntries(\n Object.entries(props).filter(([key]) => key.startsWith(\"data-plasmic-\"))\n );\n}\n\nexport function withoutNils<T>(array: (T | undefined | null)[]) {\n return array.filter((x): x is T => x != null);\n}\n\nexport function isDefined<T>(thing: T | undefined | null): thing is T {\n return thing !== undefined && thing !== null;\n}\n","import { PropType } from \"@plasmicapp/host\";\nimport {\n BaseControlContextData,\n HasControlContextData,\n isDefined,\n} from \"./utils\";\n\nexport const defaultStyles: React.CSSProperties = {\n boxSizing: \"border-box\",\n};\n\nexport function hasParent<T>(_props: T, ctx: ConditionalContext<T>): boolean {\n return isDefined(ctx?.parent) === true;\n}\n\nexport function isParentReadOnly<T>(_props: T, ctx: ConditionalContext<T>) {\n return ctx?.parent?.isReadOnly === true;\n}\n\nexport function isParentDisabled<T>(_props: T, ctx: ConditionalContext<T>) {\n return ctx?.parent?.isDisabled === true;\n}\n\nexport function resolveAutoComplete(autoCompleteProp?: string | string[]) {\n if (typeof autoCompleteProp === \"string\") {\n return autoCompleteProp;\n }\n if (\n !autoCompleteProp ||\n !Array.isArray(autoCompleteProp) ||\n autoCompleteProp.includes(\"off\")\n ) {\n return undefined;\n }\n if (autoCompleteProp.includes(\"off\")) {\n return \"off\";\n }\n if (autoCompleteProp.includes(\"on\") && autoCompleteProp.length === 1) {\n return \"on\";\n }\n return autoCompleteProp.filter((x) => x !== \"on\").join(\" \");\n}\n\ntype ConditionalContext<T> = T extends HasControlContextData\n ? BaseControlContextData | null\n : null;\n\nfunction createNameProp<T>(): PropType<T> {\n return {\n type: \"string\",\n description: \"Name for this field if it is part of a form\",\n hidden: hasParent,\n advanced: true,\n };\n}\n\nfunction createDisabledProp<T>(componentName: string): PropType<T> {\n return {\n displayName: \"Disabled\",\n type: \"boolean\",\n description: `Whether the ${componentName} is read-only and unfocusable`,\n defaultValueHint: false,\n hidden: isParentDisabled,\n };\n}\n\nfunction createReadOnlyProp<T>(componentName: string): PropType<T> {\n return {\n displayName: \"Read only\",\n type: \"boolean\",\n description: `Whether the value of this ${componentName} can be changed by the user. Unlike disabled, read-only does not prevent the user from interacting with the component (such as focus).`,\n defaultValueHint: false,\n advanced: true,\n hidden: isParentReadOnly,\n };\n}\n\nfunction createRequiredProp<T>(componentName: string): PropType<T> {\n return {\n displayName: \"Required\",\n type: \"boolean\",\n description: `Whether user input is required on the ${componentName} before form submission.`,\n defaultValueHint: false,\n advanced: true,\n hidden: hasParent,\n };\n}\n\nfunction createAutoFocusProp<T>(componentName: string): PropType<T> {\n return {\n type: \"boolean\",\n description: `Whether the ${componentName} should be focused when rendered`,\n defaultValueHint: false,\n advanced: true,\n hidden: hasParent,\n };\n}\n\nfunction createAriaLabelProp<T>(componentName: string): PropType<T> {\n return {\n type: \"string\",\n displayName: \"ARIA label\",\n description: `Label for this ${componentName}, if no visible label is used, to identify the element to assistive technology`,\n advanced: true,\n hidden: hasParent,\n };\n}\n\nfunction createChildrenProp<T>(): PropType<T> {\n return {\n type: \"slot\",\n mergeWithParent: true as any,\n };\n}\n\nexport function getCommonProps<T>(\n componentName: string,\n propNames: (keyof T)[]\n) {\n const commonProps: Record<string, PropType<T>> = {\n name: createNameProp<T>(),\n disabled: createDisabledProp(componentName),\n isDisabled: createDisabledProp(componentName),\n readOnly: createReadOnlyProp(componentName),\n isReadOnly: createReadOnlyProp(componentName),\n autoFocus: createAutoFocusProp(componentName),\n \"aria-label\": createAriaLabelProp(componentName),\n required: createRequiredProp(componentName),\n isRequired: createRequiredProp(componentName),\n children: createChildrenProp(),\n // NOTE: The following props are only applicable to inputs, textareas, and text fields\n value: {\n type: \"string\",\n editOnly: true,\n displayName: \"Initial value\",\n uncontrolledProp: \"defaultValue\",\n description: `The default value of the ${componentName}`,\n hidden: hasParent,\n },\n maxLength: {\n type: \"number\",\n description: \"The maximum number of characters supported by the input\",\n advanced: true,\n hidden: hasParent,\n },\n minLength: {\n type: \"number\",\n description: \"The minimum number of characters supported by the input\",\n advanced: true,\n hidden: hasParent,\n },\n pattern: {\n type: \"string\",\n description:\n \"Regex pattern that the value of the input must match to be valid\",\n helpText:\n \"For more information about writing Regular Expressions (regex), check out https://regexr.com/\",\n validator: (value: string) => {\n try {\n new RegExp(value);\n return true;\n } catch (error) {\n return \"Invalid Regex\";\n }\n },\n advanced: true,\n hidden: hasParent,\n },\n type: {\n type: \"choice\",\n defaultValueHint: \"text\",\n options: [\"text\", \"search\", \"url\", \"tel\", \"email\", \"password\"],\n description:\n \"The type of data that an input field is expected to handle. It influences the input's behavior, validation, and the kind of interface provided to the user.\",\n advanced: true,\n hidden: hasParent,\n },\n inputMode: {\n type: \"choice\",\n description:\n \"hint to browsers as to the type of virtual keyboard configuration to use when editing this element or its contents.\",\n options: [\n \"none\",\n \"text\",\n \"tel\",\n \"url\",\n \"email\",\n \"numeric\",\n \"decimal\",\n \"search\",\n ],\n hidden: hasParent,\n },\n autoComplete: {\n type: \"choice\",\n advanced: true,\n multiSelect: true,\n hidden: hasParent,\n description: \"Guidance as to the type of data expected in the field\",\n helpText:\n \"For explanations on what each of the values mean, check https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#values\",\n options: [\n \"on\",\n \"off\",\n \"name\",\n \"honorific-prefix\",\n \"given-name\",\n \"additional-name\",\n \"family-name\",\n \"honorific-suffix\",\n \"nickname\",\n \"email\",\n \"username\",\n \"new-password\",\n \"current-password\",\n \"one-time-code\",\n \"organization-title\",\n \"organization\",\n \"street-address\",\n \"shipping\",\n \"billing\",\n \"address-line1\",\n \"address-line2\",\n \"address-line3\",\n \"address-level4\",\n \"address-level3\",\n \"address-level2\",\n \"address-level1\",\n \"country\",\n \"country-name\",\n \"postal-code\",\n \"cc-name\",\n \"cc-given-name\",\n \"cc-additional-name\",\n \"cc-family-name\",\n \"cc-number\",\n \"cc-exp\",\n \"cc-exp-month\",\n \"cc-exp-year\",\n \"cc-csc\",\n \"cc-type\",\n \"transaction-currency\",\n \"transaction-amount\",\n \"language\",\n \"bday\",\n \"bday-day\",\n \"bday-month\",\n \"bday-year\",\n \"sex\",\n \"tel\",\n \"tel-country-code\",\n \"tel-national\",\n \"tel-area-code\",\n \"tel-local\",\n \"tel-local-suffix\",\n \"tel-local-prefix\",\n \"tel-extension\",\n \"impp\",\n \"url\",\n \"photo\",\n \"webauthn\",\n ],\n },\n validationBehavior: {\n type: \"choice\",\n options: [\"native\", \"aria\"],\n description:\n \"Whether to use native HTML form validation to prevent form submission when the value is missing or invalid, or mark the field as required or invalid via ARIA.\",\n defaultValueHint: \"native\",\n advanced: true,\n hidden: hasParent,\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"string\" }],\n hidden: hasParent,\n },\n onFocus: {\n type: \"eventHandler\",\n argTypes: [{ name: \"focusEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onBlur: {\n type: \"eventHandler\",\n argTypes: [{ name: \"focusEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onFocusChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isFocused\", type: \"boolean\" }],\n advanced: true,\n hidden: hasParent,\n },\n onKeyDown: {\n type: \"eventHandler\",\n argTypes: [{ name: \"keyboardEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onKeyUp: {\n type: \"eventHandler\",\n argTypes: [{ name: \"keyboardEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onCopy: {\n type: \"eventHandler\",\n argTypes: [{ name: \"clipbordEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onCut: {\n type: \"eventHandler\",\n argTypes: [{ name: \"clipbordEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onPaste: {\n type: \"eventHandler\",\n argTypes: [{ name: \"clipbordEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onCompositionStart: {\n type: \"eventHandler\",\n argTypes: [{ name: \"compositionEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onCompositionEnd: {\n type: \"eventHandler\",\n argTypes: [{ name: \"compositionEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onCompositionUpdate: {\n type: \"eventHandler\",\n argTypes: [{ name: \"compositionEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onSelect: {\n type: \"eventHandler\",\n argTypes: [{ name: \"selectionEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onBeforeInput: {\n type: \"eventHandler\",\n argTypes: [{ name: \"inputEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onInput: {\n type: \"eventHandler\",\n argTypes: [{ name: \"inputEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n placeholder: {\n type: \"string\",\n },\n };\n\n // Filter the properties based on the provided fields array\n const filteredProps: Partial<Record<keyof T, PropType<T>>> = {};\n propNames.forEach((propName) => {\n if (Object.prototype.hasOwnProperty.call(commonProps, propName)) {\n filteredProps[propName] = commonProps[propName as string];\n }\n });\n\n return filteredProps;\n}\n","import { CodeComponentMeta } from \"@plasmicapp/host\";\nimport React from \"react\";\n\nconst ARIA_COMPONENTS_INTERACTION_VARIANTS = {\n hovered: {\n cssSelector: \"[data-hovered]\",\n displayName: \"Hovered\",\n },\n pressed: {\n cssSelector: \"[data-pressed]\",\n displayName: \"Pressed\",\n },\n focused: {\n cssSelector: \"[data-focused]\",\n displayName: \"Focused\",\n },\n focusVisible: {\n cssSelector: \"[data-focus-visible]\",\n displayName: \"Focus Visible\",\n },\n dragging: {\n cssSelector: \"[data-dragging]\",\n displayName: \"Dragging\",\n },\n selected: {\n cssSelector: \"[data-selected]\",\n displayName: \"Selected\",\n },\n readonly: {\n cssSelector: \"[data-readonly]\",\n displayName: \"Read Only\",\n },\n disabled: {\n cssSelector: \"[data-disabled]\",\n displayName: \"Disabled\",\n },\n indeterminate: {\n cssSelector: \"[data-indeterminate]\",\n displayName: \"Indeterminate\",\n },\n};\n\ntype AriaInteractionVariant = keyof typeof ARIA_COMPONENTS_INTERACTION_VARIANTS;\n\ntype CodeComponentInteractionVariantsMeta = NonNullable<\n CodeComponentMeta<unknown>[\"interactionVariants\"]\n>;\n\ntype InteractionVariantMeta = CodeComponentInteractionVariantsMeta[string];\n\ntype ArrayElement<T> = T extends (infer U)[] ? U : never;\n\nexport type UpdateInteractionVariant<T extends AriaInteractionVariant[]> =\n | ((changes: Partial<Record<ArrayElement<T>, boolean>>) => void)\n | undefined;\n\ntype WithObservedValues<T extends AriaInteractionVariant[]> = (\n children: React.ReactNode,\n state: Record<ArrayElement<T>, boolean>,\n updateInteractionVariant: UpdateInteractionVariant<T>\n) => React.ReactNode;\n\nfunction ChangesObserver<T extends AriaInteractionVariant[]>({\n children,\n changes,\n updateInteractionVariant,\n}: {\n children: React.ReactNode;\n changes: Partial<Record<ArrayElement<T>, boolean>>;\n updateInteractionVariant?: UpdateInteractionVariant<T>;\n}) {\n React.useEffect(() => {\n if (updateInteractionVariant) {\n updateInteractionVariant(changes);\n }\n }, [changes, updateInteractionVariant]);\n return children;\n}\n\nfunction realWithObservedValues<T extends AriaInteractionVariant[]>(\n children: React.ReactNode,\n changes: Partial<Record<ArrayElement<T>, boolean>>,\n updateInteractionVariant?: UpdateInteractionVariant<T>\n) {\n return (\n <ChangesObserver\n changes={changes}\n updateInteractionVariant={updateInteractionVariant}\n >\n {children}\n </ChangesObserver>\n );\n}\n\nexport function pickAriaComponentVariants<T extends AriaInteractionVariant[]>(\n keys: T\n): {\n interactionVariants: Record<ArrayElement<T>, InteractionVariantMeta>;\n withObservedValues: WithObservedValues<T>;\n} {\n return {\n interactionVariants: Object.fromEntries(\n keys.map((key) => [key, ARIA_COMPONENTS_INTERACTION_VARIANTS[key]])\n ) as Record<ArrayElement<T>, InteractionVariantMeta>,\n withObservedValues: realWithObservedValues<T>,\n };\n}\n","import React from \"react\";\nimport type { ButtonProps } from \"react-aria-components\";\nimport { Button } from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst BUTTON_INTERACTION_VARIANTS = [\n \"hovered\" as const,\n \"pressed\" as const,\n \"focused\" as const,\n \"focusVisible\" as const,\n \"disabled\" as const,\n];\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n BUTTON_INTERACTION_VARIANTS\n);\n\ninterface BaseButtonProps extends ButtonProps {\n children: React.ReactNode;\n resetsForm?: boolean;\n submitsForm?: boolean;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof BUTTON_INTERACTION_VARIANTS\n >;\n}\n\nexport function BaseButton(props: BaseButtonProps) {\n const {\n submitsForm,\n resetsForm,\n children,\n updateInteractionVariant,\n ...rest\n } = props;\n\n const type = submitsForm ? \"submit\" : resetsForm ? \"reset\" : \"button\";\n\n return (\n <Button type={type} {...rest}>\n {({ isHovered, isPressed, isFocused, isFocusVisible, isDisabled }) =>\n withObservedValues(\n children,\n {\n hovered: isHovered,\n pressed: isPressed,\n focused: isFocused,\n focusVisible: isFocusVisible,\n disabled: isDisabled,\n },\n updateInteractionVariant\n )\n }\n </Button>\n );\n}\n\nexport const BUTTON_COMPONENT_NAME = makeComponentName(\"button\");\n\nexport function registerButton(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseButton>\n) {\n registerComponentHelper(\n loader,\n BaseButton,\n {\n name: BUTTON_COMPONENT_NAME,\n displayName: \"Aria Button\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerButton\",\n importName: \"BaseButton\",\n interactionVariants,\n defaultStyles: {\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n padding: \"2px 10px\",\n cursor: \"pointer\",\n },\n props: {\n ...getCommonProps<BaseButtonProps>(\"button\", [\n \"isDisabled\",\n \"aria-label\",\n ]),\n children: {\n type: \"slot\",\n mergeWithParent: true as any,\n defaultValue: {\n type: \"text\",\n value: \"Button\",\n },\n },\n submitsForm: {\n type: \"boolean\",\n displayName: \"Submits form?\",\n defaultValueHint: false,\n hidden: (ps: BaseButtonProps) => Boolean(ps.resetsForm),\n description:\n \"Whether clicking this button should submit the enclosing form.\",\n advanced: true,\n },\n resetsForm: {\n type: \"boolean\",\n displayName: \"Resets form?\",\n defaultValueHint: false,\n hidden: (ps: BaseButtonProps) => Boolean(ps.submitsForm),\n description:\n \"Whether clicking this button should reset the enclosing form.\",\n advanced: true,\n },\n onPress: {\n type: \"eventHandler\",\n argTypes: [{ name: \"event\", type: \"object\" }],\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import React from \"react\";\nimport type { StrictItemType } from \"./option-utils\";\nimport { BaseCheckboxGroup } from \"./registerCheckboxGroup\";\nimport { BaseDialogTrigger } from \"./registerDialogTrigger\";\nimport type { BaseHeader } from \"./registerHeader\";\nimport type { BaseInput } from \"./registerInput\";\nimport type { BaseLabel } from \"./registerLabel\";\nimport type { BaseListBoxProps } from \"./registerListBox\";\nimport { BasePopover } from \"./registerPopover\";\nimport { BaseRadioGroup } from \"./registerRadioGroup\";\nimport type { BaseSection } from \"./registerSection\";\nimport { BaseSlider } from \"./registerSlider\";\nimport { BaseTextField } from \"./registerTextField\";\n\n// We pass down context props via our own Plasmic*Context instead of directly\n// using react-aria-component's *Context, because react-aria-component's\n// contexts don't \"merge\" with contexts further up the tree, so if we render\n// a context provider, it will just be overwritten by react-aria-component's\n// context provider. So we do the merging within our own Base* components\n// instead.\n\n// Creating the text field context here because input/textarea inside text field receive a null for the TextFieldContext\nexport const PlasmicTextFieldContext = React.createContext<\n React.ComponentProps<typeof BaseTextField> | undefined\n>(undefined);\n\nexport const PlasmicCheckboxGroupContext = React.createContext<\n React.ComponentProps<typeof BaseCheckboxGroup> | undefined\n>(undefined);\n\nexport const PlasmicRadioGroupContext = React.createContext<\n React.ComponentProps<typeof BaseRadioGroup> | undefined\n>(undefined);\n\nexport const PlasmicDialogTriggerContext = React.createContext<\n React.ComponentProps<typeof BaseDialogTrigger> | undefined\n>(undefined);\n\nexport type PlasmicSliderContextType<T extends number | number[]> =\n | React.ComponentProps<typeof BaseSlider<T>>\n | undefined;\n\nexport const PlasmicSliderContext =\n React.createContext<PlasmicSliderContextType<number | number[]>>(undefined);\n\nexport const PlasmicLabelContext = React.createContext<\n React.ComponentProps<typeof BaseLabel> | undefined\n>(undefined);\n\nexport const PlasmicPopoverContext = React.createContext<\n React.ComponentProps<typeof BasePopover> | undefined\n>(undefined);\n\nexport const PlasmicListBoxContext = React.createContext<\n BaseListBoxProps | undefined\n>(undefined);\n\nexport const PlasmicItemContext = React.createContext<\n StrictItemType | undefined\n>(undefined);\n\nexport const PlasmicSectionContext = React.createContext<\n React.ComponentProps<typeof BaseSection> | undefined\n>(undefined);\n\nexport const PlasmicHeaderContext = React.createContext<\n React.ComponentProps<typeof BaseHeader> | undefined\n>(undefined);\n\nexport const PlasmicInputContext = React.createContext<\n React.ComponentProps<typeof BaseInput> | undefined\n>(undefined);\n","import { PlasmicElement } from \"@plasmicapp/host\";\nimport React from \"react\";\nimport type { CheckboxProps } from \"react-aria-components\";\nimport { Checkbox } from \"react-aria-components\";\nimport { getCommonProps, hasParent } from \"./common\";\nimport { PlasmicCheckboxGroupContext } from \"./contexts\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport {\n CodeComponentMetaOverrides,\n HasControlContextData,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst CHECKBOX_INTERACTION_VARIANTS = [\n \"hovered\" as const,\n \"pressed\" as const,\n \"focused\" as const,\n \"focusVisible\" as const,\n \"indeterminate\" as const,\n \"disabled\" as const,\n \"selected\" as const,\n \"readonly\" as const,\n \"selected\" as const,\n];\n\ninterface BaseCheckboxProps extends CheckboxProps, HasControlContextData {\n children: React.ReactNode;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof CHECKBOX_INTERACTION_VARIANTS\n >;\n}\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n CHECKBOX_INTERACTION_VARIANTS\n);\n\nexport function BaseCheckbox(props: BaseCheckboxProps) {\n const { children, updateInteractionVariant, setControlContextData, ...rest } =\n props;\n const contextProps = React.useContext(PlasmicCheckboxGroupContext);\n\n setControlContextData?.({\n parent: contextProps,\n });\n\n return (\n <>\n <Checkbox {...rest}>\n {({\n isHovered,\n isPressed,\n isFocused,\n isFocusVisible,\n isDisabled,\n isIndeterminate,\n isSelected,\n isReadOnly,\n }) =>\n withObservedValues(\n children,\n {\n hovered: isHovered,\n pressed: isPressed,\n focused: isFocused,\n focusVisible: isFocusVisible,\n disabled: isDisabled,\n indeterminate: isIndeterminate,\n selected: isSelected,\n readonly: isReadOnly,\n },\n updateInteractionVariant\n )\n }\n </Checkbox>\n </>\n );\n}\n\nexport const makeDefaultCheckboxChildren = ({\n label,\n showDocs,\n}: {\n label: string;\n showDocs?: boolean;\n}): PlasmicElement => ({\n type: \"vbox\",\n styles: {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"2px\",\n padding: 0,\n },\n children: [\n {\n type: \"hbox\",\n styles: {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"10px\",\n padding: 0,\n },\n children: [\n {\n type: \"box\",\n styles: {\n width: \"7px\",\n height: \"7px\",\n borderRadius: \"3px\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n },\n },\n {\n type: \"text\",\n value: label,\n },\n ],\n },\n ...(showDocs\n ? [\n {\n type: \"text\",\n value: \"Add interaction variants to see it in action...\",\n } as PlasmicElement,\n ]\n : []),\n ],\n});\n\nexport function registerCheckbox(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseCheckbox>\n) {\n return registerComponentHelper(\n loader,\n BaseCheckbox,\n {\n name: makeComponentName(\"checkbox\"),\n displayName: \"Aria Checkbox\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerCheckbox\",\n importName: \"BaseCheckbox\",\n interactionVariants,\n props: {\n ...getCommonProps<BaseCheckboxProps>(\"checkbox\", [\n \"name\",\n \"isDisabled\",\n \"isReadOnly\",\n \"aria-label\",\n \"isRequired\",\n \"autoFocus\",\n ]),\n children: {\n type: \"slot\",\n mergeWithParent: true as any,\n defaultValue: makeDefaultCheckboxChildren({\n label: \"Label\",\n showDocs: true,\n }),\n },\n value: {\n type: \"string\",\n description:\n 'The value of the checkbox in \"selected\" state, used when submitting an HTML form.',\n defaultValueHint: \"on\",\n },\n isSelected: {\n type: \"boolean\",\n displayName: \"Default Selected\",\n editOnly: true,\n uncontrolledProp: \"defaultSelected\",\n description: \"Whether the checkbox should be selected by default\",\n defaultValueHint: false,\n defaultValue: false,\n },\n isIndeterminate: {\n displayName: \"Indeterminate\",\n type: \"boolean\",\n description:\n \"This state indicates that the checkbox is neither fully checked nor unchecked. It typically represents a partial selection when dealing with groups of options. Some but not all items in the group are selected, resulting in an indeterminate state for the checkbox.\",\n defaultValueHint: false,\n },\n isInvalid: {\n displayName: \"Invalid\",\n type: \"boolean\",\n description: \"Whether the input value is invalid\",\n defaultValueHint: false,\n },\n validationBehavior: {\n type: \"choice\",\n options: [\"native\", \"aria\"],\n description:\n \"Whether to use native HTML form validation to prevent form submission when the value is missing or invalid, or mark the field as required or invalid via ARIA.\",\n defaultValueHint: \"native\",\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isSelected\", type: \"boolean\" }],\n },\n },\n states: {\n isSelected: {\n type: \"writable\",\n valueProp: \"isSelected\",\n onChangeProp: \"onChange\",\n variableType: \"boolean\",\n hidden: hasParent,\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import React from \"react\";\nimport type { TextProps } from \"react-aria-components\";\nimport { Text } from \"react-aria-components\";\nimport {\n CodeComponentMetaOverrides,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nexport function BaseText({ children, ...rest }: TextProps) {\n return <Text {...rest}>{children}</Text>;\n}\n\nexport const TEXT_COMPONENT_NAME = makeComponentName(\"text\");\n\nexport function registerText(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseText>\n) {\n return registerComponentHelper(\n loader,\n BaseText,\n {\n name: TEXT_COMPONENT_NAME,\n displayName: \"Aria Text\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerText\",\n importName: \"BaseText\",\n props: {\n children: {\n type: \"slot\",\n mergeWithParent: true as any,\n defaultValue: {\n type: \"text\",\n value: \"Some text...\",\n },\n },\n slot: {\n type: \"choice\",\n options: [\"label\", \"description\"],\n defaultValueHint: \"label\",\n defaultValue: \"label\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import { BaseText, registerText } from \"./registerText\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n} from \"./utils\";\n\nexport const DESCRIPTION_COMPONENT_NAME = makeComponentName(\"description\");\n\nexport function registerDescription(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseText>\n) {\n return registerText(loader, {\n ...overrides,\n name: DESCRIPTION_COMPONENT_NAME,\n displayName: \"Aria Description\",\n props: {\n slot: {\n type: \"string\",\n hidden: () => true,\n defaultValue: \"description\",\n },\n },\n });\n}\n","import React from \"react\";\nimport type { FieldErrorProps } from \"react-aria-components\";\nimport { FieldError } from \"react-aria-components\";\nimport {\n CodeComponentMetaOverrides,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\ninterface BaseFieldErrorProps extends FieldErrorProps {\n useBuiltInValidation: boolean;\n badInput?: string;\n customError?: string;\n patternMismatch?: string;\n rangeOverflow?: string;\n rangeUnderflow?: string;\n stepMismatch?: string;\n tooLong?: string;\n tooShort?: string;\n typeMismatch?: string;\n valueMissing?: string;\n}\n\nexport function BaseFieldError({\n badInput,\n customError,\n patternMismatch,\n rangeOverflow,\n rangeUnderflow,\n stepMismatch,\n tooLong,\n tooShort,\n typeMismatch,\n valueMissing,\n ...rest\n}: BaseFieldErrorProps) {\n return (\n <FieldError {...rest}>\n {({ validationDetails, validationErrors }) => {\n if (validationDetails.badInput && badInput) {\n return badInput;\n }\n if (validationDetails.customError && customError) {\n return customError;\n }\n if (validationDetails.patternMismatch && patternMismatch) {\n return patternMismatch;\n }\n if (validationDetails.rangeOverflow && rangeOverflow) {\n return rangeOverflow;\n }\n if (validationDetails.rangeUnderflow && rangeUnderflow) {\n return rangeUnderflow;\n }\n if (validationDetails.stepMismatch && stepMismatch) {\n return stepMismatch;\n }\n if (validationDetails.tooLong && tooLong) {\n return tooLong;\n }\n if (validationDetails.tooShort && tooShort) {\n return tooShort;\n }\n if (validationDetails.typeMismatch && typeMismatch) {\n return typeMismatch;\n }\n if (validationDetails.valueMissing && valueMissing) {\n return valueMissing;\n }\n return validationErrors;\n }}\n </FieldError>\n );\n}\n\nfunction PropsDescription() {\n return (\n <div style={{ marginBottom: 20 }}>\n <p>\n You can customize the error messages for built-in validations by\n utilizing the props below.\n </p>\n <p>\n For further information on the specific conditions triggering each\n error, please refer to the{\" \"}\n <a\n target=\"_blank\"\n href=\"https://developer.mozilla.org/en-US/docs/Web/API/ValidityState#instance_properties\"\n >\n MDN Docs\n </a>\n .\n </p>\n </div>\n );\n}\n\nexport function registerFieldError(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseFieldError>\n) {\n registerComponentHelper(\n loader,\n BaseFieldError,\n {\n name: makeComponentName(\"fielderror\"),\n displayName: \"Aria Field Error\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerFieldError\",\n importName: \"BaseFieldError\",\n actions: [\n {\n type: \"custom-action\",\n control: PropsDescription,\n },\n ],\n props: {\n badInput: {\n type: \"string\",\n description:\n \"Error message if the user has provided input that the browser is unable to convert\",\n },\n customError: {\n type: \"string\",\n description: \"Error message for custom validations\",\n },\n patternMismatch: {\n type: \"string\",\n description:\n \"Error message if the value does not match the specified pattern\",\n },\n rangeOverflow: {\n type: \"string\",\n description:\n \"Error message if the value is greater than the maximum specified\",\n },\n rangeUnderflow: {\n type: \"string\",\n description:\n \"Error message if the value is less than the minimum specified\",\n },\n stepMismatch: {\n type: \"string\",\n description:\n \"Error message if the value is not evenly divisible by the step value\",\n },\n tooLong: {\n type: \"string\",\n description:\n \"Error message if the value exceeds the specified maximum number of characters\",\n },\n tooShort: {\n type: \"string\",\n description:\n \"Error message if the value fails to meet the specified minimum number of characters\",\n },\n typeMismatch: {\n type: \"string\",\n description:\n \"Error message if the value is not in the required syntax (when type is email or url)\",\n },\n valueMissing: {\n type: \"string\",\n description: \"Error message if a required field has no value\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import { Label } from \"react-aria-components\";\nimport {\n CodeComponentMetaOverrides,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nexport const BaseLabel = Label;\n\nexport const LABEL_COMPONENT_NAME = makeComponentName(\"label\");\n\nexport function registerLabel(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseLabel>\n) {\n registerComponentHelper(\n loader,\n BaseLabel,\n {\n name: LABEL_COMPONENT_NAME,\n displayName: \"Aria Label\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerLabel\",\n importName: \"BaseLabel\",\n defaultStyles: {\n cursor: \"pointer\",\n },\n props: {\n children: {\n type: \"slot\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import React from \"react\";\nimport type { CheckboxGroupProps } from \"react-aria-components\";\nimport { CheckboxGroup } from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport { PlasmicCheckboxGroupContext } from \"./contexts\";\nimport {\n pickAriaComponentVariants,\n UpdateInteractionVariant,\n} from \"./interaction-variant-utils\";\nimport {\n makeDefaultCheckboxChildren,\n registerCheckbox,\n} from \"./registerCheckbox\";\nimport { DESCRIPTION_COMPONENT_NAME } from \"./registerDescription\";\nimport { registerFieldError } from \"./registerFieldError\";\nimport { LABEL_COMPONENT_NAME, registerLabel } from \"./registerLabel\";\nimport {\n CodeComponentMetaOverrides,\n makeChildComponentName,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nconst CHECKBOX_GROUP_INTERACTION_VARIANTS = [\n \"disabled\" as const,\n \"readonly\" as const,\n];\n\nexport interface BaseCheckboxGroupProps extends CheckboxGroupProps {\n children?: React.ReactNode;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof CHECKBOX_GROUP_INTERACTION_VARIANTS\n >;\n}\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n CHECKBOX_GROUP_INTERACTION_VARIANTS\n);\n\nexport function BaseCheckboxGroup(props: BaseCheckboxGroupProps) {\n const { children, updateInteractionVariant, ...rest } = props;\n\n return (\n <PlasmicCheckboxGroupContext.Provider value={rest}>\n <CheckboxGroup {...rest}>\n {({ isDisabled, isReadOnly }) =>\n withObservedValues(\n children,\n {\n disabled: isDisabled,\n readonly: isReadOnly,\n },\n updateInteractionVariant\n )\n }\n </CheckboxGroup>\n </PlasmicCheckboxGroupContext.Provider>\n );\n}\n\nconst componentName = makeComponentName(\"checkboxGroup\");\n\nexport function registerCheckboxGroup(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseCheckboxGroup>\n) {\n const thisName = makeChildComponentName(\n overrides?.parentComponentName,\n componentName\n );\n\n registerFieldError(loader, { parentComponentName: thisName });\n const checkboxMeta = registerCheckbox(loader, {\n parentComponentName: thisName,\n });\n registerLabel(loader, { parentComponentName: thisName });\n\n registerComponentHelper(\n loader,\n BaseCheckboxGroup,\n {\n name: componentName,\n displayName: \"Aria Checkbox Group\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerCheckboxGroup\",\n importName: \"BaseCheckboxGroup\",\n interactionVariants,\n props: {\n ...getCommonProps<BaseCheckboxGroupProps>(\"checkbox group\", [\n \"name\",\n \"isDisabled\",\n \"isReadOnly\",\n \"aria-label\",\n \"children\",\n \"isRequired\",\n ]),\n children: {\n type: \"slot\",\n mergeWithParent: true as any,\n defaultValue: [\n {\n type: \"vbox\",\n styles: {\n display: \"flex\",\n gap: \"5px\",\n padding: 0,\n alignItems: \"flex-start\",\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Checkbox Group\",\n },\n },\n },\n {\n type: \"component\",\n name: checkboxMeta.name,\n props: {\n children: makeDefaultCheckboxChildren({\n label: \"Checkbox 1\",\n showDocs: false,\n }),\n value: \"checkbox1\",\n },\n },\n {\n type: \"component\",\n name: checkboxMeta.name,\n props: {\n children: makeDefaultCheckboxChildren({\n label: \"Checkbox 2\",\n showDocs: false,\n }),\n value: \"checkbox2\",\n },\n },\n {\n type: \"component\",\n name: checkboxMeta.name,\n props: {\n children: makeDefaultCheckboxChildren({\n label: \"Checkbox 3\",\n showDocs: false,\n }),\n value: \"checkbox3\",\n },\n },\n {\n type: \"component\",\n name: DESCRIPTION_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Add interaction variants to see it in action...\",\n },\n },\n },\n ],\n },\n ],\n },\n value: {\n type: \"array\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"The current value\",\n },\n isInvalid: {\n displayName: \"Invalid\",\n type: \"boolean\",\n description: \"Whether the input value is invalid\",\n defaultValueHint: false,\n },\n validationBehavior: {\n type: \"choice\",\n options: [\"native\", \"aria\"],\n description:\n \"Whether to use native HTML form validation to prevent form submission when the value is missing or invalid, or mark the field as required or invalid via ARIA.\",\n defaultValueHint: \"native\",\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"object\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"array\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import type { ArrayType, ChoiceType } from \"@plasmicapp/host/registerComponent\";\nimport React from \"react\";\n\nexport interface ObjectSectionType<T extends object> {\n label?: string;\n items?: ObjectItemType<T>[];\n}\ninterface FlexSectionType<T extends object> {\n label?: string;\n items?: FlexItemType<T>[];\n}\n\nexport type ObjectItemType<T extends object> = StrictOptionType | T;\ntype FlexItemType<T extends object> = ObjectItemType<T> | string;\n\nexport type FlexOptionType<T extends object> =\n | FlexItemType<T>\n | FlexSectionType<T>;\n\nexport type ObjectOptionType<T extends object> =\n | ObjectSectionType<T>\n | ObjectItemType<T>;\n\nexport interface HasOptions<T extends object> {\n options?: FlexOptionType<T>[];\n optionInfo?: (option: FlexOptionType<T>) => StrictOptionType;\n}\n\nexport interface StrictItemType {\n type?: \"option\";\n id: string;\n label?: string;\n isDisabled?: boolean;\n}\n\nexport interface StrictSectionType {\n type: \"option-group\";\n label?: string;\n items?: StrictItemType[];\n key: string;\n}\n\nexport type StrictOptionType = StrictItemType | StrictSectionType;\n\nexport function useStrictOptions<T extends object>(props: HasOptions<T>) {\n const { options, optionInfo } = props;\n return React.useMemo(() => {\n return deriveStrictOptions({ options, optionInfo });\n }, [options, optionInfo]);\n}\n\nexport function deriveStrictOptions<T extends object>(props: HasOptions<T>) {\n const { options, optionInfo } = props;\n let sectionCount = 0;\n\n const makeStrict = (op: FlexOptionType<T>): StrictOptionType | undefined => {\n if (!op) {\n return undefined;\n } else if (typeof op === \"string\" || typeof op === \"number\") {\n const item = {\n id: op,\n };\n return item;\n } else if (optionInfo) {\n const info = optionInfo(op);\n if (info.type === \"option-group\") {\n const section: StrictSectionType = {\n type: \"option-group\",\n items: info.items\n ?.map?.((item) => makeStrict(item) as StrictItemType)\n ?.filter((x) => !!x),\n label: info.label,\n key: `option-group-${sectionCount}`,\n };\n sectionCount += 1;\n return section;\n } else {\n let item = info;\n if (!(\"id\" in item)) {\n item = {\n type: \"option\",\n id: JSON.stringify(item),\n };\n }\n return item;\n }\n } else if (typeof op === \"object\") {\n if (\"items\" in op) {\n const section: StrictSectionType = {\n type: \"option-group\",\n items: op.items\n ?.map?.((item) => makeStrict(item) as StrictItemType)\n ?.filter((x) => !!x),\n label: op.label,\n key: `option-group-${sectionCount}`,\n };\n sectionCount += 1;\n return section;\n } else {\n let item = op;\n if (!(\"id\" in item)) {\n item = {\n type: \"option\",\n id: JSON.stringify(item),\n };\n }\n return item;\n }\n } else {\n return undefined;\n }\n };\n\n const strictOptions = options\n ?.map(makeStrict)\n ?.filter((x): x is StrictOptionType => !!x);\n\n const optionText = (op: StrictItemType) => {\n return op.label ?? op.id;\n };\n\n return { options: strictOptions, optionText };\n}\n\nexport function flattenOptions(\n options: (StrictItemType | StrictSectionType)[] | undefined\n): StrictItemType[] {\n if (!options) {\n return [];\n } else {\n return options.flatMap((op) =>\n op.type === \"option-group\" ? op.items ?? [] : op\n );\n }\n}\n\nexport function makeOptionsPropType() {\n const type: ArrayType<HasOptions<any>> = {\n type: \"array\",\n itemType: {\n type: \"object\",\n nameFunc: (item: any) => item.label || item.id,\n fields: {\n type: {\n type: \"choice\",\n options: [\n { value: \"option\", label: \"Option\" },\n { value: \"option-group\", label: \"Option Group\" },\n ],\n defaultValue: \"option\",\n },\n id: {\n type: \"string\",\n hidden: (_ps: any, _ctx: any, { item }: any) =>\n item.type !== \"option\",\n },\n label: \"string\",\n items: {\n type: \"array\",\n displayName: \"Options\",\n hidden: (_ps: any, _ctx: any, { item }: any) => {\n return item.type !== \"option-group\";\n },\n itemType: {\n type: \"object\",\n nameFunc: (item: any) => item.label || item.id,\n fields: {\n id: \"string\",\n label: \"string\",\n },\n },\n },\n },\n },\n defaultValue: [\n {\n id: \"option1\",\n label: \"Option 1\",\n type: \"option\",\n },\n {\n id: \"option2\",\n label: \"Option 2\",\n type: \"option\",\n },\n {\n label: \"Section 1\",\n type: \"option-group\",\n items: [\n {\n id: \"section-1-1\",\n label: \"Section item 1\",\n type: \"option\",\n },\n {\n id: \"section-1-2\",\n label: \"Section item 2\",\n type: \"option\",\n },\n ],\n },\n ],\n };\n return type;\n}\n\nexport function makeValuePropType() {\n const type: ChoiceType<HasOptions<any>> = {\n type: \"choice\",\n options: (ps: HasOptions<any>) => {\n const { options, optionText } = deriveStrictOptions(ps);\n return flattenOptions(options).map((op) => ({\n value: op.id,\n label: optionText(op),\n }));\n },\n };\n return type;\n}\n","import React, { ChangeEvent, useEffect } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport type { InputProps } from \"react-aria-components\";\nimport { Input } from \"react-aria-components\";\nimport { getCommonProps, resolveAutoComplete } from \"./common\";\nimport { PlasmicTextFieldContext } from \"./contexts\";\nimport {\n pickAriaComponentVariants,\n UpdateInteractionVariant,\n} from \"./interaction-variant-utils\";\nimport {\n CodeComponentMetaOverrides,\n HasControlContextData,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nconst INPUT_INTERACTION_VARIANTS = [\n \"focused\" as const,\n \"hovered\" as const,\n \"disabled\" as const,\n];\n\nconst { interactionVariants } = pickAriaComponentVariants(\n INPUT_INTERACTION_VARIANTS\n);\n\nexport interface BaseInputProps\n extends Omit<InputProps, \"autoComplete\">,\n HasControlContextData {\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof INPUT_INTERACTION_VARIANTS\n >;\n autoComplete?: string[];\n}\n\nexport const inputHelpers = {\n states: {\n value: {\n onChangeArgsToValue: (e: ChangeEvent<HTMLInputElement>) => {\n return e.target.value;\n },\n },\n },\n};\n\nexport function BaseInput(props: BaseInputProps) {\n const {\n updateInteractionVariant,\n setControlContextData,\n disabled,\n autoComplete,\n ...rest\n } = props;\n const textFieldContext = React.useContext(PlasmicTextFieldContext);\n\n setControlContextData?.({\n parent: textFieldContext,\n });\n\n const mergedProps = mergeProps(rest, {\n /**\n * While react-aria internally does the merging of the disabled prop,\n * we need to explicity do it here, because react-aria does it behind the scenes,\n * whereas we need the calculated value of the disabled prop to be able to update the \"disabled\" interaction variant.\n * */\n disabled: textFieldContext?.isDisabled ?? disabled,\n });\n\n // NOTE: Aria <Input> does not support render props, neither does it provide an onDisabledChange event, so we have to manually update the disabled state\n useEffect(() => {\n updateInteractionVariant?.({\n disabled: mergedProps.disabled,\n });\n }, [mergedProps.disabled, updateInteractionVariant]);\n\n return (\n <Input\n autoComplete={resolveAutoComplete(autoComplete)}\n onHoverChange={(isHovered) => {\n updateInteractionVariant?.({\n hovered: isHovered,\n });\n }}\n onFocus={() => {\n updateInteractionVariant?.({\n focused: true,\n });\n }}\n onBlur={() => {\n updateInteractionVariant?.({\n focused: false,\n });\n }}\n {...mergedProps}\n />\n );\n}\n\nexport const INPUT_COMPONENT_NAME = makeComponentName(\"input\");\n\nexport function registerInput(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseInput>\n) {\n registerComponentHelper(\n loader,\n BaseInput,\n {\n name: INPUT_COMPONENT_NAME,\n displayName: \"Aria Input\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerInput\",\n importName: \"BaseInput\",\n interactionVariants,\n defaultStyles: {\n width: \"300px\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n padding: \"2px 10px\",\n },\n props: {\n ...getCommonProps<BaseInputProps>(\"Input\", [\n \"name\",\n \"disabled\",\n \"readOnly\",\n \"autoFocus\",\n \"aria-label\",\n \"required\",\n \"placeholder\",\n \"value\",\n \"maxLength\",\n \"minLength\",\n \"pattern\",\n \"type\",\n \"inputMode\",\n \"autoComplete\",\n \"onChange\",\n \"onFocus\",\n \"onBlur\",\n \"onKeyDown\",\n \"onKeyUp\",\n \"onCopy\",\n \"onCut\",\n \"onPaste\",\n \"onCompositionStart\",\n \"onCompositionEnd\",\n \"onCompositionUpdate\",\n \"onSelect\",\n \"onBeforeInput\",\n \"onInput\",\n ]),\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n ...inputHelpers.states.value,\n },\n },\n componentHelpers: {\n helpers: inputHelpers,\n importName: \"inputHelpers\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerInput\",\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import { Component, ReactNode } from \"react\";\n\ninterface ErrorBoundaryProps {\n children: ReactNode;\n fallback: ReactNode;\n}\n\ninterface ErrorBoundaryState {\n hasError: boolean;\n}\n\nclass ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {\n constructor(props: ErrorBoundaryProps) {\n super(props);\n this.state = { hasError: false };\n }\n\n static getDerivedStateFromError(_: Error): ErrorBoundaryState {\n // Update state so the next render will show the fallback UI.\n return { hasError: true };\n }\n\n render() {\n if (this.state.hasError) {\n return this.props.fallback;\n }\n\n return this.props.children;\n }\n}\n\nexport default ErrorBoundary;\n","import { PlasmicElement } from \"@plasmicapp/host\";\nimport { mergeProps } from \"@react-aria/utils\";\nimport React from \"react\";\nimport { ListBox, ListBoxItem } from \"react-aria-components\";\nimport { PlasmicItemContext } from \"./contexts\";\nimport ErrorBoundary from \"./ErrorBoundary\";\nimport { DESCRIPTION_COMPONENT_NAME } from \"./registerDescription\";\nimport { TEXT_COMPONENT_NAME } from \"./registerText\";\nimport {\n CodeComponentMetaOverrides,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nexport function BaseListBoxItem(\n props: React.ComponentProps<typeof ListBoxItem>\n) {\n const contextProps = React.useContext(PlasmicItemContext);\n const mergedProps = mergeProps(contextProps, props);\n\n const listboxItem = (\n <ListBoxItem {...mergedProps} textValue={contextProps?.label}>\n {mergedProps.children as React.ReactNode}\n </ListBoxItem>\n );\n return (\n <ErrorBoundary fallback={<ListBox>{listboxItem}</ListBox>}>\n {listboxItem}\n </ErrorBoundary>\n );\n}\n\nexport const makeDefaultListBoxItemChildren = (\n label: string,\n description?: string\n): PlasmicElement => ({\n type: \"vbox\",\n styles: {\n display: \"flex\",\n alignItems: \"flex-start\",\n gap: \"2px\",\n },\n children: [\n {\n type: \"component\",\n name: TEXT_COMPONENT_NAME,\n props: {\n slot: \"label\",\n children: {\n type: \"text\",\n styles: {\n fontWeight: 500,\n },\n value: label,\n },\n },\n },\n {\n type: \"component\",\n name: DESCRIPTION_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n styles: {\n color: \"#838383\",\n },\n value: description ?? `Some description for ${label}...`,\n },\n },\n },\n ],\n});\n\nexport function registerListBoxItem(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseListBoxItem>\n) {\n return registerComponentHelper(\n loader,\n BaseListBoxItem,\n {\n name: makeComponentName(\"item\"),\n displayName: \"Aria ListBoxItem\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerListBoxItem\",\n importName: \"BaseListBoxItem\",\n props: {\n children: {\n type: \"slot\",\n defaultValue: makeDefaultListBoxItemChildren(\"Item\"),\n },\n },\n },\n overrides\n );\n}\n","import { mergeProps } from \"@react-aria/utils\";\nimport React from \"react\";\nimport { Header } from \"react-aria-components\";\nimport { PlasmicHeaderContext } from \"./contexts\";\nimport {\n CodeComponentMetaOverrides,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\nexport function BaseHeader(props: React.ComponentProps<typeof Header>) {\n const contextProps = React.useContext(PlasmicHeaderContext);\n return <Header {...mergeProps(contextProps, props)} />;\n}\n\nexport function registerHeader(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseHeader>\n) {\n return registerComponentHelper(\n loader,\n BaseHeader,\n {\n name: makeComponentName(\"header\"),\n displayName: \"Aria Header\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerHeader\",\n importName: \"BaseHeader\",\n defaultStyles: {\n fontWeight: \"bold\",\n fontSize: \"20px\",\n },\n props: {},\n },\n overrides\n );\n}\n","import { mergeProps } from \"@react-aria/utils\";\nimport React from \"react\";\nimport { Collection, Key, Section } from \"react-aria-components\";\nimport {\n PlasmicHeaderContext,\n PlasmicItemContext,\n PlasmicSectionContext,\n} from \"./contexts\";\nimport type { StrictSectionType } from \"./option-utils\";\nimport { registerHeader } from \"./registerHeader\";\nimport {\n CodeComponentMetaOverrides,\n makeChildComponentName,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n Styleable,\n} from \"./utils\";\n\nexport interface BaseSectionProps extends Styleable {\n // Configured via Studio\n renderHeader?: (section: any) => React.ReactNode;\n\n // Passed down via context from ListBox\n renderItem?: (item?: any) => React.ReactNode;\n key?: Key;\n section?: StrictSectionType;\n}\n\nexport function BaseSection(props: BaseSectionProps) {\n const contextProps = React.useContext(PlasmicSectionContext);\n const mergedProps = mergeProps(contextProps, props);\n const { section, renderHeader, key, renderItem } = mergedProps;\n\n return (\n <Section id={key} {...mergedProps}>\n <PlasmicHeaderContext.Provider value={{ children: section?.label }}>\n {renderHeader?.(section)}\n </PlasmicHeaderContext.Provider>\n <Collection items={section?.items}>\n {(item) => {\n return (\n <PlasmicItemContext.Provider value={item}>\n {renderItem?.(item)}\n </PlasmicItemContext.Provider>\n );\n }}\n </Collection>\n </Section>\n );\n}\n\nexport function registerSection(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSection>\n) {\n const thisName = makeChildComponentName(\n overrides?.parentComponentName,\n makeComponentName(\"section\")\n );\n\n const headerMeta = registerHeader(loader, {\n parentComponentName: thisName,\n });\n\n return registerComponentHelper(\n loader,\n BaseSection,\n {\n name: makeComponentName(\"section\"),\n displayName: \"Aria Section\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSection\",\n importName: \"BaseSection\",\n defaultStyles: {\n width: \"stretch\",\n padding: \"10px\",\n },\n props: {\n renderHeader: {\n type: \"slot\",\n displayName: \"Render section header\",\n renderPropParams: [\"sectionProps\"],\n defaultValue: {\n type: \"component\",\n name: headerMeta.name,\n },\n },\n },\n },\n overrides\n );\n}\n","import { mergeProps } from \"@react-aria/utils\";\nimport React from \"react\";\nimport { ListBox } from \"react-aria-components\";\nimport { hasParent } from \"./common\";\nimport {\n PlasmicItemContext,\n PlasmicListBoxContext,\n PlasmicSectionContext,\n} from \"./contexts\";\nimport {\n HasOptions,\n makeOptionsPropType,\n StrictOptionType,\n useStrictOptions,\n} from \"./option-utils\";\nimport {\n makeDefaultListBoxItemChildren,\n registerListBoxItem,\n} from \"./registerListBoxItem\";\nimport { registerSection } from \"./registerSection\";\nimport {\n CodeComponentMetaOverrides,\n HasControlContextData,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nexport interface BaseListBoxProps\n extends React.ComponentProps<typeof ListBox>,\n HasOptions<any>,\n HasControlContextData {\n renderItem?: (item: any) => React.ReactNode;\n renderSection?: (section: any) => React.ReactNode;\n getItemType?: (thing: any) => \"item\" | \"section\";\n}\n\nexport function BaseListBox(props: BaseListBoxProps) {\n const contextProps = React.useContext(PlasmicListBoxContext);\n const isStandalone: boolean = !contextProps;\n const { options: _rawOptions, setControlContextData, ...rest } = props;\n const { options } = useStrictOptions(props);\n const { renderItem, renderSection, ...mergedProps } = mergeProps(\n contextProps,\n rest,\n isStandalone ? { items: options } : {}\n );\n\n // Tell the prop control about whether the listbox is standalone or not, so it can hide/show the items prop\n setControlContextData?.({\n parent: isStandalone ? undefined : {},\n });\n\n return (\n <ListBox {...mergedProps}>\n {(item: StrictOptionType) => {\n if (item.type === \"option-group\") {\n return (\n <>\n <PlasmicSectionContext.Provider\n value={{\n renderItem,\n key: item.key ?? item.label,\n section: item,\n }}\n >\n {renderSection?.(item)}\n </PlasmicSectionContext.Provider>\n </>\n );\n } else {\n return (\n <PlasmicItemContext.Provider value={item}>\n {renderItem?.(item)}\n </PlasmicItemContext.Provider>\n );\n }\n }}\n </ListBox>\n );\n}\n\nexport const LIST_BOX_COMPONENT_NAME = makeComponentName(\"listbox\");\n\nexport function registerListBox(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseListBox>\n) {\n const listBoxItemMeta = registerListBoxItem(loader, {\n parentComponentName: LIST_BOX_COMPONENT_NAME,\n });\n const sectionMeta = registerSection(loader, {\n parentComponentName: LIST_BOX_COMPONENT_NAME,\n });\n\n registerComponentHelper(\n loader,\n BaseListBox,\n {\n name: LIST_BOX_COMPONENT_NAME,\n displayName: \"Aria ListBox\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerListBox\",\n importName: \"BaseListBox\",\n defaultStyles: {\n width: \"250px\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n },\n props: {\n options: {\n ...makeOptionsPropType(),\n displayName: \"Items\",\n hidden: hasParent,\n },\n renderItem: {\n type: \"slot\",\n displayName: \"Render Item\",\n renderPropParams: [\"itemProps\"],\n defaultValue: {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n children: makeDefaultListBoxItemChildren(\n \"Item (itemProps.label)\",\n \"Connect with `itemProps` in the data picker to display list box items\"\n ),\n },\n },\n },\n renderSection: {\n type: \"slot\",\n displayName: \"Render Section\",\n renderPropParams: [\"sectionProps\"],\n defaultValue: {\n type: \"component\",\n name: sectionMeta.name,\n styles: {\n backgroundColor: \"#F4FAFF\",\n },\n },\n },\n },\n },\n overrides\n );\n}\n","import { PlasmicElement, usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport { mergeProps } from \"@react-aria/utils\";\nimport React from \"react\";\nimport { Popover, PopoverContext, SelectContext } from \"react-aria-components\";\nimport { PlasmicPopoverContext } from \"./contexts\";\nimport {\n CodeComponentMetaOverrides,\n HasControlContextData,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nexport interface PopoverControlContextData {\n defaultShouldFlip?: boolean;\n}\n\nexport interface BasePopoverProps\n extends React.ComponentProps<typeof Popover>,\n HasControlContextData<PopoverControlContextData> {\n className?: string;\n resetClassName?: string;\n}\n\nexport function BasePopover(props: BasePopoverProps) {\n const { resetClassName, setControlContextData, ...restProps } = props;\n const isStandalone = !React.useContext(PopoverContext);\n const context = React.useContext(PlasmicPopoverContext);\n const isInsideSelect = !!React.useContext(SelectContext);\n const triggerRef = React.useRef<any>(null);\n const isEditMode = !!usePlasmicCanvasContext();\n\n // Select/Combobox popovers should not flip by default\n const defaultShouldFlip = isInsideSelect ? false : true;\n\n const mergedProps = mergeProps(\n { shouldFlip: defaultShouldFlip },\n context,\n /**\n * isNonModal: Whether the popover is non-modal, i.e. elements outside the popover may be interacted with by assistive technologies. *\n *\n * Setting isNonModal to true in edit mode (canvas) means that the popover will not prevent the user from interacting with the canvas while the popover is open.\n */\n isEditMode ? { isNonModal: true } : null,\n restProps,\n { className: `${resetClassName}` },\n // Override some props if the popover is standalone\n isStandalone\n ? {\n triggerRef,\n isNonModal: true,\n isOpen: true,\n }\n : null\n );\n\n setControlContextData?.({\n defaultShouldFlip,\n });\n\n return (\n <>\n {isStandalone && <div ref={triggerRef} />}\n <Popover {...mergedProps} />\n </>\n );\n}\n\nexport const POPOVER_COMPONENT_NAME = makeComponentName(\"popover\");\nexport const POPOVER_ARROW_IMG: PlasmicElement = {\n type: \"img\",\n // TODO: Replace with the image of an arrow pointing up, like: https://icon-sets.iconify.design/mdi/triangle/\n src: \"https://static1.plasmic.app/arrow-up.svg\",\n styles: {\n position: \"absolute\",\n top: \"-14px\",\n // center the arrow horizontally on the popover\n left: \"50%\",\n transform: \"translateX(-50%)\",\n width: \"15px\",\n },\n};\n\nexport function registerPopover(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BasePopover>\n) {\n registerComponentHelper(\n loader,\n BasePopover,\n {\n name: POPOVER_COMPONENT_NAME,\n displayName: \"Aria Popover\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerPopover\",\n importName: \"BasePopover\",\n defaultStyles: {\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n padding: \"20px\",\n width: \"300px\",\n backgroundColor: \"#FDE3C3\",\n },\n props: {\n children: {\n type: \"slot\",\n defaultValue: [\n POPOVER_ARROW_IMG,\n {\n type: \"vbox\",\n styles: {\n width: \"stretch\",\n padding: 0,\n gap: \"10px\",\n },\n children: [\n {\n type: \"text\",\n value: \"This is a Popover!\",\n },\n {\n type: \"text\",\n value: \"You can put anything you can imagine here!\",\n styles: {\n fontWeight: 500,\n },\n },\n {\n type: \"text\",\n value:\n \"Use it in a `Aria Dialog Trigger` component to trigger it on a button click!\",\n },\n ],\n },\n ],\n },\n offset: {\n type: \"number\",\n displayName: \"Offset\",\n description:\n \"Additional offset applied vertically between the popover and its trigger\",\n defaultValueHint: 0,\n },\n shouldFlip: {\n type: \"boolean\",\n description:\n \"Whether the element should flip its orientation (e.g. top to bottom or left to right) when there is insufficient room for it to render completely.\",\n defaultValueHint: (\n _ps: BasePopoverProps,\n ctx: PopoverControlContextData | null\n ) => ctx?.defaultShouldFlip ?? true,\n },\n placement: {\n type: \"choice\",\n description:\n \"Default placement of the popover relative to the trigger, if there is enough space\",\n defaultValueHint: \"bottom\",\n options: [\n \"bottom\",\n \"bottom left\",\n \"bottom right\",\n \"top\",\n \"top left\",\n \"top right\",\n ],\n },\n resetClassName: {\n type: \"themeResetClass\",\n },\n },\n styleSections: true,\n },\n overrides\n );\n}\n","import { useFilter } from \"@react-aria/i18n\";\nimport React from \"react\";\nimport { ComboBox, ComboBoxStateContext, Key } from \"react-aria-components\";\nimport { PlasmicInputContext, PlasmicListBoxContext } from \"./contexts\";\nimport {\n flattenOptions,\n HasOptions,\n makeOptionsPropType,\n makeValuePropType,\n StrictItemType,\n StrictOptionType,\n useStrictOptions,\n} from \"./option-utils\";\nimport { BUTTON_COMPONENT_NAME } from \"./registerButton\";\nimport { INPUT_COMPONENT_NAME } from \"./registerInput\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport { LIST_BOX_COMPONENT_NAME } from \"./registerListBox\";\nimport { POPOVER_COMPONENT_NAME } from \"./registerPopover\";\nimport {\n extractPlasmicDataProps,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n Styleable,\n withoutNils,\n} from \"./utils\";\n\nexport interface BaseComboBoxProps<T extends object>\n extends HasOptions<T>,\n Styleable {\n placeholder?: string;\n isDisabled?: boolean;\n menuTrigger?: React.ComponentProps<typeof ComboBox>[\"menuTrigger\"];\n\n valueType?: \"value\" | \"text\";\n allowsCustomValue?: boolean;\n\n value?: Key;\n onChange?: (value: Key) => void;\n\n filterValue?: string;\n onFilterValueChange?: (value: string) => void;\n\n previewOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n\n structure?: React.ReactNode;\n\n name?: string;\n}\n\nexport function BaseComboBox<T extends object>(props: BaseComboBoxProps<T>) {\n const {\n value,\n onChange,\n menuTrigger,\n filterValue,\n onFilterValueChange,\n valueType,\n allowsCustomValue,\n placeholder,\n previewOpen,\n onOpenChange,\n isDisabled,\n className,\n style,\n structure,\n name,\n } = props;\n const { options, optionText } = useStrictOptions(props);\n const { contains } = useFilter({ sensitivity: \"base\" });\n const [showAllOptions, setShowAllOptions] = React.useState(false);\n\n const filteredOptions = React.useMemo(() => {\n if (!filterValue || filterValue.trim().length === 0) {\n return options;\n }\n if (!options) {\n return options;\n }\n const filterOptions = (\n opts: StrictOptionType[]\n ): StrictOptionType[] | undefined => {\n return withoutNils(\n opts.map((op) => {\n if (op.type === \"option-group\") {\n return {\n ...op,\n items: op.items\n ? (filterOptions(op.items) as StrictItemType[])\n : undefined,\n };\n } else {\n if (contains(optionText(op), filterValue)) {\n return op;\n } else {\n return undefined;\n }\n }\n })\n );\n };\n return filterOptions(options);\n }, [filterValue, options, contains, optionText]);\n\n const flattenedOptions = React.useMemo(\n () => flattenOptions(options),\n [options]\n );\n\n const disabledKeys = flattenedOptions\n .filter((op) => op.isDisabled)\n .map((op) => op.id);\n\n const onSelectionChange = React.useCallback(\n (key: Key | null) => {\n if (key === null) {\n return;\n }\n\n const selectedOption = flattenedOptions?.find((op) => op.id === key);\n if (valueType === \"text\") {\n if (selectedOption) {\n onChange?.(optionText(selectedOption));\n }\n } else {\n onChange?.(key);\n }\n if (selectedOption) {\n onFilterValueChange?.(optionText(selectedOption));\n }\n },\n [flattenedOptions, valueType, onChange, optionText, onFilterValueChange]\n );\n\n const onInputValueChange = React.useCallback(\n (newValue: string) => {\n onFilterValueChange?.(newValue);\n setShowAllOptions(false);\n if (valueType === \"text\") {\n if (allowsCustomValue) {\n onChange?.(newValue);\n } else {\n const matchingOption = flattenedOptions?.find(\n (op) => optionText(op) === newValue\n );\n if (matchingOption) {\n onChange?.(optionText(matchingOption));\n }\n }\n }\n },\n [\n onFilterValueChange,\n onChange,\n flattenedOptions,\n optionText,\n valueType,\n allowsCustomValue,\n ]\n );\n\n const onBlur = React.useCallback(() => {\n // If we don't allow custom value, then on blur, reset the filter value\n // to the selected option\n if (!allowsCustomValue) {\n const selectedOption = flattenedOptions?.find((op) =>\n valueType === \"text\" ? optionText(op) === value : op.id === value\n );\n if (selectedOption) {\n const selectedOptionText = optionText(selectedOption);\n if (selectedOptionText !== filterValue) {\n onFilterValueChange?.(selectedOptionText);\n }\n }\n }\n }, [\n allowsCustomValue,\n flattenedOptions,\n valueType,\n optionText,\n value,\n filterValue,\n onFilterValueChange,\n ]);\n\n return (\n <ComboBox\n selectedKey={value}\n onSelectionChange={onSelectionChange}\n isDisabled={isDisabled}\n className={className}\n style={style}\n items={showAllOptions ? options : filteredOptions}\n menuTrigger={menuTrigger}\n inputValue={filterValue}\n onInputChange={onInputValueChange}\n allowsCustomValue={allowsCustomValue}\n disabledKeys={disabledKeys}\n onOpenChange={(isOpen, trigger) => {\n if (isOpen && trigger === \"manual\") {\n setShowAllOptions(true);\n } else {\n setShowAllOptions(false);\n }\n onOpenChange?.(isOpen);\n }}\n onBlur={onBlur}\n formValue={valueType === \"text\" ? \"text\" : \"key\"}\n name={name}\n {...extractPlasmicDataProps(props)}\n >\n <PlasmicListBoxContext.Provider\n value={{\n getItemType: (option) =>\n option.type === \"section\" ? \"section\" : \"item\",\n }}\n >\n <PlasmicInputContext.Provider value={{ placeholder }}>\n {structure}\n </PlasmicInputContext.Provider>\n </PlasmicListBoxContext.Provider>\n <BaseComboBoxEffects previewOpen={previewOpen} />\n </ComboBox>\n );\n}\n\nfunction BaseComboBoxEffects(\n props: Pick<BaseComboBoxProps<any>, \"previewOpen\">\n) {\n const { previewOpen } = props;\n const comboBoxState = React.useContext(ComboBoxStateContext);\n\n const prevPreviewOpenRef = React.useRef(previewOpen);\n React.useEffect(() => {\n // comboBoxState can be undefined if we are in `<Hidden/>`\n if (comboBoxState) {\n // There's no \"isOpen\" controlled state for ComboBox, so we use\n // sync comboBoxState with previewOpen prop instead\n if (previewOpen) {\n comboBoxState.open(undefined, \"manual\");\n } else if (prevPreviewOpenRef.current) {\n // Was previously previewOpen, now preview close\n comboBoxState.close();\n }\n }\n prevPreviewOpenRef.current = previewOpen;\n }, [previewOpen, comboBoxState, prevPreviewOpenRef]);\n\n return null;\n}\n\nexport function registerComboBox(loader?: Registerable) {\n const rootName = makeComponentName(\"combobox\");\n\n registerComponentHelper(loader, BaseComboBox, {\n name: rootName,\n displayName: \"Aria ComboBox\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerComboBox\",\n importName: \"BaseComboBox\",\n props: {\n options: makeOptionsPropType(),\n value: makeValuePropType(),\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"string\" }],\n },\n filterValue: {\n type: \"string\",\n },\n onFilterValueChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"string\" }],\n },\n isDisabled: {\n type: \"boolean\",\n },\n valueType: {\n displayName: \"`value` Type\",\n type: \"choice\",\n options: [\n { value: \"value\", label: \"By option value\" },\n { value: \"text\", label: \"By option text\" },\n ],\n defaultValueHint: \"value\",\n description:\n \"This controls whether `value` and `onChange` are option values or option text. Choosing `text` allows you to optionally allow a custom value that's not in the provided list of options.\",\n advanced: true,\n },\n allowsCustomValue: {\n type: \"boolean\",\n displayName: \"Allows custom value?\",\n description: \"Allows entering a value that is not one of the options\",\n hidden: (ps) => ps.valueType !== \"text\",\n advanced: true,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n structure: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"vbox\",\n styles: {\n justifyContent: \"flex-start\",\n alignItems: \"flex-start\",\n width: \"300px\",\n padding: 0,\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Label\",\n },\n },\n },\n {\n type: \"hbox\",\n styles: {\n width: \"stretch\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n padding: 0,\n position: \"relative\",\n },\n children: [\n {\n type: \"component\",\n name: INPUT_COMPONENT_NAME,\n styles: {\n borderWidth: 0,\n width: \"100%\",\n padding: \"2px 30px 2px 10px\",\n },\n },\n {\n type: \"component\",\n name: BUTTON_COMPONENT_NAME,\n styles: {\n borderWidth: 0,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n position: \"absolute\",\n right: \"10px\",\n top: 0,\n padding: 0,\n height: \"100%\",\n },\n props: {\n children: {\n type: \"img\",\n src: \"https://static1.plasmic.app/arrow-up.svg\",\n styles: {\n height: \"20px\",\n width: \"20px\",\n transform: \"rotate(180deg)\",\n },\n },\n },\n },\n ],\n },\n {\n type: \"component\",\n name: POPOVER_COMPONENT_NAME,\n styles: {\n backgroundColor: \"white\",\n width: \"300px\",\n padding: \"10px\",\n overflow: \"scroll\",\n },\n props: {\n children: [\n {\n type: \"component\",\n name: LIST_BOX_COMPONENT_NAME,\n styles: {\n borderWidth: 0,\n width: \"stretch\",\n },\n },\n ],\n },\n },\n ],\n },\n ],\n },\n previewOpen: {\n type: \"boolean\",\n displayName: \"Preview opened?\",\n description: \"Preview opened state while designing in Plasmic editor\",\n editOnly: true,\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n },\n filterValue: {\n type: \"writable\",\n valueProp: \"filterValue\",\n onChangeProp: \"onFilterValueChange\",\n variableType: \"text\",\n },\n isOpen: {\n type: \"readonly\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n });\n}\n","import { usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport React, { forwardRef, useImperativeHandle } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport {\n Dialog,\n Heading,\n Modal,\n ModalOverlay,\n ModalOverlayProps,\n} from \"react-aria-components\";\nimport { hasParent } from \"./common\";\nimport { PlasmicDialogTriggerContext } from \"./contexts\";\nimport {\n CodeComponentMetaOverrides,\n HasControlContextData,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nexport interface BaseModalProps\n extends ModalOverlayProps,\n HasControlContextData {\n heading: React.ReactNode;\n modalOverlayClass: string;\n}\n\nexport interface BaseModalActions {\n close(): void;\n open(): void;\n}\n\nexport const BaseModal = forwardRef<BaseModalActions, BaseModalProps>(\n function _BaseModal(props, ref) {\n const {\n children,\n heading,\n modalOverlayClass,\n className,\n isOpen,\n setControlContextData,\n ...rest\n } = props;\n\n const contextProps = React.useContext(PlasmicDialogTriggerContext);\n const isStandalone = !contextProps;\n const mergedProps = mergeProps(contextProps, rest, {\n isOpen: isStandalone ? isOpen : contextProps.isOpen,\n });\n\n setControlContextData?.({\n parent: isStandalone ? undefined : {},\n });\n\n // Expose close operation using useImperativeHandle\n useImperativeHandle(ref, () => ({\n close: () => {\n mergedProps.onOpenChange?.(false);\n },\n open: () => {\n mergedProps.onOpenChange?.(true);\n },\n }));\n\n const isCanvas = usePlasmicCanvasContext();\n const body = (\n <>\n {heading && <Heading slot=\"title\">{heading}</Heading>}\n {children}\n </>\n );\n\n return (\n <ModalOverlay {...mergedProps} className={modalOverlayClass}>\n <Modal className={className}>\n {isCanvas ? body : <Dialog>{body}</Dialog>}\n </Modal>\n </ModalOverlay>\n );\n }\n);\n\nexport const MODAL_COMPONENT_NAME = makeComponentName(\"modal\");\n\nexport function registerModal(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseModal>\n) {\n registerComponentHelper(\n loader,\n BaseModal,\n {\n name: MODAL_COMPONENT_NAME,\n displayName: \"Aria Modal\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerModal\",\n importName: \"BaseModal\",\n styleSections: true,\n defaultStyles: {\n // centering the modal on the page by default\n position: \"fixed\",\n top: \"10%\",\n left: \"50%\",\n width: \"50%\",\n transform: \"translateX(-50%)\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n padding: \"20px\",\n maxWidth: \"300px\",\n backgroundColor: \"#FDE3C3\",\n },\n refActions: {\n open: {\n description: \"Open the modal\",\n argTypes: [],\n },\n close: {\n description: \"Close the modal\",\n argTypes: [],\n },\n },\n props: {\n heading: {\n type: \"slot\",\n defaultValue: {\n type: \"text\",\n value: \"Modal Heading\",\n styles: {\n fontSize: \"20px\",\n fontWeight: \"bold\",\n marginBottom: \"10px\",\n },\n },\n },\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"vbox\",\n styles: {\n width: \"stretch\",\n padding: 0,\n gap: \"10px\",\n justifyContent: \"flex-start\",\n alignItems: \"flex-start\",\n },\n children: [\n {\n type: \"text\",\n value: \"This is a Modal!\",\n },\n {\n type: \"text\",\n value: \"You can put anything you can imagine here!\",\n styles: {\n fontWeight: 500,\n },\n },\n {\n type: \"text\",\n value:\n \"Use it in a `Aria Dialog Trigger` component to trigger it on a button click!\",\n },\n ],\n },\n },\n modalOverlayClass: {\n type: \"class\",\n displayName: \"Modal Overlay\",\n },\n isOpen: {\n type: \"boolean\",\n editOnly: true,\n uncontrolledProp: \"defaultOpen\",\n defaultValueHint: false,\n defaultValue: true,\n hidden: hasParent,\n },\n isDismissable: {\n type: \"boolean\",\n description:\n \"Whether to close the modal when the user interacts outside it.\",\n },\n isKeyboardDismissDisabled: {\n type: \"boolean\",\n description:\n \"Whether pressing the escape key to close the modal should be disabled.\",\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n },\n states: {\n isOpen: {\n type: \"writable\",\n valueProp: \"isOpen\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n hidden: hasParent,\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import React from \"react\";\nimport { DialogTrigger } from \"react-aria-components\";\nimport { PlasmicDialogTriggerContext } from \"./contexts\";\nimport { BUTTON_COMPONENT_NAME } from \"./registerButton\";\nimport { MODAL_COMPONENT_NAME } from \"./registerModal\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nexport interface BaseDialogTriggerProps\n extends React.ComponentProps<typeof DialogTrigger> {\n trigger: React.ReactNode;\n dialog: React.ReactNode;\n}\n\nexport function BaseDialogTrigger(props: BaseDialogTriggerProps) {\n const { trigger, dialog, ...rest } = props;\n\n return (\n <PlasmicDialogTriggerContext.Provider value={props}>\n <DialogTrigger {...rest}>\n {trigger}\n {dialog}\n </DialogTrigger>\n </PlasmicDialogTriggerContext.Provider>\n );\n}\n\nexport function registerDialogTrigger(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseDialogTrigger>\n) {\n registerComponentHelper(\n loader,\n BaseDialogTrigger,\n {\n name: makeComponentName(\"dialogTrigger\"),\n displayName: \"Aria Dialog Trigger\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerDialogTrigger\",\n importName: \"BaseDialogTrigger\",\n isAttachment: true,\n props: {\n trigger: {\n type: \"slot\",\n defaultValue: {\n type: \"component\",\n name: BUTTON_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Open Dialog\",\n },\n },\n },\n },\n dialog: {\n type: \"slot\",\n defaultValue: {\n type: \"component\",\n name: MODAL_COMPONENT_NAME,\n },\n },\n isOpen: {\n type: \"boolean\",\n defaultValueHint: false,\n editOnly: true,\n uncontrolledProp: \"defaultOpen\",\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n },\n states: {\n isOpen: {\n type: \"writable\",\n valueProp: \"isOpen\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import React from \"react\";\nimport type { FormProps } from \"react-aria-components\";\nimport { Form } from \"react-aria-components\";\nimport {\n CodeComponentMetaOverrides,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\ninterface BaseFormProps extends Omit<FormProps, \"onSubmit\"> {\n onSubmit: (\n data: Record<string, FormDataEntryValue | FormDataEntryValue[] | null>\n ) => void;\n}\n\nexport function BaseForm(props: BaseFormProps) {\n const { onSubmit, children, ...rest } = props;\n return (\n <Form\n onSubmit={(e) => {\n e.preventDefault();\n const formData = new FormData(e.currentTarget);\n const formValues: {\n [key: string]: FormDataEntryValue | FormDataEntryValue[] | null;\n } = {};\n formData.forEach((value, key) => {\n const field = e.currentTarget.elements.namedItem(key);\n if (\n field instanceof RadioNodeList &&\n (Array.from(field.values()) as HTMLInputElement[]).every(\n (f) => f.type === \"checkbox\"\n )\n ) {\n formValues[key] = formData.getAll(key);\n } else {\n (field as HTMLInputElement).type;\n formValues[key] = formData.get(key);\n }\n });\n onSubmit?.(formValues);\n }}\n {...rest}\n >\n {children}\n </Form>\n );\n}\n\nexport function registerForm(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseForm>\n) {\n registerComponentHelper(\n loader,\n BaseForm,\n {\n name: makeComponentName(\"form\"),\n displayName: \"Aria Form\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerForm\",\n importName: \"BaseForm\",\n props: {\n children: {\n type: \"slot\",\n },\n onSubmit: {\n type: \"eventHandler\",\n argTypes: [{ name: \"data\", type: \"object\" }],\n } as any,\n onReset: {\n type: \"eventHandler\",\n argTypes: [],\n } as any,\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import { PlasmicElement } from \"@plasmicapp/host\";\nimport React from \"react\";\nimport type { RadioProps } from \"react-aria-components\";\nimport { Radio, RadioGroup } from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport { PlasmicRadioGroupContext } from \"./contexts\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport {\n CodeComponentMetaOverrides,\n HasControlContextData,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst RADIO_INTERACTION_VARIANTS = [\n \"selected\" as const,\n \"hovered\" as const,\n \"pressed\" as const,\n \"focused\" as const,\n \"focusVisible\" as const,\n \"disabled\" as const,\n \"readonly\" as const,\n \"selected\" as const,\n];\n\nexport interface BaseRadioProps extends RadioProps, HasControlContextData {\n children: React.ReactNode;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof RADIO_INTERACTION_VARIANTS\n >;\n}\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n RADIO_INTERACTION_VARIANTS\n);\n\nexport function BaseRadio(props: BaseRadioProps) {\n const { children, setControlContextData, updateInteractionVariant, ...rest } =\n props;\n const contextProps = React.useContext(PlasmicRadioGroupContext);\n const isStandalone = !contextProps;\n\n setControlContextData?.({\n parent: contextProps,\n });\n\n const radio = (\n <Radio {...rest}>\n {({\n isHovered,\n isPressed,\n isFocused,\n isFocusVisible,\n isSelected,\n isDisabled,\n isReadOnly,\n }) =>\n withObservedValues(\n children,\n {\n hovered: isHovered,\n pressed: isPressed,\n focused: isFocused,\n focusVisible: isFocusVisible,\n selected: isSelected,\n disabled: isDisabled,\n readonly: isReadOnly,\n },\n updateInteractionVariant\n )\n }\n </Radio>\n );\n\n if (isStandalone) {\n return <RadioGroup>{radio}</RadioGroup>;\n }\n\n return radio;\n}\n\nexport const makeDefaultRadioChildren = (label: string): PlasmicElement => ({\n type: \"hbox\",\n styles: {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"10px\",\n padding: 0,\n },\n children: [\n {\n type: \"box\",\n styles: {\n width: \"7px\",\n height: \"7px\",\n borderRadius: \"100%\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n },\n },\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: label,\n },\n },\n },\n ],\n});\n\nexport function registerRadio(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseRadio>\n) {\n return registerComponentHelper(\n loader,\n BaseRadio,\n {\n name: makeComponentName(\"radio\"),\n displayName: \"Aria Radio\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerRadio\",\n importName: \"BaseRadio\",\n interactionVariants,\n props: {\n ...getCommonProps<BaseRadioProps>(\"radio\", [\n \"isDisabled\",\n \"autoFocus\",\n \"aria-label\",\n ]),\n children: {\n type: \"slot\",\n mergeWithParent: true as any,\n defaultValue: makeDefaultRadioChildren(\"Radio\"),\n },\n value: {\n type: \"string\",\n description:\n \"The value of the input element, used when submitting an HTML form.\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import React from \"react\";\nimport type { RadioGroupProps } from \"react-aria-components\";\nimport { RadioGroup } from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport { PlasmicRadioGroupContext } from \"./contexts\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport { DESCRIPTION_COMPONENT_NAME } from \"./registerDescription\";\nimport { registerFieldError } from \"./registerFieldError\";\nimport { LABEL_COMPONENT_NAME, registerLabel } from \"./registerLabel\";\nimport { makeDefaultRadioChildren, registerRadio } from \"./registerRadio\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeChildComponentName,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst RADIO_GROUP_INTERACTION_VARIANTS = [\n \"disabled\" as const,\n \"readonly\" as const,\n];\n\nexport interface BaseRadioGroupProps extends RadioGroupProps {\n children: React.ReactNode;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof RADIO_GROUP_INTERACTION_VARIANTS\n >;\n}\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n RADIO_GROUP_INTERACTION_VARIANTS\n);\n\nexport function BaseRadioGroup(props: BaseRadioGroupProps) {\n const { children, updateInteractionVariant, ...rest } = props;\n\n return (\n <PlasmicRadioGroupContext.Provider value={props}>\n <RadioGroup {...rest}>\n {({ isDisabled, isReadOnly }) =>\n withObservedValues(\n children,\n {\n disabled: isDisabled,\n readonly: isReadOnly,\n },\n updateInteractionVariant\n )\n }\n </RadioGroup>\n </PlasmicRadioGroupContext.Provider>\n );\n}\n\nconst RADIO_GROUP_COMPONENT_NAME = makeComponentName(\"radioGroup\");\n\nexport function registerRadioGroup(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseRadioGroup>\n) {\n const thisName = makeChildComponentName(\n overrides?.parentComponentName,\n RADIO_GROUP_COMPONENT_NAME\n );\n\n registerFieldError(loader, { parentComponentName: thisName });\n const radioMeta = registerRadio(loader, { parentComponentName: thisName });\n registerLabel(loader, { parentComponentName: thisName });\n\n registerComponentHelper(\n loader,\n BaseRadioGroup,\n {\n name: RADIO_GROUP_COMPONENT_NAME,\n displayName: \"Aria RadioGroup\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerRadioGroup\",\n importName: \"BaseRadioGroup\",\n interactionVariants,\n props: {\n ...getCommonProps<BaseRadioGroupProps>(\"radio group\", [\n \"name\",\n \"isDisabled\",\n \"isReadOnly\",\n \"aria-label\",\n \"isRequired\",\n ]),\n children: {\n type: \"slot\",\n mergeWithParent: true as any,\n defaultValue: [\n {\n type: \"vbox\",\n styles: {\n display: \"flex\",\n gap: \"5px\",\n padding: 0,\n alignItems: \"flex-start\",\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Radio Group\",\n },\n },\n },\n {\n type: \"component\",\n name: radioMeta.name,\n props: {\n children: makeDefaultRadioChildren(\"Radio 1\"),\n value: \"radio1\",\n },\n },\n {\n type: \"component\",\n name: radioMeta.name,\n props: {\n children: makeDefaultRadioChildren(\"Radio 2\"),\n value: \"radio2\",\n },\n },\n {\n type: \"component\",\n name: radioMeta.name,\n props: {\n children: makeDefaultRadioChildren(\"Radio 3\"),\n value: \"radio3\",\n },\n },\n {\n type: \"component\",\n name: DESCRIPTION_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Add interaction variants to see it in action...\",\n },\n },\n },\n ],\n },\n ],\n },\n value: {\n type: \"string\",\n editOnly: true,\n displayName: \"Initial value\",\n uncontrolledProp: \"defaultValue\",\n description: \"The current value\",\n },\n isInvalid: {\n displayName: \"Invalid\",\n type: \"boolean\",\n description: \"Whether the input value is invalid\",\n defaultValueHint: false,\n },\n validationBehavior: {\n type: \"choice\",\n options: [\"native\", \"aria\"],\n description:\n \"Whether to use native HTML form validation to prevent form submission when the value is missing or invalid, or mark the field as required or invalid via ARIA.\",\n defaultValueHint: \"native\",\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"string\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"array\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import { usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport React from \"react\";\nimport { Key, Select, SelectProps, SelectValue } from \"react-aria-components\";\nimport { PlasmicListBoxContext, PlasmicPopoverContext } from \"./contexts\";\nimport {\n flattenOptions,\n HasOptions,\n makeOptionsPropType,\n makeValuePropType,\n useStrictOptions,\n} from \"./option-utils\";\nimport { BUTTON_COMPONENT_NAME } from \"./registerButton\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport { LIST_BOX_COMPONENT_NAME } from \"./registerListBox\";\nimport { POPOVER_COMPONENT_NAME } from \"./registerPopover\";\nimport {\n extractPlasmicDataProps,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nexport interface BaseSelectValueProps\n extends React.ComponentProps<typeof SelectValue> {\n customize?: boolean;\n}\n\nexport const BaseSelectValue = (props: BaseSelectValueProps) => {\n const { children, customize } = props;\n return (\n <SelectValue>\n {({ isPlaceholder, selectedText }) => (\n <>\n {isPlaceholder ? (\n <span>Select an item</span>\n ) : (\n <>\n <span>\n {customize ? (children as React.ReactNode) : selectedText}\n </span>\n </>\n )}\n {}\n </>\n )}\n </SelectValue>\n );\n};\n\nconst SELECT_NAME = makeComponentName(\"select\");\n\nexport interface BaseSelectProps<T extends object>\n extends HasOptions<T>,\n SelectProps<T> {\n placeholder?: string;\n isDisabled?: boolean;\n\n value?: Key;\n onChange?: (value: Key) => void;\n\n previewOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n\n structure?: React.ReactNode;\n\n name?: string;\n \"aria-label\"?: string;\n\n renderOption?: (item: {\n value: string;\n label?: string;\n isDisabled?: boolean;\n }) => React.ReactNode;\n}\n\nexport function BaseSelect<T extends object>(props: BaseSelectProps<T>) {\n const {\n value,\n onChange,\n placeholder,\n previewOpen,\n onOpenChange,\n isDisabled,\n className,\n style,\n structure,\n name,\n isOpen,\n \"aria-label\": ariaLabel,\n } = props;\n\n const { options } = useStrictOptions(props);\n\n const isEditMode = !!usePlasmicCanvasContext();\n const openProp = isEditMode && previewOpen ? true : isOpen;\n\n const disabledKeys = flattenOptions(options)\n .filter((op) => op.isDisabled)\n .map((op) => op.id);\n\n return (\n <Select\n placeholder={placeholder}\n selectedKey={value}\n onSelectionChange={onChange}\n onOpenChange={onOpenChange}\n isDisabled={isDisabled}\n className={className}\n style={style}\n name={name}\n aria-label={ariaLabel}\n isOpen={openProp}\n {...extractPlasmicDataProps(props)}\n >\n <PlasmicPopoverContext.Provider value={{ isOpen: openProp }}>\n <PlasmicListBoxContext.Provider\n value={{\n items: options,\n disabledKeys: disabledKeys,\n }}\n >\n {structure}\n </PlasmicListBoxContext.Provider>\n </PlasmicPopoverContext.Provider>\n </Select>\n );\n}\n\nexport function registerSelect(loader?: Registerable) {\n const selectValueMeta = registerComponentHelper(loader, BaseSelectValue, {\n name: makeComponentName(\"select-value\"),\n displayName: \"Aria Selected Value\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSelect\",\n importName: \"BaseSelectValue\",\n parentComponentName: SELECT_NAME,\n props: {\n customize: {\n type: \"boolean\",\n description: \"Whether to customize the selected value display\",\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Selected value...\",\n },\n ],\n hidden: (ps) => !ps.customize,\n },\n className: {\n type: \"class\",\n selectors: [\n {\n selector: \":self[data-placeholder]\",\n label: \"Placeholder\",\n },\n ],\n },\n },\n });\n\n registerComponentHelper(loader, BaseSelect, {\n name: SELECT_NAME,\n displayName: \"Aria Select\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSelect\",\n importName: \"BaseSelect\",\n props: {\n options: makeOptionsPropType(),\n placeholder: {\n type: \"string\",\n },\n isDisabled: {\n type: \"boolean\",\n },\n value: makeValuePropType(),\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"string\" }],\n },\n previewOpen: {\n type: \"boolean\",\n displayName: \"Preview opened?\",\n description: \"Preview opened state while designing in Plasmic editor\",\n editOnly: true,\n },\n isOpen: {\n type: \"boolean\",\n // It doesn't make sense to make isOpen prop editable (it's controlled by user interaction and always closed by default), so we keep this prop hidden. We have listed the prop here in the meta only so we can expose a writeable state for it.\n hidden: () => true,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n // optionValue: {\n // type: \"string\",\n // displayName: \"Field key for an option's value\",\n // hidden: (ps) =>\n // !ps.options ||\n // !ps.options[0] ||\n // typeof ps.options[0] === \"string\" ||\n // \"value\" in ps.options[0],\n // exprHint:\n // \"Return a function that takes in an option object, and returns the key to use\",\n // },\n // optionText: {\n // type: \"string\",\n // displayName: \"Field key for an option's text value\",\n // hidden: (ps) =>\n // !ps.options ||\n // !ps.options[0] ||\n // typeof ps.options[0] === \"string\" ||\n // \"value\" in ps.options[0],\n // exprHint:\n // \"Return a function that takes in an option object, and returns the text value to use\",\n // },\n // optionDisabled: {\n // type: \"string\",\n // displayName: \"Field key for whether an option is disabled\",\n // hidden: (ps) =>\n // !ps.options ||\n // !ps.options[0] ||\n // typeof ps.options[0] === \"string\" ||\n // \"value\" in ps.options[0],\n // exprHint:\n // \"Return a function that takes in an option object, and returns true if option should be disabled\",\n // },\n\n structure: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"vbox\",\n styles: {\n justifyContent: \"flex-start\",\n alignItems: \"flex-start\",\n width: \"300px\",\n padding: 0,\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Label\",\n },\n },\n },\n {\n type: \"component\",\n name: BUTTON_COMPONENT_NAME,\n styles: {\n width: \"100%\",\n },\n props: {\n children: {\n type: \"hbox\",\n styles: {\n width: \"stretch\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n padding: \"2px 5px\",\n },\n children: [\n {\n type: \"component\",\n name: selectValueMeta.name,\n },\n {\n type: \"img\",\n src: \"https://static1.plasmic.app/arrow-up.svg\",\n styles: {\n height: \"20px\",\n width: \"20px\",\n transform: \"rotate(180deg)\",\n },\n },\n ],\n },\n },\n },\n {\n type: \"component\",\n name: POPOVER_COMPONENT_NAME,\n styles: {\n backgroundColor: \"white\",\n padding: \"10px\",\n overflow: \"scroll\",\n },\n props: {\n children: [\n {\n type: \"component\",\n name: LIST_BOX_COMPONENT_NAME,\n styles: {\n borderWidth: 0,\n width: \"stretch\",\n },\n },\n ],\n },\n },\n ],\n },\n ],\n },\n\n // renderOption: {\n // type: \"slot\",\n // displayName: \"Custom render option\",\n // renderPropParams: [\"item\"],\n // hidePlaceholder: true\n // },\n\n name: {\n type: \"string\",\n displayName: \"Form field key\",\n description: \"Name of the input, when submitting in an HTML form\",\n advanced: true,\n },\n\n \"aria-label\": {\n type: \"string\",\n displayName: \"ARIA label\",\n description: \"Label for this input, if no visible label is used\",\n advanced: true,\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n },\n isOpen: {\n type: \"writable\",\n valueProp: \"isOpen\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n });\n}\n","import React from \"react\";\nimport { SliderOutput } from \"react-aria-components\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst SLIDER_OUTPUT_INTERACTION_VARIANTS = [\"disabled\" as const];\nexport interface BaseSliderOutputProps\n extends React.ComponentProps<typeof SliderOutput> {\n children?: React.ReactNode;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof SLIDER_OUTPUT_INTERACTION_VARIANTS\n >;\n}\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n SLIDER_OUTPUT_INTERACTION_VARIANTS\n);\n\nexport function BaseSliderOutput(props: BaseSliderOutputProps) {\n const { updateInteractionVariant, children, ...rest } = props;\n return (\n <SliderOutput {...rest}>\n {({ isDisabled }) =>\n withObservedValues(\n children,\n {\n disabled: isDisabled,\n },\n updateInteractionVariant\n )\n }\n </SliderOutput>\n );\n}\n\nexport const SLIDER_OUTPUT_COMPONENT_NAME = makeComponentName(\"sliderOutput\");\n\nexport function registerSliderOutput(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSliderOutput>\n) {\n return registerComponentHelper(\n loader,\n BaseSliderOutput,\n {\n name: SLIDER_OUTPUT_COMPONENT_NAME,\n displayName: \"Aria Slider Output\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSliderOutput\",\n importName: \"BaseSliderOutput\",\n interactionVariants,\n props: {\n children: { type: \"slot\" },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import React from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport { Slider, SliderThumb, SliderTrack } from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport { PlasmicSliderContext } from \"./contexts\";\nimport ErrorBoundary from \"./ErrorBoundary\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst SLIDER_THUMB_INTERACTION_VARIANTS = [\n \"dragging\" as const,\n \"hovered\" as const,\n \"focused\" as const,\n \"focusVisible\" as const,\n \"disabled\" as const,\n];\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n SLIDER_THUMB_INTERACTION_VARIANTS\n);\nexport interface BaseSliderThumbProps\n extends React.ComponentProps<typeof SliderThumb> {\n advanced?: boolean;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof SLIDER_THUMB_INTERACTION_VARIANTS\n >;\n}\n\nexport function BaseSliderThumb({\n children,\n advanced,\n updateInteractionVariant,\n ...rest\n}: BaseSliderThumbProps) {\n const context = React.useContext(PlasmicSliderContext);\n const mergedProps = mergeProps(context, rest);\n\n const thumb = (\n <SliderThumb {...mergedProps}>\n {({ isDragging, isHovered, isFocused, isFocusVisible, isDisabled }) =>\n withObservedValues(\n <>{advanced ? children : undefined}</>,\n {\n dragging: isDragging,\n hovered: isHovered,\n focused: isFocused,\n focusVisible: isFocusVisible,\n disabled: isDisabled,\n },\n updateInteractionVariant\n )\n }\n </SliderThumb>\n );\n\n return (\n <ErrorBoundary\n // If the Slider Thumb is the root of a Studio component, then we need to wrap the thumb in a track\n // to ensure that the thumb gets the required Slider context\n fallback={\n <Slider style={{ height: \"100%\", width: \"100%\" }}>\n <SliderTrack>{thumb}</SliderTrack>\n </Slider>\n }\n >\n {thumb}\n </ErrorBoundary>\n );\n}\n\nexport const SLIDER_THUMB_COMPONENT_NAME = makeComponentName(\"sliderThumb\");\n\nexport function registerSliderThumb(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSliderThumb>\n) {\n return registerComponentHelper(\n loader,\n BaseSliderThumb,\n {\n name: SLIDER_THUMB_COMPONENT_NAME,\n displayName: \"Aria Slider Thumb\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSliderThumb\",\n importName: \"BaseSliderThumb\",\n defaultStyles: {\n position: \"absolute\",\n top: \"5px\",\n width: \"20px\",\n height: \"20px\",\n backgroundColor: \"#C80101\",\n borderRadius: \"100%\",\n cursor: \"pointer\",\n },\n interactionVariants,\n props: {\n ...getCommonProps<BaseSliderThumbProps>(\"slider thumb\", [\n \"name\",\n \"isDisabled\",\n \"autoFocus\",\n ]),\n advanced: {\n type: \"boolean\",\n displayName: \"Advanced\",\n description:\n \"Enables the children slot for creating a more customized thumb\",\n },\n children: {\n type: \"slot\",\n hidden: (ps: BaseSliderThumbProps) => !ps.advanced,\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import { CodeComponentMeta } from \"@plasmicapp/host\";\nimport React, { useMemo } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport { Slider, SliderThumbProps, SliderTrack } from \"react-aria-components\";\nimport flattenChildren from \"react-keyed-flatten-children\";\nimport { PlasmicSliderContext } from \"./contexts\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport { BaseSliderThumbProps } from \"./registerSliderThumb\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n isDefined,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst SLIDER_TRACK_INTERACTION_VARIANTS = [\"hovered\" as const];\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n SLIDER_TRACK_INTERACTION_VARIANTS\n);\n\nexport interface BaseSliderTrackProps\n extends React.ComponentProps<typeof SliderTrack> {\n progressBar?: React.ReactNode;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof SLIDER_TRACK_INTERACTION_VARIANTS\n >;\n children?: React.ReactElement<HTMLElement>;\n}\n\n/**\n * Finds the index of the minimum and maximum values in the slider\n * @param values\n * @returns\n */\nfunction findMinMaxIndices(values: number[]): {\n minIndex: number;\n maxIndex: number;\n} {\n let minIndex = 0;\n let maxIndex = 0;\n\n if (Array.isArray(values)) {\n for (let i = 1; i < values.length; i++) {\n if (values[i] < values[minIndex]) {\n minIndex = i;\n }\n if (values[i] > values[maxIndex]) {\n maxIndex = i;\n }\n }\n }\n\n return { minIndex, maxIndex };\n}\n\nfunction isMultiValueGuard(value?: number | number[]): value is number[] {\n return Array.isArray(value) && value.length > 1;\n}\n\nexport function BaseSliderTrack(props: BaseSliderTrackProps) {\n const context = React.useContext(PlasmicSliderContext);\n const isStandalone = !context;\n const mergedProps = mergeProps(context, props);\n const { children, progressBar, updateInteractionVariant, ...rest } =\n mergedProps;\n\n const isMultiValue = isMultiValueGuard(mergedProps.value);\n\n const { minIndex, maxIndex } = useMemo(() => {\n if (\n !context ||\n !Array.isArray(context.value) ||\n context.value.length <= 1\n ) {\n return { minIndex: 0, maxIndex: 0 };\n }\n return findMinMaxIndices(context.value);\n }, [context?.value]);\n\n /**\n * Generates the thumb components based on the number of thumbs\n * and the number of values in the slider\n *\n * If the number of thumbs is less than the number of values, then\n * the last thumb is repeated for the remaining values\n *\n * If the number of thumbs is greater than the number of values, then\n * the additional thumbs are omitted\n */\n const thumbs = useMemo(() => {\n const thumbNodes = flattenChildren(children);\n if (!thumbNodes || thumbNodes.length === 0 || !isDefined(context?.value)) {\n return [];\n }\n\n const values = isDefined(context)\n ? Array.isArray(context.value)\n ? context.value\n : [context.value]\n : [];\n\n // Last thumb be re-used if the number of thumbs is less than the number of values\n const lastThumb = thumbNodes[thumbNodes.length - 1];\n\n return values.map((v, i) => {\n const currentThumb = thumbNodes[i];\n // Re-use the last thumb if there are no more thumbs left ( this is for ease of use - the user can just add one more value to the initial-values array and see another thumb right away, without having to explicitly add a new thumb component )\n if (i >= thumbNodes.length) {\n if (React.isValidElement(lastThumb)) {\n return React.cloneElement(lastThumb, {\n index: i,\n } as SliderThumbProps);\n }\n }\n if (!React.isValidElement(currentThumb)) {\n return null;\n }\n return React.cloneElement(currentThumb, {\n index: i,\n } as SliderThumbProps);\n });\n }, [children, context?.value]);\n\n const track = (\n <SliderTrack style={{ position: \"relative\" }} {...rest}>\n {({ state, isHovered }) => (\n <>\n {withObservedValues(\n <>\n <div\n style={{\n width: `${\n (!isMultiValue\n ? state.getThumbPercent(minIndex)\n : state.getThumbPercent(maxIndex) -\n state.getThumbPercent(minIndex)) * 100\n }%`,\n height: \"100%\",\n position: \"absolute\",\n top: 0,\n left: !isMultiValue\n ? 0\n : state.getThumbPercent(minIndex) * 100 + \"%\",\n }}\n >\n {progressBar}\n </div>\n {thumbs}\n </>,\n {\n hovered: isHovered,\n },\n updateInteractionVariant\n )}\n </>\n )}\n </SliderTrack>\n );\n\n if (isStandalone) {\n return <Slider style={{ height: \"100%\", width: \"100%\" }}>{track}</Slider>;\n }\n\n return track;\n}\n\nexport const SLIDER_TRACK_COMPONENT_NAME = makeComponentName(\"sliderTrack\");\n\nexport function registerSliderTrack(\n sliderThumbMeta: CodeComponentMeta<BaseSliderThumbProps>,\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSliderTrack>\n) {\n return registerComponentHelper(\n loader,\n BaseSliderTrack,\n {\n name: SLIDER_TRACK_COMPONENT_NAME,\n displayName: \"Aria Slider Track\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSliderTrack\",\n importName: \"BaseSliderTrack\",\n interactionVariants,\n defaultStyles: {\n width: \"stretch\",\n backgroundColor: \"#aaa\",\n position: \"relative\",\n height: \"10px\",\n padding: 0,\n },\n props: {\n children: {\n type: \"slot\",\n displayName: \"Thumbs\",\n description:\n \"The thumbs of the slider. For range slider, you can add more than one thumb.\",\n allowedComponents: [sliderThumbMeta.name],\n allowRootWrapper: true,\n defaultValue: [\n {\n type: \"component\",\n name: sliderThumbMeta.name,\n },\n ],\n },\n progressBar: {\n type: \"slot\",\n displayName: \"Progress Bar\",\n defaultValue: [\n {\n type: \"box\",\n styles: {\n height: \"100%\",\n width: \"100%\",\n backgroundColor: \"#ffa6a6\",\n padding: 0,\n },\n },\n ],\n },\n onHoverStart: {\n type: \"eventHandler\",\n argTypes: [{ name: \"event\", type: \"object\" }],\n },\n onHoverEnd: {\n type: \"eventHandler\",\n argTypes: [{ name: \"event\", type: \"object\" }],\n },\n onHoverChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isHovering\", type: \"boolean\" }],\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import { CodeComponentMeta } from \"@plasmicapp/host\";\nimport React from \"react\";\nimport { Slider, type SliderProps } from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport { PlasmicSliderContext } from \"./contexts\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport { registerSliderOutput } from \"./registerSliderOutput\";\nimport { registerSliderThumb } from \"./registerSliderThumb\";\nimport { registerSliderTrack } from \"./registerSliderTrack\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst SLIDER_COMPONENT_NAME = makeComponentName(\"slider\");\nconst RANGE_SLIDER_COMPONENT_NAME = makeComponentName(\"range-slider\");\nconst SLIDER_INTERACTION_VARIANTS = [\"disabled\" as const];\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n SLIDER_INTERACTION_VARIANTS\n);\n\nexport interface BaseSliderProps<T extends number | number[]>\n extends SliderProps<T> {\n children?: React.ReactNode;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof SLIDER_INTERACTION_VARIANTS\n >;\n}\n\nexport function BaseSlider<T extends number | number[]>(\n props: BaseSliderProps<T>\n) {\n const { children, updateInteractionVariant, ...rest } = props;\n return (\n <PlasmicSliderContext.Provider\n value={{\n ...rest,\n // Here's why the type casting is needed here: https://github.com/Microsoft/TypeScript/issues/3410\n onChange: rest.onChange as (value: number | number[]) => void,\n onChangeEnd: rest.onChangeEnd as (value: number | number[]) => void,\n }}\n >\n <Slider<T> {...rest}>\n {({ isDisabled }) =>\n withObservedValues(\n children,\n {\n disabled: isDisabled,\n },\n updateInteractionVariant\n )\n }\n </Slider>\n </PlasmicSliderContext.Provider>\n );\n}\n\nfunction getCommonSliderProps<T extends number | number[]>(): CodeComponentMeta<\n BaseSliderProps<T>\n>[\"props\"] {\n return {\n orientation: {\n type: \"choice\",\n options: [\"horizontal\", \"vertical\"],\n defaultValueHint: \"horizontal\",\n defaultValue: \"horizontal\",\n },\n minValue: {\n type: \"number\",\n description: \"The minimum value of the slider\",\n defaultValueHint: 0,\n },\n maxValue: {\n type: \"number\",\n description: \"The maximum value of the slider\",\n defaultValueHint: 100,\n },\n step: {\n type: \"number\",\n description: \"The step value of the slider\",\n defaultValueHint: 1,\n },\n };\n}\n\nexport function registerSlider(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSlider<number>>\n) {\n const sliderOutputMeta = registerSliderOutput(loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n\n const sliderThumbMeta = registerSliderThumb(loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n const sliderTrackMeta = registerSliderTrack(sliderThumbMeta, loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n\n // Register the range slider\n registerComponentHelper(\n loader,\n BaseSlider<number[]>,\n {\n name: RANGE_SLIDER_COMPONENT_NAME,\n displayName: \"Aria Range Slider\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSlider\",\n importName: \"BaseSlider\",\n interactionVariants,\n defaultStyles: {\n width: \"300px\",\n },\n props: {\n ...getCommonProps<BaseSliderProps<number[]>>(\"slider\", [\n \"isDisabled\",\n \"aria-label\",\n ]),\n ...getCommonSliderProps<number[]>(),\n value: {\n type: \"array\",\n editOnly: true,\n displayName: \"Initial value\",\n uncontrolledProp: \"defaultValue\",\n description: \"The intial value of the slider\",\n defaultValue: [20, 50],\n validator: (value) => {\n if (!Array.isArray(value)) {\n return \"Input must be an array.\";\n }\n\n for (let i = 1; i < value.length; i++) {\n if (value[i] < value[i - 1]) {\n return \"Array elements are not in ascending order.\";\n }\n }\n\n return true;\n },\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"hbox\",\n styles: {\n width: \"stretch\",\n justifyContent: \"space-between\",\n padding: \"8px 0px\",\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Label\",\n },\n },\n },\n {\n type: \"component\",\n name: sliderOutputMeta.name,\n props: {\n children: {\n type: \"text\",\n value: \"Output\",\n },\n },\n },\n ],\n },\n {\n type: \"component\",\n name: sliderTrackMeta.name,\n props: {\n children: [\n {\n type: \"component\",\n name: sliderThumbMeta.name,\n },\n {\n type: \"component\",\n name: sliderThumbMeta.name,\n styles: {\n backgroundColor: \"blue\",\n },\n },\n ],\n },\n },\n ],\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"object\" }],\n },\n onChangeEnd: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"object\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"array\",\n },\n },\n trapsFocus: true,\n },\n {\n parentComponentName: SLIDER_COMPONENT_NAME,\n }\n );\n\n registerComponentHelper(\n loader,\n BaseSlider<number>,\n {\n name: SLIDER_COMPONENT_NAME,\n displayName: \"Aria Slider\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSlider\",\n importName: \"BaseSlider\",\n interactionVariants,\n defaultStyles: {\n width: \"300px\",\n },\n props: {\n ...getCommonProps<BaseSliderProps<number>>(\"slider\", [\n \"isDisabled\",\n \"aria-label\",\n ]),\n ...getCommonSliderProps<number>(),\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"hbox\",\n styles: {\n width: \"stretch\",\n justifyContent: \"space-between\",\n padding: \"8px 0px\",\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Label\",\n },\n },\n },\n {\n type: \"component\",\n name: sliderOutputMeta.name,\n props: {\n children: {\n type: \"text\",\n value: \"Output\",\n },\n },\n },\n ],\n },\n {\n type: \"component\",\n name: sliderTrackMeta.name,\n },\n ],\n },\n value: {\n type: \"number\",\n editOnly: true,\n displayName: \"Initial value\",\n uncontrolledProp: \"defaultValue\",\n description: \"The initial value of the slider\",\n defaultValueHint: 0,\n defaultValue: 0,\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"number\" }],\n },\n onChangeEnd: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"number\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"number\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import React from \"react\";\nimport type { SwitchProps } from \"react-aria-components\";\nimport { Switch } from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport { DESCRIPTION_COMPONENT_NAME } from \"./registerDescription\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst SWITCH_INTERACTION_VARIANTS = [\n \"hovered\" as const,\n \"pressed\" as const,\n \"focused\" as const,\n \"focusVisible\" as const,\n \"selected\" as const,\n \"disabled\" as const,\n \"readonly\" as const,\n];\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n SWITCH_INTERACTION_VARIANTS\n);\n\ninterface BaseSwitchProps extends SwitchProps {\n children: React.ReactNode;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof SWITCH_INTERACTION_VARIANTS\n >;\n}\n\nexport function BaseSwitch(props: BaseSwitchProps) {\n const { children, updateInteractionVariant, ...rest } = props;\n return (\n <Switch {...rest}>\n {({\n isHovered,\n isPressed,\n isFocused,\n isFocusVisible,\n isSelected,\n isDisabled,\n isReadOnly,\n }) =>\n withObservedValues(\n children,\n {\n hovered: isHovered,\n pressed: isPressed,\n focused: isFocused,\n focusVisible: isFocusVisible,\n selected: isSelected,\n disabled: isDisabled,\n readonly: isReadOnly,\n },\n updateInteractionVariant\n )\n }\n </Switch>\n );\n}\n\nexport function registerSwitch(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSwitch>\n) {\n registerComponentHelper(\n loader,\n BaseSwitch,\n {\n name: makeComponentName(\"switch\"),\n displayName: \"Aria Switch\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSwitch\",\n importName: \"BaseSwitch\",\n interactionVariants,\n defaultStyles: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n padding: 0,\n },\n props: {\n ...getCommonProps<BaseSwitchProps>(\"switch\", [\n \"name\",\n \"isDisabled\",\n \"isReadOnly\",\n \"autoFocus\",\n \"aria-label\",\n ]),\n children: {\n type: \"slot\",\n mergeWithParent: true as any,\n defaultValue: [\n {\n type: \"hbox\",\n styles: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"10px\",\n padding: 0,\n },\n children: [\n {\n // the track\n type: \"hbox\",\n styles: {\n width: \"30px\",\n height: \"16px\",\n padding: 0,\n backgroundColor: \"#D5D5D5\",\n cursor: \"pointer\",\n borderRadius: \"999px\",\n },\n children: {\n // the thumb\n type: \"hbox\",\n styles: {\n width: \"12px\",\n height: \"12px\",\n position: \"absolute\",\n top: \"2px\",\n left: \"2px\",\n borderRadius: \"100%\",\n backgroundColor: \"#fff\",\n padding: 0,\n transitionProperty: \"all\",\n transitionDuration: \"0.5s\",\n transitionTimingFunction: \"ease-in-out\",\n },\n },\n },\n {\n // the label\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Label\",\n },\n },\n },\n ],\n },\n {\n type: \"component\",\n name: DESCRIPTION_COMPONENT_NAME,\n styles: {\n fontSize: \"12px\",\n },\n props: {\n children: {\n type: \"text\",\n value: \"Add interaction variants to see it in action...\",\n },\n },\n },\n ],\n },\n value: {\n type: \"string\",\n description:\n 'The value of the switch in \"selected\" state, used when submitting an HTML form.',\n defaultValueHint: \"on\",\n },\n isSelected: {\n type: \"boolean\",\n editOnly: true,\n displayName: \"Default Selected\",\n uncontrolledProp: \"defaultSelected\",\n description: \"Whether the switch should be selected by default\",\n defaultValueHint: false,\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isSelected\", type: \"boolean\" }],\n },\n },\n states: {\n isSelected: {\n type: \"writable\",\n valueProp: \"isSelected\",\n onChangeProp: \"onChange\",\n variableType: \"boolean\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import React, { ChangeEvent, useEffect } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport type { TextAreaProps } from \"react-aria-components\";\nimport { TextArea } from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport { PlasmicTextFieldContext } from \"./contexts\";\nimport {\n pickAriaComponentVariants,\n UpdateInteractionVariant,\n} from \"./interaction-variant-utils\";\nimport {\n CodeComponentMetaOverrides,\n HasControlContextData,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nconst TEXTAREA_INTERACTION_VARIANTS = [\n \"focused\" as const,\n \"hovered\" as const,\n \"disabled\" as const,\n];\n\nconst { interactionVariants } = pickAriaComponentVariants(\n TEXTAREA_INTERACTION_VARIANTS\n);\n\nexport interface BaseTextAreaProps\n extends TextAreaProps,\n HasControlContextData {\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof TEXTAREA_INTERACTION_VARIANTS\n >;\n}\n\nexport const inputHelpers = {\n states: {\n value: {\n onChangeArgsToValue: (e: ChangeEvent<HTMLInputElement>) => {\n return e.target.value;\n },\n },\n },\n};\n\nexport function BaseTextArea(props: BaseTextAreaProps) {\n const { disabled, updateInteractionVariant, setControlContextData, ...rest } =\n props;\n\n const textFieldContext = React.useContext(PlasmicTextFieldContext);\n\n const mergedProps = mergeProps(rest, {\n disabled: textFieldContext?.isDisabled ?? disabled,\n });\n\n // NOTE: Aria <Input> does not support render props, neither does it provide an onDisabledChange event, so we have to manually update the disabled state\n useEffect(() => {\n updateInteractionVariant?.({\n disabled: mergedProps.disabled,\n });\n }, [mergedProps.disabled, updateInteractionVariant]);\n\n setControlContextData?.({\n parent: textFieldContext,\n });\n\n return (\n <TextArea\n onFocus={() => {\n updateInteractionVariant?.({\n focused: true,\n });\n }}\n onBlur={() => {\n updateInteractionVariant?.({\n focused: false,\n });\n }}\n onHoverChange={(isHovered) => {\n updateInteractionVariant?.({\n hovered: isHovered,\n });\n }}\n {...mergedProps}\n />\n );\n}\n\nexport function registerTextArea(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseTextArea>\n) {\n registerComponentHelper(\n loader,\n BaseTextArea,\n {\n name: makeComponentName(\"textarea\"),\n displayName: \"Aria TextArea\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerTextArea\",\n importName: \"BaseTextArea\",\n interactionVariants,\n props: {\n ...getCommonProps<TextAreaProps>(\"Text Area\", [\n \"name\",\n \"disabled\",\n \"readOnly\",\n \"autoFocus\",\n \"aria-label\",\n \"required\",\n \"placeholder\",\n \"value\",\n \"maxLength\",\n \"minLength\",\n \"inputMode\",\n \"onChange\",\n \"onFocus\",\n \"onBlur\",\n \"onKeyDown\",\n \"onKeyUp\",\n \"onCopy\",\n \"onCut\",\n \"onPaste\",\n \"onCompositionStart\",\n \"onCompositionEnd\",\n \"onCompositionUpdate\",\n \"onSelect\",\n \"onBeforeInput\",\n \"onInput\",\n ]),\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n ...inputHelpers.states.value,\n },\n },\n componentHelpers: {\n helpers: inputHelpers,\n importName: \"inputHelpers\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerTextArea\",\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import React, { ReactNode } from \"react\";\nimport type { InputProps, TextFieldProps } from \"react-aria-components\";\nimport { TextField } from \"react-aria-components\";\nimport { getCommonProps, resolveAutoComplete } from \"./common\";\nimport { PlasmicTextFieldContext } from \"./contexts\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport { DESCRIPTION_COMPONENT_NAME } from \"./registerDescription\";\nimport { registerFieldError } from \"./registerFieldError\";\nimport { INPUT_COMPONENT_NAME, registerInput } from \"./registerInput\";\nimport { LABEL_COMPONENT_NAME, registerLabel } from \"./registerLabel\";\nimport { registerTextArea } from \"./registerTextArea\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeChildComponentName,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst TEXT_FIELD_INTERACTION_VARIANTS = [\n \"disabled\" as const,\n \"readonly\" as const,\n];\n\nexport interface BaseTextFieldProps\n extends Omit<TextFieldProps, \"autoComplete\"> {\n label?: ReactNode;\n description?: ReactNode;\n multiline?: boolean;\n inputProps?: InputProps;\n autoComplete?: string[];\n children: ReactNode;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof TEXT_FIELD_INTERACTION_VARIANTS\n >;\n}\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n TEXT_FIELD_INTERACTION_VARIANTS\n);\n\nexport function BaseTextField(props: BaseTextFieldProps) {\n const { children, updateInteractionVariant, autoComplete, ...rest } = props;\n\n return (\n <PlasmicTextFieldContext.Provider value={props}>\n <TextField autoComplete={resolveAutoComplete(autoComplete)} {...rest}>\n {({ isDisabled, isReadOnly }) =>\n withObservedValues(\n children,\n {\n disabled: isDisabled,\n readonly: isReadOnly,\n },\n updateInteractionVariant\n )\n }\n </TextField>\n </PlasmicTextFieldContext.Provider>\n );\n}\n\nexport const TEXT_FIELD_COMPONENT_NAME = makeComponentName(\"textField\");\n\nexport function registerTextField(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseTextField>\n) {\n registerComponentHelper(\n loader,\n BaseTextField,\n {\n name: TEXT_FIELD_COMPONENT_NAME,\n displayName: \"Aria TextField\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerTextField\",\n importName: \"BaseTextField\",\n interactionVariants,\n // TODO: Support for validate prop\n props: {\n ...getCommonProps<BaseTextFieldProps>(\"Text Field\", [\n \"name\",\n \"isDisabled\",\n \"isReadOnly\",\n \"autoFocus\",\n \"aria-label\",\n \"isRequired\",\n \"value\",\n \"maxLength\",\n \"minLength\",\n \"pattern\",\n \"type\",\n \"inputMode\",\n \"validationBehavior\",\n \"autoComplete\",\n \"onChange\",\n \"onFocus\",\n \"onBlur\",\n \"onFocusChange\",\n \"onKeyDown\",\n \"onKeyUp\",\n \"onCopy\",\n \"onCut\",\n \"onPaste\",\n \"onCompositionStart\",\n \"onCompositionEnd\",\n \"onCompositionUpdate\",\n \"onSelect\",\n \"onBeforeInput\",\n \"onInput\",\n ]),\n children: {\n type: \"slot\",\n mergeWithParent: true as any,\n defaultValue: {\n type: \"vbox\",\n styles: {\n justifyContent: \"flex-start\",\n alignItems: \"flex-start\",\n width: \"300px\",\n gap: \"5px\",\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Label\",\n },\n },\n },\n {\n type: \"component\",\n name: INPUT_COMPONENT_NAME,\n styles: {\n width: \"100%\",\n },\n },\n {\n type: \"component\",\n name: DESCRIPTION_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Type something...\",\n },\n },\n },\n ],\n },\n },\n\n isInvalid: {\n // TODO: Not sure if needed\n displayName: \"Invalid\",\n type: \"boolean\",\n description: \"Whether the input value is invalid\",\n defaultValueHint: false,\n },\n customValidationErrors: {\n // TODO: Not sure if needed\n type: \"array\",\n description: \"Errors for custom validation\",\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n\n const thisName = makeChildComponentName(\n overrides?.parentComponentName,\n TEXT_FIELD_COMPONENT_NAME\n );\n\n registerFieldError(loader, { parentComponentName: thisName });\n registerInput(loader, { parentComponentName: thisName });\n registerLabel(loader, { parentComponentName: thisName });\n registerTextArea(loader, { parentComponentName: thisName });\n}\n","import { mergeProps } from \"@react-aria/utils\";\nimport React from \"react\";\nimport { useTooltipTrigger } from \"react-aria\";\nimport { TooltipProps } from \"react-aria-components\";\nimport flattenChildren from \"react-keyed-flatten-children\";\nimport { TooltipTriggerProps, useTooltipTriggerState } from \"react-stately\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nexport interface BaseTooltipProps extends TooltipTriggerProps, TooltipProps {\n children?: React.ReactElement<HTMLElement>;\n tooltipContent?: React.ReactElement;\n resetClassName?: string;\n className?: string;\n}\n\nexport function BaseTooltip(props: BaseTooltipProps) {\n const { children, tooltipContent, className, resetClassName, ...restProps } =\n props;\n const state = useTooltipTriggerState(restProps);\n const ref = React.useRef(null);\n const { triggerProps, tooltipProps } = useTooltipTrigger(\n restProps,\n state,\n ref\n );\n\n const hasContent =\n tooltipContent &&\n (tooltipContent.type as any).name !== \"CanvasSlotPlaceholder\";\n\n /** We are only accepting a single child here, so we can just use the first one.\n * This is because the trigger props will be applied to the child to enable the triggering of the tooltip.\n * If there has to be more than one things here, wrap them in a horizontal stack for instance.\n * */\n const focusableChild = flattenChildren(children)[0];\n\n return (\n <div\n // this is to ensure that the absolutely positioned tooltip can be positioned correctly within this relatively positioned container.\n style={{ position: \"relative\" }}\n className={resetClassName}\n >\n {React.isValidElement(focusableChild)\n ? React.cloneElement(focusableChild, {\n ref,\n ...mergeProps(\n focusableChild.props as Record<string, any>,\n triggerProps\n ),\n } as Record<string, any> & { ref?: React.Ref<HTMLElement> })\n : null}\n {state.isOpen && (\n <>\n {React.cloneElement(\n hasContent ? (\n tooltipContent\n ) : (\n <p>Add some content to the tooltip...</p>\n ),\n mergeProps(tooltipProps, tooltipContent?.props.attrs, { className })\n )}\n </>\n )}\n </div>\n );\n}\n\nexport function registerTooltip(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseTooltip>\n) {\n registerComponentHelper(\n loader,\n BaseTooltip,\n {\n name: \"plasmic-react-aria-tooltip\",\n displayName: \"Aria Tooltip\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerTooltip\",\n importName: \"BaseTooltip\",\n isAttachment: true,\n styleSections: true,\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"text\",\n value: \"Hover me!\",\n },\n },\n tooltipContent: {\n type: \"slot\",\n displayName: \"Tooltip Content\",\n // NOTE: This is not applied in attachment\n defaultValue: {\n type: \"text\",\n value: \"Hello from Tooltip!\",\n },\n },\n resetClassName: {\n type: \"themeResetClass\",\n },\n isDisabled: {\n type: \"boolean\",\n },\n delay: {\n type: \"number\",\n defaultValueHint: 1500,\n description:\n \"The delay (in milliseconds) for the tooltip to show up.\",\n },\n closeDelay: {\n type: \"number\",\n defaultValueHint: 500,\n description: \"The delay (in milliseconds) for the tooltip to close.\",\n },\n trigger: {\n type: \"choice\",\n options: [\"focus\", \"focus and hover\"],\n defaultValueHint: \"focus and hover\",\n },\n isOpen: {\n type: \"boolean\",\n editOnly: true,\n uncontrolledProp: \"defaultOpen\",\n description: \"Whether the overlay is open by default\",\n defaultValueHint: false,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n },\n states: {\n isOpen: {\n type: \"writable\",\n valueProp: \"isOpen\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n },\n overrides\n );\n}\n","import { registerButton } from \"./registerButton\";\nimport { registerCheckbox } from \"./registerCheckbox\";\nimport { registerCheckboxGroup } from \"./registerCheckboxGroup\";\nimport { registerComboBox } from \"./registerComboBox\";\nimport { registerDescription } from \"./registerDescription\";\nimport { registerDialogTrigger } from \"./registerDialogTrigger\";\nimport { registerForm } from \"./registerForm\";\nimport { registerInput } from \"./registerInput\";\nimport { registerLabel } from \"./registerLabel\";\nimport { registerListBox } from \"./registerListBox\";\nimport { registerModal } from \"./registerModal\";\nimport { registerPopover } from \"./registerPopover\";\nimport { registerRadioGroup } from \"./registerRadioGroup\";\nimport { registerSelect } from \"./registerSelect\";\nimport { registerSlider } from \"./registerSlider\";\nimport { registerSwitch } from \"./registerSwitch\";\nimport { registerText } from \"./registerText\";\nimport { registerTextField } from \"./registerTextField\";\nimport { registerTooltip } from \"./registerTooltip\";\nimport { Registerable } from \"./utils\";\n\nexport function registerAll(loader?: Registerable) {\n registerText(loader);\n registerDescription(loader);\n registerSelect(loader);\n registerComboBox(loader);\n registerButton(loader);\n registerLabel(loader);\n registerListBox(loader);\n registerPopover(loader);\n registerInput(loader);\n registerSwitch(loader);\n registerForm(loader);\n registerCheckbox(loader);\n registerCheckboxGroup(loader);\n registerRadioGroup(loader);\n registerTextField(loader);\n registerModal(loader);\n registerTooltip(loader);\n registerDialogTrigger(loader);\n registerSlider(loader);\n}\n"],"names":["__spreadProps","__spreadValues","registerComponent","React","interactionVariants","withObservedValues","__objRest","Button","Checkbox","Text","FieldError","Label","CheckboxGroup","_a","inputHelpers","mergeProps","useEffect","Input","Component","ListBoxItem","ListBox","Header","Section","Collection","PopoverContext","SelectContext","usePlasmicCanvasContext","Popover","useFilter","ComboBox","ComboBoxStateContext","forwardRef","useImperativeHandle","Heading","ModalOverlay","Modal","Dialog","DialogTrigger","Form","Radio","RadioGroup","SelectValue","Select","SliderOutput","SliderThumb","Slider","SliderTrack","useMemo","flattenChildren","Switch","TextArea","TextField","useTooltipTriggerState","useTooltipTrigger"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react-aria.js","sources":["../src/utils.ts","../src/common.ts","../src/interaction-variant-utils.tsx","../src/registerButton.tsx","../src/contexts.tsx","../src/registerCheckbox.tsx","../src/registerText.tsx","../src/registerDescription.tsx","../src/registerFieldError.tsx","../src/registerLabel.tsx","../src/registerCheckboxGroup.tsx","../src/option-utils.ts","../src/registerInput.tsx","../src/ErrorBoundary.tsx","../src/registerListBoxItem.tsx","../src/registerHeader.tsx","../src/registerSection.tsx","../src/registerListBox.tsx","../src/registerPopover.tsx","../src/registerComboBox.tsx","../src/registerModal.tsx","../src/registerDialogTrigger.tsx","../src/registerForm.tsx","../src/registerRadio.tsx","../src/registerRadioGroup.tsx","../src/registerSelect.tsx","../src/registerSliderOutput.tsx","../src/registerSliderThumb.tsx","../src/registerSliderTrack.tsx","../src/registerSlider.tsx","../src/registerSwitch.tsx","../src/registerTextArea.tsx","../src/registerTextField.tsx","../src/registerTooltip.tsx","../src/index.tsx"],"sourcesContent":["import type { CodeComponentMeta } from \"@plasmicapp/host\";\nimport registerComponent from \"@plasmicapp/host/registerComponent\";\nimport React from \"react\";\nimport { defaultStyles } from \"./common\";\n\nexport type HasControlContextData<T = BaseControlContextData> = {\n setControlContextData?: (ctxData: T) => void;\n};\n\nexport type BaseControlContextData = {\n parent?: {\n isDisabled?: boolean;\n isReadOnly?: boolean;\n };\n};\n\nexport type Registerable = {\n registerComponent: typeof registerComponent;\n};\n\nexport type OtherCodeComponentsMeta = {\n text: CodeComponentMeta<any>;\n description: CodeComponentMeta<any>;\n};\n\nexport type CodeComponentMetaOverrides<T extends React.ComponentType<any>> =\n Partial<\n Pick<\n CodeComponentMeta<React.ComponentProps<T>>,\n \"parentComponentName\" | \"props\" | \"displayName\" | \"name\"\n >\n >;\n\nexport function registerComponentHelper<T extends React.ComponentType<any>>(\n loader: Registerable | undefined,\n component: T,\n meta: CodeComponentMeta<React.ComponentProps<T>>,\n overrides?: CodeComponentMetaOverrides<T>\n) {\n meta = {\n ...meta,\n defaultStyles: {\n ...defaultStyles,\n ...(meta.defaultStyles ?? {}),\n },\n };\n if (overrides) {\n meta = {\n ...meta,\n ...overrides,\n props: {\n ...meta.props,\n ...overrides.props,\n },\n };\n if (overrides.parentComponentName) {\n meta.name = makeChildComponentName(\n overrides.parentComponentName,\n meta.name\n );\n }\n }\n if (loader) {\n loader.registerComponent(component, meta);\n } else {\n registerComponent(component, meta);\n }\n return meta;\n}\n\nexport function makeComponentName(name: string) {\n return `plasmic-react-aria-${name}`;\n}\n\nexport function makeChildComponentName(\n fullParentName: string | undefined,\n fullChildName: string\n) {\n if (!fullParentName) {\n return fullChildName;\n }\n return `${fullParentName}-${fullChildName.replace(\n \"plasmic-react-aria-\",\n \"\"\n )}`;\n}\n\nexport interface Styleable {\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport function extractPlasmicDataProps(props: Record<string, any>) {\n return Object.fromEntries(\n Object.entries(props).filter(([key]) => key.startsWith(\"data-plasmic-\"))\n );\n}\n\nexport function withoutNils<T>(array: (T | undefined | null)[]) {\n return array.filter((x): x is T => x != null);\n}\n\nexport function isDefined<T>(thing: T | undefined | null): thing is T {\n return thing !== undefined && thing !== null;\n}\n","import { PropType } from \"@plasmicapp/host\";\nimport {\n BaseControlContextData,\n HasControlContextData,\n isDefined,\n} from \"./utils\";\n\nexport const defaultStyles: React.CSSProperties = {\n boxSizing: \"border-box\",\n};\n\nexport function hasParent<T>(_props: T, ctx: ConditionalContext<T>): boolean {\n return isDefined(ctx?.parent) === true;\n}\n\nexport function isParentReadOnly<T>(_props: T, ctx: ConditionalContext<T>) {\n return ctx?.parent?.isReadOnly === true;\n}\n\nexport function isParentDisabled<T>(_props: T, ctx: ConditionalContext<T>) {\n return ctx?.parent?.isDisabled === true;\n}\n\nexport function resolveAutoComplete(autoCompleteProp?: string | string[]) {\n if (typeof autoCompleteProp === \"string\") {\n return autoCompleteProp;\n }\n if (\n !autoCompleteProp ||\n !Array.isArray(autoCompleteProp) ||\n autoCompleteProp.includes(\"off\")\n ) {\n return undefined;\n }\n if (autoCompleteProp.includes(\"off\")) {\n return \"off\";\n }\n if (autoCompleteProp.includes(\"on\") && autoCompleteProp.length === 1) {\n return \"on\";\n }\n return autoCompleteProp.filter((x) => x !== \"on\").join(\" \");\n}\n\ntype ConditionalContext<T> = T extends HasControlContextData\n ? BaseControlContextData | null\n : null;\n\nfunction createNameProp<T>(): PropType<T> {\n return {\n type: \"string\",\n description: \"Name for this field if it is part of a form\",\n hidden: hasParent,\n advanced: true,\n };\n}\n\nfunction createDisabledProp<T>(componentName: string): PropType<T> {\n return {\n displayName: \"Disabled\",\n type: \"boolean\",\n description: `Whether the ${componentName} is read-only and unfocusable`,\n defaultValueHint: false,\n hidden: isParentDisabled,\n };\n}\n\nfunction createReadOnlyProp<T>(componentName: string): PropType<T> {\n return {\n displayName: \"Read only\",\n type: \"boolean\",\n description: `Whether the value of this ${componentName} can be changed by the user. Unlike disabled, read-only does not prevent the user from interacting with the component (such as focus).`,\n defaultValueHint: false,\n advanced: true,\n hidden: isParentReadOnly,\n };\n}\n\nfunction createRequiredProp<T>(componentName: string): PropType<T> {\n return {\n displayName: \"Required\",\n type: \"boolean\",\n description: `Whether user input is required on the ${componentName} before form submission.`,\n defaultValueHint: false,\n advanced: true,\n hidden: hasParent,\n };\n}\n\nfunction createAutoFocusProp<T>(componentName: string): PropType<T> {\n return {\n type: \"boolean\",\n description: `Whether the ${componentName} should be focused when rendered`,\n defaultValueHint: false,\n advanced: true,\n hidden: hasParent,\n };\n}\n\nfunction createAriaLabelProp<T>(componentName: string): PropType<T> {\n return {\n type: \"string\",\n displayName: \"ARIA label\",\n description: `Label for this ${componentName}, if no visible label is used, to identify the element to assistive technology`,\n advanced: true,\n hidden: hasParent,\n };\n}\n\nfunction createChildrenProp<T>(): PropType<T> {\n return {\n type: \"slot\",\n mergeWithParent: true as any,\n };\n}\n\nexport function getCommonProps<T>(\n componentName: string,\n propNames: (keyof T)[]\n) {\n const commonProps: Record<string, PropType<T>> = {\n name: createNameProp<T>(),\n disabled: createDisabledProp(componentName),\n isDisabled: createDisabledProp(componentName),\n readOnly: createReadOnlyProp(componentName),\n isReadOnly: createReadOnlyProp(componentName),\n autoFocus: createAutoFocusProp(componentName),\n \"aria-label\": createAriaLabelProp(componentName),\n required: createRequiredProp(componentName),\n isRequired: createRequiredProp(componentName),\n children: createChildrenProp(),\n // NOTE: The following props are only applicable to inputs, textareas, and text fields\n value: {\n type: \"string\",\n editOnly: true,\n displayName: \"Initial value\",\n uncontrolledProp: \"defaultValue\",\n description: `The default value of the ${componentName}`,\n hidden: hasParent,\n },\n maxLength: {\n type: \"number\",\n description: \"The maximum number of characters supported by the input\",\n advanced: true,\n hidden: hasParent,\n },\n minLength: {\n type: \"number\",\n description: \"The minimum number of characters supported by the input\",\n advanced: true,\n hidden: hasParent,\n },\n pattern: {\n type: \"string\",\n description:\n \"Regex pattern that the value of the input must match to be valid\",\n helpText:\n \"For more information about writing Regular Expressions (regex), check out https://regexr.com/\",\n validator: (value: string) => {\n try {\n new RegExp(value);\n return true;\n } catch (error) {\n return \"Invalid Regex\";\n }\n },\n advanced: true,\n hidden: hasParent,\n },\n type: {\n type: \"choice\",\n defaultValueHint: \"text\",\n options: [\"text\", \"search\", \"url\", \"tel\", \"email\", \"password\"],\n description:\n \"The type of data that an input field is expected to handle. It influences the input's behavior, validation, and the kind of interface provided to the user.\",\n advanced: true,\n hidden: hasParent,\n },\n inputMode: {\n type: \"choice\",\n description:\n \"hint to browsers as to the type of virtual keyboard configuration to use when editing this element or its contents.\",\n options: [\n \"none\",\n \"text\",\n \"tel\",\n \"url\",\n \"email\",\n \"numeric\",\n \"decimal\",\n \"search\",\n ],\n hidden: hasParent,\n },\n autoComplete: {\n type: \"choice\",\n advanced: true,\n multiSelect: true,\n hidden: hasParent,\n description: \"Guidance as to the type of data expected in the field\",\n helpText:\n \"For explanations on what each of the values mean, check https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#values\",\n options: [\n \"on\",\n \"off\",\n \"name\",\n \"honorific-prefix\",\n \"given-name\",\n \"additional-name\",\n \"family-name\",\n \"honorific-suffix\",\n \"nickname\",\n \"email\",\n \"username\",\n \"new-password\",\n \"current-password\",\n \"one-time-code\",\n \"organization-title\",\n \"organization\",\n \"street-address\",\n \"shipping\",\n \"billing\",\n \"address-line1\",\n \"address-line2\",\n \"address-line3\",\n \"address-level4\",\n \"address-level3\",\n \"address-level2\",\n \"address-level1\",\n \"country\",\n \"country-name\",\n \"postal-code\",\n \"cc-name\",\n \"cc-given-name\",\n \"cc-additional-name\",\n \"cc-family-name\",\n \"cc-number\",\n \"cc-exp\",\n \"cc-exp-month\",\n \"cc-exp-year\",\n \"cc-csc\",\n \"cc-type\",\n \"transaction-currency\",\n \"transaction-amount\",\n \"language\",\n \"bday\",\n \"bday-day\",\n \"bday-month\",\n \"bday-year\",\n \"sex\",\n \"tel\",\n \"tel-country-code\",\n \"tel-national\",\n \"tel-area-code\",\n \"tel-local\",\n \"tel-local-suffix\",\n \"tel-local-prefix\",\n \"tel-extension\",\n \"impp\",\n \"url\",\n \"photo\",\n \"webauthn\",\n ],\n },\n validationBehavior: {\n type: \"choice\",\n options: [\"native\", \"aria\"],\n description:\n \"Whether to use native HTML form validation to prevent form submission when the value is missing or invalid, or mark the field as required or invalid via ARIA.\",\n defaultValueHint: \"native\",\n advanced: true,\n hidden: hasParent,\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"string\" }],\n hidden: hasParent,\n },\n onFocus: {\n type: \"eventHandler\",\n argTypes: [{ name: \"focusEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onBlur: {\n type: \"eventHandler\",\n argTypes: [{ name: \"focusEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onFocusChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isFocused\", type: \"boolean\" }],\n advanced: true,\n hidden: hasParent,\n },\n onKeyDown: {\n type: \"eventHandler\",\n argTypes: [{ name: \"keyboardEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onKeyUp: {\n type: \"eventHandler\",\n argTypes: [{ name: \"keyboardEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onCopy: {\n type: \"eventHandler\",\n argTypes: [{ name: \"clipbordEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onCut: {\n type: \"eventHandler\",\n argTypes: [{ name: \"clipbordEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onPaste: {\n type: \"eventHandler\",\n argTypes: [{ name: \"clipbordEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onCompositionStart: {\n type: \"eventHandler\",\n argTypes: [{ name: \"compositionEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onCompositionEnd: {\n type: \"eventHandler\",\n argTypes: [{ name: \"compositionEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onCompositionUpdate: {\n type: \"eventHandler\",\n argTypes: [{ name: \"compositionEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onSelect: {\n type: \"eventHandler\",\n argTypes: [{ name: \"selectionEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onBeforeInput: {\n type: \"eventHandler\",\n argTypes: [{ name: \"inputEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onInput: {\n type: \"eventHandler\",\n argTypes: [{ name: \"inputEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n placeholder: {\n type: \"string\",\n },\n };\n\n // Filter the properties based on the provided fields array\n const filteredProps: Partial<Record<keyof T, PropType<T>>> = {};\n propNames.forEach((propName) => {\n if (Object.prototype.hasOwnProperty.call(commonProps, propName)) {\n filteredProps[propName] = commonProps[propName as string];\n }\n });\n\n return filteredProps;\n}\n","import { CodeComponentMeta } from \"@plasmicapp/host\";\nimport React from \"react\";\n\nconst ARIA_COMPONENTS_INTERACTION_VARIANTS = {\n hovered: {\n cssSelector: \"[data-hovered]\",\n displayName: \"Hovered\",\n },\n pressed: {\n cssSelector: \"[data-pressed]\",\n displayName: \"Pressed\",\n },\n focused: {\n cssSelector: \"[data-focused]\",\n displayName: \"Focused\",\n },\n focusVisible: {\n cssSelector: \"[data-focus-visible]\",\n displayName: \"Focus Visible\",\n },\n dragging: {\n cssSelector: \"[data-dragging]\",\n displayName: \"Dragging\",\n },\n selected: {\n cssSelector: \"[data-selected]\",\n displayName: \"Selected\",\n },\n readonly: {\n cssSelector: \"[data-readonly]\",\n displayName: \"Read Only\",\n },\n disabled: {\n cssSelector: \"[data-disabled]\",\n displayName: \"Disabled\",\n },\n indeterminate: {\n cssSelector: \"[data-indeterminate]\",\n displayName: \"Indeterminate\",\n },\n};\n\ntype AriaInteractionVariant = keyof typeof ARIA_COMPONENTS_INTERACTION_VARIANTS;\n\ntype CodeComponentInteractionVariantsMeta = NonNullable<\n CodeComponentMeta<unknown>[\"interactionVariants\"]\n>;\n\ntype InteractionVariantMeta = CodeComponentInteractionVariantsMeta[string];\n\ntype ArrayElement<T> = T extends (infer U)[] ? U : never;\n\nexport type UpdateInteractionVariant<T extends AriaInteractionVariant[]> =\n | ((changes: Partial<Record<ArrayElement<T>, boolean>>) => void)\n | undefined;\n\ntype WithObservedValues<T extends AriaInteractionVariant[]> = (\n children: React.ReactNode,\n state: Record<ArrayElement<T>, boolean>,\n updateInteractionVariant: UpdateInteractionVariant<T>\n) => React.ReactNode;\n\nfunction ChangesObserver<T extends AriaInteractionVariant[]>({\n children,\n changes,\n updateInteractionVariant,\n}: {\n children: React.ReactNode;\n changes: Partial<Record<ArrayElement<T>, boolean>>;\n updateInteractionVariant?: UpdateInteractionVariant<T>;\n}) {\n React.useEffect(() => {\n if (updateInteractionVariant) {\n updateInteractionVariant(changes);\n }\n }, [changes, updateInteractionVariant]);\n return children;\n}\n\nfunction realWithObservedValues<T extends AriaInteractionVariant[]>(\n children: React.ReactNode,\n changes: Partial<Record<ArrayElement<T>, boolean>>,\n updateInteractionVariant?: UpdateInteractionVariant<T>\n) {\n return (\n <ChangesObserver\n changes={changes}\n updateInteractionVariant={updateInteractionVariant}\n >\n {children}\n </ChangesObserver>\n );\n}\n\nexport function pickAriaComponentVariants<T extends AriaInteractionVariant[]>(\n keys: T\n): {\n interactionVariants: Record<ArrayElement<T>, InteractionVariantMeta>;\n withObservedValues: WithObservedValues<T>;\n} {\n return {\n interactionVariants: Object.fromEntries(\n keys.map((key) => [key, ARIA_COMPONENTS_INTERACTION_VARIANTS[key]])\n ) as Record<ArrayElement<T>, InteractionVariantMeta>,\n withObservedValues: realWithObservedValues<T>,\n };\n}\n","import React from \"react\";\nimport type { ButtonProps } from \"react-aria-components\";\nimport { Button } from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst BUTTON_INTERACTION_VARIANTS = [\n \"hovered\" as const,\n \"pressed\" as const,\n \"focused\" as const,\n \"focusVisible\" as const,\n \"disabled\" as const,\n];\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n BUTTON_INTERACTION_VARIANTS\n);\n\ninterface BaseButtonProps extends ButtonProps {\n children: React.ReactNode;\n resetsForm?: boolean;\n submitsForm?: boolean;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof BUTTON_INTERACTION_VARIANTS\n >;\n}\n\nexport function BaseButton(props: BaseButtonProps) {\n const {\n submitsForm,\n resetsForm,\n children,\n updateInteractionVariant,\n ...rest\n } = props;\n\n const type = submitsForm ? \"submit\" : resetsForm ? \"reset\" : \"button\";\n\n return (\n <Button type={type} {...rest}>\n {({ isHovered, isPressed, isFocused, isFocusVisible, isDisabled }) =>\n withObservedValues(\n children,\n {\n hovered: isHovered,\n pressed: isPressed,\n focused: isFocused,\n focusVisible: isFocusVisible,\n disabled: isDisabled,\n },\n updateInteractionVariant\n )\n }\n </Button>\n );\n}\n\nexport const BUTTON_COMPONENT_NAME = makeComponentName(\"button\");\n\nexport function registerButton(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseButton>\n) {\n registerComponentHelper(\n loader,\n BaseButton,\n {\n name: BUTTON_COMPONENT_NAME,\n displayName: \"Aria Button\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerButton\",\n importName: \"BaseButton\",\n interactionVariants,\n defaultStyles: {\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n padding: \"2px 10px\",\n cursor: \"pointer\",\n },\n props: {\n ...getCommonProps<BaseButtonProps>(\"button\", [\n \"isDisabled\",\n \"aria-label\",\n ]),\n children: {\n type: \"slot\",\n mergeWithParent: true as any,\n defaultValue: {\n type: \"text\",\n value: \"Button\",\n },\n },\n submitsForm: {\n type: \"boolean\",\n displayName: \"Submits form?\",\n defaultValueHint: false,\n hidden: (ps: BaseButtonProps) => Boolean(ps.resetsForm),\n description:\n \"Whether clicking this button should submit the enclosing form.\",\n advanced: true,\n },\n resetsForm: {\n type: \"boolean\",\n displayName: \"Resets form?\",\n defaultValueHint: false,\n hidden: (ps: BaseButtonProps) => Boolean(ps.submitsForm),\n description:\n \"Whether clicking this button should reset the enclosing form.\",\n advanced: true,\n },\n onPress: {\n type: \"eventHandler\",\n argTypes: [{ name: \"event\", type: \"object\" }],\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import React from \"react\";\nimport type { StrictItemType } from \"./option-utils\";\nimport { BaseCheckboxGroup } from \"./registerCheckboxGroup\";\nimport { BaseDialogTrigger } from \"./registerDialogTrigger\";\nimport type { BaseHeader } from \"./registerHeader\";\nimport type { BaseInput } from \"./registerInput\";\nimport type { BaseLabel } from \"./registerLabel\";\nimport type { BaseListBoxProps } from \"./registerListBox\";\nimport { BasePopover } from \"./registerPopover\";\nimport { BaseRadioGroup } from \"./registerRadioGroup\";\nimport type { BaseSection } from \"./registerSection\";\nimport { BaseSlider } from \"./registerSlider\";\nimport { BaseTextField } from \"./registerTextField\";\n\n// We pass down context props via our own Plasmic*Context instead of directly\n// using react-aria-component's *Context, because react-aria-component's\n// contexts don't \"merge\" with contexts further up the tree, so if we render\n// a context provider, it will just be overwritten by react-aria-component's\n// context provider. So we do the merging within our own Base* components\n// instead.\n\n// Creating the text field context here because input/textarea inside text field receive a null for the TextFieldContext\nexport const PlasmicTextFieldContext = React.createContext<\n React.ComponentProps<typeof BaseTextField> | undefined\n>(undefined);\n\nexport const PlasmicCheckboxGroupContext = React.createContext<\n React.ComponentProps<typeof BaseCheckboxGroup> | undefined\n>(undefined);\n\nexport const PlasmicRadioGroupContext = React.createContext<\n React.ComponentProps<typeof BaseRadioGroup> | undefined\n>(undefined);\n\nexport const PlasmicDialogTriggerContext = React.createContext<\n React.ComponentProps<typeof BaseDialogTrigger> | undefined\n>(undefined);\n\nexport type PlasmicSliderContextType<T extends number | number[]> =\n | React.ComponentProps<typeof BaseSlider<T>>\n | undefined;\n\nexport const PlasmicSliderContext =\n React.createContext<PlasmicSliderContextType<number | number[]>>(undefined);\n\nexport const PlasmicLabelContext = React.createContext<\n React.ComponentProps<typeof BaseLabel> | undefined\n>(undefined);\n\nexport const PlasmicPopoverContext = React.createContext<\n React.ComponentProps<typeof BasePopover> | undefined\n>(undefined);\n\nexport const PlasmicListBoxContext = React.createContext<\n BaseListBoxProps | undefined\n>(undefined);\n\nexport const PlasmicItemContext = React.createContext<\n StrictItemType | undefined\n>(undefined);\n\nexport const PlasmicSectionContext = React.createContext<\n React.ComponentProps<typeof BaseSection> | undefined\n>(undefined);\n\nexport const PlasmicHeaderContext = React.createContext<\n React.ComponentProps<typeof BaseHeader> | undefined\n>(undefined);\n\nexport const PlasmicInputContext = React.createContext<\n React.ComponentProps<typeof BaseInput> | undefined\n>(undefined);\n","import { PlasmicElement } from \"@plasmicapp/host\";\nimport React from \"react\";\nimport type { CheckboxProps } from \"react-aria-components\";\nimport { Checkbox } from \"react-aria-components\";\nimport { getCommonProps, hasParent } from \"./common\";\nimport { PlasmicCheckboxGroupContext } from \"./contexts\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport {\n CodeComponentMetaOverrides,\n HasControlContextData,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst CHECKBOX_INTERACTION_VARIANTS = [\n \"hovered\" as const,\n \"pressed\" as const,\n \"focused\" as const,\n \"focusVisible\" as const,\n \"indeterminate\" as const,\n \"disabled\" as const,\n \"selected\" as const,\n \"readonly\" as const,\n \"selected\" as const,\n];\n\ninterface BaseCheckboxProps extends CheckboxProps, HasControlContextData {\n children: React.ReactNode;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof CHECKBOX_INTERACTION_VARIANTS\n >;\n}\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n CHECKBOX_INTERACTION_VARIANTS\n);\n\nexport function BaseCheckbox(props: BaseCheckboxProps) {\n const { children, updateInteractionVariant, setControlContextData, ...rest } =\n props;\n const contextProps = React.useContext(PlasmicCheckboxGroupContext);\n\n setControlContextData?.({\n parent: contextProps,\n });\n\n return (\n <>\n <Checkbox {...rest}>\n {({\n isHovered,\n isPressed,\n isFocused,\n isFocusVisible,\n isDisabled,\n isIndeterminate,\n isSelected,\n isReadOnly,\n }) =>\n withObservedValues(\n children,\n {\n hovered: isHovered,\n pressed: isPressed,\n focused: isFocused,\n focusVisible: isFocusVisible,\n disabled: isDisabled,\n indeterminate: isIndeterminate,\n selected: isSelected,\n readonly: isReadOnly,\n },\n updateInteractionVariant\n )\n }\n </Checkbox>\n </>\n );\n}\n\nexport const makeDefaultCheckboxChildren = ({\n label,\n showDocs,\n}: {\n label: string;\n showDocs?: boolean;\n}): PlasmicElement => ({\n type: \"vbox\",\n styles: {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"2px\",\n padding: 0,\n },\n children: [\n {\n type: \"hbox\",\n styles: {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"10px\",\n padding: 0,\n },\n children: [\n {\n type: \"box\",\n styles: {\n width: \"7px\",\n height: \"7px\",\n borderRadius: \"3px\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n },\n },\n {\n type: \"text\",\n value: label,\n },\n ],\n },\n ...(showDocs\n ? [\n {\n type: \"text\",\n value: \"Add interaction variants to see it in action...\",\n } as PlasmicElement,\n ]\n : []),\n ],\n});\n\nexport function registerCheckbox(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseCheckbox>\n) {\n return registerComponentHelper(\n loader,\n BaseCheckbox,\n {\n name: makeComponentName(\"checkbox\"),\n displayName: \"Aria Checkbox\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerCheckbox\",\n importName: \"BaseCheckbox\",\n interactionVariants,\n props: {\n ...getCommonProps<BaseCheckboxProps>(\"checkbox\", [\n \"name\",\n \"isDisabled\",\n \"isReadOnly\",\n \"aria-label\",\n \"isRequired\",\n \"autoFocus\",\n ]),\n children: {\n type: \"slot\",\n mergeWithParent: true as any,\n defaultValue: makeDefaultCheckboxChildren({\n label: \"Label\",\n showDocs: true,\n }),\n },\n value: {\n type: \"string\",\n description:\n 'The value of the checkbox in \"selected\" state, used when submitting an HTML form.',\n defaultValueHint: \"on\",\n },\n isSelected: {\n type: \"boolean\",\n displayName: \"Default Selected\",\n editOnly: true,\n uncontrolledProp: \"defaultSelected\",\n description: \"Whether the checkbox should be selected by default\",\n defaultValueHint: false,\n defaultValue: false,\n },\n isIndeterminate: {\n displayName: \"Indeterminate\",\n type: \"boolean\",\n description:\n \"This state indicates that the checkbox is neither fully checked nor unchecked. It typically represents a partial selection when dealing with groups of options. Some but not all items in the group are selected, resulting in an indeterminate state for the checkbox.\",\n defaultValueHint: false,\n },\n isInvalid: {\n displayName: \"Invalid\",\n type: \"boolean\",\n description: \"Whether the input value is invalid\",\n defaultValueHint: false,\n },\n validationBehavior: {\n type: \"choice\",\n options: [\"native\", \"aria\"],\n description:\n \"Whether to use native HTML form validation to prevent form submission when the value is missing or invalid, or mark the field as required or invalid via ARIA.\",\n defaultValueHint: \"native\",\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isSelected\", type: \"boolean\" }],\n },\n },\n states: {\n isSelected: {\n type: \"writable\",\n valueProp: \"isSelected\",\n onChangeProp: \"onChange\",\n variableType: \"boolean\",\n hidden: hasParent,\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import React from \"react\";\nimport type { TextProps } from \"react-aria-components\";\nimport { Text } from \"react-aria-components\";\nimport {\n CodeComponentMetaOverrides,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nexport function BaseText({ children, ...rest }: TextProps) {\n return <Text {...rest}>{children}</Text>;\n}\n\nexport const TEXT_COMPONENT_NAME = makeComponentName(\"text\");\n\nexport function registerText(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseText>\n) {\n return registerComponentHelper(\n loader,\n BaseText,\n {\n name: TEXT_COMPONENT_NAME,\n displayName: \"Aria Text\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerText\",\n importName: \"BaseText\",\n props: {\n children: {\n type: \"slot\",\n mergeWithParent: true as any,\n defaultValue: {\n type: \"text\",\n value: \"Some text...\",\n },\n },\n slot: {\n type: \"choice\",\n options: [\"label\", \"description\"],\n defaultValueHint: \"label\",\n defaultValue: \"label\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import { BaseText, registerText } from \"./registerText\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n} from \"./utils\";\n\nexport const DESCRIPTION_COMPONENT_NAME = makeComponentName(\"description\");\n\nexport function registerDescription(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseText>\n) {\n return registerText(loader, {\n ...overrides,\n name: DESCRIPTION_COMPONENT_NAME,\n displayName: \"Aria Description\",\n props: {\n slot: {\n type: \"string\",\n hidden: () => true,\n defaultValue: \"description\",\n },\n },\n });\n}\n","import React from \"react\";\nimport type { FieldErrorProps } from \"react-aria-components\";\nimport { FieldError } from \"react-aria-components\";\nimport {\n CodeComponentMetaOverrides,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\ninterface BaseFieldErrorProps extends FieldErrorProps {\n useBuiltInValidation: boolean;\n badInput?: string;\n customError?: string;\n patternMismatch?: string;\n rangeOverflow?: string;\n rangeUnderflow?: string;\n stepMismatch?: string;\n tooLong?: string;\n tooShort?: string;\n typeMismatch?: string;\n valueMissing?: string;\n}\n\nexport function BaseFieldError({\n badInput,\n customError,\n patternMismatch,\n rangeOverflow,\n rangeUnderflow,\n stepMismatch,\n tooLong,\n tooShort,\n typeMismatch,\n valueMissing,\n ...rest\n}: BaseFieldErrorProps) {\n return (\n <FieldError {...rest}>\n {({ validationDetails, validationErrors }) => {\n if (validationDetails.badInput && badInput) {\n return badInput;\n }\n if (validationDetails.customError && customError) {\n return customError;\n }\n if (validationDetails.patternMismatch && patternMismatch) {\n return patternMismatch;\n }\n if (validationDetails.rangeOverflow && rangeOverflow) {\n return rangeOverflow;\n }\n if (validationDetails.rangeUnderflow && rangeUnderflow) {\n return rangeUnderflow;\n }\n if (validationDetails.stepMismatch && stepMismatch) {\n return stepMismatch;\n }\n if (validationDetails.tooLong && tooLong) {\n return tooLong;\n }\n if (validationDetails.tooShort && tooShort) {\n return tooShort;\n }\n if (validationDetails.typeMismatch && typeMismatch) {\n return typeMismatch;\n }\n if (validationDetails.valueMissing && valueMissing) {\n return valueMissing;\n }\n return validationErrors;\n }}\n </FieldError>\n );\n}\n\nfunction PropsDescription() {\n return (\n <div style={{ marginBottom: 20 }}>\n <p>\n You can customize the error messages for built-in validations by\n utilizing the props below.\n </p>\n <p>\n For further information on the specific conditions triggering each\n error, please refer to the{\" \"}\n <a\n target=\"_blank\"\n href=\"https://developer.mozilla.org/en-US/docs/Web/API/ValidityState#instance_properties\"\n >\n MDN Docs\n </a>\n .\n </p>\n </div>\n );\n}\n\nexport function registerFieldError(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseFieldError>\n) {\n registerComponentHelper(\n loader,\n BaseFieldError,\n {\n name: makeComponentName(\"fielderror\"),\n displayName: \"Aria Field Error\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerFieldError\",\n importName: \"BaseFieldError\",\n actions: [\n {\n type: \"custom-action\",\n control: PropsDescription,\n },\n ],\n props: {\n badInput: {\n type: \"string\",\n description:\n \"Error message if the user has provided input that the browser is unable to convert\",\n },\n customError: {\n type: \"string\",\n description: \"Error message for custom validations\",\n },\n patternMismatch: {\n type: \"string\",\n description:\n \"Error message if the value does not match the specified pattern\",\n },\n rangeOverflow: {\n type: \"string\",\n description:\n \"Error message if the value is greater than the maximum specified\",\n },\n rangeUnderflow: {\n type: \"string\",\n description:\n \"Error message if the value is less than the minimum specified\",\n },\n stepMismatch: {\n type: \"string\",\n description:\n \"Error message if the value is not evenly divisible by the step value\",\n },\n tooLong: {\n type: \"string\",\n description:\n \"Error message if the value exceeds the specified maximum number of characters\",\n },\n tooShort: {\n type: \"string\",\n description:\n \"Error message if the value fails to meet the specified minimum number of characters\",\n },\n typeMismatch: {\n type: \"string\",\n description:\n \"Error message if the value is not in the required syntax (when type is email or url)\",\n },\n valueMissing: {\n type: \"string\",\n description: \"Error message if a required field has no value\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import { Label } from \"react-aria-components\";\nimport {\n CodeComponentMetaOverrides,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nexport const BaseLabel = Label;\n\nexport const LABEL_COMPONENT_NAME = makeComponentName(\"label\");\n\nexport function registerLabel(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseLabel>\n) {\n registerComponentHelper(\n loader,\n BaseLabel,\n {\n name: LABEL_COMPONENT_NAME,\n displayName: \"Aria Label\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerLabel\",\n importName: \"BaseLabel\",\n defaultStyles: {\n cursor: \"pointer\",\n },\n props: {\n children: {\n type: \"slot\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import React from \"react\";\nimport type { CheckboxGroupProps } from \"react-aria-components\";\nimport { CheckboxGroup } from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport { PlasmicCheckboxGroupContext } from \"./contexts\";\nimport {\n pickAriaComponentVariants,\n UpdateInteractionVariant,\n} from \"./interaction-variant-utils\";\nimport {\n makeDefaultCheckboxChildren,\n registerCheckbox,\n} from \"./registerCheckbox\";\nimport { DESCRIPTION_COMPONENT_NAME } from \"./registerDescription\";\nimport { registerFieldError } from \"./registerFieldError\";\nimport { LABEL_COMPONENT_NAME, registerLabel } from \"./registerLabel\";\nimport {\n CodeComponentMetaOverrides,\n makeChildComponentName,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nconst CHECKBOX_GROUP_INTERACTION_VARIANTS = [\n \"disabled\" as const,\n \"readonly\" as const,\n];\n\nexport interface BaseCheckboxGroupProps extends CheckboxGroupProps {\n children?: React.ReactNode;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof CHECKBOX_GROUP_INTERACTION_VARIANTS\n >;\n}\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n CHECKBOX_GROUP_INTERACTION_VARIANTS\n);\n\nexport function BaseCheckboxGroup(props: BaseCheckboxGroupProps) {\n const { children, updateInteractionVariant, ...rest } = props;\n\n return (\n <PlasmicCheckboxGroupContext.Provider value={rest}>\n <CheckboxGroup {...rest}>\n {({ isDisabled, isReadOnly }) =>\n withObservedValues(\n children,\n {\n disabled: isDisabled,\n readonly: isReadOnly,\n },\n updateInteractionVariant\n )\n }\n </CheckboxGroup>\n </PlasmicCheckboxGroupContext.Provider>\n );\n}\n\nconst componentName = makeComponentName(\"checkboxGroup\");\n\nexport function registerCheckboxGroup(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseCheckboxGroup>\n) {\n const thisName = makeChildComponentName(\n overrides?.parentComponentName,\n componentName\n );\n\n registerFieldError(loader, { parentComponentName: thisName });\n const checkboxMeta = registerCheckbox(loader, {\n parentComponentName: thisName,\n });\n registerLabel(loader, { parentComponentName: thisName });\n\n registerComponentHelper(\n loader,\n BaseCheckboxGroup,\n {\n name: componentName,\n displayName: \"Aria Checkbox Group\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerCheckboxGroup\",\n importName: \"BaseCheckboxGroup\",\n interactionVariants,\n props: {\n ...getCommonProps<BaseCheckboxGroupProps>(\"checkbox group\", [\n \"name\",\n \"isDisabled\",\n \"isReadOnly\",\n \"aria-label\",\n \"children\",\n \"isRequired\",\n ]),\n children: {\n type: \"slot\",\n mergeWithParent: true as any,\n defaultValue: [\n {\n type: \"vbox\",\n styles: {\n display: \"flex\",\n gap: \"5px\",\n padding: 0,\n alignItems: \"flex-start\",\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Checkbox Group\",\n },\n },\n },\n {\n type: \"component\",\n name: checkboxMeta.name,\n props: {\n children: makeDefaultCheckboxChildren({\n label: \"Checkbox 1\",\n showDocs: false,\n }),\n value: \"checkbox1\",\n },\n },\n {\n type: \"component\",\n name: checkboxMeta.name,\n props: {\n children: makeDefaultCheckboxChildren({\n label: \"Checkbox 2\",\n showDocs: false,\n }),\n value: \"checkbox2\",\n },\n },\n {\n type: \"component\",\n name: checkboxMeta.name,\n props: {\n children: makeDefaultCheckboxChildren({\n label: \"Checkbox 3\",\n showDocs: false,\n }),\n value: \"checkbox3\",\n },\n },\n {\n type: \"component\",\n name: DESCRIPTION_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Add interaction variants to see it in action...\",\n },\n },\n },\n ],\n },\n ],\n },\n value: {\n type: \"array\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"The current value\",\n },\n isInvalid: {\n displayName: \"Invalid\",\n type: \"boolean\",\n description: \"Whether the input value is invalid\",\n defaultValueHint: false,\n },\n validationBehavior: {\n type: \"choice\",\n options: [\"native\", \"aria\"],\n description:\n \"Whether to use native HTML form validation to prevent form submission when the value is missing or invalid, or mark the field as required or invalid via ARIA.\",\n defaultValueHint: \"native\",\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"object\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"array\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import type { ArrayType, ChoiceType } from \"@plasmicapp/host/registerComponent\";\nimport React from \"react\";\n\nexport interface ObjectSectionType<T extends object> {\n label?: string;\n items?: ObjectItemType<T>[];\n}\ninterface FlexSectionType<T extends object> {\n label?: string;\n items?: FlexItemType<T>[];\n}\n\nexport type ObjectItemType<T extends object> = StrictOptionType | T;\ntype FlexItemType<T extends object> = ObjectItemType<T> | string;\n\nexport type FlexOptionType<T extends object> =\n | FlexItemType<T>\n | FlexSectionType<T>;\n\nexport type ObjectOptionType<T extends object> =\n | ObjectSectionType<T>\n | ObjectItemType<T>;\n\nexport interface HasOptions<T extends object> {\n options?: FlexOptionType<T>[];\n optionInfo?: (option: FlexOptionType<T>) => StrictOptionType;\n}\n\nexport interface StrictItemType {\n type?: \"option\";\n id: string;\n label?: string;\n isDisabled?: boolean;\n}\n\nexport interface StrictSectionType {\n type: \"option-group\";\n label?: string;\n items?: StrictItemType[];\n key: string;\n}\n\nexport type StrictOptionType = StrictItemType | StrictSectionType;\n\nexport function useStrictOptions<T extends object>(props: HasOptions<T>) {\n const { options, optionInfo } = props;\n return React.useMemo(() => {\n return deriveStrictOptions({ options, optionInfo });\n }, [options, optionInfo]);\n}\n\nexport function deriveStrictOptions<T extends object>(props: HasOptions<T>) {\n const { options, optionInfo } = props;\n let sectionCount = 0;\n\n const makeStrict = (op: FlexOptionType<T>): StrictOptionType | undefined => {\n if (!op) {\n return undefined;\n } else if (typeof op === \"string\" || typeof op === \"number\") {\n const item = {\n id: op,\n };\n return item;\n } else if (optionInfo) {\n const info = optionInfo(op);\n if (info.type === \"option-group\") {\n const section: StrictSectionType = {\n type: \"option-group\",\n items: info.items\n ?.map?.((item) => makeStrict(item) as StrictItemType)\n ?.filter((x) => !!x),\n label: info.label,\n key: `option-group-${sectionCount}`,\n };\n sectionCount += 1;\n return section;\n } else {\n let item = info;\n if (!(\"id\" in item)) {\n item = {\n type: \"option\",\n id: JSON.stringify(item),\n };\n }\n return item;\n }\n } else if (typeof op === \"object\") {\n if (\"items\" in op) {\n const section: StrictSectionType = {\n type: \"option-group\",\n items: op.items\n ?.map?.((item) => makeStrict(item) as StrictItemType)\n ?.filter((x) => !!x),\n label: op.label,\n key: `option-group-${sectionCount}`,\n };\n sectionCount += 1;\n return section;\n } else {\n let item = op;\n if (!(\"id\" in item)) {\n item = {\n type: \"option\",\n id: JSON.stringify(item),\n };\n }\n return item;\n }\n } else {\n return undefined;\n }\n };\n\n const strictOptions = options\n ?.map(makeStrict)\n ?.filter((x): x is StrictOptionType => !!x);\n\n const optionText = (op: StrictItemType) => {\n return op.label ?? op.id;\n };\n\n return { options: strictOptions, optionText };\n}\n\nexport function flattenOptions(\n options: (StrictItemType | StrictSectionType)[] | undefined\n): StrictItemType[] {\n if (!options) {\n return [];\n } else {\n return options.flatMap((op) =>\n op.type === \"option-group\" ? op.items ?? [] : op\n );\n }\n}\n\nexport function makeOptionsPropType() {\n const type: ArrayType<HasOptions<any>> = {\n type: \"array\",\n itemType: {\n type: \"object\",\n nameFunc: (item: any) => item.label || item.id,\n fields: {\n type: {\n type: \"choice\",\n options: [\n { value: \"option\", label: \"Option\" },\n { value: \"option-group\", label: \"Option Group\" },\n ],\n defaultValue: \"option\",\n },\n id: {\n type: \"string\",\n hidden: (_ps: any, _ctx: any, { item }: any) =>\n item.type !== \"option\",\n },\n label: \"string\",\n items: {\n type: \"array\",\n displayName: \"Options\",\n hidden: (_ps: any, _ctx: any, { item }: any) => {\n return item.type !== \"option-group\";\n },\n itemType: {\n type: \"object\",\n nameFunc: (item: any) => item.label || item.id,\n fields: {\n id: \"string\",\n label: \"string\",\n },\n },\n },\n },\n },\n defaultValue: [\n {\n id: \"option1\",\n label: \"Option 1\",\n type: \"option\",\n },\n {\n id: \"option2\",\n label: \"Option 2\",\n type: \"option\",\n },\n {\n label: \"Section 1\",\n type: \"option-group\",\n items: [\n {\n id: \"section-1-1\",\n label: \"Section item 1\",\n type: \"option\",\n },\n {\n id: \"section-1-2\",\n label: \"Section item 2\",\n type: \"option\",\n },\n ],\n },\n ],\n };\n return type;\n}\n\nexport function makeValuePropType() {\n const type: ChoiceType<HasOptions<any>> = {\n type: \"choice\",\n options: (ps: HasOptions<any>) => {\n const { options, optionText } = deriveStrictOptions(ps);\n return flattenOptions(options).map((op) => ({\n value: op.id,\n label: optionText(op),\n }));\n },\n };\n return type;\n}\n","import React, { ChangeEvent, useEffect } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport type { InputProps } from \"react-aria-components\";\nimport { Input } from \"react-aria-components\";\nimport { getCommonProps, resolveAutoComplete } from \"./common\";\nimport { PlasmicTextFieldContext } from \"./contexts\";\nimport {\n pickAriaComponentVariants,\n UpdateInteractionVariant,\n} from \"./interaction-variant-utils\";\nimport {\n CodeComponentMetaOverrides,\n HasControlContextData,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nconst INPUT_INTERACTION_VARIANTS = [\n \"focused\" as const,\n \"hovered\" as const,\n \"disabled\" as const,\n];\n\nconst { interactionVariants } = pickAriaComponentVariants(\n INPUT_INTERACTION_VARIANTS\n);\n\nexport interface BaseInputProps\n extends Omit<InputProps, \"autoComplete\">,\n HasControlContextData {\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof INPUT_INTERACTION_VARIANTS\n >;\n autoComplete?: string[];\n}\n\nexport const inputHelpers = {\n states: {\n value: {\n onChangeArgsToValue: (e: ChangeEvent<HTMLInputElement>) => {\n return e.target.value;\n },\n },\n },\n};\n\nexport function BaseInput(props: BaseInputProps) {\n const {\n updateInteractionVariant,\n setControlContextData,\n disabled,\n autoComplete,\n ...rest\n } = props;\n const textFieldContext = React.useContext(PlasmicTextFieldContext);\n\n setControlContextData?.({\n parent: textFieldContext,\n });\n\n const mergedProps = mergeProps(rest, {\n /**\n * While react-aria internally does the merging of the disabled prop,\n * we need to explicity do it here, because react-aria does it behind the scenes,\n * whereas we need the calculated value of the disabled prop to be able to update the \"disabled\" interaction variant.\n * */\n disabled: textFieldContext?.isDisabled ?? disabled,\n });\n\n // NOTE: Aria <Input> does not support render props, neither does it provide an onDisabledChange event, so we have to manually update the disabled state\n useEffect(() => {\n updateInteractionVariant?.({\n disabled: mergedProps.disabled,\n });\n }, [mergedProps.disabled, updateInteractionVariant]);\n\n return (\n <Input\n autoComplete={resolveAutoComplete(autoComplete)}\n onHoverChange={(isHovered) => {\n updateInteractionVariant?.({\n hovered: isHovered,\n });\n }}\n onFocus={() => {\n updateInteractionVariant?.({\n focused: true,\n });\n }}\n onBlur={() => {\n updateInteractionVariant?.({\n focused: false,\n });\n }}\n {...mergedProps}\n />\n );\n}\n\nexport const INPUT_COMPONENT_NAME = makeComponentName(\"input\");\n\nexport function registerInput(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseInput>\n) {\n registerComponentHelper(\n loader,\n BaseInput,\n {\n name: INPUT_COMPONENT_NAME,\n displayName: \"Aria Input\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerInput\",\n importName: \"BaseInput\",\n interactionVariants,\n defaultStyles: {\n width: \"300px\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n padding: \"2px 10px\",\n },\n props: {\n ...getCommonProps<BaseInputProps>(\"Input\", [\n \"name\",\n \"disabled\",\n \"readOnly\",\n \"autoFocus\",\n \"aria-label\",\n \"required\",\n \"placeholder\",\n \"value\",\n \"maxLength\",\n \"minLength\",\n \"pattern\",\n \"type\",\n \"inputMode\",\n \"autoComplete\",\n \"onChange\",\n \"onFocus\",\n \"onBlur\",\n \"onKeyDown\",\n \"onKeyUp\",\n \"onCopy\",\n \"onCut\",\n \"onPaste\",\n \"onCompositionStart\",\n \"onCompositionEnd\",\n \"onCompositionUpdate\",\n \"onSelect\",\n \"onBeforeInput\",\n \"onInput\",\n ]),\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n ...inputHelpers.states.value,\n },\n },\n componentHelpers: {\n helpers: inputHelpers,\n importName: \"inputHelpers\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerInput\",\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import { Component, ReactNode } from \"react\";\n\ninterface ErrorBoundaryProps {\n children: ReactNode;\n fallback: ReactNode;\n}\n\ninterface ErrorBoundaryState {\n hasError: boolean;\n}\n\nclass ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {\n constructor(props: ErrorBoundaryProps) {\n super(props);\n this.state = { hasError: false };\n }\n\n static getDerivedStateFromError(_: Error): ErrorBoundaryState {\n // Update state so the next render will show the fallback UI.\n return { hasError: true };\n }\n\n render() {\n if (this.state.hasError) {\n return this.props.fallback;\n }\n\n return this.props.children;\n }\n}\n\nexport default ErrorBoundary;\n","import { PlasmicElement } from \"@plasmicapp/host\";\nimport { mergeProps } from \"@react-aria/utils\";\nimport React from \"react\";\nimport { ListBox, ListBoxItem } from \"react-aria-components\";\nimport { PlasmicItemContext } from \"./contexts\";\nimport ErrorBoundary from \"./ErrorBoundary\";\nimport { DESCRIPTION_COMPONENT_NAME } from \"./registerDescription\";\nimport { TEXT_COMPONENT_NAME } from \"./registerText\";\nimport {\n CodeComponentMetaOverrides,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nexport function BaseListBoxItem(\n props: React.ComponentProps<typeof ListBoxItem>\n) {\n const contextProps = React.useContext(PlasmicItemContext);\n const mergedProps = mergeProps(contextProps, props);\n\n const listboxItem = (\n <ListBoxItem {...mergedProps} textValue={contextProps?.label}>\n {mergedProps.children as React.ReactNode}\n </ListBoxItem>\n );\n return (\n <ErrorBoundary fallback={<ListBox>{listboxItem}</ListBox>}>\n {listboxItem}\n </ErrorBoundary>\n );\n}\n\nexport const makeDefaultListBoxItemChildren = (\n label: string,\n description?: string\n): PlasmicElement => ({\n type: \"vbox\",\n styles: {\n display: \"flex\",\n alignItems: \"flex-start\",\n gap: \"2px\",\n },\n children: [\n {\n type: \"component\",\n name: TEXT_COMPONENT_NAME,\n props: {\n slot: \"label\",\n children: {\n type: \"text\",\n styles: {\n fontWeight: 500,\n },\n value: label,\n },\n },\n },\n {\n type: \"component\",\n name: DESCRIPTION_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n styles: {\n color: \"#838383\",\n },\n value: description ?? `Some description for ${label}...`,\n },\n },\n },\n ],\n});\n\nexport function registerListBoxItem(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseListBoxItem>\n) {\n return registerComponentHelper(\n loader,\n BaseListBoxItem,\n {\n name: makeComponentName(\"item\"),\n displayName: \"Aria ListBoxItem\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerListBoxItem\",\n importName: \"BaseListBoxItem\",\n props: {\n children: {\n type: \"slot\",\n defaultValue: makeDefaultListBoxItemChildren(\"Item\"),\n },\n },\n },\n overrides\n );\n}\n","import { mergeProps } from \"@react-aria/utils\";\nimport React from \"react\";\nimport { Header } from \"react-aria-components\";\nimport { PlasmicHeaderContext } from \"./contexts\";\nimport {\n CodeComponentMetaOverrides,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\nexport function BaseHeader(props: React.ComponentProps<typeof Header>) {\n const contextProps = React.useContext(PlasmicHeaderContext);\n return <Header {...mergeProps(contextProps, props)} />;\n}\n\nexport function registerHeader(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseHeader>\n) {\n return registerComponentHelper(\n loader,\n BaseHeader,\n {\n name: makeComponentName(\"header\"),\n displayName: \"Aria Header\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerHeader\",\n importName: \"BaseHeader\",\n defaultStyles: {\n fontWeight: \"bold\",\n fontSize: \"20px\",\n },\n props: {},\n },\n overrides\n );\n}\n","import { mergeProps } from \"@react-aria/utils\";\nimport React from \"react\";\nimport { Collection, Key, Section } from \"react-aria-components\";\nimport {\n PlasmicHeaderContext,\n PlasmicItemContext,\n PlasmicSectionContext,\n} from \"./contexts\";\nimport type { StrictSectionType } from \"./option-utils\";\nimport { registerHeader } from \"./registerHeader\";\nimport {\n CodeComponentMetaOverrides,\n makeChildComponentName,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n Styleable,\n} from \"./utils\";\n\nexport interface BaseSectionProps extends Styleable {\n // Configured via Studio\n renderHeader?: (section: any) => React.ReactNode;\n\n // Passed down via context from ListBox\n renderItem?: (item?: any) => React.ReactNode;\n key?: Key;\n section?: StrictSectionType;\n}\n\nexport function BaseSection(props: BaseSectionProps) {\n const contextProps = React.useContext(PlasmicSectionContext);\n const mergedProps = mergeProps(contextProps, props);\n const { section, renderHeader, key, renderItem } = mergedProps;\n\n return (\n <Section id={key} {...mergedProps}>\n <PlasmicHeaderContext.Provider value={{ children: section?.label }}>\n {renderHeader?.(section)}\n </PlasmicHeaderContext.Provider>\n <Collection items={section?.items}>\n {(item) => {\n return (\n <PlasmicItemContext.Provider value={item}>\n {renderItem?.(item)}\n </PlasmicItemContext.Provider>\n );\n }}\n </Collection>\n </Section>\n );\n}\n\nexport function registerSection(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSection>\n) {\n const thisName = makeChildComponentName(\n overrides?.parentComponentName,\n makeComponentName(\"section\")\n );\n\n const headerMeta = registerHeader(loader, {\n parentComponentName: thisName,\n });\n\n return registerComponentHelper(\n loader,\n BaseSection,\n {\n name: makeComponentName(\"section\"),\n displayName: \"Aria Section\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSection\",\n importName: \"BaseSection\",\n defaultStyles: {\n width: \"stretch\",\n padding: \"10px\",\n },\n props: {\n renderHeader: {\n type: \"slot\",\n displayName: \"Render section header\",\n renderPropParams: [\"sectionProps\"],\n defaultValue: {\n type: \"component\",\n name: headerMeta.name,\n },\n },\n },\n },\n overrides\n );\n}\n","import { mergeProps } from \"@react-aria/utils\";\nimport React from \"react\";\nimport { ListBox } from \"react-aria-components\";\nimport { hasParent } from \"./common\";\nimport {\n PlasmicItemContext,\n PlasmicListBoxContext,\n PlasmicSectionContext,\n} from \"./contexts\";\nimport {\n HasOptions,\n makeOptionsPropType,\n StrictOptionType,\n useStrictOptions,\n} from \"./option-utils\";\nimport {\n makeDefaultListBoxItemChildren,\n registerListBoxItem,\n} from \"./registerListBoxItem\";\nimport { registerSection } from \"./registerSection\";\nimport {\n CodeComponentMetaOverrides,\n HasControlContextData,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nexport interface BaseListBoxProps\n extends React.ComponentProps<typeof ListBox>,\n HasOptions<any>,\n HasControlContextData {\n renderItem?: (item: any) => React.ReactNode;\n renderSection?: (section: any) => React.ReactNode;\n getItemType?: (thing: any) => \"item\" | \"section\";\n}\n\nexport function BaseListBox(props: BaseListBoxProps) {\n const contextProps = React.useContext(PlasmicListBoxContext);\n const isStandalone: boolean = !contextProps;\n const { options: _rawOptions, setControlContextData, ...rest } = props;\n const { options } = useStrictOptions(props);\n const { renderItem, renderSection, ...mergedProps } = mergeProps(\n contextProps,\n rest,\n isStandalone ? { items: options } : {}\n );\n\n // Tell the prop control about whether the listbox is standalone or not, so it can hide/show the items prop\n setControlContextData?.({\n parent: isStandalone ? undefined : {},\n });\n\n return (\n <ListBox {...mergedProps}>\n {(item: StrictOptionType) => {\n if (item.type === \"option-group\") {\n return (\n <>\n <PlasmicSectionContext.Provider\n value={{\n renderItem,\n key: item.key ?? item.label,\n section: item,\n }}\n >\n {renderSection?.(item)}\n </PlasmicSectionContext.Provider>\n </>\n );\n } else {\n return (\n <PlasmicItemContext.Provider value={item}>\n {renderItem?.(item)}\n </PlasmicItemContext.Provider>\n );\n }\n }}\n </ListBox>\n );\n}\n\nexport const LIST_BOX_COMPONENT_NAME = makeComponentName(\"listbox\");\n\nexport function registerListBox(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseListBox>\n) {\n const listBoxItemMeta = registerListBoxItem(loader, {\n parentComponentName: LIST_BOX_COMPONENT_NAME,\n });\n const sectionMeta = registerSection(loader, {\n parentComponentName: LIST_BOX_COMPONENT_NAME,\n });\n\n registerComponentHelper(\n loader,\n BaseListBox,\n {\n name: LIST_BOX_COMPONENT_NAME,\n displayName: \"Aria ListBox\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerListBox\",\n importName: \"BaseListBox\",\n defaultStyles: {\n width: \"250px\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n },\n props: {\n options: {\n ...makeOptionsPropType(),\n displayName: \"Items\",\n hidden: hasParent,\n },\n renderItem: {\n type: \"slot\",\n displayName: \"Render Item\",\n renderPropParams: [\"itemProps\"],\n defaultValue: {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n children: makeDefaultListBoxItemChildren(\n \"Item (itemProps.label)\",\n \"Connect with `itemProps` in the data picker to display list box items\"\n ),\n },\n },\n },\n renderSection: {\n type: \"slot\",\n displayName: \"Render Section\",\n renderPropParams: [\"sectionProps\"],\n defaultValue: {\n type: \"component\",\n name: sectionMeta.name,\n styles: {\n backgroundColor: \"#F4FAFF\",\n },\n },\n },\n },\n },\n overrides\n );\n}\n","import { PlasmicElement, usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport { mergeProps } from \"@react-aria/utils\";\nimport React from \"react\";\nimport { Popover, PopoverContext, SelectContext } from \"react-aria-components\";\nimport { PlasmicPopoverContext } from \"./contexts\";\nimport {\n CodeComponentMetaOverrides,\n HasControlContextData,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nexport interface PopoverControlContextData {\n defaultShouldFlip?: boolean;\n}\n\nexport interface BasePopoverProps\n extends React.ComponentProps<typeof Popover>,\n HasControlContextData<PopoverControlContextData> {\n className?: string;\n resetClassName?: string;\n}\n\nexport function BasePopover(props: BasePopoverProps) {\n const { resetClassName, setControlContextData, ...restProps } = props;\n const isStandalone = !React.useContext(PopoverContext);\n const context = React.useContext(PlasmicPopoverContext);\n const isInsideSelect = !!React.useContext(SelectContext);\n const triggerRef = React.useRef<any>(null);\n const isEditMode = !!usePlasmicCanvasContext();\n\n // Select/Combobox popovers should not flip by default\n const defaultShouldFlip = isInsideSelect ? false : true;\n\n const mergedProps = mergeProps(\n { shouldFlip: defaultShouldFlip },\n context,\n /**\n * isNonModal: Whether the popover is non-modal, i.e. elements outside the popover may be interacted with by assistive technologies. *\n *\n * Setting isNonModal to true in edit mode (canvas) means that the popover will not prevent the user from interacting with the canvas while the popover is open.\n */\n isEditMode ? { isNonModal: true } : null,\n restProps,\n { className: `${resetClassName}` },\n // Override some props if the popover is standalone\n isStandalone\n ? {\n triggerRef,\n isNonModal: true,\n isOpen: true,\n }\n : null\n );\n\n setControlContextData?.({\n defaultShouldFlip,\n });\n\n return (\n <>\n {isStandalone && <div ref={triggerRef} />}\n <Popover {...mergedProps} />\n </>\n );\n}\n\nexport const POPOVER_COMPONENT_NAME = makeComponentName(\"popover\");\nexport const POPOVER_ARROW_IMG: PlasmicElement = {\n type: \"img\",\n // TODO: Replace with the image of an arrow pointing up, like: https://icon-sets.iconify.design/mdi/triangle/\n src: \"https://static1.plasmic.app/arrow-up.svg\",\n styles: {\n position: \"absolute\",\n top: \"-14px\",\n // center the arrow horizontally on the popover\n left: \"50%\",\n transform: \"translateX(-50%)\",\n width: \"15px\",\n },\n};\n\nexport function registerPopover(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BasePopover>\n) {\n registerComponentHelper(\n loader,\n BasePopover,\n {\n name: POPOVER_COMPONENT_NAME,\n displayName: \"Aria Popover\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerPopover\",\n importName: \"BasePopover\",\n defaultStyles: {\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n padding: \"20px\",\n width: \"300px\",\n backgroundColor: \"#FDE3C3\",\n },\n props: {\n children: {\n type: \"slot\",\n defaultValue: [\n POPOVER_ARROW_IMG,\n {\n type: \"vbox\",\n styles: {\n width: \"stretch\",\n padding: 0,\n gap: \"10px\",\n },\n children: [\n {\n type: \"text\",\n value: \"This is a Popover!\",\n },\n {\n type: \"text\",\n value: \"You can put anything you can imagine here!\",\n styles: {\n fontWeight: 500,\n },\n },\n {\n type: \"text\",\n value:\n \"Use it in a `Aria Dialog Trigger` component to trigger it on a button click!\",\n },\n ],\n },\n ],\n },\n offset: {\n type: \"number\",\n displayName: \"Offset\",\n description:\n \"Additional offset applied vertically between the popover and its trigger\",\n defaultValueHint: 0,\n },\n shouldFlip: {\n type: \"boolean\",\n description:\n \"Whether the element should flip its orientation (e.g. top to bottom or left to right) when there is insufficient room for it to render completely.\",\n defaultValueHint: (\n _ps: BasePopoverProps,\n ctx: PopoverControlContextData | null\n ) => ctx?.defaultShouldFlip ?? true,\n },\n placement: {\n type: \"choice\",\n description:\n \"Default placement of the popover relative to the trigger, if there is enough space\",\n defaultValueHint: \"bottom\",\n options: [\n \"bottom\",\n \"bottom left\",\n \"bottom right\",\n \"top\",\n \"top left\",\n \"top right\",\n ],\n },\n resetClassName: {\n type: \"themeResetClass\",\n },\n },\n styleSections: true,\n },\n overrides\n );\n}\n","import { useFilter } from \"@react-aria/i18n\";\nimport React from \"react\";\nimport { ComboBox, ComboBoxStateContext, Key } from \"react-aria-components\";\nimport { PlasmicInputContext, PlasmicListBoxContext } from \"./contexts\";\nimport {\n flattenOptions,\n HasOptions,\n makeOptionsPropType,\n makeValuePropType,\n StrictItemType,\n StrictOptionType,\n useStrictOptions,\n} from \"./option-utils\";\nimport { BUTTON_COMPONENT_NAME } from \"./registerButton\";\nimport { INPUT_COMPONENT_NAME } from \"./registerInput\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport { LIST_BOX_COMPONENT_NAME } from \"./registerListBox\";\nimport { POPOVER_COMPONENT_NAME } from \"./registerPopover\";\nimport {\n extractPlasmicDataProps,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n Styleable,\n withoutNils,\n} from \"./utils\";\n\nexport interface BaseComboBoxProps<T extends object>\n extends HasOptions<T>,\n Styleable {\n placeholder?: string;\n isDisabled?: boolean;\n menuTrigger?: React.ComponentProps<typeof ComboBox>[\"menuTrigger\"];\n\n valueType?: \"value\" | \"text\";\n allowsCustomValue?: boolean;\n\n value?: Key;\n onChange?: (value: Key) => void;\n\n filterValue?: string;\n onFilterValueChange?: (value: string) => void;\n\n previewOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n\n structure?: React.ReactNode;\n\n name?: string;\n}\n\nexport function BaseComboBox<T extends object>(props: BaseComboBoxProps<T>) {\n const {\n value,\n onChange,\n menuTrigger,\n filterValue,\n onFilterValueChange,\n valueType,\n allowsCustomValue,\n placeholder,\n previewOpen,\n onOpenChange,\n isDisabled,\n className,\n style,\n structure,\n name,\n } = props;\n const { options, optionText } = useStrictOptions(props);\n const { contains } = useFilter({ sensitivity: \"base\" });\n const [showAllOptions, setShowAllOptions] = React.useState(false);\n\n const filteredOptions = React.useMemo(() => {\n if (!filterValue || filterValue.trim().length === 0) {\n return options;\n }\n if (!options) {\n return options;\n }\n const filterOptions = (\n opts: StrictOptionType[]\n ): StrictOptionType[] | undefined => {\n return withoutNils(\n opts.map((op) => {\n if (op.type === \"option-group\") {\n return {\n ...op,\n items: op.items\n ? (filterOptions(op.items) as StrictItemType[])\n : undefined,\n };\n } else {\n if (contains(optionText(op), filterValue)) {\n return op;\n } else {\n return undefined;\n }\n }\n })\n );\n };\n return filterOptions(options);\n }, [filterValue, options, contains, optionText]);\n\n const flattenedOptions = React.useMemo(\n () => flattenOptions(options),\n [options]\n );\n\n const disabledKeys = flattenedOptions\n .filter((op) => op.isDisabled)\n .map((op) => op.id);\n\n const onSelectionChange = React.useCallback(\n (key: Key | null) => {\n if (key === null) {\n return;\n }\n\n const selectedOption = flattenedOptions?.find((op) => op.id === key);\n if (valueType === \"text\") {\n if (selectedOption) {\n onChange?.(optionText(selectedOption));\n }\n } else {\n onChange?.(key);\n }\n if (selectedOption) {\n onFilterValueChange?.(optionText(selectedOption));\n }\n },\n [flattenedOptions, valueType, onChange, optionText, onFilterValueChange]\n );\n\n const onInputValueChange = React.useCallback(\n (newValue: string) => {\n onFilterValueChange?.(newValue);\n setShowAllOptions(false);\n if (valueType === \"text\") {\n if (allowsCustomValue) {\n onChange?.(newValue);\n } else {\n const matchingOption = flattenedOptions?.find(\n (op) => optionText(op) === newValue\n );\n if (matchingOption) {\n onChange?.(optionText(matchingOption));\n }\n }\n }\n },\n [\n onFilterValueChange,\n onChange,\n flattenedOptions,\n optionText,\n valueType,\n allowsCustomValue,\n ]\n );\n\n const onBlur = React.useCallback(() => {\n // If we don't allow custom value, then on blur, reset the filter value\n // to the selected option\n if (!allowsCustomValue) {\n const selectedOption = flattenedOptions?.find((op) =>\n valueType === \"text\" ? optionText(op) === value : op.id === value\n );\n if (selectedOption) {\n const selectedOptionText = optionText(selectedOption);\n if (selectedOptionText !== filterValue) {\n onFilterValueChange?.(selectedOptionText);\n }\n }\n }\n }, [\n allowsCustomValue,\n flattenedOptions,\n valueType,\n optionText,\n value,\n filterValue,\n onFilterValueChange,\n ]);\n\n return (\n <ComboBox\n selectedKey={value}\n onSelectionChange={onSelectionChange}\n isDisabled={isDisabled}\n className={className}\n style={style}\n items={showAllOptions ? options : filteredOptions}\n menuTrigger={menuTrigger}\n inputValue={filterValue}\n onInputChange={onInputValueChange}\n allowsCustomValue={allowsCustomValue}\n disabledKeys={disabledKeys}\n onOpenChange={(isOpen, trigger) => {\n if (isOpen && trigger === \"manual\") {\n setShowAllOptions(true);\n } else {\n setShowAllOptions(false);\n }\n onOpenChange?.(isOpen);\n }}\n onBlur={onBlur}\n formValue={valueType === \"text\" ? \"text\" : \"key\"}\n name={name}\n {...extractPlasmicDataProps(props)}\n >\n <PlasmicListBoxContext.Provider\n value={{\n getItemType: (option) =>\n option.type === \"section\" ? \"section\" : \"item\",\n }}\n >\n <PlasmicInputContext.Provider value={{ placeholder }}>\n {structure}\n </PlasmicInputContext.Provider>\n </PlasmicListBoxContext.Provider>\n <BaseComboBoxEffects previewOpen={previewOpen} />\n </ComboBox>\n );\n}\n\nfunction BaseComboBoxEffects(\n props: Pick<BaseComboBoxProps<any>, \"previewOpen\">\n) {\n const { previewOpen } = props;\n const comboBoxState = React.useContext(ComboBoxStateContext);\n\n const prevPreviewOpenRef = React.useRef(previewOpen);\n React.useEffect(() => {\n // comboBoxState can be undefined if we are in `<Hidden/>`\n if (comboBoxState) {\n // There's no \"isOpen\" controlled state for ComboBox, so we use\n // sync comboBoxState with previewOpen prop instead\n if (previewOpen) {\n comboBoxState.open(undefined, \"manual\");\n } else if (prevPreviewOpenRef.current) {\n // Was previously previewOpen, now preview close\n comboBoxState.close();\n }\n }\n prevPreviewOpenRef.current = previewOpen;\n }, [previewOpen, comboBoxState, prevPreviewOpenRef]);\n\n return null;\n}\n\nexport function registerComboBox(loader?: Registerable) {\n const rootName = makeComponentName(\"combobox\");\n\n registerComponentHelper(loader, BaseComboBox, {\n name: rootName,\n displayName: \"Aria ComboBox\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerComboBox\",\n importName: \"BaseComboBox\",\n props: {\n options: makeOptionsPropType(),\n value: makeValuePropType(),\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"string\" }],\n },\n filterValue: {\n type: \"string\",\n },\n onFilterValueChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"string\" }],\n },\n isDisabled: {\n type: \"boolean\",\n },\n valueType: {\n displayName: \"`value` Type\",\n type: \"choice\",\n options: [\n { value: \"value\", label: \"By option value\" },\n { value: \"text\", label: \"By option text\" },\n ],\n defaultValueHint: \"value\",\n description:\n \"This controls whether `value` and `onChange` are option values or option text. Choosing `text` allows you to optionally allow a custom value that's not in the provided list of options.\",\n advanced: true,\n },\n allowsCustomValue: {\n type: \"boolean\",\n displayName: \"Allows custom value?\",\n description: \"Allows entering a value that is not one of the options\",\n hidden: (ps) => ps.valueType !== \"text\",\n advanced: true,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n structure: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"vbox\",\n styles: {\n justifyContent: \"flex-start\",\n alignItems: \"flex-start\",\n width: \"300px\",\n padding: 0,\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Label\",\n },\n },\n },\n {\n type: \"hbox\",\n styles: {\n width: \"stretch\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n padding: 0,\n position: \"relative\",\n },\n children: [\n {\n type: \"component\",\n name: INPUT_COMPONENT_NAME,\n styles: {\n borderWidth: 0,\n width: \"100%\",\n padding: \"2px 30px 2px 10px\",\n },\n },\n {\n type: \"component\",\n name: BUTTON_COMPONENT_NAME,\n styles: {\n borderWidth: 0,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n position: \"absolute\",\n right: \"10px\",\n top: 0,\n padding: 0,\n height: \"100%\",\n },\n props: {\n children: {\n type: \"img\",\n src: \"https://static1.plasmic.app/arrow-up.svg\",\n styles: {\n height: \"20px\",\n width: \"20px\",\n transform: \"rotate(180deg)\",\n },\n },\n },\n },\n ],\n },\n {\n type: \"component\",\n name: POPOVER_COMPONENT_NAME,\n styles: {\n backgroundColor: \"white\",\n width: \"300px\",\n padding: \"10px\",\n overflow: \"scroll\",\n },\n props: {\n children: [\n {\n type: \"component\",\n name: LIST_BOX_COMPONENT_NAME,\n styles: {\n borderWidth: 0,\n width: \"stretch\",\n },\n },\n ],\n },\n },\n ],\n },\n ],\n },\n previewOpen: {\n type: \"boolean\",\n displayName: \"Preview opened?\",\n description: \"Preview opened state while designing in Plasmic editor\",\n editOnly: true,\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n },\n filterValue: {\n type: \"writable\",\n valueProp: \"filterValue\",\n onChangeProp: \"onFilterValueChange\",\n variableType: \"text\",\n },\n isOpen: {\n type: \"readonly\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n });\n}\n","import { usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport React, { forwardRef, useImperativeHandle } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport {\n Dialog,\n Heading,\n Modal,\n ModalOverlay,\n ModalOverlayProps,\n} from \"react-aria-components\";\nimport { hasParent } from \"./common\";\nimport { PlasmicDialogTriggerContext } from \"./contexts\";\nimport {\n CodeComponentMetaOverrides,\n HasControlContextData,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nexport interface BaseModalProps\n extends ModalOverlayProps,\n HasControlContextData {\n heading: React.ReactNode;\n modalOverlayClass: string;\n resetClassName?: string;\n}\n\nexport interface BaseModalActions {\n close(): void;\n open(): void;\n}\n\nexport const BaseModal = forwardRef<BaseModalActions, BaseModalProps>(\n function _BaseModal(props, ref) {\n const {\n children,\n heading,\n modalOverlayClass,\n className,\n isOpen,\n resetClassName,\n setControlContextData,\n ...rest\n } = props;\n\n const contextProps = React.useContext(PlasmicDialogTriggerContext);\n const isStandalone = !contextProps;\n const mergedProps = mergeProps(contextProps, rest, {\n isOpen: isStandalone ? isOpen : contextProps.isOpen,\n });\n\n setControlContextData?.({\n parent: isStandalone ? undefined : {},\n });\n\n // Expose close operation using useImperativeHandle\n useImperativeHandle(ref, () => ({\n close: () => {\n mergedProps.onOpenChange?.(false);\n },\n open: () => {\n mergedProps.onOpenChange?.(true);\n },\n }));\n\n const isCanvas = usePlasmicCanvasContext();\n const body = (\n <>\n {heading && <Heading slot=\"title\">{heading}</Heading>}\n {children}\n </>\n );\n\n return (\n <ModalOverlay\n {...mergedProps}\n className={`${resetClassName} ${modalOverlayClass}`}\n >\n <Modal className={className}>\n {isCanvas ? body : <Dialog>{body}</Dialog>}\n </Modal>\n </ModalOverlay>\n );\n }\n);\n\nexport const MODAL_COMPONENT_NAME = makeComponentName(\"modal\");\n\nexport function registerModal(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseModal>\n) {\n registerComponentHelper(\n loader,\n BaseModal,\n {\n name: MODAL_COMPONENT_NAME,\n displayName: \"Aria Modal\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerModal\",\n importName: \"BaseModal\",\n styleSections: true,\n defaultStyles: {\n // centering the modal on the page by default\n position: \"fixed\",\n top: \"10%\",\n left: \"50%\",\n width: \"50%\",\n transform: \"translateX(-50%)\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n padding: \"20px\",\n maxWidth: \"300px\",\n backgroundColor: \"#FDE3C3\",\n },\n refActions: {\n open: {\n description: \"Open the modal\",\n argTypes: [],\n },\n close: {\n description: \"Close the modal\",\n argTypes: [],\n },\n },\n props: {\n heading: {\n type: \"slot\",\n defaultValue: {\n type: \"text\",\n value: \"Modal Heading\",\n styles: {\n fontSize: \"20px\",\n fontWeight: \"bold\",\n marginBottom: \"10px\",\n },\n },\n },\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"vbox\",\n styles: {\n width: \"stretch\",\n padding: 0,\n gap: \"10px\",\n justifyContent: \"flex-start\",\n alignItems: \"flex-start\",\n },\n children: [\n {\n type: \"text\",\n value: \"This is a Modal!\",\n },\n {\n type: \"text\",\n value: \"You can put anything you can imagine here!\",\n styles: {\n fontWeight: 500,\n },\n },\n {\n type: \"text\",\n value:\n \"Use it in a `Aria Dialog Trigger` component to trigger it on a button click!\",\n },\n ],\n },\n },\n modalOverlayClass: {\n type: \"class\",\n displayName: \"Modal Overlay\",\n },\n isOpen: {\n type: \"boolean\",\n editOnly: true,\n uncontrolledProp: \"defaultOpen\",\n defaultValueHint: false,\n defaultValue: true,\n hidden: hasParent,\n },\n isDismissable: {\n type: \"boolean\",\n description:\n \"Whether to close the modal when the user interacts outside it.\",\n },\n isKeyboardDismissDisabled: {\n type: \"boolean\",\n description:\n \"Whether pressing the escape key to close the modal should be disabled.\",\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n resetClassName: {\n type: \"themeResetClass\",\n },\n },\n states: {\n isOpen: {\n type: \"writable\",\n valueProp: \"isOpen\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n hidden: hasParent,\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import React from \"react\";\nimport { DialogTrigger } from \"react-aria-components\";\nimport { PlasmicDialogTriggerContext } from \"./contexts\";\nimport { BUTTON_COMPONENT_NAME } from \"./registerButton\";\nimport { MODAL_COMPONENT_NAME } from \"./registerModal\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nexport interface BaseDialogTriggerProps\n extends React.ComponentProps<typeof DialogTrigger> {\n trigger: React.ReactNode;\n dialog: React.ReactNode;\n}\n\nexport function BaseDialogTrigger(props: BaseDialogTriggerProps) {\n const { trigger, dialog, ...rest } = props;\n\n return (\n <PlasmicDialogTriggerContext.Provider value={props}>\n <DialogTrigger {...rest}>\n {trigger}\n {dialog}\n </DialogTrigger>\n </PlasmicDialogTriggerContext.Provider>\n );\n}\n\nexport function registerDialogTrigger(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseDialogTrigger>\n) {\n registerComponentHelper(\n loader,\n BaseDialogTrigger,\n {\n name: makeComponentName(\"dialogTrigger\"),\n displayName: \"Aria Dialog Trigger\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerDialogTrigger\",\n importName: \"BaseDialogTrigger\",\n isAttachment: true,\n props: {\n trigger: {\n type: \"slot\",\n defaultValue: {\n type: \"component\",\n name: BUTTON_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Open Dialog\",\n },\n },\n },\n },\n dialog: {\n type: \"slot\",\n defaultValue: {\n type: \"component\",\n name: MODAL_COMPONENT_NAME,\n },\n },\n isOpen: {\n type: \"boolean\",\n defaultValueHint: false,\n editOnly: true,\n uncontrolledProp: \"defaultOpen\",\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n },\n states: {\n isOpen: {\n type: \"writable\",\n valueProp: \"isOpen\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import React from \"react\";\nimport type { FormProps } from \"react-aria-components\";\nimport { Form } from \"react-aria-components\";\nimport {\n CodeComponentMetaOverrides,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\ninterface BaseFormProps extends Omit<FormProps, \"onSubmit\"> {\n onSubmit: (\n data: Record<string, FormDataEntryValue | FormDataEntryValue[] | null>\n ) => void;\n}\n\nexport function BaseForm(props: BaseFormProps) {\n const { onSubmit, children, ...rest } = props;\n return (\n <Form\n onSubmit={(e) => {\n e.preventDefault();\n const formData = new FormData(e.currentTarget);\n const formValues: {\n [key: string]: FormDataEntryValue | FormDataEntryValue[] | null;\n } = {};\n formData.forEach((value, key) => {\n const field = e.currentTarget.elements.namedItem(key);\n if (\n field instanceof RadioNodeList &&\n (Array.from(field.values()) as HTMLInputElement[]).every(\n (f) => f.type === \"checkbox\"\n )\n ) {\n formValues[key] = formData.getAll(key);\n } else {\n (field as HTMLInputElement).type;\n formValues[key] = formData.get(key);\n }\n });\n onSubmit?.(formValues);\n }}\n {...rest}\n >\n {children}\n </Form>\n );\n}\n\nexport function registerForm(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseForm>\n) {\n registerComponentHelper(\n loader,\n BaseForm,\n {\n name: makeComponentName(\"form\"),\n displayName: \"Aria Form\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerForm\",\n importName: \"BaseForm\",\n props: {\n children: {\n type: \"slot\",\n },\n onSubmit: {\n type: \"eventHandler\",\n argTypes: [{ name: \"data\", type: \"object\" }],\n } as any,\n onReset: {\n type: \"eventHandler\",\n argTypes: [],\n } as any,\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import { PlasmicElement } from \"@plasmicapp/host\";\nimport React from \"react\";\nimport type { RadioProps } from \"react-aria-components\";\nimport { Radio, RadioGroup } from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport { PlasmicRadioGroupContext } from \"./contexts\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport {\n CodeComponentMetaOverrides,\n HasControlContextData,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst RADIO_INTERACTION_VARIANTS = [\n \"selected\" as const,\n \"hovered\" as const,\n \"pressed\" as const,\n \"focused\" as const,\n \"focusVisible\" as const,\n \"disabled\" as const,\n \"readonly\" as const,\n \"selected\" as const,\n];\n\nexport interface BaseRadioProps extends RadioProps, HasControlContextData {\n children: React.ReactNode;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof RADIO_INTERACTION_VARIANTS\n >;\n}\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n RADIO_INTERACTION_VARIANTS\n);\n\nexport function BaseRadio(props: BaseRadioProps) {\n const { children, setControlContextData, updateInteractionVariant, ...rest } =\n props;\n const contextProps = React.useContext(PlasmicRadioGroupContext);\n const isStandalone = !contextProps;\n\n setControlContextData?.({\n parent: contextProps,\n });\n\n const radio = (\n <Radio {...rest}>\n {({\n isHovered,\n isPressed,\n isFocused,\n isFocusVisible,\n isSelected,\n isDisabled,\n isReadOnly,\n }) =>\n withObservedValues(\n children,\n {\n hovered: isHovered,\n pressed: isPressed,\n focused: isFocused,\n focusVisible: isFocusVisible,\n selected: isSelected,\n disabled: isDisabled,\n readonly: isReadOnly,\n },\n updateInteractionVariant\n )\n }\n </Radio>\n );\n\n if (isStandalone) {\n return <RadioGroup>{radio}</RadioGroup>;\n }\n\n return radio;\n}\n\nexport const makeDefaultRadioChildren = (label: string): PlasmicElement => ({\n type: \"hbox\",\n styles: {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"10px\",\n padding: 0,\n },\n children: [\n {\n type: \"box\",\n styles: {\n width: \"7px\",\n height: \"7px\",\n borderRadius: \"100%\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n },\n },\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: label,\n },\n },\n },\n ],\n});\n\nexport function registerRadio(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseRadio>\n) {\n return registerComponentHelper(\n loader,\n BaseRadio,\n {\n name: makeComponentName(\"radio\"),\n displayName: \"Aria Radio\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerRadio\",\n importName: \"BaseRadio\",\n interactionVariants,\n props: {\n ...getCommonProps<BaseRadioProps>(\"radio\", [\n \"isDisabled\",\n \"autoFocus\",\n \"aria-label\",\n ]),\n children: {\n type: \"slot\",\n mergeWithParent: true as any,\n defaultValue: makeDefaultRadioChildren(\"Radio\"),\n },\n value: {\n type: \"string\",\n description:\n \"The value of the input element, used when submitting an HTML form.\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import React from \"react\";\nimport type { RadioGroupProps } from \"react-aria-components\";\nimport { RadioGroup } from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport { PlasmicRadioGroupContext } from \"./contexts\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport { DESCRIPTION_COMPONENT_NAME } from \"./registerDescription\";\nimport { registerFieldError } from \"./registerFieldError\";\nimport { LABEL_COMPONENT_NAME, registerLabel } from \"./registerLabel\";\nimport { makeDefaultRadioChildren, registerRadio } from \"./registerRadio\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeChildComponentName,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst RADIO_GROUP_INTERACTION_VARIANTS = [\n \"disabled\" as const,\n \"readonly\" as const,\n];\n\nexport interface BaseRadioGroupProps extends RadioGroupProps {\n children: React.ReactNode;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof RADIO_GROUP_INTERACTION_VARIANTS\n >;\n}\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n RADIO_GROUP_INTERACTION_VARIANTS\n);\n\nexport function BaseRadioGroup(props: BaseRadioGroupProps) {\n const { children, updateInteractionVariant, ...rest } = props;\n\n return (\n <PlasmicRadioGroupContext.Provider value={props}>\n <RadioGroup {...rest}>\n {({ isDisabled, isReadOnly }) =>\n withObservedValues(\n children,\n {\n disabled: isDisabled,\n readonly: isReadOnly,\n },\n updateInteractionVariant\n )\n }\n </RadioGroup>\n </PlasmicRadioGroupContext.Provider>\n );\n}\n\nconst RADIO_GROUP_COMPONENT_NAME = makeComponentName(\"radioGroup\");\n\nexport function registerRadioGroup(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseRadioGroup>\n) {\n const thisName = makeChildComponentName(\n overrides?.parentComponentName,\n RADIO_GROUP_COMPONENT_NAME\n );\n\n registerFieldError(loader, { parentComponentName: thisName });\n const radioMeta = registerRadio(loader, { parentComponentName: thisName });\n registerLabel(loader, { parentComponentName: thisName });\n\n registerComponentHelper(\n loader,\n BaseRadioGroup,\n {\n name: RADIO_GROUP_COMPONENT_NAME,\n displayName: \"Aria RadioGroup\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerRadioGroup\",\n importName: \"BaseRadioGroup\",\n interactionVariants,\n props: {\n ...getCommonProps<BaseRadioGroupProps>(\"radio group\", [\n \"name\",\n \"isDisabled\",\n \"isReadOnly\",\n \"aria-label\",\n \"isRequired\",\n ]),\n children: {\n type: \"slot\",\n mergeWithParent: true as any,\n defaultValue: [\n {\n type: \"vbox\",\n styles: {\n display: \"flex\",\n gap: \"5px\",\n padding: 0,\n alignItems: \"flex-start\",\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Radio Group\",\n },\n },\n },\n {\n type: \"component\",\n name: radioMeta.name,\n props: {\n children: makeDefaultRadioChildren(\"Radio 1\"),\n value: \"radio1\",\n },\n },\n {\n type: \"component\",\n name: radioMeta.name,\n props: {\n children: makeDefaultRadioChildren(\"Radio 2\"),\n value: \"radio2\",\n },\n },\n {\n type: \"component\",\n name: radioMeta.name,\n props: {\n children: makeDefaultRadioChildren(\"Radio 3\"),\n value: \"radio3\",\n },\n },\n {\n type: \"component\",\n name: DESCRIPTION_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Add interaction variants to see it in action...\",\n },\n },\n },\n ],\n },\n ],\n },\n value: {\n type: \"string\",\n editOnly: true,\n displayName: \"Initial value\",\n uncontrolledProp: \"defaultValue\",\n description: \"The current value\",\n },\n isInvalid: {\n displayName: \"Invalid\",\n type: \"boolean\",\n description: \"Whether the input value is invalid\",\n defaultValueHint: false,\n },\n validationBehavior: {\n type: \"choice\",\n options: [\"native\", \"aria\"],\n description:\n \"Whether to use native HTML form validation to prevent form submission when the value is missing or invalid, or mark the field as required or invalid via ARIA.\",\n defaultValueHint: \"native\",\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"string\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"array\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import { usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport React from \"react\";\nimport { Key, Select, SelectProps, SelectValue } from \"react-aria-components\";\nimport { PlasmicListBoxContext, PlasmicPopoverContext } from \"./contexts\";\nimport {\n flattenOptions,\n HasOptions,\n makeOptionsPropType,\n makeValuePropType,\n useStrictOptions,\n} from \"./option-utils\";\nimport { BUTTON_COMPONENT_NAME } from \"./registerButton\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport { LIST_BOX_COMPONENT_NAME } from \"./registerListBox\";\nimport { POPOVER_COMPONENT_NAME } from \"./registerPopover\";\nimport {\n extractPlasmicDataProps,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nexport interface BaseSelectValueProps\n extends React.ComponentProps<typeof SelectValue> {\n customize?: boolean;\n}\n\nexport const BaseSelectValue = (props: BaseSelectValueProps) => {\n const { children, customize } = props;\n return (\n <SelectValue>\n {({ isPlaceholder, selectedText }) => (\n <>\n {isPlaceholder ? (\n <span>Select an item</span>\n ) : (\n <>\n <span>\n {customize ? (children as React.ReactNode) : selectedText}\n </span>\n </>\n )}\n {}\n </>\n )}\n </SelectValue>\n );\n};\n\nconst SELECT_NAME = makeComponentName(\"select\");\n\nexport interface BaseSelectProps<T extends object>\n extends HasOptions<T>,\n SelectProps<T> {\n placeholder?: string;\n isDisabled?: boolean;\n\n value?: Key;\n onChange?: (value: Key) => void;\n\n previewOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n\n structure?: React.ReactNode;\n\n name?: string;\n \"aria-label\"?: string;\n\n renderOption?: (item: {\n value: string;\n label?: string;\n isDisabled?: boolean;\n }) => React.ReactNode;\n}\n\nexport function BaseSelect<T extends object>(props: BaseSelectProps<T>) {\n const {\n value,\n onChange,\n placeholder,\n previewOpen,\n onOpenChange,\n isDisabled,\n className,\n style,\n structure,\n name,\n isOpen,\n \"aria-label\": ariaLabel,\n } = props;\n\n const { options } = useStrictOptions(props);\n\n const isEditMode = !!usePlasmicCanvasContext();\n const openProp = isEditMode && previewOpen ? true : isOpen;\n\n const disabledKeys = flattenOptions(options)\n .filter((op) => op.isDisabled)\n .map((op) => op.id);\n\n return (\n <Select\n placeholder={placeholder}\n selectedKey={value}\n onSelectionChange={onChange}\n onOpenChange={onOpenChange}\n isDisabled={isDisabled}\n className={className}\n style={style}\n name={name}\n aria-label={ariaLabel}\n isOpen={openProp}\n {...extractPlasmicDataProps(props)}\n >\n <PlasmicPopoverContext.Provider value={{ isOpen: openProp }}>\n <PlasmicListBoxContext.Provider\n value={{\n items: options,\n disabledKeys: disabledKeys,\n }}\n >\n {structure}\n </PlasmicListBoxContext.Provider>\n </PlasmicPopoverContext.Provider>\n </Select>\n );\n}\n\nexport function registerSelect(loader?: Registerable) {\n const selectValueMeta = registerComponentHelper(loader, BaseSelectValue, {\n name: makeComponentName(\"select-value\"),\n displayName: \"Aria Selected Value\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSelect\",\n importName: \"BaseSelectValue\",\n parentComponentName: SELECT_NAME,\n props: {\n customize: {\n type: \"boolean\",\n description: \"Whether to customize the selected value display\",\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Selected value...\",\n },\n ],\n hidden: (ps) => !ps.customize,\n },\n className: {\n type: \"class\",\n selectors: [\n {\n selector: \":self[data-placeholder]\",\n label: \"Placeholder\",\n },\n ],\n },\n },\n });\n\n registerComponentHelper(loader, BaseSelect, {\n name: SELECT_NAME,\n displayName: \"Aria Select\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSelect\",\n importName: \"BaseSelect\",\n props: {\n options: makeOptionsPropType(),\n placeholder: {\n type: \"string\",\n },\n isDisabled: {\n type: \"boolean\",\n },\n value: makeValuePropType(),\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"string\" }],\n },\n previewOpen: {\n type: \"boolean\",\n displayName: \"Preview opened?\",\n description: \"Preview opened state while designing in Plasmic editor\",\n editOnly: true,\n },\n isOpen: {\n type: \"boolean\",\n // It doesn't make sense to make isOpen prop editable (it's controlled by user interaction and always closed by default), so we keep this prop hidden. We have listed the prop here in the meta only so we can expose a writeable state for it.\n hidden: () => true,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n // optionValue: {\n // type: \"string\",\n // displayName: \"Field key for an option's value\",\n // hidden: (ps) =>\n // !ps.options ||\n // !ps.options[0] ||\n // typeof ps.options[0] === \"string\" ||\n // \"value\" in ps.options[0],\n // exprHint:\n // \"Return a function that takes in an option object, and returns the key to use\",\n // },\n // optionText: {\n // type: \"string\",\n // displayName: \"Field key for an option's text value\",\n // hidden: (ps) =>\n // !ps.options ||\n // !ps.options[0] ||\n // typeof ps.options[0] === \"string\" ||\n // \"value\" in ps.options[0],\n // exprHint:\n // \"Return a function that takes in an option object, and returns the text value to use\",\n // },\n // optionDisabled: {\n // type: \"string\",\n // displayName: \"Field key for whether an option is disabled\",\n // hidden: (ps) =>\n // !ps.options ||\n // !ps.options[0] ||\n // typeof ps.options[0] === \"string\" ||\n // \"value\" in ps.options[0],\n // exprHint:\n // \"Return a function that takes in an option object, and returns true if option should be disabled\",\n // },\n\n structure: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"vbox\",\n styles: {\n justifyContent: \"flex-start\",\n alignItems: \"flex-start\",\n width: \"300px\",\n padding: 0,\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Label\",\n },\n },\n },\n {\n type: \"component\",\n name: BUTTON_COMPONENT_NAME,\n styles: {\n width: \"100%\",\n },\n props: {\n children: {\n type: \"hbox\",\n styles: {\n width: \"stretch\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n padding: \"2px 5px\",\n },\n children: [\n {\n type: \"component\",\n name: selectValueMeta.name,\n },\n {\n type: \"img\",\n src: \"https://static1.plasmic.app/arrow-up.svg\",\n styles: {\n height: \"20px\",\n width: \"20px\",\n transform: \"rotate(180deg)\",\n },\n },\n ],\n },\n },\n },\n {\n type: \"component\",\n name: POPOVER_COMPONENT_NAME,\n styles: {\n backgroundColor: \"white\",\n padding: \"10px\",\n overflow: \"scroll\",\n },\n props: {\n children: [\n {\n type: \"component\",\n name: LIST_BOX_COMPONENT_NAME,\n styles: {\n borderWidth: 0,\n width: \"stretch\",\n },\n },\n ],\n },\n },\n ],\n },\n ],\n },\n\n // renderOption: {\n // type: \"slot\",\n // displayName: \"Custom render option\",\n // renderPropParams: [\"item\"],\n // hidePlaceholder: true\n // },\n\n name: {\n type: \"string\",\n displayName: \"Form field key\",\n description: \"Name of the input, when submitting in an HTML form\",\n advanced: true,\n },\n\n \"aria-label\": {\n type: \"string\",\n displayName: \"ARIA label\",\n description: \"Label for this input, if no visible label is used\",\n advanced: true,\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n },\n isOpen: {\n type: \"writable\",\n valueProp: \"isOpen\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n });\n}\n","import React from \"react\";\nimport { SliderOutput } from \"react-aria-components\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst SLIDER_OUTPUT_INTERACTION_VARIANTS = [\"disabled\" as const];\nexport interface BaseSliderOutputProps\n extends React.ComponentProps<typeof SliderOutput> {\n children?: React.ReactNode;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof SLIDER_OUTPUT_INTERACTION_VARIANTS\n >;\n}\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n SLIDER_OUTPUT_INTERACTION_VARIANTS\n);\n\nexport function BaseSliderOutput(props: BaseSliderOutputProps) {\n const { updateInteractionVariant, children, ...rest } = props;\n return (\n <SliderOutput {...rest}>\n {({ isDisabled }) =>\n withObservedValues(\n children,\n {\n disabled: isDisabled,\n },\n updateInteractionVariant\n )\n }\n </SliderOutput>\n );\n}\n\nexport const SLIDER_OUTPUT_COMPONENT_NAME = makeComponentName(\"sliderOutput\");\n\nexport function registerSliderOutput(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSliderOutput>\n) {\n return registerComponentHelper(\n loader,\n BaseSliderOutput,\n {\n name: SLIDER_OUTPUT_COMPONENT_NAME,\n displayName: \"Aria Slider Output\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSliderOutput\",\n importName: \"BaseSliderOutput\",\n interactionVariants,\n props: {\n children: { type: \"slot\" },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import React from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport { Slider, SliderThumb, SliderTrack } from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport { PlasmicSliderContext } from \"./contexts\";\nimport ErrorBoundary from \"./ErrorBoundary\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst SLIDER_THUMB_INTERACTION_VARIANTS = [\n \"dragging\" as const,\n \"hovered\" as const,\n \"focused\" as const,\n \"focusVisible\" as const,\n \"disabled\" as const,\n];\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n SLIDER_THUMB_INTERACTION_VARIANTS\n);\nexport interface BaseSliderThumbProps\n extends React.ComponentProps<typeof SliderThumb> {\n advanced?: boolean;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof SLIDER_THUMB_INTERACTION_VARIANTS\n >;\n}\n\nexport function BaseSliderThumb({\n children,\n advanced,\n updateInteractionVariant,\n ...rest\n}: BaseSliderThumbProps) {\n const context = React.useContext(PlasmicSliderContext);\n const mergedProps = mergeProps(context, rest);\n\n const thumb = (\n <SliderThumb {...mergedProps}>\n {({ isDragging, isHovered, isFocused, isFocusVisible, isDisabled }) =>\n withObservedValues(\n <>{advanced ? children : undefined}</>,\n {\n dragging: isDragging,\n hovered: isHovered,\n focused: isFocused,\n focusVisible: isFocusVisible,\n disabled: isDisabled,\n },\n updateInteractionVariant\n )\n }\n </SliderThumb>\n );\n\n return (\n <ErrorBoundary\n // If the Slider Thumb is the root of a Studio component, then we need to wrap the thumb in a track\n // to ensure that the thumb gets the required Slider context\n fallback={\n <Slider style={{ height: \"100%\", width: \"100%\" }}>\n <SliderTrack>{thumb}</SliderTrack>\n </Slider>\n }\n >\n {thumb}\n </ErrorBoundary>\n );\n}\n\nexport const SLIDER_THUMB_COMPONENT_NAME = makeComponentName(\"sliderThumb\");\n\nexport function registerSliderThumb(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSliderThumb>\n) {\n return registerComponentHelper(\n loader,\n BaseSliderThumb,\n {\n name: SLIDER_THUMB_COMPONENT_NAME,\n displayName: \"Aria Slider Thumb\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSliderThumb\",\n importName: \"BaseSliderThumb\",\n defaultStyles: {\n position: \"absolute\",\n top: \"5px\",\n width: \"20px\",\n height: \"20px\",\n backgroundColor: \"#C80101\",\n borderRadius: \"100%\",\n cursor: \"pointer\",\n },\n interactionVariants,\n props: {\n ...getCommonProps<BaseSliderThumbProps>(\"slider thumb\", [\n \"name\",\n \"isDisabled\",\n \"autoFocus\",\n ]),\n advanced: {\n type: \"boolean\",\n displayName: \"Advanced\",\n description:\n \"Enables the children slot for creating a more customized thumb\",\n },\n children: {\n type: \"slot\",\n hidden: (ps: BaseSliderThumbProps) => !ps.advanced,\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import { CodeComponentMeta } from \"@plasmicapp/host\";\nimport React, { useMemo } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport { Slider, SliderThumbProps, SliderTrack } from \"react-aria-components\";\nimport flattenChildren from \"react-keyed-flatten-children\";\nimport { PlasmicSliderContext } from \"./contexts\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport { BaseSliderThumbProps } from \"./registerSliderThumb\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n isDefined,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst SLIDER_TRACK_INTERACTION_VARIANTS = [\"hovered\" as const];\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n SLIDER_TRACK_INTERACTION_VARIANTS\n);\n\nexport interface BaseSliderTrackProps\n extends React.ComponentProps<typeof SliderTrack> {\n progressBar?: React.ReactNode;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof SLIDER_TRACK_INTERACTION_VARIANTS\n >;\n children?: React.ReactElement<HTMLElement>;\n}\n\n/**\n * Finds the index of the minimum and maximum values in the slider\n * @param values\n * @returns\n */\nfunction findMinMaxIndices(values: number[]): {\n minIndex: number;\n maxIndex: number;\n} {\n let minIndex = 0;\n let maxIndex = 0;\n\n if (Array.isArray(values)) {\n for (let i = 1; i < values.length; i++) {\n if (values[i] < values[minIndex]) {\n minIndex = i;\n }\n if (values[i] > values[maxIndex]) {\n maxIndex = i;\n }\n }\n }\n\n return { minIndex, maxIndex };\n}\n\nfunction isMultiValueGuard(value?: number | number[]): value is number[] {\n return Array.isArray(value) && value.length > 1;\n}\n\nexport function BaseSliderTrack(props: BaseSliderTrackProps) {\n const context = React.useContext(PlasmicSliderContext);\n const isStandalone = !context;\n const mergedProps = mergeProps(context, props);\n const { children, progressBar, updateInteractionVariant, ...rest } =\n mergedProps;\n\n const isMultiValue = isMultiValueGuard(mergedProps.value);\n\n const { minIndex, maxIndex } = useMemo(() => {\n if (\n !context ||\n !Array.isArray(context.value) ||\n context.value.length <= 1\n ) {\n return { minIndex: 0, maxIndex: 0 };\n }\n return findMinMaxIndices(context.value);\n }, [context?.value]);\n\n /**\n * Generates the thumb components based on the number of thumbs\n * and the number of values in the slider\n *\n * If the number of thumbs is less than the number of values, then\n * the last thumb is repeated for the remaining values\n *\n * If the number of thumbs is greater than the number of values, then\n * the additional thumbs are omitted\n */\n const thumbs = useMemo(() => {\n const thumbNodes = flattenChildren(children);\n if (!thumbNodes || thumbNodes.length === 0 || !isDefined(context?.value)) {\n return [];\n }\n\n const values = isDefined(context)\n ? Array.isArray(context.value)\n ? context.value\n : [context.value]\n : [];\n\n // Last thumb be re-used if the number of thumbs is less than the number of values\n const lastThumb = thumbNodes[thumbNodes.length - 1];\n\n return values.map((v, i) => {\n const currentThumb = thumbNodes[i];\n // Re-use the last thumb if there are no more thumbs left ( this is for ease of use - the user can just add one more value to the initial-values array and see another thumb right away, without having to explicitly add a new thumb component )\n if (i >= thumbNodes.length) {\n if (React.isValidElement(lastThumb)) {\n return React.cloneElement(lastThumb, {\n index: i,\n } as SliderThumbProps);\n }\n }\n if (!React.isValidElement(currentThumb)) {\n return null;\n }\n return React.cloneElement(currentThumb, {\n index: i,\n } as SliderThumbProps);\n });\n }, [children, context?.value]);\n\n const track = (\n <SliderTrack style={{ position: \"relative\" }} {...rest}>\n {({ state, isHovered }) => (\n <>\n {withObservedValues(\n <>\n <div\n style={{\n width: `${\n (!isMultiValue\n ? state.getThumbPercent(minIndex)\n : state.getThumbPercent(maxIndex) -\n state.getThumbPercent(minIndex)) * 100\n }%`,\n height: \"100%\",\n position: \"absolute\",\n top: 0,\n left: !isMultiValue\n ? 0\n : state.getThumbPercent(minIndex) * 100 + \"%\",\n }}\n >\n {progressBar}\n </div>\n {thumbs}\n </>,\n {\n hovered: isHovered,\n },\n updateInteractionVariant\n )}\n </>\n )}\n </SliderTrack>\n );\n\n if (isStandalone) {\n return <Slider style={{ height: \"100%\", width: \"100%\" }}>{track}</Slider>;\n }\n\n return track;\n}\n\nexport const SLIDER_TRACK_COMPONENT_NAME = makeComponentName(\"sliderTrack\");\n\nexport function registerSliderTrack(\n sliderThumbMeta: CodeComponentMeta<BaseSliderThumbProps>,\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSliderTrack>\n) {\n return registerComponentHelper(\n loader,\n BaseSliderTrack,\n {\n name: SLIDER_TRACK_COMPONENT_NAME,\n displayName: \"Aria Slider Track\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSliderTrack\",\n importName: \"BaseSliderTrack\",\n interactionVariants,\n defaultStyles: {\n width: \"stretch\",\n backgroundColor: \"#aaa\",\n position: \"relative\",\n height: \"10px\",\n padding: 0,\n },\n props: {\n children: {\n type: \"slot\",\n displayName: \"Thumbs\",\n description:\n \"The thumbs of the slider. For range slider, you can add more than one thumb.\",\n allowedComponents: [sliderThumbMeta.name],\n allowRootWrapper: true,\n defaultValue: [\n {\n type: \"component\",\n name: sliderThumbMeta.name,\n },\n ],\n },\n progressBar: {\n type: \"slot\",\n displayName: \"Progress Bar\",\n defaultValue: [\n {\n type: \"box\",\n styles: {\n height: \"100%\",\n width: \"100%\",\n backgroundColor: \"#ffa6a6\",\n padding: 0,\n },\n },\n ],\n },\n onHoverStart: {\n type: \"eventHandler\",\n argTypes: [{ name: \"event\", type: \"object\" }],\n },\n onHoverEnd: {\n type: \"eventHandler\",\n argTypes: [{ name: \"event\", type: \"object\" }],\n },\n onHoverChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isHovering\", type: \"boolean\" }],\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import { CodeComponentMeta } from \"@plasmicapp/host\";\nimport React from \"react\";\nimport { Slider, type SliderProps } from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport { PlasmicSliderContext } from \"./contexts\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport { registerSliderOutput } from \"./registerSliderOutput\";\nimport { registerSliderThumb } from \"./registerSliderThumb\";\nimport { registerSliderTrack } from \"./registerSliderTrack\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst SLIDER_COMPONENT_NAME = makeComponentName(\"slider\");\nconst RANGE_SLIDER_COMPONENT_NAME = makeComponentName(\"range-slider\");\nconst SLIDER_INTERACTION_VARIANTS = [\"disabled\" as const];\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n SLIDER_INTERACTION_VARIANTS\n);\n\nexport interface BaseSliderProps<T extends number | number[]>\n extends SliderProps<T> {\n children?: React.ReactNode;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof SLIDER_INTERACTION_VARIANTS\n >;\n}\n\nexport function BaseSlider<T extends number | number[]>(\n props: BaseSliderProps<T>\n) {\n const { children, updateInteractionVariant, ...rest } = props;\n return (\n <PlasmicSliderContext.Provider\n value={{\n ...rest,\n // Here's why the type casting is needed here: https://github.com/Microsoft/TypeScript/issues/3410\n onChange: rest.onChange as (value: number | number[]) => void,\n onChangeEnd: rest.onChangeEnd as (value: number | number[]) => void,\n }}\n >\n <Slider<T> {...rest}>\n {({ isDisabled }) =>\n withObservedValues(\n children,\n {\n disabled: isDisabled,\n },\n updateInteractionVariant\n )\n }\n </Slider>\n </PlasmicSliderContext.Provider>\n );\n}\n\nfunction getCommonSliderProps<T extends number | number[]>(): CodeComponentMeta<\n BaseSliderProps<T>\n>[\"props\"] {\n return {\n orientation: {\n type: \"choice\",\n options: [\"horizontal\", \"vertical\"],\n defaultValueHint: \"horizontal\",\n defaultValue: \"horizontal\",\n },\n minValue: {\n type: \"number\",\n description: \"The minimum value of the slider\",\n defaultValueHint: 0,\n },\n maxValue: {\n type: \"number\",\n description: \"The maximum value of the slider\",\n defaultValueHint: 100,\n },\n step: {\n type: \"number\",\n description: \"The step value of the slider\",\n defaultValueHint: 1,\n },\n };\n}\n\nexport function registerSlider(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSlider<number>>\n) {\n const sliderOutputMeta = registerSliderOutput(loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n\n const sliderThumbMeta = registerSliderThumb(loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n const sliderTrackMeta = registerSliderTrack(sliderThumbMeta, loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n\n // Register the range slider\n registerComponentHelper(\n loader,\n BaseSlider<number[]>,\n {\n name: RANGE_SLIDER_COMPONENT_NAME,\n displayName: \"Aria Range Slider\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSlider\",\n importName: \"BaseSlider\",\n interactionVariants,\n defaultStyles: {\n width: \"300px\",\n },\n props: {\n ...getCommonProps<BaseSliderProps<number[]>>(\"slider\", [\n \"isDisabled\",\n \"aria-label\",\n ]),\n ...getCommonSliderProps<number[]>(),\n value: {\n type: \"array\",\n editOnly: true,\n displayName: \"Initial value\",\n uncontrolledProp: \"defaultValue\",\n description: \"The intial value of the slider\",\n defaultValue: [20, 50],\n validator: (value) => {\n if (!Array.isArray(value)) {\n return \"Input must be an array.\";\n }\n\n for (let i = 1; i < value.length; i++) {\n if (value[i] < value[i - 1]) {\n return \"Array elements are not in ascending order.\";\n }\n }\n\n return true;\n },\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"hbox\",\n styles: {\n width: \"stretch\",\n justifyContent: \"space-between\",\n padding: \"8px 0px\",\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Label\",\n },\n },\n },\n {\n type: \"component\",\n name: sliderOutputMeta.name,\n props: {\n children: {\n type: \"text\",\n value: \"Output\",\n },\n },\n },\n ],\n },\n {\n type: \"component\",\n name: sliderTrackMeta.name,\n props: {\n children: [\n {\n type: \"component\",\n name: sliderThumbMeta.name,\n },\n {\n type: \"component\",\n name: sliderThumbMeta.name,\n styles: {\n backgroundColor: \"blue\",\n },\n },\n ],\n },\n },\n ],\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"object\" }],\n },\n onChangeEnd: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"object\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"array\",\n },\n },\n trapsFocus: true,\n },\n {\n parentComponentName: SLIDER_COMPONENT_NAME,\n }\n );\n\n registerComponentHelper(\n loader,\n BaseSlider<number>,\n {\n name: SLIDER_COMPONENT_NAME,\n displayName: \"Aria Slider\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSlider\",\n importName: \"BaseSlider\",\n interactionVariants,\n defaultStyles: {\n width: \"300px\",\n },\n props: {\n ...getCommonProps<BaseSliderProps<number>>(\"slider\", [\n \"isDisabled\",\n \"aria-label\",\n ]),\n ...getCommonSliderProps<number>(),\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"hbox\",\n styles: {\n width: \"stretch\",\n justifyContent: \"space-between\",\n padding: \"8px 0px\",\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Label\",\n },\n },\n },\n {\n type: \"component\",\n name: sliderOutputMeta.name,\n props: {\n children: {\n type: \"text\",\n value: \"Output\",\n },\n },\n },\n ],\n },\n {\n type: \"component\",\n name: sliderTrackMeta.name,\n },\n ],\n },\n value: {\n type: \"number\",\n editOnly: true,\n displayName: \"Initial value\",\n uncontrolledProp: \"defaultValue\",\n description: \"The initial value of the slider\",\n defaultValueHint: 0,\n defaultValue: 0,\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"number\" }],\n },\n onChangeEnd: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"number\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"number\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import React from \"react\";\nimport type { SwitchProps } from \"react-aria-components\";\nimport { Switch } from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport { DESCRIPTION_COMPONENT_NAME } from \"./registerDescription\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst SWITCH_INTERACTION_VARIANTS = [\n \"hovered\" as const,\n \"pressed\" as const,\n \"focused\" as const,\n \"focusVisible\" as const,\n \"selected\" as const,\n \"disabled\" as const,\n \"readonly\" as const,\n];\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n SWITCH_INTERACTION_VARIANTS\n);\n\ninterface BaseSwitchProps extends SwitchProps {\n children: React.ReactNode;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof SWITCH_INTERACTION_VARIANTS\n >;\n}\n\nexport function BaseSwitch(props: BaseSwitchProps) {\n const { children, updateInteractionVariant, ...rest } = props;\n return (\n <Switch {...rest}>\n {({\n isHovered,\n isPressed,\n isFocused,\n isFocusVisible,\n isSelected,\n isDisabled,\n isReadOnly,\n }) =>\n withObservedValues(\n children,\n {\n hovered: isHovered,\n pressed: isPressed,\n focused: isFocused,\n focusVisible: isFocusVisible,\n selected: isSelected,\n disabled: isDisabled,\n readonly: isReadOnly,\n },\n updateInteractionVariant\n )\n }\n </Switch>\n );\n}\n\nexport function registerSwitch(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSwitch>\n) {\n registerComponentHelper(\n loader,\n BaseSwitch,\n {\n name: makeComponentName(\"switch\"),\n displayName: \"Aria Switch\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSwitch\",\n importName: \"BaseSwitch\",\n interactionVariants,\n defaultStyles: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n padding: 0,\n },\n props: {\n ...getCommonProps<BaseSwitchProps>(\"switch\", [\n \"name\",\n \"isDisabled\",\n \"isReadOnly\",\n \"autoFocus\",\n \"aria-label\",\n ]),\n children: {\n type: \"slot\",\n mergeWithParent: true as any,\n defaultValue: [\n {\n type: \"hbox\",\n styles: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"10px\",\n padding: 0,\n },\n children: [\n {\n // the track\n type: \"hbox\",\n styles: {\n width: \"30px\",\n height: \"16px\",\n padding: 0,\n backgroundColor: \"#D5D5D5\",\n cursor: \"pointer\",\n borderRadius: \"999px\",\n },\n children: {\n // the thumb\n type: \"hbox\",\n styles: {\n width: \"12px\",\n height: \"12px\",\n position: \"absolute\",\n top: \"2px\",\n left: \"2px\",\n borderRadius: \"100%\",\n backgroundColor: \"#fff\",\n padding: 0,\n transitionProperty: \"all\",\n transitionDuration: \"0.5s\",\n transitionTimingFunction: \"ease-in-out\",\n },\n },\n },\n {\n // the label\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Label\",\n },\n },\n },\n ],\n },\n {\n type: \"component\",\n name: DESCRIPTION_COMPONENT_NAME,\n styles: {\n fontSize: \"12px\",\n },\n props: {\n children: {\n type: \"text\",\n value: \"Add interaction variants to see it in action...\",\n },\n },\n },\n ],\n },\n value: {\n type: \"string\",\n description:\n 'The value of the switch in \"selected\" state, used when submitting an HTML form.',\n defaultValueHint: \"on\",\n },\n isSelected: {\n type: \"boolean\",\n editOnly: true,\n displayName: \"Default Selected\",\n uncontrolledProp: \"defaultSelected\",\n description: \"Whether the switch should be selected by default\",\n defaultValueHint: false,\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isSelected\", type: \"boolean\" }],\n },\n },\n states: {\n isSelected: {\n type: \"writable\",\n valueProp: \"isSelected\",\n onChangeProp: \"onChange\",\n variableType: \"boolean\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import React, { ChangeEvent, useEffect } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport type { TextAreaProps } from \"react-aria-components\";\nimport { TextArea } from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport { PlasmicTextFieldContext } from \"./contexts\";\nimport {\n pickAriaComponentVariants,\n UpdateInteractionVariant,\n} from \"./interaction-variant-utils\";\nimport {\n CodeComponentMetaOverrides,\n HasControlContextData,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nconst TEXTAREA_INTERACTION_VARIANTS = [\n \"focused\" as const,\n \"hovered\" as const,\n \"disabled\" as const,\n];\n\nconst { interactionVariants } = pickAriaComponentVariants(\n TEXTAREA_INTERACTION_VARIANTS\n);\n\nexport interface BaseTextAreaProps\n extends TextAreaProps,\n HasControlContextData {\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof TEXTAREA_INTERACTION_VARIANTS\n >;\n}\n\nexport const inputHelpers = {\n states: {\n value: {\n onChangeArgsToValue: (e: ChangeEvent<HTMLInputElement>) => {\n return e.target.value;\n },\n },\n },\n};\n\nexport function BaseTextArea(props: BaseTextAreaProps) {\n const { disabled, updateInteractionVariant, setControlContextData, ...rest } =\n props;\n\n const textFieldContext = React.useContext(PlasmicTextFieldContext);\n\n const mergedProps = mergeProps(rest, {\n disabled: textFieldContext?.isDisabled ?? disabled,\n });\n\n // NOTE: Aria <Input> does not support render props, neither does it provide an onDisabledChange event, so we have to manually update the disabled state\n useEffect(() => {\n updateInteractionVariant?.({\n disabled: mergedProps.disabled,\n });\n }, [mergedProps.disabled, updateInteractionVariant]);\n\n setControlContextData?.({\n parent: textFieldContext,\n });\n\n return (\n <TextArea\n onFocus={() => {\n updateInteractionVariant?.({\n focused: true,\n });\n }}\n onBlur={() => {\n updateInteractionVariant?.({\n focused: false,\n });\n }}\n onHoverChange={(isHovered) => {\n updateInteractionVariant?.({\n hovered: isHovered,\n });\n }}\n {...mergedProps}\n />\n );\n}\n\nexport function registerTextArea(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseTextArea>\n) {\n registerComponentHelper(\n loader,\n BaseTextArea,\n {\n name: makeComponentName(\"textarea\"),\n displayName: \"Aria TextArea\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerTextArea\",\n importName: \"BaseTextArea\",\n interactionVariants,\n props: {\n ...getCommonProps<TextAreaProps>(\"Text Area\", [\n \"name\",\n \"disabled\",\n \"readOnly\",\n \"autoFocus\",\n \"aria-label\",\n \"required\",\n \"placeholder\",\n \"value\",\n \"maxLength\",\n \"minLength\",\n \"inputMode\",\n \"onChange\",\n \"onFocus\",\n \"onBlur\",\n \"onKeyDown\",\n \"onKeyUp\",\n \"onCopy\",\n \"onCut\",\n \"onPaste\",\n \"onCompositionStart\",\n \"onCompositionEnd\",\n \"onCompositionUpdate\",\n \"onSelect\",\n \"onBeforeInput\",\n \"onInput\",\n ]),\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n ...inputHelpers.states.value,\n },\n },\n componentHelpers: {\n helpers: inputHelpers,\n importName: \"inputHelpers\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerTextArea\",\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import React, { ReactNode } from \"react\";\nimport type { InputProps, TextFieldProps } from \"react-aria-components\";\nimport { TextField } from \"react-aria-components\";\nimport { getCommonProps, resolveAutoComplete } from \"./common\";\nimport { PlasmicTextFieldContext } from \"./contexts\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport { DESCRIPTION_COMPONENT_NAME } from \"./registerDescription\";\nimport { registerFieldError } from \"./registerFieldError\";\nimport { INPUT_COMPONENT_NAME, registerInput } from \"./registerInput\";\nimport { LABEL_COMPONENT_NAME, registerLabel } from \"./registerLabel\";\nimport { registerTextArea } from \"./registerTextArea\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeChildComponentName,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst TEXT_FIELD_INTERACTION_VARIANTS = [\n \"disabled\" as const,\n \"readonly\" as const,\n];\n\nexport interface BaseTextFieldProps\n extends Omit<TextFieldProps, \"autoComplete\"> {\n label?: ReactNode;\n description?: ReactNode;\n multiline?: boolean;\n inputProps?: InputProps;\n autoComplete?: string[];\n children: ReactNode;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof TEXT_FIELD_INTERACTION_VARIANTS\n >;\n}\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n TEXT_FIELD_INTERACTION_VARIANTS\n);\n\nexport function BaseTextField(props: BaseTextFieldProps) {\n const { children, updateInteractionVariant, autoComplete, ...rest } = props;\n\n return (\n <PlasmicTextFieldContext.Provider value={props}>\n <TextField autoComplete={resolveAutoComplete(autoComplete)} {...rest}>\n {({ isDisabled, isReadOnly }) =>\n withObservedValues(\n children,\n {\n disabled: isDisabled,\n readonly: isReadOnly,\n },\n updateInteractionVariant\n )\n }\n </TextField>\n </PlasmicTextFieldContext.Provider>\n );\n}\n\nexport const TEXT_FIELD_COMPONENT_NAME = makeComponentName(\"textField\");\n\nexport function registerTextField(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseTextField>\n) {\n registerComponentHelper(\n loader,\n BaseTextField,\n {\n name: TEXT_FIELD_COMPONENT_NAME,\n displayName: \"Aria TextField\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerTextField\",\n importName: \"BaseTextField\",\n interactionVariants,\n // TODO: Support for validate prop\n props: {\n ...getCommonProps<BaseTextFieldProps>(\"Text Field\", [\n \"name\",\n \"isDisabled\",\n \"isReadOnly\",\n \"autoFocus\",\n \"aria-label\",\n \"isRequired\",\n \"value\",\n \"maxLength\",\n \"minLength\",\n \"pattern\",\n \"type\",\n \"inputMode\",\n \"validationBehavior\",\n \"autoComplete\",\n \"onChange\",\n \"onFocus\",\n \"onBlur\",\n \"onFocusChange\",\n \"onKeyDown\",\n \"onKeyUp\",\n \"onCopy\",\n \"onCut\",\n \"onPaste\",\n \"onCompositionStart\",\n \"onCompositionEnd\",\n \"onCompositionUpdate\",\n \"onSelect\",\n \"onBeforeInput\",\n \"onInput\",\n ]),\n children: {\n type: \"slot\",\n mergeWithParent: true as any,\n defaultValue: {\n type: \"vbox\",\n styles: {\n justifyContent: \"flex-start\",\n alignItems: \"flex-start\",\n width: \"300px\",\n gap: \"5px\",\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Label\",\n },\n },\n },\n {\n type: \"component\",\n name: INPUT_COMPONENT_NAME,\n styles: {\n width: \"100%\",\n },\n },\n {\n type: \"component\",\n name: DESCRIPTION_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Type something...\",\n },\n },\n },\n ],\n },\n },\n\n isInvalid: {\n // TODO: Not sure if needed\n displayName: \"Invalid\",\n type: \"boolean\",\n description: \"Whether the input value is invalid\",\n defaultValueHint: false,\n },\n customValidationErrors: {\n // TODO: Not sure if needed\n type: \"array\",\n description: \"Errors for custom validation\",\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n\n const thisName = makeChildComponentName(\n overrides?.parentComponentName,\n TEXT_FIELD_COMPONENT_NAME\n );\n\n registerFieldError(loader, { parentComponentName: thisName });\n registerInput(loader, { parentComponentName: thisName });\n registerLabel(loader, { parentComponentName: thisName });\n registerTextArea(loader, { parentComponentName: thisName });\n}\n","import { mergeProps } from \"@react-aria/utils\";\nimport React from \"react\";\nimport { useTooltipTrigger } from \"react-aria\";\nimport { TooltipProps } from \"react-aria-components\";\nimport flattenChildren from \"react-keyed-flatten-children\";\nimport { TooltipTriggerProps, useTooltipTriggerState } from \"react-stately\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nexport interface BaseTooltipProps extends TooltipTriggerProps, TooltipProps {\n children?: React.ReactElement<HTMLElement>;\n tooltipContent?: React.ReactElement;\n resetClassName?: string;\n className?: string;\n}\n\nexport function BaseTooltip(props: BaseTooltipProps) {\n const { children, tooltipContent, className, resetClassName, ...restProps } =\n props;\n const state = useTooltipTriggerState(restProps);\n const ref = React.useRef(null);\n const { triggerProps, tooltipProps } = useTooltipTrigger(\n restProps,\n state,\n ref\n );\n\n const hasContent =\n tooltipContent &&\n (tooltipContent.type as any).name !== \"CanvasSlotPlaceholder\";\n\n /** We are only accepting a single child here, so we can just use the first one.\n * This is because the trigger props will be applied to the child to enable the triggering of the tooltip.\n * If there has to be more than one things here, wrap them in a horizontal stack for instance.\n * */\n const focusableChild = flattenChildren(children)[0];\n\n return (\n <div\n // this is to ensure that the absolutely positioned tooltip can be positioned correctly within this relatively positioned container.\n style={{ position: \"relative\" }}\n className={resetClassName}\n >\n {React.isValidElement(focusableChild)\n ? React.cloneElement(focusableChild, {\n ref,\n ...mergeProps(\n focusableChild.props as Record<string, any>,\n triggerProps\n ),\n } as Record<string, any> & { ref?: React.Ref<HTMLElement> })\n : null}\n {state.isOpen && (\n <>\n {React.cloneElement(\n hasContent ? (\n tooltipContent\n ) : (\n <p>Add some content to the tooltip...</p>\n ),\n mergeProps(tooltipProps, tooltipContent?.props.attrs, { className })\n )}\n </>\n )}\n </div>\n );\n}\n\nexport function registerTooltip(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseTooltip>\n) {\n registerComponentHelper(\n loader,\n BaseTooltip,\n {\n name: \"plasmic-react-aria-tooltip\",\n displayName: \"Aria Tooltip\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerTooltip\",\n importName: \"BaseTooltip\",\n isAttachment: true,\n styleSections: true,\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"text\",\n value: \"Hover me!\",\n },\n },\n tooltipContent: {\n type: \"slot\",\n displayName: \"Tooltip Content\",\n // NOTE: This is not applied in attachment\n defaultValue: {\n type: \"text\",\n value: \"Hello from Tooltip!\",\n },\n },\n resetClassName: {\n type: \"themeResetClass\",\n },\n isDisabled: {\n type: \"boolean\",\n },\n delay: {\n type: \"number\",\n defaultValueHint: 1500,\n description:\n \"The delay (in milliseconds) for the tooltip to show up.\",\n },\n closeDelay: {\n type: \"number\",\n defaultValueHint: 500,\n description: \"The delay (in milliseconds) for the tooltip to close.\",\n },\n trigger: {\n type: \"choice\",\n options: [\"focus\", \"focus and hover\"],\n defaultValueHint: \"focus and hover\",\n },\n isOpen: {\n type: \"boolean\",\n editOnly: true,\n uncontrolledProp: \"defaultOpen\",\n description: \"Whether the overlay is open by default\",\n defaultValueHint: false,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n },\n states: {\n isOpen: {\n type: \"writable\",\n valueProp: \"isOpen\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n },\n overrides\n );\n}\n","import { registerButton } from \"./registerButton\";\nimport { registerCheckbox } from \"./registerCheckbox\";\nimport { registerCheckboxGroup } from \"./registerCheckboxGroup\";\nimport { registerComboBox } from \"./registerComboBox\";\nimport { registerDescription } from \"./registerDescription\";\nimport { registerDialogTrigger } from \"./registerDialogTrigger\";\nimport { registerForm } from \"./registerForm\";\nimport { registerInput } from \"./registerInput\";\nimport { registerLabel } from \"./registerLabel\";\nimport { registerListBox } from \"./registerListBox\";\nimport { registerModal } from \"./registerModal\";\nimport { registerPopover } from \"./registerPopover\";\nimport { registerRadioGroup } from \"./registerRadioGroup\";\nimport { registerSelect } from \"./registerSelect\";\nimport { registerSlider } from \"./registerSlider\";\nimport { registerSwitch } from \"./registerSwitch\";\nimport { registerText } from \"./registerText\";\nimport { registerTextField } from \"./registerTextField\";\nimport { registerTooltip } from \"./registerTooltip\";\nimport { Registerable } from \"./utils\";\n\nexport function registerAll(loader?: Registerable) {\n registerText(loader);\n registerDescription(loader);\n registerSelect(loader);\n registerComboBox(loader);\n registerButton(loader);\n registerLabel(loader);\n registerListBox(loader);\n registerPopover(loader);\n registerInput(loader);\n registerSwitch(loader);\n registerForm(loader);\n registerCheckbox(loader);\n registerCheckboxGroup(loader);\n registerRadioGroup(loader);\n registerTextField(loader);\n registerModal(loader);\n registerTooltip(loader);\n registerDialogTrigger(loader);\n registerSlider(loader);\n}\n"],"names":["__spreadProps","__spreadValues","registerComponent","React","interactionVariants","withObservedValues","__objRest","Button","Checkbox","Text","FieldError","Label","CheckboxGroup","_a","inputHelpers","mergeProps","useEffect","Input","Component","ListBoxItem","ListBox","Header","Section","Collection","PopoverContext","SelectContext","usePlasmicCanvasContext","Popover","useFilter","ComboBox","ComboBoxStateContext","forwardRef","useImperativeHandle","Heading","ModalOverlay","Modal","Dialog","DialogTrigger","Form","Radio","RadioGroup","SelectValue","Select","SliderOutput","SliderThumb","Slider","SliderTrack","useMemo","flattenChildren","Switch","TextArea","TextField","useTooltipTriggerState","useTooltipTrigger"],"mappings":"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"}
|