@rkosafo/cai.components 0.0.1 → 0.0.3
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/baseEditor/index.svelte +32 -0
- package/dist/baseEditor/index.svelte.d.ts +18 -0
- package/dist/builders/filters/FilterBuilder.svelte +638 -0
- package/dist/builders/filters/FilterBuilder.svelte.d.ts +4 -0
- package/dist/builders/filters/index.d.ts +1 -0
- package/dist/builders/filters/index.js +1 -0
- package/dist/forms/FormCheckbox/FormCheckbox.svelte +53 -0
- package/dist/forms/FormCheckbox/FormCheckbox.svelte.d.ts +4 -0
- package/dist/forms/FormCheckbox/index.d.ts +1 -0
- package/dist/forms/FormCheckbox/index.js +1 -0
- package/dist/forms/FormDatepicker/FormDatepicker.svelte +159 -0
- package/dist/forms/FormDatepicker/FormDatepicker.svelte.d.ts +13 -0
- package/dist/forms/FormDatepicker/index.d.ts +1 -0
- package/dist/forms/FormDatepicker/index.js +1 -0
- package/dist/forms/FormInput/FormInput.svelte +87 -0
- package/dist/forms/FormInput/FormInput.svelte.d.ts +4 -0
- package/dist/forms/FormInput/index.d.ts +1 -0
- package/dist/forms/FormInput/index.js +1 -0
- package/dist/forms/FormRadio/FormRadio.svelte +53 -0
- package/dist/forms/FormRadio/FormRadio.svelte.d.ts +4 -0
- package/dist/forms/FormRadio/index.d.ts +1 -0
- package/dist/forms/FormRadio/index.js +1 -0
- package/dist/forms/FormSelect/FormSelect.svelte +86 -0
- package/dist/forms/FormSelect/FormSelect.svelte.d.ts +4 -0
- package/dist/forms/FormSelect/index.d.ts +1 -0
- package/dist/forms/FormSelect/index.js +1 -0
- package/dist/forms/FormTextarea/FormTextarea.svelte +77 -0
- package/dist/forms/FormTextarea/FormTextarea.svelte.d.ts +4 -0
- package/dist/forms/FormTextarea/index.d.ts +1 -0
- package/dist/forms/FormTextarea/index.js +1 -0
- package/dist/forms/checkbox/Checkbox.svelte +82 -0
- package/dist/forms/checkbox/Checkbox.svelte.d.ts +4 -0
- package/dist/forms/checkbox/CheckboxButton.svelte +92 -0
- package/dist/forms/checkbox/CheckboxButton.svelte.d.ts +18 -0
- package/dist/forms/checkbox/index.d.ts +3 -0
- package/dist/forms/checkbox/index.js +3 -0
- package/dist/forms/checkbox/theme.d.ts +317 -0
- package/dist/forms/checkbox/theme.js +113 -0
- package/dist/forms/datepicker/Datepicker.svelte +706 -0
- package/dist/forms/datepicker/Datepicker.svelte.d.ts +41 -0
- package/dist/forms/datepicker/index.d.ts +2 -0
- package/dist/forms/datepicker/index.js +2 -0
- package/dist/forms/datepicker/theme.d.ts +385 -0
- package/dist/forms/datepicker/theme.js +56 -0
- package/dist/forms/form/Form.svelte +69 -0
- package/dist/forms/form/Form.svelte.d.ts +6 -0
- package/dist/forms/form/index.d.ts +2 -0
- package/dist/forms/form/index.js +2 -0
- package/dist/forms/input/Input.svelte +363 -0
- package/dist/forms/input/Input.svelte.d.ts +4 -0
- package/dist/forms/input/index.d.ts +4 -0
- package/dist/forms/input/index.js +5 -0
- package/dist/forms/input/theme.d.ts +301 -0
- package/dist/forms/input/theme.js +100 -0
- package/dist/forms/label/Label.svelte +38 -0
- package/dist/forms/label/Label.svelte.d.ts +15 -0
- package/dist/forms/label/index.d.ts +2 -0
- package/dist/forms/label/index.js +2 -0
- package/dist/forms/label/theme.d.ts +75 -0
- package/dist/forms/label/theme.js +29 -0
- package/dist/forms/radio/Radio.svelte +48 -0
- package/dist/forms/radio/Radio.svelte.d.ts +25 -0
- package/dist/forms/radio/RadioButton.svelte +22 -0
- package/dist/forms/radio/RadioButton.svelte.d.ts +25 -0
- package/dist/forms/radio/index.d.ts +3 -0
- package/dist/forms/radio/index.js +3 -0
- package/dist/forms/radio/theme.d.ts +290 -0
- package/dist/forms/radio/theme.js +95 -0
- package/dist/forms/select/Select.svelte +50 -0
- package/dist/forms/select/Select.svelte.d.ts +4 -0
- package/dist/forms/select/index.d.ts +1 -0
- package/dist/forms/select/index.js +1 -0
- package/dist/forms/textarea/Textarea.svelte +165 -0
- package/dist/forms/textarea/Textarea.svelte.d.ts +4 -0
- package/dist/forms/textarea/index.d.ts +2 -0
- package/dist/forms/textarea/index.js +2 -0
- package/dist/forms/textarea/theme.d.ts +100 -0
- package/dist/forms/textarea/theme.js +35 -0
- package/dist/index.d.ts +42 -2
- package/dist/index.js +42 -2
- package/dist/layout/TF/Content/Content.svelte +28 -0
- package/dist/layout/TF/Content/Content.svelte.d.ts +8 -0
- package/dist/layout/TF/Content/index.d.ts +1 -0
- package/dist/layout/TF/Content/index.js +1 -0
- package/dist/layout/TF/Header/Header.svelte +159 -0
- package/dist/layout/TF/Header/Header.svelte.d.ts +21 -0
- package/dist/layout/TF/Header/index.d.ts +1 -0
- package/dist/layout/TF/Header/index.js +1 -0
- package/dist/layout/TF/Sidebar/Sidebar.svelte +74 -0
- package/dist/layout/TF/Sidebar/Sidebar.svelte.d.ts +23 -0
- package/dist/layout/TF/Sidebar/index.d.ts +1 -0
- package/dist/layout/TF/Sidebar/index.js +1 -0
- package/dist/layout/TF/Wrapper/Wrapper.svelte +17 -0
- package/dist/layout/TF/Wrapper/Wrapper.svelte.d.ts +8 -0
- package/dist/layout/TF/Wrapper/index.d.ts +1 -0
- package/dist/layout/TF/Wrapper/index.js +1 -0
- package/dist/layout/TF/index.d.ts +5 -0
- package/dist/layout/TF/index.js +5 -0
- package/dist/themes/ThemeProvider.svelte +20 -0
- package/dist/themes/ThemeProvider.svelte.d.ts +9 -0
- package/dist/themes/index.d.ts +7 -0
- package/dist/themes/index.js +1 -0
- package/dist/themes/themeUtils.d.ts +24 -0
- package/dist/themes/themeUtils.js +74 -0
- package/dist/themes/themes.d.ts +18 -0
- package/dist/themes/themes.js +18 -0
- package/dist/types/index.d.ts +755 -0
- package/dist/types/index.js +1 -0
- package/dist/typography/heading/Heading.svelte +35 -0
- package/dist/typography/heading/Heading.svelte.d.ts +10 -0
- package/dist/typography/heading/index.d.ts +2 -0
- package/dist/typography/heading/index.js +2 -0
- package/dist/typography/heading/theme.d.ts +30 -0
- package/dist/typography/heading/theme.js +17 -0
- package/dist/ui/accordion/Accordion.svelte +49 -0
- package/dist/ui/accordion/Accordion.svelte.d.ts +4 -0
- package/dist/ui/accordion/AccordionItem.svelte +173 -0
- package/dist/ui/accordion/AccordionItem.svelte.d.ts +4 -0
- package/dist/ui/accordion/index.d.ts +3 -0
- package/dist/ui/accordion/index.js +3 -0
- package/dist/ui/accordion/theme.d.ts +96 -0
- package/dist/ui/accordion/theme.js +59 -0
- package/dist/ui/alert/Alert.svelte +83 -0
- package/dist/ui/alert/Alert.svelte.d.ts +5 -0
- package/dist/ui/alert/index.d.ts +2 -0
- package/dist/ui/alert/index.js +2 -0
- package/dist/ui/alert/theme.d.ts +108 -0
- package/dist/ui/alert/theme.js +149 -0
- package/dist/ui/alertDialog/AlertDialog.svelte +40 -0
- package/dist/ui/alertDialog/AlertDialog.svelte.d.ts +4 -0
- package/dist/ui/alertDialog/index.d.ts +1 -0
- package/dist/ui/alertDialog/index.js +1 -0
- package/dist/ui/avatar/Avatar.svelte +77 -0
- package/dist/ui/avatar/Avatar.svelte.d.ts +4 -0
- package/dist/ui/avatar/index.d.ts +2 -0
- package/dist/ui/avatar/index.js +2 -0
- package/dist/ui/avatar/theme.d.ts +63 -0
- package/dist/ui/avatar/theme.js +31 -0
- package/dist/ui/buttons/Button.svelte +102 -0
- package/dist/ui/buttons/Button.svelte.d.ts +4 -0
- package/dist/ui/buttons/GradientButton.svelte +59 -0
- package/dist/ui/buttons/GradientButton.svelte.d.ts +4 -0
- package/dist/ui/buttons/index.d.ts +3 -0
- package/dist/ui/buttons/index.js +3 -0
- package/dist/ui/buttons/theme.d.ts +704 -0
- package/dist/ui/buttons/theme.js +332 -0
- package/dist/ui/datatable/Datatable.svelte +516 -0
- package/dist/ui/datatable/Datatable.svelte.d.ts +5 -0
- package/dist/ui/datatable/index.d.ts +2 -0
- package/dist/ui/datatable/index.js +2 -0
- package/dist/ui/drawer/Drawer.svelte +280 -0
- package/dist/ui/drawer/Drawer.svelte.d.ts +37 -0
- package/dist/ui/drawer/index.d.ts +2 -0
- package/dist/ui/drawer/index.js +2 -0
- package/dist/ui/drawer/theme.d.ts +211 -0
- package/dist/ui/drawer/theme.js +46 -0
- package/dist/ui/dropdown/Dropdown.svelte +36 -0
- package/dist/ui/dropdown/Dropdown.svelte.d.ts +4 -0
- package/dist/ui/dropdown/DropdownDivider.svelte +11 -0
- package/dist/ui/dropdown/DropdownDivider.svelte.d.ts +4 -0
- package/dist/ui/dropdown/DropdownGroup.svelte +14 -0
- package/dist/ui/dropdown/DropdownGroup.svelte.d.ts +4 -0
- package/dist/ui/dropdown/DropdownHeader.svelte +14 -0
- package/dist/ui/dropdown/DropdownHeader.svelte.d.ts +4 -0
- package/dist/ui/dropdown/DropdownItem.svelte +52 -0
- package/dist/ui/dropdown/DropdownItem.svelte.d.ts +4 -0
- package/dist/ui/dropdown/index.d.ts +6 -0
- package/dist/ui/dropdown/index.js +6 -0
- package/dist/ui/dropdown/theme.d.ts +55 -0
- package/dist/ui/dropdown/theme.js +20 -0
- package/dist/ui/footer/Footer.svelte +15 -0
- package/dist/ui/footer/Footer.svelte.d.ts +4 -0
- package/dist/ui/footer/FooterBrand.svelte +37 -0
- package/dist/ui/footer/FooterBrand.svelte.d.ts +4 -0
- package/dist/ui/footer/FooterCopyright.svelte +45 -0
- package/dist/ui/footer/FooterCopyright.svelte.d.ts +4 -0
- package/dist/ui/footer/FooterIcon.svelte +22 -0
- package/dist/ui/footer/FooterIcon.svelte.d.ts +4 -0
- package/dist/ui/footer/FooterLink.svelte +33 -0
- package/dist/ui/footer/FooterLink.svelte.d.ts +4 -0
- package/dist/ui/footer/FooterLinkGroup.svelte +13 -0
- package/dist/ui/footer/FooterLinkGroup.svelte.d.ts +4 -0
- package/dist/ui/footer/index.d.ts +7 -0
- package/dist/ui/footer/index.js +7 -0
- package/dist/ui/footer/theme.d.ts +137 -0
- package/dist/ui/footer/theme.js +39 -0
- package/dist/ui/indicator/Indicator.svelte +42 -0
- package/dist/ui/indicator/Indicator.svelte.d.ts +4 -0
- package/dist/ui/indicator/index.d.ts +2 -0
- package/dist/ui/indicator/index.js +2 -0
- package/dist/ui/indicator/theme.d.ts +177 -0
- package/dist/ui/indicator/theme.js +114 -0
- package/dist/ui/modal/Modal.svelte +265 -0
- package/dist/ui/modal/Modal.svelte.d.ts +38 -0
- package/dist/ui/modal/index.d.ts +2 -0
- package/dist/ui/modal/index.js +2 -0
- package/dist/ui/modal/theme.d.ts +190 -0
- package/dist/ui/modal/theme.js +41 -0
- package/dist/ui/notificationList/NotificationList.svelte +123 -0
- package/dist/ui/notificationList/NotificationList.svelte.d.ts +25 -0
- package/dist/ui/notificationList/index.d.ts +1 -0
- package/dist/ui/notificationList/index.js +1 -0
- package/dist/ui/pageLoader/PageLoader.svelte +10 -0
- package/dist/ui/pageLoader/PageLoader.svelte.d.ts +4 -0
- package/dist/ui/pageLoader/index.d.ts +1 -0
- package/dist/ui/pageLoader/index.js +1 -0
- package/dist/ui/paginate/Paginate.svelte +96 -0
- package/dist/ui/paginate/Paginate.svelte.d.ts +4 -0
- package/dist/ui/paginate/index.d.ts +1 -0
- package/dist/ui/paginate/index.js +1 -0
- package/dist/ui/tab/Tab.svelte +65 -0
- package/dist/ui/tab/Tab.svelte.d.ts +4 -0
- package/dist/ui/tab/index.d.ts +2 -0
- package/dist/ui/tab/index.js +2 -0
- package/dist/ui/tab/theme.d.ts +135 -0
- package/dist/ui/tab/theme.js +83 -0
- package/dist/ui/table/Table.svelte +385 -0
- package/dist/ui/table/Table.svelte.d.ts +4 -0
- package/dist/ui/table/index.d.ts +1 -0
- package/dist/ui/table/index.js +1 -0
- package/dist/ui/tableLoader/TableLoader.svelte +24 -0
- package/dist/ui/tableLoader/TableLoader.svelte.d.ts +13 -0
- package/dist/ui/tableLoader/index.d.ts +1 -0
- package/dist/ui/tableLoader/index.js +1 -0
- package/dist/ui/toolbar/Toolbar.svelte +59 -0
- package/dist/ui/toolbar/Toolbar.svelte.d.ts +17 -0
- package/dist/ui/toolbar/ToolbarButton.svelte +56 -0
- package/dist/ui/toolbar/ToolbarButton.svelte.d.ts +17 -0
- package/dist/ui/toolbar/ToolbarGroup.svelte +43 -0
- package/dist/ui/toolbar/ToolbarGroup.svelte.d.ts +16 -0
- package/dist/ui/toolbar/index.d.ts +4 -0
- package/dist/ui/toolbar/index.js +4 -0
- package/dist/ui/toolbar/theme.d.ts +320 -0
- package/dist/ui/toolbar/theme.js +155 -0
- package/dist/utils/Popper.svelte +257 -0
- package/dist/utils/Popper.svelte.d.ts +4 -0
- package/dist/utils/action.d.ts +16 -0
- package/dist/utils/action.js +107 -0
- package/dist/utils/closeButton/CloseButton.svelte +88 -0
- package/dist/utils/closeButton/CloseButton.svelte.d.ts +12 -0
- package/dist/utils/closeButton/index.d.ts +2 -0
- package/dist/utils/closeButton/index.js +2 -0
- package/dist/utils/closeButton/theme.d.ts +100 -0
- package/dist/utils/closeButton/theme.js +69 -0
- package/dist/utils/dismissable.d.ts +9 -0
- package/dist/utils/dismissable.js +16 -0
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/index.js +35 -0
- package/dist/utils/paginate.svelte.d.ts +22 -0
- package/dist/utils/paginate.svelte.js +167 -0
- package/dist/utils/singleSelection.svelte.d.ts +15 -0
- package/dist/utils/singleSelection.svelte.js +49 -0
- package/dist/utils/svelte-legos.d.ts +7 -0
- package/dist/utils/svelte-legos.js +14 -0
- package/package.json +24 -2
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { type VariantProps } from "tailwind-variants";
|
|
2
|
+
export type AlertVariants = VariantProps<typeof alert>;
|
|
3
|
+
export declare const alert: import("tailwind-variants").TVReturnType<{
|
|
4
|
+
color: {
|
|
5
|
+
primary: string;
|
|
6
|
+
secondary: string;
|
|
7
|
+
gray: string;
|
|
8
|
+
red: string;
|
|
9
|
+
orange: string;
|
|
10
|
+
amber: string;
|
|
11
|
+
yellow: string;
|
|
12
|
+
lime: string;
|
|
13
|
+
green: string;
|
|
14
|
+
emerald: string;
|
|
15
|
+
teal: string;
|
|
16
|
+
cyan: string;
|
|
17
|
+
sky: string;
|
|
18
|
+
blue: string;
|
|
19
|
+
indigo: string;
|
|
20
|
+
violet: string;
|
|
21
|
+
purple: string;
|
|
22
|
+
fuchsia: string;
|
|
23
|
+
pink: string;
|
|
24
|
+
rose: string;
|
|
25
|
+
};
|
|
26
|
+
rounded: {
|
|
27
|
+
true: string;
|
|
28
|
+
};
|
|
29
|
+
border: {
|
|
30
|
+
true: string;
|
|
31
|
+
};
|
|
32
|
+
icon: {
|
|
33
|
+
true: string;
|
|
34
|
+
};
|
|
35
|
+
dismissable: {
|
|
36
|
+
true: string;
|
|
37
|
+
};
|
|
38
|
+
}, undefined, "p-4 gap-3 text-sm", {
|
|
39
|
+
color: {
|
|
40
|
+
primary: string;
|
|
41
|
+
secondary: string;
|
|
42
|
+
gray: string;
|
|
43
|
+
red: string;
|
|
44
|
+
orange: string;
|
|
45
|
+
amber: string;
|
|
46
|
+
yellow: string;
|
|
47
|
+
lime: string;
|
|
48
|
+
green: string;
|
|
49
|
+
emerald: string;
|
|
50
|
+
teal: string;
|
|
51
|
+
cyan: string;
|
|
52
|
+
sky: string;
|
|
53
|
+
blue: string;
|
|
54
|
+
indigo: string;
|
|
55
|
+
violet: string;
|
|
56
|
+
purple: string;
|
|
57
|
+
fuchsia: string;
|
|
58
|
+
pink: string;
|
|
59
|
+
rose: string;
|
|
60
|
+
};
|
|
61
|
+
rounded: {
|
|
62
|
+
true: string;
|
|
63
|
+
};
|
|
64
|
+
border: {
|
|
65
|
+
true: string;
|
|
66
|
+
};
|
|
67
|
+
icon: {
|
|
68
|
+
true: string;
|
|
69
|
+
};
|
|
70
|
+
dismissable: {
|
|
71
|
+
true: string;
|
|
72
|
+
};
|
|
73
|
+
}, undefined, import("tailwind-variants").TVReturnType<{
|
|
74
|
+
color: {
|
|
75
|
+
primary: string;
|
|
76
|
+
secondary: string;
|
|
77
|
+
gray: string;
|
|
78
|
+
red: string;
|
|
79
|
+
orange: string;
|
|
80
|
+
amber: string;
|
|
81
|
+
yellow: string;
|
|
82
|
+
lime: string;
|
|
83
|
+
green: string;
|
|
84
|
+
emerald: string;
|
|
85
|
+
teal: string;
|
|
86
|
+
cyan: string;
|
|
87
|
+
sky: string;
|
|
88
|
+
blue: string;
|
|
89
|
+
indigo: string;
|
|
90
|
+
violet: string;
|
|
91
|
+
purple: string;
|
|
92
|
+
fuchsia: string;
|
|
93
|
+
pink: string;
|
|
94
|
+
rose: string;
|
|
95
|
+
};
|
|
96
|
+
rounded: {
|
|
97
|
+
true: string;
|
|
98
|
+
};
|
|
99
|
+
border: {
|
|
100
|
+
true: string;
|
|
101
|
+
};
|
|
102
|
+
icon: {
|
|
103
|
+
true: string;
|
|
104
|
+
};
|
|
105
|
+
dismissable: {
|
|
106
|
+
true: string;
|
|
107
|
+
};
|
|
108
|
+
}, undefined, "p-4 gap-3 text-sm", unknown, unknown, undefined>>;
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { tv } from "tailwind-variants";
|
|
2
|
+
export const alert = tv({
|
|
3
|
+
base: "p-4 gap-3 text-sm",
|
|
4
|
+
variants: {
|
|
5
|
+
color: {
|
|
6
|
+
// primary, secondary, gray, red, orange, amber, yellow, lime, green, emerald, teal, cyan, sky, blue, indigo, violet, purple, fuchsia, pink, rose
|
|
7
|
+
primary: "bg-primary-50 dark:bg-gray-800 text-primary-800 dark:text-primary-400",
|
|
8
|
+
secondary: "bg-secondary-50 dark:bg-secondary-800 text-secondary-800 dark:text-secondary-400",
|
|
9
|
+
gray: "bg-gray-100 text-gray-500 focus:ring-gray-400 dark:bg-gray-700 dark:text-gray-300",
|
|
10
|
+
red: "bg-red-100 text-red-500 focus:ring-red-400 dark:bg-red-200 dark:text-red-600",
|
|
11
|
+
orange: "bg-orange-100 text-orange-500 focus:ring-orange-400 dark:bg-orange-200 dark:text-orange-600",
|
|
12
|
+
amber: "bg-amber-100 text-amber-500 focus:ring-amber-400 dark:bg-amber-200 dark:text-amber-600",
|
|
13
|
+
yellow: "bg-yellow-100 text-yellow-500 focus:ring-yellow-400 dark:bg-yellow-200 dark:text-yellow-600",
|
|
14
|
+
lime: "bg-lime-100 text-lime-500 focus:ring-lime-400 dark:bg-lime-200 dark:text-lime-600",
|
|
15
|
+
green: "bg-green-100 text-green-500 focus:ring-green-400 dark:bg-green-200 dark:text-green-600",
|
|
16
|
+
emerald: "bg-emerald-100 text-emerald-500 focus:ring-emerald-400 dark:bg-emerald-200 dark:text-emerald-600",
|
|
17
|
+
teal: "bg-teal-100 text-teal-500 focus:ring-teal-400 dark:bg-teal-200 dark:text-teal-600",
|
|
18
|
+
cyan: "bg-cyan-100 text-cyan-500 focus:ring-cyan-400 dark:bg-cyan-200 dark:text-cyan-600",
|
|
19
|
+
sky: "bg-sky-100 text-sky-500 focus:ring-sky-400 dark:bg-sky-200 dark:text-sky-600",
|
|
20
|
+
blue: "bg-blue-100 text-blue-500 focus:ring-blue-400 dark:bg-blue-200 dark:text-blue-600",
|
|
21
|
+
indigo: "bg-indigo-100 text-indigo-500 focus:ring-indigo-400 dark:bg-indigo-200 dark:text-indigo-600",
|
|
22
|
+
violet: "bg-violet-100 text-violet-500 focus:ring-violet-400 dark:bg-violet-200 dark:text-violet-600",
|
|
23
|
+
purple: "bg-purple-100 text-purple-500 focus:ring-purple-400 dark:bg-purple-200 dark:text-purple-600",
|
|
24
|
+
fuchsia: "bg-fuchsia-100 text-fuchsia-500 focus:ring-fuchsia-400 dark:bg-fuchsia-200 dark:text-fuchsia-600",
|
|
25
|
+
pink: "bg-pink-100 text-pink-500 focus:ring-pink-400 dark:bg-pink-200 dark:text-pink-600",
|
|
26
|
+
rose: "bg-rose-100 text-rose-500 focus:ring-rose-400 dark:bg-rose-200 dark:text-rose-600"
|
|
27
|
+
},
|
|
28
|
+
rounded: {
|
|
29
|
+
true: "rounded-lg"
|
|
30
|
+
},
|
|
31
|
+
border: {
|
|
32
|
+
true: "border"
|
|
33
|
+
},
|
|
34
|
+
icon: {
|
|
35
|
+
true: "flex items-center"
|
|
36
|
+
},
|
|
37
|
+
dismissable: {
|
|
38
|
+
true: "flex items-center"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
compoundVariants: [
|
|
42
|
+
// primary, secondary, gray, red, orange, amber, yellow, lime, green, emerald, teal, cyan, sky, blue, indigo, violet, purple, fuchsia, pink, rose
|
|
43
|
+
{
|
|
44
|
+
border: true,
|
|
45
|
+
color: "primary",
|
|
46
|
+
class: "border-primary-500 dark:border-primary-200 divide-primary-500 dark:divide-primary-200"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
border: true,
|
|
50
|
+
color: "secondary",
|
|
51
|
+
class: "border-secondary-500 dark:border-secondary-200 divide-secondary-500 dark:divide-secondary-200"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
border: true,
|
|
55
|
+
color: "gray",
|
|
56
|
+
class: "border-gray-300 dark:border-gray-800 divide-gray-300 dark:divide-gray-800"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
border: true,
|
|
60
|
+
color: "red",
|
|
61
|
+
class: "border-red-300 dark:border-red-800 divide-red-300 dark:divide-red-800"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
border: true,
|
|
65
|
+
color: "orange",
|
|
66
|
+
class: "border-orange-300 dark:border-orange-800 divide-orange-300 dark:divide-orange-800"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
border: true,
|
|
70
|
+
color: "amber",
|
|
71
|
+
class: "border-amber-300 dark:border-amber-800 divide-amber-300 dark:divide-amber-800"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
border: true,
|
|
75
|
+
color: "yellow",
|
|
76
|
+
class: "border-yellow-300 dark:border-yellow-800 divide-yellow-300 dark:divide-yellow-800"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
border: true,
|
|
80
|
+
color: "lime",
|
|
81
|
+
class: "border-lime-300 dark:border-lime-800 divide-lime-300 dark:divide-lime-800"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
border: true,
|
|
85
|
+
color: "green",
|
|
86
|
+
class: "border-green-300 dark:border-green-800 divide-green-300 dark:divide-green-800"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
border: true,
|
|
90
|
+
color: "emerald",
|
|
91
|
+
class: "border-emerald-300 dark:border-emerald-800 divide-emerald-300 dark:divide-emerald-800"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
border: true,
|
|
95
|
+
color: "teal",
|
|
96
|
+
class: "border-teal-300 dark:border-teal-800 divide-teal-300 dark:divide-teal-800"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
border: true,
|
|
100
|
+
color: "cyan",
|
|
101
|
+
class: "border-cyan-300 dark:border-cyan-800 divide-cyan-300 dark:divide-cyan-800"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
border: true,
|
|
105
|
+
color: "sky",
|
|
106
|
+
class: "border-sky-300 dark:border-sky-800 divide-sky-300 dark:divide-sky-800"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
border: true,
|
|
110
|
+
color: "blue",
|
|
111
|
+
class: "border-blue-300 dark:border-blue-800 divide-blue-300 dark:divide-blue-800"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
border: true,
|
|
115
|
+
color: "indigo",
|
|
116
|
+
class: "border-indigo-300 dark:border-indigo-800 divide-indigo-300 dark:divide-indigo-800"
|
|
117
|
+
},
|
|
118
|
+
// violet, purple, fuchsia, pink, rose
|
|
119
|
+
{
|
|
120
|
+
border: true,
|
|
121
|
+
color: "violet",
|
|
122
|
+
class: "border-violet-300 dark:border-violet-800 divide-violet-300 dark:divide-violet-800"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
border: true,
|
|
126
|
+
color: "purple",
|
|
127
|
+
class: "border-purple-300 dark:border-purple-800 divide-purple-300 dark:divide-purple-800"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
border: true,
|
|
131
|
+
color: "fuchsia",
|
|
132
|
+
class: "border-fuchsia-300 dark:border-fuchsia-800 divide-fuchsia-300 dark:divide-fuchsia-800"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
border: true,
|
|
136
|
+
color: "pink",
|
|
137
|
+
class: "border-pink-300 dark:border-pink-800 divide-pink-300 dark:divide-pink-800"
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
border: true,
|
|
141
|
+
color: "rose",
|
|
142
|
+
class: "border-rose-300 dark:border-rose-800 divide-rose-300 dark:divide-rose-800"
|
|
143
|
+
}
|
|
144
|
+
],
|
|
145
|
+
defaultVariants: {
|
|
146
|
+
color: "primary",
|
|
147
|
+
rounded: true
|
|
148
|
+
}
|
|
149
|
+
});
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Modal, Button, type AlertDialogProps } from '../../index.js';
|
|
3
|
+
|
|
4
|
+
let {
|
|
5
|
+
open = $bindable(false),
|
|
6
|
+
message = '',
|
|
7
|
+
icon = 'line-md:alert-circle',
|
|
8
|
+
disableYes = false,
|
|
9
|
+
busy = false,
|
|
10
|
+
iconColor = '',
|
|
11
|
+
confirmText = "Yes, I'm sure",
|
|
12
|
+
buttonType = 'button',
|
|
13
|
+
dismissable = true,
|
|
14
|
+
onCancel,
|
|
15
|
+
onYes
|
|
16
|
+
}: AlertDialogProps = $props();
|
|
17
|
+
</script>
|
|
18
|
+
|
|
19
|
+
<div class="fixed z-[2000]">
|
|
20
|
+
<Modal bind:open size="xs" {dismissable}>
|
|
21
|
+
<div class="text-center">
|
|
22
|
+
<iconify-icon {icon} style="font-size: 100px;" class={iconColor}></iconify-icon>
|
|
23
|
+
<h3 class="mb-5 text-lg font-normal text-gray-500 dark:text-gray-400">{message}</h3>
|
|
24
|
+
<Button
|
|
25
|
+
type={buttonType}
|
|
26
|
+
disabled={disableYes || busy}
|
|
27
|
+
color="red"
|
|
28
|
+
class="mr-2"
|
|
29
|
+
onclick={onYes}
|
|
30
|
+
><div class="flex items-center gap-1">
|
|
31
|
+
{confirmText}
|
|
32
|
+
{#if busy}
|
|
33
|
+
<iconify-icon icon="svg-spinners:180-ring-with-bg" class="text-pink-600"></iconify-icon>
|
|
34
|
+
{/if}
|
|
35
|
+
</div></Button
|
|
36
|
+
>
|
|
37
|
+
<Button color="alternative" onclick={onCancel} disabled={busy}>No, cancel</Button>
|
|
38
|
+
</div>
|
|
39
|
+
</Modal>
|
|
40
|
+
</div>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as AlertDialog } from "./AlertDialog.svelte";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as AlertDialog } from "./AlertDialog.svelte";
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
import { avatar } from './theme.js';
|
|
4
|
+
import { Indicator } from '../indicator/index.js';
|
|
5
|
+
import { getTheme } from '../../themes/themeUtils.js';
|
|
6
|
+
import type { AvatarProps } from '../../index.js';
|
|
7
|
+
|
|
8
|
+
let {
|
|
9
|
+
children,
|
|
10
|
+
indicator,
|
|
11
|
+
src,
|
|
12
|
+
href,
|
|
13
|
+
target,
|
|
14
|
+
cornerStyle = 'circular',
|
|
15
|
+
border = false,
|
|
16
|
+
stacked = false,
|
|
17
|
+
dot,
|
|
18
|
+
class: className,
|
|
19
|
+
alt,
|
|
20
|
+
size = 'md',
|
|
21
|
+
onclick,
|
|
22
|
+
...restProps
|
|
23
|
+
}: AvatarProps = $props();
|
|
24
|
+
|
|
25
|
+
dot = dot && { placement: 'top-right', color: 'gray', size: 'lg', ...dot };
|
|
26
|
+
|
|
27
|
+
const theme = getTheme('avatar');
|
|
28
|
+
|
|
29
|
+
let avatarClass = $derived(
|
|
30
|
+
avatar({
|
|
31
|
+
cornerStyle,
|
|
32
|
+
border,
|
|
33
|
+
stacked,
|
|
34
|
+
size,
|
|
35
|
+
class: clsx(theme, className)
|
|
36
|
+
})
|
|
37
|
+
);
|
|
38
|
+
</script>
|
|
39
|
+
|
|
40
|
+
{#if !src || !!href || children || dot || indicator}
|
|
41
|
+
<svelte:element
|
|
42
|
+
this={href ? 'a' : 'div'}
|
|
43
|
+
role={href ? undefined : 'button'}
|
|
44
|
+
{onclick}
|
|
45
|
+
{href}
|
|
46
|
+
{target}
|
|
47
|
+
{...restProps}
|
|
48
|
+
class={avatarClass}
|
|
49
|
+
>
|
|
50
|
+
{#if src}
|
|
51
|
+
<img {alt} {src} class={cornerStyle === 'circular' ? 'rounded-full' : 'rounded-sm'} />
|
|
52
|
+
{:else if children}
|
|
53
|
+
{@render children()}
|
|
54
|
+
{:else}
|
|
55
|
+
<svg
|
|
56
|
+
class="h-full w-full {cornerStyle === 'circular' ? 'rounded-full' : 'rounded-sm'}"
|
|
57
|
+
fill="currentColor"
|
|
58
|
+
viewBox="0 0 16 16"
|
|
59
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
60
|
+
>
|
|
61
|
+
<path
|
|
62
|
+
fill-rule="evenodd"
|
|
63
|
+
d="M8 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z"
|
|
64
|
+
clip-rule="evenodd"
|
|
65
|
+
></path>
|
|
66
|
+
</svg>
|
|
67
|
+
{/if}
|
|
68
|
+
{#if dot}
|
|
69
|
+
<Indicator border offset={cornerStyle === 'circular' ? true : false} {...dot} />
|
|
70
|
+
{/if}
|
|
71
|
+
{#if indicator}
|
|
72
|
+
{@render indicator()}
|
|
73
|
+
{/if}
|
|
74
|
+
</svelte:element>
|
|
75
|
+
{:else}
|
|
76
|
+
<img {alt} {src} {...restProps} {onclick} class={avatarClass} />
|
|
77
|
+
{/if}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { type VariantProps } from "tailwind-variants";
|
|
2
|
+
export type AvatarVariants = VariantProps<typeof avatar>;
|
|
3
|
+
export declare const avatar: import("tailwind-variants").TVReturnType<{
|
|
4
|
+
cornerStyle: {
|
|
5
|
+
rounded: string;
|
|
6
|
+
circular: string;
|
|
7
|
+
};
|
|
8
|
+
border: {
|
|
9
|
+
true: string;
|
|
10
|
+
false: string;
|
|
11
|
+
};
|
|
12
|
+
stacked: {
|
|
13
|
+
true: string;
|
|
14
|
+
false: string;
|
|
15
|
+
};
|
|
16
|
+
size: {
|
|
17
|
+
xs: string;
|
|
18
|
+
sm: string;
|
|
19
|
+
md: string;
|
|
20
|
+
lg: string;
|
|
21
|
+
xl: string;
|
|
22
|
+
};
|
|
23
|
+
}, undefined, "relative flex items-center justify-center bg-gray-100 dark:bg-gray-600 text-gray-600 dark:text-gray-300", {
|
|
24
|
+
cornerStyle: {
|
|
25
|
+
rounded: string;
|
|
26
|
+
circular: string;
|
|
27
|
+
};
|
|
28
|
+
border: {
|
|
29
|
+
true: string;
|
|
30
|
+
false: string;
|
|
31
|
+
};
|
|
32
|
+
stacked: {
|
|
33
|
+
true: string;
|
|
34
|
+
false: string;
|
|
35
|
+
};
|
|
36
|
+
size: {
|
|
37
|
+
xs: string;
|
|
38
|
+
sm: string;
|
|
39
|
+
md: string;
|
|
40
|
+
lg: string;
|
|
41
|
+
xl: string;
|
|
42
|
+
};
|
|
43
|
+
}, undefined, import("tailwind-variants").TVReturnType<{
|
|
44
|
+
cornerStyle: {
|
|
45
|
+
rounded: string;
|
|
46
|
+
circular: string;
|
|
47
|
+
};
|
|
48
|
+
border: {
|
|
49
|
+
true: string;
|
|
50
|
+
false: string;
|
|
51
|
+
};
|
|
52
|
+
stacked: {
|
|
53
|
+
true: string;
|
|
54
|
+
false: string;
|
|
55
|
+
};
|
|
56
|
+
size: {
|
|
57
|
+
xs: string;
|
|
58
|
+
sm: string;
|
|
59
|
+
md: string;
|
|
60
|
+
lg: string;
|
|
61
|
+
xl: string;
|
|
62
|
+
};
|
|
63
|
+
}, undefined, "relative flex items-center justify-center bg-gray-100 dark:bg-gray-600 text-gray-600 dark:text-gray-300", unknown, unknown, undefined>>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { tv } from "tailwind-variants";
|
|
2
|
+
export const avatar = tv({
|
|
3
|
+
base: "relative flex items-center justify-center bg-gray-100 dark:bg-gray-600 text-gray-600 dark:text-gray-300",
|
|
4
|
+
variants: {
|
|
5
|
+
cornerStyle: {
|
|
6
|
+
rounded: "rounded-sm",
|
|
7
|
+
circular: "rounded-full"
|
|
8
|
+
},
|
|
9
|
+
border: {
|
|
10
|
+
true: "p-1 ring-2 ring-gray-300 dark:ring-gray-500",
|
|
11
|
+
false: ""
|
|
12
|
+
},
|
|
13
|
+
stacked: {
|
|
14
|
+
true: "border-2 -ms-4 border-white dark:border-gray-800",
|
|
15
|
+
false: ""
|
|
16
|
+
},
|
|
17
|
+
size: {
|
|
18
|
+
xs: "w-6 h-6",
|
|
19
|
+
sm: "w-8 h-8",
|
|
20
|
+
md: "w-10 h-10",
|
|
21
|
+
lg: "w-20 h-20",
|
|
22
|
+
xl: "w-36 h-36"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
defaultVariants: {
|
|
26
|
+
cornerStyle: "circular",
|
|
27
|
+
border: false,
|
|
28
|
+
stacked: false,
|
|
29
|
+
size: "md"
|
|
30
|
+
}
|
|
31
|
+
});
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
<script lang="ts">
|
|
4
|
+
import { getContext, type Snippet } from 'svelte';
|
|
5
|
+
import clsx from 'clsx';
|
|
6
|
+
import { button, getTheme, type ButtonProps, type SizeType } from '../../index.js';
|
|
7
|
+
|
|
8
|
+
const group: SizeType = getContext('group');
|
|
9
|
+
const ctxDisabled: boolean | undefined = getContext('disabled');
|
|
10
|
+
|
|
11
|
+
let {
|
|
12
|
+
children,
|
|
13
|
+
pill,
|
|
14
|
+
outline = false,
|
|
15
|
+
size = 'md',
|
|
16
|
+
color,
|
|
17
|
+
shadow = false,
|
|
18
|
+
tag = 'button',
|
|
19
|
+
disabled,
|
|
20
|
+
loading = false,
|
|
21
|
+
class: className,
|
|
22
|
+
leadingIcon,
|
|
23
|
+
trailingIcon,
|
|
24
|
+
ripple = true,
|
|
25
|
+
...restProps
|
|
26
|
+
}: ButtonProps = $props();
|
|
27
|
+
|
|
28
|
+
const theme = getTheme('button');
|
|
29
|
+
|
|
30
|
+
let actualSize = $derived(group ? 'sm' : size);
|
|
31
|
+
let actualColor = $derived(color ?? (group ? (outline ? 'dark' : 'alternative') : 'primary'));
|
|
32
|
+
let isDisabled = $derived(Boolean(ctxDisabled) || Boolean(disabled) || loading);
|
|
33
|
+
|
|
34
|
+
const {
|
|
35
|
+
base,
|
|
36
|
+
outline: outline_,
|
|
37
|
+
shadow: shadow_
|
|
38
|
+
} = $derived(
|
|
39
|
+
button({ color: actualColor, size: actualSize, disabled: isDisabled, pill, group: !!group })
|
|
40
|
+
);
|
|
41
|
+
let btnCls = $derived(
|
|
42
|
+
base({ class: clsx(outline && outline_(), shadow && shadow_(), theme?.base, className) })
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
function createRipple(event: MouseEvent) {
|
|
46
|
+
if (!ripple || isDisabled) {
|
|
47
|
+
// onclick?.(event as any);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const button = event.currentTarget as HTMLElement;
|
|
52
|
+
const diameter = Math.max(button.clientWidth, button.clientHeight);
|
|
53
|
+
const radius = diameter / 2;
|
|
54
|
+
|
|
55
|
+
const rippleSpan = document.createElement('span');
|
|
56
|
+
rippleSpan.style.width = rippleSpan.style.height = `${diameter}px`;
|
|
57
|
+
rippleSpan.style.left = `${event.clientX - button.getBoundingClientRect().left - radius}px`;
|
|
58
|
+
rippleSpan.style.top = `${event.clientY - button.getBoundingClientRect().top - radius}px`;
|
|
59
|
+
rippleSpan.classList.add('ripple', 'opacity-70');
|
|
60
|
+
|
|
61
|
+
rippleSpan.addEventListener('animationend', () => {
|
|
62
|
+
{
|
|
63
|
+
// onclick?.(event as any);
|
|
64
|
+
rippleSpan.remove();
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
button.appendChild(rippleSpan);
|
|
68
|
+
}
|
|
69
|
+
</script>
|
|
70
|
+
|
|
71
|
+
{#if restProps.href === undefined}
|
|
72
|
+
<button type="button" {...restProps} class={btnCls} disabled={isDisabled}>
|
|
73
|
+
{@render leadingIcon?.()}
|
|
74
|
+
{@render children?.()}
|
|
75
|
+
{@render trailingIcon?.()}
|
|
76
|
+
|
|
77
|
+
{#if loading}
|
|
78
|
+
<svg
|
|
79
|
+
class="ml-2 h-4 w-4 animate-spin text-white"
|
|
80
|
+
fill="none"
|
|
81
|
+
viewBox="0 0 24 24"
|
|
82
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
83
|
+
aria-hidden="true"
|
|
84
|
+
>
|
|
85
|
+
<circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4" />
|
|
86
|
+
<path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8v4a4 4 0 00-4 4H4z" />
|
|
87
|
+
</svg>
|
|
88
|
+
{/if}
|
|
89
|
+
</button>
|
|
90
|
+
{:else if restProps.href}
|
|
91
|
+
<a {...restProps} class={btnCls} role="button">
|
|
92
|
+
{@render leadingIcon?.()}
|
|
93
|
+
{@render children?.()}
|
|
94
|
+
{@render trailingIcon?.()}
|
|
95
|
+
</a>
|
|
96
|
+
{:else}
|
|
97
|
+
<svelte:element this={tag} {...restProps} class={btnCls}>
|
|
98
|
+
{@render leadingIcon?.()}
|
|
99
|
+
{@render children?.()}
|
|
100
|
+
{@render trailingIcon?.()}
|
|
101
|
+
</svelte:element>
|
|
102
|
+
{/if}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
<script lang="ts">
|
|
4
|
+
import { getContext, type Snippet } from 'svelte';
|
|
5
|
+
import clsx from 'clsx';
|
|
6
|
+
import {
|
|
7
|
+
Button,
|
|
8
|
+
getTheme,
|
|
9
|
+
gradientButton,
|
|
10
|
+
type GradientButtonProps,
|
|
11
|
+
type SizeType
|
|
12
|
+
} from '../../index.js';
|
|
13
|
+
|
|
14
|
+
const group: SizeType = getContext('group');
|
|
15
|
+
|
|
16
|
+
let {
|
|
17
|
+
children,
|
|
18
|
+
outline,
|
|
19
|
+
pill,
|
|
20
|
+
color = 'blue',
|
|
21
|
+
shadow,
|
|
22
|
+
class: className,
|
|
23
|
+
href,
|
|
24
|
+
disabled,
|
|
25
|
+
size,
|
|
26
|
+
btnClass,
|
|
27
|
+
...restProps
|
|
28
|
+
}: GradientButtonProps = $props();
|
|
29
|
+
|
|
30
|
+
const theme = getTheme('gradientButton');
|
|
31
|
+
|
|
32
|
+
const { base, outlineWrapper } = $derived(
|
|
33
|
+
gradientButton({ color, outline, pill, shadow, disabled, size, group: !!group })
|
|
34
|
+
);
|
|
35
|
+
</script>
|
|
36
|
+
|
|
37
|
+
{#if outline}
|
|
38
|
+
<div class={base({ class: clsx(theme?.base, className) })}>
|
|
39
|
+
<Button
|
|
40
|
+
{...restProps}
|
|
41
|
+
class={outlineWrapper({ class: clsx(theme?.outlineWrapper, btnClass) })}
|
|
42
|
+
{disabled}
|
|
43
|
+
{href}
|
|
44
|
+
{size}
|
|
45
|
+
>
|
|
46
|
+
{@render children?.()}
|
|
47
|
+
</Button>
|
|
48
|
+
</div>
|
|
49
|
+
{:else}
|
|
50
|
+
<Button
|
|
51
|
+
{...restProps}
|
|
52
|
+
class={base({ class: clsx(theme?.base, className) })}
|
|
53
|
+
{disabled}
|
|
54
|
+
{href}
|
|
55
|
+
{size}
|
|
56
|
+
>
|
|
57
|
+
{@render children?.()}
|
|
58
|
+
</Button>
|
|
59
|
+
{/if}
|