@plasmicpkgs/react-aria 0.0.23 → 0.0.25

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
@@ -1,10 +1,13 @@
1
1
  import React from "react";
2
2
  import type { ButtonProps } from "react-aria-components";
3
+ import { UpdateInteractionVariant } from "./interaction-variant-utils";
3
4
  import { CodeComponentMetaOverrides, Registerable } from "./utils";
5
+ declare const BUTTON_INTERACTION_VARIANTS: ("hovered" | "pressed" | "focused" | "focusVisible")[];
4
6
  interface BaseButtonProps extends ButtonProps {
7
+ children: React.ReactNode;
5
8
  resetsForm?: boolean;
6
9
  submitsForm?: boolean;
7
- onFocusVisibleChange?: (isFocusVisible: boolean) => void;
10
+ updateInteractionVariant?: UpdateInteractionVariant<typeof BUTTON_INTERACTION_VARIANTS>;
8
11
  }
9
12
  export declare function BaseButton(props: BaseButtonProps): React.JSX.Element;
10
13
  export declare function registerButton(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseButton>): void;
@@ -1,9 +1,11 @@
1
1
  import React from "react";
2
2
  import type { CheckboxProps } from "react-aria-components";
3
+ import { UpdateInteractionVariant } from "./interaction-variant-utils";
3
4
  import { CodeComponentMetaOverrides, Registerable } from "./utils";
5
+ declare const CHECKBOX_INTERACTION_VARIANTS: ("hovered" | "pressed" | "focused" | "focusVisible")[];
4
6
  interface BaseCheckboxProps extends CheckboxProps {
5
- onPressChange: (isPressed: boolean) => void;
6
- onFocusVisibleChange: (isFocusVisible: boolean) => void;
7
+ children: React.ReactNode;
8
+ updateInteractionVariant?: UpdateInteractionVariant<typeof CHECKBOX_INTERACTION_VARIANTS>;
7
9
  }
8
10
  export declare function BaseCheckbox(props: BaseCheckboxProps): React.JSX.Element;
9
11
  export declare function registerCheckbox(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseCheckbox>): void;
@@ -1,5 +1,11 @@
1
1
  import React from "react";
2
2
  import type { InputProps } from "react-aria-components";
3
+ import { UpdateInteractionVariant } from "./interaction-variant-utils";
3
4
  import { CodeComponentMetaOverrides, Registerable } from "./utils";
4
- export declare function BaseInput(props: InputProps): React.JSX.Element;
5
+ declare const INPUT_INTERACTION_VARIANTS: ("hovered" | "focused")[];
6
+ export interface BaseInputProps extends InputProps {
7
+ updateInteractionVariant?: UpdateInteractionVariant<typeof INPUT_INTERACTION_VARIANTS>;
8
+ }
9
+ export declare function BaseInput(props: BaseInputProps): React.JSX.Element;
5
10
  export declare function registerInput(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseInput>): void;
11
+ export {};
@@ -1,10 +1,12 @@
1
1
  import React from "react";
2
2
  import type { RadioProps } from "react-aria-components";
3
+ import { UpdateInteractionVariant } from "./interaction-variant-utils";
3
4
  import { CodeComponentMetaOverrides, Registerable } from "./utils";
4
- interface BaseRadioProps extends RadioProps {
5
- onSelectionChange: (isSelected: boolean) => void;
6
- onPressChange: (isPressed: boolean) => void;
7
- onFocusVisibleChange: (isFocusVisible: boolean) => void;
5
+ declare const RADIO_INTERACTION_VARIANTS: ("hovered" | "pressed" | "focused" | "focusVisible")[];
6
+ export interface BaseRadioProps extends RadioProps {
7
+ children: React.ReactNode;
8
+ isSelected: boolean;
9
+ updateInteractionVariant?: UpdateInteractionVariant<typeof RADIO_INTERACTION_VARIANTS>;
8
10
  }
9
11
  export declare function BaseRadio(props: BaseRadioProps): React.JSX.Element;
10
12
  export declare function registerRadio(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseRadio>): void;
@@ -1,9 +1,5 @@
1
- import React, { ReactNode } from "react";
1
+ /// <reference types="react" />
2
2
  import type { RadioGroupProps } from "react-aria-components";
3
3
  import { CodeComponentMetaOverrides, Registerable } from "./utils";
4
- interface BaseRadioGroupProps extends RadioGroupProps {
5
- children?: ReactNode;
6
- }
7
- export declare function BaseRadioGroup(props: BaseRadioGroupProps): React.JSX.Element;
4
+ export declare const BaseRadioGroup: (props: RadioGroupProps & import("react").RefAttributes<HTMLDivElement>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
8
5
  export declare function registerRadioGroup(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseRadioGroup>): void;
9
- export {};
@@ -1,5 +1,12 @@
1
- /// <reference types="react" />
1
+ import React from "react";
2
2
  import type { SwitchProps } from "react-aria-components";
3
+ import { UpdateInteractionVariant } from "./interaction-variant-utils";
3
4
  import { CodeComponentMetaOverrides, Registerable } from "./utils";
4
- export declare const BaseSwitch: (props: SwitchProps & import("react").RefAttributes<HTMLLabelElement>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
5
+ declare const SWITCH_INTERACTION_VARIANTS: ("hovered" | "pressed" | "focused" | "focusVisible")[];
6
+ interface BaseSwitchProps extends SwitchProps {
7
+ children: React.ReactNode;
8
+ updateInteractionVariant?: UpdateInteractionVariant<typeof SWITCH_INTERACTION_VARIANTS>;
9
+ }
10
+ export declare function BaseSwitch(props: BaseSwitchProps): React.JSX.Element;
5
11
  export declare function registerSwitch(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseSwitch>): void;
12
+ export {};
@@ -1,5 +1,11 @@
1
1
  import React from "react";
2
2
  import type { TextAreaProps } from "react-aria-components";
3
+ import { UpdateInteractionVariant } from "./interaction-variant-utils";
3
4
  import { CodeComponentMetaOverrides, Registerable } from "./utils";
4
- export declare function BaseTextArea(props: TextAreaProps): React.JSX.Element;
5
+ declare const TEXTAREA_INTERACTION_VARIANTS: ("hovered" | "focused")[];
6
+ export interface BaseTextAreaProps extends TextAreaProps {
7
+ updateInteractionVariant?: UpdateInteractionVariant<typeof TEXTAREA_INTERACTION_VARIANTS>;
8
+ }
9
+ export declare function BaseTextArea(props: BaseTextAreaProps): React.JSX.Element;
5
10
  export declare function registerTextArea(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseTextArea>): void;
11
+ export {};
@@ -2,12 +2,12 @@ import React, { ReactNode } from "react";
2
2
  import type { InputProps, TextFieldProps } from "react-aria-components";
3
3
  import { CodeComponentMetaOverrides, Registerable } from "./utils";
4
4
  interface BaseTextFieldProps extends TextFieldProps {
5
- children?: ReactNode;
6
5
  label?: ReactNode;
7
6
  description?: ReactNode;
8
7
  enableAutoComplete?: boolean;
9
8
  multiline?: boolean;
10
9
  inputProps?: InputProps;
10
+ children: ReactNode;
11
11
  }
12
12
  export declare function BaseTextField(props: BaseTextFieldProps): React.JSX.Element;
13
13
  export declare function registerTextField(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseTextField>): void;
package/dist/utils.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import type { CodeComponentMeta } from "@plasmicapp/host";
2
2
  import registerComponent from "@plasmicapp/host/registerComponent";
3
3
  import React from "react";
4
- export declare function ValueObserver({ value, onChange }: any): null;
5
4
  export type Registerable = {
6
5
  registerComponent: typeof registerComponent;
7
6
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plasmicpkgs/react-aria",
3
- "version": "0.0.23",
3
+ "version": "0.0.25",
4
4
  "description": "Plasmic registration calls for react-aria based components",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -54,7 +54,7 @@
54
54
  "react-stately": "^3.31.0"
55
55
  },
56
56
  "devDependencies": {
57
- "@plasmicapp/host": "1.0.196",
57
+ "@plasmicapp/host": "1.0.197",
58
58
  "@rollup/plugin-commonjs": "^11.0.0",
59
59
  "@rollup/plugin-json": "^4.0.0",
60
60
  "@rollup/plugin-node-resolve": "^9.0.0",
@@ -74,5 +74,5 @@
74
74
  "publishConfig": {
75
75
  "access": "public"
76
76
  },
77
- "gitHead": "0a72cc3da9c86429fbfffe9bb120633296800811"
77
+ "gitHead": "c459b57fafee3f91ab1e669194f019970c9b6647"
78
78
  }
@@ -11,4 +11,4 @@ export declare const PlasmicItemContext: React.Context<(import("react-aria-compo
11
11
  }) | undefined>;
12
12
  export declare const PlasmicSectionContext: React.Context<import("./registerSection").BaseSectionProps | undefined>;
13
13
  export declare const PlasmicHeaderContext: React.Context<(React.HTMLAttributes<HTMLElement> & React.RefAttributes<HTMLElement>) | undefined>;
14
- export declare const PlasmicInputContext: React.Context<import("react-aria-components").InputProps | undefined>;
14
+ export declare const PlasmicInputContext: React.Context<import("./registerInput").BaseInputProps | undefined>;
@@ -0,0 +1,39 @@
1
+ import React from 'react';
2
+
3
+ const ARIA_COMPONENTS_INTERACTION_VARIANTS = {
4
+ hovered: {
5
+ cssSelector: "[data-hovered]",
6
+ displayName: "Hovered"
7
+ },
8
+ pressed: {
9
+ cssSelector: "[data-pressed]",
10
+ displayName: "Pressed"
11
+ },
12
+ focused: {
13
+ cssSelector: "[data-focused]",
14
+ displayName: "Focused"
15
+ },
16
+ focusVisible: {
17
+ cssSelector: "[data-focus-visible]",
18
+ displayName: "Focus Visible"
19
+ }
20
+ };
21
+ function realWithObservedValues(children, changes, updateInteractionVariant) {
22
+ React.useEffect(() => {
23
+ if (updateInteractionVariant) {
24
+ updateInteractionVariant(changes);
25
+ }
26
+ }, [changes, updateInteractionVariant]);
27
+ return children;
28
+ }
29
+ function pickAriaComponentVariants(keys) {
30
+ return {
31
+ interactionVariants: Object.fromEntries(
32
+ keys.map((key) => [key, ARIA_COMPONENTS_INTERACTION_VARIANTS[key]])
33
+ ),
34
+ withObservedValues: realWithObservedValues
35
+ };
36
+ }
37
+
38
+ export { pickAriaComponentVariants as p };
39
+ //# sourceMappingURL=interaction-variant-utils-608d984b.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interaction-variant-utils-608d984b.esm.js","sources":["../src/interaction-variant-utils.ts"],"sourcesContent":["import { CodeComponentMeta } from \"@plasmicapp/host\";\nimport React from \"react\";\n\nconst ARIA_COMPONENTS_INTERACTION_VARIANTS = {\n hovered: {\n cssSelector: \"[data-hovered]\",\n displayName: \"Hovered\",\n },\n pressed: {\n cssSelector: \"[data-pressed]\",\n displayName: \"Pressed\",\n },\n focused: {\n cssSelector: \"[data-focused]\",\n displayName: \"Focused\",\n },\n focusVisible: {\n cssSelector: \"[data-focus-visible]\",\n displayName: \"Focus Visible\",\n },\n};\n\ntype AriaInteractionVariant = keyof typeof ARIA_COMPONENTS_INTERACTION_VARIANTS;\n\ntype CodeComponentInteractionVariantsMeta = NonNullable<\n CodeComponentMeta<unknown>[\"interactionVariants\"]\n>;\n\ntype InteractionVariantMeta = CodeComponentInteractionVariantsMeta[string];\n\ntype ArrayElement<T> = T extends (infer U)[] ? U : never;\n\nexport type UpdateInteractionVariant<T extends AriaInteractionVariant[]> =\n | ((changes: Partial<Record<ArrayElement<T>, boolean>>) => void)\n | undefined;\n\ntype WithObservedValues<T extends AriaInteractionVariant[]> = (\n children: React.ReactNode,\n state: Record<ArrayElement<T>, boolean>,\n updateInteractionVariant: UpdateInteractionVariant<T>\n) => React.ReactNode;\n\nfunction realWithObservedValues<T extends AriaInteractionVariant[]>(\n children: React.ReactNode,\n changes: Partial<Record<ArrayElement<T>, boolean>>,\n updateInteractionVariant?: UpdateInteractionVariant<T>\n) {\n React.useEffect(() => {\n if (updateInteractionVariant) {\n updateInteractionVariant(changes);\n }\n }, [changes, updateInteractionVariant]);\n return children;\n}\n\nexport function pickAriaComponentVariants<T extends AriaInteractionVariant[]>(\n keys: T\n): {\n interactionVariants: Record<ArrayElement<T>, InteractionVariantMeta>;\n withObservedValues: WithObservedValues<T>;\n} {\n return {\n interactionVariants: Object.fromEntries(\n keys.map((key) => [key, ARIA_COMPONENTS_INTERACTION_VARIANTS[key]])\n ) as Record<ArrayElement<T>, InteractionVariantMeta>,\n withObservedValues: realWithObservedValues<T>,\n };\n}\n"],"names":[],"mappings":";;AAGA,MAAM,oCAAuC,GAAA;AAAA,EAC3C,OAAS,EAAA;AAAA,IACP,WAAa,EAAA,gBAAA;AAAA,IACb,WAAa,EAAA,SAAA;AAAA,GACf;AAAA,EACA,OAAS,EAAA;AAAA,IACP,WAAa,EAAA,gBAAA;AAAA,IACb,WAAa,EAAA,SAAA;AAAA,GACf;AAAA,EACA,OAAS,EAAA;AAAA,IACP,WAAa,EAAA,gBAAA;AAAA,IACb,WAAa,EAAA,SAAA;AAAA,GACf;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,WAAa,EAAA,sBAAA;AAAA,IACb,WAAa,EAAA,eAAA;AAAA,GACf;AACF,CAAA,CAAA;AAsBA,SAAS,sBAAA,CACP,QACA,EAAA,OAAA,EACA,wBACA,EAAA;AACA,EAAA,KAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,wBAA0B,EAAA;AAC5B,MAAA,wBAAA,CAAyB,OAAO,CAAA,CAAA;AAAA,KAClC;AAAA,GACC,EAAA,CAAC,OAAS,EAAA,wBAAwB,CAAC,CAAA,CAAA;AACtC,EAAO,OAAA,QAAA,CAAA;AACT,CAAA;AAEO,SAAS,0BACd,IAIA,EAAA;AACA,EAAO,OAAA;AAAA,IACL,qBAAqB,MAAO,CAAA,WAAA;AAAA,MAC1B,IAAA,CAAK,IAAI,CAAC,GAAA,KAAQ,CAAC,GAAK,EAAA,oCAAA,CAAqC,GAAG,CAAC,CAAC,CAAA;AAAA,KACpE;AAAA,IACA,kBAAoB,EAAA,sBAAA;AAAA,GACtB,CAAA;AACF;;;;"}
@@ -0,0 +1,45 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+
5
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
6
+
7
+ var React__default = /*#__PURE__*/_interopDefault(React);
8
+
9
+ const ARIA_COMPONENTS_INTERACTION_VARIANTS = {
10
+ hovered: {
11
+ cssSelector: "[data-hovered]",
12
+ displayName: "Hovered"
13
+ },
14
+ pressed: {
15
+ cssSelector: "[data-pressed]",
16
+ displayName: "Pressed"
17
+ },
18
+ focused: {
19
+ cssSelector: "[data-focused]",
20
+ displayName: "Focused"
21
+ },
22
+ focusVisible: {
23
+ cssSelector: "[data-focus-visible]",
24
+ displayName: "Focus Visible"
25
+ }
26
+ };
27
+ function realWithObservedValues(children, changes, updateInteractionVariant) {
28
+ React__default.default.useEffect(() => {
29
+ if (updateInteractionVariant) {
30
+ updateInteractionVariant(changes);
31
+ }
32
+ }, [changes, updateInteractionVariant]);
33
+ return children;
34
+ }
35
+ function pickAriaComponentVariants(keys) {
36
+ return {
37
+ interactionVariants: Object.fromEntries(
38
+ keys.map((key) => [key, ARIA_COMPONENTS_INTERACTION_VARIANTS[key]])
39
+ ),
40
+ withObservedValues: realWithObservedValues
41
+ };
42
+ }
43
+
44
+ exports.pickAriaComponentVariants = pickAriaComponentVariants;
45
+ //# sourceMappingURL=interaction-variant-utils-80bf1cfd.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interaction-variant-utils-80bf1cfd.cjs.js","sources":["../src/interaction-variant-utils.ts"],"sourcesContent":["import { CodeComponentMeta } from \"@plasmicapp/host\";\nimport React from \"react\";\n\nconst ARIA_COMPONENTS_INTERACTION_VARIANTS = {\n hovered: {\n cssSelector: \"[data-hovered]\",\n displayName: \"Hovered\",\n },\n pressed: {\n cssSelector: \"[data-pressed]\",\n displayName: \"Pressed\",\n },\n focused: {\n cssSelector: \"[data-focused]\",\n displayName: \"Focused\",\n },\n focusVisible: {\n cssSelector: \"[data-focus-visible]\",\n displayName: \"Focus Visible\",\n },\n};\n\ntype AriaInteractionVariant = keyof typeof ARIA_COMPONENTS_INTERACTION_VARIANTS;\n\ntype CodeComponentInteractionVariantsMeta = NonNullable<\n CodeComponentMeta<unknown>[\"interactionVariants\"]\n>;\n\ntype InteractionVariantMeta = CodeComponentInteractionVariantsMeta[string];\n\ntype ArrayElement<T> = T extends (infer U)[] ? U : never;\n\nexport type UpdateInteractionVariant<T extends AriaInteractionVariant[]> =\n | ((changes: Partial<Record<ArrayElement<T>, boolean>>) => void)\n | undefined;\n\ntype WithObservedValues<T extends AriaInteractionVariant[]> = (\n children: React.ReactNode,\n state: Record<ArrayElement<T>, boolean>,\n updateInteractionVariant: UpdateInteractionVariant<T>\n) => React.ReactNode;\n\nfunction realWithObservedValues<T extends AriaInteractionVariant[]>(\n children: React.ReactNode,\n changes: Partial<Record<ArrayElement<T>, boolean>>,\n updateInteractionVariant?: UpdateInteractionVariant<T>\n) {\n React.useEffect(() => {\n if (updateInteractionVariant) {\n updateInteractionVariant(changes);\n }\n }, [changes, updateInteractionVariant]);\n return children;\n}\n\nexport function pickAriaComponentVariants<T extends AriaInteractionVariant[]>(\n keys: T\n): {\n interactionVariants: Record<ArrayElement<T>, InteractionVariantMeta>;\n withObservedValues: WithObservedValues<T>;\n} {\n return {\n interactionVariants: Object.fromEntries(\n keys.map((key) => [key, ARIA_COMPONENTS_INTERACTION_VARIANTS[key]])\n ) as Record<ArrayElement<T>, InteractionVariantMeta>,\n withObservedValues: realWithObservedValues<T>,\n };\n}\n"],"names":["React"],"mappings":";;;;;;;;AAGA,MAAM,oCAAuC,GAAA;AAAA,EAC3C,OAAS,EAAA;AAAA,IACP,WAAa,EAAA,gBAAA;AAAA,IACb,WAAa,EAAA,SAAA;AAAA,GACf;AAAA,EACA,OAAS,EAAA;AAAA,IACP,WAAa,EAAA,gBAAA;AAAA,IACb,WAAa,EAAA,SAAA;AAAA,GACf;AAAA,EACA,OAAS,EAAA;AAAA,IACP,WAAa,EAAA,gBAAA;AAAA,IACb,WAAa,EAAA,SAAA;AAAA,GACf;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,WAAa,EAAA,sBAAA;AAAA,IACb,WAAa,EAAA,eAAA;AAAA,GACf;AACF,CAAA,CAAA;AAsBA,SAAS,sBAAA,CACP,QACA,EAAA,OAAA,EACA,wBACA,EAAA;AACA,EAAAA,sBAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,wBAA0B,EAAA;AAC5B,MAAA,wBAAA,CAAyB,OAAO,CAAA,CAAA;AAAA,KAClC;AAAA,GACC,EAAA,CAAC,OAAS,EAAA,wBAAwB,CAAC,CAAA,CAAA;AACtC,EAAO,OAAA,QAAA,CAAA;AACT,CAAA;AAEO,SAAS,0BACd,IAIA,EAAA;AACA,EAAO,OAAA;AAAA,IACL,qBAAqB,MAAO,CAAA,WAAA;AAAA,MAC1B,IAAA,CAAK,IAAI,CAAC,GAAA,KAAQ,CAAC,GAAK,EAAA,oCAAA,CAAqC,GAAG,CAAC,CAAC,CAAA;AAAA,KACpE;AAAA,IACA,kBAAoB,EAAA,sBAAA;AAAA,GACtB,CAAA;AACF;;;;"}
@@ -0,0 +1,31 @@
1
+ import { CodeComponentMeta } from "@plasmicapp/host";
2
+ import React from "react";
3
+ declare const ARIA_COMPONENTS_INTERACTION_VARIANTS: {
4
+ hovered: {
5
+ cssSelector: string;
6
+ displayName: string;
7
+ };
8
+ pressed: {
9
+ cssSelector: string;
10
+ displayName: string;
11
+ };
12
+ focused: {
13
+ cssSelector: string;
14
+ displayName: string;
15
+ };
16
+ focusVisible: {
17
+ cssSelector: string;
18
+ displayName: string;
19
+ };
20
+ };
21
+ type AriaInteractionVariant = keyof typeof ARIA_COMPONENTS_INTERACTION_VARIANTS;
22
+ type CodeComponentInteractionVariantsMeta = NonNullable<CodeComponentMeta<unknown>["interactionVariants"]>;
23
+ type InteractionVariantMeta = CodeComponentInteractionVariantsMeta[string];
24
+ type ArrayElement<T> = T extends (infer U)[] ? U : never;
25
+ export type UpdateInteractionVariant<T extends AriaInteractionVariant[]> = ((changes: Partial<Record<ArrayElement<T>, boolean>>) => void) | undefined;
26
+ type WithObservedValues<T extends AriaInteractionVariant[]> = (children: React.ReactNode, state: Record<ArrayElement<T>, boolean>, updateInteractionVariant: UpdateInteractionVariant<T>) => React.ReactNode;
27
+ export declare function pickAriaComponentVariants<T extends AriaInteractionVariant[]>(keys: T): {
28
+ interactionVariants: Record<ArrayElement<T>, InteractionVariantMeta>;
29
+ withObservedValues: WithObservedValues<T>;
30
+ };
31
+ export {};
@@ -3,7 +3,8 @@
3
3
  var React = require('react');
4
4
  var reactAriaComponents = require('react-aria-components');
5
5
  var common = require('./common-e74a9214.cjs.js');
6
- var utils = require('./utils-1190a0a9.cjs.js');
6
+ var interactionVariantUtils = require('./interaction-variant-utils-80bf1cfd.cjs.js');
7
+ var utils = require('./utils-18b2465b.cjs.js');
7
8
  require('@plasmicapp/host/registerComponent');
8
9
 
9
10
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
@@ -41,16 +42,38 @@ var __objRest = (source, exclude) => {
41
42
  }
42
43
  return target;
43
44
  };
45
+ const BUTTON_INTERACTION_VARIANTS = [
46
+ "hovered",
47
+ "pressed",
48
+ "focused",
49
+ "focusVisible"
50
+ ];
51
+ const { interactionVariants, withObservedValues } = interactionVariantUtils.pickAriaComponentVariants(
52
+ BUTTON_INTERACTION_VARIANTS
53
+ );
44
54
  function BaseButton(props) {
45
- const _a = props, { submitsForm, onFocusVisibleChange, resetsForm, children } = _a, rest = __objRest(_a, ["submitsForm", "onFocusVisibleChange", "resetsForm", "children"]);
55
+ const _a = props, {
56
+ submitsForm,
57
+ resetsForm,
58
+ children,
59
+ updateInteractionVariant
60
+ } = _a, rest = __objRest(_a, [
61
+ "submitsForm",
62
+ "resetsForm",
63
+ "children",
64
+ "updateInteractionVariant"
65
+ ]);
46
66
  const type = submitsForm ? "submit" : resetsForm ? "reset" : "button";
47
- return /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Button, __spreadValues({ type }, rest), ({ isFocusVisible }) => /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, /* @__PURE__ */ React__default.default.createElement(
48
- utils.ValueObserver,
67
+ return /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Button, __spreadValues({ type }, rest), ({ isHovered, isPressed, isFocused, isFocusVisible }) => withObservedValues(
68
+ children,
49
69
  {
50
- value: isFocusVisible,
51
- onChange: onFocusVisibleChange
52
- }
53
- ), children));
70
+ hovered: isHovered,
71
+ pressed: isPressed,
72
+ focused: isFocused,
73
+ focusVisible: isFocusVisible
74
+ },
75
+ updateInteractionVariant
76
+ ));
54
77
  }
55
78
  function registerButton(loader, overrides) {
56
79
  utils.registerComponentHelper(
@@ -61,6 +84,7 @@ function registerButton(loader, overrides) {
61
84
  displayName: "Aria Button",
62
85
  importPath: "@plasmicpkgs/react-aria/skinny/registerButton",
63
86
  importName: "BaseButton",
87
+ interactionVariants,
64
88
  props: __spreadProps(__spreadValues({}, common.getCommonInputProps("button", [
65
89
  "isDisabled",
66
90
  "aria-label",
@@ -81,50 +105,8 @@ function registerButton(loader, overrides) {
81
105
  hidden: (ps) => Boolean(ps.submitsForm),
82
106
  description: "Whether clicking this button should reset the enclosing form.",
83
107
  advanced: true
84
- },
85
- onPress: {
86
- type: "eventHandler",
87
- argTypes: [{ name: "event", type: "object" }]
88
- },
89
- onHoverChange: {
90
- type: "eventHandler",
91
- argTypes: [{ name: "isHovered", type: "boolean" }]
92
- },
93
- onPressChange: {
94
- type: "eventHandler",
95
- argTypes: [{ name: "isPressed", type: "boolean" }]
96
- },
97
- onFocusChange: {
98
- type: "eventHandler",
99
- argTypes: [{ name: "isFocused", type: "boolean" }]
100
- },
101
- onFocusVisibleChange: {
102
- type: "eventHandler",
103
- argTypes: [{ name: "isFocusVisible", type: "boolean" }]
104
108
  }
105
109
  }),
106
- states: {
107
- isHovered: {
108
- type: "readonly",
109
- onChangeProp: "onHoverChange",
110
- variableType: "boolean"
111
- },
112
- isPressed: {
113
- type: "readonly",
114
- onChangeProp: "onPressChange",
115
- variableType: "boolean"
116
- },
117
- isFocused: {
118
- type: "readonly",
119
- onChangeProp: "onFocusChange",
120
- variableType: "boolean"
121
- },
122
- isFocusVisible: {
123
- type: "readonly",
124
- onChangeProp: "onFocusVisibleChange",
125
- variableType: "boolean"
126
- }
127
- },
128
110
  trapsFocus: true
129
111
  },
130
112
  overrides
@@ -1 +1 @@
1
- {"version":3,"file":"registerButton.cjs.js","sources":["../src/registerButton.tsx"],"sourcesContent":["import React from \"react\";\nimport type { ButtonProps } from \"react-aria-components\";\nimport { Button } from \"react-aria-components\";\nimport { getCommonInputProps } from \"./common\";\nimport {\n CodeComponentMetaOverrides,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n ValueObserver,\n} from \"./utils\";\n\ninterface BaseButtonProps extends ButtonProps {\n resetsForm?: boolean;\n submitsForm?: boolean;\n onFocusVisibleChange?: (isFocusVisible: boolean) => void;\n}\n\nexport function BaseButton(props: BaseButtonProps) {\n const { submitsForm, onFocusVisibleChange, resetsForm, children, ...rest } =\n props;\n const type = submitsForm ? \"submit\" : resetsForm ? \"reset\" : \"button\";\n return (\n <Button type={type} {...rest}>\n {({ isFocusVisible }) => (\n <>\n <ValueObserver\n value={isFocusVisible}\n onChange={onFocusVisibleChange}\n />\n {children}\n </>\n )}\n </Button>\n );\n}\n\nexport function registerButton(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseButton>\n) {\n registerComponentHelper(\n loader,\n BaseButton,\n {\n name: makeComponentName(\"button\"),\n displayName: \"Aria Button\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerButton\",\n importName: \"BaseButton\",\n props: {\n ...getCommonInputProps<BaseButtonProps>(\"button\", [\n \"isDisabled\",\n \"aria-label\",\n \"children\",\n ]),\n submitsForm: {\n type: \"boolean\",\n displayName: \"Submits form?\",\n defaultValueHint: false,\n hidden: (ps: BaseButtonProps) => Boolean(ps.resetsForm),\n description:\n \"Whether clicking this button should submit the enclosing form.\",\n advanced: true,\n },\n resetsForm: {\n type: \"boolean\",\n displayName: \"Resets form?\",\n defaultValueHint: false,\n hidden: (ps: BaseButtonProps) => Boolean(ps.submitsForm),\n description:\n \"Whether clicking this button should reset the enclosing form.\",\n advanced: true,\n },\n onPress: {\n type: \"eventHandler\",\n argTypes: [{ name: \"event\", type: \"object\" }],\n },\n onHoverChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isHovered\", type: \"boolean\" }],\n },\n onPressChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isPressed\", type: \"boolean\" }],\n },\n onFocusChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isFocused\", type: \"boolean\" }],\n },\n onFocusVisibleChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isFocusVisible\", type: \"boolean\" }],\n },\n },\n states: {\n isHovered: {\n type: \"readonly\",\n onChangeProp: \"onHoverChange\",\n variableType: \"boolean\",\n },\n isPressed: {\n type: \"readonly\",\n onChangeProp: \"onPressChange\",\n variableType: \"boolean\",\n },\n isFocused: {\n type: \"readonly\",\n onChangeProp: \"onFocusChange\",\n variableType: \"boolean\",\n },\n isFocusVisible: {\n type: \"readonly\",\n onChangeProp: \"onFocusVisibleChange\",\n variableType: \"boolean\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["React","Button","ValueObserver","registerComponentHelper","makeComponentName","getCommonInputProps"],"mappings":"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"}
1
+ {"version":3,"file":"registerButton.cjs.js","sources":["../src/registerButton.tsx"],"sourcesContent":["import React from \"react\";\nimport type { ButtonProps } from \"react-aria-components\";\nimport { Button } from \"react-aria-components\";\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 BUTTON_INTERACTION_VARIANTS = [\n \"hovered\" as const,\n \"pressed\" as const,\n \"focused\" as const,\n \"focusVisible\" as const,\n];\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n BUTTON_INTERACTION_VARIANTS\n);\n\ninterface BaseButtonProps extends ButtonProps {\n children: React.ReactNode;\n resetsForm?: boolean;\n submitsForm?: 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 BUTTON_INTERACTION_VARIANTS\n >;\n}\n\nexport function BaseButton(props: BaseButtonProps) {\n const {\n submitsForm,\n resetsForm,\n children,\n updateInteractionVariant,\n ...rest\n } = props;\n\n const type = submitsForm ? \"submit\" : resetsForm ? \"reset\" : \"button\";\n\n return (\n <Button type={type} {...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 </Button>\n );\n}\n\nexport function registerButton(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseButton>\n) {\n registerComponentHelper(\n loader,\n BaseButton,\n {\n name: makeComponentName(\"button\"),\n displayName: \"Aria Button\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerButton\",\n importName: \"BaseButton\",\n interactionVariants,\n props: {\n ...getCommonInputProps<BaseButtonProps>(\"button\", [\n \"isDisabled\",\n \"aria-label\",\n \"children\",\n ]),\n submitsForm: {\n type: \"boolean\",\n displayName: \"Submits form?\",\n defaultValueHint: false,\n hidden: (ps: BaseButtonProps) => Boolean(ps.resetsForm),\n description:\n \"Whether clicking this button should submit the enclosing form.\",\n advanced: true,\n },\n resetsForm: {\n type: \"boolean\",\n displayName: \"Resets form?\",\n defaultValueHint: false,\n hidden: (ps: BaseButtonProps) => Boolean(ps.submitsForm),\n description:\n \"Whether clicking this button should reset the enclosing form.\",\n advanced: true,\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["pickAriaComponentVariants","React","Button","registerComponentHelper","makeComponentName","getCommonInputProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,MAAM,2BAA8B,GAAA;AAAA,EAClC,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,cAAA;AACF,CAAA,CAAA;AAEA,MAAM,EAAE,mBAAqB,EAAA,kBAAA,EAAuB,GAAAA,iDAAA;AAAA,EAClD,2BAAA;AACF,CAAA,CAAA;AAaO,SAAS,WAAW,KAAwB,EAAA;AACjD,EAAA,MAMI,EALF,GAAA,KAAA,EAAA;AAAA,IAAA,WAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA,wBAAA;AAAA,GA1CJ,GA4CM,EADC,EAAA,IAAA,GAAA,SAAA,CACD,EADC,EAAA;AAAA,IAJH,aAAA;AAAA,IACA,YAAA;AAAA,IACA,UAAA;AAAA,IACA,0BAAA;AAAA,GAAA,CAAA,CAAA;AAIF,EAAA,MAAM,IAAO,GAAA,WAAA,GAAc,QAAW,GAAA,UAAA,GAAa,OAAU,GAAA,QAAA,CAAA;AAE7D,EACE,uBAAAC,sBAAA,CAAA,aAAA,CAACC,0BAAO,EAAA,cAAA,CAAA,EAAA,IAAA,EAAA,EAAgB,IACrB,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;AAEJ,CAAA;AAEgB,SAAA,cAAA,CACd,QACA,SACA,EAAA;AACA,EAAAC,6BAAA;AAAA,IACE,MAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,MACE,IAAA,EAAMC,wBAAkB,QAAQ,CAAA;AAAA,MAChC,WAAa,EAAA,aAAA;AAAA,MACb,UAAY,EAAA,+CAAA;AAAA,MACZ,UAAY,EAAA,YAAA;AAAA,MACZ,mBAAA;AAAA,MACA,KAAA,EAAO,aACF,CAAA,cAAA,CAAA,EAAA,EAAAC,0BAAA,CAAqC,QAAU,EAAA;AAAA,QAChD,YAAA;AAAA,QACA,YAAA;AAAA,QACA,UAAA;AAAA,OACD,CALI,CAAA,EAAA;AAAA,QAML,WAAa,EAAA;AAAA,UACX,IAAM,EAAA,SAAA;AAAA,UACN,WAAa,EAAA,eAAA;AAAA,UACb,gBAAkB,EAAA,KAAA;AAAA,UAClB,MAAQ,EAAA,CAAC,EAAwB,KAAA,OAAA,CAAQ,GAAG,UAAU,CAAA;AAAA,UACtD,WACE,EAAA,gEAAA;AAAA,UACF,QAAU,EAAA,IAAA;AAAA,SACZ;AAAA,QACA,UAAY,EAAA;AAAA,UACV,IAAM,EAAA,SAAA;AAAA,UACN,WAAa,EAAA,cAAA;AAAA,UACb,gBAAkB,EAAA,KAAA;AAAA,UAClB,MAAQ,EAAA,CAAC,EAAwB,KAAA,OAAA,CAAQ,GAAG,WAAW,CAAA;AAAA,UACvD,WACE,EAAA,+DAAA;AAAA,UACF,QAAU,EAAA,IAAA;AAAA,SACZ;AAAA,OACF,CAAA;AAAA,MACA,UAAY,EAAA,IAAA;AAAA,KACd;AAAA,IACA,SAAA;AAAA,GACF,CAAA;AACF;;;;;"}
@@ -1,10 +1,13 @@
1
1
  import React from "react";
2
2
  import type { ButtonProps } from "react-aria-components";
3
+ import { UpdateInteractionVariant } from "./interaction-variant-utils";
3
4
  import { CodeComponentMetaOverrides, Registerable } from "./utils";
5
+ declare const BUTTON_INTERACTION_VARIANTS: ("hovered" | "pressed" | "focused" | "focusVisible")[];
4
6
  interface BaseButtonProps extends ButtonProps {
7
+ children: React.ReactNode;
5
8
  resetsForm?: boolean;
6
9
  submitsForm?: boolean;
7
- onFocusVisibleChange?: (isFocusVisible: boolean) => void;
10
+ updateInteractionVariant?: UpdateInteractionVariant<typeof BUTTON_INTERACTION_VARIANTS>;
8
11
  }
9
12
  export declare function BaseButton(props: BaseButtonProps): React.JSX.Element;
10
13
  export declare function registerButton(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseButton>): void;
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
2
  import { Button } from 'react-aria-components';
3
3
  import { g as getCommonInputProps } from './common-52c26d37.esm.js';
4
- import { V as ValueObserver, r as registerComponentHelper, m as makeComponentName } from './utils-28f98072.esm.js';
4
+ import { p as pickAriaComponentVariants } from './interaction-variant-utils-608d984b.esm.js';
5
+ import { r as registerComponentHelper, m as makeComponentName } from './utils-cf2632c9.esm.js';
5
6
  import '@plasmicapp/host/registerComponent';
6
7
 
7
8
  var __defProp = Object.defineProperty;
@@ -35,16 +36,38 @@ var __objRest = (source, exclude) => {
35
36
  }
36
37
  return target;
37
38
  };
39
+ const BUTTON_INTERACTION_VARIANTS = [
40
+ "hovered",
41
+ "pressed",
42
+ "focused",
43
+ "focusVisible"
44
+ ];
45
+ const { interactionVariants, withObservedValues } = pickAriaComponentVariants(
46
+ BUTTON_INTERACTION_VARIANTS
47
+ );
38
48
  function BaseButton(props) {
39
- const _a = props, { submitsForm, onFocusVisibleChange, resetsForm, children } = _a, rest = __objRest(_a, ["submitsForm", "onFocusVisibleChange", "resetsForm", "children"]);
49
+ const _a = props, {
50
+ submitsForm,
51
+ resetsForm,
52
+ children,
53
+ updateInteractionVariant
54
+ } = _a, rest = __objRest(_a, [
55
+ "submitsForm",
56
+ "resetsForm",
57
+ "children",
58
+ "updateInteractionVariant"
59
+ ]);
40
60
  const type = submitsForm ? "submit" : resetsForm ? "reset" : "button";
41
- return /* @__PURE__ */ React.createElement(Button, __spreadValues({ type }, rest), ({ isFocusVisible }) => /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
42
- ValueObserver,
61
+ return /* @__PURE__ */ React.createElement(Button, __spreadValues({ type }, rest), ({ isHovered, isPressed, isFocused, isFocusVisible }) => withObservedValues(
62
+ children,
43
63
  {
44
- value: isFocusVisible,
45
- onChange: onFocusVisibleChange
46
- }
47
- ), children));
64
+ hovered: isHovered,
65
+ pressed: isPressed,
66
+ focused: isFocused,
67
+ focusVisible: isFocusVisible
68
+ },
69
+ updateInteractionVariant
70
+ ));
48
71
  }
49
72
  function registerButton(loader, overrides) {
50
73
  registerComponentHelper(
@@ -55,6 +78,7 @@ function registerButton(loader, overrides) {
55
78
  displayName: "Aria Button",
56
79
  importPath: "@plasmicpkgs/react-aria/skinny/registerButton",
57
80
  importName: "BaseButton",
81
+ interactionVariants,
58
82
  props: __spreadProps(__spreadValues({}, getCommonInputProps("button", [
59
83
  "isDisabled",
60
84
  "aria-label",
@@ -75,50 +99,8 @@ function registerButton(loader, overrides) {
75
99
  hidden: (ps) => Boolean(ps.submitsForm),
76
100
  description: "Whether clicking this button should reset the enclosing form.",
77
101
  advanced: true
78
- },
79
- onPress: {
80
- type: "eventHandler",
81
- argTypes: [{ name: "event", type: "object" }]
82
- },
83
- onHoverChange: {
84
- type: "eventHandler",
85
- argTypes: [{ name: "isHovered", type: "boolean" }]
86
- },
87
- onPressChange: {
88
- type: "eventHandler",
89
- argTypes: [{ name: "isPressed", type: "boolean" }]
90
- },
91
- onFocusChange: {
92
- type: "eventHandler",
93
- argTypes: [{ name: "isFocused", type: "boolean" }]
94
- },
95
- onFocusVisibleChange: {
96
- type: "eventHandler",
97
- argTypes: [{ name: "isFocusVisible", type: "boolean" }]
98
102
  }
99
103
  }),
100
- states: {
101
- isHovered: {
102
- type: "readonly",
103
- onChangeProp: "onHoverChange",
104
- variableType: "boolean"
105
- },
106
- isPressed: {
107
- type: "readonly",
108
- onChangeProp: "onPressChange",
109
- variableType: "boolean"
110
- },
111
- isFocused: {
112
- type: "readonly",
113
- onChangeProp: "onFocusChange",
114
- variableType: "boolean"
115
- },
116
- isFocusVisible: {
117
- type: "readonly",
118
- onChangeProp: "onFocusVisibleChange",
119
- variableType: "boolean"
120
- }
121
- },
122
104
  trapsFocus: true
123
105
  },
124
106
  overrides
@@ -1 +1 @@
1
- {"version":3,"file":"registerButton.esm.js","sources":["../src/registerButton.tsx"],"sourcesContent":["import React from \"react\";\nimport type { ButtonProps } from \"react-aria-components\";\nimport { Button } from \"react-aria-components\";\nimport { getCommonInputProps } from \"./common\";\nimport {\n CodeComponentMetaOverrides,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n ValueObserver,\n} from \"./utils\";\n\ninterface BaseButtonProps extends ButtonProps {\n resetsForm?: boolean;\n submitsForm?: boolean;\n onFocusVisibleChange?: (isFocusVisible: boolean) => void;\n}\n\nexport function BaseButton(props: BaseButtonProps) {\n const { submitsForm, onFocusVisibleChange, resetsForm, children, ...rest } =\n props;\n const type = submitsForm ? \"submit\" : resetsForm ? \"reset\" : \"button\";\n return (\n <Button type={type} {...rest}>\n {({ isFocusVisible }) => (\n <>\n <ValueObserver\n value={isFocusVisible}\n onChange={onFocusVisibleChange}\n />\n {children}\n </>\n )}\n </Button>\n );\n}\n\nexport function registerButton(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseButton>\n) {\n registerComponentHelper(\n loader,\n BaseButton,\n {\n name: makeComponentName(\"button\"),\n displayName: \"Aria Button\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerButton\",\n importName: \"BaseButton\",\n props: {\n ...getCommonInputProps<BaseButtonProps>(\"button\", [\n \"isDisabled\",\n \"aria-label\",\n \"children\",\n ]),\n submitsForm: {\n type: \"boolean\",\n displayName: \"Submits form?\",\n defaultValueHint: false,\n hidden: (ps: BaseButtonProps) => Boolean(ps.resetsForm),\n description:\n \"Whether clicking this button should submit the enclosing form.\",\n advanced: true,\n },\n resetsForm: {\n type: \"boolean\",\n displayName: \"Resets form?\",\n defaultValueHint: false,\n hidden: (ps: BaseButtonProps) => Boolean(ps.submitsForm),\n description:\n \"Whether clicking this button should reset the enclosing form.\",\n advanced: true,\n },\n onPress: {\n type: \"eventHandler\",\n argTypes: [{ name: \"event\", type: \"object\" }],\n },\n onHoverChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isHovered\", type: \"boolean\" }],\n },\n onPressChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isPressed\", type: \"boolean\" }],\n },\n onFocusChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isFocused\", type: \"boolean\" }],\n },\n onFocusVisibleChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isFocusVisible\", type: \"boolean\" }],\n },\n },\n states: {\n isHovered: {\n type: \"readonly\",\n onChangeProp: \"onHoverChange\",\n variableType: \"boolean\",\n },\n isPressed: {\n type: \"readonly\",\n onChangeProp: \"onPressChange\",\n variableType: \"boolean\",\n },\n isFocused: {\n type: \"readonly\",\n onChangeProp: \"onFocusChange\",\n variableType: \"boolean\",\n },\n isFocusVisible: {\n type: \"readonly\",\n onChangeProp: \"onFocusVisibleChange\",\n variableType: \"boolean\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registerButton.esm.js","sources":["../src/registerButton.tsx"],"sourcesContent":["import React from \"react\";\nimport type { ButtonProps } from \"react-aria-components\";\nimport { Button } from \"react-aria-components\";\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 BUTTON_INTERACTION_VARIANTS = [\n \"hovered\" as const,\n \"pressed\" as const,\n \"focused\" as const,\n \"focusVisible\" as const,\n];\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n BUTTON_INTERACTION_VARIANTS\n);\n\ninterface BaseButtonProps extends ButtonProps {\n children: React.ReactNode;\n resetsForm?: boolean;\n submitsForm?: 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 BUTTON_INTERACTION_VARIANTS\n >;\n}\n\nexport function BaseButton(props: BaseButtonProps) {\n const {\n submitsForm,\n resetsForm,\n children,\n updateInteractionVariant,\n ...rest\n } = props;\n\n const type = submitsForm ? \"submit\" : resetsForm ? \"reset\" : \"button\";\n\n return (\n <Button type={type} {...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 </Button>\n );\n}\n\nexport function registerButton(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseButton>\n) {\n registerComponentHelper(\n loader,\n BaseButton,\n {\n name: makeComponentName(\"button\"),\n displayName: \"Aria Button\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerButton\",\n importName: \"BaseButton\",\n interactionVariants,\n props: {\n ...getCommonInputProps<BaseButtonProps>(\"button\", [\n \"isDisabled\",\n \"aria-label\",\n \"children\",\n ]),\n submitsForm: {\n type: \"boolean\",\n displayName: \"Submits form?\",\n defaultValueHint: false,\n hidden: (ps: BaseButtonProps) => Boolean(ps.resetsForm),\n description:\n \"Whether clicking this button should submit the enclosing form.\",\n advanced: true,\n },\n resetsForm: {\n type: \"boolean\",\n displayName: \"Resets form?\",\n defaultValueHint: false,\n hidden: (ps: BaseButtonProps) => Boolean(ps.submitsForm),\n description:\n \"Whether clicking this button should reset the enclosing form.\",\n advanced: true,\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,MAAM,2BAA8B,GAAA;AAAA,EAClC,SAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,cAAA;AACF,CAAA,CAAA;AAEA,MAAM,EAAE,mBAAqB,EAAA,kBAAA,EAAuB,GAAA,yBAAA;AAAA,EAClD,2BAAA;AACF,CAAA,CAAA;AAaO,SAAS,WAAW,KAAwB,EAAA;AACjD,EAAA,MAMI,EALF,GAAA,KAAA,EAAA;AAAA,IAAA,WAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA,wBAAA;AAAA,GA1CJ,GA4CM,EADC,EAAA,IAAA,GAAA,SAAA,CACD,EADC,EAAA;AAAA,IAJH,aAAA;AAAA,IACA,YAAA;AAAA,IACA,UAAA;AAAA,IACA,0BAAA;AAAA,GAAA,CAAA,CAAA;AAIF,EAAA,MAAM,IAAO,GAAA,WAAA,GAAc,QAAW,GAAA,UAAA,GAAa,OAAU,GAAA,QAAA,CAAA;AAE7D,EACE,uBAAA,KAAA,CAAA,aAAA,CAAC,MAAO,EAAA,cAAA,CAAA,EAAA,IAAA,EAAA,EAAgB,IACrB,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;AAEJ,CAAA;AAEgB,SAAA,cAAA,CACd,QACA,SACA,EAAA;AACA,EAAA,uBAAA;AAAA,IACE,MAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,MACE,IAAA,EAAM,kBAAkB,QAAQ,CAAA;AAAA,MAChC,WAAa,EAAA,aAAA;AAAA,MACb,UAAY,EAAA,+CAAA;AAAA,MACZ,UAAY,EAAA,YAAA;AAAA,MACZ,mBAAA;AAAA,MACA,KAAA,EAAO,aACF,CAAA,cAAA,CAAA,EAAA,EAAA,mBAAA,CAAqC,QAAU,EAAA;AAAA,QAChD,YAAA;AAAA,QACA,YAAA;AAAA,QACA,UAAA;AAAA,OACD,CALI,CAAA,EAAA;AAAA,QAML,WAAa,EAAA;AAAA,UACX,IAAM,EAAA,SAAA;AAAA,UACN,WAAa,EAAA,eAAA;AAAA,UACb,gBAAkB,EAAA,KAAA;AAAA,UAClB,MAAQ,EAAA,CAAC,EAAwB,KAAA,OAAA,CAAQ,GAAG,UAAU,CAAA;AAAA,UACtD,WACE,EAAA,gEAAA;AAAA,UACF,QAAU,EAAA,IAAA;AAAA,SACZ;AAAA,QACA,UAAY,EAAA;AAAA,UACV,IAAM,EAAA,SAAA;AAAA,UACN,WAAa,EAAA,cAAA;AAAA,UACb,gBAAkB,EAAA,KAAA;AAAA,UAClB,MAAQ,EAAA,CAAC,EAAwB,KAAA,OAAA,CAAQ,GAAG,WAAW,CAAA;AAAA,UACvD,WACE,EAAA,+DAAA;AAAA,UACF,QAAU,EAAA,IAAA;AAAA,SACZ;AAAA,OACF,CAAA;AAAA,MACA,UAAY,EAAA,IAAA;AAAA,KACd;AAAA,IACA,SAAA;AAAA,GACF,CAAA;AACF;;;;"}