@eturnity/eturnity_reusable_components 8.34.0-EPDM-16204.0 → 8.37.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 (390) hide show
  1. package/dist/main.es100.js +11 -16
  2. package/dist/main.es101.js +11 -8
  3. package/dist/main.es102.js +9 -14
  4. package/dist/main.es103.js +11 -15
  5. package/dist/main.es104.js +14 -9
  6. package/dist/main.es105.js +14 -9
  7. package/dist/main.es106.js +8 -7
  8. package/dist/main.es107.js +9 -14
  9. package/dist/main.es108.js +8 -13
  10. package/dist/main.es109.js +6 -11
  11. package/dist/main.es110.js +13 -8
  12. package/dist/main.es111.js +7 -5
  13. package/dist/main.es112.js +9 -6
  14. package/dist/main.es113.js +9 -17
  15. package/dist/main.es114.js +8 -13
  16. package/dist/main.es115.js +8 -11
  17. package/dist/main.es116.js +24 -7
  18. package/dist/main.es117.js +17 -9
  19. package/dist/main.es118.js +21 -9
  20. package/dist/main.es119.js +7 -26
  21. package/dist/main.es120.js +13 -8
  22. package/dist/main.es121.js +22 -13
  23. package/dist/main.es122.js +25 -7
  24. package/dist/main.es123.js +9 -7
  25. package/dist/main.es124.js +9 -30
  26. package/dist/main.es125.js +9 -22
  27. package/dist/main.es126.js +9 -19
  28. package/dist/main.es127.js +13 -8
  29. package/dist/main.es128.js +6 -6
  30. package/dist/main.es129.js +6 -8
  31. package/dist/main.es130.js +3 -5
  32. package/dist/main.es131.js +9 -6
  33. package/dist/main.es132.js +5 -5
  34. package/dist/main.es133.js +15 -9
  35. package/dist/main.es134.js +7 -8
  36. package/dist/main.es135.js +5 -5
  37. package/dist/main.es136.js +8 -9
  38. package/dist/main.es137.js +5 -5
  39. package/dist/main.es138.js +26 -10
  40. package/dist/main.es139.js +18 -9
  41. package/dist/main.es140.js +5 -7
  42. package/dist/main.es141.js +12 -26
  43. package/dist/main.es142.js +9 -23
  44. package/dist/main.es143.js +16 -8
  45. package/dist/main.es144.js +5 -7
  46. package/dist/main.es145.js +5 -5
  47. package/dist/main.es146.js +8 -16
  48. package/dist/main.es147.js +5 -5
  49. package/dist/main.es148.js +5 -5
  50. package/dist/main.es149.js +5 -5
  51. package/dist/main.es15.js +248 -62
  52. package/dist/main.es150.js +4 -4
  53. package/dist/main.es151.js +4 -4
  54. package/dist/main.es152.js +4 -4
  55. package/dist/main.es153.js +4 -4
  56. package/dist/main.es154.js +3 -3
  57. package/dist/main.es155.js +5 -5
  58. package/dist/main.es156.js +4 -4
  59. package/dist/main.es157.js +3 -3
  60. package/dist/main.es158.js +5 -5
  61. package/dist/main.es159.js +3 -3
  62. package/dist/main.es160.js +3 -3
  63. package/dist/main.es161.js +4 -4
  64. package/dist/main.es162.js +4 -4
  65. package/dist/main.es163.js +4 -4
  66. package/dist/main.es164.js +5 -5
  67. package/dist/main.es165.js +5 -5
  68. package/dist/main.es166.js +4 -4
  69. package/dist/main.es167.js +5 -5
  70. package/dist/main.es168.js +5 -5
  71. package/dist/main.es169.js +5 -5
  72. package/dist/main.es17.js +3 -3
  73. package/dist/main.es170.js +3 -3
  74. package/dist/main.es171.js +5 -5
  75. package/dist/main.es172.js +14 -7
  76. package/dist/main.es173.js +3 -3
  77. package/dist/main.es174.js +13 -6
  78. package/dist/main.es175.js +6 -6
  79. package/dist/main.es176.js +5 -5
  80. package/dist/main.es177.js +8 -15
  81. package/dist/main.es178.js +8 -15
  82. package/dist/main.es179.js +5 -5
  83. package/dist/main.es18.js +1 -1
  84. package/dist/main.es180.js +5 -5
  85. package/dist/main.es181.js +3 -3
  86. package/dist/main.es182.js +3 -3
  87. package/dist/main.es183.js +5 -5
  88. package/dist/main.es184.js +5 -5
  89. package/dist/main.es185.js +5 -5
  90. package/dist/main.es186.js +5 -5
  91. package/dist/main.es187.js +4 -4
  92. package/dist/main.es188.js +5 -5
  93. package/dist/main.es189.js +5 -5
  94. package/dist/main.es190.js +3 -3
  95. package/dist/main.es191.js +5 -5
  96. package/dist/main.es192.js +18 -8
  97. package/dist/main.es193.js +5 -5
  98. package/dist/main.es194.js +7 -6
  99. package/dist/main.es195.js +8 -18
  100. package/dist/main.es196.js +6 -6
  101. package/dist/main.es197.js +7 -8
  102. package/dist/main.es198.js +7 -6
  103. package/dist/main.es199.js +6 -6
  104. package/dist/main.es20.js +2 -2
  105. package/dist/main.es200.js +8 -6
  106. package/dist/main.es201.js +5 -6
  107. package/dist/main.es202.js +7 -5
  108. package/dist/main.es203.js +8 -6
  109. package/dist/main.es204.js +14 -9
  110. package/dist/main.es205.js +6 -6
  111. package/dist/main.es206.js +16 -12
  112. package/dist/main.es207.js +11 -9
  113. package/dist/main.es208.js +5 -9
  114. package/dist/main.es209.js +12 -16
  115. package/dist/main.es21.js +1 -1
  116. package/dist/main.es210.js +10 -17
  117. package/dist/main.es211.js +9 -10
  118. package/dist/main.es212.js +14 -11
  119. package/dist/main.es213.js +6 -4
  120. package/dist/main.es214.js +13 -9
  121. package/dist/main.es215.js +8 -8
  122. package/dist/main.es216.js +6 -8
  123. package/dist/main.es217.js +9 -8
  124. package/dist/main.es218.js +8 -6
  125. package/dist/main.es219.js +4 -4
  126. package/dist/main.es22.js +1 -1
  127. package/dist/main.es220.js +7 -12
  128. package/dist/main.es221.js +7 -18
  129. package/dist/main.es222.js +7 -8
  130. package/dist/main.es223.js +10 -7
  131. package/dist/main.es224.js +11 -5
  132. package/dist/main.es225.js +10 -9
  133. package/dist/main.es226.js +14 -9
  134. package/dist/main.es227.js +21 -11
  135. package/dist/main.es228.js +10 -8
  136. package/dist/main.es229.js +11 -14
  137. package/dist/main.es230.js +9 -19
  138. package/dist/main.es231.js +6 -6
  139. package/dist/main.es232.js +5 -7
  140. package/dist/main.es233.js +26 -10
  141. package/dist/main.es234.js +27 -11
  142. package/dist/main.es235.js +8 -6
  143. package/dist/main.es236.js +12 -28
  144. package/dist/main.es237.js +10 -26
  145. package/dist/main.es238.js +6 -6
  146. package/dist/main.es239.js +6 -8
  147. package/dist/main.es24.js +1 -1
  148. package/dist/main.es240.js +6 -6
  149. package/dist/main.es241.js +5 -5
  150. package/dist/main.es242.js +5 -5
  151. package/dist/main.es243.js +5 -7
  152. package/dist/main.es244.js +4 -4
  153. package/dist/main.es245.js +6 -6
  154. package/dist/main.es246.js +13 -8
  155. package/dist/main.es247.js +13 -8
  156. package/dist/main.es248.js +6 -6
  157. package/dist/main.es249.js +7 -15
  158. package/dist/main.es250.js +8 -10
  159. package/dist/main.es251.js +13 -8
  160. package/dist/main.es252.js +15 -7
  161. package/dist/main.es253.js +8 -8
  162. package/dist/main.es254.js +11 -14
  163. package/dist/main.es255.js +11 -14
  164. package/dist/main.es256.js +9 -14
  165. package/dist/main.es257.js +6 -8
  166. package/dist/main.es258.js +8 -13
  167. package/dist/main.es259.js +8 -11
  168. package/dist/main.es26.js +62 -248
  169. package/dist/main.es260.js +5 -5
  170. package/dist/main.es261.js +7 -9
  171. package/dist/main.es262.js +11 -8
  172. package/dist/main.es263.js +8 -11
  173. package/dist/main.es264.js +11 -4
  174. package/dist/main.es265.js +7 -5
  175. package/dist/main.es266.js +11 -8
  176. package/dist/main.es267.js +5 -7
  177. package/dist/main.es268.js +8 -13
  178. package/dist/main.es269.js +5 -5
  179. package/dist/main.es270.js +6 -6
  180. package/dist/main.es271.js +19 -7
  181. package/dist/main.es272.js +5 -5
  182. package/dist/main.es273.js +15 -6
  183. package/dist/main.es274.js +16 -11
  184. package/dist/main.es275.js +7 -5
  185. package/dist/main.es276.js +10 -10
  186. package/dist/main.es277.js +9 -23
  187. package/dist/main.es278.js +5 -7
  188. package/dist/main.es279.js +10 -19
  189. package/dist/main.es28.js +26 -9
  190. package/dist/main.es280.js +4 -4
  191. package/dist/main.es281.js +25 -9
  192. package/dist/main.es282.js +12 -7
  193. package/dist/main.es283.js +8 -11
  194. package/dist/main.es284.js +9 -28
  195. package/dist/main.es285.js +10 -13
  196. package/dist/main.es286.js +11 -8
  197. package/dist/main.es287.js +27 -7
  198. package/dist/main.es288.js +5 -7
  199. package/dist/main.es289.js +10 -12
  200. package/dist/main.es29.js +32 -4
  201. package/dist/main.es290.js +8 -29
  202. package/dist/main.es291.js +8 -11
  203. package/dist/main.es292.js +14 -10
  204. package/dist/main.es293.js +11 -5
  205. package/dist/main.es294.js +7 -7
  206. package/dist/main.es295.js +19 -11
  207. package/dist/main.es296.js +5 -7
  208. package/dist/main.es297.js +10 -9
  209. package/dist/main.es298.js +8 -18
  210. package/dist/main.es299.js +12 -7
  211. package/dist/main.es30.js +33 -100
  212. package/dist/main.es300.js +9 -7
  213. package/dist/main.es301.js +5 -5
  214. package/dist/main.es302.js +10 -17
  215. package/dist/main.es303.js +14 -9
  216. package/dist/main.es304.js +5 -5
  217. package/dist/main.es305.js +11 -7
  218. package/dist/main.es306.js +7 -7
  219. package/dist/main.es307.js +5 -5
  220. package/dist/main.es308.js +4 -4
  221. package/dist/main.es309.js +11 -14
  222. package/dist/main.es31.js +23 -11
  223. package/dist/main.es310.js +7 -5
  224. package/dist/main.es311.js +4 -4
  225. package/dist/main.es312.js +8 -13
  226. package/dist/main.es313.js +5 -5
  227. package/dist/main.es314.js +6 -6
  228. package/dist/main.es315.js +16 -7
  229. package/dist/main.es316.js +21 -11
  230. package/dist/main.es317.js +10 -7
  231. package/dist/main.es318.js +8 -9
  232. package/dist/main.es319.js +12 -21
  233. package/dist/main.es32.js +8 -23
  234. package/dist/main.es320.js +9 -12
  235. package/dist/main.es321.js +9 -8
  236. package/dist/main.es322.js +7 -9
  237. package/dist/main.es323.js +4 -6
  238. package/dist/main.es324.js +8 -9
  239. package/dist/main.es325.js +6 -5
  240. package/dist/main.es326.js +7 -6
  241. package/dist/main.es327.js +9 -14
  242. package/dist/main.es328.js +8 -13
  243. package/dist/main.es329.js +8 -12
  244. package/dist/main.es33.js +13 -14
  245. package/dist/main.es330.js +5 -5
  246. package/dist/main.es331.js +10 -7
  247. package/dist/main.es332.js +13 -8
  248. package/dist/main.es333.js +21 -6
  249. package/dist/main.es334.js +14 -7
  250. package/dist/main.es335.js +14 -11
  251. package/dist/main.es336.js +13 -25
  252. package/dist/main.es337.js +7 -14
  253. package/dist/main.es338.js +9 -15
  254. package/dist/main.es339.js +7 -10
  255. package/dist/main.es34.js +7 -28
  256. package/dist/main.es340.js +14 -9
  257. package/dist/main.es341.js +7 -6
  258. package/dist/main.es342.js +6 -6
  259. package/dist/main.es343.js +22 -13
  260. package/dist/main.es344.js +4 -9
  261. package/dist/main.es345.js +6 -6
  262. package/dist/main.es346.js +12 -26
  263. package/dist/main.es347.js +11 -4
  264. package/dist/main.es348.js +6 -6
  265. package/dist/main.es349.js +4 -4
  266. package/dist/main.es35.js +8 -7
  267. package/dist/main.es350.js +6 -8
  268. package/dist/main.es351.js +8 -7
  269. package/dist/main.es352.js +7 -5
  270. package/dist/main.es353.js +6 -6
  271. package/dist/main.es354.js +7 -8
  272. package/dist/main.es355.js +6 -8
  273. package/dist/main.es356.js +6 -6
  274. package/dist/main.es357.js +8 -6
  275. package/dist/main.es358.js +6 -6
  276. package/dist/main.es359.js +17 -10
  277. package/dist/main.es36.js +12 -22
  278. package/dist/main.es360.js +6 -8
  279. package/dist/main.es361.js +16 -9
  280. package/dist/main.es362.js +9 -16
  281. package/dist/main.es363.js +7 -7
  282. package/dist/main.es364.js +7 -9
  283. package/dist/main.es365.js +4 -4
  284. package/dist/main.es366.js +6 -6
  285. package/dist/main.es367.js +8 -13
  286. package/dist/main.es368.js +14 -9
  287. package/dist/main.es369.js +19 -9
  288. package/dist/main.es37.js +17 -9
  289. package/dist/main.es370.js +14 -9
  290. package/dist/main.es371.js +8 -8
  291. package/dist/main.es372.js +11 -19
  292. package/dist/main.es373.js +8 -13
  293. package/dist/main.es374.js +11 -14
  294. package/dist/main.es375.js +3 -3
  295. package/dist/main.es376.js +16 -9
  296. package/dist/main.es377.js +5 -5
  297. package/dist/main.es378.js +23 -11
  298. package/dist/main.es379.js +8 -15
  299. package/dist/main.es38.js +17 -9
  300. package/dist/main.es380.js +6 -8
  301. package/dist/main.es381.js +9 -23
  302. package/dist/main.es382.js +4 -4
  303. package/dist/main.es383.js +52 -18
  304. package/dist/main.es384.js +9 -20
  305. package/dist/main.es385.js +4 -21
  306. package/dist/main.es386.js +97 -51
  307. package/dist/main.es39.js +6 -8
  308. package/dist/main.es40.js +26 -10
  309. package/dist/main.es41.js +20 -10
  310. package/dist/main.es42.js +7 -7
  311. package/dist/main.es43.js +10 -31
  312. package/dist/main.es44.js +10 -24
  313. package/dist/main.es45.js +22 -10
  314. package/dist/main.es46.js +16 -9
  315. package/dist/main.es47.js +20 -10
  316. package/dist/main.es48.js +9 -24
  317. package/dist/main.es49.js +9 -19
  318. package/dist/main.es5.js +1 -1
  319. package/dist/main.es50.js +9 -20
  320. package/dist/main.es51.js +17 -9
  321. package/dist/main.es52.js +17 -9
  322. package/dist/main.es53.js +6 -6
  323. package/dist/main.es54.js +9 -14
  324. package/dist/main.es55.js +4 -4
  325. package/dist/main.es559.js +1 -1
  326. package/dist/main.es56.js +6 -6
  327. package/dist/main.es57.js +14 -9
  328. package/dist/main.es58.js +11 -14
  329. package/dist/main.es59.js +7 -6
  330. package/dist/main.es60.js +10 -13
  331. package/dist/main.es61.js +4 -6
  332. package/dist/main.es62.js +6 -5
  333. package/dist/main.es63.js +4 -6
  334. package/dist/main.es64.js +6 -6
  335. package/dist/main.es65.js +5 -5
  336. package/dist/main.es66.js +8 -11
  337. package/dist/main.es67.js +6 -6
  338. package/dist/main.es68.js +5 -7
  339. package/dist/main.es69.js +10 -9
  340. package/dist/main.es70.js +8 -11
  341. package/dist/main.es708.js +1 -1
  342. package/dist/main.es71.js +6 -6
  343. package/dist/main.es72.js +17 -10
  344. package/dist/main.es73.js +15 -7
  345. package/dist/main.es74.js +6 -6
  346. package/dist/main.es742.js +21 -60
  347. package/dist/main.es743.js +60 -21
  348. package/dist/main.es75.js +7 -12
  349. package/dist/main.es76.js +8 -13
  350. package/dist/main.es77.js +3 -3
  351. package/dist/main.es78.js +20 -12
  352. package/dist/main.es79.js +20 -10
  353. package/dist/main.es8.js +103 -66
  354. package/dist/main.es80.js +3 -3
  355. package/dist/main.es81.js +12 -20
  356. package/dist/main.es82.js +12 -17
  357. package/dist/main.es83.js +15 -8
  358. package/dist/main.es84.js +19 -9
  359. package/dist/main.es85.js +10 -9
  360. package/dist/main.es86.js +7 -7
  361. package/dist/main.es87.js +12 -16
  362. package/dist/main.es88.js +10 -16
  363. package/dist/main.es89.js +6 -14
  364. package/dist/main.es9.js +1 -1
  365. package/dist/main.es90.js +10 -14
  366. package/dist/main.es91.js +14 -9
  367. package/dist/main.es92.js +22 -9
  368. package/dist/main.es93.js +6 -8
  369. package/dist/main.es94.js +11 -14
  370. package/dist/main.es95.js +6 -18
  371. package/dist/main.es96.js +14 -11
  372. package/dist/main.es97.js +19 -11
  373. package/dist/main.es98.js +8 -11
  374. package/dist/main.es99.js +11 -9
  375. package/package.json +1 -1
  376. package/src/assets/svgIcons/electricity_tariff.svg +2 -2
  377. package/src/assets/svgIcons/suitcase.svg +2 -2
  378. package/src/assets/theme.js +90 -63
  379. package/src/components/buttons/mainButton/MainButton.stories.js +6 -0
  380. package/src/components/buttons/mainButton/index.vue +9 -1
  381. package/src/components/dropdown/Dropdown.stories.js +111 -39
  382. package/src/components/dropdown/defaultProps.js +7 -0
  383. package/src/components/dropdown/dropdown.spec.js +55 -0
  384. package/src/components/dropdown/index.vue +30 -21
  385. package/src/components/progressBar/ProgressBar.stories.js +62 -0
  386. package/src/components/progressBar/defaultProps.js +5 -0
  387. package/src/components/progressBar/index.vue +28 -56
  388. package/src/components/progressBar/progressBar.spec.js +52 -0
  389. package/src/components/sideMenu/index.vue +27 -32
  390. package/src/components/tables/mainTable/index.vue +2 -1
@@ -1,18 +1,26 @@
1
1
  <template>
2
- <Wrapper ref="dropdown" :opening-mode="openingMode">
3
- <WrapperButton @click="isOpenByClick = !isOpenByClick">
2
+ <Wrapper
3
+ data-test-id="dropdown_wrapper"
4
+ ref="dropdown"
5
+ :opening-mode="openingMode"
6
+ >
7
+ <WrapperButton
8
+ data-test-id="dropdown_trigger"
9
+ @click="toggleIsOpenByClick(!isOpenByClick)"
10
+ >
4
11
  <slot name="trigger"></slot>
5
12
  </WrapperButton>
6
13
  <WrapperDropdown
7
14
  :background-color="backgroundColor"
8
15
  class="dropdown-content"
9
- :class="{ openDropdown: isOpenByClick && openingMode == 'click' }"
16
+ :class="{ openDropdown: isOpenByClick && openingMode === 'click' }"
17
+ data-test-id="dropdown_dropdown_wrapper"
10
18
  :justify="justify"
11
- :position="position"
12
19
  :width="width"
13
20
  >
14
21
  <DropdownWindow
15
22
  :background-color="backgroundColor"
23
+ data-test-id="dropdown_dropdown_content"
16
24
  :gap="gap"
17
25
  :width="width"
18
26
  >
@@ -23,14 +31,6 @@
23
31
  </template>
24
32
 
25
33
  <script>
26
- // import Icon from "@eturnity/eturnity_reusable_components/src/components/icon"
27
- // How to use:
28
- //<DropdownComponent
29
- // width="300px"
30
- // backgroundColor="red">
31
-
32
- // <DropdownComponent/>
33
-
34
34
  import styled from 'vue3-styled-components'
35
35
 
36
36
  const wrapperAttrs = {
@@ -45,11 +45,11 @@
45
45
  position: relative;
46
46
 
47
47
  &:hover .dropdown-content {
48
- ${(props) => (props.openingMode == 'hover' ? 'display:block' : '')}
48
+ ${(props) => (props.openingMode === 'hover' ? 'display: block;' : '')}
49
49
  }
50
50
  & .openDropdown {
51
51
  ${(props) =>
52
- props.openingMode == 'click' ? 'display:block !important' : ''}
52
+ props.openingMode === 'click' ? 'display: block !important;' : ''}
53
53
  }
54
54
  `
55
55
  const WrapperDropdown = styled('div', wrapperAttrs)`
@@ -57,7 +57,7 @@
57
57
  display: none;
58
58
  position: absolute;
59
59
  z-index: 1;
60
- ${(props) => (props.justify == 'right' ? 'right:0;' : '')}
60
+ ${(props) => (props.justify === 'right' ? 'right: 0;' : '')}
61
61
  `
62
62
  const DropdownWindow = styled('div', wrapperAttrs)`
63
63
  width: ${(props) => props.width};
@@ -86,26 +86,27 @@
86
86
  props: {
87
87
  width: {
88
88
  required: false,
89
+ type: String,
89
90
  default: '300px',
90
91
  },
91
92
  gap: {
92
93
  required: false,
94
+ type: String,
93
95
  default: '10px',
94
96
  },
95
- position: {
96
- required: false,
97
- default: 'bottom',
98
- },
99
97
  justify: {
100
98
  required: false,
99
+ type: String,
101
100
  default: 'left',
102
101
  },
103
102
  openingMode: {
104
103
  required: false,
104
+ type: String,
105
105
  default: 'hover',
106
106
  },
107
107
  backgroundColor: {
108
108
  required: false,
109
+ type: String,
109
110
  default: 'white',
110
111
  },
111
112
  },
@@ -121,18 +122,26 @@
121
122
  document.removeEventListener('click', this.clickOutside)
122
123
  },
123
124
  methods: {
125
+ toggleIsOpenByClick(value) {
126
+ this.isOpenByClick = value
127
+ },
124
128
  clickOutside(event) {
125
129
  if (this.openingMode != 'click') return
126
130
  if (
127
131
  this.$refs.dropdown &&
128
- (this.$refs.dropdown.$el == event.target ||
132
+ (this.$refs.dropdown.$el === event.target ||
129
133
  this.$refs.dropdown.$el.contains(event.target))
130
134
  ) {
131
135
  return
132
136
  } else {
133
- this.isOpenByClick = false
137
+ this.toggleIsOpenByClick(false)
134
138
  }
135
139
  },
136
140
  },
141
+ watch: {
142
+ isOpenByClick(newVal) {
143
+ this.$emit('on-dropdown-toggle', newVal)
144
+ },
145
+ },
137
146
  }
138
147
  </script>
@@ -0,0 +1,62 @@
1
+ import defaultDropdownProps from './defaultProps'
2
+ import ProgressBar from './index.vue'
3
+ import theme from '@/assets/theme'
4
+
5
+ export default {
6
+ title: 'ProgressBar',
7
+ component: ProgressBar,
8
+ tags: ['autodocs'],
9
+ argTypes: {
10
+ fillProgress: {
11
+ description: 'Precentage of progress bar filled in with color',
12
+ },
13
+ labelText: {
14
+ description: 'Label text above the progress bar',
15
+ },
16
+ appTheme: {
17
+ description: 'App color theme',
18
+ control: 'select',
19
+ options: ['light', 'dark'],
20
+ },
21
+ },
22
+ }
23
+
24
+ // To use:
25
+ // import ProgressBar from "@eturnity/eturnity_reusable_components/src/components/progressBar"
26
+ // <ProgressBar
27
+ // :fill-progress="50"
28
+ // :label-text="some label text"
29
+ // />
30
+
31
+ const Template = (args) => {
32
+ return {
33
+ components: { ProgressBar },
34
+ setup() {
35
+ return { args }
36
+ },
37
+ provide: {
38
+ theme,
39
+ },
40
+ template: `
41
+ <ProgressBar v-bind="args"/>
42
+ `,
43
+ }
44
+ }
45
+
46
+ export const Default = Template.bind({})
47
+ Default.args = {
48
+ ...defaultDropdownProps,
49
+ }
50
+
51
+ export const ProgressBarLabelText = Template.bind({})
52
+ ProgressBarLabelText.args = {
53
+ ...defaultDropdownProps,
54
+ labelText: 'Progress Bar Label Text',
55
+ }
56
+
57
+ export const ProgressBarLabelTextAppThemeDark = Template.bind({})
58
+ ProgressBarLabelTextAppThemeDark.args = {
59
+ ...defaultDropdownProps,
60
+ labelText: 'Progress Bar Label Text',
61
+ appTheme: 'dark',
62
+ }
@@ -0,0 +1,5 @@
1
+ const defaultProps = {
2
+ fillProgress: '65',
3
+ }
4
+
5
+ export default defaultProps
@@ -1,36 +1,26 @@
1
1
  <template>
2
2
  <Container>
3
3
  <ProgressContainer
4
- :background-color="backgroundColor"
5
- class="progress-container"
6
- :max-width="maxWidth"
7
- :min-width="minWidth"
4
+ :app-theme="appTheme"
5
+ data-test-id="progress_bar_container"
8
6
  >
9
7
  <ProgressFill
10
- class="progress-bar"
11
- :fill-color="fillColor"
8
+ :app-theme="appTheme"
9
+ data-test-id="progress_bar_progress"
12
10
  :fill-progress="fillProgress"
13
11
  />
14
12
  </ProgressContainer>
15
- <LabelText v-if="stepNumber || labelText" class="progress-text">
16
- {{ labelText ? labelText : '' }}
17
- {{ stepNumber ? stepNumber : '' }}
13
+ <LabelText
14
+ v-if="labelText"
15
+ :app-theme="appTheme"
16
+ data-test-id="progress_bar_label"
17
+ >
18
+ {{ labelText }}
18
19
  </LabelText>
19
20
  </Container>
20
21
  </template>
21
22
 
22
23
  <script>
23
- // import ProgressBar from "@eturnity/eturnity_reusable_components/src/components/progressBar"
24
- //To Use:
25
- // <progress-bar
26
- // fillColor="#000"
27
- // backgroundColor="#888"
28
- // minWidth="150px"
29
- // maxWidth="100%"
30
- // :fillProgress="50" //should be a number for percent
31
- // stepNumber="4"
32
- // :labelText="translate('step')"
33
- // />
34
24
  import styled from 'vue3-styled-components'
35
25
 
36
26
  const Container = styled.div`
@@ -44,34 +34,34 @@
44
34
  `
45
35
 
46
36
  const containerProps = {
47
- backgroundColor: String,
48
- maxWidth: String,
49
- minWidth: String,
37
+ appTheme: String,
50
38
  }
51
39
  const ProgressContainer = styled('div', containerProps)`
52
40
  width: 100%;
53
- min-width: ${(props) => (props.minWidth ? props.minWidth : 'auto')};
54
- max-width: ${(props) => (props.maxWidth ? props.maxWidth : 'none')};
55
41
  height: 6px;
56
42
  background-color: ${(props) =>
57
- props.backgroundColor
58
- ? props.backgroundColor
59
- : props.theme.colors.lightGray};
43
+ props.theme.progressBar[props.appTheme].backgroundColor};
60
44
  @media (max-width: ${(props) => props.theme.screen.mobile}) {
61
45
  height: 4px;
62
46
  }
63
47
  `
64
48
 
65
- const fillProps = { fillColor: String, fillProgress: String | Number }
49
+ const fillProps = {
50
+ appTheme: String,
51
+ fillProgress: String | Number,
52
+ }
66
53
  const ProgressFill = styled('div', fillProps)`
67
54
  height: 100%;
68
55
  width: ${(props) => props.fillProgress + '%'};
69
56
  background-color: ${(props) =>
70
- props.fillColor ? props.fillColor : props.theme.colors.secondary};
57
+ props.theme.progressBar[props.appTheme].fillColor};
71
58
  `
72
59
 
73
- const LabelText = styled.div`
74
- color: ${(props) => props.theme.colors.darkGray};
60
+ const labelTextProps = {
61
+ appTheme: String,
62
+ }
63
+ const LabelText = styled('div', labelTextProps)`
64
+ color: ${(props) => props.theme.progressBar[props.appTheme].labelColor};
75
65
  font-size: 16px;
76
66
 
77
67
  @media (max-width: ${(props) => props.theme.screen.tablet}) {
@@ -88,37 +78,19 @@
88
78
  LabelText,
89
79
  },
90
80
  props: {
91
- fillColor: {
92
- required: false,
93
- type: String,
94
- default: null,
95
- },
96
- backgroundColor: {
97
- required: false,
98
- type: String,
99
- default: null,
100
- },
101
- minWidth: {
102
- required: false,
103
- type: String,
104
- default: null,
105
- },
106
- maxWidth: {
107
- required: false,
108
- type: String,
109
- default: null,
110
- },
111
81
  fillProgress: {
112
82
  required: false,
83
+ type: [String, Number],
113
84
  default: 0,
114
85
  },
115
86
  labelText: {
116
87
  required: false,
117
- default: null,
88
+ type: String,
89
+ default: '',
118
90
  },
119
- stepNumber: {
120
- required: false,
121
- default: null,
91
+ appTheme: {
92
+ type: String,
93
+ default: 'light',
122
94
  },
123
95
  },
124
96
  }
@@ -0,0 +1,52 @@
1
+ import { mount } from '@vue/test-utils'
2
+ import RCProgressBar from '@/components/progressBar'
3
+ import defaultProps from './defaultProps'
4
+ import theme from '@/assets/theme'
5
+
6
+ jest.mock('@/components/icon/iconCache.mjs', () => ({
7
+ // need to mock this due to how jest handles import.meta
8
+ fetchIcon: jest.fn(() => Promise.resolve('mocked-icon-url.svg')),
9
+ }))
10
+
11
+ describe('progressBar/index.vue', () => {
12
+ it('progress bar is rendered with correct props', async () => {
13
+ const labelText = 'test_label_text'
14
+
15
+ const wrapper = mount(RCProgressBar, {
16
+ props: { ...defaultProps, labelText },
17
+ global: {
18
+ provide: {
19
+ theme,
20
+ },
21
+ },
22
+ })
23
+
24
+ const progressBarProgress = wrapper.find(
25
+ '[data-test-id="progress_bar_progress"]'
26
+ )
27
+ const progressBarLabel = wrapper.find('[data-test-id="progress_bar_label"]')
28
+
29
+ expect(wrapper.vm.fillProgress).toBe(defaultProps.fillProgress)
30
+ expect(progressBarProgress.exists()).toBe(true)
31
+ expect(progressBarLabel.exists()).toBe(true)
32
+
33
+ expect(progressBarLabel.text()).toContain(labelText)
34
+ })
35
+
36
+ it('progress bar progress changes', async () => {
37
+ const wrapper = mount(RCProgressBar, {
38
+ props: {},
39
+ global: {
40
+ provide: {
41
+ theme,
42
+ },
43
+ },
44
+ })
45
+
46
+ expect(wrapper.vm.fillProgress).toBe(0)
47
+
48
+ await wrapper.setProps({ fillProgress: defaultProps.fillProgress })
49
+
50
+ expect(wrapper.vm.fillProgress).toBe(defaultProps.fillProgress)
51
+ })
52
+ })
@@ -8,9 +8,6 @@
8
8
  <ListItem
9
9
  v-if="!item.children"
10
10
  :key="idx"
11
- :data-active="
12
- (activeTab === item.key || activeParentTab === item.key).toString()
13
- "
14
11
  :data-id="`sub_menu_settings_${item.key}`"
15
12
  :fill-type="item.icon === 'free_technology' ? 'stroke' : 'fill'"
16
13
  :is-active="activeTab === item.key || activeParentTab === item.key"
@@ -33,7 +30,6 @@
33
30
  </ListItem>
34
31
  <CollapseWrapper v-else :key="idx + item.key">
35
32
  <CollapseContainer
36
- :data-active="activeParentTab === item.key"
37
33
  :data-id="`sub_menu_settings_${item.key}`"
38
34
  :is-active="activeParentTab === item.key"
39
35
  @click="toggleActiveDropdown(item.key)"
@@ -55,11 +51,7 @@
55
51
  }}</ListText>
56
52
  <ArrowContainer>
57
53
  <Icon
58
- :color="
59
- activeParentTab === item.key
60
- ? theme.semanticColors.purple[500]
61
- : theme.semanticColors.teal[800]
62
- "
54
+ :color="theme.semanticColors.grey[800]"
63
55
  :name="
64
56
  activeDropdown === item.key
65
57
  ? 'arrow_up_unfilled'
@@ -73,7 +65,6 @@
73
65
  <SubRouter
74
66
  v-for="subItem in item.children"
75
67
  :key="subItem.key"
76
- :data-active="activeTab === subItem.key"
77
68
  :data-id="`sub_menu_settings_${subItem.key}`"
78
69
  :is-active="activeTab === subItem.key"
79
70
  @click="
@@ -90,14 +81,19 @@
90
81
  </template>
91
82
  </ListContainer>
92
83
  <BottomSection v-if="hasLogout">
93
- <ButtonIcon
84
+ <IconContainer
94
85
  data-id="button_settings_logout"
95
- icon-name="logout"
96
- text="Logout"
97
- type="ghost"
98
- variant="tertiary"
86
+ :is-active="false"
87
+ :is-button="true"
99
88
  @click="$emit('on-logout')"
100
- />
89
+ >
90
+ <RotateIcon
91
+ :color="theme.semanticColors.teal[800]"
92
+ cursor="pointer"
93
+ name="initial_situation"
94
+ size="18px"
95
+ />
96
+ </IconContainer>
101
97
  <AppVersion>{{ appVersion }}</AppVersion>
102
98
  </BottomSection>
103
99
  </PageContainer>
@@ -108,7 +104,6 @@
108
104
  import Icon from '../icon'
109
105
  import Spinner from '../spinner'
110
106
  import theme from '@/assets/theme.js'
111
- import ButtonIcon from '../buttons/buttonIcon'
112
107
 
113
108
  const PageAttrs = { isLoading: Boolean }
114
109
  const PageContainer = styled('div', PageAttrs)`
@@ -136,18 +131,18 @@
136
131
  padding: 4px;
137
132
  border-radius: 4px;
138
133
  background-color: ${(props) =>
139
- props.isActive ? props.theme.semanticColors.purple[100] : ''};
134
+ props.isActive ? props.theme.semanticColors.purple[50] : ''};
140
135
  color: ${(props) =>
141
136
  props.isActive
142
137
  ? props.theme.semanticColors.purple[500]
143
138
  : props.theme.semanticColors.teal[800]};
144
139
 
145
- &:hover:not([data-active='true']) {
146
- background-color: ${(props) => props.theme.semanticColors.grey[300]};
147
- color: ${(props) => props.theme.semanticColors.teal[800]};
140
+ :hover {
141
+ background-color: ${(props) => props.theme.semanticColors.purple[100]};
142
+ color: ${(props) => props.theme.semanticColors.purple[500]};
148
143
  svg path:not(.fix) {
149
144
  ${(props) => props.fillType}: ${(props) =>
150
- props.theme.semanticColors.teal[800]};
145
+ props.theme.semanticColors.purple[500]};
151
146
  }
152
147
  }
153
148
  `
@@ -214,11 +209,11 @@
214
209
  font-weight: 400;
215
210
  font-size: 14px;
216
211
  background: ${(props) =>
217
- props.isActive ? props.theme.semanticColors.purple[100] : ''};
212
+ props.isActive ? props.theme.semanticColors.purple[50] : ''};
218
213
 
219
- &:hover:not([data-active='true']) {
220
- background: ${(props) => props.theme.semanticColors.grey[300]};
221
- color: ${(props) => props.theme.semanticColors.teal[800]} !important;
214
+ &:hover {
215
+ background: ${(props) => props.theme.semanticColors.purple[100]};
216
+ color: ${(props) => props.theme.semanticColors.purple[500]} !important;
222
217
  }
223
218
  `
224
219
 
@@ -233,18 +228,18 @@
233
228
  align-items: center;
234
229
  cursor: pointer;
235
230
  background: ${(props) =>
236
- props.isActive ? props.theme.semanticColors.purple[100] : ''};
231
+ props.isActive ? props.theme.semanticColors.purple[50] : ''};
237
232
 
238
233
  div {
239
234
  color: ${(props) =>
240
235
  props.isActive ? props.theme.semanticColors.purple[500] : ''};
241
236
  }
242
237
 
243
- &:hover:not([data-active='true']) {
244
- background: ${(props) => props.theme.semanticColors.grey[300]};
245
- color: ${(props) => props.theme.semanticColors.teal[800]};
238
+ &:hover {
239
+ background: ${(props) => props.theme.semanticColors.purple[100]};
240
+ color: ${(props) => props.theme.semanticColors.purple[500]};
246
241
  svg path:not(.fix) {
247
- fill: ${(props) => props.theme.semanticColors.teal[800]};
242
+ fill: ${(props) => props.theme.semanticColors.purple[500]};
248
243
  }
249
244
  }
250
245
  `
@@ -273,12 +268,12 @@
273
268
  Spinner,
274
269
  SpinnerContainer,
275
270
  BottomSection,
271
+ RotateIcon,
276
272
  AppVersion,
277
273
  CollapseWrapper,
278
274
  CollapseContainer,
279
275
  SubRouter,
280
276
  ArrowContainer,
281
- ButtonIcon,
282
277
  },
283
278
  props: {
284
279
  tabsData: {
@@ -251,7 +251,8 @@
251
251
  visibility: hidden;
252
252
  }
253
253
 
254
- &.footer {
254
+ &.footer,
255
+ &.total-row {
255
256
  td {
256
257
  background-color: ${(props) => props.theme.colors.grey5};
257
258
  }