@eturnity/eturnity_reusable_components 8.40.8-EPDM-17341.0 → 8.40.8-EPDM-1744.2

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 (764) hide show
  1. package/README.md +90 -2
  2. package/dist/index.es.js +17 -0
  3. package/dist/index.es2.js +27 -0
  4. package/package.json +7 -3
  5. package/src/assets/svgIcons/cookie.svg +3 -0
  6. package/src/components/icon/icon.spec.js +2 -1
  7. package/src/components/icon/index.js +14 -0
  8. package/src/components/inputs/toggle/index.vue +14 -1
  9. package/src/components/modals/cookieConsent/CookieConsent.vue +443 -0
  10. package/src/components/modals/cookieConsent/index.js +14 -0
  11. package/src/components/modals/modal/index.vue +1 -1
  12. package/src/components/tabsHeader/TabsHeader.spec.js +1 -1
  13. package/src/index.js +28 -0
  14. package/src/main.js +3 -0
  15. package/src/withLibraryTheme.js +28 -0
  16. package/dist/main.es.js +0 -7
  17. package/dist/main.es10.js +0 -4
  18. package/dist/main.es100.js +0 -26
  19. package/dist/main.es101.js +0 -33
  20. package/dist/main.es102.js +0 -20
  21. package/dist/main.es103.js +0 -28
  22. package/dist/main.es104.js +0 -28
  23. package/dist/main.es105.js +0 -23
  24. package/dist/main.es106.js +0 -23
  25. package/dist/main.es107.js +0 -24
  26. package/dist/main.es108.js +0 -28
  27. package/dist/main.es109.js +0 -28
  28. package/dist/main.es11.js +0 -10
  29. package/dist/main.es110.js +0 -25
  30. package/dist/main.es111.js +0 -23
  31. package/dist/main.es112.js +0 -23
  32. package/dist/main.es113.js +0 -20
  33. package/dist/main.es114.js +0 -28
  34. package/dist/main.es115.js +0 -25
  35. package/dist/main.es116.js +0 -23
  36. package/dist/main.es117.js +0 -20
  37. package/dist/main.es118.js +0 -20
  38. package/dist/main.es119.js +0 -20
  39. package/dist/main.es12.js +0 -2484
  40. package/dist/main.es120.js +0 -37
  41. package/dist/main.es121.js +0 -28
  42. package/dist/main.es122.js +0 -32
  43. package/dist/main.es123.js +0 -18
  44. package/dist/main.es124.js +0 -33
  45. package/dist/main.es125.js +0 -41
  46. package/dist/main.es126.js +0 -36
  47. package/dist/main.es127.js +0 -35
  48. package/dist/main.es128.js +0 -20
  49. package/dist/main.es129.js +0 -23
  50. package/dist/main.es13.js +0 -85
  51. package/dist/main.es130.js +0 -25
  52. package/dist/main.es131.js +0 -25
  53. package/dist/main.es132.js +0 -23
  54. package/dist/main.es133.js +0 -23
  55. package/dist/main.es134.js +0 -23
  56. package/dist/main.es135.js +0 -26
  57. package/dist/main.es136.js +0 -23
  58. package/dist/main.es137.js +0 -29
  59. package/dist/main.es138.js +0 -25
  60. package/dist/main.es139.js +0 -23
  61. package/dist/main.es14.js +0 -271
  62. package/dist/main.es140.js +0 -28
  63. package/dist/main.es141.js +0 -25
  64. package/dist/main.es142.js +0 -39
  65. package/dist/main.es143.js +0 -37
  66. package/dist/main.es144.js +0 -23
  67. package/dist/main.es145.js +0 -25
  68. package/dist/main.es146.js +0 -23
  69. package/dist/main.es147.js +0 -31
  70. package/dist/main.es148.js +0 -23
  71. package/dist/main.es149.js +0 -23
  72. package/dist/main.es15.js +0 -66
  73. package/dist/main.es150.js +0 -23
  74. package/dist/main.es151.js +0 -23
  75. package/dist/main.es152.js +0 -23
  76. package/dist/main.es153.js +0 -23
  77. package/dist/main.es154.js +0 -23
  78. package/dist/main.es155.js +0 -23
  79. package/dist/main.es156.js +0 -23
  80. package/dist/main.es157.js +0 -23
  81. package/dist/main.es158.js +0 -23
  82. package/dist/main.es159.js +0 -23
  83. package/dist/main.es16.js +0 -201
  84. package/dist/main.es160.js +0 -23
  85. package/dist/main.es161.js +0 -23
  86. package/dist/main.es162.js +0 -23
  87. package/dist/main.es163.js +0 -23
  88. package/dist/main.es164.js +0 -23
  89. package/dist/main.es165.js +0 -23
  90. package/dist/main.es166.js +0 -23
  91. package/dist/main.es167.js +0 -23
  92. package/dist/main.es168.js +0 -23
  93. package/dist/main.es169.js +0 -23
  94. package/dist/main.es17.js +0 -26
  95. package/dist/main.es170.js +0 -23
  96. package/dist/main.es171.js +0 -23
  97. package/dist/main.es172.js +0 -23
  98. package/dist/main.es173.js +0 -23
  99. package/dist/main.es174.js +0 -23
  100. package/dist/main.es175.js +0 -23
  101. package/dist/main.es176.js +0 -30
  102. package/dist/main.es177.js +0 -23
  103. package/dist/main.es178.js +0 -30
  104. package/dist/main.es179.js +0 -30
  105. package/dist/main.es18.js +0 -1058
  106. package/dist/main.es180.js +0 -23
  107. package/dist/main.es181.js +0 -23
  108. package/dist/main.es182.js +0 -23
  109. package/dist/main.es183.js +0 -23
  110. package/dist/main.es184.js +0 -23
  111. package/dist/main.es185.js +0 -23
  112. package/dist/main.es186.js +0 -23
  113. package/dist/main.es187.js +0 -23
  114. package/dist/main.es188.js +0 -23
  115. package/dist/main.es189.js +0 -23
  116. package/dist/main.es19.js +0 -229
  117. package/dist/main.es190.js +0 -23
  118. package/dist/main.es191.js +0 -23
  119. package/dist/main.es192.js +0 -23
  120. package/dist/main.es193.js +0 -23
  121. package/dist/main.es194.js +0 -23
  122. package/dist/main.es195.js +0 -23
  123. package/dist/main.es196.js +0 -33
  124. package/dist/main.es197.js +0 -23
  125. package/dist/main.es198.js +0 -24
  126. package/dist/main.es199.js +0 -23
  127. package/dist/main.es2.js +0 -37
  128. package/dist/main.es20.js +0 -101
  129. package/dist/main.es200.js +0 -23
  130. package/dist/main.es201.js +0 -23
  131. package/dist/main.es202.js +0 -24
  132. package/dist/main.es203.js +0 -23
  133. package/dist/main.es204.js +0 -25
  134. package/dist/main.es205.js +0 -23
  135. package/dist/main.es206.js +0 -25
  136. package/dist/main.es207.js +0 -25
  137. package/dist/main.es208.js +0 -28
  138. package/dist/main.es209.js +0 -25
  139. package/dist/main.es21.js +0 -102
  140. package/dist/main.es210.js +0 -29
  141. package/dist/main.es211.js +0 -30
  142. package/dist/main.es212.js +0 -21
  143. package/dist/main.es213.js +0 -25
  144. package/dist/main.es214.js +0 -23
  145. package/dist/main.es215.js +0 -20
  146. package/dist/main.es216.js +0 -28
  147. package/dist/main.es217.js +0 -25
  148. package/dist/main.es218.js +0 -24
  149. package/dist/main.es219.js +0 -28
  150. package/dist/main.es22.js +0 -196
  151. package/dist/main.es220.js +0 -23
  152. package/dist/main.es221.js +0 -25
  153. package/dist/main.es222.js +0 -30
  154. package/dist/main.es223.js +0 -23
  155. package/dist/main.es224.js +0 -20
  156. package/dist/main.es225.js +0 -19
  157. package/dist/main.es226.js +0 -22
  158. package/dist/main.es227.js +0 -23
  159. package/dist/main.es228.js +0 -25
  160. package/dist/main.es229.js +0 -23
  161. package/dist/main.es23.js +0 -4
  162. package/dist/main.es230.js +0 -28
  163. package/dist/main.es231.js +0 -35
  164. package/dist/main.es232.js +0 -25
  165. package/dist/main.es233.js +0 -25
  166. package/dist/main.es234.js +0 -25
  167. package/dist/main.es235.js +0 -25
  168. package/dist/main.es236.js +0 -23
  169. package/dist/main.es237.js +0 -41
  170. package/dist/main.es238.js +0 -41
  171. package/dist/main.es239.js +0 -25
  172. package/dist/main.es24.js +0 -543
  173. package/dist/main.es240.js +0 -25
  174. package/dist/main.es241.js +0 -25
  175. package/dist/main.es242.js +0 -25
  176. package/dist/main.es243.js +0 -23
  177. package/dist/main.es244.js +0 -30
  178. package/dist/main.es245.js +0 -25
  179. package/dist/main.es246.js +0 -25
  180. package/dist/main.es247.js +0 -23
  181. package/dist/main.es248.js +0 -23
  182. package/dist/main.es249.js +0 -25
  183. package/dist/main.es25.js +0 -26
  184. package/dist/main.es250.js +0 -23
  185. package/dist/main.es251.js +0 -28
  186. package/dist/main.es252.js +0 -30
  187. package/dist/main.es253.js +0 -23
  188. package/dist/main.es254.js +0 -20
  189. package/dist/main.es255.js +0 -28
  190. package/dist/main.es256.js +0 -28
  191. package/dist/main.es257.js +0 -28
  192. package/dist/main.es258.js +0 -28
  193. package/dist/main.es259.js +0 -25
  194. package/dist/main.es26.js +0 -261
  195. package/dist/main.es260.js +0 -25
  196. package/dist/main.es261.js +0 -23
  197. package/dist/main.es262.js +0 -23
  198. package/dist/main.es263.js +0 -20
  199. package/dist/main.es264.js +0 -20
  200. package/dist/main.es265.js +0 -23
  201. package/dist/main.es266.js +0 -18
  202. package/dist/main.es267.js +0 -23
  203. package/dist/main.es268.js +0 -20
  204. package/dist/main.es269.js +0 -25
  205. package/dist/main.es27.js +0 -374
  206. package/dist/main.es270.js +0 -25
  207. package/dist/main.es271.js +0 -23
  208. package/dist/main.es272.js +0 -23
  209. package/dist/main.es273.js +0 -20
  210. package/dist/main.es274.js +0 -23
  211. package/dist/main.es275.js +0 -23
  212. package/dist/main.es276.js +0 -32
  213. package/dist/main.es277.js +0 -23
  214. package/dist/main.es278.js +0 -32
  215. package/dist/main.es279.js +0 -37
  216. package/dist/main.es28.js +0 -32
  217. package/dist/main.es280.js +0 -25
  218. package/dist/main.es281.js +0 -32
  219. package/dist/main.es282.js +0 -23
  220. package/dist/main.es283.js +0 -23
  221. package/dist/main.es284.js +0 -23
  222. package/dist/main.es285.js +0 -23
  223. package/dist/main.es286.js +0 -39
  224. package/dist/main.es287.js +0 -28
  225. package/dist/main.es288.js +0 -20
  226. package/dist/main.es289.js +0 -20
  227. package/dist/main.es29.js +0 -12
  228. package/dist/main.es290.js +0 -25
  229. package/dist/main.es291.js +0 -23
  230. package/dist/main.es292.js +0 -40
  231. package/dist/main.es293.js +0 -23
  232. package/dist/main.es294.js +0 -21
  233. package/dist/main.es295.js +0 -19
  234. package/dist/main.es296.js +0 -20
  235. package/dist/main.es297.js +0 -25
  236. package/dist/main.es298.js +0 -25
  237. package/dist/main.es299.js +0 -20
  238. package/dist/main.es3.js +0 -70
  239. package/dist/main.es30.js +0 -6
  240. package/dist/main.es300.js +0 -33
  241. package/dist/main.es301.js +0 -23
  242. package/dist/main.es302.js +0 -21
  243. package/dist/main.es303.js +0 -23
  244. package/dist/main.es304.js +0 -28
  245. package/dist/main.es305.js +0 -23
  246. package/dist/main.es306.js +0 -23
  247. package/dist/main.es307.js +0 -21
  248. package/dist/main.es308.js +0 -28
  249. package/dist/main.es309.js +0 -23
  250. package/dist/main.es31.js +0 -103
  251. package/dist/main.es310.js +0 -25
  252. package/dist/main.es311.js +0 -28
  253. package/dist/main.es312.js +0 -23
  254. package/dist/main.es313.js +0 -25
  255. package/dist/main.es314.js +0 -25
  256. package/dist/main.es315.js +0 -25
  257. package/dist/main.es316.js +0 -25
  258. package/dist/main.es317.js +0 -20
  259. package/dist/main.es318.js +0 -25
  260. package/dist/main.es319.js +0 -25
  261. package/dist/main.es32.js +0 -29
  262. package/dist/main.es320.js +0 -29
  263. package/dist/main.es321.js +0 -35
  264. package/dist/main.es322.js +0 -28
  265. package/dist/main.es323.js +0 -28
  266. package/dist/main.es324.js +0 -26
  267. package/dist/main.es325.js +0 -25
  268. package/dist/main.es326.js +0 -29
  269. package/dist/main.es327.js +0 -24
  270. package/dist/main.es328.js +0 -23
  271. package/dist/main.es329.js +0 -28
  272. package/dist/main.es33.js +0 -34
  273. package/dist/main.es330.js +0 -25
  274. package/dist/main.es331.js +0 -24
  275. package/dist/main.es332.js +0 -23
  276. package/dist/main.es333.js +0 -20
  277. package/dist/main.es334.js +0 -20
  278. package/dist/main.es335.js +0 -23
  279. package/dist/main.es336.js +0 -23
  280. package/dist/main.es337.js +0 -25
  281. package/dist/main.es338.js +0 -38
  282. package/dist/main.es339.js +0 -30
  283. package/dist/main.es34.js +0 -36
  284. package/dist/main.es340.js +0 -28
  285. package/dist/main.es341.js +0 -26
  286. package/dist/main.es342.js +0 -23
  287. package/dist/main.es343.js +0 -22
  288. package/dist/main.es344.js +0 -23
  289. package/dist/main.es345.js +0 -28
  290. package/dist/main.es346.js +0 -23
  291. package/dist/main.es347.js +0 -23
  292. package/dist/main.es348.js +0 -37
  293. package/dist/main.es349.js +0 -18
  294. package/dist/main.es35.js +0 -41
  295. package/dist/main.es350.js +0 -23
  296. package/dist/main.es351.js +0 -23
  297. package/dist/main.es352.js +0 -25
  298. package/dist/main.es353.js +0 -23
  299. package/dist/main.es354.js +0 -23
  300. package/dist/main.es355.js +0 -23
  301. package/dist/main.es356.js +0 -24
  302. package/dist/main.es357.js +0 -25
  303. package/dist/main.es358.js +0 -23
  304. package/dist/main.es359.js +0 -23
  305. package/dist/main.es36.js +0 -19
  306. package/dist/main.es360.js +0 -23
  307. package/dist/main.es361.js +0 -23
  308. package/dist/main.es362.js +0 -25
  309. package/dist/main.es363.js +0 -23
  310. package/dist/main.es364.js +0 -30
  311. package/dist/main.es365.js +0 -23
  312. package/dist/main.es366.js +0 -30
  313. package/dist/main.es367.js +0 -23
  314. package/dist/main.es368.js +0 -23
  315. package/dist/main.es369.js +0 -28
  316. package/dist/main.es37.js +0 -35
  317. package/dist/main.es370.js +0 -23
  318. package/dist/main.es371.js +0 -23
  319. package/dist/main.es372.js +0 -23
  320. package/dist/main.es373.js +0 -28
  321. package/dist/main.es374.js +0 -33
  322. package/dist/main.es375.js +0 -28
  323. package/dist/main.es376.js +0 -28
  324. package/dist/main.es377.js +0 -25
  325. package/dist/main.es378.js +0 -23
  326. package/dist/main.es379.js +0 -25
  327. package/dist/main.es38.js +0 -20
  328. package/dist/main.es380.js +0 -25
  329. package/dist/main.es381.js +0 -30
  330. package/dist/main.es382.js +0 -25
  331. package/dist/main.es383.js +0 -37
  332. package/dist/main.es384.js +0 -23
  333. package/dist/main.es385.js +0 -23
  334. package/dist/main.es386.js +0 -23
  335. package/dist/main.es387.js +0 -23
  336. package/dist/main.es388.js +0 -57
  337. package/dist/main.es389.js +0 -64
  338. package/dist/main.es39.js +0 -20
  339. package/dist/main.es390.js +0 -4
  340. package/dist/main.es391.js +0 -4
  341. package/dist/main.es392.js +0 -4
  342. package/dist/main.es393.js +0 -4
  343. package/dist/main.es394.js +0 -4
  344. package/dist/main.es395.js +0 -4
  345. package/dist/main.es396.js +0 -4
  346. package/dist/main.es397.js +0 -4
  347. package/dist/main.es398.js +0 -4
  348. package/dist/main.es399.js +0 -4
  349. package/dist/main.es4.js +0 -19
  350. package/dist/main.es40.js +0 -25
  351. package/dist/main.es400.js +0 -4
  352. package/dist/main.es401.js +0 -4
  353. package/dist/main.es402.js +0 -4
  354. package/dist/main.es403.js +0 -4
  355. package/dist/main.es404.js +0 -4
  356. package/dist/main.es405.js +0 -4
  357. package/dist/main.es406.js +0 -4
  358. package/dist/main.es407.js +0 -4
  359. package/dist/main.es408.js +0 -4
  360. package/dist/main.es409.js +0 -4
  361. package/dist/main.es41.js +0 -28
  362. package/dist/main.es410.js +0 -4
  363. package/dist/main.es411.js +0 -4
  364. package/dist/main.es412.js +0 -4
  365. package/dist/main.es413.js +0 -4
  366. package/dist/main.es414.js +0 -4
  367. package/dist/main.es415.js +0 -4
  368. package/dist/main.es416.js +0 -4
  369. package/dist/main.es417.js +0 -4
  370. package/dist/main.es418.js +0 -4
  371. package/dist/main.es419.js +0 -4
  372. package/dist/main.es42.js +0 -28
  373. package/dist/main.es420.js +0 -4
  374. package/dist/main.es421.js +0 -4
  375. package/dist/main.es422.js +0 -4
  376. package/dist/main.es423.js +0 -4
  377. package/dist/main.es424.js +0 -4
  378. package/dist/main.es425.js +0 -4
  379. package/dist/main.es426.js +0 -4
  380. package/dist/main.es427.js +0 -4
  381. package/dist/main.es428.js +0 -4
  382. package/dist/main.es429.js +0 -4
  383. package/dist/main.es43.js +0 -23
  384. package/dist/main.es430.js +0 -4
  385. package/dist/main.es431.js +0 -4
  386. package/dist/main.es432.js +0 -4
  387. package/dist/main.es433.js +0 -4
  388. package/dist/main.es434.js +0 -4
  389. package/dist/main.es435.js +0 -4
  390. package/dist/main.es436.js +0 -4
  391. package/dist/main.es437.js +0 -4
  392. package/dist/main.es438.js +0 -4
  393. package/dist/main.es439.js +0 -4
  394. package/dist/main.es44.js +0 -44
  395. package/dist/main.es440.js +0 -4
  396. package/dist/main.es441.js +0 -4
  397. package/dist/main.es442.js +0 -4
  398. package/dist/main.es443.js +0 -4
  399. package/dist/main.es444.js +0 -4
  400. package/dist/main.es445.js +0 -4
  401. package/dist/main.es446.js +0 -4
  402. package/dist/main.es447.js +0 -4
  403. package/dist/main.es448.js +0 -4
  404. package/dist/main.es449.js +0 -4
  405. package/dist/main.es45.js +0 -38
  406. package/dist/main.es450.js +0 -4
  407. package/dist/main.es451.js +0 -4
  408. package/dist/main.es452.js +0 -4
  409. package/dist/main.es453.js +0 -4
  410. package/dist/main.es454.js +0 -4
  411. package/dist/main.es455.js +0 -4
  412. package/dist/main.es456.js +0 -4
  413. package/dist/main.es457.js +0 -4
  414. package/dist/main.es458.js +0 -4
  415. package/dist/main.es459.js +0 -4
  416. package/dist/main.es46.js +0 -23
  417. package/dist/main.es460.js +0 -4
  418. package/dist/main.es461.js +0 -4
  419. package/dist/main.es462.js +0 -4
  420. package/dist/main.es463.js +0 -4
  421. package/dist/main.es464.js +0 -4
  422. package/dist/main.es465.js +0 -4
  423. package/dist/main.es466.js +0 -4
  424. package/dist/main.es467.js +0 -4
  425. package/dist/main.es468.js +0 -4
  426. package/dist/main.es469.js +0 -4
  427. package/dist/main.es47.js +0 -23
  428. package/dist/main.es470.js +0 -4
  429. package/dist/main.es471.js +0 -4
  430. package/dist/main.es472.js +0 -4
  431. package/dist/main.es473.js +0 -4
  432. package/dist/main.es474.js +0 -4
  433. package/dist/main.es475.js +0 -4
  434. package/dist/main.es476.js +0 -4
  435. package/dist/main.es477.js +0 -4
  436. package/dist/main.es478.js +0 -4
  437. package/dist/main.es479.js +0 -4
  438. package/dist/main.es48.js +0 -24
  439. package/dist/main.es480.js +0 -4
  440. package/dist/main.es481.js +0 -4
  441. package/dist/main.es482.js +0 -4
  442. package/dist/main.es483.js +0 -4
  443. package/dist/main.es484.js +0 -4
  444. package/dist/main.es485.js +0 -4
  445. package/dist/main.es486.js +0 -4
  446. package/dist/main.es487.js +0 -4
  447. package/dist/main.es488.js +0 -4
  448. package/dist/main.es489.js +0 -4
  449. package/dist/main.es49.js +0 -35
  450. package/dist/main.es490.js +0 -4
  451. package/dist/main.es491.js +0 -4
  452. package/dist/main.es492.js +0 -4
  453. package/dist/main.es493.js +0 -4
  454. package/dist/main.es494.js +0 -4
  455. package/dist/main.es495.js +0 -4
  456. package/dist/main.es496.js +0 -4
  457. package/dist/main.es497.js +0 -4
  458. package/dist/main.es498.js +0 -4
  459. package/dist/main.es499.js +0 -4
  460. package/dist/main.es5.js +0 -653
  461. package/dist/main.es50.js +0 -30
  462. package/dist/main.es500.js +0 -4
  463. package/dist/main.es501.js +0 -4
  464. package/dist/main.es502.js +0 -4
  465. package/dist/main.es503.js +0 -4
  466. package/dist/main.es504.js +0 -4
  467. package/dist/main.es505.js +0 -4
  468. package/dist/main.es506.js +0 -4
  469. package/dist/main.es507.js +0 -4
  470. package/dist/main.es508.js +0 -4
  471. package/dist/main.es509.js +0 -4
  472. package/dist/main.es51.js +0 -34
  473. package/dist/main.es510.js +0 -4
  474. package/dist/main.es511.js +0 -4
  475. package/dist/main.es512.js +0 -4
  476. package/dist/main.es513.js +0 -4
  477. package/dist/main.es514.js +0 -4
  478. package/dist/main.es515.js +0 -4
  479. package/dist/main.es516.js +0 -4
  480. package/dist/main.es517.js +0 -4
  481. package/dist/main.es518.js +0 -4
  482. package/dist/main.es519.js +0 -4
  483. package/dist/main.es52.js +0 -20
  484. package/dist/main.es520.js +0 -4
  485. package/dist/main.es521.js +0 -4
  486. package/dist/main.es522.js +0 -4
  487. package/dist/main.es523.js +0 -4
  488. package/dist/main.es524.js +0 -4
  489. package/dist/main.es525.js +0 -4
  490. package/dist/main.es526.js +0 -4
  491. package/dist/main.es527.js +0 -4
  492. package/dist/main.es528.js +0 -4
  493. package/dist/main.es529.js +0 -4
  494. package/dist/main.es53.js +0 -20
  495. package/dist/main.es530.js +0 -4
  496. package/dist/main.es531.js +0 -4
  497. package/dist/main.es532.js +0 -4
  498. package/dist/main.es533.js +0 -4
  499. package/dist/main.es534.js +0 -4
  500. package/dist/main.es535.js +0 -4
  501. package/dist/main.es536.js +0 -4
  502. package/dist/main.es537.js +0 -4
  503. package/dist/main.es538.js +0 -4
  504. package/dist/main.es539.js +0 -4
  505. package/dist/main.es54.js +0 -23
  506. package/dist/main.es540.js +0 -4
  507. package/dist/main.es541.js +0 -4
  508. package/dist/main.es542.js +0 -4
  509. package/dist/main.es543.js +0 -4
  510. package/dist/main.es544.js +0 -4
  511. package/dist/main.es545.js +0 -4
  512. package/dist/main.es546.js +0 -4
  513. package/dist/main.es547.js +0 -4
  514. package/dist/main.es548.js +0 -4
  515. package/dist/main.es549.js +0 -4
  516. package/dist/main.es55.js +0 -28
  517. package/dist/main.es550.js +0 -4
  518. package/dist/main.es551.js +0 -4
  519. package/dist/main.es552.js +0 -4
  520. package/dist/main.es553.js +0 -4
  521. package/dist/main.es554.js +0 -4
  522. package/dist/main.es555.js +0 -4
  523. package/dist/main.es556.js +0 -4
  524. package/dist/main.es557.js +0 -4
  525. package/dist/main.es558.js +0 -4
  526. package/dist/main.es559.js +0 -4
  527. package/dist/main.es56.js +0 -28
  528. package/dist/main.es560.js +0 -4
  529. package/dist/main.es561.js +0 -4
  530. package/dist/main.es562.js +0 -4
  531. package/dist/main.es563.js +0 -4
  532. package/dist/main.es564.js +0 -4
  533. package/dist/main.es565.js +0 -4
  534. package/dist/main.es566.js +0 -4
  535. package/dist/main.es567.js +0 -4
  536. package/dist/main.es568.js +0 -4
  537. package/dist/main.es569.js +0 -4
  538. package/dist/main.es57.js +0 -23
  539. package/dist/main.es570.js +0 -4
  540. package/dist/main.es571.js +0 -4
  541. package/dist/main.es572.js +0 -4
  542. package/dist/main.es573.js +0 -4
  543. package/dist/main.es574.js +0 -4
  544. package/dist/main.es575.js +0 -4
  545. package/dist/main.es576.js +0 -4
  546. package/dist/main.es577.js +0 -4
  547. package/dist/main.es578.js +0 -4
  548. package/dist/main.es579.js +0 -4
  549. package/dist/main.es58.js +0 -23
  550. package/dist/main.es580.js +0 -4
  551. package/dist/main.es581.js +0 -4
  552. package/dist/main.es582.js +0 -4
  553. package/dist/main.es583.js +0 -4
  554. package/dist/main.es584.js +0 -4
  555. package/dist/main.es585.js +0 -4
  556. package/dist/main.es586.js +0 -4
  557. package/dist/main.es587.js +0 -4
  558. package/dist/main.es588.js +0 -4
  559. package/dist/main.es589.js +0 -4
  560. package/dist/main.es59.js +0 -28
  561. package/dist/main.es590.js +0 -4
  562. package/dist/main.es591.js +0 -4
  563. package/dist/main.es592.js +0 -4
  564. package/dist/main.es593.js +0 -4
  565. package/dist/main.es594.js +0 -4
  566. package/dist/main.es595.js +0 -4
  567. package/dist/main.es596.js +0 -4
  568. package/dist/main.es597.js +0 -4
  569. package/dist/main.es598.js +0 -4
  570. package/dist/main.es599.js +0 -4
  571. package/dist/main.es6.js +0 -5872
  572. package/dist/main.es60.js +0 -23
  573. package/dist/main.es600.js +0 -4
  574. package/dist/main.es601.js +0 -4
  575. package/dist/main.es602.js +0 -4
  576. package/dist/main.es603.js +0 -4
  577. package/dist/main.es604.js +0 -4
  578. package/dist/main.es605.js +0 -4
  579. package/dist/main.es606.js +0 -4
  580. package/dist/main.es607.js +0 -4
  581. package/dist/main.es608.js +0 -4
  582. package/dist/main.es609.js +0 -4
  583. package/dist/main.es61.js +0 -28
  584. package/dist/main.es610.js +0 -4
  585. package/dist/main.es611.js +0 -4
  586. package/dist/main.es612.js +0 -4
  587. package/dist/main.es613.js +0 -4
  588. package/dist/main.es614.js +0 -4
  589. package/dist/main.es615.js +0 -4
  590. package/dist/main.es616.js +0 -4
  591. package/dist/main.es617.js +0 -4
  592. package/dist/main.es618.js +0 -4
  593. package/dist/main.es619.js +0 -4
  594. package/dist/main.es62.js +0 -25
  595. package/dist/main.es620.js +0 -4
  596. package/dist/main.es621.js +0 -4
  597. package/dist/main.es622.js +0 -4
  598. package/dist/main.es623.js +0 -4
  599. package/dist/main.es624.js +0 -4
  600. package/dist/main.es625.js +0 -4
  601. package/dist/main.es626.js +0 -4
  602. package/dist/main.es627.js +0 -4
  603. package/dist/main.es628.js +0 -4
  604. package/dist/main.es629.js +0 -4
  605. package/dist/main.es63.js +0 -24
  606. package/dist/main.es630.js +0 -4
  607. package/dist/main.es631.js +0 -4
  608. package/dist/main.es632.js +0 -4
  609. package/dist/main.es633.js +0 -4
  610. package/dist/main.es634.js +0 -4
  611. package/dist/main.es635.js +0 -4
  612. package/dist/main.es636.js +0 -4
  613. package/dist/main.es637.js +0 -4
  614. package/dist/main.es638.js +0 -4
  615. package/dist/main.es639.js +0 -4
  616. package/dist/main.es64.js +0 -25
  617. package/dist/main.es640.js +0 -4
  618. package/dist/main.es641.js +0 -4
  619. package/dist/main.es642.js +0 -4
  620. package/dist/main.es643.js +0 -4
  621. package/dist/main.es644.js +0 -4
  622. package/dist/main.es645.js +0 -4
  623. package/dist/main.es646.js +0 -4
  624. package/dist/main.es647.js +0 -4
  625. package/dist/main.es648.js +0 -4
  626. package/dist/main.es649.js +0 -4
  627. package/dist/main.es65.js +0 -23
  628. package/dist/main.es650.js +0 -4
  629. package/dist/main.es651.js +0 -4
  630. package/dist/main.es652.js +0 -4
  631. package/dist/main.es653.js +0 -4
  632. package/dist/main.es654.js +0 -4
  633. package/dist/main.es655.js +0 -4
  634. package/dist/main.es656.js +0 -4
  635. package/dist/main.es657.js +0 -4
  636. package/dist/main.es658.js +0 -4
  637. package/dist/main.es659.js +0 -4
  638. package/dist/main.es66.js +0 -25
  639. package/dist/main.es660.js +0 -4
  640. package/dist/main.es661.js +0 -4
  641. package/dist/main.es662.js +0 -4
  642. package/dist/main.es663.js +0 -4
  643. package/dist/main.es664.js +0 -4
  644. package/dist/main.es665.js +0 -4
  645. package/dist/main.es666.js +0 -4
  646. package/dist/main.es667.js +0 -4
  647. package/dist/main.es668.js +0 -4
  648. package/dist/main.es669.js +0 -4
  649. package/dist/main.es67.js +0 -23
  650. package/dist/main.es670.js +0 -4
  651. package/dist/main.es671.js +0 -4
  652. package/dist/main.es672.js +0 -4
  653. package/dist/main.es673.js +0 -4
  654. package/dist/main.es674.js +0 -4
  655. package/dist/main.es675.js +0 -4
  656. package/dist/main.es676.js +0 -4
  657. package/dist/main.es677.js +0 -4
  658. package/dist/main.es678.js +0 -4
  659. package/dist/main.es679.js +0 -4
  660. package/dist/main.es68.js +0 -23
  661. package/dist/main.es680.js +0 -4
  662. package/dist/main.es681.js +0 -4
  663. package/dist/main.es682.js +0 -4
  664. package/dist/main.es683.js +0 -4
  665. package/dist/main.es684.js +0 -4
  666. package/dist/main.es685.js +0 -4
  667. package/dist/main.es686.js +0 -4
  668. package/dist/main.es687.js +0 -4
  669. package/dist/main.es688.js +0 -4
  670. package/dist/main.es689.js +0 -4
  671. package/dist/main.es69.js +0 -25
  672. package/dist/main.es690.js +0 -4
  673. package/dist/main.es691.js +0 -4
  674. package/dist/main.es692.js +0 -4
  675. package/dist/main.es693.js +0 -4
  676. package/dist/main.es694.js +0 -4
  677. package/dist/main.es695.js +0 -4
  678. package/dist/main.es696.js +0 -4
  679. package/dist/main.es697.js +0 -4
  680. package/dist/main.es698.js +0 -4
  681. package/dist/main.es699.js +0 -4
  682. package/dist/main.es7.js +0 -1904
  683. package/dist/main.es70.js +0 -20
  684. package/dist/main.es700.js +0 -4
  685. package/dist/main.es701.js +0 -4
  686. package/dist/main.es702.js +0 -4
  687. package/dist/main.es703.js +0 -4
  688. package/dist/main.es704.js +0 -4
  689. package/dist/main.es705.js +0 -4
  690. package/dist/main.es706.js +0 -4
  691. package/dist/main.es707.js +0 -4
  692. package/dist/main.es708.js +0 -4
  693. package/dist/main.es709.js +0 -4
  694. package/dist/main.es71.js +0 -23
  695. package/dist/main.es710.js +0 -4
  696. package/dist/main.es711.js +0 -4
  697. package/dist/main.es712.js +0 -4
  698. package/dist/main.es713.js +0 -4
  699. package/dist/main.es714.js +0 -4
  700. package/dist/main.es715.js +0 -4
  701. package/dist/main.es716.js +0 -4
  702. package/dist/main.es717.js +0 -4
  703. package/dist/main.es718.js +0 -4
  704. package/dist/main.es719.js +0 -4
  705. package/dist/main.es72.js +0 -23
  706. package/dist/main.es720.js +0 -4
  707. package/dist/main.es721.js +0 -4
  708. package/dist/main.es722.js +0 -4
  709. package/dist/main.es723.js +0 -4
  710. package/dist/main.es724.js +0 -4
  711. package/dist/main.es725.js +0 -4
  712. package/dist/main.es726.js +0 -4
  713. package/dist/main.es727.js +0 -4
  714. package/dist/main.es728.js +0 -4
  715. package/dist/main.es729.js +0 -4
  716. package/dist/main.es73.js +0 -21
  717. package/dist/main.es730.js +0 -4
  718. package/dist/main.es731.js +0 -4
  719. package/dist/main.es732.js +0 -4
  720. package/dist/main.es733.js +0 -4
  721. package/dist/main.es734.js +0 -4
  722. package/dist/main.es735.js +0 -4
  723. package/dist/main.es736.js +0 -4
  724. package/dist/main.es737.js +0 -4
  725. package/dist/main.es738.js +0 -4
  726. package/dist/main.es739.js +0 -4
  727. package/dist/main.es74.js +0 -20
  728. package/dist/main.es740.js +0 -4
  729. package/dist/main.es741.js +0 -4
  730. package/dist/main.es742.js +0 -4
  731. package/dist/main.es743.js +0 -4
  732. package/dist/main.es744.js +0 -4
  733. package/dist/main.es745.js +0 -4
  734. package/dist/main.es746.js +0 -25
  735. package/dist/main.es75.js +0 -23
  736. package/dist/main.es76.js +0 -28
  737. package/dist/main.es77.js +0 -28
  738. package/dist/main.es78.js +0 -23
  739. package/dist/main.es79.js +0 -23
  740. package/dist/main.es80.js +0 -23
  741. package/dist/main.es81.js +0 -23
  742. package/dist/main.es82.js +0 -31
  743. package/dist/main.es83.js +0 -33
  744. package/dist/main.es84.js +0 -23
  745. package/dist/main.es85.js +0 -23
  746. package/dist/main.es86.js +0 -28
  747. package/dist/main.es87.js +0 -30
  748. package/dist/main.es88.js +0 -33
  749. package/dist/main.es89.js +0 -29
  750. package/dist/main.es9.js +0 -78
  751. package/dist/main.es90.js +0 -30
  752. package/dist/main.es91.js +0 -29
  753. package/dist/main.es92.js +0 -23
  754. package/dist/main.es93.js +0 -22
  755. package/dist/main.es94.js +0 -25
  756. package/dist/main.es95.js +0 -28
  757. package/dist/main.es96.js +0 -35
  758. package/dist/main.es97.js +0 -23
  759. package/dist/main.es98.js +0 -25
  760. package/dist/main.es99.js +0 -23
  761. package/dist/style.css +0 -1
  762. package/src/assets/svgIcons/info_white.svg +0 -4
  763. /package/dist/{main.es8.js → index.es3.js} +0 -0
  764. /package/src/components/icon/{index.vue → Icon.vue} +0 -0
package/README.md CHANGED
@@ -1,11 +1,99 @@
1
1
  # eturnity_reusable_components
2
2
 
3
- ## To use in a project:
3
+ ## Installation
4
4
 
5
- ```
5
+ ```bash
6
6
  npm install @eturnity/eturnity_reusable_components
7
7
  ```
8
8
 
9
+ ## Usage
10
+
11
+ ### Setting up the theme
12
+
13
+ The library now includes its own theme. You need to wrap your application with the `ThemeProvider` component from this library.
14
+
15
+ **Recommended approach - Using the exported theme:**
16
+
17
+ ```vue
18
+ <!-- App.vue -->
19
+ <template>
20
+ <ThemeProvider :theme="eturnityTheme">
21
+ <RouterView />
22
+ <!-- Your app content -->
23
+ </ThemeProvider>
24
+ </template>
25
+
26
+ <script>
27
+ import {
28
+ ThemeProvider,
29
+ theme as eturnityTheme,
30
+ } from '@eturnity/eturnity_reusable_components'
31
+
32
+ export default {
33
+ components: { ThemeProvider },
34
+ setup() {
35
+ return {
36
+ eturnityTheme,
37
+ }
38
+ },
39
+ }
40
+ </script>
41
+ ```
42
+
43
+ **Alternative - Using the plugin (for non-styled-component scenarios):**
44
+
45
+ If you also need the theme accessible via Vue's provide/inject:
46
+
47
+ ```javascript
48
+ // main.js
49
+ import { createApp } from 'vue'
50
+ import App from './App.vue'
51
+ import EturnityComponentsPlugin from '@eturnity/eturnity_reusable_components'
52
+
53
+ const app = createApp(App)
54
+ app.use(EturnityComponentsPlugin)
55
+ app.mount('#app')
56
+ ```
57
+
58
+ ### Using individual components
59
+
60
+ You can still import and use individual components directly:
61
+
62
+ ```javascript
63
+ import MainButton from '@eturnity/eturnity_reusable_components/src/components/buttons/mainButton'
64
+ import InputText from '@eturnity/eturnity_reusable_components/src/components/inputs/inputText'
65
+ ```
66
+
67
+ ### Overriding the theme (optional)
68
+
69
+ If you need to customize or override the theme, you can pass your own theme when installing the plugin:
70
+
71
+ ```javascript
72
+ import EturnityComponentsPlugin, {
73
+ theme as defaultTheme,
74
+ } from '@eturnity/eturnity_reusable_components'
75
+
76
+ const customTheme = {
77
+ ...defaultTheme,
78
+ colors: {
79
+ ...defaultTheme.colors,
80
+ primary: '#YOUR_COLOR',
81
+ },
82
+ }
83
+
84
+ app.use(EturnityComponentsPlugin, { theme: customTheme })
85
+ ```
86
+
87
+ ### Direct access to theme
88
+
89
+ You can also import and use the theme directly:
90
+
91
+ ```javascript
92
+ import { theme } from '@eturnity/eturnity_reusable_components'
93
+ // or
94
+ import theme from '@eturnity/eturnity_reusable_components/theme'
95
+ ```
96
+
9
97
  ### To run locally
10
98
 
11
99
  ```
@@ -0,0 +1,17 @@
1
+ import { ThemeProvider } from "vue3-styled-components";
2
+ import { withLibraryTheme } from "./index.es2.js";
3
+ import theme from "./index.es3.js";
4
+ const EturnityComponentsPlugin = {
5
+ install(app, options = {}) {
6
+ const finalTheme = options.theme || theme;
7
+ app.provide("eturnityTheme", finalTheme);
8
+ app.config.globalProperties.$eturnityTheme = finalTheme;
9
+ }
10
+ };
11
+ export {
12
+ EturnityComponentsPlugin,
13
+ ThemeProvider,
14
+ EturnityComponentsPlugin as default,
15
+ theme,
16
+ withLibraryTheme
17
+ };
@@ -0,0 +1,27 @@
1
+ import { defineComponent, h } from "vue";
2
+ import { ThemeProvider } from "vue3-styled-components";
3
+ import theme from "./index.es3.js";
4
+ function withLibraryTheme(component, componentName = "Component") {
5
+ return defineComponent({
6
+ name: `Eturnity${componentName}`,
7
+ inheritAttrs: true,
8
+ setup(props, {
9
+ attrs,
10
+ slots
11
+ }) {
12
+ return () => h(ThemeProvider, {
13
+ theme
14
+ }, {
15
+ default: () => h(component, {
16
+ ...props,
17
+ ...attrs
18
+ }, slots)
19
+ });
20
+ }
21
+ });
22
+ }
23
+ export {
24
+ withLibraryTheme as default,
25
+ theme,
26
+ withLibraryTheme
27
+ };
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@eturnity/eturnity_reusable_components",
3
- "version": "8.40.8-EPDM-17341.0",
3
+ "version": "8.40.8-EPDM-1744.2",
4
4
  "files": [
5
5
  "dist",
6
6
  "src"
7
7
  ],
8
- "main": "./dist/main.umd.js",
9
- "module": "./dist/main.es.js",
8
+ "main": "./src/index.js",
9
+ "module": "./src/index.js",
10
10
  "private": false,
11
11
  "scripts": {
12
12
  "dev": "vite",
@@ -20,6 +20,10 @@
20
20
  "merge-remote-master": "node scripts/merge-remote-master.js",
21
21
  "prepublishOnly": "npm run test && npm run build"
22
22
  },
23
+ "peerDependencies": {
24
+ "vue": "^3.0.0",
25
+ "vue3-styled-components": "^1.0.0"
26
+ },
23
27
  "dependencies": {
24
28
  "@originjs/vite-plugin-commonjs": "1.0.3",
25
29
  "@vue/compat": "3.3.4",
@@ -0,0 +1,3 @@
1
+ <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M6.76848 0.499692C7.27285 0.482653 7.51085 0.982283 7.40227 1.34149V1.34247C7.31195 1.6384 7.28786 2.11586 7.41985 2.50946C7.54138 2.8714 7.77048 3.11974 8.20891 3.15887H8.21087C8.25521 3.16302 8.29937 3.17126 8.34173 3.18426L8.46477 3.237L8.57415 3.31219L8.66595 3.40887L8.73528 3.52215L8.78118 3.64813L8.79973 3.77997C8.80149 3.82413 8.7992 3.86895 8.79192 3.91278L8.78997 3.9245C8.69351 4.42951 8.79248 4.76904 8.95891 4.95672C9.11653 5.13404 9.43841 5.29125 10.0585 5.20477L10.0761 5.20282C10.1493 5.19522 10.2235 5.19956 10.2949 5.21649L10.3652 5.23797L10.4325 5.26629C10.4763 5.28787 10.5177 5.31464 10.5556 5.3454L10.6103 5.3952L10.6581 5.44989C10.6883 5.48847 10.7145 5.53055 10.7353 5.57489L10.7626 5.64325L10.7822 5.71356C10.7977 5.78511 10.8009 5.85928 10.7919 5.93231L10.7909 5.94012C10.7298 6.37631 10.8905 6.67501 11.1249 6.8161C11.3671 6.96157 11.841 7.03044 12.5751 6.66082L12.5771 6.65985C12.9695 6.46382 13.5189 6.72222 13.499 7.24676C13.4345 8.9266 12.7218 10.5165 11.5107 11.6823C10.2993 12.8481 8.68311 13.4996 7.00188 13.4997C5.29835 13.4988 3.66225 12.8294 2.44719 11.6354C1.2324 10.4415 0.534515 8.81797 0.503824 7.11493C0.473259 5.41173 1.11283 3.76395 2.2841 2.52704C3.45538 1.2903 5.06528 0.561917 6.76751 0.499692H6.76848ZM6.34856 1.53582C5.07869 1.6884 3.89567 2.27896 3.00969 3.21454C2.01866 4.2611 1.47809 5.65529 1.50383 7.09637C1.52977 8.53759 2.1203 9.91217 3.14836 10.9225C4.17649 11.9328 5.56048 12.4989 7.00188 12.4997L7.26751 12.4929C8.59383 12.4287 9.85626 11.8866 10.8173 10.9616C11.7009 10.111 12.2701 8.99358 12.4452 7.79071C11.75 8.01196 11.1114 7.97533 10.6093 7.67352C10.0857 7.35864 9.81085 6.81654 9.78118 6.2243C9.13445 6.23459 8.58523 6.04228 8.21087 5.62079C7.84388 5.20726 7.71936 4.65775 7.76165 4.09051C7.0627 3.90439 6.6585 3.38441 6.47161 2.82782C6.32856 2.40142 6.30313 1.93704 6.34856 1.53582ZM6.49993 9.99969C6.77593 9.99969 6.9997 10.2237 6.99993 10.4997C6.99993 10.7758 6.77607 10.9997 6.49993 10.9997C6.22382 10.9997 5.99993 10.7758 5.99993 10.4997C6.00015 10.2238 6.22396 9.99973 6.49993 9.99969ZM9.49993 8.99969C9.77593 8.99969 9.9997 9.22374 9.99993 9.49969C9.99993 9.77583 9.77607 9.99969 9.49993 9.99969C9.22382 9.99965 8.99993 9.77581 8.99993 9.49969C9.00016 9.22377 9.22396 8.99973 9.49993 8.99969ZM3.49992 7.99969C3.77592 7.99969 3.99969 8.22374 3.99992 8.49969C3.99992 8.77583 3.77607 8.99969 3.49992 8.99969C3.22381 8.99965 2.99992 8.77581 2.99992 8.49969C3.00015 8.22377 3.22396 7.99973 3.49992 7.99969ZM6.49993 6.99969C6.77593 6.99969 6.9997 7.22374 6.99993 7.49969C6.99993 7.77583 6.77607 7.99969 6.49993 7.99969C6.22382 7.99965 5.99993 7.77581 5.99993 7.49969C6.00016 7.22377 6.22396 6.99973 6.49993 6.99969ZM4.49992 3.99969C4.77592 3.99969 4.99969 4.22374 4.99992 4.49969C4.99992 4.77583 4.77607 4.99969 4.49992 4.99969C4.22382 4.99965 3.99992 4.77581 3.99992 4.49969C4.00015 4.22377 4.22396 3.99973 4.49992 3.99969Z" fill="#263238"/>
3
+ </svg>
@@ -22,7 +22,8 @@ describe('RCIcon.vue', () => {
22
22
 
23
23
  expect(iconWrapper.exists()).toBe(true)
24
24
  expect(iconImage.exists()).toBe(true)
25
- expect(wrapper.props('size')).toBe('30px')
25
+ // The wrapper component doesn't expose props directly, so we check the icon component
26
+ expect(wrapper.findComponent({ name: 'EturnityIcon' }).exists()).toBe(true)
26
27
  })
27
28
 
28
29
  it('renders striked line when isStriked is true', async () => {
@@ -0,0 +1,14 @@
1
+ import { h } from 'vue'
2
+ import { ThemeProvider } from 'vue3-styled-components'
3
+ import theme from '../../assets/theme.js'
4
+ import IconComponent from './Icon.vue'
5
+
6
+ export default {
7
+ name: 'EturnityIcon',
8
+ setup(props, { attrs, slots }) {
9
+ return () =>
10
+ h(ThemeProvider, { theme }, () =>
11
+ h(IconComponent, { ...props, ...attrs }, slots)
12
+ )
13
+ },
14
+ }
@@ -46,6 +46,7 @@
46
46
  :is-checked="isChecked"
47
47
  :size="size"
48
48
  :toggle-color="toggleColor"
49
+ :toggle-margin="toggleMargin"
49
50
  />
50
51
  </ToggleWrapper>
51
52
  <LabelContainer
@@ -190,6 +191,7 @@
190
191
  toggleColor: String,
191
192
  size: String,
192
193
  disabled: Boolean,
194
+ toggleMargin: String,
193
195
  }
194
196
  const ToggleDot = styled('span', toggleProps)`
195
197
  position: absolute;
@@ -207,7 +209,13 @@
207
209
  : '14px'};
208
210
  left: 3px;
209
211
  bottom: ${(props) =>
210
- props.size === 'medium' ? '5px' : props.size === 'small' ? '2px' : '5px'};
212
+ props.toggleMargin
213
+ ? props.toggleMargin
214
+ : props.size === 'medium'
215
+ ? '5px'
216
+ : props.size === 'small'
217
+ ? '2px'
218
+ : '5px'};
211
219
  background-color: ${(props) =>
212
220
  props.disabled
213
221
  ? props.theme.colors.disabled
@@ -317,6 +325,11 @@
317
325
  default: false,
318
326
  type: Boolean,
319
327
  },
328
+ toggleMargin: {
329
+ type: String,
330
+ default: null,
331
+ required: false,
332
+ },
320
333
  },
321
334
  methods: {
322
335
  onToggleChange() {
@@ -0,0 +1,443 @@
1
+ <template>
2
+ <ModalComponent :hide-close="true" :is-open="isOpen" @on-close="closeModal">
3
+ <ModalContainer>
4
+ <TitleContainer>
5
+ <IconComponent name="cookie" size="16px" />
6
+ <TitleText>{{ titleText }}</TitleText>
7
+ </TitleContainer>
8
+ <ContentText v-html="contentText" />
9
+ <ToggleContainer>
10
+ <ToggleComponent
11
+ v-for="option in toggleOptions"
12
+ :key="option.choice"
13
+ :disabled="option.isRequired"
14
+ :is-checked="isToggleChecked(option.choice)"
15
+ :label="option.label"
16
+ :toggle-margin="toggleMargin"
17
+ @on-toggle-change="(value) => onToggleChange(option.choice, value)"
18
+ />
19
+ </ToggleContainer>
20
+ <ButtonsContainer>
21
+ <MainButton
22
+ v-for="button in buttonOptions"
23
+ :key="button.choice"
24
+ :text="button.text"
25
+ type="tertiary"
26
+ @click="handleButtonClick(button.choice)"
27
+ />
28
+ </ButtonsContainer>
29
+ </ModalContainer>
30
+ </ModalComponent>
31
+ </template>
32
+
33
+ <script>
34
+ import styled from 'vue3-styled-components'
35
+ import ModalComponent from '../modal'
36
+ import IconComponent from '../../icon'
37
+ import ToggleComponent from '../../inputs/toggle'
38
+ import MainButton from '../../buttons/mainButton'
39
+
40
+ const ModalContainer = styled.div`
41
+ padding: 24px;
42
+ min-width: 412px;
43
+ max-width: 452px;
44
+ `
45
+
46
+ const TitleContainer = styled.div`
47
+ display: flex;
48
+ align-items: center;
49
+ gap: 10px;
50
+ margin-bottom: 24px;
51
+ `
52
+
53
+ const TitleText = styled.div`
54
+ font-size: 14px;
55
+ font-weight: 500;
56
+ line-height: 140%;
57
+ color: ${(props) => props.theme.semanticColors.teal[800]};
58
+ `
59
+
60
+ const ContentText = styled.div`
61
+ font-size: 14px;
62
+ font-weight: 400;
63
+ line-height: 150%;
64
+ color: ${(props) => props.theme.semanticColors.grey[800]};
65
+ margin-bottom: 16px;
66
+
67
+ a {
68
+ color: ${(props) => props.theme.semanticColors.purple[500]};
69
+ text-decoration: none;
70
+
71
+ &:visited {
72
+ color: ${(props) => props.theme.semanticColors.purple[500]};
73
+ }
74
+ }
75
+ `
76
+
77
+ const ToggleContainer = styled.div`
78
+ margin-bottom: 24px;
79
+ display: inline-flex;
80
+ flex-direction: column;
81
+ gap: 16px;
82
+ width: 100%;
83
+ `
84
+
85
+ const ButtonsContainer = styled.div`
86
+ display: inline-flex;
87
+ gap: 8px;
88
+ flex-wrap: wrap;
89
+ `
90
+
91
+ export default {
92
+ name: 'CookieConsent',
93
+ components: {
94
+ ModalComponent,
95
+ ModalContainer,
96
+ IconComponent,
97
+ TitleContainer,
98
+ TitleText,
99
+ ContentText,
100
+ ToggleComponent,
101
+ ToggleContainer,
102
+ MainButton,
103
+ ButtonsContainer,
104
+ },
105
+ props: {
106
+ isOpen: {
107
+ type: Boolean,
108
+ default: false,
109
+ },
110
+ titleText: {
111
+ type: String,
112
+ default: 'Cookie Consent',
113
+ },
114
+ contentText: {
115
+ type: String,
116
+ default: 'We use cookies to enhance site navigation',
117
+ },
118
+ toggleMargin: {
119
+ type: String,
120
+ default: null,
121
+ required: false,
122
+ },
123
+ toggleOptions: {
124
+ type: Array,
125
+ default: () => [],
126
+ required: true,
127
+ },
128
+ buttonOptions: {
129
+ type: Array,
130
+ default: () => [],
131
+ required: true,
132
+ },
133
+ },
134
+ emits: ['on-close'],
135
+ data() {
136
+ return {
137
+ cookieState: {},
138
+ }
139
+ },
140
+ watch: {
141
+ isOpen(newValue) {
142
+ if (newValue) {
143
+ // Reload cookie state when modal is opened
144
+ this.loadCookieState()
145
+ }
146
+ },
147
+ },
148
+ created() {
149
+ this.loadCookieState()
150
+ this.checkUrlParams()
151
+ },
152
+ methods: {
153
+ getUrlParams() {
154
+ const params = new URLSearchParams(window.location.search)
155
+ const result = {}
156
+ for (const [key, value] of params) {
157
+ result[key] = value
158
+ }
159
+ return result
160
+ },
161
+ checkUrlParams() {
162
+ const urlParams = this.getUrlParams()
163
+
164
+ // If cookies_accepted=true, trigger accept_all
165
+ if (urlParams.cookies_accepted === 'true') {
166
+ this.handleButtonClick('accept_all')
167
+ return
168
+ }
169
+
170
+ // Only process cookie changes if cookieType=advanced
171
+ if (urlParams.cookieType !== 'advanced') {
172
+ return
173
+ }
174
+
175
+ // Check if cookies_popup=false and cookies_accepted=false
176
+ if (
177
+ urlParams.cookies_popup === 'false' &&
178
+ urlParams.cookies_accepted === 'false'
179
+ ) {
180
+ const cookieValue = this.getCookieValue('cookieConsent')
181
+ if (!cookieValue) {
182
+ return
183
+ }
184
+
185
+ try {
186
+ const cookieData = JSON.parse(cookieValue)
187
+ let hasChanges = false
188
+
189
+ // Set marketing and statistics to false
190
+ if (cookieData.categories) {
191
+ if (cookieData.categories.marketing !== false) {
192
+ cookieData.categories.marketing = false
193
+ hasChanges = true
194
+ }
195
+ if (cookieData.categories.statistics !== false) {
196
+ cookieData.categories.statistics = false
197
+ hasChanges = true
198
+ }
199
+ }
200
+
201
+ // If any changes were made, update the cookie and state
202
+ if (hasChanges) {
203
+ cookieData.timestamp = new Date().toISOString()
204
+ this.setCookieConsent(cookieData)
205
+ this.cookieState = { ...cookieData.categories }
206
+ }
207
+ } catch (error) {
208
+ // eslint-disable-next-line no-console
209
+ console.error('Error checking URL params:', error)
210
+ }
211
+ return
212
+ }
213
+
214
+ // Only proceed with individual param checks if cookies_accepted=true
215
+ if (urlParams.cookies_accepted !== 'true') {
216
+ return
217
+ }
218
+
219
+ const cookieValue = this.getCookieValue('cookieConsent')
220
+ if (!cookieValue) {
221
+ return
222
+ }
223
+
224
+ try {
225
+ const cookieData = JSON.parse(cookieValue)
226
+ let hasChanges = false
227
+
228
+ // Check for cookies_marketing param
229
+ if (urlParams.cookies_marketing !== undefined) {
230
+ const marketingValue = urlParams.cookies_marketing === 'true'
231
+ if (
232
+ cookieData.categories &&
233
+ cookieData.categories.marketing !== marketingValue
234
+ ) {
235
+ cookieData.categories.marketing = marketingValue
236
+ hasChanges = true
237
+ }
238
+ }
239
+
240
+ // Check for cookies_statistics param
241
+ if (urlParams.cookies_statistics !== undefined) {
242
+ const statisticsValue = urlParams.cookies_statistics === 'true'
243
+ if (
244
+ cookieData.categories &&
245
+ cookieData.categories.statistics !== statisticsValue
246
+ ) {
247
+ cookieData.categories.statistics = statisticsValue
248
+ hasChanges = true
249
+ }
250
+ }
251
+
252
+ // If any changes were made, update the cookie and state
253
+ if (hasChanges) {
254
+ cookieData.timestamp = new Date().toISOString()
255
+ this.setCookieConsent(cookieData)
256
+ this.cookieState = { ...cookieData.categories }
257
+ }
258
+ } catch (error) {
259
+ // eslint-disable-next-line no-console
260
+ console.error('Error checking URL params:', error)
261
+ }
262
+ },
263
+ loadCookieState() {
264
+ const cookieValue = this.getCookieValue('cookieConsent')
265
+ if (cookieValue) {
266
+ try {
267
+ const cookieData = JSON.parse(cookieValue)
268
+ if (cookieData.categories) {
269
+ this.cookieState = { ...cookieData.categories }
270
+ }
271
+ } catch (error) {
272
+ // eslint-disable-next-line no-console
273
+ console.error('Error loading cookie state:', error)
274
+ }
275
+ } else {
276
+ // Initialize cookieState with default values from toggleOptions
277
+ const initialState = {}
278
+ this.toggleOptions.forEach((option) => {
279
+ initialState[option.choice] = option.isRequired ? true : false
280
+ })
281
+ this.cookieState = initialState
282
+ }
283
+ },
284
+ closeModal() {
285
+ this.$emit('on-close')
286
+ },
287
+ getCookieValue(cookieName) {
288
+ const name = cookieName + '='
289
+ const decodedCookie = decodeURIComponent(document.cookie)
290
+ const cookieArray = decodedCookie.split(';')
291
+ for (let i = 0; i < cookieArray.length; i++) {
292
+ let cookie = cookieArray[i].trim()
293
+ if (cookie.indexOf(name) === 0) {
294
+ return cookie.substring(name.length, cookie.length)
295
+ }
296
+ }
297
+ return null
298
+ },
299
+ setCookieConsent(cookieData) {
300
+ const cookieString = JSON.stringify(cookieData)
301
+ const expiryDate = new Date()
302
+ expiryDate.setFullYear(expiryDate.getFullYear() + 1) // Cookie expires in 1 year
303
+ document.cookie = `cookieConsent=${encodeURIComponent(
304
+ cookieString
305
+ )}; expires=${expiryDate.toUTCString()}; path=/`
306
+ },
307
+ initializeCookie() {
308
+ const existingCookie = this.getCookieValue('cookieConsent')
309
+
310
+ // If cookie doesn't exist, create it
311
+ if (!existingCookie) {
312
+ const categories = {}
313
+ this.toggleOptions.forEach((option) => {
314
+ // Set required options to true, others to false
315
+ categories[option.choice] = option.isRequired ? true : false
316
+ })
317
+
318
+ const cookieData = {
319
+ timestamp: new Date().toISOString(),
320
+ consent_given: true,
321
+ categories,
322
+ }
323
+
324
+ this.setCookieConsent(cookieData)
325
+ // Load the state into reactive data
326
+ this.cookieState = { ...categories }
327
+ }
328
+ },
329
+ isToggleChecked(choice) {
330
+ // Check if the option is required - if so, always return true
331
+ const option = this.toggleOptions.find((opt) => opt.choice === choice)
332
+ if (option && option.isRequired) {
333
+ return true
334
+ }
335
+
336
+ // If we have the choice in our reactive state, return it
337
+ if (Object.prototype.hasOwnProperty.call(this.cookieState, choice)) {
338
+ return this.cookieState[choice]
339
+ }
340
+
341
+ // Fallback: return false for non-required options with no state
342
+ return false
343
+ },
344
+ onToggleChange(choice, value) {
345
+ // Check if this is a required option - if so, don't allow changes
346
+ const option = this.toggleOptions.find((opt) => opt.choice === choice)
347
+ if (option && option.isRequired) {
348
+ return
349
+ }
350
+
351
+ const cookieValue = this.getCookieValue('cookieConsent')
352
+
353
+ if (cookieValue) {
354
+ try {
355
+ const cookieData = JSON.parse(cookieValue)
356
+
357
+ // Set the category value
358
+ if (cookieData.categories) {
359
+ cookieData.categories[choice] = value
360
+
361
+ // Update timestamp
362
+ cookieData.timestamp = new Date().toISOString()
363
+
364
+ // Save updated cookie
365
+ this.setCookieConsent(cookieData)
366
+
367
+ // Update reactive state to trigger re-render
368
+ this.cookieState = { ...cookieData.categories }
369
+ }
370
+ } catch (error) {
371
+ // eslint-disable-next-line no-console
372
+ console.error('Error updating cookieConsent cookie:', error)
373
+ }
374
+ } else {
375
+ // If cookie doesn't exist yet, just update the reactive state
376
+ this.cookieState = { ...this.cookieState, [choice]: value }
377
+ }
378
+ },
379
+ handleButtonClick(choice) {
380
+ // reject_all, accept_all, save_selected
381
+ const cookieValue = this.getCookieValue('cookieConsent')
382
+ let cookieData = { categories: {} }
383
+
384
+ if (cookieValue) {
385
+ try {
386
+ cookieData = JSON.parse(cookieValue)
387
+ } catch (error) {
388
+ // eslint-disable-next-line no-console
389
+ console.error('Error parsing cookieConsent:', error)
390
+ }
391
+ }
392
+
393
+ // Initialize categories from toggleOptions if they don't exist
394
+ if (!cookieData.categories) {
395
+ cookieData.categories = {}
396
+ }
397
+ this.toggleOptions.forEach((option) => {
398
+ if (
399
+ !Object.prototype.hasOwnProperty.call(
400
+ cookieData.categories,
401
+ option.choice
402
+ )
403
+ ) {
404
+ cookieData.categories[option.choice] = option.isRequired
405
+ ? true
406
+ : false
407
+ }
408
+ })
409
+
410
+ if (choice === 'reject_all') {
411
+ cookieData.timestamp = new Date().toISOString()
412
+ cookieData.consent_given = true
413
+ cookieData.categories = {
414
+ ...cookieData.categories,
415
+ marketing: false,
416
+ statistics: false,
417
+ }
418
+ this.setCookieConsent(cookieData)
419
+ } else if (choice === 'accept_all') {
420
+ cookieData.timestamp = new Date().toISOString()
421
+ cookieData.consent_given = true
422
+ cookieData.categories = {
423
+ ...cookieData.categories,
424
+ marketing: true,
425
+ statistics: true,
426
+ }
427
+ this.setCookieConsent(cookieData)
428
+ } else if (choice === 'save_selected') {
429
+ cookieData.timestamp = new Date().toISOString()
430
+ cookieData.consent_given = true
431
+ cookieData.categories = this.cookieState
432
+ this.setCookieConsent(cookieData)
433
+ }
434
+
435
+ // Set allowCookies cookie to true
436
+ const expiryDate = new Date()
437
+ expiryDate.setFullYear(expiryDate.getFullYear() + 1) // Cookie expires in 1 year
438
+ document.cookie = `allowCookies=true; expires=${expiryDate.toUTCString()}; path=/`
439
+ this.$emit('on-close')
440
+ },
441
+ },
442
+ }
443
+ </script>