@eturnity/eturnity_reusable_components 8.40.8-EPDM-17241.2 → 8.40.8-EPDM-1744.0

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 (767) 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 +442 -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 -28
  19. package/dist/main.es101.js +0 -28
  20. package/dist/main.es102.js +0 -23
  21. package/dist/main.es103.js +0 -23
  22. package/dist/main.es104.js +0 -24
  23. package/dist/main.es105.js +0 -28
  24. package/dist/main.es106.js +0 -28
  25. package/dist/main.es107.js +0 -25
  26. package/dist/main.es108.js +0 -23
  27. package/dist/main.es109.js +0 -23
  28. package/dist/main.es11.js +0 -10
  29. package/dist/main.es110.js +0 -20
  30. package/dist/main.es111.js +0 -28
  31. package/dist/main.es112.js +0 -25
  32. package/dist/main.es113.js +0 -23
  33. package/dist/main.es114.js +0 -20
  34. package/dist/main.es115.js +0 -20
  35. package/dist/main.es116.js +0 -20
  36. package/dist/main.es117.js +0 -37
  37. package/dist/main.es118.js +0 -28
  38. package/dist/main.es119.js +0 -32
  39. package/dist/main.es12.js +0 -2484
  40. package/dist/main.es120.js +0 -18
  41. package/dist/main.es121.js +0 -33
  42. package/dist/main.es122.js +0 -41
  43. package/dist/main.es123.js +0 -36
  44. package/dist/main.es124.js +0 -35
  45. package/dist/main.es125.js +0 -20
  46. package/dist/main.es126.js +0 -23
  47. package/dist/main.es127.js +0 -25
  48. package/dist/main.es128.js +0 -25
  49. package/dist/main.es129.js +0 -23
  50. package/dist/main.es13.js +0 -85
  51. package/dist/main.es130.js +0 -23
  52. package/dist/main.es131.js +0 -23
  53. package/dist/main.es132.js +0 -26
  54. package/dist/main.es133.js +0 -23
  55. package/dist/main.es134.js +0 -29
  56. package/dist/main.es135.js +0 -25
  57. package/dist/main.es136.js +0 -23
  58. package/dist/main.es137.js +0 -28
  59. package/dist/main.es138.js +0 -25
  60. package/dist/main.es139.js +0 -39
  61. package/dist/main.es14.js +0 -271
  62. package/dist/main.es140.js +0 -37
  63. package/dist/main.es141.js +0 -23
  64. package/dist/main.es142.js +0 -25
  65. package/dist/main.es143.js +0 -23
  66. package/dist/main.es144.js +0 -31
  67. package/dist/main.es145.js +0 -23
  68. package/dist/main.es146.js +0 -23
  69. package/dist/main.es147.js +0 -23
  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 -261
  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 -30
  99. package/dist/main.es174.js +0 -23
  100. package/dist/main.es175.js +0 -30
  101. package/dist/main.es176.js +0 -30
  102. package/dist/main.es177.js +0 -23
  103. package/dist/main.es178.js +0 -23
  104. package/dist/main.es179.js +0 -23
  105. package/dist/main.es18.js +0 -26
  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 -1058
  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 -33
  121. package/dist/main.es194.js +0 -23
  122. package/dist/main.es195.js +0 -24
  123. package/dist/main.es196.js +0 -23
  124. package/dist/main.es197.js +0 -23
  125. package/dist/main.es198.js +0 -23
  126. package/dist/main.es199.js +0 -24
  127. package/dist/main.es2.js +0 -37
  128. package/dist/main.es20.js +0 -229
  129. package/dist/main.es200.js +0 -23
  130. package/dist/main.es201.js +0 -25
  131. package/dist/main.es202.js +0 -23
  132. package/dist/main.es203.js +0 -25
  133. package/dist/main.es204.js +0 -25
  134. package/dist/main.es205.js +0 -28
  135. package/dist/main.es206.js +0 -25
  136. package/dist/main.es207.js +0 -29
  137. package/dist/main.es208.js +0 -30
  138. package/dist/main.es209.js +0 -21
  139. package/dist/main.es21.js +0 -101
  140. package/dist/main.es210.js +0 -25
  141. package/dist/main.es211.js +0 -23
  142. package/dist/main.es212.js +0 -20
  143. package/dist/main.es213.js +0 -28
  144. package/dist/main.es214.js +0 -25
  145. package/dist/main.es215.js +0 -24
  146. package/dist/main.es216.js +0 -28
  147. package/dist/main.es217.js +0 -23
  148. package/dist/main.es218.js +0 -25
  149. package/dist/main.es219.js +0 -30
  150. package/dist/main.es22.js +0 -102
  151. package/dist/main.es220.js +0 -23
  152. package/dist/main.es221.js +0 -20
  153. package/dist/main.es222.js +0 -19
  154. package/dist/main.es223.js +0 -22
  155. package/dist/main.es224.js +0 -23
  156. package/dist/main.es225.js +0 -25
  157. package/dist/main.es226.js +0 -23
  158. package/dist/main.es227.js +0 -23
  159. package/dist/main.es228.js +0 -28
  160. package/dist/main.es229.js +0 -35
  161. package/dist/main.es23.js +0 -196
  162. package/dist/main.es230.js +0 -25
  163. package/dist/main.es231.js +0 -25
  164. package/dist/main.es232.js +0 -25
  165. package/dist/main.es233.js +0 -25
  166. package/dist/main.es234.js +0 -23
  167. package/dist/main.es235.js +0 -41
  168. package/dist/main.es236.js +0 -41
  169. package/dist/main.es237.js +0 -25
  170. package/dist/main.es238.js +0 -25
  171. package/dist/main.es239.js +0 -25
  172. package/dist/main.es24.js +0 -4
  173. package/dist/main.es240.js +0 -25
  174. package/dist/main.es241.js +0 -23
  175. package/dist/main.es242.js +0 -25
  176. package/dist/main.es243.js +0 -25
  177. package/dist/main.es244.js +0 -23
  178. package/dist/main.es245.js +0 -23
  179. package/dist/main.es246.js +0 -25
  180. package/dist/main.es247.js +0 -23
  181. package/dist/main.es248.js +0 -28
  182. package/dist/main.es249.js +0 -30
  183. package/dist/main.es25.js +0 -543
  184. package/dist/main.es250.js +0 -23
  185. package/dist/main.es251.js +0 -20
  186. package/dist/main.es252.js +0 -28
  187. package/dist/main.es253.js +0 -28
  188. package/dist/main.es254.js +0 -28
  189. package/dist/main.es255.js +0 -28
  190. package/dist/main.es256.js +0 -25
  191. package/dist/main.es257.js +0 -25
  192. package/dist/main.es258.js +0 -23
  193. package/dist/main.es259.js +0 -23
  194. package/dist/main.es26.js +0 -26
  195. package/dist/main.es260.js +0 -20
  196. package/dist/main.es261.js +0 -20
  197. package/dist/main.es262.js +0 -23
  198. package/dist/main.es263.js +0 -18
  199. package/dist/main.es264.js +0 -23
  200. package/dist/main.es265.js +0 -20
  201. package/dist/main.es266.js +0 -25
  202. package/dist/main.es267.js +0 -25
  203. package/dist/main.es268.js +0 -23
  204. package/dist/main.es269.js +0 -23
  205. package/dist/main.es27.js +0 -375
  206. package/dist/main.es270.js +0 -20
  207. package/dist/main.es271.js +0 -23
  208. package/dist/main.es272.js +0 -23
  209. package/dist/main.es273.js +0 -32
  210. package/dist/main.es274.js +0 -23
  211. package/dist/main.es275.js +0 -32
  212. package/dist/main.es276.js +0 -37
  213. package/dist/main.es277.js +0 -25
  214. package/dist/main.es278.js +0 -23
  215. package/dist/main.es279.js +0 -32
  216. package/dist/main.es28.js +0 -32
  217. package/dist/main.es280.js +0 -23
  218. package/dist/main.es281.js +0 -23
  219. package/dist/main.es282.js +0 -23
  220. package/dist/main.es283.js +0 -23
  221. package/dist/main.es284.js +0 -39
  222. package/dist/main.es285.js +0 -28
  223. package/dist/main.es286.js +0 -20
  224. package/dist/main.es287.js +0 -20
  225. package/dist/main.es288.js +0 -25
  226. package/dist/main.es289.js +0 -23
  227. package/dist/main.es29.js +0 -29
  228. package/dist/main.es290.js +0 -40
  229. package/dist/main.es291.js +0 -23
  230. package/dist/main.es292.js +0 -21
  231. package/dist/main.es293.js +0 -19
  232. package/dist/main.es294.js +0 -20
  233. package/dist/main.es295.js +0 -25
  234. package/dist/main.es296.js +0 -25
  235. package/dist/main.es297.js +0 -20
  236. package/dist/main.es298.js +0 -33
  237. package/dist/main.es299.js +0 -23
  238. package/dist/main.es3.js +0 -70
  239. package/dist/main.es30.js +0 -34
  240. package/dist/main.es300.js +0 -21
  241. package/dist/main.es301.js +0 -23
  242. package/dist/main.es302.js +0 -28
  243. package/dist/main.es303.js +0 -23
  244. package/dist/main.es304.js +0 -23
  245. package/dist/main.es305.js +0 -21
  246. package/dist/main.es306.js +0 -28
  247. package/dist/main.es307.js +0 -23
  248. package/dist/main.es308.js +0 -25
  249. package/dist/main.es309.js +0 -28
  250. package/dist/main.es31.js +0 -36
  251. package/dist/main.es310.js +0 -23
  252. package/dist/main.es311.js +0 -25
  253. package/dist/main.es312.js +0 -25
  254. package/dist/main.es313.js +0 -25
  255. package/dist/main.es314.js +0 -25
  256. package/dist/main.es315.js +0 -20
  257. package/dist/main.es316.js +0 -25
  258. package/dist/main.es317.js +0 -25
  259. package/dist/main.es318.js +0 -29
  260. package/dist/main.es319.js +0 -35
  261. package/dist/main.es32.js +0 -41
  262. package/dist/main.es320.js +0 -28
  263. package/dist/main.es321.js +0 -28
  264. package/dist/main.es322.js +0 -26
  265. package/dist/main.es323.js +0 -25
  266. package/dist/main.es324.js +0 -29
  267. package/dist/main.es325.js +0 -24
  268. package/dist/main.es326.js +0 -23
  269. package/dist/main.es327.js +0 -28
  270. package/dist/main.es328.js +0 -25
  271. package/dist/main.es329.js +0 -24
  272. package/dist/main.es33.js +0 -19
  273. package/dist/main.es330.js +0 -23
  274. package/dist/main.es331.js +0 -20
  275. package/dist/main.es332.js +0 -20
  276. package/dist/main.es333.js +0 -23
  277. package/dist/main.es334.js +0 -23
  278. package/dist/main.es335.js +0 -25
  279. package/dist/main.es336.js +0 -38
  280. package/dist/main.es337.js +0 -30
  281. package/dist/main.es338.js +0 -28
  282. package/dist/main.es339.js +0 -26
  283. package/dist/main.es34.js +0 -35
  284. package/dist/main.es340.js +0 -23
  285. package/dist/main.es341.js +0 -22
  286. package/dist/main.es342.js +0 -23
  287. package/dist/main.es343.js +0 -28
  288. package/dist/main.es344.js +0 -23
  289. package/dist/main.es345.js +0 -23
  290. package/dist/main.es346.js +0 -37
  291. package/dist/main.es347.js +0 -18
  292. package/dist/main.es348.js +0 -23
  293. package/dist/main.es349.js +0 -23
  294. package/dist/main.es35.js +0 -20
  295. package/dist/main.es350.js +0 -25
  296. package/dist/main.es351.js +0 -23
  297. package/dist/main.es352.js +0 -23
  298. package/dist/main.es353.js +0 -23
  299. package/dist/main.es354.js +0 -24
  300. package/dist/main.es355.js +0 -25
  301. package/dist/main.es356.js +0 -23
  302. package/dist/main.es357.js +0 -23
  303. package/dist/main.es358.js +0 -23
  304. package/dist/main.es359.js +0 -23
  305. package/dist/main.es36.js +0 -20
  306. package/dist/main.es360.js +0 -25
  307. package/dist/main.es361.js +0 -23
  308. package/dist/main.es362.js +0 -30
  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 -23
  313. package/dist/main.es367.js +0 -28
  314. package/dist/main.es368.js +0 -23
  315. package/dist/main.es369.js +0 -23
  316. package/dist/main.es37.js +0 -25
  317. package/dist/main.es370.js +0 -23
  318. package/dist/main.es371.js +0 -28
  319. package/dist/main.es372.js +0 -33
  320. package/dist/main.es373.js +0 -28
  321. package/dist/main.es374.js +0 -28
  322. package/dist/main.es375.js +0 -25
  323. package/dist/main.es376.js +0 -23
  324. package/dist/main.es377.js +0 -25
  325. package/dist/main.es378.js +0 -25
  326. package/dist/main.es379.js +0 -30
  327. package/dist/main.es38.js +0 -28
  328. package/dist/main.es380.js +0 -25
  329. package/dist/main.es381.js +0 -37
  330. package/dist/main.es382.js +0 -23
  331. package/dist/main.es383.js +0 -23
  332. package/dist/main.es384.js +0 -23
  333. package/dist/main.es385.js +0 -23
  334. package/dist/main.es386.js +0 -57
  335. package/dist/main.es387.js +0 -12
  336. package/dist/main.es388.js +0 -6
  337. package/dist/main.es389.js +0 -103
  338. package/dist/main.es39.js +0 -28
  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 -23
  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 -44
  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 -38
  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 -23
  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 -24
  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 -35
  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 -30
  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 -34
  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 -20
  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 -20
  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 -23
  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 -28
  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 -28
  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 -23
  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 -28
  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 -25
  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 -24
  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 -25
  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 -23
  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 -25
  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 -23
  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 -20
  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 -23
  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 -21
  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 -20
  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 -28
  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 -28
  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 -4
  735. package/dist/main.es747.js +0 -64
  736. package/dist/main.es748.js +0 -25
  737. package/dist/main.es75.js +0 -23
  738. package/dist/main.es76.js +0 -23
  739. package/dist/main.es77.js +0 -23
  740. package/dist/main.es78.js +0 -23
  741. package/dist/main.es79.js +0 -31
  742. package/dist/main.es80.js +0 -33
  743. package/dist/main.es81.js +0 -23
  744. package/dist/main.es82.js +0 -23
  745. package/dist/main.es83.js +0 -28
  746. package/dist/main.es84.js +0 -30
  747. package/dist/main.es85.js +0 -33
  748. package/dist/main.es86.js +0 -29
  749. package/dist/main.es87.js +0 -30
  750. package/dist/main.es88.js +0 -29
  751. package/dist/main.es89.js +0 -23
  752. package/dist/main.es9.js +0 -78
  753. package/dist/main.es90.js +0 -22
  754. package/dist/main.es91.js +0 -25
  755. package/dist/main.es92.js +0 -28
  756. package/dist/main.es93.js +0 -35
  757. package/dist/main.es94.js +0 -23
  758. package/dist/main.es95.js +0 -25
  759. package/dist/main.es96.js +0 -23
  760. package/dist/main.es97.js +0 -26
  761. package/dist/main.es98.js +0 -33
  762. package/dist/main.es99.js +0 -20
  763. package/dist/style.css +0 -1
  764. package/src/assets/svgIcons/gse.svg +0 -5
  765. package/src/assets/svgIcons/mounting_system.svg +0 -3
  766. /package/dist/{main.es8.js → index.es3.js} +0 -0
  767. /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-17241.2",
3
+ "version": "8.40.8-EPDM-1744.0",
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,442 @@
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
+ max-width: 550px;
43
+ `
44
+
45
+ const TitleContainer = styled.div`
46
+ display: flex;
47
+ align-items: center;
48
+ gap: 10px;
49
+ margin-bottom: 24px;
50
+ `
51
+
52
+ const TitleText = styled.div`
53
+ font-size: 14px;
54
+ font-weight: 500;
55
+ line-height: 140%;
56
+ color: ${(props) => props.theme.semanticColors.teal[800]};
57
+ `
58
+
59
+ const ContentText = styled.div`
60
+ font-size: 14px;
61
+ font-weight: 400;
62
+ line-height: 150%;
63
+ color: ${(props) => props.theme.semanticColors.grey[800]};
64
+ margin-bottom: 16px;
65
+
66
+ a {
67
+ color: ${(props) => props.theme.semanticColors.purple[500]};
68
+ text-decoration: none;
69
+
70
+ &:visited {
71
+ color: ${(props) => props.theme.semanticColors.purple[500]};
72
+ }
73
+ }
74
+ `
75
+
76
+ const ToggleContainer = styled.div`
77
+ margin-bottom: 24px;
78
+ display: inline-flex;
79
+ flex-direction: column;
80
+ gap: 16px;
81
+ width: 100%;
82
+ `
83
+
84
+ const ButtonsContainer = styled.div`
85
+ display: inline-flex;
86
+ gap: 8px;
87
+ flex-wrap: wrap;
88
+ `
89
+
90
+ export default {
91
+ name: 'CookieConsent',
92
+ components: {
93
+ ModalComponent,
94
+ ModalContainer,
95
+ IconComponent,
96
+ TitleContainer,
97
+ TitleText,
98
+ ContentText,
99
+ ToggleComponent,
100
+ ToggleContainer,
101
+ MainButton,
102
+ ButtonsContainer,
103
+ },
104
+ props: {
105
+ isOpen: {
106
+ type: Boolean,
107
+ default: false,
108
+ },
109
+ titleText: {
110
+ type: String,
111
+ default: 'Cookie Consent',
112
+ },
113
+ contentText: {
114
+ type: String,
115
+ default: 'We use cookies to enhance site navigation',
116
+ },
117
+ toggleMargin: {
118
+ type: String,
119
+ default: null,
120
+ required: false,
121
+ },
122
+ toggleOptions: {
123
+ type: Array,
124
+ default: () => [],
125
+ required: true,
126
+ },
127
+ buttonOptions: {
128
+ type: Array,
129
+ default: () => [],
130
+ required: true,
131
+ },
132
+ },
133
+ emits: ['on-close'],
134
+ data() {
135
+ return {
136
+ cookieState: {},
137
+ }
138
+ },
139
+ watch: {
140
+ isOpen(newValue) {
141
+ if (newValue) {
142
+ // Reload cookie state when modal is opened
143
+ this.loadCookieState()
144
+ }
145
+ },
146
+ },
147
+ created() {
148
+ this.loadCookieState()
149
+ this.checkUrlParams()
150
+ },
151
+ methods: {
152
+ getUrlParams() {
153
+ const params = new URLSearchParams(window.location.search)
154
+ const result = {}
155
+ for (const [key, value] of params) {
156
+ result[key] = value
157
+ }
158
+ return result
159
+ },
160
+ checkUrlParams() {
161
+ const urlParams = this.getUrlParams()
162
+
163
+ // If cookies_accepted=true, trigger accept_all
164
+ if (urlParams.cookies_accepted === 'true') {
165
+ this.handleButtonClick('accept_all')
166
+ return
167
+ }
168
+
169
+ // Only process cookie changes if cookieType=advanced
170
+ if (urlParams.cookieType !== 'advanced') {
171
+ return
172
+ }
173
+
174
+ // Check if cookies_popup=false and cookies_accepted=false
175
+ if (
176
+ urlParams.cookies_popup === 'false' &&
177
+ urlParams.cookies_accepted === 'false'
178
+ ) {
179
+ const cookieValue = this.getCookieValue('cookieConsent')
180
+ if (!cookieValue) {
181
+ return
182
+ }
183
+
184
+ try {
185
+ const cookieData = JSON.parse(cookieValue)
186
+ let hasChanges = false
187
+
188
+ // Set marketing and statistics to false
189
+ if (cookieData.categories) {
190
+ if (cookieData.categories.marketing !== false) {
191
+ cookieData.categories.marketing = false
192
+ hasChanges = true
193
+ }
194
+ if (cookieData.categories.statistics !== false) {
195
+ cookieData.categories.statistics = false
196
+ hasChanges = true
197
+ }
198
+ }
199
+
200
+ // If any changes were made, update the cookie and state
201
+ if (hasChanges) {
202
+ cookieData.timestamp = new Date().toISOString()
203
+ this.setCookieConsent(cookieData)
204
+ this.cookieState = { ...cookieData.categories }
205
+ }
206
+ } catch (error) {
207
+ // eslint-disable-next-line no-console
208
+ console.error('Error checking URL params:', error)
209
+ }
210
+ return
211
+ }
212
+
213
+ // Only proceed with individual param checks if cookies_accepted=true
214
+ if (urlParams.cookies_accepted !== 'true') {
215
+ return
216
+ }
217
+
218
+ const cookieValue = this.getCookieValue('cookieConsent')
219
+ if (!cookieValue) {
220
+ return
221
+ }
222
+
223
+ try {
224
+ const cookieData = JSON.parse(cookieValue)
225
+ let hasChanges = false
226
+
227
+ // Check for cookies_marketing param
228
+ if (urlParams.cookies_marketing !== undefined) {
229
+ const marketingValue = urlParams.cookies_marketing === 'true'
230
+ if (
231
+ cookieData.categories &&
232
+ cookieData.categories.marketing !== marketingValue
233
+ ) {
234
+ cookieData.categories.marketing = marketingValue
235
+ hasChanges = true
236
+ }
237
+ }
238
+
239
+ // Check for cookies_statistics param
240
+ if (urlParams.cookies_statistics !== undefined) {
241
+ const statisticsValue = urlParams.cookies_statistics === 'true'
242
+ if (
243
+ cookieData.categories &&
244
+ cookieData.categories.statistics !== statisticsValue
245
+ ) {
246
+ cookieData.categories.statistics = statisticsValue
247
+ hasChanges = true
248
+ }
249
+ }
250
+
251
+ // If any changes were made, update the cookie and state
252
+ if (hasChanges) {
253
+ cookieData.timestamp = new Date().toISOString()
254
+ this.setCookieConsent(cookieData)
255
+ this.cookieState = { ...cookieData.categories }
256
+ }
257
+ } catch (error) {
258
+ // eslint-disable-next-line no-console
259
+ console.error('Error checking URL params:', error)
260
+ }
261
+ },
262
+ loadCookieState() {
263
+ const cookieValue = this.getCookieValue('cookieConsent')
264
+ if (cookieValue) {
265
+ try {
266
+ const cookieData = JSON.parse(cookieValue)
267
+ if (cookieData.categories) {
268
+ this.cookieState = { ...cookieData.categories }
269
+ }
270
+ } catch (error) {
271
+ // eslint-disable-next-line no-console
272
+ console.error('Error loading cookie state:', error)
273
+ }
274
+ } else {
275
+ // Initialize cookieState with default values from toggleOptions
276
+ const initialState = {}
277
+ this.toggleOptions.forEach((option) => {
278
+ initialState[option.choice] = option.isRequired ? true : false
279
+ })
280
+ this.cookieState = initialState
281
+ }
282
+ },
283
+ closeModal() {
284
+ this.$emit('on-close')
285
+ },
286
+ getCookieValue(cookieName) {
287
+ const name = cookieName + '='
288
+ const decodedCookie = decodeURIComponent(document.cookie)
289
+ const cookieArray = decodedCookie.split(';')
290
+ for (let i = 0; i < cookieArray.length; i++) {
291
+ let cookie = cookieArray[i].trim()
292
+ if (cookie.indexOf(name) === 0) {
293
+ return cookie.substring(name.length, cookie.length)
294
+ }
295
+ }
296
+ return null
297
+ },
298
+ setCookieConsent(cookieData) {
299
+ const cookieString = JSON.stringify(cookieData)
300
+ const expiryDate = new Date()
301
+ expiryDate.setFullYear(expiryDate.getFullYear() + 1) // Cookie expires in 1 year
302
+ document.cookie = `cookieConsent=${encodeURIComponent(
303
+ cookieString
304
+ )}; expires=${expiryDate.toUTCString()}; path=/`
305
+ },
306
+ initializeCookie() {
307
+ const existingCookie = this.getCookieValue('cookieConsent')
308
+
309
+ // If cookie doesn't exist, create it
310
+ if (!existingCookie) {
311
+ const categories = {}
312
+ this.toggleOptions.forEach((option) => {
313
+ // Set required options to true, others to false
314
+ categories[option.choice] = option.isRequired ? true : false
315
+ })
316
+
317
+ const cookieData = {
318
+ timestamp: new Date().toISOString(),
319
+ consent_given: true,
320
+ categories,
321
+ }
322
+
323
+ this.setCookieConsent(cookieData)
324
+ // Load the state into reactive data
325
+ this.cookieState = { ...categories }
326
+ }
327
+ },
328
+ isToggleChecked(choice) {
329
+ // Check if the option is required - if so, always return true
330
+ const option = this.toggleOptions.find((opt) => opt.choice === choice)
331
+ if (option && option.isRequired) {
332
+ return true
333
+ }
334
+
335
+ // If we have the choice in our reactive state, return it
336
+ if (Object.prototype.hasOwnProperty.call(this.cookieState, choice)) {
337
+ return this.cookieState[choice]
338
+ }
339
+
340
+ // Fallback: return false for non-required options with no state
341
+ return false
342
+ },
343
+ onToggleChange(choice, value) {
344
+ // Check if this is a required option - if so, don't allow changes
345
+ const option = this.toggleOptions.find((opt) => opt.choice === choice)
346
+ if (option && option.isRequired) {
347
+ return
348
+ }
349
+
350
+ const cookieValue = this.getCookieValue('cookieConsent')
351
+
352
+ if (cookieValue) {
353
+ try {
354
+ const cookieData = JSON.parse(cookieValue)
355
+
356
+ // Set the category value
357
+ if (cookieData.categories) {
358
+ cookieData.categories[choice] = value
359
+
360
+ // Update timestamp
361
+ cookieData.timestamp = new Date().toISOString()
362
+
363
+ // Save updated cookie
364
+ this.setCookieConsent(cookieData)
365
+
366
+ // Update reactive state to trigger re-render
367
+ this.cookieState = { ...cookieData.categories }
368
+ }
369
+ } catch (error) {
370
+ // eslint-disable-next-line no-console
371
+ console.error('Error updating cookieConsent cookie:', error)
372
+ }
373
+ } else {
374
+ // If cookie doesn't exist yet, just update the reactive state
375
+ this.cookieState = { ...this.cookieState, [choice]: value }
376
+ }
377
+ },
378
+ handleButtonClick(choice) {
379
+ // reject_all, accept_all, save_selected
380
+ const cookieValue = this.getCookieValue('cookieConsent')
381
+ let cookieData = { categories: {} }
382
+
383
+ if (cookieValue) {
384
+ try {
385
+ cookieData = JSON.parse(cookieValue)
386
+ } catch (error) {
387
+ // eslint-disable-next-line no-console
388
+ console.error('Error parsing cookieConsent:', error)
389
+ }
390
+ }
391
+
392
+ // Initialize categories from toggleOptions if they don't exist
393
+ if (!cookieData.categories) {
394
+ cookieData.categories = {}
395
+ }
396
+ this.toggleOptions.forEach((option) => {
397
+ if (
398
+ !Object.prototype.hasOwnProperty.call(
399
+ cookieData.categories,
400
+ option.choice
401
+ )
402
+ ) {
403
+ cookieData.categories[option.choice] = option.isRequired
404
+ ? true
405
+ : false
406
+ }
407
+ })
408
+
409
+ if (choice === 'reject_all') {
410
+ cookieData.timestamp = new Date().toISOString()
411
+ cookieData.consent_given = true
412
+ cookieData.categories = {
413
+ ...cookieData.categories,
414
+ marketing: false,
415
+ statistics: false,
416
+ }
417
+ this.setCookieConsent(cookieData)
418
+ } else if (choice === 'accept_all') {
419
+ cookieData.timestamp = new Date().toISOString()
420
+ cookieData.consent_given = true
421
+ cookieData.categories = {
422
+ ...cookieData.categories,
423
+ marketing: true,
424
+ statistics: true,
425
+ }
426
+ this.setCookieConsent(cookieData)
427
+ } else if (choice === 'save_selected') {
428
+ cookieData.timestamp = new Date().toISOString()
429
+ cookieData.consent_given = true
430
+ cookieData.categories = this.cookieState
431
+ this.setCookieConsent(cookieData)
432
+ }
433
+
434
+ // Set allowCookies cookie to true
435
+ const expiryDate = new Date()
436
+ expiryDate.setFullYear(expiryDate.getFullYear() + 1) // Cookie expires in 1 year
437
+ document.cookie = `allowCookies=true; expires=${expiryDate.toUTCString()}; path=/`
438
+ this.$emit('on-close')
439
+ },
440
+ },
441
+ }
442
+ </script>