@sikka/hawa 0.42.8-next → 0.42.10-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.
@@ -26,7 +26,7 @@ import {
26
26
  TabsList,
27
27
  TabsTrigger,
28
28
  Textarea
29
- } from "../chunk-RIZBMJNK.mjs";
29
+ } from "../chunk-NPYUEHMC.mjs";
30
30
  import {
31
31
  useClipboard
32
32
  } from "../chunk-WL7C2A5D.mjs";
package/dist/index.css CHANGED
@@ -1,5 +1,5 @@
1
1
  /*
2
- ! tailwindcss v3.4.5 | MIT License | https://tailwindcss.com
2
+ ! tailwindcss v3.4.6 | MIT License | https://tailwindcss.com
3
3
  *//*
4
4
  1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
5
5
  2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
package/dist/index.d.mts CHANGED
@@ -1279,6 +1279,10 @@ type SubItem = {
1279
1279
  value: string;
1280
1280
  label: string;
1281
1281
  slug?: string;
1282
+ badge?: {
1283
+ label: string;
1284
+ color: ChipColors;
1285
+ };
1282
1286
  icon?: any;
1283
1287
  onMouseDown?: (e: React$1.MouseEvent) => void;
1284
1288
  onClick?: (e: React$1.MouseEvent) => void;
@@ -1647,13 +1651,15 @@ type PricingCardProps = {
1647
1651
  type LoginFormTypes = {
1648
1652
  /** Object containing text labels used throughout the form. */
1649
1653
  texts?: LoginFormTextsTypes;
1650
- /** If true, only logos are displayed in third-party auth buttons. */
1654
+ /** If true, only logos are displayed in third-party auth buttons.*/
1651
1655
  logosOnly?: boolean;
1652
1656
  /** Direction of text and UI elements, either left-to-right or right-to-left. */
1653
1657
  direction?: DirectionType;
1654
1658
  /** If true, an error alert is displayed at the top of the form. */
1655
1659
  showError?: boolean;
1656
- /** Title text of error alert. */
1660
+ /** Callback function triggered when the error alert is dismissed. */
1661
+ onErrorDismissed?: () => void;
1662
+ /** Title text of error alert.*/
1657
1663
  errorTitle?: string;
1658
1664
  /** Description text of error alert. */
1659
1665
  errorText?: string;
package/dist/index.d.ts CHANGED
@@ -1279,6 +1279,10 @@ type SubItem = {
1279
1279
  value: string;
1280
1280
  label: string;
1281
1281
  slug?: string;
1282
+ badge?: {
1283
+ label: string;
1284
+ color: ChipColors;
1285
+ };
1282
1286
  icon?: any;
1283
1287
  onMouseDown?: (e: React$1.MouseEvent) => void;
1284
1288
  onClick?: (e: React$1.MouseEvent) => void;
@@ -1647,13 +1651,15 @@ type PricingCardProps = {
1647
1651
  type LoginFormTypes = {
1648
1652
  /** Object containing text labels used throughout the form. */
1649
1653
  texts?: LoginFormTextsTypes;
1650
- /** If true, only logos are displayed in third-party auth buttons. */
1654
+ /** If true, only logos are displayed in third-party auth buttons.*/
1651
1655
  logosOnly?: boolean;
1652
1656
  /** Direction of text and UI elements, either left-to-right or right-to-left. */
1653
1657
  direction?: DirectionType;
1654
1658
  /** If true, an error alert is displayed at the top of the form. */
1655
1659
  showError?: boolean;
1656
- /** Title text of error alert. */
1660
+ /** Callback function triggered when the error alert is dismissed. */
1661
+ onErrorDismissed?: () => void;
1662
+ /** Title text of error alert.*/
1657
1663
  errorTitle?: string;
1658
1664
  /** Description text of error alert. */
1659
1665
  errorText?: string;
package/dist/index.js CHANGED
@@ -7922,19 +7922,19 @@ var PhoneInput = ({
7922
7922
  var React50 = __toESM(require("react"));
7923
7923
  var import_input_otp = require("input-otp");
7924
7924
 
7925
- // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
7925
+ // ../../node_modules/.pnpm/lucide-react@0.408.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
7926
7926
  var import_react41 = require("react");
7927
7927
 
7928
- // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/shared/src/utils.js
7928
+ // ../../node_modules/.pnpm/lucide-react@0.408.0_react@18.3.1/node_modules/lucide-react/dist/esm/shared/src/utils.js
7929
7929
  var toKebabCase = (string9) => string9.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
7930
7930
  var mergeClasses = (...classes) => classes.filter((className, index, array) => {
7931
7931
  return Boolean(className) && array.indexOf(className) === index;
7932
7932
  }).join(" ");
7933
7933
 
7934
- // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
7934
+ // ../../node_modules/.pnpm/lucide-react@0.408.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
7935
7935
  var import_react40 = require("react");
7936
7936
 
7937
- // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/defaultAttributes.js
7937
+ // ../../node_modules/.pnpm/lucide-react@0.408.0_react@18.3.1/node_modules/lucide-react/dist/esm/defaultAttributes.js
7938
7938
  var defaultAttributes = {
7939
7939
  xmlns: "http://www.w3.org/2000/svg",
7940
7940
  width: 24,
@@ -7947,7 +7947,7 @@ var defaultAttributes = {
7947
7947
  strokeLinejoin: "round"
7948
7948
  };
7949
7949
 
7950
- // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
7950
+ // ../../node_modules/.pnpm/lucide-react@0.408.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
7951
7951
  var Icon = (0, import_react40.forwardRef)(
7952
7952
  ({
7953
7953
  color = "currentColor",
@@ -7979,7 +7979,7 @@ var Icon = (0, import_react40.forwardRef)(
7979
7979
  }
7980
7980
  );
7981
7981
 
7982
- // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
7982
+ // ../../node_modules/.pnpm/lucide-react@0.408.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
7983
7983
  var createLucideIcon = (iconName, iconNode) => {
7984
7984
  const Component = (0, import_react41.forwardRef)(
7985
7985
  ({ className, ...props }, ref) => (0, import_react41.createElement)(Icon, {
@@ -7993,7 +7993,7 @@ var createLucideIcon = (iconName, iconNode) => {
7993
7993
  return Component;
7994
7994
  };
7995
7995
 
7996
- // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/dot.js
7996
+ // ../../node_modules/.pnpm/lucide-react@0.408.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/dot.js
7997
7997
  var Dot = createLucideIcon("Dot", [
7998
7998
  ["circle", { cx: "12.1", cy: "12.1", r: "1", key: "18d7e5" }]
7999
7999
  ]);
@@ -9658,7 +9658,8 @@ var SidebarItem = ({
9658
9658
  isOpen ? "hawa-opacity-100" : "hawa-opacity-0"
9659
9659
  )
9660
9660
  },
9661
- item.label
9661
+ item.label,
9662
+ item.badge && /* @__PURE__ */ React72.createElement(Chip, { label: item.badge.label, color: "hyper", size: "small" })
9662
9663
  )
9663
9664
  )
9664
9665
  ),
@@ -9695,7 +9696,15 @@ var SidebarItem = ({
9695
9696
  )
9696
9697
  },
9697
9698
  subitem.icon && subitem.icon,
9698
- subitem.label
9699
+ subitem.label,
9700
+ subitem.badge && /* @__PURE__ */ React72.createElement(
9701
+ Chip,
9702
+ {
9703
+ label: subitem.badge.label,
9704
+ color: "hyper",
9705
+ size: "small"
9706
+ }
9707
+ )
9699
9708
  ))
9700
9709
  ))
9701
9710
  );
@@ -11207,7 +11216,12 @@ var LoginForm = ({
11207
11216
  direction: props.direction,
11208
11217
  title: props.errorTitle,
11209
11218
  text: props.errorText,
11210
- severity: "error"
11219
+ severity: "error",
11220
+ onAlertClosed: () => {
11221
+ if (props.onErrorDismissed) {
11222
+ props.onErrorDismissed();
11223
+ }
11224
+ }
11211
11225
  }
11212
11226
  ), /* @__PURE__ */ import_react67.default.createElement(
11213
11227
  "form",
@@ -13797,7 +13811,7 @@ var Usage = (props) => {
13797
13811
 
13798
13812
  lucide-react/dist/esm/shared/src/utils.js:
13799
13813
  (**
13800
- * @license lucide-react v0.403.0 - ISC
13814
+ * @license lucide-react v0.408.0 - ISC
13801
13815
  *
13802
13816
  * This source code is licensed under the ISC license.
13803
13817
  * See the LICENSE file in the root directory of this source tree.
@@ -13805,7 +13819,7 @@ lucide-react/dist/esm/shared/src/utils.js:
13805
13819
 
13806
13820
  lucide-react/dist/esm/defaultAttributes.js:
13807
13821
  (**
13808
- * @license lucide-react v0.403.0 - ISC
13822
+ * @license lucide-react v0.408.0 - ISC
13809
13823
  *
13810
13824
  * This source code is licensed under the ISC license.
13811
13825
  * See the LICENSE file in the root directory of this source tree.
@@ -13813,7 +13827,7 @@ lucide-react/dist/esm/defaultAttributes.js:
13813
13827
 
13814
13828
  lucide-react/dist/esm/Icon.js:
13815
13829
  (**
13816
- * @license lucide-react v0.403.0 - ISC
13830
+ * @license lucide-react v0.408.0 - ISC
13817
13831
  *
13818
13832
  * This source code is licensed under the ISC license.
13819
13833
  * See the LICENSE file in the root directory of this source tree.
@@ -13821,7 +13835,7 @@ lucide-react/dist/esm/Icon.js:
13821
13835
 
13822
13836
  lucide-react/dist/esm/createLucideIcon.js:
13823
13837
  (**
13824
- * @license lucide-react v0.403.0 - ISC
13838
+ * @license lucide-react v0.408.0 - ISC
13825
13839
  *
13826
13840
  * This source code is licensed under the ISC license.
13827
13841
  * See the LICENSE file in the root directory of this source tree.
@@ -13829,7 +13843,7 @@ lucide-react/dist/esm/createLucideIcon.js:
13829
13843
 
13830
13844
  lucide-react/dist/esm/icons/dot.js:
13831
13845
  (**
13832
- * @license lucide-react v0.403.0 - ISC
13846
+ * @license lucide-react v0.408.0 - ISC
13833
13847
  *
13834
13848
  * This source code is licensed under the ISC license.
13835
13849
  * See the LICENSE file in the root directory of this source tree.
@@ -13837,7 +13851,7 @@ lucide-react/dist/esm/icons/dot.js:
13837
13851
 
13838
13852
  lucide-react/dist/esm/lucide-react.js:
13839
13853
  (**
13840
- * @license lucide-react v0.403.0 - ISC
13854
+ * @license lucide-react v0.408.0 - ISC
13841
13855
  *
13842
13856
  * This source code is licensed under the ISC license.
13843
13857
  * See the LICENSE file in the root directory of this source tree.
package/dist/index.mjs CHANGED
@@ -7678,19 +7678,19 @@ var PhoneInput = ({
7678
7678
  import * as React50 from "react";
7679
7679
  import { OTPInput, OTPInputContext } from "input-otp";
7680
7680
 
7681
- // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
7681
+ // ../../node_modules/.pnpm/lucide-react@0.408.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
7682
7682
  import { forwardRef as forwardRef25, createElement as createElement24 } from "react";
7683
7683
 
7684
- // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/shared/src/utils.js
7684
+ // ../../node_modules/.pnpm/lucide-react@0.408.0_react@18.3.1/node_modules/lucide-react/dist/esm/shared/src/utils.js
7685
7685
  var toKebabCase = (string9) => string9.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
7686
7686
  var mergeClasses = (...classes) => classes.filter((className, index, array) => {
7687
7687
  return Boolean(className) && array.indexOf(className) === index;
7688
7688
  }).join(" ");
7689
7689
 
7690
- // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
7690
+ // ../../node_modules/.pnpm/lucide-react@0.408.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
7691
7691
  import { forwardRef as forwardRef24, createElement as createElement23 } from "react";
7692
7692
 
7693
- // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/defaultAttributes.js
7693
+ // ../../node_modules/.pnpm/lucide-react@0.408.0_react@18.3.1/node_modules/lucide-react/dist/esm/defaultAttributes.js
7694
7694
  var defaultAttributes = {
7695
7695
  xmlns: "http://www.w3.org/2000/svg",
7696
7696
  width: 24,
@@ -7703,7 +7703,7 @@ var defaultAttributes = {
7703
7703
  strokeLinejoin: "round"
7704
7704
  };
7705
7705
 
7706
- // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
7706
+ // ../../node_modules/.pnpm/lucide-react@0.408.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
7707
7707
  var Icon = forwardRef24(
7708
7708
  ({
7709
7709
  color = "currentColor",
@@ -7735,7 +7735,7 @@ var Icon = forwardRef24(
7735
7735
  }
7736
7736
  );
7737
7737
 
7738
- // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
7738
+ // ../../node_modules/.pnpm/lucide-react@0.408.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
7739
7739
  var createLucideIcon = (iconName, iconNode) => {
7740
7740
  const Component = forwardRef25(
7741
7741
  ({ className, ...props }, ref) => createElement24(Icon, {
@@ -7749,7 +7749,7 @@ var createLucideIcon = (iconName, iconNode) => {
7749
7749
  return Component;
7750
7750
  };
7751
7751
 
7752
- // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/dot.js
7752
+ // ../../node_modules/.pnpm/lucide-react@0.408.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/dot.js
7753
7753
  var Dot = createLucideIcon("Dot", [
7754
7754
  ["circle", { cx: "12.1", cy: "12.1", r: "1", key: "18d7e5" }]
7755
7755
  ]);
@@ -9421,7 +9421,8 @@ var SidebarItem = ({
9421
9421
  isOpen ? "hawa-opacity-100" : "hawa-opacity-0"
9422
9422
  )
9423
9423
  },
9424
- item.label
9424
+ item.label,
9425
+ item.badge && /* @__PURE__ */ React72.createElement(Chip, { label: item.badge.label, color: "hyper", size: "small" })
9425
9426
  )
9426
9427
  )
9427
9428
  ),
@@ -9458,7 +9459,15 @@ var SidebarItem = ({
9458
9459
  )
9459
9460
  },
9460
9461
  subitem.icon && subitem.icon,
9461
- subitem.label
9462
+ subitem.label,
9463
+ subitem.badge && /* @__PURE__ */ React72.createElement(
9464
+ Chip,
9465
+ {
9466
+ label: subitem.badge.label,
9467
+ color: "hyper",
9468
+ size: "small"
9469
+ }
9470
+ )
9462
9471
  ))
9463
9472
  ))
9464
9473
  );
@@ -10975,7 +10984,12 @@ var LoginForm = ({
10975
10984
  direction: props.direction,
10976
10985
  title: props.errorTitle,
10977
10986
  text: props.errorText,
10978
- severity: "error"
10987
+ severity: "error",
10988
+ onAlertClosed: () => {
10989
+ if (props.onErrorDismissed) {
10990
+ props.onErrorDismissed();
10991
+ }
10992
+ }
10979
10993
  }
10980
10994
  ), /* @__PURE__ */ React82.createElement(
10981
10995
  "form",
@@ -13564,7 +13578,7 @@ export {
13564
13578
 
13565
13579
  lucide-react/dist/esm/shared/src/utils.js:
13566
13580
  (**
13567
- * @license lucide-react v0.403.0 - ISC
13581
+ * @license lucide-react v0.408.0 - ISC
13568
13582
  *
13569
13583
  * This source code is licensed under the ISC license.
13570
13584
  * See the LICENSE file in the root directory of this source tree.
@@ -13572,7 +13586,7 @@ lucide-react/dist/esm/shared/src/utils.js:
13572
13586
 
13573
13587
  lucide-react/dist/esm/defaultAttributes.js:
13574
13588
  (**
13575
- * @license lucide-react v0.403.0 - ISC
13589
+ * @license lucide-react v0.408.0 - ISC
13576
13590
  *
13577
13591
  * This source code is licensed under the ISC license.
13578
13592
  * See the LICENSE file in the root directory of this source tree.
@@ -13580,7 +13594,7 @@ lucide-react/dist/esm/defaultAttributes.js:
13580
13594
 
13581
13595
  lucide-react/dist/esm/Icon.js:
13582
13596
  (**
13583
- * @license lucide-react v0.403.0 - ISC
13597
+ * @license lucide-react v0.408.0 - ISC
13584
13598
  *
13585
13599
  * This source code is licensed under the ISC license.
13586
13600
  * See the LICENSE file in the root directory of this source tree.
@@ -13588,7 +13602,7 @@ lucide-react/dist/esm/Icon.js:
13588
13602
 
13589
13603
  lucide-react/dist/esm/createLucideIcon.js:
13590
13604
  (**
13591
- * @license lucide-react v0.403.0 - ISC
13605
+ * @license lucide-react v0.408.0 - ISC
13592
13606
  *
13593
13607
  * This source code is licensed under the ISC license.
13594
13608
  * See the LICENSE file in the root directory of this source tree.
@@ -13596,7 +13610,7 @@ lucide-react/dist/esm/createLucideIcon.js:
13596
13610
 
13597
13611
  lucide-react/dist/esm/icons/dot.js:
13598
13612
  (**
13599
- * @license lucide-react v0.403.0 - ISC
13613
+ * @license lucide-react v0.408.0 - ISC
13600
13614
  *
13601
13615
  * This source code is licensed under the ISC license.
13602
13616
  * See the LICENSE file in the root directory of this source tree.
@@ -13604,7 +13618,7 @@ lucide-react/dist/esm/icons/dot.js:
13604
13618
 
13605
13619
  lucide-react/dist/esm/lucide-react.js:
13606
13620
  (**
13607
- * @license lucide-react v0.403.0 - ISC
13621
+ * @license lucide-react v0.408.0 - ISC
13608
13622
  *
13609
13623
  * This source code is licensed under the ISC license.
13610
13624
  * See the LICENSE file in the root directory of this source tree.
@@ -39,6 +39,10 @@ type SubItem = {
39
39
  value: string;
40
40
  label: string;
41
41
  slug?: string;
42
+ badge?: {
43
+ label: string;
44
+ color: ChipColors;
45
+ };
42
46
  icon?: any;
43
47
  onMouseDown?: (e: React.MouseEvent) => void;
44
48
  onClick?: (e: React.MouseEvent) => void;
@@ -39,6 +39,10 @@ type SubItem = {
39
39
  value: string;
40
40
  label: string;
41
41
  slug?: string;
42
+ badge?: {
43
+ label: string;
44
+ color: ChipColors;
45
+ };
42
46
  icon?: any;
43
47
  onMouseDown?: (e: React.MouseEvent) => void;
44
48
  onClick?: (e: React.MouseEvent) => void;
@@ -445,7 +445,8 @@ var SidebarItem = ({
445
445
  isOpen ? "hawa-opacity-100" : "hawa-opacity-0"
446
446
  )
447
447
  },
448
- item.label
448
+ item.label,
449
+ item.badge && /* @__PURE__ */ React5.createElement(Chip, { label: item.badge.label, color: "hyper", size: "small" })
449
450
  )
450
451
  )
451
452
  ),
@@ -482,7 +483,15 @@ var SidebarItem = ({
482
483
  )
483
484
  },
484
485
  subitem.icon && subitem.icon,
485
- subitem.label
486
+ subitem.label,
487
+ subitem.badge && /* @__PURE__ */ React5.createElement(
488
+ Chip,
489
+ {
490
+ label: subitem.badge.label,
491
+ color: "hyper",
492
+ size: "small"
493
+ }
494
+ )
486
495
  ))
487
496
  ))
488
497
  );
@@ -185,7 +185,8 @@ var SidebarItem = ({
185
185
  isOpen ? "hawa-opacity-100" : "hawa-opacity-0"
186
186
  )
187
187
  },
188
- item.label
188
+ item.label,
189
+ item.badge && /* @__PURE__ */ React2.createElement(Chip, { label: item.badge.label, color: "hyper", size: "small" })
189
190
  )
190
191
  )
191
192
  ),
@@ -222,7 +223,15 @@ var SidebarItem = ({
222
223
  )
223
224
  },
224
225
  subitem.icon && subitem.icon,
225
- subitem.label
226
+ subitem.label,
227
+ subitem.badge && /* @__PURE__ */ React2.createElement(
228
+ Chip,
229
+ {
230
+ label: subitem.badge.label,
231
+ color: "hyper",
232
+ size: "small"
233
+ }
234
+ )
226
235
  ))
227
236
  ))
228
237
  );
@@ -52,19 +52,19 @@ function cn(...inputs) {
52
52
  // elements/pinInput/PinInput.tsx
53
53
  var import_input_otp = require("input-otp");
54
54
 
55
- // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
55
+ // ../../node_modules/.pnpm/lucide-react@0.408.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
56
56
  var import_react2 = require("react");
57
57
 
58
- // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/shared/src/utils.js
58
+ // ../../node_modules/.pnpm/lucide-react@0.408.0_react@18.3.1/node_modules/lucide-react/dist/esm/shared/src/utils.js
59
59
  var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
60
60
  var mergeClasses = (...classes) => classes.filter((className, index, array) => {
61
61
  return Boolean(className) && array.indexOf(className) === index;
62
62
  }).join(" ");
63
63
 
64
- // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
64
+ // ../../node_modules/.pnpm/lucide-react@0.408.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
65
65
  var import_react = require("react");
66
66
 
67
- // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/defaultAttributes.js
67
+ // ../../node_modules/.pnpm/lucide-react@0.408.0_react@18.3.1/node_modules/lucide-react/dist/esm/defaultAttributes.js
68
68
  var defaultAttributes = {
69
69
  xmlns: "http://www.w3.org/2000/svg",
70
70
  width: 24,
@@ -77,7 +77,7 @@ var defaultAttributes = {
77
77
  strokeLinejoin: "round"
78
78
  };
79
79
 
80
- // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
80
+ // ../../node_modules/.pnpm/lucide-react@0.408.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
81
81
  var Icon = (0, import_react.forwardRef)(
82
82
  ({
83
83
  color = "currentColor",
@@ -109,7 +109,7 @@ var Icon = (0, import_react.forwardRef)(
109
109
  }
110
110
  );
111
111
 
112
- // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
112
+ // ../../node_modules/.pnpm/lucide-react@0.408.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
113
113
  var createLucideIcon = (iconName, iconNode) => {
114
114
  const Component = (0, import_react2.forwardRef)(
115
115
  ({ className, ...props }, ref) => (0, import_react2.createElement)(Icon, {
@@ -123,7 +123,7 @@ var createLucideIcon = (iconName, iconNode) => {
123
123
  return Component;
124
124
  };
125
125
 
126
- // ../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/dot.js
126
+ // ../../node_modules/.pnpm/lucide-react@0.408.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/dot.js
127
127
  var Dot = createLucideIcon("Dot", [
128
128
  ["circle", { cx: "12.1", cy: "12.1", r: "1", key: "18d7e5" }]
129
129
  ]);
@@ -214,7 +214,7 @@ var PinInput = ({
214
214
 
215
215
  lucide-react/dist/esm/shared/src/utils.js:
216
216
  (**
217
- * @license lucide-react v0.403.0 - ISC
217
+ * @license lucide-react v0.408.0 - ISC
218
218
  *
219
219
  * This source code is licensed under the ISC license.
220
220
  * See the LICENSE file in the root directory of this source tree.
@@ -222,7 +222,7 @@ lucide-react/dist/esm/shared/src/utils.js:
222
222
 
223
223
  lucide-react/dist/esm/defaultAttributes.js:
224
224
  (**
225
- * @license lucide-react v0.403.0 - ISC
225
+ * @license lucide-react v0.408.0 - ISC
226
226
  *
227
227
  * This source code is licensed under the ISC license.
228
228
  * See the LICENSE file in the root directory of this source tree.
@@ -230,7 +230,7 @@ lucide-react/dist/esm/defaultAttributes.js:
230
230
 
231
231
  lucide-react/dist/esm/Icon.js:
232
232
  (**
233
- * @license lucide-react v0.403.0 - ISC
233
+ * @license lucide-react v0.408.0 - ISC
234
234
  *
235
235
  * This source code is licensed under the ISC license.
236
236
  * See the LICENSE file in the root directory of this source tree.
@@ -238,7 +238,7 @@ lucide-react/dist/esm/Icon.js:
238
238
 
239
239
  lucide-react/dist/esm/createLucideIcon.js:
240
240
  (**
241
- * @license lucide-react v0.403.0 - ISC
241
+ * @license lucide-react v0.408.0 - ISC
242
242
  *
243
243
  * This source code is licensed under the ISC license.
244
244
  * See the LICENSE file in the root directory of this source tree.
@@ -246,7 +246,7 @@ lucide-react/dist/esm/createLucideIcon.js:
246
246
 
247
247
  lucide-react/dist/esm/icons/dot.js:
248
248
  (**
249
- * @license lucide-react v0.403.0 - ISC
249
+ * @license lucide-react v0.408.0 - ISC
250
250
  *
251
251
  * This source code is licensed under the ISC license.
252
252
  * See the LICENSE file in the root directory of this source tree.
@@ -254,7 +254,7 @@ lucide-react/dist/esm/icons/dot.js:
254
254
 
255
255
  lucide-react/dist/esm/lucide-react.js:
256
256
  (**
257
- * @license lucide-react v0.403.0 - ISC
257
+ * @license lucide-react v0.408.0 - ISC
258
258
  *
259
259
  * This source code is licensed under the ISC license.
260
260
  * See the LICENSE file in the root directory of this source tree.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../elements/pinInput/index.ts","../../elements/pinInput/PinInput.tsx","../../util/index.ts","../../../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/shared/src/utils.ts","../../../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/src/defaultAttributes.ts","../../../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/src/Icon.ts","../../../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/src/createLucideIcon.ts","../../../../node_modules/.pnpm/lucide-react@0.403.0_react@18.3.1/node_modules/lucide-react/src/icons/dot.ts","../../elements/helperText/HelperText.tsx"],"sourcesContent":["export * from \"./PinInput\";\n","import * as React from \"react\";\n\nimport { cn } from \"@util/index\";\nimport { OTPInput, OTPInputContext, OTPInputProps } from \"input-otp\";\nimport { Dot } from \"lucide-react\";\n\nimport { HelperText } from \"../helperText\";\n\nconst PinInputRoot = React.forwardRef<\n React.ElementRef<typeof OTPInput>,\n React.ComponentPropsWithoutRef<typeof OTPInput>\n>(({ className, containerClassName, ...props }, ref) => (\n <OTPInput\n ref={ref}\n containerClassName={cn(\n \"hawa-flex hawa-items-center hawa-gap-2 has-[:disabled]:hawa-opacity-50\",\n containerClassName,\n )}\n className={cn(\"disabled:hawa-cursor-not-allowed\", className)}\n {...props}\n />\n));\nPinInputRoot.displayName = \"PinInputRoot\";\n\nconst PinInputGroup = React.forwardRef<\n React.ElementRef<\"div\">,\n React.ComponentPropsWithoutRef<\"div\">\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"hawa-flex hawa-items-center\", className)}\n {...props}\n />\n));\nPinInputGroup.displayName = \"PinInputGroup\";\n\nconst PinInputSlot = React.forwardRef<\n React.ElementRef<\"div\">,\n React.ComponentPropsWithoutRef<\"div\"> & { index: number }\n>(({ index, className, ...props }, ref) => {\n const pinInputContext = React.useContext(OTPInputContext);\n const { char, hasFakeCaret, isActive } = pinInputContext.slots[index];\n\n return (\n <div\n ref={ref}\n className={cn(\n \"hawa-border-input hawa-relative hawa-flex hawa-h-10 hawa-w-10 hawa-items-center hawa-justify-center hawa-border-y hawa-border-r hawa-text-sm hawa-transition-all first:hawa-rounded-l-md first:hawa-border-l last:hawa-rounded-r-md\",\n isActive &&\n \"hawa-ring-ring hawa-ring-offset-background hawa-z-10 hawa-ring-2\",\n className,\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"hawa-pointer-events-none hawa-absolute hawa-inset-0 hawa-flex hawa-items-center hawa-justify-center\">\n <div className=\"hawa-animate-caret-blink hawa-bg-foreground hawa-h-4 hawa-w-px hawa-duration-1000\" />\n </div>\n )}\n </div>\n );\n});\nPinInputSlot.displayName = \"PinInputSlot\";\n\nconst PinInputSeperator = React.forwardRef<\n React.ElementRef<\"div\">,\n React.ComponentPropsWithoutRef<\"div\">\n>(({ ...props }, ref) => (\n <div ref={ref} role=\"separator\" {...props}>\n <Dot />\n </div>\n));\nPinInputSeperator.displayName = \"PinInputSeperator\";\n\ntype PinInputProps = Omit<OTPInputProps, \"render\"> & {\n /*\n * The position of the separator in the pin input\n * @default 3\n */\n separatorPosition?: number;\n helperText?: any;\n};\n\nconst PinInput: React.FC<PinInputProps> = ({\n separatorPosition = 0,\n ...props\n}) => {\n const maxLength = props.maxLength || 6; // Assuming a default maxLength of 6 if not provided\n const clampedSeparatorPosition = Math.min(separatorPosition, maxLength);\n\n const firstGroupLength =\n clampedSeparatorPosition > 0 ? clampedSeparatorPosition : 0;\n const secondGroupLength = maxLength - firstGroupLength;\n\n return (\n <div className=\"hawa-flex hawa-flex-col hawa-gap-2\">\n <PinInputRoot {...props}>\n {firstGroupLength > 0 && (\n <PinInputGroup className=\"hawa-w-full\">\n {[...Array(firstGroupLength)].map((_, index) => (\n <PinInputSlot key={index} index={index} className=\"hawa-w-full\" />\n ))}\n </PinInputGroup>\n )}\n {separatorPosition > 0 && separatorPosition < props.maxLength && (\n <PinInputSeperator />\n )}\n {secondGroupLength > 0 && (\n <PinInputGroup className=\"hawa-w-full\">\n {[...Array(secondGroupLength)].map((_, index) => (\n <PinInputSlot\n key={index + firstGroupLength}\n index={index + firstGroupLength}\n className=\"hawa-w-full\"\n />\n ))}\n </PinInputGroup>\n )}\n </PinInputRoot>\n <HelperText helperText={props.helperText} />\n </div>\n );\n};\n\nexport {\n PinInput,\n PinInputRoot,\n PinInputGroup,\n PinInputSlot,\n PinInputSeperator,\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 { CamelToPascal } from './utility-types';\n\n/**\n * Converts string to kebab case\n *\n * @param {string} string\n * @returns {string} A kebabized string\n */\nexport const toKebabCase = (string: string) =>\n string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n\n/**\n * Converts string to pascal case\n *\n * @param {string} string\n * @returns {string} A pascalized string\n */\nexport const toPascalCase = <T extends string>(string: T): CamelToPascal<T> => {\n const camelCase = string.replace(/^([A-Z])|[\\s-_]+(\\w)/g, (match, p1, p2) =>\n p2 ? p2.toUpperCase() : p1.toLowerCase(),\n );\n\n return (camelCase.charAt(0).toUpperCase() + camelCase.slice(1)) as CamelToPascal<T>;\n};\n\n/**\n * Merges classes into a single string\n *\n * @param {array} classes\n * @returns {string} A string of classes\n */\nexport const mergeClasses = <ClassType = string | undefined | null>(...classes: ClassType[]) =>\n classes\n .filter((className, index, array) => {\n return Boolean(className) && array.indexOf(className) === index;\n })\n .join(' ');\n","export default {\n xmlns: 'http://www.w3.org/2000/svg',\n width: 24,\n height: 24,\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: 2,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n};\n","import { createElement, forwardRef } from 'react';\nimport defaultAttributes from './defaultAttributes';\nimport { IconNode, LucideProps } from './types';\nimport { mergeClasses } from '@lucide/shared';\n\ninterface IconComponentProps extends LucideProps {\n iconNode: IconNode;\n}\n\n/**\n * Lucide icon component\n *\n * @component Icon\n * @param {object} props\n * @param {string} props.color - The color of the icon\n * @param {number} props.size - The size of the icon\n * @param {number} props.strokeWidth - The stroke width of the icon\n * @param {boolean} props.absoluteStrokeWidth - Whether to use absolute stroke width\n * @param {string} props.className - The class name of the icon\n * @param {IconNode} props.children - The children of the icon\n * @param {IconNode} props.iconNode - The icon node of the icon\n *\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst Icon = forwardRef<SVGSVGElement, IconComponentProps>(\n (\n {\n color = 'currentColor',\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = '',\n children,\n iconNode,\n ...rest\n },\n ref,\n ) => {\n return createElement(\n 'svg',\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? (Number(strokeWidth) * 24) / Number(size) : strokeWidth,\n className: mergeClasses('lucide', className),\n ...rest,\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...(Array.isArray(children) ? children : [children]),\n ],\n );\n },\n);\n\nexport default Icon;\n","import { createElement, forwardRef } from 'react';\nimport { mergeClasses, toKebabCase } from '@lucide/shared';\nimport { IconNode, LucideProps } from './types';\nimport Icon from './Icon';\n\n/**\n * Create a Lucide icon component\n * @param {string} iconName\n * @param {array} iconNode\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst createLucideIcon = (iconName: string, iconNode: IconNode) => {\n const Component = forwardRef<SVGSVGElement, LucideProps>(({ className, ...props }, ref) =>\n createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(`lucide-${toKebabCase(iconName)}`, className),\n ...props,\n }),\n );\n\n Component.displayName = `${iconName}`;\n\n return Component;\n};\n\nexport default createLucideIcon;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Dot\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMi4xIiBjeT0iMTIuMSIgcj0iMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/dot\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Dot = createLucideIcon('Dot', [\n ['circle', { cx: '12.1', cy: '12.1', r: '1', key: '18d7e5' }],\n]);\n\nexport default Dot;\n","import React from \"react\";\n\nimport { cn } from \"@util/index\";\n\nexport const HelperText = ({ helperText }: { helperText?: any }) => (\n <p\n className={cn(\n \"hawa-my-0 hawa-text-start hawa-text-xs hawa-text-helper-color hawa-transition-all\",\n helperText ? \"hawa-h-4 hawa-opacity-100\" : \"hawa-h-0 hawa-opacity-0\",\n )}\n >\n {helperText}\n </p>\n);\n"],"mappings":"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","names":["React","import_react","React"]}
1
+ {"version":3,"sources":["../../elements/pinInput/index.ts","../../elements/pinInput/PinInput.tsx","../../util/index.ts","../../../../node_modules/.pnpm/lucide-react@0.408.0_react@18.3.1/node_modules/shared/src/utils.ts","../../../../node_modules/.pnpm/lucide-react@0.408.0_react@18.3.1/node_modules/lucide-react/src/defaultAttributes.ts","../../../../node_modules/.pnpm/lucide-react@0.408.0_react@18.3.1/node_modules/lucide-react/src/Icon.ts","../../../../node_modules/.pnpm/lucide-react@0.408.0_react@18.3.1/node_modules/lucide-react/src/createLucideIcon.ts","../../../../node_modules/.pnpm/lucide-react@0.408.0_react@18.3.1/node_modules/lucide-react/src/icons/dot.ts","../../elements/helperText/HelperText.tsx"],"sourcesContent":["export * from \"./PinInput\";\n","import * as React from \"react\";\n\nimport { cn } from \"@util/index\";\nimport { OTPInput, OTPInputContext, OTPInputProps } from \"input-otp\";\nimport { Dot } from \"lucide-react\";\n\nimport { HelperText } from \"../helperText\";\n\nconst PinInputRoot = React.forwardRef<\n React.ElementRef<typeof OTPInput>,\n React.ComponentPropsWithoutRef<typeof OTPInput>\n>(({ className, containerClassName, ...props }, ref) => (\n <OTPInput\n ref={ref}\n containerClassName={cn(\n \"hawa-flex hawa-items-center hawa-gap-2 has-[:disabled]:hawa-opacity-50\",\n containerClassName,\n )}\n className={cn(\"disabled:hawa-cursor-not-allowed\", className)}\n {...props}\n />\n));\nPinInputRoot.displayName = \"PinInputRoot\";\n\nconst PinInputGroup = React.forwardRef<\n React.ElementRef<\"div\">,\n React.ComponentPropsWithoutRef<\"div\">\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"hawa-flex hawa-items-center\", className)}\n {...props}\n />\n));\nPinInputGroup.displayName = \"PinInputGroup\";\n\nconst PinInputSlot = React.forwardRef<\n React.ElementRef<\"div\">,\n React.ComponentPropsWithoutRef<\"div\"> & { index: number }\n>(({ index, className, ...props }, ref) => {\n const pinInputContext = React.useContext(OTPInputContext);\n const { char, hasFakeCaret, isActive } = pinInputContext.slots[index];\n\n return (\n <div\n ref={ref}\n className={cn(\n \"hawa-border-input hawa-relative hawa-flex hawa-h-10 hawa-w-10 hawa-items-center hawa-justify-center hawa-border-y hawa-border-r hawa-text-sm hawa-transition-all first:hawa-rounded-l-md first:hawa-border-l last:hawa-rounded-r-md\",\n isActive &&\n \"hawa-ring-ring hawa-ring-offset-background hawa-z-10 hawa-ring-2\",\n className,\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"hawa-pointer-events-none hawa-absolute hawa-inset-0 hawa-flex hawa-items-center hawa-justify-center\">\n <div className=\"hawa-animate-caret-blink hawa-bg-foreground hawa-h-4 hawa-w-px hawa-duration-1000\" />\n </div>\n )}\n </div>\n );\n});\nPinInputSlot.displayName = \"PinInputSlot\";\n\nconst PinInputSeperator = React.forwardRef<\n React.ElementRef<\"div\">,\n React.ComponentPropsWithoutRef<\"div\">\n>(({ ...props }, ref) => (\n <div ref={ref} role=\"separator\" {...props}>\n <Dot />\n </div>\n));\nPinInputSeperator.displayName = \"PinInputSeperator\";\n\ntype PinInputProps = Omit<OTPInputProps, \"render\"> & {\n /*\n * The position of the separator in the pin input\n * @default 3\n */\n separatorPosition?: number;\n helperText?: any;\n};\n\nconst PinInput: React.FC<PinInputProps> = ({\n separatorPosition = 0,\n ...props\n}) => {\n const maxLength = props.maxLength || 6; // Assuming a default maxLength of 6 if not provided\n const clampedSeparatorPosition = Math.min(separatorPosition, maxLength);\n\n const firstGroupLength =\n clampedSeparatorPosition > 0 ? clampedSeparatorPosition : 0;\n const secondGroupLength = maxLength - firstGroupLength;\n\n return (\n <div className=\"hawa-flex hawa-flex-col hawa-gap-2\">\n <PinInputRoot {...props}>\n {firstGroupLength > 0 && (\n <PinInputGroup className=\"hawa-w-full\">\n {[...Array(firstGroupLength)].map((_, index) => (\n <PinInputSlot key={index} index={index} className=\"hawa-w-full\" />\n ))}\n </PinInputGroup>\n )}\n {separatorPosition > 0 && separatorPosition < props.maxLength && (\n <PinInputSeperator />\n )}\n {secondGroupLength > 0 && (\n <PinInputGroup className=\"hawa-w-full\">\n {[...Array(secondGroupLength)].map((_, index) => (\n <PinInputSlot\n key={index + firstGroupLength}\n index={index + firstGroupLength}\n className=\"hawa-w-full\"\n />\n ))}\n </PinInputGroup>\n )}\n </PinInputRoot>\n <HelperText helperText={props.helperText} />\n </div>\n );\n};\n\nexport {\n PinInput,\n PinInputRoot,\n PinInputGroup,\n PinInputSlot,\n PinInputSeperator,\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 { CamelToPascal } from './utility-types';\n\n/**\n * Converts string to kebab case\n *\n * @param {string} string\n * @returns {string} A kebabized string\n */\nexport const toKebabCase = (string: string) =>\n string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n\n/**\n * Converts string to pascal case\n *\n * @param {string} string\n * @returns {string} A pascalized string\n */\nexport const toPascalCase = <T extends string>(string: T): CamelToPascal<T> => {\n const camelCase = string.replace(/^([A-Z])|[\\s-_]+(\\w)/g, (match, p1, p2) =>\n p2 ? p2.toUpperCase() : p1.toLowerCase(),\n );\n\n return (camelCase.charAt(0).toUpperCase() + camelCase.slice(1)) as CamelToPascal<T>;\n};\n\n/**\n * Merges classes into a single string\n *\n * @param {array} classes\n * @returns {string} A string of classes\n */\nexport const mergeClasses = <ClassType = string | undefined | null>(...classes: ClassType[]) =>\n classes\n .filter((className, index, array) => {\n return Boolean(className) && array.indexOf(className) === index;\n })\n .join(' ');\n","export default {\n xmlns: 'http://www.w3.org/2000/svg',\n width: 24,\n height: 24,\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: 2,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n};\n","import { createElement, forwardRef } from 'react';\nimport defaultAttributes from './defaultAttributes';\nimport { IconNode, LucideProps } from './types';\nimport { mergeClasses } from '@lucide/shared';\n\ninterface IconComponentProps extends LucideProps {\n iconNode: IconNode;\n}\n\n/**\n * Lucide icon component\n *\n * @component Icon\n * @param {object} props\n * @param {string} props.color - The color of the icon\n * @param {number} props.size - The size of the icon\n * @param {number} props.strokeWidth - The stroke width of the icon\n * @param {boolean} props.absoluteStrokeWidth - Whether to use absolute stroke width\n * @param {string} props.className - The class name of the icon\n * @param {IconNode} props.children - The children of the icon\n * @param {IconNode} props.iconNode - The icon node of the icon\n *\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst Icon = forwardRef<SVGSVGElement, IconComponentProps>(\n (\n {\n color = 'currentColor',\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = '',\n children,\n iconNode,\n ...rest\n },\n ref,\n ) => {\n return createElement(\n 'svg',\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? (Number(strokeWidth) * 24) / Number(size) : strokeWidth,\n className: mergeClasses('lucide', className),\n ...rest,\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...(Array.isArray(children) ? children : [children]),\n ],\n );\n },\n);\n\nexport default Icon;\n","import { createElement, forwardRef } from 'react';\nimport { mergeClasses, toKebabCase } from '@lucide/shared';\nimport { IconNode, LucideProps } from './types';\nimport Icon from './Icon';\n\n/**\n * Create a Lucide icon component\n * @param {string} iconName\n * @param {array} iconNode\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst createLucideIcon = (iconName: string, iconNode: IconNode) => {\n const Component = forwardRef<SVGSVGElement, LucideProps>(({ className, ...props }, ref) =>\n createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(`lucide-${toKebabCase(iconName)}`, className),\n ...props,\n }),\n );\n\n Component.displayName = `${iconName}`;\n\n return Component;\n};\n\nexport default createLucideIcon;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Dot\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMi4xIiBjeT0iMTIuMSIgcj0iMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/dot\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Dot = createLucideIcon('Dot', [\n ['circle', { cx: '12.1', cy: '12.1', r: '1', key: '18d7e5' }],\n]);\n\nexport default Dot;\n","import React from \"react\";\n\nimport { cn } from \"@util/index\";\n\nexport const HelperText = ({ helperText }: { helperText?: any }) => (\n <p\n className={cn(\n \"hawa-my-0 hawa-text-start hawa-text-xs hawa-text-helper-color hawa-transition-all\",\n helperText ? \"hawa-h-4 hawa-opacity-100\" : \"hawa-h-0 hawa-opacity-0\",\n )}\n >\n {helperText}\n </p>\n);\n"],"mappings":"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","names":["React","import_react","React"]}