@plasmicpkgs/react-aria 0.0.24 → 0.0.26

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 (104) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/contexts.d.ts +1 -1
  3. package/dist/interaction-variant-utils.d.ts +31 -0
  4. package/dist/react-aria.esm.js +308 -215
  5. package/dist/react-aria.esm.js.map +1 -1
  6. package/dist/react-aria.js +307 -214
  7. package/dist/react-aria.js.map +1 -1
  8. package/dist/registerButton.d.ts +4 -1
  9. package/dist/registerCheckbox.d.ts +4 -2
  10. package/dist/registerInput.d.ts +7 -1
  11. package/dist/registerRadio.d.ts +6 -4
  12. package/dist/registerRadioGroup.d.ts +2 -6
  13. package/dist/registerSwitch.d.ts +9 -2
  14. package/dist/registerTextArea.d.ts +7 -1
  15. package/dist/registerTextField.d.ts +1 -1
  16. package/dist/utils.d.ts +0 -1
  17. package/package.json +3 -3
  18. package/skinny/contexts.d.ts +1 -1
  19. package/skinny/interaction-variant-utils-608d984b.esm.js +39 -0
  20. package/skinny/interaction-variant-utils-608d984b.esm.js.map +1 -0
  21. package/skinny/interaction-variant-utils-80bf1cfd.cjs.js +45 -0
  22. package/skinny/interaction-variant-utils-80bf1cfd.cjs.js.map +1 -0
  23. package/skinny/interaction-variant-utils.d.ts +31 -0
  24. package/skinny/registerButton.cjs.js +32 -50
  25. package/skinny/registerButton.cjs.js.map +1 -1
  26. package/skinny/registerButton.d.ts +4 -1
  27. package/skinny/registerButton.esm.js +32 -50
  28. package/skinny/registerButton.esm.js.map +1 -1
  29. package/skinny/registerCheckbox.cjs.js +22 -44
  30. package/skinny/registerCheckbox.cjs.js.map +1 -1
  31. package/skinny/registerCheckbox.d.ts +4 -2
  32. package/skinny/registerCheckbox.esm.js +22 -44
  33. package/skinny/registerCheckbox.esm.js.map +1 -1
  34. package/skinny/registerCheckboxGroup.cjs.js +2 -1
  35. package/skinny/registerCheckboxGroup.cjs.js.map +1 -1
  36. package/skinny/registerCheckboxGroup.esm.js +2 -1
  37. package/skinny/registerCheckboxGroup.esm.js.map +1 -1
  38. package/skinny/registerComboBox.cjs.js +1 -1
  39. package/skinny/registerComboBox.esm.js +1 -1
  40. package/skinny/registerDescription.cjs.js +1 -1
  41. package/skinny/registerDescription.esm.js +1 -1
  42. package/skinny/registerFieldError.cjs.js +1 -1
  43. package/skinny/registerFieldError.esm.js +1 -1
  44. package/skinny/registerForm.cjs.js +1 -1
  45. package/skinny/registerForm.esm.js +1 -1
  46. package/skinny/registerHeader.cjs.js +1 -1
  47. package/skinny/registerHeader.esm.js +1 -1
  48. package/skinny/registerInput.cjs.js +40 -2
  49. package/skinny/registerInput.cjs.js.map +1 -1
  50. package/skinny/registerInput.d.ts +7 -1
  51. package/skinny/registerInput.esm.js +40 -2
  52. package/skinny/registerInput.esm.js.map +1 -1
  53. package/skinny/registerLabel.cjs.js +1 -2
  54. package/skinny/registerLabel.cjs.js.map +1 -1
  55. package/skinny/registerLabel.esm.js +1 -2
  56. package/skinny/registerLabel.esm.js.map +1 -1
  57. package/skinny/registerListBox.cjs.js +1 -1
  58. package/skinny/registerListBox.esm.js +1 -1
  59. package/skinny/registerListBoxItem.cjs.js +1 -1
  60. package/skinny/registerListBoxItem.esm.js +1 -1
  61. package/skinny/registerModal.cjs.js +1 -1
  62. package/skinny/registerModal.esm.js +1 -1
  63. package/skinny/registerPopover.cjs.js +1 -1
  64. package/skinny/registerPopover.esm.js +1 -1
  65. package/skinny/registerRadio.cjs.js +21 -55
  66. package/skinny/registerRadio.cjs.js.map +1 -1
  67. package/skinny/registerRadio.d.ts +6 -4
  68. package/skinny/registerRadio.esm.js +21 -55
  69. package/skinny/registerRadio.esm.js.map +1 -1
  70. package/skinny/registerRadioGroup.cjs.js +4 -31
  71. package/skinny/registerRadioGroup.cjs.js.map +1 -1
  72. package/skinny/registerRadioGroup.d.ts +2 -6
  73. package/skinny/registerRadioGroup.esm.js +4 -27
  74. package/skinny/registerRadioGroup.esm.js.map +1 -1
  75. package/skinny/registerSection.cjs.js +1 -1
  76. package/skinny/registerSection.esm.js +1 -1
  77. package/skinny/registerSelect.cjs.js +1 -1
  78. package/skinny/registerSelect.esm.js +1 -1
  79. package/skinny/registerSwitch.cjs.js +42 -12
  80. package/skinny/registerSwitch.cjs.js.map +1 -1
  81. package/skinny/registerSwitch.d.ts +9 -2
  82. package/skinny/registerSwitch.esm.js +38 -12
  83. package/skinny/registerSwitch.esm.js.map +1 -1
  84. package/skinny/registerText.cjs.js +1 -1
  85. package/skinny/registerText.esm.js +1 -1
  86. package/skinny/registerTextArea.cjs.js +61 -2
  87. package/skinny/registerTextArea.cjs.js.map +1 -1
  88. package/skinny/registerTextArea.d.ts +7 -1
  89. package/skinny/registerTextArea.esm.js +61 -2
  90. package/skinny/registerTextArea.esm.js.map +1 -1
  91. package/skinny/registerTextField.cjs.js +54 -6
  92. package/skinny/registerTextField.cjs.js.map +1 -1
  93. package/skinny/registerTextField.d.ts +1 -1
  94. package/skinny/registerTextField.esm.js +54 -6
  95. package/skinny/registerTextField.esm.js.map +1 -1
  96. package/skinny/registerTooltip.cjs.js +1 -1
  97. package/skinny/registerTooltip.esm.js +1 -1
  98. package/skinny/{utils-1190a0a9.cjs.js → utils-18b2465b.cjs.js} +2 -12
  99. package/skinny/utils-18b2465b.cjs.js.map +1 -0
  100. package/skinny/{utils-28f98072.esm.js → utils-cf2632c9.esm.js} +3 -12
  101. package/skinny/utils-cf2632c9.esm.js.map +1 -0
  102. package/skinny/utils.d.ts +0 -1
  103. package/skinny/utils-1190a0a9.cjs.js.map +0 -1
  104. package/skinny/utils-28f98072.esm.js.map +0 -1
@@ -66,6 +66,41 @@ function getCommonInputProps(fieldName, fields) {
66
66
  return filteredProps;
67
67
  }
68
68
 
69
+ const ARIA_COMPONENTS_INTERACTION_VARIANTS = {
70
+ hovered: {
71
+ cssSelector: "[data-hovered]",
72
+ displayName: "Hovered"
73
+ },
74
+ pressed: {
75
+ cssSelector: "[data-pressed]",
76
+ displayName: "Pressed"
77
+ },
78
+ focused: {
79
+ cssSelector: "[data-focused]",
80
+ displayName: "Focused"
81
+ },
82
+ focusVisible: {
83
+ cssSelector: "[data-focus-visible]",
84
+ displayName: "Focus Visible"
85
+ }
86
+ };
87
+ function realWithObservedValues(children, changes, updateInteractionVariant) {
88
+ React__default.default.useEffect(() => {
89
+ if (updateInteractionVariant) {
90
+ updateInteractionVariant(changes);
91
+ }
92
+ }, [changes, updateInteractionVariant]);
93
+ return children;
94
+ }
95
+ function pickAriaComponentVariants(keys) {
96
+ return {
97
+ interactionVariants: Object.fromEntries(
98
+ keys.map((key) => [key, ARIA_COMPONENTS_INTERACTION_VARIANTS[key]])
99
+ ),
100
+ withObservedValues: realWithObservedValues
101
+ };
102
+ }
103
+
69
104
  var __defProp$m = Object.defineProperty;
70
105
  var __defProps$d = Object.defineProperties;
71
106
  var __getOwnPropDescs$d = Object.getOwnPropertyDescriptors;
@@ -85,12 +120,6 @@ var __spreadValues$m = (a, b) => {
85
120
  return a;
86
121
  };
87
122
  var __spreadProps$d = (a, b) => __defProps$d(a, __getOwnPropDescs$d(b));
88
- function ValueObserver({ value, onChange }) {
89
- React.useEffect(() => {
90
- onChange(value);
91
- }, [value, onChange]);
92
- return null;
93
- }
94
123
  function registerComponentHelper(loader, component, meta, overrides) {
95
124
  if (overrides) {
96
125
  meta = __spreadProps$d(__spreadValues$m(__spreadValues$m({}, meta), overrides), {
@@ -123,9 +152,7 @@ function makeChildComponentName(fullParentName, fullChildName) {
123
152
  }
124
153
  function extractPlasmicDataProps(props) {
125
154
  return Object.fromEntries(
126
- Object.entries(props).filter(
127
- ([key, val]) => key.startsWith("data-plasmic-")
128
- )
155
+ Object.entries(props).filter(([key]) => key.startsWith("data-plasmic-"))
129
156
  );
130
157
  }
131
158
  function withoutNils(array) {
@@ -151,7 +178,7 @@ var __spreadValues$l = (a, b) => {
151
178
  return a;
152
179
  };
153
180
  var __spreadProps$c = (a, b) => __defProps$c(a, __getOwnPropDescs$c(b));
154
- var __objRest$c = (source, exclude) => {
181
+ var __objRest$e = (source, exclude) => {
155
182
  var target = {};
156
183
  for (var prop in source)
157
184
  if (__hasOwnProp$l.call(source, prop) && exclude.indexOf(prop) < 0)
@@ -163,16 +190,38 @@ var __objRest$c = (source, exclude) => {
163
190
  }
164
191
  return target;
165
192
  };
193
+ const BUTTON_INTERACTION_VARIANTS = [
194
+ "hovered",
195
+ "pressed",
196
+ "focused",
197
+ "focusVisible"
198
+ ];
199
+ const { interactionVariants: interactionVariants$5, withObservedValues: withObservedValues$3 } = pickAriaComponentVariants(
200
+ BUTTON_INTERACTION_VARIANTS
201
+ );
166
202
  function BaseButton(props) {
167
- const _a = props, { submitsForm, onFocusVisibleChange, resetsForm, children } = _a, rest = __objRest$c(_a, ["submitsForm", "onFocusVisibleChange", "resetsForm", "children"]);
203
+ const _a = props, {
204
+ submitsForm,
205
+ resetsForm,
206
+ children,
207
+ updateInteractionVariant
208
+ } = _a, rest = __objRest$e(_a, [
209
+ "submitsForm",
210
+ "resetsForm",
211
+ "children",
212
+ "updateInteractionVariant"
213
+ ]);
168
214
  const type = submitsForm ? "submit" : resetsForm ? "reset" : "button";
169
- return /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Button, __spreadValues$l({ type }, rest), ({ isFocusVisible }) => /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, /* @__PURE__ */ React__default.default.createElement(
170
- ValueObserver,
215
+ return /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Button, __spreadValues$l({ type }, rest), ({ isHovered, isPressed, isFocused, isFocusVisible }) => withObservedValues$3(
216
+ children,
171
217
  {
172
- value: isFocusVisible,
173
- onChange: onFocusVisibleChange
174
- }
175
- ), children));
218
+ hovered: isHovered,
219
+ pressed: isPressed,
220
+ focused: isFocused,
221
+ focusVisible: isFocusVisible
222
+ },
223
+ updateInteractionVariant
224
+ ));
176
225
  }
177
226
  function registerButton(loader, overrides) {
178
227
  registerComponentHelper(
@@ -183,6 +232,7 @@ function registerButton(loader, overrides) {
183
232
  displayName: "Aria Button",
184
233
  importPath: "@plasmicpkgs/react-aria/skinny/registerButton",
185
234
  importName: "BaseButton",
235
+ interactionVariants: interactionVariants$5,
186
236
  props: __spreadProps$c(__spreadValues$l({}, getCommonInputProps("button", [
187
237
  "isDisabled",
188
238
  "aria-label",
@@ -203,50 +253,8 @@ function registerButton(loader, overrides) {
203
253
  hidden: (ps) => Boolean(ps.submitsForm),
204
254
  description: "Whether clicking this button should reset the enclosing form.",
205
255
  advanced: true
206
- },
207
- onPress: {
208
- type: "eventHandler",
209
- argTypes: [{ name: "event", type: "object" }]
210
- },
211
- onHoverChange: {
212
- type: "eventHandler",
213
- argTypes: [{ name: "isHovered", type: "boolean" }]
214
- },
215
- onPressChange: {
216
- type: "eventHandler",
217
- argTypes: [{ name: "isPressed", type: "boolean" }]
218
- },
219
- onFocusChange: {
220
- type: "eventHandler",
221
- argTypes: [{ name: "isFocused", type: "boolean" }]
222
- },
223
- onFocusVisibleChange: {
224
- type: "eventHandler",
225
- argTypes: [{ name: "isFocusVisible", type: "boolean" }]
226
256
  }
227
257
  }),
228
- states: {
229
- isHovered: {
230
- type: "readonly",
231
- onChangeProp: "onHoverChange",
232
- variableType: "boolean"
233
- },
234
- isPressed: {
235
- type: "readonly",
236
- onChangeProp: "onPressChange",
237
- variableType: "boolean"
238
- },
239
- isFocused: {
240
- type: "readonly",
241
- onChangeProp: "onFocusChange",
242
- variableType: "boolean"
243
- },
244
- isFocusVisible: {
245
- type: "readonly",
246
- onChangeProp: "onFocusVisibleChange",
247
- variableType: "boolean"
248
- }
249
- },
250
258
  trapsFocus: true
251
259
  },
252
260
  overrides
@@ -272,7 +280,7 @@ var __spreadValues$k = (a, b) => {
272
280
  return a;
273
281
  };
274
282
  var __spreadProps$b = (a, b) => __defProps$b(a, __getOwnPropDescs$b(b));
275
- var __objRest$b = (source, exclude) => {
283
+ var __objRest$d = (source, exclude) => {
276
284
  var target = {};
277
285
  for (var prop in source)
278
286
  if (__hasOwnProp$k.call(source, prop) && exclude.indexOf(prop) < 0)
@@ -284,15 +292,27 @@ var __objRest$b = (source, exclude) => {
284
292
  }
285
293
  return target;
286
294
  };
295
+ const CHECKBOX_INTERACTION_VARIANTS = [
296
+ "hovered",
297
+ "pressed",
298
+ "focused",
299
+ "focusVisible"
300
+ ];
301
+ const { interactionVariants: interactionVariants$4, withObservedValues: withObservedValues$2 } = pickAriaComponentVariants(
302
+ CHECKBOX_INTERACTION_VARIANTS
303
+ );
287
304
  function BaseCheckbox(props) {
288
- const _a = props, { children, onPressChange, onFocusVisibleChange } = _a, rest = __objRest$b(_a, ["children", "onPressChange", "onFocusVisibleChange"]);
289
- return /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Checkbox, __spreadValues$k({}, rest), ({ isFocusVisible, isPressed }) => /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, /* @__PURE__ */ React__default.default.createElement(
290
- ValueObserver,
305
+ const _a = props, { children, updateInteractionVariant } = _a, rest = __objRest$d(_a, ["children", "updateInteractionVariant"]);
306
+ return /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Checkbox, __spreadValues$k({}, rest), ({ isHovered, isPressed, isFocused, isFocusVisible }) => withObservedValues$2(
307
+ children,
291
308
  {
292
- value: isFocusVisible,
293
- onChange: onFocusVisibleChange
294
- }
295
- ), /* @__PURE__ */ React__default.default.createElement(ValueObserver, { value: isPressed, onChange: onPressChange }), children)));
309
+ hovered: isHovered,
310
+ pressed: isPressed,
311
+ focused: isFocused,
312
+ focusVisible: isFocusVisible
313
+ },
314
+ updateInteractionVariant
315
+ )));
296
316
  }
297
317
  function registerCheckbox(loader, overrides) {
298
318
  registerComponentHelper(
@@ -303,6 +323,7 @@ function registerCheckbox(loader, overrides) {
303
323
  displayName: "Aria Checkbox",
304
324
  importPath: "@plasmicpkgs/react-aria/skinny/registerCheckbox",
305
325
  importName: "BaseCheckbox",
326
+ interactionVariants: interactionVariants$4,
306
327
  props: __spreadProps$b(__spreadValues$k({}, getCommonInputProps("checkbox", [
307
328
  "name",
308
329
  "isDisabled",
@@ -344,22 +365,6 @@ function registerCheckbox(loader, overrides) {
344
365
  onChange: {
345
366
  type: "eventHandler",
346
367
  argTypes: [{ name: "isSelected", type: "boolean" }]
347
- },
348
- onHoverChange: {
349
- type: "eventHandler",
350
- argTypes: [{ name: "isHovered", type: "boolean" }]
351
- },
352
- onFocusChange: {
353
- type: "eventHandler",
354
- argTypes: [{ name: "isFocused", type: "boolean" }]
355
- },
356
- onPressChange: {
357
- type: "eventHandler",
358
- argTypes: [{ name: "isPressed", type: "boolean" }]
359
- },
360
- onFocusVisibleChange: {
361
- type: "eventHandler",
362
- argTypes: [{ name: "isFocusVisible", type: "boolean" }]
363
368
  }
364
369
  }),
365
370
  states: {
@@ -368,26 +373,6 @@ function registerCheckbox(loader, overrides) {
368
373
  valueProp: "isSelected",
369
374
  onChangeProp: "onChange",
370
375
  variableType: "boolean"
371
- },
372
- isHovered: {
373
- type: "readonly",
374
- onChangeProp: "onHoverChange",
375
- variableType: "boolean"
376
- },
377
- isPressed: {
378
- type: "readonly",
379
- onChangeProp: "onPressChange",
380
- variableType: "boolean"
381
- },
382
- isFocused: {
383
- type: "readonly",
384
- onChangeProp: "onFocusChange",
385
- variableType: "boolean"
386
- },
387
- isFocusVisible: {
388
- type: "readonly",
389
- onChangeProp: "onFocusVisibleChange",
390
- variableType: "boolean"
391
376
  }
392
377
  },
393
378
  trapsFocus: true
@@ -412,7 +397,7 @@ var __spreadValues$j = (a, b) => {
412
397
  }
413
398
  return a;
414
399
  };
415
- var __objRest$a = (source, exclude) => {
400
+ var __objRest$c = (source, exclude) => {
416
401
  var target = {};
417
402
  for (var prop in source)
418
403
  if (__hasOwnProp$j.call(source, prop) && exclude.indexOf(prop) < 0)
@@ -425,7 +410,7 @@ var __objRest$a = (source, exclude) => {
425
410
  return target;
426
411
  };
427
412
  function BaseText(_a) {
428
- var _b = _a, { children } = _b, rest = __objRest$a(_b, ["children"]);
413
+ var _b = _a, { children } = _b, rest = __objRest$c(_b, ["children"]);
429
414
  return /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Text, __spreadValues$j({}, rest), children);
430
415
  }
431
416
  function registerText(loader, overrides) {
@@ -495,7 +480,7 @@ var __spreadValues$h = (a, b) => {
495
480
  }
496
481
  return a;
497
482
  };
498
- var __objRest$9 = (source, exclude) => {
483
+ var __objRest$b = (source, exclude) => {
499
484
  var target = {};
500
485
  for (var prop in source)
501
486
  if (__hasOwnProp$h.call(source, prop) && exclude.indexOf(prop) < 0)
@@ -519,7 +504,7 @@ function BaseFieldError(_a) {
519
504
  tooShort,
520
505
  typeMismatch,
521
506
  valueMissing
522
- } = _b, rest = __objRest$9(_b, [
507
+ } = _b, rest = __objRest$b(_b, [
523
508
  "badInput",
524
509
  "customError",
525
510
  "patternMismatch",
@@ -1184,7 +1169,7 @@ var __spreadValues$e = (a, b) => {
1184
1169
  }
1185
1170
  return a;
1186
1171
  };
1187
- var __objRest$8 = (source, exclude) => {
1172
+ var __objRest$a = (source, exclude) => {
1188
1173
  var target = {};
1189
1174
  for (var prop in source)
1190
1175
  if (__hasOwnProp$e.call(source, prop) && exclude.indexOf(prop) < 0)
@@ -1197,7 +1182,7 @@ var __objRest$8 = (source, exclude) => {
1197
1182
  return target;
1198
1183
  };
1199
1184
  function BaseForm(props) {
1200
- const _a = props, { onSubmit, children } = _a, rest = __objRest$8(_a, ["onSubmit", "children"]);
1185
+ const _a = props, { onSubmit, children } = _a, rest = __objRest$a(_a, ["onSubmit", "children"]);
1201
1186
  return /* @__PURE__ */ React__default.default.createElement(
1202
1187
  reactAriaComponents.Form,
1203
1188
  __spreadValues$e({
@@ -1266,8 +1251,44 @@ var __spreadValues$d = (a, b) => {
1266
1251
  }
1267
1252
  return a;
1268
1253
  };
1254
+ var __objRest$9 = (source, exclude) => {
1255
+ var target = {};
1256
+ for (var prop in source)
1257
+ if (__hasOwnProp$d.call(source, prop) && exclude.indexOf(prop) < 0)
1258
+ target[prop] = source[prop];
1259
+ if (source != null && __getOwnPropSymbols$d)
1260
+ for (var prop of __getOwnPropSymbols$d(source)) {
1261
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$d.call(source, prop))
1262
+ target[prop] = source[prop];
1263
+ }
1264
+ return target;
1265
+ };
1266
+ const INPUT_INTERACTION_VARIANTS = ["focused", "hovered"];
1267
+ const { interactionVariants: interactionVariants$3 } = pickAriaComponentVariants(
1268
+ INPUT_INTERACTION_VARIANTS
1269
+ );
1269
1270
  function BaseInput(props) {
1270
- return /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Input, __spreadValues$d({}, props));
1271
+ const _a = props, { updateInteractionVariant } = _a, rest = __objRest$9(_a, ["updateInteractionVariant"]);
1272
+ return /* @__PURE__ */ React__default.default.createElement(
1273
+ reactAriaComponents.Input,
1274
+ __spreadValues$d({
1275
+ onHoverChange: (isHovered) => {
1276
+ updateInteractionVariant == null ? void 0 : updateInteractionVariant({
1277
+ hovered: isHovered
1278
+ });
1279
+ },
1280
+ onFocus: () => {
1281
+ updateInteractionVariant == null ? void 0 : updateInteractionVariant({
1282
+ focused: true
1283
+ });
1284
+ },
1285
+ onBlur: () => {
1286
+ updateInteractionVariant == null ? void 0 : updateInteractionVariant({
1287
+ focused: false
1288
+ });
1289
+ }
1290
+ }, rest)
1291
+ );
1271
1292
  }
1272
1293
  function registerInput(loader, overrides) {
1273
1294
  registerComponentHelper(
@@ -1278,6 +1299,7 @@ function registerInput(loader, overrides) {
1278
1299
  displayName: "Aria Input",
1279
1300
  importPath: "@plasmicpkgs/react-aria/skinny/registerInput",
1280
1301
  importName: "BaseInput",
1302
+ interactionVariants: interactionVariants$3,
1281
1303
  props: {
1282
1304
  placeholder: {
1283
1305
  type: "string"
@@ -1364,7 +1386,7 @@ var __spreadValues$b = (a, b) => {
1364
1386
  return a;
1365
1387
  };
1366
1388
  var __spreadProps$7 = (a, b) => __defProps$7(a, __getOwnPropDescs$7(b));
1367
- var __objRest$7 = (source, exclude) => {
1389
+ var __objRest$8 = (source, exclude) => {
1368
1390
  var target = {};
1369
1391
  for (var prop in source)
1370
1392
  if (__hasOwnProp$b.call(source, prop) && exclude.indexOf(prop) < 0)
@@ -1420,7 +1442,7 @@ function BaseListBox(props) {
1420
1442
  renderItem,
1421
1443
  renderSection,
1422
1444
  getItemType
1423
- } = _a, rest = __objRest$7(_a, [
1445
+ } = _a, rest = __objRest$8(_a, [
1424
1446
  "makeItemProps",
1425
1447
  "makeSectionProps",
1426
1448
  "renderItem",
@@ -1506,7 +1528,7 @@ var __spreadValues$a = (a, b) => {
1506
1528
  return a;
1507
1529
  };
1508
1530
  var __spreadProps$6 = (a, b) => __defProps$6(a, __getOwnPropDescs$6(b));
1509
- var __objRest$6 = (source, exclude) => {
1531
+ var __objRest$7 = (source, exclude) => {
1510
1532
  var target = {};
1511
1533
  for (var prop in source)
1512
1534
  if (__hasOwnProp$a.call(source, prop) && exclude.indexOf(prop) < 0)
@@ -1526,7 +1548,7 @@ const BaseModal = React.forwardRef(
1526
1548
  modalOverlayClass,
1527
1549
  onOpenChange,
1528
1550
  className
1529
- } = _a, rest = __objRest$6(_a, [
1551
+ } = _a, rest = __objRest$7(_a, [
1530
1552
  "children",
1531
1553
  "heading",
1532
1554
  "modalOverlayClass",
@@ -1636,7 +1658,7 @@ var __spreadValues$9 = (a, b) => {
1636
1658
  return a;
1637
1659
  };
1638
1660
  var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
1639
- var __objRest$5 = (source, exclude) => {
1661
+ var __objRest$6 = (source, exclude) => {
1640
1662
  var target = {};
1641
1663
  for (var prop in source)
1642
1664
  if (__hasOwnProp$9.call(source, prop) && exclude.indexOf(prop) < 0)
@@ -1649,7 +1671,7 @@ var __objRest$5 = (source, exclude) => {
1649
1671
  return target;
1650
1672
  };
1651
1673
  function BasePopover(props) {
1652
- const _a = props, { resetClassName } = _a, restProps = __objRest$5(_a, ["resetClassName"]);
1674
+ const _a = props, { resetClassName } = _a, restProps = __objRest$6(_a, ["resetClassName"]);
1653
1675
  const isStandalone = !React__default.default.useContext(reactAriaComponents.PopoverContext);
1654
1676
  const contextProps = React__default.default.useContext(PlasmicPopoverContext);
1655
1677
  const canvas = host.usePlasmicCanvasContext();
@@ -1760,7 +1782,7 @@ var __spreadValues$8 = (a, b) => {
1760
1782
  return a;
1761
1783
  };
1762
1784
  var __spreadProps$4 = (a, b) => __defProps$4(a, __getOwnPropDescs$4(b));
1763
- var __objRest$4 = (source, exclude) => {
1785
+ var __objRest$5 = (source, exclude) => {
1764
1786
  var target = {};
1765
1787
  for (var prop in source)
1766
1788
  if (__hasOwnProp$8.call(source, prop) && exclude.indexOf(prop) < 0)
@@ -1772,27 +1794,27 @@ var __objRest$4 = (source, exclude) => {
1772
1794
  }
1773
1795
  return target;
1774
1796
  };
1797
+ const RADIO_INTERACTION_VARIANTS = [
1798
+ "hovered",
1799
+ "pressed",
1800
+ "focused",
1801
+ "focusVisible"
1802
+ ];
1803
+ const { interactionVariants: interactionVariants$2, withObservedValues: withObservedValues$1 } = pickAriaComponentVariants(
1804
+ RADIO_INTERACTION_VARIANTS
1805
+ );
1775
1806
  function BaseRadio(props) {
1776
- const _a = props, {
1807
+ const _a = props, { children, updateInteractionVariant } = _a, rest = __objRest$5(_a, ["children", "updateInteractionVariant"]);
1808
+ const radio = /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Radio, __spreadValues$8({}, rest), ({ isHovered, isPressed, isFocused, isFocusVisible }) => withObservedValues$1(
1777
1809
  children,
1778
- onPressChange,
1779
- onFocusVisibleChange,
1780
- onHoverChange,
1781
- onSelectionChange
1782
- } = _a, rest = __objRest$4(_a, [
1783
- "children",
1784
- "onPressChange",
1785
- "onFocusVisibleChange",
1786
- "onHoverChange",
1787
- "onSelectionChange"
1788
- ]);
1789
- const radio = /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Radio, __spreadValues$8({}, rest), ({ isFocusVisible, isPressed, isHovered, isSelected }) => /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, /* @__PURE__ */ React__default.default.createElement(
1790
- ValueObserver,
1791
1810
  {
1792
- value: isFocusVisible,
1793
- onChange: onFocusVisibleChange
1794
- }
1795
- ), /* @__PURE__ */ React__default.default.createElement(ValueObserver, { value: isSelected, onChange: onSelectionChange }), /* @__PURE__ */ React__default.default.createElement(ValueObserver, { value: isPressed, onChange: onPressChange }), /* @__PURE__ */ React__default.default.createElement(ValueObserver, { value: isHovered, onChange: onHoverChange }), children));
1811
+ hovered: isHovered,
1812
+ pressed: isPressed,
1813
+ focused: isFocused,
1814
+ focusVisible: isFocusVisible
1815
+ },
1816
+ updateInteractionVariant
1817
+ ));
1796
1818
  return /* @__PURE__ */ React__default.default.createElement(ErrorBoundary, { fallback: /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.RadioGroup, null, radio) }, radio);
1797
1819
  }
1798
1820
  function registerRadio(loader, overrides) {
@@ -1804,6 +1826,7 @@ function registerRadio(loader, overrides) {
1804
1826
  displayName: "Aria Radio",
1805
1827
  importPath: "@plasmicpkgs/react-aria/skinny/registerRadio",
1806
1828
  importName: "BaseRadio",
1829
+ interactionVariants: interactionVariants$2,
1807
1830
  props: __spreadProps$4(__spreadValues$8({}, getCommonInputProps("radio", [
1808
1831
  "isDisabled",
1809
1832
  "autoFocus",
@@ -1814,48 +1837,12 @@ function registerRadio(loader, overrides) {
1814
1837
  type: "string",
1815
1838
  description: "The value of the input element, used when submitting an HTML form."
1816
1839
  },
1817
- onHoverChange: {
1818
- type: "eventHandler",
1819
- argTypes: [{ name: "isHovered", type: "boolean" }]
1820
- },
1821
- onFocusChange: {
1822
- type: "eventHandler",
1823
- argTypes: [{ name: "isFocused", type: "boolean" }]
1824
- },
1825
- onPressChange: {
1826
- type: "eventHandler",
1827
- argTypes: [{ name: "isPressed", type: "boolean" }]
1828
- },
1829
- onFocusVisibleChange: {
1830
- type: "eventHandler",
1831
- argTypes: [{ name: "isFocusVisible", type: "boolean" }]
1832
- },
1833
1840
  onSelectionChange: {
1834
1841
  type: "eventHandler",
1835
1842
  argTypes: [{ name: "isSelected", type: "boolean" }]
1836
1843
  }
1837
1844
  }),
1838
1845
  states: {
1839
- isHovered: {
1840
- type: "readonly",
1841
- onChangeProp: "onHoverChange",
1842
- variableType: "boolean"
1843
- },
1844
- isPressed: {
1845
- type: "readonly",
1846
- onChangeProp: "onPressChange",
1847
- variableType: "boolean"
1848
- },
1849
- isFocused: {
1850
- type: "readonly",
1851
- onChangeProp: "onFocusChange",
1852
- variableType: "boolean"
1853
- },
1854
- isFocusVisible: {
1855
- type: "readonly",
1856
- onChangeProp: "onFocusVisibleChange",
1857
- variableType: "boolean"
1858
- },
1859
1846
  isSelected: {
1860
1847
  type: "readonly",
1861
1848
  onChangeProp: "onSelectionChange",
@@ -1887,22 +1874,7 @@ var __spreadValues$7 = (a, b) => {
1887
1874
  return a;
1888
1875
  };
1889
1876
  var __spreadProps$3 = (a, b) => __defProps$3(a, __getOwnPropDescs$3(b));
1890
- var __objRest$3 = (source, exclude) => {
1891
- var target = {};
1892
- for (var prop in source)
1893
- if (__hasOwnProp$7.call(source, prop) && exclude.indexOf(prop) < 0)
1894
- target[prop] = source[prop];
1895
- if (source != null && __getOwnPropSymbols$7)
1896
- for (var prop of __getOwnPropSymbols$7(source)) {
1897
- if (exclude.indexOf(prop) < 0 && __propIsEnum$7.call(source, prop))
1898
- target[prop] = source[prop];
1899
- }
1900
- return target;
1901
- };
1902
- function BaseRadioGroup(props) {
1903
- const _a = props, { children } = _a, rest = __objRest$3(_a, ["children"]);
1904
- return /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.RadioGroup, __spreadValues$7({}, rest), children));
1905
- }
1877
+ const BaseRadioGroup = reactAriaComponents.RadioGroup;
1906
1878
  const componentName$1 = makeComponentName("radioGroup");
1907
1879
  function registerRadioGroup(loader, overrides) {
1908
1880
  registerComponentHelper(
@@ -1942,10 +1914,6 @@ function registerRadioGroup(loader, overrides) {
1942
1914
  onChange: {
1943
1915
  type: "eventHandler",
1944
1916
  argTypes: [{ name: "value", type: "string" }]
1945
- },
1946
- onFocusChange: {
1947
- type: "eventHandler",
1948
- argTypes: [{ name: "isFocused", type: "boolean" }]
1949
1917
  }
1950
1918
  }),
1951
1919
  states: {
@@ -1954,11 +1922,6 @@ function registerRadioGroup(loader, overrides) {
1954
1922
  valueProp: "value",
1955
1923
  onChangeProp: "onChange",
1956
1924
  variableType: "array"
1957
- },
1958
- isFocused: {
1959
- type: "readonly",
1960
- onChangeProp: "onFocusChange",
1961
- variableType: "boolean"
1962
1925
  }
1963
1926
  },
1964
1927
  trapsFocus: true
@@ -2028,7 +1991,7 @@ var __spreadValues$5 = (a, b) => {
2028
1991
  }
2029
1992
  return a;
2030
1993
  };
2031
- var __objRest$2 = (source, exclude) => {
1994
+ var __objRest$4 = (source, exclude) => {
2032
1995
  var target = {};
2033
1996
  for (var prop in source)
2034
1997
  if (__hasOwnProp$5.call(source, prop) && exclude.indexOf(prop) < 0)
@@ -2043,7 +2006,7 @@ var __objRest$2 = (source, exclude) => {
2043
2006
  function BaseSection(props) {
2044
2007
  const contextProps = React__default.default.useContext(PlasmicSectionContext);
2045
2008
  const mergedProps = utils.mergeProps(contextProps, props);
2046
- const _a = mergedProps, { section, renderHeader, key, makeItemProps, renderItem } = _a, rest = __objRest$2(_a, ["section", "renderHeader", "key", "makeItemProps", "renderItem"]);
2009
+ const _a = mergedProps, { section, renderHeader, key, makeItemProps, renderItem } = _a, rest = __objRest$4(_a, ["section", "renderHeader", "key", "makeItemProps", "renderItem"]);
2047
2010
  return /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Section, __spreadValues$5({ id: key != null ? key : void 0 }, rest), /* @__PURE__ */ React__default.default.createElement(PlasmicHeaderContext.Provider, { value: { children: section == null ? void 0 : section.label } }, renderHeader == null ? void 0 : renderHeader(section)), /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Collection, { items: section == null ? void 0 : section.items }, (item) => {
2048
2011
  const itemProps = makeItemProps == null ? void 0 : makeItemProps(item);
2049
2012
  return /* @__PURE__ */ React__default.default.createElement(PlasmicItemContext.Provider, { key: itemProps == null ? void 0 : itemProps.key, value: itemProps }, renderItem == null ? void 0 : renderItem(item));
@@ -2284,7 +2247,40 @@ var __spreadValues$3 = (a, b) => {
2284
2247
  return a;
2285
2248
  };
2286
2249
  var __spreadProps$2 = (a, b) => __defProps$2(a, __getOwnPropDescs$2(b));
2287
- const BaseSwitch = reactAriaComponents.Switch;
2250
+ var __objRest$3 = (source, exclude) => {
2251
+ var target = {};
2252
+ for (var prop in source)
2253
+ if (__hasOwnProp$3.call(source, prop) && exclude.indexOf(prop) < 0)
2254
+ target[prop] = source[prop];
2255
+ if (source != null && __getOwnPropSymbols$3)
2256
+ for (var prop of __getOwnPropSymbols$3(source)) {
2257
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$3.call(source, prop))
2258
+ target[prop] = source[prop];
2259
+ }
2260
+ return target;
2261
+ };
2262
+ const SWITCH_INTERACTION_VARIANTS = [
2263
+ "hovered",
2264
+ "pressed",
2265
+ "focused",
2266
+ "focusVisible"
2267
+ ];
2268
+ const { interactionVariants: interactionVariants$1, withObservedValues } = pickAriaComponentVariants(
2269
+ SWITCH_INTERACTION_VARIANTS
2270
+ );
2271
+ function BaseSwitch(props) {
2272
+ const _a = props, { children, updateInteractionVariant } = _a, rest = __objRest$3(_a, ["children", "updateInteractionVariant"]);
2273
+ return /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Switch, __spreadValues$3({}, rest), ({ isHovered, isPressed, isFocused, isFocusVisible }) => withObservedValues(
2274
+ children,
2275
+ {
2276
+ hovered: isHovered,
2277
+ pressed: isPressed,
2278
+ focused: isFocused,
2279
+ focusVisible: isFocusVisible
2280
+ },
2281
+ updateInteractionVariant
2282
+ ));
2283
+ }
2288
2284
  function registerSwitch(loader, overrides) {
2289
2285
  registerComponentHelper(
2290
2286
  loader,
@@ -2294,6 +2290,7 @@ function registerSwitch(loader, overrides) {
2294
2290
  displayName: "Aria Switch",
2295
2291
  importPath: "@plasmicpkgs/react-aria/skinny/registerSwitch",
2296
2292
  importName: "BaseSwitch",
2293
+ interactionVariants: interactionVariants$1,
2297
2294
  props: __spreadProps$2(__spreadValues$3({}, getCommonInputProps("switch", [
2298
2295
  "name",
2299
2296
  "isDisabled",
@@ -2312,10 +2309,6 @@ function registerSwitch(loader, overrides) {
2312
2309
  onChange: {
2313
2310
  type: "eventHandler",
2314
2311
  argTypes: [{ name: "isSelected", type: "boolean" }]
2315
- },
2316
- onHoverChange: {
2317
- type: "eventHandler",
2318
- argTypes: [{ name: "isHovered", type: "boolean" }]
2319
2312
  }
2320
2313
  }),
2321
2314
  states: {
@@ -2324,11 +2317,6 @@ function registerSwitch(loader, overrides) {
2324
2317
  valueProp: "value",
2325
2318
  onChangeProp: "onChange",
2326
2319
  variableType: "boolean"
2327
- },
2328
- isHovered: {
2329
- type: "readonly",
2330
- onChangeProp: "onHoverChange",
2331
- variableType: "boolean"
2332
2320
  }
2333
2321
  },
2334
2322
  trapsFocus: true
@@ -2353,8 +2341,45 @@ var __spreadValues$2 = (a, b) => {
2353
2341
  }
2354
2342
  return a;
2355
2343
  };
2344
+ var __objRest$2 = (source, exclude) => {
2345
+ var target = {};
2346
+ for (var prop in source)
2347
+ if (__hasOwnProp$2.call(source, prop) && exclude.indexOf(prop) < 0)
2348
+ target[prop] = source[prop];
2349
+ if (source != null && __getOwnPropSymbols$2)
2350
+ for (var prop of __getOwnPropSymbols$2(source)) {
2351
+ if (exclude.indexOf(prop) < 0 && __propIsEnum$2.call(source, prop))
2352
+ target[prop] = source[prop];
2353
+ }
2354
+ return target;
2355
+ };
2356
+ const TEXTAREA_INTERACTION_VARIANTS = ["focused", "hovered"];
2357
+ const { interactionVariants } = pickAriaComponentVariants(
2358
+ TEXTAREA_INTERACTION_VARIANTS
2359
+ );
2356
2360
  function BaseTextArea(props) {
2357
- return /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.TextArea, __spreadValues$2({}, props));
2361
+ const _a = props, { disabled, updateInteractionVariant } = _a, rest = __objRest$2(_a, ["disabled", "updateInteractionVariant"]);
2362
+ return /* @__PURE__ */ React__default.default.createElement(
2363
+ reactAriaComponents.TextArea,
2364
+ __spreadValues$2({
2365
+ onFocus: () => {
2366
+ updateInteractionVariant == null ? void 0 : updateInteractionVariant({
2367
+ focused: true
2368
+ });
2369
+ },
2370
+ onBlur: () => {
2371
+ updateInteractionVariant == null ? void 0 : updateInteractionVariant({
2372
+ focused: false
2373
+ });
2374
+ },
2375
+ onHoverChange: (isHovered) => {
2376
+ updateInteractionVariant == null ? void 0 : updateInteractionVariant({
2377
+ hovered: isHovered
2378
+ });
2379
+ },
2380
+ disabled
2381
+ }, rest)
2382
+ );
2358
2383
  }
2359
2384
  function registerTextArea(loader, overrides) {
2360
2385
  registerComponentHelper(
@@ -2365,9 +2390,30 @@ function registerTextArea(loader, overrides) {
2365
2390
  displayName: "Aria TextArea",
2366
2391
  importPath: "@plasmicpkgs/react-aria/skinny/registerTextArea",
2367
2392
  importName: "BaseTextArea",
2393
+ interactionVariants,
2368
2394
  props: {
2369
2395
  placeholder: {
2370
2396
  type: "string"
2397
+ },
2398
+ onKeyDown: {
2399
+ type: "eventHandler",
2400
+ argTypes: [{ name: "keyboardEvent", type: "object" }]
2401
+ },
2402
+ onKeyUp: {
2403
+ type: "eventHandler",
2404
+ argTypes: [{ name: "keyboardEvent", type: "object" }]
2405
+ },
2406
+ onCopy: {
2407
+ type: "eventHandler",
2408
+ argTypes: [{ name: "clipbordEvent", type: "object" }]
2409
+ },
2410
+ onCut: {
2411
+ type: "eventHandler",
2412
+ argTypes: [{ name: "clipbordEvent", type: "object" }]
2413
+ },
2414
+ onPaste: {
2415
+ type: "eventHandler",
2416
+ argTypes: [{ name: "clipbordEvent", type: "object" }]
2371
2417
  }
2372
2418
  },
2373
2419
  trapsFocus: true
@@ -2580,9 +2626,61 @@ function registerTextField(loader, overrides) {
2580
2626
  type: "eventHandler",
2581
2627
  argTypes: [{ name: "value", type: "string" }]
2582
2628
  },
2629
+ onFocus: {
2630
+ type: "eventHandler",
2631
+ argTypes: [{ name: "focusEvent", type: "object" }]
2632
+ },
2633
+ onBlur: {
2634
+ type: "eventHandler",
2635
+ argTypes: [{ name: "focusEvent", type: "object" }]
2636
+ },
2583
2637
  onFocusChange: {
2584
2638
  type: "eventHandler",
2585
2639
  argTypes: [{ name: "isFocused", type: "boolean" }]
2640
+ },
2641
+ onKeyDown: {
2642
+ type: "eventHandler",
2643
+ argTypes: [{ name: "keyboardEvent", type: "object" }]
2644
+ },
2645
+ onKeyUp: {
2646
+ type: "eventHandler",
2647
+ argTypes: [{ name: "keyboardEvent", type: "object" }]
2648
+ },
2649
+ onCopy: {
2650
+ type: "eventHandler",
2651
+ argTypes: [{ name: "clipbordEvent", type: "object" }]
2652
+ },
2653
+ onCut: {
2654
+ type: "eventHandler",
2655
+ argTypes: [{ name: "clipbordEvent", type: "object" }]
2656
+ },
2657
+ onPaste: {
2658
+ type: "eventHandler",
2659
+ argTypes: [{ name: "clipbordEvent", type: "object" }]
2660
+ },
2661
+ onCompositionStart: {
2662
+ type: "eventHandler",
2663
+ argTypes: [{ name: "compositionEvent", type: "object" }]
2664
+ },
2665
+ onCompositionEnd: {
2666
+ type: "eventHandler",
2667
+ argTypes: [{ name: "compositionEvent", type: "object" }]
2668
+ },
2669
+ onCompositionUpdate: {
2670
+ type: "eventHandler",
2671
+ argTypes: [{ name: "compositionEvent", type: "object" }]
2672
+ },
2673
+ onSelect: {
2674
+ type: "eventHandler",
2675
+ argTypes: [{ name: "selectionEvent", type: "object" }]
2676
+ },
2677
+ onBeforeInput: {
2678
+ type: "eventHandler",
2679
+ argTypes: [{ name: "inputEvent", type: "object" }]
2680
+ },
2681
+ onInput: {
2682
+ type: "eventHandler",
2683
+ argTypes: [{ name: "inputEvent", type: "object" }]
2586
2684
  }
2587
2685
  }),
2588
2686
  // NOTE: React-Aria does not support render props for <Input> and <Textarea>, so focusVisible and inputHovered states are not implemented
@@ -2592,11 +2690,6 @@ function registerTextField(loader, overrides) {
2592
2690
  valueProp: "value",
2593
2691
  onChangeProp: "onChange",
2594
2692
  variableType: "text"
2595
- },
2596
- isFocused: {
2597
- type: "readonly",
2598
- onChangeProp: "onFocusChange",
2599
- variableType: "boolean"
2600
2693
  }
2601
2694
  },
2602
2695
  trapsFocus: true