@shoprenter/sr-styleguide 1.1.0 → 1.2.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 +138 -16
- package/dist/demo/src/demo_bootstrap_js.css +26 -28
- package/dist/demo/src/demo_bootstrap_js.js +1 -1
- package/dist/demo/src/index.html +1 -1
- package/dist/stylesheet/sr-styleguide.css +6 -6
- package/package.json +1 -2
- package/src/components/app-containers/SrModule/SrModule.scss +1 -1
- package/src/components/app-containers/SrModule/SrModule.vue +19 -8
- package/src/components/app-containers/SrPage/SrPage.vue +19 -16
- package/src/components/app-containers/scope.js +12 -0
- package/src/components/breadcrumbs/SrBreadcrumbs/SrBreadcrumbs.scss +47 -0
- package/src/components/breadcrumbs/SrBreadcrumbs/SrBreadcrumbs.vue +46 -0
- package/src/components/breadcrumbs/tests/SrBreadcrumbs.spec.js +109 -0
- package/src/components/form/SrFormDivider/SrFormDivider.scss +4 -0
- package/src/components/form/SrFormDivider/SrFormDivider.vue +9 -0
- package/src/components/form/SrFormRow/SrFormRow.scss +21 -21
- package/src/components/form/SrFormRow/SrFormRow.vue +3 -2
- package/src/components/inputs/SrDatePicker/SrDatePicker.vue +4 -1
- package/src/components/inputs/SrSelect/SrSelect.vue +8 -1
- package/src/components/inputs/SrSwitch/SrSwitch.vue +0 -1
- package/src/components/inputs/SrTextarea/SrTextarea.vue +20 -0
- package/src/components/layouts/slim/SrSlimHeading/SrSlimHeading.scss +9 -0
- package/src/components/layouts/slim/SrSlimHeading/SrSlimHeading.vue +2 -2
- package/src/components/layouts/slim/SrSlimLayout/SrSlimLayout.vue +8 -0
- package/src/components/layouts/standard/SrStandardLayout/SrStandardLayout.scss +4 -0
- package/src/components/layouts/standard/SrStandardLayout/SrStandardLayout.vue +21 -0
- package/src/components/tables/SrSimpleTableFilterTd/SrSimpleTableFilterTd.vue +27 -0
- package/src/components/tabs/SrTabsItems/SrTabsItems.vue +1 -1
- package/src/plugins/component-library/index.js +4 -2
- package/src/plugins/component-library/library/SrBreadcrumbs.js +7 -0
- package/src/plugins/component-library/library/{SrFormRow.js → SrForm.js} +2 -0
- package/src/plugins/component-library/library/SrInputs.js +2 -0
- package/src/plugins/component-library/library/SrLayouts.js +4 -0
- package/src/plugins/component-library/library/SrTables.js +2 -1
- package/src/plugins/vuetify/preset/icons/index.js +4 -0
- package/src/plugins/vuetify/preset/locale/sr-en.js +2 -1
- package/src/plugins/vuetify/preset/locale/sr-hu.js +2 -1
- package/src/plugins/vuetify/preset/style/scss/components/_table.scss +7 -1
- package/src/plugins/vuetify/preset/variables.scss +2 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shoprenter/sr-styleguide",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"files": [
|
|
@@ -44,7 +44,6 @@
|
|
|
44
44
|
"sass": "^1.85.1",
|
|
45
45
|
"sass-loader": "^16.0.5",
|
|
46
46
|
"style-loader": "^4.0.0",
|
|
47
|
-
"tiny-emitter": "^2.1.0",
|
|
48
47
|
"vue": "^2.6.11",
|
|
49
48
|
"vue-jest": "^3.0.7",
|
|
50
49
|
"vue-loader": "^15.11.1",
|
|
@@ -1,17 +1,28 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
3
|
-
<div
|
|
4
|
-
<
|
|
5
|
-
<v-
|
|
6
|
-
<
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
<div v-bind="$attrs">
|
|
3
|
+
<div v-bind:[attribute]="value">
|
|
4
|
+
<div class="new-style">
|
|
5
|
+
<v-app class="sr-module">
|
|
6
|
+
<v-main>
|
|
7
|
+
<slot/>
|
|
8
|
+
</v-main>
|
|
9
|
+
</v-app>
|
|
10
|
+
</div>
|
|
9
11
|
</div>
|
|
10
12
|
</div>
|
|
11
13
|
</template>
|
|
12
14
|
|
|
13
15
|
<script>
|
|
14
16
|
export default {
|
|
15
|
-
name: 'SrModule'
|
|
17
|
+
name: 'SrModule',
|
|
18
|
+
inheritAttrs: false,
|
|
19
|
+
data () {
|
|
20
|
+
const { attribute, value } = require('../scope')
|
|
21
|
+
|
|
22
|
+
return {
|
|
23
|
+
attribute,
|
|
24
|
+
value
|
|
25
|
+
}
|
|
26
|
+
}
|
|
16
27
|
}
|
|
17
28
|
</script>
|
|
@@ -1,25 +1,28 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
3
|
-
<div
|
|
4
|
-
<
|
|
5
|
-
<v-
|
|
6
|
-
<v-
|
|
7
|
-
|
|
8
|
-
</v-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
</v-col>
|
|
12
|
-
</v-row>
|
|
13
|
-
<v-main>
|
|
14
|
-
<slot />
|
|
15
|
-
</v-main>
|
|
16
|
-
</v-app>
|
|
2
|
+
<div v-bind="$attrs">
|
|
3
|
+
<div v-bind:[attribute]="value">
|
|
4
|
+
<div class="new-style">
|
|
5
|
+
<v-app class="sr-page">
|
|
6
|
+
<v-main>
|
|
7
|
+
<slot />
|
|
8
|
+
</v-main>
|
|
9
|
+
</v-app>
|
|
10
|
+
</div>
|
|
17
11
|
</div>
|
|
18
12
|
</div>
|
|
19
13
|
</template>
|
|
20
14
|
|
|
21
15
|
<script>
|
|
22
16
|
export default {
|
|
23
|
-
name: 'SrPage'
|
|
17
|
+
name: 'SrPage',
|
|
18
|
+
inheritAttrs: false,
|
|
19
|
+
data () {
|
|
20
|
+
const { attribute, value } = require('../scope')
|
|
21
|
+
|
|
22
|
+
return {
|
|
23
|
+
attribute,
|
|
24
|
+
value
|
|
25
|
+
}
|
|
26
|
+
}
|
|
24
27
|
}
|
|
25
28
|
</script>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
const attribute = 'id'
|
|
2
|
+
|
|
3
|
+
const value = addVersionTo('sr-styleguide')
|
|
4
|
+
|
|
5
|
+
const selector = '#' + value
|
|
6
|
+
|
|
7
|
+
function addVersionTo (value) {
|
|
8
|
+
const currentVersion = require('../../../package.json').version.toString()
|
|
9
|
+
return value + '-' + currentVersion.replaceAll('.', '-')
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
module.exports = { attribute, value, selector }
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
.admin-breadcrumbs {
|
|
2
|
+
padding: 0;
|
|
3
|
+
padding-left: 0 !important;
|
|
4
|
+
|
|
5
|
+
.v-breadcrumbs {
|
|
6
|
+
&__item {
|
|
7
|
+
transition: none;
|
|
8
|
+
color: var(--sr-link-grey) !important;
|
|
9
|
+
|
|
10
|
+
&:hover {
|
|
11
|
+
color: var(--sr-dark-grey) !important;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.v-icon {
|
|
15
|
+
margin-right: 5px;
|
|
16
|
+
color: inherit;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
&__divider {
|
|
21
|
+
padding: 0 5px !important;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
li:last-child {
|
|
26
|
+
font-weight: 500;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.page-layout--base {
|
|
31
|
+
div:has(> .breadcrumb-container):has(> .help-btn-container) {
|
|
32
|
+
display: grid;
|
|
33
|
+
align-items: center;
|
|
34
|
+
justify-content: space-between;
|
|
35
|
+
margin-top: $container-padding-x;
|
|
36
|
+
grid-template-columns: 3fr 1fr;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.breadcrumb-container {
|
|
40
|
+
flex: 1;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.help-btn-container {
|
|
44
|
+
flex: 1;
|
|
45
|
+
text-align: right;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<v-breadcrumbs class="admin-breadcrumbs" :items="breadcrumbs" v-if="breadcrumbs.length">
|
|
3
|
+
<template #item="{item}">
|
|
4
|
+
<v-breadcrumbs-item
|
|
5
|
+
:href="item.href"
|
|
6
|
+
:to="item.to"
|
|
7
|
+
exact
|
|
8
|
+
:disabled="false"
|
|
9
|
+
>
|
|
10
|
+
{{ item.text }}
|
|
11
|
+
</v-breadcrumbs-item>
|
|
12
|
+
</template>
|
|
13
|
+
<template #divider>
|
|
14
|
+
<v-icon>mdi-chevron-right</v-icon>
|
|
15
|
+
</template>
|
|
16
|
+
</v-breadcrumbs>
|
|
17
|
+
</template>
|
|
18
|
+
|
|
19
|
+
<script>
|
|
20
|
+
export default {
|
|
21
|
+
name: 'SrBreadcrumbs',
|
|
22
|
+
computed: {
|
|
23
|
+
breadcrumbs () {
|
|
24
|
+
try {
|
|
25
|
+
console.log(this.$route.meta.breadcrumbs)
|
|
26
|
+
const lastIndex = this.$route.meta.breadcrumbs.length - 1
|
|
27
|
+
return this.$route.meta.breadcrumbs.map((breadcrumb, index) => ({
|
|
28
|
+
...breadcrumb,
|
|
29
|
+
text: breadcrumb.text.replace(/:(.*)/, (matches, p1) => {
|
|
30
|
+
return this.$route.params[p1]
|
|
31
|
+
}),
|
|
32
|
+
disabled: false,
|
|
33
|
+
last: index === lastIndex
|
|
34
|
+
}))
|
|
35
|
+
} catch (e) {
|
|
36
|
+
return []
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
methods: {
|
|
41
|
+
reloadPage () {
|
|
42
|
+
location.reload()
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
</script>
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import Vue from 'vue'
|
|
2
|
+
import VueRouter from 'vue-router'
|
|
3
|
+
import Vuetify from 'vuetify'
|
|
4
|
+
import { mount, createLocalVue } from '@vue/test-utils'
|
|
5
|
+
import SrBreadcrumbs from '../SrBreadcrumbs/SrBreadcrumbs.vue'
|
|
6
|
+
|
|
7
|
+
Vue.use(Vuetify)
|
|
8
|
+
|
|
9
|
+
const localVue = createLocalVue()
|
|
10
|
+
localVue.use(VueRouter)
|
|
11
|
+
|
|
12
|
+
describe('SrBreadcrumbs.vue', () => {
|
|
13
|
+
let vuetify
|
|
14
|
+
let router
|
|
15
|
+
|
|
16
|
+
const createWrapper = (routeOptions) => {
|
|
17
|
+
const routes = [
|
|
18
|
+
{
|
|
19
|
+
path: '/user/:id',
|
|
20
|
+
component: { template: '<div></div>' },
|
|
21
|
+
meta: {
|
|
22
|
+
breadcrumbs: routeOptions.breadcrumbs || []
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
]
|
|
26
|
+
|
|
27
|
+
router = new VueRouter({ routes })
|
|
28
|
+
router.push(routeOptions.path || '/user/42')
|
|
29
|
+
|
|
30
|
+
vuetify = new Vuetify()
|
|
31
|
+
|
|
32
|
+
return mount(SrBreadcrumbs, {
|
|
33
|
+
localVue,
|
|
34
|
+
vuetify,
|
|
35
|
+
router,
|
|
36
|
+
mocks: {
|
|
37
|
+
translate: (text) => text
|
|
38
|
+
}
|
|
39
|
+
})
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
it('renders breadcrumbs when route meta has breadcrumb data', () => {
|
|
43
|
+
const wrapper = createWrapper({
|
|
44
|
+
breadcrumbs: [{ text: 'Home', to: '/' }],
|
|
45
|
+
path: '/user/42'
|
|
46
|
+
})
|
|
47
|
+
|
|
48
|
+
expect(
|
|
49
|
+
wrapper.findComponent({ name: 'v-breadcrumbs' }).exists()
|
|
50
|
+
).toBe(true)
|
|
51
|
+
|
|
52
|
+
expect(
|
|
53
|
+
wrapper.findAllComponents({ name: 'v-breadcrumbs-item' }).length
|
|
54
|
+
).toBe(1)
|
|
55
|
+
})
|
|
56
|
+
|
|
57
|
+
it('replaces dynamic params in breadcrumb text (e.g., ":id") with actual route params', () => {
|
|
58
|
+
const wrapper = createWrapper({
|
|
59
|
+
breadcrumbs: [{ text: 'User :id', to: '/user/:id' }],
|
|
60
|
+
path: '/user/99'
|
|
61
|
+
})
|
|
62
|
+
|
|
63
|
+
expect(wrapper.text()).toContain('User 99')
|
|
64
|
+
})
|
|
65
|
+
|
|
66
|
+
it('renders correct number of breadcrumb items based on route meta', () => {
|
|
67
|
+
const wrapper = createWrapper({
|
|
68
|
+
breadcrumbs: [
|
|
69
|
+
{ text: 'Home', to: '/' },
|
|
70
|
+
{ text: 'Profile', to: '/profile' }
|
|
71
|
+
]
|
|
72
|
+
})
|
|
73
|
+
|
|
74
|
+
expect(
|
|
75
|
+
wrapper.findAllComponents({ name: 'v-breadcrumbs-item' }).length
|
|
76
|
+
).toBe(2)
|
|
77
|
+
})
|
|
78
|
+
|
|
79
|
+
it('does not render breadcrumbs if route.meta.breadcrumbs is empty', () => {
|
|
80
|
+
const wrapper = createWrapper({
|
|
81
|
+
breadcrumbs: []
|
|
82
|
+
})
|
|
83
|
+
|
|
84
|
+
expect(
|
|
85
|
+
wrapper.findComponent({ name: 'v-breadcrumbs' }).exists()
|
|
86
|
+
).toBe(false)
|
|
87
|
+
})
|
|
88
|
+
|
|
89
|
+
it('does not throw if breadcrumbs computation fails (e.g., no meta)', () => {
|
|
90
|
+
router = new VueRouter({
|
|
91
|
+
routes: [{ path: '/no-meta', component: { template: '<div></div>' } }]
|
|
92
|
+
})
|
|
93
|
+
router.push('/no-meta')
|
|
94
|
+
vuetify = new Vuetify()
|
|
95
|
+
|
|
96
|
+
const mountComponent = () => {
|
|
97
|
+
mount(SrBreadcrumbs, {
|
|
98
|
+
localVue,
|
|
99
|
+
vuetify,
|
|
100
|
+
router,
|
|
101
|
+
mocks: {
|
|
102
|
+
translate: (text) => text
|
|
103
|
+
}
|
|
104
|
+
})
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
expect(mountComponent).not.toThrow()
|
|
108
|
+
})
|
|
109
|
+
})
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
.
|
|
2
|
-
margin-bottom:
|
|
3
|
-
}
|
|
1
|
+
.sr-form-row {
|
|
2
|
+
margin-bottom: $sr-form-row-margin-bottom;
|
|
4
3
|
|
|
5
|
-
.admin-form-row__label {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
4
|
+
.admin-form-row__label {
|
|
5
|
+
margin-bottom: 5px;
|
|
6
|
+
word-break: break-word;
|
|
7
|
+
}
|
|
9
8
|
|
|
10
|
-
.admin-form-row__element {
|
|
11
|
-
|
|
12
|
-
}
|
|
9
|
+
.admin-form-row__element {
|
|
10
|
+
width: 100%;
|
|
11
|
+
}
|
|
13
12
|
|
|
14
|
-
.
|
|
15
|
-
.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
13
|
+
.form-help,
|
|
14
|
+
.help {
|
|
15
|
+
color: var(--sr-dark-grey);
|
|
16
|
+
font-size: 12px;
|
|
17
|
+
font-weight: 400;
|
|
18
|
+
display: block;
|
|
19
|
+
text-transform: none;
|
|
20
|
+
margin-top: 4px;
|
|
21
|
+
}
|
|
23
22
|
|
|
24
|
-
.required-form-row {
|
|
25
|
-
|
|
23
|
+
.required-form-row {
|
|
24
|
+
color: var(--sr-error);
|
|
25
|
+
}
|
|
26
26
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<v-row dense>
|
|
2
|
+
<v-row dense class="sr-form-row">
|
|
3
3
|
<v-col cols="12" sm="3">
|
|
4
|
-
<div
|
|
4
|
+
<div>
|
|
5
5
|
<div class="admin-form-row__label">
|
|
6
6
|
<slot name="label">
|
|
7
7
|
<v-label><span v-if="required" class="required-form-row">* </span>{{ label }}</v-label>
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
</div>
|
|
19
19
|
</v-col>
|
|
20
20
|
<v-col cols="5" class="d-none d-sm-block">
|
|
21
|
+
<slot name="extra-content" />
|
|
21
22
|
</v-col>
|
|
22
23
|
</v-row>
|
|
23
24
|
</template>
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
<v-text-field
|
|
9
9
|
:value="value"
|
|
10
10
|
:placeholder="placeholder"
|
|
11
|
-
|
|
11
|
+
@change="$emit('input', $event)"
|
|
12
|
+
clearable
|
|
12
13
|
dense hide-details outlined
|
|
13
14
|
append-icon="mdi-chevron-down"
|
|
14
15
|
readonly
|
|
@@ -19,7 +20,9 @@
|
|
|
19
20
|
<v-date-picker
|
|
20
21
|
:value="value"
|
|
21
22
|
@input="selectDate"
|
|
23
|
+
clearable
|
|
22
24
|
first-day-of-week="1"
|
|
25
|
+
:locale="this.$vuetify.lang.current"
|
|
23
26
|
/>
|
|
24
27
|
</v-menu>
|
|
25
28
|
</template>
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
<v-select
|
|
3
3
|
v-bind="$attrs"
|
|
4
4
|
v-on="$listeners"
|
|
5
|
+
:placeholder="placeholder || $vuetify.lang.t('$vuetify.pleaseSelect')"
|
|
5
6
|
menu-props="offset-y"
|
|
6
7
|
clearable
|
|
7
8
|
dense hide-details outlined
|
|
@@ -18,6 +19,12 @@
|
|
|
18
19
|
<script>
|
|
19
20
|
export default {
|
|
20
21
|
name: 'SrSelect',
|
|
21
|
-
inheritAttrs: false
|
|
22
|
+
inheritAttrs: false,
|
|
23
|
+
props: {
|
|
24
|
+
placeholder: {
|
|
25
|
+
type: String,
|
|
26
|
+
default: null
|
|
27
|
+
}
|
|
28
|
+
}
|
|
22
29
|
}
|
|
23
30
|
</script>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<v-textarea
|
|
3
|
+
class="sr-textarea"
|
|
4
|
+
v-bind="$attrs"
|
|
5
|
+
v-on="$listeners"
|
|
6
|
+
dense
|
|
7
|
+
outlined
|
|
8
|
+
persistent-hint
|
|
9
|
+
clearable
|
|
10
|
+
auto-grow
|
|
11
|
+
row-height="1"
|
|
12
|
+
/>
|
|
13
|
+
</template>
|
|
14
|
+
|
|
15
|
+
<script>
|
|
16
|
+
export default {
|
|
17
|
+
name: 'SrTextarea',
|
|
18
|
+
inheritAttrs: false
|
|
19
|
+
}
|
|
20
|
+
</script>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="page-layout--base page-layout--standard">
|
|
3
|
+
<div>
|
|
4
|
+
<div class="breadcrumb-container">
|
|
5
|
+
<sr-breadcrumbs />
|
|
6
|
+
</div>
|
|
7
|
+
<div class="help-btn-container">
|
|
8
|
+
<sr-help-button />
|
|
9
|
+
</div>
|
|
10
|
+
</div>
|
|
11
|
+
<slot></slot>
|
|
12
|
+
</div>
|
|
13
|
+
</template>
|
|
14
|
+
|
|
15
|
+
<script>
|
|
16
|
+
|
|
17
|
+
export default {
|
|
18
|
+
name: 'SrStandardLayout',
|
|
19
|
+
props: ['title']
|
|
20
|
+
}
|
|
21
|
+
</script>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<td
|
|
3
|
+
class="sr-simple-table-filter-td"
|
|
4
|
+
v-bind="$attrs"
|
|
5
|
+
v-on="$listeners"
|
|
6
|
+
:style="{ maxWidth: maxWidth, minWidth: minWidth }"
|
|
7
|
+
>
|
|
8
|
+
<slot/>
|
|
9
|
+
</td>
|
|
10
|
+
</template>
|
|
11
|
+
|
|
12
|
+
<script>
|
|
13
|
+
export default {
|
|
14
|
+
name: 'SrSimpleTableFilterTd',
|
|
15
|
+
inheritAttrs: false,
|
|
16
|
+
props: {
|
|
17
|
+
maxWidth: {
|
|
18
|
+
type: String,
|
|
19
|
+
default: '150px'
|
|
20
|
+
},
|
|
21
|
+
minWidth: {
|
|
22
|
+
type: String,
|
|
23
|
+
default: null
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
</script>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import SrIcons from './library/SrIcons'
|
|
2
2
|
import SrButtons from './library/SrButtons'
|
|
3
3
|
import SrInputs from './library/SrInputs'
|
|
4
|
-
import
|
|
4
|
+
import SrForm from './library/SrForm'
|
|
5
5
|
import SrLayouts from './library/SrLayouts'
|
|
6
6
|
import SrTables from './library/SrTables'
|
|
7
7
|
import SrPagination from './library/SrPagination'
|
|
@@ -9,13 +9,14 @@ import SrAppContainers from './library/SrAppContainers'
|
|
|
9
9
|
import SrAlerts from './library/SrAlerts'
|
|
10
10
|
import SrMilestoneIndicators from './library/SrMilestoneIndicators'
|
|
11
11
|
import SrTabs from './library/SrTabs'
|
|
12
|
+
import SrBreadcrumbs from './library/SrBreadcrumbs'
|
|
12
13
|
|
|
13
14
|
export default {
|
|
14
15
|
install (Vue, options = {}) {
|
|
15
16
|
Vue.use(SrIcons)
|
|
16
17
|
Vue.use(SrButtons)
|
|
17
18
|
Vue.use(SrInputs)
|
|
18
|
-
Vue.use(
|
|
19
|
+
Vue.use(SrForm)
|
|
19
20
|
Vue.use(SrLayouts)
|
|
20
21
|
Vue.use(SrTables)
|
|
21
22
|
Vue.use(SrAlerts)
|
|
@@ -23,5 +24,6 @@ export default {
|
|
|
23
24
|
Vue.use(SrAppContainers)
|
|
24
25
|
Vue.use(SrMilestoneIndicators)
|
|
25
26
|
Vue.use(SrTabs)
|
|
27
|
+
Vue.use(SrBreadcrumbs)
|
|
26
28
|
}
|
|
27
29
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import SrFormRow from '../../../components/form/SrFormRow/SrFormRow.vue'
|
|
2
|
+
import SrFormDivider from '../../../components/form/SrFormDivider/SrFormDivider.vue'
|
|
2
3
|
|
|
3
4
|
export default {
|
|
4
5
|
install (Vue, options = {}) {
|
|
5
6
|
Vue.component('SrFormRow', SrFormRow)
|
|
7
|
+
Vue.component('SrFormDivider', SrFormDivider)
|
|
6
8
|
}
|
|
7
9
|
}
|
|
@@ -8,6 +8,7 @@ import SrRadioGroup from '../../../components/inputs/SrRadio/SrRadioGroup.vue'
|
|
|
8
8
|
import SrDatePicker from '../../../components/inputs/SrDatePicker/SrDatePicker.vue'
|
|
9
9
|
import SrMultiCheckbox from '../../../components/inputs/SrMultiCheckbox/SrMultiCheckbox.vue'
|
|
10
10
|
import SrSimpleMultiCheckbox from '../../../components/inputs/SrMultiCheckbox/SrSimpleMultiCheckbox.vue'
|
|
11
|
+
import SrTextarea from '../../../components/inputs/SrTextarea/SrTextarea.vue'
|
|
11
12
|
|
|
12
13
|
export default {
|
|
13
14
|
install (Vue, options = {}) {
|
|
@@ -21,5 +22,6 @@ export default {
|
|
|
21
22
|
Vue.component('SrRadio', SrRadio)
|
|
22
23
|
Vue.component('SrRadioGroup', SrRadioGroup)
|
|
23
24
|
Vue.component('SrDatePicker', SrDatePicker)
|
|
25
|
+
Vue.component('SrTextarea', SrTextarea)
|
|
24
26
|
}
|
|
25
27
|
}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import SrSlimLayout from '../../../components/layouts/slim/SrSlimLayout/SrSlimLayout.vue'
|
|
2
2
|
import SrSlimHeading from '../../../components/layouts/slim/SrSlimHeading/SrSlimHeading.vue'
|
|
3
3
|
import SrSlimContent from '../../../components/layouts/slim/SrSlimContent/SrSlimContent.vue'
|
|
4
|
+
import SrStandardLayout from '../../../components/layouts/standard/SrStandardLayout/SrStandardLayout.vue'
|
|
4
5
|
|
|
5
6
|
export default {
|
|
6
7
|
install (Vue, options = {}) {
|
|
7
8
|
Vue.component('SrSlimLayout', SrSlimLayout)
|
|
9
|
+
Vue.component('SrStandardLayout', SrStandardLayout)
|
|
8
10
|
Vue.component('SrSlimHeading', SrSlimHeading)
|
|
11
|
+
Vue.component('SrHeading', SrSlimHeading)
|
|
9
12
|
Vue.component('SrSlimContent', SrSlimContent)
|
|
13
|
+
Vue.component('SrContent', SrSlimContent)
|
|
10
14
|
}
|
|
11
15
|
}
|