@sikka/hawa 0.26.31 → 0.26.33
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/{Toast-pOd4uGZz.d.ts → Toast-YaClwi7z.d.ts} +9 -1
- package/dist/{Toast-VBd4UvlM.d.mts → Toast-ySvjL_-K.d.mts} +9 -1
- package/dist/accordion/index.mjs +7 -4
- package/dist/accordion/index.mjs.map +1 -1
- package/dist/alert/index.js +4 -4
- package/dist/alert/index.js.map +1 -1
- package/dist/alert/index.mjs +11 -8
- package/dist/alert/index.mjs.map +1 -1
- package/dist/appLayout/index.js +2 -1
- package/dist/appLayout/index.js.map +1 -1
- package/dist/appLayout/index.mjs +9 -5
- package/dist/appLayout/index.mjs.map +1 -1
- package/dist/appMenubar/index.mjs +9 -4
- package/dist/appMenubar/index.mjs.map +1 -1
- package/dist/appTabs/index.mjs +9 -4
- package/dist/appTabs/index.mjs.map +1 -1
- package/dist/appTopbar/index.mjs +9 -4
- package/dist/appTopbar/index.mjs.map +1 -1
- package/dist/avatar/index.js +2 -1
- package/dist/avatar/index.js.map +1 -1
- package/dist/avatar/index.mjs +9 -5
- package/dist/avatar/index.mjs.map +1 -1
- package/dist/backToTop/index.js +6 -3
- package/dist/backToTop/index.js.map +1 -1
- package/dist/backToTop/index.mjs +13 -7
- package/dist/backToTop/index.mjs.map +1 -1
- package/dist/badge/index.js +4 -3
- package/dist/badge/index.js.map +1 -1
- package/dist/badge/index.mjs +13 -7
- package/dist/badge/index.mjs.map +1 -1
- package/dist/button/index.mjs +7 -4
- package/dist/button/index.mjs.map +1 -1
- package/dist/card/index.mjs +9 -4
- package/dist/card/index.mjs.map +1 -1
- package/dist/carousel/index.js +10 -10
- package/dist/carousel/index.js.map +1 -1
- package/dist/carousel/index.mjs +19 -14
- package/dist/carousel/index.mjs.map +1 -1
- package/dist/checkbox/index.mjs +9 -4
- package/dist/checkbox/index.mjs.map +1 -1
- package/dist/chip/index.mjs +9 -4
- package/dist/chip/index.mjs.map +1 -1
- package/dist/chunk-A3ERTYS4.mjs +29 -0
- package/dist/codeBlock/index.js +1 -1
- package/dist/codeBlock/index.js.map +1 -1
- package/dist/codeBlock/index.mjs +84 -24
- package/dist/codeBlock/index.mjs.map +1 -1
- package/dist/collapsible/index.mjs +0 -2
- package/dist/collapsible/index.mjs.map +1 -1
- package/dist/colorPicker/index.js +2 -1
- package/dist/colorPicker/index.js.map +1 -1
- package/dist/colorPicker/index.mjs +92 -20
- package/dist/colorPicker/index.mjs.map +1 -1
- package/dist/combobox/index.js +4 -3
- package/dist/combobox/index.js.map +1 -1
- package/dist/combobox/index.mjs +445 -27
- package/dist/combobox/index.mjs.map +1 -1
- package/dist/command/index.mjs +429 -11
- package/dist/command/index.mjs.map +1 -1
- package/dist/dataTable/index.js +36 -27
- package/dist/dataTable/index.js.map +1 -1
- package/dist/dataTable/index.mjs +43 -31
- package/dist/dataTable/index.mjs.map +1 -1
- package/dist/destroyableCard/index.js +2 -2
- package/dist/destroyableCard/index.js.map +1 -1
- package/dist/destroyableCard/index.mjs +9 -6
- package/dist/destroyableCard/index.mjs.map +1 -1
- package/dist/dialog/index.mjs +9 -4
- package/dist/dialog/index.mjs.map +1 -1
- package/dist/docsLayout/index.js +2 -2
- package/dist/docsLayout/index.js.map +1 -1
- package/dist/docsLayout/index.mjs +9 -6
- package/dist/docsLayout/index.mjs.map +1 -1
- package/dist/docsSidebar/index.js +2 -2
- package/dist/docsSidebar/index.js.map +1 -1
- package/dist/docsSidebar/index.mjs +11 -6
- package/dist/docsSidebar/index.mjs.map +1 -1
- package/dist/dropdownMenu/index.mjs +9 -4
- package/dist/dropdownMenu/index.mjs.map +1 -1
- package/dist/elements/index.d.mts +4 -2
- package/dist/elements/index.d.ts +4 -2
- package/dist/elements/index.js +8 -135
- package/dist/elements/index.mjs +10 -14
- package/dist/fileDropzone/index.js +12 -11
- package/dist/fileDropzone/index.js.map +1 -1
- package/dist/fileDropzone/index.mjs +21 -17
- package/dist/fileDropzone/index.mjs.map +1 -1
- package/dist/fileUploader/index.js +2 -1
- package/dist/fileUploader/index.js.map +1 -1
- package/dist/fileUploader/index.mjs +2 -1
- package/dist/fileUploader/index.mjs.map +1 -1
- package/dist/glow/index.js +24 -17
- package/dist/glow/index.js.map +1 -1
- package/dist/glow/index.mjs +24 -17
- package/dist/glow/index.mjs.map +1 -1
- package/dist/hooks/index.d.mts +9 -18
- package/dist/hooks/index.d.ts +9 -18
- package/dist/hooks/index.mjs +146 -27
- package/dist/index.d.mts +18 -17
- package/dist/index.d.ts +18 -17
- package/dist/index.js +167 -172
- package/dist/index.mjs +589 -594
- package/dist/input/index.js +3 -2
- package/dist/input/index.js.map +1 -1
- package/dist/input/index.mjs +118 -19
- package/dist/input/index.mjs.map +1 -1
- package/dist/interfaceSettings/index.js +6 -4
- package/dist/interfaceSettings/index.js.map +1 -1
- package/dist/interfaceSettings/index.mjs +130 -28
- package/dist/interfaceSettings/index.mjs.map +1 -1
- package/dist/label/index.mjs +7 -4
- package/dist/label/index.mjs.map +1 -1
- package/dist/loading/index.mjs +9 -4
- package/dist/loading/index.mjs.map +1 -1
- package/dist/navbar/index.js +3 -2
- package/dist/navbar/index.js.map +1 -1
- package/dist/navbar/index.mjs +10 -6
- package/dist/navbar/index.mjs.map +1 -1
- package/dist/navigationMenu/index.mjs +9 -4
- package/dist/navigationMenu/index.mjs.map +1 -1
- package/dist/pagination/index.mjs +9 -4
- package/dist/pagination/index.mjs.map +1 -1
- package/dist/passwordInput/index.js +3 -2
- package/dist/passwordInput/index.js.map +1 -1
- package/dist/passwordInput/index.mjs +12 -6
- package/dist/passwordInput/index.mjs.map +1 -1
- package/dist/phoneInput/index.js +10 -5
- package/dist/phoneInput/index.js.map +1 -1
- package/dist/phoneInput/index.mjs +19 -11
- package/dist/phoneInput/index.mjs.map +1 -1
- package/dist/pinInput/index.js +3 -3
- package/dist/pinInput/index.js.map +1 -1
- package/dist/pinInput/index.mjs +12 -7
- package/dist/pinInput/index.mjs.map +1 -1
- package/dist/popover/index.mjs +9 -4
- package/dist/popover/index.mjs.map +1 -1
- package/dist/progress/index.mjs +9 -4
- package/dist/progress/index.mjs.map +1 -1
- package/dist/progressCircle/index.js +2 -2
- package/dist/progressCircle/index.js.map +1 -1
- package/dist/progressCircle/index.mjs +11 -6
- package/dist/progressCircle/index.mjs.map +1 -1
- package/dist/radio/index.js +6 -4
- package/dist/radio/index.js.map +1 -1
- package/dist/radio/index.mjs +13 -8
- package/dist/radio/index.mjs.map +1 -1
- package/dist/scrollArea/index.mjs +9 -4
- package/dist/scrollArea/index.mjs.map +1 -1
- package/dist/scrollIndicator/index.js +2 -1
- package/dist/scrollIndicator/index.js.map +1 -1
- package/dist/scrollIndicator/index.mjs +2 -1
- package/dist/scrollIndicator/index.mjs.map +1 -1
- package/dist/select/index.js +6 -2
- package/dist/select/index.js.map +1 -1
- package/dist/select/index.mjs +15 -8
- package/dist/select/index.mjs.map +1 -1
- package/dist/separator/index.mjs +9 -4
- package/dist/separator/index.mjs.map +1 -1
- package/dist/sheet/index.mjs +9 -4
- package/dist/sheet/index.mjs.map +1 -1
- package/dist/sidebar/index.mjs +9 -4
- package/dist/sidebar/index.mjs.map +1 -1
- package/dist/signature/index.js +31 -11
- package/dist/signature/index.js.map +1 -1
- package/dist/signature/index.mjs +40 -15
- package/dist/signature/index.mjs.map +1 -1
- package/dist/simpleTable/index.js +18 -14
- package/dist/simpleTable/index.js.map +1 -1
- package/dist/simpleTable/index.mjs +25 -18
- package/dist/simpleTable/index.mjs.map +1 -1
- package/dist/skeleton/index.mjs +9 -4
- package/dist/skeleton/index.mjs.map +1 -1
- package/dist/slider/index.mjs +9 -4
- package/dist/slider/index.mjs.map +1 -1
- package/dist/sortButton/index.mjs +268 -11
- package/dist/sortButton/index.mjs.map +1 -1
- package/dist/splitButton/index.mjs +267 -12
- package/dist/splitButton/index.mjs.map +1 -1
- package/dist/switch/index.js +2 -1
- package/dist/switch/index.js.map +1 -1
- package/dist/switch/index.mjs +11 -5
- package/dist/switch/index.mjs.map +1 -1
- package/dist/table/index.mjs +9 -4
- package/dist/table/index.mjs.map +1 -1
- package/dist/tabs/index.mjs +7 -4
- package/dist/tabs/index.mjs.map +1 -1
- package/dist/textarea/index.js +4 -4
- package/dist/textarea/index.js.map +1 -1
- package/dist/textarea/index.mjs +11 -8
- package/dist/textarea/index.mjs.map +1 -1
- package/dist/toast/index.d.mts +9 -1
- package/dist/toast/index.d.ts +9 -1
- package/dist/toast/index.js +3 -3
- package/dist/toast/index.js.map +1 -1
- package/dist/toast/index.mjs +145 -10
- package/dist/toast/index.mjs.map +1 -1
- package/dist/toaster/index.d.mts +5 -0
- package/dist/toaster/index.d.ts +5 -0
- package/dist/toaster/index.js +17 -142
- package/dist/toaster/index.js.map +1 -1
- package/dist/toaster/index.mjs +142 -135
- package/dist/toaster/index.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-3ODWQVIA.mjs +0 -12
- package/dist/chunk-3ODWQVIA.mjs.map +0 -1
- package/dist/chunk-53OZVR57.mjs +0 -108
- package/dist/chunk-53OZVR57.mjs.map +0 -1
- package/dist/chunk-CBRGWUZG.mjs +0 -11
- package/dist/chunk-CBRGWUZG.mjs.map +0 -1
- package/dist/chunk-HYXZRCZW.mjs +0 -265
- package/dist/chunk-HYXZRCZW.mjs.map +0 -1
- package/dist/chunk-JNUGOUYJ.mjs +0 -154
- package/dist/chunk-JX5YLRCU.mjs +0 -443
- package/dist/chunk-JX5YLRCU.mjs.map +0 -1
- package/dist/chunk-NV3KR5Y7.mjs +0 -82
- package/dist/chunk-NV3KR5Y7.mjs.map +0 -1
- package/dist/chunk-OQ7MNEYW.mjs +0 -151
- package/dist/chunk-OQ7MNEYW.mjs.map +0 -1
@@ -1,12 +1,269 @@
|
|
1
|
-
import {
|
2
|
-
Button,
|
3
|
-
cn
|
4
|
-
} from "../chunk-HYXZRCZW.mjs";
|
5
|
-
|
6
1
|
// elements/sortButton/SortButton.tsx
|
2
|
+
import React3 from "react";
|
3
|
+
|
4
|
+
// util/index.ts
|
5
|
+
import { clsx } from "clsx";
|
6
|
+
import { twMerge } from "tailwind-merge";
|
7
|
+
function cn(...inputs) {
|
8
|
+
return twMerge(clsx(inputs));
|
9
|
+
}
|
10
|
+
|
11
|
+
// elements/button/Button.tsx
|
12
|
+
import * as React2 from "react";
|
13
|
+
import { cva } from "class-variance-authority";
|
14
|
+
|
15
|
+
// elements/loading/Loading.tsx
|
7
16
|
import React from "react";
|
17
|
+
var Loading = ({
|
18
|
+
design = "spinner",
|
19
|
+
size = "sm",
|
20
|
+
themeMode = "light",
|
21
|
+
color,
|
22
|
+
...props
|
23
|
+
}) => {
|
24
|
+
let sizeStyles = {
|
25
|
+
button: "hawa-h-4 hawa-w-4",
|
26
|
+
xs: "hawa-h-1 hawa-w-1",
|
27
|
+
sm: "hawa-h-6 hawa-w-6",
|
28
|
+
normal: "hawa-h-8 hawa-w-8",
|
29
|
+
lg: "hawa-h-14 hawa-w-14",
|
30
|
+
xl: "hawa-h-24 hawa-w-24"
|
31
|
+
};
|
32
|
+
let animationStyles = {
|
33
|
+
pulse: "hawa-animate-in hawa-fade-in hawa-duration-1000",
|
34
|
+
bounce: "hawa-animate-bounce"
|
35
|
+
};
|
36
|
+
switch (design.split("-")[0]) {
|
37
|
+
case "dots":
|
38
|
+
return /* @__PURE__ */ React.createElement(
|
39
|
+
"div",
|
40
|
+
{
|
41
|
+
className: cn("hawa-flex hawa-flex-row hawa-gap-2", props.className)
|
42
|
+
},
|
43
|
+
/* @__PURE__ */ React.createElement(
|
44
|
+
"div",
|
45
|
+
{
|
46
|
+
className: cn(
|
47
|
+
"hawa-animate-bounce hawa-rounded-full hawa-delay-100 hawa-repeat-infinite",
|
48
|
+
size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size],
|
49
|
+
animationStyles[design.split("-")[1]],
|
50
|
+
color ? color : "hawa-bg-primary"
|
51
|
+
)
|
52
|
+
}
|
53
|
+
),
|
54
|
+
/* @__PURE__ */ React.createElement(
|
55
|
+
"div",
|
56
|
+
{
|
57
|
+
className: cn(
|
58
|
+
"hawa-animate-bounce hawa-rounded-full hawa-delay-200 hawa-repeat-infinite",
|
59
|
+
size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size],
|
60
|
+
animationStyles[design.split("-")[1]],
|
61
|
+
color ? color : "hawa-bg-primary"
|
62
|
+
)
|
63
|
+
}
|
64
|
+
),
|
65
|
+
/* @__PURE__ */ React.createElement(
|
66
|
+
"div",
|
67
|
+
{
|
68
|
+
className: cn(
|
69
|
+
"hawa-animate-bounce hawa-rounded-full hawa-delay-300 hawa-repeat-infinite",
|
70
|
+
size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size],
|
71
|
+
animationStyles[design.split("-")[1]],
|
72
|
+
color ? color : "hawa-bg-primary"
|
73
|
+
)
|
74
|
+
}
|
75
|
+
)
|
76
|
+
);
|
77
|
+
case "square":
|
78
|
+
return /* @__PURE__ */ React.createElement(
|
79
|
+
"svg",
|
80
|
+
{
|
81
|
+
className: cn("squircle-container", sizeStyles[size]),
|
82
|
+
viewBox: "0 0 35 35",
|
83
|
+
height: "35",
|
84
|
+
width: "35"
|
85
|
+
},
|
86
|
+
/* @__PURE__ */ React.createElement(
|
87
|
+
"rect",
|
88
|
+
{
|
89
|
+
className: "squircle-track",
|
90
|
+
x: "2.5",
|
91
|
+
y: "2.5",
|
92
|
+
fill: "none",
|
93
|
+
strokeWidth: "5px",
|
94
|
+
width: "32.5",
|
95
|
+
height: "32.5"
|
96
|
+
}
|
97
|
+
),
|
98
|
+
/* @__PURE__ */ React.createElement(
|
99
|
+
"rect",
|
100
|
+
{
|
101
|
+
className: "square-car",
|
102
|
+
x: "2.5",
|
103
|
+
y: "2.5",
|
104
|
+
fill: "none",
|
105
|
+
strokeWidth: "5px",
|
106
|
+
width: "32.5",
|
107
|
+
height: "32.5",
|
108
|
+
pathLength: "100"
|
109
|
+
}
|
110
|
+
)
|
111
|
+
);
|
112
|
+
case "squircle":
|
113
|
+
return /* @__PURE__ */ React.createElement(
|
114
|
+
"svg",
|
115
|
+
{
|
116
|
+
className: cn("squircle-container", sizeStyles[size]),
|
117
|
+
x: "0px",
|
118
|
+
y: "0px",
|
119
|
+
viewBox: "0 0 37 37",
|
120
|
+
height: "37",
|
121
|
+
width: "37",
|
122
|
+
preserveAspectRatio: "xMidYMid meet"
|
123
|
+
},
|
124
|
+
/* @__PURE__ */ React.createElement(
|
125
|
+
"path",
|
126
|
+
{
|
127
|
+
className: "squircle-track",
|
128
|
+
fill: "none",
|
129
|
+
strokeWidth: "5",
|
130
|
+
pathLength: "100",
|
131
|
+
d: "M0.37 18.5 C0.37 5.772 5.772 0.37 18.5 0.37 S36.63 5.772 36.63 18.5 S31.228 36.63 18.5 36.63 S0.37 31.228 0.37 18.5"
|
132
|
+
}
|
133
|
+
),
|
134
|
+
/* @__PURE__ */ React.createElement(
|
135
|
+
"path",
|
136
|
+
{
|
137
|
+
className: "squircle-car",
|
138
|
+
fill: "none",
|
139
|
+
strokeWidth: "5",
|
140
|
+
pathLength: "100",
|
141
|
+
d: "M0.37 18.5 C0.37 5.772 5.772 0.37 18.5 0.37 S36.63 5.772 36.63 18.5 S31.228 36.63 18.5 36.63 S0.37 31.228 0.37 18.5"
|
142
|
+
}
|
143
|
+
)
|
144
|
+
);
|
145
|
+
case "progress":
|
146
|
+
return /* @__PURE__ */ React.createElement("div", { className: "progress-loading" });
|
147
|
+
case "orbit":
|
148
|
+
return /* @__PURE__ */ React.createElement("div", { className: "orbit-container" });
|
149
|
+
default:
|
150
|
+
return /* @__PURE__ */ React.createElement(
|
151
|
+
"svg",
|
152
|
+
{
|
153
|
+
className: cn("circle-container", sizeStyles[size]),
|
154
|
+
viewBox: "0 0 40 40",
|
155
|
+
height: "40",
|
156
|
+
width: "40"
|
157
|
+
},
|
158
|
+
/* @__PURE__ */ React.createElement(
|
159
|
+
"circle",
|
160
|
+
{
|
161
|
+
className: cn("circle-track", {
|
162
|
+
"hawa-stroke-primary-foreground": themeMode === "dark",
|
163
|
+
"hawa-stroke-primary": themeMode === "light"
|
164
|
+
}),
|
165
|
+
cx: "20",
|
166
|
+
cy: "20",
|
167
|
+
r: "17.5",
|
168
|
+
pathLength: "100",
|
169
|
+
strokeWidth: "5px",
|
170
|
+
fill: "none"
|
171
|
+
}
|
172
|
+
),
|
173
|
+
/* @__PURE__ */ React.createElement(
|
174
|
+
"circle",
|
175
|
+
{
|
176
|
+
className: cn("circle-car", {
|
177
|
+
"hawa-stroke-primary-foreground": themeMode === "dark",
|
178
|
+
"hawa-stroke-primary": themeMode === "light"
|
179
|
+
}),
|
180
|
+
cx: "20",
|
181
|
+
cy: "20",
|
182
|
+
r: "17.5",
|
183
|
+
pathLength: "100",
|
184
|
+
strokeWidth: "5px",
|
185
|
+
fill: "none"
|
186
|
+
}
|
187
|
+
)
|
188
|
+
);
|
189
|
+
}
|
190
|
+
};
|
191
|
+
|
192
|
+
// elements/button/Button.tsx
|
193
|
+
var buttonVariants = cva(
|
194
|
+
"hawa-inline-flex hawa-items-center hawa-select-none hawa-rounded-md hawa-text-sm hawa-font-medium hawa-ring-offset-background hawa-transition-colors focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2 disabled:hawa-pointer-events-none disabled:hawa-opacity-50",
|
195
|
+
{
|
196
|
+
variants: {
|
197
|
+
variant: {
|
198
|
+
default: "hawa-bg-primary hawa-text-primary-foreground hover:hawa-bg-primary/90",
|
199
|
+
light: "hawa-bg-primary/20 hawa-text-primary hover:hawa-bg-primary/40",
|
200
|
+
destructive: "hawa-bg-destructive hawa-text-destructive-foreground hover:hawa-bg-destructive/90",
|
201
|
+
outline: "hawa-border hawa-border-input hawa-bg-transparent hover:hawa-bg-accent hover:hawa-text-accent-foreground",
|
202
|
+
secondary: "hawa-bg-secondary hawa-text-secondary-foreground hover:hawa-bg-secondary/80",
|
203
|
+
ghost: "hover:hawa-bg-accent hover:hawa-text-accent-foreground",
|
204
|
+
link: "hawa-text-primary hawa-underline-offset-4 hover:hawa-underline",
|
205
|
+
combobox: "hawa-bg-background hawa-border",
|
206
|
+
neoBrutalism: "neo-brutalism"
|
207
|
+
// "hawa-cursor-pointer hawa-transition-all hawa-uppercase hawa-font-mono dark:hawa-bg-black hawa-font-bold hawa-py-2 hawa-px-4 hawa-rounded hawa-border-2 hawa-border-primary hawa-shadow-color-primary hawa-transition-[hawa-transform_50ms, hawa-box-shadow_50ms] active:hawa-translate-x-0.5 active:hawa-translate-y-0.5 active:hawa-shadow-color-primary-active shadow-color-primary active:shadow-color-primary-active",
|
208
|
+
},
|
209
|
+
size: {
|
210
|
+
default: "hawa-h-10 hawa-px-4 hawa-py-2",
|
211
|
+
heightless: "hawa-px-4 hawa-py-4",
|
212
|
+
xs: "hawa-h-fit hawa-min-h-[25px] hawa-py-1 hawa-text-[10px] hawa-px-2 ",
|
213
|
+
sm: "hawa-h-9 hawa-text-[11px] hawa-rounded-md hawa-px-3",
|
214
|
+
lg: "hawa-h-11 hawa-rounded-md hawa-px-8",
|
215
|
+
xl: "hawa-h-14 hawa-rounded-md hawa-px-10",
|
216
|
+
icon: "hawa-h-10 hawa-w-10",
|
217
|
+
smallIcon: "hawa-h-7 hawa-w-7"
|
218
|
+
}
|
219
|
+
},
|
220
|
+
defaultVariants: {
|
221
|
+
variant: "default",
|
222
|
+
size: "default"
|
223
|
+
}
|
224
|
+
}
|
225
|
+
);
|
226
|
+
var Button = React2.forwardRef(
|
227
|
+
({
|
228
|
+
className,
|
229
|
+
variant,
|
230
|
+
size,
|
231
|
+
asChild = false,
|
232
|
+
centered = true,
|
233
|
+
isLoading,
|
234
|
+
children,
|
235
|
+
...props
|
236
|
+
}, ref) => {
|
237
|
+
const Comp = "button";
|
238
|
+
const loadingColor = variant === "outline" || variant === "ghost" || variant === "neoBrutalism" ? "hawa-bg-primary" : "hawa-bg-primary-foreground";
|
239
|
+
return /* @__PURE__ */ React2.createElement(
|
240
|
+
Comp,
|
241
|
+
{
|
242
|
+
className: cn(
|
243
|
+
buttonVariants({ variant, size, className }),
|
244
|
+
centered && "hawa-justify-center"
|
245
|
+
// "hawa-bg-red-500"
|
246
|
+
),
|
247
|
+
ref,
|
248
|
+
...props
|
249
|
+
},
|
250
|
+
isLoading ? /* @__PURE__ */ React2.createElement(
|
251
|
+
Loading,
|
252
|
+
{
|
253
|
+
design: size === "icon" || size === "smallIcon" ? "spinner" : "dots-pulse",
|
254
|
+
themeMode: variant === "outline" ? "light" : "dark",
|
255
|
+
color: loadingColor,
|
256
|
+
size: size === "sm" || size === "xs" ? "xs" : "button"
|
257
|
+
}
|
258
|
+
) : children
|
259
|
+
);
|
260
|
+
}
|
261
|
+
);
|
262
|
+
Button.displayName = "Button";
|
263
|
+
|
264
|
+
// elements/sortButton/SortButton.tsx
|
8
265
|
var SortButton = (props) => {
|
9
|
-
return /* @__PURE__ */
|
266
|
+
return /* @__PURE__ */ React3.createElement(
|
10
267
|
Button,
|
11
268
|
{
|
12
269
|
variant: "ghost",
|
@@ -18,7 +275,7 @@ var SortButton = (props) => {
|
|
18
275
|
onClick: props.onSort
|
19
276
|
},
|
20
277
|
props.label,
|
21
|
-
/* @__PURE__ */
|
278
|
+
/* @__PURE__ */ React3.createElement(
|
22
279
|
"svg",
|
23
280
|
{
|
24
281
|
xmlns: "http://www.w3.org/2000/svg",
|
@@ -30,10 +287,10 @@ var SortButton = (props) => {
|
|
30
287
|
strokeLinejoin: "round",
|
31
288
|
className: props.condensed ? "hawa-h-3 hawa-w-3" : "hawa-icon"
|
32
289
|
},
|
33
|
-
/* @__PURE__ */
|
34
|
-
/* @__PURE__ */
|
35
|
-
/* @__PURE__ */
|
36
|
-
/* @__PURE__ */
|
290
|
+
/* @__PURE__ */ React3.createElement("path", { d: "m21 16-4 4-4-4" }),
|
291
|
+
/* @__PURE__ */ React3.createElement("path", { d: "M17 20V4" }),
|
292
|
+
/* @__PURE__ */ React3.createElement("path", { d: "m3 8 4-4 4 4" }),
|
293
|
+
/* @__PURE__ */ React3.createElement("path", { d: "M7 4v16" })
|
37
294
|
)
|
38
295
|
);
|
39
296
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../elements/sortButton/SortButton.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { cn } from \"@util/index\";\nimport { Button } from \"../button\";\n\ntype SortButtonProps = {\n onSort: () => void;\n label: string;\n condensed?: boolean;\n};\n\nexport const SortButton: React.FC<SortButtonProps> = (props) => {\n return (\n <Button\n variant=\"ghost\"\n centered={false}\n className={cn(\n \"hawa-flex hawa-w-full hawa-flex-row hawa-items-start hawa-justify-start hawa-gap-2 hawa-text-start\",\n props.condensed && \"hawa-h-6\"\n )}\n onClick={props.onSort}\n >\n {props.label}\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={props.condensed ? \"hawa-h-3 hawa-w-3\" : \"hawa-icon\"}\n >\n <path d=\"m21 16-4 4-4-4\" />\n <path d=\"M17 20V4\" />\n <path d=\"m3 8 4-4 4 4\" />\n <path d=\"M7 4v16\" />\n </svg>\n </Button>\n );\n};\n"],"mappings":";;;;;;AAAA,OAAO,WAAW;AAWX,IAAM,aAAwC,CAAC,UAAU;AAC9D,SACE;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,UAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA,MAAM,aAAa;AAAA,MACrB;AAAA,MACA,SAAS,MAAM;AAAA;AAAA,IAEd,MAAM;AAAA,IACP;AAAA,MAAC;AAAA;AAAA,QACC,OAAM;AAAA,QACN,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,QAAO;AAAA,QACP,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,QACf,WAAW,MAAM,YAAY,sBAAsB;AAAA;AAAA,MAEnD,oCAAC,UAAK,GAAE,kBAAiB;AAAA,MACzB,oCAAC,UAAK,GAAE,YAAW;AAAA,MACnB,oCAAC,UAAK,GAAE,gBAAe;AAAA,MACvB,oCAAC,UAAK,GAAE,WAAU;AAAA,IACpB;AAAA,EACF;AAEJ;","names":[]}
|
1
|
+
{"version":3,"sources":["../../elements/sortButton/SortButton.tsx","../../util/index.ts","../../elements/button/Button.tsx","../../elements/loading/Loading.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { cn } from \"@util/index\";\nimport { Button } from \"../button\";\n\ntype SortButtonProps = {\n onSort: () => void;\n label: string;\n condensed?: boolean;\n};\n\nexport const SortButton: React.FC<SortButtonProps> = (props) => {\n return (\n <Button\n variant=\"ghost\"\n centered={false}\n className={cn(\n \"hawa-flex hawa-w-full hawa-flex-row hawa-items-start hawa-justify-start hawa-gap-2 hawa-text-start\",\n props.condensed && \"hawa-h-6\"\n )}\n onClick={props.onSort}\n >\n {props.label}\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={props.condensed ? \"hawa-h-3 hawa-w-3\" : \"hawa-icon\"}\n >\n <path d=\"m21 16-4 4-4-4\" />\n <path d=\"M17 20V4\" />\n <path d=\"m3 8 4-4 4 4\" />\n <path d=\"M7 4v16\" />\n </svg>\n </Button>\n );\n};\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\ntype Palette = {\n name: string;\n colors: {\n [key: number]: string;\n };\n};\ntype Rgb = {\n r: number;\n g: number;\n b: number;\n};\nfunction hexToRgb(hex: string): Rgb | null {\n const sanitizedHex = hex.replaceAll(\"##\", \"#\");\n const colorParts = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(\n sanitizedHex\n );\n\n if (!colorParts) {\n return null;\n }\n\n const [, r, g, b] = colorParts;\n\n return {\n r: parseInt(r, 16),\n g: parseInt(g, 16),\n b: parseInt(b, 16)\n } as Rgb;\n}\n\nfunction rgbToHex(r: number, g: number, b: number): string {\n const toHex = (c: number) => `0${c.toString(16)}`.slice(-2);\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n}\n\nexport function getTextColor(color: string): \"#FFF\" | \"#333\" {\n const rgbColor = hexToRgb(color);\n\n if (!rgbColor) {\n return \"#333\";\n }\n\n const { r, g, b } = rgbColor;\n const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n\n return luma < 120 ? \"#FFF\" : \"#333\";\n}\n\nfunction lighten(hex: string, intensity: number): string {\n const color = hexToRgb(`#${hex}`);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r + (255 - color.r) * intensity);\n const g = Math.round(color.g + (255 - color.g) * intensity);\n const b = Math.round(color.b + (255 - color.b) * intensity);\n\n return rgbToHex(r, g, b);\n}\n\nfunction darken(hex: string, intensity: number): string {\n const color = hexToRgb(hex);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r * intensity);\n const g = Math.round(color.g * intensity);\n const b = Math.round(color.b * intensity);\n\n return rgbToHex(r, g, b);\n}\nconst parseColor = (color: any) => {\n if (color.startsWith(\"#\")) {\n // Convert hex to RGB\n let r = parseInt(color.slice(1, 3), 16);\n let g = parseInt(color.slice(3, 5), 16);\n let b = parseInt(color.slice(5, 7), 16);\n return [r, g, b];\n } else if (color.startsWith(\"rgb\")) {\n // Extract RGB values from rgb() format\n return color.match(/\\d+/g).map(Number);\n }\n // Default to white if format is unrecognized\n return [255, 255, 255];\n};\nexport const calculateLuminance = (color: any) => {\n const [r, g, b] = parseColor(color)?.map((c: any) => {\n c /= 255;\n return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;\n });\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n};\n\nfunction getPallette(baseColor: string): Palette {\n const name = baseColor;\n\n const response: Palette = {\n name,\n colors: {\n 500: `#${baseColor}`.replace(\"##\", \"#\")\n }\n };\n\n const intensityMap: {\n [key: number]: number;\n } = {\n 50: 0.95,\n 100: 0.9,\n 200: 0.75,\n 300: 0.6,\n 400: 0.3,\n 600: 0.9,\n 700: 0.75,\n 800: 0.6,\n 900: 0.49\n };\n\n [50, 100, 200, 300, 400].forEach((level) => {\n response.colors[level] = lighten(baseColor, intensityMap[level]);\n });\n [600, 700, 800, 900].forEach((level) => {\n response.colors[level] = darken(baseColor, intensityMap[level]);\n });\n\n return response as Palette;\n}\n\nexport { getPallette };\n\n// const hexToRgb = (hex) => {\n// let d = hex?.split(\"#\")[1];\n// var aRgbHex = d?.match(/.{1,2}/g);\n// var aRgb = [\n// parseInt(aRgbHex[0], 16),\n// parseInt(aRgbHex[1], 16),\n// parseInt(aRgbHex[2], 16)\n// ];\n// return aRgb;\n// };\n// const getTextColor = (backColor) => {\n// let rgbArray = hexToRgb(backColor);\n// if (rgbArray[0] * 0.299 + rgbArray[1] * 0.587 + rgbArray[2] * 0.114 > 186) {\n// return \"#000000\";\n// } else {\n// return \"#ffffff\";\n// }\n// };\n// const replaceAt = function (string, index, replacement) {\n// // if (replacement == \"\" || replacement == \" \") {\n// // return (\n// // string.substring(0, index) +\n// // string.substring(index + replacement.length )\n// // );\n// // }\n// const replaced = string.substring(0, index) + replacement + string.substring(index + 1)\n// return replaced\n// };\n\n// export { hexToRgb, getTextColor, replaceAt };\n","import * as React from \"react\";\n\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@util/index\";\nimport { Loading } from \"../loading/Loading\";\n\nconst buttonVariants = cva(\n \"hawa-inline-flex hawa-items-center hawa-select-none hawa-rounded-md hawa-text-sm hawa-font-medium hawa-ring-offset-background hawa-transition-colors focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2 disabled:hawa-pointer-events-none disabled:hawa-opacity-50\",\n {\n variants: {\n variant: {\n default:\n \"hawa-bg-primary hawa-text-primary-foreground hover:hawa-bg-primary/90\",\n light: \"hawa-bg-primary/20 hawa-text-primary hover:hawa-bg-primary/40\",\n destructive:\n \"hawa-bg-destructive hawa-text-destructive-foreground hover:hawa-bg-destructive/90\",\n outline:\n \"hawa-border hawa-border-input hawa-bg-transparent hover:hawa-bg-accent hover:hawa-text-accent-foreground\",\n secondary:\n \"hawa-bg-secondary hawa-text-secondary-foreground hover:hawa-bg-secondary/80\",\n ghost: \"hover:hawa-bg-accent hover:hawa-text-accent-foreground\",\n link: \"hawa-text-primary hawa-underline-offset-4 hover:hawa-underline\",\n combobox: \"hawa-bg-background hawa-border\",\n neoBrutalism: \"neo-brutalism\"\n // \"hawa-cursor-pointer hawa-transition-all hawa-uppercase hawa-font-mono dark:hawa-bg-black hawa-font-bold hawa-py-2 hawa-px-4 hawa-rounded hawa-border-2 hawa-border-primary hawa-shadow-color-primary hawa-transition-[hawa-transform_50ms, hawa-box-shadow_50ms] active:hawa-translate-x-0.5 active:hawa-translate-y-0.5 active:hawa-shadow-color-primary-active shadow-color-primary active:shadow-color-primary-active\",\n },\n size: {\n default: \"hawa-h-10 hawa-px-4 hawa-py-2\",\n heightless: \"hawa-px-4 hawa-py-4\",\n xs: \"hawa-h-fit hawa-min-h-[25px] hawa-py-1 hawa-text-[10px] hawa-px-2 \",\n sm: \"hawa-h-9 hawa-text-[11px] hawa-rounded-md hawa-px-3\",\n lg: \"hawa-h-11 hawa-rounded-md hawa-px-8\",\n xl: \"hawa-h-14 hawa-rounded-md hawa-px-10\",\n icon: \"hawa-h-10 hawa-w-10\",\n smallIcon: \"hawa-h-7 hawa-w-7\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n }\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n centered?: boolean;\n isLoading?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant,\n size,\n asChild = false,\n centered = true,\n isLoading,\n children,\n ...props\n },\n ref\n ) => {\n const Comp = \"button\";\n\n // Determine the color for the HawaLoading component based on the variant\n const loadingColor =\n variant === \"outline\" || variant === \"ghost\" || variant === \"neoBrutalism\"\n ? \"hawa-bg-primary\"\n : \"hawa-bg-primary-foreground\";\n\n return (\n <Comp\n className={cn(\n buttonVariants({ variant, size, className }),\n centered && \"hawa-justify-center\",\n // \"hawa-bg-red-500\"\n )}\n ref={ref}\n {...props}\n >\n {isLoading ? (\n <Loading\n design={\n size === \"icon\" || size === \"smallIcon\" ? \"spinner\" : \"dots-pulse\"\n }\n themeMode={variant === \"outline\" ? \"light\" : \"dark\"}\n color={loadingColor}\n size={size === \"sm\" || size === \"xs\" ? \"xs\" : \"button\"}\n />\n ) : (\n children\n )}\n </Comp>\n );\n }\n);\n\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n","import React, { FC } from \"react\";\n\nimport { cn } from \"@util/index\";\n\ntype LoadingTypes = {\n /** Specifies the size of the loading component.*/\n size?: \"button\" | \"xs\" | \"sm\" | \"normal\" | \"lg\" | \"xl\";\n /** Determines the design of the loading animation.*/\n design?:\n | \"spinner\"\n | \"dots-bounce\"\n | \"dots-pulse\"\n | \"pulse\"\n | \"spinner-dots\"\n | \"squircle\"\n | \"square\"\n | \"progress\"\n | \"orbit\";\n /** Specifies the color of the loading component. By default it will inherit the value of <span className=\"inline-code\">--primary</span> global CSS variable*/\n color?: string;\n className?: string;\n themeMode?: \"dark\" | \"light\";\n};\n\nexport const Loading: FC<LoadingTypes> = ({\n design = \"spinner\",\n size = \"sm\",\n themeMode = \"light\",\n color,\n ...props\n}) => {\n let sizeStyles = {\n button: \"hawa-h-4 hawa-w-4\",\n xs: \"hawa-h-1 hawa-w-1\",\n sm: \"hawa-h-6 hawa-w-6\",\n normal: \"hawa-h-8 hawa-w-8\",\n lg: \"hawa-h-14 hawa-w-14\",\n xl: \"hawa-h-24 hawa-w-24\"\n };\n\n let animationStyles: any = {\n pulse: \"hawa-animate-in hawa-fade-in hawa-duration-1000\",\n bounce: \"hawa-animate-bounce\"\n };\n switch (design.split(\"-\")[0]) {\n case \"dots\":\n return (\n <div\n className={cn(\"hawa-flex hawa-flex-row hawa-gap-2\", props.className)}\n >\n <div\n className={cn(\n \"hawa-animate-bounce hawa-rounded-full hawa-delay-100 hawa-repeat-infinite\",\n size === \"button\" ? \"hawa-h-2 hawa-w-2\" : sizeStyles[size],\n animationStyles[design.split(\"-\")[1]],\n color ? color : \"hawa-bg-primary\"\n )}\n ></div>\n <div\n className={cn(\n \"hawa-animate-bounce hawa-rounded-full hawa-delay-200 hawa-repeat-infinite\",\n size === \"button\" ? \"hawa-h-2 hawa-w-2\" : sizeStyles[size],\n animationStyles[design.split(\"-\")[1]],\n color ? color : \"hawa-bg-primary\"\n )}\n ></div>\n <div\n className={cn(\n \"hawa-animate-bounce hawa-rounded-full hawa-delay-300 hawa-repeat-infinite\",\n size === \"button\" ? \"hawa-h-2 hawa-w-2\" : sizeStyles[size],\n animationStyles[design.split(\"-\")[1]],\n color ? color : \"hawa-bg-primary\"\n )}\n ></div>\n </div>\n );\n case \"square\":\n return (\n <svg\n className={cn(\"squircle-container\", sizeStyles[size])}\n viewBox=\"0 0 35 35\"\n height=\"35\"\n width=\"35\"\n >\n <rect\n className=\"squircle-track\"\n x=\"2.5\"\n y=\"2.5\"\n fill=\"none\"\n strokeWidth=\"5px\"\n width=\"32.5\"\n height=\"32.5\"\n />\n <rect\n className=\"square-car\"\n x=\"2.5\"\n y=\"2.5\"\n fill=\"none\"\n strokeWidth=\"5px\"\n width=\"32.5\"\n height=\"32.5\"\n pathLength=\"100\"\n />\n </svg>\n );\n case \"squircle\":\n return (\n <svg\n className={cn(\"squircle-container\", sizeStyles[size])}\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 37 37\"\n height=\"37\"\n width=\"37\"\n preserveAspectRatio=\"xMidYMid meet\"\n >\n <path\n className=\"squircle-track\"\n fill=\"none\"\n strokeWidth=\"5\"\n pathLength=\"100\"\n d=\"M0.37 18.5 C0.37 5.772 5.772 0.37 18.5 0.37 S36.63 5.772 36.63 18.5 S31.228 36.63 18.5 36.63 S0.37 31.228 0.37 18.5\"\n ></path>\n <path\n className=\"squircle-car\"\n fill=\"none\"\n strokeWidth=\"5\"\n pathLength=\"100\"\n d=\"M0.37 18.5 C0.37 5.772 5.772 0.37 18.5 0.37 S36.63 5.772 36.63 18.5 S31.228 36.63 18.5 36.63 S0.37 31.228 0.37 18.5\"\n ></path>\n </svg>\n );\n case \"progress\":\n return <div className=\"progress-loading\"></div>;\n case \"orbit\":\n return <div className=\"orbit-container\"></div>;\n\n default:\n return (\n <svg\n className={cn(\"circle-container\", sizeStyles[size])}\n viewBox=\"0 0 40 40\"\n height=\"40\"\n width=\"40\"\n >\n <circle\n className={cn(\"circle-track\", {\n \"hawa-stroke-primary-foreground\": themeMode === \"dark\",\n \"hawa-stroke-primary\": themeMode === \"light\"\n })}\n cx=\"20\"\n cy=\"20\"\n r=\"17.5\"\n pathLength=\"100\"\n strokeWidth=\"5px\"\n fill=\"none\"\n />\n <circle\n className={cn(\"circle-car\", {\n \"hawa-stroke-primary-foreground\": themeMode === \"dark\",\n \"hawa-stroke-primary\": themeMode === \"light\"\n })}\n cx=\"20\"\n cy=\"20\"\n r=\"17.5\"\n pathLength=\"100\"\n strokeWidth=\"5px\"\n fill=\"none\"\n />\n </svg>\n );\n // return (\n // <div\n // className={cn(\n // \"hawa-flex hawa-flex-row hawa-gap-x-3\",\n // props.className\n // )}\n // >\n // <div aria-label=\"Loading...\" role=\"status\">\n // <svg\n // className={cn(sizeStyles[size], \"hawa-animate-spin\")}\n // viewBox=\"3 3 18 18\"\n // >\n // <path\n // className=\"hawa-fill-primary/20\"\n // d=\"M12 5C8.13401 5 5 8.13401 5 12C5 15.866 8.13401 19 12 19C15.866 19 19 15.866 19 12C19 8.13401 15.866 5 12 5ZM3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12Z\"\n // ></path>\n // <path\n // className={color ? color : \"hawa-fill-primary\"}\n // d=\"M16.9497 7.05015C14.2161 4.31648 9.78392 4.31648 7.05025 7.05015C6.65973 7.44067 6.02656 7.44067 5.63604 7.05015C5.24551 6.65962 5.24551 6.02646 5.63604 5.63593C9.15076 2.12121 14.8492 2.12121 18.364 5.63593C18.7545 6.02646 18.7545 6.65962 18.364 7.05015C17.9734 7.44067 17.3403 7.44067 16.9497 7.05015Z\"\n // ></path>\n // </svg>\n // </div>\n // </div>\n // );\n }\n};\n"],"mappings":"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","names":["React","React","React"]}
|
@@ -1,10 +1,12 @@
|
|
1
|
-
import {
|
2
|
-
Button,
|
3
|
-
cn
|
4
|
-
} from "../chunk-HYXZRCZW.mjs";
|
5
|
-
|
6
1
|
// elements/splitButton/SplitButton.tsx
|
7
|
-
import * as
|
2
|
+
import * as React4 from "react";
|
3
|
+
|
4
|
+
// util/index.ts
|
5
|
+
import { clsx } from "clsx";
|
6
|
+
import { twMerge } from "tailwind-merge";
|
7
|
+
function cn(...inputs) {
|
8
|
+
return twMerge(clsx(inputs));
|
9
|
+
}
|
8
10
|
|
9
11
|
// elements/dropdownMenu/DropdownMenu.tsx
|
10
12
|
import * as React from "react";
|
@@ -334,6 +336,259 @@ var DropdownMenu = ({
|
|
334
336
|
);
|
335
337
|
};
|
336
338
|
|
339
|
+
// elements/button/Button.tsx
|
340
|
+
import * as React3 from "react";
|
341
|
+
import { cva } from "class-variance-authority";
|
342
|
+
|
343
|
+
// elements/loading/Loading.tsx
|
344
|
+
import React2 from "react";
|
345
|
+
var Loading = ({
|
346
|
+
design = "spinner",
|
347
|
+
size = "sm",
|
348
|
+
themeMode = "light",
|
349
|
+
color,
|
350
|
+
...props
|
351
|
+
}) => {
|
352
|
+
let sizeStyles = {
|
353
|
+
button: "hawa-h-4 hawa-w-4",
|
354
|
+
xs: "hawa-h-1 hawa-w-1",
|
355
|
+
sm: "hawa-h-6 hawa-w-6",
|
356
|
+
normal: "hawa-h-8 hawa-w-8",
|
357
|
+
lg: "hawa-h-14 hawa-w-14",
|
358
|
+
xl: "hawa-h-24 hawa-w-24"
|
359
|
+
};
|
360
|
+
let animationStyles = {
|
361
|
+
pulse: "hawa-animate-in hawa-fade-in hawa-duration-1000",
|
362
|
+
bounce: "hawa-animate-bounce"
|
363
|
+
};
|
364
|
+
switch (design.split("-")[0]) {
|
365
|
+
case "dots":
|
366
|
+
return /* @__PURE__ */ React2.createElement(
|
367
|
+
"div",
|
368
|
+
{
|
369
|
+
className: cn("hawa-flex hawa-flex-row hawa-gap-2", props.className)
|
370
|
+
},
|
371
|
+
/* @__PURE__ */ React2.createElement(
|
372
|
+
"div",
|
373
|
+
{
|
374
|
+
className: cn(
|
375
|
+
"hawa-animate-bounce hawa-rounded-full hawa-delay-100 hawa-repeat-infinite",
|
376
|
+
size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size],
|
377
|
+
animationStyles[design.split("-")[1]],
|
378
|
+
color ? color : "hawa-bg-primary"
|
379
|
+
)
|
380
|
+
}
|
381
|
+
),
|
382
|
+
/* @__PURE__ */ React2.createElement(
|
383
|
+
"div",
|
384
|
+
{
|
385
|
+
className: cn(
|
386
|
+
"hawa-animate-bounce hawa-rounded-full hawa-delay-200 hawa-repeat-infinite",
|
387
|
+
size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size],
|
388
|
+
animationStyles[design.split("-")[1]],
|
389
|
+
color ? color : "hawa-bg-primary"
|
390
|
+
)
|
391
|
+
}
|
392
|
+
),
|
393
|
+
/* @__PURE__ */ React2.createElement(
|
394
|
+
"div",
|
395
|
+
{
|
396
|
+
className: cn(
|
397
|
+
"hawa-animate-bounce hawa-rounded-full hawa-delay-300 hawa-repeat-infinite",
|
398
|
+
size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size],
|
399
|
+
animationStyles[design.split("-")[1]],
|
400
|
+
color ? color : "hawa-bg-primary"
|
401
|
+
)
|
402
|
+
}
|
403
|
+
)
|
404
|
+
);
|
405
|
+
case "square":
|
406
|
+
return /* @__PURE__ */ React2.createElement(
|
407
|
+
"svg",
|
408
|
+
{
|
409
|
+
className: cn("squircle-container", sizeStyles[size]),
|
410
|
+
viewBox: "0 0 35 35",
|
411
|
+
height: "35",
|
412
|
+
width: "35"
|
413
|
+
},
|
414
|
+
/* @__PURE__ */ React2.createElement(
|
415
|
+
"rect",
|
416
|
+
{
|
417
|
+
className: "squircle-track",
|
418
|
+
x: "2.5",
|
419
|
+
y: "2.5",
|
420
|
+
fill: "none",
|
421
|
+
strokeWidth: "5px",
|
422
|
+
width: "32.5",
|
423
|
+
height: "32.5"
|
424
|
+
}
|
425
|
+
),
|
426
|
+
/* @__PURE__ */ React2.createElement(
|
427
|
+
"rect",
|
428
|
+
{
|
429
|
+
className: "square-car",
|
430
|
+
x: "2.5",
|
431
|
+
y: "2.5",
|
432
|
+
fill: "none",
|
433
|
+
strokeWidth: "5px",
|
434
|
+
width: "32.5",
|
435
|
+
height: "32.5",
|
436
|
+
pathLength: "100"
|
437
|
+
}
|
438
|
+
)
|
439
|
+
);
|
440
|
+
case "squircle":
|
441
|
+
return /* @__PURE__ */ React2.createElement(
|
442
|
+
"svg",
|
443
|
+
{
|
444
|
+
className: cn("squircle-container", sizeStyles[size]),
|
445
|
+
x: "0px",
|
446
|
+
y: "0px",
|
447
|
+
viewBox: "0 0 37 37",
|
448
|
+
height: "37",
|
449
|
+
width: "37",
|
450
|
+
preserveAspectRatio: "xMidYMid meet"
|
451
|
+
},
|
452
|
+
/* @__PURE__ */ React2.createElement(
|
453
|
+
"path",
|
454
|
+
{
|
455
|
+
className: "squircle-track",
|
456
|
+
fill: "none",
|
457
|
+
strokeWidth: "5",
|
458
|
+
pathLength: "100",
|
459
|
+
d: "M0.37 18.5 C0.37 5.772 5.772 0.37 18.5 0.37 S36.63 5.772 36.63 18.5 S31.228 36.63 18.5 36.63 S0.37 31.228 0.37 18.5"
|
460
|
+
}
|
461
|
+
),
|
462
|
+
/* @__PURE__ */ React2.createElement(
|
463
|
+
"path",
|
464
|
+
{
|
465
|
+
className: "squircle-car",
|
466
|
+
fill: "none",
|
467
|
+
strokeWidth: "5",
|
468
|
+
pathLength: "100",
|
469
|
+
d: "M0.37 18.5 C0.37 5.772 5.772 0.37 18.5 0.37 S36.63 5.772 36.63 18.5 S31.228 36.63 18.5 36.63 S0.37 31.228 0.37 18.5"
|
470
|
+
}
|
471
|
+
)
|
472
|
+
);
|
473
|
+
case "progress":
|
474
|
+
return /* @__PURE__ */ React2.createElement("div", { className: "progress-loading" });
|
475
|
+
case "orbit":
|
476
|
+
return /* @__PURE__ */ React2.createElement("div", { className: "orbit-container" });
|
477
|
+
default:
|
478
|
+
return /* @__PURE__ */ React2.createElement(
|
479
|
+
"svg",
|
480
|
+
{
|
481
|
+
className: cn("circle-container", sizeStyles[size]),
|
482
|
+
viewBox: "0 0 40 40",
|
483
|
+
height: "40",
|
484
|
+
width: "40"
|
485
|
+
},
|
486
|
+
/* @__PURE__ */ React2.createElement(
|
487
|
+
"circle",
|
488
|
+
{
|
489
|
+
className: cn("circle-track", {
|
490
|
+
"hawa-stroke-primary-foreground": themeMode === "dark",
|
491
|
+
"hawa-stroke-primary": themeMode === "light"
|
492
|
+
}),
|
493
|
+
cx: "20",
|
494
|
+
cy: "20",
|
495
|
+
r: "17.5",
|
496
|
+
pathLength: "100",
|
497
|
+
strokeWidth: "5px",
|
498
|
+
fill: "none"
|
499
|
+
}
|
500
|
+
),
|
501
|
+
/* @__PURE__ */ React2.createElement(
|
502
|
+
"circle",
|
503
|
+
{
|
504
|
+
className: cn("circle-car", {
|
505
|
+
"hawa-stroke-primary-foreground": themeMode === "dark",
|
506
|
+
"hawa-stroke-primary": themeMode === "light"
|
507
|
+
}),
|
508
|
+
cx: "20",
|
509
|
+
cy: "20",
|
510
|
+
r: "17.5",
|
511
|
+
pathLength: "100",
|
512
|
+
strokeWidth: "5px",
|
513
|
+
fill: "none"
|
514
|
+
}
|
515
|
+
)
|
516
|
+
);
|
517
|
+
}
|
518
|
+
};
|
519
|
+
|
520
|
+
// elements/button/Button.tsx
|
521
|
+
var buttonVariants = cva(
|
522
|
+
"hawa-inline-flex hawa-items-center hawa-select-none hawa-rounded-md hawa-text-sm hawa-font-medium hawa-ring-offset-background hawa-transition-colors focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-2 disabled:hawa-pointer-events-none disabled:hawa-opacity-50",
|
523
|
+
{
|
524
|
+
variants: {
|
525
|
+
variant: {
|
526
|
+
default: "hawa-bg-primary hawa-text-primary-foreground hover:hawa-bg-primary/90",
|
527
|
+
light: "hawa-bg-primary/20 hawa-text-primary hover:hawa-bg-primary/40",
|
528
|
+
destructive: "hawa-bg-destructive hawa-text-destructive-foreground hover:hawa-bg-destructive/90",
|
529
|
+
outline: "hawa-border hawa-border-input hawa-bg-transparent hover:hawa-bg-accent hover:hawa-text-accent-foreground",
|
530
|
+
secondary: "hawa-bg-secondary hawa-text-secondary-foreground hover:hawa-bg-secondary/80",
|
531
|
+
ghost: "hover:hawa-bg-accent hover:hawa-text-accent-foreground",
|
532
|
+
link: "hawa-text-primary hawa-underline-offset-4 hover:hawa-underline",
|
533
|
+
combobox: "hawa-bg-background hawa-border",
|
534
|
+
neoBrutalism: "neo-brutalism"
|
535
|
+
// "hawa-cursor-pointer hawa-transition-all hawa-uppercase hawa-font-mono dark:hawa-bg-black hawa-font-bold hawa-py-2 hawa-px-4 hawa-rounded hawa-border-2 hawa-border-primary hawa-shadow-color-primary hawa-transition-[hawa-transform_50ms, hawa-box-shadow_50ms] active:hawa-translate-x-0.5 active:hawa-translate-y-0.5 active:hawa-shadow-color-primary-active shadow-color-primary active:shadow-color-primary-active",
|
536
|
+
},
|
537
|
+
size: {
|
538
|
+
default: "hawa-h-10 hawa-px-4 hawa-py-2",
|
539
|
+
heightless: "hawa-px-4 hawa-py-4",
|
540
|
+
xs: "hawa-h-fit hawa-min-h-[25px] hawa-py-1 hawa-text-[10px] hawa-px-2 ",
|
541
|
+
sm: "hawa-h-9 hawa-text-[11px] hawa-rounded-md hawa-px-3",
|
542
|
+
lg: "hawa-h-11 hawa-rounded-md hawa-px-8",
|
543
|
+
xl: "hawa-h-14 hawa-rounded-md hawa-px-10",
|
544
|
+
icon: "hawa-h-10 hawa-w-10",
|
545
|
+
smallIcon: "hawa-h-7 hawa-w-7"
|
546
|
+
}
|
547
|
+
},
|
548
|
+
defaultVariants: {
|
549
|
+
variant: "default",
|
550
|
+
size: "default"
|
551
|
+
}
|
552
|
+
}
|
553
|
+
);
|
554
|
+
var Button = React3.forwardRef(
|
555
|
+
({
|
556
|
+
className,
|
557
|
+
variant,
|
558
|
+
size,
|
559
|
+
asChild = false,
|
560
|
+
centered = true,
|
561
|
+
isLoading,
|
562
|
+
children,
|
563
|
+
...props
|
564
|
+
}, ref) => {
|
565
|
+
const Comp = "button";
|
566
|
+
const loadingColor = variant === "outline" || variant === "ghost" || variant === "neoBrutalism" ? "hawa-bg-primary" : "hawa-bg-primary-foreground";
|
567
|
+
return /* @__PURE__ */ React3.createElement(
|
568
|
+
Comp,
|
569
|
+
{
|
570
|
+
className: cn(
|
571
|
+
buttonVariants({ variant, size, className }),
|
572
|
+
centered && "hawa-justify-center"
|
573
|
+
// "hawa-bg-red-500"
|
574
|
+
),
|
575
|
+
ref,
|
576
|
+
...props
|
577
|
+
},
|
578
|
+
isLoading ? /* @__PURE__ */ React3.createElement(
|
579
|
+
Loading,
|
580
|
+
{
|
581
|
+
design: size === "icon" || size === "smallIcon" ? "spinner" : "dots-pulse",
|
582
|
+
themeMode: variant === "outline" ? "light" : "dark",
|
583
|
+
color: loadingColor,
|
584
|
+
size: size === "sm" || size === "xs" ? "xs" : "button"
|
585
|
+
}
|
586
|
+
) : children
|
587
|
+
);
|
588
|
+
}
|
589
|
+
);
|
590
|
+
Button.displayName = "Button";
|
591
|
+
|
337
592
|
// elements/splitButton/SplitButton.tsx
|
338
593
|
var SplitButton = ({
|
339
594
|
variant,
|
@@ -341,13 +596,13 @@ var SplitButton = ({
|
|
341
596
|
menuItems = [],
|
342
597
|
children,
|
343
598
|
...props
|
344
|
-
}) => /* @__PURE__ */
|
599
|
+
}) => /* @__PURE__ */ React4.createElement(
|
345
600
|
"div",
|
346
601
|
{
|
347
602
|
dir: "ltr",
|
348
603
|
className: cn("hawa-row hawa-flex hawa-h-fit hawa-justify-center")
|
349
604
|
},
|
350
|
-
/* @__PURE__ */
|
605
|
+
/* @__PURE__ */ React4.createElement(
|
351
606
|
Button,
|
352
607
|
{
|
353
608
|
variant,
|
@@ -356,7 +611,7 @@ var SplitButton = ({
|
|
356
611
|
},
|
357
612
|
children
|
358
613
|
),
|
359
|
-
/* @__PURE__ */
|
614
|
+
/* @__PURE__ */ React4.createElement(
|
360
615
|
DropdownMenu,
|
361
616
|
{
|
362
617
|
size: "sm",
|
@@ -364,7 +619,7 @@ var SplitButton = ({
|
|
364
619
|
direction,
|
365
620
|
align: direction === "rtl" ? "start" : "end",
|
366
621
|
items: menuItems,
|
367
|
-
trigger: /* @__PURE__ */
|
622
|
+
trigger: /* @__PURE__ */ React4.createElement(
|
368
623
|
Button,
|
369
624
|
{
|
370
625
|
asChild: true,
|
@@ -375,7 +630,7 @@ var SplitButton = ({
|
|
375
630
|
props.className
|
376
631
|
)
|
377
632
|
},
|
378
|
-
/* @__PURE__ */
|
633
|
+
/* @__PURE__ */ React4.createElement(
|
379
634
|
"svg",
|
380
635
|
{
|
381
636
|
xmlns: "http://www.w3.org/2000/svg",
|
@@ -388,7 +643,7 @@ var SplitButton = ({
|
|
388
643
|
strokeLinecap: "round",
|
389
644
|
strokeLinejoin: "round"
|
390
645
|
},
|
391
|
-
/* @__PURE__ */
|
646
|
+
/* @__PURE__ */ React4.createElement("path", { d: "m6 9 6 6 6-6" })
|
392
647
|
)
|
393
648
|
)
|
394
649
|
}
|