@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.
- package/package.json +40 -33
- package/src/Test.vue +10 -0
- package/src/assets/svgIcons/obstacle_tool.svg +1 -1
- package/src/components/buttons/mainButton/MainButton.stories.js +51 -0
- package/src/components/buttons/mainButton/index.vue +25 -15
- package/src/components/buttons/mainButton/mainButton.spec.js +32 -0
- package/src/components/icon/iconCollection.vue +16 -2
- package/src/stories/Button.stories.js +6 -6
- package/src/stories/Header.stories.js +5 -5
- package/src/stories/Page.stories.js +8 -8
- package/.eslintrc.js +0 -181
- package/.prettierrc +0 -9
- package/.storybook/main.js +0 -23
- package/.storybook/preview.js +0 -46
- package/babel.config.js +0 -18
- package/coverage/base.css +0 -224
- package/coverage/block-navigation.js +0 -87
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +0 -986
- package/coverage/prettify.css +0 -1
- package/coverage/prettify.js +0 -2
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +0 -196
- package/coverage/src/App.vue.html +0 -175
- package/coverage/src/Test.vue.html +0 -421
- package/coverage/src/assets/index.html +0 -116
- package/coverage/src/assets/tests/helpers.js.html +0 -121
- package/coverage/src/assets/tests/index.html +0 -116
- package/coverage/src/assets/theme.js.html +0 -208
- package/coverage/src/components/addNewButton/AddNewButton.stories.js.html +0 -157
- package/coverage/src/components/addNewButton/index.html +0 -131
- package/coverage/src/components/addNewButton/index.vue.html +0 -268
- package/coverage/src/components/banner/actionBanner/index.html +0 -116
- package/coverage/src/components/banner/actionBanner/index.vue.html +0 -277
- package/coverage/src/components/banner/banner/banner.stories.js.html +0 -178
- package/coverage/src/components/banner/banner/index.html +0 -131
- package/coverage/src/components/banner/banner/index.vue.html +0 -649
- package/coverage/src/components/banner/infoBanner/index.html +0 -116
- package/coverage/src/components/banner/infoBanner/index.vue.html +0 -256
- package/coverage/src/components/buttons/buttonIcon/index.html +0 -116
- package/coverage/src/components/buttons/buttonIcon/index.vue.html +0 -520
- package/coverage/src/components/buttons/closeButton/CloseButton.stories.js.html +0 -172
- package/coverage/src/components/buttons/closeButton/index.html +0 -131
- package/coverage/src/components/buttons/closeButton/index.vue.html +0 -268
- package/coverage/src/components/buttons/mainButton/index.html +0 -116
- package/coverage/src/components/buttons/mainButton/index.vue.html +0 -505
- package/coverage/src/components/card/index.html +0 -116
- package/coverage/src/components/card/index.vue.html +0 -373
- package/coverage/src/components/collapsableInfoText/index.html +0 -116
- package/coverage/src/components/collapsableInfoText/index.vue.html +0 -466
- package/coverage/src/components/deleteIcon/DeleteIcon.stories.js.html +0 -172
- package/coverage/src/components/deleteIcon/index.html +0 -131
- package/coverage/src/components/deleteIcon/index.vue.html +0 -319
- package/coverage/src/components/draggableInputHandle/index.html +0 -116
- package/coverage/src/components/draggableInputHandle/index.vue.html +0 -223
- package/coverage/src/components/dropdown/Dropdown.stories.js.html +0 -244
- package/coverage/src/components/dropdown/index.html +0 -131
- package/coverage/src/components/dropdown/index.vue.html +0 -499
- package/coverage/src/components/errorMessage/index.html +0 -116
- package/coverage/src/components/errorMessage/index.vue.html +0 -277
- package/coverage/src/components/filter/filterSettings.vue.html +0 -2002
- package/coverage/src/components/filter/index.html +0 -146
- package/coverage/src/components/filter/index.vue.html +0 -547
- package/coverage/src/components/filter/parentDropdown.vue.html +0 -358
- package/coverage/src/components/icon/Icons.stories.js.html +0 -208
- package/coverage/src/components/icon/iconCollection.vue.html +0 -289
- package/coverage/src/components/icon/index.html +0 -146
- package/coverage/src/components/icon/index.vue.html +0 -505
- package/coverage/src/components/iconWrapper/index.html +0 -116
- package/coverage/src/components/iconWrapper/index.vue.html +0 -622
- package/coverage/src/components/infoCard/index.html +0 -116
- package/coverage/src/components/infoCard/index.vue.html +0 -205
- package/coverage/src/components/infoText/index.html +0 -116
- package/coverage/src/components/infoText/index.vue.html +0 -595
- package/coverage/src/components/inputs/checkbox/Checkbox.stories.js.html +0 -256
- package/coverage/src/components/inputs/checkbox/index.html +0 -131
- package/coverage/src/components/inputs/checkbox/index.vue.html +0 -757
- package/coverage/src/components/inputs/inputNumber/InputNumber.stories.js.html +0 -535
- package/coverage/src/components/inputs/inputNumber/index.html +0 -131
- package/coverage/src/components/inputs/inputNumber/index.vue.html +0 -2452
- package/coverage/src/components/inputs/inputNumberQuestion/index.html +0 -116
- package/coverage/src/components/inputs/inputNumberQuestion/index.vue.html +0 -739
- package/coverage/src/components/inputs/inputText/InputText.stories.js.html +0 -310
- package/coverage/src/components/inputs/inputText/index.html +0 -131
- package/coverage/src/components/inputs/inputText/index.vue.html +0 -1213
- package/coverage/src/components/inputs/radioButton/RadioButton.stories.js.html +0 -259
- package/coverage/src/components/inputs/radioButton/index.html +0 -131
- package/coverage/src/components/inputs/radioButton/index.vue.html +0 -904
- package/coverage/src/components/inputs/searchInput/SearchInput.stories.js.html +0 -205
- package/coverage/src/components/inputs/searchInput/index.html +0 -131
- package/coverage/src/components/inputs/searchInput/index.vue.html +0 -538
- package/coverage/src/components/inputs/select/index.html +0 -131
- package/coverage/src/components/inputs/select/index.vue.html +0 -2809
- package/coverage/src/components/inputs/select/option/index.html +0 -116
- package/coverage/src/components/inputs/select/option/index.vue.html +0 -529
- package/coverage/src/components/inputs/select/select.stories.js.html +0 -259
- package/coverage/src/components/inputs/slider/index.html +0 -116
- package/coverage/src/components/inputs/slider/index.vue.html +0 -463
- package/coverage/src/components/inputs/switchField/index.html +0 -116
- package/coverage/src/components/inputs/switchField/index.vue.html +0 -847
- package/coverage/src/components/inputs/textAreaInput/TextAreaInput.stories.js.html +0 -466
- package/coverage/src/components/inputs/textAreaInput/index.html +0 -131
- package/coverage/src/components/inputs/textAreaInput/index.vue.html +0 -679
- package/coverage/src/components/inputs/toggle/Toggle.stories.js.html +0 -316
- package/coverage/src/components/inputs/toggle/index.html +0 -131
- package/coverage/src/components/inputs/toggle/index.vue.html +0 -1036
- package/coverage/src/components/label/index.html +0 -116
- package/coverage/src/components/label/index.vue.html +0 -382
- package/coverage/src/components/markerItem/index.html +0 -116
- package/coverage/src/components/markerItem/index.vue.html +0 -349
- package/coverage/src/components/modals/actionModal/index.html +0 -116
- package/coverage/src/components/modals/actionModal/index.vue.html +0 -277
- package/coverage/src/components/modals/infoModal/index.html +0 -116
- package/coverage/src/components/modals/infoModal/index.vue.html +0 -241
- package/coverage/src/components/modals/modal/index.html +0 -131
- package/coverage/src/components/modals/modal/index.vue.html +0 -649
- package/coverage/src/components/modals/modal/modal.stories.js.html +0 -178
- package/coverage/src/components/navigationTabs/index.html +0 -116
- package/coverage/src/components/navigationTabs/index.vue.html +0 -427
- package/coverage/src/components/pageSubtitle/index.html +0 -116
- package/coverage/src/components/pageSubtitle/index.vue.html +0 -286
- package/coverage/src/components/pageTitle/index.html +0 -116
- package/coverage/src/components/pageTitle/index.vue.html +0 -289
- package/coverage/src/components/pagination/index.html +0 -116
- package/coverage/src/components/pagination/index.vue.html +0 -529
- package/coverage/src/components/progressBar/index.html +0 -116
- package/coverage/src/components/progressBar/index.vue.html +0 -460
- package/coverage/src/components/projectMarker/index.html +0 -116
- package/coverage/src/components/projectMarker/index.vue.html +0 -985
- package/coverage/src/components/rangeSlider/Slider.vue.html +0 -1804
- package/coverage/src/components/rangeSlider/index.html +0 -131
- package/coverage/src/components/rangeSlider/index.vue.html +0 -1636
- package/coverage/src/components/rangeSlider/utils/dom.js.html +0 -232
- package/coverage/src/components/rangeSlider/utils/fns.js.html +0 -163
- package/coverage/src/components/rangeSlider/utils/index.html +0 -131
- package/coverage/src/components/selectedOptions/index.html +0 -116
- package/coverage/src/components/selectedOptions/index.vue.html +0 -520
- package/coverage/src/components/sideMenu/index.html +0 -116
- package/coverage/src/components/sideMenu/index.vue.html +0 -895
- package/coverage/src/components/spinner/index.html +0 -116
- package/coverage/src/components/spinner/index.vue.html +0 -289
- package/coverage/src/components/tableDropdown/index.html +0 -116
- package/coverage/src/components/tableDropdown/index.vue.html +0 -1999
- package/coverage/src/components/tables/mainTable/exampleNested.vue.html +0 -1069
- package/coverage/src/components/tables/mainTable/index.html +0 -131
- package/coverage/src/components/tables/mainTable/index.vue.html +0 -1615
- package/coverage/src/components/tables/viewTable/index.html +0 -116
- package/coverage/src/components/tables/viewTable/index.vue.html +0 -670
- package/coverage/src/components/tabsHeader/index.html +0 -116
- package/coverage/src/components/tabsHeader/index.vue.html +0 -334
- package/coverage/src/components/threeDots/index.html +0 -116
- package/coverage/src/components/threeDots/index.vue.html +0 -1324
- package/coverage/src/components/videoThumbnail/index.html +0 -131
- package/coverage/src/components/videoThumbnail/index.vue.html +0 -394
- package/coverage/src/components/videoThumbnail/videoThumbnail.stories.js.html +0 -184
- package/coverage/src/helpers/currencyMapping.js.html +0 -169
- package/coverage/src/helpers/index.html +0 -146
- package/coverage/src/helpers/numberConverter.js.html +0 -394
- package/coverage/src/helpers/translateLang.js.html +0 -469
- package/coverage/src/index.html +0 -131
- package/coverage/src/mixins/index.html +0 -116
- package/coverage/src/mixins/inputValidations.js.html +0 -376
- package/coverage/src/router/dynamicRoutes.js.html +0 -154
- package/coverage/src/router/index.html +0 -116
- package/coverage/src/utils/index.html +0 -116
- package/coverage/src/utils/index.js.html +0 -121
- package/jest.config.js +0 -24
- 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.
|
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": "
|
7
|
-
"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
|
-
"@
|
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
|
-
"
|
23
|
-
"
|
28
|
+
"storybook": "8.2.9",
|
29
|
+
"vite-plugin-require": "1.1.14",
|
24
30
|
"vue": "3.3.4",
|
25
|
-
"vue-router": "
|
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": "
|
31
|
-
"@babel/plugin-syntax-import-meta": "
|
32
|
-
"@babel/preset-env": "
|
33
|
-
"@chromatic-com/storybook": "
|
34
|
-
"@storybook/addon-essentials": "
|
35
|
-
"@storybook/addon-interactions": "
|
36
|
-
"@storybook/addon-links": "
|
37
|
-
"@storybook/addon-onboarding": "
|
38
|
-
"@storybook/
|
39
|
-
"@storybook/
|
40
|
-
"@storybook/
|
41
|
-
"@
|
42
|
-
"@
|
43
|
-
"@
|
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": "
|
51
|
+
"@vue/cli-service": "5.0.8",
|
47
52
|
"@vue/compiler-sfc": "3.3.4",
|
48
|
-
"@vue/test-utils": "
|
53
|
+
"@vue/test-utils": "2.4.6",
|
49
54
|
"babel-eslint": "10.1.0",
|
50
|
-
"babel-jest": "
|
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": "
|
59
|
+
"eslint-plugin-storybook": "0.8.0",
|
55
60
|
"eslint-plugin-vue": "9.14.1",
|
56
|
-
"identity-obj-proxy": "
|
57
|
-
"jest": "
|
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
|
-
"
|
60
|
-
"
|
61
|
-
"vue-
|
62
|
-
"vue-
|
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 {
|
@@ -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
|
-
<
|
13
|
+
<LabelComponent :has-icon="Boolean(icon)">
|
14
14
|
<Icon v-if="icon" :name="icon" size="14px" />
|
15
15
|
{{ text }}
|
16
|
-
</
|
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
|
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
|
-
|
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
|
-
|
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/
|
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
|
-
}
|