@plasmicpkgs/react-aria 0.0.120 → 0.0.122

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 (118) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/OptionsItemIdManager.d.ts +18 -0
  3. package/dist/react-aria.esm.js +151 -184
  4. package/dist/react-aria.esm.js.map +1 -1
  5. package/dist/react-aria.js +150 -183
  6. package/dist/react-aria.js.map +1 -1
  7. package/dist/registerCheckboxGroup.d.ts +2 -5
  8. package/dist/registerComboBox.d.ts +2 -5
  9. package/dist/registerListBox.d.ts +2 -3
  10. package/dist/registerRadioGroup.d.ts +2 -5
  11. package/dist/registerSelect.d.ts +2 -5
  12. package/dist/utils.d.ts +3 -0
  13. package/package.json +2 -2
  14. package/skinny/OptionsItemIdManager-904d6cea.esm.js +105 -0
  15. package/skinny/OptionsItemIdManager-904d6cea.esm.js.map +1 -0
  16. package/skinny/OptionsItemIdManager-ab379c9b.cjs.js +108 -0
  17. package/skinny/OptionsItemIdManager-ab379c9b.cjs.js.map +1 -0
  18. package/skinny/OptionsItemIdManager.d.ts +18 -0
  19. package/skinny/{common-616eb178.esm.js → common-a8047588.esm.js} +2 -2
  20. package/skinny/{common-616eb178.esm.js.map → common-a8047588.esm.js.map} +1 -1
  21. package/skinny/{common-45acb83c.cjs.js → common-abd18d7f.cjs.js} +2 -2
  22. package/skinny/{common-45acb83c.cjs.js.map → common-abd18d7f.cjs.js.map} +1 -1
  23. package/skinny/registerButton.cjs.js +2 -2
  24. package/skinny/registerButton.esm.js +2 -2
  25. package/skinny/registerCheckbox.cjs.js +8 -30
  26. package/skinny/registerCheckbox.cjs.js.map +1 -1
  27. package/skinny/registerCheckbox.esm.js +9 -31
  28. package/skinny/registerCheckbox.esm.js.map +1 -1
  29. package/skinny/registerCheckboxGroup.cjs.js +13 -16
  30. package/skinny/registerCheckboxGroup.cjs.js.map +1 -1
  31. package/skinny/registerCheckboxGroup.d.ts +2 -5
  32. package/skinny/registerCheckboxGroup.esm.js +14 -17
  33. package/skinny/registerCheckboxGroup.esm.js.map +1 -1
  34. package/skinny/registerComboBox.cjs.js +10 -9
  35. package/skinny/registerComboBox.cjs.js.map +1 -1
  36. package/skinny/registerComboBox.d.ts +2 -5
  37. package/skinny/registerComboBox.esm.js +11 -10
  38. package/skinny/registerComboBox.esm.js.map +1 -1
  39. package/skinny/registerDescription.cjs.js +2 -2
  40. package/skinny/registerDescription.esm.js +2 -2
  41. package/skinny/registerDialog.cjs.js +2 -2
  42. package/skinny/registerDialog.esm.js +2 -2
  43. package/skinny/registerDialogTrigger.cjs.js +2 -2
  44. package/skinny/registerDialogTrigger.esm.js +2 -2
  45. package/skinny/registerFieldError.cjs.js +1 -1
  46. package/skinny/registerFieldError.esm.js +1 -1
  47. package/skinny/registerForm.cjs.js +1 -1
  48. package/skinny/registerForm.esm.js +1 -1
  49. package/skinny/registerHeading.cjs.js +2 -2
  50. package/skinny/registerHeading.esm.js +2 -2
  51. package/skinny/registerInput.cjs.js +2 -2
  52. package/skinny/registerInput.esm.js +2 -2
  53. package/skinny/registerLabel.cjs.js +2 -2
  54. package/skinny/registerLabel.esm.js +2 -2
  55. package/skinny/{registerListBox-0f6ebcf0.esm.js → registerListBox-5f3e4b36.esm.js} +6 -17
  56. package/skinny/registerListBox-5f3e4b36.esm.js.map +1 -0
  57. package/skinny/{registerListBox-040b0374.cjs.js → registerListBox-c33bc9d2.cjs.js} +5 -16
  58. package/skinny/registerListBox-c33bc9d2.cjs.js.map +1 -0
  59. package/skinny/registerListBox.cjs.js +4 -4
  60. package/skinny/registerListBox.d.ts +2 -3
  61. package/skinny/registerListBox.esm.js +4 -4
  62. package/skinny/registerListBoxItem.cjs.js +8 -29
  63. package/skinny/registerListBoxItem.cjs.js.map +1 -1
  64. package/skinny/registerListBoxItem.esm.js +9 -30
  65. package/skinny/registerListBoxItem.esm.js.map +1 -1
  66. package/skinny/registerModal.cjs.js +2 -2
  67. package/skinny/registerModal.esm.js +2 -2
  68. package/skinny/registerOverlayArrow.cjs.js +2 -2
  69. package/skinny/registerOverlayArrow.esm.js +2 -2
  70. package/skinny/registerPopover.cjs.js +2 -2
  71. package/skinny/registerPopover.esm.js +2 -2
  72. package/skinny/registerRadio.cjs.js +8 -29
  73. package/skinny/registerRadio.cjs.js.map +1 -1
  74. package/skinny/registerRadio.esm.js +9 -30
  75. package/skinny/registerRadio.esm.js.map +1 -1
  76. package/skinny/registerRadioGroup.cjs.js +13 -16
  77. package/skinny/registerRadioGroup.cjs.js.map +1 -1
  78. package/skinny/registerRadioGroup.d.ts +2 -5
  79. package/skinny/registerRadioGroup.esm.js +14 -17
  80. package/skinny/registerRadioGroup.esm.js.map +1 -1
  81. package/skinny/registerSection.cjs.js +4 -4
  82. package/skinny/registerSection.esm.js +4 -4
  83. package/skinny/registerSelect.cjs.js +10 -9
  84. package/skinny/registerSelect.cjs.js.map +1 -1
  85. package/skinny/registerSelect.d.ts +2 -5
  86. package/skinny/registerSelect.esm.js +11 -10
  87. package/skinny/registerSelect.esm.js.map +1 -1
  88. package/skinny/registerSlider.cjs.js +2 -2
  89. package/skinny/registerSlider.esm.js +2 -2
  90. package/skinny/registerSliderOutput.cjs.js +2 -2
  91. package/skinny/registerSliderOutput.esm.js +2 -2
  92. package/skinny/registerSliderThumb.cjs.js +2 -2
  93. package/skinny/registerSliderThumb.esm.js +2 -2
  94. package/skinny/registerSliderTrack.cjs.js +2 -2
  95. package/skinny/registerSliderTrack.esm.js +2 -2
  96. package/skinny/registerSwitch.cjs.js +2 -2
  97. package/skinny/registerSwitch.esm.js +2 -2
  98. package/skinny/registerText.cjs.js +2 -2
  99. package/skinny/registerText.esm.js +2 -2
  100. package/skinny/registerTextArea.cjs.js +2 -2
  101. package/skinny/registerTextArea.esm.js +2 -2
  102. package/skinny/registerTextField.cjs.js +2 -2
  103. package/skinny/registerTextField.esm.js +2 -2
  104. package/skinny/registerTooltip.cjs.js +2 -2
  105. package/skinny/registerTooltip.esm.js +2 -2
  106. package/skinny/{utils-fc1ddd7c.cjs.js → utils-2e03b499.cjs.js} +2 -2
  107. package/skinny/utils-2e03b499.cjs.js.map +1 -0
  108. package/skinny/{utils-fd88ad47.esm.js → utils-d0ca1a25.esm.js} +2 -2
  109. package/skinny/utils-d0ca1a25.esm.js.map +1 -0
  110. package/skinny/utils.d.ts +3 -0
  111. package/skinny/OptionsItemIdManager-832b8cfe.esm.js +0 -54
  112. package/skinny/OptionsItemIdManager-832b8cfe.esm.js.map +0 -1
  113. package/skinny/OptionsItemIdManager-a89a28b9.cjs.js +0 -56
  114. package/skinny/OptionsItemIdManager-a89a28b9.cjs.js.map +0 -1
  115. package/skinny/registerListBox-040b0374.cjs.js.map +0 -1
  116. package/skinny/registerListBox-0f6ebcf0.esm.js.map +0 -1
  117. package/skinny/utils-fc1ddd7c.cjs.js.map +0 -1
  118. package/skinny/utils-fd88ad47.esm.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"registerRadio.esm.js","sources":["../src/registerRadio.tsx"],"sourcesContent":["import { PlasmicElement } from \"@plasmicapp/host\";\nimport React, { useEffect, useState } from \"react\";\nimport type { RadioProps } from \"react-aria-components\";\nimport { Radio, RadioGroup } from \"react-aria-components\";\nimport { COMMON_STYLES, getCommonProps } from \"./common\";\nimport { PlasmicRadioGroupContext } from \"./contexts\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport {\n BaseControlContextData,\n CodeComponentMetaOverrides,\n HasControlContextData,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\nimport { WithVariants, pickAriaComponentVariants } from \"./variant-utils\";\n\nconst RADIO_VARIANTS = [\n \"selected\" as const,\n \"hovered\" as const,\n \"pressed\" as const,\n \"focused\" as const,\n \"focusVisible\" as const,\n \"disabled\" as const,\n \"readonly\" as const,\n \"selected\" as const,\n];\n\nexport interface BaseRadioControlContextData extends BaseControlContextData {\n idError?: string;\n}\n\nexport interface BaseRadioProps\n extends RadioProps,\n HasControlContextData<BaseRadioControlContextData>,\n WithVariants<typeof RADIO_VARIANTS> {\n children: React.ReactNode;\n}\n\nconst { variants, withObservedValues } =\n pickAriaComponentVariants(RADIO_VARIANTS);\n\nexport function BaseRadio(props: BaseRadioProps) {\n const {\n children,\n setControlContextData,\n plasmicUpdateVariant,\n value,\n ...rest\n } = props;\n const contextProps = React.useContext(PlasmicRadioGroupContext);\n const isStandalone = !contextProps;\n const [registeredId, setRegisteredId] = useState<string>(\"\");\n\n useEffect(() => {\n if (!contextProps?.idManager) {\n return;\n }\n\n const localId = contextProps.idManager.register(value);\n setRegisteredId(localId);\n\n return () => {\n contextProps.idManager.unregister(localId);\n setRegisteredId(\"\");\n };\n }, [value, contextProps?.idManager]);\n\n setControlContextData?.({\n parent: contextProps,\n idError: (() => {\n if (value === undefined) {\n return \"Value must be defined\";\n }\n if (typeof value !== \"string\") {\n return \"Value must be a string\";\n }\n if (!value.trim()) {\n return \"Value must be defined\";\n }\n if (!isStandalone && value != registeredId) {\n return \"Value must be unique\";\n }\n return undefined;\n })(),\n });\n\n const radio = (\n <Radio\n {...rest}\n value={registeredId}\n key={registeredId}\n style={COMMON_STYLES}\n >\n {({\n isHovered,\n isPressed,\n isFocused,\n isFocusVisible,\n isSelected,\n isDisabled,\n isReadOnly,\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 readonly: isReadOnly,\n },\n plasmicUpdateVariant\n )\n }\n </Radio>\n );\n\n if (isStandalone) {\n return <RadioGroup>{radio}</RadioGroup>;\n }\n\n return radio;\n}\n\nexport const makeDefaultRadioChildren = (label: string): PlasmicElement => ({\n type: \"hbox\",\n styles: {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"10px\",\n padding: 0,\n },\n children: [\n {\n type: \"box\",\n styles: {\n width: \"7px\",\n height: \"7px\",\n borderRadius: \"100%\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n },\n },\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: label,\n },\n },\n },\n ],\n});\n\nexport function registerRadio(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseRadio>\n) {\n return registerComponentHelper(\n loader,\n BaseRadio,\n {\n name: makeComponentName(\"radio\"),\n displayName: \"Aria Radio\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerRadio\",\n importName: \"BaseRadio\",\n variants,\n props: {\n ...getCommonProps<BaseRadioProps>(\"radio\", [\n \"isDisabled\",\n \"autoFocus\",\n \"aria-label\",\n ]),\n children: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: makeDefaultRadioChildren(\"Radio\"),\n },\n value: {\n type: \"string\",\n description:\n \"The value of the input element, used when submitting an HTML form.\",\n validator: (_value, _props, ctx) => {\n if (ctx?.idError) {\n return ctx.idError;\n }\n return true;\n },\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registerRadio.esm.js","sources":["../src/registerRadio.tsx"],"sourcesContent":["import { PlasmicElement } from \"@plasmicapp/host\";\nimport React from \"react\";\nimport type { RadioProps } from \"react-aria-components\";\nimport { Radio, RadioGroup } from \"react-aria-components\";\nimport { COMMON_STYLES, getCommonProps } from \"./common\";\nimport { PlasmicRadioGroupContext } from \"./contexts\";\nimport { useOptionsItemId } from \"./OptionsItemIdManager\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport {\n BaseControlContextData,\n CodeComponentMetaOverrides,\n HasControlContextData,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\nimport { WithVariants, pickAriaComponentVariants } from \"./variant-utils\";\n\nconst RADIO_VARIANTS = [\n \"selected\" as const,\n \"hovered\" as const,\n \"pressed\" as const,\n \"focused\" as const,\n \"focusVisible\" as const,\n \"disabled\" as const,\n \"readonly\" as const,\n \"selected\" as const,\n];\n\nexport interface BaseRadioControlContextData extends BaseControlContextData {\n idError?: string;\n}\n\nexport interface BaseRadioProps\n extends RadioProps,\n HasControlContextData<BaseRadioControlContextData>,\n WithVariants<typeof RADIO_VARIANTS> {\n children: React.ReactNode;\n}\n\nconst { variants, withObservedValues } =\n pickAriaComponentVariants(RADIO_VARIANTS);\n\nexport function BaseRadio(props: BaseRadioProps) {\n const {\n children,\n setControlContextData,\n plasmicUpdateVariant,\n value,\n ...rest\n } = props;\n const contextProps = React.useContext(PlasmicRadioGroupContext);\n const isStandalone = !contextProps;\n const { registeredId, idError } = useOptionsItemId(\n value,\n contextProps?.idManager\n );\n\n setControlContextData?.({\n parent: contextProps,\n idError,\n });\n\n const radio = (\n <Radio\n {...rest}\n value={registeredId}\n key={registeredId}\n style={COMMON_STYLES}\n >\n {({\n isHovered,\n isPressed,\n isFocused,\n isFocusVisible,\n isSelected,\n isDisabled,\n isReadOnly,\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 readonly: isReadOnly,\n },\n plasmicUpdateVariant\n )\n }\n </Radio>\n );\n\n if (isStandalone) {\n return <RadioGroup>{radio}</RadioGroup>;\n }\n\n return radio;\n}\n\nexport const makeDefaultRadioChildren = (label: string): PlasmicElement => ({\n type: \"hbox\",\n styles: {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"10px\",\n padding: 0,\n },\n children: [\n {\n type: \"box\",\n styles: {\n width: \"7px\",\n height: \"7px\",\n borderRadius: \"100%\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n },\n },\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: label,\n },\n },\n },\n ],\n});\n\nexport function registerRadio(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseRadio>\n) {\n return registerComponentHelper(\n loader,\n BaseRadio,\n {\n name: makeComponentName(\"radio\"),\n displayName: \"Aria Radio\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerRadio\",\n importName: \"BaseRadio\",\n variants,\n props: {\n ...getCommonProps<BaseRadioProps>(\"radio\", [\n \"isDisabled\",\n \"autoFocus\",\n \"aria-label\",\n ]),\n children: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: makeDefaultRadioChildren(\"Radio\"),\n },\n value: {\n type: \"string\",\n description:\n \"The value of the input element, used when submitting an HTML form.\",\n validator: (_value, _props, ctx) => {\n if (ctx?.idError) {\n return ctx.idError;\n }\n return true;\n },\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":[],"mappings":"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"}
@@ -2,13 +2,13 @@
2
2
 
3
3
  var React = require('react');
4
4
  var reactAriaComponents = require('react-aria-components');
5
- var common = require('./common-45acb83c.cjs.js');
5
+ var common = require('./common-abd18d7f.cjs.js');
6
6
  var contexts = require('./contexts-6d0cb2b1.cjs.js');
7
- var OptionsItemIdManager = require('./OptionsItemIdManager-a89a28b9.cjs.js');
7
+ var OptionsItemIdManager = require('./OptionsItemIdManager-ab379c9b.cjs.js');
8
8
  var registerDescription = require('./registerDescription.cjs.js');
9
9
  var registerLabel = require('./registerLabel.cjs.js');
10
10
  var registerRadio = require('./registerRadio.cjs.js');
11
- var utils = require('./utils-fc1ddd7c.cjs.js');
11
+ var utils = require('./utils-2e03b499.cjs.js');
12
12
  var variantUtils = require('./variant-utils-0ad70db8.cjs.js');
13
13
  require('./registerText.cjs.js');
14
14
  require('@plasmicapp/host');
@@ -53,18 +53,15 @@ const RADIO_GROUP_VARIANTS = ["disabled", "readonly"];
53
53
  const { variants, withObservedValues } = variantUtils.pickAriaComponentVariants(RADIO_GROUP_VARIANTS);
54
54
  function BaseRadioGroup(props) {
55
55
  const _a = props, { children, plasmicUpdateVariant, setControlContextData } = _a, rest = __objRest(_a, ["children", "plasmicUpdateVariant", "setControlContextData"]);
56
- const [ids, setIds] = React.useState([]);
57
- const idManager = React.useMemo(() => new OptionsItemIdManager.OptionsItemIdManager(), []);
58
- React.useEffect(() => {
59
- setControlContextData == null ? void 0 : setControlContextData({
60
- values: ids
61
- });
62
- }, [ids, setControlContextData]);
63
- React.useEffect(() => {
64
- idManager.subscribe((_ids) => {
65
- setIds(_ids);
66
- });
67
- }, [idManager]);
56
+ const updateIds = React.useCallback(
57
+ (ids) => {
58
+ setControlContextData == null ? void 0 : setControlContextData({
59
+ itemIds: ids
60
+ });
61
+ },
62
+ [setControlContextData]
63
+ );
64
+ const idManager = OptionsItemIdManager.useIdManager(updateIds);
68
65
  return (
69
66
  // PlasmicRadioGroupContext is used by BaseRadio
70
67
  /* @__PURE__ */ React__default.default.createElement(contexts.PlasmicRadioGroupContext.Provider, { value: __spreadProps(__spreadValues({}, props), { idManager }) }, /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.RadioGroup, __spreadProps(__spreadValues({}, rest), { style: common.COMMON_STYLES }), ({ isDisabled, isReadOnly }) => withObservedValues(
@@ -166,7 +163,7 @@ function registerRadioGroup(loader, overrides) {
166
163
  displayName: "Initial value",
167
164
  uncontrolledProp: "defaultValue",
168
165
  description: "The current value",
169
- options: (_props, ctx) => (ctx == null ? void 0 : ctx.values) ? Array.from(ctx.values) : [],
166
+ options: (_props, ctx) => (ctx == null ? void 0 : ctx.itemIds) ? Array.from(ctx.itemIds) : [],
170
167
  multiSelect: false
171
168
  },
172
169
  isInvalid: {
@@ -1 +1 @@
1
- {"version":3,"file":"registerRadioGroup.cjs.js","sources":["../src/registerRadioGroup.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from \"react\";\nimport type { RadioGroupProps } from \"react-aria-components\";\nimport { RadioGroup } from \"react-aria-components\";\nimport { COMMON_STYLES, getCommonProps } from \"./common\";\nimport { PlasmicRadioGroupContext } from \"./contexts\";\nimport { OptionsItemIdManager } from \"./OptionsItemIdManager\";\nimport { DESCRIPTION_COMPONENT_NAME } from \"./registerDescription\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport { makeDefaultRadioChildren, registerRadio } from \"./registerRadio\";\nimport {\n CodeComponentMetaOverrides,\n HasControlContextData,\n Registerable,\n makeChildComponentName,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\nimport { WithVariants, pickAriaComponentVariants } from \"./variant-utils\";\n\nexport interface BaseRadioGroupControlContextData {\n values: string[];\n}\n\nconst RADIO_GROUP_VARIANTS = [\"disabled\" as const, \"readonly\" as const];\n\nexport interface BaseRadioGroupProps\n extends RadioGroupProps,\n HasControlContextData<BaseRadioGroupControlContextData>,\n WithVariants<typeof RADIO_GROUP_VARIANTS> {\n children: React.ReactNode;\n}\n\nconst { variants, withObservedValues } =\n pickAriaComponentVariants(RADIO_GROUP_VARIANTS);\n\nexport function BaseRadioGroup(props: BaseRadioGroupProps) {\n const { children, plasmicUpdateVariant, setControlContextData, ...rest } =\n props;\n\n const [ids, setIds] = useState<string[]>([]);\n const idManager = useMemo(() => new OptionsItemIdManager(), []);\n\n useEffect(() => {\n setControlContextData?.({\n values: ids,\n });\n }, [ids, setControlContextData]);\n\n useEffect(() => {\n idManager.subscribe((_ids: string[]) => {\n setIds(_ids);\n });\n }, [idManager]);\n\n return (\n // PlasmicRadioGroupContext is used by BaseRadio\n <PlasmicRadioGroupContext.Provider value={{ ...props, idManager }}>\n <RadioGroup {...rest} style={COMMON_STYLES}>\n {({ isDisabled, isReadOnly }) =>\n withObservedValues(\n children,\n {\n disabled: isDisabled,\n readonly: isReadOnly,\n },\n plasmicUpdateVariant\n )\n }\n </RadioGroup>\n </PlasmicRadioGroupContext.Provider>\n );\n}\n\nconst RADIO_GROUP_COMPONENT_NAME = makeComponentName(\"radioGroup\");\n\nexport function registerRadioGroup(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseRadioGroup>\n) {\n const thisName = makeChildComponentName(\n overrides?.parentComponentName,\n RADIO_GROUP_COMPONENT_NAME\n );\n\n const radioMeta = registerRadio(loader, { parentComponentName: thisName });\n\n registerComponentHelper(\n loader,\n BaseRadioGroup,\n {\n name: RADIO_GROUP_COMPONENT_NAME,\n displayName: \"Aria RadioGroup\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerRadioGroup\",\n importName: \"BaseRadioGroup\",\n variants,\n props: {\n ...getCommonProps<BaseRadioGroupProps>(\"radio group\", [\n \"name\",\n \"isDisabled\",\n \"isReadOnly\",\n \"aria-label\",\n \"isRequired\",\n ]),\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"vbox\",\n styles: {\n display: \"flex\",\n gap: \"5px\",\n padding: 0,\n alignItems: \"flex-start\",\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Radio Group\",\n },\n },\n },\n {\n type: \"component\",\n name: radioMeta.name,\n props: {\n children: makeDefaultRadioChildren(\"Radio 1\"),\n value: \"radio1\",\n },\n },\n {\n type: \"component\",\n name: radioMeta.name,\n props: {\n children: makeDefaultRadioChildren(\"Radio 2\"),\n value: \"radio2\",\n },\n },\n {\n type: \"component\",\n name: radioMeta.name,\n props: {\n children: makeDefaultRadioChildren(\"Radio 3\"),\n value: \"radio3\",\n },\n },\n {\n type: \"component\",\n name: DESCRIPTION_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value:\n \"Use the registered variants to see it in action...\",\n },\n },\n },\n ],\n },\n ],\n },\n value: {\n type: \"choice\",\n editOnly: true,\n displayName: \"Initial value\",\n uncontrolledProp: \"defaultValue\",\n description: \"The current value\",\n options: (_props, ctx) => (ctx?.values ? Array.from(ctx.values) : []),\n multiSelect: false,\n },\n isInvalid: {\n displayName: \"Invalid\",\n type: \"boolean\",\n description: \"Whether the input value is invalid\",\n defaultValueHint: false,\n },\n validationBehavior: {\n type: \"choice\",\n options: [\"native\", \"aria\"],\n description:\n \"Whether to use native HTML form validation to prevent form submission when the value is missing or invalid, or mark the field as required or invalid via ARIA.\",\n defaultValueHint: \"native\",\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"string\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"array\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["pickAriaComponentVariants","useState","useMemo","OptionsItemIdManager","useEffect","React","PlasmicRadioGroupContext","RadioGroup","COMMON_STYLES","makeComponentName","makeChildComponentName","registerRadio","registerComponentHelper","getCommonProps","LABEL_COMPONENT_NAME","makeDefaultRadioChildren","DESCRIPTION_COMPONENT_NAME"],"mappings":"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"}
1
+ {"version":3,"file":"registerRadioGroup.cjs.js","sources":["../src/registerRadioGroup.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport type { RadioGroupProps } from \"react-aria-components\";\nimport { RadioGroup } from \"react-aria-components\";\nimport { COMMON_STYLES, getCommonProps } from \"./common\";\nimport { PlasmicRadioGroupContext } from \"./contexts\";\nimport { useIdManager } from \"./OptionsItemIdManager\";\nimport { DESCRIPTION_COMPONENT_NAME } from \"./registerDescription\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport { makeDefaultRadioChildren, registerRadio } from \"./registerRadio\";\nimport {\n BaseControlContextDataForLists,\n CodeComponentMetaOverrides,\n HasControlContextData,\n Registerable,\n makeChildComponentName,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\nimport { WithVariants, pickAriaComponentVariants } from \"./variant-utils\";\n\nconst RADIO_GROUP_VARIANTS = [\"disabled\" as const, \"readonly\" as const];\n\nexport interface BaseRadioGroupProps\n extends RadioGroupProps,\n HasControlContextData<BaseControlContextDataForLists>,\n WithVariants<typeof RADIO_GROUP_VARIANTS> {\n children: React.ReactNode;\n}\n\nconst { variants, withObservedValues } =\n pickAriaComponentVariants(RADIO_GROUP_VARIANTS);\n\nexport function BaseRadioGroup(props: BaseRadioGroupProps) {\n const { children, plasmicUpdateVariant, setControlContextData, ...rest } =\n props;\n\n const updateIds = useCallback(\n (ids: string[]) => {\n setControlContextData?.({\n itemIds: ids,\n });\n },\n [setControlContextData]\n );\n\n const idManager = useIdManager(updateIds);\n\n return (\n // PlasmicRadioGroupContext is used by BaseRadio\n <PlasmicRadioGroupContext.Provider value={{ ...props, idManager }}>\n <RadioGroup {...rest} style={COMMON_STYLES}>\n {({ isDisabled, isReadOnly }) =>\n withObservedValues(\n children,\n {\n disabled: isDisabled,\n readonly: isReadOnly,\n },\n plasmicUpdateVariant\n )\n }\n </RadioGroup>\n </PlasmicRadioGroupContext.Provider>\n );\n}\n\nconst RADIO_GROUP_COMPONENT_NAME = makeComponentName(\"radioGroup\");\n\nexport function registerRadioGroup(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseRadioGroup>\n) {\n const thisName = makeChildComponentName(\n overrides?.parentComponentName,\n RADIO_GROUP_COMPONENT_NAME\n );\n\n const radioMeta = registerRadio(loader, { parentComponentName: thisName });\n\n registerComponentHelper(\n loader,\n BaseRadioGroup,\n {\n name: RADIO_GROUP_COMPONENT_NAME,\n displayName: \"Aria RadioGroup\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerRadioGroup\",\n importName: \"BaseRadioGroup\",\n variants,\n props: {\n ...getCommonProps<BaseRadioGroupProps>(\"radio group\", [\n \"name\",\n \"isDisabled\",\n \"isReadOnly\",\n \"aria-label\",\n \"isRequired\",\n ]),\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"vbox\",\n styles: {\n display: \"flex\",\n gap: \"5px\",\n padding: 0,\n alignItems: \"flex-start\",\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Radio Group\",\n },\n },\n },\n {\n type: \"component\",\n name: radioMeta.name,\n props: {\n children: makeDefaultRadioChildren(\"Radio 1\"),\n value: \"radio1\",\n },\n },\n {\n type: \"component\",\n name: radioMeta.name,\n props: {\n children: makeDefaultRadioChildren(\"Radio 2\"),\n value: \"radio2\",\n },\n },\n {\n type: \"component\",\n name: radioMeta.name,\n props: {\n children: makeDefaultRadioChildren(\"Radio 3\"),\n value: \"radio3\",\n },\n },\n {\n type: \"component\",\n name: DESCRIPTION_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value:\n \"Use the registered variants to see it in action...\",\n },\n },\n },\n ],\n },\n ],\n },\n value: {\n type: \"choice\",\n editOnly: true,\n displayName: \"Initial value\",\n uncontrolledProp: \"defaultValue\",\n description: \"The current value\",\n options: (_props, ctx) =>\n ctx?.itemIds ? Array.from(ctx.itemIds) : [],\n multiSelect: false,\n },\n isInvalid: {\n displayName: \"Invalid\",\n type: \"boolean\",\n description: \"Whether the input value is invalid\",\n defaultValueHint: false,\n },\n validationBehavior: {\n type: \"choice\",\n options: [\"native\", \"aria\"],\n description:\n \"Whether to use native HTML form validation to prevent form submission when the value is missing or invalid, or mark the field as required or invalid via ARIA.\",\n defaultValueHint: \"native\",\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"string\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"array\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["pickAriaComponentVariants","useCallback","useIdManager","React","PlasmicRadioGroupContext","RadioGroup","COMMON_STYLES","makeComponentName","makeChildComponentName","registerRadio","registerComponentHelper","getCommonProps","LABEL_COMPONENT_NAME","makeDefaultRadioChildren","DESCRIPTION_COMPONENT_NAME"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,MAAM,oBAAA,GAAuB,CAAC,UAAA,EAAqB,UAAmB,CAAA,CAAA;AAStE,MAAM,EAAE,QAAA,EAAU,kBAAmB,EAAA,GACnCA,uCAA0B,oBAAoB,CAAA,CAAA;AAEzC,SAAS,eAAe,KAA4B,EAAA;AACzD,EACE,MAAA,EAAA,GAAA,KAAA,EADM,EAAU,QAAA,EAAA,oBAAA,EAAsB,qBAjC1C,EAAA,GAkCI,IADgE,IAChE,GAAA,SAAA,CAAA,EAAA,EADgE,CAA1D,UAAA,EAAU,sBAAsB,EAAA,uBAAA,CAAA,CAAA,CAAA;AAGxC,EAAA,MAAM,SAAY,GAAAC,iBAAA;AAAA,IAChB,CAAC,GAAkB,KAAA;AACjB,MAAwB,qBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,qBAAA,CAAA;AAAA,QACtB,OAAS,EAAA,GAAA;AAAA,OACX,CAAA,CAAA;AAAA,KACF;AAAA,IACA,CAAC,qBAAqB,CAAA;AAAA,GACxB,CAAA;AAEA,EAAM,MAAA,SAAA,GAAYC,kCAAa,SAAS,CAAA,CAAA;AAExC,EAAA;AAAA;AAAA,oBAEEC,sBAAA,CAAA,aAAA,CAACC,kCAAyB,QAAzB,EAAA,EAAkC,OAAO,aAAK,CAAA,cAAA,CAAA,EAAA,EAAA,KAAA,CAAA,EAAL,EAAY,SAAU,EAAA,CAAA,EAAA,uDAC7DC,8BAAe,EAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EAAA,IAAA,CAAA,EAAf,EAAqB,KAAO,EAAAC,oBAAA,EAAA,CAAA,EAC1B,CAAC,EAAE,UAAA,EAAY,YACd,KAAA,kBAAA;AAAA,MACE,QAAA;AAAA,MACA;AAAA,QACE,QAAU,EAAA,UAAA;AAAA,QACV,QAAU,EAAA,UAAA;AAAA,OACZ;AAAA,MACA,oBAAA;AAAA,KAGN,CACF,CAAA;AAAA,IAAA;AAEJ,CAAA;AAEA,MAAM,0BAAA,GAA6BC,wBAAkB,YAAY,CAAA,CAAA;AAEjD,SAAA,kBAAA,CACd,QACA,SACA,EAAA;AACA,EAAA,MAAM,QAAW,GAAAC,4BAAA;AAAA,IACf,SAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,mBAAA;AAAA,IACX,0BAAA;AAAA,GACF,CAAA;AAEA,EAAA,MAAM,YAAYC,2BAAc,CAAA,MAAA,EAAQ,EAAE,mBAAA,EAAqB,UAAU,CAAA,CAAA;AAEzE,EAAAC,6BAAA;AAAA,IACE,MAAA;AAAA,IACA,cAAA;AAAA,IACA;AAAA,MACE,IAAM,EAAA,0BAAA;AAAA,MACN,WAAa,EAAA,iBAAA;AAAA,MACb,UAAY,EAAA,mDAAA;AAAA,MACZ,UAAY,EAAA,gBAAA;AAAA,MACZ,QAAA;AAAA,MACA,KAAA,EAAO,aACF,CAAA,cAAA,CAAA,EAAA,EAAAC,qBAAA,CAAoC,aAAe,EAAA;AAAA,QACpD,MAAA;AAAA,QACA,YAAA;AAAA,QACA,YAAA;AAAA,QACA,YAAA;AAAA,QACA,YAAA;AAAA,OACD,CAPI,CAAA,EAAA;AAAA,QAQL,QAAU,EAAA;AAAA,UACR,IAAM,EAAA,MAAA;AAAA,UACN,YAAc,EAAA;AAAA,YACZ;AAAA,cACE,IAAM,EAAA,MAAA;AAAA,cACN,MAAQ,EAAA;AAAA,gBACN,OAAS,EAAA,MAAA;AAAA,gBACT,GAAK,EAAA,KAAA;AAAA,gBACL,OAAS,EAAA,CAAA;AAAA,gBACT,UAAY,EAAA,YAAA;AAAA,eACd;AAAA,cACA,QAAU,EAAA;AAAA,gBACR;AAAA,kBACE,IAAM,EAAA,WAAA;AAAA,kBACN,IAAM,EAAAC,kCAAA;AAAA,kBACN,KAAO,EAAA;AAAA,oBACL,QAAU,EAAA;AAAA,sBACR,IAAM,EAAA,MAAA;AAAA,sBACN,KAAO,EAAA,aAAA;AAAA,qBACT;AAAA,mBACF;AAAA,iBACF;AAAA,gBACA;AAAA,kBACE,IAAM,EAAA,WAAA;AAAA,kBACN,MAAM,SAAU,CAAA,IAAA;AAAA,kBAChB,KAAO,EAAA;AAAA,oBACL,QAAA,EAAUC,uCAAyB,SAAS,CAAA;AAAA,oBAC5C,KAAO,EAAA,QAAA;AAAA,mBACT;AAAA,iBACF;AAAA,gBACA;AAAA,kBACE,IAAM,EAAA,WAAA;AAAA,kBACN,MAAM,SAAU,CAAA,IAAA;AAAA,kBAChB,KAAO,EAAA;AAAA,oBACL,QAAA,EAAUA,uCAAyB,SAAS,CAAA;AAAA,oBAC5C,KAAO,EAAA,QAAA;AAAA,mBACT;AAAA,iBACF;AAAA,gBACA;AAAA,kBACE,IAAM,EAAA,WAAA;AAAA,kBACN,MAAM,SAAU,CAAA,IAAA;AAAA,kBAChB,KAAO,EAAA;AAAA,oBACL,QAAA,EAAUA,uCAAyB,SAAS,CAAA;AAAA,oBAC5C,KAAO,EAAA,QAAA;AAAA,mBACT;AAAA,iBACF;AAAA,gBACA;AAAA,kBACE,IAAM,EAAA,WAAA;AAAA,kBACN,IAAM,EAAAC,8CAAA;AAAA,kBACN,KAAO,EAAA;AAAA,oBACL,QAAU,EAAA;AAAA,sBACR,IAAM,EAAA,MAAA;AAAA,sBACN,KACE,EAAA,oDAAA;AAAA,qBACJ;AAAA,mBACF;AAAA,iBACF;AAAA,eACF;AAAA,aACF;AAAA,WACF;AAAA,SACF;AAAA,QACA,KAAO,EAAA;AAAA,UACL,IAAM,EAAA,QAAA;AAAA,UACN,QAAU,EAAA,IAAA;AAAA,UACV,WAAa,EAAA,eAAA;AAAA,UACb,gBAAkB,EAAA,cAAA;AAAA,UAClB,WAAa,EAAA,mBAAA;AAAA,UACb,OAAA,EAAS,CAAC,MAAA,EAAQ,GAChB,KAAA,CAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,OAAU,IAAA,KAAA,CAAM,IAAK,CAAA,GAAA,CAAI,OAAO,CAAA,GAAI,EAAC;AAAA,UAC5C,WAAa,EAAA,KAAA;AAAA,SACf;AAAA,QACA,SAAW,EAAA;AAAA,UACT,WAAa,EAAA,SAAA;AAAA,UACb,IAAM,EAAA,SAAA;AAAA,UACN,WAAa,EAAA,oCAAA;AAAA,UACb,gBAAkB,EAAA,KAAA;AAAA,SACpB;AAAA,QACA,kBAAoB,EAAA;AAAA,UAClB,IAAM,EAAA,QAAA;AAAA,UACN,OAAA,EAAS,CAAC,QAAA,EAAU,MAAM,CAAA;AAAA,UAC1B,WACE,EAAA,gKAAA;AAAA,UACF,gBAAkB,EAAA,QAAA;AAAA,SACpB;AAAA,QACA,QAAU,EAAA;AAAA,UACR,IAAM,EAAA,cAAA;AAAA,UACN,UAAU,CAAC,EAAE,MAAM,OAAS,EAAA,IAAA,EAAM,UAAU,CAAA;AAAA,SAC9C;AAAA,OACF,CAAA;AAAA,MACA,MAAQ,EAAA;AAAA,QACN,KAAO,EAAA;AAAA,UACL,IAAM,EAAA,UAAA;AAAA,UACN,SAAW,EAAA,OAAA;AAAA,UACX,YAAc,EAAA,UAAA;AAAA,UACd,YAAc,EAAA,OAAA;AAAA,SAChB;AAAA,OACF;AAAA,MACA,UAAY,EAAA,IAAA;AAAA,KACd;AAAA,IACA,SAAA;AAAA,GACF,CAAA;AACF;;;;;"}
@@ -1,12 +1,9 @@
1
1
  import React from "react";
2
2
  import type { RadioGroupProps } from "react-aria-components";
3
- import { CodeComponentMetaOverrides, HasControlContextData, Registerable } from "./utils";
3
+ import { BaseControlContextDataForLists, CodeComponentMetaOverrides, HasControlContextData, Registerable } from "./utils";
4
4
  import { WithVariants } from "./variant-utils";
5
- export interface BaseRadioGroupControlContextData {
6
- values: string[];
7
- }
8
5
  declare const RADIO_GROUP_VARIANTS: ("disabled" | "readonly")[];
9
- export interface BaseRadioGroupProps extends RadioGroupProps, HasControlContextData<BaseRadioGroupControlContextData>, WithVariants<typeof RADIO_GROUP_VARIANTS> {
6
+ export interface BaseRadioGroupProps extends RadioGroupProps, HasControlContextData<BaseControlContextDataForLists>, WithVariants<typeof RADIO_GROUP_VARIANTS> {
10
7
  children: React.ReactNode;
11
8
  }
12
9
  export declare function BaseRadioGroup(props: BaseRadioGroupProps): React.JSX.Element;
@@ -1,12 +1,12 @@
1
- import React, { useState, useMemo, useEffect } from 'react';
1
+ import React, { useCallback } from 'react';
2
2
  import { RadioGroup } from 'react-aria-components';
3
- import { g as getCommonProps, C as COMMON_STYLES } from './common-616eb178.esm.js';
3
+ import { g as getCommonProps, C as COMMON_STYLES } from './common-a8047588.esm.js';
4
4
  import { e as PlasmicRadioGroupContext } from './contexts-5cb81c2f.esm.js';
5
- import { O as OptionsItemIdManager } from './OptionsItemIdManager-832b8cfe.esm.js';
5
+ import { u as useIdManager } from './OptionsItemIdManager-904d6cea.esm.js';
6
6
  import { DESCRIPTION_COMPONENT_NAME } from './registerDescription.esm.js';
7
7
  import { LABEL_COMPONENT_NAME } from './registerLabel.esm.js';
8
8
  import { registerRadio, makeDefaultRadioChildren } from './registerRadio.esm.js';
9
- import { b as makeChildComponentName, r as registerComponentHelper, m as makeComponentName } from './utils-fd88ad47.esm.js';
9
+ import { b as makeChildComponentName, r as registerComponentHelper, m as makeComponentName } from './utils-d0ca1a25.esm.js';
10
10
  import { p as pickAriaComponentVariants } from './variant-utils-4405ebb0.esm.js';
11
11
  import './registerText.esm.js';
12
12
  import '@plasmicapp/host';
@@ -47,18 +47,15 @@ const RADIO_GROUP_VARIANTS = ["disabled", "readonly"];
47
47
  const { variants, withObservedValues } = pickAriaComponentVariants(RADIO_GROUP_VARIANTS);
48
48
  function BaseRadioGroup(props) {
49
49
  const _a = props, { children, plasmicUpdateVariant, setControlContextData } = _a, rest = __objRest(_a, ["children", "plasmicUpdateVariant", "setControlContextData"]);
50
- const [ids, setIds] = useState([]);
51
- const idManager = useMemo(() => new OptionsItemIdManager(), []);
52
- useEffect(() => {
53
- setControlContextData == null ? void 0 : setControlContextData({
54
- values: ids
55
- });
56
- }, [ids, setControlContextData]);
57
- useEffect(() => {
58
- idManager.subscribe((_ids) => {
59
- setIds(_ids);
60
- });
61
- }, [idManager]);
50
+ const updateIds = useCallback(
51
+ (ids) => {
52
+ setControlContextData == null ? void 0 : setControlContextData({
53
+ itemIds: ids
54
+ });
55
+ },
56
+ [setControlContextData]
57
+ );
58
+ const idManager = useIdManager(updateIds);
62
59
  return (
63
60
  // PlasmicRadioGroupContext is used by BaseRadio
64
61
  /* @__PURE__ */ React.createElement(PlasmicRadioGroupContext.Provider, { value: __spreadProps(__spreadValues({}, props), { idManager }) }, /* @__PURE__ */ React.createElement(RadioGroup, __spreadProps(__spreadValues({}, rest), { style: COMMON_STYLES }), ({ isDisabled, isReadOnly }) => withObservedValues(
@@ -160,7 +157,7 @@ function registerRadioGroup(loader, overrides) {
160
157
  displayName: "Initial value",
161
158
  uncontrolledProp: "defaultValue",
162
159
  description: "The current value",
163
- options: (_props, ctx) => (ctx == null ? void 0 : ctx.values) ? Array.from(ctx.values) : [],
160
+ options: (_props, ctx) => (ctx == null ? void 0 : ctx.itemIds) ? Array.from(ctx.itemIds) : [],
164
161
  multiSelect: false
165
162
  },
166
163
  isInvalid: {
@@ -1 +1 @@
1
- {"version":3,"file":"registerRadioGroup.esm.js","sources":["../src/registerRadioGroup.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from \"react\";\nimport type { RadioGroupProps } from \"react-aria-components\";\nimport { RadioGroup } from \"react-aria-components\";\nimport { COMMON_STYLES, getCommonProps } from \"./common\";\nimport { PlasmicRadioGroupContext } from \"./contexts\";\nimport { OptionsItemIdManager } from \"./OptionsItemIdManager\";\nimport { DESCRIPTION_COMPONENT_NAME } from \"./registerDescription\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport { makeDefaultRadioChildren, registerRadio } from \"./registerRadio\";\nimport {\n CodeComponentMetaOverrides,\n HasControlContextData,\n Registerable,\n makeChildComponentName,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\nimport { WithVariants, pickAriaComponentVariants } from \"./variant-utils\";\n\nexport interface BaseRadioGroupControlContextData {\n values: string[];\n}\n\nconst RADIO_GROUP_VARIANTS = [\"disabled\" as const, \"readonly\" as const];\n\nexport interface BaseRadioGroupProps\n extends RadioGroupProps,\n HasControlContextData<BaseRadioGroupControlContextData>,\n WithVariants<typeof RADIO_GROUP_VARIANTS> {\n children: React.ReactNode;\n}\n\nconst { variants, withObservedValues } =\n pickAriaComponentVariants(RADIO_GROUP_VARIANTS);\n\nexport function BaseRadioGroup(props: BaseRadioGroupProps) {\n const { children, plasmicUpdateVariant, setControlContextData, ...rest } =\n props;\n\n const [ids, setIds] = useState<string[]>([]);\n const idManager = useMemo(() => new OptionsItemIdManager(), []);\n\n useEffect(() => {\n setControlContextData?.({\n values: ids,\n });\n }, [ids, setControlContextData]);\n\n useEffect(() => {\n idManager.subscribe((_ids: string[]) => {\n setIds(_ids);\n });\n }, [idManager]);\n\n return (\n // PlasmicRadioGroupContext is used by BaseRadio\n <PlasmicRadioGroupContext.Provider value={{ ...props, idManager }}>\n <RadioGroup {...rest} style={COMMON_STYLES}>\n {({ isDisabled, isReadOnly }) =>\n withObservedValues(\n children,\n {\n disabled: isDisabled,\n readonly: isReadOnly,\n },\n plasmicUpdateVariant\n )\n }\n </RadioGroup>\n </PlasmicRadioGroupContext.Provider>\n );\n}\n\nconst RADIO_GROUP_COMPONENT_NAME = makeComponentName(\"radioGroup\");\n\nexport function registerRadioGroup(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseRadioGroup>\n) {\n const thisName = makeChildComponentName(\n overrides?.parentComponentName,\n RADIO_GROUP_COMPONENT_NAME\n );\n\n const radioMeta = registerRadio(loader, { parentComponentName: thisName });\n\n registerComponentHelper(\n loader,\n BaseRadioGroup,\n {\n name: RADIO_GROUP_COMPONENT_NAME,\n displayName: \"Aria RadioGroup\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerRadioGroup\",\n importName: \"BaseRadioGroup\",\n variants,\n props: {\n ...getCommonProps<BaseRadioGroupProps>(\"radio group\", [\n \"name\",\n \"isDisabled\",\n \"isReadOnly\",\n \"aria-label\",\n \"isRequired\",\n ]),\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"vbox\",\n styles: {\n display: \"flex\",\n gap: \"5px\",\n padding: 0,\n alignItems: \"flex-start\",\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Radio Group\",\n },\n },\n },\n {\n type: \"component\",\n name: radioMeta.name,\n props: {\n children: makeDefaultRadioChildren(\"Radio 1\"),\n value: \"radio1\",\n },\n },\n {\n type: \"component\",\n name: radioMeta.name,\n props: {\n children: makeDefaultRadioChildren(\"Radio 2\"),\n value: \"radio2\",\n },\n },\n {\n type: \"component\",\n name: radioMeta.name,\n props: {\n children: makeDefaultRadioChildren(\"Radio 3\"),\n value: \"radio3\",\n },\n },\n {\n type: \"component\",\n name: DESCRIPTION_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value:\n \"Use the registered variants to see it in action...\",\n },\n },\n },\n ],\n },\n ],\n },\n value: {\n type: \"choice\",\n editOnly: true,\n displayName: \"Initial value\",\n uncontrolledProp: \"defaultValue\",\n description: \"The current value\",\n options: (_props, ctx) => (ctx?.values ? Array.from(ctx.values) : []),\n multiSelect: false,\n },\n isInvalid: {\n displayName: \"Invalid\",\n type: \"boolean\",\n description: \"Whether the input value is invalid\",\n defaultValueHint: false,\n },\n validationBehavior: {\n type: \"choice\",\n options: [\"native\", \"aria\"],\n description:\n \"Whether to use native HTML form validation to prevent form submission when the value is missing or invalid, or mark the field as required or invalid via ARIA.\",\n defaultValueHint: \"native\",\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"string\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"array\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registerRadioGroup.esm.js","sources":["../src/registerRadioGroup.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport type { RadioGroupProps } from \"react-aria-components\";\nimport { RadioGroup } from \"react-aria-components\";\nimport { COMMON_STYLES, getCommonProps } from \"./common\";\nimport { PlasmicRadioGroupContext } from \"./contexts\";\nimport { useIdManager } from \"./OptionsItemIdManager\";\nimport { DESCRIPTION_COMPONENT_NAME } from \"./registerDescription\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport { makeDefaultRadioChildren, registerRadio } from \"./registerRadio\";\nimport {\n BaseControlContextDataForLists,\n CodeComponentMetaOverrides,\n HasControlContextData,\n Registerable,\n makeChildComponentName,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\nimport { WithVariants, pickAriaComponentVariants } from \"./variant-utils\";\n\nconst RADIO_GROUP_VARIANTS = [\"disabled\" as const, \"readonly\" as const];\n\nexport interface BaseRadioGroupProps\n extends RadioGroupProps,\n HasControlContextData<BaseControlContextDataForLists>,\n WithVariants<typeof RADIO_GROUP_VARIANTS> {\n children: React.ReactNode;\n}\n\nconst { variants, withObservedValues } =\n pickAriaComponentVariants(RADIO_GROUP_VARIANTS);\n\nexport function BaseRadioGroup(props: BaseRadioGroupProps) {\n const { children, plasmicUpdateVariant, setControlContextData, ...rest } =\n props;\n\n const updateIds = useCallback(\n (ids: string[]) => {\n setControlContextData?.({\n itemIds: ids,\n });\n },\n [setControlContextData]\n );\n\n const idManager = useIdManager(updateIds);\n\n return (\n // PlasmicRadioGroupContext is used by BaseRadio\n <PlasmicRadioGroupContext.Provider value={{ ...props, idManager }}>\n <RadioGroup {...rest} style={COMMON_STYLES}>\n {({ isDisabled, isReadOnly }) =>\n withObservedValues(\n children,\n {\n disabled: isDisabled,\n readonly: isReadOnly,\n },\n plasmicUpdateVariant\n )\n }\n </RadioGroup>\n </PlasmicRadioGroupContext.Provider>\n );\n}\n\nconst RADIO_GROUP_COMPONENT_NAME = makeComponentName(\"radioGroup\");\n\nexport function registerRadioGroup(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseRadioGroup>\n) {\n const thisName = makeChildComponentName(\n overrides?.parentComponentName,\n RADIO_GROUP_COMPONENT_NAME\n );\n\n const radioMeta = registerRadio(loader, { parentComponentName: thisName });\n\n registerComponentHelper(\n loader,\n BaseRadioGroup,\n {\n name: RADIO_GROUP_COMPONENT_NAME,\n displayName: \"Aria RadioGroup\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerRadioGroup\",\n importName: \"BaseRadioGroup\",\n variants,\n props: {\n ...getCommonProps<BaseRadioGroupProps>(\"radio group\", [\n \"name\",\n \"isDisabled\",\n \"isReadOnly\",\n \"aria-label\",\n \"isRequired\",\n ]),\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"vbox\",\n styles: {\n display: \"flex\",\n gap: \"5px\",\n padding: 0,\n alignItems: \"flex-start\",\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Radio Group\",\n },\n },\n },\n {\n type: \"component\",\n name: radioMeta.name,\n props: {\n children: makeDefaultRadioChildren(\"Radio 1\"),\n value: \"radio1\",\n },\n },\n {\n type: \"component\",\n name: radioMeta.name,\n props: {\n children: makeDefaultRadioChildren(\"Radio 2\"),\n value: \"radio2\",\n },\n },\n {\n type: \"component\",\n name: radioMeta.name,\n props: {\n children: makeDefaultRadioChildren(\"Radio 3\"),\n value: \"radio3\",\n },\n },\n {\n type: \"component\",\n name: DESCRIPTION_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value:\n \"Use the registered variants to see it in action...\",\n },\n },\n },\n ],\n },\n ],\n },\n value: {\n type: \"choice\",\n editOnly: true,\n displayName: \"Initial value\",\n uncontrolledProp: \"defaultValue\",\n description: \"The current value\",\n options: (_props, ctx) =>\n ctx?.itemIds ? Array.from(ctx.itemIds) : [],\n multiSelect: false,\n },\n isInvalid: {\n displayName: \"Invalid\",\n type: \"boolean\",\n description: \"Whether the input value is invalid\",\n defaultValueHint: false,\n },\n validationBehavior: {\n type: \"choice\",\n options: [\"native\", \"aria\"],\n description:\n \"Whether to use native HTML form validation to prevent form submission when the value is missing or invalid, or mark the field as required or invalid via ARIA.\",\n defaultValueHint: \"native\",\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"string\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"array\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":[],"mappings":"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"}
@@ -2,11 +2,11 @@
2
2
 
3
3
  require('react');
4
4
  require('react-aria-components');
5
- require('./common-45acb83c.cjs.js');
5
+ require('./common-abd18d7f.cjs.js');
6
6
  require('./contexts-6d0cb2b1.cjs.js');
7
- var registerSection = require('./registerListBox-040b0374.cjs.js');
8
- require('./utils-fc1ddd7c.cjs.js');
9
- require('./OptionsItemIdManager-a89a28b9.cjs.js');
7
+ var registerSection = require('./registerListBox-c33bc9d2.cjs.js');
8
+ require('./utils-2e03b499.cjs.js');
9
+ require('./OptionsItemIdManager-ab379c9b.cjs.js');
10
10
  require('./registerListBoxItem.cjs.js');
11
11
  require('./registerDescription.cjs.js');
12
12
  require('./registerText.cjs.js');
@@ -1,10 +1,10 @@
1
1
  import 'react';
2
2
  import 'react-aria-components';
3
- import './common-616eb178.esm.js';
3
+ import './common-a8047588.esm.js';
4
4
  import './contexts-5cb81c2f.esm.js';
5
- export { B as BaseSection, r as registerSection } from './registerListBox-0f6ebcf0.esm.js';
6
- import './utils-fd88ad47.esm.js';
7
- import './OptionsItemIdManager-832b8cfe.esm.js';
5
+ export { B as BaseSection, r as registerSection } from './registerListBox-5f3e4b36.esm.js';
6
+ import './utils-d0ca1a25.esm.js';
7
+ import './OptionsItemIdManager-904d6cea.esm.js';
8
8
  import './registerListBoxItem.esm.js';
9
9
  import './registerDescription.esm.js';
10
10
  import './registerText.esm.js';
@@ -2,14 +2,14 @@
2
2
 
3
3
  var React = require('react');
4
4
  var reactAriaComponents = require('react-aria-components');
5
- var common = require('./common-45acb83c.cjs.js');
5
+ var common = require('./common-abd18d7f.cjs.js');
6
6
  var contexts = require('./contexts-6d0cb2b1.cjs.js');
7
- var OptionsItemIdManager = require('./OptionsItemIdManager-a89a28b9.cjs.js');
7
+ var OptionsItemIdManager = require('./OptionsItemIdManager-ab379c9b.cjs.js');
8
8
  var registerButton = require('./registerButton.cjs.js');
9
9
  var registerLabel = require('./registerLabel.cjs.js');
10
- var registerSection = require('./registerListBox-040b0374.cjs.js');
10
+ var registerSection = require('./registerListBox-c33bc9d2.cjs.js');
11
11
  var registerPopover = require('./registerPopover.cjs.js');
12
- var utils = require('./utils-fc1ddd7c.cjs.js');
12
+ var utils = require('./utils-2e03b499.cjs.js');
13
13
  var variantUtils = require('./variant-utils-0ad70db8.cjs.js');
14
14
  require('@plasmicapp/host');
15
15
  require('react-aria');
@@ -84,14 +84,15 @@ function BaseSelect(props) {
84
84
  defaultSelectedKey,
85
85
  "aria-label": ariaLabel
86
86
  } = props;
87
- const idManager = React.useMemo(() => new OptionsItemIdManager.OptionsItemIdManager(), []);
88
- React.useEffect(() => {
89
- idManager.subscribe((ids) => {
87
+ const updateIds = React.useCallback(
88
+ (ids) => {
90
89
  setControlContextData == null ? void 0 : setControlContextData({
91
90
  itemIds: ids
92
91
  });
93
- });
94
- }, []);
92
+ },
93
+ [setControlContextData]
94
+ );
95
+ const idManager = OptionsItemIdManager.useIdManager(updateIds);
95
96
  const classNameProp = React.useCallback(
96
97
  ({
97
98
  isDisabled: isDisabled2,
@@ -1 +1 @@
1
- {"version":3,"file":"registerSelect.cjs.js","sources":["../src/registerSelect.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo } from \"react\";\nimport {\n Select,\n SelectProps,\n SelectRenderProps,\n SelectStateContext,\n SelectValue,\n} from \"react-aria-components\";\nimport { COMMON_STYLES, arrowDown, getCommonProps } from \"./common\";\nimport {\n PlasmicListBoxContext,\n PlasmicPopoverTriggerContext,\n} from \"./contexts\";\nimport { OptionsItemIdManager } from \"./OptionsItemIdManager\";\nimport { BUTTON_COMPONENT_NAME } from \"./registerButton\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport { LIST_BOX_COMPONENT_NAME } from \"./registerListBox\";\nimport { POPOVER_COMPONENT_NAME } from \"./registerPopover\";\nimport {\n HasControlContextData,\n Registerable,\n WithPlasmicCanvasComponentInfo,\n extractPlasmicDataProps,\n makeComponentName,\n registerComponentHelper,\n useAutoOpen,\n} from \"./utils\";\nimport { WithVariants, pickAriaComponentVariants } from \"./variant-utils\";\n\n// It cannot be used as a hook like useAutoOpen() within the BaseSelect component\n// because it needs access to SelectStateContext, which is only created in the BaseSelect component's render function.\nfunction SelectAutoOpen(props: any) {\n const { open, close } = React.useContext(SelectStateContext) ?? {};\n useAutoOpen({\n props,\n open: () => {\n open?.();\n // using settimeout because the focus is not immediately available\n setTimeout(() => {\n /*\n When the select's popover is opened in the canvas, the listbox gains focus, trapping the keyboard focus within it. Pressing the up or down arrow keys navigates through the listbox items.\n However, there are three issues with this behavior:\n\n 1. Focus should not be triggered in canvas (non-interactive mode)\n 2. Canvas (non-interactive mode) should remain non-interactive: Navigation between listbox items or selection using the space key should not be possible.\n 3. Keyboard hotkeys (e.g., backspace, undo) stop working: Key presses are absorbed by the listbox, breaking the expected behavior for shortcuts like backspace or undo (reference).\n\n To resolve this, we need to call document.activeElement.blur() to remove focus from the listbox.\n\n However, since the select component is a code component embedded within the artboard iframe, the keyboard hotkeys (e.g., backspace, undo) will not work,\n because they only function in the parent iframe (__wab_studio-frame).\n To ensure hotkeys work properly, we need to shift focus from the active element in the child iframe (artboard iframe) to the parent iframe (__wab_studio-frame) by using window.parent.\n */\n (window.parent.document.activeElement as HTMLElement)?.blur?.();\n }, 1);\n },\n close,\n });\n\n return null;\n}\n\nexport interface BaseSelectValueProps\n extends React.ComponentProps<typeof SelectValue> {\n children: React.ReactNode;\n}\n\nexport const BaseSelectValue = (props: BaseSelectValueProps) => {\n const { children: placeholder, className } = props;\n return (\n <SelectValue className={className} style={COMMON_STYLES}>\n {({ isPlaceholder, selectedText }) => (\n <>{isPlaceholder ? placeholder : selectedText}</>\n )}\n </SelectValue>\n );\n};\n\nconst SELECT_NAME = makeComponentName(\"select\");\n\nexport interface BaseSelectControlContextData {\n itemIds: string[];\n}\n\nconst SELECT_VARIANTS = [\n \"focused\" as const,\n \"focusVisible\" as const,\n \"disabled\" as const,\n];\n\nconst { variants: SELECT_VARIANTS_DATA } =\n pickAriaComponentVariants(SELECT_VARIANTS);\n\nexport interface BaseSelectProps\n extends SelectProps<{}>, // NOTE: We don't need generic type here since we don't use items prop (that needs it). We just need to make the type checker happy\n WithVariants<typeof SELECT_VARIANTS>,\n WithPlasmicCanvasComponentInfo,\n HasControlContextData<BaseSelectControlContextData> {\n children?: React.ReactNode;\n className?: string;\n}\n\nexport function BaseSelect(props: BaseSelectProps) {\n const {\n selectedKey,\n onSelectionChange,\n onOpenChange,\n isDisabled,\n className,\n children,\n disabledKeys,\n name,\n setControlContextData,\n plasmicUpdateVariant,\n defaultSelectedKey,\n \"aria-label\": ariaLabel,\n } = props;\n\n const idManager = useMemo(() => new OptionsItemIdManager(), []);\n\n useEffect(() => {\n idManager.subscribe((ids: string[]) => {\n setControlContextData?.({\n itemIds: ids,\n });\n });\n }, []);\n\n const classNameProp = useCallback(\n ({\n isDisabled: isDisabled2,\n isFocusVisible,\n isFocused,\n }: SelectRenderProps) => {\n plasmicUpdateVariant?.({\n disabled: isDisabled2,\n focused: isFocused,\n focusVisible: isFocusVisible,\n });\n return className ?? \"\";\n },\n [className, plasmicUpdateVariant]\n );\n\n return (\n <Select\n defaultSelectedKey={defaultSelectedKey}\n selectedKey={selectedKey}\n onSelectionChange={onSelectionChange}\n onOpenChange={onOpenChange}\n isDisabled={isDisabled}\n className={classNameProp}\n style={COMMON_STYLES}\n name={name}\n disabledKeys={disabledKeys}\n aria-label={ariaLabel}\n {...extractPlasmicDataProps(props)}\n >\n <SelectAutoOpen {...props} />\n {/* PlasmicPopoverTriggerContext is used by BasePopover */}\n <PlasmicPopoverTriggerContext.Provider value={true}>\n {/* PlasmicListBoxContext is used by\n - BaseListBox\n - BaseListBoxItem\n - BaseSection\n */}\n <PlasmicListBoxContext.Provider\n value={{\n idManager,\n }}\n >\n {children}\n </PlasmicListBoxContext.Provider>\n </PlasmicPopoverTriggerContext.Provider>\n </Select>\n );\n}\n\nexport function registerSelect(loader?: Registerable) {\n const selectValueMeta = registerComponentHelper(loader, BaseSelectValue, {\n name: makeComponentName(\"select-value\"),\n displayName: \"Aria Selected Value\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSelect\",\n importName: \"BaseSelectValue\",\n parentComponentName: SELECT_NAME,\n props: {\n /** @deprecated use children (Placeholder) directly */\n customize: {\n type: \"boolean\",\n displayName: \"Customize placeholder\",\n defaultValue: true,\n description: \"Customize the placeholder text and styles\",\n /** Obsolete, but retained (permanently hidden) for backward compatibility. */\n hidden: () => true,\n },\n children: {\n type: \"slot\",\n displayName: \"Placeholder\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Select an item\",\n },\n ],\n },\n },\n trapsFocus: true,\n });\n\n registerComponentHelper(loader, BaseSelect, {\n name: SELECT_NAME,\n displayName: \"Aria Select\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSelect\",\n importName: \"BaseSelect\",\n variants: SELECT_VARIANTS_DATA,\n props: {\n ...getCommonProps<BaseSelectProps>(\"Select\", [\n \"name\",\n \"aria-label\",\n \"isDisabled\",\n \"autoFocus\",\n ]),\n selectedKey: {\n type: \"choice\",\n editOnly: true,\n uncontrolledProp: \"defaultSelectedKey\",\n displayName: \"Initial selected item\",\n options: (_props, ctx) => (ctx?.itemIds ? Array.from(ctx.itemIds) : []),\n // React Aria Select do not support multiple selections yet\n multiSelect: false,\n },\n onSelectionChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"selectedValue\", type: \"string\" }],\n },\n disabledKeys: {\n type: \"choice\",\n displayName: \"Disabled values\",\n description:\n \"The items that are disabled. These items cannot be selected, focused, or otherwise interacted with.\",\n options: (_props, ctx) => (ctx?.itemIds ? Array.from(ctx.itemIds) : []),\n multiSelect: true,\n advanced: true,\n },\n isOpen: {\n type: \"boolean\",\n defaultValue: false,\n // It doesn't make sense to make isOpen prop editable (it's controlled by user interaction and always closed by default), so we keep this prop hidden. We have listed the prop here in the meta only so we can expose a writeable state for it.\n hidden: () => true,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n children: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: [\n {\n type: \"vbox\",\n styles: {\n justifyContent: \"flex-start\",\n alignItems: \"flex-start\",\n width: \"300px\",\n padding: 0,\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Label\",\n },\n },\n },\n {\n type: \"component\",\n name: BUTTON_COMPONENT_NAME,\n styles: {\n width: \"100%\",\n padding: \"4px 10px\",\n background: \"white\",\n },\n props: {\n children: {\n type: \"hbox\",\n styles: {\n width: \"stretch\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n padding: 0,\n },\n children: [\n {\n type: \"component\",\n name: selectValueMeta.name,\n },\n arrowDown,\n ],\n },\n },\n },\n {\n type: \"component\",\n name: POPOVER_COMPONENT_NAME,\n styles: {\n backgroundColor: \"white\",\n padding: \"10px\",\n overflow: \"scroll\",\n width: \"unset\",\n },\n props: {\n children: [\n {\n type: \"component\",\n name: LIST_BOX_COMPONENT_NAME,\n props: {\n selectionMode: \"single\",\n },\n styles: {\n borderWidth: 0,\n width: \"stretch\",\n },\n },\n ],\n },\n },\n ],\n },\n ],\n },\n },\n states: {\n selectedValue: {\n type: \"writable\",\n valueProp: \"selectedKey\",\n onChangeProp: \"onSelectionChange\",\n variableType: \"text\",\n },\n isOpen: {\n type: \"writable\",\n valueProp: \"isOpen\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n trapsFocus: true,\n });\n}\n"],"names":["SelectStateContext","useAutoOpen","_a","React","SelectValue","COMMON_STYLES","makeComponentName","pickAriaComponentVariants","useMemo","OptionsItemIdManager","useEffect","useCallback","Select","extractPlasmicDataProps","PlasmicPopoverTriggerContext","PlasmicListBoxContext","registerComponentHelper","getCommonProps","LABEL_COMPONENT_NAME","BUTTON_COMPONENT_NAME","arrowDown","POPOVER_COMPONENT_NAME","LIST_BOX_COMPONENT_NAME"],"mappings":"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"}
1
+ {"version":3,"file":"registerSelect.cjs.js","sources":["../src/registerSelect.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport {\n Select,\n SelectProps,\n SelectRenderProps,\n SelectStateContext,\n SelectValue,\n} from \"react-aria-components\";\nimport { COMMON_STYLES, arrowDown, getCommonProps } from \"./common\";\nimport {\n PlasmicListBoxContext,\n PlasmicPopoverTriggerContext,\n} from \"./contexts\";\nimport { useIdManager } from \"./OptionsItemIdManager\";\nimport { BUTTON_COMPONENT_NAME } from \"./registerButton\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport { LIST_BOX_COMPONENT_NAME } from \"./registerListBox\";\nimport { POPOVER_COMPONENT_NAME } from \"./registerPopover\";\nimport {\n BaseControlContextDataForLists,\n HasControlContextData,\n Registerable,\n WithPlasmicCanvasComponentInfo,\n extractPlasmicDataProps,\n makeComponentName,\n registerComponentHelper,\n useAutoOpen,\n} from \"./utils\";\nimport { WithVariants, pickAriaComponentVariants } from \"./variant-utils\";\n\n// It cannot be used as a hook like useAutoOpen() within the BaseSelect component\n// because it needs access to SelectStateContext, which is only created in the BaseSelect component's render function.\nfunction SelectAutoOpen(props: any) {\n const { open, close } = React.useContext(SelectStateContext) ?? {};\n useAutoOpen({\n props,\n open: () => {\n open?.();\n // using settimeout because the focus is not immediately available\n setTimeout(() => {\n /*\n When the select's popover is opened in the canvas, the listbox gains focus, trapping the keyboard focus within it. Pressing the up or down arrow keys navigates through the listbox items.\n However, there are three issues with this behavior:\n\n 1. Focus should not be triggered in canvas (non-interactive mode)\n 2. Canvas (non-interactive mode) should remain non-interactive: Navigation between listbox items or selection using the space key should not be possible.\n 3. Keyboard hotkeys (e.g., backspace, undo) stop working: Key presses are absorbed by the listbox, breaking the expected behavior for shortcuts like backspace or undo (reference).\n\n To resolve this, we need to call document.activeElement.blur() to remove focus from the listbox.\n\n However, since the select component is a code component embedded within the artboard iframe, the keyboard hotkeys (e.g., backspace, undo) will not work,\n because they only function in the parent iframe (__wab_studio-frame).\n To ensure hotkeys work properly, we need to shift focus from the active element in the child iframe (artboard iframe) to the parent iframe (__wab_studio-frame) by using window.parent.\n */\n (window.parent.document.activeElement as HTMLElement)?.blur?.();\n }, 1);\n },\n close,\n });\n\n return null;\n}\n\nexport interface BaseSelectValueProps\n extends React.ComponentProps<typeof SelectValue> {\n children: React.ReactNode;\n}\n\nexport const BaseSelectValue = (props: BaseSelectValueProps) => {\n const { children: placeholder, className } = props;\n return (\n <SelectValue className={className} style={COMMON_STYLES}>\n {({ isPlaceholder, selectedText }) => (\n <>{isPlaceholder ? placeholder : selectedText}</>\n )}\n </SelectValue>\n );\n};\n\nconst SELECT_NAME = makeComponentName(\"select\");\n\nconst SELECT_VARIANTS = [\n \"focused\" as const,\n \"focusVisible\" as const,\n \"disabled\" as const,\n];\n\nconst { variants: SELECT_VARIANTS_DATA } =\n pickAriaComponentVariants(SELECT_VARIANTS);\n\nexport interface BaseSelectProps\n extends SelectProps<{}>, // NOTE: We don't need generic type here since we don't use items prop (that needs it). We just need to make the type checker happy\n WithVariants<typeof SELECT_VARIANTS>,\n WithPlasmicCanvasComponentInfo,\n HasControlContextData<BaseControlContextDataForLists> {\n children?: React.ReactNode;\n className?: string;\n}\n\nexport function BaseSelect(props: BaseSelectProps) {\n const {\n selectedKey,\n onSelectionChange,\n onOpenChange,\n isDisabled,\n className,\n children,\n disabledKeys,\n name,\n setControlContextData,\n plasmicUpdateVariant,\n defaultSelectedKey,\n \"aria-label\": ariaLabel,\n } = props;\n\n const updateIds = useCallback(\n (ids: string[]) => {\n setControlContextData?.({\n itemIds: ids,\n });\n },\n [setControlContextData]\n );\n\n const idManager = useIdManager(updateIds);\n\n const classNameProp = useCallback(\n ({\n isDisabled: isDisabled2,\n isFocusVisible,\n isFocused,\n }: SelectRenderProps) => {\n plasmicUpdateVariant?.({\n disabled: isDisabled2,\n focused: isFocused,\n focusVisible: isFocusVisible,\n });\n return className ?? \"\";\n },\n [className, plasmicUpdateVariant]\n );\n\n return (\n <Select\n defaultSelectedKey={defaultSelectedKey}\n selectedKey={selectedKey}\n onSelectionChange={onSelectionChange}\n onOpenChange={onOpenChange}\n isDisabled={isDisabled}\n className={classNameProp}\n style={COMMON_STYLES}\n name={name}\n disabledKeys={disabledKeys}\n aria-label={ariaLabel}\n {...extractPlasmicDataProps(props)}\n >\n <SelectAutoOpen {...props} />\n {/* PlasmicPopoverTriggerContext is used by BasePopover */}\n <PlasmicPopoverTriggerContext.Provider value={true}>\n {/* PlasmicListBoxContext is used by\n - BaseListBox\n - BaseListBoxItem\n - BaseSection\n */}\n <PlasmicListBoxContext.Provider\n value={{\n idManager,\n }}\n >\n {children}\n </PlasmicListBoxContext.Provider>\n </PlasmicPopoverTriggerContext.Provider>\n </Select>\n );\n}\n\nexport function registerSelect(loader?: Registerable) {\n const selectValueMeta = registerComponentHelper(loader, BaseSelectValue, {\n name: makeComponentName(\"select-value\"),\n displayName: \"Aria Selected Value\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSelect\",\n importName: \"BaseSelectValue\",\n parentComponentName: SELECT_NAME,\n props: {\n /** @deprecated use children (Placeholder) directly */\n customize: {\n type: \"boolean\",\n displayName: \"Customize placeholder\",\n defaultValue: true,\n description: \"Customize the placeholder text and styles\",\n /** Obsolete, but retained (permanently hidden) for backward compatibility. */\n hidden: () => true,\n },\n children: {\n type: \"slot\",\n displayName: \"Placeholder\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Select an item\",\n },\n ],\n },\n },\n trapsFocus: true,\n });\n\n registerComponentHelper(loader, BaseSelect, {\n name: SELECT_NAME,\n displayName: \"Aria Select\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSelect\",\n importName: \"BaseSelect\",\n variants: SELECT_VARIANTS_DATA,\n props: {\n ...getCommonProps<BaseSelectProps>(\"Select\", [\n \"name\",\n \"aria-label\",\n \"isDisabled\",\n \"autoFocus\",\n ]),\n selectedKey: {\n type: \"choice\",\n editOnly: true,\n uncontrolledProp: \"defaultSelectedKey\",\n displayName: \"Initial selected item\",\n options: (_props, ctx) => (ctx?.itemIds ? Array.from(ctx.itemIds) : []),\n // React Aria Select do not support multiple selections yet\n multiSelect: false,\n },\n onSelectionChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"selectedValue\", type: \"string\" }],\n },\n disabledKeys: {\n type: \"choice\",\n displayName: \"Disabled values\",\n description:\n \"The items that are disabled. These items cannot be selected, focused, or otherwise interacted with.\",\n options: (_props, ctx) => (ctx?.itemIds ? Array.from(ctx.itemIds) : []),\n multiSelect: true,\n advanced: true,\n },\n isOpen: {\n type: \"boolean\",\n defaultValue: false,\n // It doesn't make sense to make isOpen prop editable (it's controlled by user interaction and always closed by default), so we keep this prop hidden. We have listed the prop here in the meta only so we can expose a writeable state for it.\n hidden: () => true,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n children: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: [\n {\n type: \"vbox\",\n styles: {\n justifyContent: \"flex-start\",\n alignItems: \"flex-start\",\n width: \"300px\",\n padding: 0,\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Label\",\n },\n },\n },\n {\n type: \"component\",\n name: BUTTON_COMPONENT_NAME,\n styles: {\n width: \"100%\",\n padding: \"4px 10px\",\n background: \"white\",\n },\n props: {\n children: {\n type: \"hbox\",\n styles: {\n width: \"stretch\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n padding: 0,\n },\n children: [\n {\n type: \"component\",\n name: selectValueMeta.name,\n },\n arrowDown,\n ],\n },\n },\n },\n {\n type: \"component\",\n name: POPOVER_COMPONENT_NAME,\n styles: {\n backgroundColor: \"white\",\n padding: \"10px\",\n overflow: \"scroll\",\n width: \"unset\",\n },\n props: {\n children: [\n {\n type: \"component\",\n name: LIST_BOX_COMPONENT_NAME,\n props: {\n selectionMode: \"single\",\n },\n styles: {\n borderWidth: 0,\n width: \"stretch\",\n },\n },\n ],\n },\n },\n ],\n },\n ],\n },\n },\n states: {\n selectedValue: {\n type: \"writable\",\n valueProp: \"selectedKey\",\n onChangeProp: \"onSelectionChange\",\n variableType: \"text\",\n },\n isOpen: {\n type: \"writable\",\n valueProp: \"isOpen\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n trapsFocus: true,\n });\n}\n"],"names":["SelectStateContext","useAutoOpen","_a","React","SelectValue","COMMON_STYLES","makeComponentName","pickAriaComponentVariants","useCallback","useIdManager","Select","extractPlasmicDataProps","PlasmicPopoverTriggerContext","PlasmicListBoxContext","registerComponentHelper","getCommonProps","LABEL_COMPONENT_NAME","BUTTON_COMPONENT_NAME","arrowDown","POPOVER_COMPONENT_NAME","LIST_BOX_COMPONENT_NAME"],"mappings":"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"}
@@ -1,17 +1,14 @@
1
1
  import React from "react";
2
2
  import { SelectProps, SelectValue } from "react-aria-components";
3
- import { HasControlContextData, Registerable, WithPlasmicCanvasComponentInfo } from "./utils";
3
+ import { BaseControlContextDataForLists, HasControlContextData, Registerable, WithPlasmicCanvasComponentInfo } from "./utils";
4
4
  import { WithVariants } from "./variant-utils";
5
5
  export interface BaseSelectValueProps extends React.ComponentProps<typeof SelectValue> {
6
6
  children: React.ReactNode;
7
7
  }
8
8
  export declare const BaseSelectValue: (props: BaseSelectValueProps) => React.JSX.Element;
9
- export interface BaseSelectControlContextData {
10
- itemIds: string[];
11
- }
12
9
  declare const SELECT_VARIANTS: ("disabled" | "focused" | "focusVisible")[];
13
10
  export interface BaseSelectProps extends SelectProps<{}>, // NOTE: We don't need generic type here since we don't use items prop (that needs it). We just need to make the type checker happy
14
- WithVariants<typeof SELECT_VARIANTS>, WithPlasmicCanvasComponentInfo, HasControlContextData<BaseSelectControlContextData> {
11
+ WithVariants<typeof SELECT_VARIANTS>, WithPlasmicCanvasComponentInfo, HasControlContextData<BaseControlContextDataForLists> {
15
12
  children?: React.ReactNode;
16
13
  className?: string;
17
14
  }
@@ -1,13 +1,13 @@
1
- import React, { useMemo, useEffect, useCallback } from 'react';
1
+ import React, { useCallback } from 'react';
2
2
  import { SelectValue, Select, SelectStateContext } from 'react-aria-components';
3
- import { C as COMMON_STYLES, a as arrowDown, g as getCommonProps } from './common-616eb178.esm.js';
3
+ import { C as COMMON_STYLES, a as arrowDown, g as getCommonProps } from './common-a8047588.esm.js';
4
4
  import { a as PlasmicPopoverTriggerContext, b as PlasmicListBoxContext } from './contexts-5cb81c2f.esm.js';
5
- import { O as OptionsItemIdManager } from './OptionsItemIdManager-832b8cfe.esm.js';
5
+ import { u as useIdManager } from './OptionsItemIdManager-904d6cea.esm.js';
6
6
  import { BUTTON_COMPONENT_NAME } from './registerButton.esm.js';
7
7
  import { LABEL_COMPONENT_NAME } from './registerLabel.esm.js';
8
- import { L as LIST_BOX_COMPONENT_NAME } from './registerListBox-0f6ebcf0.esm.js';
8
+ import { L as LIST_BOX_COMPONENT_NAME } from './registerListBox-5f3e4b36.esm.js';
9
9
  import { POPOVER_COMPONENT_NAME } from './registerPopover.esm.js';
10
- import { e as extractPlasmicDataProps, r as registerComponentHelper, u as useAutoOpen, m as makeComponentName } from './utils-fd88ad47.esm.js';
10
+ import { e as extractPlasmicDataProps, r as registerComponentHelper, u as useAutoOpen, m as makeComponentName } from './utils-d0ca1a25.esm.js';
11
11
  import { p as pickAriaComponentVariants } from './variant-utils-4405ebb0.esm.js';
12
12
  import '@plasmicapp/host';
13
13
  import 'react-aria';
@@ -78,14 +78,15 @@ function BaseSelect(props) {
78
78
  defaultSelectedKey,
79
79
  "aria-label": ariaLabel
80
80
  } = props;
81
- const idManager = useMemo(() => new OptionsItemIdManager(), []);
82
- useEffect(() => {
83
- idManager.subscribe((ids) => {
81
+ const updateIds = useCallback(
82
+ (ids) => {
84
83
  setControlContextData == null ? void 0 : setControlContextData({
85
84
  itemIds: ids
86
85
  });
87
- });
88
- }, []);
86
+ },
87
+ [setControlContextData]
88
+ );
89
+ const idManager = useIdManager(updateIds);
89
90
  const classNameProp = useCallback(
90
91
  ({
91
92
  isDisabled: isDisabled2,