@sikka/hawa 0.32.2-next → 0.33.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.
Files changed (136) hide show
  1. package/dist/{Chip-BT2hUlGJ.d.mts → Chip-BtgTAs8x.d.mts} +1 -1
  2. package/dist/{Chip-Dt7zJ-jZ.d.ts → Chip-DQsP5hFS.d.ts} +1 -1
  3. package/dist/Label-UbMDLtJF.d.mts +14 -0
  4. package/dist/Label-UbMDLtJF.d.ts +14 -0
  5. package/dist/alert/index.js +151 -34
  6. package/dist/alert/index.js.map +1 -1
  7. package/dist/alert/index.mjs +148 -31
  8. package/dist/alert/index.mjs.map +1 -1
  9. package/dist/appLayout/index.js +191 -145
  10. package/dist/appLayout/index.js.map +1 -1
  11. package/dist/appLayout/index.mjs +226 -180
  12. package/dist/appLayout/index.mjs.map +1 -1
  13. package/dist/backToTop/index.js +147 -30
  14. package/dist/backToTop/index.js.map +1 -1
  15. package/dist/backToTop/index.mjs +142 -25
  16. package/dist/backToTop/index.mjs.map +1 -1
  17. package/dist/blocks/auth/index.js +230 -229
  18. package/dist/blocks/auth/index.mjs +4 -4
  19. package/dist/blocks/feedback/index.js +147 -148
  20. package/dist/blocks/feedback/index.mjs +5 -5
  21. package/dist/blocks/index.js +230 -229
  22. package/dist/blocks/index.mjs +3 -3
  23. package/dist/blocks/misc/index.js +155 -154
  24. package/dist/blocks/misc/index.mjs +5 -5
  25. package/dist/blocks/pricing/index.js +174 -173
  26. package/dist/blocks/pricing/index.mjs +4 -4
  27. package/dist/button/index.d.mts +3 -2
  28. package/dist/button/index.d.ts +3 -2
  29. package/dist/button/index.js +138 -21
  30. package/dist/button/index.js.map +1 -1
  31. package/dist/button/index.mjs +138 -21
  32. package/dist/button/index.mjs.map +1 -1
  33. package/dist/calendar/index.d.mts +15 -0
  34. package/dist/calendar/index.d.ts +15 -0
  35. package/dist/calendar/index.js +545 -0
  36. package/dist/calendar/index.js.map +1 -0
  37. package/dist/calendar/index.mjs +509 -0
  38. package/dist/calendar/index.mjs.map +1 -0
  39. package/dist/{chunk-WFPAI2QC.mjs → chunk-3HJ3JXPA.mjs} +130 -174
  40. package/dist/{chunk-XRUPXLOK.mjs → chunk-AW5FW5TY.mjs} +1 -1
  41. package/dist/{chunk-MQWYXMSK.mjs → chunk-CKLK3G32.mjs} +242 -197
  42. package/dist/{chunk-XZLXGXIA.mjs → chunk-E3WWI4I5.mjs} +1 -1
  43. package/dist/{chunk-WUMWQIAW.mjs → chunk-FRYGQYUO.mjs} +1 -1
  44. package/dist/{chunk-S6TZHTWS.mjs → chunk-GEB3LM5A.mjs} +1 -1
  45. package/dist/{chunk-2QAGLSHC.mjs → chunk-IQEBXGLM.mjs} +1 -1
  46. package/dist/{chunk-PA3Z7W32.mjs → chunk-OS2UOK5C.mjs} +147 -146
  47. package/dist/{chunk-3S44N7SB.mjs → chunk-RTGD7N7I.mjs} +1 -1
  48. package/dist/{chunk-WAVKQ44V.mjs → chunk-UBNCETCU.mjs} +1 -1
  49. package/dist/codeBlock/index.js +138 -92
  50. package/dist/codeBlock/index.js.map +1 -1
  51. package/dist/codeBlock/index.mjs +157 -111
  52. package/dist/codeBlock/index.mjs.map +1 -1
  53. package/dist/commonTypes-CgDwjGvU.d.mts +5 -0
  54. package/dist/commonTypes-CgDwjGvU.d.ts +5 -0
  55. package/dist/commonTypes-DZdITB5m.d.mts +4 -0
  56. package/dist/commonTypes-DZdITB5m.d.ts +4 -0
  57. package/dist/dataTable/index.d.mts +2 -1
  58. package/dist/dataTable/index.d.ts +2 -1
  59. package/dist/dataTable/index.js +177 -174
  60. package/dist/dataTable/index.js.map +1 -1
  61. package/dist/dataTable/index.mjs +177 -174
  62. package/dist/dataTable/index.mjs.map +1 -1
  63. package/dist/datePicker/index.d.mts +20 -0
  64. package/dist/datePicker/index.d.ts +20 -0
  65. package/dist/datePicker/index.js +630 -0
  66. package/dist/datePicker/index.js.map +1 -0
  67. package/dist/datePicker/index.mjs +593 -0
  68. package/dist/datePicker/index.mjs.map +1 -0
  69. package/dist/destroyableCard/index.d.mts +1 -1
  70. package/dist/destroyableCard/index.d.ts +1 -1
  71. package/dist/dialog/index.d.mts +1 -1
  72. package/dist/dialog/index.d.ts +1 -1
  73. package/dist/docsLayout/index.js +231 -114
  74. package/dist/docsLayout/index.js.map +1 -1
  75. package/dist/docsLayout/index.mjs +222 -105
  76. package/dist/docsLayout/index.mjs.map +1 -1
  77. package/dist/dropdownMenu/index.d.mts +1 -6
  78. package/dist/dropdownMenu/index.d.ts +1 -6
  79. package/dist/elements/index.d.mts +9 -8
  80. package/dist/elements/index.d.ts +9 -8
  81. package/dist/elements/index.js +54 -51
  82. package/dist/elements/index.mjs +7 -5
  83. package/dist/fileDropzone/index.js +184 -67
  84. package/dist/fileDropzone/index.js.map +1 -1
  85. package/dist/fileDropzone/index.mjs +176 -59
  86. package/dist/fileDropzone/index.mjs.map +1 -1
  87. package/dist/index.css +83 -0
  88. package/dist/index.d.mts +1 -0
  89. package/dist/index.d.ts +1 -0
  90. package/dist/index.js +54 -51
  91. package/dist/index.mjs +74 -71
  92. package/dist/input/index.d.mts +1 -2
  93. package/dist/input/index.d.ts +1 -2
  94. package/dist/label/index.d.mts +2 -1
  95. package/dist/label/index.d.ts +2 -1
  96. package/dist/layout/index.d.mts +1 -1
  97. package/dist/layout/index.d.ts +1 -1
  98. package/dist/layout/index.js +204 -158
  99. package/dist/layout/index.mjs +2 -2
  100. package/dist/phoneInput/index.d.mts +1 -2
  101. package/dist/phoneInput/index.d.ts +1 -2
  102. package/dist/progress/index.d.mts +1 -8
  103. package/dist/progress/index.d.ts +1 -8
  104. package/dist/radio/index.d.mts +1 -9
  105. package/dist/radio/index.d.ts +1 -9
  106. package/dist/scrollArea/index.d.mts +1 -1
  107. package/dist/scrollArea/index.d.ts +1 -1
  108. package/dist/separator/index.d.mts +1 -1
  109. package/dist/separator/index.d.ts +1 -1
  110. package/dist/signature/index.d.mts +2 -1
  111. package/dist/signature/index.d.ts +2 -1
  112. package/dist/simpleTable/index.d.mts +1 -1
  113. package/dist/simpleTable/index.d.ts +1 -1
  114. package/dist/sortButton/index.js +145 -28
  115. package/dist/sortButton/index.js.map +1 -1
  116. package/dist/sortButton/index.mjs +145 -28
  117. package/dist/sortButton/index.mjs.map +1 -1
  118. package/dist/splitButton/index.d.mts +3 -2
  119. package/dist/splitButton/index.d.ts +3 -2
  120. package/dist/splitButton/index.js +145 -28
  121. package/dist/splitButton/index.js.map +1 -1
  122. package/dist/splitButton/index.mjs +145 -28
  123. package/dist/splitButton/index.mjs.map +1 -1
  124. package/dist/tabs/index.d.mts +1 -1
  125. package/dist/tabs/index.d.ts +1 -1
  126. package/dist/textarea/index.d.mts +1 -1
  127. package/dist/textarea/index.d.ts +1 -1
  128. package/dist/toast/index.d.mts +1 -1
  129. package/dist/toast/index.d.ts +1 -1
  130. package/dist/toaster/index.d.mts +22 -4
  131. package/dist/toaster/index.d.ts +22 -4
  132. package/package.json +3 -1
  133. package/dist/commonTypes-CMqMLkhN.d.mts +0 -4
  134. package/dist/commonTypes-CMqMLkhN.d.ts +0 -4
  135. package/dist/commonTypes-D_7LV7Ri.d.mts +0 -5
  136. package/dist/commonTypes-D_7LV7Ri.d.ts +0 -5
@@ -75,11 +75,127 @@ function useClipboard({ timeout = 2e3 } = {}) {
75
75
  }
76
76
 
77
77
  // elements/button/Button.tsx
78
- var React2 = __toESM(require("react"));
78
+ var React4 = __toESM(require("react"));
79
79
  var import_class_variance_authority = require("class-variance-authority");
80
80
 
81
- // elements/loading/Loading.tsx
81
+ // elements/label/Label.tsx
82
+ var React2 = __toESM(require("react"));
83
+
84
+ // elements/tooltip/Tooltip.tsx
82
85
  var import_react2 = __toESM(require("react"));
86
+ var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"));
87
+ var TooltipContent = import_react2.default.forwardRef(({ className, sideOffset = 4, size = "default", ...props }, ref) => /* @__PURE__ */ import_react2.default.createElement(
88
+ TooltipPrimitive.Content,
89
+ {
90
+ ref,
91
+ sideOffset,
92
+ className: cn(
93
+ "hawa-z-50 hawa-overflow-hidden hawa-rounded-md hawa-border hawa-bg-popover hawa-px-3 hawa-py-1.5 hawa-text-sm hawa-text-popover-foreground hawa-shadow-md hawa-animate-in hawa-fade-in-0 hawa-zoom-in-95 data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=closed]:hawa-zoom-out-95 data-[side=bottom]:hawa-slide-in-from-top-2 data-[side=left]:hawa-slide-in-from-right-2 data-[side=right]:hawa-slide-in-from-left-2 data-[side=top]:hawa-slide-in-from-bottom-2",
94
+ {
95
+ "hawa-text-xs": size === "small",
96
+ "hawa-text-xl": size === "large"
97
+ },
98
+ className
99
+ ),
100
+ ...props
101
+ }
102
+ ));
103
+ TooltipContent.displayName = TooltipPrimitive.Content.displayName;
104
+ var TooltipArrow = import_react2.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ import_react2.default.createElement(TooltipPrimitive.Arrow, { ref, className: cn(className), ...props }));
105
+ TooltipArrow.displayName = TooltipPrimitive.Arrow.displayName;
106
+ var Tooltip = ({
107
+ side,
108
+ size,
109
+ open,
110
+ content,
111
+ children,
112
+ disabled,
113
+ defaultOpen,
114
+ onOpenChange,
115
+ triggerProps,
116
+ contentProps,
117
+ providerProps,
118
+ delayDuration = 300,
119
+ ...props
120
+ }) => {
121
+ return /* @__PURE__ */ import_react2.default.createElement(
122
+ TooltipPrimitive.TooltipProvider,
123
+ {
124
+ delayDuration,
125
+ ...providerProps
126
+ },
127
+ /* @__PURE__ */ import_react2.default.createElement(
128
+ TooltipPrimitive.Root,
129
+ {
130
+ open: !disabled && open,
131
+ defaultOpen,
132
+ onOpenChange,
133
+ ...props
134
+ },
135
+ /* @__PURE__ */ import_react2.default.createElement(TooltipPrimitive.Trigger, { ...triggerProps }, children),
136
+ /* @__PURE__ */ import_react2.default.createElement(
137
+ TooltipContent,
138
+ {
139
+ size,
140
+ side,
141
+ align: "center",
142
+ ...contentProps,
143
+ style: {
144
+ ...contentProps == null ? void 0 : contentProps.style,
145
+ maxWidth: "var(--radix-tooltip-content-available-width)",
146
+ maxHeight: "var(--radix-tooltip-content-available-height)"
147
+ }
148
+ },
149
+ content
150
+ )
151
+ )
152
+ );
153
+ };
154
+
155
+ // elements/label/Label.tsx
156
+ var Label = React2.forwardRef(({ className, hint, hintSide, required, children, ...props }, ref) => /* @__PURE__ */ React2.createElement("div", { className: "hawa-flex hawa-flex-row hawa-items-center hawa-gap-1 hawa-transition-all" }, /* @__PURE__ */ React2.createElement(
157
+ "label",
158
+ {
159
+ ref,
160
+ className: cn(
161
+ "hawa-text-sm hawa-font-medium hawa-leading-none peer-disabled:hawa-cursor-not-allowed peer-disabled:hawa-opacity-70",
162
+ className
163
+ ),
164
+ ...props
165
+ },
166
+ children,
167
+ required && /* @__PURE__ */ React2.createElement("span", { className: "hawa-mx-0.5 hawa-text-red-500" }, "*")
168
+ ), hint && /* @__PURE__ */ React2.createElement(
169
+ Tooltip,
170
+ {
171
+ content: hint,
172
+ side: hintSide,
173
+ triggerProps: {
174
+ tabIndex: -1,
175
+ onClick: (event) => event.preventDefault()
176
+ }
177
+ },
178
+ /* @__PURE__ */ React2.createElement("div", null, /* @__PURE__ */ React2.createElement(
179
+ "svg",
180
+ {
181
+ xmlns: "http://www.w3.org/2000/svg",
182
+ className: "hawa-h-[14px] hawa-w-[14px] hawa-cursor-help",
183
+ viewBox: "0 0 24 24",
184
+ fill: "none",
185
+ stroke: "currentColor",
186
+ strokeWidth: "2",
187
+ strokeLinecap: "round",
188
+ strokeLinejoin: "round"
189
+ },
190
+ /* @__PURE__ */ React2.createElement("circle", { cx: "12", cy: "12", r: "10" }),
191
+ /* @__PURE__ */ React2.createElement("path", { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" }),
192
+ /* @__PURE__ */ React2.createElement("path", { d: "M12 17h.01" })
193
+ ))
194
+ )));
195
+ Label.displayName = "Label";
196
+
197
+ // elements/loading/Loading.tsx
198
+ var import_react3 = __toESM(require("react"));
83
199
  var Loading = ({
84
200
  design = "spinner",
85
201
  size = "normal",
@@ -110,7 +226,7 @@ var Loading = ({
110
226
  };
111
227
  switch (design.split("-")[0]) {
112
228
  case "dots":
113
- return /* @__PURE__ */ import_react2.default.createElement(
229
+ return /* @__PURE__ */ import_react3.default.createElement(
114
230
  "div",
115
231
  {
116
232
  className: cn(
@@ -118,7 +234,7 @@ var Loading = ({
118
234
  classNames == null ? void 0 : classNames.container
119
235
  )
120
236
  },
121
- /* @__PURE__ */ import_react2.default.createElement(
237
+ /* @__PURE__ */ import_react3.default.createElement(
122
238
  "div",
123
239
  {
124
240
  className: cn(
@@ -129,7 +245,7 @@ var Loading = ({
129
245
  )
130
246
  }
131
247
  ),
132
- /* @__PURE__ */ import_react2.default.createElement(
248
+ /* @__PURE__ */ import_react3.default.createElement(
133
249
  "div",
134
250
  {
135
251
  className: cn(
@@ -140,7 +256,7 @@ var Loading = ({
140
256
  )
141
257
  }
142
258
  ),
143
- /* @__PURE__ */ import_react2.default.createElement(
259
+ /* @__PURE__ */ import_react3.default.createElement(
144
260
  "div",
145
261
  {
146
262
  className: cn(
@@ -153,7 +269,7 @@ var Loading = ({
153
269
  )
154
270
  );
155
271
  case "square":
156
- return /* @__PURE__ */ import_react2.default.createElement(
272
+ return /* @__PURE__ */ import_react3.default.createElement(
157
273
  "svg",
158
274
  {
159
275
  className: cn(
@@ -165,7 +281,7 @@ var Loading = ({
165
281
  height: "35",
166
282
  width: "35"
167
283
  },
168
- /* @__PURE__ */ import_react2.default.createElement(
284
+ /* @__PURE__ */ import_react3.default.createElement(
169
285
  "rect",
170
286
  {
171
287
  className: "squircle-track",
@@ -177,7 +293,7 @@ var Loading = ({
177
293
  height: "32.5"
178
294
  }
179
295
  ),
180
- /* @__PURE__ */ import_react2.default.createElement(
296
+ /* @__PURE__ */ import_react3.default.createElement(
181
297
  "rect",
182
298
  {
183
299
  className: "square-car",
@@ -192,7 +308,7 @@ var Loading = ({
192
308
  )
193
309
  );
194
310
  case "squircle":
195
- return /* @__PURE__ */ import_react2.default.createElement(
311
+ return /* @__PURE__ */ import_react3.default.createElement(
196
312
  "svg",
197
313
  {
198
314
  x: "0px",
@@ -207,7 +323,7 @@ var Loading = ({
207
323
  classNames == null ? void 0 : classNames.container
208
324
  )
209
325
  },
210
- /* @__PURE__ */ import_react2.default.createElement(
326
+ /* @__PURE__ */ import_react3.default.createElement(
211
327
  "path",
212
328
  {
213
329
  className: cn("squircle-track", classNames == null ? void 0 : classNames.track),
@@ -217,7 +333,7 @@ var Loading = ({
217
333
  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"
218
334
  }
219
335
  ),
220
- /* @__PURE__ */ import_react2.default.createElement(
336
+ /* @__PURE__ */ import_react3.default.createElement(
221
337
  "path",
222
338
  {
223
339
  className: cn("squircle-car", classNames == null ? void 0 : classNames.car),
@@ -229,7 +345,7 @@ var Loading = ({
229
345
  )
230
346
  );
231
347
  case "progress":
232
- return /* @__PURE__ */ import_react2.default.createElement(
348
+ return /* @__PURE__ */ import_react3.default.createElement(
233
349
  "div",
234
350
  {
235
351
  className: cn(
@@ -240,9 +356,9 @@ var Loading = ({
240
356
  }
241
357
  );
242
358
  case "orbit":
243
- return /* @__PURE__ */ import_react2.default.createElement("div", { className: cn("orbit-container", classNames == null ? void 0 : classNames.container) });
359
+ return /* @__PURE__ */ import_react3.default.createElement("div", { className: cn("orbit-container", classNames == null ? void 0 : classNames.container) });
244
360
  default:
245
- return /* @__PURE__ */ import_react2.default.createElement(
361
+ return /* @__PURE__ */ import_react3.default.createElement(
246
362
  "svg",
247
363
  {
248
364
  viewBox: "0 0 40 40",
@@ -254,7 +370,7 @@ var Loading = ({
254
370
  classNames == null ? void 0 : classNames.container
255
371
  )
256
372
  },
257
- /* @__PURE__ */ import_react2.default.createElement(
373
+ /* @__PURE__ */ import_react3.default.createElement(
258
374
  "circle",
259
375
  {
260
376
  className: cn(
@@ -273,7 +389,7 @@ var Loading = ({
273
389
  pathLength: "100"
274
390
  }
275
391
  ),
276
- /* @__PURE__ */ import_react2.default.createElement(
392
+ /* @__PURE__ */ import_react3.default.createElement(
277
393
  "circle",
278
394
  {
279
395
  className: cn(
@@ -330,9 +446,10 @@ var buttonVariants = (0, import_class_variance_authority.cva)(
330
446
  }
331
447
  }
332
448
  );
333
- var Button = React2.forwardRef(
449
+ var Button = React4.forwardRef(
334
450
  ({
335
451
  className,
452
+ label,
336
453
  variant,
337
454
  size,
338
455
  asChild = false,
@@ -343,7 +460,7 @@ var Button = React2.forwardRef(
343
460
  }, ref) => {
344
461
  const Comp = "button";
345
462
  const loadingColor = variant === "outline" || variant === "ghost" || variant === "neoBrutalism" ? "hawa-bg-primary" : "hawa-bg-primary-foreground";
346
- return /* @__PURE__ */ React2.createElement(
463
+ return /* @__PURE__ */ React4.createElement("div", { className: "flex flex-col" }, label && /* @__PURE__ */ React4.createElement(Label, { className: "hawa-mb-2" }, label), /* @__PURE__ */ React4.createElement(
347
464
  Comp,
348
465
  {
349
466
  className: cn(
@@ -353,7 +470,7 @@ var Button = React2.forwardRef(
353
470
  ref,
354
471
  ...props
355
472
  },
356
- isLoading ? /* @__PURE__ */ React2.createElement(
473
+ isLoading ? /* @__PURE__ */ React4.createElement(
357
474
  Loading,
358
475
  {
359
476
  design: size === "icon" || size === "smallIcon" ? "spinner" : "dots-pulse",
@@ -362,82 +479,11 @@ var Button = React2.forwardRef(
362
479
  size: size === "sm" || size === "xs" ? "xs" : "button"
363
480
  }
364
481
  ) : children
365
- );
482
+ ));
366
483
  }
367
484
  );
368
485
  Button.displayName = "Button";
369
486
 
370
- // elements/tooltip/Tooltip.tsx
371
- var import_react3 = __toESM(require("react"));
372
- var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"));
373
- var TooltipContent = import_react3.default.forwardRef(({ className, sideOffset = 4, size = "default", ...props }, ref) => /* @__PURE__ */ import_react3.default.createElement(
374
- TooltipPrimitive.Content,
375
- {
376
- ref,
377
- sideOffset,
378
- className: cn(
379
- "hawa-z-50 hawa-overflow-hidden hawa-rounded-md hawa-border hawa-bg-popover hawa-px-3 hawa-py-1.5 hawa-text-sm hawa-text-popover-foreground hawa-shadow-md hawa-animate-in hawa-fade-in-0 hawa-zoom-in-95 data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=closed]:hawa-zoom-out-95 data-[side=bottom]:hawa-slide-in-from-top-2 data-[side=left]:hawa-slide-in-from-right-2 data-[side=right]:hawa-slide-in-from-left-2 data-[side=top]:hawa-slide-in-from-bottom-2",
380
- {
381
- "hawa-text-xs": size === "small",
382
- "hawa-text-xl": size === "large"
383
- },
384
- className
385
- ),
386
- ...props
387
- }
388
- ));
389
- TooltipContent.displayName = TooltipPrimitive.Content.displayName;
390
- var TooltipArrow = import_react3.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ import_react3.default.createElement(TooltipPrimitive.Arrow, { ref, className: cn(className), ...props }));
391
- TooltipArrow.displayName = TooltipPrimitive.Arrow.displayName;
392
- var Tooltip = ({
393
- side,
394
- size,
395
- open,
396
- content,
397
- children,
398
- disabled,
399
- defaultOpen,
400
- onOpenChange,
401
- triggerProps,
402
- contentProps,
403
- providerProps,
404
- delayDuration = 300,
405
- ...props
406
- }) => {
407
- return /* @__PURE__ */ import_react3.default.createElement(
408
- TooltipPrimitive.TooltipProvider,
409
- {
410
- delayDuration,
411
- ...providerProps
412
- },
413
- /* @__PURE__ */ import_react3.default.createElement(
414
- TooltipPrimitive.Root,
415
- {
416
- open: !disabled && open,
417
- defaultOpen,
418
- onOpenChange,
419
- ...props
420
- },
421
- /* @__PURE__ */ import_react3.default.createElement(TooltipPrimitive.Trigger, { ...triggerProps }, children),
422
- /* @__PURE__ */ import_react3.default.createElement(
423
- TooltipContent,
424
- {
425
- size,
426
- side,
427
- align: "center",
428
- ...contentProps,
429
- style: {
430
- ...contentProps == null ? void 0 : contentProps.style,
431
- maxWidth: "var(--radix-tooltip-content-available-width)",
432
- maxHeight: "var(--radix-tooltip-content-available-height)"
433
- }
434
- },
435
- content
436
- )
437
- )
438
- );
439
- };
440
-
441
487
  // elements/codeBlock/CodeBlock.tsx
442
488
  (typeof global !== "undefined" ? global : window).Prism = import_prism_react_renderer.Prism;
443
489
  require("prismjs/components/prism-bash");
@@ -1 +1 @@
1
- {"version":3,"sources":["../../elements/codeBlock/index.ts","../../elements/codeBlock/CodeBlock.tsx","../../util/index.ts","../../hooks/useClipboard.ts","../../elements/button/Button.tsx","../../elements/loading/Loading.tsx","../../elements/tooltip/Tooltip.tsx"],"sourcesContent":["export * from \"./CodeBlock\";\n","import React, { FC, useState } from \"react\";\n\nimport { cn } from \"@util/index\";\nimport { Highlight, HighlightProps, themes, Prism } from \"prism-react-renderer\";\n\nimport { useClipboard } from \"../../hooks/useClipboard\";\nimport { Button } from \"../button\";\nimport { ScrollArea } from \"../scrollArea\";\nimport { Tooltip } from \"../tooltip\";\n\n(typeof global !== \"undefined\" ? global : window).Prism = Prism;\nrequire(\"prismjs/components/prism-bash\");\n\ntype CodeBlockTypesBase = {\n /** Specifies the programming language for syntax highlighting.*/\n language?: HighlightProps[\"language\"];\n /** Defines the width of the code block.*/\n width?: \"full\" | \"md\" | \"sm\";\n /** Name of the file being displayed. */\n fileName?: string;\n /** line numbers for code block */\n lineNumbers?: boolean;\n /** Wrap text in code block */\n wrapText?: boolean;\n /** Custom class names for the code block */\n classNames?: {\n root?: string;\n tabs?: string;\n tab?: string;\n code?: string;\n fileName?: string;\n codeBlockContainer?: string;\n };\n};\n\n/**\n * Type for when tabs are provided. In this case, the code property is optional.\n * Do not provide the \"code\" prop if \"tabs\" exists.\n */\ntype CodeBlockTypesWithTabs = CodeBlockTypesBase & {\n /** Array of tabs each containing a title and code content.*/\n tabs: { title: string; code: string }[];\n /** Code content to be displayed within the code block.*/\n code?: string;\n};\n\n/**\n * Type for when tabs are not provided. In this case, the code property is required.\n * You must provide the \"code\" prop if \"tabs\" does not exist.\n */\ntype CodeBlockTypesWithoutTabs = CodeBlockTypesBase & {\n /** Array of tabs each containing a title and code content.*/\n tabs?: never;\n /** Code content to be displayed within the code block.*/\n code: string;\n};\n\n/**\n * Either provide \"tabs\" prop (in which case \"code\" is optional),\n * or do not provide \"tabs\" (in which case \"code\" is required).\n */\ntype CodeBlockTypes = CodeBlockTypesWithTabs | CodeBlockTypesWithoutTabs;\n\nconst CopyIcon = () => (\n <svg\n aria-label=\"Copy\"\n stroke=\"currentColor\"\n fill=\"none\"\n strokeWidth=\"2\"\n viewBox=\"0 0 24 24\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n height=\"1em\"\n width=\"1em\"\n >\n <rect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\" ry=\"2\"></rect>\n <path d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"></path>\n </svg>\n);\nexport const CodeBlock: FC<CodeBlockTypes> = ({\n tabs,\n code,\n fileName,\n classNames,\n language = \"javascript\", // default to JavaScript if no language is provided\n wrapText = true,\n width = \"full\",\n ...props\n}) => {\n const clipboard = useClipboard();\n const [selectedTab, setSelectedTab] = useState(0);\n const theme = themes.oceanicNext;\n\n let widthStyles = {\n full: \"hawa-w-full\",\n md: \"hawa-w-full hawa-max-w-md\",\n sm: \"hawa-w-full hawa-max-w-sm\",\n xs: \"hawa-w-full hawa-max-w-xs\",\n };\n\n return (\n <div\n className={cn(\n widthStyles[width],\n \"hawa-w-full hawa-flex-col hawa-relative hawa-items-center hawa-rounded hawa-bg-background hawa-text-left hawa-my-2 hawa-text-white sm:hawa-text-base\",\n classNames?.root,\n )}\n >\n {fileName && (\n <div\n className={cn(\n \"hawa-flex hawa-flex-row hawa-gap-2 hawa-rounded-t hawa-p-2 hawa-py-0.5 hawa-pb-0 hawa-font-mono hawa-text-foreground\",\n fileName && tabs ? \"hawa-bg-primary/10\" : \"hawa-bg-primary/15\",\n classNames?.fileName,\n )}\n >\n <div\n className={cn(\n \"hawa-font-mono hawa-w-full hawa-max-w-[52px] hawa-rounded-inner hawa-p-1 hawa-py-0.5 hawa-text-center hawa-text-[0.75rem]\",\n )}\n >\n {fileName}\n </div>\n </div>\n )}\n {tabs && (\n <div\n className={cn(\n \"hawa-flex hawa-flex-row hawa-gap-2 hawa-rounded-t hawa-p-1 hawa-bg-primary/15 hawa-pb-0 hawa-font-mono hawa-text-foreground\",\n tabs && fileName && \"hawa-rounded-t-none\",\n classNames?.tabs,\n )}\n >\n {tabs.map((tab, i) => (\n <div\n key={i}\n className={cn(\n selectedTab === i\n ? \" hawa-border-b-2 hawa-border-primary\"\n : \"hawa-bg-transparent\",\n classNames?.tab,\n )}\n >\n <div\n onClick={() => setSelectedTab(i)}\n className={cn(\n \"hawa-mb-0.5 hawa-w-full hawa-max-w-[52px] hawa-cursor-pointer hawa-rounded-inner hawa-p-2 hawa-py-0.5 hawa-text-center hawa-text-[0.7rem] hawa-transition-all hover:hawa-bg-muted-foreground/20\",\n )}\n >\n {tab.title}\n </div>\n </div>\n ))}\n </div>\n )}\n\n <div\n className={cn(\n \"hawa-flex hawa-w-full hawa-relative hawa-flex-row hawa-items-start hawa-justify-between hawa-border hawa-bg-gray-800 hawa-p-0 hawa-text-left hawa-text-sm sm:hawa-text-base\",\n tabs || fileName\n ? \"hawa-rounded-b hawa-rounded-t-none\"\n : \"hawa-rounded\",\n classNames?.codeBlockContainer,\n \"hawa-overflow-y-auto\",\n )}\n >\n <div\n className={cn(\n \"hawa-flex hawa-absolute hawa-w-fit hawa-flex-row hawa-items-center hawa-gap-2 hawa-z-50 hawa-right-3 hawa-top-3\",\n )}\n >\n <Tooltip\n open={clipboard.copied}\n side=\"left\"\n content={<div>Copied!</div>}\n triggerProps={{ asChild: true }}\n >\n <Button\n size=\"smallIcon\"\n onClick={() =>\n clipboard.copy(tabs ? tabs[selectedTab].code : code)\n }\n variant=\"outline\"\n className=\"hawa-text-gray-200 hawa-opacity-50 dark:hawa-border-gray-200 dark:hover:hawa-border-gray-400\"\n >\n <CopyIcon />\n </Button>\n </Tooltip>\n </div>\n <Highlight\n theme={theme}\n code={tabs ? tabs[selectedTab].code : code || \"\"}\n language={language}\n >\n {({ tokens, getLineProps, getTokenProps }) => (\n <pre\n className={cn(\n // !hawa-pe-12\n \"hawa-min-h-[37.75px] hawa-w-full hawa-p-4 hawa-font-mono hawa-text-foreground\",\n classNames?.code,\n wrapText && \"hawa-text-wrap\",\n )}\n >\n {tokens.map((line, i) => (\n <div key={i} {...getLineProps({ line })}>\n {props.lineNumbers && (\n <span className=\"hawa-mr-4\">{i + 1}</span>\n )}\n {line.map((token, key) => (\n <span key={key} {...getTokenProps({ token })} />\n ))}\n </div>\n ))}\n </pre>\n )}\n </Highlight>\n </div>\n </div>\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 { useState } from \"react\";\n\nexport function useClipboard({ timeout = 2000 } = {}): {\n copy: (value: any) => void;\n reset: () => void;\n error: Error | null;\n copied: boolean;\n} {\n const [error, setError] = useState<Error | null>(null);\n const [copied, setCopied] = useState<boolean>(false);\n const [copyTimeout, setCopyTimeout] = useState<NodeJS.Timeout | null>(null);\n\n const handleCopyResult = (value: boolean) => {\n clearTimeout(copyTimeout as NodeJS.Timeout | undefined);\n setCopyTimeout(setTimeout(() => setCopied(false), timeout));\n setCopied(value);\n };\n\n const copy = (valueToCopy: any) => {\n if (\"clipboard\" in navigator) {\n navigator.clipboard\n .writeText(valueToCopy)\n .then(() => handleCopyResult(true))\n .catch((err) => setError(err));\n } else {\n setError(new Error(\"useClipboard: navigator.clipboard is not supported\"));\n }\n };\n\n const reset = () => {\n setCopied(false);\n setError(null);\n clearTimeout(copyTimeout as NodeJS.Timeout | undefined);\n };\n\n return { copy, reset, error, copied };\n}\n","import * as React from \"react\";\n\nimport { cn } from \"@util/index\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\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 )}\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 --primary global CSS variable*/\n color?: string;\n classNames?: {\n container?: string;\n track?: string;\n car?: string;\n };\n themeMode?: \"dark\" | \"light\";\n};\n\nexport const Loading: FC<LoadingTypes> = ({\n design = \"spinner\",\n size = \"normal\",\n themeMode = \"light\",\n classNames,\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 let progressSizes = {\n button: \"hawa-h-1\",\n xs: \"hawa-h-1 hawa-w-1\",\n sm: \"hawa-h-6 hawa-w-6\",\n normal: \"\",\n lg: \"hawa-h-6\",\n xl: \"hawa-h-10 hawa-w-64\"\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(\n \"hawa-flex hawa-flex-row hawa-gap-2\",\n classNames?.container\n )}\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(\n \"squircle-container\",\n sizeStyles[size],\n classNames?.container\n )}\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 x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 37 37\"\n height=\"37\"\n width=\"37\"\n preserveAspectRatio=\"xMidYMid meet\"\n className={cn(\n \"squircle-container\",\n sizeStyles[size],\n classNames?.container\n )}\n >\n <path\n className={cn(\"squircle-track\", classNames?.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={cn(\"squircle-car\", classNames?.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 (\n <div\n className={cn(\n \"progress-loading after:hawa-rounded hawa-rounded\",\n progressSizes[size],\n classNames?.container\n )}\n ></div>\n );\n case \"orbit\":\n return (\n <div className={cn(\"orbit-container\", classNames?.container)}></div>\n );\n\n default:\n return (\n <svg\n viewBox=\"0 0 40 40\"\n height=\"40\"\n width=\"40\"\n className={cn(\n \"circle-container\",\n sizeStyles[size],\n classNames?.container\n )}\n >\n <circle\n className={cn(\n \"circle-track\",\n {\n \"hawa-stroke-primary-foreground\": themeMode === \"dark\",\n \"hawa-stroke-primary\": themeMode === \"light\"\n },\n classNames?.track\n )}\n cx=\"20\"\n cy=\"20\"\n r=\"17.5\"\n fill=\"none\"\n strokeWidth=\"5px\"\n pathLength=\"100\"\n />\n <circle\n className={cn(\n \"circle-car\",\n {\n \"hawa-stroke-primary-foreground\": themeMode === \"dark\",\n \"hawa-stroke-primary\": themeMode === \"light\"\n },\n classNames?.car\n )}\n cx=\"20\"\n cy=\"20\"\n r=\"17.5\"\n fill=\"none\"\n pathLength=\"100\"\n strokeWidth=\"5px\"\n />\n </svg>\n );\n }\n};\n","import React from \"react\";\n\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport { cn } from \"@util/index\";\n\nimport { PositionType } from \"@_types/commonTypes\";\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content> & {\n size?: \"default\" | \"small\" | \"large\";\n }\n>(({ className, sideOffset = 4, size = \"default\", ...props }, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"hawa-z-50 hawa-overflow-hidden hawa-rounded-md hawa-border hawa-bg-popover hawa-px-3 hawa-py-1.5 hawa-text-sm hawa-text-popover-foreground hawa-shadow-md hawa-animate-in hawa-fade-in-0 hawa-zoom-in-95 data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=closed]:hawa-zoom-out-95 data-[side=bottom]:hawa-slide-in-from-top-2 data-[side=left]:hawa-slide-in-from-right-2 data-[side=right]:hawa-slide-in-from-left-2 data-[side=top]:hawa-slide-in-from-bottom-2\",\n {\n \"hawa-text-xs\": size === \"small\",\n \"hawa-text-xl\": size === \"large\"\n },\n className\n )}\n {...props}\n />\n));\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\n\nconst TooltipArrow = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Arrow>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Arrow>\n>(({ className, ...props }, ref) => (\n <TooltipPrimitive.Arrow ref={ref} className={cn(className)} {...props} />\n));\nTooltipArrow.displayName = TooltipPrimitive.Arrow.displayName;\n\ntype TooltipTypes = {\n /** Controls the open state of the tooltip. */\n open?: any;\n /** Specifies the side where the tooltip will appear. */\n side?: PositionType;\n /** Content to be displayed within the tooltip. */\n content?: any;\n /** Elements to which the tooltip is anchored. */\n children?: any;\n /** Sets the default open state of the tooltip. */\n defaultOpen?: any;\n /** Event handler for open state changes. */\n onOpenChange?: any;\n /** Duration of the delay before the tooltip appears. */\n delayDuration?: any;\n /** Size of the tooltip. */\n size?: \"default\" | \"small\" | \"large\";\n /** Disables the tooltip. */\n disabled?: boolean;\n triggerProps?: TooltipPrimitive.TooltipTriggerProps;\n contentProps?: TooltipPrimitive.TooltipContentProps;\n providerProps?: TooltipPrimitive.TooltipProviderProps;\n};\n\nconst Tooltip: React.FunctionComponent<TooltipTypes> = ({\n side,\n size,\n open,\n content,\n children,\n disabled,\n defaultOpen,\n onOpenChange,\n triggerProps,\n contentProps,\n providerProps,\n delayDuration = 300,\n ...props\n}) => {\n return (\n <TooltipPrimitive.TooltipProvider\n delayDuration={delayDuration}\n {...providerProps}\n >\n <TooltipPrimitive.Root\n open={!disabled && open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n {...props}\n >\n <TooltipPrimitive.Trigger {...triggerProps}>\n {children}\n </TooltipPrimitive.Trigger>\n <TooltipContent\n size={size}\n side={side}\n align=\"center\"\n {...contentProps}\n style={{\n ...contentProps?.style,\n maxWidth: \"var(--radix-tooltip-content-available-width)\",\n maxHeight: \"var(--radix-tooltip-content-available-height)\"\n }}\n >\n {content}\n </TooltipContent>\n </TooltipPrimitive.Root>\n </TooltipPrimitive.TooltipProvider>\n );\n};\n\nexport { Tooltip };\n"],"mappings":"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","names":["import_react","React","import_react","React","import_react","React","React"]}
1
+ {"version":3,"sources":["../../elements/codeBlock/index.ts","../../elements/codeBlock/CodeBlock.tsx","../../util/index.ts","../../hooks/useClipboard.ts","../../elements/button/Button.tsx","../../elements/label/Label.tsx","../../elements/tooltip/Tooltip.tsx","../../elements/loading/Loading.tsx"],"sourcesContent":["export * from \"./CodeBlock\";\n","import React, { FC, useState } from \"react\";\n\nimport { cn } from \"@util/index\";\nimport { Highlight, HighlightProps, themes, Prism } from \"prism-react-renderer\";\n\nimport { useClipboard } from \"../../hooks/useClipboard\";\nimport { Button } from \"../button\";\nimport { ScrollArea } from \"../scrollArea\";\nimport { Tooltip } from \"../tooltip\";\n\n(typeof global !== \"undefined\" ? global : window).Prism = Prism;\nrequire(\"prismjs/components/prism-bash\");\n\ntype CodeBlockTypesBase = {\n /** Specifies the programming language for syntax highlighting.*/\n language?: HighlightProps[\"language\"];\n /** Defines the width of the code block.*/\n width?: \"full\" | \"md\" | \"sm\";\n /** Name of the file being displayed. */\n fileName?: string;\n /** line numbers for code block */\n lineNumbers?: boolean;\n /** Wrap text in code block */\n wrapText?: boolean;\n /** Custom class names for the code block */\n classNames?: {\n root?: string;\n tabs?: string;\n tab?: string;\n code?: string;\n fileName?: string;\n codeBlockContainer?: string;\n };\n};\n\n/**\n * Type for when tabs are provided. In this case, the code property is optional.\n * Do not provide the \"code\" prop if \"tabs\" exists.\n */\ntype CodeBlockTypesWithTabs = CodeBlockTypesBase & {\n /** Array of tabs each containing a title and code content.*/\n tabs: { title: string; code: string }[];\n /** Code content to be displayed within the code block.*/\n code?: string;\n};\n\n/**\n * Type for when tabs are not provided. In this case, the code property is required.\n * You must provide the \"code\" prop if \"tabs\" does not exist.\n */\ntype CodeBlockTypesWithoutTabs = CodeBlockTypesBase & {\n /** Array of tabs each containing a title and code content.*/\n tabs?: never;\n /** Code content to be displayed within the code block.*/\n code: string;\n};\n\n/**\n * Either provide \"tabs\" prop (in which case \"code\" is optional),\n * or do not provide \"tabs\" (in which case \"code\" is required).\n */\ntype CodeBlockTypes = CodeBlockTypesWithTabs | CodeBlockTypesWithoutTabs;\n\nconst CopyIcon = () => (\n <svg\n aria-label=\"Copy\"\n stroke=\"currentColor\"\n fill=\"none\"\n strokeWidth=\"2\"\n viewBox=\"0 0 24 24\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n height=\"1em\"\n width=\"1em\"\n >\n <rect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\" ry=\"2\"></rect>\n <path d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\"></path>\n </svg>\n);\nexport const CodeBlock: FC<CodeBlockTypes> = ({\n tabs,\n code,\n fileName,\n classNames,\n language = \"javascript\", // default to JavaScript if no language is provided\n wrapText = true,\n width = \"full\",\n ...props\n}) => {\n const clipboard = useClipboard();\n const [selectedTab, setSelectedTab] = useState(0);\n const theme = themes.oceanicNext;\n\n let widthStyles = {\n full: \"hawa-w-full\",\n md: \"hawa-w-full hawa-max-w-md\",\n sm: \"hawa-w-full hawa-max-w-sm\",\n xs: \"hawa-w-full hawa-max-w-xs\",\n };\n\n return (\n <div\n className={cn(\n widthStyles[width],\n \"hawa-w-full hawa-flex-col hawa-relative hawa-items-center hawa-rounded hawa-bg-background hawa-text-left hawa-my-2 hawa-text-white sm:hawa-text-base\",\n classNames?.root,\n )}\n >\n {fileName && (\n <div\n className={cn(\n \"hawa-flex hawa-flex-row hawa-gap-2 hawa-rounded-t hawa-p-2 hawa-py-0.5 hawa-pb-0 hawa-font-mono hawa-text-foreground\",\n fileName && tabs ? \"hawa-bg-primary/10\" : \"hawa-bg-primary/15\",\n classNames?.fileName,\n )}\n >\n <div\n className={cn(\n \"hawa-font-mono hawa-w-full hawa-max-w-[52px] hawa-rounded-inner hawa-p-1 hawa-py-0.5 hawa-text-center hawa-text-[0.75rem]\",\n )}\n >\n {fileName}\n </div>\n </div>\n )}\n {tabs && (\n <div\n className={cn(\n \"hawa-flex hawa-flex-row hawa-gap-2 hawa-rounded-t hawa-p-1 hawa-bg-primary/15 hawa-pb-0 hawa-font-mono hawa-text-foreground\",\n tabs && fileName && \"hawa-rounded-t-none\",\n classNames?.tabs,\n )}\n >\n {tabs.map((tab, i) => (\n <div\n key={i}\n className={cn(\n selectedTab === i\n ? \" hawa-border-b-2 hawa-border-primary\"\n : \"hawa-bg-transparent\",\n classNames?.tab,\n )}\n >\n <div\n onClick={() => setSelectedTab(i)}\n className={cn(\n \"hawa-mb-0.5 hawa-w-full hawa-max-w-[52px] hawa-cursor-pointer hawa-rounded-inner hawa-p-2 hawa-py-0.5 hawa-text-center hawa-text-[0.7rem] hawa-transition-all hover:hawa-bg-muted-foreground/20\",\n )}\n >\n {tab.title}\n </div>\n </div>\n ))}\n </div>\n )}\n\n <div\n className={cn(\n \"hawa-flex hawa-w-full hawa-relative hawa-flex-row hawa-items-start hawa-justify-between hawa-border hawa-bg-gray-800 hawa-p-0 hawa-text-left hawa-text-sm sm:hawa-text-base\",\n tabs || fileName\n ? \"hawa-rounded-b hawa-rounded-t-none\"\n : \"hawa-rounded\",\n classNames?.codeBlockContainer,\n \"hawa-overflow-y-auto\",\n )}\n >\n <div\n className={cn(\n \"hawa-flex hawa-absolute hawa-w-fit hawa-flex-row hawa-items-center hawa-gap-2 hawa-z-50 hawa-right-3 hawa-top-3\",\n )}\n >\n <Tooltip\n open={clipboard.copied}\n side=\"left\"\n content={<div>Copied!</div>}\n triggerProps={{ asChild: true }}\n >\n <Button\n size=\"smallIcon\"\n onClick={() =>\n clipboard.copy(tabs ? tabs[selectedTab].code : code)\n }\n variant=\"outline\"\n className=\"hawa-text-gray-200 hawa-opacity-50 dark:hawa-border-gray-200 dark:hover:hawa-border-gray-400\"\n >\n <CopyIcon />\n </Button>\n </Tooltip>\n </div>\n <Highlight\n theme={theme}\n code={tabs ? tabs[selectedTab].code : code || \"\"}\n language={language}\n >\n {({ tokens, getLineProps, getTokenProps }) => (\n <pre\n className={cn(\n // !hawa-pe-12\n \"hawa-min-h-[37.75px] hawa-w-full hawa-p-4 hawa-font-mono hawa-text-foreground\",\n classNames?.code,\n wrapText && \"hawa-text-wrap\",\n )}\n >\n {tokens.map((line, i) => (\n <div key={i} {...getLineProps({ line })}>\n {props.lineNumbers && (\n <span className=\"hawa-mr-4\">{i + 1}</span>\n )}\n {line.map((token, key) => (\n <span key={key} {...getTokenProps({ token })} />\n ))}\n </div>\n ))}\n </pre>\n )}\n </Highlight>\n </div>\n </div>\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 { useState } from \"react\";\n\nexport function useClipboard({ timeout = 2000 } = {}): {\n copy: (value: any) => void;\n reset: () => void;\n error: Error | null;\n copied: boolean;\n} {\n const [error, setError] = useState<Error | null>(null);\n const [copied, setCopied] = useState<boolean>(false);\n const [copyTimeout, setCopyTimeout] = useState<NodeJS.Timeout | null>(null);\n\n const handleCopyResult = (value: boolean) => {\n clearTimeout(copyTimeout as NodeJS.Timeout | undefined);\n setCopyTimeout(setTimeout(() => setCopied(false), timeout));\n setCopied(value);\n };\n\n const copy = (valueToCopy: any) => {\n if (\"clipboard\" in navigator) {\n navigator.clipboard\n .writeText(valueToCopy)\n .then(() => handleCopyResult(true))\n .catch((err) => setError(err));\n } else {\n setError(new Error(\"useClipboard: navigator.clipboard is not supported\"));\n }\n };\n\n const reset = () => {\n setCopied(false);\n setError(null);\n clearTimeout(copyTimeout as NodeJS.Timeout | undefined);\n };\n\n return { copy, reset, error, copied };\n}\n","import * as React from \"react\";\n\nimport { cn } from \"@util/index\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { Label } from \"../label\";\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 label?: string;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n label,\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 <div className=\"flex flex-col\">\n {label && <Label className=\"hawa-mb-2\">{label}</Label>}\n <Comp\n className={cn(\n buttonVariants({ variant, size, className }),\n centered && \"hawa-justify-center\",\n )}\n ref={ref}\n {...props}\n >\n {isLoading ? (\n <Loading\n design={\n size === \"icon\" || size === \"smallIcon\"\n ? \"spinner\"\n : \"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 </div>\n );\n },\n);\n\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n","import * as React from \"react\";\n\nimport { PositionType } from \"@_types/commonTypes\";\n\nimport { cn } from \"@util/index\";\nimport { Tooltip } from \"../tooltip\";\n\nexport type LabelProps = {\n hint?: React.ReactNode;\n hintSide?: PositionType;\n htmlFor?: string;\n required?: boolean;\n};\n\nconst Label = React.forwardRef<\n HTMLLabelElement,\n React.LabelHTMLAttributes<HTMLLabelElement> & LabelProps\n>(({ className, hint, hintSide, required, children, ...props }, ref) => (\n <div className=\"hawa-flex hawa-flex-row hawa-items-center hawa-gap-1 hawa-transition-all\">\n <label\n ref={ref}\n className={cn(\n \"hawa-text-sm hawa-font-medium hawa-leading-none peer-disabled:hawa-cursor-not-allowed peer-disabled:hawa-opacity-70\",\n className\n )}\n {...props}\n >\n {children}\n {required && <span className=\"hawa-mx-0.5 hawa-text-red-500\">*</span>}\n </label>\n {hint && (\n <Tooltip\n content={hint}\n side={hintSide}\n triggerProps={{\n tabIndex: -1,\n onClick: (event) => event.preventDefault()\n }}\n >\n <div>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"hawa-h-[14px] hawa-w-[14px] hawa-cursor-help\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\" />\n <path d=\"M12 17h.01\" />\n </svg>\n </div>\n </Tooltip>\n )}\n </div>\n));\n\nLabel.displayName = \"Label\";\n\nexport { Label };\n","import React from \"react\";\n\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport { cn } from \"@util/index\";\n\nimport { PositionType } from \"@_types/commonTypes\";\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content> & {\n size?: \"default\" | \"small\" | \"large\";\n }\n>(({ className, sideOffset = 4, size = \"default\", ...props }, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"hawa-z-50 hawa-overflow-hidden hawa-rounded-md hawa-border hawa-bg-popover hawa-px-3 hawa-py-1.5 hawa-text-sm hawa-text-popover-foreground hawa-shadow-md hawa-animate-in hawa-fade-in-0 hawa-zoom-in-95 data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=closed]:hawa-zoom-out-95 data-[side=bottom]:hawa-slide-in-from-top-2 data-[side=left]:hawa-slide-in-from-right-2 data-[side=right]:hawa-slide-in-from-left-2 data-[side=top]:hawa-slide-in-from-bottom-2\",\n {\n \"hawa-text-xs\": size === \"small\",\n \"hawa-text-xl\": size === \"large\"\n },\n className\n )}\n {...props}\n />\n));\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\n\nconst TooltipArrow = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Arrow>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Arrow>\n>(({ className, ...props }, ref) => (\n <TooltipPrimitive.Arrow ref={ref} className={cn(className)} {...props} />\n));\nTooltipArrow.displayName = TooltipPrimitive.Arrow.displayName;\n\ntype TooltipTypes = {\n /** Controls the open state of the tooltip. */\n open?: any;\n /** Specifies the side where the tooltip will appear. */\n side?: PositionType;\n /** Content to be displayed within the tooltip. */\n content?: any;\n /** Elements to which the tooltip is anchored. */\n children?: any;\n /** Sets the default open state of the tooltip. */\n defaultOpen?: any;\n /** Event handler for open state changes. */\n onOpenChange?: any;\n /** Duration of the delay before the tooltip appears. */\n delayDuration?: any;\n /** Size of the tooltip. */\n size?: \"default\" | \"small\" | \"large\";\n /** Disables the tooltip. */\n disabled?: boolean;\n triggerProps?: TooltipPrimitive.TooltipTriggerProps;\n contentProps?: TooltipPrimitive.TooltipContentProps;\n providerProps?: TooltipPrimitive.TooltipProviderProps;\n};\n\nconst Tooltip: React.FunctionComponent<TooltipTypes> = ({\n side,\n size,\n open,\n content,\n children,\n disabled,\n defaultOpen,\n onOpenChange,\n triggerProps,\n contentProps,\n providerProps,\n delayDuration = 300,\n ...props\n}) => {\n return (\n <TooltipPrimitive.TooltipProvider\n delayDuration={delayDuration}\n {...providerProps}\n >\n <TooltipPrimitive.Root\n open={!disabled && open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n {...props}\n >\n <TooltipPrimitive.Trigger {...triggerProps}>\n {children}\n </TooltipPrimitive.Trigger>\n <TooltipContent\n size={size}\n side={side}\n align=\"center\"\n {...contentProps}\n style={{\n ...contentProps?.style,\n maxWidth: \"var(--radix-tooltip-content-available-width)\",\n maxHeight: \"var(--radix-tooltip-content-available-height)\"\n }}\n >\n {content}\n </TooltipContent>\n </TooltipPrimitive.Root>\n </TooltipPrimitive.TooltipProvider>\n );\n};\n\nexport { Tooltip };\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 --primary global CSS variable*/\n color?: string;\n classNames?: {\n container?: string;\n track?: string;\n car?: string;\n };\n themeMode?: \"dark\" | \"light\";\n};\n\nexport const Loading: FC<LoadingTypes> = ({\n design = \"spinner\",\n size = \"normal\",\n themeMode = \"light\",\n classNames,\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 let progressSizes = {\n button: \"hawa-h-1\",\n xs: \"hawa-h-1 hawa-w-1\",\n sm: \"hawa-h-6 hawa-w-6\",\n normal: \"\",\n lg: \"hawa-h-6\",\n xl: \"hawa-h-10 hawa-w-64\"\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(\n \"hawa-flex hawa-flex-row hawa-gap-2\",\n classNames?.container\n )}\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(\n \"squircle-container\",\n sizeStyles[size],\n classNames?.container\n )}\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 x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 37 37\"\n height=\"37\"\n width=\"37\"\n preserveAspectRatio=\"xMidYMid meet\"\n className={cn(\n \"squircle-container\",\n sizeStyles[size],\n classNames?.container\n )}\n >\n <path\n className={cn(\"squircle-track\", classNames?.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={cn(\"squircle-car\", classNames?.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 (\n <div\n className={cn(\n \"progress-loading after:hawa-rounded hawa-rounded\",\n progressSizes[size],\n classNames?.container\n )}\n ></div>\n );\n case \"orbit\":\n return (\n <div className={cn(\"orbit-container\", classNames?.container)}></div>\n );\n\n default:\n return (\n <svg\n viewBox=\"0 0 40 40\"\n height=\"40\"\n width=\"40\"\n className={cn(\n \"circle-container\",\n sizeStyles[size],\n classNames?.container\n )}\n >\n <circle\n className={cn(\n \"circle-track\",\n {\n \"hawa-stroke-primary-foreground\": themeMode === \"dark\",\n \"hawa-stroke-primary\": themeMode === \"light\"\n },\n classNames?.track\n )}\n cx=\"20\"\n cy=\"20\"\n r=\"17.5\"\n fill=\"none\"\n strokeWidth=\"5px\"\n pathLength=\"100\"\n />\n <circle\n className={cn(\n \"circle-car\",\n {\n \"hawa-stroke-primary-foreground\": themeMode === \"dark\",\n \"hawa-stroke-primary\": themeMode === \"light\"\n },\n classNames?.car\n )}\n cx=\"20\"\n cy=\"20\"\n r=\"17.5\"\n fill=\"none\"\n pathLength=\"100\"\n strokeWidth=\"5px\"\n />\n </svg>\n );\n }\n};\n"],"mappings":"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","names":["import_react","React","React","import_react","React","import_react","React","React"]}