@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.
Files changed (191) hide show
  1. package/README.md +37 -0
  2. package/dist/demo/src/demo.js +1 -0
  3. package/dist/demo/src/demo_bootstrap_js.css +119 -0
  4. package/dist/demo/src/demo_bootstrap_js.js +2 -0
  5. package/dist/demo/src/demo_bootstrap_js.js.LICENSE.txt +3180 -0
  6. package/dist/demo/src/index.html +1 -0
  7. package/dist/demo/src/stylesheet.js +0 -0
  8. package/dist/stylesheet/sr-styleguide.css +34 -0
  9. package/package.json +61 -0
  10. package/src/components/alerts/SrErrorAlert.vue +18 -0
  11. package/src/components/alerts/SrInfoAlert.vue +18 -0
  12. package/src/components/alerts/SrSuccessAlert.vue +18 -0
  13. package/src/components/alerts/SrWarningAlert.vue +18 -0
  14. package/src/components/app-containers/SrModule/SrModule.scss +16 -0
  15. package/src/components/app-containers/SrModule/SrModule.vue +17 -0
  16. package/src/components/app-containers/SrPage/SrPage.vue +25 -0
  17. package/src/components/buttons/SrDeleteButton.vue +11 -0
  18. package/src/components/buttons/SrHelpButton.scss +9 -0
  19. package/src/components/buttons/SrHelpButton.vue +16 -0
  20. package/src/components/buttons/SrPrimaryButton.vue +11 -0
  21. package/src/components/buttons/tests/SrHelpButton.spec.js +36 -0
  22. package/src/components/form/SrFormRow/SrFormRow.scss +26 -0
  23. package/src/components/form/SrFormRow/SrFormRow.vue +44 -0
  24. package/src/components/icons/SrAddCircleOutlineIcon.vue +11 -0
  25. package/src/components/icons/SrArrowRightIcon.vue +11 -0
  26. package/src/components/icons/SrCalendarIcon.vue +11 -0
  27. package/src/components/icons/SrCheckboxIndeterminateIcon.vue +11 -0
  28. package/src/components/icons/SrCheckboxOffIcon.vue +11 -0
  29. package/src/components/icons/SrCheckboxOnIcon.vue +11 -0
  30. package/src/components/icons/SrCloseIcon.vue +11 -0
  31. package/src/components/icons/SrDuplicateIcon.vue +11 -0
  32. package/src/components/icons/SrEditIcon.vue +11 -0
  33. package/src/components/icons/SrErrorCircleOutlineIcon.vue +11 -0
  34. package/src/components/icons/SrErrorIcon.vue +11 -0
  35. package/src/components/icons/SrExportIcon.vue +11 -0
  36. package/src/components/icons/SrFileWithStarIcon.vue +11 -0
  37. package/src/components/icons/SrFilterIcon.vue +11 -0
  38. package/src/components/icons/SrFindIcon.vue +11 -0
  39. package/src/components/icons/SrHelpCircleOutlineIcon.vue +11 -0
  40. package/src/components/icons/SrImportIcon.vue +11 -0
  41. package/src/components/icons/SrInfoIcon.vue +11 -0
  42. package/src/components/icons/SrInformationIcon.vue +11 -0
  43. package/src/components/icons/SrInvoiceIcon.vue +11 -0
  44. package/src/components/icons/SrInvoiceStornoIcon.vue +11 -0
  45. package/src/components/icons/SrLightningIcon.vue +11 -0
  46. package/src/components/icons/SrMagnifyIcon.vue +11 -0
  47. package/src/components/icons/SrMailIcon.vue +11 -0
  48. package/src/components/icons/SrNextIcon.vue +11 -0
  49. package/src/components/icons/SrOpenInNewIcon.vue +11 -0
  50. package/src/components/icons/SrPackageIcon.vue +10 -0
  51. package/src/components/icons/SrPadlockOutlineIcon.vue +11 -0
  52. package/src/components/icons/SrPencilIcon.vue +11 -0
  53. package/src/components/icons/SrPrevIcon.vue +11 -0
  54. package/src/components/icons/SrRadioOff.vue +11 -0
  55. package/src/components/icons/SrRadioOn.vue +11 -0
  56. package/src/components/icons/SrSearchCloseIcon.vue +11 -0
  57. package/src/components/icons/SrSearchIcon.vue +11 -0
  58. package/src/components/icons/SrSettingIcon.vue +11 -0
  59. package/src/components/icons/SrSuccessCircleOutlineIcon.vue +11 -0
  60. package/src/components/icons/SrSuccessIcon.vue +11 -0
  61. package/src/components/icons/SrTrashIcon.vue +11 -0
  62. package/src/components/icons/SrWarningCircleOutlineIcon.vue +11 -0
  63. package/src/components/icons/flags/SrCroatiaFlag.vue +73 -0
  64. package/src/components/icons/flags/SrGermanyFlag.vue +23 -0
  65. package/src/components/icons/flags/SrHungaryFlag.vue +19 -0
  66. package/src/components/icons/flags/SrRomaniaFlag.vue +23 -0
  67. package/src/components/icons/flags/SrSerbiaFlag.vue +34 -0
  68. package/src/components/icons/flags/SrSloveniaFlag.vue +33 -0
  69. package/src/components/icons/flags/SrUnitedKingdomFlag.vue +42 -0
  70. package/src/components/inputs/SrCheckbox/SrArrayCheckbox.vue +34 -0
  71. package/src/components/inputs/SrCheckbox/SrCheckbox.vue +15 -0
  72. package/src/components/inputs/SrCheckbox/tests/SrArrayCheckbox.spec.js +73 -0
  73. package/src/components/inputs/SrDatePicker/SrDatePicker.vue +56 -0
  74. package/src/components/inputs/SrInputField/SrInputField.vue +17 -0
  75. package/src/components/inputs/SrMultiCheckbox/SrMultiCheckbox.scss +35 -0
  76. package/src/components/inputs/SrMultiCheckbox/SrMultiCheckbox.vue +68 -0
  77. package/src/components/inputs/SrMultiCheckbox/tests/SrMultiCheckbox.spec.js +81 -0
  78. package/src/components/inputs/SrRadio/SrRadio.vue +19 -0
  79. package/src/components/inputs/SrRadio/SrRadioGroup.vue +15 -0
  80. package/src/components/inputs/SrSelect/SrSelect.vue +23 -0
  81. package/src/components/inputs/SrSwitch/SrSwitch.vue +30 -0
  82. package/src/components/layouts/slim/SrSlimContent/SrSlimContent.vue +14 -0
  83. package/src/components/layouts/slim/SrSlimHeading/SrSlimHeading.vue +14 -0
  84. package/src/components/layouts/slim/SrSlimLayout/SrSlimLayout.vue +13 -0
  85. package/src/components/milestone-indicators/multi-step-progress-bar/SrMultiStepProgressBar/SrMultiStepProgressBar.scss +25 -0
  86. package/src/components/milestone-indicators/multi-step-progress-bar/SrMultiStepProgressBar/SrMultiStepProgressBar.vue +12 -0
  87. package/src/components/milestone-indicators/multi-step-progress-bar/SrProgressBarStep/SrProgressBarStep.scss +69 -0
  88. package/src/components/milestone-indicators/multi-step-progress-bar/SrProgressBarStep/SrProgressBarStep.vue +25 -0
  89. package/src/components/pagination/SrPagination.vue +57 -0
  90. package/src/components/tables/SrSimpleTable/SrSimpleTable.vue +11 -0
  91. package/src/components/tabs/SrLanguageTab/SrLanguageTab.scss +12 -0
  92. package/src/components/tabs/SrLanguageTab/SrLanguageTab.vue +26 -0
  93. package/src/components/tabs/SrLanguageTab/adminLanguages.js +64 -0
  94. package/src/components/tabs/SrTab/SrTab.scss +9 -0
  95. package/src/components/tabs/SrTab/SrTab.vue +15 -0
  96. package/src/components/tabs/SrTabItem/SrTabItem.vue +12 -0
  97. package/src/components/tabs/SrTabs/SrTabs.scss +5 -0
  98. package/src/components/tabs/SrTabs/SrTabs.vue +28 -0
  99. package/src/components/tabs/SrTabsItems/SrTabsItems.vue +12 -0
  100. package/src/index.js +2 -0
  101. package/src/plugins/component-library/index.js +27 -0
  102. package/src/plugins/component-library/library/SrAlerts.js +13 -0
  103. package/src/plugins/component-library/library/SrAppContainers.js +9 -0
  104. package/src/plugins/component-library/library/SrButtons.js +11 -0
  105. package/src/plugins/component-library/library/SrFormRow.js +7 -0
  106. package/src/plugins/component-library/library/SrIcons.js +98 -0
  107. package/src/plugins/component-library/library/SrInputs.js +23 -0
  108. package/src/plugins/component-library/library/SrLayouts.js +11 -0
  109. package/src/plugins/component-library/library/SrMilestoneIndicators.js +11 -0
  110. package/src/plugins/component-library/library/SrPagination.js +7 -0
  111. package/src/plugins/component-library/library/SrTables.js +7 -0
  112. package/src/plugins/component-library/library/SrTabs.js +15 -0
  113. package/src/plugins/vuetify/index.js +9 -0
  114. package/src/plugins/vuetify/preset/icons/components/AddCircleOutlineIcon.vue +11 -0
  115. package/src/plugins/vuetify/preset/icons/components/ArrowRightIcon.vue +11 -0
  116. package/src/plugins/vuetify/preset/icons/components/CalendarIcon.vue +27 -0
  117. package/src/plugins/vuetify/preset/icons/components/CheckboxIndeterminateIcon.vue +12 -0
  118. package/src/plugins/vuetify/preset/icons/components/CheckboxOffIcon.vue +11 -0
  119. package/src/plugins/vuetify/preset/icons/components/CheckboxOnIcon.vue +12 -0
  120. package/src/plugins/vuetify/preset/icons/components/CloseIcon.vue +12 -0
  121. package/src/plugins/vuetify/preset/icons/components/DuplicateIcon.vue +11 -0
  122. package/src/plugins/vuetify/preset/icons/components/EditIcon.vue +11 -0
  123. package/src/plugins/vuetify/preset/icons/components/ErrorCircleOutlineIcon.vue +13 -0
  124. package/src/plugins/vuetify/preset/icons/components/ErrorIcon.vue +12 -0
  125. package/src/plugins/vuetify/preset/icons/components/ExportIcon.vue +11 -0
  126. package/src/plugins/vuetify/preset/icons/components/FileWithStarIcon.vue +15 -0
  127. package/src/plugins/vuetify/preset/icons/components/FilterIcon.vue +11 -0
  128. package/src/plugins/vuetify/preset/icons/components/FindIcon.vue +11 -0
  129. package/src/plugins/vuetify/preset/icons/components/HelpCircleOutlineIcon.vue +11 -0
  130. package/src/plugins/vuetify/preset/icons/components/ImportIcon.vue +11 -0
  131. package/src/plugins/vuetify/preset/icons/components/InfoIcon.vue +11 -0
  132. package/src/plugins/vuetify/preset/icons/components/InformationIcon.vue +12 -0
  133. package/src/plugins/vuetify/preset/icons/components/InvoiceIcon.vue +13 -0
  134. package/src/plugins/vuetify/preset/icons/components/InvoiceStornoIcon.vue +13 -0
  135. package/src/plugins/vuetify/preset/icons/components/LightningIcon.vue +11 -0
  136. package/src/plugins/vuetify/preset/icons/components/MagnifyIcon.vue +11 -0
  137. package/src/plugins/vuetify/preset/icons/components/MailIcon.vue +11 -0
  138. package/src/plugins/vuetify/preset/icons/components/NextIcon.vue +11 -0
  139. package/src/plugins/vuetify/preset/icons/components/OpenInNewIcon.vue +11 -0
  140. package/src/plugins/vuetify/preset/icons/components/PackageIcon.vue +12 -0
  141. package/src/plugins/vuetify/preset/icons/components/PadlockOutlineIcon.vue +20 -0
  142. package/src/plugins/vuetify/preset/icons/components/PencilIcon.vue +11 -0
  143. package/src/plugins/vuetify/preset/icons/components/PrevIcon.vue +11 -0
  144. package/src/plugins/vuetify/preset/icons/components/RadioOff.vue +11 -0
  145. package/src/plugins/vuetify/preset/icons/components/RadioOn.vue +12 -0
  146. package/src/plugins/vuetify/preset/icons/components/SearchCloseIcon.vue +11 -0
  147. package/src/plugins/vuetify/preset/icons/components/SearchIcon.vue +11 -0
  148. package/src/plugins/vuetify/preset/icons/components/SettingIcon.vue +9 -0
  149. package/src/plugins/vuetify/preset/icons/components/SuccessCircleOutlineIcon.vue +13 -0
  150. package/src/plugins/vuetify/preset/icons/components/SuccessIcon.vue +11 -0
  151. package/src/plugins/vuetify/preset/icons/components/TrashIcon.vue +12 -0
  152. package/src/plugins/vuetify/preset/icons/components/WarningCircleOutlineIcon.vue +18 -0
  153. package/src/plugins/vuetify/preset/icons/index.js +156 -0
  154. package/src/plugins/vuetify/preset/index.js +27 -0
  155. package/src/plugins/vuetify/preset/locale/sr-en.js +10 -0
  156. package/src/plugins/vuetify/preset/locale/sr-hu.js +10 -0
  157. package/src/plugins/vuetify/preset/overrides.sass +7 -0
  158. package/src/plugins/vuetify/preset/style/css/root_variables.css +25 -0
  159. package/src/plugins/vuetify/preset/style/scss/_admin-menu.scss +24 -0
  160. package/src/plugins/vuetify/preset/style/scss/_components.scss +19 -0
  161. package/src/plugins/vuetify/preset/style/scss/_layout.scss +140 -0
  162. package/src/plugins/vuetify/preset/style/scss/_new-style.scss +80 -0
  163. package/src/plugins/vuetify/preset/style/scss/_pages.scss +5 -0
  164. package/src/plugins/vuetify/preset/style/scss/_scaffolding.scss +29 -0
  165. package/src/plugins/vuetify/preset/style/scss/_utility.scss +14 -0
  166. package/src/plugins/vuetify/preset/style/scss/_vuetify-rewrite.scss +4 -0
  167. package/src/plugins/vuetify/preset/style/scss/components/_actionbar.scss +31 -0
  168. package/src/plugins/vuetify/preset/style/scss/components/_block.scss +12 -0
  169. package/src/plugins/vuetify/preset/style/scss/components/_breadcrumb.scss +37 -0
  170. package/src/plugins/vuetify/preset/style/scss/components/_buttons.scss +71 -0
  171. package/src/plugins/vuetify/preset/style/scss/components/_cards.scss +61 -0
  172. package/src/plugins/vuetify/preset/style/scss/components/_copy-to-clipboard.scss +16 -0
  173. package/src/plugins/vuetify/preset/style/scss/components/_dialog.scss +61 -0
  174. package/src/plugins/vuetify/preset/style/scss/components/_icons.scss +21 -0
  175. package/src/plugins/vuetify/preset/style/scss/components/_input.scss +199 -0
  176. package/src/plugins/vuetify/preset/style/scss/components/_pagination.scss +36 -0
  177. package/src/plugins/vuetify/preset/style/scss/components/_quantity-range-input.scss +93 -0
  178. package/src/plugins/vuetify/preset/style/scss/components/_select-all-plus.scss +5 -0
  179. package/src/plugins/vuetify/preset/style/scss/components/_select.scss +92 -0
  180. package/src/plugins/vuetify/preset/style/scss/components/_simple-card.scss +97 -0
  181. package/src/plugins/vuetify/preset/style/scss/components/_sticky-header.scss +41 -0
  182. package/src/plugins/vuetify/preset/style/scss/components/_table.scss +94 -0
  183. package/src/plugins/vuetify/preset/style/scss/components/_tooltip.scss +3 -0
  184. package/src/plugins/vuetify/preset/style/scss/mixins/_breakpoints.scss +123 -0
  185. package/src/plugins/vuetify/preset/style/scss/pages/_apps.scss +99 -0
  186. package/src/plugins/vuetify/preset/style/scss/pages/_campaign.scss +30 -0
  187. package/src/plugins/vuetify/preset/style/scss/pages/_order-list.scss +498 -0
  188. package/src/plugins/vuetify/preset/style/scss/pages/_order-preview.scss +83 -0
  189. package/src/plugins/vuetify/preset/style/scss/pages/_product-list.scss +286 -0
  190. package/src/plugins/vuetify/preset/variables.scss +264 -0
  191. 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,17 @@
1
+ <template>
2
+ <div id="sr-styleguide">
3
+ <div class="new-style">
4
+ <v-app class="sr-module">
5
+ <v-main>
6
+ <slot />
7
+ </v-main>
8
+ </v-app>
9
+ </div>
10
+ </div>
11
+ </template>
12
+
13
+ <script>
14
+ export default {
15
+ name: 'SrModule'
16
+ }
17
+ </script>
@@ -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,11 @@
1
+ <template>
2
+ <v-btn color="error" v-bind="$attrs" v-on="$listeners">
3
+ <slot></slot>
4
+ </v-btn>
5
+ </template>
6
+ <script>
7
+ export default {
8
+ name: 'SrDeleteButton',
9
+ inheritAttrs: false
10
+ }
11
+ </script>
@@ -0,0 +1,9 @@
1
+ .admin-help-button {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ font-size: 13px;
5
+
6
+ .v-icon {
7
+ margin-left: 10px;
8
+ }
9
+ }
@@ -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,11 @@
1
+ <template>
2
+ <v-btn color="primary" v-bind="$attrs" v-on="$listeners">
3
+ <slot></slot>
4
+ </v-btn>
5
+ </template>
6
+ <script>
7
+ export default {
8
+ name: 'SrPrimaryButton',
9
+ inheritAttrs: false
10
+ }
11
+ </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>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <!-- eslint-disable-next-line -->
3
+ <v-icon v-bind="$attrs" v-on="$listeners">$addCircleOutline</v-icon>
4
+ </template>
5
+
6
+ <script>
7
+ export default {
8
+ name: 'SrAddCircleOutlineIcon',
9
+ inheritAttrs: false
10
+ }
11
+ </script>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <!-- eslint-disable-next-line -->
3
+ <v-icon v-bind="$attrs" v-on="$listeners">$arrowRight</v-icon>
4
+ </template>
5
+
6
+ <script>
7
+ export default {
8
+ name: 'SrArrowRightIcon',
9
+ inheritAttrs: false
10
+ }
11
+ </script>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <!-- eslint-disable-next-line -->
3
+ <v-icon v-bind="$attrs" v-on="$listeners">$calendar</v-icon>
4
+ </template>
5
+
6
+ <script>
7
+ export default {
8
+ name: 'SrCalendarIcon',
9
+ inheritAttrs: false
10
+ }
11
+ </script>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <!-- eslint-disable-next-line -->
3
+ <v-icon v-bind="$attrs" v-on="$listeners">$checkboxIndeterminate</v-icon>
4
+ </template>
5
+
6
+ <script>
7
+ export default {
8
+ name: 'SrCheckboxIndeterminateIcon.vue',
9
+ inheritAttrs: false
10
+ }
11
+ </script>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <!-- eslint-disable-next-line -->
3
+ <v-icon v-bind="$attrs" v-on="$listeners">$checkboxOff</v-icon>
4
+ </template>
5
+
6
+ <script>
7
+ export default {
8
+ name: 'SrCheckboxOffIcon',
9
+ inheritAttrs: false
10
+ }
11
+ </script>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <!-- eslint-disable-next-line -->
3
+ <v-icon v-bind="$attrs" v-on="$listeners">$checkboxOn</v-icon>
4
+ </template>
5
+
6
+ <script>
7
+ export default {
8
+ name: 'SrCheckboxOnIcon.vue',
9
+ inheritAttrs: false
10
+ }
11
+ </script>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <!-- eslint-disable-next-line -->
3
+ <v-icon v-bind="$attrs" v-on="$listeners">$close</v-icon>
4
+ </template>
5
+
6
+ <script>
7
+ export default {
8
+ name: 'SrCloseIcon',
9
+ inheritAttrs: false
10
+ }
11
+ </script>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <!-- eslint-disable-next-line -->
3
+ <v-icon v-bind="$attrs" v-on="$listeners">$duplicate</v-icon>
4
+ </template>
5
+
6
+ <script>
7
+ export default {
8
+ name: 'SrDuplicateIcon',
9
+ inheritAttrs: false
10
+ }
11
+ </script>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <!-- eslint-disable-next-line -->
3
+ <v-icon v-bind="$attrs" v-on="$listeners">$edit</v-icon>
4
+ </template>
5
+
6
+ <script>
7
+ export default {
8
+ name: 'SrEditIcon',
9
+ inheritAttrs: false
10
+ }
11
+ </script>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <!-- eslint-disable-next-line -->
3
+ <v-icon v-bind="$attrs" v-on="$listeners">$errorCircleOutline</v-icon>
4
+ </template>
5
+
6
+ <script>
7
+ export default {
8
+ name: 'SrErrorCircleOutlineIcon',
9
+ inheritAttrs: false
10
+ }
11
+ </script>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <!-- eslint-disable-next-line -->
3
+ <v-icon v-bind="$attrs" v-on="$listeners">$error</v-icon>
4
+ </template>
5
+
6
+ <script>
7
+ export default {
8
+ name: 'SrErrorIcon',
9
+ inheritAttrs: false
10
+ }
11
+ </script>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <!-- eslint-disable-next-line -->
3
+ <v-icon v-bind="$attrs" v-on="$listeners">$export</v-icon>
4
+ </template>
5
+
6
+ <script>
7
+ export default {
8
+ name: 'SrExportIcon.vue',
9
+ inheritAttrs: false
10
+ }
11
+ </script>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <!-- eslint-disable-next-line -->
3
+ <v-icon v-bind="$attrs" v-on="$listeners">$fileWithStar</v-icon>
4
+ </template>
5
+
6
+ <script>
7
+ export default {
8
+ name: 'SrFileWithStarIcon',
9
+ inheritAttrs: false
10
+ }
11
+ </script>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <!-- eslint-disable-next-line -->
3
+ <v-icon v-bind="$attrs" v-on="$listeners">$filter</v-icon>
4
+ </template>
5
+
6
+ <script>
7
+ export default {
8
+ name: 'SrFilterIcon.vue',
9
+ inheritAttrs: false
10
+ }
11
+ </script>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <!-- eslint-disable-next-line -->
3
+ <v-icon v-bind="$attrs" v-on="$listeners">$find</v-icon>
4
+ </template>
5
+
6
+ <script>
7
+ export default {
8
+ name: 'SrFindIcon',
9
+ inheritAttrs: false
10
+ }
11
+ </script>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <!-- eslint-disable-next-line -->
3
+ <v-icon v-bind="$attrs" v-on="$listeners">$helpCircleOutline</v-icon>
4
+ </template>
5
+
6
+ <script>
7
+ export default {
8
+ name: 'SrHelpCircleOutlineIcon.vue',
9
+ inheritAttrs: false
10
+ }
11
+ </script>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <!-- eslint-disable-next-line -->
3
+ <v-icon v-bind="$attrs" v-on="$listeners">$import</v-icon>
4
+ </template>
5
+
6
+ <script>
7
+ export default {
8
+ name: 'SrImportIcon.vue',
9
+ inheritAttrs: false
10
+ }
11
+ </script>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <!-- eslint-disable-next-line -->
3
+ <v-icon v-bind="$attrs" v-on="$listeners">$info</v-icon>
4
+ </template>
5
+
6
+ <script>
7
+ export default {
8
+ name: 'SrInfoIcon.vue',
9
+ inheritAttrs: false
10
+ }
11
+ </script>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <!-- eslint-disable-next-line -->
3
+ <v-icon v-bind="$attrs" v-on="$listeners">$information</v-icon>
4
+ </template>
5
+
6
+ <script>
7
+ export default {
8
+ name: 'SrInformationIcon',
9
+ inheritAttrs: false
10
+ }
11
+ </script>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <!-- eslint-disable-next-line -->
3
+ <v-icon v-bind="$attrs" v-on="$listeners">$invoice</v-icon>
4
+ </template>
5
+
6
+ <script>
7
+ export default {
8
+ name: 'SrInvoiceIcon',
9
+ inheritAttrs: false
10
+ }
11
+ </script>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <!-- eslint-disable-next-line -->
3
+ <v-icon v-bind="$attrs" v-on="$listeners">$invoiceStorno</v-icon>
4
+ </template>
5
+
6
+ <script>
7
+ export default {
8
+ name: 'SrInvoiceStornoIcon',
9
+ inheritAttrs: false
10
+ }
11
+ </script>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <!-- eslint-disable-next-line -->
3
+ <v-icon v-bind="$attrs" v-on="$listeners">$lightning</v-icon>
4
+ </template>
5
+
6
+ <script>
7
+ export default {
8
+ name: 'SrLightningIcon.vue',
9
+ inheritAttrs: false
10
+ }
11
+ </script>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <!-- eslint-disable-next-line -->
3
+ <v-icon v-bind="$attrs" v-on="$listeners">$magnify</v-icon>
4
+ </template>
5
+
6
+ <script>
7
+ export default {
8
+ name: 'SrMagnifyIcon.vue',
9
+ inheritAttrs: false
10
+ }
11
+ </script>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <!-- eslint-disable-next-line -->
3
+ <v-icon v-bind="$attrs" v-on="$listeners">$mail</v-icon>
4
+ </template>
5
+
6
+ <script>
7
+ export default {
8
+ name: 'SrMailIcon.vue',
9
+ inheritAttrs: false
10
+ }
11
+ </script>