@arkyn/components 3.0.1-beta.17 → 3.0.1-beta.170

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 (417) hide show
  1. package/README.md +41 -0
  2. package/package.json +458 -20
  3. package/styles.d.ts +3 -0
  4. package/dist/bundle.js +0 -4292
  5. package/dist/bundle.umd.cjs +0 -30
  6. package/dist/documentation/src/app.d.ts +0 -3
  7. package/dist/documentation/src/app.d.ts.map +0 -1
  8. package/dist/documentation/src/app.js +0 -55
  9. package/dist/documentation/src/components/examples.alert.d.ts +0 -3
  10. package/dist/documentation/src/components/examples.alert.d.ts.map +0 -1
  11. package/dist/documentation/src/components/examples.alert.js +0 -7
  12. package/dist/documentation/src/components/examples.audioPlayer.d.ts +0 -3
  13. package/dist/documentation/src/components/examples.audioPlayer.d.ts.map +0 -1
  14. package/dist/documentation/src/components/examples.audioPlayer.js +0 -8
  15. package/dist/documentation/src/components/examples.badge.d.ts +0 -3
  16. package/dist/documentation/src/components/examples.badge.d.ts.map +0 -1
  17. package/dist/documentation/src/components/examples.badge.js +0 -9
  18. package/dist/documentation/src/components/examples.button.d.ts +0 -3
  19. package/dist/documentation/src/components/examples.button.d.ts.map +0 -1
  20. package/dist/documentation/src/components/examples.button.js +0 -9
  21. package/dist/documentation/src/components/examples.cardTab.d.ts +0 -3
  22. package/dist/documentation/src/components/examples.cardTab.d.ts.map +0 -1
  23. package/dist/documentation/src/components/examples.cardTab.js +0 -7
  24. package/dist/documentation/src/components/examples.checkbox.d.ts +0 -3
  25. package/dist/documentation/src/components/examples.checkbox.d.ts.map +0 -1
  26. package/dist/documentation/src/components/examples.checkbox.js +0 -13
  27. package/dist/documentation/src/components/examples.currencyInput.d.ts +0 -3
  28. package/dist/documentation/src/components/examples.currencyInput.d.ts.map +0 -1
  29. package/dist/documentation/src/components/examples.currencyInput.js +0 -9
  30. package/dist/documentation/src/components/examples.divider.d.ts +0 -3
  31. package/dist/documentation/src/components/examples.divider.d.ts.map +0 -1
  32. package/dist/documentation/src/components/examples.divider.js +0 -7
  33. package/dist/documentation/src/components/examples.drawer.d.ts +0 -3
  34. package/dist/documentation/src/components/examples.drawer.d.ts.map +0 -1
  35. package/dist/documentation/src/components/examples.drawer.js +0 -11
  36. package/dist/documentation/src/components/examples.iconButton.d.ts +0 -3
  37. package/dist/documentation/src/components/examples.iconButton.d.ts.map +0 -1
  38. package/dist/documentation/src/components/examples.iconButton.js +0 -9
  39. package/dist/documentation/src/components/examples.input.d.ts +0 -3
  40. package/dist/documentation/src/components/examples.input.d.ts.map +0 -1
  41. package/dist/documentation/src/components/examples.input.js +0 -9
  42. package/dist/documentation/src/components/examples.maskedInput.d.ts +0 -3
  43. package/dist/documentation/src/components/examples.maskedInput.d.ts.map +0 -1
  44. package/dist/documentation/src/components/examples.maskedInput.js +0 -9
  45. package/dist/documentation/src/components/examples.modal.d.ts +0 -3
  46. package/dist/documentation/src/components/examples.modal.d.ts.map +0 -1
  47. package/dist/documentation/src/components/examples.modal.js +0 -10
  48. package/dist/documentation/src/components/examples.multiSelect.d.ts +0 -3
  49. package/dist/documentation/src/components/examples.multiSelect.d.ts.map +0 -1
  50. package/dist/documentation/src/components/examples.multiSelect.js +0 -92
  51. package/dist/documentation/src/components/examples.phoneInput.d.ts +0 -3
  52. package/dist/documentation/src/components/examples.phoneInput.d.ts.map +0 -1
  53. package/dist/documentation/src/components/examples.phoneInput.js +0 -26
  54. package/dist/documentation/src/components/examples.radio.d.ts +0 -3
  55. package/dist/documentation/src/components/examples.radio.d.ts.map +0 -1
  56. package/dist/documentation/src/components/examples.radio.js +0 -11
  57. package/dist/documentation/src/components/examples.slider.d.ts +0 -3
  58. package/dist/documentation/src/components/examples.slider.d.ts.map +0 -1
  59. package/dist/documentation/src/components/examples.slider.js +0 -10
  60. package/dist/documentation/src/components/examples.switch.d.ts +0 -3
  61. package/dist/documentation/src/components/examples.switch.d.ts.map +0 -1
  62. package/dist/documentation/src/components/examples.switch.js +0 -20
  63. package/dist/documentation/src/components/examples.tab.d.ts +0 -3
  64. package/dist/documentation/src/components/examples.tab.d.ts.map +0 -1
  65. package/dist/documentation/src/components/examples.tab.js +0 -7
  66. package/dist/documentation/src/components/examples.texarea.d.ts +0 -3
  67. package/dist/documentation/src/components/examples.texarea.d.ts.map +0 -1
  68. package/dist/documentation/src/components/examples.texarea.js +0 -34
  69. package/dist/documentation/src/components/examples.tooltip.d.ts +0 -3
  70. package/dist/documentation/src/components/examples.tooltip.d.ts.map +0 -1
  71. package/dist/documentation/src/components/examples.tooltip.js +0 -8
  72. package/dist/documentation/src/main.d.ts +0 -3
  73. package/dist/documentation/src/main.d.ts.map +0 -1
  74. package/dist/documentation/src/main.js +0 -7
  75. package/dist/documentation/src/ui/box.d.ts +0 -8
  76. package/dist/documentation/src/ui/box.d.ts.map +0 -1
  77. package/dist/documentation/src/ui/box.js +0 -5
  78. package/dist/documentation/src/ui/row.d.ts +0 -7
  79. package/dist/documentation/src/ui/row.d.ts.map +0 -1
  80. package/dist/documentation/src/ui/row.js +0 -5
  81. package/dist/documentation/vite.config.d.ts +0 -3
  82. package/dist/documentation/vite.config.d.ts.map +0 -1
  83. package/dist/documentation/vite.config.js +0 -12
  84. package/dist/src/components/alert/alertContainer/index.d.ts +0 -44
  85. package/dist/src/components/alert/alertContainer/index.d.ts.map +0 -1
  86. package/dist/src/components/alert/alertContainer/index.js +0 -71
  87. package/dist/src/components/alert/alertContent/index.d.ts +0 -45
  88. package/dist/src/components/alert/alertContent/index.d.ts.map +0 -1
  89. package/dist/src/components/alert/alertContent/index.js +0 -47
  90. package/dist/src/components/alert/alertDescription/index.d.ts +0 -49
  91. package/dist/src/components/alert/alertDescription/index.d.ts.map +0 -1
  92. package/dist/src/components/alert/alertDescription/index.js +0 -51
  93. package/dist/src/components/alert/alertIcon/index.d.ts +0 -52
  94. package/dist/src/components/alert/alertIcon/index.d.ts.map +0 -1
  95. package/dist/src/components/alert/alertIcon/index.js +0 -66
  96. package/dist/src/components/alert/alertTitle/index.d.ts +0 -46
  97. package/dist/src/components/alert/alertTitle/index.d.ts.map +0 -1
  98. package/dist/src/components/alert/alertTitle/index.js +0 -48
  99. package/dist/src/components/audioPlayer/index.d.ts +0 -60
  100. package/dist/src/components/audioPlayer/index.d.ts.map +0 -1
  101. package/dist/src/components/audioPlayer/index.js +0 -130
  102. package/dist/src/components/badge/index.d.ts +0 -51
  103. package/dist/src/components/badge/index.d.ts.map +0 -1
  104. package/dist/src/components/badge/index.js +0 -49
  105. package/dist/src/components/button/index.d.ts +0 -60
  106. package/dist/src/components/button/index.d.ts.map +0 -1
  107. package/dist/src/components/button/index.js +0 -61
  108. package/dist/src/components/cardTab/cardTabButton/index.d.ts +0 -72
  109. package/dist/src/components/cardTab/cardTabButton/index.d.ts.map +0 -1
  110. package/dist/src/components/cardTab/cardTabButton/index.js +0 -80
  111. package/dist/src/components/cardTab/cardTabContainer/index.d.ts +0 -83
  112. package/dist/src/components/cardTab/cardTabContainer/index.d.ts.map +0 -1
  113. package/dist/src/components/cardTab/cardTabContainer/index.js +0 -88
  114. package/dist/src/components/cardTab/cardTabContext.d.ts +0 -16
  115. package/dist/src/components/cardTab/cardTabContext.d.ts.map +0 -1
  116. package/dist/src/components/cardTab/cardTabContext.js +0 -10
  117. package/dist/src/components/checkbox/index.d.ts +0 -73
  118. package/dist/src/components/checkbox/index.d.ts.map +0 -1
  119. package/dist/src/components/checkbox/index.js +0 -86
  120. package/dist/src/components/currencyInput/index.d.ts +0 -98
  121. package/dist/src/components/currencyInput/index.d.ts.map +0 -1
  122. package/dist/src/components/currencyInput/index.js +0 -140
  123. package/dist/src/components/divider/index.d.ts +0 -45
  124. package/dist/src/components/divider/index.d.ts.map +0 -1
  125. package/dist/src/components/divider/index.js +0 -45
  126. package/dist/src/components/drawer/drawerContainer/index.d.ts +0 -71
  127. package/dist/src/components/drawer/drawerContainer/index.d.ts.map +0 -1
  128. package/dist/src/components/drawer/drawerContainer/index.js +0 -75
  129. package/dist/src/components/drawer/drawerContext.d.ts +0 -12
  130. package/dist/src/components/drawer/drawerContext.d.ts.map +0 -1
  131. package/dist/src/components/drawer/drawerContext.js +0 -10
  132. package/dist/src/components/drawer/drawerHeader/index.d.ts +0 -55
  133. package/dist/src/components/drawer/drawerHeader/index.d.ts.map +0 -1
  134. package/dist/src/components/drawer/drawerHeader/index.js +0 -58
  135. package/dist/src/components/fieldError/index.d.ts +0 -29
  136. package/dist/src/components/fieldError/index.d.ts.map +0 -1
  137. package/dist/src/components/fieldError/index.js +0 -33
  138. package/dist/src/components/fieldLabel/index.d.ts +0 -38
  139. package/dist/src/components/fieldLabel/index.d.ts.map +0 -1
  140. package/dist/src/components/fieldLabel/index.js +0 -39
  141. package/dist/src/components/fieldWrapper/index.d.ts +0 -41
  142. package/dist/src/components/fieldWrapper/index.d.ts.map +0 -1
  143. package/dist/src/components/fieldWrapper/index.js +0 -41
  144. package/dist/src/components/iconButton/index.d.ts +0 -44
  145. package/dist/src/components/iconButton/index.d.ts.map +0 -1
  146. package/dist/src/components/iconButton/index.js +0 -41
  147. package/dist/src/components/input/index.d.ts +0 -81
  148. package/dist/src/components/input/index.d.ts.map +0 -1
  149. package/dist/src/components/input/index.js +0 -112
  150. package/dist/src/components/maskedInput/index.d.ts +0 -103
  151. package/dist/src/components/maskedInput/index.d.ts.map +0 -1
  152. package/dist/src/components/maskedInput/index.js +0 -130
  153. package/dist/src/components/modal/modalContainer/index.d.ts +0 -78
  154. package/dist/src/components/modal/modalContainer/index.d.ts.map +0 -1
  155. package/dist/src/components/modal/modalContainer/index.js +0 -82
  156. package/dist/src/components/modal/modalContext.d.ts +0 -12
  157. package/dist/src/components/modal/modalContext.d.ts.map +0 -1
  158. package/dist/src/components/modal/modalContext.js +0 -10
  159. package/dist/src/components/modal/modalFooter/index.d.ts +0 -72
  160. package/dist/src/components/modal/modalFooter/index.d.ts.map +0 -1
  161. package/dist/src/components/modal/modalFooter/index.js +0 -72
  162. package/dist/src/components/modal/modalHeader/index.d.ts +0 -66
  163. package/dist/src/components/modal/modalHeader/index.d.ts.map +0 -1
  164. package/dist/src/components/modal/modalHeader/index.js +0 -69
  165. package/dist/src/components/multiSelect/index.d.ts +0 -125
  166. package/dist/src/components/multiSelect/index.d.ts.map +0 -1
  167. package/dist/src/components/multiSelect/index.js +0 -169
  168. package/dist/src/components/multiSelect/multiSelectChevron/index.d.ts +0 -11
  169. package/dist/src/components/multiSelect/multiSelectChevron/index.d.ts.map +0 -1
  170. package/dist/src/components/multiSelect/multiSelectChevron/index.js +0 -13
  171. package/dist/src/components/multiSelect/multiSelectContainer/index.d.ts +0 -19
  172. package/dist/src/components/multiSelect/multiSelectContainer/index.d.ts.map +0 -1
  173. package/dist/src/components/multiSelect/multiSelectContainer/index.js +0 -11
  174. package/dist/src/components/multiSelect/multiSelectContent/index.d.ts +0 -9
  175. package/dist/src/components/multiSelect/multiSelectContent/index.d.ts.map +0 -1
  176. package/dist/src/components/multiSelect/multiSelectContent/index.js +0 -8
  177. package/dist/src/components/multiSelect/multiSelectMark/index.d.ts +0 -10
  178. package/dist/src/components/multiSelect/multiSelectMark/index.d.ts.map +0 -1
  179. package/dist/src/components/multiSelect/multiSelectMark/index.js +0 -11
  180. package/dist/src/components/multiSelect/multiSelectOption/index.d.ts +0 -11
  181. package/dist/src/components/multiSelect/multiSelectOption/index.d.ts.map +0 -1
  182. package/dist/src/components/multiSelect/multiSelectOption/index.js +0 -10
  183. package/dist/src/components/multiSelect/multiSelectOptionsContainer/index.d.ts +0 -12
  184. package/dist/src/components/multiSelect/multiSelectOptionsContainer/index.d.ts.map +0 -1
  185. package/dist/src/components/multiSelect/multiSelectOptionsContainer/index.js +0 -44
  186. package/dist/src/components/multiSelect/multiSelectOverlay/index.d.ts +0 -8
  187. package/dist/src/components/multiSelect/multiSelectOverlay/index.d.ts.map +0 -1
  188. package/dist/src/components/multiSelect/multiSelectOverlay/index.js +0 -9
  189. package/dist/src/components/multiSelect/multiSelectSpinner/index.d.ts +0 -8
  190. package/dist/src/components/multiSelect/multiSelectSpinner/index.d.ts.map +0 -1
  191. package/dist/src/components/multiSelect/multiSelectSpinner/index.js +0 -10
  192. package/dist/src/components/phoneInput/index.d.ts +0 -127
  193. package/dist/src/components/phoneInput/index.d.ts.map +0 -1
  194. package/dist/src/components/phoneInput/index.js +0 -202
  195. package/dist/src/components/phoneInput/phoneInputContainer/index.d.ts +0 -18
  196. package/dist/src/components/phoneInput/phoneInputContainer/index.d.ts.map +0 -1
  197. package/dist/src/components/phoneInput/phoneInputContainer/index.js +0 -11
  198. package/dist/src/components/phoneInput/phoneInputCountriesOverlay/index.d.ts +0 -8
  199. package/dist/src/components/phoneInput/phoneInputCountriesOverlay/index.d.ts.map +0 -1
  200. package/dist/src/components/phoneInput/phoneInputCountriesOverlay/index.js +0 -9
  201. package/dist/src/components/phoneInput/phoneInputCountryOption/index.d.ts +0 -18
  202. package/dist/src/components/phoneInput/phoneInputCountryOption/index.d.ts.map +0 -1
  203. package/dist/src/components/phoneInput/phoneInputCountryOption/index.js +0 -10
  204. package/dist/src/components/phoneInput/phoneInputCountryOptionsContainer/index.d.ts +0 -12
  205. package/dist/src/components/phoneInput/phoneInputCountryOptionsContainer/index.d.ts.map +0 -1
  206. package/dist/src/components/phoneInput/phoneInputCountryOptionsContainer/index.js +0 -40
  207. package/dist/src/components/phoneInput/phoneInputCountrySelector/index.d.ts +0 -17
  208. package/dist/src/components/phoneInput/phoneInputCountrySelector/index.d.ts.map +0 -1
  209. package/dist/src/components/phoneInput/phoneInputCountrySelector/index.js +0 -9
  210. package/dist/src/components/phoneInput/phoneInputMask/index.d.ts +0 -21
  211. package/dist/src/components/phoneInput/phoneInputMask/index.d.ts.map +0 -1
  212. package/dist/src/components/phoneInput/phoneInputMask/index.js +0 -34
  213. package/dist/src/components/radio/radioBox/index.d.ts +0 -85
  214. package/dist/src/components/radio/radioBox/index.d.ts.map +0 -1
  215. package/dist/src/components/radio/radioBox/index.js +0 -90
  216. package/dist/src/components/radio/radioContext.d.ts +0 -18
  217. package/dist/src/components/radio/radioContext.d.ts.map +0 -1
  218. package/dist/src/components/radio/radioContext.js +0 -11
  219. package/dist/src/components/radio/radioGroup/index.d.ts +0 -92
  220. package/dist/src/components/radio/radioGroup/index.d.ts.map +0 -1
  221. package/dist/src/components/radio/radioGroup/index.js +0 -100
  222. package/dist/src/components/slider/index.d.ts +0 -57
  223. package/dist/src/components/slider/index.d.ts.map +0 -1
  224. package/dist/src/components/slider/index.js +0 -97
  225. package/dist/src/components/switch/index.d.ts +0 -94
  226. package/dist/src/components/switch/index.d.ts.map +0 -1
  227. package/dist/src/components/switch/index.js +0 -99
  228. package/dist/src/components/tab/tabButton/index.d.ts +0 -72
  229. package/dist/src/components/tab/tabButton/index.d.ts.map +0 -1
  230. package/dist/src/components/tab/tabButton/index.js +0 -80
  231. package/dist/src/components/tab/tabContainer/index.d.ts +0 -83
  232. package/dist/src/components/tab/tabContainer/index.d.ts.map +0 -1
  233. package/dist/src/components/tab/tabContainer/index.js +0 -88
  234. package/dist/src/components/tab/tabContext.d.ts +0 -16
  235. package/dist/src/components/tab/tabContext.d.ts.map +0 -1
  236. package/dist/src/components/tab/tabContext.js +0 -10
  237. package/dist/src/components/textarea/index.d.ts +0 -103
  238. package/dist/src/components/textarea/index.d.ts.map +0 -1
  239. package/dist/src/components/textarea/index.js +0 -127
  240. package/dist/src/components/tooltip/index.d.ts +0 -80
  241. package/dist/src/components/tooltip/index.d.ts.map +0 -1
  242. package/dist/src/components/tooltip/index.js +0 -135
  243. package/dist/src/hooks/useForm.d.ts +0 -52
  244. package/dist/src/hooks/useForm.d.ts.map +0 -1
  245. package/dist/src/hooks/useForm.js +0 -52
  246. package/dist/src/hooks/useScopedParams.d.ts +0 -89
  247. package/dist/src/hooks/useScopedParams.d.ts.map +0 -1
  248. package/dist/src/hooks/useScopedParams.js +0 -107
  249. package/dist/src/hooks/useScrollLock.d.ts +0 -39
  250. package/dist/src/hooks/useScrollLock.d.ts.map +0 -1
  251. package/dist/src/hooks/useScrollLock.js +0 -49
  252. package/dist/src/hooks/useSlider.d.ts +0 -31
  253. package/dist/src/hooks/useSlider.d.ts.map +0 -1
  254. package/dist/src/hooks/useSlider.js +0 -49
  255. package/dist/src/index.d.ts +0 -40
  256. package/dist/src/index.d.ts.map +0 -1
  257. package/dist/src/index.js +0 -42
  258. package/dist/src/providers/formProvider.d.ts +0 -76
  259. package/dist/src/providers/formProvider.d.ts.map +0 -1
  260. package/dist/src/providers/formProvider.js +0 -69
  261. package/dist/src/services/iconRenderer.d.ts +0 -10
  262. package/dist/src/services/iconRenderer.d.ts.map +0 -1
  263. package/dist/src/services/iconRenderer.js +0 -13
  264. package/dist/src/services/maskCurrencyValues.d.ts +0 -4
  265. package/dist/src/services/maskCurrencyValues.d.ts.map +0 -1
  266. package/dist/src/services/maskCurrencyValues.js +0 -23
  267. package/dist/src/utils/phoneInputUtilities.d.ts +0 -1722
  268. package/dist/src/utils/phoneInputUtilities.d.ts.map +0 -1
  269. package/dist/src/utils/phoneInputUtilities.js +0 -99
  270. package/dist/style.css +0 -1
  271. package/dist/vite.config.d.ts +0 -3
  272. package/dist/vite.config.d.ts.map +0 -1
  273. package/dist/vite.config.js +0 -24
  274. package/dist/vitest.config.d.ts +0 -3
  275. package/dist/vitest.config.d.ts.map +0 -1
  276. package/dist/vitest.config.js +0 -4
  277. package/documentation/css/reset.css +0 -38
  278. package/documentation/css/variables.css +0 -41
  279. package/documentation/index.html +0 -13
  280. package/documentation/src/app.tsx +0 -93
  281. package/documentation/src/components/examples.alert.tsx +0 -49
  282. package/documentation/src/components/examples.audioPlayer.tsx +0 -16
  283. package/documentation/src/components/examples.badge.tsx +0 -38
  284. package/documentation/src/components/examples.button.tsx +0 -66
  285. package/documentation/src/components/examples.cardTab.tsx +0 -36
  286. package/documentation/src/components/examples.checkbox.tsx +0 -94
  287. package/documentation/src/components/examples.currencyInput.tsx +0 -263
  288. package/documentation/src/components/examples.divider.tsx +0 -12
  289. package/documentation/src/components/examples.drawer.tsx +0 -43
  290. package/documentation/src/components/examples.iconButton.tsx +0 -78
  291. package/documentation/src/components/examples.input.tsx +0 -256
  292. package/documentation/src/components/examples.maskedInput.tsx +0 -274
  293. package/documentation/src/components/examples.modal.tsx +0 -31
  294. package/documentation/src/components/examples.multiSelect.tsx +0 -320
  295. package/documentation/src/components/examples.phoneInput.tsx +0 -262
  296. package/documentation/src/components/examples.radio.tsx +0 -149
  297. package/documentation/src/components/examples.slider.tsx +0 -28
  298. package/documentation/src/components/examples.switch.tsx +0 -180
  299. package/documentation/src/components/examples.tab.tsx +0 -36
  300. package/documentation/src/components/examples.texarea.tsx +0 -188
  301. package/documentation/src/components/examples.tooltip.tsx +0 -45
  302. package/documentation/src/main.tsx +0 -12
  303. package/documentation/src/ui/box.tsx +0 -17
  304. package/documentation/src/ui/row.tsx +0 -11
  305. package/documentation/vite.config.ts +0 -13
  306. package/src/components/alert/alertContainer/index.tsx +0 -87
  307. package/src/components/alert/alertContainer/styles.css +0 -33
  308. package/src/components/alert/alertContent/index.tsx +0 -53
  309. package/src/components/alert/alertContent/styles.css +0 -5
  310. package/src/components/alert/alertDescription/index.tsx +0 -57
  311. package/src/components/alert/alertDescription/styles.css +0 -7
  312. package/src/components/alert/alertIcon/index.tsx +0 -79
  313. package/src/components/alert/alertIcon/styles.css +0 -23
  314. package/src/components/alert/alertTitle/index.tsx +0 -54
  315. package/src/components/alert/alertTitle/styles.css +0 -7
  316. package/src/components/audioPlayer/index.tsx +0 -187
  317. package/src/components/audioPlayer/styles.css +0 -50
  318. package/src/components/badge/index.tsx +0 -80
  319. package/src/components/badge/styles.css +0 -145
  320. package/src/components/button/index.tsx +0 -104
  321. package/src/components/button/styles.css +0 -208
  322. package/src/components/cardTab/cardTabButton/index.tsx +0 -114
  323. package/src/components/cardTab/cardTabButton/styles.css +0 -30
  324. package/src/components/cardTab/cardTabContainer/index.tsx +0 -121
  325. package/src/components/cardTab/cardTabContainer/styles.css +0 -9
  326. package/src/components/cardTab/cardTabContext.tsx +0 -30
  327. package/src/components/checkbox/index.tsx +0 -158
  328. package/src/components/checkbox/styles.css +0 -78
  329. package/src/components/currencyInput/index.tsx +0 -312
  330. package/src/components/currencyInput/style.css +0 -226
  331. package/src/components/divider/index.tsx +0 -58
  332. package/src/components/divider/styles.css +0 -17
  333. package/src/components/drawer/drawerContainer/index.tsx +0 -123
  334. package/src/components/drawer/drawerContainer/styles.css +0 -46
  335. package/src/components/drawer/drawerContext.tsx +0 -26
  336. package/src/components/drawer/drawerHeader/index.tsx +0 -88
  337. package/src/components/drawer/drawerHeader/styles.css +0 -38
  338. package/src/components/fieldError/index.tsx +0 -43
  339. package/src/components/fieldError/styles.css +0 -6
  340. package/src/components/fieldLabel/index.tsx +0 -52
  341. package/src/components/fieldLabel/styles.css +0 -15
  342. package/src/components/fieldWrapper/index.tsx +0 -54
  343. package/src/components/fieldWrapper/styles.css +0 -7
  344. package/src/components/iconButton/index.tsx +0 -83
  345. package/src/components/iconButton/styles.css +0 -166
  346. package/src/components/input/index.tsx +0 -233
  347. package/src/components/input/style.css +0 -226
  348. package/src/components/maskedInput/index.tsx +0 -260
  349. package/src/components/maskedInput/style.css +0 -226
  350. package/src/components/modal/modalContainer/index.tsx +0 -127
  351. package/src/components/modal/modalContainer/styles.css +0 -37
  352. package/src/components/modal/modalContext.tsx +0 -26
  353. package/src/components/modal/modalFooter/index.tsx +0 -80
  354. package/src/components/modal/modalFooter/styles.css +0 -27
  355. package/src/components/modal/modalHeader/index.tsx +0 -99
  356. package/src/components/modal/modalHeader/styles.css +0 -38
  357. package/src/components/multiSelect/index.tsx +0 -319
  358. package/src/components/multiSelect/multiSelectChevron/index.tsx +0 -26
  359. package/src/components/multiSelect/multiSelectChevron/styles.css +0 -7
  360. package/src/components/multiSelect/multiSelectContainer/index.tsx +0 -51
  361. package/src/components/multiSelect/multiSelectContainer/styles.css +0 -134
  362. package/src/components/multiSelect/multiSelectContent/index.tsx +0 -15
  363. package/src/components/multiSelect/multiSelectContent/styles.css +0 -24
  364. package/src/components/multiSelect/multiSelectMark/index.tsx +0 -32
  365. package/src/components/multiSelect/multiSelectMark/styles.css +0 -44
  366. package/src/components/multiSelect/multiSelectOption/index.tsx +0 -25
  367. package/src/components/multiSelect/multiSelectOption/styles.css +0 -37
  368. package/src/components/multiSelect/multiSelectOptionsContainer/index.tsx +0 -81
  369. package/src/components/multiSelect/multiSelectOptionsContainer/styles.css +0 -45
  370. package/src/components/multiSelect/multiSelectOverlay/index.tsx +0 -14
  371. package/src/components/multiSelect/multiSelectOverlay/styles.css +0 -8
  372. package/src/components/multiSelect/multiSelectSpinner/index.tsx +0 -22
  373. package/src/components/multiSelect/multiSelectSpinner/styles.css +0 -12
  374. package/src/components/phoneInput/index.tsx +0 -332
  375. package/src/components/phoneInput/phoneInputContainer/index.tsx +0 -46
  376. package/src/components/phoneInput/phoneInputContainer/styles.css +0 -59
  377. package/src/components/phoneInput/phoneInputCountriesOverlay/index.tsx +0 -16
  378. package/src/components/phoneInput/phoneInputCountriesOverlay/styles.css +0 -8
  379. package/src/components/phoneInput/phoneInputCountryOption/index.tsx +0 -35
  380. package/src/components/phoneInput/phoneInputCountryOption/styles.css +0 -50
  381. package/src/components/phoneInput/phoneInputCountryOptionsContainer/index.tsx +0 -77
  382. package/src/components/phoneInput/phoneInputCountryOptionsContainer/styles.css +0 -59
  383. package/src/components/phoneInput/phoneInputCountrySelector/index.tsx +0 -37
  384. package/src/components/phoneInput/phoneInputCountrySelector/styles.css +0 -26
  385. package/src/components/phoneInput/phoneInputMask/index.tsx +0 -105
  386. package/src/components/phoneInput/phoneInputMask/style.css +0 -36
  387. package/src/components/radio/radioBox/index.tsx +0 -124
  388. package/src/components/radio/radioBox/styles.css +0 -95
  389. package/src/components/radio/radioContext.tsx +0 -34
  390. package/src/components/radio/radioGroup/index.tsx +0 -150
  391. package/src/components/radio/radioGroup/styles.css +0 -5
  392. package/src/components/slider/index.tsx +0 -132
  393. package/src/components/slider/styles.css +0 -45
  394. package/src/components/switch/index.tsx +0 -156
  395. package/src/components/switch/styles.css +0 -90
  396. package/src/components/tab/tabButton/index.tsx +0 -114
  397. package/src/components/tab/tabButton/styles.css +0 -41
  398. package/src/components/tab/tabContainer/index.tsx +0 -121
  399. package/src/components/tab/tabContainer/styles.css +0 -11
  400. package/src/components/tab/tabContext.tsx +0 -28
  401. package/src/components/textarea/index.tsx +0 -193
  402. package/src/components/textarea/styles.css +0 -93
  403. package/src/components/tooltip/index.tsx +0 -172
  404. package/src/components/tooltip/styles.css +0 -112
  405. package/src/hooks/useForm.ts +0 -55
  406. package/src/hooks/useScopedParams.ts +0 -111
  407. package/src/hooks/useScrollLock.ts +0 -52
  408. package/src/hooks/useSlider.ts +0 -52
  409. package/src/index.ts +0 -44
  410. package/src/providers/formProvider.tsx +0 -88
  411. package/src/services/iconRenderer.tsx +0 -23
  412. package/src/services/maskCurrencyValues.ts +0 -54
  413. package/src/utils/phoneInputUtilities.ts +0 -138
  414. package/tsconfig.json +0 -35
  415. package/variables.css +0 -41
  416. package/vite.config.ts +0 -24
  417. package/vitest.config.ts +0 -5
@@ -1,41 +0,0 @@
1
- .arkynTabButton {
2
- position: relative;
3
-
4
- display: flex;
5
- align-items: center;
6
- justify-content: center;
7
-
8
- padding: 8px 16px;
9
- background-color: transparent;
10
- border: none;
11
-
12
- font-weight: 600;
13
- font-size: 16px;
14
- line-height: 100%;
15
-
16
- color: var(--text-muted);
17
- }
18
-
19
- .arkynTabButton.isDisabled {
20
- cursor: not-allowed;
21
- opacity: 0.2;
22
- }
23
-
24
- .arkynTabButton:hover {
25
- cursor: pointer;
26
- }
27
-
28
- .arkynTabButton.isActive {
29
- color: rgba(var(--spotlight-primary), 1);
30
- }
31
-
32
- .arkynTabButton.isActive::after {
33
- content: "";
34
- position: absolute;
35
- bottom: -1px;
36
- left: 0;
37
- right: 0;
38
-
39
- height: 1px;
40
- background-color: rgba(var(--spotlight-primary), 1);
41
- }
@@ -1,121 +0,0 @@
1
- import { HTMLAttributes, ReactNode, useState } from "react";
2
-
3
- import { TabProvider } from "../tabContext";
4
- import "./styles.css";
5
-
6
- type TabContainerProps = Omit<
7
- HTMLAttributes<HTMLElement>,
8
- "onClick" | "children" | "ref"
9
- > & {
10
- children: ReactNode;
11
- disabled?: boolean;
12
- defaultValue?: string;
13
- onChange?: (index: string) => void;
14
- };
15
-
16
- /**
17
- * TabContainer component - used as a wrapper for TabButton components to create tabbed navigation
18
- *
19
- * @param props - TabContainer component properties
20
- * @param props.children - TabButton components and other content (required)
21
- * @param props.disabled - Whether all tab buttons are disabled. Default: false
22
- * @param props.defaultValue - Initial tab value to be selected
23
- * @param props.onChange - Callback function called when tab changes, receives the tab value
24
- *
25
- * **...Other valid HTML nav properties except onClick, children, and ref**
26
- *
27
- * @returns TabContainer JSX element
28
- *
29
- * @example
30
- * ```tsx
31
- * // Basic tab container
32
- * <TabContainer>
33
- * <TabButton value="home">Home</TabButton>
34
- * <TabButton value="about">About</TabButton>
35
- * <TabButton value="contact">Contact</TabButton>
36
- * </TabContainer>
37
- * ```
38
- *
39
- * @example
40
- * ```tsx
41
- * // Tab container with default value and change handler
42
- * <TabContainer
43
- * defaultValue="dashboard"
44
- * onChange={(value) => console.log('Active tab:', value)}
45
- * >
46
- * <TabButton value="dashboard">Dashboard</TabButton>
47
- * <TabButton value="analytics">Analytics</TabButton>
48
- * <TabButton value="settings">Settings</TabButton>
49
- * </TabContainer>
50
- * ```
51
- *
52
- * @example
53
- * ```tsx
54
- * // Disabled all tabs
55
- * <TabContainer disabled>
56
- * <TabButton value="tab1">Tab 1</TabButton>
57
- * <TabButton value="tab2">Tab 2</TabButton>
58
- * </TabContainer>
59
- * ```
60
- *
61
- * @example
62
- * ```tsx
63
- * // Tab container with custom styling and state management
64
- * function MyTabs() {
65
- * const [activeTab, setActiveTab] = useState('profile');
66
- *
67
- * return (
68
- * <div>
69
- * <TabContainer
70
- * defaultValue={activeTab}
71
- * onChange={setActiveTab}
72
- * className="custom-tabs"
73
- * role="tablist"
74
- * >
75
- * <TabButton value="profile">Profile</TabButton>
76
- * <TabButton value="account">Account</TabButton>
77
- * <TabButton value="notifications">Notifications</TabButton>
78
- * </TabContainer>
79
- *
80
- * {activeTab === 'profile' && <ProfileContent />}
81
- * {activeTab === 'account' && <AccountContent />}
82
- * {activeTab === 'notifications' && <NotificationsContent />}
83
- * </div>
84
- * );
85
- * }
86
- * ```
87
- */
88
-
89
- function TabContainer(props: TabContainerProps) {
90
- const {
91
- children,
92
- onChange,
93
- defaultValue,
94
- disabled = false,
95
- className: baseClassName,
96
- ...rest
97
- } = props;
98
-
99
- const [currentTab, setCurrentTab] = useState(defaultValue || "");
100
-
101
- const className = `arkynTabContainer ${baseClassName || ""}`;
102
-
103
- function changeCurrentTab(value: string) {
104
- setCurrentTab(value);
105
- if (onChange) onChange(value);
106
- }
107
-
108
- return (
109
- <TabProvider
110
- disabled={disabled}
111
- currentTab={currentTab}
112
- changeCurrentTab={changeCurrentTab}
113
- >
114
- <nav className={className.trim()} {...rest}>
115
- {children}
116
- </nav>
117
- </TabProvider>
118
- );
119
- }
120
-
121
- export { TabContainer };
@@ -1,11 +0,0 @@
1
- .arkynTabContainer {
2
- position: relative;
3
-
4
- display: flex;
5
- align-items: center;
6
- justify-content: start;
7
-
8
- gap: 4px;
9
-
10
- border-bottom: 1px solid var(--border);
11
- }
@@ -1,28 +0,0 @@
1
- import { createContext, ReactNode, useContext } from "react";
2
-
3
- type TabContextProps = {
4
- disabled: boolean;
5
- currentTab: string;
6
- changeCurrentTab: (tab: string) => void;
7
- };
8
-
9
- type TabProviderProps = {
10
- children: ReactNode;
11
- disabled: boolean;
12
- currentTab: string;
13
- changeCurrentTab: (tab: string) => void;
14
- };
15
-
16
- const TabContext = createContext({} as TabContextProps);
17
-
18
- function useTab() {
19
- return useContext(TabContext);
20
- }
21
-
22
- function TabProvider(props: TabProviderProps) {
23
- return (
24
- <TabContext.Provider value={props}>{props.children}</TabContext.Provider>
25
- );
26
- }
27
-
28
- export { TabProvider, useTab };
@@ -1,193 +0,0 @@
1
- import {
2
- FocusEvent,
3
- TextareaHTMLAttributes,
4
- useId,
5
- useRef,
6
- useState,
7
- } from "react";
8
-
9
- import { useForm } from "../../hooks/useForm";
10
- import { FieldLabel } from "../fieldLabel";
11
- import { FieldWrapper } from "../fieldWrapper";
12
-
13
- import "./styles.css";
14
-
15
- type TextareaProps = Omit<
16
- TextareaHTMLAttributes<HTMLTextAreaElement>,
17
- "name"
18
- > & {
19
- name: string;
20
-
21
- label?: string;
22
- showAsterisk?: boolean;
23
- errorMessage?: string;
24
-
25
- size?: "md" | "lg";
26
- variant?: "solid" | "outline";
27
- };
28
-
29
- /**
30
- * Textarea component - used for multi-line text input with customizable styling and validation
31
- *
32
- * @param props - Textarea component properties
33
- * @param props.name - Required field name for form handling and textarea identification
34
- * @param props.label - Optional label text to display above the textarea
35
- * @param props.showAsterisk - Whether to show asterisk on label for required fields
36
- * @param props.errorMessage - Error message to display below the textarea
37
- * @param props.size - Size variant of the textarea. Default: "md"
38
- * @param props.variant - Visual variant of the textarea. Default: "solid"
39
- *
40
- * **...Other valid HTML properties for textarea element (except name)**
41
- *
42
- * @returns Textarea JSX element wrapped in FieldWrapper with optional label and error message
43
- *
44
- * @example
45
- * ```tsx
46
- * // Basic textarea
47
- * <Textarea name="description" placeholder="Enter description..." />
48
- *
49
- * // Textarea with label and validation
50
- * <Textarea
51
- * name="bio"
52
- * label="Biography"
53
- * showAsterisk
54
- * placeholder="Tell us about yourself"
55
- * errorMessage="Biography is required"
56
- * />
57
- *
58
- * // Large textarea with outline variant
59
- * <Textarea
60
- * name="comments"
61
- * label="Comments"
62
- * size="lg"
63
- * variant="outline"
64
- * placeholder="Enter your comments here..."
65
- * rows={6}
66
- * />
67
- *
68
- * // Textarea with character limit and custom styling
69
- * <Textarea
70
- * name="feedback"
71
- * label="Feedback"
72
- * placeholder="Share your feedback (max 500 characters)"
73
- * maxLength={500}
74
- * rows={4}
75
- * className="feedback-textarea"
76
- * />
77
- *
78
- * // Read-only textarea for display
79
- * <Textarea
80
- * name="terms"
81
- * label="Terms and Conditions"
82
- * value={termsContent}
83
- * readOnly
84
- * rows={10}
85
- * variant="outline"
86
- * />
87
- *
88
- * // Disabled textarea
89
- * <Textarea
90
- * name="disabled_field"
91
- * label="Disabled Field"
92
- * value="This field is disabled"
93
- * disabled
94
- * placeholder="Cannot edit this field"
95
- * />
96
- *
97
- * // Textarea with controlled value and change handler
98
- * <Textarea
99
- * name="message"
100
- * label="Message"
101
- * value={message}
102
- * onChange={(e) => setMessage(e.target.value)}
103
- * placeholder="Type your message..."
104
- * rows={5}
105
- * showAsterisk
106
- * />
107
- *
108
- * // Textarea with resize control
109
- * <Textarea
110
- * name="notes"
111
- * label="Notes"
112
- * placeholder="Enter your notes..."
113
- * style={{ resize: 'vertical' }}
114
- * rows={3}
115
- * cols={50}
116
- * />
117
- * ```
118
- */
119
-
120
- function Textarea(props: TextareaProps) {
121
- const {
122
- variant = "solid",
123
- size = "md",
124
- className: baseClassName,
125
- errorMessage: baseErrorMessage,
126
- disabled = false,
127
- readOnly = false,
128
- label,
129
- showAsterisk,
130
- name,
131
- onFocus,
132
- onBlur,
133
- title,
134
- style,
135
- id,
136
- ...rest
137
- } = props;
138
-
139
- const { fieldErrors } = useForm();
140
- const [isFocused, setIsFocused] = useState(false);
141
- const textareaRef = useRef<HTMLTextAreaElement>(null);
142
- const textareaId = id || useId();
143
-
144
- const errorMessage = baseErrorMessage || fieldErrors?.[name];
145
- const isError = !!errorMessage;
146
-
147
- const errorClass = isError ? "errorTrue" : "errorFalse";
148
- const opacityClass = disabled || readOnly ? "opacityTrue" : "opacityFalse";
149
- const focusedClass = isFocused ? "focusedTrue" : "focusedFalse";
150
-
151
- const className = `arkynTextarea ${variant} ${size} ${opacityClass} ${errorClass} ${focusedClass} ${baseClassName}`;
152
-
153
- function handleSectionClick() {
154
- if (disabled || !textareaRef?.current) return;
155
- setIsFocused(true);
156
- textareaRef.current.focus();
157
- }
158
-
159
- function handleFocus(e: FocusEvent<HTMLTextAreaElement>) {
160
- setIsFocused(true);
161
- if (onFocus) onFocus(e);
162
- }
163
-
164
- function handleBlur(e: FocusEvent<HTMLTextAreaElement>) {
165
- setIsFocused(false);
166
- if (onBlur) onBlur(e);
167
- }
168
-
169
- return (
170
- <FieldWrapper>
171
- {label && <FieldLabel showAsterisk={showAsterisk}>{label}</FieldLabel>}
172
- <section
173
- title={title}
174
- style={style}
175
- onClick={handleSectionClick}
176
- className={className}
177
- >
178
- <textarea
179
- id={textareaId}
180
- disabled={disabled}
181
- readOnly={readOnly}
182
- ref={textareaRef}
183
- onFocus={handleFocus}
184
- onBlur={handleBlur}
185
- {...rest}
186
- />
187
- </section>
188
- {errorMessage && <FieldLabel>{errorMessage}</FieldLabel>}
189
- </FieldWrapper>
190
- );
191
- }
192
-
193
- export { Textarea };
@@ -1,93 +0,0 @@
1
- /* BASE */
2
- .arkynTextarea {
3
- flex: 1;
4
- position: relative;
5
- display: flex;
6
- align-items: center;
7
-
8
- padding: 16px;
9
- gap: 8px;
10
- border-radius: 8px;
11
-
12
- border: 1px solid transparent;
13
- outline: 1px solid transparent;
14
- }
15
-
16
- .arkynTextarea:hover {
17
- cursor: text;
18
- }
19
-
20
- .arkynTextarea textarea {
21
- border: none;
22
- outline: none;
23
- background: transparent;
24
- width: 100%;
25
- resize: none;
26
- }
27
-
28
- .arkynTextarea textarea {
29
- color: var(--text-heading);
30
- }
31
-
32
- .arkynTextarea textarea::placeholder {
33
- color: var(--text-muted);
34
- }
35
-
36
- .arkynTextarea.opacityTrue {
37
- opacity: 0.5;
38
- }
39
-
40
- /* VARIANTS */
41
- .arkynTextarea.solid {
42
- border-color: var(--border);
43
- background-color: rgba(var(--spotlight-secondary), 1);
44
- }
45
-
46
- .arkynTextarea.solid.errorTrue {
47
- border-color: rgba(var(--spotlight-danger), 1);
48
- outline-color: rgba(var(--spotlight-danger), 1);
49
- }
50
-
51
- .arkynTextarea:not(.opacityTrue).solid.focusedTrue {
52
- border-color: rgba(var(--spotlight-primary), 1);
53
- outline-color: rgba(var(--spotlight-primary), 1);
54
- }
55
-
56
- .arkynTextarea.outline {
57
- border-color: var(--border);
58
- }
59
-
60
- .arkynTextarea.outline.errorTrue {
61
- border-color: rgba(var(--spotlight-danger), 1);
62
- outline-color: rgba(var(--spotlight-danger), 1);
63
- }
64
-
65
- .arkynTextarea:not(.opacityTrue).outline.focusedTrue {
66
- border-color: rgba(var(--spotlight-primary), 1);
67
- outline-color: rgba(var(--spotlight-primary), 1);
68
- }
69
-
70
- /* SIZE */
71
- .arkynTextarea.md textarea {
72
- font-size: 14px;
73
- line-height: 14px;
74
- font-weight: 400;
75
- }
76
-
77
- .arkynTextarea.md textarea::placeholder {
78
- font-weight: 400;
79
- font-size: 14px;
80
- line-height: 14px;
81
- }
82
-
83
- .arkynTextarea.lg textarea {
84
- line-height: 16px;
85
- font-size: 16px;
86
- font-weight: 400;
87
- }
88
-
89
- .arkynTextarea.lg textarea::placeholder {
90
- font-weight: 400;
91
- font-size: 16px;
92
- line-height: 16px;
93
- }
@@ -1,172 +0,0 @@
1
- import {
2
- HTMLAttributes,
3
- ReactNode,
4
- useEffect,
5
- useId,
6
- useRef,
7
- useState,
8
- } from "react";
9
- import "./styles.css";
10
-
11
- type TooltipProps = Omit<HTMLAttributes<HTMLDivElement>, "children"> & {
12
- text: string;
13
- children: ReactNode;
14
- orientation?: "top" | "right" | "bottom" | "left";
15
- size?: "md" | "lg";
16
- };
17
-
18
- /**
19
- * Tooltip component - displays contextual information on hover with smart positioning
20
- *
21
- * @param props - Tooltip component properties
22
- * @param props.text - Text content to display in the tooltip
23
- * @param props.children - Element that triggers the tooltip on hover
24
- * @param props.orientation - Preferred tooltip position relative to trigger element. Default: "top"
25
- * @param props.size - Tooltip size variant. Default: "lg"
26
- *
27
- * **...Other valid HTML properties for div element**
28
- *
29
- * @returns Tooltip JSX element
30
- *
31
- * @example
32
- * ```tsx
33
- * // Basic tooltip
34
- * <Tooltip text="This is a helpful tip">
35
- * <button>Hover me</button>
36
- * </Tooltip>
37
- *
38
- * // Tooltip with different orientations
39
- * <Tooltip text="Left tooltip" orientation="left">
40
- * <span>Hover for left tooltip</span>
41
- * </Tooltip>
42
- *
43
- * <Tooltip text="Right tooltip" orientation="right">
44
- * <span>Hover for right tooltip</span>
45
- * </Tooltip>
46
- *
47
- * // Different sizes
48
- * <Tooltip text="Small tooltip" size="md">
49
- * <button>Small tooltip</button>
50
- * </Tooltip>
51
- *
52
- * <Tooltip text="Large tooltip" size="lg">
53
- * <button>Large tooltip</button>
54
- * </Tooltip>
55
- *
56
- * // Smart positioning - automatically adjusts if doesn't fit
57
- * <Tooltip text="This tooltip will auto-adjust position" orientation="left">
58
- * <button className="near-edge">Smart positioning</button>
59
- * </Tooltip>
60
- *
61
- * // Complete example with custom styling
62
- * <Tooltip
63
- * text="Save your changes before proceeding"
64
- * orientation="bottom"
65
- * size="lg"
66
- * className="custom-tooltip"
67
- * >
68
- * <IconButton icon={SaveIcon} />
69
- * </Tooltip>
70
- *
71
- * // Multiple tooltips on same page
72
- * <div className="toolbar">
73
- * <Tooltip text="Create new file" orientation="bottom">
74
- * <IconButton icon={PlusIcon} />
75
- * </Tooltip>
76
- *
77
- * <Tooltip text="Open existing file" orientation="bottom">
78
- * <IconButton icon={FolderIcon} />
79
- * </Tooltip>
80
- *
81
- * <Tooltip text="Delete selected file" orientation="bottom">
82
- * <IconButton icon={TrashIcon} />
83
- * </Tooltip>
84
- * </div>
85
- * ```
86
- */
87
-
88
- function Tooltip(props: TooltipProps) {
89
- const {
90
- text,
91
- size = "lg",
92
- children,
93
- orientation = "top",
94
- className: baseClassName = "",
95
- ...rest
96
- } = props;
97
-
98
- const tooltipId = useId();
99
- const tooltipRef = useRef<HTMLDivElement>(null);
100
- const [adjustedOrientation, setAdjustedOrientation] = useState(orientation);
101
-
102
- useEffect(() => {
103
- const checkTooltipPosition = () => {
104
- if (!tooltipRef.current) return;
105
- const tooltipText = document.getElementById(tooltipId) as HTMLElement;
106
- if (!tooltipText) return;
107
-
108
- setAdjustedOrientation(orientation);
109
-
110
- requestAnimationFrame(() => {
111
- const rect = tooltipText.getBoundingClientRect();
112
- const viewportWidth = window.innerWidth;
113
- const viewportHeight = window.innerHeight;
114
-
115
- let newOrientation = orientation;
116
-
117
- if (orientation === "left" && rect.left < 0) {
118
- newOrientation = "right";
119
- } else if (orientation === "right" && rect.right > viewportWidth) {
120
- newOrientation = "left";
121
- } else if (orientation === "top" && rect.top < 0) {
122
- newOrientation = "bottom";
123
- } else if (orientation === "bottom" && rect.bottom > viewportHeight) {
124
- newOrientation = "top";
125
- }
126
-
127
- if (newOrientation === "right" && rect.right > viewportWidth) {
128
- newOrientation = "left";
129
- } else if (newOrientation === "left" && rect.left < 0) {
130
- newOrientation = "right";
131
- } else if (
132
- newOrientation === "bottom" &&
133
- rect.bottom > viewportHeight
134
- ) {
135
- newOrientation = "top";
136
- } else if (newOrientation === "top" && rect.top < 0) {
137
- newOrientation = "bottom";
138
- }
139
-
140
- setAdjustedOrientation(newOrientation);
141
- });
142
- };
143
-
144
- const tooltip = tooltipRef.current;
145
- if (!tooltip) return;
146
-
147
- const handleMouseEnter = () => {
148
- setTimeout(checkTooltipPosition, 1);
149
- };
150
-
151
- tooltip.addEventListener("mouseenter", handleMouseEnter);
152
- window.addEventListener("resize", checkTooltipPosition);
153
-
154
- return () => {
155
- tooltip.removeEventListener("mouseenter", handleMouseEnter);
156
- window.removeEventListener("resize", checkTooltipPosition);
157
- };
158
- }, [orientation, tooltipId]);
159
-
160
- const className = `arkynTooltip ${size} ${adjustedOrientation} ${baseClassName}`;
161
-
162
- return (
163
- <div className={className.trim()} {...rest} ref={tooltipRef}>
164
- {children}
165
- <div className="arkynTooltipText" id={tooltipId}>
166
- {text}
167
- </div>
168
- </div>
169
- );
170
- }
171
-
172
- export { Tooltip };