@plasmicpkgs/antd5 0.0.55 → 0.0.59

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.
Files changed (67) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/antd.esm.js +2423 -1981
  3. package/dist/antd.esm.js.map +1 -1
  4. package/dist/index.d.ts +19 -0
  5. package/dist/index.js +2429 -1979
  6. package/dist/index.js.map +1 -1
  7. package/dist/registerButton.d.ts +1 -0
  8. package/dist/registerCheckbox.d.ts +7 -0
  9. package/dist/registerDropdown.d.ts +4 -1
  10. package/dist/registerForm.d.ts +34 -0
  11. package/dist/registerInput.d.ts +4 -0
  12. package/dist/registerMenu.d.ts +76 -0
  13. package/dist/registerRadio.d.ts +4 -0
  14. package/dist/registerSelect.d.ts +3 -0
  15. package/dist/registerSwitch.d.ts +11 -0
  16. package/package.json +4 -4
  17. package/skinny/registerButton.cjs.js +5 -3
  18. package/skinny/registerButton.cjs.js.map +1 -1
  19. package/skinny/registerButton.d.ts +1 -0
  20. package/skinny/registerButton.esm.js +5 -4
  21. package/skinny/registerButton.esm.js.map +1 -1
  22. package/skinny/registerCheckbox.cjs.js +13 -12
  23. package/skinny/registerCheckbox.cjs.js.map +1 -1
  24. package/skinny/registerCheckbox.d.ts +7 -0
  25. package/skinny/registerCheckbox.esm.js +12 -13
  26. package/skinny/registerCheckbox.esm.js.map +1 -1
  27. package/skinny/registerConfigProvider.cjs.js.map +1 -1
  28. package/skinny/registerConfigProvider.esm.js.map +1 -1
  29. package/skinny/registerDropdown.cjs.js +85 -38
  30. package/skinny/registerDropdown.cjs.js.map +1 -1
  31. package/skinny/registerDropdown.d.ts +4 -1
  32. package/skinny/registerDropdown.esm.js +85 -38
  33. package/skinny/registerDropdown.esm.js.map +1 -1
  34. package/skinny/registerForm.cjs.js +317 -158
  35. package/skinny/registerForm.cjs.js.map +1 -1
  36. package/skinny/registerForm.d.ts +34 -0
  37. package/skinny/registerForm.esm.js +314 -160
  38. package/skinny/registerForm.esm.js.map +1 -1
  39. package/skinny/registerInput.cjs.js +35 -21
  40. package/skinny/registerInput.cjs.js.map +1 -1
  41. package/skinny/registerInput.d.ts +4 -0
  42. package/skinny/registerInput.esm.js +32 -22
  43. package/skinny/registerInput.esm.js.map +1 -1
  44. package/skinny/registerMenu.cjs.js +74 -2
  45. package/skinny/registerMenu.cjs.js.map +1 -1
  46. package/skinny/registerMenu.d.ts +76 -0
  47. package/skinny/registerMenu.esm.js +73 -3
  48. package/skinny/registerMenu.esm.js.map +1 -1
  49. package/skinny/registerRadio.cjs.js +85 -24
  50. package/skinny/registerRadio.cjs.js.map +1 -1
  51. package/skinny/registerRadio.d.ts +4 -0
  52. package/skinny/registerRadio.esm.js +83 -25
  53. package/skinny/registerRadio.esm.js.map +1 -1
  54. package/skinny/registerSelect.cjs.js +60 -27
  55. package/skinny/registerSelect.cjs.js.map +1 -1
  56. package/skinny/registerSelect.d.ts +3 -0
  57. package/skinny/registerSelect.esm.js +58 -28
  58. package/skinny/registerSelect.esm.js.map +1 -1
  59. package/skinny/registerSwitch.cjs.js +79 -0
  60. package/skinny/registerSwitch.cjs.js.map +1 -0
  61. package/skinny/registerSwitch.d.ts +11 -0
  62. package/skinny/registerSwitch.esm.js +71 -0
  63. package/skinny/registerSwitch.esm.js.map +1 -0
  64. package/skinny/registerUpload.cjs.js +4 -3
  65. package/skinny/registerUpload.cjs.js.map +1 -1
  66. package/skinny/registerUpload.esm.js +4 -3
  67. package/skinny/registerUpload.esm.js.map +1 -1
@@ -45,7 +45,7 @@ const RadioGroup = antd.Radio.Group;
45
45
  const AntdRadio = antd.Radio;
46
46
  const AntdRadioButton = antd.Radio.Button;
47
47
  function AntdRadioGroup(props) {
48
- const _a = props, { onChange } = _a, rest = __objRest(_a, ["onChange"]);
48
+ const _a = props, { onChange, useChildren } = _a, rest = __objRest(_a, ["onChange", "useChildren"]);
49
49
  const wrappedOnChange = React__default.default.useMemo(() => {
50
50
  if (onChange) {
51
51
  return (event) => onChange(event.target.value);
@@ -53,11 +53,20 @@ function AntdRadioGroup(props) {
53
53
  return void 0;
54
54
  }
55
55
  }, [onChange]);
56
- return /* @__PURE__ */ React__default.default.createElement(RadioGroup, __spreadProps(__spreadValues({}, rest), { onChange: wrappedOnChange }));
56
+ return /* @__PURE__ */ React__default.default.createElement(
57
+ RadioGroup,
58
+ __spreadProps(__spreadValues({}, rest), {
59
+ onChange: wrappedOnChange,
60
+ options: useChildren ? void 0 : rest.options
61
+ })
62
+ );
57
63
  }
64
+ const radioComponentName = "plasmic-antd5-radio";
65
+ const radioButtonComponentName = "plasmic-antd5-radio-button";
66
+ const radioGroupComponentName = "plasmic-antd5-radio-group";
58
67
  function registerRadio(loader) {
59
68
  utils.registerComponentHelper(loader, AntdRadio, {
60
- name: "plasmic-antd5-radio",
69
+ name: radioComponentName,
61
70
  displayName: "Radio",
62
71
  props: {
63
72
  value: {
@@ -74,7 +83,7 @@ function registerRadio(loader) {
74
83
  defaultValueHint: false,
75
84
  advanced: true
76
85
  },
77
- children: {
86
+ children: __spreadValues({
78
87
  type: "slot",
79
88
  defaultValue: [
80
89
  {
@@ -82,14 +91,14 @@ function registerRadio(loader) {
82
91
  value: "Radio"
83
92
  }
84
93
  ]
85
- }
94
+ }, { mergeWithParent: true })
86
95
  },
87
96
  importPath: "@plasmicpkgs/antd5/skinny/registerRadio",
88
97
  importName: "AntdRadio",
89
- parentComponentName: "plasmic-antd5-radio-group"
98
+ parentComponentName: radioGroupComponentName
90
99
  });
91
- utils.registerComponentHelper(loader, AntdRadio, {
92
- name: "plasmic-antd5-radio-button",
100
+ utils.registerComponentHelper(loader, AntdRadioButton, {
101
+ name: radioButtonComponentName,
93
102
  displayName: "Radio Button",
94
103
  props: {
95
104
  value: {
@@ -106,7 +115,7 @@ function registerRadio(loader) {
106
115
  defaultValueHint: false,
107
116
  advanced: true
108
117
  },
109
- children: {
118
+ children: __spreadValues({
110
119
  type: "slot",
111
120
  defaultValue: [
112
121
  {
@@ -114,37 +123,81 @@ function registerRadio(loader) {
114
123
  value: "Radio"
115
124
  }
116
125
  ]
117
- }
126
+ }, { mergeWithParent: true })
118
127
  },
119
128
  importPath: "@plasmicpkgs/antd5/skinny/registerRadio",
120
129
  importName: "AntdRadioButton",
121
- parentComponentName: "plasmic-antd5-radio-group"
130
+ parentComponentName: radioGroupComponentName
122
131
  });
123
- utils.registerComponentHelper(loader, AntdRadioGroup, {
124
- name: "plasmic-antd5-radio-group",
132
+ utils.registerComponentHelper(loader, AntdRadioGroup, __spreadValues({
133
+ name: radioGroupComponentName,
125
134
  displayName: "Radio Group",
126
135
  props: {
136
+ options: {
137
+ type: "array",
138
+ hidden: (ps) => !!ps.useChildren,
139
+ itemType: {
140
+ type: "object",
141
+ nameFunc: (item) => item.label || item.value,
142
+ fields: {
143
+ value: "string",
144
+ label: "string"
145
+ }
146
+ },
147
+ defaultValue: [
148
+ {
149
+ value: "option1",
150
+ label: "Option 1"
151
+ },
152
+ {
153
+ value: "option2",
154
+ label: "Option 2"
155
+ }
156
+ ]
157
+ },
158
+ optionType: {
159
+ type: "choice",
160
+ options: [
161
+ { value: "default", label: "Radio" },
162
+ { value: "button", label: "Button" }
163
+ ],
164
+ hidden: (ps) => !!ps.useChildren,
165
+ defaultValueHint: "default"
166
+ },
127
167
  value: {
128
168
  type: "choice",
129
169
  editOnly: true,
130
170
  uncontrolledProp: "defaultValue",
131
171
  description: "Default selected value",
132
172
  options: (ps) => {
133
- const options = /* @__PURE__ */ new Set();
134
- utils.traverseReactEltTree(ps.children, (elt) => {
135
- var _a;
136
- if (typeof ((_a = elt == null ? void 0 : elt.props) == null ? void 0 : _a.value) === "string") {
137
- options.add(elt.props.value);
138
- }
139
- });
140
- return Array.from(options.keys());
141
- }
173
+ var _a;
174
+ if (ps.useChildren) {
175
+ const options = /* @__PURE__ */ new Set();
176
+ utils.traverseReactEltTree(ps.children, (elt) => {
177
+ var _a2;
178
+ if (typeof ((_a2 = elt == null ? void 0 : elt.props) == null ? void 0 : _a2.value) === "string") {
179
+ options.add(elt.props.value);
180
+ }
181
+ });
182
+ return Array.from(options.keys());
183
+ } else {
184
+ return (_a = ps.options) != null ? _a : [];
185
+ }
186
+ },
187
+ hidden: (ps) => !!ps.__plasmicFormField
142
188
  },
143
189
  disabled: {
144
190
  type: "boolean",
145
191
  description: "Disables all radios",
146
192
  defaultValueHint: false
147
193
  },
194
+ useChildren: {
195
+ displayName: "Use slot",
196
+ type: "boolean",
197
+ defaultValueHint: false,
198
+ advanced: true,
199
+ description: "Instead of configuring a list of options, customize the contents of the RadioGroup by dragging and dropping Radio in the outline/canvas, inside the 'children' slot. Lets you use any content or formatting within the Radio and RadioButton."
200
+ },
148
201
  children: {
149
202
  type: "slot",
150
203
  allowedComponents: [
@@ -190,12 +243,20 @@ function registerRadio(loader) {
190
243
  }
191
244
  },
192
245
  importPath: "@plasmicpkgs/antd5/skinny/registerRadio",
193
- importName: "AntdRadioGroup"
194
- });
246
+ importName: "AntdRadioGroup",
247
+ defaultStyles: {
248
+ layout: "hbox"
249
+ }
250
+ }, {
251
+ trapsSelection: true
252
+ }));
195
253
  }
196
254
 
197
255
  exports.AntdRadio = AntdRadio;
198
256
  exports.AntdRadioButton = AntdRadioButton;
199
257
  exports.AntdRadioGroup = AntdRadioGroup;
258
+ exports.radioButtonComponentName = radioButtonComponentName;
259
+ exports.radioComponentName = radioComponentName;
260
+ exports.radioGroupComponentName = radioGroupComponentName;
200
261
  exports.registerRadio = registerRadio;
201
262
  //# sourceMappingURL=registerRadio.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registerRadio.cjs.js","sources":["../src/registerRadio.tsx"],"sourcesContent":["import { Radio } from \"antd\";\nimport type { RadioChangeEvent } from \"antd/es/radio\";\nimport React from \"react\";\nimport {\n Registerable,\n registerComponentHelper,\n traverseReactEltTree,\n} from \"./utils\";\nconst RadioGroup = Radio.Group;\n\nexport const AntdRadio = Radio;\nexport const AntdRadioButton = Radio.Button;\nexport function AntdRadioGroup(\n props: Omit<React.ComponentProps<typeof RadioGroup>, \"onChange\"> & {\n onChange?: (value?: string) => void;\n }\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 defaultValue: [\n {\n type: \"component\",\n name: \"plasmic-antd5-radio\",\n props: {\n value: \"op1\",\n children: {\n type: \"text\",\n value: \"Option 1\",\n },\n },\n },\n {\n type: \"component\",\n name: \"plasmic-antd5-radio\",\n props: {\n value: \"op2\",\n children: {\n type: \"text\",\n value: \"Option 2\",\n },\n },\n },\n ],\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"string\" }],\n } as any,\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerRadio\",\n importName: \"AntdRadioGroup\",\n });\n}\n"],"names":["Radio","React","registerComponentHelper","traverseReactEltTree"],"mappings":"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"}
1
+ {"version":3,"file":"registerRadio.cjs.js","sources":["../src/registerRadio.tsx"],"sourcesContent":["import { Radio } from \"antd\";\nimport type { RadioChangeEvent } from \"antd/es/radio\";\nimport React from \"react\";\nimport {\n Registerable,\n registerComponentHelper,\n traverseReactEltTree,\n} from \"./utils\";\nconst RadioGroup = Radio.Group;\n\nexport const AntdRadio = Radio;\nexport const AntdRadioButton = Radio.Button;\nexport function AntdRadioGroup(\n props: Omit<React.ComponentProps<typeof RadioGroup>, \"onChange\"> & {\n onChange?: (value?: string) => void;\n useChildren?: boolean;\n }\n) {\n const { onChange, useChildren, ...rest } = props;\n const wrappedOnChange = React.useMemo(() => {\n if (onChange) {\n return (event: RadioChangeEvent) => onChange(event.target.value);\n } else {\n return undefined;\n }\n }, [onChange]);\n return (\n <RadioGroup\n {...rest}\n onChange={wrappedOnChange}\n options={useChildren ? undefined : rest.options}\n />\n );\n}\n\nexport const radioComponentName = \"plasmic-antd5-radio\";\nexport const radioButtonComponentName = \"plasmic-antd5-radio-button\";\nexport const radioGroupComponentName = \"plasmic-antd5-radio-group\";\n\nexport function registerRadio(loader?: Registerable) {\n registerComponentHelper(loader, AntdRadio, {\n name: radioComponentName,\n displayName: \"Radio\",\n props: {\n value: {\n type: \"string\",\n description: \"The radio option value\",\n },\n disabled: {\n type: \"boolean\",\n defaultValueHint: false,\n },\n autoFocus: {\n type: \"boolean\",\n description: \"If focused when first shown\",\n defaultValueHint: false,\n advanced: true,\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Radio\",\n },\n ],\n ...({ mergeWithParent: true } as any),\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerRadio\",\n importName: \"AntdRadio\",\n parentComponentName: radioGroupComponentName,\n });\n registerComponentHelper(loader, AntdRadioButton, {\n name: radioButtonComponentName,\n displayName: \"Radio Button\",\n props: {\n value: {\n type: \"string\",\n description: \"The radio option value\",\n },\n disabled: {\n type: \"boolean\",\n defaultValueHint: false,\n },\n autoFocus: {\n type: \"boolean\",\n description: \"If focused when first shown\",\n defaultValueHint: false,\n advanced: true,\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Radio\",\n },\n ],\n ...({ mergeWithParent: true } as any),\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerRadio\",\n importName: \"AntdRadioButton\",\n parentComponentName: radioGroupComponentName,\n });\n\n registerComponentHelper(loader, AntdRadioGroup, {\n name: radioGroupComponentName,\n displayName: \"Radio Group\",\n props: {\n options: {\n type: \"array\",\n hidden: (ps) => !!ps.useChildren,\n itemType: {\n type: \"object\",\n nameFunc: (item: any) => item.label || item.value,\n fields: {\n value: \"string\",\n label: \"string\",\n },\n },\n defaultValue: [\n {\n value: \"option1\",\n label: \"Option 1\",\n },\n {\n value: \"option2\",\n label: \"Option 2\",\n },\n ],\n },\n optionType: {\n type: \"choice\",\n options: [\n { value: \"default\", label: \"Radio\" },\n { value: \"button\", label: \"Button\" },\n ],\n hidden: (ps) => !!ps.useChildren,\n defaultValueHint: \"default\",\n },\n value: {\n type: \"choice\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Default selected value\",\n options: (ps: any) => {\n if (ps.useChildren) {\n const options = new Set<string>();\n traverseReactEltTree(ps.children, (elt) => {\n if (typeof elt?.props?.value === \"string\") {\n options.add(elt.props.value);\n }\n });\n return Array.from(options.keys());\n } else {\n return ps.options ?? [];\n }\n },\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n disabled: {\n type: \"boolean\",\n description: \"Disables all radios\",\n defaultValueHint: false,\n },\n useChildren: {\n displayName: \"Use slot\",\n type: \"boolean\",\n defaultValueHint: false,\n advanced: true,\n description:\n \"Instead of configuring a list of options, customize the contents of the RadioGroup by dragging and dropping Radio in the outline/canvas, inside the 'children' slot. Lets you use any content or formatting within the Radio and RadioButton.\",\n },\n children: {\n type: \"slot\",\n allowedComponents: [\n \"plasmic-antd5-radio\",\n \"plasmic-antd5-radio-button\",\n ],\n defaultValue: [\n {\n type: \"component\",\n name: \"plasmic-antd5-radio\",\n props: {\n value: \"op1\",\n children: {\n type: \"text\",\n value: \"Option 1\",\n },\n },\n },\n {\n type: \"component\",\n name: \"plasmic-antd5-radio\",\n props: {\n value: \"op2\",\n children: {\n type: \"text\",\n value: \"Option 2\",\n },\n },\n },\n ],\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"string\" }],\n } as any,\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerRadio\",\n importName: \"AntdRadioGroup\",\n defaultStyles: {\n layout: \"hbox\",\n },\n ...({\n trapsSelection: true,\n } as any),\n });\n}\n"],"names":["Radio","React","registerComponentHelper","traverseReactEltTree","_a"],"mappings":"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"}
@@ -8,6 +8,10 @@ export declare const AntdRadio: React.ForwardRefExoticComponent<import("antd").R
8
8
  export declare const AntdRadioButton: React.ForwardRefExoticComponent<import("antd/es/radio/radioButton").RadioButtonProps & React.RefAttributes<any>>;
9
9
  export declare function AntdRadioGroup(props: Omit<React.ComponentProps<typeof RadioGroup>, "onChange"> & {
10
10
  onChange?: (value?: string) => void;
11
+ useChildren?: boolean;
11
12
  }): JSX.Element;
13
+ export declare const radioComponentName = "plasmic-antd5-radio";
14
+ export declare const radioButtonComponentName = "plasmic-antd5-radio-button";
15
+ export declare const radioGroupComponentName = "plasmic-antd5-radio-group";
12
16
  export declare function registerRadio(loader?: Registerable): void;
13
17
  export {};
@@ -39,7 +39,7 @@ const RadioGroup = Radio.Group;
39
39
  const AntdRadio = Radio;
40
40
  const AntdRadioButton = Radio.Button;
41
41
  function AntdRadioGroup(props) {
42
- const _a = props, { onChange } = _a, rest = __objRest(_a, ["onChange"]);
42
+ const _a = props, { onChange, useChildren } = _a, rest = __objRest(_a, ["onChange", "useChildren"]);
43
43
  const wrappedOnChange = React.useMemo(() => {
44
44
  if (onChange) {
45
45
  return (event) => onChange(event.target.value);
@@ -47,11 +47,20 @@ function AntdRadioGroup(props) {
47
47
  return void 0;
48
48
  }
49
49
  }, [onChange]);
50
- return /* @__PURE__ */ React.createElement(RadioGroup, __spreadProps(__spreadValues({}, rest), { onChange: wrappedOnChange }));
50
+ return /* @__PURE__ */ React.createElement(
51
+ RadioGroup,
52
+ __spreadProps(__spreadValues({}, rest), {
53
+ onChange: wrappedOnChange,
54
+ options: useChildren ? void 0 : rest.options
55
+ })
56
+ );
51
57
  }
58
+ const radioComponentName = "plasmic-antd5-radio";
59
+ const radioButtonComponentName = "plasmic-antd5-radio-button";
60
+ const radioGroupComponentName = "plasmic-antd5-radio-group";
52
61
  function registerRadio(loader) {
53
62
  registerComponentHelper(loader, AntdRadio, {
54
- name: "plasmic-antd5-radio",
63
+ name: radioComponentName,
55
64
  displayName: "Radio",
56
65
  props: {
57
66
  value: {
@@ -68,7 +77,7 @@ function registerRadio(loader) {
68
77
  defaultValueHint: false,
69
78
  advanced: true
70
79
  },
71
- children: {
80
+ children: __spreadValues({
72
81
  type: "slot",
73
82
  defaultValue: [
74
83
  {
@@ -76,14 +85,14 @@ function registerRadio(loader) {
76
85
  value: "Radio"
77
86
  }
78
87
  ]
79
- }
88
+ }, { mergeWithParent: true })
80
89
  },
81
90
  importPath: "@plasmicpkgs/antd5/skinny/registerRadio",
82
91
  importName: "AntdRadio",
83
- parentComponentName: "plasmic-antd5-radio-group"
92
+ parentComponentName: radioGroupComponentName
84
93
  });
85
- registerComponentHelper(loader, AntdRadio, {
86
- name: "plasmic-antd5-radio-button",
94
+ registerComponentHelper(loader, AntdRadioButton, {
95
+ name: radioButtonComponentName,
87
96
  displayName: "Radio Button",
88
97
  props: {
89
98
  value: {
@@ -100,7 +109,7 @@ function registerRadio(loader) {
100
109
  defaultValueHint: false,
101
110
  advanced: true
102
111
  },
103
- children: {
112
+ children: __spreadValues({
104
113
  type: "slot",
105
114
  defaultValue: [
106
115
  {
@@ -108,37 +117,81 @@ function registerRadio(loader) {
108
117
  value: "Radio"
109
118
  }
110
119
  ]
111
- }
120
+ }, { mergeWithParent: true })
112
121
  },
113
122
  importPath: "@plasmicpkgs/antd5/skinny/registerRadio",
114
123
  importName: "AntdRadioButton",
115
- parentComponentName: "plasmic-antd5-radio-group"
124
+ parentComponentName: radioGroupComponentName
116
125
  });
117
- registerComponentHelper(loader, AntdRadioGroup, {
118
- name: "plasmic-antd5-radio-group",
126
+ registerComponentHelper(loader, AntdRadioGroup, __spreadValues({
127
+ name: radioGroupComponentName,
119
128
  displayName: "Radio Group",
120
129
  props: {
130
+ options: {
131
+ type: "array",
132
+ hidden: (ps) => !!ps.useChildren,
133
+ itemType: {
134
+ type: "object",
135
+ nameFunc: (item) => item.label || item.value,
136
+ fields: {
137
+ value: "string",
138
+ label: "string"
139
+ }
140
+ },
141
+ defaultValue: [
142
+ {
143
+ value: "option1",
144
+ label: "Option 1"
145
+ },
146
+ {
147
+ value: "option2",
148
+ label: "Option 2"
149
+ }
150
+ ]
151
+ },
152
+ optionType: {
153
+ type: "choice",
154
+ options: [
155
+ { value: "default", label: "Radio" },
156
+ { value: "button", label: "Button" }
157
+ ],
158
+ hidden: (ps) => !!ps.useChildren,
159
+ defaultValueHint: "default"
160
+ },
121
161
  value: {
122
162
  type: "choice",
123
163
  editOnly: true,
124
164
  uncontrolledProp: "defaultValue",
125
165
  description: "Default selected value",
126
166
  options: (ps) => {
127
- const options = /* @__PURE__ */ new Set();
128
- traverseReactEltTree(ps.children, (elt) => {
129
- var _a;
130
- if (typeof ((_a = elt == null ? void 0 : elt.props) == null ? void 0 : _a.value) === "string") {
131
- options.add(elt.props.value);
132
- }
133
- });
134
- return Array.from(options.keys());
135
- }
167
+ var _a;
168
+ if (ps.useChildren) {
169
+ const options = /* @__PURE__ */ new Set();
170
+ traverseReactEltTree(ps.children, (elt) => {
171
+ var _a2;
172
+ if (typeof ((_a2 = elt == null ? void 0 : elt.props) == null ? void 0 : _a2.value) === "string") {
173
+ options.add(elt.props.value);
174
+ }
175
+ });
176
+ return Array.from(options.keys());
177
+ } else {
178
+ return (_a = ps.options) != null ? _a : [];
179
+ }
180
+ },
181
+ hidden: (ps) => !!ps.__plasmicFormField
136
182
  },
137
183
  disabled: {
138
184
  type: "boolean",
139
185
  description: "Disables all radios",
140
186
  defaultValueHint: false
141
187
  },
188
+ useChildren: {
189
+ displayName: "Use slot",
190
+ type: "boolean",
191
+ defaultValueHint: false,
192
+ advanced: true,
193
+ description: "Instead of configuring a list of options, customize the contents of the RadioGroup by dragging and dropping Radio in the outline/canvas, inside the 'children' slot. Lets you use any content or formatting within the Radio and RadioButton."
194
+ },
142
195
  children: {
143
196
  type: "slot",
144
197
  allowedComponents: [
@@ -184,9 +237,14 @@ function registerRadio(loader) {
184
237
  }
185
238
  },
186
239
  importPath: "@plasmicpkgs/antd5/skinny/registerRadio",
187
- importName: "AntdRadioGroup"
188
- });
240
+ importName: "AntdRadioGroup",
241
+ defaultStyles: {
242
+ layout: "hbox"
243
+ }
244
+ }, {
245
+ trapsSelection: true
246
+ }));
189
247
  }
190
248
 
191
- export { AntdRadio, AntdRadioButton, AntdRadioGroup, registerRadio };
249
+ export { AntdRadio, AntdRadioButton, AntdRadioGroup, radioButtonComponentName, radioComponentName, radioGroupComponentName, registerRadio };
192
250
  //# sourceMappingURL=registerRadio.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registerRadio.esm.js","sources":["../src/registerRadio.tsx"],"sourcesContent":["import { Radio } from \"antd\";\nimport type { RadioChangeEvent } from \"antd/es/radio\";\nimport React from \"react\";\nimport {\n Registerable,\n registerComponentHelper,\n traverseReactEltTree,\n} from \"./utils\";\nconst RadioGroup = Radio.Group;\n\nexport const AntdRadio = Radio;\nexport const AntdRadioButton = Radio.Button;\nexport function AntdRadioGroup(\n props: Omit<React.ComponentProps<typeof RadioGroup>, \"onChange\"> & {\n onChange?: (value?: string) => void;\n }\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 defaultValue: [\n {\n type: \"component\",\n name: \"plasmic-antd5-radio\",\n props: {\n value: \"op1\",\n children: {\n type: \"text\",\n value: \"Option 1\",\n },\n },\n },\n {\n type: \"component\",\n name: \"plasmic-antd5-radio\",\n props: {\n value: \"op2\",\n children: {\n type: \"text\",\n value: \"Option 2\",\n },\n },\n },\n ],\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"string\" }],\n } as any,\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerRadio\",\n importName: \"AntdRadioGroup\",\n });\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registerRadio.esm.js","sources":["../src/registerRadio.tsx"],"sourcesContent":["import { Radio } from \"antd\";\nimport type { RadioChangeEvent } from \"antd/es/radio\";\nimport React from \"react\";\nimport {\n Registerable,\n registerComponentHelper,\n traverseReactEltTree,\n} from \"./utils\";\nconst RadioGroup = Radio.Group;\n\nexport const AntdRadio = Radio;\nexport const AntdRadioButton = Radio.Button;\nexport function AntdRadioGroup(\n props: Omit<React.ComponentProps<typeof RadioGroup>, \"onChange\"> & {\n onChange?: (value?: string) => void;\n useChildren?: boolean;\n }\n) {\n const { onChange, useChildren, ...rest } = props;\n const wrappedOnChange = React.useMemo(() => {\n if (onChange) {\n return (event: RadioChangeEvent) => onChange(event.target.value);\n } else {\n return undefined;\n }\n }, [onChange]);\n return (\n <RadioGroup\n {...rest}\n onChange={wrappedOnChange}\n options={useChildren ? undefined : rest.options}\n />\n );\n}\n\nexport const radioComponentName = \"plasmic-antd5-radio\";\nexport const radioButtonComponentName = \"plasmic-antd5-radio-button\";\nexport const radioGroupComponentName = \"plasmic-antd5-radio-group\";\n\nexport function registerRadio(loader?: Registerable) {\n registerComponentHelper(loader, AntdRadio, {\n name: radioComponentName,\n displayName: \"Radio\",\n props: {\n value: {\n type: \"string\",\n description: \"The radio option value\",\n },\n disabled: {\n type: \"boolean\",\n defaultValueHint: false,\n },\n autoFocus: {\n type: \"boolean\",\n description: \"If focused when first shown\",\n defaultValueHint: false,\n advanced: true,\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Radio\",\n },\n ],\n ...({ mergeWithParent: true } as any),\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerRadio\",\n importName: \"AntdRadio\",\n parentComponentName: radioGroupComponentName,\n });\n registerComponentHelper(loader, AntdRadioButton, {\n name: radioButtonComponentName,\n displayName: \"Radio Button\",\n props: {\n value: {\n type: \"string\",\n description: \"The radio option value\",\n },\n disabled: {\n type: \"boolean\",\n defaultValueHint: false,\n },\n autoFocus: {\n type: \"boolean\",\n description: \"If focused when first shown\",\n defaultValueHint: false,\n advanced: true,\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Radio\",\n },\n ],\n ...({ mergeWithParent: true } as any),\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerRadio\",\n importName: \"AntdRadioButton\",\n parentComponentName: radioGroupComponentName,\n });\n\n registerComponentHelper(loader, AntdRadioGroup, {\n name: radioGroupComponentName,\n displayName: \"Radio Group\",\n props: {\n options: {\n type: \"array\",\n hidden: (ps) => !!ps.useChildren,\n itemType: {\n type: \"object\",\n nameFunc: (item: any) => item.label || item.value,\n fields: {\n value: \"string\",\n label: \"string\",\n },\n },\n defaultValue: [\n {\n value: \"option1\",\n label: \"Option 1\",\n },\n {\n value: \"option2\",\n label: \"Option 2\",\n },\n ],\n },\n optionType: {\n type: \"choice\",\n options: [\n { value: \"default\", label: \"Radio\" },\n { value: \"button\", label: \"Button\" },\n ],\n hidden: (ps) => !!ps.useChildren,\n defaultValueHint: \"default\",\n },\n value: {\n type: \"choice\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Default selected value\",\n options: (ps: any) => {\n if (ps.useChildren) {\n const options = new Set<string>();\n traverseReactEltTree(ps.children, (elt) => {\n if (typeof elt?.props?.value === \"string\") {\n options.add(elt.props.value);\n }\n });\n return Array.from(options.keys());\n } else {\n return ps.options ?? [];\n }\n },\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n disabled: {\n type: \"boolean\",\n description: \"Disables all radios\",\n defaultValueHint: false,\n },\n useChildren: {\n displayName: \"Use slot\",\n type: \"boolean\",\n defaultValueHint: false,\n advanced: true,\n description:\n \"Instead of configuring a list of options, customize the contents of the RadioGroup by dragging and dropping Radio in the outline/canvas, inside the 'children' slot. Lets you use any content or formatting within the Radio and RadioButton.\",\n },\n children: {\n type: \"slot\",\n allowedComponents: [\n \"plasmic-antd5-radio\",\n \"plasmic-antd5-radio-button\",\n ],\n defaultValue: [\n {\n type: \"component\",\n name: \"plasmic-antd5-radio\",\n props: {\n value: \"op1\",\n children: {\n type: \"text\",\n value: \"Option 1\",\n },\n },\n },\n {\n type: \"component\",\n name: \"plasmic-antd5-radio\",\n props: {\n value: \"op2\",\n children: {\n type: \"text\",\n value: \"Option 2\",\n },\n },\n },\n ],\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"string\" }],\n } as any,\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerRadio\",\n importName: \"AntdRadioGroup\",\n defaultStyles: {\n layout: \"hbox\",\n },\n ...({\n trapsSelection: true,\n } as any),\n });\n}\n"],"names":["_a"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAM,aAAa,KAAM,CAAA,KAAA,CAAA;AAElB,MAAM,SAAY,GAAA,MAAA;AAClB,MAAM,kBAAkB,KAAM,CAAA,OAAA;AAC9B,SAAS,eACd,KAIA,EAAA;AACA,EAA2C,MAAA,EAAA,GAAA,KAAA,EAAnC,YAAU,WAlBpB,EAAA,GAkB6C,IAAT,IAAS,GAAA,SAAA,CAAA,EAAA,EAAT,CAA1B,UAAU,EAAA,aAAA,CAAA,CAAA,CAAA;AAClB,EAAM,MAAA,eAAA,GAAkB,KAAM,CAAA,OAAA,CAAQ,MAAM;AAC1C,IAAA,IAAI,QAAU,EAAA;AACZ,MAAA,OAAO,CAAC,KAAA,KAA4B,QAAS,CAAA,KAAA,CAAM,OAAO,KAAK,CAAA,CAAA;AAAA,KAC1D,MAAA;AACL,MAAO,OAAA,KAAA,CAAA,CAAA;AAAA,KACT;AAAA,GACF,EAAG,CAAC,QAAQ,CAAC,CAAA,CAAA;AACb,EACE,uBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,UAAA;AAAA,IAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EACK,IADL,CAAA,EAAA;AAAA,MAEC,QAAU,EAAA,eAAA;AAAA,MACV,OAAA,EAAS,WAAc,GAAA,KAAA,CAAA,GAAY,IAAK,CAAA,OAAA;AAAA,KAAA,CAAA;AAAA,GAC1C,CAAA;AAEJ,CAAA;AAEO,MAAM,kBAAqB,GAAA,sBAAA;AAC3B,MAAM,wBAA2B,GAAA,6BAAA;AACjC,MAAM,uBAA0B,GAAA,4BAAA;AAEhC,SAAS,cAAc,MAAuB,EAAA;AACnD,EAAA,uBAAA,CAAwB,QAAQ,SAAW,EAAA;AAAA,IACzC,IAAM,EAAA,kBAAA;AAAA,IACN,WAAa,EAAA,OAAA;AAAA,IACb,KAAO,EAAA;AAAA,MACL,KAAO,EAAA;AAAA,QACL,IAAM,EAAA,QAAA;AAAA,QACN,WAAa,EAAA,wBAAA;AAAA,OACf;AAAA,MACA,QAAU,EAAA;AAAA,QACR,IAAM,EAAA,SAAA;AAAA,QACN,gBAAkB,EAAA,KAAA;AAAA,OACpB;AAAA,MACA,SAAW,EAAA;AAAA,QACT,IAAM,EAAA,SAAA;AAAA,QACN,WAAa,EAAA,6BAAA;AAAA,QACb,gBAAkB,EAAA,KAAA;AAAA,QAClB,QAAU,EAAA,IAAA;AAAA,OACZ;AAAA,MACA,QAAU,EAAA,cAAA,CAAA;AAAA,QACR,IAAM,EAAA,MAAA;AAAA,QACN,YAAc,EAAA;AAAA,UACZ;AAAA,YACE,IAAM,EAAA,MAAA;AAAA,YACN,KAAO,EAAA,OAAA;AAAA,WACT;AAAA,SACF;AAAA,OACI,EAAA,EAAE,iBAAiB,IAAK,EAAA,CAAA;AAAA,KAEhC;AAAA,IACA,UAAY,EAAA,yCAAA;AAAA,IACZ,UAAY,EAAA,WAAA;AAAA,IACZ,mBAAqB,EAAA,uBAAA;AAAA,GACtB,CAAA,CAAA;AACD,EAAA,uBAAA,CAAwB,QAAQ,eAAiB,EAAA;AAAA,IAC/C,IAAM,EAAA,wBAAA;AAAA,IACN,WAAa,EAAA,cAAA;AAAA,IACb,KAAO,EAAA;AAAA,MACL,KAAO,EAAA;AAAA,QACL,IAAM,EAAA,QAAA;AAAA,QACN,WAAa,EAAA,wBAAA;AAAA,OACf;AAAA,MACA,QAAU,EAAA;AAAA,QACR,IAAM,EAAA,SAAA;AAAA,QACN,gBAAkB,EAAA,KAAA;AAAA,OACpB;AAAA,MACA,SAAW,EAAA;AAAA,QACT,IAAM,EAAA,SAAA;AAAA,QACN,WAAa,EAAA,6BAAA;AAAA,QACb,gBAAkB,EAAA,KAAA;AAAA,QAClB,QAAU,EAAA,IAAA;AAAA,OACZ;AAAA,MACA,QAAU,EAAA,cAAA,CAAA;AAAA,QACR,IAAM,EAAA,MAAA;AAAA,QACN,YAAc,EAAA;AAAA,UACZ;AAAA,YACE,IAAM,EAAA,MAAA;AAAA,YACN,KAAO,EAAA,OAAA;AAAA,WACT;AAAA,SACF;AAAA,OACI,EAAA,EAAE,iBAAiB,IAAK,EAAA,CAAA;AAAA,KAEhC;AAAA,IACA,UAAY,EAAA,yCAAA;AAAA,IACZ,UAAY,EAAA,iBAAA;AAAA,IACZ,mBAAqB,EAAA,uBAAA;AAAA,GACtB,CAAA,CAAA;AAED,EAAA,uBAAA,CAAwB,QAAQ,cAAgB,EAAA,cAAA,CAAA;AAAA,IAC9C,IAAM,EAAA,uBAAA;AAAA,IACN,WAAa,EAAA,aAAA;AAAA,IACb,KAAO,EAAA;AAAA,MACL,OAAS,EAAA;AAAA,QACP,IAAM,EAAA,OAAA;AAAA,QACN,MAAQ,EAAA,CAAC,EAAO,KAAA,CAAC,CAAC,EAAG,CAAA,WAAA;AAAA,QACrB,QAAU,EAAA;AAAA,UACR,IAAM,EAAA,QAAA;AAAA,UACN,QAAU,EAAA,CAAC,IAAc,KAAA,IAAA,CAAK,SAAS,IAAK,CAAA,KAAA;AAAA,UAC5C,MAAQ,EAAA;AAAA,YACN,KAAO,EAAA,QAAA;AAAA,YACP,KAAO,EAAA,QAAA;AAAA,WACT;AAAA,SACF;AAAA,QACA,YAAc,EAAA;AAAA,UACZ;AAAA,YACE,KAAO,EAAA,SAAA;AAAA,YACP,KAAO,EAAA,UAAA;AAAA,WACT;AAAA,UACA;AAAA,YACE,KAAO,EAAA,SAAA;AAAA,YACP,KAAO,EAAA,UAAA;AAAA,WACT;AAAA,SACF;AAAA,OACF;AAAA,MACA,UAAY,EAAA;AAAA,QACV,IAAM,EAAA,QAAA;AAAA,QACN,OAAS,EAAA;AAAA,UACP,EAAE,KAAA,EAAO,SAAW,EAAA,KAAA,EAAO,OAAQ,EAAA;AAAA,UACnC,EAAE,KAAA,EAAO,QAAU,EAAA,KAAA,EAAO,QAAS,EAAA;AAAA,SACrC;AAAA,QACA,MAAQ,EAAA,CAAC,EAAO,KAAA,CAAC,CAAC,EAAG,CAAA,WAAA;AAAA,QACrB,gBAAkB,EAAA,SAAA;AAAA,OACpB;AAAA,MACA,KAAO,EAAA;AAAA,QACL,IAAM,EAAA,QAAA;AAAA,QACN,QAAU,EAAA,IAAA;AAAA,QACV,gBAAkB,EAAA,cAAA;AAAA,QAClB,WAAa,EAAA,wBAAA;AAAA,QACb,OAAA,EAAS,CAAC,EAAY,KAAA;AAnJ9B,UAAA,IAAA,EAAA,CAAA;AAoJU,UAAA,IAAI,GAAG,WAAa,EAAA;AAClB,YAAM,MAAA,OAAA,uBAAc,GAAY,EAAA,CAAA;AAChC,YAAqB,oBAAA,CAAA,EAAA,CAAG,QAAU,EAAA,CAAC,GAAQ,KAAA;AAtJvD,cAAAA,IAAAA,GAAAA,CAAAA;AAuJc,cAAA,IAAI,SAAOA,GAAA,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,UAAL,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAY,WAAU,QAAU,EAAA;AACzC,gBAAQ,OAAA,CAAA,GAAA,CAAI,GAAI,CAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AAAA,eAC7B;AAAA,aACD,CAAA,CAAA;AACD,YAAA,OAAO,KAAM,CAAA,IAAA,CAAK,OAAQ,CAAA,IAAA,EAAM,CAAA,CAAA;AAAA,WAC3B,MAAA;AACL,YAAO,OAAA,CAAA,EAAA,GAAA,EAAA,CAAG,OAAH,KAAA,IAAA,GAAA,EAAA,GAAc,EAAC,CAAA;AAAA,WACxB;AAAA,SACF;AAAA,QACA,MAAQ,EAAA,CAAC,EAAY,KAAA,CAAC,CAAC,EAAG,CAAA,kBAAA;AAAA,OAC5B;AAAA,MACA,QAAU,EAAA;AAAA,QACR,IAAM,EAAA,SAAA;AAAA,QACN,WAAa,EAAA,qBAAA;AAAA,QACb,gBAAkB,EAAA,KAAA;AAAA,OACpB;AAAA,MACA,WAAa,EAAA;AAAA,QACX,WAAa,EAAA,UAAA;AAAA,QACb,IAAM,EAAA,SAAA;AAAA,QACN,gBAAkB,EAAA,KAAA;AAAA,QAClB,QAAU,EAAA,IAAA;AAAA,QACV,WACE,EAAA,+OAAA;AAAA,OACJ;AAAA,MACA,QAAU,EAAA;AAAA,QACR,IAAM,EAAA,MAAA;AAAA,QACN,iBAAmB,EAAA;AAAA,UACjB,qBAAA;AAAA,UACA,4BAAA;AAAA,SACF;AAAA,QACA,YAAc,EAAA;AAAA,UACZ;AAAA,YACE,IAAM,EAAA,WAAA;AAAA,YACN,IAAM,EAAA,qBAAA;AAAA,YACN,KAAO,EAAA;AAAA,cACL,KAAO,EAAA,KAAA;AAAA,cACP,QAAU,EAAA;AAAA,gBACR,IAAM,EAAA,MAAA;AAAA,gBACN,KAAO,EAAA,UAAA;AAAA,eACT;AAAA,aACF;AAAA,WACF;AAAA,UACA;AAAA,YACE,IAAM,EAAA,WAAA;AAAA,YACN,IAAM,EAAA,qBAAA;AAAA,YACN,KAAO,EAAA;AAAA,cACL,KAAO,EAAA,KAAA;AAAA,cACP,QAAU,EAAA;AAAA,gBACR,IAAM,EAAA,MAAA;AAAA,gBACN,KAAO,EAAA,UAAA;AAAA,eACT;AAAA,aACF;AAAA,WACF;AAAA,SACF;AAAA,OACF;AAAA,MACA,QAAU,EAAA;AAAA,QACR,IAAM,EAAA,cAAA;AAAA,QACN,UAAU,CAAC,EAAE,MAAM,OAAS,EAAA,IAAA,EAAM,UAAU,CAAA;AAAA,OAC9C;AAAA,KACF;AAAA,IACA,MAAQ,EAAA;AAAA,MACN,KAAO,EAAA;AAAA,QACL,IAAM,EAAA,UAAA;AAAA,QACN,SAAW,EAAA,OAAA;AAAA,QACX,YAAc,EAAA,UAAA;AAAA,QACd,YAAc,EAAA,MAAA;AAAA,OAChB;AAAA,KACF;AAAA,IACA,UAAY,EAAA,yCAAA;AAAA,IACZ,UAAY,EAAA,gBAAA;AAAA,IACZ,aAAe,EAAA;AAAA,MACb,MAAQ,EAAA,MAAA;AAAA,KACV;AAAA,GACI,EAAA;AAAA,IACF,cAAgB,EAAA,IAAA;AAAA,GAEnB,CAAA,CAAA,CAAA;AACH;;;;"}
@@ -71,9 +71,12 @@ function AntdSelect(props) {
71
71
  }), suffixIcon && { suffixIcon })
72
72
  );
73
73
  }
74
+ const selectComponentName = "plasmic-antd5-select";
75
+ const optionComponentName = "plasmic-antd5-option";
76
+ const optionGroupComponentName = "plasmic-antd5-option-group";
74
77
  function registerSelect(loader) {
75
- utils.registerComponentHelper(loader, AntdSelect, {
76
- name: "plasmic-antd5-select",
78
+ utils.registerComponentHelper(loader, AntdSelect, __spreadProps(__spreadValues({
79
+ name: selectComponentName,
77
80
  displayName: "Select",
78
81
  props: {
79
82
  options: {
@@ -81,10 +84,35 @@ function registerSelect(loader) {
81
84
  hidden: (ps) => !!ps.useChildren,
82
85
  itemType: {
83
86
  type: "object",
84
- nameFunc: (item) => item.label,
87
+ nameFunc: (item) => item.label || item.value,
85
88
  fields: {
86
- value: "string",
87
- label: "string"
89
+ type: {
90
+ type: "choice",
91
+ options: [
92
+ { value: "option", label: "Option" },
93
+ { value: "option-group", label: "Option Group" }
94
+ ],
95
+ defaultValue: "option"
96
+ },
97
+ value: {
98
+ type: "string",
99
+ hidden: (ps) => ps.type !== "option"
100
+ },
101
+ label: "string",
102
+ options: {
103
+ type: "array",
104
+ hidden: (ps) => {
105
+ return ps.type !== "option-group";
106
+ },
107
+ itemType: {
108
+ type: "object",
109
+ nameFunc: (item) => item.label || item.value,
110
+ fields: {
111
+ value: "string",
112
+ label: "string"
113
+ }
114
+ }
115
+ }
88
116
  }
89
117
  },
90
118
  defaultValue: [
@@ -102,13 +130,14 @@ function registerSelect(loader) {
102
130
  displayName: "Use slot",
103
131
  type: "boolean",
104
132
  defaultValueHint: false,
133
+ advanced: true,
105
134
  description: "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."
106
135
  },
107
136
  children: {
108
137
  type: "slot",
109
138
  allowedComponents: [
110
- "plasmic-antd5-option",
111
- "plasmic-antd5-option-group"
139
+ optionComponentName,
140
+ optionGroupComponentName
112
141
  ],
113
142
  hidden: (ps) => !ps.useChildren
114
143
  },
@@ -136,13 +165,17 @@ function registerSelect(loader) {
136
165
  var _a;
137
166
  const options = /* @__PURE__ */ new Set();
138
167
  if (!ps.useChildren) {
139
- return ((_a = ps.options) != null ? _a : []).map((o) => {
168
+ const rec = (op) => {
140
169
  var _a2;
141
- return {
142
- value: o.value || "",
143
- label: (_a2 = o.label) != null ? _a2 : o.value || ""
144
- };
145
- });
170
+ if (typeof op === "string") {
171
+ return [{ value: op, label: op }];
172
+ } else if ("options" in op) {
173
+ return ((_a2 = op.options) != null ? _a2 : []).flatMap((sub) => rec(sub));
174
+ } else {
175
+ return [{ value: op.value, label: op.label || op.value }];
176
+ }
177
+ };
178
+ return ((_a = ps.options) != null ? _a : []).flatMap((o) => rec(o));
146
179
  } else {
147
180
  utils.traverseReactEltTree(ps.children, (elt) => {
148
181
  var _a2;
@@ -152,7 +185,8 @@ function registerSelect(loader) {
152
185
  });
153
186
  }
154
187
  return Array.from(options.keys());
155
- }
188
+ },
189
+ hidden: (ps) => !!ps.__plasmicFormField
156
190
  },
157
191
  mode: {
158
192
  type: "choice",
@@ -259,11 +293,6 @@ function registerSelect(loader) {
259
293
  },
260
294
  defaultStylesClassName: {
261
295
  type: "themeResetClass"
262
- },
263
- tagRender: {
264
- type: "slot",
265
- renderPropParams: ["tagProps"],
266
- hidePlaceholder: true
267
296
  }
268
297
  },
269
298
  states: {
@@ -273,19 +302,20 @@ function registerSelect(loader) {
273
302
  onChangeProp: "onChange",
274
303
  variableType: "text"
275
304
  }
276
- },
305
+ }
306
+ }, { trapsSelection: true }), {
277
307
  importPath: "@plasmicpkgs/antd5/skinny/registerSelect",
278
308
  importName: "AntdSelect"
279
- });
309
+ }));
280
310
  utils.registerComponentHelper(loader, AntdOption, {
281
- name: "plasmic-antd5-option",
311
+ name: optionComponentName,
282
312
  displayName: "Option",
283
- parentComponentName: "plasmic-antd5-select",
313
+ parentComponentName: selectComponentName,
284
314
  props: {
285
- children: {
315
+ children: __spreadValues({
286
316
  type: "slot",
287
317
  defaultValue: "Option"
288
- },
318
+ }, { mergeWithParent: true }),
289
319
  value: {
290
320
  type: "string"
291
321
  }
@@ -294,9 +324,9 @@ function registerSelect(loader) {
294
324
  importName: "AntdOption"
295
325
  });
296
326
  utils.registerComponentHelper(loader, AntdOptionGroup, {
297
- name: "plasmic-antd5-option-group",
327
+ name: optionGroupComponentName,
298
328
  displayName: "Option Group",
299
- parentComponentName: "plasmic-antd5-select",
329
+ parentComponentName: selectComponentName,
300
330
  props: {
301
331
  children: {
302
332
  type: "slot",
@@ -338,5 +368,8 @@ function registerSelect(loader) {
338
368
  exports.AntdOption = AntdOption;
339
369
  exports.AntdOptionGroup = AntdOptionGroup;
340
370
  exports.AntdSelect = AntdSelect;
371
+ exports.optionComponentName = optionComponentName;
372
+ exports.optionGroupComponentName = optionGroupComponentName;
341
373
  exports.registerSelect = registerSelect;
374
+ exports.selectComponentName = selectComponentName;
342
375
  //# sourceMappingURL=registerSelect.cjs.js.map