@plasmicpkgs/react-aria 0.0.153 → 0.0.155

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 (96) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/react-aria.esm.js +276 -287
  3. package/dist/react-aria.esm.js.map +1 -1
  4. package/dist/react-aria.js +275 -286
  5. package/dist/react-aria.js.map +1 -1
  6. package/dist/registerListBox.d.ts +1 -1
  7. package/dist/variant-utils.d.ts +4 -3
  8. package/package.json +3 -3
  9. package/skinny/registerButton.cjs.js +27 -22
  10. package/skinny/registerButton.cjs.js.map +1 -1
  11. package/skinny/registerButton.esm.js +27 -22
  12. package/skinny/registerButton.esm.js.map +1 -1
  13. package/skinny/registerCheckbox.cjs.js +18 -16
  14. package/skinny/registerCheckbox.cjs.js.map +1 -1
  15. package/skinny/registerCheckbox.esm.js +18 -16
  16. package/skinny/registerCheckbox.esm.js.map +1 -1
  17. package/skinny/registerCheckboxGroup.cjs.js +12 -12
  18. package/skinny/registerCheckboxGroup.cjs.js.map +1 -1
  19. package/skinny/registerCheckboxGroup.esm.js +12 -12
  20. package/skinny/registerCheckboxGroup.esm.js.map +1 -1
  21. package/skinny/registerComboBox.cjs.js +11 -16
  22. package/skinny/registerComboBox.cjs.js.map +1 -1
  23. package/skinny/registerComboBox.esm.js +11 -16
  24. package/skinny/registerComboBox.esm.js.map +1 -1
  25. package/skinny/registerDialogTrigger.cjs.js +1 -1
  26. package/skinny/registerDialogTrigger.esm.js +1 -1
  27. package/skinny/registerInput.cjs.js +1 -1
  28. package/skinny/registerInput.esm.js +1 -1
  29. package/skinny/{registerListBox-7a50077e.cjs.js → registerListBox-28474381.cjs.js} +24 -32
  30. package/skinny/registerListBox-28474381.cjs.js.map +1 -0
  31. package/skinny/{registerListBox-14503b0a.esm.js → registerListBox-7197abae.esm.js} +26 -34
  32. package/skinny/registerListBox-7197abae.esm.js.map +1 -0
  33. package/skinny/registerListBox.cjs.js +4 -3
  34. package/skinny/registerListBox.cjs.js.map +1 -1
  35. package/skinny/registerListBox.d.ts +1 -1
  36. package/skinny/registerListBox.esm.js +4 -3
  37. package/skinny/registerListBox.esm.js.map +1 -1
  38. package/skinny/registerListBoxItem.cjs.js +20 -17
  39. package/skinny/registerListBoxItem.cjs.js.map +1 -1
  40. package/skinny/registerListBoxItem.esm.js +20 -17
  41. package/skinny/registerListBoxItem.esm.js.map +1 -1
  42. package/skinny/registerOverlayArrow.cjs.js +12 -12
  43. package/skinny/registerOverlayArrow.cjs.js.map +1 -1
  44. package/skinny/registerOverlayArrow.esm.js +12 -12
  45. package/skinny/registerOverlayArrow.esm.js.map +1 -1
  46. package/skinny/registerRadio.cjs.js +17 -15
  47. package/skinny/registerRadio.cjs.js.map +1 -1
  48. package/skinny/registerRadio.esm.js +17 -15
  49. package/skinny/registerRadio.esm.js.map +1 -1
  50. package/skinny/registerRadioGroup.cjs.js +12 -10
  51. package/skinny/registerRadioGroup.cjs.js.map +1 -1
  52. package/skinny/registerRadioGroup.esm.js +12 -10
  53. package/skinny/registerRadioGroup.esm.js.map +1 -1
  54. package/skinny/registerSection.cjs.js +3 -2
  55. package/skinny/registerSection.cjs.js.map +1 -1
  56. package/skinny/registerSection.esm.js +3 -2
  57. package/skinny/registerSection.esm.js.map +1 -1
  58. package/skinny/registerSelect.cjs.js +19 -25
  59. package/skinny/registerSelect.cjs.js.map +1 -1
  60. package/skinny/registerSelect.esm.js +19 -25
  61. package/skinny/registerSelect.esm.js.map +1 -1
  62. package/skinny/registerSlider.cjs.js +10 -8
  63. package/skinny/registerSlider.cjs.js.map +1 -1
  64. package/skinny/registerSlider.esm.js +10 -8
  65. package/skinny/registerSlider.esm.js.map +1 -1
  66. package/skinny/registerSliderOutput.cjs.js +10 -10
  67. package/skinny/registerSliderOutput.cjs.js.map +1 -1
  68. package/skinny/registerSliderOutput.esm.js +10 -10
  69. package/skinny/registerSliderOutput.esm.js.map +1 -1
  70. package/skinny/registerSliderThumb.cjs.js +9 -15
  71. package/skinny/registerSliderThumb.cjs.js.map +1 -1
  72. package/skinny/registerSliderThumb.esm.js +9 -15
  73. package/skinny/registerSliderThumb.esm.js.map +1 -1
  74. package/skinny/registerSliderTrack.cjs.js +20 -20
  75. package/skinny/registerSliderTrack.cjs.js.map +1 -1
  76. package/skinny/registerSliderTrack.esm.js +20 -20
  77. package/skinny/registerSliderTrack.esm.js.map +1 -1
  78. package/skinny/registerSwitch.cjs.js +16 -14
  79. package/skinny/registerSwitch.cjs.js.map +1 -1
  80. package/skinny/registerSwitch.esm.js +16 -14
  81. package/skinny/registerSwitch.esm.js.map +1 -1
  82. package/skinny/registerTextArea.cjs.js +1 -1
  83. package/skinny/registerTextArea.esm.js +1 -1
  84. package/skinny/registerTextField.cjs.js +11 -9
  85. package/skinny/registerTextField.cjs.js.map +1 -1
  86. package/skinny/registerTextField.esm.js +11 -9
  87. package/skinny/registerTextField.esm.js.map +1 -1
  88. package/skinny/{variant-utils-0ad70db8.cjs.js → variant-utils-1c84aebb.cjs.js} +5 -9
  89. package/skinny/variant-utils-1c84aebb.cjs.js.map +1 -0
  90. package/skinny/{variant-utils-4405ebb0.esm.js → variant-utils-5f356d53.esm.js} +5 -10
  91. package/skinny/variant-utils-5f356d53.esm.js.map +1 -0
  92. package/skinny/variant-utils.d.ts +4 -3
  93. package/skinny/registerListBox-14503b0a.esm.js.map +0 -1
  94. package/skinny/registerListBox-7a50077e.cjs.js.map +0 -1
  95. package/skinny/variant-utils-0ad70db8.cjs.js.map +0 -1
  96. package/skinny/variant-utils-4405ebb0.esm.js.map +0 -1
@@ -2,20 +2,21 @@
2
2
 
3
3
  var host = require('@plasmicapp/host');
4
4
  var React = require('react');
5
+ var reactAria = require('react-aria');
5
6
  var reactAriaComponents = require('react-aria-components');
7
+ var OptionsItemIdManager = require('./OptionsItemIdManager-cb3a2c53.cjs.js');
6
8
  var common = require('./common-7f948fa5.cjs.js');
7
9
  var contexts = require('./contexts-6d0cb2b1.cjs.js');
8
- var OptionsItemIdManager = require('./OptionsItemIdManager-cb3a2c53.cjs.js');
9
10
  var registerListBoxItem = require('./registerListBoxItem.cjs.js');
10
- var variantUtils = require('./variant-utils-0ad70db8.cjs.js');
11
+ var variantUtils = require('./variant-utils-1c84aebb.cjs.js');
11
12
 
12
13
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
13
14
 
14
15
  var React__default = /*#__PURE__*/_interopDefault(React);
15
16
 
16
17
  var __defProp$1 = Object.defineProperty;
17
- var __defProps = Object.defineProperties;
18
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
18
+ var __defProps$1 = Object.defineProperties;
19
+ var __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors;
19
20
  var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;
20
21
  var __hasOwnProp$1 = Object.prototype.hasOwnProperty;
21
22
  var __propIsEnum$1 = Object.prototype.propertyIsEnumerable;
@@ -31,7 +32,7 @@ var __spreadValues$1 = (a, b) => {
31
32
  }
32
33
  return a;
33
34
  };
34
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
35
+ var __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));
35
36
  var __objRest$1 = (source, exclude) => {
36
37
  var target = {};
37
38
  for (var prop in source)
@@ -48,7 +49,7 @@ function BaseSection(props) {
48
49
  const _a = props, { header, items } = _a, rest = __objRest$1(_a, ["header", "items"]);
49
50
  const contextProps = React__default.default.useContext(contexts.PlasmicListBoxContext);
50
51
  const isStandalone = !contextProps;
51
- const section = /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Section, __spreadProps(__spreadValues$1({}, rest), { style: common.COMMON_STYLES }), /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Header, null, header), items);
52
+ const section = /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.ListBoxSection, __spreadProps$1(__spreadValues$1({}, rest), { style: common.COMMON_STYLES }), /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Header, null, header), items);
52
53
  if (isStandalone) {
53
54
  return (
54
55
  // BaseListbox should give section a listbox context (that it can't be used without)
@@ -96,6 +97,8 @@ function registerSection(loader, overrides) {
96
97
  }
97
98
 
98
99
  var __defProp = Object.defineProperty;
100
+ var __defProps = Object.defineProperties;
101
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
99
102
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
100
103
  var __hasOwnProp = Object.prototype.hasOwnProperty;
101
104
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
@@ -111,6 +114,7 @@ var __spreadValues = (a, b) => {
111
114
  }
112
115
  return a;
113
116
  };
117
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
114
118
  var __objRest = (source, exclude) => {
115
119
  var target = {};
116
120
  for (var prop in source)
@@ -123,8 +127,8 @@ var __objRest = (source, exclude) => {
123
127
  }
124
128
  return target;
125
129
  };
126
- const LISTBOX_VARIANTS = ["focused", "focusVisible"];
127
- const { variants } = variantUtils.pickAriaComponentVariants(LISTBOX_VARIANTS);
130
+ const LISTBOX_VARIANTS = ["focused"];
131
+ const { variants: LISTBOX_VARIANTS_DATA } = variantUtils.pickAriaComponentVariants(LISTBOX_VARIANTS);
128
132
  const listboxHelpers = {
129
133
  states: {
130
134
  selectedValue: {
@@ -141,14 +145,12 @@ function BaseListBox(props) {
141
145
  const _a = props, {
142
146
  setControlContextData,
143
147
  children,
144
- className,
145
148
  selectedKeys,
146
149
  defaultSelectedKeys,
147
150
  plasmicUpdateVariant
148
151
  } = _a, rest = __objRest(_a, [
149
152
  "setControlContextData",
150
153
  "children",
151
- "className",
152
154
  "selectedKeys",
153
155
  "defaultSelectedKeys",
154
156
  "plasmicUpdateVariant"
@@ -158,32 +160,22 @@ function BaseListBox(props) {
158
160
  const [ids, setIds] = React.useState([]);
159
161
  const inEditor = host.usePlasmicCanvasContext();
160
162
  const idManager = OptionsItemIdManager.useIdManager(setIds, context == null ? void 0 : context.idManager);
163
+ const mergedProps = reactAria.mergeProps(rest, __spreadProps(__spreadValues({
164
+ onFocusChange: (focused) => {
165
+ plasmicUpdateVariant == null ? void 0 : plasmicUpdateVariant({ focused });
166
+ }
167
+ }, inEditor ? { shouldUseVirtualFocus: true } : {}), {
168
+ style: common.COMMON_STYLES,
169
+ selectedKeys: normalizeSelectedKeys(selectedKeys),
170
+ defaultSelectedKeys: normalizeSelectedKeys(defaultSelectedKeys)
171
+ }));
161
172
  React.useEffect(() => {
162
173
  setControlContextData == null ? void 0 : setControlContextData({
163
174
  itemIds: ids,
164
175
  isStandalone
165
176
  });
166
177
  }, [ids, isStandalone, setControlContextData]);
167
- const classNameProp = React.useCallback(
168
- ({ isFocusVisible, isFocused }) => {
169
- plasmicUpdateVariant == null ? void 0 : plasmicUpdateVariant({
170
- focused: isFocused,
171
- focusVisible: isFocusVisible
172
- });
173
- return className != null ? className : "";
174
- },
175
- [className, plasmicUpdateVariant]
176
- );
177
- const listbox = /* @__PURE__ */ React__default.default.createElement(
178
- reactAriaComponents.ListBox,
179
- __spreadValues(__spreadValues({
180
- selectedKeys: normalizeSelectedKeys(selectedKeys),
181
- defaultSelectedKeys: normalizeSelectedKeys(defaultSelectedKeys),
182
- className: classNameProp,
183
- style: common.COMMON_STYLES
184
- }, inEditor ? { shouldUseVirtualFocus: true } : {}), rest),
185
- children
186
- );
178
+ const listbox = /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.ListBox, __spreadValues({}, mergedProps), children);
187
179
  if (isStandalone) {
188
180
  return /* @__PURE__ */ React__default.default.createElement(
189
181
  contexts.PlasmicListBoxContext.Provider,
@@ -262,7 +254,7 @@ function registerListBox(loader, overrides) {
262
254
  displayName: "Aria ListBox",
263
255
  importPath: "@plasmicpkgs/react-aria/skinny/registerListBox",
264
256
  importName: "BaseListBox",
265
- variants,
257
+ variants: LISTBOX_VARIANTS_DATA,
266
258
  defaultStyles: {
267
259
  width: "250px",
268
260
  borderWidth: "1px",
@@ -374,4 +366,4 @@ exports.LIST_BOX_COMPONENT_NAME = LIST_BOX_COMPONENT_NAME;
374
366
  exports.listboxHelpers = listboxHelpers;
375
367
  exports.registerListBox = registerListBox;
376
368
  exports.registerSection = registerSection;
377
- //# sourceMappingURL=registerListBox-7a50077e.cjs.js.map
369
+ //# sourceMappingURL=registerListBox-28474381.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerListBox-28474381.cjs.js","sources":["../src/registerSection.tsx","../src/registerListBox.tsx"],"sourcesContent":["import React from \"react\";\nimport { Header, ListBoxSection } from \"react-aria-components\";\nimport { COMMON_STYLES, createAriaLabelProp } from \"./common\";\nimport { PlasmicListBoxContext } from \"./contexts\";\nimport { BaseListBox } from \"./registerListBox\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n Styleable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nexport interface BaseSectionProps extends Styleable {\n items: React.ReactNode;\n header: React.ReactNode;\n}\n\nexport function BaseSection(props: BaseSectionProps) {\n const { header, items, ...rest } = props;\n const contextProps = React.useContext(PlasmicListBoxContext);\n const isStandalone = !contextProps;\n\n const section = (\n <ListBoxSection {...rest} style={COMMON_STYLES}>\n <Header>{header}</Header>\n {items}\n </ListBoxSection>\n );\n\n if (isStandalone) {\n return (\n // BaseListbox should give section a listbox context (that it can't be used without)\n // as well as the id manager (that is needed to identify and warn about duplication of ids)\n // selection mode needs to be single/multiple to be able to trigger hover state on it.\n <BaseListBox selectionMode=\"single\">{section}</BaseListBox>\n );\n }\n\n return section;\n}\n\nexport function registerSection(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSection>\n) {\n return registerComponentHelper(\n loader,\n BaseSection,\n {\n name: makeComponentName(\"section\"),\n displayName: \"Aria Section\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSection\",\n importName: \"BaseSection\",\n defaultStyles: {\n width: \"stretch\",\n padding: \"10px\",\n },\n props: {\n \"aria-label\": createAriaLabelProp(\"Section\"),\n header: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: [\n {\n type: \"text\",\n value: \"Section Header.\",\n },\n ],\n },\n items: {\n type: \"slot\",\n mergeWithParent: true,\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import { usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport React, { useEffect, useState } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport { Key, ListBox } from \"react-aria-components\";\nimport { useIdManager } from \"./OptionsItemIdManager\";\nimport { COMMON_STYLES, createAriaLabelProp, createIdProp } from \"./common\";\nimport { PlasmicListBoxContext } from \"./contexts\";\nimport {\n makeDefaultListBoxItemChildren,\n registerListBoxItem,\n} from \"./registerListBoxItem\";\nimport { registerSection } from \"./registerSection\";\nimport {\n BaseControlContextDataForLists,\n CodeComponentMetaOverrides,\n HasControlContextData,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\nimport { WithVariants, pickAriaComponentVariants } from \"./variant-utils\";\n\nexport interface BaseListBoxControlContextData\n extends BaseControlContextDataForLists {\n isStandalone: boolean;\n}\n\nconst LISTBOX_VARIANTS = [\"focused\" as const];\n\nconst { variants: LISTBOX_VARIANTS_DATA } =\n pickAriaComponentVariants(LISTBOX_VARIANTS);\n\nexport interface BaseListBoxProps\n extends Omit<\n React.ComponentProps<typeof ListBox>,\n \"selectedKeys\" | \"defaultSelectedKeys\" | \"className\"\n >,\n HasControlContextData<BaseListBoxControlContextData>,\n WithVariants<typeof LISTBOX_VARIANTS> {\n children?: React.ReactNode;\n selectedKeys?: string | string[] | undefined;\n defaultSelectedKeys?: string | string[] | undefined;\n className?: string;\n}\n\nexport const listboxHelpers = {\n states: {\n selectedValue: {\n onChangeArgsToValue: (value: Set<Key> | string[] | string) => {\n // only single selection is supported\n return Array.from(value)[0];\n },\n },\n },\n};\n\nfunction normalizeSelectedKeys(selectedKeys: string | string[] | undefined) {\n // Listbox expects it to be of type \"all\" | Iterable\n return typeof selectedKeys === \"string\" && selectedKeys !== \"all\"\n ? [selectedKeys]\n : selectedKeys;\n}\n\nexport function BaseListBox(props: BaseListBoxProps) {\n const {\n setControlContextData: setControlContextData,\n children,\n selectedKeys,\n defaultSelectedKeys,\n plasmicUpdateVariant,\n ...rest\n } = props;\n const context = React.useContext(PlasmicListBoxContext);\n const isStandalone = !context;\n const [ids, setIds] = useState<string[]>([]);\n const inEditor = usePlasmicCanvasContext();\n\n const idManager = useIdManager(setIds, context?.idManager);\n\n const mergedProps = mergeProps(rest, {\n onFocusChange: (focused: boolean) => {\n plasmicUpdateVariant?.({ focused });\n },\n // `shouldUseVirtualFocus` is not part of the ListBox prop types, but it's passed through to useListBox, which does support it.\n // In editor, we use virtual focus to prevent the listbox from stealing focus\n ...(inEditor ? { shouldUseVirtualFocus: true } : {}),\n style: COMMON_STYLES,\n selectedKeys: normalizeSelectedKeys(selectedKeys),\n defaultSelectedKeys: normalizeSelectedKeys(defaultSelectedKeys),\n });\n\n useEffect(() => {\n setControlContextData?.({\n itemIds: ids,\n isStandalone,\n });\n }, [ids, isStandalone, setControlContextData]);\n\n const listbox = <ListBox {...mergedProps}>{children}</ListBox>;\n\n if (isStandalone) {\n return (\n <PlasmicListBoxContext.Provider\n value={{\n idManager,\n }}\n >\n {listbox}\n </PlasmicListBoxContext.Provider>\n );\n }\n\n return listbox;\n}\n\nexport const LIST_BOX_COMPONENT_NAME = makeComponentName(\"listbox\");\n\nexport function registerListBox(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseListBox>\n) {\n const listBoxItemMeta = registerListBoxItem(loader, {\n parentComponentName: LIST_BOX_COMPONENT_NAME,\n });\n const sectionMeta = registerSection(loader, {\n parentComponentName: LIST_BOX_COMPONENT_NAME,\n props: {\n items: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n id: \"section-1-1\",\n textValue: \"Section1-Item 1\",\n children: [\n makeDefaultListBoxItemChildren(\n \"Item 1\",\n \"Add dynamic values to make it more interesting\"\n ),\n ],\n },\n },\n {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n id: \"section-1-2\",\n textValue: \"Section1-Item 2\",\n children: [\n makeDefaultListBoxItemChildren(\n \"Item 2\",\n \"Add dynamic values to make it more interesting\"\n ),\n ],\n },\n },\n {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n id: \"section-1-3\",\n textValue: \"Section1-Item 3\",\n children: [\n makeDefaultListBoxItemChildren(\n \"Item 3\",\n \"Add dynamic values to make it more interesting\"\n ),\n ],\n },\n },\n ],\n },\n },\n });\n\n registerComponentHelper(\n loader,\n BaseListBox,\n {\n name: LIST_BOX_COMPONENT_NAME,\n displayName: \"Aria ListBox\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerListBox\",\n importName: \"BaseListBox\",\n variants: LISTBOX_VARIANTS_DATA,\n defaultStyles: {\n width: \"250px\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n },\n props: {\n id: createIdProp(\"List Box\"),\n \"aria-label\": createAriaLabelProp(\"List Box\"),\n children: {\n type: \"slot\",\n displayName: \"List Items\",\n allowedComponents: [listBoxItemMeta.name, sectionMeta.name],\n allowRootWrapper: true,\n defaultValue: [\n {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n id: \"1\",\n textValue: \"Item 1\",\n children: [\n makeDefaultListBoxItemChildren(\n \"Item 1\",\n \"Add dynamic values to make it more interesting\"\n ),\n ],\n },\n },\n {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n id: \"2\",\n textValue: \"Item 2\",\n children: [\n makeDefaultListBoxItemChildren(\n \"Item 2\",\n \"Add dynamic values to make it more interesting\"\n ),\n ],\n },\n },\n {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n id: \"3\",\n textValue: \"Item 3\",\n children: [\n makeDefaultListBoxItemChildren(\n \"Item 3\",\n \"Add dynamic values to make it more interesting\"\n ),\n ],\n },\n },\n {\n type: \"component\",\n name: sectionMeta.name,\n },\n ],\n },\n selectionMode: {\n type: \"choice\",\n description: \"The selection mode of the listbox\",\n options: [\"none\", \"single\"],\n defaultValue: \"none\",\n hidden: (_props, ctx) => !ctx?.isStandalone,\n },\n selectedKeys: {\n type: \"choice\",\n editOnly: true,\n uncontrolledProp: \"defaultSelectedKeys\",\n displayName: \"Initial selected item\",\n options: (_props, ctx) =>\n ctx?.itemIds ? Array.from(ctx.itemIds) : [],\n hidden: (props, ctx) =>\n !ctx?.isStandalone || props.selectionMode === \"none\",\n // We do not support multiple selections yet (Because React Aria select and combobox only support single selections).\n multiSelect: false,\n },\n onSelectionChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"selectedValues\", type: \"object\" }],\n },\n },\n states: {\n selectedValue: {\n type: \"writable\",\n valueProp: \"selectedKeys\",\n hidden: (props, ctx) =>\n !ctx?.isStandalone || props.selectionMode === \"none\",\n onChangeProp: \"onSelectionChange\",\n variableType: \"text\",\n ...listboxHelpers.states.selectedValue,\n },\n },\n componentHelpers: {\n helpers: listboxHelpers,\n importName: \"listboxHelpers\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerListBox\",\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["__objRest","React","PlasmicListBoxContext","ListBoxSection","__spreadProps","__spreadValues","COMMON_STYLES","Header","registerComponentHelper","makeComponentName","createAriaLabelProp","pickAriaComponentVariants","useState","usePlasmicCanvasContext","useIdManager","mergeProps","useEffect","ListBox","registerListBoxItem","makeDefaultListBoxItemChildren","createIdProp"],"mappings":"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"}
@@ -1,15 +1,16 @@
1
1
  import { usePlasmicCanvasContext } from '@plasmicapp/host';
2
- import React, { useState, useEffect, useCallback } from 'react';
3
- import { Section, Header, ListBox } from 'react-aria-components';
2
+ import React, { useState, useEffect } from 'react';
3
+ import { mergeProps } from 'react-aria';
4
+ import { ListBoxSection, Header, ListBox } from 'react-aria-components';
5
+ import { u as useIdManager } from './OptionsItemIdManager-0ce90944.esm.js';
4
6
  import { r as registerComponentHelper, C as COMMON_STYLES, m as makeComponentName, f as createAriaLabelProp, c as createIdProp } from './common-81f08e86.esm.js';
5
7
  import { b as PlasmicListBoxContext } from './contexts-5cb81c2f.esm.js';
6
- import { u as useIdManager } from './OptionsItemIdManager-0ce90944.esm.js';
7
8
  import { registerListBoxItem, makeDefaultListBoxItemChildren } from './registerListBoxItem.esm.js';
8
- import { p as pickAriaComponentVariants } from './variant-utils-4405ebb0.esm.js';
9
+ import { p as pickAriaComponentVariants } from './variant-utils-5f356d53.esm.js';
9
10
 
10
11
  var __defProp$1 = Object.defineProperty;
11
- var __defProps = Object.defineProperties;
12
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
12
+ var __defProps$1 = Object.defineProperties;
13
+ var __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors;
13
14
  var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;
14
15
  var __hasOwnProp$1 = Object.prototype.hasOwnProperty;
15
16
  var __propIsEnum$1 = Object.prototype.propertyIsEnumerable;
@@ -25,7 +26,7 @@ var __spreadValues$1 = (a, b) => {
25
26
  }
26
27
  return a;
27
28
  };
28
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
29
+ var __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));
29
30
  var __objRest$1 = (source, exclude) => {
30
31
  var target = {};
31
32
  for (var prop in source)
@@ -42,7 +43,7 @@ function BaseSection(props) {
42
43
  const _a = props, { header, items } = _a, rest = __objRest$1(_a, ["header", "items"]);
43
44
  const contextProps = React.useContext(PlasmicListBoxContext);
44
45
  const isStandalone = !contextProps;
45
- const section = /* @__PURE__ */ React.createElement(Section, __spreadProps(__spreadValues$1({}, rest), { style: COMMON_STYLES }), /* @__PURE__ */ React.createElement(Header, null, header), items);
46
+ const section = /* @__PURE__ */ React.createElement(ListBoxSection, __spreadProps$1(__spreadValues$1({}, rest), { style: COMMON_STYLES }), /* @__PURE__ */ React.createElement(Header, null, header), items);
46
47
  if (isStandalone) {
47
48
  return (
48
49
  // BaseListbox should give section a listbox context (that it can't be used without)
@@ -90,6 +91,8 @@ function registerSection(loader, overrides) {
90
91
  }
91
92
 
92
93
  var __defProp = Object.defineProperty;
94
+ var __defProps = Object.defineProperties;
95
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
93
96
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
94
97
  var __hasOwnProp = Object.prototype.hasOwnProperty;
95
98
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
@@ -105,6 +108,7 @@ var __spreadValues = (a, b) => {
105
108
  }
106
109
  return a;
107
110
  };
111
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
108
112
  var __objRest = (source, exclude) => {
109
113
  var target = {};
110
114
  for (var prop in source)
@@ -117,8 +121,8 @@ var __objRest = (source, exclude) => {
117
121
  }
118
122
  return target;
119
123
  };
120
- const LISTBOX_VARIANTS = ["focused", "focusVisible"];
121
- const { variants } = pickAriaComponentVariants(LISTBOX_VARIANTS);
124
+ const LISTBOX_VARIANTS = ["focused"];
125
+ const { variants: LISTBOX_VARIANTS_DATA } = pickAriaComponentVariants(LISTBOX_VARIANTS);
122
126
  const listboxHelpers = {
123
127
  states: {
124
128
  selectedValue: {
@@ -135,14 +139,12 @@ function BaseListBox(props) {
135
139
  const _a = props, {
136
140
  setControlContextData,
137
141
  children,
138
- className,
139
142
  selectedKeys,
140
143
  defaultSelectedKeys,
141
144
  plasmicUpdateVariant
142
145
  } = _a, rest = __objRest(_a, [
143
146
  "setControlContextData",
144
147
  "children",
145
- "className",
146
148
  "selectedKeys",
147
149
  "defaultSelectedKeys",
148
150
  "plasmicUpdateVariant"
@@ -152,32 +154,22 @@ function BaseListBox(props) {
152
154
  const [ids, setIds] = useState([]);
153
155
  const inEditor = usePlasmicCanvasContext();
154
156
  const idManager = useIdManager(setIds, context == null ? void 0 : context.idManager);
157
+ const mergedProps = mergeProps(rest, __spreadProps(__spreadValues({
158
+ onFocusChange: (focused) => {
159
+ plasmicUpdateVariant == null ? void 0 : plasmicUpdateVariant({ focused });
160
+ }
161
+ }, inEditor ? { shouldUseVirtualFocus: true } : {}), {
162
+ style: COMMON_STYLES,
163
+ selectedKeys: normalizeSelectedKeys(selectedKeys),
164
+ defaultSelectedKeys: normalizeSelectedKeys(defaultSelectedKeys)
165
+ }));
155
166
  useEffect(() => {
156
167
  setControlContextData == null ? void 0 : setControlContextData({
157
168
  itemIds: ids,
158
169
  isStandalone
159
170
  });
160
171
  }, [ids, isStandalone, setControlContextData]);
161
- const classNameProp = useCallback(
162
- ({ isFocusVisible, isFocused }) => {
163
- plasmicUpdateVariant == null ? void 0 : plasmicUpdateVariant({
164
- focused: isFocused,
165
- focusVisible: isFocusVisible
166
- });
167
- return className != null ? className : "";
168
- },
169
- [className, plasmicUpdateVariant]
170
- );
171
- const listbox = /* @__PURE__ */ React.createElement(
172
- ListBox,
173
- __spreadValues(__spreadValues({
174
- selectedKeys: normalizeSelectedKeys(selectedKeys),
175
- defaultSelectedKeys: normalizeSelectedKeys(defaultSelectedKeys),
176
- className: classNameProp,
177
- style: COMMON_STYLES
178
- }, inEditor ? { shouldUseVirtualFocus: true } : {}), rest),
179
- children
180
- );
172
+ const listbox = /* @__PURE__ */ React.createElement(ListBox, __spreadValues({}, mergedProps), children);
181
173
  if (isStandalone) {
182
174
  return /* @__PURE__ */ React.createElement(
183
175
  PlasmicListBoxContext.Provider,
@@ -256,7 +248,7 @@ function registerListBox(loader, overrides) {
256
248
  displayName: "Aria ListBox",
257
249
  importPath: "@plasmicpkgs/react-aria/skinny/registerListBox",
258
250
  importName: "BaseListBox",
259
- variants,
251
+ variants: LISTBOX_VARIANTS_DATA,
260
252
  defaultStyles: {
261
253
  width: "250px",
262
254
  borderWidth: "1px",
@@ -363,4 +355,4 @@ function registerListBox(loader, overrides) {
363
355
  }
364
356
 
365
357
  export { BaseSection as B, LIST_BOX_COMPONENT_NAME as L, BaseListBox as a, registerListBox as b, listboxHelpers as l, registerSection as r };
366
- //# sourceMappingURL=registerListBox-14503b0a.esm.js.map
358
+ //# sourceMappingURL=registerListBox-7197abae.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerListBox-7197abae.esm.js","sources":["../src/registerSection.tsx","../src/registerListBox.tsx"],"sourcesContent":["import React from \"react\";\nimport { Header, ListBoxSection } from \"react-aria-components\";\nimport { COMMON_STYLES, createAriaLabelProp } from \"./common\";\nimport { PlasmicListBoxContext } from \"./contexts\";\nimport { BaseListBox } from \"./registerListBox\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n Styleable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nexport interface BaseSectionProps extends Styleable {\n items: React.ReactNode;\n header: React.ReactNode;\n}\n\nexport function BaseSection(props: BaseSectionProps) {\n const { header, items, ...rest } = props;\n const contextProps = React.useContext(PlasmicListBoxContext);\n const isStandalone = !contextProps;\n\n const section = (\n <ListBoxSection {...rest} style={COMMON_STYLES}>\n <Header>{header}</Header>\n {items}\n </ListBoxSection>\n );\n\n if (isStandalone) {\n return (\n // BaseListbox should give section a listbox context (that it can't be used without)\n // as well as the id manager (that is needed to identify and warn about duplication of ids)\n // selection mode needs to be single/multiple to be able to trigger hover state on it.\n <BaseListBox selectionMode=\"single\">{section}</BaseListBox>\n );\n }\n\n return section;\n}\n\nexport function registerSection(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSection>\n) {\n return registerComponentHelper(\n loader,\n BaseSection,\n {\n name: makeComponentName(\"section\"),\n displayName: \"Aria Section\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSection\",\n importName: \"BaseSection\",\n defaultStyles: {\n width: \"stretch\",\n padding: \"10px\",\n },\n props: {\n \"aria-label\": createAriaLabelProp(\"Section\"),\n header: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: [\n {\n type: \"text\",\n value: \"Section Header.\",\n },\n ],\n },\n items: {\n type: \"slot\",\n mergeWithParent: true,\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import { usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport React, { useEffect, useState } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport { Key, ListBox } from \"react-aria-components\";\nimport { useIdManager } from \"./OptionsItemIdManager\";\nimport { COMMON_STYLES, createAriaLabelProp, createIdProp } from \"./common\";\nimport { PlasmicListBoxContext } from \"./contexts\";\nimport {\n makeDefaultListBoxItemChildren,\n registerListBoxItem,\n} from \"./registerListBoxItem\";\nimport { registerSection } from \"./registerSection\";\nimport {\n BaseControlContextDataForLists,\n CodeComponentMetaOverrides,\n HasControlContextData,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\nimport { WithVariants, pickAriaComponentVariants } from \"./variant-utils\";\n\nexport interface BaseListBoxControlContextData\n extends BaseControlContextDataForLists {\n isStandalone: boolean;\n}\n\nconst LISTBOX_VARIANTS = [\"focused\" as const];\n\nconst { variants: LISTBOX_VARIANTS_DATA } =\n pickAriaComponentVariants(LISTBOX_VARIANTS);\n\nexport interface BaseListBoxProps\n extends Omit<\n React.ComponentProps<typeof ListBox>,\n \"selectedKeys\" | \"defaultSelectedKeys\" | \"className\"\n >,\n HasControlContextData<BaseListBoxControlContextData>,\n WithVariants<typeof LISTBOX_VARIANTS> {\n children?: React.ReactNode;\n selectedKeys?: string | string[] | undefined;\n defaultSelectedKeys?: string | string[] | undefined;\n className?: string;\n}\n\nexport const listboxHelpers = {\n states: {\n selectedValue: {\n onChangeArgsToValue: (value: Set<Key> | string[] | string) => {\n // only single selection is supported\n return Array.from(value)[0];\n },\n },\n },\n};\n\nfunction normalizeSelectedKeys(selectedKeys: string | string[] | undefined) {\n // Listbox expects it to be of type \"all\" | Iterable\n return typeof selectedKeys === \"string\" && selectedKeys !== \"all\"\n ? [selectedKeys]\n : selectedKeys;\n}\n\nexport function BaseListBox(props: BaseListBoxProps) {\n const {\n setControlContextData: setControlContextData,\n children,\n selectedKeys,\n defaultSelectedKeys,\n plasmicUpdateVariant,\n ...rest\n } = props;\n const context = React.useContext(PlasmicListBoxContext);\n const isStandalone = !context;\n const [ids, setIds] = useState<string[]>([]);\n const inEditor = usePlasmicCanvasContext();\n\n const idManager = useIdManager(setIds, context?.idManager);\n\n const mergedProps = mergeProps(rest, {\n onFocusChange: (focused: boolean) => {\n plasmicUpdateVariant?.({ focused });\n },\n // `shouldUseVirtualFocus` is not part of the ListBox prop types, but it's passed through to useListBox, which does support it.\n // In editor, we use virtual focus to prevent the listbox from stealing focus\n ...(inEditor ? { shouldUseVirtualFocus: true } : {}),\n style: COMMON_STYLES,\n selectedKeys: normalizeSelectedKeys(selectedKeys),\n defaultSelectedKeys: normalizeSelectedKeys(defaultSelectedKeys),\n });\n\n useEffect(() => {\n setControlContextData?.({\n itemIds: ids,\n isStandalone,\n });\n }, [ids, isStandalone, setControlContextData]);\n\n const listbox = <ListBox {...mergedProps}>{children}</ListBox>;\n\n if (isStandalone) {\n return (\n <PlasmicListBoxContext.Provider\n value={{\n idManager,\n }}\n >\n {listbox}\n </PlasmicListBoxContext.Provider>\n );\n }\n\n return listbox;\n}\n\nexport const LIST_BOX_COMPONENT_NAME = makeComponentName(\"listbox\");\n\nexport function registerListBox(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseListBox>\n) {\n const listBoxItemMeta = registerListBoxItem(loader, {\n parentComponentName: LIST_BOX_COMPONENT_NAME,\n });\n const sectionMeta = registerSection(loader, {\n parentComponentName: LIST_BOX_COMPONENT_NAME,\n props: {\n items: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n id: \"section-1-1\",\n textValue: \"Section1-Item 1\",\n children: [\n makeDefaultListBoxItemChildren(\n \"Item 1\",\n \"Add dynamic values to make it more interesting\"\n ),\n ],\n },\n },\n {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n id: \"section-1-2\",\n textValue: \"Section1-Item 2\",\n children: [\n makeDefaultListBoxItemChildren(\n \"Item 2\",\n \"Add dynamic values to make it more interesting\"\n ),\n ],\n },\n },\n {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n id: \"section-1-3\",\n textValue: \"Section1-Item 3\",\n children: [\n makeDefaultListBoxItemChildren(\n \"Item 3\",\n \"Add dynamic values to make it more interesting\"\n ),\n ],\n },\n },\n ],\n },\n },\n });\n\n registerComponentHelper(\n loader,\n BaseListBox,\n {\n name: LIST_BOX_COMPONENT_NAME,\n displayName: \"Aria ListBox\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerListBox\",\n importName: \"BaseListBox\",\n variants: LISTBOX_VARIANTS_DATA,\n defaultStyles: {\n width: \"250px\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n },\n props: {\n id: createIdProp(\"List Box\"),\n \"aria-label\": createAriaLabelProp(\"List Box\"),\n children: {\n type: \"slot\",\n displayName: \"List Items\",\n allowedComponents: [listBoxItemMeta.name, sectionMeta.name],\n allowRootWrapper: true,\n defaultValue: [\n {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n id: \"1\",\n textValue: \"Item 1\",\n children: [\n makeDefaultListBoxItemChildren(\n \"Item 1\",\n \"Add dynamic values to make it more interesting\"\n ),\n ],\n },\n },\n {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n id: \"2\",\n textValue: \"Item 2\",\n children: [\n makeDefaultListBoxItemChildren(\n \"Item 2\",\n \"Add dynamic values to make it more interesting\"\n ),\n ],\n },\n },\n {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n id: \"3\",\n textValue: \"Item 3\",\n children: [\n makeDefaultListBoxItemChildren(\n \"Item 3\",\n \"Add dynamic values to make it more interesting\"\n ),\n ],\n },\n },\n {\n type: \"component\",\n name: sectionMeta.name,\n },\n ],\n },\n selectionMode: {\n type: \"choice\",\n description: \"The selection mode of the listbox\",\n options: [\"none\", \"single\"],\n defaultValue: \"none\",\n hidden: (_props, ctx) => !ctx?.isStandalone,\n },\n selectedKeys: {\n type: \"choice\",\n editOnly: true,\n uncontrolledProp: \"defaultSelectedKeys\",\n displayName: \"Initial selected item\",\n options: (_props, ctx) =>\n ctx?.itemIds ? Array.from(ctx.itemIds) : [],\n hidden: (props, ctx) =>\n !ctx?.isStandalone || props.selectionMode === \"none\",\n // We do not support multiple selections yet (Because React Aria select and combobox only support single selections).\n multiSelect: false,\n },\n onSelectionChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"selectedValues\", type: \"object\" }],\n },\n },\n states: {\n selectedValue: {\n type: \"writable\",\n valueProp: \"selectedKeys\",\n hidden: (props, ctx) =>\n !ctx?.isStandalone || props.selectionMode === \"none\",\n onChangeProp: \"onSelectionChange\",\n variableType: \"text\",\n ...listboxHelpers.states.selectedValue,\n },\n },\n componentHelpers: {\n helpers: listboxHelpers,\n importName: \"listboxHelpers\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerListBox\",\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["__objRest","__spreadProps","__spreadValues"],"mappings":"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"}
@@ -2,13 +2,14 @@
2
2
 
3
3
  require('@plasmicapp/host');
4
4
  require('react');
5
+ require('react-aria');
5
6
  require('react-aria-components');
7
+ require('./OptionsItemIdManager-cb3a2c53.cjs.js');
6
8
  require('./common-7f948fa5.cjs.js');
7
9
  require('./contexts-6d0cb2b1.cjs.js');
8
- require('./OptionsItemIdManager-cb3a2c53.cjs.js');
9
10
  require('./registerListBoxItem.cjs.js');
10
- var registerSection = require('./registerListBox-7a50077e.cjs.js');
11
- require('./variant-utils-0ad70db8.cjs.js');
11
+ var registerSection = require('./registerListBox-28474381.cjs.js');
12
+ require('./variant-utils-1c84aebb.cjs.js');
12
13
  require('@plasmicapp/host/registerComponent');
13
14
  require('./registerDescription.cjs.js');
14
15
  require('./registerText.cjs.js');
@@ -1 +1 @@
1
- {"version":3,"file":"registerListBox.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"registerListBox.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
@@ -5,7 +5,7 @@ import { WithVariants } from "./variant-utils";
5
5
  export interface BaseListBoxControlContextData extends BaseControlContextDataForLists {
6
6
  isStandalone: boolean;
7
7
  }
8
- declare const LISTBOX_VARIANTS: ("focused" | "focusVisible")[];
8
+ declare const LISTBOX_VARIANTS: "focused"[];
9
9
  export interface BaseListBoxProps extends Omit<React.ComponentProps<typeof ListBox>, "selectedKeys" | "defaultSelectedKeys" | "className">, HasControlContextData<BaseListBoxControlContextData>, WithVariants<typeof LISTBOX_VARIANTS> {
10
10
  children?: React.ReactNode;
11
11
  selectedKeys?: string | string[] | undefined;
@@ -1,12 +1,13 @@
1
1
  import '@plasmicapp/host';
2
2
  import 'react';
3
+ import 'react-aria';
3
4
  import 'react-aria-components';
5
+ import './OptionsItemIdManager-0ce90944.esm.js';
4
6
  import './common-81f08e86.esm.js';
5
7
  import './contexts-5cb81c2f.esm.js';
6
- import './OptionsItemIdManager-0ce90944.esm.js';
7
8
  import './registerListBoxItem.esm.js';
8
- export { a as BaseListBox, L as LIST_BOX_COMPONENT_NAME, l as listboxHelpers, b as registerListBox } from './registerListBox-14503b0a.esm.js';
9
- import './variant-utils-4405ebb0.esm.js';
9
+ export { a as BaseListBox, L as LIST_BOX_COMPONENT_NAME, l as listboxHelpers, b as registerListBox } from './registerListBox-7197abae.esm.js';
10
+ import './variant-utils-5f356d53.esm.js';
10
11
  import '@plasmicapp/host/registerComponent';
11
12
  import './registerDescription.esm.js';
12
13
  import './registerText.esm.js';
@@ -1 +1 @@
1
- {"version":3,"file":"registerListBox.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
1
+ {"version":3,"file":"registerListBox.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -2,12 +2,12 @@
2
2
 
3
3
  var React = require('react');
4
4
  var reactAriaComponents = require('react-aria-components');
5
+ var OptionsItemIdManager = require('./OptionsItemIdManager-cb3a2c53.cjs.js');
5
6
  var common = require('./common-7f948fa5.cjs.js');
6
7
  var contexts = require('./contexts-6d0cb2b1.cjs.js');
7
- var OptionsItemIdManager = require('./OptionsItemIdManager-cb3a2c53.cjs.js');
8
8
  var registerDescription = require('./registerDescription.cjs.js');
9
9
  var registerText = require('./registerText.cjs.js');
10
- var variantUtils = require('./variant-utils-0ad70db8.cjs.js');
10
+ var variantUtils = require('./variant-utils-1c84aebb.cjs.js');
11
11
  require('@plasmicapp/host');
12
12
  require('@plasmicapp/host/registerComponent');
13
13
 
@@ -54,14 +54,15 @@ const LIST_BOX_ITEM_VARIANTS = [
54
54
  "selected",
55
55
  "disabled"
56
56
  ];
57
- const { variants, withObservedValues } = variantUtils.pickAriaComponentVariants(
58
- LIST_BOX_ITEM_VARIANTS
59
- );
57
+ const { variants } = variantUtils.pickAriaComponentVariants(LIST_BOX_ITEM_VARIANTS);
60
58
  function BaseListBoxItem(props) {
61
59
  const _a = props, { children, setControlContextData, plasmicUpdateVariant, id } = _a, rest = __objRest(_a, ["children", "setControlContextData", "plasmicUpdateVariant", "id"]);
62
60
  const listboxContext = React__default.default.useContext(contexts.PlasmicListBoxContext);
63
61
  const isStandalone = !listboxContext;
64
- const { registeredId, idError } = OptionsItemIdManager.useOptionsItemId(id, listboxContext == null ? void 0 : listboxContext.idManager);
62
+ const { registeredId, idError } = OptionsItemIdManager.useOptionsItemId(
63
+ id,
64
+ listboxContext == null ? void 0 : listboxContext.idManager
65
+ );
65
66
  setControlContextData == null ? void 0 : setControlContextData({
66
67
  idError
67
68
  });
@@ -80,18 +81,20 @@ function BaseListBoxItem(props) {
80
81
  isFocusVisible,
81
82
  isSelected,
82
83
  isDisabled
83
- }) => withObservedValues(
84
- children,
84
+ }) => /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, /* @__PURE__ */ React__default.default.createElement(
85
+ variantUtils.VariantUpdater,
85
86
  {
86
- hovered: isHovered,
87
- pressed: isPressed,
88
- focused: isFocused,
89
- focusVisible: isFocusVisible,
90
- selected: isSelected,
91
- disabled: isDisabled
92
- },
93
- plasmicUpdateVariant
94
- )
87
+ changes: {
88
+ hovered: isHovered,
89
+ pressed: isPressed,
90
+ focused: isFocused,
91
+ focusVisible: isFocusVisible,
92
+ selected: isSelected,
93
+ disabled: isDisabled
94
+ },
95
+ updateVariant: plasmicUpdateVariant
96
+ }
97
+ ), children)
95
98
  );
96
99
  if (isStandalone) {
97
100
  return /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.ListBox, { selectionMode: "single" }, listboxItem);
@@ -1 +1 @@
1
- {"version":3,"file":"registerListBoxItem.cjs.js","sources":["../src/registerListBoxItem.tsx"],"sourcesContent":["import { PlasmicElement } from \"@plasmicapp/host\";\nimport React from \"react\";\nimport { ListBox, ListBoxItem } from \"react-aria-components\";\nimport { COMMON_STYLES } from \"./common\";\nimport { PlasmicListBoxContext } from \"./contexts\";\nimport { useOptionsItemId } from \"./OptionsItemIdManager\";\nimport { DESCRIPTION_COMPONENT_NAME } from \"./registerDescription\";\nimport { TEXT_COMPONENT_NAME } from \"./registerText\";\nimport {\n CodeComponentMetaOverrides,\n HasControlContextData,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\nimport { pickAriaComponentVariants, WithVariants } from \"./variant-utils\";\n\nconst LIST_BOX_ITEM_VARIANTS = [\n \"hovered\" as const,\n \"pressed\" as const,\n \"focused\" as const,\n \"focusVisible\" as const,\n \"selected\" as const,\n \"disabled\" as const,\n];\n\nconst { variants, withObservedValues } = pickAriaComponentVariants(\n LIST_BOX_ITEM_VARIANTS\n);\n\nexport interface BaseListBoxControlContextData {\n idError?: string;\n}\n\nexport type BaseListBoxItemProps = Omit<\n React.ComponentProps<typeof ListBoxItem>,\n \"id\"\n> &\n HasControlContextData<BaseListBoxControlContextData> &\n WithVariants<typeof LIST_BOX_ITEM_VARIANTS> &\n { id?: string; children?: React.ReactNode };\n\nexport function BaseListBoxItem(props: BaseListBoxItemProps) {\n const { children, setControlContextData, plasmicUpdateVariant, id, ...rest } =\n props;\n const listboxContext = React.useContext(PlasmicListBoxContext);\n const isStandalone = !listboxContext;\n /**\n * Ids of each listboxitem inside a listbox have to be unique. Otherwise, the items won't show up in the listbox.\n * This is particularly important to ensure, because the most common use case would be to apply Repeat Element to the listbox item.\n * The ids of each repeated item will initially be the same (until the user changes the id prop of the listboxitem).\n *\n * The registerId, therefore, is the unique id of the listboxitem.\n * It is the id registered with the listbox context, so that it can auto-generate a unique id if it identifies a duplicate.\n */\n const { registeredId, idError } = useOptionsItemId(id, listboxContext?.idManager);\n\n setControlContextData?.({\n idError,\n });\n\n const listboxItem = (\n <ListBoxItem\n key={registeredId}\n id={registeredId}\n {...rest}\n style={COMMON_STYLES}\n >\n {({\n isHovered,\n isPressed,\n isFocused,\n isFocusVisible,\n isSelected,\n isDisabled,\n }) =>\n withObservedValues(\n children,\n {\n hovered: isHovered,\n pressed: isPressed,\n focused: isFocused,\n focusVisible: isFocusVisible,\n selected: isSelected,\n disabled: isDisabled,\n },\n plasmicUpdateVariant\n )\n }\n </ListBoxItem>\n );\n\n if (isStandalone) {\n // selection mode needs to be single/multiple to be able to trigger hover state on it.\n return <ListBox selectionMode=\"single\">{listboxItem}</ListBox>;\n }\n\n return listboxItem;\n}\n\nexport const makeDefaultListBoxItemChildren = (\n label: string,\n description?: string\n): PlasmicElement => ({\n type: \"vbox\",\n styles: {\n display: \"flex\",\n alignItems: \"flex-start\",\n gap: \"2px\",\n },\n children: [\n {\n type: \"component\",\n name: TEXT_COMPONENT_NAME,\n props: {\n slot: \"label\",\n children: {\n type: \"text\",\n styles: {\n fontWeight: 500,\n },\n value: label,\n },\n },\n },\n {\n type: \"component\",\n name: DESCRIPTION_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n styles: {\n color: \"#838383\",\n },\n value: description ?? `Some description for ${label}...`,\n },\n },\n },\n ],\n});\n\nexport function registerListBoxItem(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseListBoxItem>\n) {\n return registerComponentHelper(\n loader,\n BaseListBoxItem,\n {\n name: makeComponentName(\"item\"),\n displayName: \"Aria ListBoxItem\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerListBoxItem\",\n importName: \"BaseListBoxItem\",\n variants,\n props: {\n id: {\n type: \"string\",\n description: \"A unique value for tracking the selected item in state\",\n required: true,\n displayName: \"Value\",\n validator: (_value, _props, ctx) => {\n if (ctx?.idError) {\n return ctx.idError;\n }\n return true;\n },\n },\n textValue: {\n type: \"string\",\n displayName: \"Label\",\n description:\n \"A user-friendly text representation of the item's contents, used for features like typeahead.\",\n },\n children: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: makeDefaultListBoxItemChildren(\"Item\"),\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["pickAriaComponentVariants","React","PlasmicListBoxContext","useOptionsItemId","ListBoxItem","COMMON_STYLES","ListBox","TEXT_COMPONENT_NAME","DESCRIPTION_COMPONENT_NAME","registerComponentHelper","makeComponentName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,MAAM,sBAAyB,GAAA;AAAA,EAC7B,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,cAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AACF,CAAA,CAAA;AAEA,MAAM,EAAE,QAAU,EAAA,kBAAA,EAAuB,GAAAA,sCAAA;AAAA,EACvC,sBAAA;AACF,CAAA,CAAA;AAcO,SAAS,gBAAgB,KAA6B,EAAA;AAC3D,EAAA,MACE,EADM,GAAA,KAAA,EAAA,EAAA,QAAA,EAAU,qBAAuB,EAAA,oBAAA,EAAsB,EA3CjE,EAAA,GA4CI,EADoE,EAAA,IAAA,GAAA,SAAA,CACpE,EADoE,EAAA,CAA9D,UAAU,EAAA,uBAAA,EAAuB,sBAAsB,EAAA,IAAA,CAAA,CAAA,CAAA;AAE/D,EAAM,MAAA,cAAA,GAAiBC,sBAAM,CAAA,UAAA,CAAWC,8BAAqB,CAAA,CAAA;AAC7D,EAAA,MAAM,eAAe,CAAC,cAAA,CAAA;AAStB,EAAA,MAAM,EAAE,YAAc,EAAA,OAAA,KAAYC,qCAAiB,CAAA,EAAA,EAAI,iDAAgB,SAAS,CAAA,CAAA;AAEhF,EAAwB,qBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,qBAAA,CAAA;AAAA,IACtB,OAAA;AAAA,GACF,CAAA,CAAA;AAEA,EAAA,MAAM,WACJ,mBAAAF,sBAAA,CAAA,aAAA;AAAA,IAACG,+BAAA;AAAA,IAAA,aAAA,CAAA,cAAA,CAAA;AAAA,MACC,GAAK,EAAA,YAAA;AAAA,MACL,EAAI,EAAA,YAAA;AAAA,KAAA,EACA,IAHL,CAAA,EAAA;AAAA,MAIC,KAAO,EAAAC,oBAAA;AAAA,KAAA,CAAA;AAAA,IAEN,CAAC;AAAA,MACA,SAAA;AAAA,MACA,SAAA;AAAA,MACA,SAAA;AAAA,MACA,cAAA;AAAA,MACA,UAAA;AAAA,MACA,UAAA;AAAA,KAEA,KAAA,kBAAA;AAAA,MACE,QAAA;AAAA,MACA;AAAA,QACE,OAAS,EAAA,SAAA;AAAA,QACT,OAAS,EAAA,SAAA;AAAA,QACT,OAAS,EAAA,SAAA;AAAA,QACT,YAAc,EAAA,cAAA;AAAA,QACd,QAAU,EAAA,UAAA;AAAA,QACV,QAAU,EAAA,UAAA;AAAA,OACZ;AAAA,MACA,oBAAA;AAAA,KACF;AAAA,GAEJ,CAAA;AAGF,EAAA,IAAI,YAAc,EAAA;AAEhB,IAAA,uBAAQJ,sBAAA,CAAA,aAAA,CAAAK,2BAAA,EAAA,EAAQ,aAAc,EAAA,QAAA,EAAA,EAAU,WAAY,CAAA,CAAA;AAAA,GACtD;AAEA,EAAO,OAAA,WAAA,CAAA;AACT,CAAA;AAEa,MAAA,8BAAA,GAAiC,CAC5C,KAAA,EACA,WACoB,MAAA;AAAA,EACpB,IAAM,EAAA,MAAA;AAAA,EACN,MAAQ,EAAA;AAAA,IACN,OAAS,EAAA,MAAA;AAAA,IACT,UAAY,EAAA,YAAA;AAAA,IACZ,GAAK,EAAA,KAAA;AAAA,GACP;AAAA,EACA,QAAU,EAAA;AAAA,IACR;AAAA,MACE,IAAM,EAAA,WAAA;AAAA,MACN,IAAM,EAAAC,gCAAA;AAAA,MACN,KAAO,EAAA;AAAA,QACL,IAAM,EAAA,OAAA;AAAA,QACN,QAAU,EAAA;AAAA,UACR,IAAM,EAAA,MAAA;AAAA,UACN,MAAQ,EAAA;AAAA,YACN,UAAY,EAAA,GAAA;AAAA,WACd;AAAA,UACA,KAAO,EAAA,KAAA;AAAA,SACT;AAAA,OACF;AAAA,KACF;AAAA,IACA;AAAA,MACE,IAAM,EAAA,WAAA;AAAA,MACN,IAAM,EAAAC,8CAAA;AAAA,MACN,KAAO,EAAA;AAAA,QACL,QAAU,EAAA;AAAA,UACR,IAAM,EAAA,MAAA;AAAA,UACN,MAAQ,EAAA;AAAA,YACN,KAAO,EAAA,SAAA;AAAA,WACT;AAAA,UACA,KAAA,EAAO,oCAAe,CAAwB,qBAAA,EAAA,KAAA,CAAA,GAAA,CAAA;AAAA,SAChD;AAAA,OACF;AAAA,KACF;AAAA,GACF;AACF,CAAA,EAAA;AAEgB,SAAA,mBAAA,CACd,QACA,SACA,EAAA;AACA,EAAO,OAAAC,8BAAA;AAAA,IACL,MAAA;AAAA,IACA,eAAA;AAAA,IACA;AAAA,MACE,IAAA,EAAMC,yBAAkB,MAAM,CAAA;AAAA,MAC9B,WAAa,EAAA,kBAAA;AAAA,MACb,UAAY,EAAA,oDAAA;AAAA,MACZ,UAAY,EAAA,iBAAA;AAAA,MACZ,QAAA;AAAA,MACA,KAAO,EAAA;AAAA,QACL,EAAI,EAAA;AAAA,UACF,IAAM,EAAA,QAAA;AAAA,UACN,WAAa,EAAA,wDAAA;AAAA,UACb,QAAU,EAAA,IAAA;AAAA,UACV,WAAa,EAAA,OAAA;AAAA,UACb,SAAW,EAAA,CAAC,MAAQ,EAAA,MAAA,EAAQ,GAAQ,KAAA;AAClC,YAAA,IAAI,2BAAK,OAAS,EAAA;AAChB,cAAA,OAAO,GAAI,CAAA,OAAA,CAAA;AAAA,aACb;AACA,YAAO,OAAA,IAAA,CAAA;AAAA,WACT;AAAA,SACF;AAAA,QACA,SAAW,EAAA;AAAA,UACT,IAAM,EAAA,QAAA;AAAA,UACN,WAAa,EAAA,OAAA;AAAA,UACb,WACE,EAAA,+FAAA;AAAA,SACJ;AAAA,QACA,QAAU,EAAA;AAAA,UACR,IAAM,EAAA,MAAA;AAAA,UACN,eAAiB,EAAA,IAAA;AAAA,UACjB,YAAA,EAAc,+BAA+B,MAAM,CAAA;AAAA,SACrD;AAAA,OACF;AAAA,MACA,UAAY,EAAA,IAAA;AAAA,KACd;AAAA,IACA,SAAA;AAAA,GACF,CAAA;AACF;;;;;;"}
1
+ {"version":3,"file":"registerListBoxItem.cjs.js","sources":["../src/registerListBoxItem.tsx"],"sourcesContent":["import { PlasmicElement } from \"@plasmicapp/host\";\nimport React from \"react\";\nimport { ListBox, ListBoxItem } from \"react-aria-components\";\nimport { useOptionsItemId } from \"./OptionsItemIdManager\";\nimport { COMMON_STYLES } from \"./common\";\nimport { PlasmicListBoxContext } from \"./contexts\";\nimport { DESCRIPTION_COMPONENT_NAME } from \"./registerDescription\";\nimport { TEXT_COMPONENT_NAME } from \"./registerText\";\nimport {\n CodeComponentMetaOverrides,\n HasControlContextData,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\nimport {\n VariantUpdater,\n WithVariants,\n pickAriaComponentVariants,\n} from \"./variant-utils\";\n\nconst LIST_BOX_ITEM_VARIANTS = [\n \"hovered\" as const,\n \"pressed\" as const,\n \"focused\" as const,\n \"focusVisible\" as const,\n \"selected\" as const,\n \"disabled\" as const,\n];\n\nconst { variants } = pickAriaComponentVariants(LIST_BOX_ITEM_VARIANTS);\n\nexport interface BaseListBoxControlContextData {\n idError?: string;\n}\n\nexport type BaseListBoxItemProps = Omit<\n React.ComponentProps<typeof ListBoxItem>,\n \"id\"\n> &\n HasControlContextData<BaseListBoxControlContextData> &\n WithVariants<typeof LIST_BOX_ITEM_VARIANTS> & {\n id?: string;\n children?: React.ReactNode;\n };\n\nexport function BaseListBoxItem(props: BaseListBoxItemProps) {\n const { children, setControlContextData, plasmicUpdateVariant, id, ...rest } =\n props;\n const listboxContext = React.useContext(PlasmicListBoxContext);\n const isStandalone = !listboxContext;\n /**\n * Ids of each listboxitem inside a listbox have to be unique. Otherwise, the items won't show up in the listbox.\n * This is particularly important to ensure, because the most common use case would be to apply Repeat Element to the listbox item.\n * The ids of each repeated item will initially be the same (until the user changes the id prop of the listboxitem).\n *\n * The registerId, therefore, is the unique id of the listboxitem.\n * It is the id registered with the listbox context, so that it can auto-generate a unique id if it identifies a duplicate.\n */\n const { registeredId, idError } = useOptionsItemId(\n id,\n listboxContext?.idManager\n );\n\n setControlContextData?.({\n idError,\n });\n\n const listboxItem = (\n <ListBoxItem\n key={registeredId}\n id={registeredId}\n {...rest}\n style={COMMON_STYLES}\n >\n {({\n isHovered,\n isPressed,\n isFocused,\n isFocusVisible,\n isSelected,\n isDisabled,\n }) => (\n <>\n <VariantUpdater\n changes={{\n hovered: isHovered,\n pressed: isPressed,\n focused: isFocused,\n focusVisible: isFocusVisible,\n selected: isSelected,\n disabled: isDisabled,\n }}\n updateVariant={plasmicUpdateVariant}\n />\n {children}\n </>\n )}\n </ListBoxItem>\n );\n\n if (isStandalone) {\n // selection mode needs to be single/multiple to be able to trigger hover state on it.\n return <ListBox selectionMode=\"single\">{listboxItem}</ListBox>;\n }\n\n return listboxItem;\n}\n\nexport const makeDefaultListBoxItemChildren = (\n label: string,\n description?: string\n): PlasmicElement => ({\n type: \"vbox\",\n styles: {\n display: \"flex\",\n alignItems: \"flex-start\",\n gap: \"2px\",\n },\n children: [\n {\n type: \"component\",\n name: TEXT_COMPONENT_NAME,\n props: {\n slot: \"label\",\n children: {\n type: \"text\",\n styles: {\n fontWeight: 500,\n },\n value: label,\n },\n },\n },\n {\n type: \"component\",\n name: DESCRIPTION_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n styles: {\n color: \"#838383\",\n },\n value: description ?? `Some description for ${label}...`,\n },\n },\n },\n ],\n});\n\nexport function registerListBoxItem(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseListBoxItem>\n) {\n return registerComponentHelper(\n loader,\n BaseListBoxItem,\n {\n name: makeComponentName(\"item\"),\n displayName: \"Aria ListBoxItem\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerListBoxItem\",\n importName: \"BaseListBoxItem\",\n variants,\n props: {\n id: {\n type: \"string\",\n description: \"A unique value for tracking the selected item in state\",\n required: true,\n displayName: \"Value\",\n validator: (_value, _props, ctx) => {\n if (ctx?.idError) {\n return ctx.idError;\n }\n return true;\n },\n },\n textValue: {\n type: \"string\",\n displayName: \"Label\",\n description:\n \"A user-friendly text representation of the item's contents, used for features like typeahead.\",\n },\n children: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: makeDefaultListBoxItemChildren(\"Item\"),\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["pickAriaComponentVariants","React","PlasmicListBoxContext","useOptionsItemId","ListBoxItem","COMMON_STYLES","VariantUpdater","ListBox","TEXT_COMPONENT_NAME","DESCRIPTION_COMPONENT_NAME","registerComponentHelper","makeComponentName"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import React from 'react';
2
2
  import { ListBoxItem, ListBox } from 'react-aria-components';
3
+ import { a as useOptionsItemId } from './OptionsItemIdManager-0ce90944.esm.js';
3
4
  import { r as registerComponentHelper, C as COMMON_STYLES, m as makeComponentName } from './common-81f08e86.esm.js';
4
5
  import { b as PlasmicListBoxContext } from './contexts-5cb81c2f.esm.js';
5
- import { a as useOptionsItemId } from './OptionsItemIdManager-0ce90944.esm.js';
6
6
  import { DESCRIPTION_COMPONENT_NAME } from './registerDescription.esm.js';
7
7
  import { TEXT_COMPONENT_NAME } from './registerText.esm.js';
8
- import { p as pickAriaComponentVariants } from './variant-utils-4405ebb0.esm.js';
8
+ import { p as pickAriaComponentVariants, V as VariantUpdater } from './variant-utils-5f356d53.esm.js';
9
9
  import '@plasmicapp/host';
10
10
  import '@plasmicapp/host/registerComponent';
11
11
 
@@ -48,14 +48,15 @@ const LIST_BOX_ITEM_VARIANTS = [
48
48
  "selected",
49
49
  "disabled"
50
50
  ];
51
- const { variants, withObservedValues } = pickAriaComponentVariants(
52
- LIST_BOX_ITEM_VARIANTS
53
- );
51
+ const { variants } = pickAriaComponentVariants(LIST_BOX_ITEM_VARIANTS);
54
52
  function BaseListBoxItem(props) {
55
53
  const _a = props, { children, setControlContextData, plasmicUpdateVariant, id } = _a, rest = __objRest(_a, ["children", "setControlContextData", "plasmicUpdateVariant", "id"]);
56
54
  const listboxContext = React.useContext(PlasmicListBoxContext);
57
55
  const isStandalone = !listboxContext;
58
- const { registeredId, idError } = useOptionsItemId(id, listboxContext == null ? void 0 : listboxContext.idManager);
56
+ const { registeredId, idError } = useOptionsItemId(
57
+ id,
58
+ listboxContext == null ? void 0 : listboxContext.idManager
59
+ );
59
60
  setControlContextData == null ? void 0 : setControlContextData({
60
61
  idError
61
62
  });
@@ -74,18 +75,20 @@ function BaseListBoxItem(props) {
74
75
  isFocusVisible,
75
76
  isSelected,
76
77
  isDisabled
77
- }) => withObservedValues(
78
- children,
78
+ }) => /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
79
+ VariantUpdater,
79
80
  {
80
- hovered: isHovered,
81
- pressed: isPressed,
82
- focused: isFocused,
83
- focusVisible: isFocusVisible,
84
- selected: isSelected,
85
- disabled: isDisabled
86
- },
87
- plasmicUpdateVariant
88
- )
81
+ changes: {
82
+ hovered: isHovered,
83
+ pressed: isPressed,
84
+ focused: isFocused,
85
+ focusVisible: isFocusVisible,
86
+ selected: isSelected,
87
+ disabled: isDisabled
88
+ },
89
+ updateVariant: plasmicUpdateVariant
90
+ }
91
+ ), children)
89
92
  );
90
93
  if (isStandalone) {
91
94
  return /* @__PURE__ */ React.createElement(ListBox, { selectionMode: "single" }, listboxItem);