@plasmicpkgs/antd5 0.0.310 → 0.0.314
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/antd.esm.js +3 -2
- package/dist/antd.esm.js.map +1 -1
- package/dist/form/registerForm.d.ts +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
- package/skinny/registerForm.cjs.js +3 -2
- package/skinny/registerForm.cjs.js.map +1 -1
- package/skinny/registerForm.esm.js +3 -2
- package/skinny/registerForm.esm.js.map +1 -1
package/dist/antd.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"antd.esm.js","sources":["../src/utils.tsx","../src/form/contexts.ts","../src/form/Form.tsx","../src/names.ts","../src/registerCheckbox.tsx","../src/registerDatePicker.tsx","../src/registerRadio.tsx","../src/react-utils.tsx","../src/registerSelect.tsx","../src/form/FormItem.tsx","../src/form/SchemaForm.tsx","../src/form/sharedRegistration.ts","../src/form/FormGroup.tsx","../src/form/FormList.tsx","../src/form/registerForm.tsx","../src/form/registerFormGroup.tsx","../src/form/registerFormItem.tsx","../src/form/registerFormList.tsx","../src/registerAvatar.tsx","../src/registerBreadcrumb.tsx","../src/registerButton.tsx","../src/registerCollapse.tsx","../src/registerColorPicker.tsx","../src/registerConfigProvider.tsx","../src/registerDateRangePicker.tsx","../src/registerDrawer.tsx","../src/registerMenu.tsx","../src/registerDropdown.tsx","../src/registerInput.tsx","../src/registerModal.tsx","../src/registerPagination.tsx","../src/registerPopover.tsx","../src/registerProgress.tsx","../src/registerRate.tsx","../src/registerSegmented.tsx","../src/registerSlider.tsx","../src/registerSteps.tsx","../src/registerSwitch.tsx","../src/registerTable.tsx","../src/registerTabs.tsx","../src/registerTooltip.tsx","../src/registerTree.tsx","../src/registerUpload.tsx","../src/index.ts"],"sourcesContent":["import {\n ComponentMeta,\n default as registerComponent,\n} from \"@plasmicapp/host/registerComponent\";\nimport {\n default as registerGlobalContext,\n GlobalContextMeta,\n} from \"@plasmicapp/host/registerGlobalContext\";\nimport { default as registerToken } from \"@plasmicapp/host/registerToken\";\nimport React from \"react\";\n\nexport type Registerable = {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n registerToken: typeof registerToken;\n};\n\nexport function makeRegisterComponent<T extends React.ComponentType<any>>(\n component: T,\n meta: ComponentMeta<React.ComponentProps<T>>\n) {\n return function (loader?: Registerable) {\n registerComponentHelper(loader, component, meta);\n };\n}\n\nexport function makeRegisterGlobalContext<T extends React.ComponentType<any>>(\n component: T,\n meta: GlobalContextMeta<React.ComponentProps<T>>\n) {\n return function (loader?: Registerable) {\n if (loader) {\n loader.registerGlobalContext(component, meta);\n } else {\n registerGlobalContext(component, meta);\n }\n };\n}\n\nexport function registerComponentHelper<T extends React.ComponentType<any>>(\n loader: Registerable | undefined,\n component: T,\n meta: ComponentMeta<React.ComponentProps<T>>\n) {\n if (loader) {\n loader.registerComponent(component, meta);\n } else {\n registerComponent(component, meta);\n }\n}\n\ntype ReactElt = {\n children: ReactElt | ReactElt[];\n props: {\n children: ReactElt | ReactElt[];\n [prop: string]: any;\n } | null;\n type: React.ComponentType<any> | null;\n key: string | null;\n} | null;\n\nexport function traverseReactEltTree(\n children: React.ReactNode,\n callback: (elt: ReactElt) => void\n) {\n const rec = (elts: ReactElt | ReactElt[] | null) => {\n (Array.isArray(elts) ? elts : [elts]).forEach((elt) => {\n if (elt) {\n callback(elt);\n if (elt.children) {\n rec(elt.children);\n }\n if (elt.props?.children && elt.props.children !== elt.children) {\n rec(elt.props.children);\n }\n }\n });\n };\n rec(children as any);\n}\n\nexport function asArray<T>(x: T[] | T | undefined | null) {\n if (Array.isArray(x)) {\n return x;\n } else if (x == null) {\n return [];\n } else {\n return [x];\n }\n}\n\nexport function omit<T extends object>(\n obj: T,\n ...keys: (keyof T)[]\n): Partial<T> {\n if (Object.keys(obj).length === 0) {\n return obj;\n }\n const res: Partial<T> = {};\n for (const key of Object.keys(obj) as (keyof T)[]) {\n if (!keys.includes(key)) {\n res[key] = obj[key];\n }\n }\n return res;\n}\n\nexport function has<T extends object>(obj: T, keys: (keyof T)[]): boolean {\n if (Object.keys(obj).length === 0) {\n return true;\n }\n for (const key of keys) {\n if (Array.isArray(obj)) {\n const index = parseInt(key as string);\n if (isNaN(index) || index < 0 || index >= obj.length) {\n return false;\n }\n obj = obj[index];\n } else if (typeof obj === \"object\" && obj != null) {\n if (!Object.prototype.hasOwnProperty.call(obj, key) || !(key in obj)) {\n return false;\n }\n obj = obj[key] as T;\n } else {\n return false;\n }\n }\n return true;\n}\n\nexport function usePrevious<T>(value: T | undefined): T | undefined {\n const prevValue = React.useRef<T | undefined>(undefined);\n\n React.useEffect(() => {\n prevValue.current = value;\n\n return () => {\n prevValue.current = undefined;\n };\n });\n\n return prevValue.current;\n}\n\nexport function capitalize(value: string) {\n return value[0].toUpperCase() + value.slice(1);\n}\n\nexport function ensureArray<T>(x: T | T[]): T[] {\n return Array.isArray(x) ? x : [x];\n}\n\nexport function setFieldsToUndefined(obj: any) {\n if (typeof obj === \"object\" && obj !== null) {\n for (const key in obj) {\n if (typeof obj[key] === \"object\") {\n setFieldsToUndefined(obj[key]);\n }\n obj[key] = undefined;\n }\n }\n}\n\nexport function arrayEq(xs: ReadonlyArray<any>, ys: ReadonlyArray<any>) {\n return xs.length === ys.length && xs.every((x, i) => x === ys[i]);\n}\n\n/**\n *\n * Forked from: https://github.com/ant-design/pro-components/blob/master/packages/utils/src/components/ErrorBoundary/index.tsx\n *\n */\nimport { Result } from \"antd\";\nimport type { ErrorInfo } from \"react\";\n\ninterface ErrorBoundaryProps {\n children?: React.ReactNode;\n message?: string;\n canvasEnvId?: number;\n}\n\ninterface ErrorBoundaryState {\n hasError: boolean;\n errorInfo: string;\n}\nexport class ErrorBoundary extends React.Component<\n ErrorBoundaryProps,\n ErrorBoundaryState\n> {\n state = { hasError: false, errorInfo: \"\" };\n\n static getDerivedStateFromError(error: Error) {\n return { hasError: true, errorInfo: error.message };\n }\n\n componentDidCatch(error: any, errorInfo: ErrorInfo) {\n // You can also log the error to an error reporting service\n // eslint-disable-next-line no-console\n console.log(error, errorInfo);\n }\n\n componentDidUpdate(\n prevProps: Readonly<ErrorBoundaryProps>,\n prevState: Readonly<ErrorBoundaryState>\n ) {\n if (\n prevProps.canvasEnvId !== this.props.canvasEnvId &&\n prevState.hasError\n ) {\n this.setState({ hasError: false });\n }\n }\n\n render() {\n if (this.state.hasError) {\n // You can render any custom fallback UI\n return (\n <Result\n status=\"error\"\n title={this.props.message ?? \"Something went wrong.\"}\n extra={this.state.errorInfo}\n />\n );\n }\n return this.props.children;\n }\n}\n\n// Forked from https://github.com/acstll/deep-get-set/blob/master/index.js\nfunction isUnsafeKey(key: string | number | symbol) {\n return (\n (Array.isArray(key) && key[0] === \"__proto__\") ||\n key === \"__proto__\" ||\n key === \"constructor\" ||\n key === \"prototype\"\n );\n}\nexport function get(obj: any, path: (string | number | symbol)[] | string) {\n const keys = Array.isArray(path) ? path : path.split(\".\");\n let i;\n for (i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (!obj || !Object.hasOwn(obj, key) || isUnsafeKey(key)) {\n obj = undefined;\n break;\n }\n obj = obj[key];\n }\n return obj;\n}\n\nexport function set(\n obj: any,\n path: (string | number | symbol)[] | string,\n value: any\n) {\n const keys = Array.isArray(path) ? path : path.split(\".\");\n let i;\n for (i = 0; i < keys.length - 1; i++) {\n const key = keys[i];\n if (isUnsafeKey(key)) return;\n if (!Object.hasOwn(obj, key)) {\n if (!isNaN(Number(keys[i + 1]))) {\n obj[key] = [];\n } else {\n obj[key] = {};\n }\n }\n obj = obj[key];\n }\n obj[keys[i]] = value;\n return value;\n}\n\nexport function pick<T extends {}>(\n obj: T,\n ...paths: (string | number | symbol)[][]\n): Partial<T> {\n if (Object.keys(obj).length === 0) {\n return obj;\n }\n const res: any = {};\n for (const path of paths) {\n set(res, path, get(obj, path));\n }\n return res as Partial<T>;\n}\n","import { Form, type FormInstance, type FormItemProps } from \"antd\";\nimport React from \"react\";\n\nexport const PathContext = React.createContext<{\n relativePath: (string | number)[]; // used for form.items inside a form.list\n fullPath: (string | number)[];\n}>({ relativePath: [], fullPath: [] });\n\nexport const useFormItemRelativeName = (name: FormItemProps[\"name\"]) => {\n const pathCtx = React.useContext(PathContext);\n return typeof name === \"object\"\n ? [...pathCtx.relativePath, ...name]\n : typeof name === \"string\"\n ? [...pathCtx.relativePath, name]\n : undefined;\n};\n\nexport const useFormItemFullName = (name: FormItemProps[\"name\"]) => {\n const pathCtx = React.useContext(PathContext);\n return typeof name === \"object\"\n ? [...pathCtx.fullPath, ...name]\n : typeof name === \"string\"\n ? [...pathCtx.fullPath, name]\n : undefined;\n};\n\nexport function useFormInstanceMaybe(): FormInstance<any> | undefined {\n return Form.useFormInstance();\n}\n\nexport interface FieldEntity {\n fullPath: (string | number)[];\n name: string | number | undefined;\n preserve: boolean;\n}\n\n/**\n * - registeredFields: current mounted form fields\n * - preservedRegisteredFields: all fields that were registered and were marked as NOT preserve\n */\nexport interface InternalFieldCtx {\n registeredFields: FieldEntity[];\n preservedRegisteredFields: FieldEntity[];\n}\n\nexport interface CommonFormControlContextData {\n formInstance?: FormInstance<any>;\n layout?: FormLayoutContextValue;\n internalFieldCtx?: InternalFieldCtx;\n}\n\nexport interface InternalFormInstanceContext\n extends CommonFormControlContextData {\n fireOnValuesChange: () => void;\n forceRemount: () => void;\n registerField: (fieldEntity: FieldEntity) => () => void;\n internalFieldCtx: InternalFieldCtx;\n initialValues: Record<string, any>;\n}\n\nexport const InternalFormInstanceContext = React.createContext<\n InternalFormInstanceContext | undefined\n>(undefined);\n\nexport interface FormLayoutContextValue {\n layout: React.ComponentProps<typeof Form>[\"layout\"];\n labelSpan?: number;\n}\n\nexport const FormLayoutContext = React.createContext<\n FormLayoutContextValue | undefined\n>(undefined);\n","import type { DataOp, TableSchema } from \"@plasmicapp/data-sources\";\nimport { CodeComponentMode, ComponentHelpers } from \"@plasmicapp/host\";\nimport { CanvasComponentProps } from \"@plasmicapp/host/registerComponent\";\nimport { Form } from \"antd\";\nimport type { FormInstance, FormProps } from \"antd/es/form\";\nimport type { ColProps } from \"antd/es/grid/col\";\nimport equal from \"fast-deep-equal\";\nimport React from \"react\";\nimport { pick, setFieldsToUndefined, usePrevious } from \"../utils\";\nimport {\n CommonFormControlContextData,\n FieldEntity,\n FormLayoutContext,\n FormLayoutContextValue,\n InternalFieldCtx,\n InternalFormInstanceContext,\n} from \"./contexts\";\nimport { InternalFormItemProps } from \"./FormItem\";\n\nexport enum InputType {\n Text = \"Text\",\n TextArea = \"Text Area\",\n Password = \"Password\",\n Number = \"Number\",\n Select = \"Select\",\n Option = \"Option\",\n OptionGroup = \"Option Group\",\n Radio = \"Radio\",\n RadioGroup = \"Radio Group\",\n Checkbox = \"Checkbox\",\n DatePicker = \"DatePicker\",\n Unknown = \"Unkown\",\n}\n\nexport const SchemaFormContext = React.createContext<\n | {\n schema?: TableSchema;\n minimalFullLengthFields?: Partial<SimplifiedFormItemsProp>[];\n mergedFields?: SimplifiedFormItemsProp[];\n }\n | undefined\n>(undefined);\n\nexport interface SimplifiedFormItemsProp extends InternalFormItemProps {\n inputType: InputType;\n options?: {\n label: string;\n value: string;\n }[];\n optionType?: \"default\" | \"button\";\n showTime?: boolean;\n key?: string;\n}\n\nexport interface FormWrapperControlContextData\n extends CommonFormControlContextData {\n formInstance?: FormInstance<any>;\n schema?: TableSchema;\n minimalFullLengthFields?: Partial<SimplifiedFormItemsProp>[];\n mergedFields?: SimplifiedFormItemsProp[];\n}\n\nexport enum FormType {\n NewEntry,\n UpdateEntry,\n}\n\nexport interface FormWrapperProps\n extends FormProps,\n CanvasComponentProps<FormWrapperControlContextData> {\n /**\n * https://ant.design/components/form#setfieldsvalue-do-not-trigger-onfieldschange-or-onvalueschange\n * Because setFieldsValue doesn't trigger onValuesChange, we need to create our own onChange function.\n * This will allow us to trigger the onChange function and keep the value state updated in canvas.\n * We also don't invoke onValuesChange to avoid changing the standard behavior, since users may have\n * overridden this function in their codebase\n **/\n extendedOnValuesChange?: (\n values: Parameters<NonNullable<FormProps[\"onValuesChange\"]>>[1]\n ) => void;\n formItems?: SimplifiedFormItemsProp[];\n dataFormItems?: SimplifiedFormItemsProp[];\n mode?: CodeComponentMode;\n formType?: \"new-entry\" | \"update-entry\";\n submitSlot?: React.ReactNode;\n data?: DataOp;\n autoDisableWhileSubmitting?: boolean;\n onIsSubmittingChange?: (isSubmitting: boolean) => void;\n}\n\nconst Internal = React.forwardRef(\n (\n props: Omit<FormWrapperProps, \"onFinish\"> & {\n forceRemount: () => void;\n setInternalFieldCtx: React.Dispatch<\n React.SetStateAction<InternalFieldCtx>\n >;\n internalFieldCtx: InternalFieldCtx;\n labelCol?: ColProps & { horizontalOnly?: boolean };\n wrapperCol?: ColProps & { horizontalOnly?: boolean };\n formLayout: FormLayoutContextValue;\n onFinish?:\n | FormProps[\"onFinish\"]\n | ((\n ...args: Parameters<NonNullable<FormProps[\"onFinish\"]>>\n ) => Promise<ReturnType<NonNullable<FormProps[\"onFinish\"]>>>);\n },\n ref: React.Ref<FormRefActions>\n ) => {\n const [isSubmitting, setIsSubmitting] = React.useState(false);\n const [form] = Form.useForm();\n const values = form.getFieldsValue(true);\n const lastValue = React.useRef(values);\n const {\n extendedOnValuesChange,\n forceRemount,\n formLayout,\n internalFieldCtx,\n setInternalFieldCtx,\n autoDisableWhileSubmitting = true,\n ...rest\n } = props;\n // extracted from https://github.com/react-component/field-form/blob/master/src/Form.tsx#L120\n const childrenNode =\n typeof props.children === \"function\"\n ? props.children(values, form)\n : props.children;\n\n const fireOnValuesChange = React.useCallback(() => {\n const values = form.getFieldsValue(true);\n if (!equal(values, lastValue.current)) {\n extendedOnValuesChange?.(values);\n lastValue.current = values;\n }\n }, [form, lastValue]);\n\n React.useEffect(() => {\n fireOnValuesChange();\n }, []);\n React.useImperativeHandle(ref, () => ({\n formInstance: form,\n setFieldsValue: (newValues: Record<string, any>) => {\n form.setFieldsValue(newValues);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n setFieldValue: (\n namePath: string | number | (string | number)[],\n value: any\n ) => {\n form.setFieldValue(namePath, value);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n resetFields: () => {\n form.resetFields();\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n validateFields: async (...args) => {\n try {\n return await form.validateFields(...(args as any));\n } catch (err) {\n return err as any;\n }\n },\n clearFields: () => {\n const values = form.getFieldsValue(true);\n setFieldsToUndefined(values);\n form.setFieldsValue(values);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n }));\n const registerField = React.useCallback(\n (fieldEntity: FieldEntity) => {\n setInternalFieldCtx((ctx) => ({\n registeredFields: [...ctx.registeredFields, fieldEntity],\n preservedRegisteredFields: [\n ...ctx.preservedRegisteredFields,\n fieldEntity,\n ],\n }));\n return () => {\n setInternalFieldCtx((ctx) => ({\n registeredFields: ctx.registeredFields.filter(\n (ent) => ent !== fieldEntity\n ),\n preservedRegisteredFields: ctx.preservedRegisteredFields.filter(\n (ent) => ent !== fieldEntity || fieldEntity.preserve\n ),\n }));\n };\n },\n [setInternalFieldCtx]\n );\n const schemaFormCtx = React.useContext(SchemaFormContext);\n props.setControlContextData?.({\n formInstance: form,\n layout: formLayout,\n internalFieldCtx,\n ...(schemaFormCtx ? schemaFormCtx : {}),\n });\n\n const updateIsSubmitting = React.useCallback(\n (newValue: boolean) => {\n setIsSubmitting(newValue);\n props.onIsSubmittingChange?.(newValue);\n },\n [props.onIsSubmittingChange, setIsSubmitting]\n );\n\n return (\n <InternalFormInstanceContext.Provider\n value={{\n layout: formLayout,\n fireOnValuesChange,\n forceRemount,\n registerField,\n internalFieldCtx,\n initialValues: props.initialValues ?? {},\n }}\n >\n <FormLayoutContext.Provider value={formLayout}>\n <Form\n {...rest}\n key={\n props.initialValues\n ? JSON.stringify(props.initialValues)\n : undefined\n }\n onValuesChange={(...args) => {\n props.onValuesChange?.(...args);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n }}\n onFinish={async () => {\n if (isSubmitting && autoDisableWhileSubmitting) {\n return;\n }\n updateIsSubmitting(true);\n const submission = props.onFinish?.(\n pick(\n form.getFieldsValue(true),\n ...internalFieldCtx.preservedRegisteredFields.map(\n (field) => field.fullPath\n )\n )\n );\n if (\n typeof submission === \"object\" &&\n typeof submission.then === \"function\"\n ) {\n await submission;\n }\n updateIsSubmitting(false);\n }}\n form={form}\n labelCol={\n props.labelCol?.horizontalOnly && props.layout !== \"horizontal\"\n ? undefined\n : props.labelCol\n }\n wrapperCol={\n props.wrapperCol?.horizontalOnly && props.layout !== \"horizontal\"\n ? undefined\n : props.wrapperCol\n }\n disabled={isSubmitting && autoDisableWhileSubmitting}\n >\n {/*Remove built-in spacing on form fields*/}\n <style>{`\n .ant-form-item-explain + div, .ant-form-item-margin-offset {\n display: none;\n }\n `}</style>\n {childrenNode}\n </Form>\n </FormLayoutContext.Provider>\n </InternalFormInstanceContext.Provider>\n );\n }\n);\n\nexport interface FormRefActions\n extends Pick<\n FormInstance<any>,\n \"setFieldsValue\" | \"resetFields\" | \"setFieldValue\" | \"validateFields\"\n > {\n clearFields: () => void;\n formInstance: FormInstance<any>;\n}\n\nexport const FormWrapper = React.forwardRef(\n (props: FormWrapperProps, ref: React.Ref<FormRefActions>) => {\n const [remountKey, setRemountKey] = React.useState(0);\n const forceRemount = React.useCallback(\n () => setRemountKey((k) => k + 1),\n [setRemountKey]\n );\n const previousInitialValues = usePrevious(props.initialValues);\n\n const wrapperRef = React.useRef<FormRefActions>(null);\n React.useEffect(() => {\n if (\n previousInitialValues !== props.initialValues &&\n JSON.stringify(previousInitialValues) !==\n JSON.stringify(props.initialValues)\n ) {\n forceRemount();\n }\n }, [previousInitialValues, props.initialValues]);\n const [internalFieldCtx, setInternalFieldCtx] =\n React.useState<InternalFieldCtx>({\n registeredFields: [],\n preservedRegisteredFields: [],\n });\n\n React.useImperativeHandle(ref, () =>\n wrapperRef.current ? { ...wrapperRef.current } : ({} as FormRefActions)\n );\n\n const formLayout = React.useMemo(\n () => ({\n layout: props.layout,\n labelSpan: props.labelCol?.span as number | undefined,\n }),\n [props.layout, props.labelCol?.span]\n );\n\n return (\n <Internal\n key={remountKey}\n forceRemount={forceRemount}\n formLayout={formLayout}\n internalFieldCtx={internalFieldCtx}\n setInternalFieldCtx={setInternalFieldCtx}\n ref={wrapperRef}\n {...props}\n />\n );\n }\n);\n\nexport const formHelpers: ComponentHelpers<FormWrapperProps> = {\n states: {\n value: {\n onMutate: (value, $ref) => {\n $ref?.formInstance?.setFieldsValue(value);\n },\n },\n },\n};\n\nexport const OPTIMIZED_FORM_IMPORT = {\n name: \"FormWrapper\",\n path: \"@plasmicpkgs/antd5/skinny/Form\",\n};\n","export const inputComponentName = \"plasmic-antd5-input\";\nexport const passwordComponentName = \"plasmic-antd5-input-password\";\nexport const inputNumberComponentName = \"plasmic-antd5-input-number\";\nexport const textAreaComponentName = \"plasmic-antd5-textarea\";\nexport const switchComponentName = \"plasmic-antd5-switch\";\nexport const selectComponentName = \"plasmic-antd5-select\";\nexport const optionComponentName = \"plasmic-antd5-option\";\nexport const optionGroupComponentName = \"plasmic-antd5-option-group\";\nexport const checkboxComponentName = \"plasmic-antd5-checkbox\";\nexport const checkboxGroupComponentName = \"plasmic-antd5-checkbox-group\";\nexport const radioComponentName = \"plasmic-antd5-radio\";\nexport const radioButtonComponentName = \"plasmic-antd5-radio-button\";\nexport const radioGroupComponentName = \"plasmic-antd5-radio-group\";\nexport const formListComponentName = \"plasmic-antd5-form-list\";\nexport const formComponentName = \"plasmic-antd5-form\";\nexport const formGroupComponentName = \"plasmic-antd5-form-group\";\nexport const formItemComponentName = \"plasmic-antd5-form-item\";\nexport const buttonComponentName = \"plasmic-antd5-button\";\n","import { Checkbox } from \"antd\";\nimport type { CheckboxChangeEvent } from \"antd/es/checkbox\";\nimport React from \"react\";\nimport { checkboxComponentName, checkboxGroupComponentName } from \"./names\";\nimport {\n Registerable,\n registerComponentHelper,\n traverseReactEltTree,\n} from \"./utils\";\n\nexport function AntdCheckbox(\n props: Omit<React.ComponentProps<typeof Checkbox>, \"onChange\"> & {\n onChange?: (checked: boolean) => void;\n }\n) {\n const { onChange, ...rest } = props;\n const wrappedOnChange = React.useMemo(() => {\n if (onChange) {\n return (event: CheckboxChangeEvent) => onChange(event.target.checked);\n } else {\n return undefined;\n }\n }, [onChange]);\n return <Checkbox {...rest} onChange={wrappedOnChange} />;\n}\nAntdCheckbox.__plasmicFormFieldMeta = { valueProp: \"checked\" };\n\nexport const AntdCheckboxGroup = Checkbox.Group;\n\nexport function registerCheckbox(loader?: Registerable) {\n registerComponentHelper(loader, AntdCheckbox, {\n name: checkboxComponentName,\n displayName: \"Checkbox\",\n props: {\n checked: {\n type: \"boolean\",\n editOnly: true,\n uncontrolledProp: \"defaultChecked\",\n description:\n \"Specifies the initial state: whether or not the checkbox is selected\",\n defaultValueHint: false,\n hidden: (ps) => !!(ps as any).__plasmicFormField,\n },\n disabled: {\n type: \"boolean\",\n description: \"If checkbox is disabled\",\n defaultValueHint: false,\n },\n indeterminate: {\n type: \"boolean\",\n description: \"The indeterminate checked state of checkbox\",\n defaultValueHint: false,\n },\n autoFocus: {\n type: \"boolean\",\n description: \"If get focus when component mounted\",\n defaultValueHint: false,\n advanced: true,\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Checkbox\",\n },\n ],\n ...({ mergeWithParent: true } as any),\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"checked\", type: \"boolean\" }],\n } as any,\n },\n states: {\n checked: {\n type: \"writable\",\n valueProp: \"checked\",\n onChangeProp: \"onChange\",\n variableType: \"boolean\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerCheckbox\",\n importName: \"AntdCheckbox\",\n });\n\n registerComponentHelper(loader, AntdCheckboxGroup, {\n name: checkboxGroupComponentName,\n displayName: \"Checkbox Group\",\n props: {\n value: {\n type: \"choice\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Default selected value\",\n multiSelect: true,\n options: (ps) => {\n const options = new Set<string>();\n traverseReactEltTree(ps.children, (elt) => {\n if (\n elt?.type === AntdCheckbox &&\n typeof elt?.props?.value === \"string\"\n ) {\n options.add(elt.props.value);\n }\n });\n return Array.from(options.keys());\n },\n },\n disabled: {\n type: \"boolean\",\n description: \"Disables all checkboxes\",\n defaultValueHint: false,\n },\n children: {\n type: \"slot\",\n allowedComponents: [checkboxComponentName],\n // Error right now when using default slot content with stateful instances\n // defaultValue: [\n // {\n // type: \"component\",\n // name: \"plasmic-antd5-checkbox\",\n // },\n // ],\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"object\" }],\n } as any,\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"boolean\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerCheckbox\",\n importName: \"AntdCheckboxGroup\",\n parentComponentName: checkboxComponentName,\n });\n}\n","import { DatePicker } from \"antd\";\nimport dayjs, { Dayjs } from \"dayjs\";\nimport React from \"react\";\nimport { capitalize, Registerable, registerComponentHelper } from \"./utils\";\n\n/**\n * onChangeIsoString uses ISO strings rather than dayjs.\n *\n */\nexport function AntdDatePicker(\n props: Omit<React.ComponentProps<typeof DatePicker>, \"value\" | \"onChange\"> & {\n onChange?: (value: string | null) => void;\n value?: Dayjs | string | null;\n // Not sure why this is missing from DatePicker props!\n showTime?: boolean;\n popupScopeClassName?: string;\n }\n) {\n const { picker, popupScopeClassName, ...rest } = props;\n\n const css = `\n\n @media(max-width: 500px) {\n .ant-picker-dropdown {\n top: 20px !important;\n left: 10px !important;\n right: 10px !important;\n max-height: 95vh;\n position: fixed;\n overflow-y: scroll;\n }\n\n .ant-picker-panel-layout {\n flex-direction: column;\n }\n\n .ant-picker-presets {\n min-height: 50px;\n min-width: 100%;\n }\n\n .ant-picker-presets > ul {\n overflow-y: hidden;\n overflow-x: auto;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n flex-direction: column;\n }\n\n .ant-picker-presets > ul > li {\n margin: 0 !important;\n }\n\n .ant-picker-panel-container {\n width: 300px;\n }\n\n .ant-picker-datetime-panel {\n flex-direction: column;\n }\n\n .ant-picker-header-view {\n line-height: unset !important;\n }\n\n .ant-picker-content {\n height: unset !important;\n }\n\n .ant-picker-time-panel-column {\n height: 100px;\n }\n\n .ant-picker-time-panel-column::after {\n height: 0px !important;\n }\n\n .ant-picker-time-panel-column::after {\n display: none;\n }\n }`;\n\n return (\n <>\n <DatePicker\n {...rest}\n picker={picker as any}\n value={\n props.value === undefined\n ? undefined\n : !props.value\n ? null\n : dayjs(props.value)\n }\n defaultValue={\n props.defaultValue === undefined\n ? undefined\n : dayjs(props.defaultValue)\n }\n popupClassName={popupScopeClassName}\n // dateString isn't a valid ISO string, and value is a dayjs object.\n onChange={(value, _dateString) => {\n props.onChange?.(value !== null ? value.toISOString() : null);\n }}\n />\n <style dangerouslySetInnerHTML={{ __html: css }} />\n </>\n );\n}\n\nexport const datePickerComponentName = \"plasmic-antd5-date-picker\";\n\nexport const datePickerHelpers = {\n states: {\n value: {\n onChangeArgsToValue: (value: string) => (value ? value : undefined),\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n },\n};\n\nexport function registerDatePicker(loader?: Registerable) {\n registerComponentHelper(loader, AntdDatePicker, {\n name: datePickerComponentName,\n displayName: \"Date/Time Picker\",\n props: {\n value: {\n type: \"dateString\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description:\n \"The current date/time as an ISO string, Date object, or dayjs object\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n disabled: {\n type: \"boolean\",\n defaultValueHint: false,\n },\n autoFocus: {\n type: \"boolean\",\n description: \"Focus when component is rendered\",\n defaultValueHint: false,\n advanced: true,\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"string\" }],\n },\n picker: {\n type: \"choice\",\n options: [\"date\", \"week\", \"month\", \"quarter\", \"year\"].map((value) => ({\n value,\n label: capitalize(value),\n })),\n defaultValueHint: \"date\",\n },\n popupScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"datePickerPopup\",\n } as any,\n popupClassName: {\n type: \"class\",\n displayName: \"Popup container\",\n selectors: [\n {\n selector: \":datePickerPopup .ant-picker-panel-container\",\n label: \"Base\",\n },\n ],\n },\n popupHeaderClassName: {\n type: \"class\",\n displayName: \"Popup header\",\n selectors: [\n {\n selector: \":datePickerPopup .ant-picker-header\",\n label: \"Base\",\n },\n ],\n },\n popupBodyClassName: {\n type: \"class\",\n displayName: \"Popup body\",\n selectors: [\n {\n selector: \":datePickerPopup .ant-picker-body\",\n label: \"Base\",\n },\n ],\n },\n popupFooterClassName: {\n type: \"class\",\n displayName: \"Popup footer\",\n selectors: [\n {\n selector: \":datePickerPopup .ant-picker-footer\",\n label: \"Base\",\n },\n ],\n },\n showTime: {\n type: \"boolean\",\n description: \"Enable time selection\",\n },\n bordered: {\n type: \"boolean\",\n advanced: true,\n },\n // TODO - see how it works with plasmic-rich-components\n // format: {\n // advanced: true\n // },\n showNow: {\n type: \"boolean\",\n advanced: true,\n description: 'Whether to show the \"Now\" button',\n defaultValueHint: true,\n hidden: (ps: any) => !ps.showTime,\n },\n showToday: {\n type: \"boolean\",\n advanced: true,\n description: 'Whether to show the \"Today\" button',\n defaultValueHint: true,\n hidden: (ps: any) => ps.showTime,\n },\n // disabledDate: {\n // type: \"function\",\n // advanced: true,\n // description: \"Dates to disable\",\n // },\n // disabledTime: {\n // type: \"function\",\n // advanced: true,\n // description: \"Times to disable\",\n // },\n allowClear: {\n type: \"boolean\",\n advanced: true,\n description: \"Whether to show the clear button\",\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n ...datePickerHelpers.states.value,\n },\n },\n componentHelpers: {\n helpers: datePickerHelpers,\n importName: \"datePickerHelpers\",\n importPath: \"@plasmicpkgs/antd5/skinny/registerDatePicker\",\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerDatePicker\",\n importName: \"AntdDatePicker\",\n });\n}\n","import { Radio } from \"antd\";\nimport type { RadioChangeEvent } from \"antd/es/radio\";\nimport React from \"react\";\nimport {\n radioButtonComponentName,\n radioComponentName,\n radioGroupComponentName,\n} from \"./names\";\nimport {\n Registerable,\n registerComponentHelper,\n traverseReactEltTree,\n} from \"./utils\";\nconst RadioGroup = Radio.Group;\n\nexport const AntdRadio = Radio;\nexport const AntdRadioButton = Radio.Button;\nexport function AntdRadioGroup(\n props: Omit<React.ComponentProps<typeof RadioGroup>, \"onChange\"> & {\n onChange?: (value?: string) => void;\n useChildren?: boolean;\n }\n) {\n const { onChange, useChildren, ...rest } = props;\n const wrappedOnChange = React.useMemo(() => {\n if (onChange) {\n return (event: RadioChangeEvent) => onChange(event.target.value);\n } else {\n return undefined;\n }\n }, [onChange]);\n return (\n <RadioGroup\n {...rest}\n onChange={wrappedOnChange}\n options={useChildren ? undefined : rest.options}\n />\n );\n}\n\nexport function registerRadio(loader?: Registerable) {\n registerComponentHelper(loader, AntdRadio, {\n name: radioComponentName,\n displayName: \"Radio\",\n props: {\n value: {\n type: \"string\",\n description: \"The radio option value\",\n },\n disabled: {\n type: \"boolean\",\n defaultValueHint: false,\n },\n autoFocus: {\n type: \"boolean\",\n description: \"If focused when first shown\",\n defaultValueHint: false,\n advanced: true,\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Radio\",\n },\n ],\n ...({ mergeWithParent: true } as any),\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerRadio\",\n importName: \"AntdRadio\",\n parentComponentName: radioGroupComponentName,\n });\n registerComponentHelper(loader, AntdRadioButton, {\n name: radioButtonComponentName,\n displayName: \"Radio Button\",\n props: {\n value: {\n type: \"string\",\n description: \"The radio option value\",\n },\n disabled: {\n type: \"boolean\",\n defaultValueHint: false,\n },\n autoFocus: {\n type: \"boolean\",\n description: \"If focused when first shown\",\n defaultValueHint: false,\n advanced: true,\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Radio\",\n },\n ],\n ...({ mergeWithParent: true } as any),\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerRadio\",\n importName: \"AntdRadioButton\",\n parentComponentName: radioGroupComponentName,\n });\n\n registerComponentHelper(loader, AntdRadioGroup, {\n name: radioGroupComponentName,\n displayName: \"Radio Group\",\n props: {\n options: {\n type: \"array\",\n hidden: (ps) => !!ps.useChildren,\n itemType: {\n type: \"object\",\n nameFunc: (item: any) => item.label || item.value,\n fields: {\n value: \"string\",\n label: \"string\",\n },\n },\n defaultValue: [\n {\n value: \"option1\",\n label: \"Option 1\",\n },\n {\n value: \"option2\",\n label: \"Option 2\",\n },\n ],\n },\n optionType: {\n type: \"choice\",\n options: [\n { value: \"default\", label: \"Radio\" },\n { value: \"button\", label: \"Button\" },\n ],\n hidden: (ps) => !!ps.useChildren,\n defaultValueHint: \"default\",\n },\n value: {\n type: \"choice\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Default selected value\",\n options: (ps: any) => {\n if (ps.useChildren) {\n const options = new Set<string>();\n traverseReactEltTree(ps.children, (elt) => {\n if (typeof elt?.props?.value === \"string\") {\n options.add(elt.props.value);\n }\n });\n return Array.from(options.keys());\n } else {\n return ps.options ?? [];\n }\n },\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n disabled: {\n type: \"boolean\",\n description: \"Disables all radios\",\n defaultValueHint: false,\n },\n useChildren: {\n displayName: \"Use slot\",\n type: \"boolean\",\n defaultValueHint: false,\n advanced: true,\n description:\n \"Instead of configuring a list of options, customize the contents of the RadioGroup by dragging and dropping Radio in the outline/canvas, inside the 'children' slot. Lets you use any content or formatting within the Radio and RadioButton.\",\n },\n children: {\n type: \"slot\",\n allowedComponents: [\n \"plasmic-antd5-radio\",\n \"plasmic-antd5-radio-button\",\n ],\n defaultValue: [\n {\n type: \"component\",\n name: \"plasmic-antd5-radio\",\n props: {\n value: \"op1\",\n children: {\n type: \"text\",\n value: \"Option 1\",\n },\n },\n },\n {\n type: \"component\",\n name: \"plasmic-antd5-radio\",\n props: {\n value: \"op2\",\n children: {\n type: \"text\",\n value: \"Option 2\",\n },\n },\n },\n ],\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"string\" }],\n } as any,\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerRadio\",\n importName: \"AntdRadioGroup\",\n defaultStyles: {\n layout: \"hbox\",\n },\n ...({\n trapsSelection: true,\n } as any),\n });\n}\n","import classNames from \"classnames\";\nimport React, { isValidElement } from \"react\";\n\nexport const isBrowser = typeof window !== \"undefined\";\nexport const NONE = Symbol(\"NONE\");\n\nexport const useIsomorphicLayoutEffect = isBrowser\n ? React.useLayoutEffect\n : React.useEffect;\n\nexport function createElementWithChildren(\n elementType: any,\n props: any,\n children: React.ReactNode\n) {\n if (Array.isArray(children)) {\n return React.createElement(\n elementType,\n props,\n ...children\n ) as React.ReactElement;\n } else if (children || \"children\" in props) {\n // Only call React.createElement with `children` if there are actual children,\n // or if there was an explicit (albeit undefined) children passed via\n // props. Otherwise, if you pass `undefined` as the children argument\n // to React.createElement, the created element will have prop {children: undefined}.\n // If the `root` is an PlasmicGeneratedComponent, and these props with {children: undefined}\n // are used, then it will be taken as a `children` override, and will thus blank out\n // everything under the root node.\n return React.createElement(elementType, props, children);\n } else {\n return React.createElement(elementType, props);\n }\n}\n\nexport function ensureNotArray(children: React.ReactNode) {\n if (Array.isArray(children)) {\n if (children.length === 1) {\n return children[0];\n } else {\n return React.createElement(React.Fragment, {}, ...children);\n }\n } else {\n return children;\n }\n}\n\n/**\n * Flattens ReactNode into an array of ReactChild, but does NOT replace\n * missing keys with array index, as React.Children.toArray() does.\n */\nexport function toChildArray(children: React.ReactNode): React.ReactChild[] {\n if (isReactChild(children)) {\n return [children];\n } else if (Array.isArray(children)) {\n return children.flatMap(toChildArray);\n } else {\n return [];\n }\n}\n\nexport function isReactText(child: React.ReactNode): child is React.ReactText {\n return typeof child === \"string\" || typeof child === \"number\";\n}\n\nexport function isReactChild(\n child: React.ReactNode\n): child is React.ReactChild {\n return React.isValidElement(child) || isReactText(child);\n}\n\nexport function isReactFragment(\n child: React.ReactNode\n): child is React.ReactElement {\n return React.isValidElement(child) && child.type === React.Fragment;\n}\n\nexport function isReactNode(x: any) {\n return (\n typeof x === \"string\" || typeof x === \"number\" || React.isValidElement(x)\n );\n}\n\n// From https://stackoverflow.com/questions/54775790/forcing-excess-property-checking-on-variable-passed-to-typescript-function\n// We also wrap the error message in a Partial<> because otherwise Jetbrains IDEs will autocomplete the component with all the string methods as props - see https://github.com/plasmicapp/plasmic/issues/16.\nexport type StrictProps<T, TExpected> = Exclude<\n keyof T,\n keyof TExpected\n> extends never\n ? any\n : Partial<\"Unexpected extraneous props\">;\n\nexport type HTMLElementRefOf<T extends keyof JSX.IntrinsicElements> = Exclude<\n React.ComponentProps<T>[\"ref\"],\n string\n>;\n\nexport function mergeProps(\n props: Record<string, any>,\n ...restProps: Record<string, any>[]\n): Record<string, any> {\n if (restProps.every((rest) => Object.keys(rest).length === 0)) {\n return props;\n }\n\n const result = { ...props };\n\n for (const rest of restProps) {\n for (const key of Object.keys(rest)) {\n result[key] = mergePropVals(key, result[key], rest[key]);\n }\n }\n\n return result;\n}\n\nfunction updateRef<T>(ref: React.Ref<T> | undefined, value: T | null) {\n if (!ref) {\n return;\n }\n\n if (typeof ref === \"function\") {\n ref(value);\n } else {\n if (!Object.isFrozen(ref)) {\n (ref as React.MutableRefObject<T | null>).current = value;\n }\n }\n}\n\nexport function mergeRefs<T>(...refs: (React.Ref<T> | undefined)[]) {\n return (value: T) => {\n for (const ref of refs) {\n updateRef(ref, value);\n }\n };\n}\n\nexport function mergePropVals(name: string, val1: any, val2: any): any {\n if (val1 === NONE || val2 === NONE) {\n // The NONE sentinel always skips all merging and returns null\n return null;\n } else if (val1 == null) {\n // If either of them is nil, prefer the other\n return val2;\n } else if (val2 == null) {\n return val1;\n } else if (name === \"className\") {\n // Special case for className -- always combine both class names\n return classNames(val1, val2);\n } else if (name === \"style\") {\n // Special case for style -- always shallow-merge style dicts\n return { ...val1, ...val2 };\n } else if (name === \"ref\") {\n // Special case for ref\n return mergeRefs(val1, val2);\n } else if (typeof val1 !== typeof val2) {\n // If the type of the two values are different, then no way to merge them.\n // Prefer val2.\n return val2;\n } else if (name.startsWith(\"on\") && typeof val1 === \"function\") {\n // Special case for event handlers -- always call both handlers\n return (...args: any[]) => {\n let res: any;\n if (typeof val1 === \"function\") {\n res = val1(...args);\n }\n if (typeof val2 === \"function\") {\n res = val2(...args);\n }\n return res;\n };\n } else {\n // For all else, prefer val2\n return val2;\n }\n}\n\nexport function getElementTypeName(element: React.ReactElement) {\n if (typeof element.type === \"string\") {\n return element.type;\n } else {\n const comp = element.type as any;\n return comp.displayName ?? comp.name ?? comp.render?.name ?? \"Component\";\n }\n}\n\nexport function reactNodeToString(reactNode: React.ReactNode): string {\n let string = \"\";\n if (typeof reactNode === \"string\") {\n string = reactNode;\n } else if (typeof reactNode === \"number\") {\n string = reactNode.toString();\n } else if (reactNode instanceof Array) {\n reactNode.forEach(function (child) {\n string += reactNodeToString(child);\n });\n } else if (isValidElement(reactNode)) {\n string += reactNodeToString(reactNode.props.children);\n }\n return string;\n}\n\nexport function useIsMounted(): () => boolean {\n const ref = React.useRef<boolean>(false);\n const isMounted = React.useCallback(() => ref.current, []);\n\n React.useEffect(() => {\n ref.current = true;\n return () => {\n ref.current = false;\n };\n }, []);\n\n return isMounted;\n}\n","import { Select } from \"antd\";\nimport React, { ComponentProps } from \"react\";\nimport {\n optionComponentName,\n optionGroupComponentName,\n selectComponentName,\n} from \"./names\";\nimport { reactNodeToString } from \"./react-utils\";\nimport {\n Registerable,\n registerComponentHelper,\n traverseReactEltTree,\n} from \"./utils\";\n\nexport const AntdOption: typeof Select.Option = Select.Option;\nexport const AntdOptionGroup: typeof Select.OptGroup = Select.OptGroup;\n\nexport function AntdSelect(\n props: ComponentProps<typeof Select> & {\n popupScopeClassName?: string;\n popupClassName?: string;\n defaultStylesClassName?: string;\n useChildren?: boolean;\n }\n) {\n const {\n popupClassName,\n popupScopeClassName,\n defaultStylesClassName,\n suffixIcon,\n mode,\n useChildren,\n ...rest\n } = props;\n const curated = { ...rest };\n if (useChildren) {\n curated.options = undefined;\n }\n return (\n <Select\n {...curated}\n mode={!mode || (mode as any) === \"single\" ? undefined : mode}\n popupClassName={`${defaultStylesClassName} ${popupScopeClassName} ${popupClassName}`}\n optionFilterProp={curated.options ? \"label\" : undefined}\n filterOption={(input, option) =>\n (useChildren\n ? reactNodeToString(option?.children)\n : option?.label ?? \"\"\n )\n .toLowerCase()\n .includes(input.toLowerCase())\n }\n {...(suffixIcon && { suffixIcon })}\n />\n );\n}\n\nexport function registerSelect(loader?: Registerable) {\n registerComponentHelper(loader, AntdSelect, {\n name: selectComponentName,\n displayName: \"Select\",\n props: {\n options: {\n type: \"array\",\n hidden: (ps) => !!ps.useChildren,\n itemType: {\n type: \"object\",\n nameFunc: (item: any) => item.label || item.value,\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 value: {\n type: \"string\",\n hidden: (_ps: any, _ctx: any, { item }: any) =>\n item.type !== \"option\",\n },\n label: \"string\",\n options: {\n type: \"array\",\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.value,\n fields: {\n value: \"string\",\n label: \"string\",\n },\n },\n },\n },\n },\n defaultValue: [\n {\n value: \"option1\",\n label: \"Option 1\",\n type: \"option\",\n },\n {\n value: \"option2\",\n label: \"Option 2\",\n type: \"option\",\n },\n ],\n },\n\n useChildren: {\n displayName: \"Use slot\",\n type: \"boolean\",\n defaultValueHint: false,\n advanced: true,\n description:\n \"Instead of configuring a list of options, customize the contents of the Select by dragging and dropping options in the outline/canvas, inside the 'children' slot. Lets you use any content or formatting within the Options, and also use Option Groups.\",\n },\n\n children: {\n type: \"slot\",\n allowedComponents: [optionComponentName, optionGroupComponentName],\n hidden: (ps) => !ps.useChildren,\n },\n\n placeholder: {\n type: \"slot\",\n defaultValue: \"Select...\",\n },\n suffixIcon: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n open: {\n type: \"boolean\",\n editOnly: true,\n uncontrolledProp: \"defaultOpen\",\n },\n value: {\n type: \"choice\",\n displayName: \"Selected value\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Initial selected option\",\n multiSelect: (ps) => ps.mode === \"multiple\",\n options: (ps) => {\n const options = new Set<string>();\n if (!ps.useChildren) {\n const rec = (op: any) => {\n if (typeof op === \"string\") {\n return [{ value: op, label: op }];\n } else if (\"options\" in op) {\n return (op.options ?? []).flatMap((sub: any) => rec(sub));\n } else {\n return [{ value: op.value, label: op.label || op.value }];\n }\n };\n return (ps.options ?? []).flatMap((o: any) => rec(o));\n } else {\n traverseReactEltTree(ps.children, (elt) => {\n if (\n elt?.type === Select.Option &&\n typeof elt?.props?.value === \"string\"\n ) {\n options.add(elt.props.value);\n }\n });\n }\n return Array.from(options.keys());\n },\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n mode: {\n type: \"choice\",\n options: [\"single\", \"multiple\", \"tags\"],\n defaultValueHint: \"single\",\n description:\n \"Whether to allow single or multiple selection. Tags mode additionally allows selecting options outside the specified set of options.\",\n },\n size: {\n type: \"choice\",\n options: [\"small\", \"middle\", \"large\"],\n },\n disabled: {\n type: \"boolean\",\n defaultValueHint: false,\n },\n showSearch: {\n type: \"boolean\",\n defaultValueHint: false,\n advanced: true,\n },\n status: {\n type: \"choice\",\n options: [\"error\", \"warning\"],\n advanced: true,\n },\n bordered: {\n type: \"boolean\",\n defaultValueHint: true,\n },\n autoFocus: {\n type: \"boolean\",\n displayName: \"Focus automatically\",\n defaultValueHint: false,\n advanced: true,\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [\n { name: \"value\", type: \"string\" },\n { name: \"option\", type: \"object\" },\n ],\n } as any,\n dropdownMatchSelectWidth: {\n type: \"boolean\",\n displayName: \"Should dropdown match trigger button width?\",\n defaultValueHint: true,\n advanced: true,\n },\n allowClear: {\n type: \"boolean\",\n displayName: \"Allow clearing the Select\",\n defaultValueHint: false,\n advanced: true,\n },\n triggerClassName: {\n type: \"class\",\n displayName: \"Trigger styles\",\n noSelf: true,\n selectors: [\n {\n selector: \":component .ant-select-selector.ant-select-selector\",\n label: \"Base\",\n },\n {\n selector: \":component .ant-select-selector:hover\",\n label: \"Hovered\",\n },\n ],\n advanced: true,\n } as any,\n popupScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"popup\",\n } as any,\n popupClassName: {\n type: \"class\",\n displayName: \"Popup styles\",\n selectors: [],\n advanced: true,\n } as any,\n optionClassName: {\n type: \"class\",\n displayName: \"Option styles\",\n noSelf: true,\n selectors: [\n {\n selector: \":popup.ant-select-dropdown .ant-select-item-option\",\n label: \"Base\",\n },\n {\n selector:\n \":popup.ant-select-dropdown .ant-select-item-option-active\",\n label: \"Focused\",\n },\n {\n selector:\n \":popup.ant-select-dropdown .ant-select-item-option-selected\",\n label: \"Selected\",\n },\n ],\n advanced: true,\n } as any,\n placeholderClassName: {\n type: \"class\",\n displayName: \"Placeholder styles\",\n selectors: [\n {\n selector:\n \":component .ant-select-selector .ant-select-selection-placeholder\",\n label: \"Base\",\n },\n ],\n advanced: true,\n } as any,\n defaultStylesClassName: {\n type: \"themeResetClass\",\n } as any,\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n },\n ...({ trapsSelection: true } as any),\n importPath: \"@plasmicpkgs/antd5/skinny/registerSelect\",\n importName: \"AntdSelect\",\n });\n\n registerComponentHelper(loader, AntdOption, {\n name: optionComponentName,\n displayName: \"Option\",\n parentComponentName: selectComponentName,\n props: {\n children: {\n type: \"slot\",\n defaultValue: \"Option\",\n ...({ mergeWithParent: true } as any),\n },\n value: {\n type: \"string\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerSelect\",\n importName: \"AntdOption\",\n });\n\n registerComponentHelper(loader, AntdOptionGroup, {\n name: optionGroupComponentName,\n displayName: \"Option Group\",\n parentComponentName: selectComponentName,\n props: {\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"component\",\n name: \"plasmic-antd5-option\",\n props: {\n value: \"option1\",\n children: {\n type: \"text\",\n value: \"Option 1\",\n },\n },\n },\n {\n type: \"component\",\n name: \"plasmic-antd5-option\",\n props: {\n value: \"option2\",\n children: {\n type: \"text\",\n value: \"Option 1\",\n },\n },\n },\n ],\n },\n label: {\n type: \"slot\",\n defaultValue: \"Group label\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerSelect\",\n importName: \"AntdOptionGroup\",\n });\n}\n","import { usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport { CanvasComponentProps } from \"@plasmicapp/host/registerComponent\";\nimport { Form } from \"antd\";\nimport type { FormItemProps } from \"antd/es/form/FormItem\";\nimport React, { cloneElement, isValidElement } from \"react\";\nimport { mergeProps, reactNodeToString } from \"../react-utils\";\nimport { ensureArray, get } from \"../utils\";\nimport {\n CommonFormControlContextData,\n FieldEntity,\n FormLayoutContext,\n InternalFormInstanceContext,\n PathContext,\n useFormInstanceMaybe,\n useFormItemFullName,\n useFormItemRelativeName,\n} from \"./contexts\";\n\nconst FormItem = Form.Item;\n\nexport interface FormItemControlContextData\n extends CommonFormControlContextData {\n parentFormItemPath: (string | number)[];\n status?: ReturnType<typeof Form.Item.useStatus>;\n}\n\ninterface CuratedFieldData {\n status: string | undefined;\n // path: (string | number)[];\n // errors: string[];\n // warnings: string[];\n // value: any;\n // trigger: (x: any) => void;\n}\n\nexport interface InternalFormItemProps\n extends Omit<FormItemProps, \"rules\" | \"name\">,\n CanvasComponentProps<FormItemControlContextData> {\n rules?: PlasmicRule[];\n description?: React.ReactNode;\n noLabel?: boolean;\n hideValidationMessage?: boolean;\n customizeProps?: (\n fieldData: CuratedFieldData,\n props: InternalFormItemProps\n ) => FormItemProps;\n alignLabellessWithControls?: boolean;\n name?: string;\n}\n\ninterface PlasmicRule {\n ruleType:\n | \"enum\"\n | \"len\"\n | \"max\"\n | \"min\"\n | \"regex\"\n | \"required\"\n | \"whitespace\"\n | \"advanced\";\n length?: number;\n pattern?: string;\n custom?: (...args: any[]) => any;\n options?: { value: any }[];\n message?: string;\n}\n\nfunction plasmicRulesToAntdRules(\n plasmicRules: PlasmicRule[],\n label: string | undefined\n) {\n const effectiveLabel = label || \"This field\";\n const rules: FormItemProps[\"rules\"] = [];\n for (const plasmicRule of plasmicRules) {\n switch (plasmicRule.ruleType) {\n case \"enum\":\n rules.push({\n type: \"enum\",\n enum: plasmicRule.options?.map((opt) => opt.value) ?? [],\n message:\n plasmicRule.message ?? `${effectiveLabel} must be a valid value`,\n });\n break;\n case \"required\":\n rules.push({\n required: true,\n message: plasmicRule.message ?? `${effectiveLabel} is required`,\n });\n break;\n case \"regex\":\n rules.push({\n pattern: new RegExp(plasmicRule.pattern ?? \"\"),\n message:\n plasmicRule.message ?? `${effectiveLabel} must be a valid value`,\n });\n break;\n case \"whitespace\":\n rules.push({\n whitespace: true,\n message: plasmicRule.message ?? `${effectiveLabel} is required`,\n });\n break;\n case \"min\":\n rules.push({\n [plasmicRule.ruleType]: plasmicRule.length,\n message:\n plasmicRule.message ??\n `${effectiveLabel} must be at least ${plasmicRule.length} characters`,\n });\n break;\n case \"max\":\n rules.push({\n [plasmicRule.ruleType]: plasmicRule.length,\n message:\n plasmicRule.message ??\n `${effectiveLabel} must be at most ${plasmicRule.length} characters`,\n });\n break;\n case \"advanced\":\n rules.push({\n validator: (...args) =>\n plasmicRule.custom?.apply(null, args)\n ? Promise.resolve()\n : Promise.reject(),\n message: plasmicRule.message,\n });\n }\n }\n return rules;\n}\n\nexport function FormItemWrapper(props: InternalFormItemProps) {\n const {\n rules: plasmicRules,\n description,\n noLabel,\n name,\n hideValidationMessage,\n customizeProps,\n setControlContextData,\n alignLabellessWithControls = true,\n ...rest\n } = props;\n const relativeFormItemName = useFormItemRelativeName(name);\n const fullFormItemName = useFormItemFullName(name);\n const pathCtx = React.useContext(PathContext);\n const fieldEntity = React.useRef<FieldEntity>({\n preserve: props.preserve ?? true,\n fullPath: pathCtx.fullPath,\n name,\n }).current;\n const bestEffortLabel =\n (!noLabel && reactNodeToString(props.label)) ||\n ensureArray(props.name).slice(-1)[0];\n const rules = plasmicRules\n ? plasmicRulesToAntdRules(\n plasmicRules,\n typeof bestEffortLabel === \"number\"\n ? \"\" + bestEffortLabel\n : bestEffortLabel\n )\n : undefined;\n const layoutContext = React.useContext(FormLayoutContext);\n const inCanvas = !!usePlasmicCanvasContext();\n const {\n fireOnValuesChange,\n forceRemount,\n registerField,\n initialValues,\n internalFieldCtx,\n } = React.useContext(InternalFormInstanceContext) ?? {};\n if (inCanvas) {\n const form = useFormInstanceMaybe();\n const prevPropValues = React.useRef({\n initialValue: props.initialValue,\n name: props.name,\n });\n props.setControlContextData?.({\n internalFieldCtx,\n formInstance: form,\n parentFormItemPath: pathCtx.fullPath,\n layout: layoutContext,\n });\n React.useEffect(() => {\n if (prevPropValues.current.name !== props.name) {\n forceRemount?.();\n }\n if (\n !fullFormItemName ||\n get(initialValues, fullFormItemName) != null ||\n props.initialValue == null\n ) {\n // this field value is set at the form level\n return;\n }\n form?.setFieldValue(fullFormItemName, props.initialValue);\n prevPropValues.current.initialValue = props.initialValue;\n fireOnValuesChange?.();\n }, [\n form,\n props.initialValue,\n JSON.stringify(pathCtx.fullPath),\n props.name,\n props.preserve,\n ]);\n }\n React.useEffect(() => {\n fieldEntity.fullPath = [\n ...pathCtx.fullPath,\n ...(props.name != null ? [props.name] : []),\n ];\n fieldEntity.name = props.name;\n fieldEntity.preserve = props.preserve ?? true;\n }, [pathCtx.fullPath, props.name, props.preserve]);\n React.useEffect(() => {\n const unregister = registerField?.(fieldEntity);\n return () => unregister?.();\n }, []);\n return (\n <FormItem\n {...rest}\n label={noLabel ? undefined : props.label}\n name={relativeFormItemName}\n rules={rules}\n extra={description}\n help={hideValidationMessage ? \"\" : props.help}\n colon={noLabel ? false : undefined}\n valuePropName={deriveValuePropName(props)}\n trigger={deriveOnChangePropName(props)}\n // If in horizontal mode and no label, then we align the content\n // with the rest of the controls in the grid\n // if alignLabellessWithControls is true\n wrapperCol={\n layoutContext?.layout === \"horizontal\" &&\n noLabel &&\n alignLabellessWithControls &&\n layoutContext.labelSpan\n ? { offset: layoutContext.labelSpan }\n : undefined\n }\n >\n <FormItemForwarder formItemProps={props} />\n </FormItem>\n );\n}\n\n/**\n * Derive the valuePropName to use, if the wrapped child has designated\n * one via its Component.__plasmicFormFieldMeta?.valueProp.\n */\nfunction deriveValuePropName(props: InternalFormItemProps): string | undefined {\n if (props.valuePropName) {\n // Always prefer an explicitly specified valuePropName\n return props.valuePropName;\n }\n\n const valueProps = (\n React.Children.map(props.children as any, (child) => {\n if (React.isValidElement(child)) {\n const childType = child.type;\n if (childType) {\n const x = (childType as any).__plasmicFormFieldMeta?.valueProp;\n if (x) {\n return x as string;\n }\n // Hard-coding \"isChecked\" for Plume checkbox / switch\n const plumeType = (childType as any).__plumeType;\n if (\n plumeType &&\n (plumeType === \"checkbox\" || plumeType === \"switch\")\n ) {\n return \"isChecked\";\n }\n }\n }\n return undefined;\n }) ?? []\n ).filter((x: any): x is string => !!x);\n if (valueProps.length > 0) {\n return valueProps[0];\n }\n return undefined;\n}\n\n/**\n * Derive the onChange prop to use, if the wrapped child has designated\n * one via its Component.__plasmicFormFieldMeta?.valueProp.\n */\nfunction deriveOnChangePropName(\n props: InternalFormItemProps\n): string | undefined {\n if (props.trigger) {\n // Always prefer an explicitly specified valuePropName\n return props.trigger;\n }\n\n const triggerProps = (\n React.Children.map(props.children as any, (child) => {\n if (React.isValidElement(child)) {\n const childType = child.type;\n if (childType) {\n const x = (childType as any).__plasmicFormFieldMeta?.onChangeProp;\n if (x) {\n return x as string;\n }\n }\n }\n return undefined;\n }) ?? []\n ).filter((x: any): x is string => !!x);\n if (triggerProps.length > 0) {\n return triggerProps[0];\n }\n return undefined;\n}\n\nfunction FormItemForwarder({ formItemProps, ...props }: any) {\n const status = Form.Item.useStatus();\n const internalFormCtx = React.useContext(InternalFormInstanceContext);\n // const value = props[formItemProps.valuePropName ?? \"value\"];\n // const trigger = props[formItemProps.trigger ?? \"onChange\"];\n const data: CuratedFieldData = {\n status: status.status,\n };\n props.setControlContextData?.({\n internalFormCtx,\n status,\n });\n return React.Children.map(formItemProps.children, (child, i) => {\n if (i === 0 && isValidElement(child)) {\n let newProps = {\n name: formItemProps.name,\n ...(child.props ?? {}),\n ...props,\n __plasmicFormField: true,\n };\n if (formItemProps.customizeProps) {\n newProps = mergeProps(\n newProps,\n formItemProps.customizeProps(data, newProps)\n );\n }\n return cloneElement(child, newProps);\n } else {\n return child;\n }\n });\n}\n","import {\n deriveFieldConfigs,\n ManyRowsResult,\n normalizeData,\n SingleRowResult,\n TableSchema,\n usePlasmicDataOp,\n} from \"@plasmicapp/data-sources\";\nimport { Input, InputNumber } from \"antd\";\nimport React from \"react\";\nimport { AntdCheckbox } from \"../registerCheckbox\";\nimport { AntdDatePicker } from \"../registerDatePicker\";\nimport { AntdRadioGroup } from \"../registerRadio\";\nimport { AntdSelect } from \"../registerSelect\";\nimport { ErrorBoundary, omit, usePrevious } from \"../utils\";\nimport {\n FormRefActions,\n FormWrapper,\n FormWrapperProps,\n InputType,\n SchemaFormContext,\n SimplifiedFormItemsProp,\n} from \"./Form\";\nimport { FormItemWrapper } from \"./FormItem\";\n\nexport function deriveFormFieldConfigs(\n dataFormItems: SimplifiedFormItemsProp[],\n schema: TableSchema,\n data: any\n) {\n return deriveFieldConfigs<SimplifiedFormItemsProp>(\n dataFormItems,\n schema,\n (field) => ({\n inputType: InputType.Text,\n ...(field && {\n key: field.id,\n fieldId: field.id,\n label: field.label ?? field.id,\n name: field.id,\n inputType:\n field.type === \"string\"\n ? InputType.Text\n : field.type === \"number\"\n ? InputType.Number\n : field.type === \"boolean\"\n ? InputType.Checkbox\n : InputType.Text, //missing date and date-time\n initialValue: data ? data[field.id] : undefined,\n }),\n })\n );\n}\n\nfunction useFormItemDefinitions(\n rawData:\n | (Partial<SingleRowResult | ManyRowsResult> & {\n error?: Error;\n isLoading?: boolean;\n })\n | undefined,\n props: React.ComponentProps<typeof FormWrapper>\n) {\n const { mode, dataFormItems, setControlContextData } = props;\n\n return React.useMemo(() => {\n const data = rawData && normalizeData(rawData);\n const schema = data && data?.schema;\n if (\n mode !== \"simplified\" ||\n !rawData ||\n rawData.isLoading ||\n rawData.error ||\n !data ||\n !schema ||\n !data.data\n ) {\n return undefined;\n }\n const row = data.data.length > 0 ? data.data[0] : undefined;\n return deriveFormFieldConfigs(dataFormItems ?? [], schema, row);\n }, [mode, setControlContextData, dataFormItems, rawData]);\n}\n\nconst useRawData = (props: FormWrapperProps) => {\n const rawData = usePlasmicDataOp(props.data);\n return props.data ? rawData : undefined;\n};\n\nexport const SchemaForm = React.forwardRef(\n (props: FormWrapperProps, ref: React.Ref<FormRefActions>) => {\n const [remountKey, setRemountKey] = React.useState(0);\n const forceRemount = React.useCallback(\n () => setRemountKey((k) => k + 1),\n [setRemountKey]\n );\n const wrapperRef = React.useRef<FormRefActions>(null);\n React.useImperativeHandle(ref, () =>\n wrapperRef.current ? { ...wrapperRef.current } : ({} as FormRefActions)\n );\n\n const rawData = useRawData(props);\n const formItemDefinitions = useFormItemDefinitions(rawData, props);\n React.useEffect(() => {\n if (rawData && !rawData.isLoading) {\n forceRemount();\n }\n }, [rawData]);\n const previousDataOp = usePrevious(props.data);\n React.useEffect(() => {\n if (\n (previousDataOp == null && props.data != null) ||\n (previousDataOp != null && props.data == null)\n ) {\n forceRemount();\n }\n }, [props.data]);\n const { dataFormItems, formItems, data, ...rest } = props;\n const actualFormItems =\n props.mode === \"simplified\" && formItemDefinitions\n ? formItemDefinitions.mergedFields\n : data\n ? dataFormItems\n : formItems;\n const previousFormItems = React.useRef<SimplifiedFormItemsProp[]>([]);\n React.useEffect(() => {\n if (!(rawData && rawData.isLoading)) {\n previousFormItems.current = actualFormItems ?? [];\n }\n }, [rawData, actualFormItems]);\n if (props.mode === \"simplified\" && rawData && \"error\" in rawData) {\n return <div>Error when fetching data: {rawData.error.message}</div>;\n }\n const childrenNode =\n props.mode === \"simplified\" ? (\n <>\n {(actualFormItems ?? []).map((formItem) => (\n <ErrorBoundary\n canvasEnvId={(props as any)[\"data-plasmic-canvas-envs\"]}\n message={`Error rendering input for ${\n formItem.label ?? formItem.name ?? \"undefined\"\n }`}\n >\n <FormItemWrapper\n {...omit(formItem, \"key\")}\n noLabel={\n formItem.inputType === InputType.Checkbox || formItem.noLabel\n }\n valuePropName={\n formItem.valuePropName ??\n (formItem.inputType === InputType.Checkbox\n ? \"checked\"\n : undefined)\n }\n style={{ width: \"100%\" }}\n >\n {formItem.inputType === InputType.Text ? (\n <Input />\n ) : formItem.inputType === InputType.Password ? (\n <Input.Password />\n ) : formItem.inputType === InputType.TextArea ? (\n <Input.TextArea />\n ) : formItem.inputType === InputType.Number ? (\n <InputNumber />\n ) : formItem.inputType === InputType.Checkbox ? (\n <AntdCheckbox>{formItem.label}</AntdCheckbox>\n ) : formItem.inputType === InputType.Select ? (\n <AntdSelect options={formItem.options} />\n ) : formItem.inputType === InputType.DatePicker ? (\n <AntdDatePicker showTime={formItem.showTime} />\n ) : formItem.inputType === InputType.RadioGroup ? (\n <AntdRadioGroup\n options={formItem.options}\n optionType={formItem.optionType}\n style={{ padding: \"8px\" }}\n />\n ) : null}\n </FormItemWrapper>\n </ErrorBoundary>\n ))}\n {props.submitSlot}\n </>\n ) : (\n props.children\n );\n const isSchemaForm = props.mode === \"simplified\" && !!props.data;\n const isLoadingData = rawData?.isLoading;\n return (\n <SchemaFormContext.Provider\n value={{\n mergedFields: formItemDefinitions?.mergedFields,\n minimalFullLengthFields: formItemDefinitions?.mergedFields,\n schema: rawData?.schema,\n }}\n >\n <FormWrapper\n key={remountKey}\n {...rest}\n children={childrenNode}\n formItems={\n rawData && rawData.isLoading\n ? previousFormItems.current\n : actualFormItems\n }\n ref={wrapperRef}\n style={\n isSchemaForm && isLoadingData\n ? {\n opacity: 0.5,\n transitionDelay: \"250ms\",\n transition: \"1s\",\n }\n : {}\n }\n />\n {isSchemaForm && isLoadingData && (\n <div\n style={{\n position: \"absolute\",\n width: \"100%\",\n height: \"100%\",\n }}\n />\n )}\n </SchemaFormContext.Provider>\n );\n }\n);\n\nexport { SchemaForm as FormWrapper };\n","import { ActionProps, ControlExtras, PropType } from \"@plasmicapp/host\";\nimport { ArrayType } from \"@plasmicapp/host/registerComponent\";\nimport { Input, InputNumber, Radio } from \"antd\";\nimport React from \"react\";\nimport { AntdCheckbox } from \"../registerCheckbox\";\nimport { AntdDatePicker } from \"../registerDatePicker\";\nimport { AntdRadioGroup } from \"../registerRadio\";\nimport { AntdSelect } from \"../registerSelect\";\nimport { arrayEq } from \"../utils\";\nimport {\n FormWrapperControlContextData,\n FormWrapperProps,\n InputType,\n SimplifiedFormItemsProp,\n} from \"./Form\";\nimport { FormItemControlContextData, InternalFormItemProps } from \"./FormItem\";\nimport { CommonFormControlContextData } from \"./contexts\";\n\nconst mapAntdComponentToInputType = new Map<any, InputType>([\n [Input, InputType.Text],\n [Input.TextArea, InputType.TextArea],\n [Input.Password, InputType.Password],\n [InputNumber, InputType.Number],\n [AntdSelect, InputType.Select],\n [AntdRadioGroup, InputType.RadioGroup],\n [Radio, InputType.Radio],\n [AntdDatePicker, InputType.DatePicker],\n [AntdCheckbox, InputType.Checkbox],\n]);\n\nconst mapPlumeTypeToInputType = new Map<string, InputType>([\n [\"text-input\", InputType.Text],\n [\"select\", InputType.Select],\n [\"checkbox\", InputType.Checkbox],\n [\"switch\", InputType.Checkbox],\n]);\n\nexport const COMMON_ACTIONS = [\n {\n type: \"button-action\" as const,\n label: \"Append new Form Field\",\n onClick: ({ studioOps }: ActionProps<any>) => {\n studioOps.appendToSlot(\n {\n type: \"component\",\n name: \"plasmic-antd5-form-item\",\n },\n \"children\"\n );\n },\n hidden: (props: any) => props.mode !== \"advanced\",\n },\n // {\n // type: \"button-action\" as const,\n // label: \"Append new Form Field Group\",\n // onClick: ({ studioOps }: ActionProps<any>) => {\n // studioOps.appendToSlot(\n // {\n // type: \"component\",\n // name: \"plasmic-antd5-form-group\",\n // },\n // \"children\"\n // );\n // },\n // },\n // {\n // type: \"button-action\" as const,\n // label: \"Append new Form List\",\n // onClick: ({ studioOps }: ActionProps<any>) => {\n // studioOps.appendToSlot(\n // {\n // type: \"component\",\n // name: \"plasmic-antd5-form-list\",\n // },\n // \"children\"\n // );\n // },\n // },\n];\n\nexport function getDefaultValueHint(field: keyof SimplifiedFormItemsProp) {\n return (\n _props: any,\n contextData:\n | FormWrapperControlContextData\n | FormItemControlContextData\n | null,\n { item }: any\n ): any => {\n if (!contextData || !(\"mergedFields\" in contextData)) {\n return undefined;\n }\n if (item?.fieldId) {\n const fieldSetting = contextData.mergedFields?.find(\n (f) => f.fieldId === item.fieldId\n );\n return fieldSetting?.[field];\n }\n return undefined;\n };\n}\n\nexport function commonFormItemProps(\n usage: \"simplified-form-item\"\n): Record<string, PropType<InternalFormItemProps>>;\nexport function commonFormItemProps(\n usage: \"advanced-form-item\"\n): Record<string, PropType<FormWrapperProps>>;\nexport function commonFormItemProps(\n usage: \"simplified-form-item\" | \"advanced-form-item\"\n):\n | Record<string, PropType<FormWrapperProps>>\n | Record<string, PropType<InternalFormItemProps>> {\n const getFormItemProps = (\n ps: FormWrapperProps | InternalFormItemProps,\n _ctx: any,\n { item }: { item?: SimplifiedFormItemsProp }\n ): InternalFormItemProps | undefined => {\n if (usage === \"simplified-form-item\") {\n return item;\n } else {\n return ps as InternalFormItemProps;\n }\n };\n\n return {\n name: {\n type: \"string\" as const,\n required: true,\n displayName: \"Field key\",\n description: \"Key name for this field value in the submitted form data.\",\n validator: (\n value: string,\n _ps: any,\n ctx: CommonFormControlContextData | null\n ) => {\n let currFullPath: (string | number)[] = [];\n if (usage === \"simplified-form-item\") {\n currFullPath = [value];\n } else {\n const formItemCtx = ctx as FormItemControlContextData | null;\n currFullPath = [...(formItemCtx?.parentFormItemPath ?? []), value];\n }\n const nameCounter = (\n ctx?.internalFieldCtx?.registeredFields ?? []\n ).filter((formItem) => arrayEq(formItem.fullPath, currFullPath)).length;\n return nameCounter === 1\n ? true\n : `Repeated form field key: ${currFullPath.join(\" → \")}`;\n },\n defaultValueHint: getDefaultValueHint(\"name\"),\n },\n initialValue: {\n type: \"dynamic\",\n control: (\n ps: FormWrapperProps | InternalFormItemProps,\n ctx: FormWrapperControlContextData | null,\n {\n item,\n path,\n }: { item: SimplifiedFormItemsProp; path: (string | number)[] }\n ) => {\n let inputType = InputType.Unknown;\n if (usage === \"simplified-form-item\") {\n inputType = item.inputType;\n if (!(ps as FormWrapperProps).data) {\n inputType = item.inputType;\n } else if (path != null && typeof path[1] === \"number\") {\n inputType =\n ctx?.mergedFields?.[path[1]].inputType ?? InputType.Unknown;\n }\n } else {\n if (\n !React.isValidElement(ps.children) ||\n typeof ps.children.type === \"string\"\n ) {\n inputType = InputType.Unknown;\n } else {\n if (mapAntdComponentToInputType.has(ps.children.type)) {\n inputType =\n mapAntdComponentToInputType.get(ps.children.type) ??\n InputType.Unknown;\n } else if (\"__plumeType\" in ps.children.type) {\n inputType =\n mapPlumeTypeToInputType.get(\n ps.children.type.__plumeType as string\n ) ?? InputType.Unknown;\n }\n }\n }\n if (\n [\n InputType.Text,\n InputType.TextArea,\n InputType.Password,\n InputType.Select,\n InputType.RadioGroup,\n ].includes(inputType)\n ) {\n return {\n type: \"string\",\n defaultValueHint: getDefaultValueHint(\"initialValue\"),\n };\n } else if (InputType.Number === inputType) {\n return {\n type: \"number\",\n defaultValueHint: getDefaultValueHint(\"initialValue\"),\n };\n } else if (InputType.Checkbox === inputType) {\n return {\n type: \"boolean\",\n defaultValueHint: getDefaultValueHint(\"initialValue\"),\n };\n } else if (InputType.DatePicker === inputType) {\n return {\n type: \"dateString\",\n defaultValueHint: getDefaultValueHint(\"initialValue\"),\n };\n } else {\n return {\n type: \"exprEditor\",\n defaultValueHint: getDefaultValueHint(\"initialValue\"),\n };\n }\n },\n } as any,\n rules: {\n displayName: \"Validation rules\",\n type: \"formValidationRules\" as const,\n } as any,\n valuePropName: {\n type: \"string\" as const,\n advanced: true,\n defaultValueHint: \"value\",\n description:\n \"The prop name for specifying the value of the form control component\",\n },\n trigger: {\n type: \"string\" as const,\n displayName: \"Trigger prop name\",\n advanced: true,\n defaultValueHint: \"onChange\",\n description:\n \"The prop name of event handler that is called when value is changed\",\n },\n noLabel: {\n type: \"boolean\" as const,\n advanced: true,\n },\n alignLabellessWithControls: {\n type: \"boolean\" as const,\n displayName: \"Align with controls?\",\n description: \"Aligns the content with form controls in the grid\",\n hidden: (\n ps: any,\n ctx: CommonFormControlContextData | null,\n extras: ControlExtras\n ) => {\n const formItem = getFormItemProps(ps, ctx, extras);\n return !formItem?.noLabel || ctx?.layout?.layout !== \"horizontal\";\n },\n defaultValueHint: true,\n },\n colon: {\n type: \"boolean\" as const,\n defaultValueHint: true,\n advanced: true,\n hidden: () => true,\n },\n labelAlign: {\n type: \"choice\" as const,\n options: [\"left\", \"right\"],\n advanced: true,\n hidden: (\n ps: any,\n ctx: CommonFormControlContextData | null,\n extras: ControlExtras\n ) => {\n const formItem = getFormItemProps(ps, ctx, extras);\n return !!formItem?.noLabel || ctx?.layout?.layout !== \"horizontal\";\n },\n },\n hidden: {\n type: \"boolean\" as const,\n defaultValueHint: getDefaultValueHint(\"hidden\"),\n },\n validateTrigger: {\n displayName: \"Validate when\",\n type: \"choice\",\n options: [\n { value: \"onBlur\", label: \"a field loses focus\" },\n { value: \"onChange\", label: \"a field changes\" },\n { value: \"onSubmit\", label: \"the form is submitted\" },\n ],\n multiSelect: true,\n defaultValueHint: [\"onChange\"],\n advanced: true,\n },\n shouldUpdate: {\n type: \"boolean\" as const,\n advanced: true,\n displayName: \"Always re-render\",\n description:\n \"Form fields normally only re-render when the corresponding form value changes, for performance. This forces it to always re-render.\",\n },\n dependencies: {\n type: \"array\" as const,\n advanced: true,\n displayName: \"Dependencies\",\n description:\n \"Form fields can depend on other form fields. This forces it to re-evaluate the validation rules when the other form fields changes.\",\n },\n hideValidationMessage: {\n type: \"boolean\" as const,\n displayName: \"Hide validation message?\",\n description: \"If true, will hide the validation error message\",\n defaultValueHint: false,\n advanced: true,\n },\n customizeProps: {\n type: \"function\" as const,\n description:\n \"Customize the props passed into the wrapped field component. Takes the current status ('success', 'warning', 'error', or 'validating').)\",\n argNames: [\"fieldData\"],\n argValues: (_ps: any, ctx: FormItemControlContextData) => [\n {\n status: ctx?.status?.status,\n },\n ],\n advanced: true,\n } as any,\n noStyle: {\n type: \"boolean\" as const,\n displayName: \"Field control only\",\n description:\n \"Don't render anything but the field control - so no label, help text, validation error, etc.\",\n advanced: true,\n },\n preserve: {\n type: \"boolean\" as const,\n advanced: true,\n defaultValueHint: true,\n description: \"Keep field value even when field removed.\",\n },\n };\n}\n\nexport const commonSimplifiedFormArrayItemType = (\n propName: \"formItems\" | \"dataFormItems\"\n): ArrayType<FormWrapperProps>[\"itemType\"] => ({\n type: \"object\",\n fields: {\n label: {\n type: \"string\",\n defaultValueHint: getDefaultValueHint(\"label\"),\n },\n inputType: {\n type: \"choice\",\n options: Object.values(InputType).filter(\n (inputType) =>\n ![\n InputType.Option,\n InputType.OptionGroup,\n InputType.Radio,\n InputType.Unknown,\n ].includes(inputType)\n ),\n defaultValue: InputType.Text,\n defaultValueHint: getDefaultValueHint(\"inputType\"),\n },\n options: {\n type: \"array\",\n itemType: {\n type: \"object\",\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 hidden: (ps, _ctx, { path }) => {\n if (\n ps[propName]?.[path[1] as number]?.inputType !==\n InputType.Select\n ) {\n return true;\n }\n return false;\n },\n },\n label: \"string\",\n value: {\n type: \"string\",\n hidden: (ps, _ctx, { path, item }) => {\n if (\n ps[propName]?.[path[1] as number]?.inputType !==\n InputType.Select\n ) {\n return false;\n }\n return item.type !== \"option\";\n },\n },\n options: {\n type: \"array\",\n itemType: {\n type: \"object\",\n nameFunc: (item: any) => item.label || item.value,\n fields: {\n value: \"string\",\n label: \"string\",\n },\n },\n hidden: (ps, _ctx, { path, item }) => {\n if (\n ps[propName]?.[path[1] as number]?.inputType !==\n InputType.Select\n ) {\n return true;\n }\n return item.type !== \"option-group\";\n },\n },\n },\n nameFunc: (item) => item?.label,\n },\n hidden: (_ps: any, _ctx: any, { item }) =>\n ![InputType.Select, InputType.RadioGroup].includes(item.inputType),\n },\n optionType: {\n type: \"choice\",\n options: [\n { value: \"default\", label: \"Radio\" },\n { value: \"button\", label: \"Button\" },\n ],\n hidden: (_ps: any, _ctx: any, { item }) =>\n InputType.RadioGroup !== item.inputType,\n defaultValueHint: \"Radio\",\n displayName: \"Option Type\",\n },\n showTime: {\n type: \"boolean\",\n displayName: \"Show Time\",\n description: \"To provide an additional time selection\",\n hidden: (_ps: any, _ctx: any, { item }) =>\n ![InputType.DatePicker].includes(item.inputType),\n },\n ...commonFormItemProps(\"simplified-form-item\"),\n },\n nameFunc: (item) => item.fieldId ?? item.label ?? item.name,\n});\n","import React from \"react\";\nimport { PathContext } from \"./contexts\";\n\nexport interface FormGroupProps {\n name: string;\n children: React.ReactNode;\n}\n\nexport function FormGroup(props: FormGroupProps) {\n const pathCtx = React.useContext(PathContext);\n return (\n <PathContext.Provider\n value={{\n relativePath: [...pathCtx.relativePath, props.name],\n fullPath: [...pathCtx.fullPath, props.name],\n }}\n >\n {props.children}\n </PathContext.Provider>\n );\n}\n","import {\n DataProvider,\n repeatedElement,\n usePlasmicCanvasContext,\n} from \"@plasmicapp/host\";\nimport { Form } from \"antd\";\nimport type { FormListOperation, FormListProps } from \"antd/es/form/FormList\";\nimport React from \"react\";\nimport {\n InternalFormInstanceContext,\n PathContext,\n useFormInstanceMaybe,\n useFormItemFullName,\n useFormItemRelativeName,\n} from \"./contexts\";\n\nconst FormList = Form.List;\n\ntype FormListWrapperProps = Omit<FormListProps, \"children\"> & {\n children: React.ReactNode;\n};\n\ntype FormListRenderFuncParams = Parameters<FormListProps[\"children\"]>;\n\nexport const FormListWrapper = React.forwardRef(function FormListWrapper(\n props: FormListWrapperProps,\n ref: React.Ref<FormListOperation>\n) {\n const relativeFormItemName = useFormItemRelativeName(props.name);\n const fullFormItemName = useFormItemFullName(props.name);\n const operationsRef = React.useRef<FormListRenderFuncParams | undefined>(\n undefined\n );\n React.useImperativeHandle(\n ref,\n () => ({\n add(defaultValue, insertIndex) {\n if (operationsRef.current) {\n const { add } = operationsRef.current[1];\n add(defaultValue, insertIndex);\n }\n },\n remove(index) {\n if (operationsRef.current) {\n const { remove } = operationsRef.current[1];\n remove(index);\n }\n },\n move(from, to) {\n if (operationsRef.current) {\n const { move } = operationsRef.current[1];\n move(from, to);\n }\n },\n }),\n [operationsRef]\n );\n const inCanvas = !!usePlasmicCanvasContext();\n if (inCanvas) {\n const form = useFormInstanceMaybe();\n const prevPropValues = React.useRef({\n initialValue: props.initialValue,\n name: props.name,\n });\n const { fireOnValuesChange, forceRemount } =\n React.useContext(InternalFormInstanceContext) ?? {};\n React.useEffect(() => {\n if (prevPropValues.current.name !== props.name) {\n forceRemount?.();\n }\n if (fullFormItemName) {\n form?.setFieldValue(fullFormItemName, props.initialValue);\n prevPropValues.current.initialValue = props.initialValue;\n fireOnValuesChange?.();\n }\n }, [JSON.stringify(props.initialValue), JSON.stringify(fullFormItemName)]);\n }\n return (\n <FormList {...props} name={relativeFormItemName ?? []}>\n {(...args) => {\n operationsRef.current = args;\n return args[0].map((field, index) => (\n <PathContext.Provider\n value={{\n relativePath: [field.name],\n fullPath: [...(fullFormItemName ?? []), field.name],\n }}\n >\n <DataProvider name={\"currentField\"} data={field}>\n <DataProvider name={\"currentFieldIndex\"} data={index}>\n {repeatedElement(index, props.children)}\n </DataProvider>\n </DataProvider>\n </PathContext.Provider>\n ));\n }}\n </FormList>\n );\n});\n","import { buttonComponentName, formComponentName } from \"../names\";\nimport { Registerable, registerComponentHelper } from \"../utils\";\nimport { formHelpers, FormWrapperProps, InputType } from \"./Form\";\nimport { FormWrapper } from \"./SchemaForm\";\nimport {\n commonSimplifiedFormArrayItemType,\n COMMON_ACTIONS,\n} from \"./sharedRegistration\";\n\nconst colProp = (\n displayName: string,\n defaultValue?: object,\n description?: string\n) =>\n ({\n type: \"object\",\n displayName: displayName,\n advanced: true,\n fields: {\n span: {\n type: \"number\",\n displayName: \"Width\",\n description:\n \"The number of grid columns to span in width (out of 24 columns total)\",\n min: 1,\n max: 24,\n },\n offset: {\n type: \"number\",\n displayName: \"Offset\",\n description:\n \"Number of grid columns to skip from the left (out of 24 columns total)\",\n min: 0,\n max: 23,\n },\n horizontalOnly: {\n type: \"boolean\",\n displayName: \"Horizontal only\",\n description: \"Only apply when form layout is horizontal\",\n },\n },\n nameFunc: () => `Edit ${displayName}`,\n description,\n defaultValue: defaultValue,\n } as const);\n\nexport const formTypeDescription = `\n You can create form with two different behaviors:\n \\n\\n\n 1. Create a new entry: The form will be created empty and it will create a new row when submitted.\n 2. Update an entry: The form will be pre-filled with the row values and it will update the table entry when submitted.\n \\n\\n\n For both options, you can customize later.\n`;\n\nexport function registerForm(loader?: Registerable) {\n registerComponentHelper(loader, FormWrapper, {\n name: formComponentName,\n displayName: \"Form\",\n description:\n \"[Learn how to use forms](https://docs.plasmic.app/learn/forms/)\",\n defaultStyles: {\n layout: \"vbox\",\n alignItems: \"flex-start\",\n },\n props: {\n mode: {\n type: \"controlMode\",\n defaultValue: \"simplified\",\n } as any,\n data: {\n type: \"formDataConnection\",\n disableDynamicValue: true,\n disableLinkToProp: true,\n hidden: (ps: FormWrapperProps) => ps.mode !== \"simplified\" || !ps.data,\n invariantable: true,\n } as any,\n formItems: {\n displayName: \"Fields\",\n type: \"array\",\n itemType: commonSimplifiedFormArrayItemType(\"formItems\"),\n defaultValue: [\n {\n label: \"Name\",\n name: \"name\",\n inputType: InputType.Text,\n },\n {\n label: \"Message\",\n name: \"message\",\n inputType: InputType.TextArea,\n },\n ],\n hidden: (ps) => {\n if (ps.mode === \"advanced\") {\n return true;\n }\n return !!ps.data;\n },\n invariantable: true,\n },\n /**\n * dataFormItems are used to expand the form items from schema forms.\n * We can't use the formItems prop because it has a default value. Therefore, if we unset the formItems prop,\n * we would end up with the default value of formItems + schema form items.\n * Ideally, we would need to support dynamic default value.\n */\n dataFormItems: {\n displayName: \"Data Fields\",\n type: \"array\",\n itemType: commonSimplifiedFormArrayItemType(\"dataFormItems\"),\n hidden: (ps) => {\n if (ps.mode === \"advanced\") {\n return true;\n }\n return !ps.data;\n },\n unstable__keyFunc: (x) => x.key,\n unstable__minimalValue: (ps, contextData) => {\n return ps.data ? contextData?.minimalFullLengthFields : undefined;\n },\n unstable__canDelete: (item, ps, ctx) => {\n if (ps.mode !== \"simplified\") {\n return true;\n }\n if (!ctx?.schema) {\n // still loading...\n return false;\n }\n if (\n item.fieldId &&\n ctx.schema.fields.some((f) => f.id === item.fieldId)\n ) {\n return false;\n }\n return true;\n },\n invariantable: true,\n },\n submitSlot: {\n type: \"slot\",\n hidden: () => true,\n defaultValue: {\n type: \"component\",\n name: buttonComponentName,\n props: {\n type: \"primary\",\n submitsForm: true,\n children: {\n type: \"text\",\n value: \"Submit\",\n },\n },\n },\n ...{\n mergeWithParent: () => true,\n hiddenMergedProps: (ps: any) => !ps.mode,\n },\n },\n children: {\n type: \"slot\",\n hidden: (props) => props.mode !== \"advanced\",\n },\n initialValues: {\n displayName: \"Initial field values\",\n type: \"object\",\n } as any,\n layout: {\n displayName: \"Form layout\",\n type: \"choice\",\n options: [\"horizontal\", \"vertical\", \"inline\"],\n defaultValue: \"vertical\",\n },\n labelAlign: {\n type: \"choice\",\n options: [\"left\", \"right\"],\n defaultValueHint: \"right\",\n advanced: true,\n hidden: (ps) => ps.layout !== \"horizontal\",\n },\n labelCol: colProp(\n \"Label layout\",\n {\n span: 8,\n horizontalOnly: true,\n },\n \"Set the width and offset of the labels\"\n ),\n wrapperCol: colProp(\n \"Control layout\",\n {\n span: 16,\n horizontalOnly: true,\n },\n \"Set the width and offset of the form controls\"\n ),\n colon: {\n type: \"boolean\",\n description: `Show a colon after labels by default (only for horizontal layout)`,\n defaultValueHint: true,\n advanced: true,\n hidden: (props) => (props.layout ?? \"horizontal\") !== \"horizontal\",\n },\n requiredMark: {\n displayName: \"Required/optional indicators\",\n type: \"choice\",\n options: [\n {\n value: \"optional\",\n label: \"Indicate optional fields\",\n },\n {\n value: true,\n label: \"Indicate required fields with asterisk\",\n },\n {\n value: false,\n label: \"Show no indicators\",\n },\n ],\n advanced: true,\n defaultValueHint: true,\n },\n extendedOnValuesChange: {\n type: \"eventHandler\",\n displayName: \"On values change\",\n argTypes: [\n {\n name: \"changedValues\",\n type: \"object\",\n },\n {\n name: \"allValues\",\n type: \"object\",\n },\n ],\n },\n onFinish: {\n type: \"eventHandler\",\n displayName: \"On submit\",\n argTypes: [\n {\n name: \"values\",\n type: \"object\",\n },\n ],\n },\n onFinishFailed: {\n // function({ values, errorFields, outOfDate })\n type: \"eventHandler\",\n displayName: \"On invalid submit\",\n argTypes: [\n {\n name: \"data\",\n type: \"object\",\n },\n ],\n },\n validateTrigger: {\n displayName: \"Validate when\",\n type: \"choice\",\n options: [\n { value: \"onBlur\", label: \"a field loses focus\" },\n { value: \"onChange\", label: \"a field changes\" },\n { value: \"onSubmit\", label: \"the form is submitted\" },\n ],\n multiSelect: true,\n defaultValueHint: [\"onChange\"],\n advanced: true,\n },\n autoDisableWhileSubmitting: {\n displayName: \"Auto disable while submitting\",\n type: \"boolean\",\n defaultValueHint: true,\n advanced: true,\n description:\n \"When disabled, it allows the creation of new submissions even while existing submissions are in progress.\",\n },\n onIsSubmittingChange: {\n type: \"eventHandler\",\n displayName: \"On Is Submitting Change\",\n argTypes: [\n {\n name: \"isSubmitting\",\n type: \"boolean\",\n },\n ],\n advanced: true,\n },\n },\n actions: [\n ...COMMON_ACTIONS,\n {\n type: \"form-schema\",\n hidden: (ps: FormWrapperProps) => ps.mode !== \"simplified\" || !!ps.data,\n } as any,\n ],\n states: {\n value: {\n type: \"readonly\",\n variableType: \"object\",\n onChangeProp: \"extendedOnValuesChange\",\n },\n isSubmitting: {\n type: \"readonly\",\n variableType: \"boolean\",\n onChangeProp: \"onIsSubmittingChange\",\n initVal: false,\n },\n },\n componentHelpers: {\n helpers: formHelpers,\n importName: \"formHelpers\",\n importPath: \"@plasmicpkgs/antd5/skinny/Form\",\n },\n refActions: {\n setFieldsValue: {\n displayName: \"Set multiple fields\",\n argTypes: [\n {\n name: \"newValues\",\n displayName: \"New Values\",\n type: \"exprEditor\",\n },\n ],\n },\n setFieldValue: {\n displayName: \"Set field\",\n argTypes: [\n {\n name: \"namePath\",\n displayName: \"Name Path\",\n type: {\n type: \"dataSelector\",\n data: (_, ctx) => {\n if (!ctx?.formInstance) {\n return {};\n }\n return ctx.formInstance.getFieldsValue(true);\n },\n },\n },\n {\n name: \"value\",\n displayName: \"New Value\",\n type: \"exprEditor\",\n },\n ],\n },\n resetFields: {\n displayName: \"Reset fields to initial value\",\n argTypes: [],\n },\n clearFields: {\n displayName: \"Clear fields\",\n argTypes: [],\n },\n validateFields: {\n displayName: \"Validate fields\",\n argTypes: [\n {\n name: \"nameList\",\n displayName: \"Name List\",\n type: \"object\",\n },\n {\n name: \"options\",\n displayName: \"Options\",\n type: \"object\",\n },\n ],\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/SchemaForm\",\n importName: \"FormWrapper\",\n });\n}\n\n// To maintain backward compatibility, we need to continue exporting these components,\n// which were previously imported from \"@plasmicpkgs/antd5/skinny/registerForm.\"\nexport { FormGroup } from \"./FormGroup\";\nexport { FormItemWrapper } from \"./FormItem\";\nexport { FormListWrapper } from \"./FormList\";\nexport { formHelpers, FormWrapper };\n","import { formComponentName, formGroupComponentName } from \"../names\";\nimport { Registerable, registerComponentHelper } from \"../utils\";\nimport { FormGroup } from \"./FormGroup\";\nimport { COMMON_ACTIONS } from \"./sharedRegistration\";\n\nexport function registerFormGroup(loader?: Registerable) {\n registerComponentHelper(loader, FormGroup, {\n name: formGroupComponentName,\n displayName: \"Form Field Group\",\n parentComponentName: formComponentName,\n actions: COMMON_ACTIONS,\n props: {\n name: {\n type: \"string\",\n displayName: \"Form group key\",\n description:\n \"Name of the field key for this group of form fields in the submitted form data.\",\n },\n children: {\n type: \"slot\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/FormGroup\",\n importName: \"FormGroup\",\n });\n}\n","import {\n buttonComponentName,\n checkboxComponentName,\n formComponentName,\n formItemComponentName,\n inputComponentName,\n inputNumberComponentName,\n passwordComponentName,\n radioGroupComponentName,\n selectComponentName,\n switchComponentName,\n textAreaComponentName,\n} from \"../names\";\nimport { Registerable, registerComponentHelper } from \"../utils\";\nimport { FormItemWrapper } from \"./FormItem\";\nimport { commonFormItemProps } from \"./sharedRegistration\";\n\nexport function registerFormItem(loader?: Registerable) {\n registerComponentHelper(loader, FormItemWrapper, {\n name: formItemComponentName,\n displayName: \"Form Field\",\n parentComponentName: formComponentName,\n defaultStyles: {\n marginBottom: \"24px\",\n width: \"stretch\",\n },\n props: {\n label: {\n type: \"slot\",\n defaultValue: {\n type: \"text\",\n value: \"Label\",\n },\n hidden: (ps) => !!ps.noLabel,\n ...({ mergeWithParent: true } as any),\n },\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"component\",\n name: inputComponentName,\n },\n ...({ mergeWithParent: true } as any),\n },\n ...commonFormItemProps(\"advanced-form-item\"),\n },\n importPath: \"@plasmicpkgs/antd5/skinny/FormItem\",\n importName: \"FormItemWrapper\",\n treeLabel: (ps: any) => ps.name,\n templates: {\n Text: {\n props: {\n children: {\n type: \"component\",\n name: inputComponentName,\n },\n },\n },\n \"Long Text\": {\n props: {\n children: {\n type: \"component\",\n name: textAreaComponentName,\n },\n },\n },\n \"Select dropdown\": {\n props: {\n children: {\n type: \"component\",\n name: selectComponentName,\n },\n },\n },\n Number: {\n props: {\n children: {\n type: \"component\",\n name: inputNumberComponentName,\n },\n },\n },\n Checkbox: {\n props: {\n children: {\n type: \"component\",\n name: checkboxComponentName,\n },\n noLabel: true,\n },\n },\n Switch: {\n props: {\n children: {\n type: \"component\",\n name: switchComponentName,\n },\n noLabel: true,\n },\n },\n Radios: {\n props: {\n children: {\n type: \"component\",\n name: radioGroupComponentName,\n },\n },\n },\n Password: {\n props: {\n children: {\n type: \"component\",\n name: passwordComponentName,\n },\n },\n },\n \"Submit button\": {\n props: {\n children: {\n type: \"component\",\n name: buttonComponentName,\n props: {\n type: \"primary\",\n },\n },\n noLabel: true,\n },\n },\n },\n ...({ trapsSelection: true } as any),\n });\n}\n","import {\n formComponentName,\n formItemComponentName,\n formListComponentName,\n} from \"../names\";\nimport { Registerable, registerComponentHelper } from \"../utils\";\nimport { FormListWrapper } from \"./FormList\";\nimport { COMMON_ACTIONS } from \"./sharedRegistration\";\n\nexport function registerFormList(loader?: Registerable) {\n registerComponentHelper(loader, FormListWrapper, {\n name: formListComponentName,\n parentComponentName: formComponentName,\n displayName: \"Form List\",\n actions: COMMON_ACTIONS,\n providesData: true,\n props: {\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"hbox\",\n children: [\n {\n type: \"component\",\n name: formItemComponentName,\n props: {\n name: \"firstName\",\n label: {\n type: \"text\",\n value: \"First name\",\n },\n children: {\n type: \"component\",\n name: \"plasmic-antd5-input\",\n },\n },\n },\n {\n type: \"component\",\n name: formItemComponentName,\n props: {\n name: \"lastName\",\n label: {\n type: \"text\",\n value: \"Last name\",\n },\n children: {\n type: \"component\",\n name: \"plasmic-antd5-input\",\n },\n },\n },\n ],\n },\n ],\n },\n name: {\n type: \"string\",\n defaultValue: \"guests\",\n },\n initialValue: {\n type: \"array\",\n defaultValue: [\n {\n firstName: \"Jane\",\n lastName: \"Doe\",\n },\n {\n firstName: \"John\",\n lastName: \"Smith\",\n },\n ],\n } as any,\n },\n refActions: {\n add: {\n displayName: \"Add an item\",\n argTypes: [\n {\n name: \"defaultValue\",\n displayName: \"Default value\",\n type: \"object\",\n },\n {\n name: \"insertIndex\",\n displayName: \"Insert index\",\n type: \"number\",\n },\n ],\n },\n remove: {\n displayName: \"Remove an item\",\n argTypes: [\n {\n name: \"index\",\n displayName: \"Index\",\n type: \"number\",\n },\n ],\n },\n move: {\n displayName: \"Move field\",\n argTypes: [\n {\n name: \"from\",\n displayName: \"From\",\n type: \"number\",\n },\n {\n name: \"to\",\n displayName: \"To\",\n type: \"number\",\n },\n ],\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/FormList\",\n importName: \"FormListWrapper\",\n });\n}\n","import React from \"react\";\nimport { Avatar } from \"antd\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\nimport { usePlasmicLink } from \"@plasmicapp/host\";\n\nexport function AntdAvatar({\n letters,\n href,\n target,\n ...props\n}: React.ComponentProps<typeof Avatar> & {\n letters?: string;\n href?: string;\n target?: boolean;\n}) {\n const avatar = <Avatar {...props} children={props.children || letters} />;\n const PlasmicLink = usePlasmicLink();\n return href ? (\n <PlasmicLink href={href} target={target ? \"_blank\" : undefined}>\n {avatar}\n </PlasmicLink>\n ) : (\n avatar\n );\n}\n\nexport function AntdAvatarGroup(\n props: React.ComponentProps<typeof Avatar.Group>\n) {\n return <Avatar.Group {...props} />;\n}\n\nexport function registerAvatar(loader?: Registerable) {\n registerComponentHelper(loader, AntdAvatar, {\n name: \"plasmic-antd5-avatar\",\n displayName: \"Avatar\",\n props: {\n href: {\n type: \"href\",\n displayName: \"Link to\",\n description: \"Destination to link to\",\n },\n target: {\n type: \"boolean\",\n displayName: \"Open in new tab\",\n hidden: (ps) => !ps.href,\n },\n letters: {\n type: \"string\",\n description: \"Letters to show\",\n defaultValue: \"AB\",\n },\n src: {\n type: \"imageUrl\",\n description: \"Image to display\",\n },\n size: {\n type: \"choice\",\n options: [\"small\", \"default\", \"large\"],\n description: \"Set the size of avatar\",\n defaultValueHint: \"default\",\n },\n shape: {\n type: \"choice\",\n options: [\"circle\", \"round\"],\n description: \"Set the avatar shape\",\n defaultValueHint: \"circle\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerAvatar\",\n importName: \"AntdAvatar\",\n });\n}\n\nexport function registerAvatarGroup(loader?: Registerable) {\n registerComponentHelper(loader, AntdAvatarGroup, {\n name: \"plasmic-antd5-avatar-group\",\n displayName: \"AvatarGroup\",\n props: {\n children: {\n type: \"slot\",\n defaultValue: [1, 2, 3, 4].map((user) => ({\n type: \"component\",\n name: \"plasmic-antd5-tooltip\",\n props: {\n titleText: \"User \" + user,\n children: {\n type: \"component\",\n name: \"plasmic-antd5-avatar\",\n props: {\n letters: `U${user}`,\n },\n },\n },\n })),\n },\n maxCount: {\n type: \"number\",\n description: \"Max avatars to show\",\n defaultValue: 2,\n },\n size: {\n type: \"choice\",\n options: [\"small\", \"default\", \"large\"],\n description: \"Default size of avatars\",\n defaultValueHint: \"default\",\n },\n maxPopoverPlacement: {\n type: \"choice\",\n advanced: true,\n options: [\"top\", \"bottom\"],\n defaultValueHint: \"top\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerAvatar\",\n importName: \"AntdAvatarGroup\",\n });\n}\n","import type { BreadcrumbItemProps, BreadcrumbProps } from \"antd\";\nimport { Breadcrumb } from \"antd\";\nimport React from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport function AntdBreadcrumbItem(props: BreadcrumbItemProps) {\n return props.children;\n}\n\nexport function AntdBreadcrumb(\n props: BreadcrumbProps & { itemsRaw: React.ReactNode }\n) {\n const { itemsRaw, ...rest } = props;\n const items = React.useMemo(() => {\n if (!React.isValidElement(itemsRaw) && !Array.isArray(itemsRaw)) return [];\n return (\n Array.isArray(itemsRaw)\n ? itemsRaw\n : Array.isArray(itemsRaw.props.children)\n ? itemsRaw.props.children\n : [itemsRaw.props.children]\n )\n .map((currentItem: any) => {\n return {\n ...currentItem.props,\n title: React.cloneElement(<>{currentItem}</>),\n };\n })\n .filter((i: any) => i != null);\n }, [itemsRaw]);\n\n return <Breadcrumb {...rest} items={items} />;\n}\n\nconst breadcrumbItemComponentName = \"plasmic-antd5-breadcrumb-item\";\nconst breadcrumbComponentName = \"plasmic-antd5-breadcrumb\";\n\nexport function registerBreadcrumb(loader?: Registerable) {\n registerComponentHelper(loader, AntdBreadcrumb, {\n name: breadcrumbComponentName,\n displayName: \"Breadcrumb\",\n props: {\n itemsRaw: {\n type: \"slot\",\n displayName: \"items\",\n defaultValue: [\n {\n type: \"component\",\n name: breadcrumbItemComponentName,\n props: {\n children: {\n type: \"text\",\n value: \"First\",\n },\n },\n },\n {\n type: \"component\",\n name: breadcrumbItemComponentName,\n props: {\n children: {\n type: \"text\",\n value: \"Second\",\n },\n },\n },\n {\n type: \"component\",\n name: breadcrumbItemComponentName,\n props: {\n children: {\n type: \"text\",\n value: \"Third\",\n },\n },\n },\n ],\n allowedComponents: [breadcrumbItemComponentName],\n },\n separator: {\n type: \"slot\",\n defaultValue: {\n type: \"text\",\n value: \"/\",\n },\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerBreadcrumb\",\n importName: \"AntdBreadcrumb\",\n });\n}\n\nexport function registerBreadcrumbItem(loader?: Registerable) {\n registerComponentHelper(loader, AntdBreadcrumbItem, {\n name: breadcrumbItemComponentName,\n displayName: \"Breadcrumb Item\",\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"text\",\n value: \"Breadcrumb Item\",\n },\n },\n onClick: {\n type: \"eventHandler\",\n argTypes: [{ type: \"object\", name: \"event\" }],\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerBreadcrumb\",\n importName: \"AntdBreadcrumbItem\",\n });\n}\n","import { Button } from \"antd\";\nimport React from \"react\";\nimport { buttonComponentName } from \"./names\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport function AntdButton(\n props: Omit<React.ComponentProps<typeof Button>, \"target\"> & {\n submitsForm?: boolean;\n target?: React.ComponentProps<typeof Button>[\"target\"] | boolean;\n }\n) {\n const { submitsForm = false, children, ...rest } = props;\n const target =\n props.target === true\n ? \"_blank\"\n : props.target === false\n ? undefined\n : props.target;\n return (\n <Button\n {...rest}\n children={\n <div\n style={{\n display: \"inline-block\",\n }}\n >\n {children}\n </div>\n }\n htmlType={submitsForm ? \"submit\" : \"button\"}\n target={target}\n />\n );\n}\n\nexport function registerButton(loader?: Registerable) {\n registerComponentHelper(loader, AntdButton, {\n name: buttonComponentName,\n displayName: \"Button\",\n props: {\n type: {\n type: \"choice\",\n options: [\"default\", \"primary\", \"ghost\", \"dashed\", \"link\", \"text\"],\n description:\n \"Can be set to primary, ghost, dashed, link, text, default\",\n defaultValueHint: \"default\",\n },\n size: {\n type: \"choice\",\n options: [\"small\", \"medium\", \"large\"],\n description: \"Set the size of button\",\n defaultValueHint: \"medium\",\n },\n shape: {\n type: \"choice\",\n options: [\"default\", \"circle\", \"round\"],\n description: \"Set the button shape\",\n defaultValueHint: \"default\",\n },\n disabled: {\n type: \"boolean\",\n description: \"Whether the button is disabled\",\n defaultValueHint: false,\n },\n submitsForm: {\n type: \"boolean\",\n displayName: \"Submits form?\",\n defaultValueHint: false,\n description:\n \"whether clicking this button should submit the enclosing form.\",\n advanced: true,\n },\n ghost: {\n type: \"boolean\",\n description:\n \"Make background transparent and invert text and border colors\",\n defaultValueHint: false,\n advanced: true,\n },\n danger: {\n type: \"boolean\",\n description: \"Set the danger status of button\",\n defaultValueHint: false,\n advanced: true,\n },\n loading: {\n type: \"boolean\",\n description: \"Set the loading status of button\",\n defaultValueHint: false,\n advanced: true,\n },\n href: {\n displayName: \"Link to\",\n type: \"href\",\n description: \"Use this button as a link to this url\",\n },\n target: {\n type: \"boolean\",\n displayName: \"Open in new tab?\",\n description: \"Whether to open the link in a new window\",\n hidden: (props) => !props.href,\n defaultValueHint: false,\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Button\",\n },\n ],\n ...({ mergeWithParent: true } as any),\n },\n icon: {\n type: \"slot\",\n hidePlaceholder: true,\n hidden: () => true,\n },\n onClick: {\n type: \"eventHandler\",\n argTypes: [],\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerButton\",\n importName: \"AntdButton\",\n });\n}\n","import type { PropType } from \"@plasmicapp/host\";\nimport { Collapse } from \"antd\";\nimport uniqueId from \"lodash/uniqueId\";\nimport React, { useMemo } from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport const singleCollapseComponentName = \"plasmic-antd5-single-collapse\";\nexport const accordionComponentName = \"plasmic-antd5-collapse\";\nexport const accordionItemComponentName = \"plasmic-antd5-collapse-item\";\n\ntype AccordionItemType = NonNullable<\n React.ComponentProps<typeof Collapse>[\"items\"]\n>[number];\n\ntype SingleCollapseProps = Omit<\n React.ComponentProps<typeof Collapse>,\n \"items\" | \"activeKey\" | \"defaultActiveKey\" | \"expandIcon\" | \"accordion\"\n> &\n AccordionItemType & {\n open?: boolean;\n defaultOpen?: boolean;\n disabled?: boolean;\n expandIcon?: React.ReactElement;\n rotateCustomExpandIcon: boolean;\n children: React.ReactElement;\n label2: React.ReactElement; // For backwards compatibility\n };\n\nexport function AntdAccordionItem({ children }: AccordionItemType) {\n return <div>{children}</div>;\n}\n\nexport function AntdAccordion(\n props: Omit<\n React.ComponentProps<typeof Collapse>,\n \"items\" | \"activeKey\" | \"defaultActiveKey\" | \"expandIcon\" | \"accordion\"\n > & {\n items: { props: { children: React.ReactElement<AccordionItemType>[] } };\n defaultActiveKey?: string;\n activeKey?: string;\n disabled?: boolean;\n expandIcon?: React.ReactElement;\n rotateCustomExpandIcon: boolean;\n }\n) {\n const {\n items: itemsRaw,\n activeKey,\n defaultActiveKey,\n expandIcon,\n collapsible,\n disabled,\n rotateCustomExpandIcon,\n ...rest\n } = props;\n\n const items: AccordionItemType[] = useMemo(() => {\n if (!React.isValidElement(itemsRaw) && !Array.isArray(itemsRaw)) return [];\n return (\n Array.isArray(itemsRaw)\n ? itemsRaw\n : Array.isArray(itemsRaw.props.children)\n ? itemsRaw.props.children\n : [itemsRaw.props.children]\n )\n .map((currentItem) => {\n const props = {\n ...currentItem.props,\n id: currentItem.props.id,\n key: currentItem.props.id,\n children: React.cloneElement(<>{currentItem.props.children}</>),\n };\n if (currentItem.props.label) {\n // The old `label` prop takes precedence, delete label2\n delete (props as any).label2;\n } else {\n // Keep `label2` so the `hidden` function knows it's used\n props.label = (props as any).label2;\n }\n\n return props;\n })\n .filter((i) => i != null) as AccordionItemType[];\n }, [itemsRaw]);\n\n return (\n <Collapse\n accordion\n items={items}\n defaultActiveKey={defaultActiveKey}\n activeKey={activeKey}\n collapsible={disabled ? \"disabled\" : collapsible}\n expandIcon={\n expandIcon\n ? ({ isActive }) => (\n <div\n style={\n isActive && rotateCustomExpandIcon\n ? { transform: \"rotate(90deg)\" }\n : undefined\n }\n >\n {expandIcon}\n </div>\n )\n : undefined\n }\n {...rest}\n />\n );\n}\n\nexport function AntdSingleCollapse(props: SingleCollapseProps) {\n const {\n open,\n defaultOpen,\n expandIcon,\n collapsible,\n disabled,\n rotateCustomExpandIcon,\n label: oldLabelProp,\n label2: newLabelProp,\n showArrow,\n extra,\n forceRender,\n children,\n headerClass,\n ...rest\n } = props;\n\n const label = oldLabelProp ?? newLabelProp;\n const defaultItemKey = useMemo(() => uniqueId(), []);\n\n const item = useMemo(\n () => ({\n key: defaultItemKey,\n label,\n showArrow,\n extra: <>{extra}</>,\n headerClass,\n children,\n }),\n [label, showArrow, extra, children, defaultItemKey, headerClass]\n );\n\n return (\n <Collapse\n accordion={false}\n items={[item]}\n defaultActiveKey={defaultOpen ? item.key : undefined}\n activeKey={open ? item.key : undefined}\n collapsible={disabled ? \"disabled\" : collapsible}\n expandIcon={\n expandIcon\n ? ({ isActive }) => (\n <div\n style={\n isActive && rotateCustomExpandIcon\n ? { transform: \"rotate(90deg)\" }\n : undefined\n }\n >\n {expandIcon}\n </div>\n )\n : undefined\n }\n {...rest}\n />\n );\n}\n\nexport const accordionHelpers = {\n states: {\n activePanelId: {\n onChangeArgsToValue: (activeKeys: string[]) => activeKeys[0],\n },\n },\n};\n\nexport const singleCollapseHelpers = {\n states: {\n open: {\n onChangeArgsToValue: (activeKeys: string[]) => activeKeys.length > 0,\n },\n },\n};\n\nconst commonAccordionProps: Record<string, PropType<any>> = {\n bordered: {\n type: \"boolean\",\n defaultValue: true,\n description: `Display border around accordion `,\n },\n disabled: {\n type: \"boolean\",\n description: \"Disable the toggle behaviour of panels\",\n },\n expandIcon: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n rotateCustomExpandIcon: {\n type: \"boolean\",\n description: \"Enable rotation of custom expand icon when panel is expanded\",\n advanced: true,\n hidden: (ps) => !ps.expandIcon,\n },\n expandIconPosition: {\n type: \"choice\",\n defaultValueHint: \"start\",\n description: `Set expand icon position`,\n options: [\"start\", \"end\"],\n },\n ghost: {\n type: \"boolean\",\n description: `Make the accordion borderless and its background transparent`,\n },\n size: {\n type: \"choice\",\n defaultValueHint: \"middle\",\n description: `Set the size of accordion`,\n options: [\"large\", \"middle\", \"small\"],\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"activeIds\", type: \"object\" }],\n },\n};\n\nconst commonAccordionItemProps: Record<string, PropType<any>> = {\n label: {\n type: \"string\",\n displayName: \"Header Content\",\n description: \"Text inside the header\",\n hidden: (props) =>\n props.label != null\n ? false\n : props?.label2 !== undefined || props?.header === undefined,\n },\n label2: {\n type: \"slot\",\n displayName: \"Header Content\",\n defaultValue: \"Collapse Header\",\n hidePlaceholder: true,\n hidden: (props) =>\n props.label != null\n ? true\n : props?.label2 === undefined && props?.header !== undefined,\n },\n extra: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n showArrow: {\n type: \"boolean\",\n defaultValue: true,\n description: `Whether to show animating arrow alongside header text`,\n advanced: true,\n },\n headerClass: {\n type: \"class\",\n displayName: \"Header\",\n },\n children: {\n type: \"slot\",\n hidePlaceholder: true,\n ...({ mergeWithParent: true } as any),\n defaultValue: \"Collapsible text...\",\n },\n};\n\nconst commonProps: Record<string, PropType<any>> = {\n collapsible: {\n displayName: \"Toggle Area\",\n type: \"choice\",\n defaultValueHint: \"header\",\n description: `Specify the element that can be clicked to toggle a panel`,\n options: [\"header\", \"icon\"],\n advanced: true,\n hidden: (ps) => Boolean(ps.disabled),\n },\n destroyInactivePanel: {\n type: \"boolean\",\n description: `Destroy/Unmount panel if inactive`,\n advanced: true,\n },\n forceRender: {\n type: \"boolean\",\n description: `Force rendering of content in the panel, instead of lazy rendering it.`,\n advanced: true,\n },\n};\n\nexport function registerCollapse(loader?: Registerable) {\n registerComponentHelper(loader, AntdSingleCollapse, {\n name: singleCollapseComponentName,\n displayName: \"Collapse\",\n description: \"Accordion, but with a single collapsible block.\",\n defaultStyles: {\n width: \"stretch\",\n },\n props: {\n open: {\n editOnly: true,\n displayName: \"Open\",\n uncontrolledProp: \"defaultOpen\",\n type: \"boolean\",\n description: `Default open state of the collapse block`,\n },\n ...commonProps,\n ...commonAccordionItemProps,\n ...commonAccordionProps,\n },\n states: {\n open: {\n type: \"writable\",\n valueProp: \"open\",\n onChangeProp: \"onChange\",\n variableType: \"boolean\",\n ...singleCollapseHelpers.states.open,\n },\n },\n componentHelpers: {\n helpers: singleCollapseHelpers,\n importName: \"singleCollapseHelpers\",\n importPath: \"@plasmicpkgs/antd5/skinny/registerCollapse\",\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerCollapse\",\n importName: \"AntdSingleCollapse\",\n });\n\n registerComponentHelper(loader, AntdAccordion, {\n name: accordionComponentName,\n displayName: \"Accordion\",\n defaultStyles: {\n width: \"stretch\",\n },\n props: {\n activeKey: {\n editOnly: true,\n displayName: \"Active panel ID\",\n uncontrolledProp: \"defaultActiveKey\",\n type: \"string\",\n description: `ID of Accordion item that is expanded by default.`,\n advanced: true,\n },\n items: {\n type: \"slot\",\n hidePlaceholder: true,\n allowedComponents: [accordionItemComponentName],\n ...({ mergeWithParent: true } as any),\n defaultValue: [\n {\n type: \"component\",\n name: accordionItemComponentName,\n props: {\n id: 1,\n label2: {\n type: \"text\",\n value: \"First Item\",\n },\n children: {\n type: \"text\",\n value: \"First Children\",\n },\n },\n },\n {\n type: \"component\",\n name: accordionItemComponentName,\n props: {\n id: 2,\n label2: {\n type: \"text\",\n value: \"Second Item\",\n },\n children: {\n type: \"text\",\n value: \"Second Children\",\n },\n },\n },\n ],\n },\n ...commonProps,\n ...commonAccordionProps,\n },\n states: {\n activePanelId: {\n type: \"writable\",\n valueProp: \"activeKey\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n ...accordionHelpers.states.activePanelId,\n },\n },\n componentHelpers: {\n helpers: accordionHelpers,\n importName: \"accordionHelpers\",\n importPath: \"@plasmicpkgs/antd5/skinny/registerCollapse\",\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerCollapse\",\n importName: \"AntdAccordion\",\n });\n\n registerComponentHelper(loader, AntdAccordionItem, {\n name: accordionItemComponentName,\n displayName: \"Accordion Item\",\n props: {\n id: {\n type: \"string\",\n description: `Unique identifier for this item`,\n required: true,\n },\n ...commonProps,\n ...commonAccordionItemProps,\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerCollapse\",\n importName: \"AntdAccordionItem\",\n parentComponentName: accordionComponentName,\n });\n}\n","import { ColorPicker } from \"antd\";\nimport React from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport function AntdColorPicker({\n showTextSwitch,\n onChange,\n ...props\n}: Omit<React.ComponentProps<typeof ColorPicker>, \"onChange\"> & {\n showTextSwitch?: boolean;\n onChange?: (color: string) => void;\n}) {\n return (\n <ColorPicker\n {...props}\n showText={props.showText || showTextSwitch}\n onChangeComplete={(value: any) => {\n onChange?.(typeof value === \"string\" ? value : value.toHexString());\n }}\n />\n );\n}\n\nexport function registerColorPicker(loader?: Registerable) {\n registerComponentHelper(loader, AntdColorPicker, {\n name: \"plasmic-antd5-color-picker\",\n displayName: \"Color Picker\",\n props: {\n children: {\n type: \"slot\",\n hidePlaceholder: true,\n mergeWithParent: true,\n } as any,\n value: {\n displayName: \"Color value\",\n type: \"color\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n showTextSwitch: {\n type: \"boolean\",\n displayName: \"Show text\",\n },\n showText: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n allowClear: \"boolean\",\n disabled: {\n type: \"boolean\",\n advanced: true,\n },\n trigger: {\n advanced: true,\n type: \"choice\",\n options: [\"click\", \"hover\"],\n defaultValueHint: \"click\",\n },\n format: {\n advanced: true,\n type: \"choice\",\n options: [\"hex\", \"hsb\", \"rgb\"],\n defaultValueHint: \"hex\",\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [\n {\n name: \"color\",\n type: \"string\",\n },\n ],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerColorPicker\",\n importName: \"AntdColorPicker\",\n });\n}\n","import { GlobalActionsProvider, useSelector } from \"@plasmicapp/host\";\nimport {\n default as registerToken,\n TokenRegistration,\n} from \"@plasmicapp/host/registerToken\";\nimport { addLoadingStateListener } from \"@plasmicapp/query\";\nimport { ConfigProvider, message, notification, theme } from \"antd\";\nimport type { ConfigProviderProps } from \"antd/es/config-provider\";\nimport type { MessageInstance } from \"antd/es/message/interface\";\nimport type {\n NotificationInstance,\n NotificationPlacement,\n} from \"antd/es/notification/interface\";\nimport type { Locale } from \"antd/lib/locale\";\nimport enUS from \"antd/lib/locale/en_US.js\";\nimport React from \"react\";\nimport { useIsMounted } from \"./react-utils\";\nimport { makeRegisterGlobalContext, Registerable } from \"./utils\";\n\n// enUS is a CJS file, and it doesn't always import correctly in\n// esm mode (nextjs does it right, but create-react-app does it wrong).\n// We normalize it ourselves here 😬😬😬\nlet defaultLocale = enUS;\nif (\"default\" in enUS) {\n defaultLocale = (enUS as any).default as typeof enUS;\n}\n\nexport interface ThemeOpts {\n fontFamily?: string;\n fontSize?: number;\n lineHeight?: number;\n colorTextBase?: string;\n\n colorPrimary?: string;\n colorSuccess?: string;\n colorWarning?: string;\n colorError?: string;\n colorInfo?: string;\n colorBgBase?: string;\n lineWidth?: number;\n borderRadius?: number;\n controlHeight?: number;\n sizeUnit?: number;\n sizeStep?: number;\n wireframe?: boolean;\n\n defaultDark?: boolean;\n\n /**\n * `locale` is a prop that can be set by code, but is not registered,\n * i.e. exposed to Plasmic studio.\n */\n locale?: Locale;\n}\n\nexport function themeToAntdConfig(opts: ThemeOpts): ConfigProviderProps {\n const {\n colorTextBase,\n colorPrimary,\n colorSuccess,\n colorWarning,\n colorError,\n colorInfo,\n colorBgBase,\n fontFamily,\n fontSize,\n lineWidth,\n borderRadius,\n controlHeight,\n sizeUnit,\n sizeStep,\n wireframe,\n defaultDark = false,\n } = opts;\n return {\n theme: {\n algorithm: defaultDark ? theme.darkAlgorithm : undefined,\n token: Object.fromEntries(\n Object.entries({\n colorTextBase,\n colorPrimary,\n colorSuccess,\n colorWarning,\n colorError,\n colorInfo,\n colorBgBase,\n fontFamily,\n fontSize,\n lineWidth,\n borderRadius,\n controlHeight,\n sizeUnit,\n sizeStep,\n wireframe,\n }).filter(([_key, val]) => !!val)\n ),\n },\n };\n}\n\nexport function AntdConfigProvider(\n props: Omit<ThemeOpts, \"fontFamily\" | \"fontSize\" | \"lineWidth\"> & {\n children?: React.ReactNode;\n themeStyles: Record<string, string>;\n loadingText?: string;\n removeLoading?: boolean;\n }\n) {\n const { children, locale, themeStyles, loadingText, removeLoading, ...rest } =\n props;\n return (\n <ConfigProvider\n locale={locale ?? defaultLocale}\n {...themeToAntdConfig({\n ...rest,\n fontFamily: themeStyles.fontFamily,\n fontSize: themeStyles.fontSize\n ? parseInt(themeStyles.fontSize)\n : undefined,\n lineHeight: themeStyles.lineHeight\n ? parseInt(themeStyles.lineHeight)\n : undefined,\n colorTextBase: themeStyles.color,\n })}\n >\n <ForkedApp>\n <InnerConfigProvider\n loadingText={loadingText}\n removeLoading={removeLoading}\n >\n {children}\n </InnerConfigProvider>\n </ForkedApp>\n </ConfigProvider>\n );\n}\n\nfunction normTokenValue(val: any) {\n if (typeof val === \"string\") {\n return val.trim();\n } else if (typeof val === \"number\") {\n return `${val}px`;\n } else {\n return val;\n }\n}\n\nfunction InnerConfigProvider(props: {\n children?: React.ReactNode;\n loadingText?: string;\n removeLoading?: boolean;\n}) {\n const { children, loadingText, removeLoading } = props;\n const { token } = theme.useToken();\n const makeVarName = (name: string) => `--antd-${name}`;\n const cssStyles = React.useMemo(\n () => `\n:root {\n ${Object.entries(token)\n .map(([key, val]) => `${makeVarName(key)}:${normTokenValue(val)};`)\n .join(\"\\n\")}\n}\n `,\n [token]\n );\n const app = useAppContext();\n const actions = React.useMemo(\n () => ({\n showNotification: (\n type: \"success\" | \"error\" | \"info\" | \"warning\",\n message: React.ReactNode,\n description?: React.ReactNode,\n duration?: number,\n placement?: NotificationPlacement\n ) => {\n app.notification[type ?? \"info\"]({\n message: message?.toString(),\n description: description?.toString(),\n duration,\n placement,\n });\n },\n hideNotifications: () => {\n app.notification.destroy();\n },\n }),\n [app]\n );\n const enableLoadingBoundary = !!useSelector(\n \"plasmicInternalEnableLoadingBoundary\"\n );\n\n if (!GlobalActionsProvider) {\n warnOutdatedDeps();\n }\n\n let content = GlobalActionsProvider ? (\n <GlobalActionsProvider\n contextName=\"plasmic-antd5-config-provider\"\n actions={actions}\n >\n {children}\n </GlobalActionsProvider>\n ) : (\n children\n );\n if (!removeLoading && enableLoadingBoundary) {\n // If we're using the GlobalLoadingIndicator, and loading boundary is\n // enabled, then we wrap the content in Suspense so that we don't propagate\n // loading promises beyond this ConfigProvider, and instead will keep\n // this ConfigProvider mounted, so it can render the loading indicator\n content = <React.Suspense>{content}</React.Suspense>;\n }\n return (\n <>\n <style dangerouslySetInnerHTML={{ __html: cssStyles }} />\n {content}\n {!removeLoading && <GlobalLoadingIndicator loadingText={loadingText} />}\n </>\n );\n}\n\nlet warned = false;\nfunction warnOutdatedDeps() {\n if (!warned) {\n console.log(\n `You are using a version of @plasmicapp/* that is too old. Please upgrade to the latest version.`\n );\n warned = true;\n }\n}\n\nfunction GlobalLoadingIndicator(props: { loadingText?: string }) {\n const { loadingText } = props;\n const app = useAppContext();\n\n const isLoadingRef = React.useRef(false);\n const isMounted = useIsMounted();\n const showLoading = React.useCallback(() => {\n if (isMounted() && isLoadingRef.current) {\n app.message.open({\n content: loadingText ?? \"Loading...\",\n duration: 0,\n key: `plasmic-antd5-global-loading-indicator`,\n });\n }\n }, [app, loadingText, isMounted, isLoadingRef]);\n\n const hideLoading = React.useCallback(() => {\n // Delay hiding loading message, to avoid quick churns of loading / not loading\n setTimeout(() => {\n if (isMounted() && !isLoadingRef.current) {\n app.message.destroy(`plasmic-antd5-global-loading-indicator`);\n }\n }, 500);\n }, [app, isMounted, isLoadingRef]);\n\n React.useEffect(() => {\n if (addLoadingStateListener) {\n // Upon mount, we show any loading message that has been queued up before\n // we were mounted\n if (isLoadingRef.current) {\n showLoading();\n } else {\n hideLoading();\n }\n return addLoadingStateListener(\n (isLoading) => {\n isLoadingRef.current = isLoading;\n if (isMounted()) {\n if (isLoading) {\n showLoading();\n } else {\n hideLoading();\n }\n }\n },\n // Disabled immediat because it's creating an infinite rendering\n // https://app.shortcut.com/plasmic/story/36991\n { immediate: false }\n );\n } else {\n warnOutdatedDeps();\n return () => {\n // noop\n };\n }\n }, [app, isMounted, isLoadingRef, showLoading, hideLoading]);\n return null;\n}\n\nconst ForkedAppContext = React.createContext<\n | {\n message: MessageInstance;\n notification: NotificationInstance;\n }\n | undefined\n>(undefined);\n\nfunction useAppContext() {\n const context = React.useContext(ForkedAppContext);\n if (!context) {\n throw new Error(\"Must call useAppContext from under ForkedApp\");\n }\n return context;\n}\n\n/**\n * Forking antd's App, to avoid rendering an extra <div/>\n */\nfunction ForkedApp(props: { children?: React.ReactNode }) {\n const [messageApi, messageContextHolder] = message.useMessage();\n const [notificationApi, notificationContextHolder] =\n notification.useNotification();\n\n const appContext = React.useMemo(\n () => ({\n message: messageApi,\n notification: notificationApi,\n }),\n [messageApi, notificationApi]\n );\n\n return (\n <ForkedAppContext.Provider value={appContext}>\n {messageContextHolder}\n {notificationContextHolder}\n {props.children}\n </ForkedAppContext.Provider>\n );\n}\n\nexport function registerTokens(loader?: Registerable) {\n const regs: TokenRegistration[] = [];\n\n const withoutPrefix = (name: string, prefix?: string) => {\n if (!prefix) {\n return name;\n }\n const index = name.indexOf(prefix);\n return index === 0 ? name.substring(prefix.length) : name;\n };\n\n function makeNiceName(name: string) {\n name = name[0].toUpperCase() + name.substring(1);\n return name.replace(/([a-z])([A-Z])/g, \"$1 $2\");\n }\n\n const makeGenericToken = (\n name: string | [string, string],\n type: TokenRegistration[\"type\"],\n removePrefix?: string\n ) => {\n const tokenName = Array.isArray(name) ? name[0] : name;\n const displayName = Array.isArray(name)\n ? name[1]\n : makeNiceName(withoutPrefix(name, removePrefix));\n return {\n name: tokenName,\n displayName: `System: ${displayName}`,\n value: `var(--antd-${tokenName})`,\n type,\n } as TokenRegistration;\n };\n\n // TODO: Commenting out a lot of tokens for now until we decide to make them\n // available\n\n const colorTokens: (string | [string, string])[] = [\n // Seed tokens\n \"colorPrimary\",\n \"colorSuccess\",\n \"colorWarning\",\n \"colorError\",\n \"colorInfo\",\n\n // Map tokens\n // - neutral\n \"colorText\",\n \"colorTextSecondary\",\n \"colorTextTertiary\",\n \"colorTextQuaternary\",\n \"colorBorder\",\n \"colorBorderSecondary\",\n \"colorFill\",\n \"colorFillSecondary\",\n \"colorFillTertiary\",\n \"colorFillQuaternary\",\n \"colorBgLayout\",\n \"colorBgContainer\",\n \"colorBgElevated\",\n \"colorBgSpotlight\",\n // - primary\n \"colorPrimaryBg\",\n \"colorPrimaryBgHover\",\n \"colorPrimaryBorder\",\n \"colorPrimaryBorderHover\",\n \"colorPrimaryHover\",\n \"colorPrimaryActive\",\n \"colorPrimaryTextHover\",\n \"colorPrimaryText\",\n \"colorPrimaryTextActive\",\n // - success\n \"colorSuccessBg\",\n \"colorSuccessBgHover\",\n \"colorSuccessBorder\",\n \"colorSuccessBorderHover\",\n \"colorSuccessHover\",\n \"colorSuccessActive\",\n \"colorSuccessTextHover\",\n \"colorSuccessText\",\n \"colorSuccessTextActive\",\n // - warning\n \"colorWarningBg\",\n \"colorWarningBgHover\",\n \"colorWarningBorder\",\n \"colorWarningBorderHover\",\n \"colorWarningHover\",\n \"colorWarningActive\",\n \"colorWarningTextHover\",\n \"colorWarningText\",\n \"colorWarningTextActive\",\n // - info\n \"colorInfoBg\",\n \"colorInfoBgHover\",\n \"colorInfoBorder\",\n \"colorInfoBorderHover\",\n \"colorInfoHover\",\n \"colorInfoActive\",\n \"colorInfoTextHover\",\n \"colorInfoText\",\n \"colorInfoTextActive\",\n // - error\n \"colorErrorBg\",\n \"colorErrorBgHover\",\n \"colorErrorBorder\",\n \"colorErrorBorderHover\",\n \"colorErrorHover\",\n \"colorErrorActive\",\n \"colorErrorTextHover\",\n \"colorErrorText\",\n \"colorErrorTextActive\",\n // - other\n \"colorWhite\",\n \"colorBgMask\",\n\n // Alias tokens\n // \"colorFillContentHover\",\n // \"colorFillAlter\",\n // \"colorFillContent\",\n // \"colorBgContainerDisabled\",\n // \"colorBgTextHover\",\n // \"colorBgTextActive\",\n // \"colorBorderBg\",\n // \"colorSplit\",\n // \"colorTextPlaceholder\",\n // \"colorTextDisabled\",\n // \"colorTextHeading\",\n // \"colorTextLabel\",\n // \"colorTextDescription\",\n // \"colorTextLightSolid\",\n \"colorIcon\",\n \"colorIconHover\",\n \"colorLink\",\n \"colorLinkHover\",\n // \"colorLinkActive\",\n // \"colorLinkHighlight\",\n // \"controlOutline\",\n // \"controlWarningOutline\",\n // \"controlErrorOutline\",\n // \"controlItemBgHover\",\n // \"controlItemBgActive\",\n // \"controlItemBgActiveHover\",\n // \"controlItemBgActiveDisabled\",\n ];\n colorTokens.forEach((name) =>\n regs.push(makeGenericToken(name, \"color\", \"color\"))\n );\n\n const spacingTokens: (string | [string, string])[] = [\n // Seed\n // \"lineWidth\",\n // \"borderRadius\",\n // \"controlHeight\",\n // Map tokens\n // \"sizeXXL\",\n // \"sizeXL\",\n // \"sizeLG\",\n // \"sizeMD\",\n // \"sizeMS\",\n // \"size\",\n // \"sizeSM\",\n // \"sizeXS\",\n // \"sizeXXS\",\n // \"controlHeightXS\",\n // \"controlHeightSM\",\n // \"controlHeightLG\",\n // \"lineWidthBold\",\n // \"borderRadiusXS\",\n // \"borderRadiusSM\",\n // \"borderRadiusLG\",\n // \"borderRadiusOuter\",\n\n // Alias tokens\n // \"controlOutlineWidth\",\n // \"controlInteractiveSize\",\n \"paddingXXS\",\n \"paddingXS\",\n \"paddingSM\",\n [\"padding\", \"Padding M\"],\n \"paddingMD\",\n \"paddingLG\",\n \"paddingXL\",\n // \"paddingContentHorizontalLG\",\n // \"paddingContentHorizontal\",\n // \"paddingContentHorizontalSM\",\n // \"paddingContentVerticalLG\",\n // \"paddingContentVertical\",\n // \"paddingContentVerticalSM\",\n \"marginXXS\",\n \"marginXS\",\n \"marginSM\",\n [\"margin\", \"Margin M\"],\n \"marginMD\",\n \"marginLG\",\n \"marginXL\",\n \"marginXXL\",\n // \"controlPaddingHorizontal\",\n // \"controlPaddingHorizontalSM\",\n ];\n spacingTokens.forEach((token) =>\n regs.push(makeGenericToken(token, \"spacing\"))\n );\n\n const fontSizeTokens: (string | [string, string])[] = [\n // Seed token\n [\"fontSize\", \"M\"],\n // Map tokens\n \"fontSizeSM\",\n \"fontSizeLG\",\n \"fontSizeXL\",\n \"fontSizeHeading1\",\n \"fontSizeHeading2\",\n \"fontSizeHeading3\",\n \"fontSizeHeading4\",\n \"fontSizeHeading5\",\n ];\n fontSizeTokens.forEach((token) =>\n regs.push(makeGenericToken(token, \"font-size\", \"fontSize\"))\n );\n\n const lineHeightTokens: (string | [string, string])[] = [\n // Map tokens\n [\"lineHeight\", \"M\"],\n \"lineHeightLG\",\n \"lineHeightSM\",\n \"lineHeightHeading1\",\n \"lineHeightHeading2\",\n \"lineHeightHeading3\",\n \"lineHeightHeading4\",\n \"lineHeightHeading5\",\n ];\n lineHeightTokens.forEach((token) =>\n regs.push(makeGenericToken(token, \"line-height\", \"lineHeight\"))\n );\n\n if (loader) {\n regs.forEach((t) => loader.registerToken(t));\n } else {\n regs.forEach((t) => registerToken(t));\n }\n}\n\nexport const registerConfigProvider = makeRegisterGlobalContext(\n AntdConfigProvider,\n {\n name: \"plasmic-antd5-config-provider\",\n displayName: \"Ant Design System Settings\",\n props: {\n colorPrimary: {\n type: \"color\",\n defaultValue: \"#1677ff\",\n disableTokens: true,\n },\n colorSuccess: {\n type: \"color\",\n defaultValue: \"#52c41a\",\n disableTokens: true,\n },\n colorWarning: {\n type: \"color\",\n defaultValue: \"#faad14\",\n disableTokens: true,\n },\n colorError: {\n type: \"color\",\n defaultValue: \"#ff4d4f\",\n disableTokens: true,\n },\n colorInfo: {\n type: \"color\",\n defaultValue: \"#1677ff\",\n disableTokens: true,\n },\n colorBgBase: {\n type: \"color\",\n defaultValue: \"#ffffff\",\n disableTokens: true,\n },\n lineWidth: {\n type: \"number\",\n defaultValue: 1,\n },\n borderRadius: {\n type: \"number\",\n defaultValue: 6,\n },\n controlHeight: {\n type: \"number\",\n defaultValue: 32,\n },\n sizeUnit: {\n type: \"number\",\n defaultValue: 4,\n },\n sizeStep: {\n type: \"number\",\n defaultValue: 4,\n },\n loadingText: {\n type: \"string\",\n defaultValueHint: \"Loading...\",\n },\n removeLoading: {\n type: \"boolean\",\n defaultValueHint: false,\n },\n wireframe: {\n type: \"boolean\",\n defaultValue: false,\n },\n defaultDark: {\n type: \"boolean\",\n defaultValue: false,\n },\n themeStyles: {\n type: \"themeStyles\",\n } as any,\n },\n ...{\n globalActions: {\n showNotification: {\n displayName: \"Show notification\",\n parameters: [\n {\n name: \"type\",\n type: {\n type: \"choice\",\n options: [\"success\", \"error\", \"info\", \"warning\"],\n defaultValue: \"info\",\n },\n },\n {\n name: \"message\",\n type: {\n type: \"string\",\n defaultValue: \"A message for you!\",\n },\n },\n {\n name: \"description\",\n type: {\n type: \"string\",\n defaultValue: \"Would you like to learn more?\",\n },\n },\n {\n name: \"duration\",\n type: {\n type: \"number\",\n defaultValueHint: 5,\n },\n },\n {\n name: \"placement\",\n type: {\n type: \"choice\",\n options: [\n \"top\",\n \"topLeft\",\n \"topRight\",\n \"bottom\",\n \"bottomLeft\",\n \"bottomRight\",\n ],\n defaultValueHint: \"topRight\",\n },\n },\n ],\n },\n hideNotifications: {\n displayName: \"Hide notifications\",\n parameters: [],\n },\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerConfigProvider\",\n importName: \"AntdConfigProvider\",\n }\n);\n","import { DatePicker } from \"antd\";\nimport type { Dayjs } from \"dayjs\";\nimport dayjs from \"dayjs\";\nimport kebabCase from \"lodash/kebabCase\";\nimport React, { useMemo } from \"react\";\nimport { capitalize, Registerable, registerComponentHelper } from \"./utils\";\n\nimport localeData from \"dayjs/plugin/localeData\";\nimport weekday from \"dayjs/plugin/weekday\";\n\ndayjs.extend(weekday);\ndayjs.extend(localeData);\n\nconst { RangePicker } = DatePicker;\n\nfunction getDayjsRange(dateRange: any): [Dayjs | null, Dayjs | null] {\n return Array.isArray(dateRange)\n ? [\n dateRange[0] ? dayjs(dateRange[0]) : null,\n dateRange[1] ? dayjs(dateRange[1]) : null,\n ]\n : [null, null];\n}\n\nfunction getStrRange(dateRange: any): string[] | undefined {\n return Array.isArray(dateRange)\n ? dateRange.map((date: any) =>\n date && !(typeof date === \"string\") && \"toISOString\" in date\n ? date.toISOString()\n : date === null\n ? undefined\n : date\n )\n : undefined;\n}\n\nexport function AntdDateRangePicker(\n props: Omit<\n React.ComponentProps<typeof RangePicker>,\n | \"value\"\n | \"onChange\"\n | \"presets\"\n | \"placeholder\"\n | \"renderExtraFooter\"\n | \"disabled\"\n | \"allowEmpty\"\n > & {\n onChange: (value: [string | undefined, string | undefined]) => void;\n value?: [Dayjs, Dayjs];\n // Not sure why this is missing from DatePicker props!\n showTime?: boolean;\n popupScopeClassName: string;\n presets: {\n label: string;\n startDate: string;\n endDate: string;\n }[];\n placeholder: string;\n disableStartDate: boolean;\n disableEndDate: boolean;\n renderExtraFooter: React.ReactNode;\n allowEmptyStartDate: boolean;\n allowEmptyEndDate: boolean;\n disabled: boolean;\n allowEmpty: boolean;\n defaultStartDate?: string;\n defaultEndDate?: string;\n startDate?: string;\n endDate?: string;\n }\n) {\n const {\n defaultStartDate,\n defaultEndDate,\n startDate,\n endDate,\n allowEmpty,\n allowEmptyEndDate,\n allowEmptyStartDate,\n disabled,\n renderExtraFooter,\n disableStartDate,\n disableEndDate,\n presets,\n picker,\n placeholder,\n onChange,\n popupScopeClassName,\n className,\n ...rest\n } = props;\n\n const css = `\n @media(max-width: 500px) {\n .ant-picker-dropdown {\n top: 20px !important;\n left: 10px !important;\n right: 10px !important;\n max-height: 95vh;\n position: fixed;\n overflow-y: scroll;\n }\n\n .ant-picker-panel-layout {\n flex-direction: column;\n }\n\n .ant-picker-presets {\n min-height: 50px;\n min-width: 100% !important;\n }\n\n .ant-picker-presets > ul {\n overflow-y: hidden;\n overflow-x: auto;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n flex-direction: column;\n }\n\n .ant-picker-presets > ul > li {\n margin: 0 !important;\n }\n\n .ant-picker-panel-container {\n width: 300px;\n }\n\n .ant-picker-datetime-panel {\n flex-direction: column;\n }\n\n .${className} .ant-picker-input > input {\n font-size: 16px !important;\n }\n\n .ant-picker-header-view {\n line-height: unset !important;\n }\n\n .ant-picker-content {\n height: unset !important;\n }\n\n .ant-picker-time-panel-column {\n height: 100px;\n }\n\n .ant-picker-time-panel-column::after {\n height: 0px !important;\n }\n\n .ant-picker-range-arrow {\n display: none;\n }\n }\n `;\n\n const presetsDayjs = useMemo(\n () =>\n presets\n ?.map((p) => ({ ...p, value: getDayjsRange([p.startDate, p.endDate]) }))\n .filter((p) => p.value[0]?.isValid() && p.value[1]?.isValid()),\n [presets]\n );\n return (\n <>\n <RangePicker\n {...rest}\n picker={picker as any}\n presets={presetsDayjs}\n allowEmpty={\n allowEmpty\n ? [allowEmpty, allowEmpty]\n : [allowEmptyStartDate, allowEmptyEndDate]\n }\n value={getDayjsRange([startDate, endDate])}\n defaultValue={getDayjsRange([defaultStartDate, defaultEndDate])}\n renderExtraFooter={\n renderExtraFooter ? () => renderExtraFooter : undefined\n }\n className={className}\n inputReadOnly\n disabled={disabled ? disabled : [disableStartDate, disableEndDate]}\n placeholder={placeholder?.split(/,\\s*/).slice(0, 2) as [string, string]}\n popupClassName={popupScopeClassName}\n // dateString isn't a valid ISO string, and value is a dayjs object.\n onChange={(values, _dateStrings) => {\n onChange?.((getStrRange(values) as [string, string]) || [null, null]);\n }}\n />\n <style dangerouslySetInnerHTML={{ __html: css }} />\n </>\n );\n}\n\nexport const dateRangePickerComponentName = \"plasmic-antd5-date-range-picker\";\n\nexport const dateRangePickerHelpers = {\n states: {\n startDate: {\n onChangeArgsToValue: (value: string[]) => value[0],\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n endDate: {\n onChangeArgsToValue: (value: string[]) => value[1],\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n },\n};\n\nexport function registerDateRangePicker(loader?: Registerable) {\n registerComponentHelper(loader, AntdDateRangePicker, {\n name: dateRangePickerComponentName,\n displayName: \"Date Range Picker\",\n props: {\n startDate: {\n type: \"dateString\",\n editOnly: true,\n uncontrolledProp: \"defaultStartDate\",\n description: \"The default start date as ISO strings\",\n // TODO: Can there be a default validator attached to each prop type, so dynamic values can be checked?\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n endDate: {\n type: \"dateString\",\n editOnly: true,\n uncontrolledProp: \"defaultEndDate\",\n description: \"The default end date as ISO strings\",\n // TODO: Can there be a default validator attached to each prop type, so dynamic values can be checked?\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n allowClear: {\n type: \"boolean\",\n advanced: true,\n defaultValueHint: true,\n description: \"Whether to show the clear button\",\n },\n autoFocus: {\n type: \"boolean\",\n description: \"Focus when component is rendered\",\n defaultValueHint: false,\n advanced: true,\n },\n bordered: {\n type: \"boolean\",\n advanced: true,\n defaultValueHint: true,\n },\n changeOnBlur: {\n type: \"boolean\",\n advanced: true,\n description:\n \"Trigger change when blur. e.g. datetime picker no need click confirm button\",\n defaultValueHint: false,\n hidden: (ps) => !ps.showTime,\n },\n disabled: {\n type: \"boolean\",\n description: \"Disable date range inputs\",\n defaultValueHint: false,\n },\n disableStartDate: {\n type: \"boolean\",\n defaultValueHint: false,\n advanced: true,\n description: \"Disable start date input only\",\n hidden: (ps) => ps.disabled,\n },\n disableEndDate: {\n type: \"boolean\",\n defaultValueHint: false,\n advanced: true,\n description: \"Disable end date input only\",\n hidden: (ps) => ps.disabled,\n },\n picker: {\n type: \"choice\",\n options: [\"date\", \"week\", \"month\", \"quarter\", \"year\"].map((value) => ({\n value,\n label: capitalize(value),\n })),\n defaultValueHint: \"date\",\n },\n placeholder: {\n type: \"string\",\n advanced: true,\n defaultValueHint: \"Start date, End date\",\n description:\n \"The placeholders of the start and end date inputs, separated by a comma\",\n },\n placement: {\n type: \"choice\",\n options: [\"bottomLeft\", \"bottomRight\", \"topLeft\", \"topRight\"].map(\n (value) => ({\n value,\n label: kebabCase(value),\n })\n ),\n advanced: true,\n defaultValueHint: \"bottom-left\",\n description: \"The position where the selection box pops up\",\n },\n presets: {\n type: \"array\",\n advanced: true,\n description: \"The preset ranges for quick selection\",\n itemType: {\n type: \"object\",\n nameFunc: (item) => item.label,\n fields: {\n label: \"string\",\n startDate: {\n type: \"dateString\",\n },\n endDate: {\n type: \"dateString\",\n },\n },\n },\n },\n size: {\n type: \"choice\",\n advanced: true,\n options: [\"small\", \"middle\", \"large\"].map((value) => ({\n value,\n label: capitalize(value),\n })),\n defaultValueHint: \"middle\",\n },\n status: {\n type: \"choice\",\n advanced: true,\n options: [\"error\", \"warning\"].map((value) => ({\n value,\n label: capitalize(value),\n })),\n description: \"Set validation status\",\n },\n allowEmpty: {\n type: \"boolean\",\n advanced: true,\n description: \"Allow leaving start or end input empty\",\n defaultValueHint: false,\n },\n allowEmptyStartDate: {\n type: \"boolean\",\n advanced: true,\n description: \"Allow leaving start input empty\",\n defaultValueHint: false,\n hidden: (ps) => ps.allowEmpty,\n },\n allowEmptyEndDate: {\n type: \"boolean\",\n advanced: true,\n description: \"Allow leaving end input empty\",\n defaultValueHint: false,\n hidden: (ps) => ps.allowEmpty,\n },\n renderExtraFooter: {\n type: \"slot\",\n displayName: \"Extra footer\",\n hidePlaceholder: true,\n },\n showTime: {\n type: \"boolean\",\n description: \"Enable time selection\",\n defaultValueHint: false,\n hidden: (ps) => ps.picker !== undefined && ps.picker !== \"date\",\n },\n popupScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"dateRangePickerPopup\",\n } as any,\n popupClassName: {\n type: \"class\",\n displayName: \"Popup container\",\n selectors: [\n {\n selector: \":dateRangePickerPopup .ant-picker-panel-container\",\n label: \"Base\",\n },\n ],\n },\n popupHeaderClassName: {\n type: \"class\",\n displayName: \"Popup header\",\n selectors: [\n {\n selector: \":dateRangePickerPopup .ant-picker-header\",\n label: \"Base\",\n },\n ],\n },\n popupBodyClassName: {\n type: \"class\",\n displayName: \"Popup body\",\n selectors: [\n {\n selector: \":dateRangePickerPopup .ant-picker-body\",\n label: \"Base\",\n },\n ],\n },\n popupFooterClassName: {\n type: \"class\",\n displayName: \"Popup footer\",\n selectors: [\n {\n selector: \":dateRangePickerPopup .ant-picker-footer\",\n label: \"Base\",\n },\n ],\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"value\", type: \"object\" }],\n },\n },\n states: {\n startDate: {\n type: \"writable\",\n valueProp: \"startDate\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n ...dateRangePickerHelpers.states.startDate,\n },\n endDate: {\n type: \"writable\",\n valueProp: \"endDate\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n ...dateRangePickerHelpers.states.endDate,\n },\n },\n componentHelpers: {\n helpers: dateRangePickerHelpers,\n importName: \"dateRangePickerHelpers\",\n importPath: \"@plasmicpkgs/antd5/skinny/registerDateRangePicker\",\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerDateRangePicker\",\n importName: \"AntdDateRangePicker\",\n });\n}\n","import { Drawer } from \"antd\";\nimport React from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport function AntdDrawer(\n props: React.ComponentProps<typeof Drawer> & {\n onOpenChange?: (open: boolean) => void;\n defaultStylesClassName?: string;\n drawerScopeClassName?: string;\n }\n) {\n const { onOpenChange, onClose, open, footer, drawerScopeClassName, ...rest } =\n props;\n const memoOnClose = React.useMemo(() => {\n if (onOpenChange || onClose) {\n return (e: React.MouseEvent | React.KeyboardEvent) => {\n onOpenChange?.(false);\n onClose?.(e);\n };\n } else {\n return undefined;\n }\n }, [onOpenChange, onClose]);\n return (\n <Drawer\n {...rest}\n onClose={memoOnClose}\n rootClassName={drawerScopeClassName}\n open={open}\n footer={footer ?? undefined}\n className={`${props.className} ${props.defaultStylesClassName}`}\n />\n );\n}\n\nexport function registerDrawer(loader?: Registerable) {\n registerComponentHelper(loader, AntdDrawer, {\n name: \"plasmic-antd5-drawer\",\n displayName: \"Drawer\",\n props: {\n open: {\n type: \"boolean\",\n },\n placement: {\n type: \"choice\",\n options: [\"top\", \"right\", \"bottom\", \"left\"],\n defaultValueHint: \"right\",\n },\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"vbox\",\n children: [\"Drawer content\"],\n },\n },\n title: {\n type: \"slot\",\n defaultValue: \"Drawer title\",\n },\n footer: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n closeIcon: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"open\", type: \"boolean\" }],\n } as any,\n drawerScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"drawer\",\n } as any,\n drawerHeaderClassName: {\n type: \"class\",\n displayName: \"Drawer header\",\n noSelf: true,\n selectors: [\n {\n selector: \":drawer .ant-drawer-header\",\n label: \"Base\",\n },\n ],\n } as any,\n drawerBodyClassName: {\n type: \"class\",\n displayName: \"Drawer body\",\n noSelf: true,\n selectors: [\n {\n selector: \":drawer .ant-drawer-body\",\n label: \"Base\",\n },\n ],\n } as any,\n drawerFooterClassName: {\n type: \"class\",\n displayName: \"Drawer footer\",\n noSelf: true,\n selectors: [\n {\n selector: \":drawer .ant-drawer-footer\",\n label: \"Base\",\n },\n ],\n } as any,\n drawerTitleClassName: {\n type: \"class\",\n displayName: \"Drawer title\",\n noSelf: true,\n selectors: [\n {\n selector: \":drawer .ant-drawer-title\",\n label: \"Base\",\n },\n ],\n } as any,\n drawerMaskClassName: {\n type: \"class\",\n displayName: \"Drawer mask\",\n styleSections: [\"background\"],\n noSelf: true,\n selectors: [\n {\n selector: \":drawer .ant-drawer-mask\",\n label: \"Base\",\n },\n ],\n } as any,\n drawerContentWrapperClassName: {\n type: \"class\",\n displayName: \"Drawer content wrapper\",\n noSelf: true,\n selectors: [\n {\n selector: \":drawer .ant-drawer-content-wrapper\",\n label: \"Base\",\n },\n ],\n advanced: true,\n } as any,\n closeButtonClassName: {\n type: \"class\",\n displayName: \"Close button\",\n noSelf: true,\n selectors: [\n {\n selector: \":drawer .ant-drawer-close\",\n label: \"Base\",\n },\n ],\n advanced: true,\n } as any,\n forceRender: {\n advanced: true,\n type: \"boolean\",\n },\n defaultStylesClassName: {\n type: \"themeResetClass\",\n } as any,\n },\n states: {\n open: {\n type: \"writable\",\n valueProp: \"open\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerDrawer\",\n importName: \"AntdDrawer\",\n });\n}\n","import { Menu as AntdMenu } from \"antd\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport { AntdMenu };\nexport const AntdMenuDivider = AntdMenu.Divider;\nexport const AntdMenuItem = AntdMenu.Item;\nexport const AntdMenuItemGroup: typeof AntdMenu.ItemGroup = AntdMenu.ItemGroup;\nexport const AntdSubMenu = AntdMenu.SubMenu;\n\nconst allowedMenuComponents = [\n \"plasmic-antd5-menu-item\",\n \"plasmic-antd5-menu-divider\",\n \"plasmic-antd5-submenu\",\n \"plasmic-antd5-menu-item-group\",\n];\n\nexport const MENU_ITEM_TYPE = {\n type: \"object\",\n nameFunc: (item: any) => {\n if (item.type === \"divider\") {\n return \"Divider\";\n }\n return item.label || item.value;\n },\n fields: {\n type: {\n type: \"choice\",\n options: [\n { value: \"item\", label: \"Menu item\" },\n { value: \"group\", label: \"Menu item group\" },\n { value: \"submenu\", label: \"Sub-menu\" },\n { value: \"divider\", label: \"Menu divider\" },\n ],\n defaultValue: \"item\",\n },\n key: {\n type: \"string\",\n displayName: \"Menu item key\",\n description:\n \"Key of the menu item; the onClick will receive this as the value to indicate which item was clicked.\",\n hidden: (ps: any, ctx: any, { item }: any) => item.type !== \"item\",\n },\n label: {\n type: \"string\",\n description: \"Label of the menu item; will use the key if not specified.\",\n hidden: (ps: any, ctx: any, { item }: any) => item.type === \"divider\",\n },\n children: {\n type: \"array\",\n displayName: \"Menu items\",\n hidden: (ps: any, ctx: any, { item }: any) =>\n item.type !== \"submenu\" && item.type !== \"group\",\n },\n onClick: {\n type: \"eventHandler\",\n displayName: \"Action\",\n description: \"Action to perform when this item is selected\",\n argTypes: [{ name: \"info\", type: \"object\" }],\n hidden: (ps: any, ctx: any, { item }: any) => item.type !== \"item\",\n },\n },\n};\nexport const UNKEYED_MENU_ITEM_TYPE = {\n ...MENU_ITEM_TYPE,\n fields: Object.fromEntries(\n Object.entries(MENU_ITEM_TYPE.fields).filter(([k]) => k !== \"key\")\n ),\n};\n\n(MENU_ITEM_TYPE.fields.children as any).itemType = MENU_ITEM_TYPE;\n(UNKEYED_MENU_ITEM_TYPE.fields.children as any).itemType =\n UNKEYED_MENU_ITEM_TYPE;\n\n/**\n * Note that the Menu component by itself isn't that useful.\n * It is supposed to be a stateful component, but we don't have state yet (for selected, open, etc.).\n *\n * Nor can you make it non-selectable yet and just make it be a list of clickable things.\n *\n * But we also can't get rid of it right now because it's used by Dropdown.\n *\n * Note also that we don't yet support the simpler `items` prop for configuration.\n */\nexport function registerMenu(loader?: Registerable) {\n registerComponentHelper(loader, AntdMenu, {\n name: \"plasmic-antd5-menu\",\n displayName: \"Menu\",\n props: {\n expandIcon: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n mode: {\n type: \"choice\",\n options: [\"horizontal\", \"vertical\", \"inline\"],\n description: \"Type of menu\",\n defaultValueHint: \"vertical\",\n },\n multiple: {\n type: \"boolean\",\n description: \"Allows selection of multiple items\",\n defaultValueHint: false,\n },\n triggerSubMenuAction: {\n type: \"choice\",\n options: [\"hover\", \"click\"],\n description: \"Which action can trigger submenu open/close\",\n defaultValueHint: \"hover\",\n advanced: true,\n },\n defaultSelectedKeys: {\n type: 'array',\n description: 'An array of Menu Item/s that will be selected when this component first loads, eg [\"home\", \"about\"]. Each item in the array should be one of the unique keys set in nested Menu Item component props. Useful when using the Menu component to build a website navigation bar.',\n advanced: true,\n },\n // menuScopeClassName: {\n // type: \"styleScopeClass\",\n // scopeName: \"menu\",\n // } as any,\n // menuItemClassName: {\n // type: \"class\",\n // displayName: \"Menu items\",\n // noSelf: true,\n // selectors: [\n // {\n // selector: \":menu .ant-menu-item\",\n // label: \"Base\",\n // },\n // {\n // selector: \":menu .ant-menu-item-selected\",\n // label: \"Selected\",\n // },\n // ],\n // } as any,\n children: {\n type: \"slot\",\n allowedComponents: allowedMenuComponents,\n defaultValue: [\n {\n type: \"component\",\n name: \"plasmic-antd5-menu-item\",\n props: {\n key: \"menuItemKey1\",\n },\n },\n {\n type: \"component\",\n name: \"plasmic-antd5-menu-item\",\n props: {\n key: \"menuItemKey2\",\n },\n },\n ],\n },\n onSelect: {\n type: \"eventHandler\",\n argTypes: [{ name: \"key\", type: \"string\" }],\n } as any,\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerMenu\",\n importName: \"AntdMenu\",\n });\n\n registerComponentHelper(loader, AntdMenuItem, {\n name: \"plasmic-antd5-menu-item\",\n displayName: \"Menu Item\",\n props: {\n danger: {\n type: \"boolean\",\n description: \"Display the danger style\",\n defaultValueHint: false,\n },\n disabled: {\n type: \"boolean\",\n description: \"Whether disabled select\",\n defaultValueHint: false,\n },\n key: {\n type: \"string\",\n displayName: \"Unique key\",\n description:\n \"Unique ID of the menu item. Used to determine which item is selected.\",\n defaultValue: \"menuItemKey\",\n },\n title: {\n type: \"string\",\n description: \"Set display title for collapsed item\",\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Menu item\",\n },\n ],\n ...({ mergeWithParent: true } as any),\n },\n onClick: {\n type: \"eventHandler\",\n argTypes: [],\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerMenu\",\n importName: \"AntdMenuItem\",\n parentComponentName: \"plasmic-antd5-menu\",\n });\n\n registerComponentHelper(loader, AntdMenuItemGroup, {\n name: \"plasmic-antd5-menu-item-group\",\n displayName: \"Item Group\",\n props: {\n title: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Group\",\n },\n ],\n },\n children: {\n type: \"slot\",\n allowedComponents: allowedMenuComponents,\n defaultValue: [\n {\n type: \"component\",\n name: \"plasmic-antd5-menu-item\",\n },\n ],\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerMenu\",\n importName: \"AntdMenuItemGroup\",\n parentComponentName: \"plasmic-antd5-menu\",\n });\n\n registerComponentHelper(loader, AntdMenuDivider, {\n name: \"plasmic-antd5-menu-divider\",\n displayName: \"Menu Divider\",\n props: {\n dashed: {\n type: \"boolean\",\n description: \"Whether line is dashed\",\n defaultValueHint: false,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerMenu\",\n importName: \"AntdMenuDivider\",\n parentComponentName: \"plasmic-antd5-menu\",\n });\n\n registerComponentHelper(loader, AntdSubMenu, {\n name: \"plasmic-antd5-submenu\",\n displayName: \"Sub Menu\",\n props: {\n disabled: {\n type: \"boolean\",\n description: \"Whether sub-menu is disabled\",\n defaultValueHint: false,\n },\n key: {\n type: \"string\",\n displayName: \"Unique key\",\n description:\n \"Unique ID of the sub-menu. Used to determine which item is selected.\",\n advanced: true,\n },\n title: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Sub-menu\",\n },\n ],\n },\n popupClassName: {\n type: \"class\",\n displayName: \"Sidemenu Popup\",\n },\n children: {\n type: \"slot\",\n allowedComponents: allowedMenuComponents,\n defaultValue: [1, 2].map((i) => ({\n type: \"component\",\n name: \"plasmic-antd5-menu-item\",\n props: {\n key: `subMenuItemKey${i}`,\n children: [\n {\n type: \"text\",\n value: `Sub-menu item ${i}`,\n },\n ],\n },\n })),\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerMenu\",\n importName: \"AntdSubMenu\",\n parentComponentName: \"plasmic-antd5-menu\",\n });\n}\n","import { Dropdown, Menu } from \"antd\";\nimport React from \"react\";\nimport { UNKEYED_MENU_ITEM_TYPE } from \"./registerMenu\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nfunction addKeysToUnkeyedMenuItems(\n unkeyedMenuItems: React.ComponentProps<typeof Menu>[\"items\"],\n maybeGenKey?: () => string\n) {\n const genKey =\n maybeGenKey ??\n (() => {\n let key = 0;\n return () => {\n return `${key++}`;\n };\n })();\n return unkeyedMenuItems?.map((item) => {\n if (!item) {\n return null;\n }\n const newItem = { ...item };\n if (!newItem.key) {\n newItem.key = genKey();\n }\n if (\"children\" in newItem && newItem.children) {\n newItem.children = addKeysToUnkeyedMenuItems(newItem.children, genKey);\n }\n return newItem;\n });\n}\n\nexport function AntdDropdown(\n props: Omit<React.ComponentProps<typeof Dropdown>, \"menu\" | \"overlay\"> & {\n onAction?: (key: string) => void;\n menuItems?: () => React.ReactNode;\n useMenuItemsSlot?: boolean;\n menuItemsJson?: React.ComponentProps<typeof Menu>[\"items\"];\n trigger?: \"click\" | \"hover\" | \"contextMenu\";\n dropdownMenuScopeClassName?: string;\n }\n) {\n const {\n children,\n onAction,\n menuItems,\n useMenuItemsSlot = false,\n menuItemsJson: unkeyedMenuItems,\n trigger = \"click\",\n dropdownMenuScopeClassName,\n ...rest\n } = props;\n\n const keyedMenuItems = addKeysToUnkeyedMenuItems(unkeyedMenuItems);\n\n return (\n <Dropdown\n {...rest}\n trigger={[trigger]}\n overlay={() => {\n const itemsChildren = useMenuItemsSlot\n ? menuItems?.() ?? []\n : undefined;\n const items = useMenuItemsSlot ? undefined : keyedMenuItems;\n return (\n <Menu\n className={`${dropdownMenuScopeClassName}`}\n onClick={(event) => onAction?.(event.key)}\n items={items}\n >\n {itemsChildren}\n </Menu>\n );\n }}\n >\n {typeof children === \"string\" ? <div>{children}</div> : children}\n </Dropdown>\n );\n}\n\n/**\n * Note that we don't yet support the simpler `items` prop for configuration.\n */\nexport function registerDropdown(loader?: Registerable) {\n registerComponentHelper(loader, AntdDropdown, {\n name: \"plasmic-antd5-dropdown\",\n displayName: \"Dropdown\",\n props: {\n menuItems: {\n type: \"slot\",\n displayName: \"Menu items\",\n hidden: (ps) => !ps.useMenuItemsSlot,\n allowedComponents: [\n \"plasmic-antd5-menu-item\",\n \"plasmic-antd5-menu-item-group\",\n \"plasmic-antd5-menu-divider\",\n \"plasmic-antd5-submenu\",\n ],\n defaultValue: [\n {\n type: \"component\",\n name: \"plasmic-antd5-menu-item\",\n props: {\n key: \"menu-item-1\",\n },\n },\n {\n type: \"component\",\n name: \"plasmic-antd5-menu-item\",\n props: {\n key: \"menu-item-2\",\n },\n },\n ],\n renderPropParams: [],\n },\n menuItemsJson: {\n type: \"array\",\n displayName: \"Menu Items\",\n hidden: (ps) => !!ps.useMenuItemsSlot,\n itemType: UNKEYED_MENU_ITEM_TYPE as any,\n defaultValue: [\n {\n type: \"item\",\n value: \"action1\",\n label: \"Action 1\",\n },\n {\n type: \"item\",\n value: \"action2\",\n label: \"Action 2\",\n },\n ],\n },\n dropdownMenuScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"dropdownMenu\",\n } as any,\n menuClassName: {\n type: \"class\",\n displayName: \"Menu\",\n selectors: [\n {\n selector: \":dropdownMenu.ant-dropdown-menu\",\n label: \"Base\",\n },\n ],\n },\n menuItemClassName: {\n type: \"class\",\n displayName: \"Menu item\",\n selectors: [\n {\n selector: \":dropdownMenu.ant-dropdown-menu .ant-dropdown-menu-item\",\n label: \"Base\",\n },\n {\n selector:\n \":dropdownMenu.ant-dropdown-menu .ant-dropdown-menu-item-active\",\n label: \"Focused\",\n },\n ],\n },\n open: {\n type: \"boolean\",\n description: \"Toggle visibility of dropdown menu in Plasmic Editor\",\n editOnly: true,\n uncontrolledProp: \"fakeOpen\",\n defaultValueHint: false,\n },\n disabled: {\n type: \"boolean\",\n description: \"Whether the dropdown menu is disabled\",\n defaultValueHint: false,\n },\n placement: {\n type: \"choice\",\n options: [\n \"bottomLeft\",\n \"bottomCenter\",\n \"bottomRight\",\n \"topLeft\",\n \"topCenter\",\n \"topRight\",\n ],\n description: \"Placement of popup menu\",\n defaultValueHint: \"bottomLeft\",\n advanced: true,\n },\n trigger: {\n type: \"choice\",\n options: [\n { value: \"click\", label: \"Click\" },\n { value: \"hover\", label: \"Hover\" },\n { value: \"contextMenu\", label: \"Right-click\" },\n ],\n description: \"The trigger mode which executes the dropdown action\",\n defaultValueHint: \"click\",\n },\n useMenuItemsSlot: {\n type: \"boolean\",\n displayName: \"Use menu items slot\",\n advanced: true,\n description:\n \"Instead of configuring a list of menu items, build the menu items using MenuItem elements. This gives you greater control over item styling.\",\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"component\",\n name: \"plasmic-antd5-button\",\n props: {\n children: {\n type: \"text\",\n value: \"Dropdown\",\n },\n },\n },\n ],\n ...({ mergeWithParent: true } as any),\n },\n onAction: {\n type: \"eventHandler\",\n argTypes: [{ name: \"key\", type: \"string\" }],\n } as any,\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerDropdown\",\n importName: \"AntdDropdown\",\n });\n}\n","import { Input, InputNumber } from \"antd\";\nimport React from \"react\";\nimport {\n inputComponentName,\n inputNumberComponentName,\n passwordComponentName,\n textAreaComponentName,\n} from \"./names\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport const AntdInput = Input;\nexport const AntdTextArea = Input.TextArea;\nexport const AntdPassword = Input.Password;\nexport const AntdInputNumber: typeof InputNumber = InputNumber;\n\nexport const inputHelpers = {\n states: {\n value: {\n onChangeArgsToValue: (\n e: Parameters<\n NonNullable<React.ComponentProps<typeof Input>[\"onChange\"]>\n >[0]\n ) => {\n return e.target.value;\n },\n },\n },\n};\n\nconst COMMON_HELPERS_CONFIG = {\n helpers: inputHelpers,\n importName: \"inputHelpers\",\n importPath: \"@plasmicpkgs/antd5/skinny/registerInput\",\n} as const;\nconst COMMON_STATES = {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n variableType: \"text\",\n onChangeProp: \"onChange\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n} as const;\n\nconst COMMON_DECORATOR_PROPS = {\n prefix: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n suffix: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n addonAfter: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n addonBefore: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n} as const;\n\nconst COMMON_ADVANCED_PROPS = {\n maxLength: {\n type: \"number\",\n advanced: true,\n },\n bordered: {\n type: \"boolean\",\n advanced: true,\n defaultValueHint: true,\n },\n allowClear: {\n type: \"boolean\",\n advanced: true,\n },\n autoFocus: {\n type: \"boolean\",\n advanced: true,\n },\n readOnly: {\n type: \"boolean\",\n advanced: true,\n },\n} as const;\n\nconst COMMON_EVENT_HANDLERS = {\n onChange: {\n type: \"eventHandler\",\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ] as any,\n },\n onPressEnter: {\n type: \"eventHandler\",\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ] as any,\n },\n} as const;\n\nconst inputTypeOptions = [\n \"text\",\n \"password\",\n \"number\",\n \"date\",\n \"datetime-local\",\n \"time\",\n \"email\",\n \"tel\",\n \"hidden\",\n];\n\nexport function registerInput(loader?: Registerable) {\n registerComponentHelper(loader, AntdInput, {\n name: inputComponentName,\n displayName: \"Input\",\n styleSections: [\"visibility\"],\n props: {\n value: {\n type: \"string\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n placeholder: {\n type: \"string\",\n },\n size: {\n type: \"choice\",\n options: [\"large\", \"middle\", \"small\"],\n },\n disabled: {\n type: \"boolean\",\n },\n type: {\n type: \"choice\",\n options: inputTypeOptions,\n defaultValueHint: \"text\",\n },\n ...COMMON_ADVANCED_PROPS,\n ...COMMON_DECORATOR_PROPS,\n ...COMMON_EVENT_HANDLERS,\n },\n states: {\n ...COMMON_STATES,\n },\n ...({ trapsSelection: true } as any),\n componentHelpers: COMMON_HELPERS_CONFIG,\n importPath: \"@plasmicpkgs/antd5/skinny/registerInput\",\n importName: \"AntdInput\",\n });\n}\n\nexport function registerTextArea(loader?: Registerable) {\n registerComponentHelper(loader, AntdTextArea, {\n name: textAreaComponentName,\n parentComponentName: inputComponentName,\n displayName: \"Text Area\",\n styleSections: [\"visibility\"],\n props: {\n value: {\n type: \"string\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n placeholder: {\n type: \"string\",\n },\n disabled: {\n type: \"boolean\",\n },\n maxLength: {\n type: \"number\",\n advanced: true,\n },\n bordered: {\n type: \"boolean\",\n advanced: true,\n defaultValueHint: true,\n },\n autoSize: {\n type: \"boolean\",\n displayName: \"Auto grow height?\",\n },\n ...COMMON_EVENT_HANDLERS,\n },\n states: {\n ...COMMON_STATES,\n },\n componentHelpers: COMMON_HELPERS_CONFIG,\n importPath: \"@plasmicpkgs/antd5/skinny/registerInput\",\n importName: \"AntdTextArea\",\n });\n}\n\nexport function registerPasswordInput(loader?: Registerable) {\n registerComponentHelper(loader, AntdPassword, {\n name: passwordComponentName,\n parentComponentName: inputComponentName,\n displayName: \"Password Input\",\n styleSections: [\"visibility\"],\n props: {\n value: {\n type: \"string\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n placeholder: {\n type: \"string\",\n },\n disabled: {\n type: \"boolean\",\n },\n maxLength: {\n type: \"number\",\n advanced: true,\n },\n\n bordered: {\n type: \"boolean\",\n advanced: true,\n defaultValueHint: true,\n },\n ...COMMON_EVENT_HANDLERS,\n },\n states: {\n ...COMMON_STATES,\n },\n componentHelpers: COMMON_HELPERS_CONFIG,\n importPath: \"@plasmicpkgs/antd5/skinny/registerInput\",\n importName: \"AntdPassword\",\n });\n}\n\nexport function registerNumberInput(loader?: Registerable) {\n registerComponentHelper(loader, AntdInputNumber, {\n name: inputNumberComponentName,\n parentComponentName: inputComponentName,\n displayName: \"Number Input\",\n styleSections: [\"visibility\"],\n props: {\n value: {\n type: \"number\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n placeholder: {\n type: \"string\",\n },\n disabled: {\n type: \"boolean\",\n },\n max: {\n type: \"number\",\n },\n min: {\n type: \"number\",\n },\n step: {\n type: \"number\",\n helpText: \"Increment or decrement step\",\n },\n controls: {\n type: \"boolean\",\n displayName: \"Show add/minus controls?\",\n advanced: true,\n },\n type: {\n type: \"choice\",\n options: inputTypeOptions,\n displayName: \"Input type\",\n defaultValue: \"number\",\n advanced: true,\n },\n ...COMMON_DECORATOR_PROPS,\n ...COMMON_ADVANCED_PROPS,\n ...COMMON_EVENT_HANDLERS,\n // onChange directly called with the number\n onChange: {\n type: \"eventHandler\",\n argTypes: [\n {\n name: \"value\",\n type: \"number\",\n },\n ],\n },\n },\n states: {\n ...COMMON_STATES,\n },\n ...({ trapsSelection: true } as any),\n // don't need component helpers\n importPath: \"@plasmicpkgs/antd5/skinny/registerInput\",\n importName: \"AntdInputNumber\",\n });\n}\n","import type { StyleSection } from \"@plasmicapp/host/registerComponent\";\nimport { Modal } from \"antd\";\nimport React, { ReactElement, useMemo } from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\n// hide sizing section, as width can only be set via a width prop, and not css!\nconst styleSections: StyleSection[] = [\n \"visibility\",\n \"typography\",\n \"spacing\",\n \"background\",\n \"transform\",\n \"transitions\",\n \"layout\",\n \"overflow\",\n \"border\",\n \"shadows\",\n \"effects\",\n];\n\nexport function AntdModal(\n props: React.ComponentProps<typeof Modal> & {\n onOpenChange?: (open: boolean) => void;\n defaultStylesClassName?: string;\n modalScopeClassName: string;\n wrapClassName: string;\n hideFooter?: boolean;\n trigger?: ReactElement;\n }\n) {\n const {\n onOpenChange,\n onOk,\n onCancel,\n open,\n width,\n footer,\n hideFooter,\n modalScopeClassName,\n wrapClassName,\n trigger,\n ...rest\n } = props;\n\n const memoOnOk = React.useMemo(() => {\n if (onOpenChange || onOk) {\n return (e: React.MouseEvent<HTMLButtonElement>) => {\n onOpenChange?.(false);\n onOk?.(e);\n };\n } else {\n return undefined;\n }\n }, [onOpenChange, onOk]);\n const memoOnCancel = React.useMemo(() => {\n if (onOpenChange || onCancel) {\n return (e: React.MouseEvent<HTMLButtonElement>) => {\n onOpenChange?.(false);\n onCancel?.(e);\n };\n } else {\n return undefined;\n }\n }, [onOpenChange, onCancel]);\n\n const widthProp = useMemo(() => {\n if (!width) return undefined;\n if (typeof width === \"number\") return width;\n if (typeof width !== \"string\") return undefined;\n if (/^\\d+$/.test(width)) {\n return +width;\n }\n return width;\n }, [width]);\n\n return (\n <>\n <Modal\n {...rest}\n onOk={memoOnOk}\n width={widthProp}\n onCancel={memoOnCancel}\n open={open}\n footer={hideFooter ? null : footer ?? undefined}\n wrapClassName={wrapClassName}\n className={`${props.className} ${props.defaultStylesClassName} ${modalScopeClassName}`}\n />\n {trigger ? (\n <div onClick={() => onOpenChange?.(true)}>{trigger}</div>\n ) : null}\n </>\n );\n}\n\nexport function registerModal(loader?: Registerable) {\n registerComponentHelper(loader, AntdModal, {\n name: \"plasmic-antd5-modal\",\n displayName: \"Modal\",\n styleSections,\n description:\n \"[See tutorial video](https://www.youtube.com/watch?v=TkjxNJIFun8)\",\n props: {\n open: {\n type: \"boolean\",\n },\n width: {\n type: \"string\",\n defaultValueHint: \"520px\",\n description: \"Change the width of the modal\",\n helpText:\n \"Default unit is px. You can also use % or other units for width.\",\n },\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"vbox\",\n children: [\"Modal content\"],\n },\n },\n title: {\n type: \"slot\",\n defaultValue: \"Modal title\",\n },\n footer: {\n type: \"slot\",\n hidePlaceholder: true,\n hidden: (ps) => ps.hideFooter ?? false,\n },\n trigger: {\n type: \"slot\",\n hidePlaceholder: true,\n defaultValue: {\n type: \"component\",\n name: \"plasmic-antd5-button\",\n props: {\n children: {\n type: \"text\",\n value: \"Show modal\",\n },\n },\n },\n ...({\n mergeWithParent: true,\n } as any),\n },\n closeIcon: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n onOk: {\n type: \"eventHandler\",\n argTypes: [],\n } as any,\n onCancel: {\n type: \"eventHandler\",\n argTypes: [],\n } as any,\n okText: {\n type: \"string\",\n hidden: (ps) => !!ps.footer,\n advanced: true,\n },\n cancelText: {\n type: \"string\",\n hidden: (ps) => !!ps.footer,\n advanced: true,\n },\n hideFooter: {\n type: \"boolean\",\n description: \"Hide the modal footer slot\",\n advanced: true,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"open\", type: \"boolean\" }],\n } as any,\n maskClosable: {\n type: \"boolean\",\n displayName: \"Close modal on outside click?\",\n description:\n \"Whether to close the modal when user clicks outside the modal\",\n defaultValueHint: true,\n },\n wrapClassName: {\n type: \"class\",\n displayName: \"Modal overlay\",\n styleSections: [\"background\"],\n },\n modalScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"modal\",\n } as any,\n modalContentClassName: {\n type: \"class\",\n displayName: \"Modal content\",\n noSelf: true,\n styleSections,\n selectors: [\n {\n selector: \":modal .ant-modal-content\",\n label: \"Base\",\n },\n ],\n } as any,\n closeButtonClassName: {\n type: \"class\",\n displayName: \"Close button\",\n noSelf: true,\n selectors: [\n {\n selector: \":modal .ant-modal-close\",\n label: \"Base\",\n },\n ],\n advanced: true,\n } as any,\n defaultStylesClassName: {\n type: \"themeResetClass\",\n } as any,\n },\n states: {\n open: {\n type: \"writable\",\n valueProp: \"open\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n templates: {\n \"Modal Form\": {\n props: {\n children: {\n type: \"component\",\n name: \"plasmic-antd5-form\",\n },\n hideFooter: true,\n },\n },\n \"Generic Modal\": {},\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerModal\",\n importName: \"AntdModal\",\n });\n}\n","import { Pagination } from \"antd\";\nimport React, { useEffect } from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\ntype AntdPaginationProps = Omit<\n React.ComponentProps<typeof Pagination>,\n \"pageSizeOptions\"\n> & {\n pageSizeOptions?: { pageSize: number }[];\n paginatedUrl?: (pageNo: number, pageSize: number) => string;\n};\n\nexport function AntdPagination(props: AntdPaginationProps) {\n const { paginatedUrl, pageSizeOptions, ...rest } = props;\n\n // to populate startIndex and endIndex states which are set via onChange prop.\n useEffect(() => {\n if (props.current && props.pageSize && props.onChange) {\n props.onChange(props.current, props.pageSize);\n }\n }, []);\n\n return (\n <Pagination\n pageSizeOptions={pageSizeOptions\n ?.filter((i) => i?.pageSize)\n .map((i) => i.pageSize)}\n itemRender={\n paginatedUrl\n ? (pageNo, _, originalElement) => {\n if (!React.isValidElement(originalElement) || !props.pageSize) {\n return originalElement;\n }\n let rel = undefined;\n if (props.current) {\n rel =\n pageNo === props.current\n ? \"self\"\n : pageNo === props.current - 1\n ? \"prev\"\n : pageNo === props.current + 1\n ? \"next\"\n : undefined;\n }\n\n const href = paginatedUrl(pageNo, props.pageSize);\n return React.cloneElement(originalElement, {\n ...originalElement.props,\n rel,\n href,\n style: {\n ...(originalElement.props?.style ?? {}),\n pointerEvents: \"none\",\n },\n });\n }\n : undefined\n }\n {...rest}\n />\n );\n}\n\nexport const paginationComponentName = \"plasmic-antd5-pagination\";\n\nexport const paginationHelpers = {\n states: {\n pageSize: {\n onChangeArgsToValue: (_: number, pageSize: number) => pageSize,\n },\n startIndex: {\n onChangeArgsToValue: (currentPage: number, pageSize: number) =>\n (currentPage - 1) * pageSize,\n },\n endIndex: {\n onChangeArgsToValue: (currentPage: number, pageSize: number) =>\n pageSize * currentPage - 1,\n },\n },\n};\n\nexport function registerPagination(loader?: Registerable) {\n registerComponentHelper(loader, AntdPagination, {\n name: paginationComponentName,\n displayName: \"Pagination\",\n props: {\n current: {\n editOnly: true,\n uncontrolledProp: \"defaultCurrent\",\n type: \"number\",\n displayName: \"Current Page\",\n description: `Default current page`,\n defaultValue: 1,\n },\n total: {\n type: \"number\",\n defaultValueHint: 0,\n description: `Total number of data items`,\n },\n pageSize: {\n editOnly: true,\n uncontrolledProp: \"defaultPageSize\",\n type: \"number\",\n displayName: \"Page size\",\n description: `Default number of items per page`,\n defaultValue: 10,\n },\n disabled: {\n type: \"boolean\",\n defaultValueHint: false,\n description: `Disable pagination controls`,\n },\n hideOnSinglePage: {\n type: \"boolean\",\n defaultValueHint: false,\n advanced: true,\n description: `Hide pager on single page`,\n },\n showLessItems: {\n type: \"boolean\",\n defaultValueHint: false,\n advanced: true,\n description: `Show less page items`,\n hidden: (ps) => !!ps.simple,\n },\n showQuickJumper: {\n type: \"boolean\",\n defaultValueHint: false,\n advanced: true,\n description: `Show \"Go to page\" control to enable jumping to pages directly`,\n hidden: (ps) => !!ps.simple,\n },\n showSizeChanger: {\n type: \"boolean\",\n defaultValueHint: (ps) => (ps.total ? ps.total > 50 : false),\n advanced: true,\n description: `Show page size selector`,\n hidden: (ps) => !!ps.simple,\n },\n // showTitle prop seems to be doing nothing, so this is skipped\n // showTitle: {\n // type: \"boolean\",\n // defaultValueHint: true,\n // description: `Show page item's title`,\n // },\n showTotal: {\n type: \"function\" as const,\n displayName: \"Show total\",\n description: \"Display the total number and range\",\n advanced: true,\n argNames: [\"total\", \"range\"],\n argValues: (_ps: any, ctx: any) => [ctx.data[0], ctx.data[1]],\n } as any,\n simple: {\n type: \"boolean\",\n defaultValueHint: false,\n description: `Uuse simple mode (i.e. minimal controls)`,\n },\n size: {\n type: \"choice\",\n defaultValueHint: \"default\",\n description: `Size of the pager`,\n options: [\"default\", \"small\"],\n },\n pageSizeOptions: {\n type: \"array\",\n defaultValue: [\n {\n pageSize: 10,\n },\n {\n pageSize: 20,\n },\n {\n pageSize: 50,\n },\n {\n pageSize: 100,\n },\n ],\n description: \"The list of available page sizes\",\n advanced: true,\n itemType: {\n type: \"object\",\n nameFunc: (item) => item.pageSize,\n fields: {\n pageSize: {\n type: \"number\",\n min: 1,\n },\n },\n },\n },\n paginatedUrl: {\n type: \"function\",\n advanced: true,\n description:\n \"Helps generate SEO-friendly pagination links. These links will include appropriate href attributes, ensuring that search engines can effectively crawl and index your paginated content\",\n control: {\n type: \"href\",\n },\n argNames: [\"pageNo\", \"pageSize\"],\n argValues: (_props: AntdPaginationProps, ctx: any) => [\n ctx?.data?.[0],\n _props.pageSize,\n ],\n } as any,\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"page\",\n type: \"number\",\n },\n {\n name: \"pageSize\",\n type: \"number\",\n },\n ],\n },\n onShowSizeChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"current\",\n type: \"number\",\n },\n {\n name: \"size\",\n type: \"number\",\n },\n ],\n },\n },\n states: {\n currentPage: {\n type: \"writable\",\n valueProp: \"current\",\n onChangeProp: \"onChange\",\n variableType: \"number\",\n },\n pageSize: {\n type: \"writable\",\n valueProp: \"pageSize\",\n onChangeProp: \"onShowSizeChange\",\n variableType: \"number\",\n ...paginationHelpers.states.pageSize,\n },\n startIndex: {\n type: \"readonly\",\n variableType: \"number\",\n onChangeProp: \"onChange\",\n ...paginationHelpers.states.startIndex,\n },\n endIndex: {\n type: \"readonly\",\n variableType: \"number\",\n onChangeProp: \"onChange\",\n ...paginationHelpers.states.endIndex,\n },\n },\n componentHelpers: {\n helpers: paginationHelpers,\n importName: \"paginationHelpers\",\n importPath: \"@plasmicpkgs/antd5/skinny/registerPagination\",\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerPagination\",\n importName: \"AntdPagination\",\n });\n}\n","import { Popover } from \"antd\";\nimport React from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport function AntdPopover(\n props: React.ComponentProps<typeof Popover> & {\n popoverScopeClassName?: string;\n contentText?: string;\n defaultStylesClassName?: string;\n }\n) {\n const {\n overlayClassName,\n popoverScopeClassName,\n defaultStylesClassName,\n contentText,\n content,\n ...rest\n } = props;\n return (\n <Popover\n content={content || contentText}\n overlayClassName={`${overlayClassName} ${popoverScopeClassName} ${defaultStylesClassName}`}\n {...rest}\n />\n );\n}\n\nexport function registerPopover(loader?: Registerable) {\n registerComponentHelper(loader, AntdPopover, {\n name: \"plasmic-antd5-popover\",\n displayName: \"Popover\",\n isAttachment: true,\n props: {\n open: {\n type: \"boolean\",\n editOnly: true,\n uncontrolledProp: \"defaultOpen\",\n description: \"Default open state of the popover\",\n },\n arrow: {\n type: \"boolean\",\n defaultValue: true,\n advanced: true,\n },\n children: {\n type: \"slot\",\n defaultValue: \"This text element is wrapped in a Popover component\",\n mergeWithParent: true,\n } as any,\n popoverScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"popover\",\n } as any,\n popoverContentClassName: {\n type: \"class\",\n displayName: \"Popover content\",\n selectors: [\n {\n selector: \":popover.ant-popover .ant-popover-inner\",\n label: \"Base\",\n },\n ],\n },\n overlayClassName: {\n type: \"class\",\n displayName: \"Overlay\",\n },\n content: {\n type: \"slot\",\n displayName: \"Popover contents\",\n defaultValue: \"Popover contents\",\n hidePlaceholder: true,\n },\n /**\n * NOTE: contentText ensures that the popover shows as a custom behaviour without modifications\n * (when a random element is given a custom behaviour of Popover, the props of type \"slot\" do not receive any default value.\n * Therefore we use the contentText which has a string default value, so that the popover shows with at least something)\n * */\n contentText: {\n type: \"string\",\n displayName: \"Popover contents\",\n description: \"What gets shown inside the popover on hover\",\n defaultValue: \"Popover contents\",\n hidden: (ps) => !!ps.content,\n },\n title: {\n type: \"slot\",\n displayName: \"Popover title\",\n hidePlaceholder: true,\n defaultValue: \"Popover title\",\n },\n color: {\n type: \"color\",\n description: \"Popover fill color\",\n },\n trigger: {\n type: \"choice\",\n options: [\"hover\", \"focus\", \"click\"],\n defaultValueHint: \"hover\",\n advanced: true,\n },\n placement: {\n type: \"choice\",\n options: [\n \"topLeft\",\n \"top\",\n \"topRight\",\n \"leftTop\",\n \"left\",\n \"leftBottom\",\n \"rightTop\",\n \"right\",\n \"rightBottom\",\n \"bottomLeft\",\n \"bottom\",\n \"bottomRight\",\n ],\n description: \"Default placement of popover\",\n defaultValueHint: \"top\",\n },\n mouseEnterDelay: {\n type: \"number\",\n description: \"Delay in seconds, before popover is shown on mouse enter\",\n defaultValue: 0,\n advanced: true,\n hidden: (ps) => (ps.trigger ? ps.trigger !== \"hover\" : false),\n },\n mouseLeaveDelay: {\n type: \"number\",\n description:\n \"Delay in seconds, before popover is hidden on mouse leave\",\n defaultValue: 0,\n advanced: true,\n hidden: (ps) => (ps.trigger ? ps.trigger !== \"hover\" : false),\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"open\", type: \"boolean\" }],\n advanced: true,\n },\n defaultStylesClassName: {\n type: \"themeResetClass\",\n } as any,\n },\n states: {\n open: {\n type: \"writable\",\n valueProp: \"open\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerPopover\",\n importName: \"AntdPopover\",\n });\n}\n","import { Progress } from \"antd\";\nimport React, { useMemo } from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport type AntdProgressProps = Omit<\n React.ComponentProps<typeof Progress>,\n \"format\" | \"success\" | \"successPercent\"\n> & {\n successPercent?: number;\n successStrokeColor?: string;\n infoFormat?: (percent?: number, percentSuccess?: number) => string;\n stepColors?: { color: string }[];\n gradient: { color: string; percent: number }[];\n};\n\nexport function AntdProgress(props: AntdProgressProps) {\n const {\n successPercent,\n successStrokeColor,\n stepColors,\n infoFormat,\n gradient,\n strokeColor,\n ...rest\n } = props;\n\n const success = useMemo(() => {\n if (!successPercent && !successStrokeColor) return undefined;\n const res: React.ComponentProps<typeof Progress>[\"success\"] = {\n percent: successPercent,\n strokeColor: successStrokeColor,\n };\n return res;\n }, [successPercent, successStrokeColor]);\n\n const strokeColorProp = useMemo(() => {\n if (props.type === \"line\" && !!props.steps) {\n const colors = stepColors?.map((c) => c.color).filter((c) => c);\n if (colors?.length) {\n return colors;\n }\n }\n const res: Record<number, string> = {};\n gradient\n ?.filter((g) => g.color && g.percent !== undefined)\n .map((g) => {\n res[g.percent] = g.color;\n });\n if (Object.keys(res).length) return res;\n return strokeColor;\n }, [gradient, props.steps, props.type, stepColors, strokeColor]);\n\n return (\n <Progress\n strokeColor={strokeColorProp}\n success={success}\n format={infoFormat}\n {...rest}\n />\n );\n}\n\nexport const progressComponentName = \"plasmic-antd5-progress\";\n\nexport function registerProgress(loader?: Registerable) {\n registerComponentHelper(loader, AntdProgress, {\n name: progressComponentName,\n displayName: \"Progress\",\n props: {\n type: {\n type: \"choice\",\n defaultValueHint: \"line\",\n options: [\"line\", \"circle\", \"dashboard\"],\n },\n percent: {\n type: \"number\",\n description: \"The completion percentage\",\n defaultValueHint: 0,\n },\n size: {\n type: \"choice\",\n defaultValueHint: \"default\",\n description: `Size of progress`,\n advanced: true,\n options: [\"default\", \"small\"],\n },\n showInfo: {\n type: \"boolean\",\n displayName: \"Show text\",\n defaultValueHint: true,\n advanced: true,\n description: \"Display the progress value and the status icon\",\n },\n status: {\n type: \"choice\",\n defaultValueHint: \"normal\",\n advanced: true,\n options: [\"success\", \"exception\", \"normal\", \"active\"],\n },\n strokeColor: {\n type: \"color\",\n description: \"The color of progress bar\",\n },\n strokeLinecap: {\n type: \"choice\",\n description: \"Style of endpoints of the progress path\",\n defaultValueHint: \"round\",\n advanced: true,\n options: [\"round\", \"butt\", \"square\"],\n },\n successPercent: {\n type: \"number\",\n advanced: true,\n },\n successStrokeColor: {\n type: \"color\",\n description: \"Color of the progress path marked success\",\n advanced: true,\n hidden: (ps) => !ps.successPercent,\n },\n trailColor: {\n type: \"color\",\n advanced: true,\n description: \"The color of unfilled part\",\n },\n infoFormat: {\n type: \"function\" as const,\n displayName: \"Format\",\n defaultValueHint: ({ percent }: AntdProgressProps) =>\n `${percent || 0}%`,\n description: \"Customize the progress text\",\n advanced: true,\n hidden: (ps: AntdProgressProps) =>\n ps.showInfo === undefined ? false : !ps.showInfo,\n argNames: [\"percent\", \"successPercent\"],\n argValues: (_ps: AntdProgressProps) => [\n _ps.percent,\n _ps.successPercent,\n ],\n } as any,\n steps: {\n type: \"number\",\n hidden: (ps) => ps.type !== \"line\",\n advanced: true,\n description: \"The total step count\",\n },\n stepColors: {\n type: \"array\",\n hidden: (ps) => (ps.type !== \"line\" ? true : ps.steps == null),\n advanced: true,\n itemType: {\n type: \"object\",\n nameFunc: (item) => item.color,\n fields: {\n color: {\n type: \"color\",\n },\n },\n },\n },\n gradient: {\n type: \"array\",\n hidden: (ps) => ps.type === \"line\" && !!ps.steps,\n advanced: true,\n itemType: {\n type: \"object\",\n nameFunc: (item) => `${item.percent}%: ${item.color}`,\n fields: {\n color: {\n type: \"color\",\n },\n percent: {\n type: \"number\",\n },\n },\n },\n },\n strokeWidth: {\n type: \"number\",\n hidden: (ps) => ps.type === \"line\",\n description:\n \"To set the width of the circular progress, unit: percentage of the canvas width\",\n advanced: true,\n defaultValueHint: 6,\n },\n gapDegree: {\n type: \"number\",\n hidden: (ps) => ps.type !== \"dashboard\",\n defaultValueHint: 75,\n advanced: true,\n description: \"The gap degree of half circle\",\n min: 0,\n max: 295,\n },\n gapPosition: {\n type: \"choice\",\n hidden: (ps) => ps.type !== \"dashboard\",\n options: [\"top\", \"bottom\", \"left\", \"right\"],\n advanced: true,\n defaultValueHint: \"bottom\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerProgress\",\n importName: \"AntdProgress\",\n });\n}\n","import { Rate } from \"antd\";\nimport React, { ReactElement, useMemo } from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\ntype AntdRateProps = Omit<React.ComponentProps<typeof Rate>, \"tooltips\"> & {\n tooltips?: { label: string }[];\n multiCharacter?: boolean;\n symbols?: React.ReactElement;\n};\n\nexport function AntdRate(props: AntdRateProps) {\n const { character, count, tooltips, multiCharacter, symbols, ...rest } =\n props;\n\n const symbolsProp: ReactElement[] = useMemo(\n () =>\n (Array.isArray(symbols?.props?.children)\n ? symbols?.props?.children\n : [symbols]\n )\n ?.filter((c: any) => React.isValidElement(c))\n .map((c: ReactElement) => <>{c}</>) || [],\n [symbols]\n );\n const countProp = useMemo(() => {\n if (!multiCharacter) {\n return count;\n }\n return symbolsProp?.length;\n }, [count, multiCharacter, symbolsProp?.length]);\n\n const characterProp = useMemo(() => {\n if (!multiCharacter) {\n return character || undefined;\n }\n return symbolsProp?.length\n ? ({ index }: any) => symbolsProp[index]\n : character || undefined;\n }, [character, multiCharacter, symbolsProp]);\n\n return (\n <Rate\n tooltips={tooltips?.map((t) => t?.label)}\n count={countProp}\n character={characterProp}\n {...rest}\n />\n );\n}\n\nexport const rateComponentName = \"plasmic-antd5-rate\";\n\nexport function registerRate(loader?: Registerable) {\n registerComponentHelper(loader, AntdRate, {\n name: rateComponentName,\n displayName: \"Rate\",\n props: {\n allowClear: {\n type: \"boolean\",\n advanced: true,\n defaultValueHint: true,\n description: \"Clear the rating when the user clicks again\",\n },\n allowHalf: {\n type: \"boolean\",\n advanced: true,\n defaultValueHint: false,\n description: \"Allow fractional rating.\",\n },\n autoFocus: {\n type: \"boolean\",\n description: \"Focus when component is rendered\",\n defaultValueHint: false,\n advanced: true,\n },\n character: {\n type: \"slot\",\n displayName: \"Symbol\",\n hidePlaceholder: true,\n hidden: (ps: AntdRateProps) => Boolean(ps.multiCharacter),\n },\n multiCharacter: {\n type: \"boolean\",\n displayName: \"Multi Symbol\",\n description:\n \"Allow different symbols for rating. (You can add these symbols in the component slots if this is enabled)\",\n advanced: true,\n },\n symbols: {\n type: \"slot\",\n displayName: \"Symbols\",\n hidePlaceholder: true,\n defaultValue: [\"1\", \"2\", \"3\", \"4\", \"5\"],\n hidden: (ps: AntdRateProps) => !ps.multiCharacter,\n },\n count: {\n type: \"number\",\n description: \"Rating count\",\n defaultValueHint: 5,\n advanced: true,\n hidden: (ps: AntdRateProps) => Boolean(ps.multiCharacter),\n },\n value: {\n type: \"number\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Default rating\",\n defaultValueHint: 0,\n },\n disabled: {\n type: \"boolean\",\n description: \"Read-only rating\",\n defaultValueHint: false,\n },\n tooltips: {\n type: \"array\",\n description: \"Rating labels\",\n displayName: \"Labels\",\n advanced: true,\n hidden: (ps: AntdRateProps) => !ps.count,\n itemType: {\n type: \"object\",\n fields: {\n label: \"string\",\n },\n nameFunc: (value: any) => value.label,\n },\n validator: (value: any, ps: any) => {\n if (!ps.count) {\n return true;\n }\n if (!Array.isArray(value) || value.length === 0) {\n return true;\n }\n if (value.length < ps.count) {\n return `You need ${ps.count - value.length} more labels`;\n }\n if (value.length > ps.count) {\n return \"You have too many labels. Some labels will not be used\";\n }\n return true;\n },\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"value\", type: \"number\" }],\n },\n onBlur: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [],\n },\n onFocus: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [],\n },\n onHoverChange: {\n type: \"eventHandler\",\n advanced: true,\n description: \"Callback when an item is hovered\",\n argTypes: [],\n },\n onKeyDown: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"event\", type: \"object\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"number\",\n },\n },\n\n importPath: \"@plasmicpkgs/antd5/skinny/registerRate\",\n importName: \"AntdRate\",\n });\n}\n","import type { PlasmicElement } from \"@plasmicapp/host\";\nimport { ActionProps } from \"@plasmicapp/host/registerComponent\";\nimport { Segmented } from \"antd\";\nimport React, { ReactElement, useMemo } from \"react\";\nimport {\n Registerable,\n registerComponentHelper,\n traverseReactEltTree,\n} from \"./utils\";\n\nexport type AntdSegmentedOptionProps = {\n value: string;\n children: React.ReactNode;\n};\n\nexport type AntdSegmentedProps = Omit<\n React.ComponentProps<typeof Segmented>,\n \"options\"\n> & {\n options?: { label: string; value: string }[];\n optionsSlot?: ReactElement; // options with more than just text\n useSlotOptions: boolean;\n};\n\nexport function AntdSegmented(props: AntdSegmentedProps) {\n const {\n optionsSlot,\n options: optionLabelObjs,\n useSlotOptions,\n ...rest\n } = props;\n\n const options = useMemo(() => {\n // segment labels with text and more\n if (useSlotOptions) {\n const optionElts =\n (optionsSlot?.type as any)?.name == AntdSegmentedOption.name\n ? [optionsSlot]\n : optionsSlot?.props.children;\n return optionElts\n ?.filter(\n (el: any) =>\n React.isValidElement(el) &&\n (el.type as any)?.name === AntdSegmentedOption.name\n )\n .map((el: ReactElement<AntdSegmentedOptionProps>) => ({\n value: el.props.value,\n label: <>{el.props.children}</>,\n }));\n }\n\n // segment labels with text only\n return optionLabelObjs?.filter((l) => l.label && l.value) || [];\n }, [optionsSlot, useSlotOptions, optionLabelObjs]);\n\n return <Segmented options={options} {...rest} />;\n}\nexport function AntdSegmentedOption(props: AntdSegmentedOptionProps) {\n return <>{props.children}</>;\n}\n\nfunction OutlineMessage() {\n return <div>* To re-arrange options, use the Outline panel</div>;\n}\n\nfunction getValueOptions(props: AntdSegmentedProps) {\n if (props.useSlotOptions) {\n const res = new Set<string>();\n traverseReactEltTree(props.optionsSlot, (elt) => {\n if (elt?.type === AntdSegmentedOption && elt.props?.value) {\n res.add(elt.props?.value);\n }\n });\n return Array.from(res.keys());\n } else {\n return (\n props.options?.filter((l) => l.label && l.value).map((l) => l.value) || []\n );\n }\n}\n\nfunction getDefaultSlotOption(key: number | string): PlasmicElement {\n return {\n type: \"component\",\n name: segmentedOptionComponentName,\n props: {\n value: `Option ${key}`,\n children: {\n type: \"hbox\",\n styles: {\n columnGap: \"5px\",\n justifyContent: \"center\",\n },\n children: [\n {\n type: \"img\",\n styles: {\n opacity: 0.5,\n objectFit: \"contain\",\n },\n src: \"https://static1.plasmic.app/home-outlined.svg\",\n },\n {\n type: \"text\",\n value: `Option ${key}`,\n styles: {\n width: \"auto\",\n },\n },\n ],\n },\n },\n };\n}\n\nexport const segmentedComponentName = \"plasmic-antd5-segmented\";\nexport const segmentedOptionComponentName = \"plasmic-antd5-segmented-option\";\n\nexport function registerSegmented(loader?: Registerable) {\n registerComponentHelper(loader, AntdSegmentedOption, {\n name: segmentedOptionComponentName,\n displayName: \"Segmented Option\",\n props: {\n value: {\n type: \"string\",\n displayName: \"Name\",\n description: \"Name of the segment\",\n },\n children: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerSegmented\",\n importName: \"AntdSegmentedOption\",\n parentComponentName: segmentedComponentName,\n });\n\n registerComponentHelper(loader, AntdSegmented, {\n name: segmentedComponentName,\n displayName: \"Segmented\",\n props: {\n size: {\n type: \"choice\",\n defaultValueHint: \"middle\",\n description: `Set the size of segments`,\n options: [\"large\", \"middle\", \"small\"],\n },\n value: {\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n type: \"choice\",\n options: getValueOptions,\n displayName: \"Selected option\",\n description: `Default selected option`,\n hidden: (ps: AntdSegmentedProps) => !ps.options,\n },\n disabled: {\n type: \"boolean\",\n defaultValueHint: false,\n description: `Disable all segments`,\n },\n block: {\n type: \"boolean\",\n displayName: \"Fill spacing\",\n defaultValueHint: false,\n description: `Fill the container element, with all segments equally spaced`,\n },\n useSlotOptions: {\n type: \"boolean\",\n defaultValue: false,\n advanced: true,\n description: \"Add icons, avatars, images, and more in option labels\",\n },\n options: {\n type: \"array\",\n hidden: (ps: AntdSegmentedProps) => ps.useSlotOptions,\n validator: (value: any[], ps: any) => {\n if (ps.useSlotOptions) {\n return true;\n }\n const badOptions = value\n .map((v, i) => (!v.value || !v.label ? i + 1 : undefined))\n .filter((i) => i);\n if (badOptions.length > 0) {\n return `Options at position ${badOptions.join(\n \", \"\n )} are missing label or value`;\n }\n return true;\n },\n itemType: {\n type: \"object\",\n nameFunc: (item: any) => item.label,\n fields: {\n label: {\n type: \"string\",\n required: true,\n },\n value: {\n type: \"string\",\n required: true,\n },\n },\n },\n defaultValue: [\n {\n label: \"Option 1\",\n value: \"Option 1\",\n },\n {\n label: \"Option 2\",\n value: \"Option 2\",\n },\n {\n label: \"Option 3\",\n value: \"Option 3\",\n },\n ],\n },\n optionsSlot: {\n type: \"slot\",\n displayName: \"Options\",\n allowedComponents: [segmentedOptionComponentName],\n hidden: (ps: AntdSegmentedProps) => !ps.useSlotOptions,\n defaultValue: [getDefaultSlotOption(1), getDefaultSlotOption(2)],\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"value\", type: \"string\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n },\n },\n actions: [\n {\n type: \"button-action\",\n label: \"Add new option\",\n hidden: (ps) => !ps.useSlotOptions,\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n // Get the first positive integer that isn't already a key\n const generateNewKey = () => {\n const existingValues = new Set<string>();\n traverseReactEltTree(componentProps.optionsSlot, (elt) => {\n if (elt?.type === AntdSegmentedOption && elt?.props?.value) {\n existingValues.add(elt.props.value);\n }\n });\n\n for (\n let keyCandidate = 1;\n keyCandidate <= existingValues.size + 1;\n keyCandidate++\n ) {\n const strKey = keyCandidate.toString();\n if (\n !existingValues.has(strKey) &&\n !existingValues.has(`Option ${strKey}`)\n ) {\n return strKey;\n }\n }\n\n return undefined;\n };\n\n const newKey = generateNewKey();\n if (!newKey) {\n return;\n }\n studioOps.appendToSlot(getDefaultSlotOption(newKey), \"optionsSlot\");\n },\n },\n {\n type: \"button-action\",\n hidden: (ps) => !ps.value || !ps.useSlotOptions,\n label: \"Delete current option\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n const options: string[] = [];\n traverseReactEltTree(componentProps.optionsSlot, (elt) => {\n if (elt?.type === AntdSegmentedOption && elt?.props?.value) {\n options.push(elt.props.value);\n }\n });\n\n const value = componentProps.value;\n const currPos = options.findIndex((opt) => {\n return opt === value;\n });\n\n if (currPos !== -1) {\n studioOps.removeFromSlotAt(currPos, \"optionsSlot\");\n if (options.length - 1 > 0) {\n const prevPos = (currPos - 1 + options.length) % options.length;\n studioOps.updateProps({ value: options[prevPos] });\n }\n }\n },\n },\n\n {\n type: \"custom-action\",\n hidden: (ps) => !ps.useSlotOptions,\n control: OutlineMessage,\n },\n ],\n importPath: \"@plasmicpkgs/antd5/skinny/registerSegmented\",\n importName: \"AntdSegmented\",\n });\n}\n","import { PropType } from \"@plasmicapp/host\";\nimport { Slider } from \"antd\";\nimport type { SliderTooltipProps } from \"antd/lib/slider\";\nimport type { TooltipPlacement } from \"antd/lib/tooltip\";\nimport kebabCase from \"lodash/kebabCase\";\nimport React, { ReactElement, useMemo } from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport type StylableMark = {\n mark: number;\n children: React.ReactNode;\n};\n\nexport type SliderTooltip = {\n tooltipPrefix?: string;\n tooltipSuffix?: string;\n tooltipVisible?: boolean | string;\n tooltipPlacement?: TooltipPlacement;\n};\n\nexport type SimpleMark = { value: number; label: string };\n\nexport type AntdSliderBaseProps = Omit<\n React.ComponentProps<typeof Slider>,\n | \"range\"\n | \"tooltipVisible\"\n | \"tooltip\"\n | \"marks\"\n | \"onChange\"\n | \"onAfterChange\"\n | \"value\"\n | \"defaultValue\"\n | \"trackStyle\"\n | \"railStyle\"\n | \"handleStyle\"\n | \"onChangeComplete\"\n> &\n SliderTooltip & {\n stylableMarks?: ReactElement;\n marks?: SimpleMark[];\n sliderScopeClassName?: string;\n };\n\nexport interface AntdSingleSliderProps extends AntdSliderBaseProps {\n value?: number;\n defaultValue?: number;\n onChange: (value?: number) => void;\n onAfterChange: (value?: number) => void;\n}\n\nexport interface AntdRangeSliderProps extends AntdSliderBaseProps {\n draggableTrack?: boolean;\n valueMin?: number;\n valueMax?: number;\n defaultValueMin?: number;\n defaultValueMax?: number;\n onChange: (value?: number[]) => void;\n onAfterChange: (value?: number[]) => void;\n}\n\nexport function useMarks({\n simpleMarks,\n stylableMarks,\n}: {\n simpleMarks?: SimpleMark[];\n stylableMarks?: ReactElement;\n}): Record<number, React.ReactNode | { label: string }> {\n const marks: Record<number, React.ReactNode | { label: string }> =\n useMemo(() => {\n const stylableMarksList =\n (stylableMarks?.type as any)?.name == AntdSliderMark.name\n ? [stylableMarks]\n : stylableMarks?.props.children;\n const res: Record<number, React.ReactNode | { label: string }> = {};\n\n stylableMarksList\n ?.filter(\n (c: any) =>\n React.isValidElement(c) &&\n (c.type as any)?.name === AntdSliderMark.name\n )\n .forEach((c: ReactElement<StylableMark>) => {\n res[c.props.mark] = c.props.children;\n });\n\n simpleMarks?.forEach((mark) => {\n res[mark.value] = { label: mark.label };\n });\n return res;\n }, [simpleMarks, stylableMarks]);\n\n return marks;\n}\n\nexport function useTooltip({\n tooltipVisible,\n tooltipPlacement,\n tooltipPrefix,\n tooltipSuffix,\n}: SliderTooltip): SliderTooltipProps {\n return {\n open: tooltipVisible === \"unset\" ? undefined : Boolean(tooltipVisible),\n placement: tooltipPlacement,\n getPopupContainer: (node) => node,\n formatter: (value) =>\n `${tooltipPrefix || \"\"}${value}${tooltipSuffix || \"\"}`,\n };\n}\n\nexport function AntdRangeSlider(props: AntdRangeSliderProps) {\n const {\n marks,\n stylableMarks,\n sliderScopeClassName,\n className,\n tooltipVisible,\n tooltipPlacement,\n tooltipPrefix,\n tooltipSuffix,\n draggableTrack,\n valueMin,\n valueMax,\n defaultValueMin,\n defaultValueMax,\n onAfterChange,\n ...rest\n } = props;\n const marksProp = useMarks({ simpleMarks: marks, stylableMarks });\n const tooltipProp = useTooltip({\n tooltipVisible,\n tooltipPlacement,\n tooltipPrefix,\n tooltipSuffix,\n });\n return (\n <Slider\n value={[valueMin || 0, valueMax || 0]}\n defaultValue={[defaultValueMin || 0, defaultValueMax || 0]}\n range={{ draggableTrack }}\n className={`${sliderScopeClassName} ${className}`}\n tooltip={tooltipProp}\n marks={marksProp}\n onChangeComplete={onAfterChange}\n {...rest}\n />\n );\n}\n\nexport function AntdSingleSlider(props: AntdSingleSliderProps) {\n const {\n marks,\n stylableMarks,\n sliderScopeClassName,\n className,\n tooltipVisible,\n tooltipPlacement,\n tooltipPrefix,\n tooltipSuffix,\n onAfterChange,\n ...rest\n } = props;\n\n const marksProp = useMarks({ simpleMarks: marks, stylableMarks });\n const tooltipProp = useTooltip({\n tooltipVisible,\n tooltipPlacement,\n tooltipPrefix,\n tooltipSuffix,\n });\n return (\n <Slider\n className={`${sliderScopeClassName} ${className}`}\n tooltip={tooltipProp}\n marks={marksProp}\n range={false}\n onChangeComplete={onAfterChange}\n {...rest}\n />\n );\n}\n\nexport function AntdSliderMark(props: StylableMark) {\n return <>{props.children}</>;\n}\n\nexport const sliderComponentName = \"plasmic-antd5-slider\";\nexport const rangeSliderComponentName = \"plasmic-antd5-range-slider\";\nexport const sliderMarkComponentName = \"plasmic-antd5-slider-mark\";\n\nconst commonProps: Record<string, PropType<any>> = {\n autoFocus: {\n type: \"boolean\",\n description: \"Focus when component is rendered\",\n defaultValueHint: false,\n advanced: true,\n },\n disabled: {\n type: \"boolean\",\n description: \"If true, the slider thumb will not be draggable\",\n defaultValueHint: false,\n },\n keyboard: {\n type: \"boolean\",\n description: \"Support using keyboard to move handlers\",\n defaultValueHint: true,\n advanced: true,\n },\n dots: {\n type: \"boolean\",\n displayName: \"Show dots\",\n description: \"Show dot at every step on the slider\",\n defaultValueHint: false,\n advanced: true,\n },\n marks: {\n type: \"array\",\n description: \"Specific markers or snap points on the slider\",\n itemType: {\n nameFunc: (value) => `${value.value} → ${value.label}`,\n type: \"object\",\n fields: {\n value: {\n type: \"number\",\n description: \"value on the slider\",\n },\n label: \"string\",\n },\n },\n },\n stylableMarks: {\n type: \"slot\",\n displayName: \"Stylable Marks\",\n allowedComponents: [sliderMarkComponentName],\n defaultValue: [\n {\n type: \"component\",\n name: sliderMarkComponentName,\n props: {\n mark: 50,\n children: {\n type: \"text\",\n value: \"Stylable Mark\",\n },\n },\n },\n ],\n },\n included: {\n type: \"boolean\",\n description: \"Fill the slider till the selected value\",\n defaultValueHint: true,\n advanced: true,\n },\n min: {\n type: \"number\",\n description: \"The minimum value the slider can slide to\",\n defaultValueHint: 0,\n displayName: \"Slider start\",\n },\n max: {\n type: \"number\",\n description: \"The maximum value the slider can slide to\",\n defaultValueHint: 100,\n displayName: \"Slider end\",\n },\n reverse: {\n type: \"boolean\",\n description:\n \"Reverse the slider, so that the starting point is at the right end\",\n defaultValueHint: false,\n advanced: true,\n },\n step: {\n type: \"number\",\n description: \"Granularity of the slider's movement\",\n defaultValueHint: 1,\n min: 0,\n },\n vertical: {\n type: \"boolean\",\n description: \"Slide vertically\",\n defaultValueHint: false,\n advanced: true,\n helpText:\n \"Please increase the slider height to make the vertical slider visible\",\n },\n tooltipVisible: {\n type: \"choice\",\n displayName: \"Show tooltip\",\n options: [\n {\n value: true,\n label: \"Always\",\n },\n {\n value: false,\n label: \"Never\",\n },\n {\n value: \"unset\",\n label: \"Only on drag/hover\",\n },\n ],\n defaultValueHint: \"unset\",\n defaultValue: \"unset\",\n advanced: true,\n },\n tooltipPlacement: {\n type: \"choice\",\n options: [\n \"topLeft\",\n \"top\",\n \"topRight\",\n \"leftTop\",\n \"left\",\n \"leftBottom\",\n \"rightTop\",\n \"right\",\n \"rightBottom\",\n \"bottomLeft\",\n \"bottom\",\n \"bottomRight\",\n ].map((item) => ({\n value: item,\n label: kebabCase(item),\n })),\n description: \"Default placement of tooltip\",\n defaultValueHint: \"top\",\n advanced: true,\n },\n tooltipPrefix: {\n type: \"string\",\n description: \"Add a prefix to the slider value inside tooltip\",\n advanced: true,\n },\n tooltipSuffix: {\n type: \"string\",\n description: \"Add a suffix to the slider value inside tooltip\",\n advanced: true,\n },\n sliderScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"slider\",\n } as any,\n railClassName: {\n type: \"class\",\n displayName: \"Rail\",\n description: \"The path on which the thumb moves\",\n selectors: [\n {\n selector: \":slider.ant-slider .ant-slider-rail\",\n label: \"Base\",\n },\n ],\n },\n trackClassName: {\n type: \"class\",\n displayName: \"Track\",\n description: \"The inclusive part of the slider rail\",\n selectors: [\n {\n selector: \":slider.ant-slider .ant-slider-track\",\n label: \"Base\",\n },\n ],\n },\n handleClassName: {\n type: \"class\",\n displayName: \"Handle\",\n description: \"Thumb of the slider that moves on drag\",\n selectors: [\n {\n selector: \":slider.ant-slider .ant-slider-handle::after\",\n label: \"Base\",\n },\n ],\n },\n dotClassName: {\n type: \"class\",\n displayName: \"Step dots\",\n description: \"The dots that represent steps on the slider rail\",\n selectors: [\n {\n selector: \":slider.ant-slider .ant-slider-dot\",\n label: \"Base\",\n },\n ],\n },\n activeDotClassName: {\n type: \"class\",\n displayName: \"Active dots\",\n description: \"The dots within the inclusive part of the slider rail\",\n selectors: [\n {\n selector: \":slider.ant-slider .ant-slider-dot.ant-slider-dot-active\",\n label: \"Base\",\n },\n ],\n },\n tooltipClassName: {\n type: \"class\",\n displayName: \"Tooltip\",\n description: \"The tooltip that shows the value of the slider\",\n selectors: [\n {\n selector: \":slider.ant-slider .ant-slider-tooltip\",\n label: \"Base\",\n },\n ],\n },\n};\n\nexport const rangeSliderHelpers = {\n states: {\n min: {\n onChangeArgsToValue: (value: number[]) => value[0],\n },\n max: {\n onChangeArgsToValue: (value: number[]) => value[1],\n },\n },\n};\n\nexport function registerSlider(loader?: Registerable) {\n registerComponentHelper(loader, AntdSingleSlider, {\n name: sliderComponentName,\n displayName: \"Slider\",\n defaultStyles: {\n width: \"300px\",\n },\n props: {\n value: {\n type: \"number\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"The default value of the slider\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"value\", type: \"number\" }],\n },\n onAfterChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"value\", type: \"number\" }],\n },\n ...commonProps,\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerSlider\",\n importName: \"AntdSingleSlider\",\n });\n registerComponentHelper(loader, AntdRangeSlider, {\n name: rangeSliderComponentName,\n displayName: \"Range Slider\",\n defaultStyles: {\n width: \"300px\",\n },\n props: {\n draggableTrack: {\n type: \"boolean\",\n defaultValueHint: false,\n description: \"Whether range track can be dragged\",\n },\n valueMin: {\n type: \"number\",\n editOnly: true,\n uncontrolledProp: \"defaultValueMin\",\n description: \"The default minimum value of the range slider\",\n },\n valueMax: {\n type: \"number\",\n editOnly: true,\n uncontrolledProp: \"defaultValueMax\",\n description: \"The default maximum value of the range slider\",\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"value\", type: \"object\" }],\n },\n onAfterChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"value\", type: \"object\" }],\n },\n ...commonProps,\n },\n states: {\n min: {\n type: \"writable\",\n valueProp: \"valueMin\",\n onChangeProp: \"onChange\",\n variableType: \"number\",\n ...rangeSliderHelpers.states.min,\n },\n max: {\n type: \"writable\",\n valueProp: \"valueMax\",\n onChangeProp: \"onChange\",\n variableType: \"number\",\n ...rangeSliderHelpers.states.max,\n },\n },\n componentHelpers: {\n helpers: rangeSliderHelpers,\n importName: \"rangeSliderHelpers\",\n importPath: \"@plasmicpkgs/antd5/skinny/registerSlider\",\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerSlider\",\n importName: \"AntdRangeSlider\",\n });\n registerComponentHelper(loader, AntdSliderMark, {\n name: sliderMarkComponentName,\n displayName: \"Slider Mark\",\n props: {\n mark: {\n type: \"number\",\n description: \"value on the slider\",\n },\n children: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerSlider\",\n importName: \"AntdSliderMark\",\n parentComponentName: sliderComponentName,\n });\n}\n","import React from \"react\";\nimport { Steps } from \"antd\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport function AntdSteps(props: React.ComponentProps<typeof Steps>) {\n return <Steps {...props} />;\n}\n\nexport function registerSteps(loader?: Registerable) {\n const statusOptions = [\"wait\", \"process\", \"finish\", \"error\"];\n registerComponentHelper(loader, AntdSteps, {\n name: \"plasmic-antd5-steps\",\n displayName: \"Steps\",\n props: {\n items: {\n type: \"array\",\n itemType: {\n type: \"object\",\n nameFunc: (item) => item.title,\n fields: {\n title: \"string\",\n description: \"string\",\n subTitle: \"string\",\n disabled: \"boolean\",\n status: {\n displayName: \"Status\",\n type: \"choice\",\n options: statusOptions,\n defaultValueHint: \"wait\",\n },\n // TODO icon: 'slot',\n },\n },\n defaultValue: [\n {\n title: \"Applied\",\n description: \"Application has been submitted.\",\n },\n {\n title: \"In Review\",\n description: \"Application is being reviewed.\",\n },\n {\n title: \"Closed\",\n description: \"Final decision on the application.\",\n },\n ],\n },\n current: {\n type: \"number\",\n displayName: \"Current step\",\n defaultValue: 1,\n },\n size: {\n type: \"choice\",\n options: [\"small\", \"default\"],\n description: \"Set the size of steps\",\n defaultValueHint: \"default\",\n },\n direction: {\n type: \"choice\",\n options: [\"horizontal\", \"vertical\"],\n description: \"Direction of steps\",\n defaultValueHint: \"horizontal\",\n },\n progressDot: {\n type: \"boolean\",\n displayName: \"Dot style\",\n },\n status: {\n displayName: \"Status of current step\",\n type: \"choice\",\n options: statusOptions,\n defaultValueHint: \"process\",\n },\n type: {\n type: \"choice\",\n options: [\"default\", \"navigation\", \"inline\"],\n defaultValueHint: \"default\",\n },\n percent: {\n advanced: true,\n type: \"number\",\n description: \"Number between 0 to 100\",\n },\n responsive: {\n advanced: true,\n type: \"boolean\",\n description: \"Change to vertical when screen narrower than 532px\",\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [\n {\n name: \"step\",\n type: \"number\",\n },\n ],\n },\n },\n states: {\n current: {\n type: \"writable\",\n valueProp: \"current\",\n onChangeProp: \"onChange\",\n variableType: \"number\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerSteps\",\n importName: \"AntdSteps\",\n });\n}\n","import { Switch } from \"antd\";\nimport React from \"react\";\nimport { switchComponentName } from \"./names\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport function AntdSwitch(props: React.ComponentProps<typeof Switch>) {\n return <Switch {...props} />;\n}\nAntdSwitch.__plasmicFormFieldMeta = { valueProp: \"checked\" };\n\nexport function registerSwitch(loader?: Registerable) {\n registerComponentHelper(loader, AntdSwitch, {\n name: switchComponentName,\n displayName: \"Switch\",\n props: {\n checked: {\n type: \"boolean\",\n editOnly: true,\n uncontrolledProp: \"defaultChecked\",\n description: \"Whether the switch is toggled on\",\n defaultValueHint: false,\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n disabled: {\n type: \"boolean\",\n description: \"If switch is disabled\",\n defaultValueHint: false,\n },\n autoFocus: {\n type: \"boolean\",\n description: \"If get focus when component mounted\",\n defaultValueHint: false,\n advanced: true,\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"checked\", type: \"boolean\" }],\n } as any,\n },\n states: {\n checked: {\n type: \"writable\",\n valueProp: \"checked\",\n onChangeProp: \"onChange\",\n variableType: \"boolean\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerSwitch\",\n importName: \"AntdSwitch\",\n });\n}\n","import { Table } from \"antd\";\nimport type { TableRowSelection } from \"antd/es/table/interface\";\nimport React from \"react\";\nimport { asArray, Registerable, registerComponentHelper } from \"./utils\";\n\nexport interface TableRef {\n selectRowByKey: (key: string) => void;\n selectRowByIndex: (index: number) => void;\n selectRowsByKeys: (keys: string[]) => void;\n selectRowsByIndexes: (indexs: number[]) => void;\n clearSelection: () => void;\n}\n\nexport const AntdTable = React.forwardRef(function AntdTable(\n props: React.ComponentProps<typeof Table> & {\n data: any;\n rowKey?: string;\n isSelectable?: undefined | \"single\" | \"multiple\";\n selectedRowKeys?: string[];\n defaultSelectedRowKeys?: string[];\n onSelectedRowKeysChange?: (keys: string[]) => void;\n onSelectedRowsChange?: (rows: any[]) => void;\n setControlContextData?: (ctx: any) => void;\n },\n ref: React.Ref<TableRef>\n) {\n const {\n data,\n onSelectedRowKeysChange,\n onSelectedRowsChange,\n isSelectable,\n rowKey,\n setControlContextData,\n selectedRowKeys,\n defaultSelectedRowKeys,\n ...rest\n } = props;\n setControlContextData?.(data);\n\n const isControlled = !!selectedRowKeys;\n const [uncontrolledSelectedRowKeys, setUncontrolledSelectedRowKeys] =\n React.useState<string[]>(defaultSelectedRowKeys ?? []);\n const selection: TableRowSelection<any> | undefined =\n isSelectable && rowKey\n ? {\n onChange: (rowKeys, rows) => {\n onSelectedRowsChange?.(rows);\n onSelectedRowKeysChange?.(rowKeys as string[]);\n },\n type: isSelectable === \"single\" ? \"radio\" : \"checkbox\",\n selectedRowKeys: isControlled\n ? asArray(selectedRowKeys)\n : uncontrolledSelectedRowKeys,\n }\n : undefined;\n\n React.useImperativeHandle(\n ref,\n () => ({\n selectRowByIndex(index: number) {\n if (data.data && rowKey) {\n const row = data.data[index];\n const rows = row ? [row] : [];\n this._setSelectedRows(rows);\n }\n },\n selectRowsByIndexes(indexes: number[]) {\n if (data.data && rowKey) {\n const rows = indexes.map((x) => data.data[x]).filter((x) => !!x);\n this._setSelectedRows(rows);\n }\n },\n selectRowByKey(key: string) {\n if (data.data && rowKey) {\n const rows = data.data.filter((r: any) => r[rowKey] === key);\n this._setSelectedRows(rows);\n }\n },\n selectRowsByKeys(keys: string[]) {\n if (data.data && rowKey) {\n const rows = data.data.filter((r: any) => keys.includes(r[rowKey]));\n this._setSelectedRows(rows);\n }\n },\n clearSelection() {\n this._setSelectedRows([]);\n },\n _setSelectedRows(rows: any[]) {\n onSelectedRowsChange?.(rows);\n if (rowKey) {\n onSelectedRowKeysChange?.(rows.map((r) => r[rowKey]));\n }\n if (!isControlled) {\n setUncontrolledSelectedRowKeys(rows.map((r) => r[rowKey!]));\n }\n },\n }),\n [data, onSelectedRowKeysChange, onSelectedRowsChange, isSelectable, rowKey]\n );\n return (\n <Table\n loading={data?.isLoading}\n dataSource={data?.data}\n rowSelection={selection}\n rowKey={rowKey}\n {...rest}\n />\n );\n});\n\nexport const AntdColumnGroup = Table.ColumnGroup;\nexport const AntdColumn = Table.Column;\n\n/** @deprecated Use the Table component from plasmic-rich-components instead */\nexport function registerTable(loader?: Registerable) {\n registerComponentHelper(loader, AntdTable, {\n name: \"plasmic-antd5-table\",\n displayName: \"Table (deprecated)\",\n props: {\n data: {\n type: \"dataSourceOpData\" as any,\n displayName: \"Data\",\n },\n children: {\n type: \"slot\",\n allowedComponents: [\n \"plasmic-antd5-table-column\",\n \"plasmic-antd5-table-column-group\",\n ],\n },\n bordered: {\n type: \"boolean\",\n defaultValueHint: false,\n advanced: true,\n },\n isSelectable: {\n type: \"choice\",\n options: [\"single\", \"multiple\"],\n displayName: \"Select rows?\",\n },\n rowKey: {\n type: \"choice\",\n options: (ps, ctx: any) => {\n if (ctx.schema) {\n return ctx.schema.fields.map((f: any) => ({\n value: f.id,\n label: f.label || f.id,\n }));\n }\n return [];\n },\n hidden: (ps) => !ps.isSelectable,\n },\n selectedRowKeys: {\n type: \"choice\",\n multiSelect: (ps) => ps.isSelectable === \"multiple\",\n options: (ps, ctx: any) => {\n const key = ps.rowKey;\n if (key && ctx.data) {\n return ctx.data.map((r: any) => r[key]);\n }\n return [];\n },\n hidden: (ps) => !ps.rowKey,\n },\n onSelectedRowKeysChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"keys\", type: \"object\" }],\n hidden: (ps) => !ps.isSelectable,\n },\n onSelectedRowsChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"rows\", type: \"object\" }],\n hidden: (ps) => !ps.isSelectable,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerTable\",\n importName: \"AntdTable\",\n states: {\n selectedRowKeys: {\n type: \"writable\",\n valueProp: \"selectedRowKeys\",\n onChangeProp: \"onSelectedRowKeysChange\",\n variableType: \"array\",\n },\n // selectedRows: {\n // type: \"readonly\",\n // onChangeProp: \"onSelectedRowsChange\",\n // },\n },\n refActions: {\n selectRowByIndex: {\n displayName: \"Select row by index\",\n argTypes: [\n {\n name: \"index\",\n displayName: \"Index\",\n type: \"number\",\n },\n ],\n },\n selectRowByKey: {\n displayName: \"Select row by key\",\n argTypes: [\n {\n name: \"key\",\n displayName: \"Row key\",\n type: \"string\",\n },\n ],\n },\n },\n });\n\n registerComponentHelper(loader, AntdColumn, {\n name: \"plasmic-antd5-table-column\",\n displayName: \"Column\",\n parentComponentName: \"plasmic-antd5-table\",\n props: {\n title: {\n type: \"slot\",\n defaultValue: \"Column Name\",\n },\n dataIndex: {\n type: \"string\",\n displayName: \"Column key\",\n },\n render: {\n type: \"slot\",\n renderPropParams: [\"cell\", \"row\", \"index\"],\n hidePlaceholder: true,\n displayName: \"Custom render\",\n },\n align: {\n type: \"choice\",\n options: [\"left\", \"right\", \"center\"],\n defaultValueHint: \"left\",\n },\n fixed: {\n type: \"choice\",\n options: [\"left\", \"right\"],\n advanced: true,\n },\n colSpan: {\n type: \"number\",\n advanced: true,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerTable\",\n importName: \"AntdColumn\",\n ...({ isRenderless: true } as any),\n });\n\n registerComponentHelper(loader, AntdColumnGroup, {\n name: \"plasmic-antd5-table-column-group\",\n displayName: \"Column Group\",\n parentComponentName: \"plasmic-antd5-table\",\n props: {\n title: {\n type: \"slot\",\n defaultValue: \"Column Group Name\",\n },\n children: {\n type: \"slot\",\n allowedComponents: [\"plasmic-antd5-table-column\"],\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerTable\",\n importName: \"AntdColumnGroup\",\n ...({ isRenderless: true } as any),\n });\n}\n","import { ActionProps } from \"@plasmicapp/host/registerComponent\";\nimport { Tabs } from \"antd\";\nimport React, { ReactElement, useMemo } from \"react\";\nimport {\n Registerable,\n registerComponentHelper,\n traverseReactEltTree,\n} from \"./utils\";\n\nexport const tabsComponentName = \"plasmic-antd5-tabs\";\nexport const tabItemComponentName = \"plasmic-antd5-tab-item\";\n\ntype TabItemType = NonNullable<\n React.ComponentProps<typeof Tabs>[\"items\"]\n>[number];\n\nexport const AntdTabItem: React.FC<TabItemType> = ({ children }) => {\n return <div>{children}</div>;\n};\n\nfunction getTabItems(items: ReactElement): React.ReactElement<TabItemType>[] {\n if (!React.isValidElement(items) && Array.isArray(items)) return [...items]; // indicates a single TabItem on repeat\n return (items?.type as any)?.name == AntdTabItem.name\n ? [items]\n : items?.props?.children?.flat(1);\n}\n\nfunction getTabItemKeys(items: ReactElement): string[] {\n const keys: string[] = [];\n traverseReactEltTree(items, (elt) => {\n if (\n (elt?.type as any)?.name === AntdTabItem.name &&\n typeof elt?.key === \"string\"\n ) {\n keys.push(`${elt.key}`);\n }\n });\n return keys;\n}\n\ntype TabsProps = Omit<\n React.ComponentProps<typeof Tabs>,\n \"items\" | \"animated\" | \"tabBarExtraContent\" | \"renderTabBar\"\n> & {\n items: ReactElement;\n animated: boolean;\n animateTabBar: boolean;\n animateTabContent: boolean;\n tabBarExtraContentLeft: React.ReactNode;\n tabBarExtraContentRight: React.ReactNode;\n sticky: boolean;\n stickyOffset: number;\n tabBarBackground: string;\n tabsScopeClassName?: string;\n tabsDropdownScopeClassName?: string;\n};\n\nexport function AntdTabs(props: TabsProps) {\n const {\n items: itemsRaw,\n animated,\n animateTabBar,\n animateTabContent,\n tabBarExtraContentLeft,\n tabBarExtraContentRight,\n sticky,\n stickyOffset,\n tabBarBackground,\n className,\n tabPosition,\n tabsScopeClassName,\n tabsDropdownScopeClassName,\n ...rest\n } = props;\n const animationProp: React.ComponentProps<typeof Tabs>[\"animated\"] = useMemo(\n () =>\n animated\n ? {\n inkBar: animateTabBar,\n tabPane: animateTabContent,\n }\n : false,\n [animateTabBar, animateTabContent, animated]\n );\n const items: TabItemType[] = useMemo(() => {\n const tabItems = getTabItems(itemsRaw);\n return tabItems\n .map((currentItem) => {\n return {\n ...currentItem.props,\n key: currentItem.key,\n children: <>{currentItem.props?.children}</>,\n };\n })\n .filter((i) => i != null) as TabItemType[];\n }, [itemsRaw]);\n\n return (\n <Tabs\n className={`${className} ${tabsScopeClassName}`}\n popupClassName={tabsDropdownScopeClassName}\n tabBarExtraContent={{\n left: <>{tabBarExtraContentLeft}</>,\n right: <>{tabBarExtraContentRight}</>,\n }}\n tabPosition={tabPosition}\n /**\n * CAUTION: sticky tab-bars are only supported for tabPosition top.\n * In component metadata, I have specified that sticky prop is hidden when tabPosition !== \"top\".\n * however, and that's where the caution is, that does not mean that any previously set value of sticky is destroyed. It stays there, but just the prop is hidden from the Settings side menu in Plasmic Studio.\n *\n * Which is why I have to also check the tabPosition here. And that's redundant.\n */\n renderTabBar={\n sticky && tabPosition === \"top\"\n ? (tabBarProps, DefaultTabBar) => (\n <div\n style={{\n zIndex: 1,\n position: \"sticky\",\n top: stickyOffset || 0,\n }}\n >\n <DefaultTabBar\n {...tabBarProps}\n style={{ backgroundColor: tabBarBackground }}\n />\n </div>\n )\n : undefined\n }\n animated={animationProp}\n items={items}\n {...rest}\n />\n );\n}\n\n// function NavigateTabs({ componentProps, studioOps }: ActionProps<any>) {\n// const tabPanes: string[] = getTabItemKeys(componentProps.items);\n// const buttonStyle = {\n// width: \"100%\",\n// borderColor: \"#f3f3f2\",\n// borderRadius: 6,\n// fontSize: 12,\n// };\n// const activeKey = componentProps.activeKey;\n// const currTabPos = activeKey\n// ? tabPanes.findIndex((tabKey) => {\n// return tabKey === activeKey;\n// })\n// : 0;\n\n// return (\n// <div\n// style={{\n// width: \"100%\",\n// display: \"flex\",\n// flexDirection: \"row\",\n// gap: \"4px\",\n// justifyContent: \"space-between\",\n// }}\n// >\n// <Button\n// style={buttonStyle}\n// onClick={() => {\n// if (tabPanes.length > 0) {\n// const prevTabPos =\n// (currTabPos - 1 + tabPanes.length) % tabPanes.length;\n// studioOps.updateProps({ activeKey: tabPanes[prevTabPos] });\n// }\n// }}\n// >\n// Prev tab\n// </Button>\n// <Button\n// style={buttonStyle}\n// onClick={() => {\n// if (tabPanes.length > 0) {\n// const nextTabPos = (currTabPos + 1) % tabPanes.length;\n// studioOps.updateProps({ activeKey: tabPanes[nextTabPos] });\n// }\n// }}\n// >\n// Next tab\n// </Button>\n// </div>\n// );\n// }\n\nfunction OutlineMessage() {\n return <div>* To re-arrange tab panes, use the Outline panel</div>;\n}\n\nexport function registerTabs(loader?: Registerable) {\n registerComponentHelper(loader, AntdTabs, {\n name: tabsComponentName,\n displayName: \"Tabs\",\n defaultStyles: {\n width: \"stretch\",\n overflow: \"scroll\",\n },\n props: {\n activeKey: {\n editOnly: true,\n displayName: \"Active tab key\",\n uncontrolledProp: \"defaultActiveKey\",\n type: \"choice\",\n description: `Initial active tab's key`,\n options: (ps) => getTabItemKeys(ps.items),\n },\n animated: {\n type: \"boolean\",\n defaultValue: true,\n description: \"Change tabs with animation\",\n },\n animateTabBar: {\n type: \"boolean\",\n defaultValue: true,\n description: \"Animate the tab bar when switching tabs\",\n hidden: (ps) => !ps.animated,\n },\n animateTabContent: {\n type: \"boolean\",\n defaultValue: false,\n description: \"Fade-in tab content when switching tabs\",\n hidden: (ps) => !ps.animated,\n },\n centered: {\n type: \"boolean\",\n description: \"Center-align the tab bar\",\n },\n type: {\n type: \"choice\",\n defaultValueHint: \"line\",\n options: [\"line\", \"card\"],\n description: \"Basic style of tabs\",\n },\n items: {\n type: \"slot\",\n hidePlaceholder: true,\n allowedComponents: [tabItemComponentName],\n ...({ mergeWithParent: true } as any), // to make the tab items selectable from the components outline pane in Plasmic Studio.\n defaultValue: [\n {\n type: \"component\",\n name: tabItemComponentName,\n props: {\n key: \"1\",\n label: {\n type: \"text\",\n value: \"First Item\",\n },\n children: {\n type: \"text\",\n value: \"First Children\",\n },\n },\n },\n {\n type: \"component\",\n name: tabItemComponentName,\n props: {\n key: \"2\",\n label: {\n type: \"text\",\n value: \"Second Item\",\n },\n children: {\n type: \"text\",\n value: \"Second Children\",\n },\n },\n },\n ],\n },\n size: {\n type: \"choice\",\n defaultValueHint: \"middle\",\n options: [\"large\", \"middle\", \"small\"],\n description: \"Preset tab bar size\",\n },\n tabBarExtraContentLeft: {\n type: \"slot\",\n displayName: \"Extra content on left side\",\n hidePlaceholder: true,\n },\n tabBarExtraContentRight: {\n type: \"slot\",\n displayName: \"Extra content on right side\",\n hidePlaceholder: true,\n },\n tabBarGutter: {\n type: \"number\",\n displayName: \"Tab gap\",\n description: \"Gap (in pixels) between tabs\",\n advanced: true,\n },\n tabPosition: {\n type: \"choice\",\n defaultValueHint: \"top\",\n options: [\"top\", \"right\", \"bottom\", \"left\"],\n description: \"Position of tabs\",\n },\n destroyInactiveTabPane: {\n type: \"boolean\",\n description: `Destroy/Unmount inactive tab pane when changing tab`,\n advanced: true,\n },\n sticky: {\n type: \"boolean\",\n advanced: true,\n description: \"Stick tab bar to the top of the page when scrolling.\",\n defaultValue: false,\n hidden: (ps) => ps.tabPosition !== \"top\",\n },\n stickyOffset: {\n type: \"number\",\n advanced: true,\n description:\n \"Distance (in pixels) between the sticky tab bar and the top of the page as you scroll.\",\n hidden: (ps) => ps.tabPosition !== \"top\" || !ps.sticky,\n },\n tabBarBackground: {\n type: \"color\",\n advanced: true,\n defaultValue: \"#FFF\",\n hidden: (ps) => ps.tabPosition !== \"top\" || !ps.sticky,\n },\n tabsScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"tabs\",\n } as any,\n tabBarClassName: {\n type: \"class\",\n displayName: \"Tab bar\",\n selectors: [\n {\n selector: \":tabs.ant-tabs .ant-tabs-nav\",\n label: \"Base\",\n },\n ],\n },\n tabsDropdownScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"tabsDropdown\",\n } as any,\n tabsDropdownClassName: {\n type: \"class\",\n displayName: \"Overflow tabs menu\",\n selectors: [\n {\n selector: \":tabsDropdown.ant-tabs-dropdown .ant-tabs-dropdown-menu\",\n label: \"Base\",\n },\n ],\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"activeKey\", type: \"string\" }],\n },\n onTabClick: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n { name: \"tabKey\", type: \"string\" },\n { name: \"mouseEvent\", type: \"object\" },\n ],\n },\n onTabScroll: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"scrollInfo\", type: \"object\" }],\n },\n },\n states: {\n activeKey: {\n type: \"writable\",\n valueProp: \"activeKey\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n },\n },\n actions: [\n // {\n // type: \"custom-action\",\n // control: NavigateTabs,\n // },\n {\n type: \"button-action\",\n label: \"Add new tab\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n // Get the first positive integer that isn't already a key\n const generateNewKey = () => {\n const existingKeys = getTabItemKeys(componentProps.items);\n\n for (\n let keyCandidate = 1;\n keyCandidate <= existingKeys.length + 1;\n keyCandidate++\n ) {\n const strKey = keyCandidate.toString();\n const index = existingKeys.findIndex((k) => {\n return strKey === k;\n });\n if (index === -1) {\n return strKey;\n }\n }\n\n return undefined;\n };\n\n const tabKey = generateNewKey();\n studioOps.appendToSlot(\n {\n type: \"component\",\n name: tabItemComponentName,\n props: {\n key: tabKey,\n label: {\n type: \"text\",\n value: `Tab Label ${tabKey}`,\n },\n children: {\n type: \"text\",\n value: `Tab Children ${tabKey}`,\n },\n },\n },\n \"items\"\n );\n studioOps.updateProps({ activeKey: tabKey });\n },\n },\n {\n type: \"button-action\",\n label: \"Delete current tab\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n if (componentProps.activeKey) {\n const tabPanes = getTabItemKeys(componentProps.items);\n const activeKey = componentProps.activeKey;\n const currTabPos = tabPanes.findIndex((tabKey) => {\n return tabKey === activeKey;\n });\n\n if (currTabPos !== -1) {\n studioOps.removeFromSlotAt(currTabPos, \"items\");\n if (tabPanes.length - 1 > 0) {\n const prevTabPos =\n (currTabPos - 1 + tabPanes.length) % tabPanes.length;\n studioOps.updateProps({ activeKey: tabPanes[prevTabPos] });\n }\n }\n }\n },\n },\n {\n type: \"custom-action\",\n control: OutlineMessage,\n },\n ],\n importPath: \"@plasmicpkgs/antd5/skinny/registerTabs\",\n importName: \"AntdTabs\",\n });\n\n registerComponentHelper(loader, AntdTabItem, {\n name: tabItemComponentName,\n displayName: \"Tab Item\",\n props: {\n disabled: {\n type: \"boolean\",\n description: \"Disable this tab\",\n },\n forceRender: {\n type: \"boolean\",\n description: `Force render of content in the tab, not lazy render after clicking on the tab`,\n advanced: true,\n },\n key: {\n type: \"string\",\n description: `Unique identifier for this tab`,\n displayName: \"Tab key\",\n },\n label: {\n type: \"slot\",\n displayName: \"Tab title\",\n defaultValue: \"Tab\",\n },\n children: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerTabs\",\n importName: \"AntdTabItem\",\n parentComponentName: tabsComponentName,\n });\n}\n","import React, { ReactNode } from \"react\";\nimport { Tooltip } from \"antd\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport function AntdTooltip(\n props: React.ComponentProps<typeof Tooltip> & { titleText?: string }\n) {\n return <Tooltip {...props} title={props.title || props.titleText} />;\n}\n\nexport function registerTooltip(loader?: Registerable) {\n registerComponentHelper(loader, AntdTooltip, {\n name: \"plasmic-antd5-tooltip\",\n displayName: \"Tooltip\",\n isAttachment: true,\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"text\",\n value: \"This text element is wrapped in a Tooltip component\",\n },\n mergeWithParent: true,\n } as any,\n overlayClassName: {\n type: \"class\",\n displayName: \"Overlay\",\n },\n titleText: {\n type: \"string\",\n displayName: \"Tooltip contents\",\n description: \"What gets shown inside the tooltip on hover\",\n defaultValue: \"Tooltip contents\",\n },\n title: {\n type: \"slot\",\n displayName: \"Tooltip contents\",\n hidePlaceholder: true,\n },\n color: {\n type: \"color\",\n description: \"Tooltip fill color\",\n },\n placement: {\n type: \"choice\",\n options: [\n \"topLeft\",\n \"top\",\n \"topRight\",\n \"leftTop\",\n \"left\",\n \"leftBottom\",\n \"rightTop\",\n \"right\",\n \"rightBottom\",\n \"bottomLeft\",\n \"bottom\",\n \"bottomRight\",\n ],\n description: \"Default placement of tooltip\",\n defaultValueHint: \"top\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerTooltip\",\n importName: \"AntdTooltip\",\n });\n}\n","import { Tree } from \"antd\";\nimport type { TreeDataNode, TreeProps } from \"antd\";\nimport React, { Key, useState } from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\nimport type { DirectoryTreeProps } from \"antd/es/tree\";\n\nfunction useMunged(props: TreeProps) {\n const [autoExpandParent, setAutoExpandParent] = useState(\n props.autoExpandParent\n );\n const munged = { ...props, autoExpandParent };\n if (!props.expandedKeys) {\n delete munged[\"expandedKeys\"];\n }\n // Currently, when you pass in defaultExpandAll, Tree internally adds *all* nodes to be expandedKeys, including leaf\n // nodes. If autoExpandParent is set, then this means it's impossible to collapse any part of the tree! Ideally, the\n // initial expandedKeys will be just parent nodes. But for now, we just do this. It's not nice because if you do\n // expect autoExpandParent behavior, it won't be there at this point. But it's a quick fix for now for the more\n // glaring issue, and what is done in the controlled demo on https://ant.design/components/tree.\n munged.onExpand = (expandedKeys, info) => {\n props.onExpand?.(expandedKeys, info);\n setAutoExpandParent(false);\n };\n return munged;\n}\n\nexport function AntdTree(props: TreeProps) {\n const munged = useMunged(props);\n return <Tree {...munged} />;\n}\n\n// AntdTree.__plasmicFormFieldMeta = {\n// valueProp: \"checkedKeys\",\n// onChangePropName: \"onChange\",\n// };\n\nexport function AntdDirectoryTree(props: DirectoryTreeProps) {\n const munged = useMunged(props);\n return <Tree.DirectoryTree {...munged} />;\n}\n\nexport interface CheckedDetails<\n TreeDataType extends TreeDataNode = TreeDataNode\n> {\n halfCheckedKeys: Key[];\n checkedNodesPositions?: {\n node: TreeDataType;\n pos: string;\n }[];\n}\n\nconst treeHelpers_ = {\n states: {\n selectedKeys: {\n onChangeArgsToValue: ((selectedKeys, _info) => {\n return selectedKeys;\n }) as TreeProps[\"onSelect\"],\n },\n selectedNodes: {\n onChangeArgsToValue: ((_selectedKeys, info) => {\n return info.selectedNodes;\n }) as TreeProps[\"onSelect\"],\n },\n expandedKeys: {\n onChangeArgsToValue: ((expandedKeys, _info) => {\n return expandedKeys;\n }) as TreeProps[\"onExpand\"],\n },\n checkedKeys: {\n onChangeArgsToValue: ((checkedKeys, _info) => {\n return checkedKeys;\n }) as TreeProps[\"onCheck\"],\n },\n checkedNodes: {\n onChangeArgsToValue: ((_checkedKeys, info) => {\n return info.checkedNodes;\n }) as TreeProps[\"onCheck\"],\n },\n checkedDetails: {\n onChangeArgsToValue: ((_checkedKeys, info) => {\n return {\n checkedNodesPositions: info.checkedNodesPositions,\n halfCheckedKeys: info.halfCheckedKeys,\n };\n }) as TreeProps[\"onCheck\"],\n },\n },\n} as const;\n\n// Work around inability to ts-ignore:\n// src/registerTree.tsx:40:14 - error TS4023: Exported variable 'treeHelpers' has or is using name 'CheckInfo' from external module \"/.../public-packages/plasmicpkgs/antd5/node_modules/rc-tree/lib/Tree\" but cannot be named.\nexport const treeHelpers = treeHelpers_ as any;\n\nexport const treeData: TreeDataNode[] = [\n {\n title: \"Node 0\",\n key: \"0\",\n children: [\n {\n title: \"Node 0-0\",\n key: \"0-0\",\n children: [\n {\n title: \"Node 0-0-0\",\n key: \"0-0-0\",\n disableCheckbox: true,\n },\n {\n title: \"Node 0-0-1\",\n key: \"0-0-1\",\n disabled: true,\n },\n {\n title: \"Node 0-0-2\",\n key: \"0-0-2\",\n },\n ],\n },\n {\n title: \"Node 0-1\",\n key: \"0-1\",\n children: [\n {\n title: \"Node 0-1-0\",\n key: \"0-1-0\",\n },\n {\n title: \"Node 0-1-1\",\n key: \"0-1-1\",\n },\n ],\n },\n ],\n },\n];\n\nfunction registerTreeHelper({\n loader,\n component,\n name,\n displayName,\n importName,\n checkableDefaultValue,\n expandActionDefaultValue,\n}: {\n loader: Registerable | undefined;\n component: typeof AntdTree;\n name: string;\n displayName: string;\n importName: string;\n checkableDefaultValue: boolean;\n expandActionDefaultValue: string | boolean;\n}) {\n registerComponentHelper(loader, component, {\n name: name,\n displayName: displayName,\n props: {\n treeData: {\n type: \"array\",\n defaultValue: treeData,\n },\n checkable: {\n type: \"boolean\",\n defaultValue: checkableDefaultValue,\n },\n selectable: {\n type: \"boolean\",\n defaultValueHint: true,\n },\n checkedKeys: {\n type: \"array\",\n editOnly: true,\n uncontrolledProp: \"defaultCheckedKeys\",\n description: \"List of checked keys.\",\n hidden: (ps) => !ps.checkable,\n },\n selectedKeys: {\n type: \"array\",\n editOnly: true,\n uncontrolledProp: \"defaultSelectedKeys\",\n description: \"List of selected keys.\",\n hidden: (ps) => !(ps.selectable ?? true),\n advanced: true,\n },\n expandedKeys: {\n type: \"array\",\n editOnly: true,\n uncontrolledProp: \"defaultExpandedKeys\",\n description: \"List of expanded keys.\",\n // hidden: (ps) => !ps.expa,\n advanced: true,\n },\n disabled: {\n type: \"boolean\",\n defaultValueHint: false,\n },\n showLine: {\n type: \"boolean\",\n defaultValueHint: false,\n },\n defaultExpandAll: {\n type: \"boolean\",\n description:\n \"Whether to automatically expand all nodes at initialization\",\n defaultValueHint: false,\n defaultValue: true,\n },\n autoExpandParent: {\n type: \"boolean\",\n description: \"Whether to automatically expand a parent node\",\n defaultValue: true,\n advanced: true,\n },\n defaultExpandParent: {\n type: \"boolean\",\n description:\n \"Whether to automatically expand a parent node at initialization\",\n defaultValueHint: false,\n advanced: true,\n },\n expandAction: {\n type: \"choice\",\n options: [\n {\n label: \"None\",\n value: false,\n },\n {\n label: \"Click\",\n value: \"click\",\n },\n {\n label: \"Double click\",\n value: \"doubleClick\",\n },\n ],\n defaultValueHint: expandActionDefaultValue,\n },\n multiple: {\n type: \"boolean\",\n defaultValueHint: false,\n description: \"Whether to allow multiple selection\",\n advanced: true,\n },\n titleRender: {\n type: \"slot\",\n hidePlaceholder: true,\n renderPropParams: [\"node\"],\n },\n // draggable: {\n // type: \"boolean\",\n // defaultValueHint: false,\n // advanced: true,\n // },\n // allowDrop: {\n // type: \"boolean\",\n // defaultValueHint: false,\n // advanced: true,\n // description: \"Whether to allow dropping on the node\",\n // },\n onSelect: {\n type: \"eventHandler\",\n argTypes: [\n { name: \"selectedKeys\", type: { type: \"array\" } },\n {\n name: \"selectedNodes\",\n type: { type: \"array\" },\n },\n ],\n },\n onCheck: {\n type: \"eventHandler\",\n argTypes: [\n { name: \"checkedKeys\", type: { type: \"array\" } },\n {\n name: \"checkDetails\",\n type: { type: \"object\" },\n },\n ],\n },\n onExpand: {\n type: \"eventHandler\",\n argTypes: [\n { name: \"expandedKeys\", type: { type: \"array\" } },\n {\n name: \"expandDetails\",\n type: { type: \"object\" },\n },\n ],\n },\n },\n states: {\n checkedKeys: {\n type: \"writable\",\n valueProp: \"checkedKeys\",\n onChangeProp: \"onCheck\",\n variableType: \"array\",\n ...treeHelpers_.states.checkedKeys,\n },\n checkedNodes: {\n type: \"readonly\",\n onChangeProp: \"onCheck\",\n variableType: \"array\",\n initVal: [],\n ...treeHelpers_.states.checkedNodes,\n },\n checkedDetails: {\n type: \"readonly\",\n onChangeProp: \"onCheck\",\n variableType: \"object\",\n initVal: {\n checkedNodesPositions: [],\n halfCheckedKeys: [],\n } as CheckedDetails,\n ...treeHelpers_.states.checkedDetails,\n },\n selectedKeys: {\n type: \"writable\",\n valueProp: \"selectedKeys\",\n onChangeProp: \"onSelect\",\n variableType: \"array\",\n ...treeHelpers_.states.selectedKeys,\n },\n selectedNodes: {\n type: \"readonly\",\n onChangeProp: \"onSelect\",\n variableType: \"array\",\n initVal: [],\n ...treeHelpers_.states.selectedNodes,\n },\n expandedKeys: {\n type: \"writable\",\n valueProp: \"expandedKeys\",\n onChangeProp: \"onExpand\",\n variableType: \"array\",\n ...treeHelpers_.states.expandedKeys,\n },\n },\n componentHelpers: {\n helpers: treeHelpers_,\n importName: \"treeHelpers\",\n importPath: \"@plasmicpkgs/antd5/skinny/registerTree\",\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerTree\",\n importName: importName,\n });\n}\n\nexport function registerTree(loader?: Registerable) {\n registerTreeHelper({\n loader,\n component: AntdTree,\n name: \"plasmic-antd5-tree\",\n displayName: \"Tree\",\n importName: \"AntdTree\",\n checkableDefaultValue: true,\n expandActionDefaultValue: false,\n });\n}\n\nexport function registerDirectoryTree(loader?: Registerable) {\n registerTreeHelper({\n loader,\n component: AntdDirectoryTree,\n name: \"plasmic-antd5-directory-tree\",\n displayName: \"Directory Tree\",\n importName: \"AntdDirectoryTree\",\n checkableDefaultValue: false,\n expandActionDefaultValue: \"click\",\n });\n}\n","import { Image, Upload } from \"antd\";\nimport type {\n UploadFile as AntdUploadFile,\n UploadChangeParam,\n UploadProps,\n} from \"antd/es/upload\";\nimport React, { useMemo, useRef, useState } from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\ninterface UploadFile {\n uid: string;\n name: string;\n size?: number;\n type?: string;\n lastModified?: number;\n contents?: string;\n status: AntdUploadFile[\"status\"];\n}\n\ninterface ExtendedUploadProps<T = any> extends UploadProps<T> {\n files?: Array<UploadFile>;\n onFilesChange?: (values: Array<UploadFile>) => void;\n dragAndDropFiles: boolean;\n}\n\nfunction getThumbUrl(file?: UploadFile): string | undefined {\n if (!file?.type?.startsWith(\"image\")) {\n return undefined;\n }\n return `data:${file.type};base64,${file.contents}`;\n}\n\nexport function UploadWrapper(props: ExtendedUploadProps) {\n const { files, dragAndDropFiles, onFilesChange, maxCount, ...rest } = props;\n const filesRef = useRef<Array<UploadFile>>(); // if multiple = true, it facilitates adding multiple files\n\n filesRef.current = files;\n\n const [previewFileId, setPreviewFileId] = useState<string>();\n const [previewOpen, setPreviewOpen] = useState(false);\n\n const handleChange = (info: UploadChangeParam) => {\n const { file } = info;\n\n if (file.status === \"removed\") {\n return;\n }\n\n const metadata = {\n uid: file.uid,\n name: file.name,\n size: file.size,\n type: file.type,\n lastModified: file.lastModified,\n };\n\n onFilesChange?.([\n ...(filesRef.current ?? []).slice(0, (maxCount || Infinity) - 1),\n {\n ...metadata,\n status: \"uploading\",\n },\n ]);\n\n const reader = new FileReader();\n\n reader.onload = () => {\n if (!filesRef.current?.map((f) => f.uid).includes(metadata.uid)) {\n return;\n }\n onFilesChange?.([\n ...(filesRef.current ?? []).filter((f) => f.uid !== file.uid),\n {\n ...metadata,\n contents: (reader.result as string).replace(\n /^data:[^;]+;base64,/,\n \"\"\n ),\n status: \"done\",\n },\n ]);\n };\n\n reader.onerror = () => {\n if (!filesRef.current?.map((f) => f.uid).includes(metadata.uid)) {\n return;\n }\n onFilesChange?.([\n ...(filesRef.current ?? []).filter((f) => f.uid !== file.uid),\n {\n ...metadata,\n status: \"error\",\n },\n ]);\n };\n\n reader.readAsDataURL(info.file as any);\n };\n\n const handleRemove = (file: UploadFile) => {\n onFilesChange?.((files ?? []).filter((f) => f.uid !== file.uid));\n };\n\n const handlePreview = async (file: AntdUploadFile) => {\n setPreviewFileId(files?.filter((f) => file.uid === f.uid)[0]?.uid);\n setPreviewOpen(true);\n };\n\n const handleCancel = () => setPreviewFileId(undefined);\n\n const previewFile = useMemo(\n () => files?.filter((f) => previewFileId === f.uid)[0],\n [files, previewFileId]\n );\n\n const UploadComponent = useMemo(\n () => (dragAndDropFiles ? Upload.Dragger : Upload),\n [dragAndDropFiles]\n );\n\n return (\n <>\n <UploadComponent\n {...rest}\n fileList={files?.map((f) => ({\n ...f,\n thumbUrl: getThumbUrl(f),\n }))}\n onPreview={handlePreview}\n beforeUpload={() => {\n return false;\n }}\n onChange={(info) => {\n handleChange(info);\n }}\n onRemove={(file) => {\n handleRemove(file as UploadFile);\n }}\n />\n\n {previewFile && (\n <Image\n wrapperStyle={{ display: \"none\" }}\n preview={{\n visible: previewOpen,\n onVisibleChange: (visible) => setPreviewOpen(visible),\n afterOpenChange: (visible) => !visible && handleCancel(),\n }}\n alt={previewFile?.name}\n src={getThumbUrl(previewFile)}\n />\n )}\n </>\n );\n}\n\nUploadWrapper.__plasmicFormFieldMeta = {\n valueProp: \"files\",\n onChangeProp: \"onFilesChange\",\n};\n\nexport function registerUpload(loader?: Registerable) {\n registerComponentHelper(loader, UploadWrapper, {\n name: \"plasmic-antd5-upload\",\n displayName: \"Upload\",\n props: {\n accept: {\n type: \"choice\",\n displayName: \"Allowed types\",\n options: [\n {\n value: \"\",\n label: \"Any kind of file\",\n },\n {\n value: \"image/*\",\n label: \"Image\",\n },\n {\n value: \"video/*\",\n label: \"Video\",\n },\n {\n value: \"audio/*\",\n label: \"Audio\",\n },\n {\n value: \"application/pdf\",\n label: \"PDF\",\n },\n ],\n defaultValue: \"\",\n },\n listType: {\n type: \"choice\",\n options: [\"text\", \"picture\", \"picture-card\", \"picture-circle\"],\n defaultValueHint: \"text\",\n },\n dragAndDropFiles: {\n type: \"boolean\",\n defaultValueHint: false,\n advanced: true,\n description:\n \"You can drag files to a specific area, to upload. Alternatively, you can also upload by selecting.\",\n },\n multiple: {\n type: \"boolean\",\n advanced: true,\n defaultValueHint: false,\n description: \"Upload several files at once in modern browsers\",\n },\n files: {\n type: \"object\",\n displayName: \"Files\",\n defaultValue: [],\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"component\",\n name: \"plasmic-antd5-button\",\n props: {\n children: {\n type: \"text\",\n value: \"Upload\",\n },\n },\n },\n ],\n },\n maxCount: {\n type: \"number\",\n displayName: \"Limit of files\",\n advanced: true,\n },\n onFilesChange: {\n type: \"eventHandler\",\n displayName: \"On file uploaded\",\n argTypes: [\n {\n name: \"files\",\n type: \"array\",\n },\n ],\n },\n showUploadList: {\n type: \"boolean\",\n displayName: \"List files\",\n defaultValue: true,\n },\n },\n states: {\n files: {\n type: \"writable\",\n valueProp: \"files\",\n variableType: \"array\",\n onChangeProp: \"onFilesChange\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n },\n ...({ trapsSelection: true } as any),\n importPath: \"@plasmicpkgs/antd5/skinny/registerUpload\",\n importName: \"UploadWrapper\",\n });\n}\n","import { InputType } from \"./form/Form\";\nimport { registerForm } from \"./form/registerForm\";\nimport { registerFormGroup } from \"./form/registerFormGroup\";\nimport { registerFormItem } from \"./form/registerFormItem\";\nimport { registerFormList } from \"./form/registerFormList\";\nimport {\n checkboxComponentName,\n inputComponentName,\n inputNumberComponentName,\n optionComponentName,\n optionGroupComponentName,\n passwordComponentName,\n radioComponentName,\n radioGroupComponentName,\n selectComponentName,\n textAreaComponentName,\n} from \"./names\";\nimport { registerAvatar, registerAvatarGroup } from \"./registerAvatar\";\nimport {\n registerBreadcrumb,\n registerBreadcrumbItem,\n} from \"./registerBreadcrumb\";\nimport { registerButton } from \"./registerButton\";\nimport { registerCheckbox } from \"./registerCheckbox\";\nimport { registerCollapse } from \"./registerCollapse\";\nimport { registerColorPicker } from \"./registerColorPicker\";\nimport {\n registerConfigProvider,\n registerTokens,\n} from \"./registerConfigProvider\";\nimport {\n datePickerComponentName,\n registerDatePicker,\n} from \"./registerDatePicker\";\nimport { registerDateRangePicker } from \"./registerDateRangePicker\";\nimport { registerDrawer } from \"./registerDrawer\";\nimport { registerDropdown } from \"./registerDropdown\";\nimport {\n registerInput,\n registerNumberInput,\n registerPasswordInput,\n registerTextArea,\n} from \"./registerInput\";\nimport { registerMenu } from \"./registerMenu\";\nimport { registerModal } from \"./registerModal\";\nimport { registerPagination } from \"./registerPagination\";\nimport { registerPopover } from \"./registerPopover\";\nimport { registerProgress } from \"./registerProgress\";\nimport { registerRadio } from \"./registerRadio\";\nimport { registerRate } from \"./registerRate\";\nimport { registerSegmented } from \"./registerSegmented\";\nimport { registerSelect } from \"./registerSelect\";\nimport { registerSlider } from \"./registerSlider\";\nimport { registerSteps } from \"./registerSteps\";\nimport { registerSwitch } from \"./registerSwitch\";\nimport { registerTable } from \"./registerTable\";\nimport { registerTabs } from \"./registerTabs\";\nimport { registerTooltip } from \"./registerTooltip\";\nimport { registerDirectoryTree, registerTree } from \"./registerTree\";\nimport { registerUpload } from \"./registerUpload\";\nimport { Registerable } from \"./utils\";\n\nexport function registerAll(loader?: Registerable) {\n registerConfigProvider(loader);\n registerTokens(loader);\n registerSelect(loader);\n registerTable(loader);\n registerCheckbox(loader);\n registerSwitch(loader);\n registerRadio(loader);\n registerModal(loader);\n registerButton(loader);\n registerMenu(loader);\n registerDropdown(loader);\n registerForm(loader);\n registerFormItem(loader);\n registerFormGroup(loader);\n registerFormList(loader);\n registerInput(loader);\n registerPasswordInput(loader);\n registerTextArea(loader);\n registerNumberInput(loader);\n registerDatePicker(loader);\n registerDateRangePicker(loader);\n registerUpload(loader);\n registerColorPicker(loader);\n registerDrawer(loader);\n registerSteps(loader);\n registerTooltip(loader);\n registerAvatar(loader);\n registerAvatarGroup(loader);\n registerTree(loader);\n registerDirectoryTree(loader);\n registerCollapse(loader);\n registerPopover(loader);\n registerTabs(loader);\n registerRate(loader);\n registerSlider(loader);\n registerSegmented(loader);\n registerProgress(loader);\n registerPagination(loader);\n registerBreadcrumb(loader);\n registerBreadcrumbItem(loader);\n}\n\nexport { FormType, InputType, OPTIMIZED_FORM_IMPORT } from \"./form/Form\";\nexport type { SimplifiedFormItemsProp } from \"./form/Form\";\nexport { formTypeDescription, registerForm } from \"./form/registerForm\";\nexport { deriveFormFieldConfigs } from \"./form/SchemaForm\";\nexport * from \"./names\";\n\nexport const componentNameToInputType = {\n [inputComponentName]: InputType.Text,\n [textAreaComponentName]: InputType.TextArea,\n [passwordComponentName]: InputType.Password,\n [inputNumberComponentName]: InputType.Number,\n [selectComponentName]: InputType.Select,\n [optionComponentName]: InputType.Option,\n [optionGroupComponentName]: InputType.OptionGroup,\n [radioComponentName]: InputType.Radio,\n [radioGroupComponentName]: InputType.RadioGroup,\n [datePickerComponentName]: InputType.DatePicker,\n [checkboxComponentName]: InputType.Checkbox,\n};\n\nexport const inputTypeToComponentName = Object.fromEntries(\n Object.entries(componentNameToInputType).map((kv) => kv.reverse())\n) as Record<InputType, string>;\n"],"names":["InputType","FormType","__objRest","values","__spreadValues","_a","__spreadProps","FormListWrapper","FormWrapper","props","commonProps","message","AntdMenu","OutlineMessage","AntdTable"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"antd.esm.js","sources":["../src/utils.tsx","../src/form/contexts.ts","../src/form/Form.tsx","../src/names.ts","../src/registerCheckbox.tsx","../src/registerDatePicker.tsx","../src/registerRadio.tsx","../src/react-utils.tsx","../src/registerSelect.tsx","../src/form/FormItem.tsx","../src/form/SchemaForm.tsx","../src/form/sharedRegistration.ts","../src/form/FormGroup.tsx","../src/form/FormList.tsx","../src/form/registerForm.tsx","../src/form/registerFormGroup.tsx","../src/form/registerFormItem.tsx","../src/form/registerFormList.tsx","../src/registerAvatar.tsx","../src/registerBreadcrumb.tsx","../src/registerButton.tsx","../src/registerCollapse.tsx","../src/registerColorPicker.tsx","../src/registerConfigProvider.tsx","../src/registerDateRangePicker.tsx","../src/registerDrawer.tsx","../src/registerMenu.tsx","../src/registerDropdown.tsx","../src/registerInput.tsx","../src/registerModal.tsx","../src/registerPagination.tsx","../src/registerPopover.tsx","../src/registerProgress.tsx","../src/registerRate.tsx","../src/registerSegmented.tsx","../src/registerSlider.tsx","../src/registerSteps.tsx","../src/registerSwitch.tsx","../src/registerTable.tsx","../src/registerTabs.tsx","../src/registerTooltip.tsx","../src/registerTree.tsx","../src/registerUpload.tsx","../src/index.ts"],"sourcesContent":["import {\n ComponentMeta,\n default as registerComponent,\n} from \"@plasmicapp/host/registerComponent\";\nimport {\n default as registerGlobalContext,\n GlobalContextMeta,\n} from \"@plasmicapp/host/registerGlobalContext\";\nimport { default as registerToken } from \"@plasmicapp/host/registerToken\";\nimport React from \"react\";\n\nexport type Registerable = {\n registerComponent: typeof registerComponent;\n registerGlobalContext: typeof registerGlobalContext;\n registerToken: typeof registerToken;\n};\n\nexport function makeRegisterComponent<T extends React.ComponentType<any>>(\n component: T,\n meta: ComponentMeta<React.ComponentProps<T>>\n) {\n return function (loader?: Registerable) {\n registerComponentHelper(loader, component, meta);\n };\n}\n\nexport function makeRegisterGlobalContext<T extends React.ComponentType<any>>(\n component: T,\n meta: GlobalContextMeta<React.ComponentProps<T>>\n) {\n return function (loader?: Registerable) {\n if (loader) {\n loader.registerGlobalContext(component, meta);\n } else {\n registerGlobalContext(component, meta);\n }\n };\n}\n\nexport function registerComponentHelper<T extends React.ComponentType<any>>(\n loader: Registerable | undefined,\n component: T,\n meta: ComponentMeta<React.ComponentProps<T>>\n) {\n if (loader) {\n loader.registerComponent(component, meta);\n } else {\n registerComponent(component, meta);\n }\n}\n\ntype ReactElt = {\n children: ReactElt | ReactElt[];\n props: {\n children: ReactElt | ReactElt[];\n [prop: string]: any;\n } | null;\n type: React.ComponentType<any> | null;\n key: string | null;\n} | null;\n\nexport function traverseReactEltTree(\n children: React.ReactNode,\n callback: (elt: ReactElt) => void\n) {\n const rec = (elts: ReactElt | ReactElt[] | null) => {\n (Array.isArray(elts) ? elts : [elts]).forEach((elt) => {\n if (elt) {\n callback(elt);\n if (elt.children) {\n rec(elt.children);\n }\n if (elt.props?.children && elt.props.children !== elt.children) {\n rec(elt.props.children);\n }\n }\n });\n };\n rec(children as any);\n}\n\nexport function asArray<T>(x: T[] | T | undefined | null) {\n if (Array.isArray(x)) {\n return x;\n } else if (x == null) {\n return [];\n } else {\n return [x];\n }\n}\n\nexport function omit<T extends object>(\n obj: T,\n ...keys: (keyof T)[]\n): Partial<T> {\n if (Object.keys(obj).length === 0) {\n return obj;\n }\n const res: Partial<T> = {};\n for (const key of Object.keys(obj) as (keyof T)[]) {\n if (!keys.includes(key)) {\n res[key] = obj[key];\n }\n }\n return res;\n}\n\nexport function has<T extends object>(obj: T, keys: (keyof T)[]): boolean {\n if (Object.keys(obj).length === 0) {\n return true;\n }\n for (const key of keys) {\n if (Array.isArray(obj)) {\n const index = parseInt(key as string);\n if (isNaN(index) || index < 0 || index >= obj.length) {\n return false;\n }\n obj = obj[index];\n } else if (typeof obj === \"object\" && obj != null) {\n if (!Object.prototype.hasOwnProperty.call(obj, key) || !(key in obj)) {\n return false;\n }\n obj = obj[key] as T;\n } else {\n return false;\n }\n }\n return true;\n}\n\nexport function usePrevious<T>(value: T | undefined): T | undefined {\n const prevValue = React.useRef<T | undefined>(undefined);\n\n React.useEffect(() => {\n prevValue.current = value;\n\n return () => {\n prevValue.current = undefined;\n };\n });\n\n return prevValue.current;\n}\n\nexport function capitalize(value: string) {\n return value[0].toUpperCase() + value.slice(1);\n}\n\nexport function ensureArray<T>(x: T | T[]): T[] {\n return Array.isArray(x) ? x : [x];\n}\n\nexport function setFieldsToUndefined(obj: any) {\n if (typeof obj === \"object\" && obj !== null) {\n for (const key in obj) {\n if (typeof obj[key] === \"object\") {\n setFieldsToUndefined(obj[key]);\n }\n obj[key] = undefined;\n }\n }\n}\n\nexport function arrayEq(xs: ReadonlyArray<any>, ys: ReadonlyArray<any>) {\n return xs.length === ys.length && xs.every((x, i) => x === ys[i]);\n}\n\n/**\n *\n * Forked from: https://github.com/ant-design/pro-components/blob/master/packages/utils/src/components/ErrorBoundary/index.tsx\n *\n */\nimport { Result } from \"antd\";\nimport type { ErrorInfo } from \"react\";\n\ninterface ErrorBoundaryProps {\n children?: React.ReactNode;\n message?: string;\n canvasEnvId?: number;\n}\n\ninterface ErrorBoundaryState {\n hasError: boolean;\n errorInfo: string;\n}\nexport class ErrorBoundary extends React.Component<\n ErrorBoundaryProps,\n ErrorBoundaryState\n> {\n state = { hasError: false, errorInfo: \"\" };\n\n static getDerivedStateFromError(error: Error) {\n return { hasError: true, errorInfo: error.message };\n }\n\n componentDidCatch(error: any, errorInfo: ErrorInfo) {\n // You can also log the error to an error reporting service\n // eslint-disable-next-line no-console\n console.log(error, errorInfo);\n }\n\n componentDidUpdate(\n prevProps: Readonly<ErrorBoundaryProps>,\n prevState: Readonly<ErrorBoundaryState>\n ) {\n if (\n prevProps.canvasEnvId !== this.props.canvasEnvId &&\n prevState.hasError\n ) {\n this.setState({ hasError: false });\n }\n }\n\n render() {\n if (this.state.hasError) {\n // You can render any custom fallback UI\n return (\n <Result\n status=\"error\"\n title={this.props.message ?? \"Something went wrong.\"}\n extra={this.state.errorInfo}\n />\n );\n }\n return this.props.children;\n }\n}\n\n// Forked from https://github.com/acstll/deep-get-set/blob/master/index.js\nfunction isUnsafeKey(key: string | number | symbol) {\n return (\n (Array.isArray(key) && key[0] === \"__proto__\") ||\n key === \"__proto__\" ||\n key === \"constructor\" ||\n key === \"prototype\"\n );\n}\nexport function get(obj: any, path: (string | number | symbol)[] | string) {\n const keys = Array.isArray(path) ? path : path.split(\".\");\n let i;\n for (i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (!obj || !Object.hasOwn(obj, key) || isUnsafeKey(key)) {\n obj = undefined;\n break;\n }\n obj = obj[key];\n }\n return obj;\n}\n\nexport function set(\n obj: any,\n path: (string | number | symbol)[] | string,\n value: any\n) {\n const keys = Array.isArray(path) ? path : path.split(\".\");\n let i;\n for (i = 0; i < keys.length - 1; i++) {\n const key = keys[i];\n if (isUnsafeKey(key)) return;\n if (!Object.hasOwn(obj, key)) {\n if (!isNaN(Number(keys[i + 1]))) {\n obj[key] = [];\n } else {\n obj[key] = {};\n }\n }\n obj = obj[key];\n }\n obj[keys[i]] = value;\n return value;\n}\n\nexport function pick<T extends {}>(\n obj: T,\n ...paths: (string | number | symbol)[][]\n): Partial<T> {\n if (Object.keys(obj).length === 0) {\n return obj;\n }\n const res: any = {};\n for (const path of paths) {\n set(res, path, get(obj, path));\n }\n return res as Partial<T>;\n}\n","import { Form, type FormInstance, type FormItemProps } from \"antd\";\nimport React from \"react\";\n\nexport const PathContext = React.createContext<{\n relativePath: (string | number)[]; // used for form.items inside a form.list\n fullPath: (string | number)[];\n}>({ relativePath: [], fullPath: [] });\n\nexport const useFormItemRelativeName = (name: FormItemProps[\"name\"]) => {\n const pathCtx = React.useContext(PathContext);\n return typeof name === \"object\"\n ? [...pathCtx.relativePath, ...name]\n : typeof name === \"string\"\n ? [...pathCtx.relativePath, name]\n : undefined;\n};\n\nexport const useFormItemFullName = (name: FormItemProps[\"name\"]) => {\n const pathCtx = React.useContext(PathContext);\n return typeof name === \"object\"\n ? [...pathCtx.fullPath, ...name]\n : typeof name === \"string\"\n ? [...pathCtx.fullPath, name]\n : undefined;\n};\n\nexport function useFormInstanceMaybe(): FormInstance<any> | undefined {\n return Form.useFormInstance();\n}\n\nexport interface FieldEntity {\n fullPath: (string | number)[];\n name: string | number | undefined;\n preserve: boolean;\n}\n\n/**\n * - registeredFields: current mounted form fields\n * - preservedRegisteredFields: all fields that were registered and were marked as NOT preserve\n */\nexport interface InternalFieldCtx {\n registeredFields: FieldEntity[];\n preservedRegisteredFields: FieldEntity[];\n}\n\nexport interface CommonFormControlContextData {\n formInstance?: FormInstance<any>;\n layout?: FormLayoutContextValue;\n internalFieldCtx?: InternalFieldCtx;\n}\n\nexport interface InternalFormInstanceContext\n extends CommonFormControlContextData {\n fireOnValuesChange: () => void;\n forceRemount: () => void;\n registerField: (fieldEntity: FieldEntity) => () => void;\n internalFieldCtx: InternalFieldCtx;\n initialValues: Record<string, any>;\n}\n\nexport const InternalFormInstanceContext = React.createContext<\n InternalFormInstanceContext | undefined\n>(undefined);\n\nexport interface FormLayoutContextValue {\n layout: React.ComponentProps<typeof Form>[\"layout\"];\n labelSpan?: number;\n}\n\nexport const FormLayoutContext = React.createContext<\n FormLayoutContextValue | undefined\n>(undefined);\n","import type { DataOp, TableSchema } from \"@plasmicapp/data-sources\";\nimport { CodeComponentMode, ComponentHelpers } from \"@plasmicapp/host\";\nimport { CanvasComponentProps } from \"@plasmicapp/host/registerComponent\";\nimport { Form } from \"antd\";\nimport type { FormInstance, FormProps } from \"antd/es/form\";\nimport type { ColProps } from \"antd/es/grid/col\";\nimport equal from \"fast-deep-equal\";\nimport React from \"react\";\nimport { pick, setFieldsToUndefined, usePrevious } from \"../utils\";\nimport {\n CommonFormControlContextData,\n FieldEntity,\n FormLayoutContext,\n FormLayoutContextValue,\n InternalFieldCtx,\n InternalFormInstanceContext,\n} from \"./contexts\";\nimport { InternalFormItemProps } from \"./FormItem\";\n\nexport enum InputType {\n Text = \"Text\",\n TextArea = \"Text Area\",\n Password = \"Password\",\n Number = \"Number\",\n Select = \"Select\",\n Option = \"Option\",\n OptionGroup = \"Option Group\",\n Radio = \"Radio\",\n RadioGroup = \"Radio Group\",\n Checkbox = \"Checkbox\",\n DatePicker = \"DatePicker\",\n Unknown = \"Unkown\",\n}\n\nexport const SchemaFormContext = React.createContext<\n | {\n schema?: TableSchema;\n minimalFullLengthFields?: Partial<SimplifiedFormItemsProp>[];\n mergedFields?: SimplifiedFormItemsProp[];\n }\n | undefined\n>(undefined);\n\nexport interface SimplifiedFormItemsProp extends InternalFormItemProps {\n inputType: InputType;\n options?: {\n label: string;\n value: string;\n }[];\n optionType?: \"default\" | \"button\";\n showTime?: boolean;\n key?: string;\n}\n\nexport interface FormWrapperControlContextData\n extends CommonFormControlContextData {\n formInstance?: FormInstance<any>;\n schema?: TableSchema;\n minimalFullLengthFields?: Partial<SimplifiedFormItemsProp>[];\n mergedFields?: SimplifiedFormItemsProp[];\n}\n\nexport enum FormType {\n NewEntry,\n UpdateEntry,\n}\n\nexport interface FormWrapperProps\n extends FormProps,\n CanvasComponentProps<FormWrapperControlContextData> {\n /**\n * https://ant.design/components/form#setfieldsvalue-do-not-trigger-onfieldschange-or-onvalueschange\n * Because setFieldsValue doesn't trigger onValuesChange, we need to create our own onChange function.\n * This will allow us to trigger the onChange function and keep the value state updated in canvas.\n * We also don't invoke onValuesChange to avoid changing the standard behavior, since users may have\n * overridden this function in their codebase\n **/\n extendedOnValuesChange?: (\n values: Parameters<NonNullable<FormProps[\"onValuesChange\"]>>[1]\n ) => void;\n formItems?: SimplifiedFormItemsProp[];\n dataFormItems?: SimplifiedFormItemsProp[];\n mode?: CodeComponentMode;\n formType?: \"new-entry\" | \"update-entry\";\n submitSlot?: React.ReactNode;\n data?: DataOp;\n autoDisableWhileSubmitting?: boolean;\n onIsSubmittingChange?: (isSubmitting: boolean) => void;\n}\n\nconst Internal = React.forwardRef(\n (\n props: Omit<FormWrapperProps, \"onFinish\"> & {\n forceRemount: () => void;\n setInternalFieldCtx: React.Dispatch<\n React.SetStateAction<InternalFieldCtx>\n >;\n internalFieldCtx: InternalFieldCtx;\n labelCol?: ColProps & { horizontalOnly?: boolean };\n wrapperCol?: ColProps & { horizontalOnly?: boolean };\n formLayout: FormLayoutContextValue;\n onFinish?:\n | FormProps[\"onFinish\"]\n | ((\n ...args: Parameters<NonNullable<FormProps[\"onFinish\"]>>\n ) => Promise<ReturnType<NonNullable<FormProps[\"onFinish\"]>>>);\n },\n ref: React.Ref<FormRefActions>\n ) => {\n const [isSubmitting, setIsSubmitting] = React.useState(false);\n const [form] = Form.useForm();\n const values = form.getFieldsValue(true);\n const lastValue = React.useRef(values);\n const {\n extendedOnValuesChange,\n forceRemount,\n formLayout,\n internalFieldCtx,\n setInternalFieldCtx,\n autoDisableWhileSubmitting = true,\n ...rest\n } = props;\n // extracted from https://github.com/react-component/field-form/blob/master/src/Form.tsx#L120\n const childrenNode =\n typeof props.children === \"function\"\n ? props.children(values, form)\n : props.children;\n\n const fireOnValuesChange = React.useCallback(() => {\n const values = form.getFieldsValue(true);\n if (!equal(values, lastValue.current)) {\n extendedOnValuesChange?.(values);\n lastValue.current = values;\n }\n }, [form, lastValue]);\n\n React.useEffect(() => {\n fireOnValuesChange();\n }, []);\n React.useImperativeHandle(ref, () => ({\n formInstance: form,\n setFieldsValue: (newValues: Record<string, any>) => {\n form.setFieldsValue(newValues);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n setFieldValue: (\n namePath: string | number | (string | number)[],\n value: any\n ) => {\n form.setFieldValue(namePath, value);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n resetFields: () => {\n form.resetFields();\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n validateFields: async (...args) => {\n try {\n return await form.validateFields(...(args as any));\n } catch (err) {\n return err as any;\n }\n },\n clearFields: () => {\n const values = form.getFieldsValue(true);\n setFieldsToUndefined(values);\n form.setFieldsValue(values);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n },\n }));\n const registerField = React.useCallback(\n (fieldEntity: FieldEntity) => {\n setInternalFieldCtx((ctx) => ({\n registeredFields: [...ctx.registeredFields, fieldEntity],\n preservedRegisteredFields: [\n ...ctx.preservedRegisteredFields,\n fieldEntity,\n ],\n }));\n return () => {\n setInternalFieldCtx((ctx) => ({\n registeredFields: ctx.registeredFields.filter(\n (ent) => ent !== fieldEntity\n ),\n preservedRegisteredFields: ctx.preservedRegisteredFields.filter(\n (ent) => ent !== fieldEntity || fieldEntity.preserve\n ),\n }));\n };\n },\n [setInternalFieldCtx]\n );\n const schemaFormCtx = React.useContext(SchemaFormContext);\n props.setControlContextData?.({\n formInstance: form,\n layout: formLayout,\n internalFieldCtx,\n ...(schemaFormCtx ? schemaFormCtx : {}),\n });\n\n const updateIsSubmitting = React.useCallback(\n (newValue: boolean) => {\n setIsSubmitting(newValue);\n props.onIsSubmittingChange?.(newValue);\n },\n [props.onIsSubmittingChange, setIsSubmitting]\n );\n\n return (\n <InternalFormInstanceContext.Provider\n value={{\n layout: formLayout,\n fireOnValuesChange,\n forceRemount,\n registerField,\n internalFieldCtx,\n initialValues: props.initialValues ?? {},\n }}\n >\n <FormLayoutContext.Provider value={formLayout}>\n <Form\n {...rest}\n key={\n props.initialValues\n ? JSON.stringify(props.initialValues)\n : undefined\n }\n onValuesChange={(...args) => {\n props.onValuesChange?.(...args);\n extendedOnValuesChange?.(form.getFieldsValue(true));\n }}\n onFinish={async () => {\n if (isSubmitting && autoDisableWhileSubmitting) {\n return;\n }\n updateIsSubmitting(true);\n const submission = props.onFinish?.(\n pick(\n form.getFieldsValue(true),\n ...internalFieldCtx.preservedRegisteredFields.map(\n (field) => field.fullPath\n )\n )\n );\n if (\n typeof submission === \"object\" &&\n typeof submission.then === \"function\"\n ) {\n await submission;\n }\n updateIsSubmitting(false);\n }}\n form={form}\n labelCol={\n props.labelCol?.horizontalOnly && props.layout !== \"horizontal\"\n ? undefined\n : props.labelCol\n }\n wrapperCol={\n props.wrapperCol?.horizontalOnly && props.layout !== \"horizontal\"\n ? undefined\n : props.wrapperCol\n }\n disabled={isSubmitting && autoDisableWhileSubmitting}\n >\n {/*Remove built-in spacing on form fields*/}\n <style>{`\n .ant-form-item-explain + div, .ant-form-item-margin-offset {\n display: none;\n }\n `}</style>\n {childrenNode}\n </Form>\n </FormLayoutContext.Provider>\n </InternalFormInstanceContext.Provider>\n );\n }\n);\n\nexport interface FormRefActions\n extends Pick<\n FormInstance<any>,\n \"setFieldsValue\" | \"resetFields\" | \"setFieldValue\" | \"validateFields\"\n > {\n clearFields: () => void;\n formInstance: FormInstance<any>;\n}\n\nexport const FormWrapper = React.forwardRef(\n (props: FormWrapperProps, ref: React.Ref<FormRefActions>) => {\n const [remountKey, setRemountKey] = React.useState(0);\n const forceRemount = React.useCallback(\n () => setRemountKey((k) => k + 1),\n [setRemountKey]\n );\n const previousInitialValues = usePrevious(props.initialValues);\n\n const wrapperRef = React.useRef<FormRefActions>(null);\n React.useEffect(() => {\n if (\n previousInitialValues !== props.initialValues &&\n JSON.stringify(previousInitialValues) !==\n JSON.stringify(props.initialValues)\n ) {\n forceRemount();\n }\n }, [previousInitialValues, props.initialValues]);\n const [internalFieldCtx, setInternalFieldCtx] =\n React.useState<InternalFieldCtx>({\n registeredFields: [],\n preservedRegisteredFields: [],\n });\n\n React.useImperativeHandle(ref, () =>\n wrapperRef.current ? { ...wrapperRef.current } : ({} as FormRefActions)\n );\n\n const formLayout = React.useMemo(\n () => ({\n layout: props.layout,\n labelSpan: props.labelCol?.span as number | undefined,\n }),\n [props.layout, props.labelCol?.span]\n );\n\n return (\n <Internal\n key={remountKey}\n forceRemount={forceRemount}\n formLayout={formLayout}\n internalFieldCtx={internalFieldCtx}\n setInternalFieldCtx={setInternalFieldCtx}\n ref={wrapperRef}\n {...props}\n />\n );\n }\n);\n\nexport const formHelpers: ComponentHelpers<FormWrapperProps> = {\n states: {\n value: {\n onMutate: (value, $ref) => {\n $ref?.formInstance?.setFieldsValue(value);\n },\n },\n },\n};\n\nexport const OPTIMIZED_FORM_IMPORT = {\n name: \"FormWrapper\",\n path: \"@plasmicpkgs/antd5/skinny/Form\",\n};\n","export const inputComponentName = \"plasmic-antd5-input\";\nexport const passwordComponentName = \"plasmic-antd5-input-password\";\nexport const inputNumberComponentName = \"plasmic-antd5-input-number\";\nexport const textAreaComponentName = \"plasmic-antd5-textarea\";\nexport const switchComponentName = \"plasmic-antd5-switch\";\nexport const selectComponentName = \"plasmic-antd5-select\";\nexport const optionComponentName = \"plasmic-antd5-option\";\nexport const optionGroupComponentName = \"plasmic-antd5-option-group\";\nexport const checkboxComponentName = \"plasmic-antd5-checkbox\";\nexport const checkboxGroupComponentName = \"plasmic-antd5-checkbox-group\";\nexport const radioComponentName = \"plasmic-antd5-radio\";\nexport const radioButtonComponentName = \"plasmic-antd5-radio-button\";\nexport const radioGroupComponentName = \"plasmic-antd5-radio-group\";\nexport const formListComponentName = \"plasmic-antd5-form-list\";\nexport const formComponentName = \"plasmic-antd5-form\";\nexport const formGroupComponentName = \"plasmic-antd5-form-group\";\nexport const formItemComponentName = \"plasmic-antd5-form-item\";\nexport const buttonComponentName = \"plasmic-antd5-button\";\n","import { Checkbox } from \"antd\";\nimport type { CheckboxChangeEvent } from \"antd/es/checkbox\";\nimport React from \"react\";\nimport { checkboxComponentName, checkboxGroupComponentName } from \"./names\";\nimport {\n Registerable,\n registerComponentHelper,\n traverseReactEltTree,\n} from \"./utils\";\n\nexport function AntdCheckbox(\n props: Omit<React.ComponentProps<typeof Checkbox>, \"onChange\"> & {\n onChange?: (checked: boolean) => void;\n }\n) {\n const { onChange, ...rest } = props;\n const wrappedOnChange = React.useMemo(() => {\n if (onChange) {\n return (event: CheckboxChangeEvent) => onChange(event.target.checked);\n } else {\n return undefined;\n }\n }, [onChange]);\n return <Checkbox {...rest} onChange={wrappedOnChange} />;\n}\nAntdCheckbox.__plasmicFormFieldMeta = { valueProp: \"checked\" };\n\nexport const AntdCheckboxGroup = Checkbox.Group;\n\nexport function registerCheckbox(loader?: Registerable) {\n registerComponentHelper(loader, AntdCheckbox, {\n name: checkboxComponentName,\n displayName: \"Checkbox\",\n props: {\n checked: {\n type: \"boolean\",\n editOnly: true,\n uncontrolledProp: \"defaultChecked\",\n description:\n \"Specifies the initial state: whether or not the checkbox is selected\",\n defaultValueHint: false,\n hidden: (ps) => !!(ps as any).__plasmicFormField,\n },\n disabled: {\n type: \"boolean\",\n description: \"If checkbox is disabled\",\n defaultValueHint: false,\n },\n indeterminate: {\n type: \"boolean\",\n description: \"The indeterminate checked state of checkbox\",\n defaultValueHint: false,\n },\n autoFocus: {\n type: \"boolean\",\n description: \"If get focus when component mounted\",\n defaultValueHint: false,\n advanced: true,\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Checkbox\",\n },\n ],\n ...({ mergeWithParent: true } as any),\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"checked\", type: \"boolean\" }],\n } as any,\n },\n states: {\n checked: {\n type: \"writable\",\n valueProp: \"checked\",\n onChangeProp: \"onChange\",\n variableType: \"boolean\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerCheckbox\",\n importName: \"AntdCheckbox\",\n });\n\n registerComponentHelper(loader, AntdCheckboxGroup, {\n name: checkboxGroupComponentName,\n displayName: \"Checkbox Group\",\n props: {\n value: {\n type: \"choice\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Default selected value\",\n multiSelect: true,\n options: (ps) => {\n const options = new Set<string>();\n traverseReactEltTree(ps.children, (elt) => {\n if (\n elt?.type === AntdCheckbox &&\n typeof elt?.props?.value === \"string\"\n ) {\n options.add(elt.props.value);\n }\n });\n return Array.from(options.keys());\n },\n },\n disabled: {\n type: \"boolean\",\n description: \"Disables all checkboxes\",\n defaultValueHint: false,\n },\n children: {\n type: \"slot\",\n allowedComponents: [checkboxComponentName],\n // Error right now when using default slot content with stateful instances\n // defaultValue: [\n // {\n // type: \"component\",\n // name: \"plasmic-antd5-checkbox\",\n // },\n // ],\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"object\" }],\n } as any,\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"boolean\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerCheckbox\",\n importName: \"AntdCheckboxGroup\",\n parentComponentName: checkboxComponentName,\n });\n}\n","import { DatePicker } from \"antd\";\nimport dayjs, { Dayjs } from \"dayjs\";\nimport React from \"react\";\nimport { capitalize, Registerable, registerComponentHelper } from \"./utils\";\n\n/**\n * onChangeIsoString uses ISO strings rather than dayjs.\n *\n */\nexport function AntdDatePicker(\n props: Omit<React.ComponentProps<typeof DatePicker>, \"value\" | \"onChange\"> & {\n onChange?: (value: string | null) => void;\n value?: Dayjs | string | null;\n // Not sure why this is missing from DatePicker props!\n showTime?: boolean;\n popupScopeClassName?: string;\n }\n) {\n const { picker, popupScopeClassName, ...rest } = props;\n\n const css = `\n\n @media(max-width: 500px) {\n .ant-picker-dropdown {\n top: 20px !important;\n left: 10px !important;\n right: 10px !important;\n max-height: 95vh;\n position: fixed;\n overflow-y: scroll;\n }\n\n .ant-picker-panel-layout {\n flex-direction: column;\n }\n\n .ant-picker-presets {\n min-height: 50px;\n min-width: 100%;\n }\n\n .ant-picker-presets > ul {\n overflow-y: hidden;\n overflow-x: auto;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n flex-direction: column;\n }\n\n .ant-picker-presets > ul > li {\n margin: 0 !important;\n }\n\n .ant-picker-panel-container {\n width: 300px;\n }\n\n .ant-picker-datetime-panel {\n flex-direction: column;\n }\n\n .ant-picker-header-view {\n line-height: unset !important;\n }\n\n .ant-picker-content {\n height: unset !important;\n }\n\n .ant-picker-time-panel-column {\n height: 100px;\n }\n\n .ant-picker-time-panel-column::after {\n height: 0px !important;\n }\n\n .ant-picker-time-panel-column::after {\n display: none;\n }\n }`;\n\n return (\n <>\n <DatePicker\n {...rest}\n picker={picker as any}\n value={\n props.value === undefined\n ? undefined\n : !props.value\n ? null\n : dayjs(props.value)\n }\n defaultValue={\n props.defaultValue === undefined\n ? undefined\n : dayjs(props.defaultValue)\n }\n popupClassName={popupScopeClassName}\n // dateString isn't a valid ISO string, and value is a dayjs object.\n onChange={(value, _dateString) => {\n props.onChange?.(value !== null ? value.toISOString() : null);\n }}\n />\n <style dangerouslySetInnerHTML={{ __html: css }} />\n </>\n );\n}\n\nexport const datePickerComponentName = \"plasmic-antd5-date-picker\";\n\nexport const datePickerHelpers = {\n states: {\n value: {\n onChangeArgsToValue: (value: string) => (value ? value : undefined),\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n },\n};\n\nexport function registerDatePicker(loader?: Registerable) {\n registerComponentHelper(loader, AntdDatePicker, {\n name: datePickerComponentName,\n displayName: \"Date/Time Picker\",\n props: {\n value: {\n type: \"dateString\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description:\n \"The current date/time as an ISO string, Date object, or dayjs object\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n disabled: {\n type: \"boolean\",\n defaultValueHint: false,\n },\n autoFocus: {\n type: \"boolean\",\n description: \"Focus when component is rendered\",\n defaultValueHint: false,\n advanced: true,\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"string\" }],\n },\n picker: {\n type: \"choice\",\n options: [\"date\", \"week\", \"month\", \"quarter\", \"year\"].map((value) => ({\n value,\n label: capitalize(value),\n })),\n defaultValueHint: \"date\",\n },\n popupScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"datePickerPopup\",\n } as any,\n popupClassName: {\n type: \"class\",\n displayName: \"Popup container\",\n selectors: [\n {\n selector: \":datePickerPopup .ant-picker-panel-container\",\n label: \"Base\",\n },\n ],\n },\n popupHeaderClassName: {\n type: \"class\",\n displayName: \"Popup header\",\n selectors: [\n {\n selector: \":datePickerPopup .ant-picker-header\",\n label: \"Base\",\n },\n ],\n },\n popupBodyClassName: {\n type: \"class\",\n displayName: \"Popup body\",\n selectors: [\n {\n selector: \":datePickerPopup .ant-picker-body\",\n label: \"Base\",\n },\n ],\n },\n popupFooterClassName: {\n type: \"class\",\n displayName: \"Popup footer\",\n selectors: [\n {\n selector: \":datePickerPopup .ant-picker-footer\",\n label: \"Base\",\n },\n ],\n },\n showTime: {\n type: \"boolean\",\n description: \"Enable time selection\",\n },\n bordered: {\n type: \"boolean\",\n advanced: true,\n },\n // TODO - see how it works with plasmic-rich-components\n // format: {\n // advanced: true\n // },\n showNow: {\n type: \"boolean\",\n advanced: true,\n description: 'Whether to show the \"Now\" button',\n defaultValueHint: true,\n hidden: (ps: any) => !ps.showTime,\n },\n showToday: {\n type: \"boolean\",\n advanced: true,\n description: 'Whether to show the \"Today\" button',\n defaultValueHint: true,\n hidden: (ps: any) => ps.showTime,\n },\n // disabledDate: {\n // type: \"function\",\n // advanced: true,\n // description: \"Dates to disable\",\n // },\n // disabledTime: {\n // type: \"function\",\n // advanced: true,\n // description: \"Times to disable\",\n // },\n allowClear: {\n type: \"boolean\",\n advanced: true,\n description: \"Whether to show the clear button\",\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n ...datePickerHelpers.states.value,\n },\n },\n componentHelpers: {\n helpers: datePickerHelpers,\n importName: \"datePickerHelpers\",\n importPath: \"@plasmicpkgs/antd5/skinny/registerDatePicker\",\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerDatePicker\",\n importName: \"AntdDatePicker\",\n });\n}\n","import { Radio } from \"antd\";\nimport type { RadioChangeEvent } from \"antd/es/radio\";\nimport React from \"react\";\nimport {\n radioButtonComponentName,\n radioComponentName,\n radioGroupComponentName,\n} from \"./names\";\nimport {\n Registerable,\n registerComponentHelper,\n traverseReactEltTree,\n} from \"./utils\";\nconst RadioGroup = Radio.Group;\n\nexport const AntdRadio = Radio;\nexport const AntdRadioButton = Radio.Button;\nexport function AntdRadioGroup(\n props: Omit<React.ComponentProps<typeof RadioGroup>, \"onChange\"> & {\n onChange?: (value?: string) => void;\n useChildren?: boolean;\n }\n) {\n const { onChange, useChildren, ...rest } = props;\n const wrappedOnChange = React.useMemo(() => {\n if (onChange) {\n return (event: RadioChangeEvent) => onChange(event.target.value);\n } else {\n return undefined;\n }\n }, [onChange]);\n return (\n <RadioGroup\n {...rest}\n onChange={wrappedOnChange}\n options={useChildren ? undefined : rest.options}\n />\n );\n}\n\nexport function registerRadio(loader?: Registerable) {\n registerComponentHelper(loader, AntdRadio, {\n name: radioComponentName,\n displayName: \"Radio\",\n props: {\n value: {\n type: \"string\",\n description: \"The radio option value\",\n },\n disabled: {\n type: \"boolean\",\n defaultValueHint: false,\n },\n autoFocus: {\n type: \"boolean\",\n description: \"If focused when first shown\",\n defaultValueHint: false,\n advanced: true,\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Radio\",\n },\n ],\n ...({ mergeWithParent: true } as any),\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerRadio\",\n importName: \"AntdRadio\",\n parentComponentName: radioGroupComponentName,\n });\n registerComponentHelper(loader, AntdRadioButton, {\n name: radioButtonComponentName,\n displayName: \"Radio Button\",\n props: {\n value: {\n type: \"string\",\n description: \"The radio option value\",\n },\n disabled: {\n type: \"boolean\",\n defaultValueHint: false,\n },\n autoFocus: {\n type: \"boolean\",\n description: \"If focused when first shown\",\n defaultValueHint: false,\n advanced: true,\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Radio\",\n },\n ],\n ...({ mergeWithParent: true } as any),\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerRadio\",\n importName: \"AntdRadioButton\",\n parentComponentName: radioGroupComponentName,\n });\n\n registerComponentHelper(loader, AntdRadioGroup, {\n name: radioGroupComponentName,\n displayName: \"Radio Group\",\n props: {\n options: {\n type: \"array\",\n hidden: (ps) => !!ps.useChildren,\n itemType: {\n type: \"object\",\n nameFunc: (item: any) => item.label || item.value,\n fields: {\n value: \"string\",\n label: \"string\",\n },\n },\n defaultValue: [\n {\n value: \"option1\",\n label: \"Option 1\",\n },\n {\n value: \"option2\",\n label: \"Option 2\",\n },\n ],\n },\n optionType: {\n type: \"choice\",\n options: [\n { value: \"default\", label: \"Radio\" },\n { value: \"button\", label: \"Button\" },\n ],\n hidden: (ps) => !!ps.useChildren,\n defaultValueHint: \"default\",\n },\n value: {\n type: \"choice\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Default selected value\",\n options: (ps: any) => {\n if (ps.useChildren) {\n const options = new Set<string>();\n traverseReactEltTree(ps.children, (elt) => {\n if (typeof elt?.props?.value === \"string\") {\n options.add(elt.props.value);\n }\n });\n return Array.from(options.keys());\n } else {\n return ps.options ?? [];\n }\n },\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n disabled: {\n type: \"boolean\",\n description: \"Disables all radios\",\n defaultValueHint: false,\n },\n useChildren: {\n displayName: \"Use slot\",\n type: \"boolean\",\n defaultValueHint: false,\n advanced: true,\n description:\n \"Instead of configuring a list of options, customize the contents of the RadioGroup by dragging and dropping Radio in the outline/canvas, inside the 'children' slot. Lets you use any content or formatting within the Radio and RadioButton.\",\n },\n children: {\n type: \"slot\",\n allowedComponents: [\n \"plasmic-antd5-radio\",\n \"plasmic-antd5-radio-button\",\n ],\n defaultValue: [\n {\n type: \"component\",\n name: \"plasmic-antd5-radio\",\n props: {\n value: \"op1\",\n children: {\n type: \"text\",\n value: \"Option 1\",\n },\n },\n },\n {\n type: \"component\",\n name: \"plasmic-antd5-radio\",\n props: {\n value: \"op2\",\n children: {\n type: \"text\",\n value: \"Option 2\",\n },\n },\n },\n ],\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"string\" }],\n } as any,\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerRadio\",\n importName: \"AntdRadioGroup\",\n defaultStyles: {\n layout: \"hbox\",\n },\n ...({\n trapsSelection: true,\n } as any),\n });\n}\n","import classNames from \"classnames\";\nimport React, { isValidElement } from \"react\";\n\nexport const isBrowser = typeof window !== \"undefined\";\nexport const NONE = Symbol(\"NONE\");\n\nexport const useIsomorphicLayoutEffect = isBrowser\n ? React.useLayoutEffect\n : React.useEffect;\n\nexport function createElementWithChildren(\n elementType: any,\n props: any,\n children: React.ReactNode\n) {\n if (Array.isArray(children)) {\n return React.createElement(\n elementType,\n props,\n ...children\n ) as React.ReactElement;\n } else if (children || \"children\" in props) {\n // Only call React.createElement with `children` if there are actual children,\n // or if there was an explicit (albeit undefined) children passed via\n // props. Otherwise, if you pass `undefined` as the children argument\n // to React.createElement, the created element will have prop {children: undefined}.\n // If the `root` is an PlasmicGeneratedComponent, and these props with {children: undefined}\n // are used, then it will be taken as a `children` override, and will thus blank out\n // everything under the root node.\n return React.createElement(elementType, props, children);\n } else {\n return React.createElement(elementType, props);\n }\n}\n\nexport function ensureNotArray(children: React.ReactNode) {\n if (Array.isArray(children)) {\n if (children.length === 1) {\n return children[0];\n } else {\n return React.createElement(React.Fragment, {}, ...children);\n }\n } else {\n return children;\n }\n}\n\n/**\n * Flattens ReactNode into an array of ReactChild, but does NOT replace\n * missing keys with array index, as React.Children.toArray() does.\n */\nexport function toChildArray(children: React.ReactNode): React.ReactChild[] {\n if (isReactChild(children)) {\n return [children];\n } else if (Array.isArray(children)) {\n return children.flatMap(toChildArray);\n } else {\n return [];\n }\n}\n\nexport function isReactText(child: React.ReactNode): child is React.ReactText {\n return typeof child === \"string\" || typeof child === \"number\";\n}\n\nexport function isReactChild(\n child: React.ReactNode\n): child is React.ReactChild {\n return React.isValidElement(child) || isReactText(child);\n}\n\nexport function isReactFragment(\n child: React.ReactNode\n): child is React.ReactElement {\n return React.isValidElement(child) && child.type === React.Fragment;\n}\n\nexport function isReactNode(x: any) {\n return (\n typeof x === \"string\" || typeof x === \"number\" || React.isValidElement(x)\n );\n}\n\n// From https://stackoverflow.com/questions/54775790/forcing-excess-property-checking-on-variable-passed-to-typescript-function\n// We also wrap the error message in a Partial<> because otherwise Jetbrains IDEs will autocomplete the component with all the string methods as props - see https://github.com/plasmicapp/plasmic/issues/16.\nexport type StrictProps<T, TExpected> = Exclude<\n keyof T,\n keyof TExpected\n> extends never\n ? any\n : Partial<\"Unexpected extraneous props\">;\n\nexport type HTMLElementRefOf<T extends keyof JSX.IntrinsicElements> = Exclude<\n React.ComponentProps<T>[\"ref\"],\n string\n>;\n\nexport function mergeProps(\n props: Record<string, any>,\n ...restProps: Record<string, any>[]\n): Record<string, any> {\n if (restProps.every((rest) => Object.keys(rest).length === 0)) {\n return props;\n }\n\n const result = { ...props };\n\n for (const rest of restProps) {\n for (const key of Object.keys(rest)) {\n result[key] = mergePropVals(key, result[key], rest[key]);\n }\n }\n\n return result;\n}\n\nfunction updateRef<T>(ref: React.Ref<T> | undefined, value: T | null) {\n if (!ref) {\n return;\n }\n\n if (typeof ref === \"function\") {\n ref(value);\n } else {\n if (!Object.isFrozen(ref)) {\n (ref as React.MutableRefObject<T | null>).current = value;\n }\n }\n}\n\nexport function mergeRefs<T>(...refs: (React.Ref<T> | undefined)[]) {\n return (value: T) => {\n for (const ref of refs) {\n updateRef(ref, value);\n }\n };\n}\n\nexport function mergePropVals(name: string, val1: any, val2: any): any {\n if (val1 === NONE || val2 === NONE) {\n // The NONE sentinel always skips all merging and returns null\n return null;\n } else if (val1 == null) {\n // If either of them is nil, prefer the other\n return val2;\n } else if (val2 == null) {\n return val1;\n } else if (name === \"className\") {\n // Special case for className -- always combine both class names\n return classNames(val1, val2);\n } else if (name === \"style\") {\n // Special case for style -- always shallow-merge style dicts\n return { ...val1, ...val2 };\n } else if (name === \"ref\") {\n // Special case for ref\n return mergeRefs(val1, val2);\n } else if (typeof val1 !== typeof val2) {\n // If the type of the two values are different, then no way to merge them.\n // Prefer val2.\n return val2;\n } else if (name.startsWith(\"on\") && typeof val1 === \"function\") {\n // Special case for event handlers -- always call both handlers\n return (...args: any[]) => {\n let res: any;\n if (typeof val1 === \"function\") {\n res = val1(...args);\n }\n if (typeof val2 === \"function\") {\n res = val2(...args);\n }\n return res;\n };\n } else {\n // For all else, prefer val2\n return val2;\n }\n}\n\nexport function getElementTypeName(element: React.ReactElement) {\n if (typeof element.type === \"string\") {\n return element.type;\n } else {\n const comp = element.type as any;\n return comp.displayName ?? comp.name ?? comp.render?.name ?? \"Component\";\n }\n}\n\nexport function reactNodeToString(reactNode: React.ReactNode): string {\n let string = \"\";\n if (typeof reactNode === \"string\") {\n string = reactNode;\n } else if (typeof reactNode === \"number\") {\n string = reactNode.toString();\n } else if (reactNode instanceof Array) {\n reactNode.forEach(function (child) {\n string += reactNodeToString(child);\n });\n } else if (isValidElement(reactNode)) {\n string += reactNodeToString(reactNode.props.children);\n }\n return string;\n}\n\nexport function useIsMounted(): () => boolean {\n const ref = React.useRef<boolean>(false);\n const isMounted = React.useCallback(() => ref.current, []);\n\n React.useEffect(() => {\n ref.current = true;\n return () => {\n ref.current = false;\n };\n }, []);\n\n return isMounted;\n}\n","import { Select } from \"antd\";\nimport React, { ComponentProps } from \"react\";\nimport {\n optionComponentName,\n optionGroupComponentName,\n selectComponentName,\n} from \"./names\";\nimport { reactNodeToString } from \"./react-utils\";\nimport {\n Registerable,\n registerComponentHelper,\n traverseReactEltTree,\n} from \"./utils\";\n\nexport const AntdOption: typeof Select.Option = Select.Option;\nexport const AntdOptionGroup: typeof Select.OptGroup = Select.OptGroup;\n\nexport function AntdSelect(\n props: ComponentProps<typeof Select> & {\n popupScopeClassName?: string;\n popupClassName?: string;\n defaultStylesClassName?: string;\n useChildren?: boolean;\n }\n) {\n const {\n popupClassName,\n popupScopeClassName,\n defaultStylesClassName,\n suffixIcon,\n mode,\n useChildren,\n ...rest\n } = props;\n const curated = { ...rest };\n if (useChildren) {\n curated.options = undefined;\n }\n return (\n <Select\n {...curated}\n mode={!mode || (mode as any) === \"single\" ? undefined : mode}\n popupClassName={`${defaultStylesClassName} ${popupScopeClassName} ${popupClassName}`}\n optionFilterProp={curated.options ? \"label\" : undefined}\n filterOption={(input, option) =>\n (useChildren\n ? reactNodeToString(option?.children)\n : option?.label ?? \"\"\n )\n .toLowerCase()\n .includes(input.toLowerCase())\n }\n {...(suffixIcon && { suffixIcon })}\n />\n );\n}\n\nexport function registerSelect(loader?: Registerable) {\n registerComponentHelper(loader, AntdSelect, {\n name: selectComponentName,\n displayName: \"Select\",\n props: {\n options: {\n type: \"array\",\n hidden: (ps) => !!ps.useChildren,\n itemType: {\n type: \"object\",\n nameFunc: (item: any) => item.label || item.value,\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 value: {\n type: \"string\",\n hidden: (_ps: any, _ctx: any, { item }: any) =>\n item.type !== \"option\",\n },\n label: \"string\",\n options: {\n type: \"array\",\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.value,\n fields: {\n value: \"string\",\n label: \"string\",\n },\n },\n },\n },\n },\n defaultValue: [\n {\n value: \"option1\",\n label: \"Option 1\",\n type: \"option\",\n },\n {\n value: \"option2\",\n label: \"Option 2\",\n type: \"option\",\n },\n ],\n },\n\n useChildren: {\n displayName: \"Use slot\",\n type: \"boolean\",\n defaultValueHint: false,\n advanced: true,\n description:\n \"Instead of configuring a list of options, customize the contents of the Select by dragging and dropping options in the outline/canvas, inside the 'children' slot. Lets you use any content or formatting within the Options, and also use Option Groups.\",\n },\n\n children: {\n type: \"slot\",\n allowedComponents: [optionComponentName, optionGroupComponentName],\n hidden: (ps) => !ps.useChildren,\n },\n\n placeholder: {\n type: \"slot\",\n defaultValue: \"Select...\",\n },\n suffixIcon: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n open: {\n type: \"boolean\",\n editOnly: true,\n uncontrolledProp: \"defaultOpen\",\n },\n value: {\n type: \"choice\",\n displayName: \"Selected value\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Initial selected option\",\n multiSelect: (ps) => ps.mode === \"multiple\",\n options: (ps) => {\n const options = new Set<string>();\n if (!ps.useChildren) {\n const rec = (op: any) => {\n if (typeof op === \"string\") {\n return [{ value: op, label: op }];\n } else if (\"options\" in op) {\n return (op.options ?? []).flatMap((sub: any) => rec(sub));\n } else {\n return [{ value: op.value, label: op.label || op.value }];\n }\n };\n return (ps.options ?? []).flatMap((o: any) => rec(o));\n } else {\n traverseReactEltTree(ps.children, (elt) => {\n if (\n elt?.type === Select.Option &&\n typeof elt?.props?.value === \"string\"\n ) {\n options.add(elt.props.value);\n }\n });\n }\n return Array.from(options.keys());\n },\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n mode: {\n type: \"choice\",\n options: [\"single\", \"multiple\", \"tags\"],\n defaultValueHint: \"single\",\n description:\n \"Whether to allow single or multiple selection. Tags mode additionally allows selecting options outside the specified set of options.\",\n },\n size: {\n type: \"choice\",\n options: [\"small\", \"middle\", \"large\"],\n },\n disabled: {\n type: \"boolean\",\n defaultValueHint: false,\n },\n showSearch: {\n type: \"boolean\",\n defaultValueHint: false,\n advanced: true,\n },\n status: {\n type: \"choice\",\n options: [\"error\", \"warning\"],\n advanced: true,\n },\n bordered: {\n type: \"boolean\",\n defaultValueHint: true,\n },\n autoFocus: {\n type: \"boolean\",\n displayName: \"Focus automatically\",\n defaultValueHint: false,\n advanced: true,\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [\n { name: \"value\", type: \"string\" },\n { name: \"option\", type: \"object\" },\n ],\n } as any,\n dropdownMatchSelectWidth: {\n type: \"boolean\",\n displayName: \"Should dropdown match trigger button width?\",\n defaultValueHint: true,\n advanced: true,\n },\n allowClear: {\n type: \"boolean\",\n displayName: \"Allow clearing the Select\",\n defaultValueHint: false,\n advanced: true,\n },\n triggerClassName: {\n type: \"class\",\n displayName: \"Trigger styles\",\n noSelf: true,\n selectors: [\n {\n selector: \":component .ant-select-selector.ant-select-selector\",\n label: \"Base\",\n },\n {\n selector: \":component .ant-select-selector:hover\",\n label: \"Hovered\",\n },\n ],\n advanced: true,\n } as any,\n popupScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"popup\",\n } as any,\n popupClassName: {\n type: \"class\",\n displayName: \"Popup styles\",\n selectors: [],\n advanced: true,\n } as any,\n optionClassName: {\n type: \"class\",\n displayName: \"Option styles\",\n noSelf: true,\n selectors: [\n {\n selector: \":popup.ant-select-dropdown .ant-select-item-option\",\n label: \"Base\",\n },\n {\n selector:\n \":popup.ant-select-dropdown .ant-select-item-option-active\",\n label: \"Focused\",\n },\n {\n selector:\n \":popup.ant-select-dropdown .ant-select-item-option-selected\",\n label: \"Selected\",\n },\n ],\n advanced: true,\n } as any,\n placeholderClassName: {\n type: \"class\",\n displayName: \"Placeholder styles\",\n selectors: [\n {\n selector:\n \":component .ant-select-selector .ant-select-selection-placeholder\",\n label: \"Base\",\n },\n ],\n advanced: true,\n } as any,\n defaultStylesClassName: {\n type: \"themeResetClass\",\n } as any,\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n },\n ...({ trapsSelection: true } as any),\n importPath: \"@plasmicpkgs/antd5/skinny/registerSelect\",\n importName: \"AntdSelect\",\n });\n\n registerComponentHelper(loader, AntdOption, {\n name: optionComponentName,\n displayName: \"Option\",\n parentComponentName: selectComponentName,\n props: {\n children: {\n type: \"slot\",\n defaultValue: \"Option\",\n ...({ mergeWithParent: true } as any),\n },\n value: {\n type: \"string\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerSelect\",\n importName: \"AntdOption\",\n });\n\n registerComponentHelper(loader, AntdOptionGroup, {\n name: optionGroupComponentName,\n displayName: \"Option Group\",\n parentComponentName: selectComponentName,\n props: {\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"component\",\n name: \"plasmic-antd5-option\",\n props: {\n value: \"option1\",\n children: {\n type: \"text\",\n value: \"Option 1\",\n },\n },\n },\n {\n type: \"component\",\n name: \"plasmic-antd5-option\",\n props: {\n value: \"option2\",\n children: {\n type: \"text\",\n value: \"Option 1\",\n },\n },\n },\n ],\n },\n label: {\n type: \"slot\",\n defaultValue: \"Group label\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerSelect\",\n importName: \"AntdOptionGroup\",\n });\n}\n","import { usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport { CanvasComponentProps } from \"@plasmicapp/host/registerComponent\";\nimport { Form } from \"antd\";\nimport type { FormItemProps } from \"antd/es/form/FormItem\";\nimport React, { cloneElement, isValidElement } from \"react\";\nimport { mergeProps, reactNodeToString } from \"../react-utils\";\nimport { ensureArray, get } from \"../utils\";\nimport {\n CommonFormControlContextData,\n FieldEntity,\n FormLayoutContext,\n InternalFormInstanceContext,\n PathContext,\n useFormInstanceMaybe,\n useFormItemFullName,\n useFormItemRelativeName,\n} from \"./contexts\";\n\nconst FormItem = Form.Item;\n\nexport interface FormItemControlContextData\n extends CommonFormControlContextData {\n parentFormItemPath: (string | number)[];\n status?: ReturnType<typeof Form.Item.useStatus>;\n}\n\ninterface CuratedFieldData {\n status: string | undefined;\n // path: (string | number)[];\n // errors: string[];\n // warnings: string[];\n // value: any;\n // trigger: (x: any) => void;\n}\n\nexport interface InternalFormItemProps\n extends Omit<FormItemProps, \"rules\" | \"name\">,\n CanvasComponentProps<FormItemControlContextData> {\n rules?: PlasmicRule[];\n description?: React.ReactNode;\n noLabel?: boolean;\n hideValidationMessage?: boolean;\n customizeProps?: (\n fieldData: CuratedFieldData,\n props: InternalFormItemProps\n ) => FormItemProps;\n alignLabellessWithControls?: boolean;\n name?: string;\n}\n\ninterface PlasmicRule {\n ruleType:\n | \"enum\"\n | \"len\"\n | \"max\"\n | \"min\"\n | \"regex\"\n | \"required\"\n | \"whitespace\"\n | \"advanced\";\n length?: number;\n pattern?: string;\n custom?: (...args: any[]) => any;\n options?: { value: any }[];\n message?: string;\n}\n\nfunction plasmicRulesToAntdRules(\n plasmicRules: PlasmicRule[],\n label: string | undefined\n) {\n const effectiveLabel = label || \"This field\";\n const rules: FormItemProps[\"rules\"] = [];\n for (const plasmicRule of plasmicRules) {\n switch (plasmicRule.ruleType) {\n case \"enum\":\n rules.push({\n type: \"enum\",\n enum: plasmicRule.options?.map((opt) => opt.value) ?? [],\n message:\n plasmicRule.message ?? `${effectiveLabel} must be a valid value`,\n });\n break;\n case \"required\":\n rules.push({\n required: true,\n message: plasmicRule.message ?? `${effectiveLabel} is required`,\n });\n break;\n case \"regex\":\n rules.push({\n pattern: new RegExp(plasmicRule.pattern ?? \"\"),\n message:\n plasmicRule.message ?? `${effectiveLabel} must be a valid value`,\n });\n break;\n case \"whitespace\":\n rules.push({\n whitespace: true,\n message: plasmicRule.message ?? `${effectiveLabel} is required`,\n });\n break;\n case \"min\":\n rules.push({\n [plasmicRule.ruleType]: plasmicRule.length,\n message:\n plasmicRule.message ??\n `${effectiveLabel} must be at least ${plasmicRule.length} characters`,\n });\n break;\n case \"max\":\n rules.push({\n [plasmicRule.ruleType]: plasmicRule.length,\n message:\n plasmicRule.message ??\n `${effectiveLabel} must be at most ${plasmicRule.length} characters`,\n });\n break;\n case \"advanced\":\n rules.push({\n validator: (...args) =>\n plasmicRule.custom?.apply(null, args)\n ? Promise.resolve()\n : Promise.reject(),\n message: plasmicRule.message,\n });\n }\n }\n return rules;\n}\n\nexport function FormItemWrapper(props: InternalFormItemProps) {\n const {\n rules: plasmicRules,\n description,\n noLabel,\n name,\n hideValidationMessage,\n customizeProps,\n setControlContextData,\n alignLabellessWithControls = true,\n ...rest\n } = props;\n const relativeFormItemName = useFormItemRelativeName(name);\n const fullFormItemName = useFormItemFullName(name);\n const pathCtx = React.useContext(PathContext);\n const fieldEntity = React.useRef<FieldEntity>({\n preserve: props.preserve ?? true,\n fullPath: pathCtx.fullPath,\n name,\n }).current;\n const bestEffortLabel =\n (!noLabel && reactNodeToString(props.label)) ||\n ensureArray(props.name).slice(-1)[0];\n const rules = plasmicRules\n ? plasmicRulesToAntdRules(\n plasmicRules,\n typeof bestEffortLabel === \"number\"\n ? \"\" + bestEffortLabel\n : bestEffortLabel\n )\n : undefined;\n const layoutContext = React.useContext(FormLayoutContext);\n const inCanvas = !!usePlasmicCanvasContext();\n const {\n fireOnValuesChange,\n forceRemount,\n registerField,\n initialValues,\n internalFieldCtx,\n } = React.useContext(InternalFormInstanceContext) ?? {};\n if (inCanvas) {\n const form = useFormInstanceMaybe();\n const prevPropValues = React.useRef({\n initialValue: props.initialValue,\n name: props.name,\n });\n props.setControlContextData?.({\n internalFieldCtx,\n formInstance: form,\n parentFormItemPath: pathCtx.fullPath,\n layout: layoutContext,\n });\n React.useEffect(() => {\n if (prevPropValues.current.name !== props.name) {\n forceRemount?.();\n }\n if (\n !fullFormItemName ||\n get(initialValues, fullFormItemName) != null ||\n props.initialValue == null\n ) {\n // this field value is set at the form level\n return;\n }\n form?.setFieldValue(fullFormItemName, props.initialValue);\n prevPropValues.current.initialValue = props.initialValue;\n fireOnValuesChange?.();\n }, [\n form,\n props.initialValue,\n JSON.stringify(pathCtx.fullPath),\n props.name,\n props.preserve,\n ]);\n }\n React.useEffect(() => {\n fieldEntity.fullPath = [\n ...pathCtx.fullPath,\n ...(props.name != null ? [props.name] : []),\n ];\n fieldEntity.name = props.name;\n fieldEntity.preserve = props.preserve ?? true;\n }, [pathCtx.fullPath, props.name, props.preserve]);\n React.useEffect(() => {\n const unregister = registerField?.(fieldEntity);\n return () => unregister?.();\n }, []);\n return (\n <FormItem\n {...rest}\n label={noLabel ? undefined : props.label}\n name={relativeFormItemName}\n rules={rules}\n extra={description}\n help={hideValidationMessage ? \"\" : props.help}\n colon={noLabel ? false : undefined}\n valuePropName={deriveValuePropName(props)}\n trigger={deriveOnChangePropName(props)}\n // If in horizontal mode and no label, then we align the content\n // with the rest of the controls in the grid\n // if alignLabellessWithControls is true\n wrapperCol={\n layoutContext?.layout === \"horizontal\" &&\n noLabel &&\n alignLabellessWithControls &&\n layoutContext.labelSpan\n ? { offset: layoutContext.labelSpan }\n : undefined\n }\n >\n <FormItemForwarder formItemProps={props} />\n </FormItem>\n );\n}\n\n/**\n * Derive the valuePropName to use, if the wrapped child has designated\n * one via its Component.__plasmicFormFieldMeta?.valueProp.\n */\nfunction deriveValuePropName(props: InternalFormItemProps): string | undefined {\n if (props.valuePropName) {\n // Always prefer an explicitly specified valuePropName\n return props.valuePropName;\n }\n\n const valueProps = (\n React.Children.map(props.children as any, (child) => {\n if (React.isValidElement(child)) {\n const childType = child.type;\n if (childType) {\n const x = (childType as any).__plasmicFormFieldMeta?.valueProp;\n if (x) {\n return x as string;\n }\n // Hard-coding \"isChecked\" for Plume checkbox / switch\n const plumeType = (childType as any).__plumeType;\n if (\n plumeType &&\n (plumeType === \"checkbox\" || plumeType === \"switch\")\n ) {\n return \"isChecked\";\n }\n }\n }\n return undefined;\n }) ?? []\n ).filter((x: any): x is string => !!x);\n if (valueProps.length > 0) {\n return valueProps[0];\n }\n return undefined;\n}\n\n/**\n * Derive the onChange prop to use, if the wrapped child has designated\n * one via its Component.__plasmicFormFieldMeta?.valueProp.\n */\nfunction deriveOnChangePropName(\n props: InternalFormItemProps\n): string | undefined {\n if (props.trigger) {\n // Always prefer an explicitly specified valuePropName\n return props.trigger;\n }\n\n const triggerProps = (\n React.Children.map(props.children as any, (child) => {\n if (React.isValidElement(child)) {\n const childType = child.type;\n if (childType) {\n const x = (childType as any).__plasmicFormFieldMeta?.onChangeProp;\n if (x) {\n return x as string;\n }\n }\n }\n return undefined;\n }) ?? []\n ).filter((x: any): x is string => !!x);\n if (triggerProps.length > 0) {\n return triggerProps[0];\n }\n return undefined;\n}\n\nfunction FormItemForwarder({ formItemProps, ...props }: any) {\n const status = Form.Item.useStatus();\n const internalFormCtx = React.useContext(InternalFormInstanceContext);\n // const value = props[formItemProps.valuePropName ?? \"value\"];\n // const trigger = props[formItemProps.trigger ?? \"onChange\"];\n const data: CuratedFieldData = {\n status: status.status,\n };\n props.setControlContextData?.({\n internalFormCtx,\n status,\n });\n return React.Children.map(formItemProps.children, (child, i) => {\n if (i === 0 && isValidElement(child)) {\n let newProps = {\n name: formItemProps.name,\n ...(child.props ?? {}),\n ...props,\n __plasmicFormField: true,\n };\n if (formItemProps.customizeProps) {\n newProps = mergeProps(\n newProps,\n formItemProps.customizeProps(data, newProps)\n );\n }\n return cloneElement(child, newProps);\n } else {\n return child;\n }\n });\n}\n","import {\n deriveFieldConfigs,\n ManyRowsResult,\n normalizeData,\n SingleRowResult,\n TableSchema,\n usePlasmicDataOp,\n} from \"@plasmicapp/data-sources\";\nimport { Input, InputNumber } from \"antd\";\nimport React from \"react\";\nimport { AntdCheckbox } from \"../registerCheckbox\";\nimport { AntdDatePicker } from \"../registerDatePicker\";\nimport { AntdRadioGroup } from \"../registerRadio\";\nimport { AntdSelect } from \"../registerSelect\";\nimport { ErrorBoundary, omit, usePrevious } from \"../utils\";\nimport {\n FormRefActions,\n FormWrapper,\n FormWrapperProps,\n InputType,\n SchemaFormContext,\n SimplifiedFormItemsProp,\n} from \"./Form\";\nimport { FormItemWrapper } from \"./FormItem\";\n\nexport function deriveFormFieldConfigs(\n dataFormItems: SimplifiedFormItemsProp[],\n schema: TableSchema,\n data: any\n) {\n return deriveFieldConfigs<SimplifiedFormItemsProp>(\n dataFormItems,\n schema,\n (field) => ({\n inputType: InputType.Text,\n ...(field && {\n key: field.id,\n fieldId: field.id,\n label: field.label ?? field.id,\n name: field.id,\n inputType:\n field.type === \"string\"\n ? InputType.Text\n : field.type === \"number\"\n ? InputType.Number\n : field.type === \"boolean\"\n ? InputType.Checkbox\n : InputType.Text, //missing date and date-time\n initialValue: data ? data[field.id] : undefined,\n }),\n })\n );\n}\n\nfunction useFormItemDefinitions(\n rawData:\n | (Partial<SingleRowResult | ManyRowsResult> & {\n error?: Error;\n isLoading?: boolean;\n })\n | undefined,\n props: React.ComponentProps<typeof FormWrapper>\n) {\n const { mode, dataFormItems, setControlContextData } = props;\n\n return React.useMemo(() => {\n const data = rawData && normalizeData(rawData);\n const schema = data && data?.schema;\n if (\n mode !== \"simplified\" ||\n !rawData ||\n rawData.isLoading ||\n rawData.error ||\n !data ||\n !schema ||\n !data.data\n ) {\n return undefined;\n }\n const row = data.data.length > 0 ? data.data[0] : undefined;\n return deriveFormFieldConfigs(dataFormItems ?? [], schema, row);\n }, [mode, setControlContextData, dataFormItems, rawData]);\n}\n\nconst useRawData = (props: FormWrapperProps) => {\n const rawData = usePlasmicDataOp(props.data);\n return props.data ? rawData : undefined;\n};\n\nexport const SchemaForm = React.forwardRef(\n (props: FormWrapperProps, ref: React.Ref<FormRefActions>) => {\n const [remountKey, setRemountKey] = React.useState(0);\n const forceRemount = React.useCallback(\n () => setRemountKey((k) => k + 1),\n [setRemountKey]\n );\n const wrapperRef = React.useRef<FormRefActions>(null);\n React.useImperativeHandle(ref, () =>\n wrapperRef.current ? { ...wrapperRef.current } : ({} as FormRefActions)\n );\n\n const rawData = useRawData(props);\n const formItemDefinitions = useFormItemDefinitions(rawData, props);\n React.useEffect(() => {\n if (rawData && !rawData.isLoading) {\n forceRemount();\n }\n }, [rawData]);\n const previousDataOp = usePrevious(props.data);\n React.useEffect(() => {\n if (\n (previousDataOp == null && props.data != null) ||\n (previousDataOp != null && props.data == null)\n ) {\n forceRemount();\n }\n }, [props.data]);\n const { dataFormItems, formItems, data, ...rest } = props;\n const actualFormItems =\n props.mode === \"simplified\" && formItemDefinitions\n ? formItemDefinitions.mergedFields\n : data\n ? dataFormItems\n : formItems;\n const previousFormItems = React.useRef<SimplifiedFormItemsProp[]>([]);\n React.useEffect(() => {\n if (!(rawData && rawData.isLoading)) {\n previousFormItems.current = actualFormItems ?? [];\n }\n }, [rawData, actualFormItems]);\n if (props.mode === \"simplified\" && rawData && \"error\" in rawData) {\n return <div>Error when fetching data: {rawData.error.message}</div>;\n }\n const childrenNode =\n props.mode === \"simplified\" ? (\n <>\n {(actualFormItems ?? []).map((formItem) => (\n <ErrorBoundary\n canvasEnvId={(props as any)[\"data-plasmic-canvas-envs\"]}\n message={`Error rendering input for ${\n formItem.label ?? formItem.name ?? \"undefined\"\n }`}\n >\n <FormItemWrapper\n {...omit(formItem, \"key\")}\n noLabel={\n formItem.inputType === InputType.Checkbox || formItem.noLabel\n }\n valuePropName={\n formItem.valuePropName ??\n (formItem.inputType === InputType.Checkbox\n ? \"checked\"\n : undefined)\n }\n style={{ width: \"100%\" }}\n >\n {formItem.inputType === InputType.Text ? (\n <Input />\n ) : formItem.inputType === InputType.Password ? (\n <Input.Password />\n ) : formItem.inputType === InputType.TextArea ? (\n <Input.TextArea />\n ) : formItem.inputType === InputType.Number ? (\n <InputNumber />\n ) : formItem.inputType === InputType.Checkbox ? (\n <AntdCheckbox>{formItem.label}</AntdCheckbox>\n ) : formItem.inputType === InputType.Select ? (\n <AntdSelect options={formItem.options} />\n ) : formItem.inputType === InputType.DatePicker ? (\n <AntdDatePicker showTime={formItem.showTime} />\n ) : formItem.inputType === InputType.RadioGroup ? (\n <AntdRadioGroup\n options={formItem.options}\n optionType={formItem.optionType}\n style={{ padding: \"8px\" }}\n />\n ) : null}\n </FormItemWrapper>\n </ErrorBoundary>\n ))}\n {props.submitSlot}\n </>\n ) : (\n props.children\n );\n const isSchemaForm = props.mode === \"simplified\" && !!props.data;\n const isLoadingData = rawData?.isLoading;\n return (\n <SchemaFormContext.Provider\n value={{\n mergedFields: formItemDefinitions?.mergedFields,\n minimalFullLengthFields: formItemDefinitions?.mergedFields,\n schema: rawData?.schema,\n }}\n >\n <FormWrapper\n key={remountKey}\n {...rest}\n children={childrenNode}\n formItems={\n rawData && rawData.isLoading\n ? previousFormItems.current\n : actualFormItems\n }\n ref={wrapperRef}\n style={\n isSchemaForm && isLoadingData\n ? {\n opacity: 0.5,\n transitionDelay: \"250ms\",\n transition: \"1s\",\n }\n : {}\n }\n />\n {isSchemaForm && isLoadingData && (\n <div\n style={{\n position: \"absolute\",\n width: \"100%\",\n height: \"100%\",\n }}\n />\n )}\n </SchemaFormContext.Provider>\n );\n }\n);\n\nexport { SchemaForm as FormWrapper };\n","import { ActionProps, ControlExtras, PropType } from \"@plasmicapp/host\";\nimport { ArrayType } from \"@plasmicapp/host/registerComponent\";\nimport { Input, InputNumber, Radio } from \"antd\";\nimport React from \"react\";\nimport { AntdCheckbox } from \"../registerCheckbox\";\nimport { AntdDatePicker } from \"../registerDatePicker\";\nimport { AntdRadioGroup } from \"../registerRadio\";\nimport { AntdSelect } from \"../registerSelect\";\nimport { arrayEq } from \"../utils\";\nimport {\n FormWrapperControlContextData,\n FormWrapperProps,\n InputType,\n SimplifiedFormItemsProp,\n} from \"./Form\";\nimport { FormItemControlContextData, InternalFormItemProps } from \"./FormItem\";\nimport { CommonFormControlContextData } from \"./contexts\";\n\nconst mapAntdComponentToInputType = new Map<any, InputType>([\n [Input, InputType.Text],\n [Input.TextArea, InputType.TextArea],\n [Input.Password, InputType.Password],\n [InputNumber, InputType.Number],\n [AntdSelect, InputType.Select],\n [AntdRadioGroup, InputType.RadioGroup],\n [Radio, InputType.Radio],\n [AntdDatePicker, InputType.DatePicker],\n [AntdCheckbox, InputType.Checkbox],\n]);\n\nconst mapPlumeTypeToInputType = new Map<string, InputType>([\n [\"text-input\", InputType.Text],\n [\"select\", InputType.Select],\n [\"checkbox\", InputType.Checkbox],\n [\"switch\", InputType.Checkbox],\n]);\n\nexport const COMMON_ACTIONS = [\n {\n type: \"button-action\" as const,\n label: \"Append new Form Field\",\n onClick: ({ studioOps }: ActionProps<any>) => {\n studioOps.appendToSlot(\n {\n type: \"component\",\n name: \"plasmic-antd5-form-item\",\n },\n \"children\"\n );\n },\n hidden: (props: any) => props.mode !== \"advanced\",\n },\n // {\n // type: \"button-action\" as const,\n // label: \"Append new Form Field Group\",\n // onClick: ({ studioOps }: ActionProps<any>) => {\n // studioOps.appendToSlot(\n // {\n // type: \"component\",\n // name: \"plasmic-antd5-form-group\",\n // },\n // \"children\"\n // );\n // },\n // },\n // {\n // type: \"button-action\" as const,\n // label: \"Append new Form List\",\n // onClick: ({ studioOps }: ActionProps<any>) => {\n // studioOps.appendToSlot(\n // {\n // type: \"component\",\n // name: \"plasmic-antd5-form-list\",\n // },\n // \"children\"\n // );\n // },\n // },\n];\n\nexport function getDefaultValueHint(field: keyof SimplifiedFormItemsProp) {\n return (\n _props: any,\n contextData:\n | FormWrapperControlContextData\n | FormItemControlContextData\n | null,\n { item }: any\n ): any => {\n if (!contextData || !(\"mergedFields\" in contextData)) {\n return undefined;\n }\n if (item?.fieldId) {\n const fieldSetting = contextData.mergedFields?.find(\n (f) => f.fieldId === item.fieldId\n );\n return fieldSetting?.[field];\n }\n return undefined;\n };\n}\n\nexport function commonFormItemProps(\n usage: \"simplified-form-item\"\n): Record<string, PropType<InternalFormItemProps>>;\nexport function commonFormItemProps(\n usage: \"advanced-form-item\"\n): Record<string, PropType<FormWrapperProps>>;\nexport function commonFormItemProps(\n usage: \"simplified-form-item\" | \"advanced-form-item\"\n):\n | Record<string, PropType<FormWrapperProps>>\n | Record<string, PropType<InternalFormItemProps>> {\n const getFormItemProps = (\n ps: FormWrapperProps | InternalFormItemProps,\n _ctx: any,\n { item }: { item?: SimplifiedFormItemsProp }\n ): InternalFormItemProps | undefined => {\n if (usage === \"simplified-form-item\") {\n return item;\n } else {\n return ps as InternalFormItemProps;\n }\n };\n\n return {\n name: {\n type: \"string\" as const,\n required: true,\n displayName: \"Field key\",\n description: \"Key name for this field value in the submitted form data.\",\n validator: (\n value: string,\n _ps: any,\n ctx: CommonFormControlContextData | null\n ) => {\n let currFullPath: (string | number)[] = [];\n if (usage === \"simplified-form-item\") {\n currFullPath = [value];\n } else {\n const formItemCtx = ctx as FormItemControlContextData | null;\n currFullPath = [...(formItemCtx?.parentFormItemPath ?? []), value];\n }\n const nameCounter = (\n ctx?.internalFieldCtx?.registeredFields ?? []\n ).filter((formItem) => arrayEq(formItem.fullPath, currFullPath)).length;\n return nameCounter === 1\n ? true\n : `Repeated form field key: ${currFullPath.join(\" → \")}`;\n },\n defaultValueHint: getDefaultValueHint(\"name\"),\n },\n initialValue: {\n type: \"dynamic\",\n control: (\n ps: FormWrapperProps | InternalFormItemProps,\n ctx: FormWrapperControlContextData | null,\n {\n item,\n path,\n }: { item: SimplifiedFormItemsProp; path: (string | number)[] }\n ) => {\n let inputType = InputType.Unknown;\n if (usage === \"simplified-form-item\") {\n inputType = item.inputType;\n if (!(ps as FormWrapperProps).data) {\n inputType = item.inputType;\n } else if (path != null && typeof path[1] === \"number\") {\n inputType =\n ctx?.mergedFields?.[path[1]].inputType ?? InputType.Unknown;\n }\n } else {\n if (\n !React.isValidElement(ps.children) ||\n typeof ps.children.type === \"string\"\n ) {\n inputType = InputType.Unknown;\n } else {\n if (mapAntdComponentToInputType.has(ps.children.type)) {\n inputType =\n mapAntdComponentToInputType.get(ps.children.type) ??\n InputType.Unknown;\n } else if (\"__plumeType\" in ps.children.type) {\n inputType =\n mapPlumeTypeToInputType.get(\n ps.children.type.__plumeType as string\n ) ?? InputType.Unknown;\n }\n }\n }\n if (\n [\n InputType.Text,\n InputType.TextArea,\n InputType.Password,\n InputType.Select,\n InputType.RadioGroup,\n ].includes(inputType)\n ) {\n return {\n type: \"string\",\n defaultValueHint: getDefaultValueHint(\"initialValue\"),\n };\n } else if (InputType.Number === inputType) {\n return {\n type: \"number\",\n defaultValueHint: getDefaultValueHint(\"initialValue\"),\n };\n } else if (InputType.Checkbox === inputType) {\n return {\n type: \"boolean\",\n defaultValueHint: getDefaultValueHint(\"initialValue\"),\n };\n } else if (InputType.DatePicker === inputType) {\n return {\n type: \"dateString\",\n defaultValueHint: getDefaultValueHint(\"initialValue\"),\n };\n } else {\n return {\n type: \"exprEditor\",\n defaultValueHint: getDefaultValueHint(\"initialValue\"),\n };\n }\n },\n } as any,\n rules: {\n displayName: \"Validation rules\",\n type: \"formValidationRules\" as const,\n } as any,\n valuePropName: {\n type: \"string\" as const,\n advanced: true,\n defaultValueHint: \"value\",\n description:\n \"The prop name for specifying the value of the form control component\",\n },\n trigger: {\n type: \"string\" as const,\n displayName: \"Trigger prop name\",\n advanced: true,\n defaultValueHint: \"onChange\",\n description:\n \"The prop name of event handler that is called when value is changed\",\n },\n noLabel: {\n type: \"boolean\" as const,\n advanced: true,\n },\n alignLabellessWithControls: {\n type: \"boolean\" as const,\n displayName: \"Align with controls?\",\n description: \"Aligns the content with form controls in the grid\",\n hidden: (\n ps: any,\n ctx: CommonFormControlContextData | null,\n extras: ControlExtras\n ) => {\n const formItem = getFormItemProps(ps, ctx, extras);\n return !formItem?.noLabel || ctx?.layout?.layout !== \"horizontal\";\n },\n defaultValueHint: true,\n },\n colon: {\n type: \"boolean\" as const,\n defaultValueHint: true,\n advanced: true,\n hidden: () => true,\n },\n labelAlign: {\n type: \"choice\" as const,\n options: [\"left\", \"right\"],\n advanced: true,\n hidden: (\n ps: any,\n ctx: CommonFormControlContextData | null,\n extras: ControlExtras\n ) => {\n const formItem = getFormItemProps(ps, ctx, extras);\n return !!formItem?.noLabel || ctx?.layout?.layout !== \"horizontal\";\n },\n },\n hidden: {\n type: \"boolean\" as const,\n defaultValueHint: getDefaultValueHint(\"hidden\"),\n },\n validateTrigger: {\n displayName: \"Validate when\",\n type: \"choice\",\n options: [\n { value: \"onBlur\", label: \"a field loses focus\" },\n { value: \"onChange\", label: \"a field changes\" },\n { value: \"onSubmit\", label: \"the form is submitted\" },\n ],\n multiSelect: true,\n defaultValueHint: [\"onChange\"],\n advanced: true,\n },\n shouldUpdate: {\n type: \"boolean\" as const,\n advanced: true,\n displayName: \"Always re-render\",\n description:\n \"Form fields normally only re-render when the corresponding form value changes, for performance. This forces it to always re-render.\",\n },\n dependencies: {\n type: \"array\" as const,\n advanced: true,\n displayName: \"Dependencies\",\n description:\n \"Form fields can depend on other form fields. This forces it to re-evaluate the validation rules when the other form fields changes.\",\n },\n hideValidationMessage: {\n type: \"boolean\" as const,\n displayName: \"Hide validation message?\",\n description: \"If true, will hide the validation error message\",\n defaultValueHint: false,\n advanced: true,\n },\n customizeProps: {\n type: \"function\" as const,\n description:\n \"Customize the props passed into the wrapped field component. Takes the current status ('success', 'warning', 'error', or 'validating').)\",\n argNames: [\"fieldData\"],\n argValues: (_ps: any, ctx: FormItemControlContextData) => [\n {\n status: ctx?.status?.status,\n },\n ],\n advanced: true,\n } as any,\n noStyle: {\n type: \"boolean\" as const,\n displayName: \"Field control only\",\n description:\n \"Don't render anything but the field control - so no label, help text, validation error, etc.\",\n advanced: true,\n },\n preserve: {\n type: \"boolean\" as const,\n advanced: true,\n defaultValueHint: true,\n description: \"Keep field value even when field removed.\",\n },\n };\n}\n\nexport const commonSimplifiedFormArrayItemType = (\n propName: \"formItems\" | \"dataFormItems\"\n): ArrayType<FormWrapperProps>[\"itemType\"] => ({\n type: \"object\",\n fields: {\n label: {\n type: \"string\",\n defaultValueHint: getDefaultValueHint(\"label\"),\n },\n inputType: {\n type: \"choice\",\n options: Object.values(InputType).filter(\n (inputType) =>\n ![\n InputType.Option,\n InputType.OptionGroup,\n InputType.Radio,\n InputType.Unknown,\n ].includes(inputType)\n ),\n defaultValue: InputType.Text,\n defaultValueHint: getDefaultValueHint(\"inputType\"),\n },\n options: {\n type: \"array\",\n itemType: {\n type: \"object\",\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 hidden: (ps, _ctx, { path }) => {\n if (\n ps[propName]?.[path[1] as number]?.inputType !==\n InputType.Select\n ) {\n return true;\n }\n return false;\n },\n },\n label: \"string\",\n value: {\n type: \"string\",\n hidden: (ps, _ctx, { path, item }) => {\n if (\n ps[propName]?.[path[1] as number]?.inputType !==\n InputType.Select\n ) {\n return false;\n }\n return item.type !== \"option\";\n },\n },\n options: {\n type: \"array\",\n itemType: {\n type: \"object\",\n nameFunc: (item: any) => item.label || item.value,\n fields: {\n value: \"string\",\n label: \"string\",\n },\n },\n hidden: (ps, _ctx, { path, item }) => {\n if (\n ps[propName]?.[path[1] as number]?.inputType !==\n InputType.Select\n ) {\n return true;\n }\n return item.type !== \"option-group\";\n },\n },\n },\n nameFunc: (item) => item?.label,\n },\n hidden: (_ps: any, _ctx: any, { item }) =>\n ![InputType.Select, InputType.RadioGroup].includes(item.inputType),\n },\n optionType: {\n type: \"choice\",\n options: [\n { value: \"default\", label: \"Radio\" },\n { value: \"button\", label: \"Button\" },\n ],\n hidden: (_ps: any, _ctx: any, { item }) =>\n InputType.RadioGroup !== item.inputType,\n defaultValueHint: \"Radio\",\n displayName: \"Option Type\",\n },\n showTime: {\n type: \"boolean\",\n displayName: \"Show Time\",\n description: \"To provide an additional time selection\",\n hidden: (_ps: any, _ctx: any, { item }) =>\n ![InputType.DatePicker].includes(item.inputType),\n },\n ...commonFormItemProps(\"simplified-form-item\"),\n },\n nameFunc: (item) => item.fieldId ?? item.label ?? item.name,\n});\n","import React from \"react\";\nimport { PathContext } from \"./contexts\";\n\nexport interface FormGroupProps {\n name: string;\n children: React.ReactNode;\n}\n\nexport function FormGroup(props: FormGroupProps) {\n const pathCtx = React.useContext(PathContext);\n return (\n <PathContext.Provider\n value={{\n relativePath: [...pathCtx.relativePath, props.name],\n fullPath: [...pathCtx.fullPath, props.name],\n }}\n >\n {props.children}\n </PathContext.Provider>\n );\n}\n","import {\n DataProvider,\n repeatedElement,\n usePlasmicCanvasContext,\n} from \"@plasmicapp/host\";\nimport { Form } from \"antd\";\nimport type { FormListOperation, FormListProps } from \"antd/es/form/FormList\";\nimport React from \"react\";\nimport {\n InternalFormInstanceContext,\n PathContext,\n useFormInstanceMaybe,\n useFormItemFullName,\n useFormItemRelativeName,\n} from \"./contexts\";\n\nconst FormList = Form.List;\n\ntype FormListWrapperProps = Omit<FormListProps, \"children\"> & {\n children: React.ReactNode;\n};\n\ntype FormListRenderFuncParams = Parameters<FormListProps[\"children\"]>;\n\nexport const FormListWrapper = React.forwardRef(function FormListWrapper(\n props: FormListWrapperProps,\n ref: React.Ref<FormListOperation>\n) {\n const relativeFormItemName = useFormItemRelativeName(props.name);\n const fullFormItemName = useFormItemFullName(props.name);\n const operationsRef = React.useRef<FormListRenderFuncParams | undefined>(\n undefined\n );\n React.useImperativeHandle(\n ref,\n () => ({\n add(defaultValue, insertIndex) {\n if (operationsRef.current) {\n const { add } = operationsRef.current[1];\n add(defaultValue, insertIndex);\n }\n },\n remove(index) {\n if (operationsRef.current) {\n const { remove } = operationsRef.current[1];\n remove(index);\n }\n },\n move(from, to) {\n if (operationsRef.current) {\n const { move } = operationsRef.current[1];\n move(from, to);\n }\n },\n }),\n [operationsRef]\n );\n const inCanvas = !!usePlasmicCanvasContext();\n if (inCanvas) {\n const form = useFormInstanceMaybe();\n const prevPropValues = React.useRef({\n initialValue: props.initialValue,\n name: props.name,\n });\n const { fireOnValuesChange, forceRemount } =\n React.useContext(InternalFormInstanceContext) ?? {};\n React.useEffect(() => {\n if (prevPropValues.current.name !== props.name) {\n forceRemount?.();\n }\n if (fullFormItemName) {\n form?.setFieldValue(fullFormItemName, props.initialValue);\n prevPropValues.current.initialValue = props.initialValue;\n fireOnValuesChange?.();\n }\n }, [JSON.stringify(props.initialValue), JSON.stringify(fullFormItemName)]);\n }\n return (\n <FormList {...props} name={relativeFormItemName ?? []}>\n {(...args) => {\n operationsRef.current = args;\n return args[0].map((field, index) => (\n <PathContext.Provider\n value={{\n relativePath: [field.name],\n fullPath: [...(fullFormItemName ?? []), field.name],\n }}\n >\n <DataProvider name={\"currentField\"} data={field}>\n <DataProvider name={\"currentFieldIndex\"} data={index}>\n {repeatedElement(index, props.children)}\n </DataProvider>\n </DataProvider>\n </PathContext.Provider>\n ));\n }}\n </FormList>\n );\n});\n","import { buttonComponentName, formComponentName } from \"../names\";\nimport { Registerable, registerComponentHelper } from \"../utils\";\nimport { FormWrapperProps, InputType, formHelpers } from \"./Form\";\nimport { FormWrapper } from \"./SchemaForm\";\nimport {\n COMMON_ACTIONS,\n commonSimplifiedFormArrayItemType,\n} from \"./sharedRegistration\";\n\nconst colProp = (\n displayName: string,\n defaultValue?: object,\n description?: string\n) =>\n ({\n type: \"object\",\n displayName: displayName,\n advanced: true,\n fields: {\n span: {\n type: \"number\",\n displayName: \"Width\",\n description:\n \"The number of grid columns to span in width (out of 24 columns total)\",\n min: 1,\n max: 24,\n },\n offset: {\n type: \"number\",\n displayName: \"Offset\",\n description:\n \"Number of grid columns to skip from the left (out of 24 columns total)\",\n min: 0,\n max: 23,\n },\n horizontalOnly: {\n type: \"boolean\",\n displayName: \"Horizontal only\",\n description: \"Only apply when form layout is horizontal\",\n },\n },\n nameFunc: () => `Edit ${displayName}`,\n description,\n defaultValue: defaultValue,\n } as const);\n\nexport const formTypeDescription = `\n You can create form with two different behaviors:\n \\n\\n\n 1. Create a new entry: The form will be created empty and it will create a new row when submitted.\n 2. Update an entry: The form will be pre-filled with the row values and it will update the table entry when submitted.\n \\n\\n\n For both options, you can customize later.\n`;\n\nexport function registerForm(loader?: Registerable) {\n registerComponentHelper(loader, FormWrapper, {\n name: formComponentName,\n displayName: \"Form\",\n description:\n \"[Learn how to use forms](https://docs.plasmic.app/learn/forms/)\",\n defaultStyles: {\n layout: \"vbox\",\n alignItems: \"flex-start\",\n },\n props: {\n mode: {\n type: \"controlMode\",\n defaultValue: \"simplified\",\n } as any,\n data: {\n type: \"formDataConnection\",\n disableDynamicValue: true,\n disableLinkToProp: true,\n hidden: (ps: FormWrapperProps) => ps.mode !== \"simplified\" || !ps.data,\n invariantable: true,\n } as any,\n formItems: {\n displayName: \"Fields\",\n type: \"array\",\n itemType: commonSimplifiedFormArrayItemType(\"formItems\"),\n defaultValue: [\n {\n label: \"Name\",\n name: \"name\",\n inputType: InputType.Text,\n },\n {\n label: \"Message\",\n name: \"message\",\n inputType: InputType.TextArea,\n },\n ],\n hidden: (ps) => {\n if (ps.mode === \"advanced\") {\n return true;\n }\n return !!ps.data;\n },\n invariantable: true,\n },\n /**\n * dataFormItems are used to expand the form items from schema forms.\n * We can't use the formItems prop because it has a default value. Therefore, if we unset the formItems prop,\n * we would end up with the default value of formItems + schema form items.\n * Ideally, we would need to support dynamic default value.\n */\n dataFormItems: {\n displayName: \"Data Fields\",\n type: \"array\",\n itemType: commonSimplifiedFormArrayItemType(\"dataFormItems\"),\n hidden: (ps) => {\n if (ps.mode === \"advanced\") {\n return true;\n }\n return !ps.data;\n },\n unstable__keyFunc: (x) => x.key,\n unstable__minimalValue: (ps, contextData) => {\n return ps.data ? contextData?.minimalFullLengthFields : undefined;\n },\n unstable__canDelete: (item, ps, ctx) => {\n if (ps.mode !== \"simplified\") {\n return true;\n }\n if (!ctx?.schema || Object.keys(ctx.schema).length === 0) {\n // still loading...\n return false;\n }\n if (\n item.fieldId &&\n ctx.schema.fields?.some((f) => f.id === item.fieldId)\n ) {\n return false;\n }\n return true;\n },\n invariantable: true,\n },\n submitSlot: {\n type: \"slot\",\n hidden: () => true,\n defaultValue: {\n type: \"component\",\n name: buttonComponentName,\n props: {\n type: \"primary\",\n submitsForm: true,\n children: {\n type: \"text\",\n value: \"Submit\",\n },\n },\n },\n ...{\n mergeWithParent: () => true,\n hiddenMergedProps: (ps: any) => !ps.mode,\n },\n },\n children: {\n type: \"slot\",\n hidden: (props) => props.mode !== \"advanced\",\n },\n initialValues: {\n displayName: \"Initial field values\",\n type: \"object\",\n } as any,\n layout: {\n displayName: \"Form layout\",\n type: \"choice\",\n options: [\"horizontal\", \"vertical\", \"inline\"],\n defaultValue: \"vertical\",\n },\n labelAlign: {\n type: \"choice\",\n options: [\"left\", \"right\"],\n defaultValueHint: \"right\",\n advanced: true,\n hidden: (ps) => ps.layout !== \"horizontal\",\n },\n labelCol: colProp(\n \"Label layout\",\n {\n span: 8,\n horizontalOnly: true,\n },\n \"Set the width and offset of the labels\"\n ),\n wrapperCol: colProp(\n \"Control layout\",\n {\n span: 16,\n horizontalOnly: true,\n },\n \"Set the width and offset of the form controls\"\n ),\n colon: {\n type: \"boolean\",\n description: `Show a colon after labels by default (only for horizontal layout)`,\n defaultValueHint: true,\n advanced: true,\n hidden: (props) => (props.layout ?? \"horizontal\") !== \"horizontal\",\n },\n requiredMark: {\n displayName: \"Required/optional indicators\",\n type: \"choice\",\n options: [\n {\n value: \"optional\",\n label: \"Indicate optional fields\",\n },\n {\n value: true,\n label: \"Indicate required fields with asterisk\",\n },\n {\n value: false,\n label: \"Show no indicators\",\n },\n ],\n advanced: true,\n defaultValueHint: true,\n },\n extendedOnValuesChange: {\n type: \"eventHandler\",\n displayName: \"On values change\",\n argTypes: [\n {\n name: \"changedValues\",\n type: \"object\",\n },\n {\n name: \"allValues\",\n type: \"object\",\n },\n ],\n },\n onFinish: {\n type: \"eventHandler\",\n displayName: \"On submit\",\n argTypes: [\n {\n name: \"values\",\n type: \"object\",\n },\n ],\n },\n onFinishFailed: {\n // function({ values, errorFields, outOfDate })\n type: \"eventHandler\",\n displayName: \"On invalid submit\",\n argTypes: [\n {\n name: \"data\",\n type: \"object\",\n },\n ],\n },\n validateTrigger: {\n displayName: \"Validate when\",\n type: \"choice\",\n options: [\n { value: \"onBlur\", label: \"a field loses focus\" },\n { value: \"onChange\", label: \"a field changes\" },\n { value: \"onSubmit\", label: \"the form is submitted\" },\n ],\n multiSelect: true,\n defaultValueHint: [\"onChange\"],\n advanced: true,\n },\n autoDisableWhileSubmitting: {\n displayName: \"Auto disable while submitting\",\n type: \"boolean\",\n defaultValueHint: true,\n advanced: true,\n description:\n \"When disabled, it allows the creation of new submissions even while existing submissions are in progress.\",\n },\n onIsSubmittingChange: {\n type: \"eventHandler\",\n displayName: \"On Is Submitting Change\",\n argTypes: [\n {\n name: \"isSubmitting\",\n type: \"boolean\",\n },\n ],\n advanced: true,\n },\n },\n actions: [\n ...COMMON_ACTIONS,\n {\n type: \"form-schema\",\n hidden: (ps: FormWrapperProps) => ps.mode !== \"simplified\" || !!ps.data,\n } as any,\n ],\n states: {\n value: {\n type: \"readonly\",\n variableType: \"object\",\n onChangeProp: \"extendedOnValuesChange\",\n },\n isSubmitting: {\n type: \"readonly\",\n variableType: \"boolean\",\n onChangeProp: \"onIsSubmittingChange\",\n initVal: false,\n },\n },\n componentHelpers: {\n helpers: formHelpers,\n importName: \"formHelpers\",\n importPath: \"@plasmicpkgs/antd5/skinny/Form\",\n },\n refActions: {\n setFieldsValue: {\n displayName: \"Set multiple fields\",\n argTypes: [\n {\n name: \"newValues\",\n displayName: \"New Values\",\n type: \"exprEditor\",\n },\n ],\n },\n setFieldValue: {\n displayName: \"Set field\",\n argTypes: [\n {\n name: \"namePath\",\n displayName: \"Name Path\",\n type: {\n type: \"dataSelector\",\n data: (_, ctx) => {\n if (!ctx?.formInstance) {\n return {};\n }\n return ctx.formInstance.getFieldsValue(true);\n },\n },\n },\n {\n name: \"value\",\n displayName: \"New Value\",\n type: \"exprEditor\",\n },\n ],\n },\n resetFields: {\n displayName: \"Reset fields to initial value\",\n argTypes: [],\n },\n clearFields: {\n displayName: \"Clear fields\",\n argTypes: [],\n },\n validateFields: {\n displayName: \"Validate fields\",\n argTypes: [\n {\n name: \"nameList\",\n displayName: \"Name List\",\n type: \"object\",\n },\n {\n name: \"options\",\n displayName: \"Options\",\n type: \"object\",\n },\n ],\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/SchemaForm\",\n importName: \"FormWrapper\",\n });\n}\n\n// To maintain backward compatibility, we need to continue exporting these components,\n// which were previously imported from \"@plasmicpkgs/antd5/skinny/registerForm.\"\nexport { FormGroup } from \"./FormGroup\";\nexport { FormItemWrapper } from \"./FormItem\";\nexport { FormListWrapper } from \"./FormList\";\nexport { FormWrapper, formHelpers };\n","import { formComponentName, formGroupComponentName } from \"../names\";\nimport { Registerable, registerComponentHelper } from \"../utils\";\nimport { FormGroup } from \"./FormGroup\";\nimport { COMMON_ACTIONS } from \"./sharedRegistration\";\n\nexport function registerFormGroup(loader?: Registerable) {\n registerComponentHelper(loader, FormGroup, {\n name: formGroupComponentName,\n displayName: \"Form Field Group\",\n parentComponentName: formComponentName,\n actions: COMMON_ACTIONS,\n props: {\n name: {\n type: \"string\",\n displayName: \"Form group key\",\n description:\n \"Name of the field key for this group of form fields in the submitted form data.\",\n },\n children: {\n type: \"slot\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/FormGroup\",\n importName: \"FormGroup\",\n });\n}\n","import {\n buttonComponentName,\n checkboxComponentName,\n formComponentName,\n formItemComponentName,\n inputComponentName,\n inputNumberComponentName,\n passwordComponentName,\n radioGroupComponentName,\n selectComponentName,\n switchComponentName,\n textAreaComponentName,\n} from \"../names\";\nimport { Registerable, registerComponentHelper } from \"../utils\";\nimport { FormItemWrapper } from \"./FormItem\";\nimport { commonFormItemProps } from \"./sharedRegistration\";\n\nexport function registerFormItem(loader?: Registerable) {\n registerComponentHelper(loader, FormItemWrapper, {\n name: formItemComponentName,\n displayName: \"Form Field\",\n parentComponentName: formComponentName,\n defaultStyles: {\n marginBottom: \"24px\",\n width: \"stretch\",\n },\n props: {\n label: {\n type: \"slot\",\n defaultValue: {\n type: \"text\",\n value: \"Label\",\n },\n hidden: (ps) => !!ps.noLabel,\n ...({ mergeWithParent: true } as any),\n },\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"component\",\n name: inputComponentName,\n },\n ...({ mergeWithParent: true } as any),\n },\n ...commonFormItemProps(\"advanced-form-item\"),\n },\n importPath: \"@plasmicpkgs/antd5/skinny/FormItem\",\n importName: \"FormItemWrapper\",\n treeLabel: (ps: any) => ps.name,\n templates: {\n Text: {\n props: {\n children: {\n type: \"component\",\n name: inputComponentName,\n },\n },\n },\n \"Long Text\": {\n props: {\n children: {\n type: \"component\",\n name: textAreaComponentName,\n },\n },\n },\n \"Select dropdown\": {\n props: {\n children: {\n type: \"component\",\n name: selectComponentName,\n },\n },\n },\n Number: {\n props: {\n children: {\n type: \"component\",\n name: inputNumberComponentName,\n },\n },\n },\n Checkbox: {\n props: {\n children: {\n type: \"component\",\n name: checkboxComponentName,\n },\n noLabel: true,\n },\n },\n Switch: {\n props: {\n children: {\n type: \"component\",\n name: switchComponentName,\n },\n noLabel: true,\n },\n },\n Radios: {\n props: {\n children: {\n type: \"component\",\n name: radioGroupComponentName,\n },\n },\n },\n Password: {\n props: {\n children: {\n type: \"component\",\n name: passwordComponentName,\n },\n },\n },\n \"Submit button\": {\n props: {\n children: {\n type: \"component\",\n name: buttonComponentName,\n props: {\n type: \"primary\",\n },\n },\n noLabel: true,\n },\n },\n },\n ...({ trapsSelection: true } as any),\n });\n}\n","import {\n formComponentName,\n formItemComponentName,\n formListComponentName,\n} from \"../names\";\nimport { Registerable, registerComponentHelper } from \"../utils\";\nimport { FormListWrapper } from \"./FormList\";\nimport { COMMON_ACTIONS } from \"./sharedRegistration\";\n\nexport function registerFormList(loader?: Registerable) {\n registerComponentHelper(loader, FormListWrapper, {\n name: formListComponentName,\n parentComponentName: formComponentName,\n displayName: \"Form List\",\n actions: COMMON_ACTIONS,\n providesData: true,\n props: {\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"hbox\",\n children: [\n {\n type: \"component\",\n name: formItemComponentName,\n props: {\n name: \"firstName\",\n label: {\n type: \"text\",\n value: \"First name\",\n },\n children: {\n type: \"component\",\n name: \"plasmic-antd5-input\",\n },\n },\n },\n {\n type: \"component\",\n name: formItemComponentName,\n props: {\n name: \"lastName\",\n label: {\n type: \"text\",\n value: \"Last name\",\n },\n children: {\n type: \"component\",\n name: \"plasmic-antd5-input\",\n },\n },\n },\n ],\n },\n ],\n },\n name: {\n type: \"string\",\n defaultValue: \"guests\",\n },\n initialValue: {\n type: \"array\",\n defaultValue: [\n {\n firstName: \"Jane\",\n lastName: \"Doe\",\n },\n {\n firstName: \"John\",\n lastName: \"Smith\",\n },\n ],\n } as any,\n },\n refActions: {\n add: {\n displayName: \"Add an item\",\n argTypes: [\n {\n name: \"defaultValue\",\n displayName: \"Default value\",\n type: \"object\",\n },\n {\n name: \"insertIndex\",\n displayName: \"Insert index\",\n type: \"number\",\n },\n ],\n },\n remove: {\n displayName: \"Remove an item\",\n argTypes: [\n {\n name: \"index\",\n displayName: \"Index\",\n type: \"number\",\n },\n ],\n },\n move: {\n displayName: \"Move field\",\n argTypes: [\n {\n name: \"from\",\n displayName: \"From\",\n type: \"number\",\n },\n {\n name: \"to\",\n displayName: \"To\",\n type: \"number\",\n },\n ],\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/FormList\",\n importName: \"FormListWrapper\",\n });\n}\n","import React from \"react\";\nimport { Avatar } from \"antd\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\nimport { usePlasmicLink } from \"@plasmicapp/host\";\n\nexport function AntdAvatar({\n letters,\n href,\n target,\n ...props\n}: React.ComponentProps<typeof Avatar> & {\n letters?: string;\n href?: string;\n target?: boolean;\n}) {\n const avatar = <Avatar {...props} children={props.children || letters} />;\n const PlasmicLink = usePlasmicLink();\n return href ? (\n <PlasmicLink href={href} target={target ? \"_blank\" : undefined}>\n {avatar}\n </PlasmicLink>\n ) : (\n avatar\n );\n}\n\nexport function AntdAvatarGroup(\n props: React.ComponentProps<typeof Avatar.Group>\n) {\n return <Avatar.Group {...props} />;\n}\n\nexport function registerAvatar(loader?: Registerable) {\n registerComponentHelper(loader, AntdAvatar, {\n name: \"plasmic-antd5-avatar\",\n displayName: \"Avatar\",\n props: {\n href: {\n type: \"href\",\n displayName: \"Link to\",\n description: \"Destination to link to\",\n },\n target: {\n type: \"boolean\",\n displayName: \"Open in new tab\",\n hidden: (ps) => !ps.href,\n },\n letters: {\n type: \"string\",\n description: \"Letters to show\",\n defaultValue: \"AB\",\n },\n src: {\n type: \"imageUrl\",\n description: \"Image to display\",\n },\n size: {\n type: \"choice\",\n options: [\"small\", \"default\", \"large\"],\n description: \"Set the size of avatar\",\n defaultValueHint: \"default\",\n },\n shape: {\n type: \"choice\",\n options: [\"circle\", \"round\"],\n description: \"Set the avatar shape\",\n defaultValueHint: \"circle\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerAvatar\",\n importName: \"AntdAvatar\",\n });\n}\n\nexport function registerAvatarGroup(loader?: Registerable) {\n registerComponentHelper(loader, AntdAvatarGroup, {\n name: \"plasmic-antd5-avatar-group\",\n displayName: \"AvatarGroup\",\n props: {\n children: {\n type: \"slot\",\n defaultValue: [1, 2, 3, 4].map((user) => ({\n type: \"component\",\n name: \"plasmic-antd5-tooltip\",\n props: {\n titleText: \"User \" + user,\n children: {\n type: \"component\",\n name: \"plasmic-antd5-avatar\",\n props: {\n letters: `U${user}`,\n },\n },\n },\n })),\n },\n maxCount: {\n type: \"number\",\n description: \"Max avatars to show\",\n defaultValue: 2,\n },\n size: {\n type: \"choice\",\n options: [\"small\", \"default\", \"large\"],\n description: \"Default size of avatars\",\n defaultValueHint: \"default\",\n },\n maxPopoverPlacement: {\n type: \"choice\",\n advanced: true,\n options: [\"top\", \"bottom\"],\n defaultValueHint: \"top\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerAvatar\",\n importName: \"AntdAvatarGroup\",\n });\n}\n","import type { BreadcrumbItemProps, BreadcrumbProps } from \"antd\";\nimport { Breadcrumb } from \"antd\";\nimport React from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport function AntdBreadcrumbItem(props: BreadcrumbItemProps) {\n return props.children;\n}\n\nexport function AntdBreadcrumb(\n props: BreadcrumbProps & { itemsRaw: React.ReactNode }\n) {\n const { itemsRaw, ...rest } = props;\n const items = React.useMemo(() => {\n if (!React.isValidElement(itemsRaw) && !Array.isArray(itemsRaw)) return [];\n return (\n Array.isArray(itemsRaw)\n ? itemsRaw\n : Array.isArray(itemsRaw.props.children)\n ? itemsRaw.props.children\n : [itemsRaw.props.children]\n )\n .map((currentItem: any) => {\n return {\n ...currentItem.props,\n title: React.cloneElement(<>{currentItem}</>),\n };\n })\n .filter((i: any) => i != null);\n }, [itemsRaw]);\n\n return <Breadcrumb {...rest} items={items} />;\n}\n\nconst breadcrumbItemComponentName = \"plasmic-antd5-breadcrumb-item\";\nconst breadcrumbComponentName = \"plasmic-antd5-breadcrumb\";\n\nexport function registerBreadcrumb(loader?: Registerable) {\n registerComponentHelper(loader, AntdBreadcrumb, {\n name: breadcrumbComponentName,\n displayName: \"Breadcrumb\",\n props: {\n itemsRaw: {\n type: \"slot\",\n displayName: \"items\",\n defaultValue: [\n {\n type: \"component\",\n name: breadcrumbItemComponentName,\n props: {\n children: {\n type: \"text\",\n value: \"First\",\n },\n },\n },\n {\n type: \"component\",\n name: breadcrumbItemComponentName,\n props: {\n children: {\n type: \"text\",\n value: \"Second\",\n },\n },\n },\n {\n type: \"component\",\n name: breadcrumbItemComponentName,\n props: {\n children: {\n type: \"text\",\n value: \"Third\",\n },\n },\n },\n ],\n allowedComponents: [breadcrumbItemComponentName],\n },\n separator: {\n type: \"slot\",\n defaultValue: {\n type: \"text\",\n value: \"/\",\n },\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerBreadcrumb\",\n importName: \"AntdBreadcrumb\",\n });\n}\n\nexport function registerBreadcrumbItem(loader?: Registerable) {\n registerComponentHelper(loader, AntdBreadcrumbItem, {\n name: breadcrumbItemComponentName,\n displayName: \"Breadcrumb Item\",\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"text\",\n value: \"Breadcrumb Item\",\n },\n },\n onClick: {\n type: \"eventHandler\",\n argTypes: [{ type: \"object\", name: \"event\" }],\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerBreadcrumb\",\n importName: \"AntdBreadcrumbItem\",\n });\n}\n","import { Button } from \"antd\";\nimport React from \"react\";\nimport { buttonComponentName } from \"./names\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport function AntdButton(\n props: Omit<React.ComponentProps<typeof Button>, \"target\"> & {\n submitsForm?: boolean;\n target?: React.ComponentProps<typeof Button>[\"target\"] | boolean;\n }\n) {\n const { submitsForm = false, children, ...rest } = props;\n const target =\n props.target === true\n ? \"_blank\"\n : props.target === false\n ? undefined\n : props.target;\n return (\n <Button\n {...rest}\n children={\n <div\n style={{\n display: \"inline-block\",\n }}\n >\n {children}\n </div>\n }\n htmlType={submitsForm ? \"submit\" : \"button\"}\n target={target}\n />\n );\n}\n\nexport function registerButton(loader?: Registerable) {\n registerComponentHelper(loader, AntdButton, {\n name: buttonComponentName,\n displayName: \"Button\",\n props: {\n type: {\n type: \"choice\",\n options: [\"default\", \"primary\", \"ghost\", \"dashed\", \"link\", \"text\"],\n description:\n \"Can be set to primary, ghost, dashed, link, text, default\",\n defaultValueHint: \"default\",\n },\n size: {\n type: \"choice\",\n options: [\"small\", \"medium\", \"large\"],\n description: \"Set the size of button\",\n defaultValueHint: \"medium\",\n },\n shape: {\n type: \"choice\",\n options: [\"default\", \"circle\", \"round\"],\n description: \"Set the button shape\",\n defaultValueHint: \"default\",\n },\n disabled: {\n type: \"boolean\",\n description: \"Whether the button is disabled\",\n defaultValueHint: false,\n },\n submitsForm: {\n type: \"boolean\",\n displayName: \"Submits form?\",\n defaultValueHint: false,\n description:\n \"whether clicking this button should submit the enclosing form.\",\n advanced: true,\n },\n ghost: {\n type: \"boolean\",\n description:\n \"Make background transparent and invert text and border colors\",\n defaultValueHint: false,\n advanced: true,\n },\n danger: {\n type: \"boolean\",\n description: \"Set the danger status of button\",\n defaultValueHint: false,\n advanced: true,\n },\n loading: {\n type: \"boolean\",\n description: \"Set the loading status of button\",\n defaultValueHint: false,\n advanced: true,\n },\n href: {\n displayName: \"Link to\",\n type: \"href\",\n description: \"Use this button as a link to this url\",\n },\n target: {\n type: \"boolean\",\n displayName: \"Open in new tab?\",\n description: \"Whether to open the link in a new window\",\n hidden: (props) => !props.href,\n defaultValueHint: false,\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Button\",\n },\n ],\n ...({ mergeWithParent: true } as any),\n },\n icon: {\n type: \"slot\",\n hidePlaceholder: true,\n hidden: () => true,\n },\n onClick: {\n type: \"eventHandler\",\n argTypes: [],\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerButton\",\n importName: \"AntdButton\",\n });\n}\n","import type { PropType } from \"@plasmicapp/host\";\nimport { Collapse } from \"antd\";\nimport uniqueId from \"lodash/uniqueId\";\nimport React, { useMemo } from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport const singleCollapseComponentName = \"plasmic-antd5-single-collapse\";\nexport const accordionComponentName = \"plasmic-antd5-collapse\";\nexport const accordionItemComponentName = \"plasmic-antd5-collapse-item\";\n\ntype AccordionItemType = NonNullable<\n React.ComponentProps<typeof Collapse>[\"items\"]\n>[number];\n\ntype SingleCollapseProps = Omit<\n React.ComponentProps<typeof Collapse>,\n \"items\" | \"activeKey\" | \"defaultActiveKey\" | \"expandIcon\" | \"accordion\"\n> &\n AccordionItemType & {\n open?: boolean;\n defaultOpen?: boolean;\n disabled?: boolean;\n expandIcon?: React.ReactElement;\n rotateCustomExpandIcon: boolean;\n children: React.ReactElement;\n label2: React.ReactElement; // For backwards compatibility\n };\n\nexport function AntdAccordionItem({ children }: AccordionItemType) {\n return <div>{children}</div>;\n}\n\nexport function AntdAccordion(\n props: Omit<\n React.ComponentProps<typeof Collapse>,\n \"items\" | \"activeKey\" | \"defaultActiveKey\" | \"expandIcon\" | \"accordion\"\n > & {\n items: { props: { children: React.ReactElement<AccordionItemType>[] } };\n defaultActiveKey?: string;\n activeKey?: string;\n disabled?: boolean;\n expandIcon?: React.ReactElement;\n rotateCustomExpandIcon: boolean;\n }\n) {\n const {\n items: itemsRaw,\n activeKey,\n defaultActiveKey,\n expandIcon,\n collapsible,\n disabled,\n rotateCustomExpandIcon,\n ...rest\n } = props;\n\n const items: AccordionItemType[] = useMemo(() => {\n if (!React.isValidElement(itemsRaw) && !Array.isArray(itemsRaw)) return [];\n return (\n Array.isArray(itemsRaw)\n ? itemsRaw\n : Array.isArray(itemsRaw.props.children)\n ? itemsRaw.props.children\n : [itemsRaw.props.children]\n )\n .map((currentItem) => {\n const props = {\n ...currentItem.props,\n id: currentItem.props.id,\n key: currentItem.props.id,\n children: React.cloneElement(<>{currentItem.props.children}</>),\n };\n if (currentItem.props.label) {\n // The old `label` prop takes precedence, delete label2\n delete (props as any).label2;\n } else {\n // Keep `label2` so the `hidden` function knows it's used\n props.label = (props as any).label2;\n }\n\n return props;\n })\n .filter((i) => i != null) as AccordionItemType[];\n }, [itemsRaw]);\n\n return (\n <Collapse\n accordion\n items={items}\n defaultActiveKey={defaultActiveKey}\n activeKey={activeKey}\n collapsible={disabled ? \"disabled\" : collapsible}\n expandIcon={\n expandIcon\n ? ({ isActive }) => (\n <div\n style={\n isActive && rotateCustomExpandIcon\n ? { transform: \"rotate(90deg)\" }\n : undefined\n }\n >\n {expandIcon}\n </div>\n )\n : undefined\n }\n {...rest}\n />\n );\n}\n\nexport function AntdSingleCollapse(props: SingleCollapseProps) {\n const {\n open,\n defaultOpen,\n expandIcon,\n collapsible,\n disabled,\n rotateCustomExpandIcon,\n label: oldLabelProp,\n label2: newLabelProp,\n showArrow,\n extra,\n forceRender,\n children,\n headerClass,\n ...rest\n } = props;\n\n const label = oldLabelProp ?? newLabelProp;\n const defaultItemKey = useMemo(() => uniqueId(), []);\n\n const item = useMemo(\n () => ({\n key: defaultItemKey,\n label,\n showArrow,\n extra: <>{extra}</>,\n headerClass,\n children,\n }),\n [label, showArrow, extra, children, defaultItemKey, headerClass]\n );\n\n return (\n <Collapse\n accordion={false}\n items={[item]}\n defaultActiveKey={defaultOpen ? item.key : undefined}\n activeKey={open ? item.key : undefined}\n collapsible={disabled ? \"disabled\" : collapsible}\n expandIcon={\n expandIcon\n ? ({ isActive }) => (\n <div\n style={\n isActive && rotateCustomExpandIcon\n ? { transform: \"rotate(90deg)\" }\n : undefined\n }\n >\n {expandIcon}\n </div>\n )\n : undefined\n }\n {...rest}\n />\n );\n}\n\nexport const accordionHelpers = {\n states: {\n activePanelId: {\n onChangeArgsToValue: (activeKeys: string[]) => activeKeys[0],\n },\n },\n};\n\nexport const singleCollapseHelpers = {\n states: {\n open: {\n onChangeArgsToValue: (activeKeys: string[]) => activeKeys.length > 0,\n },\n },\n};\n\nconst commonAccordionProps: Record<string, PropType<any>> = {\n bordered: {\n type: \"boolean\",\n defaultValue: true,\n description: `Display border around accordion `,\n },\n disabled: {\n type: \"boolean\",\n description: \"Disable the toggle behaviour of panels\",\n },\n expandIcon: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n rotateCustomExpandIcon: {\n type: \"boolean\",\n description: \"Enable rotation of custom expand icon when panel is expanded\",\n advanced: true,\n hidden: (ps) => !ps.expandIcon,\n },\n expandIconPosition: {\n type: \"choice\",\n defaultValueHint: \"start\",\n description: `Set expand icon position`,\n options: [\"start\", \"end\"],\n },\n ghost: {\n type: \"boolean\",\n description: `Make the accordion borderless and its background transparent`,\n },\n size: {\n type: \"choice\",\n defaultValueHint: \"middle\",\n description: `Set the size of accordion`,\n options: [\"large\", \"middle\", \"small\"],\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"activeIds\", type: \"object\" }],\n },\n};\n\nconst commonAccordionItemProps: Record<string, PropType<any>> = {\n label: {\n type: \"string\",\n displayName: \"Header Content\",\n description: \"Text inside the header\",\n hidden: (props) =>\n props.label != null\n ? false\n : props?.label2 !== undefined || props?.header === undefined,\n },\n label2: {\n type: \"slot\",\n displayName: \"Header Content\",\n defaultValue: \"Collapse Header\",\n hidePlaceholder: true,\n hidden: (props) =>\n props.label != null\n ? true\n : props?.label2 === undefined && props?.header !== undefined,\n },\n extra: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n showArrow: {\n type: \"boolean\",\n defaultValue: true,\n description: `Whether to show animating arrow alongside header text`,\n advanced: true,\n },\n headerClass: {\n type: \"class\",\n displayName: \"Header\",\n },\n children: {\n type: \"slot\",\n hidePlaceholder: true,\n ...({ mergeWithParent: true } as any),\n defaultValue: \"Collapsible text...\",\n },\n};\n\nconst commonProps: Record<string, PropType<any>> = {\n collapsible: {\n displayName: \"Toggle Area\",\n type: \"choice\",\n defaultValueHint: \"header\",\n description: `Specify the element that can be clicked to toggle a panel`,\n options: [\"header\", \"icon\"],\n advanced: true,\n hidden: (ps) => Boolean(ps.disabled),\n },\n destroyInactivePanel: {\n type: \"boolean\",\n description: `Destroy/Unmount panel if inactive`,\n advanced: true,\n },\n forceRender: {\n type: \"boolean\",\n description: `Force rendering of content in the panel, instead of lazy rendering it.`,\n advanced: true,\n },\n};\n\nexport function registerCollapse(loader?: Registerable) {\n registerComponentHelper(loader, AntdSingleCollapse, {\n name: singleCollapseComponentName,\n displayName: \"Collapse\",\n description: \"Accordion, but with a single collapsible block.\",\n defaultStyles: {\n width: \"stretch\",\n },\n props: {\n open: {\n editOnly: true,\n displayName: \"Open\",\n uncontrolledProp: \"defaultOpen\",\n type: \"boolean\",\n description: `Default open state of the collapse block`,\n },\n ...commonProps,\n ...commonAccordionItemProps,\n ...commonAccordionProps,\n },\n states: {\n open: {\n type: \"writable\",\n valueProp: \"open\",\n onChangeProp: \"onChange\",\n variableType: \"boolean\",\n ...singleCollapseHelpers.states.open,\n },\n },\n componentHelpers: {\n helpers: singleCollapseHelpers,\n importName: \"singleCollapseHelpers\",\n importPath: \"@plasmicpkgs/antd5/skinny/registerCollapse\",\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerCollapse\",\n importName: \"AntdSingleCollapse\",\n });\n\n registerComponentHelper(loader, AntdAccordion, {\n name: accordionComponentName,\n displayName: \"Accordion\",\n defaultStyles: {\n width: \"stretch\",\n },\n props: {\n activeKey: {\n editOnly: true,\n displayName: \"Active panel ID\",\n uncontrolledProp: \"defaultActiveKey\",\n type: \"string\",\n description: `ID of Accordion item that is expanded by default.`,\n advanced: true,\n },\n items: {\n type: \"slot\",\n hidePlaceholder: true,\n allowedComponents: [accordionItemComponentName],\n ...({ mergeWithParent: true } as any),\n defaultValue: [\n {\n type: \"component\",\n name: accordionItemComponentName,\n props: {\n id: 1,\n label2: {\n type: \"text\",\n value: \"First Item\",\n },\n children: {\n type: \"text\",\n value: \"First Children\",\n },\n },\n },\n {\n type: \"component\",\n name: accordionItemComponentName,\n props: {\n id: 2,\n label2: {\n type: \"text\",\n value: \"Second Item\",\n },\n children: {\n type: \"text\",\n value: \"Second Children\",\n },\n },\n },\n ],\n },\n ...commonProps,\n ...commonAccordionProps,\n },\n states: {\n activePanelId: {\n type: \"writable\",\n valueProp: \"activeKey\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n ...accordionHelpers.states.activePanelId,\n },\n },\n componentHelpers: {\n helpers: accordionHelpers,\n importName: \"accordionHelpers\",\n importPath: \"@plasmicpkgs/antd5/skinny/registerCollapse\",\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerCollapse\",\n importName: \"AntdAccordion\",\n });\n\n registerComponentHelper(loader, AntdAccordionItem, {\n name: accordionItemComponentName,\n displayName: \"Accordion Item\",\n props: {\n id: {\n type: \"string\",\n description: `Unique identifier for this item`,\n required: true,\n },\n ...commonProps,\n ...commonAccordionItemProps,\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerCollapse\",\n importName: \"AntdAccordionItem\",\n parentComponentName: accordionComponentName,\n });\n}\n","import { ColorPicker } from \"antd\";\nimport React from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport function AntdColorPicker({\n showTextSwitch,\n onChange,\n ...props\n}: Omit<React.ComponentProps<typeof ColorPicker>, \"onChange\"> & {\n showTextSwitch?: boolean;\n onChange?: (color: string) => void;\n}) {\n return (\n <ColorPicker\n {...props}\n showText={props.showText || showTextSwitch}\n onChangeComplete={(value: any) => {\n onChange?.(typeof value === \"string\" ? value : value.toHexString());\n }}\n />\n );\n}\n\nexport function registerColorPicker(loader?: Registerable) {\n registerComponentHelper(loader, AntdColorPicker, {\n name: \"plasmic-antd5-color-picker\",\n displayName: \"Color Picker\",\n props: {\n children: {\n type: \"slot\",\n hidePlaceholder: true,\n mergeWithParent: true,\n } as any,\n value: {\n displayName: \"Color value\",\n type: \"color\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n showTextSwitch: {\n type: \"boolean\",\n displayName: \"Show text\",\n },\n showText: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n allowClear: \"boolean\",\n disabled: {\n type: \"boolean\",\n advanced: true,\n },\n trigger: {\n advanced: true,\n type: \"choice\",\n options: [\"click\", \"hover\"],\n defaultValueHint: \"click\",\n },\n format: {\n advanced: true,\n type: \"choice\",\n options: [\"hex\", \"hsb\", \"rgb\"],\n defaultValueHint: \"hex\",\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [\n {\n name: \"color\",\n type: \"string\",\n },\n ],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerColorPicker\",\n importName: \"AntdColorPicker\",\n });\n}\n","import { GlobalActionsProvider, useSelector } from \"@plasmicapp/host\";\nimport {\n default as registerToken,\n TokenRegistration,\n} from \"@plasmicapp/host/registerToken\";\nimport { addLoadingStateListener } from \"@plasmicapp/query\";\nimport { ConfigProvider, message, notification, theme } from \"antd\";\nimport type { ConfigProviderProps } from \"antd/es/config-provider\";\nimport type { MessageInstance } from \"antd/es/message/interface\";\nimport type {\n NotificationInstance,\n NotificationPlacement,\n} from \"antd/es/notification/interface\";\nimport type { Locale } from \"antd/lib/locale\";\nimport enUS from \"antd/lib/locale/en_US.js\";\nimport React from \"react\";\nimport { useIsMounted } from \"./react-utils\";\nimport { makeRegisterGlobalContext, Registerable } from \"./utils\";\n\n// enUS is a CJS file, and it doesn't always import correctly in\n// esm mode (nextjs does it right, but create-react-app does it wrong).\n// We normalize it ourselves here 😬😬😬\nlet defaultLocale = enUS;\nif (\"default\" in enUS) {\n defaultLocale = (enUS as any).default as typeof enUS;\n}\n\nexport interface ThemeOpts {\n fontFamily?: string;\n fontSize?: number;\n lineHeight?: number;\n colorTextBase?: string;\n\n colorPrimary?: string;\n colorSuccess?: string;\n colorWarning?: string;\n colorError?: string;\n colorInfo?: string;\n colorBgBase?: string;\n lineWidth?: number;\n borderRadius?: number;\n controlHeight?: number;\n sizeUnit?: number;\n sizeStep?: number;\n wireframe?: boolean;\n\n defaultDark?: boolean;\n\n /**\n * `locale` is a prop that can be set by code, but is not registered,\n * i.e. exposed to Plasmic studio.\n */\n locale?: Locale;\n}\n\nexport function themeToAntdConfig(opts: ThemeOpts): ConfigProviderProps {\n const {\n colorTextBase,\n colorPrimary,\n colorSuccess,\n colorWarning,\n colorError,\n colorInfo,\n colorBgBase,\n fontFamily,\n fontSize,\n lineWidth,\n borderRadius,\n controlHeight,\n sizeUnit,\n sizeStep,\n wireframe,\n defaultDark = false,\n } = opts;\n return {\n theme: {\n algorithm: defaultDark ? theme.darkAlgorithm : undefined,\n token: Object.fromEntries(\n Object.entries({\n colorTextBase,\n colorPrimary,\n colorSuccess,\n colorWarning,\n colorError,\n colorInfo,\n colorBgBase,\n fontFamily,\n fontSize,\n lineWidth,\n borderRadius,\n controlHeight,\n sizeUnit,\n sizeStep,\n wireframe,\n }).filter(([_key, val]) => !!val)\n ),\n },\n };\n}\n\nexport function AntdConfigProvider(\n props: Omit<ThemeOpts, \"fontFamily\" | \"fontSize\" | \"lineWidth\"> & {\n children?: React.ReactNode;\n themeStyles: Record<string, string>;\n loadingText?: string;\n removeLoading?: boolean;\n }\n) {\n const { children, locale, themeStyles, loadingText, removeLoading, ...rest } =\n props;\n return (\n <ConfigProvider\n locale={locale ?? defaultLocale}\n {...themeToAntdConfig({\n ...rest,\n fontFamily: themeStyles.fontFamily,\n fontSize: themeStyles.fontSize\n ? parseInt(themeStyles.fontSize)\n : undefined,\n lineHeight: themeStyles.lineHeight\n ? parseInt(themeStyles.lineHeight)\n : undefined,\n colorTextBase: themeStyles.color,\n })}\n >\n <ForkedApp>\n <InnerConfigProvider\n loadingText={loadingText}\n removeLoading={removeLoading}\n >\n {children}\n </InnerConfigProvider>\n </ForkedApp>\n </ConfigProvider>\n );\n}\n\nfunction normTokenValue(val: any) {\n if (typeof val === \"string\") {\n return val.trim();\n } else if (typeof val === \"number\") {\n return `${val}px`;\n } else {\n return val;\n }\n}\n\nfunction InnerConfigProvider(props: {\n children?: React.ReactNode;\n loadingText?: string;\n removeLoading?: boolean;\n}) {\n const { children, loadingText, removeLoading } = props;\n const { token } = theme.useToken();\n const makeVarName = (name: string) => `--antd-${name}`;\n const cssStyles = React.useMemo(\n () => `\n:root {\n ${Object.entries(token)\n .map(([key, val]) => `${makeVarName(key)}:${normTokenValue(val)};`)\n .join(\"\\n\")}\n}\n `,\n [token]\n );\n const app = useAppContext();\n const actions = React.useMemo(\n () => ({\n showNotification: (\n type: \"success\" | \"error\" | \"info\" | \"warning\",\n message: React.ReactNode,\n description?: React.ReactNode,\n duration?: number,\n placement?: NotificationPlacement\n ) => {\n app.notification[type ?? \"info\"]({\n message: message?.toString(),\n description: description?.toString(),\n duration,\n placement,\n });\n },\n hideNotifications: () => {\n app.notification.destroy();\n },\n }),\n [app]\n );\n const enableLoadingBoundary = !!useSelector(\n \"plasmicInternalEnableLoadingBoundary\"\n );\n\n if (!GlobalActionsProvider) {\n warnOutdatedDeps();\n }\n\n let content = GlobalActionsProvider ? (\n <GlobalActionsProvider\n contextName=\"plasmic-antd5-config-provider\"\n actions={actions}\n >\n {children}\n </GlobalActionsProvider>\n ) : (\n children\n );\n if (!removeLoading && enableLoadingBoundary) {\n // If we're using the GlobalLoadingIndicator, and loading boundary is\n // enabled, then we wrap the content in Suspense so that we don't propagate\n // loading promises beyond this ConfigProvider, and instead will keep\n // this ConfigProvider mounted, so it can render the loading indicator\n content = <React.Suspense>{content}</React.Suspense>;\n }\n return (\n <>\n <style dangerouslySetInnerHTML={{ __html: cssStyles }} />\n {content}\n {!removeLoading && <GlobalLoadingIndicator loadingText={loadingText} />}\n </>\n );\n}\n\nlet warned = false;\nfunction warnOutdatedDeps() {\n if (!warned) {\n console.log(\n `You are using a version of @plasmicapp/* that is too old. Please upgrade to the latest version.`\n );\n warned = true;\n }\n}\n\nfunction GlobalLoadingIndicator(props: { loadingText?: string }) {\n const { loadingText } = props;\n const app = useAppContext();\n\n const isLoadingRef = React.useRef(false);\n const isMounted = useIsMounted();\n const showLoading = React.useCallback(() => {\n if (isMounted() && isLoadingRef.current) {\n app.message.open({\n content: loadingText ?? \"Loading...\",\n duration: 0,\n key: `plasmic-antd5-global-loading-indicator`,\n });\n }\n }, [app, loadingText, isMounted, isLoadingRef]);\n\n const hideLoading = React.useCallback(() => {\n // Delay hiding loading message, to avoid quick churns of loading / not loading\n setTimeout(() => {\n if (isMounted() && !isLoadingRef.current) {\n app.message.destroy(`plasmic-antd5-global-loading-indicator`);\n }\n }, 500);\n }, [app, isMounted, isLoadingRef]);\n\n React.useEffect(() => {\n if (addLoadingStateListener) {\n // Upon mount, we show any loading message that has been queued up before\n // we were mounted\n if (isLoadingRef.current) {\n showLoading();\n } else {\n hideLoading();\n }\n return addLoadingStateListener(\n (isLoading) => {\n isLoadingRef.current = isLoading;\n if (isMounted()) {\n if (isLoading) {\n showLoading();\n } else {\n hideLoading();\n }\n }\n },\n // Disabled immediat because it's creating an infinite rendering\n // https://app.shortcut.com/plasmic/story/36991\n { immediate: false }\n );\n } else {\n warnOutdatedDeps();\n return () => {\n // noop\n };\n }\n }, [app, isMounted, isLoadingRef, showLoading, hideLoading]);\n return null;\n}\n\nconst ForkedAppContext = React.createContext<\n | {\n message: MessageInstance;\n notification: NotificationInstance;\n }\n | undefined\n>(undefined);\n\nfunction useAppContext() {\n const context = React.useContext(ForkedAppContext);\n if (!context) {\n throw new Error(\"Must call useAppContext from under ForkedApp\");\n }\n return context;\n}\n\n/**\n * Forking antd's App, to avoid rendering an extra <div/>\n */\nfunction ForkedApp(props: { children?: React.ReactNode }) {\n const [messageApi, messageContextHolder] = message.useMessage();\n const [notificationApi, notificationContextHolder] =\n notification.useNotification();\n\n const appContext = React.useMemo(\n () => ({\n message: messageApi,\n notification: notificationApi,\n }),\n [messageApi, notificationApi]\n );\n\n return (\n <ForkedAppContext.Provider value={appContext}>\n {messageContextHolder}\n {notificationContextHolder}\n {props.children}\n </ForkedAppContext.Provider>\n );\n}\n\nexport function registerTokens(loader?: Registerable) {\n const regs: TokenRegistration[] = [];\n\n const withoutPrefix = (name: string, prefix?: string) => {\n if (!prefix) {\n return name;\n }\n const index = name.indexOf(prefix);\n return index === 0 ? name.substring(prefix.length) : name;\n };\n\n function makeNiceName(name: string) {\n name = name[0].toUpperCase() + name.substring(1);\n return name.replace(/([a-z])([A-Z])/g, \"$1 $2\");\n }\n\n const makeGenericToken = (\n name: string | [string, string],\n type: TokenRegistration[\"type\"],\n removePrefix?: string\n ) => {\n const tokenName = Array.isArray(name) ? name[0] : name;\n const displayName = Array.isArray(name)\n ? name[1]\n : makeNiceName(withoutPrefix(name, removePrefix));\n return {\n name: tokenName,\n displayName: `System: ${displayName}`,\n value: `var(--antd-${tokenName})`,\n type,\n } as TokenRegistration;\n };\n\n // TODO: Commenting out a lot of tokens for now until we decide to make them\n // available\n\n const colorTokens: (string | [string, string])[] = [\n // Seed tokens\n \"colorPrimary\",\n \"colorSuccess\",\n \"colorWarning\",\n \"colorError\",\n \"colorInfo\",\n\n // Map tokens\n // - neutral\n \"colorText\",\n \"colorTextSecondary\",\n \"colorTextTertiary\",\n \"colorTextQuaternary\",\n \"colorBorder\",\n \"colorBorderSecondary\",\n \"colorFill\",\n \"colorFillSecondary\",\n \"colorFillTertiary\",\n \"colorFillQuaternary\",\n \"colorBgLayout\",\n \"colorBgContainer\",\n \"colorBgElevated\",\n \"colorBgSpotlight\",\n // - primary\n \"colorPrimaryBg\",\n \"colorPrimaryBgHover\",\n \"colorPrimaryBorder\",\n \"colorPrimaryBorderHover\",\n \"colorPrimaryHover\",\n \"colorPrimaryActive\",\n \"colorPrimaryTextHover\",\n \"colorPrimaryText\",\n \"colorPrimaryTextActive\",\n // - success\n \"colorSuccessBg\",\n \"colorSuccessBgHover\",\n \"colorSuccessBorder\",\n \"colorSuccessBorderHover\",\n \"colorSuccessHover\",\n \"colorSuccessActive\",\n \"colorSuccessTextHover\",\n \"colorSuccessText\",\n \"colorSuccessTextActive\",\n // - warning\n \"colorWarningBg\",\n \"colorWarningBgHover\",\n \"colorWarningBorder\",\n \"colorWarningBorderHover\",\n \"colorWarningHover\",\n \"colorWarningActive\",\n \"colorWarningTextHover\",\n \"colorWarningText\",\n \"colorWarningTextActive\",\n // - info\n \"colorInfoBg\",\n \"colorInfoBgHover\",\n \"colorInfoBorder\",\n \"colorInfoBorderHover\",\n \"colorInfoHover\",\n \"colorInfoActive\",\n \"colorInfoTextHover\",\n \"colorInfoText\",\n \"colorInfoTextActive\",\n // - error\n \"colorErrorBg\",\n \"colorErrorBgHover\",\n \"colorErrorBorder\",\n \"colorErrorBorderHover\",\n \"colorErrorHover\",\n \"colorErrorActive\",\n \"colorErrorTextHover\",\n \"colorErrorText\",\n \"colorErrorTextActive\",\n // - other\n \"colorWhite\",\n \"colorBgMask\",\n\n // Alias tokens\n // \"colorFillContentHover\",\n // \"colorFillAlter\",\n // \"colorFillContent\",\n // \"colorBgContainerDisabled\",\n // \"colorBgTextHover\",\n // \"colorBgTextActive\",\n // \"colorBorderBg\",\n // \"colorSplit\",\n // \"colorTextPlaceholder\",\n // \"colorTextDisabled\",\n // \"colorTextHeading\",\n // \"colorTextLabel\",\n // \"colorTextDescription\",\n // \"colorTextLightSolid\",\n \"colorIcon\",\n \"colorIconHover\",\n \"colorLink\",\n \"colorLinkHover\",\n // \"colorLinkActive\",\n // \"colorLinkHighlight\",\n // \"controlOutline\",\n // \"controlWarningOutline\",\n // \"controlErrorOutline\",\n // \"controlItemBgHover\",\n // \"controlItemBgActive\",\n // \"controlItemBgActiveHover\",\n // \"controlItemBgActiveDisabled\",\n ];\n colorTokens.forEach((name) =>\n regs.push(makeGenericToken(name, \"color\", \"color\"))\n );\n\n const spacingTokens: (string | [string, string])[] = [\n // Seed\n // \"lineWidth\",\n // \"borderRadius\",\n // \"controlHeight\",\n // Map tokens\n // \"sizeXXL\",\n // \"sizeXL\",\n // \"sizeLG\",\n // \"sizeMD\",\n // \"sizeMS\",\n // \"size\",\n // \"sizeSM\",\n // \"sizeXS\",\n // \"sizeXXS\",\n // \"controlHeightXS\",\n // \"controlHeightSM\",\n // \"controlHeightLG\",\n // \"lineWidthBold\",\n // \"borderRadiusXS\",\n // \"borderRadiusSM\",\n // \"borderRadiusLG\",\n // \"borderRadiusOuter\",\n\n // Alias tokens\n // \"controlOutlineWidth\",\n // \"controlInteractiveSize\",\n \"paddingXXS\",\n \"paddingXS\",\n \"paddingSM\",\n [\"padding\", \"Padding M\"],\n \"paddingMD\",\n \"paddingLG\",\n \"paddingXL\",\n // \"paddingContentHorizontalLG\",\n // \"paddingContentHorizontal\",\n // \"paddingContentHorizontalSM\",\n // \"paddingContentVerticalLG\",\n // \"paddingContentVertical\",\n // \"paddingContentVerticalSM\",\n \"marginXXS\",\n \"marginXS\",\n \"marginSM\",\n [\"margin\", \"Margin M\"],\n \"marginMD\",\n \"marginLG\",\n \"marginXL\",\n \"marginXXL\",\n // \"controlPaddingHorizontal\",\n // \"controlPaddingHorizontalSM\",\n ];\n spacingTokens.forEach((token) =>\n regs.push(makeGenericToken(token, \"spacing\"))\n );\n\n const fontSizeTokens: (string | [string, string])[] = [\n // Seed token\n [\"fontSize\", \"M\"],\n // Map tokens\n \"fontSizeSM\",\n \"fontSizeLG\",\n \"fontSizeXL\",\n \"fontSizeHeading1\",\n \"fontSizeHeading2\",\n \"fontSizeHeading3\",\n \"fontSizeHeading4\",\n \"fontSizeHeading5\",\n ];\n fontSizeTokens.forEach((token) =>\n regs.push(makeGenericToken(token, \"font-size\", \"fontSize\"))\n );\n\n const lineHeightTokens: (string | [string, string])[] = [\n // Map tokens\n [\"lineHeight\", \"M\"],\n \"lineHeightLG\",\n \"lineHeightSM\",\n \"lineHeightHeading1\",\n \"lineHeightHeading2\",\n \"lineHeightHeading3\",\n \"lineHeightHeading4\",\n \"lineHeightHeading5\",\n ];\n lineHeightTokens.forEach((token) =>\n regs.push(makeGenericToken(token, \"line-height\", \"lineHeight\"))\n );\n\n if (loader) {\n regs.forEach((t) => loader.registerToken(t));\n } else {\n regs.forEach((t) => registerToken(t));\n }\n}\n\nexport const registerConfigProvider = makeRegisterGlobalContext(\n AntdConfigProvider,\n {\n name: \"plasmic-antd5-config-provider\",\n displayName: \"Ant Design System Settings\",\n props: {\n colorPrimary: {\n type: \"color\",\n defaultValue: \"#1677ff\",\n disableTokens: true,\n },\n colorSuccess: {\n type: \"color\",\n defaultValue: \"#52c41a\",\n disableTokens: true,\n },\n colorWarning: {\n type: \"color\",\n defaultValue: \"#faad14\",\n disableTokens: true,\n },\n colorError: {\n type: \"color\",\n defaultValue: \"#ff4d4f\",\n disableTokens: true,\n },\n colorInfo: {\n type: \"color\",\n defaultValue: \"#1677ff\",\n disableTokens: true,\n },\n colorBgBase: {\n type: \"color\",\n defaultValue: \"#ffffff\",\n disableTokens: true,\n },\n lineWidth: {\n type: \"number\",\n defaultValue: 1,\n },\n borderRadius: {\n type: \"number\",\n defaultValue: 6,\n },\n controlHeight: {\n type: \"number\",\n defaultValue: 32,\n },\n sizeUnit: {\n type: \"number\",\n defaultValue: 4,\n },\n sizeStep: {\n type: \"number\",\n defaultValue: 4,\n },\n loadingText: {\n type: \"string\",\n defaultValueHint: \"Loading...\",\n },\n removeLoading: {\n type: \"boolean\",\n defaultValueHint: false,\n },\n wireframe: {\n type: \"boolean\",\n defaultValue: false,\n },\n defaultDark: {\n type: \"boolean\",\n defaultValue: false,\n },\n themeStyles: {\n type: \"themeStyles\",\n } as any,\n },\n ...{\n globalActions: {\n showNotification: {\n displayName: \"Show notification\",\n parameters: [\n {\n name: \"type\",\n type: {\n type: \"choice\",\n options: [\"success\", \"error\", \"info\", \"warning\"],\n defaultValue: \"info\",\n },\n },\n {\n name: \"message\",\n type: {\n type: \"string\",\n defaultValue: \"A message for you!\",\n },\n },\n {\n name: \"description\",\n type: {\n type: \"string\",\n defaultValue: \"Would you like to learn more?\",\n },\n },\n {\n name: \"duration\",\n type: {\n type: \"number\",\n defaultValueHint: 5,\n },\n },\n {\n name: \"placement\",\n type: {\n type: \"choice\",\n options: [\n \"top\",\n \"topLeft\",\n \"topRight\",\n \"bottom\",\n \"bottomLeft\",\n \"bottomRight\",\n ],\n defaultValueHint: \"topRight\",\n },\n },\n ],\n },\n hideNotifications: {\n displayName: \"Hide notifications\",\n parameters: [],\n },\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerConfigProvider\",\n importName: \"AntdConfigProvider\",\n }\n);\n","import { DatePicker } from \"antd\";\nimport type { Dayjs } from \"dayjs\";\nimport dayjs from \"dayjs\";\nimport kebabCase from \"lodash/kebabCase\";\nimport React, { useMemo } from \"react\";\nimport { capitalize, Registerable, registerComponentHelper } from \"./utils\";\n\nimport localeData from \"dayjs/plugin/localeData\";\nimport weekday from \"dayjs/plugin/weekday\";\n\ndayjs.extend(weekday);\ndayjs.extend(localeData);\n\nconst { RangePicker } = DatePicker;\n\nfunction getDayjsRange(dateRange: any): [Dayjs | null, Dayjs | null] {\n return Array.isArray(dateRange)\n ? [\n dateRange[0] ? dayjs(dateRange[0]) : null,\n dateRange[1] ? dayjs(dateRange[1]) : null,\n ]\n : [null, null];\n}\n\nfunction getStrRange(dateRange: any): string[] | undefined {\n return Array.isArray(dateRange)\n ? dateRange.map((date: any) =>\n date && !(typeof date === \"string\") && \"toISOString\" in date\n ? date.toISOString()\n : date === null\n ? undefined\n : date\n )\n : undefined;\n}\n\nexport function AntdDateRangePicker(\n props: Omit<\n React.ComponentProps<typeof RangePicker>,\n | \"value\"\n | \"onChange\"\n | \"presets\"\n | \"placeholder\"\n | \"renderExtraFooter\"\n | \"disabled\"\n | \"allowEmpty\"\n > & {\n onChange: (value: [string | undefined, string | undefined]) => void;\n value?: [Dayjs, Dayjs];\n // Not sure why this is missing from DatePicker props!\n showTime?: boolean;\n popupScopeClassName: string;\n presets: {\n label: string;\n startDate: string;\n endDate: string;\n }[];\n placeholder: string;\n disableStartDate: boolean;\n disableEndDate: boolean;\n renderExtraFooter: React.ReactNode;\n allowEmptyStartDate: boolean;\n allowEmptyEndDate: boolean;\n disabled: boolean;\n allowEmpty: boolean;\n defaultStartDate?: string;\n defaultEndDate?: string;\n startDate?: string;\n endDate?: string;\n }\n) {\n const {\n defaultStartDate,\n defaultEndDate,\n startDate,\n endDate,\n allowEmpty,\n allowEmptyEndDate,\n allowEmptyStartDate,\n disabled,\n renderExtraFooter,\n disableStartDate,\n disableEndDate,\n presets,\n picker,\n placeholder,\n onChange,\n popupScopeClassName,\n className,\n ...rest\n } = props;\n\n const css = `\n @media(max-width: 500px) {\n .ant-picker-dropdown {\n top: 20px !important;\n left: 10px !important;\n right: 10px !important;\n max-height: 95vh;\n position: fixed;\n overflow-y: scroll;\n }\n\n .ant-picker-panel-layout {\n flex-direction: column;\n }\n\n .ant-picker-presets {\n min-height: 50px;\n min-width: 100% !important;\n }\n\n .ant-picker-presets > ul {\n overflow-y: hidden;\n overflow-x: auto;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n flex-direction: column;\n }\n\n .ant-picker-presets > ul > li {\n margin: 0 !important;\n }\n\n .ant-picker-panel-container {\n width: 300px;\n }\n\n .ant-picker-datetime-panel {\n flex-direction: column;\n }\n\n .${className} .ant-picker-input > input {\n font-size: 16px !important;\n }\n\n .ant-picker-header-view {\n line-height: unset !important;\n }\n\n .ant-picker-content {\n height: unset !important;\n }\n\n .ant-picker-time-panel-column {\n height: 100px;\n }\n\n .ant-picker-time-panel-column::after {\n height: 0px !important;\n }\n\n .ant-picker-range-arrow {\n display: none;\n }\n }\n `;\n\n const presetsDayjs = useMemo(\n () =>\n presets\n ?.map((p) => ({ ...p, value: getDayjsRange([p.startDate, p.endDate]) }))\n .filter((p) => p.value[0]?.isValid() && p.value[1]?.isValid()),\n [presets]\n );\n return (\n <>\n <RangePicker\n {...rest}\n picker={picker as any}\n presets={presetsDayjs}\n allowEmpty={\n allowEmpty\n ? [allowEmpty, allowEmpty]\n : [allowEmptyStartDate, allowEmptyEndDate]\n }\n value={getDayjsRange([startDate, endDate])}\n defaultValue={getDayjsRange([defaultStartDate, defaultEndDate])}\n renderExtraFooter={\n renderExtraFooter ? () => renderExtraFooter : undefined\n }\n className={className}\n inputReadOnly\n disabled={disabled ? disabled : [disableStartDate, disableEndDate]}\n placeholder={placeholder?.split(/,\\s*/).slice(0, 2) as [string, string]}\n popupClassName={popupScopeClassName}\n // dateString isn't a valid ISO string, and value is a dayjs object.\n onChange={(values, _dateStrings) => {\n onChange?.((getStrRange(values) as [string, string]) || [null, null]);\n }}\n />\n <style dangerouslySetInnerHTML={{ __html: css }} />\n </>\n );\n}\n\nexport const dateRangePickerComponentName = \"plasmic-antd5-date-range-picker\";\n\nexport const dateRangePickerHelpers = {\n states: {\n startDate: {\n onChangeArgsToValue: (value: string[]) => value[0],\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n endDate: {\n onChangeArgsToValue: (value: string[]) => value[1],\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n },\n};\n\nexport function registerDateRangePicker(loader?: Registerable) {\n registerComponentHelper(loader, AntdDateRangePicker, {\n name: dateRangePickerComponentName,\n displayName: \"Date Range Picker\",\n props: {\n startDate: {\n type: \"dateString\",\n editOnly: true,\n uncontrolledProp: \"defaultStartDate\",\n description: \"The default start date as ISO strings\",\n // TODO: Can there be a default validator attached to each prop type, so dynamic values can be checked?\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n endDate: {\n type: \"dateString\",\n editOnly: true,\n uncontrolledProp: \"defaultEndDate\",\n description: \"The default end date as ISO strings\",\n // TODO: Can there be a default validator attached to each prop type, so dynamic values can be checked?\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n allowClear: {\n type: \"boolean\",\n advanced: true,\n defaultValueHint: true,\n description: \"Whether to show the clear button\",\n },\n autoFocus: {\n type: \"boolean\",\n description: \"Focus when component is rendered\",\n defaultValueHint: false,\n advanced: true,\n },\n bordered: {\n type: \"boolean\",\n advanced: true,\n defaultValueHint: true,\n },\n changeOnBlur: {\n type: \"boolean\",\n advanced: true,\n description:\n \"Trigger change when blur. e.g. datetime picker no need click confirm button\",\n defaultValueHint: false,\n hidden: (ps) => !ps.showTime,\n },\n disabled: {\n type: \"boolean\",\n description: \"Disable date range inputs\",\n defaultValueHint: false,\n },\n disableStartDate: {\n type: \"boolean\",\n defaultValueHint: false,\n advanced: true,\n description: \"Disable start date input only\",\n hidden: (ps) => ps.disabled,\n },\n disableEndDate: {\n type: \"boolean\",\n defaultValueHint: false,\n advanced: true,\n description: \"Disable end date input only\",\n hidden: (ps) => ps.disabled,\n },\n picker: {\n type: \"choice\",\n options: [\"date\", \"week\", \"month\", \"quarter\", \"year\"].map((value) => ({\n value,\n label: capitalize(value),\n })),\n defaultValueHint: \"date\",\n },\n placeholder: {\n type: \"string\",\n advanced: true,\n defaultValueHint: \"Start date, End date\",\n description:\n \"The placeholders of the start and end date inputs, separated by a comma\",\n },\n placement: {\n type: \"choice\",\n options: [\"bottomLeft\", \"bottomRight\", \"topLeft\", \"topRight\"].map(\n (value) => ({\n value,\n label: kebabCase(value),\n })\n ),\n advanced: true,\n defaultValueHint: \"bottom-left\",\n description: \"The position where the selection box pops up\",\n },\n presets: {\n type: \"array\",\n advanced: true,\n description: \"The preset ranges for quick selection\",\n itemType: {\n type: \"object\",\n nameFunc: (item) => item.label,\n fields: {\n label: \"string\",\n startDate: {\n type: \"dateString\",\n },\n endDate: {\n type: \"dateString\",\n },\n },\n },\n },\n size: {\n type: \"choice\",\n advanced: true,\n options: [\"small\", \"middle\", \"large\"].map((value) => ({\n value,\n label: capitalize(value),\n })),\n defaultValueHint: \"middle\",\n },\n status: {\n type: \"choice\",\n advanced: true,\n options: [\"error\", \"warning\"].map((value) => ({\n value,\n label: capitalize(value),\n })),\n description: \"Set validation status\",\n },\n allowEmpty: {\n type: \"boolean\",\n advanced: true,\n description: \"Allow leaving start or end input empty\",\n defaultValueHint: false,\n },\n allowEmptyStartDate: {\n type: \"boolean\",\n advanced: true,\n description: \"Allow leaving start input empty\",\n defaultValueHint: false,\n hidden: (ps) => ps.allowEmpty,\n },\n allowEmptyEndDate: {\n type: \"boolean\",\n advanced: true,\n description: \"Allow leaving end input empty\",\n defaultValueHint: false,\n hidden: (ps) => ps.allowEmpty,\n },\n renderExtraFooter: {\n type: \"slot\",\n displayName: \"Extra footer\",\n hidePlaceholder: true,\n },\n showTime: {\n type: \"boolean\",\n description: \"Enable time selection\",\n defaultValueHint: false,\n hidden: (ps) => ps.picker !== undefined && ps.picker !== \"date\",\n },\n popupScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"dateRangePickerPopup\",\n } as any,\n popupClassName: {\n type: \"class\",\n displayName: \"Popup container\",\n selectors: [\n {\n selector: \":dateRangePickerPopup .ant-picker-panel-container\",\n label: \"Base\",\n },\n ],\n },\n popupHeaderClassName: {\n type: \"class\",\n displayName: \"Popup header\",\n selectors: [\n {\n selector: \":dateRangePickerPopup .ant-picker-header\",\n label: \"Base\",\n },\n ],\n },\n popupBodyClassName: {\n type: \"class\",\n displayName: \"Popup body\",\n selectors: [\n {\n selector: \":dateRangePickerPopup .ant-picker-body\",\n label: \"Base\",\n },\n ],\n },\n popupFooterClassName: {\n type: \"class\",\n displayName: \"Popup footer\",\n selectors: [\n {\n selector: \":dateRangePickerPopup .ant-picker-footer\",\n label: \"Base\",\n },\n ],\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"value\", type: \"object\" }],\n },\n },\n states: {\n startDate: {\n type: \"writable\",\n valueProp: \"startDate\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n ...dateRangePickerHelpers.states.startDate,\n },\n endDate: {\n type: \"writable\",\n valueProp: \"endDate\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n ...dateRangePickerHelpers.states.endDate,\n },\n },\n componentHelpers: {\n helpers: dateRangePickerHelpers,\n importName: \"dateRangePickerHelpers\",\n importPath: \"@plasmicpkgs/antd5/skinny/registerDateRangePicker\",\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerDateRangePicker\",\n importName: \"AntdDateRangePicker\",\n });\n}\n","import { Drawer } from \"antd\";\nimport React from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport function AntdDrawer(\n props: React.ComponentProps<typeof Drawer> & {\n onOpenChange?: (open: boolean) => void;\n defaultStylesClassName?: string;\n drawerScopeClassName?: string;\n }\n) {\n const { onOpenChange, onClose, open, footer, drawerScopeClassName, ...rest } =\n props;\n const memoOnClose = React.useMemo(() => {\n if (onOpenChange || onClose) {\n return (e: React.MouseEvent | React.KeyboardEvent) => {\n onOpenChange?.(false);\n onClose?.(e);\n };\n } else {\n return undefined;\n }\n }, [onOpenChange, onClose]);\n return (\n <Drawer\n {...rest}\n onClose={memoOnClose}\n rootClassName={drawerScopeClassName}\n open={open}\n footer={footer ?? undefined}\n className={`${props.className} ${props.defaultStylesClassName}`}\n />\n );\n}\n\nexport function registerDrawer(loader?: Registerable) {\n registerComponentHelper(loader, AntdDrawer, {\n name: \"plasmic-antd5-drawer\",\n displayName: \"Drawer\",\n props: {\n open: {\n type: \"boolean\",\n },\n placement: {\n type: \"choice\",\n options: [\"top\", \"right\", \"bottom\", \"left\"],\n defaultValueHint: \"right\",\n },\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"vbox\",\n children: [\"Drawer content\"],\n },\n },\n title: {\n type: \"slot\",\n defaultValue: \"Drawer title\",\n },\n footer: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n closeIcon: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"open\", type: \"boolean\" }],\n } as any,\n drawerScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"drawer\",\n } as any,\n drawerHeaderClassName: {\n type: \"class\",\n displayName: \"Drawer header\",\n noSelf: true,\n selectors: [\n {\n selector: \":drawer .ant-drawer-header\",\n label: \"Base\",\n },\n ],\n } as any,\n drawerBodyClassName: {\n type: \"class\",\n displayName: \"Drawer body\",\n noSelf: true,\n selectors: [\n {\n selector: \":drawer .ant-drawer-body\",\n label: \"Base\",\n },\n ],\n } as any,\n drawerFooterClassName: {\n type: \"class\",\n displayName: \"Drawer footer\",\n noSelf: true,\n selectors: [\n {\n selector: \":drawer .ant-drawer-footer\",\n label: \"Base\",\n },\n ],\n } as any,\n drawerTitleClassName: {\n type: \"class\",\n displayName: \"Drawer title\",\n noSelf: true,\n selectors: [\n {\n selector: \":drawer .ant-drawer-title\",\n label: \"Base\",\n },\n ],\n } as any,\n drawerMaskClassName: {\n type: \"class\",\n displayName: \"Drawer mask\",\n styleSections: [\"background\"],\n noSelf: true,\n selectors: [\n {\n selector: \":drawer .ant-drawer-mask\",\n label: \"Base\",\n },\n ],\n } as any,\n drawerContentWrapperClassName: {\n type: \"class\",\n displayName: \"Drawer content wrapper\",\n noSelf: true,\n selectors: [\n {\n selector: \":drawer .ant-drawer-content-wrapper\",\n label: \"Base\",\n },\n ],\n advanced: true,\n } as any,\n closeButtonClassName: {\n type: \"class\",\n displayName: \"Close button\",\n noSelf: true,\n selectors: [\n {\n selector: \":drawer .ant-drawer-close\",\n label: \"Base\",\n },\n ],\n advanced: true,\n } as any,\n forceRender: {\n advanced: true,\n type: \"boolean\",\n },\n defaultStylesClassName: {\n type: \"themeResetClass\",\n } as any,\n },\n states: {\n open: {\n type: \"writable\",\n valueProp: \"open\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerDrawer\",\n importName: \"AntdDrawer\",\n });\n}\n","import { Menu as AntdMenu } from \"antd\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport { AntdMenu };\nexport const AntdMenuDivider = AntdMenu.Divider;\nexport const AntdMenuItem = AntdMenu.Item;\nexport const AntdMenuItemGroup: typeof AntdMenu.ItemGroup = AntdMenu.ItemGroup;\nexport const AntdSubMenu = AntdMenu.SubMenu;\n\nconst allowedMenuComponents = [\n \"plasmic-antd5-menu-item\",\n \"plasmic-antd5-menu-divider\",\n \"plasmic-antd5-submenu\",\n \"plasmic-antd5-menu-item-group\",\n];\n\nexport const MENU_ITEM_TYPE = {\n type: \"object\",\n nameFunc: (item: any) => {\n if (item.type === \"divider\") {\n return \"Divider\";\n }\n return item.label || item.value;\n },\n fields: {\n type: {\n type: \"choice\",\n options: [\n { value: \"item\", label: \"Menu item\" },\n { value: \"group\", label: \"Menu item group\" },\n { value: \"submenu\", label: \"Sub-menu\" },\n { value: \"divider\", label: \"Menu divider\" },\n ],\n defaultValue: \"item\",\n },\n key: {\n type: \"string\",\n displayName: \"Menu item key\",\n description:\n \"Key of the menu item; the onClick will receive this as the value to indicate which item was clicked.\",\n hidden: (ps: any, ctx: any, { item }: any) => item.type !== \"item\",\n },\n label: {\n type: \"string\",\n description: \"Label of the menu item; will use the key if not specified.\",\n hidden: (ps: any, ctx: any, { item }: any) => item.type === \"divider\",\n },\n children: {\n type: \"array\",\n displayName: \"Menu items\",\n hidden: (ps: any, ctx: any, { item }: any) =>\n item.type !== \"submenu\" && item.type !== \"group\",\n },\n onClick: {\n type: \"eventHandler\",\n displayName: \"Action\",\n description: \"Action to perform when this item is selected\",\n argTypes: [{ name: \"info\", type: \"object\" }],\n hidden: (ps: any, ctx: any, { item }: any) => item.type !== \"item\",\n },\n },\n};\nexport const UNKEYED_MENU_ITEM_TYPE = {\n ...MENU_ITEM_TYPE,\n fields: Object.fromEntries(\n Object.entries(MENU_ITEM_TYPE.fields).filter(([k]) => k !== \"key\")\n ),\n};\n\n(MENU_ITEM_TYPE.fields.children as any).itemType = MENU_ITEM_TYPE;\n(UNKEYED_MENU_ITEM_TYPE.fields.children as any).itemType =\n UNKEYED_MENU_ITEM_TYPE;\n\n/**\n * Note that the Menu component by itself isn't that useful.\n * It is supposed to be a stateful component, but we don't have state yet (for selected, open, etc.).\n *\n * Nor can you make it non-selectable yet and just make it be a list of clickable things.\n *\n * But we also can't get rid of it right now because it's used by Dropdown.\n *\n * Note also that we don't yet support the simpler `items` prop for configuration.\n */\nexport function registerMenu(loader?: Registerable) {\n registerComponentHelper(loader, AntdMenu, {\n name: \"plasmic-antd5-menu\",\n displayName: \"Menu\",\n props: {\n expandIcon: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n mode: {\n type: \"choice\",\n options: [\"horizontal\", \"vertical\", \"inline\"],\n description: \"Type of menu\",\n defaultValueHint: \"vertical\",\n },\n multiple: {\n type: \"boolean\",\n description: \"Allows selection of multiple items\",\n defaultValueHint: false,\n },\n triggerSubMenuAction: {\n type: \"choice\",\n options: [\"hover\", \"click\"],\n description: \"Which action can trigger submenu open/close\",\n defaultValueHint: \"hover\",\n advanced: true,\n },\n defaultSelectedKeys: {\n type: 'array',\n description: 'An array of Menu Item/s that will be selected when this component first loads, eg [\"home\", \"about\"]. Each item in the array should be one of the unique keys set in nested Menu Item component props. Useful when using the Menu component to build a website navigation bar.',\n advanced: true,\n },\n // menuScopeClassName: {\n // type: \"styleScopeClass\",\n // scopeName: \"menu\",\n // } as any,\n // menuItemClassName: {\n // type: \"class\",\n // displayName: \"Menu items\",\n // noSelf: true,\n // selectors: [\n // {\n // selector: \":menu .ant-menu-item\",\n // label: \"Base\",\n // },\n // {\n // selector: \":menu .ant-menu-item-selected\",\n // label: \"Selected\",\n // },\n // ],\n // } as any,\n children: {\n type: \"slot\",\n allowedComponents: allowedMenuComponents,\n defaultValue: [\n {\n type: \"component\",\n name: \"plasmic-antd5-menu-item\",\n props: {\n key: \"menuItemKey1\",\n },\n },\n {\n type: \"component\",\n name: \"plasmic-antd5-menu-item\",\n props: {\n key: \"menuItemKey2\",\n },\n },\n ],\n },\n onSelect: {\n type: \"eventHandler\",\n argTypes: [{ name: \"key\", type: \"string\" }],\n } as any,\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerMenu\",\n importName: \"AntdMenu\",\n });\n\n registerComponentHelper(loader, AntdMenuItem, {\n name: \"plasmic-antd5-menu-item\",\n displayName: \"Menu Item\",\n props: {\n danger: {\n type: \"boolean\",\n description: \"Display the danger style\",\n defaultValueHint: false,\n },\n disabled: {\n type: \"boolean\",\n description: \"Whether disabled select\",\n defaultValueHint: false,\n },\n key: {\n type: \"string\",\n displayName: \"Unique key\",\n description:\n \"Unique ID of the menu item. Used to determine which item is selected.\",\n defaultValue: \"menuItemKey\",\n },\n title: {\n type: \"string\",\n description: \"Set display title for collapsed item\",\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Menu item\",\n },\n ],\n ...({ mergeWithParent: true } as any),\n },\n onClick: {\n type: \"eventHandler\",\n argTypes: [],\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerMenu\",\n importName: \"AntdMenuItem\",\n parentComponentName: \"plasmic-antd5-menu\",\n });\n\n registerComponentHelper(loader, AntdMenuItemGroup, {\n name: \"plasmic-antd5-menu-item-group\",\n displayName: \"Item Group\",\n props: {\n title: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Group\",\n },\n ],\n },\n children: {\n type: \"slot\",\n allowedComponents: allowedMenuComponents,\n defaultValue: [\n {\n type: \"component\",\n name: \"plasmic-antd5-menu-item\",\n },\n ],\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerMenu\",\n importName: \"AntdMenuItemGroup\",\n parentComponentName: \"plasmic-antd5-menu\",\n });\n\n registerComponentHelper(loader, AntdMenuDivider, {\n name: \"plasmic-antd5-menu-divider\",\n displayName: \"Menu Divider\",\n props: {\n dashed: {\n type: \"boolean\",\n description: \"Whether line is dashed\",\n defaultValueHint: false,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerMenu\",\n importName: \"AntdMenuDivider\",\n parentComponentName: \"plasmic-antd5-menu\",\n });\n\n registerComponentHelper(loader, AntdSubMenu, {\n name: \"plasmic-antd5-submenu\",\n displayName: \"Sub Menu\",\n props: {\n disabled: {\n type: \"boolean\",\n description: \"Whether sub-menu is disabled\",\n defaultValueHint: false,\n },\n key: {\n type: \"string\",\n displayName: \"Unique key\",\n description:\n \"Unique ID of the sub-menu. Used to determine which item is selected.\",\n advanced: true,\n },\n title: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Sub-menu\",\n },\n ],\n },\n popupClassName: {\n type: \"class\",\n displayName: \"Sidemenu Popup\",\n },\n children: {\n type: \"slot\",\n allowedComponents: allowedMenuComponents,\n defaultValue: [1, 2].map((i) => ({\n type: \"component\",\n name: \"plasmic-antd5-menu-item\",\n props: {\n key: `subMenuItemKey${i}`,\n children: [\n {\n type: \"text\",\n value: `Sub-menu item ${i}`,\n },\n ],\n },\n })),\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerMenu\",\n importName: \"AntdSubMenu\",\n parentComponentName: \"plasmic-antd5-menu\",\n });\n}\n","import { Dropdown, Menu } from \"antd\";\nimport React from \"react\";\nimport { UNKEYED_MENU_ITEM_TYPE } from \"./registerMenu\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nfunction addKeysToUnkeyedMenuItems(\n unkeyedMenuItems: React.ComponentProps<typeof Menu>[\"items\"],\n maybeGenKey?: () => string\n) {\n const genKey =\n maybeGenKey ??\n (() => {\n let key = 0;\n return () => {\n return `${key++}`;\n };\n })();\n return unkeyedMenuItems?.map((item) => {\n if (!item) {\n return null;\n }\n const newItem = { ...item };\n if (!newItem.key) {\n newItem.key = genKey();\n }\n if (\"children\" in newItem && newItem.children) {\n newItem.children = addKeysToUnkeyedMenuItems(newItem.children, genKey);\n }\n return newItem;\n });\n}\n\nexport function AntdDropdown(\n props: Omit<React.ComponentProps<typeof Dropdown>, \"menu\" | \"overlay\"> & {\n onAction?: (key: string) => void;\n menuItems?: () => React.ReactNode;\n useMenuItemsSlot?: boolean;\n menuItemsJson?: React.ComponentProps<typeof Menu>[\"items\"];\n trigger?: \"click\" | \"hover\" | \"contextMenu\";\n dropdownMenuScopeClassName?: string;\n }\n) {\n const {\n children,\n onAction,\n menuItems,\n useMenuItemsSlot = false,\n menuItemsJson: unkeyedMenuItems,\n trigger = \"click\",\n dropdownMenuScopeClassName,\n ...rest\n } = props;\n\n const keyedMenuItems = addKeysToUnkeyedMenuItems(unkeyedMenuItems);\n\n return (\n <Dropdown\n {...rest}\n trigger={[trigger]}\n overlay={() => {\n const itemsChildren = useMenuItemsSlot\n ? menuItems?.() ?? []\n : undefined;\n const items = useMenuItemsSlot ? undefined : keyedMenuItems;\n return (\n <Menu\n className={`${dropdownMenuScopeClassName}`}\n onClick={(event) => onAction?.(event.key)}\n items={items}\n >\n {itemsChildren}\n </Menu>\n );\n }}\n >\n {typeof children === \"string\" ? <div>{children}</div> : children}\n </Dropdown>\n );\n}\n\n/**\n * Note that we don't yet support the simpler `items` prop for configuration.\n */\nexport function registerDropdown(loader?: Registerable) {\n registerComponentHelper(loader, AntdDropdown, {\n name: \"plasmic-antd5-dropdown\",\n displayName: \"Dropdown\",\n props: {\n menuItems: {\n type: \"slot\",\n displayName: \"Menu items\",\n hidden: (ps) => !ps.useMenuItemsSlot,\n allowedComponents: [\n \"plasmic-antd5-menu-item\",\n \"plasmic-antd5-menu-item-group\",\n \"plasmic-antd5-menu-divider\",\n \"plasmic-antd5-submenu\",\n ],\n defaultValue: [\n {\n type: \"component\",\n name: \"plasmic-antd5-menu-item\",\n props: {\n key: \"menu-item-1\",\n },\n },\n {\n type: \"component\",\n name: \"plasmic-antd5-menu-item\",\n props: {\n key: \"menu-item-2\",\n },\n },\n ],\n renderPropParams: [],\n },\n menuItemsJson: {\n type: \"array\",\n displayName: \"Menu Items\",\n hidden: (ps) => !!ps.useMenuItemsSlot,\n itemType: UNKEYED_MENU_ITEM_TYPE as any,\n defaultValue: [\n {\n type: \"item\",\n value: \"action1\",\n label: \"Action 1\",\n },\n {\n type: \"item\",\n value: \"action2\",\n label: \"Action 2\",\n },\n ],\n },\n dropdownMenuScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"dropdownMenu\",\n } as any,\n menuClassName: {\n type: \"class\",\n displayName: \"Menu\",\n selectors: [\n {\n selector: \":dropdownMenu.ant-dropdown-menu\",\n label: \"Base\",\n },\n ],\n },\n menuItemClassName: {\n type: \"class\",\n displayName: \"Menu item\",\n selectors: [\n {\n selector: \":dropdownMenu.ant-dropdown-menu .ant-dropdown-menu-item\",\n label: \"Base\",\n },\n {\n selector:\n \":dropdownMenu.ant-dropdown-menu .ant-dropdown-menu-item-active\",\n label: \"Focused\",\n },\n ],\n },\n open: {\n type: \"boolean\",\n description: \"Toggle visibility of dropdown menu in Plasmic Editor\",\n editOnly: true,\n uncontrolledProp: \"fakeOpen\",\n defaultValueHint: false,\n },\n disabled: {\n type: \"boolean\",\n description: \"Whether the dropdown menu is disabled\",\n defaultValueHint: false,\n },\n placement: {\n type: \"choice\",\n options: [\n \"bottomLeft\",\n \"bottomCenter\",\n \"bottomRight\",\n \"topLeft\",\n \"topCenter\",\n \"topRight\",\n ],\n description: \"Placement of popup menu\",\n defaultValueHint: \"bottomLeft\",\n advanced: true,\n },\n trigger: {\n type: \"choice\",\n options: [\n { value: \"click\", label: \"Click\" },\n { value: \"hover\", label: \"Hover\" },\n { value: \"contextMenu\", label: \"Right-click\" },\n ],\n description: \"The trigger mode which executes the dropdown action\",\n defaultValueHint: \"click\",\n },\n useMenuItemsSlot: {\n type: \"boolean\",\n displayName: \"Use menu items slot\",\n advanced: true,\n description:\n \"Instead of configuring a list of menu items, build the menu items using MenuItem elements. This gives you greater control over item styling.\",\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"component\",\n name: \"plasmic-antd5-button\",\n props: {\n children: {\n type: \"text\",\n value: \"Dropdown\",\n },\n },\n },\n ],\n ...({ mergeWithParent: true } as any),\n },\n onAction: {\n type: \"eventHandler\",\n argTypes: [{ name: \"key\", type: \"string\" }],\n } as any,\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerDropdown\",\n importName: \"AntdDropdown\",\n });\n}\n","import { Input, InputNumber } from \"antd\";\nimport React from \"react\";\nimport {\n inputComponentName,\n inputNumberComponentName,\n passwordComponentName,\n textAreaComponentName,\n} from \"./names\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport const AntdInput = Input;\nexport const AntdTextArea = Input.TextArea;\nexport const AntdPassword = Input.Password;\nexport const AntdInputNumber: typeof InputNumber = InputNumber;\n\nexport const inputHelpers = {\n states: {\n value: {\n onChangeArgsToValue: (\n e: Parameters<\n NonNullable<React.ComponentProps<typeof Input>[\"onChange\"]>\n >[0]\n ) => {\n return e.target.value;\n },\n },\n },\n};\n\nconst COMMON_HELPERS_CONFIG = {\n helpers: inputHelpers,\n importName: \"inputHelpers\",\n importPath: \"@plasmicpkgs/antd5/skinny/registerInput\",\n} as const;\nconst COMMON_STATES = {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n variableType: \"text\",\n onChangeProp: \"onChange\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n} as const;\n\nconst COMMON_DECORATOR_PROPS = {\n prefix: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n suffix: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n addonAfter: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n addonBefore: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n} as const;\n\nconst COMMON_ADVANCED_PROPS = {\n maxLength: {\n type: \"number\",\n advanced: true,\n },\n bordered: {\n type: \"boolean\",\n advanced: true,\n defaultValueHint: true,\n },\n allowClear: {\n type: \"boolean\",\n advanced: true,\n },\n autoFocus: {\n type: \"boolean\",\n advanced: true,\n },\n readOnly: {\n type: \"boolean\",\n advanced: true,\n },\n} as const;\n\nconst COMMON_EVENT_HANDLERS = {\n onChange: {\n type: \"eventHandler\",\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ] as any,\n },\n onPressEnter: {\n type: \"eventHandler\",\n argTypes: [\n {\n name: \"event\",\n type: \"object\",\n },\n ] as any,\n },\n} as const;\n\nconst inputTypeOptions = [\n \"text\",\n \"password\",\n \"number\",\n \"date\",\n \"datetime-local\",\n \"time\",\n \"email\",\n \"tel\",\n \"hidden\",\n];\n\nexport function registerInput(loader?: Registerable) {\n registerComponentHelper(loader, AntdInput, {\n name: inputComponentName,\n displayName: \"Input\",\n styleSections: [\"visibility\"],\n props: {\n value: {\n type: \"string\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n placeholder: {\n type: \"string\",\n },\n size: {\n type: \"choice\",\n options: [\"large\", \"middle\", \"small\"],\n },\n disabled: {\n type: \"boolean\",\n },\n type: {\n type: \"choice\",\n options: inputTypeOptions,\n defaultValueHint: \"text\",\n },\n ...COMMON_ADVANCED_PROPS,\n ...COMMON_DECORATOR_PROPS,\n ...COMMON_EVENT_HANDLERS,\n },\n states: {\n ...COMMON_STATES,\n },\n ...({ trapsSelection: true } as any),\n componentHelpers: COMMON_HELPERS_CONFIG,\n importPath: \"@plasmicpkgs/antd5/skinny/registerInput\",\n importName: \"AntdInput\",\n });\n}\n\nexport function registerTextArea(loader?: Registerable) {\n registerComponentHelper(loader, AntdTextArea, {\n name: textAreaComponentName,\n parentComponentName: inputComponentName,\n displayName: \"Text Area\",\n styleSections: [\"visibility\"],\n props: {\n value: {\n type: \"string\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n placeholder: {\n type: \"string\",\n },\n disabled: {\n type: \"boolean\",\n },\n maxLength: {\n type: \"number\",\n advanced: true,\n },\n bordered: {\n type: \"boolean\",\n advanced: true,\n defaultValueHint: true,\n },\n autoSize: {\n type: \"boolean\",\n displayName: \"Auto grow height?\",\n },\n ...COMMON_EVENT_HANDLERS,\n },\n states: {\n ...COMMON_STATES,\n },\n componentHelpers: COMMON_HELPERS_CONFIG,\n importPath: \"@plasmicpkgs/antd5/skinny/registerInput\",\n importName: \"AntdTextArea\",\n });\n}\n\nexport function registerPasswordInput(loader?: Registerable) {\n registerComponentHelper(loader, AntdPassword, {\n name: passwordComponentName,\n parentComponentName: inputComponentName,\n displayName: \"Password Input\",\n styleSections: [\"visibility\"],\n props: {\n value: {\n type: \"string\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n placeholder: {\n type: \"string\",\n },\n disabled: {\n type: \"boolean\",\n },\n maxLength: {\n type: \"number\",\n advanced: true,\n },\n\n bordered: {\n type: \"boolean\",\n advanced: true,\n defaultValueHint: true,\n },\n ...COMMON_EVENT_HANDLERS,\n },\n states: {\n ...COMMON_STATES,\n },\n componentHelpers: COMMON_HELPERS_CONFIG,\n importPath: \"@plasmicpkgs/antd5/skinny/registerInput\",\n importName: \"AntdPassword\",\n });\n}\n\nexport function registerNumberInput(loader?: Registerable) {\n registerComponentHelper(loader, AntdInputNumber, {\n name: inputNumberComponentName,\n parentComponentName: inputComponentName,\n displayName: \"Number Input\",\n styleSections: [\"visibility\"],\n props: {\n value: {\n type: \"number\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n placeholder: {\n type: \"string\",\n },\n disabled: {\n type: \"boolean\",\n },\n max: {\n type: \"number\",\n },\n min: {\n type: \"number\",\n },\n step: {\n type: \"number\",\n helpText: \"Increment or decrement step\",\n },\n controls: {\n type: \"boolean\",\n displayName: \"Show add/minus controls?\",\n advanced: true,\n },\n type: {\n type: \"choice\",\n options: inputTypeOptions,\n displayName: \"Input type\",\n defaultValue: \"number\",\n advanced: true,\n },\n ...COMMON_DECORATOR_PROPS,\n ...COMMON_ADVANCED_PROPS,\n ...COMMON_EVENT_HANDLERS,\n // onChange directly called with the number\n onChange: {\n type: \"eventHandler\",\n argTypes: [\n {\n name: \"value\",\n type: \"number\",\n },\n ],\n },\n },\n states: {\n ...COMMON_STATES,\n },\n ...({ trapsSelection: true } as any),\n // don't need component helpers\n importPath: \"@plasmicpkgs/antd5/skinny/registerInput\",\n importName: \"AntdInputNumber\",\n });\n}\n","import type { StyleSection } from \"@plasmicapp/host/registerComponent\";\nimport { Modal } from \"antd\";\nimport React, { ReactElement, useMemo } from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\n// hide sizing section, as width can only be set via a width prop, and not css!\nconst styleSections: StyleSection[] = [\n \"visibility\",\n \"typography\",\n \"spacing\",\n \"background\",\n \"transform\",\n \"transitions\",\n \"layout\",\n \"overflow\",\n \"border\",\n \"shadows\",\n \"effects\",\n];\n\nexport function AntdModal(\n props: React.ComponentProps<typeof Modal> & {\n onOpenChange?: (open: boolean) => void;\n defaultStylesClassName?: string;\n modalScopeClassName: string;\n wrapClassName: string;\n hideFooter?: boolean;\n trigger?: ReactElement;\n }\n) {\n const {\n onOpenChange,\n onOk,\n onCancel,\n open,\n width,\n footer,\n hideFooter,\n modalScopeClassName,\n wrapClassName,\n trigger,\n ...rest\n } = props;\n\n const memoOnOk = React.useMemo(() => {\n if (onOpenChange || onOk) {\n return (e: React.MouseEvent<HTMLButtonElement>) => {\n onOpenChange?.(false);\n onOk?.(e);\n };\n } else {\n return undefined;\n }\n }, [onOpenChange, onOk]);\n const memoOnCancel = React.useMemo(() => {\n if (onOpenChange || onCancel) {\n return (e: React.MouseEvent<HTMLButtonElement>) => {\n onOpenChange?.(false);\n onCancel?.(e);\n };\n } else {\n return undefined;\n }\n }, [onOpenChange, onCancel]);\n\n const widthProp = useMemo(() => {\n if (!width) return undefined;\n if (typeof width === \"number\") return width;\n if (typeof width !== \"string\") return undefined;\n if (/^\\d+$/.test(width)) {\n return +width;\n }\n return width;\n }, [width]);\n\n return (\n <>\n <Modal\n {...rest}\n onOk={memoOnOk}\n width={widthProp}\n onCancel={memoOnCancel}\n open={open}\n footer={hideFooter ? null : footer ?? undefined}\n wrapClassName={wrapClassName}\n className={`${props.className} ${props.defaultStylesClassName} ${modalScopeClassName}`}\n />\n {trigger ? (\n <div onClick={() => onOpenChange?.(true)}>{trigger}</div>\n ) : null}\n </>\n );\n}\n\nexport function registerModal(loader?: Registerable) {\n registerComponentHelper(loader, AntdModal, {\n name: \"plasmic-antd5-modal\",\n displayName: \"Modal\",\n styleSections,\n description:\n \"[See tutorial video](https://www.youtube.com/watch?v=TkjxNJIFun8)\",\n props: {\n open: {\n type: \"boolean\",\n },\n width: {\n type: \"string\",\n defaultValueHint: \"520px\",\n description: \"Change the width of the modal\",\n helpText:\n \"Default unit is px. You can also use % or other units for width.\",\n },\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"vbox\",\n children: [\"Modal content\"],\n },\n },\n title: {\n type: \"slot\",\n defaultValue: \"Modal title\",\n },\n footer: {\n type: \"slot\",\n hidePlaceholder: true,\n hidden: (ps) => ps.hideFooter ?? false,\n },\n trigger: {\n type: \"slot\",\n hidePlaceholder: true,\n defaultValue: {\n type: \"component\",\n name: \"plasmic-antd5-button\",\n props: {\n children: {\n type: \"text\",\n value: \"Show modal\",\n },\n },\n },\n ...({\n mergeWithParent: true,\n } as any),\n },\n closeIcon: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n onOk: {\n type: \"eventHandler\",\n argTypes: [],\n } as any,\n onCancel: {\n type: \"eventHandler\",\n argTypes: [],\n } as any,\n okText: {\n type: \"string\",\n hidden: (ps) => !!ps.footer,\n advanced: true,\n },\n cancelText: {\n type: \"string\",\n hidden: (ps) => !!ps.footer,\n advanced: true,\n },\n hideFooter: {\n type: \"boolean\",\n description: \"Hide the modal footer slot\",\n advanced: true,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"open\", type: \"boolean\" }],\n } as any,\n maskClosable: {\n type: \"boolean\",\n displayName: \"Close modal on outside click?\",\n description:\n \"Whether to close the modal when user clicks outside the modal\",\n defaultValueHint: true,\n },\n wrapClassName: {\n type: \"class\",\n displayName: \"Modal overlay\",\n styleSections: [\"background\"],\n },\n modalScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"modal\",\n } as any,\n modalContentClassName: {\n type: \"class\",\n displayName: \"Modal content\",\n noSelf: true,\n styleSections,\n selectors: [\n {\n selector: \":modal .ant-modal-content\",\n label: \"Base\",\n },\n ],\n } as any,\n closeButtonClassName: {\n type: \"class\",\n displayName: \"Close button\",\n noSelf: true,\n selectors: [\n {\n selector: \":modal .ant-modal-close\",\n label: \"Base\",\n },\n ],\n advanced: true,\n } as any,\n defaultStylesClassName: {\n type: \"themeResetClass\",\n } as any,\n },\n states: {\n open: {\n type: \"writable\",\n valueProp: \"open\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n templates: {\n \"Modal Form\": {\n props: {\n children: {\n type: \"component\",\n name: \"plasmic-antd5-form\",\n },\n hideFooter: true,\n },\n },\n \"Generic Modal\": {},\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerModal\",\n importName: \"AntdModal\",\n });\n}\n","import { Pagination } from \"antd\";\nimport React, { useEffect } from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\ntype AntdPaginationProps = Omit<\n React.ComponentProps<typeof Pagination>,\n \"pageSizeOptions\"\n> & {\n pageSizeOptions?: { pageSize: number }[];\n paginatedUrl?: (pageNo: number, pageSize: number) => string;\n};\n\nexport function AntdPagination(props: AntdPaginationProps) {\n const { paginatedUrl, pageSizeOptions, ...rest } = props;\n\n // to populate startIndex and endIndex states which are set via onChange prop.\n useEffect(() => {\n if (props.current && props.pageSize && props.onChange) {\n props.onChange(props.current, props.pageSize);\n }\n }, []);\n\n return (\n <Pagination\n pageSizeOptions={pageSizeOptions\n ?.filter((i) => i?.pageSize)\n .map((i) => i.pageSize)}\n itemRender={\n paginatedUrl\n ? (pageNo, _, originalElement) => {\n if (!React.isValidElement(originalElement) || !props.pageSize) {\n return originalElement;\n }\n let rel = undefined;\n if (props.current) {\n rel =\n pageNo === props.current\n ? \"self\"\n : pageNo === props.current - 1\n ? \"prev\"\n : pageNo === props.current + 1\n ? \"next\"\n : undefined;\n }\n\n const href = paginatedUrl(pageNo, props.pageSize);\n return React.cloneElement(originalElement, {\n ...originalElement.props,\n rel,\n href,\n style: {\n ...(originalElement.props?.style ?? {}),\n pointerEvents: \"none\",\n },\n });\n }\n : undefined\n }\n {...rest}\n />\n );\n}\n\nexport const paginationComponentName = \"plasmic-antd5-pagination\";\n\nexport const paginationHelpers = {\n states: {\n pageSize: {\n onChangeArgsToValue: (_: number, pageSize: number) => pageSize,\n },\n startIndex: {\n onChangeArgsToValue: (currentPage: number, pageSize: number) =>\n (currentPage - 1) * pageSize,\n },\n endIndex: {\n onChangeArgsToValue: (currentPage: number, pageSize: number) =>\n pageSize * currentPage - 1,\n },\n },\n};\n\nexport function registerPagination(loader?: Registerable) {\n registerComponentHelper(loader, AntdPagination, {\n name: paginationComponentName,\n displayName: \"Pagination\",\n props: {\n current: {\n editOnly: true,\n uncontrolledProp: \"defaultCurrent\",\n type: \"number\",\n displayName: \"Current Page\",\n description: `Default current page`,\n defaultValue: 1,\n },\n total: {\n type: \"number\",\n defaultValueHint: 0,\n description: `Total number of data items`,\n },\n pageSize: {\n editOnly: true,\n uncontrolledProp: \"defaultPageSize\",\n type: \"number\",\n displayName: \"Page size\",\n description: `Default number of items per page`,\n defaultValue: 10,\n },\n disabled: {\n type: \"boolean\",\n defaultValueHint: false,\n description: `Disable pagination controls`,\n },\n hideOnSinglePage: {\n type: \"boolean\",\n defaultValueHint: false,\n advanced: true,\n description: `Hide pager on single page`,\n },\n showLessItems: {\n type: \"boolean\",\n defaultValueHint: false,\n advanced: true,\n description: `Show less page items`,\n hidden: (ps) => !!ps.simple,\n },\n showQuickJumper: {\n type: \"boolean\",\n defaultValueHint: false,\n advanced: true,\n description: `Show \"Go to page\" control to enable jumping to pages directly`,\n hidden: (ps) => !!ps.simple,\n },\n showSizeChanger: {\n type: \"boolean\",\n defaultValueHint: (ps) => (ps.total ? ps.total > 50 : false),\n advanced: true,\n description: `Show page size selector`,\n hidden: (ps) => !!ps.simple,\n },\n // showTitle prop seems to be doing nothing, so this is skipped\n // showTitle: {\n // type: \"boolean\",\n // defaultValueHint: true,\n // description: `Show page item's title`,\n // },\n showTotal: {\n type: \"function\" as const,\n displayName: \"Show total\",\n description: \"Display the total number and range\",\n advanced: true,\n argNames: [\"total\", \"range\"],\n argValues: (_ps: any, ctx: any) => [ctx.data[0], ctx.data[1]],\n } as any,\n simple: {\n type: \"boolean\",\n defaultValueHint: false,\n description: `Uuse simple mode (i.e. minimal controls)`,\n },\n size: {\n type: \"choice\",\n defaultValueHint: \"default\",\n description: `Size of the pager`,\n options: [\"default\", \"small\"],\n },\n pageSizeOptions: {\n type: \"array\",\n defaultValue: [\n {\n pageSize: 10,\n },\n {\n pageSize: 20,\n },\n {\n pageSize: 50,\n },\n {\n pageSize: 100,\n },\n ],\n description: \"The list of available page sizes\",\n advanced: true,\n itemType: {\n type: \"object\",\n nameFunc: (item) => item.pageSize,\n fields: {\n pageSize: {\n type: \"number\",\n min: 1,\n },\n },\n },\n },\n paginatedUrl: {\n type: \"function\",\n advanced: true,\n description:\n \"Helps generate SEO-friendly pagination links. These links will include appropriate href attributes, ensuring that search engines can effectively crawl and index your paginated content\",\n control: {\n type: \"href\",\n },\n argNames: [\"pageNo\", \"pageSize\"],\n argValues: (_props: AntdPaginationProps, ctx: any) => [\n ctx?.data?.[0],\n _props.pageSize,\n ],\n } as any,\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"page\",\n type: \"number\",\n },\n {\n name: \"pageSize\",\n type: \"number\",\n },\n ],\n },\n onShowSizeChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n {\n name: \"current\",\n type: \"number\",\n },\n {\n name: \"size\",\n type: \"number\",\n },\n ],\n },\n },\n states: {\n currentPage: {\n type: \"writable\",\n valueProp: \"current\",\n onChangeProp: \"onChange\",\n variableType: \"number\",\n },\n pageSize: {\n type: \"writable\",\n valueProp: \"pageSize\",\n onChangeProp: \"onShowSizeChange\",\n variableType: \"number\",\n ...paginationHelpers.states.pageSize,\n },\n startIndex: {\n type: \"readonly\",\n variableType: \"number\",\n onChangeProp: \"onChange\",\n ...paginationHelpers.states.startIndex,\n },\n endIndex: {\n type: \"readonly\",\n variableType: \"number\",\n onChangeProp: \"onChange\",\n ...paginationHelpers.states.endIndex,\n },\n },\n componentHelpers: {\n helpers: paginationHelpers,\n importName: \"paginationHelpers\",\n importPath: \"@plasmicpkgs/antd5/skinny/registerPagination\",\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerPagination\",\n importName: \"AntdPagination\",\n });\n}\n","import { Popover } from \"antd\";\nimport React from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport function AntdPopover(\n props: React.ComponentProps<typeof Popover> & {\n popoverScopeClassName?: string;\n contentText?: string;\n defaultStylesClassName?: string;\n }\n) {\n const {\n overlayClassName,\n popoverScopeClassName,\n defaultStylesClassName,\n contentText,\n content,\n ...rest\n } = props;\n return (\n <Popover\n content={content || contentText}\n overlayClassName={`${overlayClassName} ${popoverScopeClassName} ${defaultStylesClassName}`}\n {...rest}\n />\n );\n}\n\nexport function registerPopover(loader?: Registerable) {\n registerComponentHelper(loader, AntdPopover, {\n name: \"plasmic-antd5-popover\",\n displayName: \"Popover\",\n isAttachment: true,\n props: {\n open: {\n type: \"boolean\",\n editOnly: true,\n uncontrolledProp: \"defaultOpen\",\n description: \"Default open state of the popover\",\n },\n arrow: {\n type: \"boolean\",\n defaultValue: true,\n advanced: true,\n },\n children: {\n type: \"slot\",\n defaultValue: \"This text element is wrapped in a Popover component\",\n mergeWithParent: true,\n } as any,\n popoverScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"popover\",\n } as any,\n popoverContentClassName: {\n type: \"class\",\n displayName: \"Popover content\",\n selectors: [\n {\n selector: \":popover.ant-popover .ant-popover-inner\",\n label: \"Base\",\n },\n ],\n },\n overlayClassName: {\n type: \"class\",\n displayName: \"Overlay\",\n },\n content: {\n type: \"slot\",\n displayName: \"Popover contents\",\n defaultValue: \"Popover contents\",\n hidePlaceholder: true,\n },\n /**\n * NOTE: contentText ensures that the popover shows as a custom behaviour without modifications\n * (when a random element is given a custom behaviour of Popover, the props of type \"slot\" do not receive any default value.\n * Therefore we use the contentText which has a string default value, so that the popover shows with at least something)\n * */\n contentText: {\n type: \"string\",\n displayName: \"Popover contents\",\n description: \"What gets shown inside the popover on hover\",\n defaultValue: \"Popover contents\",\n hidden: (ps) => !!ps.content,\n },\n title: {\n type: \"slot\",\n displayName: \"Popover title\",\n hidePlaceholder: true,\n defaultValue: \"Popover title\",\n },\n color: {\n type: \"color\",\n description: \"Popover fill color\",\n },\n trigger: {\n type: \"choice\",\n options: [\"hover\", \"focus\", \"click\"],\n defaultValueHint: \"hover\",\n advanced: true,\n },\n placement: {\n type: \"choice\",\n options: [\n \"topLeft\",\n \"top\",\n \"topRight\",\n \"leftTop\",\n \"left\",\n \"leftBottom\",\n \"rightTop\",\n \"right\",\n \"rightBottom\",\n \"bottomLeft\",\n \"bottom\",\n \"bottomRight\",\n ],\n description: \"Default placement of popover\",\n defaultValueHint: \"top\",\n },\n mouseEnterDelay: {\n type: \"number\",\n description: \"Delay in seconds, before popover is shown on mouse enter\",\n defaultValue: 0,\n advanced: true,\n hidden: (ps) => (ps.trigger ? ps.trigger !== \"hover\" : false),\n },\n mouseLeaveDelay: {\n type: \"number\",\n description:\n \"Delay in seconds, before popover is hidden on mouse leave\",\n defaultValue: 0,\n advanced: true,\n hidden: (ps) => (ps.trigger ? ps.trigger !== \"hover\" : false),\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"open\", type: \"boolean\" }],\n advanced: true,\n },\n defaultStylesClassName: {\n type: \"themeResetClass\",\n } as any,\n },\n states: {\n open: {\n type: \"writable\",\n valueProp: \"open\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerPopover\",\n importName: \"AntdPopover\",\n });\n}\n","import { Progress } from \"antd\";\nimport React, { useMemo } from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport type AntdProgressProps = Omit<\n React.ComponentProps<typeof Progress>,\n \"format\" | \"success\" | \"successPercent\"\n> & {\n successPercent?: number;\n successStrokeColor?: string;\n infoFormat?: (percent?: number, percentSuccess?: number) => string;\n stepColors?: { color: string }[];\n gradient: { color: string; percent: number }[];\n};\n\nexport function AntdProgress(props: AntdProgressProps) {\n const {\n successPercent,\n successStrokeColor,\n stepColors,\n infoFormat,\n gradient,\n strokeColor,\n ...rest\n } = props;\n\n const success = useMemo(() => {\n if (!successPercent && !successStrokeColor) return undefined;\n const res: React.ComponentProps<typeof Progress>[\"success\"] = {\n percent: successPercent,\n strokeColor: successStrokeColor,\n };\n return res;\n }, [successPercent, successStrokeColor]);\n\n const strokeColorProp = useMemo(() => {\n if (props.type === \"line\" && !!props.steps) {\n const colors = stepColors?.map((c) => c.color).filter((c) => c);\n if (colors?.length) {\n return colors;\n }\n }\n const res: Record<number, string> = {};\n gradient\n ?.filter((g) => g.color && g.percent !== undefined)\n .map((g) => {\n res[g.percent] = g.color;\n });\n if (Object.keys(res).length) return res;\n return strokeColor;\n }, [gradient, props.steps, props.type, stepColors, strokeColor]);\n\n return (\n <Progress\n strokeColor={strokeColorProp}\n success={success}\n format={infoFormat}\n {...rest}\n />\n );\n}\n\nexport const progressComponentName = \"plasmic-antd5-progress\";\n\nexport function registerProgress(loader?: Registerable) {\n registerComponentHelper(loader, AntdProgress, {\n name: progressComponentName,\n displayName: \"Progress\",\n props: {\n type: {\n type: \"choice\",\n defaultValueHint: \"line\",\n options: [\"line\", \"circle\", \"dashboard\"],\n },\n percent: {\n type: \"number\",\n description: \"The completion percentage\",\n defaultValueHint: 0,\n },\n size: {\n type: \"choice\",\n defaultValueHint: \"default\",\n description: `Size of progress`,\n advanced: true,\n options: [\"default\", \"small\"],\n },\n showInfo: {\n type: \"boolean\",\n displayName: \"Show text\",\n defaultValueHint: true,\n advanced: true,\n description: \"Display the progress value and the status icon\",\n },\n status: {\n type: \"choice\",\n defaultValueHint: \"normal\",\n advanced: true,\n options: [\"success\", \"exception\", \"normal\", \"active\"],\n },\n strokeColor: {\n type: \"color\",\n description: \"The color of progress bar\",\n },\n strokeLinecap: {\n type: \"choice\",\n description: \"Style of endpoints of the progress path\",\n defaultValueHint: \"round\",\n advanced: true,\n options: [\"round\", \"butt\", \"square\"],\n },\n successPercent: {\n type: \"number\",\n advanced: true,\n },\n successStrokeColor: {\n type: \"color\",\n description: \"Color of the progress path marked success\",\n advanced: true,\n hidden: (ps) => !ps.successPercent,\n },\n trailColor: {\n type: \"color\",\n advanced: true,\n description: \"The color of unfilled part\",\n },\n infoFormat: {\n type: \"function\" as const,\n displayName: \"Format\",\n defaultValueHint: ({ percent }: AntdProgressProps) =>\n `${percent || 0}%`,\n description: \"Customize the progress text\",\n advanced: true,\n hidden: (ps: AntdProgressProps) =>\n ps.showInfo === undefined ? false : !ps.showInfo,\n argNames: [\"percent\", \"successPercent\"],\n argValues: (_ps: AntdProgressProps) => [\n _ps.percent,\n _ps.successPercent,\n ],\n } as any,\n steps: {\n type: \"number\",\n hidden: (ps) => ps.type !== \"line\",\n advanced: true,\n description: \"The total step count\",\n },\n stepColors: {\n type: \"array\",\n hidden: (ps) => (ps.type !== \"line\" ? true : ps.steps == null),\n advanced: true,\n itemType: {\n type: \"object\",\n nameFunc: (item) => item.color,\n fields: {\n color: {\n type: \"color\",\n },\n },\n },\n },\n gradient: {\n type: \"array\",\n hidden: (ps) => ps.type === \"line\" && !!ps.steps,\n advanced: true,\n itemType: {\n type: \"object\",\n nameFunc: (item) => `${item.percent}%: ${item.color}`,\n fields: {\n color: {\n type: \"color\",\n },\n percent: {\n type: \"number\",\n },\n },\n },\n },\n strokeWidth: {\n type: \"number\",\n hidden: (ps) => ps.type === \"line\",\n description:\n \"To set the width of the circular progress, unit: percentage of the canvas width\",\n advanced: true,\n defaultValueHint: 6,\n },\n gapDegree: {\n type: \"number\",\n hidden: (ps) => ps.type !== \"dashboard\",\n defaultValueHint: 75,\n advanced: true,\n description: \"The gap degree of half circle\",\n min: 0,\n max: 295,\n },\n gapPosition: {\n type: \"choice\",\n hidden: (ps) => ps.type !== \"dashboard\",\n options: [\"top\", \"bottom\", \"left\", \"right\"],\n advanced: true,\n defaultValueHint: \"bottom\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerProgress\",\n importName: \"AntdProgress\",\n });\n}\n","import { Rate } from \"antd\";\nimport React, { ReactElement, useMemo } from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\ntype AntdRateProps = Omit<React.ComponentProps<typeof Rate>, \"tooltips\"> & {\n tooltips?: { label: string }[];\n multiCharacter?: boolean;\n symbols?: React.ReactElement;\n};\n\nexport function AntdRate(props: AntdRateProps) {\n const { character, count, tooltips, multiCharacter, symbols, ...rest } =\n props;\n\n const symbolsProp: ReactElement[] = useMemo(\n () =>\n (Array.isArray(symbols?.props?.children)\n ? symbols?.props?.children\n : [symbols]\n )\n ?.filter((c: any) => React.isValidElement(c))\n .map((c: ReactElement) => <>{c}</>) || [],\n [symbols]\n );\n const countProp = useMemo(() => {\n if (!multiCharacter) {\n return count;\n }\n return symbolsProp?.length;\n }, [count, multiCharacter, symbolsProp?.length]);\n\n const characterProp = useMemo(() => {\n if (!multiCharacter) {\n return character || undefined;\n }\n return symbolsProp?.length\n ? ({ index }: any) => symbolsProp[index]\n : character || undefined;\n }, [character, multiCharacter, symbolsProp]);\n\n return (\n <Rate\n tooltips={tooltips?.map((t) => t?.label)}\n count={countProp}\n character={characterProp}\n {...rest}\n />\n );\n}\n\nexport const rateComponentName = \"plasmic-antd5-rate\";\n\nexport function registerRate(loader?: Registerable) {\n registerComponentHelper(loader, AntdRate, {\n name: rateComponentName,\n displayName: \"Rate\",\n props: {\n allowClear: {\n type: \"boolean\",\n advanced: true,\n defaultValueHint: true,\n description: \"Clear the rating when the user clicks again\",\n },\n allowHalf: {\n type: \"boolean\",\n advanced: true,\n defaultValueHint: false,\n description: \"Allow fractional rating.\",\n },\n autoFocus: {\n type: \"boolean\",\n description: \"Focus when component is rendered\",\n defaultValueHint: false,\n advanced: true,\n },\n character: {\n type: \"slot\",\n displayName: \"Symbol\",\n hidePlaceholder: true,\n hidden: (ps: AntdRateProps) => Boolean(ps.multiCharacter),\n },\n multiCharacter: {\n type: \"boolean\",\n displayName: \"Multi Symbol\",\n description:\n \"Allow different symbols for rating. (You can add these symbols in the component slots if this is enabled)\",\n advanced: true,\n },\n symbols: {\n type: \"slot\",\n displayName: \"Symbols\",\n hidePlaceholder: true,\n defaultValue: [\"1\", \"2\", \"3\", \"4\", \"5\"],\n hidden: (ps: AntdRateProps) => !ps.multiCharacter,\n },\n count: {\n type: \"number\",\n description: \"Rating count\",\n defaultValueHint: 5,\n advanced: true,\n hidden: (ps: AntdRateProps) => Boolean(ps.multiCharacter),\n },\n value: {\n type: \"number\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Default rating\",\n defaultValueHint: 0,\n },\n disabled: {\n type: \"boolean\",\n description: \"Read-only rating\",\n defaultValueHint: false,\n },\n tooltips: {\n type: \"array\",\n description: \"Rating labels\",\n displayName: \"Labels\",\n advanced: true,\n hidden: (ps: AntdRateProps) => !ps.count,\n itemType: {\n type: \"object\",\n fields: {\n label: \"string\",\n },\n nameFunc: (value: any) => value.label,\n },\n validator: (value: any, ps: any) => {\n if (!ps.count) {\n return true;\n }\n if (!Array.isArray(value) || value.length === 0) {\n return true;\n }\n if (value.length < ps.count) {\n return `You need ${ps.count - value.length} more labels`;\n }\n if (value.length > ps.count) {\n return \"You have too many labels. Some labels will not be used\";\n }\n return true;\n },\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"value\", type: \"number\" }],\n },\n onBlur: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [],\n },\n onFocus: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [],\n },\n onHoverChange: {\n type: \"eventHandler\",\n advanced: true,\n description: \"Callback when an item is hovered\",\n argTypes: [],\n },\n onKeyDown: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"event\", type: \"object\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"number\",\n },\n },\n\n importPath: \"@plasmicpkgs/antd5/skinny/registerRate\",\n importName: \"AntdRate\",\n });\n}\n","import type { PlasmicElement } from \"@plasmicapp/host\";\nimport { ActionProps } from \"@plasmicapp/host/registerComponent\";\nimport { Segmented } from \"antd\";\nimport React, { ReactElement, useMemo } from \"react\";\nimport {\n Registerable,\n registerComponentHelper,\n traverseReactEltTree,\n} from \"./utils\";\n\nexport type AntdSegmentedOptionProps = {\n value: string;\n children: React.ReactNode;\n};\n\nexport type AntdSegmentedProps = Omit<\n React.ComponentProps<typeof Segmented>,\n \"options\"\n> & {\n options?: { label: string; value: string }[];\n optionsSlot?: ReactElement; // options with more than just text\n useSlotOptions: boolean;\n};\n\nexport function AntdSegmented(props: AntdSegmentedProps) {\n const {\n optionsSlot,\n options: optionLabelObjs,\n useSlotOptions,\n ...rest\n } = props;\n\n const options = useMemo(() => {\n // segment labels with text and more\n if (useSlotOptions) {\n const optionElts =\n (optionsSlot?.type as any)?.name == AntdSegmentedOption.name\n ? [optionsSlot]\n : optionsSlot?.props.children;\n return optionElts\n ?.filter(\n (el: any) =>\n React.isValidElement(el) &&\n (el.type as any)?.name === AntdSegmentedOption.name\n )\n .map((el: ReactElement<AntdSegmentedOptionProps>) => ({\n value: el.props.value,\n label: <>{el.props.children}</>,\n }));\n }\n\n // segment labels with text only\n return optionLabelObjs?.filter((l) => l.label && l.value) || [];\n }, [optionsSlot, useSlotOptions, optionLabelObjs]);\n\n return <Segmented options={options} {...rest} />;\n}\nexport function AntdSegmentedOption(props: AntdSegmentedOptionProps) {\n return <>{props.children}</>;\n}\n\nfunction OutlineMessage() {\n return <div>* To re-arrange options, use the Outline panel</div>;\n}\n\nfunction getValueOptions(props: AntdSegmentedProps) {\n if (props.useSlotOptions) {\n const res = new Set<string>();\n traverseReactEltTree(props.optionsSlot, (elt) => {\n if (elt?.type === AntdSegmentedOption && elt.props?.value) {\n res.add(elt.props?.value);\n }\n });\n return Array.from(res.keys());\n } else {\n return (\n props.options?.filter((l) => l.label && l.value).map((l) => l.value) || []\n );\n }\n}\n\nfunction getDefaultSlotOption(key: number | string): PlasmicElement {\n return {\n type: \"component\",\n name: segmentedOptionComponentName,\n props: {\n value: `Option ${key}`,\n children: {\n type: \"hbox\",\n styles: {\n columnGap: \"5px\",\n justifyContent: \"center\",\n },\n children: [\n {\n type: \"img\",\n styles: {\n opacity: 0.5,\n objectFit: \"contain\",\n },\n src: \"https://static1.plasmic.app/home-outlined.svg\",\n },\n {\n type: \"text\",\n value: `Option ${key}`,\n styles: {\n width: \"auto\",\n },\n },\n ],\n },\n },\n };\n}\n\nexport const segmentedComponentName = \"plasmic-antd5-segmented\";\nexport const segmentedOptionComponentName = \"plasmic-antd5-segmented-option\";\n\nexport function registerSegmented(loader?: Registerable) {\n registerComponentHelper(loader, AntdSegmentedOption, {\n name: segmentedOptionComponentName,\n displayName: \"Segmented Option\",\n props: {\n value: {\n type: \"string\",\n displayName: \"Name\",\n description: \"Name of the segment\",\n },\n children: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerSegmented\",\n importName: \"AntdSegmentedOption\",\n parentComponentName: segmentedComponentName,\n });\n\n registerComponentHelper(loader, AntdSegmented, {\n name: segmentedComponentName,\n displayName: \"Segmented\",\n props: {\n size: {\n type: \"choice\",\n defaultValueHint: \"middle\",\n description: `Set the size of segments`,\n options: [\"large\", \"middle\", \"small\"],\n },\n value: {\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n type: \"choice\",\n options: getValueOptions,\n displayName: \"Selected option\",\n description: `Default selected option`,\n hidden: (ps: AntdSegmentedProps) => !ps.options,\n },\n disabled: {\n type: \"boolean\",\n defaultValueHint: false,\n description: `Disable all segments`,\n },\n block: {\n type: \"boolean\",\n displayName: \"Fill spacing\",\n defaultValueHint: false,\n description: `Fill the container element, with all segments equally spaced`,\n },\n useSlotOptions: {\n type: \"boolean\",\n defaultValue: false,\n advanced: true,\n description: \"Add icons, avatars, images, and more in option labels\",\n },\n options: {\n type: \"array\",\n hidden: (ps: AntdSegmentedProps) => ps.useSlotOptions,\n validator: (value: any[], ps: any) => {\n if (ps.useSlotOptions) {\n return true;\n }\n const badOptions = value\n .map((v, i) => (!v.value || !v.label ? i + 1 : undefined))\n .filter((i) => i);\n if (badOptions.length > 0) {\n return `Options at position ${badOptions.join(\n \", \"\n )} are missing label or value`;\n }\n return true;\n },\n itemType: {\n type: \"object\",\n nameFunc: (item: any) => item.label,\n fields: {\n label: {\n type: \"string\",\n required: true,\n },\n value: {\n type: \"string\",\n required: true,\n },\n },\n },\n defaultValue: [\n {\n label: \"Option 1\",\n value: \"Option 1\",\n },\n {\n label: \"Option 2\",\n value: \"Option 2\",\n },\n {\n label: \"Option 3\",\n value: \"Option 3\",\n },\n ],\n },\n optionsSlot: {\n type: \"slot\",\n displayName: \"Options\",\n allowedComponents: [segmentedOptionComponentName],\n hidden: (ps: AntdSegmentedProps) => !ps.useSlotOptions,\n defaultValue: [getDefaultSlotOption(1), getDefaultSlotOption(2)],\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"value\", type: \"string\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n },\n },\n actions: [\n {\n type: \"button-action\",\n label: \"Add new option\",\n hidden: (ps) => !ps.useSlotOptions,\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n // Get the first positive integer that isn't already a key\n const generateNewKey = () => {\n const existingValues = new Set<string>();\n traverseReactEltTree(componentProps.optionsSlot, (elt) => {\n if (elt?.type === AntdSegmentedOption && elt?.props?.value) {\n existingValues.add(elt.props.value);\n }\n });\n\n for (\n let keyCandidate = 1;\n keyCandidate <= existingValues.size + 1;\n keyCandidate++\n ) {\n const strKey = keyCandidate.toString();\n if (\n !existingValues.has(strKey) &&\n !existingValues.has(`Option ${strKey}`)\n ) {\n return strKey;\n }\n }\n\n return undefined;\n };\n\n const newKey = generateNewKey();\n if (!newKey) {\n return;\n }\n studioOps.appendToSlot(getDefaultSlotOption(newKey), \"optionsSlot\");\n },\n },\n {\n type: \"button-action\",\n hidden: (ps) => !ps.value || !ps.useSlotOptions,\n label: \"Delete current option\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n const options: string[] = [];\n traverseReactEltTree(componentProps.optionsSlot, (elt) => {\n if (elt?.type === AntdSegmentedOption && elt?.props?.value) {\n options.push(elt.props.value);\n }\n });\n\n const value = componentProps.value;\n const currPos = options.findIndex((opt) => {\n return opt === value;\n });\n\n if (currPos !== -1) {\n studioOps.removeFromSlotAt(currPos, \"optionsSlot\");\n if (options.length - 1 > 0) {\n const prevPos = (currPos - 1 + options.length) % options.length;\n studioOps.updateProps({ value: options[prevPos] });\n }\n }\n },\n },\n\n {\n type: \"custom-action\",\n hidden: (ps) => !ps.useSlotOptions,\n control: OutlineMessage,\n },\n ],\n importPath: \"@plasmicpkgs/antd5/skinny/registerSegmented\",\n importName: \"AntdSegmented\",\n });\n}\n","import { PropType } from \"@plasmicapp/host\";\nimport { Slider } from \"antd\";\nimport type { SliderTooltipProps } from \"antd/lib/slider\";\nimport type { TooltipPlacement } from \"antd/lib/tooltip\";\nimport kebabCase from \"lodash/kebabCase\";\nimport React, { ReactElement, useMemo } from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport type StylableMark = {\n mark: number;\n children: React.ReactNode;\n};\n\nexport type SliderTooltip = {\n tooltipPrefix?: string;\n tooltipSuffix?: string;\n tooltipVisible?: boolean | string;\n tooltipPlacement?: TooltipPlacement;\n};\n\nexport type SimpleMark = { value: number; label: string };\n\nexport type AntdSliderBaseProps = Omit<\n React.ComponentProps<typeof Slider>,\n | \"range\"\n | \"tooltipVisible\"\n | \"tooltip\"\n | \"marks\"\n | \"onChange\"\n | \"onAfterChange\"\n | \"value\"\n | \"defaultValue\"\n | \"trackStyle\"\n | \"railStyle\"\n | \"handleStyle\"\n | \"onChangeComplete\"\n> &\n SliderTooltip & {\n stylableMarks?: ReactElement;\n marks?: SimpleMark[];\n sliderScopeClassName?: string;\n };\n\nexport interface AntdSingleSliderProps extends AntdSliderBaseProps {\n value?: number;\n defaultValue?: number;\n onChange: (value?: number) => void;\n onAfterChange: (value?: number) => void;\n}\n\nexport interface AntdRangeSliderProps extends AntdSliderBaseProps {\n draggableTrack?: boolean;\n valueMin?: number;\n valueMax?: number;\n defaultValueMin?: number;\n defaultValueMax?: number;\n onChange: (value?: number[]) => void;\n onAfterChange: (value?: number[]) => void;\n}\n\nexport function useMarks({\n simpleMarks,\n stylableMarks,\n}: {\n simpleMarks?: SimpleMark[];\n stylableMarks?: ReactElement;\n}): Record<number, React.ReactNode | { label: string }> {\n const marks: Record<number, React.ReactNode | { label: string }> =\n useMemo(() => {\n const stylableMarksList =\n (stylableMarks?.type as any)?.name == AntdSliderMark.name\n ? [stylableMarks]\n : stylableMarks?.props.children;\n const res: Record<number, React.ReactNode | { label: string }> = {};\n\n stylableMarksList\n ?.filter(\n (c: any) =>\n React.isValidElement(c) &&\n (c.type as any)?.name === AntdSliderMark.name\n )\n .forEach((c: ReactElement<StylableMark>) => {\n res[c.props.mark] = c.props.children;\n });\n\n simpleMarks?.forEach((mark) => {\n res[mark.value] = { label: mark.label };\n });\n return res;\n }, [simpleMarks, stylableMarks]);\n\n return marks;\n}\n\nexport function useTooltip({\n tooltipVisible,\n tooltipPlacement,\n tooltipPrefix,\n tooltipSuffix,\n}: SliderTooltip): SliderTooltipProps {\n return {\n open: tooltipVisible === \"unset\" ? undefined : Boolean(tooltipVisible),\n placement: tooltipPlacement,\n getPopupContainer: (node) => node,\n formatter: (value) =>\n `${tooltipPrefix || \"\"}${value}${tooltipSuffix || \"\"}`,\n };\n}\n\nexport function AntdRangeSlider(props: AntdRangeSliderProps) {\n const {\n marks,\n stylableMarks,\n sliderScopeClassName,\n className,\n tooltipVisible,\n tooltipPlacement,\n tooltipPrefix,\n tooltipSuffix,\n draggableTrack,\n valueMin,\n valueMax,\n defaultValueMin,\n defaultValueMax,\n onAfterChange,\n ...rest\n } = props;\n const marksProp = useMarks({ simpleMarks: marks, stylableMarks });\n const tooltipProp = useTooltip({\n tooltipVisible,\n tooltipPlacement,\n tooltipPrefix,\n tooltipSuffix,\n });\n return (\n <Slider\n value={[valueMin || 0, valueMax || 0]}\n defaultValue={[defaultValueMin || 0, defaultValueMax || 0]}\n range={{ draggableTrack }}\n className={`${sliderScopeClassName} ${className}`}\n tooltip={tooltipProp}\n marks={marksProp}\n onChangeComplete={onAfterChange}\n {...rest}\n />\n );\n}\n\nexport function AntdSingleSlider(props: AntdSingleSliderProps) {\n const {\n marks,\n stylableMarks,\n sliderScopeClassName,\n className,\n tooltipVisible,\n tooltipPlacement,\n tooltipPrefix,\n tooltipSuffix,\n onAfterChange,\n ...rest\n } = props;\n\n const marksProp = useMarks({ simpleMarks: marks, stylableMarks });\n const tooltipProp = useTooltip({\n tooltipVisible,\n tooltipPlacement,\n tooltipPrefix,\n tooltipSuffix,\n });\n return (\n <Slider\n className={`${sliderScopeClassName} ${className}`}\n tooltip={tooltipProp}\n marks={marksProp}\n range={false}\n onChangeComplete={onAfterChange}\n {...rest}\n />\n );\n}\n\nexport function AntdSliderMark(props: StylableMark) {\n return <>{props.children}</>;\n}\n\nexport const sliderComponentName = \"plasmic-antd5-slider\";\nexport const rangeSliderComponentName = \"plasmic-antd5-range-slider\";\nexport const sliderMarkComponentName = \"plasmic-antd5-slider-mark\";\n\nconst commonProps: Record<string, PropType<any>> = {\n autoFocus: {\n type: \"boolean\",\n description: \"Focus when component is rendered\",\n defaultValueHint: false,\n advanced: true,\n },\n disabled: {\n type: \"boolean\",\n description: \"If true, the slider thumb will not be draggable\",\n defaultValueHint: false,\n },\n keyboard: {\n type: \"boolean\",\n description: \"Support using keyboard to move handlers\",\n defaultValueHint: true,\n advanced: true,\n },\n dots: {\n type: \"boolean\",\n displayName: \"Show dots\",\n description: \"Show dot at every step on the slider\",\n defaultValueHint: false,\n advanced: true,\n },\n marks: {\n type: \"array\",\n description: \"Specific markers or snap points on the slider\",\n itemType: {\n nameFunc: (value) => `${value.value} → ${value.label}`,\n type: \"object\",\n fields: {\n value: {\n type: \"number\",\n description: \"value on the slider\",\n },\n label: \"string\",\n },\n },\n },\n stylableMarks: {\n type: \"slot\",\n displayName: \"Stylable Marks\",\n allowedComponents: [sliderMarkComponentName],\n defaultValue: [\n {\n type: \"component\",\n name: sliderMarkComponentName,\n props: {\n mark: 50,\n children: {\n type: \"text\",\n value: \"Stylable Mark\",\n },\n },\n },\n ],\n },\n included: {\n type: \"boolean\",\n description: \"Fill the slider till the selected value\",\n defaultValueHint: true,\n advanced: true,\n },\n min: {\n type: \"number\",\n description: \"The minimum value the slider can slide to\",\n defaultValueHint: 0,\n displayName: \"Slider start\",\n },\n max: {\n type: \"number\",\n description: \"The maximum value the slider can slide to\",\n defaultValueHint: 100,\n displayName: \"Slider end\",\n },\n reverse: {\n type: \"boolean\",\n description:\n \"Reverse the slider, so that the starting point is at the right end\",\n defaultValueHint: false,\n advanced: true,\n },\n step: {\n type: \"number\",\n description: \"Granularity of the slider's movement\",\n defaultValueHint: 1,\n min: 0,\n },\n vertical: {\n type: \"boolean\",\n description: \"Slide vertically\",\n defaultValueHint: false,\n advanced: true,\n helpText:\n \"Please increase the slider height to make the vertical slider visible\",\n },\n tooltipVisible: {\n type: \"choice\",\n displayName: \"Show tooltip\",\n options: [\n {\n value: true,\n label: \"Always\",\n },\n {\n value: false,\n label: \"Never\",\n },\n {\n value: \"unset\",\n label: \"Only on drag/hover\",\n },\n ],\n defaultValueHint: \"unset\",\n defaultValue: \"unset\",\n advanced: true,\n },\n tooltipPlacement: {\n type: \"choice\",\n options: [\n \"topLeft\",\n \"top\",\n \"topRight\",\n \"leftTop\",\n \"left\",\n \"leftBottom\",\n \"rightTop\",\n \"right\",\n \"rightBottom\",\n \"bottomLeft\",\n \"bottom\",\n \"bottomRight\",\n ].map((item) => ({\n value: item,\n label: kebabCase(item),\n })),\n description: \"Default placement of tooltip\",\n defaultValueHint: \"top\",\n advanced: true,\n },\n tooltipPrefix: {\n type: \"string\",\n description: \"Add a prefix to the slider value inside tooltip\",\n advanced: true,\n },\n tooltipSuffix: {\n type: \"string\",\n description: \"Add a suffix to the slider value inside tooltip\",\n advanced: true,\n },\n sliderScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"slider\",\n } as any,\n railClassName: {\n type: \"class\",\n displayName: \"Rail\",\n description: \"The path on which the thumb moves\",\n selectors: [\n {\n selector: \":slider.ant-slider .ant-slider-rail\",\n label: \"Base\",\n },\n ],\n },\n trackClassName: {\n type: \"class\",\n displayName: \"Track\",\n description: \"The inclusive part of the slider rail\",\n selectors: [\n {\n selector: \":slider.ant-slider .ant-slider-track\",\n label: \"Base\",\n },\n ],\n },\n handleClassName: {\n type: \"class\",\n displayName: \"Handle\",\n description: \"Thumb of the slider that moves on drag\",\n selectors: [\n {\n selector: \":slider.ant-slider .ant-slider-handle::after\",\n label: \"Base\",\n },\n ],\n },\n dotClassName: {\n type: \"class\",\n displayName: \"Step dots\",\n description: \"The dots that represent steps on the slider rail\",\n selectors: [\n {\n selector: \":slider.ant-slider .ant-slider-dot\",\n label: \"Base\",\n },\n ],\n },\n activeDotClassName: {\n type: \"class\",\n displayName: \"Active dots\",\n description: \"The dots within the inclusive part of the slider rail\",\n selectors: [\n {\n selector: \":slider.ant-slider .ant-slider-dot.ant-slider-dot-active\",\n label: \"Base\",\n },\n ],\n },\n tooltipClassName: {\n type: \"class\",\n displayName: \"Tooltip\",\n description: \"The tooltip that shows the value of the slider\",\n selectors: [\n {\n selector: \":slider.ant-slider .ant-slider-tooltip\",\n label: \"Base\",\n },\n ],\n },\n};\n\nexport const rangeSliderHelpers = {\n states: {\n min: {\n onChangeArgsToValue: (value: number[]) => value[0],\n },\n max: {\n onChangeArgsToValue: (value: number[]) => value[1],\n },\n },\n};\n\nexport function registerSlider(loader?: Registerable) {\n registerComponentHelper(loader, AntdSingleSlider, {\n name: sliderComponentName,\n displayName: \"Slider\",\n defaultStyles: {\n width: \"300px\",\n },\n props: {\n value: {\n type: \"number\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"The default value of the slider\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"value\", type: \"number\" }],\n },\n onAfterChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"value\", type: \"number\" }],\n },\n ...commonProps,\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerSlider\",\n importName: \"AntdSingleSlider\",\n });\n registerComponentHelper(loader, AntdRangeSlider, {\n name: rangeSliderComponentName,\n displayName: \"Range Slider\",\n defaultStyles: {\n width: \"300px\",\n },\n props: {\n draggableTrack: {\n type: \"boolean\",\n defaultValueHint: false,\n description: \"Whether range track can be dragged\",\n },\n valueMin: {\n type: \"number\",\n editOnly: true,\n uncontrolledProp: \"defaultValueMin\",\n description: \"The default minimum value of the range slider\",\n },\n valueMax: {\n type: \"number\",\n editOnly: true,\n uncontrolledProp: \"defaultValueMax\",\n description: \"The default maximum value of the range slider\",\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"value\", type: \"object\" }],\n },\n onAfterChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"value\", type: \"object\" }],\n },\n ...commonProps,\n },\n states: {\n min: {\n type: \"writable\",\n valueProp: \"valueMin\",\n onChangeProp: \"onChange\",\n variableType: \"number\",\n ...rangeSliderHelpers.states.min,\n },\n max: {\n type: \"writable\",\n valueProp: \"valueMax\",\n onChangeProp: \"onChange\",\n variableType: \"number\",\n ...rangeSliderHelpers.states.max,\n },\n },\n componentHelpers: {\n helpers: rangeSliderHelpers,\n importName: \"rangeSliderHelpers\",\n importPath: \"@plasmicpkgs/antd5/skinny/registerSlider\",\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerSlider\",\n importName: \"AntdRangeSlider\",\n });\n registerComponentHelper(loader, AntdSliderMark, {\n name: sliderMarkComponentName,\n displayName: \"Slider Mark\",\n props: {\n mark: {\n type: \"number\",\n description: \"value on the slider\",\n },\n children: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerSlider\",\n importName: \"AntdSliderMark\",\n parentComponentName: sliderComponentName,\n });\n}\n","import React from \"react\";\nimport { Steps } from \"antd\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport function AntdSteps(props: React.ComponentProps<typeof Steps>) {\n return <Steps {...props} />;\n}\n\nexport function registerSteps(loader?: Registerable) {\n const statusOptions = [\"wait\", \"process\", \"finish\", \"error\"];\n registerComponentHelper(loader, AntdSteps, {\n name: \"plasmic-antd5-steps\",\n displayName: \"Steps\",\n props: {\n items: {\n type: \"array\",\n itemType: {\n type: \"object\",\n nameFunc: (item) => item.title,\n fields: {\n title: \"string\",\n description: \"string\",\n subTitle: \"string\",\n disabled: \"boolean\",\n status: {\n displayName: \"Status\",\n type: \"choice\",\n options: statusOptions,\n defaultValueHint: \"wait\",\n },\n // TODO icon: 'slot',\n },\n },\n defaultValue: [\n {\n title: \"Applied\",\n description: \"Application has been submitted.\",\n },\n {\n title: \"In Review\",\n description: \"Application is being reviewed.\",\n },\n {\n title: \"Closed\",\n description: \"Final decision on the application.\",\n },\n ],\n },\n current: {\n type: \"number\",\n displayName: \"Current step\",\n defaultValue: 1,\n },\n size: {\n type: \"choice\",\n options: [\"small\", \"default\"],\n description: \"Set the size of steps\",\n defaultValueHint: \"default\",\n },\n direction: {\n type: \"choice\",\n options: [\"horizontal\", \"vertical\"],\n description: \"Direction of steps\",\n defaultValueHint: \"horizontal\",\n },\n progressDot: {\n type: \"boolean\",\n displayName: \"Dot style\",\n },\n status: {\n displayName: \"Status of current step\",\n type: \"choice\",\n options: statusOptions,\n defaultValueHint: \"process\",\n },\n type: {\n type: \"choice\",\n options: [\"default\", \"navigation\", \"inline\"],\n defaultValueHint: \"default\",\n },\n percent: {\n advanced: true,\n type: \"number\",\n description: \"Number between 0 to 100\",\n },\n responsive: {\n advanced: true,\n type: \"boolean\",\n description: \"Change to vertical when screen narrower than 532px\",\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [\n {\n name: \"step\",\n type: \"number\",\n },\n ],\n },\n },\n states: {\n current: {\n type: \"writable\",\n valueProp: \"current\",\n onChangeProp: \"onChange\",\n variableType: \"number\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerSteps\",\n importName: \"AntdSteps\",\n });\n}\n","import { Switch } from \"antd\";\nimport React from \"react\";\nimport { switchComponentName } from \"./names\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport function AntdSwitch(props: React.ComponentProps<typeof Switch>) {\n return <Switch {...props} />;\n}\nAntdSwitch.__plasmicFormFieldMeta = { valueProp: \"checked\" };\n\nexport function registerSwitch(loader?: Registerable) {\n registerComponentHelper(loader, AntdSwitch, {\n name: switchComponentName,\n displayName: \"Switch\",\n props: {\n checked: {\n type: \"boolean\",\n editOnly: true,\n uncontrolledProp: \"defaultChecked\",\n description: \"Whether the switch is toggled on\",\n defaultValueHint: false,\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n disabled: {\n type: \"boolean\",\n description: \"If switch is disabled\",\n defaultValueHint: false,\n },\n autoFocus: {\n type: \"boolean\",\n description: \"If get focus when component mounted\",\n defaultValueHint: false,\n advanced: true,\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"checked\", type: \"boolean\" }],\n } as any,\n },\n states: {\n checked: {\n type: \"writable\",\n valueProp: \"checked\",\n onChangeProp: \"onChange\",\n variableType: \"boolean\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerSwitch\",\n importName: \"AntdSwitch\",\n });\n}\n","import { Table } from \"antd\";\nimport type { TableRowSelection } from \"antd/es/table/interface\";\nimport React from \"react\";\nimport { asArray, Registerable, registerComponentHelper } from \"./utils\";\n\nexport interface TableRef {\n selectRowByKey: (key: string) => void;\n selectRowByIndex: (index: number) => void;\n selectRowsByKeys: (keys: string[]) => void;\n selectRowsByIndexes: (indexs: number[]) => void;\n clearSelection: () => void;\n}\n\nexport const AntdTable = React.forwardRef(function AntdTable(\n props: React.ComponentProps<typeof Table> & {\n data: any;\n rowKey?: string;\n isSelectable?: undefined | \"single\" | \"multiple\";\n selectedRowKeys?: string[];\n defaultSelectedRowKeys?: string[];\n onSelectedRowKeysChange?: (keys: string[]) => void;\n onSelectedRowsChange?: (rows: any[]) => void;\n setControlContextData?: (ctx: any) => void;\n },\n ref: React.Ref<TableRef>\n) {\n const {\n data,\n onSelectedRowKeysChange,\n onSelectedRowsChange,\n isSelectable,\n rowKey,\n setControlContextData,\n selectedRowKeys,\n defaultSelectedRowKeys,\n ...rest\n } = props;\n setControlContextData?.(data);\n\n const isControlled = !!selectedRowKeys;\n const [uncontrolledSelectedRowKeys, setUncontrolledSelectedRowKeys] =\n React.useState<string[]>(defaultSelectedRowKeys ?? []);\n const selection: TableRowSelection<any> | undefined =\n isSelectable && rowKey\n ? {\n onChange: (rowKeys, rows) => {\n onSelectedRowsChange?.(rows);\n onSelectedRowKeysChange?.(rowKeys as string[]);\n },\n type: isSelectable === \"single\" ? \"radio\" : \"checkbox\",\n selectedRowKeys: isControlled\n ? asArray(selectedRowKeys)\n : uncontrolledSelectedRowKeys,\n }\n : undefined;\n\n React.useImperativeHandle(\n ref,\n () => ({\n selectRowByIndex(index: number) {\n if (data.data && rowKey) {\n const row = data.data[index];\n const rows = row ? [row] : [];\n this._setSelectedRows(rows);\n }\n },\n selectRowsByIndexes(indexes: number[]) {\n if (data.data && rowKey) {\n const rows = indexes.map((x) => data.data[x]).filter((x) => !!x);\n this._setSelectedRows(rows);\n }\n },\n selectRowByKey(key: string) {\n if (data.data && rowKey) {\n const rows = data.data.filter((r: any) => r[rowKey] === key);\n this._setSelectedRows(rows);\n }\n },\n selectRowsByKeys(keys: string[]) {\n if (data.data && rowKey) {\n const rows = data.data.filter((r: any) => keys.includes(r[rowKey]));\n this._setSelectedRows(rows);\n }\n },\n clearSelection() {\n this._setSelectedRows([]);\n },\n _setSelectedRows(rows: any[]) {\n onSelectedRowsChange?.(rows);\n if (rowKey) {\n onSelectedRowKeysChange?.(rows.map((r) => r[rowKey]));\n }\n if (!isControlled) {\n setUncontrolledSelectedRowKeys(rows.map((r) => r[rowKey!]));\n }\n },\n }),\n [data, onSelectedRowKeysChange, onSelectedRowsChange, isSelectable, rowKey]\n );\n return (\n <Table\n loading={data?.isLoading}\n dataSource={data?.data}\n rowSelection={selection}\n rowKey={rowKey}\n {...rest}\n />\n );\n});\n\nexport const AntdColumnGroup = Table.ColumnGroup;\nexport const AntdColumn = Table.Column;\n\n/** @deprecated Use the Table component from plasmic-rich-components instead */\nexport function registerTable(loader?: Registerable) {\n registerComponentHelper(loader, AntdTable, {\n name: \"plasmic-antd5-table\",\n displayName: \"Table (deprecated)\",\n props: {\n data: {\n type: \"dataSourceOpData\" as any,\n displayName: \"Data\",\n },\n children: {\n type: \"slot\",\n allowedComponents: [\n \"plasmic-antd5-table-column\",\n \"plasmic-antd5-table-column-group\",\n ],\n },\n bordered: {\n type: \"boolean\",\n defaultValueHint: false,\n advanced: true,\n },\n isSelectable: {\n type: \"choice\",\n options: [\"single\", \"multiple\"],\n displayName: \"Select rows?\",\n },\n rowKey: {\n type: \"choice\",\n options: (ps, ctx: any) => {\n if (ctx.schema) {\n return ctx.schema.fields.map((f: any) => ({\n value: f.id,\n label: f.label || f.id,\n }));\n }\n return [];\n },\n hidden: (ps) => !ps.isSelectable,\n },\n selectedRowKeys: {\n type: \"choice\",\n multiSelect: (ps) => ps.isSelectable === \"multiple\",\n options: (ps, ctx: any) => {\n const key = ps.rowKey;\n if (key && ctx.data) {\n return ctx.data.map((r: any) => r[key]);\n }\n return [];\n },\n hidden: (ps) => !ps.rowKey,\n },\n onSelectedRowKeysChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"keys\", type: \"object\" }],\n hidden: (ps) => !ps.isSelectable,\n },\n onSelectedRowsChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"rows\", type: \"object\" }],\n hidden: (ps) => !ps.isSelectable,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerTable\",\n importName: \"AntdTable\",\n states: {\n selectedRowKeys: {\n type: \"writable\",\n valueProp: \"selectedRowKeys\",\n onChangeProp: \"onSelectedRowKeysChange\",\n variableType: \"array\",\n },\n // selectedRows: {\n // type: \"readonly\",\n // onChangeProp: \"onSelectedRowsChange\",\n // },\n },\n refActions: {\n selectRowByIndex: {\n displayName: \"Select row by index\",\n argTypes: [\n {\n name: \"index\",\n displayName: \"Index\",\n type: \"number\",\n },\n ],\n },\n selectRowByKey: {\n displayName: \"Select row by key\",\n argTypes: [\n {\n name: \"key\",\n displayName: \"Row key\",\n type: \"string\",\n },\n ],\n },\n },\n });\n\n registerComponentHelper(loader, AntdColumn, {\n name: \"plasmic-antd5-table-column\",\n displayName: \"Column\",\n parentComponentName: \"plasmic-antd5-table\",\n props: {\n title: {\n type: \"slot\",\n defaultValue: \"Column Name\",\n },\n dataIndex: {\n type: \"string\",\n displayName: \"Column key\",\n },\n render: {\n type: \"slot\",\n renderPropParams: [\"cell\", \"row\", \"index\"],\n hidePlaceholder: true,\n displayName: \"Custom render\",\n },\n align: {\n type: \"choice\",\n options: [\"left\", \"right\", \"center\"],\n defaultValueHint: \"left\",\n },\n fixed: {\n type: \"choice\",\n options: [\"left\", \"right\"],\n advanced: true,\n },\n colSpan: {\n type: \"number\",\n advanced: true,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerTable\",\n importName: \"AntdColumn\",\n ...({ isRenderless: true } as any),\n });\n\n registerComponentHelper(loader, AntdColumnGroup, {\n name: \"plasmic-antd5-table-column-group\",\n displayName: \"Column Group\",\n parentComponentName: \"plasmic-antd5-table\",\n props: {\n title: {\n type: \"slot\",\n defaultValue: \"Column Group Name\",\n },\n children: {\n type: \"slot\",\n allowedComponents: [\"plasmic-antd5-table-column\"],\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerTable\",\n importName: \"AntdColumnGroup\",\n ...({ isRenderless: true } as any),\n });\n}\n","import { ActionProps } from \"@plasmicapp/host/registerComponent\";\nimport { Tabs } from \"antd\";\nimport React, { ReactElement, useMemo } from \"react\";\nimport {\n Registerable,\n registerComponentHelper,\n traverseReactEltTree,\n} from \"./utils\";\n\nexport const tabsComponentName = \"plasmic-antd5-tabs\";\nexport const tabItemComponentName = \"plasmic-antd5-tab-item\";\n\ntype TabItemType = NonNullable<\n React.ComponentProps<typeof Tabs>[\"items\"]\n>[number];\n\nexport const AntdTabItem: React.FC<TabItemType> = ({ children }) => {\n return <div>{children}</div>;\n};\n\nfunction getTabItems(items: ReactElement): React.ReactElement<TabItemType>[] {\n if (!React.isValidElement(items) && Array.isArray(items)) return [...items]; // indicates a single TabItem on repeat\n return (items?.type as any)?.name == AntdTabItem.name\n ? [items]\n : items?.props?.children?.flat(1);\n}\n\nfunction getTabItemKeys(items: ReactElement): string[] {\n const keys: string[] = [];\n traverseReactEltTree(items, (elt) => {\n if (\n (elt?.type as any)?.name === AntdTabItem.name &&\n typeof elt?.key === \"string\"\n ) {\n keys.push(`${elt.key}`);\n }\n });\n return keys;\n}\n\ntype TabsProps = Omit<\n React.ComponentProps<typeof Tabs>,\n \"items\" | \"animated\" | \"tabBarExtraContent\" | \"renderTabBar\"\n> & {\n items: ReactElement;\n animated: boolean;\n animateTabBar: boolean;\n animateTabContent: boolean;\n tabBarExtraContentLeft: React.ReactNode;\n tabBarExtraContentRight: React.ReactNode;\n sticky: boolean;\n stickyOffset: number;\n tabBarBackground: string;\n tabsScopeClassName?: string;\n tabsDropdownScopeClassName?: string;\n};\n\nexport function AntdTabs(props: TabsProps) {\n const {\n items: itemsRaw,\n animated,\n animateTabBar,\n animateTabContent,\n tabBarExtraContentLeft,\n tabBarExtraContentRight,\n sticky,\n stickyOffset,\n tabBarBackground,\n className,\n tabPosition,\n tabsScopeClassName,\n tabsDropdownScopeClassName,\n ...rest\n } = props;\n const animationProp: React.ComponentProps<typeof Tabs>[\"animated\"] = useMemo(\n () =>\n animated\n ? {\n inkBar: animateTabBar,\n tabPane: animateTabContent,\n }\n : false,\n [animateTabBar, animateTabContent, animated]\n );\n const items: TabItemType[] = useMemo(() => {\n const tabItems = getTabItems(itemsRaw);\n return tabItems\n .map((currentItem) => {\n return {\n ...currentItem.props,\n key: currentItem.key,\n children: <>{currentItem.props?.children}</>,\n };\n })\n .filter((i) => i != null) as TabItemType[];\n }, [itemsRaw]);\n\n return (\n <Tabs\n className={`${className} ${tabsScopeClassName}`}\n popupClassName={tabsDropdownScopeClassName}\n tabBarExtraContent={{\n left: <>{tabBarExtraContentLeft}</>,\n right: <>{tabBarExtraContentRight}</>,\n }}\n tabPosition={tabPosition}\n /**\n * CAUTION: sticky tab-bars are only supported for tabPosition top.\n * In component metadata, I have specified that sticky prop is hidden when tabPosition !== \"top\".\n * however, and that's where the caution is, that does not mean that any previously set value of sticky is destroyed. It stays there, but just the prop is hidden from the Settings side menu in Plasmic Studio.\n *\n * Which is why I have to also check the tabPosition here. And that's redundant.\n */\n renderTabBar={\n sticky && tabPosition === \"top\"\n ? (tabBarProps, DefaultTabBar) => (\n <div\n style={{\n zIndex: 1,\n position: \"sticky\",\n top: stickyOffset || 0,\n }}\n >\n <DefaultTabBar\n {...tabBarProps}\n style={{ backgroundColor: tabBarBackground }}\n />\n </div>\n )\n : undefined\n }\n animated={animationProp}\n items={items}\n {...rest}\n />\n );\n}\n\n// function NavigateTabs({ componentProps, studioOps }: ActionProps<any>) {\n// const tabPanes: string[] = getTabItemKeys(componentProps.items);\n// const buttonStyle = {\n// width: \"100%\",\n// borderColor: \"#f3f3f2\",\n// borderRadius: 6,\n// fontSize: 12,\n// };\n// const activeKey = componentProps.activeKey;\n// const currTabPos = activeKey\n// ? tabPanes.findIndex((tabKey) => {\n// return tabKey === activeKey;\n// })\n// : 0;\n\n// return (\n// <div\n// style={{\n// width: \"100%\",\n// display: \"flex\",\n// flexDirection: \"row\",\n// gap: \"4px\",\n// justifyContent: \"space-between\",\n// }}\n// >\n// <Button\n// style={buttonStyle}\n// onClick={() => {\n// if (tabPanes.length > 0) {\n// const prevTabPos =\n// (currTabPos - 1 + tabPanes.length) % tabPanes.length;\n// studioOps.updateProps({ activeKey: tabPanes[prevTabPos] });\n// }\n// }}\n// >\n// Prev tab\n// </Button>\n// <Button\n// style={buttonStyle}\n// onClick={() => {\n// if (tabPanes.length > 0) {\n// const nextTabPos = (currTabPos + 1) % tabPanes.length;\n// studioOps.updateProps({ activeKey: tabPanes[nextTabPos] });\n// }\n// }}\n// >\n// Next tab\n// </Button>\n// </div>\n// );\n// }\n\nfunction OutlineMessage() {\n return <div>* To re-arrange tab panes, use the Outline panel</div>;\n}\n\nexport function registerTabs(loader?: Registerable) {\n registerComponentHelper(loader, AntdTabs, {\n name: tabsComponentName,\n displayName: \"Tabs\",\n defaultStyles: {\n width: \"stretch\",\n overflow: \"scroll\",\n },\n props: {\n activeKey: {\n editOnly: true,\n displayName: \"Active tab key\",\n uncontrolledProp: \"defaultActiveKey\",\n type: \"choice\",\n description: `Initial active tab's key`,\n options: (ps) => getTabItemKeys(ps.items),\n },\n animated: {\n type: \"boolean\",\n defaultValue: true,\n description: \"Change tabs with animation\",\n },\n animateTabBar: {\n type: \"boolean\",\n defaultValue: true,\n description: \"Animate the tab bar when switching tabs\",\n hidden: (ps) => !ps.animated,\n },\n animateTabContent: {\n type: \"boolean\",\n defaultValue: false,\n description: \"Fade-in tab content when switching tabs\",\n hidden: (ps) => !ps.animated,\n },\n centered: {\n type: \"boolean\",\n description: \"Center-align the tab bar\",\n },\n type: {\n type: \"choice\",\n defaultValueHint: \"line\",\n options: [\"line\", \"card\"],\n description: \"Basic style of tabs\",\n },\n items: {\n type: \"slot\",\n hidePlaceholder: true,\n allowedComponents: [tabItemComponentName],\n ...({ mergeWithParent: true } as any), // to make the tab items selectable from the components outline pane in Plasmic Studio.\n defaultValue: [\n {\n type: \"component\",\n name: tabItemComponentName,\n props: {\n key: \"1\",\n label: {\n type: \"text\",\n value: \"First Item\",\n },\n children: {\n type: \"text\",\n value: \"First Children\",\n },\n },\n },\n {\n type: \"component\",\n name: tabItemComponentName,\n props: {\n key: \"2\",\n label: {\n type: \"text\",\n value: \"Second Item\",\n },\n children: {\n type: \"text\",\n value: \"Second Children\",\n },\n },\n },\n ],\n },\n size: {\n type: \"choice\",\n defaultValueHint: \"middle\",\n options: [\"large\", \"middle\", \"small\"],\n description: \"Preset tab bar size\",\n },\n tabBarExtraContentLeft: {\n type: \"slot\",\n displayName: \"Extra content on left side\",\n hidePlaceholder: true,\n },\n tabBarExtraContentRight: {\n type: \"slot\",\n displayName: \"Extra content on right side\",\n hidePlaceholder: true,\n },\n tabBarGutter: {\n type: \"number\",\n displayName: \"Tab gap\",\n description: \"Gap (in pixels) between tabs\",\n advanced: true,\n },\n tabPosition: {\n type: \"choice\",\n defaultValueHint: \"top\",\n options: [\"top\", \"right\", \"bottom\", \"left\"],\n description: \"Position of tabs\",\n },\n destroyInactiveTabPane: {\n type: \"boolean\",\n description: `Destroy/Unmount inactive tab pane when changing tab`,\n advanced: true,\n },\n sticky: {\n type: \"boolean\",\n advanced: true,\n description: \"Stick tab bar to the top of the page when scrolling.\",\n defaultValue: false,\n hidden: (ps) => ps.tabPosition !== \"top\",\n },\n stickyOffset: {\n type: \"number\",\n advanced: true,\n description:\n \"Distance (in pixels) between the sticky tab bar and the top of the page as you scroll.\",\n hidden: (ps) => ps.tabPosition !== \"top\" || !ps.sticky,\n },\n tabBarBackground: {\n type: \"color\",\n advanced: true,\n defaultValue: \"#FFF\",\n hidden: (ps) => ps.tabPosition !== \"top\" || !ps.sticky,\n },\n tabsScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"tabs\",\n } as any,\n tabBarClassName: {\n type: \"class\",\n displayName: \"Tab bar\",\n selectors: [\n {\n selector: \":tabs.ant-tabs .ant-tabs-nav\",\n label: \"Base\",\n },\n ],\n },\n tabsDropdownScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"tabsDropdown\",\n } as any,\n tabsDropdownClassName: {\n type: \"class\",\n displayName: \"Overflow tabs menu\",\n selectors: [\n {\n selector: \":tabsDropdown.ant-tabs-dropdown .ant-tabs-dropdown-menu\",\n label: \"Base\",\n },\n ],\n },\n onChange: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"activeKey\", type: \"string\" }],\n },\n onTabClick: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [\n { name: \"tabKey\", type: \"string\" },\n { name: \"mouseEvent\", type: \"object\" },\n ],\n },\n onTabScroll: {\n type: \"eventHandler\",\n advanced: true,\n argTypes: [{ name: \"scrollInfo\", type: \"object\" }],\n },\n },\n states: {\n activeKey: {\n type: \"writable\",\n valueProp: \"activeKey\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n },\n },\n actions: [\n // {\n // type: \"custom-action\",\n // control: NavigateTabs,\n // },\n {\n type: \"button-action\",\n label: \"Add new tab\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n // Get the first positive integer that isn't already a key\n const generateNewKey = () => {\n const existingKeys = getTabItemKeys(componentProps.items);\n\n for (\n let keyCandidate = 1;\n keyCandidate <= existingKeys.length + 1;\n keyCandidate++\n ) {\n const strKey = keyCandidate.toString();\n const index = existingKeys.findIndex((k) => {\n return strKey === k;\n });\n if (index === -1) {\n return strKey;\n }\n }\n\n return undefined;\n };\n\n const tabKey = generateNewKey();\n studioOps.appendToSlot(\n {\n type: \"component\",\n name: tabItemComponentName,\n props: {\n key: tabKey,\n label: {\n type: \"text\",\n value: `Tab Label ${tabKey}`,\n },\n children: {\n type: \"text\",\n value: `Tab Children ${tabKey}`,\n },\n },\n },\n \"items\"\n );\n studioOps.updateProps({ activeKey: tabKey });\n },\n },\n {\n type: \"button-action\",\n label: \"Delete current tab\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n if (componentProps.activeKey) {\n const tabPanes = getTabItemKeys(componentProps.items);\n const activeKey = componentProps.activeKey;\n const currTabPos = tabPanes.findIndex((tabKey) => {\n return tabKey === activeKey;\n });\n\n if (currTabPos !== -1) {\n studioOps.removeFromSlotAt(currTabPos, \"items\");\n if (tabPanes.length - 1 > 0) {\n const prevTabPos =\n (currTabPos - 1 + tabPanes.length) % tabPanes.length;\n studioOps.updateProps({ activeKey: tabPanes[prevTabPos] });\n }\n }\n }\n },\n },\n {\n type: \"custom-action\",\n control: OutlineMessage,\n },\n ],\n importPath: \"@plasmicpkgs/antd5/skinny/registerTabs\",\n importName: \"AntdTabs\",\n });\n\n registerComponentHelper(loader, AntdTabItem, {\n name: tabItemComponentName,\n displayName: \"Tab Item\",\n props: {\n disabled: {\n type: \"boolean\",\n description: \"Disable this tab\",\n },\n forceRender: {\n type: \"boolean\",\n description: `Force render of content in the tab, not lazy render after clicking on the tab`,\n advanced: true,\n },\n key: {\n type: \"string\",\n description: `Unique identifier for this tab`,\n displayName: \"Tab key\",\n },\n label: {\n type: \"slot\",\n displayName: \"Tab title\",\n defaultValue: \"Tab\",\n },\n children: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerTabs\",\n importName: \"AntdTabItem\",\n parentComponentName: tabsComponentName,\n });\n}\n","import React, { ReactNode } from \"react\";\nimport { Tooltip } from \"antd\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport function AntdTooltip(\n props: React.ComponentProps<typeof Tooltip> & { titleText?: string }\n) {\n return <Tooltip {...props} title={props.title || props.titleText} />;\n}\n\nexport function registerTooltip(loader?: Registerable) {\n registerComponentHelper(loader, AntdTooltip, {\n name: \"plasmic-antd5-tooltip\",\n displayName: \"Tooltip\",\n isAttachment: true,\n props: {\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"text\",\n value: \"This text element is wrapped in a Tooltip component\",\n },\n mergeWithParent: true,\n } as any,\n overlayClassName: {\n type: \"class\",\n displayName: \"Overlay\",\n },\n titleText: {\n type: \"string\",\n displayName: \"Tooltip contents\",\n description: \"What gets shown inside the tooltip on hover\",\n defaultValue: \"Tooltip contents\",\n },\n title: {\n type: \"slot\",\n displayName: \"Tooltip contents\",\n hidePlaceholder: true,\n },\n color: {\n type: \"color\",\n description: \"Tooltip fill color\",\n },\n placement: {\n type: \"choice\",\n options: [\n \"topLeft\",\n \"top\",\n \"topRight\",\n \"leftTop\",\n \"left\",\n \"leftBottom\",\n \"rightTop\",\n \"right\",\n \"rightBottom\",\n \"bottomLeft\",\n \"bottom\",\n \"bottomRight\",\n ],\n description: \"Default placement of tooltip\",\n defaultValueHint: \"top\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerTooltip\",\n importName: \"AntdTooltip\",\n });\n}\n","import { Tree } from \"antd\";\nimport type { TreeDataNode, TreeProps } from \"antd\";\nimport React, { Key, useState } from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\nimport type { DirectoryTreeProps } from \"antd/es/tree\";\n\nfunction useMunged(props: TreeProps) {\n const [autoExpandParent, setAutoExpandParent] = useState(\n props.autoExpandParent\n );\n const munged = { ...props, autoExpandParent };\n if (!props.expandedKeys) {\n delete munged[\"expandedKeys\"];\n }\n // Currently, when you pass in defaultExpandAll, Tree internally adds *all* nodes to be expandedKeys, including leaf\n // nodes. If autoExpandParent is set, then this means it's impossible to collapse any part of the tree! Ideally, the\n // initial expandedKeys will be just parent nodes. But for now, we just do this. It's not nice because if you do\n // expect autoExpandParent behavior, it won't be there at this point. But it's a quick fix for now for the more\n // glaring issue, and what is done in the controlled demo on https://ant.design/components/tree.\n munged.onExpand = (expandedKeys, info) => {\n props.onExpand?.(expandedKeys, info);\n setAutoExpandParent(false);\n };\n return munged;\n}\n\nexport function AntdTree(props: TreeProps) {\n const munged = useMunged(props);\n return <Tree {...munged} />;\n}\n\n// AntdTree.__plasmicFormFieldMeta = {\n// valueProp: \"checkedKeys\",\n// onChangePropName: \"onChange\",\n// };\n\nexport function AntdDirectoryTree(props: DirectoryTreeProps) {\n const munged = useMunged(props);\n return <Tree.DirectoryTree {...munged} />;\n}\n\nexport interface CheckedDetails<\n TreeDataType extends TreeDataNode = TreeDataNode\n> {\n halfCheckedKeys: Key[];\n checkedNodesPositions?: {\n node: TreeDataType;\n pos: string;\n }[];\n}\n\nconst treeHelpers_ = {\n states: {\n selectedKeys: {\n onChangeArgsToValue: ((selectedKeys, _info) => {\n return selectedKeys;\n }) as TreeProps[\"onSelect\"],\n },\n selectedNodes: {\n onChangeArgsToValue: ((_selectedKeys, info) => {\n return info.selectedNodes;\n }) as TreeProps[\"onSelect\"],\n },\n expandedKeys: {\n onChangeArgsToValue: ((expandedKeys, _info) => {\n return expandedKeys;\n }) as TreeProps[\"onExpand\"],\n },\n checkedKeys: {\n onChangeArgsToValue: ((checkedKeys, _info) => {\n return checkedKeys;\n }) as TreeProps[\"onCheck\"],\n },\n checkedNodes: {\n onChangeArgsToValue: ((_checkedKeys, info) => {\n return info.checkedNodes;\n }) as TreeProps[\"onCheck\"],\n },\n checkedDetails: {\n onChangeArgsToValue: ((_checkedKeys, info) => {\n return {\n checkedNodesPositions: info.checkedNodesPositions,\n halfCheckedKeys: info.halfCheckedKeys,\n };\n }) as TreeProps[\"onCheck\"],\n },\n },\n} as const;\n\n// Work around inability to ts-ignore:\n// src/registerTree.tsx:40:14 - error TS4023: Exported variable 'treeHelpers' has or is using name 'CheckInfo' from external module \"/.../public-packages/plasmicpkgs/antd5/node_modules/rc-tree/lib/Tree\" but cannot be named.\nexport const treeHelpers = treeHelpers_ as any;\n\nexport const treeData: TreeDataNode[] = [\n {\n title: \"Node 0\",\n key: \"0\",\n children: [\n {\n title: \"Node 0-0\",\n key: \"0-0\",\n children: [\n {\n title: \"Node 0-0-0\",\n key: \"0-0-0\",\n disableCheckbox: true,\n },\n {\n title: \"Node 0-0-1\",\n key: \"0-0-1\",\n disabled: true,\n },\n {\n title: \"Node 0-0-2\",\n key: \"0-0-2\",\n },\n ],\n },\n {\n title: \"Node 0-1\",\n key: \"0-1\",\n children: [\n {\n title: \"Node 0-1-0\",\n key: \"0-1-0\",\n },\n {\n title: \"Node 0-1-1\",\n key: \"0-1-1\",\n },\n ],\n },\n ],\n },\n];\n\nfunction registerTreeHelper({\n loader,\n component,\n name,\n displayName,\n importName,\n checkableDefaultValue,\n expandActionDefaultValue,\n}: {\n loader: Registerable | undefined;\n component: typeof AntdTree;\n name: string;\n displayName: string;\n importName: string;\n checkableDefaultValue: boolean;\n expandActionDefaultValue: string | boolean;\n}) {\n registerComponentHelper(loader, component, {\n name: name,\n displayName: displayName,\n props: {\n treeData: {\n type: \"array\",\n defaultValue: treeData,\n },\n checkable: {\n type: \"boolean\",\n defaultValue: checkableDefaultValue,\n },\n selectable: {\n type: \"boolean\",\n defaultValueHint: true,\n },\n checkedKeys: {\n type: \"array\",\n editOnly: true,\n uncontrolledProp: \"defaultCheckedKeys\",\n description: \"List of checked keys.\",\n hidden: (ps) => !ps.checkable,\n },\n selectedKeys: {\n type: \"array\",\n editOnly: true,\n uncontrolledProp: \"defaultSelectedKeys\",\n description: \"List of selected keys.\",\n hidden: (ps) => !(ps.selectable ?? true),\n advanced: true,\n },\n expandedKeys: {\n type: \"array\",\n editOnly: true,\n uncontrolledProp: \"defaultExpandedKeys\",\n description: \"List of expanded keys.\",\n // hidden: (ps) => !ps.expa,\n advanced: true,\n },\n disabled: {\n type: \"boolean\",\n defaultValueHint: false,\n },\n showLine: {\n type: \"boolean\",\n defaultValueHint: false,\n },\n defaultExpandAll: {\n type: \"boolean\",\n description:\n \"Whether to automatically expand all nodes at initialization\",\n defaultValueHint: false,\n defaultValue: true,\n },\n autoExpandParent: {\n type: \"boolean\",\n description: \"Whether to automatically expand a parent node\",\n defaultValue: true,\n advanced: true,\n },\n defaultExpandParent: {\n type: \"boolean\",\n description:\n \"Whether to automatically expand a parent node at initialization\",\n defaultValueHint: false,\n advanced: true,\n },\n expandAction: {\n type: \"choice\",\n options: [\n {\n label: \"None\",\n value: false,\n },\n {\n label: \"Click\",\n value: \"click\",\n },\n {\n label: \"Double click\",\n value: \"doubleClick\",\n },\n ],\n defaultValueHint: expandActionDefaultValue,\n },\n multiple: {\n type: \"boolean\",\n defaultValueHint: false,\n description: \"Whether to allow multiple selection\",\n advanced: true,\n },\n titleRender: {\n type: \"slot\",\n hidePlaceholder: true,\n renderPropParams: [\"node\"],\n },\n // draggable: {\n // type: \"boolean\",\n // defaultValueHint: false,\n // advanced: true,\n // },\n // allowDrop: {\n // type: \"boolean\",\n // defaultValueHint: false,\n // advanced: true,\n // description: \"Whether to allow dropping on the node\",\n // },\n onSelect: {\n type: \"eventHandler\",\n argTypes: [\n { name: \"selectedKeys\", type: { type: \"array\" } },\n {\n name: \"selectedNodes\",\n type: { type: \"array\" },\n },\n ],\n },\n onCheck: {\n type: \"eventHandler\",\n argTypes: [\n { name: \"checkedKeys\", type: { type: \"array\" } },\n {\n name: \"checkDetails\",\n type: { type: \"object\" },\n },\n ],\n },\n onExpand: {\n type: \"eventHandler\",\n argTypes: [\n { name: \"expandedKeys\", type: { type: \"array\" } },\n {\n name: \"expandDetails\",\n type: { type: \"object\" },\n },\n ],\n },\n },\n states: {\n checkedKeys: {\n type: \"writable\",\n valueProp: \"checkedKeys\",\n onChangeProp: \"onCheck\",\n variableType: \"array\",\n ...treeHelpers_.states.checkedKeys,\n },\n checkedNodes: {\n type: \"readonly\",\n onChangeProp: \"onCheck\",\n variableType: \"array\",\n initVal: [],\n ...treeHelpers_.states.checkedNodes,\n },\n checkedDetails: {\n type: \"readonly\",\n onChangeProp: \"onCheck\",\n variableType: \"object\",\n initVal: {\n checkedNodesPositions: [],\n halfCheckedKeys: [],\n } as CheckedDetails,\n ...treeHelpers_.states.checkedDetails,\n },\n selectedKeys: {\n type: \"writable\",\n valueProp: \"selectedKeys\",\n onChangeProp: \"onSelect\",\n variableType: \"array\",\n ...treeHelpers_.states.selectedKeys,\n },\n selectedNodes: {\n type: \"readonly\",\n onChangeProp: \"onSelect\",\n variableType: \"array\",\n initVal: [],\n ...treeHelpers_.states.selectedNodes,\n },\n expandedKeys: {\n type: \"writable\",\n valueProp: \"expandedKeys\",\n onChangeProp: \"onExpand\",\n variableType: \"array\",\n ...treeHelpers_.states.expandedKeys,\n },\n },\n componentHelpers: {\n helpers: treeHelpers_,\n importName: \"treeHelpers\",\n importPath: \"@plasmicpkgs/antd5/skinny/registerTree\",\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerTree\",\n importName: importName,\n });\n}\n\nexport function registerTree(loader?: Registerable) {\n registerTreeHelper({\n loader,\n component: AntdTree,\n name: \"plasmic-antd5-tree\",\n displayName: \"Tree\",\n importName: \"AntdTree\",\n checkableDefaultValue: true,\n expandActionDefaultValue: false,\n });\n}\n\nexport function registerDirectoryTree(loader?: Registerable) {\n registerTreeHelper({\n loader,\n component: AntdDirectoryTree,\n name: \"plasmic-antd5-directory-tree\",\n displayName: \"Directory Tree\",\n importName: \"AntdDirectoryTree\",\n checkableDefaultValue: false,\n expandActionDefaultValue: \"click\",\n });\n}\n","import { Image, Upload } from \"antd\";\nimport type {\n UploadFile as AntdUploadFile,\n UploadChangeParam,\n UploadProps,\n} from \"antd/es/upload\";\nimport React, { useMemo, useRef, useState } from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\ninterface UploadFile {\n uid: string;\n name: string;\n size?: number;\n type?: string;\n lastModified?: number;\n contents?: string;\n status: AntdUploadFile[\"status\"];\n}\n\ninterface ExtendedUploadProps<T = any> extends UploadProps<T> {\n files?: Array<UploadFile>;\n onFilesChange?: (values: Array<UploadFile>) => void;\n dragAndDropFiles: boolean;\n}\n\nfunction getThumbUrl(file?: UploadFile): string | undefined {\n if (!file?.type?.startsWith(\"image\")) {\n return undefined;\n }\n return `data:${file.type};base64,${file.contents}`;\n}\n\nexport function UploadWrapper(props: ExtendedUploadProps) {\n const { files, dragAndDropFiles, onFilesChange, maxCount, ...rest } = props;\n const filesRef = useRef<Array<UploadFile>>(); // if multiple = true, it facilitates adding multiple files\n\n filesRef.current = files;\n\n const [previewFileId, setPreviewFileId] = useState<string>();\n const [previewOpen, setPreviewOpen] = useState(false);\n\n const handleChange = (info: UploadChangeParam) => {\n const { file } = info;\n\n if (file.status === \"removed\") {\n return;\n }\n\n const metadata = {\n uid: file.uid,\n name: file.name,\n size: file.size,\n type: file.type,\n lastModified: file.lastModified,\n };\n\n onFilesChange?.([\n ...(filesRef.current ?? []).slice(0, (maxCount || Infinity) - 1),\n {\n ...metadata,\n status: \"uploading\",\n },\n ]);\n\n const reader = new FileReader();\n\n reader.onload = () => {\n if (!filesRef.current?.map((f) => f.uid).includes(metadata.uid)) {\n return;\n }\n onFilesChange?.([\n ...(filesRef.current ?? []).filter((f) => f.uid !== file.uid),\n {\n ...metadata,\n contents: (reader.result as string).replace(\n /^data:[^;]+;base64,/,\n \"\"\n ),\n status: \"done\",\n },\n ]);\n };\n\n reader.onerror = () => {\n if (!filesRef.current?.map((f) => f.uid).includes(metadata.uid)) {\n return;\n }\n onFilesChange?.([\n ...(filesRef.current ?? []).filter((f) => f.uid !== file.uid),\n {\n ...metadata,\n status: \"error\",\n },\n ]);\n };\n\n reader.readAsDataURL(info.file as any);\n };\n\n const handleRemove = (file: UploadFile) => {\n onFilesChange?.((files ?? []).filter((f) => f.uid !== file.uid));\n };\n\n const handlePreview = async (file: AntdUploadFile) => {\n setPreviewFileId(files?.filter((f) => file.uid === f.uid)[0]?.uid);\n setPreviewOpen(true);\n };\n\n const handleCancel = () => setPreviewFileId(undefined);\n\n const previewFile = useMemo(\n () => files?.filter((f) => previewFileId === f.uid)[0],\n [files, previewFileId]\n );\n\n const UploadComponent = useMemo(\n () => (dragAndDropFiles ? Upload.Dragger : Upload),\n [dragAndDropFiles]\n );\n\n return (\n <>\n <UploadComponent\n {...rest}\n fileList={files?.map((f) => ({\n ...f,\n thumbUrl: getThumbUrl(f),\n }))}\n onPreview={handlePreview}\n beforeUpload={() => {\n return false;\n }}\n onChange={(info) => {\n handleChange(info);\n }}\n onRemove={(file) => {\n handleRemove(file as UploadFile);\n }}\n />\n\n {previewFile && (\n <Image\n wrapperStyle={{ display: \"none\" }}\n preview={{\n visible: previewOpen,\n onVisibleChange: (visible) => setPreviewOpen(visible),\n afterOpenChange: (visible) => !visible && handleCancel(),\n }}\n alt={previewFile?.name}\n src={getThumbUrl(previewFile)}\n />\n )}\n </>\n );\n}\n\nUploadWrapper.__plasmicFormFieldMeta = {\n valueProp: \"files\",\n onChangeProp: \"onFilesChange\",\n};\n\nexport function registerUpload(loader?: Registerable) {\n registerComponentHelper(loader, UploadWrapper, {\n name: \"plasmic-antd5-upload\",\n displayName: \"Upload\",\n props: {\n accept: {\n type: \"choice\",\n displayName: \"Allowed types\",\n options: [\n {\n value: \"\",\n label: \"Any kind of file\",\n },\n {\n value: \"image/*\",\n label: \"Image\",\n },\n {\n value: \"video/*\",\n label: \"Video\",\n },\n {\n value: \"audio/*\",\n label: \"Audio\",\n },\n {\n value: \"application/pdf\",\n label: \"PDF\",\n },\n ],\n defaultValue: \"\",\n },\n listType: {\n type: \"choice\",\n options: [\"text\", \"picture\", \"picture-card\", \"picture-circle\"],\n defaultValueHint: \"text\",\n },\n dragAndDropFiles: {\n type: \"boolean\",\n defaultValueHint: false,\n advanced: true,\n description:\n \"You can drag files to a specific area, to upload. Alternatively, you can also upload by selecting.\",\n },\n multiple: {\n type: \"boolean\",\n advanced: true,\n defaultValueHint: false,\n description: \"Upload several files at once in modern browsers\",\n },\n files: {\n type: \"object\",\n displayName: \"Files\",\n defaultValue: [],\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"component\",\n name: \"plasmic-antd5-button\",\n props: {\n children: {\n type: \"text\",\n value: \"Upload\",\n },\n },\n },\n ],\n },\n maxCount: {\n type: \"number\",\n displayName: \"Limit of files\",\n advanced: true,\n },\n onFilesChange: {\n type: \"eventHandler\",\n displayName: \"On file uploaded\",\n argTypes: [\n {\n name: \"files\",\n type: \"array\",\n },\n ],\n },\n showUploadList: {\n type: \"boolean\",\n displayName: \"List files\",\n defaultValue: true,\n },\n },\n states: {\n files: {\n type: \"writable\",\n valueProp: \"files\",\n variableType: \"array\",\n onChangeProp: \"onFilesChange\",\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n },\n ...({ trapsSelection: true } as any),\n importPath: \"@plasmicpkgs/antd5/skinny/registerUpload\",\n importName: \"UploadWrapper\",\n });\n}\n","import { InputType } from \"./form/Form\";\nimport { registerForm } from \"./form/registerForm\";\nimport { registerFormGroup } from \"./form/registerFormGroup\";\nimport { registerFormItem } from \"./form/registerFormItem\";\nimport { registerFormList } from \"./form/registerFormList\";\nimport {\n checkboxComponentName,\n inputComponentName,\n inputNumberComponentName,\n optionComponentName,\n optionGroupComponentName,\n passwordComponentName,\n radioComponentName,\n radioGroupComponentName,\n selectComponentName,\n textAreaComponentName,\n} from \"./names\";\nimport { registerAvatar, registerAvatarGroup } from \"./registerAvatar\";\nimport {\n registerBreadcrumb,\n registerBreadcrumbItem,\n} from \"./registerBreadcrumb\";\nimport { registerButton } from \"./registerButton\";\nimport { registerCheckbox } from \"./registerCheckbox\";\nimport { registerCollapse } from \"./registerCollapse\";\nimport { registerColorPicker } from \"./registerColorPicker\";\nimport {\n registerConfigProvider,\n registerTokens,\n} from \"./registerConfigProvider\";\nimport {\n datePickerComponentName,\n registerDatePicker,\n} from \"./registerDatePicker\";\nimport { registerDateRangePicker } from \"./registerDateRangePicker\";\nimport { registerDrawer } from \"./registerDrawer\";\nimport { registerDropdown } from \"./registerDropdown\";\nimport {\n registerInput,\n registerNumberInput,\n registerPasswordInput,\n registerTextArea,\n} from \"./registerInput\";\nimport { registerMenu } from \"./registerMenu\";\nimport { registerModal } from \"./registerModal\";\nimport { registerPagination } from \"./registerPagination\";\nimport { registerPopover } from \"./registerPopover\";\nimport { registerProgress } from \"./registerProgress\";\nimport { registerRadio } from \"./registerRadio\";\nimport { registerRate } from \"./registerRate\";\nimport { registerSegmented } from \"./registerSegmented\";\nimport { registerSelect } from \"./registerSelect\";\nimport { registerSlider } from \"./registerSlider\";\nimport { registerSteps } from \"./registerSteps\";\nimport { registerSwitch } from \"./registerSwitch\";\nimport { registerTable } from \"./registerTable\";\nimport { registerTabs } from \"./registerTabs\";\nimport { registerTooltip } from \"./registerTooltip\";\nimport { registerDirectoryTree, registerTree } from \"./registerTree\";\nimport { registerUpload } from \"./registerUpload\";\nimport { Registerable } from \"./utils\";\n\nexport function registerAll(loader?: Registerable) {\n registerConfigProvider(loader);\n registerTokens(loader);\n registerSelect(loader);\n registerTable(loader);\n registerCheckbox(loader);\n registerSwitch(loader);\n registerRadio(loader);\n registerModal(loader);\n registerButton(loader);\n registerMenu(loader);\n registerDropdown(loader);\n registerForm(loader);\n registerFormItem(loader);\n registerFormGroup(loader);\n registerFormList(loader);\n registerInput(loader);\n registerPasswordInput(loader);\n registerTextArea(loader);\n registerNumberInput(loader);\n registerDatePicker(loader);\n registerDateRangePicker(loader);\n registerUpload(loader);\n registerColorPicker(loader);\n registerDrawer(loader);\n registerSteps(loader);\n registerTooltip(loader);\n registerAvatar(loader);\n registerAvatarGroup(loader);\n registerTree(loader);\n registerDirectoryTree(loader);\n registerCollapse(loader);\n registerPopover(loader);\n registerTabs(loader);\n registerRate(loader);\n registerSlider(loader);\n registerSegmented(loader);\n registerProgress(loader);\n registerPagination(loader);\n registerBreadcrumb(loader);\n registerBreadcrumbItem(loader);\n}\n\nexport { FormType, InputType, OPTIMIZED_FORM_IMPORT } from \"./form/Form\";\nexport type { SimplifiedFormItemsProp } from \"./form/Form\";\nexport { formTypeDescription, registerForm } from \"./form/registerForm\";\nexport { deriveFormFieldConfigs } from \"./form/SchemaForm\";\nexport * from \"./names\";\n\nexport const componentNameToInputType = {\n [inputComponentName]: InputType.Text,\n [textAreaComponentName]: InputType.TextArea,\n [passwordComponentName]: InputType.Password,\n [inputNumberComponentName]: InputType.Number,\n [selectComponentName]: InputType.Select,\n [optionComponentName]: InputType.Option,\n [optionGroupComponentName]: InputType.OptionGroup,\n [radioComponentName]: InputType.Radio,\n [radioGroupComponentName]: InputType.RadioGroup,\n [datePickerComponentName]: InputType.DatePicker,\n [checkboxComponentName]: InputType.Checkbox,\n};\n\nexport const inputTypeToComponentName = Object.fromEntries(\n Object.entries(componentNameToInputType).map((kv) => kv.reverse())\n) as Record<InputType, string>;\n"],"names":["InputType","FormType","__objRest","values","__spreadValues","_a","__spreadProps","FormListWrapper","FormWrapper","props","commonProps","message","AntdMenu","OutlineMessage","AntdTable"],"mappings":"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"}
|