@plasmicpkgs/react-aria 0.0.97 → 0.0.99

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 (80) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/react-aria.esm.js +110 -28
  3. package/dist/react-aria.esm.js.map +1 -1
  4. package/dist/react-aria.js +109 -27
  5. package/dist/react-aria.js.map +1 -1
  6. package/dist/registerButton.d.ts +10 -3
  7. package/dist/registerOverlayArrow.d.ts +1 -0
  8. package/package.json +2 -2
  9. package/skinny/{common-bf3c2660.cjs.js → common-b3b54c72.cjs.js} +20 -5
  10. package/skinny/common-b3b54c72.cjs.js.map +1 -0
  11. package/skinny/{common-2dfadd70.esm.js → common-ceebbaea.esm.js} +20 -5
  12. package/skinny/common-ceebbaea.esm.js.map +1 -0
  13. package/skinny/registerButton.cjs.js +90 -23
  14. package/skinny/registerButton.cjs.js.map +1 -1
  15. package/skinny/registerButton.d.ts +10 -3
  16. package/skinny/registerButton.esm.js +91 -24
  17. package/skinny/registerButton.esm.js.map +1 -1
  18. package/skinny/registerCheckbox.cjs.js +1 -1
  19. package/skinny/registerCheckbox.esm.js +1 -1
  20. package/skinny/registerCheckboxGroup.cjs.js +1 -1
  21. package/skinny/registerCheckboxGroup.esm.js +1 -1
  22. package/skinny/registerComboBox.cjs.js +3 -3
  23. package/skinny/registerComboBox.esm.js +3 -3
  24. package/skinny/registerDescription.cjs.js +1 -1
  25. package/skinny/registerDescription.esm.js +1 -1
  26. package/skinny/registerDialog.cjs.js +1 -1
  27. package/skinny/registerDialog.esm.js +1 -1
  28. package/skinny/registerDialogTrigger.cjs.js +1 -1
  29. package/skinny/registerDialogTrigger.esm.js +1 -1
  30. package/skinny/registerHeading.cjs.js +1 -1
  31. package/skinny/registerHeading.esm.js +1 -1
  32. package/skinny/registerInput.cjs.js +1 -1
  33. package/skinny/registerInput.esm.js +1 -1
  34. package/skinny/registerLabel.cjs.js +1 -1
  35. package/skinny/registerLabel.esm.js +1 -1
  36. package/skinny/{registerListBox-5d2e3f2e.esm.js → registerListBox-40846430.esm.js} +2 -2
  37. package/skinny/{registerListBox-5d2e3f2e.esm.js.map → registerListBox-40846430.esm.js.map} +1 -1
  38. package/skinny/{registerListBox-9ba3ccfe.cjs.js → registerListBox-a99736df.cjs.js} +2 -2
  39. package/skinny/{registerListBox-9ba3ccfe.cjs.js.map → registerListBox-a99736df.cjs.js.map} +1 -1
  40. package/skinny/registerListBox.cjs.js +2 -2
  41. package/skinny/registerListBox.esm.js +2 -2
  42. package/skinny/registerListBoxItem.cjs.js +1 -1
  43. package/skinny/registerListBoxItem.esm.js +1 -1
  44. package/skinny/registerModal.cjs.js +1 -1
  45. package/skinny/registerModal.esm.js +1 -1
  46. package/skinny/registerOverlayArrow.cjs.js +2 -2
  47. package/skinny/registerOverlayArrow.cjs.js.map +1 -1
  48. package/skinny/registerOverlayArrow.d.ts +1 -0
  49. package/skinny/registerOverlayArrow.esm.js +2 -2
  50. package/skinny/registerOverlayArrow.esm.js.map +1 -1
  51. package/skinny/registerPopover.cjs.js +1 -1
  52. package/skinny/registerPopover.esm.js +1 -1
  53. package/skinny/registerRadio.cjs.js +1 -1
  54. package/skinny/registerRadio.esm.js +1 -1
  55. package/skinny/registerRadioGroup.cjs.js +1 -1
  56. package/skinny/registerRadioGroup.esm.js +1 -1
  57. package/skinny/registerSection.cjs.js +2 -2
  58. package/skinny/registerSection.esm.js +2 -2
  59. package/skinny/registerSelect.cjs.js +3 -3
  60. package/skinny/registerSelect.esm.js +3 -3
  61. package/skinny/registerSlider.cjs.js +1 -1
  62. package/skinny/registerSlider.esm.js +1 -1
  63. package/skinny/registerSliderOutput.cjs.js +1 -1
  64. package/skinny/registerSliderOutput.esm.js +1 -1
  65. package/skinny/registerSliderThumb.cjs.js +1 -1
  66. package/skinny/registerSliderThumb.esm.js +1 -1
  67. package/skinny/registerSliderTrack.cjs.js +1 -1
  68. package/skinny/registerSliderTrack.esm.js +1 -1
  69. package/skinny/registerSwitch.cjs.js +1 -1
  70. package/skinny/registerSwitch.esm.js +1 -1
  71. package/skinny/registerText.cjs.js +1 -1
  72. package/skinny/registerText.esm.js +1 -1
  73. package/skinny/registerTextArea.cjs.js +1 -1
  74. package/skinny/registerTextArea.esm.js +1 -1
  75. package/skinny/registerTextField.cjs.js +1 -1
  76. package/skinny/registerTextField.esm.js +1 -1
  77. package/skinny/registerTooltip.cjs.js +1 -1
  78. package/skinny/registerTooltip.esm.js +1 -1
  79. package/skinny/common-2dfadd70.esm.js.map +0 -1
  80. package/skinny/common-bf3c2660.cjs.js.map +0 -1
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
+ var host = require('@plasmicapp/host');
3
4
  var React = require('react');
4
5
  var reactAria = require('react-aria');
5
6
  var reactAriaComponents = require('react-aria-components');
6
- var host = require('@plasmicapp/host');
7
7
  var registerComponent = require('@plasmicapp/host/registerComponent');
8
8
  var utils = require('@react-aria/utils');
9
9
  var flattenChildren = require('react-keyed-flatten-children');
@@ -454,13 +454,28 @@ function createPlacementProp(componentName, overrides) {
454
454
  type: "choice",
455
455
  description: `Default placement of the ${componentName} relative to the trigger, if there is enough space`,
456
456
  options: [
457
- // Not allowing other placement options here because of https://github.com/adobe/react-spectrum/issues/6825
458
- "top",
459
457
  "bottom",
458
+ "bottom left",
459
+ "bottom right",
460
+ "bottom start",
461
+ "bottom end",
462
+ "top",
463
+ "top left",
464
+ "top right",
465
+ "top start",
466
+ "top end",
467
+ "left",
468
+ "left top",
469
+ "left bottom",
460
470
  "start",
471
+ "start top",
472
+ "start bottom",
473
+ "right",
474
+ "right top",
475
+ "right bottom",
461
476
  "end",
462
- "left",
463
- "right"
477
+ "end top",
478
+ "end bottom"
464
479
  ]
465
480
  }, overrides != null ? overrides : {});
466
481
  }
@@ -645,24 +660,73 @@ const BUTTON_VARIANTS = [
645
660
  ];
646
661
  const { variants: variants$h, withObservedValues: withObservedValues$e } = pickAriaComponentVariants(BUTTON_VARIANTS);
647
662
  const BaseButton = React__default.default.forwardRef(function BaseButtonInner(props, ref) {
648
- const _a = props, { submitsForm, resetsForm, children, plasmicUpdateVariant } = _a, rest = __objRest$m(_a, ["submitsForm", "resetsForm", "children", "plasmicUpdateVariant"]);
649
- const type = submitsForm ? "submit" : resetsForm ? "reset" : "button";
650
- const mergedProps = reactAria.mergeProps(rest, {
651
- type,
663
+ const { href } = props;
664
+ if (href) {
665
+ return /* @__PURE__ */ React__default.default.createElement(
666
+ LinkButton,
667
+ {
668
+ props,
669
+ ref
670
+ }
671
+ );
672
+ } else {
673
+ const _a = props, { submitsForm, resetsForm, children, plasmicUpdateVariant } = _a, rest = __objRest$m(_a, ["submitsForm", "resetsForm", "children", "plasmicUpdateVariant"]);
674
+ const type = submitsForm ? "submit" : resetsForm ? "reset" : "button";
675
+ const buttonProps = reactAria.mergeProps(rest, {
676
+ type,
677
+ style: COMMON_STYLES,
678
+ ref
679
+ });
680
+ return /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Button, __spreadValues$q({}, buttonProps), ({ isHovered, isPressed, isFocused, isFocusVisible, isDisabled }) => withObservedValues$e(
681
+ children,
682
+ {
683
+ hovered: isHovered,
684
+ pressed: isPressed,
685
+ focused: isFocused,
686
+ focusVisible: isFocusVisible,
687
+ disabled: isDisabled
688
+ },
689
+ plasmicUpdateVariant
690
+ ));
691
+ }
692
+ });
693
+ function LinkButton({
694
+ props,
695
+ ref
696
+ }) {
697
+ const _a = props, { href, children, plasmicUpdateVariant } = _a, rest = __objRest$m(_a, ["href", "children", "plasmicUpdateVariant"]);
698
+ const PlasmicLink = host.usePlasmicLink();
699
+ const { linkProps, isPressed } = reactAria.useLink(props, ref);
700
+ const { hoverProps, isHovered } = reactAria.useHover(props);
701
+ const { focusProps, isFocused, isFocusVisible } = reactAria.useFocusRing();
702
+ const combinedLinkProps = reactAria.mergeProps(linkProps, hoverProps, focusProps, {
703
+ href,
704
+ className: props.className,
705
+ style: COMMON_STYLES,
652
706
  ref
653
707
  });
654
- return /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Button, __spreadProps$m(__spreadValues$q({}, mergedProps), { style: COMMON_STYLES }), ({ isHovered, isPressed, isFocused, isFocusVisible, isDisabled }) => withObservedValues$e(
655
- children,
656
- {
657
- hovered: isHovered,
658
- pressed: isPressed,
659
- focused: isFocused,
660
- focusVisible: isFocusVisible,
661
- disabled: isDisabled
662
- },
663
- plasmicUpdateVariant
664
- ));
665
- });
708
+ return /* @__PURE__ */ React__default.default.createElement(
709
+ PlasmicLink,
710
+ __spreadProps$m(__spreadValues$q({}, combinedLinkProps), {
711
+ "data-focused": isFocused || void 0,
712
+ "data-hovered": isHovered || void 0,
713
+ "data-pressed": isPressed || void 0,
714
+ "data-focus-visible": isFocusVisible || void 0,
715
+ "data-disabled": props.isDisabled || void 0
716
+ }),
717
+ withObservedValues$e(
718
+ children,
719
+ {
720
+ hovered: isHovered,
721
+ pressed: isPressed,
722
+ focused: isFocused,
723
+ focusVisible: isFocusVisible,
724
+ disabled: !!rest.isDisabled
725
+ },
726
+ plasmicUpdateVariant
727
+ )
728
+ );
729
+ }
666
730
  const BUTTON_COMPONENT_NAME = makeComponentName("button");
667
731
  function registerButton(loader, overrides) {
668
732
  registerComponentHelper(
@@ -675,11 +739,18 @@ function registerButton(loader, overrides) {
675
739
  importName: "BaseButton",
676
740
  variants: variants$h,
677
741
  defaultStyles: {
678
- borderWidth: "1px",
679
- borderStyle: "solid",
742
+ // Ensure consistent design across rendered elements (button, anchor tag).
743
+ backgroundColor: "#EFEFEF",
680
744
  borderColor: "black",
745
+ borderStyle: "solid",
746
+ borderWidth: "1px",
747
+ color: "#000000",
748
+ cursor: "pointer",
749
+ fontFamily: "Arial",
750
+ fontSize: "1rem",
751
+ lineHeight: "1.2",
681
752
  padding: "2px 10px",
682
- cursor: "pointer"
753
+ textDecorationLine: "none"
683
754
  },
684
755
  props: __spreadProps$m(__spreadValues$q({}, getCommonProps("button", [
685
756
  "autoFocus",
@@ -694,11 +765,22 @@ function registerButton(loader, overrides) {
694
765
  value: "Button"
695
766
  }
696
767
  },
768
+ href: {
769
+ type: "href",
770
+ description: "The URL this button navigates to. If present, this button is an <a> element."
771
+ },
772
+ target: {
773
+ type: "choice",
774
+ options: ["_blank", "_self", "_parent", "_top"],
775
+ description: "Same as target attribute of <a> element. Only applies when the href prop is present.",
776
+ hidden: (props) => !props.href,
777
+ defaultValueHint: "_self"
778
+ },
697
779
  submitsForm: {
698
780
  type: "boolean",
699
781
  displayName: "Submits form?",
700
782
  defaultValueHint: false,
701
- hidden: (props) => Boolean(props.resetsForm),
783
+ hidden: (props) => Boolean(props.resetsForm) || Boolean(props.href),
702
784
  description: "Whether clicking this button should submit the enclosing form.",
703
785
  advanced: true
704
786
  },
@@ -706,7 +788,7 @@ function registerButton(loader, overrides) {
706
788
  type: "boolean",
707
789
  displayName: "Resets form?",
708
790
  defaultValueHint: false,
709
- hidden: (props) => Boolean(props.submitsForm),
791
+ hidden: (props) => Boolean(props.submitsForm) || Boolean(props.href),
710
792
  description: "Whether clicking this button should reset the enclosing form.",
711
793
  advanced: true
712
794
  },
@@ -2947,7 +3029,7 @@ function BaseOverlayArrow({
2947
3029
  className
2948
3030
  },
2949
3031
  ({ placement }) => withObservedValues$9(
2950
- /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, children),
3032
+ children,
2951
3033
  {
2952
3034
  placementTop: placement === "top",
2953
3035
  placementLeft: placement === "left",