@plasmicpkgs/react-aria 0.0.150 → 0.0.152
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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/common.d.ts +44 -1
- package/dist/contexts.d.ts +1 -1
- package/dist/react-aria.esm.js +813 -730
- package/dist/react-aria.esm.js.map +1 -1
- package/dist/react-aria.js +812 -729
- package/dist/react-aria.js.map +1 -1
- package/dist/registerButton.d.ts +2 -2
- package/dist/registerDescription.d.ts +1 -1
- package/dist/registerDialog.d.ts +1 -1
- package/dist/registerDialogTrigger.d.ts +3 -1
- package/dist/registerHeading.d.ts +4 -2
- package/dist/registerLabel.d.ts +3 -1
- package/dist/registerListBoxItem.d.ts +6 -3
- package/dist/registerModal.d.ts +1 -0
- package/dist/registerOverlayArrow.d.ts +1 -1
- package/dist/registerText.d.ts +4 -2
- package/dist/registerTooltip.d.ts +1 -0
- package/package.json +3 -3
- package/skinny/{OptionsItemIdManager-724ffca2.esm.js → OptionsItemIdManager-0ce90944.esm.js} +2 -2
- package/skinny/{OptionsItemIdManager-724ffca2.esm.js.map → OptionsItemIdManager-0ce90944.esm.js.map} +1 -1
- package/skinny/{OptionsItemIdManager-f0a61ed5.cjs.js → OptionsItemIdManager-cb3a2c53.cjs.js} +3 -3
- package/skinny/{OptionsItemIdManager-f0a61ed5.cjs.js.map → OptionsItemIdManager-cb3a2c53.cjs.js.map} +1 -1
- package/skinny/common-7f948fa5.cjs.js +659 -0
- package/skinny/common-7f948fa5.cjs.js.map +1 -0
- package/skinny/common-81f08e86.esm.js +621 -0
- package/skinny/common-81f08e86.esm.js.map +1 -0
- package/skinny/common.d.ts +44 -1
- package/skinny/contexts.d.ts +1 -1
- package/skinny/registerButton.cjs.js +11 -10
- package/skinny/registerButton.cjs.js.map +1 -1
- package/skinny/registerButton.d.ts +2 -2
- package/skinny/registerButton.esm.js +9 -8
- package/skinny/registerButton.esm.js.map +1 -1
- package/skinny/registerCheckbox.cjs.js +13 -14
- package/skinny/registerCheckbox.cjs.js.map +1 -1
- package/skinny/registerCheckbox.esm.js +11 -12
- package/skinny/registerCheckbox.esm.js.map +1 -1
- package/skinny/registerCheckboxGroup.cjs.js +13 -14
- package/skinny/registerCheckboxGroup.cjs.js.map +1 -1
- package/skinny/registerCheckboxGroup.esm.js +11 -12
- package/skinny/registerCheckboxGroup.esm.js.map +1 -1
- package/skinny/registerComboBox.cjs.js +13 -14
- package/skinny/registerComboBox.cjs.js.map +1 -1
- package/skinny/registerComboBox.esm.js +10 -11
- package/skinny/registerComboBox.esm.js.map +1 -1
- package/skinny/registerDescription.cjs.js +2 -3
- package/skinny/registerDescription.cjs.js.map +1 -1
- package/skinny/registerDescription.d.ts +1 -1
- package/skinny/registerDescription.esm.js +1 -2
- package/skinny/registerDescription.esm.js.map +1 -1
- package/skinny/registerDialog.cjs.js +40 -7
- package/skinny/registerDialog.cjs.js.map +1 -1
- package/skinny/registerDialog.d.ts +1 -1
- package/skinny/registerDialog.esm.js +38 -5
- package/skinny/registerDialog.esm.js.map +1 -1
- package/skinny/registerDialogTrigger.cjs.js +9 -8
- package/skinny/registerDialogTrigger.cjs.js.map +1 -1
- package/skinny/registerDialogTrigger.d.ts +3 -1
- package/skinny/registerDialogTrigger.esm.js +6 -5
- package/skinny/registerDialogTrigger.esm.js.map +1 -1
- package/skinny/registerFieldError.cjs.js +4 -3
- package/skinny/registerFieldError.cjs.js.map +1 -1
- package/skinny/registerFieldError.esm.js +2 -1
- package/skinny/registerFieldError.esm.js.map +1 -1
- package/skinny/registerForm.cjs.js +4 -3
- package/skinny/registerForm.cjs.js.map +1 -1
- package/skinny/registerForm.esm.js +2 -1
- package/skinny/registerForm.esm.js.map +1 -1
- package/skinny/registerHeading.cjs.js +4 -4
- package/skinny/registerHeading.cjs.js.map +1 -1
- package/skinny/registerHeading.d.ts +4 -2
- package/skinny/registerHeading.esm.js +2 -2
- package/skinny/registerHeading.esm.js.map +1 -1
- package/skinny/registerInput.cjs.js +25 -36
- package/skinny/registerInput.cjs.js.map +1 -1
- package/skinny/registerInput.esm.js +21 -32
- package/skinny/registerInput.esm.js.map +1 -1
- package/skinny/registerLabel.cjs.js +11 -7
- package/skinny/registerLabel.cjs.js.map +1 -1
- package/skinny/registerLabel.d.ts +3 -1
- package/skinny/registerLabel.esm.js +9 -5
- package/skinny/registerLabel.esm.js.map +1 -1
- package/skinny/{registerListBox-d83a8581.esm.js → registerListBox-14503b0a.esm.js} +6 -4
- package/skinny/registerListBox-14503b0a.esm.js.map +1 -0
- package/skinny/{registerListBox-b21abca6.cjs.js → registerListBox-7a50077e.cjs.js} +10 -8
- package/skinny/registerListBox-7a50077e.cjs.js.map +1 -0
- package/skinny/registerListBox.cjs.js +4 -5
- package/skinny/registerListBox.cjs.js.map +1 -1
- package/skinny/registerListBox.esm.js +4 -5
- package/skinny/registerListBox.esm.js.map +1 -1
- package/skinny/registerListBoxItem.cjs.js +5 -9
- package/skinny/registerListBoxItem.cjs.js.map +1 -1
- package/skinny/registerListBoxItem.d.ts +6 -3
- package/skinny/registerListBoxItem.esm.js +3 -7
- package/skinny/registerListBoxItem.esm.js.map +1 -1
- package/skinny/registerModal.cjs.js +17 -8
- package/skinny/registerModal.cjs.js.map +1 -1
- package/skinny/registerModal.d.ts +1 -0
- package/skinny/registerModal.esm.js +14 -5
- package/skinny/registerModal.esm.js.map +1 -1
- package/skinny/registerOverlayArrow.cjs.js +7 -5
- package/skinny/registerOverlayArrow.cjs.js.map +1 -1
- package/skinny/registerOverlayArrow.d.ts +1 -1
- package/skinny/registerOverlayArrow.esm.js +5 -3
- package/skinny/registerOverlayArrow.esm.js.map +1 -1
- package/skinny/registerPopover.cjs.js +5 -5
- package/skinny/registerPopover.cjs.js.map +1 -1
- package/skinny/registerPopover.esm.js +3 -3
- package/skinny/registerPopover.esm.js.map +1 -1
- package/skinny/registerRadio.cjs.js +10 -11
- package/skinny/registerRadio.cjs.js.map +1 -1
- package/skinny/registerRadio.esm.js +8 -9
- package/skinny/registerRadio.esm.js.map +1 -1
- package/skinny/registerRadioGroup.cjs.js +14 -15
- package/skinny/registerRadioGroup.cjs.js.map +1 -1
- package/skinny/registerRadioGroup.esm.js +11 -12
- package/skinny/registerRadioGroup.esm.js.map +1 -1
- package/skinny/registerSection.cjs.js +4 -5
- package/skinny/registerSection.cjs.js.map +1 -1
- package/skinny/registerSection.esm.js +4 -5
- package/skinny/registerSection.esm.js.map +1 -1
- package/skinny/registerSelect.cjs.js +19 -22
- package/skinny/registerSelect.cjs.js.map +1 -1
- package/skinny/registerSelect.esm.js +13 -16
- package/skinny/registerSelect.esm.js.map +1 -1
- package/skinny/registerSlider.cjs.js +16 -15
- package/skinny/registerSlider.cjs.js.map +1 -1
- package/skinny/registerSlider.esm.js +12 -11
- package/skinny/registerSlider.esm.js.map +1 -1
- package/skinny/registerSliderOutput.cjs.js +4 -4
- package/skinny/registerSliderOutput.cjs.js.map +1 -1
- package/skinny/registerSliderOutput.esm.js +2 -2
- package/skinny/registerSliderOutput.esm.js.map +1 -1
- package/skinny/registerSliderThumb.cjs.js +25 -21
- package/skinny/registerSliderThumb.cjs.js.map +1 -1
- package/skinny/registerSliderThumb.esm.js +23 -19
- package/skinny/registerSliderThumb.esm.js.map +1 -1
- package/skinny/registerSliderTrack.cjs.js +5 -5
- package/skinny/registerSliderTrack.cjs.js.map +1 -1
- package/skinny/registerSliderTrack.esm.js +2 -2
- package/skinny/registerSliderTrack.esm.js.map +1 -1
- package/skinny/registerSwitch.cjs.js +12 -13
- package/skinny/registerSwitch.cjs.js.map +1 -1
- package/skinny/registerSwitch.esm.js +10 -11
- package/skinny/registerSwitch.esm.js.map +1 -1
- package/skinny/registerText.cjs.js +6 -5
- package/skinny/registerText.cjs.js.map +1 -1
- package/skinny/registerText.d.ts +4 -2
- package/skinny/registerText.esm.js +4 -3
- package/skinny/registerText.esm.js.map +1 -1
- package/skinny/registerTextArea.cjs.js +23 -35
- package/skinny/registerTextArea.cjs.js.map +1 -1
- package/skinny/registerTextArea.esm.js +19 -31
- package/skinny/registerTextArea.esm.js.map +1 -1
- package/skinny/registerTextField.cjs.js +27 -38
- package/skinny/registerTextField.cjs.js.map +1 -1
- package/skinny/registerTextField.esm.js +25 -36
- package/skinny/registerTextField.esm.js.map +1 -1
- package/skinny/registerTooltip.cjs.js +6 -6
- package/skinny/registerTooltip.cjs.js.map +1 -1
- package/skinny/registerTooltip.d.ts +1 -0
- package/skinny/registerTooltip.esm.js +4 -4
- package/skinny/registerTooltip.esm.js.map +1 -1
- package/skinny/common-3fde23cc.esm.js +0 -446
- package/skinny/common-3fde23cc.esm.js.map +0 -1
- package/skinny/common-6ffc5113.cjs.js +0 -453
- package/skinny/common-6ffc5113.cjs.js.map +0 -1
- package/skinny/registerListBox-b21abca6.cjs.js.map +0 -1
- package/skinny/registerListBox-d83a8581.esm.js.map +0 -1
- package/skinny/utils-88dd1a55.cjs.js +0 -148
- package/skinny/utils-88dd1a55.cjs.js.map +0 -1
- package/skinny/utils-b68e14cf.esm.js +0 -133
- package/skinny/utils-b68e14cf.esm.js.map +0 -1
package/dist/registerButton.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { ButtonProps, LinkProps } from "react-aria-components";
|
|
|
3
3
|
import { CodeComponentMetaOverrides, Registerable } from "./utils";
|
|
4
4
|
import { WithVariants } from "./variant-utils";
|
|
5
5
|
declare const BUTTON_VARIANTS: ("disabled" | "hovered" | "pressed" | "focused" | "focusVisible")[];
|
|
6
|
-
type
|
|
6
|
+
type ButtonCommonProps = {
|
|
7
7
|
children: React.ReactNode;
|
|
8
8
|
} & Omit<ButtonProps, "className" | "children"> & Omit<LinkProps, "className" | "children">;
|
|
9
9
|
type LinkSpecificProps = Pick<LinkProps, "href" | "target">;
|
|
@@ -11,7 +11,7 @@ type ButtonSpecificProps = {
|
|
|
11
11
|
resetsForm?: boolean;
|
|
12
12
|
submitsForm?: boolean;
|
|
13
13
|
};
|
|
14
|
-
export interface BaseButtonProps extends
|
|
14
|
+
export interface BaseButtonProps extends ButtonCommonProps, LinkSpecificProps, ButtonSpecificProps, WithVariants<typeof BUTTON_VARIANTS> {
|
|
15
15
|
children: React.ReactNode;
|
|
16
16
|
className?: string;
|
|
17
17
|
}
|
|
@@ -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("
|
|
4
|
+
export declare function registerDescription(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseText>): import("@plasmicapp/host").CodeComponentMeta<import("./registerText").BaseTextProps>;
|
package/dist/registerDialog.d.ts
CHANGED
|
@@ -4,6 +4,6 @@ import { CodeComponentMetaOverrides, Registerable } from "./utils";
|
|
|
4
4
|
export interface BaseDialogProps extends DialogProps {
|
|
5
5
|
children: React.ReactNode;
|
|
6
6
|
}
|
|
7
|
-
export declare function BaseDialog({ children, className }: BaseDialogProps): React.JSX.Element;
|
|
7
|
+
export declare function BaseDialog({ children, className, ...rest }: BaseDialogProps): React.JSX.Element;
|
|
8
8
|
export declare const DIALOG_COMPONENT_NAME: string;
|
|
9
9
|
export declare function registerDialog(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseDialog>): void;
|
|
@@ -4,12 +4,14 @@ import { CodeComponentMetaOverrides, PlasmicCanvasProps, Registerable } from "./
|
|
|
4
4
|
export interface TriggerWrapperProps {
|
|
5
5
|
children?: React.ReactNode;
|
|
6
6
|
className?: string;
|
|
7
|
+
id?: string;
|
|
7
8
|
}
|
|
8
|
-
export declare function TriggerWrapper({ children, className }: TriggerWrapperProps): React.JSX.Element;
|
|
9
|
+
export declare function TriggerWrapper({ children, className, id }: TriggerWrapperProps): React.JSX.Element;
|
|
9
10
|
export interface BaseDialogTriggerProps extends Omit<DialogTriggerProps, "children">, PlasmicCanvasProps {
|
|
10
11
|
trigger?: React.ReactNode;
|
|
11
12
|
dialog?: React.ReactNode;
|
|
12
13
|
className?: string;
|
|
14
|
+
id?: string;
|
|
13
15
|
}
|
|
14
16
|
export declare function BaseDialogTrigger(props: BaseDialogTriggerProps): React.JSX.Element;
|
|
15
17
|
export declare function registerDialogTrigger(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseDialogTrigger>): void;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { HeadingProps } from "react-aria-components";
|
|
3
3
|
import { CodeComponentMetaOverrides, Registerable } from "./utils";
|
|
4
|
-
export
|
|
4
|
+
export interface BaseHeadingProps extends HeadingProps {
|
|
5
|
+
}
|
|
6
|
+
export declare function BaseHeading({ children, ...rest }: BaseHeadingProps): React.JSX.Element;
|
|
5
7
|
/** @deprecated Use Plasmic's built-in `Text` component instead */
|
|
6
|
-
export declare function registerHeading(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseHeading>): import("@plasmicapp/host").CodeComponentMeta<
|
|
8
|
+
export declare function registerHeading(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseHeading>): import("@plasmicapp/host").CodeComponentMeta<BaseHeadingProps>;
|
package/dist/registerLabel.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { LabelProps } from "react-aria-components";
|
|
3
3
|
import { CodeComponentMetaOverrides, Registerable } from "./utils";
|
|
4
|
-
export
|
|
4
|
+
export interface BaseLabelProps extends LabelProps {
|
|
5
|
+
}
|
|
6
|
+
export declare function BaseLabel({ children, className, id, "aria-label": ariaLabel, ...rest }: BaseLabelProps): React.JSX.Element;
|
|
5
7
|
export declare const LABEL_COMPONENT_NAME: string;
|
|
6
8
|
export declare function registerLabel(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseLabel>): void;
|
|
@@ -7,11 +7,14 @@ declare const LIST_BOX_ITEM_VARIANTS: ("disabled" | "hovered" | "pressed" | "foc
|
|
|
7
7
|
export interface BaseListBoxControlContextData {
|
|
8
8
|
idError?: string;
|
|
9
9
|
}
|
|
10
|
-
export
|
|
10
|
+
export type BaseListBoxItemProps = Omit<React.ComponentProps<typeof ListBoxItem>, "id"> & HasControlContextData<BaseListBoxControlContextData> & WithVariants<typeof LIST_BOX_ITEM_VARIANTS> & {
|
|
11
11
|
id?: string;
|
|
12
12
|
children?: React.ReactNode;
|
|
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<
|
|
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")[]> & {
|
|
17
|
+
id?: string | undefined;
|
|
18
|
+
children?: React.ReactNode;
|
|
19
|
+
}>;
|
|
17
20
|
export {};
|
package/dist/registerModal.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export interface BaseOverlayArrowProps extends OverlayArrowProps, WithVariants<t
|
|
|
7
7
|
children: React.ReactNode;
|
|
8
8
|
className?: string;
|
|
9
9
|
}
|
|
10
|
-
export declare function BaseOverlayArrow({ children, plasmicUpdateVariant, className, }: BaseOverlayArrowProps): React.JSX.Element;
|
|
10
|
+
export declare function BaseOverlayArrow({ children, plasmicUpdateVariant, className, id, }: BaseOverlayArrowProps): React.JSX.Element;
|
|
11
11
|
export declare const OVERLAY_ARROW_COMPONENT_NAME: string;
|
|
12
12
|
export declare function registerOverlayArrow(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseOverlayArrow>): import("@plasmicapp/host").CodeComponentMeta<BaseOverlayArrowProps>;
|
|
13
13
|
export {};
|
package/dist/registerText.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { TextProps } from "react-aria-components";
|
|
3
3
|
import { CodeComponentMetaOverrides, Registerable } from "./utils";
|
|
4
|
-
export
|
|
4
|
+
export interface BaseTextProps extends TextProps {
|
|
5
|
+
}
|
|
6
|
+
export declare function BaseText({ children, slot, className, ...rest }: BaseTextProps): React.JSX.Element;
|
|
5
7
|
export declare const TEXT_COMPONENT_NAME: string;
|
|
6
|
-
export declare function registerText(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseText>): import("@plasmicapp/host").CodeComponentMeta<
|
|
8
|
+
export declare function registerText(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseText>): import("@plasmicapp/host").CodeComponentMeta<BaseTextProps>;
|
|
@@ -8,6 +8,7 @@ export interface BaseTooltipProps extends Omit<TooltipTriggerProps, "trigger">,
|
|
|
8
8
|
resetClassName?: string;
|
|
9
9
|
trigger?: "focus" | "focus and hover" | undefined;
|
|
10
10
|
className?: string;
|
|
11
|
+
id?: string;
|
|
11
12
|
}
|
|
12
13
|
export declare function BaseTooltip(props: BaseTooltipProps): React.JSX.Element;
|
|
13
14
|
export declare function registerTooltip(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseTooltip>): void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plasmicpkgs/react-aria",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.152",
|
|
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.38.0"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
|
-
"@plasmicapp/host": "1.0.
|
|
57
|
+
"@plasmicapp/host": "1.0.225",
|
|
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": "
|
|
77
|
+
"gitHead": "5a2f29e132597a0f8d833ca20c03ebfa1501a4ed"
|
|
78
78
|
}
|
package/skinny/{OptionsItemIdManager-724ffca2.esm.js → OptionsItemIdManager-0ce90944.esm.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useState, useMemo, useEffect } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { o as useIsomorphicLayoutEffect } from './common-81f08e86.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-
|
|
106
|
+
//# sourceMappingURL=OptionsItemIdManager-0ce90944.esm.js.map
|
package/skinny/{OptionsItemIdManager-724ffca2.esm.js.map → OptionsItemIdManager-0ce90944.esm.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OptionsItemIdManager-
|
|
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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"}
|
package/skinny/{OptionsItemIdManager-f0a61ed5.cjs.js → OptionsItemIdManager-cb3a2c53.cjs.js}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var
|
|
4
|
+
var common = require('./common-7f948fa5.cjs.js');
|
|
5
5
|
|
|
6
6
|
class OptionsItemIdManager {
|
|
7
7
|
constructor() {
|
|
@@ -59,7 +59,7 @@ class OptionsItemIdManager {
|
|
|
59
59
|
}
|
|
60
60
|
const useOptionsItemId = (requestedId, idManager) => {
|
|
61
61
|
const [registeredId, setRegisteredId] = React.useState();
|
|
62
|
-
|
|
62
|
+
common.useIsomorphicLayoutEffect(() => {
|
|
63
63
|
if (!idManager) {
|
|
64
64
|
return;
|
|
65
65
|
}
|
|
@@ -106,4 +106,4 @@ function useIdManager(callback, existing) {
|
|
|
106
106
|
|
|
107
107
|
exports.useIdManager = useIdManager;
|
|
108
108
|
exports.useOptionsItemId = useOptionsItemId;
|
|
109
|
-
//# sourceMappingURL=OptionsItemIdManager-
|
|
109
|
+
//# sourceMappingURL=OptionsItemIdManager-cb3a2c53.cjs.js.map
|
package/skinny/{OptionsItemIdManager-f0a61ed5.cjs.js.map → OptionsItemIdManager-cb3a2c53.cjs.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OptionsItemIdManager-
|
|
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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"}
|