@plasmicpkgs/antd5 0.0.39 → 0.0.41

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.
@@ -1 +1 @@
1
- {"version":3,"file":"antd.esm.js","sources":["../src/utils.ts","../src/registerButton.tsx","../src/registerCheckbox.tsx","../src/registerConfigProvider.tsx","../src/registerDropdown.tsx","../src/react-utils.tsx","../src/registerForm.tsx","../src/registerMenu.tsx","../src/registerModal.tsx","../src/registerRadio.tsx","../src/registerSelect.tsx","../src/registerTable.tsx","../src/registerInput.tsx","../src/index.ts"],"sourcesContent":["import {\n ComponentMeta,\n default as registerComponent,\n} from \"@plasmicapp/host/registerComponent\";\nimport {\n GlobalContextMeta,\n default as registerGlobalContext,\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 {}>(obj: T, ...keys: (keyof T)[]): 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","import Button from \"antd/es/button\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport const AntdButton = Button;\n\nexport function registerButton(loader?: Registerable) {\n registerComponentHelper(loader, AntdButton, {\n name: \"plasmic-antd5-button\",\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: \"Can be set button shape\",\n defaultValueHint: \"default\",\n },\n disabled: {\n type: \"boolean\",\n description: \"Disabled state of button\",\n defaultValueHint: false,\n },\n ghost: {\n type: \"boolean\",\n description:\n \"Make background transparent and invert text and border colors\",\n defaultValueHint: false,\n },\n danger: {\n type: \"boolean\",\n description: \"Set the danger status of button\",\n defaultValueHint: false,\n },\n loading: {\n type: \"boolean\",\n description: \"Set the loading status of button\",\n defaultValueHint: false,\n },\n href: {\n type: \"string\",\n description: \"Redirect url of link button\",\n },\n target: {\n type: \"choice\",\n options: [\"_blank\", \"_self\", \"_parent\", \"_top\"],\n description:\n \"Same as target attribute of a, works when href is specified\",\n hidden: (props) => !props.href,\n defaultValueHint: \"_self\",\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Button\",\n },\n ],\n },\n icon: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n onClick: {\n type: \"eventHandler\",\n argTypes: [],\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerButton\",\n importName: \"AntdButton\",\n });\n}\n","import Checkbox, { CheckboxChangeEvent } from \"antd/es/checkbox\";\nimport CheckboxGroup from \"antd/es/checkbox/Group\";\nimport React from \"react\";\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}\nexport const AntdCheckboxGroup = CheckboxGroup;\n\nexport function registerCheckbox(loader?: Registerable) {\n registerComponentHelper(loader, AntdCheckbox, {\n name: \"plasmic-antd5-checkbox\",\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 },\n disabled: {\n type: \"boolean\",\n description: \"If disable checkbox\",\n defaultValueHint: false,\n },\n indeterminate: {\n type: \"boolean\",\n description: \"The indeterminate checked state of checkbox\",\n defaultValueHint: false,\n },\n value: {\n type: \"string\",\n description: \"The checkbox value\",\n advanced: true,\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 },\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 },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerCheckbox\",\n importName: \"AntdCheckbox\",\n });\n\n registerComponentHelper(loader, CheckboxGroup, {\n name: \"plasmic-antd5-checkbox-group\",\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: any) => {\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: [\"plasmic-antd5-checkbox\"],\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 },\n },\n importPath: \"@plasmicapp/antd5/skinny/registerCheckbox\",\n importName: \"AntdCheckboxGroup\",\n parentComponentName: \"plasmic-antd5-checkbox\",\n });\n}\n","import { GlobalActionsProvider } from \"@plasmicapp/host\";\nimport {\n default as registerToken,\n TokenRegistration,\n} from \"@plasmicapp/host/registerToken\";\nimport { addLoadingStateListener } from \"@plasmicapp/query\";\nimport ConfigProvider from \"antd/es/config-provider\";\nimport enUS from \"antd/es/locale/en_US\";\nimport type { MessageInstance } from \"antd/es/message/interface\";\nimport useMessage from \"antd/es/message/useMessage\";\nimport type {\n NotificationInstance,\n NotificationPlacement,\n} from \"antd/es/notification/interface\";\nimport useNotification from \"antd/es/notification/useNotification\";\nimport theme from \"antd/es/theme\";\nimport React from \"react\";\nimport { makeRegisterGlobalContext, Registerable } from \"./utils\";\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 colorInfo?: string;\n lineWidth?: number;\n borderRadius?: number;\n controlHeight?: number;\n sizeUnit?: number;\n sizeStep?: number;\n wireframe?: boolean;\n}\n\nexport function themeToAntdConfig(opts: ThemeOpts) {\n const {\n colorTextBase,\n colorPrimary,\n colorSuccess,\n colorWarning,\n colorInfo,\n fontFamily,\n fontSize,\n lineWidth,\n borderRadius,\n controlHeight,\n sizeUnit,\n sizeStep,\n wireframe,\n } = opts;\n return {\n theme: {\n token: Object.fromEntries(\n Object.entries({\n colorTextBase,\n colorPrimary,\n colorSuccess,\n colorWarning,\n colorInfo,\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 }\n) {\n const { children, themeStyles, ...rest } = props;\n return (\n <ConfigProvider\n locale={enUS}\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>{children}</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: { children?: React.ReactNode }) {\n const { children } = 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: (opts: {\n type: \"success\" | \"error\" | \"info\" | \"warning\";\n message: React.ReactNode;\n description?: React.ReactNode;\n duration?: number;\n placement?: NotificationPlacement;\n }) => {\n const { type, ...rest } = opts;\n app.notification[opts.type ?? \"info\"]({ ...rest });\n },\n hideNotifications: () => {\n app.notification.destroy();\n },\n }),\n [app]\n );\n\n if (!GlobalActionsProvider) {\n warnOutdatedDeps();\n }\n return (\n <>\n <style dangerouslySetInnerHTML={{ __html: cssStyles }} />\n {/* GlobalActionsProvider may not exist for older host */}\n {GlobalActionsProvider ? (\n <GlobalActionsProvider\n contextName=\"plasmic-antd5-config-provider\"\n actions={actions}\n >\n {children}\n </GlobalActionsProvider>\n ) : (\n children\n )}\n <GlobalLoadingIndicator />\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() {\n const app = useAppContext();\n React.useEffect(() => {\n if (addLoadingStateListener) {\n return addLoadingStateListener(\n (isLoading) => {\n if (isLoading) {\n app.message.open({\n content: \"Loading...\",\n duration: 0,\n key: `plasmic-antd5-global-loading-indicator`,\n });\n } else {\n app.message.destroy(`plasmic-antd5-global-loading-indicator`);\n }\n },\n { immediate: true }\n );\n } else {\n warnOutdatedDeps();\n return () => {};\n }\n }, [app]);\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] = useMessage();\n const [notificationApi, notificationContextHolder] = 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 },\n colorSuccess: {\n type: \"color\",\n defaultValue: \"#52c41a\",\n },\n colorWarning: {\n type: \"color\",\n defaultValue: \"#faad14\",\n },\n colorError: {\n type: \"color\",\n defaultValue: \"#ff4d4f\",\n },\n colorInfo: {\n type: \"color\",\n defaultValue: \"#1677ff\",\n },\n colorBgBase: {\n type: \"color\",\n defaultValue: \"#ffffff\",\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 wireframe: {\n type: \"boolean\",\n defaultValue: false,\n },\n themeStyles: {\n type: \"themeStyles\",\n } as any,\n },\n ...({\n unstable__globalActions: {\n showNotification: {\n displayName: \"Show notification\",\n parameters: {\n type: {\n type: \"choice\",\n options: [\"success\", \"error\", \"info\", \"warning\"],\n defaultValue: \"info\",\n },\n message: {\n type: \"string\",\n defaultValue: \"A message for you!\",\n },\n description: {\n type: \"string\",\n defaultValue: \"Would you like to learn more?\",\n },\n duration: {\n type: \"number\",\n defaultValueHint: 5,\n },\n placement: {\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 hideNotifications: {\n displayName: \"Hide notifications\",\n },\n },\n } as any),\n importPath: \"@plasmicpkgs/antd5/skinny/registerConfigProvider\",\n importName: \"AntdConfigProvider\",\n }\n);\n","import Dropdown from \"antd/es/dropdown\";\nimport Menu from \"antd/es/menu\";\nimport React from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport function AntdDropdown(\n props: Omit<React.ComponentProps<typeof Dropdown>, \"menu\" | \"overlay\"> & {\n onAction?: (key: string) => void;\n menuItems?: () => React.ReactNode;\n }\n) {\n const { children, onAction, menuItems, ...rest } = props;\n return (\n <Dropdown\n {...rest}\n overlay={() => {\n const items = menuItems?.() ?? [];\n return <Menu onClick={(event) => onAction?.(event.key)}>{items}</Menu>;\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 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 arrow: {\n type: \"boolean\",\n description: \"Whether the dropdown arrow should be visible\",\n defaultValueHint: false,\n advanced: true,\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 menuItems: {\n type: \"slot\",\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 trigger: {\n type: \"choice\",\n options: [\"click\", \"hover\", \"contextMenu\"],\n description: \"The trigger mode which executes the dropdown action\",\n defaultValueHint: \"hover\",\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 },\n onAction: {\n type: \"eventHandler\",\n argTypes: [{ name: \"key\", type: \"string\" }],\n } as any,\n },\n importPath: \"@plasmicpkgs/antd/skinny/registerDropdown\",\n importName: \"AntdDropdown\",\n });\n}\n","import classNames from \"classnames\";\nimport React 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 ? {}\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","import {\n ActionProps,\n DataProvider,\n repeatedElement,\n usePlasmicCanvasContext,\n} from \"@plasmicapp/host\";\nimport Form, { FormInstance, FormProps } from \"antd/es/form\";\nimport FormItem, { FormItemProps } from \"antd/es/form/FormItem\";\nimport FormList, {\n FormListOperation,\n FormListProps,\n} from \"antd/es/form/FormList\";\nimport { ColProps } from \"antd/es/grid/col\";\nimport equal from \"fast-deep-equal\";\nimport React, { cloneElement, isValidElement } from \"react\";\nimport { mergeProps } from \"./react-utils\";\nimport { omit, Registerable, registerComponentHelper } from \"./utils\";\n\ninterface FormWrapperProps extends FormProps {\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}\n\nconst PathContext = React.createContext<{\n relativePath: (string | number)[]; // used for form.items inside a form.list\n fullPath: (string | number)[];\n}>({ relativePath: [], fullPath: [] });\n\ninterface InternalFormInstanceContextData {\n fireOnValuesChange: () => void;\n forceRemount: () => void;\n formProps: FormProps;\n}\n\nconst InternalFormInstanceContext = React.createContext<\n InternalFormInstanceContextData | undefined\n>(undefined);\n\nconst Internal = (\n props: FormWrapperProps & {\n setRemountKey: React.Dispatch<React.SetStateAction<number>>;\n labelCol?: ColProps & { horizontalOnly?: boolean };\n wrapperCol?: ColProps & { horizontalOnly?: boolean };\n }\n) => {\n const [form] = Form.useForm();\n const values = form.getFieldsValue(true);\n const lastValue = React.useRef(values);\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 = () => {\n const values = form.getFieldsValue(true);\n if (!equal(values, lastValue.current)) {\n props.extendedOnValuesChange?.(values);\n lastValue.current = values;\n }\n };\n\n React.useEffect(() => {\n fireOnValuesChange();\n }, []);\n return (\n <InternalFormInstanceContext.Provider\n value={{\n fireOnValuesChange,\n forceRemount: () => props.setRemountKey((k) => k + 1),\n formProps: props,\n }}\n >\n <Form\n {...props}\n onValuesChange={(...args) => {\n props.onValuesChange?.(...args);\n props.extendedOnValuesChange?.(args[1]);\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 >\n {/*Remove built-in spacing on form items*/}\n <style>{`\n .ant-form-item-explain + div, .ant-form-item-margin-offset {\n display: none;\n }\n `}</style>\n {childrenNode}\n </Form>\n </InternalFormInstanceContext.Provider>\n );\n};\nexport function FormWrapper(props: FormWrapperProps) {\n const [remountKey, setRemountKey] = React.useState(0);\n return <Internal key={remountKey} {...props} setRemountKey={setRemountKey} />;\n}\n\nconst COMMON_ACTIONS = [\n {\n type: \"button-action\" as const,\n label: \"Append new Form Item\",\n onClick: ({ studioOps }: ActionProps<any>) => {\n studioOps.appendToSlot(\n {\n type: \"component\",\n name: \"plasmic-antd5-form-item\",\n },\n \"children\"\n );\n },\n },\n // {\n // type: \"button-action\" as const,\n // label: \"Append new Form 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 registerForm(loader?: Registerable) {\n const colProp = (displayName?: string, defaultValue?: {}) =>\n ({\n type: \"object\",\n displayName: displayName,\n advanced: true,\n fields: {\n span: {\n type: \"number\",\n displayName: \"Grid columns\",\n description:\n \"The number of grid columns to span (24 columns available)\",\n min: 1,\n max: 24,\n },\n offset: {\n type: \"number\",\n displayName: \"Offset columns\",\n description: \"Number of grid columns to skip from the left\",\n min: 0,\n max: 23,\n },\n horizontalOnly: {\n type: \"boolean\",\n displayName: \"Horizontal only\",\n description: \"Only apply to horizontal layout\",\n },\n },\n defaultValue: defaultValue,\n } as const);\n registerComponentHelper(loader, FormWrapper, {\n name: \"plasmic-antd5-form\",\n displayName: \"Form\",\n defaultStyles: {\n display: \"plasmic-content-layout\",\n gridRowGap: \"10px\",\n },\n props: {\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"component\",\n name: \"plasmic-antd5-form-item\",\n props: {\n label: {\n type: \"text\",\n value: \"Name\",\n },\n name: \"name\",\n children: {\n type: \"component\",\n name: \"plasmic-antd5-input\",\n },\n },\n },\n {\n type: \"component\",\n name: \"plasmic-antd5-form-item\",\n props: {\n label: {\n type: \"text\",\n value: \"Message\",\n },\n name: \"message\",\n children: {\n type: \"component\",\n name: \"plasmic-antd5-textarea\",\n },\n },\n },\n {\n type: \"component\",\n name: \"plasmic-antd5-button\",\n props: {\n children: {\n type: \"text\",\n value: \"Submit\",\n },\n },\n },\n ],\n },\n initialValues: {\n type: \"object\",\n forceRemount: true,\n } as any,\n 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 },\n labelCol: colProp(\"Label layout\", {\n span: 8,\n horizontalOnly: true,\n }),\n wrapperCol: colProp(\"Field layout\", {\n span: 16,\n horizontalOnly: true,\n }),\n colon: {\n type: \"boolean\",\n description: `Show a colon after the label by default (only for horizontal layout)`,\n defaultValueHint: true,\n advanced: true,\n },\n requiredMark: {\n displayName: \"Required/optional mark\",\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 type: \"choice\",\n options: [\"onSubmit\", \"onChange\", \"onBlur\"],\n multiSelect: true,\n defaultValueHint: [\"onChange\"],\n advanced: true,\n },\n },\n actions: COMMON_ACTIONS,\n states: {\n value: {\n type: \"readonly\",\n variableType: \"object\",\n onChangeProp: \"extendedOnValuesChange\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerForm\",\n importName: \"FormWrapper\",\n });\n}\n\ninterface FormControlContextData {\n internalFormCtx?: InternalFormInstanceContextData;\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\ninterface InternalFormItemProps extends Omit<FormItemProps, \"rules\"> {\n rules: PlasmicRule[];\n helpTextMode?: string;\n noLabel?: boolean;\n customizeProps?: (\n fieldData: CuratedFieldData,\n props: InternalFormItemProps\n ) => FormItemProps;\n setControlContextData?: (data: FormControlContextData) => void;\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: string }[];\n message?: string;\n}\n\nfunction plasmicRulesToAntdRules(plasmicRules: PlasmicRule[]) {\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: plasmicRule.message,\n });\n break;\n case \"required\":\n rules.push({\n required: true,\n message: plasmicRule.message,\n });\n break;\n case \"regex\":\n rules.push({\n pattern: new RegExp(plasmicRule.pattern ?? \"\"),\n message: plasmicRule.message,\n });\n break;\n case \"whitespace\":\n rules.push({\n whitespace: true,\n message: plasmicRule.message,\n });\n break;\n case \"min\":\n case \"max\":\n rules.push({\n [plasmicRule.ruleType]: plasmicRule.length,\n message: plasmicRule.message,\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\nconst 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\nconst 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\nfunction useFormInstanceMaybe(): FormInstance<any> | undefined {\n return Form.useFormInstance();\n}\n\nexport function FormItemWrapper(props: InternalFormItemProps) {\n const relativeFormItemName = useFormItemRelativeName(props.name);\n const fullFormItemName = useFormItemFullName(props.name);\n const rules = props.rules ? plasmicRulesToAntdRules(props.rules) : undefined;\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 internalFormCtx = React.useContext(InternalFormInstanceContext);\n const { fireOnValuesChange, forceRemount } = internalFormCtx ?? {};\n props.setControlContextData?.({\n internalFormCtx,\n });\n React.useEffect(() => {\n if (prevPropValues.current.name !== props.name) {\n forceRemount?.();\n }\n if (\n !fullFormItemName ||\n form?.getFieldValue(fullFormItemName) !==\n prevPropValues.current.initialValue\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 }, [form, props.initialValue, fullFormItemName]);\n }\n return (\n <FormItem\n {...omit(props, \"rules\")}\n label={props.noLabel ? undefined : props.label}\n name={relativeFormItemName}\n rules={rules}\n {...(props.helpTextMode === \"extra\"\n ? { extra: props.help }\n : props.helpTextMode === \"help\"\n ? // Never show validation errors in this mode, even if user didn't specify help\n { help: props.help ?? \"\" }\n : {})}\n >\n {props.customizeProps ? (\n <FormItemForwarder formItemProps={props} />\n ) : (\n props.children\n )}\n </FormItem>\n );\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 const baseProps = { ...(child.props ?? {}), ...props };\n return i === 0 && isValidElement(child)\n ? cloneElement(\n child,\n mergeProps(baseProps, formItemProps.customizeProps(data, baseProps))\n )\n : child;\n });\n}\n\nexport function registerFormItem(loader?: Registerable) {\n registerComponentHelper(loader, FormItemWrapper, {\n name: \"plasmic-antd5-form-item\",\n displayName: \"Form Item\",\n parentComponentName: \"plasmic-antd5-form\",\n props: {\n label: {\n type: \"slot\",\n defaultValue: {\n type: \"text\",\n value: \"Label\",\n },\n },\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"component\",\n name: \"plasmic-antd5-input\",\n },\n },\n name: {\n type: \"string\",\n },\n initialValue: {\n type: \"string\",\n },\n rules: {\n type: \"formValidationRules\",\n } as any,\n noLabel: {\n type: \"boolean\",\n advanced: true,\n },\n colon: {\n type: \"boolean\",\n defaultValueHint: (_ps: InternalFormItemProps, ctx: any) =>\n (ctx as FormControlContextData)?.internalFormCtx?.formProps.colon ??\n true,\n advanced: true,\n },\n labelAlign: {\n type: \"choice\",\n options: [\"left\", \"right\"],\n advanced: true,\n },\n hidden: {\n type: \"boolean\",\n advanced: true,\n },\n validateTrigger: {\n type: \"choice\",\n options: [\"onSubmit\", \"onChange\", \"onBlur\"],\n multiSelect: true,\n advanced: true,\n },\n shouldUpdate: {\n type: \"boolean\",\n advanced: true,\n displayName: \"Always re-render\",\n description:\n \"Form items 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\",\n advanced: true,\n displayName: \"Dependencies\",\n description:\n \"Form items can depend on other form items. This forces it to reevaluate the validation rules when the other form item changes.\",\n },\n helpTextMode: {\n type: \"choice\",\n displayName: \"Help text\",\n options: [\n {\n value: \"errors\",\n label: \"Validation errors\",\n },\n {\n value: \"extra\",\n label: \"Custom help text and validation errors\",\n },\n {\n value: \"help\",\n label: \"Custom help text, no validation errors\",\n },\n ],\n defaultValueHint: \"Show validation errors\",\n description:\n \"What to show in the help text. Edit help text by editing the 'help' slot in the outline.\",\n },\n help: {\n type: \"slot\",\n hidden: (ps) => ![\"extra\", \"help\"].includes(ps.helpTextMode ?? \"\"),\n hidePlaceholder: true,\n // advanced: true,\n },\n customizeProps: {\n type: \"function\",\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: any) => [\n {\n status: ctx?.status?.status,\n },\n ],\n advanced: true,\n } as any,\n noStyle: {\n type: \"boolean\",\n displayName: \"Field only\",\n description:\n \"Don't render anything but the wrapped field component - so no label, help text, validation error, etc.\",\n advanced: true,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerForm\",\n importName: \"FormItemWrapper\",\n });\n}\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\nexport function registerFormGroup(loader?: Registerable) {\n registerComponentHelper(loader, FormGroup, {\n name: \"plasmic-antd5-form-group\",\n displayName: \"Form Group\",\n parentComponentName: \"plasmic-antd5-form\",\n actions: COMMON_ACTIONS,\n props: {\n name: {\n type: \"string\",\n },\n children: {\n type: \"slot\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerForm\",\n importName: \"FormGroup\",\n });\n}\n\ntype FormListWrapperProps = FormListProps & {\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 }, [props.initialValue, 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\nexport function registerFormList(loader?: Registerable) {\n registerComponentHelper(loader, FormListWrapper, {\n name: \"plasmic-antd5-form-list\",\n parentComponentName: \"plasmic-antd5-form\",\n displayName: \"Form List\",\n actions: COMMON_ACTIONS,\n props: {\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"hbox\",\n children: [\n {\n type: \"component\",\n name: \"plasmic-antd5-form-item\",\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: \"plasmic-antd5-form-item\",\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 unstable__refActions: {\n add: {\n displayName: \"Add an item\",\n parameters: [\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 parameters: [\n {\n name: \"index\",\n displayName: \"Index\",\n type: \"number\",\n },\n ],\n },\n move: {\n displayName: \"Move field\",\n parameters: [\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/registerForm\",\n importName: \"FormListWrapper\",\n });\n}\n","import Menu from \"antd/es/menu\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport const AntdMenu = Menu;\nexport const AntdMenuDivider = Menu.Divider;\nexport const AntdMenuItem = Menu.Item;\nexport const AntdMenuItemGroup = Menu.ItemGroup;\nexport const AntdSubMenu = Menu.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\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 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 },\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 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 Modal from \"antd/es/modal\";\nimport React from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport function AntdModal(\n props: React.ComponentProps<typeof Modal> & {\n onOpenChange?: (open: boolean) => void;\n }\n) {\n const { onOpenChange, onOk, onCancel, open, footer, ...rest } = props;\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 return (\n <Modal\n {...rest}\n onOk={memoOnOk}\n onCancel={memoOnCancel}\n open={open}\n footer={footer ?? undefined}\n />\n );\n}\n\nexport function registerModal(loader?: Registerable) {\n registerComponentHelper(loader, AntdModal, {\n name: \"plasmic-antd5-modal\",\n displayName: \"Modal\",\n props: {\n open: {\n type: \"boolean\",\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 },\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: any) => !!ps.footer,\n advanced: true,\n },\n cancelText: {\n type: \"string\",\n hidden: (ps: any) => !!ps.footer,\n advanced: true,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"open\", type: \"boolean\" }],\n } as any,\n modalScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"modal\",\n } as any,\n modalClassName: {\n type: \"class\",\n displayName: \"Modal content styles\",\n noSelf: true,\n selectors: [\n {\n selector: \":modal .ant-modal .ant-modal-content\",\n label: \"Base\",\n },\n ],\n advanced: true,\n } as any,\n closeButtonClassName: {\n type: \"class\",\n displayName: \"Close button styles\",\n noSelf: true,\n selectors: [\n {\n selector: \":modal .ant-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 importPath: \"@plasmicpkgs/antd5/skinny/registerModal\",\n importName: \"AntdModal\",\n });\n}\n","import Radio, { RadioChangeEvent } from \"antd/es/radio\";\nimport RadioGroup from \"antd/es/radio/group\";\nimport RadioButton from \"antd/es/radio/radioButton\";\nimport React from \"react\";\nimport {\n Registerable,\n registerComponentHelper,\n traverseReactEltTree,\n} from \"./utils\";\n\nexport const AntdRadio = Radio;\nexport const AntdRadioButton = RadioButton;\nexport function AntdRadioGroup(\n props: Omit<React.ComponentProps<typeof RadioGroup>, \"onChange\"> & {\n onChange?: (value?: string) => void;\n }\n) {\n const { onChange, ...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 <RadioGroup {...rest} onChange={wrappedOnChange} />;\n}\n\nexport function registerRadio(loader?: Registerable) {\n registerComponentHelper(loader, AntdRadio, {\n name: \"plasmic-antd5-radio\",\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 },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerRadio\",\n importName: \"AntdRadio\",\n parentComponentName: \"plasmic-antd5-radio-group\",\n });\n registerComponentHelper(loader, AntdRadio, {\n name: \"plasmic-antd5-radio-button\",\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 },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerRadio\",\n importName: \"AntdRadioButton\",\n parentComponentName: \"plasmic-antd5-radio-group\",\n });\n\n registerComponentHelper(loader, AntdRadioGroup, {\n name: \"plasmic-antd5-radio-group\",\n displayName: \"Radio Group\",\n props: {\n value: {\n type: \"choice\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Default selected value\",\n options: (ps: any) => {\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 },\n },\n disabled: {\n type: \"boolean\",\n description: \"Disables all radios\",\n defaultValueHint: false,\n },\n children: {\n type: \"slot\",\n allowedComponents: [\n \"plasmic-antd5-radio\",\n \"plasmic-antd5-radio-button\",\n ],\n // Error right now when using default slot content with stateful instances\n // defaultValue: [\n // {\n // type: \"component\",\n // name: \"plasmic-antd5-radio\",\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 },\n },\n importPath: \"@plasmicapp/antd5/skinny/registerRadio\",\n importName: \"AntdRadioGroup\",\n });\n}\n","import Select from \"antd/es/select\";\nimport React, { ComponentProps } from \"react\";\nimport {\n Registerable,\n registerComponentHelper,\n traverseReactEltTree,\n} from \"./utils\";\n\nexport const AntdOption = Select.Option;\nexport const AntdOptionGroup = 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 {...(suffixIcon && { suffixIcon })}\n />\n );\n}\n\nexport function registerSelect(loader?: Registerable) {\n registerComponentHelper(loader, AntdSelect, {\n name: \"plasmic-antd5-select\",\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,\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\n useChildren: {\n displayName: \"Use slot\",\n type: \"boolean\",\n defaultValueHint: false,\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: [\n \"plasmic-antd5-option\",\n \"plasmic-antd5-option-group\",\n ],\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: any) => ps.mode === \"multiple\",\n options: (ps: any) => {\n const options = new Set<string>();\n if (!ps.useChildren) {\n return (ps.options ?? []).map((o: any) => ({\n value: o.value || \"\",\n label: o.label ?? (o.value || \"\"),\n }));\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 },\n mode: {\n type: \"choice\",\n options: [\"single\", \"multiple\"],\n defaultValueHint: \"single\",\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 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 tagRender: {\n type: \"slot\",\n renderPropParams: [\"tagProps\"],\n hidePlaceholder: true,\n } as any,\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerSelect\",\n importName: \"AntdSelect\",\n });\n\n registerComponentHelper(loader, AntdOption, {\n name: \"plasmic-antd5-option\",\n displayName: \"Option\",\n parentComponentName: \"plasmic-antd5-select\",\n props: {\n children: {\n type: \"slot\",\n defaultValue: \"Option\",\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: \"plasmic-antd5-option-group\",\n displayName: \"Option Group\",\n parentComponentName: \"plasmic-antd5-select\",\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 Table from \"antd/es/table\";\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 [\n uncontrolledSelectedRowKeys,\n 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\nexport function registerTable(loader?: Registerable) {\n registerComponentHelper(loader, AntdTable, {\n name: \"plasmic-antd5-table\",\n displayName: \"Table\",\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: any) => !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: any) => !ps.isSelectable,\n } as any,\n onSelectedRowsChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"rows\", type: \"object\" }],\n hidden: (ps: any) => !ps.isSelectable,\n } as any,\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 unstable__refActions: {\n selectRowByIndex: {\n displayName: \"Select row by index\",\n parameters: [\n {\n name: \"index\",\n displayName: \"Index\",\n type: \"number\",\n },\n ],\n },\n selectRowByKey: {\n displayName: \"Select row by key\",\n parameters: [\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 Input from \"antd/es/input\";\nimport InputNumber from \"antd/es/input-number\";\nimport React from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport const AntdInput = Input;\nexport const AntdTextArea = Input.TextArea;\nexport const AntdPassword = Input.Password;\nexport const AntdInputNumber = 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 },\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\nexport function registerInput(loader?: Registerable) {\n registerComponentHelper(loader, AntdInput, {\n name: \"plasmic-antd5-input\",\n displayName: \"Input\",\n props: {\n value: {\n type: \"string\",\n },\n placholder: {\n type: \"string\",\n },\n size: {\n type: \"choice\",\n options: [\"large\", \"middle\", \"small\"],\n },\n disabled: {\n type: \"boolean\",\n },\n ...COMMON_ADVANCED_PROPS,\n ...COMMON_DECORATOR_PROPS,\n ...COMMON_EVENT_HANDLERS,\n },\n states: {\n ...COMMON_STATES,\n },\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: \"plasmic-antd5-textarea\",\n parentComponentName: \"plasmic-antd5-input\",\n displayName: \"Text Area\",\n props: {\n value: {\n type: \"string\",\n },\n placholder: {\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 ...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: \"plasmic-antd5-input-password\",\n parentComponentName: \"plasmic-antd5-input\",\n displayName: \"Password Input\",\n props: {\n value: {\n type: \"string\",\n },\n placholder: {\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: \"plasmic-antd5-input-number\",\n parentComponentName: \"plasmic-antd5-input\",\n displayName: \"Number Input\",\n props: {\n value: {\n type: \"number\",\n },\n placholder: {\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 ...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 // don't need component helpers\n importPath: \"@plasmicpkgs/antd5/skinny/registerInput\",\n importName: \"AntdInputNumber\",\n });\n}\n","import { registerButton } from \"./registerButton\";\nimport { registerCheckbox } from \"./registerCheckbox\";\nimport {\n registerConfigProvider,\n registerTokens,\n} from \"./registerConfigProvider\";\nimport { registerDropdown } from \"./registerDropdown\";\nimport {\n registerForm,\n registerFormGroup,\n registerFormItem,\n registerFormList,\n} from \"./registerForm\";\nimport { registerMenu } from \"./registerMenu\";\nimport { registerModal } from \"./registerModal\";\nimport { registerRadio } from \"./registerRadio\";\nimport { registerSelect } from \"./registerSelect\";\nimport { registerTable } from \"./registerTable\";\nimport { Registerable } from \"./utils\";\nimport { registerInput, registerPasswordInput, registerTextArea, registerNumberInput } from './registerInput';\n\nexport function registerAll(loader?: Registerable) {\n registerConfigProvider(loader);\n registerTokens(loader);\n registerSelect(loader);\n registerTable(loader);\n registerCheckbox(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}\n"],"names":["__objRest","__spreadValues","__spreadProps"],"mappings":"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"}
1
+ {"version":3,"file":"antd.esm.js","sources":["../src/utils.ts","../src/registerButton.tsx","../src/registerCheckbox.tsx","../src/registerConfigProvider.tsx","../src/registerDropdown.tsx","../src/react-utils.tsx","../src/registerForm.tsx","../src/registerMenu.tsx","../src/registerModal.tsx","../src/registerRadio.tsx","../src/registerSelect.tsx","../src/registerTable.tsx","../src/registerInput.tsx","../src/index.ts"],"sourcesContent":["import {\n ComponentMeta,\n default as registerComponent,\n} from \"@plasmicapp/host/registerComponent\";\nimport {\n GlobalContextMeta,\n default as registerGlobalContext,\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 {}>(obj: T, ...keys: (keyof T)[]): 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","import Button from \"antd/es/button\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport const AntdButton = Button;\n\nexport function registerButton(loader?: Registerable) {\n registerComponentHelper(loader, AntdButton, {\n name: \"plasmic-antd5-button\",\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: \"Can be set button shape\",\n defaultValueHint: \"default\",\n },\n disabled: {\n type: \"boolean\",\n description: \"Disabled state of button\",\n defaultValueHint: false,\n },\n ghost: {\n type: \"boolean\",\n description:\n \"Make background transparent and invert text and border colors\",\n defaultValueHint: false,\n },\n danger: {\n type: \"boolean\",\n description: \"Set the danger status of button\",\n defaultValueHint: false,\n },\n loading: {\n type: \"boolean\",\n description: \"Set the loading status of button\",\n defaultValueHint: false,\n },\n href: {\n type: \"string\",\n description: \"Redirect url of link button\",\n },\n target: {\n type: \"choice\",\n options: [\"_blank\", \"_self\", \"_parent\", \"_top\"],\n description:\n \"Same as target attribute of a, works when href is specified\",\n hidden: (props) => !props.href,\n defaultValueHint: \"_self\",\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Button\",\n },\n ],\n },\n icon: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n onClick: {\n type: \"eventHandler\",\n argTypes: [],\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerButton\",\n importName: \"AntdButton\",\n });\n}\n","import Checkbox, { CheckboxChangeEvent } from \"antd/es/checkbox\";\nimport CheckboxGroup from \"antd/es/checkbox/Group\";\nimport React from \"react\";\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}\nexport const AntdCheckboxGroup = CheckboxGroup;\n\nexport function registerCheckbox(loader?: Registerable) {\n registerComponentHelper(loader, AntdCheckbox, {\n name: \"plasmic-antd5-checkbox\",\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 },\n disabled: {\n type: \"boolean\",\n description: \"If disable checkbox\",\n defaultValueHint: false,\n },\n indeterminate: {\n type: \"boolean\",\n description: \"The indeterminate checked state of checkbox\",\n defaultValueHint: false,\n },\n value: {\n type: \"string\",\n description: \"The checkbox value\",\n advanced: true,\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 },\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 },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerCheckbox\",\n importName: \"AntdCheckbox\",\n });\n\n registerComponentHelper(loader, CheckboxGroup, {\n name: \"plasmic-antd5-checkbox-group\",\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: any) => {\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: [\"plasmic-antd5-checkbox\"],\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 },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerCheckbox\",\n importName: \"AntdCheckboxGroup\",\n parentComponentName: \"plasmic-antd5-checkbox\",\n });\n}\n","import { GlobalActionsProvider } from \"@plasmicapp/host\";\nimport {\n default as registerToken,\n TokenRegistration,\n} from \"@plasmicapp/host/registerToken\";\nimport { addLoadingStateListener } from \"@plasmicapp/query\";\nimport ConfigProvider from \"antd/es/config-provider\";\nimport enUS from \"antd/es/locale/en_US\";\nimport type { MessageInstance } from \"antd/es/message/interface\";\nimport useMessage from \"antd/es/message/useMessage\";\nimport type {\n NotificationInstance,\n NotificationPlacement,\n} from \"antd/es/notification/interface\";\nimport useNotification from \"antd/es/notification/useNotification\";\nimport theme from \"antd/es/theme\";\nimport React from \"react\";\nimport { makeRegisterGlobalContext, Registerable } from \"./utils\";\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 colorInfo?: string;\n lineWidth?: number;\n borderRadius?: number;\n controlHeight?: number;\n sizeUnit?: number;\n sizeStep?: number;\n wireframe?: boolean;\n}\n\nexport function themeToAntdConfig(opts: ThemeOpts) {\n const {\n colorTextBase,\n colorPrimary,\n colorSuccess,\n colorWarning,\n colorInfo,\n fontFamily,\n fontSize,\n lineWidth,\n borderRadius,\n controlHeight,\n sizeUnit,\n sizeStep,\n wireframe,\n } = opts;\n return {\n theme: {\n token: Object.fromEntries(\n Object.entries({\n colorTextBase,\n colorPrimary,\n colorSuccess,\n colorWarning,\n colorInfo,\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 }\n) {\n const { children, themeStyles, ...rest } = props;\n return (\n <ConfigProvider\n locale={enUS}\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>{children}</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: { children?: React.ReactNode }) {\n const { children } = 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: (opts: {\n type: \"success\" | \"error\" | \"info\" | \"warning\";\n message: React.ReactNode;\n description?: React.ReactNode;\n duration?: number;\n placement?: NotificationPlacement;\n }) => {\n const { type, ...rest } = opts;\n app.notification[opts.type ?? \"info\"]({ ...rest });\n },\n hideNotifications: () => {\n app.notification.destroy();\n },\n }),\n [app]\n );\n\n if (!GlobalActionsProvider) {\n warnOutdatedDeps();\n }\n return (\n <>\n <style dangerouslySetInnerHTML={{ __html: cssStyles }} />\n {/* GlobalActionsProvider may not exist for older host */}\n {GlobalActionsProvider ? (\n <GlobalActionsProvider\n contextName=\"plasmic-antd5-config-provider\"\n actions={actions}\n >\n {children}\n </GlobalActionsProvider>\n ) : (\n children\n )}\n <GlobalLoadingIndicator />\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() {\n const app = useAppContext();\n React.useEffect(() => {\n if (addLoadingStateListener) {\n return addLoadingStateListener(\n (isLoading) => {\n if (isLoading) {\n app.message.open({\n content: \"Loading...\",\n duration: 0,\n key: `plasmic-antd5-global-loading-indicator`,\n });\n } else {\n app.message.destroy(`plasmic-antd5-global-loading-indicator`);\n }\n },\n { immediate: true }\n );\n } else {\n warnOutdatedDeps();\n return () => {};\n }\n }, [app]);\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] = useMessage();\n const [notificationApi, notificationContextHolder] = 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 },\n colorSuccess: {\n type: \"color\",\n defaultValue: \"#52c41a\",\n },\n colorWarning: {\n type: \"color\",\n defaultValue: \"#faad14\",\n },\n colorError: {\n type: \"color\",\n defaultValue: \"#ff4d4f\",\n },\n colorInfo: {\n type: \"color\",\n defaultValue: \"#1677ff\",\n },\n colorBgBase: {\n type: \"color\",\n defaultValue: \"#ffffff\",\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 wireframe: {\n type: \"boolean\",\n defaultValue: false,\n },\n themeStyles: {\n type: \"themeStyles\",\n } as any,\n },\n ...({\n unstable__globalActions: {\n showNotification: {\n displayName: \"Show notification\",\n parameters: {\n type: {\n type: \"choice\",\n options: [\"success\", \"error\", \"info\", \"warning\"],\n defaultValue: \"info\",\n },\n message: {\n type: \"string\",\n defaultValue: \"A message for you!\",\n },\n description: {\n type: \"string\",\n defaultValue: \"Would you like to learn more?\",\n },\n duration: {\n type: \"number\",\n defaultValueHint: 5,\n },\n placement: {\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 hideNotifications: {\n displayName: \"Hide notifications\",\n },\n },\n } as any),\n importPath: \"@plasmicpkgs/antd5/skinny/registerConfigProvider\",\n importName: \"AntdConfigProvider\",\n }\n);\n","import Dropdown from \"antd/es/dropdown\";\nimport Menu from \"antd/es/menu\";\nimport React from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport function AntdDropdown(\n props: Omit<React.ComponentProps<typeof Dropdown>, \"menu\" | \"overlay\"> & {\n onAction?: (key: string) => void;\n menuItems?: () => React.ReactNode;\n }\n) {\n const { children, onAction, menuItems, ...rest } = props;\n return (\n <Dropdown\n {...rest}\n overlay={() => {\n const items = menuItems?.() ?? [];\n return <Menu onClick={(event) => onAction?.(event.key)}>{items}</Menu>;\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 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 arrow: {\n type: \"boolean\",\n description: \"Whether the dropdown arrow should be visible\",\n defaultValueHint: false,\n advanced: true,\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 menuItems: {\n type: \"slot\",\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 trigger: {\n type: \"choice\",\n options: [\"click\", \"hover\", \"contextMenu\"],\n description: \"The trigger mode which executes the dropdown action\",\n defaultValueHint: \"hover\",\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 },\n onAction: {\n type: \"eventHandler\",\n argTypes: [{ name: \"key\", type: \"string\" }],\n } as any,\n },\n importPath: \"@plasmicpkgs/antd/skinny/registerDropdown\",\n importName: \"AntdDropdown\",\n });\n}\n","import classNames from \"classnames\";\nimport React 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 ? {}\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","import {\n ActionProps,\n DataProvider,\n repeatedElement,\n usePlasmicCanvasContext,\n} from \"@plasmicapp/host\";\nimport Form, { FormInstance, FormProps } from \"antd/es/form\";\nimport FormItem, { FormItemProps } from \"antd/es/form/FormItem\";\nimport FormList, {\n FormListOperation,\n FormListProps,\n} from \"antd/es/form/FormList\";\nimport { ColProps } from \"antd/es/grid/col\";\nimport equal from \"fast-deep-equal\";\nimport React, { cloneElement, isValidElement } from \"react\";\nimport { mergeProps } from \"./react-utils\";\nimport { omit, Registerable, registerComponentHelper } from \"./utils\";\n\ninterface FormWrapperProps extends FormProps {\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}\n\nconst PathContext = React.createContext<{\n relativePath: (string | number)[]; // used for form.items inside a form.list\n fullPath: (string | number)[];\n}>({ relativePath: [], fullPath: [] });\n\ninterface InternalFormInstanceContextData {\n fireOnValuesChange: () => void;\n forceRemount: () => void;\n formProps: FormProps;\n}\n\nconst InternalFormInstanceContext = React.createContext<\n InternalFormInstanceContextData | undefined\n>(undefined);\n\nconst Internal = (\n props: FormWrapperProps & {\n setRemountKey: React.Dispatch<React.SetStateAction<number>>;\n labelCol?: ColProps & { horizontalOnly?: boolean };\n wrapperCol?: ColProps & { horizontalOnly?: boolean };\n }\n) => {\n const [form] = Form.useForm();\n const values = form.getFieldsValue(true);\n const lastValue = React.useRef(values);\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 = () => {\n const values = form.getFieldsValue(true);\n if (!equal(values, lastValue.current)) {\n props.extendedOnValuesChange?.(values);\n lastValue.current = values;\n }\n };\n\n React.useEffect(() => {\n fireOnValuesChange();\n }, []);\n return (\n <InternalFormInstanceContext.Provider\n value={{\n fireOnValuesChange,\n forceRemount: () => props.setRemountKey((k) => k + 1),\n formProps: props,\n }}\n >\n <Form\n {...props}\n onValuesChange={(...args) => {\n props.onValuesChange?.(...args);\n props.extendedOnValuesChange?.(args[1]);\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 >\n {/*Remove built-in spacing on form items*/}\n <style>{`\n .ant-form-item-explain + div, .ant-form-item-margin-offset {\n display: none;\n }\n `}</style>\n {childrenNode}\n </Form>\n </InternalFormInstanceContext.Provider>\n );\n};\nexport function FormWrapper(props: FormWrapperProps) {\n const [remountKey, setRemountKey] = React.useState(0);\n return <Internal key={remountKey} {...props} setRemountKey={setRemountKey} />;\n}\n\nconst COMMON_ACTIONS = [\n {\n type: \"button-action\" as const,\n label: \"Append new Form Item\",\n onClick: ({ studioOps }: ActionProps<any>) => {\n studioOps.appendToSlot(\n {\n type: \"component\",\n name: \"plasmic-antd5-form-item\",\n },\n \"children\"\n );\n },\n },\n // {\n // type: \"button-action\" as const,\n // label: \"Append new Form 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 registerForm(loader?: Registerable) {\n const colProp = (displayName?: string, defaultValue?: {}) =>\n ({\n type: \"object\",\n displayName: displayName,\n advanced: true,\n fields: {\n span: {\n type: \"number\",\n displayName: \"Grid columns\",\n description:\n \"The number of grid columns to span (24 columns available)\",\n min: 1,\n max: 24,\n },\n offset: {\n type: \"number\",\n displayName: \"Offset columns\",\n description: \"Number of grid columns to skip from the left\",\n min: 0,\n max: 23,\n },\n horizontalOnly: {\n type: \"boolean\",\n displayName: \"Horizontal only\",\n description: \"Only apply to horizontal layout\",\n },\n },\n defaultValue: defaultValue,\n } as const);\n registerComponentHelper(loader, FormWrapper, {\n name: \"plasmic-antd5-form\",\n displayName: \"Form\",\n defaultStyles: {\n display: \"plasmic-content-layout\",\n gridRowGap: \"10px\",\n },\n props: {\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"component\",\n name: \"plasmic-antd5-form-item\",\n props: {\n label: {\n type: \"text\",\n value: \"Name\",\n },\n name: \"name\",\n children: {\n type: \"component\",\n name: \"plasmic-antd5-input\",\n },\n },\n },\n {\n type: \"component\",\n name: \"plasmic-antd5-form-item\",\n props: {\n label: {\n type: \"text\",\n value: \"Message\",\n },\n name: \"message\",\n children: {\n type: \"component\",\n name: \"plasmic-antd5-textarea\",\n },\n },\n },\n {\n type: \"component\",\n name: \"plasmic-antd5-button\",\n props: {\n children: {\n type: \"text\",\n value: \"Submit\",\n },\n },\n },\n ],\n },\n initialValues: {\n type: \"object\",\n forceRemount: true,\n } as any,\n 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 },\n labelCol: colProp(\"Label layout\", {\n span: 8,\n horizontalOnly: true,\n }),\n wrapperCol: colProp(\"Field layout\", {\n span: 16,\n horizontalOnly: true,\n }),\n colon: {\n type: \"boolean\",\n description: `Show a colon after the label by default (only for horizontal layout)`,\n defaultValueHint: true,\n advanced: true,\n },\n requiredMark: {\n displayName: \"Required/optional mark\",\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 type: \"choice\",\n options: [\"onSubmit\", \"onChange\", \"onBlur\"],\n multiSelect: true,\n defaultValueHint: [\"onChange\"],\n advanced: true,\n },\n },\n actions: COMMON_ACTIONS,\n states: {\n value: {\n type: \"readonly\",\n variableType: \"object\",\n onChangeProp: \"extendedOnValuesChange\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerForm\",\n importName: \"FormWrapper\",\n });\n}\n\ninterface FormControlContextData {\n internalFormCtx?: InternalFormInstanceContextData;\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\ninterface InternalFormItemProps extends Omit<FormItemProps, \"rules\"> {\n rules: PlasmicRule[];\n helpTextMode?: string;\n noLabel?: boolean;\n customizeProps?: (\n fieldData: CuratedFieldData,\n props: InternalFormItemProps\n ) => FormItemProps;\n setControlContextData?: (data: FormControlContextData) => void;\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: string }[];\n message?: string;\n}\n\nfunction plasmicRulesToAntdRules(plasmicRules: PlasmicRule[]) {\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: plasmicRule.message,\n });\n break;\n case \"required\":\n rules.push({\n required: true,\n message: plasmicRule.message,\n });\n break;\n case \"regex\":\n rules.push({\n pattern: new RegExp(plasmicRule.pattern ?? \"\"),\n message: plasmicRule.message,\n });\n break;\n case \"whitespace\":\n rules.push({\n whitespace: true,\n message: plasmicRule.message,\n });\n break;\n case \"min\":\n case \"max\":\n rules.push({\n [plasmicRule.ruleType]: plasmicRule.length,\n message: plasmicRule.message,\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\nconst 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\nconst 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\nfunction useFormInstanceMaybe(): FormInstance<any> | undefined {\n return Form.useFormInstance();\n}\n\nexport function FormItemWrapper(props: InternalFormItemProps) {\n const relativeFormItemName = useFormItemRelativeName(props.name);\n const fullFormItemName = useFormItemFullName(props.name);\n const rules = props.rules ? plasmicRulesToAntdRules(props.rules) : undefined;\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 internalFormCtx = React.useContext(InternalFormInstanceContext);\n const { fireOnValuesChange, forceRemount } = internalFormCtx ?? {};\n props.setControlContextData?.({\n internalFormCtx,\n });\n React.useEffect(() => {\n if (prevPropValues.current.name !== props.name) {\n forceRemount?.();\n }\n if (\n !fullFormItemName ||\n form?.getFieldValue(fullFormItemName) !==\n prevPropValues.current.initialValue\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 }, [form, props.initialValue, fullFormItemName]);\n }\n return (\n <FormItem\n {...omit(props, \"rules\")}\n label={props.noLabel ? undefined : props.label}\n name={relativeFormItemName}\n rules={rules}\n {...(props.helpTextMode === \"extra\"\n ? { extra: props.help }\n : props.helpTextMode === \"help\"\n ? // Never show validation errors in this mode, even if user didn't specify help\n { help: props.help ?? \"\" }\n : {})}\n >\n {props.customizeProps ? (\n <FormItemForwarder formItemProps={props} />\n ) : (\n props.children\n )}\n </FormItem>\n );\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 const baseProps = { ...(child.props ?? {}), ...props };\n return i === 0 && isValidElement(child)\n ? cloneElement(\n child,\n mergeProps(baseProps, formItemProps.customizeProps(data, baseProps))\n )\n : child;\n });\n}\n\nexport function registerFormItem(loader?: Registerable) {\n registerComponentHelper(loader, FormItemWrapper, {\n name: \"plasmic-antd5-form-item\",\n displayName: \"Form Item\",\n parentComponentName: \"plasmic-antd5-form\",\n props: {\n label: {\n type: \"slot\",\n defaultValue: {\n type: \"text\",\n value: \"Label\",\n },\n },\n children: {\n type: \"slot\",\n defaultValue: {\n type: \"component\",\n name: \"plasmic-antd5-input\",\n },\n },\n name: {\n type: \"string\",\n },\n initialValue: {\n type: \"string\",\n },\n rules: {\n type: \"formValidationRules\",\n } as any,\n noLabel: {\n type: \"boolean\",\n advanced: true,\n },\n colon: {\n type: \"boolean\",\n defaultValueHint: (_ps: InternalFormItemProps, ctx: any) =>\n (ctx as FormControlContextData)?.internalFormCtx?.formProps.colon ??\n true,\n advanced: true,\n },\n labelAlign: {\n type: \"choice\",\n options: [\"left\", \"right\"],\n advanced: true,\n },\n hidden: {\n type: \"boolean\",\n advanced: true,\n },\n validateTrigger: {\n type: \"choice\",\n options: [\"onSubmit\", \"onChange\", \"onBlur\"],\n multiSelect: true,\n advanced: true,\n },\n shouldUpdate: {\n type: \"boolean\",\n advanced: true,\n displayName: \"Always re-render\",\n description:\n \"Form items 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\",\n advanced: true,\n displayName: \"Dependencies\",\n description:\n \"Form items can depend on other form items. This forces it to reevaluate the validation rules when the other form item changes.\",\n },\n helpTextMode: {\n type: \"choice\",\n displayName: \"Help text\",\n options: [\n {\n value: \"errors\",\n label: \"Validation errors\",\n },\n {\n value: \"extra\",\n label: \"Custom help text and validation errors\",\n },\n {\n value: \"help\",\n label: \"Custom help text, no validation errors\",\n },\n ],\n defaultValueHint: \"Show validation errors\",\n description:\n \"What to show in the help text. Edit help text by editing the 'help' slot in the outline.\",\n },\n help: {\n type: \"slot\",\n hidden: (ps) => ![\"extra\", \"help\"].includes(ps.helpTextMode ?? \"\"),\n hidePlaceholder: true,\n // advanced: true,\n },\n customizeProps: {\n type: \"function\",\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: any) => [\n {\n status: ctx?.status?.status,\n },\n ],\n advanced: true,\n } as any,\n noStyle: {\n type: \"boolean\",\n displayName: \"Field only\",\n description:\n \"Don't render anything but the wrapped field component - so no label, help text, validation error, etc.\",\n advanced: true,\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerForm\",\n importName: \"FormItemWrapper\",\n });\n}\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\nexport function registerFormGroup(loader?: Registerable) {\n registerComponentHelper(loader, FormGroup, {\n name: \"plasmic-antd5-form-group\",\n displayName: \"Form Group\",\n parentComponentName: \"plasmic-antd5-form\",\n actions: COMMON_ACTIONS,\n props: {\n name: {\n type: \"string\",\n },\n children: {\n type: \"slot\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerForm\",\n importName: \"FormGroup\",\n });\n}\n\ntype FormListWrapperProps = FormListProps & {\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 }, [props.initialValue, 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\nexport function registerFormList(loader?: Registerable) {\n registerComponentHelper(loader, FormListWrapper, {\n name: \"plasmic-antd5-form-list\",\n parentComponentName: \"plasmic-antd5-form\",\n displayName: \"Form List\",\n actions: COMMON_ACTIONS,\n props: {\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"hbox\",\n children: [\n {\n type: \"component\",\n name: \"plasmic-antd5-form-item\",\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: \"plasmic-antd5-form-item\",\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 unstable__refActions: {\n add: {\n displayName: \"Add an item\",\n parameters: [\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 parameters: [\n {\n name: \"index\",\n displayName: \"Index\",\n type: \"number\",\n },\n ],\n },\n move: {\n displayName: \"Move field\",\n parameters: [\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/registerForm\",\n importName: \"FormListWrapper\",\n });\n}\n","import Menu from \"antd/es/menu\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport const AntdMenu = Menu;\nexport const AntdMenuDivider = Menu.Divider;\nexport const AntdMenuItem = Menu.Item;\nexport const AntdMenuItemGroup = Menu.ItemGroup;\nexport const AntdSubMenu = Menu.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\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 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 },\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 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 Modal from \"antd/es/modal\";\nimport React from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport function AntdModal(\n props: React.ComponentProps<typeof Modal> & {\n onOpenChange?: (open: boolean) => void;\n }\n) {\n const { onOpenChange, onOk, onCancel, open, footer, ...rest } = props;\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 return (\n <Modal\n {...rest}\n onOk={memoOnOk}\n onCancel={memoOnCancel}\n open={open}\n footer={footer ?? undefined}\n />\n );\n}\n\nexport function registerModal(loader?: Registerable) {\n registerComponentHelper(loader, AntdModal, {\n name: \"plasmic-antd5-modal\",\n displayName: \"Modal\",\n props: {\n open: {\n type: \"boolean\",\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 },\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: any) => !!ps.footer,\n advanced: true,\n },\n cancelText: {\n type: \"string\",\n hidden: (ps: any) => !!ps.footer,\n advanced: true,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"open\", type: \"boolean\" }],\n } as any,\n modalScopeClassName: {\n type: \"styleScopeClass\",\n scopeName: \"modal\",\n } as any,\n modalClassName: {\n type: \"class\",\n displayName: \"Modal content styles\",\n noSelf: true,\n selectors: [\n {\n selector: \":modal .ant-modal .ant-modal-content\",\n label: \"Base\",\n },\n ],\n advanced: true,\n } as any,\n closeButtonClassName: {\n type: \"class\",\n displayName: \"Close button styles\",\n noSelf: true,\n selectors: [\n {\n selector: \":modal .ant-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 importPath: \"@plasmicpkgs/antd5/skinny/registerModal\",\n importName: \"AntdModal\",\n });\n}\n","import Radio, { RadioChangeEvent } from \"antd/es/radio\";\nimport RadioGroup from \"antd/es/radio/group\";\nimport RadioButton from \"antd/es/radio/radioButton\";\nimport React from \"react\";\nimport {\n Registerable,\n registerComponentHelper,\n traverseReactEltTree,\n} from \"./utils\";\n\nexport const AntdRadio = Radio;\nexport const AntdRadioButton = RadioButton;\nexport function AntdRadioGroup(\n props: Omit<React.ComponentProps<typeof RadioGroup>, \"onChange\"> & {\n onChange?: (value?: string) => void;\n }\n) {\n const { onChange, ...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 <RadioGroup {...rest} onChange={wrappedOnChange} />;\n}\n\nexport function registerRadio(loader?: Registerable) {\n registerComponentHelper(loader, AntdRadio, {\n name: \"plasmic-antd5-radio\",\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 },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerRadio\",\n importName: \"AntdRadio\",\n parentComponentName: \"plasmic-antd5-radio-group\",\n });\n registerComponentHelper(loader, AntdRadio, {\n name: \"plasmic-antd5-radio-button\",\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 },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerRadio\",\n importName: \"AntdRadioButton\",\n parentComponentName: \"plasmic-antd5-radio-group\",\n });\n\n registerComponentHelper(loader, AntdRadioGroup, {\n name: \"plasmic-antd5-radio-group\",\n displayName: \"Radio Group\",\n props: {\n value: {\n type: \"choice\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Default selected value\",\n options: (ps: any) => {\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 },\n },\n disabled: {\n type: \"boolean\",\n description: \"Disables all radios\",\n defaultValueHint: false,\n },\n children: {\n type: \"slot\",\n allowedComponents: [\n \"plasmic-antd5-radio\",\n \"plasmic-antd5-radio-button\",\n ],\n // Error right now when using default slot content with stateful instances\n // defaultValue: [\n // {\n // type: \"component\",\n // name: \"plasmic-antd5-radio\",\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 },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerRadio\",\n importName: \"AntdRadioGroup\",\n });\n}\n","import Select from \"antd/es/select\";\nimport React, { ComponentProps } from \"react\";\nimport {\n Registerable,\n registerComponentHelper,\n traverseReactEltTree,\n} from \"./utils\";\n\nexport const AntdOption = Select.Option;\nexport const AntdOptionGroup = 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 {...(suffixIcon && { suffixIcon })}\n />\n );\n}\n\nexport function registerSelect(loader?: Registerable) {\n registerComponentHelper(loader, AntdSelect, {\n name: \"plasmic-antd5-select\",\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,\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\n useChildren: {\n displayName: \"Use slot\",\n type: \"boolean\",\n defaultValueHint: false,\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: [\n \"plasmic-antd5-option\",\n \"plasmic-antd5-option-group\",\n ],\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: any) => ps.mode === \"multiple\",\n options: (ps: any) => {\n const options = new Set<string>();\n if (!ps.useChildren) {\n return (ps.options ?? []).map((o: any) => ({\n value: o.value || \"\",\n label: o.label ?? (o.value || \"\"),\n }));\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 },\n mode: {\n type: \"choice\",\n options: [\"single\", \"multiple\"],\n defaultValueHint: \"single\",\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 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 tagRender: {\n type: \"slot\",\n renderPropParams: [\"tagProps\"],\n hidePlaceholder: true,\n } as any,\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerSelect\",\n importName: \"AntdSelect\",\n });\n\n registerComponentHelper(loader, AntdOption, {\n name: \"plasmic-antd5-option\",\n displayName: \"Option\",\n parentComponentName: \"plasmic-antd5-select\",\n props: {\n children: {\n type: \"slot\",\n defaultValue: \"Option\",\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: \"plasmic-antd5-option-group\",\n displayName: \"Option Group\",\n parentComponentName: \"plasmic-antd5-select\",\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 Table from \"antd/es/table\";\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 [\n uncontrolledSelectedRowKeys,\n 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\nexport function registerTable(loader?: Registerable) {\n registerComponentHelper(loader, AntdTable, {\n name: \"plasmic-antd5-table\",\n displayName: \"Table\",\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: any) => !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: any) => !ps.isSelectable,\n } as any,\n onSelectedRowsChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"rows\", type: \"object\" }],\n hidden: (ps: any) => !ps.isSelectable,\n } as any,\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 unstable__refActions: {\n selectRowByIndex: {\n displayName: \"Select row by index\",\n parameters: [\n {\n name: \"index\",\n displayName: \"Index\",\n type: \"number\",\n },\n ],\n },\n selectRowByKey: {\n displayName: \"Select row by key\",\n parameters: [\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 Input from \"antd/es/input\";\nimport InputNumber from \"antd/es/input-number\";\nimport React from \"react\";\nimport { Registerable, registerComponentHelper } from \"./utils\";\n\nexport const AntdInput = Input;\nexport const AntdTextArea = Input.TextArea;\nexport const AntdPassword = Input.Password;\nexport const AntdInputNumber = 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 },\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\nexport function registerInput(loader?: Registerable) {\n registerComponentHelper(loader, AntdInput, {\n name: \"plasmic-antd5-input\",\n displayName: \"Input\",\n props: {\n value: {\n type: \"string\",\n },\n placholder: {\n type: \"string\",\n },\n size: {\n type: \"choice\",\n options: [\"large\", \"middle\", \"small\"],\n },\n disabled: {\n type: \"boolean\",\n },\n ...COMMON_ADVANCED_PROPS,\n ...COMMON_DECORATOR_PROPS,\n ...COMMON_EVENT_HANDLERS,\n },\n states: {\n ...COMMON_STATES,\n },\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: \"plasmic-antd5-textarea\",\n parentComponentName: \"plasmic-antd5-input\",\n displayName: \"Text Area\",\n props: {\n value: {\n type: \"string\",\n },\n placholder: {\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 ...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: \"plasmic-antd5-input-password\",\n parentComponentName: \"plasmic-antd5-input\",\n displayName: \"Password Input\",\n props: {\n value: {\n type: \"string\",\n },\n placholder: {\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: \"plasmic-antd5-input-number\",\n parentComponentName: \"plasmic-antd5-input\",\n displayName: \"Number Input\",\n props: {\n value: {\n type: \"number\",\n },\n placholder: {\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 ...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 // don't need component helpers\n importPath: \"@plasmicpkgs/antd5/skinny/registerInput\",\n importName: \"AntdInputNumber\",\n });\n}\n","import { registerButton } from \"./registerButton\";\nimport { registerCheckbox } from \"./registerCheckbox\";\nimport {\n registerConfigProvider,\n registerTokens,\n} from \"./registerConfigProvider\";\nimport { registerDropdown } from \"./registerDropdown\";\nimport {\n registerForm,\n registerFormGroup,\n registerFormItem,\n registerFormList,\n} from \"./registerForm\";\nimport { registerMenu } from \"./registerMenu\";\nimport { registerModal } from \"./registerModal\";\nimport { registerRadio } from \"./registerRadio\";\nimport { registerSelect } from \"./registerSelect\";\nimport { registerTable } from \"./registerTable\";\nimport { Registerable } from \"./utils\";\nimport { registerInput, registerPasswordInput, registerTextArea, registerNumberInput } from './registerInput';\n\nexport function registerAll(loader?: Registerable) {\n registerConfigProvider(loader);\n registerTokens(loader);\n registerSelect(loader);\n registerTable(loader);\n registerCheckbox(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}\n"],"names":["__objRest","__spreadValues","__spreadProps"],"mappings":"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"}