@eturnity/eturnity_reusable_components 1.2.25-EPDM-5202.2 → 1.2.26-3d-master.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 (231) 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 +63 -63
  7. package/public/index.html +17 -17
  8. package/src/App.vue +376 -321
  9. package/src/assets/icons/arrow_down.svg +3 -3
  10. package/src/assets/icons/arrow_up_red.svg +3 -3
  11. package/src/assets/icons/black_spinner.svg +35 -35
  12. package/src/assets/icons/delete_icon.svg +11 -11
  13. package/src/assets/icons/delete_icon_gray.svg +11 -11
  14. package/src/assets/icons/drag_icon.svg +8 -8
  15. package/src/assets/icons/error_icon copy.png +0 -0
  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/accept.svg +5 -5
  29. package/src/assets/svgIcons/activate_panels_active.svg +22 -22
  30. package/src/assets/svgIcons/activate_panels_inactive.svg +20 -20
  31. package/src/assets/svgIcons/add_icon-1.svg +3 -3
  32. package/src/assets/svgIcons/add_icon.svg +4 -4
  33. package/src/assets/svgIcons/address_book.svg +3 -3
  34. package/src/assets/svgIcons/after_sale_as_a_service.svg +6 -6
  35. package/src/assets/svgIcons/all_good.svg +3 -3
  36. package/src/assets/svgIcons/angle_active.svg +5 -5
  37. package/src/assets/svgIcons/angle_inactive.svg +4 -4
  38. package/src/assets/svgIcons/area_active.svg +11 -11
  39. package/src/assets/svgIcons/area_inactive.svg +26 -26
  40. package/src/assets/svgIcons/arrow_down.svg +3 -3
  41. package/src/assets/svgIcons/arrow_left.svg +4 -4
  42. package/src/assets/svgIcons/arrow_right.svg +4 -4
  43. package/src/assets/svgIcons/arrow_up.svg +3 -3
  44. package/src/assets/svgIcons/attachment.svg +3 -3
  45. package/src/assets/svgIcons/base_layer.svg +3 -0
  46. package/src/assets/svgIcons/battery.svg +3 -3
  47. package/src/assets/svgIcons/bell.svg +3 -3
  48. package/src/assets/svgIcons/bold.svg +3 -3
  49. package/src/assets/svgIcons/bom.svg +3 -3
  50. package/src/assets/svgIcons/bom_generation.svg +10 -10
  51. package/src/assets/svgIcons/bookmaker.svg +3 -3
  52. package/src/assets/svgIcons/bubble.svg +3 -3
  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/checkbox.svg +3 -3
  61. package/src/assets/svgIcons/clear_formatting.svg +7 -7
  62. package/src/assets/svgIcons/clickable_info.svg +4 -4
  63. package/src/assets/svgIcons/clip.svg +3 -3
  64. package/src/assets/svgIcons/clock.svg +4 -4
  65. package/src/assets/svgIcons/close_for_modals,_tool_tips.svg +4 -4
  66. package/src/assets/svgIcons/collapse.svg +4 -4
  67. package/src/assets/svgIcons/component_library.svg +7 -7
  68. package/src/assets/svgIcons/context_menu-1.svg +6 -6
  69. package/src/assets/svgIcons/context_menu-2.svg +5 -5
  70. package/src/assets/svgIcons/context_menu.svg +5 -5
  71. package/src/assets/svgIcons/context_menu_tabs.svg +5 -5
  72. package/src/assets/svgIcons/cross.svg +4 -4
  73. package/src/assets/svgIcons/current_variant.svg +4 -4
  74. package/src/assets/svgIcons/deadline.svg +4 -4
  75. package/src/assets/svgIcons/delete.svg +4 -4
  76. package/src/assets/svgIcons/delete_area_active.svg +16 -16
  77. package/src/assets/svgIcons/delete_area_inactive.svg +15 -15
  78. package/src/assets/svgIcons/direction_active-1.svg +12 -12
  79. package/src/assets/svgIcons/direction_active.svg +5 -5
  80. package/src/assets/svgIcons/direction_inactive.svg +4 -4
  81. package/src/assets/svgIcons/distances_active.svg +9 -9
  82. package/src/assets/svgIcons/distances_inactive.svg +8 -8
  83. package/src/assets/svgIcons/document.svg +3 -3
  84. package/src/assets/svgIcons/downarrow.svg +3 -3
  85. package/src/assets/svgIcons/download.svg +4 -4
  86. package/src/assets/svgIcons/draggable_corner.svg +5 -0
  87. package/src/assets/svgIcons/duplicate-1.svg +8 -8
  88. package/src/assets/svgIcons/duplicate-2.svg +5 -5
  89. package/src/assets/svgIcons/duplicate.svg +4 -4
  90. package/src/assets/svgIcons/e-mobility_configurator.svg +6 -6
  91. package/src/assets/svgIcons/edit_button.svg +3 -3
  92. package/src/assets/svgIcons/email.svg +3 -3
  93. package/src/assets/svgIcons/ems-1.svg +3 -3
  94. package/src/assets/svgIcons/ems.svg +3 -3
  95. package/src/assets/svgIcons/end_of_the_list.svg +5 -5
  96. package/src/assets/svgIcons/erase.svg +4 -4
  97. package/src/assets/svgIcons/fav_icon.svg +4 -4
  98. package/src/assets/svgIcons/financing_for_pv-1.svg +5 -5
  99. package/src/assets/svgIcons/financing_for_pv-2.svg +3 -3
  100. package/src/assets/svgIcons/financing_for_pv.svg +6 -6
  101. package/src/assets/svgIcons/finish-1.svg +4 -4
  102. package/src/assets/svgIcons/finish.svg +3 -3
  103. package/src/assets/svgIcons/folder.svg +3 -3
  104. package/src/assets/svgIcons/heat_calc.svg +7 -7
  105. package/src/assets/svgIcons/house.svg +3 -3
  106. package/src/assets/svgIcons/info.svg +3 -3
  107. package/src/assets/svgIcons/initial_situation.svg +3 -3
  108. package/src/assets/svgIcons/intro-tour-1.svg +3 -3
  109. package/src/assets/svgIcons/intro-tour.svg +3 -3
  110. package/src/assets/svgIcons/inverter-1.svg +5 -5
  111. package/src/assets/svgIcons/inverter.svg +3 -3
  112. package/src/assets/svgIcons/italic.svg +3 -3
  113. package/src/assets/svgIcons/key.svg +3 -3
  114. package/src/assets/svgIcons/lead_marketplace.svg +6 -6
  115. package/src/assets/svgIcons/lead_provider.svg +4 -4
  116. package/src/assets/svgIcons/length_in_2d_active.svg +12 -12
  117. package/src/assets/svgIcons/length_in_2d_inctive.svg +13 -13
  118. package/src/assets/svgIcons/light_bulb.svg +3 -3
  119. package/src/assets/svgIcons/line_graph.svg +3 -3
  120. package/src/assets/svgIcons/local_subsidies.svg +18 -18
  121. package/src/assets/svgIcons/location.svg +3 -3
  122. package/src/assets/svgIcons/lock.svg +3 -3
  123. package/src/assets/svgIcons/loop.svg +3 -3
  124. package/src/assets/svgIcons/lunch.svg +4 -4
  125. package/src/assets/svgIcons/magic_tool.svg +6 -0
  126. package/src/assets/svgIcons/map_icon.svg +5 -3
  127. package/src/assets/svgIcons/margin_tool.svg +6 -0
  128. package/src/assets/svgIcons/meeting.svg +6 -6
  129. package/src/assets/svgIcons/move_copy.svg +4 -4
  130. package/src/assets/svgIcons/new_area_inactive.svg +11 -11
  131. package/src/assets/svgIcons/next.svg +4 -4
  132. package/src/assets/svgIcons/not_equal_to.svg +3 -3
  133. package/src/assets/svgIcons/numbered_list.svg +6 -6
  134. package/src/assets/svgIcons/obstacle_tool.svg +9 -13
  135. package/src/assets/svgIcons/outline_tool.svg +11 -0
  136. package/src/assets/svgIcons/pan_tool.svg +12 -12
  137. package/src/assets/svgIcons/panels_tool.svg +8 -8
  138. package/src/assets/svgIcons/pen_tool.svg +4 -4
  139. package/src/assets/svgIcons/picker_tool.svg +4 -4
  140. package/src/assets/svgIcons/picture.svg +3 -3
  141. package/src/assets/svgIcons/pin.svg +5 -5
  142. package/src/assets/svgIcons/presentation.svg +3 -3
  143. package/src/assets/svgIcons/previous.svg +4 -4
  144. package/src/assets/svgIcons/profile-1.svg +4 -4
  145. package/src/assets/svgIcons/profile.svg +4 -4
  146. package/src/assets/svgIcons/profitability.svg +3 -3
  147. package/src/assets/svgIcons/project_analysis.svg +4 -4
  148. package/src/assets/svgIcons/project_settings.svg +4 -4
  149. package/src/assets/svgIcons/pv.svg +3 -3
  150. package/src/assets/svgIcons/quotations.svg +6 -6
  151. package/src/assets/svgIcons/redo.svg +6 -0
  152. package/src/assets/svgIcons/resizer.svg +5 -0
  153. package/src/assets/svgIcons/roof_layer.svg +3 -0
  154. package/src/assets/svgIcons/rotate_view.svg +5 -5
  155. package/src/assets/svgIcons/run_simulation.svg +3 -3
  156. package/src/assets/svgIcons/scaling_tool.svg +8 -8
  157. package/src/assets/svgIcons/search.svg +3 -3
  158. package/src/assets/svgIcons/security.svg +3 -3
  159. package/src/assets/svgIcons/settings.svg +3 -3
  160. package/src/assets/svgIcons/show_in_a_new_tab.svg +12 -12
  161. package/src/assets/svgIcons/smartphone.svg +4 -4
  162. package/src/assets/svgIcons/solar_calc.svg +13 -13
  163. package/src/assets/svgIcons/sorting.svg +4 -4
  164. package/src/assets/svgIcons/start_of_the_list.svg +5 -5
  165. package/src/assets/svgIcons/strikethrough.svg +4 -4
  166. package/src/assets/svgIcons/subsidies-1.svg +5 -5
  167. package/src/assets/svgIcons/subsidies-2.svg +3 -3
  168. package/src/assets/svgIcons/subsidies.svg +3 -3
  169. package/src/assets/svgIcons/subtract_icon.svg +3 -3
  170. package/src/assets/svgIcons/suitcase.svg +3 -3
  171. package/src/assets/svgIcons/template_icon_not_clickable.svg +6 -6
  172. package/src/assets/svgIcons/transfer.svg +4 -4
  173. package/src/assets/svgIcons/truck.svg +3 -3
  174. package/src/assets/svgIcons/underlined.svg +3 -3
  175. package/src/assets/svgIcons/undo.svg +6 -0
  176. package/src/assets/svgIcons/uparrow.svg +3 -3
  177. package/src/assets/svgIcons/upload_avatar-1.svg +12 -12
  178. package/src/assets/svgIcons/upload_avatar.svg +5 -5
  179. package/src/assets/svgIcons/upload_image.svg +8 -8
  180. package/src/assets/svgIcons/vertical_tool.svg +3 -0
  181. package/src/assets/svgIcons/virtual_storage.svg +4 -4
  182. package/src/assets/svgIcons/warning.svg +4 -4
  183. package/src/assets/svgIcons/way.svg +5 -5
  184. package/src/assets/svgIcons/wifi.svg +3 -3
  185. package/src/assets/svgIcons/winter.svg +3 -3
  186. package/src/assets/theme.js +36 -34
  187. package/src/components/addNewButton/AddNewButton.stories.js +24 -24
  188. package/src/components/addNewButton/index.vue +58 -58
  189. package/src/components/buttons/closeButton/CloseButton.stories.js +29 -29
  190. package/src/components/buttons/closeButton/index.vue +61 -61
  191. package/src/components/buttons/externalButton/index.vue +101 -101
  192. package/src/components/buttons/mainButton/index.vue +82 -82
  193. package/src/components/deleteIcon/DeleteIcon.stories.js +29 -29
  194. package/src/components/deleteIcon/index.vue +55 -55
  195. package/src/components/errorMessage/index.vue +62 -0
  196. package/src/components/icon/Icons.stories.js +41 -41
  197. package/src/components/icon/iconCollection.vue +68 -68
  198. package/src/components/icon/index.vue +84 -83
  199. package/src/components/iconWrapper/index.vue +116 -0
  200. package/src/components/infoText/index.vue +166 -151
  201. package/src/components/inputs/checkbox/Checkbox.stories.js +57 -57
  202. package/src/components/inputs/checkbox/index.vue +182 -182
  203. package/src/components/inputs/inputNumber/InputNumber.stories.js +150 -150
  204. package/src/components/inputs/inputNumber/index.vue +557 -390
  205. package/src/components/inputs/inputNumberQuestion/index.vue +215 -215
  206. package/src/components/inputs/inputText/InputText.stories.js +75 -75
  207. package/src/components/inputs/inputText/index.vue +258 -253
  208. package/src/components/inputs/radioButton/RadioButton.stories.js +58 -58
  209. package/src/components/inputs/radioButton/index.vue +246 -246
  210. package/src/components/inputs/searchInput/SearchInput.stories.js +40 -40
  211. package/src/components/inputs/searchInput/index.vue +97 -97
  212. package/src/components/inputs/slider/index.vue +126 -126
  213. package/src/components/inputs/textAreaInput/TextAreaInput.stories.js +135 -135
  214. package/src/components/inputs/textAreaInput/index.vue +194 -189
  215. package/src/components/inputs/toggle/Toggle.stories.js +77 -77
  216. package/src/components/inputs/toggle/index.vue +288 -288
  217. package/src/components/modals/modal/index.vue +153 -153
  218. package/src/components/modals/modal/modal.stories.js +31 -31
  219. package/src/components/pageSubtitle/index.vue +68 -68
  220. package/src/components/pageTitle/index.vue +45 -45
  221. package/src/components/progressBar/index.vue +125 -125
  222. package/src/components/projectMarker/index.vue +285 -285
  223. package/src/components/spinner/index.vue +71 -71
  224. package/src/components/tableDropdown/index.vue +644 -644
  225. package/src/components/tables/mainTable/exampleNested.vue +328 -328
  226. package/src/components/tables/mainTable/index.vue +379 -379
  227. package/src/components/tables/viewTable/index.vue +195 -195
  228. package/src/components/threeDots/index.vue +333 -333
  229. package/src/helpers/numberConverter.js +103 -98
  230. package/src/helpers/translateLang.js +80 -80
  231. package/src/main.js +13 -13
@@ -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.native="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.native="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,55 +1,55 @@
1
- <template>
2
- <wrapper
3
- @mouseover="isHovered = true"
4
- @mouseleave="isHovered = false"
5
- :isDisabled="isDisabled"
6
- >
7
- <icon-image
8
- v-if="isHovered && !isDisabled"
9
- :src="require('../../assets/icons/delete_icon.svg')"
10
- />
11
- <icon-image
12
- v-else
13
- :src="require('../../assets/icons/delete_icon_gray.svg')"
14
- />
15
- </wrapper>
16
- </template>
17
-
18
- <script>
19
- // To use:
20
- // <delete-icon @click.native="onDeleteItem(item)" :isDisabled="true" />
21
- import styled from "vue-styled-components"
22
-
23
- const wrapperAttrs = { isDisabled: Boolean }
24
- const Wrapper = styled("div", wrapperAttrs)`
25
- width: 30px;
26
- height: 30px;
27
- cursor: ${(props) => (props.isDisabled ? "not-allowed" : "pointer")};
28
- `
29
-
30
- const IconImage = styled.img`
31
- &:hover {
32
- background-color: ${(props) => props.theme.colors.grey5};
33
- border-radius: 4px;
34
- }
35
- `
36
-
37
- export default {
38
- name: "delete-icon",
39
- components: {
40
- Wrapper,
41
- IconImage,
42
- },
43
- props: {
44
- isDisabled: {
45
- required: false,
46
- default: false,
47
- },
48
- },
49
- data() {
50
- return {
51
- isHovered: false,
52
- }
53
- },
54
- }
55
- </script>
1
+ <template>
2
+ <wrapper
3
+ @mouseover="isHovered = true"
4
+ @mouseleave="isHovered = false"
5
+ :isDisabled="isDisabled"
6
+ >
7
+ <icon-image
8
+ v-if="isHovered && !isDisabled"
9
+ :src="require('../../assets/icons/delete_icon.svg')"
10
+ />
11
+ <icon-image
12
+ v-else
13
+ :src="require('../../assets/icons/delete_icon_gray.svg')"
14
+ />
15
+ </wrapper>
16
+ </template>
17
+
18
+ <script>
19
+ // To use:
20
+ // <delete-icon @click.native="onDeleteItem(item)" :isDisabled="true" />
21
+ import styled from "vue-styled-components"
22
+
23
+ const wrapperAttrs = { isDisabled: Boolean }
24
+ const Wrapper = styled("div", wrapperAttrs)`
25
+ width: 30px;
26
+ height: 30px;
27
+ cursor: ${(props) => (props.isDisabled ? "not-allowed" : "pointer")};
28
+ `
29
+
30
+ const IconImage = styled.img`
31
+ &:hover {
32
+ background-color: ${(props) => props.theme.colors.grey5};
33
+ border-radius: 4px;
34
+ }
35
+ `
36
+
37
+ export default {
38
+ name: "delete-icon",
39
+ components: {
40
+ Wrapper,
41
+ IconImage,
42
+ },
43
+ props: {
44
+ isDisabled: {
45
+ required: false,
46
+ default: false,
47
+ },
48
+ },
49
+ data() {
50
+ return {
51
+ isHovered: false,
52
+ }
53
+ },
54
+ }
55
+ </script>
@@ -0,0 +1,62 @@
1
+ <template>
2
+ <component-wrapper>
3
+ <text-overlay>
4
+ <slot></slot>
5
+ </text-overlay>
6
+ </component-wrapper>
7
+ </template>
8
+
9
+ <script>
10
+ // import InfoText from "@eturnity/eturnity_reusable_components/src/components/infoText"
11
+ //To use:
12
+ // <error-message
13
+ // alignText="right" // default is left
14
+ // />
15
+
16
+ import styled from 'vue-styled-components'
17
+
18
+ const TextOverlay = styled.div`
19
+ position: absolute;
20
+ top: calc(100% + 13px);
21
+ background: ${(props) => props.theme.colors.red};
22
+ padding: 10px;
23
+ width: max-content;
24
+ max-width: 100%;
25
+ min-width: 200px;
26
+ font-size: 11px;
27
+ font-weight: 400;
28
+ border-radius: 4px;
29
+ font-family: 'Lato-Bold', Arial;
30
+ z-index: 10;
31
+ color: ${(props) => props.theme.colors.white};
32
+
33
+ :before {
34
+ content: '';
35
+ background-color: ${(props) => props.theme.colors.red};
36
+ position: absolute;
37
+ top: 2px;
38
+ left: 40px;
39
+ height: 11px;
40
+ width: 11px;
41
+ transform-origin: center center;
42
+ transform: translate(-2em, -0.5em) rotate(45deg);
43
+ }
44
+ `
45
+
46
+ const ComponentWrapper = styled.div`
47
+ display: block;
48
+ `
49
+
50
+ export default {
51
+ name: 'info-text',
52
+ components: {
53
+ TextOverlay,
54
+ ComponentWrapper
55
+ },
56
+ props: {},
57
+ methods: {},
58
+ data() {
59
+ return {}
60
+ }
61
+ }
62
+ </script>
@@ -1,41 +1,41 @@
1
- import iconCollection from './iconCollection.vue'
2
-
3
- export default {
4
- title: 'icon',
5
- component: iconCollection
6
- // argTypes: {},
7
- }
8
-
9
- const Template = (args, { argTypes }) => ({
10
- // Components used in your story `template` are defined in the `components` object
11
- components: { iconCollection },
12
- // The story's `args` need to be mapped into the template through the `setup()` method
13
- props: Object.keys(argTypes),
14
- template: '<iconCollection v-bind="$props" />'
15
-
16
- // import Icon from "@eturnity/eturnity_reusable_components/src/components/icon"
17
- // How to use:
18
- //<icon
19
- // name="House" //required. a svg file named [name].svg should be present in /assets/svgIcons
20
- // color="red"
21
- // hoveredColor="blue"
22
- // size="60px" by default, this is 30px
23
- // />
24
- })
25
-
26
- export const Default = Template.bind({})
27
- Default.args = {
28
- size: '30px'
29
- }
30
-
31
- export const withColor = Template.bind({})
32
- withColor.args = {
33
- size: '30px',
34
- color: 'red',
35
- hoveredColor: 'crimson'
36
- }
37
-
38
- export const large = Template.bind({})
39
- large.args = {
40
- size: '60px'
41
- }
1
+ import iconCollection from './iconCollection.vue'
2
+
3
+ export default {
4
+ title: 'icon',
5
+ component: iconCollection
6
+ // argTypes: {},
7
+ }
8
+
9
+ const Template = (args, { argTypes }) => ({
10
+ // Components used in your story `template` are defined in the `components` object
11
+ components: { iconCollection },
12
+ // The story's `args` need to be mapped into the template through the `setup()` method
13
+ props: Object.keys(argTypes),
14
+ template: '<iconCollection v-bind="$props" />'
15
+
16
+ // import Icon from "@eturnity/eturnity_reusable_components/src/components/icon"
17
+ // How to use:
18
+ //<icon
19
+ // name="House" //required. a svg file named [name].svg should be present in /assets/svgIcons
20
+ // color="red"
21
+ // hoveredColor="blue"
22
+ // size="60px" by default, this is 30px
23
+ // />
24
+ })
25
+
26
+ export const Default = Template.bind({})
27
+ Default.args = {
28
+ size: '30px'
29
+ }
30
+
31
+ export const withColor = Template.bind({})
32
+ withColor.args = {
33
+ size: '30px',
34
+ color: 'red',
35
+ hoveredColor: 'crimson'
36
+ }
37
+
38
+ export const large = Template.bind({})
39
+ large.args = {
40
+ size: '60px'
41
+ }
@@ -1,68 +1,68 @@
1
- <template>
2
- <wrapper>
3
- <icon-wrapper v-for="iconItem in iconList" :key="iconItem.name">
4
- <div>
5
- <icon
6
- :name="iconItem.name"
7
- :size="size"
8
- :hoveredColor="hoveredColor"
9
- :color="color"
10
- />
11
- </div>
12
- <h3>{{ iconItem.name }}</h3>
13
- </icon-wrapper>
14
- </wrapper>
15
- </template>
16
-
17
- <script>
18
- import icon from './index.vue'
19
- import styled from 'vue-styled-components'
20
-
21
- const Wrapper = styled.div`
22
- display: block;
23
- text-align:center;
24
- justify-items:center
25
- width:100%;
26
- background-color:#ccc;
27
- `
28
- const IconWrapper = styled.div`
29
- display:inline-flex
30
- flex-direction: column;
31
- background-color: white;
32
- border-radius: 6px;
33
- padding: 10px;
34
- width: 220px;
35
- text-align: center;
36
- margin: 10px;
37
- `
38
- export default {
39
- name: 'collection',
40
- components: { icon, IconWrapper, Wrapper },
41
- props: {
42
- size: { required: false },
43
- color: { required: false },
44
- hoveredColor: { required: false }
45
- },
46
- data() {
47
- return {
48
- iconList: []
49
- }
50
- },
51
-
52
- mounted() {
53
- this.importAll(require.context('../../assets/svgIcons/', true, /\.svg$/))
54
- },
55
-
56
- methods: {
57
- importAll(r) {
58
- r.keys().forEach((key) =>
59
- this.iconList.push({
60
- pathLong: r(key),
61
- pathShort: key,
62
- name: key.replace('.svg', '').replace('./', '')
63
- })
64
- )
65
- }
66
- }
67
- }
68
- </script>
1
+ <template>
2
+ <wrapper>
3
+ <icon-wrapper v-for="iconItem in iconList" :key="iconItem.name">
4
+ <div>
5
+ <icon
6
+ :name="iconItem.name"
7
+ :size="size"
8
+ :hoveredColor="hoveredColor"
9
+ :color="color"
10
+ />
11
+ </div>
12
+ <h3>{{ iconItem.name }}</h3>
13
+ </icon-wrapper>
14
+ </wrapper>
15
+ </template>
16
+
17
+ <script>
18
+ import icon from './index.vue'
19
+ import styled from 'vue-styled-components'
20
+
21
+ const Wrapper = styled.div`
22
+ display: block;
23
+ text-align:center;
24
+ justify-items:center
25
+ width:100%;
26
+ background-color:#ccc;
27
+ `
28
+ const IconWrapper = styled.div`
29
+ display:inline-flex
30
+ flex-direction: column;
31
+ background-color: white;
32
+ border-radius: 6px;
33
+ padding: 10px;
34
+ width: 220px;
35
+ text-align: center;
36
+ margin: 10px;
37
+ `
38
+ export default {
39
+ name: 'collection',
40
+ components: { icon, IconWrapper, Wrapper },
41
+ props: {
42
+ size: { required: false },
43
+ color: { required: false },
44
+ hoveredColor: { required: false }
45
+ },
46
+ data() {
47
+ return {
48
+ iconList: []
49
+ }
50
+ },
51
+
52
+ mounted() {
53
+ this.importAll(require.context('../../assets/svgIcons/', true, /\.svg$/))
54
+ },
55
+
56
+ methods: {
57
+ importAll(r) {
58
+ r.keys().forEach((key) =>
59
+ this.iconList.push({
60
+ pathLong: r(key),
61
+ pathShort: key,
62
+ name: key.replace('.svg', '').replace('./', '')
63
+ })
64
+ )
65
+ }
66
+ }
67
+ }
68
+ </script>
@@ -1,83 +1,84 @@
1
- <template>
2
- <wrapper :isDisabled="isDisabled" :size="size" :cursor="cursor">
3
- <icon-image
4
- :size="size"
5
- :color="color"
6
- :hoveredColor="hoveredColor"
7
- v-html="
8
- require(`!html-loader!./../../assets/svgIcons/${name.toLowerCase()}.svg`)
9
- "
10
- ></icon-image>
11
- </wrapper>
12
- </template>
13
-
14
- <script>
15
- // import Icon from "@eturnity/eturnity_reusable_components/src/components/icon"
16
- // How to use:
17
- //<icon
18
- // name="House" //required. a svg file named [name].svg should be present in /assets/svgIcons
19
- // color="red"
20
- // hoveredColor="blue"
21
- // size="60px" by default, this is 30px
22
- // cursor="default"
23
- // />
24
-
25
- import styled from 'vue-styled-components'
26
-
27
- const wrapperAttrs = { isDisabled: Boolean, size: String, cursor: String }
28
- const Wrapper = styled('div', wrapperAttrs)`
29
- display: inline-block;
30
- width: ${(props) => props.size};
31
- height: ${(props) => props.size};
32
- cursor: ${(props) => (props.isDisabled ? 'not-allowed' : props.cursor)};
33
- line-height: 0;
34
- `
35
- const IconImageProps = { color: String, hoveredColor: String, size: String }
36
- const IconImage = styled('div', IconImageProps)`
37
- svg {
38
- width: ${(props) => props.size};
39
- height: ${(props) => props.size};
40
- }
41
- svg > path {
42
- ${(props) =>
43
- props.color && `fill: ${props.theme.colors[props.color] || props.color};`}
44
- }
45
- &:hover > svg > path {
46
- ${(props) => props.hoveredColor && `fill: ${props.hoveredColor};`}
47
- }
48
- `
49
-
50
- export default {
51
- name: 'icon',
52
- components: {
53
- Wrapper,
54
- IconImage
55
- },
56
- props: {
57
- isDisabled: {
58
- required: false,
59
- default: false
60
- },
61
- name: {
62
- required: true
63
- },
64
- color: {
65
- required: false
66
- },
67
- hoveredColor: {
68
- required: false
69
- },
70
- size: {
71
- required: false,
72
- default: '30px'
73
- },
74
- cursor: {
75
- required: false,
76
- default: 'pointer'
77
- }
78
- },
79
- data() {
80
- return {}
81
- }
82
- }
83
- </script>
1
+ <template>
2
+ <Wrapper :isDisabled="disabled" :size="size" :cursor="cursor">
3
+ <icon-image
4
+ :disabled="disabled"
5
+ :size="size"
6
+ :color="color"
7
+ :hoveredColor="hoveredColor"
8
+ v-html="
9
+ require(`!html-loader!./../../assets/svgIcons/${name.toLowerCase()}.svg`)
10
+ "
11
+ ></icon-image>
12
+ </Wrapper>
13
+ </template>
14
+
15
+ <script>
16
+ // import Icon from "@eturnity/eturnity_reusable_components/src/components/icon"
17
+ // How to use:
18
+ //<icon
19
+ // name="House" //required. a svg file named [name].svg should be present in /assets/svgIcons
20
+ // color="red"
21
+ // hoveredColor="blue"
22
+ // size="60px" by default, this is 30px
23
+ // cursor="default"
24
+ // />
25
+
26
+ import styled from 'vue-styled-components'
27
+
28
+ const wrapperAttrs = { isDisabled: Boolean, size: String, cursor: String }
29
+ const Wrapper = styled('div', wrapperAttrs)`
30
+ display: inline-block;
31
+ width: ${(props) => props.size};
32
+ height: ${(props) => props.size};
33
+ cursor: ${(props) => (props.isDisabled ? 'not-allowed' : props.cursor)};
34
+ line-height: 0;
35
+ `
36
+ const IconImageProps = { color: String, hoveredColor: String, size: String }
37
+ const IconImage = styled('div', IconImageProps)`
38
+ svg {
39
+ width: 100%;
40
+ height: 100%;
41
+ }
42
+ svg path {
43
+ ${(props) =>
44
+ props.color && `fill: ${props.theme.colors[props.color] || props.color};`}
45
+ }
46
+ &:hover > svg path {
47
+ ${(props) => props.hoveredColor && `fill: ${props.hoveredColor};`}
48
+ }
49
+ `
50
+
51
+ export default {
52
+ name: 'icon',
53
+ components: {
54
+ IconImage,
55
+ Wrapper
56
+ },
57
+ props: {
58
+ disabled: {
59
+ required: false,
60
+ default: false
61
+ },
62
+ name: {
63
+ required: true
64
+ },
65
+ color: {
66
+ required: false
67
+ },
68
+ hoveredColor: {
69
+ required: false
70
+ },
71
+ size: {
72
+ required: false,
73
+ default: '30px'
74
+ },
75
+ cursor: {
76
+ required: false,
77
+ default: null
78
+ }
79
+ },
80
+ data() {
81
+ return {}
82
+ }
83
+ }
84
+ </script>