@monoui/vuejs 1.1.10

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 (83) hide show
  1. package/README.md +27 -0
  2. package/dist/main.js +410 -0
  3. package/package.json +105 -0
  4. package/src/components/BreadCrumb/BreadCrumb.vue +59 -0
  5. package/src/components/BreadCrumb/index.js +3 -0
  6. package/src/components/Button/Button.vue +118 -0
  7. package/src/components/Button/ButtonCore.vue +59 -0
  8. package/src/components/Button/ButtonEdit.vue +15 -0
  9. package/src/components/Button/ButtonRemove.vue +15 -0
  10. package/src/components/Button/index.js +4 -0
  11. package/src/components/Card/Card.vue +82 -0
  12. package/src/components/Card/CardBody.vue +72 -0
  13. package/src/components/Card/CardFooter.vue +55 -0
  14. package/src/components/Card/CardHeader.vue +58 -0
  15. package/src/components/Card/CardSubTitle.vue +43 -0
  16. package/src/components/Card/CardText.vue +21 -0
  17. package/src/components/Card/CardTitle.vue +38 -0
  18. package/src/components/Card/index.js +17 -0
  19. package/src/components/Checkbox/Checkbox.vue +72 -0
  20. package/src/components/Checkbox/index.js +3 -0
  21. package/src/components/Cron/Cron.vue +68 -0
  22. package/src/components/Cron/index.js +3 -0
  23. package/src/components/Date/DatePicker.vue +406 -0
  24. package/src/components/Date/index.js +3 -0
  25. package/src/components/Dropdown/Dropdown.vue +51 -0
  26. package/src/components/Dropdown/DropdownDivider.vue +12 -0
  27. package/src/components/Dropdown/DropdownItem.vue +23 -0
  28. package/src/components/Dropdown/index.js +5 -0
  29. package/src/components/DynamicInput/DynamicInput.vue +192 -0
  30. package/src/components/DynamicInput/index.js +3 -0
  31. package/src/components/DynamicInput/inputTypes.js +14 -0
  32. package/src/components/Icon/Icon.vue +43 -0
  33. package/src/components/Icon/index.js +3 -0
  34. package/src/components/Info/Info.vue +19 -0
  35. package/src/components/Info/index.js +3 -0
  36. package/src/components/Input/Input.vue +73 -0
  37. package/src/components/Input/index.js +3 -0
  38. package/src/components/KeyValue/KeyValue.vue +138 -0
  39. package/src/components/KeyValue/index.js +3 -0
  40. package/src/components/KeyValueInput/KeyValueInput.vue +203 -0
  41. package/src/components/KeyValueInput/index.js +3 -0
  42. package/src/components/Loader/Loader.vue +82 -0
  43. package/src/components/Loader/content-loader.js +150 -0
  44. package/src/components/Loader/index.js +2 -0
  45. package/src/components/Modal/Alert.vue +96 -0
  46. package/src/components/Modal/Modal.vue +125 -0
  47. package/src/components/Modal/RemoveAlert.vue +58 -0
  48. package/src/components/Modal/UnsavedChangesAlert.vue +83 -0
  49. package/src/components/Modal/index.js +6 -0
  50. package/src/components/MultiKeyValue/MultiKeyValue.vue +359 -0
  51. package/src/components/MultiKeyValue/index.js +3 -0
  52. package/src/components/NoData/NoData.vue +20 -0
  53. package/src/components/NoData/index.js +3 -0
  54. package/src/components/Popover/Popover.vue +91 -0
  55. package/src/components/Popover/index.js +3 -0
  56. package/src/components/Select/Select.vue +71 -0
  57. package/src/components/Select/index.js +3 -0
  58. package/src/components/Spinner/Spinner.vue +19 -0
  59. package/src/components/Spinner/index.js +3 -0
  60. package/src/components/Table/Icons/ArrowDown.vue +18 -0
  61. package/src/components/Table/Icons/ArrowDownLong.vue +18 -0
  62. package/src/components/Table/Icons/ArrowUp.vue +18 -0
  63. package/src/components/Table/Icons/ArrowUpLong.vue +18 -0
  64. package/src/components/Table/Icons/BaseIcon.vue +46 -0
  65. package/src/components/Table/Icons/Sorting.vue +16 -0
  66. package/src/components/Table/Icons/SortingAZ.vue +18 -0
  67. package/src/components/Table/Icons/SortingArrows.vue +18 -0
  68. package/src/components/Table/Table.vue +548 -0
  69. package/src/components/Table/index.js +3 -0
  70. package/src/components/Tabs/Tab.vue +36 -0
  71. package/src/components/Tabs/Tabs.vue +44 -0
  72. package/src/components/Tabs/index.js +4 -0
  73. package/src/components/TagInput/TagInput.vue +129 -0
  74. package/src/components/TagInput/index.js +3 -0
  75. package/src/components/Timeline/Timeline.vue +33 -0
  76. package/src/components/Timeline/TimelineItem.vue +40 -0
  77. package/src/components/Timeline/index.js +4 -0
  78. package/src/components/Tooltip/Tooltip.vue +62 -0
  79. package/src/components/Tooltip/index.js +3 -0
  80. package/src/functions/alert.js +40 -0
  81. package/src/functions/notification.js +51 -0
  82. package/src/icons.js +144 -0
  83. package/src/index.js +133 -0
package/package.json ADDED
@@ -0,0 +1,105 @@
1
+ {
2
+ "name": "@monoui/vuejs",
3
+ "version": "1.1.10",
4
+ "description": "This project will contain MonoFor UI Framework",
5
+ "main": "./dist/main.js",
6
+ "repository": "git@gitlab.com:monoui/vuejs.git",
7
+ "author": "MonoFor, Inc. <social@monofor.com>",
8
+ "license": "MIT",
9
+ "scripts": {
10
+ "docs": "vuepress dev docs",
11
+ "styleguide": "vue-styleguidist server",
12
+ "styleguide:build": "vue-styleguidist build",
13
+ "deploy": "cross-env NODE_ENV=production webpack --config webpack.config.js",
14
+ "lint": "./node_modules/.bin/eslint --fix -c ./.eslintrc.js --ext .js,.vue src",
15
+ "test": "jest"
16
+ },
17
+ "files": [
18
+ "dist",
19
+ "src"
20
+ ],
21
+ "dependencies": {
22
+ "@fortawesome/fontawesome-svg-core": "^1.2.35",
23
+ "@fortawesome/free-brands-svg-icons": "^5.15.3",
24
+ "@fortawesome/free-solid-svg-icons": "^5.15.3",
25
+ "@fortawesome/vue-fontawesome": "^2.0.2",
26
+ "@vue/cli-plugin-unit-jest": "^4.1.2",
27
+ "@yaireo/tagify": "^2.31.6",
28
+ "bootstrap": "^4.5.3",
29
+ "bootstrap-vue": "^2.21.1",
30
+ "cronstrue": "^1.84.0",
31
+ "jest": "^24.9.0",
32
+ "moment": "^2.27.0",
33
+ "vee-validate": "^3.0.11",
34
+ "vue": "^2.6.12",
35
+ "vue-cron-2": "^1.0.7",
36
+ "vue-multiselect": "^2.1.6",
37
+ "vue-server-renderer": "^2.6.12",
38
+ "vue-sweetalert": "^0.1.18",
39
+ "vue-sweetalert2": "^2.1.5",
40
+ "vue-template-compiler": "^2.6.12",
41
+ "vue-test-utils": "^1.0.0-beta.11",
42
+ "vue2-datepicker": "^3.6.2",
43
+ "vuejs-noty": "^0.1.3"
44
+ },
45
+ "devDependencies": {
46
+ "@babel/core": "^7.7.2",
47
+ "@babel/helper-validator-identifier": "^7.12.11",
48
+ "@babel/plugin-transform-runtime": "^7.6.2",
49
+ "@babel/preset-env": "^7.7.1",
50
+ "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0",
51
+ "@vue/babel-preset-jsx": "^1.1.2",
52
+ "@vue/test-utils": "^1.0.0-beta.30",
53
+ "autoprefixer": "^9.7.1",
54
+ "babel-eslint": "^10.0.3",
55
+ "babel-loader": "^8.0.6",
56
+ "cross-env": "^6.0.3",
57
+ "css-loader": "^3.2.0",
58
+ "eslint": "^6.6.0",
59
+ "eslint-config-prettier": "^6.7.0",
60
+ "eslint-config-standard": "^14.1.0",
61
+ "eslint-friendly-formatter": "^4.0.1",
62
+ "eslint-loader": "^3.0.2",
63
+ "eslint-plugin-html": "^6.0.0",
64
+ "eslint-plugin-import": "^2.18.2",
65
+ "eslint-plugin-jest": "^23.0.4",
66
+ "eslint-plugin-node": "^10.0.0",
67
+ "eslint-plugin-prettier": "^3.1.1",
68
+ "eslint-plugin-promise": "^4.2.1",
69
+ "eslint-plugin-standard": "^4.0.1",
70
+ "eslint-plugin-vue": "^6.0.1",
71
+ "file-loader": "^4.2.0",
72
+ "husky": "^3.1.0",
73
+ "identity-obj-proxy": "^3.0.0",
74
+ "lint-staged": "^9.4.3",
75
+ "poi": "^12.7.3",
76
+ "prettier": "^1.19.1",
77
+ "uglifyjs-webpack-plugin": "^2.2.0",
78
+ "url-loader": "^2.2.0",
79
+ "vue-html-loader": "^1.2.4",
80
+ "vue-loader": "^15.8.3",
81
+ "vue-router": "^3.1.3",
82
+ "vue-styleguidist": "^3.26.2",
83
+ "vuepress": "^1.2.0",
84
+ "webpack": "^4.41.2",
85
+ "webpack-cli": "^4.6.0"
86
+ },
87
+ "peerDependencies": {
88
+ "vue": "^2.6.11"
89
+ },
90
+ "husky": {
91
+ "hooks": {
92
+ "pre-commit": "lint-staged"
93
+ }
94
+ },
95
+ "lint-staged": {
96
+ "*.js": [
97
+ "yarn lint",
98
+ "git add"
99
+ ],
100
+ "*.vue": [
101
+ "yarn lint",
102
+ "git add"
103
+ ]
104
+ }
105
+ }
@@ -0,0 +1,59 @@
1
+ <template>
2
+ <nav aria-label="breadcrumb">
3
+ <ol class="breadcrumb">
4
+ <li
5
+ class="breadcrumb-item"
6
+ v-for="(item, i) in items"
7
+ :key="i"
8
+ :class="{ active: i + 1 === items.length }"
9
+ >
10
+ <router-link :to="item.link" v-if="!!item.link">
11
+ <mui-icon
12
+ fixed-width
13
+ :icon="item.icon"
14
+ v-if="!!item.icon"
15
+ />
16
+ {{ item.text }}
17
+ </router-link>
18
+ <span v-else>{{ item.text }}</span>
19
+ </li>
20
+ <!-- <li class="breadcrumb-item active" aria-current="page">Data</li> -->
21
+ </ol>
22
+ </nav>
23
+ </template>
24
+ <script>
25
+ /**
26
+ * Breadcrumb Component
27
+ */
28
+ export default {
29
+ name: "mui-bread-crumb",
30
+ props: {
31
+ /**
32
+ * Breadcrumb item list
33
+ */
34
+ items: {
35
+ type: Array,
36
+ required: true
37
+ },
38
+ /**
39
+ * Breadcrumb icon
40
+ */
41
+ icon: {
42
+ type: String,
43
+ required: false,
44
+ default: null
45
+ }
46
+ }
47
+ };
48
+ </script>
49
+ <style scoped>
50
+ .breadcrumb {
51
+ background: #fff;
52
+ border: none;
53
+ border-radius: 0;
54
+ margin-bottom: 10px;
55
+ margin-left: -30px;
56
+ margin-right: -30px;
57
+ padding: 0 30px;
58
+ }
59
+ </style>
@@ -0,0 +1,3 @@
1
+ import BreadCrumb from "./BreadCrumb.vue";
2
+
3
+ export default BreadCrumb;
@@ -0,0 +1,118 @@
1
+ <template>
2
+ <mui-button-core v-on="$listeners" v-bind="$props" :class="innerClass">
3
+ <template v-if="!hasSlot">
4
+ <span class="mr-1" v-if="loading">
5
+ <b-spinner :small="true" :class="spinnerClass" />
6
+ </span>
7
+ <mui-icon
8
+ v-if="!loading && icon"
9
+ :icon="icon"
10
+ :class="{ 'mr-1': text, iconClass }"
11
+ />
12
+ {{ text }}
13
+ </template>
14
+ <template v-else>
15
+ <span class="mr-1" v-if="loading">
16
+ <b-spinner :small="true" :class="spinnerClass" />
17
+ </span>
18
+ <slot></slot>
19
+ </template>
20
+ </mui-button-core>
21
+ </template>
22
+ <script>
23
+ export default {
24
+ name: "mui-button",
25
+ props: {
26
+ /**
27
+ * Button text
28
+ * @type String
29
+ */
30
+ text: {
31
+ type: String,
32
+ required: false
33
+ },
34
+ /**
35
+ * Button loading
36
+ * @type Boolean
37
+ */
38
+ loading: {
39
+ type: Boolean,
40
+ required: false,
41
+ default: false
42
+ },
43
+ /**
44
+ * Button icon
45
+ * @type String
46
+ */
47
+ icon: {
48
+ type: String,
49
+ default: null,
50
+ required: false
51
+ },
52
+ /**
53
+ * Variant
54
+ * @type String
55
+ */
56
+ variant: {
57
+ type: String,
58
+ default: "light"
59
+ },
60
+ /**
61
+ * Button size
62
+ * @type String
63
+ */
64
+ size: {
65
+ type: String,
66
+ default: "sm",
67
+ validator: prop => ["xs", "sm", "md", "lg"].includes(prop)
68
+ },
69
+ /**
70
+ * Disable component when value is true.
71
+ * @type Boolean
72
+ */
73
+ disabled: {
74
+ type: Boolean,
75
+ default: false
76
+ },
77
+ /**
78
+ * Button class
79
+ * @type String
80
+ */
81
+ innerClass: {
82
+ type: String,
83
+ default: ""
84
+ },
85
+ /**
86
+ * Button icon class
87
+ * @type String
88
+ */
89
+ iconClass: {
90
+ type: String,
91
+ required: false
92
+ },
93
+ /**
94
+ * Button spinner class
95
+ * @type String
96
+ */
97
+ spinnerClass: {
98
+ type: String,
99
+ required: false
100
+ },
101
+ /**
102
+ * Component properties
103
+ */
104
+ block: {},
105
+ squared: {},
106
+ href: {},
107
+ rel: {},
108
+ pill: {},
109
+ tag: {},
110
+ type: {}
111
+ },
112
+ computed: {
113
+ hasSlot() {
114
+ return !!this.$slots.default;
115
+ }
116
+ }
117
+ };
118
+ </script>
@@ -0,0 +1,59 @@
1
+ <template>
2
+ <b-button v-on="$listeners" v-bind="$props" :class="innerClass">
3
+ <slot></slot>
4
+ </b-button>
5
+ </template>
6
+
7
+ <script>
8
+ /**
9
+ * MonoUI Button Core Component
10
+ */
11
+ export default {
12
+ name: "mui-button-core",
13
+ props: {
14
+ /**
15
+ * Variant
16
+ * @type String
17
+ */
18
+ variant: {
19
+ type: String,
20
+ default: "light"
21
+ },
22
+ /**
23
+ * Size
24
+ * @type String
25
+ */
26
+ size: {
27
+ type: String,
28
+ default: "sm",
29
+ validator: prop => ["xs", "sm", "md", "lg"].includes(prop)
30
+ },
31
+ /**
32
+ * Disable component when value is true.
33
+ * @type Boolean
34
+ */
35
+ disabled: {
36
+ type: Boolean,
37
+ default: false
38
+ },
39
+ /**
40
+ * Class
41
+ * @type String
42
+ */
43
+ innerClass: {
44
+ type: String,
45
+ default: ""
46
+ },
47
+ /**
48
+ * Component properties
49
+ */
50
+ block: {},
51
+ squared: {},
52
+ href: {},
53
+ rel: {},
54
+ pill: {},
55
+ tag: {},
56
+ type: {}
57
+ }
58
+ };
59
+ </script>
@@ -0,0 +1,15 @@
1
+ <template>
2
+ <mui-button @click="$emit('click')" v-bind="this.$props" variant="primary">
3
+ <mui-icon class="mr-1" icon="edit" />
4
+ <slot />
5
+ </mui-button>
6
+ </template>
7
+ <script>
8
+ import ButtonVue from "./Button.vue";
9
+
10
+ export default {
11
+ name: "mui-button-edit",
12
+ props: ButtonVue.props,
13
+ isSaving: false
14
+ };
15
+ </script>
@@ -0,0 +1,15 @@
1
+ <template>
2
+ <mui-button @click="$emit('click')" v-bind="this.$props" variant="danger">
3
+ <mui-icon class="mr-1" icon="trash" />
4
+ <slot />
5
+ </mui-button>
6
+ </template>
7
+ <script>
8
+ import ButtonVue from "./Button.vue";
9
+
10
+ export default {
11
+ name: "mui-button-remove",
12
+ props: ButtonVue.props,
13
+ isSaving: false
14
+ };
15
+ </script>
@@ -0,0 +1,4 @@
1
+ import Button from "./Button";
2
+ import ButtonCore from "./ButtonCore";
3
+
4
+ export { Button, ButtonCore };
@@ -0,0 +1,82 @@
1
+ <template>
2
+ <b-card
3
+ v-bind="$props"
4
+ :class="innerClass"
5
+ :body-tag="bodyTag"
6
+ :body-bg-variant="bodyBgVariant"
7
+ :body-border-variant="bodyBorderVariant"
8
+ :body-text-variant="bodyTextVariant"
9
+ :body-class="bodyClass"
10
+ :title="title"
11
+ :title-tag="titleTag"
12
+ :sub-title="subTitle"
13
+ :sub-title-tag="subTitleTag"
14
+ :sub-title-text-variant="subTitleTextVariant"
15
+ :overlay="overlay"
16
+ :header-tag="headerTag"
17
+ :header-bg-variant="headerBgVariant"
18
+ :header-border-variant="headerBorderVariant"
19
+ :header-text-variant="headerTextVariant"
20
+ :header="header"
21
+ :header-class="headerClass"
22
+ :footer-tag="footerTag"
23
+ :footer-bg-variant="footerBgVariant"
24
+ :footer-border-variant="footerBorderVariant"
25
+ :footer-text-variant="footerTextVariant"
26
+ :footer="footer"
27
+ :footer-class="footerClass"
28
+ :tag="tag"
29
+ :bg-variant="bgVariant"
30
+ :border-variant="borderVariant"
31
+ :text-variant="textVariant"
32
+ :no-body="noBody"
33
+ >
34
+ <slot></slot>
35
+ </b-card>
36
+ </template>
37
+
38
+ <script>
39
+ export default {
40
+ name: "mui-card",
41
+ props: {
42
+ bodyTag: {
43
+ type: String,
44
+ required: false
45
+ },
46
+ bodyBgVariant: {
47
+ type: String,
48
+ required: false
49
+ },
50
+ bodyBorderVariant: {},
51
+ bodyTextVariant: {},
52
+ bodyClass: {},
53
+ title: {},
54
+ titleTag: {},
55
+ subTitle: {},
56
+ subTitleTag: {},
57
+ subTitleTextVariant: {},
58
+ overlay: {},
59
+ headerTag: {},
60
+ headerBgVariant: {},
61
+ headerBorderVariant: {},
62
+ headerTextVariant: {},
63
+ header: {},
64
+ headerClass: {},
65
+ footerTag: {},
66
+ footerBgVariant: {},
67
+ footerBorderVariant: {},
68
+ footerTextVariant: {},
69
+ footer: {},
70
+ footerClass: {},
71
+ tag: {},
72
+ bgVariant: {},
73
+ borderVariant: {},
74
+ textVariant: {},
75
+ noBody: {},
76
+ innerClass: {
77
+ type: String,
78
+ required: false
79
+ }
80
+ }
81
+ };
82
+ </script>
@@ -0,0 +1,72 @@
1
+ <template>
2
+ <b-card-body
3
+ v-bind="$props"
4
+ :class="innerClass"
5
+ :body-tag="bodyTag"
6
+ :body-bg-variant="bodyBgVariant"
7
+ :body-border-variant="bodyBorderVariant"
8
+ :body-text-variant="bodyTextVariant"
9
+ :body-class="bodyClass"
10
+ :title="title"
11
+ :title-tag="titleTag"
12
+ :sub-title="subTitle"
13
+ :sub-title-tag="subTitleTag"
14
+ :sub-title-text-variant="subTitleTextVariant"
15
+ :overlay="overlay"
16
+ >
17
+ <slot></slot>
18
+ </b-card-body>
19
+ </template>
20
+
21
+ <script>
22
+ export default {
23
+ name: "mui-card-body",
24
+ props: {
25
+ bodyTag: {
26
+ type: String,
27
+ required: false
28
+ },
29
+ bodyBgVariant: {
30
+ type: String,
31
+ required: false
32
+ },
33
+ bodyBorderVariant: {
34
+ type: String,
35
+ required: false
36
+ },
37
+ bodyTextVariant: {
38
+ type: String,
39
+ required: false
40
+ },
41
+ bodyClass: {
42
+ type: String,
43
+ required: false
44
+ },
45
+ title: {
46
+ type: String,
47
+ required: false
48
+ },
49
+ titleTag: {
50
+ type: String,
51
+ required: false
52
+ },
53
+ subTitle: {
54
+ type: String,
55
+ required: false
56
+ },
57
+ subTitleTag: {
58
+ type: String,
59
+ required: false
60
+ },
61
+ subTitleTextVariant: {
62
+ type: String,
63
+ required: false
64
+ },
65
+ overlay: {},
66
+ innerClass: {
67
+ type: String,
68
+ required: false
69
+ }
70
+ }
71
+ };
72
+ </script>
@@ -0,0 +1,55 @@
1
+ <template>
2
+ <b-card-footer
3
+ v-bind="$props"
4
+ :class="innerClass"
5
+ :footer-tag="footerTag"
6
+ :footer-bg-variant="footerBgVariant"
7
+ :footer-border-variant="footerBorderVariant"
8
+ :footer-text-variant="footerTextVariant"
9
+ :footer="footer"
10
+ :footer-html="footerHtml"
11
+ :footer-class="footerClass"
12
+ >
13
+ <slot></slot>
14
+ </b-card-footer>
15
+ </template>
16
+
17
+ <script>
18
+ export default {
19
+ name: "mui-card-footer",
20
+ props: {
21
+ footerTag: {
22
+ type: String,
23
+ required: false
24
+ },
25
+ footerBgVariant: {
26
+ type: String,
27
+ required: false
28
+ },
29
+ footerBorderVariant: {
30
+ type: String,
31
+ required: false
32
+ },
33
+ footerTextVariant: {
34
+ type: String,
35
+ required: false
36
+ },
37
+ footer: {
38
+ type: String,
39
+ required: false
40
+ },
41
+ footerHtml: {
42
+ type: String,
43
+ required: false
44
+ },
45
+ footerClass: {
46
+ type: String,
47
+ required: false
48
+ },
49
+ innerClass: {
50
+ type: String,
51
+ required: false
52
+ }
53
+ }
54
+ };
55
+ </script>
@@ -0,0 +1,58 @@
1
+ <template>
2
+ <b-card-header
3
+ v-bind="$props"
4
+ :class="innerClass"
5
+ :header="header"
6
+ :header-tag="headerTag"
7
+ :header-class="headerClass"
8
+ :header-bg-variant="headerBgVariant"
9
+ :header-border-variant="headerBorderVariant"
10
+ :header-text-variant="headerTextVariant"
11
+ >
12
+ <template v-if="hasHeader">
13
+ {{ header }}
14
+ </template>
15
+ <slot v-else></slot>
16
+ </b-card-header>
17
+ </template>
18
+
19
+ <script>
20
+ export default {
21
+ name: "mui-card-header",
22
+ computed: {
23
+ hasHeader() {
24
+ return !this.header ? false : true;
25
+ }
26
+ },
27
+ props: {
28
+ header: {
29
+ type: String,
30
+ required: false
31
+ },
32
+ headerTag: {
33
+ type: String,
34
+ required: false
35
+ },
36
+ headerClass: {
37
+ type: String,
38
+ required: false
39
+ },
40
+ headerBgVariant: {
41
+ type: String,
42
+ required: false
43
+ },
44
+ headerBorderVariant: {
45
+ type: String,
46
+ required: false
47
+ },
48
+ headerTextVariant: {
49
+ type: String,
50
+ required: false
51
+ },
52
+ innerClass: {
53
+ type: String,
54
+ required: false
55
+ }
56
+ }
57
+ };
58
+ </script>
@@ -0,0 +1,43 @@
1
+ <template>
2
+ <b-card-sub-title
3
+ v-bind="$props"
4
+ :class="innerClass"
5
+ :sub-title="subTitle"
6
+ :sub-title-tag="subTitleTag"
7
+ :sub-title-text-variant="subTitleTextVariant"
8
+ >
9
+ <template v-if="hasSubTitle">
10
+ {{ subTitle }}
11
+ </template>
12
+ <slot v-else></slot>
13
+ </b-card-sub-title>
14
+ </template>
15
+
16
+ <script>
17
+ export default {
18
+ name: "mui-card-sub-title",
19
+ computed: {
20
+ hasSubTitle() {
21
+ return !this.subTitle ? false : true;
22
+ }
23
+ },
24
+ props: {
25
+ subTitle: {
26
+ type: String,
27
+ required: false
28
+ },
29
+ subTitleTag: {
30
+ type: String,
31
+ required: false
32
+ },
33
+ subTitleTextVariant: {
34
+ type: String,
35
+ required: false
36
+ },
37
+ innerClass: {
38
+ type: String,
39
+ required: false
40
+ }
41
+ }
42
+ };
43
+ </script>