@eturnity/eturnity_reusable_components 7.24.3-EPDM-11250.0 → 7.24.3-EPDM-8441.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 (320) hide show
  1. package/.prettierrc +6 -6
  2. package/.storybook/main.js +8 -8
  3. package/.storybook/preview.js +46 -46
  4. package/README.md +29 -29
  5. package/babel.config.js +5 -5
  6. package/package.json +62 -62
  7. package/postcss.config.js +6 -6
  8. package/public/index.html +17 -17
  9. package/src/App.vue +109 -109
  10. package/src/assets/icons/arrow_down.svg +3 -3
  11. package/src/assets/icons/arrow_up_red.svg +3 -3
  12. package/src/assets/icons/black_spinner.svg +35 -35
  13. package/src/assets/icons/delete_icon.svg +11 -11
  14. package/src/assets/icons/delete_icon_gray.svg +11 -11
  15. package/src/assets/icons/drag_icon.svg +8 -8
  16. package/src/assets/icons/external_icon.svg +6 -6
  17. package/src/assets/icons/language_icon.svg +6 -6
  18. package/src/assets/icons/pdf_icon.svg +6 -6
  19. package/src/assets/icons/plus_button.svg +4 -4
  20. package/src/assets/icons/search_icon_black.svg +3 -3
  21. package/src/assets/icons/subposition_icon.svg +3 -3
  22. package/src/assets/icons/subposition_marker.svg +3 -3
  23. package/src/assets/icons/warning_icon.svg +3 -3
  24. package/src/assets/svgIcons/2d_active.svg +7 -7
  25. package/src/assets/svgIcons/2d_inactive.svg +8 -8
  26. package/src/assets/svgIcons/3d_active.svg +7 -7
  27. package/src/assets/svgIcons/3d_inactive.svg +8 -8
  28. package/src/assets/svgIcons/_readme.md +7 -7
  29. package/src/assets/svgIcons/accept.svg +5 -5
  30. package/src/assets/svgIcons/activate_panels_active.svg +22 -22
  31. package/src/assets/svgIcons/activate_panels_inactive.svg +20 -20
  32. package/src/assets/svgIcons/add_icon-1.svg +3 -3
  33. package/src/assets/svgIcons/add_icon.svg +4 -4
  34. package/src/assets/svgIcons/address_book.svg +3 -3
  35. package/src/assets/svgIcons/after_sale_as_a_service.svg +6 -6
  36. package/src/assets/svgIcons/all_good.svg +3 -3
  37. package/src/assets/svgIcons/angle_active.svg +5 -5
  38. package/src/assets/svgIcons/angle_inactive.svg +4 -4
  39. package/src/assets/svgIcons/area_active.svg +11 -11
  40. package/src/assets/svgIcons/area_inactive.svg +26 -26
  41. package/src/assets/svgIcons/areas_tool.svg +14 -14
  42. package/src/assets/svgIcons/arrow_down.svg +3 -3
  43. package/src/assets/svgIcons/arrow_left.svg +4 -4
  44. package/src/assets/svgIcons/arrow_right.svg +4 -4
  45. package/src/assets/svgIcons/arrow_up.svg +3 -3
  46. package/src/assets/svgIcons/attachment.svg +3 -3
  47. package/src/assets/svgIcons/base_layer.svg +3 -3
  48. package/src/assets/svgIcons/battery.svg +3 -3
  49. package/src/assets/svgIcons/bell.svg +3 -3
  50. package/src/assets/svgIcons/bexio.svg +4 -4
  51. package/src/assets/svgIcons/bold.svg +3 -3
  52. package/src/assets/svgIcons/bom.svg +3 -3
  53. package/src/assets/svgIcons/bom_generation.svg +10 -10
  54. package/src/assets/svgIcons/bookmaker.svg +3 -3
  55. package/src/assets/svgIcons/bubble.svg +3 -3
  56. package/src/assets/svgIcons/bug.svg +5 -5
  57. package/src/assets/svgIcons/bullet_list.svg +8 -8
  58. package/src/assets/svgIcons/calendar.svg +7 -7
  59. package/src/assets/svgIcons/calendar_icon.svg +7 -7
  60. package/src/assets/svgIcons/call.svg +3 -3
  61. package/src/assets/svgIcons/camera.svg +3 -3
  62. package/src/assets/svgIcons/car.svg +3 -3
  63. package/src/assets/svgIcons/cart.svg +3 -3
  64. package/src/assets/svgIcons/charger_icon_white.svg +44 -44
  65. package/src/assets/svgIcons/checkbox.svg +3 -3
  66. package/src/assets/svgIcons/clear_formatting.svg +7 -7
  67. package/src/assets/svgIcons/clickable_info.svg +4 -4
  68. package/src/assets/svgIcons/clip.svg +3 -3
  69. package/src/assets/svgIcons/clock.svg +17 -17
  70. package/src/assets/svgIcons/clock_full.svg +3 -3
  71. package/src/assets/svgIcons/close_for_modals,_tool_tips.svg +4 -4
  72. package/src/assets/svgIcons/co_branding.svg +5 -5
  73. package/src/assets/svgIcons/collapse.svg +4 -4
  74. package/src/assets/svgIcons/collections.svg +3 -3
  75. package/src/assets/svgIcons/component_library.svg +7 -7
  76. package/src/assets/svgIcons/consumption_tariffs.svg +43 -43
  77. package/src/assets/svgIcons/context_menu-1.svg +6 -6
  78. package/src/assets/svgIcons/context_menu-2.svg +5 -5
  79. package/src/assets/svgIcons/context_menu.svg +5 -5
  80. package/src/assets/svgIcons/context_menu_tabs.svg +5 -5
  81. package/src/assets/svgIcons/cross.svg +4 -4
  82. package/src/assets/svgIcons/current_variant.svg +4 -4
  83. package/src/assets/svgIcons/dashboard.svg +3 -3
  84. package/src/assets/svgIcons/data_transfer.svg +3 -3
  85. package/src/assets/svgIcons/deadline.svg +4 -4
  86. package/src/assets/svgIcons/deal_flow.svg +5 -5
  87. package/src/assets/svgIcons/delete.svg +4 -4
  88. package/src/assets/svgIcons/delete_area_active.svg +16 -16
  89. package/src/assets/svgIcons/delete_area_inactive.svg +15 -15
  90. package/src/assets/svgIcons/direction_active-1.svg +12 -12
  91. package/src/assets/svgIcons/direction_active.svg +5 -5
  92. package/src/assets/svgIcons/direction_arrow.svg +4 -4
  93. package/src/assets/svgIcons/direction_inactive.svg +4 -4
  94. package/src/assets/svgIcons/dislike.svg +3 -3
  95. package/src/assets/svgIcons/distance_tool.svg +8 -8
  96. package/src/assets/svgIcons/distances_active.svg +9 -9
  97. package/src/assets/svgIcons/distances_inactive.svg +8 -8
  98. package/src/assets/svgIcons/distort_tool.svg +10 -10
  99. package/src/assets/svgIcons/distort_tool2.svg +16 -16
  100. package/src/assets/svgIcons/document.svg +3 -3
  101. package/src/assets/svgIcons/documents.svg +4 -4
  102. package/src/assets/svgIcons/downarrow.svg +3 -3
  103. package/src/assets/svgIcons/download.svg +4 -4
  104. package/src/assets/svgIcons/drag_icon.svg +8 -8
  105. package/src/assets/svgIcons/draggable_corner.svg +5 -5
  106. package/src/assets/svgIcons/draw_tool.svg +3 -3
  107. package/src/assets/svgIcons/duplicate-1.svg +8 -8
  108. package/src/assets/svgIcons/duplicate-2.svg +5 -5
  109. package/src/assets/svgIcons/duplicate.svg +4 -4
  110. package/src/assets/svgIcons/e-mobility_configurator.svg +6 -6
  111. package/src/assets/svgIcons/e_signature.svg +5 -5
  112. package/src/assets/svgIcons/edit_button.svg +3 -3
  113. package/src/assets/svgIcons/electricity_tariff.svg +3 -3
  114. package/src/assets/svgIcons/email.svg +3 -3
  115. package/src/assets/svgIcons/ems-1.svg +3 -3
  116. package/src/assets/svgIcons/ems.svg +3 -3
  117. package/src/assets/svgIcons/end_of_the_list.svg +5 -5
  118. package/src/assets/svgIcons/erase.svg +4 -4
  119. package/src/assets/svgIcons/external_icon.svg +5 -5
  120. package/src/assets/svgIcons/fav_icon.svg +4 -4
  121. package/src/assets/svgIcons/finance.svg +3 -3
  122. package/src/assets/svgIcons/financing_for_pv-1.svg +5 -5
  123. package/src/assets/svgIcons/financing_for_pv-2.svg +3 -3
  124. package/src/assets/svgIcons/financing_for_pv.svg +6 -6
  125. package/src/assets/svgIcons/finish-1.svg +4 -4
  126. package/src/assets/svgIcons/finish.svg +3 -3
  127. package/src/assets/svgIcons/flatten.svg +11 -11
  128. package/src/assets/svgIcons/flatten_roof.svg +20 -20
  129. package/src/assets/svgIcons/folder.svg +3 -3
  130. package/src/assets/svgIcons/free_technology.svg +5 -5
  131. package/src/assets/svgIcons/handle.svg +5 -5
  132. package/src/assets/svgIcons/heat_calc.svg +7 -7
  133. package/src/assets/svgIcons/height_equalize.svg +3 -3
  134. package/src/assets/svgIcons/height_snap.svg +3 -3
  135. package/src/assets/svgIcons/house.svg +3 -3
  136. package/src/assets/svgIcons/house_3d-1.svg +7 -7
  137. package/src/assets/svgIcons/house_3d.svg +7 -7
  138. package/src/assets/svgIcons/inclination.svg +2 -2
  139. package/src/assets/svgIcons/info.svg +3 -3
  140. package/src/assets/svgIcons/initial_situation.svg +3 -3
  141. package/src/assets/svgIcons/integrations.svg +3 -3
  142. package/src/assets/svgIcons/intro-tour-1.svg +3 -3
  143. package/src/assets/svgIcons/intro-tour.svg +3 -3
  144. package/src/assets/svgIcons/inverter-1.svg +5 -5
  145. package/src/assets/svgIcons/inverter.svg +3 -3
  146. package/src/assets/svgIcons/italic.svg +3 -3
  147. package/src/assets/svgIcons/key.svg +3 -3
  148. package/src/assets/svgIcons/layers_close.svg +4 -4
  149. package/src/assets/svgIcons/layers_open.svg +4 -4
  150. package/src/assets/svgIcons/lead_marketplace.svg +6 -6
  151. package/src/assets/svgIcons/lead_provider.svg +4 -4
  152. package/src/assets/svgIcons/length_2d.svg +2 -2
  153. package/src/assets/svgIcons/length_3d.svg +4 -4
  154. package/src/assets/svgIcons/length_calculator.svg +2 -2
  155. package/src/assets/svgIcons/length_in_2d_active.svg +12 -12
  156. package/src/assets/svgIcons/length_in_2d_inctive.svg +13 -13
  157. package/src/assets/svgIcons/light_bulb.svg +3 -3
  158. package/src/assets/svgIcons/like.svg +3 -3
  159. package/src/assets/svgIcons/line_graph.svg +3 -3
  160. package/src/assets/svgIcons/local_subsidies.svg +18 -18
  161. package/src/assets/svgIcons/location.svg +3 -3
  162. package/src/assets/svgIcons/lock.svg +3 -3
  163. package/src/assets/svgIcons/logout.svg +3 -3
  164. package/src/assets/svgIcons/loop.svg +3 -3
  165. package/src/assets/svgIcons/lunch.svg +4 -4
  166. package/src/assets/svgIcons/magic_tool.svg +6 -6
  167. package/src/assets/svgIcons/map_icon.svg +5 -5
  168. package/src/assets/svgIcons/map_settings.svg +3 -3
  169. package/src/assets/svgIcons/margin_tool.svg +4 -4
  170. package/src/assets/svgIcons/meeting.svg +6 -6
  171. package/src/assets/svgIcons/move_copy.svg +4 -4
  172. package/src/assets/svgIcons/new_area_inactive.svg +11 -11
  173. package/src/assets/svgIcons/next.svg +4 -4
  174. package/src/assets/svgIcons/not_equal_to.svg +3 -3
  175. package/src/assets/svgIcons/numbered_list.svg +6 -6
  176. package/src/assets/svgIcons/obstacle_tool.svg +9 -9
  177. package/src/assets/svgIcons/obstacle_tool_origin.svg +3 -3
  178. package/src/assets/svgIcons/offset_tool.svg +8 -8
  179. package/src/assets/svgIcons/outline_tool.svg +11 -11
  180. package/src/assets/svgIcons/pan_tool.svg +12 -12
  181. package/src/assets/svgIcons/panels_tool.svg +8 -8
  182. package/src/assets/svgIcons/pen_tool.svg +4 -4
  183. package/src/assets/svgIcons/picker_tool.svg +4 -4
  184. package/src/assets/svgIcons/picture.svg +3 -3
  185. package/src/assets/svgIcons/pin.svg +5 -5
  186. package/src/assets/svgIcons/presentation.svg +3 -3
  187. package/src/assets/svgIcons/previous.svg +4 -4
  188. package/src/assets/svgIcons/profile-1.svg +4 -4
  189. package/src/assets/svgIcons/profile.svg +4 -4
  190. package/src/assets/svgIcons/profitability.svg +3 -3
  191. package/src/assets/svgIcons/project_analysis.svg +4 -4
  192. package/src/assets/svgIcons/project_settings.svg +4 -4
  193. package/src/assets/svgIcons/pv.svg +3 -3
  194. package/src/assets/svgIcons/quotations.svg +6 -6
  195. package/src/assets/svgIcons/redo.svg +6 -6
  196. package/src/assets/svgIcons/resizer.svg +5 -5
  197. package/src/assets/svgIcons/roof_layer.svg +3 -3
  198. package/src/assets/svgIcons/rotate_tool.svg +3 -3
  199. package/src/assets/svgIcons/rotate_view.svg +5 -5
  200. package/src/assets/svgIcons/ruler_tool.svg +3 -3
  201. package/src/assets/svgIcons/run_simulation.svg +3 -3
  202. package/src/assets/svgIcons/save.svg +3 -3
  203. package/src/assets/svgIcons/scaling_tool.svg +8 -8
  204. package/src/assets/svgIcons/search.svg +3 -3
  205. package/src/assets/svgIcons/security.svg +3 -3
  206. package/src/assets/svgIcons/settings.svg +3 -3
  207. package/src/assets/svgIcons/show_in_a_new_tab.svg +12 -12
  208. package/src/assets/svgIcons/smartphone.svg +4 -4
  209. package/src/assets/svgIcons/solar_calc.svg +13 -13
  210. package/src/assets/svgIcons/sorting.svg +4 -4
  211. package/src/assets/svgIcons/split.svg +12 -12
  212. package/src/assets/svgIcons/start_of_the_list.svg +5 -5
  213. package/src/assets/svgIcons/strikethrough.svg +4 -4
  214. package/src/assets/svgIcons/subscriptions.svg +3 -3
  215. package/src/assets/svgIcons/subsidies-1.svg +5 -5
  216. package/src/assets/svgIcons/subsidies-2.svg +3 -3
  217. package/src/assets/svgIcons/subsidies.svg +3 -3
  218. package/src/assets/svgIcons/subtract_icon.svg +3 -3
  219. package/src/assets/svgIcons/suitcase.svg +3 -3
  220. package/src/assets/svgIcons/summer.svg +3 -3
  221. package/src/assets/svgIcons/template_icon_not_clickable.svg +6 -6
  222. package/src/assets/svgIcons/transfer.svg +4 -4
  223. package/src/assets/svgIcons/trim_tool.svg +4 -4
  224. package/src/assets/svgIcons/truck.svg +3 -3
  225. package/src/assets/svgIcons/underlined.svg +3 -3
  226. package/src/assets/svgIcons/undo.svg +6 -6
  227. package/src/assets/svgIcons/uparrow.svg +3 -3
  228. package/src/assets/svgIcons/update.svg +3 -3
  229. package/src/assets/svgIcons/upload_avatar-1.svg +12 -12
  230. package/src/assets/svgIcons/upload_avatar.svg +5 -5
  231. package/src/assets/svgIcons/upload_image.svg +8 -8
  232. package/src/assets/svgIcons/upload_image_tool.svg +7 -7
  233. package/src/assets/svgIcons/variants.svg +6 -6
  234. package/src/assets/svgIcons/vertical_tool.svg +3 -3
  235. package/src/assets/svgIcons/virtual_storage.svg +4 -4
  236. package/src/assets/svgIcons/warning.svg +4 -4
  237. package/src/assets/svgIcons/way.svg +5 -5
  238. package/src/assets/svgIcons/wifi.svg +3 -3
  239. package/src/assets/svgIcons/winter.svg +3 -3
  240. package/src/assets/svgIcons/workflow_template.svg +11 -11
  241. package/src/assets/theme.js +41 -41
  242. package/src/components/addNewButton/AddNewButton.stories.js +24 -24
  243. package/src/components/addNewButton/index.vue +64 -64
  244. package/src/components/banner/actionBanner/index.vue +65 -65
  245. package/src/components/banner/banner/banner.stories.js +31 -31
  246. package/src/components/banner/banner/index.vue +188 -188
  247. package/src/components/banner/infoBanner/index.vue +69 -69
  248. package/src/components/buttons/buttonIcon/index.vue +142 -142
  249. package/src/components/buttons/closeButton/CloseButton.stories.js +29 -29
  250. package/src/components/buttons/closeButton/index.vue +61 -61
  251. package/src/components/buttons/mainButton/index.vue +140 -140
  252. package/src/components/card/index.vue +96 -96
  253. package/src/components/collapsableInfoText/index.vue +125 -125
  254. package/src/components/deleteIcon/DeleteIcon.stories.js +29 -29
  255. package/src/components/deleteIcon/index.vue +78 -78
  256. package/src/components/draggableInputHandle/index.vue +46 -46
  257. package/src/components/dropdown/Dropdown.stories.js +54 -54
  258. package/src/components/dropdown/index.vue +138 -138
  259. package/src/components/errorMessage/index.vue +64 -64
  260. package/src/components/filter/filterSettings.vue +633 -633
  261. package/src/components/filter/index.vue +154 -154
  262. package/src/components/filter/parentDropdown.vue +91 -91
  263. package/src/components/icon/Icons.stories.js +41 -41
  264. package/src/components/icon/iconCache.js +23 -23
  265. package/src/components/icon/iconCollection.vue +68 -68
  266. package/src/components/icon/index.vue +139 -139
  267. package/src/components/iconWrapper/index.vue +179 -179
  268. package/src/components/infoCard/index.vue +35 -35
  269. package/src/components/infoText/index.vue +160 -160
  270. package/src/components/inputs/checkbox/Checkbox.stories.js +57 -57
  271. package/src/components/inputs/checkbox/index.vue +214 -214
  272. package/src/components/inputs/inputNumber/InputNumber.stories.js +150 -150
  273. package/src/components/inputs/inputNumber/index.vue +710 -710
  274. package/src/components/inputs/inputNumberQuestion/index.vue +215 -215
  275. package/src/components/inputs/inputText/InputText.stories.js +75 -75
  276. package/src/components/inputs/inputText/index.vue +392 -375
  277. package/src/components/inputs/radioButton/RadioButton.stories.js +58 -58
  278. package/src/components/inputs/radioButton/index.vue +270 -270
  279. package/src/components/inputs/searchInput/SearchInput.stories.js +40 -40
  280. package/src/components/inputs/searchInput/index.vue +150 -150
  281. package/src/components/inputs/select/index.vue +996 -885
  282. package/src/components/inputs/select/option/index.vue +144 -148
  283. package/src/components/inputs/select/select.stories.js +59 -59
  284. package/src/components/inputs/slider/index.vue +126 -126
  285. package/src/components/inputs/switchField/index.vue +256 -256
  286. package/src/components/inputs/textAreaInput/TextAreaInput.stories.js +127 -127
  287. package/src/components/inputs/textAreaInput/index.vue +200 -200
  288. package/src/components/inputs/toggle/Toggle.stories.js +77 -77
  289. package/src/components/inputs/toggle/index.vue +288 -288
  290. package/src/components/label/index.vue +99 -99
  291. package/src/components/markerItem/index.vue +86 -86
  292. package/src/components/modals/actionModal/index.vue +64 -64
  293. package/src/components/modals/infoModal/index.vue +49 -49
  294. package/src/components/modals/modal/index.vue +188 -188
  295. package/src/components/modals/modal/modal.stories.js +31 -31
  296. package/src/components/navigationTabs/index.vue +112 -112
  297. package/src/components/pageSubtitle/index.vue +61 -61
  298. package/src/components/pageTitle/index.vue +68 -68
  299. package/src/components/pagination/index.vue +145 -145
  300. package/src/components/progressBar/index.vue +125 -125
  301. package/src/components/projectMarker/index.vue +298 -298
  302. package/src/components/rangeSlider/Slider.vue +547 -547
  303. package/src/components/rangeSlider/index.vue +517 -517
  304. package/src/components/rangeSlider/utils/dom.js +49 -49
  305. package/src/components/rangeSlider/utils/fns.js +26 -26
  306. package/src/components/selectedOptions/index.vue +145 -145
  307. package/src/components/sideMenu/index.vue +270 -270
  308. package/src/components/spinner/index.vue +68 -68
  309. package/src/components/tableDropdown/index.vue +638 -638
  310. package/src/components/tables/mainTable/exampleNested.vue +328 -328
  311. package/src/components/tables/mainTable/index.vue +447 -447
  312. package/src/components/tables/viewTable/index.vue +195 -195
  313. package/src/components/threeDots/index.vue +407 -407
  314. package/src/components/videoThumbnail/index.vue +103 -103
  315. package/src/components/videoThumbnail/videoThumbnail.stories.js +35 -35
  316. package/src/helpers/currencyMapping.js +28 -28
  317. package/src/helpers/numberConverter.js +103 -105
  318. package/src/helpers/translateLang.js +128 -131
  319. package/src/main.js +6 -6
  320. package/src/mixins/inputValidations.js +97 -97
@@ -1,125 +1,125 @@
1
- <template>
2
- <div>
3
- <Text :expand="showButton && showAll" :fontSize="fontSize">{{ text }}</Text>
4
- <ToggleContainer>
5
- <ToggleButton
6
- @click="toggleHandler"
7
- v-if="showButton && !showAll"
8
- :fontSize="fontSize"
9
- >
10
- {{ $gettext('Show more') }}
11
- </ToggleButton>
12
- <ToggleButton
13
- @click="toggleHandler"
14
- v-if="showButton && showAll"
15
- :fontSize="fontSize"
16
- >
17
- {{ $gettext('Show less') }}
18
- </ToggleButton>
19
- </ToggleContainer>
20
- </div>
21
- </template>
22
-
23
- <script>
24
- import styled from 'vue3-styled-components'
25
- import theme from '@/assets/theme.js'
26
-
27
- const TextAttrs = {
28
- expand: Boolean,
29
- fontSize: String
30
- }
31
- const Text = styled('p', TextAttrs)`
32
- display: block;
33
- display: -webkit-box;
34
- line-height: 1.3em;
35
- -webkit-line-clamp: ${(props) => (props.expand ? 'unset' : '4')};
36
- -webkit-box-orient: vertical;
37
- overflow: hidden;
38
- font-size: ${(props) => props.fontSize}px;
39
- text-overflow: ellipsis;
40
- `
41
-
42
- const ToggleContainer = styled.div`
43
- display: flex;
44
- width: 100%;
45
- `
46
-
47
- const ToggleButton = styled('p', TextAttrs)`
48
- font-size: ${(props) => props.fontSize}px;
49
- cursor: pointer;
50
- color: ${(props) => props.theme.colors.blue};
51
- `
52
-
53
- export default {
54
- name: 'collapsable-info-text',
55
- props: {
56
- text: {
57
- type: String,
58
- required: true
59
- },
60
- fontSize: {
61
- type: String,
62
- default: '16px'
63
- },
64
- lineCount: {
65
- type: Number,
66
- default: 3
67
- },
68
- minWidth: {
69
- type: String,
70
- default: '100%'
71
- }
72
- },
73
- components: {
74
- Text,
75
- ToggleButton,
76
- ToggleContainer
77
- },
78
- data() {
79
- return {
80
- showButton: true,
81
- showAll: false,
82
- lineBreaks: []
83
- }
84
- },
85
- computed: {
86
- theme() {
87
- return theme
88
- }
89
- },
90
- methods: {
91
- displayText() {
92
- if (!this.showButton) {
93
- return this.text
94
- }
95
- if (!this.showAll) {
96
- let countIndex = 0
97
- this.lineBreaks.forEach((el, index) => {
98
- if (index < this.lineCount) {
99
- countIndex += el.length
100
- }
101
- })
102
-
103
- return this.text.slice(0, countIndex + 2) + '...'
104
- } else {
105
- return this.text
106
- }
107
- },
108
- toggleHandler() {
109
- this.showAll = !this.showAll
110
- }
111
- },
112
- created() {
113
- // TODO: this should divide the text into lines based on with. Currently it's just splitting by line breaks
114
- // this.lineBreaks = this.text.split('\n')
115
-
116
- // if (this.lineBreaks.length <= this.lineCount) {
117
- // this.showButton = false
118
- // }
119
-
120
- if (this.text.length <= 170) {
121
- this.showButton = false
122
- }
123
- }
124
- }
125
- </script>
1
+ <template>
2
+ <div>
3
+ <Text :expand="showButton && showAll" :fontSize="fontSize">{{ text }}</Text>
4
+ <ToggleContainer>
5
+ <ToggleButton
6
+ @click="toggleHandler"
7
+ v-if="showButton && !showAll"
8
+ :fontSize="fontSize"
9
+ >
10
+ {{ $gettext('Show more') }}
11
+ </ToggleButton>
12
+ <ToggleButton
13
+ @click="toggleHandler"
14
+ v-if="showButton && showAll"
15
+ :fontSize="fontSize"
16
+ >
17
+ {{ $gettext('Show less') }}
18
+ </ToggleButton>
19
+ </ToggleContainer>
20
+ </div>
21
+ </template>
22
+
23
+ <script>
24
+ import styled from 'vue3-styled-components'
25
+ import theme from '@/assets/theme.js'
26
+
27
+ const TextAttrs = {
28
+ expand: Boolean,
29
+ fontSize: String
30
+ }
31
+ const Text = styled('p', TextAttrs)`
32
+ display: block;
33
+ display: -webkit-box;
34
+ line-height: 1.3em;
35
+ -webkit-line-clamp: ${(props) => (props.expand ? 'unset' : '4')};
36
+ -webkit-box-orient: vertical;
37
+ overflow: hidden;
38
+ font-size: ${(props) => props.fontSize}px;
39
+ text-overflow: ellipsis;
40
+ `
41
+
42
+ const ToggleContainer = styled.div`
43
+ display: flex;
44
+ width: 100%;
45
+ `
46
+
47
+ const ToggleButton = styled('p', TextAttrs)`
48
+ font-size: ${(props) => props.fontSize}px;
49
+ cursor: pointer;
50
+ color: ${(props) => props.theme.colors.blue};
51
+ `
52
+
53
+ export default {
54
+ name: 'collapsable-info-text',
55
+ props: {
56
+ text: {
57
+ type: String,
58
+ required: true
59
+ },
60
+ fontSize: {
61
+ type: String,
62
+ default: '16px'
63
+ },
64
+ lineCount: {
65
+ type: Number,
66
+ default: 3
67
+ },
68
+ minWidth: {
69
+ type: String,
70
+ default: '100%'
71
+ }
72
+ },
73
+ components: {
74
+ Text,
75
+ ToggleButton,
76
+ ToggleContainer
77
+ },
78
+ data() {
79
+ return {
80
+ showButton: true,
81
+ showAll: false,
82
+ lineBreaks: []
83
+ }
84
+ },
85
+ computed: {
86
+ theme() {
87
+ return theme
88
+ }
89
+ },
90
+ methods: {
91
+ displayText() {
92
+ if (!this.showButton) {
93
+ return this.text
94
+ }
95
+ if (!this.showAll) {
96
+ let countIndex = 0
97
+ this.lineBreaks.forEach((el, index) => {
98
+ if (index < this.lineCount) {
99
+ countIndex += el.length
100
+ }
101
+ })
102
+
103
+ return this.text.slice(0, countIndex + 2) + '...'
104
+ } else {
105
+ return this.text
106
+ }
107
+ },
108
+ toggleHandler() {
109
+ this.showAll = !this.showAll
110
+ }
111
+ },
112
+ created() {
113
+ // TODO: this should divide the text into lines based on with. Currently it's just splitting by line breaks
114
+ // this.lineBreaks = this.text.split('\n')
115
+
116
+ // if (this.lineBreaks.length <= this.lineCount) {
117
+ // this.showButton = false
118
+ // }
119
+
120
+ if (this.text.length <= 170) {
121
+ this.showButton = false
122
+ }
123
+ }
124
+ }
125
+ </script>
@@ -1,29 +1,29 @@
1
- import DeleteIcon from './index.vue'
2
-
3
- export default {
4
- title: 'DeleteIcon',
5
- component: DeleteIcon
6
- // argTypes: {},
7
- }
8
-
9
- const Template = (args, { argTypes }) => ({
10
- // Components used in your story `template` are defined in the `components` object
11
- components: { DeleteIcon },
12
- // The story's `args` need to be mapped into the template through the `setup()` method
13
- props: Object.keys(argTypes),
14
- template: '<delete-icon v-bind="$props" />'
15
-
16
- // import DeleteIcon from "@eturnity/eturnity_reusable_components/src/components/deleteIcon"
17
- // To use:
18
- // <delete-icon color="gray" @click="onDeleteItem(item)" :isDisabled="true" />
19
- })
20
-
21
- export const Default = Template.bind({})
22
- Default.args = {
23
- isDisabled: false
24
- }
25
-
26
- export const Disabled = Template.bind({})
27
- Disabled.args = {
28
- isDisabled: true
29
- }
1
+ import DeleteIcon from './index.vue'
2
+
3
+ export default {
4
+ title: 'DeleteIcon',
5
+ component: DeleteIcon
6
+ // argTypes: {},
7
+ }
8
+
9
+ const Template = (args, { argTypes }) => ({
10
+ // Components used in your story `template` are defined in the `components` object
11
+ components: { DeleteIcon },
12
+ // The story's `args` need to be mapped into the template through the `setup()` method
13
+ props: Object.keys(argTypes),
14
+ template: '<delete-icon v-bind="$props" />'
15
+
16
+ // import DeleteIcon from "@eturnity/eturnity_reusable_components/src/components/deleteIcon"
17
+ // To use:
18
+ // <delete-icon color="gray" @click="onDeleteItem(item)" :isDisabled="true" />
19
+ })
20
+
21
+ export const Default = Template.bind({})
22
+ Default.args = {
23
+ isDisabled: false
24
+ }
25
+
26
+ export const Disabled = Template.bind({})
27
+ Disabled.args = {
28
+ isDisabled: true
29
+ }
@@ -1,78 +1,78 @@
1
- <template>
2
- <wrapper :isDisabled="isDisabled">
3
- <delete-icon-red class="icon-red" :hoverBg="hoverBg" />
4
- <delete-icon-gray class="icon-gray" />
5
- </wrapper>
6
- </template>
7
-
8
- <script>
9
- // To use:
10
- // <delete-icon @click="onDeleteItem(item)" :isDisabled="true" />
11
- import styled from 'vue3-styled-components'
12
- import SvgDelete from '../../assets/icons/delete_icon.svg'
13
- import SvgDeleteGray from '../../assets/icons/delete_icon_gray.svg'
14
-
15
- const wrapperAttrs = { isDisabled: Boolean }
16
- const Wrapper = styled('div', wrapperAttrs)`
17
- width: 30px;
18
- height: 30px;
19
- cursor: ${(props) => (props.isDisabled ? 'not-allowed' : 'pointer')};
20
-
21
- .icon-red {
22
- display: none;
23
- }
24
-
25
- .icon-gray {
26
- display: inline;
27
- }
28
-
29
- ${(props) =>
30
- !props.isDisabled &&
31
- `
32
- &:hover {
33
- .icon-red {
34
- display: inline;
35
- }
36
-
37
- .icon-gray {
38
- display: none;
39
- }
40
- }
41
- `}
42
- `
43
-
44
- const IconImageAttrs = { hoverBg: String }
45
- const DeleteIconRed = styled(SvgDelete, IconImageAttrs)`
46
- &:hover {
47
- background-color: ${(props) =>
48
- props.hoverBg ? props.hoverBg : props.theme.colors.grey5};
49
- border-radius: 4px;
50
- }
51
- `
52
-
53
- const DeleteIconGray = styled(SvgDeleteGray, IconImageAttrs)`
54
- &:hover {
55
- background-color: ${(props) => props.theme.colors.grey5};
56
- border-radius: 4px;
57
- }
58
- `
59
-
60
- export default {
61
- name: 'delete-icon',
62
- components: {
63
- Wrapper,
64
- DeleteIconRed,
65
- DeleteIconGray
66
- },
67
- props: {
68
- isDisabled: {
69
- required: false,
70
- default: false
71
- },
72
- hoverBg: {
73
- required: false,
74
- default: ''
75
- }
76
- }
77
- }
78
- </script>
1
+ <template>
2
+ <wrapper :isDisabled="isDisabled">
3
+ <delete-icon-red class="icon-red" :hoverBg="hoverBg" />
4
+ <delete-icon-gray class="icon-gray" />
5
+ </wrapper>
6
+ </template>
7
+
8
+ <script>
9
+ // To use:
10
+ // <delete-icon @click="onDeleteItem(item)" :isDisabled="true" />
11
+ import styled from 'vue3-styled-components'
12
+ import SvgDelete from '../../assets/icons/delete_icon.svg'
13
+ import SvgDeleteGray from '../../assets/icons/delete_icon_gray.svg'
14
+
15
+ const wrapperAttrs = { isDisabled: Boolean }
16
+ const Wrapper = styled('div', wrapperAttrs)`
17
+ width: 30px;
18
+ height: 30px;
19
+ cursor: ${(props) => (props.isDisabled ? 'not-allowed' : 'pointer')};
20
+
21
+ .icon-red {
22
+ display: none;
23
+ }
24
+
25
+ .icon-gray {
26
+ display: inline;
27
+ }
28
+
29
+ ${(props) =>
30
+ !props.isDisabled &&
31
+ `
32
+ &:hover {
33
+ .icon-red {
34
+ display: inline;
35
+ }
36
+
37
+ .icon-gray {
38
+ display: none;
39
+ }
40
+ }
41
+ `}
42
+ `
43
+
44
+ const IconImageAttrs = { hoverBg: String }
45
+ const DeleteIconRed = styled(SvgDelete, IconImageAttrs)`
46
+ &:hover {
47
+ background-color: ${(props) =>
48
+ props.hoverBg ? props.hoverBg : props.theme.colors.grey5};
49
+ border-radius: 4px;
50
+ }
51
+ `
52
+
53
+ const DeleteIconGray = styled(SvgDeleteGray, IconImageAttrs)`
54
+ &:hover {
55
+ background-color: ${(props) => props.theme.colors.grey5};
56
+ border-radius: 4px;
57
+ }
58
+ `
59
+
60
+ export default {
61
+ name: 'delete-icon',
62
+ components: {
63
+ Wrapper,
64
+ DeleteIconRed,
65
+ DeleteIconGray
66
+ },
67
+ props: {
68
+ isDisabled: {
69
+ required: false,
70
+ default: false
71
+ },
72
+ hoverBg: {
73
+ required: false,
74
+ default: ''
75
+ }
76
+ }
77
+ }
78
+ </script>
@@ -1,46 +1,46 @@
1
- <template>
2
- <Handle :height="height" class="handle">
3
- <Dot></Dot>
4
- <Dot></Dot>
5
- <Dot></Dot>
6
- </Handle>
7
- </template>
8
-
9
- <script>
10
- import styled from 'vue3-styled-components'
11
-
12
- const Handle = styled('div', { height: String })`
13
- position: absolute;
14
- left: 0;
15
- margin-right: 10px;
16
- display: flex;
17
- align-items: stretch;
18
- flex-direction: column;
19
- justify-content: center;
20
- width: 14px;
21
- height: ${(props) => props.height};
22
- padding: 0 5px;
23
- background-color: #f3f3f7;
24
- cursor: pointer;
25
- align-items: center;
26
- `
27
- const Dot = styled.div`
28
- display: inline-block;
29
- width: 4px;
30
- height: 4px;
31
- margin: 2px;
32
- background-color: #0068de;
33
- `
34
-
35
- export default {
36
- name: 'draggableInputHandle',
37
- props: ['height'],
38
- components: {
39
- Handle,
40
- Dot
41
- },
42
- data() {
43
- return {}
44
- }
45
- }
46
- </script>
1
+ <template>
2
+ <Handle :height="height" class="handle">
3
+ <Dot></Dot>
4
+ <Dot></Dot>
5
+ <Dot></Dot>
6
+ </Handle>
7
+ </template>
8
+
9
+ <script>
10
+ import styled from 'vue3-styled-components'
11
+
12
+ const Handle = styled('div', { height: String })`
13
+ position: absolute;
14
+ left: 0;
15
+ margin-right: 10px;
16
+ display: flex;
17
+ align-items: stretch;
18
+ flex-direction: column;
19
+ justify-content: center;
20
+ width: 14px;
21
+ height: ${(props) => props.height};
22
+ padding: 0 5px;
23
+ background-color: #f3f3f7;
24
+ cursor: pointer;
25
+ align-items: center;
26
+ `
27
+ const Dot = styled.div`
28
+ display: inline-block;
29
+ width: 4px;
30
+ height: 4px;
31
+ margin: 2px;
32
+ background-color: #0068de;
33
+ `
34
+
35
+ export default {
36
+ name: 'draggableInputHandle',
37
+ props: ['height'],
38
+ components: {
39
+ Handle,
40
+ Dot
41
+ },
42
+ data() {
43
+ return {}
44
+ }
45
+ }
46
+ </script>
@@ -1,54 +1,54 @@
1
- import Dropdown from './index.vue'
2
-
3
- export default {
4
- title: 'Dropdown',
5
- component: Dropdown
6
- // argTypes: {},
7
- }
8
-
9
- const Template = (args, { argTypes }) => ({
10
- // Components used in your story `template` are defined in the `components` object
11
- components: { Dropdown },
12
- // The story's `args` need to be mapped into the template through the `setup()` method
13
- props: Object.keys(argTypes),
14
- template: `<Dropdown v-bind="$props">
15
- <template #trigger>
16
- trigger button
17
- </template>
18
- <template #dropdown>
19
- <div>
20
- <h3>fully customizable dropdown</h3>
21
- <ul>
22
- <li>item</li>
23
- <li>item</li>
24
- <li>item</li>
25
- </ul>
26
- </div>
27
- </template>
28
- </Dropdown>`,
29
- // import Icon from "@eturnity/eturnity_reusable_components/src/components/icon"
30
- // How to use:
31
- //<icon
32
- // name="House" //required. a svg file named [name].svg should be present in /assets/svgIcons
33
- // color="red"
34
- // hoveredColor="blue"
35
- // size="60px" by default, this is 30px
36
- // />
37
- })
38
-
39
- export const Default = Template.bind({})
40
- Default.args = {
41
- openingMode:"click",
42
- gap:"0px",
43
- justify:"left",
44
- width:"150px"
45
- }
46
-
47
- export const withHover = Template.bind({})
48
- withHover.args = {
49
- openingMode:"hover",
50
- gap:"20px",
51
- justify:"right",
52
- width:"250px"
53
- }
54
-
1
+ import Dropdown from './index.vue'
2
+
3
+ export default {
4
+ title: 'Dropdown',
5
+ component: Dropdown
6
+ // argTypes: {},
7
+ }
8
+
9
+ const Template = (args, { argTypes }) => ({
10
+ // Components used in your story `template` are defined in the `components` object
11
+ components: { Dropdown },
12
+ // The story's `args` need to be mapped into the template through the `setup()` method
13
+ props: Object.keys(argTypes),
14
+ template: `<Dropdown v-bind="$props">
15
+ <template #trigger>
16
+ trigger button
17
+ </template>
18
+ <template #dropdown>
19
+ <div>
20
+ <h3>fully customizable dropdown</h3>
21
+ <ul>
22
+ <li>item</li>
23
+ <li>item</li>
24
+ <li>item</li>
25
+ </ul>
26
+ </div>
27
+ </template>
28
+ </Dropdown>`,
29
+ // import Icon from "@eturnity/eturnity_reusable_components/src/components/icon"
30
+ // How to use:
31
+ //<icon
32
+ // name="House" //required. a svg file named [name].svg should be present in /assets/svgIcons
33
+ // color="red"
34
+ // hoveredColor="blue"
35
+ // size="60px" by default, this is 30px
36
+ // />
37
+ })
38
+
39
+ export const Default = Template.bind({})
40
+ Default.args = {
41
+ openingMode:"click",
42
+ gap:"0px",
43
+ justify:"left",
44
+ width:"150px"
45
+ }
46
+
47
+ export const withHover = Template.bind({})
48
+ withHover.args = {
49
+ openingMode:"hover",
50
+ gap:"20px",
51
+ justify:"right",
52
+ width:"250px"
53
+ }
54
+