@eturnity/eturnity_reusable_components 7.33.6 → 7.35.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 (168) hide show
  1. package/package.json +40 -33
  2. package/src/Test.vue +10 -0
  3. package/src/assets/svgIcons/obstacle_tool.svg +1 -1
  4. package/src/components/buttons/mainButton/MainButton.stories.js +51 -0
  5. package/src/components/buttons/mainButton/index.vue +25 -15
  6. package/src/components/buttons/mainButton/mainButton.spec.js +32 -0
  7. package/src/components/icon/iconCollection.vue +16 -2
  8. package/src/stories/Button.stories.js +6 -6
  9. package/src/stories/Header.stories.js +5 -5
  10. package/src/stories/Page.stories.js +8 -8
  11. package/.eslintrc.js +0 -181
  12. package/.prettierrc +0 -9
  13. package/.storybook/main.js +0 -23
  14. package/.storybook/preview.js +0 -46
  15. package/babel.config.js +0 -18
  16. package/coverage/base.css +0 -224
  17. package/coverage/block-navigation.js +0 -87
  18. package/coverage/favicon.png +0 -0
  19. package/coverage/index.html +0 -986
  20. package/coverage/prettify.css +0 -1
  21. package/coverage/prettify.js +0 -2
  22. package/coverage/sort-arrow-sprite.png +0 -0
  23. package/coverage/sorter.js +0 -196
  24. package/coverage/src/App.vue.html +0 -175
  25. package/coverage/src/Test.vue.html +0 -421
  26. package/coverage/src/assets/index.html +0 -116
  27. package/coverage/src/assets/tests/helpers.js.html +0 -121
  28. package/coverage/src/assets/tests/index.html +0 -116
  29. package/coverage/src/assets/theme.js.html +0 -208
  30. package/coverage/src/components/addNewButton/AddNewButton.stories.js.html +0 -157
  31. package/coverage/src/components/addNewButton/index.html +0 -131
  32. package/coverage/src/components/addNewButton/index.vue.html +0 -268
  33. package/coverage/src/components/banner/actionBanner/index.html +0 -116
  34. package/coverage/src/components/banner/actionBanner/index.vue.html +0 -277
  35. package/coverage/src/components/banner/banner/banner.stories.js.html +0 -178
  36. package/coverage/src/components/banner/banner/index.html +0 -131
  37. package/coverage/src/components/banner/banner/index.vue.html +0 -649
  38. package/coverage/src/components/banner/infoBanner/index.html +0 -116
  39. package/coverage/src/components/banner/infoBanner/index.vue.html +0 -256
  40. package/coverage/src/components/buttons/buttonIcon/index.html +0 -116
  41. package/coverage/src/components/buttons/buttonIcon/index.vue.html +0 -520
  42. package/coverage/src/components/buttons/closeButton/CloseButton.stories.js.html +0 -172
  43. package/coverage/src/components/buttons/closeButton/index.html +0 -131
  44. package/coverage/src/components/buttons/closeButton/index.vue.html +0 -268
  45. package/coverage/src/components/buttons/mainButton/index.html +0 -116
  46. package/coverage/src/components/buttons/mainButton/index.vue.html +0 -505
  47. package/coverage/src/components/card/index.html +0 -116
  48. package/coverage/src/components/card/index.vue.html +0 -373
  49. package/coverage/src/components/collapsableInfoText/index.html +0 -116
  50. package/coverage/src/components/collapsableInfoText/index.vue.html +0 -466
  51. package/coverage/src/components/deleteIcon/DeleteIcon.stories.js.html +0 -172
  52. package/coverage/src/components/deleteIcon/index.html +0 -131
  53. package/coverage/src/components/deleteIcon/index.vue.html +0 -319
  54. package/coverage/src/components/draggableInputHandle/index.html +0 -116
  55. package/coverage/src/components/draggableInputHandle/index.vue.html +0 -223
  56. package/coverage/src/components/dropdown/Dropdown.stories.js.html +0 -244
  57. package/coverage/src/components/dropdown/index.html +0 -131
  58. package/coverage/src/components/dropdown/index.vue.html +0 -499
  59. package/coverage/src/components/errorMessage/index.html +0 -116
  60. package/coverage/src/components/errorMessage/index.vue.html +0 -277
  61. package/coverage/src/components/filter/filterSettings.vue.html +0 -2002
  62. package/coverage/src/components/filter/index.html +0 -146
  63. package/coverage/src/components/filter/index.vue.html +0 -547
  64. package/coverage/src/components/filter/parentDropdown.vue.html +0 -358
  65. package/coverage/src/components/icon/Icons.stories.js.html +0 -208
  66. package/coverage/src/components/icon/iconCollection.vue.html +0 -289
  67. package/coverage/src/components/icon/index.html +0 -146
  68. package/coverage/src/components/icon/index.vue.html +0 -505
  69. package/coverage/src/components/iconWrapper/index.html +0 -116
  70. package/coverage/src/components/iconWrapper/index.vue.html +0 -622
  71. package/coverage/src/components/infoCard/index.html +0 -116
  72. package/coverage/src/components/infoCard/index.vue.html +0 -205
  73. package/coverage/src/components/infoText/index.html +0 -116
  74. package/coverage/src/components/infoText/index.vue.html +0 -595
  75. package/coverage/src/components/inputs/checkbox/Checkbox.stories.js.html +0 -256
  76. package/coverage/src/components/inputs/checkbox/index.html +0 -131
  77. package/coverage/src/components/inputs/checkbox/index.vue.html +0 -757
  78. package/coverage/src/components/inputs/inputNumber/InputNumber.stories.js.html +0 -535
  79. package/coverage/src/components/inputs/inputNumber/index.html +0 -131
  80. package/coverage/src/components/inputs/inputNumber/index.vue.html +0 -2452
  81. package/coverage/src/components/inputs/inputNumberQuestion/index.html +0 -116
  82. package/coverage/src/components/inputs/inputNumberQuestion/index.vue.html +0 -739
  83. package/coverage/src/components/inputs/inputText/InputText.stories.js.html +0 -310
  84. package/coverage/src/components/inputs/inputText/index.html +0 -131
  85. package/coverage/src/components/inputs/inputText/index.vue.html +0 -1213
  86. package/coverage/src/components/inputs/radioButton/RadioButton.stories.js.html +0 -259
  87. package/coverage/src/components/inputs/radioButton/index.html +0 -131
  88. package/coverage/src/components/inputs/radioButton/index.vue.html +0 -904
  89. package/coverage/src/components/inputs/searchInput/SearchInput.stories.js.html +0 -205
  90. package/coverage/src/components/inputs/searchInput/index.html +0 -131
  91. package/coverage/src/components/inputs/searchInput/index.vue.html +0 -538
  92. package/coverage/src/components/inputs/select/index.html +0 -131
  93. package/coverage/src/components/inputs/select/index.vue.html +0 -2809
  94. package/coverage/src/components/inputs/select/option/index.html +0 -116
  95. package/coverage/src/components/inputs/select/option/index.vue.html +0 -529
  96. package/coverage/src/components/inputs/select/select.stories.js.html +0 -259
  97. package/coverage/src/components/inputs/slider/index.html +0 -116
  98. package/coverage/src/components/inputs/slider/index.vue.html +0 -463
  99. package/coverage/src/components/inputs/switchField/index.html +0 -116
  100. package/coverage/src/components/inputs/switchField/index.vue.html +0 -847
  101. package/coverage/src/components/inputs/textAreaInput/TextAreaInput.stories.js.html +0 -466
  102. package/coverage/src/components/inputs/textAreaInput/index.html +0 -131
  103. package/coverage/src/components/inputs/textAreaInput/index.vue.html +0 -679
  104. package/coverage/src/components/inputs/toggle/Toggle.stories.js.html +0 -316
  105. package/coverage/src/components/inputs/toggle/index.html +0 -131
  106. package/coverage/src/components/inputs/toggle/index.vue.html +0 -1036
  107. package/coverage/src/components/label/index.html +0 -116
  108. package/coverage/src/components/label/index.vue.html +0 -382
  109. package/coverage/src/components/markerItem/index.html +0 -116
  110. package/coverage/src/components/markerItem/index.vue.html +0 -349
  111. package/coverage/src/components/modals/actionModal/index.html +0 -116
  112. package/coverage/src/components/modals/actionModal/index.vue.html +0 -277
  113. package/coverage/src/components/modals/infoModal/index.html +0 -116
  114. package/coverage/src/components/modals/infoModal/index.vue.html +0 -241
  115. package/coverage/src/components/modals/modal/index.html +0 -131
  116. package/coverage/src/components/modals/modal/index.vue.html +0 -649
  117. package/coverage/src/components/modals/modal/modal.stories.js.html +0 -178
  118. package/coverage/src/components/navigationTabs/index.html +0 -116
  119. package/coverage/src/components/navigationTabs/index.vue.html +0 -427
  120. package/coverage/src/components/pageSubtitle/index.html +0 -116
  121. package/coverage/src/components/pageSubtitle/index.vue.html +0 -286
  122. package/coverage/src/components/pageTitle/index.html +0 -116
  123. package/coverage/src/components/pageTitle/index.vue.html +0 -289
  124. package/coverage/src/components/pagination/index.html +0 -116
  125. package/coverage/src/components/pagination/index.vue.html +0 -529
  126. package/coverage/src/components/progressBar/index.html +0 -116
  127. package/coverage/src/components/progressBar/index.vue.html +0 -460
  128. package/coverage/src/components/projectMarker/index.html +0 -116
  129. package/coverage/src/components/projectMarker/index.vue.html +0 -985
  130. package/coverage/src/components/rangeSlider/Slider.vue.html +0 -1804
  131. package/coverage/src/components/rangeSlider/index.html +0 -131
  132. package/coverage/src/components/rangeSlider/index.vue.html +0 -1636
  133. package/coverage/src/components/rangeSlider/utils/dom.js.html +0 -232
  134. package/coverage/src/components/rangeSlider/utils/fns.js.html +0 -163
  135. package/coverage/src/components/rangeSlider/utils/index.html +0 -131
  136. package/coverage/src/components/selectedOptions/index.html +0 -116
  137. package/coverage/src/components/selectedOptions/index.vue.html +0 -520
  138. package/coverage/src/components/sideMenu/index.html +0 -116
  139. package/coverage/src/components/sideMenu/index.vue.html +0 -895
  140. package/coverage/src/components/spinner/index.html +0 -116
  141. package/coverage/src/components/spinner/index.vue.html +0 -289
  142. package/coverage/src/components/tableDropdown/index.html +0 -116
  143. package/coverage/src/components/tableDropdown/index.vue.html +0 -1999
  144. package/coverage/src/components/tables/mainTable/exampleNested.vue.html +0 -1069
  145. package/coverage/src/components/tables/mainTable/index.html +0 -131
  146. package/coverage/src/components/tables/mainTable/index.vue.html +0 -1615
  147. package/coverage/src/components/tables/viewTable/index.html +0 -116
  148. package/coverage/src/components/tables/viewTable/index.vue.html +0 -670
  149. package/coverage/src/components/tabsHeader/index.html +0 -116
  150. package/coverage/src/components/tabsHeader/index.vue.html +0 -334
  151. package/coverage/src/components/threeDots/index.html +0 -116
  152. package/coverage/src/components/threeDots/index.vue.html +0 -1324
  153. package/coverage/src/components/videoThumbnail/index.html +0 -131
  154. package/coverage/src/components/videoThumbnail/index.vue.html +0 -394
  155. package/coverage/src/components/videoThumbnail/videoThumbnail.stories.js.html +0 -184
  156. package/coverage/src/helpers/currencyMapping.js.html +0 -169
  157. package/coverage/src/helpers/index.html +0 -146
  158. package/coverage/src/helpers/numberConverter.js.html +0 -394
  159. package/coverage/src/helpers/translateLang.js.html +0 -469
  160. package/coverage/src/index.html +0 -131
  161. package/coverage/src/mixins/index.html +0 -116
  162. package/coverage/src/mixins/inputValidations.js.html +0 -376
  163. package/coverage/src/router/dynamicRoutes.js.html +0 -154
  164. package/coverage/src/router/index.html +0 -116
  165. package/coverage/src/utils/index.html +0 -116
  166. package/coverage/src/utils/index.js.html +0 -121
  167. package/jest.config.js +0 -24
  168. package/postcss.config.js +0 -6
package/package.json CHANGED
@@ -1,10 +1,16 @@
1
1
  {
2
2
  "name": "@eturnity/eturnity_reusable_components",
3
- "version": "7.33.6",
3
+ "version": "7.35.0",
4
+ "files": [
5
+ "dist",
6
+ "src"
7
+ ],
8
+ "main": "./dist/main.umd.js",
9
+ "module": "./dist/main.es.js",
4
10
  "private": false,
5
11
  "scripts": {
6
- "dev": "vue-cli-service serve",
7
- "build": "vue-cli-service build",
12
+ "dev": "vite",
13
+ "build": "vite build",
8
14
  "lint": "vue-cli-service lint",
9
15
  "storybook": "storybook dev -p 6006",
10
16
  "build-storybook": "storybook build",
@@ -14,52 +20,54 @@
14
20
  "prepublishOnly": "npm run test"
15
21
  },
16
22
  "dependencies": {
17
- "@storybook/vue3": "8.2.8",
23
+ "@originjs/vite-plugin-commonjs": "1.0.3",
18
24
  "@vue/compat": "3.3.4",
19
25
  "@vueform/slider": "2.1.10",
20
26
  "@vuepic/vue-datepicker": "6.1.0",
21
27
  "click-outside-vue3": "4.0.1",
22
- "html-loader": "0.5.5",
23
- "postcss": "8.4.25",
28
+ "storybook": "8.2.9",
29
+ "vite-plugin-require": "1.1.14",
24
30
  "vue": "3.3.4",
25
- "vue-router": "^4.4.2",
31
+ "vue-router": "4.2.2",
26
32
  "vue3-styled-components": "1.2.1",
27
33
  "vuedraggable": "4.1.0"
28
34
  },
29
35
  "devDependencies": {
30
- "@babel/core": "^7.25.2",
31
- "@babel/plugin-syntax-import-meta": "^7.10.4",
32
- "@babel/preset-env": "^7.25.3",
33
- "@chromatic-com/storybook": "^1.6.1",
34
- "@storybook/addon-essentials": "^8.2.8",
35
- "@storybook/addon-interactions": "^8.2.8",
36
- "@storybook/addon-links": "^8.2.8",
37
- "@storybook/addon-onboarding": "^8.2.8",
38
- "@storybook/addon-webpack5-compiler-swc": "^1.0.5",
39
- "@storybook/blocks": "^8.2.8",
40
- "@storybook/test": "^8.2.8",
41
- "@storybook/testing-library": "^0.2.1",
42
- "@storybook/vue3-webpack5": "^8.2.8",
43
- "@types/node": "^22.1.0",
44
- "@vue/cli-plugin-babel": "^5.0.8",
36
+ "@babel/core": "7.25.2",
37
+ "@babel/plugin-syntax-import-meta": "7.10.4",
38
+ "@babel/preset-env": "7.25.3",
39
+ "@chromatic-com/storybook": "1.6.1",
40
+ "@storybook/addon-essentials": "8.2.9",
41
+ "@storybook/addon-interactions": "8.2.9",
42
+ "@storybook/addon-links": "8.2.9",
43
+ "@storybook/addon-onboarding": "8.2.8",
44
+ "@storybook/blocks": "8.2.8",
45
+ "@storybook/test": "8.2.8",
46
+ "@storybook/vue3-vite": "8.2.9",
47
+ "@types/node": "22.1.0",
48
+ "@vitejs/plugin-vue": "4.0.0",
49
+ "@vue/cli-plugin-babel": "5.0.8",
45
50
  "@vue/cli-plugin-eslint": "5.0.8",
46
- "@vue/cli-service": "^5.0.8",
51
+ "@vue/cli-service": "5.0.8",
47
52
  "@vue/compiler-sfc": "3.3.4",
48
- "@vue/test-utils": "^2.4.6",
53
+ "@vue/test-utils": "2.4.6",
49
54
  "babel-eslint": "10.1.0",
50
- "babel-jest": "^26.6.3",
55
+ "babel-jest": "26.6.3",
51
56
  "eslint": "8.0.1",
52
57
  "eslint-config-prettier": "8.8.0",
53
58
  "eslint-plugin-prettier": "4.2.1",
54
- "eslint-plugin-storybook": "^0.8.0",
59
+ "eslint-plugin-storybook": "0.8.0",
55
60
  "eslint-plugin-vue": "9.14.1",
56
- "identity-obj-proxy": "^3.0.0",
57
- "jest": "^26.6.3",
61
+ "identity-obj-proxy": "3.0.0",
62
+ "jest": "26.6.3",
63
+ "jest-styled-components": "7.2.0",
64
+ "jsdom": "24.1.1",
58
65
  "prettier": "2.8.4",
59
- "storybook": "^8.2.8",
60
- "vue-jest": "^5.0.0-alpha.10",
61
- "vue-loader": "^17.4.2",
62
- "vue-svg-loader": "^0.16.0"
66
+ "vite": "4.0.0",
67
+ "vite-svg-loader": "5.1.0",
68
+ "vue-jest": "5.0.0-alpha.10",
69
+ "vue-loader": "17.4.2",
70
+ "vue-svg-loader": "0.16.0"
63
71
  },
64
72
  "browserslist": [
65
73
  "> 1%",
@@ -67,7 +75,6 @@
67
75
  "not dead"
68
76
  ],
69
77
  "description": "## Project setup ``` npm install ```",
70
- "main": "babel.config.js",
71
78
  "repository": {
72
79
  "type": "git",
73
80
  "url": "git+https://aaronenser@bitbucket.org/eturnitydevs/eturnity_reusable_components.git"
package/src/Test.vue CHANGED
@@ -1,5 +1,7 @@
1
1
  <template>
2
2
  <PageContainer>
3
+ <IconComponent color="red" cursor="pointer" name="House" size="30px" />
4
+ <MainButton icon="bell" text="Click ME" type="secondary" />
3
5
  <AddNewButton />
4
6
  <ToggleComponent
5
7
  :disabled="false"
@@ -58,6 +60,8 @@
58
60
 
59
61
  <hr />
60
62
  <button @click="value = 42">Click to set at 42</button>
63
+ <br />
64
+ <IconCollection />
61
65
  </PageContainer>
62
66
  </template>
63
67
 
@@ -65,7 +69,10 @@
65
69
  import styled from 'vue3-styled-components'
66
70
  import InputNumber from '@/components/inputs/inputNumber'
67
71
  import ToggleComponent from '@/components/inputs/toggle'
72
+ import IconCollection from '@/components/icon/iconCollection'
68
73
  import AddNewButton from '@/components/addNewButton'
74
+ import MainButton from '@/components/buttons/mainButton'
75
+ import IconComponent from '@/components/icon'
69
76
 
70
77
  const PageContainer = styled.div`
71
78
  padding: 40px;
@@ -77,7 +84,10 @@
77
84
  PageContainer,
78
85
  InputNumber,
79
86
  ToggleComponent,
87
+ IconCollection,
80
88
  AddNewButton,
89
+ MainButton,
90
+ IconComponent,
81
91
  },
82
92
  data() {
83
93
  return {
@@ -5,5 +5,5 @@
5
5
  </pattern>
6
6
  </defs>
7
7
  <rect width="16" height="16" fill="url(#pattern_Z6wSY)" :opacity="1" />
8
- </g>
9
8
  </svg>
9
+
@@ -0,0 +1,51 @@
1
+ import MainButton from './index.vue'
2
+
3
+ export default {
4
+ title: 'MainButton',
5
+ component: MainButton,
6
+ tags: ['autodocs'],
7
+ }
8
+
9
+ export const DefaultButton = {
10
+ args: {
11
+ type: 'primary',
12
+ text: 'Click me',
13
+ },
14
+ }
15
+
16
+ export const SecondaryButton = {
17
+ args: {
18
+ type: 'secondary',
19
+ text: 'Click me',
20
+ },
21
+ }
22
+
23
+ export const CancelButton = {
24
+ args: {
25
+ type: 'cancel',
26
+ text: 'Click me',
27
+ },
28
+ }
29
+
30
+ export const DisabledButton = {
31
+ args: {
32
+ text: 'Click me',
33
+ isDisabled: true,
34
+ },
35
+ }
36
+
37
+ export const CustomColorButton = {
38
+ args: {
39
+ text: 'Click me',
40
+ customColor: '#0068DE',
41
+ fontColor: '#fdb813',
42
+ },
43
+ }
44
+
45
+ export const IconButton = {
46
+ args: {
47
+ text: 'Click me',
48
+ icon: 'bell',
49
+ customColor: '#fdb813',
50
+ },
51
+ }
@@ -10,26 +10,26 @@
10
10
  :no-wrap="noWrap"
11
11
  :type="type"
12
12
  >
13
- <Label :has-icon="Boolean(icon)">
13
+ <LabelComponent :has-icon="Boolean(icon)">
14
14
  <Icon v-if="icon" :name="icon" size="14px" />
15
15
  {{ text }}
16
- </Label>
16
+ </LabelComponent>
17
17
  </ButtonContainer>
18
18
  </PageContainer>
19
19
  </template>
20
20
 
21
21
  <script>
22
- // To use:
23
- // import RCMainButton from "@eturnity/eturnity_reusable_components/src/components/buttons/mainButton"
24
- // <RCMainButton
25
- // text="Click Me"
26
- // customColor="#ab5348"
27
- // type="secondary" // primary, secondary, cancel
28
- // icon="icon-name" // icon name from icon component
29
- // :isDisabled="true"
30
- // :minWidth="minWidth"
31
- // :data-id="test_data_id"
32
- // />
22
+ // To use:
23
+ // import RCMainButton from "@eturnity/eturnity_reusable_components/src/components/buttons/mainButton"
24
+ // <RCMainButton
25
+ // text="Click Me"
26
+ // customColor="#ab5348"
27
+ // type="secondary" // primary, secondary, cancel
28
+ // icon="icon-name" // icon name from icon component
29
+ // :isDisabled="true"
30
+ // :minWidth="minWidth"
31
+ // :data-id="test_data_id"
32
+ // />
33
33
 
34
34
  import styled from 'vue3-styled-components'
35
35
  import Icon from '../../icon'
@@ -81,7 +81,7 @@
81
81
  hasIcon: Boolean,
82
82
  }
83
83
 
84
- const Label = styled('span', LabelAttrs)`
84
+ const LabelComponent = styled('span', LabelAttrs)`
85
85
  display: flex;
86
86
  align-items: center;
87
87
  justify-content: center;
@@ -92,7 +92,7 @@
92
92
  name: 'MainButton',
93
93
  components: {
94
94
  Icon,
95
- Label,
95
+ LabelComponent,
96
96
  PageContainer,
97
97
  ButtonContainer,
98
98
  },
@@ -100,36 +100,46 @@
100
100
  type: {
101
101
  required: false,
102
102
  default: 'primary',
103
+ type: String,
103
104
  },
104
105
  isDisabled: {
105
106
  required: false,
106
107
  default: false,
108
+ type: Boolean,
107
109
  },
108
110
  icon: {
109
111
  required: false,
110
112
  default: null,
113
+ type: String,
111
114
  },
112
115
  text: {
113
116
  required: true,
117
+ type: String,
114
118
  },
115
119
  customColor: {
116
120
  required: false,
117
121
  default: null,
122
+ type: String,
118
123
  },
119
124
  fontColor: {
120
125
  required: false,
126
+ default: '',
127
+ type: String,
121
128
  },
122
129
  noWrap: {
123
130
  required: false,
124
131
  default: false,
132
+ type: Boolean,
125
133
  },
126
134
  minWidth: {
127
135
  required: false,
128
136
  default: null,
137
+ type: String,
129
138
  },
130
139
  id: {
131
140
  required: false,
132
141
  default: null,
142
+ type: String,
133
143
  },
134
144
  dataId: {
135
145
  type: String,
@@ -0,0 +1,32 @@
1
+ /* eslint-disable */
2
+ import { mount } from '@vue/test-utils'
3
+ import MainButton from '@/components/buttons/mainButton'
4
+ import theme from '@/assets/theme'
5
+
6
+ jest.mock('@/components/icon/iconCache.mjs', () => ({
7
+ // need to mock this due to how jest handles import.meta
8
+ fetchIcon: jest.fn(() => Promise.resolve('mocked-icon-url.svg')),
9
+ }))
10
+
11
+ describe('MainButton.vue', () => {
12
+ it('button is rendered', async () => {
13
+ const wrapper = mount(MainButton, {
14
+ props: {
15
+ type: 'primary',
16
+ text: 'Click me',
17
+ isDisabled: false,
18
+ dataId: 'button_wrapper',
19
+ },
20
+ global: {
21
+ provide: {
22
+ theme,
23
+ },
24
+ },
25
+ })
26
+ await wrapper.vm.$nextTick()
27
+ const buttonWrapper = wrapper.find('[data-id="button_wrapper"]')
28
+
29
+ // check that the element exists
30
+ expect(buttonWrapper.exists()).toBe(true)
31
+ })
32
+ })
@@ -49,8 +49,22 @@
49
49
  }
50
50
  },
51
51
 
52
- mounted() {
53
- this.importAll(require.context('../../assets/svgIcons/', true, /\.svg$/))
52
+ // mounted() {
53
+ // this.importAll(require.context('../../assets/svgIcons/', true, /\.svg$/))
54
+ // },
55
+ async mounted() {
56
+ // Use import.meta.glob to import SVGs dynamically
57
+ const icons = import.meta.glob('../../assets/svgIcons/*.svg')
58
+
59
+ for (const path in icons) {
60
+ const module = await icons[path]()
61
+
62
+ this.iconList.push({
63
+ pathLong: module.default,
64
+ pathShort: path,
65
+ name: path.replace('.svg', '').replace('../../assets/svgIcons/', ''),
66
+ })
67
+ }
54
68
  },
55
69
 
56
70
  methods: {
@@ -1,4 +1,4 @@
1
- import MyButton from './Button.vue';
1
+ import MyButton from './Button.vue'
2
2
 
3
3
  // More on how to set up stories at: https://storybook.js.org/docs/vue/writing-stories/introduction
4
4
  export default {
@@ -17,7 +17,7 @@ export default {
17
17
  options: ['small', 'medium', 'large'],
18
18
  },
19
19
  },
20
- };
20
+ }
21
21
 
22
22
  // More on writing stories with args: https://storybook.js.org/docs/vue/writing-stories/args
23
23
  export const Primary = {
@@ -25,24 +25,24 @@ export const Primary = {
25
25
  primary: true,
26
26
  label: 'Button',
27
27
  },
28
- };
28
+ }
29
29
 
30
30
  export const Secondary = {
31
31
  args: {
32
32
  label: 'Button',
33
33
  },
34
- };
34
+ }
35
35
 
36
36
  export const Large = {
37
37
  args: {
38
38
  size: 'large',
39
39
  label: 'Button',
40
40
  },
41
- };
41
+ }
42
42
 
43
43
  export const Small = {
44
44
  args: {
45
45
  size: 'small',
46
46
  label: 'Button',
47
47
  },
48
- };
48
+ }
@@ -1,4 +1,4 @@
1
- import MyHeader from './Header.vue';
1
+ import MyHeader from './Header.vue'
2
2
 
3
3
  export default {
4
4
  title: 'Example/Header',
@@ -15,7 +15,7 @@ export default {
15
15
  // Story args can be spread into the returned object
16
16
  return {
17
17
  ...args,
18
- };
18
+ }
19
19
  },
20
20
  // Then, the spread values can be accessed directly in the template
21
21
  template: '<my-header :user="user" />',
@@ -24,7 +24,7 @@ export default {
24
24
  // More on how to position stories at: https://storybook.js.org/docs/vue/configure/story-layout
25
25
  layout: 'fullscreen',
26
26
  },
27
- };
27
+ }
28
28
 
29
29
  export const LoggedIn = {
30
30
  args: {
@@ -32,10 +32,10 @@ export const LoggedIn = {
32
32
  name: 'Jane Doe',
33
33
  },
34
34
  },
35
- };
35
+ }
36
36
 
37
37
  export const LoggedOut = {
38
38
  args: {
39
39
  user: null,
40
40
  },
41
- };
41
+ }
@@ -1,5 +1,5 @@
1
- import { within, userEvent } from '@storybook/testing-library';
2
- import MyPage from './Page.vue';
1
+ import { within, userEvent } from '@storybook/test'
2
+ import MyPage from './Page.vue'
3
3
 
4
4
  export default {
5
5
  title: 'Example/Page',
@@ -8,9 +8,9 @@ export default {
8
8
  // More on how to position stories at: https://storybook.js.org/docs/vue/configure/story-layout
9
9
  layout: 'fullscreen',
10
10
  },
11
- };
11
+ }
12
12
 
13
- export const LoggedOut = {};
13
+ export const LoggedOut = {}
14
14
 
15
15
  // More on interaction testing: https://storybook.js.org/docs/vue/writing-tests/interaction-testing
16
16
  export const LoggedIn = {
@@ -21,10 +21,10 @@ export const LoggedIn = {
21
21
  template: '<my-page />',
22
22
  }),
23
23
  play: async ({ canvasElement }) => {
24
- const canvas = within(canvasElement);
24
+ const canvas = within(canvasElement)
25
25
  const loginButton = await canvas.getByRole('button', {
26
26
  name: /Log in/i,
27
- });
28
- await userEvent.click(loginButton);
27
+ })
28
+ await userEvent.click(loginButton)
29
29
  },
30
- };
30
+ }
package/.eslintrc.js DELETED
@@ -1,181 +0,0 @@
1
- module.exports = {
2
- root: true,
3
- env: {
4
- browser: true,
5
- node: true,
6
- es6: true,
7
- },
8
- extends: ['eslint:recommended', 'eslint:recommended', 'plugin:vue/vue3-recommended', 'plugin:prettier/recommended', 'plugin:storybook/recommended'],
9
- plugins: ['vue', 'prettier'],
10
- parserOptions: {
11
- ecmaVersion: 2020,
12
- sourceType: 'module',
13
- },
14
- rules: {
15
- 'vue/component-name-in-template-casing': [
16
- 'warn',
17
- 'PascalCase',
18
- {
19
- registeredComponentsOnly: false,
20
- ignores: [],
21
- },
22
- ],
23
- 'vue/multi-word-component-names': [
24
- 'warn',
25
- {
26
- ignores: [],
27
- },
28
- ],
29
- 'vue/html-closing-bracket-newline': [
30
- 'warn',
31
- {
32
- singleline: 'never',
33
- multiline: 'always',
34
- },
35
- ],
36
- 'vue/html-closing-bracket-spacing': [
37
- 'warn',
38
- {
39
- startTag: 'never',
40
- endTag: 'never',
41
- selfClosingTag: 'always',
42
- },
43
- ],
44
- 'vue/no-multi-spaces': [
45
- 'warn',
46
- {
47
- ignoreProperties: false,
48
- },
49
- ],
50
- 'vue/html-end-tags': 'warn',
51
- 'keyword-spacing': [
52
- 'warn',
53
- {
54
- before: true, // Require a space before keywords
55
- after: true, // Require a space after keywords
56
- },
57
- ],
58
- // Enforce one space after comma
59
- 'comma-spacing': [
60
- 'warn',
61
- {
62
- before: false, // No space before comma
63
- after: true, // Require a space after comma
64
- },
65
- ],
66
- 'func-call-spacing': ['warn', 'never'],
67
- // Enforce one space around binary operators (+, -, *, /, etc.)
68
- 'space-infix-ops': 'warn',
69
- // Enforce no space inside parentheses
70
- 'space-in-parens': ['warn', 'never'],
71
- // Enforce one space before block statements (if, else, for, etc.)
72
- 'space-before-blocks': 'warn',
73
- // Enforce no spaces inside square brackets
74
- 'array-bracket-spacing': ['warn', 'never'],
75
- // Enforce one space before function parentheses
76
- 'space-before-function-paren': ['warn', 'never'],
77
- // Enforce one space inside braces of object literals
78
- 'object-curly-spacing': ['warn', 'always'],
79
- // Enforce one space before and after arrow functions (optional)
80
- 'arrow-spacing': ['warn', { before: true, after: true }],
81
- // Enforce one space after colon in object literals
82
- 'key-spacing': [
83
- 'warn',
84
- {
85
- beforeColon: false, // No space before colon
86
- afterColon: true, // Require one space after colon
87
- mode: 'strict', // Enforce spacing between key and value
88
- },
89
- ],
90
- 'vue/html-indent': 'off',
91
- 'vue/html-quotes': ['warn', 'double'],
92
- 'vue/html-self-closing': [
93
- 'warn',
94
- {
95
- html: {
96
- void: 'always',
97
- normal: 'never',
98
- component: 'always',
99
- },
100
- svg: 'always',
101
- math: 'always',
102
- },
103
- ],
104
- 'vue/require-default-prop': 'warn',
105
- 'vue/require-prop-types': 'warn',
106
- 'vue/v-on-event-hyphenation': [
107
- 'warn',
108
- 'always',
109
- {
110
- autofix: true,
111
- ignore: [],
112
- },
113
- ],
114
- 'vue/prop-name-casing': ['warn', 'camelCase'],
115
- 'vue/order-in-components': 'warn',
116
- 'vue/this-in-template': ['warn', 'never'],
117
- 'vue/attributes-order': [
118
- 'warn',
119
- {
120
- order: [
121
- 'DEFINITION',
122
- 'LIST_RENDERING',
123
- 'CONDITIONALS',
124
- 'RENDER_MODIFIERS',
125
- 'GLOBAL',
126
- ['UNIQUE', 'SLOT'],
127
- 'TWO_WAY_BINDING',
128
- 'OTHER_DIRECTIVES',
129
- 'OTHER_ATTR',
130
- 'EVENTS',
131
- 'CONTENT',
132
- ],
133
- alphabetical: true,
134
- },
135
- ],
136
- 'vue/no-unused-vars': 'warn',
137
- 'vue/no-use-v-if-with-v-for': [
138
- 'warn',
139
- {
140
- allowUsingIterationVar: false,
141
- },
142
- ],
143
- 'no-unused-vars': 'warn',
144
- 'no-undef': 'warn',
145
- 'no-console': 'warn',
146
- 'no-debugger': 'warn',
147
- 'no-multi-spaces': 'warn',
148
- 'no-mixed-spaces-and-tabs': 'warn',
149
- 'no-redeclare': 'warn',
150
- 'vue/no-reserved-component-names': 'warn',
151
- 'vue/no-deprecated-destroyed-lifecycle': 'warn',
152
- 'no-prototype-builtins': 'warn',
153
- 'no-unsafe-finally': 'warn',
154
- 'max-len': [
155
- 'warn',
156
- {
157
- code: 120,
158
- tabWidth: 2,
159
- ignoreUrls: true,
160
- ignoreComments: true,
161
- ignoreTrailingComments: true,
162
- ignorePattern: '^import\\s.+\\sfrom\\s.+;$',
163
- },
164
- ],
165
- 'prettier/prettier': [
166
- 'warn',
167
- {
168
- semi: false,
169
- singleQuote: true,
170
- trailingComma: 'es5',
171
- printWidth: 80,
172
- tabWidth: 2,
173
- useTabs: false,
174
- endOfLine: 'auto',
175
- },
176
- ],
177
- },
178
- globals: {
179
- _: true,
180
- },
181
- }
package/.prettierrc DELETED
@@ -1,9 +0,0 @@
1
- {
2
- "semi": false,
3
- "singleQuote": true,
4
- "printWidth": 80,
5
- "tabWidth": 2,
6
- "trailingComma": "es5",
7
- "bracketSpacing": true,
8
- "vueIndentScriptAndStyle": true
9
- }