@sikka/hawa 0.35.6-next → 0.36.0-next
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/{Chip-BtgTAs8x.d.mts → Chip-CGl24Kd9.d.mts} +2 -2
- package/dist/{Chip-DQsP5hFS.d.ts → Chip-Cato49ar.d.ts} +2 -2
- package/dist/accordion/index.d.mts +1 -1
- package/dist/accordion/index.d.ts +1 -1
- package/dist/accordion/index.js +6 -4
- package/dist/accordion/index.js.map +1 -1
- package/dist/accordion/index.mjs +6 -4
- package/dist/accordion/index.mjs.map +1 -1
- package/dist/appLayout/index.js +7 -6
- package/dist/appLayout/index.js.map +1 -1
- package/dist/appLayout/index.mjs +7 -6
- package/dist/appLayout/index.mjs.map +1 -1
- package/dist/blocks/auth/index.js +28 -5
- package/dist/blocks/auth/index.mjs +4 -4
- package/dist/blocks/feedback/index.js +0 -1
- package/dist/blocks/feedback/index.mjs +1 -1
- package/dist/blocks/index.js +34 -9
- package/dist/blocks/index.mjs +2 -2
- package/dist/blocks/misc/index.js +32 -7
- package/dist/blocks/misc/index.mjs +3 -3
- package/dist/blocks/pricing/index.js +6 -4
- package/dist/blocks/pricing/index.mjs +1 -1
- package/dist/chip/index.d.mts +2 -2
- package/dist/chip/index.d.ts +2 -2
- package/dist/chip/index.js +6 -4
- package/dist/chip/index.js.map +1 -1
- package/dist/chip/index.mjs +6 -4
- package/dist/chip/index.mjs.map +1 -1
- package/dist/{chunk-MZRUEJED.mjs → chunk-6QIOEUE2.mjs} +1 -1
- package/dist/{chunk-JEZLVXSU.mjs → chunk-BXBSZD5X.mjs} +26 -2
- package/dist/{chunk-LVXG3SMD.mjs → chunk-CJ57JBYA.mjs} +6 -4
- package/dist/{chunk-CD6AQVU3.mjs → chunk-HLYAX77R.mjs} +0 -1
- package/dist/{chunk-ANXGMZXS.mjs → chunk-NNPNQK6F.mjs} +6 -4
- package/dist/{chunk-57EAKTAP.mjs → chunk-T33FXOHA.mjs} +29 -6
- package/dist/colorPicker/index.js +1 -1
- package/dist/colorPicker/index.js.map +1 -1
- package/dist/colorPicker/index.mjs +1 -1
- package/dist/colorPicker/index.mjs.map +1 -1
- package/dist/dataTable/index.js +41 -5
- package/dist/dataTable/index.js.map +1 -1
- package/dist/dataTable/index.mjs +41 -5
- package/dist/dataTable/index.mjs.map +1 -1
- package/dist/datePicker/index.d.mts +1 -0
- package/dist/datePicker/index.d.ts +1 -0
- package/dist/datePicker/index.js +3 -2
- package/dist/datePicker/index.js.map +1 -1
- package/dist/datePicker/index.mjs +3 -2
- package/dist/datePicker/index.mjs.map +1 -1
- package/dist/elements/index.d.mts +8 -4
- package/dist/elements/index.d.ts +8 -4
- package/dist/elements/index.js +50 -13
- package/dist/elements/index.mjs +19 -7
- package/dist/index.css +10 -0
- package/dist/index.d.mts +8 -4
- package/dist/index.d.ts +8 -4
- package/dist/index.js +51 -15
- package/dist/index.mjs +51 -15
- package/dist/input/index.d.mts +6 -2
- package/dist/input/index.d.ts +6 -2
- package/dist/input/index.js +26 -2
- package/dist/input/index.js.map +1 -1
- package/dist/input/index.mjs +26 -2
- package/dist/input/index.mjs.map +1 -1
- package/dist/layout/index.d.mts +1 -1
- package/dist/layout/index.d.ts +1 -1
- package/dist/layout/index.js +7 -6
- package/dist/layout/index.mjs +3 -4
- package/dist/passwordInput/index.js +26 -2
- package/dist/passwordInput/index.js.map +1 -1
- package/dist/passwordInput/index.mjs +26 -2
- package/dist/passwordInput/index.mjs.map +1 -1
- package/dist/phoneInput/index.js +1 -2
- package/dist/phoneInput/index.js.map +1 -1
- package/dist/phoneInput/index.mjs +1 -2
- package/dist/phoneInput/index.mjs.map +1 -1
- package/dist/pinInput/index.js +1 -1
- package/dist/pinInput/index.js.map +1 -1
- package/dist/pinInput/index.mjs +1 -1
- package/dist/pinInput/index.mjs.map +1 -1
- package/dist/select/index.js +0 -1
- package/dist/select/index.js.map +1 -1
- package/dist/select/index.mjs +0 -1
- package/dist/select/index.mjs.map +1 -1
- package/dist/sidebar/index.js +6 -4
- package/dist/sidebar/index.js.map +1 -1
- package/dist/sidebar/index.mjs +6 -4
- package/dist/sidebar/index.mjs.map +1 -1
- package/dist/tabs/index.d.mts +1 -1
- package/dist/tabs/index.d.ts +1 -1
- package/dist/tabs/index.js +6 -4
- package/dist/tabs/index.js.map +1 -1
- package/dist/tabs/index.mjs +6 -4
- package/dist/tabs/index.mjs.map +1 -1
- package/package.json +7 -8
@@ -1233,7 +1233,7 @@ var Input = (0, import_react8.forwardRef)(
|
|
1233
1233
|
auto: ""
|
1234
1234
|
};
|
1235
1235
|
let defaultStyle = "hawa-flex hawa-max-h-fit hawa-h-fit hawa-relative hawa-flex-col hawa-justify-center hawa-gap-0";
|
1236
|
-
let defaultInputStyle = "hawa-block hawa-w-full hawa-rounded hawa-border hawa-transition-all hawa-bg-background hawa-p-3 hawa-text-sm ";
|
1236
|
+
let defaultInputStyle = "hawa-block hawa-w-full hawa-rounded hawa-border hawa-transition-all hawa-bg-background hawa-p-3 hawa-text-sm placeholder:hawa-text-muted-foreground";
|
1237
1237
|
const handleChange = (e) => {
|
1238
1238
|
let newValue = e.target.value;
|
1239
1239
|
if (props.prefixText) {
|
@@ -1272,7 +1272,31 @@ var Input = (0, import_react8.forwardRef)(
|
|
1272
1272
|
)
|
1273
1273
|
},
|
1274
1274
|
props.outsidePrefix
|
1275
|
-
), props.isLoading ? /* @__PURE__ */ import_react8.default.createElement("div", { className: "hawa-pb-2 hawa-w-full" }, /* @__PURE__ */ import_react8.default.createElement(Skeleton, { className: "hawa-h-[40px] hawa-w-full" })) : /* @__PURE__ */ import_react8.default.createElement(
|
1275
|
+
), props.isLoading ? /* @__PURE__ */ import_react8.default.createElement("div", { className: "hawa-pb-2 hawa-w-full" }, /* @__PURE__ */ import_react8.default.createElement(Skeleton, { className: "hawa-h-[40px] hawa-w-full" })) : props.isLoadingError ? /* @__PURE__ */ import_react8.default.createElement("div", { className: "hawa-pb-2 hawa-w-full" }, /* @__PURE__ */ import_react8.default.createElement(
|
1276
|
+
Skeleton,
|
1277
|
+
{
|
1278
|
+
animation: "none",
|
1279
|
+
className: "hawa-h-[40px] hawa-w-full !hawa-bg-destructive/[0.3]",
|
1280
|
+
content: /* @__PURE__ */ import_react8.default.createElement("div", { className: "hawa-flex hawa-flex-row hawa-gap-2" }, /* @__PURE__ */ import_react8.default.createElement(
|
1281
|
+
"svg",
|
1282
|
+
{
|
1283
|
+
xmlns: "http://www.w3.org/2000/svg",
|
1284
|
+
width: "20",
|
1285
|
+
height: "20",
|
1286
|
+
viewBox: "0 0 24 24",
|
1287
|
+
fill: "none",
|
1288
|
+
stroke: "currentColor",
|
1289
|
+
strokeWidth: "2",
|
1290
|
+
strokeLinecap: "round",
|
1291
|
+
strokeLinejoin: "round",
|
1292
|
+
className: "hawa-text-destructive"
|
1293
|
+
},
|
1294
|
+
/* @__PURE__ */ import_react8.default.createElement("path", { d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3" }),
|
1295
|
+
/* @__PURE__ */ import_react8.default.createElement("path", { d: "M12 9v4" }),
|
1296
|
+
/* @__PURE__ */ import_react8.default.createElement("path", { d: "M12 17h.01" })
|
1297
|
+
), /* @__PURE__ */ import_react8.default.createElement("span", null, /* @__PURE__ */ import_react8.default.createElement("span", { className: "hawa-text-destructive" }, props.loadingErrorMesssage || "Error loading data")))
|
1298
|
+
}
|
1299
|
+
)) : /* @__PURE__ */ import_react8.default.createElement(import_react8.default.Fragment, null, !props.hideSeparator && /* @__PURE__ */ import_react8.default.createElement(
|
1276
1300
|
"div",
|
1277
1301
|
{
|
1278
1302
|
className: cn(
|
@@ -3148,7 +3172,6 @@ var Select = ({
|
|
3148
3172
|
)
|
3149
3173
|
},
|
3150
3174
|
unstyled: true,
|
3151
|
-
autoFocus: true,
|
3152
3175
|
components: props.hideIndicator ? {
|
3153
3176
|
Option,
|
3154
3177
|
Menu,
|
@@ -3286,7 +3309,7 @@ var PhoneInput = ({
|
|
3286
3309
|
onChange: handleInputChange,
|
3287
3310
|
placeholder: props.placeholder,
|
3288
3311
|
className: cn(
|
3289
|
-
"hawa-block hawa-h-[40px] hawa-w-full hawa-rounded hawa-rounded-l-none hawa-border hawa-border-l-0 hawa-border-l-transparent hawa-bg-background hawa-p-2 hawa-text-sm hawa-transition-all"
|
3312
|
+
"placeholder:hawa-text-muted-foreground hawa-block hawa-h-[40px] hawa-w-full hawa-rounded hawa-rounded-l-none hawa-border hawa-border-l-0 hawa-border-l-transparent hawa-bg-background hawa-p-2 hawa-text-sm hawa-transition-all"
|
3290
3313
|
),
|
3291
3314
|
...inputProps
|
3292
3315
|
}
|
@@ -4515,7 +4538,7 @@ var PinInput = ({
|
|
4515
4538
|
id: `input-${index}`,
|
4516
4539
|
pattern: "[0-9]*",
|
4517
4540
|
className: cn(
|
4518
|
-
"hawa-h-10 hawa-rounded hawa-border hawa-bg-background hawa-text-center",
|
4541
|
+
"hawa-h-10 hawa-rounded hawa-border hawa-bg-background hawa-text-center placeholder:hawa-text-muted-foreground",
|
4519
4542
|
width === "full" ? "hawa-w-full" : "hawa-w-10"
|
4520
4543
|
),
|
4521
4544
|
onChange: (e) => handleChange(e, index),
|
@@ -1,13 +1,13 @@
|
|
1
1
|
"use client";
|
2
2
|
import {
|
3
3
|
Input
|
4
|
-
} from "../../chunk-
|
4
|
+
} from "../../chunk-BXBSZD5X.mjs";
|
5
5
|
import {
|
6
6
|
StopPropagationWrapper
|
7
7
|
} from "../../chunk-47APBDKK.mjs";
|
8
8
|
import {
|
9
9
|
Select
|
10
|
-
} from "../../chunk-
|
10
|
+
} from "../../chunk-HLYAX77R.mjs";
|
11
11
|
import {
|
12
12
|
EyeIcon,
|
13
13
|
HiddenEyeIcon
|
@@ -2379,7 +2379,7 @@ var PhoneInput = ({
|
|
2379
2379
|
onChange: handleInputChange,
|
2380
2380
|
placeholder: props.placeholder,
|
2381
2381
|
className: cn(
|
2382
|
-
"hawa-block hawa-h-[40px] hawa-w-full hawa-rounded hawa-rounded-l-none hawa-border hawa-border-l-0 hawa-border-l-transparent hawa-bg-background hawa-p-2 hawa-text-sm hawa-transition-all"
|
2382
|
+
"placeholder:hawa-text-muted-foreground hawa-block hawa-h-[40px] hawa-w-full hawa-rounded hawa-rounded-l-none hawa-border hawa-border-l-0 hawa-border-l-transparent hawa-bg-background hawa-p-2 hawa-text-sm hawa-transition-all"
|
2383
2383
|
),
|
2384
2384
|
...inputProps
|
2385
2385
|
}
|
@@ -3560,7 +3560,7 @@ var PinInput = ({
|
|
3560
3560
|
id: `input-${index}`,
|
3561
3561
|
pattern: "[0-9]*",
|
3562
3562
|
className: cn(
|
3563
|
-
"hawa-h-10 hawa-rounded hawa-border hawa-bg-background hawa-text-center",
|
3563
|
+
"hawa-h-10 hawa-rounded hawa-border hawa-bg-background hawa-text-center placeholder:hawa-text-muted-foreground",
|
3564
3564
|
width === "full" ? "hawa-w-full" : "hawa-w-10"
|
3565
3565
|
),
|
3566
3566
|
onChange: (e) => handleChange(e, index),
|
package/dist/blocks/index.js
CHANGED
@@ -1254,7 +1254,7 @@ var Input = (0, import_react8.forwardRef)(
|
|
1254
1254
|
auto: ""
|
1255
1255
|
};
|
1256
1256
|
let defaultStyle = "hawa-flex hawa-max-h-fit hawa-h-fit hawa-relative hawa-flex-col hawa-justify-center hawa-gap-0";
|
1257
|
-
let defaultInputStyle = "hawa-block hawa-w-full hawa-rounded hawa-border hawa-transition-all hawa-bg-background hawa-p-3 hawa-text-sm ";
|
1257
|
+
let defaultInputStyle = "hawa-block hawa-w-full hawa-rounded hawa-border hawa-transition-all hawa-bg-background hawa-p-3 hawa-text-sm placeholder:hawa-text-muted-foreground";
|
1258
1258
|
const handleChange = (e) => {
|
1259
1259
|
let newValue = e.target.value;
|
1260
1260
|
if (props.prefixText) {
|
@@ -1293,7 +1293,31 @@ var Input = (0, import_react8.forwardRef)(
|
|
1293
1293
|
)
|
1294
1294
|
},
|
1295
1295
|
props.outsidePrefix
|
1296
|
-
), props.isLoading ? /* @__PURE__ */ import_react8.default.createElement("div", { className: "hawa-pb-2 hawa-w-full" }, /* @__PURE__ */ import_react8.default.createElement(Skeleton, { className: "hawa-h-[40px] hawa-w-full" })) : /* @__PURE__ */ import_react8.default.createElement(
|
1296
|
+
), props.isLoading ? /* @__PURE__ */ import_react8.default.createElement("div", { className: "hawa-pb-2 hawa-w-full" }, /* @__PURE__ */ import_react8.default.createElement(Skeleton, { className: "hawa-h-[40px] hawa-w-full" })) : props.isLoadingError ? /* @__PURE__ */ import_react8.default.createElement("div", { className: "hawa-pb-2 hawa-w-full" }, /* @__PURE__ */ import_react8.default.createElement(
|
1297
|
+
Skeleton,
|
1298
|
+
{
|
1299
|
+
animation: "none",
|
1300
|
+
className: "hawa-h-[40px] hawa-w-full !hawa-bg-destructive/[0.3]",
|
1301
|
+
content: /* @__PURE__ */ import_react8.default.createElement("div", { className: "hawa-flex hawa-flex-row hawa-gap-2" }, /* @__PURE__ */ import_react8.default.createElement(
|
1302
|
+
"svg",
|
1303
|
+
{
|
1304
|
+
xmlns: "http://www.w3.org/2000/svg",
|
1305
|
+
width: "20",
|
1306
|
+
height: "20",
|
1307
|
+
viewBox: "0 0 24 24",
|
1308
|
+
fill: "none",
|
1309
|
+
stroke: "currentColor",
|
1310
|
+
strokeWidth: "2",
|
1311
|
+
strokeLinecap: "round",
|
1312
|
+
strokeLinejoin: "round",
|
1313
|
+
className: "hawa-text-destructive"
|
1314
|
+
},
|
1315
|
+
/* @__PURE__ */ import_react8.default.createElement("path", { d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3" }),
|
1316
|
+
/* @__PURE__ */ import_react8.default.createElement("path", { d: "M12 9v4" }),
|
1317
|
+
/* @__PURE__ */ import_react8.default.createElement("path", { d: "M12 17h.01" })
|
1318
|
+
), /* @__PURE__ */ import_react8.default.createElement("span", null, /* @__PURE__ */ import_react8.default.createElement("span", { className: "hawa-text-destructive" }, props.loadingErrorMesssage || "Error loading data")))
|
1319
|
+
}
|
1320
|
+
)) : /* @__PURE__ */ import_react8.default.createElement(import_react8.default.Fragment, null, !props.hideSeparator && /* @__PURE__ */ import_react8.default.createElement(
|
1297
1321
|
"div",
|
1298
1322
|
{
|
1299
1323
|
className: cn(
|
@@ -3169,7 +3193,6 @@ var Select = ({
|
|
3169
3193
|
)
|
3170
3194
|
},
|
3171
3195
|
unstyled: true,
|
3172
|
-
autoFocus: true,
|
3173
3196
|
components: props.hideIndicator ? {
|
3174
3197
|
Option,
|
3175
3198
|
Menu,
|
@@ -3307,7 +3330,7 @@ var PhoneInput = ({
|
|
3307
3330
|
onChange: handleInputChange,
|
3308
3331
|
placeholder: props.placeholder,
|
3309
3332
|
className: cn(
|
3310
|
-
"hawa-block hawa-h-[40px] hawa-w-full hawa-rounded hawa-rounded-l-none hawa-border hawa-border-l-0 hawa-border-l-transparent hawa-bg-background hawa-p-2 hawa-text-sm hawa-transition-all"
|
3333
|
+
"placeholder:hawa-text-muted-foreground hawa-block hawa-h-[40px] hawa-w-full hawa-rounded hawa-rounded-l-none hawa-border hawa-border-l-0 hawa-border-l-transparent hawa-bg-background hawa-p-2 hawa-text-sm hawa-transition-all"
|
3311
3334
|
),
|
3312
3335
|
...inputProps
|
3313
3336
|
}
|
@@ -4672,7 +4695,7 @@ var PinInput = ({
|
|
4672
4695
|
id: `input-${index}`,
|
4673
4696
|
pattern: "[0-9]*",
|
4674
4697
|
className: cn(
|
4675
|
-
"hawa-h-10 hawa-rounded hawa-border hawa-bg-background hawa-text-center",
|
4698
|
+
"hawa-h-10 hawa-rounded hawa-border hawa-bg-background hawa-text-center placeholder:hawa-text-muted-foreground",
|
4676
4699
|
width === "full" ? "hawa-w-full" : "hawa-w-10"
|
4677
4700
|
),
|
4678
4701
|
onChange: (e) => handleChange(e, index),
|
@@ -5782,7 +5805,8 @@ var Chip = import_react45.default.forwardRef(
|
|
5782
5805
|
icon,
|
5783
5806
|
color,
|
5784
5807
|
radius = "inherit",
|
5785
|
-
|
5808
|
+
dot,
|
5809
|
+
dotStatus = "none",
|
5786
5810
|
...rest
|
5787
5811
|
}, ref) => {
|
5788
5812
|
let defaultStyles = "hawa-flex hawa-flex-row hawa-w-fit hawa-gap-1 hawa-items-center hawa-px-2.5 hawa-py-1 hawa-font-bold ";
|
@@ -5801,7 +5825,8 @@ var Chip = import_react45.default.forwardRef(
|
|
5801
5825
|
normal: "hawa-flex hawa-h-2 hawa-w-2 hawa-rounded-full",
|
5802
5826
|
large: "hawa-flex hawa-h-3 hawa-w-3 hawa-rounded-full"
|
5803
5827
|
};
|
5804
|
-
let
|
5828
|
+
let dotStatusStyles = {
|
5829
|
+
none: "hawa-bg-gray-500 dark:hawa-bg-gray-800",
|
5805
5830
|
available: "hawa-bg-green-500",
|
5806
5831
|
unavailable: "hawa-bg-red-500"
|
5807
5832
|
};
|
@@ -5829,10 +5854,10 @@ var Chip = import_react45.default.forwardRef(
|
|
5829
5854
|
color ? colorStyles[color] : "hawa-border hawa-bg-none"
|
5830
5855
|
)
|
5831
5856
|
},
|
5832
|
-
|
5857
|
+
dot && /* @__PURE__ */ import_react45.default.createElement(
|
5833
5858
|
"span",
|
5834
5859
|
{
|
5835
|
-
className: cn(dotStyles[size],
|
5860
|
+
className: cn(dotStyles[size], dotStatusStyles[dotStatus])
|
5836
5861
|
}
|
5837
5862
|
),
|
5838
5863
|
icon && icon,
|
package/dist/blocks/index.mjs
CHANGED
@@ -17,7 +17,7 @@ import {
|
|
17
17
|
TabsList,
|
18
18
|
TabsTrigger,
|
19
19
|
Textarea
|
20
|
-
} from "../chunk-
|
20
|
+
} from "../chunk-T33FXOHA.mjs";
|
21
21
|
import "../chunk-OPYDG34F.mjs";
|
22
22
|
import {
|
23
23
|
BadEmoji,
|
@@ -43,7 +43,7 @@ import {
|
|
43
43
|
VeryBadEmoji,
|
44
44
|
VeryGoodEmoji,
|
45
45
|
cn
|
46
|
-
} from "../chunk-
|
46
|
+
} from "../chunk-NNPNQK6F.mjs";
|
47
47
|
import "../chunk-SYGWSBJL.mjs";
|
48
48
|
|
49
49
|
// blocks/auth/AuthButtons.tsx
|
@@ -194,7 +194,8 @@ var Chip = import_react17.default.forwardRef(
|
|
194
194
|
icon,
|
195
195
|
color,
|
196
196
|
radius = "inherit",
|
197
|
-
|
197
|
+
dot,
|
198
|
+
dotStatus = "none",
|
198
199
|
...rest
|
199
200
|
}, ref) => {
|
200
201
|
let defaultStyles = "hawa-flex hawa-flex-row hawa-w-fit hawa-gap-1 hawa-items-center hawa-px-2.5 hawa-py-1 hawa-font-bold ";
|
@@ -213,7 +214,8 @@ var Chip = import_react17.default.forwardRef(
|
|
213
214
|
normal: "hawa-flex hawa-h-2 hawa-w-2 hawa-rounded-full",
|
214
215
|
large: "hawa-flex hawa-h-3 hawa-w-3 hawa-rounded-full"
|
215
216
|
};
|
216
|
-
let
|
217
|
+
let dotStatusStyles = {
|
218
|
+
none: "hawa-bg-gray-500 dark:hawa-bg-gray-800",
|
217
219
|
available: "hawa-bg-green-500",
|
218
220
|
unavailable: "hawa-bg-red-500"
|
219
221
|
};
|
@@ -241,10 +243,10 @@ var Chip = import_react17.default.forwardRef(
|
|
241
243
|
color ? colorStyles[color] : "hawa-border hawa-bg-none"
|
242
244
|
)
|
243
245
|
},
|
244
|
-
|
246
|
+
dot && /* @__PURE__ */ import_react17.default.createElement(
|
245
247
|
"span",
|
246
248
|
{
|
247
|
-
className: cn(dotStyles[size],
|
249
|
+
className: cn(dotStyles[size], dotStatusStyles[dotStatus])
|
248
250
|
}
|
249
251
|
),
|
250
252
|
icon && icon,
|
@@ -1098,7 +1100,7 @@ var Input = (0, import_react25.forwardRef)(
|
|
1098
1100
|
auto: ""
|
1099
1101
|
};
|
1100
1102
|
let defaultStyle = "hawa-flex hawa-max-h-fit hawa-h-fit hawa-relative hawa-flex-col hawa-justify-center hawa-gap-0";
|
1101
|
-
let defaultInputStyle = "hawa-block hawa-w-full hawa-rounded hawa-border hawa-transition-all hawa-bg-background hawa-p-3 hawa-text-sm ";
|
1103
|
+
let defaultInputStyle = "hawa-block hawa-w-full hawa-rounded hawa-border hawa-transition-all hawa-bg-background hawa-p-3 hawa-text-sm placeholder:hawa-text-muted-foreground";
|
1102
1104
|
const handleChange = (e) => {
|
1103
1105
|
let newValue = e.target.value;
|
1104
1106
|
if (props.prefixText) {
|
@@ -1137,7 +1139,31 @@ var Input = (0, import_react25.forwardRef)(
|
|
1137
1139
|
)
|
1138
1140
|
},
|
1139
1141
|
props.outsidePrefix
|
1140
|
-
), props.isLoading ? /* @__PURE__ */ import_react25.default.createElement("div", { className: "hawa-pb-2 hawa-w-full" }, /* @__PURE__ */ import_react25.default.createElement(Skeleton, { className: "hawa-h-[40px] hawa-w-full" })) : /* @__PURE__ */ import_react25.default.createElement(
|
1142
|
+
), props.isLoading ? /* @__PURE__ */ import_react25.default.createElement("div", { className: "hawa-pb-2 hawa-w-full" }, /* @__PURE__ */ import_react25.default.createElement(Skeleton, { className: "hawa-h-[40px] hawa-w-full" })) : props.isLoadingError ? /* @__PURE__ */ import_react25.default.createElement("div", { className: "hawa-pb-2 hawa-w-full" }, /* @__PURE__ */ import_react25.default.createElement(
|
1143
|
+
Skeleton,
|
1144
|
+
{
|
1145
|
+
animation: "none",
|
1146
|
+
className: "hawa-h-[40px] hawa-w-full !hawa-bg-destructive/[0.3]",
|
1147
|
+
content: /* @__PURE__ */ import_react25.default.createElement("div", { className: "hawa-flex hawa-flex-row hawa-gap-2" }, /* @__PURE__ */ import_react25.default.createElement(
|
1148
|
+
"svg",
|
1149
|
+
{
|
1150
|
+
xmlns: "http://www.w3.org/2000/svg",
|
1151
|
+
width: "20",
|
1152
|
+
height: "20",
|
1153
|
+
viewBox: "0 0 24 24",
|
1154
|
+
fill: "none",
|
1155
|
+
stroke: "currentColor",
|
1156
|
+
strokeWidth: "2",
|
1157
|
+
strokeLinecap: "round",
|
1158
|
+
strokeLinejoin: "round",
|
1159
|
+
className: "hawa-text-destructive"
|
1160
|
+
},
|
1161
|
+
/* @__PURE__ */ import_react25.default.createElement("path", { d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3" }),
|
1162
|
+
/* @__PURE__ */ import_react25.default.createElement("path", { d: "M12 9v4" }),
|
1163
|
+
/* @__PURE__ */ import_react25.default.createElement("path", { d: "M12 17h.01" })
|
1164
|
+
), /* @__PURE__ */ import_react25.default.createElement("span", null, /* @__PURE__ */ import_react25.default.createElement("span", { className: "hawa-text-destructive" }, props.loadingErrorMesssage || "Error loading data")))
|
1165
|
+
}
|
1166
|
+
)) : /* @__PURE__ */ import_react25.default.createElement(import_react25.default.Fragment, null, !props.hideSeparator && /* @__PURE__ */ import_react25.default.createElement(
|
1141
1167
|
"div",
|
1142
1168
|
{
|
1143
1169
|
className: cn(
|
@@ -1408,7 +1434,6 @@ var Select = ({
|
|
1408
1434
|
)
|
1409
1435
|
},
|
1410
1436
|
unstyled: true,
|
1411
|
-
autoFocus: true,
|
1412
1437
|
components: props.hideIndicator ? {
|
1413
1438
|
Option,
|
1414
1439
|
Menu,
|
@@ -1,17 +1,17 @@
|
|
1
1
|
"use client";
|
2
2
|
import {
|
3
3
|
Input
|
4
|
-
} from "../../chunk-
|
4
|
+
} from "../../chunk-BXBSZD5X.mjs";
|
5
5
|
import {
|
6
6
|
Chip,
|
7
7
|
ScrollArea
|
8
|
-
} from "../../chunk-
|
8
|
+
} from "../../chunk-CJ57JBYA.mjs";
|
9
9
|
import {
|
10
10
|
Textarea
|
11
11
|
} from "../../chunk-WABHQMUI.mjs";
|
12
12
|
import {
|
13
13
|
Select
|
14
|
-
} from "../../chunk-
|
14
|
+
} from "../../chunk-HLYAX77R.mjs";
|
15
15
|
import {
|
16
16
|
Button,
|
17
17
|
Card,
|
@@ -631,7 +631,8 @@ var Chip = import_react7.default.forwardRef(
|
|
631
631
|
icon,
|
632
632
|
color,
|
633
633
|
radius = "inherit",
|
634
|
-
|
634
|
+
dot,
|
635
|
+
dotStatus = "none",
|
635
636
|
...rest
|
636
637
|
}, ref) => {
|
637
638
|
let defaultStyles = "hawa-flex hawa-flex-row hawa-w-fit hawa-gap-1 hawa-items-center hawa-px-2.5 hawa-py-1 hawa-font-bold ";
|
@@ -650,7 +651,8 @@ var Chip = import_react7.default.forwardRef(
|
|
650
651
|
normal: "hawa-flex hawa-h-2 hawa-w-2 hawa-rounded-full",
|
651
652
|
large: "hawa-flex hawa-h-3 hawa-w-3 hawa-rounded-full"
|
652
653
|
};
|
653
|
-
let
|
654
|
+
let dotStatusStyles = {
|
655
|
+
none: "hawa-bg-gray-500 dark:hawa-bg-gray-800",
|
654
656
|
available: "hawa-bg-green-500",
|
655
657
|
unavailable: "hawa-bg-red-500"
|
656
658
|
};
|
@@ -678,10 +680,10 @@ var Chip = import_react7.default.forwardRef(
|
|
678
680
|
color ? colorStyles[color] : "hawa-border hawa-bg-none"
|
679
681
|
)
|
680
682
|
},
|
681
|
-
|
683
|
+
dot && /* @__PURE__ */ import_react7.default.createElement(
|
682
684
|
"span",
|
683
685
|
{
|
684
|
-
className: cn(dotStyles[size],
|
686
|
+
className: cn(dotStyles[size], dotStatusStyles[dotStatus])
|
685
687
|
}
|
686
688
|
),
|
687
689
|
icon && icon,
|
package/dist/chip/index.d.mts
CHANGED
@@ -14,7 +14,7 @@ type ChipTypes = React__default.HTMLAttributes<HTMLSpanElement> & {
|
|
14
14
|
/** Enable/Disable the dot before the label of the chip */
|
15
15
|
dot?: boolean;
|
16
16
|
/** Red/Green dot next to the label of the chip indicating online/offline or available/unavailable */
|
17
|
-
|
17
|
+
dotStatus?: "available" | "unavailable" | "none";
|
18
18
|
radius?: RadiusType;
|
19
19
|
};
|
20
20
|
declare const Chip: React__default.ForwardRefExoticComponent<React__default.HTMLAttributes<HTMLSpanElement> & {
|
@@ -29,7 +29,7 @@ declare const Chip: React__default.ForwardRefExoticComponent<React__default.HTML
|
|
29
29
|
/** Enable/Disable the dot before the label of the chip */
|
30
30
|
dot?: boolean | undefined;
|
31
31
|
/** Red/Green dot next to the label of the chip indicating online/offline or available/unavailable */
|
32
|
-
|
32
|
+
dotStatus?: "none" | "available" | "unavailable" | undefined;
|
33
33
|
radius?: RadiusType | undefined;
|
34
34
|
} & React__default.RefAttributes<HTMLSpanElement>>;
|
35
35
|
|
package/dist/chip/index.d.ts
CHANGED
@@ -14,7 +14,7 @@ type ChipTypes = React__default.HTMLAttributes<HTMLSpanElement> & {
|
|
14
14
|
/** Enable/Disable the dot before the label of the chip */
|
15
15
|
dot?: boolean;
|
16
16
|
/** Red/Green dot next to the label of the chip indicating online/offline or available/unavailable */
|
17
|
-
|
17
|
+
dotStatus?: "available" | "unavailable" | "none";
|
18
18
|
radius?: RadiusType;
|
19
19
|
};
|
20
20
|
declare const Chip: React__default.ForwardRefExoticComponent<React__default.HTMLAttributes<HTMLSpanElement> & {
|
@@ -29,7 +29,7 @@ declare const Chip: React__default.ForwardRefExoticComponent<React__default.HTML
|
|
29
29
|
/** Enable/Disable the dot before the label of the chip */
|
30
30
|
dot?: boolean | undefined;
|
31
31
|
/** Red/Green dot next to the label of the chip indicating online/offline or available/unavailable */
|
32
|
-
|
32
|
+
dotStatus?: "none" | "available" | "unavailable" | undefined;
|
33
33
|
radius?: RadiusType | undefined;
|
34
34
|
} & React__default.RefAttributes<HTMLSpanElement>>;
|
35
35
|
|
package/dist/chip/index.js
CHANGED
@@ -53,7 +53,8 @@ var Chip = import_react.default.forwardRef(
|
|
53
53
|
icon,
|
54
54
|
color,
|
55
55
|
radius = "inherit",
|
56
|
-
|
56
|
+
dot,
|
57
|
+
dotStatus = "none",
|
57
58
|
...rest
|
58
59
|
}, ref) => {
|
59
60
|
let defaultStyles = "hawa-flex hawa-flex-row hawa-w-fit hawa-gap-1 hawa-items-center hawa-px-2.5 hawa-py-1 hawa-font-bold ";
|
@@ -72,7 +73,8 @@ var Chip = import_react.default.forwardRef(
|
|
72
73
|
normal: "hawa-flex hawa-h-2 hawa-w-2 hawa-rounded-full",
|
73
74
|
large: "hawa-flex hawa-h-3 hawa-w-3 hawa-rounded-full"
|
74
75
|
};
|
75
|
-
let
|
76
|
+
let dotStatusStyles = {
|
77
|
+
none: "hawa-bg-gray-500 dark:hawa-bg-gray-800",
|
76
78
|
available: "hawa-bg-green-500",
|
77
79
|
unavailable: "hawa-bg-red-500"
|
78
80
|
};
|
@@ -100,10 +102,10 @@ var Chip = import_react.default.forwardRef(
|
|
100
102
|
color ? colorStyles[color] : "hawa-border hawa-bg-none"
|
101
103
|
)
|
102
104
|
},
|
103
|
-
|
105
|
+
dot && /* @__PURE__ */ import_react.default.createElement(
|
104
106
|
"span",
|
105
107
|
{
|
106
|
-
className: cn(dotStyles[size],
|
108
|
+
className: cn(dotStyles[size], dotStatusStyles[dotStatus])
|
107
109
|
}
|
108
110
|
),
|
109
111
|
icon && icon,
|
package/dist/chip/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../elements/chip/index.ts","../../elements/chip/Chip.tsx","../../util/index.ts"],"sourcesContent":["export * from \"./Chip\";\n","import React from \"react\";\n\nimport {
|
1
|
+
{"version":3,"sources":["../../elements/chip/index.ts","../../elements/chip/Chip.tsx","../../util/index.ts"],"sourcesContent":["export * from \"./Chip\";\n","import React from \"react\";\n\nimport { cn } from \"@util/index\";\n\nimport { RadiusType } from \"@_types/commonTypes\";\n\nexport type ChipColors =\n | \"green\"\n | \"blue\"\n | \"red\"\n | \"yellow\"\n | \"orange\"\n | \"purple\"\n | \"cyan\"\n | \"hyper\"\n | \"oceanic\";\n\nexport type ChipTypes = React.HTMLAttributes<HTMLSpanElement> & {\n /** The text inside the chip */\n label: string;\n /** The small icon before the chip label */\n icon?: JSX.Element;\n /** The color of the chip, must be a tailwind color */\n color?: ChipColors;\n /** The size of the chip */\n size?: \"small\" | \"normal\" | \"large\";\n /** Enable/Disable the dot before the label of the chip */\n dot?: boolean;\n /** Red/Green dot next to the label of the chip indicating online/offline or available/unavailable */\n dotStatus?: \"available\" | \"unavailable\" | \"none\";\n radius?: RadiusType;\n};\n\nexport const Chip = React.forwardRef<HTMLSpanElement, ChipTypes>(\n (\n {\n label,\n size = \"normal\",\n icon,\n color,\n radius = \"inherit\",\n dot,\n dotStatus = \"none\",\n ...rest\n },\n ref,\n ) => {\n let defaultStyles =\n \"hawa-flex hawa-flex-row hawa-w-fit hawa-gap-1 hawa-items-center hawa-px-2.5 hawa-py-1 hawa-font-bold \";\n let radiusStyles = {\n inherit: \" hawa-rounded\",\n full: \"hawa-rounded-full\",\n none: \"hawa-rounded-none\",\n };\n let sizeStyles = {\n small:\n \"hawa-h-[15px] hawa-leading-4 hawa-px-0 hawa-py-0 hawa-text-[9px] hawa-gap-0.5 \",\n normal: \"hawa-h-fit hawa-text-xs\",\n large: \"hawa-text-base\",\n };\n let dotStyles = {\n small: \"hawa-flex hawa-h-1 hawa-w-1 hawa-rounded-full\",\n normal: \"hawa-flex hawa-h-2 hawa-w-2 hawa-rounded-full\",\n large: \"hawa-flex hawa-h-3 hawa-w-3 hawa-rounded-full\",\n };\n let dotStatusStyles = {\n none: \"hawa-bg-gray-500 dark:hawa-bg-gray-800\",\n available: \"hawa-bg-green-500\",\n unavailable: \"hawa-bg-red-500\",\n };\n let colorStyles: any = {\n green:\n \"hawa-bg-green-200 hawa-text-green-700 dark:hawa-bg-green-700 dark:hawa-text-green-200\",\n blue: \"hawa-bg-blue-200 hawa-text-blue-700 dark:hawa-bg-blue-700 dark:hawa-text-blue-100\",\n red: \"hawa-bg-red-200 hawa-text-red-700 dark:hawa-bg-red-700 dark:hawa-text-red-100\",\n yellow:\n \"hawa-bg-yellow-200 hawa-text-yellow-700 dark:hawa-bg-yellow-600 dark:hawa-text-black\",\n orange:\n \"hawa-bg-orange-200 hawa-text-orange-700 dark:hawa-bg-orange-700 dark:hawa-text-orange-100\",\n purple:\n \"hawa-bg-purple-200 hawa-text-purple-700 dark:hawa-bg-purple-700 dark:hawa-text-purple-100\",\n cyan: \"hawa-bg-cyan-200 hawa-text-cyan-700 dark:hawa-bg-cyan-700 dark:hawa-text-cyan-100\",\n hyper:\n \"hawa-text-white dark:hawa-text-black hawa-bg-gradient-to-tl hawa-from-pink-500 hawa-via-red-500 hawa-to-yellow-500 \",\n oceanic:\n \"hawa-text-white dark:hawa-text-black hawa-bg-gradient-to-bl hawa-from-green-300 hawa-via-blue-500 hawa-to-purple-600\",\n };\n if (label) {\n return (\n <span\n {...rest}\n ref={ref}\n className={cn(\n defaultStyles,\n sizeStyles[size],\n radiusStyles[radius],\n color ? colorStyles[color] : \"hawa-border hawa-bg-none\",\n )}\n >\n {dot && (\n <span\n className={cn(dotStyles[size], dotStatusStyles[dotStatus])}\n ></span>\n )}\n {icon && icon}\n {label}\n </span>\n );\n } else {\n return (\n <span\n {...rest}\n ref={ref}\n className={cn(\n \"hawa-h-2 hawa-w-2 hawa-rounded-full\",\n color ? colorStyles[color] : \"hawa-border hawa-bg-none\",\n )}\n ></span>\n );\n }\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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,mBAAkB;;;ACAlB,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;;;AD4BO,IAAM,OAAO,aAAAA,QAAM;AAAA,EACxB,CACE;AAAA,IACE;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA,YAAY;AAAA,IACZ,GAAG;AAAA,EACL,GACA,QACG;AACH,QAAI,gBACF;AACF,QAAI,eAAe;AAAA,MACjB,SAAS;AAAA,MACT,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AACA,QAAI,aAAa;AAAA,MACf,OACE;AAAA,MACF,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AACA,QAAI,YAAY;AAAA,MACd,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AACA,QAAI,kBAAkB;AAAA,MACpB,MAAM;AAAA,MACN,WAAW;AAAA,MACX,aAAa;AAAA,IACf;AACA,QAAI,cAAmB;AAAA,MACrB,OACE;AAAA,MACF,MAAM;AAAA,MACN,KAAK;AAAA,MACL,QACE;AAAA,MACF,QACE;AAAA,MACF,QACE;AAAA,MACF,MAAM;AAAA,MACN,OACE;AAAA,MACF,SACE;AAAA,IACJ;AACA,QAAI,OAAO;AACT,aACE,6BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ;AAAA,UACA,WAAW;AAAA,YACT;AAAA,YACA,WAAW,IAAI;AAAA,YACf,aAAa,MAAM;AAAA,YACnB,QAAQ,YAAY,KAAK,IAAI;AAAA,UAC/B;AAAA;AAAA,QAEC,OACC,6BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAW,GAAG,UAAU,IAAI,GAAG,gBAAgB,SAAS,CAAC;AAAA;AAAA,QAC1D;AAAA,QAEF,QAAQ;AAAA,QACR;AAAA,MACH;AAAA,IAEJ,OAAO;AACL,aACE,6BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ;AAAA,UACA,WAAW;AAAA,YACT;AAAA,YACA,QAAQ,YAAY,KAAK,IAAI;AAAA,UAC/B;AAAA;AAAA,MACD;AAAA,IAEL;AAAA,EACF;AACF;","names":["React"]}
|
package/dist/chip/index.mjs
CHANGED
@@ -18,7 +18,8 @@ var Chip = React.forwardRef(
|
|
18
18
|
icon,
|
19
19
|
color,
|
20
20
|
radius = "inherit",
|
21
|
-
|
21
|
+
dot,
|
22
|
+
dotStatus = "none",
|
22
23
|
...rest
|
23
24
|
}, ref) => {
|
24
25
|
let defaultStyles = "hawa-flex hawa-flex-row hawa-w-fit hawa-gap-1 hawa-items-center hawa-px-2.5 hawa-py-1 hawa-font-bold ";
|
@@ -37,7 +38,8 @@ var Chip = React.forwardRef(
|
|
37
38
|
normal: "hawa-flex hawa-h-2 hawa-w-2 hawa-rounded-full",
|
38
39
|
large: "hawa-flex hawa-h-3 hawa-w-3 hawa-rounded-full"
|
39
40
|
};
|
40
|
-
let
|
41
|
+
let dotStatusStyles = {
|
42
|
+
none: "hawa-bg-gray-500 dark:hawa-bg-gray-800",
|
41
43
|
available: "hawa-bg-green-500",
|
42
44
|
unavailable: "hawa-bg-red-500"
|
43
45
|
};
|
@@ -65,10 +67,10 @@ var Chip = React.forwardRef(
|
|
65
67
|
color ? colorStyles[color] : "hawa-border hawa-bg-none"
|
66
68
|
)
|
67
69
|
},
|
68
|
-
|
70
|
+
dot && /* @__PURE__ */ React.createElement(
|
69
71
|
"span",
|
70
72
|
{
|
71
|
-
className: cn(dotStyles[size],
|
73
|
+
className: cn(dotStyles[size], dotStatusStyles[dotStatus])
|
72
74
|
}
|
73
75
|
),
|
74
76
|
icon && icon,
|
package/dist/chip/index.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../elements/chip/Chip.tsx","../../util/index.ts"],"sourcesContent":["import React from \"react\";\n\nimport {
|
1
|
+
{"version":3,"sources":["../../elements/chip/Chip.tsx","../../util/index.ts"],"sourcesContent":["import React from \"react\";\n\nimport { cn } from \"@util/index\";\n\nimport { RadiusType } from \"@_types/commonTypes\";\n\nexport type ChipColors =\n | \"green\"\n | \"blue\"\n | \"red\"\n | \"yellow\"\n | \"orange\"\n | \"purple\"\n | \"cyan\"\n | \"hyper\"\n | \"oceanic\";\n\nexport type ChipTypes = React.HTMLAttributes<HTMLSpanElement> & {\n /** The text inside the chip */\n label: string;\n /** The small icon before the chip label */\n icon?: JSX.Element;\n /** The color of the chip, must be a tailwind color */\n color?: ChipColors;\n /** The size of the chip */\n size?: \"small\" | \"normal\" | \"large\";\n /** Enable/Disable the dot before the label of the chip */\n dot?: boolean;\n /** Red/Green dot next to the label of the chip indicating online/offline or available/unavailable */\n dotStatus?: \"available\" | \"unavailable\" | \"none\";\n radius?: RadiusType;\n};\n\nexport const Chip = React.forwardRef<HTMLSpanElement, ChipTypes>(\n (\n {\n label,\n size = \"normal\",\n icon,\n color,\n radius = \"inherit\",\n dot,\n dotStatus = \"none\",\n ...rest\n },\n ref,\n ) => {\n let defaultStyles =\n \"hawa-flex hawa-flex-row hawa-w-fit hawa-gap-1 hawa-items-center hawa-px-2.5 hawa-py-1 hawa-font-bold \";\n let radiusStyles = {\n inherit: \" hawa-rounded\",\n full: \"hawa-rounded-full\",\n none: \"hawa-rounded-none\",\n };\n let sizeStyles = {\n small:\n \"hawa-h-[15px] hawa-leading-4 hawa-px-0 hawa-py-0 hawa-text-[9px] hawa-gap-0.5 \",\n normal: \"hawa-h-fit hawa-text-xs\",\n large: \"hawa-text-base\",\n };\n let dotStyles = {\n small: \"hawa-flex hawa-h-1 hawa-w-1 hawa-rounded-full\",\n normal: \"hawa-flex hawa-h-2 hawa-w-2 hawa-rounded-full\",\n large: \"hawa-flex hawa-h-3 hawa-w-3 hawa-rounded-full\",\n };\n let dotStatusStyles = {\n none: \"hawa-bg-gray-500 dark:hawa-bg-gray-800\",\n available: \"hawa-bg-green-500\",\n unavailable: \"hawa-bg-red-500\",\n };\n let colorStyles: any = {\n green:\n \"hawa-bg-green-200 hawa-text-green-700 dark:hawa-bg-green-700 dark:hawa-text-green-200\",\n blue: \"hawa-bg-blue-200 hawa-text-blue-700 dark:hawa-bg-blue-700 dark:hawa-text-blue-100\",\n red: \"hawa-bg-red-200 hawa-text-red-700 dark:hawa-bg-red-700 dark:hawa-text-red-100\",\n yellow:\n \"hawa-bg-yellow-200 hawa-text-yellow-700 dark:hawa-bg-yellow-600 dark:hawa-text-black\",\n orange:\n \"hawa-bg-orange-200 hawa-text-orange-700 dark:hawa-bg-orange-700 dark:hawa-text-orange-100\",\n purple:\n \"hawa-bg-purple-200 hawa-text-purple-700 dark:hawa-bg-purple-700 dark:hawa-text-purple-100\",\n cyan: \"hawa-bg-cyan-200 hawa-text-cyan-700 dark:hawa-bg-cyan-700 dark:hawa-text-cyan-100\",\n hyper:\n \"hawa-text-white dark:hawa-text-black hawa-bg-gradient-to-tl hawa-from-pink-500 hawa-via-red-500 hawa-to-yellow-500 \",\n oceanic:\n \"hawa-text-white dark:hawa-text-black hawa-bg-gradient-to-bl hawa-from-green-300 hawa-via-blue-500 hawa-to-purple-600\",\n };\n if (label) {\n return (\n <span\n {...rest}\n ref={ref}\n className={cn(\n defaultStyles,\n sizeStyles[size],\n radiusStyles[radius],\n color ? colorStyles[color] : \"hawa-border hawa-bg-none\",\n )}\n >\n {dot && (\n <span\n className={cn(dotStyles[size], dotStatusStyles[dotStatus])}\n ></span>\n )}\n {icon && icon}\n {label}\n </span>\n );\n } else {\n return (\n <span\n {...rest}\n ref={ref}\n className={cn(\n \"hawa-h-2 hawa-w-2 hawa-rounded-full\",\n color ? colorStyles[color] : \"hawa-border hawa-bg-none\",\n )}\n ></span>\n );\n }\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"],"mappings":";;;AAAA,OAAO,WAAW;;;ACAlB,SAAS,YAA6B;AACtC,SAAS,eAAe;AAEjB,SAAS,MAAM,QAAsB;AAC1C,SAAO,QAAQ,KAAK,MAAM,CAAC;AAC7B;;;AD4BO,IAAM,OAAO,MAAM;AAAA,EACxB,CACE;AAAA,IACE;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA,YAAY;AAAA,IACZ,GAAG;AAAA,EACL,GACA,QACG;AACH,QAAI,gBACF;AACF,QAAI,eAAe;AAAA,MACjB,SAAS;AAAA,MACT,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AACA,QAAI,aAAa;AAAA,MACf,OACE;AAAA,MACF,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AACA,QAAI,YAAY;AAAA,MACd,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AACA,QAAI,kBAAkB;AAAA,MACpB,MAAM;AAAA,MACN,WAAW;AAAA,MACX,aAAa;AAAA,IACf;AACA,QAAI,cAAmB;AAAA,MACrB,OACE;AAAA,MACF,MAAM;AAAA,MACN,KAAK;AAAA,MACL,QACE;AAAA,MACF,QACE;AAAA,MACF,QACE;AAAA,MACF,MAAM;AAAA,MACN,OACE;AAAA,MACF,SACE;AAAA,IACJ;AACA,QAAI,OAAO;AACT,aACE;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ;AAAA,UACA,WAAW;AAAA,YACT;AAAA,YACA,WAAW,IAAI;AAAA,YACf,aAAa,MAAM;AAAA,YACnB,QAAQ,YAAY,KAAK,IAAI;AAAA,UAC/B;AAAA;AAAA,QAEC,OACC;AAAA,UAAC;AAAA;AAAA,YACC,WAAW,GAAG,UAAU,IAAI,GAAG,gBAAgB,SAAS,CAAC;AAAA;AAAA,QAC1D;AAAA,QAEF,QAAQ;AAAA,QACR;AAAA,MACH;AAAA,IAEJ,OAAO;AACL,aACE;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ;AAAA,UACA,WAAW;AAAA,YACT;AAAA,YACA,QAAQ,YAAY,KAAK,IAAI;AAAA,UAC/B;AAAA;AAAA,MACD;AAAA,IAEL;AAAA,EACF;AACF;","names":[]}
|