@plasmicpkgs/react-aria 0.0.2

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 (86) hide show
  1. package/LICENSE.md +21 -0
  2. package/dist/.tsbuildinfo +1 -0
  3. package/dist/contexts.d.ts +14 -0
  4. package/dist/index.d.ts +2 -0
  5. package/dist/option-utils.d.ts +51 -0
  6. package/dist/react-aria.esm.js +1191 -0
  7. package/dist/react-aria.esm.js.map +1 -0
  8. package/dist/react-aria.js +1198 -0
  9. package/dist/react-aria.js.map +1 -0
  10. package/dist/registerButton.d.ts +4 -0
  11. package/dist/registerComboBox.d.ts +21 -0
  12. package/dist/registerHeader.d.ts +5 -0
  13. package/dist/registerInput.d.ts +5 -0
  14. package/dist/registerLabel.d.ts +5 -0
  15. package/dist/registerListBox.d.ts +14 -0
  16. package/dist/registerListBoxItem.d.ts +7 -0
  17. package/dist/registerPopover.d.ts +7 -0
  18. package/dist/registerSection.d.ts +14 -0
  19. package/dist/registerSelect.d.ts +23 -0
  20. package/dist/utils.d.ts +18 -0
  21. package/package.json +74 -0
  22. package/skinny/contexts-c0294d96.cjs.js +24 -0
  23. package/skinny/contexts-c0294d96.cjs.js.map +1 -0
  24. package/skinny/contexts-fd3e1077.esm.js +12 -0
  25. package/skinny/contexts-fd3e1077.esm.js.map +1 -0
  26. package/skinny/contexts.d.ts +14 -0
  27. package/skinny/option-utils-0db61f6d.cjs.js +162 -0
  28. package/skinny/option-utils-0db61f6d.cjs.js.map +1 -0
  29. package/skinny/option-utils-765a1782.esm.js +153 -0
  30. package/skinny/option-utils-765a1782.esm.js.map +1 -0
  31. package/skinny/option-utils.d.ts +51 -0
  32. package/skinny/registerButton.cjs.js +31 -0
  33. package/skinny/registerButton.cjs.js.map +1 -0
  34. package/skinny/registerButton.d.ts +4 -0
  35. package/skinny/registerButton.esm.js +26 -0
  36. package/skinny/registerButton.esm.js.map +1 -0
  37. package/skinny/registerComboBox.cjs.js +291 -0
  38. package/skinny/registerComboBox.cjs.js.map +1 -0
  39. package/skinny/registerComboBox.d.ts +21 -0
  40. package/skinny/registerComboBox.esm.js +284 -0
  41. package/skinny/registerComboBox.esm.js.map +1 -0
  42. package/skinny/registerHeader.cjs.js +51 -0
  43. package/skinny/registerHeader.cjs.js.map +1 -0
  44. package/skinny/registerHeader.d.ts +5 -0
  45. package/skinny/registerHeader.esm.js +44 -0
  46. package/skinny/registerHeader.esm.js.map +1 -0
  47. package/skinny/registerInput.cjs.js +78 -0
  48. package/skinny/registerInput.cjs.js.map +1 -0
  49. package/skinny/registerInput.d.ts +5 -0
  50. package/skinny/registerInput.esm.js +71 -0
  51. package/skinny/registerInput.esm.js.map +1 -0
  52. package/skinny/registerLabel.cjs.js +59 -0
  53. package/skinny/registerLabel.cjs.js.map +1 -0
  54. package/skinny/registerLabel.d.ts +5 -0
  55. package/skinny/registerLabel.esm.js +52 -0
  56. package/skinny/registerLabel.esm.js.map +1 -0
  57. package/skinny/registerListBox.cjs.js +145 -0
  58. package/skinny/registerListBox.cjs.js.map +1 -0
  59. package/skinny/registerListBox.d.ts +14 -0
  60. package/skinny/registerListBox.esm.js +138 -0
  61. package/skinny/registerListBox.esm.js.map +1 -0
  62. package/skinny/registerListBoxItem.cjs.js +72 -0
  63. package/skinny/registerListBoxItem.cjs.js.map +1 -0
  64. package/skinny/registerListBoxItem.d.ts +7 -0
  65. package/skinny/registerListBoxItem.esm.js +65 -0
  66. package/skinny/registerListBoxItem.esm.js.map +1 -0
  67. package/skinny/registerPopover.cjs.js +111 -0
  68. package/skinny/registerPopover.cjs.js.map +1 -0
  69. package/skinny/registerPopover.d.ts +7 -0
  70. package/skinny/registerPopover.esm.js +104 -0
  71. package/skinny/registerPopover.esm.js.map +1 -0
  72. package/skinny/registerSection.cjs.js +82 -0
  73. package/skinny/registerSection.cjs.js.map +1 -0
  74. package/skinny/registerSection.d.ts +14 -0
  75. package/skinny/registerSection.esm.js +75 -0
  76. package/skinny/registerSection.esm.js.map +1 -0
  77. package/skinny/registerSelect.cjs.js +199 -0
  78. package/skinny/registerSelect.cjs.js.map +1 -0
  79. package/skinny/registerSelect.d.ts +23 -0
  80. package/skinny/registerSelect.esm.js +189 -0
  81. package/skinny/registerSelect.esm.js.map +1 -0
  82. package/skinny/utils-044c7f37.cjs.js +74 -0
  83. package/skinny/utils-044c7f37.cjs.js.map +1 -0
  84. package/skinny/utils-d92b3b76.esm.js +64 -0
  85. package/skinny/utils-d92b3b76.esm.js.map +1 -0
  86. package/skinny/utils.d.ts +18 -0
@@ -0,0 +1,1198 @@
1
+ 'use strict';
2
+
3
+ var reactAriaComponents = require('react-aria-components');
4
+ var registerComponent = require('@plasmicapp/host/registerComponent');
5
+ var i18n = require('@react-aria/i18n');
6
+ var React = require('react');
7
+ var utils = require('@react-aria/utils');
8
+ var host = require('@plasmicapp/host');
9
+
10
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
+
12
+ var registerComponent__default = /*#__PURE__*/_interopDefault(registerComponent);
13
+ var React__default = /*#__PURE__*/_interopDefault(React);
14
+
15
+ var __defProp$9 = Object.defineProperty;
16
+ var __defProps$3 = Object.defineProperties;
17
+ var __getOwnPropDescs$3 = Object.getOwnPropertyDescriptors;
18
+ var __getOwnPropSymbols$9 = Object.getOwnPropertySymbols;
19
+ var __hasOwnProp$9 = Object.prototype.hasOwnProperty;
20
+ var __propIsEnum$9 = Object.prototype.propertyIsEnumerable;
21
+ var __defNormalProp$9 = (obj, key, value) => key in obj ? __defProp$9(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
22
+ var __spreadValues$9 = (a, b) => {
23
+ for (var prop in b || (b = {}))
24
+ if (__hasOwnProp$9.call(b, prop))
25
+ __defNormalProp$9(a, prop, b[prop]);
26
+ if (__getOwnPropSymbols$9)
27
+ for (var prop of __getOwnPropSymbols$9(b)) {
28
+ if (__propIsEnum$9.call(b, prop))
29
+ __defNormalProp$9(a, prop, b[prop]);
30
+ }
31
+ return a;
32
+ };
33
+ var __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));
34
+ function registerComponentHelper(loader, component, meta, overrides) {
35
+ if (overrides) {
36
+ meta = __spreadProps$3(__spreadValues$9(__spreadValues$9({}, meta), overrides), {
37
+ props: __spreadValues$9(__spreadValues$9({}, meta.props), overrides.props)
38
+ });
39
+ if (overrides.parentComponentName) {
40
+ meta.name = makeChildComponentName(
41
+ overrides.parentComponentName,
42
+ meta.name
43
+ );
44
+ }
45
+ }
46
+ if (loader) {
47
+ loader.registerComponent(component, meta);
48
+ } else {
49
+ registerComponent__default.default(component, meta);
50
+ }
51
+ }
52
+ function makeComponentName(name) {
53
+ return `plasmic-react-aria-${name}`;
54
+ }
55
+ function makeChildComponentName(fullParentName, fullChildName) {
56
+ if (!fullParentName) {
57
+ return fullChildName;
58
+ }
59
+ return `${fullParentName}-${fullChildName.replace(
60
+ "plasmic-react-aria-",
61
+ ""
62
+ )}`;
63
+ }
64
+ function extractPlasmicDataProps(props) {
65
+ return Object.fromEntries(
66
+ Object.entries(props).filter(
67
+ ([key, val]) => key.startsWith("data-plasmic-")
68
+ )
69
+ );
70
+ }
71
+ function withoutNils(array) {
72
+ return array.filter((x) => x != null);
73
+ }
74
+
75
+ function registerButton(loader, overrides) {
76
+ registerComponentHelper(
77
+ loader,
78
+ reactAriaComponents.Button,
79
+ {
80
+ name: "plasmic-react-aria-button",
81
+ displayName: "BaseButton",
82
+ importPath: "@plasmicpkgs/react-aria/registerButton",
83
+ importName: "BaseButton",
84
+ props: {
85
+ children: {
86
+ type: "slot"
87
+ }
88
+ }
89
+ },
90
+ overrides
91
+ );
92
+ }
93
+
94
+ const PlasmicLabelContext = React__default.default.createContext(void 0);
95
+ const PlasmicListBoxContext = React__default.default.createContext(void 0);
96
+ const PlasmicPopoverContext = React__default.default.createContext(void 0);
97
+ const PlasmicItemContext = React__default.default.createContext(void 0);
98
+ const PlasmicSectionContext = React__default.default.createContext(void 0);
99
+ const PlasmicHeaderContext = React__default.default.createContext(void 0);
100
+ const PlasmicInputContext = React__default.default.createContext(void 0);
101
+
102
+ function useStrictOptions(props) {
103
+ const { options, optionInfo } = props;
104
+ return React__default.default.useMemo(() => {
105
+ return deriveStrictOptions({ options, optionInfo });
106
+ }, [options, optionInfo]);
107
+ }
108
+ function deriveStrictOptions(props) {
109
+ var _a;
110
+ const { options, optionInfo } = props;
111
+ let sectionCount = 0;
112
+ const makeStrict = (op) => {
113
+ var _a2, _b, _c, _d, _e, _f;
114
+ if (!op) {
115
+ return void 0;
116
+ } else if (typeof op === "string" || typeof op === "number") {
117
+ const item = {
118
+ value: op
119
+ };
120
+ return item;
121
+ } else if (optionInfo) {
122
+ const info = optionInfo(op);
123
+ if (info.type === "section") {
124
+ const section = {
125
+ type: "section",
126
+ items: (_c = (_b = (_a2 = info.items) == null ? void 0 : _a2.map) == null ? void 0 : _b.call(_a2, (item) => makeStrict(item))) == null ? void 0 : _c.filter((x) => !!x),
127
+ label: info.label,
128
+ key: `section-${sectionCount}`
129
+ };
130
+ sectionCount += 1;
131
+ return section;
132
+ } else {
133
+ let item = info;
134
+ if (!("value" in item)) {
135
+ item = {
136
+ type: "item",
137
+ value: JSON.stringify(item)
138
+ };
139
+ }
140
+ return item;
141
+ }
142
+ } else if (typeof op === "object") {
143
+ if ("items" in op) {
144
+ const section = {
145
+ type: "section",
146
+ items: (_f = (_e = (_d = op.items) == null ? void 0 : _d.map) == null ? void 0 : _e.call(_d, (item) => makeStrict(item))) == null ? void 0 : _f.filter((x) => !!x),
147
+ label: op.label,
148
+ key: `section-${sectionCount}`
149
+ };
150
+ sectionCount += 1;
151
+ return section;
152
+ } else {
153
+ let item = op;
154
+ if (!("value" in item)) {
155
+ item = {
156
+ type: "item",
157
+ value: JSON.stringify(item)
158
+ };
159
+ }
160
+ return item;
161
+ }
162
+ } else {
163
+ return void 0;
164
+ }
165
+ };
166
+ const strictOptions = (_a = options == null ? void 0 : options.map(makeStrict)) == null ? void 0 : _a.filter((x) => !!x);
167
+ const optionText = (op) => {
168
+ var _a2;
169
+ return (_a2 = op.label) != null ? _a2 : op.value;
170
+ };
171
+ return { options: strictOptions, optionText };
172
+ }
173
+ function flattenOptions(options) {
174
+ if (!options) {
175
+ return [];
176
+ } else {
177
+ return options.flatMap(
178
+ (op) => {
179
+ var _a;
180
+ return op.type === "section" ? (_a = op.items) != null ? _a : [] : op;
181
+ }
182
+ );
183
+ }
184
+ }
185
+ function makeOptionsPropType() {
186
+ const type = {
187
+ type: "array",
188
+ itemType: {
189
+ type: "object",
190
+ nameFunc: (item) => item.label || item.value,
191
+ fields: {
192
+ type: {
193
+ type: "choice",
194
+ options: [
195
+ { value: "option", label: "Option" },
196
+ { value: "option-group", label: "Option Group" }
197
+ ],
198
+ defaultValue: "option"
199
+ },
200
+ value: {
201
+ type: "string",
202
+ hidden: (_ps, _ctx, { item }) => item.type !== "option"
203
+ },
204
+ label: "string",
205
+ items: {
206
+ type: "array",
207
+ displayName: "Options",
208
+ hidden: (_ps, _ctx, { item }) => {
209
+ return item.type !== "option-group";
210
+ },
211
+ itemType: {
212
+ type: "object",
213
+ nameFunc: (item) => item.label || item.value,
214
+ fields: {
215
+ value: "string",
216
+ label: "string"
217
+ }
218
+ }
219
+ }
220
+ }
221
+ },
222
+ defaultValue: [
223
+ {
224
+ value: "option1",
225
+ label: "Option 1",
226
+ type: "option"
227
+ },
228
+ {
229
+ value: "option2",
230
+ label: "Option 2",
231
+ type: "option"
232
+ }
233
+ ]
234
+ };
235
+ return type;
236
+ }
237
+ function makeValuePropType() {
238
+ const type = {
239
+ type: "choice",
240
+ options: (ps) => {
241
+ const { options, optionText } = deriveStrictOptions(ps);
242
+ return flattenOptions(options).map((op) => ({
243
+ value: op.value,
244
+ label: optionText(op)
245
+ }));
246
+ }
247
+ };
248
+ return type;
249
+ }
250
+
251
+ var __defProp$8 = Object.defineProperty;
252
+ var __defProps$2 = Object.defineProperties;
253
+ var __getOwnPropDescs$2 = Object.getOwnPropertyDescriptors;
254
+ var __getOwnPropSymbols$8 = Object.getOwnPropertySymbols;
255
+ var __hasOwnProp$8 = Object.prototype.hasOwnProperty;
256
+ var __propIsEnum$8 = Object.prototype.propertyIsEnumerable;
257
+ var __defNormalProp$8 = (obj, key, value) => key in obj ? __defProp$8(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
258
+ var __spreadValues$8 = (a, b) => {
259
+ for (var prop in b || (b = {}))
260
+ if (__hasOwnProp$8.call(b, prop))
261
+ __defNormalProp$8(a, prop, b[prop]);
262
+ if (__getOwnPropSymbols$8)
263
+ for (var prop of __getOwnPropSymbols$8(b)) {
264
+ if (__propIsEnum$8.call(b, prop))
265
+ __defNormalProp$8(a, prop, b[prop]);
266
+ }
267
+ return a;
268
+ };
269
+ var __spreadProps$2 = (a, b) => __defProps$2(a, __getOwnPropDescs$2(b));
270
+ function BaseComboBox(props) {
271
+ const {
272
+ value,
273
+ onChange,
274
+ menuTrigger,
275
+ filterValue,
276
+ onFilterValueChange,
277
+ valueType,
278
+ allowsCustomValue,
279
+ placeholder,
280
+ previewOpen,
281
+ onOpenChange,
282
+ isDisabled,
283
+ className,
284
+ style,
285
+ structure,
286
+ name
287
+ } = props;
288
+ const { options, optionText } = useStrictOptions(props);
289
+ const { contains } = i18n.useFilter({ sensitivity: "base" });
290
+ const [showAllOptions, setShowAllOptions] = React__default.default.useState(false);
291
+ const filteredOptions = React__default.default.useMemo(() => {
292
+ if (!filterValue || filterValue.trim().length === 0) {
293
+ return options;
294
+ }
295
+ if (!options) {
296
+ return options;
297
+ }
298
+ const filterOptions = (options2) => {
299
+ return withoutNils(
300
+ options2.map((op) => {
301
+ if (op.type === "section") {
302
+ return __spreadProps$2(__spreadValues$8({}, op), {
303
+ items: op.items ? filterOptions(op.items) : void 0
304
+ });
305
+ } else {
306
+ if (contains(optionText(op), filterValue)) {
307
+ return op;
308
+ } else {
309
+ return void 0;
310
+ }
311
+ }
312
+ })
313
+ );
314
+ };
315
+ return filterOptions(options);
316
+ }, [options, filterValue, contains]);
317
+ const flattenedOptions = React__default.default.useMemo(
318
+ () => flattenOptions(options),
319
+ [options]
320
+ );
321
+ const disabledKeys = flattenedOptions.filter((op) => op.isDisabled).map((op) => op.value);
322
+ const onSelectionChange = React__default.default.useCallback(
323
+ (key) => {
324
+ const selectedOption = flattenedOptions == null ? void 0 : flattenedOptions.find((op) => op.value === key);
325
+ if (valueType === "text") {
326
+ if (selectedOption) {
327
+ onChange == null ? void 0 : onChange(optionText(selectedOption));
328
+ }
329
+ } else {
330
+ onChange == null ? void 0 : onChange(key);
331
+ }
332
+ if (selectedOption) {
333
+ onFilterValueChange == null ? void 0 : onFilterValueChange(optionText(selectedOption));
334
+ }
335
+ },
336
+ [onChange, onFilterValueChange, flattenedOptions, optionText]
337
+ );
338
+ const onInputValueChange = React__default.default.useCallback(
339
+ (newValue) => {
340
+ onFilterValueChange == null ? void 0 : onFilterValueChange(newValue);
341
+ setShowAllOptions(false);
342
+ if (valueType === "text") {
343
+ if (allowsCustomValue) {
344
+ onChange == null ? void 0 : onChange(newValue);
345
+ } else {
346
+ const matchingOption = flattenedOptions == null ? void 0 : flattenedOptions.find(
347
+ (op) => optionText(op) === newValue
348
+ );
349
+ if (matchingOption) {
350
+ onChange == null ? void 0 : onChange(optionText(matchingOption));
351
+ }
352
+ }
353
+ }
354
+ },
355
+ [
356
+ onFilterValueChange,
357
+ onChange,
358
+ flattenedOptions,
359
+ optionText,
360
+ valueType,
361
+ allowsCustomValue
362
+ ]
363
+ );
364
+ const onBlur = React__default.default.useCallback(() => {
365
+ if (!allowsCustomValue) {
366
+ const selectedOption = flattenedOptions == null ? void 0 : flattenedOptions.find(
367
+ (op) => valueType === "text" ? optionText(op) === value : op.value === value
368
+ );
369
+ if (selectedOption) {
370
+ const selectedOptionText = optionText(selectedOption);
371
+ if (selectedOptionText !== filterValue) {
372
+ onFilterValueChange == null ? void 0 : onFilterValueChange(selectedOptionText);
373
+ }
374
+ }
375
+ }
376
+ }, [
377
+ allowsCustomValue,
378
+ valueType,
379
+ flattenedOptions,
380
+ value,
381
+ optionText,
382
+ onFilterValueChange
383
+ ]);
384
+ return /* @__PURE__ */ React__default.default.createElement(
385
+ reactAriaComponents.ComboBox,
386
+ __spreadValues$8({
387
+ selectedKey: value,
388
+ onSelectionChange,
389
+ isDisabled,
390
+ className,
391
+ style,
392
+ items: showAllOptions ? options : filteredOptions,
393
+ menuTrigger,
394
+ inputValue: filterValue,
395
+ onInputChange: onInputValueChange,
396
+ allowsCustomValue,
397
+ disabledKeys,
398
+ onOpenChange: (isOpen, trigger) => {
399
+ if (isOpen && trigger === "manual") {
400
+ setShowAllOptions(true);
401
+ } else {
402
+ setShowAllOptions(false);
403
+ }
404
+ onOpenChange == null ? void 0 : onOpenChange(isOpen);
405
+ },
406
+ onBlur,
407
+ formValue: valueType === "text" ? "text" : "key",
408
+ name
409
+ }, extractPlasmicDataProps(props)),
410
+ /* @__PURE__ */ React__default.default.createElement(
411
+ PlasmicListBoxContext.Provider,
412
+ {
413
+ value: {
414
+ makeItemProps: (item) => ({
415
+ key: item.value,
416
+ textValue: optionText(item),
417
+ children: optionText(item)
418
+ }),
419
+ makeSectionProps: (section) => ({
420
+ section,
421
+ key: section.key
422
+ }),
423
+ getItemType: (option) => option.type === "section" ? "section" : "item"
424
+ }
425
+ },
426
+ /* @__PURE__ */ React__default.default.createElement(PlasmicInputContext.Provider, { value: { placeholder } }, structure)
427
+ ),
428
+ /* @__PURE__ */ React__default.default.createElement(BaseComboBoxEffects, { previewOpen })
429
+ );
430
+ }
431
+ function BaseComboBoxEffects(props) {
432
+ const { previewOpen } = props;
433
+ const comboBoxState = React__default.default.useContext(reactAriaComponents.ComboBoxStateContext);
434
+ const prevPreviewOpenRef = React__default.default.useRef(previewOpen);
435
+ React__default.default.useEffect(() => {
436
+ if (comboBoxState) {
437
+ if (previewOpen) {
438
+ comboBoxState.open(void 0, "manual");
439
+ } else if (prevPreviewOpenRef.current) {
440
+ comboBoxState.close();
441
+ }
442
+ }
443
+ prevPreviewOpenRef.current = previewOpen;
444
+ }, [previewOpen, comboBoxState, prevPreviewOpenRef]);
445
+ return null;
446
+ }
447
+ function registerComboBox(loader) {
448
+ const rootName = makeComponentName("combobox");
449
+ registerComponentHelper(loader, BaseComboBox, {
450
+ name: rootName,
451
+ displayName: "BaseComboBox",
452
+ importPath: "@plasmicpkgs/react-aria/registerComboBox",
453
+ importName: "BaseComboBox",
454
+ props: {
455
+ options: makeOptionsPropType(),
456
+ value: makeValuePropType(),
457
+ onChange: {
458
+ type: "eventHandler",
459
+ argTypes: [{ name: "value", type: "string" }]
460
+ },
461
+ filterValue: {
462
+ type: "string"
463
+ },
464
+ onFilterValueChange: {
465
+ type: "eventHandler",
466
+ argTypes: [{ name: "value", type: "string" }]
467
+ },
468
+ isDisabled: {
469
+ type: "boolean"
470
+ },
471
+ valueType: {
472
+ displayName: "`value` Type",
473
+ type: "choice",
474
+ options: [
475
+ { value: "value", label: "By option value" },
476
+ { value: "text", label: "By option text" }
477
+ ],
478
+ defaultValueHint: "value",
479
+ description: "This controls whether `value` and `onChange` are option values or option text. Choosing `text` allows you to optionally allow a custom value that's not in the provided list of options.",
480
+ advanced: true
481
+ },
482
+ allowsCustomValue: {
483
+ type: "boolean",
484
+ displayName: "Allows custom value?",
485
+ description: "Allows entering a value that is not one of the options",
486
+ hidden: (ps) => ps.valueType !== "text",
487
+ advanced: true
488
+ },
489
+ onOpenChange: {
490
+ type: "eventHandler",
491
+ argTypes: [{ name: "isOpen", type: "boolean" }]
492
+ },
493
+ structure: {
494
+ type: "slot"
495
+ },
496
+ previewOpen: {
497
+ type: "boolean",
498
+ displayName: "Preview opened?",
499
+ description: "Preview opened state while designing in Plasmic editor",
500
+ editOnly: true
501
+ }
502
+ },
503
+ states: {
504
+ value: {
505
+ type: "writable",
506
+ valueProp: "value",
507
+ onChangeProp: "onChange",
508
+ variableType: "text"
509
+ },
510
+ filterValue: {
511
+ type: "writable",
512
+ valueProp: "filterValue",
513
+ onChangeProp: "onFilterValueChange",
514
+ variableType: "text"
515
+ },
516
+ isOpen: {
517
+ type: "readonly",
518
+ onChangeProp: "onOpenChange",
519
+ variableType: "boolean"
520
+ }
521
+ }
522
+ });
523
+ }
524
+
525
+ var __defProp$7 = Object.defineProperty;
526
+ var __getOwnPropSymbols$7 = Object.getOwnPropertySymbols;
527
+ var __hasOwnProp$7 = Object.prototype.hasOwnProperty;
528
+ var __propIsEnum$7 = Object.prototype.propertyIsEnumerable;
529
+ var __defNormalProp$7 = (obj, key, value) => key in obj ? __defProp$7(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
530
+ var __spreadValues$7 = (a, b) => {
531
+ for (var prop in b || (b = {}))
532
+ if (__hasOwnProp$7.call(b, prop))
533
+ __defNormalProp$7(a, prop, b[prop]);
534
+ if (__getOwnPropSymbols$7)
535
+ for (var prop of __getOwnPropSymbols$7(b)) {
536
+ if (__propIsEnum$7.call(b, prop))
537
+ __defNormalProp$7(a, prop, b[prop]);
538
+ }
539
+ return a;
540
+ };
541
+ function BaseInput(props) {
542
+ const contextProps = React__default.default.useContext(PlasmicInputContext);
543
+ return /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Input, __spreadValues$7({}, utils.mergeProps(contextProps, props)));
544
+ }
545
+ function registerInput(loader, overrides) {
546
+ registerComponentHelper(
547
+ loader,
548
+ BaseInput,
549
+ {
550
+ name: makeComponentName("input"),
551
+ displayName: "BaseInput",
552
+ importPath: "@plasmicpkgs/react-aria/registerInput",
553
+ importName: "BaseInput",
554
+ props: {
555
+ className: {
556
+ type: "class",
557
+ displayName: "Styles in different states",
558
+ selectors: [
559
+ {
560
+ selector: ":self[data-hovered]",
561
+ label: "Hovered"
562
+ },
563
+ {
564
+ selector: ":self[data-focused]",
565
+ label: "Focused"
566
+ },
567
+ {
568
+ selector: ":self[data-focus-visible]",
569
+ label: "Focus visible"
570
+ },
571
+ {
572
+ selector: ":self[data-disabled]",
573
+ label: "Disabled"
574
+ },
575
+ {
576
+ selector: ":self::placeholder",
577
+ label: "Placeholder"
578
+ }
579
+ ]
580
+ }
581
+ }
582
+ },
583
+ overrides
584
+ );
585
+ }
586
+
587
+ var __defProp$6 = Object.defineProperty;
588
+ var __getOwnPropSymbols$6 = Object.getOwnPropertySymbols;
589
+ var __hasOwnProp$6 = Object.prototype.hasOwnProperty;
590
+ var __propIsEnum$6 = Object.prototype.propertyIsEnumerable;
591
+ var __defNormalProp$6 = (obj, key, value) => key in obj ? __defProp$6(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
592
+ var __spreadValues$6 = (a, b) => {
593
+ for (var prop in b || (b = {}))
594
+ if (__hasOwnProp$6.call(b, prop))
595
+ __defNormalProp$6(a, prop, b[prop]);
596
+ if (__getOwnPropSymbols$6)
597
+ for (var prop of __getOwnPropSymbols$6(b)) {
598
+ if (__propIsEnum$6.call(b, prop))
599
+ __defNormalProp$6(a, prop, b[prop]);
600
+ }
601
+ return a;
602
+ };
603
+ function BaseLabel(props) {
604
+ const contextProps = React__default.default.useContext(PlasmicLabelContext);
605
+ return /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Label, __spreadValues$6({}, utils.mergeProps(contextProps, props)));
606
+ }
607
+ function registerLabel(loader, overrides) {
608
+ registerComponentHelper(
609
+ loader,
610
+ BaseLabel,
611
+ {
612
+ name: "plasmic-react-aria-label",
613
+ displayName: "BaseLabel",
614
+ importPath: "@plasmicpkgs/react-aria/registerLabel",
615
+ importName: "BaseLabel",
616
+ props: {
617
+ children: {
618
+ type: "slot",
619
+ defaultValue: {
620
+ type: "text",
621
+ value: "Label"
622
+ }
623
+ }
624
+ }
625
+ },
626
+ overrides
627
+ );
628
+ }
629
+
630
+ var __defProp$5 = Object.defineProperty;
631
+ var __getOwnPropSymbols$5 = Object.getOwnPropertySymbols;
632
+ var __hasOwnProp$5 = Object.prototype.hasOwnProperty;
633
+ var __propIsEnum$5 = Object.prototype.propertyIsEnumerable;
634
+ var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
635
+ var __spreadValues$5 = (a, b) => {
636
+ for (var prop in b || (b = {}))
637
+ if (__hasOwnProp$5.call(b, prop))
638
+ __defNormalProp$5(a, prop, b[prop]);
639
+ if (__getOwnPropSymbols$5)
640
+ for (var prop of __getOwnPropSymbols$5(b)) {
641
+ if (__propIsEnum$5.call(b, prop))
642
+ __defNormalProp$5(a, prop, b[prop]);
643
+ }
644
+ return a;
645
+ };
646
+ function BaseListBoxItem(props) {
647
+ var _a;
648
+ const contextProps = React__default.default.useContext(PlasmicItemContext);
649
+ const mergedProps = utils.mergeProps(contextProps, props);
650
+ return /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.ListBoxItem, __spreadValues$5({ id: (_a = mergedProps.key) != null ? _a : void 0 }, mergedProps));
651
+ }
652
+ function registerListBoxItem(loader, overrides) {
653
+ registerComponentHelper(
654
+ loader,
655
+ BaseListBoxItem,
656
+ {
657
+ name: makeComponentName("item"),
658
+ displayName: "BaseListBoxItem",
659
+ importPath: "@plasmicpkgs/react-aria/registerListBoxItem",
660
+ importName: "BaseListBoxItem",
661
+ props: {
662
+ className: {
663
+ type: "class",
664
+ displayName: "Styles in different states",
665
+ selectors: [
666
+ {
667
+ selector: ":self[data-selected]",
668
+ label: "Selected"
669
+ },
670
+ {
671
+ selector: ":self[data-focused], :self[data-hovered]",
672
+ label: "Focused"
673
+ },
674
+ {
675
+ selector: ":self[data-disabled]",
676
+ label: "Disabled"
677
+ }
678
+ ]
679
+ }
680
+ }
681
+ },
682
+ overrides
683
+ );
684
+ }
685
+
686
+ var __defProp$4 = Object.defineProperty;
687
+ var __defProps$1 = Object.defineProperties;
688
+ var __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors;
689
+ var __getOwnPropSymbols$4 = Object.getOwnPropertySymbols;
690
+ var __hasOwnProp$4 = Object.prototype.hasOwnProperty;
691
+ var __propIsEnum$4 = Object.prototype.propertyIsEnumerable;
692
+ var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
693
+ var __spreadValues$4 = (a, b) => {
694
+ for (var prop in b || (b = {}))
695
+ if (__hasOwnProp$4.call(b, prop))
696
+ __defNormalProp$4(a, prop, b[prop]);
697
+ if (__getOwnPropSymbols$4)
698
+ for (var prop of __getOwnPropSymbols$4(b)) {
699
+ if (__propIsEnum$4.call(b, prop))
700
+ __defNormalProp$4(a, prop, b[prop]);
701
+ }
702
+ return a;
703
+ };
704
+ var __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));
705
+ var __objRest$2 = (source, exclude) => {
706
+ var target = {};
707
+ for (var prop in source)
708
+ if (__hasOwnProp$4.call(source, prop) && exclude.indexOf(prop) < 0)
709
+ target[prop] = source[prop];
710
+ if (source != null && __getOwnPropSymbols$4)
711
+ for (var prop of __getOwnPropSymbols$4(source)) {
712
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$4.call(source, prop))
713
+ target[prop] = source[prop];
714
+ }
715
+ return target;
716
+ };
717
+ const STANDALONE_PROPS = {
718
+ getItemType: (item) => item.type,
719
+ items: [
720
+ { type: "item", value: "op1", label: "Option 1" },
721
+ { type: "item", value: "op2", label: "Option 2" },
722
+ { type: "item", value: "op3", label: "Option 3" },
723
+ {
724
+ type: "section",
725
+ label: "Section 1",
726
+ items: [
727
+ { type: "item", value: "s1op1", label: "Section 1 Option 1" },
728
+ { type: "item", value: "s1op2", label: "Section 1 Option 2" },
729
+ { type: "item", value: "s1op3", label: "Section 1 Option 3" }
730
+ ]
731
+ },
732
+ {
733
+ type: "section",
734
+ label: "Section 2",
735
+ items: [
736
+ { type: "item", value: "s2op1", label: "Section 2 Option 1" },
737
+ { type: "item", value: "s2op2", label: "Section 2 Option 2" },
738
+ { type: "item", value: "s2op3", label: "Section 2 Option 3" }
739
+ ]
740
+ }
741
+ ],
742
+ makeItemProps: (item) => ({
743
+ key: item.value,
744
+ textValue: item.label,
745
+ children: item.label
746
+ }),
747
+ makeSectionProps: (section) => ({
748
+ section,
749
+ key: section.label
750
+ })
751
+ };
752
+ function BaseListBox(props) {
753
+ const contextProps = React__default.default.useContext(PlasmicListBoxContext);
754
+ const isStandalone = !React__default.default.useContext(reactAriaComponents.ListBoxContext);
755
+ const _a = utils.mergeProps(contextProps, props, isStandalone ? STANDALONE_PROPS : {}), {
756
+ makeItemProps,
757
+ makeSectionProps,
758
+ renderItem,
759
+ renderSection,
760
+ getItemType
761
+ } = _a, rest = __objRest$2(_a, [
762
+ "makeItemProps",
763
+ "makeSectionProps",
764
+ "renderItem",
765
+ "renderSection",
766
+ "getItemType"
767
+ ]);
768
+ return /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.ListBox, __spreadValues$4({}, utils.mergeProps(contextProps, rest)), (item) => {
769
+ if ((getItemType == null ? void 0 : getItemType(item)) === "section") {
770
+ const sectionProps = makeSectionProps == null ? void 0 : makeSectionProps(item);
771
+ return /* @__PURE__ */ React__default.default.createElement(
772
+ PlasmicSectionContext.Provider,
773
+ {
774
+ key: sectionProps == null ? void 0 : sectionProps.key,
775
+ value: __spreadProps$1(__spreadValues$4({}, sectionProps), { makeItemProps, renderItem })
776
+ },
777
+ renderSection == null ? void 0 : renderSection(item)
778
+ );
779
+ } else {
780
+ const itemProps = makeItemProps == null ? void 0 : makeItemProps(item);
781
+ return /* @__PURE__ */ React__default.default.createElement(PlasmicItemContext.Provider, { key: itemProps == null ? void 0 : itemProps.key, value: itemProps }, renderItem == null ? void 0 : renderItem(item));
782
+ }
783
+ });
784
+ }
785
+ function registerListBox(loader, overrides) {
786
+ registerComponentHelper(
787
+ loader,
788
+ BaseListBox,
789
+ {
790
+ name: makeComponentName("listbox"),
791
+ displayName: "BaseListBox",
792
+ importPath: "@plasmicpkgs/react-aria/registerListBox",
793
+ importName: "BaseListBox",
794
+ props: {
795
+ renderItem: {
796
+ type: "slot",
797
+ displayName: "Render Item",
798
+ renderPropParams: ["item"]
799
+ },
800
+ renderSection: {
801
+ type: "slot",
802
+ displayName: "Render Section",
803
+ renderPropParams: ["section"]
804
+ }
805
+ }
806
+ },
807
+ overrides
808
+ );
809
+ registerListBoxItem(loader, {
810
+ parentComponentName: makeComponentName("listbox")
811
+ });
812
+ }
813
+
814
+ var __defProp$3 = Object.defineProperty;
815
+ var __defProps = Object.defineProperties;
816
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
817
+ var __getOwnPropSymbols$3 = Object.getOwnPropertySymbols;
818
+ var __hasOwnProp$3 = Object.prototype.hasOwnProperty;
819
+ var __propIsEnum$3 = Object.prototype.propertyIsEnumerable;
820
+ var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
821
+ var __spreadValues$3 = (a, b) => {
822
+ for (var prop in b || (b = {}))
823
+ if (__hasOwnProp$3.call(b, prop))
824
+ __defNormalProp$3(a, prop, b[prop]);
825
+ if (__getOwnPropSymbols$3)
826
+ for (var prop of __getOwnPropSymbols$3(b)) {
827
+ if (__propIsEnum$3.call(b, prop))
828
+ __defNormalProp$3(a, prop, b[prop]);
829
+ }
830
+ return a;
831
+ };
832
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
833
+ var __objRest$1 = (source, exclude) => {
834
+ var target = {};
835
+ for (var prop in source)
836
+ if (__hasOwnProp$3.call(source, prop) && exclude.indexOf(prop) < 0)
837
+ target[prop] = source[prop];
838
+ if (source != null && __getOwnPropSymbols$3)
839
+ for (var prop of __getOwnPropSymbols$3(source)) {
840
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$3.call(source, prop))
841
+ target[prop] = source[prop];
842
+ }
843
+ return target;
844
+ };
845
+ function BasePopover(props) {
846
+ const _a = props, restProps = __objRest$1(_a, ["resetClassName"]);
847
+ const isStandalone = !React__default.default.useContext(reactAriaComponents.PopoverContext);
848
+ const contextProps = React__default.default.useContext(PlasmicPopoverContext);
849
+ const canvas = host.usePlasmicCanvasContext();
850
+ const mergedProps = utils.mergeProps(contextProps, restProps, {
851
+ className: `${props.resetClassName}`
852
+ });
853
+ if (isStandalone) {
854
+ const triggerRef = React__default.default.useRef(null);
855
+ return /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, /* @__PURE__ */ React__default.default.createElement("div", { ref: triggerRef }), /* @__PURE__ */ React__default.default.createElement(
856
+ reactAriaComponents.Popover,
857
+ __spreadProps(__spreadValues$3({}, mergedProps), {
858
+ triggerRef,
859
+ isNonModal: true,
860
+ isOpen: true
861
+ })
862
+ ));
863
+ } else {
864
+ return /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Popover, __spreadProps(__spreadValues$3({}, mergedProps), { isNonModal: !!canvas }));
865
+ }
866
+ }
867
+ function registerPopover(loader, overrides) {
868
+ registerComponentHelper(
869
+ loader,
870
+ BasePopover,
871
+ {
872
+ name: "plasmic-react-aria-popover",
873
+ displayName: "BasePopover",
874
+ importPath: "@plasmicpkgs/react-aria/registerPopover",
875
+ importName: "BasePopover",
876
+ props: {
877
+ children: {
878
+ type: "slot"
879
+ },
880
+ offset: {
881
+ type: "number",
882
+ displayName: "Offset",
883
+ description: "Additional offset applied vertically between the popover and its trigger",
884
+ defaultValueHint: 0
885
+ },
886
+ placement: {
887
+ type: "choice",
888
+ description: "Default placement of the popover relative to the trigger, if there is enough space",
889
+ options: [
890
+ "bottom",
891
+ "bottom left",
892
+ "bottom right",
893
+ "top",
894
+ "top left",
895
+ "top right"
896
+ ]
897
+ },
898
+ resetClassName: {
899
+ type: "themeResetClass"
900
+ }
901
+ },
902
+ styleSections: true
903
+ },
904
+ overrides
905
+ );
906
+ }
907
+
908
+ var __defProp$2 = Object.defineProperty;
909
+ var __getOwnPropSymbols$2 = Object.getOwnPropertySymbols;
910
+ var __hasOwnProp$2 = Object.prototype.hasOwnProperty;
911
+ var __propIsEnum$2 = Object.prototype.propertyIsEnumerable;
912
+ var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
913
+ var __spreadValues$2 = (a, b) => {
914
+ for (var prop in b || (b = {}))
915
+ if (__hasOwnProp$2.call(b, prop))
916
+ __defNormalProp$2(a, prop, b[prop]);
917
+ if (__getOwnPropSymbols$2)
918
+ for (var prop of __getOwnPropSymbols$2(b)) {
919
+ if (__propIsEnum$2.call(b, prop))
920
+ __defNormalProp$2(a, prop, b[prop]);
921
+ }
922
+ return a;
923
+ };
924
+ function BaseHeader(props) {
925
+ const contextProps = React__default.default.useContext(PlasmicHeaderContext);
926
+ return /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Header, __spreadValues$2({}, utils.mergeProps(contextProps, props)));
927
+ }
928
+ function registerHeader(loader, overrides) {
929
+ registerComponentHelper(
930
+ loader,
931
+ BaseHeader,
932
+ {
933
+ name: makeComponentName("header"),
934
+ displayName: "BaseHeader",
935
+ importPath: "@plasmicpkgs/react-aria/registerHeader",
936
+ importName: "BaseHeader",
937
+ props: {}
938
+ },
939
+ overrides
940
+ );
941
+ }
942
+
943
+ var __defProp$1 = Object.defineProperty;
944
+ var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;
945
+ var __hasOwnProp$1 = Object.prototype.hasOwnProperty;
946
+ var __propIsEnum$1 = Object.prototype.propertyIsEnumerable;
947
+ var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
948
+ var __spreadValues$1 = (a, b) => {
949
+ for (var prop in b || (b = {}))
950
+ if (__hasOwnProp$1.call(b, prop))
951
+ __defNormalProp$1(a, prop, b[prop]);
952
+ if (__getOwnPropSymbols$1)
953
+ for (var prop of __getOwnPropSymbols$1(b)) {
954
+ if (__propIsEnum$1.call(b, prop))
955
+ __defNormalProp$1(a, prop, b[prop]);
956
+ }
957
+ return a;
958
+ };
959
+ var __objRest = (source, exclude) => {
960
+ var target = {};
961
+ for (var prop in source)
962
+ if (__hasOwnProp$1.call(source, prop) && exclude.indexOf(prop) < 0)
963
+ target[prop] = source[prop];
964
+ if (source != null && __getOwnPropSymbols$1)
965
+ for (var prop of __getOwnPropSymbols$1(source)) {
966
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$1.call(source, prop))
967
+ target[prop] = source[prop];
968
+ }
969
+ return target;
970
+ };
971
+ function BaseSection(props) {
972
+ const contextProps = React__default.default.useContext(PlasmicSectionContext);
973
+ const mergedProps = utils.mergeProps(contextProps, props);
974
+ const _a = mergedProps, { section, renderHeader, key, makeItemProps, renderItem } = _a, rest = __objRest(_a, ["section", "renderHeader", "key", "makeItemProps", "renderItem"]);
975
+ return /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Section, __spreadValues$1({ id: key != null ? key : void 0 }, rest), /* @__PURE__ */ React__default.default.createElement(PlasmicHeaderContext.Provider, { value: { children: section == null ? void 0 : section.label } }, renderHeader == null ? void 0 : renderHeader(section)), /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Collection, { items: section == null ? void 0 : section.items }, (item) => {
976
+ const itemProps = makeItemProps == null ? void 0 : makeItemProps(item);
977
+ return /* @__PURE__ */ React__default.default.createElement(PlasmicItemContext.Provider, { key: itemProps == null ? void 0 : itemProps.key, value: itemProps }, renderItem == null ? void 0 : renderItem(item));
978
+ }));
979
+ }
980
+ function registerSection(loader, overrides) {
981
+ registerComponentHelper(
982
+ loader,
983
+ BaseSection,
984
+ {
985
+ name: makeComponentName("section"),
986
+ displayName: "BaseSection",
987
+ importPath: "@plasmicpkgs/react-aria/registerSection",
988
+ importName: "BaseSection",
989
+ props: {
990
+ renderHeader: {
991
+ type: "slot",
992
+ displayName: "Render section header",
993
+ renderPropParams: ["section"]
994
+ }
995
+ }
996
+ },
997
+ overrides
998
+ );
999
+ const thisName = makeChildComponentName(
1000
+ overrides == null ? void 0 : overrides.parentComponentName,
1001
+ makeComponentName("section")
1002
+ );
1003
+ registerHeader(loader, {
1004
+ parentComponentName: thisName
1005
+ });
1006
+ }
1007
+
1008
+ var __defProp = Object.defineProperty;
1009
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
1010
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
1011
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
1012
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
1013
+ var __spreadValues = (a, b) => {
1014
+ for (var prop in b || (b = {}))
1015
+ if (__hasOwnProp.call(b, prop))
1016
+ __defNormalProp(a, prop, b[prop]);
1017
+ if (__getOwnPropSymbols)
1018
+ for (var prop of __getOwnPropSymbols(b)) {
1019
+ if (__propIsEnum.call(b, prop))
1020
+ __defNormalProp(a, prop, b[prop]);
1021
+ }
1022
+ return a;
1023
+ };
1024
+ const SELECT_NAME = makeComponentName("select");
1025
+ function BaseSelect(props) {
1026
+ const {
1027
+ value,
1028
+ onChange,
1029
+ placeholder,
1030
+ previewOpen,
1031
+ onOpenChange,
1032
+ isDisabled,
1033
+ className,
1034
+ style,
1035
+ structure,
1036
+ renderOption,
1037
+ name,
1038
+ "aria-label": ariaLabel
1039
+ } = props;
1040
+ const { options, optionText } = useStrictOptions(props);
1041
+ const canvas = host.usePlasmicCanvasContext();
1042
+ const disabledKeys = flattenOptions(options).filter((op) => op.isDisabled).map((op) => op.value);
1043
+ return /* @__PURE__ */ React__default.default.createElement(
1044
+ reactAriaComponents.Select,
1045
+ __spreadValues(__spreadValues({
1046
+ placeholder,
1047
+ selectedKey: value,
1048
+ onSelectionChange: onChange,
1049
+ onOpenChange,
1050
+ isDisabled,
1051
+ className,
1052
+ style,
1053
+ name,
1054
+ "aria-label": ariaLabel
1055
+ }, previewOpen && canvas ? { isOpen: previewOpen } : void 0), extractPlasmicDataProps(props)),
1056
+ /* @__PURE__ */ React__default.default.createElement(
1057
+ PlasmicListBoxContext.Provider,
1058
+ {
1059
+ value: {
1060
+ items: options,
1061
+ disabledKeys,
1062
+ makeItemProps: (item) => ({
1063
+ key: item.value,
1064
+ textValue: optionText(item),
1065
+ children: renderOption ? renderOption(item) : optionText(item)
1066
+ }),
1067
+ makeSectionProps: (section) => ({
1068
+ section,
1069
+ key: section.key
1070
+ }),
1071
+ getItemType: (option) => option.type === "section" ? "section" : "item"
1072
+ }
1073
+ },
1074
+ structure
1075
+ )
1076
+ );
1077
+ }
1078
+ function registerSelect(loader) {
1079
+ registerComponentHelper(loader, BaseSelect, {
1080
+ name: SELECT_NAME,
1081
+ displayName: "BaseSelect",
1082
+ importPath: "@plasmicpkgs/react-aria/registerSelect",
1083
+ importName: "BaseSelect",
1084
+ props: {
1085
+ options: makeOptionsPropType(),
1086
+ placeholder: {
1087
+ type: "string"
1088
+ },
1089
+ isDisabled: {
1090
+ type: "boolean"
1091
+ },
1092
+ value: makeValuePropType(),
1093
+ onChange: {
1094
+ type: "eventHandler",
1095
+ argTypes: [{ name: "value", type: "string" }]
1096
+ },
1097
+ previewOpen: {
1098
+ type: "boolean",
1099
+ displayName: "Preview opened?",
1100
+ description: "Preview opened state while designing in Plasmic editor",
1101
+ editOnly: true
1102
+ },
1103
+ onOpenChange: {
1104
+ type: "eventHandler",
1105
+ argTypes: [{ name: "isOpen", type: "boolean" }]
1106
+ },
1107
+ // optionValue: {
1108
+ // type: "string",
1109
+ // displayName: "Field key for an option's value",
1110
+ // hidden: (ps) =>
1111
+ // !ps.options ||
1112
+ // !ps.options[0] ||
1113
+ // typeof ps.options[0] === "string" ||
1114
+ // "value" in ps.options[0],
1115
+ // exprHint:
1116
+ // "Return a function that takes in an option object, and returns the key to use",
1117
+ // },
1118
+ // optionText: {
1119
+ // type: "string",
1120
+ // displayName: "Field key for an option's text value",
1121
+ // hidden: (ps) =>
1122
+ // !ps.options ||
1123
+ // !ps.options[0] ||
1124
+ // typeof ps.options[0] === "string" ||
1125
+ // "value" in ps.options[0],
1126
+ // exprHint:
1127
+ // "Return a function that takes in an option object, and returns the text value to use",
1128
+ // },
1129
+ // optionDisabled: {
1130
+ // type: "string",
1131
+ // displayName: "Field key for whether an option is disabled",
1132
+ // hidden: (ps) =>
1133
+ // !ps.options ||
1134
+ // !ps.options[0] ||
1135
+ // typeof ps.options[0] === "string" ||
1136
+ // "value" in ps.options[0],
1137
+ // exprHint:
1138
+ // "Return a function that takes in an option object, and returns true if option should be disabled",
1139
+ // },
1140
+ structure: {
1141
+ type: "slot"
1142
+ },
1143
+ // renderOption: {
1144
+ // type: "slot",
1145
+ // displayName: "Custom render option",
1146
+ // renderPropParams: ["item"],
1147
+ // hidePlaceholder: true
1148
+ // },
1149
+ name: {
1150
+ type: "string",
1151
+ displayName: "Form field key",
1152
+ description: "Name of the input, when submitting in an HTML form",
1153
+ advanced: true
1154
+ },
1155
+ "aria-label": {
1156
+ type: "string",
1157
+ displayName: "Aria Label",
1158
+ description: "Label for this input, if no visible label is used",
1159
+ advanced: true
1160
+ }
1161
+ },
1162
+ states: {
1163
+ value: {
1164
+ type: "writable",
1165
+ valueProp: "value",
1166
+ onChangeProp: "onChange",
1167
+ variableType: "text"
1168
+ },
1169
+ isOpen: {
1170
+ type: "readonly",
1171
+ onChangeProp: "onOpenChange",
1172
+ variableType: "boolean"
1173
+ }
1174
+ }
1175
+ });
1176
+ registerComponentHelper(loader, reactAriaComponents.SelectValue, {
1177
+ name: makeComponentName("select-value"),
1178
+ displayName: "Base Selected Value",
1179
+ importPath: "@plasmicpkgs/react-aria/registerSelect",
1180
+ importName: "SelectValue",
1181
+ parentComponentName: SELECT_NAME,
1182
+ props: {}
1183
+ });
1184
+ }
1185
+
1186
+ function registerAll(loader) {
1187
+ registerSelect(loader);
1188
+ registerComboBox(loader);
1189
+ registerButton(loader);
1190
+ registerLabel(loader);
1191
+ registerListBox(loader);
1192
+ registerPopover(loader);
1193
+ registerInput(loader);
1194
+ registerSection(loader);
1195
+ }
1196
+
1197
+ exports.registerAll = registerAll;
1198
+ //# sourceMappingURL=react-aria.js.map