@kanda-libs/ks-component-ts 0.2.256-qa → 0.2.257

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 (462) hide show
  1. package/.DS_Store +0 -0
  2. package/app/.yalc/@kanda-libs/ks-component-ts/dist/index.esm.js +3 -3
  3. package/app/.yalc/@kanda-libs/ks-component-ts/dist/index.esm.js.map +3 -3
  4. package/app/.yalc/@kanda-libs/ks-component-ts/package.json +2 -2
  5. package/app/.yalc/@kanda-libs/ks-component-ts/yalc.sig +1 -1
  6. package/app/yalc.lock +1 -5
  7. package/dist/index.d.ts +9554 -9554
  8. package/dist/index.esm.js +3 -3
  9. package/dist/index.esm.js.map +3 -3
  10. package/package.json +1 -1
  11. package/src/.DS_Store +0 -0
  12. package/src/components/Form/index.tsx +12 -18
  13. package/src/field/.DS_Store +0 -0
  14. package/src/field/components/{BooleanInput/.DS_Store → .DS_Store} +0 -0
  15. package/src/generated/widget/index.tsx +47415 -47415
  16. package/app/.yalc/@kanda-libs/ks-design-library/LICENSE +0 -21
  17. package/app/.yalc/@kanda-libs/ks-design-library/dist/fonts/GalanoGrotesque/italic/GalanoGrotesqueBlackItalic.woff +0 -0
  18. package/app/.yalc/@kanda-libs/ks-design-library/dist/fonts/GalanoGrotesque/italic/GalanoGrotesqueBoldItalic.woff +0 -0
  19. package/app/.yalc/@kanda-libs/ks-design-library/dist/fonts/GalanoGrotesque/italic/GalanoGrotesqueExtraBoldItalic.woff +0 -0
  20. package/app/.yalc/@kanda-libs/ks-design-library/dist/fonts/GalanoGrotesque/italic/GalanoGrotesqueExtraLightItalic.woff +0 -0
  21. package/app/.yalc/@kanda-libs/ks-design-library/dist/fonts/GalanoGrotesque/italic/GalanoGrotesqueHeavyItalic.woff +0 -0
  22. package/app/.yalc/@kanda-libs/ks-design-library/dist/fonts/GalanoGrotesque/italic/GalanoGrotesqueLightItalic.woff +0 -0
  23. package/app/.yalc/@kanda-libs/ks-design-library/dist/fonts/GalanoGrotesque/italic/GalanoGrotesqueMediumItalic.woff +0 -0
  24. package/app/.yalc/@kanda-libs/ks-design-library/dist/fonts/GalanoGrotesque/italic/GalanoGrotesqueRegularItalic.woff +0 -0
  25. package/app/.yalc/@kanda-libs/ks-design-library/dist/fonts/GalanoGrotesque/italic/GalanoGrotesqueSemiBoldItalic.woff +0 -0
  26. package/app/.yalc/@kanda-libs/ks-design-library/dist/fonts/GalanoGrotesque/italic/GalanoGrotesqueThinItalic.woff +0 -0
  27. package/app/.yalc/@kanda-libs/ks-design-library/dist/fonts/GalanoGrotesque/regular/GalanoGrotesqueBlack.woff +0 -0
  28. package/app/.yalc/@kanda-libs/ks-design-library/dist/fonts/GalanoGrotesque/regular/GalanoGrotesqueBold.woff +0 -0
  29. package/app/.yalc/@kanda-libs/ks-design-library/dist/fonts/GalanoGrotesque/regular/GalanoGrotesqueExtraBold.woff +0 -0
  30. package/app/.yalc/@kanda-libs/ks-design-library/dist/fonts/GalanoGrotesque/regular/GalanoGrotesqueExtraLight.woff +0 -0
  31. package/app/.yalc/@kanda-libs/ks-design-library/dist/fonts/GalanoGrotesque/regular/GalanoGrotesqueHeavy.woff +0 -0
  32. package/app/.yalc/@kanda-libs/ks-design-library/dist/fonts/GalanoGrotesque/regular/GalanoGrotesqueLight.woff +0 -0
  33. package/app/.yalc/@kanda-libs/ks-design-library/dist/fonts/GalanoGrotesque/regular/GalanoGrotesqueMedium.woff +0 -0
  34. package/app/.yalc/@kanda-libs/ks-design-library/dist/fonts/GalanoGrotesque/regular/GalanoGrotesqueRegular.woff +0 -0
  35. package/app/.yalc/@kanda-libs/ks-design-library/dist/fonts/GalanoGrotesque/regular/GalanoGrotesqueSemiBold.woff +0 -0
  36. package/app/.yalc/@kanda-libs/ks-design-library/dist/fonts/GalanoGrotesque/regular/GalanoGrotesqueThin.woff +0 -0
  37. package/app/.yalc/@kanda-libs/ks-design-library/dist/index.d.ts +0 -1229
  38. package/app/.yalc/@kanda-libs/ks-design-library/dist/index.esm.mjs +0 -10
  39. package/app/.yalc/@kanda-libs/ks-design-library/dist/index.esm.mjs.map +0 -7
  40. package/app/.yalc/@kanda-libs/ks-design-library/dist/library.css +0 -3612
  41. package/app/.yalc/@kanda-libs/ks-design-library/package.json +0 -76
  42. package/app/.yalc/@kanda-libs/ks-design-library/src/@types/assets/index.d.ts +0 -26
  43. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/header/background.svg +0 -17
  44. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/account-color.svg +0 -5
  45. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/account.svg +0 -5
  46. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/alarm-color.svg +0 -6
  47. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/alarm.svg +0 -6
  48. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/alphabet.svg +0 -3
  49. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/archive.svg +0 -3
  50. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/arrow-right.svg +0 -3
  51. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/arrow-up-right.svg +0 -3
  52. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/arrow-up.svg +0 -3
  53. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/attachement.svg +0 -3
  54. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/bold.svg +0 -3
  55. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/calendar.svg +0 -3
  56. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/cart.svg +0 -3
  57. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/check-circle-color.svg +0 -4
  58. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/check-circle.svg +0 -4
  59. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/check.svg +0 -3
  60. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/chevron-down.svg +0 -3
  61. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/chevron-left.svg +0 -3
  62. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/chevron-up.svg +0 -3
  63. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/close.svg +0 -3
  64. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/copy-archive.svg +0 -4
  65. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/copy.svg +0 -3
  66. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/credit-card.svg +0 -3
  67. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/currency.svg +0 -3
  68. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/customer-color.svg +0 -6
  69. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/customer.svg +0 -6
  70. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/customers-color.svg +0 -6
  71. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/customers.svg +0 -6
  72. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/dashboard-color.svg +0 -6
  73. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/dashboard.svg +0 -6
  74. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/delete-file.svg +0 -3
  75. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/deposit.svg +0 -3
  76. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/download-file.svg +0 -3
  77. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/download.svg +0 -3
  78. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/edit.svg +0 -3
  79. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/email.svg +0 -3
  80. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/error.svg +0 -3
  81. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/eye-off.svg +0 -3
  82. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/eye.svg +0 -4
  83. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/favourite.svg +0 -3
  84. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/file-upload.svg +0 -3
  85. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/file.svg +0 -3
  86. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/filter.svg +0 -3
  87. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/financed-color.svg +0 -6
  88. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/financed.svg +0 -6
  89. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/flag.svg +0 -1
  90. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/help.svg +0 -5
  91. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/home-color.svg +0 -4
  92. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/home.svg +0 -4
  93. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/image.svg +0 -3
  94. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/indicator.svg +0 -3
  95. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/info.svg +0 -3
  96. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/instalments.svg +0 -6
  97. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/italic.svg +0 -3
  98. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/job-color.svg +0 -6
  99. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/job.svg +0 -6
  100. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/load.svg +0 -3
  101. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/location.svg +0 -4
  102. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/lock.svg +0 -5
  103. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/logout.svg +0 -3
  104. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/menu.svg +0 -3
  105. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/minus.svg +0 -3
  106. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/more.svg +0 -3
  107. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/note.svg +0 -3
  108. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/notes-paper.svg +0 -3
  109. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/notification.svg +0 -3
  110. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/office.svg +0 -12
  111. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/ordered-list.svg +0 -3
  112. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/paper.svg +0 -3
  113. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/payment-color.svg +0 -6
  114. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/payment.svg +0 -6
  115. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/paypal.svg +0 -3
  116. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/phone.svg +0 -3
  117. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/plus.svg +0 -3
  118. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/pound.svg +0 -3
  119. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/remove.svg +0 -3
  120. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/rocket-color.svg +0 -9
  121. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/rocket.svg +0 -9
  122. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/rotate.svg +0 -10
  123. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/search-file-color.svg +0 -5
  124. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/search-file.svg +0 -5
  125. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/search.svg +0 -3
  126. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/send-quote-color.svg +0 -5
  127. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/send-quote.svg +0 -5
  128. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/send.svg +0 -3
  129. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/settings.svg +0 -4
  130. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/shield-check.svg +0 -4
  131. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/sms.svg +0 -3
  132. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/sort-ascending.svg +0 -3
  133. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/sort-descending.svg +0 -3
  134. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/special-check.svg +0 -3
  135. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/star.svg +0 -3
  136. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/tag.svg +0 -3
  137. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/toolbox.svg +0 -3
  138. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/unordered-list.svg +0 -3
  139. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/user-square-color.svg +0 -5
  140. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/user-square.svg +0 -5
  141. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/user.svg +0 -3
  142. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/verification-color.svg +0 -5
  143. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/verification.svg +0 -5
  144. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/wallet.svg +0 -3
  145. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/icons/warning.svg +0 -3
  146. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/images/background-lines.svg +0 -81
  147. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/images/banner-background.svg +0 -17
  148. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/images/job-pdf.svg +0 -24
  149. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/images/marketing-slide-up-header.svg +0 -17
  150. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/images/pdf-download.svg +0 -20
  151. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/images/space.png +0 -0
  152. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/logos/kanda-wordmark-light.svg +0 -8
  153. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/logos/kanda-wordmark.svg +0 -8
  154. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/modals/background.svg +0 -17
  155. package/app/.yalc/@kanda-libs/ks-design-library/src/assets/modals/lines.svg +0 -16
  156. package/app/.yalc/@kanda-libs/ks-design-library/src/common/constants.ts +0 -5
  157. package/app/.yalc/@kanda-libs/ks-design-library/src/common/helpers.ts +0 -15
  158. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Animations/Fade/Container.tsx +0 -51
  159. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Animations/Fade/index.tsx +0 -21
  160. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Animations/Fade/types.d.ts +0 -8
  161. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Animations/SlideLeft/Container.tsx +0 -47
  162. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Animations/SlideLeft/constants.ts +0 -1
  163. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Animations/SlideLeft/index.tsx +0 -24
  164. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Animations/SlideLeft/types.d.ts +0 -5
  165. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Animations/index.ts +0 -9
  166. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Banner/constants.ts +0 -6
  167. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Banner/index.tsx +0 -32
  168. package/app/.yalc/@kanda-libs/ks-design-library/src/components/BreakPoints/index.tsx +0 -24
  169. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Button/BaseButton/constants.ts +0 -5
  170. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Button/BaseButton/index.tsx +0 -52
  171. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Button/BaseButton/types.d.ts +0 -55
  172. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Button/ButtonIcon/constants.ts +0 -85
  173. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Button/ButtonIcon/index.tsx +0 -63
  174. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Button/ButtonIcon/types.d.ts +0 -71
  175. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Button/ButtonIcon/useButtonIcon.ts +0 -85
  176. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Button/ButtonInlineLink/constants.ts +0 -25
  177. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Button/ButtonInlineLink/index.tsx +0 -25
  178. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Button/ButtonInlineLink/types.d.ts +0 -42
  179. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Button/ButtonInlineLink/useButtonInlineLink.ts +0 -32
  180. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Button/ButtonLink/constants.ts +0 -48
  181. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Button/ButtonLink/index.tsx +0 -37
  182. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Button/ButtonLink/types.d.ts +0 -58
  183. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Button/ButtonLink/useButtonLink.ts +0 -60
  184. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Button/ButtonText/constants.ts +0 -79
  185. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Button/ButtonText/index.tsx +0 -67
  186. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Button/ButtonText/types.d.ts +0 -62
  187. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Button/index.ts +0 -26
  188. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Card/CardContent/constants.ts +0 -5
  189. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Card/CardContent/index.tsx +0 -31
  190. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Card/CardFooter/CardOptions/constants.ts +0 -10
  191. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Card/CardFooter/CardOptions/index.tsx +0 -59
  192. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Card/CardFooter/CardOptions/types.d.ts +0 -5
  193. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Card/CardFooter/CardOptions/useOptions.ts +0 -27
  194. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Card/CardFooter/constants.ts +0 -7
  195. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Card/CardFooter/index.tsx +0 -56
  196. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Card/CardOption/constants.ts +0 -6
  197. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Card/CardOption/index.tsx +0 -30
  198. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Card/CardSection/index.tsx +0 -31
  199. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Card/CardTitle/constants.ts +0 -6
  200. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Card/CardTitle/index.tsx +0 -30
  201. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Card/constants.ts +0 -10
  202. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Card/helpers.ts +0 -12
  203. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Card/index.tsx +0 -78
  204. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Card/types.d.ts +0 -34
  205. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Card/useCardProps.ts +0 -46
  206. package/app/.yalc/@kanda-libs/ks-design-library/src/components/CommonWrapper/index.tsx +0 -32
  207. package/app/.yalc/@kanda-libs/ks-design-library/src/components/ConfigWrapper/index.tsx +0 -46
  208. package/app/.yalc/@kanda-libs/ks-design-library/src/components/CopyContent/constants.ts +0 -5
  209. package/app/.yalc/@kanda-libs/ks-design-library/src/components/CopyContent/helpers.ts +0 -24
  210. package/app/.yalc/@kanda-libs/ks-design-library/src/components/CopyContent/index.tsx +0 -51
  211. package/app/.yalc/@kanda-libs/ks-design-library/src/components/CopyContent/useCopyContent.ts +0 -35
  212. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopFooter/constants.ts +0 -37
  213. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopFooter/index.tsx +0 -31
  214. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopHeader/CompanyInfo/constants.ts +0 -23
  215. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopHeader/CompanyInfo/index.tsx +0 -61
  216. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopHeader/CompanyInfo/types.d.ts +0 -19
  217. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopHeader/CompanyInfoPopover/constants.ts +0 -10
  218. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopHeader/CompanyInfoPopover/index.tsx +0 -40
  219. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopHeader/CompanyInfoPopover/types.d.ts +0 -8
  220. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopHeader/CompanyInfoPopover/useCompanyInfoPopover.ts +0 -36
  221. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopHeader/DesktopMenu/constants.ts +0 -7
  222. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopHeader/DesktopMenu/helpers.ts +0 -11
  223. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopHeader/DesktopMenu/index.tsx +0 -31
  224. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopHeader/constants.ts +0 -24
  225. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopHeader/index.tsx +0 -58
  226. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopHeader/types.d.ts +0 -44
  227. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopHeader/useDesktopHeaderProps.tsx +0 -35
  228. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopLayout/DesktopLayoutBoxed/ContentFooter/constants.ts +0 -3
  229. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopLayout/DesktopLayoutBoxed/ContentFooter/index.tsx +0 -14
  230. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopLayout/DesktopLayoutBoxed/DesktopLayoutBoxedContent/constants.ts +0 -33
  231. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopLayout/DesktopLayoutBoxed/DesktopLayoutBoxedContent/index.tsx +0 -57
  232. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopLayout/DesktopLayoutBoxed/DesktopLayoutBoxedContent/useContentClassNames.ts +0 -27
  233. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopLayout/DesktopLayoutBoxed/DesktopLayoutBoxedContentHeader/constants.ts +0 -3
  234. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopLayout/DesktopLayoutBoxed/DesktopLayoutBoxedContentHeader/index.tsx +0 -13
  235. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopLayout/DesktopLayoutBoxed/constants.ts +0 -30
  236. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopLayout/DesktopLayoutBoxed/index.tsx +0 -117
  237. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopLayout/DesktopLayoutBoxed/useDesktopLayoutBoxedProps.ts +0 -63
  238. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopLayout/DesktopLayoutDefault/DesktopLayoutDefaultContent/constants.ts +0 -7
  239. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopLayout/DesktopLayoutDefault/DesktopLayoutDefaultContent/index.tsx +0 -20
  240. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopLayout/DesktopLayoutDefault/DesktopLayoutDefaultContentHeader/constants.ts +0 -10
  241. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopLayout/DesktopLayoutDefault/DesktopLayoutDefaultContentHeader/index.tsx +0 -26
  242. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopLayout/DesktopLayoutDefault/constants.ts +0 -11
  243. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopLayout/DesktopLayoutDefault/index.tsx +0 -33
  244. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopLayout/DesktopLayoutDefault/useDesktopLayoutProps.ts +0 -17
  245. package/app/.yalc/@kanda-libs/ks-design-library/src/components/DesktopLayout/index.ts +0 -18
  246. package/app/.yalc/@kanda-libs/ks-design-library/src/components/ExpandableContent/index.tsx +0 -41
  247. package/app/.yalc/@kanda-libs/ks-design-library/src/components/ExpandableContent/useExpandableContentProps.ts +0 -50
  248. package/app/.yalc/@kanda-libs/ks-design-library/src/components/FinanceStatusTag/helpers.ts +0 -20
  249. package/app/.yalc/@kanda-libs/ks-design-library/src/components/FinanceStatusTag/index.tsx +0 -23
  250. package/app/.yalc/@kanda-libs/ks-design-library/src/components/FrontChatWidget/constants.ts +0 -2
  251. package/app/.yalc/@kanda-libs/ks-design-library/src/components/FrontChatWidget/index.tsx +0 -34
  252. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Header/HeaderBase/PhoneLink/index.tsx +0 -21
  253. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Header/HeaderBase/constants.ts +0 -6
  254. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Header/HeaderBase/index.tsx +0 -62
  255. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Header/HeaderBase/useHeaderBaseClassNames.ts +0 -21
  256. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Header/HeaderMain/constants.ts +0 -13
  257. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Header/HeaderMain/index.tsx +0 -58
  258. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Header/HeaderMain/useHeaderMainProps.tsx +0 -43
  259. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Header/index.ts +0 -15
  260. package/app/.yalc/@kanda-libs/ks-design-library/src/components/HelpButton/constants.ts +0 -14
  261. package/app/.yalc/@kanda-libs/ks-design-library/src/components/HelpButton/index.tsx +0 -32
  262. package/app/.yalc/@kanda-libs/ks-design-library/src/components/HelpButton/useHelpButtonOnClick.ts +0 -18
  263. package/app/.yalc/@kanda-libs/ks-design-library/src/components/HelpCrunch/constants.ts +0 -12
  264. package/app/.yalc/@kanda-libs/ks-design-library/src/components/HelpCrunch/index.tsx +0 -42
  265. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Icon/constants.tsx +0 -233
  266. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Icon/helpers.ts +0 -7
  267. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Icon/index.tsx +0 -25
  268. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Icon/types.d.ts +0 -38
  269. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Icon/useIcon.ts +0 -62
  270. package/app/.yalc/@kanda-libs/ks-design-library/src/components/InfoBanner/constants.ts +0 -35
  271. package/app/.yalc/@kanda-libs/ks-design-library/src/components/InfoBanner/index.tsx +0 -65
  272. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Layout/constants.ts +0 -16
  273. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Layout/index.tsx +0 -82
  274. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Layout/teleporters.ts +0 -4
  275. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Layout/useLayoutClassNames.ts +0 -81
  276. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Loader/index.tsx +0 -27
  277. package/app/.yalc/@kanda-libs/ks-design-library/src/components/LoadingProvider/Context.tsx +0 -5
  278. package/app/.yalc/@kanda-libs/ks-design-library/src/components/LoadingProvider/index.tsx +0 -30
  279. package/app/.yalc/@kanda-libs/ks-design-library/src/components/LoadingProvider/useLoadingProviderValue.ts +0 -18
  280. package/app/.yalc/@kanda-libs/ks-design-library/src/components/LoadingSpinner/constants.ts +0 -64
  281. package/app/.yalc/@kanda-libs/ks-design-library/src/components/LoadingSpinner/index.tsx +0 -76
  282. package/app/.yalc/@kanda-libs/ks-design-library/src/components/LoadingSpinner/useLoadingSpinnerProps.ts +0 -35
  283. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Logo/index.tsx +0 -15
  284. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Menu/MenuHeader/constants.ts +0 -10
  285. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Menu/MenuHeader/index.tsx +0 -67
  286. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Menu/constants.ts +0 -1
  287. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Menu/index.tsx +0 -87
  288. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Modal/AnimatedModalContainer/Container.tsx +0 -107
  289. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Modal/AnimatedModalContainer/index.tsx +0 -34
  290. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Modal/AnimatedModalContainer/types.d.ts +0 -6
  291. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Modal/ModalContainer/Container.tsx +0 -72
  292. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Modal/ModalContainer/index.tsx +0 -34
  293. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Modal/ModalLayout/ModalLayoutCenter/Container.tsx +0 -39
  294. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Modal/ModalLayout/ModalLayoutCenter/constants.ts +0 -4
  295. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Modal/ModalLayout/ModalLayoutCenter/index.tsx +0 -36
  296. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Modal/ModalLayout/ModalLayoutFullScreen/constants.ts +0 -12
  297. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Modal/ModalLayout/ModalLayoutFullScreen/index.tsx +0 -48
  298. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Modal/ModalLayout/ModalLayoutFullScreen/useModalLayoutFullScreenClassNames.ts +0 -47
  299. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Modal/ModalLayout/ModalLayoutSlideLeft/constants.ts +0 -12
  300. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Modal/ModalLayout/ModalLayoutSlideLeft/index.tsx +0 -39
  301. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Modal/ModalLayout/ModalLayoutSlideLeft/useModalLayoutSlideLeftClassNames.ts +0 -42
  302. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Modal/ModalLayout/ModalLayoutSlideUp/Container.ts +0 -41
  303. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Modal/ModalLayout/ModalLayoutSlideUp/constants.ts +0 -18
  304. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Modal/ModalLayout/ModalLayoutSlideUp/index.tsx +0 -46
  305. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Modal/constants.ts +0 -33
  306. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Modal/helpers.ts +0 -19
  307. package/app/.yalc/@kanda-libs/ks-design-library/src/components/ModalsWrapper/Loader/LoaderContainer.tsx +0 -99
  308. package/app/.yalc/@kanda-libs/ks-design-library/src/components/ModalsWrapper/Loader/constants.ts +0 -21
  309. package/app/.yalc/@kanda-libs/ks-design-library/src/components/ModalsWrapper/Loader/index.tsx +0 -23
  310. package/app/.yalc/@kanda-libs/ks-design-library/src/components/ModalsWrapper/constants.ts +0 -1
  311. package/app/.yalc/@kanda-libs/ks-design-library/src/components/ModalsWrapper/hooks/useAnimatedModals.ts +0 -69
  312. package/app/.yalc/@kanda-libs/ks-design-library/src/components/ModalsWrapper/hooks/useModals.ts +0 -84
  313. package/app/.yalc/@kanda-libs/ks-design-library/src/components/ModalsWrapper/hooks/useModalsWrapper.ts +0 -29
  314. package/app/.yalc/@kanda-libs/ks-design-library/src/components/ModalsWrapper/hooks/useViewportVariables.ts +0 -112
  315. package/app/.yalc/@kanda-libs/ks-design-library/src/components/ModalsWrapper/index.tsx +0 -65
  316. package/app/.yalc/@kanda-libs/ks-design-library/src/components/NavigationLink/constants.ts +0 -27
  317. package/app/.yalc/@kanda-libs/ks-design-library/src/components/NavigationLink/index.tsx +0 -53
  318. package/app/.yalc/@kanda-libs/ks-design-library/src/components/NavigationLink/useNavigationLinkClassNames.ts +0 -29
  319. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Pagination/PaginationNavButton/constants.ts +0 -19
  320. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Pagination/PaginationNavButton/index.tsx +0 -34
  321. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Pagination/PaginationNavButton/usePaginationNavButtonProps.ts +0 -29
  322. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Pagination/PaginationNumberButton/constants.ts +0 -7
  323. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Pagination/PaginationNumberButton/index.tsx +0 -56
  324. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Pagination/PaginationNumberButton/usePaginationNumberButtonClassNames.ts +0 -22
  325. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Pagination/constants.ts +0 -4
  326. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Pagination/helpers.ts +0 -77
  327. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Pagination/index.tsx +0 -44
  328. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Pagination/usePaginationProps.ts +0 -41
  329. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Pass/PassConstants/index.tsx +0 -34
  330. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Pass/index.ts +0 -3
  331. package/app/.yalc/@kanda-libs/ks-design-library/src/components/PlaceHolder/constants.ts +0 -12
  332. package/app/.yalc/@kanda-libs/ks-design-library/src/components/PlaceHolder/index.tsx +0 -50
  333. package/app/.yalc/@kanda-libs/ks-design-library/src/components/PlaceHolder/usePlaceHolderClassNames.ts +0 -46
  334. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Popover/Advanced/constants.ts +0 -64
  335. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Popover/Advanced/helpers.ts +0 -14
  336. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Popover/Advanced/index.tsx +0 -98
  337. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Popover/Advanced/types.d.ts +0 -51
  338. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Popover/Advanced/useAdvancedProps.ts +0 -232
  339. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Popover/Standard/constants.ts +0 -4
  340. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Popover/Standard/index.tsx +0 -77
  341. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Popover/Standard/useStandardPopover.ts +0 -96
  342. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Popover/Sticky/constants.ts +0 -4
  343. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Popover/Sticky/index.tsx +0 -28
  344. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Popover/Sticky/useStickyPopover.ts +0 -55
  345. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Popover/index.ts +0 -11
  346. package/app/.yalc/@kanda-libs/ks-design-library/src/components/PopoverMenu/PopoverMenuItem/constants.ts +0 -71
  347. package/app/.yalc/@kanda-libs/ks-design-library/src/components/PopoverMenu/PopoverMenuItem/index.tsx +0 -59
  348. package/app/.yalc/@kanda-libs/ks-design-library/src/components/PopoverMenu/PopoverMenuItem/types.d.ts +0 -1
  349. package/app/.yalc/@kanda-libs/ks-design-library/src/components/PopoverMenu/PopoverMenuItem/usePopoverMenuItem.ts +0 -35
  350. package/app/.yalc/@kanda-libs/ks-design-library/src/components/PopoverMenu/constants.ts +0 -8
  351. package/app/.yalc/@kanda-libs/ks-design-library/src/components/PopoverMenu/index.tsx +0 -86
  352. package/app/.yalc/@kanda-libs/ks-design-library/src/components/PopoverMenu/types.d.ts +0 -22
  353. package/app/.yalc/@kanda-libs/ks-design-library/src/components/PopoverMenu/usePopoverMenu.ts +0 -24
  354. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Price/constants.ts +0 -45
  355. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Price/index.tsx +0 -74
  356. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Price/usePriceProps.ts +0 -40
  357. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Recaptcha/constants.ts +0 -2
  358. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Recaptcha/index.tsx +0 -19
  359. package/app/.yalc/@kanda-libs/ks-design-library/src/components/ScrollTopButton/constants.ts +0 -20
  360. package/app/.yalc/@kanda-libs/ks-design-library/src/components/ScrollTopButton/helpers.ts +0 -19
  361. package/app/.yalc/@kanda-libs/ks-design-library/src/components/ScrollTopButton/index.tsx +0 -27
  362. package/app/.yalc/@kanda-libs/ks-design-library/src/components/ScrollTopButton/useScrollTopButton.ts +0 -66
  363. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Separator/constants.ts +0 -1
  364. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Separator/index.tsx +0 -10
  365. package/app/.yalc/@kanda-libs/ks-design-library/src/components/SkeletonLoader/constants.tsx +0 -1
  366. package/app/.yalc/@kanda-libs/ks-design-library/src/components/SkeletonLoader/index.tsx +0 -45
  367. package/app/.yalc/@kanda-libs/ks-design-library/src/components/SkeletonLoader/useSkeletonLoader.ts +0 -31
  368. package/app/.yalc/@kanda-libs/ks-design-library/src/components/StatusTag/constants.ts +0 -20
  369. package/app/.yalc/@kanda-libs/ks-design-library/src/components/StatusTag/helpers.ts +0 -36
  370. package/app/.yalc/@kanda-libs/ks-design-library/src/components/StatusTag/index.tsx +0 -36
  371. package/app/.yalc/@kanda-libs/ks-design-library/src/components/StatusTag/types.d.ts +0 -13
  372. package/app/.yalc/@kanda-libs/ks-design-library/src/components/StatusTag/useStatusTagProps.ts +0 -16
  373. package/app/.yalc/@kanda-libs/ks-design-library/src/components/StrengthMeter/constants.ts +0 -31
  374. package/app/.yalc/@kanda-libs/ks-design-library/src/components/StrengthMeter/index.tsx +0 -34
  375. package/app/.yalc/@kanda-libs/ks-design-library/src/components/StrengthMeter/useStrengthMeter.ts +0 -35
  376. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Tag/constants.ts +0 -25
  377. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Tag/index.tsx +0 -28
  378. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Tag/types.d.ts +0 -20
  379. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Tag/useTagClassName.ts +0 -31
  380. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Text/index.tsx +0 -43
  381. package/app/.yalc/@kanda-libs/ks-design-library/src/components/TextSlides/index.tsx +0 -24
  382. package/app/.yalc/@kanda-libs/ks-design-library/src/components/TextSlides/useTextSlides.ts +0 -50
  383. package/app/.yalc/@kanda-libs/ks-design-library/src/components/TimeAgo/constants.ts +0 -20
  384. package/app/.yalc/@kanda-libs/ks-design-library/src/components/TimeAgo/helpers.ts +0 -66
  385. package/app/.yalc/@kanda-libs/ks-design-library/src/components/TimeAgo/index.tsx +0 -22
  386. package/app/.yalc/@kanda-libs/ks-design-library/src/components/TimeAgo/useTimeAgoProps.ts +0 -17
  387. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Timeline/constants.ts +0 -22
  388. package/app/.yalc/@kanda-libs/ks-design-library/src/components/Timeline/index.tsx +0 -95
  389. package/app/.yalc/@kanda-libs/ks-design-library/src/components/ToastContainer/constants.tsx +0 -17
  390. package/app/.yalc/@kanda-libs/ks-design-library/src/components/ToastContainer/index.tsx +0 -16
  391. package/app/.yalc/@kanda-libs/ks-design-library/src/components/ToastContainer/useToastContainerState.ts +0 -15
  392. package/app/.yalc/@kanda-libs/ks-design-library/src/components/index.ts +0 -52
  393. package/app/.yalc/@kanda-libs/ks-design-library/src/config/index.ts +0 -31
  394. package/app/.yalc/@kanda-libs/ks-design-library/src/helpers/number.ts +0 -75
  395. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/index.tsx +0 -12
  396. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/useButtonTracking.ts +0 -30
  397. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/useClasses/constants.ts +0 -1
  398. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/useClasses/helpers.ts +0 -127
  399. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/useClasses/index.ts +0 -14
  400. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/useEscClick.ts +0 -26
  401. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/useFrontChatWidget.ts +0 -71
  402. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/useFuse.ts +0 -86
  403. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/useHelpcrunch.ts +0 -70
  404. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/useIsDesktop/index.tsx +0 -11
  405. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/useIsDesktop/isDesktop-constants.tsx +0 -1
  406. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/useIsMounted.ts +0 -17
  407. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/useMediaQuery/index.tsx +0 -47
  408. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/useMediaQuery/mediaQuery-functions.tsx +0 -7
  409. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/useMousePosition.ts +0 -48
  410. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/useOuterClick.ts +0 -36
  411. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/usePass.ts +0 -22
  412. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/useProps/constants.ts +0 -2
  413. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/useProps/helpers.ts +0 -125
  414. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/useProps/index.ts +0 -40
  415. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/useToast/CloseButton/index.tsx +0 -24
  416. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/useToast/Message/constants.ts +0 -14
  417. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/useToast/Message/index.tsx +0 -35
  418. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/useToast/Message/useMessage.ts +0 -40
  419. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/useToast/constants.ts +0 -56
  420. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/useToast/index.tsx +0 -49
  421. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/useToast/types.d.ts +0 -14
  422. package/app/.yalc/@kanda-libs/ks-design-library/src/hooks/useVariants.ts +0 -22
  423. package/app/.yalc/@kanda-libs/ks-design-library/src/index.ts +0 -17
  424. package/app/.yalc/@kanda-libs/ks-design-library/src/moduleTypes.d.ts +0 -1
  425. package/app/.yalc/@kanda-libs/ks-design-library/src/styles/fonts/GalanoGrotesque/italic/GalanoGrotesqueBlackItalic.woff +0 -0
  426. package/app/.yalc/@kanda-libs/ks-design-library/src/styles/fonts/GalanoGrotesque/italic/GalanoGrotesqueBoldItalic.woff +0 -0
  427. package/app/.yalc/@kanda-libs/ks-design-library/src/styles/fonts/GalanoGrotesque/italic/GalanoGrotesqueExtraBoldItalic.woff +0 -0
  428. package/app/.yalc/@kanda-libs/ks-design-library/src/styles/fonts/GalanoGrotesque/italic/GalanoGrotesqueExtraLightItalic.woff +0 -0
  429. package/app/.yalc/@kanda-libs/ks-design-library/src/styles/fonts/GalanoGrotesque/italic/GalanoGrotesqueHeavyItalic.woff +0 -0
  430. package/app/.yalc/@kanda-libs/ks-design-library/src/styles/fonts/GalanoGrotesque/italic/GalanoGrotesqueLightItalic.woff +0 -0
  431. package/app/.yalc/@kanda-libs/ks-design-library/src/styles/fonts/GalanoGrotesque/italic/GalanoGrotesqueMediumItalic.woff +0 -0
  432. package/app/.yalc/@kanda-libs/ks-design-library/src/styles/fonts/GalanoGrotesque/italic/GalanoGrotesqueRegularItalic.woff +0 -0
  433. package/app/.yalc/@kanda-libs/ks-design-library/src/styles/fonts/GalanoGrotesque/italic/GalanoGrotesqueSemiBoldItalic.woff +0 -0
  434. package/app/.yalc/@kanda-libs/ks-design-library/src/styles/fonts/GalanoGrotesque/italic/GalanoGrotesqueThinItalic.woff +0 -0
  435. package/app/.yalc/@kanda-libs/ks-design-library/src/styles/fonts/GalanoGrotesque/regular/GalanoGrotesqueBlack.woff +0 -0
  436. package/app/.yalc/@kanda-libs/ks-design-library/src/styles/fonts/GalanoGrotesque/regular/GalanoGrotesqueBold.woff +0 -0
  437. package/app/.yalc/@kanda-libs/ks-design-library/src/styles/fonts/GalanoGrotesque/regular/GalanoGrotesqueExtraBold.woff +0 -0
  438. package/app/.yalc/@kanda-libs/ks-design-library/src/styles/fonts/GalanoGrotesque/regular/GalanoGrotesqueExtraLight.woff +0 -0
  439. package/app/.yalc/@kanda-libs/ks-design-library/src/styles/fonts/GalanoGrotesque/regular/GalanoGrotesqueHeavy.woff +0 -0
  440. package/app/.yalc/@kanda-libs/ks-design-library/src/styles/fonts/GalanoGrotesque/regular/GalanoGrotesqueLight.woff +0 -0
  441. package/app/.yalc/@kanda-libs/ks-design-library/src/styles/fonts/GalanoGrotesque/regular/GalanoGrotesqueMedium.woff +0 -0
  442. package/app/.yalc/@kanda-libs/ks-design-library/src/styles/fonts/GalanoGrotesque/regular/GalanoGrotesqueRegular.woff +0 -0
  443. package/app/.yalc/@kanda-libs/ks-design-library/src/styles/fonts/GalanoGrotesque/regular/GalanoGrotesqueSemiBold.woff +0 -0
  444. package/app/.yalc/@kanda-libs/ks-design-library/src/styles/fonts/GalanoGrotesque/regular/GalanoGrotesqueThin.woff +0 -0
  445. package/app/.yalc/@kanda-libs/ks-design-library/src/styles/index.css +0 -2236
  446. package/app/.yalc/@kanda-libs/ks-design-library/src/styles/ks-design-library.css +0 -2236
  447. package/app/.yalc/@kanda-libs/ks-design-library/src/styles/library.css +0 -3612
  448. package/app/.yalc/@kanda-libs/ks-design-library/src/styles/tailwind.css +0 -915
  449. package/app/.yalc/@kanda-libs/ks-design-library/src/theme/plugins/tailwind.plugin.caret-color.js +0 -32
  450. package/app/.yalc/@kanda-libs/ks-design-library/src/theme/plugins/tailwind.plugin.field-error.js +0 -10
  451. package/app/.yalc/@kanda-libs/ks-design-library/src/theme/plugins/tailwind.plugin.field-focus.js +0 -10
  452. package/app/.yalc/@kanda-libs/ks-design-library/src/theme/plugins/tailwind.plugin.field-loading.js +0 -10
  453. package/app/.yalc/@kanda-libs/ks-design-library/src/theme/plugins/tailwind.plugin.group-active.js +0 -10
  454. package/app/.yalc/@kanda-libs/ks-design-library/src/theme/plugins/tailwind.plugin.important.js +0 -14
  455. package/app/.yalc/@kanda-libs/ks-design-library/src/theme/plugins/tailwind.plugin.label-check.js +0 -10
  456. package/app/.yalc/@kanda-libs/ks-design-library/src/theme/plugins/tailwind.plugin.text-style.js +0 -213
  457. package/app/.yalc/@kanda-libs/ks-design-library/src/theme/postcss/tailwind.postcss.config.js +0 -7
  458. package/app/.yalc/@kanda-libs/ks-design-library/src/theme/themeConfig.js +0 -339
  459. package/app/.yalc/@kanda-libs/ks-design-library/src/types.d.ts +0 -59
  460. package/app/.yalc/@kanda-libs/ks-design-library/yalc.sig +0 -1
  461. package/app/yarn-error.log +0 -5348
  462. package/yarn-error.log +0 -6991
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/components/Logo/index.tsx", "../src/assets/logos/kanda-wordmark.svg", "../src/components/DesktopLayout/DesktopLayoutBoxed/index.tsx", "../src/components/DesktopLayout/DesktopLayoutBoxed/useDesktopLayoutBoxedProps.ts", "../src/components/ConfigWrapper/index.tsx", "../src/hooks/useMediaQuery/index.tsx", "../src/hooks/useMediaQuery/mediaQuery-functions.tsx", "../src/hooks/useIsDesktop/isDesktop-constants.tsx", "../src/hooks/useIsDesktop/index.tsx", "../src/hooks/useClasses/helpers.ts", "../src/hooks/useClasses/constants.ts", "../src/hooks/useVariants.ts", "../src/components/LoadingProvider/Context.tsx", "../src/hooks/useClasses/index.ts", "../src/hooks/useToast/index.tsx", "../src/hooks/useToast/Message/index.tsx", "../src/hooks/useToast/Message/constants.ts", "../src/hooks/useToast/Message/useMessage.ts", "../src/components/Icon/index.tsx", "../src/components/SkeletonLoader/index.tsx", "../src/components/SkeletonLoader/useSkeletonLoader.ts", "../src/components/SkeletonLoader/constants.tsx", "../src/components/Icon/useIcon.ts", "../src/components/Icon/helpers.ts", "../src/assets/icons/dashboard.svg", "../src/assets/icons/dashboard-color.svg", "../src/assets/icons/home.svg", "../src/assets/icons/home-color.svg", "../src/assets/icons/job.svg", "../src/assets/icons/job-color.svg", "../src/assets/icons/send-quote.svg", "../src/assets/icons/send-quote-color.svg", "../src/assets/icons/check-circle.svg", "../src/assets/icons/check-circle-color.svg", "../src/assets/icons/payment.svg", "../src/assets/icons/payment-color.svg", "../src/assets/icons/account.svg", "../src/assets/icons/account-color.svg", "../src/assets/icons/verification.svg", "../src/assets/icons/verification-color.svg", "../src/assets/icons/user-square.svg", "../src/assets/icons/user-square-color.svg", "../src/assets/icons/search-file.svg", "../src/assets/icons/search-file-color.svg", "../src/assets/icons/alarm.svg", "../src/assets/icons/alarm-color.svg", "../src/assets/icons/menu.svg", "../src/assets/icons/arrow-right.svg", "../src/assets/icons/notification.svg", "../src/assets/icons/plus.svg", "../src/assets/icons/toolbox.svg", "../src/assets/icons/load.svg", "../src/assets/icons/check.svg", "../src/assets/icons/chevron-up.svg", "../src/assets/icons/close.svg", "../src/assets/icons/credit-card.svg", "../src/assets/icons/paypal.svg", "../src/assets/icons/currency.svg", "../src/assets/icons/instalments.svg", "../src/assets/icons/more.svg", "../src/assets/icons/send.svg", "../src/assets/icons/remove.svg", "../src/assets/icons/phone.svg", "../src/assets/icons/email.svg", "../src/assets/icons/filter.svg", "../src/assets/icons/minus.svg", "../src/assets/icons/copy.svg", "../src/assets/icons/file-upload.svg", "../src/assets/icons/file.svg", "../src/assets/icons/search.svg", "../src/assets/icons/edit.svg", "../src/assets/icons/info.svg", "../src/assets/icons/sms.svg", "../src/assets/icons/attachement.svg", "../src/assets/icons/note.svg", "../src/assets/icons/chevron-left.svg", "../src/assets/icons/chevron-down.svg", "../src/assets/icons/eye.svg", "../src/assets/icons/location.svg", "../src/assets/icons/special-check.svg", "../src/assets/icons/financed.svg", "../src/assets/icons/financed-color.svg", "../src/assets/icons/arrow-up.svg", "../src/assets/icons/image.svg", "../src/assets/icons/wallet.svg", "../src/assets/icons/deposit.svg", "../src/assets/icons/download.svg", "../src/assets/icons/customer.svg", "../src/assets/icons/customer-color.svg", "../src/assets/icons/rocket.svg", "../src/assets/icons/rocket-color.svg", "../src/assets/icons/rotate.svg", "../src/assets/icons/help.svg", "../src/assets/icons/star.svg", "../src/assets/icons/notes-paper.svg", "../src/assets/icons/office.svg", "../src/assets/icons/indicator.svg", "../src/assets/icons/customers-color.svg", "../src/assets/icons/customers.svg", "../src/assets/icons/cart.svg", "../src/assets/icons/paper.svg", "../src/assets/icons/alphabet.svg", "../src/assets/icons/arrow-up-right.svg", "../src/assets/icons/eye-off.svg", "../src/assets/icons/pound.svg", "../src/assets/icons/settings.svg", "../src/assets/icons/sort-ascending.svg", "../src/assets/icons/sort-descending.svg", "../src/assets/icons/tag.svg", "../src/assets/icons/user.svg", "../src/assets/icons/logout.svg", "../src/assets/icons/download-file.svg", "../src/assets/icons/delete-file.svg", "../src/assets/icons/archive.svg", "../src/assets/icons/favourite.svg", "../src/assets/icons/warning.svg", "../src/assets/icons/error.svg", "../src/assets/icons/shield-check.svg", "../src/assets/icons/calendar.svg", "../src/assets/icons/bold.svg", "../src/assets/icons/italic.svg", "../src/assets/icons/ordered-list.svg", "../src/assets/icons/unordered-list.svg", "../src/assets/icons/flag.svg", "../src/assets/icons/copy-archive.svg", "../src/assets/icons/lock.svg", "../src/components/Icon/constants.tsx", "../src/hooks/useToast/constants.ts", "../src/hooks/useHelpcrunch.ts", "../src/hooks/useEscClick.ts", "../src/hooks/useOuterClick.ts", "../src/hooks/useButtonTracking.ts", "../src/hooks/useMousePosition.ts", "../src/hooks/useFuse.ts", "../src/hooks/useFrontChatWidget.ts", "../src/config/index.ts", "../src/components/DesktopLayout/DesktopLayoutBoxed/constants.ts", "../src/assets/header/background.svg", "../src/assets/images/background-lines.svg", "../src/components/HelpButton/index.tsx", "../src/components/Button/ButtonText/index.tsx", "../src/hooks/useProps/helpers.ts", "../src/hooks/useProps/constants.ts", "../src/hooks/useProps/index.ts", "../src/hooks/usePass.ts", "../src/components/Pass/PassConstants/index.tsx", "../src/components/Pass/index.ts", "../src/components/Button/ButtonText/constants.ts", "../src/components/Button/ButtonLink/index.tsx", "../src/components/Button/ButtonLink/useButtonLink.ts", "../src/components/Button/ButtonLink/constants.ts", "../src/components/Button/BaseButton/index.tsx", "../src/components/Button/BaseButton/constants.ts", "../src/components/Button/ButtonInlineLink/index.tsx", "../src/components/Button/ButtonInlineLink/useButtonInlineLink.ts", "../src/components/Button/ButtonInlineLink/constants.ts", "../src/components/Button/ButtonIcon/index.tsx", "../src/components/Button/ButtonIcon/useButtonIcon.ts", "../src/components/Button/ButtonIcon/constants.ts", "../src/components/Button/index.ts", "../src/components/HelpButton/useHelpButtonOnClick.ts", "../src/components/HelpButton/constants.ts", "../src/components/DesktopLayout/DesktopLayoutBoxed/DesktopLayoutBoxedContent/index.tsx", "../src/components/DesktopLayout/DesktopLayoutBoxed/DesktopLayoutBoxedContent/constants.ts", "../src/components/DesktopLayout/DesktopLayoutBoxed/DesktopLayoutBoxedContent/useContentClassNames.ts", "../src/components/DesktopLayout/DesktopLayoutBoxed/DesktopLayoutBoxedContentHeader/index.tsx", "../src/components/DesktopLayout/DesktopLayoutBoxed/DesktopLayoutBoxedContentHeader/constants.ts", "../src/components/DesktopLayout/DesktopLayoutDefault/index.tsx", "../src/components/DesktopLayout/DesktopLayoutDefault/useDesktopLayoutProps.ts", "../src/components/DesktopLayout/DesktopLayoutDefault/constants.ts", "../src/components/DesktopLayout/DesktopLayoutDefault/DesktopLayoutDefaultContent/index.tsx", "../src/components/DesktopLayout/DesktopLayoutDefault/DesktopLayoutDefaultContent/constants.ts", "../src/components/DesktopLayout/DesktopLayoutDefault/DesktopLayoutDefaultContentHeader/index.tsx", "../src/components/DesktopLayout/DesktopLayoutDefault/DesktopLayoutDefaultContentHeader/constants.ts", "../src/components/Animations/Fade/index.tsx", "../src/components/Animations/Fade/Container.tsx", "../src/components/Modal/helpers.ts", "../src/components/Animations/SlideLeft/index.tsx", "../src/components/Animations/SlideLeft/Container.tsx", "../src/components/Animations/SlideLeft/constants.ts", "../src/components/Animations/index.ts", "../src/components/Modal/AnimatedModalContainer/index.tsx", "../src/components/Modal/AnimatedModalContainer/Container.tsx", "../src/components/Modal/constants.ts", "../src/components/ModalsWrapper/index.tsx", "../src/components/ModalsWrapper/hooks/useModalsWrapper.ts", "../src/components/ModalsWrapper/hooks/useModals.ts", "../src/components/ModalsWrapper/hooks/useAnimatedModals.ts", "../src/components/ModalsWrapper/hooks/useViewportVariables.ts", "../src/common/helpers.ts", "../src/components/ModalsWrapper/Loader/index.tsx", "../src/components/ModalsWrapper/Loader/LoaderContainer.tsx", "../src/components/ModalsWrapper/Loader/constants.ts", "../src/components/Banner/index.tsx", "../src/assets/images/banner-background.svg", "../src/components/Banner/constants.ts", "../src/components/BreakPoints/index.tsx", "../src/components/Card/index.tsx", "../src/components/Card/constants.ts", "../src/components/Card/useCardProps.ts", "../src/components/Card/CardContent/index.tsx", "../src/components/Card/CardSection/index.tsx", "../src/components/Card/CardContent/constants.ts", "../src/components/Card/CardFooter/index.tsx", "../src/components/Card/CardFooter/constants.ts", "../src/components/Card/CardFooter/CardOptions/index.tsx", "../src/components/Card/helpers.ts", "../src/components/Card/CardFooter/CardOptions/useOptions.ts", "../src/components/Card/CardFooter/CardOptions/constants.ts", "../src/components/Card/CardTitle/index.tsx", "../src/components/Card/CardTitle/constants.ts", "../src/components/Card/CardOption/index.tsx", "../src/components/Card/CardOption/constants.ts", "../src/components/CommonWrapper/index.tsx", "../src/components/FrontChatWidget/index.tsx", "../src/components/FrontChatWidget/constants.ts", "../src/components/ToastContainer/index.tsx", "../src/components/ToastContainer/constants.tsx", "../src/hooks/useToast/CloseButton/index.tsx", "../src/components/ToastContainer/useToastContainerState.ts", "../src/components/Recaptcha/index.tsx", "../src/components/Recaptcha/constants.ts", "../src/components/CopyContent/index.tsx", "../src/components/CopyContent/useCopyContent.ts", "../src/components/CopyContent/helpers.ts", "../src/components/CopyContent/constants.ts", "../src/components/DesktopFooter/index.tsx", "../src/components/DesktopFooter/constants.ts", "../src/components/DesktopHeader/index.tsx", "../src/components/DesktopHeader/useDesktopHeaderProps.tsx", "../src/components/DesktopHeader/constants.ts", "../src/components/DesktopHeader/CompanyInfo/index.tsx", "../src/components/DesktopHeader/CompanyInfo/constants.ts", "../src/components/DesktopHeader/CompanyInfoPopover/index.tsx", "../src/components/PopoverMenu/index.tsx", "../src/components/PopoverMenu/usePopoverMenu.ts", "../src/components/PopoverMenu/constants.ts", "../src/components/PopoverMenu/PopoverMenuItem/index.tsx", "../src/components/PopoverMenu/PopoverMenuItem/constants.ts", "../src/components/PopoverMenu/PopoverMenuItem/usePopoverMenuItem.ts", "../src/components/DesktopHeader/CompanyInfoPopover/useCompanyInfoPopover.ts", "../src/components/DesktopHeader/CompanyInfoPopover/constants.ts", "../src/common/constants.ts", "../src/hooks/useIsMounted.ts", "../src/components/DesktopHeader/DesktopMenu/index.tsx", "../src/components/DesktopHeader/DesktopMenu/constants.ts", "../src/components/DesktopHeader/DesktopMenu/helpers.ts", "../src/components/FinanceStatusTag/index.tsx", "../src/components/StatusTag/index.tsx", "../src/components/Tag/index.tsx", "../src/components/Tag/useTagClassName.ts", "../src/components/Tag/constants.ts", "../src/components/StatusTag/useStatusTagProps.ts", "../src/components/StatusTag/helpers.ts", "../src/components/TimeAgo/index.tsx", "../src/components/TimeAgo/constants.ts", "../src/components/TimeAgo/helpers.ts", "../src/components/TimeAgo/useTimeAgoProps.ts", "../src/components/FinanceStatusTag/helpers.ts", "../src/components/Header/HeaderBase/index.tsx", "../src/components/Header/HeaderBase/constants.ts", "../src/components/Header/HeaderBase/useHeaderBaseClassNames.ts", "../src/components/Header/HeaderBase/PhoneLink/index.tsx", "../src/components/Text/index.tsx", "../src/components/Header/HeaderMain/index.tsx", "../src/components/Header/HeaderMain/useHeaderMainProps.tsx", "../src/components/Header/HeaderMain/constants.ts", "../src/components/Header/index.ts", "../src/components/InfoBanner/index.tsx", "../src/components/InfoBanner/constants.ts", "../src/components/Layout/index.tsx", "../src/components/Layout/useLayoutClassNames.ts", "../src/components/Layout/constants.ts", "../src/components/Layout/teleporters.ts", "../src/components/ScrollTopButton/index.tsx", "../src/components/ScrollTopButton/useScrollTopButton.ts", "../src/components/ScrollTopButton/constants.ts", "../src/components/ScrollTopButton/helpers.ts", "../src/components/Loader/index.tsx", "../src/components/LoadingProvider/index.tsx", "../src/components/LoadingProvider/useLoadingProviderValue.ts", "../src/components/LoadingSpinner/index.tsx", "../src/components/LoadingSpinner/constants.ts", "../src/components/LoadingSpinner/useLoadingSpinnerProps.ts", "../src/components/Menu/index.tsx", "../src/components/Menu/constants.ts", "../src/components/Modal/ModalLayout/ModalLayoutSlideLeft/index.tsx", "../src/components/Modal/ModalLayout/ModalLayoutSlideLeft/useModalLayoutSlideLeftClassNames.ts", "../src/components/Modal/ModalLayout/ModalLayoutSlideLeft/constants.ts", "../src/components/Menu/MenuHeader/index.tsx", "../src/components/Menu/MenuHeader/constants.ts", "../src/components/Modal/ModalContainer/index.tsx", "../src/components/Modal/ModalContainer/Container.tsx", "../src/components/Modal/ModalLayout/ModalLayoutCenter/index.tsx", "../src/components/Modal/ModalLayout/ModalLayoutCenter/Container.tsx", "../src/components/Modal/ModalLayout/ModalLayoutCenter/constants.ts", "../src/components/Modal/ModalLayout/ModalLayoutFullScreen/index.tsx", "../src/components/Modal/ModalLayout/ModalLayoutFullScreen/useModalLayoutFullScreenClassNames.ts", "../src/components/Modal/ModalLayout/ModalLayoutFullScreen/constants.ts", "../src/components/Modal/ModalLayout/ModalLayoutSlideUp/index.tsx", "../src/assets/images/marketing-slide-up-header.svg", "../src/components/Modal/ModalLayout/ModalLayoutSlideUp/Container.ts", "../src/components/Modal/ModalLayout/ModalLayoutSlideUp/constants.ts", "../src/components/NavigationLink/index.tsx", "../src/components/NavigationLink/useNavigationLinkClassNames.ts", "../src/components/NavigationLink/constants.ts", "../src/components/Pagination/index.tsx", "../src/components/Pagination/usePaginationProps.ts", "../src/components/Pagination/helpers.ts", "../src/components/Pagination/PaginationNavButton/index.tsx", "../src/components/Pagination/PaginationNavButton/usePaginationNavButtonProps.ts", "../src/components/Pagination/PaginationNavButton/constants.ts", "../src/components/Pagination/PaginationNumberButton/index.tsx", "../src/components/Pagination/PaginationNumberButton/usePaginationNumberButtonClassNames.ts", "../src/components/Pagination/PaginationNumberButton/constants.ts", "../src/components/Pagination/constants.ts", "../src/components/PlaceHolder/index.tsx", "../src/components/PlaceHolder/usePlaceHolderClassNames.ts", "../src/components/PlaceHolder/constants.ts", "../src/components/Popover/Standard/index.tsx", "../src/components/Popover/Standard/useStandardPopover.ts", "../src/components/Popover/Standard/constants.ts", "../src/components/Popover/Advanced/index.tsx", "../src/components/Popover/Advanced/useAdvancedProps.ts", "../src/components/Popover/Advanced/constants.ts", "../src/components/Popover/Advanced/helpers.ts", "../src/components/Popover/Sticky/index.tsx", "../src/components/Popover/Sticky/constants.ts", "../src/components/Popover/Sticky/useStickyPopover.ts", "../src/components/Popover/index.ts", "../src/components/Price/index.tsx", "../src/components/Price/constants.ts", "../src/components/Price/usePriceProps.ts", "../src/helpers/number.ts", "../src/components/Separator/index.tsx", "../src/components/Separator/constants.ts", "../src/components/StrengthMeter/index.tsx", "../src/components/StrengthMeter/constants.ts", "../src/components/StrengthMeter/useStrengthMeter.ts", "../src/components/TextSlides/index.tsx", "../src/components/TextSlides/useTextSlides.ts", "../src/components/Timeline/index.tsx", "../src/components/Timeline/constants.ts", "../src/components/ExpandableContent/index.tsx", "../src/components/ExpandableContent/useExpandableContentProps.ts"],
4
- "sourcesContent": ["import React, { FunctionComponent } from 'react';\nimport { default as KandaWordMark } from '../../assets/logos/kanda-wordmark.svg';\nimport type { StringIndexedObject } from '~/types';\n\nexport interface LogoProps {\n width?: number;\n height?: number;\n className?: string;\n}\n\nconst Logo: FunctionComponent<LogoProps> = function (props) {\n return <KandaWordMark {...(props as StringIndexedObject)} />;\n};\n\nexport default Logo;\n", "import * as React from \"react\";\nconst SvgKandaWordmark = props => <svg width={82} height={24} viewBox=\"0 0 82 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path d=\"M30.0848 6.13291L25.8446 6.52253V7.58704C24.8111 6.75056 23.433 6.34493 21.7104 6.50321C18.1858 6.82708 15.2176 9.974 15.2176 14.1788C15.2176 18.4103 18.1858 20.9851 21.7104 20.6612C23.433 20.503 24.8111 19.8441 25.8446 18.8177V19.8822L30.0848 19.4925V6.13291ZM22.585 16.9615C20.7299 17.132 19.3783 15.8723 19.3783 13.7965C19.3783 11.7473 20.7299 10.2127 22.585 10.0422C24.3075 9.88392 25.8446 11.1532 25.8446 13.2023C25.8446 15.2781 24.3075 16.8033 22.585 16.9615Z\" fill=\"#0D1B2E\" /><path d=\"M41.4685 4.6877C39.7989 4.84111 38.3944 5.58227 37.3873 6.73932V5.4619L33.1471 5.85152V19.2112L37.3873 18.8215V12.6208C37.3873 10.0393 38.4739 8.79511 40.1434 8.6417C41.495 8.51751 42.4225 9.4968 42.4225 11.067V18.3589L46.6362 17.9717V9.77493C46.6362 6.42172 44.5691 4.40279 41.4685 4.6877Z\" fill=\"#0D1B2E\" /><path d=\"M63.5218 3.72039e-07L59.2816 0.389619V4.51461C58.2481 3.67813 56.87 3.2725 55.1475 3.43078C51.6228 3.75465 48.6547 6.90157 48.6547 11.1064C48.6547 15.3378 51.6228 17.9127 55.1475 17.5888C56.87 17.4305 58.2481 16.7716 59.2816 15.7452V16.8097L63.5218 16.4201V3.72039e-07ZM56.022 13.8891C54.1669 14.0596 52.8154 12.7999 52.8154 10.7241C52.8154 8.67489 54.1669 7.14022 56.022 6.96977C57.7446 6.81148 59.2816 8.08073 59.2816 10.1299C59.2816 12.2057 57.7446 13.7308 56.022 13.8891Z\" fill=\"#0D1B2E\" /><path d=\"M80.5768 1.49334L76.3366 1.88296V2.94748C75.3031 2.111 73.925 1.70537 72.2024 1.86365C68.6778 2.18752 65.7096 5.33444 65.7096 9.53927C65.7096 13.7707 68.6778 16.3455 72.2024 16.0217C73.925 15.8634 75.3031 15.2045 76.3366 14.1781V15.2426L80.5768 14.853V1.49334ZM73.077 12.322C71.2219 12.4924 69.8703 11.2328 69.8703 9.15695C69.8703 7.10776 71.2219 5.57309 73.077 5.40264C74.7995 5.24435 76.3366 6.5136 76.3366 8.56278C76.3366 10.6386 74.7995 12.1637 73.077 12.322Z\" fill=\"#0D1B2E\" /><path d=\"M16.8282 22.4537L8.74539 14.3077L16.2982 4.67181L11.051 5.15396L5.00872 12.7882L4.3727 12.8466V5.76761L0 6.16941V24L4.3727 23.5982V16.8918L5.30024 16.8065L11.104 22.9797L16.8282 22.4537Z\" fill=\"#0D1B2E\" /><path d=\"M78.5171 17.921C80.0698 17.7784 81.3285 18.9267 81.3285 20.4859C81.3285 22.0086 80.0256 23.322 78.5156 23.3214L19.9951 23.2985L78.5171 17.921Z\" fill=\"#27DEBF\" /></svg>;\nexport default SvgKandaWordmark;", "import React, { FunctionComponent } from 'react';\nimport useDesktopLayoutBoxedProps from './useDesktopLayoutBoxedProps';\nimport HeaderBackground from '../../../assets/header/background.svg';\nimport KandaLogo from '../../../assets/logos/kanda-wordmark.svg';\nimport BackgroundLines from '../../../assets/images/background-lines.svg';\nimport HelpButton from '~/components/HelpButton';\nimport DesktopLayoutBoxedContent from './DesktopLayoutBoxedContent';\nimport DesktopLayoutBoxedContentHeader from './DesktopLayoutBoxedContentHeader';\nimport type { HomeLinkProps } from '~/components/ConfigWrapper';\nimport type { StringIndexedObject } from '~/types';\n\nexport interface DesktopLayoutBoxedProps {\n children?: JSX.Element | JSX.Element[];\n /**\n * Right side option for header\n */\n options?: JSX.Element[];\n logoProps?: StringIndexedObject<string>;\n sidebar?: boolean | JSX.Element;\n sidebarWidth?: string;\n backgroundLines?: boolean;\n /**\n * Hide header\n */\n noHeader?: boolean;\n /**\n * Show help\n */\n help?: boolean;\n layoutFooter?: JSX.Element | JSX.Element[];\n /**\n * Allow for the y axis to overflow when there is a lot of content within the card\n */\n allowYOverflow?: boolean;\n /**\n * Optional prop for whether or not to show the navigation, like with DesktopLayoutDefault\n */\n showNavigation?: boolean;\n}\n\nconst DesktopLayoutBoxed: FunctionComponent<DesktopLayoutBoxedProps> =\n function ({\n children,\n logoProps,\n sidebar,\n sidebarWidth = 'basis-1/3',\n options = [],\n backgroundLines = false,\n noHeader = false,\n help = false,\n layoutFooter,\n allowYOverflow = false,\n showNavigation = false,\n }) {\n const {\n classNames,\n linkComponent: LinkComponent,\n homeLinkProps,\n sidebarView: SidebarView,\n Header,\n } = useDesktopLayoutBoxedProps({\n sidebar,\n sidebarWidth,\n noHeader,\n allowYOverflow,\n });\n\n const BackgroundLinesTag =\n BackgroundLines as unknown as FunctionComponent<HomeLinkProps>;\n const HeaderBackgroundTag =\n HeaderBackground as unknown as FunctionComponent<HomeLinkProps>;\n\n return (\n <div id=\"layout\" className={classNames.container}>\n <div className={classNames.background}>\n {!backgroundLines && <div className={classNames.shadow} />}\n {backgroundLines && (\n <BackgroundLinesTag className={classNames.backgroundLines} />\n )}\n <HeaderBackgroundTag className={classNames.lines} />\n </div>\n <div className={classNames.wrapper}>\n {!noHeader && (\n <div className={classNames.header}>\n {!showNavigation && (\n <LinkComponent {...homeLinkProps} className={classNames.logo}>\n <>\n <KandaLogo {...logoProps} />\n </>\n </LinkComponent>\n )}\n {showNavigation && Header && <Header />}\n <div className={classNames.options}>\n {help && <HelpButton />}\n {options.map((option, i) => (\n <div key={String(i)}>{option}</div>\n ))}\n </div>\n </div>\n )}\n <div className={classNames.contentWrapper}>\n {SidebarView && (\n <div className={classNames.sidebar}>\n <SidebarView />\n </div>\n )}\n <div className={classNames.contentBox}>{children}</div>\n </div>\n </div>\n {layoutFooter}\n </div>\n );\n };\n\nexport { DesktopLayoutBoxedContent, DesktopLayoutBoxedContentHeader };\n\nexport default DesktopLayoutBoxed;\n", "import { FunctionComponent, useContext } from 'react';\nimport {\n ConfigWrapperContext,\n HomeLinkProps,\n} from '~/components/ConfigWrapper';\nimport type { DesktopLayoutBoxedProps } from '~/components/DesktopLayout/DesktopLayoutBoxed/index';\nimport { useClasses } from '~/hooks';\nimport type { StringIndexedObject } from '~/types';\nimport type { NavigationLinkProps } from '~/components/NavigationLink';\nimport { CLASS_NAMES } from './constants';\n\nexport type DesktopLayoutBoxedArgs = Omit<\n DesktopLayoutBoxedProps,\n | 'children'\n | 'options'\n | 'logoProps'\n | 'backgroundLines'\n | 'help'\n | 'layoutFooter'\n>;\n\nexport interface DesktopLayoutBoxedPropsHook {\n linkComponent: FunctionComponent<NavigationLinkProps>;\n homeLinkProps: HomeLinkProps;\n sidebarView: FunctionComponent;\n classNames: StringIndexedObject;\n Header?: FunctionComponent<{}>;\n}\n\nexport default function useDesktopLayoutBoxedProps({\n sidebar,\n sidebarWidth,\n noHeader,\n allowYOverflow,\n}: DesktopLayoutBoxedArgs): DesktopLayoutBoxedPropsHook {\n const {\n linkComponent,\n homeLinkProps,\n sidebar: defaultSidebar,\n desktopHeader: Header,\n } = useContext(ConfigWrapperContext);\n\n const sidebarView = (\n sidebar === true ? defaultSidebar : sidebar\n ) as FunctionComponent;\n\n const classNames = useClasses(CLASS_NAMES, {\n contentBox: ['.contentBox', sidebar ? 'basis-2/3' : 'w-full'],\n variants: {\n noHeader,\n allowYOverflow,\n },\n sidebar: ['.sidebarBase', sidebarWidth],\n });\n\n return {\n linkComponent: linkComponent as FunctionComponent<HomeLinkProps>,\n homeLinkProps: homeLinkProps as HomeLinkProps,\n sidebarView,\n classNames,\n Header,\n };\n}\n", "import React, { createContext, FunctionComponent } from 'react';\n\nexport interface HomeLinkProps {\n href?: string;\n className?: string;\n to?: string;\n}\n\nexport interface Props {\n children?: JSX.Element | JSX.Element[];\n linkComponent?: string | FunctionComponent<HomeLinkProps>;\n desktopHeader?: FunctionComponent;\n desktopFooter?: FunctionComponent;\n homeLinkProps?: HomeLinkProps;\n sidebar?: FunctionComponent;\n}\n\nexport const ConfigWrapperContext = createContext<Omit<Props, 'children'>>({\n linkComponent: 'a',\n homeLinkProps: { href: '/' },\n});\n\nconst ConfigWrapper: FunctionComponent<Props> = function ({\n children,\n linkComponent = 'a',\n desktopHeader,\n desktopFooter,\n homeLinkProps = { href: '/' },\n sidebar,\n}) {\n const props = {\n linkComponent,\n desktopHeader,\n desktopFooter,\n homeLinkProps,\n sidebar,\n };\n\n return (\n <ConfigWrapperContext.Provider value={props}>\n {children}\n </ConfigWrapperContext.Provider>\n );\n};\n\nexport default ConfigWrapper;\n", "import { useEffect, useState, useCallback } from 'react';\n\nimport { getMatches } from './mediaQuery-functions';\n\n/**\n * The hook to match media queries.\n * Returns true if there are matches for media query\n *\n * @param {string} query media query ex: (min-width: 768px)\n * @return {Boolean} true if it matches\n */\n\nconst useMediaQuery = (query: string) => {\n const [matches, setMatches] = useState<boolean>(getMatches(query));\n\n const handleChange = useCallback(\n () => setMatches(getMatches(query)),\n [query],\n );\n\n useEffect(() => {\n const matchMedia = window.matchMedia(query);\n\n // Triggered at the first client-side load and if query changes\n handleChange();\n\n // Listen matchMedia - if/else used for Safari 14 or before, see:\n // https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList/addListener#browser_compatibility\n if (matchMedia.addListener) {\n matchMedia.addListener(handleChange);\n } else {\n matchMedia.addEventListener('change', handleChange);\n }\n\n return () => {\n if (matchMedia.removeListener) {\n matchMedia.removeListener(handleChange);\n } else {\n matchMedia.removeEventListener('change', handleChange);\n }\n };\n }, [query, handleChange]);\n\n return matches;\n};\n\nexport default useMediaQuery;\n", "export const getMatches = (query: string): boolean => {\n // Prevents SSR issues\n if (typeof window !== \"undefined\") {\n return window.matchMedia(query).matches;\n }\n return false;\n};\n", "export const DESKTOP_MEDIA_QUERY = \"(min-width: 768px)\";\n", "import { DESKTOP_MEDIA_QUERY } from './isDesktop-constants';\n\nimport useMediaQuery from '../useMediaQuery';\n\n/**\n * The hook to check it current view is on desktop\n * @return {Boolean} true if it's desktop\n */\nconst useIsDesktop = () => useMediaQuery(DESKTOP_MEDIA_QUERY);\n\nexport default useIsDesktop;\n", "import get from 'lodash.get';\nimport type { StringIndexedObject } from '~/types';\n\nimport { VARIABLE_REGEX } from './constants';\n\n/**\n * Gets variants value\n */\nexport const getVariantValue = (variants: StringIndexedObject, key: string) =>\n variants[key.replace('@', '')];\n\n/**\n * Checks if key has variable\n */\nexport const isVariable = (key: string): boolean => key.includes('@');\n\n/**\n * replaces variables\n */\nexport const replaceVariables = (\n string: string,\n variants: StringIndexedObject,\n): string => {\n const matches = Array.from(string.matchAll(VARIABLE_REGEX));\n\n return matches.reduce((prev, match) => {\n const { variable, key } = match.groups || {};\n\n if (variable && isVariable(variable)) {\n return prev.replace(key, getVariantValue(variants, variable));\n }\n\n return prev;\n }, string);\n};\n\n/**\n * Formats value\n */\nexport const formatValue = (\n classes: StringIndexedObject,\n value: string | string[] | StringIndexedObject,\n variants: StringIndexedObject = {},\n): string => {\n if (typeof value === 'object' && !Array.isArray(value)) {\n if (!Object.keys(value).some(isVariable)) return value as unknown as string;\n\n const flatValue = Object.keys(value).reduce(\n (arrayValues: string[], key) => {\n if (isVariable(key)) {\n const variantKey = getVariantValue(variants, key);\n\n if (\n typeof value[key][variantKey] === 'object' &&\n !Array.isArray(value[key][variantKey])\n )\n return [\n ...arrayValues,\n formatValue(classes, value[key][variantKey], variants),\n ];\n\n if (\n typeof value[key][variantKey] === 'object' &&\n !Array.isArray(value[key][variantKey])\n )\n return [\n ...arrayValues,\n formatValue(classes, value[key][variantKey], variants),\n ];\n\n if (value[key][variantKey])\n return [...arrayValues, value[key][variantKey]];\n\n if (value[key][variantKey])\n return [...arrayValues, value[key][variantKey]];\n\n return arrayValues;\n }\n\n if (typeof value[key] === 'string') {\n return [...arrayValues, value[key]];\n }\n\n return arrayValues;\n },\n [],\n );\n\n return formatValue(classes, flatValue, variants);\n }\n\n const normalizedValue = Array.isArray(value) ? value : [value];\n\n return replaceVariables(\n normalizedValue\n .filter((part) => typeof part === 'string')\n .join(' ')\n .split(' ')\n .reduce((acc, className) => {\n const injectedClassName =\n className.indexOf('.') === 0\n ? get(classes, className.substr(1))\n : className;\n\n if (!injectedClassName) return acc;\n\n return acc ? `${acc} ${injectedClassName}` : injectedClassName;\n }, ''),\n variants,\n );\n};\n\n/**\n * Formats object values\n */\nexport const formatObject = (\n object: StringIndexedObject,\n variants: StringIndexedObject,\n initial: StringIndexedObject = {},\n): StringIndexedObject =>\n Object.entries(object).reduce(\n (formattedObject, [key, value]) => ({\n ...formattedObject,\n [key]: formatValue(formattedObject, value, variants),\n }),\n initial,\n );\n", "export const VARIABLE_REGEX = /(?<key>{{(?<variable>.+)}})/g;\n", "import { useContext } from 'react';\nimport type { Variants } from '~/types';\nimport { Context } from '~/components/LoadingProvider/Context';\nimport useIsDesktop from '~/hooks/useIsDesktop';\n\nexport interface Hook extends Variants {\n media: 'desktop' | 'mobile';\n loading: boolean;\n}\n\nexport default function useVariants(variants: Variants): Hook {\n const isDesktop = useIsDesktop();\n const loading = useContext(Context);\n\n const media = isDesktop ? 'desktop' : 'mobile';\n\n return {\n media,\n loading,\n ...variants,\n };\n}\n", "import { createContext } from 'react';\n\nexport type LoadingProviderContext = boolean;\n\nexport const Context = createContext<LoadingProviderContext>(false);\n", "import type { StringIndexedObject } from '~/types';\nimport { formatObject } from './helpers';\nimport useVariants from '~/hooks/useVariants';\n\nexport default function useClasses(\n constants: StringIndexedObject = {},\n extend: StringIndexedObject = {},\n): StringIndexedObject {\n const { variants, ...extendedClassNames } = extend;\n\n const formattedConstants = formatObject(constants, useVariants(variants));\n\n return formatObject(extendedClassNames, variants, formattedConstants);\n}\n", "import React from 'react';\nimport { toast, type ToastOptions } from 'react-toastify';\nimport type { ToastContent } from 'react-toastify/dist/types';\nimport Message, { type MessageProps } from './Message';\nimport { TOAST_MESSAGE_FUNCTION_PROPS } from './constants';\nimport type {\n ToastMessageFunction,\n ToastMessageFunctionType,\n ToastId,\n} from './types';\n\nexport interface ToastHook {\n toast: (content: ToastContent, options?: ToastOptions) => ToastId;\n dismiss: (id: ToastId) => void;\n showInfo: ToastMessageFunction;\n showError: ToastMessageFunction;\n showWarning: ToastMessageFunction;\n showSuccess: ToastMessageFunction;\n}\n\nexport default function useToast(): ToastHook {\n function createToastMessageFunction(\n type: ToastMessageFunctionType,\n ): ToastMessageFunction {\n return (\n message: string,\n messageProps: Omit<MessageProps, 'message'> = {},\n options: ToastOptions = {},\n ): ToastId => {\n const props = {\n ...TOAST_MESSAGE_FUNCTION_PROPS[type],\n ...messageProps,\n };\n\n return toast[type](<Message message={message} {...props} />, options);\n };\n }\n\n const dismiss = toast.dismiss;\n\n return {\n toast,\n dismiss,\n showInfo: createToastMessageFunction('info'),\n showError: createToastMessageFunction('error'),\n showWarning: createToastMessageFunction('warning'),\n showSuccess: createToastMessageFunction('success'),\n };\n}\n", "import React, { FunctionComponent, HTMLProps } from 'react';\nimport useMessage from './useMessage';\nimport Icon from '~/components/Icon';\nimport type { IconProps } from '~/components/Icon/types';\n\nexport interface MessageProps {\n message: string;\n showIcon?: boolean;\n icon?: IconProps;\n container?: HTMLProps<HTMLDivElement>;\n span?: HTMLProps<HTMLDivElement>;\n}\n\nconst Message: FunctionComponent<MessageProps> = function ({\n message,\n showIcon = false,\n icon,\n container,\n span,\n}) {\n const { iconProps, containerProps, spanProps } = useMessage(\n icon,\n container,\n span,\n );\n\n return (\n <div {...containerProps}>\n {showIcon && <Icon {...iconProps} />}\n <span {...spanProps}>{message}</span>\n </div>\n );\n};\n\nexport default Message;\n", "export const DEFAULT_ICON_PROPS = {\n size: 24,\n icon: 'info',\n stroke: 'neutral-300',\n className: 'my-auto mr-3',\n};\n\nexport const DEFAULT_CONTAINER_PROPS = {\n className: 'flex flex-row w-full',\n};\n\nexport const DEFAULT_SPAN_PROPS = {\n className: 'text-style-g-em text-neutral-900 my-auto',\n};\n", "import type { HTMLProps } from 'react';\nimport {\n DEFAULT_ICON_PROPS,\n DEFAULT_CONTAINER_PROPS,\n DEFAULT_SPAN_PROPS,\n} from './constants';\nimport type { IconProps } from '~/components/Icon/types';\n\nexport interface Hook {\n iconProps: IconProps;\n containerProps: HTMLProps<HTMLDivElement>;\n spanProps: HTMLProps<HTMLDivElement>;\n}\n\nexport default function useMessage(\n icon: IconProps | null = null,\n container: HTMLProps<HTMLDivElement> | null = null,\n span: HTMLProps<HTMLDivElement> | null = null,\n): Hook {\n const iconProps = {\n ...DEFAULT_ICON_PROPS,\n ...(icon || {}),\n };\n\n const containerProps = {\n ...DEFAULT_CONTAINER_PROPS,\n ...(container || {}),\n };\n\n const spanProps = {\n ...DEFAULT_SPAN_PROPS,\n ...(span || {}),\n };\n\n return {\n iconProps,\n containerProps,\n spanProps,\n };\n}\n", "import React, { FunctionComponent } from 'react';\nimport SkeletonLoader from '~/components/SkeletonLoader';\nimport useIcon from '~/components/Icon/useIcon';\nimport type { IconProps } from '~/components/Icon/types';\n\nconst Icon: FunctionComponent<IconProps> = function ({\n isLoading = false,\n ...props\n}) {\n const { Icon, classNames, width, height } = useIcon(props);\n\n return (\n <SkeletonLoader\n width={width}\n height={height}\n isLoading={isLoading}\n className={classNames.skeleton}\n afterLoading={\n <Icon width={width} height={height} className={classNames.svg} />\n }\n />\n );\n};\n\nexport default Icon;\n", "import React, { FunctionComponent } from 'react';\nimport Skeleton, { SkeletonProps } from 'react-loading-skeleton';\n\nimport useSkeletonLoader from '~/components/SkeletonLoader/useSkeletonLoader';\n\nexport interface SkeletonLoaderProps extends SkeletonProps {\n /**\n * The loading state of the component - defaults to false\n */\n isLoading?: boolean;\n /**\n * The component to show after loading\n */\n afterLoading?: JSX.Element | string | null;\n /**\n * HTML className for the wrapper\n */\n wrapperClassName?: string;\n}\n\nconst SkeletonLoader: FunctionComponent<SkeletonLoaderProps> = function ({\n isLoading = false,\n afterLoading = <div />,\n wrapperClassName,\n ...restProps\n}) {\n const { loading, classNames } = useSkeletonLoader(\n wrapperClassName,\n isLoading,\n );\n\n const SkeletonTag = Skeleton as unknown as FunctionComponent<SkeletonProps>;\n\n if (loading) {\n return (\n <div className={classNames.wrapper}>\n <SkeletonTag {...restProps} />\n </div>\n );\n }\n\n return <>{afterLoading}</>;\n};\n\nexport default SkeletonLoader;\n", "import { useContext } from 'react';\nimport { DEFAULT_WRAPPER_CLASS_NAME } from '~/components/SkeletonLoader/constants';\nimport { Context } from '~/components/LoadingProvider/Context';\n\nexport interface Hook {\n loading: boolean;\n classNames: {\n wrapper: string;\n };\n}\n\nexport default function useSkeletonLoader(\n wrapperClassName = '',\n isLoading = false,\n): Hook {\n const wrapper = wrapperClassName || DEFAULT_WRAPPER_CLASS_NAME;\n\n const contextLoading = useContext(Context);\n /**\n * Allow to force isLoading\n * To be able to set is loading false even if the parent context is loading\n */\n const loading = typeof isLoading !== 'undefined' ? isLoading : contextLoading;\n\n return {\n loading,\n classNames: {\n wrapper,\n },\n };\n}\n", "export const DEFAULT_WRAPPER_CLASS_NAME = '';\n", "import type { FunctionComponent } from 'react';\nimport clsx from 'clsx';\nimport type { IconProps } from '~/components/Icon/types';\nimport { getStrokeClassName } from '~/components/Icon/helpers';\nimport type { StringIndexedObject } from '~/types';\nimport { CLASS_NAMES, DEFAULT_SIZE, ICONS } from './constants';\n\nexport interface Hook {\n Icon: FunctionComponent<IconProps>;\n classNames: StringIndexedObject<string>;\n width: number;\n height: number;\n style?: StringIndexedObject<unknown>;\n}\n\nexport default function useIcon({\n icon,\n stroke,\n flip,\n width: initialWidth,\n height: initialHeight,\n className: initialClassName,\n size,\n fill,\n}: Omit<IconProps, 'isLoading'>): Hook {\n const { Icon, ...defaultProps } = ICONS[icon as string] || {\n Icon: () => null,\n };\n\n const { skeletonBase, ...restClassNames } = CLASS_NAMES;\n\n const strokeClassName = stroke ? `stroke-current text-${stroke}` : '';\n\n const rotateClassName =\n flip || defaultProps.flip ? 'transform rotate-180' : '';\n\n const fillClassName = fill ? `fill-${fill}` : '';\n\n const sizeClass = getStrokeClassName(size);\n\n const svg = clsx(\n strokeClassName,\n rotateClassName,\n fillClassName,\n initialClassName,\n !initialClassName?.includes('icon-stroke') && sizeClass,\n );\n\n const classNames = { ...restClassNames, svg, skeleton: skeletonBase };\n\n const width = initialWidth || size || DEFAULT_SIZE.width;\n\n const height = initialHeight || size || DEFAULT_SIZE.height;\n\n return {\n Icon: Icon as FunctionComponent<IconProps>,\n classNames,\n width,\n height,\n style: strokeClassName ? {} : undefined,\n };\n}\n", "export const getStrokeClassName = (size = 24): string => {\n if (size <= 24) return 'icon-stroke-sm';\n\n if (size <= 32) return 'icon-stroke-md';\n\n return 'icon-stroke-lg';\n};\n", "import * as React from \"react\";\nconst SvgDashboard = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M8 10H4C2.895 10 2 9.105 2 8V4C2 2.895 2.895 2 4 2H8C9.105 2 10 2.895 10 4V8C10 9.105 9.105 10 8 10Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M20 10H16C14.895 10 14 9.105 14 8V4C14 2.895 14.895 2 16 2H20C21.105 2 22 2.895 22 4V8C22 9.105 21.105 10 20 10Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M8 22H4C2.895 22 2 21.105 2 20V16C2 14.895 2.895 14 4 14H8C9.105 14 10 14.895 10 16V20C10 21.105 9.105 22 8 22Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M20 22H16C14.895 22 14 21.105 14 20V16C14 14.895 14.895 14 16 14H20C21.105 14 22 14.895 22 16V20C22 21.105 21.105 22 20 22Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgDashboard;", "import * as React from \"react\";\nconst SvgDashboardColor = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M8 10H4C2.895 10 2 9.105 2 8V4C2 2.895 2.895 2 4 2H8C9.105 2 10 2.895 10 4V8C10 9.105 9.105 10 8 10Z\" stroke=\"#27DEBF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M20 10H16C14.895 10 14 9.105 14 8V4C14 2.895 14.895 2 16 2H20C21.105 2 22 2.895 22 4V8C22 9.105 21.105 10 20 10Z\" stroke=\"#27DEBF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M8 22H4C2.895 22 2 21.105 2 20V16C2 14.895 2.895 14 4 14H8C9.105 14 10 14.895 10 16V20C10 21.105 9.105 22 8 22Z\" stroke=\"#27DEBF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M20 22H16C14.895 22 14 21.105 14 20V16C14 14.895 14.895 14 16 14H20C21.105 14 22 14.895 22 16V20C22 21.105 21.105 22 20 22Z\" stroke=\"#1FCCAF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgDashboardColor;", "import * as React from \"react\";\nconst SvgHome = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M8.00002 23V17C8.00002 14.791 9.79102 13 12 13C14.209 13 16 14.791 16 17V23\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M1 21V10L12 1L23 10V21C23 22.105 22.105 23 21 23H3C1.895 23 1 22.105 1 21Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgHome;", "import * as React from \"react\";\nconst SvgHomeColor = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M8.00002 23V17C8.00002 14.791 9.79102 13 12 13C14.209 13 16 14.791 16 17V23\" stroke=\"#1FCCAF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M1 21V10L12 1L23 10V21C23 22.105 22.105 23 21 23H3C1.895 23 1 22.105 1 21Z\" stroke=\"#27DEBF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgHomeColor;", "import * as React from \"react\";\nconst SvgJob = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M21 9H13V1\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M7 14H17\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M7 18H17\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M19 23H5C3.895 23 3 22.105 3 21V3C3 1.895 3.895 1 5 1H13L21 9V21C21 22.105 20.104 23 19 23Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgJob;", "import * as React from \"react\";\nconst SvgJobColor = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M21 9H13V1\" stroke=\"#1FCCAF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M7 14H17\" stroke=\"#1FCCAF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M7 18H17\" stroke=\"#1FCCAF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M19 23H5C3.895 23 3 22.105 3 21V3C3 1.895 3.895 1 5 1H13L21 9V21C21 22.105 20.104 23 19 23Z\" stroke=\"#27DEBF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgJobColor;", "import * as React from \"react\";\nconst SvgSendQuote = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M17 13.5V9H7V13.5\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M21 23H3C1.895 23 1 22.105 1 21V9.5L12 1L23 9.5V21C23 22.105 22.105 23 21 23Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M1 9.923L9.836 15.608C11.154 16.456 12.846 16.456 14.164 15.608L23 9.923\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgSendQuote;", "import * as React from \"react\";\nconst SvgSendQuoteColor = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M17 13.5V9H7V13.5\" stroke=\"#1FCCAF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M21 23H3C1.895 23 1 22.105 1 21V9.5L12 1L23 9.5V21C23 22.105 22.105 23 21 23Z\" stroke=\"#27DEBF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M1 9.923L9.836 15.608C11.154 16.456 12.846 16.456 14.164 15.608L23 9.923\" stroke=\"#1FCCAF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgSendQuoteColor;", "import * as React from \"react\";\nconst SvgCheckCircle = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M8.5 13L11.5 15L15.5 9\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgCheckCircle;", "import * as React from \"react\";\nconst SvgCheckCircleColor = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23Z\" stroke=\"#27DEBF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M8.5 13L11.5 15L15.5 9\" stroke=\"#1FCCAF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgCheckCircleColor;", "import * as React from \"react\";\nconst SvgPayment = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M9 17H14\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M9 14H13\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M11 17V12C11 10.895 11.895 10 13 10C13.74 10 14.386 10.402 14.732 11\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M19 23H5C3.895 23 3 22.105 3 21V3C3 1.895 3.895 1 5 1H14L21 8V21C21 22.105 20.104 23 19 23Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgPayment;", "import * as React from \"react\";\nconst SvgPaymentColor = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M9 17H14\" stroke=\"#1FCCAF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M9 14H13\" stroke=\"#1FCCAF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M11 17V12C11 10.895 11.895 10 13 10C13.74 10 14.386 10.402 14.732 11\" stroke=\"#1FCCAF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M19 23H5C3.895 23 3 22.105 3 21V3C3 1.895 3.895 1 5 1H14L21 8V21C21 22.105 20.104 23 19 23Z\" stroke=\"#27DEBF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgPaymentColor;", "import * as React from \"react\";\nconst SvgAccount = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" opacity={0.8} d=\"M12 14.223C14.2091 14.223 16 12.4321 16 10.223C16 8.01385 14.2091 6.22299 12 6.22299C9.79086 6.22299 8 8.01385 8 10.223C8 12.4321 9.79086 14.223 12 14.223Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M18.631 21C17.692 19.389 15.068 18.223 12 18.223C8.93199 18.223 6.30799 19.389 5.36899 21\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M21.368 17.967C22.396 16.294 23 14.331 23 12.223C23 6.14799 18.075 1.22299 12 1.22299C5.925 1.22299 1 6.14799 1 12.223C1 14.331 1.604 16.294 2.632 17.968\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgAccount;", "import * as React from \"react\";\nconst SvgAccountColor = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M12 14.223C14.2091 14.223 16 12.4321 16 10.223C16 8.01385 14.2091 6.22299 12 6.22299C9.79086 6.22299 8 8.01385 8 10.223C8 12.4321 9.79086 14.223 12 14.223Z\" stroke=\"#1FCCAF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M18.631 21C17.692 19.389 15.068 18.223 12 18.223C8.93199 18.223 6.30799 19.389 5.36899 21\" stroke=\"#1FCCAF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M21.368 17.967C22.396 16.294 23 14.331 23 12.223C23 6.14799 18.075 1.22299 12 1.22299C5.925 1.22299 1 6.14799 1 12.223C1 14.331 1.604 16.294 2.632 17.968\" stroke=\"#27DEBF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgAccountColor;", "import * as React from \"react\";\nconst SvgVerification = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M15 22V20.375C15 17.411 11.86 15 8 15C4.14 15 1 17.411 1 20.375V22\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M8 11C10.4853 11 12.5 8.98528 12.5 6.5C12.5 4.01472 10.4853 2 8 2C5.51472 2 3.5 4.01472 3.5 6.5C3.5 8.98528 5.51472 11 8 11Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M23 10L19.5 15.25L17 13.5\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgVerification;", "import * as React from \"react\";\nconst SvgVerificationColor = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M15 22V20.375C15 17.411 11.86 15 8 15C4.14 15 1 17.411 1 20.375V22\" stroke=\"#27DEBF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M8 11C10.4853 11 12.5 8.98528 12.5 6.5C12.5 4.01472 10.4853 2 8 2C5.51472 2 3.5 4.01472 3.5 6.5C3.5 8.98528 5.51472 11 8 11Z\" stroke=\"#27DEBF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M23 10L19.5 15.25L17 13.5\" stroke=\"#1FCCAF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgVerificationColor;", "import * as React from \"react\";\nconst SvgUserSquare = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M12 14C14.2091 14 16 12.2091 16 10C16 7.79086 14.2091 6 12 6C9.79086 6 8 7.79086 8 10C8 12.2091 9.79086 14 12 14Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M18.963 21.87C18.63 19.143 15.638 17 12 17C8.36299 17 5.37099 19.142 5.03699 21.869\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M2.126 19C2.044 18.68 2 18.345 2 18V6C2 3.791 3.791 2 6 2H18C20.209 2 22 3.791 22 6V18C22 20.209 20.209 22 18 22H6C4.136 22 2.57 20.725 2.126 19Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgUserSquare;", "import * as React from \"react\";\nconst SvgUserSquareColor = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M12 14C14.2091 14 16 12.2091 16 10C16 7.79086 14.2091 6 12 6C9.79086 6 8 7.79086 8 10C8 12.2091 9.79086 14 12 14Z\" stroke=\"#1FCCAF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M18.963 21.87C18.63 19.143 15.638 17 12 17C8.36299 17 5.37099 19.142 5.03699 21.869\" stroke=\"#1FCCAF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M2.126 19C2.044 18.68 2 18.345 2 18V6C2 3.791 3.791 2 6 2H18C20.209 2 22 3.791 22 6V18C22 20.209 20.209 22 18 22H6C4.136 22 2.57 20.725 2.126 19Z\" stroke=\"#27DEBF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgUserSquareColor;", "import * as React from \"react\";\nconst SvgSearchFile = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M6 19H1V1H11L15 5\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M14.5 20C17.5376 20 20 17.5376 20 14.5C20 11.4624 17.5376 9 14.5 9C11.4624 9 9 11.4624 9 14.5C9 17.5376 11.4624 20 14.5 20Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M23 23L18.5 18.5\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgSearchFile;", "import * as React from \"react\";\nconst SvgSearchFileColor = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M6 19H1V1H11L15 5\" stroke=\"#27DEBF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M14.5 20C17.5376 20 20 17.5376 20 14.5C20 11.4624 17.5376 9 14.5 9C11.4624 9 9 11.4624 9 14.5C9 17.5376 11.4624 20 14.5 20Z\" stroke=\"#1FCCAF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M23 23L18.5 18.5\" stroke=\"#1FCCAF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgSearchFileColor;", "import * as React from \"react\";\nconst SvgAlarm = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M12 23C17.2467 23 21.5 18.7467 21.5 13.5C21.5 8.25329 17.2467 4 12 4C6.75329 4 2.5 8.25329 2.5 13.5C2.5 18.7467 6.75329 23 12 23Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M8 14H12V9\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M1 5L6 1\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M23 5L18 1\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgAlarm;", "import * as React from \"react\";\nconst SvgAlarmColor = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M12 23C17.2467 23 21.5 18.7467 21.5 13.5C21.5 8.25329 17.2467 4 12 4C6.75329 4 2.5 8.25329 2.5 13.5C2.5 18.7467 6.75329 23 12 23Z\" stroke=\"#27DEBF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M8 14H12V9\" stroke=\"#1FCCAF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M1 5L6 1\" stroke=\"#1FCCAF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M23 5L18 1\" stroke=\"#1FCCAF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgAlarmColor;", "import * as React from \"react\";\nconst SvgMenu = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M3 5H21M3 12H21M3 19H21\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgMenu;", "import * as React from \"react\";\nconst SvgArrowRight = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M13 19L21 12M21 12L13 5M21 12H3\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgArrowRight;", "import * as React from \"react\";\nconst SvgNotification = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M14.6145 18.5909C14.6703 18.8091 14.7 19.0373 14.7 19.2727C14.7 20.7791 13.4913 22 12 22C10.5087 22 9.3 20.7791 9.3 19.2727C9.3 19.0373 9.3297 18.8091 9.3855 18.5909M21 18.3636H3L6.6 12V7.45455C6.6 4.44182 9.0174 2 12 2C14.9826 2 17.4 4.44182 17.4 7.45455V12L21 18.3636Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgNotification;", "import * as React from \"react\";\nconst SvgPlus = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M12 4V20M4 12H20\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgPlus;", "import * as React from \"react\";\nconst SvgToolbox = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M1 15H23M6 13V17M18 13V17M7 7V3.001C7 1.896 7.896 1 9.001 1H14.999C16.104 1 17 1.896 17 3.001V7M21 23H3C1.895 23 1 22.105 1 21V9C1 7.895 1.895 7 3 7H21C22.105 7 23 7.895 23 9V21C23 22.105 22.105 23 21 23Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgToolbox;", "import * as React from \"react\";\nconst SvgLoad = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M23 4.00001V10M23 10H17M23 10L18.37 5.64001C16.9906 4.25975 15.2 3.3652 13.268 3.09116C11.3359 2.81711 9.36716 3.17843 7.65835 4.12065C5.94953 5.06288 4.59324 6.53496 3.79386 8.31508C2.99447 10.0952 2.7953 12.0869 3.22636 13.9901C3.65742 15.8932 4.69535 17.6047 6.18375 18.8667C7.67215 20.1286 9.53038 20.8726 11.4784 20.9866C13.4265 21.1006 15.3588 20.5783 16.9842 19.4985C18.6095 18.4187 19.84 16.8399 20.49 15\" stroke=\"currentColor\" strokeWidth={2} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgLoad;", "import * as React from \"react\";\nconst SvgCheck = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M4 14L10 18L20 6\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgCheck;", "import * as React from \"react\";\nconst SvgChevronUp = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M4.99998 15L12 7L19 15\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgChevronUp;", "import * as React from \"react\";\nconst SvgClose = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M6 6L18 18M6 18L18 6\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgClose;", "import * as React from \"react\";\nconst SvgCreditCard = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M23 10H1M8 16V15.99M5 16V15.99M21 20H3C1.895 20 1 19.105 1 18V6C1 4.895 1.895 4 3 4H21C22.105 4 23 4.895 23 6V18C23 19.105 22.105 20 21 20Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgCreditCard;", "import * as React from \"react\";\nconst SvgPaypal = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M21.68 7.42999C23.18 10.09 21.3 16.15 15.33 16.24H11.72L10.2 22.24H5.32L5.56 21M13.95 7.11999C14.1416 6.59447 14.0573 6.00794 13.7256 5.55759C13.3939 5.10723 12.8587 4.85286 12.3 4.87999H9.91L8.91 9.35999H11.2C12.5072 9.29317 13.6201 8.38661 13.95 7.11999ZM1.81 18.74L5.81 1.73999H14.1C16.59 1.73999 19.36 3.52999 18.53 7.31999C17.8616 10.552 14.969 12.8375 11.67 12.74H8.18L6.69 18.74H1.81Z\" stroke=\"currentColor\" strokeWidth={2} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgPaypal;", "import * as React from \"react\";\nconst SvgCurrency = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M9 15H14M9 12H13M11 15V10C11 8.895 11.895 8 13 8C13.74 8 14.386 8.402 14.732 9M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgCurrency;", "import * as React from \"react\";\nconst SvgInstalments = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M8 10H4C2.895 10 2 9.105 2 8V4C2 2.895 2.895 2 4 2H8C9.105 2 10 2.895 10 4V8C10 9.105 9.105 10 8 10Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M20 10H16C14.895 10 14 9.105 14 8V4C14 2.895 14.895 2 16 2H20C21.105 2 22 2.895 22 4V8C22 9.105 21.105 10 20 10Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M8 22H4C2.895 22 2 21.105 2 20V16C2 14.895 2.895 14 4 14H8C9.105 14 10 14.895 10 16V20C10 21.105 9.105 22 8 22Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M20 22H16C14.895 22 14 21.105 14 20V16C14 14.895 14.895 14 16 14H20C21.105 14 22 14.895 22 16V20C22 21.105 21.105 22 20 22Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgInstalments;", "import * as React from \"react\";\nconst SvgMore = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M13 3C13 3.55228 12.5523 4 12 4C11.4477 4 11 3.55228 11 3C11 2.44772 11.4477 2 12 2C12.5523 2 13 2.44772 13 3ZM13 12C13 12.5523 12.5523 13 12 13C11.4477 13 11 12.5523 11 12C11 11.4477 11.4477 11 12 11C12.5523 11 13 11.4477 13 12ZM13 21C13 21.5523 12.5523 22 12 22C11.4477 22 11 21.5523 11 21C11 20.4477 11.4477 20 12 20C12.5523 20 13 20.4477 13 21Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgMore;", "import * as React from \"react\";\nconst SvgSend = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M11.0456 12.9544L22.5 1.5M22.5 1.5L17.0954 21.5327C16.748 22.7078 15.1339 22.8509 14.6499 21.7494L11.0323 12.9677L2.2506 9.35006C1.14907 8.86611 1.29225 7.252 2.46823 6.90455L22.5 1.5Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgSend;", "import * as React from \"react\";\nconst SvgRemove = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M20 5L19.105 21.107C19.046 22.169 18.168 23 17.104 23H6.896C5.832 23 4.954 22.169 4.895 21.107L4 5M3 5H21M15 1H9C7.895 1 7 1.895 7 3V5H17V3C17 1.895 16.105 1 15 1Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgRemove;", "import * as React from \"react\";\nconst SvgPhone = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M22.409 16.992L19.497 14.08C18.709 13.292 17.432 13.292 16.644 14.08L14.229 16.495C11.198 15.228 8.771 12.801 7.504 9.77L9.92 7.355C10.708 6.567 10.708 5.29 9.92 4.503L7.008 1.591C6.22 0.803 4.943 0.803 4.155 1.591L2.771 2.975C1.333 4.413 0.725997 6.476 1.116 8.472C2.533 15.732 8.268 21.467 15.528 22.885C17.524 23.275 19.587 22.668 21.025 21.23L22.41 19.845C23.197 19.057 23.197 17.78 22.409 16.992V16.992Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgPhone;", "import * as React from \"react\";\nconst SvgEmail = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M1 7.923L10.324 12.226C11.388 12.717 12.613 12.717 13.676 12.226L23 7.923M21 21H3C1.895 21 1 20.105 1 19V5C1 3.895 1.895 3 3 3H21C22.105 3 23 3.895 23 5V19C23 20.105 22.105 21 21 21Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgEmail;", "import * as React from \"react\";\nconst SvgFilter = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M17.0004 11.0001V3.00095M17.0004 11.0001C18.6569 11.0001 19.9999 12.3428 20.0001 13.9993C20.0003 15.6558 18.6569 16.9989 17.0004 16.9994M17.0004 11.0001C16.2046 11.0001 15.4414 11.3163 14.8789 11.8791C14.3163 12.442 14.0004 13.2053 14.0007 14.0011C14.0015 15.6576 15.3439 16.9999 17.0004 16.9994M17.0004 20.999V16.9994M7.00151 9.0003L7.00151 20.999M7.00151 9.0003C5.34501 8.99981 4.00159 7.65668 4.00183 6.00018C4.00208 4.34368 5.345 3.00095 7.00151 3.00095C8.6584 3.00168 10.0012 4.34506 10.0012 6.00195C10.0004 7.65845 8.65801 9.00079 7.00151 9.0003Z\" stroke=\"currentColor\" strokeWidth={2} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgFilter;", "import * as React from \"react\";\nconst SvgMinus = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M4 12H20\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgMinus;", "import * as React from \"react\";\nconst SvgCopy = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M5 15H3C1.895 15 1 14.105 1 13V3C1 1.895 1.895 1 3 1H13C14.105 1 15 1.895 15 3V5M21 23H11C9.895 23 9 22.105 9 21V11C9 9.895 9.895 9 11 9H21C22.105 9 23 9.895 23 11V21C23 22.105 22.105 23 21 23Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgCopy;", "import * as React from \"react\";\nconst SvgFileUpload = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M8 17L12 13M12 13L16 17M12 13V23M8 23H5C3.895 23 3 22.105 3 21V2.99997C3 1.89497 3.895 0.999969 5 0.999969H14L21 7.99997V21C21 22.105 20.105 23 19 23H16\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgFileUpload;", "import * as React from \"react\";\nconst SvgFile = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M19 23H5C3.895 23 3 22.105 3 21V3C3 1.895 3.895 1 5 1H14L21 8V21C21 22.105 20.104 23 19 23Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgFile;", "import * as React from \"react\";\nconst SvgSearch = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M22 22L16 16M18 10C18 14.4183 14.4183 18 10 18C5.58172 18 2 14.4183 2 10C2 5.58172 5.58172 2 10 2C14.4183 2 18 5.58172 18 10Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgSearch;", "import * as React from \"react\";\nconst SvgEdit = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M13.75 5.24999L18.75 10.25M16.714 2.28599L3.214 15.786L1.25 22.75L8.214 20.786L21.714 7.28599C23.095 5.90499 23.095 3.66699 21.714 2.28599C20.334 0.904994 18.095 0.904994 16.714 2.28599Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgEdit;", "import * as React from \"react\";\nconst SvgInfo = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M12 11V18M12 7V6.99M23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgInfo;", "import * as React from \"react\";\nconst SvgSms = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M14.5 1H9.5C4.806 1 1 4.806 1 9.5C1 13.682 4.022 17.15 8 17.86V22L14 18H14.5C19.194 18 23 14.194 23 9.5C23 4.806 19.194 1 14.5 1Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgSms;", "import * as React from \"react\";\nconst SvgAttachement = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M12.765 3.58402C14.878 1.47102 18.303 1.47102 20.415 3.58402C22.528 5.69702 22.528 9.12202 20.415 11.234L11.234 20.415C9.12102 22.528 5.69602 22.528 3.58402 20.415C1.47102 18.302 1.47102 14.877 3.58402 12.765L8.55702 7.79202C9.61302 6.73602 11.326 6.73602 12.382 7.79202C13.438 8.84802 13.438 10.561 12.382 11.617L7.41002 16.59\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgAttachement;", "import * as React from \"react\";\nconst SvgNote = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M7 12H17M7 17H13M7 7H17M20 23H4C2.895 23 2 22.105 2 21V3C2 1.895 2.895 1 4 1H20C21.105 1 22 1.895 22 3V21C22 22.105 21.105 23 20 23Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgNote;", "import * as React from \"react\";\nconst SvgChevronLeft = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M15 5L7 12L15 19\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgChevronLeft;", "import * as React from \"react\";\nconst SvgChevronDown = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M5 9L12 17L19 9\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgChevronDown;", "import * as React from \"react\";\nconst SvgEye = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M12 20C18.0751 20 23 16.4183 23 12C23 7.58172 18.0751 4 12 4C5.92487 4 1 7.58172 1 12C1 16.4183 5.92487 20 12 20Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M12 15C13.6569 15 15 13.6569 15 12C15 10.3431 13.6569 9 12 9C10.3431 9 9 10.3431 9 12C9 13.6569 10.3431 15 12 15Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgEye;", "import * as React from \"react\";\nconst SvgLocation = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M12.001 23C12.001 23 20 13.375 20 9.25C20 5.125 17.333 1 12.001 1C6.667 1 4 5.125 4 9.25C4 13.375 12.001 23 12.001 23Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M12 12C13.6569 12 15 10.6569 15 9C15 7.34315 13.6569 6 12 6C10.3431 6 9 7.34315 9 9C9 10.6569 10.3431 12 12 12Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgLocation;", "import * as React from \"react\";\nconst SvgSpecialCheck = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M15 9L11 15L7.99997 13M22.465 8.599L19.853 6.295L18.467 3.1L15.001 2.767L12 1L8.99997 2.767L5.53297 3.1L4.14697 6.295L1.53497 8.599L2.29397 12L1.53497 15.4L4.14697 17.705L5.53297 20.9L8.99897 21.233L9.92497 21.778H9.92397L12 23L15 21.233L18.467 20.9L19.853 17.706L22.465 15.4L21.706 12L22.465 8.599Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgSpecialCheck;", "import * as React from \"react\";\nconst SvgFinanced = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M9.01736 1.0985C10.7361 -0.366168 13.2639 -0.366168 14.9826 1.0985C15.7191 1.72615 16.6349 2.10546 17.5995 2.18243C19.8505 2.36206 21.6379 4.14953 21.8176 6.40052C21.8945 7.36512 22.2738 8.28086 22.9015 9.01736C24.3662 10.7361 24.3662 13.2639 22.9015 14.9826C22.2738 15.7191 21.8945 16.6349 21.8176 17.5995C21.6379 19.8505 19.8505 21.6379 17.5995 21.8176C16.6349 21.8945 15.7191 22.2738 14.9826 22.9015C13.2639 24.3662 10.7361 24.3662 9.01736 22.9015C8.28086 22.2738 7.36512 21.8945 6.40052 21.8176C4.14953 21.6379 2.36206 19.8505 2.18243 17.5995C2.10546 16.6349 1.72615 15.7191 1.0985 14.9826C-0.366168 13.2639 -0.366168 10.7361 1.0985 9.01736C1.72615 8.28086 2.10546 7.36512 2.18243 6.40052C2.36206 4.14953 4.14953 2.36206 6.40052 2.18243C7.36512 2.10546 8.28086 1.72615 9.01736 1.0985Z\" fill=\"currentColor\" stroke=\"none\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M8.39996 15.6H14.4\" stroke=\"white\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M8.39996 12H13.2\" stroke=\"white\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M10.8 15.6V9.60001C10.8 8.27401 11.874 7.20001 13.2 7.20001C14.088 7.20001 14.8632 7.68241 15.2784 8.40001\" stroke=\"white\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgFinanced;", "import * as React from \"react\";\nconst SvgFinancedColor = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M9.01736 1.0985C10.7361 -0.366168 13.2639 -0.366168 14.9826 1.0985C15.7191 1.72615 16.6349 2.10546 17.5995 2.18243C19.8505 2.36206 21.6379 4.14953 21.8176 6.40052C21.8945 7.36512 22.2738 8.28086 22.9015 9.01736C24.3662 10.7361 24.3662 13.2639 22.9015 14.9826C22.2738 15.7191 21.8945 16.6349 21.8176 17.5995C21.6379 19.8505 19.8505 21.6379 17.5995 21.8176C16.6349 21.8945 15.7191 22.2738 14.9826 22.9015C13.2639 24.3662 10.7361 24.3662 9.01736 22.9015C8.28086 22.2738 7.36512 21.8945 6.40052 21.8176C4.14953 21.6379 2.36206 19.8505 2.18243 17.5995C2.10546 16.6349 1.72615 15.7191 1.0985 14.9826C-0.366168 13.2639 -0.366168 10.7361 1.0985 9.01736C1.72615 8.28086 2.10546 7.36512 2.18243 6.40052C2.36206 4.14953 4.14953 2.36206 6.40052 2.18243C7.36512 2.10546 8.28086 1.72615 9.01736 1.0985Z\" fill=\"#27DEBF\" stroke=\"none\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M8.39996 15.6H14.4\" stroke=\"white\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M8.39996 12H13.2\" stroke=\"white\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M10.8 15.6V9.60001C10.8 8.27401 11.874 7.20001 13.2 7.20001C14.088 7.20001 14.8632 7.68241 15.2784 8.40001\" stroke=\"white\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgFinancedColor;", "import * as React from \"react\";\nconst SvgArrowUp = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M19 11L12 3M12 3L5 11M12 3V21\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgArrowUp;", "import * as React from \"react\";\nconst SvgImage = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M2.327 19.58L9 11L17.556 22M18 8C18 9.10457 17.1046 10 16 10C14.8954 10 14 9.10457 14 8C14 6.89543 14.8954 6 16 6C17.1046 6 18 6.89543 18 8ZM18 22H6C3.791 22 2 20.209 2 18V6C2 3.791 3.791 2 6 2H18C20.209 2 22 3.791 22 6V18C22 20.209 20.209 22 18 22Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgImage;", "import * as React from \"react\";\nconst SvgWallet = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M1 4V18C1 20.209 2.791 22 5 22H21C22.105 22 23 21.105 23 20V8C23 6.895 22.105 6 21 6H3C1.895 6 1 5.105 1 4ZM1 4C1 2.895 1.895 2 3 2H21M19 14C19 15.1046 18.1046 16 17 16C15.8954 16 15 15.1046 15 14C15 12.8954 15.8954 12 17 12C18.1046 12 19 12.8954 19 14Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgWallet;", "import * as React from \"react\";\nconst SvgDeposit = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M12.7167 14.15C12.7167 15.7332 10.1498 17.0167 6.98333 17.0167C3.8169 17.0167 1.25 15.7332 1.25 14.15M12.7167 14.15C12.7167 12.5668 10.1498 11.2833 6.98333 11.2833C3.8169 11.2833 1.25 12.5668 1.25 14.15M12.7167 14.15V19.8833C12.7167 21.4667 10.15 22.75 6.98333 22.75C3.81662 22.75 1.25 21.4667 1.25 19.8833V14.15M12.7167 17.0167C12.7167 18.6 10.15 19.8833 6.98333 19.8833C3.81662 19.8833 1.25 18.6 1.25 17.0167M15.5833 15.5833H21.3167C22.1083 15.5833 22.75 14.9416 22.75 14.15V2.68333C22.75 1.89173 22.1083 1.25 21.3167 1.25H2.68333C1.89173 1.25 1.25 1.89173 1.25 2.68333V9.85669M9.13333 8.41667C9.13348 7.0961 10.0357 5.94648 11.3184 5.63251C12.6011 5.31854 13.9324 5.92146 14.5424 7.09267C15.1525 8.26388 14.8835 9.70031 13.891 10.5714M4.83333 4.475C5.03124 4.475 5.19167 4.63543 5.19167 4.83333C5.19167 5.03124 5.03124 5.19167 4.83333 5.19167C4.63543 5.19167 4.475 5.03124 4.475 4.83333C4.475 4.63543 4.63543 4.475 4.83333 4.475ZM19.1667 11.6417C19.3646 11.6417 19.525 11.8021 19.525 12C19.525 12.1979 19.3646 12.3583 19.1667 12.3583C18.9688 12.3583 18.8083 12.1979 18.8083 12C18.8083 11.8021 18.9688 11.6417 19.1667 11.6417Z\" stroke=\"currentColor\" strokeWidth={2} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgDeposit;", "import * as React from \"react\";\nconst SvgDownload = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M5 21H19M8 11L12 15M12 15L16 11M12 15V3\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgDownload;", "import * as React from \"react\";\nconst SvgCustomer = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M1 7V17C1 20.314 3.686 23 7 23H17\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M14 11C15.3807 11 16.5 9.88071 16.5 8.5C16.5 7.11929 15.3807 6 14 6C12.6193 6 11.5 7.11929 11.5 8.5C11.5 9.88071 12.6193 11 14 11Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M19 19V18C18.536 15.718 16.418 14 14 14C11.582 14 9.464 15.718 9 18V19\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M19 19H9C6.791 19 5 17.209 5 15V5C5 2.791 6.791 1 9 1H19C21.209 1 23 2.791 23 5V15C23 17.209 21.209 19 19 19Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgCustomer;", "import * as React from \"react\";\nconst SvgCustomerColor = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M1 7V17C1 20.314 3.686 23 7 23H17\" stroke=\"#6CA2FA\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M14 11C15.3807 11 16.5 9.88071 16.5 8.5C16.5 7.11929 15.3807 6 14 6C12.6193 6 11.5 7.11929 11.5 8.5C11.5 9.88071 12.6193 11 14 11Z\" stroke=\"#08D3A6\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M19 19V18C18.536 15.718 16.418 14 14 14C11.582 14 9.464 15.718 9 18V19\" stroke=\"#08D3A6\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M19 19H9C6.791 19 5 17.209 5 15V5C5 2.791 6.791 1 9 1H19C21.209 1 23 2.791 23 5V15C23 17.209 21.209 19 19 19Z\" stroke=\"#005AEC\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgCustomerColor;", "import * as React from \"react\";\nconst SvgRocket = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M16.4621 9.52605C17.5601 9.52605 18.4501 8.63599 18.4501 7.53805C18.4501 6.44011 17.5601 5.55005 16.4621 5.55005C15.3642 5.55005 14.4741 6.44011 14.4741 7.53805C14.4741 8.63599 15.3642 9.52605 16.4621 9.52605Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M8.028 11.7551L1 10.3501\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M1 10.3501L5.217 6.13305L12.245 4.72705\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M12.2451 15.9722L13.6501 23.0002\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M13.6499 23.0001L17.8669 18.7831L19.2729 11.7551\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M12.2448 15.9721C12.2448 15.9721 16.6268 14.4011 20.3478 10.6801C24.0688 6.95907 22.7868 1.21306 22.7868 1.21306C22.7868 1.21306 17.0398 -0.0679355 13.3198 3.65206C9.59983 7.37206 8.02783 11.7551 8.02783 11.7551\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M9.16105 18.52C9.19205 16.494 7.50505 14.808 5.48005 14.839C4.73205 14.85 3.94405 15.087 3.26105 15.77C0.699047 18.332 1.13505 22.866 1.13505 22.866C1.13505 22.866 5.66905 23.301 8.23105 20.74C8.91305 20.056 9.14905 19.268 9.16105 18.52Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgRocket;", "import * as React from \"react\";\nconst SvgRocketColor = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M16.462 9.52602C17.5599 9.52602 18.45 8.63596 18.45 7.53802C18.45 6.44008 17.5599 5.55002 16.462 5.55002C15.3641 5.55002 14.474 6.44008 14.474 7.53802C14.474 8.63596 15.3641 9.52602 16.462 9.52602Z\" stroke=\"#27DEBF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M8.028 11.755L1 10.35\" stroke=\"#1FCCAF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M1 10.35L5.217 6.13299L12.245 4.72699\" stroke=\"#1FCCAF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M12.245 15.972L13.65 23\" stroke=\"#1FCCAF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M13.65 23L17.867 18.783L19.273 11.755\" stroke=\"#1FCCAF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M12.245 15.972C12.245 15.972 16.627 14.401 20.348 10.68C24.069 6.959 22.787 1.213 22.787 1.213C22.787 1.213 17.04 -0.0679964 13.32 3.652C9.59995 7.372 8.02795 11.755 8.02795 11.755\" stroke=\"#27DEBF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M9.16099 18.52C9.19199 16.494 7.50499 14.808 5.47999 14.839C4.73199 14.85 3.94399 15.087 3.26099 15.77C0.698986 18.332 1.13499 22.866 1.13499 22.866C1.13499 22.866 5.66899 23.301 8.23099 20.74C8.91299 20.056 9.14899 19.268 9.16099 18.52Z\" stroke=\"#27DEBF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgRocketColor;", "import * as React from \"react\";\nconst SvgRotate = props => <svg id=\"Capa_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlnsXlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" width=\"80.429px\" height=\"80.428px\" viewBox=\"0 0 80.429 80.428\" style={{\n enableBackground: \"new 0 0 80.429 80.428\"\n}} xmlSpace=\"preserve\" {...props}><g><path fill=\"currentColor\" d=\"M37.242,2.971c14.689,0,27.651,8.476,33.688,21.325l4.201-8.719l5.298,2.552l-8.721,18.102L53.605,27.51l2.553-5.298 l9.43,4.542C60.494,15.964,49.594,8.853,37.242,8.853C19.95,8.853,5.88,22.921,5.88,40.214s14.07,31.362,31.362,31.362 c10.183,0,19.769-4.975,25.647-13.307l4.805,3.391c-6.979,9.892-18.361,15.797-30.452,15.797C16.707,77.458,0,60.75,0,40.214 S16.707,2.971,37.242,2.971z\" /></g></svg>;\nexport default SvgRotate;", "import * as React from \"react\";\nconst SvgHelp = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z\" fill=\"#C1F4E9\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M12 14L14.342 12.829C15.358 12.321 16 11.282 16 10.146V10C16 8.343 14.657 7 13 7H12C10.343 7 9 8.343 9 10\" stroke=\"#1CB69C\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M12 18.01V18\" stroke=\"#1CB69C\" strokeWidth={2.5} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgHelp;", "import * as React from \"react\";\nconst SvgStar = props => <svg width={20} height={20} viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M19.6631 8.68813C20.3223 8.00563 19.9581 6.81646 19.0465 6.67646L13.5073 5.82479C13.4923 5.82229 13.4798 5.81229 13.4731 5.79812L11.1181 0.738958C10.659 -0.246875 9.33396 -0.246042 8.87646 0.739792L6.52479 5.80146C6.51813 5.81646 6.50563 5.82646 6.49063 5.82812L0.952294 6.68563C0.040627 6.82646 -0.322706 8.01562 0.337294 8.69729L4.34729 12.8423C4.35813 12.8531 4.36313 12.8698 4.36063 12.8856L3.46479 18.4473C3.28979 19.5315 4.36229 20.3573 5.27896 19.8448L9.98313 17.2165C9.99646 17.209 10.0123 17.209 10.0256 17.2165L14.7323 19.8398C15.6498 20.3515 16.7206 19.524 16.5456 18.4406L15.644 12.8798C15.6415 12.864 15.6465 12.8481 15.6573 12.8365L19.6631 8.68813Z\" fill=\"currentColor\" /></svg>;\nexport default SvgStar;", "import * as React from \"react\";\nconst SvgNotesPaper = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M14.15 22.621V15.5833C14.15 14.7917 14.7917 14.15 15.5833 14.15H22.621M13.5566 22.75H2.68333C1.89173 22.75 1.25 22.1083 1.25 21.3167V2.68333C1.25 1.89173 1.89173 1.25 2.68333 1.25H21.3167C22.1083 1.25 22.75 1.89173 22.75 2.68333V13.5566C22.7499 13.9365 22.599 14.3008 22.3305 14.5695L14.5695 22.3305C14.3008 22.599 13.9365 22.7499 13.5566 22.75Z\" stroke=\"currentColor\" strokeWidth={2} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgNotesPaper;", "import * as React from \"react\";\nconst SvgOffice = props => <svg width={20} height={20} viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M4.16675 10.825V10.8333\" stroke=\"currentColor\" strokeWidth={1.5} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M4.16675 14.1583V14.1667\" stroke=\"currentColor\" strokeWidth={1.5} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M5.83337 6.66667H0.833374V19.1667H5.83337\" stroke=\"currentColor\" strokeWidth={1.5} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M9.16675 0.833334H19.1667V19.1667H9.16675V0.833334Z\" stroke=\"currentColor\" strokeWidth={1.5} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M12.5 5V5.00833\" stroke=\"currentColor\" strokeWidth={1.5} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M15.8334 5V5.00833\" stroke=\"currentColor\" strokeWidth={1.5} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M12.5 8.325V8.33333\" stroke=\"currentColor\" strokeWidth={1.5} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M15.8334 8.325V8.33333\" stroke=\"currentColor\" strokeWidth={1.5} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M12.5 11.6583V11.6667\" stroke=\"currentColor\" strokeWidth={1.5} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M15.8334 11.6583V11.6667\" stroke=\"currentColor\" strokeWidth={1.5} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgOffice;", "import * as React from \"react\";\nconst SvgIndicator = props => <svg width={12} height={12} viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><circle cx={6} cy={6} r={5} stroke=\"currentColor\" strokeWidth={2} /></svg>;\nexport default SvgIndicator;", "import * as React from \"react\";\nconst SvgCustomersColor = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M1 7V17C1 20.314 3.686 23 7 23H17\" stroke=\"#C1F4E9\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M14 11C15.3807 11 16.5 9.88071 16.5 8.5C16.5 7.11929 15.3807 6 14 6C12.6193 6 11.5 7.11929 11.5 8.5C11.5 9.88071 12.6193 11 14 11Z\" stroke=\"#1FCCAF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M19 19V18C18.536 15.718 16.418 14 14 14C11.582 14 9.464 15.718 9 18V19\" stroke=\"#1FCCAF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M19 19H9C6.791 19 5 17.209 5 15V5C5 2.791 6.791 1 9 1H19C21.209 1 23 2.791 23 5V15C23 17.209 21.209 19 19 19Z\" stroke=\"#27DEBF\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgCustomersColor;", "import * as React from \"react\";\nconst SvgCustomers = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M1 7V17C1 20.314 3.686 23 7 23H17\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M14 11C15.3807 11 16.5 9.88071 16.5 8.5C16.5 7.11929 15.3807 6 14 6C12.6193 6 11.5 7.11929 11.5 8.5C11.5 9.88071 12.6193 11 14 11Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M19 19V18C18.536 15.718 16.418 14 14 14C11.582 14 9.464 15.718 9 18V19\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M19 19H9C6.791 19 5 17.209 5 15V5C5 2.791 6.791 1 9 1H19C21.209 1 23 2.791 23 5V15C23 17.209 21.209 19 19 19Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgCustomers;", "import * as React from \"react\";\nconst SvgCart = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M18 18C16.343 18 15 19.343 15 21C15 22.657 16.343 24 18 24C19.657 24 21 22.657 21 21C21 19.343 19.657 18 18 18ZM10 18C8.343 18 7 19.343 7 21C7 22.657 8.343 24 10 24C11.657 24 13 22.657 13 21C13 19.343 11.657 18 10 18ZM5.134 4L3.705 0H1C0.447 0 0 0.448 0 1C0 1.552 0.447 2 1 2H2.295L6.585 14.009C7.01 15.2 8.145 16 9.409 16H18.741C20.076 16 21.231 15.141 21.629 13.81L24 4H5.134Z\" fill=\"currentColor\" stroke=\"none\" /></svg>;\nexport default SvgCart;", "import * as React from \"react\";\nconst SvgPaper = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M14.15 22.621V15.5833C14.15 14.7917 14.7917 14.15 15.5833 14.15H22.621M13.5566 22.75H2.68333C1.89173 22.75 1.25 22.1083 1.25 21.3167V2.68333C1.25 1.89173 1.89173 1.25 2.68333 1.25H21.3167C22.1083 1.25 22.75 1.89173 22.75 2.68333V13.5566C22.7499 13.9365 22.599 14.3008 22.3305 14.5695L14.5695 22.3305C14.3008 22.599 13.9365 22.7499 13.5566 22.75Z\" stroke=\"currentColor\" strokeWidth={2} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgPaper;", "import * as React from \"react\";\nconst SvgAlphabet = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M6 20V10C6 6.686 8.686 4 12 4C15.314 4 18 6.686 18 10V20M6 15H18\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgAlphabet;", "import * as React from \"react\";\nconst SvgArrowUpRight = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M18 17V6M18 6H7M18 6L5 19\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgArrowUpRight;", "import * as React from \"react\";\nconst SvgEyeOff = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M21.602 14.531C22.489 13.403 23 12.426 23 11.999C23 10.666 18.075 3.999 12 3.999C11.706 3.999 11.417 4.027 11.128 4.057M2.397 9.468C1.51 10.595 1 11.571 1 11.999C1 13.332 5.925 19.999 12 19.999C12.293 19.999 12.581 19.971 12.869 19.941M1 1L23 23\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgEyeOff;", "import * as React from \"react\";\nconst SvgPound = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M4 13H14M4 20H18M9 20V8C9 5.791 10.791 4 13 4C15.209 4 17 5.791 17 8\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgPound;", "import * as React from \"react\";\nconst SvgSettings = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M19.845 13.561C19.945 13.056 20 12.534 20 12C20 11.466 19.945 10.944 19.845 10.439L21.651 8.95C22.153 8.536 22.283 7.818 21.958 7.254L21.089 5.746C20.764 5.182 20.078 4.935 19.469 5.164L17.271 5.989C16.492 5.305 15.582 4.771 14.58 4.43L14.195 2.114C14.087 1.471 13.532 1 12.881 1H11.143C10.492 1 9.93699 1.471 9.82999 2.114L9.44399 4.43C8.44199 4.771 7.53199 5.305 6.75299 5.989L4.55499 5.164C3.94499 4.936 3.25999 5.182 2.93499 5.746L2.06499 7.254C1.73999 7.818 1.86999 8.536 2.37199 8.95L4.17799 10.439C4.07799 10.944 4.02299 11.465 4.02299 12C4.02299 12.535 4.07799 13.056 4.17799 13.561L2.37199 15.05C1.86999 15.464 1.73999 16.182 2.06499 16.746L2.93399 18.254C3.25899 18.818 3.94499 19.065 4.55399 18.836L6.75199 18.011C7.53099 18.695 8.44099 19.229 9.44299 19.57L9.82799 21.886C9.93699 22.529 10.492 23 11.143 23H12.881C13.532 23 14.087 22.529 14.194 21.886L14.579 19.57C15.581 19.229 16.492 18.695 17.27 18.011L19.468 18.836C20.077 19.065 20.763 18.819 21.088 18.254L21.957 16.746C22.282 16.182 22.153 15.464 21.65 15.05L19.845 13.561Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M12.012 15C13.6688 15 15.012 13.6569 15.012 12C15.012 10.3431 13.6688 9 12.012 9C10.3551 9 9.01199 10.3431 9.01199 12C9.01199 13.6569 10.3551 15 12.012 15Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgSettings;", "import * as React from \"react\";\nconst SvgSortAscending = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M11.0001 20H22.0001M11.0001 12H22.0001M11.0001 4.00003H22.0001M7.00003 5.001L4.00003 2M4.00003 2L1.00003 5.001M4.00003 2L4.00003 22\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgSortAscending;", "import * as React from \"react\";\nconst SvgSortDescending = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M11.0001 20H22.0001M11.0001 12H22.0001M11.0001 4.00001H22.0001M7.00003 18.999L4.00003 22M4.00003 22L1.00003 18.999M4.00003 22L4.00003 2\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgSortDescending;", "import * as React from \"react\";\nconst SvgTag = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M18 6V6.01M21 1H13.993C13.467 1 12.961 1.207 12.587 1.577L1.587 12.414C0.806004 13.195 0.806004 14.461 1.586 15.242L8.756 22.412C9.537 23.193 10.803 23.193 11.584 22.413L22.421 11.413C22.791 11.039 22.998 10.533 22.998 10.007V3C23 1.896 22.104 1 21 1Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgTag;", "import * as React from \"react\";\nconst SvgUser = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M20 21.7778V19.3333C20 16.7662 16.4 14.6667 12 14.6667C7.6 14.6667 4 16.7662 4 19.3333V21.7778M16.4444 6.66667C16.4444 9.12127 14.4546 11.1111 12 11.1111C9.5454 11.1111 7.55556 9.12127 7.55556 6.66667C7.55556 4.21207 9.5454 2.22222 12 2.22222C14.4546 2.22222 16.4444 4.21207 16.4444 6.66667Z\" stroke=\"currentColor\" strokeWidth={1.5} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgUser;", "import * as React from \"react\";\nconst SvgLogout = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M12 3H5C3.895 3 3 3.895 3 5V19C3 20.105 3.895 21 5 21H12M17 16L21 12M21 12L17 8M21 12L9 12\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgLogout;", "import * as React from \"react\";\nconst SvgDownloadFile = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M7 23H5C3.895 23 3 22.105 3 21V3C3 1.895 3.895 1 5 1H15L21 7V21C21 22.105 20.105 23 19 23H17M12 23L8 19M12 23L16 19M12 23V13\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgDownloadFile;", "import * as React from \"react\";\nconst SvgDeleteFile = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M21 9H13V1M21 9L13 1M21 9V21C21 22.105 20.104 23 19 23H5C3.895 23 3 22.105 3 21V3C3 1.895 3.895 1 5 1H13M14.121 13.879L9.879 18.121M9.879 13.879L14.121 18.121\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgDeleteFile;", "import * as React from \"react\";\nconst SvgArchive = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M1 8V20C1 21.105 1.895 22 3 22H21C22.105 22 23 21.105 23 20V8M1 8H23M1 8V4C1 2.895 1.895 2 3 2H21C22.105 2 23 2.895 23 4V8M9 12H15\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgArchive;", "import * as React from \"react\";\nconst SvgFavourite = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M16.7725 21.9221L12.0269 19.2766C12.0131 19.2692 11.9975 19.2692 11.9838 19.2766L7.24004 21.9266C6.31604 22.4427 5.23438 21.6104 5.41038 20.5168L6.31421 14.9086C6.31696 14.8931 6.31146 14.8766 6.30046 14.8656L2.25704 10.6856C1.59154 9.99807 1.95821 8.79907 2.87671 8.65698L8.46196 7.79257C8.47663 7.78982 8.49038 7.77973 8.49679 7.76598L10.8664 2.6629C11.3284 1.66832 12.664 1.6674 13.1269 2.66198L15.502 7.76323C15.5084 7.7779 15.5221 7.78798 15.5368 7.78982L21.123 8.64873C22.0424 8.7899 22.41 9.9889 21.7445 10.6773L17.7047 14.861C17.6937 14.872 17.6891 14.8885 17.6919 14.9041L18.6003 20.5113C18.7772 21.604 17.6974 22.4372 16.7725 21.9221V21.9221Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgFavourite;", "import * as React from \"react\";\nconst SvgWarning = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M21.6736 17L22.5587 16.5346L22.5586 16.5345L21.6736 17ZM14.6702 3.68399L13.7852 4.14946L13.7852 4.14948L14.6702 3.68399ZM9.32881 3.68399L8.44375 3.21853L8.44373 3.21856L9.32881 3.68399ZM2.3264 17L1.44132 16.5346L1.44129 16.5346L2.3264 17ZM11 14C11 14.5523 11.4477 15 12 15C12.5523 15 13 14.5523 13 14H11ZM13 7.99999C13 7.44771 12.5523 6.99999 12 6.99999C11.4477 6.99999 11 7.44771 11 7.99999H13ZM13 18C13 17.4477 12.5523 17 12 17C11.4477 17 11 17.4477 11 18H13ZM11 18.01C11 18.5623 11.4477 19.01 12 19.01C12.5523 19.01 13 18.5623 13 18.01H11ZM22.5586 16.5345L15.5553 3.21851L13.7852 4.14948L20.7885 17.4655L22.5586 16.5345ZM15.5553 3.21853C13.9998 0.260816 9.99924 0.260816 8.44375 3.21853L10.2139 4.14946C11.0197 2.61717 12.9793 2.61717 13.7852 4.14946L15.5553 3.21853ZM8.44373 3.21856L1.44132 16.5346L3.21148 17.4654L10.2139 4.14943L8.44373 3.21856ZM1.44129 16.5346C-0.0159363 19.306 1.74895 23 4.99665 23V21C3.52168 21 2.32573 19.15 3.2115 17.4654L1.44129 16.5346ZM4.99665 23H19.0033V21H4.99665V23ZM19.0033 23C22.251 23 24.0159 19.306 22.5587 16.5346L20.7885 17.4654C21.6742 19.15 20.4783 21 19.0033 21V23ZM13 14V7.99999H11V14H13ZM11 18V18.01H13V18H11Z\" stroke=\"none\" fill=\"currentColor\" strokeWidth={0} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgWarning;", "import * as React from \"react\";\nconst SvgError = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M12 13V6M12 17V17.01M23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgError;", "import * as React from \"react\";\nconst SvgShieldCheck = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M8.5 13L11.5 15L15.5 9\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M12 1L3 6V12C3.118 16.378 4.615 20.585 12 23C19.385 20.585 20.882 16.378 21 12V6L12 1Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgShieldCheck;", "import * as React from \"react\";\nconst SvgCalendar = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M1 10H12H23M6 1V6M18 1V6M21 23H3C1.895 23 1 22.104 1 21V5C1 3.895 1.896 3 3 3H21C22.105 3 23 3.896 23 5V21C23 22.104 22.104 23 21 23Z\" stroke=\"#6C819D\" strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgCalendar;", "import * as React from \"react\";\nconst SvgBold = props => <svg width={28} height={28} viewBox=\"0 0 28 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path d=\"M10 14H15.3333C16.806 14 18 15.194 18 16.6667C18 18.1393 16.806 19.3333 15.3333 19.3333H10V8.66666H14.6667C16.1393 8.66666 17.3333 9.86066 17.3333 11.3333C17.3333 12.806 16.1393 14 14.6667 14H10Z\" stroke=\"#475A76\" strokeWidth={1.5} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgBold;", "import * as React from \"react\";\nconst SvgItalic = props => <svg width={28} height={28} viewBox=\"0 0 28 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path d=\"M11.3334 9.33334H19.3334M8.66675 18.6667H16.6667M15.3334 9.33334L12.6667 18.6667\" stroke=\"#475A76\" strokeWidth={1.5} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgItalic;", "import * as React from \"react\";\nconst SvgOrderedList = props => <svg width={28} height={28} viewBox=\"0 0 28 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path d=\"M12.0001 19.3333H20.6667M12.0001 14H20.6667M12.0001 8.66668H20.6667M7.33341 7.33334H8.00008V10.6667M6.66675 13.3333H8.00008C8.27475 13.3333 8.43141 13.6467 8.26675 13.8667L7.06675 15.4667C6.90208 15.6867 7.05875 16 7.33341 16H8.66675M6.66675 18.6667H8.33341C8.51741 18.6667 8.66675 18.816 8.66675 19V21C8.66675 21.184 8.51741 21.3333 8.33341 21.3333H6.66675M7.66675 20H8.66675\" stroke=\"#475A76\" strokeWidth={1.5} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgOrderedList;", "import * as React from \"react\";\nconst SvgUnorderedList = props => <svg width={28} height={28} viewBox=\"0 0 28 28\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path d=\"M12.0001 19.3333H20.6667M12.0001 14H20.6667M12.0001 8.66668H20.6667M9.33341 19.3333C9.33341 20.0697 8.73646 20.6667 8.00008 20.6667C7.2637 20.6667 6.66675 20.0697 6.66675 19.3333C6.66675 18.597 7.2637 18 8.00008 18C8.73646 18 9.33341 18.597 9.33341 19.3333ZM9.33341 14C9.33341 14.7364 8.73646 15.3333 8.00008 15.3333C7.2637 15.3333 6.66675 14.7364 6.66675 14C6.66675 13.2636 7.2637 12.6667 8.00008 12.6667C8.73646 12.6667 9.33341 13.2636 9.33341 14ZM9.33341 8.66668C9.33341 9.40306 8.73646 10 8.00008 10C7.2637 10 6.66675 9.40306 6.66675 8.66668C6.66675 7.9303 7.2637 7.33334 8.00008 7.33334C8.73646 7.33334 9.33341 7.9303 9.33341 8.66668Z\" stroke=\"#475A76\" strokeWidth={1.5} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgUnorderedList;", "import * as React from \"react\";\nconst SvgFlag = props => <svg xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24} viewBox=\"0 0 24 24\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M4 24h-2v-24h2v24zm18-16l-16-6v12l16-6z\" fill=\"currentColor\" stroke=\"none\" /></svg>;\nexport default SvgFlag;", "import * as React from \"react\";\nconst SvgCopyArchive = props => <svg width={25} height={24} viewBox=\"0 0 25 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path d=\"M4.16671 12.4997H2.50004C1.57921 12.4997 0.833374 11.7538 0.833374 10.833V2.49967C0.833374 1.57884 1.57921 0.833008 2.50004 0.833008H10.8334C11.7542 0.833008 12.5 1.57884 12.5 2.49967V4.16634\" stroke=\"#9CADC4\" strokeWidth={1.5} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /><path d=\"M5.33337 10.333V20.333C5.33337 21.2538 6.07921 21.9997 7.00004 21.9997H22C22.9209 21.9997 23.6667 21.2538 23.6667 20.333V10.333M5.33337 10.333H23.6667M5.33337 10.333V6.99967C5.33337 6.07884 6.07921 5.33301 7.00004 5.33301H22C22.9209 5.33301 23.6667 6.07884 23.6667 6.99967V10.333M12 13.6663H17\" stroke=\"#9CADC4\" strokeWidth={1.5} strokeMiterlimit={10} strokeLinecap=\"round\" strokeLinejoin=\"round\" /></svg>;\nexport default SvgCopyArchive;", "import * as React from \"react\";\nconst SvgLock = props => <svg width={24} height={24} viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path vectorEffect=\"non-scaling-stroke\" d=\"M19 9H5C3.89543 9 3 9.89543 3 11V21C3 22.1046 3.89543 23 5 23H19C20.1046 23 21 22.1046 21 21V11C21 9.89543 20.1046 9 19 9Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M7 9V6C7 4.67392 7.52678 3.40215 8.46447 2.46447C9.40215 1.52678 10.6739 1 12 1C12.6566 1 13.3068 1.12933 13.9134 1.3806C14.52 1.63188 15.0712 2.00017 15.5355 2.46447C15.9998 2.92876 16.3681 3.47995 16.6194 4.08658C16.8707 4.69321 17 5.34339 17 6V9\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" /><path vectorEffect=\"non-scaling-stroke\" d=\"M12 19C13.6569 19 15 17.6569 15 16C15 14.3431 13.6569 13 12 13C10.3431 13 9 14.3431 9 16C9 17.6569 10.3431 19 12 19Z\" stroke=\"currentColor\" strokeWidth={2} strokeMiterlimit={10} strokeLinecap=\"round\" /></svg>;\nexport default SvgLock;", "import type { FunctionComponent } from 'react';\nimport type { StringIndexedObject } from '~/types';\nimport Dashboard from '../../assets/icons/dashboard.svg';\nimport DashboardColor from '../../assets/icons/dashboard-color.svg';\nimport Home from '../../assets/icons/home.svg';\nimport HomeColor from '../../assets/icons/home-color.svg';\nimport Job from '../../assets/icons/job.svg';\nimport JobColor from '../../assets/icons/job-color.svg';\nimport SendQuote from '../../assets/icons/send-quote.svg';\nimport SendQuoteColor from '../../assets/icons/send-quote-color.svg';\nimport CheckCircle from '../../assets/icons/check-circle.svg';\nimport CheckCircleColor from '../../assets/icons/check-circle-color.svg';\nimport Payment from '../../assets/icons/payment.svg';\nimport PaymentColor from '../../assets/icons/payment-color.svg';\nimport Account from '../../assets/icons/account.svg';\nimport AccountColor from '../../assets/icons/account-color.svg';\nimport Verification from '../../assets/icons/verification.svg';\nimport VerificationColor from '../../assets/icons/verification-color.svg';\nimport UserSquare from '../../assets/icons/user-square.svg';\nimport UserSquareColor from '../../assets/icons/user-square-color.svg';\nimport SearchFile from '../../assets/icons/search-file.svg';\nimport SearchFileColor from '../../assets/icons/search-file-color.svg';\nimport Alarm from '../../assets/icons/alarm.svg';\nimport AlarmColor from '../../assets/icons/alarm-color.svg';\nimport Menu from '../../assets/icons/menu.svg';\nimport ArrowRight from '../../assets/icons/arrow-right.svg';\nimport Notification from '../../assets/icons/notification.svg';\nimport Plus from '../../assets/icons/plus.svg';\nimport Toolbox from '../../assets/icons/toolbox.svg';\nimport Load from '../../assets/icons/load.svg';\nimport Check from '../../assets/icons/check.svg';\nimport ChevronUp from '../../assets/icons/chevron-up.svg';\nimport Close from '../../assets/icons/close.svg';\nimport CreditCard from '../../assets/icons/credit-card.svg';\nimport Paypal from '../../assets/icons/paypal.svg';\nimport Currency from '../../assets/icons/currency.svg';\nimport Instalments from '../../assets/icons/instalments.svg';\nimport More from '../../assets/icons/more.svg';\nimport Send from '../../assets/icons/send.svg';\nimport Remove from '../../assets/icons/remove.svg';\nimport Phone from '../../assets/icons/phone.svg';\nimport Email from '../../assets/icons/email.svg';\nimport Filter from '../../assets/icons/filter.svg';\nimport Minus from '../../assets/icons/minus.svg';\nimport Copy from '../../assets/icons/copy.svg';\nimport FileUpload from '../../assets/icons/file-upload.svg';\nimport File from '../../assets/icons/file.svg';\nimport Search from '../../assets/icons/search.svg';\nimport Edit from '../../assets/icons/edit.svg';\nimport Info from '../../assets/icons/info.svg';\nimport Sms from '../../assets/icons/sms.svg';\nimport Attachement from '../../assets/icons/attachement.svg';\nimport Note from '../../assets/icons/note.svg';\nimport ChevronLeft from '../../assets/icons/chevron-left.svg';\nimport ChevronDown from '../../assets/icons/chevron-down.svg';\nimport Eye from '../../assets/icons/eye.svg';\nimport Location from '../../assets/icons/location.svg';\nimport SpecialCheck from '../../assets/icons/special-check.svg';\nimport Financed from '../../assets/icons/financed.svg';\nimport FinancedColor from '../../assets/icons/financed-color.svg';\nimport ArrowUp from '../../assets/icons/arrow-up.svg';\nimport Image from '../../assets/icons/image.svg';\nimport Wallet from '../../assets/icons/wallet.svg';\nimport Deposit from '../../assets/icons/deposit.svg';\nimport Download from '../../assets/icons/download.svg';\nimport Customer from '../../assets/icons/customer.svg';\nimport CustomerColor from '../../assets/icons/customer-color.svg';\nimport Rocket from '../../assets/icons/rocket.svg';\nimport RocketColor from '../../assets/icons/rocket-color.svg';\nimport Rotate from '../../assets/icons/rotate.svg';\nimport Help from '../../assets/icons/help.svg';\nimport Star from '../../assets/icons/star.svg';\nimport NotesPaper from '../../assets/icons/notes-paper.svg';\nimport Office from '../../assets/icons/office.svg';\nimport Indicator from '../../assets/icons/indicator.svg';\nimport CustomersColor from '../../assets/icons/customers-color.svg';\nimport Customers from '../../assets/icons/customers.svg';\nimport Cart from '../../assets/icons/cart.svg';\nimport Paper from '../../assets/icons/paper.svg';\nimport Alphabet from '../../assets/icons/alphabet.svg';\nimport ArrowUpRight from '../../assets/icons/arrow-up-right.svg';\nimport EyeOff from '../../assets/icons/eye-off.svg';\nimport Pound from '../../assets/icons/pound.svg';\nimport Settings from '../../assets/icons/settings.svg';\nimport SortAscending from '../../assets/icons/sort-ascending.svg';\nimport SortDescending from '../../assets/icons/sort-descending.svg';\nimport Tag from '../../assets/icons/tag.svg';\nimport User from '../../assets/icons/user.svg';\nimport Logout from '../../assets/icons/logout.svg';\nimport DownloadFile from '../../assets/icons/download-file.svg';\nimport DeleteFile from '../../assets/icons/delete-file.svg';\nimport Archive from '../../assets/icons/archive.svg';\nimport Favourite from '../../assets/icons/favourite.svg';\nimport Warning from '../../assets/icons/warning.svg';\nimport Error from '../../assets/icons/error.svg';\nimport ShieldCheck from '../../assets/icons/shield-check.svg';\nimport Calendar from '../../assets/icons/calendar.svg';\nimport Bold from '../../assets/icons/bold.svg';\nimport Italic from '../../assets/icons/italic.svg';\nimport OrderedList from '../../assets/icons/ordered-list.svg';\nimport UnorderedList from '../../assets/icons/unordered-list.svg';\nimport Flag from '../../assets/icons/flag.svg';\nimport CopyArchive from '../../assets/icons/copy-archive.svg';\nimport Lock from '../../assets/icons/lock.svg';\n\nexport const DEFAULT_SIZE = {\n width: 24,\n height: 24,\n};\n\nexport const CLASS_NAMES = {\n skeletonBase: 'leading-unset',\n};\n\ninterface Icon {\n Icon:\n | string\n | FunctionComponent<{\n className?: string;\n children?: JSX.Element | JSX.Element[];\n width?: number;\n height?: number;\n }>;\n flip?: boolean;\n}\n\nexport const ICONS: StringIndexedObject<Icon> = {\n dashboard: { Icon: Dashboard },\n 'dashboard-color': { Icon: DashboardColor },\n home: { Icon: Home },\n 'home-color': { Icon: HomeColor },\n job: { Icon: Job },\n 'job-color': { Icon: JobColor },\n 'send-quote': { Icon: SendQuote },\n 'send-quote-color': { Icon: SendQuoteColor },\n 'check-circle': { Icon: CheckCircle },\n 'check-circle-color': { Icon: CheckCircleColor },\n payment: { Icon: Payment },\n 'payment-color': { Icon: PaymentColor },\n account: { Icon: Account },\n 'account-color': { Icon: AccountColor },\n verification: { Icon: Verification },\n 'verification-color': { Icon: VerificationColor },\n 'user-square': { Icon: UserSquare },\n 'user-square-color': { Icon: UserSquareColor },\n 'search-file': { Icon: SearchFile },\n 'search-file-color': { Icon: SearchFileColor },\n alarm: { Icon: Alarm },\n 'alarm-color': { Icon: AlarmColor },\n menu: { Icon: Menu },\n 'arrow-right': { Icon: ArrowRight },\n notification: { Icon: Notification },\n plus: { Icon: Plus },\n toolbox: { Icon: Toolbox },\n load: { Icon: Load },\n check: { Icon: Check },\n 'arrow-left': { Icon: ArrowRight, flip: true },\n 'chevron-up': { Icon: ChevronUp },\n close: { Icon: Close },\n 'credit-card': { Icon: CreditCard },\n paypal: { Icon: Paypal },\n currency: { Icon: Currency },\n instalments: { Icon: Instalments },\n more: { Icon: More },\n send: { Icon: Send },\n remove: { Icon: Remove },\n phone: { Icon: Phone },\n email: { Icon: Email },\n filter: { Icon: Filter },\n minus: { Icon: Minus },\n copy: { Icon: Copy },\n 'file-upload': { Icon: FileUpload },\n file: { Icon: File },\n search: { Icon: Search },\n edit: { Icon: Edit },\n info: { Icon: Info },\n sms: { Icon: Sms },\n attachement: { Icon: Attachement },\n note: { Icon: Note },\n 'chevron-right': { Icon: ChevronLeft, flip: true },\n 'chevron-left': { Icon: ChevronLeft },\n 'chevron-down': { Icon: ChevronDown },\n eye: { Icon: Eye },\n location: { Icon: Location },\n 'special-check': { Icon: SpecialCheck },\n financed: { Icon: Financed },\n 'financed-color': { Icon: FinancedColor },\n 'arrow-up': { Icon: ArrowUp },\n image: { Icon: Image },\n wallet: { Icon: Wallet },\n deposit: { Icon: Deposit },\n download: { Icon: Download },\n customer: { Icon: Customer },\n 'customer-color': { Icon: CustomerColor },\n rocket: { Icon: Rocket },\n 'rocket-color': { Icon: RocketColor },\n rotate: { Icon: Rotate },\n help: { Icon: Help },\n star: { Icon: Star },\n 'notes-paper': { Icon: NotesPaper },\n office: { Icon: Office },\n indicator: { Icon: Indicator },\n 'customers-color': { Icon: CustomersColor },\n customers: { Icon: Customers },\n cart: { Icon: Cart },\n paper: { Icon: Paper },\n 'arrow-down': { Icon: ArrowUp, flip: true },\n alphabet: { Icon: Alphabet },\n 'arrow-up-right': { Icon: ArrowUpRight },\n 'eye-off': { Icon: EyeOff },\n pound: { Icon: Pound },\n settings: { Icon: Settings },\n 'sort-ascending': { Icon: SortAscending },\n 'sort-descending': { Icon: SortDescending },\n tag: { Icon: Tag },\n user: { Icon: User },\n logout: { Icon: Logout },\n 'download-file': { Icon: DownloadFile },\n archive: { Icon: Archive },\n favourite: { Icon: Favourite },\n warning: { Icon: Warning },\n error: { Icon: Error },\n 'shield-check': { Icon: ShieldCheck },\n calendar: { Icon: Calendar },\n 'delete-file': { Icon: DeleteFile },\n bold: { Icon: Bold },\n italic: { Icon: Italic },\n 'ordered-list': { Icon: OrderedList },\n 'unordered-list': { Icon: UnorderedList },\n 'copy-archive': { Icon: CopyArchive },\n lock: { Icon: Lock },\n flag: { Icon: Flag },\n};\n", "const BASE_PROPS = {\n showIcon: true,\n container: {\n className: 'flex flex-row w-full',\n },\n icon: {\n size: 24,\n className: 'my-auto mr-3',\n },\n span: {\n className: 'text-style-g-em text-neutral-900 my-auto',\n },\n};\n\nconst INFO_MESSAGE_PROPS = {\n ...BASE_PROPS,\n icon: {\n ...BASE_PROPS.icon,\n icon: 'info',\n stroke: 'neutral-600',\n },\n};\n\nconst ERROR_MESSAGE_PROPS = {\n ...BASE_PROPS,\n icon: {\n ...BASE_PROPS.icon,\n icon: 'error',\n stroke: 'red-200',\n },\n};\n\nconst SUCCESS_MESSAGE_PROPS = {\n ...BASE_PROPS,\n icon: {\n ...BASE_PROPS.icon,\n icon: 'check',\n stroke: 'turquoise-300',\n },\n};\n\nconst WARNING_MESSAGE_PROPS = {\n ...BASE_PROPS,\n icon: {\n ...BASE_PROPS.icon,\n icon: 'warning',\n stroke: 'orange-200',\n },\n};\n\nexport const TOAST_MESSAGE_FUNCTION_PROPS = {\n info: INFO_MESSAGE_PROPS,\n error: ERROR_MESSAGE_PROPS,\n success: SUCCESS_MESSAGE_PROPS,\n warning: WARNING_MESSAGE_PROPS,\n};\n", "import type { StringIndexedObject } from '~/types';\n\nexport interface HelpCrunchHook {\n openChat: () => void;\n closeChat: () => void;\n showNewMessage: (message: string) => void;\n showProactiveMessage: (id: string | number) => void;\n update: (settings: StringIndexedObject) => void;\n}\n\n/**\n * Hook for using helpcrunch Javascript API Methods.\n *\n * Docs:\n * - Methods:\n * https://docs.helpcrunch.com/developers/methods\n */\nexport default function useHelpcrunch(): HelpCrunchHook {\n const openChat = () => {\n // If helpcrunch isn't available, return\n if (!window.HelpCrunch) return;\n // show chat window\n window.HelpCrunch('openChat');\n };\n\n const closeChat = () => {\n // If helpcrunch isn't available, return\n if (!window.HelpCrunch) return;\n // hide chat window\n window.HelpCrunch('closeChat');\n };\n\n const showNewMessage = (message: string) => {\n // If helpcrunch isn't available, return\n if (!window.HelpCrunch) return;\n window.HelpCrunch('typeUserMessage', message);\n };\n\n const showProactiveMessage = (id: string | number): void => {\n // If helpcrunch isn't available, return\n if (!window.HelpCrunch) return;\n window.HelpCrunch('sendProactiveChatAutoMessage', id as string);\n };\n\n /**\n * Function calls the HelpCrunch update method\n * @param {Object} - Settings/Data (HelpCrunch setings) to update HelpCrunch with,\n * allowed attributes contained in Attributes & Objects docs link above\n */\n const update = (settings: StringIndexedObject) => {\n // If helpcrunch isn't available, return\n if (!window.HelpCrunch) return;\n // Check the settings passed is an object - if so, run the update method\n if (\n typeof settings === 'object' &&\n settings !== null &&\n !Array.isArray(settings)\n ) {\n window.HelpCrunch('updateUser', settings);\n }\n };\n\n return {\n openChat,\n closeChat,\n showNewMessage,\n showProactiveMessage,\n update,\n };\n}\n", "import { useRef, useEffect } from 'react';\n\nconst ESC_KEY = 27;\n\nexport default function useEscClick(\n callback: (e: KeyboardEvent) => void,\n): void {\n /**\n * Stores callback on ref so the effect can be called on mount / unmount\n */\n const callbackRef = useRef(callback);\n\n /**\n * Sets listeners on mount and removes them on unmount,\n * calls callback if user clicks ESC key\n */\n useEffect(() => {\n const handleEsc = (event: KeyboardEvent) => {\n if (event.keyCode === ESC_KEY && callbackRef.current)\n callbackRef.current(event);\n };\n\n document.addEventListener('keydown', handleEsc);\n return () => document.removeEventListener('keydown', handleEsc);\n }, []);\n}\n", "import { useRef, useEffect, MutableRefObject } from 'react';\n\nexport type OuterClickHook = MutableRefObject<HTMLElement | undefined>;\n\n/**\n * Hook that detect when the click is outside of the component\n */\nexport default function useOuterClick(\n callback: (e: MouseEvent) => void,\n): OuterClickHook {\n /**\n * Stores callback on ref so the effect can be called on mount / unmount\n */\n const callbackRef = useRef(callback);\n const innerRef = useRef<HTMLElement>();\n\n /**\n * Sets listeners on mount and removes them on unmount,\n * calles callback if click target is outside of component suplied with ref\n */\n useEffect(() => {\n const handleClick = (e: MouseEvent) => {\n if (\n innerRef.current &&\n callbackRef.current &&\n !innerRef.current.contains(e.target as HTMLElement)\n )\n callbackRef.current(e);\n };\n\n document.addEventListener('click', handleClick);\n return () => document.removeEventListener('click', handleClick);\n }, []);\n\n return innerRef;\n}\n", "import { useCallback, type MouseEvent } from 'react';\nimport { Amplitude, useAmplitude } from '@kanda-libs/ks-amplitude-provider';\nimport type { ButtonOnClick } from '~/types';\n\nexport interface UseButtonTrackingHook {\n onClick: ButtonOnClick;\n}\n\nexport default function useButtonTracking(\n id: string,\n onClick?: ButtonOnClick,\n): UseButtonTrackingHook {\n const { logEvent } = useAmplitude();\n const { flush } = Amplitude;\n\n const interceptedOnClick = useCallback(\n (event: MouseEvent<HTMLButtonElement>): void => {\n logEvent('button-interacted', {\n element_id: id,\n });\n flush();\n if (onClick) onClick(event);\n },\n [logEvent, flush, id, onClick],\n );\n\n return {\n onClick: interceptedOnClick,\n };\n}\n", "import { useEffect, useState, useRef, type MutableRefObject } from 'react';\n\nexport interface MousePositionHook {\n x: number | null;\n y: number | null;\n}\n\ninterface HeightAndWidth {\n height: number;\n width: number;\n}\n\nexport default function useMousePosition(\n ref: MutableRefObject<HTMLElement> | null = null,\n offsetY = 10,\n offsetX = 35,\n): MousePositionHook {\n const [mousePosition, setMousePosition] = useState<MousePositionHook>({\n x: null,\n y: null,\n });\n\n const heightAndWidth = useRef<HeightAndWidth>({ height: 0, width: 0 });\n\n useEffect(() => {\n if (ref?.current) {\n heightAndWidth.current.height = ref.current.offsetHeight;\n heightAndWidth.current.width = ref.current.offsetWidth;\n }\n }, [ref]);\n\n useEffect(() => {\n const updateMousePosition = ({ pageX, pageY }: MouseEvent) => {\n // This is used for positioning in the bottom right of the mouse. Useful for components\n // such as popovers but it's also optional\n setMousePosition({\n x: pageX - heightAndWidth.current.width / 4 + offsetX,\n y: pageY - heightAndWidth.current.height / 4 + offsetY,\n });\n };\n\n window.addEventListener('mousemove', updateMousePosition);\n return () => {\n window.removeEventListener('mousemove', updateMousePosition);\n };\n }, []);\n return mousePosition;\n}\n", "import Fuse from 'fuse.js';\nimport {\n type ChangeEvent,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n type Dispatch,\n type SetStateAction,\n} from 'react';\nimport { useDebounce } from 'use-debounce';\nimport type { StringIndexedObject } from '~/types';\n\nexport interface FuseValue<T = StringIndexedObject> {\n docs: T[];\n}\n\nexport interface FuseHit<T> {\n item: T;\n refIndex: number;\n}\n\nexport interface FuseHook<T> {\n hits: FuseHit<T>[];\n handleSearch: (e: ChangeEvent<HTMLInputElement>) => void;\n setQuery: Dispatch<SetStateAction<string>>;\n query: string;\n}\n\nexport default function useFuse<T>(\n list: T[],\n options: StringIndexedObject,\n initialQuery: string,\n debounce: number = 100,\n): FuseHook<T> {\n const isMounted = useRef(false);\n\n const [originalQuery, setQuery] = useState(initialQuery || '');\n const [query] = useDebounce(originalQuery, debounce || 100);\n\n // let's memoize the fuse instance for performances\n const fuse = useMemo(() => {\n const { limit, matchAllOnEmptyQuery, ...fuseOptions } = options;\n\n return new Fuse(list, fuseOptions);\n }, [list, options]);\n\n // memoize results whenever the query or options change\n const hits = useMemo(\n // if query is empty and `matchAllOnEmptyQuery` is `true` then return all list\n // NOTE: we remap the results to match the return structure of `fuse.search()`\n () =>\n !query && options.matchAllOnEmptyQuery\n ? (fuse.getIndex() as unknown as FuseValue<T>).docs\n .slice(0, options.limit)\n .map((item: T, refIndex: number) => ({ item, refIndex }))\n : fuse.search(query, { limit: options.limit }),\n [fuse, options, query],\n );\n\n // pass a handling helper to speed up implementation\n const handleSearch = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => setQuery(e.target.value.trim()),\n [setQuery],\n );\n\n /**\n * Handle mount\n * */\n useEffect(() => {\n isMounted.current = true;\n\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n // still returning `setQuery` for custom handler implementations\n return {\n hits,\n handleSearch,\n setQuery,\n query,\n };\n}\n", "import crypto from 'crypto-js';\n\nimport type { StringIndexedObject } from '~/types';\nimport { FRONT_USER_HASH } from '~/config';\n\nexport interface FrontChatWidgetSettings {\n email: string;\n name?: string;\n customFields?: StringIndexedObject;\n}\n\nexport interface FrontChatWidgetHook {\n openChat: () => void;\n closeChat: () => void;\n update: (settings: FrontChatWidgetSettings) => void;\n}\n\n/**\n * Hook for using FrontChat Javascript API Methods.\n *\n * Docs:\n * - Methods:\n * https://dev.frontapp.com/docs/chat-sdk-reference\n */\nexport default function useFrontChatWidget(): FrontChatWidgetHook {\n const openChat = () => {\n // If FrontChat isn't available, return\n if (!window.FrontChat) return;\n // show chat window\n window.FrontChat('show');\n };\n\n const closeChat = () => {\n // If FrontChat isn't available, return\n if (!window.FrontChat) return;\n // hide chat window\n window.FrontChat('hide');\n };\n\n /**\n * Function calls the FrontChat update method\n * @param {Object} - Settings/Data (FrontChat setings) to update FrontChat with,\n * allowed attributes contained in Attributes & Objects docs link above\n */\n const update = (settings: FrontChatWidgetSettings) => {\n // If FrontChat isn't available, return\n const { email } = settings;\n if (!window.FrontChat) return;\n // Check the settings passed is an object - if so, run the update method\n if (\n typeof settings === 'object' &&\n settings !== null &&\n !Array.isArray(settings)\n ) {\n const userHash = crypto\n .HmacSHA256(email, FRONT_USER_HASH)\n .toString(crypto.enc.Hex);\n const payload = {\n ...settings,\n userHash,\n };\n window.FrontChat('identity', payload);\n }\n };\n\n return {\n openChat,\n closeChat,\n update,\n };\n}\n", "/**\n * Configurations related to external integrations for the web app\n */\nexport const HELPCRUNCH_ENVIRONMENT_KEY =\n process.env.REACT_APP_HELPCRUNCH_ENVIRONMENT_KEY ||\n 'e6e03cdd-8937-43da-b341-a819c9e43f0a';\n\nexport const FRONT_ENVIRONMENT_KEY =\n process.env.REACT_APP_FRONT_ENVIRONMENT_KEY ||\n '1de90d16bdd78c65bacf3bb516bb6d48';\n\nexport const FRONT_USER_HASH =\n process.env.REACT_APP_FRONT_USER_HASH || '0e55409bec0c082d4fdcd6dd445a63a2';\n\n/**\n * Application URLs\n */\nexport const PRIVACY_POLICY_URL =\n process.env.REACT_APP_PRIVACY_POLICY_URL ||\n 'https://www.getkanda.com/privacy-policy';\n\nexport const TERMS_AND_CONDITIONS_URL =\n process.env.REACT_APP_LEGAL_PAGE || 'https://www.getkanda.com/legal-page';\n\nexport const COOKIE_POLICY_URL =\n process.env.REACT_APP_COOKIE_POLICY_URL ||\n 'https://www.getkanda.com/cookie-policy';\n\nexport const RECAPTCHA_SITE_KEY =\n process.env.REACT_APP_RECAPTCHA_SITE_KEY ||\n '6Lcrc3ImAAAAAPPx3ppenG9jWLk3O5XuFRZi5Abj';\n", "export const CLASS_NAMES = {\n container: 'flex flex-col flex-1 w-screen min-h-vvp relative',\n sidebarBase: 'flex flex-initial w-1/3 max-w-80 mr-6 lg:mr-8 xl:mr-16',\n backgroundLines: 'absolute w-screen top-0 left-0 bottom-0 right-0',\n background: 'absolute w-screen h-screen overflow-hidden',\n header: 'my-10 flex w-full h-10 flex-row justify-between items-center mx-3',\n shadow: 'w-full h-80 bg-neutral-50 transform skew-y-slide-up origin-0',\n lines: 'absolute left-0 top-0',\n options: 'flex flex-row',\n wrapper: {\n base: 'flex flex-1 w-full flex-col relative mx-auto px-6 lg:px-8 xl:px-16',\n '@noHeader': {\n false: 'pb-30',\n true: 'pb-20',\n },\n },\n contentWrapper: {\n base: 'flex flex-1 w-full max-w-5xl desktop:max-w-none desktop:px-36 mx-auto',\n '@noHeader': {\n true: 'mt-20',\n },\n },\n contentBox: {\n base: 'flex flex-1 flex-col shadow-a bg-neutral-000 border border-neutral-300 rounded-lg overflow-hidden relative',\n '@allowYOverflow': {\n true: 'overflow-y-scroll',\n },\n },\n logo: '-ml-3',\n};\n", "import * as React from \"react\";\nconst SvgBackground = props => <svg width={375} height={25} viewBox=\"0 0 375 25\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><g clipPath=\"url(#clip0)\"><rect opacity={0.2} width={538.177} height={298.987} transform=\"matrix(0.997859 -0.0654031 0 1 -26.2422 -284.605)\" fill=\"#27DEBF\" /><rect opacity={0.2} width={538.177} height={298.987} transform=\"matrix(0.997859 -0.0654031 0 1 91 -292.301)\" fill=\"#27DEBF\" /><rect opacity={0.2} width={538.177} height={298.987} transform=\"matrix(0.997859 -0.0654031 0 1 -86.043 -273.988)\" fill=\"url(#paint0_linear)\" /><rect width={543.451} height={298.987} transform=\"matrix(0.997859 -0.0654031 0 1 -86.043 -286.895)\" fill=\"#27DEBF\" /></g><defs><linearGradient id=\"paint0_linear\" x1={-0.00000678272} y1={-35.0811} x2={529.868} y2={-86.2458} gradientUnits=\"userSpaceOnUse\"><stop stopColor=\"#27DEBF\" /><stop offset={1} stopColor=\"#27DEBF\" stopOpacity={0} /></linearGradient><clipPath id=\"clip0\"><rect width={375} height={119} fill=\"white\" transform=\"translate(0 -94)\" /></clipPath></defs></svg>;\nexport default SvgBackground;", "import * as React from \"react\";\nconst SvgBackgroundLines = props => <svg width=\"100%\" height=\"100%\" preserveAspectRatio=\"xMidYMid slice\" viewBox=\"0 0 1440 1092\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><g clipPath=\"url(#clip0_1901_38550)\"><rect width={1440} height={1092} fill=\"white\" /><mask id=\"mask0_1901_38550\" style={{\n maskType: \"alpha\"\n }} maskUnits=\"userSpaceOnUse\" x={237} y={702} width={2140} height={218}><rect width={2143.38} height={77.7297} transform=\"matrix(0.997859 -0.0654031 0 1 237.751 842.184)\" fill=\"white\" /></mask><g mask=\"url(#mask0_1901_38550)\"><rect opacity={0.2} width={2122.58} height={1179.21} transform=\"matrix(0.997859 -0.0654031 0 1 461.759 -325.199)\" fill=\"#FBFCFE\" /><rect opacity={0.2} width={2122.58} height={1179.21} transform=\"matrix(0.997859 -0.0654031 0 1 924.17 -355.546)\" fill=\"#FBFCFE\" /><rect opacity={0.2} width={2122.58} height={1179.21} transform=\"matrix(0.997859 -0.0654031 0 1 225.918 -283.317)\" fill=\"url(#paint0_linear_1901_38550)\" /></g><mask id=\"mask1_1901_38550\" style={{\n maskType: \"alpha\"\n }} maskUnits=\"userSpaceOnUse\" x={-513} y={812} width={2139} height={218}><rect width={2143.38} height={77.7297} transform=\"matrix(0.997859 -0.0654031 0 1 -513 952.27)\" fill=\"white\" /></mask><g mask=\"url(#mask1_1901_38550)\"><rect opacity={0.2} width={2122.58} height={1179.21} transform=\"matrix(0.997859 -0.0654031 0 1 -288.992 -215.113)\" fill=\"#FBFCFE\" /><rect opacity={0.2} width={2122.58} height={1179.21} transform=\"matrix(0.997859 -0.0654031 0 1 173.42 -245.46)\" fill=\"#FBFCFE\" /><rect opacity={0.2} width={2122.58} height={1179.21} transform=\"matrix(0.997859 -0.0654031 0 1 -524.833 -173.231)\" fill=\"url(#paint1_linear_1901_38550)\" /></g><mask id=\"mask2_1901_38550\" style={{\n maskType: \"alpha\"\n }} maskUnits=\"userSpaceOnUse\" x={423} y={60} width={1186} height={121}><rect width={1187.67} height={43.0709} transform=\"matrix(0.997859 -0.0654031 0 1 423 137.677)\" fill=\"white\" /></mask><g mask=\"url(#mask2_1901_38550)\"><rect opacity={0.2} width={1176.14} height={653.413} transform=\"matrix(0.997859 -0.0654031 0 1 547.125 -509.183)\" fill=\"#FBFCFE\" /><rect opacity={0.2} width={1176.14} height={653.413} transform=\"matrix(0.997859 -0.0654031 0 1 803.353 -525.999)\" fill=\"#FBFCFE\" /><rect opacity={0.2} width={1176.14} height={653.413} transform=\"matrix(0.997859 -0.0654031 0 1 416.443 -485.976)\" fill=\"url(#paint2_linear_1901_38550)\" /></g><mask id=\"mask3_1901_38550\" style={{\n maskType: \"alpha\"\n }} maskUnits=\"userSpaceOnUse\" x={-41} y={129} width={1186} height={121}><rect width={1187.67} height={43.0709} transform=\"matrix(0.997859 -0.0654031 0 1 -41 206.677)\" fill=\"white\" /></mask><g mask=\"url(#mask3_1901_38550)\"><rect opacity={0.2} width={1176.14} height={653.413} transform=\"matrix(0.997859 -0.0654031 0 1 83.125 -440.183)\" fill=\"#FBFCFE\" /><rect opacity={0.2} width={1176.14} height={653.413} transform=\"matrix(0.997859 -0.0654031 0 1 339.353 -456.999)\" fill=\"#FBFCFE\" /><rect opacity={0.2} width={1176.14} height={653.413} transform=\"matrix(0.997859 -0.0654031 0 1 -47.5566 -416.976)\" fill=\"url(#paint3_linear_1901_38550)\" /></g><mask id=\"mask4_1901_38550\" style={{\n maskType: \"alpha\"\n }} maskUnits=\"userSpaceOnUse\" x={-609} y={208} width={1186} height={121}><rect width={1187.67} height={43.0709} transform=\"matrix(0.997859 -0.0654031 0 1 -609 285.677)\" fill=\"white\" /></mask><g mask=\"url(#mask4_1901_38550)\"><rect opacity={0.2} width={1176.14} height={653.413} transform=\"matrix(0.997859 -0.0654031 0 1 -484.875 -361.183)\" fill=\"#FBFCFE\" /><rect opacity={0.2} width={1176.14} height={653.413} transform=\"matrix(0.997859 -0.0654031 0 1 -228.647 -377.999)\" fill=\"#FBFCFE\" /><rect opacity={0.2} width={1176.14} height={653.413} transform=\"matrix(0.997859 -0.0654031 0 1 -615.557 -337.976)\" fill=\"url(#paint4_linear_1901_38550)\" /></g><mask id=\"mask5_1901_38550\" style={{\n maskType: \"alpha\"\n }} maskUnits=\"userSpaceOnUse\" x={1296} y={25} width={1186} height={121}><rect width={1187.67} height={43.0709} transform=\"matrix(0.997859 -0.0654031 0 1 1296 102.677)\" fill=\"white\" /></mask><g mask=\"url(#mask5_1901_38550)\"><rect opacity={0.2} width={1176.14} height={653.413} transform=\"matrix(0.997859 -0.0654031 0 1 1420.12 -544.183)\" fill=\"#FBFCFE\" /><rect opacity={0.2} width={1176.14} height={653.413} transform=\"matrix(0.997859 -0.0654031 0 1 1289.44 -520.976)\" fill=\"url(#paint5_linear_1901_38550)\" /></g></g><defs><linearGradient id=\"paint0_linear_1901_38550\" x1={-0.0000267511} y1={-138.36} x2={2089.81} y2={-340.154} gradientUnits=\"userSpaceOnUse\"><stop stopColor=\"#E0E7F0\" /><stop offset={1} stopColor=\"#E0E7F0\" stopOpacity={0} /></linearGradient><linearGradient id=\"paint1_linear_1901_38550\" x1={-0.0000267511} y1={-138.36} x2={2089.81} y2={-340.154} gradientUnits=\"userSpaceOnUse\"><stop stopColor=\"#E0E7F0\" /><stop offset={1} stopColor=\"#E0E7F0\" stopOpacity={0} /></linearGradient><linearGradient id=\"paint2_linear_1901_38550\" x1={-0.0000148231} y1={-76.6669} x2={1157.99} y2={-188.483} gradientUnits=\"userSpaceOnUse\"><stop stopColor=\"#E0E7F0\" /><stop offset={1} stopColor=\"#E0E7F0\" stopOpacity={0} /></linearGradient><linearGradient id=\"paint3_linear_1901_38550\" x1={-0.0000148231} y1={-76.6669} x2={1157.99} y2={-188.483} gradientUnits=\"userSpaceOnUse\"><stop stopColor=\"#E0E7F0\" /><stop offset={1} stopColor=\"#E0E7F0\" stopOpacity={0} /></linearGradient><linearGradient id=\"paint4_linear_1901_38550\" x1={-0.0000148231} y1={-76.6669} x2={1157.99} y2={-188.483} gradientUnits=\"userSpaceOnUse\"><stop stopColor=\"#E0E7F0\" /><stop offset={1} stopColor=\"#E0E7F0\" stopOpacity={0} /></linearGradient><linearGradient id=\"paint5_linear_1901_38550\" x1={-0.0000148231} y1={-76.6669} x2={1157.99} y2={-188.483} gradientUnits=\"userSpaceOnUse\"><stop stopColor=\"#E0E7F0\" /><stop offset={1} stopColor=\"#E0E7F0\" stopOpacity={0} /></linearGradient><clipPath id=\"clip0_1901_38550\"><rect width={1440} height={1092} fill=\"white\" /></clipPath></defs></svg>;\nexport default SvgBackgroundLines;", "import React, { FunctionComponent } from 'react';\nimport { Icon as IconButton, Link as LinkButton } from '~/components/Button';\nimport useHelpButtonOnClick from './useHelpButtonOnClick';\nimport { PROPS } from './constants';\n\nexport interface HelpButtonProps {\n variant?: string;\n}\n\nconst HelpButton: FunctionComponent<HelpButtonProps> = function ({\n variant = 'button',\n}) {\n const { onClick } = useHelpButtonOnClick();\n\n if (variant === 'button') {\n return <IconButton onClick={onClick} {...PROPS} />;\n }\n\n return (\n <LinkButton\n id=\"help-launcher\"\n variant=\"custom\"\n className=\"text-neutral-900 z-50\"\n icon=\"help\"\n onClick={onClick}\n >\n Help Center\n </LinkButton>\n );\n};\n\nexport default HelpButton;\n", "import React, { FunctionComponent } from 'react';\nimport type { ButtonTextProps } from '~/components/Button/ButtonText/types';\nimport Pass from '~/components/Pass';\nimport SkeletonLoader from '~/components/SkeletonLoader';\nimport Icon from '~/components/Icon';\nimport constants from './constants';\nimport type { Variant } from '~/types';\nimport { useButtonTracking } from '~/hooks';\n\nexport type { ButtonTextProps };\n\nconst ButtonText: FunctionComponent<ButtonTextProps> = function ({\n id,\n onClick: inputOnClick,\n variant = 'solid',\n iconSpacing,\n label,\n size = 48 as unknown as Variant,\n children = null,\n icon,\n iconProps = {},\n className,\n disabled = false,\n submit = false,\n left = false,\n isLoading = false,\n append = null,\n prepend = null,\n ...restProps\n}) {\n const { onClick } = useButtonTracking(id, inputOnClick);\n\n return (\n <Pass.Constants\n constants={constants}\n className={className as string}\n variant={variant as Variant}\n left={left}\n iconSpacing={iconSpacing as Variant}\n loading={isLoading}\n size={size}\n >\n {({ classNames, getButtonProps, getIconProps, getSkeletonProps }) => (\n <button\n id={id}\n type={submit ? 'submit' : 'button'}\n {...getButtonProps(restProps)}\n disabled={disabled}\n onClick={onClick}\n >\n <span className={classNames.container}>\n {prepend}\n <span className={classNames.content}>\n {label || children}\n {icon && <span className={classNames.iconSpace} />}\n {icon && <Icon {...getIconProps({ ...iconProps, icon })} />}\n </span>\n {append}\n </span>\n <SkeletonLoader {...getSkeletonProps({ isLoading })} />\n </button>\n )}\n </Pass.Constants>\n );\n};\n\nexport default ButtonText;\n", "import set from 'lodash.set';\nimport { VARIANT_REGEX } from './constants';\nimport type { StringIndexedObject, Variants } from 'types';\n\nexport const flatObject = (input: StringIndexedObject): StringIndexedObject => {\n const flat = (\n res: StringIndexedObject,\n key: string,\n val: StringIndexedObject,\n pre = '',\n ): StringIndexedObject => {\n const prefix = [pre, key].filter((v) => v).join('.');\n return typeof val === 'object'\n ? Object.keys(val).reduce(\n (prev, curr) => flat(prev, curr, val[curr], prefix),\n res,\n )\n : Object.assign(res, { [prefix]: val });\n };\n\n return Object.keys(input).reduce(\n (prev, curr) => flat(prev, curr, input[curr]),\n {},\n );\n};\n\nexport const capitalize = (text: string) => {\n if (typeof text !== 'string') return '';\n return text.charAt(0).toUpperCase() + text.slice(1);\n};\n\ninterface Match {\n groups: {\n variant: string;\n value: string;\n };\n}\n\n/**\n * Formats object values\n * @param {Object} object\n * @param {Function} formatter\n * @returns {Object} formated object\n */\nexport const formatObject = (\n object: StringIndexedObject,\n variants: Variants,\n) => {\n const flat = flatObject(object);\n\n const entries = Object.entries(flat).filter(([key]) => {\n const matches = Array.from(\n `${key}.`.matchAll(VARIANT_REGEX),\n ) as unknown as Match[];\n\n return matches.every((match) => {\n const { variant, value } = match.groups;\n\n return (\n value === `${variants[variant]}` ||\n value === `${Boolean(variants[variant])}`\n );\n });\n });\n\n const replaced = entries.map(([key, value]) => [\n `${key}.`.replace(VARIANT_REGEX, '').slice(0, -1),\n value,\n ]);\n\n return replaced.reduce(\n (prev, [key, value]) => set(prev, key as string, value),\n {},\n );\n};\n\n/**\n * Creates a function name from className\n * @param {String} className\n * @returns {String} function name\n */\nexport const getFunctionName = (className: string) =>\n `get${capitalize(className)}Props`;\n\n/**\n * Create getters\n * @param {Object} formattedProps\n * @param {Object} classNames\n * @param {Object} helpers\n * @returns {Object} getter functions\n */\nexport const createGetters = (\n formattedProps: StringIndexedObject,\n classNames: StringIndexedObject,\n helpers: StringIndexedObject,\n) => {\n const allKeys = [\n ...new Set([...Object.keys(formattedProps), ...Object.keys(classNames)]),\n ];\n\n return Object.fromEntries(\n allKeys.map((className) => [\n getFunctionName(className),\n (viewProps = {}) => {\n const helper = helpers?.[className];\n\n const initialProps = {\n ...formattedProps?.[className],\n ...(classNames[className] && { className: classNames[className] }),\n };\n\n if (typeof helper === 'function')\n return helper({}, initialProps, viewProps);\n\n return Object.entries(viewProps).reduce((prevProps, [key, value]) => {\n if (typeof helper?.[key] === 'function') {\n return helper?.[key]({ key }, prevProps, value);\n }\n\n return { ...prevProps, [key]: value };\n }, initialProps);\n },\n ]),\n );\n};\n", "export const VARIANT_REGEX =\n /@(?<variantPair>(?<variant>[^.]+).(?<value>[^.]+)[.])/g;\n", "import type { StringIndexedObject, Variants } from 'types';\nimport { createGetters, formatObject } from './helpers';\nimport type { HTMLAttributes } from 'react';\nimport type { SkeletonLoaderProps } from '~/components/SkeletonLoader';\nimport type { IconProps } from '~/components/Icon/types';\n\nexport interface Options {\n helpers: object;\n variants: Variants;\n classNames: StringIndexedObject;\n}\n\ninterface PropsGetters {\n getButtonProps: (\n args: StringIndexedObject,\n ) => HTMLAttributes<HTMLButtonElement>;\n getIconProps: (args: StringIndexedObject) => IconProps;\n getSkeletonProps: (args: SkeletonLoaderProps) => IconProps;\n}\n\nexport interface PropsHook extends PropsGetters {\n classNames: StringIndexedObject;\n}\n\nexport default function useProps(props: object, options: Options): PropsHook {\n const { helpers, variants, classNames } = options;\n\n const formattedProps = formatObject(props, variants);\n\n const getters = createGetters(\n formattedProps,\n classNames,\n helpers,\n ) as unknown as PropsGetters;\n\n return {\n classNames,\n ...getters,\n };\n}\n", "import useVariants from '~/hooks/useVariants';\nimport type { StringIndexedObject } from 'types';\nimport { useClasses } from '~/hooks/index';\nimport useProps from '~/hooks/useProps';\n\nexport type Options = StringIndexedObject;\n\nexport default function usePass(options: Options = {}) {\n const { props, helpers = {} } = options;\n\n const variants = useVariants(options.variants || {});\n\n const classNames = useClasses(options.classNames || {}, {\n variants,\n });\n\n return useProps(props || {}, {\n classNames,\n variants,\n helpers,\n });\n}\n", "import type { FunctionComponent } from 'react';\nimport type { PropsHook } from '~/hooks/useProps';\nimport usePass, { type Options } from '~/hooks/usePass';\nimport type { Variant } from '~/types';\n\nexport interface PassConstantsProps {\n children: (args: PropsHook) => JSX.Element;\n constants: Options;\n className: string;\n variant: Variant;\n left: boolean;\n iconSpacing: Variant;\n loading: boolean;\n size: Variant;\n}\n\nconst PassConstants: FunctionComponent<PassConstantsProps> = function ({\n children,\n constants,\n ...variants\n}) {\n const { helpers, props, classNames } = constants;\n\n const passProps = usePass({\n classNames,\n variants,\n helpers,\n props,\n });\n\n return children(passProps);\n};\n\nexport default PassConstants;\n", "import Constants from './PassConstants';\n\nexport default { Constants };\n", "export const BUTTON_CLASS_NAME = {\n base: 'relative transition-all duration-100 ease-in-out {{@className}}',\n '@variant': {\n solid:\n 'bg-turquoise-300 text-neutral-000 rounded-full disabled:bg-neutral-300 disabled:text-neutral-000 hover:bg-turquoise-400',\n danger:\n 'bg-red-200 text-neutral-000 rounded-full disabled:bg-neutral-300 disabled:text-neutral-000 hover:bg-red-500',\n gradient:\n 'bg-gradient-b-big text-neutral-900 rounded-full disabled:bg-neutral-300 disabled:text-neutral-000 disabled:bg-none bg-200 bg-left hover:bg-right duration-300',\n outline:\n 'bg-neutral-000 ring-2 ring-inset ring-neutral-200 text-neutral-600 rounded-full disabled:ring-neutral-100 disabled:text-neutral-400 hover:ring-neutral-300 hover:text-neutral-700',\n ghost: 'text-neutral-500 disabled:text-neutral-400 hover:text-neutral-600',\n },\n '@size': {\n 48: 'px-8 h-12 text-style-f-em',\n 40: 'px-4 h-10 text-style-g-em',\n 32: 'px-4 h-8 text-style-h-em',\n 24: 'px-3 h-6 text-style-h-em',\n },\n '@loading': {\n true: 'pointer-events-none',\n },\n};\n\nconst CONTAINER_CLASS_NAME =\n 'flex flex-1 items-center justify-items-center justify-center';\n\nconst CONTENT_CLASS_NAME = {\n base: 'flex flex-1 items-center justify-items-center justify-center',\n '@left': {\n true: 'flex-row-reverse',\n false: 'flex-row',\n },\n};\n\nconst ICON_SPACE_CLASS_NAME = {\n '@size': {\n 48: 'w-3',\n 40: 'w-2',\n 32: 'w-2',\n 24: 'w-1',\n },\n};\n\nconst ICON_PROPS = {\n '@size': {\n 48: {\n size: 20,\n },\n 40: {\n size: 20,\n },\n 32: {\n size: 20,\n },\n 24: {\n size: 12,\n },\n },\n};\n\nconst SKELETON_PROPS = {\n wrapperClassName: 'absolute w-full h-full top-0 left-0',\n className: 'leading-unset',\n height: '100%',\n};\n\nexport default {\n classNames: {\n button: BUTTON_CLASS_NAME,\n container: CONTAINER_CLASS_NAME,\n content: CONTENT_CLASS_NAME,\n iconSpace: ICON_SPACE_CLASS_NAME,\n },\n props: {\n skeleton: SKELETON_PROPS,\n icon: ICON_PROPS,\n },\n};\n", "import React, { FunctionComponent } from 'react';\nimport type { ButtonLinkProps } from './types';\nimport useButtonLink from '~/components/Button/ButtonLink/useButtonLink';\nimport BaseButton from '~/components/Button/BaseButton';\nimport type { IconProps } from '~/components/Icon/types';\n\nexport type { ButtonLinkProps };\n\nconst ButtonLink: FunctionComponent<ButtonLinkProps> = function ({\n id,\n className,\n variant = 'turquoise',\n left = false,\n size = 16,\n iconSpacing,\n ...restProps\n}) {\n const { iconProps = {}, isLoading = false } = restProps;\n\n const variantProps = useButtonLink(\n variant,\n left,\n size as number,\n className as string,\n iconProps as IconProps,\n iconSpacing as number,\n isLoading as boolean,\n );\n\n return (\n <BaseButton id={id} {...restProps} {...variantProps}>\n {restProps.children as JSX.Element}\n </BaseButton>\n );\n};\n\nexport default ButtonLink;\n", "import clsx from 'clsx';\nimport {\n CLASS_NAMES,\n BUTTON_VARIANTS,\n BUTTON_SIZES_VARIANTS,\n} from './constants';\nimport type { StringIndexedObject, Variant } from '~/types';\nimport type { IconProps } from '~/components/Icon/types';\n\nexport interface ButtonLinkHook {\n classNames: StringIndexedObject<string>;\n iconProps: IconProps;\n}\n\nexport default function useButtonLink(\n variant: string,\n left: boolean,\n size: number,\n initialClassName: string,\n initialIconProps: IconProps,\n initialIconSpacing: Variant,\n isLoading: boolean,\n): ButtonLinkHook {\n const { buttonBase, contentBase, ...classNames } = CLASS_NAMES;\n\n const colorVariant = BUTTON_VARIANTS[variant] || {};\n const sizeVariant = BUTTON_SIZES_VARIANTS[size] || {};\n\n const button = clsx(\n buttonBase,\n colorVariant.className,\n sizeVariant.className,\n initialClassName,\n isLoading && 'pointer-events-none',\n );\n\n const content = clsx(contentBase, left ? 'flex-row-reverse' : 'flex-row');\n\n const iconSpace = initialIconSpacing || sizeVariant.iconSpacing;\n\n const iconClassName = clsx(\n left ? `mr-${iconSpace}` : `ml-${iconSpace}`,\n initialIconProps.className,\n );\n\n const iconProps = {\n ...(sizeVariant.iconProps as unknown as IconProps),\n ...initialIconProps,\n className: iconClassName,\n };\n\n return {\n classNames: {\n ...classNames,\n button,\n content,\n },\n iconProps,\n };\n}\n", "import type { StringIndexedObject } from '~/types';\n\nexport const CLASS_NAMES = {\n buttonBase: 'relative transition-all duration-100 ease-in',\n contentBase: 'flex flex-1 items-center justify-items-center justify-center',\n};\n\nexport const BUTTON_VARIANTS: StringIndexedObject<StringIndexedObject<string>> =\n {\n custom: {},\n turquoise: {\n className: 'text-turquoise-300 hover:text-turquoise-500',\n },\n grey: {\n className: 'text-neutral-600 hover:text-neutral-700',\n },\n 'light-grey': {\n className: 'text-neutral-500 hover:text-neutral-600',\n },\n };\n\nexport const BUTTON_SIZES_VARIANTS: Record<\n string | number,\n StringIndexedObject<string | StringIndexedObject<number>>\n> = {\n custom: {},\n 16: {\n className: 'text-style-f-em',\n iconSpacing: '2',\n iconProps: {\n size: 16,\n },\n },\n 14: {\n className: 'text-style-g-em',\n iconSpacing: '2',\n iconProps: {\n size: 16,\n },\n },\n 12: {\n className: 'text-style-h-em',\n iconSpacing: '1.5',\n iconProps: {\n size: 12,\n },\n },\n};\n", "import React, { type FunctionComponent } from 'react';\nimport Icon from '~/components/Icon';\nimport SkeletonLoader from '~/components/SkeletonLoader';\nimport { useButtonTracking } from '~/hooks';\nimport { SKELETON_PROPS } from './constants';\nimport type { BaseButtonProps } from './types';\n\nexport type { BaseButtonProps };\n\nconst BaseButton: FunctionComponent<BaseButtonProps> = function ({\n id,\n onClick: inputOnClick,\n label,\n children = null,\n append = null,\n prepend = null,\n icon,\n iconProps = {},\n disabled = false,\n submit = false,\n classNames,\n isLoading = false,\n ...restProps\n}) {\n const type = submit ? 'submit' : 'button';\n\n const { onClick } = useButtonTracking(id, inputOnClick);\n\n return (\n <button\n id={id}\n type={type}\n disabled={disabled}\n className={classNames?.button}\n ref={restProps.forwardRef}\n {...restProps}\n onClick={onClick}\n >\n <span className=\"flex flex-1 items-center justify-items-center justify-center\">\n {prepend}\n <span className={classNames?.content}>\n {label || children}\n {icon && <Icon {...iconProps} icon={icon} />}\n </span>\n {append}\n </span>\n <SkeletonLoader {...SKELETON_PROPS} isLoading={isLoading} />\n </button>\n );\n};\n\nexport default BaseButton;\n", "export const SKELETON_PROPS = {\n wrapperClassName: 'absolute w-full h-full top-0 left-0',\n className: 'leading-unset',\n height: '100%',\n};\n", "import React, { FunctionComponent } from 'react';\nimport type { ButtonInlineLinkProps } from './types';\nimport BaseButton from '~/components/Button/BaseButton';\nimport useButtonInlineLink from './useButtonInlineLink';\n\nexport type { ButtonInlineLinkProps };\n\nconst ButtonInlineLink: FunctionComponent<ButtonInlineLinkProps> = function ({\n id,\n className,\n variant = 'grey',\n ...restProps\n}) {\n const { isLoading = false } = restProps;\n\n const variantProps = useButtonInlineLink(\n variant,\n className as string,\n isLoading,\n );\n\n return <BaseButton id={id} {...restProps} {...variantProps} />;\n};\n\nexport default ButtonInlineLink;\n", "import clsx from 'clsx';\nimport { CLASS_NAMES, BUTTON_VARIANTS } from './constants';\nimport type { StringIndexedObject } from '~/types';\n\nexport interface ButtonInlineLinkHook {\n classNames: StringIndexedObject<string>;\n}\n\nexport default function useButtonInlineLink(\n variant: string,\n initialClassName: string,\n isLoading: boolean,\n): ButtonInlineLinkHook {\n const { buttonBase, buttonLoading, buttonNotLoading, ...classNames } =\n CLASS_NAMES;\n\n const colorVariant = BUTTON_VARIANTS[variant] || {};\n\n const button = clsx(\n buttonBase,\n colorVariant.className,\n initialClassName,\n isLoading ? buttonLoading : buttonNotLoading,\n );\n\n return {\n classNames: {\n ...classNames,\n button,\n },\n };\n}\n", "import type { StringIndexedObject } from '~/types';\n\nexport const CLASS_NAMES = {\n buttonBase: 'relative transition-all duration-100 ease-in',\n buttonLoading: 'pointer-events-none',\n buttonNotLoading: 'border-b solid',\n content: 'flex flex-1 items-center justify-items-center justify-center',\n};\n\nexport const BUTTON_VARIANTS: StringIndexedObject<StringIndexedObject<string>> =\n {\n custom: {},\n grey: {\n className:\n 'text-style-h-em text-neutral-600 hover:text-neutral-700 border-neutral-300',\n },\n turquoise: {\n className:\n 'text-style-h-em text-turquoise-300 hover:text-turquoise-500 border-turquoise-200',\n },\n lavender: {\n className:\n 'text-style-h-em text-lavender-200 hover:text-lavender-300 border-lavender-100',\n },\n };\n", "import React, { FunctionComponent } from 'react';\nimport type { ButtonIconProps } from './types';\nimport useButtonIcon from '~/components/Button/ButtonIcon/useButtonIcon';\nimport Icon from '~/components/Icon';\nimport SkeletonLoader from '~/components/SkeletonLoader';\nimport type { IconProps } from '~/components/Icon/types';\nimport { useButtonTracking } from '~/hooks';\n\nexport type { ButtonIconProps };\n\nconst ButtonIcon: FunctionComponent<ButtonIconProps> = function ({\n children = null,\n id,\n onClick: inputOnClick,\n submit,\n size = '40-20',\n variant = 'ghost-grey',\n icon,\n className: initialClassName,\n iconProps: initialIconProps = {},\n isLoading,\n indicator,\n indicatorPosition = 'top-0 right-0',\n ...restProps\n}) {\n const { iconProps, classNames, circle, type, style } = useButtonIcon(\n submit as boolean,\n variant,\n size,\n initialIconProps as IconProps,\n initialClassName as string,\n indicator as string,\n indicatorPosition,\n );\n\n const { onClick } = useButtonTracking(id, inputOnClick);\n\n return (\n <SkeletonLoader\n className={classNames.skeleton}\n isLoading={isLoading}\n circle={circle}\n {...style}\n afterLoading={\n <button\n id={id}\n className={classNames.button}\n style={style}\n {...restProps}\n type={type as 'button' | 'submit' | 'reset'}\n onClick={onClick}\n >\n <div className={classNames.wrapper}>\n <Icon {...iconProps} icon={icon as string} />\n {indicator && <span className={classNames.indicator} />}\n </div>\n </button>\n }\n />\n );\n};\n\nexport default ButtonIcon;\n", "import clsx from 'clsx';\nimport type { StringIndexedObject } from '~/types';\nimport type {\n ButtonIconSize,\n ButtonIconVariant,\n} from '~/components/Button/ButtonIcon/types';\nimport {\n BUTTON_ICON_SIZE_VARIANTS,\n BUTTON_ICON_VARIANTS,\n CLASS_NAMES,\n} from './constants';\nimport type { IconProps } from '~/components/Icon/types';\n\nexport interface ButtonIconHook {\n iconProps: IconProps;\n classNames: StringIndexedObject<string>;\n circle: boolean;\n style: {\n width: number;\n height: number;\n };\n type: string;\n}\n\nexport default function useButtonIcon(\n submit: boolean,\n variant: ButtonIconVariant,\n size: ButtonIconSize,\n initialIconProps: IconProps,\n initialClassName: string,\n indicatorColor: string,\n indicatorPosition: string,\n): ButtonIconHook {\n const { size: variantSize, iconProps: sizeIconProps } =\n BUTTON_ICON_SIZE_VARIANTS[size] || {};\n\n const { buttonBase, skeletonBase, indicatorBase, ...restClassNames } =\n CLASS_NAMES;\n\n const { circle, ...iconVariant } = BUTTON_ICON_VARIANTS[variant] || {};\n\n const button = clsx(\n buttonBase,\n iconVariant.className,\n circle && 'rounded-full',\n initialClassName,\n );\n\n const indicator = clsx(\n indicatorBase,\n iconVariant.indicator,\n `bg-${indicatorColor}`,\n indicatorPosition,\n );\n\n const skeleton = clsx(skeletonBase, initialClassName);\n\n const classNames = {\n ...restClassNames,\n skeleton,\n button,\n indicator,\n };\n\n const style = {\n width: variantSize || size,\n height: variantSize || size,\n };\n\n const iconProps = {\n ...(sizeIconProps as unknown as IconProps),\n ...(iconVariant.iconProps as unknown as IconProps),\n ...initialIconProps,\n };\n\n const type = submit ? 'submit' : 'button';\n\n return {\n iconProps,\n classNames,\n circle: circle as boolean,\n style: style as { width: number; height: number },\n type,\n };\n}\n", "import type { StringIndexedObject } from '~/types';\n\nexport const CLASS_NAMES: StringIndexedObject<string> = {\n buttonBase:\n 'flex flex-row items-center justify-center transition-all duration-100 ease-in group',\n skeletonBase: 'leading-unset',\n wrapper: 'relative',\n indicatorBase:\n 'w-2 h-2 -m-0.5 rounded-full ring-2 ring-inset absolute top-0 right-0 transition-all duration-100 ease-in',\n};\n\nexport const BUTTON_ICON_VARIANTS: StringIndexedObject<\n StringIndexedObject<string | boolean>\n> = {\n 'ghost-grey': {\n className: 'text-neutral-600 active:bg-neutral-100 group',\n indicator: 'ring-neutral-000 group-active:ring-neutral-100',\n circle: true,\n },\n turquoise: {\n className: 'bg-turquoise-300 text-neutral-000 active:bg-turquoise-400',\n indicator: 'ring-turquoise-300 group-active:ring-turquoise-400',\n circle: true,\n },\n 'light-turquoise': {\n className:\n 'bg-turquoise-100 text-turquoise-400 active:bg-turquoise-200 active:text-red-500',\n indicator: 'ring-turquoise-100 group-active:ring-turquoise-200',\n circle: true,\n },\n 'solid-grey': {\n className:\n 'bg-neutral-200 text-neutral-600 active:bg-neutral-300 active:text-neutral-700',\n indicator: 'ring-neutral-200 group-active:ring-neutral-300',\n circle: true,\n },\n custom: {},\n};\n\nexport const BUTTON_ICON_SIZE_VARIANTS: StringIndexedObject<\n StringIndexedObject<number | StringIndexedObject<number>>\n> = {\n '48-20': {\n iconProps: {\n size: 20,\n },\n size: 48,\n },\n '40-20': {\n iconProps: {\n size: 20,\n },\n size: 40,\n },\n '32-20': {\n iconProps: {\n size: 20,\n },\n size: 32,\n },\n '16-16': {\n iconProps: {\n size: 16,\n },\n size: 16,\n },\n '32-16': {\n iconProps: {\n size: 16,\n },\n size: 32,\n },\n '28-16': {\n iconProps: {\n size: 16,\n },\n size: 28,\n },\n '36-12': {\n iconProps: {\n size: 12,\n },\n size: 36,\n },\n};\n", "import Text from './ButtonText';\nimport Link from './ButtonLink';\nimport InlineLink from './ButtonInlineLink';\nimport Icon from './ButtonIcon';\nimport type { ButtonTextVariant } from './ButtonText/types';\nimport type { ButtonLinkVariant } from './ButtonLink/types';\nimport type { ButtonInlineLinkVariant } from './ButtonInlineLink/types';\nimport type { ButtonIconVariant } from './ButtonIcon/types';\n\nexport { Text, Link, Icon, InlineLink };\n\nconst Button = {\n Text,\n Link,\n Icon,\n InlineLink,\n};\n\nexport type {\n ButtonTextVariant,\n ButtonLinkVariant,\n ButtonIconVariant,\n ButtonInlineLinkVariant,\n};\n\nexport default Button;\n", "import { useFrontChatWidget } from '~/hooks';\nimport { useCallback } from 'react';\n\nexport interface HelpButtonOnClickHook {\n onClick: () => void;\n}\n\nexport default function useHelpButtonOnClick(): HelpButtonOnClickHook {\n const { openChat } = useFrontChatWidget();\n\n const onClick = useCallback(() => {\n openChat();\n }, [openChat]);\n\n return {\n onClick,\n };\n}\n", "import type {\n ButtonIconSize,\n ButtonIconVariant,\n} from '~/components/Button/ButtonIcon/types';\n\nexport const PROPS = {\n size: '40-20' as ButtonIconSize,\n variant: 'ghost-grey' as ButtonIconVariant,\n key: 'help',\n id: 'help-launcher',\n className: 'z-50',\n iconProps: { stroke: undefined },\n icon: 'help',\n};\n", "import React, { FunctionComponent } from 'react';\nimport useContentClassNames from './useContentClassNames';\n\nexport interface ContentDefaultProps {\n children?: JSX.Element | JSX.Element[];\n footer?: JSX.Element | JSX.Element[];\n header?: JSX.Element | JSX.Element[];\n /**\n * Align content to top\n */\n top?: boolean;\n /**\n * Align content to left\n */\n left?: boolean;\n flex?: boolean;\n width?: string;\n /**\n * Don't add padding to the content\n */\n noPadding?: boolean;\n}\n\nconst DesktopLayoutBoxedContent: FunctionComponent<ContentDefaultProps> =\n function ({\n children,\n header,\n footer,\n width = 'w-120 max-w-120',\n top = false,\n left = false,\n flex = false,\n noPadding = false,\n }) {\n const classNames = useContentClassNames({\n footer,\n width,\n top,\n left,\n flex,\n noPadding,\n });\n\n return (\n <>\n {header}\n <div className={classNames.wrapper}>\n <div className={classNames.container}>\n <div className={classNames.content}>{children}</div>\n </div>\n {footer}\n </div>\n </>\n );\n };\n\nexport default DesktopLayoutBoxedContent;\n", "export const CLASS_NAMES = {\n wrapper: {\n base: 'flex flex-col',\n '@top': {\n false: 'my-auto',\n },\n '@flex': {\n true: 'flex-1 items-center',\n },\n },\n container: {\n base: 'flex flex-row w-full justify-center',\n '@noPadding': {\n false: 'px-16 lg:px-38 pt-18',\n true: '',\n },\n '@flex': {\n true: 'flex-1',\n },\n '@footer': {\n false: 'pb-18',\n },\n },\n content: {\n base: 'flex flex-col',\n '@left': {\n false: 'items-center text-center',\n },\n '@flex': {\n true: 'flex-1',\n },\n },\n};\n", "import type { ContentDefaultProps } from './index';\nimport type { StringIndexedObject } from '~/types';\nimport { useClasses } from '~/hooks';\nimport { CLASS_NAMES } from './constants';\n\nexport type ContentClassNamesArgs = Omit<\n ContentDefaultProps,\n 'children' | 'header'\n>;\n\nexport default function useContentClassNames({\n footer,\n width,\n ...variants\n}: ContentClassNamesArgs): StringIndexedObject {\n const extendedVariants = {\n ...variants,\n footer: Boolean(footer),\n };\n\n const classNames = useClasses(CLASS_NAMES, {\n variants: extendedVariants,\n content: ['.content', width],\n });\n\n return classNames;\n}\n", "import React, { FunctionComponent } from 'react';\nimport { CLASS_NAMES } from './constants';\n\nexport interface ContentHeaderProps {\n children?: JSX.Element | JSX.Element[];\n}\n\nconst DesktopLayoutBoxedContentHeader: FunctionComponent<ContentHeaderProps> =\n function ({ children }) {\n return <div className={CLASS_NAMES.contentHeader}>{children}</div>;\n };\n\nexport default DesktopLayoutBoxedContentHeader;\n", "export const CLASS_NAMES = {\n contentHeader: 'flex w-full p-6 absolute z-10',\n};\n", "import React, { FunctionComponent } from 'react';\nimport useDesktopLayoutProps from '~/components/DesktopLayout/DesktopLayoutDefault/useDesktopLayoutProps';\nimport type { HomeLinkProps } from '~/components/ConfigWrapper';\nimport { default as HeaderBackground } from '../../../assets/header/background.svg';\nimport { CLASS_NAMES } from './constants';\n\nexport interface DesktopLayoutDefaultProps {\n children?: JSX.Element | JSX.Element[];\n}\n\nconst DesktopLayoutDefault: FunctionComponent<DesktopLayoutDefaultProps> =\n function ({ children }) {\n const { Header, Footer } = useDesktopLayoutProps();\n\n const HeaderBackgroundTag =\n HeaderBackground as unknown as FunctionComponent<HomeLinkProps>;\n\n return (\n <div id=\"layout\" className={CLASS_NAMES.container}>\n <div className={CLASS_NAMES.background}>\n <HeaderBackgroundTag className={CLASS_NAMES.lines} />\n </div>\n <div className={CLASS_NAMES.headerWrapper}>{Header && <Header />}</div>\n {children}\n {Footer && <Footer />}\n </div>\n );\n };\n\nexport { default as DesktopLayoutDefaultContent } from './DesktopLayoutDefaultContent';\nexport { default as DesktopLayoutDefaultContentHeader } from './DesktopLayoutDefaultContentHeader';\n\nexport default DesktopLayoutDefault;\n", "import { ConfigWrapperContext } from '~/components/ConfigWrapper';\nimport { FunctionComponent, useContext } from 'react';\n\nexport interface DesktopLayoutPropsHook {\n Header: FunctionComponent;\n Footer: FunctionComponent;\n}\n\nexport default function useDesktopLayoutProps(): DesktopLayoutPropsHook {\n const { desktopHeader: Header, desktopFooter: Footer } =\n useContext(ConfigWrapperContext);\n\n return {\n Header: Header as FunctionComponent,\n Footer: Footer as FunctionComponent,\n };\n}\n", "export const CLASS_NAMES = {\n container: 'flex flex-col flex-1 w-screen min-h-vvp relative',\n background: 'absolute w-full',\n lines: 'absolute left-0 top-0 z-20',\n headerWrapper: 'mt-10 flex w-full px-8 xl:px-16',\n};\n\nexport const WRAPPER_CLASS_NAME =\n 'flex w-full flex-col max-w-screen-lg 2xl:max-w-screen-2xl m-auto';\n\nexport const CONTAINER_CLASS_NAME = 'px-8 2xl:px-52 flex flex-col w-full';\n", "import React, { FunctionComponent } from 'react';\nimport { CLASS_NAMES } from './constants';\n\nexport interface ContentProps {\n children?: JSX.Element | JSX.Element[];\n}\n\nconst DesktopLayoutDefaultContent: FunctionComponent<ContentProps> = function ({\n children,\n}) {\n return (\n <div className={CLASS_NAMES.container}>\n <div className={CLASS_NAMES.wrapper}>\n <div className={CLASS_NAMES.content}>{children}</div>\n </div>\n </div>\n );\n};\n\nexport default DesktopLayoutDefaultContent;\n", "import { WRAPPER_CLASS_NAME, CONTAINER_CLASS_NAME } from '../constants';\n\nexport const CLASS_NAMES = {\n container: `${CONTAINER_CLASS_NAME} flex-1`,\n wrapper: `${WRAPPER_CLASS_NAME} flex-1`,\n content: 'flex flex-1 w-full flex-col py-20',\n};\n", "import React, { FunctionComponent } from 'react';\nimport { CLASS_NAMES } from './constants';\n\nexport interface ContentHeaderDefaultProps {\n option?: JSX.Element;\n children?: JSX.Element | JSX.Element[];\n}\n\nconst DesktopLayoutDefaultContentHeader: FunctionComponent<ContentHeaderDefaultProps> =\n function ({ option, children }) {\n return (\n <>\n <div className={CLASS_NAMES.shadow} />\n <div className={CLASS_NAMES.container}>\n <div className={CLASS_NAMES.wrapper}>\n <div className={CLASS_NAMES.content}>\n {option && <div className={CLASS_NAMES.option}>{option}</div>}\n {children}\n </div>\n </div>\n </div>\n </>\n );\n };\n\nexport default DesktopLayoutDefaultContentHeader;\n", "import { WRAPPER_CLASS_NAME, CONTAINER_CLASS_NAME } from '../constants';\n\nexport const CLASS_NAMES = {\n container: CONTAINER_CLASS_NAME,\n wrapper: WRAPPER_CLASS_NAME,\n content: 'flex w-full flex-col h-52 mx-10 xl:mx-0 relative justify-center',\n option: 'absolute left-0 transform -translate-x-full pr-3 -mt-1',\n shadow:\n 'w-full h-80 absolute bg-neutral-50 transform skew-y-slide-up origin-0',\n};\n", "import React, { FunctionComponent } from 'react';\nimport type { BaseFadeProps } from './types';\nimport Container from './Container';\n\nexport interface FadeProps extends BaseFadeProps {\n children: JSX.Element | JSX.Element[];\n}\n\nconst Fade: FunctionComponent<FadeProps> = function ({ children, ...props }) {\n return (\n <Container {...props}>\n {({ className, onAnimationEnd }) => (\n <div className={className} onAnimationEnd={onAnimationEnd}>\n {children}\n </div>\n )}\n </Container>\n );\n};\n\nexport default Fade;\n", "import React, { FunctionComponent, useEffect, useState } from 'react';\nimport clsx from 'clsx';\nimport { opacitySuffix } from '~/components/Modal/helpers';\nimport type { OPACITIES } from '~/components/Modal/constants';\nimport type { BaseFadeProps } from './types';\n\nexport interface ContainerChildrenArgs {\n onAnimationEnd: () => void;\n className: string;\n}\n\nexport interface ContainerProps extends BaseFadeProps {\n children: (args: ContainerChildrenArgs) => JSX.Element;\n}\n\nconst Container: FunctionComponent<ContainerProps> = function ({\n show,\n className: initialClassName,\n opacity,\n children,\n onEnd,\n}) {\n const [shouldRender, setShouldRender] = useState(show);\n\n const onAnimationEnd = () => {\n if (show) return;\n setShouldRender(false);\n if (onEnd) onEnd();\n };\n\n useEffect(() => {\n if (show) setShouldRender(true);\n }, [show]);\n\n if (!shouldRender) return <></>;\n\n const suffix = opacitySuffix(opacity as typeof OPACITIES[number]);\n\n const className = clsx(\n '',\n initialClassName,\n show ? `animate-fade-in${suffix}` : `animate-fade-out${suffix}`,\n );\n\n return children({\n onAnimationEnd,\n className,\n });\n};\n\nexport default Container;\n", "import type { OPACITIES } from './constants';\n\n/*\n * Produces the opacity suffix for the modal backdrop\n *\n */\nexport const opacitySuffix = (opacity: typeof OPACITIES[number]): string => {\n try {\n // Type check on opacity, ensure it is an int\n const intOpacity = parseInt(opacity as unknown as string, 10);\n // Use modulo 100 to get correct fade increment -\n if ((100 + intOpacity) % 100) return `-${(100 + intOpacity) % 100}`;\n // If intOpacity is 100, we just returned an empty string as `fade-in` goes\n // from 0 to 100\n return '';\n } catch {\n return '';\n }\n};\n", "import React, { FunctionComponent } from 'react';\nimport type { BaseSlideLeftProps } from './types';\nimport Container from './Container';\n\nexport interface SlideLeftProps extends BaseSlideLeftProps {\n children: JSX.Element | JSX.Element[];\n}\n\nconst SlideLeft: FunctionComponent<SlideLeftProps> = function ({\n children,\n ...props\n}) {\n return (\n <Container {...props}>\n {({ className, onAnimationEnd }) => (\n <div className={className} onAnimationEnd={onAnimationEnd}>\n {children}\n </div>\n )}\n </Container>\n );\n};\n\nexport default SlideLeft;\n", "import React, { FunctionComponent, useEffect, useState } from 'react';\nimport clsx from 'clsx';\nimport type { BaseSlideLeftProps } from './types';\nimport { BASE_CLASSNAME } from './constants';\n\nexport interface ContainerChildrenArgs {\n onAnimationEnd: () => void;\n className: string;\n}\n\nexport interface ContainerProps extends BaseSlideLeftProps {\n children: (args: ContainerChildrenArgs) => JSX.Element;\n}\n\nconst Container: FunctionComponent<ContainerProps> = function ({\n show,\n className: initialClassName,\n children,\n onEnd,\n}) {\n const [shouldRender, setShouldRender] = useState(show);\n\n const onAnimationEnd = () => {\n if (show) return;\n setShouldRender(false);\n if (onEnd) onEnd();\n };\n\n useEffect(() => {\n if (show) setShouldRender(true);\n }, [show]);\n\n if (!shouldRender) return <></>;\n\n const className = clsx(\n BASE_CLASSNAME,\n initialClassName,\n show ? `animate-slide-left-in` : `animate-slide-left-out`,\n );\n\n return children({\n onAnimationEnd,\n className,\n });\n};\n\nexport default Container;\n", "export const BASE_CLASSNAME = 'w-full h-full transform';\n", "import Fade from './Fade';\nimport SlideLeft from './SlideLeft';\n\nconst Animations = {\n Fade,\n SlideLeft,\n};\n\nexport default Animations;\n", "import React, { FunctionComponent } from 'react';\nimport type { BaseAnimatedModalContainerProps } from './types';\nimport Container, {\n ContainerChildrenArgs,\n} from '~/components/Modal/AnimatedModalContainer/Container';\nimport Animations from '~/components/Animations';\n\nexport interface AnimatedModalContainerProps\n extends BaseAnimatedModalContainerProps {\n children: (\n args: Omit<ContainerChildrenArgs, 'backdropClassName'>,\n ) => JSX.Element;\n}\n\nconst AnimatedModalContainer: FunctionComponent<AnimatedModalContainerProps> =\n function ({ children, ...props }) {\n return (\n <Container {...props}>\n {({ backdropClassName, isVisible, ...rest }) => (\n <div className=\"w-vvp h-vvp\">\n <Animations.Fade show={isVisible}>\n <div className={backdropClassName} />\n </Animations.Fade>\n {children({\n isVisible,\n ...rest,\n })}\n </div>\n )}\n </Container>\n );\n };\n\nexport default AnimatedModalContainer;\n", "import React, { FunctionComponent } from 'react';\nimport ReactDOM from 'react-dom';\nimport { useRef, useState, useCallback, useContext, useEffect } from 'react';\nimport clsx from 'clsx';\n\nimport { BACKDROP_CLASS_NAME, ESC_KEY } from '../constants';\nimport { opacitySuffix } from '../helpers';\nimport { useOuterClick } from '~/hooks';\nimport { Context as ModalsWrapperContext } from '~/components/ModalsWrapper';\nimport type { OuterClickHook } from '~/hooks/useOuterClick';\nimport type { BaseAnimatedModalContainerProps } from './types';\nimport { getDocument } from '~/common/helpers';\n\nexport interface ContainerChildrenArgs {\n isShown: boolean;\n backdropClassName: string;\n isVisible: boolean;\n handleClose: () => void;\n hideModal: () => void;\n ref: OuterClickHook;\n}\n\nexport interface ContainerProps extends BaseAnimatedModalContainerProps {\n children: (args: ContainerChildrenArgs) => JSX.Element;\n}\n\nconst Container: FunctionComponent<ContainerProps> = function ({\n id,\n opacity,\n children,\n}) {\n const { visibleAnimatedModals: visibleModals, hideAnimatedModal: hideModal } =\n useContext(ModalsWrapperContext);\n\n const [isVisible, setIsVisible] = useState(visibleModals.indexOf(id) !== -1);\n const isShown = visibleModals.indexOf(id) !== -1;\n\n const suffix = opacitySuffix(opacity);\n\n const backdropClassName = clsx(BACKDROP_CLASS_NAME, `opacity${suffix}`);\n\n const modalsRef = useRef(visibleModals);\n\n /*\n * Handles close logic\n */\n const handleClose = useCallback(() => {\n setIsVisible(false);\n }, []);\n\n /*\n * Uses hook to call close when the click is outside of modal\n */\n const ref = useOuterClick(handleClose);\n\n const onHide = useCallback(() => {\n hideModal(id);\n setIsVisible(false);\n modalsRef.current = [];\n }, [hideModal, id]);\n\n /**\n * Hiddes last modal when ESC key is pressed\n */\n useEffect(() => {\n const handleEsc = (event: KeyboardEvent) => {\n if (event.keyCode === ESC_KEY) {\n setIsVisible(false);\n }\n };\n window.addEventListener('keydown', handleEsc);\n\n return () => {\n window.removeEventListener('keydown', handleEsc);\n };\n }, []);\n\n useEffect(() => {\n if (modalsRef.current.indexOf(id) === -1 && isShown) {\n setIsVisible(true);\n modalsRef.current = visibleModals;\n }\n }, [id, isShown, visibleModals]);\n\n if (!isShown) {\n return <></>;\n }\n\n /*\n * Uses portal to move modal \"modals\" div on root so it would not have problems with z-index\n */\n return ReactDOM.createPortal(\n children({\n isShown,\n backdropClassName,\n isVisible,\n handleClose,\n hideModal: onHide,\n ref,\n }),\n getDocument()?.getElementById('modals') as HTMLElement,\n );\n};\n\nContainer.displayName = 'AnimatedModalContainer-Container';\n\nexport default Container;\n", "export const OPACITIES = [\n 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95,\n 100,\n] as const;\n\n// This isn't great but we cannot do this dynamically as tailwind fails to pick\n// up the needed classes due to JIT compilation.\nexport const OPACITY_CLASS_NAMES: Record<number, string> = {\n 5: 'opacity-5',\n 10: 'opacity-10',\n 15: 'opacity-15',\n 20: 'opacity-20',\n 25: 'opacity-25',\n 30: 'opacity-30',\n 35: 'opacity-35',\n 40: 'opacity-40',\n 45: 'opacity-45',\n 50: 'opacity-50',\n 55: 'opacity-55',\n 60: 'opacity-60',\n 65: 'opacity-65',\n 70: 'opacity-70',\n 75: 'opacity-75',\n 80: 'opacity-80',\n 85: 'opacity-85',\n 90: 'opacity-90',\n 95: 'opacity-95',\n 100: 'opacity-100',\n};\n\nexport const BACKDROP_CLASS_NAME = 'fixed bg-neutral-900 w-full h-full';\n\nexport const ESC_KEY = 27;\n", "import React, {\n createContext,\n Dispatch,\n FunctionComponent,\n SetStateAction,\n} from 'react';\nimport { SkeletonTheme } from 'react-loading-skeleton';\nimport useModalsWrapper from './hooks/useModalsWrapper';\nimport Loader from './Loader';\n\ninterface SkeletonThemeProps {\n color?: string;\n highlightColor?: string;\n children?: JSX.Element | JSX.Element[];\n}\n\nexport interface ModalsWrapperContextValue {\n visibleModals: string[];\n visibleAnimatedModals: string[];\n showLoader?: boolean;\n showAnimatedModal: (modalId: string) => void;\n hideAnimatedModal: (modalId: string) => void;\n showModal: (modalId: string) => void;\n hideModal: (modalId: string) => void;\n setShowLoader: Dispatch<SetStateAction<boolean>>;\n}\n\nexport interface ModalsWrapperProps {\n children: JSX.Element | JSX.Element[];\n}\n\nexport const ModalsWrapperContext = createContext<ModalsWrapperContextValue>({\n visibleModals: [],\n visibleAnimatedModals: [],\n showLoader: false,\n showAnimatedModal: () => true,\n hideAnimatedModal: () => true,\n showModal: () => true,\n hideModal: () => true,\n setShowLoader: () => true,\n});\n\nconst Context = ModalsWrapperContext;\n\nexport { Context };\n\nconst ModalsWrapper: FunctionComponent<ModalsWrapperProps> = function ({\n children,\n}) {\n const { showLoader, ...values } = useModalsWrapper();\n\n const SkeletonThemeTag =\n SkeletonTheme as unknown as FunctionComponent<SkeletonThemeProps>;\n\n return (\n <SkeletonThemeTag color=\"#F4F6FA\" highlightColor=\"#E7EBF4\">\n <Loader isLoading={showLoader} />\n <ModalsWrapperContext.Provider value={values}>\n {children}\n </ModalsWrapperContext.Provider>\n </SkeletonThemeTag>\n );\n};\n\nexport default ModalsWrapper;\n", "import { type Dispatch, type SetStateAction, useState } from 'react';\nimport useModals, { type ModalsHook } from './useModals';\nimport useAnimatedModals, {\n type AnimatedModalsHook,\n} from './useAnimatedModals';\nimport useViewportVariables from './useViewportVariables';\n\ntype ChildModalHooks = ModalsHook & AnimatedModalsHook;\n\nexport interface ModalsWrapperHook extends ChildModalHooks {\n showLoader: boolean;\n setShowLoader: Dispatch<SetStateAction<boolean>>;\n}\n\nexport default function useModalsWrapper(): ModalsWrapperHook {\n useViewportVariables();\n\n const [showLoader, setShowLoader] = useState(false);\n\n const contextValues = useModals();\n const animatedContextValues = useAnimatedModals();\n\n return {\n showLoader,\n setShowLoader,\n ...contextValues,\n ...animatedContextValues,\n };\n}\n", "import { useCallback, useState, useEffect, useRef } from 'react';\n\nimport { ESC_KEY } from '../constants';\n\nexport interface ModalsHook {\n showModal: (modalId: string) => void;\n hideModal: (modalId: string) => void;\n visibleModals: string[];\n}\n\nexport default function useModals(): ModalsHook {\n const [visibleModals, setVisibleModals] = useState<string[]>([]);\n const [modalsUpdated, setModalsUpdate] = useState<number>();\n\n const visibleModalsRef = useRef<string[]>([]);\n\n /**\n * Sets modal to visible\n * @param {string} modalId - id of modal\n */\n const showModal = useCallback((modalId: string) => {\n const isVisible = visibleModalsRef.current.includes(modalId);\n\n if (isVisible) {\n return;\n }\n\n visibleModalsRef.current = [...visibleModalsRef.current, modalId];\n setModalsUpdate(Math.random());\n }, []);\n\n /**\n * Sets modal to hidden\n * @param {string} modalId - id of modal\n */\n const hideModal = useCallback((modalId: string) => {\n const isVisible = visibleModalsRef.current.includes(modalId);\n\n if (!isVisible) {\n return;\n }\n\n const newVisibleModals = visibleModalsRef.current.filter(\n (modal) => modal !== modalId,\n );\n\n visibleModalsRef.current = newVisibleModals;\n setModalsUpdate(Math.random());\n }, []);\n\n /**\n * Hiddes last modal when ESC key is pressed\n */\n useEffect(() => {\n const handleEsc = (event: KeyboardEvent) => {\n if (event.keyCode === ESC_KEY) {\n if (visibleModalsRef.current.length === 0) {\n return;\n }\n\n const lastModal = [...visibleModalsRef.current].pop();\n hideModal(lastModal as string);\n }\n };\n window.addEventListener('keydown', handleEsc);\n\n return () => {\n window.removeEventListener('keydown', handleEsc);\n };\n }, [hideModal]);\n\n /**\n * Update state from ref\n */\n useEffect(() => {\n setVisibleModals(visibleModalsRef.current);\n }, [modalsUpdated]);\n\n return {\n showModal,\n hideModal,\n visibleModals,\n };\n}\n", "import { useCallback, useState, useEffect, useRef } from 'react';\n\nexport interface AnimatedModalsHook {\n showAnimatedModal: (modalId: string) => void;\n hideAnimatedModal: (modalId: string) => void;\n visibleAnimatedModals: string[];\n}\n\n/**\n * Aninmated modals context values hook\n */\nexport default function useAnimatedModals(): AnimatedModalsHook {\n const [visibleAnimatedModals, setVisibleAnimatedModals] = useState<string[]>(\n [],\n );\n const [animatedModalsUpdated, setAnimatedModalsUpdate] = useState<number>();\n\n const visibleAnimatedModalsRef = useRef<string[]>([]);\n\n /**\n * Sets modal to visible\n * @param {string} modalId - id of modal\n */\n const showAnimatedModal = useCallback((modalId: string) => {\n const isVisible = visibleAnimatedModalsRef.current.includes(modalId);\n\n if (isVisible) {\n return;\n }\n\n visibleAnimatedModalsRef.current = [\n ...visibleAnimatedModalsRef.current,\n modalId,\n ];\n setAnimatedModalsUpdate(Math.random());\n }, []);\n\n /**\n * Sets modal to hidden\n * @param {string} modalId - id of modal\n */\n const hideAnimatedModal = useCallback((modalId: string) => {\n const isVisible = visibleAnimatedModalsRef.current.includes(modalId);\n\n if (!isVisible) {\n return;\n }\n\n const newVisibleModals = visibleAnimatedModalsRef.current.filter(\n (modal) => modal !== modalId,\n );\n\n visibleAnimatedModalsRef.current = newVisibleModals;\n setAnimatedModalsUpdate(Math.random());\n }, []);\n\n /**\n * Update state from ref\n */\n useEffect(() => {\n setVisibleAnimatedModals(visibleAnimatedModalsRef.current);\n }, [animatedModalsUpdated]);\n\n return {\n showAnimatedModal,\n hideAnimatedModal,\n visibleAnimatedModals,\n };\n}\n", "import { useCallback, useEffect, useRef } from 'react';\nimport { getDocument, getWindow } from '~/common/helpers';\n\nexport interface Viewport {\n w?: number;\n h?: number;\n}\n\nexport default function useViewportVariables(): void {\n const styleElement = useRef<HTMLElement>();\n const window = getWindow();\n const enabled = useRef(typeof window?.innerHeight === 'number');\n\n const innerViewport = useRef<Viewport>({ w: 0, h: 0 });\n const outerViewport = useRef<Viewport>({ w: 0, h: 0 });\n\n /**\n * Calculates new viewport\n */\n const calculateViewport = useCallback(\n () =>\n new Promise((resolve, reject) => {\n if (!enabled.current) {\n return reject(\n new Error('Could not calculate window?.visualViewport'),\n );\n }\n\n innerViewport.current.w = window?.innerWidth;\n innerViewport.current.h = window?.innerHeight;\n\n outerViewport.current.w = window?.outerWidth;\n outerViewport.current.h = window?.outerHeight;\n\n return resolve(true);\n }),\n [],\n );\n\n /**\n * Stores viewport as css variables\n */\n const setViewport = useCallback(() => {\n if (styleElement.current) {\n styleElement.current.innerHTML = `\n :root {\n --100vvw: ${Math.min(\n innerViewport.current.w || 0,\n outerViewport.current.w || 0,\n )}px;\n --100vvh: ${Math.min(\n innerViewport.current.h || 0,\n outerViewport.current.h || 0,\n )}px;\n\n --offset-w: ${\n (outerViewport.current.w || 0) - (innerViewport.current.w || 0)\n }px;\n --offset-h: ${\n (outerViewport.current.h || 0) - (innerViewport.current.h || 0)\n }px;\n }\n `;\n }\n }, []);\n\n /**\n * Calculates and then stores viewport\n */\n const refresh = useCallback(() => {\n calculateViewport().then(setViewport);\n }, [calculateViewport, setViewport]);\n\n /**\n * Created and style tag on html head element\n */\n useEffect(() => {\n const styleId = 'viewport_fix_variables';\n if (!getDocument()) {\n return;\n }\n\n const exists = document.getElementById(styleId);\n\n if (exists) return;\n\n const styleTag = document.createElement('style');\n\n styleTag.id = styleId;\n\n styleElement.current = styleTag;\n\n document.head.prepend(styleTag);\n }, []);\n\n /**\n * Listens to resize to call refresh, and removes listener on dismount\n */\n useEffect(() => {\n if (!enabled.current) {\n return;\n }\n\n refresh();\n\n window?.visualViewport?.addEventListener('resize', refresh);\n\n return () => {\n window?.visualViewport?.removeEventListener('resize', refresh);\n };\n }, [refresh]);\n}\n", "export const getWindow = (): Window | undefined => {\n if (typeof window === 'undefined') {\n return undefined;\n }\n\n return window;\n};\n\nexport const getDocument = (): Document | undefined => {\n if (typeof document === 'undefined') {\n return undefined;\n }\n\n return document;\n};\n", "import React, { FunctionComponent } from 'react';\nimport LoaderContainer from './LoaderContainer';\n\nexport interface LoaderProps {\n isLoading: boolean;\n}\n\nconst Loader: FunctionComponent<LoaderProps> = function ({ isLoading }) {\n return (\n <LoaderContainer isLoading={isLoading}>\n {({ width, classNames }) => (\n <>\n {isLoading && <div className={classNames.overlay} />}\n <div data-cy=\"loader\" className={classNames.container}>\n <div className={classNames.bar} style={{ width }} />\n </div>\n </>\n )}\n </LoaderContainer>\n );\n};\n\nexport default Loader;\n", "import React, {\n type FunctionComponent,\n useState,\n useRef,\n useEffect,\n} from 'react';\nimport ReactDOM from 'react-dom';\nimport clsx from 'clsx';\nimport { useDebounce } from 'use-debounce';\nimport {\n SLOW_ANIMATION,\n FAST_ANIMATION,\n WIDTHS,\n FAST_ANIMATION_SPEED,\n INITIAL_DELAY,\n CLASS_NAMES,\n DEBOUNCE_INTERVAL,\n} from './constants';\nimport { getDocument } from '~/common/helpers';\n\ninterface LoaderContainerChildrenArgs {\n width: string;\n classNames: {\n bar: string;\n overlay: string;\n container: string;\n };\n}\n\nexport interface LoaderContainerProps {\n isLoading: boolean;\n children: (args: LoaderContainerChildrenArgs) => JSX.Element;\n}\n\nconst LoaderContainer: FunctionComponent<LoaderContainerProps> = function ({\n children,\n isLoading,\n}) {\n const loaded = useRef(false);\n\n const [animate, setAnimate] = useState(SLOW_ANIMATION);\n const [width, setWidth] = useState(WIDTHS.START);\n\n const [debouncedLoading] = useDebounce(isLoading, DEBOUNCE_INTERVAL);\n\n /**\n * Creates css animations when isLoading is true\n * and resets the state after it's completed\n */\n useEffect(() => {\n if (debouncedLoading) {\n // starts the fake animation to given percentage\n setTimeout(() => {\n loaded.current = true;\n setAnimate(SLOW_ANIMATION);\n setWidth(WIDTHS.LOADING);\n }, INITIAL_DELAY);\n return;\n }\n\n if (loaded.current) {\n // starts a fast animation to 100%\n setAnimate(FAST_ANIMATION);\n setWidth(WIDTHS.COMPLETE);\n loaded.current = false;\n setTimeout(() => {\n // resets the state to initial values after animation is complete\n setAnimate('');\n setWidth(WIDTHS.START);\n }, FAST_ANIMATION_SPEED);\n return;\n }\n\n // resets the state to initial values\n setAnimate('');\n setWidth(WIDTHS.START);\n }, [debouncedLoading]);\n\n const { baseBar, ...classNames } = CLASS_NAMES;\n\n const bar = clsx(baseBar, animate);\n\n const modals = getDocument()?.getElementById('modals');\n\n if (!modals) return <></>;\n\n return ReactDOM.createPortal(\n children({\n width,\n classNames: {\n ...classNames,\n bar,\n },\n }),\n getDocument()?.getElementById('modals') as HTMLElement,\n );\n};\n\nexport default LoaderContainer;\n", "export const SLOW_ANIMATION = 'duration-3000 transition-all ease';\n\nexport const FAST_ANIMATION_SPEED = 300;\n\nexport const INITIAL_DELAY = 50;\n\nexport const FAST_ANIMATION = 'duration-300 transition-all ease';\n\nexport const WIDTHS = {\n START: '0%',\n LOADING: '75%',\n COMPLETE: '100%',\n};\n\nexport const CLASS_NAMES = {\n overlay: 'fixed top-0 bottom-0 right-0 left-0 z-40',\n container: 'fixed bottom-0 right-0 left-0 z-50',\n baseBar: 'bg-gradient-to-r from-blue-200 to-turquoise-300 h-2',\n};\n\nexport const DEBOUNCE_INTERVAL = 100;\n", "import React, { FunctionComponent } from 'react';\nimport { default as Background } from '../../assets/images/banner-background.svg';\nimport { CLASS_NAMES } from './constants';\nimport type { HomeLinkProps } from '~/components/ConfigWrapper';\nimport clsx from 'clsx';\n\nexport interface BannerProps {\n children?: JSX.Element | JSX.Element[];\n hideBackgroundOnMobile?: boolean;\n}\n\nconst Banner: FunctionComponent<BannerProps> = function ({\n children,\n hideBackgroundOnMobile = false,\n}) {\n const BackgroundTag =\n Background as unknown as FunctionComponent<HomeLinkProps>;\n\n return (\n <div className={CLASS_NAMES.container}>\n <BackgroundTag\n className={clsx(\n CLASS_NAMES.background,\n hideBackgroundOnMobile && CLASS_NAMES.backgroundHiddenOnMobile,\n )}\n />\n {children}\n </div>\n );\n};\n\nexport default Banner;\n", "import * as React from \"react\";\nconst SvgBannerBackground = props => <svg width={1043} height={331} viewBox=\"0 0 1043 331\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><g clipPath=\"url(#clip0_2852_52685)\"><rect opacity={0.2} width={538.177} height={298.987} transform=\"matrix(-0.997859 0.0654031 0 -1 1069.24 521.606)\" fill=\"#27DEBF\" /><rect opacity={0.2} width={538.177} height={298.987} transform=\"matrix(-0.997859 0.0654031 0 -1 952 529.3)\" fill=\"#27DEBF\" /><rect opacity={0.2} width={538.177} height={298.987} transform=\"matrix(-0.997859 0.0654031 0 -1 1129.04 510.987)\" fill=\"url(#paint0_linear_2852_52685)\" /><rect opacity={0.6} width={543.451} height={298.987} transform=\"matrix(-0.997859 0.0654031 0 -1 1129.04 523.896)\" fill=\"#27DEBF\" /></g><defs><linearGradient id=\"paint0_linear_2852_52685\" x1={-0.00000678272} y1={-35.0811} x2={529.868} y2={-86.2458} gradientUnits=\"userSpaceOnUse\"><stop stopColor=\"#27DEBF\" /><stop offset={1} stopColor=\"#27DEBF\" stopOpacity={0} /></linearGradient><clipPath id=\"clip0_2852_52685\"><rect width={1043} height={331} fill=\"white\" transform=\"translate(1043 331) rotate(-180)\" /></clipPath></defs></svg>;\nexport default SvgBannerBackground;", "export const CLASS_NAMES = {\n container:\n 'relative flex p-4 bg-turquoise-100 rounded-lg min-h-28 overflow-hidden',\n background: 'absolute -right-px -bottom-22 md:-bottom-18',\n backgroundHiddenOnMobile: 'hidden md:block',\n};\n", "import React, { FunctionComponent } from 'react';\nimport useIsDesktop from '~/hooks/useIsDesktop';\n\nexport interface BreakPointsProps {\n /**\n * Desktop node(s) to display\n */\n desktop?: JSX.Element | string;\n /**\n * Mobile node(s) to display\n */\n mobile?: JSX.Element | string;\n}\n\nconst BreakPoints: FunctionComponent<BreakPointsProps> = function ({\n desktop,\n mobile,\n}) {\n const isDesktop = useIsDesktop();\n\n return <>{isDesktop ? desktop : mobile}</>;\n};\n\nexport default BreakPoints;\n", "import React, { FunctionComponent } from 'react';\nimport type { CardProps } from './types';\nimport useCardProps from '~/components/Card/useCardProps';\nimport CardContent from '~/components/Card/CardContent';\nimport CardFooter from '~/components/Card/CardFooter';\nimport CardTitle from '~/components/Card/CardTitle';\nimport CardOption from '~/components/Card/CardOption';\nimport type { SkeletonLoaderProps } from '~/components/SkeletonLoader';\n\nconst Card: FunctionComponent<CardProps> = function ({\n children = null,\n option,\n title,\n footer,\n footerOptions = [],\n isLoading = false,\n showLoadingSkeleton,\n className,\n padding = 'py-5 px-4',\n noContent = false,\n variant = 'default',\n fullHeightContent = false,\n ...restProps\n}) {\n const { classNames, showFooter } = useCardProps({\n className,\n padding,\n noContent,\n variant,\n title,\n footer,\n footerOptions,\n isLoading,\n showLoadingSkeleton,\n });\n\n return (\n <div className={classNames.container} {...restProps}>\n <div className={classNames.header}>\n <CardTitle\n title={title as JSX.Element | string}\n isLoading={isLoading}\n skeleton={showLoadingSkeleton?.title}\n />\n <CardOption\n option={option as JSX.Element | string}\n isLoading={isLoading}\n skeleton={\n showLoadingSkeleton?.option as unknown as SkeletonLoaderProps\n }\n />\n </div>\n <CardContent\n content={children as JSX.Element | string}\n isLoading={isLoading}\n fullHeightContent={fullHeightContent}\n skeleton={\n showLoadingSkeleton?.content as unknown as SkeletonLoaderProps\n }\n />\n {showFooter && (\n <CardFooter\n footer={footer as JSX.Element | string | null}\n footerOptions={footerOptions as JSX.Element[]}\n isLoading={isLoading}\n footerSkeleton={\n showLoadingSkeleton?.footer as unknown as SkeletonLoaderProps\n }\n footerOptionsSkeleton={\n showLoadingSkeleton?.footerOptions as unknown as SkeletonLoaderProps\n }\n />\n )}\n </div>\n );\n};\n\nexport default Card;\n", "export const CARD_CLASS_NAMES = {\n baseContainer: {\n base: 'flex-col flex text-neutral-600 w-full',\n '@variant': {\n default: 'border rounded-xl border-solid border-neutral-200',\n },\n },\n headerBase: 'flex flex-row space-between w-full',\n headerMargin: 'mb-2.5',\n};\n", "import { useClasses } from '~/hooks';\nimport type { StringIndexedObject } from '~/types';\nimport { CARD_CLASS_NAMES } from './constants';\nimport type { CardProps } from './types';\n\nexport type CardPropsHookArgs = Omit<CardProps, 'children' | 'option'>;\n\nexport interface CardPropsHook {\n classNames: StringIndexedObject<string>;\n showFooter: boolean;\n}\n\nexport default function useCardProps({\n className,\n padding,\n footerOptions,\n noContent,\n footer,\n title,\n isLoading,\n showLoadingSkeleton,\n variant,\n}: CardPropsHookArgs): CardPropsHook {\n const showHeaderMargin =\n !noContent && (title || (isLoading && showLoadingSkeleton?.title));\n\n const classNames = useClasses(CARD_CLASS_NAMES, {\n variants: {\n variant,\n },\n container: ['.baseContainer', padding, className],\n header: ['.headerBase', showHeaderMargin && '.headerMargin'],\n });\n\n const showFooter =\n footer ||\n (footerOptions as string | JSX.Element[]).length > 0 ||\n (isLoading && showLoadingSkeleton?.footer) ||\n (isLoading && showLoadingSkeleton?.footerOptions);\n\n return {\n classNames,\n showFooter: showFooter as boolean,\n };\n}\n0;\n", "import React, { FunctionComponent } from 'react';\nimport type { SkeletonLoaderProps } from '~/components/SkeletonLoader';\nimport Section from '~/components/Card/CardSection';\nimport { CLASSNAME, SKELETON } from './constants';\nimport clsx from 'clsx';\n\nexport interface CardContentProps {\n content?: JSX.Element | string;\n isLoading?: boolean;\n skeleton?: SkeletonLoaderProps | false;\n fullHeightContent?: boolean;\n}\n\nconst CardContent: FunctionComponent<CardContentProps> = function ({\n skeleton = false,\n fullHeightContent = false,\n ...props\n}) {\n return (\n <Section\n skeletonProps={{\n ...SKELETON,\n ...(skeleton || {}),\n }}\n className={clsx(CLASSNAME, fullHeightContent && 'h-full')}\n {...props}\n />\n );\n};\n\nexport default CardContent;\n", "import React, { FunctionComponent } from 'react';\nimport type { SkeletonLoaderProps } from '~/components/SkeletonLoader';\nimport SkeletonLoader from '~/components/SkeletonLoader';\n\nexport interface CardSectionProps {\n skeletonProps: SkeletonLoaderProps;\n className: string;\n content?: JSX.Element | string;\n isLoading?: boolean;\n}\n\nconst CardSection: FunctionComponent<CardSectionProps> = function ({\n content,\n isLoading = false,\n skeletonProps,\n className,\n}) {\n return (\n <div className={className}>\n <SkeletonLoader\n isLoading={isLoading && !!skeletonProps}\n {...skeletonProps}\n afterLoading={content}\n />\n </div>\n );\n};\n\nCardSection.displayName = 'Card-CardSection';\n\nexport default CardSection;\n", "export const SKELETON = {\n height: 14,\n};\n\nexport const CLASSNAME = 'text-style-h w-full';\n", "import React, { FunctionComponent } from 'react';\nimport SkeletonLoader, {\n SkeletonLoaderProps,\n} from '~/components/SkeletonLoader';\nimport { CLASSNAME, SKELETON } from './constants';\nimport Options from './CardOptions';\n\nexport interface CardFooterProps {\n /**\n * Item footer\n */\n footer?: JSX.Element | string | null;\n /**\n * Item footer options\n */\n footerOptions?: JSX.Element[];\n /**\n * Data is loading state\n */\n isLoading?: boolean;\n /**\n * Skeleton props for footer\n */\n footerSkeleton?: SkeletonLoaderProps | null;\n /**\n * Skeleton props for footer options\n */\n footerOptionsSkeleton?: SkeletonLoaderProps;\n}\n\nconst CardFooter: FunctionComponent<CardFooterProps> = function ({\n footer = null,\n footerOptions = [],\n isLoading = false,\n footerSkeleton = null,\n footerOptionsSkeleton = {},\n}) {\n return (\n <div className={CLASSNAME}>\n <SkeletonLoader\n isLoading={isLoading && !!footerSkeleton}\n {...SKELETON}\n {...footerSkeleton}\n afterLoading={footer}\n />\n <Options\n footer={!!footer || !!footerSkeleton}\n footerOptions={footerOptions}\n isLoading={isLoading && !!footerOptionsSkeleton}\n footerOptionsSkeleton={footerOptionsSkeleton}\n />\n </div>\n );\n};\n\nexport default CardFooter;\n", "export const SKELETON = {\n width: 80,\n height: 12,\n};\n\nexport const CLASSNAME =\n 'mt-2.5 text-style-h-em text-neutral-900 flex flex-start flex-wrap align-center items-center';\n", "import React, { FunctionComponent } from 'react';\nimport type { SkeletonLoaderProps } from '~/components/SkeletonLoader';\nimport useOptions from './useOptions';\nimport { CLASSNAMES, SKELETON } from './constants';\nimport SkeletonLoader from '~/components/SkeletonLoader';\n\nexport interface CardOptionsProps {\n /**\n * Whether the footer is visible\n */\n footer?: boolean;\n /**\n * Item footer options\n */\n footerOptions?: JSX.Element[];\n /**\n * Data is loading state\n */\n isLoading?: boolean;\n /**\n * Skeleton props for footer options\n */\n footerOptionsSkeleton?: SkeletonLoaderProps;\n}\n\nconst CardOptions: FunctionComponent<CardOptionsProps> = function ({\n footer,\n footerOptions = [],\n isLoading = false,\n footerOptionsSkeleton = {},\n}) {\n const options = useOptions(\n isLoading,\n footer,\n footerOptions,\n footerOptionsSkeleton,\n );\n\n const skeletonProps = footerOptionsSkeleton || SKELETON;\n\n return (\n <>\n {options.map((option) => (\n <React.Fragment key={option.key}>\n {option.showDot && <span className={CLASSNAMES.dot} />}\n <span className={CLASSNAMES.option}>\n <SkeletonLoader\n isLoading={isLoading && !!footerOptionsSkeleton}\n {...skeletonProps}\n afterLoading={option.content}\n />\n </span>\n </React.Fragment>\n ))}\n </>\n );\n};\n\nexport default CardOptions;\n", "/**\n * function to decide whether to show or not the separation dot\n * @param index - index of item\n * @param footer - footer element\n */\nexport const showDot = (index?: number, footer?: boolean): boolean => {\n if (index === 0 && !footer) {\n return false;\n }\n\n return true;\n};\n", "import type { CardFooterOption } from './types';\nimport { showDot } from '~/components/Card/helpers';\nimport type { SkeletonLoaderProps } from '~/components/SkeletonLoader';\n\nexport default function useOptions(\n isLoading?: boolean,\n footer?: boolean,\n footerOptions: JSX.Element[] = [],\n skeletonProps?: SkeletonLoaderProps,\n): CardFooterOption[] {\n const options =\n isLoading && skeletonProps\n ? [\n {\n key: 'skeleton',\n showDot: showDot(0, footer),\n content: '',\n },\n ]\n : footerOptions.map((option, i) => ({\n key: `option-${i}`,\n showDot: showDot(i, footer),\n content: option,\n }));\n\n return options;\n}\n", "export const SKELETON = {\n width: 80,\n height: 12,\n};\n\nexport const CLASSNAMES = {\n option:\n 'text-style-h text-neutral-500 flex flex-row items-center align-center',\n dot: 'block w-0.75 h-0.75 rounded-full bg-neutral-400 mx-2',\n};\n", "import React, { FunctionComponent } from 'react';\nimport type { SkeletonLoaderProps } from '~/components/SkeletonLoader';\nimport Section from '~/components/Card/CardSection';\nimport { CLASSNAME, SKELETON } from './constants';\n\nexport interface CardTitleProps {\n title?: JSX.Element | string;\n isLoading?: boolean;\n skeleton?: SkeletonLoaderProps | boolean;\n}\n\nconst CardTitle: FunctionComponent<CardTitleProps> = function ({\n skeleton = false,\n title,\n ...props\n}) {\n return (\n <Section\n skeletonProps={{\n ...SKELETON,\n ...(typeof skeleton !== 'boolean' ? skeleton : {}),\n }}\n className={CLASSNAME}\n {...props}\n content={title}\n />\n );\n};\n\nexport default CardTitle;\n", "export const SKELETON = {\n width: 120,\n height: 14,\n};\n\nexport const CLASSNAME = 'text-style-g-em text-neutral-900 flex flex-1 w-full';\n", "import React, { FunctionComponent } from 'react';\nimport type { SkeletonLoaderProps } from '~/components/SkeletonLoader';\nimport Section from '~/components/Card/CardSection';\nimport { CLASSNAME, SKELETON } from './constants';\n\nexport interface CardOptionProps {\n option?: JSX.Element | string;\n isLoading?: boolean;\n skeleton?: SkeletonLoaderProps | false;\n}\n\nconst CardOption: FunctionComponent<CardOptionProps> = function ({\n skeleton = false,\n option,\n ...props\n}) {\n return (\n <Section\n skeletonProps={{\n ...SKELETON,\n ...(skeleton || {}),\n }}\n className={CLASSNAME}\n {...props}\n content={option}\n />\n );\n};\n\nexport default CardOption;\n", "export const SKELETON = {\n width: 80,\n height: 14,\n};\n\nexport const CLASSNAME = 'ml-4';\n", "import React, { FunctionComponent } from 'react';\nimport FrontChatWidget from '~/components/FrontChatWidget';\nimport ToastContainer from '~/components/ToastContainer';\nimport Recaptcha from '~/components/Recaptcha';\nimport ModalsWrapper, {\n type ModalsWrapperProps,\n} from '~/components/ModalsWrapper';\n\nexport interface CommonWrapperProps extends ModalsWrapperProps {\n children: JSX.Element | JSX.Element[];\n showHelp?: boolean;\n recaptcha?: boolean;\n}\n\nconst CommonWrapper: FunctionComponent<CommonWrapperProps> = function ({\n children,\n showHelp = true,\n recaptcha = false,\n}) {\n return (\n <ModalsWrapper>\n <>\n {showHelp && <FrontChatWidget />}\n {recaptcha && <Recaptcha />}\n <ToastContainer />\n <>{children}</>\n </>\n </ModalsWrapper>\n );\n};\n\nexport default CommonWrapper;\n", "import { FunctionComponent, useCallback, useEffect, useRef } from 'react';\n\nimport { SCRIPT_BUNDLE } from './constants';\nimport { FRONT_ENVIRONMENT_KEY } from '~/config';\n\nconst FrontChatWidget: FunctionComponent = function () {\n const timerRef = useRef<NodeJS.Timer | null>(null);\n const init = useCallback(() => {\n if (!window.FrontChat) {\n timerRef.current = setTimeout(() => init(), 100);\n return;\n }\n clearTimeout(timerRef.current as unknown as number);\n window.FrontChat('init', {\n chatId: FRONT_ENVIRONMENT_KEY,\n useDefaultLauncher: false,\n });\n }, []);\n\n const bundleRef = useRef<boolean>(false);\n useEffect(() => {\n if (bundleRef.current) return;\n const s1 = document.createElement('script');\n s1.type = 'text/javascript';\n s1.src = SCRIPT_BUNDLE;\n document.head.appendChild(s1);\n\n init();\n }, [init]);\n\n return null;\n};\n\nexport default FrontChatWidget;\n", "export const SCRIPT_BUNDLE =\n 'https://chat-assets.frontapp.com/v1/chat.bundle.js';\n", "import React, { FunctionComponent } from 'react';\nimport {\n ToastContainer as ReactToastifyToastContainer,\n type ToastContainerProps,\n} from 'react-toastify';\nimport useToastContainerState from '~/components/ToastContainer/useToastContainerState';\n\nconst ToastContainer: FunctionComponent<ToastContainerProps> = function (\n props,\n) {\n const state = useToastContainerState(props);\n\n return <ReactToastifyToastContainer {...state} />;\n};\n\nexport default ToastContainer;\n", "import { Slide } from 'react-toastify';\nimport CloseButton from '~/hooks/useToast/CloseButton';\n\nexport const INITIAL_STATE = {\n position: 'bottom-center',\n autoClose: 5000,\n hideProgressBar: false,\n pauseOnHover: true,\n pauseOnFocusLoss: true,\n closeOnClick: false,\n newestOnTop: true,\n draggable: false,\n closeButton: CloseButton,\n transition: Slide,\n theme: 'colored',\n icon: false,\n};\n", "import React, { type FunctionComponent } from 'react';\nimport * as Button from '~/components/Button';\nimport type { ButtonOnClick } from '~/types';\n\nexport interface CloseButtonProps {\n closeToast: ButtonOnClick;\n}\n\nconst CloseButton: FunctionComponent<CloseButtonProps> = function ({\n closeToast,\n}) {\n return (\n <Button.Icon\n id=\"hide-toast\"\n icon=\"close\"\n variant=\"ghost-grey\"\n size=\"32-16\"\n onClick={closeToast}\n className=\"min-w-8\"\n />\n );\n};\n\nexport default CloseButton;\n", "import type { ToastContainerProps } from 'react-toastify';\nimport { INITIAL_STATE } from './constants';\n\nexport interface Hook {}\n\nexport default function useToastContainerState(\n props: ToastContainerProps,\n): Hook {\n const state = {\n ...INITIAL_STATE,\n ...props,\n };\n\n return state;\n}\n", "import { FunctionComponent, useEffect, useRef } from 'react';\n\nimport { SCRIPT_BUNDLE } from './constants';\nimport { RECAPTCHA_SITE_KEY } from '~/config';\n\nconst Recaptcha: FunctionComponent = function () {\n const recaptchaRef = useRef<boolean>(false);\n useEffect(() => {\n if (recaptchaRef.current) return;\n const s1 = document.createElement('script');\n s1.type = 'text/javascript';\n s1.src = SCRIPT_BUNDLE.replace('$RECAPTCHA_SITE_KEY', RECAPTCHA_SITE_KEY);\n document.head.appendChild(s1);\n }, []);\n\n return null;\n};\n\nexport default Recaptcha;\n", "export const SCRIPT_BUNDLE =\n 'https://www.google.com/recaptcha/enterprise.js?render=$RECAPTCHA_SITE_KEY';\n", "import React, { FunctionComponent } from 'react';\nimport useCopyContent from './useCopyContent';\nimport {\n DEFAULT_TIMEOUT,\n DEFAULT_MESSAGE,\n DEFAULT_CLICKED_MESSAGE,\n} from './constants';\n\nexport interface CopyContentProps {\n children?: JSX.Element | JSX.Element[];\n /**\n * Element to be shown when clicked\n */\n clickedView?: JSX.Element | JSX.Element[];\n /**\n * DesktopLayoutBoxedContent to be copied\n */\n content: string;\n /**\n * HTML ID for the input\n */\n id?: string;\n className?: string;\n time?: number;\n}\n\nconst CopyContent: FunctionComponent<CopyContentProps> = function ({\n children = null,\n clickedView = null,\n className = '',\n id = '',\n content,\n time = DEFAULT_TIMEOUT,\n}) {\n const { clicked, handleClick } = useCopyContent(content, time);\n\n return (\n <button\n id={id}\n onClick={handleClick}\n className={className}\n disabled={clicked}\n >\n {clicked\n ? clickedView || DEFAULT_CLICKED_MESSAGE\n : children || DEFAULT_MESSAGE}\n </button>\n );\n};\n\nexport default CopyContent;\n", "import { useState, useRef } from 'react';\nimport { copyToClipboard } from './helpers';\n\nexport interface CopyContentHook {\n clicked: boolean;\n handleClick: () => void;\n}\n\nexport default function useCopyContent(\n content: string,\n time: number,\n): CopyContentHook {\n const [clicked, setClicked] = useState(false);\n\n const timerRef = useRef<number | undefined>();\n\n const handleClick = () => {\n // Set state to clicked\n setClicked(true);\n // Clear timeout\n clearTimeout(timerRef.current);\n // Copy content to clipboard\n copyToClipboard(content);\n // After `time`, set button to clickable again\n timerRef.current = setTimeout(\n () => setClicked(false),\n time,\n ) as unknown as number;\n };\n\n return {\n clicked,\n handleClick,\n };\n}\n", "/**\n * Copies string contents to the clipboard\n */\nexport const copyToClipboard = (content: string): void => {\n // create element\n const element = document.createElement('textarea');\n // Set element value to content\n element.value = content;\n // Make element readonly\n element.setAttribute('readonly', '');\n // Style element to be hidden\n element.style.position = 'absolute';\n element.style.left = '-9999px';\n // Append to body\n document.body.appendChild(element);\n // Select the content\n element.select();\n // Fix for mobiles\n element.setSelectionRange(0, 99999);\n // Add content to clipboard\n navigator.clipboard.writeText(element.value);\n // Remove the element\n document.body.removeChild(element);\n};\n", "export const DEFAULT_TIMEOUT = 5000;\n\nexport const DEFAULT_MESSAGE = 'Click to copy';\n\nexport const DEFAULT_CLICKED_MESSAGE = 'Copied';\n", "import React, { FunctionComponent } from 'react';\n\nimport { CLASS_NAMES, COPYRIGHT, LINK } from './constants';\n\nconst DesktopFooter: FunctionComponent = function ({}) {\n return (\n <div className={CLASS_NAMES.container}>\n <div className={CLASS_NAMES.shadow} />\n <div className={CLASS_NAMES.contentContainer}>\n <div className={CLASS_NAMES.wrapper}>\n <div className={CLASS_NAMES.content}>\n <p className={CLASS_NAMES.copyright}>{COPYRIGHT}</p>\n {LINK.map((link) => (\n <a\n key={link.url}\n className={CLASS_NAMES.link}\n href={link.url}\n target={link.target}\n rel=\"noreferrer\"\n >\n {link.label}\n </a>\n ))}\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default DesktopFooter;\n", "import {\n PRIVACY_POLICY_URL,\n TERMS_AND_CONDITIONS_URL,\n COOKIE_POLICY_URL,\n} from '~/config';\n\nexport const COPYRIGHT = '\u00A9 2021 Kanda';\n\nexport const LINK = [\n {\n label: 'Privacy policy',\n url: PRIVACY_POLICY_URL,\n target: '_blank',\n },\n {\n label: 'Terms & Conditions',\n url: TERMS_AND_CONDITIONS_URL,\n target: '_blank',\n },\n {\n label: 'Cookie policy',\n url: COOKIE_POLICY_URL,\n target: '_blank',\n },\n];\n\nexport const CLASS_NAMES = {\n container: 'h-60 overflow-hidden',\n contentContainer:\n 'absolute bottom-0 left-0 right-0 flex flex-1 px-8 2xl:px-52',\n wrapper:\n 'flex flex-1 w-full flex-row max-w-screen-lg 2xl:max-w-screen-2xl mx-auto',\n content: 'flex flex-col md:flex-row items-center mb-16 px-3',\n shadow: 'w-full h-60 bg-neutral-50 transform skew-y-slide-up origin-full',\n copyright: 'text-style-g-em text-neutral-600',\n link: 'text-style-g-em text-neutral-500 md:ml-12',\n};\n", "import React, { FunctionComponent } from 'react';\nimport type { DesktopHeaderProps } from './types';\nimport Logo from '~/components/Logo';\nimport HelpButton from '~/components/HelpButton';\nimport type { HomeLinkProps } from '~/components/ConfigWrapper';\nimport useDesktopHeaderProps from './useDesktopHeaderProps';\nimport CompanyInfo from './CompanyInfo';\nimport DesktopMenu from './DesktopMenu';\nimport { CLASS_NAMES } from './constants';\n\nconst DesktopHeader: FunctionComponent<DesktopHeaderProps> = function ({\n items = [],\n help = true,\n extraOptions = null,\n hideHomeLink = false,\n noLinkLogo = false,\n showAvatar = true,\n ...companyInfo\n}) {\n const {\n options,\n linkComponent: LinkComponent,\n homeLinkProps,\n } = useDesktopHeaderProps();\n\n const LogoTag = Logo as unknown as FunctionComponent<HomeLinkProps>;\n\n return (\n <div className={CLASS_NAMES.container}>\n {!hideHomeLink && (\n <React.Fragment>\n {noLinkLogo ? (\n <div className={CLASS_NAMES.homeLink}>\n <LogoTag className={CLASS_NAMES.logo} />\n </div>\n ) : (\n <LinkComponent className={CLASS_NAMES.homeLink} {...homeLinkProps}>\n <LogoTag className={CLASS_NAMES.logo} />\n </LinkComponent>\n )}\n </React.Fragment>\n )}\n <div className={CLASS_NAMES.optionsWrapper}>\n <div className={CLASS_NAMES.options}>\n {extraOptions}\n {help && <HelpButton />}\n {options.map((option, i) => (\n <div key={String(i)}>{option}</div>\n ))}\n </div>\n <CompanyInfo {...companyInfo} showAvatar={showAvatar} />\n </div>\n <DesktopMenu companyItems={items} linkComponent={LinkComponent} />\n </div>\n );\n};\n\nexport default DesktopHeader;\n", "import React, { useContext } from 'react';\n\nimport Button from '~/components/Button';\nimport type { NavigationLinkProps } from '~/components/NavigationLink';\nimport { ModalsWrapperContext } from '../ModalsWrapper';\nimport { ConfigWrapperContext, HomeLinkProps } from '../ConfigWrapper';\nimport { CLASS_NAMES, MENU_BUTTON_PROPS, MENU_MODAL_ID } from './constants';\n\nexport interface DesktopHeaderPropsHook {\n options: JSX.Element[];\n linkComponent: string | React.FunctionComponent<NavigationLinkProps>;\n homeLinkProps: HomeLinkProps;\n}\n\nexport default function useDesktopHeaderProps(): DesktopHeaderPropsHook {\n const { showAnimatedModal } = useContext(ModalsWrapperContext);\n const { linkComponent, homeLinkProps } = useContext(ConfigWrapperContext);\n\n const handleMenu = () => showAnimatedModal(MENU_MODAL_ID);\n\n const options = [\n <Button.Icon\n {...MENU_BUTTON_PROPS}\n key=\"menu\"\n className={CLASS_NAMES.mobileMenu}\n onClick={handleMenu}\n />,\n ];\n\n return {\n options,\n linkComponent: linkComponent as string,\n homeLinkProps: homeLinkProps as HomeLinkProps,\n };\n}\n", "import type {\n ButtonIconSize,\n ButtonIconVariant,\n} from '~/components/Button/ButtonIcon/types';\n\nexport const CLASS_NAMES = {\n container:\n 'flex flex-1 flex-row h-10 items-center justify-between -mx-3 relative',\n logo: 'ml-3',\n mobileMenu: 'lg:hidden',\n optionsWrapper: 'flex flex-row items-center z-40',\n options: 'flex flex-row items-center',\n homeLink: 'z-10',\n};\n\nexport const MENU_MODAL_ID = 'menu';\n\nexport const MENU_BUTTON_PROPS = {\n id: 'desktop-header-menu',\n size: '40-20' as ButtonIconSize,\n variant: 'ghost-grey' as ButtonIconVariant,\n key: 'menu',\n icon: 'menu',\n};\n", "import React, { FunctionComponent } from 'react';\nimport { Img } from 'react-image';\nimport type { CompanyInfoProps } from '~/components/DesktopHeader/CompanyInfo/types';\nimport { CLASS_NAMES, SKELETONS } from './constants';\nimport SkeletonLoader from '~/components/SkeletonLoader';\nimport Icon from '~/components/Icon';\nimport CompanyInfoPopover from '../CompanyInfoPopover';\nimport { DEFAULT_AVATAR_ICON_PROPS } from '~/common/constants';\nimport useIsMounted from '~/hooks/useIsMounted';\n\nconst CompanyInfo: FunctionComponent<CompanyInfoProps> = function ({\n companyName = 'My Kanda',\n companyProfilePicture,\n isLoading,\n showAvatar = true,\n ...restProps\n}) {\n const isMounted = useIsMounted();\n\n return (\n <div className={CLASS_NAMES.container}>\n <div className={CLASS_NAMES.content}>\n {showAvatar && (\n <SkeletonLoader\n isLoading={isLoading}\n {...SKELETONS.avatar}\n afterLoading={\n isMounted ? (\n <Img\n key={companyProfilePicture}\n alt={companyName}\n className={CLASS_NAMES.companyProfilePicture}\n src={companyProfilePicture as string}\n loader={<SkeletonLoader isLoading {...SKELETONS.avatar} />}\n unloader={\n <div className={CLASS_NAMES.defaultAvatar}>\n <Icon {...DEFAULT_AVATAR_ICON_PROPS} />\n </div>\n }\n />\n ) : (\n <></>\n )\n }\n />\n )}\n <p className={CLASS_NAMES.companyName}>\n <SkeletonLoader\n isLoading={isLoading}\n afterLoading={companyName || 'My Kanda'}\n {...SKELETONS.title}\n />\n </p>\n <Icon icon=\"chevron-down\" size={16} className=\"my-auto ml-2\" />\n </div>\n <CompanyInfoPopover {...restProps} />\n </div>\n );\n};\n\nexport default CompanyInfo;\n", "export const CLASS_NAMES = {\n container:\n 'group hidden lg:flex lg:flex-col items-center mr-4 ml-4 relative z-10',\n content: 'flex flex-row items-center',\n defaultAvatar: 'w-10 h-10 flex justify-center items-center',\n loader: 'w-10 h-10 rounded-full bg-neutral-100',\n companyProfilePicture: 'w-10 h-10 rounded-full object-contain',\n infoContainer: 'flex flex-1 flex-col ml-4 justify-center',\n companyName: 'text-style-f-em text-neutral-900 ml-4',\n plan: 'text-style-g text-neutral-600',\n popover: 'hidden group-hover:block absolute top-0 mt-10 p-10 bg-red-200',\n};\n\nexport const SKELETONS = {\n avatar: {\n width: 24,\n height: 24,\n className: 'leading-unset',\n },\n title: {\n width: 100,\n },\n};\n", "import React, { FunctionComponent } from 'react';\nimport PopoverMenu from '~/components/PopoverMenu';\nimport type { PopoverMenuItemProps } from '~/components/PopoverMenu/PopoverMenuItem';\nimport type { CompanyItem } from './types';\nimport useCompanyInfoPopover from './useCompanyInfoPopover';\nimport { CLASS_NAMES } from './constants';\n\nexport interface CompanyInfoPopoverProps {\n /**\n * Company items\n */\n companyItems: CompanyItem[];\n /**\n * Notice banner to show\n */\n notice?: FunctionComponent;\n /**\n * Function for logging out\n */\n logout?: () => void;\n}\n\nconst CompanyInfoPopover: FunctionComponent<CompanyInfoPopoverProps> =\n function ({ companyItems, notice, logout }) {\n const { items } = useCompanyInfoPopover(companyItems, logout);\n\n return (\n <div className={CLASS_NAMES.container}>\n <div className={CLASS_NAMES.popover}>\n <PopoverMenu\n items={items as PopoverMenuItemProps[]}\n notice={notice}\n size=\"small\"\n />\n </div>\n </div>\n );\n };\n\nexport default CompanyInfoPopover;\n", "import React, { FunctionComponent } from 'react';\nimport type { PopoverMenuProps } from './types';\nimport usePopoverMenu from './usePopoverMenu';\nimport PopoverMenuItem, { type PopoverMenuItemProps } from './PopoverMenuItem';\nimport type { NavigationLinkProps } from '~/components/NavigationLink';\nimport type { StringIndexedObject } from '~/types';\n\nconst PopoverMenu: FunctionComponent<PopoverMenuProps> = function ({\n items,\n className = '',\n onClose,\n size,\n header,\n content,\n selectedColorVariant = 'default',\n notice: Notice,\n}) {\n const { linkComponent: LinkComponent, classNames } =\n usePopoverMenu(className);\n\n const LinkComponentTag =\n LinkComponent as FunctionComponent<NavigationLinkProps>;\n\n return (\n <div className={classNames.container}>\n {Notice && <Notice />}\n <div className={classNames.paddingContainer}>\n {header && (\n <>\n {header}\n <div className={classNames.seperatorWrapper}>\n <div className={classNames.seperator} />\n </div>\n </>\n )}\n <div onClick={onClose} className={classNames.content}>\n {content ||\n items.map(\n ({ icon, name, arrow, selected, seperator, ...linkProps }) => {\n const popoverMenuItemProps: PopoverMenuItemProps = {\n icon,\n name,\n size,\n arrow,\n selected,\n selectedColorVariant,\n };\n\n return (\n <React.Fragment key={name}>\n {seperator ? (\n <div className={classNames.seperatorWrapper}>\n <div className={classNames.seperator} />\n </div>\n ) : (\n <>\n {linkProps.onClick ? (\n <div\n key={name}\n {...linkProps}\n className={classNames.link}\n >\n <PopoverMenuItem {...popoverMenuItemProps} />\n </div>\n ) : (\n <LinkComponentTag\n key={name}\n {...(linkProps as StringIndexedObject<string>)}\n className={classNames.link}\n >\n <PopoverMenuItem {...popoverMenuItemProps} />\n </LinkComponentTag>\n )}\n </>\n )}\n </React.Fragment>\n );\n },\n )}\n </div>\n </div>\n </div>\n );\n};\n\nexport default PopoverMenu;\n", "import { useContext } from 'react';\nimport { useClasses } from '~/hooks';\nimport { ConfigWrapperContext } from '~/components/ConfigWrapper';\nimport { CLASS_NAMES } from './constants';\nimport type { StringIndexedObject } from '~/types';\nimport type { NavigationLinkProps } from '~/components/NavigationLink';\n\nexport interface PopoverMenuHook {\n linkComponent: string | React.FunctionComponent<NavigationLinkProps>;\n classNames: StringIndexedObject<string>;\n}\n\nexport default function usePopoverMenu(className: string): PopoverMenuHook {\n const { linkComponent } = useContext(ConfigWrapperContext);\n\n const classNames = useClasses(CLASS_NAMES, {\n container: ['.baseContainer', className],\n });\n\n return {\n linkComponent: linkComponent as string,\n classNames,\n };\n}\n", "export const CLASS_NAMES = {\n baseContainer: 'flex flex-col flex-1 relative',\n paddingContainer: 'flex flex-col flex-1 p-2',\n content: 'flex flex-col flex-1',\n link: 'flex flex-1 flex-row',\n seperatorWrapper: 'flex flex-1 flex-row -mx-2 my-1',\n seperator: 'bg-neutral-100 w-full h-px',\n};\n", "import React, { FunctionComponent, HTMLAttributes } from 'react';\nimport clsx from 'clsx';\nimport Icon from '~/components/Icon';\nimport usePopoverMenuItem from './usePopoverMenuItem';\nimport type { PopoverMenuItemSize } from '~/components/PopoverMenu/types';\nimport { useButtonTracking } from '~/hooks';\nimport type { PopoverMenuItemSelectedColorVariant } from './types';\n\nexport interface PopoverMenuItemProps\n extends HTMLAttributes<HTMLButtonElement | HTMLDivElement> {\n name: string;\n icon: string;\n size?: PopoverMenuItemSize;\n arrow?: boolean;\n selected?: boolean;\n seperator?: boolean;\n selectedColorVariant?: PopoverMenuItemSelectedColorVariant;\n}\n\nconst PopoverMenuItem: FunctionComponent<PopoverMenuItemProps> = function ({\n name,\n icon,\n size = 'small',\n arrow = false,\n selected = false,\n onClick: inputOnClick,\n className,\n selectedColorVariant = 'default',\n ...restProps\n}) {\n const { classNames, iconProps, arrowIconProps } = usePopoverMenuItem(\n size,\n selected,\n selectedColorVariant,\n );\n\n const id = `popover-menu-item-${name.toLowerCase().replace(/ /g, '-')}`;\n\n const { onClick } = useButtonTracking(id, inputOnClick);\n\n return (\n <button\n id={id}\n className={clsx(classNames.container, className)}\n onClick={onClick}\n {...restProps}\n >\n <Icon\n icon={icon}\n {...iconProps}\n stroke={iconProps.stroke || classNames.icon}\n />\n <div className={classNames.name}>{name}</div>\n {arrow && <Icon {...arrowIconProps} />}\n </button>\n );\n};\n\nexport default PopoverMenuItem;\n", "export const CLASS_NAMES = {\n container: {\n base: 'flex flex-row flex-1 items-center py-2.5 px-3 rounded-lg transition-all duration-300 ease-in-out',\n '@selectedColor': {\n default: 'hover:bg-neutral-100',\n green: 'hover:bg-green-100',\n },\n '@selected': {\n default: 'bg-neutral-100',\n green: 'bg-green-100',\n },\n },\n name: {\n base: 'flex flex-1',\n '@size': {\n xs: 'text-style-h ml-2.5',\n small: 'text-style-g ml-3',\n medium: 'text-red-600 text-style-g ml-3 min-w-30',\n big: 'text-style-f ml-4',\n },\n '@selectedColor': {\n default: 'text-neutral-600',\n green: 'text-green-600',\n },\n },\n icon: {\n base: 'neutral-500',\n '@selectedColor': {\n green: 'green-600',\n },\n },\n};\n\nexport const VARIANTS = {\n xs: {\n iconProps: {\n size: 16,\n },\n arrowIconProps: {\n icon: 'chevron-right',\n size: 16,\n },\n },\n small: {\n iconProps: {\n size: 20,\n },\n arrowIconProps: {\n icon: 'chevron-right',\n size: 16,\n },\n },\n medium: {\n iconProps: {\n size: 20,\n },\n arrowIconProps: {\n icon: 'chevron-right',\n size: 16,\n },\n },\n big: {\n iconProps: {\n size: 24,\n },\n arrowIconProps: {\n icon: 'chevron-right',\n size: 20,\n },\n },\n};\n", "import { CLASS_NAMES, VARIANTS } from './constants';\nimport { useClasses } from '~/hooks';\nimport type { StringIndexedObject } from '~/types';\nimport type { PopoverMenuItemSize } from '~/components/PopoverMenu/types';\nimport type { IconProps } from '~/components/Icon/types';\nimport type { PopoverMenuItemSelectedColorVariant } from './types';\n\nexport interface PopoverMenuHook {\n classNames: StringIndexedObject<string>;\n iconProps: IconProps;\n arrowIconProps: IconProps;\n seperator?: boolean;\n}\n\nexport default function usePopoverMenu(\n size: PopoverMenuItemSize,\n selected: boolean,\n selectedColor: PopoverMenuItemSelectedColorVariant,\n): PopoverMenuHook {\n const classNames = useClasses(CLASS_NAMES, {\n variants: {\n size,\n selected: selected ? selectedColor : '',\n selectedColor: selected ? selectedColor : 'default',\n },\n });\n\n const { iconProps, arrowIconProps } = VARIANTS[size];\n\n return {\n classNames,\n iconProps,\n arrowIconProps,\n };\n}\n", "import { useCallback, useMemo } from 'react';\nimport type { CompanyItem } from './types';\nimport { LOGOUT_ITEM } from './constants';\n\nexport interface CompanyInfoPopoverHook {\n items: CompanyItem[];\n handleLogout: () => void;\n}\n\nexport default function useCompanyInfoPopover(\n companyItems: CompanyItem[],\n logout?: () => void,\n): CompanyInfoPopoverHook {\n const handleLogout = useCallback(() => {\n if (logout) {\n logout();\n return;\n }\n }, [logout]);\n\n const items = useMemo<CompanyItem[]>(\n () => [\n ...companyItems,\n {\n ...LOGOUT_ITEM,\n onClick: handleLogout,\n },\n ],\n [companyItems, handleLogout],\n );\n\n return {\n items,\n handleLogout,\n };\n}\n", "export const CLASS_NAMES = {\n container: 'hidden group-hover:block absolute top-0 right-0 w-64 pb-6',\n popover:\n 'flex flex-1 flex-col mt-12 bg-neutral-000 border border-neutral-300 rounded-lg overflow-hidden',\n};\n\nexport const LOGOUT_ITEM = {\n icon: 'logout',\n name: 'Logout',\n};\n", "export const DEFAULT_AVATAR_ICON_PROPS = {\n icon: 'user-square',\n size: 24,\n stroke: 'neutral-500',\n};\n", "import { useEffect, useRef } from 'react';\n\nexport type IsMountedHook = boolean;\n\nexport default function useIsMounted(): IsMountedHook {\n const isMounted = useRef(false);\n\n useEffect(() => {\n isMounted.current = true;\n\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n return isMounted.current;\n}\n", "import React, { FunctionComponent } from 'react';\nimport type { NavigationLinkProps } from '~/components/NavigationLink';\nimport type { CompanyItem } from '~/components/DesktopHeader/CompanyInfoPopover/types';\nimport { CLASS_NAMES } from './constants';\nimport { itemClassName } from '~/components/DesktopHeader/DesktopMenu/helpers';\n\nexport interface DesktopMenuProps {\n companyItems: CompanyItem[];\n linkComponent: string | React.FunctionComponent<NavigationLinkProps>;\n}\n\nconst DesktopMenu: FunctionComponent<DesktopMenuProps> = function ({\n companyItems = [],\n linkComponent: LinkComponent = 'a',\n}) {\n return (\n <div className={CLASS_NAMES.container}>\n {companyItems.map(({ name, active, ...itemProps }) => (\n <LinkComponent\n className={itemClassName(active as boolean)}\n {...itemProps}\n key={name}\n >\n {name}\n </LinkComponent>\n ))}\n </div>\n );\n};\n\nexport default DesktopMenu;\n", "export const CLASS_NAMES = {\n container:\n 'hidden lg:flex lg:flex-1 w-full flex-row justify-center absolute -ml-8',\n itemBase: 'ml-8 text-style-f-em px-3 py-2 rounded-lg',\n itemInactive: 'text-neutral-500',\n itemActive: 'bg-turquoise-100 text-turquoise-500',\n};\n", "import clsx from 'clsx';\nimport { CLASS_NAMES } from './constants';\n\n/**\n * Items class name\n */\nexport const itemClassName = (active: boolean): string =>\n clsx(\n CLASS_NAMES.itemBase,\n active ? CLASS_NAMES.itemActive : CLASS_NAMES.itemInactive,\n );\n", "import React, { FunctionComponent } from 'react';\nimport type { StatusTagProps } from '~/components/StatusTag';\nimport StatusTag from '~/components/StatusTag';\nimport { extractColor, formatStatus } from './helpers';\n\nexport type FinanceStatusTagProps = Omit<\n StatusTagProps,\n 'formatStatus' | 'extractColor'\n>;\n\nconst FinanceStatusTag: FunctionComponent<FinanceStatusTagProps> = function (\n props,\n) {\n return (\n <StatusTag\n formatStatus={formatStatus}\n extractColor={extractColor}\n {...props}\n />\n );\n};\n\nexport default FinanceStatusTag;\n", "import React, { FunctionComponent } from 'react';\nimport Tag from '~/components/Tag';\nimport type { StatusTagStatus } from '~/components/StatusTag/types';\nimport type { TagColor, TagProps } from '~/components/Tag/types';\nimport useStatusTagProps from '~/components/StatusTag/useStatusTagProps';\nimport { defaultExtractColor } from '~/components/StatusTag/helpers';\nimport TimeAgo from '~/components/TimeAgo';\n\nexport interface StatusTagProps extends TagProps {\n status: StatusTagStatus;\n timestamp?: number;\n formatStatus?: (status: string) => string;\n extractColor?: (status: string) => TagColor;\n}\n\nconst StatusTag: FunctionComponent<StatusTagProps> = function ({\n status,\n timestamp,\n formatStatus = (status) => status,\n extractColor = defaultExtractColor,\n ...tagProps\n}) {\n const { color } = useStatusTagProps(status, extractColor);\n\n if (!color) {\n return <></>;\n }\n\n return (\n <Tag label={formatStatus(status)} color={color as TagColor} {...tagProps}>\n <>{timestamp && <TimeAgo timestamp={timestamp} className=\"ml-1\" />}</>\n </Tag>\n );\n};\n\nexport default StatusTag;\n", "import React, { FunctionComponent } from 'react';\nimport type { TagProps } from '~/components/Tag/types';\nimport useTagClassName from '~/components/Tag/useTagClassName';\n\nconst Tag: FunctionComponent<TagProps> = function ({\n label,\n children,\n className: initialClassName,\n variant = 'outline',\n color = 'grey',\n size = 24,\n}) {\n const className = useTagClassName({\n className: initialClassName,\n variant,\n color,\n size,\n });\n\n return (\n <span className={className}>\n {label}\n {children}\n </span>\n );\n};\n\nexport default Tag;\n", "import clsx from 'clsx';\nimport {\n TAG_BASE_CLASSES,\n TAG_VARIANTS,\n TAG_COLOURS,\n TAG_SIZES,\n} from './constants';\nimport type { TagProps } from './types';\n\ntype TagClassNameHookArgs = Omit<TagProps, 'label' | 'children'>;\n\nexport default function useTagClassName({\n color,\n variant,\n size,\n className: initialClassName,\n}: TagClassNameHookArgs): string {\n const variantClassName = TAG_VARIANTS[variant as string];\n const colours = TAG_COLOURS[color as string];\n const sizeClassName = TAG_SIZES[size as number];\n\n const className = clsx(\n TAG_BASE_CLASSES,\n variantClassName,\n sizeClassName,\n colours,\n initialClassName,\n );\n\n return className;\n}\n", "import type { StringIndexedObject } from '~/types';\n\nexport const TAG_BASE_CLASSES =\n 'border border-solid rounded-full inline-flex items-center';\n\nexport const TAG_VARIANTS: StringIndexedObject = {\n outline: 'bg-opacity-0',\n solid: 'bg-opacity-100',\n};\n\nexport const TAG_SIZES: Record<number, string> = {\n 31: 'px-3 h-7.75 text-style-i-em-up',\n 28: 'px-3 h-7 text-style-i-em-up',\n 24: 'px-2 h-6 text-style-i-em-up',\n 21: 'px-1.5 h-5.25 text-style-j-em-up',\n};\n\nexport const TAG_COLOURS: StringIndexedObject = {\n grey: 'border-neutral-200 bg-neutral-200 text-neutral-600',\n violet: 'border-violet-100 bg-violet-100 text-violet-200',\n lavender: 'border-lavender-100 bg-lavender-100 text-lavender-200',\n green: 'border-turquoise-100 bg-turquoise-100 text-turquoise-500',\n blue: 'border-blue-100 bg-blue-100 text-blue-200',\n orange: 'border-orange-100 bg-orange-100 text-orange-200',\n};\n", "import type { TagColor } from '~/components/Tag/types';\n\nexport interface StatusTagPropsHook {\n color: string;\n}\n\nexport default function useStatusTagProps(\n status: string,\n extractColor: (status: string) => TagColor,\n): StatusTagPropsHook {\n const color = extractColor(status);\n\n return {\n color: color as string,\n };\n}\n", "import type { TagColor } from '~/components/Tag/types';\n\nexport const defaultExtractColor = (status: string): TagColor => {\n if (status === 'draft') return 'grey';\n if (status === 'sent') return 'green';\n if (status === 'accepted') return 'green';\n if (status === 'declined') return 'violet';\n if (status === 'lead') return 'violet';\n return 'grey';\n};\n\nexport const checkAndFormatTimestamp = (\n timestamp: number,\n minYear = 2019,\n): Date => {\n // Construct date object\n const date = new Date(timestamp);\n\n // Timestamp is incorrectly formatted (not in milliseconds) if year in date\n // object from timestamp is less than min year. Need to correct timestamp\n if (date.getFullYear() < minYear) {\n // catch case for timestamp in seconds - will be less than 10^10\n if (date.getTime() < 10 ** 10) {\n return new Date(timestamp * 1000);\n }\n // catch case for timestamp in tenths of seconds - will be less than 10^11\n if (date.getTime() < 10 ** 11) {\n return new Date(timestamp * 100);\n }\n // if neither of above, timestamp in hundreths of seconds - will be less\n // than 10^12\n return new Date(timestamp * 10);\n }\n\n return date;\n};\n", "import React, { FunctionComponent } from 'react';\nimport useTimeAgoProps from '~/components/TimeAgo/useTimeAgoProps';\n\nexport interface TimeAgoProps {\n className?: string;\n /**\n * Timestamp - any valid date timestamp format, as converted to date using\n * `new Date(timestamp)` for initial checking\n */\n timestamp?: number;\n}\n\nconst TimeAgo: FunctionComponent<TimeAgoProps> = function ({\n className,\n timestamp,\n}) {\n const { formattedDate } = useTimeAgoProps(timestamp as number);\n\n return <span className={className}>{formattedDate}</span>;\n};\n\nexport default TimeAgo;\n", "import type { StringIndexedObject } from '~/types';\n\nexport const PERIODS: StringIndexedObject<string> = {\n second: '%ds ago',\n minute: '%dm ago',\n hour: '%dh ago',\n day: '%dd ago',\n week: '%dw ago',\n month: '%dmo ago',\n year: '%dy ago',\n};\n\nexport const PERIOD_LENGTHS: StringIndexedObject<number> = {\n second: 60,\n minute: 60,\n hour: 24,\n day: 7,\n week: 4.33,\n month: 12,\n};\n", "import { PERIOD_LENGTHS, PERIODS } from '~/components/TimeAgo/constants';\nimport type { StringIndexedObject } from '~/types';\n\nexport const checkAndFormatTimestamp = (\n timestamp: number,\n minYear = 2019,\n): Date => {\n // Construct date object\n const date = new Date(timestamp);\n\n // Timestamp is incorrectly formatted (not in milliseconds) if year in date\n // object from timestamp is less than min year. Need to correct timestamp\n if (date.getFullYear() < minYear) {\n // catch case for timestamp in seconds - will be less than 10^10\n if (date.getTime() < 10 ** 10) {\n return new Date(timestamp * 1000);\n }\n // catch case for timestamp in tenths of seconds - will be less than 10^11\n if (date.getTime() < 10 ** 11) {\n return new Date(timestamp * 100);\n }\n // if neither of above, timestamp in hundreths of seconds - will be less\n // than 10^12\n return new Date(timestamp * 10);\n }\n\n return date;\n};\n\nexport const timeAgoInWords = (\n fromDate: Date,\n periods: StringIndexedObject<string> = PERIODS,\n periodLengths: StringIndexedObject<number> = PERIOD_LENGTHS,\n): string => {\n const toDate = new Date();\n\n let difference = Math.abs(toDate.getTime() - fromDate.getTime()) / 1000;\n let lengthKey = 0;\n\n const periodKeys = Object.keys(periods);\n const periodLengthKeys = Object.keys(periodLengths);\n\n if (difference < 10) return 'just now';\n\n if (difference < 60)\n return periods[periodKeys[0]].replace(\n '%d',\n Math.round(difference).toString(),\n );\n\n for (\n let i = 0;\n difference >= periodLengths[periodLengthKeys[i]] &&\n i < periodLengthKeys.length;\n i++\n ) {\n lengthKey = i;\n difference /= periodLengths[periodLengthKeys[i]];\n }\n\n difference = Math.round(difference);\n\n const period = periods[periodKeys[lengthKey + 1]];\n\n return period.replace('%d', difference.toString());\n};\n", "import { checkAndFormatTimestamp, timeAgoInWords } from './helpers';\nimport { useMemo } from 'react';\n\nexport interface TimeAgoPropsHook {\n date: Date;\n formattedDate: string;\n}\n\nexport default function useTimeAgoProps(timestamp: number): TimeAgoPropsHook {\n const date = checkAndFormatTimestamp(timestamp);\n const formattedDate = useMemo(() => timeAgoInWords(date), [date]);\n\n return {\n date,\n formattedDate,\n };\n}\n", "import type { TagColor } from '~/components/Tag/types';\n\nexport const formatStatus = (status: string): string =>\n status.replace(/_/g, ' ');\n\nexport const extractColor = (status: string): TagColor => {\n if (status === 'not_applied') return null;\n if (status === 'under_review') return null;\n if (status === 'applied_for_finance') return 'blue';\n if (status === 'finance_deposit_paid') return 'blue';\n if (status === 'finance_not_approved') return 'violet';\n if (status === 'financed') return 'green';\n if (status === 'sat_note_sent') return 'blue';\n if (status === 'sat_note_viewed') return 'blue';\n if (status === 'sat_note_signed') return 'green';\n if (status === 'sat_note_delayed') return 'green';\n if (status === 'payout_pending') return 'green';\n if (status === 'paid') return 'green';\n return null;\n};\n", "import React, { FunctionComponent, HTMLAttributes } from 'react';\nimport HelpButton from '~/components/HelpButton';\nimport useHeaderBaseClassNames from './useHeaderBaseClassNames';\nimport { default as HeaderBackground } from '../../../assets/header/background.svg';\nimport PhoneLink from './PhoneLink';\n\nexport interface HeaderBaseProps extends HTMLAttributes<HTMLDivElement> {\n className?: string;\n children?: JSX.Element | JSX.Element[];\n /**\n * Right side options for header\n */\n options?: JSX.Element[];\n /**\n * Show the help item\n */\n help?: boolean;\n /**\n * Top lines\n */\n lines?: boolean;\n /**\n * Hide number on header\n */\n hideNumber?: boolean;\n}\n\nconst HeaderBase: FunctionComponent<HeaderBaseProps> = function ({\n className = '',\n children = null,\n options = [],\n help = false,\n lines = false,\n hideNumber = false,\n ...restProps\n}) {\n const classNames = useHeaderBaseClassNames(className);\n\n const HeaderBackgroundTag = HeaderBackground as unknown as FunctionComponent<\n HTMLAttributes<SVGElement>\n >;\n\n return (\n <div className={classNames.container} {...restProps}>\n <div className={classNames.content}>{children}</div>\n {lines ? (\n <HeaderBackgroundTag className=\"absolute top-0 left-0\" />\n ) : (\n <></>\n )}\n <div className={classNames.options}>\n {!hideNumber && <PhoneLink />}\n {help && <HelpButton variant=\"button\" />}\n {options.map((option, i) => (\n <div key={String(i)}>{option}</div>\n ))}\n </div>\n </div>\n );\n};\n\nexport default HeaderBase;\n", "export const CLASS_NAMES = {\n containerBase:\n 'flex flex-1 flex-row space-between items-top min-h-20 pr-3 pl-6 relative overflow-hidden',\n content: 'flex flex-1 items-center',\n options: 'flex flex-row items-center my-5 mx-4 absolute right-0 top-0',\n};\n", "import { CLASS_NAMES } from './constants';\nimport clsx from 'clsx';\n\nexport interface HeaderBaseClassNamesHook {\n container: string;\n content: string;\n options: string;\n}\n\nexport default function useHeaderBaseClassNames(\n initialClassName: string,\n): HeaderBaseClassNamesHook {\n const { containerBase, ...restClassNames } = CLASS_NAMES;\n\n const container = clsx(containerBase, initialClassName);\n\n return {\n ...restClassNames,\n container,\n };\n}\n", "import React, { type FunctionComponent } from 'react';\nimport BreakPoints from '~/components/BreakPoints';\nimport Icon from '~/components/Icon';\nimport Text from '~/components/Text';\n\nconst PhoneLink: FunctionComponent = function () {\n const content = (\n <div className=\"flex flex-row items-center justify-center mr-4 text-neutral-700 gap-x-2\">\n <Icon icon=\"phone\" size={18} /> <Text text=\"03308187500\" />\n </div>\n );\n\n return (\n <BreakPoints\n desktop={content}\n mobile={<a href=\"tel:443308187500\">{content}</a>}\n />\n );\n};\n\nexport default PhoneLink;\n", "import React, { FunctionComponent, HTMLAttributes } from 'react';\nimport type { SkeletonProps } from 'react-loading-skeleton';\nimport SkeletonLoader from '~/components/SkeletonLoader';\n\nexport interface TextProps extends HTMLAttributes<HTMLElement> {\n text?: JSX.Element | string;\n className?: string;\n skeletonClassName?: string;\n isLoading?: boolean;\n textComponent?: keyof JSX.IntrinsicElements;\n skeletonProps?: SkeletonProps;\n htmlFor?: string;\n}\n\nconst Text: FunctionComponent<TextProps> = function ({\n text,\n isLoading = false,\n textComponent: TextComponent = 'span',\n className = 'text-style-g',\n skeletonClassName = '',\n skeletonProps = {},\n ...restProps\n}) {\n const TextComponentTag = TextComponent as unknown as FunctionComponent<\n HTMLAttributes<HTMLElement>\n >;\n\n return (\n <TextComponentTag\n className={className}\n {...(restProps as HTMLAttributes<HTMLElement>)}\n >\n <SkeletonLoader\n isLoading={isLoading}\n className={skeletonClassName}\n afterLoading={text}\n {...skeletonProps}\n />\n </TextComponentTag>\n );\n};\n\nexport default Text;\n", "import React, { FunctionComponent, HTMLAttributes } from 'react';\nimport type { StringIndexedObject } from '~/types';\nimport Logo from '~/components/Logo';\nimport useHeaderMainProps from './useHeaderMainProps';\nimport HeaderBase from '~/components/Header/HeaderBase';\nimport type { HomeLinkProps } from '~/components/ConfigWrapper';\n\nexport interface HeaderMainProps {\n /**\n * ClassName for main header\n */\n logoProps?: StringIndexedObject;\n /**\n * Show help\n */\n help?: boolean;\n /**\n * ClassName for main header\n */\n className?: string;\n /**\n * Displays skip button\n */\n skip?: boolean;\n /**\n * On Skip function callback\n */\n onSkip?: () => void;\n /**\n * linkComponent\n */\n linkComponent?: FunctionComponent<HomeLinkProps> | 'a';\n}\n\nconst HeaderMain: FunctionComponent<HeaderMainProps> = function ({\n className,\n skip = false,\n onSkip,\n linkComponent: LinkComponent = 'a',\n help = true,\n logoProps = {},\n}) {\n const { options, homeLinkProps } = useHeaderMainProps(skip, onSkip);\n\n const LogoTag = Logo as unknown as FunctionComponent<\n HTMLAttributes<HTMLOrSVGElement>\n >;\n\n return (\n <HeaderBase help={help} className={className} options={options} lines>\n <LinkComponent {...homeLinkProps}>\n <LogoTag {...logoProps} />\n </LinkComponent>\n </HeaderBase>\n );\n};\n\nexport default HeaderMain;\n", "import React, { useContext } from 'react';\nimport { ModalsWrapperContext } from '~/components/ModalsWrapper';\nimport {\n ConfigWrapperContext,\n HomeLinkProps,\n} from '~/components/ConfigWrapper';\nimport { MENU_BUTTON_PROPS, MENU_MODAL_ID } from './constants';\nimport { Icon as IconButton, Link as LinkButton } from '~/components/Button';\n\nexport interface HeaderMainPropsHook {\n options: JSX.Element[];\n homeLinkProps?: HomeLinkProps;\n}\n\nexport default function useHeaderMainProps(\n skip: boolean,\n onSkip?: () => void,\n): HeaderMainPropsHook {\n const { showAnimatedModal } = useContext(ModalsWrapperContext);\n\n const { homeLinkProps } = useContext(ConfigWrapperContext);\n\n const handleMenu = () => showAnimatedModal(MENU_MODAL_ID);\n\n const options = skip\n ? [\n <LinkButton\n id=\"mobile-header-skip\"\n variant=\"light-grey\"\n size={16}\n key=\"skip\"\n className=\"ml-2 mr-3\"\n onClick={onSkip}\n label=\"Skip\"\n />,\n ]\n : [<IconButton key=\"menu\" {...MENU_BUTTON_PROPS} onClick={handleMenu} />];\n\n return {\n options,\n homeLinkProps,\n };\n}\n", "import type {\n ButtonIconSize,\n ButtonIconVariant,\n} from '~/components/Button/ButtonIcon/types';\n\nexport const MENU_MODAL_ID = 'menu';\n\nexport const MENU_BUTTON_PROPS = {\n id: 'mobile-header-menu',\n size: '40-20' as ButtonIconSize,\n variant: 'ghost-grey' as ButtonIconVariant,\n icon: 'menu',\n};\n", "import Base, { HeaderBaseProps } from './HeaderBase';\nimport Main, { HeaderMainProps } from './HeaderMain';\nimport type { FunctionComponent } from 'react';\n\ninterface HeaderItems {\n Base: FunctionComponent<HeaderBaseProps>;\n Main: FunctionComponent<HeaderMainProps>;\n}\n\nconst Header: HeaderItems = {\n Base,\n Main,\n};\n\nexport default Header;\n", "import React, { type FunctionComponent } from 'react';\nimport Button from '../Button';\nimport Text from '../Text';\nimport { BANNER_SKELETONS, CLASS_NAMES } from './constants';\n\nexport interface InfoBannerProps {\n title?: string | JSX.Element;\n icon?: JSX.Element;\n nameContent?: JSX.Element;\n search?: JSX.Element;\n cta?: JSX.Element;\n backArrow?: boolean;\n isLoading?: boolean;\n onGoBack?: () => void;\n children?: JSX.Element;\n}\n\nconst InfoBanner: FunctionComponent<InfoBannerProps> = function ({\n title,\n icon,\n nameContent,\n search,\n cta,\n backArrow = true,\n isLoading = false,\n onGoBack = () => {},\n children,\n}) {\n return (\n <div className={CLASS_NAMES.container}>\n <div className={CLASS_NAMES.nameContainer}>\n {backArrow && (\n <div className={CLASS_NAMES.backArrowContainer}>\n <Button.Icon\n id=\"info-banner-back-arrow\"\n icon=\"arrow-left\"\n onClick={() => {\n onGoBack();\n }}\n />\n </div>\n )}\n <div className={CLASS_NAMES.header}>\n <div className={CLASS_NAMES.titleWrapper}>\n <Text\n className={CLASS_NAMES.title}\n isLoading={isLoading}\n text={title}\n skeletonProps={BANNER_SKELETONS.title}\n />\n {!isLoading && icon}\n {search}\n </div>\n {nameContent && (\n <div className={CLASS_NAMES.nameContent}>{nameContent}</div>\n )}\n </div>\n {cta && <span>{cta}</span>}\n </div>\n {children}\n </div>\n );\n};\n\nexport default InfoBanner;\n", "export const CLASS_NAMES = {\n container: 'flex flex-col lg:mb-6 z-40 relative',\n nameContainer: 'flex flex-row items-center justify-between',\n nameContent: 'flex flex-col',\n backArrowContainer: 'mr-2',\n header: 'flex-grow',\n options: 'flex flex-row',\n info: 'flex flex-row md:mb-2 border border-neutral-300 rounded-lg md:border-0',\n title: 'text-style-b text-neutral-900 md:h-10',\n titleWrapper: 'flex flex-row gap-x-2',\n};\n\nexport const BANNER_TYPE = {\n LOADING: 'loading',\n EMPTY: 'empty',\n FILTER: 'filter',\n};\n\nexport const BANNER_CLASS_NAMES = {\n container:\n 'flex flex-col border-r w-1/2 p-3 last:border-0 md:p-4 md:w-1/3 md:border border-neutral-300 md:rounded-lg md:mr-4 md:last:border',\n title: 'text-style-h text-neutral-600 mb-1 md:text-style-g',\n text: 'text-style-e text-neutral-900 md:text-style-d',\n};\n\nexport const BANNER_SKELETONS = {\n title: {\n width: 120,\n height: 16,\n },\n text: {\n width: 90,\n height: 20,\n },\n};\n", "import React, { FunctionComponent } from 'react';\nimport useLayoutClassNames from './useLayoutClassNames';\nimport {\n Header as HeaderTeleporter,\n Footer as FooterTeleporter,\n} from './teleporters';\nimport ScrollTopButton from '~/components/ScrollTopButton';\n\nexport interface LayoutProps {\n children?: JSX.Element | JSX.Element[];\n stickyHeader?: boolean;\n stickyFooter?: boolean;\n /**\n * header background color\n */\n headerBg?: string;\n /**\n * background color\n */\n bg?: string;\n /**\n * Removes Border\n */\n noBorder?: boolean;\n header?: JSX.Element;\n footer?: JSX.Element;\n /**\n * Boolean flag for whether to show scroll top button\n */\n scrollTop?: boolean;\n /**\n * Removes content padding\n */\n noPadding?: boolean;\n /**\n * Only load header and footer if the component as mounted\n * This is mainly used to allow for the use of this components\n * in environments that support SSR (IE: NextJS)\n */\n checkForIsMounted?: boolean;\n}\n\nconst Layout: FunctionComponent<LayoutProps> = function ({\n children,\n header,\n footer,\n checkForIsMounted = false,\n ...restProps\n}) {\n const { classNames, scrollTop } = useLayoutClassNames(restProps);\n\n return (\n <div id=\"layout\" className={classNames.container}>\n <div className={classNames.wrapper}>\n <div className={classNames.header}>\n <div className={classNames.headerWidthLimiter}>\n <HeaderTeleporter.Target />\n </div>\n </div>\n <div className={classNames.contentWidthLimiter}>\n <div className={classNames.content}>\n <HeaderTeleporter.Source>{header}</HeaderTeleporter.Source>\n <FooterTeleporter.Source>{footer}</FooterTeleporter.Source>\n {children}\n </div>\n </div>\n </div>\n <div className={classNames.footer}>\n <FooterTeleporter.Target />\n </div>\n\n {scrollTop && <ScrollTopButton />}\n </div>\n );\n};\n\nconst LayoutFooter = FooterTeleporter.Source;\nconst LayoutHeader = HeaderTeleporter.Source;\n\nexport { LayoutFooter, LayoutHeader };\n\nexport default Layout;\n", "import clsx from 'clsx';\nimport { CLASS_NAMES } from './constants';\nimport type { LayoutProps } from '~/components/Layout/index';\n\nexport interface LayoutClassNames {\n wrapper: string;\n modalsShader: string;\n content: string;\n container: string;\n header: string;\n footer: string;\n headerWidthLimiter: string;\n contentWidthLimiter: string;\n}\n\nexport interface LayoutClassNamesHook {\n scrollTop: boolean;\n classNames: LayoutClassNames;\n}\n\nexport type LayoutClassNamesHookArgs = Omit<\n LayoutProps,\n 'children' | 'header' | 'footer'\n>;\n\nexport default function useLayoutClassNames({\n scrollTop = false,\n stickyHeader,\n stickyFooter,\n headerBg,\n bg,\n noBorder,\n noPadding,\n}: LayoutClassNamesHookArgs): LayoutClassNamesHook {\n const {\n containerSticky,\n containerBase,\n footerDefault,\n footerFixed,\n headerBase,\n headerBorder,\n headerFixed,\n widthLimit,\n contentBase,\n contentPadding,\n flexGrow,\n ...classNames\n } = CLASS_NAMES;\n\n const container = clsx(\n containerBase,\n bg ? `bg-${bg}` : 'bg-neutral-000',\n stickyFooter && containerSticky,\n );\n\n const header = clsx(\n headerBase,\n !noBorder && headerBorder,\n headerBg ? `bg-${bg}` : 'bg-neutral-000',\n stickyHeader && headerFixed,\n );\n\n const content = clsx(contentBase, !noPadding && contentPadding);\n\n const footer = clsx(stickyFooter ? footerFixed : footerDefault);\n const headerWidthLimiter = widthLimit;\n const contentWidthLimiter = clsx(flexGrow, widthLimit);\n\n return {\n scrollTop,\n classNames: {\n ...classNames,\n content,\n container,\n header,\n footer,\n headerWidthLimiter,\n contentWidthLimiter,\n },\n };\n}\n", "export const CLASS_NAMES = {\n containerBase:\n 'flex flex-1 w-screen min-h-vvp flex-col space-between relative',\n containerSticky: '',\n wrapper: 'flex flex-1 w-full flex-col relative',\n headerBase: 'w-full',\n headerBorder: 'border-b-solid border-b border-neutral-200',\n headerFixed: 'sticky top-0 z-50',\n contentBase: 'flex flex-1 w-full flex-col',\n contentPadding: 'py-8 px-6',\n footerDefault: 'w-full px-6 mb-6',\n footerFixed: 'w-full px-6 sticky bottom-6',\n modalsShader: 'absolute bg-neutral-900 opacity-5 w-full h-full z-50',\n widthLimit: 'w-full h-full max-w-7xl mx-auto',\n flexGrow: 'flex flex-1',\n};\n", "import { createTeleporter } from 'react-teleporter';\n\nexport const Footer = createTeleporter();\nexport const Header = createTeleporter();\n", "import React, { FunctionComponent, MutableRefObject } from 'react';\nimport useScrollTopButton from './useScrollTopButton';\nimport { Icon as IconButton } from '~/components/Button';\nimport { BUTTON_PROPS } from './constants';\n\nexport interface ScrollTopButtonProps {\n containerRef?: MutableRefObject<HTMLElement>;\n}\n\nconst ScrollTopButton: FunctionComponent<ScrollTopButtonProps> = function ({\n containerRef,\n}) {\n const { className, scrollTop } = useScrollTopButton(containerRef);\n\n return (\n <IconButton\n id=\"scroll-top\"\n onClick={() => {\n scrollTop();\n }}\n {...BUTTON_PROPS}\n className={className}\n />\n );\n};\n\nexport default ScrollTopButton;\n", "import { useState, useEffect, useRef, MutableRefObject } from 'react';\nimport clsx from 'clsx';\nimport { CLASSNAMES, TIMEOUT } from './constants';\nimport { determineScrollHeight } from './helpers';\n\nexport interface ScrollTopButtonHook {\n className: string;\n scrollTop: () => void;\n}\n\n/**\n * Hook used for firing off a scroll to top method when clicking the scroll to\n * top button\n */\nexport default function useScrollTopButton(\n containerRef: MutableRefObject<HTMLElement> | undefined,\n): ScrollTopButtonHook {\n // Anonymous state to construct button className\n const [showButton, setShowButton] = useState(determineScrollHeight());\n\n /**\n * Function to scroll to top of element\n */\n const scrollTop = () => {\n window.scrollTo({ top: 0, behavior: 'smooth' });\n };\n\n // Classname for button - extended with button show state\n const className = clsx(\n CLASSNAMES.base,\n showButton ? CLASSNAMES.show : CLASSNAMES.hide,\n );\n\n // Reference used for debouncing\n const checkScroll = useRef(true);\n // Effect attaches event listener to element\n useEffect(() => {\n // Scroll listener function to check scroll position\n const scrollListener = () => {\n // If checker reference is false, return\n if (!checkScroll.current) return;\n // Set checker reference to false\n checkScroll.current = false;\n // Set the show button state\n setShowButton(determineScrollHeight());\n // Use timeout to debounce, runs ever 100 milliseconds\n setTimeout(() => {\n // Allow scroll checking again\n checkScroll.current = true;\n // Set show button state\n setShowButton(determineScrollHeight());\n }, TIMEOUT);\n };\n // Add the event listener to the element\n window.addEventListener('scroll', scrollListener);\n return () => {\n // Remove the event listener\n window.removeEventListener('scroll', scrollListener);\n };\n }, [containerRef]);\n\n return {\n className,\n scrollTop,\n };\n}\n", "import type {\n ButtonIconSize,\n ButtonIconVariant,\n} from '~/components/Button/ButtonIcon/types';\n\nexport const CLASSNAMES = {\n base: 'fixed right-4 bottom-4',\n show: 'block',\n hide: 'hidden',\n};\n\nexport const BUTTON_PROPS = {\n variant: 'solid-grey' as ButtonIconVariant,\n size: '40-20' as ButtonIconSize,\n icon: 'arrow-up',\n};\n\nexport const MIN_SCROLL_HEIGHT = 120;\n\nexport const TIMEOUT = 100;\n", "import { MIN_SCROLL_HEIGHT } from './constants';\n\n/**\n * Function to scroll to top of body\n */\nexport const determineScrollHeight = (): boolean => {\n const element =\n document.documentElement || document.body.parentNode || document.body;\n\n // If ref doesn't exist, return\n if (!element) return false;\n // Extract scrollTop\n const { scrollTop } = element;\n\n // If scrollTop is less than 120px, return false\n if (scrollTop < MIN_SCROLL_HEIGHT) return false;\n // Else retur true\n return true;\n};\n", "import React, { FunctionComponent, useContext, useEffect } from 'react';\nimport { ModalsWrapperContext } from '~/components/ModalsWrapper';\n\nexport interface LoaderProps {\n isLoading?: boolean;\n}\n\nconst Loader: FunctionComponent<LoaderProps> = function ({\n isLoading = false,\n}) {\n const { setShowLoader } = useContext(ModalsWrapperContext);\n\n useEffect(() => {\n setShowLoader(isLoading);\n }, [isLoading, setShowLoader]);\n\n useEffect(\n () => () => {\n setShowLoader(false);\n },\n [setShowLoader],\n );\n\n return <></>;\n};\n\nexport default Loader;\n", "import React, { FunctionComponent } from 'react';\nimport useLoadingProviderValue from './useLoadingProviderValue';\nimport { Context } from './Context';\n\nexport interface LoadingProviderProps {\n /**\n * The children contained within the provider\n */\n children: JSX.Element;\n /**\n * isLoading state\n */\n isLoading: boolean;\n /**\n * overwrite state\n */\n overwrite?: boolean;\n}\n\nconst LoadingProvider: FunctionComponent<LoadingProviderProps> = function ({\n isLoading,\n overwrite,\n children,\n}) {\n const value = useLoadingProviderValue(isLoading, overwrite);\n\n return <Context.Provider value={value}>{children}</Context.Provider>;\n};\n\nexport default LoadingProvider;\n", "import { useContext } from 'react';\nimport { Context } from './Context';\n\nexport default function useLoadingProviderValue(\n isLoading = false,\n overwrite = false,\n): boolean {\n const isParentLoading = useContext(Context);\n\n const defaultValue = isParentLoading || isLoading;\n\n const overwritenValue =\n typeof isLoading !== 'undefined' ? isLoading : isParentLoading;\n\n const value = overwrite ? overwritenValue : defaultValue;\n\n return value;\n}\n", "import React, { FunctionComponent } from 'react';\nimport useLoadingSpinnerProps from './useLoadingSpinnerProps';\nimport {\n DEFAULT_SVG_PROPS,\n DEFAULT_ANIMATION_PROPS,\n DEFAULT_STROKE_WIDTH,\n LINEAR_GRAIDENT_PROPS,\n PATHS,\n} from './constants';\n\nexport interface LoadingSpinnerProps {\n /**\n * Size of the spinner\n */\n size?: number;\n /**\n * Duration for the animation in ms\n */\n duration?: number;\n /**\n * Duration for the animation\n */\n anticlockwise?: boolean;\n /**\n * Classname to be applied to SVG\n */\n className: string;\n /**\n * Tailwind color name to set as stroke of the icon e.g. blue-300\n */\n stroke: string;\n}\n\nconst LoadingSpinner: FunctionComponent<LoadingSpinnerProps> = function ({\n size = 64,\n duration = 1000,\n anticlockwise = false,\n className: initialClassName,\n stroke,\n}) {\n const { className, animationProps } = useLoadingSpinnerProps(\n duration,\n anticlockwise,\n stroke,\n initialClassName,\n );\n\n return (\n <svg\n width={size}\n height={size}\n className={className}\n {...DEFAULT_SVG_PROPS}\n >\n <defs>\n <linearGradient id={LINEAR_GRAIDENT_PROPS.secondHalf.id}>\n <stop {...LINEAR_GRAIDENT_PROPS.secondHalf.stop1} />\n <stop {...LINEAR_GRAIDENT_PROPS.secondHalf.stop2} />\n </linearGradient>\n <linearGradient id={LINEAR_GRAIDENT_PROPS.firstHalf.id}>\n <stop {...LINEAR_GRAIDENT_PROPS.firstHalf.stop1} />\n <stop {...LINEAR_GRAIDENT_PROPS.firstHalf.stop2} />\n </linearGradient>\n </defs>\n\n <g strokeWidth={DEFAULT_STROKE_WIDTH}>\n <path {...PATHS.path1} />\n <path {...PATHS.path2} />\n </g>\n\n <animateTransform {...DEFAULT_ANIMATION_PROPS} {...animationProps} />\n </svg>\n );\n};\n\nexport default LoadingSpinner;\n", "export const DEFAULT_SVG_PROPS = {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: '0 0 64 64',\n fill: 'none',\n};\n\nexport const DEFAULT_ANIMATION_PROPS = {\n attributeName: 'transform',\n type: 'rotate',\n repeatCount: 'indefinite',\n};\n\nexport const DEFAULT_STROKE_WIDTH = 8;\n\nexport const DIRECTIONS = {\n clockwise: {\n from: '0 0 0',\n to: '360 0 0',\n },\n anticlockwise: {\n from: '360 0 0',\n to: '0 0 0',\n },\n};\n\nexport const PATHS = {\n path1: {\n stroke: 'url(#spinner-secondHalf)',\n d: 'M 60 32 A 28 28 0 0 1 4 32',\n },\n path2: {\n stroke: 'url(#spinner-firstHalf)',\n d: 'M 4 32 A 28 28 0 0 1 60 32',\n },\n};\n\nexport const LINEAR_GRAIDENT_PROPS = {\n firstHalf: {\n id: 'spinner-firstHalf',\n stop1: {\n offset: '0%',\n stopOpacity: '0.5',\n stopColor: 'currentColor',\n },\n stop2: {\n offset: '100%',\n stopOpacity: '1',\n stopColor: 'currentColor',\n },\n },\n secondHalf: {\n id: 'spinner-secondHalf',\n stop1: {\n offset: '0%',\n stopOpacity: '0.5',\n stopColor: 'currentColor',\n },\n stop2: {\n offset: '100%',\n stopOpacity: '0',\n stopColor: 'currentColor',\n },\n },\n};\n", "import { DIRECTIONS } from './constants';\nimport clsx from 'clsx';\n\ninterface AnimationProps {\n dur: string;\n from: string;\n to: string;\n}\n\nexport interface LoadingSpinnerPropsHook {\n className: string;\n animationProps: AnimationProps;\n}\n\nexport default function useLoadingSpinnerProps(\n duration: number,\n antiClockwise: boolean,\n stroke: string,\n initialClassName: string,\n): LoadingSpinnerPropsHook {\n const className = clsx(\n initialClassName,\n stroke ? `stroke-current text-${stroke}` : '',\n );\n\n const animationProps = {\n dur: `${duration}ms`,\n ...(antiClockwise ? DIRECTIONS.anticlockwise : DIRECTIONS.clockwise),\n };\n\n return {\n className,\n animationProps,\n };\n}\n", "import React, { type FunctionComponent, type MouseEvent } from 'react';\nimport type { HomeLinkProps } from '~/components/ConfigWrapper';\nimport { MENU_MODAL_ID } from '~/components/Menu/constants';\nimport Animations from '~/components/Animations';\nimport AnimatedModalContainer from '~/components/Modal/AnimatedModalContainer';\nimport ModalLayoutSlideLeft from '~/components/Modal/ModalLayout/ModalLayoutSlideLeft';\nimport Icon from '~/components/Icon';\nimport HelpButton from '~/components/HelpButton';\nimport MenuHeader from './MenuHeader';\n\nexport interface MenuItem {\n name: string;\n icon: string;\n href?: string;\n target?: string;\n to?: string;\n onClick?: (e: MouseEvent) => void;\n stroke?: string;\n size?: number;\n}\n\nexport interface MenuProps {\n items: MenuItem[];\n footer?: JSX.Element | JSX.Element[];\n companyName?: string | JSX.Element | JSX.Element[];\n companyProfilePicture?: string;\n plan?: string | JSX.Element | JSX.Element[];\n linkComponent?: FunctionComponent<HomeLinkProps>;\n hideHelp?: boolean;\n}\n\nconst Menu: FunctionComponent<MenuProps> = function ({\n items = [],\n linkComponent: LinkComponent = 'a',\n footer,\n companyName,\n companyProfilePicture,\n plan,\n hideHelp = false,\n}) {\n return (\n <AnimatedModalContainer id={MENU_MODAL_ID} opacity={50}>\n {({ isVisible, hideModal, handleClose }) => (\n <Animations.SlideLeft show={isVisible} onEnd={hideModal}>\n <ModalLayoutSlideLeft\n footer={footer}\n header={\n <MenuHeader\n companyName={companyName}\n companyProfilePicture={companyProfilePicture}\n plan={plan}\n onClose={handleClose}\n hideHelp={hideHelp}\n />\n }\n >\n <>\n <div className=\"-mt-8\">\n {items.map(({ icon, name, stroke, size, ...itemProps }, i) => (\n <div\n onClick={handleClose}\n className=\"cursor-pointer mt-8\"\n key={String(i)}\n >\n <LinkComponent {...itemProps}>\n <div className=\"flex flex-1 w-full h-8 items-center \">\n <Icon icon={icon} stroke={stroke} size={size || 32} />\n <p className=\"ml-4 style-d-em\">{name}</p>\n </div>\n </LinkComponent>\n </div>\n ))}\n </div>\n {!hideHelp && (\n <div className=\"flex flex-row mt-8\">\n <HelpButton variant=\"text\" />\n </div>\n )}\n </>\n </ModalLayoutSlideLeft>\n </Animations.SlideLeft>\n )}\n </AnimatedModalContainer>\n );\n};\n\nexport default Menu;\n", "export const MENU_MODAL_ID = 'menu';\n", "import React, { forwardRef } from 'react';\nimport useModalLayoutSlideLeftClassNames from './useModalLayoutSlideLeftClassNames';\n\ninterface ModalLayoutSlideLeftProps {\n children?: JSX.Element | JSX.Element[];\n /**\n * Header component\n */\n header?: JSX.Element | JSX.Element[];\n /**\n * Footer component\n */\n footer?: JSX.Element | JSX.Element[];\n /**\n * Removes header border\n */\n noBorder?: boolean;\n}\n\nconst ModalLayoutSlideLeft = forwardRef<\n HTMLDivElement,\n ModalLayoutSlideLeftProps\n>(({ children, header, footer, noBorder = false }, ref) => {\n const classNames = useModalLayoutSlideLeftClassNames(noBorder);\n\n return (\n <div className={classNames.container} ref={ref}>\n <div className={classNames.wrapper}>\n <div className={classNames.header}>{header}</div>\n <div className={classNames.content}>{children}</div>\n <div className={classNames.footer}>{footer}</div>\n </div>\n </div>\n );\n});\n\nModalLayoutSlideLeft.displayName = 'ModalLayoutSlideLeft';\n\nexport default ModalLayoutSlideLeft;\n", "import { useEffect } from 'react';\nimport clsx from 'clsx';\nimport {\n BODY_SLIDE_LEFT_MODAL_CLASS_NAME,\n CLASS_NAMES,\n SLIDE_LEFT_MODAL_CLASS_NAME,\n} from './constants';\nimport { getDocument } from '~/common/helpers';\n\nexport interface ModalLayoutSlideLeftClassNamesHook {\n header: string;\n container: string;\n wrapper: string;\n content: string;\n footer: string;\n}\n\nexport default function useModalLayoutSlideLeftClassNames(\n noBorder: boolean,\n): ModalLayoutSlideLeftClassNamesHook {\n const { headerBase, headerBorder, ...classNames } = CLASS_NAMES;\n\n const header = clsx(headerBase, noBorder ? '' : headerBorder);\n\n useEffect(() => {\n document.body.classList.add(BODY_SLIDE_LEFT_MODAL_CLASS_NAME);\n\n return () => {\n if (\n getDocument()?.getElementsByClassName(SLIDE_LEFT_MODAL_CLASS_NAME)\n .length === 0\n ) {\n getDocument()?.body.classList.remove(BODY_SLIDE_LEFT_MODAL_CLASS_NAME);\n }\n };\n }, []);\n\n return {\n ...classNames,\n header,\n };\n}\n", "export const BODY_SLIDE_LEFT_MODAL_CLASS_NAME = 'slide-left-modal-visible';\n\nexport const SLIDE_LEFT_MODAL_CLASS_NAME = 'slide-left-modal';\n\nexport const CLASS_NAMES = {\n container: `${SLIDE_LEFT_MODAL_CLASS_NAME} w-screen max-w-sm min-h-vvp bg-neutral-000 absolute right-0`,\n headerBase: 'w-full',\n headerBorder: 'border-b border-neutral-200',\n wrapper: 'flex flex-1 w-full min-h-full flex-col absolute pb-6',\n content: 'flex flex-1 flex-col py-8 px-6 self-stretch',\n footer: 'flex w-full px-6',\n};\n", "import React, { FunctionComponent } from 'react';\nimport { Img } from 'react-image';\nimport Button from '~/components/Button';\nimport HeaderBase from '~/components/Header/HeaderBase';\nimport { CLASS_NAMES } from './constants';\nimport { DEFAULT_AVATAR_ICON_PROPS } from '~/common/constants';\nimport Icon from '~/components/Icon';\n\nexport interface MenuHeaderProps {\n /**\n * On close callback\n */\n onClose: () => void;\n companyName?: string | JSX.Element | JSX.Element[];\n companyProfilePicture?: string;\n plan?: string | JSX.Element | JSX.Element[];\n hideHelp?: boolean;\n}\n\nconst MenuHeader: FunctionComponent<MenuHeaderProps> = function ({\n onClose,\n companyName,\n companyProfilePicture,\n plan,\n hideHelp = false,\n}) {\n return (\n <HeaderBase\n help={!hideHelp}\n hideNumber\n options={[\n <Button.Icon\n id=\"mobile-header-menu-close\"\n key=\"close\"\n onClick={onClose}\n icon=\"close\"\n />,\n ]}\n >\n <div className={CLASS_NAMES.container}>\n {companyProfilePicture ? (\n <Img\n alt={companyName as string}\n className={CLASS_NAMES.companyProfilePicture}\n src={companyProfilePicture}\n loader={<div className={CLASS_NAMES.loader} />}\n unloader={\n <div className={CLASS_NAMES.defaultAvatar}>\n <Icon {...DEFAULT_AVATAR_ICON_PROPS} />\n </div>\n }\n />\n ) : (\n <div className={CLASS_NAMES.defaultAvatar}>\n <Icon {...DEFAULT_AVATAR_ICON_PROPS} />\n </div>\n )}\n <div className={CLASS_NAMES.infoContainer}>\n <p className={CLASS_NAMES.companyName}>{companyName || 'My Kanda'}</p>\n {plan && <p className={CLASS_NAMES.plan}>{plan}</p>}\n </div>\n </div>\n </HeaderBase>\n );\n};\n\nexport default MenuHeader;\n", "export const CLASS_NAMES = {\n container: 'flex flex-1 flex-row items-center bg-neutral-000 pr-20 min-h-28',\n defaultAvatar:\n 'w-12 h-12 my-auto lavender-200 rounded-full flex justify-center items-center',\n loader: 'w-12 h-12 my-auto rounded-full bg-neutral-100',\n companyProfilePicture: 'w-12 h-12 my-auto rounded-full object-contain',\n infoContainer: 'flex flex-1 flex-col ml-4 justify-center my-auto',\n companyName: 'text-style-f-em text-neutral-900',\n plan: 'text-style-g text-neutral-600',\n};\n", "import React, { FunctionComponent, MutableRefObject } from 'react';\nimport Container, { ContainerProps } from './Container';\n\nexport interface ModalContainerChildrenArgs {\n id: string;\n handleClose: () => void;\n ref?: MutableRefObject<HTMLElement | undefined>;\n}\n\nexport interface ModalContainerProps extends ContainerProps {\n overlay?: boolean;\n children: (args: ModalContainerChildrenArgs) => JSX.Element;\n}\n\nconst ModalContainer: FunctionComponent<ModalContainerProps> = function ({\n overlay = false,\n children,\n ...props\n}) {\n return (\n <Container {...props}>\n {({ showBackdrop, backdropClassName, ...rest }) => (\n <div className={`\"w-vvp h-vvp\" ${overlay ? 'absolute top-0' : ''}`}>\n {showBackdrop && <div className={backdropClassName} />}\n {children({\n ...rest,\n })}\n </div>\n )}\n </Container>\n );\n};\n\nexport default ModalContainer;\n", "import { FunctionComponent, useCallback, useContext } from 'react';\nimport ReactDOM from 'react-dom';\nimport clsx from 'clsx';\nimport { ModalsWrapperContext } from '~/components/ModalsWrapper';\nimport useOuterClick, { OuterClickHook } from '~/hooks/useOuterClick';\nimport { opacitySuffix } from '../helpers';\nimport type { OPACITIES } from '../constants';\nimport { BACKDROP_CLASS_NAME } from '../constants';\nimport { getDocument } from '~/common/helpers';\n\nexport interface ContainerChildrenArgs {\n id: string;\n showBackdrop: boolean;\n backdropClassName: string;\n handleClose: () => void;\n ref: OuterClickHook;\n}\n\nexport interface ContainerProps {\n /**\n * The ID of the modal\n */\n id: string;\n /**\n * The opacity oif the background\n */\n opacity?: typeof OPACITIES[number];\n children: (args: ContainerChildrenArgs) => JSX.Element;\n}\n\nconst Container: FunctionComponent<ContainerProps> = function ({\n id,\n opacity = 5,\n children,\n}) {\n const { visibleModals, hideModal } = useContext(ModalsWrapperContext);\n\n const suffix = opacitySuffix(opacity);\n\n const backdropClassName = clsx(BACKDROP_CLASS_NAME, `opacity${suffix}`);\n\n const showBackdrop = visibleModals.indexOf(id) === 0;\n\n /*\n * Handles close logic\n */\n const handleClose = useCallback(() => {\n hideModal(id);\n }, [id, hideModal]);\n\n /*\n * Uses hook to call close when the click is outside of modal\n */\n const ref = useOuterClick(handleClose);\n\n /*\n * Displays nothing if modal is not visible\n */\n if (visibleModals.indexOf(id) === -1) {\n return null;\n }\n\n /*\n * Uses portal to move modal \"modals\" div on root so it would not have problems with z-index\n */\n return ReactDOM.createPortal(\n children({ id, showBackdrop, backdropClassName, handleClose, ref }),\n getDocument()?.getElementById('modals') as HTMLElement,\n );\n};\n\nexport default Container;\n", "import React, { forwardRef } from 'react';\nimport { Icon as IconButton } from '~/components/Button';\nimport type { OPACITIES } from '../../constants';\nimport Container from './Container';\n\ninterface ModalLayoutCenterProps {\n id: string;\n children: JSX.Element | JSX.Element[];\n onClose?: () => void;\n className?: string;\n opacity?: typeof OPACITIES[number];\n}\n\nconst ModalLayoutCenter = forwardRef<HTMLDivElement, ModalLayoutCenterProps>(\n (\n { id, children, onClose, className: initialClassName, opacity = 5 },\n ref,\n ) => (\n <Container initialClassName={initialClassName} opacity={opacity}>\n {({ className }) => (\n <div className={className} ref={ref}>\n <div className=\"flex flex-1 w-full flex-col relative p-6\">\n <div className=\"absolute top-0 right-0 p-3\">\n <IconButton id={`${id}-close`} onClick={onClose} icon=\"close\" />\n </div>\n {children}\n </div>\n </div>\n )}\n </Container>\n ),\n);\n\nModalLayoutCenter.displayName = 'ModalLayoutCenter';\n\nexport default ModalLayoutCenter;\n", "import type { FunctionComponent } from 'react';\nimport type { OPACITIES } from '~/components/Modal/constants';\nimport clsx from 'clsx';\nimport {\n BACKDROP_CLASS_NAME,\n BASE_CLASS_NAME,\n} from '~/components/Modal/ModalLayout/ModalLayoutCenter/constants';\nimport { OPACITY_CLASS_NAMES } from '~/components/Modal/constants';\n\nexport interface ContainerChildrenArgs {\n className: string;\n backdropClassName: string;\n}\n\nexport interface ContainerProps {\n children: (args: ContainerChildrenArgs) => JSX.Element;\n initialClassName?: string;\n opacity?: typeof OPACITIES[number];\n}\n\nconst Container: FunctionComponent<ContainerProps> = function ({\n children,\n initialClassName,\n opacity,\n}) {\n const className = clsx(BASE_CLASS_NAME, initialClassName);\n\n const backdropClassName = clsx(\n BACKDROP_CLASS_NAME,\n OPACITY_CLASS_NAMES[opacity as unknown as number],\n );\n\n return children({\n className,\n backdropClassName,\n });\n};\n\nexport default Container;\n", "export const BASE_CLASS_NAME =\n 'flex flex-1 flex-col fixed bg-neutral-000 top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2 rounded-xl shadow-2xl';\n\nexport const BACKDROP_CLASS_NAME = 'fixed bg-neutral-900 w-full h-full';\n", "import React, { FunctionComponent } from 'react';\nimport useModalLayoutFullScreenClassNames from './useModalLayoutFullScreenClassNames';\n\nexport interface ModalLayoutFullScreenProps {\n children: JSX.Element | JSX.Element[];\n /**\n * Header component\n */\n header?: JSX.Element;\n /**\n * Footer component\n */\n footer?: JSX.Element;\n /**\n * Removes header border\n */\n noBorder?: boolean;\n /**\n * Keep header in place\n */\n stickyHeader?: boolean;\n}\n\nconst ModalLayoutFullScreen: FunctionComponent<ModalLayoutFullScreenProps> =\n function ({\n children = null,\n header,\n footer,\n noBorder = false,\n stickyHeader = false,\n }) {\n const classNames = useModalLayoutFullScreenClassNames(\n noBorder,\n stickyHeader,\n );\n\n return (\n <div className={classNames.container}>\n <div className={classNames.wrapper}>\n <div className={classNames.header}>{header}</div>\n <div className={classNames.content}>{children}</div>\n <div className={classNames.footer}>{footer}</div>\n </div>\n </div>\n );\n };\n\nexport default ModalLayoutFullScreen;\n", "import { useEffect } from 'react';\nimport clsx from 'clsx';\nimport { getDocument } from '~/common/helpers';\nimport {\n CLASS_NAMES,\n FULLSCREEN_MODAL_CLASS_NAME,\n BODY_FULLSCREEN_MODAL_CLASS_NAME,\n} from './constants';\n\nexport interface ModalLayoutFullScreenClassNamesHook {\n container: string;\n wrapper: string;\n content: string;\n footer: string;\n header: string;\n}\n\nexport default function useModalLayoutFullScreenClassNames(\n noBorder: boolean,\n stickyHeader: boolean,\n): ModalLayoutFullScreenClassNamesHook {\n const { headerBase, headerBorder, ...classNames } = CLASS_NAMES;\n\n const header = clsx(\n headerBase,\n noBorder ? '' : headerBorder,\n stickyHeader ? 'sticky top-0' : '',\n );\n\n useEffect(() => {\n document.body.classList.add(BODY_FULLSCREEN_MODAL_CLASS_NAME);\n\n return () => {\n if (\n getDocument()?.getElementsByClassName(FULLSCREEN_MODAL_CLASS_NAME)\n .length === 0\n ) {\n getDocument()?.body.classList.remove(BODY_FULLSCREEN_MODAL_CLASS_NAME);\n }\n };\n }, []);\n\n return {\n ...classNames,\n header,\n };\n}\n", "export const BODY_FULLSCREEN_MODAL_CLASS_NAME = 'full-screen-modal-visible';\n\nexport const FULLSCREEN_MODAL_CLASS_NAME = 'full-screen-modal';\n\nexport const CLASS_NAMES = {\n container: `${FULLSCREEN_MODAL_CLASS_NAME} w-screen min-h-vvp bg-neutral-000 absolute overflow-scroll top-0`,\n headerBase: 'w-full bg-neutral-000',\n headerBorder: 'border-b border-neutral-200',\n wrapper: 'flex flex-1 w-full min-h-full flex-col absolute pb-6',\n content: 'flex flex-1 flex-col py-8 px-6 self-stretch',\n footer: 'flex w-full px-6',\n};\n", "import React, { forwardRef, FunctionComponent } from 'react';\nimport Button from '~/components/Button';\nimport type { HomeLinkProps } from '~/components/ConfigWrapper';\nimport { default as Lines } from '~/assets/images/marketing-slide-up-header.svg';\nimport Container from './Container';\nimport { SPACE } from './constants';\n\ninterface ModalLayoutSlideUpProps {\n id: string;\n children: JSX.Element | JSX.Element[];\n onClose?: () => void;\n variant?: 'DEFAULT' | 'MARKETING';\n}\n\nconst ModalLayoutSlideUp = forwardRef<HTMLDivElement, ModalLayoutSlideUpProps>(\n ({ id, children, variant = 'DEFAULT', onClose }, ref) => {\n const LinesTag = Lines as unknown as FunctionComponent<HomeLinkProps>;\n\n return (\n <Container variant={variant}>\n {({ classNames, linesVisible }) => (\n <div className={classNames.container} ref={ref}>\n <div className={classNames.bg}>\n {linesVisible && <LinesTag className=\"w-full\" />}\n </div>\n <img alt=\"\" src={SPACE} className={classNames.space} />\n {onClose && (\n <div className={classNames.header}>\n <Button.Icon\n id={`${id}-close`}\n onClick={onClose}\n icon=\"close\"\n />\n </div>\n )}\n <div className={classNames.wrapper}>{children}</div>\n </div>\n )}\n </Container>\n );\n },\n);\n\nModalLayoutSlideUp.displayName = 'ModalLayoutSlideUp';\n\nexport default ModalLayoutSlideUp;\n", "import * as React from \"react\";\nconst SvgMarketingSlideUpHeader = props => <svg preserveAspectRatio=\"none\" width=\"100%\" height={18} viewBox=\"0 0 484 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><rect width={484} height={6} fill=\"#27DEBF\" /><rect opacity={0.2} x={118} y={6} width={366} height={6} fill=\"#27DEBF\" /><rect opacity={0.2} y={6} width={484} height={6} fill=\"#27DEBF\" /><rect opacity={0.2} y={18} width={18} height={484} transform=\"rotate(-90 0 18)\" fill=\"url(#paint0_linear_0:1)\" /><rect width={484} height={18} transform=\"matrix(-1 0 0 1 484 0)\" fill=\"url(#paint1_linear_0:1)\" /><defs><linearGradient id=\"paint0_linear_0:1\" x1={8.99999} y1={18} x2={8.99999} y2={502} gradientUnits=\"userSpaceOnUse\"><stop stopColor=\"#27DEBF\" /><stop offset={1} stopColor=\"#C4C4C4\" stopOpacity={0} /></linearGradient><linearGradient id=\"paint1_linear_0:1\" x1={484} y1={0} x2={0} y2={0} gradientUnits=\"userSpaceOnUse\"><stop stopColor=\"white\" stopOpacity={0} /><stop offset={1} stopColor=\"white\" stopOpacity={0.5} /></linearGradient></defs></svg>;\nexport default SvgMarketingSlideUpHeader;", "import type { FunctionComponent } from 'react';\n\nimport clsx from 'clsx';\nimport { CLASS_NAMES, VARIANTS } from './constants';\n\nexport interface ContainerChildrenArgs {\n classNames: {\n container: string;\n wrapper: string;\n header: string;\n space: string;\n bg: string;\n };\n linesVisible: boolean;\n}\n\nexport interface ContainerProps {\n variant: 'DEFAULT' | 'MARKETING';\n children: (args: ContainerChildrenArgs) => JSX.Element;\n}\n\nconst Container: FunctionComponent<ContainerProps> = function ({\n variant = 'DEFAULT',\n children,\n}) {\n const { bgBase, ...classNames } = CLASS_NAMES;\n\n const bg = clsx(bgBase, variant !== VARIANTS.MARKETING && 'shadow-c');\n\n const linesVisible = variant === VARIANTS.MARKETING;\n\n return children({\n classNames: {\n ...classNames,\n bg,\n },\n linesVisible,\n });\n};\n\nexport default Container;\n", "import type { StringIndexedObject } from '~/types';\n\nexport const CLASS_NAMES = {\n container: `flex flex-1 flex-col fixed right-0 bottom-0 w-full`,\n wrapper: 'flex flex-1 w-full flex-col relative p-6 pt-10',\n header: 'absolute top-0 right-0 px-3 py-4 z-10',\n space: 'w-full opacity-0',\n bgBase:\n 'absolute top-0 -bottom-10 right-0 left-0 transform skew-y-slide-up origin-full bg-neutral-000',\n};\n\nexport const VARIANTS: StringIndexedObject<string> = {\n MARKETING: 'marketing',\n DEFAULT: 'default',\n};\n\nexport const SPACE =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAaoAAAAcCAYAAAAwa/sqAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAIpSURBVHgB7dxdjoIwFIbh4k/inbgCu/9NeOmi1DA9DdUjqY5YgULfJ2FaxQgXE79pv4yVAQBgYKfTSYZ6t9vVMrler7ZpGpnXVVXt3XiQ+Wq1knkt59xh3bypDAAAH9Bhc7vddJgYFzZ+dEFzlLF9vm7D6H7+CwQVAJTkfD7LYOVHz7CRlU9txkdQAcDc6LDpsYVmzHRhk4KgAoCxJfQ1KVtoc0VQAcC3XOCM3deUiKACUDa3jWZlfBE2YVWTS19TIoIKwPyFsCmgrykRQQVgepEttKewCVtohr6mRAQVgN+gr8FACCoAD7EtNHlMX4MJEVTA0tDXYGEIKiA3b7bQ6GtQIoIKGAJ9DfAzBBXwCn0NkAWCCnmTr5pxKxP5Z0wJBH8IFwZ+dGFx/x2OnV+v11bGSF/j5/Q1QPaajQEG9mnYhOf1+cvlElYy4bDt24awufc1nfN+lGuG9wrX08K19P0AyAtBhY+039YsK5PYh3vlwsY/7hk2x85o1Wv84+12+zZs9L2o+wGwIARVQWJhoz7Yn8Imct6qUYfJsZ3vI+f9QdgASEFQzUhqX2PiYbN/Mdev7bWF1rkmACQhqEZGXwMA/RBUX5igr2ELDUCxigyqsKoR9DUAkLfZBlVKX6NWNcIa+hoAyNakQRW20Mbua/5b1ehr6fsBAIwvOahS+hrzCA/6GgBA1GbKviYETXg/wgYA0CUrqnd9zaEdh+hrGgMAy8Bf0QP6A9tBPu/advbCAAAAAElFTkSuQmCC';\n", "import React, { FunctionComponent } from 'react';\nimport useNavigationLinkClassNames from '~/components/NavigationLink/useNavigationLinkClassNames';\nimport SkeletonLoader from '~/components/SkeletonLoader';\nimport Icon from '~/components/Icon';\nimport { ICON_PROPS, SKELETONS } from './constants';\n\nexport interface NavigationLinkProps {\n title?: string | JSX.Element | JSX.Element[];\n subtitle?: string | JSX.Element | JSX.Element[];\n badgeColor?: string;\n className?: string;\n isLoading?: boolean;\n children?: JSX.Element | JSX.Element[] | string;\n}\n\nconst NavigationLink: FunctionComponent<NavigationLinkProps> = function ({\n className = '',\n title,\n subtitle,\n badgeColor = '',\n isLoading,\n}) {\n const classNames = useNavigationLinkClassNames(className, badgeColor);\n\n return (\n <div className={classNames.container}>\n <div className={classNames.content}>\n <div className={classNames.titleWrapper}>\n <span className={classNames.title}>\n <SkeletonLoader\n {...SKELETONS.title}\n isLoading={isLoading}\n afterLoading={title as JSX.Element}\n />\n </span>\n {!isLoading && badgeColor && <div className={classNames.badge} />}\n </div>\n <p className={classNames.subtitle}>\n <SkeletonLoader\n {...SKELETONS.subtitle}\n isLoading={isLoading}\n afterLoading={subtitle as JSX.Element}\n />\n </p>\n </div>\n <div>\n <Icon isLoading={isLoading} {...ICON_PROPS} />\n </div>\n </div>\n );\n};\n\nexport default NavigationLink;\n", "import clsx from 'clsx';\n\nimport { NAVIGATON_LINK_CLASS_NAMES } from './constants';\n\nexport interface NavigationLinkClassNamesHook {\n content: string;\n titleWrapper: string;\n title: string;\n subtitle: string;\n container: string;\n badge: string;\n}\n\nexport default function useNavigationLinkClassNames(\n initialClassName: string,\n badgeColor: string,\n): NavigationLinkClassNamesHook {\n const { containerBase, badgeBase, ...classNames } =\n NAVIGATON_LINK_CLASS_NAMES;\n\n const container = clsx(containerBase, initialClassName);\n const badge = badgeColor && clsx(badgeBase, `bg-${badgeColor}`);\n\n return {\n ...classNames,\n container,\n badge,\n };\n}\n", "export const NAVIGATON_LINK_CLASS_NAMES = {\n containerBase: 'w-full flex flex-1 flex-row relative items-center',\n content: 'w-full flex flex-1 flex-col',\n titleWrapper: 'flex flex-1 flex-row',\n title: 'text-style-f-em text-neutral-700 relative',\n subtitle: 'text-style-g text-neutral-600 mt-0.5',\n badgeBase: 'ml-1 w-2 h-2 rounded-full',\n};\n\nexport const ICON_PROPS = {\n icon: 'chevron-right',\n stroke: 'neutral-500',\n size: 20,\n};\n\nexport const SKELETONS = {\n title: {\n width: 160,\n },\n subtitle: {\n width: 200,\n },\n icon: {\n width: 24,\n height: 24,\n },\n};\n", "import React, { FunctionComponent } from 'react';\nimport usePaginationProps from './usePaginationProps';\nimport PaginationNavButton from './PaginationNavButton';\nimport PaginationNumberButton from './PaginationNumberButton';\nimport { CLASS_NAMES } from './constants';\n\nexport interface PaginationProps {\n pageIndex: number;\n pageCount: number;\n setPage: (pageIndex: number) => void;\n}\n\nconst Pagination: FunctionComponent<PaginationProps> = function ({\n pageIndex,\n pageCount,\n setPage,\n}) {\n const { buttons, previousPage, previousDisabled, nextPage, nextDisabled } =\n usePaginationProps(pageIndex, pageCount, setPage);\n\n return (\n <div className={CLASS_NAMES.container}>\n <PaginationNavButton\n id=\"pagination-nav-previous\"\n onClick={previousPage}\n disabled={previousDisabled}\n next={false}\n />\n <div className={CLASS_NAMES.buttonWrapper}>\n {buttons.map((button) => (\n <PaginationNumberButton key={button.id} {...button} />\n ))}\n </div>\n <PaginationNavButton\n id=\"pagination-nav-next\"\n onClick={nextPage}\n disabled={nextDisabled}\n next\n />\n </div>\n );\n};\n\nexport default Pagination;\n", "import { useMemo, useCallback } from 'react';\nimport { createButtons } from './helpers';\nimport type { PaginationNumberButtonProps } from './PaginationNumberButton';\n\nexport interface PaginationPropsHook {\n buttons: PaginationNumberButtonProps[];\n nextPage: () => void;\n previousPage: () => void;\n nextDisabled: boolean;\n previousDisabled: boolean;\n}\n\nexport default function usePaginationProps(\n pageIndex: number,\n pageCount: number,\n setPage: (pageIndex: number) => void,\n): PaginationPropsHook {\n const buttons = useMemo(\n () => createButtons(pageIndex, pageCount, setPage),\n [setPage, pageCount, pageIndex],\n );\n\n const nextPage = useCallback(\n () => setPage(pageIndex + 1),\n [pageIndex, setPage],\n );\n const previousPage = useCallback(\n () => setPage(pageIndex - 1),\n [pageIndex, setPage],\n );\n const nextDisabled = pageIndex === pageCount - 1;\n const previousDisabled = pageIndex === 0;\n\n return {\n buttons,\n nextPage,\n previousPage,\n nextDisabled,\n previousDisabled,\n };\n}\n", "import type { PostiveOrNegativeNumber } from '~/types';\nimport type { PaginationNumberButtonProps } from '~/components/Pagination/PaginationNumberButton';\n\n/**\n * Takes the current page index and the total page count, and determines the\n * button array to generate the pagination buttons\n * @param index - the 0 indexed current page index\n * @param count - the total number of pages\n */\nexport const generateButtonArray = (\n index: number,\n count: number,\n): PostiveOrNegativeNumber[] => {\n // If less than 6, all numbers are shown\n if (count < 6) return Array.from({ length: count }, (_, index) => index + 1);\n\n // If at the 0 boundary, create array with first 3 buttons, ellipses, then\n // final button numbers\n if (index === 0)\n return [...[...new Array(3).keys()].map((value) => value + 1), -1, count];\n\n // If at the end boundary, create array with first button, ellipses, then\n // final 3 button numbers\n if (index === count - 1)\n return [\n 1,\n -1,\n ...[...new Array(3).keys()].map((value) => value + count - 2),\n ];\n\n // Construct initial array\n const initialArray: PostiveOrNegativeNumber[] = [-2, -1, 0, 1, 2]\n // map values to value + index + 1 (to account for 0 indexed)\n .map((i) => i + index + 1)\n // reduce final array to remove buttons whose numbers are too low\n .reduce((final, value) => {\n // If less than 2, remove\n if (value < 2) return final;\n // If more than the page count - 1, then remove\n if (value > count - 1) return final;\n // If value is less than then index (2 less than current page), remove\n if (value < index) {\n final.push(-1);\n return final;\n }\n // If value is more than then index + 2 (2 more than current page), remove\n if (value > index + 2) {\n final.push(-1);\n return final;\n }\n // Add value to final array\n final.push(value);\n return final;\n }, [] as PostiveOrNegativeNumber[]);\n\n // Return final array with first and last numbers as well\n return [1, ...initialArray, count];\n};\n\nexport const createButtons = (\n index: number,\n count: number,\n callback: (index: number) => void,\n): PaginationNumberButtonProps[] => {\n const buttonArray = generateButtonArray(index, count);\n return buttonArray.reduce((buttons, value, currentIndex) => {\n buttons.push({\n id: String(currentIndex),\n text: value === -1 ? '...' : String(value),\n onClick: () => callback(value - 1),\n active: index === value - 1,\n disabled: value === -1 || index === value - 1,\n ellipsis: value === -1,\n });\n return buttons;\n }, [] as PaginationNumberButtonProps[]);\n};\n", "import React, { FunctionComponent, MouseEvent } from 'react';\nimport Icon from '~/components/Icon';\nimport { useButtonTracking } from '~/hooks';\nimport usePaginationNavButtonProps from './usePaginationNavButtonProps';\n\nexport interface PaginationNavButtonProps {\n id: string;\n next?: boolean;\n disabled?: boolean;\n onClick?: (e: MouseEvent) => void;\n}\n\nconst PaginationNavButton: FunctionComponent<PaginationNavButtonProps> =\n function ({ id, onClick: inputOnClick, disabled = false, next = false }) {\n const { className, iconProps } = usePaginationNavButtonProps(\n disabled,\n next,\n );\n\n const { onClick } = useButtonTracking(id, inputOnClick);\n\n return (\n <button\n id={id}\n className={className}\n onClick={onClick}\n disabled={disabled}\n >\n <Icon {...iconProps} />\n </button>\n );\n };\n\nexport default PaginationNavButton;\n", "import clsx from 'clsx';\nimport { CLASS_NAMES, ICONS, ICON_PROPS } from './constants';\nimport type { IconProps } from '~/components/Icon/types';\n\nexport interface PaginationNavButtonPropsHook {\n className: string;\n iconProps: IconProps;\n}\n\nexport default function usePaginationNavButtonProps(\n disabled: boolean,\n next: boolean,\n): PaginationNavButtonPropsHook {\n const className = clsx(\n CLASS_NAMES.base,\n disabled ? CLASS_NAMES.opacity : '',\n next ? CLASS_NAMES.margin.left : CLASS_NAMES.margin.right,\n );\n\n const iconProps = {\n ...ICON_PROPS,\n icon: next ? ICONS.next : ICONS.prev,\n };\n\n return {\n className,\n iconProps,\n };\n}\n", "export const CLASS_NAMES = {\n base: 'flex rounded-full w-8 h-8 border-2 border-neutral-200 bg-neutral-000',\n opacity: 'opacity-50',\n margin: {\n left: 'ml-4',\n right: 'mr-4',\n },\n};\n\nexport const ICONS = {\n next: 'chevron-right',\n prev: 'chevron-left',\n};\n\nexport const ICON_PROPS = {\n size: 16,\n stroke: 'neutral-500',\n className: 'm-auto',\n};\n", "import React, { useMemo, type FunctionComponent, type MouseEvent } from 'react';\nimport { useButtonTracking } from '~/hooks';\nimport usePaginationNumberButtonClassNames from './usePaginationNumberButtonClassNames';\n\nexport interface PaginationNumberButtonProps {\n id: string;\n /**\n * Button text to display\n */\n text: string;\n /**\n * Active state of button\n */\n active: boolean;\n /**\n * Disabled state of button\n */\n disabled: boolean;\n /**\n * onClick function for button\n */\n onClick: (e: MouseEvent) => void;\n /**\n * onClick function for button\n */\n ellipsis: boolean;\n}\n\nconst PaginationNumberButton: FunctionComponent<PaginationNumberButtonProps> =\n function ({\n id: buttonId,\n text,\n onClick: inputOnClick,\n active = false,\n disabled = false,\n ellipsis = false,\n }) {\n const classNames = usePaginationNumberButtonClassNames(active, ellipsis);\n\n const id = useMemo(() => `pagination-nav-page-${buttonId}`, [buttonId]);\n\n const { onClick } = useButtonTracking(id, inputOnClick);\n\n return (\n <button\n id={id}\n className={classNames.button}\n onClick={onClick}\n disabled={disabled}\n >\n <span className={classNames.text}>{text}</span>\n </button>\n );\n };\n\nexport default PaginationNumberButton;\n", "import clsx from 'clsx';\nimport { CLASS_NAMES } from './constants';\nimport type { StringIndexedObject } from '~/types';\n\nexport default function usePaginationNumberButtonClassNames(\n active: boolean,\n ellipsis: boolean,\n): StringIndexedObject<string> {\n const classNames = {\n button: ellipsis\n ? clsx(CLASS_NAMES.base, CLASS_NAMES.normal, CLASS_NAMES.ellipsis)\n : clsx(\n CLASS_NAMES.base,\n active\n ? CLASS_NAMES.active\n : clsx(CLASS_NAMES.normal, CLASS_NAMES.hover),\n ),\n text: 'm-auto',\n };\n\n return classNames;\n}\n", "export const CLASS_NAMES = {\n base: 'w-8 h-8 flex rounded-full text-style-g-em mr-0.5 last:mr-0',\n hover: 'hover:bg-turquoise-200 hover:text-turquoise-400',\n ellipsis: 'cursor-default',\n active: 'bg-turquoise-100 text-turquoise-400',\n normal: 'bg-neutral-000 text-neutral-500',\n};\n", "export const CLASS_NAMES = {\n container: 'flex flex-row',\n buttonWrapper: 'flex flex-row',\n};\n", "import React, { type FunctionComponent, type HTMLAttributes } from 'react';\nimport usePlaceHolderClassNames from '~/components/PlaceHolder/usePlaceHolderClassNames';\n\nexport interface PlaceHolderProps\n extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {\n children?: JSX.Element;\n className?: string;\n backgroundColour?: string;\n /**\n * Title of card\n */\n title?: JSX.Element | string;\n /**\n * Call to action element\n */\n cta?: JSX.Element | string;\n /**\n * Set's content to top\n */\n top?: boolean;\n}\n\nconst PlaceHolder: FunctionComponent<PlaceHolderProps> = function ({\n children = null,\n title,\n cta,\n className = '',\n top = false,\n backgroundColour = '',\n ...restProps\n}) {\n const classNames = usePlaceHolderClassNames(className, backgroundColour, top);\n\n return (\n <div className={classNames.container} {...restProps}>\n <div className={classNames.wrapper}>\n <div className={classNames.effect}>\n <div className={classNames.content}>\n <div className={classNames.title}>{title} </div>\n <div className={classNames.cta}>{cta}</div>\n </div>\n </div>\n </div>\n\n <div className={classNames.background} />\n </div>\n );\n};\n\nexport default PlaceHolder;\n", "import clsx from 'clsx';\n\nimport { PLACE_HOLDER_CLASS_NAMES } from './constants';\n\nexport interface PlaceholderClassNamesHook {\n content: string;\n title: string;\n cta: string;\n container: string;\n wrapper: string;\n background: string;\n effect: string;\n}\n\nexport default function usePlaceHolderClassNames(\n className: string,\n backgroundColour: string,\n top: boolean,\n): PlaceholderClassNamesHook {\n const {\n baseContainer,\n baseWrapper,\n baseBackground,\n baseEffect,\n ...classNames\n } = PLACE_HOLDER_CLASS_NAMES;\n\n const container = clsx(baseContainer, className);\n const wrapper = clsx(baseContainer, !top && 'justify-center');\n const background = clsx(\n baseBackground,\n backgroundColour ? `to-${backgroundColour}` : 'to-neutral-000',\n );\n const effect = clsx(\n baseEffect,\n backgroundColour ? `from-${backgroundColour}` : 'from-neutral-000',\n );\n\n return {\n ...classNames,\n container,\n wrapper,\n background,\n effect,\n };\n}\n", "export const PLACE_HOLDER_CLASS_NAMES = {\n baseContainer:\n 'w-full h-full flex flex-1 flex-col bg-placeholder-card bg-100 relative',\n baseWrapper: 'relative w-full h-full flex flex-1 flex-col items-center',\n baseBackground:\n 'absolute w-full h-2/6 bottom-0 z-2 bg-gradient-to-b from-transparent-white',\n baseEffect:\n ' w-full h-2/3 flex flex-col items-center justify-center bg-gradient-radial to-transparent-white',\n content: 'justify-items-center flex-col p-8',\n title: 'text-style-d-em text-neutral-500 flex flex-1 text-center',\n cta: 'mt-6 flex items-center justify-center',\n};\n", "import React, { FunctionComponent, MutableRefObject } from 'react';\nimport useStandardPopover from '~/components/Popover/Standard/useStandardPopover';\n\nexport interface StandardHandleCloseArgs {\n handleClose: () => void;\n}\n\nexport type StandardHandleClose = (\n args: StandardHandleCloseArgs,\n) => JSX.Element | JSX.Element[];\n\nexport interface StandardProps {\n children: StandardHandleClose;\n button?: JSX.Element | JSX.Element | null;\n className?: string;\n /**\n * Position above button rather than below\n */\n above?: boolean;\n /**\n * Position popover to right-align rather than left-align\n */\n right?: boolean;\n /**\n * Visible state\n */\n visible?: boolean | number;\n /**\n * Y margin shift - tailwind className\n */\n yMargin?: string;\n /**\n * X margin shift - tailwind className\n */\n xMargin?: string;\n}\n\nconst Standard: FunctionComponent<StandardProps> = function ({\n children,\n above = false,\n right = false,\n visible = false,\n button = null,\n yMargin,\n xMargin,\n}) {\n const {\n classNames,\n showPopover,\n button: Button,\n ref,\n handleClose,\n } = useStandardPopover({\n above,\n right,\n visible,\n button,\n yMargin,\n xMargin,\n });\n\n return (\n <div className={classNames.container}>\n {Button}\n {showPopover && (\n <div\n ref={ref as MutableRefObject<HTMLDivElement>}\n className={classNames.wrapper}\n >\n {children({ handleClose })}\n </div>\n )}\n </div>\n );\n};\n\nexport default Standard;\n", "import {\n useState,\n cloneElement,\n useCallback,\n useEffect,\n useMemo,\n FunctionComponentElement,\n} from 'react';\n\nimport { CLASS_NAMES } from './constants';\nimport useOuterClick, { type OuterClickHook } from '~/hooks/useOuterClick';\nimport useEscClick from '~/hooks/useEscClick';\nimport { useClasses } from '~/hooks';\n\nimport type { StandardProps } from './index';\nimport type { StringIndexedObject } from '~/types';\n\nexport type StandardPopoverArgs = Omit<StandardProps, 'children'>;\n\nexport interface StandardPopoverHook {\n handleClose: () => void;\n classNames: StringIndexedObject;\n showPopover: boolean;\n onClick: (e: MouseEvent) => void;\n button: FunctionComponentElement<any> | null | undefined;\n ref: OuterClickHook;\n}\n\nexport default function useStandardPopover({\n button,\n above,\n right,\n visible,\n className,\n xMargin,\n yMargin,\n}: StandardPopoverArgs): StandardPopoverHook {\n const [showPopover, setShowPopover] = useState(visible);\n\n const onClick = (e: MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n setShowPopover(!showPopover);\n };\n\n const hidePopover = () => setShowPopover(false);\n\n /**\n * Handles close logic\n */\n const handleClose = useCallback(() => setShowPopover(false), []);\n\n /*\n * Uses hook to call close when the click is outside of modal\n */\n const ref = useOuterClick(hidePopover);\n /*\n * Uses hook to call close when the click is outside of modal\n */\n useEscClick(hidePopover);\n\n const newButton =\n button && cloneElement(button, { onClick: (e: MouseEvent) => onClick(e) });\n\n const y = useMemo(() => {\n if (yMargin) return yMargin;\n return above ? 'mb-1.5' : 'mt-1.5';\n }, [above, yMargin]);\n\n const classNames = useClasses(CLASS_NAMES, {\n container: ['relative', className],\n wrapper: [\n '.baseWrapper',\n above ? 'bottom-full' : 'top-full',\n y,\n right ? 'right-0' : 'left-0',\n xMargin || '',\n ],\n });\n\n /**\n * Update state when prop changes\n */\n useEffect(() => {\n setShowPopover(visible);\n }, [visible]);\n\n return {\n handleClose,\n classNames,\n showPopover: showPopover as boolean,\n onClick,\n button: newButton,\n ref,\n };\n}\n", "export const CLASS_NAMES = {\n baseWrapper:\n 'absolute border border-neutral-200 rounded-lg bg-neutral-000 shadow-popover z-30',\n};\n", "import React, { FunctionComponent } from 'react';\nimport useAdvancedProps from '~/components/Popover/Advanced/useAdvancedProps';\nimport PopoverMenu from '~/components/PopoverMenu';\nimport type { PopoverMenuItemProps } from '~/components/PopoverMenu/PopoverMenuItem';\nimport type { AdvancedItem, AdvancedProps } from './types';\n\nexport type { AdvancedProps };\n\nconst Advanced: FunctionComponent<AdvancedProps> = function ({\n button,\n above = false,\n right = false,\n onAction,\n items: originalItems = [],\n wrapper: ButtonWrapper = ({ children }) => children,\n search: SearchResults,\n searchInput: SearchInput,\n searchPlaceholder = 'Search..',\n searchDebounceInterval = 200,\n size = 'xs',\n variant = 'panel-full',\n selectedColorVariant = 'default',\n ...props\n}) {\n const {\n classNames,\n showPopover,\n button: Button,\n panel,\n ref,\n handleClose,\n panelStyle,\n items,\n debouncedSearch,\n onSearch,\n clearSearch,\n showPanel,\n value,\n } = useAdvancedProps({\n button,\n above,\n right,\n items: originalItems as AdvancedItem[],\n onAction,\n searchDebounceInterval,\n variant,\n });\n\n const SearchResultsTag = SearchResults as unknown as FunctionComponent<any>;\n const SearchInputTag = SearchInput as unknown as FunctionComponent<any>;\n\n return (\n <div className={classNames.wrapper}>\n {showPopover && (\n <div ref={ref} className={classNames.container}>\n <div className={classNames.panelWrapper}>\n <div className={classNames.popover}>\n <PopoverMenu\n header={\n SearchResults && (\n <SearchInputTag\n value={value}\n placeholder={searchPlaceholder}\n onChange={onSearch}\n />\n )\n }\n size={size}\n items={items as PopoverMenuItemProps[]}\n selectedColorVariant={selectedColorVariant}\n onClose={handleClose}\n {...props}\n content={\n debouncedSearch ? (\n <SearchResultsTag\n query={debouncedSearch}\n clearSearch={clearSearch}\n handleClose={handleClose}\n />\n ) : null\n }\n {...props}\n />\n </div>\n {showPanel && (\n <div style={panelStyle} className={classNames.panel}>\n {panel({ handleClose })}\n </div>\n )}\n </div>\n </div>\n )}\n <ButtonWrapper>{Button as JSX.Element}</ButtonWrapper>\n </div>\n );\n};\n\nexport default Advanced;\n", "import {\n useState,\n cloneElement,\n useCallback,\n useMemo,\n type MouseEvent,\n MutableRefObject,\n} from 'react';\nimport clsx from 'clsx';\nimport { useDebounce } from 'use-debounce';\nimport {\n VARIANTS,\n PANEL_STYLE,\n BASE_CLASS_NAMES,\n VARIANT_CLASS_NAMES,\n ACTIONS,\n} from './constants';\nimport { emptyPanel, popoverRounding } from './helpers';\nimport { useOuterClick, useEscClick } from '~/hooks';\n\nimport type {\n AdvancedItem,\n AdvancedProps,\n} from '~/components/Popover/Advanced/types';\nimport type { StringIndexedObject } from '~/types';\n\nexport type AdvancedPropsHookArgs = Omit<\n AdvancedProps,\n 'wrapper' | 'className' | 'size' | 'searchInput' | 'searchPlaceholder'\n>;\n\ninterface AdvancedPropsEvent {\n target: {\n value: string;\n };\n}\n\nexport interface AdvancedPanelArgs {\n handleClose: () => void;\n}\n\nexport interface AdvancedPropsHook {\n classNames: StringIndexedObject;\n showPopover: boolean;\n button: JSX.Element | JSX.Element;\n panel: (args: AdvancedPanelArgs) => JSX.Element;\n ref: MutableRefObject<any>;\n handleClose: () => void;\n panelStyle: StringIndexedObject;\n items: AdvancedItem[];\n debouncedSearch: string;\n onSearch: (event: AdvancedPropsEvent) => void;\n clearSearch: () => void;\n showPanel: boolean;\n value: string;\n}\n\nexport default function useAdvancedProps({\n button,\n above,\n right,\n items: originalItems,\n onAction,\n searchDebounceInterval = 100,\n variant = 'panel-full',\n}: AdvancedPropsHookArgs): AdvancedPropsHook {\n const [search, setSearch] = useState('');\n const [debouncedSearch] = useDebounce(search, searchDebounceInterval);\n\n const [showPopover, setShowPopover] = useState(false);\n const [panel, setPanel] = useState<() => JSX.Element>(() => emptyPanel);\n const [selected, setSelected] = useState(-1);\n\n const onClick = useCallback(\n () => setShowPopover(!showPopover),\n [showPopover],\n );\n\n /**\n * Handles close logic\n */\n const handleClose = useCallback(() => {\n if (!showPopover) return;\n setShowPopover(false);\n setPanel(() => emptyPanel);\n }, [showPopover]);\n\n /**\n * Handles chained esc key logic\n */\n const handleEsc = useCallback(() => {\n if (debouncedSearch) {\n setSearch('');\n return;\n }\n if (!showPopover) return;\n if (!!panel) {\n setPanel(() => emptyPanel);\n return;\n }\n setShowPopover(false);\n }, [debouncedSearch, showPopover, panel]);\n\n /*\n * Uses hook to call close when the click is outside of modal\n */\n const ref = useOuterClick(handleClose);\n\n /*\n * Uses hook to call close when the click is outside of modal\n */\n useEscClick(handleEsc);\n\n const newButton = useMemo(\n () =>\n cloneElement(button as JSX.Element, {\n onClick: () => onClick(),\n }),\n [button, onClick],\n );\n\n const containerClassName = clsx(\n BASE_CLASS_NAMES.container,\n above\n ? VARIANT_CLASS_NAMES.above.container\n : VARIANT_CLASS_NAMES.below.container,\n right\n ? VARIANT_CLASS_NAMES.right.container\n : VARIANT_CLASS_NAMES.left.container,\n );\n\n const popoverClassName = clsx(\n BASE_CLASS_NAMES.popover,\n popoverRounding(!!panel, variant, !!right),\n );\n\n const positionVariantClassName = right\n ? VARIANT_CLASS_NAMES.right.panel\n : VARIANT_CLASS_NAMES.left.panel;\n\n const panelClassName = clsx(\n BASE_CLASS_NAMES.panel,\n above ? VARIANT_CLASS_NAMES.above.panel : VARIANT_CLASS_NAMES.below.panel,\n (VARIANT_CLASS_NAMES as StringIndexedObject)[variant]?.panel ||\n positionVariantClassName,\n );\n\n const panelStyle = VARIANTS.includes(variant) ? PANEL_STYLE[variant] : {};\n\n const classNames = {\n ...BASE_CLASS_NAMES,\n container: containerClassName,\n popover: popoverClassName,\n panel: panelClassName,\n };\n\n /**\n * Enhances items\n\n */\n const items = useMemo(\n () =>\n (originalItems as AdvancedItem[]).map((itemProps, i) => {\n const action = itemProps.action || { type: '', panel: null };\n\n /**\n * Handles action click\n * @param {Event} event\n */\n const handleClick = (event: MouseEvent) => {\n if (action.type === ACTIONS.OPEN_PANEL || itemProps.stopPropagation) {\n event.stopPropagation();\n }\n\n if (action.type === ACTIONS.OPEN_PANEL) {\n setSelected(i);\n\n if (!!panel && selected === i) {\n setPanel(() => emptyPanel);\n setSelected(-1);\n\n return;\n }\n\n setPanel(() => action.panel as () => JSX.Element);\n }\n\n if (onAction) {\n onAction(action, event);\n }\n };\n\n const props = {\n ...itemProps,\n onClick: handleClick,\n selected: i === selected,\n };\n\n if (action.type !== ACTIONS.OPEN_PANEL) return props;\n\n return { ...props, arrow: true };\n }),\n [originalItems, selected, onAction, panel],\n );\n\n /**\n * Handles search\n */\n const onSearch = (event: AdvancedPropsEvent) => setSearch(event.target.value);\n\n const value = search;\n\n const clearSearch = () => setSearch('');\n\n const showPanel = panel !== emptyPanel;\n\n return {\n classNames,\n showPopover,\n button: newButton,\n panel,\n ref,\n handleClose,\n panelStyle,\n items,\n debouncedSearch,\n onSearch,\n clearSearch,\n showPanel,\n value,\n };\n}\n", "import type { StringIndexedObject } from '~/types';\n\nexport const VARIANTS = ['default', 'panel-short', 'panel-full', 'green'];\n\nexport const BASE_ROUNDING = 'rounded-lg';\n\nexport const ROUNDING: StringIndexedObject<string> = {\n green: 'rounded-lg mr-2',\n 'panel-short': 'rounded-l-lg rounded-br-lg',\n 'panel-full': 'rounded-l-lg',\n};\n\nexport const ROUNDING_RIGHT: StringIndexedObject<string> = {\n green: 'rounded-lg',\n 'panel-short': 'rounded-r-lg rounded-bl-lg',\n 'panel-full': 'rounded-r-lg',\n};\n\nexport const PANEL_STYLE = {\n default: {},\n green: {},\n 'panel-short': {\n maxHeight: 'calc(100% - 8px)',\n },\n 'panel-full': {\n maxHeight: '100%',\n },\n};\n\nexport const BASE_CLASS_NAMES = {\n wrapper: 'relative max-w-full',\n panelWrapper: 'relative w-full h-full flex flex-row',\n container: 'absolute mt-1.5 z-10',\n popover: 'border border-neutral-200 bg-neutral-000 shadow-popover',\n panel:\n 'absolute border border-neutral-200 bg-neutral-000 shadow-popover z-10 overflow-auto',\n};\n\nexport const VARIANT_CLASS_NAMES = {\n above: {\n container: 'bottom-full',\n panel: 'bottom-0',\n },\n below: {\n container: 'top-full',\n panel: 'top-0',\n },\n right: {\n container: 'right-0',\n panel: 'right-full border-r-0 rounded-l-lg',\n },\n left: {\n container: 'left-0',\n panel: 'left-full border-l-0 rounded-r-lg',\n },\n green: {\n container: 'left-0',\n panel: 'left-full border-l-0 rounded-lg',\n },\n};\n\nexport const ACTIONS = {\n OPEN_PANEL: 'open_panel',\n};\n", "import { VARIANTS, BASE_ROUNDING, ROUNDING, ROUNDING_RIGHT } from './constants';\n\nexport const popoverRounding = (\n showPanel: boolean,\n variant: string,\n right: boolean,\n): string => {\n if (!VARIANTS.includes(variant)) return BASE_ROUNDING;\n if (!showPanel) return BASE_ROUNDING;\n if (right) return ROUNDING_RIGHT[variant];\n return ROUNDING[variant];\n};\n\nexport const emptyPanel = () => null as unknown as JSX.Element;\n", "import React, { type MutableRefObject, type FunctionComponent } from 'react';\nimport { CLASS_NAMES } from './constants';\nimport useStickyPopover from './useStickyPopover';\n\nexport interface StickyProps {\n children: JSX.Element;\n content: JSX.Element;\n}\n\nconst Sticky: FunctionComponent<StickyProps> = function ({\n children,\n content,\n}) {\n const { ref, showPopover, popoverStyle } = useStickyPopover();\n\n return (\n <div ref={ref as MutableRefObject<HTMLDivElement>}>\n {content}\n {showPopover && (\n <div style={popoverStyle} className={CLASS_NAMES.popover}>\n {children}\n </div>\n )}\n </div>\n );\n};\n\nexport default Sticky;\n", "export const CLASS_NAMES = {\n popover:\n 'absolute border border-neutral-200 rounded-lg bg-neutral-000 shadow-popover z-30 p-2 max-w-100',\n};\n", "import {\n useCallback,\n useEffect,\n useRef,\n useState,\n type MutableRefObject,\n type CSSProperties,\n} from 'react';\nimport { useMousePosition } from '~/hooks';\n\nexport interface StickyPopoverHook {\n ref: MutableRefObject<HTMLDivElement | undefined>;\n showPopover: boolean;\n popoverStyle: CSSProperties;\n}\n\nexport default function useStickyPopover(): StickyPopoverHook {\n const ref = useRef<HTMLDivElement>();\n const [showPopover, setShowPopover] = useState(false);\n const { x, y } = useMousePosition(ref as MutableRefObject<HTMLElement>);\n\n const handleMouseEnter = useCallback(() => {\n setShowPopover(true);\n }, [setShowPopover]);\n\n const handleMouseLeave = useCallback(() => {\n setShowPopover(false);\n }, [setShowPopover]);\n\n useEffect(() => {\n if (ref.current) {\n ref.current.addEventListener('mouseenter', handleMouseEnter);\n ref.current.addEventListener('mouseleave', handleMouseLeave);\n return () => {\n if (ref.current) {\n ref.current.removeEventListener('mouseenter', handleMouseEnter);\n ref.current.removeEventListener('mouseleave', handleMouseLeave);\n }\n };\n }\n\n return () => {};\n }, [ref]);\n\n const popoverStyle: CSSProperties = {\n left: `${x}px`,\n top: `${y}px`,\n };\n\n return {\n ref,\n showPopover,\n popoverStyle,\n };\n}\n", "import Standard from './Standard';\nimport Advanced from './Advanced';\nimport Sticky from './Sticky';\n\nconst Popover = {\n Standard,\n Advanced,\n Sticky,\n};\n\nexport default Popover;\n", "import React, { FunctionComponent } from 'react';\nimport NumberFormat, { NumberFormatProps } from 'react-number-format';\nimport usePriceProps from '~/components/Price/usePriceProps';\nimport SkeletonLoader from '~/components/SkeletonLoader';\nimport { SKELETONS } from './constants';\n\nexport interface PriceProps {\n className?: string;\n /**\n * Price color\n */\n color?: string;\n wrapperClassName?: string;\n poundsClassName?: string;\n centsClassName?: string;\n /**\n * Price amount in cents\n */\n amount?: number;\n isLoading?: boolean;\n}\n\nconst Price: FunctionComponent<PriceProps> = function ({\n color = 'turquoise-300',\n amount = 0,\n wrapperClassName = 'h-full', // line height of text-style-b\n poundsClassName = 'text-style-d',\n centsClassName = 'text-style-h-em',\n className = '',\n isLoading = false,\n}) {\n const { classNames, pounds, suffix, centsLabel } = usePriceProps(\n color,\n amount,\n className,\n wrapperClassName,\n );\n\n const NumberFormatTag =\n NumberFormat as unknown as FunctionComponent<NumberFormatProps>;\n\n return (\n <div className={classNames.wrapper}>\n <div className={classNames.container}>\n <div className={poundsClassName}>\n <SkeletonLoader\n isLoading={isLoading}\n {...SKELETONS.pounds}\n afterLoading={\n <NumberFormatTag\n displayType=\"text\"\n value={pounds}\n thousandSeparator\n prefix=\"\u00A3\"\n suffix={suffix}\n />\n }\n />\n </div>\n {!suffix && (\n <div className={centsClassName}>\n <SkeletonLoader\n isLoading={isLoading}\n {...SKELETONS.cents}\n afterLoading={centsLabel}\n />\n </div>\n )}\n </div>\n </div>\n );\n};\n\nexport default Price;\n", "export const CLASS_NAMES = {\n baseWrapper: 'flex items-center',\n baseContainer: 'flex flex-row items-start',\n container: 'flex flex-col w-full',\n wrapper: 'flex flex-col',\n headingMobile: 'block md:hidden',\n headingDesktop: 'hidden md:block',\n grid: 'grid grid-cols-2',\n cardContainer: 'flex flex-col',\n title: 'text-neutral-500 mb-1',\n pounds: 'text-green-500',\n cents: 'text-green-400 text-12-18-em md:pt-px',\n priceWrapper: 'md:min-h-6',\n text: 'text-green-500 md:flex-row',\n};\n\nexport const SKELETONS = {\n pounds: {\n width: 40,\n },\n cents: {\n width: 16,\n },\n};\n\nexport const VARIANTS = {\n default: {\n wrapper: 'border border-neutral-300 p-4 md:p-8 rounded-lg',\n headingMobile: 'text-12-18-em text-neutral-700 mb-2',\n headingDesktop: 'text-16-20-em text-neutral-700 mb-6',\n grid: 'gap-3 md:gap-6',\n title: 'text-10-17-em-up md:text-12-18-em-up ',\n pounds: 'text-18-22-em md:text-24-28-em',\n text: 'text-18-22-em md:text-24-28-em ',\n },\n noBox: {\n wrapper: 'mt-3',\n headingMobile: 'text-14-22-em text-neutral-700 mb-2',\n headingDesktop: 'text-16-20-em text-neutral-700 mb-6',\n grid: 'gap-5 md:gap-6',\n title: 'text-12-18-em-up',\n pounds: 'text-24-28-em',\n text: 'text-24-28-em ',\n },\n};\n", "import { CLASS_NAMES } from './constants';\nimport clsx from 'clsx';\nimport { abbreviateNumber } from '~/helpers/number';\n\nexport interface PricePropsHook {\n classNames: {\n wrapper: string;\n container: string;\n };\n pounds: number;\n suffix: string;\n centsLabel: string;\n}\n\nexport default function usePriceProps(\n colour: string,\n amount: number,\n initialClassName: string,\n initialWrapperClassName: string,\n): PricePropsHook {\n const { baseContainer, baseWrapper } = CLASS_NAMES;\n\n const container = clsx(baseContainer, `text-${colour}`, initialClassName);\n const wrapper = clsx(baseWrapper, initialWrapperClassName);\n\n const [pounds, suffix] = abbreviateNumber(Math.floor(amount / 100));\n const cents = `${Math.round(amount % 100)}`.padStart(2, '0');\n\n const centsLabel = `.${cents}`;\n\n return {\n classNames: {\n wrapper,\n container,\n },\n pounds: pounds as number,\n suffix: suffix as string,\n centsLabel,\n };\n}\n", "/**\n * Abbreviate Number\n * @param {Number} value\n * @param {Number} fixed\n *\n * @returns {Array} value suffix\n */\nexport const abbreviateNumber = (\n value: number,\n fixed = 1,\n): (string | number | null)[] => {\n if (value === null) {\n return [null];\n }\n\n if (value < 100000) {\n return [value];\n }\n\n const powerParts = value.toPrecision(2).split('e'); // get power\n\n const suffixIndex =\n powerParts.length === 1\n ? 0\n : Math.floor(\n Math.min(powerParts[1].slice(1) as unknown as number, 14) / 3,\n ); // floor at decimals, ceiling at trillions\n\n const remainingValue =\n suffixIndex < 1\n ? value.toFixed(0 + fixed)\n : (value / 10 ** (suffixIndex * 3)).toFixed(1 + fixed); // divide by power\n\n const normalizedValue =\n (remainingValue as unknown as number) < 0\n ? remainingValue\n : Math.abs(remainingValue as unknown as number); // enforce -0 is 0\n\n const suffix = ['', 'K', 'M', 'B', 'T'][suffixIndex]; // append power\n\n return [normalizedValue, suffix];\n};\n\n/**\n * Returns the formatted currency.\n * The currency has been left as a variable for future proofing.\n *\n * DEV_NOTE: The locale is currently set to 'en-US', but in the future could\n * take any value from https://gist.github.com/ncreated/9934896 to allow\n * formatting from other countries.\n *\n * @param {number} value The price to be converted in the minor currency unit,\n * e.g. for GBP, in pence (\u00A31.23 -> 123)\n * @param {String} currency The 3-letter currency code as defined by ISO 4217,\n * given in uppercase. See here for codes:\n * https://www2.1010data.com/documentationcenter/prod/1010dataReferenceManual/DataTypesAndFormats/currencyUnitCodes.html\n * Defaults to 'GBP'\n * @param {String} locale The locale of the format. Defaults to 'en-US'.\n * @param {Number} minorUnit The minor unit decimal place of the currency.\n * Defaults to 2 (e.g. GBP has 2 minpr units, \u00A31.23)\n */\nexport const formatToCurrency = (\n value: number,\n currency = 'GBP',\n locale = 'en-US',\n minorUnit = 2,\n): string => {\n const majorUnitValue = value / 10 ** minorUnit;\n const formatter = new Intl.NumberFormat(locale, {\n style: 'currency',\n currency,\n minimumFractionDigits: minorUnit,\n });\n return formatter.format(majorUnitValue);\n};\n", "import React, { type FunctionComponent } from 'react';\nimport { CLASSNAME } from './constants';\n\nexport interface SeparatorProps {}\n\nconst Separator: FunctionComponent<SeparatorProps> = function () {\n return <hr className={CLASSNAME} />;\n};\n\nexport default Separator;\n", "export const CLASSNAME = 'mb-6 border-neutral-200';\n", "import React, { FunctionComponent } from 'react';\nimport { DEFAULT_TOTAL_ITEMS } from './constants';\nimport SkeletonLoader from '~/components/SkeletonLoader';\nimport useStrengthMeter from './useStrengthMeter';\n\nexport interface StrengthMeterProps {\n score: number;\n isLoading?: boolean;\n totalItems?: number;\n}\n\nconst StrengthMeter: FunctionComponent<StrengthMeterProps> = function ({\n score,\n isLoading = false,\n totalItems = DEFAULT_TOTAL_ITEMS,\n}) {\n const { items, classNames } = useStrengthMeter(score, totalItems);\n\n return (\n <SkeletonLoader\n wrapperClassName={classNames.skeletonWrapper}\n isLoading={isLoading}\n afterLoading={\n <div className={classNames.container}>\n {items.map((itemClassName, key) => (\n <div key={String(key)} className={itemClassName} />\n ))}\n </div>\n }\n />\n );\n};\n\nexport default StrengthMeter;\n", "import type { StringIndexedObject } from '~/types';\n\nexport const CLASS_NAMES = {\n container: 'flex flex-row flex-1 w-full',\n baseItem:\n 'flex flex-1 w-full h-1.5 rounded-full mr-1 transition-all duration-300 ease-in-out',\n inactiveItem: '.baseItem bg-neutral-200',\n skeletonWrapper: 'w-full mr-4',\n};\n\nexport const DEFAULT_TOTAL_ITEMS = 5;\n\nexport const SCORE_COLORS = [\n 'neutral-200',\n 'red-200',\n 'orange-200',\n 'turquoise-300',\n 'turquoise-400',\n];\n\n/**\n * Whilst we could just do `bg-${score}`, this wouldn't be picked up by tailwind's\n * JIT build. So we need to explicitly define the colors.\n */\nexport const SCORE_TO_BACKGROUND_CLASS: StringIndexedObject<string> = {\n 'neutral-200': 'bg-neutral-200',\n 'red-200': 'bg-red-200',\n 'orange-200': 'bg-orange-200',\n 'turquoise-300': 'bg-turquoise-300',\n 'turquoise-400': 'bg-turquoise-400',\n};\n", "import { useClasses } from '~/hooks';\n\nimport {\n CLASS_NAMES,\n SCORE_COLORS,\n SCORE_TO_BACKGROUND_CLASS,\n} from './constants';\nimport type { StringIndexedObject } from '~/types';\n\nexport interface StrengthMeterHook {\n items: string[];\n classNames: StringIndexedObject<string>;\n}\n\nexport default function useStrengthMeter(\n score: number,\n totalItems: number,\n): StrengthMeterHook {\n const color = SCORE_COLORS[score];\n\n const classNames = useClasses(CLASS_NAMES, {\n activeItem: ['.baseItem', SCORE_TO_BACKGROUND_CLASS[color]],\n });\n\n const itemsArray = Array.from(Array(totalItems));\n\n const items = itemsArray.map((_, index) =>\n index < score ? classNames.activeItem : classNames.inactiveItem,\n );\n\n return {\n items,\n classNames,\n };\n}\n", "import React, { type FunctionComponent } from 'react';\nimport useTextSlides from './useTextSlides';\n\nexport interface TextSlidesProps {\n children: JSX.Element[];\n autoRotating?: boolean;\n autoRotateTime?: number;\n}\n\nconst TextSlides: FunctionComponent<TextSlidesProps> = function ({\n children,\n autoRotating = true,\n autoRotateTime = 500,\n}) {\n const { activeSlide } = useTextSlides(\n children.length,\n autoRotating,\n autoRotateTime,\n );\n\n return <>{children[activeSlide]}</>;\n};\n\nexport default TextSlides;\n", "import { useEffect, useState } from 'react';\n\nexport interface TextSlidesHook {\n activeSlide: number;\n nextSlide: () => void;\n prevSlide: () => void;\n}\n\nexport default function useTextSlides(\n amountOfSlides: number,\n autoRotating = true,\n autoRotateTime = 500,\n): TextSlidesHook {\n const [activeSlide, setActiveSlide] = useState(0);\n\n const nextSlide = () => {\n if (activeSlide < amountOfSlides - 1) {\n setActiveSlide(activeSlide + 1);\n } else {\n setActiveSlide(0);\n }\n };\n\n const prevSlide = () => {\n if (activeSlide > 0) {\n setActiveSlide(activeSlide - 1);\n } else {\n setActiveSlide(amountOfSlides - 1);\n }\n };\n\n // A useEffect call that will auto rotate the slides based\n // on the autoRotating boolean and autoRotateTime number (in ms)\n useEffect(() => {\n if (autoRotating) {\n const interval = setInterval(() => {\n nextSlide();\n }, autoRotateTime);\n return () => clearInterval(interval);\n }\n\n return () => {};\n }, [activeSlide, autoRotateTime, autoRotating]);\n\n return {\n activeSlide,\n nextSlide,\n prevSlide,\n };\n}\n", "import clsx from 'clsx';\nimport React, { type FunctionComponent } from 'react';\nimport Button from '../Button';\nimport Text from '../Text';\nimport { CLASS_NAMES, FILL_CLASS_NAMES } from './constants';\n\nexport interface TimelineItem {\n title: string;\n date?: string;\n fill: keyof typeof FILL_CLASS_NAMES;\n}\n\nexport interface TimelineProps {\n items: TimelineItem[];\n canDeleteItem?: boolean;\n onDeleteItem?: (item: TimelineItem) => void;\n flipped?: boolean;\n compact?: boolean;\n}\n\nconst Timeline: FunctionComponent<TimelineProps> = function ({\n items,\n canDeleteItem = false,\n onDeleteItem = () => {},\n flipped = false,\n compact = false,\n}) {\n const borderClass = compact\n ? CLASS_NAMES.itemBorderCompact\n : CLASS_NAMES.itemBorder;\n\n return (\n <div className={CLASS_NAMES.wrapper}>\n {items.map((item, key) => {\n const title = (\n <Text text={item.title} className={CLASS_NAMES.itemTitle} />\n );\n const date = item.date && (\n <Text text={item.date} className={CLASS_NAMES.itemDate} />\n );\n\n return (\n <div className={CLASS_NAMES.item}>\n <div className={CLASS_NAMES.itemIconWrapper}>\n <div\n className={clsx(\n borderClass,\n key !== 0 ? CLASS_NAMES.itemBorderActive : '',\n )}\n />\n <div\n className={clsx(\n CLASS_NAMES.itemIcon,\n FILL_CLASS_NAMES[item.fill],\n )}\n />\n <div\n className={clsx(\n borderClass,\n key !== items.length - 1 ? CLASS_NAMES.itemBorderActive : '',\n )}\n />\n </div>\n <div className={CLASS_NAMES.itemContent}>\n {!flipped && (\n <>\n {title}\n {date}\n </>\n )}\n {flipped && (\n <>\n {date}\n {title}\n </>\n )}\n </div>\n {canDeleteItem && (\n <Button.Icon\n id={`delete-${item.title}`}\n icon=\"close\"\n className={CLASS_NAMES.itemCloseIcon}\n onClick={() => {\n onDeleteItem(item);\n }}\n />\n )}\n </div>\n );\n })}\n </div>\n );\n};\n\nexport default Timeline;\n", "import type { StringIndexedObject } from '~/types';\n\nexport const CLASS_NAMES = {\n wrapper: '',\n item: 'flex flex-row justify-start items-center',\n itemIconWrapper: 'flex flex-col items-center',\n itemIcon: 'w-2 h-2 rounded-full -my-2 z-20',\n itemContent: 'ml-4 flex flex-col gap-y-1',\n itemBorder: 'w-1 h-10 top-0 bottom-0',\n itemBorderCompact: 'w-1 h-6 top-0 bottom-0',\n itemBorderActive: 'bg-neutral-200',\n itemTitle: 'text-style-g text-neutral-700 max-w-42',\n itemDate: 'text-style-h text-neutral-500',\n itemCloseIcon: 'ml-3 w-4 h-4 text-neutral-500',\n};\n\nexport const FILL_CLASS_NAMES: StringIndexedObject<string> = {\n green: 'bg-green-500',\n red: 'bg-red-200',\n yellow: 'bg-yellow',\n grey: 'bg-neutral-600',\n};\n", "import React, { FunctionComponent } from 'react';\nimport Icon from '../Icon';\nimport Text from '../Text';\nimport useExpandableContentProps from './useExpandableContentProps';\n\nexport interface ExpandableContentProps {\n showLabel: string;\n hideLabel: string;\n compact?: boolean;\n children: JSX.Element | JSX.Element[];\n}\n\nconst ExpandableContent: FunctionComponent<ExpandableContentProps> = function ({\n showLabel,\n hideLabel,\n compact = false,\n children,\n}) {\n const { showContent, onClick, classNames, icon } =\n useExpandableContentProps(compact);\n\n return (\n <div className={classNames.outerContainer}>\n <button type=\"button\" onClick={onClick} className={classNames.button}>\n <Text\n text={showContent ? hideLabel : showLabel}\n className={classNames.label}\n />\n <Icon\n icon={icon}\n className={classNames.icon}\n size={20}\n stroke=\"neutral-600\"\n />\n </button>\n {showContent && <div className={classNames.container}>{children}</div>}\n </div>\n );\n};\n\nexport default ExpandableContent;\n", "import clsx from 'clsx';\nimport { useCallback, useState } from 'react';\n\nexport interface ExpandableContentPropsHook {\n showContent: boolean;\n onClick: () => void;\n classNames: {\n button: string;\n container: string;\n label: string;\n icon: string;\n };\n icon: string;\n}\n\nexport default function useExpandableContentProps(compact: boolean) {\n const [showContent, setShowContent] = useState(false);\n\n const onClick = useCallback(() => {\n setShowContent(!showContent);\n }, [showContent]);\n\n const classNames = {\n outerContainer: clsx(\n 'flex flex-col mb-4',\n compact ? '' : 'rounded-lg shadow-card',\n ),\n button: clsx(\n 'flex flex-1 flex-row py-4 px-5',\n compact ? '' : 'border border-neutral-300',\n showContent ? 'rounded-t-lg' : 'rounded-lg',\n ),\n container: clsx(\n compact\n ? ''\n : 'py-4 px-5 border border-t-0 border-neutral-300 rounded-b-lg',\n ),\n label: 'text-14-22-em text-neutral-600',\n icon: 'ml-3',\n };\n\n const icon = showContent ? 'chevron-up' : 'chevron-down';\n\n return {\n showContent,\n onClick,\n classNames,\n icon,\n };\n}\n"],
5
- "mappings": "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",
6
- "names": ["React", "React", "SvgKandaWordmark", "props", "kanda_wordmark_default", "Logo", "props", "React", "kanda_wordmark_default", "Logo_default", "React", "useContext", "React", "createContext", "ConfigWrapperContext", "ConfigWrapper", "children", "linkComponent", "desktopHeader", "desktopFooter", "homeLinkProps", "sidebar", "props", "ConfigWrapper_default", "useEffect", "useState", "useCallback", "getMatches", "query", "useMediaQuery", "query", "matches", "setMatches", "useState", "getMatches", "handleChange", "useCallback", "useEffect", "matchMedia", "useMediaQuery_default", "DESKTOP_MEDIA_QUERY", "useIsDesktop", "useMediaQuery_default", "DESKTOP_MEDIA_QUERY", "useIsDesktop_default", "get", "VARIABLE_REGEX", "getVariantValue", "variants", "key", "isVariable", "replaceVariables", "string", "VARIABLE_REGEX", "prev", "match", "variable", "formatValue", "classes", "value", "flatValue", "arrayValues", "variantKey", "normalizedValue", "part", "acc", "className", "injectedClassName", "get", "formatObject", "object", "initial", "formattedObject", "useContext", "createContext", "Context", "useVariants", "variants", "isDesktop", "useIsDesktop_default", "loading", "useContext", "Context", "useClasses", "constants", "extend", "variants", "extendedClassNames", "formattedConstants", "formatObject", "useVariants", "React", "toast", "React", "DEFAULT_ICON_PROPS", "DEFAULT_CONTAINER_PROPS", "DEFAULT_SPAN_PROPS", "useMessage", "icon", "container", "span", "iconProps", "DEFAULT_ICON_PROPS", "containerProps", "DEFAULT_CONTAINER_PROPS", "spanProps", "DEFAULT_SPAN_PROPS", "React", "React", "Skeleton", "useContext", "DEFAULT_WRAPPER_CLASS_NAME", "useSkeletonLoader", "wrapperClassName", "isLoading", "wrapper", "DEFAULT_WRAPPER_CLASS_NAME", "contextLoading", "useContext", "Context", "SkeletonLoader", "isLoading", "afterLoading", "React", "wrapperClassName", "restProps", "loading", "classNames", "useSkeletonLoader", "SkeletonTag", "Skeleton", "SkeletonLoader_default", "clsx", "getStrokeClassName", "size", "React", "SvgDashboard", "props", "dashboard_default", "React", "SvgDashboardColor", "props", "dashboard_color_default", "React", "SvgHome", "props", "home_default", "React", "SvgHomeColor", "props", "home_color_default", "React", "SvgJob", "props", "job_default", "React", "SvgJobColor", "props", "job_color_default", "React", "SvgSendQuote", "props", "send_quote_default", "React", "SvgSendQuoteColor", "props", "send_quote_color_default", "React", "SvgCheckCircle", "props", "check_circle_default", "React", "SvgCheckCircleColor", "props", "check_circle_color_default", "React", "SvgPayment", "props", "payment_default", "React", "SvgPaymentColor", "props", "payment_color_default", "React", "SvgAccount", "props", "account_default", "React", "SvgAccountColor", "props", "account_color_default", "React", "SvgVerification", "props", "verification_default", "React", "SvgVerificationColor", "props", "verification_color_default", "React", "SvgUserSquare", "props", "user_square_default", "React", "SvgUserSquareColor", "props", "user_square_color_default", "React", "SvgSearchFile", "props", "search_file_default", "React", "SvgSearchFileColor", "props", "search_file_color_default", "React", "SvgAlarm", "props", "alarm_default", "React", "SvgAlarmColor", "props", "alarm_color_default", "React", "SvgMenu", "props", "menu_default", "React", "SvgArrowRight", "props", "arrow_right_default", "React", "SvgNotification", "props", "notification_default", "React", "SvgPlus", "props", "plus_default", "React", "SvgToolbox", "props", "toolbox_default", "React", "SvgLoad", "props", "load_default", "React", "SvgCheck", "props", "check_default", "React", "SvgChevronUp", "props", "chevron_up_default", "React", "SvgClose", "props", "close_default", "React", "SvgCreditCard", "props", "credit_card_default", "React", "SvgPaypal", "props", "paypal_default", "React", "SvgCurrency", "props", "currency_default", "React", "SvgInstalments", "props", "instalments_default", "React", "SvgMore", "props", "more_default", "React", "SvgSend", "props", "send_default", "React", "SvgRemove", "props", "remove_default", "React", "SvgPhone", "props", "phone_default", "React", "SvgEmail", "props", "email_default", "React", "SvgFilter", "props", "filter_default", "React", "SvgMinus", "props", "minus_default", "React", "SvgCopy", "props", "copy_default", "React", "SvgFileUpload", "props", "file_upload_default", "React", "SvgFile", "props", "file_default", "React", "SvgSearch", "props", "search_default", "React", "SvgEdit", "props", "edit_default", "React", "SvgInfo", "props", "info_default", "React", "SvgSms", "props", "sms_default", "React", "SvgAttachement", "props", "attachement_default", "React", "SvgNote", "props", "note_default", "React", "SvgChevronLeft", "props", "chevron_left_default", "React", "SvgChevronDown", "props", "chevron_down_default", "React", "SvgEye", "props", "eye_default", "React", "SvgLocation", "props", "location_default", "React", "SvgSpecialCheck", "props", "special_check_default", "React", "SvgFinanced", "props", "financed_default", "React", "SvgFinancedColor", "props", "financed_color_default", "React", "SvgArrowUp", "props", "arrow_up_default", "React", "SvgImage", "props", "image_default", "React", "SvgWallet", "props", "wallet_default", "React", "SvgDeposit", "props", "deposit_default", "React", "SvgDownload", "props", "download_default", "React", "SvgCustomer", "props", "customer_default", "React", "SvgCustomerColor", "props", "customer_color_default", "React", "SvgRocket", "props", "rocket_default", "React", "SvgRocketColor", "props", "rocket_color_default", "React", "SvgRotate", "props", "rotate_default", "React", "SvgHelp", "props", "help_default", "React", "SvgStar", "props", "star_default", "React", "SvgNotesPaper", "props", "notes_paper_default", "React", "SvgOffice", "props", "office_default", "React", "SvgIndicator", "props", "indicator_default", "React", "SvgCustomersColor", "props", "customers_color_default", "React", "SvgCustomers", "props", "customers_default", "React", "SvgCart", "props", "cart_default", "React", "SvgPaper", "props", "paper_default", "React", "SvgAlphabet", "props", "alphabet_default", "React", "SvgArrowUpRight", "props", "arrow_up_right_default", "React", "SvgEyeOff", "props", "eye_off_default", "React", "SvgPound", "props", "pound_default", "React", "SvgSettings", "props", "settings_default", "React", "SvgSortAscending", "props", "sort_ascending_default", "React", "SvgSortDescending", "props", "sort_descending_default", "React", "SvgTag", "props", "tag_default", "React", "SvgUser", "props", "user_default", "React", "SvgLogout", "props", "logout_default", "React", "SvgDownloadFile", "props", "download_file_default", "React", "SvgDeleteFile", "props", "delete_file_default", "React", "SvgArchive", "props", "archive_default", "React", "SvgFavourite", "props", "favourite_default", "React", "SvgWarning", "props", "warning_default", "React", "SvgError", "props", "error_default", "React", "SvgShieldCheck", "props", "shield_check_default", "React", "SvgCalendar", "props", "calendar_default", "React", "SvgBold", "props", "bold_default", "React", "SvgItalic", "props", "italic_default", "React", "SvgOrderedList", "props", "ordered_list_default", "React", "SvgUnorderedList", "props", "unordered_list_default", "React", "SvgFlag", "props", "flag_default", "React", "SvgCopyArchive", "props", "copy_archive_default", "React", "SvgLock", "props", "lock_default", "DEFAULT_SIZE", "CLASS_NAMES", "ICONS", "dashboard_default", "dashboard_color_default", "home_default", "home_color_default", "job_default", "job_color_default", "send_quote_default", "send_quote_color_default", "check_circle_default", "check_circle_color_default", "payment_default", "payment_color_default", "account_default", "account_color_default", "verification_default", "verification_color_default", "user_square_default", "user_square_color_default", "search_file_default", "search_file_color_default", "alarm_default", "alarm_color_default", "menu_default", "arrow_right_default", "notification_default", "plus_default", "toolbox_default", "load_default", "check_default", "chevron_up_default", "close_default", "credit_card_default", "paypal_default", "currency_default", "instalments_default", "more_default", "send_default", "remove_default", "phone_default", "email_default", "filter_default", "minus_default", "copy_default", "file_upload_default", "file_default", "search_default", "edit_default", "info_default", "sms_default", "attachement_default", "note_default", "chevron_left_default", "chevron_down_default", "eye_default", "location_default", "special_check_default", "financed_default", "financed_color_default", "arrow_up_default", "image_default", "wallet_default", "deposit_default", "download_default", "customer_default", "customer_color_default", "rocket_default", "rocket_color_default", "rotate_default", "help_default", "star_default", "notes_paper_default", "office_default", "indicator_default", "customers_color_default", "customers_default", "cart_default", "paper_default", "alphabet_default", "arrow_up_right_default", "eye_off_default", "pound_default", "settings_default", "sort_ascending_default", "sort_descending_default", "tag_default", "user_default", "logout_default", "download_file_default", "archive_default", "favourite_default", "warning_default", "error_default", "shield_check_default", "calendar_default", "delete_file_default", "bold_default", "italic_default", "ordered_list_default", "unordered_list_default", "copy_archive_default", "lock_default", "flag_default", "useIcon", "icon", "stroke", "flip", "initialWidth", "initialHeight", "initialClassName", "size", "fill", "Icon", "defaultProps", "ICONS", "skeletonBase", "restClassNames", "CLASS_NAMES", "strokeClassName", "rotateClassName", "fillClassName", "sizeClass", "getStrokeClassName", "svg", "clsx", "classNames", "width", "DEFAULT_SIZE", "height", "Icon", "isLoading", "props", "classNames", "width", "height", "useIcon", "React", "SkeletonLoader_default", "Icon_default", "Message", "message", "showIcon", "icon", "container", "span", "iconProps", "containerProps", "spanProps", "useMessage", "React", "Icon_default", "Message_default", "BASE_PROPS", "INFO_MESSAGE_PROPS", "ERROR_MESSAGE_PROPS", "SUCCESS_MESSAGE_PROPS", "WARNING_MESSAGE_PROPS", "TOAST_MESSAGE_FUNCTION_PROPS", "useToast", "createToastMessageFunction", "type", "message", "messageProps", "options", "props", "TOAST_MESSAGE_FUNCTION_PROPS", "toast", "React", "Message_default", "dismiss", "useHelpcrunch", "message", "id", "settings", "useRef", "useEffect", "ESC_KEY", "useEscClick", "callback", "callbackRef", "handleEsc", "event", "useRef", "useEffect", "useOuterClick", "callback", "callbackRef", "innerRef", "handleClick", "e", "useCallback", "Amplitude", "useAmplitude", "useButtonTracking", "id", "onClick", "logEvent", "flush", "event", "useEffect", "useState", "useRef", "useMousePosition", "ref", "offsetY", "offsetX", "mousePosition", "setMousePosition", "heightAndWidth", "updateMousePosition", "pageX", "pageY", "Fuse", "useCallback", "useEffect", "useMemo", "useRef", "useState", "useDebounce", "useFuse", "list", "options", "initialQuery", "debounce", "isMounted", "originalQuery", "setQuery", "query", "fuse", "limit", "matchAllOnEmptyQuery", "fuseOptions", "hits", "item", "refIndex", "handleSearch", "e", "crypto", "HELPCRUNCH_ENVIRONMENT_KEY", "FRONT_ENVIRONMENT_KEY", "FRONT_USER_HASH", "PRIVACY_POLICY_URL", "TERMS_AND_CONDITIONS_URL", "COOKIE_POLICY_URL", "RECAPTCHA_SITE_KEY", "useFrontChatWidget", "settings", "email", "userHash", "crypto", "FRONT_USER_HASH", "payload", "CLASS_NAMES", "useDesktopLayoutBoxedProps", "sidebar", "sidebarWidth", "noHeader", "allowYOverflow", "linkComponent", "homeLinkProps", "defaultSidebar", "Header", "useContext", "ConfigWrapperContext", "sidebarView", "classNames", "useClasses", "CLASS_NAMES", "React", "SvgBackground", "props", "background_default", "React", "SvgBackgroundLines", "props", "background_lines_default", "React", "React", "set", "VARIANT_REGEX", "flatObject", "input", "flat", "res", "key", "val", "pre", "prefix", "v", "prev", "curr", "capitalize", "text", "formatObject", "object", "variants", "VARIANT_REGEX", "match", "variant", "value", "set", "getFunctionName", "className", "createGetters", "formattedProps", "classNames", "helpers", "allKeys", "viewProps", "helper", "initialProps", "prevProps", "useProps", "props", "options", "helpers", "variants", "classNames", "formattedProps", "formatObject", "getters", "createGetters", "usePass", "options", "props", "helpers", "variants", "useVariants", "classNames", "useClasses", "useProps", "PassConstants", "children", "constants", "variants", "helpers", "props", "classNames", "passProps", "usePass", "PassConstants_default", "Pass_default", "PassConstants_default", "BUTTON_CLASS_NAME", "CONTAINER_CLASS_NAME", "CONTENT_CLASS_NAME", "ICON_SPACE_CLASS_NAME", "ICON_PROPS", "SKELETON_PROPS", "constants_default", "ButtonText", "id", "inputOnClick", "variant", "iconSpacing", "label", "size", "children", "icon", "iconProps", "className", "disabled", "submit", "left", "isLoading", "append", "prepend", "restProps", "onClick", "useButtonTracking", "React", "Pass_default", "constants_default", "classNames", "getButtonProps", "getIconProps", "getSkeletonProps", "Icon_default", "SkeletonLoader_default", "ButtonText_default", "React", "clsx", "CLASS_NAMES", "BUTTON_VARIANTS", "BUTTON_SIZES_VARIANTS", "useButtonLink", "variant", "left", "size", "initialClassName", "initialIconProps", "initialIconSpacing", "isLoading", "buttonBase", "contentBase", "classNames", "CLASS_NAMES", "colorVariant", "BUTTON_VARIANTS", "sizeVariant", "BUTTON_SIZES_VARIANTS", "button", "clsx", "content", "iconSpace", "iconClassName", "iconProps", "React", "SKELETON_PROPS", "BaseButton", "id", "inputOnClick", "label", "children", "append", "prepend", "icon", "iconProps", "disabled", "submit", "classNames", "isLoading", "restProps", "type", "onClick", "useButtonTracking", "React", "Icon_default", "SkeletonLoader_default", "SKELETON_PROPS", "BaseButton_default", "ButtonLink", "id", "className", "variant", "left", "size", "iconSpacing", "restProps", "iconProps", "isLoading", "variantProps", "useButtonLink", "React", "BaseButton_default", "ButtonLink_default", "React", "clsx", "CLASS_NAMES", "BUTTON_VARIANTS", "useButtonInlineLink", "variant", "initialClassName", "isLoading", "buttonBase", "buttonLoading", "buttonNotLoading", "classNames", "CLASS_NAMES", "colorVariant", "BUTTON_VARIANTS", "button", "clsx", "ButtonInlineLink", "id", "className", "variant", "restProps", "isLoading", "variantProps", "useButtonInlineLink", "React", "BaseButton_default", "ButtonInlineLink_default", "React", "clsx", "CLASS_NAMES", "BUTTON_ICON_VARIANTS", "BUTTON_ICON_SIZE_VARIANTS", "useButtonIcon", "submit", "variant", "size", "initialIconProps", "initialClassName", "indicatorColor", "indicatorPosition", "variantSize", "sizeIconProps", "BUTTON_ICON_SIZE_VARIANTS", "buttonBase", "skeletonBase", "indicatorBase", "restClassNames", "CLASS_NAMES", "circle", "iconVariant", "BUTTON_ICON_VARIANTS", "button", "clsx", "indicator", "skeleton", "classNames", "style", "ButtonIcon", "children", "id", "inputOnClick", "submit", "size", "variant", "icon", "initialClassName", "initialIconProps", "isLoading", "indicator", "indicatorPosition", "restProps", "iconProps", "classNames", "circle", "type", "style", "useButtonIcon", "onClick", "useButtonTracking", "React", "SkeletonLoader_default", "Icon_default", "ButtonIcon_default", "Button", "ButtonText_default", "ButtonLink_default", "ButtonIcon_default", "ButtonInlineLink_default", "Button_default", "useCallback", "useHelpButtonOnClick", "openChat", "useFrontChatWidget", "PROPS", "HelpButton", "variant", "onClick", "useHelpButtonOnClick", "React", "ButtonIcon_default", "PROPS", "ButtonLink_default", "HelpButton_default", "React", "CLASS_NAMES", "useContentClassNames", "footer", "width", "variants", "extendedVariants", "useClasses", "CLASS_NAMES", "DesktopLayoutBoxedContent", "children", "header", "footer", "width", "top", "left", "flex", "noPadding", "classNames", "useContentClassNames", "React", "DesktopLayoutBoxedContent_default", "React", "CLASS_NAMES", "DesktopLayoutBoxedContentHeader", "children", "React", "CLASS_NAMES", "DesktopLayoutBoxedContentHeader_default", "DesktopLayoutBoxed", "children", "logoProps", "sidebar", "sidebarWidth", "options", "backgroundLines", "noHeader", "help", "layoutFooter", "allowYOverflow", "showNavigation", "classNames", "LinkComponent", "homeLinkProps", "SidebarView", "Header", "useDesktopLayoutBoxedProps", "BackgroundLinesTag", "background_lines_default", "HeaderBackgroundTag", "background_default", "React", "kanda_wordmark_default", "HelpButton_default", "option", "i", "DesktopLayoutBoxed_default", "DesktopLayoutBoxed", "React", "useContext", "useDesktopLayoutProps", "Header", "Footer", "ConfigWrapperContext", "CLASS_NAMES", "WRAPPER_CLASS_NAME", "CONTAINER_CLASS_NAME", "React", "CLASS_NAMES", "CONTAINER_CLASS_NAME", "WRAPPER_CLASS_NAME", "DesktopLayoutDefaultContent", "children", "React", "CLASS_NAMES", "DesktopLayoutDefaultContent_default", "React", "CLASS_NAMES", "CONTAINER_CLASS_NAME", "WRAPPER_CLASS_NAME", "DesktopLayoutDefaultContentHeader", "option", "children", "React", "CLASS_NAMES", "DesktopLayoutDefaultContentHeader_default", "DesktopLayoutDefault", "children", "Header", "Footer", "useDesktopLayoutProps", "HeaderBackgroundTag", "background_default", "React", "CLASS_NAMES", "DesktopLayoutDefault_default", "React", "React", "useEffect", "useState", "clsx", "opacitySuffix", "opacity", "intOpacity", "Container", "show", "initialClassName", "opacity", "children", "onEnd", "shouldRender", "setShouldRender", "useState", "onAnimationEnd", "useEffect", "React", "suffix", "opacitySuffix", "className", "clsx", "Container_default", "Fade", "children", "props", "React", "Container_default", "className", "onAnimationEnd", "Fade_default", "React", "React", "useEffect", "useState", "clsx", "BASE_CLASSNAME", "Container", "show", "initialClassName", "children", "onEnd", "shouldRender", "setShouldRender", "useState", "onAnimationEnd", "useEffect", "React", "className", "clsx", "BASE_CLASSNAME", "Container_default", "SlideLeft", "children", "props", "React", "Container_default", "className", "onAnimationEnd", "SlideLeft_default", "Animations", "Fade_default", "SlideLeft_default", "Animations_default", "React", "React", "ReactDOM", "useRef", "useState", "useCallback", "useContext", "useEffect", "clsx", "OPACITY_CLASS_NAMES", "BACKDROP_CLASS_NAME", "ESC_KEY", "React", "createContext", "SkeletonTheme", "useState", "useCallback", "useState", "useEffect", "useRef", "useModals", "visibleModals", "setVisibleModals", "useState", "modalsUpdated", "setModalsUpdate", "visibleModalsRef", "useRef", "showModal", "useCallback", "modalId", "hideModal", "newVisibleModals", "modal", "useEffect", "handleEsc", "event", "lastModal", "useCallback", "useState", "useEffect", "useRef", "useAnimatedModals", "visibleAnimatedModals", "setVisibleAnimatedModals", "animatedModalsUpdated", "setAnimatedModalsUpdate", "visibleAnimatedModalsRef", "showAnimatedModal", "modalId", "hideAnimatedModal", "newVisibleModals", "modal", "useCallback", "useEffect", "useRef", "getWindow", "getDocument", "useViewportVariables", "styleElement", "useRef", "window", "getWindow", "enabled", "innerViewport", "outerViewport", "calculateViewport", "useCallback", "resolve", "reject", "setViewport", "refresh", "useEffect", "styleId", "getDocument", "styleTag", "_a", "useModalsWrapper", "useViewportVariables", "showLoader", "setShowLoader", "useState", "contextValues", "useModals", "animatedContextValues", "useAnimatedModals", "React", "React", "useState", "useRef", "useEffect", "ReactDOM", "clsx", "useDebounce", "SLOW_ANIMATION", "FAST_ANIMATION", "WIDTHS", "CLASS_NAMES", "DEBOUNCE_INTERVAL", "LoaderContainer", "children", "isLoading", "_a", "_b", "loaded", "useRef", "animate", "setAnimate", "useState", "SLOW_ANIMATION", "width", "setWidth", "WIDTHS", "debouncedLoading", "useDebounce", "DEBOUNCE_INTERVAL", "useEffect", "FAST_ANIMATION", "baseBar", "classNames", "CLASS_NAMES", "bar", "clsx", "getDocument", "ReactDOM", "React", "LoaderContainer_default", "Loader", "isLoading", "React", "LoaderContainer_default", "width", "classNames", "Loader_default", "ModalsWrapperContext", "createContext", "Context", "ModalsWrapper", "children", "showLoader", "values", "useModalsWrapper", "React", "SkeletonTheme", "Loader_default", "ModalsWrapperContext", "ModalsWrapper_default", "Container", "id", "opacity", "children", "_a", "visibleModals", "hideModal", "useContext", "Context", "isVisible", "setIsVisible", "useState", "isShown", "suffix", "opacitySuffix", "backdropClassName", "clsx", "BACKDROP_CLASS_NAME", "modalsRef", "useRef", "handleClose", "useCallback", "ref", "useOuterClick", "onHide", "useEffect", "handleEsc", "event", "ESC_KEY", "ReactDOM", "getDocument", "React", "Container_default", "AnimatedModalContainer", "children", "props", "React", "Container_default", "backdropClassName", "isVisible", "rest", "Animations_default", "AnimatedModalContainer_default", "React", "React", "SvgBannerBackground", "props", "banner_background_default", "CLASS_NAMES", "clsx", "Banner", "children", "hideBackgroundOnMobile", "BackgroundTag", "banner_background_default", "React", "CLASS_NAMES", "Banner_default", "React", "BreakPoints", "desktop", "mobile", "isDesktop", "useIsDesktop_default", "React", "BreakPoints_default", "React", "CARD_CLASS_NAMES", "useCardProps", "className", "padding", "footerOptions", "noContent", "footer", "title", "isLoading", "showLoadingSkeleton", "variant", "showHeaderMargin", "classNames", "useClasses", "CARD_CLASS_NAMES", "showFooter", "React", "React", "CardSection", "content", "isLoading", "skeletonProps", "className", "React", "SkeletonLoader_default", "CardSection_default", "SKELETON", "CLASSNAME", "clsx", "CardContent", "skeleton", "fullHeightContent", "props", "React", "CardSection_default", "SKELETON", "CLASSNAME", "CardContent_default", "React", "SKELETON", "CLASSNAME", "React", "showDot", "index", "footer", "useOptions", "isLoading", "footer", "footerOptions", "skeletonProps", "showDot", "option", "i", "SKELETON", "CLASSNAMES", "CardOptions", "footer", "footerOptions", "isLoading", "footerOptionsSkeleton", "options", "useOptions", "skeletonProps", "SKELETON", "React", "option", "CLASSNAMES", "SkeletonLoader_default", "CardOptions_default", "CardFooter", "footer", "footerOptions", "isLoading", "footerSkeleton", "footerOptionsSkeleton", "React", "CLASSNAME", "SkeletonLoader_default", "SKELETON", "CardOptions_default", "CardFooter_default", "React", "SKELETON", "CLASSNAME", "CardTitle", "skeleton", "title", "props", "React", "CardSection_default", "SKELETON", "CLASSNAME", "CardTitle_default", "React", "SKELETON", "CLASSNAME", "CardOption", "skeleton", "option", "props", "React", "CardSection_default", "SKELETON", "CLASSNAME", "CardOption_default", "Card", "children", "option", "title", "footer", "footerOptions", "isLoading", "showLoadingSkeleton", "className", "padding", "noContent", "variant", "fullHeightContent", "restProps", "classNames", "showFooter", "useCardProps", "React", "CardTitle_default", "CardOption_default", "CardContent_default", "CardFooter_default", "Card_default", "React", "useCallback", "useEffect", "useRef", "SCRIPT_BUNDLE", "FrontChatWidget", "timerRef", "useRef", "init", "useCallback", "FRONT_ENVIRONMENT_KEY", "bundleRef", "useEffect", "s1", "SCRIPT_BUNDLE", "FrontChatWidget_default", "React", "ReactToastifyToastContainer", "Slide", "React", "CloseButton", "closeToast", "React", "ButtonIcon_default", "CloseButton_default", "INITIAL_STATE", "CloseButton_default", "Slide", "useToastContainerState", "props", "INITIAL_STATE", "ToastContainer", "props", "state", "useToastContainerState", "React", "ReactToastifyToastContainer", "ToastContainer_default", "useEffect", "useRef", "SCRIPT_BUNDLE", "Recaptcha", "recaptchaRef", "useRef", "useEffect", "s1", "SCRIPT_BUNDLE", "RECAPTCHA_SITE_KEY", "Recaptcha_default", "CommonWrapper", "children", "showHelp", "recaptcha", "React", "ModalsWrapper_default", "FrontChatWidget_default", "Recaptcha_default", "ToastContainer_default", "CommonWrapper_default", "React", "useState", "useRef", "copyToClipboard", "content", "element", "useCopyContent", "content", "time", "clicked", "setClicked", "useState", "timerRef", "useRef", "copyToClipboard", "DEFAULT_MESSAGE", "DEFAULT_CLICKED_MESSAGE", "CopyContent", "children", "clickedView", "className", "id", "content", "time", "clicked", "handleClick", "useCopyContent", "React", "DEFAULT_CLICKED_MESSAGE", "DEFAULT_MESSAGE", "CopyContent_default", "React", "COPYRIGHT", "LINK", "PRIVACY_POLICY_URL", "TERMS_AND_CONDITIONS_URL", "COOKIE_POLICY_URL", "CLASS_NAMES", "DesktopFooter", "React", "CLASS_NAMES", "COPYRIGHT", "LINK", "link", "DesktopFooter_default", "React", "React", "useContext", "CLASS_NAMES", "MENU_MODAL_ID", "MENU_BUTTON_PROPS", "useDesktopHeaderProps", "showAnimatedModal", "useContext", "ModalsWrapperContext", "linkComponent", "homeLinkProps", "ConfigWrapperContext", "handleMenu", "MENU_MODAL_ID", "React", "Button_default", "MENU_BUTTON_PROPS", "CLASS_NAMES", "React", "Img", "CLASS_NAMES", "SKELETONS", "React", "React", "useContext", "CLASS_NAMES", "usePopoverMenu", "className", "linkComponent", "useContext", "ConfigWrapperContext", "classNames", "useClasses", "CLASS_NAMES", "React", "clsx", "CLASS_NAMES", "VARIANTS", "usePopoverMenu", "size", "selected", "selectedColor", "classNames", "useClasses", "CLASS_NAMES", "iconProps", "arrowIconProps", "VARIANTS", "PopoverMenuItem", "name", "icon", "size", "arrow", "selected", "inputOnClick", "className", "selectedColorVariant", "restProps", "classNames", "iconProps", "arrowIconProps", "usePopoverMenu", "id", "onClick", "useButtonTracking", "React", "clsx", "Icon_default", "PopoverMenuItem_default", "PopoverMenu", "items", "className", "onClose", "size", "header", "content", "selectedColorVariant", "Notice", "LinkComponent", "classNames", "usePopoverMenu", "LinkComponentTag", "React", "icon", "name", "arrow", "selected", "seperator", "linkProps", "popoverMenuItemProps", "PopoverMenuItem_default", "PopoverMenu_default", "useCallback", "useMemo", "CLASS_NAMES", "LOGOUT_ITEM", "useCompanyInfoPopover", "companyItems", "logout", "handleLogout", "useCallback", "useMemo", "LOGOUT_ITEM", "CompanyInfoPopover", "companyItems", "notice", "logout", "items", "useCompanyInfoPopover", "React", "CLASS_NAMES", "PopoverMenu_default", "CompanyInfoPopover_default", "DEFAULT_AVATAR_ICON_PROPS", "useEffect", "useRef", "useIsMounted", "isMounted", "CompanyInfo", "companyName", "companyProfilePicture", "isLoading", "showAvatar", "restProps", "isMounted", "useIsMounted", "React", "CLASS_NAMES", "SkeletonLoader_default", "SKELETONS", "Img", "Icon_default", "DEFAULT_AVATAR_ICON_PROPS", "CompanyInfoPopover_default", "CompanyInfo_default", "React", "CLASS_NAMES", "clsx", "itemClassName", "active", "clsx", "CLASS_NAMES", "DesktopMenu", "companyItems", "LinkComponent", "React", "CLASS_NAMES", "name", "active", "itemProps", "itemClassName", "DesktopMenu_default", "DesktopHeader", "items", "help", "extraOptions", "hideHomeLink", "noLinkLogo", "showAvatar", "companyInfo", "options", "LinkComponent", "homeLinkProps", "useDesktopHeaderProps", "LogoTag", "Logo_default", "React", "CLASS_NAMES", "HelpButton_default", "option", "i", "CompanyInfo_default", "DesktopMenu_default", "DesktopHeader_default", "React", "React", "React", "clsx", "TAG_BASE_CLASSES", "TAG_VARIANTS", "TAG_SIZES", "TAG_COLOURS", "useTagClassName", "color", "variant", "size", "initialClassName", "variantClassName", "TAG_VARIANTS", "colours", "TAG_COLOURS", "sizeClassName", "TAG_SIZES", "clsx", "TAG_BASE_CLASSES", "Tag", "label", "children", "initialClassName", "variant", "color", "size", "className", "useTagClassName", "React", "Tag_default", "useStatusTagProps", "status", "extractColor", "defaultExtractColor", "status", "React", "PERIODS", "PERIOD_LENGTHS", "checkAndFormatTimestamp", "timestamp", "minYear", "date", "timeAgoInWords", "fromDate", "periods", "PERIODS", "periodLengths", "PERIOD_LENGTHS", "toDate", "difference", "lengthKey", "periodKeys", "periodLengthKeys", "i", "useMemo", "useTimeAgoProps", "timestamp", "date", "checkAndFormatTimestamp", "formattedDate", "timeAgoInWords", "TimeAgo", "className", "timestamp", "formattedDate", "useTimeAgoProps", "React", "TimeAgo_default", "StatusTag", "status", "timestamp", "formatStatus", "extractColor", "defaultExtractColor", "tagProps", "color", "useStatusTagProps", "React", "Tag_default", "TimeAgo_default", "StatusTag_default", "formatStatus", "status", "extractColor", "FinanceStatusTag", "props", "React", "StatusTag_default", "formatStatus", "extractColor", "FinanceStatusTag_default", "React", "CLASS_NAMES", "clsx", "useHeaderBaseClassNames", "initialClassName", "containerBase", "restClassNames", "CLASS_NAMES", "container", "React", "React", "Text", "text", "isLoading", "TextComponent", "className", "skeletonClassName", "skeletonProps", "restProps", "React", "SkeletonLoader_default", "Text_default", "PhoneLink", "content", "React", "Icon_default", "Text_default", "BreakPoints_default", "PhoneLink_default", "HeaderBase", "className", "children", "options", "help", "lines", "hideNumber", "restProps", "classNames", "useHeaderBaseClassNames", "HeaderBackgroundTag", "background_default", "React", "PhoneLink_default", "HelpButton_default", "option", "i", "HeaderBase_default", "React", "React", "useContext", "MENU_MODAL_ID", "MENU_BUTTON_PROPS", "useHeaderMainProps", "skip", "onSkip", "showAnimatedModal", "useContext", "ModalsWrapperContext", "homeLinkProps", "ConfigWrapperContext", "React", "ButtonLink_default", "ButtonIcon_default", "MENU_BUTTON_PROPS", "MENU_MODAL_ID", "HeaderMain", "className", "skip", "onSkip", "LinkComponent", "help", "logoProps", "options", "homeLinkProps", "useHeaderMainProps", "LogoTag", "Logo_default", "React", "HeaderBase_default", "HeaderMain_default", "Header", "HeaderBase_default", "HeaderMain_default", "Header_default", "React", "CLASS_NAMES", "BANNER_SKELETONS", "InfoBanner", "title", "icon", "nameContent", "search", "cta", "backArrow", "isLoading", "onGoBack", "children", "React", "CLASS_NAMES", "Button_default", "Text_default", "BANNER_SKELETONS", "InfoBanner_default", "React", "clsx", "CLASS_NAMES", "useLayoutClassNames", "scrollTop", "stickyHeader", "stickyFooter", "headerBg", "bg", "noBorder", "noPadding", "containerSticky", "containerBase", "footerDefault", "footerFixed", "headerBase", "headerBorder", "headerFixed", "widthLimit", "contentBase", "contentPadding", "flexGrow", "classNames", "CLASS_NAMES", "container", "clsx", "header", "content", "footer", "headerWidthLimiter", "contentWidthLimiter", "createTeleporter", "Footer", "Header", "React", "useState", "useEffect", "useRef", "clsx", "CLASSNAMES", "BUTTON_PROPS", "MIN_SCROLL_HEIGHT", "TIMEOUT", "determineScrollHeight", "element", "scrollTop", "MIN_SCROLL_HEIGHT", "useScrollTopButton", "containerRef", "showButton", "setShowButton", "useState", "determineScrollHeight", "scrollTop", "className", "clsx", "CLASSNAMES", "checkScroll", "useRef", "useEffect", "scrollListener", "TIMEOUT", "ScrollTopButton", "containerRef", "className", "scrollTop", "useScrollTopButton", "React", "ButtonIcon_default", "BUTTON_PROPS", "ScrollTopButton_default", "Layout", "children", "header", "footer", "checkForIsMounted", "restProps", "classNames", "scrollTop", "useLayoutClassNames", "React", "Header", "Footer", "ScrollTopButton_default", "LayoutFooter", "LayoutHeader", "Layout_default", "Layout", "React", "useContext", "useEffect", "Loader", "isLoading", "setShowLoader", "useContext", "ModalsWrapperContext", "useEffect", "React", "Loader_default", "React", "useContext", "useLoadingProviderValue", "isLoading", "overwrite", "isParentLoading", "useContext", "Context", "LoadingProvider", "isLoading", "overwrite", "children", "value", "useLoadingProviderValue", "React", "Context", "LoadingProvider_default", "React", "DEFAULT_SVG_PROPS", "DEFAULT_ANIMATION_PROPS", "DEFAULT_STROKE_WIDTH", "DIRECTIONS", "PATHS", "LINEAR_GRAIDENT_PROPS", "clsx", "useLoadingSpinnerProps", "duration", "antiClockwise", "stroke", "initialClassName", "className", "animationProps", "DIRECTIONS", "LoadingSpinner", "size", "duration", "anticlockwise", "initialClassName", "stroke", "className", "animationProps", "useLoadingSpinnerProps", "React", "DEFAULT_SVG_PROPS", "LINEAR_GRAIDENT_PROPS", "DEFAULT_STROKE_WIDTH", "PATHS", "DEFAULT_ANIMATION_PROPS", "LoadingSpinner_default", "React", "MENU_MODAL_ID", "React", "forwardRef", "useEffect", "clsx", "BODY_SLIDE_LEFT_MODAL_CLASS_NAME", "SLIDE_LEFT_MODAL_CLASS_NAME", "CLASS_NAMES", "useModalLayoutSlideLeftClassNames", "noBorder", "headerBase", "headerBorder", "classNames", "CLASS_NAMES", "header", "clsx", "useEffect", "BODY_SLIDE_LEFT_MODAL_CLASS_NAME", "_a", "_b", "getDocument", "SLIDE_LEFT_MODAL_CLASS_NAME", "ModalLayoutSlideLeft", "forwardRef", "children", "header", "footer", "noBorder", "ref", "classNames", "useModalLayoutSlideLeftClassNames", "React", "ModalLayoutSlideLeft_default", "React", "Img", "CLASS_NAMES", "MenuHeader", "onClose", "companyName", "companyProfilePicture", "plan", "hideHelp", "React", "HeaderBase_default", "Button_default", "CLASS_NAMES", "Img", "Icon_default", "DEFAULT_AVATAR_ICON_PROPS", "MenuHeader_default", "Menu", "items", "LinkComponent", "footer", "companyName", "companyProfilePicture", "plan", "hideHelp", "React", "AnimatedModalContainer_default", "MENU_MODAL_ID", "isVisible", "hideModal", "handleClose", "Animations_default", "ModalLayoutSlideLeft_default", "MenuHeader_default", "icon", "name", "stroke", "size", "itemProps", "i", "Icon_default", "HelpButton_default", "Menu_default", "React", "useCallback", "useContext", "ReactDOM", "clsx", "Container", "id", "opacity", "children", "_a", "visibleModals", "hideModal", "useContext", "ModalsWrapperContext", "suffix", "opacitySuffix", "backdropClassName", "clsx", "BACKDROP_CLASS_NAME", "showBackdrop", "handleClose", "useCallback", "ref", "useOuterClick", "ReactDOM", "getDocument", "Container_default", "ModalContainer", "overlay", "children", "props", "React", "Container_default", "showBackdrop", "backdropClassName", "rest", "ModalContainer_default", "React", "forwardRef", "clsx", "BASE_CLASS_NAME", "BACKDROP_CLASS_NAME", "Container", "children", "initialClassName", "opacity", "className", "clsx", "BASE_CLASS_NAME", "backdropClassName", "BACKDROP_CLASS_NAME", "OPACITY_CLASS_NAMES", "Container_default", "ModalLayoutCenter", "forwardRef", "id", "children", "onClose", "initialClassName", "opacity", "ref", "React", "Container_default", "className", "ButtonIcon_default", "ModalLayoutCenter_default", "React", "useEffect", "clsx", "BODY_FULLSCREEN_MODAL_CLASS_NAME", "FULLSCREEN_MODAL_CLASS_NAME", "CLASS_NAMES", "useModalLayoutFullScreenClassNames", "noBorder", "stickyHeader", "headerBase", "headerBorder", "classNames", "CLASS_NAMES", "header", "clsx", "useEffect", "BODY_FULLSCREEN_MODAL_CLASS_NAME", "_a", "_b", "getDocument", "FULLSCREEN_MODAL_CLASS_NAME", "ModalLayoutFullScreen", "children", "header", "footer", "noBorder", "stickyHeader", "classNames", "useModalLayoutFullScreenClassNames", "React", "ModalLayoutFullScreen_default", "React", "forwardRef", "React", "SvgMarketingSlideUpHeader", "props", "marketing_slide_up_header_default", "clsx", "CLASS_NAMES", "VARIANTS", "SPACE", "Container", "variant", "children", "bgBase", "classNames", "CLASS_NAMES", "bg", "clsx", "VARIANTS", "linesVisible", "Container_default", "ModalLayoutSlideUp", "forwardRef", "id", "children", "variant", "onClose", "ref", "LinesTag", "marketing_slide_up_header_default", "React", "Container_default", "classNames", "linesVisible", "SPACE", "Button_default", "ModalLayoutSlideUp_default", "React", "clsx", "NAVIGATON_LINK_CLASS_NAMES", "ICON_PROPS", "SKELETONS", "useNavigationLinkClassNames", "initialClassName", "badgeColor", "containerBase", "badgeBase", "classNames", "NAVIGATON_LINK_CLASS_NAMES", "container", "clsx", "badge", "NavigationLink", "className", "title", "subtitle", "badgeColor", "isLoading", "classNames", "useNavigationLinkClassNames", "React", "SkeletonLoader_default", "SKELETONS", "Icon_default", "ICON_PROPS", "NavigationLink_default", "React", "useMemo", "useCallback", "generateButtonArray", "index", "count", "_", "value", "i", "final", "createButtons", "callback", "buttons", "currentIndex", "usePaginationProps", "pageIndex", "pageCount", "setPage", "buttons", "useMemo", "createButtons", "nextPage", "useCallback", "previousPage", "nextDisabled", "React", "clsx", "CLASS_NAMES", "ICONS", "ICON_PROPS", "usePaginationNavButtonProps", "disabled", "next", "className", "clsx", "CLASS_NAMES", "iconProps", "ICON_PROPS", "ICONS", "PaginationNavButton", "id", "inputOnClick", "disabled", "next", "className", "iconProps", "usePaginationNavButtonProps", "onClick", "useButtonTracking", "React", "Icon_default", "PaginationNavButton_default", "React", "useMemo", "clsx", "CLASS_NAMES", "usePaginationNumberButtonClassNames", "active", "ellipsis", "clsx", "CLASS_NAMES", "PaginationNumberButton", "buttonId", "text", "inputOnClick", "active", "disabled", "ellipsis", "classNames", "usePaginationNumberButtonClassNames", "id", "useMemo", "onClick", "useButtonTracking", "React", "PaginationNumberButton_default", "CLASS_NAMES", "Pagination", "pageIndex", "pageCount", "setPage", "buttons", "previousPage", "previousDisabled", "nextPage", "nextDisabled", "usePaginationProps", "React", "CLASS_NAMES", "PaginationNavButton_default", "button", "PaginationNumberButton_default", "Pagination_default", "React", "clsx", "PLACE_HOLDER_CLASS_NAMES", "usePlaceHolderClassNames", "className", "backgroundColour", "top", "baseContainer", "baseWrapper", "baseBackground", "baseEffect", "classNames", "PLACE_HOLDER_CLASS_NAMES", "container", "clsx", "wrapper", "background", "effect", "PlaceHolder", "children", "title", "cta", "className", "top", "backgroundColour", "restProps", "classNames", "usePlaceHolderClassNames", "React", "PlaceHolder_default", "React", "useState", "cloneElement", "useCallback", "useEffect", "useMemo", "CLASS_NAMES", "useStandardPopover", "button", "above", "right", "visible", "className", "xMargin", "yMargin", "showPopover", "setShowPopover", "useState", "onClick", "e", "hidePopover", "handleClose", "useCallback", "ref", "useOuterClick", "useEscClick", "newButton", "cloneElement", "y", "useMemo", "classNames", "useClasses", "CLASS_NAMES", "useEffect", "Standard", "children", "above", "right", "visible", "button", "yMargin", "xMargin", "classNames", "showPopover", "Button", "ref", "handleClose", "useStandardPopover", "React", "Standard_default", "React", "useState", "cloneElement", "useCallback", "useMemo", "clsx", "useDebounce", "VARIANTS", "BASE_ROUNDING", "ROUNDING", "ROUNDING_RIGHT", "PANEL_STYLE", "BASE_CLASS_NAMES", "VARIANT_CLASS_NAMES", "ACTIONS", "popoverRounding", "showPanel", "variant", "right", "VARIANTS", "ROUNDING_RIGHT", "ROUNDING", "BASE_ROUNDING", "emptyPanel", "useAdvancedProps", "button", "above", "right", "originalItems", "onAction", "searchDebounceInterval", "variant", "_a", "search", "setSearch", "useState", "debouncedSearch", "useDebounce", "showPopover", "setShowPopover", "panel", "setPanel", "emptyPanel", "selected", "setSelected", "onClick", "useCallback", "handleClose", "handleEsc", "ref", "useOuterClick", "useEscClick", "newButton", "useMemo", "cloneElement", "containerClassName", "clsx", "BASE_CLASS_NAMES", "VARIANT_CLASS_NAMES", "popoverClassName", "popoverRounding", "positionVariantClassName", "panelClassName", "panelStyle", "VARIANTS", "PANEL_STYLE", "classNames", "items", "itemProps", "i", "action", "props", "event", "ACTIONS", "Advanced", "button", "above", "right", "onAction", "originalItems", "ButtonWrapper", "children", "SearchResults", "SearchInput", "searchPlaceholder", "searchDebounceInterval", "size", "variant", "selectedColorVariant", "props", "classNames", "showPopover", "Button", "panel", "ref", "handleClose", "panelStyle", "items", "debouncedSearch", "onSearch", "clearSearch", "showPanel", "value", "useAdvancedProps", "SearchResultsTag", "SearchInputTag", "React", "PopoverMenu_default", "Advanced_default", "React", "CLASS_NAMES", "useCallback", "useEffect", "useRef", "useState", "useStickyPopover", "ref", "useRef", "showPopover", "setShowPopover", "useState", "x", "y", "useMousePosition", "handleMouseEnter", "useCallback", "handleMouseLeave", "useEffect", "popoverStyle", "Sticky", "children", "content", "ref", "showPopover", "popoverStyle", "useStickyPopover", "React", "CLASS_NAMES", "Sticky_default", "Popover", "Standard_default", "Advanced_default", "Sticky_default", "Popover_default", "React", "NumberFormat", "CLASS_NAMES", "SKELETONS", "clsx", "abbreviateNumber", "value", "fixed", "powerParts", "suffixIndex", "remainingValue", "normalizedValue", "suffix", "usePriceProps", "colour", "amount", "initialClassName", "initialWrapperClassName", "baseContainer", "baseWrapper", "CLASS_NAMES", "container", "clsx", "wrapper", "pounds", "suffix", "abbreviateNumber", "centsLabel", "Price", "color", "amount", "wrapperClassName", "poundsClassName", "centsClassName", "className", "isLoading", "classNames", "pounds", "suffix", "centsLabel", "usePriceProps", "NumberFormatTag", "NumberFormat", "React", "SkeletonLoader_default", "SKELETONS", "Price_default", "React", "CLASSNAME", "Separator", "React", "CLASSNAME", "Separator_default", "React", "CLASS_NAMES", "DEFAULT_TOTAL_ITEMS", "SCORE_COLORS", "SCORE_TO_BACKGROUND_CLASS", "useStrengthMeter", "score", "totalItems", "color", "SCORE_COLORS", "classNames", "useClasses", "CLASS_NAMES", "SCORE_TO_BACKGROUND_CLASS", "_", "index", "StrengthMeter", "score", "isLoading", "totalItems", "DEFAULT_TOTAL_ITEMS", "items", "classNames", "useStrengthMeter", "React", "SkeletonLoader_default", "itemClassName", "key", "StrengthMeter_default", "React", "useEffect", "useState", "useTextSlides", "amountOfSlides", "autoRotating", "autoRotateTime", "activeSlide", "setActiveSlide", "nextSlide", "prevSlide", "interval", "TextSlides", "children", "autoRotating", "autoRotateTime", "activeSlide", "useTextSlides", "React", "TextSlides_default", "clsx", "React", "CLASS_NAMES", "FILL_CLASS_NAMES", "Timeline", "items", "canDeleteItem", "onDeleteItem", "flipped", "compact", "borderClass", "CLASS_NAMES", "React", "item", "key", "title", "Text_default", "date", "clsx", "FILL_CLASS_NAMES", "Button_default", "Timeline_default", "React", "clsx", "useCallback", "useState", "useExpandableContentProps", "compact", "showContent", "setShowContent", "onClick", "classNames", "ExpandableContent", "showLabel", "hideLabel", "compact", "children", "showContent", "onClick", "classNames", "icon", "useExpandableContentProps", "React", "Text_default", "Icon_default", "ExpandableContent_default"]
7
- }