@plasmicpkgs/antd5 0.0.136 → 0.0.139

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 (45) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/antd.esm.js +7145 -6821
  3. package/dist/antd.esm.js.map +1 -1
  4. package/dist/index.d.ts +1 -3
  5. package/dist/index.js +7144 -6820
  6. package/dist/index.js.map +1 -1
  7. package/dist/react-utils.d.ts +2 -1
  8. package/dist/registerConfigProvider.d.ts +7 -1
  9. package/dist/registerForm.d.ts +2 -2
  10. package/dist/registerSegmented.d.ts +20 -0
  11. package/dist/registerTabs.d.ts +2 -6
  12. package/package.json +6 -6
  13. package/skinny/react-utils-11b0221a.cjs.js +121 -0
  14. package/skinny/react-utils-11b0221a.cjs.js.map +1 -0
  15. package/skinny/react-utils-79d444f6.esm.js +112 -0
  16. package/skinny/react-utils-79d444f6.esm.js.map +1 -0
  17. package/skinny/react-utils.d.ts +2 -1
  18. package/skinny/registerCollapse.cjs.js +4 -4
  19. package/skinny/registerCollapse.cjs.js.map +1 -1
  20. package/skinny/registerCollapse.esm.js +3 -3
  21. package/skinny/registerCollapse.esm.js.map +1 -1
  22. package/skinny/registerConfigProvider.cjs.js +44 -13
  23. package/skinny/registerConfigProvider.cjs.js.map +1 -1
  24. package/skinny/registerConfigProvider.d.ts +7 -1
  25. package/skinny/registerConfigProvider.esm.js +45 -14
  26. package/skinny/registerConfigProvider.esm.js.map +1 -1
  27. package/skinny/registerForm.cjs.js +10 -7
  28. package/skinny/registerForm.cjs.js.map +1 -1
  29. package/skinny/registerForm.d.ts +2 -2
  30. package/skinny/registerForm.esm.js +8 -5
  31. package/skinny/registerForm.esm.js.map +1 -1
  32. package/skinny/registerSegmented.cjs.js +314 -0
  33. package/skinny/registerSegmented.cjs.js.map +1 -0
  34. package/skinny/registerSegmented.d.ts +20 -0
  35. package/skinny/registerSegmented.esm.js +304 -0
  36. package/skinny/registerSegmented.esm.js.map +1 -0
  37. package/skinny/registerSelect.cjs.js +372 -11
  38. package/skinny/registerSelect.cjs.js.map +1 -1
  39. package/skinny/registerSelect.esm.js +365 -4
  40. package/skinny/registerSelect.esm.js.map +1 -1
  41. package/skinny/registerTabs.cjs.js +21 -36
  42. package/skinny/registerTabs.cjs.js.map +1 -1
  43. package/skinny/registerTabs.d.ts +2 -6
  44. package/skinny/registerTabs.esm.js +21 -36
  45. package/skinny/registerTabs.esm.js.map +1 -1
@@ -1,8 +1,369 @@
1
- import 'antd';
2
- import 'react';
3
- import './utils-7d8f2418.esm.js';
4
- export { a as AntdOption, b as AntdOptionGroup, A as AntdSelect, o as optionComponentName, c as optionGroupComponentName, d as registerSelect, s as selectComponentName } from './registerSelect-d2c8e1c0.esm.js';
1
+ import { Select } from 'antd';
2
+ import React from 'react';
3
+ import { r as registerComponentHelper, t as traverseReactEltTree } from './utils-7d8f2418.esm.js';
4
+ import { r as reactNodeToString } from './react-utils-79d444f6.esm.js';
5
5
  import '@plasmicapp/host/registerComponent';
6
6
  import '@plasmicapp/host/registerGlobalContext';
7
7
  import 'classnames';
8
+
9
+ var __defProp = Object.defineProperty;
10
+ var __defProps = Object.defineProperties;
11
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
12
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
13
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
15
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
16
+ var __spreadValues = (a, b) => {
17
+ for (var prop in b || (b = {}))
18
+ if (__hasOwnProp.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ if (__getOwnPropSymbols)
21
+ for (var prop of __getOwnPropSymbols(b)) {
22
+ if (__propIsEnum.call(b, prop))
23
+ __defNormalProp(a, prop, b[prop]);
24
+ }
25
+ return a;
26
+ };
27
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
28
+ var __objRest = (source, exclude) => {
29
+ var target = {};
30
+ for (var prop in source)
31
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
32
+ target[prop] = source[prop];
33
+ if (source != null && __getOwnPropSymbols)
34
+ for (var prop of __getOwnPropSymbols(source)) {
35
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
36
+ target[prop] = source[prop];
37
+ }
38
+ return target;
39
+ };
40
+ const AntdOption = Select.Option;
41
+ const AntdOptionGroup = Select.OptGroup;
42
+ function AntdSelect(props) {
43
+ const _a = props, {
44
+ popupClassName,
45
+ popupScopeClassName,
46
+ defaultStylesClassName,
47
+ suffixIcon,
48
+ mode,
49
+ useChildren
50
+ } = _a, rest = __objRest(_a, [
51
+ "popupClassName",
52
+ "popupScopeClassName",
53
+ "defaultStylesClassName",
54
+ "suffixIcon",
55
+ "mode",
56
+ "useChildren"
57
+ ]);
58
+ const curated = __spreadValues({}, rest);
59
+ if (useChildren) {
60
+ curated.options = void 0;
61
+ }
62
+ return /* @__PURE__ */ React.createElement(
63
+ Select,
64
+ __spreadValues(__spreadProps(__spreadValues({}, curated), {
65
+ mode: !mode || mode === "single" ? void 0 : mode,
66
+ popupClassName: `${defaultStylesClassName} ${popupScopeClassName} ${popupClassName}`,
67
+ optionFilterProp: curated.options ? "label" : void 0,
68
+ filterOption: (input, option) => {
69
+ var _a2;
70
+ return (useChildren ? reactNodeToString(option == null ? void 0 : option.children) : (_a2 = option == null ? void 0 : option.label) != null ? _a2 : "").toLowerCase().includes(input.toLowerCase());
71
+ }
72
+ }), suffixIcon && { suffixIcon })
73
+ );
74
+ }
75
+ const selectComponentName = "plasmic-antd5-select";
76
+ const optionComponentName = "plasmic-antd5-option";
77
+ const optionGroupComponentName = "plasmic-antd5-option-group";
78
+ function registerSelect(loader) {
79
+ registerComponentHelper(loader, AntdSelect, __spreadProps(__spreadValues({
80
+ name: selectComponentName,
81
+ displayName: "Select",
82
+ props: {
83
+ options: {
84
+ type: "array",
85
+ hidden: (ps) => !!ps.useChildren,
86
+ itemType: {
87
+ type: "object",
88
+ nameFunc: (item) => item.label || item.value,
89
+ fields: {
90
+ type: {
91
+ type: "choice",
92
+ options: [
93
+ { value: "option", label: "Option" },
94
+ { value: "option-group", label: "Option Group" }
95
+ ],
96
+ defaultValue: "option"
97
+ },
98
+ value: {
99
+ type: "string",
100
+ hidden: (_ps, _ctx, { item }) => item.type !== "option"
101
+ },
102
+ label: "string",
103
+ options: {
104
+ type: "array",
105
+ hidden: (_ps, _ctx, { item }) => {
106
+ return item.type !== "option-group";
107
+ },
108
+ itemType: {
109
+ type: "object",
110
+ nameFunc: (item) => item.label || item.value,
111
+ fields: {
112
+ value: "string",
113
+ label: "string"
114
+ }
115
+ }
116
+ }
117
+ }
118
+ },
119
+ defaultValue: [
120
+ {
121
+ value: "option1",
122
+ label: "Option 1",
123
+ type: "option"
124
+ },
125
+ {
126
+ value: "option2",
127
+ label: "Option 2",
128
+ type: "option"
129
+ }
130
+ ]
131
+ },
132
+ useChildren: {
133
+ displayName: "Use slot",
134
+ type: "boolean",
135
+ defaultValueHint: false,
136
+ advanced: true,
137
+ 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."
138
+ },
139
+ children: {
140
+ type: "slot",
141
+ allowedComponents: [optionComponentName, optionGroupComponentName],
142
+ hidden: (ps) => !ps.useChildren
143
+ },
144
+ placeholder: {
145
+ type: "slot",
146
+ defaultValue: "Select..."
147
+ },
148
+ suffixIcon: {
149
+ type: "slot",
150
+ hidePlaceholder: true
151
+ },
152
+ open: {
153
+ type: "boolean",
154
+ editOnly: true,
155
+ uncontrolledProp: "defaultOpen"
156
+ },
157
+ value: {
158
+ type: "choice",
159
+ displayName: "Selected value",
160
+ editOnly: true,
161
+ uncontrolledProp: "defaultValue",
162
+ description: "Initial selected option",
163
+ multiSelect: (ps) => ps.mode === "multiple",
164
+ options: (ps) => {
165
+ var _a;
166
+ const options = /* @__PURE__ */ new Set();
167
+ if (!ps.useChildren) {
168
+ const rec = (op) => {
169
+ var _a2;
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));
179
+ } else {
180
+ traverseReactEltTree(ps.children, (elt) => {
181
+ var _a2;
182
+ if ((elt == null ? void 0 : elt.type) === Select.Option && typeof ((_a2 = elt == null ? void 0 : elt.props) == null ? void 0 : _a2.value) === "string") {
183
+ options.add(elt.props.value);
184
+ }
185
+ });
186
+ }
187
+ return Array.from(options.keys());
188
+ },
189
+ hidden: (ps) => !!ps.__plasmicFormField
190
+ },
191
+ mode: {
192
+ type: "choice",
193
+ options: ["single", "multiple"],
194
+ defaultValueHint: "single"
195
+ },
196
+ size: {
197
+ type: "choice",
198
+ options: ["small", "middle", "large"]
199
+ },
200
+ disabled: {
201
+ type: "boolean",
202
+ defaultValueHint: false
203
+ },
204
+ showSearch: {
205
+ type: "boolean",
206
+ defaultValueHint: false,
207
+ advanced: true
208
+ },
209
+ status: {
210
+ type: "choice",
211
+ options: ["error", "warning"],
212
+ advanced: true
213
+ },
214
+ bordered: {
215
+ type: "boolean",
216
+ defaultValueHint: true
217
+ },
218
+ autoFocus: {
219
+ type: "boolean",
220
+ displayName: "Focus automatically",
221
+ defaultValueHint: false,
222
+ advanced: true
223
+ },
224
+ onChange: {
225
+ type: "eventHandler",
226
+ argTypes: [
227
+ { name: "value", type: "string" },
228
+ { name: "option", type: "object" }
229
+ ]
230
+ },
231
+ dropdownMatchSelectWidth: {
232
+ type: "boolean",
233
+ displayName: "Should dropdown match trigger button width?",
234
+ defaultValueHint: true,
235
+ advanced: true
236
+ },
237
+ triggerClassName: {
238
+ type: "class",
239
+ displayName: "Trigger styles",
240
+ noSelf: true,
241
+ selectors: [
242
+ {
243
+ selector: ":component .ant-select-selector.ant-select-selector",
244
+ label: "Base"
245
+ },
246
+ {
247
+ selector: ":component .ant-select-selector:hover",
248
+ label: "Hovered"
249
+ }
250
+ ],
251
+ advanced: true
252
+ },
253
+ popupScopeClassName: {
254
+ type: "styleScopeClass",
255
+ scopeName: "popup"
256
+ },
257
+ popupClassName: {
258
+ type: "class",
259
+ displayName: "Popup styles",
260
+ selectors: [],
261
+ advanced: true
262
+ },
263
+ optionClassName: {
264
+ type: "class",
265
+ displayName: "Option styles",
266
+ noSelf: true,
267
+ selectors: [
268
+ {
269
+ selector: ":popup.ant-select-dropdown .ant-select-item-option",
270
+ label: "Base"
271
+ },
272
+ {
273
+ selector: ":popup.ant-select-dropdown .ant-select-item-option-active",
274
+ label: "Focused"
275
+ },
276
+ {
277
+ selector: ":popup.ant-select-dropdown .ant-select-item-option-selected",
278
+ label: "Selected"
279
+ }
280
+ ],
281
+ advanced: true
282
+ },
283
+ placeholderClassName: {
284
+ type: "class",
285
+ displayName: "Placeholder styles",
286
+ selectors: [
287
+ {
288
+ selector: ":component .ant-select-selector .ant-select-selection-placeholder",
289
+ label: "Base"
290
+ }
291
+ ],
292
+ advanced: true
293
+ },
294
+ defaultStylesClassName: {
295
+ type: "themeResetClass"
296
+ }
297
+ },
298
+ states: {
299
+ value: {
300
+ type: "writable",
301
+ valueProp: "value",
302
+ onChangeProp: "onChange",
303
+ variableType: "text"
304
+ }
305
+ }
306
+ }, { trapsSelection: true }), {
307
+ importPath: "@plasmicpkgs/antd5/skinny/registerSelect",
308
+ importName: "AntdSelect"
309
+ }));
310
+ registerComponentHelper(loader, AntdOption, {
311
+ name: optionComponentName,
312
+ displayName: "Option",
313
+ parentComponentName: selectComponentName,
314
+ props: {
315
+ children: __spreadValues({
316
+ type: "slot",
317
+ defaultValue: "Option"
318
+ }, { mergeWithParent: true }),
319
+ value: {
320
+ type: "string"
321
+ }
322
+ },
323
+ importPath: "@plasmicpkgs/antd5/skinny/registerSelect",
324
+ importName: "AntdOption"
325
+ });
326
+ registerComponentHelper(loader, AntdOptionGroup, {
327
+ name: optionGroupComponentName,
328
+ displayName: "Option Group",
329
+ parentComponentName: selectComponentName,
330
+ props: {
331
+ children: {
332
+ type: "slot",
333
+ defaultValue: [
334
+ {
335
+ type: "component",
336
+ name: "plasmic-antd5-option",
337
+ props: {
338
+ value: "option1",
339
+ children: {
340
+ type: "text",
341
+ value: "Option 1"
342
+ }
343
+ }
344
+ },
345
+ {
346
+ type: "component",
347
+ name: "plasmic-antd5-option",
348
+ props: {
349
+ value: "option2",
350
+ children: {
351
+ type: "text",
352
+ value: "Option 1"
353
+ }
354
+ }
355
+ }
356
+ ]
357
+ },
358
+ label: {
359
+ type: "slot",
360
+ defaultValue: "Group label"
361
+ }
362
+ },
363
+ importPath: "@plasmicpkgs/antd5/skinny/registerSelect",
364
+ importName: "AntdOptionGroup"
365
+ });
366
+ }
367
+
368
+ export { AntdOption, AntdOptionGroup, AntdSelect, optionComponentName, optionGroupComponentName, registerSelect, selectComponentName };
8
369
  //# sourceMappingURL=registerSelect.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registerSelect.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
1
+ {"version":3,"file":"registerSelect.esm.js","sources":["../src/registerSelect.tsx"],"sourcesContent":["import { Select } from \"antd\";\nimport React, { ComponentProps } from \"react\";\nimport {\n Registerable,\n registerComponentHelper,\n traverseReactEltTree,\n} from \"./utils\";\nimport { reactNodeToString } from \"./react-utils\";\n\nexport const AntdOption: typeof Select.Option = Select.Option;\nexport const AntdOptionGroup: typeof Select.OptGroup = Select.OptGroup;\n\nexport function AntdSelect(\n props: ComponentProps<typeof Select> & {\n popupScopeClassName?: string;\n popupClassName?: string;\n defaultStylesClassName?: string;\n useChildren?: boolean;\n }\n) {\n const {\n popupClassName,\n popupScopeClassName,\n defaultStylesClassName,\n suffixIcon,\n mode,\n useChildren,\n ...rest\n } = props;\n const curated = { ...rest };\n if (useChildren) {\n curated.options = undefined;\n }\n return (\n <Select\n {...curated}\n mode={!mode || (mode as any) === \"single\" ? undefined : mode}\n popupClassName={`${defaultStylesClassName} ${popupScopeClassName} ${popupClassName}`}\n optionFilterProp={curated.options ? \"label\" : undefined}\n filterOption={(input, option) =>\n (useChildren\n ? reactNodeToString(option?.children)\n : option?.label ?? \"\"\n )\n .toLowerCase()\n .includes(input.toLowerCase())\n }\n {...(suffixIcon && { suffixIcon })}\n />\n );\n}\n\nexport const selectComponentName = \"plasmic-antd5-select\";\nexport const optionComponentName = \"plasmic-antd5-option\";\nexport const optionGroupComponentName = \"plasmic-antd5-option-group\";\n\nexport function registerSelect(loader?: Registerable) {\n registerComponentHelper(loader, AntdSelect, {\n name: selectComponentName,\n displayName: \"Select\",\n props: {\n options: {\n type: \"array\",\n hidden: (ps) => !!ps.useChildren,\n itemType: {\n type: \"object\",\n nameFunc: (item: any) => item.label || item.value,\n fields: {\n type: {\n type: \"choice\",\n options: [\n { value: \"option\", label: \"Option\" },\n { value: \"option-group\", label: \"Option Group\" },\n ],\n defaultValue: \"option\",\n },\n value: {\n type: \"string\",\n hidden: (_ps: any, _ctx: any, { item }: any) =>\n item.type !== \"option\",\n },\n label: \"string\",\n options: {\n type: \"array\",\n hidden: (_ps: any, _ctx: any, { item }: any) => {\n return item.type !== \"option-group\";\n },\n itemType: {\n type: \"object\",\n nameFunc: (item: any) => item.label || item.value,\n fields: {\n value: \"string\",\n label: \"string\",\n },\n },\n },\n },\n },\n defaultValue: [\n {\n value: \"option1\",\n label: \"Option 1\",\n type: \"option\",\n },\n {\n value: \"option2\",\n label: \"Option 2\",\n type: \"option\",\n },\n ],\n },\n\n useChildren: {\n displayName: \"Use slot\",\n type: \"boolean\",\n defaultValueHint: false,\n advanced: true,\n description:\n \"Instead of configuring a list of options, customize the contents of the Select by dragging and dropping options in the outline/canvas, inside the 'children' slot. Lets you use any content or formatting within the Options, and also use Option Groups.\",\n },\n\n children: {\n type: \"slot\",\n allowedComponents: [optionComponentName, optionGroupComponentName],\n hidden: (ps) => !ps.useChildren,\n },\n\n placeholder: {\n type: \"slot\",\n defaultValue: \"Select...\",\n },\n suffixIcon: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n open: {\n type: \"boolean\",\n editOnly: true,\n uncontrolledProp: \"defaultOpen\",\n },\n value: {\n type: \"choice\",\n displayName: \"Selected value\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"Initial selected option\",\n multiSelect: (ps) => ps.mode === \"multiple\",\n options: (ps) => {\n const options = new Set<string>();\n if (!ps.useChildren) {\n const rec = (op: any) => {\n if (typeof op === \"string\") {\n return [{ value: op, label: op }];\n } else if (\"options\" in op) {\n return (op.options ?? []).flatMap((sub: any) => rec(sub));\n } else {\n return [{ value: op.value, label: op.label || op.value }];\n }\n };\n return (ps.options ?? []).flatMap((o: any) => rec(o));\n } else {\n traverseReactEltTree(ps.children, (elt) => {\n if (\n elt?.type === Select.Option &&\n typeof elt?.props?.value === \"string\"\n ) {\n options.add(elt.props.value);\n }\n });\n }\n return Array.from(options.keys());\n },\n hidden: (ps: any) => !!ps.__plasmicFormField,\n },\n mode: {\n type: \"choice\",\n options: [\"single\", \"multiple\"],\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 },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n },\n },\n ...({ trapsSelection: true } as any),\n importPath: \"@plasmicpkgs/antd5/skinny/registerSelect\",\n importName: \"AntdSelect\",\n });\n\n registerComponentHelper(loader, AntdOption, {\n name: optionComponentName,\n displayName: \"Option\",\n parentComponentName: selectComponentName,\n props: {\n children: {\n type: \"slot\",\n defaultValue: \"Option\",\n ...({ mergeWithParent: true } as any),\n },\n value: {\n type: \"string\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerSelect\",\n importName: \"AntdOption\",\n });\n\n registerComponentHelper(loader, AntdOptionGroup, {\n name: optionGroupComponentName,\n displayName: \"Option Group\",\n parentComponentName: selectComponentName,\n props: {\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"component\",\n name: \"plasmic-antd5-option\",\n props: {\n value: \"option1\",\n children: {\n type: \"text\",\n value: \"Option 1\",\n },\n },\n },\n {\n type: \"component\",\n name: \"plasmic-antd5-option\",\n props: {\n value: \"option2\",\n children: {\n type: \"text\",\n value: \"Option 1\",\n },\n },\n },\n ],\n },\n label: {\n type: \"slot\",\n defaultValue: \"Group label\",\n },\n },\n importPath: \"@plasmicpkgs/antd5/skinny/registerSelect\",\n importName: \"AntdOptionGroup\",\n });\n}\n"],"names":["_a"],"mappings":"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"}
@@ -48,13 +48,17 @@ const AntdTabItem = ({ children }) => {
48
48
  };
49
49
  function getTabItems(items) {
50
50
  var _a;
51
- if ((items == null ? void 0 : items.type) === AntdTabItem) {
52
- return [items];
53
- }
54
- if (Array.isArray((_a = items == null ? void 0 : items.props) == null ? void 0 : _a.children)) {
55
- return items.props.children.filter((item) => item.type === AntdTabItem);
56
- }
57
- return [];
51
+ return ((_a = items == null ? void 0 : items.type) == null ? void 0 : _a.name) == AntdTabItem.name ? [items] : items == null ? void 0 : items.props.children;
52
+ }
53
+ function getTabItemKeys(items) {
54
+ const keys = [];
55
+ utils.traverseReactEltTree(items, (elt) => {
56
+ var _a;
57
+ if (((_a = elt == null ? void 0 : elt.type) == null ? void 0 : _a.name) === AntdTabItem.name && typeof (elt == null ? void 0 : elt.key) === "string") {
58
+ keys.push(`${elt.key}`);
59
+ }
60
+ });
61
+ return keys;
58
62
  }
59
63
  function AntdTabs(props) {
60
64
  const _a = props, {
@@ -98,9 +102,6 @@ function AntdTabs(props) {
98
102
  return [];
99
103
  const tabItems = getTabItems(itemsRaw);
100
104
  return tabItems.map((currentItem) => {
101
- if (!React__default.default.isValidElement(currentItem) || !React__default.default.isValidElement(currentItem.props.children)) {
102
- return null;
103
- }
104
105
  return __spreadProps(__spreadValues({}, currentItem.props), {
105
106
  key: currentItem.key,
106
107
  children: /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, currentItem.props.children)
@@ -117,7 +118,7 @@ function AntdTabs(props) {
117
118
  right: /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, tabBarExtraContentRight)
118
119
  },
119
120
  tabPosition,
120
- renderTabBar: sticky && tabPosition === "top" ? (props2, DefaultTabBar) => /* @__PURE__ */ React__default.default.createElement(
121
+ renderTabBar: sticky && tabPosition === "top" ? (tabBarProps, DefaultTabBar) => /* @__PURE__ */ React__default.default.createElement(
121
122
  "div",
122
123
  {
123
124
  style: {
@@ -128,7 +129,7 @@ function AntdTabs(props) {
128
129
  },
129
130
  /* @__PURE__ */ React__default.default.createElement(
130
131
  DefaultTabBar,
131
- __spreadProps(__spreadValues({}, props2), {
132
+ __spreadProps(__spreadValues({}, tabBarProps), {
132
133
  style: { backgroundColor: tabBarBackground }
133
134
  })
134
135
  )
@@ -141,15 +142,6 @@ function AntdTabs(props) {
141
142
  function OutlineMessage() {
142
143
  return /* @__PURE__ */ React__default.default.createElement("div", null, "* To re-arrange tab panes, use the Outline panel");
143
144
  }
144
- function getActiveKeyOptions(props) {
145
- const options = /* @__PURE__ */ new Set();
146
- utils.traverseReactEltTree(getTabItems(props.items), (elt) => {
147
- if ((elt == null ? void 0 : elt.type) === AntdTabItem && typeof (elt == null ? void 0 : elt.key) === "string") {
148
- options.add(elt.key);
149
- }
150
- });
151
- return Array.from(options.keys());
152
- }
153
145
  function registerTabs(loader) {
154
146
  utils.registerComponentHelper(loader, AntdTabs, {
155
147
  name: tabsComponentName,
@@ -165,7 +157,7 @@ function registerTabs(loader) {
165
157
  uncontrolledProp: "defaultActiveKey",
166
158
  type: "choice",
167
159
  description: `Initial active tab's key`,
168
- options: getActiveKeyOptions
160
+ options: (ps) => getTabItemKeys(ps.items)
169
161
  },
170
162
  animated: {
171
163
  type: "boolean",
@@ -350,15 +342,13 @@ function registerTabs(loader) {
350
342
  label: "Add new tab",
351
343
  onClick: ({ componentProps, studioOps }) => {
352
344
  const generateNewKey = () => {
353
- const keysSet = /* @__PURE__ */ new Set();
354
- utils.traverseReactEltTree(getTabItems(componentProps.items), (elt) => {
355
- if ((elt == null ? void 0 : elt.type) === AntdTabItem && typeof (elt == null ? void 0 : elt.key) === "string") {
356
- keysSet.add(elt.key);
357
- }
358
- });
359
- for (let keyCandidate = 1; keyCandidate <= keysSet.size + 1; keyCandidate++) {
345
+ const existingKeys = getTabItemKeys(componentProps.items);
346
+ for (let keyCandidate = 1; keyCandidate <= existingKeys.length + 1; keyCandidate++) {
360
347
  const strKey = keyCandidate.toString();
361
- if (!keysSet.has(strKey)) {
348
+ const index = existingKeys.findIndex((k) => {
349
+ return strKey === k;
350
+ });
351
+ if (index === -1) {
362
352
  return strKey;
363
353
  }
364
354
  }
@@ -391,12 +381,7 @@ function registerTabs(loader) {
391
381
  label: "Delete current tab",
392
382
  onClick: ({ componentProps, studioOps }) => {
393
383
  if (componentProps.activeKey) {
394
- const tabPanes = [];
395
- utils.traverseReactEltTree(getTabItems(componentProps.items), (elt) => {
396
- if ((elt == null ? void 0 : elt.type) === AntdTabItem && typeof (elt == null ? void 0 : elt.key) === "string") {
397
- tabPanes.push(elt.key);
398
- }
399
- });
384
+ const tabPanes = getTabItemKeys(componentProps.items);
400
385
  const activeKey = componentProps.activeKey;
401
386
  const currTabPos = tabPanes.findIndex((tabKey) => {
402
387
  return tabKey === activeKey;