@plasmicpkgs/antd5 0.0.81 → 0.0.83

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 (53) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/antd.esm.js +25 -20
  3. package/dist/antd.esm.js.map +1 -1
  4. package/dist/index.d.ts +1 -0
  5. package/dist/index.js +25 -19
  6. package/dist/index.js.map +1 -1
  7. package/dist/react-utils.d.ts +2 -1
  8. package/dist/registerForm.d.ts +2 -1
  9. package/dist/utils.d.ts +1 -0
  10. package/package.json +2 -2
  11. package/skinny/react-utils.d.ts +2 -1
  12. package/skinny/registerButton.cjs.js +1 -1
  13. package/skinny/registerButton.esm.js +1 -1
  14. package/skinny/registerCheckbox.cjs.js +1 -1
  15. package/skinny/registerCheckbox.esm.js +1 -1
  16. package/skinny/registerConfigProvider.cjs.js +1 -1
  17. package/skinny/registerConfigProvider.esm.js +1 -1
  18. package/skinny/registerDatePicker.cjs.js +1 -1
  19. package/skinny/registerDatePicker.esm.js +1 -1
  20. package/skinny/registerDropdown.cjs.js +1 -1
  21. package/skinny/registerDropdown.esm.js +1 -1
  22. package/skinny/registerForm.cjs.js +6 -105
  23. package/skinny/registerForm.cjs.js.map +1 -1
  24. package/skinny/registerForm.d.ts +2 -1
  25. package/skinny/registerForm.esm.js +4 -103
  26. package/skinny/registerForm.esm.js.map +1 -1
  27. package/skinny/registerInput.cjs.js +1 -1
  28. package/skinny/registerInput.esm.js +1 -1
  29. package/skinny/registerMenu.cjs.js +1 -1
  30. package/skinny/registerMenu.esm.js +1 -1
  31. package/skinny/registerModal.cjs.js +1 -1
  32. package/skinny/registerModal.esm.js +1 -1
  33. package/skinny/registerRadio.cjs.js +1 -1
  34. package/skinny/registerRadio.esm.js +1 -1
  35. package/skinny/registerSelect-97163424.esm.js +462 -0
  36. package/skinny/registerSelect-97163424.esm.js.map +1 -0
  37. package/skinny/registerSelect-9c951faf.cjs.js +477 -0
  38. package/skinny/registerSelect-9c951faf.cjs.js.map +1 -0
  39. package/skinny/registerSelect.cjs.js +12 -366
  40. package/skinny/registerSelect.cjs.js.map +1 -1
  41. package/skinny/registerSelect.esm.js +5 -359
  42. package/skinny/registerSelect.esm.js.map +1 -1
  43. package/skinny/registerSwitch.cjs.js +1 -1
  44. package/skinny/registerSwitch.esm.js +1 -1
  45. package/skinny/registerTable.cjs.js +1 -1
  46. package/skinny/registerTable.esm.js +1 -1
  47. package/skinny/registerUpload.cjs.js +1 -1
  48. package/skinny/registerUpload.esm.js +1 -1
  49. package/skinny/{utils-b2751954.esm.js → utils-6bd7e3c6.esm.js} +5 -2
  50. package/skinny/{utils-403deb7b.cjs.js.map → utils-6bd7e3c6.esm.js.map} +1 -1
  51. package/skinny/{utils-403deb7b.cjs.js → utils-dbc32c4f.cjs.js} +5 -1
  52. package/skinny/{utils-b2751954.esm.js.map → utils-dbc32c4f.cjs.js.map} +1 -1
  53. package/skinny/utils.d.ts +1 -0
@@ -0,0 +1,462 @@
1
+ import { Select } from 'antd';
2
+ import React, { isValidElement } from 'react';
3
+ import { r as registerComponentHelper, t as traverseReactEltTree } from './utils-6bd7e3c6.esm.js';
4
+ import classNames from 'classnames';
5
+
6
+ var __defProp$1 = Object.defineProperty;
7
+ var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;
8
+ var __hasOwnProp$1 = Object.prototype.hasOwnProperty;
9
+ var __propIsEnum$1 = Object.prototype.propertyIsEnumerable;
10
+ var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
11
+ var __spreadValues$1 = (a, b) => {
12
+ for (var prop in b || (b = {}))
13
+ if (__hasOwnProp$1.call(b, prop))
14
+ __defNormalProp$1(a, prop, b[prop]);
15
+ if (__getOwnPropSymbols$1)
16
+ for (var prop of __getOwnPropSymbols$1(b)) {
17
+ if (__propIsEnum$1.call(b, prop))
18
+ __defNormalProp$1(a, prop, b[prop]);
19
+ }
20
+ return a;
21
+ };
22
+ const isBrowser = typeof window !== "undefined";
23
+ const NONE = Symbol("NONE");
24
+ isBrowser ? React.useLayoutEffect : React.useEffect;
25
+ function mergeProps(props, ...restProps) {
26
+ if (restProps.every((rest) => Object.keys(rest).length === 0)) {
27
+ return props;
28
+ }
29
+ const result = __spreadValues$1({}, props);
30
+ for (const rest of restProps) {
31
+ for (const key of Object.keys(rest)) {
32
+ result[key] = mergePropVals(key, result[key], rest[key]);
33
+ }
34
+ }
35
+ return result;
36
+ }
37
+ function updateRef(ref, value) {
38
+ if (!ref) {
39
+ return;
40
+ }
41
+ if (typeof ref === "function") {
42
+ ref(value);
43
+ } else {
44
+ if (!Object.isFrozen(ref)) {
45
+ ref.current = value;
46
+ }
47
+ }
48
+ }
49
+ function mergeRefs(...refs) {
50
+ return (value) => {
51
+ for (const ref of refs) {
52
+ updateRef(ref, value);
53
+ }
54
+ };
55
+ }
56
+ function mergePropVals(name, val1, val2) {
57
+ if (val1 === NONE || val2 === NONE) {
58
+ return null;
59
+ } else if (val1 == null) {
60
+ return val2;
61
+ } else if (val2 == null) {
62
+ return val1;
63
+ } else if (name === "className") {
64
+ return classNames(val1, val2);
65
+ } else if (name === "style") {
66
+ return __spreadValues$1(__spreadValues$1({}, val1), val2);
67
+ } else if (name === "ref") {
68
+ return mergeRefs(val1, val2);
69
+ } else if (typeof val1 !== typeof val2) {
70
+ return val2;
71
+ } else if (name.startsWith("on") && typeof val1 === "function") {
72
+ return (...args) => {
73
+ let res;
74
+ if (typeof val1 === "function") {
75
+ res = val1(...args);
76
+ }
77
+ if (typeof val2 === "function") {
78
+ res = val2(...args);
79
+ }
80
+ return res;
81
+ };
82
+ } else {
83
+ return val2;
84
+ }
85
+ }
86
+ function reactNodeToString(reactNode) {
87
+ let string = "";
88
+ if (typeof reactNode === "string") {
89
+ string = reactNode;
90
+ } else if (typeof reactNode === "number") {
91
+ string = reactNode.toString();
92
+ } else if (reactNode instanceof Array) {
93
+ reactNode.forEach(function(child) {
94
+ string += reactNodeToString(child);
95
+ });
96
+ } else if (isValidElement(reactNode)) {
97
+ string += reactNodeToString(reactNode.props.children);
98
+ }
99
+ return string;
100
+ }
101
+
102
+ var __defProp = Object.defineProperty;
103
+ var __defProps = Object.defineProperties;
104
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
105
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
106
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
107
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
108
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
109
+ var __spreadValues = (a, b) => {
110
+ for (var prop in b || (b = {}))
111
+ if (__hasOwnProp.call(b, prop))
112
+ __defNormalProp(a, prop, b[prop]);
113
+ if (__getOwnPropSymbols)
114
+ for (var prop of __getOwnPropSymbols(b)) {
115
+ if (__propIsEnum.call(b, prop))
116
+ __defNormalProp(a, prop, b[prop]);
117
+ }
118
+ return a;
119
+ };
120
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
121
+ var __objRest = (source, exclude) => {
122
+ var target = {};
123
+ for (var prop in source)
124
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
125
+ target[prop] = source[prop];
126
+ if (source != null && __getOwnPropSymbols)
127
+ for (var prop of __getOwnPropSymbols(source)) {
128
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
129
+ target[prop] = source[prop];
130
+ }
131
+ return target;
132
+ };
133
+ const AntdOption = Select.Option;
134
+ const AntdOptionGroup = Select.OptGroup;
135
+ function AntdSelect(props) {
136
+ const _a = props, {
137
+ popupClassName,
138
+ popupScopeClassName,
139
+ defaultStylesClassName,
140
+ suffixIcon,
141
+ mode,
142
+ useChildren
143
+ } = _a, rest = __objRest(_a, [
144
+ "popupClassName",
145
+ "popupScopeClassName",
146
+ "defaultStylesClassName",
147
+ "suffixIcon",
148
+ "mode",
149
+ "useChildren"
150
+ ]);
151
+ const curated = __spreadValues({}, rest);
152
+ if (useChildren) {
153
+ curated.options = void 0;
154
+ }
155
+ return /* @__PURE__ */ React.createElement(
156
+ Select,
157
+ __spreadValues(__spreadProps(__spreadValues({}, curated), {
158
+ mode: !mode || mode === "single" ? void 0 : mode,
159
+ popupClassName: `${defaultStylesClassName} ${popupScopeClassName} ${popupClassName}`,
160
+ optionFilterProp: curated.options ? "label" : void 0,
161
+ filterOption: (input, option) => {
162
+ var _a2;
163
+ return (useChildren ? reactNodeToString(option == null ? void 0 : option.children) : (_a2 = option == null ? void 0 : option.label) != null ? _a2 : "").toLowerCase().includes(input.toLowerCase());
164
+ }
165
+ }), suffixIcon && { suffixIcon })
166
+ );
167
+ }
168
+ const selectComponentName = "plasmic-antd5-select";
169
+ const optionComponentName = "plasmic-antd5-option";
170
+ const optionGroupComponentName = "plasmic-antd5-option-group";
171
+ function registerSelect(loader) {
172
+ registerComponentHelper(loader, AntdSelect, __spreadProps(__spreadValues({
173
+ name: selectComponentName,
174
+ displayName: "Select",
175
+ props: {
176
+ options: {
177
+ type: "array",
178
+ hidden: (ps) => !!ps.useChildren,
179
+ itemType: {
180
+ type: "object",
181
+ nameFunc: (item) => item.label || item.value,
182
+ fields: {
183
+ type: {
184
+ type: "choice",
185
+ options: [
186
+ { value: "option", label: "Option" },
187
+ { value: "option-group", label: "Option Group" }
188
+ ],
189
+ defaultValue: "option"
190
+ },
191
+ value: {
192
+ type: "string",
193
+ hidden: (_ps, _ctx, { item }) => item.type !== "option"
194
+ },
195
+ label: "string",
196
+ options: {
197
+ type: "array",
198
+ hidden: (_ps, _ctx, { item }) => {
199
+ return item.type !== "option-group";
200
+ },
201
+ itemType: {
202
+ type: "object",
203
+ nameFunc: (item) => item.label || item.value,
204
+ fields: {
205
+ value: "string",
206
+ label: "string"
207
+ }
208
+ }
209
+ }
210
+ }
211
+ },
212
+ defaultValue: [
213
+ {
214
+ value: "option1",
215
+ label: "Option 1",
216
+ type: "option"
217
+ },
218
+ {
219
+ value: "option2",
220
+ label: "Option 2",
221
+ type: "option"
222
+ }
223
+ ]
224
+ },
225
+ useChildren: {
226
+ displayName: "Use slot",
227
+ type: "boolean",
228
+ defaultValueHint: false,
229
+ advanced: true,
230
+ 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."
231
+ },
232
+ children: {
233
+ type: "slot",
234
+ allowedComponents: [optionComponentName, optionGroupComponentName],
235
+ hidden: (ps) => !ps.useChildren
236
+ },
237
+ placeholder: {
238
+ type: "slot",
239
+ defaultValue: "Select..."
240
+ },
241
+ suffixIcon: {
242
+ type: "slot",
243
+ hidePlaceholder: true
244
+ },
245
+ open: {
246
+ type: "boolean",
247
+ editOnly: true,
248
+ uncontrolledProp: "defaultOpen"
249
+ },
250
+ value: {
251
+ type: "choice",
252
+ displayName: "Selected value",
253
+ editOnly: true,
254
+ uncontrolledProp: "defaultValue",
255
+ description: "Initial selected option",
256
+ multiSelect: (ps) => ps.mode === "multiple",
257
+ options: (ps) => {
258
+ var _a;
259
+ const options = /* @__PURE__ */ new Set();
260
+ if (!ps.useChildren) {
261
+ const rec = (op) => {
262
+ var _a2;
263
+ if (typeof op === "string") {
264
+ return [{ value: op, label: op }];
265
+ } else if ("options" in op) {
266
+ return ((_a2 = op.options) != null ? _a2 : []).flatMap((sub) => rec(sub));
267
+ } else {
268
+ return [{ value: op.value, label: op.label || op.value }];
269
+ }
270
+ };
271
+ return ((_a = ps.options) != null ? _a : []).flatMap((o) => rec(o));
272
+ } else {
273
+ traverseReactEltTree(ps.children, (elt) => {
274
+ var _a2;
275
+ if ((elt == null ? void 0 : elt.type) === Select.Option && typeof ((_a2 = elt == null ? void 0 : elt.props) == null ? void 0 : _a2.value) === "string") {
276
+ options.add(elt.props.value);
277
+ }
278
+ });
279
+ }
280
+ return Array.from(options.keys());
281
+ },
282
+ hidden: (ps) => !!ps.__plasmicFormField
283
+ },
284
+ mode: {
285
+ type: "choice",
286
+ options: ["single", "multiple"],
287
+ defaultValueHint: "single"
288
+ },
289
+ size: {
290
+ type: "choice",
291
+ options: ["small", "middle", "large"]
292
+ },
293
+ disabled: {
294
+ type: "boolean",
295
+ defaultValueHint: false
296
+ },
297
+ showSearch: {
298
+ type: "boolean",
299
+ defaultValueHint: false,
300
+ advanced: true
301
+ },
302
+ status: {
303
+ type: "choice",
304
+ options: ["error", "warning"],
305
+ advanced: true
306
+ },
307
+ bordered: {
308
+ type: "boolean",
309
+ defaultValueHint: true
310
+ },
311
+ autoFocus: {
312
+ type: "boolean",
313
+ displayName: "Focus automatically",
314
+ defaultValueHint: false,
315
+ advanced: true
316
+ },
317
+ onChange: {
318
+ type: "eventHandler",
319
+ argTypes: [
320
+ { name: "value", type: "string" },
321
+ { name: "option", type: "object" }
322
+ ]
323
+ },
324
+ dropdownMatchSelectWidth: {
325
+ type: "boolean",
326
+ displayName: "Should dropdown match trigger button width?",
327
+ defaultValueHint: true,
328
+ advanced: true
329
+ },
330
+ triggerClassName: {
331
+ type: "class",
332
+ displayName: "Trigger styles",
333
+ noSelf: true,
334
+ selectors: [
335
+ {
336
+ selector: ":component .ant-select-selector.ant-select-selector",
337
+ label: "Base"
338
+ },
339
+ {
340
+ selector: ":component .ant-select-selector:hover",
341
+ label: "Hovered"
342
+ }
343
+ ],
344
+ advanced: true
345
+ },
346
+ popupScopeClassName: {
347
+ type: "styleScopeClass",
348
+ scopeName: "popup"
349
+ },
350
+ popupClassName: {
351
+ type: "class",
352
+ displayName: "Popup styles",
353
+ selectors: [],
354
+ advanced: true
355
+ },
356
+ optionClassName: {
357
+ type: "class",
358
+ displayName: "Option styles",
359
+ noSelf: true,
360
+ selectors: [
361
+ {
362
+ selector: ":popup.ant-select-dropdown .ant-select-item-option",
363
+ label: "Base"
364
+ },
365
+ {
366
+ selector: ":popup.ant-select-dropdown .ant-select-item-option-active",
367
+ label: "Focused"
368
+ },
369
+ {
370
+ selector: ":popup.ant-select-dropdown .ant-select-item-option-selected",
371
+ label: "Selected"
372
+ }
373
+ ],
374
+ advanced: true
375
+ },
376
+ placeholderClassName: {
377
+ type: "class",
378
+ displayName: "Placeholder styles",
379
+ selectors: [
380
+ {
381
+ selector: ":component .ant-select-selector .ant-select-selection-placeholder",
382
+ label: "Base"
383
+ }
384
+ ],
385
+ advanced: true
386
+ },
387
+ defaultStylesClassName: {
388
+ type: "themeResetClass"
389
+ }
390
+ },
391
+ states: {
392
+ value: {
393
+ type: "writable",
394
+ valueProp: "value",
395
+ onChangeProp: "onChange",
396
+ variableType: "text"
397
+ }
398
+ }
399
+ }, { trapsSelection: true }), {
400
+ importPath: "@plasmicpkgs/antd5/skinny/registerSelect",
401
+ importName: "AntdSelect"
402
+ }));
403
+ registerComponentHelper(loader, AntdOption, {
404
+ name: optionComponentName,
405
+ displayName: "Option",
406
+ parentComponentName: selectComponentName,
407
+ props: {
408
+ children: __spreadValues({
409
+ type: "slot",
410
+ defaultValue: "Option"
411
+ }, { mergeWithParent: true }),
412
+ value: {
413
+ type: "string"
414
+ }
415
+ },
416
+ importPath: "@plasmicpkgs/antd5/skinny/registerSelect",
417
+ importName: "AntdOption"
418
+ });
419
+ registerComponentHelper(loader, AntdOptionGroup, {
420
+ name: optionGroupComponentName,
421
+ displayName: "Option Group",
422
+ parentComponentName: selectComponentName,
423
+ props: {
424
+ children: {
425
+ type: "slot",
426
+ defaultValue: [
427
+ {
428
+ type: "component",
429
+ name: "plasmic-antd5-option",
430
+ props: {
431
+ value: "option1",
432
+ children: {
433
+ type: "text",
434
+ value: "Option 1"
435
+ }
436
+ }
437
+ },
438
+ {
439
+ type: "component",
440
+ name: "plasmic-antd5-option",
441
+ props: {
442
+ value: "option2",
443
+ children: {
444
+ type: "text",
445
+ value: "Option 1"
446
+ }
447
+ }
448
+ }
449
+ ]
450
+ },
451
+ label: {
452
+ type: "slot",
453
+ defaultValue: "Group label"
454
+ }
455
+ },
456
+ importPath: "@plasmicpkgs/antd5/skinny/registerSelect",
457
+ importName: "AntdOptionGroup"
458
+ });
459
+ }
460
+
461
+ export { AntdOption as A, AntdOptionGroup as a, AntdSelect as b, optionGroupComponentName as c, registerSelect as d, mergeProps as m, optionComponentName as o, reactNodeToString as r, selectComponentName as s };
462
+ //# sourceMappingURL=registerSelect-97163424.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerSelect-97163424.esm.js","sources":["../src/react-utils.tsx","../src/registerSelect.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport React, { isValidElement } from \"react\";\n\nexport const isBrowser = typeof window !== \"undefined\";\nexport const NONE = Symbol(\"NONE\");\n\nexport const useIsomorphicLayoutEffect = isBrowser\n ? React.useLayoutEffect\n : React.useEffect;\n\nexport function createElementWithChildren(\n elementType: any,\n props: any,\n children: React.ReactNode\n) {\n if (Array.isArray(children)) {\n return React.createElement(\n elementType,\n props,\n ...children\n ) as React.ReactElement;\n } else if (children || \"children\" in props) {\n // Only call React.createElement with `children` if there are actual children,\n // or if there was an explicit (albeit undefined) children passed via\n // props. Otherwise, if you pass `undefined` as the children argument\n // to React.createElement, the created element will have prop {children: undefined}.\n // If the `root` is an PlasmicGeneratedComponent, and these props with {children: undefined}\n // are used, then it will be taken as a `children` override, and will thus blank out\n // everything under the root node.\n return React.createElement(elementType, props, children);\n } else {\n return React.createElement(elementType, props);\n }\n}\n\nexport function ensureNotArray(children: React.ReactNode) {\n if (Array.isArray(children)) {\n if (children.length === 1) {\n return children[0];\n } else {\n return React.createElement(React.Fragment, {}, ...children);\n }\n } else {\n return children;\n }\n}\n\n/**\n * Flattens ReactNode into an array of ReactChild, but does NOT replace\n * missing keys with array index, as React.Children.toArray() does.\n */\nexport function toChildArray(children: React.ReactNode): React.ReactChild[] {\n if (isReactChild(children)) {\n return [children];\n } else if (Array.isArray(children)) {\n return children.flatMap(toChildArray);\n } else {\n return [];\n }\n}\n\nexport function isReactText(child: React.ReactNode): child is React.ReactText {\n return typeof child === \"string\" || typeof child === \"number\";\n}\n\nexport function isReactChild(\n child: React.ReactNode\n): child is React.ReactChild {\n return React.isValidElement(child) || isReactText(child);\n}\n\nexport function isReactFragment(\n child: React.ReactNode\n): child is React.ReactElement {\n return React.isValidElement(child) && child.type === React.Fragment;\n}\n\nexport function isReactNode(x: any) {\n return (\n typeof x === \"string\" || typeof x === \"number\" || React.isValidElement(x)\n );\n}\n\n// From https://stackoverflow.com/questions/54775790/forcing-excess-property-checking-on-variable-passed-to-typescript-function\n// We also wrap the error message in a Partial<> because otherwise Jetbrains IDEs will autocomplete the component with all the string methods as props - see https://github.com/plasmicapp/plasmic/issues/16.\nexport type StrictProps<T, TExpected> = Exclude<\n keyof T,\n keyof TExpected\n> extends never\n ? any\n : Partial<\"Unexpected extraneous props\">;\n\nexport type HTMLElementRefOf<T extends keyof JSX.IntrinsicElements> = Exclude<\n React.ComponentProps<T>[\"ref\"],\n string\n>;\n\nexport function mergeProps(\n props: Record<string, any>,\n ...restProps: Record<string, any>[]\n): Record<string, any> {\n if (restProps.every((rest) => Object.keys(rest).length === 0)) {\n return props;\n }\n\n const result = { ...props };\n\n for (const rest of restProps) {\n for (const key of Object.keys(rest)) {\n result[key] = mergePropVals(key, result[key], rest[key]);\n }\n }\n\n return result;\n}\n\nfunction updateRef<T>(ref: React.Ref<T> | undefined, value: T | null) {\n if (!ref) {\n return;\n }\n\n if (typeof ref === \"function\") {\n ref(value);\n } else {\n if (!Object.isFrozen(ref)) {\n (ref as React.MutableRefObject<T | null>).current = value;\n }\n }\n}\n\nexport function mergeRefs<T>(...refs: (React.Ref<T> | undefined)[]) {\n return (value: T) => {\n for (const ref of refs) {\n updateRef(ref, value);\n }\n };\n}\n\nexport function mergePropVals(name: string, val1: any, val2: any): any {\n if (val1 === NONE || val2 === NONE) {\n // The NONE sentinel always skips all merging and returns null\n return null;\n } else if (val1 == null) {\n // If either of them is nil, prefer the other\n return val2;\n } else if (val2 == null) {\n return val1;\n } else if (name === \"className\") {\n // Special case for className -- always combine both class names\n return classNames(val1, val2);\n } else if (name === \"style\") {\n // Special case for style -- always shallow-merge style dicts\n return { ...val1, ...val2 };\n } else if (name === \"ref\") {\n // Special case for ref\n return mergeRefs(val1, val2);\n } else if (typeof val1 !== typeof val2) {\n // If the type of the two values are different, then no way to merge them.\n // Prefer val2.\n return val2;\n } else if (name.startsWith(\"on\") && typeof val1 === \"function\") {\n // Special case for event handlers -- always call both handlers\n return (...args: any[]) => {\n let res: any;\n if (typeof val1 === \"function\") {\n res = val1(...args);\n }\n if (typeof val2 === \"function\") {\n res = val2(...args);\n }\n return res;\n };\n } else {\n // For all else, prefer val2\n return val2;\n }\n}\n\nexport function getElementTypeName(element: React.ReactElement) {\n if (typeof element.type === \"string\") {\n return element.type;\n } else {\n const comp = element.type as any;\n return comp.displayName ?? comp.name ?? comp.render?.name ?? \"Component\";\n }\n}\n\nexport function reactNodeToString(reactNode: React.ReactNode): string {\n let string = \"\";\n if (typeof reactNode === \"string\") {\n string = reactNode;\n } else if (typeof reactNode === \"number\") {\n string = reactNode.toString();\n } else if (reactNode instanceof Array) {\n reactNode.forEach(function (child) {\n string += reactNodeToString(child);\n });\n } else if (isValidElement(reactNode)) {\n string += reactNodeToString(reactNode.props.children);\n }\n return string;\n}\n","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 = 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 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":["__spreadValues","_a"],"mappings":"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"}