@plasmicpkgs/react-aria 0.0.151 → 0.0.152

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 (174) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/common.d.ts +44 -1
  3. package/dist/contexts.d.ts +1 -1
  4. package/dist/react-aria.esm.js +813 -730
  5. package/dist/react-aria.esm.js.map +1 -1
  6. package/dist/react-aria.js +812 -729
  7. package/dist/react-aria.js.map +1 -1
  8. package/dist/registerButton.d.ts +2 -2
  9. package/dist/registerDescription.d.ts +1 -1
  10. package/dist/registerDialog.d.ts +1 -1
  11. package/dist/registerDialogTrigger.d.ts +3 -1
  12. package/dist/registerHeading.d.ts +4 -2
  13. package/dist/registerLabel.d.ts +3 -1
  14. package/dist/registerListBoxItem.d.ts +6 -3
  15. package/dist/registerModal.d.ts +1 -0
  16. package/dist/registerOverlayArrow.d.ts +1 -1
  17. package/dist/registerText.d.ts +4 -2
  18. package/dist/registerTooltip.d.ts +1 -0
  19. package/package.json +2 -2
  20. package/skinny/{OptionsItemIdManager-724ffca2.esm.js → OptionsItemIdManager-0ce90944.esm.js} +2 -2
  21. package/skinny/{OptionsItemIdManager-724ffca2.esm.js.map → OptionsItemIdManager-0ce90944.esm.js.map} +1 -1
  22. package/skinny/{OptionsItemIdManager-f0a61ed5.cjs.js → OptionsItemIdManager-cb3a2c53.cjs.js} +3 -3
  23. package/skinny/{OptionsItemIdManager-f0a61ed5.cjs.js.map → OptionsItemIdManager-cb3a2c53.cjs.js.map} +1 -1
  24. package/skinny/common-7f948fa5.cjs.js +659 -0
  25. package/skinny/common-7f948fa5.cjs.js.map +1 -0
  26. package/skinny/common-81f08e86.esm.js +621 -0
  27. package/skinny/common-81f08e86.esm.js.map +1 -0
  28. package/skinny/common.d.ts +44 -1
  29. package/skinny/contexts.d.ts +1 -1
  30. package/skinny/registerButton.cjs.js +11 -10
  31. package/skinny/registerButton.cjs.js.map +1 -1
  32. package/skinny/registerButton.d.ts +2 -2
  33. package/skinny/registerButton.esm.js +9 -8
  34. package/skinny/registerButton.esm.js.map +1 -1
  35. package/skinny/registerCheckbox.cjs.js +13 -14
  36. package/skinny/registerCheckbox.cjs.js.map +1 -1
  37. package/skinny/registerCheckbox.esm.js +11 -12
  38. package/skinny/registerCheckbox.esm.js.map +1 -1
  39. package/skinny/registerCheckboxGroup.cjs.js +13 -14
  40. package/skinny/registerCheckboxGroup.cjs.js.map +1 -1
  41. package/skinny/registerCheckboxGroup.esm.js +11 -12
  42. package/skinny/registerCheckboxGroup.esm.js.map +1 -1
  43. package/skinny/registerComboBox.cjs.js +13 -14
  44. package/skinny/registerComboBox.cjs.js.map +1 -1
  45. package/skinny/registerComboBox.esm.js +10 -11
  46. package/skinny/registerComboBox.esm.js.map +1 -1
  47. package/skinny/registerDescription.cjs.js +2 -3
  48. package/skinny/registerDescription.cjs.js.map +1 -1
  49. package/skinny/registerDescription.d.ts +1 -1
  50. package/skinny/registerDescription.esm.js +1 -2
  51. package/skinny/registerDescription.esm.js.map +1 -1
  52. package/skinny/registerDialog.cjs.js +40 -7
  53. package/skinny/registerDialog.cjs.js.map +1 -1
  54. package/skinny/registerDialog.d.ts +1 -1
  55. package/skinny/registerDialog.esm.js +38 -5
  56. package/skinny/registerDialog.esm.js.map +1 -1
  57. package/skinny/registerDialogTrigger.cjs.js +9 -8
  58. package/skinny/registerDialogTrigger.cjs.js.map +1 -1
  59. package/skinny/registerDialogTrigger.d.ts +3 -1
  60. package/skinny/registerDialogTrigger.esm.js +6 -5
  61. package/skinny/registerDialogTrigger.esm.js.map +1 -1
  62. package/skinny/registerFieldError.cjs.js +4 -3
  63. package/skinny/registerFieldError.cjs.js.map +1 -1
  64. package/skinny/registerFieldError.esm.js +2 -1
  65. package/skinny/registerFieldError.esm.js.map +1 -1
  66. package/skinny/registerForm.cjs.js +4 -3
  67. package/skinny/registerForm.cjs.js.map +1 -1
  68. package/skinny/registerForm.esm.js +2 -1
  69. package/skinny/registerForm.esm.js.map +1 -1
  70. package/skinny/registerHeading.cjs.js +4 -4
  71. package/skinny/registerHeading.cjs.js.map +1 -1
  72. package/skinny/registerHeading.d.ts +4 -2
  73. package/skinny/registerHeading.esm.js +2 -2
  74. package/skinny/registerHeading.esm.js.map +1 -1
  75. package/skinny/registerInput.cjs.js +25 -36
  76. package/skinny/registerInput.cjs.js.map +1 -1
  77. package/skinny/registerInput.esm.js +21 -32
  78. package/skinny/registerInput.esm.js.map +1 -1
  79. package/skinny/registerLabel.cjs.js +11 -7
  80. package/skinny/registerLabel.cjs.js.map +1 -1
  81. package/skinny/registerLabel.d.ts +3 -1
  82. package/skinny/registerLabel.esm.js +9 -5
  83. package/skinny/registerLabel.esm.js.map +1 -1
  84. package/skinny/{registerListBox-d83a8581.esm.js → registerListBox-14503b0a.esm.js} +6 -4
  85. package/skinny/registerListBox-14503b0a.esm.js.map +1 -0
  86. package/skinny/{registerListBox-b21abca6.cjs.js → registerListBox-7a50077e.cjs.js} +10 -8
  87. package/skinny/registerListBox-7a50077e.cjs.js.map +1 -0
  88. package/skinny/registerListBox.cjs.js +4 -5
  89. package/skinny/registerListBox.cjs.js.map +1 -1
  90. package/skinny/registerListBox.esm.js +4 -5
  91. package/skinny/registerListBox.esm.js.map +1 -1
  92. package/skinny/registerListBoxItem.cjs.js +5 -9
  93. package/skinny/registerListBoxItem.cjs.js.map +1 -1
  94. package/skinny/registerListBoxItem.d.ts +6 -3
  95. package/skinny/registerListBoxItem.esm.js +3 -7
  96. package/skinny/registerListBoxItem.esm.js.map +1 -1
  97. package/skinny/registerModal.cjs.js +17 -8
  98. package/skinny/registerModal.cjs.js.map +1 -1
  99. package/skinny/registerModal.d.ts +1 -0
  100. package/skinny/registerModal.esm.js +14 -5
  101. package/skinny/registerModal.esm.js.map +1 -1
  102. package/skinny/registerOverlayArrow.cjs.js +7 -5
  103. package/skinny/registerOverlayArrow.cjs.js.map +1 -1
  104. package/skinny/registerOverlayArrow.d.ts +1 -1
  105. package/skinny/registerOverlayArrow.esm.js +5 -3
  106. package/skinny/registerOverlayArrow.esm.js.map +1 -1
  107. package/skinny/registerPopover.cjs.js +5 -5
  108. package/skinny/registerPopover.cjs.js.map +1 -1
  109. package/skinny/registerPopover.esm.js +3 -3
  110. package/skinny/registerPopover.esm.js.map +1 -1
  111. package/skinny/registerRadio.cjs.js +10 -11
  112. package/skinny/registerRadio.cjs.js.map +1 -1
  113. package/skinny/registerRadio.esm.js +8 -9
  114. package/skinny/registerRadio.esm.js.map +1 -1
  115. package/skinny/registerRadioGroup.cjs.js +14 -15
  116. package/skinny/registerRadioGroup.cjs.js.map +1 -1
  117. package/skinny/registerRadioGroup.esm.js +11 -12
  118. package/skinny/registerRadioGroup.esm.js.map +1 -1
  119. package/skinny/registerSection.cjs.js +4 -5
  120. package/skinny/registerSection.cjs.js.map +1 -1
  121. package/skinny/registerSection.esm.js +4 -5
  122. package/skinny/registerSection.esm.js.map +1 -1
  123. package/skinny/registerSelect.cjs.js +19 -22
  124. package/skinny/registerSelect.cjs.js.map +1 -1
  125. package/skinny/registerSelect.esm.js +13 -16
  126. package/skinny/registerSelect.esm.js.map +1 -1
  127. package/skinny/registerSlider.cjs.js +16 -15
  128. package/skinny/registerSlider.cjs.js.map +1 -1
  129. package/skinny/registerSlider.esm.js +12 -11
  130. package/skinny/registerSlider.esm.js.map +1 -1
  131. package/skinny/registerSliderOutput.cjs.js +4 -4
  132. package/skinny/registerSliderOutput.cjs.js.map +1 -1
  133. package/skinny/registerSliderOutput.esm.js +2 -2
  134. package/skinny/registerSliderOutput.esm.js.map +1 -1
  135. package/skinny/registerSliderThumb.cjs.js +25 -21
  136. package/skinny/registerSliderThumb.cjs.js.map +1 -1
  137. package/skinny/registerSliderThumb.esm.js +23 -19
  138. package/skinny/registerSliderThumb.esm.js.map +1 -1
  139. package/skinny/registerSliderTrack.cjs.js +5 -5
  140. package/skinny/registerSliderTrack.cjs.js.map +1 -1
  141. package/skinny/registerSliderTrack.esm.js +2 -2
  142. package/skinny/registerSliderTrack.esm.js.map +1 -1
  143. package/skinny/registerSwitch.cjs.js +12 -13
  144. package/skinny/registerSwitch.cjs.js.map +1 -1
  145. package/skinny/registerSwitch.esm.js +10 -11
  146. package/skinny/registerSwitch.esm.js.map +1 -1
  147. package/skinny/registerText.cjs.js +6 -5
  148. package/skinny/registerText.cjs.js.map +1 -1
  149. package/skinny/registerText.d.ts +4 -2
  150. package/skinny/registerText.esm.js +4 -3
  151. package/skinny/registerText.esm.js.map +1 -1
  152. package/skinny/registerTextArea.cjs.js +23 -35
  153. package/skinny/registerTextArea.cjs.js.map +1 -1
  154. package/skinny/registerTextArea.esm.js +19 -31
  155. package/skinny/registerTextArea.esm.js.map +1 -1
  156. package/skinny/registerTextField.cjs.js +27 -38
  157. package/skinny/registerTextField.cjs.js.map +1 -1
  158. package/skinny/registerTextField.esm.js +25 -36
  159. package/skinny/registerTextField.esm.js.map +1 -1
  160. package/skinny/registerTooltip.cjs.js +6 -6
  161. package/skinny/registerTooltip.cjs.js.map +1 -1
  162. package/skinny/registerTooltip.d.ts +1 -0
  163. package/skinny/registerTooltip.esm.js +4 -4
  164. package/skinny/registerTooltip.esm.js.map +1 -1
  165. package/skinny/common-3fde23cc.esm.js +0 -446
  166. package/skinny/common-3fde23cc.esm.js.map +0 -1
  167. package/skinny/common-6ffc5113.cjs.js +0 -453
  168. package/skinny/common-6ffc5113.cjs.js.map +0 -1
  169. package/skinny/registerListBox-b21abca6.cjs.js.map +0 -1
  170. package/skinny/registerListBox-d83a8581.esm.js.map +0 -1
  171. package/skinny/utils-88dd1a55.cjs.js +0 -148
  172. package/skinny/utils-88dd1a55.cjs.js.map +0 -1
  173. package/skinny/utils-b68e14cf.esm.js +0 -133
  174. package/skinny/utils-b68e14cf.esm.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerListBox-14503b0a.esm.js","sources":["../src/registerSection.tsx","../src/registerListBox.tsx"],"sourcesContent":["import React from \"react\";\nimport { Header, Section } from \"react-aria-components\";\nimport { COMMON_STYLES, createAriaLabelProp } from \"./common\";\nimport { PlasmicListBoxContext } from \"./contexts\";\nimport { BaseListBox } from \"./registerListBox\";\nimport {\n CodeComponentMetaOverrides,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n Styleable,\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 <Section {...rest} style={COMMON_STYLES}>\n <Header>{header}</Header>\n {items}\n </Section>\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, { useCallback, useEffect, useState } from \"react\";\nimport { Key, ListBox, ListBoxRenderProps } from \"react-aria-components\";\nimport { COMMON_STYLES, createAriaLabelProp, createIdProp } from \"./common\";\nimport { PlasmicListBoxContext } from \"./contexts\";\nimport { useIdManager } from \"./OptionsItemIdManager\";\nimport {\n makeDefaultListBoxItemChildren,\n registerListBoxItem,\n} from \"./registerListBoxItem\";\nimport { registerSection } from \"./registerSection\";\nimport {\n BaseControlContextDataForLists,\n CodeComponentMetaOverrides,\n HasControlContextData,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\nimport { pickAriaComponentVariants, WithVariants } from \"./variant-utils\";\n\nexport interface BaseListBoxControlContextData\n extends BaseControlContextDataForLists {\n isStandalone: boolean;\n}\n\nconst LISTBOX_VARIANTS = [\"focused\" as const, \"focusVisible\" as const];\n\nconst { variants } = 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 className,\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 useEffect(() => {\n setControlContextData?.({\n itemIds: ids,\n isStandalone,\n });\n }, [ids, isStandalone, setControlContextData]);\n\n const classNameProp = useCallback(\n ({ isFocusVisible, isFocused }: ListBoxRenderProps) => {\n plasmicUpdateVariant?.({\n focused: isFocused,\n focusVisible: isFocusVisible,\n });\n return className ?? \"\";\n },\n [className, plasmicUpdateVariant]\n );\n\n const listbox = (\n <ListBox\n selectedKeys={normalizeSelectedKeys(selectedKeys)}\n defaultSelectedKeys={normalizeSelectedKeys(defaultSelectedKeys)}\n className={classNameProp}\n style={COMMON_STYLES}\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 {...rest}\n >\n {children}\n </ListBox>\n );\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,\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","__spreadValues"],"mappings":"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"}
@@ -3,11 +3,10 @@
3
3
  var host = require('@plasmicapp/host');
4
4
  var React = require('react');
5
5
  var reactAriaComponents = require('react-aria-components');
6
- var common = require('./common-6ffc5113.cjs.js');
6
+ var common = require('./common-7f948fa5.cjs.js');
7
7
  var contexts = require('./contexts-6d0cb2b1.cjs.js');
8
- var OptionsItemIdManager = require('./OptionsItemIdManager-f0a61ed5.cjs.js');
8
+ var OptionsItemIdManager = require('./OptionsItemIdManager-cb3a2c53.cjs.js');
9
9
  var registerListBoxItem = require('./registerListBoxItem.cjs.js');
10
- var utils = require('./utils-88dd1a55.cjs.js');
11
10
  var variantUtils = require('./variant-utils-0ad70db8.cjs.js');
12
11
 
13
12
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
@@ -61,11 +60,11 @@ function BaseSection(props) {
61
60
  return section;
62
61
  }
63
62
  function registerSection(loader, overrides) {
64
- return utils.registerComponentHelper(
63
+ return common.registerComponentHelper(
65
64
  loader,
66
65
  BaseSection,
67
66
  {
68
- name: utils.makeComponentName("section"),
67
+ name: common.makeComponentName("section"),
69
68
  displayName: "Aria Section",
70
69
  importPath: "@plasmicpkgs/react-aria/skinny/registerSection",
71
70
  importName: "BaseSection",
@@ -74,6 +73,7 @@ function registerSection(loader, overrides) {
74
73
  padding: "10px"
75
74
  },
76
75
  props: {
76
+ "aria-label": common.createAriaLabelProp("Section"),
77
77
  header: {
78
78
  type: "slot",
79
79
  mergeWithParent: true,
@@ -197,7 +197,7 @@ function BaseListBox(props) {
197
197
  }
198
198
  return listbox;
199
199
  }
200
- const LIST_BOX_COMPONENT_NAME = utils.makeComponentName("listbox");
200
+ const LIST_BOX_COMPONENT_NAME = common.makeComponentName("listbox");
201
201
  function registerListBox(loader, overrides) {
202
202
  const listBoxItemMeta = registerListBoxItem.registerListBoxItem(loader, {
203
203
  parentComponentName: LIST_BOX_COMPONENT_NAME
@@ -254,7 +254,7 @@ function registerListBox(loader, overrides) {
254
254
  }
255
255
  }
256
256
  });
257
- utils.registerComponentHelper(
257
+ common.registerComponentHelper(
258
258
  loader,
259
259
  BaseListBox,
260
260
  {
@@ -270,6 +270,8 @@ function registerListBox(loader, overrides) {
270
270
  borderColor: "black"
271
271
  },
272
272
  props: {
273
+ id: common.createIdProp("List Box"),
274
+ "aria-label": common.createAriaLabelProp("List Box"),
273
275
  children: {
274
276
  type: "slot",
275
277
  displayName: "List Items",
@@ -372,4 +374,4 @@ exports.LIST_BOX_COMPONENT_NAME = LIST_BOX_COMPONENT_NAME;
372
374
  exports.listboxHelpers = listboxHelpers;
373
375
  exports.registerListBox = registerListBox;
374
376
  exports.registerSection = registerSection;
375
- //# sourceMappingURL=registerListBox-b21abca6.cjs.js.map
377
+ //# sourceMappingURL=registerListBox-7a50077e.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerListBox-7a50077e.cjs.js","sources":["../src/registerSection.tsx","../src/registerListBox.tsx"],"sourcesContent":["import React from \"react\";\nimport { Header, Section } from \"react-aria-components\";\nimport { COMMON_STYLES, createAriaLabelProp } from \"./common\";\nimport { PlasmicListBoxContext } from \"./contexts\";\nimport { BaseListBox } from \"./registerListBox\";\nimport {\n CodeComponentMetaOverrides,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n Styleable,\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 <Section {...rest} style={COMMON_STYLES}>\n <Header>{header}</Header>\n {items}\n </Section>\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, { useCallback, useEffect, useState } from \"react\";\nimport { Key, ListBox, ListBoxRenderProps } from \"react-aria-components\";\nimport { COMMON_STYLES, createAriaLabelProp, createIdProp } from \"./common\";\nimport { PlasmicListBoxContext } from \"./contexts\";\nimport { useIdManager } from \"./OptionsItemIdManager\";\nimport {\n makeDefaultListBoxItemChildren,\n registerListBoxItem,\n} from \"./registerListBoxItem\";\nimport { registerSection } from \"./registerSection\";\nimport {\n BaseControlContextDataForLists,\n CodeComponentMetaOverrides,\n HasControlContextData,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\nimport { pickAriaComponentVariants, WithVariants } from \"./variant-utils\";\n\nexport interface BaseListBoxControlContextData\n extends BaseControlContextDataForLists {\n isStandalone: boolean;\n}\n\nconst LISTBOX_VARIANTS = [\"focused\" as const, \"focusVisible\" as const];\n\nconst { variants } = 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 className,\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 useEffect(() => {\n setControlContextData?.({\n itemIds: ids,\n isStandalone,\n });\n }, [ids, isStandalone, setControlContextData]);\n\n const classNameProp = useCallback(\n ({ isFocusVisible, isFocused }: ListBoxRenderProps) => {\n plasmicUpdateVariant?.({\n focused: isFocused,\n focusVisible: isFocusVisible,\n });\n return className ?? \"\";\n },\n [className, plasmicUpdateVariant]\n );\n\n const listbox = (\n <ListBox\n selectedKeys={normalizeSelectedKeys(selectedKeys)}\n defaultSelectedKeys={normalizeSelectedKeys(defaultSelectedKeys)}\n className={classNameProp}\n style={COMMON_STYLES}\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 {...rest}\n >\n {children}\n </ListBox>\n );\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,\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","Section","__spreadValues","COMMON_STYLES","Header","registerComponentHelper","makeComponentName","createAriaLabelProp","pickAriaComponentVariants","useState","usePlasmicCanvasContext","useIdManager","useEffect","useCallback","ListBox","registerListBoxItem","makeDefaultListBoxItemChildren","createIdProp"],"mappings":"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"}
@@ -3,16 +3,15 @@
3
3
  require('@plasmicapp/host');
4
4
  require('react');
5
5
  require('react-aria-components');
6
- require('./common-6ffc5113.cjs.js');
6
+ require('./common-7f948fa5.cjs.js');
7
7
  require('./contexts-6d0cb2b1.cjs.js');
8
- require('./OptionsItemIdManager-f0a61ed5.cjs.js');
8
+ require('./OptionsItemIdManager-cb3a2c53.cjs.js');
9
9
  require('./registerListBoxItem.cjs.js');
10
- var registerSection = require('./registerListBox-b21abca6.cjs.js');
11
- require('./utils-88dd1a55.cjs.js');
10
+ var registerSection = require('./registerListBox-7a50077e.cjs.js');
12
11
  require('./variant-utils-0ad70db8.cjs.js');
12
+ require('@plasmicapp/host/registerComponent');
13
13
  require('./registerDescription.cjs.js');
14
14
  require('./registerText.cjs.js');
15
- require('@plasmicapp/host/registerComponent');
16
15
 
17
16
 
18
17
 
@@ -1 +1 @@
1
- {"version":3,"file":"registerListBox.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"registerListBox.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
@@ -1,14 +1,13 @@
1
1
  import '@plasmicapp/host';
2
2
  import 'react';
3
3
  import 'react-aria-components';
4
- import './common-3fde23cc.esm.js';
4
+ import './common-81f08e86.esm.js';
5
5
  import './contexts-5cb81c2f.esm.js';
6
- import './OptionsItemIdManager-724ffca2.esm.js';
6
+ import './OptionsItemIdManager-0ce90944.esm.js';
7
7
  import './registerListBoxItem.esm.js';
8
- export { a as BaseListBox, L as LIST_BOX_COMPONENT_NAME, l as listboxHelpers, b as registerListBox } from './registerListBox-d83a8581.esm.js';
9
- import './utils-b68e14cf.esm.js';
8
+ export { a as BaseListBox, L as LIST_BOX_COMPONENT_NAME, l as listboxHelpers, b as registerListBox } from './registerListBox-14503b0a.esm.js';
10
9
  import './variant-utils-4405ebb0.esm.js';
10
+ import '@plasmicapp/host/registerComponent';
11
11
  import './registerDescription.esm.js';
12
12
  import './registerText.esm.js';
13
- import '@plasmicapp/host/registerComponent';
14
13
  //# sourceMappingURL=registerListBox.esm.js.map
@@ -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,11 @@
2
2
 
3
3
  var React = require('react');
4
4
  var reactAriaComponents = require('react-aria-components');
5
- var common = require('./common-6ffc5113.cjs.js');
5
+ var common = require('./common-7f948fa5.cjs.js');
6
6
  var contexts = require('./contexts-6d0cb2b1.cjs.js');
7
- var OptionsItemIdManager = require('./OptionsItemIdManager-f0a61ed5.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 utils = require('./utils-88dd1a55.cjs.js');
11
10
  var variantUtils = require('./variant-utils-0ad70db8.cjs.js');
12
11
  require('@plasmicapp/host');
13
12
  require('@plasmicapp/host/registerComponent');
@@ -62,10 +61,7 @@ function BaseListBoxItem(props) {
62
61
  const _a = props, { children, setControlContextData, plasmicUpdateVariant, id } = _a, rest = __objRest(_a, ["children", "setControlContextData", "plasmicUpdateVariant", "id"]);
63
62
  const listboxContext = React__default.default.useContext(contexts.PlasmicListBoxContext);
64
63
  const isStandalone = !listboxContext;
65
- const { registeredId, idError } = OptionsItemIdManager.useOptionsItemId(
66
- id,
67
- listboxContext == null ? void 0 : listboxContext.idManager
68
- );
64
+ const { registeredId, idError } = OptionsItemIdManager.useOptionsItemId(id, listboxContext == null ? void 0 : listboxContext.idManager);
69
65
  setControlContextData == null ? void 0 : setControlContextData({
70
66
  idError
71
67
  });
@@ -140,11 +136,11 @@ const makeDefaultListBoxItemChildren = (label, description) => ({
140
136
  ]
141
137
  });
142
138
  function registerListBoxItem(loader, overrides) {
143
- return utils.registerComponentHelper(
139
+ return common.registerComponentHelper(
144
140
  loader,
145
141
  BaseListBoxItem,
146
142
  {
147
- name: utils.makeComponentName("item"),
143
+ name: common.makeComponentName("item"),
148
144
  displayName: "Aria ListBoxItem",
149
145
  importPath: "@plasmicpkgs/react-aria/skinny/registerListBoxItem",
150
146
  importName: "BaseListBoxItem",
@@ -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 interface BaseListBoxItemProps\n extends React.ComponentProps<typeof ListBoxItem>,\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 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":"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"}
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":"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"}
@@ -7,11 +7,14 @@ declare const LIST_BOX_ITEM_VARIANTS: ("disabled" | "hovered" | "pressed" | "foc
7
7
  export interface BaseListBoxControlContextData {
8
8
  idError?: string;
9
9
  }
10
- export interface BaseListBoxItemProps extends React.ComponentProps<typeof ListBoxItem>, HasControlContextData<BaseListBoxControlContextData>, WithVariants<typeof LIST_BOX_ITEM_VARIANTS> {
10
+ export type BaseListBoxItemProps = Omit<React.ComponentProps<typeof ListBoxItem>, "id"> & HasControlContextData<BaseListBoxControlContextData> & WithVariants<typeof LIST_BOX_ITEM_VARIANTS> & {
11
11
  id?: string;
12
12
  children?: React.ReactNode;
13
- }
13
+ };
14
14
  export declare function BaseListBoxItem(props: BaseListBoxItemProps): React.JSX.Element;
15
15
  export declare const makeDefaultListBoxItemChildren: (label: string, description?: string) => PlasmicElement;
16
- export declare function registerListBoxItem(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseListBoxItem>): import("@plasmicapp/host").CodeComponentMeta<BaseListBoxItemProps>;
16
+ export declare function registerListBoxItem(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseListBoxItem>): import("@plasmicapp/host").CodeComponentMeta<Omit<import("react-aria-components").ListBoxItemProps<object> & React.RefAttributes<object>, "id"> & HasControlContextData<BaseListBoxControlContextData> & WithVariants<("disabled" | "hovered" | "pressed" | "focused" | "focusVisible" | "selected")[]> & {
17
+ id?: string | undefined;
18
+ children?: React.ReactNode;
19
+ }>;
17
20
  export {};
@@ -1,11 +1,10 @@
1
1
  import React from 'react';
2
2
  import { ListBoxItem, ListBox } from 'react-aria-components';
3
- import { C as COMMON_STYLES } from './common-3fde23cc.esm.js';
3
+ import { r as registerComponentHelper, C as COMMON_STYLES, m as makeComponentName } from './common-81f08e86.esm.js';
4
4
  import { b as PlasmicListBoxContext } from './contexts-5cb81c2f.esm.js';
5
- import { a as useOptionsItemId } from './OptionsItemIdManager-724ffca2.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 { r as registerComponentHelper, m as makeComponentName } from './utils-b68e14cf.esm.js';
9
8
  import { p as pickAriaComponentVariants } from './variant-utils-4405ebb0.esm.js';
10
9
  import '@plasmicapp/host';
11
10
  import '@plasmicapp/host/registerComponent';
@@ -56,10 +55,7 @@ function BaseListBoxItem(props) {
56
55
  const _a = props, { children, setControlContextData, plasmicUpdateVariant, id } = _a, rest = __objRest(_a, ["children", "setControlContextData", "plasmicUpdateVariant", "id"]);
57
56
  const listboxContext = React.useContext(PlasmicListBoxContext);
58
57
  const isStandalone = !listboxContext;
59
- const { registeredId, idError } = useOptionsItemId(
60
- id,
61
- listboxContext == null ? void 0 : listboxContext.idManager
62
- );
58
+ const { registeredId, idError } = useOptionsItemId(id, listboxContext == null ? void 0 : listboxContext.idManager);
63
59
  setControlContextData == null ? void 0 : setControlContextData({
64
60
  idError
65
61
  });
@@ -1 +1 @@
1
- {"version":3,"file":"registerListBoxItem.esm.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 interface BaseListBoxItemProps\n extends React.ComponentProps<typeof ListBoxItem>,\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 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":[],"mappings":"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"}
1
+ {"version":3,"file":"registerListBoxItem.esm.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":[],"mappings":"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"}
@@ -4,9 +4,8 @@ var host = require('@plasmicapp/host');
4
4
  var React = require('react');
5
5
  var reactAria = require('react-aria');
6
6
  var reactAriaComponents = require('react-aria-components');
7
- var common = require('./common-6ffc5113.cjs.js');
7
+ var common = require('./common-7f948fa5.cjs.js');
8
8
  var contexts = require('./contexts-6d0cb2b1.cjs.js');
9
- var utils = require('./utils-88dd1a55.cjs.js');
10
9
  require('@plasmicapp/host/registerComponent');
11
10
 
12
11
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
@@ -54,7 +53,8 @@ const BaseModal = React.forwardRef(
54
53
  resetClassName,
55
54
  setControlContextData,
56
55
  isDismissable,
57
- defaultOpen
56
+ defaultOpen,
57
+ id
58
58
  } = _a, rest = __objRest(_a, [
59
59
  "children",
60
60
  "modalOverlayClass",
@@ -63,13 +63,14 @@ const BaseModal = React.forwardRef(
63
63
  "resetClassName",
64
64
  "setControlContextData",
65
65
  "isDismissable",
66
- "defaultOpen"
66
+ "defaultOpen",
67
+ "id"
67
68
  ]);
68
69
  const canvasCtx = host.usePlasmicCanvasContext();
69
70
  const isEditMode = canvasCtx && canvasCtx.interactive === false;
70
71
  const contextProps = React__default.default.useContext(contexts.PlasmicDialogTriggerContext);
71
72
  const isStandalone = !contextProps;
72
- const isOpen2 = utils.useIsOpen({ isOpen, props });
73
+ const isOpen2 = common.useIsOpen({ isOpen, props });
73
74
  const mergedProps = reactAria.mergeProps(rest, {
74
75
  // Since open/defaultOpen props are hidden when the modal is inside dialogTrigger, we also unset them here.
75
76
  isOpen: isStandalone ? isOpen2 : void 0,
@@ -99,11 +100,18 @@ const BaseModal = React.forwardRef(
99
100
  __spreadProps(__spreadValues({}, mergedProps), {
100
101
  className: `${resetClassName} ${modalOverlayClass}`
101
102
  }),
102
- /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Modal, { className }, children)
103
+ /* @__PURE__ */ React__default.default.createElement(
104
+ reactAriaComponents.Modal,
105
+ {
106
+ className,
107
+ id
108
+ },
109
+ children
110
+ )
103
111
  );
104
112
  }
105
113
  );
106
- const MODAL_COMPONENT_NAME = utils.makeComponentName("modal");
114
+ const MODAL_COMPONENT_NAME = common.makeComponentName("modal");
107
115
  const MODAL_DEFAULT_SLOT_CONTENT = {
108
116
  type: "vbox",
109
117
  styles: {
@@ -137,7 +145,7 @@ const MODAL_DEFAULT_SLOT_CONTENT = {
137
145
  ]
138
146
  };
139
147
  function registerModal(loader, overrides) {
140
- utils.registerComponentHelper(
148
+ common.registerComponentHelper(
141
149
  loader,
142
150
  BaseModal,
143
151
  {
@@ -171,6 +179,7 @@ function registerModal(loader, overrides) {
171
179
  }
172
180
  },
173
181
  props: {
182
+ id: common.createIdProp("Modal"),
174
183
  children: {
175
184
  type: "slot",
176
185
  mergeWithParent: true,
@@ -1 +1 @@
1
- {"version":3,"file":"registerModal.cjs.js","sources":["../src/registerModal.tsx"],"sourcesContent":["import { PlasmicElement, usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport React, { forwardRef, useImperativeHandle } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport { Modal, ModalOverlay, ModalOverlayProps } from \"react-aria-components\";\nimport { hasParent } from \"./common\";\nimport { PlasmicDialogTriggerContext } from \"./contexts\";\nimport {\n CodeComponentMetaOverrides,\n HasControlContextData,\n makeComponentName,\n PlasmicCanvasProps,\n Registerable,\n registerComponentHelper,\n useIsOpen,\n} from \"./utils\";\n\nexport interface BaseModalProps\n extends ModalOverlayProps,\n PlasmicCanvasProps,\n HasControlContextData {\n modalOverlayClass?: string;\n resetClassName?: string;\n children?: React.ReactNode;\n className?: string;\n}\n\nexport interface BaseModalActions {\n close(): void;\n open(): void;\n}\n\nexport const BaseModal = forwardRef<BaseModalActions, BaseModalProps>(\n function BaseModalInner(props, ref) {\n const {\n children,\n modalOverlayClass,\n className,\n isOpen,\n resetClassName,\n setControlContextData,\n isDismissable,\n defaultOpen,\n ...rest\n } = props;\n\n const canvasCtx = usePlasmicCanvasContext();\n const isEditMode = canvasCtx && canvasCtx.interactive === false;\n\n const contextProps = React.useContext(PlasmicDialogTriggerContext);\n const isStandalone = !contextProps;\n const isOpen2 = useIsOpen({ isOpen, props });\n\n const mergedProps = mergeProps(rest, {\n // Since open/defaultOpen props are hidden when the modal is inside dialogTrigger, we also unset them here.\n isOpen: isStandalone ? isOpen2 : undefined,\n defaultOpen: isStandalone ? defaultOpen : undefined,\n\n // isDismissable on canvas (non-interactive mode) causes the following two issues:\n // 1. Clicking anywhere inside the modal dismisses it\n // 2. If the modal is auto-opened due to selection in outline tab, the modal stays open despite issue #1, but the text elements inside the modal are no longer selectable, and therefore the text or headings inside the modal are not editable.\n //\n // To fix the above issue, we set an interim isDismissable state to false in edit mode, because it only matters in interactive mode.\n isDismissable: isEditMode ? false : isDismissable,\n });\n\n setControlContextData?.({\n parent: isStandalone ? undefined : {},\n });\n\n // Expose close operation using useImperativeHandle\n useImperativeHandle(ref, () => ({\n close: () => {\n mergedProps.onOpenChange?.(false);\n },\n open: () => {\n mergedProps.onOpenChange?.(true);\n },\n }));\n\n return (\n <ModalOverlay\n {...mergedProps}\n className={`${resetClassName} ${modalOverlayClass}`}\n >\n <Modal className={className}>{children}</Modal>\n </ModalOverlay>\n );\n }\n);\n\nexport const MODAL_COMPONENT_NAME = makeComponentName(\"modal\");\n\nexport const MODAL_DEFAULT_SLOT_CONTENT: PlasmicElement = {\n type: \"vbox\",\n styles: {\n width: \"stretch\",\n padding: 0,\n gap: \"10px\",\n justifyContent: \"flex-start\",\n alignItems: \"flex-start\",\n },\n children: [\n {\n type: \"text\",\n value: \"Heading\",\n tag: \"h2\",\n },\n {\n type: \"text\",\n value: \"This is a Modal!\",\n },\n {\n type: \"text\",\n value: \"You can put anything you can imagine here!\",\n styles: {\n fontWeight: 500,\n },\n },\n {\n type: \"text\",\n value:\n \"Use it in a `Aria Dialog Trigger` component to trigger it on a button click!\",\n },\n ],\n};\n\nexport function registerModal(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseModal>\n) {\n registerComponentHelper(\n loader,\n BaseModal,\n {\n name: MODAL_COMPONENT_NAME,\n displayName: \"Aria Modal\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerModal\",\n importName: \"BaseModal\",\n styleSections: true,\n defaultStyles: {\n // centering the modal on the page by default\n position: \"fixed\",\n top: \"10%\",\n left: \"50%\",\n width: \"50%\",\n transform: \"translateX(-50%)\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n padding: \"20px\",\n maxWidth: \"300px\",\n backgroundColor: \"#FDE3C3\",\n },\n refActions: {\n open: {\n description: \"Open the modal\",\n argTypes: [],\n },\n close: {\n description: \"Close the modal\",\n argTypes: [],\n },\n },\n props: {\n children: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: MODAL_DEFAULT_SLOT_CONTENT,\n },\n modalOverlayClass: {\n type: \"class\",\n displayName: \"Modal Overlay\",\n },\n isOpen: {\n type: \"boolean\",\n editOnly: true,\n uncontrolledProp: \"defaultOpen\",\n // standalone Modals should default to open so that they are visible when inserted\n defaultValueHint: true,\n defaultValue: true,\n hidden: hasParent,\n },\n isDismissable: {\n type: \"boolean\",\n description:\n \"Whether to close the modal when the user interacts outside it.\",\n },\n isKeyboardDismissDisabled: {\n type: \"boolean\",\n description:\n \"Whether pressing the escape key to close the modal should be disabled.\",\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n resetClassName: {\n type: \"themeResetClass\",\n },\n },\n states: {\n isOpen: {\n type: \"writable\",\n valueProp: \"isOpen\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n hidden: hasParent,\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["forwardRef","usePlasmicCanvasContext","React","PlasmicDialogTriggerContext","useIsOpen","mergeProps","useImperativeHandle","_a","ModalOverlay","Modal","makeComponentName","registerComponentHelper","hasParent"],"mappings":"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"}
1
+ {"version":3,"file":"registerModal.cjs.js","sources":["../src/registerModal.tsx"],"sourcesContent":["import { PlasmicElement, usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport React, { forwardRef, useImperativeHandle } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport { Modal, ModalOverlay, ModalOverlayProps } from \"react-aria-components\";\nimport { createIdProp, hasParent } from \"./common\";\nimport { PlasmicDialogTriggerContext } from \"./contexts\";\nimport {\n CodeComponentMetaOverrides,\n HasControlContextData,\n makeComponentName,\n PlasmicCanvasProps,\n Registerable,\n registerComponentHelper,\n useIsOpen,\n} from \"./utils\";\n\nexport interface BaseModalProps\n extends ModalOverlayProps,\n PlasmicCanvasProps,\n HasControlContextData {\n modalOverlayClass?: string;\n resetClassName?: string;\n children?: React.ReactNode;\n className?: string;\n id?: string;\n}\n\nexport interface BaseModalActions {\n close(): void;\n open(): void;\n}\n\nexport const BaseModal = forwardRef<BaseModalActions, BaseModalProps>(\n function BaseModalInner(props, ref) {\n const {\n children,\n modalOverlayClass,\n className,\n isOpen,\n resetClassName,\n setControlContextData,\n isDismissable,\n defaultOpen,\n id,\n ...rest\n } = props;\n\n const canvasCtx = usePlasmicCanvasContext();\n const isEditMode = canvasCtx && canvasCtx.interactive === false;\n\n const contextProps = React.useContext(PlasmicDialogTriggerContext);\n const isStandalone = !contextProps;\n const isOpen2 = useIsOpen({ isOpen, props });\n\n const mergedProps = mergeProps(rest, {\n // Since open/defaultOpen props are hidden when the modal is inside dialogTrigger, we also unset them here.\n isOpen: isStandalone ? isOpen2 : undefined,\n defaultOpen: isStandalone ? defaultOpen : undefined,\n\n // isDismissable on canvas (non-interactive mode) causes the following two issues:\n // 1. Clicking anywhere inside the modal dismisses it\n // 2. If the modal is auto-opened due to selection in outline tab, the modal stays open despite issue #1, but the text elements inside the modal are no longer selectable, and therefore the text or headings inside the modal are not editable.\n //\n // To fix the above issue, we set an interim isDismissable state to false in edit mode, because it only matters in interactive mode.\n isDismissable: isEditMode ? false : isDismissable,\n });\n\n setControlContextData?.({\n parent: isStandalone ? undefined : {},\n });\n\n // Expose close operation using useImperativeHandle\n useImperativeHandle(ref, () => ({\n close: () => {\n mergedProps.onOpenChange?.(false);\n },\n open: () => {\n mergedProps.onOpenChange?.(true);\n },\n }));\n\n return (\n <ModalOverlay\n {...mergedProps}\n className={`${resetClassName} ${modalOverlayClass}`}\n >\n <Modal\n className={className}\n // @ts-expect-error <Modal> may not declare `id` in its props but forwards DOM attributes\n id={id}\n >\n {children}\n </Modal>\n </ModalOverlay>\n );\n }\n);\n\nexport const MODAL_COMPONENT_NAME = makeComponentName(\"modal\");\n\nexport const MODAL_DEFAULT_SLOT_CONTENT: PlasmicElement = {\n type: \"vbox\",\n styles: {\n width: \"stretch\",\n padding: 0,\n gap: \"10px\",\n justifyContent: \"flex-start\",\n alignItems: \"flex-start\",\n },\n children: [\n {\n type: \"text\",\n value: \"Heading\",\n tag: \"h2\",\n },\n {\n type: \"text\",\n value: \"This is a Modal!\",\n },\n {\n type: \"text\",\n value: \"You can put anything you can imagine here!\",\n styles: {\n fontWeight: 500,\n },\n },\n {\n type: \"text\",\n value:\n \"Use it in a `Aria Dialog Trigger` component to trigger it on a button click!\",\n },\n ],\n};\n\nexport function registerModal(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseModal>\n) {\n registerComponentHelper(\n loader,\n BaseModal,\n {\n name: MODAL_COMPONENT_NAME,\n displayName: \"Aria Modal\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerModal\",\n importName: \"BaseModal\",\n styleSections: true,\n defaultStyles: {\n // centering the modal on the page by default\n position: \"fixed\",\n top: \"10%\",\n left: \"50%\",\n width: \"50%\",\n transform: \"translateX(-50%)\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n padding: \"20px\",\n maxWidth: \"300px\",\n backgroundColor: \"#FDE3C3\",\n },\n refActions: {\n open: {\n description: \"Open the modal\",\n argTypes: [],\n },\n close: {\n description: \"Close the modal\",\n argTypes: [],\n },\n },\n props: {\n id: createIdProp(\"Modal\"),\n children: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: MODAL_DEFAULT_SLOT_CONTENT,\n },\n modalOverlayClass: {\n type: \"class\",\n displayName: \"Modal Overlay\",\n },\n isOpen: {\n type: \"boolean\",\n editOnly: true,\n uncontrolledProp: \"defaultOpen\",\n // standalone Modals should default to open so that they are visible when inserted\n defaultValueHint: true,\n defaultValue: true,\n hidden: hasParent,\n },\n isDismissable: {\n type: \"boolean\",\n description:\n \"Whether to close the modal when the user interacts outside it.\",\n },\n isKeyboardDismissDisabled: {\n type: \"boolean\",\n description:\n \"Whether pressing the escape key to close the modal should be disabled.\",\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n resetClassName: {\n type: \"themeResetClass\",\n },\n },\n states: {\n isOpen: {\n type: \"writable\",\n valueProp: \"isOpen\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n hidden: hasParent,\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["forwardRef","usePlasmicCanvasContext","React","PlasmicDialogTriggerContext","useIsOpen","mergeProps","useImperativeHandle","_a","ModalOverlay","Modal","makeComponentName","registerComponentHelper","createIdProp","hasParent"],"mappings":"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"}
@@ -7,6 +7,7 @@ export interface BaseModalProps extends ModalOverlayProps, PlasmicCanvasProps, H
7
7
  resetClassName?: string;
8
8
  children?: React.ReactNode;
9
9
  className?: string;
10
+ id?: string;
10
11
  }
11
12
  export interface BaseModalActions {
12
13
  close(): void;
@@ -2,9 +2,8 @@ import { usePlasmicCanvasContext } from '@plasmicapp/host';
2
2
  import React, { forwardRef, useImperativeHandle } from 'react';
3
3
  import { mergeProps } from 'react-aria';
4
4
  import { ModalOverlay, Modal } from 'react-aria-components';
5
- import { h as hasParent } from './common-3fde23cc.esm.js';
5
+ import { j as useIsOpen, m as makeComponentName, r as registerComponentHelper, c as createIdProp, h as hasParent } from './common-81f08e86.esm.js';
6
6
  import { d as PlasmicDialogTriggerContext } from './contexts-5cb81c2f.esm.js';
7
- import { a as useIsOpen, m as makeComponentName, r as registerComponentHelper } from './utils-b68e14cf.esm.js';
8
7
  import '@plasmicapp/host/registerComponent';
9
8
 
10
9
  var __defProp = Object.defineProperty;
@@ -48,7 +47,8 @@ const BaseModal = forwardRef(
48
47
  resetClassName,
49
48
  setControlContextData,
50
49
  isDismissable,
51
- defaultOpen
50
+ defaultOpen,
51
+ id
52
52
  } = _a, rest = __objRest(_a, [
53
53
  "children",
54
54
  "modalOverlayClass",
@@ -57,7 +57,8 @@ const BaseModal = forwardRef(
57
57
  "resetClassName",
58
58
  "setControlContextData",
59
59
  "isDismissable",
60
- "defaultOpen"
60
+ "defaultOpen",
61
+ "id"
61
62
  ]);
62
63
  const canvasCtx = usePlasmicCanvasContext();
63
64
  const isEditMode = canvasCtx && canvasCtx.interactive === false;
@@ -93,7 +94,14 @@ const BaseModal = forwardRef(
93
94
  __spreadProps(__spreadValues({}, mergedProps), {
94
95
  className: `${resetClassName} ${modalOverlayClass}`
95
96
  }),
96
- /* @__PURE__ */ React.createElement(Modal, { className }, children)
97
+ /* @__PURE__ */ React.createElement(
98
+ Modal,
99
+ {
100
+ className,
101
+ id
102
+ },
103
+ children
104
+ )
97
105
  );
98
106
  }
99
107
  );
@@ -165,6 +173,7 @@ function registerModal(loader, overrides) {
165
173
  }
166
174
  },
167
175
  props: {
176
+ id: createIdProp("Modal"),
168
177
  children: {
169
178
  type: "slot",
170
179
  mergeWithParent: true,