@plasmicpkgs/react-aria 0.0.169 → 0.0.171

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 (118) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/react-aria.esm.js +27 -2
  3. package/dist/react-aria.esm.js.map +1 -1
  4. package/dist/react-aria.js +28 -4
  5. package/dist/react-aria.js.map +1 -1
  6. package/dist/registerCheckbox.d.ts +2 -2
  7. package/dist/registerDescription.d.ts +1 -1
  8. package/dist/registerHeading.d.ts +1 -1
  9. package/dist/registerListBoxItem.d.ts +1 -1
  10. package/dist/registerOverlayArrow.d.ts +1 -1
  11. package/dist/registerRadio.d.ts +2 -2
  12. package/dist/registerSection.d.ts +1 -1
  13. package/dist/registerSliderOutput.d.ts +1 -1
  14. package/dist/registerSliderThumb.d.ts +1 -1
  15. package/dist/registerSliderTrack.d.ts +1 -1
  16. package/dist/registerSwitch.d.ts +1 -1
  17. package/dist/registerText.d.ts +1 -1
  18. package/dist/utils.d.ts +8 -1
  19. package/dist/variant-utils.d.ts +1 -1
  20. package/package.json +2 -3
  21. package/skinny/{OptionsItemIdManager-0ce90944.esm.js → OptionsItemIdManager-85247338.esm.js} +2 -2
  22. package/skinny/{OptionsItemIdManager-0ce90944.esm.js.map → OptionsItemIdManager-85247338.esm.js.map} +1 -1
  23. package/skinny/{OptionsItemIdManager-cb3a2c53.cjs.js → OptionsItemIdManager-9f1502c1.cjs.js} +2 -2
  24. package/skinny/{OptionsItemIdManager-cb3a2c53.cjs.js.map → OptionsItemIdManager-9f1502c1.cjs.js.map} +1 -1
  25. package/skinny/{common-7f948fa5.cjs.js → common-44638169.cjs.js} +27 -1
  26. package/skinny/common-44638169.cjs.js.map +1 -0
  27. package/skinny/{common-81f08e86.esm.js → common-9574ac48.esm.js} +27 -2
  28. package/skinny/common-9574ac48.esm.js.map +1 -0
  29. package/skinny/registerButton.cjs.js +2 -2
  30. package/skinny/registerButton.esm.js +2 -2
  31. package/skinny/registerCheckbox.cjs.js +3 -3
  32. package/skinny/registerCheckbox.d.ts +2 -2
  33. package/skinny/registerCheckbox.esm.js +3 -3
  34. package/skinny/registerCheckboxGroup.cjs.js +3 -3
  35. package/skinny/registerCheckboxGroup.esm.js +3 -3
  36. package/skinny/registerComboBox.cjs.js +4 -4
  37. package/skinny/registerComboBox.esm.js +4 -4
  38. package/skinny/registerDescription.cjs.js +1 -1
  39. package/skinny/registerDescription.d.ts +1 -1
  40. package/skinny/registerDescription.esm.js +1 -1
  41. package/skinny/registerDialog.cjs.js +1 -1
  42. package/skinny/registerDialog.esm.js +1 -1
  43. package/skinny/registerDialogTrigger.cjs.js +2 -2
  44. package/skinny/registerDialogTrigger.esm.js +2 -2
  45. package/skinny/registerFieldError.cjs.js +1 -1
  46. package/skinny/registerFieldError.esm.js +1 -1
  47. package/skinny/registerForm.cjs.js +1 -1
  48. package/skinny/registerForm.esm.js +1 -1
  49. package/skinny/registerHeading.cjs.js +1 -1
  50. package/skinny/registerHeading.d.ts +1 -1
  51. package/skinny/registerHeading.esm.js +1 -1
  52. package/skinny/registerInput.cjs.js +2 -2
  53. package/skinny/registerInput.esm.js +2 -2
  54. package/skinny/registerLabel.cjs.js +1 -1
  55. package/skinny/registerLabel.esm.js +1 -1
  56. package/skinny/{registerListBox-28474381.cjs.js → registerListBox-6812adfa.cjs.js} +4 -4
  57. package/skinny/{registerListBox-28474381.cjs.js.map → registerListBox-6812adfa.cjs.js.map} +1 -1
  58. package/skinny/{registerListBox-7197abae.esm.js → registerListBox-72a48933.esm.js} +4 -4
  59. package/skinny/{registerListBox-7197abae.esm.js.map → registerListBox-72a48933.esm.js.map} +1 -1
  60. package/skinny/registerListBox.cjs.js +4 -4
  61. package/skinny/registerListBox.esm.js +4 -4
  62. package/skinny/registerListBoxItem.cjs.js +3 -3
  63. package/skinny/registerListBoxItem.d.ts +1 -1
  64. package/skinny/registerListBoxItem.esm.js +3 -3
  65. package/skinny/registerModal.cjs.js +1 -1
  66. package/skinny/registerModal.esm.js +1 -1
  67. package/skinny/registerOverlayArrow.cjs.js +2 -2
  68. package/skinny/registerOverlayArrow.d.ts +1 -1
  69. package/skinny/registerOverlayArrow.esm.js +2 -2
  70. package/skinny/registerPopover.cjs.js +1 -1
  71. package/skinny/registerPopover.esm.js +1 -1
  72. package/skinny/registerRadio.cjs.js +3 -3
  73. package/skinny/registerRadio.d.ts +2 -2
  74. package/skinny/registerRadio.esm.js +3 -3
  75. package/skinny/registerRadioGroup.cjs.js +3 -3
  76. package/skinny/registerRadioGroup.esm.js +3 -3
  77. package/skinny/registerSection.cjs.js +4 -4
  78. package/skinny/registerSection.d.ts +1 -1
  79. package/skinny/registerSection.esm.js +4 -4
  80. package/skinny/registerSelect.cjs.js +4 -4
  81. package/skinny/registerSelect.esm.js +4 -4
  82. package/skinny/registerSlider.cjs.js +2 -3
  83. package/skinny/registerSlider.cjs.js.map +1 -1
  84. package/skinny/registerSlider.esm.js +2 -3
  85. package/skinny/registerSlider.esm.js.map +1 -1
  86. package/skinny/registerSliderOutput.cjs.js +2 -2
  87. package/skinny/registerSliderOutput.d.ts +1 -1
  88. package/skinny/registerSliderOutput.esm.js +2 -2
  89. package/skinny/registerSliderThumb.cjs.js +2 -2
  90. package/skinny/registerSliderThumb.d.ts +1 -1
  91. package/skinny/registerSliderThumb.esm.js +2 -2
  92. package/skinny/registerSliderTrack.cjs.js +3 -5
  93. package/skinny/registerSliderTrack.cjs.js.map +1 -1
  94. package/skinny/registerSliderTrack.d.ts +1 -1
  95. package/skinny/registerSliderTrack.esm.js +2 -3
  96. package/skinny/registerSliderTrack.esm.js.map +1 -1
  97. package/skinny/registerSwitch.cjs.js +2 -2
  98. package/skinny/registerSwitch.d.ts +1 -1
  99. package/skinny/registerSwitch.esm.js +2 -2
  100. package/skinny/registerText.cjs.js +1 -1
  101. package/skinny/registerText.d.ts +1 -1
  102. package/skinny/registerText.esm.js +1 -1
  103. package/skinny/registerTextArea.cjs.js +2 -2
  104. package/skinny/registerTextArea.esm.js +2 -2
  105. package/skinny/registerTextField.cjs.js +2 -2
  106. package/skinny/registerTextField.esm.js +2 -2
  107. package/skinny/registerTooltip.cjs.js +1 -1
  108. package/skinny/registerTooltip.esm.js +1 -1
  109. package/skinny/utils.d.ts +8 -1
  110. package/skinny/{variant-utils-1c84aebb.cjs.js → variant-utils-73632a67.cjs.js} +3 -2
  111. package/skinny/variant-utils-73632a67.cjs.js.map +1 -0
  112. package/skinny/{variant-utils-5f356d53.esm.js → variant-utils-f824a05a.esm.js} +3 -2
  113. package/skinny/variant-utils-f824a05a.esm.js.map +1 -0
  114. package/skinny/variant-utils.d.ts +1 -1
  115. package/skinny/common-7f948fa5.cjs.js.map +0 -1
  116. package/skinny/common-81f08e86.esm.js.map +0 -1
  117. package/skinny/variant-utils-1c84aebb.cjs.js.map +0 -1
  118. package/skinny/variant-utils-5f356d53.esm.js.map +0 -1
@@ -3,7 +3,7 @@ import React from "react";
3
3
  import type { CheckboxProps } from "react-aria-components";
4
4
  import { BaseControlContextData, CodeComponentMetaOverrides, HasControlContextData, Registerable } from "./utils";
5
5
  import { WithVariants } from "./variant-utils";
6
- declare const CHECKBOX_VARIANTS: ("disabled" | "readonly" | "hovered" | "pressed" | "focused" | "focusVisible" | "selected" | "indeterminate")[];
6
+ declare const CHECKBOX_VARIANTS: ("disabled" | "hovered" | "pressed" | "focused" | "focusVisible" | "selected" | "readonly" | "indeterminate")[];
7
7
  export interface BaseCheckboxControlContextData extends BaseControlContextData {
8
8
  idError?: string;
9
9
  }
@@ -16,5 +16,5 @@ export declare const makeDefaultCheckboxChildren: ({ label, showDocs, }: {
16
16
  showDocs?: boolean | undefined;
17
17
  }) => PlasmicElement;
18
18
  export declare const CHECKBOX_COMPONENT_NAME: string;
19
- export declare function registerCheckbox(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseCheckbox>): import("@plasmicapp/host").CodeComponentMeta<BaseCheckboxProps>;
19
+ export declare function registerCheckbox(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseCheckbox>): import("@plasmicapp/host/registerComponent").CodeComponentMeta<BaseCheckboxProps>;
20
20
  export {};
@@ -1,4 +1,4 @@
1
1
  import { BaseText } from "./registerText";
2
2
  import { CodeComponentMetaOverrides, Registerable } from "./utils";
3
3
  export declare const DESCRIPTION_COMPONENT_NAME: string;
4
- export declare function registerDescription(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseText>): import("@plasmicapp/host").CodeComponentMeta<import("./registerText").BaseTextProps>;
4
+ export declare function registerDescription(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseText>): import("@plasmicapp/host/registerComponent").CodeComponentMeta<import("./registerText").BaseTextProps>;
@@ -5,4 +5,4 @@ export interface BaseHeadingProps extends HeadingProps {
5
5
  }
6
6
  export declare function BaseHeading({ children, ...rest }: BaseHeadingProps): React.JSX.Element;
7
7
  /** @deprecated Use Plasmic's built-in `Text` component instead */
8
- export declare function registerHeading(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseHeading>): import("@plasmicapp/host").CodeComponentMeta<BaseHeadingProps>;
8
+ export declare function registerHeading(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseHeading>): import("@plasmicapp/host/registerComponent").CodeComponentMeta<BaseHeadingProps>;
@@ -13,7 +13,7 @@ export type BaseListBoxItemProps = Omit<React.ComponentProps<typeof ListBoxItem>
13
13
  };
14
14
  export declare function BaseListBoxItem(props: BaseListBoxItemProps): React.JSX.Element;
15
15
  export declare const makeDefaultListBoxItemChildren: (label: string, description?: string) => PlasmicElement;
16
- export declare function registerListBoxItem(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseListBoxItem>): import("@plasmicapp/host").CodeComponentMeta<Omit<import("react-aria-components").ListBoxItemProps<object> & React.RefAttributes<object>, "id"> & HasControlContextData<BaseListBoxControlContextData> & WithVariants<("disabled" | "hovered" | "pressed" | "focused" | "focusVisible" | "selected")[]> & {
16
+ export declare function registerListBoxItem(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseListBoxItem>): import("@plasmicapp/host/registerComponent").CodeComponentMeta<Omit<import("react-aria-components").ListBoxItemProps<object> & React.RefAttributes<object>, "id"> & HasControlContextData<BaseListBoxControlContextData> & WithVariants<("disabled" | "hovered" | "pressed" | "focused" | "focusVisible" | "selected")[]> & {
17
17
  id?: string | undefined;
18
18
  children?: React.ReactNode;
19
19
  }>;
@@ -9,5 +9,5 @@ export interface BaseOverlayArrowProps extends OverlayArrowProps, WithVariants<t
9
9
  }
10
10
  export declare function BaseOverlayArrow({ children, plasmicUpdateVariant, className, id, }: BaseOverlayArrowProps): React.JSX.Element;
11
11
  export declare const OVERLAY_ARROW_COMPONENT_NAME: string;
12
- export declare function registerOverlayArrow(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseOverlayArrow>): import("@plasmicapp/host").CodeComponentMeta<BaseOverlayArrowProps>;
12
+ export declare function registerOverlayArrow(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseOverlayArrow>): import("@plasmicapp/host/registerComponent").CodeComponentMeta<BaseOverlayArrowProps>;
13
13
  export {};
@@ -3,7 +3,7 @@ import React from "react";
3
3
  import type { RadioProps } from "react-aria-components";
4
4
  import { BaseControlContextData, CodeComponentMetaOverrides, HasControlContextData, Registerable } from "./utils";
5
5
  import { WithVariants } from "./variant-utils";
6
- declare const RADIO_VARIANTS: ("disabled" | "readonly" | "hovered" | "pressed" | "focused" | "focusVisible" | "selected")[];
6
+ declare const RADIO_VARIANTS: ("disabled" | "hovered" | "pressed" | "focused" | "focusVisible" | "selected" | "readonly")[];
7
7
  export interface BaseRadioControlContextData extends BaseControlContextData {
8
8
  idError?: string;
9
9
  }
@@ -12,5 +12,5 @@ export interface BaseRadioProps extends RadioProps, HasControlContextData<BaseRa
12
12
  }
13
13
  export declare function BaseRadio(props: BaseRadioProps): React.JSX.Element;
14
14
  export declare const makeDefaultRadioChildren: (label: string) => PlasmicElement;
15
- export declare function registerRadio(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseRadio>): import("@plasmicapp/host").CodeComponentMeta<BaseRadioProps>;
15
+ export declare function registerRadio(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseRadio>): import("@plasmicapp/host/registerComponent").CodeComponentMeta<BaseRadioProps>;
16
16
  export {};
@@ -5,4 +5,4 @@ export interface BaseSectionProps extends Styleable {
5
5
  header: React.ReactNode;
6
6
  }
7
7
  export declare function BaseSection(props: BaseSectionProps): React.JSX.Element;
8
- export declare function registerSection(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseSection>): import("@plasmicapp/host").CodeComponentMeta<BaseSectionProps>;
8
+ export declare function registerSection(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseSection>): import("@plasmicapp/host/registerComponent").CodeComponentMeta<BaseSectionProps>;
@@ -8,5 +8,5 @@ export interface BaseSliderOutputProps extends React.ComponentProps<typeof Slide
8
8
  }
9
9
  export declare function BaseSliderOutput(props: BaseSliderOutputProps): React.JSX.Element;
10
10
  export declare const SLIDER_OUTPUT_COMPONENT_NAME: string;
11
- export declare function registerSliderOutput(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseSliderOutput>): import("@plasmicapp/host").CodeComponentMeta<BaseSliderOutputProps>;
11
+ export declare function registerSliderOutput(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseSliderOutput>): import("@plasmicapp/host/registerComponent").CodeComponentMeta<BaseSliderOutputProps>;
12
12
  export {};
@@ -8,5 +8,5 @@ export interface BaseSliderThumbProps extends React.ComponentProps<typeof Slider
8
8
  }
9
9
  export declare function BaseSliderThumb({ children, advanced, plasmicUpdateVariant, ...rest }: BaseSliderThumbProps): React.JSX.Element;
10
10
  export declare const SLIDER_THUMB_COMPONENT_NAME: string;
11
- export declare function registerSliderThumb(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseSliderThumb>): import("@plasmicapp/host").CodeComponentMeta<BaseSliderThumbProps>;
11
+ export declare function registerSliderThumb(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseSliderThumb>): import("@plasmicapp/host/registerComponent").CodeComponentMeta<BaseSliderThumbProps>;
12
12
  export {};
@@ -11,5 +11,5 @@ export interface BaseSliderTrackProps extends React.ComponentProps<typeof Slider
11
11
  }
12
12
  export declare function BaseSliderTrack(props: BaseSliderTrackProps): React.JSX.Element;
13
13
  export declare const SLIDER_TRACK_COMPONENT_NAME: string;
14
- export declare function registerSliderTrack(sliderThumbMeta: CodeComponentMeta<BaseSliderThumbProps>, loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseSliderTrack>): import("@plasmicapp/host").CodeComponentMeta<BaseSliderTrackProps>;
14
+ export declare function registerSliderTrack(sliderThumbMeta: CodeComponentMeta<BaseSliderThumbProps>, loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseSliderTrack>): CodeComponentMeta<BaseSliderTrackProps>;
15
15
  export {};
@@ -2,7 +2,7 @@ import React from "react";
2
2
  import type { SwitchProps } from "react-aria-components";
3
3
  import { CodeComponentMetaOverrides, Registerable } from "./utils";
4
4
  import { WithVariants } from "./variant-utils";
5
- declare const SWITCH_VARIANTS: ("disabled" | "readonly" | "hovered" | "pressed" | "focused" | "focusVisible" | "selected")[];
5
+ declare const SWITCH_VARIANTS: ("disabled" | "hovered" | "pressed" | "focused" | "focusVisible" | "selected" | "readonly")[];
6
6
  interface BaseSwitchProps extends SwitchProps, WithVariants<typeof SWITCH_VARIANTS> {
7
7
  children: React.ReactNode;
8
8
  }
@@ -5,4 +5,4 @@ export interface BaseTextProps extends TextProps {
5
5
  }
6
6
  export declare function BaseText({ children, slot, className, ...rest }: BaseTextProps): React.JSX.Element;
7
7
  export declare const TEXT_COMPONENT_NAME: string;
8
- export declare function registerText(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseText>): import("@plasmicapp/host").CodeComponentMeta<BaseTextProps>;
8
+ export declare function registerText(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseText>): import("@plasmicapp/host/registerComponent").CodeComponentMeta<BaseTextProps>;
package/dist/utils.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type CodeComponentMeta } from "@plasmicapp/host";
1
+ import type { CodeComponentMeta } from "@plasmicapp/host/registerComponent";
2
2
  import registerComponent from "@plasmicapp/host/registerComponent";
3
3
  import React from "react";
4
4
  import { InputProps, TextAreaProps } from "react-aria-components";
@@ -67,3 +67,10 @@ export declare function extractPlasmicDataProps(props: Record<string, any>): {
67
67
  export declare function withoutNils<T>(array: (T | undefined | null)[]): T[];
68
68
  export declare function isDefined<T>(thing: T | undefined | null): thing is T;
69
69
  export declare function filterHoverProps<T extends TextAreaProps | InputProps>(props: T): Omit<T, "onHoverStart" | "onHoverChange" | "onHoverEnd">;
70
+ /**
71
+ * Flattens React children, unwrapping fragments and assigning stable keys.
72
+ * Inlined from react-keyed-flatten-children (9kB) to avoid its react-is peer dependency (13kB).
73
+ * Also, with plasmicpkgs, its always best to avoid pulling in unnecessary dependencies to keep bundle sizes down.
74
+ * https://github.com/grrowl/react-keyed-flatten-children/blob/master/index.ts
75
+ */
76
+ export declare function flattenChildren(children: React.ReactNode, depth?: number, keys?: (string | number)[]): React.ReactNode[];
@@ -61,7 +61,7 @@ export type UpdateVariant<T extends AriaVariant[]> = ((changes: Partial<Record<A
61
61
  export interface WithVariants<T extends AriaVariant[]> {
62
62
  plasmicUpdateVariant?: UpdateVariant<T>;
63
63
  }
64
- export declare function VariantUpdater<T extends AriaVariant[]>({ changes, updateVariant, }: {
64
+ export declare function VariantUpdater<T extends AriaVariant[]>({ changes: rawChanges, updateVariant, }: {
65
65
  changes: Partial<Record<ArrayElement<T>, boolean>>;
66
66
  updateVariant?: UpdateVariant<T>;
67
67
  }): null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plasmicpkgs/react-aria",
3
- "version": "0.0.169",
3
+ "version": "0.0.171",
4
4
  "description": "Plasmic registration calls for react-aria based components",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -50,7 +50,6 @@
50
50
  "@react-aria/utils": "^3.29.0",
51
51
  "react-aria": "^3.40.0",
52
52
  "react-aria-components": "^1.9.0",
53
- "react-keyed-flatten-children": "^3.0.0",
54
53
  "react-stately": "^3.38.0"
55
54
  },
56
55
  "devDependencies": {
@@ -74,5 +73,5 @@
74
73
  "publishConfig": {
75
74
  "access": "public"
76
75
  },
77
- "gitHead": "8d1c851cde5b6670789893501c50c16276c1673b"
76
+ "gitHead": "ce6ae43b98d2fde84e7cf9a7cc6ce4c7181b8402"
78
77
  }
@@ -1,5 +1,5 @@
1
1
  import { useState, useMemo, useEffect } from 'react';
2
- import { o as useIsomorphicLayoutEffect } from './common-81f08e86.esm.js';
2
+ import { o as useIsomorphicLayoutEffect } from './common-9574ac48.esm.js';
3
3
 
4
4
  class OptionsItemIdManager {
5
5
  constructor() {
@@ -103,4 +103,4 @@ function useIdManager(callback, existing) {
103
103
  }
104
104
 
105
105
  export { useOptionsItemId as a, useIdManager as u };
106
- //# sourceMappingURL=OptionsItemIdManager-0ce90944.esm.js.map
106
+ //# sourceMappingURL=OptionsItemIdManager-85247338.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OptionsItemIdManager-0ce90944.esm.js","sources":["../src/OptionsItemIdManager.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport { useIsomorphicLayoutEffect } from \"./utils\";\n\ntype Observer = (ids: string[]) => void;\n\n/** Ensures option item IDs are unique. */\nexport class OptionsItemIdManager {\n private readonly _ids: Set<string> = new Set();\n private readonly _observers: Set<Observer> = new Set();\n\n private generateDuplicateId(id: string, count = 1): string {\n const dupId = `${id} duplicate(${count})`;\n if (this._ids.has(dupId)) {\n return this.generateDuplicateId(id, count + 1);\n } else {\n return dupId;\n }\n }\n\n private generateMissingId(count = 1): string {\n const missingId = `missing(${count})`;\n if (this._ids.has(missingId)) {\n return this.generateMissingId(count + 1);\n } else {\n return missingId;\n }\n }\n\n register(id?: unknown): string {\n const idStr = id === undefined ? undefined : String(id).trim();\n let newId: string;\n\n if (!idStr) {\n // No id is provided, so generate one\n newId = this.generateMissingId();\n } else if (this._ids.has(idStr)) {\n // The provided id is already registered with another uuid (i.e. it's not unique), so just generate a new one\n newId = this.generateDuplicateId(idStr);\n } else {\n // The provided id is not already registered, so use it\n newId = idStr;\n }\n\n this._ids.add(newId);\n this.notify();\n return newId;\n }\n\n unregister(id: string) {\n this._ids.delete(id);\n this.notify();\n }\n\n subscribe(observer: Observer) {\n this._observers.add(observer);\n observer(this.ids);\n }\n\n unsubscribe(observer: Observer) {\n this._observers.delete(observer);\n }\n\n // Notify all observers about an event.\n notify() {\n this._observers.forEach((observer) => observer(this.ids));\n }\n\n get ids(): string[] {\n return Array.from(this._ids);\n }\n}\n\n/** Gets a unique option item ID. If the requested ID is already taken, returns a unique ID based on the requested ID. */\nexport const useOptionsItemId = (\n requestedId?: string,\n idManager?: OptionsItemIdManager\n) => {\n const [registeredId, setRegisteredId] = useState<string | undefined>();\n\n useIsomorphicLayoutEffect(() => {\n if (!idManager) {\n return;\n }\n\n const localId = idManager.register(requestedId);\n setRegisteredId(localId);\n return () => {\n if (localId) {\n idManager.unregister(localId);\n }\n };\n }, [requestedId, idManager]);\n\n return {\n registeredId,\n idError: (() => {\n if (requestedId === undefined) {\n return \"Value must be defined\";\n }\n if (typeof requestedId !== \"string\") {\n return \"Value must be a string\";\n }\n if (!requestedId.trim()) {\n return \"Value must be defined\";\n }\n if (idManager && requestedId != registeredId) {\n return \"Value must be unique\";\n }\n return undefined;\n })(),\n };\n};\n\n/**\n * Hook that creates and returns an OptionsItemIdManager instance to manage unique IDs.\n *\n * This hook is useful for components that need to track and manage a collection of unique IDs,\n * such as select options, radio groups, checkbox groups, etc. It handles the registration and\n * unregistration of IDs, ensuring uniqueness and providing notifications when the collection changes.\n *\n * @param callback - A function that will be called with the current IDs when they change.\n * @param existing - An existing OptionsItemIdManager instance to use. If not provided, a new instance will be created.\n */\nexport function useIdManager(\n callback: (ids: string[]) => void,\n existing?: OptionsItemIdManager\n) {\n const idManager = useMemo(\n () => existing ?? new OptionsItemIdManager(),\n [existing]\n );\n\n useEffect(() => {\n idManager.subscribe(callback);\n\n return () => {\n idManager.unsubscribe(callback);\n };\n }, [idManager, callback]);\n\n return idManager;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OptionsItemIdManager-85247338.esm.js","sources":["../src/OptionsItemIdManager.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport { useIsomorphicLayoutEffect } from \"./utils\";\n\ntype Observer = (ids: string[]) => void;\n\n/** Ensures option item IDs are unique. */\nexport class OptionsItemIdManager {\n private readonly _ids: Set<string> = new Set();\n private readonly _observers: Set<Observer> = new Set();\n\n private generateDuplicateId(id: string, count = 1): string {\n const dupId = `${id} duplicate(${count})`;\n if (this._ids.has(dupId)) {\n return this.generateDuplicateId(id, count + 1);\n } else {\n return dupId;\n }\n }\n\n private generateMissingId(count = 1): string {\n const missingId = `missing(${count})`;\n if (this._ids.has(missingId)) {\n return this.generateMissingId(count + 1);\n } else {\n return missingId;\n }\n }\n\n register(id?: unknown): string {\n const idStr = id === undefined ? undefined : String(id).trim();\n let newId: string;\n\n if (!idStr) {\n // No id is provided, so generate one\n newId = this.generateMissingId();\n } else if (this._ids.has(idStr)) {\n // The provided id is already registered with another uuid (i.e. it's not unique), so just generate a new one\n newId = this.generateDuplicateId(idStr);\n } else {\n // The provided id is not already registered, so use it\n newId = idStr;\n }\n\n this._ids.add(newId);\n this.notify();\n return newId;\n }\n\n unregister(id: string) {\n this._ids.delete(id);\n this.notify();\n }\n\n subscribe(observer: Observer) {\n this._observers.add(observer);\n observer(this.ids);\n }\n\n unsubscribe(observer: Observer) {\n this._observers.delete(observer);\n }\n\n // Notify all observers about an event.\n notify() {\n this._observers.forEach((observer) => observer(this.ids));\n }\n\n get ids(): string[] {\n return Array.from(this._ids);\n }\n}\n\n/** Gets a unique option item ID. If the requested ID is already taken, returns a unique ID based on the requested ID. */\nexport const useOptionsItemId = (\n requestedId?: string,\n idManager?: OptionsItemIdManager\n) => {\n const [registeredId, setRegisteredId] = useState<string | undefined>();\n\n useIsomorphicLayoutEffect(() => {\n if (!idManager) {\n return;\n }\n\n const localId = idManager.register(requestedId);\n setRegisteredId(localId);\n return () => {\n if (localId) {\n idManager.unregister(localId);\n }\n };\n }, [requestedId, idManager]);\n\n return {\n registeredId,\n idError: (() => {\n if (requestedId === undefined) {\n return \"Value must be defined\";\n }\n if (typeof requestedId !== \"string\") {\n return \"Value must be a string\";\n }\n if (!requestedId.trim()) {\n return \"Value must be defined\";\n }\n if (idManager && requestedId != registeredId) {\n return \"Value must be unique\";\n }\n return undefined;\n })(),\n };\n};\n\n/**\n * Hook that creates and returns an OptionsItemIdManager instance to manage unique IDs.\n *\n * This hook is useful for components that need to track and manage a collection of unique IDs,\n * such as select options, radio groups, checkbox groups, etc. It handles the registration and\n * unregistration of IDs, ensuring uniqueness and providing notifications when the collection changes.\n *\n * @param callback - A function that will be called with the current IDs when they change.\n * @param existing - An existing OptionsItemIdManager instance to use. If not provided, a new instance will be created.\n */\nexport function useIdManager(\n callback: (ids: string[]) => void,\n existing?: OptionsItemIdManager\n) {\n const idManager = useMemo(\n () => existing ?? new OptionsItemIdManager(),\n [existing]\n );\n\n useEffect(() => {\n idManager.subscribe(callback);\n\n return () => {\n idManager.unsubscribe(callback);\n };\n }, [idManager, callback]);\n\n return idManager;\n}\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var common = require('./common-7f948fa5.cjs.js');
4
+ var common = require('./common-44638169.cjs.js');
5
5
 
6
6
  class OptionsItemIdManager {
7
7
  constructor() {
@@ -106,4 +106,4 @@ function useIdManager(callback, existing) {
106
106
 
107
107
  exports.useIdManager = useIdManager;
108
108
  exports.useOptionsItemId = useOptionsItemId;
109
- //# sourceMappingURL=OptionsItemIdManager-cb3a2c53.cjs.js.map
109
+ //# sourceMappingURL=OptionsItemIdManager-9f1502c1.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OptionsItemIdManager-cb3a2c53.cjs.js","sources":["../src/OptionsItemIdManager.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport { useIsomorphicLayoutEffect } from \"./utils\";\n\ntype Observer = (ids: string[]) => void;\n\n/** Ensures option item IDs are unique. */\nexport class OptionsItemIdManager {\n private readonly _ids: Set<string> = new Set();\n private readonly _observers: Set<Observer> = new Set();\n\n private generateDuplicateId(id: string, count = 1): string {\n const dupId = `${id} duplicate(${count})`;\n if (this._ids.has(dupId)) {\n return this.generateDuplicateId(id, count + 1);\n } else {\n return dupId;\n }\n }\n\n private generateMissingId(count = 1): string {\n const missingId = `missing(${count})`;\n if (this._ids.has(missingId)) {\n return this.generateMissingId(count + 1);\n } else {\n return missingId;\n }\n }\n\n register(id?: unknown): string {\n const idStr = id === undefined ? undefined : String(id).trim();\n let newId: string;\n\n if (!idStr) {\n // No id is provided, so generate one\n newId = this.generateMissingId();\n } else if (this._ids.has(idStr)) {\n // The provided id is already registered with another uuid (i.e. it's not unique), so just generate a new one\n newId = this.generateDuplicateId(idStr);\n } else {\n // The provided id is not already registered, so use it\n newId = idStr;\n }\n\n this._ids.add(newId);\n this.notify();\n return newId;\n }\n\n unregister(id: string) {\n this._ids.delete(id);\n this.notify();\n }\n\n subscribe(observer: Observer) {\n this._observers.add(observer);\n observer(this.ids);\n }\n\n unsubscribe(observer: Observer) {\n this._observers.delete(observer);\n }\n\n // Notify all observers about an event.\n notify() {\n this._observers.forEach((observer) => observer(this.ids));\n }\n\n get ids(): string[] {\n return Array.from(this._ids);\n }\n}\n\n/** Gets a unique option item ID. If the requested ID is already taken, returns a unique ID based on the requested ID. */\nexport const useOptionsItemId = (\n requestedId?: string,\n idManager?: OptionsItemIdManager\n) => {\n const [registeredId, setRegisteredId] = useState<string | undefined>();\n\n useIsomorphicLayoutEffect(() => {\n if (!idManager) {\n return;\n }\n\n const localId = idManager.register(requestedId);\n setRegisteredId(localId);\n return () => {\n if (localId) {\n idManager.unregister(localId);\n }\n };\n }, [requestedId, idManager]);\n\n return {\n registeredId,\n idError: (() => {\n if (requestedId === undefined) {\n return \"Value must be defined\";\n }\n if (typeof requestedId !== \"string\") {\n return \"Value must be a string\";\n }\n if (!requestedId.trim()) {\n return \"Value must be defined\";\n }\n if (idManager && requestedId != registeredId) {\n return \"Value must be unique\";\n }\n return undefined;\n })(),\n };\n};\n\n/**\n * Hook that creates and returns an OptionsItemIdManager instance to manage unique IDs.\n *\n * This hook is useful for components that need to track and manage a collection of unique IDs,\n * such as select options, radio groups, checkbox groups, etc. It handles the registration and\n * unregistration of IDs, ensuring uniqueness and providing notifications when the collection changes.\n *\n * @param callback - A function that will be called with the current IDs when they change.\n * @param existing - An existing OptionsItemIdManager instance to use. If not provided, a new instance will be created.\n */\nexport function useIdManager(\n callback: (ids: string[]) => void,\n existing?: OptionsItemIdManager\n) {\n const idManager = useMemo(\n () => existing ?? new OptionsItemIdManager(),\n [existing]\n );\n\n useEffect(() => {\n idManager.subscribe(callback);\n\n return () => {\n idManager.unsubscribe(callback);\n };\n }, [idManager, callback]);\n\n return idManager;\n}\n"],"names":["useState","useIsomorphicLayoutEffect","useMemo","useEffect"],"mappings":"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"}
1
+ {"version":3,"file":"OptionsItemIdManager-9f1502c1.cjs.js","sources":["../src/OptionsItemIdManager.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport { useIsomorphicLayoutEffect } from \"./utils\";\n\ntype Observer = (ids: string[]) => void;\n\n/** Ensures option item IDs are unique. */\nexport class OptionsItemIdManager {\n private readonly _ids: Set<string> = new Set();\n private readonly _observers: Set<Observer> = new Set();\n\n private generateDuplicateId(id: string, count = 1): string {\n const dupId = `${id} duplicate(${count})`;\n if (this._ids.has(dupId)) {\n return this.generateDuplicateId(id, count + 1);\n } else {\n return dupId;\n }\n }\n\n private generateMissingId(count = 1): string {\n const missingId = `missing(${count})`;\n if (this._ids.has(missingId)) {\n return this.generateMissingId(count + 1);\n } else {\n return missingId;\n }\n }\n\n register(id?: unknown): string {\n const idStr = id === undefined ? undefined : String(id).trim();\n let newId: string;\n\n if (!idStr) {\n // No id is provided, so generate one\n newId = this.generateMissingId();\n } else if (this._ids.has(idStr)) {\n // The provided id is already registered with another uuid (i.e. it's not unique), so just generate a new one\n newId = this.generateDuplicateId(idStr);\n } else {\n // The provided id is not already registered, so use it\n newId = idStr;\n }\n\n this._ids.add(newId);\n this.notify();\n return newId;\n }\n\n unregister(id: string) {\n this._ids.delete(id);\n this.notify();\n }\n\n subscribe(observer: Observer) {\n this._observers.add(observer);\n observer(this.ids);\n }\n\n unsubscribe(observer: Observer) {\n this._observers.delete(observer);\n }\n\n // Notify all observers about an event.\n notify() {\n this._observers.forEach((observer) => observer(this.ids));\n }\n\n get ids(): string[] {\n return Array.from(this._ids);\n }\n}\n\n/** Gets a unique option item ID. If the requested ID is already taken, returns a unique ID based on the requested ID. */\nexport const useOptionsItemId = (\n requestedId?: string,\n idManager?: OptionsItemIdManager\n) => {\n const [registeredId, setRegisteredId] = useState<string | undefined>();\n\n useIsomorphicLayoutEffect(() => {\n if (!idManager) {\n return;\n }\n\n const localId = idManager.register(requestedId);\n setRegisteredId(localId);\n return () => {\n if (localId) {\n idManager.unregister(localId);\n }\n };\n }, [requestedId, idManager]);\n\n return {\n registeredId,\n idError: (() => {\n if (requestedId === undefined) {\n return \"Value must be defined\";\n }\n if (typeof requestedId !== \"string\") {\n return \"Value must be a string\";\n }\n if (!requestedId.trim()) {\n return \"Value must be defined\";\n }\n if (idManager && requestedId != registeredId) {\n return \"Value must be unique\";\n }\n return undefined;\n })(),\n };\n};\n\n/**\n * Hook that creates and returns an OptionsItemIdManager instance to manage unique IDs.\n *\n * This hook is useful for components that need to track and manage a collection of unique IDs,\n * such as select options, radio groups, checkbox groups, etc. It handles the registration and\n * unregistration of IDs, ensuring uniqueness and providing notifications when the collection changes.\n *\n * @param callback - A function that will be called with the current IDs when they change.\n * @param existing - An existing OptionsItemIdManager instance to use. If not provided, a new instance will be created.\n */\nexport function useIdManager(\n callback: (ids: string[]) => void,\n existing?: OptionsItemIdManager\n) {\n const idManager = useMemo(\n () => existing ?? new OptionsItemIdManager(),\n [existing]\n );\n\n useEffect(() => {\n idManager.subscribe(callback);\n\n return () => {\n idManager.unsubscribe(callback);\n };\n }, [idManager, callback]);\n\n return idManager;\n}\n"],"names":["useState","useIsomorphicLayoutEffect","useMemo","useEffect"],"mappings":"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"}
@@ -135,6 +135,31 @@ function filterHoverProps(props) {
135
135
  ]);
136
136
  return otherProps;
137
137
  }
138
+ function flattenChildren(children, depth = 0, keys = []) {
139
+ return React__default.default.Children.toArray(children).reduce(
140
+ (acc, node, nodeIndex) => {
141
+ if (React__default.default.isValidElement(node) && node.type === React__default.default.Fragment) {
142
+ acc.push(
143
+ ...flattenChildren(
144
+ node.props.children,
145
+ depth + 1,
146
+ keys.concat(node.key || nodeIndex)
147
+ )
148
+ );
149
+ } else if (React__default.default.isValidElement(node)) {
150
+ acc.push(
151
+ React__default.default.cloneElement(node, {
152
+ key: keys.concat(String(node.key)).join(".")
153
+ })
154
+ );
155
+ } else if (typeof node === "string" || typeof node === "number") {
156
+ acc.push(node);
157
+ }
158
+ return acc;
159
+ },
160
+ []
161
+ );
162
+ }
138
163
 
139
164
  var __defProp = Object.defineProperty;
140
165
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
@@ -646,6 +671,7 @@ exports.createRequiredProp = createRequiredProp;
646
671
  exports.createValidationBehaviorProp = createValidationBehaviorProp;
647
672
  exports.extractPlasmicDataProps = extractPlasmicDataProps;
648
673
  exports.filterHoverProps = filterHoverProps;
674
+ exports.flattenChildren = flattenChildren;
649
675
  exports.getCommonOverlayProps = getCommonOverlayProps;
650
676
  exports.hasParent = hasParent;
651
677
  exports.isDefined = isDefined;
@@ -656,4 +682,4 @@ exports.resolveAutoComplete = resolveAutoComplete;
656
682
  exports.useAutoOpen = useAutoOpen;
657
683
  exports.useIsOpen = useIsOpen;
658
684
  exports.useIsomorphicLayoutEffect = useIsomorphicLayoutEffect;
659
- //# sourceMappingURL=common-7f948fa5.cjs.js.map
685
+ //# sourceMappingURL=common-44638169.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common-44638169.cjs.js","sources":["../src/utils.ts","../src/common.ts"],"sourcesContent":["import {\n usePlasmicCanvasComponentInfo,\n usePlasmicCanvasContext,\n} from \"@plasmicapp/host\";\nimport type { CodeComponentMeta } from \"@plasmicapp/host/registerComponent\";\nimport registerComponent from \"@plasmicapp/host/registerComponent\";\nimport React, { useEffect } from \"react\";\nimport { InputProps, TextAreaProps } from \"react-aria-components\";\n\nexport type HasControlContextData<T = BaseControlContextData> = {\n setControlContextData?: (ctxData: T) => void;\n};\n\nexport const isBrowser = typeof window !== \"undefined\";\n\nexport const useIsomorphicLayoutEffect = isBrowser\n ? React.useLayoutEffect\n : React.useEffect;\n\nexport type PlasmicCanvasProps = {\n plasmicNotifyAutoOpenedContent?: () => void;\n __plasmic_selection_prop__?: {\n isSelected: boolean;\n selectedSlotName?: string;\n };\n};\n\nexport type ControlContextData = {\n isDisabled?: boolean;\n isReadOnly?: boolean;\n};\n\nexport type BaseControlContextData = {\n parent?: ControlContextData;\n};\n\nexport type BaseControlContextDataForLists = {\n itemIds: string[];\n};\n\nexport type Registerable = {\n registerComponent: typeof registerComponent;\n};\n\nexport type OtherCodeComponentsMeta = {\n text: CodeComponentMeta<any>;\n description: CodeComponentMeta<any>;\n};\n\nexport type CodeComponentMetaOverrides<T extends React.ComponentType<any>> =\n Partial<\n Pick<\n CodeComponentMeta<React.ComponentProps<T>>,\n \"parentComponentName\" | \"props\" | \"displayName\" | \"name\"\n >\n >;\n\n/**\n * This hook determines whether an overlay should be open or not. Unlike `useAutoOpen`, it does not perform any actions.\n * It takes into account the following:\n * 1. Whether the overlay is in canvas or preview.\n * 2. Whether the overlay is selected on canvas\n * 3. Whether the overlay's trigger slot is selected on canvas\n */\nexport function useIsOpen({\n triggerSlotName,\n isOpen,\n props,\n}: {\n triggerSlotName?: string;\n isOpen?: boolean;\n props: PlasmicCanvasProps;\n}) {\n const { __plasmic_selection_prop__, plasmicNotifyAutoOpenedContent } = props;\n const canvasContext = usePlasmicCanvasContext();\n const { isSelected, selectedSlotName } =\n usePlasmicCanvasComponentInfo?.({ __plasmic_selection_prop__ }) ?? {};\n\n // In preview, just use the isOpen prop as is.\n if (!canvasContext) {\n return isOpen;\n }\n\n // In canvas, override the isOpen prop if the element is selected.\n const isTriggerSlotSelected =\n isDefined(selectedSlotName) && selectedSlotName === triggerSlotName;\n\n const isAutoOpenedBySelection = isSelected && !isTriggerSlotSelected;\n\n if (isAutoOpenedBySelection && !isOpen) {\n plasmicNotifyAutoOpenedContent?.();\n }\n // Component should always be controlled in canvas\n return Boolean(isAutoOpenedBySelection || isOpen);\n}\n\n/**\n * This hook is used to perform open/close actions on an overlay. It takes into account the following:\n * 1. Whether the overlay is in canvas or preview.\n * 2. Whether the overlay is selected on canvas\n */\nexport function useAutoOpen({\n props,\n open,\n close,\n}: {\n props: PlasmicCanvasProps;\n open?: () => void;\n close?: () => void;\n}) {\n const inPlasmicCanvas = !!usePlasmicCanvasContext();\n const isSelected =\n usePlasmicCanvasComponentInfo?.(props)?.isSelected ?? false;\n const { plasmicNotifyAutoOpenedContent } = props;\n\n useEffect(() => {\n // selection in outline tab only matters in canvas\n if (!inPlasmicCanvas) {\n return;\n }\n if (isSelected) {\n open?.();\n plasmicNotifyAutoOpenedContent?.();\n } else {\n close?.();\n }\n }, [\n isSelected,\n inPlasmicCanvas,\n plasmicNotifyAutoOpenedContent,\n open,\n close,\n ]);\n}\n\nexport function registerComponentHelper<T extends React.ComponentType<any>>(\n loader: Registerable | undefined,\n component: T,\n meta: CodeComponentMeta<React.ComponentProps<T>>,\n overrides?: CodeComponentMetaOverrides<T>\n) {\n if (overrides) {\n meta = {\n ...meta,\n ...overrides,\n props: {\n ...meta.props,\n ...overrides.props,\n },\n };\n if (overrides.parentComponentName) {\n meta.name = makeChildComponentName(\n overrides.parentComponentName,\n meta.name\n );\n }\n }\n if (loader) {\n loader.registerComponent(component, meta);\n } else {\n registerComponent(component, meta);\n }\n return meta;\n}\n\nexport function makeComponentName(name: string) {\n return `plasmic-react-aria-${name}`;\n}\n\nexport function makeChildComponentName(\n fullParentName: string | undefined,\n fullChildName: string\n) {\n if (!fullParentName) {\n return fullChildName;\n }\n return `${fullParentName}-${fullChildName.replace(\n \"plasmic-react-aria-\",\n \"\"\n )}`;\n}\n\nexport interface Styleable {\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport function extractPlasmicDataProps(props: Record<string, any>) {\n return Object.fromEntries(\n Object.entries(props).filter(([key]) => key.startsWith(\"data-plasmic-\"))\n );\n}\n\nexport function withoutNils<T>(array: (T | undefined | null)[]) {\n return array.filter((x): x is T => x != null);\n}\n\nexport function isDefined<T>(thing: T | undefined | null): thing is T {\n return thing !== undefined && thing !== null;\n}\n\nexport function filterHoverProps<T extends TextAreaProps | InputProps>(\n props: T\n) {\n const {\n onHoverStart: _onHoverStart,\n onHoverChange: _onHoverChange,\n onHoverEnd: _onHoverEnd,\n ...otherProps\n } = props;\n return otherProps;\n}\n\n/**\n * Flattens React children, unwrapping fragments and assigning stable keys.\n * Inlined from react-keyed-flatten-children (9kB) to avoid its react-is peer dependency (13kB).\n * Also, with plasmicpkgs, its always best to avoid pulling in unnecessary dependencies to keep bundle sizes down.\n * https://github.com/grrowl/react-keyed-flatten-children/blob/master/index.ts\n */\nexport function flattenChildren(\n children: React.ReactNode,\n depth: number = 0,\n keys: (string | number)[] = []\n): React.ReactNode[] {\n return React.Children.toArray(children).reduce(\n (acc: React.ReactNode[], node: React.ReactNode, nodeIndex: number) => {\n if (React.isValidElement(node) && node.type === React.Fragment) {\n acc.push(\n ...flattenChildren(\n (node.props as { children?: React.ReactNode }).children,\n depth + 1,\n keys.concat(node.key || nodeIndex)\n )\n );\n } else if (React.isValidElement(node)) {\n acc.push(\n React.cloneElement(node, {\n key: keys.concat(String(node.key)).join(\".\"),\n })\n );\n } else if (typeof node === \"string\" || typeof node === \"number\") {\n acc.push(node);\n }\n return acc;\n },\n []\n );\n}\n","import { PlasmicElement, PropType } from \"@plasmicapp/host\";\nimport { CSSProperties } from \"react\";\nimport {\n BaseControlContextData,\n HasControlContextData,\n isDefined,\n} from \"./utils\";\n\nexport function hasParent<T>(_props: T, ctx: ConditionalContext<T>): boolean {\n return isDefined(ctx?.parent) === true;\n}\n\nexport function isParentReadOnly<T>(_props: T, ctx: ConditionalContext<T>) {\n return ctx?.parent?.isReadOnly === true;\n}\n\nexport function isParentDisabled<T>(_props: T, ctx: ConditionalContext<T>) {\n return ctx?.parent?.isDisabled === true;\n}\n\nexport function resolveAutoComplete(autoCompleteProp?: string | string[]) {\n if (typeof autoCompleteProp === \"string\") {\n return autoCompleteProp;\n }\n if (\n !autoCompleteProp ||\n !Array.isArray(autoCompleteProp) ||\n autoCompleteProp.includes(\"off\")\n ) {\n return undefined;\n }\n if (autoCompleteProp.includes(\"off\")) {\n return \"off\";\n }\n if (autoCompleteProp.includes(\"on\") && autoCompleteProp.length === 1) {\n return \"on\";\n }\n return autoCompleteProp.filter((x) => x !== \"on\").join(\" \");\n}\n\ntype ConditionalContext<T> = T extends HasControlContextData\n ? BaseControlContextData | null\n : null;\n\nexport function createIdProp<T>(componentName: string): PropType<T> {\n return {\n type: \"string\",\n description: `Sets the HTML id attribute on the root element of the ${componentName}.`,\n advanced: true,\n };\n}\n\nexport function createNameProp<T>(): PropType<T> {\n return {\n type: \"string\",\n description: \"Name for this field if it is part of a form\",\n displayName: \"Form field key\",\n hidden: hasParent,\n advanced: true,\n };\n}\n\nexport function createDisabledProp<T>(componentName: string): PropType<T> {\n return {\n displayName: \"Disabled\",\n type: \"boolean\",\n description: `Whether the ${componentName} is read-only and unfocusable`,\n defaultValueHint: false,\n hidden: isParentDisabled,\n };\n}\n\nexport function createReadOnlyProp<T>(componentName: string): PropType<T> {\n return {\n displayName: \"Read only\",\n type: \"boolean\",\n description: `Whether the value of this ${componentName} can be changed by the user. Unlike disabled, read-only does not prevent the user from interacting with the component (such as focus).`,\n defaultValueHint: false,\n advanced: true,\n hidden: isParentReadOnly,\n };\n}\n\nexport function createRequiredProp<T>(componentName: string): PropType<T> {\n return {\n displayName: \"Required\",\n type: \"boolean\",\n description: `Whether user input is required on the ${componentName} before form submission.`,\n defaultValueHint: false,\n advanced: true,\n // hidden: hasParent,\n hidden: () => true, // hiding required prop until the release of Aria Forms\n };\n}\n\nexport function createAutoFocusProp<T>(componentName: string): PropType<T> {\n return {\n type: \"boolean\",\n description: `Whether the ${componentName} should be focused when rendered`,\n defaultValueHint: false,\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createAriaLabelProp<T>(componentName: string): PropType<T> {\n return {\n type: \"string\",\n displayName: \"ARIA label\",\n description: `Assistive technology uses this if there is no visible label for this ${componentName}`,\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createChildrenProp<T>(): PropType<T> {\n return {\n type: \"slot\",\n mergeWithParent: true,\n };\n}\nexport function createInitialValueProp<T>(componentName: string): PropType<T> {\n return {\n type: \"string\",\n editOnly: true,\n displayName: \"Initial value\",\n uncontrolledProp: \"defaultValue\",\n description: `The default value of the ${componentName}`,\n hidden: hasParent,\n };\n}\n\nexport function createMaxLengthProp<T>(): PropType<T> {\n return {\n type: \"number\",\n description: \"The maximum number of characters supported by the input\",\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createMinLengthProp<T>(): PropType<T> {\n return {\n type: \"number\",\n description: \"The minimum number of characters supported by the input\",\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createPatternProp<T>(): PropType<T> {\n return {\n type: \"string\",\n description:\n \"Regex pattern that the value of the input must match to be valid\",\n helpText:\n \"For more information about writing Regular Expressions (regex), visit [Regexr](https://regexr.com/)\",\n validator: (value: string) => {\n try {\n new RegExp(value);\n return true;\n } catch (_err) {\n return \"Invalid Regex\";\n }\n },\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createInputTypeProp<T>(): PropType<T> {\n return {\n type: \"choice\",\n defaultValueHint: \"text\",\n options: [\"text\", \"search\", \"url\", \"tel\", \"email\", \"password\"],\n description:\n \"The type of data that an input field is expected to handle. It influences the input's behavior, validation, and the kind of interface provided to the user.\",\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createInputModeProp<T>(): PropType<T> {\n return {\n type: \"choice\",\n description:\n \"hint to browsers as to the type of virtual keyboard configuration to use when editing this element or its contents.\",\n options: [\n \"none\",\n \"text\",\n \"tel\",\n \"url\",\n \"email\",\n \"numeric\",\n \"decimal\",\n \"search\",\n ],\n hidden: hasParent,\n };\n}\n\nexport function createAutoCompleteProp<T>(): PropType<T> {\n return {\n type: \"choice\",\n advanced: true,\n multiSelect: true,\n hidden: hasParent,\n description: \"Guidance as to the type of data expected in the field\",\n helpText:\n \"Learn more about the available options on the [MDN guide](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#values)\",\n options: [\n \"on\",\n \"off\",\n \"name\",\n \"honorific-prefix\",\n \"given-name\",\n \"additional-name\",\n \"family-name\",\n \"honorific-suffix\",\n \"nickname\",\n \"email\",\n \"username\",\n \"new-password\",\n \"current-password\",\n \"one-time-code\",\n \"organization-title\",\n \"organization\",\n \"street-address\",\n \"shipping\",\n \"billing\",\n \"address-line1\",\n \"address-line2\",\n \"address-line3\",\n \"address-level4\",\n \"address-level3\",\n \"address-level2\",\n \"address-level1\",\n \"country\",\n \"country-name\",\n \"postal-code\",\n \"cc-name\",\n \"cc-given-name\",\n \"cc-additional-name\",\n \"cc-family-name\",\n \"cc-number\",\n \"cc-exp\",\n \"cc-exp-month\",\n \"cc-exp-year\",\n \"cc-csc\",\n \"cc-type\",\n \"transaction-currency\",\n \"transaction-amount\",\n \"language\",\n \"bday\",\n \"bday-day\",\n \"bday-month\",\n \"bday-year\",\n \"sex\",\n \"tel\",\n \"tel-country-code\",\n \"tel-national\",\n \"tel-area-code\",\n \"tel-local\",\n \"tel-local-suffix\",\n \"tel-local-prefix\",\n \"tel-extension\",\n \"impp\",\n \"url\",\n \"photo\",\n \"webauthn\",\n ],\n };\n}\n\nexport function createValidationBehaviorProp<T>(): PropType<T> {\n return {\n type: \"choice\",\n options: [\"native\", \"aria\"],\n description:\n \"Whether to use native HTML form validation to prevent form submission when the value is missing or invalid, or mark the field as required or invalid via ARIA.\",\n defaultValueHint: \"native\",\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnChangeProp<T>(argType: \"string\" | \"number\" | \"object\" = \"string\"): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: argType }],\n hidden: hasParent,\n };\n}\n\nexport function createOnFocusProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"focusEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnBlurProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"focusEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnFocusChangeProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"isFocused\", type: \"boolean\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnKeyDownProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"keyboardEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnKeyUpProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"keyboardEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnCopyProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"clipbordEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnCutProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"clipbordEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnPasteProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"clipbordEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnCompositionStartProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"compositionEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnCompositionEndProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"compositionEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnCompositionUpdateProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"compositionEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnSelectProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"selectionEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnBeforeInputProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"inputEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnInputProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"inputEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createPlaceholderProp<T>(): PropType<T> {\n return {\n type: \"string\",\n };\n}\n\ntype Overrides = {\n defaultValueHint?: any;\n};\n\nexport function createPlacementProp<T>(\n componentName: string,\n overrides: Overrides\n): PropType<T> {\n return {\n type: \"choice\",\n description: `Default placement of the ${componentName} relative to the trigger, if there is enough space`,\n options: [\n \"bottom\",\n \"bottom left\",\n \"bottom right\",\n \"bottom start\",\n \"bottom end\",\n \"top\",\n \"top left\",\n \"top right\",\n \"top start\",\n \"top end\",\n \"left\",\n \"left top\",\n \"left bottom\",\n \"start\",\n \"start top\",\n \"start bottom\",\n \"right\",\n \"right top\",\n \"right bottom\",\n \"end\",\n \"end top\",\n \"end bottom\",\n ],\n ...(overrides ?? {}),\n };\n}\n\nexport function createOffsetProp<T>(\n componentName: string,\n overrides: Overrides\n): PropType<T> {\n return {\n type: \"number\",\n displayName: \"Offset\",\n description: `Additional offset applied along the main axis between the ${componentName} and its trigger`,\n advanced: true,\n ...(overrides ?? {}),\n };\n}\n\nexport function createContainerPaddingProp<T>(\n componentName: string,\n overrides: Overrides\n): PropType<T> {\n return {\n type: \"number\",\n description: `The padding that should be applied between the ${componentName} and its surrounding container. This affects the positioning breakpoints that determine when it will attempt to flip.`,\n advanced: true,\n ...(overrides ?? {}),\n };\n}\n\nexport function createCrossOffsetProp<T>(\n componentName: string,\n overrides: Overrides\n): PropType<T> {\n return {\n type: \"number\",\n description: `The additional offset applied along the cross axis between the ${componentName} and its anchor element.`,\n advanced: true,\n ...(overrides ?? {}),\n };\n}\n\nexport function getCommonOverlayProps<T>(\n componentName: string,\n overrides: Record<string, Overrides>\n) {\n const commonProps: Record<string, PropType<T>> = {\n placement: createPlacementProp<T>(componentName, overrides[\"placement\"]),\n offset: createOffsetProp<T>(componentName, overrides[\"offset\"]),\n containerPadding: createContainerPaddingProp<T>(\n componentName,\n overrides[\"containerPadding\"]\n ),\n crossOffset: createCrossOffsetProp<T>(\n componentName,\n overrides[\"crossOffset\"]\n ),\n };\n return commonProps;\n}\n\nexport const arrowDown: PlasmicElement = {\n type: \"hbox\",\n children: [],\n styles: {\n width: 0,\n height: 0,\n padding: 0,\n borderLeftWidth: \"5px\",\n borderRightWidth: \"5px\",\n borderTopWidth: \"5px\",\n borderLeftStyle: \"solid\",\n borderRightStyle: \"solid\",\n borderTopStyle: \"solid\",\n borderLeftColor: \"transparent\",\n borderRightColor: \"transparent\",\n borderTopColor: \"black\",\n },\n};\n// Set border-box to the root element of the aria code component to align with Plasmic's default of using border-box for all root elements.\nexport const COMMON_STYLES: CSSProperties = { boxSizing: \"border-box\" };\n\n/**\n* Minimal shared input event-handler registrations for text-entry controls.\n*\n* This returns only the event handler props that have the exact same names and\n* semantics across all three components: Input, Text Field, and Text Area.\n* Non-event props (e.g., id, name, value, maxLength/minLength, inputMode,\n* placeholder, pattern, type, autoComplete, validationBehavior, disabled/\n* isDisabled, readOnly/isReadOnly, required/isRequired, \"aria-label\") must be\n* registered explicitly at the component level to preserve the desired\n* editor-facing ordering.\n*/\nexport function commonInputEventHandlerProps<T>(): Record<string, PropType<T>> {\n return {\n // Events supported uniformly by all three\n onChange: createOnChangeProp<T>(\"string\"),\n onFocus: createOnFocusProp<T>(),\n onBlur: createOnBlurProp<T>(),\n onKeyDown: createOnKeyDownProp<T>(),\n onKeyUp: createOnKeyUpProp<T>(),\n onCopy: createOnCopyProp<T>(),\n onCut: createOnCutProp<T>(),\n onPaste: createOnPasteProp<T>(),\n onCompositionStart: createOnCompositionStartProp<T>(),\n onCompositionEnd: createOnCompositionEndProp<T>(),\n onCompositionUpdate: createOnCompositionUpdateProp<T>(),\n onSelect: createOnSelectProp<T>(),\n onBeforeInput: createOnBeforeInputProp<T>(),\n onInput: createOnInputProp<T>(),\n };\n}\n"],"names":["React","usePlasmicCanvasContext","usePlasmicCanvasComponentInfo","useEffect","__spreadValues","registerComponent"],"mappings":"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"}
@@ -128,6 +128,31 @@ function filterHoverProps(props) {
128
128
  ]);
129
129
  return otherProps;
130
130
  }
131
+ function flattenChildren(children, depth = 0, keys = []) {
132
+ return React.Children.toArray(children).reduce(
133
+ (acc, node, nodeIndex) => {
134
+ if (React.isValidElement(node) && node.type === React.Fragment) {
135
+ acc.push(
136
+ ...flattenChildren(
137
+ node.props.children,
138
+ depth + 1,
139
+ keys.concat(node.key || nodeIndex)
140
+ )
141
+ );
142
+ } else if (React.isValidElement(node)) {
143
+ acc.push(
144
+ React.cloneElement(node, {
145
+ key: keys.concat(String(node.key)).join(".")
146
+ })
147
+ );
148
+ } else if (typeof node === "string" || typeof node === "number") {
149
+ acc.push(node);
150
+ }
151
+ return acc;
152
+ },
153
+ []
154
+ );
155
+ }
131
156
 
132
157
  var __defProp = Object.defineProperty;
133
158
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
@@ -617,5 +642,5 @@ function commonInputEventHandlerProps() {
617
642
  };
618
643
  }
619
644
 
620
- export { createInputTypeProp as A, createAutoCompleteProp as B, COMMON_STYLES as C, createPatternProp as D, createValidationBehaviorProp as E, createOnFocusChangeProp as F, createNameProp as a, createDisabledProp as b, createIdProp as c, createReadOnlyProp as d, createRequiredProp as e, createAriaLabelProp as f, createAutoFocusProp as g, hasParent as h, arrowDown as i, useIsOpen as j, makeChildComponentName as k, extractPlasmicDataProps as l, makeComponentName as m, getCommonOverlayProps as n, useIsomorphicLayoutEffect as o, isDefined as p, filterHoverProps as q, registerComponentHelper as r, commonInputEventHandlerProps as s, createPlaceholderProp as t, useAutoOpen as u, createInitialValueProp as v, createMaxLengthProp as w, createMinLengthProp as x, createInputModeProp as y, resolveAutoComplete as z };
621
- //# sourceMappingURL=common-81f08e86.esm.js.map
645
+ export { resolveAutoComplete as A, createInputTypeProp as B, COMMON_STYLES as C, createAutoCompleteProp as D, createPatternProp as E, createValidationBehaviorProp as F, createOnFocusChangeProp as G, createNameProp as a, createDisabledProp as b, createIdProp as c, createReadOnlyProp as d, createRequiredProp as e, createAriaLabelProp as f, createAutoFocusProp as g, hasParent as h, arrowDown as i, useIsOpen as j, makeChildComponentName as k, extractPlasmicDataProps as l, makeComponentName as m, getCommonOverlayProps as n, useIsomorphicLayoutEffect as o, flattenChildren as p, isDefined as q, registerComponentHelper as r, filterHoverProps as s, commonInputEventHandlerProps as t, useAutoOpen as u, createPlaceholderProp as v, createInitialValueProp as w, createMaxLengthProp as x, createMinLengthProp as y, createInputModeProp as z };
646
+ //# sourceMappingURL=common-9574ac48.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common-9574ac48.esm.js","sources":["../src/utils.ts","../src/common.ts"],"sourcesContent":["import {\n usePlasmicCanvasComponentInfo,\n usePlasmicCanvasContext,\n} from \"@plasmicapp/host\";\nimport type { CodeComponentMeta } from \"@plasmicapp/host/registerComponent\";\nimport registerComponent from \"@plasmicapp/host/registerComponent\";\nimport React, { useEffect } from \"react\";\nimport { InputProps, TextAreaProps } from \"react-aria-components\";\n\nexport type HasControlContextData<T = BaseControlContextData> = {\n setControlContextData?: (ctxData: T) => void;\n};\n\nexport const isBrowser = typeof window !== \"undefined\";\n\nexport const useIsomorphicLayoutEffect = isBrowser\n ? React.useLayoutEffect\n : React.useEffect;\n\nexport type PlasmicCanvasProps = {\n plasmicNotifyAutoOpenedContent?: () => void;\n __plasmic_selection_prop__?: {\n isSelected: boolean;\n selectedSlotName?: string;\n };\n};\n\nexport type ControlContextData = {\n isDisabled?: boolean;\n isReadOnly?: boolean;\n};\n\nexport type BaseControlContextData = {\n parent?: ControlContextData;\n};\n\nexport type BaseControlContextDataForLists = {\n itemIds: string[];\n};\n\nexport type Registerable = {\n registerComponent: typeof registerComponent;\n};\n\nexport type OtherCodeComponentsMeta = {\n text: CodeComponentMeta<any>;\n description: CodeComponentMeta<any>;\n};\n\nexport type CodeComponentMetaOverrides<T extends React.ComponentType<any>> =\n Partial<\n Pick<\n CodeComponentMeta<React.ComponentProps<T>>,\n \"parentComponentName\" | \"props\" | \"displayName\" | \"name\"\n >\n >;\n\n/**\n * This hook determines whether an overlay should be open or not. Unlike `useAutoOpen`, it does not perform any actions.\n * It takes into account the following:\n * 1. Whether the overlay is in canvas or preview.\n * 2. Whether the overlay is selected on canvas\n * 3. Whether the overlay's trigger slot is selected on canvas\n */\nexport function useIsOpen({\n triggerSlotName,\n isOpen,\n props,\n}: {\n triggerSlotName?: string;\n isOpen?: boolean;\n props: PlasmicCanvasProps;\n}) {\n const { __plasmic_selection_prop__, plasmicNotifyAutoOpenedContent } = props;\n const canvasContext = usePlasmicCanvasContext();\n const { isSelected, selectedSlotName } =\n usePlasmicCanvasComponentInfo?.({ __plasmic_selection_prop__ }) ?? {};\n\n // In preview, just use the isOpen prop as is.\n if (!canvasContext) {\n return isOpen;\n }\n\n // In canvas, override the isOpen prop if the element is selected.\n const isTriggerSlotSelected =\n isDefined(selectedSlotName) && selectedSlotName === triggerSlotName;\n\n const isAutoOpenedBySelection = isSelected && !isTriggerSlotSelected;\n\n if (isAutoOpenedBySelection && !isOpen) {\n plasmicNotifyAutoOpenedContent?.();\n }\n // Component should always be controlled in canvas\n return Boolean(isAutoOpenedBySelection || isOpen);\n}\n\n/**\n * This hook is used to perform open/close actions on an overlay. It takes into account the following:\n * 1. Whether the overlay is in canvas or preview.\n * 2. Whether the overlay is selected on canvas\n */\nexport function useAutoOpen({\n props,\n open,\n close,\n}: {\n props: PlasmicCanvasProps;\n open?: () => void;\n close?: () => void;\n}) {\n const inPlasmicCanvas = !!usePlasmicCanvasContext();\n const isSelected =\n usePlasmicCanvasComponentInfo?.(props)?.isSelected ?? false;\n const { plasmicNotifyAutoOpenedContent } = props;\n\n useEffect(() => {\n // selection in outline tab only matters in canvas\n if (!inPlasmicCanvas) {\n return;\n }\n if (isSelected) {\n open?.();\n plasmicNotifyAutoOpenedContent?.();\n } else {\n close?.();\n }\n }, [\n isSelected,\n inPlasmicCanvas,\n plasmicNotifyAutoOpenedContent,\n open,\n close,\n ]);\n}\n\nexport function registerComponentHelper<T extends React.ComponentType<any>>(\n loader: Registerable | undefined,\n component: T,\n meta: CodeComponentMeta<React.ComponentProps<T>>,\n overrides?: CodeComponentMetaOverrides<T>\n) {\n if (overrides) {\n meta = {\n ...meta,\n ...overrides,\n props: {\n ...meta.props,\n ...overrides.props,\n },\n };\n if (overrides.parentComponentName) {\n meta.name = makeChildComponentName(\n overrides.parentComponentName,\n meta.name\n );\n }\n }\n if (loader) {\n loader.registerComponent(component, meta);\n } else {\n registerComponent(component, meta);\n }\n return meta;\n}\n\nexport function makeComponentName(name: string) {\n return `plasmic-react-aria-${name}`;\n}\n\nexport function makeChildComponentName(\n fullParentName: string | undefined,\n fullChildName: string\n) {\n if (!fullParentName) {\n return fullChildName;\n }\n return `${fullParentName}-${fullChildName.replace(\n \"plasmic-react-aria-\",\n \"\"\n )}`;\n}\n\nexport interface Styleable {\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport function extractPlasmicDataProps(props: Record<string, any>) {\n return Object.fromEntries(\n Object.entries(props).filter(([key]) => key.startsWith(\"data-plasmic-\"))\n );\n}\n\nexport function withoutNils<T>(array: (T | undefined | null)[]) {\n return array.filter((x): x is T => x != null);\n}\n\nexport function isDefined<T>(thing: T | undefined | null): thing is T {\n return thing !== undefined && thing !== null;\n}\n\nexport function filterHoverProps<T extends TextAreaProps | InputProps>(\n props: T\n) {\n const {\n onHoverStart: _onHoverStart,\n onHoverChange: _onHoverChange,\n onHoverEnd: _onHoverEnd,\n ...otherProps\n } = props;\n return otherProps;\n}\n\n/**\n * Flattens React children, unwrapping fragments and assigning stable keys.\n * Inlined from react-keyed-flatten-children (9kB) to avoid its react-is peer dependency (13kB).\n * Also, with plasmicpkgs, its always best to avoid pulling in unnecessary dependencies to keep bundle sizes down.\n * https://github.com/grrowl/react-keyed-flatten-children/blob/master/index.ts\n */\nexport function flattenChildren(\n children: React.ReactNode,\n depth: number = 0,\n keys: (string | number)[] = []\n): React.ReactNode[] {\n return React.Children.toArray(children).reduce(\n (acc: React.ReactNode[], node: React.ReactNode, nodeIndex: number) => {\n if (React.isValidElement(node) && node.type === React.Fragment) {\n acc.push(\n ...flattenChildren(\n (node.props as { children?: React.ReactNode }).children,\n depth + 1,\n keys.concat(node.key || nodeIndex)\n )\n );\n } else if (React.isValidElement(node)) {\n acc.push(\n React.cloneElement(node, {\n key: keys.concat(String(node.key)).join(\".\"),\n })\n );\n } else if (typeof node === \"string\" || typeof node === \"number\") {\n acc.push(node);\n }\n return acc;\n },\n []\n );\n}\n","import { PlasmicElement, PropType } from \"@plasmicapp/host\";\nimport { CSSProperties } from \"react\";\nimport {\n BaseControlContextData,\n HasControlContextData,\n isDefined,\n} from \"./utils\";\n\nexport function hasParent<T>(_props: T, ctx: ConditionalContext<T>): boolean {\n return isDefined(ctx?.parent) === true;\n}\n\nexport function isParentReadOnly<T>(_props: T, ctx: ConditionalContext<T>) {\n return ctx?.parent?.isReadOnly === true;\n}\n\nexport function isParentDisabled<T>(_props: T, ctx: ConditionalContext<T>) {\n return ctx?.parent?.isDisabled === true;\n}\n\nexport function resolveAutoComplete(autoCompleteProp?: string | string[]) {\n if (typeof autoCompleteProp === \"string\") {\n return autoCompleteProp;\n }\n if (\n !autoCompleteProp ||\n !Array.isArray(autoCompleteProp) ||\n autoCompleteProp.includes(\"off\")\n ) {\n return undefined;\n }\n if (autoCompleteProp.includes(\"off\")) {\n return \"off\";\n }\n if (autoCompleteProp.includes(\"on\") && autoCompleteProp.length === 1) {\n return \"on\";\n }\n return autoCompleteProp.filter((x) => x !== \"on\").join(\" \");\n}\n\ntype ConditionalContext<T> = T extends HasControlContextData\n ? BaseControlContextData | null\n : null;\n\nexport function createIdProp<T>(componentName: string): PropType<T> {\n return {\n type: \"string\",\n description: `Sets the HTML id attribute on the root element of the ${componentName}.`,\n advanced: true,\n };\n}\n\nexport function createNameProp<T>(): PropType<T> {\n return {\n type: \"string\",\n description: \"Name for this field if it is part of a form\",\n displayName: \"Form field key\",\n hidden: hasParent,\n advanced: true,\n };\n}\n\nexport function createDisabledProp<T>(componentName: string): PropType<T> {\n return {\n displayName: \"Disabled\",\n type: \"boolean\",\n description: `Whether the ${componentName} is read-only and unfocusable`,\n defaultValueHint: false,\n hidden: isParentDisabled,\n };\n}\n\nexport function createReadOnlyProp<T>(componentName: string): PropType<T> {\n return {\n displayName: \"Read only\",\n type: \"boolean\",\n description: `Whether the value of this ${componentName} can be changed by the user. Unlike disabled, read-only does not prevent the user from interacting with the component (such as focus).`,\n defaultValueHint: false,\n advanced: true,\n hidden: isParentReadOnly,\n };\n}\n\nexport function createRequiredProp<T>(componentName: string): PropType<T> {\n return {\n displayName: \"Required\",\n type: \"boolean\",\n description: `Whether user input is required on the ${componentName} before form submission.`,\n defaultValueHint: false,\n advanced: true,\n // hidden: hasParent,\n hidden: () => true, // hiding required prop until the release of Aria Forms\n };\n}\n\nexport function createAutoFocusProp<T>(componentName: string): PropType<T> {\n return {\n type: \"boolean\",\n description: `Whether the ${componentName} should be focused when rendered`,\n defaultValueHint: false,\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createAriaLabelProp<T>(componentName: string): PropType<T> {\n return {\n type: \"string\",\n displayName: \"ARIA label\",\n description: `Assistive technology uses this if there is no visible label for this ${componentName}`,\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createChildrenProp<T>(): PropType<T> {\n return {\n type: \"slot\",\n mergeWithParent: true,\n };\n}\nexport function createInitialValueProp<T>(componentName: string): PropType<T> {\n return {\n type: \"string\",\n editOnly: true,\n displayName: \"Initial value\",\n uncontrolledProp: \"defaultValue\",\n description: `The default value of the ${componentName}`,\n hidden: hasParent,\n };\n}\n\nexport function createMaxLengthProp<T>(): PropType<T> {\n return {\n type: \"number\",\n description: \"The maximum number of characters supported by the input\",\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createMinLengthProp<T>(): PropType<T> {\n return {\n type: \"number\",\n description: \"The minimum number of characters supported by the input\",\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createPatternProp<T>(): PropType<T> {\n return {\n type: \"string\",\n description:\n \"Regex pattern that the value of the input must match to be valid\",\n helpText:\n \"For more information about writing Regular Expressions (regex), visit [Regexr](https://regexr.com/)\",\n validator: (value: string) => {\n try {\n new RegExp(value);\n return true;\n } catch (_err) {\n return \"Invalid Regex\";\n }\n },\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createInputTypeProp<T>(): PropType<T> {\n return {\n type: \"choice\",\n defaultValueHint: \"text\",\n options: [\"text\", \"search\", \"url\", \"tel\", \"email\", \"password\"],\n description:\n \"The type of data that an input field is expected to handle. It influences the input's behavior, validation, and the kind of interface provided to the user.\",\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createInputModeProp<T>(): PropType<T> {\n return {\n type: \"choice\",\n description:\n \"hint to browsers as to the type of virtual keyboard configuration to use when editing this element or its contents.\",\n options: [\n \"none\",\n \"text\",\n \"tel\",\n \"url\",\n \"email\",\n \"numeric\",\n \"decimal\",\n \"search\",\n ],\n hidden: hasParent,\n };\n}\n\nexport function createAutoCompleteProp<T>(): PropType<T> {\n return {\n type: \"choice\",\n advanced: true,\n multiSelect: true,\n hidden: hasParent,\n description: \"Guidance as to the type of data expected in the field\",\n helpText:\n \"Learn more about the available options on the [MDN guide](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#values)\",\n options: [\n \"on\",\n \"off\",\n \"name\",\n \"honorific-prefix\",\n \"given-name\",\n \"additional-name\",\n \"family-name\",\n \"honorific-suffix\",\n \"nickname\",\n \"email\",\n \"username\",\n \"new-password\",\n \"current-password\",\n \"one-time-code\",\n \"organization-title\",\n \"organization\",\n \"street-address\",\n \"shipping\",\n \"billing\",\n \"address-line1\",\n \"address-line2\",\n \"address-line3\",\n \"address-level4\",\n \"address-level3\",\n \"address-level2\",\n \"address-level1\",\n \"country\",\n \"country-name\",\n \"postal-code\",\n \"cc-name\",\n \"cc-given-name\",\n \"cc-additional-name\",\n \"cc-family-name\",\n \"cc-number\",\n \"cc-exp\",\n \"cc-exp-month\",\n \"cc-exp-year\",\n \"cc-csc\",\n \"cc-type\",\n \"transaction-currency\",\n \"transaction-amount\",\n \"language\",\n \"bday\",\n \"bday-day\",\n \"bday-month\",\n \"bday-year\",\n \"sex\",\n \"tel\",\n \"tel-country-code\",\n \"tel-national\",\n \"tel-area-code\",\n \"tel-local\",\n \"tel-local-suffix\",\n \"tel-local-prefix\",\n \"tel-extension\",\n \"impp\",\n \"url\",\n \"photo\",\n \"webauthn\",\n ],\n };\n}\n\nexport function createValidationBehaviorProp<T>(): PropType<T> {\n return {\n type: \"choice\",\n options: [\"native\", \"aria\"],\n description:\n \"Whether to use native HTML form validation to prevent form submission when the value is missing or invalid, or mark the field as required or invalid via ARIA.\",\n defaultValueHint: \"native\",\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnChangeProp<T>(argType: \"string\" | \"number\" | \"object\" = \"string\"): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: argType }],\n hidden: hasParent,\n };\n}\n\nexport function createOnFocusProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"focusEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnBlurProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"focusEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnFocusChangeProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"isFocused\", type: \"boolean\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnKeyDownProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"keyboardEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnKeyUpProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"keyboardEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnCopyProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"clipbordEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnCutProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"clipbordEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnPasteProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"clipbordEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnCompositionStartProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"compositionEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnCompositionEndProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"compositionEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnCompositionUpdateProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"compositionEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnSelectProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"selectionEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnBeforeInputProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"inputEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createOnInputProp<T>(): PropType<T> {\n return {\n type: \"eventHandler\",\n argTypes: [{ name: \"inputEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n };\n}\n\nexport function createPlaceholderProp<T>(): PropType<T> {\n return {\n type: \"string\",\n };\n}\n\ntype Overrides = {\n defaultValueHint?: any;\n};\n\nexport function createPlacementProp<T>(\n componentName: string,\n overrides: Overrides\n): PropType<T> {\n return {\n type: \"choice\",\n description: `Default placement of the ${componentName} relative to the trigger, if there is enough space`,\n options: [\n \"bottom\",\n \"bottom left\",\n \"bottom right\",\n \"bottom start\",\n \"bottom end\",\n \"top\",\n \"top left\",\n \"top right\",\n \"top start\",\n \"top end\",\n \"left\",\n \"left top\",\n \"left bottom\",\n \"start\",\n \"start top\",\n \"start bottom\",\n \"right\",\n \"right top\",\n \"right bottom\",\n \"end\",\n \"end top\",\n \"end bottom\",\n ],\n ...(overrides ?? {}),\n };\n}\n\nexport function createOffsetProp<T>(\n componentName: string,\n overrides: Overrides\n): PropType<T> {\n return {\n type: \"number\",\n displayName: \"Offset\",\n description: `Additional offset applied along the main axis between the ${componentName} and its trigger`,\n advanced: true,\n ...(overrides ?? {}),\n };\n}\n\nexport function createContainerPaddingProp<T>(\n componentName: string,\n overrides: Overrides\n): PropType<T> {\n return {\n type: \"number\",\n description: `The padding that should be applied between the ${componentName} and its surrounding container. This affects the positioning breakpoints that determine when it will attempt to flip.`,\n advanced: true,\n ...(overrides ?? {}),\n };\n}\n\nexport function createCrossOffsetProp<T>(\n componentName: string,\n overrides: Overrides\n): PropType<T> {\n return {\n type: \"number\",\n description: `The additional offset applied along the cross axis between the ${componentName} and its anchor element.`,\n advanced: true,\n ...(overrides ?? {}),\n };\n}\n\nexport function getCommonOverlayProps<T>(\n componentName: string,\n overrides: Record<string, Overrides>\n) {\n const commonProps: Record<string, PropType<T>> = {\n placement: createPlacementProp<T>(componentName, overrides[\"placement\"]),\n offset: createOffsetProp<T>(componentName, overrides[\"offset\"]),\n containerPadding: createContainerPaddingProp<T>(\n componentName,\n overrides[\"containerPadding\"]\n ),\n crossOffset: createCrossOffsetProp<T>(\n componentName,\n overrides[\"crossOffset\"]\n ),\n };\n return commonProps;\n}\n\nexport const arrowDown: PlasmicElement = {\n type: \"hbox\",\n children: [],\n styles: {\n width: 0,\n height: 0,\n padding: 0,\n borderLeftWidth: \"5px\",\n borderRightWidth: \"5px\",\n borderTopWidth: \"5px\",\n borderLeftStyle: \"solid\",\n borderRightStyle: \"solid\",\n borderTopStyle: \"solid\",\n borderLeftColor: \"transparent\",\n borderRightColor: \"transparent\",\n borderTopColor: \"black\",\n },\n};\n// Set border-box to the root element of the aria code component to align with Plasmic's default of using border-box for all root elements.\nexport const COMMON_STYLES: CSSProperties = { boxSizing: \"border-box\" };\n\n/**\n* Minimal shared input event-handler registrations for text-entry controls.\n*\n* This returns only the event handler props that have the exact same names and\n* semantics across all three components: Input, Text Field, and Text Area.\n* Non-event props (e.g., id, name, value, maxLength/minLength, inputMode,\n* placeholder, pattern, type, autoComplete, validationBehavior, disabled/\n* isDisabled, readOnly/isReadOnly, required/isRequired, \"aria-label\") must be\n* registered explicitly at the component level to preserve the desired\n* editor-facing ordering.\n*/\nexport function commonInputEventHandlerProps<T>(): Record<string, PropType<T>> {\n return {\n // Events supported uniformly by all three\n onChange: createOnChangeProp<T>(\"string\"),\n onFocus: createOnFocusProp<T>(),\n onBlur: createOnBlurProp<T>(),\n onKeyDown: createOnKeyDownProp<T>(),\n onKeyUp: createOnKeyUpProp<T>(),\n onCopy: createOnCopyProp<T>(),\n onCut: createOnCutProp<T>(),\n onPaste: createOnPasteProp<T>(),\n onCompositionStart: createOnCompositionStartProp<T>(),\n onCompositionEnd: createOnCompositionEndProp<T>(),\n onCompositionUpdate: createOnCompositionUpdateProp<T>(),\n onSelect: createOnSelectProp<T>(),\n onBeforeInput: createOnBeforeInputProp<T>(),\n onInput: createOnInputProp<T>(),\n };\n}\n"],"names":["__spreadValues"],"mappings":"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"}
@@ -4,8 +4,8 @@ var host = require('@plasmicapp/host');
4
4
  var React = require('react');
5
5
  var reactAria = require('react-aria');
6
6
  var reactAriaComponents = require('react-aria-components');
7
- var common = require('./common-7f948fa5.cjs.js');
8
- var variantUtils = require('./variant-utils-1c84aebb.cjs.js');
7
+ var common = require('./common-44638169.cjs.js');
8
+ var variantUtils = require('./variant-utils-73632a67.cjs.js');
9
9
  require('@plasmicapp/host/registerComponent');
10
10
 
11
11
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
@@ -2,8 +2,8 @@ import { usePlasmicLink } from '@plasmicapp/host';
2
2
  import React from 'react';
3
3
  import { mergeProps, useLink, useHover, useFocusRing } from 'react-aria';
4
4
  import { Button } from 'react-aria-components';
5
- import { C as COMMON_STYLES, m as makeComponentName, r as registerComponentHelper, c as createIdProp, g as createAutoFocusProp, b as createDisabledProp, f as createAriaLabelProp } from './common-81f08e86.esm.js';
6
- import { p as pickAriaComponentVariants, V as VariantUpdater } from './variant-utils-5f356d53.esm.js';
5
+ import { C as COMMON_STYLES, m as makeComponentName, r as registerComponentHelper, c as createIdProp, g as createAutoFocusProp, b as createDisabledProp, f as createAriaLabelProp } from './common-9574ac48.esm.js';
6
+ import { p as pickAriaComponentVariants, V as VariantUpdater } from './variant-utils-f824a05a.esm.js';
7
7
  import '@plasmicapp/host/registerComponent';
8
8
 
9
9
  var __defProp = Object.defineProperty;
@@ -2,10 +2,10 @@
2
2
 
3
3
  var React = require('react');
4
4
  var reactAriaComponents = require('react-aria-components');
5
- var OptionsItemIdManager = require('./OptionsItemIdManager-cb3a2c53.cjs.js');
6
- var common = require('./common-7f948fa5.cjs.js');
5
+ var OptionsItemIdManager = require('./OptionsItemIdManager-9f1502c1.cjs.js');
6
+ var common = require('./common-44638169.cjs.js');
7
7
  var contexts = require('./contexts-6d0cb2b1.cjs.js');
8
- var variantUtils = require('./variant-utils-1c84aebb.cjs.js');
8
+ var variantUtils = require('./variant-utils-73632a67.cjs.js');
9
9
  require('@plasmicapp/host');
10
10
  require('@plasmicapp/host/registerComponent');
11
11