@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
@@ -1 +1 @@
1
- {"version":3,"sources":["../../elements/passwordInput/index.ts","../../elements/passwordInput/PasswordInput.tsx","../../icons/Emojis.tsx","../../icons/InputIcons.tsx","../../util/index.ts","../../icons/CommonIcons.tsx","../../elements/input/Input.tsx","../../elements/label/Label.tsx","../../elements/tooltip/Tooltip.tsx","../../elements/skeleton/Skeleton.tsx","../../elements/popover/Popover.tsx"],"sourcesContent":["export * from \"./PasswordInput\";\n","import React, { useEffect, useState } from \"react\";\n\nimport { CheckMark, EyeIcon, HiddenEyeIcon, UncheckMark } from \"../../icons\";\nimport { Input } from \"../input\";\nimport { Popover } from \"../popover\";\n\ntype PasswordInputIndicatorProps = {\n strength?: any;\n};\nexport const PasswordStrengthIndicator: React.FC<\n PasswordInputIndicatorProps\n> = ({ strength }) => {\n const strengthLevels = [\n \"none\",\n \"very-weak\",\n \"weak\",\n \"medium\",\n \"strong\",\n \"very-strong\"\n ];\n const strengthColors: any = {\n none: \"hawa-bg-red-700\",\n \"very-weak\": \"hawa-bg-red-600\",\n weak: \"hawa-bg-red-500\",\n medium: \"hawa-bg-yellow-500\",\n strong: \"hawa-bg-green-400\",\n \"very-strong\": \"hawa-bg-green-600\"\n };\n const currentStrengthLevel = strengthLevels[strength];\n const width = {\n none: \"0%\",\n \"very-weak\": \"20%\",\n weak: \"40%\",\n medium: \"60%\",\n strong: \"80%\",\n \"very-strong\": \"100%\"\n }[currentStrengthLevel];\n\n return (\n <div className=\"hawa-mt-0.5 hawa-h-2 hawa-w-full hawa-rounded hawa-bg-gray-200\">\n <div\n className={`${strengthColors[currentStrengthLevel]} hawa-h-full hawa-rounded hawa-transition-all hawa-duration-300`}\n style={{ width }}\n />\n </div>\n );\n};\n\ntype PasswordInputType = {\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n hidePopover?: boolean;\n};\n\nexport const PasswordInput: React.FC<PasswordInputType> = ({\n hidePopover,\n ...props\n}) => {\n const [inputValue, setInputValue] = useState(\"\");\n const [isInputFocused, setIsInputFocused] = useState(false);\n const [currentStr, setCurrentStr] = useState(0);\n const [passwordVisible, setPasswordVisible] = useState(false);\n // States for each criterion\n const [lengthCriteriaMet, setLengthCriteriaMet] = useState(false);\n const [numberCriteriaMet, setNumberCriteriaMet] = useState(false);\n const [specialCharCriteriaMet, setSpecialCharCriteriaMet] = useState(false);\n const [lowercaseCriteriaMet, setLowercaseCriteriaMet] = useState(false);\n const [uppercaseCriteriaMet, setUppercaseCriteriaMet] = useState(false);\n\n useEffect(() => {\n // Calculate strength based on the criteria met\n const calculateStrength = () => {\n let strengthScore = 0;\n if (lengthCriteriaMet) strengthScore += 1;\n if (numberCriteriaMet) strengthScore += 1;\n if (specialCharCriteriaMet) strengthScore += 1;\n if (lowercaseCriteriaMet) strengthScore += 1;\n if (uppercaseCriteriaMet) strengthScore += 1;\n return strengthScore;\n };\n\n const currentStrengthScore = calculateStrength();\n setCurrentStr(currentStrengthScore);\n }, [inputValue]);\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const newPassword = event.target.value;\n if (props.onChange) {\n props.onChange(event);\n }\n setInputValue(newPassword);\n\n // Update each criterion state based on the new password\n setLengthCriteriaMet(newPassword.length >= 8);\n setNumberCriteriaMet(/\\d/.test(newPassword));\n setSpecialCharCriteriaMet(/[!@#$%^&*(),.?\":{}|<>]/.test(newPassword));\n setLowercaseCriteriaMet(/[a-z]/.test(newPassword));\n setUppercaseCriteriaMet(/[A-Z]/.test(newPassword));\n };\n\n // Event handler for when the input gains focus\n const handleInputFocus = () => {\n if (!hidePopover) {\n setIsInputFocused(true);\n }\n };\n\n // Event handler for when the input loses focus\n const handleInputBlur = () => {\n setIsInputFocused(false);\n };\n\n const getCriteriaClass = (isMet: boolean) =>\n isMet\n ? \"hawa-flex hawa-flex-row hawa-gap-2 hawa-text-sm hawa-items-center hawa-text-green-500\"\n : \"hawa-flex hawa-flex-row hawa-gap-2 hawa-text-sm hawa-items-center hawa-text-red-600\";\n\n return (\n <div>\n <Popover\n width=\"trigger\"\n sideOffset={20}\n open={isInputFocused}\n onOpenChange={setIsInputFocused}\n triggerProps={{ asChild: true }}\n contentProps={{ onOpenAutoFocus: (e: any) => e.preventDefault() }}\n trigger={\n <div\n onClick={(e) => {\n e.preventDefault();\n if (!hidePopover) {\n setIsInputFocused(true);\n }\n }}\n >\n <Input\n width=\"full\"\n className=\"hawa-w-full\"\n label={\"test\"}\n onChange={handleInputChange}\n onFocus={handleInputFocus} // Set the input as focused\n onBlur={handleInputBlur}\n type={passwordVisible ? \"text\" : \"password\"}\n endIcon={\n <div\n className=\"hawa-cursor-pointer\"\n onClick={() => setPasswordVisible(!passwordVisible)}\n >\n {passwordVisible ? (\n <EyeIcon className=\"hawa-text-gray-500\" />\n ) : (\n <HiddenEyeIcon className=\"hawa-text-gray-500\" />\n )}{\" \"}\n </div>\n }\n />\n </div>\n }\n >\n <div className=\"hawa-rounded hawa-p-2\">\n <ul className=\"hawa-rounded hawa-p-2\">\n <li className={getCriteriaClass(lengthCriteriaMet)}>\n {lengthCriteriaMet ? (\n <CheckMark size=\"sm\" />\n ) : (\n <UncheckMark size=\"sm\" />\n )}\n At least 8 characters long\n </li>\n <li className={getCriteriaClass(numberCriteriaMet)}>\n {numberCriteriaMet ? (\n <CheckMark size=\"sm\" />\n ) : (\n <UncheckMark size=\"sm\" />\n )}\n At least 1 number\n </li>\n <li className={getCriteriaClass(specialCharCriteriaMet)}>\n {specialCharCriteriaMet ? (\n <CheckMark size=\"sm\" />\n ) : (\n <UncheckMark size=\"sm\" />\n )}\n At least 1 special character\n </li>\n <li className={getCriteriaClass(lowercaseCriteriaMet)}>\n {lowercaseCriteriaMet ? (\n <CheckMark size=\"sm\" />\n ) : (\n <UncheckMark size=\"sm\" />\n )}\n At least 1 lowercase letter\n </li>\n <li className={getCriteriaClass(uppercaseCriteriaMet)}>\n {uppercaseCriteriaMet ? (\n <CheckMark size=\"sm\" />\n ) : (\n <UncheckMark size=\"sm\" />\n )}\n At least 1 uppercase letter\n </li>\n </ul>\n </div>\n </Popover>\n <PasswordStrengthIndicator strength={currentStr} />\n </div>\n );\n};\n","import React from \"react\";\n\nexport const VeryGoodEmoji = () => (\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_53_166)\">\n <path\n clipRule=\"evenodd\"\n d=\"M14.5 8C14.5 11.5899 11.5899 14.5 8 14.5C4.41015 14.5 1.5 11.5899 1.5 8C1.5 4.41015 4.41015 1.5 8 1.5C11.5899 1.5 14.5 4.41015 14.5 8ZM16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM4.5 8.97498H3.875V9.59998C3.875 11.4747 5.81046 12.8637 7.99817 12.8637C10.1879 12.8637 12.125 11.4832 12.125 9.59998V8.97498H11.5H4.5ZM7.99817 11.6137C6.59406 11.6137 5.63842 10.9482 5.28118 10.225H10.7202C10.3641 10.9504 9.40797 11.6137 7.99817 11.6137Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n ></path>\n <path\n clipRule=\"evenodd\"\n d=\"M6.15295 4.92093L5.375 3.5L4.59705 4.92093L3 5.21885L4.11625 6.39495L3.90717 8L5.375 7.30593L6.84283 8L6.63375 6.39495L7.75 5.21885L6.15295 4.92093ZM11.403 4.92093L10.625 3.5L9.84705 4.92093L8.25 5.21885L9.36625 6.39495L9.15717 8L10.625 7.30593L12.0928 8L11.8837 6.39495L13 5.21885L11.403 4.92093Z\"\n fill=\"#FF990A\"\n fillRule=\"evenodd\"\n ></path>\n </g>\n </svg>\n);\nexport const GoodEmoji = () => (\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_53_167)\">\n <path\n clipRule=\"evenodd\"\n d=\"M14.5 8C14.5 11.5899 11.5899 14.5 8 14.5C4.41015 14.5 1.5 11.5899 1.5 8C1.5 4.41015 4.41015 1.5 8 1.5C11.5899 1.5 14.5 4.41015 14.5 8ZM16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM11.5249 10.8478L11.8727 10.3286L10.8342 9.6329L10.4863 10.1522C9.94904 10.9543 9.0363 11.4802 8.00098 11.4802C6.96759 11.4802 6.05634 10.9563 5.51863 10.1567L5.16986 9.63804L4.13259 10.3356L4.48137 10.8542C5.2414 11.9844 6.53398 12.7302 8.00098 12.7302C9.47073 12.7302 10.7654 11.9816 11.5249 10.8478ZM6.75 6.75C6.75 7.30228 6.30228 7.75 5.75 7.75C5.19772 7.75 4.75 7.30228 4.75 6.75C4.75 6.19772 5.19772 5.75 5.75 5.75C6.30228 5.75 6.75 6.19772 6.75 6.75ZM10.25 7.75C10.8023 7.75 11.25 7.30228 11.25 6.75C11.25 6.19772 10.8023 5.75 10.25 5.75C9.69771 5.75 9.25 6.19772 9.25 6.75C9.25 7.30228 9.69771 7.75 10.25 7.75Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n ></path>\n </g>\n </svg>\n);\nexport const BadEmoji = () => (\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_53_152)\">\n <path\n clipRule=\"evenodd\"\n d=\"M14.5 8C14.5 11.5899 11.5899 14.5 8 14.5C4.41015 14.5 1.5 11.5899 1.5 8C1.5 4.41015 4.41015 1.5 8 1.5C11.5899 1.5 14.5 4.41015 14.5 8ZM16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM5.75 7.75C6.30228 7.75 6.75 7.30228 6.75 6.75C6.75 6.19772 6.30228 5.75 5.75 5.75C5.19772 5.75 4.75 6.19772 4.75 6.75C4.75 7.30228 5.19772 7.75 5.75 7.75ZM11.25 6.75C11.25 7.30228 10.8023 7.75 10.25 7.75C9.69771 7.75 9.25 7.30228 9.25 6.75C9.25 6.19772 9.69771 5.75 10.25 5.75C10.8023 5.75 11.25 6.19772 11.25 6.75ZM11.5249 11.2622L11.8727 11.7814L10.8342 12.4771L10.4863 11.9578C9.94904 11.1557 9.0363 10.6298 8.00098 10.6298C6.96759 10.6298 6.05634 11.1537 5.51863 11.9533L5.16986 12.4719L4.13259 11.7744L4.48137 11.2558C5.2414 10.1256 6.53398 9.37982 8.00098 9.37982C9.47073 9.37982 10.7654 10.1284 11.5249 11.2622Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n ></path>\n </g>\n </svg>\n);\nexport const VeryBadEmoji = () => (\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_53_151)\">\n <path\n d=\"M11.841 12.0225C12.7197 12.9324 12.7197 14.4077 11.841 15.3176C10.9623 16.2275 9.53769 16.2275 8.65901 15.3176C7.78033 14.4077 7.78033 12.9324 8.65901 12.0225L10.25 10.375L11.841 12.0225Z\"\n fill=\"#0070F3\"\n ></path>\n <path\n clipRule=\"evenodd\"\n d=\"M8 1.5C4.41015 1.5 1.5 4.41015 1.5 8C1.5 10.9668 3.48826 13.4711 6.20649 14.2496L5.79351 15.6916C2.44895 14.7338 0 11.6539 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8C16 9.4652 15.6054 10.8405 14.9162 12.023L13.6203 11.2677C14.1794 10.3083 14.5 9.19272 14.5 8C14.5 4.41015 11.5899 1.5 8 1.5ZM6.75 6.75C6.75 7.30228 6.30228 7.75 5.75 7.75C5.19772 7.75 4.75 7.30228 4.75 6.75C4.75 6.19772 5.19772 5.75 5.75 5.75C6.30228 5.75 6.75 6.19772 6.75 6.75ZM10.25 7.75C10.8023 7.75 11.25 7.30228 11.25 6.75C11.25 6.19772 10.8023 5.75 10.25 5.75C9.69771 5.75 9.25 6.19772 9.25 6.75C9.25 7.30228 9.69771 7.75 10.25 7.75Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n ></path>\n </g>\n </svg>\n);\n","import React from \"react\";\n\nimport { cn } from \"@util/index\";\n\nexport const EyeIcon = (props: any) => (\n <div className={cn(\"hawa-h-5 hawa-w-5\", props.className)}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z\" />\n <circle cx=\"12\" cy=\"12\" r=\"3\" />\n </svg>\n </div>\n);\nexport const HiddenEyeIcon = (props: any) => (\n <div className={cn(\"hawa-h-5 hawa-w-5\", props.className)}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M9.88 9.88a3 3 0 1 0 4.24 4.24\" />\n <path d=\"M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68\" />\n <path d=\"M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61\" />\n <line x1=\"2\" x2=\"22\" y1=\"2\" y2=\"22\" />\n </svg>\n </div>\n);\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\ntype Palette = {\n name: string;\n colors: {\n [key: number]: string;\n };\n};\ntype Rgb = {\n r: number;\n g: number;\n b: number;\n};\nfunction hexToRgb(hex: string): Rgb | null {\n const sanitizedHex = hex.replaceAll(\"##\", \"#\");\n const colorParts = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(\n sanitizedHex\n );\n\n if (!colorParts) {\n return null;\n }\n\n const [, r, g, b] = colorParts;\n\n return {\n r: parseInt(r, 16),\n g: parseInt(g, 16),\n b: parseInt(b, 16)\n } as Rgb;\n}\n\nfunction rgbToHex(r: number, g: number, b: number): string {\n const toHex = (c: number) => `0${c.toString(16)}`.slice(-2);\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n}\n\nexport function getTextColor(color: string): \"#FFF\" | \"#333\" {\n const rgbColor = hexToRgb(color);\n\n if (!rgbColor) {\n return \"#333\";\n }\n\n const { r, g, b } = rgbColor;\n const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n\n return luma < 120 ? \"#FFF\" : \"#333\";\n}\n\nfunction lighten(hex: string, intensity: number): string {\n const color = hexToRgb(`#${hex}`);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r + (255 - color.r) * intensity);\n const g = Math.round(color.g + (255 - color.g) * intensity);\n const b = Math.round(color.b + (255 - color.b) * intensity);\n\n return rgbToHex(r, g, b);\n}\n\nfunction darken(hex: string, intensity: number): string {\n const color = hexToRgb(hex);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r * intensity);\n const g = Math.round(color.g * intensity);\n const b = Math.round(color.b * intensity);\n\n return rgbToHex(r, g, b);\n}\nconst parseColor = (color: any) => {\n if (color.startsWith(\"#\")) {\n // Convert hex to RGB\n let r = parseInt(color.slice(1, 3), 16);\n let g = parseInt(color.slice(3, 5), 16);\n let b = parseInt(color.slice(5, 7), 16);\n return [r, g, b];\n } else if (color.startsWith(\"rgb\")) {\n // Extract RGB values from rgb() format\n return color.match(/\\d+/g).map(Number);\n }\n // Default to white if format is unrecognized\n return [255, 255, 255];\n};\nexport const calculateLuminance = (color: any) => {\n const [r, g, b] = parseColor(color)?.map((c: any) => {\n c /= 255;\n return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;\n });\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n};\n\nfunction getPallette(baseColor: string): Palette {\n const name = baseColor;\n\n const response: Palette = {\n name,\n colors: {\n 500: `#${baseColor}`.replace(\"##\", \"#\")\n }\n };\n\n const intensityMap: {\n [key: number]: number;\n } = {\n 50: 0.95,\n 100: 0.9,\n 200: 0.75,\n 300: 0.6,\n 400: 0.3,\n 600: 0.9,\n 700: 0.75,\n 800: 0.6,\n 900: 0.49\n };\n\n [50, 100, 200, 300, 400].forEach((level) => {\n response.colors[level] = lighten(baseColor, intensityMap[level]);\n });\n [600, 700, 800, 900].forEach((level) => {\n response.colors[level] = darken(baseColor, intensityMap[level]);\n });\n\n return response as Palette;\n}\n\nexport { getPallette };\n\n// const hexToRgb = (hex) => {\n// let d = hex?.split(\"#\")[1];\n// var aRgbHex = d?.match(/.{1,2}/g);\n// var aRgb = [\n// parseInt(aRgbHex[0], 16),\n// parseInt(aRgbHex[1], 16),\n// parseInt(aRgbHex[2], 16)\n// ];\n// return aRgb;\n// };\n// const getTextColor = (backColor) => {\n// let rgbArray = hexToRgb(backColor);\n// if (rgbArray[0] * 0.299 + rgbArray[1] * 0.587 + rgbArray[2] * 0.114 > 186) {\n// return \"#000000\";\n// } else {\n// return \"#ffffff\";\n// }\n// };\n// const replaceAt = function (string, index, replacement) {\n// // if (replacement == \"\" || replacement == \" \") {\n// // return (\n// // string.substring(0, index) +\n// // string.substring(index + replacement.length )\n// // );\n// // }\n// const replaced = string.substring(0, index) + replacement + string.substring(index + 1)\n// return replaced\n// };\n\n// export { hexToRgb, getTextColor, replaceAt };\n","import React from \"react\";\n\nimport { cn } from \"@util/index\";\n\nexport const CheckMark = ({ size = \"default\", className }: any) => {\n let sizeStyles: any = {\n default: \"hawa-h-5 hawa-w-5\",\n sm: \"hawa-h-3 hawa-w-3\",\n };\n return (\n <svg\n className={cn(sizeStyles[size], className)}\n aria-hidden=\"true\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n );\n};\n\nexport const UncheckMark = ({ size = \"default\", className }: any) => {\n let sizeStyles: any = {\n default: \"hawa-h-5 hawa-w-5\",\n sm: \"hawa-h-3 hawa-w-3\",\n };\n\n return (\n <svg\n className={cn(sizeStyles[size], className)}\n aria-hidden=\"true\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n );\n};\nexport const MenuIcon = () => (\n <svg\n aria-label=\"Menu Button\"\n stroke=\"currentColor\"\n fill=\"currentColor\"\n strokeWidth={0}\n viewBox=\"0 0 20 20\"\n aria-hidden=\"true\"\n height=\"1.6em\"\n width=\"1.6em\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z\"\n ></path>\n </svg>\n);\n","import React, { forwardRef } from \"react\";\n\nimport { cn } from \"@util/index\";\n\nimport { Label, LabelProps } from \"../label/Label\";\nimport { Skeleton } from \"../skeleton/Skeleton\";\n\nexport type TextFieldTypes = React.InputHTMLAttributes<HTMLInputElement> & {\n isLoading?: boolean;\n isLoadingError?: boolean;\n containerClassName?: string;\n margin?: \"none\" | \"normal\" | \"large\";\n width?: \"small\" | \"normal\" | \"full\" | \"auto\";\n /** The label of the input field */\n label?: any;\n labelProps?: LabelProps;\n hideSeparator?: boolean;\n /** The small red text under the input field to show validation. */\n helperText?: any;\n prefixText?: any;\n forceHideHelperText?: boolean;\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n /** The icon inside the input field */\n icon?: any;\n /** Boolean to enable/disable editing the input field and using it as a text field */\n preview?: boolean;\n // maxLength?: any;\n iconInside?: React.ReactNode;\n endIcon?: React.ReactNode;\n endIconProps?: { className?: string };\n startIcon?: React.ReactNode;\n placeholder?: React.ReactNode;\n /** Show the count of characters left in the input field. Works along with maxLength prop. */\n showCount?: boolean;\n countPosition?: \"top\" | \"bottom\" | \"center\";\n popup?: boolean;\n popupContent?: React.ReactNode;\n outsidePrefix?: any;\n loadingErrorMesssage?: string;\n};\nexport const Input = forwardRef<HTMLInputElement, TextFieldTypes>(\n (\n {\n margin = \"none\",\n width = \"full\",\n preview = false,\n forceHideHelperText = false,\n labelProps,\n placeholder,\n showCount,\n inputProps,\n countPosition = \"bottom\",\n ...props\n },\n ref,\n ) => {\n let marginStyles = {\n none: \"hawa-mb-0\",\n normal: \"hawa-mb-3\",\n large: \"hawa-mb-5\",\n };\n let widthStyles = {\n small: \"hawa-w-full hawa-max-w-2xs\",\n normal: \"hawa-w-1/2\",\n full: \"hawa-w-full\",\n auto: \"\",\n };\n\n let defaultStyle =\n \"hawa-flex hawa-max-h-fit hawa-h-fit hawa-relative hawa-flex-col hawa-justify-center hawa-gap-0\";\n let defaultInputStyle =\n \"hawa-block hawa-w-full hawa-rounded hawa-border hawa-transition-all hawa-bg-background hawa-p-3 hawa-text-sm placeholder:hawa-text-muted-foreground\";\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n let newValue = e.target.value;\n\n if (props.prefixText) {\n // If newValue is shorter than prefixText, set newValue to prefixText\n if (newValue.length < props.prefixText.length) {\n newValue = props.prefixText;\n } else {\n // Check if newValue starts with a substring of prefixText\n const isSubstring = props.prefixText.startsWith(newValue);\n\n if (!isSubstring && !newValue.startsWith(props.prefixText)) {\n newValue = `${props.prefixText}${newValue}`;\n }\n }\n }\n\n if (props.onChange) {\n const newEvent = { ...e, target: { ...e.target, value: newValue } };\n props.onChange(newEvent as React.ChangeEvent<HTMLInputElement>);\n }\n };\n\n return (\n <div\n className={cn(\n defaultStyle,\n marginStyles[margin],\n widthStyles[width],\n props.containerClassName,\n \"hawa-w-full hawa-gap-2\",\n )}\n >\n {props.label && <Label {...labelProps}>{props.label}</Label>}\n <div className=\"hawa-flex hawa-flex-row hawa-w-full hawa-items-center \">\n {props.outsidePrefix && (\n <span\n className={cn(\n \"hawa-me-2 hawa-opacity-90\",\n !forceHideHelperText && \"hawa-mb-2\",\n )}\n >\n {props.outsidePrefix}\n </span>\n )}\n {props.isLoading ? (\n <div className=\"hawa-pb-2 hawa-w-full\">\n <Skeleton className=\"hawa-h-[40px] hawa-w-full\" />\n </div>\n ) : props.isLoadingError ? (\n <div className=\"hawa-pb-2 hawa-w-full\">\n <Skeleton\n animation=\"none\"\n className=\"hawa-h-[40px] hawa-w-full !hawa-bg-destructive/[0.3]\"\n content={\n <div className=\"hawa-flex hawa-flex-row hawa-gap-2\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"hawa-text-destructive\"\n >\n <path d=\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\" />\n <path d=\"M12 9v4\" />\n <path d=\"M12 17h.01\" />\n </svg>\n <span>\n <span className=\"hawa-text-destructive\">\n {props.loadingErrorMesssage || \"Error loading data\"}\n </span>\n </span>\n </div>\n }\n />\n </div>\n ) : (\n <>\n {!props.hideSeparator && (\n <div\n className={cn(\n \"hawa-absolute hawa-top-[22px] hawa-h-[0.8px] hawa-w-full hawa-bg-gray-200 hawa-transition-all dark:hawa-bg-gray-800\",\n preview ? \"hawa-opacity-100\" : \"hawa-opacity-0\",\n )}\n ></div>\n )}\n <div className=\"hawa-flex hawa-flex-col hawa-w-full hawa-gap-2\">\n <div className={\"hawa-relative\"}>\n {props.startIcon && (\n <div className=\"hawa-absolute hawa-start-3 hawa-top-1/2 hawa--translate-y-1/2\">\n {props.startIcon}\n </div>\n )}\n {props.endIcon && (\n <div\n className={cn(\n \"hawa-absolute hawa-end-3 hawa-top-1/2 hawa--translate-y-1/2\",\n props.endIconProps?.className,\n )}\n >\n {props.endIcon}\n </div>\n )}\n <input\n required\n dir={props.dir}\n type={props.type}\n value={props.value}\n onChange={handleChange}\n autoComplete={props.autoComplete}\n defaultValue={props.defaultValue}\n placeholder={placeholder}\n disabled={props.disabled || preview}\n style={{ height: 40 }}\n {...inputProps}\n className={cn(\n defaultInputStyle,\n \" focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-0 dark:hawa-text-white\",\n {\n \"hawa-pe-9\": props.endIcon,\n \"hawa-ps-9\": props.startIcon,\n \"hawa-pe-[60px]\": countPosition === \"center\",\n },\n preview &&\n \"hawa-border-transparent hawa-bg-transparent hawa-px-0\",\n inputProps?.className,\n )}\n />\n </div>\n\n {/* Regular helper text */}\n {!forceHideHelperText && (\n <p\n className={cn(\n \"hawa-my-0 hawa-text-start hawa-text-xs hawa-text-helper-color hawa-transition-all\",\n props.helperText\n ? \"hawa-h-4 hawa-opacity-100\"\n : \"hawa-h-0 hawa-opacity-0\",\n )}\n >\n {props.helperText}\n </p>\n )}\n {/* Popover helper text */}\n {!props.disabled && forceHideHelperText && (\n <div\n className={cn(\n \"hawa-absolute hawa-end-0 hawa-top-[47px] hawa-z-20 hawa-translate-y-1/2 hawa-rounded hawa-bg-background hawa-text-start hawa-text-xs hawa-text-helper-color hawa-drop-shadow-md hawa-transition-all\",\n props.helperText\n ? \"hawa-border hawa-p-1\"\n : \"hawa-border-none hawa-p-0\",\n )}\n >\n {props.helperText}\n </div>\n )}\n {/* Character Counter */}\n {showCount && (\n <div\n className={cn(\n \"hawa-absolute hawa-translate-y-1/2 hawa-text-start hawa-text-xs hawa-transition-all\",\n {\n \"hawa-end-0 hawa-top-[62px]\":\n countPosition === \"bottom\",\n \"hawa-bottom-[62px] hawa-end-0\":\n countPosition === \"top\",\n \"hawa-end-2\": countPosition === \"center\",\n },\n )}\n >\n {props.value ? String(props.value).length : 0}/\n {props.maxLength}\n </div>\n )}\n\n {/* Popover helper text */}\n {/* {props.popup && (\n <div\n className={cn(\n \"hawa-absolute hawa-top-[47px] hawa-min-h-fit hawa-w-full hawa-text-xs hawa-text-helper-color hawa-transition-all hawa-text-start hawa-rounded hawa-end-0 hawa-z-20 hawa-drop-shadow-md hawa-bg-background hawa-translate-y-1/2\",\n props.helperText\n ? \"hawa-border hawa-p-1\"\n : \"hawa-border-none hawa-p-0\"\n )}\n >\n {props.popupContent}\n </div>\n )} */}\n </div>\n </>\n )}\n </div>\n </div>\n );\n },\n);\n","import * as React from \"react\";\n\nimport { PositionType } from \"@_types/commonTypes\";\n\nimport { cn } from \"@util/index\";\nimport { Tooltip } from \"../tooltip\";\n\nexport type LabelProps = {\n hint?: React.ReactNode;\n hintSide?: PositionType;\n htmlFor?: string;\n required?: boolean;\n};\n\nconst Label = React.forwardRef<\n HTMLLabelElement,\n React.LabelHTMLAttributes<HTMLLabelElement> & LabelProps\n>(({ className, hint, hintSide, required, children, ...props }, ref) => (\n <div className=\"hawa-flex hawa-flex-row hawa-items-center hawa-gap-1 hawa-transition-all\">\n <label\n ref={ref}\n className={cn(\n \"hawa-text-sm hawa-font-medium hawa-leading-none peer-disabled:hawa-cursor-not-allowed peer-disabled:hawa-opacity-70\",\n className\n )}\n {...props}\n >\n {children}\n {required && <span className=\"hawa-mx-0.5 hawa-text-red-500\">*</span>}\n </label>\n {hint && (\n <Tooltip\n content={hint}\n side={hintSide}\n triggerProps={{\n tabIndex: -1,\n onClick: (event) => event.preventDefault()\n }}\n >\n <div>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"hawa-h-[14px] hawa-w-[14px] hawa-cursor-help\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\" />\n <path d=\"M12 17h.01\" />\n </svg>\n </div>\n </Tooltip>\n )}\n </div>\n));\n\nLabel.displayName = \"Label\";\n\nexport { Label };\n","import React from \"react\";\n\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport { cn } from \"@util/index\";\n\nimport { PositionType } from \"@_types/commonTypes\";\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content> & {\n size?: \"default\" | \"small\" | \"large\";\n }\n>(({ className, sideOffset = 4, size = \"default\", ...props }, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"hawa-z-50 hawa-overflow-hidden hawa-rounded-md hawa-border hawa-bg-popover hawa-px-3 hawa-py-1.5 hawa-text-sm hawa-text-popover-foreground hawa-shadow-md hawa-animate-in hawa-fade-in-0 hawa-zoom-in-95 data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=closed]:hawa-zoom-out-95 data-[side=bottom]:hawa-slide-in-from-top-2 data-[side=left]:hawa-slide-in-from-right-2 data-[side=right]:hawa-slide-in-from-left-2 data-[side=top]:hawa-slide-in-from-bottom-2\",\n {\n \"hawa-text-xs\": size === \"small\",\n \"hawa-text-xl\": size === \"large\"\n },\n className\n )}\n {...props}\n />\n));\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\n\nconst TooltipArrow = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Arrow>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Arrow>\n>(({ className, ...props }, ref) => (\n <TooltipPrimitive.Arrow ref={ref} className={cn(className)} {...props} />\n));\nTooltipArrow.displayName = TooltipPrimitive.Arrow.displayName;\n\ntype TooltipTypes = {\n /** Controls the open state of the tooltip. */\n open?: any;\n /** Specifies the side where the tooltip will appear. */\n side?: PositionType;\n /** Content to be displayed within the tooltip. */\n content?: any;\n /** Elements to which the tooltip is anchored. */\n children?: any;\n /** Sets the default open state of the tooltip. */\n defaultOpen?: any;\n /** Event handler for open state changes. */\n onOpenChange?: any;\n /** Duration of the delay before the tooltip appears. */\n delayDuration?: any;\n /** Size of the tooltip. */\n size?: \"default\" | \"small\" | \"large\";\n /** Disables the tooltip. */\n disabled?: boolean;\n triggerProps?: TooltipPrimitive.TooltipTriggerProps;\n contentProps?: TooltipPrimitive.TooltipContentProps;\n providerProps?: TooltipPrimitive.TooltipProviderProps;\n};\n\nconst Tooltip: React.FunctionComponent<TooltipTypes> = ({\n side,\n size,\n open,\n content,\n children,\n disabled,\n defaultOpen,\n onOpenChange,\n triggerProps,\n contentProps,\n providerProps,\n delayDuration = 300,\n ...props\n}) => {\n return (\n <TooltipPrimitive.TooltipProvider\n delayDuration={delayDuration}\n {...providerProps}\n >\n <TooltipPrimitive.Root\n open={!disabled && open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n {...props}\n >\n <TooltipPrimitive.Trigger {...triggerProps}>\n {children}\n </TooltipPrimitive.Trigger>\n <TooltipContent\n size={size}\n side={side}\n align=\"center\"\n {...contentProps}\n style={{\n ...contentProps?.style,\n maxWidth: \"var(--radix-tooltip-content-available-width)\",\n maxHeight: \"var(--radix-tooltip-content-available-height)\"\n }}\n >\n {content}\n </TooltipContent>\n </TooltipPrimitive.Root>\n </TooltipPrimitive.TooltipProvider>\n );\n};\n\nexport { Tooltip };\n","import React from \"react\";\n\nimport { cn } from \"@util/index\";\n\ninterface SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\n className?: string;\n animation?: \"none\" | \"pulse\" | \"shimmer\";\n content?: any;\n fade?: \"top\" | \"bottom\" | \"left\" | \"right\";\n}\n\nfunction Skeleton({\n className,\n content,\n animation = \"pulse\",\n fade,\n ...props\n}: SkeletonProps) {\n const animationStyles = {\n none: \"hawa-rounded hawa-bg-muted\",\n pulse: \"hawa-animate-pulse hawa-rounded hawa-bg-muted\",\n shimmer:\n \"hawa-space-y-5 hawa-rounded hawa-bg-muted hawa-p-4 hawa-relative before:hawa-absolute before:hawa-inset-0 before:hawa--translate-x-full before:hawa-animate-[shimmer_2s_infinite] before:hawa-bg-gradient-to-r before:hawa-from-transparent before:hawa-via-gray-300/40 dark:before:hawa-via-white/10 before:hawa-to-transparent hawa-isolate hawa-overflow-hidden before:hawa-border-t before:hawa-border-rose-100/10\",\n };\n const fadeStyle = {\n bottom: \"hawa-mask-fade-bottom\",\n top: \"hawa-mask-fade-top\",\n right: \"hawa-mask-fade-right\",\n left: \"hawa-mask-fade-left \",\n };\n\n return (\n <div\n className={cn(\n animationStyles[animation],\n content &&\n \"hawa-flex hawa-flex-col hawa-items-center hawa-justify-center\",\n fade && fadeStyle[fade],\n className,\n )}\n {...props}\n >\n {content && content}\n </div>\n );\n}\n\nexport { Skeleton };\n","import * as React from \"react\";\n\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport { cn } from \"@util/index\";\n\nimport { PositionType } from \"@_types/commonTypes\";\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> & {\n container?: HTMLElement | null;\n }\n>(\n (\n { className, align = \"center\", sideOffset = 4, container, ...props },\n ref,\n ) => (\n <PopoverPrimitive.Portal container={container}>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"dark:dark-shadow hawa-z-50 hawa-rounded hawa-border hawa-bg-popover hawa-text-popover-foreground hawa-shadow-md hawa-outline-none data-[state=open]:hawa-animate-in data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=open]:hawa-fade-in-0 data-[state=closed]:hawa-zoom-out-95 data-[state=open]:hawa-zoom-in-95 data-[side=bottom]:hawa-slide-in-from-top-2 data-[side=left]:hawa-slide-in-from-right-2 data-[side=right]:hawa-slide-in-from-left-2 data-[side=top]:hawa-slide-in-from-bottom-2\",\n className,\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n ),\n);\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\ninterface PopoverProps {\n side?: PositionType;\n align?: \"start\" | \"center\" | \"end\";\n trigger?: React.ReactNode;\n children: React.ReactNode;\n className?: string;\n sideOffset?: number;\n disableTrigger?: any;\n width?: \"trigger\" | \"default\";\n open?: boolean;\n contentProps?: PopoverPrimitive.PopoverContentProps;\n triggerProps?: PopoverPrimitive.PopoverTriggerProps;\n}\n\ntype HawaPopoverTypes = PopoverProps &\n React.ComponentProps<typeof PopoverPrimitive.Root>;\n\nconst Popover: React.FC<HawaPopoverTypes> = ({\n trigger,\n children,\n className,\n align = \"center\",\n side,\n sideOffset = 4,\n open,\n width = \"default\",\n disableTrigger,\n contentProps,\n triggerProps,\n ...props\n}) => {\n let widthStyles = {\n trigger: \"var(--radix-popover-trigger-width)\",\n default: \"auto\",\n };\n\n return (\n <PopoverPrimitive.Root open={open} {...props}>\n <PopoverPrimitive.Trigger\n className=\"hawa-w-full\"\n disabled={disableTrigger}\n {...triggerProps}\n >\n {trigger}\n </PopoverPrimitive.Trigger>\n <PopoverContent\n side={side}\n className={className}\n align={align}\n sideOffset={sideOffset}\n style={{\n width: widthStyles[width],\n maxWidth: \"var(--radix-popover-content-available-width)\",\n maxHeight: \"var(--radix-popover-content-available-height)\",\n }}\n {...contentProps}\n >\n {children}\n </PopoverContent>\n </PopoverPrimitive.Root>\n );\n};\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\nconst PopoverPortal = PopoverPrimitive.Portal;\nconst PopoverRoot = PopoverPrimitive.Root;\n\nexport { Popover, PopoverPortal, PopoverRoot, PopoverContent, PopoverTrigger };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAAA,gBAA2C;;;ACA3C,mBAAkB;;;ACAlB,IAAAC,gBAAkB;;;ACAlB,kBAAsC;AACtC,4BAAwB;AAEjB,SAAS,MAAM,QAAsB;AAC1C,aAAO,mCAAQ,kBAAK,MAAM,CAAC;AAC7B;;;ADDO,IAAM,UAAU,CAAC,UACtB,8BAAAC,QAAA,cAAC,SAAI,WAAW,GAAG,qBAAqB,MAAM,SAAS,KACrD,8BAAAA,QAAA;AAAA,EAAC;AAAA;AAAA,IACC,OAAM;AAAA,IACN,SAAQ;AAAA,IACR,MAAK;AAAA,IACL,QAAO;AAAA,IACP,aAAY;AAAA,IACZ,eAAc;AAAA,IACd,gBAAe;AAAA;AAAA,EAEf,8BAAAA,QAAA,cAAC,UAAK,GAAE,gDAA+C;AAAA,EACvD,8BAAAA,QAAA,cAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,KAAI;AAChC,CACF;AAEK,IAAM,gBAAgB,CAAC,UAC5B,8BAAAA,QAAA,cAAC,SAAI,WAAW,GAAG,qBAAqB,MAAM,SAAS,KACrD,8BAAAA,QAAA;AAAA,EAAC;AAAA;AAAA,IACC,OAAM;AAAA,IACN,SAAQ;AAAA,IACR,MAAK;AAAA,IACL,QAAO;AAAA,IACP,aAAY;AAAA,IACZ,eAAc;AAAA,IACd,gBAAe;AAAA;AAAA,EAEf,8BAAAA,QAAA,cAAC,UAAK,GAAE,kCAAiC;AAAA,EACzC,8BAAAA,QAAA,cAAC,UAAK,GAAE,gFAA+E;AAAA,EACvF,8BAAAA,QAAA,cAAC,UAAK,GAAE,0EAAyE;AAAA,EACjF,8BAAAA,QAAA,cAAC,UAAK,IAAG,KAAI,IAAG,MAAK,IAAG,KAAI,IAAG,MAAK;AACtC,CACF;;;AEpCF,IAAAC,gBAAkB;AAIX,IAAM,YAAY,CAAC,EAAE,OAAO,WAAW,UAAU,MAAW;AACjE,MAAI,aAAkB;AAAA,IACpB,SAAS;AAAA,IACT,IAAI;AAAA,EACN;AACA,SACE,8BAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,WAAW,IAAI,GAAG,SAAS;AAAA,MACzC,eAAY;AAAA,MACZ,MAAK;AAAA,MACL,SAAQ;AAAA;AAAA,IAER,8BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,GAAE;AAAA,QACF,UAAS;AAAA;AAAA,IACV;AAAA,EACH;AAEJ;AAEO,IAAM,cAAc,CAAC,EAAE,OAAO,WAAW,UAAU,MAAW;AACnE,MAAI,aAAkB;AAAA,IACpB,SAAS;AAAA,IACT,IAAI;AAAA,EACN;AAEA,SACE,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,WAAW,IAAI,GAAG,SAAS;AAAA,MACzC,eAAY;AAAA,MACZ,MAAK;AAAA,MACL,SAAQ;AAAA;AAAA,IAER,8BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,UAAS;AAAA,QACT,GAAE;AAAA,QACF,UAAS;AAAA;AAAA,IACV;AAAA,EACH;AAEJ;;;AC7CA,IAAAC,gBAAkC;;;ACAlC,IAAAC,SAAuB;;;ACAvB,IAAAC,gBAAkB;AAElB,uBAAkC;AAKlC,IAAM,iBAAiB,cAAAC,QAAM,WAK3B,CAAC,EAAE,WAAW,aAAa,GAAG,OAAO,WAAW,GAAG,MAAM,GAAG,QAC5D,8BAAAA,QAAA;AAAA,EAAkB;AAAA,EAAjB;AAAA,IACC;AAAA,IACA;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,QACE,gBAAgB,SAAS;AAAA,QACzB,gBAAgB,SAAS;AAAA,MAC3B;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,eAAe,cAA+B,yBAAQ;AAEtD,IAAM,eAAe,cAAAA,QAAM,WAGzB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,8BAAAA,QAAA,cAAkB,wBAAjB,EAAuB,KAAU,WAAW,GAAG,SAAS,GAAI,GAAG,OAAO,CACxE;AACD,aAAa,cAA+B,uBAAM;AA0BlD,IAAM,UAAiD,CAAC;AAAA,EACtD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,gBAAgB;AAAA,EAChB,GAAG;AACL,MAAM;AACJ,SACE,8BAAAA,QAAA;AAAA,IAAkB;AAAA,IAAjB;AAAA,MACC;AAAA,MACC,GAAG;AAAA;AAAA,IAEJ,8BAAAA,QAAA;AAAA,MAAkB;AAAA,MAAjB;AAAA,QACC,MAAM,CAAC,YAAY;AAAA,QACnB;AAAA,QACA;AAAA,QACC,GAAG;AAAA;AAAA,MAEJ,8BAAAA,QAAA,cAAkB,0BAAjB,EAA0B,GAAG,gBAC3B,QACH;AAAA,MACA,8BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA,OAAM;AAAA,UACL,GAAG;AAAA,UACJ,OAAO;AAAA,YACL,GAAG,6CAAc;AAAA,YACjB,UAAU;AAAA,YACV,WAAW;AAAA,UACb;AAAA;AAAA,QAEC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AAEJ;;;AD5FA,IAAM,QAAc,kBAGlB,CAAC,EAAE,WAAW,MAAM,UAAU,UAAU,UAAU,GAAG,MAAM,GAAG,QAC9D,qCAAC,SAAI,WAAU,8EACb;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AAAA,EAEH;AAAA,EACA,YAAY,qCAAC,UAAK,WAAU,mCAAgC,GAAC;AAChE,GACC,QACC;AAAA,EAAC;AAAA;AAAA,IACC,SAAS;AAAA,IACT,MAAM;AAAA,IACN,cAAc;AAAA,MACZ,UAAU;AAAA,MACV,SAAS,CAAC,UAAU,MAAM,eAAe;AAAA,IAC3C;AAAA;AAAA,EAEA,qCAAC,aACC;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,WAAU;AAAA,MACV,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,QAAO;AAAA,MACP,aAAY;AAAA,MACZ,eAAc;AAAA,MACd,gBAAe;AAAA;AAAA,IAEf,qCAAC,YAAO,IAAG,MAAK,IAAG,MAAK,GAAE,MAAK;AAAA,IAC/B,qCAAC,UAAK,GAAE,wCAAuC;AAAA,IAC/C,qCAAC,UAAK,GAAE,cAAa;AAAA,EACvB,CACF;AACF,CAEJ,CACD;AAED,MAAM,cAAc;;;AE5DpB,IAAAC,gBAAkB;AAWlB,SAAS,SAAS;AAAA,EAChB;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA,GAAG;AACL,GAAkB;AAChB,QAAM,kBAAkB;AAAA,IACtB,MAAM;AAAA,IACN,OAAO;AAAA,IACP,SACE;AAAA,EACJ;AACA,QAAM,YAAY;AAAA,IAChB,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,OAAO;AAAA,IACP,MAAM;AAAA,EACR;AAEA,SACE,8BAAAC,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT,gBAAgB,SAAS;AAAA,QACzB,WACE;AAAA,QACF,QAAQ,UAAU,IAAI;AAAA,QACtB;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,IAEH,WAAW;AAAA,EACd;AAEJ;;;AHLO,IAAM,YAAQ;AAAA,EACnB,CACE;AAAA,IACE,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,sBAAsB;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,IAChB,GAAG;AAAA,EACL,GACA,QACG;AAvDP;AAwDI,QAAI,eAAe;AAAA,MACjB,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAO;AAAA,IACT;AACA,QAAI,cAAc;AAAA,MAChB,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAEA,QAAI,eACF;AACF,QAAI,oBACF;AAEF,UAAM,eAAe,CAAC,MAA2C;AAC/D,UAAI,WAAW,EAAE,OAAO;AAExB,UAAI,MAAM,YAAY;AAEpB,YAAI,SAAS,SAAS,MAAM,WAAW,QAAQ;AAC7C,qBAAW,MAAM;AAAA,QACnB,OAAO;AAEL,gBAAM,cAAc,MAAM,WAAW,WAAW,QAAQ;AAExD,cAAI,CAAC,eAAe,CAAC,SAAS,WAAW,MAAM,UAAU,GAAG;AAC1D,uBAAW,GAAG,MAAM,UAAU,GAAG,QAAQ;AAAA,UAC3C;AAAA,QACF;AAAA,MACF;AAEA,UAAI,MAAM,UAAU;AAClB,cAAM,WAAW,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,QAAQ,OAAO,SAAS,EAAE;AAClE,cAAM,SAAS,QAA+C;AAAA,MAChE;AAAA,IACF;AAEA,WACE,8BAAAC,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA,aAAa,MAAM;AAAA,UACnB,YAAY,KAAK;AAAA,UACjB,MAAM;AAAA,UACN;AAAA,QACF;AAAA;AAAA,MAEC,MAAM,SAAS,8BAAAA,QAAA,cAAC,SAAO,GAAG,cAAa,MAAM,KAAM;AAAA,MACpD,8BAAAA,QAAA,cAAC,SAAI,WAAU,4DACZ,MAAM,iBACL,8BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA,CAAC,uBAAuB;AAAA,UAC1B;AAAA;AAAA,QAEC,MAAM;AAAA,MACT,GAED,MAAM,YACL,8BAAAA,QAAA,cAAC,SAAI,WAAU,2BACb,8BAAAA,QAAA,cAAC,YAAS,WAAU,6BAA4B,CAClD,IACE,MAAM,iBACR,8BAAAA,QAAA,cAAC,SAAI,WAAU,2BACb,8BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,WAAU;AAAA,UACV,SACE,8BAAAA,QAAA,cAAC,SAAI,WAAU,wCACb,8BAAAA,QAAA;AAAA,YAAC;AAAA;AAAA,cACC,OAAM;AAAA,cACN,OAAM;AAAA,cACN,QAAO;AAAA,cACP,SAAQ;AAAA,cACR,MAAK;AAAA,cACL,QAAO;AAAA,cACP,aAAY;AAAA,cACZ,eAAc;AAAA,cACd,gBAAe;AAAA,cACf,WAAU;AAAA;AAAA,YAEV,8BAAAA,QAAA,cAAC,UAAK,GAAE,4EAA2E;AAAA,YACnF,8BAAAA,QAAA,cAAC,UAAK,GAAE,WAAU;AAAA,YAClB,8BAAAA,QAAA,cAAC,UAAK,GAAE,cAAa;AAAA,UACvB,GACA,8BAAAA,QAAA,cAAC,cACC,8BAAAA,QAAA,cAAC,UAAK,WAAU,2BACb,MAAM,wBAAwB,oBACjC,CACF,CACF;AAAA;AAAA,MAEJ,CACF,IAEA,8BAAAA,QAAA,4BAAAA,QAAA,gBACG,CAAC,MAAM,iBACN,8BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA,UAAU,qBAAqB;AAAA,UACjC;AAAA;AAAA,MACD,GAEH,8BAAAA,QAAA,cAAC,SAAI,WAAU,oDACb,8BAAAA,QAAA,cAAC,SAAI,WAAW,mBACb,MAAM,aACL,8BAAAA,QAAA,cAAC,SAAI,WAAU,mEACZ,MAAM,SACT,GAED,MAAM,WACL,8BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAW;AAAA,YACT;AAAA,aACA,WAAM,iBAAN,mBAAoB;AAAA,UACtB;AAAA;AAAA,QAEC,MAAM;AAAA,MACT,GAEF,8BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,UAAQ;AAAA,UACR,KAAK,MAAM;AAAA,UACX,MAAM,MAAM;AAAA,UACZ,OAAO,MAAM;AAAA,UACb,UAAU;AAAA,UACV,cAAc,MAAM;AAAA,UACpB,cAAc,MAAM;AAAA,UACpB;AAAA,UACA,UAAU,MAAM,YAAY;AAAA,UAC5B,OAAO,EAAE,QAAQ,GAAG;AAAA,UACnB,GAAG;AAAA,UACJ,WAAW;AAAA,YACT;AAAA,YACA;AAAA,YACA;AAAA,cACE,aAAa,MAAM;AAAA,cACnB,aAAa,MAAM;AAAA,cACnB,kBAAkB,kBAAkB;AAAA,YACtC;AAAA,YACA,WACE;AAAA,YACF,yCAAY;AAAA,UACd;AAAA;AAAA,MACF,CACF,GAGC,CAAC,uBACA,8BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA,MAAM,aACF,8BACA;AAAA,UACN;AAAA;AAAA,QAEC,MAAM;AAAA,MACT,GAGD,CAAC,MAAM,YAAY,uBAClB,8BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA,MAAM,aACF,yBACA;AAAA,UACN;AAAA;AAAA,QAEC,MAAM;AAAA,MACT,GAGD,aACC,8BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA;AAAA,cACE,8BACE,kBAAkB;AAAA,cACpB,iCACE,kBAAkB;AAAA,cACpB,cAAc,kBAAkB;AAAA,YAClC;AAAA,UACF;AAAA;AAAA,QAEC,MAAM,QAAQ,OAAO,MAAM,KAAK,EAAE,SAAS;AAAA,QAAE;AAAA,QAC7C,MAAM;AAAA,MACT,CAgBJ,CACF,CAEJ;AAAA,IACF;AAAA,EAEJ;AACF;;;AIjRA,IAAAC,SAAuB;AAEvB,uBAAkC;AAKlC,IAAM,iBAAuB;AAAA,EAM3B,CACE,EAAE,WAAW,QAAQ,UAAU,aAAa,GAAG,WAAW,GAAG,MAAM,GACnE,QAEA,qCAAkB,yBAAjB,EAAwB,aACvB;AAAA,IAAkB;AAAA,IAAjB;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN,CACF;AAEJ;AACA,eAAe,cAA+B,yBAAQ;AAmBtD,IAAM,UAAsC,CAAC;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA,aAAa;AAAA,EACb;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,MAAI,cAAc;AAAA,IAChB,SAAS;AAAA,IACT,SAAS;AAAA,EACX;AAEA,SACE,qCAAkB,uBAAjB,EAAsB,MAAa,GAAG,SACrC;AAAA,IAAkB;AAAA,IAAjB;AAAA,MACC,WAAU;AAAA,MACV,UAAU;AAAA,MACT,GAAG;AAAA;AAAA,IAEH;AAAA,EACH,GACA;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO;AAAA,QACL,OAAO,YAAY,KAAK;AAAA,QACxB,UAAU;AAAA,QACV,WAAW;AAAA,MACb;AAAA,MACC,GAAG;AAAA;AAAA,IAEH;AAAA,EACH,CACF;AAEJ;;;ATrFO,IAAM,4BAET,CAAC,EAAE,SAAS,MAAM;AACpB,QAAM,iBAAiB;AAAA,IACrB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,QAAM,iBAAsB;AAAA,IAC1B,MAAM;AAAA,IACN,aAAa;AAAA,IACb,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,eAAe;AAAA,EACjB;AACA,QAAM,uBAAuB,eAAe,QAAQ;AACpD,QAAM,QAAQ;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,IACb,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,eAAe;AAAA,EACjB,EAAE,oBAAoB;AAEtB,SACE,8BAAAC,QAAA,cAAC,SAAI,WAAU,oEACb,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,eAAe,oBAAoB,CAAC;AAAA,MAClD,OAAO,EAAE,MAAM;AAAA;AAAA,EACjB,CACF;AAEJ;AAOO,IAAM,gBAA6C,CAAC;AAAA,EACzD;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,CAAC,YAAY,aAAa,QAAI,wBAAS,EAAE;AAC/C,QAAM,CAAC,gBAAgB,iBAAiB,QAAI,wBAAS,KAAK;AAC1D,QAAM,CAAC,YAAY,aAAa,QAAI,wBAAS,CAAC;AAC9C,QAAM,CAAC,iBAAiB,kBAAkB,QAAI,wBAAS,KAAK;AAE5D,QAAM,CAAC,mBAAmB,oBAAoB,QAAI,wBAAS,KAAK;AAChE,QAAM,CAAC,mBAAmB,oBAAoB,QAAI,wBAAS,KAAK;AAChE,QAAM,CAAC,wBAAwB,yBAAyB,QAAI,wBAAS,KAAK;AAC1E,QAAM,CAAC,sBAAsB,uBAAuB,QAAI,wBAAS,KAAK;AACtE,QAAM,CAAC,sBAAsB,uBAAuB,QAAI,wBAAS,KAAK;AAEtE,+BAAU,MAAM;AAEd,UAAM,oBAAoB,MAAM;AAC9B,UAAI,gBAAgB;AACpB,UAAI;AAAmB,yBAAiB;AACxC,UAAI;AAAmB,yBAAiB;AACxC,UAAI;AAAwB,yBAAiB;AAC7C,UAAI;AAAsB,yBAAiB;AAC3C,UAAI;AAAsB,yBAAiB;AAC3C,aAAO;AAAA,IACT;AAEA,UAAM,uBAAuB,kBAAkB;AAC/C,kBAAc,oBAAoB;AAAA,EACpC,GAAG,CAAC,UAAU,CAAC;AAEf,QAAM,oBAAoB,CAAC,UAA+C;AACxE,UAAM,cAAc,MAAM,OAAO;AACjC,QAAI,MAAM,UAAU;AAClB,YAAM,SAAS,KAAK;AAAA,IACtB;AACA,kBAAc,WAAW;AAGzB,yBAAqB,YAAY,UAAU,CAAC;AAC5C,yBAAqB,KAAK,KAAK,WAAW,CAAC;AAC3C,8BAA0B,yBAAyB,KAAK,WAAW,CAAC;AACpE,4BAAwB,QAAQ,KAAK,WAAW,CAAC;AACjD,4BAAwB,QAAQ,KAAK,WAAW,CAAC;AAAA,EACnD;AAGA,QAAM,mBAAmB,MAAM;AAC7B,QAAI,CAAC,aAAa;AAChB,wBAAkB,IAAI;AAAA,IACxB;AAAA,EACF;AAGA,QAAM,kBAAkB,MAAM;AAC5B,sBAAkB,KAAK;AAAA,EACzB;AAEA,QAAM,mBAAmB,CAAC,UACxB,QACI,0FACA;AAEN,SACE,8BAAAA,QAAA,cAAC,aACC,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,YAAY;AAAA,MACZ,MAAM;AAAA,MACN,cAAc;AAAA,MACd,cAAc,EAAE,SAAS,KAAK;AAAA,MAC9B,cAAc,EAAE,iBAAiB,CAAC,MAAW,EAAE,eAAe,EAAE;AAAA,MAChE,SACE,8BAAAA,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,SAAS,CAAC,MAAM;AACd,cAAE,eAAe;AACjB,gBAAI,CAAC,aAAa;AAChB,gCAAkB,IAAI;AAAA,YACxB;AAAA,UACF;AAAA;AAAA,QAEA,8BAAAA,QAAA;AAAA,UAAC;AAAA;AAAA,YACC,OAAM;AAAA,YACN,WAAU;AAAA,YACV,OAAO;AAAA,YACP,UAAU;AAAA,YACV,SAAS;AAAA,YACT,QAAQ;AAAA,YACR,MAAM,kBAAkB,SAAS;AAAA,YACjC,SACE,8BAAAA,QAAA;AAAA,cAAC;AAAA;AAAA,gBACC,WAAU;AAAA,gBACV,SAAS,MAAM,mBAAmB,CAAC,eAAe;AAAA;AAAA,cAEjD,kBACC,8BAAAA,QAAA,cAAC,WAAQ,WAAU,sBAAqB,IAExC,8BAAAA,QAAA,cAAC,iBAAc,WAAU,sBAAqB;AAAA,cAC7C;AAAA,YACL;AAAA;AAAA,QAEJ;AAAA,MACF;AAAA;AAAA,IAGF,8BAAAA,QAAA,cAAC,SAAI,WAAU,2BACb,8BAAAA,QAAA,cAAC,QAAG,WAAU,2BACZ,8BAAAA,QAAA,cAAC,QAAG,WAAW,iBAAiB,iBAAiB,KAC9C,oBACC,8BAAAA,QAAA,cAAC,aAAU,MAAK,MAAK,IAErB,8BAAAA,QAAA,cAAC,eAAY,MAAK,MAAK,GACvB,4BAEJ,GACA,8BAAAA,QAAA,cAAC,QAAG,WAAW,iBAAiB,iBAAiB,KAC9C,oBACC,8BAAAA,QAAA,cAAC,aAAU,MAAK,MAAK,IAErB,8BAAAA,QAAA,cAAC,eAAY,MAAK,MAAK,GACvB,mBAEJ,GACA,8BAAAA,QAAA,cAAC,QAAG,WAAW,iBAAiB,sBAAsB,KACnD,yBACC,8BAAAA,QAAA,cAAC,aAAU,MAAK,MAAK,IAErB,8BAAAA,QAAA,cAAC,eAAY,MAAK,MAAK,GACvB,8BAEJ,GACA,8BAAAA,QAAA,cAAC,QAAG,WAAW,iBAAiB,oBAAoB,KACjD,uBACC,8BAAAA,QAAA,cAAC,aAAU,MAAK,MAAK,IAErB,8BAAAA,QAAA,cAAC,eAAY,MAAK,MAAK,GACvB,6BAEJ,GACA,8BAAAA,QAAA,cAAC,QAAG,WAAW,iBAAiB,oBAAoB,KACjD,uBACC,8BAAAA,QAAA,cAAC,aAAU,MAAK,MAAK,IAErB,8BAAAA,QAAA,cAAC,eAAY,MAAK,MAAK,GACvB,6BAEJ,CACF,CACF;AAAA,EACF,GACA,8BAAAA,QAAA,cAAC,6BAA0B,UAAU,YAAY,CACnD;AAEJ;","names":["import_react","import_react","React","import_react","React","import_react","React","import_react","React","import_react","React","React","React","React"]}
1
+ {"version":3,"sources":["../../elements/passwordInput/index.ts","../../elements/passwordInput/PasswordInput.tsx","../../icons/Emojis.tsx","../../icons/InputIcons.tsx","../../util/index.ts","../../icons/CommonIcons.tsx","../../elements/input/Input.tsx","../../elements/helperText/HelperText.tsx","../../elements/label/Label.tsx","../../elements/tooltip/Tooltip.tsx","../../elements/skeleton/Skeleton.tsx","../../elements/popover/Popover.tsx"],"sourcesContent":["export * from \"./PasswordInput\";\n","import React, { useEffect, useState } from \"react\";\n\nimport { CheckMark, EyeIcon, HiddenEyeIcon, UncheckMark } from \"../../icons\";\nimport { Input } from \"../input\";\nimport { Popover } from \"../popover\";\n\ntype PasswordInputIndicatorProps = {\n strength?: any;\n};\nexport const PasswordStrengthIndicator: React.FC<\n PasswordInputIndicatorProps\n> = ({ strength }) => {\n const strengthLevels = [\n \"none\",\n \"very-weak\",\n \"weak\",\n \"medium\",\n \"strong\",\n \"very-strong\"\n ];\n const strengthColors: any = {\n none: \"hawa-bg-red-700\",\n \"very-weak\": \"hawa-bg-red-600\",\n weak: \"hawa-bg-red-500\",\n medium: \"hawa-bg-yellow-500\",\n strong: \"hawa-bg-green-400\",\n \"very-strong\": \"hawa-bg-green-600\"\n };\n const currentStrengthLevel = strengthLevels[strength];\n const width = {\n none: \"0%\",\n \"very-weak\": \"20%\",\n weak: \"40%\",\n medium: \"60%\",\n strong: \"80%\",\n \"very-strong\": \"100%\"\n }[currentStrengthLevel];\n\n return (\n <div className=\"hawa-mt-0.5 hawa-h-2 hawa-w-full hawa-rounded hawa-bg-gray-200\">\n <div\n className={`${strengthColors[currentStrengthLevel]} hawa-h-full hawa-rounded hawa-transition-all hawa-duration-300`}\n style={{ width }}\n />\n </div>\n );\n};\n\ntype PasswordInputType = {\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n hidePopover?: boolean;\n};\n\nexport const PasswordInput: React.FC<PasswordInputType> = ({\n hidePopover,\n ...props\n}) => {\n const [inputValue, setInputValue] = useState(\"\");\n const [isInputFocused, setIsInputFocused] = useState(false);\n const [currentStr, setCurrentStr] = useState(0);\n const [passwordVisible, setPasswordVisible] = useState(false);\n // States for each criterion\n const [lengthCriteriaMet, setLengthCriteriaMet] = useState(false);\n const [numberCriteriaMet, setNumberCriteriaMet] = useState(false);\n const [specialCharCriteriaMet, setSpecialCharCriteriaMet] = useState(false);\n const [lowercaseCriteriaMet, setLowercaseCriteriaMet] = useState(false);\n const [uppercaseCriteriaMet, setUppercaseCriteriaMet] = useState(false);\n\n useEffect(() => {\n // Calculate strength based on the criteria met\n const calculateStrength = () => {\n let strengthScore = 0;\n if (lengthCriteriaMet) strengthScore += 1;\n if (numberCriteriaMet) strengthScore += 1;\n if (specialCharCriteriaMet) strengthScore += 1;\n if (lowercaseCriteriaMet) strengthScore += 1;\n if (uppercaseCriteriaMet) strengthScore += 1;\n return strengthScore;\n };\n\n const currentStrengthScore = calculateStrength();\n setCurrentStr(currentStrengthScore);\n }, [inputValue]);\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const newPassword = event.target.value;\n if (props.onChange) {\n props.onChange(event);\n }\n setInputValue(newPassword);\n\n // Update each criterion state based on the new password\n setLengthCriteriaMet(newPassword.length >= 8);\n setNumberCriteriaMet(/\\d/.test(newPassword));\n setSpecialCharCriteriaMet(/[!@#$%^&*(),.?\":{}|<>]/.test(newPassword));\n setLowercaseCriteriaMet(/[a-z]/.test(newPassword));\n setUppercaseCriteriaMet(/[A-Z]/.test(newPassword));\n };\n\n // Event handler for when the input gains focus\n const handleInputFocus = () => {\n if (!hidePopover) {\n setIsInputFocused(true);\n }\n };\n\n // Event handler for when the input loses focus\n const handleInputBlur = () => {\n setIsInputFocused(false);\n };\n\n const getCriteriaClass = (isMet: boolean) =>\n isMet\n ? \"hawa-flex hawa-flex-row hawa-gap-2 hawa-text-sm hawa-items-center hawa-text-green-500\"\n : \"hawa-flex hawa-flex-row hawa-gap-2 hawa-text-sm hawa-items-center hawa-text-red-600\";\n\n return (\n <div>\n <Popover\n width=\"trigger\"\n sideOffset={20}\n open={isInputFocused}\n onOpenChange={setIsInputFocused}\n triggerProps={{ asChild: true }}\n contentProps={{ onOpenAutoFocus: (e: any) => e.preventDefault() }}\n trigger={\n <div\n onClick={(e) => {\n e.preventDefault();\n if (!hidePopover) {\n setIsInputFocused(true);\n }\n }}\n >\n <Input\n width=\"full\"\n className=\"hawa-w-full\"\n label={\"test\"}\n onChange={handleInputChange}\n onFocus={handleInputFocus} // Set the input as focused\n onBlur={handleInputBlur}\n type={passwordVisible ? \"text\" : \"password\"}\n endIcon={\n <div\n className=\"hawa-cursor-pointer\"\n onClick={() => setPasswordVisible(!passwordVisible)}\n >\n {passwordVisible ? (\n <EyeIcon className=\"hawa-text-gray-500\" />\n ) : (\n <HiddenEyeIcon className=\"hawa-text-gray-500\" />\n )}{\" \"}\n </div>\n }\n />\n </div>\n }\n >\n <div className=\"hawa-rounded hawa-p-2\">\n <ul className=\"hawa-rounded hawa-p-2\">\n <li className={getCriteriaClass(lengthCriteriaMet)}>\n {lengthCriteriaMet ? (\n <CheckMark size=\"sm\" />\n ) : (\n <UncheckMark size=\"sm\" />\n )}\n At least 8 characters long\n </li>\n <li className={getCriteriaClass(numberCriteriaMet)}>\n {numberCriteriaMet ? (\n <CheckMark size=\"sm\" />\n ) : (\n <UncheckMark size=\"sm\" />\n )}\n At least 1 number\n </li>\n <li className={getCriteriaClass(specialCharCriteriaMet)}>\n {specialCharCriteriaMet ? (\n <CheckMark size=\"sm\" />\n ) : (\n <UncheckMark size=\"sm\" />\n )}\n At least 1 special character\n </li>\n <li className={getCriteriaClass(lowercaseCriteriaMet)}>\n {lowercaseCriteriaMet ? (\n <CheckMark size=\"sm\" />\n ) : (\n <UncheckMark size=\"sm\" />\n )}\n At least 1 lowercase letter\n </li>\n <li className={getCriteriaClass(uppercaseCriteriaMet)}>\n {uppercaseCriteriaMet ? (\n <CheckMark size=\"sm\" />\n ) : (\n <UncheckMark size=\"sm\" />\n )}\n At least 1 uppercase letter\n </li>\n </ul>\n </div>\n </Popover>\n <PasswordStrengthIndicator strength={currentStr} />\n </div>\n );\n};\n","import React from \"react\";\n\nexport const VeryGoodEmoji = () => (\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_53_166)\">\n <path\n clipRule=\"evenodd\"\n d=\"M14.5 8C14.5 11.5899 11.5899 14.5 8 14.5C4.41015 14.5 1.5 11.5899 1.5 8C1.5 4.41015 4.41015 1.5 8 1.5C11.5899 1.5 14.5 4.41015 14.5 8ZM16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM4.5 8.97498H3.875V9.59998C3.875 11.4747 5.81046 12.8637 7.99817 12.8637C10.1879 12.8637 12.125 11.4832 12.125 9.59998V8.97498H11.5H4.5ZM7.99817 11.6137C6.59406 11.6137 5.63842 10.9482 5.28118 10.225H10.7202C10.3641 10.9504 9.40797 11.6137 7.99817 11.6137Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n ></path>\n <path\n clipRule=\"evenodd\"\n d=\"M6.15295 4.92093L5.375 3.5L4.59705 4.92093L3 5.21885L4.11625 6.39495L3.90717 8L5.375 7.30593L6.84283 8L6.63375 6.39495L7.75 5.21885L6.15295 4.92093ZM11.403 4.92093L10.625 3.5L9.84705 4.92093L8.25 5.21885L9.36625 6.39495L9.15717 8L10.625 7.30593L12.0928 8L11.8837 6.39495L13 5.21885L11.403 4.92093Z\"\n fill=\"#FF990A\"\n fillRule=\"evenodd\"\n ></path>\n </g>\n </svg>\n);\nexport const GoodEmoji = () => (\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_53_167)\">\n <path\n clipRule=\"evenodd\"\n d=\"M14.5 8C14.5 11.5899 11.5899 14.5 8 14.5C4.41015 14.5 1.5 11.5899 1.5 8C1.5 4.41015 4.41015 1.5 8 1.5C11.5899 1.5 14.5 4.41015 14.5 8ZM16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM11.5249 10.8478L11.8727 10.3286L10.8342 9.6329L10.4863 10.1522C9.94904 10.9543 9.0363 11.4802 8.00098 11.4802C6.96759 11.4802 6.05634 10.9563 5.51863 10.1567L5.16986 9.63804L4.13259 10.3356L4.48137 10.8542C5.2414 11.9844 6.53398 12.7302 8.00098 12.7302C9.47073 12.7302 10.7654 11.9816 11.5249 10.8478ZM6.75 6.75C6.75 7.30228 6.30228 7.75 5.75 7.75C5.19772 7.75 4.75 7.30228 4.75 6.75C4.75 6.19772 5.19772 5.75 5.75 5.75C6.30228 5.75 6.75 6.19772 6.75 6.75ZM10.25 7.75C10.8023 7.75 11.25 7.30228 11.25 6.75C11.25 6.19772 10.8023 5.75 10.25 5.75C9.69771 5.75 9.25 6.19772 9.25 6.75C9.25 7.30228 9.69771 7.75 10.25 7.75Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n ></path>\n </g>\n </svg>\n);\nexport const BadEmoji = () => (\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_53_152)\">\n <path\n clipRule=\"evenodd\"\n d=\"M14.5 8C14.5 11.5899 11.5899 14.5 8 14.5C4.41015 14.5 1.5 11.5899 1.5 8C1.5 4.41015 4.41015 1.5 8 1.5C11.5899 1.5 14.5 4.41015 14.5 8ZM16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM5.75 7.75C6.30228 7.75 6.75 7.30228 6.75 6.75C6.75 6.19772 6.30228 5.75 5.75 5.75C5.19772 5.75 4.75 6.19772 4.75 6.75C4.75 7.30228 5.19772 7.75 5.75 7.75ZM11.25 6.75C11.25 7.30228 10.8023 7.75 10.25 7.75C9.69771 7.75 9.25 7.30228 9.25 6.75C9.25 6.19772 9.69771 5.75 10.25 5.75C10.8023 5.75 11.25 6.19772 11.25 6.75ZM11.5249 11.2622L11.8727 11.7814L10.8342 12.4771L10.4863 11.9578C9.94904 11.1557 9.0363 10.6298 8.00098 10.6298C6.96759 10.6298 6.05634 11.1537 5.51863 11.9533L5.16986 12.4719L4.13259 11.7744L4.48137 11.2558C5.2414 10.1256 6.53398 9.37982 8.00098 9.37982C9.47073 9.37982 10.7654 10.1284 11.5249 11.2622Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n ></path>\n </g>\n </svg>\n);\nexport const VeryBadEmoji = () => (\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_53_151)\">\n <path\n d=\"M11.841 12.0225C12.7197 12.9324 12.7197 14.4077 11.841 15.3176C10.9623 16.2275 9.53769 16.2275 8.65901 15.3176C7.78033 14.4077 7.78033 12.9324 8.65901 12.0225L10.25 10.375L11.841 12.0225Z\"\n fill=\"#0070F3\"\n ></path>\n <path\n clipRule=\"evenodd\"\n d=\"M8 1.5C4.41015 1.5 1.5 4.41015 1.5 8C1.5 10.9668 3.48826 13.4711 6.20649 14.2496L5.79351 15.6916C2.44895 14.7338 0 11.6539 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8C16 9.4652 15.6054 10.8405 14.9162 12.023L13.6203 11.2677C14.1794 10.3083 14.5 9.19272 14.5 8C14.5 4.41015 11.5899 1.5 8 1.5ZM6.75 6.75C6.75 7.30228 6.30228 7.75 5.75 7.75C5.19772 7.75 4.75 7.30228 4.75 6.75C4.75 6.19772 5.19772 5.75 5.75 5.75C6.30228 5.75 6.75 6.19772 6.75 6.75ZM10.25 7.75C10.8023 7.75 11.25 7.30228 11.25 6.75C11.25 6.19772 10.8023 5.75 10.25 5.75C9.69771 5.75 9.25 6.19772 9.25 6.75C9.25 7.30228 9.69771 7.75 10.25 7.75Z\"\n fill=\"currentColor\"\n fillRule=\"evenodd\"\n ></path>\n </g>\n </svg>\n);\n","import React from \"react\";\n\nimport { cn } from \"@util/index\";\n\nexport const EyeIcon = (props: any) => (\n <div className={cn(\"hawa-h-5 hawa-w-5\", props.className)}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z\" />\n <circle cx=\"12\" cy=\"12\" r=\"3\" />\n </svg>\n </div>\n);\nexport const HiddenEyeIcon = (props: any) => (\n <div className={cn(\"hawa-h-5 hawa-w-5\", props.className)}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M9.88 9.88a3 3 0 1 0 4.24 4.24\" />\n <path d=\"M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68\" />\n <path d=\"M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61\" />\n <line x1=\"2\" x2=\"22\" y1=\"2\" y2=\"22\" />\n </svg>\n </div>\n);\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\ntype Palette = {\n name: string;\n colors: {\n [key: number]: string;\n };\n};\ntype Rgb = {\n r: number;\n g: number;\n b: number;\n};\nfunction hexToRgb(hex: string): Rgb | null {\n const sanitizedHex = hex.replaceAll(\"##\", \"#\");\n const colorParts = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(\n sanitizedHex\n );\n\n if (!colorParts) {\n return null;\n }\n\n const [, r, g, b] = colorParts;\n\n return {\n r: parseInt(r, 16),\n g: parseInt(g, 16),\n b: parseInt(b, 16)\n } as Rgb;\n}\n\nfunction rgbToHex(r: number, g: number, b: number): string {\n const toHex = (c: number) => `0${c.toString(16)}`.slice(-2);\n return `#${toHex(r)}${toHex(g)}${toHex(b)}`;\n}\n\nexport function getTextColor(color: string): \"#FFF\" | \"#333\" {\n const rgbColor = hexToRgb(color);\n\n if (!rgbColor) {\n return \"#333\";\n }\n\n const { r, g, b } = rgbColor;\n const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n\n return luma < 120 ? \"#FFF\" : \"#333\";\n}\n\nfunction lighten(hex: string, intensity: number): string {\n const color = hexToRgb(`#${hex}`);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r + (255 - color.r) * intensity);\n const g = Math.round(color.g + (255 - color.g) * intensity);\n const b = Math.round(color.b + (255 - color.b) * intensity);\n\n return rgbToHex(r, g, b);\n}\n\nfunction darken(hex: string, intensity: number): string {\n const color = hexToRgb(hex);\n\n if (!color) {\n return \"\";\n }\n\n const r = Math.round(color.r * intensity);\n const g = Math.round(color.g * intensity);\n const b = Math.round(color.b * intensity);\n\n return rgbToHex(r, g, b);\n}\nconst parseColor = (color: any) => {\n if (color.startsWith(\"#\")) {\n // Convert hex to RGB\n let r = parseInt(color.slice(1, 3), 16);\n let g = parseInt(color.slice(3, 5), 16);\n let b = parseInt(color.slice(5, 7), 16);\n return [r, g, b];\n } else if (color.startsWith(\"rgb\")) {\n // Extract RGB values from rgb() format\n return color.match(/\\d+/g).map(Number);\n }\n // Default to white if format is unrecognized\n return [255, 255, 255];\n};\nexport const calculateLuminance = (color: any) => {\n const [r, g, b] = parseColor(color)?.map((c: any) => {\n c /= 255;\n return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;\n });\n return 0.2126 * r + 0.7152 * g + 0.0722 * b;\n};\n\nfunction getPallette(baseColor: string): Palette {\n const name = baseColor;\n\n const response: Palette = {\n name,\n colors: {\n 500: `#${baseColor}`.replace(\"##\", \"#\")\n }\n };\n\n const intensityMap: {\n [key: number]: number;\n } = {\n 50: 0.95,\n 100: 0.9,\n 200: 0.75,\n 300: 0.6,\n 400: 0.3,\n 600: 0.9,\n 700: 0.75,\n 800: 0.6,\n 900: 0.49\n };\n\n [50, 100, 200, 300, 400].forEach((level) => {\n response.colors[level] = lighten(baseColor, intensityMap[level]);\n });\n [600, 700, 800, 900].forEach((level) => {\n response.colors[level] = darken(baseColor, intensityMap[level]);\n });\n\n return response as Palette;\n}\n\nexport { getPallette };\n\n// const hexToRgb = (hex) => {\n// let d = hex?.split(\"#\")[1];\n// var aRgbHex = d?.match(/.{1,2}/g);\n// var aRgb = [\n// parseInt(aRgbHex[0], 16),\n// parseInt(aRgbHex[1], 16),\n// parseInt(aRgbHex[2], 16)\n// ];\n// return aRgb;\n// };\n// const getTextColor = (backColor) => {\n// let rgbArray = hexToRgb(backColor);\n// if (rgbArray[0] * 0.299 + rgbArray[1] * 0.587 + rgbArray[2] * 0.114 > 186) {\n// return \"#000000\";\n// } else {\n// return \"#ffffff\";\n// }\n// };\n// const replaceAt = function (string, index, replacement) {\n// // if (replacement == \"\" || replacement == \" \") {\n// // return (\n// // string.substring(0, index) +\n// // string.substring(index + replacement.length )\n// // );\n// // }\n// const replaced = string.substring(0, index) + replacement + string.substring(index + 1)\n// return replaced\n// };\n\n// export { hexToRgb, getTextColor, replaceAt };\n","import React from \"react\";\n\nimport { cn } from \"@util/index\";\n\nexport const CheckMark = ({ size = \"default\", className }: any) => {\n let sizeStyles: any = {\n default: \"hawa-h-5 hawa-w-5\",\n sm: \"hawa-h-3 hawa-w-3\",\n };\n return (\n <svg\n className={cn(sizeStyles[size], className)}\n aria-hidden=\"true\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n );\n};\n\nexport const UncheckMark = ({ size = \"default\", className }: any) => {\n let sizeStyles: any = {\n default: \"hawa-h-5 hawa-w-5\",\n sm: \"hawa-h-3 hawa-w-3\",\n };\n\n return (\n <svg\n className={cn(sizeStyles[size], className)}\n aria-hidden=\"true\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n );\n};\nexport const MenuIcon = () => (\n <svg\n aria-label=\"Menu Button\"\n stroke=\"currentColor\"\n fill=\"currentColor\"\n strokeWidth={0}\n viewBox=\"0 0 20 20\"\n aria-hidden=\"true\"\n height=\"1.6em\"\n width=\"1.6em\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z\"\n ></path>\n </svg>\n);\n","import React, { forwardRef } from \"react\";\n\nimport { cn } from \"@util/index\";\n\nimport { HelperText } from \"../helperText\";\nimport { Label, LabelProps } from \"../label/Label\";\nimport { Skeleton } from \"../skeleton/Skeleton\";\n\nexport type TextFieldTypes = React.InputHTMLAttributes<HTMLInputElement> & {\n isLoading?: boolean;\n isLoadingError?: boolean;\n containerClassName?: string;\n margin?: \"none\" | \"normal\" | \"large\";\n width?: \"small\" | \"normal\" | \"full\" | \"auto\";\n /** The label of the input field */\n label?: any;\n labelProps?: LabelProps;\n hideSeparator?: boolean;\n /** The small red text under the input field to show validation. */\n helperText?: any;\n prefixText?: any;\n forceHideHelperText?: boolean;\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n /** The icon inside the input field */\n icon?: any;\n /** Boolean to enable/disable editing the input field and using it as a text field */\n preview?: boolean;\n // maxLength?: any;\n iconInside?: React.ReactNode;\n endIcon?: React.ReactNode;\n endIconProps?: { className?: string };\n startIcon?: React.ReactNode;\n placeholder?: React.ReactNode;\n /** Show the count of characters left in the input field. Works along with maxLength prop. */\n showCount?: boolean;\n countPosition?: \"top\" | \"bottom\" | \"center\";\n popup?: boolean;\n popupContent?: React.ReactNode;\n outsidePrefix?: any;\n loadingErrorMesssage?: string;\n};\nexport const Input = forwardRef<HTMLInputElement, TextFieldTypes>(\n (\n {\n margin = \"none\",\n width = \"full\",\n preview = false,\n forceHideHelperText = false,\n labelProps,\n placeholder,\n showCount,\n inputProps,\n countPosition = \"bottom\",\n ...props\n },\n ref,\n ) => {\n let marginStyles = {\n none: \"hawa-mb-0\",\n normal: \"hawa-mb-3\",\n large: \"hawa-mb-5\",\n };\n let widthStyles = {\n small: \"hawa-w-full hawa-max-w-2xs\",\n normal: \"hawa-w-1/2\",\n full: \"hawa-w-full\",\n auto: \"\",\n };\n\n let defaultStyle =\n \"hawa-flex hawa-max-h-fit hawa-h-fit hawa-relative hawa-flex-col hawa-justify-center hawa-gap-0\";\n let defaultInputStyle =\n \"hawa-block hawa-w-full hawa-rounded hawa-border hawa-transition-all hawa-bg-background hawa-p-3 hawa-text-sm placeholder:hawa-text-muted-foreground\";\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n let newValue = e.target.value;\n\n if (props.prefixText) {\n // If newValue is shorter than prefixText, set newValue to prefixText\n if (newValue.length < props.prefixText.length) {\n newValue = props.prefixText;\n } else {\n // Check if newValue starts with a substring of prefixText\n const isSubstring = props.prefixText.startsWith(newValue);\n\n if (!isSubstring && !newValue.startsWith(props.prefixText)) {\n newValue = `${props.prefixText}${newValue}`;\n }\n }\n }\n\n if (props.onChange) {\n const newEvent = { ...e, target: { ...e.target, value: newValue } };\n props.onChange(newEvent as React.ChangeEvent<HTMLInputElement>);\n }\n };\n\n return (\n <div\n className={cn(\n defaultStyle,\n marginStyles[margin],\n widthStyles[width],\n props.containerClassName,\n \"hawa-w-full hawa-gap-2\",\n )}\n >\n {props.label && <Label {...labelProps}>{props.label}</Label>}\n <div className=\"hawa-flex hawa-flex-row hawa-w-full hawa-items-center \">\n {props.outsidePrefix && (\n <span\n className={cn(\n \"hawa-me-2 hawa-opacity-90\",\n !forceHideHelperText && \"hawa-mb-2\",\n )}\n >\n {props.outsidePrefix}\n </span>\n )}\n {props.isLoading ? (\n <div className=\"hawa-pb-2 hawa-w-full\">\n <Skeleton className=\"hawa-h-[40px] hawa-w-full\" />\n </div>\n ) : props.isLoadingError ? (\n <div className=\"hawa-pb-2 hawa-w-full\">\n <Skeleton\n animation=\"none\"\n className=\"hawa-h-[40px] hawa-w-full !hawa-bg-destructive/[0.3]\"\n content={\n <div className=\"hawa-flex hawa-flex-row hawa-gap-2\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"hawa-text-destructive\"\n >\n <path d=\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\" />\n <path d=\"M12 9v4\" />\n <path d=\"M12 17h.01\" />\n </svg>\n <span>\n <span className=\"hawa-text-destructive\">\n {props.loadingErrorMesssage || \"Error loading data\"}\n </span>\n </span>\n </div>\n }\n />\n </div>\n ) : (\n <>\n {!props.hideSeparator && (\n <div\n className={cn(\n \"hawa-absolute hawa-top-[22px] hawa-h-[0.8px] hawa-w-full hawa-bg-gray-200 hawa-transition-all dark:hawa-bg-gray-800\",\n preview ? \"hawa-opacity-100\" : \"hawa-opacity-0\",\n )}\n ></div>\n )}\n <div className=\"hawa-flex hawa-flex-col hawa-w-full hawa-gap-2\">\n <div className={\"hawa-relative\"}>\n {props.startIcon && (\n <div className=\"hawa-absolute hawa-start-3 hawa-top-1/2 hawa--translate-y-1/2\">\n {props.startIcon}\n </div>\n )}\n {props.endIcon && (\n <div\n className={cn(\n \"hawa-absolute hawa-end-3 hawa-top-1/2 hawa--translate-y-1/2\",\n props.endIconProps?.className,\n )}\n >\n {props.endIcon}\n </div>\n )}\n <input\n required\n dir={props.dir}\n type={props.type}\n value={props.value}\n onChange={handleChange}\n autoComplete={props.autoComplete}\n defaultValue={props.defaultValue}\n placeholder={placeholder}\n disabled={props.disabled || preview}\n style={{ height: 40 }}\n {...inputProps}\n className={cn(\n defaultInputStyle,\n \" focus-visible:hawa-outline-none focus-visible:hawa-ring-2 focus-visible:hawa-ring-ring focus-visible:hawa-ring-offset-0 dark:hawa-text-white\",\n {\n \"hawa-pe-9\": props.endIcon,\n \"hawa-ps-9\": props.startIcon,\n \"hawa-pe-[60px]\": countPosition === \"center\",\n },\n preview &&\n \"hawa-border-transparent hawa-bg-transparent hawa-px-0\",\n inputProps?.className,\n )}\n />\n </div>\n\n {/* Regular helper text */}\n {!forceHideHelperText && (\n <HelperText helperText={props.helperText} />\n )}\n {/* Popover helper text */}\n {!props.disabled && forceHideHelperText && (\n <div\n className={cn(\n \"hawa-absolute hawa-end-0 hawa-top-[47px] hawa-z-20 hawa-translate-y-1/2 hawa-rounded hawa-bg-background hawa-text-start hawa-text-xs hawa-text-helper-color hawa-drop-shadow-md hawa-transition-all\",\n props.helperText\n ? \"hawa-border hawa-p-1\"\n : \"hawa-border-none hawa-p-0\",\n )}\n >\n {props.helperText}\n </div>\n )}\n {/* Character Counter */}\n {showCount && (\n <div\n className={cn(\n \"hawa-absolute hawa-translate-y-1/2 hawa-text-start hawa-text-xs hawa-transition-all\",\n {\n \"hawa-end-0 hawa-top-[62px]\":\n countPosition === \"bottom\",\n \"hawa-bottom-[62px] hawa-end-0\":\n countPosition === \"top\",\n \"hawa-end-2\": countPosition === \"center\",\n },\n )}\n >\n {props.value ? String(props.value).length : 0}/\n {props.maxLength}\n </div>\n )}\n\n {/* Popover helper text */}\n {/* {props.popup && (\n <div\n className={cn(\n \"hawa-absolute hawa-top-[47px] hawa-min-h-fit hawa-w-full hawa-text-xs hawa-text-helper-color hawa-transition-all hawa-text-start hawa-rounded hawa-end-0 hawa-z-20 hawa-drop-shadow-md hawa-bg-background hawa-translate-y-1/2\",\n props.helperText\n ? \"hawa-border hawa-p-1\"\n : \"hawa-border-none hawa-p-0\"\n )}\n >\n {props.popupContent}\n </div>\n )} */}\n </div>\n </>\n )}\n </div>\n </div>\n );\n },\n);\n","import React from \"react\";\n\nimport { cn } from \"@util/index\";\n\nexport const HelperText = ({ helperText }: { helperText?: any }) => (\n <p\n className={cn(\n \"hawa-my-0 hawa-text-start hawa-text-xs hawa-text-helper-color hawa-transition-all\",\n helperText ? \"hawa-h-4 hawa-opacity-100\" : \"hawa-h-0 hawa-opacity-0\",\n )}\n >\n {helperText}\n </p>\n);\n","import * as React from \"react\";\n\nimport { PositionType } from \"@_types/commonTypes\";\n\nimport { cn } from \"@util/index\";\nimport { Tooltip } from \"../tooltip\";\n\nexport type LabelProps = {\n hint?: React.ReactNode;\n hintSide?: PositionType;\n htmlFor?: string;\n required?: boolean;\n};\n\nconst Label = React.forwardRef<\n HTMLLabelElement,\n React.LabelHTMLAttributes<HTMLLabelElement> & LabelProps\n>(({ className, hint, hintSide, required, children, ...props }, ref) => (\n <div className=\"hawa-flex hawa-flex-row hawa-items-center hawa-gap-1 hawa-transition-all\">\n <label\n ref={ref}\n className={cn(\n \"hawa-text-sm hawa-font-medium hawa-leading-none peer-disabled:hawa-cursor-not-allowed peer-disabled:hawa-opacity-70\",\n className\n )}\n {...props}\n >\n {children}\n {required && <span className=\"hawa-mx-0.5 hawa-text-red-500\">*</span>}\n </label>\n {hint && (\n <Tooltip\n content={hint}\n side={hintSide}\n triggerProps={{\n tabIndex: -1,\n onClick: (event) => event.preventDefault()\n }}\n >\n <div>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"hawa-h-[14px] hawa-w-[14px] hawa-cursor-help\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\" />\n <path d=\"M12 17h.01\" />\n </svg>\n </div>\n </Tooltip>\n )}\n </div>\n));\n\nLabel.displayName = \"Label\";\n\nexport { Label };\n","import React from \"react\";\n\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport { cn } from \"@util/index\";\n\nimport { PositionType } from \"@_types/commonTypes\";\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content> & {\n size?: \"default\" | \"small\" | \"large\";\n }\n>(({ className, sideOffset = 4, size = \"default\", ...props }, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"hawa-z-50 hawa-overflow-hidden hawa-rounded-md hawa-border hawa-bg-popover hawa-px-3 hawa-py-1.5 hawa-text-sm hawa-text-popover-foreground hawa-shadow-md hawa-animate-in hawa-fade-in-0 hawa-zoom-in-95 data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=closed]:hawa-zoom-out-95 data-[side=bottom]:hawa-slide-in-from-top-2 data-[side=left]:hawa-slide-in-from-right-2 data-[side=right]:hawa-slide-in-from-left-2 data-[side=top]:hawa-slide-in-from-bottom-2\",\n {\n \"hawa-text-xs\": size === \"small\",\n \"hawa-text-xl\": size === \"large\"\n },\n className\n )}\n {...props}\n />\n));\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\n\nconst TooltipArrow = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Arrow>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Arrow>\n>(({ className, ...props }, ref) => (\n <TooltipPrimitive.Arrow ref={ref} className={cn(className)} {...props} />\n));\nTooltipArrow.displayName = TooltipPrimitive.Arrow.displayName;\n\ntype TooltipTypes = {\n /** Controls the open state of the tooltip. */\n open?: any;\n /** Specifies the side where the tooltip will appear. */\n side?: PositionType;\n /** Content to be displayed within the tooltip. */\n content?: any;\n /** Elements to which the tooltip is anchored. */\n children?: any;\n /** Sets the default open state of the tooltip. */\n defaultOpen?: any;\n /** Event handler for open state changes. */\n onOpenChange?: any;\n /** Duration of the delay before the tooltip appears. */\n delayDuration?: any;\n /** Size of the tooltip. */\n size?: \"default\" | \"small\" | \"large\";\n /** Disables the tooltip. */\n disabled?: boolean;\n triggerProps?: TooltipPrimitive.TooltipTriggerProps;\n contentProps?: TooltipPrimitive.TooltipContentProps;\n providerProps?: TooltipPrimitive.TooltipProviderProps;\n};\n\nconst Tooltip: React.FunctionComponent<TooltipTypes> = ({\n side,\n size,\n open,\n content,\n children,\n disabled,\n defaultOpen,\n onOpenChange,\n triggerProps,\n contentProps,\n providerProps,\n delayDuration = 300,\n ...props\n}) => {\n return (\n <TooltipPrimitive.TooltipProvider\n delayDuration={delayDuration}\n {...providerProps}\n >\n <TooltipPrimitive.Root\n open={!disabled && open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n {...props}\n >\n <TooltipPrimitive.Trigger {...triggerProps}>\n {children}\n </TooltipPrimitive.Trigger>\n <TooltipContent\n size={size}\n side={side}\n align=\"center\"\n {...contentProps}\n style={{\n ...contentProps?.style,\n maxWidth: \"var(--radix-tooltip-content-available-width)\",\n maxHeight: \"var(--radix-tooltip-content-available-height)\"\n }}\n >\n {content}\n </TooltipContent>\n </TooltipPrimitive.Root>\n </TooltipPrimitive.TooltipProvider>\n );\n};\n\nexport { Tooltip };\n","import React from \"react\";\n\nimport { cn } from \"@util/index\";\n\ninterface SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\n className?: string;\n animation?: \"none\" | \"pulse\" | \"shimmer\";\n content?: any;\n fade?: \"top\" | \"bottom\" | \"left\" | \"right\";\n}\n\nfunction Skeleton({\n className,\n content,\n animation = \"pulse\",\n fade,\n ...props\n}: SkeletonProps) {\n const animationStyles = {\n none: \"hawa-rounded hawa-bg-muted\",\n pulse: \"hawa-animate-pulse hawa-rounded hawa-bg-muted\",\n shimmer:\n \"hawa-space-y-5 hawa-rounded hawa-bg-muted hawa-p-4 hawa-relative before:hawa-absolute before:hawa-inset-0 before:hawa--translate-x-full before:hawa-animate-[shimmer_2s_infinite] before:hawa-bg-gradient-to-r before:hawa-from-transparent before:hawa-via-gray-300/40 dark:before:hawa-via-white/10 before:hawa-to-transparent hawa-isolate hawa-overflow-hidden before:hawa-border-t before:hawa-border-rose-100/10\",\n };\n const fadeStyle = {\n bottom: \"hawa-mask-fade-bottom\",\n top: \"hawa-mask-fade-top\",\n right: \"hawa-mask-fade-right\",\n left: \"hawa-mask-fade-left \",\n };\n\n return (\n <div\n className={cn(\n animationStyles[animation],\n content &&\n \"hawa-flex hawa-flex-col hawa-items-center hawa-justify-center\",\n fade && fadeStyle[fade],\n className,\n )}\n {...props}\n >\n {content && content}\n </div>\n );\n}\n\nexport { Skeleton };\n","import * as React from \"react\";\n\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport { cn } from \"@util/index\";\n\nimport { PositionType } from \"@_types/commonTypes\";\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> & {\n container?: HTMLElement | null;\n }\n>(\n (\n { className, align = \"center\", sideOffset = 4, container, ...props },\n ref,\n ) => (\n <PopoverPrimitive.Portal container={container}>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"dark:dark-shadow hawa-z-50 hawa-rounded hawa-border hawa-bg-popover hawa-text-popover-foreground hawa-shadow-md hawa-outline-none data-[state=open]:hawa-animate-in data-[state=closed]:hawa-animate-out data-[state=closed]:hawa-fade-out-0 data-[state=open]:hawa-fade-in-0 data-[state=closed]:hawa-zoom-out-95 data-[state=open]:hawa-zoom-in-95 data-[side=bottom]:hawa-slide-in-from-top-2 data-[side=left]:hawa-slide-in-from-right-2 data-[side=right]:hawa-slide-in-from-left-2 data-[side=top]:hawa-slide-in-from-bottom-2\",\n className,\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n ),\n);\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\ninterface PopoverProps {\n side?: PositionType;\n align?: \"start\" | \"center\" | \"end\";\n trigger?: React.ReactNode;\n children: React.ReactNode;\n className?: string;\n sideOffset?: number;\n disableTrigger?: any;\n width?: \"trigger\" | \"default\";\n open?: boolean;\n contentProps?: PopoverPrimitive.PopoverContentProps;\n triggerProps?: PopoverPrimitive.PopoverTriggerProps;\n}\n\ntype HawaPopoverTypes = PopoverProps &\n React.ComponentProps<typeof PopoverPrimitive.Root>;\n\nconst Popover: React.FC<HawaPopoverTypes> = ({\n trigger,\n children,\n className,\n align = \"center\",\n side,\n sideOffset = 4,\n open,\n width = \"default\",\n disableTrigger,\n contentProps,\n triggerProps,\n ...props\n}) => {\n let widthStyles = {\n trigger: \"var(--radix-popover-trigger-width)\",\n default: \"auto\",\n };\n\n return (\n <PopoverPrimitive.Root open={open} {...props}>\n <PopoverPrimitive.Trigger\n className=\"hawa-w-full\"\n disabled={disableTrigger}\n {...triggerProps}\n >\n {trigger}\n </PopoverPrimitive.Trigger>\n <PopoverContent\n side={side}\n className={className}\n align={align}\n sideOffset={sideOffset}\n style={{\n width: widthStyles[width],\n maxWidth: \"var(--radix-popover-content-available-width)\",\n maxHeight: \"var(--radix-popover-content-available-height)\",\n }}\n {...contentProps}\n >\n {children}\n </PopoverContent>\n </PopoverPrimitive.Root>\n );\n};\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\nconst PopoverPortal = PopoverPrimitive.Portal;\nconst PopoverRoot = PopoverPrimitive.Root;\n\nexport { Popover, PopoverPortal, PopoverRoot, PopoverContent, PopoverTrigger };\n"],"mappings":"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","names":["import_react","import_react","React","import_react","React","import_react","import_react","React","React","import_react","React","import_react","React","React","React","React"]}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
 
3
3
  // elements/passwordInput/PasswordInput.tsx
4
- import React9, { useEffect, useState } from "react";
4
+ import React10, { useEffect, useState } from "react";
5
5
 
6
6
  // icons/Emojis.tsx
7
7
  import React from "react";
@@ -98,15 +98,28 @@ var UncheckMark = ({ size = "default", className }) => {
98
98
  };
99
99
 
100
100
  // elements/input/Input.tsx
101
- import React7, { forwardRef as forwardRef2 } from "react";
101
+ import React8, { forwardRef as forwardRef2 } from "react";
102
+
103
+ // elements/helperText/HelperText.tsx
104
+ import React4 from "react";
105
+ var HelperText = ({ helperText }) => /* @__PURE__ */ React4.createElement(
106
+ "p",
107
+ {
108
+ className: cn(
109
+ "hawa-my-0 hawa-text-start hawa-text-xs hawa-text-helper-color hawa-transition-all",
110
+ helperText ? "hawa-h-4 hawa-opacity-100" : "hawa-h-0 hawa-opacity-0"
111
+ )
112
+ },
113
+ helperText
114
+ );
102
115
 
103
116
  // elements/label/Label.tsx
104
- import * as React5 from "react";
117
+ import * as React6 from "react";
105
118
 
106
119
  // elements/tooltip/Tooltip.tsx
107
- import React4 from "react";
120
+ import React5 from "react";
108
121
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
109
- var TooltipContent = React4.forwardRef(({ className, sideOffset = 4, size = "default", ...props }, ref) => /* @__PURE__ */ React4.createElement(
122
+ var TooltipContent = React5.forwardRef(({ className, sideOffset = 4, size = "default", ...props }, ref) => /* @__PURE__ */ React5.createElement(
110
123
  TooltipPrimitive.Content,
111
124
  {
112
125
  ref,
@@ -123,7 +136,7 @@ var TooltipContent = React4.forwardRef(({ className, sideOffset = 4, size = "def
123
136
  }
124
137
  ));
125
138
  TooltipContent.displayName = TooltipPrimitive.Content.displayName;
126
- var TooltipArrow = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React4.createElement(TooltipPrimitive.Arrow, { ref, className: cn(className), ...props }));
139
+ var TooltipArrow = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React5.createElement(TooltipPrimitive.Arrow, { ref, className: cn(className), ...props }));
127
140
  TooltipArrow.displayName = TooltipPrimitive.Arrow.displayName;
128
141
  var Tooltip = ({
129
142
  side,
@@ -140,13 +153,13 @@ var Tooltip = ({
140
153
  delayDuration = 300,
141
154
  ...props
142
155
  }) => {
143
- return /* @__PURE__ */ React4.createElement(
156
+ return /* @__PURE__ */ React5.createElement(
144
157
  TooltipPrimitive.TooltipProvider,
145
158
  {
146
159
  delayDuration,
147
160
  ...providerProps
148
161
  },
149
- /* @__PURE__ */ React4.createElement(
162
+ /* @__PURE__ */ React5.createElement(
150
163
  TooltipPrimitive.Root,
151
164
  {
152
165
  open: !disabled && open,
@@ -154,8 +167,8 @@ var Tooltip = ({
154
167
  onOpenChange,
155
168
  ...props
156
169
  },
157
- /* @__PURE__ */ React4.createElement(TooltipPrimitive.Trigger, { ...triggerProps }, children),
158
- /* @__PURE__ */ React4.createElement(
170
+ /* @__PURE__ */ React5.createElement(TooltipPrimitive.Trigger, { ...triggerProps }, children),
171
+ /* @__PURE__ */ React5.createElement(
159
172
  TooltipContent,
160
173
  {
161
174
  size,
@@ -175,7 +188,7 @@ var Tooltip = ({
175
188
  };
176
189
 
177
190
  // elements/label/Label.tsx
178
- var Label = React5.forwardRef(({ className, hint, hintSide, required, children, ...props }, ref) => /* @__PURE__ */ React5.createElement("div", { className: "hawa-flex hawa-flex-row hawa-items-center hawa-gap-1 hawa-transition-all" }, /* @__PURE__ */ React5.createElement(
191
+ var Label = React6.forwardRef(({ className, hint, hintSide, required, children, ...props }, ref) => /* @__PURE__ */ React6.createElement("div", { className: "hawa-flex hawa-flex-row hawa-items-center hawa-gap-1 hawa-transition-all" }, /* @__PURE__ */ React6.createElement(
179
192
  "label",
180
193
  {
181
194
  ref,
@@ -186,8 +199,8 @@ var Label = React5.forwardRef(({ className, hint, hintSide, required, children,
186
199
  ...props
187
200
  },
188
201
  children,
189
- required && /* @__PURE__ */ React5.createElement("span", { className: "hawa-mx-0.5 hawa-text-red-500" }, "*")
190
- ), hint && /* @__PURE__ */ React5.createElement(
202
+ required && /* @__PURE__ */ React6.createElement("span", { className: "hawa-mx-0.5 hawa-text-red-500" }, "*")
203
+ ), hint && /* @__PURE__ */ React6.createElement(
191
204
  Tooltip,
192
205
  {
193
206
  content: hint,
@@ -197,7 +210,7 @@ var Label = React5.forwardRef(({ className, hint, hintSide, required, children,
197
210
  onClick: (event) => event.preventDefault()
198
211
  }
199
212
  },
200
- /* @__PURE__ */ React5.createElement("div", null, /* @__PURE__ */ React5.createElement(
213
+ /* @__PURE__ */ React6.createElement("div", null, /* @__PURE__ */ React6.createElement(
201
214
  "svg",
202
215
  {
203
216
  xmlns: "http://www.w3.org/2000/svg",
@@ -209,15 +222,15 @@ var Label = React5.forwardRef(({ className, hint, hintSide, required, children,
209
222
  strokeLinecap: "round",
210
223
  strokeLinejoin: "round"
211
224
  },
212
- /* @__PURE__ */ React5.createElement("circle", { cx: "12", cy: "12", r: "10" }),
213
- /* @__PURE__ */ React5.createElement("path", { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" }),
214
- /* @__PURE__ */ React5.createElement("path", { d: "M12 17h.01" })
225
+ /* @__PURE__ */ React6.createElement("circle", { cx: "12", cy: "12", r: "10" }),
226
+ /* @__PURE__ */ React6.createElement("path", { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" }),
227
+ /* @__PURE__ */ React6.createElement("path", { d: "M12 17h.01" })
215
228
  ))
216
229
  )));
217
230
  Label.displayName = "Label";
218
231
 
219
232
  // elements/skeleton/Skeleton.tsx
220
- import React6 from "react";
233
+ import React7 from "react";
221
234
  function Skeleton({
222
235
  className,
223
236
  content,
@@ -236,7 +249,7 @@ function Skeleton({
236
249
  right: "hawa-mask-fade-right",
237
250
  left: "hawa-mask-fade-left "
238
251
  };
239
- return /* @__PURE__ */ React6.createElement(
252
+ return /* @__PURE__ */ React7.createElement(
240
253
  "div",
241
254
  {
242
255
  className: cn(
@@ -296,7 +309,7 @@ var Input = forwardRef2(
296
309
  props.onChange(newEvent);
297
310
  }
298
311
  };
299
- return /* @__PURE__ */ React7.createElement(
312
+ return /* @__PURE__ */ React8.createElement(
300
313
  "div",
301
314
  {
302
315
  className: cn(
@@ -307,8 +320,8 @@ var Input = forwardRef2(
307
320
  "hawa-w-full hawa-gap-2"
308
321
  )
309
322
  },
310
- props.label && /* @__PURE__ */ React7.createElement(Label, { ...labelProps }, props.label),
311
- /* @__PURE__ */ React7.createElement("div", { className: "hawa-flex hawa-flex-row hawa-w-full hawa-items-center " }, props.outsidePrefix && /* @__PURE__ */ React7.createElement(
323
+ props.label && /* @__PURE__ */ React8.createElement(Label, { ...labelProps }, props.label),
324
+ /* @__PURE__ */ React8.createElement("div", { className: "hawa-flex hawa-flex-row hawa-w-full hawa-items-center " }, props.outsidePrefix && /* @__PURE__ */ React8.createElement(
312
325
  "span",
313
326
  {
314
327
  className: cn(
@@ -317,12 +330,12 @@ var Input = forwardRef2(
317
330
  )
318
331
  },
319
332
  props.outsidePrefix
320
- ), props.isLoading ? /* @__PURE__ */ React7.createElement("div", { className: "hawa-pb-2 hawa-w-full" }, /* @__PURE__ */ React7.createElement(Skeleton, { className: "hawa-h-[40px] hawa-w-full" })) : props.isLoadingError ? /* @__PURE__ */ React7.createElement("div", { className: "hawa-pb-2 hawa-w-full" }, /* @__PURE__ */ React7.createElement(
333
+ ), props.isLoading ? /* @__PURE__ */ React8.createElement("div", { className: "hawa-pb-2 hawa-w-full" }, /* @__PURE__ */ React8.createElement(Skeleton, { className: "hawa-h-[40px] hawa-w-full" })) : props.isLoadingError ? /* @__PURE__ */ React8.createElement("div", { className: "hawa-pb-2 hawa-w-full" }, /* @__PURE__ */ React8.createElement(
321
334
  Skeleton,
322
335
  {
323
336
  animation: "none",
324
337
  className: "hawa-h-[40px] hawa-w-full !hawa-bg-destructive/[0.3]",
325
- content: /* @__PURE__ */ React7.createElement("div", { className: "hawa-flex hawa-flex-row hawa-gap-2" }, /* @__PURE__ */ React7.createElement(
338
+ content: /* @__PURE__ */ React8.createElement("div", { className: "hawa-flex hawa-flex-row hawa-gap-2" }, /* @__PURE__ */ React8.createElement(
326
339
  "svg",
327
340
  {
328
341
  xmlns: "http://www.w3.org/2000/svg",
@@ -336,12 +349,12 @@ var Input = forwardRef2(
336
349
  strokeLinejoin: "round",
337
350
  className: "hawa-text-destructive"
338
351
  },
339
- /* @__PURE__ */ React7.createElement("path", { d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3" }),
340
- /* @__PURE__ */ React7.createElement("path", { d: "M12 9v4" }),
341
- /* @__PURE__ */ React7.createElement("path", { d: "M12 17h.01" })
342
- ), /* @__PURE__ */ React7.createElement("span", null, /* @__PURE__ */ React7.createElement("span", { className: "hawa-text-destructive" }, props.loadingErrorMesssage || "Error loading data")))
352
+ /* @__PURE__ */ React8.createElement("path", { d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3" }),
353
+ /* @__PURE__ */ React8.createElement("path", { d: "M12 9v4" }),
354
+ /* @__PURE__ */ React8.createElement("path", { d: "M12 17h.01" })
355
+ ), /* @__PURE__ */ React8.createElement("span", null, /* @__PURE__ */ React8.createElement("span", { className: "hawa-text-destructive" }, props.loadingErrorMesssage || "Error loading data")))
343
356
  }
344
- )) : /* @__PURE__ */ React7.createElement(React7.Fragment, null, !props.hideSeparator && /* @__PURE__ */ React7.createElement(
357
+ )) : /* @__PURE__ */ React8.createElement(React8.Fragment, null, !props.hideSeparator && /* @__PURE__ */ React8.createElement(
345
358
  "div",
346
359
  {
347
360
  className: cn(
@@ -349,7 +362,7 @@ var Input = forwardRef2(
349
362
  preview ? "hawa-opacity-100" : "hawa-opacity-0"
350
363
  )
351
364
  }
352
- ), /* @__PURE__ */ React7.createElement("div", { className: "hawa-flex hawa-flex-col hawa-w-full hawa-gap-2" }, /* @__PURE__ */ React7.createElement("div", { className: "hawa-relative" }, props.startIcon && /* @__PURE__ */ React7.createElement("div", { className: "hawa-absolute hawa-start-3 hawa-top-1/2 hawa--translate-y-1/2" }, props.startIcon), props.endIcon && /* @__PURE__ */ React7.createElement(
365
+ ), /* @__PURE__ */ React8.createElement("div", { className: "hawa-flex hawa-flex-col hawa-w-full hawa-gap-2" }, /* @__PURE__ */ React8.createElement("div", { className: "hawa-relative" }, props.startIcon && /* @__PURE__ */ React8.createElement("div", { className: "hawa-absolute hawa-start-3 hawa-top-1/2 hawa--translate-y-1/2" }, props.startIcon), props.endIcon && /* @__PURE__ */ React8.createElement(
353
366
  "div",
354
367
  {
355
368
  className: cn(
@@ -358,7 +371,7 @@ var Input = forwardRef2(
358
371
  )
359
372
  },
360
373
  props.endIcon
361
- ), /* @__PURE__ */ React7.createElement(
374
+ ), /* @__PURE__ */ React8.createElement(
362
375
  "input",
363
376
  {
364
377
  required: true,
@@ -384,16 +397,7 @@ var Input = forwardRef2(
384
397
  inputProps == null ? void 0 : inputProps.className
385
398
  )
386
399
  }
387
- )), !forceHideHelperText && /* @__PURE__ */ React7.createElement(
388
- "p",
389
- {
390
- className: cn(
391
- "hawa-my-0 hawa-text-start hawa-text-xs hawa-text-helper-color hawa-transition-all",
392
- props.helperText ? "hawa-h-4 hawa-opacity-100" : "hawa-h-0 hawa-opacity-0"
393
- )
394
- },
395
- props.helperText
396
- ), !props.disabled && forceHideHelperText && /* @__PURE__ */ React7.createElement(
400
+ )), !forceHideHelperText && /* @__PURE__ */ React8.createElement(HelperText, { helperText: props.helperText }), !props.disabled && forceHideHelperText && /* @__PURE__ */ React8.createElement(
397
401
  "div",
398
402
  {
399
403
  className: cn(
@@ -402,7 +406,7 @@ var Input = forwardRef2(
402
406
  )
403
407
  },
404
408
  props.helperText
405
- ), showCount && /* @__PURE__ */ React7.createElement(
409
+ ), showCount && /* @__PURE__ */ React8.createElement(
406
410
  "div",
407
411
  {
408
412
  className: cn(
@@ -423,10 +427,10 @@ var Input = forwardRef2(
423
427
  );
424
428
 
425
429
  // elements/popover/Popover.tsx
426
- import * as React8 from "react";
430
+ import * as React9 from "react";
427
431
  import * as PopoverPrimitive from "@radix-ui/react-popover";
428
- var PopoverContent = React8.forwardRef(
429
- ({ className, align = "center", sideOffset = 4, container, ...props }, ref) => /* @__PURE__ */ React8.createElement(PopoverPrimitive.Portal, { container }, /* @__PURE__ */ React8.createElement(
432
+ var PopoverContent = React9.forwardRef(
433
+ ({ className, align = "center", sideOffset = 4, container, ...props }, ref) => /* @__PURE__ */ React9.createElement(PopoverPrimitive.Portal, { container }, /* @__PURE__ */ React9.createElement(
430
434
  PopoverPrimitive.Content,
431
435
  {
432
436
  ref,
@@ -459,7 +463,7 @@ var Popover = ({
459
463
  trigger: "var(--radix-popover-trigger-width)",
460
464
  default: "auto"
461
465
  };
462
- return /* @__PURE__ */ React8.createElement(PopoverPrimitive.Root, { open, ...props }, /* @__PURE__ */ React8.createElement(
466
+ return /* @__PURE__ */ React9.createElement(PopoverPrimitive.Root, { open, ...props }, /* @__PURE__ */ React9.createElement(
463
467
  PopoverPrimitive.Trigger,
464
468
  {
465
469
  className: "hawa-w-full",
@@ -467,7 +471,7 @@ var Popover = ({
467
471
  ...triggerProps
468
472
  },
469
473
  trigger
470
- ), /* @__PURE__ */ React8.createElement(
474
+ ), /* @__PURE__ */ React9.createElement(
471
475
  PopoverContent,
472
476
  {
473
477
  side,
@@ -512,7 +516,7 @@ var PasswordStrengthIndicator = ({ strength }) => {
512
516
  strong: "80%",
513
517
  "very-strong": "100%"
514
518
  }[currentStrengthLevel];
515
- return /* @__PURE__ */ React9.createElement("div", { className: "hawa-mt-0.5 hawa-h-2 hawa-w-full hawa-rounded hawa-bg-gray-200" }, /* @__PURE__ */ React9.createElement(
519
+ return /* @__PURE__ */ React10.createElement("div", { className: "hawa-mt-0.5 hawa-h-2 hawa-w-full hawa-rounded hawa-bg-gray-200" }, /* @__PURE__ */ React10.createElement(
516
520
  "div",
517
521
  {
518
522
  className: `${strengthColors[currentStrengthLevel]} hawa-h-full hawa-rounded hawa-transition-all hawa-duration-300`,
@@ -572,7 +576,7 @@ var PasswordInput = ({
572
576
  setIsInputFocused(false);
573
577
  };
574
578
  const getCriteriaClass = (isMet) => isMet ? "hawa-flex hawa-flex-row hawa-gap-2 hawa-text-sm hawa-items-center hawa-text-green-500" : "hawa-flex hawa-flex-row hawa-gap-2 hawa-text-sm hawa-items-center hawa-text-red-600";
575
- return /* @__PURE__ */ React9.createElement("div", null, /* @__PURE__ */ React9.createElement(
579
+ return /* @__PURE__ */ React10.createElement("div", null, /* @__PURE__ */ React10.createElement(
576
580
  Popover,
577
581
  {
578
582
  width: "trigger",
@@ -581,7 +585,7 @@ var PasswordInput = ({
581
585
  onOpenChange: setIsInputFocused,
582
586
  triggerProps: { asChild: true },
583
587
  contentProps: { onOpenAutoFocus: (e) => e.preventDefault() },
584
- trigger: /* @__PURE__ */ React9.createElement(
588
+ trigger: /* @__PURE__ */ React10.createElement(
585
589
  "div",
586
590
  {
587
591
  onClick: (e) => {
@@ -591,7 +595,7 @@ var PasswordInput = ({
591
595
  }
592
596
  }
593
597
  },
594
- /* @__PURE__ */ React9.createElement(
598
+ /* @__PURE__ */ React10.createElement(
595
599
  Input,
596
600
  {
597
601
  width: "full",
@@ -601,21 +605,21 @@ var PasswordInput = ({
601
605
  onFocus: handleInputFocus,
602
606
  onBlur: handleInputBlur,
603
607
  type: passwordVisible ? "text" : "password",
604
- endIcon: /* @__PURE__ */ React9.createElement(
608
+ endIcon: /* @__PURE__ */ React10.createElement(
605
609
  "div",
606
610
  {
607
611
  className: "hawa-cursor-pointer",
608
612
  onClick: () => setPasswordVisible(!passwordVisible)
609
613
  },
610
- passwordVisible ? /* @__PURE__ */ React9.createElement(EyeIcon, { className: "hawa-text-gray-500" }) : /* @__PURE__ */ React9.createElement(HiddenEyeIcon, { className: "hawa-text-gray-500" }),
614
+ passwordVisible ? /* @__PURE__ */ React10.createElement(EyeIcon, { className: "hawa-text-gray-500" }) : /* @__PURE__ */ React10.createElement(HiddenEyeIcon, { className: "hawa-text-gray-500" }),
611
615
  " "
612
616
  )
613
617
  }
614
618
  )
615
619
  )
616
620
  },
617
- /* @__PURE__ */ React9.createElement("div", { className: "hawa-rounded hawa-p-2" }, /* @__PURE__ */ React9.createElement("ul", { className: "hawa-rounded hawa-p-2" }, /* @__PURE__ */ React9.createElement("li", { className: getCriteriaClass(lengthCriteriaMet) }, lengthCriteriaMet ? /* @__PURE__ */ React9.createElement(CheckMark, { size: "sm" }) : /* @__PURE__ */ React9.createElement(UncheckMark, { size: "sm" }), "At least 8 characters long"), /* @__PURE__ */ React9.createElement("li", { className: getCriteriaClass(numberCriteriaMet) }, numberCriteriaMet ? /* @__PURE__ */ React9.createElement(CheckMark, { size: "sm" }) : /* @__PURE__ */ React9.createElement(UncheckMark, { size: "sm" }), "At least 1 number"), /* @__PURE__ */ React9.createElement("li", { className: getCriteriaClass(specialCharCriteriaMet) }, specialCharCriteriaMet ? /* @__PURE__ */ React9.createElement(CheckMark, { size: "sm" }) : /* @__PURE__ */ React9.createElement(UncheckMark, { size: "sm" }), "At least 1 special character"), /* @__PURE__ */ React9.createElement("li", { className: getCriteriaClass(lowercaseCriteriaMet) }, lowercaseCriteriaMet ? /* @__PURE__ */ React9.createElement(CheckMark, { size: "sm" }) : /* @__PURE__ */ React9.createElement(UncheckMark, { size: "sm" }), "At least 1 lowercase letter"), /* @__PURE__ */ React9.createElement("li", { className: getCriteriaClass(uppercaseCriteriaMet) }, uppercaseCriteriaMet ? /* @__PURE__ */ React9.createElement(CheckMark, { size: "sm" }) : /* @__PURE__ */ React9.createElement(UncheckMark, { size: "sm" }), "At least 1 uppercase letter")))
618
- ), /* @__PURE__ */ React9.createElement(PasswordStrengthIndicator, { strength: currentStr }));
621
+ /* @__PURE__ */ React10.createElement("div", { className: "hawa-rounded hawa-p-2" }, /* @__PURE__ */ React10.createElement("ul", { className: "hawa-rounded hawa-p-2" }, /* @__PURE__ */ React10.createElement("li", { className: getCriteriaClass(lengthCriteriaMet) }, lengthCriteriaMet ? /* @__PURE__ */ React10.createElement(CheckMark, { size: "sm" }) : /* @__PURE__ */ React10.createElement(UncheckMark, { size: "sm" }), "At least 8 characters long"), /* @__PURE__ */ React10.createElement("li", { className: getCriteriaClass(numberCriteriaMet) }, numberCriteriaMet ? /* @__PURE__ */ React10.createElement(CheckMark, { size: "sm" }) : /* @__PURE__ */ React10.createElement(UncheckMark, { size: "sm" }), "At least 1 number"), /* @__PURE__ */ React10.createElement("li", { className: getCriteriaClass(specialCharCriteriaMet) }, specialCharCriteriaMet ? /* @__PURE__ */ React10.createElement(CheckMark, { size: "sm" }) : /* @__PURE__ */ React10.createElement(UncheckMark, { size: "sm" }), "At least 1 special character"), /* @__PURE__ */ React10.createElement("li", { className: getCriteriaClass(lowercaseCriteriaMet) }, lowercaseCriteriaMet ? /* @__PURE__ */ React10.createElement(CheckMark, { size: "sm" }) : /* @__PURE__ */ React10.createElement(UncheckMark, { size: "sm" }), "At least 1 lowercase letter"), /* @__PURE__ */ React10.createElement("li", { className: getCriteriaClass(uppercaseCriteriaMet) }, uppercaseCriteriaMet ? /* @__PURE__ */ React10.createElement(CheckMark, { size: "sm" }) : /* @__PURE__ */ React10.createElement(UncheckMark, { size: "sm" }), "At least 1 uppercase letter")))
622
+ ), /* @__PURE__ */ React10.createElement(PasswordStrengthIndicator, { strength: currentStr }));
619
623
  };
620
624
  export {
621
625
  PasswordInput,