@plasmicpkgs/react-aria 0.0.29 → 0.0.30

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 (165) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/contexts.d.ts +3 -0
  3. package/dist/react-aria.esm.js +1712 -878
  4. package/dist/react-aria.esm.js.map +1 -1
  5. package/dist/react-aria.js +1711 -877
  6. package/dist/react-aria.js.map +1 -1
  7. package/dist/registerButton.d.ts +1 -0
  8. package/dist/registerCheckbox.d.ts +8 -2
  9. package/dist/registerCheckboxGroup.d.ts +2 -2
  10. package/dist/registerDescription.d.ts +2 -1
  11. package/dist/registerDialogTrigger.d.ts +1 -2
  12. package/dist/registerHeader.d.ts +1 -1
  13. package/dist/registerInput.d.ts +1 -0
  14. package/dist/registerListBox.d.ts +3 -6
  15. package/dist/registerListBoxItem.d.ts +3 -1
  16. package/dist/registerModal.d.ts +3 -1
  17. package/dist/registerPopover.d.ts +3 -0
  18. package/dist/registerRadio.d.ts +5 -2
  19. package/dist/registerRadioGroup.d.ts +3 -3
  20. package/dist/registerSection.d.ts +1 -1
  21. package/dist/registerSelect.d.ts +5 -2
  22. package/dist/registerText.d.ts +2 -1
  23. package/dist/registerTextField.d.ts +1 -0
  24. package/dist/utils.d.ts +9 -2
  25. package/package.json +2 -2
  26. package/skinny/contexts-9475faad.esm.js +16 -0
  27. package/skinny/contexts-9475faad.esm.js.map +1 -0
  28. package/skinny/{contexts-dd0ce341.cjs.js → contexts-b21f6b12.cjs.js} +7 -1
  29. package/skinny/contexts-b21f6b12.cjs.js.map +1 -0
  30. package/skinny/contexts.d.ts +3 -0
  31. package/skinny/registerButton.cjs.js +19 -4
  32. package/skinny/registerButton.cjs.js.map +1 -1
  33. package/skinny/registerButton.d.ts +1 -0
  34. package/skinny/registerButton.esm.js +19 -5
  35. package/skinny/registerButton.esm.js.map +1 -1
  36. package/skinny/registerCheckbox.cjs.js +75 -6
  37. package/skinny/registerCheckbox.cjs.js.map +1 -1
  38. package/skinny/registerCheckbox.d.ts +8 -2
  39. package/skinny/registerCheckbox.esm.js +75 -7
  40. package/skinny/registerCheckbox.esm.js.map +1 -1
  41. package/skinny/registerCheckboxGroup.cjs.js +89 -13
  42. package/skinny/registerCheckboxGroup.cjs.js.map +1 -1
  43. package/skinny/registerCheckboxGroup.d.ts +2 -2
  44. package/skinny/registerCheckboxGroup.esm.js +88 -16
  45. package/skinny/registerCheckboxGroup.esm.js.map +1 -1
  46. package/skinny/registerComboBox.cjs.js +113 -8
  47. package/skinny/registerComboBox.cjs.js.map +1 -1
  48. package/skinny/registerComboBox.esm.js +109 -4
  49. package/skinny/registerComboBox.esm.js.map +1 -1
  50. package/skinny/registerDescription.cjs.js +10 -3
  51. package/skinny/registerDescription.cjs.js.map +1 -1
  52. package/skinny/registerDescription.d.ts +2 -1
  53. package/skinny/registerDescription.esm.js +10 -4
  54. package/skinny/registerDescription.esm.js.map +1 -1
  55. package/skinny/registerDialogTrigger.cjs.js +25 -4
  56. package/skinny/registerDialogTrigger.cjs.js.map +1 -1
  57. package/skinny/registerDialogTrigger.d.ts +1 -2
  58. package/skinny/registerDialogTrigger.esm.js +25 -4
  59. package/skinny/registerDialogTrigger.esm.js.map +1 -1
  60. package/skinny/registerFieldError.cjs.js +21 -11
  61. package/skinny/registerFieldError.cjs.js.map +1 -1
  62. package/skinny/registerFieldError.esm.js +21 -11
  63. package/skinny/registerFieldError.esm.js.map +1 -1
  64. package/skinny/registerForm.cjs.js +1 -1
  65. package/skinny/registerForm.esm.js +1 -1
  66. package/skinny/registerHeader.cjs.js +7 -3
  67. package/skinny/registerHeader.cjs.js.map +1 -1
  68. package/skinny/registerHeader.d.ts +1 -1
  69. package/skinny/registerHeader.esm.js +7 -3
  70. package/skinny/registerHeader.esm.js.map +1 -1
  71. package/skinny/registerInput.cjs.js +11 -2
  72. package/skinny/registerInput.cjs.js.map +1 -1
  73. package/skinny/registerInput.d.ts +1 -0
  74. package/skinny/registerInput.esm.js +11 -3
  75. package/skinny/registerInput.esm.js.map +1 -1
  76. package/skinny/registerLabel.cjs.js +1 -1
  77. package/skinny/registerLabel.esm.js +1 -1
  78. package/skinny/registerListBox-1effa43d.esm.js +299 -0
  79. package/skinny/registerListBox-1effa43d.esm.js.map +1 -0
  80. package/skinny/registerListBox-837b90d8.cjs.js +311 -0
  81. package/skinny/registerListBox-837b90d8.cjs.js.map +1 -0
  82. package/skinny/registerListBox.cjs.js +14 -108
  83. package/skinny/registerListBox.cjs.js.map +1 -1
  84. package/skinny/registerListBox.d.ts +3 -6
  85. package/skinny/registerListBox.esm.js +11 -106
  86. package/skinny/registerListBox.esm.js.map +1 -1
  87. package/skinny/registerListBoxItem.cjs.js +49 -5
  88. package/skinny/registerListBoxItem.cjs.js.map +1 -1
  89. package/skinny/registerListBoxItem.d.ts +3 -1
  90. package/skinny/registerListBoxItem.esm.js +49 -6
  91. package/skinny/registerListBoxItem.esm.js.map +1 -1
  92. package/skinny/registerModal.cjs.js +78 -9
  93. package/skinny/registerModal.cjs.js.map +1 -1
  94. package/skinny/registerModal.d.ts +3 -1
  95. package/skinny/registerModal.esm.js +78 -10
  96. package/skinny/registerModal.esm.js.map +1 -1
  97. package/skinny/registerPopover.cjs.js +56 -4
  98. package/skinny/registerPopover.cjs.js.map +1 -1
  99. package/skinny/registerPopover.d.ts +3 -0
  100. package/skinny/registerPopover.esm.js +55 -5
  101. package/skinny/registerPopover.esm.js.map +1 -1
  102. package/skinny/registerRadio.cjs.js +51 -6
  103. package/skinny/registerRadio.cjs.js.map +1 -1
  104. package/skinny/registerRadio.d.ts +5 -2
  105. package/skinny/registerRadio.esm.js +51 -7
  106. package/skinny/registerRadio.esm.js.map +1 -1
  107. package/skinny/registerRadioGroup.cjs.js +80 -16
  108. package/skinny/registerRadioGroup.cjs.js.map +1 -1
  109. package/skinny/registerRadioGroup.d.ts +3 -3
  110. package/skinny/registerRadioGroup.esm.js +79 -19
  111. package/skinny/registerRadioGroup.esm.js.map +1 -1
  112. package/skinny/registerSection.cjs.js +36 -12
  113. package/skinny/registerSection.cjs.js.map +1 -1
  114. package/skinny/registerSection.d.ts +1 -1
  115. package/skinny/registerSection.esm.js +36 -12
  116. package/skinny/registerSection.esm.js.map +1 -1
  117. package/skinny/registerSelect.cjs.js +133 -30
  118. package/skinny/registerSelect.cjs.js.map +1 -1
  119. package/skinny/registerSelect.d.ts +5 -2
  120. package/skinny/registerSelect.esm.js +130 -25
  121. package/skinny/registerSelect.esm.js.map +1 -1
  122. package/skinny/{registerSlider-efdba013.esm.js → registerSlider-39783c91.esm.js} +3 -3
  123. package/skinny/{registerSlider-efdba013.esm.js.map → registerSlider-39783c91.esm.js.map} +1 -1
  124. package/skinny/{registerSlider-73e80194.cjs.js → registerSlider-ac9f3b1e.cjs.js} +3 -3
  125. package/skinny/{registerSlider-73e80194.cjs.js.map → registerSlider-ac9f3b1e.cjs.js.map} +1 -1
  126. package/skinny/registerSlider.cjs.js +3 -3
  127. package/skinny/registerSlider.esm.js +3 -3
  128. package/skinny/registerSliderOutput.cjs.js +1 -1
  129. package/skinny/registerSliderOutput.esm.js +1 -1
  130. package/skinny/registerSliderThumb.cjs.js +2 -2
  131. package/skinny/registerSliderThumb.esm.js +2 -2
  132. package/skinny/registerSliderTrack.cjs.js +3 -3
  133. package/skinny/registerSliderTrack.esm.js +3 -3
  134. package/skinny/registerSwitch.cjs.js +83 -3
  135. package/skinny/registerSwitch.cjs.js.map +1 -1
  136. package/skinny/registerSwitch.esm.js +83 -3
  137. package/skinny/registerSwitch.esm.js.map +1 -1
  138. package/skinny/registerText.cjs.js +11 -4
  139. package/skinny/registerText.cjs.js.map +1 -1
  140. package/skinny/registerText.d.ts +2 -1
  141. package/skinny/registerText.esm.js +11 -5
  142. package/skinny/registerText.esm.js.map +1 -1
  143. package/skinny/registerTextArea.cjs.js +1 -1
  144. package/skinny/registerTextArea.esm.js +1 -1
  145. package/skinny/registerTextField.cjs.js +47 -6
  146. package/skinny/registerTextField.cjs.js.map +1 -1
  147. package/skinny/registerTextField.d.ts +1 -0
  148. package/skinny/registerTextField.esm.js +50 -10
  149. package/skinny/registerTextField.esm.js.map +1 -1
  150. package/skinny/registerTooltip.cjs.js +1 -1
  151. package/skinny/registerTooltip.esm.js +1 -1
  152. package/skinny/{utils-cf2632c9.esm.js → utils-5051df41.esm.js} +3 -2
  153. package/skinny/utils-5051df41.esm.js.map +1 -0
  154. package/skinny/{utils-18b2465b.cjs.js → utils-745db876.cjs.js} +2 -1
  155. package/skinny/utils-745db876.cjs.js.map +1 -0
  156. package/skinny/utils.d.ts +9 -2
  157. package/skinny/contexts-8a2a183b.esm.js +0 -13
  158. package/skinny/contexts-8a2a183b.esm.js.map +0 -1
  159. package/skinny/contexts-dd0ce341.cjs.js.map +0 -1
  160. package/skinny/option-utils-4f037568.esm.js +0 -153
  161. package/skinny/option-utils-4f037568.esm.js.map +0 -1
  162. package/skinny/option-utils-5e4e85bd.cjs.js +0 -162
  163. package/skinny/option-utils-5e4e85bd.cjs.js.map +0 -1
  164. package/skinny/utils-18b2465b.cjs.js.map +0 -1
  165. package/skinny/utils-cf2632c9.esm.js.map +0 -1
@@ -3,8 +3,8 @@
3
3
  var utils = require('@react-aria/utils');
4
4
  var React = require('react');
5
5
  var reactAriaComponents = require('react-aria-components');
6
- var contexts = require('./contexts-dd0ce341.cjs.js');
7
- var utils$1 = require('./utils-18b2465b.cjs.js');
6
+ var contexts = require('./contexts-b21f6b12.cjs.js');
7
+ var utils$1 = require('./utils-745db876.cjs.js');
8
8
  require('@plasmicapp/host/registerComponent');
9
9
 
10
10
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
@@ -54,18 +54,68 @@ function BasePopover(props) {
54
54
  } : {};
55
55
  return /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, isStandalone && /* @__PURE__ */ React__default.default.createElement("div", { ref: triggerRef }), /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Popover, __spreadValues(__spreadValues({}, mergedProps), standaloneProps)));
56
56
  }
57
+ const POPOVER_COMPONENT_NAME = utils$1.makeComponentName("popover");
58
+ const POPOVER_ARROW_IMG = {
59
+ type: "img",
60
+ // TODO: Replace with the image of an arrow pointing up, like: https://icon-sets.iconify.design/mdi/triangle/
61
+ src: "https://static1.plasmic.app/arrow-up.svg",
62
+ styles: {
63
+ position: "absolute",
64
+ top: "-14px",
65
+ // center the arrow horizontally on the popover
66
+ left: "50%",
67
+ transform: "translateX(-50%)",
68
+ width: "15px"
69
+ }
70
+ };
57
71
  function registerPopover(loader, overrides) {
58
72
  utils$1.registerComponentHelper(
59
73
  loader,
60
74
  BasePopover,
61
75
  {
62
- name: "plasmic-react-aria-popover",
76
+ name: POPOVER_COMPONENT_NAME,
63
77
  displayName: "Aria Popover",
64
78
  importPath: "@plasmicpkgs/react-aria/skinny/registerPopover",
65
79
  importName: "BasePopover",
80
+ defaultStyles: {
81
+ borderWidth: "1px",
82
+ borderStyle: "solid",
83
+ borderColor: "black",
84
+ padding: "20px",
85
+ width: "300px",
86
+ backgroundColor: "#FDE3C3"
87
+ },
66
88
  props: {
67
89
  children: {
68
- type: "slot"
90
+ type: "slot",
91
+ defaultValue: [
92
+ POPOVER_ARROW_IMG,
93
+ {
94
+ type: "vbox",
95
+ styles: {
96
+ width: "stretch",
97
+ padding: 0,
98
+ gap: "10px"
99
+ },
100
+ children: [
101
+ {
102
+ type: "text",
103
+ value: "This is a Popover!"
104
+ },
105
+ {
106
+ type: "text",
107
+ value: "You can put anything you can imagine here!",
108
+ styles: {
109
+ fontWeight: 500
110
+ }
111
+ },
112
+ {
113
+ type: "text",
114
+ value: "Use it in a `Aria Dialog Trigger` component to trigger it on a button click!"
115
+ }
116
+ ]
117
+ }
118
+ ]
69
119
  },
70
120
  offset: {
71
121
  type: "number",
@@ -96,5 +146,7 @@ function registerPopover(loader, overrides) {
96
146
  }
97
147
 
98
148
  exports.BasePopover = BasePopover;
149
+ exports.POPOVER_ARROW_IMG = POPOVER_ARROW_IMG;
150
+ exports.POPOVER_COMPONENT_NAME = POPOVER_COMPONENT_NAME;
99
151
  exports.registerPopover = registerPopover;
100
152
  //# sourceMappingURL=registerPopover.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registerPopover.cjs.js","sources":["../src/registerPopover.tsx"],"sourcesContent":["import { mergeProps } from \"@react-aria/utils\";\nimport React from \"react\";\nimport { Popover, PopoverContext } from \"react-aria-components\";\nimport { PlasmicPopoverContext } from \"./contexts\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nexport interface BasePopoverProps extends React.ComponentProps<typeof Popover> {\n className?: string;\n resetClassName?: string;\n}\n\nexport function BasePopover(props: BasePopoverProps) {\n const { resetClassName, ...restProps } = props;\n const isStandalone = !React.useContext(PopoverContext);\n const contextProps = React.useContext(PlasmicPopoverContext);\n const mergedProps = mergeProps(contextProps, restProps, {\n className: `${resetClassName}`,\n });\n\n const triggerRef = React.useRef<any>(null);\n\n const standaloneProps = isStandalone\n ? {\n triggerRef,\n isNonModal: true,\n isOpen: true,\n }\n : {};\n\n return (\n <>\n {isStandalone && <div ref={triggerRef} />}\n <Popover {...mergedProps} {...standaloneProps} />\n </>\n );\n}\n\nexport function registerPopover(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BasePopover>\n) {\n registerComponentHelper(\n loader,\n BasePopover,\n {\n name: \"plasmic-react-aria-popover\",\n displayName: \"Aria Popover\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerPopover\",\n importName: \"BasePopover\",\n props: {\n children: {\n type: \"slot\",\n },\n offset: {\n type: \"number\",\n displayName: \"Offset\",\n description:\n \"Additional offset applied vertically between the popover and its trigger\",\n defaultValueHint: 0,\n },\n placement: {\n type: \"choice\",\n description:\n \"Default placement of the popover relative to the trigger, if there is enough space\",\n options: [\n \"bottom\",\n \"bottom left\",\n \"bottom right\",\n \"top\",\n \"top left\",\n \"top right\",\n ],\n },\n resetClassName: {\n type: \"themeResetClass\",\n },\n },\n styleSections: true,\n },\n overrides\n );\n}\n"],"names":["React","PopoverContext","PlasmicPopoverContext","mergeProps","Popover","registerComponentHelper"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeO,SAAS,YAAY,KAAyB,EAAA;AACnD,EAAA,MAAyC,YAAjC,EAhBV,cAAA,EAAA,GAgB2C,EAAd,EAAA,SAAA,GAAA,SAAA,CAAc,IAAd,CAAnB,gBAAA,CAAA,CAAA,CAAA;AACR,EAAA,MAAM,YAAe,GAAA,CAACA,sBAAM,CAAA,UAAA,CAAWC,kCAAc,CAAA,CAAA;AACrD,EAAM,MAAA,YAAA,GAAeD,sBAAM,CAAA,UAAA,CAAWE,8BAAqB,CAAA,CAAA;AAC3D,EAAM,MAAA,WAAA,GAAcC,gBAAW,CAAA,YAAA,EAAc,SAAW,EAAA;AAAA,IACtD,WAAW,CAAG,EAAA,cAAA,CAAA,CAAA;AAAA,GACf,CAAA,CAAA;AAED,EAAM,MAAA,UAAA,GAAaH,sBAAM,CAAA,MAAA,CAAY,IAAI,CAAA,CAAA;AAEzC,EAAA,MAAM,kBAAkB,YACpB,GAAA;AAAA,IACE,UAAA;AAAA,IACA,UAAY,EAAA,IAAA;AAAA,IACZ,MAAQ,EAAA,IAAA;AAAA,MAEV,EAAC,CAAA;AAEL,EACE,uBAAAA,sBAAA,CAAA,aAAA,CAAAA,sBAAA,CAAA,QAAA,EAAA,IAAA,EACG,YAAgB,oBAAAA,sBAAA,CAAA,aAAA,CAAC,KAAI,EAAA,EAAA,GAAA,EAAK,UAAY,EAAA,CAAA,kBACtCA,sBAAA,CAAA,aAAA,CAAAI,2BAAA,EAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EAAY,WAAiB,CAAA,EAAA,eAAA,CAAiB,CACjD,CAAA,CAAA;AAEJ,CAAA;AAEgB,SAAA,eAAA,CACd,QACA,SACA,EAAA;AACA,EAAAC,+BAAA;AAAA,IACE,MAAA;AAAA,IACA,WAAA;AAAA,IACA;AAAA,MACE,IAAM,EAAA,4BAAA;AAAA,MACN,WAAa,EAAA,cAAA;AAAA,MACb,UAAY,EAAA,gDAAA;AAAA,MACZ,UAAY,EAAA,aAAA;AAAA,MACZ,KAAO,EAAA;AAAA,QACL,QAAU,EAAA;AAAA,UACR,IAAM,EAAA,MAAA;AAAA,SACR;AAAA,QACA,MAAQ,EAAA;AAAA,UACN,IAAM,EAAA,QAAA;AAAA,UACN,WAAa,EAAA,QAAA;AAAA,UACb,WACE,EAAA,0EAAA;AAAA,UACF,gBAAkB,EAAA,CAAA;AAAA,SACpB;AAAA,QACA,SAAW,EAAA;AAAA,UACT,IAAM,EAAA,QAAA;AAAA,UACN,WACE,EAAA,oFAAA;AAAA,UACF,OAAS,EAAA;AAAA,YACP,QAAA;AAAA,YACA,aAAA;AAAA,YACA,cAAA;AAAA,YACA,KAAA;AAAA,YACA,UAAA;AAAA,YACA,WAAA;AAAA,WACF;AAAA,SACF;AAAA,QACA,cAAgB,EAAA;AAAA,UACd,IAAM,EAAA,iBAAA;AAAA,SACR;AAAA,OACF;AAAA,MACA,aAAe,EAAA,IAAA;AAAA,KACjB;AAAA,IACA,SAAA;AAAA,GACF,CAAA;AACF;;;;;"}
1
+ {"version":3,"file":"registerPopover.cjs.js","sources":["../src/registerPopover.tsx"],"sourcesContent":["import { PlasmicElement } from \"@plasmicapp/host\";\nimport { mergeProps } from \"@react-aria/utils\";\nimport React from \"react\";\nimport { Popover, PopoverContext } from \"react-aria-components\";\nimport { PlasmicPopoverContext } from \"./contexts\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nexport interface BasePopoverProps extends React.ComponentProps<typeof Popover> {\n className?: string;\n resetClassName?: string;\n}\n\nexport function BasePopover(props: BasePopoverProps) {\n const { resetClassName, ...restProps } = props;\n const isStandalone = !React.useContext(PopoverContext);\n const contextProps = React.useContext(PlasmicPopoverContext);\n const mergedProps = mergeProps(contextProps, restProps, {\n className: `${resetClassName}`,\n });\n\n const triggerRef = React.useRef<any>(null);\n\n const standaloneProps = isStandalone\n ? {\n triggerRef,\n isNonModal: true,\n isOpen: true,\n }\n : {};\n\n return (\n <>\n {isStandalone && <div ref={triggerRef} />}\n <Popover {...mergedProps} {...standaloneProps} />\n </>\n );\n}\n\nexport const POPOVER_COMPONENT_NAME = makeComponentName(\"popover\");\nexport const POPOVER_ARROW_IMG: PlasmicElement = {\n type: \"img\",\n // TODO: Replace with the image of an arrow pointing up, like: https://icon-sets.iconify.design/mdi/triangle/\n src: \"https://static1.plasmic.app/arrow-up.svg\",\n styles: {\n position: \"absolute\",\n top: \"-14px\",\n // center the arrow horizontally on the popover\n left: \"50%\",\n transform: \"translateX(-50%)\",\n width: \"15px\",\n },\n};\n\nexport function registerPopover(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BasePopover>\n) {\n registerComponentHelper(\n loader,\n BasePopover,\n {\n name: POPOVER_COMPONENT_NAME,\n displayName: \"Aria Popover\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerPopover\",\n importName: \"BasePopover\",\n defaultStyles: {\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n padding: \"20px\",\n width: \"300px\",\n backgroundColor: \"#FDE3C3\",\n },\n props: {\n children: {\n type: \"slot\",\n defaultValue: [\n POPOVER_ARROW_IMG,\n {\n type: \"vbox\",\n styles: {\n width: \"stretch\",\n padding: 0,\n gap: \"10px\",\n },\n children: [\n {\n type: \"text\",\n value: \"This is a Popover!\",\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 ],\n },\n offset: {\n type: \"number\",\n displayName: \"Offset\",\n description:\n \"Additional offset applied vertically between the popover and its trigger\",\n defaultValueHint: 0,\n },\n placement: {\n type: \"choice\",\n description:\n \"Default placement of the popover relative to the trigger, if there is enough space\",\n options: [\n \"bottom\",\n \"bottom left\",\n \"bottom right\",\n \"top\",\n \"top left\",\n \"top right\",\n ],\n },\n resetClassName: {\n type: \"themeResetClass\",\n },\n },\n styleSections: true,\n },\n overrides\n );\n}\n"],"names":["React","PopoverContext","PlasmicPopoverContext","mergeProps","Popover","makeComponentName","registerComponentHelper"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { PlasmicElement } from "@plasmicapp/host";
1
2
  import React from "react";
2
3
  import { Popover } from "react-aria-components";
3
4
  import { CodeComponentMetaOverrides, Registerable } from "./utils";
@@ -6,4 +7,6 @@ export interface BasePopoverProps extends React.ComponentProps<typeof Popover> {
6
7
  resetClassName?: string;
7
8
  }
8
9
  export declare function BasePopover(props: BasePopoverProps): React.JSX.Element;
10
+ export declare const POPOVER_COMPONENT_NAME: string;
11
+ export declare const POPOVER_ARROW_IMG: PlasmicElement;
9
12
  export declare function registerPopover(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BasePopover>): void;
@@ -1,8 +1,8 @@
1
1
  import { mergeProps } from '@react-aria/utils';
2
2
  import React from 'react';
3
3
  import { PopoverContext, Popover } from 'react-aria-components';
4
- import { d as PlasmicPopoverContext } from './contexts-8a2a183b.esm.js';
5
- import { r as registerComponentHelper } from './utils-cf2632c9.esm.js';
4
+ import { g as PlasmicPopoverContext } from './contexts-9475faad.esm.js';
5
+ import { a as makeComponentName, r as registerComponentHelper } from './utils-5051df41.esm.js';
6
6
  import '@plasmicapp/host/registerComponent';
7
7
 
8
8
  var __defProp = Object.defineProperty;
@@ -48,18 +48,68 @@ function BasePopover(props) {
48
48
  } : {};
49
49
  return /* @__PURE__ */ React.createElement(React.Fragment, null, isStandalone && /* @__PURE__ */ React.createElement("div", { ref: triggerRef }), /* @__PURE__ */ React.createElement(Popover, __spreadValues(__spreadValues({}, mergedProps), standaloneProps)));
50
50
  }
51
+ const POPOVER_COMPONENT_NAME = makeComponentName("popover");
52
+ const POPOVER_ARROW_IMG = {
53
+ type: "img",
54
+ // TODO: Replace with the image of an arrow pointing up, like: https://icon-sets.iconify.design/mdi/triangle/
55
+ src: "https://static1.plasmic.app/arrow-up.svg",
56
+ styles: {
57
+ position: "absolute",
58
+ top: "-14px",
59
+ // center the arrow horizontally on the popover
60
+ left: "50%",
61
+ transform: "translateX(-50%)",
62
+ width: "15px"
63
+ }
64
+ };
51
65
  function registerPopover(loader, overrides) {
52
66
  registerComponentHelper(
53
67
  loader,
54
68
  BasePopover,
55
69
  {
56
- name: "plasmic-react-aria-popover",
70
+ name: POPOVER_COMPONENT_NAME,
57
71
  displayName: "Aria Popover",
58
72
  importPath: "@plasmicpkgs/react-aria/skinny/registerPopover",
59
73
  importName: "BasePopover",
74
+ defaultStyles: {
75
+ borderWidth: "1px",
76
+ borderStyle: "solid",
77
+ borderColor: "black",
78
+ padding: "20px",
79
+ width: "300px",
80
+ backgroundColor: "#FDE3C3"
81
+ },
60
82
  props: {
61
83
  children: {
62
- type: "slot"
84
+ type: "slot",
85
+ defaultValue: [
86
+ POPOVER_ARROW_IMG,
87
+ {
88
+ type: "vbox",
89
+ styles: {
90
+ width: "stretch",
91
+ padding: 0,
92
+ gap: "10px"
93
+ },
94
+ children: [
95
+ {
96
+ type: "text",
97
+ value: "This is a Popover!"
98
+ },
99
+ {
100
+ type: "text",
101
+ value: "You can put anything you can imagine here!",
102
+ styles: {
103
+ fontWeight: 500
104
+ }
105
+ },
106
+ {
107
+ type: "text",
108
+ value: "Use it in a `Aria Dialog Trigger` component to trigger it on a button click!"
109
+ }
110
+ ]
111
+ }
112
+ ]
63
113
  },
64
114
  offset: {
65
115
  type: "number",
@@ -89,5 +139,5 @@ function registerPopover(loader, overrides) {
89
139
  );
90
140
  }
91
141
 
92
- export { BasePopover, registerPopover };
142
+ export { BasePopover, POPOVER_ARROW_IMG, POPOVER_COMPONENT_NAME, registerPopover };
93
143
  //# sourceMappingURL=registerPopover.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registerPopover.esm.js","sources":["../src/registerPopover.tsx"],"sourcesContent":["import { mergeProps } from \"@react-aria/utils\";\nimport React from \"react\";\nimport { Popover, PopoverContext } from \"react-aria-components\";\nimport { PlasmicPopoverContext } from \"./contexts\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nexport interface BasePopoverProps extends React.ComponentProps<typeof Popover> {\n className?: string;\n resetClassName?: string;\n}\n\nexport function BasePopover(props: BasePopoverProps) {\n const { resetClassName, ...restProps } = props;\n const isStandalone = !React.useContext(PopoverContext);\n const contextProps = React.useContext(PlasmicPopoverContext);\n const mergedProps = mergeProps(contextProps, restProps, {\n className: `${resetClassName}`,\n });\n\n const triggerRef = React.useRef<any>(null);\n\n const standaloneProps = isStandalone\n ? {\n triggerRef,\n isNonModal: true,\n isOpen: true,\n }\n : {};\n\n return (\n <>\n {isStandalone && <div ref={triggerRef} />}\n <Popover {...mergedProps} {...standaloneProps} />\n </>\n );\n}\n\nexport function registerPopover(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BasePopover>\n) {\n registerComponentHelper(\n loader,\n BasePopover,\n {\n name: \"plasmic-react-aria-popover\",\n displayName: \"Aria Popover\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerPopover\",\n importName: \"BasePopover\",\n props: {\n children: {\n type: \"slot\",\n },\n offset: {\n type: \"number\",\n displayName: \"Offset\",\n description:\n \"Additional offset applied vertically between the popover and its trigger\",\n defaultValueHint: 0,\n },\n placement: {\n type: \"choice\",\n description:\n \"Default placement of the popover relative to the trigger, if there is enough space\",\n options: [\n \"bottom\",\n \"bottom left\",\n \"bottom right\",\n \"top\",\n \"top left\",\n \"top right\",\n ],\n },\n resetClassName: {\n type: \"themeResetClass\",\n },\n },\n styleSections: true,\n },\n overrides\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeO,SAAS,YAAY,KAAyB,EAAA;AACnD,EAAA,MAAyC,YAAjC,EAhBV,cAAA,EAAA,GAgB2C,EAAd,EAAA,SAAA,GAAA,SAAA,CAAc,IAAd,CAAnB,gBAAA,CAAA,CAAA,CAAA;AACR,EAAA,MAAM,YAAe,GAAA,CAAC,KAAM,CAAA,UAAA,CAAW,cAAc,CAAA,CAAA;AACrD,EAAM,MAAA,YAAA,GAAe,KAAM,CAAA,UAAA,CAAW,qBAAqB,CAAA,CAAA;AAC3D,EAAM,MAAA,WAAA,GAAc,UAAW,CAAA,YAAA,EAAc,SAAW,EAAA;AAAA,IACtD,WAAW,CAAG,EAAA,cAAA,CAAA,CAAA;AAAA,GACf,CAAA,CAAA;AAED,EAAM,MAAA,UAAA,GAAa,KAAM,CAAA,MAAA,CAAY,IAAI,CAAA,CAAA;AAEzC,EAAA,MAAM,kBAAkB,YACpB,GAAA;AAAA,IACE,UAAA;AAAA,IACA,UAAY,EAAA,IAAA;AAAA,IACZ,MAAQ,EAAA,IAAA;AAAA,MAEV,EAAC,CAAA;AAEL,EACE,uBAAA,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,EACG,YAAgB,oBAAA,KAAA,CAAA,aAAA,CAAC,KAAI,EAAA,EAAA,GAAA,EAAK,UAAY,EAAA,CAAA,kBACtC,KAAA,CAAA,aAAA,CAAA,OAAA,EAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EAAY,WAAiB,CAAA,EAAA,eAAA,CAAiB,CACjD,CAAA,CAAA;AAEJ,CAAA;AAEgB,SAAA,eAAA,CACd,QACA,SACA,EAAA;AACA,EAAA,uBAAA;AAAA,IACE,MAAA;AAAA,IACA,WAAA;AAAA,IACA;AAAA,MACE,IAAM,EAAA,4BAAA;AAAA,MACN,WAAa,EAAA,cAAA;AAAA,MACb,UAAY,EAAA,gDAAA;AAAA,MACZ,UAAY,EAAA,aAAA;AAAA,MACZ,KAAO,EAAA;AAAA,QACL,QAAU,EAAA;AAAA,UACR,IAAM,EAAA,MAAA;AAAA,SACR;AAAA,QACA,MAAQ,EAAA;AAAA,UACN,IAAM,EAAA,QAAA;AAAA,UACN,WAAa,EAAA,QAAA;AAAA,UACb,WACE,EAAA,0EAAA;AAAA,UACF,gBAAkB,EAAA,CAAA;AAAA,SACpB;AAAA,QACA,SAAW,EAAA;AAAA,UACT,IAAM,EAAA,QAAA;AAAA,UACN,WACE,EAAA,oFAAA;AAAA,UACF,OAAS,EAAA;AAAA,YACP,QAAA;AAAA,YACA,aAAA;AAAA,YACA,cAAA;AAAA,YACA,KAAA;AAAA,YACA,UAAA;AAAA,YACA,WAAA;AAAA,WACF;AAAA,SACF;AAAA,QACA,cAAgB,EAAA;AAAA,UACd,IAAM,EAAA,iBAAA;AAAA,SACR;AAAA,OACF;AAAA,MACA,aAAe,EAAA,IAAA;AAAA,KACjB;AAAA,IACA,SAAA;AAAA,GACF,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"registerPopover.esm.js","sources":["../src/registerPopover.tsx"],"sourcesContent":["import { PlasmicElement } from \"@plasmicapp/host\";\nimport { mergeProps } from \"@react-aria/utils\";\nimport React from \"react\";\nimport { Popover, PopoverContext } from \"react-aria-components\";\nimport { PlasmicPopoverContext } from \"./contexts\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nexport interface BasePopoverProps extends React.ComponentProps<typeof Popover> {\n className?: string;\n resetClassName?: string;\n}\n\nexport function BasePopover(props: BasePopoverProps) {\n const { resetClassName, ...restProps } = props;\n const isStandalone = !React.useContext(PopoverContext);\n const contextProps = React.useContext(PlasmicPopoverContext);\n const mergedProps = mergeProps(contextProps, restProps, {\n className: `${resetClassName}`,\n });\n\n const triggerRef = React.useRef<any>(null);\n\n const standaloneProps = isStandalone\n ? {\n triggerRef,\n isNonModal: true,\n isOpen: true,\n }\n : {};\n\n return (\n <>\n {isStandalone && <div ref={triggerRef} />}\n <Popover {...mergedProps} {...standaloneProps} />\n </>\n );\n}\n\nexport const POPOVER_COMPONENT_NAME = makeComponentName(\"popover\");\nexport const POPOVER_ARROW_IMG: PlasmicElement = {\n type: \"img\",\n // TODO: Replace with the image of an arrow pointing up, like: https://icon-sets.iconify.design/mdi/triangle/\n src: \"https://static1.plasmic.app/arrow-up.svg\",\n styles: {\n position: \"absolute\",\n top: \"-14px\",\n // center the arrow horizontally on the popover\n left: \"50%\",\n transform: \"translateX(-50%)\",\n width: \"15px\",\n },\n};\n\nexport function registerPopover(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BasePopover>\n) {\n registerComponentHelper(\n loader,\n BasePopover,\n {\n name: POPOVER_COMPONENT_NAME,\n displayName: \"Aria Popover\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerPopover\",\n importName: \"BasePopover\",\n defaultStyles: {\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n padding: \"20px\",\n width: \"300px\",\n backgroundColor: \"#FDE3C3\",\n },\n props: {\n children: {\n type: \"slot\",\n defaultValue: [\n POPOVER_ARROW_IMG,\n {\n type: \"vbox\",\n styles: {\n width: \"stretch\",\n padding: 0,\n gap: \"10px\",\n },\n children: [\n {\n type: \"text\",\n value: \"This is a Popover!\",\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 ],\n },\n offset: {\n type: \"number\",\n displayName: \"Offset\",\n description:\n \"Additional offset applied vertically between the popover and its trigger\",\n defaultValueHint: 0,\n },\n placement: {\n type: \"choice\",\n description:\n \"Default placement of the popover relative to the trigger, if there is enough space\",\n options: [\n \"bottom\",\n \"bottom left\",\n \"bottom right\",\n \"top\",\n \"top left\",\n \"top right\",\n ],\n },\n resetClassName: {\n type: \"themeResetClass\",\n },\n },\n styleSections: true,\n },\n overrides\n );\n}\n"],"names":[],"mappings":"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"}
@@ -4,8 +4,10 @@ var React = require('react');
4
4
  var reactAriaComponents = require('react-aria-components');
5
5
  var ErrorBoundary = require('./ErrorBoundary-e9b86248.cjs.js');
6
6
  var common = require('./common-e74a9214.cjs.js');
7
+ var contexts = require('./contexts-b21f6b12.cjs.js');
7
8
  var interactionVariantUtils = require('./interaction-variant-utils-244b74fb.cjs.js');
8
- var utils = require('./utils-18b2465b.cjs.js');
9
+ var registerLabel = require('./registerLabel.cjs.js');
10
+ var utils = require('./utils-745db876.cjs.js');
9
11
  require('@plasmicapp/host/registerComponent');
10
12
 
11
13
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
@@ -53,7 +55,8 @@ const { interactionVariants, withObservedValues } = interactionVariantUtils.pick
53
55
  RADIO_INTERACTION_VARIANTS
54
56
  );
55
57
  function BaseRadio(props) {
56
- const _a = props, { children, updateInteractionVariant } = _a, rest = __objRest(_a, ["children", "updateInteractionVariant"]);
58
+ const _a = props, { children, updateInteractionVariant, setControlContextData } = _a, rest = __objRest(_a, ["children", "updateInteractionVariant", "setControlContextData"]);
59
+ const contextProps = React__default.default.useContext(contexts.PlasmicRadioGroupContext);
57
60
  const radio = /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Radio, __spreadValues({}, rest), ({ isHovered, isPressed, isFocused, isFocusVisible }) => withObservedValues(
58
61
  children,
59
62
  {
@@ -64,10 +67,46 @@ function BaseRadio(props) {
64
67
  },
65
68
  updateInteractionVariant
66
69
  ));
70
+ const isStandalone = !contextProps;
71
+ setControlContextData == null ? void 0 : setControlContextData({
72
+ isStandalone
73
+ });
67
74
  return /* @__PURE__ */ React__default.default.createElement(ErrorBoundary.ErrorBoundary, { fallback: /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.RadioGroup, null, radio) }, radio);
68
75
  }
76
+ const makeDefaultRadioChildren = (label) => ({
77
+ type: "hbox",
78
+ styles: {
79
+ display: "flex",
80
+ alignItems: "center",
81
+ gap: "10px",
82
+ padding: 0
83
+ },
84
+ children: [
85
+ {
86
+ type: "box",
87
+ styles: {
88
+ width: "7px",
89
+ height: "7px",
90
+ borderRadius: "100%",
91
+ borderWidth: "1px",
92
+ borderStyle: "solid",
93
+ borderColor: "black"
94
+ }
95
+ },
96
+ {
97
+ type: "component",
98
+ name: registerLabel.LABEL_COMPONENT_NAME,
99
+ props: {
100
+ children: {
101
+ type: "text",
102
+ value: label
103
+ }
104
+ }
105
+ }
106
+ ]
107
+ });
69
108
  function registerRadio(loader, overrides) {
70
- utils.registerComponentHelper(
109
+ return utils.registerComponentHelper(
71
110
  loader,
72
111
  BaseRadio,
73
112
  {
@@ -79,9 +118,13 @@ function registerRadio(loader, overrides) {
79
118
  props: __spreadProps(__spreadValues({}, common.getCommonInputProps("radio", [
80
119
  "isDisabled",
81
120
  "autoFocus",
82
- "aria-label",
83
- "children"
121
+ "aria-label"
84
122
  ])), {
123
+ children: {
124
+ type: "slot",
125
+ mergeWithParent: true,
126
+ defaultValue: makeDefaultRadioChildren("Radio")
127
+ },
85
128
  value: {
86
129
  type: "string",
87
130
  description: "The value of the input element, used when submitting an HTML form."
@@ -95,7 +138,8 @@ function registerRadio(loader, overrides) {
95
138
  isSelected: {
96
139
  type: "readonly",
97
140
  onChangeProp: "onSelectionChange",
98
- variableType: "boolean"
141
+ variableType: "boolean",
142
+ hidden: (_ps, ctx) => !(ctx == null ? void 0 : ctx.isStandalone)
99
143
  }
100
144
  },
101
145
  trapsFocus: true
@@ -105,5 +149,6 @@ function registerRadio(loader, overrides) {
105
149
  }
106
150
 
107
151
  exports.BaseRadio = BaseRadio;
152
+ exports.makeDefaultRadioChildren = makeDefaultRadioChildren;
108
153
  exports.registerRadio = registerRadio;
109
154
  //# sourceMappingURL=registerRadio.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registerRadio.cjs.js","sources":["../src/registerRadio.tsx"],"sourcesContent":["import React from \"react\";\nimport type { RadioProps } from \"react-aria-components\";\nimport { Radio, RadioGroup } from \"react-aria-components\";\nimport ErrorBoundary from \"./ErrorBoundary\";\nimport { getCommonInputProps } from \"./common\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst RADIO_INTERACTION_VARIANTS = [\n \"hovered\" as const,\n \"pressed\" as const,\n \"focused\" as const,\n \"focusVisible\" as const,\n];\n\nexport interface BaseRadioProps extends RadioProps {\n children: React.ReactNode;\n isSelected: boolean;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof RADIO_INTERACTION_VARIANTS\n >;\n}\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n RADIO_INTERACTION_VARIANTS\n);\n\nexport function BaseRadio(props: BaseRadioProps) {\n const { children, updateInteractionVariant, ...rest } = props;\n\n const radio = (\n <Radio {...rest}>\n {({ isHovered, isPressed, isFocused, isFocusVisible }) =>\n withObservedValues(\n children,\n {\n hovered: isHovered,\n pressed: isPressed,\n focused: isFocused,\n focusVisible: isFocusVisible,\n },\n updateInteractionVariant\n )\n }\n </Radio>\n );\n\n return (\n <ErrorBoundary fallback={<RadioGroup>{radio}</RadioGroup>}>\n {radio}\n </ErrorBoundary>\n );\n}\n\nexport function registerRadio(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseRadio>\n) {\n 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 interactionVariants,\n props: {\n ...getCommonInputProps<BaseRadioProps>(\"radio\", [\n \"isDisabled\",\n \"autoFocus\",\n \"aria-label\",\n \"children\",\n ]),\n value: {\n type: \"string\",\n description:\n \"The value of the input element, used when submitting an HTML form.\",\n },\n onSelectionChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isSelected\", type: \"boolean\" }],\n },\n },\n states: {\n isSelected: {\n type: \"readonly\",\n onChangeProp: \"onSelectionChange\",\n variableType: \"boolean\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["pickAriaComponentVariants","React","Radio","ErrorBoundary","RadioGroup","registerComponentHelper","makeComponentName","getCommonInputProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,MAAM,0BAA6B,GAAA;AAAA,EACjC,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,cAAA;AACF,CAAA,CAAA;AAYA,MAAM,EAAE,mBAAqB,EAAA,kBAAA,EAAuB,GAAAA,iDAAA;AAAA,EAClD,0BAAA;AACF,CAAA,CAAA;AAEO,SAAS,UAAU,KAAuB,EAAA;AAC/C,EAAwD,MAAA,EAAA,GAAA,KAAA,EAAhD,YAAU,wBAtCpB,EAAA,GAsC0D,IAAT,IAAS,GAAA,SAAA,CAAA,EAAA,EAAT,CAAvC,UAAU,EAAA,0BAAA,CAAA,CAAA,CAAA;AAElB,EAAM,MAAA,KAAA,mBACHC,sBAAA,CAAA,aAAA,CAAAC,yBAAA,EAAA,cAAA,CAAA,EAAA,EAAU,IACR,CAAA,EAAA,CAAC,EAAE,SAAW,EAAA,SAAA,EAAW,SAAW,EAAA,cAAA,EACnC,KAAA,kBAAA;AAAA,IACE,QAAA;AAAA,IACA;AAAA,MACE,OAAS,EAAA,SAAA;AAAA,MACT,OAAS,EAAA,SAAA;AAAA,MACT,OAAS,EAAA,SAAA;AAAA,MACT,YAAc,EAAA,cAAA;AAAA,KAChB;AAAA,IACA,wBAAA;AAAA,GAGN,CAAA,CAAA;AAGF,EAAA,4DACGC,2BAAc,EAAA,EAAA,QAAA,uDAAWC,8BAAY,EAAA,IAAA,EAAA,KAAM,KACzC,KACH,CAAA,CAAA;AAEJ,CAAA;AAEgB,SAAA,aAAA,CACd,QACA,SACA,EAAA;AACA,EAAAC,6BAAA;AAAA,IACE,MAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,MACE,IAAA,EAAMC,wBAAkB,OAAO,CAAA;AAAA,MAC/B,WAAa,EAAA,YAAA;AAAA,MACb,UAAY,EAAA,8CAAA;AAAA,MACZ,UAAY,EAAA,WAAA;AAAA,MACZ,mBAAA;AAAA,MACA,KAAA,EAAO,aACF,CAAA,cAAA,CAAA,EAAA,EAAAC,0BAAA,CAAoC,OAAS,EAAA;AAAA,QAC9C,YAAA;AAAA,QACA,WAAA;AAAA,QACA,YAAA;AAAA,QACA,UAAA;AAAA,OACD,CANI,CAAA,EAAA;AAAA,QAOL,KAAO,EAAA;AAAA,UACL,IAAM,EAAA,QAAA;AAAA,UACN,WACE,EAAA,oEAAA;AAAA,SACJ;AAAA,QACA,iBAAmB,EAAA;AAAA,UACjB,IAAM,EAAA,cAAA;AAAA,UACN,UAAU,CAAC,EAAE,MAAM,YAAc,EAAA,IAAA,EAAM,WAAW,CAAA;AAAA,SACpD;AAAA,OACF,CAAA;AAAA,MACA,MAAQ,EAAA;AAAA,QACN,UAAY,EAAA;AAAA,UACV,IAAM,EAAA,UAAA;AAAA,UACN,YAAc,EAAA,mBAAA;AAAA,UACd,YAAc,EAAA,SAAA;AAAA,SAChB;AAAA,OACF;AAAA,MACA,UAAY,EAAA,IAAA;AAAA,KACd;AAAA,IACA,SAAA;AAAA,GACF,CAAA;AACF;;;;;"}
1
+ {"version":3,"file":"registerRadio.cjs.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 ErrorBoundary from \"./ErrorBoundary\";\nimport { getCommonInputProps } from \"./common\";\nimport { PlasmicRadioGroupContext } from \"./contexts\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport {\n BaseControlContextData,\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst RADIO_INTERACTION_VARIANTS = [\n \"hovered\" as const,\n \"pressed\" as const,\n \"focused\" as const,\n \"focusVisible\" as const,\n];\n\nexport interface BaseRadioProps extends RadioProps {\n children: React.ReactNode;\n isSelected: boolean;\n setControlContextData?: (ctxData: BaseControlContextData) => void;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof RADIO_INTERACTION_VARIANTS\n >;\n}\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n RADIO_INTERACTION_VARIANTS\n);\n\nexport function BaseRadio(props: BaseRadioProps) {\n const { children, updateInteractionVariant, setControlContextData, ...rest } =\n props;\n const contextProps = React.useContext(PlasmicRadioGroupContext);\n\n const radio = (\n <Radio {...rest}>\n {({ isHovered, isPressed, isFocused, isFocusVisible }) =>\n withObservedValues(\n children,\n {\n hovered: isHovered,\n pressed: isPressed,\n focused: isFocused,\n focusVisible: isFocusVisible,\n },\n updateInteractionVariant\n )\n }\n </Radio>\n );\n\n const isStandalone = !contextProps;\n\n setControlContextData?.({\n isStandalone,\n });\n\n return (\n <ErrorBoundary fallback={<RadioGroup>{radio}</RadioGroup>}>\n {radio}\n </ErrorBoundary>\n );\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 interactionVariants,\n props: {\n ...getCommonInputProps<BaseRadioProps>(\"radio\", [\n \"isDisabled\",\n \"autoFocus\",\n \"aria-label\",\n ]),\n children: {\n type: \"slot\",\n mergeWithParent: true as any,\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 },\n onSelectionChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isSelected\", type: \"boolean\" }],\n },\n },\n states: {\n isSelected: {\n type: \"readonly\",\n onChangeProp: \"onSelectionChange\",\n variableType: \"boolean\",\n hidden: (_ps: BaseRadioProps, ctx: BaseControlContextData | null) =>\n !ctx?.isStandalone,\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["pickAriaComponentVariants","React","PlasmicRadioGroupContext","Radio","ErrorBoundary","RadioGroup","LABEL_COMPONENT_NAME","registerComponentHelper","makeComponentName","getCommonInputProps"],"mappings":"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"}
@@ -1,13 +1,16 @@
1
+ import { PlasmicElement } from "@plasmicapp/host";
1
2
  import React from "react";
2
3
  import type { RadioProps } from "react-aria-components";
3
4
  import { UpdateInteractionVariant } from "./interaction-variant-utils";
4
- import { CodeComponentMetaOverrides, Registerable } from "./utils";
5
+ import { BaseControlContextData, CodeComponentMetaOverrides, Registerable } from "./utils";
5
6
  declare const RADIO_INTERACTION_VARIANTS: ("hovered" | "pressed" | "focused" | "focusVisible")[];
6
7
  export interface BaseRadioProps extends RadioProps {
7
8
  children: React.ReactNode;
8
9
  isSelected: boolean;
10
+ setControlContextData?: (ctxData: BaseControlContextData) => void;
9
11
  updateInteractionVariant?: UpdateInteractionVariant<typeof RADIO_INTERACTION_VARIANTS>;
10
12
  }
11
13
  export declare function BaseRadio(props: BaseRadioProps): React.JSX.Element;
12
- export declare function registerRadio(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseRadio>): void;
14
+ export declare const makeDefaultRadioChildren: (label: string) => PlasmicElement;
15
+ export declare function registerRadio(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseRadio>): import("@plasmicapp/host").CodeComponentMeta<BaseRadioProps>;
13
16
  export {};
@@ -2,8 +2,10 @@ import React from 'react';
2
2
  import { Radio, RadioGroup } from 'react-aria-components';
3
3
  import { E as ErrorBoundary } from './ErrorBoundary-c6b111d3.esm.js';
4
4
  import { g as getCommonInputProps } from './common-52c26d37.esm.js';
5
+ import { d as PlasmicRadioGroupContext } from './contexts-9475faad.esm.js';
5
6
  import { p as pickAriaComponentVariants } from './interaction-variant-utils-c44a9d56.esm.js';
6
- import { r as registerComponentHelper, m as makeComponentName } from './utils-cf2632c9.esm.js';
7
+ import { LABEL_COMPONENT_NAME } from './registerLabel.esm.js';
8
+ import { r as registerComponentHelper, a as makeComponentName } from './utils-5051df41.esm.js';
7
9
  import '@plasmicapp/host/registerComponent';
8
10
 
9
11
  var __defProp = Object.defineProperty;
@@ -47,7 +49,8 @@ const { interactionVariants, withObservedValues } = pickAriaComponentVariants(
47
49
  RADIO_INTERACTION_VARIANTS
48
50
  );
49
51
  function BaseRadio(props) {
50
- const _a = props, { children, updateInteractionVariant } = _a, rest = __objRest(_a, ["children", "updateInteractionVariant"]);
52
+ const _a = props, { children, updateInteractionVariant, setControlContextData } = _a, rest = __objRest(_a, ["children", "updateInteractionVariant", "setControlContextData"]);
53
+ const contextProps = React.useContext(PlasmicRadioGroupContext);
51
54
  const radio = /* @__PURE__ */ React.createElement(Radio, __spreadValues({}, rest), ({ isHovered, isPressed, isFocused, isFocusVisible }) => withObservedValues(
52
55
  children,
53
56
  {
@@ -58,10 +61,46 @@ function BaseRadio(props) {
58
61
  },
59
62
  updateInteractionVariant
60
63
  ));
64
+ const isStandalone = !contextProps;
65
+ setControlContextData == null ? void 0 : setControlContextData({
66
+ isStandalone
67
+ });
61
68
  return /* @__PURE__ */ React.createElement(ErrorBoundary, { fallback: /* @__PURE__ */ React.createElement(RadioGroup, null, radio) }, radio);
62
69
  }
70
+ const makeDefaultRadioChildren = (label) => ({
71
+ type: "hbox",
72
+ styles: {
73
+ display: "flex",
74
+ alignItems: "center",
75
+ gap: "10px",
76
+ padding: 0
77
+ },
78
+ children: [
79
+ {
80
+ type: "box",
81
+ styles: {
82
+ width: "7px",
83
+ height: "7px",
84
+ borderRadius: "100%",
85
+ borderWidth: "1px",
86
+ borderStyle: "solid",
87
+ borderColor: "black"
88
+ }
89
+ },
90
+ {
91
+ type: "component",
92
+ name: LABEL_COMPONENT_NAME,
93
+ props: {
94
+ children: {
95
+ type: "text",
96
+ value: label
97
+ }
98
+ }
99
+ }
100
+ ]
101
+ });
63
102
  function registerRadio(loader, overrides) {
64
- registerComponentHelper(
103
+ return registerComponentHelper(
65
104
  loader,
66
105
  BaseRadio,
67
106
  {
@@ -73,9 +112,13 @@ function registerRadio(loader, overrides) {
73
112
  props: __spreadProps(__spreadValues({}, getCommonInputProps("radio", [
74
113
  "isDisabled",
75
114
  "autoFocus",
76
- "aria-label",
77
- "children"
115
+ "aria-label"
78
116
  ])), {
117
+ children: {
118
+ type: "slot",
119
+ mergeWithParent: true,
120
+ defaultValue: makeDefaultRadioChildren("Radio")
121
+ },
79
122
  value: {
80
123
  type: "string",
81
124
  description: "The value of the input element, used when submitting an HTML form."
@@ -89,7 +132,8 @@ function registerRadio(loader, overrides) {
89
132
  isSelected: {
90
133
  type: "readonly",
91
134
  onChangeProp: "onSelectionChange",
92
- variableType: "boolean"
135
+ variableType: "boolean",
136
+ hidden: (_ps, ctx) => !(ctx == null ? void 0 : ctx.isStandalone)
93
137
  }
94
138
  },
95
139
  trapsFocus: true
@@ -98,5 +142,5 @@ function registerRadio(loader, overrides) {
98
142
  );
99
143
  }
100
144
 
101
- export { BaseRadio, registerRadio };
145
+ export { BaseRadio, makeDefaultRadioChildren, registerRadio };
102
146
  //# sourceMappingURL=registerRadio.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registerRadio.esm.js","sources":["../src/registerRadio.tsx"],"sourcesContent":["import React from \"react\";\nimport type { RadioProps } from \"react-aria-components\";\nimport { Radio, RadioGroup } from \"react-aria-components\";\nimport ErrorBoundary from \"./ErrorBoundary\";\nimport { getCommonInputProps } from \"./common\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst RADIO_INTERACTION_VARIANTS = [\n \"hovered\" as const,\n \"pressed\" as const,\n \"focused\" as const,\n \"focusVisible\" as const,\n];\n\nexport interface BaseRadioProps extends RadioProps {\n children: React.ReactNode;\n isSelected: boolean;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof RADIO_INTERACTION_VARIANTS\n >;\n}\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n RADIO_INTERACTION_VARIANTS\n);\n\nexport function BaseRadio(props: BaseRadioProps) {\n const { children, updateInteractionVariant, ...rest } = props;\n\n const radio = (\n <Radio {...rest}>\n {({ isHovered, isPressed, isFocused, isFocusVisible }) =>\n withObservedValues(\n children,\n {\n hovered: isHovered,\n pressed: isPressed,\n focused: isFocused,\n focusVisible: isFocusVisible,\n },\n updateInteractionVariant\n )\n }\n </Radio>\n );\n\n return (\n <ErrorBoundary fallback={<RadioGroup>{radio}</RadioGroup>}>\n {radio}\n </ErrorBoundary>\n );\n}\n\nexport function registerRadio(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseRadio>\n) {\n 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 interactionVariants,\n props: {\n ...getCommonInputProps<BaseRadioProps>(\"radio\", [\n \"isDisabled\",\n \"autoFocus\",\n \"aria-label\",\n \"children\",\n ]),\n value: {\n type: \"string\",\n description:\n \"The value of the input element, used when submitting an HTML form.\",\n },\n onSelectionChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isSelected\", type: \"boolean\" }],\n },\n },\n states: {\n isSelected: {\n type: \"readonly\",\n onChangeProp: \"onSelectionChange\",\n variableType: \"boolean\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBA,MAAM,0BAA6B,GAAA;AAAA,EACjC,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,cAAA;AACF,CAAA,CAAA;AAYA,MAAM,EAAE,mBAAqB,EAAA,kBAAA,EAAuB,GAAA,yBAAA;AAAA,EAClD,0BAAA;AACF,CAAA,CAAA;AAEO,SAAS,UAAU,KAAuB,EAAA;AAC/C,EAAwD,MAAA,EAAA,GAAA,KAAA,EAAhD,YAAU,wBAtCpB,EAAA,GAsC0D,IAAT,IAAS,GAAA,SAAA,CAAA,EAAA,EAAT,CAAvC,UAAU,EAAA,0BAAA,CAAA,CAAA,CAAA;AAElB,EAAM,MAAA,KAAA,mBACH,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,cAAA,CAAA,EAAA,EAAU,IACR,CAAA,EAAA,CAAC,EAAE,SAAW,EAAA,SAAA,EAAW,SAAW,EAAA,cAAA,EACnC,KAAA,kBAAA;AAAA,IACE,QAAA;AAAA,IACA;AAAA,MACE,OAAS,EAAA,SAAA;AAAA,MACT,OAAS,EAAA,SAAA;AAAA,MACT,OAAS,EAAA,SAAA;AAAA,MACT,YAAc,EAAA,cAAA;AAAA,KAChB;AAAA,IACA,wBAAA;AAAA,GAGN,CAAA,CAAA;AAGF,EAAA,2CACG,aAAc,EAAA,EAAA,QAAA,sCAAW,UAAY,EAAA,IAAA,EAAA,KAAM,KACzC,KACH,CAAA,CAAA;AAEJ,CAAA;AAEgB,SAAA,aAAA,CACd,QACA,SACA,EAAA;AACA,EAAA,uBAAA;AAAA,IACE,MAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,MACE,IAAA,EAAM,kBAAkB,OAAO,CAAA;AAAA,MAC/B,WAAa,EAAA,YAAA;AAAA,MACb,UAAY,EAAA,8CAAA;AAAA,MACZ,UAAY,EAAA,WAAA;AAAA,MACZ,mBAAA;AAAA,MACA,KAAA,EAAO,aACF,CAAA,cAAA,CAAA,EAAA,EAAA,mBAAA,CAAoC,OAAS,EAAA;AAAA,QAC9C,YAAA;AAAA,QACA,WAAA;AAAA,QACA,YAAA;AAAA,QACA,UAAA;AAAA,OACD,CANI,CAAA,EAAA;AAAA,QAOL,KAAO,EAAA;AAAA,UACL,IAAM,EAAA,QAAA;AAAA,UACN,WACE,EAAA,oEAAA;AAAA,SACJ;AAAA,QACA,iBAAmB,EAAA;AAAA,UACjB,IAAM,EAAA,cAAA;AAAA,UACN,UAAU,CAAC,EAAE,MAAM,YAAc,EAAA,IAAA,EAAM,WAAW,CAAA;AAAA,SACpD;AAAA,OACF,CAAA;AAAA,MACA,MAAQ,EAAA;AAAA,QACN,UAAY,EAAA;AAAA,UACV,IAAM,EAAA,UAAA;AAAA,UACN,YAAc,EAAA,mBAAA;AAAA,UACd,YAAc,EAAA,SAAA;AAAA,SAChB;AAAA,OACF;AAAA,MACA,UAAY,EAAA,IAAA;AAAA,KACd;AAAA,IACA,SAAA;AAAA,GACF,CAAA;AACF;;;;"}
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 ErrorBoundary from \"./ErrorBoundary\";\nimport { getCommonInputProps } from \"./common\";\nimport { PlasmicRadioGroupContext } from \"./contexts\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport {\n BaseControlContextData,\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst RADIO_INTERACTION_VARIANTS = [\n \"hovered\" as const,\n \"pressed\" as const,\n \"focused\" as const,\n \"focusVisible\" as const,\n];\n\nexport interface BaseRadioProps extends RadioProps {\n children: React.ReactNode;\n isSelected: boolean;\n setControlContextData?: (ctxData: BaseControlContextData) => void;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof RADIO_INTERACTION_VARIANTS\n >;\n}\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n RADIO_INTERACTION_VARIANTS\n);\n\nexport function BaseRadio(props: BaseRadioProps) {\n const { children, updateInteractionVariant, setControlContextData, ...rest } =\n props;\n const contextProps = React.useContext(PlasmicRadioGroupContext);\n\n const radio = (\n <Radio {...rest}>\n {({ isHovered, isPressed, isFocused, isFocusVisible }) =>\n withObservedValues(\n children,\n {\n hovered: isHovered,\n pressed: isPressed,\n focused: isFocused,\n focusVisible: isFocusVisible,\n },\n updateInteractionVariant\n )\n }\n </Radio>\n );\n\n const isStandalone = !contextProps;\n\n setControlContextData?.({\n isStandalone,\n });\n\n return (\n <ErrorBoundary fallback={<RadioGroup>{radio}</RadioGroup>}>\n {radio}\n </ErrorBoundary>\n );\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 interactionVariants,\n props: {\n ...getCommonInputProps<BaseRadioProps>(\"radio\", [\n \"isDisabled\",\n \"autoFocus\",\n \"aria-label\",\n ]),\n children: {\n type: \"slot\",\n mergeWithParent: true as any,\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 },\n onSelectionChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isSelected\", type: \"boolean\" }],\n },\n },\n states: {\n isSelected: {\n type: \"readonly\",\n onChangeProp: \"onSelectionChange\",\n variableType: \"boolean\",\n hidden: (_ps: BaseRadioProps, ctx: BaseControlContextData | null) =>\n !ctx?.isStandalone,\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":[],"mappings":"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"}