@arkyn/components 3.0.1-beta.201 → 3.0.1-beta.205

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 (458) hide show
  1. package/LICENSE.txt +184 -1
  2. package/README.md +12 -1
  3. package/dist/components/alert/alertContainer/index.d.ts.map +1 -1
  4. package/dist/components/cardTab/cardTabContext.d.ts.map +1 -1
  5. package/dist/components/drawer/drawerContext.d.ts.map +1 -1
  6. package/dist/components/modal/modalContext.d.ts.map +1 -1
  7. package/dist/components/tab/tabContext.d.ts.map +1 -1
  8. package/dist/index.js +85 -62
  9. package/dist/index.js.map +1 -0
  10. package/dist/modules/components/alert/alertContainer/index.js +17 -15
  11. package/dist/modules/components/alert/alertContainer/index.js.map +1 -0
  12. package/dist/modules/components/alert/alertContainer/styles.css +3 -0
  13. package/dist/modules/components/alert/alertContent/index.js +2 -0
  14. package/dist/modules/components/alert/alertContent/index.js.map +1 -0
  15. package/dist/modules/components/alert/alertContent/styles.css +1 -0
  16. package/dist/modules/components/alert/alertDescription/index.js +2 -0
  17. package/dist/modules/components/alert/alertDescription/index.js.map +1 -0
  18. package/dist/modules/components/alert/alertDescription/styles.css +1 -0
  19. package/dist/modules/components/alert/alertIcon/index.js +2 -0
  20. package/dist/modules/components/alert/alertIcon/index.js.map +1 -0
  21. package/dist/modules/components/alert/alertIcon/styles.css +7 -0
  22. package/dist/modules/components/alert/alertTitle/index.js +2 -0
  23. package/dist/modules/components/alert/alertTitle/index.js.map +1 -0
  24. package/dist/modules/components/alert/alertTitle/styles.css +1 -0
  25. package/dist/modules/components/audioPlayer/index.js +2 -0
  26. package/dist/modules/components/audioPlayer/index.js.map +1 -0
  27. package/dist/modules/components/audioPlayer/styles.css +3 -0
  28. package/dist/modules/components/audioUpload/hasFileContent/index.js +2 -0
  29. package/dist/modules/components/audioUpload/hasFileContent/index.js.map +1 -0
  30. package/dist/modules/components/audioUpload/hasFileContent/styles.css +1 -0
  31. package/dist/modules/components/audioUpload/index.js +2 -0
  32. package/dist/modules/components/audioUpload/index.js.map +1 -0
  33. package/dist/modules/components/audioUpload/noFileContent/index.js +2 -0
  34. package/dist/modules/components/audioUpload/noFileContent/index.js.map +1 -0
  35. package/dist/modules/components/audioUpload/noFileContent/styles.css +1 -0
  36. package/dist/modules/components/audioUpload/styles.css +25 -0
  37. package/dist/modules/components/badge/index.js +2 -0
  38. package/dist/modules/components/badge/index.js.map +1 -0
  39. package/dist/modules/components/badge/styles.css +1 -0
  40. package/dist/modules/components/button/index.js +2 -0
  41. package/dist/modules/components/button/index.js.map +1 -0
  42. package/dist/modules/components/button/styles.css +1 -0
  43. package/dist/modules/components/calendar/_calendarProvider.js +2 -0
  44. package/dist/modules/components/calendar/_calendarProvider.js.map +1 -0
  45. package/dist/modules/components/calendar/_viewService.js +2 -0
  46. package/dist/modules/components/calendar/_viewService.js.map +1 -0
  47. package/dist/modules/components/calendar/calendarContainer/index.js +2 -0
  48. package/dist/modules/components/calendar/calendarContainer/index.js.map +1 -0
  49. package/dist/modules/components/calendar/calendarContainer/styles.css +1 -0
  50. package/dist/modules/components/calendar/calendarHeader/index.js +2 -0
  51. package/dist/modules/components/calendar/calendarHeader/index.js.map +1 -0
  52. package/dist/modules/components/calendar/calendarHeader/styles.css +1 -0
  53. package/dist/modules/components/calendar/calendarTableBody/index.js +2 -0
  54. package/dist/modules/components/calendar/calendarTableBody/index.js.map +1 -0
  55. package/dist/modules/components/calendar/calendarTableBody/styles.css +1 -0
  56. package/dist/modules/components/calendar/calendarTableContainer/index.js +2 -0
  57. package/dist/modules/components/calendar/calendarTableContainer/index.js.map +1 -0
  58. package/dist/modules/components/calendar/calendarTableContainer/styles.css +1 -0
  59. package/dist/modules/components/calendar/calendarTableHeader/index.js +2 -0
  60. package/dist/modules/components/calendar/calendarTableHeader/index.js.map +1 -0
  61. package/dist/modules/components/calendar/calendarTableHeader/styles.css +1 -0
  62. package/dist/modules/components/calendar/calendarTableTd/index.js +2 -0
  63. package/dist/modules/components/calendar/calendarTableTd/index.js.map +1 -0
  64. package/dist/modules/components/calendar/calendarTableTd/styles.css +1 -0
  65. package/dist/modules/components/calendar/index.js +2 -0
  66. package/dist/modules/components/calendar/index.js.map +1 -0
  67. package/dist/modules/components/calendar/styles.css +33 -0
  68. package/dist/modules/components/cardTab/cardTabButton/index.js +2 -0
  69. package/dist/modules/components/cardTab/cardTabButton/index.js.map +1 -0
  70. package/dist/modules/components/cardTab/cardTabButton/styles.css +1 -0
  71. package/dist/modules/components/cardTab/cardTabContainer/index.js +2 -0
  72. package/dist/modules/components/cardTab/cardTabContainer/index.js.map +1 -0
  73. package/dist/modules/components/cardTab/cardTabContainer/styles.css +1 -0
  74. package/dist/modules/components/cardTab/cardTabContext.js +20 -9
  75. package/dist/modules/components/cardTab/cardTabContext.js.map +1 -0
  76. package/dist/modules/components/checkbox/index.js +2 -0
  77. package/dist/modules/components/checkbox/index.js.map +1 -0
  78. package/dist/modules/components/checkbox/styles.css +7 -0
  79. package/dist/modules/components/clientOnly.js +2 -0
  80. package/dist/modules/components/clientOnly.js.map +1 -0
  81. package/dist/modules/components/currencyInput/index.js +2 -0
  82. package/dist/modules/components/currencyInput/index.js.map +1 -0
  83. package/dist/modules/components/currencyInput/style.css +1 -0
  84. package/dist/modules/components/currencyInput/styles.css +7 -0
  85. package/dist/modules/components/divider/index.js +2 -0
  86. package/dist/modules/components/divider/index.js.map +1 -0
  87. package/dist/modules/components/divider/styles.css +1 -0
  88. package/dist/modules/components/drawer/drawerContainer/index.js +2 -0
  89. package/dist/modules/components/drawer/drawerContainer/index.js.map +1 -0
  90. package/dist/modules/components/drawer/drawerContainer/styles.css +1 -0
  91. package/dist/modules/components/drawer/drawerContext.js +12 -9
  92. package/dist/modules/components/drawer/drawerContext.js.map +1 -0
  93. package/dist/modules/components/drawer/drawerHeader/index.js +2 -0
  94. package/dist/modules/components/drawer/drawerHeader/index.js.map +1 -0
  95. package/dist/modules/components/drawer/drawerHeader/styles.css +1 -0
  96. package/dist/modules/components/facebookPixel/facebookPixel.client.js +2 -0
  97. package/dist/modules/components/facebookPixel/facebookPixel.client.js.map +1 -0
  98. package/dist/modules/components/facebookPixel/index.js +2 -0
  99. package/dist/modules/components/facebookPixel/index.js.map +1 -0
  100. package/dist/modules/components/facebookPixel/pixel.js +2 -0
  101. package/dist/modules/components/facebookPixel/pixel.js.map +1 -0
  102. package/dist/modules/components/fieldError/index.js +2 -0
  103. package/dist/modules/components/fieldError/index.js.map +1 -0
  104. package/dist/modules/components/fieldError/styles.css +1 -0
  105. package/dist/modules/components/fieldLabel/index.js +2 -0
  106. package/dist/modules/components/fieldLabel/index.js.map +1 -0
  107. package/dist/modules/components/fieldLabel/styles.css +1 -0
  108. package/dist/modules/components/fieldWrapper/index.js +2 -0
  109. package/dist/modules/components/fieldWrapper/index.js.map +1 -0
  110. package/dist/modules/components/fieldWrapper/styles.css +1 -0
  111. package/dist/modules/components/fileUpload/hasFileContent/index.js +2 -0
  112. package/dist/modules/components/fileUpload/hasFileContent/index.js.map +1 -0
  113. package/dist/modules/components/fileUpload/hasFileContent/styles.css +1 -0
  114. package/dist/modules/components/fileUpload/index.js +2 -0
  115. package/dist/modules/components/fileUpload/index.js.map +1 -0
  116. package/dist/modules/components/fileUpload/noFileContent/index.js +2 -0
  117. package/dist/modules/components/fileUpload/noFileContent/index.js.map +1 -0
  118. package/dist/modules/components/fileUpload/noFileContent/styles.css +1 -0
  119. package/dist/modules/components/fileUpload/styles.css +19 -0
  120. package/dist/modules/components/fullCalendar/_fullCalendarProvider.js +2 -0
  121. package/dist/modules/components/fullCalendar/_fullCalendarProvider.js.map +1 -0
  122. package/dist/modules/components/fullCalendar/_viewService.js +2 -0
  123. package/dist/modules/components/fullCalendar/_viewService.js.map +1 -0
  124. package/dist/modules/components/fullCalendar/dayCalendar/dayCalendarContainer/index.js +2 -0
  125. package/dist/modules/components/fullCalendar/dayCalendar/dayCalendarContainer/index.js.map +1 -0
  126. package/dist/modules/components/fullCalendar/dayCalendar/dayCalendarContainer/styles.css +1 -0
  127. package/dist/modules/components/fullCalendar/dayCalendar/dayCalendarEvent/index.js +2 -0
  128. package/dist/modules/components/fullCalendar/dayCalendar/dayCalendarEvent/index.js.map +1 -0
  129. package/dist/modules/components/fullCalendar/dayCalendar/dayCalendarEvent/styles.css +1 -0
  130. package/dist/modules/components/fullCalendar/dayCalendar/dayCalendarRow/index.js +2 -0
  131. package/dist/modules/components/fullCalendar/dayCalendar/dayCalendarRow/index.js.map +1 -0
  132. package/dist/modules/components/fullCalendar/dayCalendar/dayCalendarRow/styles.css +1 -0
  133. package/dist/modules/components/fullCalendar/dayCalendar/index.js +2 -0
  134. package/dist/modules/components/fullCalendar/dayCalendar/index.js.map +1 -0
  135. package/dist/modules/components/fullCalendar/fullCalendarContainer/index.js +2 -0
  136. package/dist/modules/components/fullCalendar/fullCalendarContainer/index.js.map +1 -0
  137. package/dist/modules/components/fullCalendar/fullCalendarContainer/styles.css +1 -0
  138. package/dist/modules/components/fullCalendar/fullCalendarHeader/index.js +2 -0
  139. package/dist/modules/components/fullCalendar/fullCalendarHeader/index.js.map +1 -0
  140. package/dist/modules/components/fullCalendar/fullCalendarHeader/styles.css +1 -0
  141. package/dist/modules/components/fullCalendar/index.js +2 -0
  142. package/dist/modules/components/fullCalendar/index.js.map +1 -0
  143. package/dist/modules/components/fullCalendar/monthlyCalendar/index.js +2 -0
  144. package/dist/modules/components/fullCalendar/monthlyCalendar/index.js.map +1 -0
  145. package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarEvent/index.js +2 -0
  146. package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarEvent/index.js.map +1 -0
  147. package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarEvent/styles.css +1 -0
  148. package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarTableBody/index.js +2 -0
  149. package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarTableBody/index.js.map +1 -0
  150. package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarTableBody/styles.css +1 -0
  151. package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarTableContainer/index.js +2 -0
  152. package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarTableContainer/index.js.map +1 -0
  153. package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarTableContainer/styles.css +1 -0
  154. package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarTableHeader/index.js +2 -0
  155. package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarTableHeader/index.js.map +1 -0
  156. package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarTableHeader/styles.css +1 -0
  157. package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarTableTd/index.js +2 -0
  158. package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarTableTd/index.js.map +1 -0
  159. package/dist/modules/components/fullCalendar/monthlyCalendar/monthlyCalendarTableTd/styles.css +1 -0
  160. package/dist/modules/components/fullCalendar/styles.css +35 -0
  161. package/dist/modules/components/fullCalendar/weekCalendar/index.js +2 -0
  162. package/dist/modules/components/fullCalendar/weekCalendar/index.js.map +1 -0
  163. package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarEvent/index.js +2 -0
  164. package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarEvent/index.js.map +1 -0
  165. package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarEvent/styles.css +1 -0
  166. package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarTableBody/index.js +2 -0
  167. package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarTableBody/index.js.map +1 -0
  168. package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarTableBody/styles.css +1 -0
  169. package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarTableContainer/index.js +2 -0
  170. package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarTableContainer/index.js.map +1 -0
  171. package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarTableContainer/styles.css +1 -0
  172. package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarTableHeader/index.js +2 -0
  173. package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarTableHeader/index.js.map +1 -0
  174. package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarTableHeader/styles.css +1 -0
  175. package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarTableTd/index.js +2 -0
  176. package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarTableTd/index.js.map +1 -0
  177. package/dist/modules/components/fullCalendar/weekCalendar/weekCalendarTableTd/styles.css +1 -0
  178. package/dist/modules/components/googleAnalytics/googleAnalytics.client.js +2 -0
  179. package/dist/modules/components/googleAnalytics/googleAnalytics.client.js.map +1 -0
  180. package/dist/modules/components/googleAnalytics/googleAnalytics.js +2 -0
  181. package/dist/modules/components/googleAnalytics/googleAnalytics.js.map +1 -0
  182. package/dist/modules/components/googleAnalytics/index.js +2 -0
  183. package/dist/modules/components/googleAnalytics/index.js.map +1 -0
  184. package/dist/modules/components/googleAnalytics/snippets/generateGAElements.js +2 -0
  185. package/dist/modules/components/googleAnalytics/snippets/generateGAElements.js.map +1 -0
  186. package/dist/modules/components/googleTagManager/googleTagManager.client.js +2 -0
  187. package/dist/modules/components/googleTagManager/googleTagManager.client.js.map +1 -0
  188. package/dist/modules/components/googleTagManager/googleTagManager.js +2 -0
  189. package/dist/modules/components/googleTagManager/googleTagManager.js.map +1 -0
  190. package/dist/modules/components/googleTagManager/index.js +2 -0
  191. package/dist/modules/components/googleTagManager/index.js.map +1 -0
  192. package/dist/modules/components/googleTagManager/snippets/appendToDataLayer.js +2 -0
  193. package/dist/modules/components/googleTagManager/snippets/appendToDataLayer.js.map +1 -0
  194. package/dist/modules/components/googleTagManager/snippets/generateGTMElements.js +2 -0
  195. package/dist/modules/components/googleTagManager/snippets/generateGTMElements.js.map +1 -0
  196. package/dist/modules/components/iconButton/index.js +2 -0
  197. package/dist/modules/components/iconButton/index.js.map +1 -0
  198. package/dist/modules/components/iconButton/styles.css +1 -0
  199. package/dist/modules/components/imageUpload/hasFileContent/index.js +2 -0
  200. package/dist/modules/components/imageUpload/hasFileContent/index.js.map +1 -0
  201. package/dist/modules/components/imageUpload/hasFileContent/styles.css +1 -0
  202. package/dist/modules/components/imageUpload/index.js +2 -0
  203. package/dist/modules/components/imageUpload/index.js.map +1 -0
  204. package/dist/modules/components/imageUpload/noFileContent/index.js +2 -0
  205. package/dist/modules/components/imageUpload/noFileContent/index.js.map +1 -0
  206. package/dist/modules/components/imageUpload/noFileContent/styles.css +1 -0
  207. package/dist/modules/components/imageUpload/styles.css +17 -0
  208. package/dist/modules/components/input/index.js +2 -0
  209. package/dist/modules/components/input/index.js.map +1 -0
  210. package/dist/modules/components/input/style.css +1 -0
  211. package/dist/modules/components/input/styles.css +7 -0
  212. package/dist/modules/components/mapView/index.js +2 -0
  213. package/dist/modules/components/mapView/index.js.map +1 -0
  214. package/dist/modules/components/mapView/mapView.client.js +2 -0
  215. package/dist/modules/components/mapView/mapView.client.js.map +1 -0
  216. package/dist/modules/components/mapView/mapbox.css +1 -0
  217. package/dist/modules/components/mapView/styles.css +1 -0
  218. package/dist/modules/components/maskedInput/index.js +2 -0
  219. package/dist/modules/components/maskedInput/index.js.map +1 -0
  220. package/dist/modules/components/maskedInput/style.css +1 -0
  221. package/dist/modules/components/maskedInput/styles.css +7 -0
  222. package/dist/modules/components/modal/modalContainer/index.js +2 -0
  223. package/dist/modules/components/modal/modalContainer/index.js.map +1 -0
  224. package/dist/modules/components/modal/modalContainer/styles.css +1 -0
  225. package/dist/modules/components/modal/modalContext.js +12 -9
  226. package/dist/modules/components/modal/modalContext.js.map +1 -0
  227. package/dist/modules/components/modal/modalFooter/index.js +2 -0
  228. package/dist/modules/components/modal/modalFooter/index.js.map +1 -0
  229. package/dist/modules/components/modal/modalFooter/styles.css +1 -0
  230. package/dist/modules/components/modal/modalHeader/index.js +2 -0
  231. package/dist/modules/components/modal/modalHeader/index.js.map +1 -0
  232. package/dist/modules/components/modal/modalHeader/styles.css +1 -0
  233. package/dist/modules/components/multiSelect/index.js +2 -0
  234. package/dist/modules/components/multiSelect/index.js.map +1 -0
  235. package/dist/modules/components/multiSelect/multiSelectChevron/index.js +2 -0
  236. package/dist/modules/components/multiSelect/multiSelectChevron/index.js.map +1 -0
  237. package/dist/modules/components/multiSelect/multiSelectChevron/styles.css +1 -0
  238. package/dist/modules/components/multiSelect/multiSelectContainer/index.js +2 -0
  239. package/dist/modules/components/multiSelect/multiSelectContainer/index.js.map +1 -0
  240. package/dist/modules/components/multiSelect/multiSelectContainer/styles.css +1 -0
  241. package/dist/modules/components/multiSelect/multiSelectContent/index.js +2 -0
  242. package/dist/modules/components/multiSelect/multiSelectContent/index.js.map +1 -0
  243. package/dist/modules/components/multiSelect/multiSelectContent/styles.css +1 -0
  244. package/dist/modules/components/multiSelect/multiSelectMark/index.js +2 -0
  245. package/dist/modules/components/multiSelect/multiSelectMark/index.js.map +1 -0
  246. package/dist/modules/components/multiSelect/multiSelectMark/styles.css +1 -0
  247. package/dist/modules/components/multiSelect/multiSelectOption/index.js +2 -0
  248. package/dist/modules/components/multiSelect/multiSelectOption/index.js.map +1 -0
  249. package/dist/modules/components/multiSelect/multiSelectOption/styles.css +1 -0
  250. package/dist/modules/components/multiSelect/multiSelectOptionsContainer/index.js +2 -0
  251. package/dist/modules/components/multiSelect/multiSelectOptionsContainer/index.js.map +1 -0
  252. package/dist/modules/components/multiSelect/multiSelectOptionsContainer/styles.css +1 -0
  253. package/dist/modules/components/multiSelect/multiSelectOverlay/index.js +2 -0
  254. package/dist/modules/components/multiSelect/multiSelectOverlay/index.js.map +1 -0
  255. package/dist/modules/components/multiSelect/multiSelectOverlay/styles.css +1 -0
  256. package/dist/modules/components/multiSelect/multiSelectSpinner/index.js +2 -0
  257. package/dist/modules/components/multiSelect/multiSelectSpinner/index.js.map +1 -0
  258. package/dist/modules/components/multiSelect/multiSelectSpinner/styles.css +1 -0
  259. package/dist/modules/components/multiSelect/styles.css +31 -0
  260. package/dist/modules/components/pagination/chevronButton/index.js +2 -0
  261. package/dist/modules/components/pagination/chevronButton/index.js.map +1 -0
  262. package/dist/modules/components/pagination/chevronButton/styles.css +1 -0
  263. package/dist/modules/components/pagination/currentButton/index.js +2 -0
  264. package/dist/modules/components/pagination/currentButton/index.js.map +1 -0
  265. package/dist/modules/components/pagination/currentButton/styles.css +1 -0
  266. package/dist/modules/components/pagination/index.js +2 -0
  267. package/dist/modules/components/pagination/index.js.map +1 -0
  268. package/dist/modules/components/pagination/pageButton/index.js +2 -0
  269. package/dist/modules/components/pagination/pageButton/index.js.map +1 -0
  270. package/dist/modules/components/pagination/pageButton/styles.css +1 -0
  271. package/dist/modules/components/pagination/paginationService.js +2 -0
  272. package/dist/modules/components/pagination/paginationService.js.map +1 -0
  273. package/dist/modules/components/pagination/spread/index.js +2 -0
  274. package/dist/modules/components/pagination/spread/index.js.map +1 -0
  275. package/dist/modules/components/pagination/spread/styles.css +1 -0
  276. package/dist/modules/components/pagination/styles.css +9 -0
  277. package/dist/modules/components/phoneInput/index.js +2 -0
  278. package/dist/modules/components/phoneInput/index.js.map +1 -0
  279. package/dist/modules/components/phoneInput/phoneInputContainer/index.js +2 -0
  280. package/dist/modules/components/phoneInput/phoneInputContainer/index.js.map +1 -0
  281. package/dist/modules/components/phoneInput/phoneInputContainer/styles.css +1 -0
  282. package/dist/modules/components/phoneInput/phoneInputCountriesOverlay/index.js +2 -0
  283. package/dist/modules/components/phoneInput/phoneInputCountriesOverlay/index.js.map +1 -0
  284. package/dist/modules/components/phoneInput/phoneInputCountriesOverlay/styles.css +1 -0
  285. package/dist/modules/components/phoneInput/phoneInputCountryOption/index.js +2 -0
  286. package/dist/modules/components/phoneInput/phoneInputCountryOption/index.js.map +1 -0
  287. package/dist/modules/components/phoneInput/phoneInputCountryOption/styles.css +1 -0
  288. package/dist/modules/components/phoneInput/phoneInputCountryOptionsContainer/index.js +2 -0
  289. package/dist/modules/components/phoneInput/phoneInputCountryOptionsContainer/index.js.map +1 -0
  290. package/dist/modules/components/phoneInput/phoneInputCountryOptionsContainer/styles.css +1 -0
  291. package/dist/modules/components/phoneInput/phoneInputCountrySelector/index.js +2 -0
  292. package/dist/modules/components/phoneInput/phoneInputCountrySelector/index.js.map +1 -0
  293. package/dist/modules/components/phoneInput/phoneInputCountrySelector/styles.css +1 -0
  294. package/dist/modules/components/phoneInput/phoneInputMask/index.js +2 -0
  295. package/dist/modules/components/phoneInput/phoneInputMask/index.js.map +1 -0
  296. package/dist/modules/components/phoneInput/phoneInputMask/style.css +1 -0
  297. package/dist/modules/components/phoneInput/styles.css +19 -0
  298. package/dist/modules/components/popover/index.js +2 -0
  299. package/dist/modules/components/popover/index.js.map +1 -0
  300. package/dist/modules/components/popover/styles.css +1 -0
  301. package/dist/modules/components/radio/radioBox/index.js +2 -0
  302. package/dist/modules/components/radio/radioBox/index.js.map +1 -0
  303. package/dist/modules/components/radio/radioBox/styles.css +1 -0
  304. package/dist/modules/components/radio/radioContext.js +2 -0
  305. package/dist/modules/components/radio/radioContext.js.map +1 -0
  306. package/dist/modules/components/radio/radioGroup/index.js +2 -0
  307. package/dist/modules/components/radio/radioGroup/index.js.map +1 -0
  308. package/dist/modules/components/radio/radioGroup/styles.css +7 -0
  309. package/dist/modules/components/richText/blockButton/index.js +2 -0
  310. package/dist/modules/components/richText/blockButton/index.js.map +1 -0
  311. package/dist/modules/components/richText/blockButton/styles.css +1 -0
  312. package/dist/modules/components/richText/element/index.js +2 -0
  313. package/dist/modules/components/richText/element/index.js.map +1 -0
  314. package/dist/modules/components/richText/element/styles.css +1 -0
  315. package/dist/modules/components/richText/index.js +2 -0
  316. package/dist/modules/components/richText/index.js.map +1 -0
  317. package/dist/modules/components/richText/insertImage/index.js +2 -0
  318. package/dist/modules/components/richText/insertImage/index.js.map +1 -0
  319. package/dist/modules/components/richText/insertImage/styles.css +1 -0
  320. package/dist/modules/components/richText/insertVideo/index.js +2 -0
  321. package/dist/modules/components/richText/insertVideo/index.js.map +1 -0
  322. package/dist/modules/components/richText/insertVideo/styles.css +1 -0
  323. package/dist/modules/components/richText/leaf/index.js +2 -0
  324. package/dist/modules/components/richText/leaf/index.js.map +1 -0
  325. package/dist/modules/components/richText/markButton/index.js +2 -0
  326. package/dist/modules/components/richText/markButton/index.js.map +1 -0
  327. package/dist/modules/components/richText/markButton/styles.css +1 -0
  328. package/dist/modules/components/richText/styles.css +67 -0
  329. package/dist/modules/components/richText/toolbar/index.js +2 -0
  330. package/dist/modules/components/richText/toolbar/index.js.map +1 -0
  331. package/dist/modules/components/richText/toolbar/styles.css +1 -0
  332. package/dist/modules/components/searchPlaces.js +2 -0
  333. package/dist/modules/components/searchPlaces.js.map +1 -0
  334. package/dist/modules/components/select/index.js +2 -0
  335. package/dist/modules/components/select/index.js.map +1 -0
  336. package/dist/modules/components/select/selectChevron/index.js +2 -0
  337. package/dist/modules/components/select/selectChevron/index.js.map +1 -0
  338. package/dist/modules/components/select/selectChevron/styles.css +1 -0
  339. package/dist/modules/components/select/selectContainer/index.js +2 -0
  340. package/dist/modules/components/select/selectContainer/index.js.map +1 -0
  341. package/dist/modules/components/select/selectContainer/styles.css +1 -0
  342. package/dist/modules/components/select/selectContent/index.js +2 -0
  343. package/dist/modules/components/select/selectContent/index.js.map +1 -0
  344. package/dist/modules/components/select/selectContent/styles.css +1 -0
  345. package/dist/modules/components/select/selectOption/index.js +2 -0
  346. package/dist/modules/components/select/selectOption/index.js.map +1 -0
  347. package/dist/modules/components/select/selectOption/styles.css +1 -0
  348. package/dist/modules/components/select/selectOptionsContainer/index.js +2 -0
  349. package/dist/modules/components/select/selectOptionsContainer/index.js.map +1 -0
  350. package/dist/modules/components/select/selectOptionsContainer/styles.css +1 -0
  351. package/dist/modules/components/select/selectOverlay/index.js +2 -0
  352. package/dist/modules/components/select/selectOverlay/index.js.map +1 -0
  353. package/dist/modules/components/select/selectOverlay/styles.css +1 -0
  354. package/dist/modules/components/select/selectSpinner/index.js +2 -0
  355. package/dist/modules/components/select/selectSpinner/index.js.map +1 -0
  356. package/dist/modules/components/select/selectSpinner/styles.css +1 -0
  357. package/dist/modules/components/select/styles.css +29 -0
  358. package/dist/modules/components/slider/index.js +2 -0
  359. package/dist/modules/components/slider/index.js.map +1 -0
  360. package/dist/modules/components/slider/styles.css +1 -0
  361. package/dist/modules/components/switch/index.js +2 -0
  362. package/dist/modules/components/switch/index.js.map +1 -0
  363. package/dist/modules/components/switch/styles.css +7 -0
  364. package/dist/modules/components/tab/tabButton/index.js +2 -0
  365. package/dist/modules/components/tab/tabButton/index.js.map +1 -0
  366. package/dist/modules/components/tab/tabButton/styles.css +1 -0
  367. package/dist/modules/components/tab/tabContainer/index.js +2 -0
  368. package/dist/modules/components/tab/tabContainer/index.js.map +1 -0
  369. package/dist/modules/components/tab/tabContainer/styles.css +1 -0
  370. package/dist/modules/components/tab/tabContext.js +20 -9
  371. package/dist/modules/components/tab/tabContext.js.map +1 -0
  372. package/dist/modules/components/table/tableBody/index.js +2 -0
  373. package/dist/modules/components/table/tableBody/index.js.map +1 -0
  374. package/dist/modules/components/table/tableBody/styles.css +1 -0
  375. package/dist/modules/components/table/tableCaption/index.js +2 -0
  376. package/dist/modules/components/table/tableCaption/index.js.map +1 -0
  377. package/dist/modules/components/table/tableCaption/styles.css +1 -0
  378. package/dist/modules/components/table/tableContainer/index.js +2 -0
  379. package/dist/modules/components/table/tableContainer/index.js.map +1 -0
  380. package/dist/modules/components/table/tableContainer/styles.css +1 -0
  381. package/dist/modules/components/table/tableFooter/index.js +2 -0
  382. package/dist/modules/components/table/tableFooter/index.js.map +1 -0
  383. package/dist/modules/components/table/tableFooter/styles.css +1 -0
  384. package/dist/modules/components/table/tableHeader/index.js +2 -0
  385. package/dist/modules/components/table/tableHeader/index.js.map +1 -0
  386. package/dist/modules/components/table/tableHeader/styles.css +1 -0
  387. package/dist/modules/components/textarea/index.js +2 -0
  388. package/dist/modules/components/textarea/index.js.map +1 -0
  389. package/dist/modules/components/textarea/styles.css +7 -0
  390. package/dist/modules/components/tooltip/index.js +2 -0
  391. package/dist/modules/components/tooltip/index.js.map +1 -0
  392. package/dist/modules/components/tooltip/styles.css +1 -0
  393. package/dist/modules/hooks/useAutomation.js +2 -0
  394. package/dist/modules/hooks/useAutomation.js.map +1 -0
  395. package/dist/modules/hooks/useDrawer.js +2 -0
  396. package/dist/modules/hooks/useDrawer.js.map +1 -0
  397. package/dist/modules/hooks/useForm.js +2 -0
  398. package/dist/modules/hooks/useForm.js.map +1 -0
  399. package/dist/modules/hooks/useHydrated.js +2 -0
  400. package/dist/modules/hooks/useHydrated.js.map +1 -0
  401. package/dist/modules/hooks/useModal.js +2 -0
  402. package/dist/modules/hooks/useModal.js.map +1 -0
  403. package/dist/modules/hooks/useScopedParams.js +2 -0
  404. package/dist/modules/hooks/useScopedParams.js.map +1 -0
  405. package/dist/modules/hooks/useScrollLock.js +2 -0
  406. package/dist/modules/hooks/useScrollLock.js.map +1 -0
  407. package/dist/modules/hooks/useSearchAutomation.js +2 -0
  408. package/dist/modules/hooks/useSearchAutomation.js.map +1 -0
  409. package/dist/modules/hooks/useSlider.js +2 -0
  410. package/dist/modules/hooks/useSlider.js.map +1 -0
  411. package/dist/modules/hooks/useToast.js +2 -0
  412. package/dist/modules/hooks/useToast.js.map +1 -0
  413. package/dist/modules/providers/drawerProvider.js +2 -0
  414. package/dist/modules/providers/drawerProvider.js.map +1 -0
  415. package/dist/modules/providers/formProvider.js +11 -9
  416. package/dist/modules/providers/formProvider.js.map +1 -0
  417. package/dist/modules/providers/modalProvider.js +2 -0
  418. package/dist/modules/providers/modalProvider.js.map +1 -0
  419. package/dist/modules/providers/placesProvider.js +2 -0
  420. package/dist/modules/providers/placesProvider.js.map +1 -0
  421. package/dist/modules/providers/toastProvider.js +41 -38
  422. package/dist/modules/providers/toastProvider.js.map +1 -0
  423. package/dist/modules/services/extractTextFromNode.js +2 -0
  424. package/dist/modules/services/extractTextFromNode.js.map +1 -0
  425. package/dist/modules/services/fieldTemplate.js +2 -0
  426. package/dist/modules/services/fieldTemplate.js.map +1 -0
  427. package/dist/modules/services/iconRenderer.js +2 -0
  428. package/dist/modules/services/iconRenderer.js.map +1 -0
  429. package/dist/modules/services/isBlockActive.js +2 -0
  430. package/dist/modules/services/isBlockActive.js.map +1 -0
  431. package/dist/modules/services/isMarkActive.js +2 -0
  432. package/dist/modules/services/isMarkActive.js.map +1 -0
  433. package/dist/modules/services/maskCurrencyValues.js +2 -0
  434. package/dist/modules/services/maskCurrencyValues.js.map +1 -0
  435. package/dist/modules/services/toHtml.js +2 -0
  436. package/dist/modules/services/toHtml.js.map +1 -0
  437. package/dist/modules/services/toRichTextValue.js +2 -0
  438. package/dist/modules/services/toRichTextValue.js.map +1 -0
  439. package/dist/modules/services/toggleBlock.js +2 -0
  440. package/dist/modules/services/toggleBlock.js.map +1 -0
  441. package/dist/modules/services/toggleMark.js +2 -0
  442. package/dist/modules/services/toggleMark.js.map +1 -0
  443. package/dist/modules/templates/badResponses.js +2 -0
  444. package/dist/modules/templates/badResponses.js.map +1 -0
  445. package/dist/modules/templates/richTextTemplates.js +2 -0
  446. package/dist/modules/templates/richTextTemplates.js.map +1 -0
  447. package/dist/modules/templates/successResponses.js +2 -0
  448. package/dist/modules/templates/successResponses.js.map +1 -0
  449. package/dist/modules/utils/phoneInputUtilities.js +2 -0
  450. package/dist/modules/utils/phoneInputUtilities.js.map +1 -0
  451. package/dist/modules/utils/richTextUtilities.js +2 -0
  452. package/dist/modules/utils/richTextUtilities.js.map +1 -0
  453. package/dist/providers/formProvider.d.ts.map +1 -1
  454. package/dist/providers/toastProvider.d.ts.map +1 -1
  455. package/dist/style.css +0 -1
  456. package/package.json +637 -8
  457. package/dist/modules/index.js +0 -72
  458. package/dist/modules/style.css +0 -2
@@ -0,0 +1,33 @@
1
+ @layer arkyn{.arkynCalendarContainer{border:1px solid var(--border);background-color:var(--background-foreground);border-radius:8px;flex-direction:column;gap:32px;max-width:400px;padding:16px;display:flex}}
2
+
3
+ @layer arkyn{.arkynCalendarHeader{justify-content:space-between;align-items:center;gap:16px;display:flex}.arkynCalendarHeader>p{color:var(--text-body);font-size:14px;font-weight:500}.arkynCalendarHeader .arkynCalendarButton{border:unset;background-color:unset;color:var(--text-muted);cursor:pointer;align-items:center;gap:4px;display:flex}.arkynCalendarHeader .arkynCalendarButton:hover svg{color:rgb(var(--spotlight-primary))}.arkynCalendarHeader>div{align-items:center;gap:12px;display:flex}.arkynCalendarHeader div .arkynSelectContainer{padding:unset;min-width:70px;min-height:24px}}
4
+
5
+ @layer arkyn{.arkynFieldError{color:rgb(var(--spotlight-danger));font-size:12px;font-weight:600;line-height:12px}}
6
+
7
+ @layer arkyn{.arkynFieldLabel{color:var(--text-body);font-size:14px;font-weight:600;line-height:19.07px}.arkynFieldLabel.asteriskTrue:before{content:"* ";text-align:left;color:rgb(var(--spotlight-danger));font-size:12px;font-weight:600;line-height:16.34px}}
8
+
9
+ @layer arkyn{.arkynFieldWrapper{gap:6px;height:max-content;display:flex}.arkynFieldWrapper.horizontal{flex-direction:row;align-items:center}.arkynFieldWrapper.horizontalReverse{flex-direction:row-reverse;align-items:center;margin-right:auto}.arkynFieldWrapper.vertical{flex-direction:column;align-items:flex-start}}
10
+
11
+ @layer arkyn{.arkynSelectChevron{color:var(--text-muted);transition:all .15s ease-in-out}.arkynSelectChevron:not(.notAnimate).focused{transform:rotate(180deg)}}
12
+
13
+ @layer arkyn{.arkynSelectContainer{border:1px solid #0000;border-radius:8px;outline:1px solid #0000;align-items:center;gap:8px;width:100%;padding:0 16px;display:flex;position:relative}.arkynSelectContainer:hover{cursor:pointer}.arkynSelectContainer.opacity{opacity:.5}.arkynSelectContainer .prefix{color:var(--text-body);background:var(--border);border-right:1px solid var(--border);border-radius:5px 0 0 5px;justify-content:center;align-items:center;font-weight:400;display:flex;position:absolute;top:0;bottom:0;left:0}.arkynSelectContainer>svg{color:var(--text-muted)}.arkynSelectContainer.errored>svg{color:rgb(var(--spotlight-danger))}.arkynSelectContainer:not(.opacity).focused>svg{color:rgb(var(--spotlight-primary))}.arkynSelectContainer.solid{border-color:var(--border);background-color:var(--input-background)}.arkynSelectContainer.solid.errored{border-color:rgb(var(--spotlight-danger));outline-color:rgb(var(--spotlight-danger))}.arkynSelectContainer:not(.opacity).solid.focused{border-color:rgb(var(--spotlight-primary));outline-color:rgb(var(--spotlight-primary))}.arkynSelectContainer.outline{border-color:var(--border);background-color:var(--background-foreground)}.arkynSelectContainer.outline.errored{border-color:rgb(var(--spotlight-danger));outline-color:rgb(var(--spotlight-danger))}.arkynSelectContainer:not(.opacity).outline.focused{border-color:rgb(var(--spotlight-primary));outline-color:rgb(var(--spotlight-primary))}.arkynSelectContainer.underline{border-top:none;border-left:none;border-right:none;border-color:var(--border);border-radius:0;outline:none}.arkynSelectContainer.underline .prefix{display:none}.arkynSelectContainer.underline:before{content:" ";background:0 0;height:1px;position:absolute;bottom:-2px;left:0;right:0}.arkynSelectContainer.underline.errored{border-color:rgba(var(--spotlight-danger))}.arkynSelectContainer.underline.errored:before{background:rgba(var(--spotlight-danger))}.arkynSelectContainer:not(.opacity).underline.focused{border-color:rgba(var(--spotlight-primary))}.arkynSelectContainer:not(.opacity).underline.focused:before{background:rgba(var(--spotlight-primary))}.arkynSelectContainer.md{min-height:40px}.arkynSelectContainer.md.hasPrefix{padding-left:60px}.arkynSelectContainer.md .prefix{width:44px;height:40px;font-size:14px}.arkynSelectContainer.lg{min-height:44px}.arkynSelectContainer.lg .prefix{width:48px;height:44px;font-size:16px}.arkynSelectContainer.lg.hasPrefix{padding-left:64px}}
14
+
15
+ @layer arkyn{.arkynSelectContent{flex-wrap:wrap;flex:1;align-items:start;gap:4px;display:flex}.arkynSelectContent>p{color:var(--text-muted);-webkit-user-select:none;user-select:none;font-weight:400}.arkynSelectContent>p.hasValue{color:var(--text-body)}.arkynSelectContent.md>p{font-size:14px;line-height:14px}.arkynSelectContent.lg>p{font-size:16px;line-height:16px}}
16
+
17
+ @layer arkyn{.arkynSelectOption{color:var(--text-body);background-color:inherit;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;font-weight:400;line-height:21.79px;display:flex}.arkynSelectOption.md{padding:8px 16px;font-size:14px}.arkynSelectOption.lg{padding:8px 16px;font-size:16px}.arkynSelectOption svg{width:20px;height:20px;color:rgb(var(--spotlight-primary));display:none}.arkynSelectOption:hover{cursor:pointer;filter:brightness(.98)}.arkynSelectOption.active{color:var(--text-heading);filter:brightness(.95);font-weight:600}.arkynSelectOption.active svg{display:unset}html.dark .arkynSelectOption:hover,html.dark .arkynSelectOption.active{filter:brightness(1.2)}}
18
+
19
+ @layer arkyn{.arkynSelectOptionsContainer{z-index:7;border:1px solid var(--border);background-color:var(--background-foreground);border-radius:6px;flex-direction:column;flex:1;height:max-content;max-height:300px;list-style:none;display:flex;position:absolute;left:-2px;right:-2px;overflow:auto;box-shadow:0 4px 8px #0000001a}.arkynSelectOptionsContainer.bottom{top:calc(100% + 5px)}.arkynSelectOptionsContainer.top{bottom:calc(100% + 5px)}.arkynSelectOptionsContainer>p{text-align:center;color:var(--text-body);padding:16px;font-size:14px;font-weight:400;line-height:21.79px}}
20
+
21
+ @layer arkyn{.arkynInput{border:1px solid #0000;border-radius:8px;outline:1px solid #0000;align-items:center;gap:8px;width:100%;padding:0 16px;display:flex;position:relative}.arkynInput:hover{cursor:text}.arkynInput input{width:100%;color:var(--text-heading);background:0 0;border:none;outline:none;line-height:100%}.arkynInput input:disabled{-webkit-user-select:none;user-select:none}.arkynInput .prefix,.arkynInput .suffix{color:var(--text-body);background:var(--border);justify-content:center;align-items:center;font-weight:400;line-height:100%;display:flex;position:absolute}.arkynInput .prefix{border-right:1px solid var(--border);border-radius:7px 0 0 7px;top:0;bottom:0;left:0}.arkynInput .suffix{border-left:1px solid var(--border);border-radius:0 7px 7px 0;top:0;bottom:0;right:0}.arkynInput input::placeholder{color:var(--text-muted);line-height:100%}.arkynInput svg{color:var(--text-muted)}.arkynInput.errored svg{color:rgb(var(--spotlight-danger))}.arkynInput:not(.opacity).focused svg{color:rgb(var(--spotlight-primary))}.arkynInput.opacity{opacity:.5}.arkynInput.solid{border-color:var(--border);background-color:var(--input-background)}.arkynInput.solid.errored{border-color:rgb(var(--spotlight-danger));outline-color:rgb(var(--spotlight-danger))}.arkynInput:not(.opacity).solid.focused{border-color:rgb(var(--spotlight-primary));outline-color:rgb(var(--spotlight-primary))}.arkynInput.outline{border-color:var(--border);background-color:var(--background-foreground)}.arkynInput.outline.errored{border-color:rgb(var(--spotlight-danger));outline-color:rgb(var(--spotlight-danger))}.arkynInput:not(.opacity).outline.focused{border-color:rgb(var(--spotlight-primary));outline-color:rgb(var(--spotlight-primary))}.arkynInput.underline{border-top:none;border-left:none;border-right:none;border-color:var(--border);border-radius:0;outline:none}.arkynInput.underline .suffix,.arkynInput.underline .prefix{display:none}.arkynInput.underline:before{content:" ";background:0 0;height:1px;position:absolute;bottom:-2px;left:0;right:0}.arkynInput.underline.errored{border-color:rgb(var(--spotlight-danger))}.arkynInput.underline.errored:before{background:rgb(var(--spotlight-danger))}.arkynInput:not(.opacity).underline.focused{border-color:rgb(var(--spotlight-primary))}.arkynInput:not(.opacity).underline.focused:before{background:rgb(var(--spotlight-primary))}.arkynInput.md input{min-height:38px;max-height:38px;font-size:14px;font-weight:400;line-height:14px}.arkynInput.md input::placeholder{font-size:14px;font-weight:400;line-height:14px}.arkynInput.md.hasPrefix{padding-left:60px}.arkynInput.md.hasSuffix{padding-right:60px}.arkynInput.md .prefix,.arkynInput.md .suffix{width:44px;height:38px;font-size:14px}.arkynInput.lg input{min-height:44px;max-height:44px;font-size:16px;font-weight:400;line-height:16px}.arkynInput.lg input::placeholder{font-size:16px;font-weight:400;line-height:16px}.arkynInput.lg .prefix,.arkynInput.lg .suffix{width:48px;height:44px;font-size:16px}.arkynInput.lg.hasPrefix{padding-left:64px}.arkynInput.lg.hasSuffix{padding-right:64px}.arkynInput .spinner{animation:2s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}}
22
+
23
+ @layer arkyn{.arkynSelectOverlay{z-index:5;position:fixed;inset:0}}
24
+
25
+ @layer arkyn{.arkynSelectSpinner{animation:2s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}}
26
+
27
+ @layer arkyn{.arkynCalendarTableBody{border-collapse:collapse;border-spacing:0}.arkynCalendarTableBody td p{text-align:center;padding:16px;font-size:14px}.arkynCalendarTableBody tr:first-child td{padding-top:8px}}
28
+
29
+ @layer arkyn{.arkynCalendarTableTd{-webkit-user-select:none;user-select:none;cursor:pointer}.arkynCalendarTableTd p{text-align:center;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;margin:auto;font-size:14px;display:flex}.arkynCalendarTableTd.previous p,.arkynCalendarTableTd.next p{color:var(--text-muted)}.arkynCalendarTableTd.current p{color:var(--text-body)}.arkynCalendarTableTd:hover p{color:rgb(var(--spotlight-primary))}.arkynCalendarTableTd.today:not(.checkedDay) p{color:var(--text-body);background-color:var(--background-underground);filter:brightness(.97);font-weight:500}.arkynCalendarTableTd .textGroup{width:40px;height:40px;margin:auto;position:relative}.arkynCalendarTableTd.checkedDay .textGroup span{content:" ";background-color:rgb(var(--spotlight-primary));z-index:2;border-radius:8px;position:absolute;inset:0}.arkynCalendarTableTd.checkedDay .textGroup p{color:var(--white);z-index:3;font-weight:600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.arkynCalendarTableTd.middleDay .textGroup span{content:" ";background-color:var(--background-underground);filter:brightness(.95);z-index:1;position:absolute;inset:0 -15px}.arkynCalendarTableTd:first-child.middleDay .textGroup span{border-top-left-radius:6px;border-bottom-left-radius:6px;left:0;right:-15px}.arkynCalendarTableTd:last-child.middleDay .textGroup span{border-top-right-radius:6px;border-bottom-right-radius:6px;left:-15px;right:0}.arkynCalendarTableTd.middleDay .textGroup p{color:var(--text-muted);z-index:2;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.arkynCalendarTableTd.current.middleDay .textGroup p{color:var(--text-body)}}
30
+
31
+ @layer arkyn{.arkynCalendarTableContainer{border-collapse:collapse;border-spacing:0}}
32
+
33
+ @layer arkyn{.arkynCalendarTableHeader th{color:var(--text-muted);padding-bottom:8px;font-size:14px;font-weight:500}.arkynCalendarTableHeader{border-bottom:1px solid var(--border)}}
@@ -18,3 +18,5 @@ function n(n) {
18
18
  }
19
19
  //#endregion
20
20
  export { n as CardTabButton };
21
+
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/cardTab/cardTabButton/index.tsx"],"sourcesContent":["import type { ButtonHTMLAttributes, MouseEvent, ReactNode } from \"react\";\n\nimport { useCardTab } from \"../cardTabContext\";\nimport \"./styles.css\";\n\ntype CardTabButtonProps = Omit<\n\tButtonHTMLAttributes<HTMLButtonElement>,\n\t\"children\" | \"value\" | \"type\"\n> & {\n\t/** Content displayed inside the tab button. */\n\tchildren: ReactNode;\n\t/** Unique identifier for this tab; matched against the container's active value. */\n\tvalue: string;\n};\n\n/**\n * CardTabButton — individual tab button inside a `CardTabContainer`.\n *\n * Reads active state and disabled state from `CardTabContainer` context.\n * The button's own `disabled` prop is ORed with the container's `disabled`.\n *\n * @param props.children - Tab label content. Required.\n * @param props.value - Tab identifier. Required.\n * @param props.disabled - Disables this tab individually (container can also disable all tabs).\n *\n * **...Other valid HTML `<button>` properties except `type`**\n *\n * @returns CardTabButton JSX element.\n *\n * @example\n * ```tsx\n * <CardTabContainer defaultValue=\"details\" onChange={setTab}>\n * <CardTabButton value=\"details\">Details</CardTabButton>\n * <CardTabButton value=\"history\">History</CardTabButton>\n * <CardTabButton value=\"settings\" disabled>Settings</CardTabButton>\n * </CardTabContainer>\n * ```\n */\n\nfunction CardTabButton(props: CardTabButtonProps) {\n\tconst {\n\t\tchildren,\n\t\tdisabled: rawDisabled = false,\n\t\tclassName: baseClassName = \"\",\n\t\tonClick,\n\t\tvalue,\n\t\t...rest\n\t} = props;\n\n\tconst { disabled, currentTab, changeCurrentTab } = useCardTab();\n\n\tconst isDisabled = disabled || rawDisabled;\n\n\tconst disabledClass = isDisabled ? \"isDisabled\" : \"\";\n\tconst activeClass = currentTab === value && value ? \"isActive\" : \"\";\n\tconst className = `arkynCardTabButton ${disabledClass} ${activeClass} ${baseClassName}`;\n\n\tfunction handleClick(event: MouseEvent<HTMLButtonElement>) {\n\t\tchangeCurrentTab(value);\n\t\tonClick?.(event);\n\t}\n\n\treturn (\n\t\t<button\n\t\t\tonClick={handleClick}\n\t\t\tclassName={className.trim()}\n\t\t\t{...rest}\n\t\t\tdisabled={isDisabled}\n\t\t\ttype=\"button\"\n\t\t>\n\t\t\t{children}\n\t\t</button>\n\t);\n}\n\nexport { CardTabButton };\n"],"mappings":";;;;AAuCA,SAAS,EAAc,GAA2B;CACjD,IAAM,EACL,aACA,UAAU,IAAc,IACxB,WAAW,IAAgB,IAC3B,YACA,UACA,GAAG,MACA,GAEE,EAAE,aAAU,eAAY,wBAAqB,EAAW,GAExD,IAAa,KAAY,GAIzB,IAAY,sBAFI,IAAa,eAAe,GAEI,GADlC,MAAe,KAAS,IAAQ,aAAa,GACI,GAAG;CAExE,SAAS,EAAY,GAAsC;EAE1D,AADA,EAAiB,CAAK,GACtB,IAAU,CAAK;CAChB;CAEA,OACC,kBAAC,UAAD;EACC,SAAS;EACT,WAAW,EAAU,KAAK;EAC1B,GAAI;EACJ,UAAU;EACV,MAAK;EAEJ;CACM,CAAA;AAEV"}
@@ -0,0 +1 @@
1
+ @layer arkyn{.arkynCardTabButton{letter-spacing:0%;color:var(--text-heading);cursor:pointer;background-color:#0000;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;height:40px;padding:8px 16px;font-size:14px;font-weight:600;display:flex}.arkynCardTabButton.isDisabled{cursor:not-allowed;opacity:.2}.arkynCardTabButton:hover:not(:disabled),.arkynCardTabButton.isActive{background-color:var(--background-foreground);border-color:var(--border)}}
@@ -21,3 +21,5 @@ function r(r) {
21
21
  }
22
22
  //#endregion
23
23
  export { r as CardTabContainer };
24
+
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/cardTab/cardTabContainer/index.tsx"],"sourcesContent":["import { type HTMLAttributes, type ReactNode, useState } from \"react\";\n\nimport { CardTabProvider } from \"../cardTabContext\";\nimport \"./styles.css\";\n\ntype CardTabContainerProps = Omit<\n\tHTMLAttributes<HTMLElement>,\n\t\"onClick\" | \"children\" | \"ref\" | \"onChange\"\n> & {\n\t/** `CardTabButton` components to render as tabs. Required. */\n\tchildren: ReactNode;\n\t/** Disables all tab buttons at once. @default false */\n\tdisabled?: boolean;\n\t/** Initially selected tab value. */\n\tdefaultValue?: string;\n\t/** Callback fired when the active tab changes, receiving the new value. */\n\tonChange?: (index: string) => void;\n};\n\n/**\n * CardTabContainer — wrapper that manages active state for a group of `CardTabButton` components.\n *\n * Renders as a `<nav>` element. Provides context consumed by each `CardTabButton`.\n *\n * @param props.children - `CardTabButton` elements. Required.\n * @param props.defaultValue - Initially selected tab value.\n * @param props.disabled - Disables all buttons. Default: false\n * @param props.onChange - Called with the new value whenever the active tab changes.\n *\n * **...Other valid HTML `<nav>` properties**\n *\n * @returns CardTabContainer JSX element.\n *\n * @example\n * ```tsx\n * <CardTabContainer defaultValue=\"overview\" onChange={setActiveTab}>\n * <CardTabButton value=\"overview\">Overview</CardTabButton>\n * <CardTabButton value=\"analytics\">Analytics</CardTabButton>\n * <CardTabButton value=\"settings\">Settings</CardTabButton>\n * </CardTabContainer>\n *\n * {activeTab === 'overview' && <OverviewPanel />}\n * {activeTab === 'analytics' && <AnalyticsPanel />}\n * ```\n */\n\nfunction CardTabContainer(props: CardTabContainerProps) {\n\tconst {\n\t\tchildren,\n\t\tonChange,\n\t\tdefaultValue,\n\t\tdisabled = false,\n\t\tclassName: baseClassName,\n\t\t...rest\n\t} = props;\n\n\tconst [currentTab, setCurrentTab] = useState(defaultValue || \"\");\n\n\tconst className = `arkynCardTabContainer ${baseClassName || \"\"}`;\n\n\tfunction changeCurrentTab(value: string) {\n\t\tsetCurrentTab(value);\n\t\tif (onChange) onChange(value);\n\t}\n\n\treturn (\n\t\t<CardTabProvider\n\t\t\tdisabled={disabled}\n\t\t\tcurrentTab={currentTab}\n\t\t\tchangeCurrentTab={changeCurrentTab}\n\t\t>\n\t\t\t<nav className={className.trim()} {...rest}>\n\t\t\t\t{children}\n\t\t\t</nav>\n\t\t</CardTabProvider>\n\t);\n}\n\nexport { CardTabContainer };\n"],"mappings":";;;;;AA8CA,SAAS,EAAiB,GAA8B;CACvD,IAAM,EACL,aACA,aACA,iBACA,cAAW,IACX,WAAW,GACX,GAAG,MACA,GAEE,CAAC,GAAY,KAAiB,EAAS,KAAgB,EAAE,GAEzD,IAAY,yBAAyB,KAAiB;CAE5D,SAAS,EAAiB,GAAe;EAExC,AADA,EAAc,CAAK,GACf,KAAU,EAAS,CAAK;CAC7B;CAEA,OACC,kBAAC,GAAD;EACW;EACE;EACM;YAElB,kBAAC,OAAD;GAAK,WAAW,EAAU,KAAK;GAAG,GAAI;GACpC;EACG,CAAA;CACW,CAAA;AAEnB"}
@@ -0,0 +1 @@
1
+ @layer arkyn{.arkynCardTabContainer{background-color:var(--background-underground);border-radius:8px;align-items:center;gap:4px;width:max-content;padding:4px;display:flex;overflow:hidden}}
@@ -1,15 +1,26 @@
1
- import { createContext as e, useContext as t } from "react";
2
- import { jsx as n } from "react/jsx-runtime";
1
+ import { createContext as e, useContext as t, useMemo as n } from "react";
2
+ import { jsx as r } from "react/jsx-runtime";
3
3
  //#region src/components/cardTab/cardTabContext.tsx
4
- var r = e({});
5
- function i() {
6
- return t(r);
4
+ var i = e({});
5
+ function a() {
6
+ return t(i);
7
7
  }
8
- function a(e) {
9
- return /* @__PURE__ */ n(r.Provider, {
10
- value: e,
8
+ function o(e) {
9
+ let { disabled: t, currentTab: a, changeCurrentTab: o } = e, s = n(() => ({
10
+ disabled: t,
11
+ currentTab: a,
12
+ changeCurrentTab: o
13
+ }), [
14
+ t,
15
+ a,
16
+ o
17
+ ]);
18
+ return /* @__PURE__ */ r(i.Provider, {
19
+ value: s,
11
20
  children: e.children
12
21
  });
13
22
  }
14
23
  //#endregion
15
- export { a as CardTabProvider, i as useCardTab };
24
+ export { o as CardTabProvider, a as useCardTab };
25
+
26
+ //# sourceMappingURL=cardTabContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cardTabContext.js","names":[],"sources":["../../../../src/components/cardTab/cardTabContext.tsx"],"sourcesContent":["import { createContext, type ReactNode, useContext, useMemo } from \"react\";\n\ntype CardTabContextProps = {\n\tdisabled: boolean;\n\tcurrentTab: string;\n\tchangeCurrentTab: (tab: string) => void;\n};\n\ntype CardTabProviderProps = {\n\tchildren: ReactNode;\n\tdisabled: boolean;\n\tcurrentTab: string;\n\tchangeCurrentTab: (tab: string) => void;\n};\n\nconst CardTabContext = createContext({} as CardTabContextProps);\n\nfunction useCardTab() {\n\treturn useContext(CardTabContext);\n}\n\nfunction CardTabProvider(props: CardTabProviderProps) {\n\tconst { disabled, currentTab, changeCurrentTab } = props;\n\n\tconst value = useMemo(\n\t\t() => ({ disabled, currentTab, changeCurrentTab }),\n\t\t[disabled, currentTab, changeCurrentTab],\n\t);\n\n\treturn (\n\t\t<CardTabContext.Provider value={value}>\n\t\t\t{props.children}\n\t\t</CardTabContext.Provider>\n\t);\n}\n\nexport { CardTabProvider, useCardTab };\n"],"mappings":";;;AAeA,IAAM,IAAiB,EAAc,CAAC,CAAwB;AAE9D,SAAS,IAAa;CACrB,OAAO,EAAW,CAAc;AACjC;AAEA,SAAS,EAAgB,GAA6B;CACrD,IAAM,EAAE,aAAU,eAAY,wBAAqB,GAE7C,IAAQ,SACN;EAAE;EAAU;EAAY;CAAiB,IAChD;EAAC;EAAU;EAAY;CAAgB,CACxC;CAEA,OACC,kBAAC,EAAe,UAAhB;EAAgC;YAC9B,EAAM;CACiB,CAAA;AAE3B"}
@@ -36,3 +36,5 @@ function c(c) {
36
36
  }
37
37
  //#endregion
38
38
  export { c as Checkbox };
39
+
40
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/checkbox/index.tsx"],"sourcesContent":["import { Check } from \"lucide-react\";\nimport { type ButtonHTMLAttributes, useId, useRef, useState } from \"react\";\n\nimport { useForm } from \"../../hooks/useForm\";\nimport { FieldTemplate } from \"../../services/fieldTemplate\";\n\nimport \"./styles.css\";\n\ntype CheckboxProps = Omit<\n\tButtonHTMLAttributes<HTMLButtonElement>,\n\t| \"size\"\n\t| \"prefix\"\n\t| \"type\"\n\t| \"name\"\n\t| \"defaultValue\"\n\t| \"value\"\n\t| \"onChange\"\n\t| \"onSelect\"\n\t| \"onClick\"\n> & {\n\t/** Optional label text displayed beside the checkbox. */\n\tlabel?: string;\n\t/** Displays an asterisk on the label to signal a required field. */\n\tshowAsterisk?: boolean;\n\t/** When true, skips `FieldTemplate` wrapper (label and error text). @default false */\n\tunShowFieldTemplate?: boolean;\n\t/** Validation error message displayed below the checkbox. */\n\terrorMessage?: string;\n\t/**\n\t * Checkbox size.\n\t * @default \"md\"\n\t */\n\tsize?: \"md\" | \"lg\" | \"sm\";\n\t/** Field name for form submission. Required. */\n\tname: string;\n\t/** Value stored in the hidden input when checked. @default \"checked\" */\n\tvalue?: string;\n\t/** Controlled checked state. */\n\tchecked?: boolean;\n\t/** Uncontrolled initial checked state. @default false */\n\tdefaultChecked?: boolean;\n\t/** Callback fired on toggle — receives the value string (or `\"\"` when unchecked). */\n\tonCheck?: (value: string) => void;\n\t/**\n\t * Layout direction forwarded to `FieldTemplate`.\n\t * @default \"horizontalReverse\"\n\t */\n\torientation?: \"horizontal\" | \"vertical\" | \"horizontalReverse\";\n};\n\n/**\n * Checkbox — interactive checkbox input with label, validation, and form integration.\n *\n * Stores value in a hidden `<input>` for native form submission.\n * Integrates with `useForm` to display validation errors by field name.\n *\n * @param props.name - Field name for form submission. Required.\n * @param props.label - Label text displayed beside the checkbox.\n * @param props.size - Checkbox size (`sm` | `md` | `lg`). Default: \"md\"\n * @param props.value - Value stored when checked. Default: \"checked\"\n * @param props.checked - Controlled checked state.\n * @param props.defaultChecked - Uncontrolled initial checked state. Default: false\n * @param props.onCheck - Callback fired on toggle — receives value or `\"\"` when unchecked.\n * @param props.errorMessage - Validation error message.\n * @param props.showAsterisk - Appends `*` to the label.\n * @param props.orientation - Layout direction (`horizontal` | `vertical` | `horizontalReverse`). Default: \"horizontalReverse\"\n * @param props.unShowFieldTemplate - Skips wrapper, label, and error rendering. Default: false\n *\n * **...Other valid HTML properties for `<button>` (except `type`, `name`, `defaultValue`, `value`, `onChange`, `onSelect`, `onClick`)**\n *\n * @returns Checkbox JSX element wrapped in `FieldTemplate`.\n *\n * @example\n * ```tsx\n * // Basic\n * <Checkbox name=\"terms\" label=\"I agree to the terms and conditions\" />\n *\n * // With custom value and error\n * <Checkbox\n * name=\"newsletter\"\n * label=\"Subscribe to newsletter\"\n * value=\"subscribed\"\n * errorMessage={errors.newsletter}\n * />\n *\n * // Controlled\n * <Checkbox\n * name=\"premium\"\n * label=\"Enable premium features\"\n * size=\"lg\"\n * checked={isPremium}\n * onCheck={(v) => setIsPremium(!!v)}\n * />\n * ```\n */\n\nfunction Checkbox(props: CheckboxProps) {\n\tconst {\n\t\tid,\n\t\tname,\n\t\tclassName: wrapperClassName = \"\",\n\t\tsize = \"md\",\n\t\terrorMessage: baseErrorMessage,\n\t\tdefaultChecked = false,\n\t\tlabel,\n\t\tchecked: baseChecked = null,\n\t\tonCheck,\n\t\torientation = \"horizontalReverse\",\n\t\tshowAsterisk,\n\t\tunShowFieldTemplate,\n\t\tvalue,\n\t\t...rest\n\t} = props;\n\n\tconst { fieldErrors } = useForm();\n\n\tconst checkboxRef = useRef<HTMLInputElement>(null);\n\tconst generatedId = useId();\n\tconst checkboxId = id || generatedId;\n\n\tconst errorMessage = baseErrorMessage || fieldErrors?.[name];\n\tconst isError = !!errorMessage;\n\n\tconst [isChecked, setIsChecked] = useState(defaultChecked || false);\n\n\tconst currentChecked =\n\t\ttypeof baseChecked === \"boolean\" ? baseChecked : isChecked;\n\n\tconst errorClass = isError ? \"errorTrue\" : \"errorFalse\";\n\tconst currentCheckedClass = currentChecked ? \"checkedTrue\" : \"checkedFalse\";\n\n\tconst className = `arkynCheckbox ${size} ${errorClass} ${currentCheckedClass}`;\n\n\tfunction handleCheck() {\n\t\tconst defaultChecked = isChecked;\n\t\tsetIsChecked(!defaultChecked);\n\t\tonCheck?.(!defaultChecked ? value || \"checked\" : \"\");\n\t}\n\n\treturn (\n\t\t<FieldTemplate\n\t\t\tname={name}\n\t\t\tlabel={label}\n\t\t\tshowAsterisk={showAsterisk}\n\t\t\tclassName={wrapperClassName}\n\t\t\terrorMessage={errorMessage}\n\t\t\tunShowFieldTemplate={unShowFieldTemplate}\n\t\t\torientation={orientation}\n\t\t>\n\t\t\t<button\n\t\t\t\tid={checkboxId}\n\t\t\t\ttype=\"button\"\n\t\t\t\tclassName={className}\n\t\t\t\tonClick={handleCheck}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<input\n\t\t\t\t\ttype=\"hidden\"\n\t\t\t\t\tname={name}\n\t\t\t\t\tref={checkboxRef}\n\t\t\t\t\tvalue={currentChecked ? value || \"checked\" : \"\"}\n\t\t\t\t/>\n\n\t\t\t\t<Check />\n\t\t\t</button>\n\t\t</FieldTemplate>\n\t);\n}\n\nexport { Checkbox };\n"],"mappings":";;;;;;;AAgGA,SAAS,EAAS,GAAsB;CACvC,IAAM,EACL,OACA,SACA,WAAW,IAAmB,IAC9B,UAAO,MACP,cAAc,GACd,oBAAiB,IACjB,UACA,SAAS,IAAc,MACvB,YACA,iBAAc,qBACd,iBACA,wBACA,UACA,GAAG,MACA,GAEE,EAAE,mBAAgB,EAAQ,GAE1B,IAAc,EAAyB,IAAI,GAC3C,IAAc,EAAM,GACpB,IAAa,KAAM,GAEnB,IAAe,KAAoB,IAAc,IACjD,IAAU,CAAC,CAAC,GAEZ,CAAC,GAAW,KAAgB,EAAS,KAAkB,EAAK,GAE5D,IACL,OAAO,KAAgB,YAAY,IAAc,GAK5C,IAAY,iBAAiB,EAAK,GAHrB,IAAU,cAAc,aAGW,GAF1B,IAAiB,gBAAgB;CAI7D,SAAS,IAAc;EACtB,IAAM,IAAiB;EAEvB,AADA,EAAa,CAAC,CAAc,GAC5B,IAAW,IAAsC,KAArB,KAAS,SAAc;CACpD;CAEA,OACC,kBAAC,GAAD;EACO;EACC;EACO;EACd,WAAW;EACG;EACO;EACR;YAEb,kBAAC,UAAD;GACC,IAAI;GACJ,MAAK;GACM;GACX,SAAS;GACT,GAAI;aALL,CAOC,kBAAC,SAAD;IACC,MAAK;IACC;IACN,KAAK;IACL,OAAO,IAAiB,KAAS,YAAY;GAC7C,CAAA,GAED,kBAAC,GAAD,CAAQ,CAAA,CACD;;CACM,CAAA;AAEjB"}
@@ -0,0 +1,7 @@
1
+ @layer arkyn{.arkynCheckbox{border:2px solid var(--border);background-color:var(--input-background);justify-content:center;align-items:center;display:flex}.arkynCheckbox:hover{cursor:pointer}.arkynCheckbox>svg{stroke-width:3px;display:none}.arkynCheckbox.sm{border-radius:4px;min-width:16px;max-width:16px;min-height:16px;max-height:16px}.arkynCheckbox.sm>svg{min-width:12px;max-width:12px;min-height:12px;max-height:12px}.arkynCheckbox.md{border-radius:4px;min-width:20px;max-width:20px;min-height:20px;max-height:20px}.arkynCheckbox.md>svg{min-width:14px;max-width:14px;min-height:14px;max-height:14px}.arkynCheckbox.lg{border-radius:6px;min-width:24px;max-width:24px;min-height:24px;max-height:24px}.arkynCheckbox.lg>svg{min-width:14px;max-width:14px;min-height:14px;max-height:14px}.arkynCheckbox.checkedTrue{background-color:rgb(var(--spotlight-primary));border-color:rgb(var(--spotlight-primary))}.arkynCheckbox.checkedTrue>svg{display:unset;color:var(--white)}.arkynCheckbox.errorTrue{border-color:rgb(var(--spotlight-danger))}}
2
+
3
+ @layer arkyn{.arkynFieldError{color:rgb(var(--spotlight-danger));font-size:12px;font-weight:600;line-height:12px}}
4
+
5
+ @layer arkyn{.arkynFieldLabel{color:var(--text-body);font-size:14px;font-weight:600;line-height:19.07px}.arkynFieldLabel.asteriskTrue:before{content:"* ";text-align:left;color:rgb(var(--spotlight-danger));font-size:12px;font-weight:600;line-height:16.34px}}
6
+
7
+ @layer arkyn{.arkynFieldWrapper{gap:6px;height:max-content;display:flex}.arkynFieldWrapper.horizontal{flex-direction:row;align-items:center}.arkynFieldWrapper.horizontalReverse{flex-direction:row-reverse;align-items:center;margin-right:auto}.arkynFieldWrapper.vertical{flex-direction:column;align-items:flex-start}}
@@ -6,3 +6,5 @@ function t(t) {
6
6
  }
7
7
  //#endregion
8
8
  export { t as ClientOnly };
9
+
10
+ //# sourceMappingURL=clientOnly.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clientOnly.js","names":[],"sources":["../../../src/components/clientOnly.tsx"],"sourcesContent":["import { useHydrated } from \"../hooks/useHydrated\";\n\ntype ClientOnlyProps = {\n\t/** Render function — called after hydration on the client. Required. */\n\tchildren(): React.ReactNode;\n\t/** Content rendered during SSR or before hydration. @default null */\n\tfallback?: React.ReactNode;\n};\n\n/**\n * ClientOnly — renders its children only after client-side hydration.\n *\n * Prevents React hydration mismatches for components that rely on browser-only APIs\n * (e.g. `window`, `navigator`, `document`). Uses `useHydrated` internally.\n *\n * @param props.children - Render function executed after hydration. Required.\n * @param props.fallback - Content shown during SSR / before hydration. Default: null\n *\n * @returns `children()` after hydration, otherwise `fallback`.\n *\n * @example\n * ```tsx\n * // With a skeleton fallback\n * <ClientOnly fallback={<Skeleton />}>\n * {() => <InteractiveWidget />}\n * </ClientOnly>\n *\n * // Using browser APIs safely\n * <ClientOnly fallback={<p>Loading...</p>}>\n * {() => <p>Current time: {new Date().toLocaleString()}</p>}\n * </ClientOnly>\n * ```\n */\n\nfunction ClientOnly(props: ClientOnlyProps) {\n\tconst { children, fallback = null } = props;\n\treturn useHydrated() ? children() : fallback;\n}\n\nexport { ClientOnly };\n"],"mappings":";;AAkCA,SAAS,EAAW,GAAwB;CAC3C,IAAM,EAAE,aAAU,cAAW,SAAS;CACtC,OAAO,EAAY,IAAI,EAAS,IAAI;AACrC"}
@@ -110,3 +110,5 @@ function f(f) {
110
110
  }
111
111
  //#endregion
112
112
  export { f as CurrencyInput };
113
+
114
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/currencyInput/index.tsx"],"sourcesContent":["import { Loader2, type LucideIcon } from \"lucide-react\";\nimport {\n\ttype ChangeEvent,\n\ttype FocusEvent,\n\ttype InputHTMLAttributes,\n\tuseEffect,\n\tuseId,\n\tuseRef,\n\tuseState,\n} from \"react\";\n\nimport { useForm } from \"../../hooks/useForm\";\nimport { FieldTemplate } from \"../../services/fieldTemplate\";\nimport { IconRenderer } from \"../../services/iconRenderer\";\nimport {\n\tmaskCurrencyValues,\n\tnormalizeValue,\n} from \"../../services/maskCurrencyValues\";\n\nimport \"./style.css\";\n\ntype Locale =\n\t| \"USD\"\n\t| \"EUR\"\n\t| \"JPY\"\n\t| \"GBP\"\n\t| \"AUD\"\n\t| \"CAD\"\n\t| \"CHF\"\n\t| \"CNY\"\n\t| \"SEK\"\n\t| \"NZD\"\n\t| \"BRL\"\n\t| \"INR\"\n\t| \"RUB\"\n\t| \"ZAR\"\n\t| \"MXN\"\n\t| \"SGD\"\n\t| \"HKD\"\n\t| \"NOK\"\n\t| \"KRW\"\n\t| \"TRY\"\n\t| \"IDR\"\n\t| \"THB\";\n\ntype CurrencyInputProps = Omit<\n\tInputHTMLAttributes<HTMLInputElement>,\n\t| \"size\"\n\t| \"prefix\"\n\t| \"name\"\n\t| \"type\"\n\t| \"max\"\n\t| \"defaultValue\"\n\t| \"value\"\n\t| \"onChange\"\n\t| \"placeholder\"\n> & {\n\t/** Field name for form submission. Required. */\n\tname: string;\n\t/**\n\t * Currency locale used to format the displayed value.\n\t * Supported: `\"USD\"` | `\"EUR\"` | `\"BRL\"` | `\"JPY\"` | `\"GBP\"` | … (22 locales).\n\t * Required.\n\t */\n\tlocale: Locale;\n\t/** Optional label text displayed above the input. */\n\tlabel?: string;\n\t/** Validation error message displayed below the input. */\n\terrorMessage?: string;\n\t/** Shows a spinner and disables the input during async operations. @default false */\n\tisLoading?: boolean;\n\t/** When true, skips `FieldTemplate` wrapper (label and error text). @default false */\n\tunShowFieldTemplate?: boolean;\n\t/**\n\t * Input size.\n\t * @default \"md\"\n\t */\n\tsize?: \"md\" | \"lg\";\n\t/**\n\t * Visual style variant.\n\t * - `solid`: filled background.\n\t * - `outline`: bordered, transparent background.\n\t * - `underline`: bottom border only.\n\t * @default \"solid\"\n\t */\n\tvariant?: \"solid\" | \"outline\" | \"underline\";\n\t/**\n\t * Layout direction forwarded to `FieldTemplate`.\n\t * @default \"horizontal\"\n\t */\n\torientation?: \"horizontal\" | \"vertical\" | \"horizontalReverse\";\n\t/** Text or icon rendered at the far left, outside the input area. */\n\tprefix?: string | LucideIcon;\n\t/** Text or icon rendered at the far right, outside the input area. */\n\tsuffix?: string | LucideIcon;\n\t/** Displays an asterisk on the label to signal a required field. */\n\tshowAsterisk?: boolean;\n\t/** Lucide icon rendered inside the input on the left. */\n\tleftIcon?: LucideIcon;\n\t/** Lucide icon rendered inside the input on the right. */\n\trightIcon?: LucideIcon;\n\t/** Maximum numeric value allowed. @default 1_000_000_000 */\n\tmax?: number;\n\t/** Controlled numeric value. */\n\tvalue?: number;\n\t/** Uncontrolled default numeric value. */\n\tdefaultValue?: number;\n\t/**\n\t * Callback fired on value change.\n\t * @param event - Native change event.\n\t * @param originalValue - Raw numeric string (e.g. `\"1234.56\"`).\n\t * @param maskedValue - Formatted display string (e.g. `\"$ 1,234.56\"`).\n\t */\n\tonChange?: (\n\t\tevent: ChangeEvent<HTMLInputElement>,\n\t\toriginalValue: string,\n\t\tmaskedValue: string,\n\t) => void;\n};\n\n/**\n * CurrencyInput — numeric input that automatically formats the displayed value according to a currency locale.\n *\n * The raw numeric value is stored in a hidden `<input>` for form submission.\n * Integrates with `useForm` to display validation errors by field name.\n *\n * @param props.name - Field name for form submission. Required.\n * @param props.locale - Currency locale (e.g. `\"USD\"`, `\"BRL\"`, `\"EUR\"`). Required.\n * @param props.label - Label text displayed above the input.\n * @param props.errorMessage - Validation error message.\n * @param props.isLoading - Shows a spinner and disables the input. Default: false\n * @param props.size - Input size (`md` | `lg`). Default: \"md\"\n * @param props.variant - Visual style variant. Default: \"solid\"\n * @param props.max - Maximum numeric value allowed. Default: 1_000_000_000\n * @param props.value - Controlled numeric value.\n * @param props.defaultValue - Uncontrolled default numeric value.\n * @param props.onChange - Callback fired on change — receives the event, the raw numeric string, and the formatted string.\n * @param props.prefix - Text or icon at the far left.\n * @param props.suffix - Text or icon at the far right.\n * @param props.leftIcon - Lucide icon inside the input on the left.\n * @param props.rightIcon - Lucide icon inside the input on the right.\n * @param props.showAsterisk - Appends `*` to the label.\n * @param props.orientation - Layout direction. Default: \"horizontal\"\n * @param props.unShowFieldTemplate - Skips wrapper, label, and error rendering. Default: false\n *\n * **...Other valid HTML properties for `<input>` (except `type`, `max`, `value`, `defaultValue`, `onChange`, `placeholder`)**\n *\n * @returns CurrencyInput JSX element wrapped in `FieldTemplate`.\n *\n * @example\n * ```tsx\n * // Basic\n * <CurrencyInput name=\"price\" locale=\"USD\" />\n *\n * // With label and validation\n * <CurrencyInput\n * name=\"salary\"\n * locale=\"BRL\"\n * label=\"Monthly Salary\"\n * showAsterisk\n * errorMessage=\"Please enter a valid amount\"\n * />\n *\n * // With max value and controlled state\n * <CurrencyInput\n * name=\"limit\"\n * locale=\"USD\"\n * label=\"Credit Limit\"\n * max={10000}\n * value={creditLimit}\n * onChange={(e, original) => setCreditLimit(Number(original))}\n * />\n * ```\n */\n\nfunction CurrencyInput(props: CurrencyInputProps) {\n\tconst {\n\t\tname,\n\t\tdisabled,\n\t\ttitle,\n\t\tstyle,\n\t\tvariant = \"solid\",\n\t\tlabel,\n\t\tclassName: wrapperClassName = \"\",\n\t\tvalue,\n\t\tdefaultValue,\n\t\tmax = 1000000000,\n\t\tlocale,\n\t\tonChange,\n\t\tprefix,\n\t\tsuffix,\n\t\tisLoading = false,\n\t\tleftIcon,\n\t\treadOnly,\n\t\tonFocus,\n\t\tonBlur,\n\t\terrorMessage: baseErrorMessage,\n\t\tunShowFieldTemplate,\n\t\torientation,\n\t\tshowAsterisk,\n\t\trightIcon,\n\t\tsize = \"md\",\n\t\tid,\n\t\t...rest\n\t} = props;\n\n\tconst { fieldErrors } = useForm();\n\tconst [isFocused, setIsFocused] = useState(false);\n\tconst [maskedValue, setMaskedValue] = useState(\"0\");\n\n\tconst inputRef = useRef<HTMLInputElement>(null);\n\tconst generatedId = useId();\n\tconst inputId = id || generatedId;\n\n\tconst errorMessage = baseErrorMessage || fieldErrors?.[name];\n\tconst isError = !!errorMessage;\n\tconst isDisabled = disabled || isLoading;\n\n\tconst iconSizes = { md: 20, lg: 20 };\n\tconst iconSize = iconSizes[size];\n\n\tconst loadingPosition = rightIcon ? \"right\" : \"left\";\n\n\tconst showLeftSpinner = loadingPosition === \"left\" && isLoading;\n\tconst showRightSpinner = loadingPosition === \"right\" && isLoading;\n\n\tfunction handleSectionClick() {\n\t\tif (isDisabled || !inputRef?.current) return;\n\t\tsetIsFocused(true);\n\t\tinputRef.current.focus();\n\t}\n\n\tfunction handleFocus(e: FocusEvent<HTMLInputElement>) {\n\t\tsetIsFocused(true);\n\t\tif (onFocus) onFocus(e);\n\t}\n\n\tfunction handleBlur(e: FocusEvent<HTMLInputElement>) {\n\t\tsetIsFocused(false);\n\t\tif (onBlur) onBlur(e);\n\t}\n\n\tconst updateValues = (originalValue: string | number) => {\n\t\tconst [calculatedValue, calculatedMaskedValue] = maskCurrencyValues(\n\t\t\toriginalValue,\n\t\t\tlocale,\n\t\t);\n\n\t\tif (!max || calculatedValue <= max) {\n\t\t\tsetMaskedValue(calculatedMaskedValue);\n\t\t\treturn [calculatedValue, calculatedMaskedValue];\n\t\t}\n\n\t\treturn maskCurrencyValues(originalValue, locale);\n\t};\n\n\tconst handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n\t\tevent.preventDefault();\n\t\tconst [originalValue, maskedValue] = updateValues(event.target.value);\n\n\t\tonChange?.(event, String(originalValue), String(maskedValue));\n\t};\n\n\tuseEffect(() => {\n\t\tfunction currentValue() {\n\t\t\tif (typeof value === \"number\") return value;\n\t\t\tif (typeof defaultValue === \"number\") return defaultValue;\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst [, maskedValue] = maskCurrencyValues(currentValue(), locale);\n\n\t\tsetMaskedValue(maskedValue);\n\t}, [locale, defaultValue, value]);\n\n\tconst hasPrefix = prefix ? \"hasPrefix\" : \"\";\n\tconst hasSuffix = suffix ? \"hasSuffix\" : \"\";\n\tconst errored = isError ? \"errored\" : \"\";\n\tconst opacity = isDisabled || readOnly || isLoading ? \"opacity\" : \"\";\n\tconst focused = isFocused ? \"focused\" : \"\";\n\n\tconst className = `arkynCurrencyInput ${hasPrefix} ${hasSuffix} ${variant} ${size} ${opacity} ${errored} ${focused}`;\n\n\treturn (\n\t\t<FieldTemplate\n\t\t\tname={name}\n\t\t\tlabel={label}\n\t\t\tshowAsterisk={showAsterisk}\n\t\t\tclassName={wrapperClassName}\n\t\t\terrorMessage={errorMessage}\n\t\t\tunShowFieldTemplate={unShowFieldTemplate}\n\t\t\torientation={orientation}\n\t\t>\n\t\t\t<section\n\t\t\t\ttitle={title}\n\t\t\t\tstyle={style}\n\t\t\t\tclassName={className}\n\t\t\t\tonClick={handleSectionClick}\n\t\t\t>\n\t\t\t\t<IconRenderer iconSize={iconSize} icon={prefix} className=\"prefix\" />\n\n\t\t\t\t<IconRenderer\n\t\t\t\t\tshow={showLeftSpinner}\n\t\t\t\t\ticonSize={iconSize}\n\t\t\t\t\tclassName=\"spinner\"\n\t\t\t\t\ticon={Loader2}\n\t\t\t\t/>\n\n\t\t\t\t<IconRenderer show={!isLoading} icon={leftIcon} iconSize={iconSize} />\n\n\t\t\t\t<input\n\t\t\t\t\tdisabled={isDisabled}\n\t\t\t\t\treadOnly={readOnly}\n\t\t\t\t\tref={inputRef}\n\t\t\t\t\tonFocus={handleFocus}\n\t\t\t\t\tonBlur={handleBlur}\n\t\t\t\t\tonChange={handleChange}\n\t\t\t\t\tid={inputId}\n\t\t\t\t\tplaceholder={isDisabled ? maskedValue : undefined}\n\t\t\t\t\tvalue={isDisabled ? undefined : maskedValue}\n\t\t\t\t\t{...rest}\n\t\t\t\t/>\n\n\t\t\t\t<input\n\t\t\t\t\ttype=\"hidden\"\n\t\t\t\t\tname={name}\n\t\t\t\t\tvalue={normalizeValue(maskedValue)}\n\t\t\t\t\treadOnly\n\t\t\t\t/>\n\n\t\t\t\t<IconRenderer show={!isLoading} icon={rightIcon} iconSize={iconSize} />\n\n\t\t\t\t<IconRenderer\n\t\t\t\t\tshow={showRightSpinner}\n\t\t\t\t\ticonSize={iconSize}\n\t\t\t\t\tclassName=\"spinner\"\n\t\t\t\t\ticon={Loader2}\n\t\t\t\t/>\n\n\t\t\t\t<IconRenderer iconSize={iconSize} icon={suffix} className=\"suffix\" />\n\t\t\t</section>\n\t\t</FieldTemplate>\n\t);\n}\n\nexport { CurrencyInput };\n"],"mappings":";;;;;;;;;AA+KA,SAAS,EAAc,GAA2B;CACjD,IAAM,EACL,SACA,aACA,UACA,UACA,aAAU,SACV,UACA,WAAW,IAAmB,IAC9B,UACA,iBACA,SAAM,KACN,WACA,aACA,WACA,WACA,eAAY,IACZ,aACA,aACA,YACA,WACA,cAAc,GACd,wBACA,gBACA,iBACA,cACA,UAAO,MACP,OACA,GAAG,MACA,GAEE,EAAE,mBAAgB,EAAQ,GAC1B,CAAC,GAAW,KAAgB,EAAS,EAAK,GAC1C,CAAC,GAAa,KAAkB,EAAS,GAAG,GAE5C,IAAW,EAAyB,IAAI,GACxC,IAAc,EAAM,GACpB,IAAU,KAAM,GAEhB,IAAe,KAAoB,IAAc,IACjD,IAAU,CAAC,CAAC,GACZ,IAAa,KAAY,GAGzB,IAAW;EADG,IAAI;EAAI,IAAI;CACf,EAAU,IAErB,IAAkB,IAAY,UAAU,QAExC,IAAkB,MAAoB,UAAU,GAChD,KAAmB,MAAoB,WAAW;CAExD,SAAS,KAAqB;EACzB,KAAc,CAAC,GAAU,YAC7B,EAAa,EAAI,GACjB,EAAS,QAAQ,MAAM;CACxB;CAEA,SAAS,GAAY,GAAiC;EAErD,AADA,EAAa,EAAI,GACb,KAAS,EAAQ,CAAC;CACvB;CAEA,SAAS,GAAW,GAAiC;EAEpD,AADA,EAAa,EAAK,GACd,KAAQ,EAAO,CAAC;CACrB;CAEA,IAAM,MAAgB,MAAmC;EACxD,IAAM,CAAC,GAAiB,KAAyB,EAChD,GACA,CACD;EAOA,OALI,CAAC,KAAO,KAAmB,KAC9B,EAAe,CAAqB,GAC7B,CAAC,GAAiB,CAAqB,KAGxC,EAAmB,GAAe,CAAM;CAChD;CA6BA,OApBA,QAAgB;EACf,SAAS,IAAe;GACvB,IAAI,OAAO,KAAU,UAAU,OAAO;GACtC,IAAI,OAAO,KAAiB,UAAU,OAAO;EAE9C;EAEA,IAAM,GAAG,KAAe,EAAmB,EAAa,GAAG,CAAM;EAEjE,EAAe,CAAW;CAC3B,GAAG;EAAC;EAAQ;EAAc;CAAK,CAAC,GAW/B,kBAAC,GAAD;EACO;EACC;EACO;EACd,WAAW;EACG;EACO;EACR;YAEb,kBAAC,WAAD;GACQ;GACA;GACI,WAAA,sBArBI,IAAS,cAAc,GAMS,GALhC,IAAS,cAAc,GAKsB,GAAG,EAAQ,GAAG,EAAK,GAHlE,KAAc,KAAY,IAAY,YAAY,GAG2B,GAJ7E,IAAU,YAAY,GAIkE,GAFxF,IAAY,YAAY;GAkBrC,SAAS;aAJV;IAMC,kBAAC,GAAD;KAAwB;KAAU,MAAM;KAAQ,WAAU;IAAU,CAAA;IAEpE,kBAAC,GAAD;KACC,MAAM;KACI;KACV,WAAU;KACV,MAAM;IACN,CAAA;IAED,kBAAC,GAAD;KAAc,MAAM,CAAC;KAAW,MAAM;KAAoB;IAAW,CAAA;IAErE,kBAAC,SAAD;KACC,UAAU;KACA;KACV,KAAK;KACL,SAAS;KACT,QAAQ;KACR,WA5DkB,MAAyC;MAC9D,EAAM,eAAe;MACrB,IAAM,CAAC,GAAe,KAAe,GAAa,EAAM,OAAO,KAAK;MAEpE,IAAW,GAAO,OAAO,CAAa,GAAG,OAAO,CAAW,CAAC;KAC7D;KAwDI,IAAI;KACJ,aAAa,IAAa,IAAc,KAAA;KACxC,OAAO,IAAa,KAAA,IAAY;KAChC,GAAI;IACJ,CAAA;IAED,kBAAC,SAAD;KACC,MAAK;KACC;KACN,OAAO,EAAe,CAAW;KACjC,UAAA;IACA,CAAA;IAED,kBAAC,GAAD;KAAc,MAAM,CAAC;KAAW,MAAM;KAAqB;IAAW,CAAA;IAEtE,kBAAC,GAAD;KACC,MAAM;KACI;KACV,WAAU;KACV,MAAM;IACN,CAAA;IAED,kBAAC,GAAD;KAAwB;KAAU,MAAM;KAAQ,WAAU;IAAU,CAAA;GAC5D;;CACK,CAAA;AAEjB"}
@@ -0,0 +1 @@
1
+ @layer arkyn{.arkynCurrencyInput{border:1px solid #0000;border-radius:8px;outline:1px solid #0000;align-items:center;gap:8px;width:100%;padding:0 16px;display:flex;position:relative}.arkynCurrencyInput:hover{cursor:text}.arkynCurrencyInput input{width:100%;color:var(--text-heading);background:0 0;border:none;outline:none;line-height:100%}.arkynCurrencyInput .prefix,.arkynCurrencyInput .suffix{color:var(--text-body);background:var(--border);justify-content:center;align-items:center;font-weight:400;line-height:100%;display:flex;position:absolute}.arkynCurrencyInput .prefix{border-right:1px solid var(--border);border-radius:7px 0 0 7px;top:0;bottom:0;left:0}.arkynCurrencyInput .suffix{border-left:1px solid var(--border);border-radius:0 7px 7px 0;top:0;bottom:0;right:0}.arkynCurrencyInput input::placeholder{color:var(--text-muted);line-height:100%}.arkynCurrencyInput svg{color:var(--text-muted)}.arkynCurrencyInput.errored svg{color:rgb(var(--spotlight-danger))}.arkynCurrencyInput:not(.opacity).focused svg{color:rgb(var(--spotlight-primary))}.arkynCurrencyInput.opacity{opacity:.5}.arkynCurrencyInput.solid{border-color:var(--border);background-color:var(--input-background)}.arkynCurrencyInput.solid.errored{border-color:rgb(var(--spotlight-danger));outline-color:rgb(var(--spotlight-danger))}.arkynCurrencyInput:not(.opacity).solid.focused{border-color:rgb(var(--spotlight-primary));outline-color:rgb(var(--spotlight-primary))}.arkynCurrencyInput.outline{border-color:var(--border);background-color:var(--background-foreground)}.arkynCurrencyInput.outline.errored{border-color:rgb(var(--spotlight-danger));outline-color:rgb(var(--spotlight-danger))}.arkynCurrencyInput:not(.opacity).outline.focused{border-color:rgb(var(--spotlight-primary));outline-color:rgb(var(--spotlight-primary))}.arkynCurrencyInput.underline{border-top:none;border-left:none;border-right:none;border-color:var(--border);border-radius:0;outline:none}.arkynCurrencyInput.underline .suffix,.arkynCurrencyInput.underline .prefix{display:none}.arkynCurrencyInput.underline:before{content:" ";background:0 0;height:1px;position:absolute;bottom:-2px;left:0;right:0}.arkynCurrencyInput.underline.errored{border-color:rgb(var(--spotlight-danger))}.arkynCurrencyInput.underline.errored:before{background:rgb(var(--spotlight-danger))}.arkynCurrencyInput:not(.opacity).underline.focused{border-color:rgb(var(--spotlight-primary))}.arkynCurrencyInput:not(.opacity).underline.focused:before{background:rgb(var(--spotlight-primary))}.arkynCurrencyInput.md input{min-height:38px;max-height:38px;font-size:14px;font-weight:400;line-height:14px}.arkynCurrencyInput.md input::placeholder{font-size:14px;font-weight:400;line-height:14px}.arkynCurrencyInput.md.hasPrefix{padding-left:60px}.arkynCurrencyInput.md.hasSuffix{padding-right:60px}.arkynCurrencyInput.md .prefix,.arkynCurrencyInput.md .suffix{width:44px;height:38px;font-size:14px}.arkynCurrencyInput.lg input{min-height:44px;max-height:44px;font-size:16px;font-weight:400;line-height:16px}.arkynCurrencyInput.lg input::placeholder{font-size:16px;font-weight:400;line-height:16px}.arkynCurrencyInput.lg .prefix,.arkynCurrencyInput.lg .suffix{width:48px;height:44px;font-size:16px}.arkynCurrencyInput.lg.hasPrefix{padding-left:64px}.arkynCurrencyInput.lg.hasSuffix{padding-right:64px}.arkynCurrencyInput .spinner{animation:2s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}}
@@ -0,0 +1,7 @@
1
+ @layer arkyn{.arkynCurrencyInput{border:1px solid #0000;border-radius:8px;outline:1px solid #0000;align-items:center;gap:8px;width:100%;padding:0 16px;display:flex;position:relative}.arkynCurrencyInput:hover{cursor:text}.arkynCurrencyInput input{width:100%;color:var(--text-heading);background:0 0;border:none;outline:none;line-height:100%}.arkynCurrencyInput .prefix,.arkynCurrencyInput .suffix{color:var(--text-body);background:var(--border);justify-content:center;align-items:center;font-weight:400;line-height:100%;display:flex;position:absolute}.arkynCurrencyInput .prefix{border-right:1px solid var(--border);border-radius:7px 0 0 7px;top:0;bottom:0;left:0}.arkynCurrencyInput .suffix{border-left:1px solid var(--border);border-radius:0 7px 7px 0;top:0;bottom:0;right:0}.arkynCurrencyInput input::placeholder{color:var(--text-muted);line-height:100%}.arkynCurrencyInput svg{color:var(--text-muted)}.arkynCurrencyInput.errored svg{color:rgb(var(--spotlight-danger))}.arkynCurrencyInput:not(.opacity).focused svg{color:rgb(var(--spotlight-primary))}.arkynCurrencyInput.opacity{opacity:.5}.arkynCurrencyInput.solid{border-color:var(--border);background-color:var(--input-background)}.arkynCurrencyInput.solid.errored{border-color:rgb(var(--spotlight-danger));outline-color:rgb(var(--spotlight-danger))}.arkynCurrencyInput:not(.opacity).solid.focused{border-color:rgb(var(--spotlight-primary));outline-color:rgb(var(--spotlight-primary))}.arkynCurrencyInput.outline{border-color:var(--border);background-color:var(--background-foreground)}.arkynCurrencyInput.outline.errored{border-color:rgb(var(--spotlight-danger));outline-color:rgb(var(--spotlight-danger))}.arkynCurrencyInput:not(.opacity).outline.focused{border-color:rgb(var(--spotlight-primary));outline-color:rgb(var(--spotlight-primary))}.arkynCurrencyInput.underline{border-top:none;border-left:none;border-right:none;border-color:var(--border);border-radius:0;outline:none}.arkynCurrencyInput.underline .suffix,.arkynCurrencyInput.underline .prefix{display:none}.arkynCurrencyInput.underline:before{content:" ";background:0 0;height:1px;position:absolute;bottom:-2px;left:0;right:0}.arkynCurrencyInput.underline.errored{border-color:rgb(var(--spotlight-danger))}.arkynCurrencyInput.underline.errored:before{background:rgb(var(--spotlight-danger))}.arkynCurrencyInput:not(.opacity).underline.focused{border-color:rgb(var(--spotlight-primary))}.arkynCurrencyInput:not(.opacity).underline.focused:before{background:rgb(var(--spotlight-primary))}.arkynCurrencyInput.md input{min-height:38px;max-height:38px;font-size:14px;font-weight:400;line-height:14px}.arkynCurrencyInput.md input::placeholder{font-size:14px;font-weight:400;line-height:14px}.arkynCurrencyInput.md.hasPrefix{padding-left:60px}.arkynCurrencyInput.md.hasSuffix{padding-right:60px}.arkynCurrencyInput.md .prefix,.arkynCurrencyInput.md .suffix{width:44px;height:38px;font-size:14px}.arkynCurrencyInput.lg input{min-height:44px;max-height:44px;font-size:16px;font-weight:400;line-height:16px}.arkynCurrencyInput.lg input::placeholder{font-size:16px;font-weight:400;line-height:16px}.arkynCurrencyInput.lg .prefix,.arkynCurrencyInput.lg .suffix{width:48px;height:44px;font-size:16px}.arkynCurrencyInput.lg.hasPrefix{padding-left:64px}.arkynCurrencyInput.lg.hasSuffix{padding-right:64px}.arkynCurrencyInput .spinner{animation:2s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}}
2
+
3
+ @layer arkyn{.arkynFieldError{color:rgb(var(--spotlight-danger));font-size:12px;font-weight:600;line-height:12px}}
4
+
5
+ @layer arkyn{.arkynFieldLabel{color:var(--text-body);font-size:14px;font-weight:600;line-height:19.07px}.arkynFieldLabel.asteriskTrue:before{content:"* ";text-align:left;color:rgb(var(--spotlight-danger));font-size:12px;font-weight:600;line-height:16.34px}}
6
+
7
+ @layer arkyn{.arkynFieldWrapper{gap:6px;height:max-content;display:flex}.arkynFieldWrapper.horizontal{flex-direction:row;align-items:center}.arkynFieldWrapper.horizontalReverse{flex-direction:row-reverse;align-items:center;margin-right:auto}.arkynFieldWrapper.vertical{flex-direction:column;align-items:flex-start}}
@@ -10,3 +10,5 @@ function t(t) {
10
10
  }
11
11
  //#endregion
12
12
  export { t as Divider };
13
+
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/divider/index.tsx"],"sourcesContent":["import type { HTMLAttributes } from \"react\";\nimport \"./styles.css\";\n\ntype DividerProps = HTMLAttributes<HTMLDivElement> & {\n\t/**\n\t * Divider orientation.\n\t * @default \"horizontal\"\n\t */\n\torientation?: \"horizontal\" | \"vertical\";\n};\n\n/**\n * Divider — visually separates content sections.\n *\n * @param props.orientation - Line direction (`horizontal` | `vertical`). Default: \"horizontal\"\n *\n * **...Other valid HTML properties for `<div>`**\n *\n * @returns Divider JSX element.\n *\n * @example\n * ```tsx\n * // Between sections\n * <h2>Section 1</h2>\n * <Divider />\n * <h2>Section 2</h2>\n *\n * // Vertical (e.g. between sidebar and content)\n * <Divider orientation=\"vertical\" />\n * ```\n */\n\nfunction Divider(props: DividerProps) {\n\tconst {\n\t\tclassName: baseClassName,\n\t\torientation = \"horizontal\",\n\t\t...rest\n\t} = props;\n\n\tconst className = `arkynDivider ${orientation} ${baseClassName}`;\n\n\treturn <div className={className.trim()} {...rest} />;\n}\n\nexport { Divider };\n"],"mappings":";;;AAgCA,SAAS,EAAQ,GAAqB;CACrC,IAAM,EACL,WAAW,GACX,iBAAc,cACd,GAAG,MACA;CAIJ,OAAO,kBAAC,OAAD;EAAK,WAAW,gBAFW,EAAY,GAAG,IAEhB,KAAK;EAAG,GAAI;CAAO,CAAA;AACrD"}
@@ -0,0 +1 @@
1
+ @layer arkyn{.arkynDivider{background-color:var(--border);flex:1;display:block}.arkynDivider.horizontal{width:100%;min-height:1px;max-height:1px}.arkynDivider.vertical{min-width:1px;max-width:1px;height:100%}}
@@ -35,3 +35,5 @@ function o(o) {
35
35
  }
36
36
  //#endregion
37
37
  export { o as DrawerContainer };
38
+
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/drawer/drawerContainer/index.tsx"],"sourcesContent":["import {\n\ttype AnimationEvent,\n\ttype HTMLAttributes,\n\tuseEffect,\n\tuseState,\n} from \"react\";\n\nimport { useScrollLock } from \"../../../hooks/useScrollLock\";\nimport { DrawerProvider } from \"../drawerContext\";\nimport \"./styles.css\";\n\ntype DrawerContainerProps = HTMLAttributes<HTMLElement> & {\n\t/** Controls whether the drawer is visible. */\n\tisVisible: boolean;\n\t/** Callback invoked when the overlay is clicked to close the drawer. */\n\tmakeInvisible: () => void;\n\t/** Side from which the drawer slides in. @default \"left\" */\n\torientation?: \"left\" | \"right\";\n};\n\n/**\n * DrawerContainer — animated slide-in panel rendered over an overlay backdrop.\n *\n * Locks body scroll while open. Closes when the overlay is clicked.\n * Provides context consumed by `DrawerHeader` (close button).\n *\n * @param props.isVisible - Whether the drawer is open. Required.\n * @param props.makeInvisible - Called when the overlay or close button is clicked. Required.\n * @param props.orientation - Slide direction. Default: `\"left\"`\n *\n * **...Other valid HTML `<aside>` properties**\n *\n * @returns DrawerContainer JSX element.\n *\n * @example\n * ```tsx\n * const [isOpen, setIsOpen] = useState(false);\n *\n * <DrawerContainer isVisible={isOpen} makeInvisible={() => setIsOpen(false)} orientation=\"right\">\n * <DrawerHeader><h2>Navigation</h2></DrawerHeader>\n * <nav>...</nav>\n * </DrawerContainer>\n * ```\n */\n\nfunction DrawerContainer(props: DrawerContainerProps) {\n\tconst {\n\t\tisVisible,\n\t\tmakeInvisible,\n\t\torientation = \"left\",\n\t\tchildren,\n\t\tclassName: baseClassName,\n\t\t...rest\n\t} = props;\n\n\tconst [mounted, setMounted] = useState(isVisible);\n\tconst [isExiting, setIsExiting] = useState(false);\n\n\tuseEffect(() => {\n\t\tif (isVisible) {\n\t\t\tsetMounted(true);\n\t\t\tsetIsExiting(false);\n\t\t} else if (mounted) {\n\t\t\tsetIsExiting(true);\n\t\t}\n\t}, [isVisible, mounted]);\n\n\tuseScrollLock(isVisible);\n\n\tfunction handleOverlayAnimationEnd(e: AnimationEvent<HTMLDivElement>) {\n\t\tif (e.target === e.currentTarget && isExiting) {\n\t\t\tsetIsExiting(false);\n\t\t\tsetMounted(false);\n\t\t\tmakeInvisible();\n\t\t}\n\t}\n\n\tif (!mounted) return null;\n\n\tconst className = [\n\t\t\"arkynDrawerContainer\",\n\t\torientation,\n\t\tisExiting ? \"exiting\" : \"\",\n\t\tbaseClassName,\n\t]\n\t\t.filter(Boolean)\n\t\t.join(\" \");\n\n\treturn (\n\t\t<DrawerProvider makeInvisible={() => setIsExiting(true)}>\n\t\t\t<aside className={className} {...rest}>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"arkynDrawerContainerOverlay\"\n\t\t\t\t\tonClick={() => setIsExiting(true)}\n\t\t\t\t\tonAnimationEnd={handleOverlayAnimationEnd}\n\t\t\t\t/>\n\t\t\t\t<div className=\"arkynDrawerContainerContent\">{children}</div>\n\t\t\t</aside>\n\t\t</DrawerProvider>\n\t);\n}\n\nexport { DrawerContainer };\n"],"mappings":";;;;;;AA6CA,SAAS,EAAgB,GAA6B;CACrD,IAAM,EACL,cACA,kBACA,iBAAc,QACd,aACA,WAAW,GACX,GAAG,MACA,GAEE,CAAC,GAAS,KAAc,EAAS,CAAS,GAC1C,CAAC,GAAW,KAAgB,EAAS,EAAK;CAWhD,AATA,QAAgB;EACf,AAAI,KACH,EAAW,EAAI,GACf,EAAa,EAAK,KACR,KACV,EAAa,EAAI;CAEnB,GAAG,CAAC,GAAW,CAAO,CAAC,GAEvB,EAAc,CAAS;CAEvB,SAAS,EAA0B,GAAmC;EACrE,AAAI,EAAE,WAAW,EAAE,iBAAiB,MACnC,EAAa,EAAK,GAClB,EAAW,EAAK,GAChB,EAAc;CAEhB;CAaA,OAXK,IAYJ,kBAAC,GAAD;EAAgB,qBAAqB,EAAa,EAAI;YACrD,kBAAC,SAAD;GAAkB,WAXF;IACjB;IACA;IACA,IAAY,YAAY;IACxB;GACD,CAAC,CACC,OAAO,OAAO,CAAC,CACf,KAAK,GAIa;GAAW,GAAI;aAAjC,CACC,kBAAC,OAAD;IACC,WAAU;IACV,eAAe,EAAa,EAAI;IAChC,gBAAgB;GAChB,CAAA,GACD,kBAAC,OAAD;IAAK,WAAU;IAA+B;GAAc,CAAA,CACtD;;CACQ,CAAA,IArBI;AAuBtB"}
@@ -0,0 +1 @@
1
+ @layer arkyn{.arkynDrawerContainer{z-index:9999;position:fixed;inset:0;overflow:auto}.arkynDrawerContainerOverlay{z-index:9997;cursor:pointer;background:#00000080;animation:.32s cubic-bezier(.22,1,.36,1) forwards drawerOverlayIn;position:fixed;inset:0}.arkynDrawerContainer.exiting>.arkynDrawerContainerOverlay{animation:.32s cubic-bezier(.22,1,.36,1) forwards drawerOverlayOut}.arkynDrawerContainerContent{z-index:9999;background:var(--background-foreground);flex-direction:column;width:max-content;height:100vh;display:flex;position:fixed;top:0;bottom:0;overflow:auto}.arkynDrawerContainer.left>.arkynDrawerContainerContent{animation:.32s cubic-bezier(.22,1,.36,1) forwards drawerSlideInLeft;left:0}.arkynDrawerContainer.right>.arkynDrawerContainerContent{animation:.32s cubic-bezier(.22,1,.36,1) forwards drawerSlideInRight;right:0}.arkynDrawerContainer.exiting.left>.arkynDrawerContainerContent{animation:.32s cubic-bezier(.22,1,.36,1) forwards drawerSlideOutLeft}.arkynDrawerContainer.exiting.right>.arkynDrawerContainerContent{animation:.32s cubic-bezier(.22,1,.36,1) forwards drawerSlideOutRight}@keyframes drawerOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes drawerOverlayOut{0%{opacity:1}to{opacity:0}}@keyframes drawerSlideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes drawerSlideOutLeft{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes drawerSlideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes drawerSlideOutRight{0%{transform:translate(0)}to{transform:translate(100%)}}}
@@ -1,15 +1,18 @@
1
- import { createContext as e, useContext as t } from "react";
2
- import { jsx as n } from "react/jsx-runtime";
1
+ import { createContext as e, useContext as t, useMemo as n } from "react";
2
+ import { jsx as r } from "react/jsx-runtime";
3
3
  //#region src/components/drawer/drawerContext.tsx
4
- var r = e({});
5
- function i(e) {
6
- return /* @__PURE__ */ n(r.Provider, {
7
- value: { makeInvisible: e.makeInvisible },
4
+ var i = e({});
5
+ function a(e) {
6
+ let t = n(() => ({ makeInvisible: e.makeInvisible }), [e.makeInvisible]);
7
+ return /* @__PURE__ */ r(i.Provider, {
8
+ value: t,
8
9
  children: e.children
9
10
  });
10
11
  }
11
- function a() {
12
- return t(r);
12
+ function o() {
13
+ return t(i);
13
14
  }
14
15
  //#endregion
15
- export { i as DrawerProvider, a as useDrawer };
16
+ export { a as DrawerProvider, o as useDrawer };
17
+
18
+ //# sourceMappingURL=drawerContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawerContext.js","names":[],"sources":["../../../../src/components/drawer/drawerContext.tsx"],"sourcesContent":["import { createContext, type ReactNode, useContext, useMemo } from \"react\";\n\ntype DrawerContextProps = {\n\tmakeInvisible: () => void;\n};\n\ntype DrawerProviderProps = {\n\tchildren: ReactNode;\n\tmakeInvisible: () => void;\n};\n\nconst drawerContext = createContext({} as DrawerContextProps);\n\nfunction DrawerProvider(props: DrawerProviderProps) {\n\tconst value = useMemo(\n\t\t() => ({ makeInvisible: props.makeInvisible }),\n\t\t[props.makeInvisible],\n\t);\n\n\treturn (\n\t\t<drawerContext.Provider value={value}>\n\t\t\t{props.children}\n\t\t</drawerContext.Provider>\n\t);\n}\n\nfunction useDrawer() {\n\treturn useContext(drawerContext);\n}\n\nexport { DrawerProvider, useDrawer };\n"],"mappings":";;;AAWA,IAAM,IAAgB,EAAc,CAAC,CAAuB;AAE5D,SAAS,EAAe,GAA4B;CACnD,IAAM,IAAQ,SACN,EAAE,eAAe,EAAM,cAAc,IAC5C,CAAC,EAAM,aAAa,CACrB;CAEA,OACC,kBAAC,EAAc,UAAf;EAA+B;YAC7B,EAAM;CACgB,CAAA;AAE1B;AAEA,SAAS,IAAY;CACpB,OAAO,EAAW,CAAa;AAChC"}
@@ -19,3 +19,5 @@ function i(i) {
19
19
  }
20
20
  //#endregion
21
21
  export { i as DrawerHeader };
22
+
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/drawer/drawerHeader/index.tsx"],"sourcesContent":["import { X } from \"lucide-react\";\nimport type { HTMLAttributes } from \"react\";\n\nimport { useDrawer } from \"../drawerContext\";\nimport \"./styles.css\";\n\ntype DrawerHeaderProps = HTMLAttributes<HTMLElement> & {\n\t/** Whether to render the X close button. @default true */\n\tshowCloseButton?: boolean;\n};\n\n/**\n * DrawerHeader — header section for a `DrawerContainer`, with an optional close button.\n *\n * The close button calls `makeInvisible` from the nearest `DrawerContainer` context.\n * Must be rendered inside a `DrawerContainer`.\n *\n * @param props.showCloseButton - Renders the X close button. Default: true\n *\n * **...Other valid HTML `<header>` properties**\n *\n * @returns DrawerHeader JSX element.\n *\n * @example\n * ```tsx\n * <DrawerContainer isVisible={isOpen} makeInvisible={() => setIsOpen(false)}>\n * <DrawerHeader>\n * <h2>Navigation</h2>\n * </DrawerHeader>\n * <nav>...</nav>\n * </DrawerContainer>\n * ```\n */\n\nfunction DrawerHeader(props: DrawerHeaderProps) {\n\tconst {\n\t\tshowCloseButton = true,\n\t\tclassName: baseClassName,\n\t\tchildren,\n\t\t...rest\n\t} = props;\n\n\tconst { makeInvisible } = useDrawer();\n\tconst className = `arkynDrawerHeader ${baseClassName}`;\n\n\treturn (\n\t\t<header className={className.trim()} {...rest}>\n\t\t\t{children}\n\n\t\t\t{showCloseButton && (\n\t\t\t\t<button\n\t\t\t\t\tclassName=\"arkynDrawerHeaderCloseButton\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={makeInvisible}\n\t\t\t\t\taria-label=\"Close drawer\"\n\t\t\t\t>\n\t\t\t\t\t<X size={24} />\n\t\t\t\t</button>\n\t\t\t)}\n\t\t</header>\n\t);\n}\n\nexport { DrawerHeader };\n"],"mappings":";;;;;AAkCA,SAAS,EAAa,GAA0B;CAC/C,IAAM,EACL,qBAAkB,IAClB,WAAW,GACX,aACA,GAAG,MACA,GAEE,EAAE,qBAAkB,EAAU;CAGpC,OACC,kBAAC,UAAD;EAAQ,WAAW,qBAHmB,IAGT,KAAK;EAAG,GAAI;YAAzC,CACE,GAEA,KACA,kBAAC,UAAD;GACC,WAAU;GACV,MAAK;GACL,SAAS;GACT,cAAW;aAEX,kBAAC,GAAD,EAAG,MAAM,GAAK,CAAA;EACP,CAAA,CAEF;;AAEV"}
@@ -0,0 +1 @@
1
+ @layer arkyn{.arkynDrawerHeader{height:56px;color:var(--text-heading);border-bottom:1px solid var(--border);align-items:center;padding:16px;font-size:16px;font-weight:600;line-height:20px;display:flex}.arkynDrawerHeaderCloseButton{color:var(--text-body);background:0 0;background-color:var(--background-foreground);border:none;border-radius:4px;justify-content:center;align-items:center;margin-left:auto;padding:2px;display:flex}.arkynDrawerHeaderCloseButton:hover{cursor:pointer;filter:brightness(.9);transition:all .15s ease-out}}
@@ -6,3 +6,5 @@ function t(t) {
6
6
  }
7
7
  //#endregion
8
8
  export { t as FacebookPixelClient };
9
+
10
+ //# sourceMappingURL=facebookPixel.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facebookPixel.client.js","names":[],"sources":["../../../../src/components/facebookPixel/facebookPixel.client.tsx"],"sourcesContent":["import type { FacebookPixelProps } from \".\";\nimport { FacebookPixel } from \"./pixel\";\n\nfunction FacebookPixelClient(props: FacebookPixelProps) {\n\tconst {\n\t\tpixelId,\n\t\toptions,\n\t\tpageView,\n\t\ttrack,\n\t\ttrackCustom,\n\t\ttrackSingle,\n\t\ttrackSingleCustom,\n\t\tgrantConsent,\n\t\trevokeConsent,\n\t} = props;\n\n\tconst pixel = new FacebookPixel(pixelId, options);\n\n\tpixel.init();\n\n\tif (pageView) pixel.pageView();\n\tif (grantConsent) pixel.grantConsent();\n\tif (revokeConsent) pixel.revokeConsent();\n\n\tif (track) pixel.track(...track);\n\tif (trackCustom) pixel.trackCustom(...trackCustom);\n\tif (trackSingle) pixel.trackSingle(pixelId, ...trackSingle);\n\tif (trackSingleCustom) pixel.trackSingleCustom(pixelId, ...trackSingleCustom);\n\n\treturn null;\n}\n\nexport { FacebookPixelClient };\n"],"mappings":";;AAGA,SAAS,EAAoB,GAA2B;CACvD,IAAM,EACL,YACA,YACA,aACA,UACA,gBACA,gBACA,sBACA,iBACA,qBACG,GAEE,IAAQ,IAAI,EAAc,GAAS,CAAO;CAahD,OAXA,EAAM,KAAK,GAEP,KAAU,EAAM,SAAS,GACzB,KAAc,EAAM,aAAa,GACjC,KAAe,EAAM,cAAc,GAEnC,KAAO,EAAM,MAAM,GAAG,CAAK,GAC3B,KAAa,EAAM,YAAY,GAAG,CAAW,GAC7C,KAAa,EAAM,YAAY,GAAS,GAAG,CAAW,GACtD,KAAmB,EAAM,kBAAkB,GAAS,GAAG,CAAiB,GAErE;AACR"}
@@ -7,3 +7,5 @@ function r(r) {
7
7
  }
8
8
  //#endregion
9
9
  export { r as FacebookPixel };
10
+
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/facebookPixel/index.tsx"],"sourcesContent":["import { ClientOnly } from \"../clientOnly\";\nimport { FacebookPixelClient } from \"./facebookPixel.client\";\n\ntype FacebookPixelProps = {\n\t/** Facebook Pixel ID from your Ads Manager account. Required. */\n\tpixelId: string;\n\t/** When true, renders the pixel in development mode (bypasses the production check). @default false */\n\tshowInDevMode?: boolean;\n\t/** Pixel initialization options. */\n\toptions?: {\n\t\t/** Enables automatic configuration. @default true */\n\t\tautoConfig?: boolean;\n\t\t/** Enables debug logging in the browser console. @default false */\n\t\tdebug?: boolean;\n\t};\n\t/** When true, fires a standard `PageView` event on mount. */\n\tpageView?: boolean;\n\t/** When true, grants cookie/tracking consent via `fbq(\"consent\", \"grant\")`. */\n\tgrantConsent?: boolean;\n\t/** When true, revokes cookie/tracking consent via `fbq(\"consent\", \"revoke\")`. */\n\trevokeConsent?: boolean;\n\t/** Standard event to track: `[eventName, eventData?]`. */\n\t// biome-ignore lint/suspicious/noExplicitAny: intentional\n\ttrack?: [string, any?];\n\t/** Custom event to track: `[eventName, eventData?]`. */\n\t// biome-ignore lint/suspicious/noExplicitAny: intentional\n\ttrackCustom?: [string, any?];\n\t/** Single-pixel standard event: `[eventName, eventData?]`. */\n\t// biome-ignore lint/suspicious/noExplicitAny: intentional\n\ttrackSingle?: [string, any?];\n\t/** Single-pixel custom event: `[eventName, eventData?]`. */\n\t// biome-ignore lint/suspicious/noExplicitAny: intentional\n\ttrackSingleCustom?: [string, any?];\n};\n\n/**\n * FacebookPixel — injects the Facebook Pixel tracking script client-side.\n *\n * Renders nothing in development mode unless `showInDevMode` is `true`.\n * Wrapped in `ClientOnly` to avoid SSR errors.\n *\n * @param props.pixelId - Facebook Pixel ID. Required.\n * @param props.showInDevMode - Renders in development mode. Default: false\n * @param props.pageView - Fires a `PageView` event on mount.\n * @param props.grantConsent - Grants tracking consent.\n * @param props.revokeConsent - Revokes tracking consent.\n * @param props.track - Standard event to fire: `[eventName, params?]`.\n * @param props.trackCustom - Custom event to fire: `[eventName, params?]`.\n *\n * @returns Empty fragment in dev mode; otherwise the pixel script component.\n *\n * @example\n * ```tsx\n * // Basic page view tracking in root layout\n * <FacebookPixel pixelId=\"123456789012345\" pageView />\n *\n * // With LGPD consent handling\n * <FacebookPixel\n * pixelId=\"123456789012345\"\n * pageView\n * grantConsent={userAcceptedCookies}\n * />\n *\n * // Track a purchase event\n * <FacebookPixel\n * pixelId=\"123456789012345\"\n * track={[\"Purchase\", { value: 99.90, currency: \"BRL\" }]}\n * />\n * ```\n */\nfunction FacebookPixel(props: FacebookPixelProps) {\n\tif (process.env.NODE_ENV !== \"production\" && !props.showInDevMode) {\n\t\treturn null;\n\t}\n\n\treturn <ClientOnly>{() => <FacebookPixelClient {...props} />}</ClientOnly>;\n}\n\nexport { FacebookPixel, type FacebookPixelProps };\n"],"mappings":";;;;AAsEA,SAAS,EAAc,GAA2B;CAKjD,OAJA,QAAA,IAAA,aAA6B,gBAAgB,CAAC,EAAM,gBAC5C,OAGD,kBAAC,GAAD,EAAA,gBAAmB,kBAAC,GAAD,EAAqB,GAAI,EAAQ,CAAA,EAAc,CAAA;AAC1E"}
@@ -46,3 +46,5 @@ var e = class {
46
46
  };
47
47
  //#endregion
48
48
  export { e as FacebookPixel };
49
+
50
+ //# sourceMappingURL=pixel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixel.js","names":[],"sources":["../../../../src/components/facebookPixel/pixel.ts"],"sourcesContent":["import type { Fbq } from \"../../types/defineType\";\n\ntype Options = {\n\tautoConfig?: boolean;\n\tdebug?: boolean;\n};\n\nclass FacebookPixel {\n\tpixelId: string;\n\tautoConfig: boolean;\n\tinitialized: boolean;\n\n\tconstructor(pixelId: string, options?: Options) {\n\t\tthis.pixelId = pixelId;\n\t\tthis.autoConfig = options?.autoConfig || true;\n\t\tthis.initialized = false;\n\t}\n\n\tprivate loadFacebookPixel() {\n\t\t// Verifica se o objeto fbq já está definido no objeto window\n\t\tif (window.fbq) return;\n\n\t\t// Define a função fbq que será usada para enviar eventos ao Facebook Pixel\n\t\t// biome-ignore lint/suspicious/noExplicitAny: intentional\n\t\tconst fbq: Fbq = ((...args: any[]) => {\n\t\t\t// Se fbq.callMethod estiver definido, chama o método com os argumentos fornecidos\n\t\t\t// Caso contrário, adiciona os argumentos à fila de eventos\n\t\t\tfbq.callMethod ? fbq.callMethod.apply(fbq, args) : fbq.queue.push(args);\n\t\t}) as Fbq;\n\n\t\t// Se o objeto _fbq não estiver definido no objeto window, define-o como fbq\n\t\tif (!window._fbq) window._fbq = fbq;\n\n\t\t// Define propriedades e métodos adicionais para fbq\n\t\tfbq.push = fbq;\n\t\tfbq.loaded = true;\n\t\tfbq.version = \"2.0\";\n\t\tfbq.queue = [];\n\n\t\t// Cria um elemento script e define o atributo src como o URL do script do Facebook Pixel\n\t\tconst script = document.createElement(\"script\");\n\t\tscript.async = true;\n\t\tscript.src = \"https://connect.facebook.net/en_US/fbevents.js\";\n\n\t\t// Busca o primeiro elemento script no documento\n\t\tconst firstScript = document.getElementsByTagName(\"script\")[0];\n\n\t\t// Estoura uma exceção se não houver nenhum elemento script no documento\n\t\tif (!firstScript.parentNode) {\n\t\t\tthrow new Error(\"No script tag found in the document\");\n\t\t}\n\n\t\t// Insere o elemento script no início do documento\n\t\tfirstScript.parentNode.insertBefore(script, firstScript);\n\t\twindow.fbq = fbq;\n\t}\n\n\tinit(advancedMatching: object = {}) {\n\t\t// Verifica se o pixel já foi inicializado\n\t\tthis.initialized = typeof window !== \"undefined\" && !!window.fbq;\n\n\t\t// Carrega o Facebook Pixel\n\t\tthis.loadFacebookPixel();\n\n\t\t// Estoura uma exceção se o fbq não estiver definido\n\t\tif (!window.fbq) {\n\t\t\tthrow new Error(\"window.fbq is not defined\");\n\t\t}\n\n\t\t// Inicializa o pixel com o ID fornecido\n\t\tif (this.autoConfig === false) {\n\t\t\twindow.fbq(\"set\", \"autoConfig\", false, this.pixelId);\n\t\t} else {\n\t\t\twindow.fbq(\"init\", this.pixelId, advancedMatching);\n\t\t}\n\n\t\t// Marca o pixel como inicializado\n\t\tthis.initialized = true;\n\t}\n\n\tpageView() {\n\t\tif (!this.initialized) return;\n\t\tif (!window.fbq) return;\n\n\t\twindow.fbq(\"track\", \"PageView\");\n\t}\n\n\ttrack(title: string, data?: object) {\n\t\tif (!this.initialized) return;\n\t\tif (!window.fbq) return;\n\n\t\twindow.fbq(\"track\", title, data);\n\t}\n\n\ttrackSingle(pixel: string, title: string, data?: object) {\n\t\tif (!this.initialized) return;\n\t\tif (!window.fbq) return;\n\n\t\twindow.fbq(\"trackSingle\", pixel, title, data);\n\t}\n\n\ttrackCustom(event: string, data?: object) {\n\t\tif (!this.initialized) return;\n\t\tif (!window.fbq) return;\n\n\t\twindow.fbq(\"trackCustom\", event, data);\n\t}\n\n\ttrackSingleCustom(pixel: string, event: string, data?: object) {\n\t\tif (!this.initialized) return;\n\t\tif (!window.fbq) return;\n\n\t\twindow.fbq(\"trackSingle\", pixel, event, data);\n\t}\n\n\tgrantConsent() {\n\t\tif (!this.initialized) return;\n\t\tif (!window.fbq) return;\n\n\t\twindow.fbq(\"consent\", \"grant\");\n\t}\n\n\trevokeConsent() {\n\t\tif (!this.initialized) return;\n\t\tif (!window.fbq) return;\n\n\t\twindow.fbq(\"consent\", \"revoke\");\n\t}\n}\n\nexport { FacebookPixel };\n"],"mappings":";AAOA,IAAM,IAAN,MAAoB;CACnB;CACA;CACA;CAEA,YAAY,GAAiB,GAAmB;EAG/C,AAFA,KAAK,UAAU,GACf,KAAK,aAAa,GAAS,cAAc,IACzC,KAAK,cAAc;CACpB;CAEA,oBAA4B;EAE3B,IAAI,OAAO,KAAK;EAIhB,IAAM,MAAa,GAAG,MAAgB;GAGrC,EAAI,aAAa,EAAI,WAAW,MAAM,GAAK,CAAI,IAAI,EAAI,MAAM,KAAK,CAAI;EACvE;EASA,AANK,OAAO,SAAM,OAAO,OAAO,IAGhC,EAAI,OAAO,GACX,EAAI,SAAS,IACb,EAAI,UAAU,OACd,EAAI,QAAQ,CAAC;EAGb,IAAM,IAAS,SAAS,cAAc,QAAQ;EAE9C,AADA,EAAO,QAAQ,IACf,EAAO,MAAM;EAGb,IAAM,IAAc,SAAS,qBAAqB,QAAQ,CAAC,CAAC;EAG5D,IAAI,CAAC,EAAY,YAChB,MAAU,MAAM,qCAAqC;EAKtD,AADA,EAAY,WAAW,aAAa,GAAQ,CAAW,GACvD,OAAO,MAAM;CACd;CAEA,KAAK,IAA2B,CAAC,GAAG;EAQnC,IANA,KAAK,cAAc,OAAO,SAAW,OAAe,CAAC,CAAC,OAAO,KAG7D,KAAK,kBAAkB,GAGnB,CAAC,OAAO,KACX,MAAU,MAAM,2BAA2B;EAW5C,AAPI,KAAK,eAAe,KACvB,OAAO,IAAI,OAAO,cAAc,IAAO,KAAK,OAAO,IAEnD,OAAO,IAAI,QAAQ,KAAK,SAAS,CAAgB,GAIlD,KAAK,cAAc;CACpB;CAEA,WAAW;EACL,KAAK,eACL,OAAO,OAEZ,OAAO,IAAI,SAAS,UAAU;CAC/B;CAEA,MAAM,GAAe,GAAe;EAC9B,KAAK,eACL,OAAO,OAEZ,OAAO,IAAI,SAAS,GAAO,CAAI;CAChC;CAEA,YAAY,GAAe,GAAe,GAAe;EACnD,KAAK,eACL,OAAO,OAEZ,OAAO,IAAI,eAAe,GAAO,GAAO,CAAI;CAC7C;CAEA,YAAY,GAAe,GAAe;EACpC,KAAK,eACL,OAAO,OAEZ,OAAO,IAAI,eAAe,GAAO,CAAI;CACtC;CAEA,kBAAkB,GAAe,GAAe,GAAe;EACzD,KAAK,eACL,OAAO,OAEZ,OAAO,IAAI,eAAe,GAAO,GAAO,CAAI;CAC7C;CAEA,eAAe;EACT,KAAK,eACL,OAAO,OAEZ,OAAO,IAAI,WAAW,OAAO;CAC9B;CAEA,gBAAgB;EACV,KAAK,eACL,OAAO,OAEZ,OAAO,IAAI,WAAW,QAAQ;CAC/B;AACD"}
@@ -11,3 +11,5 @@ function t(t) {
11
11
  }
12
12
  //#endregion
13
13
  export { t as FieldError };
14
+
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/fieldError/index.tsx"],"sourcesContent":["import type { HTMLAttributes } from \"react\";\nimport \"./styles.css\";\n\ntype FieldErrorProps = HTMLAttributes<HTMLElement>;\n\n/**\n * FieldError — displays a validation error message below a form field.\n *\n * Renders nothing when `children` is empty or falsy.\n *\n * **...Other valid HTML properties for `<strong>`**\n *\n * @returns FieldError `<strong>` element, or an empty fragment when there is no message.\n *\n * @example\n * ```tsx\n * <FieldError>This field is required</FieldError>\n *\n * {error && <FieldError>{error}</FieldError>}\n * ```\n */\n\nfunction FieldError(props: FieldErrorProps) {\n\tconst { children, className: baseClassName, ...rest } = props;\n\tconst className = `arkynFieldError ${baseClassName}`;\n\n\tif (!children) return null;\n\n\treturn (\n\t\t<strong className={className.trim()} {...rest}>\n\t\t\t{children}\n\t\t</strong>\n\t);\n}\n\nexport { FieldError };\n"],"mappings":";;;AAsBA,SAAS,EAAW,GAAwB;CAC3C,IAAM,EAAE,aAAU,WAAW,GAAe,GAAG,MAAS,GAClD,IAAY,mBAAmB;CAIrC,OAFK,IAGJ,kBAAC,UAAD;EAAQ,WAAW,EAAU,KAAK;EAAG,GAAI;EACvC;CACM,CAAA,IALa;AAOvB"}
@@ -0,0 +1 @@
1
+ @layer arkyn{.arkynFieldError{color:rgb(var(--spotlight-danger));font-size:12px;font-weight:600;line-height:12px}}
@@ -10,3 +10,5 @@ function t(t) {
10
10
  }
11
11
  //#endregion
12
12
  export { t as FieldLabel };
13
+
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/fieldLabel/index.tsx"],"sourcesContent":["import type { LabelHTMLAttributes } from \"react\";\nimport \"./styles.css\";\n\ntype FieldLabelProps = LabelHTMLAttributes<HTMLLabelElement> & {\n\t/** When true, appends an asterisk (*) to signal a required field. @default false */\n\tshowAsterisk?: boolean;\n};\n\n/**\n * FieldLabel — label for form fields, with an optional required-field asterisk.\n *\n * @param props.showAsterisk - Appends `*` to the label. Default: false\n *\n * **...Other valid HTML properties for `<label>`**\n *\n * @returns FieldLabel JSX element.\n *\n * @example\n * ```tsx\n * <FieldLabel htmlFor=\"email\" showAsterisk>Email Address</FieldLabel>\n * ```\n */\n\nfunction FieldLabel(props: FieldLabelProps) {\n\tconst {\n\t\tshowAsterisk = false,\n\t\tclassName: baseClassName = \"\",\n\t\t...rest\n\t} = props;\n\n\tconst show = showAsterisk ? \"asteriskTrue\" : \"asteriskFalse\";\n\tconst className = `arkynFieldLabel ${show} ${baseClassName}`;\n\n\t// biome-ignore lint/a11y/noLabelWithoutControl: htmlFor is passed via ...rest\n\treturn <label className={className.trim()} {...rest} />;\n}\n\nexport { FieldLabel };\n"],"mappings":";;;AAuBA,SAAS,EAAW,GAAwB;CAC3C,IAAM,EACL,kBAAe,IACf,WAAW,IAAgB,IAC3B,GAAG,MACA;CAMJ,OAAO,kBAAC,SAAD;EAAO,WAAW,mBAJZ,IAAe,iBAAiB,gBACH,GAAG,IAGV,KAAK;EAAG,GAAI;CAAO,CAAA;AACvD"}
@@ -0,0 +1 @@
1
+ @layer arkyn{.arkynFieldLabel{color:var(--text-body);font-size:14px;font-weight:600;line-height:19.07px}.arkynFieldLabel.asteriskTrue:before{content:"* ";text-align:left;color:rgb(var(--spotlight-danger));font-size:12px;font-weight:600;line-height:16.34px}}
@@ -11,3 +11,5 @@ function t(t) {
11
11
  }
12
12
  //#endregion
13
13
  export { t as FieldWrapper };
14
+
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/fieldWrapper/index.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport \"./styles.css\";\n\ntype FieldWrapperProps = HTMLAttributes<HTMLElement> & {\n\t/** Field elements to render inside the wrapper (label, input, error, etc.). Required. */\n\tchildren: ReactNode;\n\t/**\n\t * Layout orientation of the wrapper.\n\t * @default \"vertical\"\n\t */\n\torientation?: \"vertical\" | \"horizontal\" | \"horizontalReverse\";\n};\n\n/**\n * FieldWrapper — `<section>` container that groups a form field with its label and error message.\n *\n * @param props.children - Field elements (label, input, error, etc.).\n * @param props.orientation - Layout direction. Default: \"vertical\"\n *\n * **...Other valid HTML properties for `<section>`**\n *\n * @returns FieldWrapper JSX element.\n *\n * @example\n * ```tsx\n * <FieldWrapper>\n * <FieldLabel showAsterisk>Email</FieldLabel>\n * <Input name=\"email\" type=\"email\" />\n * <FieldError>Invalid email address</FieldError>\n * </FieldWrapper>\n * ```\n */\n\nfunction FieldWrapper(props: FieldWrapperProps) {\n\tconst {\n\t\tchildren,\n\t\tclassName: baseClassName,\n\t\torientation = \"vertical\",\n\t\t...rest\n\t} = props;\n\n\tconst className = `arkynFieldWrapper ${baseClassName} ${orientation}`;\n\n\treturn (\n\t\t<section className={className.trim()} {...rest}>\n\t\t\t{children}\n\t\t</section>\n\t);\n}\n\nexport { FieldWrapper };\n"],"mappings":";;;AAiCA,SAAS,EAAa,GAA0B;CAC/C,IAAM,EACL,aACA,WAAW,GACX,iBAAc,YACd,GAAG,MACA;CAIJ,OACC,kBAAC,WAAD;EAAS,WAAW,qBAHkB,EAAc,GAAG,IAGzB,KAAK;EAAG,GAAI;EACxC;CACO,CAAA;AAEX"}
@@ -0,0 +1 @@
1
+ @layer arkyn{.arkynFieldWrapper{gap:6px;height:max-content;display:flex}.arkynFieldWrapper.horizontal{flex-direction:row;align-items:center}.arkynFieldWrapper.horizontalReverse{flex-direction:row-reverse;align-items:center;margin-right:auto}.arkynFieldWrapper.vertical{flex-direction:column;align-items:flex-start}}
@@ -58,3 +58,5 @@ function d(d) {
58
58
  }
59
59
  //#endregion
60
60
  export { d as HasFileContent };
61
+
62
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/fileUpload/hasFileContent/index.tsx"],"sourcesContent":["import {\n\tFile,\n\tFileArchive,\n\tFileAudio,\n\tFileImage,\n\tRefreshCw,\n} from \"lucide-react\";\n\nimport { Button } from \"../../button\";\nimport { Divider } from \"../../divider\";\nimport { IconButton } from \"../../iconButton\";\nimport { Tooltip } from \"../../tooltip\";\n\nimport \"./styles.css\";\n\ntype HasFileContentProps = {\n\tdisabled: boolean;\n\tacceptFile: string;\n\tisLoading: boolean;\n\tchangeFileButtonText: string;\n\tfile: File;\n\treSendFile?: () => void;\n\thandleSelectFile: (file: File) => void;\n};\n\nfunction HasFileContent(props: HasFileContentProps) {\n\tconst {\n\t\tdisabled,\n\t\tfile,\n\t\tisLoading,\n\t\tacceptFile,\n\t\tchangeFileButtonText,\n\t\thandleSelectFile,\n\t\treSendFile,\n\t} = props;\n\n\tfunction handleClick() {\n\t\tif (disabled) return;\n\n\t\tconst input = document.createElement(\"input\");\n\n\t\tinput.type = \"file\";\n\t\tinput.accept = acceptFile;\n\n\t\tinput.onchange = (event) => {\n\t\t\tconst file = (event.target as HTMLInputElement).files?.[0];\n\t\t\tif (file) handleSelectFile(file);\n\t\t};\n\n\t\tinput.click();\n\t}\n\n\tfunction FileIcon() {\n\t\tif (file.type.startsWith(\"image/\")) return <FileImage />;\n\t\tif (file.type.startsWith(\"audio/\")) return <FileAudio />;\n\t\tif (file.type.startsWith(\"application/zip\")) return <FileArchive />;\n\t\treturn <File />;\n\t}\n\n\treturn (\n\t\t<div className=\"arkynFileUploadHasFileContent\">\n\t\t\t<section className=\"arkynFileUploadFileContainer\">\n\t\t\t\t<FileIcon />\n\t\t\t\t<p>{file.name}</p>\n\t\t\t</section>\n\n\t\t\t<Divider />\n\n\t\t\t<div className=\"arkynFileUploadButtonsContainer\">\n\t\t\t\t{!!reSendFile && (\n\t\t\t\t\t<Tooltip orientation=\"bottom\" text=\"Reenviar arquivo\">\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\taria-label=\"resend file\"\n\t\t\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\t\t\tscheme=\"danger\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\tisLoading={isLoading}\n\t\t\t\t\t\t\tonClick={reSendFile}\n\t\t\t\t\t\t\ticon={RefreshCw}\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t)}\n\n\t\t\t\t<Button\n\t\t\t\t\tisLoading={isLoading}\n\t\t\t\t\tonClick={handleClick}\n\t\t\t\t\tvariant=\"outline\"\n\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t>\n\t\t\t\t\t{changeFileButtonText}\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport { HasFileContent };\n"],"mappings":";;;;;;;;AAyBA,SAAS,EAAe,GAA4B;CACnD,IAAM,EACL,aACA,SACA,cACA,eACA,yBACA,qBACA,kBACG;CAEJ,SAAS,IAAc;EACtB,IAAI,GAAU;EAEd,IAAM,IAAQ,SAAS,cAAc,OAAO;EAU5C,AARA,EAAM,OAAO,QACb,EAAM,SAAS,GAEf,EAAM,YAAY,MAAU;GAC3B,IAAM,IAAQ,EAAM,OAA4B,QAAQ;GACxD,AAAI,KAAM,EAAiB,CAAI;EAChC,GAEA,EAAM,MAAM;CACb;CAEA,SAAS,IAAW;EAInB,OAHI,EAAK,KAAK,WAAW,QAAQ,IAAU,kBAAC,GAAD,CAAY,CAAA,IACnD,EAAK,KAAK,WAAW,QAAQ,IAAU,kBAAC,GAAD,CAAY,CAAA,IACnD,EAAK,KAAK,WAAW,iBAAiB,IAAU,kBAAC,GAAD,CAAc,CAAA,IAC3D,kBAAC,GAAD,CAAO,CAAA;CACf;CAEA,OACC,kBAAC,OAAD;EAAK,WAAU;YAAf;GACC,kBAAC,WAAD;IAAS,WAAU;cAAnB,CACC,kBAAC,GAAD,CAAW,CAAA,GACX,kBAAC,KAAD,EAAA,UAAI,EAAK,KAAQ,CAAA,CACT;;GAET,kBAAC,GAAD,CAAU,CAAA;GAEV,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,CAAC,CAAC,KACF,kBAAC,GAAD;KAAS,aAAY;KAAS,MAAK;eAClC,kBAAC,GAAD;MACC,MAAK;MACL,cAAW;MACX,SAAQ;MACR,QAAO;MACP,MAAK;MACM;MACX,SAAS;MACT,MAAM;MACI;KACV,CAAA;IACO,CAAA,GAGV,kBAAC,GAAD;KACY;KACX,SAAS;KACT,SAAQ;KACR,MAAK;KACL,MAAK;KACK;eAET;IACM,CAAA,CACJ;;EACD;;AAEP"}
@@ -0,0 +1 @@
1
+ @layer arkyn{.arkynFileUploadHasFileContent{flex-direction:column;gap:16px;width:100%;height:100%;padding:16px;display:flex}.arkynFileUploadFileContainer{align-items:center;gap:8px;display:flex}.arkynFileUploadFileContainer svg{min-width:26px;min-height:26px;color:var(--text-heading)}.arkynFileUploadFileContainer p{white-space:nowrap;text-overflow:ellipsis;text-align:left;color:var(--text-body);font-size:14px;font-weight:400;overflow:hidden}.arkynFileUploadButtonsContainer{justify-content:end;align-items:center;gap:8px;display:flex}}
@@ -64,3 +64,5 @@ function l(l) {
64
64
  }
65
65
  //#endregion
66
66
  export { l as FileUpload };
67
+
68
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/fileUpload/index.tsx"],"sourcesContent":["import { useState } from \"react\";\n\nimport { useForm } from \"../../hooks/useForm\";\nimport { FieldError } from \"../fieldError\";\nimport { FieldLabel } from \"../fieldLabel\";\nimport { FieldWrapper } from \"../fieldWrapper\";\n\nimport { HasFileContent } from \"./hasFileContent\";\nimport { NoFileContent } from \"./noFileContent\";\nimport \"./styles.css\";\n\ntype FileUploadProps = {\n\t/** Field name for form submission (stores the uploaded file URL). Required. */\n\tname: string;\n\t/** Server endpoint URL that receives the `multipart/form-data` upload request. Required. */\n\taction: string;\n\t/** Disables file selection and upload. @default false */\n\tdisabled?: boolean;\n\t/** Optional label text displayed above the upload area. */\n\tlabel?: string;\n\t/** Displays an asterisk on the label to signal a required field. @default false */\n\tshowAsterisk?: boolean;\n\t/** Label for the file-picker button after a file is selected. @default \"Alterar arquivo\" */\n\tchangeFileButtonText?: string;\n\t/** Label for the file-picker button before a file is selected. @default \"Selecionar arquivo\" */\n\tselectFileButtonText?: string;\n\t/** Text displayed in the drag-and-drop zone. @default \"Ou arraste e solte o arquivo aqui\" */\n\tdropFileText?: string;\n\t/** HTTP method for the upload request. @default \"POST\" */\n\tmethod?: string;\n\t/** Form-data field name used for the file. @default \"file\" */\n\tfileName?: string;\n\t/** Property name in the server response that contains the file URL. @default \"url\" */\n\tfileResponseName?: string;\n\t/** Accepted file MIME types or extensions (e.g. `\".pdf\"`, `\"image/*\"`). @default \"*\" */\n\tacceptFile?: string;\n\t/** Callback fired after a successful upload. Receives the URL returned by the server. */\n\tonChange?: (url?: string) => void;\n};\n\n/**\n * FileUpload — drag-and-drop file uploader with server upload and file-name preview.\n *\n * Sends the file via `fetch` as `multipart/form-data` and stores the returned URL\n * in a hidden `<input>` for form submission.\n * Integrates with `useForm` to display validation errors by field name.\n *\n * @param props.name - Field name for form submission. Required.\n * @param props.action - Upload endpoint URL. Required.\n * @param props.disabled - Disables file selection and upload. Default: false\n * @param props.label - Label text displayed above the upload area.\n * @param props.showAsterisk - Appends `*` to the label. Default: false\n * @param props.acceptFile - Accepted MIME types or extensions. Default: \"*\"\n * @param props.method - HTTP method. Default: \"POST\"\n * @param props.fileName - Form-data field name for the file. Default: \"file\"\n * @param props.fileResponseName - Server response property containing the URL. Default: \"url\"\n * @param props.onChange - Callback fired after a successful upload — receives the file URL.\n *\n * @returns FileUpload JSX element wrapped in `FieldWrapper`.\n *\n * @example\n * ```tsx\n * // Basic\n * <FileUpload name=\"document\" action=\"/api/upload\" />\n *\n * // PDF only with label and callback\n * <FileUpload\n * name=\"contract\"\n * action=\"/api/upload/docs\"\n * label=\"Contract (PDF)\"\n * showAsterisk\n * acceptFile=\".pdf\"\n * fileResponseName=\"documentUrl\"\n * onChange={(url) => setContractUrl(url)}\n * />\n * ```\n */\n\nfunction FileUpload(props: FileUploadProps) {\n\tconst {\n\t\tname,\n\t\tlabel,\n\t\tshowAsterisk = false,\n\t\taction,\n\t\tfileName = \"file\",\n\t\tmethod = \"POST\",\n\t\tacceptFile = \"*\",\n\t\tfileResponseName = \"url\",\n\t\tchangeFileButtonText = \"Alterar arquivo\",\n\t\tselectFileButtonText = \"Selecionar arquivo\",\n\t\tdropFileText = \"Ou arraste e solte o arquivo aqui\",\n\t\tonChange,\n\t\tdisabled = false,\n\t} = props;\n\n\tconst { fieldErrors } = useForm();\n\tconst fieldError = fieldErrors?.[name];\n\n\tconst [value, setValue] = useState(\"\");\n\tconst [error, setError] = useState(\"\");\n\tconst [file, setFile] = useState<File | null>(null);\n\tconst [isLoading, setIsLoading] = useState(false);\n\n\tasync function handleUploadFile(file: File) {\n\t\tif (disabled) return;\n\n\t\tsetIsLoading(true);\n\t\tsetFile(file);\n\t\tsetError(\"\");\n\n\t\tconst formData = new FormData();\n\t\tformData.append(fileName, file);\n\n\t\tawait fetch(action, { method: method, body: formData })\n\t\t\t.then(async (response) => await response.json())\n\t\t\t.then((response) => {\n\t\t\t\tif (response?.error) setError(response.error);\n\t\t\t\telse setValue(response?.[fileResponseName]);\n\t\t\t\tonChange?.(response?.[fileResponseName]);\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tconsole.error(error);\n\t\t\t\tsetError(\"Erro ao enviar o arquivo\");\n\t\t\t})\n\t\t\t.finally(() => setIsLoading(false));\n\t}\n\n\tfunction handleSelectFile(file: File) {\n\t\tif (disabled) return;\n\t\thandleUploadFile(file);\n\t}\n\n\tconst errorMessage = fieldError || error;\n\n\tconst hasErrorClassName = errorMessage ? \"hasError\" : \"noHasError\";\n\tconst hasFileClassName = file ? \"hasFile\" : \"noHasFile\";\n\tconst className = `arkynFileUpload ${hasErrorClassName} ${hasFileClassName}`;\n\n\treturn (\n\t\t<FieldWrapper>\n\t\t\t{label && <FieldLabel showAsterisk={showAsterisk}>{label}</FieldLabel>}\n\n\t\t\t<div className={className}>\n\t\t\t\t<input type=\"hidden\" name={name} value={value || \"\"} />\n\n\t\t\t\t{!file && (\n\t\t\t\t\t<NoFileContent\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tisLoading={isLoading}\n\t\t\t\t\t\tacceptFile={acceptFile}\n\t\t\t\t\t\tdropFileText={dropFileText}\n\t\t\t\t\t\thandleSelectFile={handleSelectFile}\n\t\t\t\t\t\tselectFileButtonText={selectFileButtonText}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{file && (\n\t\t\t\t\t<HasFileContent\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tisLoading={isLoading}\n\t\t\t\t\t\tacceptFile={acceptFile}\n\t\t\t\t\t\tfile={file}\n\t\t\t\t\t\thandleSelectFile={handleSelectFile}\n\t\t\t\t\t\tchangeFileButtonText={changeFileButtonText}\n\t\t\t\t\t\treSendFile={\n\t\t\t\t\t\t\terrorMessage && file ? () => handleUploadFile(file) : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t{errorMessage && <FieldError>{errorMessage}</FieldError>}\n\t\t</FieldWrapper>\n\t);\n}\n\nexport { FileUpload };\n"],"mappings":";;;;;;;;;;AA8EA,SAAS,EAAW,GAAwB;CAC3C,IAAM,EACL,SACA,UACA,kBAAe,IACf,WACA,cAAW,QACX,YAAS,QACT,gBAAa,KACb,sBAAmB,OACnB,0BAAuB,mBACvB,0BAAuB,sBACvB,kBAAe,qCACf,aACA,cAAW,OACR,GAEE,EAAE,mBAAgB,EAAQ,GAC1B,IAAa,IAAc,IAE3B,CAAC,GAAO,KAAY,EAAS,EAAE,GAC/B,CAAC,GAAO,KAAY,EAAS,EAAE,GAC/B,CAAC,GAAM,KAAW,EAAsB,IAAI,GAC5C,CAAC,GAAW,KAAgB,EAAS,EAAK;CAEhD,eAAe,EAAiB,GAAY;EAC3C,IAAI,GAAU;EAId,AAFA,EAAa,EAAI,GACjB,EAAQ,CAAI,GACZ,EAAS,EAAE;EAEX,IAAM,IAAW,IAAI,SAAS;EAG9B,AAFA,EAAS,OAAO,GAAU,CAAI,GAE9B,MAAM,MAAM,GAAQ;GAAU;GAAQ,MAAM;EAAS,CAAC,CAAC,CACrD,KAAK,OAAO,MAAa,MAAM,EAAS,KAAK,CAAC,CAAC,CAC/C,MAAM,MAAa;GAGnB,AAFI,GAAU,QAAO,EAAS,EAAS,KAAK,IACvC,EAAS,IAAW,EAAiB,GAC1C,IAAW,IAAW,EAAiB;EACxC,CAAC,CAAC,CACD,OAAO,MAAU;GAEjB,AADA,QAAQ,MAAM,CAAK,GACnB,EAAS,0BAA0B;EACpC,CAAC,CAAC,CACD,cAAc,EAAa,EAAK,CAAC;CACpC;CAEA,SAAS,EAAiB,GAAY;EACjC,KACJ,EAAiB,CAAI;CACtB;CAEA,IAAM,IAAe,KAAc;CAMnC,OACC,kBAAC,GAAD,EAAA,UAAA;EACE,KAAS,kBAAC,GAAD;GAA0B;aAAe;EAAkB,CAAA;EAErE,kBAAC,OAAD;GAAgB,WAAA,mBARQ,IAAe,aAAa,aAEC,GAD9B,IAAO,YAAY;aAO1C;IACC,kBAAC,SAAD;KAAO,MAAK;KAAe;KAAM,OAAO,KAAS;IAAK,CAAA;IAErD,CAAC,KACD,kBAAC,GAAD;KACW;KACC;KACC;KACE;KACI;KACI;IACtB,CAAA;IAGD,KACA,kBAAC,GAAD;KACW;KACC;KACC;KACN;KACY;KACI;KACtB,YACC,KAAgB,UAAa,EAAiB,CAAI,IAAI,KAAA;IAEvD,CAAA;GAEE;;EAEJ,KAAgB,kBAAC,GAAD,EAAA,UAAa,EAAyB,CAAA;CAC1C,EAAA,CAAA;AAEhB"}
@@ -34,3 +34,5 @@ function r(r) {
34
34
  }
35
35
  //#endregion
36
36
  export { r as NoFileContent };
37
+
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/fileUpload/noFileContent/index.tsx"],"sourcesContent":["import type { DragEvent } from \"react\";\n\nimport { Button } from \"../../button\";\nimport \"./styles.css\";\n\ntype NoFileContentProps = {\n\tdisabled: boolean;\n\tacceptFile: string;\n\tisLoading: boolean;\n\tselectFileButtonText: string;\n\tdropFileText: string;\n\thandleSelectFile: (file: File) => void;\n};\n\nfunction NoFileContent(props: NoFileContentProps) {\n\tconst {\n\t\tdropFileText,\n\t\tisLoading,\n\t\tacceptFile,\n\t\thandleSelectFile,\n\t\tselectFileButtonText,\n\t\tdisabled,\n\t} = props;\n\n\tfunction handleDrop(event: DragEvent<HTMLDivElement>) {\n\t\tif (disabled) return;\n\n\t\tevent.preventDefault();\n\t\tconst file = event.dataTransfer.files[0];\n\t\tif (file) handleSelectFile(file);\n\t}\n\n\tfunction handleClick() {\n\t\tif (disabled) return;\n\n\t\tconst input = document.createElement(\"input\");\n\n\t\tinput.type = \"file\";\n\t\tinput.accept = acceptFile;\n\n\t\tinput.onchange = (event) => {\n\t\t\tconst file = (event.target as HTMLInputElement).files?.[0];\n\t\t\tif (file) handleSelectFile(file);\n\t\t};\n\n\t\tinput.click();\n\t}\n\n\treturn (\n\t\t<div onDrop={handleDrop} className=\"arkynFileUploadNoFileContent\">\n\t\t\t<Button\n\t\t\t\tisLoading={isLoading}\n\t\t\t\tonClick={handleClick}\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\tsize=\"sm\"\n\t\t\t\ttype=\"button\"\n\t\t\t\tdisabled={disabled}\n\t\t\t>\n\t\t\t\t{selectFileButtonText}\n\t\t\t</Button>\n\n\t\t\t<p>{dropFileText}</p>\n\t\t</div>\n\t);\n}\n\nexport { NoFileContent };\n"],"mappings":";;;;AAcA,SAAS,EAAc,GAA2B;CACjD,IAAM,EACL,iBACA,cACA,eACA,qBACA,yBACA,gBACG;CAEJ,SAAS,EAAW,GAAkC;EACrD,IAAI,GAAU;EAEd,EAAM,eAAe;EACrB,IAAM,IAAO,EAAM,aAAa,MAAM;EACtC,AAAI,KAAM,EAAiB,CAAI;CAChC;CAEA,SAAS,IAAc;EACtB,IAAI,GAAU;EAEd,IAAM,IAAQ,SAAS,cAAc,OAAO;EAU5C,AARA,EAAM,OAAO,QACb,EAAM,SAAS,GAEf,EAAM,YAAY,MAAU;GAC3B,IAAM,IAAQ,EAAM,OAA4B,QAAQ;GACxD,AAAI,KAAM,EAAiB,CAAI;EAChC,GAEA,EAAM,MAAM;CACb;CAEA,OACC,kBAAC,OAAD;EAAK,QAAQ;EAAY,WAAU;YAAnC,CACC,kBAAC,GAAD;GACY;GACX,SAAS;GACT,SAAQ;GACR,MAAK;GACL,MAAK;GACK;aAET;EACM,CAAA,GAER,kBAAC,KAAD,EAAA,UAAI,EAAgB,CAAA,CAChB;;AAEP"}
@@ -0,0 +1 @@
1
+ @layer arkyn{.arkynFileUploadNoFileContent{flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;display:flex}.arkynFileUploadNoFileContent>p{text-align:center;white-space:nowrap;color:var(--text-body);padding:0 24px;font-size:12px;font-weight:400;line-height:12px}}
@@ -0,0 +1,19 @@
1
+ @layer arkyn{.arkynFileUpload{border-width:1px;border-color:var(--border);background:var(--input-background);border-radius:8px;outline:1px solid #0000;width:100%;max-width:475px;height:127px}.arkynFileUpload.hasFile{border-style:solid}.arkynFileUpload.noHasFile{border-style:dashed}.arkynFileUpload.hasError{border-color:rgb(var(--spotlight-danger));outline-color:rgb(var(--spotlight-danger))}}
2
+
3
+ @layer arkyn{.arkynFieldError{color:rgb(var(--spotlight-danger));font-size:12px;font-weight:600;line-height:12px}}
4
+
5
+ @layer arkyn{.arkynFieldLabel{color:var(--text-body);font-size:14px;font-weight:600;line-height:19.07px}.arkynFieldLabel.asteriskTrue:before{content:"* ";text-align:left;color:rgb(var(--spotlight-danger));font-size:12px;font-weight:600;line-height:16.34px}}
6
+
7
+ @layer arkyn{.arkynFieldWrapper{gap:6px;height:max-content;display:flex}.arkynFieldWrapper.horizontal{flex-direction:row;align-items:center}.arkynFieldWrapper.horizontalReverse{flex-direction:row-reverse;align-items:center;margin-right:auto}.arkynFieldWrapper.vertical{flex-direction:column;align-items:flex-start}}
8
+
9
+ @layer arkyn{.arkynFileUploadHasFileContent{flex-direction:column;gap:16px;width:100%;height:100%;padding:16px;display:flex}.arkynFileUploadFileContainer{align-items:center;gap:8px;display:flex}.arkynFileUploadFileContainer svg{min-width:26px;min-height:26px;color:var(--text-heading)}.arkynFileUploadFileContainer p{white-space:nowrap;text-overflow:ellipsis;text-align:left;color:var(--text-body);font-size:14px;font-weight:400;overflow:hidden}.arkynFileUploadButtonsContainer{justify-content:end;align-items:center;gap:8px;display:flex}}
10
+
11
+ @layer arkyn{.arkynButton{background:0 0;border:1px solid #0000;outline:1px solid #0000;position:relative}.arkynButton:hover{cursor:pointer;filter:brightness(.95);transition:all .3s}html.dark .arkynButton:hover{cursor:pointer;filter:brightness(1.2)}.arkynButton:disabled{cursor:not-allowed;opacity:.5}.arkynButton .arkynButtonContent{white-space:nowrap;justify-content:center;align-items:center;display:flex}.arkynButton .arkynButtonSpinner{white-space:nowrap;opacity:0;justify-content:center;align-items:center;display:flex}.arkynButton.solid{color:var(--white)}.arkynButton.solid.primary{background-color:rgb(var(--spotlight-primary))}.arkynButton.solid.secondary{background-color:rgb(var(--spotlight-secondary))}.arkynButton.solid.danger{background-color:rgb(var(--spotlight-danger))}.arkynButton.solid.success{background-color:rgb(var(--spotlight-success))}.arkynButton.solid.warning{background-color:rgb(var(--spotlight-warning))}.arkynButton.solid.info{background-color:rgb(var(--spotlight-info))}.arkynButton.outline{background-color:var(--background-underground);border-color:var(--border)}.arkynButton.outline.primary{color:rgb(var(--spotlight-primary))}.arkynButton.outline.secondary{color:rgb(var(--spotlight-secondary))}.arkynButton.outline.danger{color:rgb(var(--spotlight-danger))}.arkynButton.outline.success{color:rgb(var(--spotlight-success))}.arkynButton.outline.warning{color:rgb(var(--spotlight-warning))}.arkynButton.outline.info{color:rgb(var(--spotlight-info))}.arkynButton.ghost.primary{color:rgb(var(--spotlight-primary));background-color:rgb(var(--spotlight-primary-foreground))}.arkynButton.ghost.secondary{color:rgb(var(--spotlight-secondary));background-color:rgb(var(--spotlight-secondary-foreground))}.arkynButton.ghost.danger{color:rgb(var(--spotlight-danger));background-color:rgb(var(--spotlight-danger-foreground))}.arkynButton.ghost.success{color:rgb(var(--spotlight-success));background-color:rgb(var(--spotlight-success-foreground))}.arkynButton.ghost.warning{color:rgb(var(--spotlight-warning));background-color:rgb(var(--spotlight-warning-foreground))}.arkynButton.ghost.info{color:rgb(var(--spotlight-info));background-color:rgb(var(--spotlight-info-foreground))}.arkynButton.invisible.primary{color:rgb(var(--spotlight-primary))}.arkynButton.invisible.secondary{color:rgb(var(--spotlight-secondary))}.arkynButton.invisible.danger{color:rgb(var(--spotlight-danger))}.arkynButton.invisible.success{color:rgb(var(--spotlight-success))}.arkynButton.invisible.warning{color:rgb(var(--spotlight-warning))}.arkynButton.invisible.info{color:rgb(var(--spotlight-info))}.arkynButton.lg{border-radius:8px;height:44px;padding:0 20px;font-size:14px;font-weight:600;line-height:14px}.arkynButton.lg .arkynButtonContent,.arkynButton.lg .arkynButtonSpinner{gap:16px}.arkynButton.md{border-radius:8px;gap:16px;height:40px;padding:0 16px;font-size:14px;font-weight:600;line-height:14px}.arkynButton.md .arkynButtonContent,.arkynButton.md .arkynButtonSpinner{gap:14px}.arkynButton.sm{border-radius:6px;height:32px;padding:0 16px;font-size:12px;font-weight:600;line-height:12px}.arkynButton.sm .arkynButtonContent,.arkynButton.sm .arkynButtonSpinner{gap:12px}.arkynButton.xs{border-radius:4px;height:24px;padding:0 16px;font-size:10px;font-weight:600;line-height:10px}.arkynButton.xs .arkynButtonContent,.arkynButton.xs .arkynButtonSpinner{gap:8px}.arkynButton .arkynButtonSpinner>svg{animation:2s linear infinite spin}.arkynButton.loadingTextFalse .arkynButtonSpinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.arkynButton.loadingTextTrue .arkynButtonSpinner{max-height:0}.arkynButton.loadingTrue .arkynButtonContent{opacity:0;max-height:0}.arkynButton.loadingTrue .arkynButtonSpinner{opacity:1;max-height:unset}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}}
12
+
13
+ @layer arkyn{.arkynDivider{background-color:var(--border);flex:1;display:block}.arkynDivider.horizontal{width:100%;min-height:1px;max-height:1px}.arkynDivider.vertical{min-width:1px;max-width:1px;height:100%}}
14
+
15
+ @layer arkyn{.arkynIconButton{background:0 0;border:1px solid #0000;outline:1px solid #0000;position:relative}.arkynIconButton:hover{cursor:pointer;filter:brightness(.9);transition:all .15s ease-out}html.dark .arkynIconButton:hover{cursor:pointer;filter:brightness(1.2)}.arkynIconButton:disabled{cursor:not-allowed;opacity:.5}.arkynIconButtonContent{justify-content:center;align-items:center;display:flex}.arkynIconButton.solid{color:var(--white)}.arkynIconButton.solid.primary{background-color:rgb(var(--spotlight-primary))}.arkynIconButton.solid.secondary{background-color:rgb(var(--spotlight-secondary))}.arkynIconButton.solid.danger{background-color:rgb(var(--spotlight-danger))}.arkynIconButton.solid.success{background-color:rgb(var(--spotlight-success))}.arkynIconButton.solid.warning{background-color:rgb(var(--spotlight-warning))}.arkynIconButton.solid.info{background-color:rgb(var(--spotlight-info))}.arkynIconButton.outline{background-color:var(--background-underground);border-color:var(--border)}.arkynIconButton.outline.primary{color:rgb(var(--spotlight-primary))}.arkynIconButton.outline.secondary{color:rgb(var(--spotlight-secondary))}.arkynIconButton.outline.danger{color:rgb(var(--spotlight-danger))}.arkynIconButton.outline.success{color:rgb(var(--spotlight-success))}.arkynIconButton.outline.warning{color:rgb(var(--spotlight-warning))}.arkynIconButton.outline.info{color:rgb(var(--spotlight-info))}.arkynIconButton.ghost:hover{filter:brightness(.8)}.arkynIconButton.ghost.primary{color:rgb(var(--spotlight-primary));background-color:rgb(var(--spotlight-primary-foreground))}.arkynIconButton.ghost.secondary{color:rgb(var(--spotlight-secondary));background-color:rgb(var(--spotlight-secondary-foreground))}.arkynIconButton.ghost.danger{color:rgb(var(--spotlight-danger));background-color:rgb(var(--spotlight-danger-foreground))}.arkynIconButton.ghost.success{color:rgb(var(--spotlight-success));background-color:rgb(var(--spotlight-success-foreground))}.arkynIconButton.ghost.warning{color:rgb(var(--spotlight-warning));background-color:rgb(var(--spotlight-warning-foreground))}.arkynIconButton.ghost.info{color:rgb(var(--spotlight-info));background-color:rgb(var(--spotlight-info-foreground))}.arkynIconButton.invisible.primary{color:rgb(var(--spotlight-primary))}.arkynIconButton.invisible.secondary{color:rgb(var(--spotlight-secondary))}.arkynIconButton.invisible.danger{color:rgb(var(--spotlight-danger))}.arkynIconButton.invisible.success{color:rgb(var(--spotlight-success))}.arkynIconButton.invisible.warning{color:rgb(var(--spotlight-warning))}.arkynIconButton.invisible.info{color:rgb(var(--spotlight-info))}.arkynIconButton.lg{border-radius:6px;width:44px;height:44px}.arkynIconButton.md{border-radius:6px;width:40px;height:40px}.arkynIconButton.sm{border-radius:6px;width:32px;height:32px}.arkynIconButton.xs{border-radius:4px;width:24px;height:24px}.arkynIconButtonSpinner{opacity:0;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.arkynIconButtonSpinner>svg{animation:2s linear infinite spin}.arkynIconButton.loadingTrue .arkynIconButtonSpinner{opacity:1}.arkynIconButton.loadingTrue .arkynIconButtonContent{opacity:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}}
16
+
17
+ @layer arkyn{.arkynTooltip{display:block;position:relative}.arkynTooltipText{visibility:hidden;opacity:0;white-space:nowrap;color:var(--tooltip-text);background-color:var(--tooltip-background);z-index:9999;border-radius:4px;justify-content:center;align-items:center;font-weight:400;transition:all .15s ease-out;display:flex;position:absolute;transform:translate(-50%,-50%)}.arkynTooltip.lg .arkynTooltipText{padding:8px 12px;font-size:14px;line-height:130%}.arkynTooltip.md .arkynTooltipText{padding:8px 12px;font-size:12px;line-height:130%}.arkynTooltip:hover .arkynTooltipText{opacity:1;visibility:visible}.arkynTooltip.top .arkynTooltipText{bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}.arkynTooltip.top .arkynTooltipText:before{content:"";border-style:solid;border-color:var(--tooltip-background) transparent;border-width:6px 6px 0;position:absolute;top:100%;bottom:20px;left:50%;transform:translate(-50%)}.arkynTooltip.left .arkynTooltipText{top:50%;right:calc(100% + 10px);transform:translateY(-50%)}.arkynTooltip.left .arkynTooltipText:before{content:"";border-style:solid;border-color:transparent var(--tooltip-background);border-width:6px 0 6px 6px;position:absolute;top:50%;left:100%;transform:translateY(-50%)}.arkynTooltip.right .arkynTooltipText{top:50%;left:calc(100% + 10px);transform:translateY(-50%)}.arkynTooltip.right .arkynTooltipText:before{content:"";border-style:solid;border-color:transparent var(--tooltip-background);border-width:6px 6px 6px 0;position:absolute;top:50%;left:0;transform:translate(-100%,-50%)}.arkynTooltip.bottom .arkynTooltipText{top:calc(100% + 10px);left:50%;transform:translate(-50%)}.arkynTooltip.bottom .arkynTooltipText:before{content:"";border-style:solid;border-color:var(--tooltip-background) transparent;border-width:0 6px 6px;position:absolute;top:0;left:50%;transform:translate(-50%,-100%)}}
18
+
19
+ @layer arkyn{.arkynFileUploadNoFileContent{flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;display:flex}.arkynFileUploadNoFileContent>p{text-align:center;white-space:nowrap;color:var(--text-body);padding:0 24px;font-size:12px;font-weight:400;line-height:12px}}
@@ -33,3 +33,5 @@ function s(t) {
33
33
  }
34
34
  //#endregion
35
35
  export { s as FullCalendarProvider, o as useFullCalendar };
36
+
37
+ //# sourceMappingURL=_fullCalendarProvider.js.map