@sikka/hawa 0.37.2-next → 0.38.1-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 (168) 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 +43 -19
  4. package/dist/alert/index.js.map +1 -1
  5. package/dist/alert/index.mjs +43 -19
  6. package/dist/alert/index.mjs.map +1 -1
  7. package/dist/appLayout/index.js +43 -19
  8. package/dist/appLayout/index.js.map +1 -1
  9. package/dist/appLayout/index.mjs +43 -19
  10. package/dist/appLayout/index.mjs.map +1 -1
  11. package/dist/backToTop/index.js +43 -19
  12. package/dist/backToTop/index.js.map +1 -1
  13. package/dist/backToTop/index.mjs +43 -19
  14. package/dist/backToTop/index.mjs.map +1 -1
  15. package/dist/blocks/auth/index.d.mts +1 -0
  16. package/dist/blocks/auth/index.d.ts +1 -0
  17. package/dist/blocks/auth/index.js +251 -143
  18. package/dist/blocks/auth/index.mjs +205 -102
  19. package/dist/blocks/feedback/index.js +47 -59
  20. package/dist/blocks/feedback/index.mjs +5 -5
  21. package/dist/blocks/index.d.mts +2 -1
  22. package/dist/blocks/index.d.ts +2 -1
  23. package/dist/blocks/index.js +501 -420
  24. package/dist/blocks/index.mjs +11 -9
  25. package/dist/blocks/misc/index.js +48 -51
  26. package/dist/blocks/misc/index.mjs +5 -5
  27. package/dist/blocks/pricing/index.js +47 -41
  28. package/dist/blocks/pricing/index.mjs +4 -4
  29. package/dist/button/index.d.mts +4 -0
  30. package/dist/button/index.d.ts +4 -0
  31. package/dist/button/index.js +43 -19
  32. package/dist/button/index.js.map +1 -1
  33. package/dist/button/index.mjs +43 -19
  34. package/dist/button/index.mjs.map +1 -1
  35. package/dist/calendar/index.js +43 -19
  36. package/dist/calendar/index.js.map +1 -1
  37. package/dist/calendar/index.mjs +43 -19
  38. package/dist/calendar/index.mjs.map +1 -1
  39. package/dist/checkbox/index.d.mts +1 -1
  40. package/dist/checkbox/index.d.ts +1 -1
  41. package/dist/checkbox/index.js.map +1 -1
  42. package/dist/checkbox/index.mjs.map +1 -1
  43. package/dist/{chunk-ZTUWU652.mjs → chunk-EZBHA2IL.mjs} +3 -3
  44. package/dist/{chunk-ODOCZAWC.mjs → chunk-F23GAE2P.mjs} +1 -1
  45. package/dist/{chunk-DS3AACQJ.mjs → chunk-IC5WYNKN.mjs} +1 -1
  46. package/dist/{chunk-QXH7ZDMN.mjs → chunk-RTK6REIK.mjs} +3 -11
  47. package/dist/{chunk-QYWOI3DO.mjs → chunk-UDJFVH2I.mjs} +204 -144
  48. package/dist/{chunk-BPHQFAWM.mjs → chunk-UJ5SXC3M.mjs} +3 -11
  49. package/dist/{chunk-PXGL7ZXQ.mjs → chunk-UMOBOCED.mjs} +44 -19
  50. package/dist/{chunk-RNFJAEEU.mjs → chunk-V7O5MQZQ.mjs} +44 -19
  51. package/dist/{chunk-BTDR3VAG.mjs → chunk-WDCKXU54.mjs} +4 -21
  52. package/dist/{chunk-MDHDHEPZ.mjs → chunk-XFSBC5VI.mjs} +3 -11
  53. package/dist/codeBlock/index.js +43 -19
  54. package/dist/codeBlock/index.js.map +1 -1
  55. package/dist/codeBlock/index.mjs +43 -19
  56. package/dist/codeBlock/index.mjs.map +1 -1
  57. package/dist/colorPicker/index.d.mts +1 -1
  58. package/dist/colorPicker/index.d.ts +1 -1
  59. package/dist/colorPicker/index.js +35 -31
  60. package/dist/colorPicker/index.js.map +1 -1
  61. package/dist/colorPicker/index.mjs +33 -29
  62. package/dist/colorPicker/index.mjs.map +1 -1
  63. package/dist/combobox/index.d.mts +1 -1
  64. package/dist/combobox/index.d.ts +1 -1
  65. package/dist/combobox/index.js +52 -48
  66. package/dist/combobox/index.js.map +1 -1
  67. package/dist/combobox/index.mjs +52 -48
  68. package/dist/combobox/index.mjs.map +1 -1
  69. package/dist/dataTable/index.js +44 -29
  70. package/dist/dataTable/index.js.map +1 -1
  71. package/dist/dataTable/index.mjs +44 -29
  72. package/dist/dataTable/index.mjs.map +1 -1
  73. package/dist/datePicker/index.d.mts +4 -0
  74. package/dist/datePicker/index.d.ts +4 -0
  75. package/dist/datePicker/index.js +44 -19
  76. package/dist/datePicker/index.js.map +1 -1
  77. package/dist/datePicker/index.mjs +44 -19
  78. package/dist/datePicker/index.mjs.map +1 -1
  79. package/dist/docsLayout/index.js +43 -19
  80. package/dist/docsLayout/index.js.map +1 -1
  81. package/dist/docsLayout/index.mjs +43 -19
  82. package/dist/docsLayout/index.mjs.map +1 -1
  83. package/dist/elements/index.d.mts +46 -21
  84. package/dist/elements/index.d.ts +46 -21
  85. package/dist/elements/index.js +378 -309
  86. package/dist/elements/index.mjs +14 -23
  87. package/dist/fileDropzone/index.js +43 -19
  88. package/dist/fileDropzone/index.js.map +1 -1
  89. package/dist/fileDropzone/index.mjs +43 -19
  90. package/dist/fileDropzone/index.mjs.map +1 -1
  91. package/dist/index.css +29 -3
  92. package/dist/index.d.mts +48 -22
  93. package/dist/index.d.ts +48 -22
  94. package/dist/index.js +808 -737
  95. package/dist/index.mjs +331 -264
  96. package/dist/input/index.d.mts +1 -1
  97. package/dist/input/index.d.ts +1 -1
  98. package/dist/input/index.js +46 -42
  99. package/dist/input/index.js.map +1 -1
  100. package/dist/input/index.mjs +45 -41
  101. package/dist/input/index.mjs.map +1 -1
  102. package/dist/interfaceSettings/index.js +64 -69
  103. package/dist/interfaceSettings/index.js.map +1 -1
  104. package/dist/interfaceSettings/index.mjs +57 -62
  105. package/dist/interfaceSettings/index.mjs.map +1 -1
  106. package/dist/layout/index.d.mts +1 -1
  107. package/dist/layout/index.d.ts +1 -1
  108. package/dist/layout/index.js +43 -19
  109. package/dist/layout/index.mjs +2 -2
  110. package/dist/passwordInput/index.js +70 -66
  111. package/dist/passwordInput/index.js.map +1 -1
  112. package/dist/passwordInput/index.mjs +59 -55
  113. package/dist/passwordInput/index.mjs.map +1 -1
  114. package/dist/phoneInput/index.js +50 -55
  115. package/dist/phoneInput/index.js.map +1 -1
  116. package/dist/phoneInput/index.mjs +47 -52
  117. package/dist/phoneInput/index.mjs.map +1 -1
  118. package/dist/pinInput/index.d.mts +37 -16
  119. package/dist/pinInput/index.d.ts +37 -16
  120. package/dist/pinInput/index.js +208 -78
  121. package/dist/pinInput/index.js.map +1 -1
  122. package/dist/pinInput/index.mjs +203 -77
  123. package/dist/pinInput/index.mjs.map +1 -1
  124. package/dist/radio/index.d.mts +1 -1
  125. package/dist/radio/index.d.ts +1 -1
  126. package/dist/radio/index.js +55 -60
  127. package/dist/radio/index.js.map +1 -1
  128. package/dist/radio/index.mjs +50 -55
  129. package/dist/radio/index.mjs.map +1 -1
  130. package/dist/scrollArea/index.js +2 -2
  131. package/dist/scrollArea/index.js.map +1 -1
  132. package/dist/scrollArea/index.mjs +2 -2
  133. package/dist/scrollArea/index.mjs.map +1 -1
  134. package/dist/select/index.d.mts +1 -1
  135. package/dist/select/index.d.ts +1 -1
  136. package/dist/select/index.js +43 -39
  137. package/dist/select/index.js.map +1 -1
  138. package/dist/select/index.mjs +43 -39
  139. package/dist/select/index.mjs.map +1 -1
  140. package/dist/signature/index.d.mts +1 -1
  141. package/dist/signature/index.d.ts +1 -1
  142. package/dist/signature/index.js.map +1 -1
  143. package/dist/signature/index.mjs.map +1 -1
  144. package/dist/sortButton/index.js +43 -19
  145. package/dist/sortButton/index.js.map +1 -1
  146. package/dist/sortButton/index.mjs +43 -19
  147. package/dist/sortButton/index.mjs.map +1 -1
  148. package/dist/splitButton/index.d.mts +4 -0
  149. package/dist/splitButton/index.d.ts +4 -0
  150. package/dist/splitButton/index.js +43 -19
  151. package/dist/splitButton/index.js.map +1 -1
  152. package/dist/splitButton/index.mjs +43 -19
  153. package/dist/splitButton/index.mjs.map +1 -1
  154. package/dist/stats/index.d.mts +1 -1
  155. package/dist/stats/index.d.ts +1 -1
  156. package/dist/stats/index.js.map +1 -1
  157. package/dist/stats/index.mjs.map +1 -1
  158. package/dist/tabs/index.js +2 -2
  159. package/dist/tabs/index.js.map +1 -1
  160. package/dist/tabs/index.mjs +2 -2
  161. package/dist/tabs/index.mjs.map +1 -1
  162. package/dist/textarea/index.d.mts +1 -1
  163. package/dist/textarea/index.d.ts +1 -1
  164. package/dist/textarea/index.js +34 -30
  165. package/dist/textarea/index.js.map +1 -1
  166. package/dist/textarea/index.mjs +34 -30
  167. package/dist/textarea/index.mjs.map +1 -1
  168. package/package.json +2 -1
package/dist/index.mjs CHANGED
@@ -2104,30 +2104,54 @@ var Button = React17.forwardRef(
2104
2104
  children,
2105
2105
  labelProps,
2106
2106
  showHelperText = false,
2107
+ inForm = false,
2107
2108
  ...props
2108
2109
  }, ref) => {
2109
2110
  const Comp = "button";
2110
2111
  const loadingColor = variant === "outline" || variant === "ghost" || variant === "neoBrutalism" ? "hawa-bg-primary" : "hawa-bg-primary-foreground";
2111
- return /* @__PURE__ */ React17.createElement("div", { className: "hawa-flex hawa-flex-col hawa-gap-2" }, label && /* @__PURE__ */ React17.createElement(Label2, { ...labelProps }, label), /* @__PURE__ */ React17.createElement(
2112
- Comp,
2113
- {
2114
- className: cn(
2115
- buttonVariants({ variant, size, className }),
2116
- centered && "hawa-justify-center"
2117
- ),
2118
- ref,
2119
- ...props
2120
- },
2121
- isLoading ? /* @__PURE__ */ React17.createElement(
2122
- Loading,
2112
+ if (inForm) {
2113
+ return /* @__PURE__ */ React17.createElement("div", { className: "hawa-flex hawa-flex-col hawa-gap-2" }, label && /* @__PURE__ */ React17.createElement(Label2, { ...labelProps }, label), /* @__PURE__ */ React17.createElement(
2114
+ Comp,
2123
2115
  {
2124
- design: size === "icon" || size === "smallIcon" ? "spinner" : "dots-pulse",
2125
- themeMode: variant === "outline" ? "light" : "dark",
2126
- color: loadingColor,
2127
- size: size === "sm" || size === "xs" ? "xs" : "button"
2128
- }
2129
- ) : children
2130
- ), showHelperText && /* @__PURE__ */ React17.createElement(HelperText, { helperText: props.helperText }));
2116
+ className: cn(
2117
+ buttonVariants({ variant, size, className }),
2118
+ centered && "hawa-justify-center"
2119
+ ),
2120
+ ref,
2121
+ ...props
2122
+ },
2123
+ isLoading ? /* @__PURE__ */ React17.createElement(
2124
+ Loading,
2125
+ {
2126
+ design: size === "icon" || size === "smallIcon" ? "spinner" : "dots-pulse",
2127
+ themeMode: variant === "outline" ? "light" : "dark",
2128
+ color: loadingColor,
2129
+ size: size === "sm" || size === "xs" ? "xs" : "button"
2130
+ }
2131
+ ) : children
2132
+ ), showHelperText && /* @__PURE__ */ React17.createElement(HelperText, { helperText: props.helperText }));
2133
+ } else {
2134
+ return /* @__PURE__ */ React17.createElement(
2135
+ Comp,
2136
+ {
2137
+ className: cn(
2138
+ buttonVariants({ variant, size, className }),
2139
+ centered && "hawa-justify-center"
2140
+ ),
2141
+ ref,
2142
+ ...props
2143
+ },
2144
+ isLoading ? /* @__PURE__ */ React17.createElement(
2145
+ Loading,
2146
+ {
2147
+ design: size === "icon" || size === "smallIcon" ? "spinner" : "dots-pulse",
2148
+ themeMode: variant === "outline" ? "light" : "dark",
2149
+ color: loadingColor,
2150
+ size: size === "sm" || size === "xs" ? "xs" : "button"
2151
+ }
2152
+ ) : children
2153
+ );
2154
+ }
2131
2155
  }
2132
2156
  );
2133
2157
  Button.displayName = "Button";
@@ -2538,16 +2562,7 @@ var Input = forwardRef12(
2538
2562
  inputProps == null ? void 0 : inputProps.className
2539
2563
  )
2540
2564
  }
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(
2565
+ )), !forceHideHelperText && /* @__PURE__ */ React21.createElement(HelperText, { helperText: props.helperText }), !props.disabled && forceHideHelperText && /* @__PURE__ */ React21.createElement(
2551
2566
  "div",
2552
2567
  {
2553
2568
  className: cn(
@@ -3362,16 +3377,7 @@ var Radio = forwardRef15(
3362
3377
  opt.label
3363
3378
  );
3364
3379
  })
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
- ));
3380
+ ), !forceHideHelperText && /* @__PURE__ */ React26.createElement(HelperText, { helperText: props.helperText }));
3375
3381
  case "bordered":
3376
3382
  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
3383
  "div",
@@ -3460,16 +3466,7 @@ var Radio = forwardRef15(
3460
3466
  },
3461
3467
  opt.label
3462
3468
  )
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
- ));
3469
+ ))), /* @__PURE__ */ React26.createElement(HelperText, { helperText: props.helperText }));
3473
3470
  }
3474
3471
  }
3475
3472
  );
@@ -3739,16 +3736,7 @@ var Combobox = React28.forwardRef(
3739
3736
  },
3740
3737
  /* @__PURE__ */ React28.createElement("path", { d: "m6 9 6 6 6-6" })
3741
3738
  )
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(
3739
+ ), /* @__PURE__ */ React28.createElement(HelperText, { helperText: props.helperText }))), /* @__PURE__ */ React28.createElement(
3752
3740
  PopoverContent,
3753
3741
  {
3754
3742
  sideOffset: 0,
@@ -3872,16 +3860,7 @@ var Textarea = React29.forwardRef(
3872
3860
  ref
3873
3861
  }
3874
3862
  ),
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))
3863
+ /* @__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
3864
  );
3886
3865
  }
3887
3866
  );
@@ -4807,7 +4786,7 @@ var ScrollArea = React41.forwardRef(({ className, children, orientation = "verti
4807
4786
  "div",
4808
4787
  {
4809
4788
  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",
4789
+ "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
4790
  showLeftFade ? "hawa-block" : "hawa-hidden"
4812
4791
  )
4813
4792
  }
@@ -4816,7 +4795,7 @@ var ScrollArea = React41.forwardRef(({ className, children, orientation = "verti
4816
4795
  "div",
4817
4796
  {
4818
4797
  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 ",
4798
+ "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
4799
  showRightFade ? "hawa-block" : "hawa-hidden"
4821
4800
  )
4822
4801
  }
@@ -5196,16 +5175,7 @@ var Select = ({
5196
5175
  onInputChange: (newValue, action) => props.onInputChange(newValue, action)
5197
5176
  }
5198
5177
  ),
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
- )
5178
+ !props.hideHelperText && /* @__PURE__ */ React43.createElement(HelperText, { helperText: props.helperText })
5209
5179
  );
5210
5180
  };
5211
5181
 
@@ -7346,99 +7316,149 @@ var PhoneInput = ({
7346
7316
  ),
7347
7317
  ...inputProps
7348
7318
  }
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
- ));
7319
+ ))), /* @__PURE__ */ React50.createElement(HelperText, { helperText: props.helperText }));
7359
7320
  };
7360
7321
 
7361
7322
  // 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",
7323
+ import * as React51 from "react";
7324
+ import { OTPInput, OTPInputContext } from "input-otp";
7325
+
7326
+ // ../../node_modules/.pnpm/lucide-react@0.379.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
7327
+ import { forwardRef as forwardRef25, createElement as createElement25 } from "react";
7328
+
7329
+ // ../../node_modules/.pnpm/lucide-react@0.379.0_react@18.3.1/node_modules/lucide-react/dist/esm/shared/src/utils.js
7330
+ var toKebabCase = (string9) => string9.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
7331
+ var mergeClasses = (...classes) => classes.filter((className, index, array) => {
7332
+ return Boolean(className) && array.indexOf(className) === index;
7333
+ }).join(" ");
7334
+
7335
+ // ../../node_modules/.pnpm/lucide-react@0.379.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
7336
+ import { forwardRef as forwardRef24, createElement as createElement24 } from "react";
7337
+
7338
+ // ../../node_modules/.pnpm/lucide-react@0.379.0_react@18.3.1/node_modules/lucide-react/dist/esm/defaultAttributes.js
7339
+ var defaultAttributes = {
7340
+ xmlns: "http://www.w3.org/2000/svg",
7341
+ width: 24,
7342
+ height: 24,
7343
+ viewBox: "0 0 24 24",
7344
+ fill: "none",
7345
+ stroke: "currentColor",
7346
+ strokeWidth: 2,
7347
+ strokeLinecap: "round",
7348
+ strokeLinejoin: "round"
7349
+ };
7350
+
7351
+ // ../../node_modules/.pnpm/lucide-react@0.379.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js
7352
+ var Icon = forwardRef24(
7353
+ ({
7354
+ color = "currentColor",
7355
+ size = 24,
7356
+ strokeWidth = 2,
7357
+ absoluteStrokeWidth,
7358
+ className = "",
7359
+ children,
7360
+ iconNode,
7361
+ ...rest
7362
+ }, ref) => {
7363
+ return createElement24(
7364
+ "svg",
7414
7365
  {
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",
7366
+ ref,
7367
+ ...defaultAttributes,
7368
+ width: size,
7369
+ height: size,
7370
+ stroke: color,
7371
+ strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
7372
+ className: mergeClasses("lucide", className),
7373
+ ...rest
7374
+ },
7375
+ [
7376
+ ...iconNode.map(([tag, attrs]) => createElement24(tag, attrs)),
7377
+ ...Array.isArray(children) ? children : [children]
7378
+ ]
7379
+ );
7380
+ }
7381
+ );
7382
+
7383
+ // ../../node_modules/.pnpm/lucide-react@0.379.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
7384
+ var createLucideIcon = (iconName, iconNode) => {
7385
+ const Component = forwardRef25(
7386
+ ({ className, ...props }, ref) => createElement25(Icon, {
7387
+ ref,
7388
+ iconNode,
7389
+ className: mergeClasses(`lucide-${toKebabCase(iconName)}`, className),
7390
+ ...props
7391
+ })
7392
+ );
7393
+ Component.displayName = `${iconName}`;
7394
+ return Component;
7395
+ };
7396
+
7397
+ // ../../node_modules/.pnpm/lucide-react@0.379.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/dot.js
7398
+ var Dot = createLucideIcon("Dot", [
7399
+ ["circle", { cx: "12.1", cy: "12.1", r: "1", key: "18d7e5" }]
7400
+ ]);
7401
+
7402
+ // elements/pinInput/PinInput.tsx
7403
+ var PinInputRoot = React51.forwardRef(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ React51.createElement(
7404
+ OTPInput,
7405
+ {
7406
+ ref,
7407
+ containerClassName: cn(
7408
+ "hawa-flex hawa-items-center hawa-gap-2 has-[:disabled]:hawa-opacity-50",
7409
+ containerClassName
7410
+ ),
7411
+ className: cn("disabled:hawa-cursor-not-allowed", className),
7412
+ ...props
7413
+ }
7414
+ ));
7415
+ PinInputRoot.displayName = "PinInputRoot";
7416
+ var PinInputGroup = React51.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React51.createElement(
7417
+ "div",
7418
+ {
7419
+ ref,
7420
+ className: cn("hawa-flex hawa-items-center", className),
7421
+ ...props
7422
+ }
7423
+ ));
7424
+ PinInputGroup.displayName = "PinInputGroup";
7425
+ var PinInputSlot = React51.forwardRef(({ index, className, ...props }, ref) => {
7426
+ const pinInputContext = React51.useContext(OTPInputContext);
7427
+ const { char, hasFakeCaret, isActive } = pinInputContext.slots[index];
7428
+ return /* @__PURE__ */ React51.createElement(
7429
+ "div",
7434
7430
  {
7431
+ ref,
7435
7432
  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
- )
7433
+ "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",
7434
+ isActive && "hawa-ring-ring hawa-ring-offset-background hawa-z-10 hawa-ring-2",
7435
+ className
7436
+ ),
7437
+ ...props
7439
7438
  },
7440
- props.helperText
7441
- ));
7439
+ char,
7440
+ 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" }))
7441
+ );
7442
+ });
7443
+ PinInputSlot.displayName = "PinInputSlot";
7444
+ var PinInputSeperator = React51.forwardRef(({ ...props }, ref) => /* @__PURE__ */ React51.createElement("div", { ref, role: "separator", ...props }, /* @__PURE__ */ React51.createElement(Dot, null)));
7445
+ PinInputSeperator.displayName = "PinInputSeperator";
7446
+ var PinInput = ({
7447
+ separatorPosition = 0,
7448
+ ...props
7449
+ }) => {
7450
+ const maxLength = props.maxLength || 6;
7451
+ const clampedSeparatorPosition = Math.min(separatorPosition, maxLength);
7452
+ const firstGroupLength = clampedSeparatorPosition > 0 ? clampedSeparatorPosition : 0;
7453
+ const secondGroupLength = maxLength - firstGroupLength;
7454
+ 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(
7455
+ PinInputSlot,
7456
+ {
7457
+ key: index + firstGroupLength,
7458
+ index: index + firstGroupLength,
7459
+ className: "hawa-w-full"
7460
+ }
7461
+ )))), /* @__PURE__ */ React51.createElement(HelperText, { helperText: props.helperText }));
7442
7462
  };
7443
7463
 
7444
7464
  // elements/stopPropagationWrapper/StopPropagationWrapper.tsx
@@ -7452,8 +7472,8 @@ var StopPropagationWrapper = (props) => {
7452
7472
 
7453
7473
  // elements/colorPicker/ColorPicker.tsx
7454
7474
  import React53, {
7455
- useState as useState30,
7456
- useEffect as useEffect28
7475
+ useState as useState29,
7476
+ useEffect as useEffect27
7457
7477
  } from "react";
7458
7478
  var ColorPicker = ({
7459
7479
  containerProps,
@@ -7465,8 +7485,8 @@ var ColorPicker = ({
7465
7485
  preview = false,
7466
7486
  ...props
7467
7487
  }) => {
7468
- const [selectedColor, setSelectedColor] = useState30(props.color);
7469
- useEffect28(() => {
7488
+ const [selectedColor, setSelectedColor] = useState29(props.color);
7489
+ useEffect27(() => {
7470
7490
  if (selectedColor && selectedColor[0] !== "#") {
7471
7491
  setSelectedColor(`#${selectedColor}`);
7472
7492
  }
@@ -7527,16 +7547,7 @@ var ColorPicker = ({
7527
7547
  },
7528
7548
  ...textInputProps
7529
7549
  }
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
- ));
7550
+ ))), !forceHideHelperText && /* @__PURE__ */ React53.createElement(HelperText, { helperText: props.helperText }));
7540
7551
  };
7541
7552
 
7542
7553
  // elements/progressCircle/ProgressCircle.tsx
@@ -7748,7 +7759,7 @@ var Pagination = ({
7748
7759
  };
7749
7760
 
7750
7761
  // elements/passwordInput/PasswordInput.tsx
7751
- import React59, { useEffect as useEffect29, useState as useState31 } from "react";
7762
+ import React59, { useEffect as useEffect28, useState as useState30 } from "react";
7752
7763
 
7753
7764
  // icons/Emojis.tsx
7754
7765
  import React56 from "react";
@@ -7985,16 +7996,16 @@ var PasswordInput = ({
7985
7996
  hidePopover,
7986
7997
  ...props
7987
7998
  }) => {
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(() => {
7999
+ const [inputValue, setInputValue] = useState30("");
8000
+ const [isInputFocused, setIsInputFocused] = useState30(false);
8001
+ const [currentStr, setCurrentStr] = useState30(0);
8002
+ const [passwordVisible, setPasswordVisible] = useState30(false);
8003
+ const [lengthCriteriaMet, setLengthCriteriaMet] = useState30(false);
8004
+ const [numberCriteriaMet, setNumberCriteriaMet] = useState30(false);
8005
+ const [specialCharCriteriaMet, setSpecialCharCriteriaMet] = useState30(false);
8006
+ const [lowercaseCriteriaMet, setLowercaseCriteriaMet] = useState30(false);
8007
+ const [uppercaseCriteriaMet, setUppercaseCriteriaMet] = useState30(false);
8008
+ useEffect28(() => {
7998
8009
  const calculateStrength = () => {
7999
8010
  let strengthScore = 0;
8000
8011
  if (lengthCriteriaMet)
@@ -8195,12 +8206,12 @@ var Separator2 = ({
8195
8206
  );
8196
8207
 
8197
8208
  // elements/scrollIndicator/ScrollIndicator.tsx
8198
- import React63, { useState as useState32, useEffect as useEffect30 } from "react";
8209
+ import React63, { useState as useState31, useEffect as useEffect29 } from "react";
8199
8210
  var ScrollIndicator = ({
8200
8211
  anchor,
8201
8212
  inContainer = false
8202
8213
  }) => {
8203
- const [scrollPercentage, setScrollPercentage] = useState32(0);
8214
+ const [scrollPercentage, setScrollPercentage] = useState31(0);
8204
8215
  const onScroll = () => {
8205
8216
  const scrollElement = anchor.current;
8206
8217
  if (scrollElement) {
@@ -8211,7 +8222,7 @@ var ScrollIndicator = ({
8211
8222
  setScrollPercentage(percentageScrolled);
8212
8223
  }
8213
8224
  };
8214
- useEffect30(() => {
8225
+ useEffect29(() => {
8215
8226
  if (!anchor.current)
8216
8227
  return;
8217
8228
  anchor.current.addEventListener("scroll", onScroll);
@@ -8236,7 +8247,7 @@ var ScrollIndicator = ({
8236
8247
  };
8237
8248
 
8238
8249
  // elements/codeBlock/CodeBlock.tsx
8239
- import React64, { useState as useState33 } from "react";
8250
+ import React64, { useState as useState32 } from "react";
8240
8251
  import { Highlight, themes, Prism } from "prism-react-renderer";
8241
8252
  (typeof global !== "undefined" ? global : window).Prism = Prism;
8242
8253
  __require("prismjs/components/prism-bash");
@@ -8268,7 +8279,7 @@ var CodeBlock = ({
8268
8279
  ...props
8269
8280
  }) => {
8270
8281
  const clipboard = useClipboard();
8271
- const [selectedTab, setSelectedTab] = useState33(0);
8282
+ const [selectedTab, setSelectedTab] = useState32(0);
8272
8283
  const theme = themes.oceanicNext;
8273
8284
  let widthStyles = {
8274
8285
  full: "hawa-w-full",
@@ -8396,7 +8407,7 @@ var CodeBlock = ({
8396
8407
  };
8397
8408
 
8398
8409
  // elements/carousel/Carousel.tsx
8399
- import React65, { useEffect as useEffect31, useState as useState34 } from "react";
8410
+ import React65, { useEffect as useEffect30, useState as useState33 } from "react";
8400
8411
  import useEmblaCarousel2 from "embla-carousel-react";
8401
8412
  var Carousel = ({
8402
8413
  items,
@@ -8412,8 +8423,8 @@ var Carousel = ({
8412
8423
  direction,
8413
8424
  loop: autoplay ? true : (options == null ? void 0 : options.loop) || false
8414
8425
  });
8415
- const [selectedIndex, setSelectedIndex] = useState34(0);
8416
- useEffect31(() => {
8426
+ const [selectedIndex, setSelectedIndex] = useState33(0);
8427
+ useEffect30(() => {
8417
8428
  function selectHandler() {
8418
8429
  const index = emblaApi == null ? void 0 : emblaApi.selectedScrollSnap();
8419
8430
  setSelectedIndex(index || 0);
@@ -8423,7 +8434,7 @@ var Carousel = ({
8423
8434
  emblaApi == null ? void 0 : emblaApi.off("select", selectHandler);
8424
8435
  };
8425
8436
  }, [emblaApi]);
8426
- useEffect31(() => {
8437
+ useEffect30(() => {
8427
8438
  let autoplayTimer;
8428
8439
  if (autoplay && emblaApi) {
8429
8440
  autoplayTimer = setInterval(() => {
@@ -8727,14 +8738,14 @@ function Toaster(props) {
8727
8738
  }
8728
8739
 
8729
8740
  // elements/destroyableCard/DestroyableCard.tsx
8730
- import React69, { useRef as useRef19, useState as useState35 } from "react";
8741
+ import React69, { useRef as useRef19, useState as useState34 } from "react";
8731
8742
  var DestroyableCard = ({
8732
8743
  position = "bottom-right",
8733
8744
  fixed,
8734
8745
  direction,
8735
8746
  ...props
8736
8747
  }) => {
8737
- const [closed, setClosed] = useState35(false);
8748
+ const [closed, setClosed] = useState34(false);
8738
8749
  const popUpRef = useRef19(null);
8739
8750
  const boxPosition = {
8740
8751
  "bottom-right": "hawa-right-4 hawa-bottom-4",
@@ -8801,7 +8812,7 @@ var DestroyableCard = ({
8801
8812
  };
8802
8813
 
8803
8814
  // elements/interfaceSettings/InterfaceSettings.tsx
8804
- import React70, { useState as useState36 } from "react";
8815
+ import React70, { useState as useState35 } from "react";
8805
8816
  var InterfaceSettings = ({
8806
8817
  orientation = "horizontal",
8807
8818
  width = "default",
@@ -8809,8 +8820,8 @@ var InterfaceSettings = ({
8809
8820
  handleLanguage,
8810
8821
  ...props
8811
8822
  }) => {
8812
- const [color, setColor] = useState36(props.currentColorMode);
8813
- const [language, setLanguage] = useState36(props.currentLanguage);
8823
+ const [color, setColor] = useState35(props.currentColorMode);
8824
+ const [language, setLanguage] = useState35(props.currentLanguage);
8814
8825
  let orientationStyle = {
8815
8826
  horizontal: "hawa-flex hawa-flex-row hawa-justify-between",
8816
8827
  vertical: "hawa-flex hawa-flex-col hawa-items-center hawa-gap-2"
@@ -9151,7 +9162,7 @@ var Copyrights = (props) => {
9151
9162
  };
9152
9163
 
9153
9164
  // layout/navbar/Navbar.tsx
9154
- import React75, { useState as useState37 } from "react";
9165
+ import React75, { useState as useState36 } from "react";
9155
9166
 
9156
9167
  // elements/collapsible/Collapsible.tsx
9157
9168
  import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
@@ -9167,7 +9178,7 @@ var Navbar = ({
9167
9178
  ...props
9168
9179
  }) => {
9169
9180
  var _a, _b;
9170
- const [isOpen, setIsOpen] = useState37(false);
9181
+ const [isOpen, setIsOpen] = useState36(false);
9171
9182
  return /* @__PURE__ */ React75.createElement("nav", { className: " hawa-sticky hawa-top-2 hawa-transition-all" }, /* @__PURE__ */ React75.createElement(
9172
9183
  Collapsible,
9173
9184
  {
@@ -9271,7 +9282,7 @@ var Navbar = ({
9271
9282
  };
9272
9283
 
9273
9284
  // layout/appLayout/AppLayout.tsx
9274
- import React76, { useEffect as useEffect32, useState as useState38 } from "react";
9285
+ import React76, { useEffect as useEffect31, useState as useState37 } from "react";
9275
9286
  import * as Dialog3 from "@radix-ui/react-dialog";
9276
9287
  var LOCAL_STORAGE_KEY2 = "@sikka/hawa/keep-drawer-open";
9277
9288
  var AppLayout = ({
@@ -9290,7 +9301,7 @@ var AppLayout = ({
9290
9301
  ...props
9291
9302
  }) => {
9292
9303
  var _a, _b;
9293
- useEffect32(() => {
9304
+ useEffect31(() => {
9294
9305
  let isDrawerOpen = localStorage.getItem(LOCAL_STORAGE_KEY2);
9295
9306
  if (isDrawerOpen === null) {
9296
9307
  localStorage.setItem(LOCAL_STORAGE_KEY2, JSON.stringify(false));
@@ -9307,16 +9318,16 @@ var AppLayout = ({
9307
9318
  }
9308
9319
  };
9309
9320
  const isRTL = direction === "rtl";
9310
- const [openedSidebarItem, setOpenedSidebarItem] = useState38("");
9311
- const [size, setSize] = useState38(
9321
+ const [openedSidebarItem, setOpenedSidebarItem] = useState37("");
9322
+ const [size, setSize] = useState37(
9312
9323
  typeof window !== "undefined" && window.innerWidth || 1200
9313
9324
  );
9314
- const [openSideMenu, setOpenSideMenu] = useState38(() => {
9325
+ const [openSideMenu, setOpenSideMenu] = useState37(() => {
9315
9326
  const savedState = localStorage.getItem(LOCAL_STORAGE_KEY2);
9316
9327
  return savedState ? JSON.parse(savedState) : false;
9317
9328
  });
9318
9329
  const [container, setContainer] = React76.useState(null);
9319
- const [keepDrawerOpen, setKeepDrawerOpen] = useState38(() => {
9330
+ const [keepDrawerOpen, setKeepDrawerOpen] = useState37(() => {
9320
9331
  const savedState = localStorage.getItem(LOCAL_STORAGE_KEY2);
9321
9332
  return savedState ? JSON.parse(savedState) : false;
9322
9333
  });
@@ -9329,7 +9340,7 @@ var AppLayout = ({
9329
9340
  }
9330
9341
  };
9331
9342
  const ref = useClickOutside(handleClickOutside);
9332
- useEffect32(() => {
9343
+ useEffect31(() => {
9333
9344
  if (typeof window !== "undefined") {
9334
9345
  const resize = () => {
9335
9346
  setSize(window.innerWidth);
@@ -9346,13 +9357,13 @@ var AppLayout = ({
9346
9357
  };
9347
9358
  }
9348
9359
  }, []);
9349
- useEffect32(() => {
9360
+ useEffect31(() => {
9350
9361
  setKeepDrawerOpen(() => {
9351
9362
  const savedState = localStorage.getItem(LOCAL_STORAGE_KEY2);
9352
9363
  return savedState ? JSON.parse(savedState) : true;
9353
9364
  });
9354
9365
  }, [setKeepDrawerOpen]);
9355
- useEffect32(() => {
9366
+ useEffect31(() => {
9356
9367
  if (size > 600) {
9357
9368
  setOpenSideMenu(keepDrawerOpen);
9358
9369
  } else {
@@ -9921,9 +9932,9 @@ var MenubarShortcut = ({
9921
9932
  MenubarShortcut.displayname = "MenubarShortcut";
9922
9933
 
9923
9934
  // layout/appTabs/AppTabs.tsx
9924
- import React79, { useState as useState39 } from "react";
9935
+ import React79, { useState as useState38 } from "react";
9925
9936
  var AppTabs = ({ tabs, className }) => {
9926
- const [selectedIndex, setSelectedIndex] = useState39(0);
9937
+ const [selectedIndex, setSelectedIndex] = useState38(0);
9927
9938
  return /* @__PURE__ */ React79.createElement(
9928
9939
  "div",
9929
9940
  {
@@ -9965,7 +9976,7 @@ var AppTabs = ({ tabs, className }) => {
9965
9976
  };
9966
9977
 
9967
9978
  // layout/docsLayout/DocsLayout.tsx
9968
- import React81, { useEffect as useEffect33, useRef as useRef21, useState as useState40 } from "react";
9979
+ import React81, { useEffect as useEffect32, useRef as useRef21, useState as useState39 } from "react";
9969
9980
 
9970
9981
  // layout/docsSidebar/DocsSidebar.tsx
9971
9982
  import React80 from "react";
@@ -10061,9 +10072,9 @@ var DocsLayout = ({
10061
10072
  if (typeof window == "undefined") {
10062
10073
  size = 1200;
10063
10074
  }
10064
- const [currentPage, setCurrentPage] = useState40("Introduction");
10065
- const [openSideMenu, setOpenSideMenu] = useState40(true);
10066
- useEffect33(() => {
10075
+ const [currentPage, setCurrentPage] = useState39("Introduction");
10076
+ const [openSideMenu, setOpenSideMenu] = useState39(true);
10077
+ useEffect32(() => {
10067
10078
  const handleClickOutside = (event) => {
10068
10079
  if (ref.current && !ref.current.contains(event.target) && !openSideMenu) {
10069
10080
  setOpenSideMenu(false);
@@ -10074,7 +10085,7 @@ var DocsLayout = ({
10074
10085
  document.removeEventListener("click", handleClickOutside, true);
10075
10086
  };
10076
10087
  }, [openSideMenu]);
10077
- useEffect33(() => {
10088
+ useEffect32(() => {
10078
10089
  const handleResize = () => {
10079
10090
  setOpenSideMenu(window.innerWidth > 600 ? true : false);
10080
10091
  };
@@ -10091,7 +10102,7 @@ var DocsLayout = ({
10091
10102
  setCurrentPage(entry.target.id);
10092
10103
  }
10093
10104
  };
10094
- useEffect33(() => {
10105
+ useEffect32(() => {
10095
10106
  observerRef.current = new IntersectionObserver(handleIntersection, {
10096
10107
  threshold: 0.5
10097
10108
  // Adjust threshold as needed to determine when a section is in view
@@ -10333,7 +10344,7 @@ var AuthButtons = (props) => {
10333
10344
 
10334
10345
  // blocks/auth/LoginForm.tsx
10335
10346
  import React83 from "react";
10336
- import { useState as useState41 } from "react";
10347
+ import { useState as useState40 } from "react";
10337
10348
  import { Controller, useForm } from "react-hook-form";
10338
10349
  import { zodResolver } from "@hookform/resolvers/zod";
10339
10350
  import {
@@ -10350,7 +10361,7 @@ var LoginForm = ({
10350
10361
  ...props
10351
10362
  }) => {
10352
10363
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
10353
- const [passwordVisible, setPasswordVisible] = useState41(false);
10364
+ const [passwordVisible, setPasswordVisible] = useState40(false);
10354
10365
  const thirdPartyAuthTexts = {
10355
10366
  continueWithGoogle: texts == null ? void 0 : texts.continueWithGoogle,
10356
10367
  continueWithTwitter: texts == null ? void 0 : texts.continueWithTwitter,
@@ -10631,7 +10642,7 @@ var LoginForm = ({
10631
10642
  },
10632
10643
  (texts == null ? void 0 : texts.loginText) || "Login"
10633
10644
  ),
10634
- props.additionalButtons,
10645
+ props.additionalButtons && props.additionalButtons,
10635
10646
  props.allowRegister && /* @__PURE__ */ React83.createElement("div", { className: "hawa-select-none hawa-p-3 hawa-text-center hawa-text-sm hawa-font-normal dark:hawa-text-gray-300" }, (texts == null ? void 0 : texts.newUserText) || "New user?", " ", /* @__PURE__ */ React83.createElement(
10636
10647
  "span",
10637
10648
  {
@@ -10669,7 +10680,7 @@ var LoginForm = ({
10669
10680
  };
10670
10681
 
10671
10682
  // blocks/auth/RegisterForm.tsx
10672
- import React84, { useState as useState42 } from "react";
10683
+ import React84, { useState as useState41 } from "react";
10673
10684
  import { Controller as Controller2, FormProvider, useForm as useForm2 } from "react-hook-form";
10674
10685
  import { zodResolver as zodResolver2 } from "@hookform/resolvers/zod";
10675
10686
  import * as z2 from "zod";
@@ -10681,7 +10692,7 @@ var RegisterForm = ({
10681
10692
  ...props
10682
10693
  }) => {
10683
10694
  var _a, _b, _c, _d, _e, _f, _g, _h;
10684
- const [passwordVisible, setPasswordVisible] = useState42(false);
10695
+ const [passwordVisible, setPasswordVisible] = useState41(false);
10685
10696
  const thirdPartyAuthTexts = {
10686
10697
  continueWithGoogle: texts == null ? void 0 : texts.continueWithGoogle,
10687
10698
  continueWithTwitter: texts == null ? void 0 : texts.continueWithTwitter,
@@ -11302,21 +11313,24 @@ var ResetPasswordForm = ({
11302
11313
  };
11303
11314
 
11304
11315
  // blocks/auth/CodeConfirmation.tsx
11305
- import React89, { useEffect as useEffect34, useState as useState43 } from "react";
11316
+ import React89, { useEffect as useEffect33, useState as useState42 } from "react";
11306
11317
  import { Controller as Controller5, useForm as useForm5 } from "react-hook-form";
11307
11318
  import { zodResolver as zodResolver5 } from "@hookform/resolvers/zod";
11308
11319
  import * as z5 from "zod";
11309
- var CodeConfirmation = (props) => {
11320
+ var CodeConfirmation = ({
11321
+ codeLength = 6,
11322
+ ...props
11323
+ }) => {
11310
11324
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k;
11311
11325
  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 })
11326
+ 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
11327
  });
11314
11328
  const { handleSubmit, control, formState, setValue } = useForm5({
11315
11329
  resolver: zodResolver5(formSchema)
11316
11330
  });
11317
- const [resendTimer, setResendTimer] = useState43(null);
11318
- const [remainingTime, setRemainingTime] = useState43(0);
11319
- const [showResendTimer, setShowResendTimer] = useState43(false);
11331
+ const [resendTimer, setResendTimer] = useState42(null);
11332
+ const [remainingTime, setRemainingTime] = useState42(0);
11333
+ const [showResendTimer, setShowResendTimer] = useState42(false);
11320
11334
  const startResendTimer = () => {
11321
11335
  if (resendTimer !== null) {
11322
11336
  clearInterval(resendTimer);
@@ -11338,7 +11352,7 @@ var CodeConfirmation = (props) => {
11338
11352
  }, 1e3);
11339
11353
  setResendTimer(newTimer);
11340
11354
  };
11341
- useEffect34(() => {
11355
+ useEffect33(() => {
11342
11356
  return () => {
11343
11357
  if (resendTimer !== null) {
11344
11358
  clearInterval(resendTimer);
@@ -11376,10 +11390,9 @@ var CodeConfirmation = (props) => {
11376
11390
  return /* @__PURE__ */ React89.createElement(
11377
11391
  PinInput,
11378
11392
  {
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
11393
+ maxLength: codeLength,
11394
+ helperText: (_a2 = formState.errors.otp_code) == null ? void 0 : _a2.message,
11395
+ ...field
11383
11396
  }
11384
11397
  );
11385
11398
  }
@@ -11401,7 +11414,7 @@ var CodeConfirmation = (props) => {
11401
11414
  };
11402
11415
 
11403
11416
  // blocks/feedback/UserReferralSource.tsx
11404
- import React90, { useRef as useRef22, useState as useState44 } from "react";
11417
+ import React90, { useRef as useRef22, useState as useState43 } from "react";
11405
11418
  import { Controller as Controller6, useForm as useForm6 } from "react-hook-form";
11406
11419
  import { zodResolver as zodResolver6 } from "@hookform/resolvers/zod";
11407
11420
  import * as z6 from "zod";
@@ -11411,7 +11424,7 @@ var UserReferralSource = ({
11411
11424
  ...props
11412
11425
  }) => {
11413
11426
  var _a, _b;
11414
- const [closed, setClosed] = useState44(false);
11427
+ const [closed, setClosed] = useState43(false);
11415
11428
  const popUpRef = useRef22(null);
11416
11429
  const formSchema = z6.object({
11417
11430
  source: z6.string({ required_error: (_a = props.texts) == null ? void 0 : _a.pleaseSelectOption }),
@@ -11559,21 +11572,21 @@ var UserReferralSource = ({
11559
11572
  };
11560
11573
 
11561
11574
  // blocks/feedback/FeedbackRating.tsx
11562
- import React91, { useEffect as useEffect35, useRef as useRef23, useState as useState45 } from "react";
11575
+ import React91, { useEffect as useEffect34, useRef as useRef23, useState as useState44 } from "react";
11563
11576
  var FeedbackRating = ({
11564
11577
  position = "bottom-right",
11565
11578
  ...props
11566
11579
  }) => {
11567
- const [closed, setClosed] = useState45(false);
11568
- const [answered, setAnswered] = useState45(false);
11569
- const [clickedOption, setClickedOption] = useState45(null);
11570
- const [closingTimer, setClosingTimer] = useState45(5);
11580
+ const [closed, setClosed] = useState44(false);
11581
+ const [answered, setAnswered] = useState44(false);
11582
+ const [clickedOption, setClickedOption] = useState44(null);
11583
+ const [closingTimer, setClosingTimer] = useState44(5);
11571
11584
  const popUpRef = useRef23(null);
11572
11585
  const boxPosition = {
11573
11586
  "bottom-right": "hawa-right-4",
11574
11587
  "bottom-left": "hawa-left-4"
11575
11588
  };
11576
- useEffect35(() => {
11589
+ useEffect34(() => {
11577
11590
  const timeoutHide = setTimeout(() => {
11578
11591
  if (closingTimer >= 0) {
11579
11592
  setClosingTimer(closingTimer - 1);
@@ -11673,12 +11686,12 @@ var FeedbackRating = ({
11673
11686
  };
11674
11687
 
11675
11688
  // blocks/feedback/FeedbackEmoji.tsx
11676
- import React92, { useState as useState46 } from "react";
11689
+ import React92, { useState as useState45 } from "react";
11677
11690
  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);
11691
+ const [selectedEmoji, setSelectedEmoji] = useState45(null);
11692
+ const [loadingSubmit, setLoadingSubmit] = useState45(false);
11693
+ const [feedbackText, setFeedbackText] = useState45("");
11694
+ const [helperText, setHelperText] = useState45(false);
11682
11695
  let emojis = [
11683
11696
  { icon: /* @__PURE__ */ React92.createElement(VeryGoodEmoji, null), value: "very-good" },
11684
11697
  { icon: /* @__PURE__ */ React92.createElement(GoodEmoji, null), value: "good" },
@@ -12242,9 +12255,9 @@ var ContactForm = ({
12242
12255
  import React107 from "react";
12243
12256
 
12244
12257
  // blocks/cards/ActionCard.tsx
12245
- import React102, { useState as useState47 } from "react";
12258
+ import React102, { useState as useState46 } from "react";
12246
12259
  var ActionCard = (props) => {
12247
- const [hovered, setHovered] = useState47(false);
12260
+ const [hovered, setHovered] = useState46(false);
12248
12261
  return /* @__PURE__ */ React102.createElement("div", { className: "hawa-flex hawa-h-full hawa-w-full hawa-flex-col hawa-gap-1" }, /* @__PURE__ */ React102.createElement(
12249
12262
  "div",
12250
12263
  {
@@ -12281,15 +12294,15 @@ var ActionCard = (props) => {
12281
12294
  };
12282
12295
 
12283
12296
  // blocks/cards/AdCard.tsx
12284
- import React103, { useState as useState48, useEffect as useEffect36, useRef as useRef24 } from "react";
12297
+ import React103, { useState as useState47, useEffect as useEffect35, useRef as useRef24 } from "react";
12285
12298
  var AdCard = ({
12286
12299
  orientation = "vertical",
12287
12300
  ...props
12288
12301
  }) => {
12289
12302
  const adRef = useRef24(null);
12290
- const [closed, setClosed] = useState48(false);
12303
+ const [closed, setClosed] = useState47(false);
12291
12304
  let duration = 0;
12292
- useEffect36(() => {
12305
+ useEffect35(() => {
12293
12306
  if (duration) {
12294
12307
  const timeoutHide = setTimeout(() => {
12295
12308
  setClosed(true);
@@ -12477,7 +12490,7 @@ var PricingCard = ({
12477
12490
  };
12478
12491
 
12479
12492
  // blocks/cards/ItemCard.tsx
12480
- import React105, { useEffect as useEffect37, useState as useState49 } from "react";
12493
+ import React105, { useEffect as useEffect36, useState as useState48 } from "react";
12481
12494
  var ItemCard = ({
12482
12495
  actions,
12483
12496
  counts,
@@ -12506,12 +12519,12 @@ var ItemCard = ({
12506
12519
  )
12507
12520
  };
12508
12521
  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);
12522
+ const [openActionHeader, setOpenActionHeader] = useState48(false);
12510
12523
  function handleOpenActionHeader(e) {
12511
12524
  e.stopPropagation();
12512
12525
  setOpenActionHeader(!openActionHeader);
12513
12526
  }
12514
- useEffect37(() => {
12527
+ useEffect36(() => {
12515
12528
  window.onclick = () => {
12516
12529
  if (openActionHeader) {
12517
12530
  setOpenActionHeader(false);
@@ -12838,9 +12851,9 @@ var ComparingPlans = (props) => {
12838
12851
  };
12839
12852
 
12840
12853
  // blocks/pricing/HorizontalPricing.tsx
12841
- import React109, { useState as useState50 } from "react";
12854
+ import React109, { useState as useState49 } from "react";
12842
12855
  var HorizontalPricing = (props) => {
12843
- const [selectedCard, setSelectedCard] = useState50("");
12856
+ const [selectedCard, setSelectedCard] = useState49("");
12844
12857
  let data = [
12845
12858
  { title: "basic", price: "$49", cycle: "/mo" },
12846
12859
  { title: "business", price: "$99", cycle: "/mo" },
@@ -13089,6 +13102,10 @@ export {
13089
13102
  PhoneInput,
13090
13103
  PhoneMockup,
13091
13104
  PinInput,
13105
+ PinInputGroup,
13106
+ PinInputRoot,
13107
+ PinInputSeperator,
13108
+ PinInputSlot,
13092
13109
  Popover,
13093
13110
  PopoverContent,
13094
13111
  PopoverPortal,
@@ -13172,3 +13189,53 @@ export {
13172
13189
  useToast,
13173
13190
  useWindowSize
13174
13191
  };
13192
+ /*! Bundled license information:
13193
+
13194
+ lucide-react/dist/esm/shared/src/utils.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/defaultAttributes.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/Icon.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
+
13218
+ lucide-react/dist/esm/createLucideIcon.js:
13219
+ (**
13220
+ * @license lucide-react v0.379.0 - ISC
13221
+ *
13222
+ * This source code is licensed under the ISC license.
13223
+ * See the LICENSE file in the root directory of this source tree.
13224
+ *)
13225
+
13226
+ lucide-react/dist/esm/icons/dot.js:
13227
+ (**
13228
+ * @license lucide-react v0.379.0 - ISC
13229
+ *
13230
+ * This source code is licensed under the ISC license.
13231
+ * See the LICENSE file in the root directory of this source tree.
13232
+ *)
13233
+
13234
+ lucide-react/dist/esm/lucide-react.js:
13235
+ (**
13236
+ * @license lucide-react v0.379.0 - ISC
13237
+ *
13238
+ * This source code is licensed under the ISC license.
13239
+ * See the LICENSE file in the root directory of this source tree.
13240
+ *)
13241
+ */