@plasmicpkgs/react-aria 0.0.112 → 0.0.114

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 (122) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/react-aria.esm.js +60 -27
  3. package/dist/react-aria.esm.js.map +1 -1
  4. package/dist/react-aria.js +59 -26
  5. package/dist/react-aria.js.map +1 -1
  6. package/dist/registerDialogTrigger.d.ts +6 -0
  7. package/dist/utils.d.ts +19 -2
  8. package/package.json +2 -4
  9. package/skinny/{common-ceebbaea.esm.js → common-10d1b069.esm.js} +2 -2
  10. package/skinny/{common-ceebbaea.esm.js.map → common-10d1b069.esm.js.map} +1 -1
  11. package/skinny/{common-b3b54c72.cjs.js → common-c8beb360.cjs.js} +2 -2
  12. package/skinny/{common-b3b54c72.cjs.js.map → common-c8beb360.cjs.js.map} +1 -1
  13. package/skinny/registerButton.cjs.js +2 -2
  14. package/skinny/registerButton.esm.js +2 -2
  15. package/skinny/registerButton.stories.cjs.js +2 -2
  16. package/skinny/registerButton.stories.esm.js +2 -2
  17. package/skinny/registerCheckbox.cjs.js +2 -2
  18. package/skinny/registerCheckbox.esm.js +2 -2
  19. package/skinny/registerCheckboxGroup.cjs.js +2 -2
  20. package/skinny/registerCheckboxGroup.esm.js +2 -2
  21. package/skinny/registerCheckboxGroup.stories.cjs.js +2 -2
  22. package/skinny/registerCheckboxGroup.stories.esm.js +2 -2
  23. package/skinny/registerComboBox.cjs.js +3 -3
  24. package/skinny/registerComboBox.esm.js +3 -3
  25. package/skinny/registerComboBox.stories.cjs.js +3 -3
  26. package/skinny/registerComboBox.stories.esm.js +3 -3
  27. package/skinny/registerDescription.cjs.js +2 -2
  28. package/skinny/registerDescription.esm.js +2 -2
  29. package/skinny/registerDialog.cjs.js +2 -2
  30. package/skinny/registerDialog.esm.js +2 -2
  31. package/skinny/registerDialogTrigger.cjs.js +24 -11
  32. package/skinny/registerDialogTrigger.cjs.js.map +1 -1
  33. package/skinny/registerDialogTrigger.d.ts +6 -0
  34. package/skinny/registerDialogTrigger.esm.js +24 -12
  35. package/skinny/registerDialogTrigger.esm.js.map +1 -1
  36. package/skinny/registerDialogTrigger.stories.cjs.js +260 -18
  37. package/skinny/registerDialogTrigger.stories.cjs.js.map +1 -1
  38. package/skinny/registerDialogTrigger.stories.esm.js +257 -20
  39. package/skinny/registerDialogTrigger.stories.esm.js.map +1 -1
  40. package/skinny/registerFieldError.cjs.js +1 -1
  41. package/skinny/registerFieldError.esm.js +1 -1
  42. package/skinny/registerForm.cjs.js +1 -1
  43. package/skinny/registerForm.esm.js +1 -1
  44. package/skinny/registerHeading.cjs.js +2 -2
  45. package/skinny/registerHeading.esm.js +2 -2
  46. package/skinny/registerInput.cjs.js +2 -2
  47. package/skinny/registerInput.esm.js +2 -2
  48. package/skinny/registerLabel.cjs.js +2 -2
  49. package/skinny/registerLabel.esm.js +2 -2
  50. package/skinny/{registerListBox-a99736df.cjs.js → registerListBox-87d0e61a.cjs.js} +3 -3
  51. package/skinny/{registerListBox-a99736df.cjs.js.map → registerListBox-87d0e61a.cjs.js.map} +1 -1
  52. package/skinny/{registerListBox-49626f55.esm.js → registerListBox-a5fd72be.esm.js} +3 -3
  53. package/skinny/{registerListBox-49626f55.esm.js.map → registerListBox-a5fd72be.esm.js.map} +1 -1
  54. package/skinny/registerListBox.cjs.js +3 -3
  55. package/skinny/registerListBox.esm.js +3 -3
  56. package/skinny/registerListBoxItem.cjs.js +2 -2
  57. package/skinny/registerListBoxItem.esm.js +2 -2
  58. package/skinny/registerListbox.stories.cjs.js +3 -3
  59. package/skinny/registerListbox.stories.esm.js +3 -3
  60. package/skinny/registerModal.cjs.js +18 -14
  61. package/skinny/registerModal.cjs.js.map +1 -1
  62. package/skinny/registerModal.esm.js +19 -15
  63. package/skinny/registerModal.esm.js.map +1 -1
  64. package/skinny/registerModal.stories.cjs.js +2 -2
  65. package/skinny/registerModal.stories.esm.js +2 -2
  66. package/skinny/registerOverlayArrow.cjs.js +2 -2
  67. package/skinny/registerOverlayArrow.esm.js +2 -2
  68. package/skinny/registerPopover.cjs.js +2 -2
  69. package/skinny/registerPopover.esm.js +2 -2
  70. package/skinny/registerPopover.stories.cjs.js +2 -2
  71. package/skinny/registerPopover.stories.esm.js +2 -2
  72. package/skinny/registerRadio.cjs.js +2 -2
  73. package/skinny/registerRadio.esm.js +2 -2
  74. package/skinny/registerRadioGroup.cjs.js +2 -2
  75. package/skinny/registerRadioGroup.esm.js +2 -2
  76. package/skinny/registerRadioGroup.stories.cjs.js +2 -2
  77. package/skinny/registerRadioGroup.stories.esm.js +2 -2
  78. package/skinny/registerSection.cjs.js +3 -3
  79. package/skinny/registerSection.esm.js +3 -3
  80. package/skinny/registerSelect.cjs.js +3 -3
  81. package/skinny/registerSelect.esm.js +3 -3
  82. package/skinny/registerSelect.stories.cjs.js +3 -3
  83. package/skinny/registerSelect.stories.esm.js +3 -3
  84. package/skinny/registerSlider.cjs.js +2 -2
  85. package/skinny/registerSlider.esm.js +2 -2
  86. package/skinny/registerSlider.stories.cjs.js +2 -2
  87. package/skinny/registerSlider.stories.esm.js +2 -2
  88. package/skinny/registerSliderOutput.cjs.js +2 -2
  89. package/skinny/registerSliderOutput.esm.js +2 -2
  90. package/skinny/registerSliderThumb.cjs.js +2 -2
  91. package/skinny/registerSliderThumb.esm.js +2 -2
  92. package/skinny/registerSliderTrack.cjs.js +2 -2
  93. package/skinny/registerSliderTrack.esm.js +2 -2
  94. package/skinny/registerSwitch.cjs.js +2 -2
  95. package/skinny/registerSwitch.esm.js +2 -2
  96. package/skinny/registerSwitch.stories.cjs.js +2 -2
  97. package/skinny/registerSwitch.stories.esm.js +2 -2
  98. package/skinny/registerText.cjs.js +2 -2
  99. package/skinny/registerText.esm.js +2 -2
  100. package/skinny/registerTextArea.cjs.js +2 -2
  101. package/skinny/registerTextArea.esm.js +2 -2
  102. package/skinny/registerTextField-common-stories.cjs.js +2 -2
  103. package/skinny/registerTextField-common-stories.esm.js +2 -2
  104. package/skinny/registerTextField-input.stories.cjs.js +2 -2
  105. package/skinny/registerTextField-input.stories.esm.js +2 -2
  106. package/skinny/registerTextField-textarea.stories.cjs.js +2 -2
  107. package/skinny/registerTextField-textarea.stories.esm.js +2 -2
  108. package/skinny/registerTextField.cjs.js +2 -2
  109. package/skinny/registerTextField.esm.js +2 -2
  110. package/skinny/registerTooltip.cjs.js +12 -10
  111. package/skinny/registerTooltip.cjs.js.map +1 -1
  112. package/skinny/registerTooltip.esm.js +12 -10
  113. package/skinny/registerTooltip.esm.js.map +1 -1
  114. package/skinny/registerTooltip.stories.cjs.js +2 -2
  115. package/skinny/registerTooltip.stories.esm.js +2 -2
  116. package/skinny/{utils-5d1b4c6b.esm.js → utils-59f72eb9.esm.js} +17 -2
  117. package/skinny/utils-59f72eb9.esm.js.map +1 -0
  118. package/skinny/{utils-7d000fa4.cjs.js → utils-91eee672.cjs.js} +17 -1
  119. package/skinny/utils-91eee672.cjs.js.map +1 -0
  120. package/skinny/utils.d.ts +19 -2
  121. package/skinny/utils-5d1b4c6b.esm.js.map +0 -1
  122. package/skinny/utils-7d000fa4.cjs.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { usePlasmicCanvasContext, usePlasmicCanvasComponentInfo, usePlasmicLink } from '@plasmicapp/host';
2
2
  import React, { useEffect, useState, useMemo, useCallback, forwardRef, useImperativeHandle, Component, useRef, useId } from 'react';
3
- import { mergeProps, useLink, useHover, useFocusRing, useFocusWithin } from 'react-aria';
3
+ import { mergeProps, useLink, useHover, useFocusRing, useButton, useFocusWithin } from 'react-aria';
4
4
  import { Button, Checkbox, Text, Label, CheckboxGroup, Input, ListBoxItem, ListBox, Section, Header, PopoverContext, Popover, ComboBox, ComboBoxStateContext, Dialog, ModalOverlay, Modal, DialogTrigger, Heading, TooltipContext, OverlayArrow, Radio, RadioGroup, Select, SelectStateContext, SelectValue, SliderOutput, SliderThumb, Slider, SliderTrack, Switch, TextArea, TextField, Provider, TooltipTriggerStateContext, Tooltip } from 'react-aria-components';
5
5
  import registerComponent from '@plasmicapp/host/registerComponent';
6
6
  import { mergeProps as mergeProps$1 } from '@react-aria/utils';
@@ -26,6 +26,21 @@ var __spreadValues$s = (a, b) => {
26
26
  return a;
27
27
  };
28
28
  var __spreadProps$n = (a, b) => __defProps$n(a, __getOwnPropDescs$n(b));
29
+ function useIsOpen({
30
+ triggerSlotName,
31
+ isOpen,
32
+ __plasmic_selection_prop__
33
+ }) {
34
+ var _a, _b;
35
+ const canvasContext = usePlasmicCanvasContext();
36
+ const { isSelected, selectedSlotName } = (_b = (_a = usePlasmicCanvasComponentInfo) == null ? void 0 : _a({ __plasmic_selection_prop__ })) != null ? _b : {};
37
+ if (!canvasContext) {
38
+ return isOpen;
39
+ }
40
+ const isTriggerSlotSelected = isDefined(selectedSlotName) && selectedSlotName === triggerSlotName;
41
+ const isAutoOpenedBySelection = isSelected && !isTriggerSlotSelected;
42
+ return Boolean(isAutoOpenedBySelection || isOpen);
43
+ }
29
44
  function useAutoOpen({
30
45
  props,
31
46
  open,
@@ -2630,7 +2645,6 @@ var __objRest$c = (source, exclude) => {
2630
2645
  };
2631
2646
  const BaseModal = forwardRef(
2632
2647
  function BaseModalInner(props, ref) {
2633
- var _b, _c, _d;
2634
2648
  const _a = props, {
2635
2649
  children,
2636
2650
  modalOverlayClass,
@@ -2638,7 +2652,9 @@ const BaseModal = forwardRef(
2638
2652
  isOpen,
2639
2653
  resetClassName,
2640
2654
  setControlContextData,
2641
- isDismissable
2655
+ isDismissable,
2656
+ defaultOpen,
2657
+ __plasmic_selection_prop__
2642
2658
  } = _a, rest = __objRest$c(_a, [
2643
2659
  "children",
2644
2660
  "modalOverlayClass",
@@ -2646,22 +2662,24 @@ const BaseModal = forwardRef(
2646
2662
  "isOpen",
2647
2663
  "resetClassName",
2648
2664
  "setControlContextData",
2649
- "isDismissable"
2665
+ "isDismissable",
2666
+ "defaultOpen",
2667
+ "__plasmic_selection_prop__"
2650
2668
  ]);
2651
2669
  const canvasCtx = usePlasmicCanvasContext();
2652
2670
  const isEditMode = canvasCtx && canvasCtx.interactive === false;
2653
- const isSelected = (_d = (_c = (_b = usePlasmicCanvasComponentInfo) == null ? void 0 : _b(props)) == null ? void 0 : _c.isSelected) != null ? _d : false;
2654
2671
  const contextProps = React.useContext(PlasmicDialogTriggerContext);
2655
2672
  const isStandalone = !contextProps;
2673
+ const isOpen2 = useIsOpen({ isOpen, __plasmic_selection_prop__ });
2656
2674
  const mergedProps = mergeProps(rest, {
2657
- isOpen: isStandalone ? isSelected || isOpen : contextProps.isOpen,
2658
- /*
2659
- isDismissable on canvas (non-interactive mode) causes the following two issues:
2660
- 1. Clicking anywhere inside the modal dismisses it
2661
- 2. If the modal is auto-opened due to selection in outline tab, the modal stays open despite issue #1, but the text elements inside the modal are no longer selectable, and therefore the text or headings inside the modal are not editable.
2662
-
2663
- To fix the above issue, we set an interim isDismissable state to false in edit mode, because it only matters in interactive mode.
2664
- */
2675
+ // Since open/defaultOpen props are hidden when the modal is inside dialogTrigger, we also unset them here.
2676
+ isOpen: isStandalone ? isOpen2 : void 0,
2677
+ defaultOpen: isStandalone ? defaultOpen : void 0,
2678
+ // isDismissable on canvas (non-interactive mode) causes the following two issues:
2679
+ // 1. Clicking anywhere inside the modal dismisses it
2680
+ // 2. If the modal is auto-opened due to selection in outline tab, the modal stays open despite issue #1, but the text elements inside the modal are no longer selectable, and therefore the text or headings inside the modal are not editable.
2681
+ //
2682
+ // To fix the above issue, we set an interim isDismissable state to false in edit mode, because it only matters in interactive mode.
2665
2683
  isDismissable: isEditMode ? false : isDismissable
2666
2684
  });
2667
2685
  setControlContextData == null ? void 0 : setControlContextData({
@@ -2767,6 +2785,7 @@ function registerModal(loader, overrides) {
2767
2785
  type: "boolean",
2768
2786
  editOnly: true,
2769
2787
  uncontrolledProp: "defaultOpen",
2788
+ // standalone Modals should default to open so that they are visible when inserted
2770
2789
  defaultValueHint: true,
2771
2790
  defaultValue: true,
2772
2791
  hidden: hasParent
@@ -2833,15 +2852,28 @@ var __objRest$b = (source, exclude) => {
2833
2852
  }
2834
2853
  return target;
2835
2854
  };
2855
+ function TriggerWrapper$1({ children, className }) {
2856
+ const ref = React.useRef(null);
2857
+ const { buttonProps } = useButton({}, ref);
2858
+ const mergedProps = mergeProps(buttonProps, {
2859
+ ref,
2860
+ // We expose className to allow user control over the wrapper div's styling.
2861
+ className,
2862
+ style: COMMON_STYLES
2863
+ });
2864
+ return /* @__PURE__ */ React.createElement("div", __spreadValues$d({}, mergedProps), children);
2865
+ }
2836
2866
  function BaseDialogTrigger(props) {
2837
- var _b, _c;
2838
- const _a = props, { trigger, dialog, isOpen } = _a, rest = __objRest$b(_a, ["trigger", "dialog", "isOpen"]);
2839
- const { isSelected, selectedSlotName } = (_c = (_b = usePlasmicCanvasComponentInfo) == null ? void 0 : _b(props)) != null ? _c : {};
2840
- const isAutoOpen = selectedSlotName !== "trigger" && isSelected;
2867
+ const _a = props, { trigger, dialog, isOpen, className, __plasmic_selection_prop__ } = _a, rest = __objRest$b(_a, ["trigger", "dialog", "isOpen", "className", "__plasmic_selection_prop__"]);
2868
+ const isOpen2 = useIsOpen({
2869
+ triggerSlotName: "trigger",
2870
+ isOpen,
2871
+ __plasmic_selection_prop__
2872
+ });
2841
2873
  const mergedProps = __spreadProps$b(__spreadValues$d({}, rest), {
2842
- isOpen: isAutoOpen || isOpen
2874
+ isOpen: isOpen2
2843
2875
  });
2844
- return /* @__PURE__ */ React.createElement(PlasmicDialogTriggerContext.Provider, { value: mergedProps }, /* @__PURE__ */ React.createElement(DialogTrigger, __spreadValues$d({}, mergedProps), trigger, dialog));
2876
+ return /* @__PURE__ */ React.createElement(PlasmicDialogTriggerContext.Provider, { value: mergedProps }, /* @__PURE__ */ React.createElement(DialogTrigger, __spreadValues$d({}, mergedProps), trigger && /* @__PURE__ */ React.createElement(TriggerWrapper$1, { className }, trigger), dialog));
2845
2877
  }
2846
2878
  function registerDialogTrigger(loader, overrides) {
2847
2879
  registerComponentHelper(
@@ -2852,7 +2884,6 @@ function registerDialogTrigger(loader, overrides) {
2852
2884
  displayName: "Aria Dialog Trigger",
2853
2885
  importPath: "@plasmicpkgs/react-aria/skinny/registerDialogTrigger",
2854
2886
  importName: "BaseDialogTrigger",
2855
- styleSections: false,
2856
2887
  props: {
2857
2888
  trigger: {
2858
2889
  type: "slot",
@@ -4906,7 +4937,6 @@ function UncontrolledBaseTooltip(_a) {
4906
4937
  );
4907
4938
  }
4908
4939
  function ControlledBaseTooltip(props) {
4909
- var _a, _b;
4910
4940
  const {
4911
4941
  children,
4912
4942
  isDisabled = false,
@@ -4923,11 +4953,14 @@ function ControlledBaseTooltip(props) {
4923
4953
  className,
4924
4954
  onOpenChange = () => {
4925
4955
  },
4926
- plasmicUpdateVariant
4956
+ plasmicUpdateVariant,
4957
+ __plasmic_selection_prop__
4927
4958
  } = props;
4928
- const { isSelected, selectedSlotName } = (_b = (_a = usePlasmicCanvasComponentInfo) == null ? void 0 : _a(props)) != null ? _b : {};
4929
- const isSelectedOnCanvas = selectedSlotName !== "children" && isSelected;
4930
- const _isOpen = isSelectedOnCanvas || isOpen;
4959
+ const isOpen2 = useIsOpen({
4960
+ triggerSlotName: "children",
4961
+ isOpen,
4962
+ __plasmic_selection_prop__
4963
+ });
4931
4964
  const ref = useRef(null);
4932
4965
  const tooltipId = useId();
4933
4966
  const state = useTooltipTriggerState(__spreadProps(__spreadValues({}, props), {
@@ -4938,7 +4971,7 @@ function ControlledBaseTooltip(props) {
4938
4971
  {
4939
4972
  ref,
4940
4973
  className,
4941
- tooltipId: _isOpen ? tooltipId : void 0,
4974
+ tooltipId: isOpen2 ? tooltipId : void 0,
4942
4975
  isDisabled,
4943
4976
  onOpenChange,
4944
4977
  triggerOnFocusOnly: trigger === "focus"
@@ -4949,7 +4982,7 @@ function ControlledBaseTooltip(props) {
4949
4982
  {
4950
4983
  triggerRef: ref,
4951
4984
  id: tooltipId,
4952
- isOpen: _isOpen,
4985
+ isOpen: isOpen2,
4953
4986
  offset,
4954
4987
  delay,
4955
4988
  closeDelay,