@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
package/dist/chunk-HYXZRCZW.mjs
DELETED
@@ -1,265 +0,0 @@
|
|
1
|
-
// util/index.ts
|
2
|
-
import { clsx } from "clsx";
|
3
|
-
import { twMerge } from "tailwind-merge";
|
4
|
-
function cn(...inputs) {
|
5
|
-
return twMerge(clsx(inputs));
|
6
|
-
}
|
7
|
-
|
8
|
-
// elements/button/Button.tsx
|
9
|
-
import * as React2 from "react";
|
10
|
-
import { cva } from "class-variance-authority";
|
11
|
-
|
12
|
-
// elements/loading/Loading.tsx
|
13
|
-
import React from "react";
|
14
|
-
var Loading = ({
|
15
|
-
design = "spinner",
|
16
|
-
size = "sm",
|
17
|
-
themeMode = "light",
|
18
|
-
color,
|
19
|
-
...props
|
20
|
-
}) => {
|
21
|
-
let sizeStyles = {
|
22
|
-
button: "hawa-h-4 hawa-w-4",
|
23
|
-
xs: "hawa-h-1 hawa-w-1",
|
24
|
-
sm: "hawa-h-6 hawa-w-6",
|
25
|
-
normal: "hawa-h-8 hawa-w-8",
|
26
|
-
lg: "hawa-h-14 hawa-w-14",
|
27
|
-
xl: "hawa-h-24 hawa-w-24"
|
28
|
-
};
|
29
|
-
let animationStyles = {
|
30
|
-
pulse: "hawa-animate-in hawa-fade-in hawa-duration-1000",
|
31
|
-
bounce: "hawa-animate-bounce"
|
32
|
-
};
|
33
|
-
switch (design.split("-")[0]) {
|
34
|
-
case "dots":
|
35
|
-
return /* @__PURE__ */ React.createElement(
|
36
|
-
"div",
|
37
|
-
{
|
38
|
-
className: cn("hawa-flex hawa-flex-row hawa-gap-2", props.className)
|
39
|
-
},
|
40
|
-
/* @__PURE__ */ React.createElement(
|
41
|
-
"div",
|
42
|
-
{
|
43
|
-
className: cn(
|
44
|
-
"hawa-animate-bounce hawa-rounded-full hawa-delay-100 hawa-repeat-infinite",
|
45
|
-
size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size],
|
46
|
-
animationStyles[design.split("-")[1]],
|
47
|
-
color ? color : "hawa-bg-primary"
|
48
|
-
)
|
49
|
-
}
|
50
|
-
),
|
51
|
-
/* @__PURE__ */ React.createElement(
|
52
|
-
"div",
|
53
|
-
{
|
54
|
-
className: cn(
|
55
|
-
"hawa-animate-bounce hawa-rounded-full hawa-delay-200 hawa-repeat-infinite",
|
56
|
-
size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size],
|
57
|
-
animationStyles[design.split("-")[1]],
|
58
|
-
color ? color : "hawa-bg-primary"
|
59
|
-
)
|
60
|
-
}
|
61
|
-
),
|
62
|
-
/* @__PURE__ */ React.createElement(
|
63
|
-
"div",
|
64
|
-
{
|
65
|
-
className: cn(
|
66
|
-
"hawa-animate-bounce hawa-rounded-full hawa-delay-300 hawa-repeat-infinite",
|
67
|
-
size === "button" ? "hawa-h-2 hawa-w-2" : sizeStyles[size],
|
68
|
-
animationStyles[design.split("-")[1]],
|
69
|
-
color ? color : "hawa-bg-primary"
|
70
|
-
)
|
71
|
-
}
|
72
|
-
)
|
73
|
-
);
|
74
|
-
case "square":
|
75
|
-
return /* @__PURE__ */ React.createElement(
|
76
|
-
"svg",
|
77
|
-
{
|
78
|
-
className: cn("squircle-container", sizeStyles[size]),
|
79
|
-
viewBox: "0 0 35 35",
|
80
|
-
height: "35",
|
81
|
-
width: "35"
|
82
|
-
},
|
83
|
-
/* @__PURE__ */ React.createElement(
|
84
|
-
"rect",
|
85
|
-
{
|
86
|
-
className: "squircle-track",
|
87
|
-
x: "2.5",
|
88
|
-
y: "2.5",
|
89
|
-
fill: "none",
|
90
|
-
strokeWidth: "5px",
|
91
|
-
width: "32.5",
|
92
|
-
height: "32.5"
|
93
|
-
}
|
94
|
-
),
|
95
|
-
/* @__PURE__ */ React.createElement(
|
96
|
-
"rect",
|
97
|
-
{
|
98
|
-
className: "square-car",
|
99
|
-
x: "2.5",
|
100
|
-
y: "2.5",
|
101
|
-
fill: "none",
|
102
|
-
strokeWidth: "5px",
|
103
|
-
width: "32.5",
|
104
|
-
height: "32.5",
|
105
|
-
pathLength: "100"
|
106
|
-
}
|
107
|
-
)
|
108
|
-
);
|
109
|
-
case "squircle":
|
110
|
-
return /* @__PURE__ */ React.createElement(
|
111
|
-
"svg",
|
112
|
-
{
|
113
|
-
className: cn("squircle-container", sizeStyles[size]),
|
114
|
-
x: "0px",
|
115
|
-
y: "0px",
|
116
|
-
viewBox: "0 0 37 37",
|
117
|
-
height: "37",
|
118
|
-
width: "37",
|
119
|
-
preserveAspectRatio: "xMidYMid meet"
|
120
|
-
},
|
121
|
-
/* @__PURE__ */ React.createElement(
|
122
|
-
"path",
|
123
|
-
{
|
124
|
-
className: "squircle-track",
|
125
|
-
fill: "none",
|
126
|
-
strokeWidth: "5",
|
127
|
-
pathLength: "100",
|
128
|
-
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"
|
129
|
-
}
|
130
|
-
),
|
131
|
-
/* @__PURE__ */ React.createElement(
|
132
|
-
"path",
|
133
|
-
{
|
134
|
-
className: "squircle-car",
|
135
|
-
fill: "none",
|
136
|
-
strokeWidth: "5",
|
137
|
-
pathLength: "100",
|
138
|
-
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"
|
139
|
-
}
|
140
|
-
)
|
141
|
-
);
|
142
|
-
case "progress":
|
143
|
-
return /* @__PURE__ */ React.createElement("div", { className: "progress-loading" });
|
144
|
-
case "orbit":
|
145
|
-
return /* @__PURE__ */ React.createElement("div", { className: "orbit-container" });
|
146
|
-
default:
|
147
|
-
return /* @__PURE__ */ React.createElement(
|
148
|
-
"svg",
|
149
|
-
{
|
150
|
-
className: cn("circle-container", sizeStyles[size]),
|
151
|
-
viewBox: "0 0 40 40",
|
152
|
-
height: "40",
|
153
|
-
width: "40"
|
154
|
-
},
|
155
|
-
/* @__PURE__ */ React.createElement(
|
156
|
-
"circle",
|
157
|
-
{
|
158
|
-
className: cn("circle-track", {
|
159
|
-
"hawa-stroke-primary-foreground": themeMode === "dark",
|
160
|
-
"hawa-stroke-primary": themeMode === "light"
|
161
|
-
}),
|
162
|
-
cx: "20",
|
163
|
-
cy: "20",
|
164
|
-
r: "17.5",
|
165
|
-
pathLength: "100",
|
166
|
-
strokeWidth: "5px",
|
167
|
-
fill: "none"
|
168
|
-
}
|
169
|
-
),
|
170
|
-
/* @__PURE__ */ React.createElement(
|
171
|
-
"circle",
|
172
|
-
{
|
173
|
-
className: cn("circle-car", {
|
174
|
-
"hawa-stroke-primary-foreground": themeMode === "dark",
|
175
|
-
"hawa-stroke-primary": themeMode === "light"
|
176
|
-
}),
|
177
|
-
cx: "20",
|
178
|
-
cy: "20",
|
179
|
-
r: "17.5",
|
180
|
-
pathLength: "100",
|
181
|
-
strokeWidth: "5px",
|
182
|
-
fill: "none"
|
183
|
-
}
|
184
|
-
)
|
185
|
-
);
|
186
|
-
}
|
187
|
-
};
|
188
|
-
|
189
|
-
// elements/button/Button.tsx
|
190
|
-
var buttonVariants = cva(
|
191
|
-
"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",
|
192
|
-
{
|
193
|
-
variants: {
|
194
|
-
variant: {
|
195
|
-
default: "hawa-bg-primary hawa-text-primary-foreground hover:hawa-bg-primary/90",
|
196
|
-
light: "hawa-bg-primary/20 hawa-text-primary hover:hawa-bg-primary/40",
|
197
|
-
destructive: "hawa-bg-destructive hawa-text-destructive-foreground hover:hawa-bg-destructive/90",
|
198
|
-
outline: "hawa-border hawa-border-input hawa-bg-transparent hover:hawa-bg-accent hover:hawa-text-accent-foreground",
|
199
|
-
secondary: "hawa-bg-secondary hawa-text-secondary-foreground hover:hawa-bg-secondary/80",
|
200
|
-
ghost: "hover:hawa-bg-accent hover:hawa-text-accent-foreground",
|
201
|
-
link: "hawa-text-primary hawa-underline-offset-4 hover:hawa-underline",
|
202
|
-
combobox: "hawa-bg-background hawa-border",
|
203
|
-
neoBrutalism: "neo-brutalism"
|
204
|
-
// "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",
|
205
|
-
},
|
206
|
-
size: {
|
207
|
-
default: "hawa-h-10 hawa-px-4 hawa-py-2",
|
208
|
-
heightless: "hawa-px-4 hawa-py-4",
|
209
|
-
xs: "hawa-h-fit hawa-min-h-[25px] hawa-py-1 hawa-text-[10px] hawa-px-2 ",
|
210
|
-
sm: "hawa-h-9 hawa-text-[11px] hawa-rounded-md hawa-px-3",
|
211
|
-
lg: "hawa-h-11 hawa-rounded-md hawa-px-8",
|
212
|
-
xl: "hawa-h-14 hawa-rounded-md hawa-px-10",
|
213
|
-
icon: "hawa-h-10 hawa-w-10",
|
214
|
-
smallIcon: "hawa-h-7 hawa-w-7"
|
215
|
-
}
|
216
|
-
},
|
217
|
-
defaultVariants: {
|
218
|
-
variant: "default",
|
219
|
-
size: "default"
|
220
|
-
}
|
221
|
-
}
|
222
|
-
);
|
223
|
-
var Button = React2.forwardRef(
|
224
|
-
({
|
225
|
-
className,
|
226
|
-
variant,
|
227
|
-
size,
|
228
|
-
asChild = false,
|
229
|
-
centered = true,
|
230
|
-
isLoading,
|
231
|
-
children,
|
232
|
-
...props
|
233
|
-
}, ref) => {
|
234
|
-
const Comp = "button";
|
235
|
-
const loadingColor = variant === "outline" || variant === "ghost" || variant === "neoBrutalism" ? "hawa-bg-primary" : "hawa-bg-primary-foreground";
|
236
|
-
return /* @__PURE__ */ React2.createElement(
|
237
|
-
Comp,
|
238
|
-
{
|
239
|
-
className: cn(
|
240
|
-
buttonVariants({ variant, size, className }),
|
241
|
-
centered && "hawa-justify-center"
|
242
|
-
// "hawa-bg-red-500"
|
243
|
-
),
|
244
|
-
ref,
|
245
|
-
...props
|
246
|
-
},
|
247
|
-
isLoading ? /* @__PURE__ */ React2.createElement(
|
248
|
-
Loading,
|
249
|
-
{
|
250
|
-
design: size === "icon" || size === "smallIcon" ? "spinner" : "dots-pulse",
|
251
|
-
themeMode: variant === "outline" ? "light" : "dark",
|
252
|
-
color: loadingColor,
|
253
|
-
size: size === "sm" || size === "xs" ? "xs" : "button"
|
254
|
-
}
|
255
|
-
) : children
|
256
|
-
);
|
257
|
-
}
|
258
|
-
);
|
259
|
-
Button.displayName = "Button";
|
260
|
-
|
261
|
-
export {
|
262
|
-
cn,
|
263
|
-
Button
|
264
|
-
};
|
265
|
-
//# sourceMappingURL=chunk-HYXZRCZW.mjs.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../util/index.ts","../elements/button/Button.tsx","../elements/loading/Loading.tsx"],"sourcesContent":["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"]}
|
package/dist/chunk-JNUGOUYJ.mjs
DELETED
@@ -1,154 +0,0 @@
|
|
1
|
-
// hooks/useToast.ts
|
2
|
-
import * as React from "react";
|
3
|
-
var TOAST_LIMIT = 5;
|
4
|
-
var TOAST_REMOVE_DELAY = 1e5;
|
5
|
-
var count = 0;
|
6
|
-
function genId() {
|
7
|
-
count = (count + 1) % Number.MAX_VALUE;
|
8
|
-
return count.toString();
|
9
|
-
}
|
10
|
-
var toastTimeouts = /* @__PURE__ */ new Map();
|
11
|
-
var addToRemoveQueue = (toastId) => {
|
12
|
-
if (toastTimeouts.has(toastId)) {
|
13
|
-
return;
|
14
|
-
}
|
15
|
-
const timeout = setTimeout(() => {
|
16
|
-
toastTimeouts.delete(toastId);
|
17
|
-
dispatch({
|
18
|
-
type: "REMOVE_TOAST",
|
19
|
-
toastId
|
20
|
-
});
|
21
|
-
}, TOAST_REMOVE_DELAY);
|
22
|
-
toastTimeouts.set(toastId, timeout);
|
23
|
-
};
|
24
|
-
var reducer = (state, action) => {
|
25
|
-
switch (action.type) {
|
26
|
-
case "ADD_TOAST":
|
27
|
-
console.log("adding toast case");
|
28
|
-
return {
|
29
|
-
...state,
|
30
|
-
toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT)
|
31
|
-
};
|
32
|
-
case "UPDATE_TOAST":
|
33
|
-
return {
|
34
|
-
...state,
|
35
|
-
toasts: state.toasts.map(
|
36
|
-
(t) => t.id === action.toast.id ? { ...t, ...action.toast } : t
|
37
|
-
)
|
38
|
-
};
|
39
|
-
case "DISMISS_TOAST": {
|
40
|
-
const { toastId } = action;
|
41
|
-
if (toastId) {
|
42
|
-
addToRemoveQueue(toastId);
|
43
|
-
} else {
|
44
|
-
state.toasts.forEach((toast2) => {
|
45
|
-
addToRemoveQueue(toast2.id);
|
46
|
-
});
|
47
|
-
}
|
48
|
-
return {
|
49
|
-
...state,
|
50
|
-
toasts: state.toasts.map(
|
51
|
-
(t) => t.id === toastId || toastId === void 0 ? { ...t, open: false } : t
|
52
|
-
)
|
53
|
-
};
|
54
|
-
}
|
55
|
-
case "REMOVE_TOAST":
|
56
|
-
if (action.toastId === void 0) {
|
57
|
-
return { ...state, toasts: [] };
|
58
|
-
}
|
59
|
-
return {
|
60
|
-
...state,
|
61
|
-
toasts: state.toasts.filter((t) => t.id !== action.toastId)
|
62
|
-
};
|
63
|
-
}
|
64
|
-
};
|
65
|
-
var listeners = [];
|
66
|
-
var memoryState = { toasts: [] };
|
67
|
-
function dispatch(action) {
|
68
|
-
console.log("dispatching toast");
|
69
|
-
memoryState = reducer(memoryState, action);
|
70
|
-
listeners.forEach((listener) => {
|
71
|
-
console.log("mapping through listerners in dispathc");
|
72
|
-
listener(memoryState);
|
73
|
-
});
|
74
|
-
}
|
75
|
-
function toast({ ...props }) {
|
76
|
-
const id = genId();
|
77
|
-
const update = (props2) => dispatch({
|
78
|
-
type: "UPDATE_TOAST",
|
79
|
-
toast: { ...props2, id }
|
80
|
-
});
|
81
|
-
const dismiss = () => dispatch({ type: "DISMISS_TOAST", toastId: id });
|
82
|
-
dispatch({
|
83
|
-
type: "ADD_TOAST",
|
84
|
-
toast: {
|
85
|
-
...props,
|
86
|
-
id,
|
87
|
-
open: true,
|
88
|
-
onOpenChange: (open) => {
|
89
|
-
if (!open)
|
90
|
-
dismiss();
|
91
|
-
}
|
92
|
-
}
|
93
|
-
});
|
94
|
-
return {
|
95
|
-
id,
|
96
|
-
dismiss,
|
97
|
-
update
|
98
|
-
};
|
99
|
-
}
|
100
|
-
function useToast() {
|
101
|
-
const [state, setState] = React.useState(memoryState);
|
102
|
-
React.useEffect(() => {
|
103
|
-
console.log("useToast triggered in useEffect");
|
104
|
-
console.log("toast state", state);
|
105
|
-
console.log("listerners BEFORE", listeners);
|
106
|
-
console.log("TOAST: setState is ", setState);
|
107
|
-
listeners.push(setState);
|
108
|
-
return () => {
|
109
|
-
const index = listeners.indexOf(setState);
|
110
|
-
console.log("listerners AFTER", listeners);
|
111
|
-
if (index > -1) {
|
112
|
-
listeners.splice(index, 1);
|
113
|
-
}
|
114
|
-
};
|
115
|
-
}, [state]);
|
116
|
-
return {
|
117
|
-
...state,
|
118
|
-
toast,
|
119
|
-
dismiss: (toastId) => dispatch({ type: "DISMISS_TOAST", toastId })
|
120
|
-
};
|
121
|
-
}
|
122
|
-
|
123
|
-
// hooks/useClipboard.ts
|
124
|
-
import { useState as useState2 } from "react";
|
125
|
-
function useClipboard({ timeout = 2e3 } = {}) {
|
126
|
-
const [error, setError] = useState2(null);
|
127
|
-
const [copied, setCopied] = useState2(false);
|
128
|
-
const [copyTimeout, setCopyTimeout] = useState2(null);
|
129
|
-
const handleCopyResult = (value) => {
|
130
|
-
clearTimeout(copyTimeout);
|
131
|
-
setCopyTimeout(setTimeout(() => setCopied(false), timeout));
|
132
|
-
setCopied(value);
|
133
|
-
};
|
134
|
-
const copy = (valueToCopy) => {
|
135
|
-
if ("clipboard" in navigator) {
|
136
|
-
navigator.clipboard.writeText(valueToCopy).then(() => handleCopyResult(true)).catch((err) => setError(err));
|
137
|
-
} else {
|
138
|
-
setError(new Error("useClipboard: navigator.clipboard is not supported"));
|
139
|
-
}
|
140
|
-
};
|
141
|
-
const reset = () => {
|
142
|
-
setCopied(false);
|
143
|
-
setError(null);
|
144
|
-
clearTimeout(copyTimeout);
|
145
|
-
};
|
146
|
-
return { copy, reset, error, copied };
|
147
|
-
}
|
148
|
-
|
149
|
-
export {
|
150
|
-
reducer,
|
151
|
-
toast,
|
152
|
-
useToast,
|
153
|
-
useClipboard
|
154
|
-
};
|