@andrilla/mado-ui 1.0.5 → 1.0.7
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/client/components/index.js +76 -135
- package/dist/client/graphics/index.js +75 -3
- package/dist/client.js +138 -138
- package/dist/components/button.d.ts +0 -59
- package/dist/components/index.js +76 -135
- package/dist/components/link.d.ts +0 -71
- package/dist/css/base.css +49 -0
- package/dist/css/index.css +6 -0
- package/dist/css/theme.css +66 -0
- package/dist/css/utilities.css +329 -0
- package/dist/graphics/index.js +75 -3
- package/dist/index.js +138 -138
- package/dist/utils/custom-tailwind-merge.d.ts +2 -2
- package/dist/utils/index.js +137 -6
- package/package.json +2 -1
|
@@ -8,7 +8,19 @@ import * as ReactDOM from "react-dom";
|
|
|
8
8
|
import { createPortal } from "react-dom";
|
|
9
9
|
|
|
10
10
|
//#region src/utils/custom-tailwind-merge.ts
|
|
11
|
-
const
|
|
11
|
+
const isInteger = (classPart) => /^\d+$/.test(classPart);
|
|
12
|
+
const isFloat = (classPart) => /^\d+\.\d+$/.test(classPart);
|
|
13
|
+
const isArbitraryValue = (classPart) => /^\[.+\]$/.test(classPart);
|
|
14
|
+
const cornerShapeList = [
|
|
15
|
+
"bevel",
|
|
16
|
+
"notch",
|
|
17
|
+
"round",
|
|
18
|
+
"scoop",
|
|
19
|
+
"square",
|
|
20
|
+
"squircle",
|
|
21
|
+
"infinity",
|
|
22
|
+
isArbitraryValue
|
|
23
|
+
];
|
|
12
24
|
const twMerge = extendTailwindMerge({ extend: { classGroups: {
|
|
13
25
|
animate: [{ animate: ["fade-in", "wave"] }],
|
|
14
26
|
"animation-direction": [{ "animation-direction": [
|
|
@@ -23,11 +35,71 @@ const twMerge = extendTailwindMerge({ extend: { classGroups: {
|
|
|
23
35
|
"backwards",
|
|
24
36
|
"both"
|
|
25
37
|
] }],
|
|
26
|
-
"animation-iteration": [{ "animation-iteration": [
|
|
38
|
+
"animation-iteration": [{ "animation-iteration": ["infinite", isInteger] }],
|
|
27
39
|
"animation-state": [{ "animation-state": ["running", "paused"] }],
|
|
40
|
+
corner: [{
|
|
41
|
+
corner: cornerShapeList,
|
|
42
|
+
"corner-super": [isFloat, isInteger],
|
|
43
|
+
"corner-s": cornerShapeList,
|
|
44
|
+
"corner-s-super": [isFloat, isInteger],
|
|
45
|
+
"corner-e": cornerShapeList,
|
|
46
|
+
"corner-e-super": [isFloat, isInteger],
|
|
47
|
+
"corner-t": cornerShapeList,
|
|
48
|
+
"corner-t-super": [isFloat, isInteger],
|
|
49
|
+
"corner-r": cornerShapeList,
|
|
50
|
+
"corner-r-super": [isFloat, isInteger],
|
|
51
|
+
"corner-b": cornerShapeList,
|
|
52
|
+
"corner-b-super": [isFloat, isInteger],
|
|
53
|
+
"corner-l": cornerShapeList,
|
|
54
|
+
"corner-l-super": [isFloat, isInteger],
|
|
55
|
+
"corner-ss": cornerShapeList,
|
|
56
|
+
"corner-ss-super": [isFloat, isInteger],
|
|
57
|
+
"corner-se": cornerShapeList,
|
|
58
|
+
"corner-se-super": [isFloat, isInteger],
|
|
59
|
+
"corner-es": cornerShapeList,
|
|
60
|
+
"corner-es-super": [isFloat, isInteger],
|
|
61
|
+
"corner-tl": cornerShapeList,
|
|
62
|
+
"corner-tl-super": [isFloat, isInteger],
|
|
63
|
+
"corner-tr": cornerShapeList,
|
|
64
|
+
"corner-tr-super": [isFloat, isInteger],
|
|
65
|
+
"corner-br": cornerShapeList,
|
|
66
|
+
"corner-br-super": [isFloat, isInteger],
|
|
67
|
+
"corner-bl": cornerShapeList,
|
|
68
|
+
"corner-bl-super": [isFloat, isInteger],
|
|
69
|
+
"-corner": ["infinity"],
|
|
70
|
+
"-corner-super": [isFloat, isInteger],
|
|
71
|
+
"-corner-s": ["infinity"],
|
|
72
|
+
"-corner-s-super": [isFloat, isInteger],
|
|
73
|
+
"-corner-e": ["infinity"],
|
|
74
|
+
"-corner-e-super": [isFloat, isInteger],
|
|
75
|
+
"-corner-t": ["infinity"],
|
|
76
|
+
"-corner-t-super": [isFloat, isInteger],
|
|
77
|
+
"-corner-r": ["infinity"],
|
|
78
|
+
"-corner-r-super": [isFloat, isInteger],
|
|
79
|
+
"-corner-b": ["infinity"],
|
|
80
|
+
"-corner-b-super": [isFloat, isInteger],
|
|
81
|
+
"-corner-l": ["infinity"],
|
|
82
|
+
"-corner-l-super": [isFloat, isInteger],
|
|
83
|
+
"-corner-ss": ["infinity"],
|
|
84
|
+
"-corner-ss-super": [isFloat, isInteger],
|
|
85
|
+
"-corner-se": ["infinity"],
|
|
86
|
+
"-corner-se-super": [isFloat, isInteger],
|
|
87
|
+
"-corner-es": ["infinity"],
|
|
88
|
+
"-corner-es-super": [isFloat, isInteger],
|
|
89
|
+
"-corner-tl": ["infinity"],
|
|
90
|
+
"-corner-tl-super": [isFloat, isInteger],
|
|
91
|
+
"-corner-tr": ["infinity"],
|
|
92
|
+
"-corner-tr-super": [isFloat, isInteger],
|
|
93
|
+
"-corner-br": ["infinity"],
|
|
94
|
+
"-corner-br-super": [isFloat, isInteger],
|
|
95
|
+
"-corner-bl": ["infinity"],
|
|
96
|
+
"-corner-bl-super": [isFloat, isInteger]
|
|
97
|
+
}],
|
|
98
|
+
ease: [{ ease: ["exponential", "spring"] }],
|
|
99
|
+
"font-size": [{ text: ["smaller", "larger"] }],
|
|
28
100
|
"grid-cols": [{ "grid-cols": ["0fr", "1fr"] }],
|
|
29
101
|
"grid-rows": [{ "grid-rows": ["0fr", "1fr"] }],
|
|
30
|
-
transition: ["transition-rows"]
|
|
102
|
+
transition: [{ transition: ["transition-cols", "transition-rows"] }]
|
|
31
103
|
} } });
|
|
32
104
|
|
|
33
105
|
//#endregion
|
|
@@ -538,70 +610,6 @@ function Link({ as, className, customTheme, theme, type, ...props }) {
|
|
|
538
610
|
className: twMerge(linkClasses, className)
|
|
539
611
|
});
|
|
540
612
|
}
|
|
541
|
-
/**
|
|
542
|
-
* # createLink
|
|
543
|
-
* Creates an extended Link component with additional theme options.
|
|
544
|
-
*
|
|
545
|
-
* @param config - Configuration object defining new themes and defaults
|
|
546
|
-
* @returns A new Link component with extended theme support
|
|
547
|
-
*
|
|
548
|
-
* @example
|
|
549
|
-
* ```tsx
|
|
550
|
-
* const MyLink = createLink({
|
|
551
|
-
* as: NextLink,
|
|
552
|
-
* className: 'font-bold',
|
|
553
|
-
* type: 'fill',
|
|
554
|
-
* theme: {
|
|
555
|
-
* primary: {
|
|
556
|
-
* customTheme: {
|
|
557
|
-
* fill: 'after:[--theme-color:var(--color-primary-500)]',
|
|
558
|
-
* multilineFill: '[--theme-color:var(--color-primary-500)]'
|
|
559
|
-
* },
|
|
560
|
-
* className: 'text-white'
|
|
561
|
-
* }
|
|
562
|
-
* }
|
|
563
|
-
* })
|
|
564
|
-
* ```
|
|
565
|
-
*/
|
|
566
|
-
function createLink(config) {
|
|
567
|
-
return function ExtendedLink({ theme, className, customTheme, type, as, ...props }) {
|
|
568
|
-
const finalType = type !== void 0 ? type : config.type, finalTheme = theme !== void 0 ? theme : config.defaultTheme;
|
|
569
|
-
const configClassName = config.className;
|
|
570
|
-
const shouldOverrideElement = !as && Boolean(config.as);
|
|
571
|
-
const linkProps = {
|
|
572
|
-
...props,
|
|
573
|
-
className: void 0,
|
|
574
|
-
customTheme: void 0,
|
|
575
|
-
type: finalType
|
|
576
|
-
};
|
|
577
|
-
if (shouldOverrideElement) linkProps.as = config.as;
|
|
578
|
-
else if (as) linkProps.as = as;
|
|
579
|
-
if (finalTheme && typeof finalTheme === "string" && config.theme && finalTheme in config.theme) {
|
|
580
|
-
const extendedTheme = config.theme[finalTheme];
|
|
581
|
-
if (customTheme) return /* @__PURE__ */ jsx(Link, {
|
|
582
|
-
...linkProps,
|
|
583
|
-
theme: "custom",
|
|
584
|
-
customTheme,
|
|
585
|
-
className: twMerge(configClassName, extendedTheme.className, className)
|
|
586
|
-
});
|
|
587
|
-
let resolvedCustomTheme;
|
|
588
|
-
if (extendedTheme.customTheme.themeColor) resolvedCustomTheme = { themeColor: (finalType ? finalType.includes("multiline") : false) ? extendedTheme.customTheme.themeColor.multilineFill : extendedTheme.customTheme.themeColor.fill };
|
|
589
|
-
else resolvedCustomTheme = { classes: extendedTheme.customTheme.classes };
|
|
590
|
-
return /* @__PURE__ */ jsx(Link, {
|
|
591
|
-
...linkProps,
|
|
592
|
-
theme: "custom",
|
|
593
|
-
customTheme: resolvedCustomTheme,
|
|
594
|
-
className: twMerge(configClassName, extendedTheme.className, className)
|
|
595
|
-
});
|
|
596
|
-
}
|
|
597
|
-
return /* @__PURE__ */ jsx(Link, {
|
|
598
|
-
...linkProps,
|
|
599
|
-
theme: finalTheme,
|
|
600
|
-
className: twMerge(configClassName, className),
|
|
601
|
-
customTheme
|
|
602
|
-
});
|
|
603
|
-
};
|
|
604
|
-
}
|
|
605
613
|
|
|
606
614
|
//#endregion
|
|
607
615
|
//#region src/components/button.tsx
|
|
@@ -683,73 +691,6 @@ function Button({ className, customTheme, gradient = false, padding = "md", roun
|
|
|
683
691
|
className: buttonClasses
|
|
684
692
|
});
|
|
685
693
|
}
|
|
686
|
-
/**
|
|
687
|
-
* # createButton
|
|
688
|
-
* Creates an extended Button component with additional theme options.
|
|
689
|
-
*
|
|
690
|
-
* @param extendedThemes - Configuration object defining new themes
|
|
691
|
-
* @returns A new Button component with extended theme support
|
|
692
|
-
*
|
|
693
|
-
* @example
|
|
694
|
-
* ```tsx
|
|
695
|
-
* const MyButton = createButton({
|
|
696
|
-
* as: {
|
|
697
|
-
* default: 'div',
|
|
698
|
-
* link: NextLink
|
|
699
|
-
* },
|
|
700
|
-
* className: 'min-w-64',
|
|
701
|
-
* padding: 'sm',
|
|
702
|
-
* rounded: 'full',
|
|
703
|
-
* theme: {
|
|
704
|
-
* primary: {
|
|
705
|
-
* customTheme: { themeColor: '[--theme-color:var(--color-primary-500)]' },
|
|
706
|
-
* className: 'text-white'
|
|
707
|
-
* }
|
|
708
|
-
* }
|
|
709
|
-
* })
|
|
710
|
-
* ```
|
|
711
|
-
*/
|
|
712
|
-
function createButton(config) {
|
|
713
|
-
return function ExtendedButton({ theme, className, customTheme, gradient, padding, rounded, as, ...props }) {
|
|
714
|
-
const finalGradient = gradient !== void 0 ? gradient : config.gradient, finalPadding = padding !== void 0 ? padding : config.padding, finalRounded = rounded !== void 0 ? rounded : config.rounded, finalTheme = theme !== void 0 ? theme : config.defaultTheme;
|
|
715
|
-
const configClassName = config.className;
|
|
716
|
-
const shouldOverrideElement = !as && Boolean(config.as);
|
|
717
|
-
const getOverrideElement = () => {
|
|
718
|
-
if (!config.as) return void 0;
|
|
719
|
-
if (typeof config.as === "function" || typeof config.as === "string") return config.as;
|
|
720
|
-
const hasHref = "href" in props && props.href;
|
|
721
|
-
if (hasHref && config.as.link) return config.as.link;
|
|
722
|
-
else if (!hasHref && config.as.default) return config.as.default;
|
|
723
|
-
};
|
|
724
|
-
const buttonProps = {
|
|
725
|
-
...props,
|
|
726
|
-
className: void 0,
|
|
727
|
-
customTheme: void 0,
|
|
728
|
-
gradient: finalGradient,
|
|
729
|
-
padding: finalPadding,
|
|
730
|
-
rounded: finalRounded
|
|
731
|
-
};
|
|
732
|
-
if (shouldOverrideElement) {
|
|
733
|
-
const overrideElement = getOverrideElement();
|
|
734
|
-
if (overrideElement) buttonProps.as = overrideElement;
|
|
735
|
-
} else if (as) buttonProps.as = as;
|
|
736
|
-
if (finalTheme && typeof finalTheme === "string" && config.theme && finalTheme in config.theme) {
|
|
737
|
-
const extendedTheme = config.theme[finalTheme];
|
|
738
|
-
return /* @__PURE__ */ jsx(Button, {
|
|
739
|
-
...buttonProps,
|
|
740
|
-
theme: "custom",
|
|
741
|
-
customTheme: customTheme || extendedTheme.customTheme,
|
|
742
|
-
className: twMerge(configClassName, extendedTheme.className, className)
|
|
743
|
-
});
|
|
744
|
-
}
|
|
745
|
-
return /* @__PURE__ */ jsx(Button, {
|
|
746
|
-
...buttonProps,
|
|
747
|
-
theme: finalTheme,
|
|
748
|
-
className: twMerge(configClassName, className),
|
|
749
|
-
customTheme
|
|
750
|
-
});
|
|
751
|
-
};
|
|
752
|
-
}
|
|
753
694
|
|
|
754
695
|
//#endregion
|
|
755
696
|
//#region src/symbols/checkmark.tsx
|
|
@@ -8514,4 +8455,4 @@ function ArrowSvg({ className, ...props }) {
|
|
|
8514
8455
|
}
|
|
8515
8456
|
|
|
8516
8457
|
//#endregion
|
|
8517
|
-
export { Anchor, Button, Checkbox, Details, DetailsBody, DetailsSummary, DropDown, DropDownButton, DropDownItem, DropDownItems, DropDownSection, DropDownSeparator, Fieldset, Form, Ghost, Heading, HumanVerification, IFrame, Input, Link, Modal, ModalClose, ModalDialog, ModalTitle, ModalTrigger, Select, SelectOption, SelectSectionTitle, SubmitButton, Textarea, Time, Tooltip, TooltipPanel, TooltipTrigger,
|
|
8458
|
+
export { Anchor, Button, Checkbox, Details, DetailsBody, DetailsSummary, DropDown, DropDownButton, DropDownItem, DropDownItems, DropDownSection, DropDownSeparator, Fieldset, Form, Ghost, Heading, HumanVerification, IFrame, Input, Link, Modal, ModalClose, ModalDialog, ModalTitle, ModalTrigger, Select, SelectOption, SelectSectionTitle, SubmitButton, Textarea, Time, Tooltip, TooltipPanel, TooltipTrigger, generateHumanValidationToken, getLinkClasses, validateHuman };
|
|
@@ -3,7 +3,19 @@ import { extendTailwindMerge } from "tailwind-merge";
|
|
|
3
3
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
|
|
5
5
|
//#region src/utils/custom-tailwind-merge.ts
|
|
6
|
-
const
|
|
6
|
+
const isInteger = (classPart) => /^\d+$/.test(classPart);
|
|
7
|
+
const isFloat = (classPart) => /^\d+\.\d+$/.test(classPart);
|
|
8
|
+
const isArbitraryValue = (classPart) => /^\[.+\]$/.test(classPart);
|
|
9
|
+
const cornerShapeList = [
|
|
10
|
+
"bevel",
|
|
11
|
+
"notch",
|
|
12
|
+
"round",
|
|
13
|
+
"scoop",
|
|
14
|
+
"square",
|
|
15
|
+
"squircle",
|
|
16
|
+
"infinity",
|
|
17
|
+
isArbitraryValue
|
|
18
|
+
];
|
|
7
19
|
const twMerge = extendTailwindMerge({ extend: { classGroups: {
|
|
8
20
|
animate: [{ animate: ["fade-in", "wave"] }],
|
|
9
21
|
"animation-direction": [{ "animation-direction": [
|
|
@@ -18,11 +30,71 @@ const twMerge = extendTailwindMerge({ extend: { classGroups: {
|
|
|
18
30
|
"backwards",
|
|
19
31
|
"both"
|
|
20
32
|
] }],
|
|
21
|
-
"animation-iteration": [{ "animation-iteration": [
|
|
33
|
+
"animation-iteration": [{ "animation-iteration": ["infinite", isInteger] }],
|
|
22
34
|
"animation-state": [{ "animation-state": ["running", "paused"] }],
|
|
35
|
+
corner: [{
|
|
36
|
+
corner: cornerShapeList,
|
|
37
|
+
"corner-super": [isFloat, isInteger],
|
|
38
|
+
"corner-s": cornerShapeList,
|
|
39
|
+
"corner-s-super": [isFloat, isInteger],
|
|
40
|
+
"corner-e": cornerShapeList,
|
|
41
|
+
"corner-e-super": [isFloat, isInteger],
|
|
42
|
+
"corner-t": cornerShapeList,
|
|
43
|
+
"corner-t-super": [isFloat, isInteger],
|
|
44
|
+
"corner-r": cornerShapeList,
|
|
45
|
+
"corner-r-super": [isFloat, isInteger],
|
|
46
|
+
"corner-b": cornerShapeList,
|
|
47
|
+
"corner-b-super": [isFloat, isInteger],
|
|
48
|
+
"corner-l": cornerShapeList,
|
|
49
|
+
"corner-l-super": [isFloat, isInteger],
|
|
50
|
+
"corner-ss": cornerShapeList,
|
|
51
|
+
"corner-ss-super": [isFloat, isInteger],
|
|
52
|
+
"corner-se": cornerShapeList,
|
|
53
|
+
"corner-se-super": [isFloat, isInteger],
|
|
54
|
+
"corner-es": cornerShapeList,
|
|
55
|
+
"corner-es-super": [isFloat, isInteger],
|
|
56
|
+
"corner-tl": cornerShapeList,
|
|
57
|
+
"corner-tl-super": [isFloat, isInteger],
|
|
58
|
+
"corner-tr": cornerShapeList,
|
|
59
|
+
"corner-tr-super": [isFloat, isInteger],
|
|
60
|
+
"corner-br": cornerShapeList,
|
|
61
|
+
"corner-br-super": [isFloat, isInteger],
|
|
62
|
+
"corner-bl": cornerShapeList,
|
|
63
|
+
"corner-bl-super": [isFloat, isInteger],
|
|
64
|
+
"-corner": ["infinity"],
|
|
65
|
+
"-corner-super": [isFloat, isInteger],
|
|
66
|
+
"-corner-s": ["infinity"],
|
|
67
|
+
"-corner-s-super": [isFloat, isInteger],
|
|
68
|
+
"-corner-e": ["infinity"],
|
|
69
|
+
"-corner-e-super": [isFloat, isInteger],
|
|
70
|
+
"-corner-t": ["infinity"],
|
|
71
|
+
"-corner-t-super": [isFloat, isInteger],
|
|
72
|
+
"-corner-r": ["infinity"],
|
|
73
|
+
"-corner-r-super": [isFloat, isInteger],
|
|
74
|
+
"-corner-b": ["infinity"],
|
|
75
|
+
"-corner-b-super": [isFloat, isInteger],
|
|
76
|
+
"-corner-l": ["infinity"],
|
|
77
|
+
"-corner-l-super": [isFloat, isInteger],
|
|
78
|
+
"-corner-ss": ["infinity"],
|
|
79
|
+
"-corner-ss-super": [isFloat, isInteger],
|
|
80
|
+
"-corner-se": ["infinity"],
|
|
81
|
+
"-corner-se-super": [isFloat, isInteger],
|
|
82
|
+
"-corner-es": ["infinity"],
|
|
83
|
+
"-corner-es-super": [isFloat, isInteger],
|
|
84
|
+
"-corner-tl": ["infinity"],
|
|
85
|
+
"-corner-tl-super": [isFloat, isInteger],
|
|
86
|
+
"-corner-tr": ["infinity"],
|
|
87
|
+
"-corner-tr-super": [isFloat, isInteger],
|
|
88
|
+
"-corner-br": ["infinity"],
|
|
89
|
+
"-corner-br-super": [isFloat, isInteger],
|
|
90
|
+
"-corner-bl": ["infinity"],
|
|
91
|
+
"-corner-bl-super": [isFloat, isInteger]
|
|
92
|
+
}],
|
|
93
|
+
ease: [{ ease: ["exponential", "spring"] }],
|
|
94
|
+
"font-size": [{ text: ["smaller", "larger"] }],
|
|
23
95
|
"grid-cols": [{ "grid-cols": ["0fr", "1fr"] }],
|
|
24
96
|
"grid-rows": [{ "grid-rows": ["0fr", "1fr"] }],
|
|
25
|
-
transition: ["transition-rows"]
|
|
97
|
+
transition: [{ transition: ["transition-cols", "transition-rows"] }]
|
|
26
98
|
} } });
|
|
27
99
|
|
|
28
100
|
//#endregion
|
package/dist/client.js
CHANGED
|
@@ -8,7 +8,19 @@ import * as ReactDOM from "react-dom";
|
|
|
8
8
|
import { createPortal } from "react-dom";
|
|
9
9
|
|
|
10
10
|
//#region src/utils/custom-tailwind-merge.ts
|
|
11
|
-
const
|
|
11
|
+
const isInteger = (classPart) => /^\d+$/.test(classPart);
|
|
12
|
+
const isFloat = (classPart) => /^\d+\.\d+$/.test(classPart);
|
|
13
|
+
const isArbitraryValue = (classPart) => /^\[.+\]$/.test(classPart);
|
|
14
|
+
const cornerShapeList = [
|
|
15
|
+
"bevel",
|
|
16
|
+
"notch",
|
|
17
|
+
"round",
|
|
18
|
+
"scoop",
|
|
19
|
+
"square",
|
|
20
|
+
"squircle",
|
|
21
|
+
"infinity",
|
|
22
|
+
isArbitraryValue
|
|
23
|
+
];
|
|
12
24
|
const twMerge = extendTailwindMerge({ extend: { classGroups: {
|
|
13
25
|
animate: [{ animate: ["fade-in", "wave"] }],
|
|
14
26
|
"animation-direction": [{ "animation-direction": [
|
|
@@ -23,16 +35,75 @@ const twMerge = extendTailwindMerge({ extend: { classGroups: {
|
|
|
23
35
|
"backwards",
|
|
24
36
|
"both"
|
|
25
37
|
] }],
|
|
26
|
-
"animation-iteration": [{ "animation-iteration": [
|
|
38
|
+
"animation-iteration": [{ "animation-iteration": ["infinite", isInteger] }],
|
|
27
39
|
"animation-state": [{ "animation-state": ["running", "paused"] }],
|
|
40
|
+
corner: [{
|
|
41
|
+
corner: cornerShapeList,
|
|
42
|
+
"corner-super": [isFloat, isInteger],
|
|
43
|
+
"corner-s": cornerShapeList,
|
|
44
|
+
"corner-s-super": [isFloat, isInteger],
|
|
45
|
+
"corner-e": cornerShapeList,
|
|
46
|
+
"corner-e-super": [isFloat, isInteger],
|
|
47
|
+
"corner-t": cornerShapeList,
|
|
48
|
+
"corner-t-super": [isFloat, isInteger],
|
|
49
|
+
"corner-r": cornerShapeList,
|
|
50
|
+
"corner-r-super": [isFloat, isInteger],
|
|
51
|
+
"corner-b": cornerShapeList,
|
|
52
|
+
"corner-b-super": [isFloat, isInteger],
|
|
53
|
+
"corner-l": cornerShapeList,
|
|
54
|
+
"corner-l-super": [isFloat, isInteger],
|
|
55
|
+
"corner-ss": cornerShapeList,
|
|
56
|
+
"corner-ss-super": [isFloat, isInteger],
|
|
57
|
+
"corner-se": cornerShapeList,
|
|
58
|
+
"corner-se-super": [isFloat, isInteger],
|
|
59
|
+
"corner-es": cornerShapeList,
|
|
60
|
+
"corner-es-super": [isFloat, isInteger],
|
|
61
|
+
"corner-tl": cornerShapeList,
|
|
62
|
+
"corner-tl-super": [isFloat, isInteger],
|
|
63
|
+
"corner-tr": cornerShapeList,
|
|
64
|
+
"corner-tr-super": [isFloat, isInteger],
|
|
65
|
+
"corner-br": cornerShapeList,
|
|
66
|
+
"corner-br-super": [isFloat, isInteger],
|
|
67
|
+
"corner-bl": cornerShapeList,
|
|
68
|
+
"corner-bl-super": [isFloat, isInteger],
|
|
69
|
+
"-corner": ["infinity"],
|
|
70
|
+
"-corner-super": [isFloat, isInteger],
|
|
71
|
+
"-corner-s": ["infinity"],
|
|
72
|
+
"-corner-s-super": [isFloat, isInteger],
|
|
73
|
+
"-corner-e": ["infinity"],
|
|
74
|
+
"-corner-e-super": [isFloat, isInteger],
|
|
75
|
+
"-corner-t": ["infinity"],
|
|
76
|
+
"-corner-t-super": [isFloat, isInteger],
|
|
77
|
+
"-corner-r": ["infinity"],
|
|
78
|
+
"-corner-r-super": [isFloat, isInteger],
|
|
79
|
+
"-corner-b": ["infinity"],
|
|
80
|
+
"-corner-b-super": [isFloat, isInteger],
|
|
81
|
+
"-corner-l": ["infinity"],
|
|
82
|
+
"-corner-l-super": [isFloat, isInteger],
|
|
83
|
+
"-corner-ss": ["infinity"],
|
|
84
|
+
"-corner-ss-super": [isFloat, isInteger],
|
|
85
|
+
"-corner-se": ["infinity"],
|
|
86
|
+
"-corner-se-super": [isFloat, isInteger],
|
|
87
|
+
"-corner-es": ["infinity"],
|
|
88
|
+
"-corner-es-super": [isFloat, isInteger],
|
|
89
|
+
"-corner-tl": ["infinity"],
|
|
90
|
+
"-corner-tl-super": [isFloat, isInteger],
|
|
91
|
+
"-corner-tr": ["infinity"],
|
|
92
|
+
"-corner-tr-super": [isFloat, isInteger],
|
|
93
|
+
"-corner-br": ["infinity"],
|
|
94
|
+
"-corner-br-super": [isFloat, isInteger],
|
|
95
|
+
"-corner-bl": ["infinity"],
|
|
96
|
+
"-corner-bl-super": [isFloat, isInteger]
|
|
97
|
+
}],
|
|
98
|
+
ease: [{ ease: ["exponential", "spring"] }],
|
|
99
|
+
"font-size": [{ text: ["smaller", "larger"] }],
|
|
28
100
|
"grid-cols": [{ "grid-cols": ["0fr", "1fr"] }],
|
|
29
101
|
"grid-rows": [{ "grid-rows": ["0fr", "1fr"] }],
|
|
30
|
-
transition: ["transition-rows"]
|
|
102
|
+
transition: [{ transition: ["transition-cols", "transition-rows"] }]
|
|
31
103
|
} } });
|
|
32
104
|
function extendMadoTailwindMerge(configExtension) {
|
|
33
105
|
const extend = configExtension.extend || {};
|
|
34
106
|
const theme = extend.theme || {};
|
|
35
|
-
"color" in theme && theme.color;
|
|
36
107
|
const classGroups = extend.classGroups || {};
|
|
37
108
|
const themeRest = { ...theme };
|
|
38
109
|
if ("color" in themeRest) delete themeRest.color;
|
|
@@ -56,11 +127,71 @@ function extendMadoTailwindMerge(configExtension) {
|
|
|
56
127
|
"backwards",
|
|
57
128
|
"both"
|
|
58
129
|
] }],
|
|
59
|
-
"animation-iteration": [{ "animation-iteration": [
|
|
130
|
+
"animation-iteration": [{ "animation-iteration": ["infinite", isInteger] }],
|
|
60
131
|
"animation-state": [{ "animation-state": ["running", "paused"] }],
|
|
132
|
+
corner: [{
|
|
133
|
+
corner: cornerShapeList,
|
|
134
|
+
"corner-super": [isFloat, isInteger],
|
|
135
|
+
"corner-s": cornerShapeList,
|
|
136
|
+
"corner-s-super": [isFloat, isInteger],
|
|
137
|
+
"corner-e": cornerShapeList,
|
|
138
|
+
"corner-e-super": [isFloat, isInteger],
|
|
139
|
+
"corner-t": cornerShapeList,
|
|
140
|
+
"corner-t-super": [isFloat, isInteger],
|
|
141
|
+
"corner-r": cornerShapeList,
|
|
142
|
+
"corner-r-super": [isFloat, isInteger],
|
|
143
|
+
"corner-b": cornerShapeList,
|
|
144
|
+
"corner-b-super": [isFloat, isInteger],
|
|
145
|
+
"corner-l": cornerShapeList,
|
|
146
|
+
"corner-l-super": [isFloat, isInteger],
|
|
147
|
+
"corner-ss": cornerShapeList,
|
|
148
|
+
"corner-ss-super": [isFloat, isInteger],
|
|
149
|
+
"corner-se": cornerShapeList,
|
|
150
|
+
"corner-se-super": [isFloat, isInteger],
|
|
151
|
+
"corner-es": cornerShapeList,
|
|
152
|
+
"corner-es-super": [isFloat, isInteger],
|
|
153
|
+
"corner-tl": cornerShapeList,
|
|
154
|
+
"corner-tl-super": [isFloat, isInteger],
|
|
155
|
+
"corner-tr": cornerShapeList,
|
|
156
|
+
"corner-tr-super": [isFloat, isInteger],
|
|
157
|
+
"corner-br": cornerShapeList,
|
|
158
|
+
"corner-br-super": [isFloat, isInteger],
|
|
159
|
+
"corner-bl": cornerShapeList,
|
|
160
|
+
"corner-bl-super": [isFloat, isInteger],
|
|
161
|
+
"-corner": ["infinity"],
|
|
162
|
+
"-corner-super": [isFloat, isInteger],
|
|
163
|
+
"-corner-s": ["infinity"],
|
|
164
|
+
"-corner-s-super": [isFloat, isInteger],
|
|
165
|
+
"-corner-e": ["infinity"],
|
|
166
|
+
"-corner-e-super": [isFloat, isInteger],
|
|
167
|
+
"-corner-t": ["infinity"],
|
|
168
|
+
"-corner-t-super": [isFloat, isInteger],
|
|
169
|
+
"-corner-r": ["infinity"],
|
|
170
|
+
"-corner-r-super": [isFloat, isInteger],
|
|
171
|
+
"-corner-b": ["infinity"],
|
|
172
|
+
"-corner-b-super": [isFloat, isInteger],
|
|
173
|
+
"-corner-l": ["infinity"],
|
|
174
|
+
"-corner-l-super": [isFloat, isInteger],
|
|
175
|
+
"-corner-ss": ["infinity"],
|
|
176
|
+
"-corner-ss-super": [isFloat, isInteger],
|
|
177
|
+
"-corner-se": ["infinity"],
|
|
178
|
+
"-corner-se-super": [isFloat, isInteger],
|
|
179
|
+
"-corner-es": ["infinity"],
|
|
180
|
+
"-corner-es-super": [isFloat, isInteger],
|
|
181
|
+
"-corner-tl": ["infinity"],
|
|
182
|
+
"-corner-tl-super": [isFloat, isInteger],
|
|
183
|
+
"-corner-tr": ["infinity"],
|
|
184
|
+
"-corner-tr-super": [isFloat, isInteger],
|
|
185
|
+
"-corner-br": ["infinity"],
|
|
186
|
+
"-corner-br-super": [isFloat, isInteger],
|
|
187
|
+
"-corner-bl": ["infinity"],
|
|
188
|
+
"-corner-bl-super": [isFloat, isInteger]
|
|
189
|
+
}],
|
|
190
|
+
ease: [{ ease: ["exponential", "spring"] }],
|
|
191
|
+
"font-size": [{ text: ["smaller", "larger"] }],
|
|
61
192
|
"grid-cols": [{ "grid-cols": ["0fr", "1fr"] }],
|
|
62
193
|
"grid-rows": [{ "grid-rows": ["0fr", "1fr"] }],
|
|
63
|
-
transition: ["transition-rows"],
|
|
194
|
+
transition: [{ transition: ["transition-cols", "transition-rows"] }],
|
|
64
195
|
...classGroups
|
|
65
196
|
},
|
|
66
197
|
...extendRest
|
|
@@ -577,70 +708,6 @@ function Link({ as, className, customTheme, theme, type, ...props }) {
|
|
|
577
708
|
className: twMerge(linkClasses, className)
|
|
578
709
|
});
|
|
579
710
|
}
|
|
580
|
-
/**
|
|
581
|
-
* # createLink
|
|
582
|
-
* Creates an extended Link component with additional theme options.
|
|
583
|
-
*
|
|
584
|
-
* @param config - Configuration object defining new themes and defaults
|
|
585
|
-
* @returns A new Link component with extended theme support
|
|
586
|
-
*
|
|
587
|
-
* @example
|
|
588
|
-
* ```tsx
|
|
589
|
-
* const MyLink = createLink({
|
|
590
|
-
* as: NextLink,
|
|
591
|
-
* className: 'font-bold',
|
|
592
|
-
* type: 'fill',
|
|
593
|
-
* theme: {
|
|
594
|
-
* primary: {
|
|
595
|
-
* customTheme: {
|
|
596
|
-
* fill: 'after:[--theme-color:var(--color-primary-500)]',
|
|
597
|
-
* multilineFill: '[--theme-color:var(--color-primary-500)]'
|
|
598
|
-
* },
|
|
599
|
-
* className: 'text-white'
|
|
600
|
-
* }
|
|
601
|
-
* }
|
|
602
|
-
* })
|
|
603
|
-
* ```
|
|
604
|
-
*/
|
|
605
|
-
function createLink(config) {
|
|
606
|
-
return function ExtendedLink({ theme, className, customTheme, type, as, ...props }) {
|
|
607
|
-
const finalType = type !== void 0 ? type : config.type, finalTheme = theme !== void 0 ? theme : config.defaultTheme;
|
|
608
|
-
const configClassName = config.className;
|
|
609
|
-
const shouldOverrideElement = !as && Boolean(config.as);
|
|
610
|
-
const linkProps = {
|
|
611
|
-
...props,
|
|
612
|
-
className: void 0,
|
|
613
|
-
customTheme: void 0,
|
|
614
|
-
type: finalType
|
|
615
|
-
};
|
|
616
|
-
if (shouldOverrideElement) linkProps.as = config.as;
|
|
617
|
-
else if (as) linkProps.as = as;
|
|
618
|
-
if (finalTheme && typeof finalTheme === "string" && config.theme && finalTheme in config.theme) {
|
|
619
|
-
const extendedTheme = config.theme[finalTheme];
|
|
620
|
-
if (customTheme) return /* @__PURE__ */ jsx(Link, {
|
|
621
|
-
...linkProps,
|
|
622
|
-
theme: "custom",
|
|
623
|
-
customTheme,
|
|
624
|
-
className: twMerge(configClassName, extendedTheme.className, className)
|
|
625
|
-
});
|
|
626
|
-
let resolvedCustomTheme;
|
|
627
|
-
if (extendedTheme.customTheme.themeColor) resolvedCustomTheme = { themeColor: (finalType ? finalType.includes("multiline") : false) ? extendedTheme.customTheme.themeColor.multilineFill : extendedTheme.customTheme.themeColor.fill };
|
|
628
|
-
else resolvedCustomTheme = { classes: extendedTheme.customTheme.classes };
|
|
629
|
-
return /* @__PURE__ */ jsx(Link, {
|
|
630
|
-
...linkProps,
|
|
631
|
-
theme: "custom",
|
|
632
|
-
customTheme: resolvedCustomTheme,
|
|
633
|
-
className: twMerge(configClassName, extendedTheme.className, className)
|
|
634
|
-
});
|
|
635
|
-
}
|
|
636
|
-
return /* @__PURE__ */ jsx(Link, {
|
|
637
|
-
...linkProps,
|
|
638
|
-
theme: finalTheme,
|
|
639
|
-
className: twMerge(configClassName, className),
|
|
640
|
-
customTheme
|
|
641
|
-
});
|
|
642
|
-
};
|
|
643
|
-
}
|
|
644
711
|
|
|
645
712
|
//#endregion
|
|
646
713
|
//#region src/components/button.tsx
|
|
@@ -722,73 +789,6 @@ function Button({ className, customTheme, gradient = false, padding = "md", roun
|
|
|
722
789
|
className: buttonClasses
|
|
723
790
|
});
|
|
724
791
|
}
|
|
725
|
-
/**
|
|
726
|
-
* # createButton
|
|
727
|
-
* Creates an extended Button component with additional theme options.
|
|
728
|
-
*
|
|
729
|
-
* @param extendedThemes - Configuration object defining new themes
|
|
730
|
-
* @returns A new Button component with extended theme support
|
|
731
|
-
*
|
|
732
|
-
* @example
|
|
733
|
-
* ```tsx
|
|
734
|
-
* const MyButton = createButton({
|
|
735
|
-
* as: {
|
|
736
|
-
* default: 'div',
|
|
737
|
-
* link: NextLink
|
|
738
|
-
* },
|
|
739
|
-
* className: 'min-w-64',
|
|
740
|
-
* padding: 'sm',
|
|
741
|
-
* rounded: 'full',
|
|
742
|
-
* theme: {
|
|
743
|
-
* primary: {
|
|
744
|
-
* customTheme: { themeColor: '[--theme-color:var(--color-primary-500)]' },
|
|
745
|
-
* className: 'text-white'
|
|
746
|
-
* }
|
|
747
|
-
* }
|
|
748
|
-
* })
|
|
749
|
-
* ```
|
|
750
|
-
*/
|
|
751
|
-
function createButton(config) {
|
|
752
|
-
return function ExtendedButton({ theme, className, customTheme, gradient, padding, rounded, as, ...props }) {
|
|
753
|
-
const finalGradient = gradient !== void 0 ? gradient : config.gradient, finalPadding = padding !== void 0 ? padding : config.padding, finalRounded = rounded !== void 0 ? rounded : config.rounded, finalTheme = theme !== void 0 ? theme : config.defaultTheme;
|
|
754
|
-
const configClassName = config.className;
|
|
755
|
-
const shouldOverrideElement = !as && Boolean(config.as);
|
|
756
|
-
const getOverrideElement = () => {
|
|
757
|
-
if (!config.as) return void 0;
|
|
758
|
-
if (typeof config.as === "function" || typeof config.as === "string") return config.as;
|
|
759
|
-
const hasHref = "href" in props && props.href;
|
|
760
|
-
if (hasHref && config.as.link) return config.as.link;
|
|
761
|
-
else if (!hasHref && config.as.default) return config.as.default;
|
|
762
|
-
};
|
|
763
|
-
const buttonProps = {
|
|
764
|
-
...props,
|
|
765
|
-
className: void 0,
|
|
766
|
-
customTheme: void 0,
|
|
767
|
-
gradient: finalGradient,
|
|
768
|
-
padding: finalPadding,
|
|
769
|
-
rounded: finalRounded
|
|
770
|
-
};
|
|
771
|
-
if (shouldOverrideElement) {
|
|
772
|
-
const overrideElement = getOverrideElement();
|
|
773
|
-
if (overrideElement) buttonProps.as = overrideElement;
|
|
774
|
-
} else if (as) buttonProps.as = as;
|
|
775
|
-
if (finalTheme && typeof finalTheme === "string" && config.theme && finalTheme in config.theme) {
|
|
776
|
-
const extendedTheme = config.theme[finalTheme];
|
|
777
|
-
return /* @__PURE__ */ jsx(Button, {
|
|
778
|
-
...buttonProps,
|
|
779
|
-
theme: "custom",
|
|
780
|
-
customTheme: customTheme || extendedTheme.customTheme,
|
|
781
|
-
className: twMerge(configClassName, extendedTheme.className, className)
|
|
782
|
-
});
|
|
783
|
-
}
|
|
784
|
-
return /* @__PURE__ */ jsx(Button, {
|
|
785
|
-
...buttonProps,
|
|
786
|
-
theme: finalTheme,
|
|
787
|
-
className: twMerge(configClassName, className),
|
|
788
|
-
customTheme
|
|
789
|
-
});
|
|
790
|
-
};
|
|
791
|
-
}
|
|
792
792
|
|
|
793
793
|
//#endregion
|
|
794
794
|
//#region src/symbols/checkmark.tsx
|
|
@@ -9517,4 +9517,4 @@ function YouTubeLogo({ className, cutout = false, targets, ...props }) {
|
|
|
9517
9517
|
}
|
|
9518
9518
|
|
|
9519
9519
|
//#endregion
|
|
9520
|
-
export { Anchor, Button, Checkbox, Details, DetailsBody, DetailsSummary, DropDown, DropDownButton, DropDownItem, DropDownItems, DropDownSection, DropDownSeparator, FacebookLogo, Fieldset, Form, FormStatusProvider, Ghost, GoogleLogo, Heading, HumanVerification, IFrame, Input, InstagramLogo, Link, LinkedInLogo, Modal, ModalClose, ModalDialog, ModalTitle, ModalTrigger, Select, SelectOption, SelectSectionTitle, SubmitButton, Textarea, TikTokLogo, Time, Tooltip, TooltipPanel, TooltipTrigger, XLogo, YouTubeLogo, addClass,
|
|
9520
|
+
export { Anchor, Button, Checkbox, Details, DetailsBody, DetailsSummary, DropDown, DropDownButton, DropDownItem, DropDownItems, DropDownSection, DropDownSeparator, FacebookLogo, Fieldset, Form, FormStatusProvider, Ghost, GoogleLogo, Heading, HumanVerification, IFrame, Input, InstagramLogo, Link, LinkedInLogo, Modal, ModalClose, ModalDialog, ModalTitle, ModalTrigger, Select, SelectOption, SelectSectionTitle, SubmitButton, Textarea, TikTokLogo, Time, Tooltip, TooltipPanel, TooltipTrigger, XLogo, YouTubeLogo, addClass, createFastContext, currentMonthName, currentWeekdayName, daysInMonth, easeOutExpo, emailRegex, extendMadoTailwindMerge, firstOfMonth, formatPhoneNumber, generateHumanValidationToken, getDate, getHours, getHoursIn12, getLinkClasses, getLocalTime, getMeridianFromHour, getMilliseconds, getMinutes, getMonth, getMonthIndexFromName, getMonthName, getNextMonth, getPreviousMonth, getSeconds, getTimezone, getUserReadableDate, getUserReadableDateFromTimestampz, getWeekdayName, getYearsInRange, hasClass, isEmail, isPhoneNumber, monthNamesList, removeClass, splitCamelCase, telRegex, toCamelCase, toFullDateString, toLowerCase, toTitleCase, toggleClass, twMerge, useFormStatus, usePointerMovement, validateHuman, weekdayNamesList };
|