@shoprenter/sr-styleguide 1.0.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/README.md +37 -0
- package/dist/demo/src/demo.js +1 -0
- package/dist/demo/src/demo_bootstrap_js.css +119 -0
- package/dist/demo/src/demo_bootstrap_js.js +2 -0
- package/dist/demo/src/demo_bootstrap_js.js.LICENSE.txt +3180 -0
- package/dist/demo/src/index.html +1 -0
- package/dist/demo/src/stylesheet.js +0 -0
- package/dist/stylesheet/sr-styleguide.css +34 -0
- package/package.json +61 -0
- package/src/components/alerts/SrErrorAlert.vue +18 -0
- package/src/components/alerts/SrInfoAlert.vue +18 -0
- package/src/components/alerts/SrSuccessAlert.vue +18 -0
- package/src/components/alerts/SrWarningAlert.vue +18 -0
- package/src/components/app-containers/SrModule/SrModule.scss +16 -0
- package/src/components/app-containers/SrModule/SrModule.vue +17 -0
- package/src/components/app-containers/SrPage/SrPage.vue +25 -0
- package/src/components/buttons/SrDeleteButton.vue +11 -0
- package/src/components/buttons/SrHelpButton.scss +9 -0
- package/src/components/buttons/SrHelpButton.vue +16 -0
- package/src/components/buttons/SrPrimaryButton.vue +11 -0
- package/src/components/buttons/tests/SrHelpButton.spec.js +36 -0
- package/src/components/form/SrFormRow/SrFormRow.scss +26 -0
- package/src/components/form/SrFormRow/SrFormRow.vue +44 -0
- package/src/components/icons/SrAddCircleOutlineIcon.vue +11 -0
- package/src/components/icons/SrArrowRightIcon.vue +11 -0
- package/src/components/icons/SrCalendarIcon.vue +11 -0
- package/src/components/icons/SrCheckboxIndeterminateIcon.vue +11 -0
- package/src/components/icons/SrCheckboxOffIcon.vue +11 -0
- package/src/components/icons/SrCheckboxOnIcon.vue +11 -0
- package/src/components/icons/SrCloseIcon.vue +11 -0
- package/src/components/icons/SrDuplicateIcon.vue +11 -0
- package/src/components/icons/SrEditIcon.vue +11 -0
- package/src/components/icons/SrErrorCircleOutlineIcon.vue +11 -0
- package/src/components/icons/SrErrorIcon.vue +11 -0
- package/src/components/icons/SrExportIcon.vue +11 -0
- package/src/components/icons/SrFileWithStarIcon.vue +11 -0
- package/src/components/icons/SrFilterIcon.vue +11 -0
- package/src/components/icons/SrFindIcon.vue +11 -0
- package/src/components/icons/SrHelpCircleOutlineIcon.vue +11 -0
- package/src/components/icons/SrImportIcon.vue +11 -0
- package/src/components/icons/SrInfoIcon.vue +11 -0
- package/src/components/icons/SrInformationIcon.vue +11 -0
- package/src/components/icons/SrInvoiceIcon.vue +11 -0
- package/src/components/icons/SrInvoiceStornoIcon.vue +11 -0
- package/src/components/icons/SrLightningIcon.vue +11 -0
- package/src/components/icons/SrMagnifyIcon.vue +11 -0
- package/src/components/icons/SrMailIcon.vue +11 -0
- package/src/components/icons/SrNextIcon.vue +11 -0
- package/src/components/icons/SrOpenInNewIcon.vue +11 -0
- package/src/components/icons/SrPackageIcon.vue +10 -0
- package/src/components/icons/SrPadlockOutlineIcon.vue +11 -0
- package/src/components/icons/SrPencilIcon.vue +11 -0
- package/src/components/icons/SrPrevIcon.vue +11 -0
- package/src/components/icons/SrRadioOff.vue +11 -0
- package/src/components/icons/SrRadioOn.vue +11 -0
- package/src/components/icons/SrSearchCloseIcon.vue +11 -0
- package/src/components/icons/SrSearchIcon.vue +11 -0
- package/src/components/icons/SrSettingIcon.vue +11 -0
- package/src/components/icons/SrSuccessCircleOutlineIcon.vue +11 -0
- package/src/components/icons/SrSuccessIcon.vue +11 -0
- package/src/components/icons/SrTrashIcon.vue +11 -0
- package/src/components/icons/SrWarningCircleOutlineIcon.vue +11 -0
- package/src/components/icons/flags/SrCroatiaFlag.vue +73 -0
- package/src/components/icons/flags/SrGermanyFlag.vue +23 -0
- package/src/components/icons/flags/SrHungaryFlag.vue +19 -0
- package/src/components/icons/flags/SrRomaniaFlag.vue +23 -0
- package/src/components/icons/flags/SrSerbiaFlag.vue +34 -0
- package/src/components/icons/flags/SrSloveniaFlag.vue +33 -0
- package/src/components/icons/flags/SrUnitedKingdomFlag.vue +42 -0
- package/src/components/inputs/SrCheckbox/SrArrayCheckbox.vue +34 -0
- package/src/components/inputs/SrCheckbox/SrCheckbox.vue +15 -0
- package/src/components/inputs/SrCheckbox/tests/SrArrayCheckbox.spec.js +73 -0
- package/src/components/inputs/SrDatePicker/SrDatePicker.vue +56 -0
- package/src/components/inputs/SrInputField/SrInputField.vue +17 -0
- package/src/components/inputs/SrMultiCheckbox/SrMultiCheckbox.scss +35 -0
- package/src/components/inputs/SrMultiCheckbox/SrMultiCheckbox.vue +68 -0
- package/src/components/inputs/SrMultiCheckbox/tests/SrMultiCheckbox.spec.js +81 -0
- package/src/components/inputs/SrRadio/SrRadio.vue +19 -0
- package/src/components/inputs/SrRadio/SrRadioGroup.vue +15 -0
- package/src/components/inputs/SrSelect/SrSelect.vue +23 -0
- package/src/components/inputs/SrSwitch/SrSwitch.vue +30 -0
- package/src/components/layouts/slim/SrSlimContent/SrSlimContent.vue +14 -0
- package/src/components/layouts/slim/SrSlimHeading/SrSlimHeading.vue +14 -0
- package/src/components/layouts/slim/SrSlimLayout/SrSlimLayout.vue +13 -0
- package/src/components/milestone-indicators/multi-step-progress-bar/SrMultiStepProgressBar/SrMultiStepProgressBar.scss +25 -0
- package/src/components/milestone-indicators/multi-step-progress-bar/SrMultiStepProgressBar/SrMultiStepProgressBar.vue +12 -0
- package/src/components/milestone-indicators/multi-step-progress-bar/SrProgressBarStep/SrProgressBarStep.scss +69 -0
- package/src/components/milestone-indicators/multi-step-progress-bar/SrProgressBarStep/SrProgressBarStep.vue +25 -0
- package/src/components/pagination/SrPagination.vue +57 -0
- package/src/components/tables/SrSimpleTable/SrSimpleTable.vue +11 -0
- package/src/components/tabs/SrLanguageTab/SrLanguageTab.scss +12 -0
- package/src/components/tabs/SrLanguageTab/SrLanguageTab.vue +26 -0
- package/src/components/tabs/SrLanguageTab/adminLanguages.js +64 -0
- package/src/components/tabs/SrTab/SrTab.scss +9 -0
- package/src/components/tabs/SrTab/SrTab.vue +15 -0
- package/src/components/tabs/SrTabItem/SrTabItem.vue +12 -0
- package/src/components/tabs/SrTabs/SrTabs.scss +5 -0
- package/src/components/tabs/SrTabs/SrTabs.vue +28 -0
- package/src/components/tabs/SrTabsItems/SrTabsItems.vue +12 -0
- package/src/index.js +2 -0
- package/src/plugins/component-library/index.js +27 -0
- package/src/plugins/component-library/library/SrAlerts.js +13 -0
- package/src/plugins/component-library/library/SrAppContainers.js +9 -0
- package/src/plugins/component-library/library/SrButtons.js +11 -0
- package/src/plugins/component-library/library/SrFormRow.js +7 -0
- package/src/plugins/component-library/library/SrIcons.js +98 -0
- package/src/plugins/component-library/library/SrInputs.js +23 -0
- package/src/plugins/component-library/library/SrLayouts.js +11 -0
- package/src/plugins/component-library/library/SrMilestoneIndicators.js +11 -0
- package/src/plugins/component-library/library/SrPagination.js +7 -0
- package/src/plugins/component-library/library/SrTables.js +7 -0
- package/src/plugins/component-library/library/SrTabs.js +15 -0
- package/src/plugins/vuetify/index.js +9 -0
- package/src/plugins/vuetify/preset/icons/components/AddCircleOutlineIcon.vue +11 -0
- package/src/plugins/vuetify/preset/icons/components/ArrowRightIcon.vue +11 -0
- package/src/plugins/vuetify/preset/icons/components/CalendarIcon.vue +27 -0
- package/src/plugins/vuetify/preset/icons/components/CheckboxIndeterminateIcon.vue +12 -0
- package/src/plugins/vuetify/preset/icons/components/CheckboxOffIcon.vue +11 -0
- package/src/plugins/vuetify/preset/icons/components/CheckboxOnIcon.vue +12 -0
- package/src/plugins/vuetify/preset/icons/components/CloseIcon.vue +12 -0
- package/src/plugins/vuetify/preset/icons/components/DuplicateIcon.vue +11 -0
- package/src/plugins/vuetify/preset/icons/components/EditIcon.vue +11 -0
- package/src/plugins/vuetify/preset/icons/components/ErrorCircleOutlineIcon.vue +13 -0
- package/src/plugins/vuetify/preset/icons/components/ErrorIcon.vue +12 -0
- package/src/plugins/vuetify/preset/icons/components/ExportIcon.vue +11 -0
- package/src/plugins/vuetify/preset/icons/components/FileWithStarIcon.vue +15 -0
- package/src/plugins/vuetify/preset/icons/components/FilterIcon.vue +11 -0
- package/src/plugins/vuetify/preset/icons/components/FindIcon.vue +11 -0
- package/src/plugins/vuetify/preset/icons/components/HelpCircleOutlineIcon.vue +11 -0
- package/src/plugins/vuetify/preset/icons/components/ImportIcon.vue +11 -0
- package/src/plugins/vuetify/preset/icons/components/InfoIcon.vue +11 -0
- package/src/plugins/vuetify/preset/icons/components/InformationIcon.vue +12 -0
- package/src/plugins/vuetify/preset/icons/components/InvoiceIcon.vue +13 -0
- package/src/plugins/vuetify/preset/icons/components/InvoiceStornoIcon.vue +13 -0
- package/src/plugins/vuetify/preset/icons/components/LightningIcon.vue +11 -0
- package/src/plugins/vuetify/preset/icons/components/MagnifyIcon.vue +11 -0
- package/src/plugins/vuetify/preset/icons/components/MailIcon.vue +11 -0
- package/src/plugins/vuetify/preset/icons/components/NextIcon.vue +11 -0
- package/src/plugins/vuetify/preset/icons/components/OpenInNewIcon.vue +11 -0
- package/src/plugins/vuetify/preset/icons/components/PackageIcon.vue +12 -0
- package/src/plugins/vuetify/preset/icons/components/PadlockOutlineIcon.vue +20 -0
- package/src/plugins/vuetify/preset/icons/components/PencilIcon.vue +11 -0
- package/src/plugins/vuetify/preset/icons/components/PrevIcon.vue +11 -0
- package/src/plugins/vuetify/preset/icons/components/RadioOff.vue +11 -0
- package/src/plugins/vuetify/preset/icons/components/RadioOn.vue +12 -0
- package/src/plugins/vuetify/preset/icons/components/SearchCloseIcon.vue +11 -0
- package/src/plugins/vuetify/preset/icons/components/SearchIcon.vue +11 -0
- package/src/plugins/vuetify/preset/icons/components/SettingIcon.vue +9 -0
- package/src/plugins/vuetify/preset/icons/components/SuccessCircleOutlineIcon.vue +13 -0
- package/src/plugins/vuetify/preset/icons/components/SuccessIcon.vue +11 -0
- package/src/plugins/vuetify/preset/icons/components/TrashIcon.vue +12 -0
- package/src/plugins/vuetify/preset/icons/components/WarningCircleOutlineIcon.vue +18 -0
- package/src/plugins/vuetify/preset/icons/index.js +156 -0
- package/src/plugins/vuetify/preset/index.js +27 -0
- package/src/plugins/vuetify/preset/locale/sr-en.js +10 -0
- package/src/plugins/vuetify/preset/locale/sr-hu.js +10 -0
- package/src/plugins/vuetify/preset/overrides.sass +7 -0
- package/src/plugins/vuetify/preset/style/css/root_variables.css +25 -0
- package/src/plugins/vuetify/preset/style/scss/_admin-menu.scss +24 -0
- package/src/plugins/vuetify/preset/style/scss/_components.scss +19 -0
- package/src/plugins/vuetify/preset/style/scss/_layout.scss +140 -0
- package/src/plugins/vuetify/preset/style/scss/_new-style.scss +80 -0
- package/src/plugins/vuetify/preset/style/scss/_pages.scss +5 -0
- package/src/plugins/vuetify/preset/style/scss/_scaffolding.scss +29 -0
- package/src/plugins/vuetify/preset/style/scss/_utility.scss +14 -0
- package/src/plugins/vuetify/preset/style/scss/_vuetify-rewrite.scss +4 -0
- package/src/plugins/vuetify/preset/style/scss/components/_actionbar.scss +31 -0
- package/src/plugins/vuetify/preset/style/scss/components/_block.scss +12 -0
- package/src/plugins/vuetify/preset/style/scss/components/_breadcrumb.scss +37 -0
- package/src/plugins/vuetify/preset/style/scss/components/_buttons.scss +71 -0
- package/src/plugins/vuetify/preset/style/scss/components/_cards.scss +61 -0
- package/src/plugins/vuetify/preset/style/scss/components/_copy-to-clipboard.scss +16 -0
- package/src/plugins/vuetify/preset/style/scss/components/_dialog.scss +61 -0
- package/src/plugins/vuetify/preset/style/scss/components/_icons.scss +21 -0
- package/src/plugins/vuetify/preset/style/scss/components/_input.scss +199 -0
- package/src/plugins/vuetify/preset/style/scss/components/_pagination.scss +36 -0
- package/src/plugins/vuetify/preset/style/scss/components/_quantity-range-input.scss +93 -0
- package/src/plugins/vuetify/preset/style/scss/components/_select-all-plus.scss +5 -0
- package/src/plugins/vuetify/preset/style/scss/components/_select.scss +92 -0
- package/src/plugins/vuetify/preset/style/scss/components/_simple-card.scss +97 -0
- package/src/plugins/vuetify/preset/style/scss/components/_sticky-header.scss +41 -0
- package/src/plugins/vuetify/preset/style/scss/components/_table.scss +94 -0
- package/src/plugins/vuetify/preset/style/scss/components/_tooltip.scss +3 -0
- package/src/plugins/vuetify/preset/style/scss/mixins/_breakpoints.scss +123 -0
- package/src/plugins/vuetify/preset/style/scss/pages/_apps.scss +99 -0
- package/src/plugins/vuetify/preset/style/scss/pages/_campaign.scss +30 -0
- package/src/plugins/vuetify/preset/style/scss/pages/_order-list.scss +498 -0
- package/src/plugins/vuetify/preset/style/scss/pages/_order-preview.scss +83 -0
- package/src/plugins/vuetify/preset/style/scss/pages/_product-list.scss +286 -0
- package/src/plugins/vuetify/preset/variables.scss +264 -0
- package/src/plugins/vuetify/vuetify.sass +95 -0
package/package.json
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@shoprenter/sr-styleguide",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "",
|
|
5
|
+
"main": "./src/index.js",
|
|
6
|
+
"files": [
|
|
7
|
+
"src",
|
|
8
|
+
"dist"
|
|
9
|
+
],
|
|
10
|
+
"scripts": {
|
|
11
|
+
"before-commit": "eslint $(git diff --name-only --diff-filter=ACMRTUXB master | grep -E \"(.js$|.vue$)\" | grep -E \"^src/|^build|^demo/\") --fix && npm run build && npm run test",
|
|
12
|
+
"lint:all": "eslint \"./{src,build,demo}/**/*.{js,vue}\"",
|
|
13
|
+
"lint:all:fix": "eslint \"./{src,build,demo}/**/*.{js,vue}\" --fix",
|
|
14
|
+
"lint:diff": "eslint $(git diff --name-only --diff-filter=ACMRTUXB master | grep -E \"(.js$|.vue$)\" | grep -E \"^src/|^build|^demo/\")",
|
|
15
|
+
"test": "jest",
|
|
16
|
+
"serve": "NODE_OPTIONS=--openssl-legacy-provider webpack-dev-server --config build/webpack.config.js --mode development --progress",
|
|
17
|
+
"build": "NODE_OPTIONS=--openssl-legacy-provider webpack --config build/webpack.config.js --mode production --progress"
|
|
18
|
+
},
|
|
19
|
+
"author": "",
|
|
20
|
+
"license": "ISC",
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"vuetify": "^2.6.14"
|
|
23
|
+
},
|
|
24
|
+
"devDependencies": {
|
|
25
|
+
"@babel/core": "^7.26.10",
|
|
26
|
+
"@babel/preset-env": "^7.26.9",
|
|
27
|
+
"@eslint/eslintrc": "^3.3.0",
|
|
28
|
+
"@eslint/js": "^9.22.0",
|
|
29
|
+
"@vue/test-utils": "^1.3.6",
|
|
30
|
+
"babel-core": "^7.0.0-bridge.0",
|
|
31
|
+
"babel-jest": "^29.7.0",
|
|
32
|
+
"css-loader": "^7.1.2",
|
|
33
|
+
"eslint": "^8.57.1",
|
|
34
|
+
"eslint-config-standard": "^17.1.0",
|
|
35
|
+
"eslint-plugin-vue": "^10.0.0",
|
|
36
|
+
"globals": "^16.0.0",
|
|
37
|
+
"html-webpack-plugin": "^5.6.3",
|
|
38
|
+
"identity-obj-proxy": "^3.0.0",
|
|
39
|
+
"ignore-loader": "^0.1.2",
|
|
40
|
+
"jest": "^29.7.0",
|
|
41
|
+
"jest-environment-jsdom": "^29.7.0",
|
|
42
|
+
"mini-css-extract-plugin": "^2.9.2",
|
|
43
|
+
"postcss": "^8.5.3",
|
|
44
|
+
"postcss-loader": "^8.1.1",
|
|
45
|
+
"postcss-prefixwrap": "1.54.0",
|
|
46
|
+
"prismjs": "^1.30.0",
|
|
47
|
+
"sass": "^1.85.1",
|
|
48
|
+
"sass-loader": "^16.0.5",
|
|
49
|
+
"style-loader": "^4.0.0",
|
|
50
|
+
"tiny-emitter": "^2.1.0",
|
|
51
|
+
"vue": "^2.6.11",
|
|
52
|
+
"vue-jest": "^3.0.7",
|
|
53
|
+
"vue-loader": "^15.11.1",
|
|
54
|
+
"vue-router": "^3.1.5",
|
|
55
|
+
"vue-style-loader": "^4.1.3",
|
|
56
|
+
"vue-template-compiler": "^2.6.11",
|
|
57
|
+
"webpack": "^5.98.0",
|
|
58
|
+
"webpack-cli": "^6.0.1",
|
|
59
|
+
"webpack-dev-server": "^5.2.0"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<v-alert
|
|
3
|
+
prominent
|
|
4
|
+
dismissible
|
|
5
|
+
type="error"
|
|
6
|
+
v-bind="$attrs"
|
|
7
|
+
v-on="$listeners"
|
|
8
|
+
icon="mdi-alert">
|
|
9
|
+
<slot/>
|
|
10
|
+
</v-alert>
|
|
11
|
+
</template>
|
|
12
|
+
|
|
13
|
+
<script>
|
|
14
|
+
export default {
|
|
15
|
+
name: 'SrErrorAlert',
|
|
16
|
+
inheritAttrs: false
|
|
17
|
+
}
|
|
18
|
+
</script>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<v-alert
|
|
3
|
+
prominent
|
|
4
|
+
dismissible
|
|
5
|
+
type="info"
|
|
6
|
+
v-bind="$attrs"
|
|
7
|
+
v-on="$listeners"
|
|
8
|
+
icon="mdi-information">
|
|
9
|
+
<slot />
|
|
10
|
+
</v-alert>
|
|
11
|
+
</template>
|
|
12
|
+
|
|
13
|
+
<script>
|
|
14
|
+
export default {
|
|
15
|
+
name: 'SrInfoAlert',
|
|
16
|
+
inheritAttrs: false
|
|
17
|
+
}
|
|
18
|
+
</script>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<v-alert
|
|
3
|
+
prominent
|
|
4
|
+
dismissible
|
|
5
|
+
type="success"
|
|
6
|
+
v-bind="$attrs"
|
|
7
|
+
v-on="$listeners"
|
|
8
|
+
icon="mdi-check-circle">
|
|
9
|
+
<slot />
|
|
10
|
+
</v-alert>
|
|
11
|
+
</template>
|
|
12
|
+
|
|
13
|
+
<script>
|
|
14
|
+
export default {
|
|
15
|
+
name: 'SrSuccessAlert',
|
|
16
|
+
inheritAttrs: false
|
|
17
|
+
}
|
|
18
|
+
</script>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<v-alert
|
|
3
|
+
prominent
|
|
4
|
+
dismissible
|
|
5
|
+
type="warning"
|
|
6
|
+
v-bind="$attrs"
|
|
7
|
+
v-on="$listeners"
|
|
8
|
+
icon="mdi-exclamation">
|
|
9
|
+
<slot />
|
|
10
|
+
</v-alert>
|
|
11
|
+
</template>
|
|
12
|
+
|
|
13
|
+
<script>
|
|
14
|
+
export default {
|
|
15
|
+
name: 'SrWarningAlert',
|
|
16
|
+
inheritAttrs: false
|
|
17
|
+
}
|
|
18
|
+
</script>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#sr-styleguide:has(div.new-style > .sr-module) {
|
|
2
|
+
overflow-y:auto;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.new-style > div.v-application.sr-module {
|
|
6
|
+
background: unset;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.new-style > div.v-application.sr-module > div.v-application--wrap {
|
|
10
|
+
min-height: unset;
|
|
11
|
+
max-width: unset;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.new-style:has( > .sr-module) {
|
|
15
|
+
background: unset;
|
|
16
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div id="sr-styleguide">
|
|
3
|
+
<div class="new-style">
|
|
4
|
+
<v-app class="sr-page">
|
|
5
|
+
<v-row>
|
|
6
|
+
<v-col cols="6">
|
|
7
|
+
<!--- breadcrumbs placeholder -->
|
|
8
|
+
</v-col>
|
|
9
|
+
<v-col cols ="6" class="text-right">
|
|
10
|
+
<sr-help-button/>
|
|
11
|
+
</v-col>
|
|
12
|
+
</v-row>
|
|
13
|
+
<v-main>
|
|
14
|
+
<slot />
|
|
15
|
+
</v-main>
|
|
16
|
+
</v-app>
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
</template>
|
|
20
|
+
|
|
21
|
+
<script>
|
|
22
|
+
export default {
|
|
23
|
+
name: 'SrPage'
|
|
24
|
+
}
|
|
25
|
+
</script>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<v-btn v-if="helpUrl" :href="helpUrl" target="_blank" :ripple="false" class="admin-help-button link-secondary" text>
|
|
3
|
+
{{ this.$vuetify.lang.t('$vuetify.help') }}<sr-help-circle-outline-icon/>
|
|
4
|
+
</v-btn>
|
|
5
|
+
</template>
|
|
6
|
+
<script>
|
|
7
|
+
export default {
|
|
8
|
+
name: 'SrHelpButton',
|
|
9
|
+
inheritAttrs: false,
|
|
10
|
+
computed: {
|
|
11
|
+
helpUrl () {
|
|
12
|
+
return this.$route && this.$route.meta && this.$route.meta.helpUrl
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
</script>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { mount } from '@vue/test-utils'
|
|
2
|
+
import SrHelpButton from '../SrHelpButton.vue'
|
|
3
|
+
|
|
4
|
+
describe('SrHelpButton.vue', () => {
|
|
5
|
+
let vuetify
|
|
6
|
+
|
|
7
|
+
beforeEach(() => {
|
|
8
|
+
vuetify = createVuetify()
|
|
9
|
+
})
|
|
10
|
+
|
|
11
|
+
it('renders v-btn when helpUrl exists', () => {
|
|
12
|
+
const $route = { meta: { helpUrl: 'http://help.example.com' } }
|
|
13
|
+
const wrapper = mount(SrHelpButton, {
|
|
14
|
+
vuetify,
|
|
15
|
+
mocks: { $route },
|
|
16
|
+
stubs: { 'v-btn': true, 'sr-help-circle-outline-icon': true }
|
|
17
|
+
})
|
|
18
|
+
|
|
19
|
+
const btn = wrapper.findComponent({ name: 'v-btn' })
|
|
20
|
+
expect(btn.exists()).toBe(true)
|
|
21
|
+
expect(btn.attributes('href')).toBe('http://help.example.com')
|
|
22
|
+
expect(btn.attributes('target')).toBe('_blank')
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
it('does not render v-btn when helpUrl does not exist', () => {
|
|
26
|
+
const $route = { meta: {} }
|
|
27
|
+
const wrapper = mount(SrHelpButton, {
|
|
28
|
+
vuetify,
|
|
29
|
+
mocks: { $route },
|
|
30
|
+
stubs: { 'v-btn': true, 'sr-help-circle-outline-icon': true }
|
|
31
|
+
})
|
|
32
|
+
|
|
33
|
+
const btn = wrapper.findComponent({ name: 'v-btn' })
|
|
34
|
+
expect(btn.exists()).toBe(false)
|
|
35
|
+
})
|
|
36
|
+
})
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
.admin-form-row {
|
|
2
|
+
margin-bottom: 16px;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.admin-form-row__label {
|
|
6
|
+
margin-bottom: 5px;
|
|
7
|
+
word-break: break-word;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.admin-form-row__element {
|
|
11
|
+
width: 100%;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.new-style .form-help,
|
|
15
|
+
.new-style .help {
|
|
16
|
+
color: var(--sr-dark-grey);
|
|
17
|
+
font-size: 12px;
|
|
18
|
+
font-weight: 400;
|
|
19
|
+
display: block;
|
|
20
|
+
text-transform: none;
|
|
21
|
+
margin-top: 4px;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.required-form-row {
|
|
25
|
+
color: var(--sr-error);
|
|
26
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<v-row dense>
|
|
3
|
+
<v-col cols="12" sm="3">
|
|
4
|
+
<div class="admin-form-row">
|
|
5
|
+
<div class="admin-form-row__label">
|
|
6
|
+
<slot name="label">
|
|
7
|
+
<v-label><span v-if="required" class="required-form-row">* </span>{{ label }}</v-label>
|
|
8
|
+
<div class="help">
|
|
9
|
+
{{ help }}
|
|
10
|
+
</div>
|
|
11
|
+
</slot>
|
|
12
|
+
</div>
|
|
13
|
+
</div>
|
|
14
|
+
</v-col>
|
|
15
|
+
<v-col cols="12" sm="4">
|
|
16
|
+
<div class="admin-form-row__element">
|
|
17
|
+
<slot />
|
|
18
|
+
</div>
|
|
19
|
+
</v-col>
|
|
20
|
+
<v-col cols="5" class="d-none d-sm-block">
|
|
21
|
+
</v-col>
|
|
22
|
+
</v-row>
|
|
23
|
+
</template>
|
|
24
|
+
|
|
25
|
+
<script>
|
|
26
|
+
export default {
|
|
27
|
+
name: 'SrFormRow',
|
|
28
|
+
props: {
|
|
29
|
+
label: {
|
|
30
|
+
type: String,
|
|
31
|
+
required: false
|
|
32
|
+
},
|
|
33
|
+
help: {
|
|
34
|
+
type: String,
|
|
35
|
+
required: false
|
|
36
|
+
},
|
|
37
|
+
required: {
|
|
38
|
+
type: Boolean,
|
|
39
|
+
required: false,
|
|
40
|
+
default: false
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
</script>
|