lizaui 3.0.50 → 3.0.51
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/button/index.es.js +1 -1
- package/dist/calendar/index.es.js +1 -1
- package/dist/chunks/{button-C2uFi79u.js → button-CT1gzAt1.js} +6 -6
- package/dist/chunks/{button-C2uFi79u.js.map → button-CT1gzAt1.js.map} +1 -1
- package/dist/chunks/{index-BNwIrwDo.js → index-16iPHlf0.js} +4 -4
- package/dist/chunks/{index-BNwIrwDo.js.map → index-16iPHlf0.js.map} +1 -1
- package/dist/chunks/{index-CfJPYoVK.js → index-fRQUvivo.js} +3 -3
- package/dist/chunks/index-fRQUvivo.js.map +1 -0
- package/dist/chunks/{proxy-DLzUd3NL.js → proxy-gd0H-9gQ.js} +47 -47
- package/dist/chunks/{proxy-DLzUd3NL.js.map → proxy-gd0H-9gQ.js.map} +1 -1
- package/dist/chunks/{ripple-Bf1OyqK2.js → ripple-DV2Gx-M9.js} +115 -115
- package/dist/chunks/{ripple-Bf1OyqK2.js.map → ripple-DV2Gx-M9.js.map} +1 -1
- package/dist/components/ripple/index.d.ts +3 -1
- package/dist/components/ripple/index.d.ts.map +1 -1
- package/dist/modal/index.cjs.js +1 -1
- package/dist/modal/index.cjs.js.map +1 -1
- package/dist/modal/index.es.js +8 -8
- package/dist/modal/index.es.js.map +1 -1
- package/dist/pagination/index.es.js +2 -2
- package/dist/ripple/index.cjs.js +1 -1
- package/dist/ripple/index.es.js +3 -2
- package/dist/ui/index.es.js +3 -3
- package/package.json +1 -1
- package/dist/chunks/index-CfJPYoVK.js.map +0 -1
package/dist/button/index.es.js
CHANGED
|
@@ -6,7 +6,7 @@ import { c as Be } from "../chunks/clsx-OuTLNxxd.js";
|
|
|
6
6
|
import { t as In } from "../chunks/bundle-mjs-kGHm2Pod.js";
|
|
7
7
|
import { L as Cl } from "../chunks/label-error-DwHE_f3w.js";
|
|
8
8
|
import { c as kl } from "../chunks/utils-DF-FHKXF.js";
|
|
9
|
-
import { B as Oo } from "../chunks/button-
|
|
9
|
+
import { B as Oo } from "../chunks/button-CT1gzAt1.js";
|
|
10
10
|
import { v as Pl } from "../chunks/v4-CRLUkzQ6.js";
|
|
11
11
|
function Ui(e) {
|
|
12
12
|
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
@@ -7,7 +7,7 @@ import { d as Y, c as l } from "./classes-7MXTIFwM.js";
|
|
|
7
7
|
import { c as r } from "./variants-DhZQjbsQ.js";
|
|
8
8
|
import { c as q } from "./clsx-OuTLNxxd.js";
|
|
9
9
|
import { S as J } from "./index-ctnzfHek.js";
|
|
10
|
-
import { u as K,
|
|
10
|
+
import { u as K, R as Q } from "./ripple-DV2Gx-M9.js";
|
|
11
11
|
const U = X({
|
|
12
12
|
base: [
|
|
13
13
|
"z-0",
|
|
@@ -458,19 +458,19 @@ function Z(a) {
|
|
|
458
458
|
), x = (e) => T(e) ? M(e, {
|
|
459
459
|
// "aria-hidden": true,
|
|
460
460
|
// "focusable": false,
|
|
461
|
-
}) : null, V = x(p), A = x(h),
|
|
461
|
+
}) : null, V = x(p), A = x(h), S = (e) => {
|
|
462
462
|
const I = e.currentTarget.getBoundingClientRect(), k = {
|
|
463
463
|
target: e.currentTarget,
|
|
464
464
|
x: e.clientX - I.left,
|
|
465
465
|
y: e.clientY - I.top
|
|
466
466
|
};
|
|
467
467
|
B(k);
|
|
468
|
-
},
|
|
468
|
+
}, E = () => ({
|
|
469
469
|
className: q(D, i == null ? void 0 : i.base),
|
|
470
470
|
"data-disabled": G(o),
|
|
471
471
|
"data-loading": G(s),
|
|
472
472
|
onClick: O,
|
|
473
|
-
onPointerDown:
|
|
473
|
+
onPointerDown: S,
|
|
474
474
|
"data-slot": "button",
|
|
475
475
|
"aria-disabled": o,
|
|
476
476
|
id: z,
|
|
@@ -487,7 +487,7 @@ function Z(a) {
|
|
|
487
487
|
spinnerPlacement: b,
|
|
488
488
|
startContent: V,
|
|
489
489
|
endContent: A,
|
|
490
|
-
getButtonProps:
|
|
490
|
+
getButtonProps: E,
|
|
491
491
|
getRippleProps: W
|
|
492
492
|
};
|
|
493
493
|
}
|
|
@@ -525,4 +525,4 @@ export {
|
|
|
525
525
|
$ as B,
|
|
526
526
|
U as b
|
|
527
527
|
};
|
|
528
|
-
//# sourceMappingURL=button-
|
|
528
|
+
//# sourceMappingURL=button-CT1gzAt1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-C2uFi79u.js","sources":["../../src/theme/color/button.ts","../../src/components/button/use-button.ts","../../src/components/button/spinner.tsx","../../src/components/button/button.tsx"],"sourcesContent":["import { tv } from \"@/lib/tv\";\nimport type { VariantProps } from \"tailwind-variants\";\nimport { collapseAdjacentVariantBorders, dataFocusVisibleClasses } from \"../classes\";\nimport { colorVariants } from \"../variants\";\n\n/**\n * Button wrapper **Tailwind Variants** component\n *\n * const classNames = button({...})\n *\n * @example\n * <button\n * className={classNames())}\n * data-pressed={true/false}\n * data-hover={true/false}\n * data-focus={true/false}\n * data-focus-visible={true/false}\n * >\n * Button\n * </button>\n */\nconst button = tv({\n\tbase: [\n\t\t\"z-0\",\n \"cursor-pointer\",\n\t\t\"group\",\n\t\t\"relative\",\n\t\t\"inline-flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"box-border\",\n\t\t\"appearance-none\",\n\t\t\"outline-none\",\n\t\t\"select-none\",\n\t\t\"whitespace-nowrap\",\n\t\t\"min-w-max\",\n\t\t\"font-medium\",\n\t\t\"subpixel-antialiased\",\n\t\t\"overflow-hidden\",\n\t\t\"tap-highlight-transparent\",\n\t\t\"transform-gpu data-[pressed=true]:scale-[0.97]\",\n\t\t// focus ring\n\t\t...dataFocusVisibleClasses,\n\t],\n\tvariants: {\n\t\tvariant: {\n\t\t\tsolid: \"\",\n\t\t\tbordered: \"border-[2px] bg-transparent\",\n\t\t\tlight: \"bg-transparent\",\n\t\t\tflat: \"\",\n\t\t\tfaded: \"border-[2px]\",\n\t\t\tshadow: \"\",\n\t\t\tghost: \"border-[2px] bg-transparent\",\n\t\t},\n\t\tsize: {\n\t\t\tsm: \"px-3 min-w-16 h-8 text-tiny gap-2 rounded-sm\",\n\t\t\tmd: \"px-4 min-w-20 h-10 text-sm gap-2 rounded-md\",\n\t\t\tlg: \"px-6 min-w-24 h-12 text-md gap-3 rounded-lg\",\n\t\t},\n\t\tcolor: {\n\t\t\tdefault: \"\",\n\t\t\tprimary: \"\",\n\t\t\tsecondary: \"\",\n\t\t\tsuccess: \"\",\n\t\t\twarning: \"\",\n\t\t\tdanger: \"\",\n\t\t},\n\t\tradius: {\n\t\t\tnone: \"rounded-none\",\n\t\t\tsm: \"rounded-sm\",\n\t\t\tmd: \"rounded-md\",\n\t\t\tlg: \"rounded-lg\",\n\t\t\tfull: \"rounded-full\",\n\t\t},\n\t\tfullWidth: {\n\t\t\ttrue: \"w-full\",\n\t\t},\n\t\tisDisabled: {\n\t\t\ttrue: \"opacity-80 pointer-events-none\",\n\t\t},\n\t\tisInGroup: {\n\t\t\ttrue: \"[&:not(:first-child):not(:last-child)]:rounded-none\",\n\t\t},\n\t\tisIconOnly: {\n\t\t\ttrue: \"px-0 !gap-0\",\n\t\t\tfalse: \"[&>svg]:max-w-[theme(spacing.8)]\",\n\t\t},\n\t\tdisableAnimation: {\n\t\t\ttrue: \"!transition-none data-[pressed=true]:scale-100\",\n\t\t\tfalse: \"transition-transform-colors-opacity motion-reduce:transition-none\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t\tvariant: \"solid\",\n\t\tcolor: \"default\",\n\t\tfullWidth: false,\n\t\tisDisabled: false,\n\t\tisInGroup: false,\n\t},\n\tcompoundVariants: [\n\t\t// solid / color\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.solid.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.solid.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.solid.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.solid.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.solid.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.solid.danger,\n\t\t},\n\t\t// shadow / color\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.shadow.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.shadow.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.shadow.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.shadow.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.shadow.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.shadow.danger,\n\t\t},\n\t\t// bordered / color\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.bordered.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.bordered.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.bordered.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.bordered.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.bordered.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.bordered.danger,\n\t\t},\n\t\t// flat / color\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.flat.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.flat.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.flat.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.flat.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.flat.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.flat.danger,\n\t\t},\n\t\t// faded / color\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.faded.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.faded.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.faded.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.faded.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.faded.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.faded.danger,\n\t\t},\n\t\t// light / color\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: [colorVariants.light.default, \"data-[hover=true]:bg-default/40\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: [colorVariants.light.primary, \"data-[hover=true]:bg-primary/20\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: [colorVariants.light.secondary, \"data-[hover=true]:bg-secondary/20\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: [colorVariants.light.success, \"data-[hover=true]:bg-success/20\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: [colorVariants.light.warning, \"data-[hover=true]:bg-warning/20\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: [colorVariants.light.danger, \"data-[hover=true]:bg-danger/20\"],\n\t\t},\n\t\t// ghost / color\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: [colorVariants.ghost.default, \"data-[hover=true]:!bg-default\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: [colorVariants.ghost.primary, \"data-[hover=true]:!bg-primary data-[hover=true]:!text-primary-foreground\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: [colorVariants.ghost.secondary, \"data-[hover=true]:!bg-secondary data-[hover=true]:!text-secondary-foreground\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: [colorVariants.ghost.success, \"data-[hover=true]:!bg-success data-[hover=true]:!text-success-foreground\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: [colorVariants.ghost.warning, \"data-[hover=true]:!bg-warning data-[hover=true]:!text-warning-foreground\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: [colorVariants.ghost.danger, \"data-[hover=true]:!bg-danger data-[hover=true]:!text-danger-foreground\"],\n\t\t},\n\t\t// isInGroup / radius / size <-- radius not provided\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tclass: \"rounded-none first:rounded-s-medium last:rounded-e-medium\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tsize: \"sm\",\n\t\t\tclass: \"rounded-none first:rounded-s-small last:rounded-e-small\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tsize: \"md\",\n\t\t\tclass: \"rounded-none first:rounded-s-medium last:rounded-e-medium\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tsize: \"lg\",\n\t\t\tclass: \"rounded-none first:rounded-s-large last:rounded-e-large\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tisRounded: true,\n\t\t\tclass: \"rounded-none first:rounded-s-full last:rounded-e-full\",\n\t\t},\n\t\t// isInGroup / radius <-- radius provided\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"none\",\n\t\t\tclass: \"rounded-none first:rounded-s-none last:rounded-e-none\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"sm\",\n\t\t\tclass: \"rounded-none first:rounded-s-small last:rounded-e-small\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"md\",\n\t\t\tclass: \"rounded-none first:rounded-s-medium last:rounded-e-medium\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"lg\",\n\t\t\tclass: \"rounded-none first:rounded-s-large last:rounded-e-large\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"full\",\n\t\t\tclass: \"rounded-none first:rounded-s-full last:rounded-e-full\",\n\t\t},\n\t\t// isInGroup / bordered / ghost\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"default\",\n\t\t\tclassName: collapseAdjacentVariantBorders.default,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"primary\",\n\t\t\tclassName: collapseAdjacentVariantBorders.primary,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"secondary\",\n\t\t\tclassName: collapseAdjacentVariantBorders.secondary,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"success\",\n\t\t\tclassName: collapseAdjacentVariantBorders.success,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"warning\",\n\t\t\tclassName: collapseAdjacentVariantBorders.warning,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"danger\",\n\t\t\tclassName: collapseAdjacentVariantBorders.danger,\n\t\t},\n\t\t{\n\t\t\tisIconOnly: true,\n\t\t\tsize: \"sm\",\n\t\t\tclass: \"min-w-8 w-8 h-8\",\n\t\t},\n\t\t{\n\t\t\tisIconOnly: true,\n\t\t\tsize: \"md\",\n\t\t\tclass: \"min-w-10 w-10 h-10\",\n\t\t},\n\t\t{\n\t\t\tisIconOnly: true,\n\t\t\tsize: \"lg\",\n\t\t\tclass: \"min-w-12 w-12 h-12\",\n\t\t},\n\t\t// variant / hover\n\t\t{\n\t\t\tvariant: [\"solid\", \"faded\", \"flat\", \"bordered\", \"shadow\"],\n\t\t\tclass: \"hover:opacity-80\",\n\t\t},\n\t],\n});\n\nexport type ButtonVariantProps = VariantProps<typeof button>;\n\nexport { button };\n","import { dataAttr, useDOMRef, type ReactRef } from \"@/functions\";\nimport { button, type ButtonVariantProps } from \"@/theme/color/button\";\nimport type { SlotsToClasses } from \"@/types\";\nimport clsx from \"clsx\";\nimport { isValidElement, cloneElement, useMemo, useCallback, useId } from \"react\";\n\nimport { Slot } from \"@radix-ui/react-slot\";\nimport type { ReactNode, MouseEventHandler, HTMLAttributes } from \"react\";\nimport type { RippleProps } from \"../ripple/ripple\";\nimport { useRipple } from \"../ripple/use-ripple\";\n\nexport interface UseButtonProps extends ButtonVariantProps, Omit<HTMLAttributes<HTMLElement>, keyof ButtonVariantProps> {\n\tref?: ReactRef<HTMLButtonElement | null>;\n\tid?: string;\n\tclassNames?: SlotsToClasses<ReturnType<typeof button>>;\n\tclassName?: string;\n\tasChild?: boolean;\n\tchildren?: ReactNode;\n\tisIconOnly?: boolean;\n\tisLoading?: boolean;\n\tdisabled?: boolean;\n\tstartContent?: ReactNode;\n\tendContent?: ReactNode;\n\tspinner?: ReactNode;\n\tspinnerPlacement?: \"start\" | \"end\";\n type?: \"button\" | \"submit\" | \"reset\";\n}\n\nexport function useButton(props: UseButtonProps) {\n\tconst {\n\t\tid,\n\t\tclassNames,\n\t\tclassName,\n\t\tasChild,\n\t\tchildren,\n\t\tisLoading = false,\n\t\tdisabled = false,\n\t\tisIconOnly = false,\n\t\tonClick,\n\t\tstartContent: startContentProp,\n\t\tendContent: endContentProp,\n\t\tspinner = null,\n\t\tspinnerPlacement = \"start\",\n type = \"button\",\n\t\t...rest\n\t} = props;\n\n\tconst domRef = useDOMRef(props.ref);\n\tconst buttonId = useId();\n\tconst resolvedId = id || buttonId;\n\n\tconst { onPress: onRipplePressHandler, onClear: onClearRipple, ripples } = useRipple();\n\n\tconst styles = useMemo(\n\t\t() =>\n\t\t\tbutton({\n\t\t\t\tsize: props.size,\n\t\t\t\tcolor: props.color,\n\t\t\t\tvariant: props.variant,\n\t\t\t\tradius: props.radius,\n\t\t\t\tfullWidth: props.fullWidth,\n\t\t\t\tisDisabled: disabled || isLoading,\n\t\t\t\tdisableAnimation: props.disableAnimation,\n\t\t\t\tisIconOnly: isIconOnly,\n\t\t\t\tisInGroup: props.isInGroup,\n\t\t\t\tclassName,\n\t\t\t}),\n\t\t[props, className, disabled, isLoading, isIconOnly],\n\t);\n\n\tconst handleClick: MouseEventHandler<HTMLElement> = useCallback(\n\t\t(e) => {\n\t\t\tif (disabled) {\n\t\t\t\te.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonClick?.(e);\n\t\t},\n\t\t[onClick, disabled],\n\t);\n\n\tconst getIconClone = (icon: ReactNode) =>\n\t\tisValidElement(icon)\n\t\t\t? cloneElement(icon, {\n\t\t\t\t\t// \"aria-hidden\": true,\n\t\t\t\t\t// \"focusable\": false,\n\t\t\t })\n\t\t\t: null;\n\n\tconst startContent = getIconClone(startContentProp);\n\tconst endContent = getIconClone(endContentProp);\n\n\tconst handlePointerDown = (e: React.PointerEvent<HTMLButtonElement>) => {\n\t\tconst rect = e.currentTarget.getBoundingClientRect();\n\t\tconst customEvent = {\n\t\t\ttarget: e.currentTarget,\n\t\t\tx: e.clientX - rect.left,\n\t\t\ty: e.clientY - rect.top,\n\t\t};\n\n\t\tonRipplePressHandler(customEvent);\n\t};\n\n\tconst getButtonProps = () => ({\n\t\t\"className\": clsx(styles, classNames?.base),\n\t\t\"data-disabled\": dataAttr(disabled),\n\t\t\"data-loading\": dataAttr(isLoading),\n\t\t\"onClick\": handleClick,\n\t\t\"onPointerDown\": handlePointerDown,\n\t\t\"data-slot\": \"button\",\n\t\t\"aria-disabled\": disabled,\n\t\t\"id\": resolvedId,\n \"type\": type,\n\t\t...rest,\n\t});\n\n\tconst getRippleProps = useCallback<() => RippleProps>(() => ({ ripples, onClear: onClearRipple }), [ripples, onClearRipple]);\n\n\tconst Component = asChild ? Slot : \"button\";\n\n\treturn {\n\t\tdomRef,\n\t\tisIconOnly,\n\t\tComponent,\n\t\tchildren,\n\t\tisLoading,\n\t\tspinner,\n\t\tspinnerPlacement,\n\t\tstartContent,\n\t\tendContent,\n\t\tgetButtonProps,\n\t\tgetRippleProps,\n\t};\n}\n\nexport type UseButtonReturn = ReturnType<typeof useButton>;\n","const Spinner = () => {\n\treturn (\n\t\t<div aria-label=\"Loading\" className=\"relative inline-flex flex-col gap-2 items-center justify-center\">\n\t\t\t<div className=\"relative flex w-5 h-5\">\n\t\t\t\t<i className=\"absolute w-full h-full rounded-full border-2 border-b-current animate-spinner-ease-spin border-solid border-t-transparent border-l-transparent border-r-transparent\" />\n\t\t\t\t<i className=\"absolute w-full h-full rounded-full border-2 border-b-current opacity-75 animate-spinner-linear-spin border-dotted border-t-transparent border-l-transparent border-r-transparent\" />\n\t\t\t</div>\n\t\t</div>\n\t);\n};\nexport default Spinner;\n","import { forwardRef, useMemo } from \"react\";\nimport { useButton, type UseButtonProps } from \"./use-button\";\nimport Ripple from \"../ripple/ripple\";\nimport Spinner from \"./spinner\";\n\nexport interface ButtonProps extends UseButtonProps {}\n\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>((props, ref) => {\n\tconst {\n\t\tComponent,\n\t\tdomRef,\n\t\tchildren,\n\t\tisIconOnly,\n\t\tisLoading,\n\t\tspinner,\n\t\tspinnerPlacement,\n\t\tstartContent,\n\t\tendContent,\n\t\tgetButtonProps,\n\t\tgetRippleProps,\n\t} = useButton({\n\t\t...props,\n\t\tref,\n\t});\n\n\tconst fallbackSpinner = useMemo(() => <Spinner />, []);\n\tconst finalSpinner = spinner ?? fallbackSpinner;\n\n\treturn (\n\t\t<Component {...getButtonProps()} ref={domRef}>\n\t\t\t{startContent}\n\t\t\t{isLoading && spinnerPlacement === \"start\" && finalSpinner}\n\t\t\t{isLoading && isIconOnly ? null : children}\n\t\t\t{isLoading && spinnerPlacement === \"end\" && finalSpinner}\n\t\t\t{endContent}\n\t\t\t<Ripple {...getRippleProps()} />\n\t\t</Component>\n\t);\n});\n\nButton.displayName = \"Custom.Button\";\n\nexport default Button;\n"],"names":["button","tv","dataFocusVisibleClasses","colorVariants","collapseAdjacentVariantBorders","useButton","props","id","classNames","className","asChild","children","isLoading","disabled","isIconOnly","onClick","startContentProp","endContentProp","spinner","spinnerPlacement","type","rest","domRef","useDOMRef","buttonId","useId","resolvedId","onRipplePressHandler","onClearRipple","ripples","useRipple","styles","useMemo","handleClick","useCallback","getIconClone","icon","isValidElement","cloneElement","startContent","endContent","handlePointerDown","rect","customEvent","getButtonProps","clsx","dataAttr","getRippleProps","Slot","Spinner","jsx","jsxs","Button","forwardRef","ref","Component","fallbackSpinner","finalSpinner","Ripple"],"mappings":";;;;;;;;;;AAqBA,MAAMA,IAASC,EAAG;AAAA,EACjB,MAAM;AAAA,IACL;AAAA,IACM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IAEA,GAAGC;AAAA,EACJ;AAAA,EACA,UAAU;AAAA,IACT,SAAS;AAAA,MACR,OAAO;AAAA,MACP,UAAU;AAAA,MACV,OAAO;AAAA,MACP,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,IACR;AAAA,IACA,MAAM;AAAA,MACL,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACL;AAAA,IACA,OAAO;AAAA,MACN,SAAS;AAAA,MACT,SAAS;AAAA,MACT,WAAW;AAAA,MACX,SAAS;AAAA,MACT,SAAS;AAAA,MACT,QAAQ;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,MACP,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,MAAM;AAAA,IACP;AAAA,IACA,WAAW;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,YAAY;AAAA,MACX,MAAM;AAAA,IACP;AAAA,IACA,WAAW;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,YAAY;AAAA,MACX,MAAM;AAAA,MACN,OAAO;AAAA,IACR;AAAA,IACA,kBAAkB;AAAA,MACjB,MAAM;AAAA,MACN,OAAO;AAAA,IAAA;AAAA,EAET;AAAA,EACA,iBAAiB;AAAA,IAChB,MAAM;AAAA,IACN,SAAS;AAAA,IACT,OAAO;AAAA,IACP,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,WAAW;AAAA,EACZ;AAAA,EACA,kBAAkB;AAAA;AAAA,IAEjB;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOC,EAAc,MAAM;AAAA,IAC5B;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,MAAM;AAAA,IAC5B;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,MAAM;AAAA,IAC5B;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,MAAM;AAAA,IAC5B;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,MAAM;AAAA,IAC5B;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,MAAM;AAAA,IAC5B;AAAA;AAAA,IAEA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,OAAO;AAAA,IAC7B;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,OAAO;AAAA,IAC7B;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,OAAO;AAAA,IAC7B;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,OAAO;AAAA,IAC7B;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,OAAO;AAAA,IAC7B;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,OAAO;AAAA,IAC7B;AAAA;AAAA,IAEA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,SAAS;AAAA,IAC/B;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,SAAS;AAAA,IAC/B;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,SAAS;AAAA,IAC/B;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,SAAS;AAAA,IAC/B;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,SAAS;AAAA,IAC/B;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,SAAS;AAAA,IAC/B;AAAA;AAAA,IAEA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,KAAK;AAAA,IAC3B;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,KAAK;AAAA,IAC3B;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,KAAK;AAAA,IAC3B;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,KAAK;AAAA,IAC3B;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,KAAK;AAAA,IAC3B;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,KAAK;AAAA,IAC3B;AAAA;AAAA,IAEA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,MAAM;AAAA,IAC5B;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,MAAM;AAAA,IAC5B;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,MAAM;AAAA,IAC5B;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,MAAM;AAAA,IAC5B;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,MAAM;AAAA,IAC5B;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAOA,EAAc,MAAM;AAAA,IAC5B;AAAA;AAAA,IAEA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAO,CAACA,EAAc,MAAM,SAAS,iCAAiC;AAAA,IACvE;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAO,CAACA,EAAc,MAAM,SAAS,iCAAiC;AAAA,IACvE;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAO,CAACA,EAAc,MAAM,WAAW,mCAAmC;AAAA,IAC3E;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAO,CAACA,EAAc,MAAM,SAAS,iCAAiC;AAAA,IACvE;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAO,CAACA,EAAc,MAAM,SAAS,iCAAiC;AAAA,IACvE;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAO,CAACA,EAAc,MAAM,QAAQ,gCAAgC;AAAA,IACrE;AAAA;AAAA,IAEA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAO,CAACA,EAAc,MAAM,SAAS,+BAA+B;AAAA,IACrE;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAO,CAACA,EAAc,MAAM,SAAS,0EAA0E;AAAA,IAChH;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAO,CAACA,EAAc,MAAM,WAAW,8EAA8E;AAAA,IACtH;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAO,CAACA,EAAc,MAAM,SAAS,0EAA0E;AAAA,IAChH;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAO,CAACA,EAAc,MAAM,SAAS,0EAA0E;AAAA,IAChH;AAAA,IACA;AAAA,MACC,SAAS;AAAA,MACT,OAAO;AAAA,MACP,OAAO,CAACA,EAAc,MAAM,QAAQ,wEAAwE;AAAA,IAC7G;AAAA;AAAA,IAEA;AAAA,MACC,WAAW;AAAA,MACX,OAAO;AAAA,IACR;AAAA,IACA;AAAA,MACC,WAAW;AAAA,MACX,MAAM;AAAA,MACN,OAAO;AAAA,IACR;AAAA,IACA;AAAA,MACC,WAAW;AAAA,MACX,MAAM;AAAA,MACN,OAAO;AAAA,IACR;AAAA,IACA;AAAA,MACC,WAAW;AAAA,MACX,MAAM;AAAA,MACN,OAAO;AAAA,IACR;AAAA,IACA;AAAA,MACC,WAAW;AAAA,MACX,WAAW;AAAA,MACX,OAAO;AAAA,IACR;AAAA;AAAA,IAEA;AAAA,MACC,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,OAAO;AAAA,IACR;AAAA,IACA;AAAA,MACC,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,OAAO;AAAA,IACR;AAAA,IACA;AAAA,MACC,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,OAAO;AAAA,IACR;AAAA,IACA;AAAA,MACC,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,OAAO;AAAA,IACR;AAAA,IACA;AAAA,MACC,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,OAAO;AAAA,IACR;AAAA;AAAA,IAEA;AAAA,MACC,WAAW;AAAA,MACX,SAAS,CAAC,SAAS,UAAU;AAAA,MAC7B,OAAO;AAAA,MACP,WAAWC,EAA+B;AAAA,IAC3C;AAAA,IACA;AAAA,MACC,WAAW;AAAA,MACX,SAAS,CAAC,SAAS,UAAU;AAAA,MAC7B,OAAO;AAAA,MACP,WAAWA,EAA+B;AAAA,IAC3C;AAAA,IACA;AAAA,MACC,WAAW;AAAA,MACX,SAAS,CAAC,SAAS,UAAU;AAAA,MAC7B,OAAO;AAAA,MACP,WAAWA,EAA+B;AAAA,IAC3C;AAAA,IACA;AAAA,MACC,WAAW;AAAA,MACX,SAAS,CAAC,SAAS,UAAU;AAAA,MAC7B,OAAO;AAAA,MACP,WAAWA,EAA+B;AAAA,IAC3C;AAAA,IACA;AAAA,MACC,WAAW;AAAA,MACX,SAAS,CAAC,SAAS,UAAU;AAAA,MAC7B,OAAO;AAAA,MACP,WAAWA,EAA+B;AAAA,IAC3C;AAAA,IACA;AAAA,MACC,WAAW;AAAA,MACX,SAAS,CAAC,SAAS,UAAU;AAAA,MAC7B,OAAO;AAAA,MACP,WAAWA,EAA+B;AAAA,IAC3C;AAAA,IACA;AAAA,MACC,YAAY;AAAA,MACZ,MAAM;AAAA,MACN,OAAO;AAAA,IACR;AAAA,IACA;AAAA,MACC,YAAY;AAAA,MACZ,MAAM;AAAA,MACN,OAAO;AAAA,IACR;AAAA,IACA;AAAA,MACC,YAAY;AAAA,MACZ,MAAM;AAAA,MACN,OAAO;AAAA,IACR;AAAA;AAAA,IAEA;AAAA,MACC,SAAS,CAAC,SAAS,SAAS,QAAQ,YAAY,QAAQ;AAAA,MACxD,OAAO;AAAA,IAAA;AAAA,EACR;AAEF,CAAC;AC/YM,SAASC,EAAUC,GAAuB;AAC1C,QAAA;AAAA,IACL,IAAAC;AAAA,IACA,YAAAC;AAAA,IACA,WAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC,IAAY;AAAA,IACZ,UAAAC,IAAW;AAAA,IACX,YAAAC,IAAa;AAAA,IACb,SAAAC;AAAA,IACA,cAAcC;AAAA,IACd,YAAYC;AAAA,IACZ,SAAAC,IAAU;AAAA,IACV,kBAAAC,IAAmB;AAAA,IACb,MAAAC,IAAO;AAAA,IACb,GAAGC;AAAA,EAAA,IACAf,GAEEgB,IAASC,EAAUjB,EAAM,GAAG,GAC5BkB,IAAWC,EAAM,GACjBC,IAAanB,KAAMiB,GAEnB,EAAE,SAASG,GAAsB,SAASC,GAAe,SAAAC,MAAYC,EAAU,GAE/EC,IAASC;AAAA,IACd,MACChC,EAAO;AAAA,MACN,MAAMM,EAAM;AAAA,MACZ,OAAOA,EAAM;AAAA,MACb,SAASA,EAAM;AAAA,MACf,QAAQA,EAAM;AAAA,MACd,WAAWA,EAAM;AAAA,MACjB,YAAYO,KAAYD;AAAA,MACxB,kBAAkBN,EAAM;AAAA,MACxB,YAAAQ;AAAA,MACA,WAAWR,EAAM;AAAA,MACjB,WAAAG;AAAA,IAAA,CACA;AAAA,IACF,CAACH,GAAOG,GAAWI,GAAUD,GAAWE,CAAU;AAAA,EACnD,GAEMmB,IAA8CC;AAAA,IACnD,CAAC,MAAM;AACN,UAAIrB,GAAU;AACb,UAAE,eAAe;AACjB;AAAA,MAAA;AAED,MAAAE,KAAA,QAAAA,EAAU;AAAA,IACX;AAAA,IACA,CAACA,GAASF,CAAQ;AAAA,EACnB,GAEMsB,IAAe,CAACC,MACrBC,EAAeD,CAAI,IAChBE,EAAaF,GAAM;AAAA;AAAA;AAAA,EAGlB,CAAA,IACD,MAEEG,IAAeJ,EAAanB,CAAgB,GAC5CwB,IAAaL,EAAalB,CAAc,GAExCwB,IAAoB,CAAC,MAA6C;AACjE,UAAAC,IAAO,EAAE,cAAc,sBAAsB,GAC7CC,IAAc;AAAA,MACnB,QAAQ,EAAE;AAAA,MACV,GAAG,EAAE,UAAUD,EAAK;AAAA,MACpB,GAAG,EAAE,UAAUA,EAAK;AAAA,IACrB;AAEA,IAAAf,EAAqBgB,CAAW;AAAA,EACjC,GAEMC,IAAiB,OAAO;AAAA,IAC7B,WAAaC,EAAKd,GAAQvB,KAAA,gBAAAA,EAAY,IAAI;AAAA,IAC1C,iBAAiBsC,EAASjC,CAAQ;AAAA,IAClC,gBAAgBiC,EAASlC,CAAS;AAAA,IAClC,SAAWqB;AAAA,IACX,eAAiBQ;AAAA,IACjB,aAAa;AAAA,IACb,iBAAiB5B;AAAA,IACjB,IAAMa;AAAA,IACA,MAAQN;AAAA,IACd,GAAGC;AAAA,EAAA,IAGE0B,IAAiBb,EAA+B,OAAO,EAAE,SAAAL,GAAS,SAASD,EAAA,IAAkB,CAACC,GAASD,CAAa,CAAC;AAIpH,SAAA;AAAA,IACN,QAAAN;AAAA,IACA,YAAAR;AAAA,IACA,WALiBJ,IAAUsC,IAAO;AAAA,IAMlC,UAAArC;AAAA,IACA,WAAAC;AAAA,IACA,SAAAM;AAAA,IACA,kBAAAC;AAAA,IACA,cAAAoB;AAAA,IACA,YAAAC;AAAA,IACA,gBAAAI;AAAA,IACA,gBAAAG;AAAA,EACD;AACD;ACrIA,MAAME,IAAU,MAEdC,gBAAAA,EAAA,IAAC,SAAI,cAAW,WAAU,WAAU,mEACnC,UAAAC,gBAAAA,EAAA,KAAC,OAAI,EAAA,WAAU,yBACd,UAAA;AAAA,EAACD,gBAAAA,EAAAA,IAAA,KAAA,EAAE,WAAU,sKAAsK,CAAA;AAAA,EACnLA,gBAAAA,EAAAA,IAAC,KAAE,EAAA,WAAU,oLAAoL,CAAA;AAAA,EAAA,CAClM,EACD,CAAA,GCAIE,IAASC,EAA2C,CAAC/C,GAAOgD,MAAQ;AACnE,QAAA;AAAA,IACL,WAAAC;AAAA,IACA,QAAAjC;AAAA,IACA,UAAAX;AAAA,IACA,YAAAG;AAAA,IACA,WAAAF;AAAA,IACA,SAAAM;AAAA,IACA,kBAAAC;AAAA,IACA,cAAAoB;AAAA,IACA,YAAAC;AAAA,IACA,gBAAAI;AAAA,IACA,gBAAAG;AAAA,MACG1C,EAAU;AAAA,IACb,GAAGC;AAAA,IACH,KAAAgD;AAAA,EAAA,CACA,GAEKE,IAAkBxB,EAAQ,4BAAOiB,GAAQ,CAAA,CAAA,GAAI,EAAE,GAC/CQ,IAAevC,KAAWsC;AAEhC,gCACED,GAAW,EAAA,GAAGX,EAAe,GAAG,KAAKtB,GACpC,UAAA;AAAA,IAAAiB;AAAA,IACA3B,KAAaO,MAAqB,WAAWsC;AAAA,IAC7C7C,KAAaE,IAAa,OAAOH;AAAA,IACjCC,KAAaO,MAAqB,SAASsC;AAAA,IAC3CjB;AAAA,IACAU,gBAAAA,EAAAA,IAAAQ,GAAA,EAAQ,GAAGX,IAAkB,CAAA;AAAA,EAAA,GAC/B;AAEF,CAAC;AAEDK,EAAO,cAAc;"}
|
|
1
|
+
{"version":3,"file":"button-CT1gzAt1.js","sources":["../../src/theme/color/button.ts","../../src/components/button/use-button.ts","../../src/components/button/spinner.tsx","../../src/components/button/button.tsx"],"sourcesContent":["import { tv } from \"@/lib/tv\";\nimport type { VariantProps } from \"tailwind-variants\";\nimport { collapseAdjacentVariantBorders, dataFocusVisibleClasses } from \"../classes\";\nimport { colorVariants } from \"../variants\";\n\n/**\n * Button wrapper **Tailwind Variants** component\n *\n * const classNames = button({...})\n *\n * @example\n * <button\n * className={classNames())}\n * data-pressed={true/false}\n * data-hover={true/false}\n * data-focus={true/false}\n * data-focus-visible={true/false}\n * >\n * Button\n * </button>\n */\nconst button = tv({\n\tbase: [\n\t\t\"z-0\",\n \"cursor-pointer\",\n\t\t\"group\",\n\t\t\"relative\",\n\t\t\"inline-flex\",\n\t\t\"items-center\",\n\t\t\"justify-center\",\n\t\t\"box-border\",\n\t\t\"appearance-none\",\n\t\t\"outline-none\",\n\t\t\"select-none\",\n\t\t\"whitespace-nowrap\",\n\t\t\"min-w-max\",\n\t\t\"font-medium\",\n\t\t\"subpixel-antialiased\",\n\t\t\"overflow-hidden\",\n\t\t\"tap-highlight-transparent\",\n\t\t\"transform-gpu data-[pressed=true]:scale-[0.97]\",\n\t\t// focus ring\n\t\t...dataFocusVisibleClasses,\n\t],\n\tvariants: {\n\t\tvariant: {\n\t\t\tsolid: \"\",\n\t\t\tbordered: \"border-[2px] bg-transparent\",\n\t\t\tlight: \"bg-transparent\",\n\t\t\tflat: \"\",\n\t\t\tfaded: \"border-[2px]\",\n\t\t\tshadow: \"\",\n\t\t\tghost: \"border-[2px] bg-transparent\",\n\t\t},\n\t\tsize: {\n\t\t\tsm: \"px-3 min-w-16 h-8 text-tiny gap-2 rounded-sm\",\n\t\t\tmd: \"px-4 min-w-20 h-10 text-sm gap-2 rounded-md\",\n\t\t\tlg: \"px-6 min-w-24 h-12 text-md gap-3 rounded-lg\",\n\t\t},\n\t\tcolor: {\n\t\t\tdefault: \"\",\n\t\t\tprimary: \"\",\n\t\t\tsecondary: \"\",\n\t\t\tsuccess: \"\",\n\t\t\twarning: \"\",\n\t\t\tdanger: \"\",\n\t\t},\n\t\tradius: {\n\t\t\tnone: \"rounded-none\",\n\t\t\tsm: \"rounded-sm\",\n\t\t\tmd: \"rounded-md\",\n\t\t\tlg: \"rounded-lg\",\n\t\t\tfull: \"rounded-full\",\n\t\t},\n\t\tfullWidth: {\n\t\t\ttrue: \"w-full\",\n\t\t},\n\t\tisDisabled: {\n\t\t\ttrue: \"opacity-80 pointer-events-none\",\n\t\t},\n\t\tisInGroup: {\n\t\t\ttrue: \"[&:not(:first-child):not(:last-child)]:rounded-none\",\n\t\t},\n\t\tisIconOnly: {\n\t\t\ttrue: \"px-0 !gap-0\",\n\t\t\tfalse: \"[&>svg]:max-w-[theme(spacing.8)]\",\n\t\t},\n\t\tdisableAnimation: {\n\t\t\ttrue: \"!transition-none data-[pressed=true]:scale-100\",\n\t\t\tfalse: \"transition-transform-colors-opacity motion-reduce:transition-none\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t\tvariant: \"solid\",\n\t\tcolor: \"default\",\n\t\tfullWidth: false,\n\t\tisDisabled: false,\n\t\tisInGroup: false,\n\t},\n\tcompoundVariants: [\n\t\t// solid / color\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.solid.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.solid.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.solid.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.solid.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.solid.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"solid\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.solid.danger,\n\t\t},\n\t\t// shadow / color\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.shadow.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.shadow.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.shadow.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.shadow.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.shadow.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"shadow\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.shadow.danger,\n\t\t},\n\t\t// bordered / color\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.bordered.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.bordered.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.bordered.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.bordered.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.bordered.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"bordered\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.bordered.danger,\n\t\t},\n\t\t// flat / color\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.flat.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.flat.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.flat.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.flat.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.flat.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"flat\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.flat.danger,\n\t\t},\n\t\t// faded / color\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: colorVariants.faded.default,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: colorVariants.faded.primary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: colorVariants.faded.secondary,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: colorVariants.faded.success,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: colorVariants.faded.warning,\n\t\t},\n\t\t{\n\t\t\tvariant: \"faded\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: colorVariants.faded.danger,\n\t\t},\n\t\t// light / color\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: [colorVariants.light.default, \"data-[hover=true]:bg-default/40\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: [colorVariants.light.primary, \"data-[hover=true]:bg-primary/20\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: [colorVariants.light.secondary, \"data-[hover=true]:bg-secondary/20\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: [colorVariants.light.success, \"data-[hover=true]:bg-success/20\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: [colorVariants.light.warning, \"data-[hover=true]:bg-warning/20\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"light\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: [colorVariants.light.danger, \"data-[hover=true]:bg-danger/20\"],\n\t\t},\n\t\t// ghost / color\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"default\",\n\t\t\tclass: [colorVariants.ghost.default, \"data-[hover=true]:!bg-default\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"primary\",\n\t\t\tclass: [colorVariants.ghost.primary, \"data-[hover=true]:!bg-primary data-[hover=true]:!text-primary-foreground\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"secondary\",\n\t\t\tclass: [colorVariants.ghost.secondary, \"data-[hover=true]:!bg-secondary data-[hover=true]:!text-secondary-foreground\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"success\",\n\t\t\tclass: [colorVariants.ghost.success, \"data-[hover=true]:!bg-success data-[hover=true]:!text-success-foreground\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"warning\",\n\t\t\tclass: [colorVariants.ghost.warning, \"data-[hover=true]:!bg-warning data-[hover=true]:!text-warning-foreground\"],\n\t\t},\n\t\t{\n\t\t\tvariant: \"ghost\",\n\t\t\tcolor: \"danger\",\n\t\t\tclass: [colorVariants.ghost.danger, \"data-[hover=true]:!bg-danger data-[hover=true]:!text-danger-foreground\"],\n\t\t},\n\t\t// isInGroup / radius / size <-- radius not provided\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tclass: \"rounded-none first:rounded-s-medium last:rounded-e-medium\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tsize: \"sm\",\n\t\t\tclass: \"rounded-none first:rounded-s-small last:rounded-e-small\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tsize: \"md\",\n\t\t\tclass: \"rounded-none first:rounded-s-medium last:rounded-e-medium\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tsize: \"lg\",\n\t\t\tclass: \"rounded-none first:rounded-s-large last:rounded-e-large\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tisRounded: true,\n\t\t\tclass: \"rounded-none first:rounded-s-full last:rounded-e-full\",\n\t\t},\n\t\t// isInGroup / radius <-- radius provided\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"none\",\n\t\t\tclass: \"rounded-none first:rounded-s-none last:rounded-e-none\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"sm\",\n\t\t\tclass: \"rounded-none first:rounded-s-small last:rounded-e-small\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"md\",\n\t\t\tclass: \"rounded-none first:rounded-s-medium last:rounded-e-medium\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"lg\",\n\t\t\tclass: \"rounded-none first:rounded-s-large last:rounded-e-large\",\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tradius: \"full\",\n\t\t\tclass: \"rounded-none first:rounded-s-full last:rounded-e-full\",\n\t\t},\n\t\t// isInGroup / bordered / ghost\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"default\",\n\t\t\tclassName: collapseAdjacentVariantBorders.default,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"primary\",\n\t\t\tclassName: collapseAdjacentVariantBorders.primary,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"secondary\",\n\t\t\tclassName: collapseAdjacentVariantBorders.secondary,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"success\",\n\t\t\tclassName: collapseAdjacentVariantBorders.success,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"warning\",\n\t\t\tclassName: collapseAdjacentVariantBorders.warning,\n\t\t},\n\t\t{\n\t\t\tisInGroup: true,\n\t\t\tvariant: [\"ghost\", \"bordered\"],\n\t\t\tcolor: \"danger\",\n\t\t\tclassName: collapseAdjacentVariantBorders.danger,\n\t\t},\n\t\t{\n\t\t\tisIconOnly: true,\n\t\t\tsize: \"sm\",\n\t\t\tclass: \"min-w-8 w-8 h-8\",\n\t\t},\n\t\t{\n\t\t\tisIconOnly: true,\n\t\t\tsize: \"md\",\n\t\t\tclass: \"min-w-10 w-10 h-10\",\n\t\t},\n\t\t{\n\t\t\tisIconOnly: true,\n\t\t\tsize: \"lg\",\n\t\t\tclass: \"min-w-12 w-12 h-12\",\n\t\t},\n\t\t// variant / hover\n\t\t{\n\t\t\tvariant: [\"solid\", \"faded\", \"flat\", \"bordered\", \"shadow\"],\n\t\t\tclass: \"hover:opacity-80\",\n\t\t},\n\t],\n});\n\nexport type ButtonVariantProps = VariantProps<typeof button>;\n\nexport { button };\n","import { dataAttr, useDOMRef, type ReactRef } from \"@/functions\";\nimport { button, type ButtonVariantProps } from \"@/theme/color/button\";\nimport type { SlotsToClasses } from \"@/types\";\nimport clsx from \"clsx\";\nimport { isValidElement, cloneElement, useMemo, useCallback, useId } from \"react\";\n\nimport { Slot } from \"@radix-ui/react-slot\";\nimport type { ReactNode, MouseEventHandler, HTMLAttributes } from \"react\";\nimport type { RippleProps } from \"../ripple/ripple\";\nimport { useRipple } from \"../ripple/use-ripple\";\n\nexport interface UseButtonProps extends ButtonVariantProps, Omit<HTMLAttributes<HTMLElement>, keyof ButtonVariantProps> {\n\tref?: ReactRef<HTMLButtonElement | null>;\n\tid?: string;\n\tclassNames?: SlotsToClasses<ReturnType<typeof button>>;\n\tclassName?: string;\n\tasChild?: boolean;\n\tchildren?: ReactNode;\n\tisIconOnly?: boolean;\n\tisLoading?: boolean;\n\tdisabled?: boolean;\n\tstartContent?: ReactNode;\n\tendContent?: ReactNode;\n\tspinner?: ReactNode;\n\tspinnerPlacement?: \"start\" | \"end\";\n type?: \"button\" | \"submit\" | \"reset\";\n}\n\nexport function useButton(props: UseButtonProps) {\n\tconst {\n\t\tid,\n\t\tclassNames,\n\t\tclassName,\n\t\tasChild,\n\t\tchildren,\n\t\tisLoading = false,\n\t\tdisabled = false,\n\t\tisIconOnly = false,\n\t\tonClick,\n\t\tstartContent: startContentProp,\n\t\tendContent: endContentProp,\n\t\tspinner = null,\n\t\tspinnerPlacement = \"start\",\n type = \"button\",\n\t\t...rest\n\t} = props;\n\n\tconst domRef = useDOMRef(props.ref);\n\tconst buttonId = useId();\n\tconst resolvedId = id || buttonId;\n\n\tconst { onPress: onRipplePressHandler, onClear: onClearRipple, ripples } = useRipple();\n\n\tconst styles = useMemo(\n\t\t() =>\n\t\t\tbutton({\n\t\t\t\tsize: props.size,\n\t\t\t\tcolor: props.color,\n\t\t\t\tvariant: props.variant,\n\t\t\t\tradius: props.radius,\n\t\t\t\tfullWidth: props.fullWidth,\n\t\t\t\tisDisabled: disabled || isLoading,\n\t\t\t\tdisableAnimation: props.disableAnimation,\n\t\t\t\tisIconOnly: isIconOnly,\n\t\t\t\tisInGroup: props.isInGroup,\n\t\t\t\tclassName,\n\t\t\t}),\n\t\t[props, className, disabled, isLoading, isIconOnly],\n\t);\n\n\tconst handleClick: MouseEventHandler<HTMLElement> = useCallback(\n\t\t(e) => {\n\t\t\tif (disabled) {\n\t\t\t\te.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonClick?.(e);\n\t\t},\n\t\t[onClick, disabled],\n\t);\n\n\tconst getIconClone = (icon: ReactNode) =>\n\t\tisValidElement(icon)\n\t\t\t? cloneElement(icon, {\n\t\t\t\t\t// \"aria-hidden\": true,\n\t\t\t\t\t// \"focusable\": false,\n\t\t\t })\n\t\t\t: null;\n\n\tconst startContent = getIconClone(startContentProp);\n\tconst endContent = getIconClone(endContentProp);\n\n\tconst handlePointerDown = (e: React.PointerEvent<HTMLButtonElement>) => {\n\t\tconst rect = e.currentTarget.getBoundingClientRect();\n\t\tconst customEvent = {\n\t\t\ttarget: e.currentTarget,\n\t\t\tx: e.clientX - rect.left,\n\t\t\ty: e.clientY - rect.top,\n\t\t};\n\n\t\tonRipplePressHandler(customEvent);\n\t};\n\n\tconst getButtonProps = () => ({\n\t\t\"className\": clsx(styles, classNames?.base),\n\t\t\"data-disabled\": dataAttr(disabled),\n\t\t\"data-loading\": dataAttr(isLoading),\n\t\t\"onClick\": handleClick,\n\t\t\"onPointerDown\": handlePointerDown,\n\t\t\"data-slot\": \"button\",\n\t\t\"aria-disabled\": disabled,\n\t\t\"id\": resolvedId,\n \"type\": type,\n\t\t...rest,\n\t});\n\n\tconst getRippleProps = useCallback<() => RippleProps>(() => ({ ripples, onClear: onClearRipple }), [ripples, onClearRipple]);\n\n\tconst Component = asChild ? Slot : \"button\";\n\n\treturn {\n\t\tdomRef,\n\t\tisIconOnly,\n\t\tComponent,\n\t\tchildren,\n\t\tisLoading,\n\t\tspinner,\n\t\tspinnerPlacement,\n\t\tstartContent,\n\t\tendContent,\n\t\tgetButtonProps,\n\t\tgetRippleProps,\n\t};\n}\n\nexport type UseButtonReturn = ReturnType<typeof useButton>;\n","const Spinner = () => {\n\treturn (\n\t\t<div aria-label=\"Loading\" className=\"relative inline-flex flex-col gap-2 items-center justify-center\">\n\t\t\t<div className=\"relative flex w-5 h-5\">\n\t\t\t\t<i className=\"absolute w-full h-full rounded-full border-2 border-b-current animate-spinner-ease-spin border-solid border-t-transparent border-l-transparent border-r-transparent\" />\n\t\t\t\t<i className=\"absolute w-full h-full rounded-full border-2 border-b-current opacity-75 animate-spinner-linear-spin border-dotted border-t-transparent border-l-transparent border-r-transparent\" />\n\t\t\t</div>\n\t\t</div>\n\t);\n};\nexport default Spinner;\n","import { forwardRef, useMemo } from \"react\";\nimport { useButton, type UseButtonProps } from \"./use-button\";\nimport Ripple from \"../ripple/ripple\";\nimport Spinner from \"./spinner\";\n\nexport interface ButtonProps extends UseButtonProps {}\n\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>((props, ref) => {\n\tconst {\n\t\tComponent,\n\t\tdomRef,\n\t\tchildren,\n\t\tisIconOnly,\n\t\tisLoading,\n\t\tspinner,\n\t\tspinnerPlacement,\n\t\tstartContent,\n\t\tendContent,\n\t\tgetButtonProps,\n\t\tgetRippleProps,\n\t} = useButton({\n\t\t...props,\n\t\tref,\n\t});\n\n\tconst fallbackSpinner = useMemo(() => <Spinner />, []);\n\tconst finalSpinner = spinner ?? fallbackSpinner;\n\n\treturn (\n\t\t<Component {...getButtonProps()} ref={domRef}>\n\t\t\t{startContent}\n\t\t\t{isLoading && spinnerPlacement === \"start\" && finalSpinner}\n\t\t\t{isLoading && isIconOnly ? null : children}\n\t\t\t{isLoading && spinnerPlacement === \"end\" && finalSpinner}\n\t\t\t{endContent}\n\t\t\t<Ripple {...getRippleProps()} />\n\t\t</Component>\n\t);\n});\n\nButton.displayName = \"Custom.Button\";\n\nexport default Button;\n"],"names":["button","tv","dataFocusVisibleClasses","colorVariants","collapseAdjacentVariantBorders","useButton","props","id","classNames","className","asChild","children","isLoading","disabled","isIconOnly","onClick","startContentProp","endContentProp","spinner","spinnerPlacement","type","rest","domRef","useDOMRef","buttonId","useId","resolvedId","onRipplePressHandler","onClearRipple","ripples","useRipple","styles","useMemo","handleClick","useCallback","getIconClone","icon","isValidElement","cloneElement","startContent","endContent","handlePointerDown","rect","customEvent","getButtonProps","clsx","dataAttr","getRippleProps","Slot","Spinner","jsx","jsxs","Button","forwardRef","ref","Component","fallbackSpinner","finalSpinner","Ripple"],"mappings":"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"}
|
|
@@ -9,10 +9,10 @@ import { c as Be } from "./clsx-OuTLNxxd.js";
|
|
|
9
9
|
import { v as qo } from "./pattern-CdQavADx.js";
|
|
10
10
|
import "./assertion-CrT8p68K.js";
|
|
11
11
|
import { L as Zn } from "./label-error-DwHE_f3w.js";
|
|
12
|
-
import { m as Lt } from "./proxy-
|
|
12
|
+
import { m as Lt } from "./proxy-gd0H-9gQ.js";
|
|
13
13
|
import { a as it, u as ie } from "./index-ctnzfHek.js";
|
|
14
|
-
import { B as Zo } from "./button-
|
|
15
|
-
import { A as Jo } from "./ripple-
|
|
14
|
+
import { B as Zo } from "./button-CT1gzAt1.js";
|
|
15
|
+
import { A as Jo } from "./ripple-DV2Gx-M9.js";
|
|
16
16
|
import * as an from "react-dom";
|
|
17
17
|
import Qo from "react-dom";
|
|
18
18
|
import { u as ea, o as ta, s as na, f as ra, b as oa, a as aa, h as sa, l as ia } from "./floating-ui.react-dom-CryFonyk.js";
|
|
@@ -5076,4 +5076,4 @@ export {
|
|
|
5076
5076
|
ti as y,
|
|
5077
5077
|
Ai as z
|
|
5078
5078
|
};
|
|
5079
|
-
//# sourceMappingURL=index-
|
|
5079
|
+
//# sourceMappingURL=index-16iPHlf0.js.map
|