@plasmicpkgs/react-aria 0.0.71 → 0.0.72

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 (128) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/react-aria.esm.js +53 -48
  3. package/dist/react-aria.esm.js.map +1 -1
  4. package/dist/react-aria.js +52 -47
  5. package/dist/react-aria.js.map +1 -1
  6. package/dist/utils.d.ts +5 -0
  7. package/package.json +2 -2
  8. package/skinny/{common-0c4336fe.esm.js → common-70efdf8a.esm.js} +2 -2
  9. package/skinny/{common-0c4336fe.esm.js.map → common-70efdf8a.esm.js.map} +1 -1
  10. package/skinny/{common-2e984ab4.cjs.js → common-f6de262a.cjs.js} +2 -2
  11. package/skinny/{common-2e984ab4.cjs.js.map → common-f6de262a.cjs.js.map} +1 -1
  12. package/skinny/registerButton.cjs.js +3 -2
  13. package/skinny/registerButton.cjs.js.map +1 -1
  14. package/skinny/registerButton.esm.js +3 -2
  15. package/skinny/registerButton.esm.js.map +1 -1
  16. package/skinny/registerCheckbox.cjs.js +3 -2
  17. package/skinny/registerCheckbox.cjs.js.map +1 -1
  18. package/skinny/registerCheckbox.esm.js +3 -2
  19. package/skinny/registerCheckbox.esm.js.map +1 -1
  20. package/skinny/registerCheckboxGroup.cjs.js +3 -2
  21. package/skinny/registerCheckboxGroup.cjs.js.map +1 -1
  22. package/skinny/registerCheckboxGroup.esm.js +3 -2
  23. package/skinny/registerCheckboxGroup.esm.js.map +1 -1
  24. package/skinny/registerComboBox.cjs.js +17 -20
  25. package/skinny/registerComboBox.cjs.js.map +1 -1
  26. package/skinny/registerComboBox.esm.js +17 -20
  27. package/skinny/registerComboBox.esm.js.map +1 -1
  28. package/skinny/registerDescription.cjs.js +2 -1
  29. package/skinny/registerDescription.cjs.js.map +1 -1
  30. package/skinny/registerDescription.esm.js +2 -1
  31. package/skinny/registerDescription.esm.js.map +1 -1
  32. package/skinny/registerDialogTrigger.cjs.js +2 -2
  33. package/skinny/registerDialogTrigger.esm.js +2 -2
  34. package/skinny/registerFieldError.cjs.js +2 -1
  35. package/skinny/registerFieldError.cjs.js.map +1 -1
  36. package/skinny/registerFieldError.esm.js +2 -1
  37. package/skinny/registerFieldError.esm.js.map +1 -1
  38. package/skinny/registerForm.cjs.js +2 -1
  39. package/skinny/registerForm.cjs.js.map +1 -1
  40. package/skinny/registerForm.esm.js +2 -1
  41. package/skinny/registerForm.esm.js.map +1 -1
  42. package/skinny/registerHeading.cjs.js +2 -1
  43. package/skinny/registerHeading.cjs.js.map +1 -1
  44. package/skinny/registerHeading.esm.js +2 -1
  45. package/skinny/registerHeading.esm.js.map +1 -1
  46. package/skinny/registerInput.cjs.js +3 -2
  47. package/skinny/registerInput.cjs.js.map +1 -1
  48. package/skinny/registerInput.esm.js +3 -2
  49. package/skinny/registerInput.esm.js.map +1 -1
  50. package/skinny/registerLabel.cjs.js +2 -1
  51. package/skinny/registerLabel.cjs.js.map +1 -1
  52. package/skinny/registerLabel.esm.js +2 -1
  53. package/skinny/registerLabel.esm.js.map +1 -1
  54. package/skinny/{registerListBox-5d740ec8.esm.js → registerListBox-3beb3a9f.esm.js} +2 -2
  55. package/skinny/{registerListBox-5d740ec8.esm.js.map → registerListBox-3beb3a9f.esm.js.map} +1 -1
  56. package/skinny/{registerListBox-44b5ecda.cjs.js → registerListBox-3f613b40.cjs.js} +2 -2
  57. package/skinny/{registerListBox-44b5ecda.cjs.js.map → registerListBox-3f613b40.cjs.js.map} +1 -1
  58. package/skinny/registerListBox.cjs.js +3 -2
  59. package/skinny/registerListBox.cjs.js.map +1 -1
  60. package/skinny/registerListBox.esm.js +3 -2
  61. package/skinny/registerListBox.esm.js.map +1 -1
  62. package/skinny/registerListBoxItem.cjs.js +2 -1
  63. package/skinny/registerListBoxItem.cjs.js.map +1 -1
  64. package/skinny/registerListBoxItem.esm.js +2 -1
  65. package/skinny/registerListBoxItem.esm.js.map +1 -1
  66. package/skinny/registerModal.cjs.js +2 -2
  67. package/skinny/registerModal.esm.js +2 -2
  68. package/skinny/registerPopover.cjs.js +8 -13
  69. package/skinny/registerPopover.cjs.js.map +1 -1
  70. package/skinny/registerPopover.esm.js +8 -13
  71. package/skinny/registerPopover.esm.js.map +1 -1
  72. package/skinny/registerRadio.cjs.js +3 -2
  73. package/skinny/registerRadio.cjs.js.map +1 -1
  74. package/skinny/registerRadio.esm.js +3 -2
  75. package/skinny/registerRadio.esm.js.map +1 -1
  76. package/skinny/registerRadioGroup.cjs.js +3 -2
  77. package/skinny/registerRadioGroup.cjs.js.map +1 -1
  78. package/skinny/registerRadioGroup.esm.js +3 -2
  79. package/skinny/registerRadioGroup.esm.js.map +1 -1
  80. package/skinny/registerSection.cjs.js +2 -1
  81. package/skinny/registerSection.cjs.js.map +1 -1
  82. package/skinny/registerSection.esm.js +2 -1
  83. package/skinny/registerSection.esm.js.map +1 -1
  84. package/skinny/registerSelect.cjs.js +16 -22
  85. package/skinny/registerSelect.cjs.js.map +1 -1
  86. package/skinny/registerSelect.esm.js +17 -23
  87. package/skinny/registerSelect.esm.js.map +1 -1
  88. package/skinny/registerSlider.cjs.js +3 -2
  89. package/skinny/registerSlider.cjs.js.map +1 -1
  90. package/skinny/registerSlider.esm.js +3 -2
  91. package/skinny/registerSlider.esm.js.map +1 -1
  92. package/skinny/registerSliderOutput.cjs.js +2 -1
  93. package/skinny/registerSliderOutput.cjs.js.map +1 -1
  94. package/skinny/registerSliderOutput.esm.js +2 -1
  95. package/skinny/registerSliderOutput.esm.js.map +1 -1
  96. package/skinny/registerSliderThumb.cjs.js +3 -2
  97. package/skinny/registerSliderThumb.cjs.js.map +1 -1
  98. package/skinny/registerSliderThumb.esm.js +3 -2
  99. package/skinny/registerSliderThumb.esm.js.map +1 -1
  100. package/skinny/registerSliderTrack.cjs.js +2 -1
  101. package/skinny/registerSliderTrack.cjs.js.map +1 -1
  102. package/skinny/registerSliderTrack.esm.js +2 -1
  103. package/skinny/registerSliderTrack.esm.js.map +1 -1
  104. package/skinny/registerSwitch.cjs.js +3 -2
  105. package/skinny/registerSwitch.cjs.js.map +1 -1
  106. package/skinny/registerSwitch.esm.js +3 -2
  107. package/skinny/registerSwitch.esm.js.map +1 -1
  108. package/skinny/registerText.cjs.js +2 -1
  109. package/skinny/registerText.cjs.js.map +1 -1
  110. package/skinny/registerText.esm.js +2 -1
  111. package/skinny/registerText.esm.js.map +1 -1
  112. package/skinny/registerTextArea.cjs.js +3 -2
  113. package/skinny/registerTextArea.cjs.js.map +1 -1
  114. package/skinny/registerTextArea.esm.js +3 -2
  115. package/skinny/registerTextArea.esm.js.map +1 -1
  116. package/skinny/registerTextField.cjs.js +3 -2
  117. package/skinny/registerTextField.cjs.js.map +1 -1
  118. package/skinny/registerTextField.esm.js +3 -2
  119. package/skinny/registerTextField.esm.js.map +1 -1
  120. package/skinny/registerTooltip.cjs.js +1 -1
  121. package/skinny/registerTooltip.esm.js +1 -1
  122. package/skinny/{utils-c7662a47.esm.js → utils-25448fbd.esm.js} +23 -2
  123. package/skinny/utils-25448fbd.esm.js.map +1 -0
  124. package/skinny/{utils-8dbb4d1f.cjs.js → utils-3e796b18.cjs.js} +23 -1
  125. package/skinny/utils-3e796b18.cjs.js.map +1 -0
  126. package/skinny/utils.d.ts +5 -0
  127. package/skinny/utils-8dbb4d1f.cjs.js.map +0 -1
  128. package/skinny/utils-c7662a47.esm.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import React, { useEffect, useState, useMemo, forwardRef, useImperativeHandle, Component } from 'react';
2
- import { Button, Checkbox, Text, FieldError, Label, CheckboxGroup, Input, ListBoxItem, ListBox, Section, Header, PopoverContext, Popover, ComboBox, ComboBoxStateContext, Heading, ModalOverlay, Modal, Dialog, DialogTrigger, Radio, RadioGroup, Select, SelectValue, SliderOutput, SliderThumb, Slider, SliderTrack, Switch, TextArea, TextField, TooltipTrigger, Tooltip } from 'react-aria-components';
3
- import registerComponent from '@plasmicapp/host/registerComponent';
2
+ import { Button, Checkbox, Text, FieldError, Label, CheckboxGroup, Input, ListBoxItem, ListBox, Section, Header, PopoverContext, Popover, ComboBox, ComboBoxStateContext, Heading, ModalOverlay, Modal, Dialog, DialogTrigger, Radio, RadioGroup, Select, SelectStateContext, SelectValue, SliderOutput, SliderThumb, Slider, SliderTrack, Switch, TextArea, TextField, TooltipTrigger, Tooltip } from 'react-aria-components';
4
3
  import { usePlasmicCanvasContext, usePlasmicCanvasComponentInfo } from '@plasmicapp/host';
4
+ import registerComponent from '@plasmicapp/host/registerComponent';
5
5
  import { mergeProps, useButton } from 'react-aria';
6
6
  import { mergeProps as mergeProps$1 } from '@react-aria/utils';
7
7
  import flattenChildren from 'react-keyed-flatten-children';
@@ -25,6 +25,25 @@ var __spreadValues$r = (a, b) => {
25
25
  return a;
26
26
  };
27
27
  var __spreadProps$h = (a, b) => __defProps$h(a, __getOwnPropDescs$h(b));
28
+ function useAutoOpen({
29
+ props,
30
+ open,
31
+ close
32
+ }) {
33
+ var _a, _b;
34
+ const inPlasmicCanvas = !!usePlasmicCanvasContext();
35
+ const isSelected = (_b = (_a = usePlasmicCanvasComponentInfo(props)) == null ? void 0 : _a.isSelected) != null ? _b : false;
36
+ useEffect(() => {
37
+ if (!inPlasmicCanvas) {
38
+ return;
39
+ }
40
+ if (isSelected) {
41
+ open == null ? void 0 : open();
42
+ } else {
43
+ close == null ? void 0 : close();
44
+ }
45
+ }, [isSelected, inPlasmicCanvas]);
46
+ }
28
47
  function registerComponentHelper(loader, component, meta, overrides) {
29
48
  var _a;
30
49
  meta = __spreadProps$h(__spreadValues$r({}, meta), {
@@ -2088,27 +2107,22 @@ function BasePopover(props) {
2088
2107
  const isStandalone = !React.useContext(PopoverContext);
2089
2108
  const context = React.useContext(PlasmicPopoverContext);
2090
2109
  const triggerRef = React.useRef(null);
2091
- const isEditMode = !!usePlasmicCanvasContext();
2110
+ const canvasContext = usePlasmicCanvasContext();
2092
2111
  const _b = mergeProps$1(
2093
2112
  {
2094
- isOpen: context == null ? void 0 : context.isOpen
2113
+ isOpen: context == null ? void 0 : context.isOpen,
2114
+ // isNonModal: Whether the popover is non-modal, i.e. elements outside the popover may be interacted with by assistive technologies.
2115
+ // Setting isNonModal to true in edit mode (canvas) means that the popover will not prevent the user from interacting with the canvas while the popover is open.
2116
+ isNonModal: canvasContext && !canvasContext.interactive
2095
2117
  },
2096
- /**
2097
- * isNonModal: Whether the popover is non-modal, i.e. elements outside the popover may be interacted with by assistive technologies. *
2098
- *
2099
- * Setting isNonModal to true in edit mode (canvas) means that the popover will not prevent the user from interacting with the canvas while the popover is open.
2100
- */
2101
- isEditMode ? { isNonModal: true } : null,
2102
2118
  restProps,
2103
2119
  { className: `${resetClassName}` },
2104
2120
  // Override some props if the popover is standalone
2105
2121
  isStandalone ? {
2106
2122
  triggerRef,
2107
2123
  isNonModal: true,
2108
- /**
2109
- * Always true, because we assume that popover is always going to be controlled by a parent like Select, Combobox, DialogTrigger, etc, and its only really standalone in component view
2110
- * In component view, we never want to start with an empty artboard, so isOpen has to be true
2111
- * */
2124
+ // Always true, because we assume that popover is always going to be controlled by a parent like Select, Combobox, DialogTrigger, etc, and its only really standalone in component view
2125
+ // In component view, we never want to start with an empty artboard, so isOpen has to be true
2112
2126
  isOpen: true
2113
2127
  } : null
2114
2128
  ), { children } = _b, mergedProps = __objRest$d(_b, ["children"]);
@@ -2255,24 +2269,21 @@ var __objRest$c = (source, exclude) => {
2255
2269
  };
2256
2270
  const COMBOBOX_NAME = makeComponentName("combobox");
2257
2271
  function ComboboxAutoOpen(props) {
2258
- var _a, _b;
2259
- const isEditMode = !!usePlasmicCanvasContext();
2260
- const { isSelected } = (_a = usePlasmicCanvasComponentInfo(props)) != null ? _a : {};
2261
- const { open, close } = (_b = React.useContext(ComboBoxStateContext)) != null ? _b : {};
2262
- useEffect(() => {
2263
- if (!isEditMode) {
2264
- return;
2265
- }
2266
- if (isSelected) {
2267
- open == null ? void 0 : open(void 0, "manual");
2268
- } else {
2269
- close == null ? void 0 : close();
2270
- }
2271
- }, [isSelected, isEditMode]);
2272
+ var _a;
2273
+ const { open, close } = (_a = React.useContext(ComboBoxStateContext)) != null ? _a : {};
2274
+ useAutoOpen({ props, open, close });
2272
2275
  return null;
2273
2276
  }
2274
2277
  function BaseComboBox(props) {
2275
- const _a = props, { children, setControlContextData, isOpen } = _a, rest = __objRest$c(_a, ["children", "setControlContextData", "isOpen"]);
2278
+ const _a = props, {
2279
+ children,
2280
+ setControlContextData,
2281
+ isOpen: _isOpen
2282
+ } = _a, rest = __objRest$c(_a, [
2283
+ "children",
2284
+ "setControlContextData",
2285
+ "isOpen"
2286
+ ]);
2276
2287
  const idManager = useMemo(() => new ListBoxItemIdManager(), []);
2277
2288
  useEffect(() => {
2278
2289
  idManager.subscribe((ids) => {
@@ -2281,7 +2292,7 @@ function BaseComboBox(props) {
2281
2292
  });
2282
2293
  });
2283
2294
  }, []);
2284
- return /* @__PURE__ */ React.createElement(ComboBox, __spreadValues$e({}, rest), /* @__PURE__ */ React.createElement(PlasmicPopoverContext.Provider, { value: { isOpen } }, /* @__PURE__ */ React.createElement(
2295
+ return /* @__PURE__ */ React.createElement(ComboBox, __spreadValues$e({}, rest), /* @__PURE__ */ React.createElement(PlasmicPopoverContext.Provider, { value: {} }, /* @__PURE__ */ React.createElement(
2285
2296
  PlasmicListBoxContext.Provider,
2286
2297
  {
2287
2298
  value: {
@@ -3131,13 +3142,19 @@ var __spreadValues$8 = (a, b) => {
3131
3142
  return a;
3132
3143
  };
3133
3144
  var __spreadProps$5 = (a, b) => __defProps$5(a, __getOwnPropDescs$5(b));
3145
+ function SelectAutoOpen(props) {
3146
+ var _a;
3147
+ const { open, close } = (_a = React.useContext(SelectStateContext)) != null ? _a : {};
3148
+ useAutoOpen({ props, open, close });
3149
+ return null;
3150
+ }
3134
3151
  const BaseSelectValue = (props) => {
3135
- const { children, customize } = props;
3136
- return /* @__PURE__ */ React.createElement(SelectValue, null, ({ isPlaceholder, selectedText }) => /* @__PURE__ */ React.createElement(React.Fragment, null, isPlaceholder ? /* @__PURE__ */ React.createElement("span", null, "Select an item") : /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("span", null, customize ? children : selectedText))));
3152
+ const { children, customize, className } = props;
3153
+ const placeholder = customize ? children : "Select an item";
3154
+ return /* @__PURE__ */ React.createElement(SelectValue, { className }, ({ isPlaceholder, selectedText }) => /* @__PURE__ */ React.createElement(React.Fragment, null, isPlaceholder ? placeholder : selectedText));
3137
3155
  };
3138
3156
  const SELECT_NAME = makeComponentName("select");
3139
3157
  function BaseSelect(props) {
3140
- var _a, _b;
3141
3158
  const {
3142
3159
  selectedKey,
3143
3160
  onSelectionChange,
@@ -3149,12 +3166,9 @@ function BaseSelect(props) {
3149
3166
  children,
3150
3167
  disabledKeys,
3151
3168
  name,
3152
- isOpen,
3153
3169
  setControlContextData,
3154
3170
  "aria-label": ariaLabel
3155
3171
  } = props;
3156
- const { isSelected } = (_a = usePlasmicCanvasComponentInfo(props)) != null ? _a : {};
3157
- const _isOpen = (_b = isSelected || isOpen) != null ? _b : false;
3158
3172
  let idManager = useMemo(() => new ListBoxItemIdManager(), []);
3159
3173
  useEffect(() => {
3160
3174
  idManager.subscribe((ids) => {
@@ -3175,10 +3189,10 @@ function BaseSelect(props) {
3175
3189
  style,
3176
3190
  name,
3177
3191
  disabledKeys,
3178
- "aria-label": ariaLabel,
3179
- isOpen: _isOpen
3192
+ "aria-label": ariaLabel
3180
3193
  }, extractPlasmicDataProps(props)),
3181
- /* @__PURE__ */ React.createElement(PlasmicPopoverContext.Provider, { value: { isOpen: _isOpen } }, /* @__PURE__ */ React.createElement(
3194
+ /* @__PURE__ */ React.createElement(SelectAutoOpen, __spreadValues$8({}, props)),
3195
+ /* @__PURE__ */ React.createElement(PlasmicPopoverContext.Provider, { value: {} }, /* @__PURE__ */ React.createElement(
3182
3196
  PlasmicListBoxContext.Provider,
3183
3197
  {
3184
3198
  value: {
@@ -3210,15 +3224,6 @@ function registerSelect(loader) {
3210
3224
  }
3211
3225
  ],
3212
3226
  hidden: (props) => !props.customize
3213
- },
3214
- className: {
3215
- type: "class",
3216
- selectors: [
3217
- {
3218
- selector: ":self[data-placeholder]",
3219
- label: "Placeholder"
3220
- }
3221
- ]
3222
3227
  }
3223
3228
  },
3224
3229
  trapsFocus: true