@eturnity/eturnity_reusable_components 7.37.3 → 7.37.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (342) hide show
  1. package/README.md +29 -29
  2. package/package.json +85 -85
  3. package/src/App.vue +30 -30
  4. package/src/Test.vue +128 -128
  5. package/src/assets/icons/arrow_down.svg +3 -3
  6. package/src/assets/icons/arrow_up_red.svg +3 -3
  7. package/src/assets/icons/black_spinner.svg +35 -35
  8. package/src/assets/icons/delete_icon.svg +11 -11
  9. package/src/assets/icons/delete_icon_gray.svg +11 -11
  10. package/src/assets/icons/drag_icon.svg +8 -8
  11. package/src/assets/icons/external_icon.svg +6 -6
  12. package/src/assets/icons/language_icon.svg +6 -6
  13. package/src/assets/icons/pdf_icon.svg +6 -6
  14. package/src/assets/icons/plus_button.svg +4 -4
  15. package/src/assets/icons/search_icon_black.svg +3 -3
  16. package/src/assets/icons/subposition_icon.svg +3 -3
  17. package/src/assets/icons/subposition_marker.svg +3 -3
  18. package/src/assets/icons/warning_icon.svg +3 -3
  19. package/src/assets/svgIcons/2d_active.svg +7 -7
  20. package/src/assets/svgIcons/2d_inactive.svg +8 -8
  21. package/src/assets/svgIcons/3d_active.svg +7 -7
  22. package/src/assets/svgIcons/3d_inactive.svg +8 -8
  23. package/src/assets/svgIcons/_readme.md +7 -7
  24. package/src/assets/svgIcons/accept.svg +5 -5
  25. package/src/assets/svgIcons/activate_panels_active.svg +22 -22
  26. package/src/assets/svgIcons/activate_panels_inactive.svg +20 -20
  27. package/src/assets/svgIcons/add_icon-1.svg +3 -3
  28. package/src/assets/svgIcons/add_icon.svg +4 -4
  29. package/src/assets/svgIcons/address_book.svg +3 -3
  30. package/src/assets/svgIcons/adjust_roof.svg +6 -6
  31. package/src/assets/svgIcons/after_sale_as_a_service.svg +6 -6
  32. package/src/assets/svgIcons/all_good.svg +3 -3
  33. package/src/assets/svgIcons/angle_active.svg +5 -5
  34. package/src/assets/svgIcons/angle_inactive.svg +4 -4
  35. package/src/assets/svgIcons/area_active.svg +11 -11
  36. package/src/assets/svgIcons/area_inactive.svg +26 -26
  37. package/src/assets/svgIcons/areas_tool.svg +14 -14
  38. package/src/assets/svgIcons/arrow_down.svg +3 -3
  39. package/src/assets/svgIcons/arrow_left.svg +4 -4
  40. package/src/assets/svgIcons/arrow_right.svg +4 -4
  41. package/src/assets/svgIcons/arrow_up.svg +3 -3
  42. package/src/assets/svgIcons/attachment.svg +3 -3
  43. package/src/assets/svgIcons/base_layer.svg +3 -3
  44. package/src/assets/svgIcons/battery.svg +3 -3
  45. package/src/assets/svgIcons/bell.svg +3 -3
  46. package/src/assets/svgIcons/bexio.svg +4 -4
  47. package/src/assets/svgIcons/bold.svg +3 -3
  48. package/src/assets/svgIcons/bom.svg +3 -3
  49. package/src/assets/svgIcons/bom_generation.svg +10 -10
  50. package/src/assets/svgIcons/bookmaker.svg +3 -3
  51. package/src/assets/svgIcons/bubble.svg +3 -3
  52. package/src/assets/svgIcons/bug.svg +5 -5
  53. package/src/assets/svgIcons/bullet_list.svg +8 -8
  54. package/src/assets/svgIcons/calendar.svg +7 -7
  55. package/src/assets/svgIcons/calendar_icon.svg +7 -7
  56. package/src/assets/svgIcons/call.svg +3 -3
  57. package/src/assets/svgIcons/camera.svg +3 -3
  58. package/src/assets/svgIcons/car.svg +3 -3
  59. package/src/assets/svgIcons/cart.svg +3 -3
  60. package/src/assets/svgIcons/charger_icon_white.svg +44 -44
  61. package/src/assets/svgIcons/checkbox.svg +3 -3
  62. package/src/assets/svgIcons/clear_formatting.svg +7 -7
  63. package/src/assets/svgIcons/clickable_info.svg +4 -4
  64. package/src/assets/svgIcons/clip.svg +3 -3
  65. package/src/assets/svgIcons/clock.svg +17 -17
  66. package/src/assets/svgIcons/clock_full.svg +3 -3
  67. package/src/assets/svgIcons/close_for_modals,_tool_tips.svg +4 -4
  68. package/src/assets/svgIcons/co_branding.svg +5 -5
  69. package/src/assets/svgIcons/collapse.svg +4 -4
  70. package/src/assets/svgIcons/collections.svg +3 -3
  71. package/src/assets/svgIcons/component_library.svg +7 -7
  72. package/src/assets/svgIcons/consumption_tariffs.svg +43 -43
  73. package/src/assets/svgIcons/context_menu-1.svg +6 -6
  74. package/src/assets/svgIcons/context_menu-2.svg +5 -5
  75. package/src/assets/svgIcons/context_menu.svg +5 -5
  76. package/src/assets/svgIcons/context_menu_tabs.svg +5 -5
  77. package/src/assets/svgIcons/cross.svg +4 -4
  78. package/src/assets/svgIcons/current_variant.svg +4 -4
  79. package/src/assets/svgIcons/dashboard.svg +3 -3
  80. package/src/assets/svgIcons/data_transfer.svg +3 -3
  81. package/src/assets/svgIcons/deadline.svg +4 -4
  82. package/src/assets/svgIcons/deal_flow.svg +5 -5
  83. package/src/assets/svgIcons/delete.svg +4 -4
  84. package/src/assets/svgIcons/delete_area_active.svg +16 -16
  85. package/src/assets/svgIcons/delete_area_inactive.svg +15 -15
  86. package/src/assets/svgIcons/direction_active-1.svg +12 -12
  87. package/src/assets/svgIcons/direction_active.svg +5 -5
  88. package/src/assets/svgIcons/direction_arrow.svg +4 -4
  89. package/src/assets/svgIcons/direction_inactive.svg +4 -4
  90. package/src/assets/svgIcons/dislike.svg +3 -3
  91. package/src/assets/svgIcons/distance_tool.svg +8 -8
  92. package/src/assets/svgIcons/distances_active.svg +9 -9
  93. package/src/assets/svgIcons/distances_inactive.svg +8 -8
  94. package/src/assets/svgIcons/distort_tool.svg +10 -10
  95. package/src/assets/svgIcons/distort_tool2.svg +16 -16
  96. package/src/assets/svgIcons/document.svg +3 -3
  97. package/src/assets/svgIcons/documents.svg +4 -4
  98. package/src/assets/svgIcons/downarrow.svg +3 -3
  99. package/src/assets/svgIcons/download.svg +4 -4
  100. package/src/assets/svgIcons/drag_icon.svg +8 -8
  101. package/src/assets/svgIcons/draggable_corner.svg +5 -5
  102. package/src/assets/svgIcons/draw_tool.svg +3 -3
  103. package/src/assets/svgIcons/duplicate-1.svg +8 -8
  104. package/src/assets/svgIcons/duplicate-2.svg +5 -5
  105. package/src/assets/svgIcons/duplicate.svg +4 -4
  106. package/src/assets/svgIcons/e-mobility_configurator.svg +6 -6
  107. package/src/assets/svgIcons/e_signature.svg +5 -5
  108. package/src/assets/svgIcons/edit_button.svg +3 -3
  109. package/src/assets/svgIcons/electricity_tariff.svg +3 -3
  110. package/src/assets/svgIcons/email.svg +3 -3
  111. package/src/assets/svgIcons/ems-1.svg +3 -3
  112. package/src/assets/svgIcons/ems.svg +3 -3
  113. package/src/assets/svgIcons/end_of_the_list.svg +5 -5
  114. package/src/assets/svgIcons/erase.svg +4 -4
  115. package/src/assets/svgIcons/external_icon.svg +5 -5
  116. package/src/assets/svgIcons/fav_icon.svg +4 -4
  117. package/src/assets/svgIcons/finance.svg +3 -3
  118. package/src/assets/svgIcons/financing_for_pv-1.svg +5 -5
  119. package/src/assets/svgIcons/financing_for_pv-2.svg +3 -3
  120. package/src/assets/svgIcons/financing_for_pv.svg +6 -6
  121. package/src/assets/svgIcons/finish-1.svg +4 -4
  122. package/src/assets/svgIcons/finish.svg +3 -3
  123. package/src/assets/svgIcons/flatten.svg +11 -11
  124. package/src/assets/svgIcons/flatten_roof.svg +20 -20
  125. package/src/assets/svgIcons/folder.svg +3 -3
  126. package/src/assets/svgIcons/free_technology.svg +5 -5
  127. package/src/assets/svgIcons/handle.svg +5 -5
  128. package/src/assets/svgIcons/heat_calc.svg +7 -7
  129. package/src/assets/svgIcons/height_equalize.svg +3 -3
  130. package/src/assets/svgIcons/height_snap.svg +3 -3
  131. package/src/assets/svgIcons/house.svg +3 -3
  132. package/src/assets/svgIcons/house_3d-1.svg +7 -7
  133. package/src/assets/svgIcons/house_3d.svg +7 -7
  134. package/src/assets/svgIcons/inclination.svg +2 -2
  135. package/src/assets/svgIcons/info.svg +3 -3
  136. package/src/assets/svgIcons/initial_situation.svg +3 -3
  137. package/src/assets/svgIcons/integrations.svg +3 -3
  138. package/src/assets/svgIcons/intro-tour-1.svg +3 -3
  139. package/src/assets/svgIcons/intro-tour.svg +3 -3
  140. package/src/assets/svgIcons/inverter-1.svg +5 -5
  141. package/src/assets/svgIcons/inverter.svg +3 -3
  142. package/src/assets/svgIcons/italic.svg +3 -3
  143. package/src/assets/svgIcons/key.svg +3 -3
  144. package/src/assets/svgIcons/layers_close.svg +4 -4
  145. package/src/assets/svgIcons/layers_open.svg +4 -4
  146. package/src/assets/svgIcons/lead_marketplace.svg +6 -6
  147. package/src/assets/svgIcons/lead_provider.svg +4 -4
  148. package/src/assets/svgIcons/length_2d.svg +2 -2
  149. package/src/assets/svgIcons/length_3d.svg +4 -4
  150. package/src/assets/svgIcons/length_calculator.svg +2 -2
  151. package/src/assets/svgIcons/length_in_2d_active.svg +12 -12
  152. package/src/assets/svgIcons/length_in_2d_inctive.svg +13 -13
  153. package/src/assets/svgIcons/light_bulb.svg +3 -3
  154. package/src/assets/svgIcons/like.svg +3 -3
  155. package/src/assets/svgIcons/line_graph.svg +3 -3
  156. package/src/assets/svgIcons/local_subsidies.svg +18 -18
  157. package/src/assets/svgIcons/location.svg +3 -3
  158. package/src/assets/svgIcons/lock.svg +3 -3
  159. package/src/assets/svgIcons/logout.svg +3 -3
  160. package/src/assets/svgIcons/loop.svg +3 -3
  161. package/src/assets/svgIcons/lunch.svg +4 -4
  162. package/src/assets/svgIcons/magic_tool.svg +6 -6
  163. package/src/assets/svgIcons/map_icon.svg +5 -5
  164. package/src/assets/svgIcons/map_settings.svg +3 -3
  165. package/src/assets/svgIcons/margin_tool.svg +4 -4
  166. package/src/assets/svgIcons/meeting.svg +6 -6
  167. package/src/assets/svgIcons/move_copy.svg +4 -4
  168. package/src/assets/svgIcons/new_area_inactive.svg +11 -11
  169. package/src/assets/svgIcons/next.svg +4 -4
  170. package/src/assets/svgIcons/not_equal_to.svg +3 -3
  171. package/src/assets/svgIcons/numbered_list.svg +6 -6
  172. package/src/assets/svgIcons/obstacle_tool.svg +8 -8
  173. package/src/assets/svgIcons/obstacle_tool_origin.svg +3 -3
  174. package/src/assets/svgIcons/offset_tool.svg +8 -8
  175. package/src/assets/svgIcons/outline_tool.svg +11 -11
  176. package/src/assets/svgIcons/pan_tool.svg +12 -12
  177. package/src/assets/svgIcons/panels_tool.svg +8 -8
  178. package/src/assets/svgIcons/pen_tool.svg +4 -4
  179. package/src/assets/svgIcons/picker_tool.svg +4 -4
  180. package/src/assets/svgIcons/picture.svg +3 -3
  181. package/src/assets/svgIcons/pin.svg +5 -5
  182. package/src/assets/svgIcons/presentation.svg +3 -3
  183. package/src/assets/svgIcons/previous.svg +4 -4
  184. package/src/assets/svgIcons/profile-1.svg +4 -4
  185. package/src/assets/svgIcons/profile.svg +4 -4
  186. package/src/assets/svgIcons/profitability.svg +3 -3
  187. package/src/assets/svgIcons/project_analysis.svg +4 -4
  188. package/src/assets/svgIcons/project_settings.svg +4 -4
  189. package/src/assets/svgIcons/pv.svg +3 -3
  190. package/src/assets/svgIcons/quotations.svg +6 -6
  191. package/src/assets/svgIcons/redo.svg +6 -6
  192. package/src/assets/svgIcons/resizer.svg +5 -5
  193. package/src/assets/svgIcons/roof_layer.svg +3 -3
  194. package/src/assets/svgIcons/rotate_tool.svg +3 -3
  195. package/src/assets/svgIcons/rotate_view.svg +5 -5
  196. package/src/assets/svgIcons/ruler_tool.svg +3 -3
  197. package/src/assets/svgIcons/run_simulation.svg +3 -3
  198. package/src/assets/svgIcons/save.svg +3 -3
  199. package/src/assets/svgIcons/scaling_tool.svg +8 -8
  200. package/src/assets/svgIcons/search.svg +3 -3
  201. package/src/assets/svgIcons/security.svg +3 -3
  202. package/src/assets/svgIcons/settings.svg +3 -3
  203. package/src/assets/svgIcons/show_in_a_new_tab.svg +12 -12
  204. package/src/assets/svgIcons/smartphone.svg +4 -4
  205. package/src/assets/svgIcons/solar_calc.svg +13 -13
  206. package/src/assets/svgIcons/sorting.svg +4 -4
  207. package/src/assets/svgIcons/split.svg +12 -12
  208. package/src/assets/svgIcons/start_of_the_list.svg +5 -5
  209. package/src/assets/svgIcons/strikethrough.svg +4 -4
  210. package/src/assets/svgIcons/subscriptions.svg +3 -3
  211. package/src/assets/svgIcons/subsidies-1.svg +5 -5
  212. package/src/assets/svgIcons/subsidies-2.svg +3 -3
  213. package/src/assets/svgIcons/subsidies.svg +3 -3
  214. package/src/assets/svgIcons/subtract_icon.svg +3 -3
  215. package/src/assets/svgIcons/suitcase.svg +3 -3
  216. package/src/assets/svgIcons/summer.svg +3 -3
  217. package/src/assets/svgIcons/template_icon_not_clickable.svg +6 -6
  218. package/src/assets/svgIcons/transfer.svg +4 -4
  219. package/src/assets/svgIcons/trim_tool.svg +4 -4
  220. package/src/assets/svgIcons/truck.svg +3 -3
  221. package/src/assets/svgIcons/underlined.svg +3 -3
  222. package/src/assets/svgIcons/undo.svg +6 -6
  223. package/src/assets/svgIcons/uparrow.svg +3 -3
  224. package/src/assets/svgIcons/update.svg +3 -3
  225. package/src/assets/svgIcons/upload_avatar-1.svg +12 -12
  226. package/src/assets/svgIcons/upload_avatar.svg +5 -5
  227. package/src/assets/svgIcons/upload_image.svg +8 -8
  228. package/src/assets/svgIcons/upload_image_tool.svg +7 -7
  229. package/src/assets/svgIcons/variants.svg +6 -6
  230. package/src/assets/svgIcons/vertical_tool.svg +3 -3
  231. package/src/assets/svgIcons/virtual_storage.svg +4 -4
  232. package/src/assets/svgIcons/warning.svg +4 -4
  233. package/src/assets/svgIcons/way.svg +5 -5
  234. package/src/assets/svgIcons/wifi.svg +3 -3
  235. package/src/assets/svgIcons/winter.svg +3 -3
  236. package/src/assets/svgIcons/workflow_template.svg +11 -11
  237. package/src/assets/tests/__mocks__/iconCache.js +1 -1
  238. package/src/assets/tests/__mocks__/svgMock.js +1 -1
  239. package/src/assets/tests/helpers.js +12 -12
  240. package/src/assets/theme.js +41 -41
  241. package/src/components/addNewButton/AddNewButton.stories.js +17 -17
  242. package/src/components/addNewButton/addNewButton.spec.js +23 -23
  243. package/src/components/addNewButton/index.vue +62 -62
  244. package/src/components/banner/actionBanner/index.vue +64 -64
  245. package/src/components/banner/banner/index.vue +188 -188
  246. package/src/components/banner/infoBanner/index.vue +57 -57
  247. package/src/components/buttons/buttonIcon/index.vue +145 -145
  248. package/src/components/buttons/closeButton/CloseButton.stories.js +25 -25
  249. package/src/components/buttons/closeButton/index.vue +62 -62
  250. package/src/components/buttons/mainButton/MainButton.stories.js +51 -51
  251. package/src/components/buttons/mainButton/index.vue +150 -150
  252. package/src/components/buttons/mainButton/mainButton.spec.js +35 -35
  253. package/src/components/card/index.vue +96 -96
  254. package/src/components/collapsableInfoText/index.vue +127 -127
  255. package/src/components/deleteIcon/DeleteIcon.stories.js +29 -29
  256. package/src/components/deleteIcon/index.vue +78 -78
  257. package/src/components/draggableInputHandle/index.vue +46 -46
  258. package/src/components/dropdown/Dropdown.stories.js +53 -53
  259. package/src/components/dropdown/index.vue +138 -138
  260. package/src/components/errorMessage/index.vue +64 -64
  261. package/src/components/filter/filterSettings.vue +669 -669
  262. package/src/components/filter/index.vue +154 -154
  263. package/src/components/filter/parentDropdown.vue +91 -91
  264. package/src/components/icon/Icons.stories.js +41 -41
  265. package/src/components/icon/iconCache.mjs +23 -23
  266. package/src/components/icon/iconCollection.vue +82 -82
  267. package/src/components/icon/index.vue +140 -140
  268. package/src/components/iconWrapper/index.vue +179 -179
  269. package/src/components/infoCard/index.vue +40 -40
  270. package/src/components/infoText/index.vue +170 -170
  271. package/src/components/inputs/checkbox/Checkbox.stories.js +63 -63
  272. package/src/components/inputs/checkbox/checkbox.spec.js +109 -109
  273. package/src/components/inputs/checkbox/index.vue +225 -225
  274. package/src/components/inputs/inputNumber/InputNumber.stories.js +150 -150
  275. package/src/components/inputs/inputNumber/index.vue +789 -789
  276. package/src/components/inputs/inputNumberQuestion/index.vue +218 -218
  277. package/src/components/inputs/inputText/InputText.stories.js +75 -75
  278. package/src/components/inputs/inputText/index.vue +376 -376
  279. package/src/components/inputs/radioButton/RadioButton.stories.js +58 -58
  280. package/src/components/inputs/radioButton/index.vue +273 -273
  281. package/src/components/inputs/searchInput/SearchInput.stories.js +40 -40
  282. package/src/components/inputs/searchInput/index.vue +151 -151
  283. package/src/components/inputs/select/index.vue +908 -908
  284. package/src/components/inputs/select/option/index.vue +148 -148
  285. package/src/components/inputs/select/select.stories.js +58 -58
  286. package/src/components/inputs/slider/index.vue +126 -126
  287. package/src/components/inputs/switchField/index.vue +254 -254
  288. package/src/components/inputs/textAreaInput/TextAreaInput.stories.js +127 -127
  289. package/src/components/inputs/textAreaInput/index.vue +198 -198
  290. package/src/components/inputs/toggle/Toggle.stories.js +77 -77
  291. package/src/components/inputs/toggle/index.vue +317 -317
  292. package/src/components/inputs/toggle/toggle.spec.js +102 -102
  293. package/src/components/label/index.vue +99 -99
  294. package/src/components/markerItem/index.vue +88 -88
  295. package/src/components/modals/actionModal/index.vue +64 -64
  296. package/src/components/modals/infoModal/index.vue +52 -52
  297. package/src/components/modals/modal/index.vue +188 -188
  298. package/src/components/modals/modal/modal.stories.js +31 -31
  299. package/src/components/navigationTabs/index.vue +114 -114
  300. package/src/components/pageSubtitle/PageSubtitle.stories.js +59 -0
  301. package/src/components/pageSubtitle/index.vue +78 -67
  302. package/src/components/pageSubtitle/pageSubtitle.spec.js +46 -0
  303. package/src/components/pageTitle/PageTitle.stories.js +95 -0
  304. package/src/components/pageTitle/index.vue +91 -68
  305. package/src/components/pageTitle/pageTitle.spec.js +46 -0
  306. package/src/components/pagination/index.vue +148 -148
  307. package/src/components/progressBar/index.vue +125 -125
  308. package/src/components/projectMarker/index.vue +300 -300
  309. package/src/components/rangeSlider/Slider.vue +573 -573
  310. package/src/components/rangeSlider/index.vue +517 -517
  311. package/src/components/rangeSlider/utils/dom.js +49 -49
  312. package/src/components/rangeSlider/utils/fns.js +26 -26
  313. package/src/components/selectedOptions/index.vue +145 -145
  314. package/src/components/sideMenu/index.vue +270 -270
  315. package/src/components/spinner/Spinner.stories.js +34 -34
  316. package/src/components/spinner/index.vue +85 -85
  317. package/src/components/spinner/spinner.spec.js +69 -69
  318. package/src/components/tableDropdown/index.vue +638 -638
  319. package/src/components/tables/mainTable/exampleNested.vue +328 -328
  320. package/src/components/tables/mainTable/index.vue +510 -510
  321. package/src/components/tables/viewTable/index.vue +195 -195
  322. package/src/components/tabsHeader/index.vue +83 -83
  323. package/src/components/threeDots/index.vue +413 -413
  324. package/src/components/videoThumbnail/index.vue +103 -103
  325. package/src/components/videoThumbnail/videoThumbnail.stories.js +33 -33
  326. package/src/helpers/currencyMapping.js +28 -28
  327. package/src/helpers/numberConverter.js +103 -103
  328. package/src/helpers/translateLang.js +128 -128
  329. package/src/main.js +7 -7
  330. package/src/mixins/inputValidations.js +97 -97
  331. package/src/router/dynamicRoutes.js +23 -23
  332. package/src/stories/Button.stories.js +48 -48
  333. package/src/stories/Button.vue +52 -52
  334. package/src/stories/Configure.mdx +364 -364
  335. package/src/stories/Header.stories.js +41 -41
  336. package/src/stories/Header.vue +59 -59
  337. package/src/stories/Page.stories.js +30 -30
  338. package/src/stories/Page.vue +83 -83
  339. package/src/stories/button.css +30 -30
  340. package/src/stories/header.css +32 -32
  341. package/src/stories/page.css +69 -69
  342. package/src/utils/index.js +12 -12
@@ -1,68 +1,91 @@
1
- <template>
2
- <TitleWrap :has-info-text="!!infoText">
3
- <TitleText :color="color" :font-size="fontSize" :uppercase="uppercase">
4
- {{ text }}
5
- </TitleText>
6
- <InfoText v-if="!!infoText" :align-arrow="infoAlign" :text="infoText" />
7
- </TitleWrap>
8
- </template>
9
-
10
- <script>
11
- // import PageTitle from "@eturnity/eturnity_reusable_components/src/components/pageTitle"
12
- // To use:
13
- // <page-title
14
- // text="My Page Title"
15
- // color="red"
16
- // />
17
- import styled from 'vue3-styled-components'
18
- import InfoText from '../infoText'
19
-
20
- const wrapAttrs = { hasInfoText: Boolean }
21
- const TitleWrap = styled('div', wrapAttrs)`
22
- display: grid;
23
- align-items: center;
24
- grid-gap: 12px;
25
- grid-template-columns: ${(props) =>
26
- props.hasInfoText ? 'auto auto 1fr' : '1fr'};
27
- margin-bottom: 20px;
28
- `
29
-
30
- const titleAttrs = { color: String, fontSize: String, uppercase: Boolean }
31
- const TitleText = styled('span', titleAttrs)`
32
- color: ${(props) => (props.color ? props.color : props.theme.colors.black)};
33
- font-weight: bold;
34
- font-size: ${(props) => (props.fontSize ? props.fontSize : '20px')};
35
- text-transform: ${(props) => (props.uppercase ? 'uppercase' : 'none')};
36
- `
37
-
38
- export default {
39
- name: 'PageTitle',
40
- components: {
41
- TitleText,
42
- TitleWrap,
43
- InfoText,
44
- },
45
- props: {
46
- text: {
47
- required: true,
48
- },
49
- color: {
50
- required: false,
51
- },
52
- fontSize: {
53
- required: false,
54
- },
55
- uppercase: {
56
- required: false,
57
- default: true,
58
- },
59
- infoText: {
60
- required: false,
61
- default: null,
62
- },
63
- infoAlign: {
64
- required: false,
65
- },
66
- },
67
- }
68
- </script>
1
+ <template>
2
+ <TitleWrap data-test-id="page_wrapper" :has-info-text="!!infoText">
3
+ <TitleText
4
+ data-test-id="page_title_text"
5
+ :color="color"
6
+ :font-size="fontSize"
7
+ :uppercase="uppercase"
8
+ >
9
+ {{ text }}
10
+ </TitleText>
11
+ <InfoText
12
+ v-if="!!infoText"
13
+ data-test-id="page_title_tooltip"
14
+ :align-arrow="infoAlign"
15
+ :text="infoText"
16
+ />
17
+ </TitleWrap>
18
+ </template>
19
+
20
+ <script>
21
+ // import PageTitle from "@eturnity/eturnity_reusable_components/src/components/pageTitle"
22
+ // To use:
23
+ // <PageTitle
24
+ // text="My Page Title"
25
+ // color="red"
26
+ // font-size="13px"
27
+ // uppercase="true"
28
+ // info-text="My info text"
29
+ // info-align="center"
30
+ // />
31
+ import styled from 'vue3-styled-components'
32
+ import InfoText from '../infoText'
33
+
34
+ const wrapAttrs = { hasInfoText: Boolean }
35
+ const TitleWrap = styled('div', wrapAttrs)`
36
+ display: grid;
37
+ align-items: center;
38
+ grid-gap: 12px;
39
+ grid-template-columns: ${(props) =>
40
+ props.hasInfoText ? 'auto auto 1fr' : '1fr'};
41
+ margin-bottom: 20px;
42
+ `
43
+
44
+ const titleAttrs = { color: String, fontSize: String, uppercase: Boolean }
45
+ const TitleText = styled('span', titleAttrs)`
46
+ color: ${(props) => (props.color ? props.color : props.theme.colors.black)};
47
+ font-weight: bold;
48
+ font-size: ${(props) => (props.fontSize ? props.fontSize : '20px')};
49
+ text-transform: ${(props) => (props.uppercase ? 'uppercase' : 'none')};
50
+ `
51
+
52
+ export default {
53
+ name: 'PageTitle',
54
+ components: {
55
+ TitleText,
56
+ TitleWrap,
57
+ InfoText,
58
+ },
59
+ props: {
60
+ text: {
61
+ required: true,
62
+ type: String,
63
+ },
64
+ color: {
65
+ required: false,
66
+ type: String,
67
+ default: '',
68
+ },
69
+ fontSize: {
70
+ required: false,
71
+ type: String,
72
+ default: '',
73
+ },
74
+ uppercase: {
75
+ required: false,
76
+ type: Boolean,
77
+ default: true,
78
+ },
79
+ infoText: {
80
+ required: false,
81
+ type: String,
82
+ default: '',
83
+ },
84
+ infoAlign: {
85
+ required: false,
86
+ type: String,
87
+ default: 'center',
88
+ },
89
+ },
90
+ }
91
+ </script>
@@ -0,0 +1,46 @@
1
+ /* eslint-disable */
2
+ import { mount } from '@vue/test-utils'
3
+ import RCPageTitle from '@/components/pageTitle'
4
+ import RCInfoText from '@/components/infoText'
5
+ import theme from '@/assets/theme'
6
+
7
+ jest.mock('@/components/icon/iconCache.mjs', () => ({
8
+ // need to mock this due to how jest handles import.meta
9
+ fetchIcon: jest.fn(() => Promise.resolve('mocked-icon-url.svg')),
10
+ }))
11
+
12
+ const titleText = 'Test Page Title'
13
+ const infoText = 'Test Tooltip Text'
14
+
15
+ describe('RCPageTitle.vue', () => {
16
+ it('page title is rendered with correct text', async () => {
17
+ const wrapper = mount(RCPageTitle, {
18
+ props: { text: titleText },
19
+ global: {
20
+ provide: {
21
+ theme,
22
+ },
23
+ },
24
+ })
25
+
26
+ const pageTitleText = wrapper.find('[data-test-id="page_title_text"]')
27
+
28
+ expect(pageTitleText.exists()).toBe(true)
29
+ expect(pageTitleText.text()).toContain(titleText)
30
+ }),
31
+ it('page title tooltip is rendered with correct text prop content', async () => {
32
+ const wrapper = mount(RCPageTitle, {
33
+ props: { text: titleText, infoText: infoText },
34
+ global: {
35
+ provide: {
36
+ theme,
37
+ },
38
+ },
39
+ })
40
+
41
+ const toltipComponent = wrapper.findComponent(RCInfoText)
42
+
43
+ expect(toltipComponent.exists()).toBe(true)
44
+ expect(toltipComponent.vm.text).toContain(infoText)
45
+ })
46
+ })
@@ -1,148 +1,148 @@
1
- <template>
2
- <!-- Check, if pages more than 1 -->
3
- <PaginationWrapper v-if="paginationParams.pages > 1">
4
- <!-- Back button -->
5
- <PaginationLink
6
- v-if="paginationParams.previous"
7
- @click="fetchPage(paginationParams.previous)"
8
- >
9
- <ArrowIconContainer>
10
- <RCIcon
11
- :color="getTheme.colors.brightBlue"
12
- name="arrow_left"
13
- size="12px"
14
- />
15
- </ArrowIconContainer>
16
- <ArrowText>{{ $gettext('back') }}</ArrowText>
17
- </PaginationLink>
18
-
19
- <!-- First page -->
20
- <PaginationLink
21
- v-if="currentPage > 2 && paginationParams.pages > 3"
22
- @click="fetchPage(1)"
23
- >
24
- 1
25
- </PaginationLink>
26
-
27
- <!-- Back tree dots -->
28
- <span v-if="currentPage > 3 && paginationParams.pages > 4">...</span>
29
-
30
- <!-- Current block -->
31
- <PaginationLink
32
- v-for="number in paginationNumbers()"
33
- :key="number"
34
- :class="[currentPage === number ? 'active' : '']"
35
- @click="fetchPage(number)"
36
- >
37
- {{ number }}
38
- </PaginationLink>
39
-
40
- <!-- Forward tree dots -->
41
- <span
42
- v-if="
43
- paginationParams.pages - currentPage > 2 && paginationParams.pages > 4
44
- "
45
- >...</span
46
- >
47
-
48
- <!-- End page -->
49
- <PaginationLink
50
- v-if="
51
- paginationParams.pages - currentPage > 1 && paginationParams.pages > 3
52
- "
53
- @click="fetchPage(paginationParams.pages)"
54
- >
55
- {{ paginationParams.pages }}
56
- </PaginationLink>
57
-
58
- <!-- Forward button -->
59
- <PaginationLink
60
- v-if="paginationParams.next"
61
- @click="fetchPage(paginationParams.next)"
62
- >
63
- <ArrowText>{{ $gettext('forward') }}</ArrowText>
64
- <ArrowIconContainer>
65
- <RCIcon
66
- :color="getTheme.colors.brightBlue"
67
- name="arrow_right"
68
- size="12px"
69
- />
70
- </ArrowIconContainer>
71
- </PaginationLink>
72
- </PaginationWrapper>
73
- </template>
74
-
75
- <script>
76
- import styled from 'vue3-styled-components'
77
- import RCIcon from '../icon'
78
- import theme from '@/assets/theme.js'
79
-
80
- const PaginationWrapper = styled.nav`
81
- color: ${(props) => props.theme.colors.brightBlue};
82
- font-size: 13px;
83
- display: flex;
84
- flex-wrap: wrap;
85
- justify-content: flex-end;
86
- align-items: center;
87
- `
88
- const PaginationLink = styled.div`
89
- display: flex;
90
- padding: 0px 5px;
91
- margin: 0 2px;
92
- text-align: center;
93
- border-radius: 3px;
94
- white-space: nowrap;
95
- cursor: pointer;
96
- color: ${(props) => props.theme.colors.brightBlue};
97
-
98
- &.active {
99
- color: ${(props) => props.theme.colors.white};
100
- background-color: ${(props) => props.theme.colors.brightBlue};
101
- padding: 7px 12px;
102
- border-radius: 4px;
103
- }
104
- `
105
- const ArrowText = styled.div`
106
- color: ${(props) => props.theme.colors.brightBlue};
107
- `
108
- const ArrowIconContainer = styled.div`
109
- margin: 0 10px;
110
- display: flex;
111
- align-items: center;
112
- `
113
- export default {
114
- name: 'PaginationComponent',
115
- components: {
116
- PaginationWrapper,
117
- PaginationLink,
118
- RCIcon,
119
- ArrowText,
120
- ArrowIconContainer,
121
- },
122
- props: ['fetchPage', 'currentPage', 'paginationParams'],
123
- computed: {
124
- getTheme() {
125
- return theme
126
- },
127
- },
128
- methods: {
129
- getNewProjects(num) {
130
- this.$emit('on-pagination-change', num)
131
- },
132
- paginationNumbers() {
133
- const prev = this.paginationParams.previous
134
- const next = this.paginationParams.next
135
- const n = prev + 1 || next - 1
136
- if (this.paginationParams.pages === 2) {
137
- return prev ? [n - 1, n] : [n, n + 1]
138
- } else {
139
- return prev
140
- ? next
141
- ? [n - 1, n, n + 1]
142
- : [n - 2, n - 1, n]
143
- : [n, n + 1, n + 2]
144
- }
145
- },
146
- },
147
- }
148
- </script>
1
+ <template>
2
+ <!-- Check, if pages more than 1 -->
3
+ <PaginationWrapper v-if="paginationParams.pages > 1">
4
+ <!-- Back button -->
5
+ <PaginationLink
6
+ v-if="paginationParams.previous"
7
+ @click="fetchPage(paginationParams.previous)"
8
+ >
9
+ <ArrowIconContainer>
10
+ <RCIcon
11
+ :color="getTheme.colors.brightBlue"
12
+ name="arrow_left"
13
+ size="12px"
14
+ />
15
+ </ArrowIconContainer>
16
+ <ArrowText>{{ $gettext('back') }}</ArrowText>
17
+ </PaginationLink>
18
+
19
+ <!-- First page -->
20
+ <PaginationLink
21
+ v-if="currentPage > 2 && paginationParams.pages > 3"
22
+ @click="fetchPage(1)"
23
+ >
24
+ 1
25
+ </PaginationLink>
26
+
27
+ <!-- Back tree dots -->
28
+ <span v-if="currentPage > 3 && paginationParams.pages > 4">...</span>
29
+
30
+ <!-- Current block -->
31
+ <PaginationLink
32
+ v-for="number in paginationNumbers()"
33
+ :key="number"
34
+ :class="[currentPage === number ? 'active' : '']"
35
+ @click="fetchPage(number)"
36
+ >
37
+ {{ number }}
38
+ </PaginationLink>
39
+
40
+ <!-- Forward tree dots -->
41
+ <span
42
+ v-if="
43
+ paginationParams.pages - currentPage > 2 && paginationParams.pages > 4
44
+ "
45
+ >...</span
46
+ >
47
+
48
+ <!-- End page -->
49
+ <PaginationLink
50
+ v-if="
51
+ paginationParams.pages - currentPage > 1 && paginationParams.pages > 3
52
+ "
53
+ @click="fetchPage(paginationParams.pages)"
54
+ >
55
+ {{ paginationParams.pages }}
56
+ </PaginationLink>
57
+
58
+ <!-- Forward button -->
59
+ <PaginationLink
60
+ v-if="paginationParams.next"
61
+ @click="fetchPage(paginationParams.next)"
62
+ >
63
+ <ArrowText>{{ $gettext('forward') }}</ArrowText>
64
+ <ArrowIconContainer>
65
+ <RCIcon
66
+ :color="getTheme.colors.brightBlue"
67
+ name="arrow_right"
68
+ size="12px"
69
+ />
70
+ </ArrowIconContainer>
71
+ </PaginationLink>
72
+ </PaginationWrapper>
73
+ </template>
74
+
75
+ <script>
76
+ import styled from 'vue3-styled-components'
77
+ import RCIcon from '../icon'
78
+ import theme from '@/assets/theme.js'
79
+
80
+ const PaginationWrapper = styled.nav`
81
+ color: ${(props) => props.theme.colors.brightBlue};
82
+ font-size: 13px;
83
+ display: flex;
84
+ flex-wrap: wrap;
85
+ justify-content: flex-end;
86
+ align-items: center;
87
+ `
88
+ const PaginationLink = styled.div`
89
+ display: flex;
90
+ padding: 0px 5px;
91
+ margin: 0 2px;
92
+ text-align: center;
93
+ border-radius: 3px;
94
+ white-space: nowrap;
95
+ cursor: pointer;
96
+ color: ${(props) => props.theme.colors.brightBlue};
97
+
98
+ &.active {
99
+ color: ${(props) => props.theme.colors.white};
100
+ background-color: ${(props) => props.theme.colors.brightBlue};
101
+ padding: 7px 12px;
102
+ border-radius: 4px;
103
+ }
104
+ `
105
+ const ArrowText = styled.div`
106
+ color: ${(props) => props.theme.colors.brightBlue};
107
+ `
108
+ const ArrowIconContainer = styled.div`
109
+ margin: 0 10px;
110
+ display: flex;
111
+ align-items: center;
112
+ `
113
+ export default {
114
+ name: 'PaginationComponent',
115
+ components: {
116
+ PaginationWrapper,
117
+ PaginationLink,
118
+ RCIcon,
119
+ ArrowText,
120
+ ArrowIconContainer,
121
+ },
122
+ props: ['fetchPage', 'currentPage', 'paginationParams'],
123
+ computed: {
124
+ getTheme() {
125
+ return theme
126
+ },
127
+ },
128
+ methods: {
129
+ getNewProjects(num) {
130
+ this.$emit('on-pagination-change', num)
131
+ },
132
+ paginationNumbers() {
133
+ const prev = this.paginationParams.previous
134
+ const next = this.paginationParams.next
135
+ const n = prev + 1 || next - 1
136
+ if (this.paginationParams.pages === 2) {
137
+ return prev ? [n - 1, n] : [n, n + 1]
138
+ } else {
139
+ return prev
140
+ ? next
141
+ ? [n - 1, n, n + 1]
142
+ : [n - 2, n - 1, n]
143
+ : [n, n + 1, n + 2]
144
+ }
145
+ },
146
+ },
147
+ }
148
+ </script>