@wow-two-beta/ui 0.0.29 → 0.0.31
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/actions/backToTopButton/BackToTopButton.d.ts +1 -5
- package/dist/actions/backToTopButton/BackToTopButton.d.ts.map +1 -1
- package/dist/actions/button/Button.d.ts +17 -29
- package/dist/actions/button/Button.d.ts.map +1 -1
- package/dist/actions/button/Button.variants.d.ts +1 -17
- package/dist/actions/button/Button.variants.d.ts.map +1 -1
- package/dist/actions/buttonGroup/ButtonGroup.d.ts +1 -5
- package/dist/actions/buttonGroup/ButtonGroup.d.ts.map +1 -1
- package/dist/actions/copyButton/CopyButton.d.ts +1 -4
- package/dist/actions/copyButton/CopyButton.d.ts.map +1 -1
- package/dist/actions/disclosureButton/DisclosureButton.d.ts +1 -5
- package/dist/actions/disclosureButton/DisclosureButton.d.ts.map +1 -1
- package/dist/actions/fab/FAB.d.ts +1 -4
- package/dist/actions/fab/FAB.d.ts.map +1 -1
- package/dist/actions/iconButton/IconButton.d.ts +1 -4
- package/dist/actions/iconButton/IconButton.d.ts.map +1 -1
- package/dist/actions/index.js +4 -4
- package/dist/actions/link/Link.d.ts +1 -4
- package/dist/actions/link/Link.d.ts.map +1 -1
- package/dist/actions/overlayButton/OverlayButton.d.ts +1 -10
- package/dist/actions/overlayButton/OverlayButton.d.ts.map +1 -1
- package/dist/actions/segmentedControl/SegmentedControl.d.ts +1 -5
- package/dist/actions/segmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/actions/toggleButton/ToggleButton.d.ts +1 -4
- package/dist/actions/toggleButton/ToggleButton.d.ts.map +1 -1
- package/dist/actions/toggleButtonGroup/ToggleButtonGroup.d.ts +1 -5
- package/dist/actions/toggleButtonGroup/ToggleButtonGroup.d.ts.map +1 -1
- package/dist/{chunk-XOCNAQ36.js → chunk-3IEGN2OO.js} +169 -35
- package/dist/chunk-3IEGN2OO.js.map +1 -0
- package/dist/{chunk-WIVBNBRJ.js → chunk-7OJ7VH6V.js} +7 -7
- package/dist/{chunk-WIVBNBRJ.js.map → chunk-7OJ7VH6V.js.map} +1 -1
- package/dist/{chunk-4ZVQMR44.js → chunk-D3CGJMKB.js} +3 -3
- package/dist/{chunk-4ZVQMR44.js.map → chunk-D3CGJMKB.js.map} +1 -1
- package/dist/{chunk-QUQONIWF.js → chunk-GWIFNLGS.js} +7 -31
- package/dist/chunk-GWIFNLGS.js.map +1 -0
- package/dist/{chunk-EPLT3244.js → chunk-JCXJPSI2.js} +6 -6
- package/dist/{chunk-EPLT3244.js.map → chunk-JCXJPSI2.js.map} +1 -1
- package/dist/{chunk-637KI4TG.js → chunk-JIAK2T6Y.js} +6 -6
- package/dist/{chunk-637KI4TG.js.map → chunk-JIAK2T6Y.js.map} +1 -1
- package/dist/{chunk-B66J6KWM.js → chunk-LBQIZGYH.js} +80 -19
- package/dist/chunk-LBQIZGYH.js.map +1 -0
- package/dist/{chunk-SNTCCYUC.js → chunk-NBCWQCKQ.js} +6 -6
- package/dist/{chunk-SNTCCYUC.js.map → chunk-NBCWQCKQ.js.map} +1 -1
- package/dist/{chunk-76ZIAFWD.js → chunk-NUMFGKPY.js} +21 -3
- package/dist/chunk-NUMFGKPY.js.map +1 -0
- package/dist/{chunk-7URULVNU.js → chunk-PA6ZIE44.js} +8 -8
- package/dist/{chunk-7URULVNU.js.map → chunk-PA6ZIE44.js.map} +1 -1
- package/dist/{chunk-J4XMD4JP.js → chunk-RWUOXGQI.js} +3 -3
- package/dist/{chunk-J4XMD4JP.js.map → chunk-RWUOXGQI.js.map} +1 -1
- package/dist/{chunk-2LML37JF.js → chunk-VDE5B3IY.js} +5 -5
- package/dist/{chunk-2LML37JF.js.map → chunk-VDE5B3IY.js.map} +1 -1
- package/dist/{chunk-JBYVZSAH.js → chunk-XCJMUYYR.js} +3 -3
- package/dist/{chunk-JBYVZSAH.js.map → chunk-XCJMUYYR.js.map} +1 -1
- package/dist/{chunk-QMU6QSG6.js → chunk-XTAFNWLG.js} +3 -3
- package/dist/{chunk-QMU6QSG6.js.map → chunk-XTAFNWLG.js.map} +1 -1
- package/dist/{chunk-VYPSZ7AL.js → chunk-YHRQSVLB.js} +4 -4
- package/dist/{chunk-VYPSZ7AL.js.map → chunk-YHRQSVLB.js.map} +1 -1
- package/dist/display/index.js +5 -5
- package/dist/feedback/index.js +5 -5
- package/dist/forms/index.js +9 -9
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/useDebounceHandler.d.ts +13 -0
- package/dist/hooks/useDebounceHandler.d.ts.map +1 -0
- package/dist/icons/Spinner.d.ts +1 -8
- package/dist/icons/Spinner.d.ts.map +1 -1
- package/dist/icons/index.js +2 -2
- package/dist/index.js +15 -15
- package/dist/layout/index.js +5 -5
- package/dist/nav/index.js +6 -6
- package/dist/overlays/index.js +5 -5
- package/dist/utils/CssExtensions.d.ts +14 -20
- package/dist/utils/CssExtensions.d.ts.map +1 -1
- package/dist/utils/HtmlExtensions.d.ts +14 -0
- package/dist/utils/HtmlExtensions.d.ts.map +1 -0
- package/dist/utils/KeyboardExtensions.d.ts +18 -0
- package/dist/utils/KeyboardExtensions.d.ts.map +1 -0
- package/dist/utils/OptionalExtensions.d.ts +13 -0
- package/dist/utils/OptionalExtensions.d.ts.map +1 -0
- package/dist/utils/PressExtensions.d.ts +17 -0
- package/dist/utils/PressExtensions.d.ts.map +1 -0
- package/dist/utils/index.d.ts +6 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-76ZIAFWD.js.map +0 -1
- package/dist/chunk-B66J6KWM.js.map +0 -1
- package/dist/chunk-QUQONIWF.js.map +0 -1
- package/dist/chunk-XOCNAQ36.js.map +0 -1
|
@@ -10,10 +10,6 @@ export interface BackToTopButtonProps extends ButtonHTMLAttributes<HTMLButtonEle
|
|
|
10
10
|
label?: ReactNode;
|
|
11
11
|
'aria-label'?: string;
|
|
12
12
|
}
|
|
13
|
-
/**
|
|
14
|
-
* Floating button that appears after the user scrolls past `threshold`.
|
|
15
|
-
* Click scrolls the target back to top with smooth-scroll (skipped under
|
|
16
|
-
* `prefers-reduced-motion`).
|
|
17
|
-
*/
|
|
13
|
+
/** Floating button revealed past `threshold` scroll — smooth-scrolls to top. */
|
|
18
14
|
export declare const BackToTopButton: import("react").ForwardRefExoticComponent<BackToTopButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
19
15
|
//# sourceMappingURL=BackToTopButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackToTopButton.d.ts","sourceRoot":"","sources":["../../../src/actions/backToTopButton/BackToTopButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAKf,MAAM,MAAM,iBAAiB,GACzB,cAAc,GACd,aAAa,GACb,eAAe,GACf,WAAW,GACX,UAAU,CAAC;AAEf,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IACnF,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,eAAe,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,yCAAyC;IACzC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAUD
|
|
1
|
+
{"version":3,"file":"BackToTopButton.d.ts","sourceRoot":"","sources":["../../../src/actions/backToTopButton/BackToTopButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAKf,MAAM,MAAM,iBAAiB,GACzB,cAAc,GACd,aAAa,GACb,eAAe,GACf,WAAW,GACX,UAAU,CAAC;AAEf,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IACnF,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,eAAe,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,yCAAyC;IACzC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAUD,gFAAgF;AAChF,eAAO,MAAM,eAAe,oHAgE3B,CAAC"}
|
|
@@ -1,41 +1,29 @@
|
|
|
1
|
-
import { type ButtonHTMLAttributes, type ReactNode } from 'react';
|
|
2
|
-
import { type PaddingProp, type RadiusProp, type SizeValue } from '../../utils';
|
|
1
|
+
import { type ButtonHTMLAttributes, type PointerEvent, type ReactNode } from 'react';
|
|
2
|
+
import { ButtonType, type PaddingProp, type PressEvent, type RadiusProp, type SizeValue } from '../../utils';
|
|
3
3
|
import { type ButtonVariants } from './Button.variants';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
trailing?: ReactNode;
|
|
10
|
-
/** Action-loading: replaces leading w/ spinner, sets aria-busy, blocks clicks. */
|
|
11
|
-
loading?: boolean;
|
|
12
|
-
/** Replaces children when loading. No default — consumer supplies (i18n). */
|
|
4
|
+
export interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'type' | 'disabled'>, ButtonVariants {
|
|
5
|
+
leadingSlot?: ReactNode;
|
|
6
|
+
trailingSlot?: ReactNode;
|
|
7
|
+
loadingSlot?: ReactNode;
|
|
8
|
+
isLoading?: boolean;
|
|
13
9
|
loadingText?: string;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
skeleton?: boolean;
|
|
19
|
-
/** Render as the single child element via Slot. */
|
|
10
|
+
isSkeleton?: boolean;
|
|
11
|
+
isDisabled?: boolean;
|
|
12
|
+
isFullWidth?: boolean;
|
|
13
|
+
isMultiline?: boolean;
|
|
20
14
|
asChild?: boolean;
|
|
21
|
-
/** Independent padding override (preset or `{x, y}` object). */
|
|
22
15
|
padding?: PaddingProp;
|
|
23
|
-
/** Independent radius override (preset or raw value). */
|
|
24
16
|
radius?: RadiusProp;
|
|
25
|
-
/** Explicit width override. Number = px; string = any CSS unit. */
|
|
26
17
|
width?: SizeValue;
|
|
27
|
-
/** Explicit height override. Number = px; string = any CSS unit. */
|
|
28
18
|
height?: SizeValue;
|
|
29
|
-
/**
|
|
30
|
-
* Reserve a minimum width so the button doesn't reflow when its label
|
|
31
|
-
* changes (e.g. "Save" → "Saving…" → "Saved"). Number = px; string = any
|
|
32
|
-
* CSS unit. Content stays centered via the base `justify-center`.
|
|
33
|
-
*/
|
|
34
19
|
minWidth?: SizeValue;
|
|
35
|
-
/** Reserve a minimum height — symmetric with `minWidth`. */
|
|
36
20
|
minHeight?: SizeValue;
|
|
37
|
-
|
|
38
|
-
|
|
21
|
+
type?: ButtonType;
|
|
22
|
+
onPressStart?: (event: PressEvent<HTMLButtonElement>) => void;
|
|
23
|
+
onPressEnd?: (event: PressEvent<HTMLButtonElement>) => void;
|
|
24
|
+
onLongPress?: (event: PointerEvent<HTMLButtonElement>) => void;
|
|
25
|
+
longPressDelay?: number;
|
|
26
|
+
debounceMs?: number;
|
|
39
27
|
}
|
|
40
28
|
export declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
41
29
|
//# sourceMappingURL=Button.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/actions/button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/actions/button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,oBAAoB,EAMzB,KAAK,YAAY,EAEjB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAGL,UAAU,EAMV,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAYxE,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,EACxE,cAAc;IAEhB,WAAW,CAAC,EAAE,SAAS,CAAC;IAGxB,YAAY,CAAC,EAAE,SAAS,CAAC;IAGzB,WAAW,CAAC,EAAE,SAAS,CAAC;IAGxB,SAAS,CAAC,EAAE,OAAO,CAAC;IAGpB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,UAAU,CAAC,EAAE,OAAO,CAAC;IAGrB,UAAU,CAAC,EAAE,OAAO,CAAC;IAGrB,WAAW,CAAC,EAAE,OAAO,CAAC;IAGtB,WAAW,CAAC,EAAE,OAAO,CAAC;IAGtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAGlB,OAAO,CAAC,EAAE,WAAW,CAAC;IAGtB,MAAM,CAAC,EAAE,UAAU,CAAC;IAGpB,KAAK,CAAC,EAAE,SAAS,CAAC;IAGlB,MAAM,CAAC,EAAE,SAAS,CAAC;IAGnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IAGrB,SAAS,CAAC,EAAE,SAAS,CAAC;IAGtB,IAAI,CAAC,EAAE,UAAU,CAAC;IAGlB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAG9D,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAG5D,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAG/D,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA4HD,eAAO,MAAM,MAAM,2GA6IlB,CAAC"}
|
|
@@ -1,21 +1,5 @@
|
|
|
1
1
|
import { type VariantProps } from '../../utils';
|
|
2
|
-
/**
|
|
3
|
-
* Button visual surface — see `Button.standard.md` (rules) + `Button.spec.md` (values).
|
|
4
|
-
*
|
|
5
|
-
* Two-axis style system: `variant` × `tone`. Glass is tone-neutral by design
|
|
6
|
-
* (text/bg derived from `--color-inverse*` regardless of tone).
|
|
7
|
-
*
|
|
8
|
-
* Density: height + horizontal padding scale with `--ui-density-scale` CSS var
|
|
9
|
-
* (default `1`) via `calc()`.
|
|
10
|
-
*
|
|
11
|
-
* Forced-colors: every variant carries `border border-transparent` so HCM
|
|
12
|
-
* paints a visible boundary.
|
|
13
|
-
*
|
|
14
|
-
* Reduced motion: `motion-reduce:transition-none` on base.
|
|
15
|
-
*
|
|
16
|
-
* Skeleton state: `[data-state="skeleton"]` rule on base hides children +
|
|
17
|
-
* applies shimmer. Owned by Button.tsx (sets `data-state`).
|
|
18
|
-
*/
|
|
2
|
+
/** Button visual surface — see Button.standard.md + Button.spec.md. */
|
|
19
3
|
export declare const buttonVariants: import("tailwind-variants").TVReturnType<{
|
|
20
4
|
variant: {
|
|
21
5
|
solid: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.variants.d.ts","sourceRoot":"","sources":["../../../src/actions/button/Button.variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEpD
|
|
1
|
+
{"version":3,"file":"Button.variants.d.ts","sourceRoot":"","sources":["../../../src/actions/button/Button.variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEpD,uEAAuE;AACvE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAiHzB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC"}
|
|
@@ -5,10 +5,6 @@ export interface ButtonGroupProps extends ComponentPropsWithoutRef<'div'> {
|
|
|
5
5
|
/** Group children with collapsed inner radii (connected look). Default `true`. */
|
|
6
6
|
attached?: boolean;
|
|
7
7
|
}
|
|
8
|
-
/**
|
|
9
|
-
* Visually groups Button / IconButton children. When `attached` (default),
|
|
10
|
-
* collapses inner border-radii so children read as one connected control.
|
|
11
|
-
* Pass `attached={false}` for a simple gap-spaced row.
|
|
12
|
-
*/
|
|
8
|
+
/** Visually groups action-children — collapses inner radii when `attached`. */
|
|
13
9
|
export declare const ButtonGroup: import("react").ForwardRefExoticComponent<ButtonGroupProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
14
10
|
//# sourceMappingURL=ButtonGroup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ButtonGroup.d.ts","sourceRoot":"","sources":["../../../src/actions/buttonGroup/ButtonGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAGlE,MAAM,WAAW,gBAAiB,SAAQ,wBAAwB,CAAC,KAAK,CAAC;IACvE,gDAAgD;IAChD,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED
|
|
1
|
+
{"version":3,"file":"ButtonGroup.d.ts","sourceRoot":"","sources":["../../../src/actions/buttonGroup/ButtonGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAGlE,MAAM,WAAW,gBAAiB,SAAQ,wBAAwB,CAAC,KAAK,CAAC;IACvE,gDAAgD;IAChD,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,+EAA+E;AAC/E,eAAO,MAAM,WAAW,6GAmBvB,CAAC"}
|
|
@@ -12,9 +12,6 @@ export interface CopyButtonProps extends Omit<ButtonProps, 'onClick' | 'children
|
|
|
12
12
|
/** Accessible label when no visible text (icon-only). Default `"Copy"`. */
|
|
13
13
|
'aria-label'?: string;
|
|
14
14
|
}
|
|
15
|
-
/**
|
|
16
|
-
* Button that copies `text` to the clipboard. Swaps to a checkmark icon for
|
|
17
|
-
* `resetAfter` ms after a successful copy.
|
|
18
|
-
*/
|
|
15
|
+
/** Button that copies `text` to the clipboard with a checkmark swap on success. */
|
|
19
16
|
export declare const CopyButton: import("react").ForwardRefExoticComponent<CopyButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
20
17
|
//# sourceMappingURL=CopyButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopyButton.d.ts","sourceRoot":"","sources":["../../../src/actions/copyButton/CopyButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAInD,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE5D,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,UAAU,CAAC;IAChF,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,KAAK,SAAS,CAAC,CAAC;IAClE,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED
|
|
1
|
+
{"version":3,"file":"CopyButton.d.ts","sourceRoot":"","sources":["../../../src/actions/copyButton/CopyButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAInD,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE5D,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,UAAU,CAAC;IAChF,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,KAAK,SAAS,CAAC,CAAC;IAClE,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,mFAAmF;AACnF,eAAO,MAAM,UAAU,+GAwBtB,CAAC"}
|
|
@@ -11,10 +11,6 @@ export interface DisclosureButtonProps extends Omit<ButtonHTMLAttributes<HTMLBut
|
|
|
11
11
|
/** Side the chevron sits on. Default `right`. */
|
|
12
12
|
chevronSide?: 'left' | 'right';
|
|
13
13
|
}
|
|
14
|
-
/**
|
|
15
|
-
* Button with a chevron that rotates on open. Used as the trigger for
|
|
16
|
-
* collapsible sections, accordion items, sidebar groups. Sets `aria-expanded`
|
|
17
|
-
* and `data-state="open" | "closed"` for downstream content sync.
|
|
18
|
-
*/
|
|
14
|
+
/** Button with a rotating chevron — sets `aria-expanded` + `data-state="open|closed"`. */
|
|
19
15
|
export declare const DisclosureButton: import("react").ForwardRefExoticComponent<DisclosureButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
20
16
|
//# sourceMappingURL=DisclosureButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisclosureButton.d.ts","sourceRoot":"","sources":["../../../src/actions/disclosureButton/DisclosureButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAM9E,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IAC9E,oCAAoC;IACpC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kCAAkC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yCAAyC;IACzC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAChC;AAED
|
|
1
|
+
{"version":3,"file":"DisclosureButton.d.ts","sourceRoot":"","sources":["../../../src/actions/disclosureButton/DisclosureButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAM9E,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IAC9E,oCAAoC;IACpC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kCAAkC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yCAAyC;IACzC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAChC;AAED,0FAA0F;AAC1F,eAAO,MAAM,gBAAgB,qHAkD5B,CAAC"}
|
|
@@ -5,9 +5,6 @@ export interface FABProps extends ButtonHTMLAttributes<HTMLButtonElement>, FABVa
|
|
|
5
5
|
'aria-label': string;
|
|
6
6
|
children: ReactNode;
|
|
7
7
|
}
|
|
8
|
-
/**
|
|
9
|
-
* Floating Action Button — fixed-position circular button with shadow.
|
|
10
|
-
* Pass an icon (or icon + short label) as children. `aria-label` required.
|
|
11
|
-
*/
|
|
8
|
+
/** Floating Action Button — fixed-position circular button with shadow. */
|
|
12
9
|
export declare const FAB: import("react").ForwardRefExoticComponent<FABProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
13
10
|
//# sourceMappingURL=FAB.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FAB.d.ts","sourceRoot":"","sources":["../../../src/actions/fab/FAB.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9E,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE/D,MAAM,WAAW,QAAS,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,WAAW;IACpF,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED
|
|
1
|
+
{"version":3,"file":"FAB.d.ts","sourceRoot":"","sources":["../../../src/actions/fab/FAB.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9E,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE/D,MAAM,WAAW,QAAS,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,WAAW;IACpF,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,2EAA2E;AAC3E,eAAO,MAAM,GAAG,wGASf,CAAC"}
|
|
@@ -5,9 +5,6 @@ export interface IconButtonProps extends ButtonHTMLAttributes<HTMLButtonElement>
|
|
|
5
5
|
'aria-label': string;
|
|
6
6
|
children: ReactNode;
|
|
7
7
|
}
|
|
8
|
-
/**
|
|
9
|
-
* Square / circular button containing only an icon. `aria-label` is
|
|
10
|
-
* required by the type — there is no visible text fallback.
|
|
11
|
-
*/
|
|
8
|
+
/** Square or circular icon-only button — `aria-label` is type-required. */
|
|
12
9
|
export declare const IconButton: import("react").ForwardRefExoticComponent<IconButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
13
10
|
//# sourceMappingURL=IconButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../src/actions/iconButton/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9E,OAAO,EAAsB,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEpF,MAAM,WAAW,eACf,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC,EAC7C,kBAAkB;IACpB,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED
|
|
1
|
+
{"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../../src/actions/iconButton/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9E,OAAO,EAAsB,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEpF,MAAM,WAAW,eACf,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC,EAC7C,kBAAkB;IACpB,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,2EAA2E;AAC3E,eAAO,MAAM,UAAU,+GAStB,CAAC"}
|
package/dist/actions/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { BackToTopButton, Button, ButtonGroup, CopyButton, DisclosureButton, FAB, IconButton, Link, OverlayButton, SegmentedControl, SpeedDial, SpeedDialAction, SpeedDialTrigger, ToggleButton, ToggleButtonGroup, Toolbar, ToolbarButton, ToolbarLink, ToolbarSeparator, buttonVariants, fabVariants, iconButtonVariants, linkVariants, toggleButtonVariants } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
1
|
+
export { BackToTopButton, Button, ButtonGroup, CopyButton, DisclosureButton, FAB, IconButton, Link, OverlayButton, SegmentedControl, SpeedDial, SpeedDialAction, SpeedDialTrigger, ToggleButton, ToggleButtonGroup, Toolbar, ToolbarButton, ToolbarLink, ToolbarSeparator, buttonVariants, fabVariants, iconButtonVariants, linkVariants, toggleButtonVariants } from '../chunk-3IEGN2OO.js';
|
|
2
|
+
import '../chunk-NUMFGKPY.js';
|
|
3
|
+
import '../chunk-GWIFNLGS.js';
|
|
4
|
+
import '../chunk-LBQIZGYH.js';
|
|
5
5
|
import '../chunk-BMABNEZX.js';
|
|
6
6
|
import '../chunk-KDXJQNB6.js';
|
|
7
7
|
import '../chunk-LDRFQG44.js';
|
|
@@ -5,9 +5,6 @@ export interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement>, Link
|
|
|
5
5
|
* Use for router `<Link>` components from Next.js / React Router. */
|
|
6
6
|
asChild?: boolean;
|
|
7
7
|
}
|
|
8
|
-
/**
|
|
9
|
-
* Anchor with consistent focus / hover styling. Pass `asChild` to render a
|
|
10
|
-
* router `<Link>` while inheriting our visuals.
|
|
11
|
-
*/
|
|
8
|
+
/** Anchor with consistent focus/hover styling — `asChild` swaps in router links. */
|
|
12
9
|
export declare const Link: import("react").ForwardRefExoticComponent<LinkProps & import("react").RefAttributes<HTMLAnchorElement>>;
|
|
13
10
|
//# sourceMappingURL=Link.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../src/actions/link/Link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAG9D,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAElE,MAAM,WAAW,SAAU,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,YAAY;IACtF;0EACsE;IACtE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED
|
|
1
|
+
{"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../src/actions/link/Link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAG9D,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAElE,MAAM,WAAW,SAAU,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,YAAY;IACtF;0EACsE;IACtE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,oFAAoF;AACpF,eAAO,MAAM,IAAI,yGAWhB,CAAC"}
|
|
@@ -1,14 +1,5 @@
|
|
|
1
1
|
import { type ButtonProps } from '../button/Button';
|
|
2
|
-
/**
|
|
3
|
-
* OverlayButton — thin wrapper around Button, supplying the typical
|
|
4
|
-
* "icon-button glassy circle anchored over a card/image" preset.
|
|
5
|
-
*
|
|
6
|
-
* Glass styling, sizing, loading/skeleton, asChild, etc. all flow from Button.
|
|
7
|
-
* OverlayButton owns positioning + reveal-on-hover only.
|
|
8
|
-
*
|
|
9
|
-
* Pair with `appearOn="hover"` and a parent with `className="group"` to
|
|
10
|
-
* reveal the button only when the parent is hovered.
|
|
11
|
-
*/
|
|
2
|
+
/** Slim wrapper around Button — variant=glass + shape=circle + position/appearOn helpers. */
|
|
12
3
|
export type OverlayPosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'center';
|
|
13
4
|
export type OverlayAppearOn = 'always' | 'hover';
|
|
14
5
|
export interface OverlayButtonProps extends Omit<ButtonProps, 'variant' | 'shape'> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OverlayButton.d.ts","sourceRoot":"","sources":["../../../src/actions/overlayButton/OverlayButton.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE5D
|
|
1
|
+
{"version":3,"file":"OverlayButton.d.ts","sourceRoot":"","sources":["../../../src/actions/overlayButton/OverlayButton.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE5D,6FAA6F;AAE7F,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,UAAU,GACV,cAAc,GACd,aAAa,GACb,QAAQ,CAAC;AAEb,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEjD,MAAM,WAAW,kBACf,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,OAAO,CAAC;IAC9C,gFAAgF;IAChF,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,0DAA0D;IAC1D,YAAY,EAAE,MAAM,CAAC;CACtB;AAeD,eAAO,MAAM,aAAa,kHA2BzB,CAAC"}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import { type ToggleButtonGroupProps } from '../toggleButtonGroup/ToggleButtonGroup';
|
|
2
2
|
export type SegmentedControlProps = ToggleButtonGroupProps;
|
|
3
|
-
/**
|
|
4
|
-
* Visual variant of `ToggleButtonGroup` styled as a connected pill row —
|
|
5
|
-
* the iOS / shadcn segmented control pattern. Use for view switchers
|
|
6
|
-
* (day/week/month) and small option pickers.
|
|
7
|
-
*/
|
|
3
|
+
/** Visual variant of ToggleButtonGroup — iOS-style connected pill row. */
|
|
8
4
|
export declare const SegmentedControl: import("react").ForwardRefExoticComponent<ToggleButtonGroupProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
9
5
|
//# sourceMappingURL=SegmentedControl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SegmentedControl.d.ts","sourceRoot":"","sources":["../../../src/actions/segmentedControl/SegmentedControl.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAqB,KAAK,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAExG,MAAM,MAAM,qBAAqB,GAAG,sBAAsB,CAAC;AAE3D
|
|
1
|
+
{"version":3,"file":"SegmentedControl.d.ts","sourceRoot":"","sources":["../../../src/actions/segmentedControl/SegmentedControl.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAqB,KAAK,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAExG,MAAM,MAAM,qBAAqB,GAAG,sBAAsB,CAAC;AAE3D,0EAA0E;AAC1E,eAAO,MAAM,gBAAgB,mHAc5B,CAAC"}
|
|
@@ -8,9 +8,6 @@ export interface ToggleButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonE
|
|
|
8
8
|
/** Fires whenever pressed state changes. */
|
|
9
9
|
onPressedChange?: (pressed: boolean) => void;
|
|
10
10
|
}
|
|
11
|
-
/**
|
|
12
|
-
* Two-state button (on / off). Sets `aria-pressed` and `data-state`. Use
|
|
13
|
-
* inside `ToggleButtonGroup` for arrow-key navigation across siblings.
|
|
14
|
-
*/
|
|
11
|
+
/** Two-state button (on/off) — sets `aria-pressed` + `data-state="on|off"`. */
|
|
15
12
|
export declare const ToggleButton: import("react").ForwardRefExoticComponent<ToggleButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
16
13
|
//# sourceMappingURL=ToggleButton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToggleButton.d.ts","sourceRoot":"","sources":["../../../src/actions/toggleButton/ToggleButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAG9D,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE1F,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,EAC5D,oBAAoB;IACtB,gCAAgC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kCAAkC;IAClC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4CAA4C;IAC5C,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAC9C;AAED
|
|
1
|
+
{"version":3,"file":"ToggleButton.d.ts","sourceRoot":"","sources":["../../../src/actions/toggleButton/ToggleButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAG9D,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE1F,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,EAC5D,oBAAoB;IACtB,gCAAgC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kCAAkC;IAClC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4CAA4C;IAC5C,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAC9C;AAED,+EAA+E;AAC/E,eAAO,MAAM,YAAY,iHAsCxB,CAAC"}
|
|
@@ -15,11 +15,7 @@ type ToggleButtonGroupProps = Omit<ComponentPropsWithoutRef<'div'>, 'defaultValu
|
|
|
15
15
|
orientation?: 'horizontal' | 'vertical';
|
|
16
16
|
attached?: boolean;
|
|
17
17
|
} & (SingleProps | MultiProps);
|
|
18
|
-
/**
|
|
19
|
-
* Coordinates a row/column of `ToggleButton` children. `type="single"` (default)
|
|
20
|
-
* tracks one active value; `type="multi"` tracks an array. Each child must
|
|
21
|
-
* expose a `value` prop that the group uses as its identifier.
|
|
22
|
-
*/
|
|
18
|
+
/** Coordinates a row/column of ToggleButton children — `type="single" | "multi"`. */
|
|
23
19
|
export declare const ToggleButtonGroup: import("react").ForwardRefExoticComponent<ToggleButtonGroupProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
24
20
|
export type { ToggleButtonGroupProps };
|
|
25
21
|
//# sourceMappingURL=ToggleButtonGroup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToggleButtonGroup.d.ts","sourceRoot":"","sources":["../../../src/actions/toggleButtonGroup/ToggleButtonGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,wBAAwB,EAE9B,MAAM,OAAO,CAAC;AAOf,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAChD;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC3C;AAED,KAAK,sBAAsB,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,GAAG;IACjG,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC;AAM/B
|
|
1
|
+
{"version":3,"file":"ToggleButtonGroup.d.ts","sourceRoot":"","sources":["../../../src/actions/toggleButtonGroup/ToggleButtonGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,wBAAwB,EAE9B,MAAM,OAAO,CAAC;AAOf,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAChD;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC3C;AAED,KAAK,sBAAsB,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,GAAG;IACjG,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,CAAC,WAAW,GAAG,UAAU,CAAC,CAAC;AAM/B,qFAAqF;AACrF,eAAO,MAAM,iBAAiB,mHA6D7B,CAAC;AAGF,YAAY,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { useControlled, useClipboard, useEscape, useOutsideClick } from './chunk-
|
|
2
|
-
import { Icon, Spinner } from './chunk-
|
|
3
|
-
import { tv,
|
|
1
|
+
import { useControlled, useClipboard, useDebounceHandler, useEscape, useOutsideClick } from './chunk-NUMFGKPY.js';
|
|
2
|
+
import { Icon, Spinner } from './chunk-GWIFNLGS.js';
|
|
3
|
+
import { tv, PressExtensions, HtmlElement, CssExtensions, ButtonType, OptionalExtensions, dataAttr, composeEventHandlers, Key } from './chunk-LBQIZGYH.js';
|
|
4
4
|
import { Slot, RovingFocusGroup, useRovingFocusItem } from './chunk-BMABNEZX.js';
|
|
5
5
|
import { cn, composeRefs } from './chunk-LDRFQG44.js';
|
|
6
|
-
import { forwardRef, Children, isValidElement, cloneElement, createContext, useState, useEffect,
|
|
6
|
+
import { forwardRef, Children, isValidElement, cloneElement, createContext, useState, useEffect, useRef, useContext, useMemo } from 'react';
|
|
7
7
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
8
8
|
import { Check, Copy, ChevronDown, X, Plus, ArrowUp } from 'lucide-react';
|
|
9
9
|
|
|
@@ -115,6 +115,97 @@ var buttonVariants = tv({
|
|
|
115
115
|
wrap: false
|
|
116
116
|
}
|
|
117
117
|
});
|
|
118
|
+
var COMPONENT_NAME = "Button";
|
|
119
|
+
var ButtonDataState = {
|
|
120
|
+
Loading: "loading",
|
|
121
|
+
Skeleton: "skeleton",
|
|
122
|
+
Disabled: "disabled"
|
|
123
|
+
};
|
|
124
|
+
function useButtonInteractivity(opts) {
|
|
125
|
+
const isPressingRef = useRef(false);
|
|
126
|
+
const longPressTimerRef = useRef(void 0);
|
|
127
|
+
const longPressFiredRef = useRef(false);
|
|
128
|
+
useEffect(
|
|
129
|
+
() => () => {
|
|
130
|
+
if (longPressTimerRef.current !== void 0) {
|
|
131
|
+
clearTimeout(longPressTimerRef.current);
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
[]
|
|
135
|
+
);
|
|
136
|
+
const cancelLongPress = () => {
|
|
137
|
+
if (longPressTimerRef.current !== void 0) {
|
|
138
|
+
clearTimeout(longPressTimerRef.current);
|
|
139
|
+
longPressTimerRef.current = void 0;
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
const endPress = (e) => {
|
|
143
|
+
if (isPressingRef.current) {
|
|
144
|
+
isPressingRef.current = false;
|
|
145
|
+
opts.onPressEnd?.(e);
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
const handlePointerDown = (e) => {
|
|
149
|
+
if (opts.isInactive) return;
|
|
150
|
+
if (!isPressingRef.current) {
|
|
151
|
+
isPressingRef.current = true;
|
|
152
|
+
longPressFiredRef.current = false;
|
|
153
|
+
opts.onPressStart?.(e);
|
|
154
|
+
}
|
|
155
|
+
if (opts.onLongPress) {
|
|
156
|
+
longPressTimerRef.current = setTimeout(() => {
|
|
157
|
+
longPressFiredRef.current = true;
|
|
158
|
+
opts.onLongPress?.(e);
|
|
159
|
+
longPressTimerRef.current = void 0;
|
|
160
|
+
}, opts.longPressDelay);
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
const handlePointerUp = (e) => {
|
|
164
|
+
cancelLongPress();
|
|
165
|
+
endPress(e);
|
|
166
|
+
};
|
|
167
|
+
const handlePointerCancel = (e) => {
|
|
168
|
+
cancelLongPress();
|
|
169
|
+
endPress(e);
|
|
170
|
+
};
|
|
171
|
+
const handlePointerLeave = () => {
|
|
172
|
+
cancelLongPress();
|
|
173
|
+
};
|
|
174
|
+
const isActivationKey = (e) => e.key === Key.Space || e.key === Key.Enter;
|
|
175
|
+
const handleKeyDown = (e) => {
|
|
176
|
+
if (opts.isInactive) return;
|
|
177
|
+
if (isActivationKey(e) && !e.repeat && !isPressingRef.current) {
|
|
178
|
+
isPressingRef.current = true;
|
|
179
|
+
longPressFiredRef.current = false;
|
|
180
|
+
opts.onPressStart?.(e);
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
const handleKeyUp = (e) => {
|
|
184
|
+
if (isActivationKey(e) && isPressingRef.current) {
|
|
185
|
+
isPressingRef.current = false;
|
|
186
|
+
opts.onPressEnd?.(e);
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
const debouncedOnClick = useDebounceHandler(opts.onClick, opts.debounceMs);
|
|
190
|
+
const handleClick = (e) => {
|
|
191
|
+
if (opts.isLoading || opts.isSkeleton) return;
|
|
192
|
+
if (longPressFiredRef.current) {
|
|
193
|
+
longPressFiredRef.current = false;
|
|
194
|
+
e.preventDefault();
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
debouncedOnClick(e);
|
|
198
|
+
};
|
|
199
|
+
return {
|
|
200
|
+
onClick: handleClick,
|
|
201
|
+
onPointerDown: composeEventHandlers(opts.onPointerDown, handlePointerDown),
|
|
202
|
+
onPointerUp: composeEventHandlers(opts.onPointerUp, handlePointerUp),
|
|
203
|
+
onPointerCancel: composeEventHandlers(opts.onPointerCancel, handlePointerCancel),
|
|
204
|
+
onPointerLeave: composeEventHandlers(opts.onPointerLeave, handlePointerLeave),
|
|
205
|
+
onKeyDown: composeEventHandlers(opts.onKeyDown, handleKeyDown),
|
|
206
|
+
onKeyUp: composeEventHandlers(opts.onKeyUp, handleKeyUp)
|
|
207
|
+
};
|
|
208
|
+
}
|
|
118
209
|
var Button = forwardRef(
|
|
119
210
|
({
|
|
120
211
|
className,
|
|
@@ -123,51 +214,87 @@ var Button = forwardRef(
|
|
|
123
214
|
tone,
|
|
124
215
|
size,
|
|
125
216
|
shape,
|
|
126
|
-
|
|
127
|
-
|
|
217
|
+
isFullWidth,
|
|
218
|
+
isMultiline,
|
|
128
219
|
padding,
|
|
129
220
|
radius,
|
|
130
221
|
width,
|
|
131
222
|
height,
|
|
132
223
|
minWidth,
|
|
133
224
|
minHeight,
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
225
|
+
leadingSlot,
|
|
226
|
+
trailingSlot,
|
|
227
|
+
loadingSlot,
|
|
228
|
+
isLoading,
|
|
137
229
|
loadingText,
|
|
138
|
-
|
|
230
|
+
isSkeleton,
|
|
231
|
+
isDisabled,
|
|
139
232
|
asChild,
|
|
140
|
-
type =
|
|
141
|
-
disabled,
|
|
233
|
+
type = ButtonType.Button,
|
|
142
234
|
children,
|
|
143
235
|
onClick,
|
|
236
|
+
onPressStart,
|
|
237
|
+
onPressEnd,
|
|
238
|
+
onLongPress,
|
|
239
|
+
longPressDelay = PressExtensions.longPressDelay.default,
|
|
240
|
+
debounceMs,
|
|
241
|
+
onPointerDown,
|
|
242
|
+
onPointerUp,
|
|
243
|
+
onPointerCancel,
|
|
244
|
+
onPointerLeave,
|
|
245
|
+
onKeyDown,
|
|
246
|
+
onKeyUp,
|
|
144
247
|
...rest
|
|
145
248
|
}, ref) => {
|
|
146
|
-
if (
|
|
249
|
+
if (isLoading && isSkeleton) {
|
|
147
250
|
console.warn(
|
|
148
|
-
|
|
251
|
+
`[${COMPONENT_NAME}] \`isLoading\` and \`isSkeleton\` are mutually exclusive \u2014 \`isSkeleton\` takes precedence.`
|
|
149
252
|
);
|
|
150
253
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
254
|
+
let safeLongPressDelay = longPressDelay;
|
|
255
|
+
if (longPressDelay < PressExtensions.longPressDelay.min || longPressDelay > PressExtensions.longPressDelay.max) {
|
|
256
|
+
console.warn(
|
|
257
|
+
`[${COMPONENT_NAME}] longPressDelay=${longPressDelay}ms is outside reasonable range (${PressExtensions.longPressDelay.min}\u2013${PressExtensions.longPressDelay.max}ms). Falling back to ${PressExtensions.longPressDelay.default}ms.`
|
|
258
|
+
);
|
|
259
|
+
safeLongPressDelay = PressExtensions.longPressDelay.default;
|
|
260
|
+
}
|
|
261
|
+
const skeletonActive = !!isSkeleton;
|
|
262
|
+
const loadingActive = !skeletonActive && !!isLoading;
|
|
263
|
+
const isInactive = loadingActive || skeletonActive || !!isDisabled;
|
|
264
|
+
const dataState = skeletonActive ? ButtonDataState.Skeleton : loadingActive ? ButtonDataState.Loading : isDisabled ? ButtonDataState.Disabled : void 0;
|
|
265
|
+
const Comp = asChild ? Slot : HtmlElement.Button;
|
|
155
266
|
const overrideStyle = (() => {
|
|
156
|
-
const padStyle =
|
|
157
|
-
const radStyle =
|
|
158
|
-
const boxStyle =
|
|
267
|
+
const padStyle = CssExtensions.resolvePadding(padding);
|
|
268
|
+
const radStyle = CssExtensions.resolveRadius(radius);
|
|
269
|
+
const boxStyle = CssExtensions.resolveBoxSize({ width, height, minWidth, minHeight });
|
|
159
270
|
if (!padStyle && !radStyle && !boxStyle && !style) return void 0;
|
|
160
271
|
return { ...padStyle, ...radStyle, ...boxStyle, ...style };
|
|
161
272
|
})();
|
|
162
|
-
const
|
|
163
|
-
|
|
164
|
-
|
|
273
|
+
const eventHandlers = useButtonInteractivity({
|
|
274
|
+
isInactive,
|
|
275
|
+
isLoading: loadingActive,
|
|
276
|
+
isSkeleton: skeletonActive,
|
|
277
|
+
longPressDelay: safeLongPressDelay,
|
|
278
|
+
debounceMs,
|
|
279
|
+
onClick,
|
|
280
|
+
onPressStart,
|
|
281
|
+
onPressEnd,
|
|
282
|
+
onLongPress,
|
|
283
|
+
onPointerDown,
|
|
284
|
+
onPointerUp,
|
|
285
|
+
onPointerCancel,
|
|
286
|
+
onPointerLeave,
|
|
287
|
+
onKeyDown,
|
|
288
|
+
onKeyUp
|
|
289
|
+
});
|
|
290
|
+
const content = loadingActive ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
291
|
+
loadingSlot ?? /* @__PURE__ */ jsx(Spinner, {}),
|
|
165
292
|
loadingText !== void 0 ? /* @__PURE__ */ jsx("span", { children: loadingText }) : children,
|
|
166
|
-
|
|
293
|
+
trailingSlot
|
|
167
294
|
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
168
|
-
|
|
295
|
+
leadingSlot,
|
|
169
296
|
children,
|
|
170
|
-
|
|
297
|
+
trailingSlot
|
|
171
298
|
] });
|
|
172
299
|
return /* @__PURE__ */ jsx(
|
|
173
300
|
Comp,
|
|
@@ -175,22 +302,29 @@ var Button = forwardRef(
|
|
|
175
302
|
ref,
|
|
176
303
|
type: asChild ? void 0 : type,
|
|
177
304
|
className: cn(
|
|
178
|
-
buttonVariants({
|
|
305
|
+
buttonVariants({
|
|
306
|
+
variant,
|
|
307
|
+
tone,
|
|
308
|
+
size,
|
|
309
|
+
shape,
|
|
310
|
+
fullWidth: isFullWidth,
|
|
311
|
+
wrap: isMultiline
|
|
312
|
+
}),
|
|
179
313
|
className
|
|
180
314
|
),
|
|
181
315
|
style: overrideStyle,
|
|
182
|
-
disabled:
|
|
183
|
-
"aria-busy":
|
|
184
|
-
tabIndex:
|
|
316
|
+
disabled: OptionalExtensions.from(isDisabled, true),
|
|
317
|
+
"aria-busy": OptionalExtensions.from(loadingActive || skeletonActive, true),
|
|
318
|
+
tabIndex: OptionalExtensions.from(skeletonActive, -1),
|
|
185
319
|
"data-state": dataState,
|
|
186
|
-
|
|
320
|
+
...eventHandlers,
|
|
187
321
|
...rest,
|
|
188
322
|
children: content
|
|
189
323
|
}
|
|
190
324
|
);
|
|
191
325
|
}
|
|
192
326
|
);
|
|
193
|
-
Button.displayName =
|
|
327
|
+
Button.displayName = COMPONENT_NAME;
|
|
194
328
|
|
|
195
329
|
// src/actions/iconButton/IconButton.variants.ts
|
|
196
330
|
var iconButtonVariants = tv({
|
|
@@ -898,5 +1032,5 @@ var BackToTopButton = forwardRef(
|
|
|
898
1032
|
BackToTopButton.displayName = "BackToTopButton";
|
|
899
1033
|
|
|
900
1034
|
export { BackToTopButton, Button, ButtonGroup, CopyButton, DisclosureButton, FAB, IconButton, Link, OverlayButton, SegmentedControl, SpeedDial, SpeedDialAction, SpeedDialTrigger, ToggleButton, ToggleButtonGroup, Toolbar, ToolbarButton, ToolbarLink, ToolbarSeparator, buttonVariants, fabVariants, iconButtonVariants, linkVariants, toggleButtonVariants };
|
|
901
|
-
//# sourceMappingURL=chunk-
|
|
902
|
-
//# sourceMappingURL=chunk-
|
|
1035
|
+
//# sourceMappingURL=chunk-3IEGN2OO.js.map
|
|
1036
|
+
//# sourceMappingURL=chunk-3IEGN2OO.js.map
|