@sikka/hawa 0.37.2-next → 0.38.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 (139) hide show
  1. package/dist/{Radio-y9uhxitu.d.ts → Radio-lgoClQrv.d.ts} +2 -2
  2. package/dist/{Radio-BCD7k628.d.mts → Radio-uQ7DtzcI.d.mts} +2 -2
  3. package/dist/alert/index.js.map +1 -1
  4. package/dist/alert/index.mjs.map +1 -1
  5. package/dist/appLayout/index.js.map +1 -1
  6. package/dist/appLayout/index.mjs.map +1 -1
  7. package/dist/backToTop/index.js.map +1 -1
  8. package/dist/backToTop/index.mjs.map +1 -1
  9. package/dist/blocks/auth/index.d.mts +1 -0
  10. package/dist/blocks/auth/index.d.ts +1 -0
  11. package/dist/blocks/auth/index.js +207 -123
  12. package/dist/blocks/auth/index.mjs +204 -101
  13. package/dist/blocks/feedback/index.js +4 -40
  14. package/dist/blocks/feedback/index.mjs +5 -5
  15. package/dist/blocks/index.d.mts +2 -1
  16. package/dist/blocks/index.d.ts +2 -1
  17. package/dist/blocks/index.js +457 -400
  18. package/dist/blocks/index.mjs +10 -8
  19. package/dist/blocks/misc/index.js +5 -32
  20. package/dist/blocks/misc/index.mjs +5 -5
  21. package/dist/blocks/pricing/index.js +4 -22
  22. package/dist/blocks/pricing/index.mjs +4 -4
  23. package/dist/button/index.js.map +1 -1
  24. package/dist/button/index.mjs.map +1 -1
  25. package/dist/calendar/index.js.map +1 -1
  26. package/dist/calendar/index.mjs.map +1 -1
  27. package/dist/checkbox/index.d.mts +1 -1
  28. package/dist/checkbox/index.d.ts +1 -1
  29. package/dist/checkbox/index.js.map +1 -1
  30. package/dist/checkbox/index.mjs.map +1 -1
  31. package/dist/{chunk-BPHQFAWM.mjs → chunk-4EZL2A64.mjs} +3 -11
  32. package/dist/{chunk-DS3AACQJ.mjs → chunk-E6C3LDHD.mjs} +1 -1
  33. package/dist/{chunk-ODOCZAWC.mjs → chunk-E77TUADR.mjs} +1 -1
  34. package/dist/{chunk-QXH7ZDMN.mjs → chunk-IA5FLRFL.mjs} +3 -11
  35. package/dist/{chunk-ZTUWU652.mjs → chunk-JJMRBD3S.mjs} +3 -3
  36. package/dist/{chunk-RNFJAEEU.mjs → chunk-LDJD5ITW.mjs} +1 -0
  37. package/dist/{chunk-QYWOI3DO.mjs → chunk-MHSSZ6XE.mjs} +204 -144
  38. package/dist/{chunk-BTDR3VAG.mjs → chunk-Q3HJI7ZE.mjs} +4 -21
  39. package/dist/{chunk-MDHDHEPZ.mjs → chunk-TMUQCNLO.mjs} +3 -11
  40. package/dist/{chunk-PXGL7ZXQ.mjs → chunk-V4SUYEVH.mjs} +1 -0
  41. package/dist/codeBlock/index.js.map +1 -1
  42. package/dist/codeBlock/index.mjs.map +1 -1
  43. package/dist/colorPicker/index.d.mts +1 -1
  44. package/dist/colorPicker/index.d.ts +1 -1
  45. package/dist/colorPicker/index.js +35 -31
  46. package/dist/colorPicker/index.js.map +1 -1
  47. package/dist/colorPicker/index.mjs +33 -29
  48. package/dist/colorPicker/index.mjs.map +1 -1
  49. package/dist/combobox/index.d.mts +1 -1
  50. package/dist/combobox/index.d.ts +1 -1
  51. package/dist/combobox/index.js +52 -48
  52. package/dist/combobox/index.js.map +1 -1
  53. package/dist/combobox/index.mjs +52 -48
  54. package/dist/combobox/index.mjs.map +1 -1
  55. package/dist/dataTable/index.js +1 -10
  56. package/dist/dataTable/index.js.map +1 -1
  57. package/dist/dataTable/index.mjs +1 -10
  58. package/dist/dataTable/index.mjs.map +1 -1
  59. package/dist/datePicker/index.js.map +1 -1
  60. package/dist/datePicker/index.mjs.map +1 -1
  61. package/dist/docsLayout/index.js.map +1 -1
  62. package/dist/docsLayout/index.mjs.map +1 -1
  63. package/dist/elements/index.d.mts +42 -21
  64. package/dist/elements/index.d.ts +42 -21
  65. package/dist/elements/index.js +335 -290
  66. package/dist/elements/index.mjs +14 -23
  67. package/dist/fileDropzone/index.js.map +1 -1
  68. package/dist/fileDropzone/index.mjs.map +1 -1
  69. package/dist/index.css +29 -3
  70. package/dist/index.d.mts +44 -22
  71. package/dist/index.d.ts +44 -22
  72. package/dist/index.js +764 -717
  73. package/dist/index.mjs +287 -244
  74. package/dist/input/index.d.mts +1 -1
  75. package/dist/input/index.d.ts +1 -1
  76. package/dist/input/index.js +46 -42
  77. package/dist/input/index.js.map +1 -1
  78. package/dist/input/index.mjs +45 -41
  79. package/dist/input/index.mjs.map +1 -1
  80. package/dist/interfaceSettings/index.js +64 -69
  81. package/dist/interfaceSettings/index.js.map +1 -1
  82. package/dist/interfaceSettings/index.mjs +57 -62
  83. package/dist/interfaceSettings/index.mjs.map +1 -1
  84. package/dist/layout/index.d.mts +1 -1
  85. package/dist/layout/index.d.ts +1 -1
  86. package/dist/layout/index.mjs +2 -2
  87. package/dist/passwordInput/index.js +70 -66
  88. package/dist/passwordInput/index.js.map +1 -1
  89. package/dist/passwordInput/index.mjs +59 -55
  90. package/dist/passwordInput/index.mjs.map +1 -1
  91. package/dist/phoneInput/index.js +50 -55
  92. package/dist/phoneInput/index.js.map +1 -1
  93. package/dist/phoneInput/index.mjs +47 -52
  94. package/dist/phoneInput/index.mjs.map +1 -1
  95. package/dist/pinInput/index.d.mts +37 -16
  96. package/dist/pinInput/index.d.ts +37 -16
  97. package/dist/pinInput/index.js +208 -78
  98. package/dist/pinInput/index.js.map +1 -1
  99. package/dist/pinInput/index.mjs +203 -77
  100. package/dist/pinInput/index.mjs.map +1 -1
  101. package/dist/radio/index.d.mts +1 -1
  102. package/dist/radio/index.d.ts +1 -1
  103. package/dist/radio/index.js +55 -60
  104. package/dist/radio/index.js.map +1 -1
  105. package/dist/radio/index.mjs +50 -55
  106. package/dist/radio/index.mjs.map +1 -1
  107. package/dist/scrollArea/index.js +2 -2
  108. package/dist/scrollArea/index.js.map +1 -1
  109. package/dist/scrollArea/index.mjs +2 -2
  110. package/dist/scrollArea/index.mjs.map +1 -1
  111. package/dist/select/index.d.mts +1 -1
  112. package/dist/select/index.d.ts +1 -1
  113. package/dist/select/index.js +43 -39
  114. package/dist/select/index.js.map +1 -1
  115. package/dist/select/index.mjs +43 -39
  116. package/dist/select/index.mjs.map +1 -1
  117. package/dist/signature/index.d.mts +1 -1
  118. package/dist/signature/index.d.ts +1 -1
  119. package/dist/signature/index.js.map +1 -1
  120. package/dist/signature/index.mjs.map +1 -1
  121. package/dist/sortButton/index.js.map +1 -1
  122. package/dist/sortButton/index.mjs.map +1 -1
  123. package/dist/splitButton/index.js.map +1 -1
  124. package/dist/splitButton/index.mjs.map +1 -1
  125. package/dist/stats/index.d.mts +1 -1
  126. package/dist/stats/index.d.ts +1 -1
  127. package/dist/stats/index.js.map +1 -1
  128. package/dist/stats/index.mjs.map +1 -1
  129. package/dist/tabs/index.js +2 -2
  130. package/dist/tabs/index.js.map +1 -1
  131. package/dist/tabs/index.mjs +2 -2
  132. package/dist/tabs/index.mjs.map +1 -1
  133. package/dist/textarea/index.d.mts +1 -1
  134. package/dist/textarea/index.d.ts +1 -1
  135. package/dist/textarea/index.js +34 -30
  136. package/dist/textarea/index.js.map +1 -1
  137. package/dist/textarea/index.mjs +34 -30
  138. package/dist/textarea/index.mjs.map +1 -1
  139. package/package.json +2 -1
package/dist/index.mjs CHANGED
@@ -2538,16 +2538,7 @@ var Input = forwardRef12(
2538
2538
  inputProps == null ? void 0 : inputProps.className
2539
2539
  )
2540
2540
  }
2541
- )), !forceHideHelperText && /* @__PURE__ */ React21.createElement(
2542
- "p",
2543
- {
2544
- className: cn(
2545
- "hawa-my-0 hawa-text-start hawa-text-xs hawa-text-helper-color hawa-transition-all",
2546
- props.helperText ? "hawa-h-4 hawa-opacity-100" : "hawa-h-0 hawa-opacity-0"
2547
- )
2548
- },
2549
- props.helperText
2550
- ), !props.disabled && forceHideHelperText && /* @__PURE__ */ React21.createElement(
2541
+ )), !forceHideHelperText && /* @__PURE__ */ React21.createElement(HelperText, { helperText: props.helperText }), !props.disabled && forceHideHelperText && /* @__PURE__ */ React21.createElement(
2551
2542
  "div",
2552
2543
  {
2553
2544
  className: cn(
@@ -3362,16 +3353,7 @@ var Radio = forwardRef15(
3362
3353
  opt.label
3363
3354
  );
3364
3355
  })
3365
- ), !forceHideHelperText && /* @__PURE__ */ React26.createElement(
3366
- "p",
3367
- {
3368
- className: cn(
3369
- "hawa-my-0 hawa-text-start hawa-text-xs hawa-text-helper-color hawa-transition-all",
3370
- props.helperText ? "hawa-h-4 hawa-opacity-100" : "hawa-h-0 hawa-opacity-0"
3371
- )
3372
- },
3373
- props.helperText
3374
- ));
3356
+ ), !forceHideHelperText && /* @__PURE__ */ React26.createElement(HelperText, { helperText: props.helperText }));
3375
3357
  case "bordered":
3376
3358
  return /* @__PURE__ */ React26.createElement("div", { className: cn(orientationStyle[orientation], "hawa-gap-4") }, props.options && props.options.map((opt, i) => /* @__PURE__ */ React26.createElement("div", { key: i, className: "hawa-w-full hawa-rounded hawa-border" }, /* @__PURE__ */ React26.createElement(
3377
3359
  "div",
@@ -3460,16 +3442,7 @@ var Radio = forwardRef15(
3460
3442
  },
3461
3443
  opt.label
3462
3444
  )
3463
- ))), /* @__PURE__ */ React26.createElement(
3464
- "p",
3465
- {
3466
- className: cn(
3467
- "hawa-my-0 hawa-text-start hawa-text-xs hawa-text-helper-color hawa-transition-all",
3468
- props.helperText ? "hawa-h-4 hawa-opacity-100" : "hawa-h-0 hawa-opacity-0"
3469
- )
3470
- },
3471
- props.helperText
3472
- ));
3445
+ ))), /* @__PURE__ */ React26.createElement(HelperText, { helperText: props.helperText }));
3473
3446
  }
3474
3447
  }
3475
3448
  );
@@ -3739,16 +3712,7 @@ var Combobox = React28.forwardRef(
3739
3712
  },
3740
3713
  /* @__PURE__ */ React28.createElement("path", { d: "m6 9 6 6 6-6" })
3741
3714
  )
3742
- ), /* @__PURE__ */ React28.createElement(
3743
- "p",
3744
- {
3745
- className: cn(
3746
- "hawa-my-0 hawa-text-start hawa-text-xs hawa-text-helper-color hawa-transition-all",
3747
- props.helperText ? "hawa-h-4 hawa-opacity-100" : "hawa-h-0 hawa-opacity-0"
3748
- )
3749
- },
3750
- props.helperText
3751
- ))), /* @__PURE__ */ React28.createElement(
3715
+ ), /* @__PURE__ */ React28.createElement(HelperText, { helperText: props.helperText }))), /* @__PURE__ */ React28.createElement(
3752
3716
  PopoverContent,
3753
3717
  {
3754
3718
  sideOffset: 0,
@@ -3872,16 +3836,7 @@ var Textarea = React29.forwardRef(
3872
3836
  ref
3873
3837
  }
3874
3838
  ),
3875
- /* @__PURE__ */ React29.createElement("div", { className: "hawa-flex hawa-flex-row hawa-justify-between" }, !forceHideHelperText && /* @__PURE__ */ React29.createElement(
3876
- "p",
3877
- {
3878
- className: cn(
3879
- "hawa-my-0 hawa-text-start hawa-text-xs hawa-text-helper-color hawa-transition-all",
3880
- props.helperText ? "hawa-h-4 hawa-opacity-100" : "hawa-h-0 hawa-opacity-0"
3881
- )
3882
- },
3883
- props.helperText
3884
- ), showCount && countPosition === "bottom" && /* @__PURE__ */ React29.createElement("div", { className: "hawa-text-start hawa-text-xs hawa-transition-all" }, (textareaProps == null ? void 0 : textareaProps.value) ? String(textareaProps == null ? void 0 : textareaProps.value).length : 0, "/", textareaProps == null ? void 0 : textareaProps.maxLength))
3839
+ /* @__PURE__ */ React29.createElement("div", { className: "hawa-flex hawa-flex-row hawa-justify-between" }, !forceHideHelperText && /* @__PURE__ */ React29.createElement(HelperText, { helperText: props.helperText }), showCount && countPosition === "bottom" && /* @__PURE__ */ React29.createElement("div", { className: "hawa-text-start hawa-text-xs hawa-transition-all" }, (textareaProps == null ? void 0 : textareaProps.value) ? String(textareaProps == null ? void 0 : textareaProps.value).length : 0, "/", textareaProps == null ? void 0 : textareaProps.maxLength))
3885
3840
  );
3886
3841
  }
3887
3842
  );
@@ -4807,7 +4762,7 @@ var ScrollArea = React41.forwardRef(({ className, children, orientation = "verti
4807
4762
  "div",
4808
4763
  {
4809
4764
  className: cn(
4810
- "hawa-pointer-events-none hawa-absolute hawa-bg-background/ hawa-h-full hawa-w-[50px] hawa-z-10 hawa-start-0 hawa-mask-fade-right",
4765
+ "hawa-pointer-events-none hawa-absolute hawa-bg-background hawa-h-full hawa-w-[50px] hawa-z-10 hawa-start-0 hawa-mask-fade-right",
4811
4766
  showLeftFade ? "hawa-block" : "hawa-hidden"
4812
4767
  )
4813
4768
  }
@@ -4816,7 +4771,7 @@ var ScrollArea = React41.forwardRef(({ className, children, orientation = "verti
4816
4771
  "div",
4817
4772
  {
4818
4773
  className: cn(
4819
- "hawa-pointer-events-none hawa-absolute hawa-bg-background/ hawa-mask-fade-left hawa-end-0 hawa-h-full hawa-w-[50px] hawa-z-10 ",
4774
+ "hawa-pointer-events-none hawa-absolute hawa-bg-background hawa-mask-fade-left hawa-end-0 hawa-h-full hawa-w-[50px] hawa-z-10 ",
4820
4775
  showRightFade ? "hawa-block" : "hawa-hidden"
4821
4776
  )
4822
4777
  }
@@ -5196,16 +5151,7 @@ var Select = ({
5196
5151
  onInputChange: (newValue, action) => props.onInputChange(newValue, action)
5197
5152
  }
5198
5153
  ),
5199
- !props.hideHelperText && /* @__PURE__ */ React43.createElement(
5200
- "p",
5201
- {
5202
- className: cn(
5203
- "hawa-my-0 hawa-text-start hawa-text-xs hawa-text-helper-color hawa-transition-all",
5204
- props.helperText ? "hawa-h-4 hawa-opacity-100" : "hawa-h-0 hawa-opacity-0"
5205
- )
5206
- },
5207
- props.helperText
5208
- )
5154
+ !props.hideHelperText && /* @__PURE__ */ React43.createElement(HelperText, { helperText: props.helperText })
5209
5155
  );
5210
5156
  };
5211
5157
 
@@ -7346,99 +7292,149 @@ var PhoneInput = ({
7346
7292
  ),
7347
7293
  ...inputProps
7348
7294
  }
7349
- ))), /* @__PURE__ */ React50.createElement(
7350
- "p",
7351
- {
7352
- className: cn(
7353
- "hawa-my-0 hawa-text-start hawa-text-xs hawa-text-helper-color hawa-transition-all",
7354
- props.helperText ? "hawa-h-4 hawa-opacity-100" : "hawa-h-0 hawa-opacity-0"
7355
- )
7356
- },
7357
- props.helperText
7358
- ));
7295
+ ))), /* @__PURE__ */ React50.createElement(HelperText, { helperText: props.helperText }));
7359
7296
  };
7360
7297
 
7361
7298
  // elements/pinInput/PinInput.tsx
7362
- import React51, { useEffect as useEffect27, useState as useState29 } from "react";
7363
- var PinInput = ({
7364
- label,
7365
- icon,
7366
- digits,
7367
- width = "normal",
7368
- getPins,
7369
- inputProps,
7370
- ...props
7371
- }) => {
7372
- const [pin, setPin] = useState29(Array.from(Array(digits)));
7373
- const handleKeyDown = (e, index) => {
7374
- let backTo = 0;
7375
- if (e.key === "Backspace") {
7376
- e.target.value.length === 0 ? backTo = index - 1 : backTo = index;
7377
- const previousInput = document.getElementById(`input-${backTo}`);
7378
- previousInput == null ? void 0 : previousInput.focus();
7379
- }
7380
- };
7381
- useEffect27(() => {
7382
- let unfilled = pin.includes(void 0);
7383
- if (!unfilled && getPins) {
7384
- getPins(pin);
7385
- }
7386
- });
7387
- const handleChange = (e, index) => {
7388
- if (!/^\d*$/.test(e.target.value)) {
7389
- const newPin = [...pin];
7390
- newPin[index] = "";
7391
- setPin(newPin);
7392
- return;
7393
- } else {
7394
- const newPin = [...pin];
7395
- newPin[index] = e.target.value;
7396
- setPin(newPin);
7397
- if (e.target.value.length === 1) {
7398
- const nextInput = document.getElementById(`input-${index + 1}`);
7399
- nextInput == null ? void 0 : nextInput.focus();
7400
- } else if (e.target.value.length === 0) {
7401
- const previousInput = document.getElementById(`input-${index - 1}`);
7402
- previousInput == null ? void 0 : previousInput.focus();
7403
- }
7404
- }
7405
- };
7406
- return /* @__PURE__ */ React51.createElement("div", { className: "hawa-flex hawa-flex-col hawa-gap-2" }, /* @__PURE__ */ React51.createElement(
7407
- "div",
7408
- {
7409
- className: "hawa-flex hawa-w-full hawa-flex-row hawa-justify-center hawa-gap-2",
7410
- dir: "ltr"
7411
- },
7412
- pin.map((value, index) => /* @__PURE__ */ React51.createElement(
7413
- "input",
7299
+ import * as React51 from "react";
7300
+ import { OTPInput, OTPInputContext } from "input-otp";
7301
+
7302
+ // ../../node_modules/.pnpm/lucide-react@0.379.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
7303
+ import { forwardRef as forwardRef25, createElement as createElement25 } from "react";
7304
+
7305
+ // ../../node_modules/.pnpm/lucide-react@0.379.0_react@18.3.1/node_modules/lucide-react/dist/esm/shared/src/utils.js
7306
+ var toKebabCase = (string9) => string9.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
7307
+ var mergeClasses = (...classes) => classes.filter((className, index, array) => {
7308
+ return Boolean(className) && array.indexOf(className) === index;
7309
+ }).join(" ");
7310
+
7311
+ // ../../node_modules/.pnpm/lucide-react@0.379.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
7312
+ import { forwardRef as forwardRef24, createElement as createElement24 } from "react";
7313
+
7314
+ // ../../node_modules/.pnpm/lucide-react@0.379.0_react@18.3.1/node_modules/lucide-react/dist/esm/defaultAttributes.js
7315
+ var defaultAttributes = {
7316
+ xmlns: "http://www.w3.org/2000/svg",
7317
+ width: 24,
7318
+ height: 24,
7319
+ viewBox: "0 0 24 24",
7320
+ fill: "none",
7321
+ stroke: "currentColor",
7322
+ strokeWidth: 2,
7323
+ strokeLinecap: "round",
7324
+ strokeLinejoin: "round"
7325
+ };
7326
+
7327
+ // ../../node_modules/.pnpm/lucide-react@0.379.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
7328
+ var Icon = forwardRef24(
7329
+ ({
7330
+ color = "currentColor",
7331
+ size = 24,
7332
+ strokeWidth = 2,
7333
+ absoluteStrokeWidth,
7334
+ className = "",
7335
+ children,
7336
+ iconNode,
7337
+ ...rest
7338
+ }, ref) => {
7339
+ return createElement24(
7340
+ "svg",
7414
7341
  {
7415
- key: index,
7416
- type: "text",
7417
- maxLength: 1,
7418
- value,
7419
- inputMode: "numeric",
7420
- id: `input-${index}`,
7421
- pattern: "[0-9]*",
7422
- className: cn(
7423
- "hawa-h-10 hawa-rounded hawa-border hawa-bg-background hawa-text-center placeholder:hawa-text-muted-foreground",
7424
- width === "full" ? "hawa-w-full" : "hawa-w-10"
7425
- ),
7426
- onChange: (e) => handleChange(e, index),
7427
- onKeyDown: (e) => handleKeyDown(e, index),
7428
- onFocus: (e) => e.target.select(),
7429
- ...inputProps
7430
- }
7431
- ))
7432
- ), /* @__PURE__ */ React51.createElement(
7433
- "p",
7342
+ ref,
7343
+ ...defaultAttributes,
7344
+ width: size,
7345
+ height: size,
7346
+ stroke: color,
7347
+ strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
7348
+ className: mergeClasses("lucide", className),
7349
+ ...rest
7350
+ },
7351
+ [
7352
+ ...iconNode.map(([tag, attrs]) => createElement24(tag, attrs)),
7353
+ ...Array.isArray(children) ? children : [children]
7354
+ ]
7355
+ );
7356
+ }
7357
+ );
7358
+
7359
+ // ../../node_modules/.pnpm/lucide-react@0.379.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
7360
+ var createLucideIcon = (iconName, iconNode) => {
7361
+ const Component = forwardRef25(
7362
+ ({ className, ...props }, ref) => createElement25(Icon, {
7363
+ ref,
7364
+ iconNode,
7365
+ className: mergeClasses(`lucide-${toKebabCase(iconName)}`, className),
7366
+ ...props
7367
+ })
7368
+ );
7369
+ Component.displayName = `${iconName}`;
7370
+ return Component;
7371
+ };
7372
+
7373
+ // ../../node_modules/.pnpm/lucide-react@0.379.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/dot.js
7374
+ var Dot = createLucideIcon("Dot", [
7375
+ ["circle", { cx: "12.1", cy: "12.1", r: "1", key: "18d7e5" }]
7376
+ ]);
7377
+
7378
+ // elements/pinInput/PinInput.tsx
7379
+ var PinInputRoot = React51.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ React51.createElement(
7380
+ OTPInput,
7381
+ {
7382
+ ref,
7383
+ containerClassName: cn(
7384
+ "hawa-flex hawa-items-center hawa-gap-2 has-[:disabled]:hawa-opacity-50",
7385
+ containerClassName
7386
+ ),
7387
+ className: cn("disabled:hawa-cursor-not-allowed", className),
7388
+ ...props
7389
+ }
7390
+ ));
7391
+ PinInputRoot.displayName = "PinInputRoot";
7392
+ var PinInputGroup = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React51.createElement(
7393
+ "div",
7394
+ {
7395
+ ref,
7396
+ className: cn("hawa-flex hawa-items-center", className),
7397
+ ...props
7398
+ }
7399
+ ));
7400
+ PinInputGroup.displayName = "PinInputGroup";
7401
+ var PinInputSlot = React51.forwardRef(({ index, className, ...props }, ref) => {
7402
+ const pinInputContext = React51.useContext(OTPInputContext);
7403
+ const { char, hasFakeCaret, isActive } = pinInputContext.slots[index];
7404
+ return /* @__PURE__ */ React51.createElement(
7405
+ "div",
7434
7406
  {
7407
+ ref,
7435
7408
  className: cn(
7436
- "hawa-my-0 hawa-text-start hawa-text-xs hawa-text-helper-color hawa-transition-all",
7437
- props.helperText ? "hawa-h-4 hawa-opacity-100" : "hawa-h-0 hawa-opacity-0"
7438
- )
7409
+ "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",
7410
+ isActive && "hawa-ring-ring hawa-ring-offset-background hawa-z-10 hawa-ring-2",
7411
+ className
7412
+ ),
7413
+ ...props
7439
7414
  },
7440
- props.helperText
7441
- ));
7415
+ char,
7416
+ hasFakeCaret && /* @__PURE__ */ React51.createElement("div", { className: "hawa-pointer-events-none hawa-absolute hawa-inset-0 hawa-flex hawa-items-center hawa-justify-center" }, /* @__PURE__ */ React51.createElement("div", { className: "hawa-animate-caret-blink hawa-bg-foreground hawa-h-4 hawa-w-px hawa-duration-1000" }))
7417
+ );
7418
+ });
7419
+ PinInputSlot.displayName = "PinInputSlot";
7420
+ var PinInputSeperator = React51.forwardRef(({ ...props }, ref) => /* @__PURE__ */ React51.createElement("div", { ref, role: "separator", ...props }, /* @__PURE__ */ React51.createElement(Dot, null)));
7421
+ PinInputSeperator.displayName = "PinInputSeperator";
7422
+ var PinInput = ({
7423
+ separatorPosition = 0,
7424
+ ...props
7425
+ }) => {
7426
+ const maxLength = props.maxLength || 6;
7427
+ const clampedSeparatorPosition = Math.min(separatorPosition, maxLength);
7428
+ const firstGroupLength = clampedSeparatorPosition > 0 ? clampedSeparatorPosition : 0;
7429
+ const secondGroupLength = maxLength - firstGroupLength;
7430
+ return /* @__PURE__ */ React51.createElement("div", { className: "hawa-flex hawa-flex-col hawa-gap-2" }, /* @__PURE__ */ React51.createElement(PinInputRoot, { ...props }, firstGroupLength > 0 && /* @__PURE__ */ React51.createElement(PinInputGroup, { className: "hawa-w-full" }, [...Array(firstGroupLength)].map((_, index) => /* @__PURE__ */ React51.createElement(PinInputSlot, { key: index, index, className: "hawa-w-full" }))), separatorPosition > 0 && separatorPosition < props.maxLength && /* @__PURE__ */ React51.createElement(PinInputSeperator, null), secondGroupLength > 0 && /* @__PURE__ */ React51.createElement(PinInputGroup, { className: "hawa-w-full" }, [...Array(secondGroupLength)].map((_, index) => /* @__PURE__ */ React51.createElement(
7431
+ PinInputSlot,
7432
+ {
7433
+ key: index + firstGroupLength,
7434
+ index: index + firstGroupLength,
7435
+ className: "hawa-w-full"
7436
+ }
7437
+ )))), /* @__PURE__ */ React51.createElement(HelperText, { helperText: props.helperText }));
7442
7438
  };
7443
7439
 
7444
7440
  // elements/stopPropagationWrapper/StopPropagationWrapper.tsx
@@ -7452,8 +7448,8 @@ var StopPropagationWrapper = (props) => {
7452
7448
 
7453
7449
  // elements/colorPicker/ColorPicker.tsx
7454
7450
  import React53, {
7455
- useState as useState30,
7456
- useEffect as useEffect28
7451
+ useState as useState29,
7452
+ useEffect as useEffect27
7457
7453
  } from "react";
7458
7454
  var ColorPicker = ({
7459
7455
  containerProps,
@@ -7465,8 +7461,8 @@ var ColorPicker = ({
7465
7461
  preview = false,
7466
7462
  ...props
7467
7463
  }) => {
7468
- const [selectedColor, setSelectedColor] = useState30(props.color);
7469
- useEffect28(() => {
7464
+ const [selectedColor, setSelectedColor] = useState29(props.color);
7465
+ useEffect27(() => {
7470
7466
  if (selectedColor && selectedColor[0] !== "#") {
7471
7467
  setSelectedColor(`#${selectedColor}`);
7472
7468
  }
@@ -7527,16 +7523,7 @@ var ColorPicker = ({
7527
7523
  },
7528
7524
  ...textInputProps
7529
7525
  }
7530
- ))), !forceHideHelperText && /* @__PURE__ */ React53.createElement(
7531
- "p",
7532
- {
7533
- className: cn(
7534
- "hawa-my-0 hawa-text-start hawa-text-xs hawa-text-helper-color hawa-transition-all",
7535
- props.helperText ? "hawa-h-4 hawa-opacity-100" : "hawa-h-0 hawa-opacity-0"
7536
- )
7537
- },
7538
- props.helperText
7539
- ));
7526
+ ))), !forceHideHelperText && /* @__PURE__ */ React53.createElement(HelperText, { helperText: props.helperText }));
7540
7527
  };
7541
7528
 
7542
7529
  // elements/progressCircle/ProgressCircle.tsx
@@ -7748,7 +7735,7 @@ var Pagination = ({
7748
7735
  };
7749
7736
 
7750
7737
  // elements/passwordInput/PasswordInput.tsx
7751
- import React59, { useEffect as useEffect29, useState as useState31 } from "react";
7738
+ import React59, { useEffect as useEffect28, useState as useState30 } from "react";
7752
7739
 
7753
7740
  // icons/Emojis.tsx
7754
7741
  import React56 from "react";
@@ -7985,16 +7972,16 @@ var PasswordInput = ({
7985
7972
  hidePopover,
7986
7973
  ...props
7987
7974
  }) => {
7988
- const [inputValue, setInputValue] = useState31("");
7989
- const [isInputFocused, setIsInputFocused] = useState31(false);
7990
- const [currentStr, setCurrentStr] = useState31(0);
7991
- const [passwordVisible, setPasswordVisible] = useState31(false);
7992
- const [lengthCriteriaMet, setLengthCriteriaMet] = useState31(false);
7993
- const [numberCriteriaMet, setNumberCriteriaMet] = useState31(false);
7994
- const [specialCharCriteriaMet, setSpecialCharCriteriaMet] = useState31(false);
7995
- const [lowercaseCriteriaMet, setLowercaseCriteriaMet] = useState31(false);
7996
- const [uppercaseCriteriaMet, setUppercaseCriteriaMet] = useState31(false);
7997
- useEffect29(() => {
7975
+ const [inputValue, setInputValue] = useState30("");
7976
+ const [isInputFocused, setIsInputFocused] = useState30(false);
7977
+ const [currentStr, setCurrentStr] = useState30(0);
7978
+ const [passwordVisible, setPasswordVisible] = useState30(false);
7979
+ const [lengthCriteriaMet, setLengthCriteriaMet] = useState30(false);
7980
+ const [numberCriteriaMet, setNumberCriteriaMet] = useState30(false);
7981
+ const [specialCharCriteriaMet, setSpecialCharCriteriaMet] = useState30(false);
7982
+ const [lowercaseCriteriaMet, setLowercaseCriteriaMet] = useState30(false);
7983
+ const [uppercaseCriteriaMet, setUppercaseCriteriaMet] = useState30(false);
7984
+ useEffect28(() => {
7998
7985
  const calculateStrength = () => {
7999
7986
  let strengthScore = 0;
8000
7987
  if (lengthCriteriaMet)
@@ -8195,12 +8182,12 @@ var Separator2 = ({
8195
8182
  );
8196
8183
 
8197
8184
  // elements/scrollIndicator/ScrollIndicator.tsx
8198
- import React63, { useState as useState32, useEffect as useEffect30 } from "react";
8185
+ import React63, { useState as useState31, useEffect as useEffect29 } from "react";
8199
8186
  var ScrollIndicator = ({
8200
8187
  anchor,
8201
8188
  inContainer = false
8202
8189
  }) => {
8203
- const [scrollPercentage, setScrollPercentage] = useState32(0);
8190
+ const [scrollPercentage, setScrollPercentage] = useState31(0);
8204
8191
  const onScroll = () => {
8205
8192
  const scrollElement = anchor.current;
8206
8193
  if (scrollElement) {
@@ -8211,7 +8198,7 @@ var ScrollIndicator = ({
8211
8198
  setScrollPercentage(percentageScrolled);
8212
8199
  }
8213
8200
  };
8214
- useEffect30(() => {
8201
+ useEffect29(() => {
8215
8202
  if (!anchor.current)
8216
8203
  return;
8217
8204
  anchor.current.addEventListener("scroll", onScroll);
@@ -8236,7 +8223,7 @@ var ScrollIndicator = ({
8236
8223
  };
8237
8224
 
8238
8225
  // elements/codeBlock/CodeBlock.tsx
8239
- import React64, { useState as useState33 } from "react";
8226
+ import React64, { useState as useState32 } from "react";
8240
8227
  import { Highlight, themes, Prism } from "prism-react-renderer";
8241
8228
  (typeof global !== "undefined" ? global : window).Prism = Prism;
8242
8229
  __require("prismjs/components/prism-bash");
@@ -8268,7 +8255,7 @@ var CodeBlock = ({
8268
8255
  ...props
8269
8256
  }) => {
8270
8257
  const clipboard = useClipboard();
8271
- const [selectedTab, setSelectedTab] = useState33(0);
8258
+ const [selectedTab, setSelectedTab] = useState32(0);
8272
8259
  const theme = themes.oceanicNext;
8273
8260
  let widthStyles = {
8274
8261
  full: "hawa-w-full",
@@ -8396,7 +8383,7 @@ var CodeBlock = ({
8396
8383
  };
8397
8384
 
8398
8385
  // elements/carousel/Carousel.tsx
8399
- import React65, { useEffect as useEffect31, useState as useState34 } from "react";
8386
+ import React65, { useEffect as useEffect30, useState as useState33 } from "react";
8400
8387
  import useEmblaCarousel2 from "embla-carousel-react";
8401
8388
  var Carousel = ({
8402
8389
  items,
@@ -8412,8 +8399,8 @@ var Carousel = ({
8412
8399
  direction,
8413
8400
  loop: autoplay ? true : (options == null ? void 0 : options.loop) || false
8414
8401
  });
8415
- const [selectedIndex, setSelectedIndex] = useState34(0);
8416
- useEffect31(() => {
8402
+ const [selectedIndex, setSelectedIndex] = useState33(0);
8403
+ useEffect30(() => {
8417
8404
  function selectHandler() {
8418
8405
  const index = emblaApi == null ? void 0 : emblaApi.selectedScrollSnap();
8419
8406
  setSelectedIndex(index || 0);
@@ -8423,7 +8410,7 @@ var Carousel = ({
8423
8410
  emblaApi == null ? void 0 : emblaApi.off("select", selectHandler);
8424
8411
  };
8425
8412
  }, [emblaApi]);
8426
- useEffect31(() => {
8413
+ useEffect30(() => {
8427
8414
  let autoplayTimer;
8428
8415
  if (autoplay && emblaApi) {
8429
8416
  autoplayTimer = setInterval(() => {
@@ -8727,14 +8714,14 @@ function Toaster(props) {
8727
8714
  }
8728
8715
 
8729
8716
  // elements/destroyableCard/DestroyableCard.tsx
8730
- import React69, { useRef as useRef19, useState as useState35 } from "react";
8717
+ import React69, { useRef as useRef19, useState as useState34 } from "react";
8731
8718
  var DestroyableCard = ({
8732
8719
  position = "bottom-right",
8733
8720
  fixed,
8734
8721
  direction,
8735
8722
  ...props
8736
8723
  }) => {
8737
- const [closed, setClosed] = useState35(false);
8724
+ const [closed, setClosed] = useState34(false);
8738
8725
  const popUpRef = useRef19(null);
8739
8726
  const boxPosition = {
8740
8727
  "bottom-right": "hawa-right-4 hawa-bottom-4",
@@ -8801,7 +8788,7 @@ var DestroyableCard = ({
8801
8788
  };
8802
8789
 
8803
8790
  // elements/interfaceSettings/InterfaceSettings.tsx
8804
- import React70, { useState as useState36 } from "react";
8791
+ import React70, { useState as useState35 } from "react";
8805
8792
  var InterfaceSettings = ({
8806
8793
  orientation = "horizontal",
8807
8794
  width = "default",
@@ -8809,8 +8796,8 @@ var InterfaceSettings = ({
8809
8796
  handleLanguage,
8810
8797
  ...props
8811
8798
  }) => {
8812
- const [color, setColor] = useState36(props.currentColorMode);
8813
- const [language, setLanguage] = useState36(props.currentLanguage);
8799
+ const [color, setColor] = useState35(props.currentColorMode);
8800
+ const [language, setLanguage] = useState35(props.currentLanguage);
8814
8801
  let orientationStyle = {
8815
8802
  horizontal: "hawa-flex hawa-flex-row hawa-justify-between",
8816
8803
  vertical: "hawa-flex hawa-flex-col hawa-items-center hawa-gap-2"
@@ -9151,7 +9138,7 @@ var Copyrights = (props) => {
9151
9138
  };
9152
9139
 
9153
9140
  // layout/navbar/Navbar.tsx
9154
- import React75, { useState as useState37 } from "react";
9141
+ import React75, { useState as useState36 } from "react";
9155
9142
 
9156
9143
  // elements/collapsible/Collapsible.tsx
9157
9144
  import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
@@ -9167,7 +9154,7 @@ var Navbar = ({
9167
9154
  ...props
9168
9155
  }) => {
9169
9156
  var _a, _b;
9170
- const [isOpen, setIsOpen] = useState37(false);
9157
+ const [isOpen, setIsOpen] = useState36(false);
9171
9158
  return /* @__PURE__ */ React75.createElement("nav", { className: " hawa-sticky hawa-top-2 hawa-transition-all" }, /* @__PURE__ */ React75.createElement(
9172
9159
  Collapsible,
9173
9160
  {
@@ -9271,7 +9258,7 @@ var Navbar = ({
9271
9258
  };
9272
9259
 
9273
9260
  // layout/appLayout/AppLayout.tsx
9274
- import React76, { useEffect as useEffect32, useState as useState38 } from "react";
9261
+ import React76, { useEffect as useEffect31, useState as useState37 } from "react";
9275
9262
  import * as Dialog3 from "@radix-ui/react-dialog";
9276
9263
  var LOCAL_STORAGE_KEY2 = "@sikka/hawa/keep-drawer-open";
9277
9264
  var AppLayout = ({
@@ -9290,7 +9277,7 @@ var AppLayout = ({
9290
9277
  ...props
9291
9278
  }) => {
9292
9279
  var _a, _b;
9293
- useEffect32(() => {
9280
+ useEffect31(() => {
9294
9281
  let isDrawerOpen = localStorage.getItem(LOCAL_STORAGE_KEY2);
9295
9282
  if (isDrawerOpen === null) {
9296
9283
  localStorage.setItem(LOCAL_STORAGE_KEY2, JSON.stringify(false));
@@ -9307,16 +9294,16 @@ var AppLayout = ({
9307
9294
  }
9308
9295
  };
9309
9296
  const isRTL = direction === "rtl";
9310
- const [openedSidebarItem, setOpenedSidebarItem] = useState38("");
9311
- const [size, setSize] = useState38(
9297
+ const [openedSidebarItem, setOpenedSidebarItem] = useState37("");
9298
+ const [size, setSize] = useState37(
9312
9299
  typeof window !== "undefined" && window.innerWidth || 1200
9313
9300
  );
9314
- const [openSideMenu, setOpenSideMenu] = useState38(() => {
9301
+ const [openSideMenu, setOpenSideMenu] = useState37(() => {
9315
9302
  const savedState = localStorage.getItem(LOCAL_STORAGE_KEY2);
9316
9303
  return savedState ? JSON.parse(savedState) : false;
9317
9304
  });
9318
9305
  const [container, setContainer] = React76.useState(null);
9319
- const [keepDrawerOpen, setKeepDrawerOpen] = useState38(() => {
9306
+ const [keepDrawerOpen, setKeepDrawerOpen] = useState37(() => {
9320
9307
  const savedState = localStorage.getItem(LOCAL_STORAGE_KEY2);
9321
9308
  return savedState ? JSON.parse(savedState) : false;
9322
9309
  });
@@ -9329,7 +9316,7 @@ var AppLayout = ({
9329
9316
  }
9330
9317
  };
9331
9318
  const ref = useClickOutside(handleClickOutside);
9332
- useEffect32(() => {
9319
+ useEffect31(() => {
9333
9320
  if (typeof window !== "undefined") {
9334
9321
  const resize = () => {
9335
9322
  setSize(window.innerWidth);
@@ -9346,13 +9333,13 @@ var AppLayout = ({
9346
9333
  };
9347
9334
  }
9348
9335
  }, []);
9349
- useEffect32(() => {
9336
+ useEffect31(() => {
9350
9337
  setKeepDrawerOpen(() => {
9351
9338
  const savedState = localStorage.getItem(LOCAL_STORAGE_KEY2);
9352
9339
  return savedState ? JSON.parse(savedState) : true;
9353
9340
  });
9354
9341
  }, [setKeepDrawerOpen]);
9355
- useEffect32(() => {
9342
+ useEffect31(() => {
9356
9343
  if (size > 600) {
9357
9344
  setOpenSideMenu(keepDrawerOpen);
9358
9345
  } else {
@@ -9921,9 +9908,9 @@ var MenubarShortcut = ({
9921
9908
  MenubarShortcut.displayname = "MenubarShortcut";
9922
9909
 
9923
9910
  // layout/appTabs/AppTabs.tsx
9924
- import React79, { useState as useState39 } from "react";
9911
+ import React79, { useState as useState38 } from "react";
9925
9912
  var AppTabs = ({ tabs, className }) => {
9926
- const [selectedIndex, setSelectedIndex] = useState39(0);
9913
+ const [selectedIndex, setSelectedIndex] = useState38(0);
9927
9914
  return /* @__PURE__ */ React79.createElement(
9928
9915
  "div",
9929
9916
  {
@@ -9965,7 +9952,7 @@ var AppTabs = ({ tabs, className }) => {
9965
9952
  };
9966
9953
 
9967
9954
  // layout/docsLayout/DocsLayout.tsx
9968
- import React81, { useEffect as useEffect33, useRef as useRef21, useState as useState40 } from "react";
9955
+ import React81, { useEffect as useEffect32, useRef as useRef21, useState as useState39 } from "react";
9969
9956
 
9970
9957
  // layout/docsSidebar/DocsSidebar.tsx
9971
9958
  import React80 from "react";
@@ -10061,9 +10048,9 @@ var DocsLayout = ({
10061
10048
  if (typeof window == "undefined") {
10062
10049
  size = 1200;
10063
10050
  }
10064
- const [currentPage, setCurrentPage] = useState40("Introduction");
10065
- const [openSideMenu, setOpenSideMenu] = useState40(true);
10066
- useEffect33(() => {
10051
+ const [currentPage, setCurrentPage] = useState39("Introduction");
10052
+ const [openSideMenu, setOpenSideMenu] = useState39(true);
10053
+ useEffect32(() => {
10067
10054
  const handleClickOutside = (event) => {
10068
10055
  if (ref.current && !ref.current.contains(event.target) && !openSideMenu) {
10069
10056
  setOpenSideMenu(false);
@@ -10074,7 +10061,7 @@ var DocsLayout = ({
10074
10061
  document.removeEventListener("click", handleClickOutside, true);
10075
10062
  };
10076
10063
  }, [openSideMenu]);
10077
- useEffect33(() => {
10064
+ useEffect32(() => {
10078
10065
  const handleResize = () => {
10079
10066
  setOpenSideMenu(window.innerWidth > 600 ? true : false);
10080
10067
  };
@@ -10091,7 +10078,7 @@ var DocsLayout = ({
10091
10078
  setCurrentPage(entry.target.id);
10092
10079
  }
10093
10080
  };
10094
- useEffect33(() => {
10081
+ useEffect32(() => {
10095
10082
  observerRef.current = new IntersectionObserver(handleIntersection, {
10096
10083
  threshold: 0.5
10097
10084
  // Adjust threshold as needed to determine when a section is in view
@@ -10333,7 +10320,7 @@ var AuthButtons = (props) => {
10333
10320
 
10334
10321
  // blocks/auth/LoginForm.tsx
10335
10322
  import React83 from "react";
10336
- import { useState as useState41 } from "react";
10323
+ import { useState as useState40 } from "react";
10337
10324
  import { Controller, useForm } from "react-hook-form";
10338
10325
  import { zodResolver } from "@hookform/resolvers/zod";
10339
10326
  import {
@@ -10350,7 +10337,7 @@ var LoginForm = ({
10350
10337
  ...props
10351
10338
  }) => {
10352
10339
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
10353
- const [passwordVisible, setPasswordVisible] = useState41(false);
10340
+ const [passwordVisible, setPasswordVisible] = useState40(false);
10354
10341
  const thirdPartyAuthTexts = {
10355
10342
  continueWithGoogle: texts == null ? void 0 : texts.continueWithGoogle,
10356
10343
  continueWithTwitter: texts == null ? void 0 : texts.continueWithTwitter,
@@ -10669,7 +10656,7 @@ var LoginForm = ({
10669
10656
  };
10670
10657
 
10671
10658
  // blocks/auth/RegisterForm.tsx
10672
- import React84, { useState as useState42 } from "react";
10659
+ import React84, { useState as useState41 } from "react";
10673
10660
  import { Controller as Controller2, FormProvider, useForm as useForm2 } from "react-hook-form";
10674
10661
  import { zodResolver as zodResolver2 } from "@hookform/resolvers/zod";
10675
10662
  import * as z2 from "zod";
@@ -10681,7 +10668,7 @@ var RegisterForm = ({
10681
10668
  ...props
10682
10669
  }) => {
10683
10670
  var _a, _b, _c, _d, _e, _f, _g, _h;
10684
- const [passwordVisible, setPasswordVisible] = useState42(false);
10671
+ const [passwordVisible, setPasswordVisible] = useState41(false);
10685
10672
  const thirdPartyAuthTexts = {
10686
10673
  continueWithGoogle: texts == null ? void 0 : texts.continueWithGoogle,
10687
10674
  continueWithTwitter: texts == null ? void 0 : texts.continueWithTwitter,
@@ -11302,21 +11289,24 @@ var ResetPasswordForm = ({
11302
11289
  };
11303
11290
 
11304
11291
  // blocks/auth/CodeConfirmation.tsx
11305
- import React89, { useEffect as useEffect34, useState as useState43 } from "react";
11292
+ import React89, { useEffect as useEffect33, useState as useState42 } from "react";
11306
11293
  import { Controller as Controller5, useForm as useForm5 } from "react-hook-form";
11307
11294
  import { zodResolver as zodResolver5 } from "@hookform/resolvers/zod";
11308
11295
  import * as z5 from "zod";
11309
- var CodeConfirmation = (props) => {
11296
+ var CodeConfirmation = ({
11297
+ codeLength = 6,
11298
+ ...props
11299
+ }) => {
11310
11300
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
11311
11301
  const formSchema = z5.object({
11312
- otp_code: z5.string({ required_error: (_a = props.texts) == null ? void 0 : _a.codeRequiredText }).min(6, { message: (_b = props.texts) == null ? void 0 : _b.codeTooShort })
11302
+ otp_code: z5.string({ required_error: (_a = props.texts) == null ? void 0 : _a.codeRequiredText }).min(codeLength, { message: (_b = props.texts) == null ? void 0 : _b.codeTooShort })
11313
11303
  });
11314
11304
  const { handleSubmit, control, formState, setValue } = useForm5({
11315
11305
  resolver: zodResolver5(formSchema)
11316
11306
  });
11317
- const [resendTimer, setResendTimer] = useState43(null);
11318
- const [remainingTime, setRemainingTime] = useState43(0);
11319
- const [showResendTimer, setShowResendTimer] = useState43(false);
11307
+ const [resendTimer, setResendTimer] = useState42(null);
11308
+ const [remainingTime, setRemainingTime] = useState42(0);
11309
+ const [showResendTimer, setShowResendTimer] = useState42(false);
11320
11310
  const startResendTimer = () => {
11321
11311
  if (resendTimer !== null) {
11322
11312
  clearInterval(resendTimer);
@@ -11338,7 +11328,7 @@ var CodeConfirmation = (props) => {
11338
11328
  }, 1e3);
11339
11329
  setResendTimer(newTimer);
11340
11330
  };
11341
- useEffect34(() => {
11331
+ useEffect33(() => {
11342
11332
  return () => {
11343
11333
  if (resendTimer !== null) {
11344
11334
  clearInterval(resendTimer);
@@ -11376,10 +11366,9 @@ var CodeConfirmation = (props) => {
11376
11366
  return /* @__PURE__ */ React89.createElement(
11377
11367
  PinInput,
11378
11368
  {
11379
- width: "full",
11380
- digits: 6,
11381
- getPins: (e) => setValue("otp_code", e.join("")),
11382
- helperText: (_a2 = formState.errors.otp_code) == null ? void 0 : _a2.message
11369
+ maxLength: codeLength,
11370
+ helperText: (_a2 = formState.errors.otp_code) == null ? void 0 : _a2.message,
11371
+ ...field
11383
11372
  }
11384
11373
  );
11385
11374
  }
@@ -11401,7 +11390,7 @@ var CodeConfirmation = (props) => {
11401
11390
  };
11402
11391
 
11403
11392
  // blocks/feedback/UserReferralSource.tsx
11404
- import React90, { useRef as useRef22, useState as useState44 } from "react";
11393
+ import React90, { useRef as useRef22, useState as useState43 } from "react";
11405
11394
  import { Controller as Controller6, useForm as useForm6 } from "react-hook-form";
11406
11395
  import { zodResolver as zodResolver6 } from "@hookform/resolvers/zod";
11407
11396
  import * as z6 from "zod";
@@ -11411,7 +11400,7 @@ var UserReferralSource = ({
11411
11400
  ...props
11412
11401
  }) => {
11413
11402
  var _a, _b;
11414
- const [closed, setClosed] = useState44(false);
11403
+ const [closed, setClosed] = useState43(false);
11415
11404
  const popUpRef = useRef22(null);
11416
11405
  const formSchema = z6.object({
11417
11406
  source: z6.string({ required_error: (_a = props.texts) == null ? void 0 : _a.pleaseSelectOption }),
@@ -11559,21 +11548,21 @@ var UserReferralSource = ({
11559
11548
  };
11560
11549
 
11561
11550
  // blocks/feedback/FeedbackRating.tsx
11562
- import React91, { useEffect as useEffect35, useRef as useRef23, useState as useState45 } from "react";
11551
+ import React91, { useEffect as useEffect34, useRef as useRef23, useState as useState44 } from "react";
11563
11552
  var FeedbackRating = ({
11564
11553
  position = "bottom-right",
11565
11554
  ...props
11566
11555
  }) => {
11567
- const [closed, setClosed] = useState45(false);
11568
- const [answered, setAnswered] = useState45(false);
11569
- const [clickedOption, setClickedOption] = useState45(null);
11570
- const [closingTimer, setClosingTimer] = useState45(5);
11556
+ const [closed, setClosed] = useState44(false);
11557
+ const [answered, setAnswered] = useState44(false);
11558
+ const [clickedOption, setClickedOption] = useState44(null);
11559
+ const [closingTimer, setClosingTimer] = useState44(5);
11571
11560
  const popUpRef = useRef23(null);
11572
11561
  const boxPosition = {
11573
11562
  "bottom-right": "hawa-right-4",
11574
11563
  "bottom-left": "hawa-left-4"
11575
11564
  };
11576
- useEffect35(() => {
11565
+ useEffect34(() => {
11577
11566
  const timeoutHide = setTimeout(() => {
11578
11567
  if (closingTimer >= 0) {
11579
11568
  setClosingTimer(closingTimer - 1);
@@ -11673,12 +11662,12 @@ var FeedbackRating = ({
11673
11662
  };
11674
11663
 
11675
11664
  // blocks/feedback/FeedbackEmoji.tsx
11676
- import React92, { useState as useState46 } from "react";
11665
+ import React92, { useState as useState45 } from "react";
11677
11666
  var FeedbackEmoji = (props) => {
11678
- const [selectedEmoji, setSelectedEmoji] = useState46(null);
11679
- const [loadingSubmit, setLoadingSubmit] = useState46(false);
11680
- const [feedbackText, setFeedbackText] = useState46("");
11681
- const [helperText, setHelperText] = useState46(false);
11667
+ const [selectedEmoji, setSelectedEmoji] = useState45(null);
11668
+ const [loadingSubmit, setLoadingSubmit] = useState45(false);
11669
+ const [feedbackText, setFeedbackText] = useState45("");
11670
+ const [helperText, setHelperText] = useState45(false);
11682
11671
  let emojis = [
11683
11672
  { icon: /* @__PURE__ */ React92.createElement(VeryGoodEmoji, null), value: "very-good" },
11684
11673
  { icon: /* @__PURE__ */ React92.createElement(GoodEmoji, null), value: "good" },
@@ -12242,9 +12231,9 @@ var ContactForm = ({
12242
12231
  import React107 from "react";
12243
12232
 
12244
12233
  // blocks/cards/ActionCard.tsx
12245
- import React102, { useState as useState47 } from "react";
12234
+ import React102, { useState as useState46 } from "react";
12246
12235
  var ActionCard = (props) => {
12247
- const [hovered, setHovered] = useState47(false);
12236
+ const [hovered, setHovered] = useState46(false);
12248
12237
  return /* @__PURE__ */ React102.createElement("div", { className: "hawa-flex hawa-h-full hawa-w-full hawa-flex-col hawa-gap-1" }, /* @__PURE__ */ React102.createElement(
12249
12238
  "div",
12250
12239
  {
@@ -12281,15 +12270,15 @@ var ActionCard = (props) => {
12281
12270
  };
12282
12271
 
12283
12272
  // blocks/cards/AdCard.tsx
12284
- import React103, { useState as useState48, useEffect as useEffect36, useRef as useRef24 } from "react";
12273
+ import React103, { useState as useState47, useEffect as useEffect35, useRef as useRef24 } from "react";
12285
12274
  var AdCard = ({
12286
12275
  orientation = "vertical",
12287
12276
  ...props
12288
12277
  }) => {
12289
12278
  const adRef = useRef24(null);
12290
- const [closed, setClosed] = useState48(false);
12279
+ const [closed, setClosed] = useState47(false);
12291
12280
  let duration = 0;
12292
- useEffect36(() => {
12281
+ useEffect35(() => {
12293
12282
  if (duration) {
12294
12283
  const timeoutHide = setTimeout(() => {
12295
12284
  setClosed(true);
@@ -12477,7 +12466,7 @@ var PricingCard = ({
12477
12466
  };
12478
12467
 
12479
12468
  // blocks/cards/ItemCard.tsx
12480
- import React105, { useEffect as useEffect37, useState as useState49 } from "react";
12469
+ import React105, { useEffect as useEffect36, useState as useState48 } from "react";
12481
12470
  var ItemCard = ({
12482
12471
  actions,
12483
12472
  counts,
@@ -12506,12 +12495,12 @@ var ItemCard = ({
12506
12495
  )
12507
12496
  };
12508
12497
  let headerActionsButtonStyle = "hawa-inline-block hawa-rounded hawa-p-1 hawa-text-sm hawa-text-gray-500 hover:hawa-bg-gray-100 focus:hawa-outline-none focus:hawa-ring-4 focus:hawa-ring-gray-200 dark:hawa-text-gray-400 dark:hover:hawa-bg-gray-700 dark:focus:hawa-ring-gray-700";
12509
- const [openActionHeader, setOpenActionHeader] = useState49(false);
12498
+ const [openActionHeader, setOpenActionHeader] = useState48(false);
12510
12499
  function handleOpenActionHeader(e) {
12511
12500
  e.stopPropagation();
12512
12501
  setOpenActionHeader(!openActionHeader);
12513
12502
  }
12514
- useEffect37(() => {
12503
+ useEffect36(() => {
12515
12504
  window.onclick = () => {
12516
12505
  if (openActionHeader) {
12517
12506
  setOpenActionHeader(false);
@@ -12838,9 +12827,9 @@ var ComparingPlans = (props) => {
12838
12827
  };
12839
12828
 
12840
12829
  // blocks/pricing/HorizontalPricing.tsx
12841
- import React109, { useState as useState50 } from "react";
12830
+ import React109, { useState as useState49 } from "react";
12842
12831
  var HorizontalPricing = (props) => {
12843
- const [selectedCard, setSelectedCard] = useState50("");
12832
+ const [selectedCard, setSelectedCard] = useState49("");
12844
12833
  let data = [
12845
12834
  { title: "basic", price: "$49", cycle: "/mo" },
12846
12835
  { title: "business", price: "$99", cycle: "/mo" },
@@ -13089,6 +13078,10 @@ export {
13089
13078
  PhoneInput,
13090
13079
  PhoneMockup,
13091
13080
  PinInput,
13081
+ PinInputGroup,
13082
+ PinInputRoot,
13083
+ PinInputSeperator,
13084
+ PinInputSlot,
13092
13085
  Popover,
13093
13086
  PopoverContent,
13094
13087
  PopoverPortal,
@@ -13172,3 +13165,53 @@ export {
13172
13165
  useToast,
13173
13166
  useWindowSize
13174
13167
  };
13168
+ /*! Bundled license information:
13169
+
13170
+ lucide-react/dist/esm/shared/src/utils.js:
13171
+ (**
13172
+ * @license lucide-react v0.379.0 - ISC
13173
+ *
13174
+ * This source code is licensed under the ISC license.
13175
+ * See the LICENSE file in the root directory of this source tree.
13176
+ *)
13177
+
13178
+ lucide-react/dist/esm/defaultAttributes.js:
13179
+ (**
13180
+ * @license lucide-react v0.379.0 - ISC
13181
+ *
13182
+ * This source code is licensed under the ISC license.
13183
+ * See the LICENSE file in the root directory of this source tree.
13184
+ *)
13185
+
13186
+ lucide-react/dist/esm/Icon.js:
13187
+ (**
13188
+ * @license lucide-react v0.379.0 - ISC
13189
+ *
13190
+ * This source code is licensed under the ISC license.
13191
+ * See the LICENSE file in the root directory of this source tree.
13192
+ *)
13193
+
13194
+ lucide-react/dist/esm/createLucideIcon.js:
13195
+ (**
13196
+ * @license lucide-react v0.379.0 - ISC
13197
+ *
13198
+ * This source code is licensed under the ISC license.
13199
+ * See the LICENSE file in the root directory of this source tree.
13200
+ *)
13201
+
13202
+ lucide-react/dist/esm/icons/dot.js:
13203
+ (**
13204
+ * @license lucide-react v0.379.0 - ISC
13205
+ *
13206
+ * This source code is licensed under the ISC license.
13207
+ * See the LICENSE file in the root directory of this source tree.
13208
+ *)
13209
+
13210
+ lucide-react/dist/esm/lucide-react.js:
13211
+ (**
13212
+ * @license lucide-react v0.379.0 - ISC
13213
+ *
13214
+ * This source code is licensed under the ISC license.
13215
+ * See the LICENSE file in the root directory of this source tree.
13216
+ *)
13217
+ */