@nixweb/nixloc-ui 1.9.0 → 1.11.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 (68) hide show
  1. package/@nixweb/nixloc-ui/package.json +88 -88
  2. package/@nixweb/nixloc-ui/src/App.vue +13 -13
  3. package/@nixweb/nixloc-ui/src/component/forms/Button.vue +163 -163
  4. package/@nixweb/nixloc-ui/src/component/forms/CheckboxGroup.vue +69 -69
  5. package/@nixweb/nixloc-ui/src/component/forms/CheckboxServer.vue +192 -192
  6. package/@nixweb/nixloc-ui/src/component/forms/CheckboxSimple.vue +60 -60
  7. package/@nixweb/nixloc-ui/src/component/forms/Color.vue +38 -38
  8. package/@nixweb/nixloc-ui/src/component/forms/DateTime.vue +170 -170
  9. package/@nixweb/nixloc-ui/src/component/forms/Dropdown.vue +236 -236
  10. package/@nixweb/nixloc-ui/src/component/forms/EditorHtml.vue +132 -132
  11. package/@nixweb/nixloc-ui/src/component/forms/FileUpload.vue +170 -170
  12. package/@nixweb/nixloc-ui/src/component/forms/InputDecimal.vue +153 -153
  13. package/@nixweb/nixloc-ui/src/component/forms/InputNumber.vue +160 -160
  14. package/@nixweb/nixloc-ui/src/component/forms/InputPassword.vue +148 -148
  15. package/@nixweb/nixloc-ui/src/component/forms/InputText.vue +174 -174
  16. package/@nixweb/nixloc-ui/src/component/forms/Modal.vue +57 -57
  17. package/@nixweb/nixloc-ui/src/component/forms/RadioGroup.vue +91 -91
  18. package/@nixweb/nixloc-ui/src/component/forms/Select.vue +378 -378
  19. package/@nixweb/nixloc-ui/src/component/forms/SelectStatic.vue +198 -198
  20. package/@nixweb/nixloc-ui/src/component/forms/Slider.vue +18 -18
  21. package/@nixweb/nixloc-ui/src/component/forms/TextArea.vue +138 -138
  22. package/@nixweb/nixloc-ui/src/component/layout/Alert.vue +88 -88
  23. package/@nixweb/nixloc-ui/src/component/layout/Badge.vue +111 -111
  24. package/@nixweb/nixloc-ui/src/component/layout/FixedBar.vue +103 -103
  25. package/@nixweb/nixloc-ui/src/component/layout/Header.vue +56 -56
  26. package/@nixweb/nixloc-ui/src/component/layout/LoadingFullPage.vue +27 -27
  27. package/@nixweb/nixloc-ui/src/component/layout/Menu.vue +287 -287
  28. package/@nixweb/nixloc-ui/src/component/layout/Molded.vue +30 -30
  29. package/@nixweb/nixloc-ui/src/component/layout/Panel.vue +185 -185
  30. package/@nixweb/nixloc-ui/src/component/layout/Popover.vue +126 -126
  31. package/@nixweb/nixloc-ui/src/component/layout/ScrollBar.vue +57 -57
  32. package/@nixweb/nixloc-ui/src/component/layout/Wizard.vue +211 -211
  33. package/@nixweb/nixloc-ui/src/component/shared/Collapse.vue +131 -131
  34. package/@nixweb/nixloc-ui/src/component/shared/ExportPDF.vue +116 -116
  35. package/@nixweb/nixloc-ui/src/component/shared/HorizontalFilter.vue +64 -64
  36. package/@nixweb/nixloc-ui/src/component/shared/Loading.vue +107 -107
  37. package/@nixweb/nixloc-ui/src/component/shared/LoadingMoreButton.vue +23 -23
  38. package/@nixweb/nixloc-ui/src/component/shared/Messages.vue +109 -109
  39. package/@nixweb/nixloc-ui/src/component/shared/PDFViewer.vue +24 -24
  40. package/@nixweb/nixloc-ui/src/component/shared/Pagination.vue +108 -108
  41. package/@nixweb/nixloc-ui/src/component/shared/ProgressBar.vue +25 -25
  42. package/@nixweb/nixloc-ui/src/component/shared/QueryButton.vue +66 -66
  43. package/@nixweb/nixloc-ui/src/component/shared/Search.vue +174 -174
  44. package/@nixweb/nixloc-ui/src/component/shared/Table.vue +174 -174
  45. package/@nixweb/nixloc-ui/src/component/shared/TableButton.vue +36 -36
  46. package/@nixweb/nixloc-ui/src/component/shared/TableTotalization.vue +47 -47
  47. package/@nixweb/nixloc-ui/src/component/shared/Tip.vue +42 -42
  48. package/@nixweb/nixloc-ui/src/component/shared/Toast.vue +69 -69
  49. package/@nixweb/nixloc-ui/src/component/shared/VerticalFilter.vue +97 -97
  50. package/@nixweb/nixloc-ui/src/component/shared/query-builder/AddRule.vue +203 -203
  51. package/@nixweb/nixloc-ui/src/component/shared/query-builder/DynamicComponentList.vue +70 -70
  52. package/@nixweb/nixloc-ui/src/component/shared/query-builder/QueryBuilder.vue +69 -69
  53. package/@nixweb/nixloc-ui/src/component/shared/query-builder/utilities.js +21 -21
  54. package/@nixweb/nixloc-ui/src/component/template/ListViewWithDataHandler.vue +429 -429
  55. package/@nixweb/nixloc-ui/src/component/template/ViewTemplateConfiguration.vue +64 -64
  56. package/@nixweb/nixloc-ui/src/component/template/ViewTemplateWithSalveCancel.vue +32 -32
  57. package/@nixweb/nixloc-ui/src/component/template/ViewTemplateWithTable.vue +62 -62
  58. package/@nixweb/nixloc-ui/src/config/axios.js +9 -9
  59. package/@nixweb/nixloc-ui/src/config/dicas.js +14 -14
  60. package/@nixweb/nixloc-ui/src/config/router.js +13 -13
  61. package/@nixweb/nixloc-ui/src/config/token.js +14 -14
  62. package/@nixweb/nixloc-ui/src/main.js +23 -23
  63. package/@nixweb/nixloc-ui/src/store/modules/generic.js +815 -815
  64. package/@nixweb/nixloc-ui/src/store/modules/validation.js +38 -38
  65. package/@nixweb/nixloc-ui/src/store/store.js +13 -13
  66. package/package.json +1 -1
  67. package/src/component/training/CourseView.vue +16 -7
  68. package/src/component/value-objects/Address.vue +4 -2
@@ -1,138 +1,138 @@
1
- <template>
2
- <div class="form-group">
3
- <label>
4
- <span class="title">{{ title }}</span>
5
- <span class="required" v-if="required">*</span>
6
- <Tip :field="field" :formName="formName" />
7
- </label>
8
- <div class="inner-addon right-addon">
9
- <i v-if="notifications.length > 0 && formDirty" class="required glyphicon fas fa-exclamation-triangle"></i>
10
-
11
- <textarea :disabled="disabled" rows="4" cols="50" type="text" :placeholder="placeholder" v-bind:value="value"
12
- v-on:input="$emit('input', $event.target.value)"
13
- :class="{ 'is-invalid': notifications.length > 0 && formDirty }">
14
- </textarea>
15
- </div>
16
-
17
- <div v-if="formDirty">
18
- <div v-for="message in notifications" :key="message">
19
- <span class="invalid">{{ message }}</span>
20
- </div>
21
- </div>
22
- </div>
23
- </template>
24
-
25
- <script>
26
- import Tip from "../shared/Tip.vue";
27
- import { mapState, mapMutations } from "vuex";
28
-
29
- export default {
30
- components: { Tip },
31
- name: "TextArea",
32
- props: {
33
- title: String,
34
- field: String,
35
- placeholder: String,
36
- disabled: Boolean,
37
- formName: String,
38
- required: Boolean,
39
- maxLength: Number,
40
- value: String,
41
- },
42
- data() {
43
- return {
44
- notifications: [],
45
- formDirty: false,
46
- };
47
- },
48
- created() {
49
- this.validate();
50
- },
51
- methods: {
52
- ...mapMutations("validation", [
53
- "addValidation",
54
- "removeValidation",
55
- "updateFormDirty",
56
- ]),
57
- validate() {
58
- this.notifications = [];
59
-
60
- if (this.required && this.value.length == 0) {
61
- var message = `${this.title} não pode ser vazio!`;
62
- this.notifications.push(message);
63
- }
64
-
65
- if (this.maxLength > 0) {
66
- if (this.value.length > this.maxLength) {
67
- var message = `Máximo de ${this.maxLength} caracteres!`;
68
- this.notifications.push(message);
69
- }
70
- }
71
- },
72
- },
73
- computed: {
74
- ...mapState("validation", ["resetForm", "validations"]),
75
- },
76
- watch: {
77
- value() {
78
- this.validate();
79
- this.formDirty = true;
80
- this.updateFormDirty(true);
81
- },
82
- notifications() {
83
- let self = this;
84
- this.notifications.forEach(function (notification) {
85
- let obj = {
86
- key: self.field + "&" + self.formName,
87
- formName: self.formName,
88
- notification: notification,
89
- };
90
- self.addValidation(obj);
91
- });
92
-
93
- if (this.notifications.length == 0) {
94
- let obj = {
95
- key: self.field + "&" + self.formName,
96
- formName: self.formName,
97
- };
98
- self.removeValidation(obj);
99
- }
100
- },
101
- resetForm: {
102
- handler(form) {
103
- if (form.nome == this.formName) this.formDirty = false;
104
- },
105
- deep: true,
106
- },
107
- },
108
- };
109
- </script>
110
-
111
- <style scoped>
112
- textarea {
113
- width: 100%;
114
- border: 1px #DBDEE0 solid;
115
- border-radius: 5px;
116
- color: #35495E;
117
- padding-left: 10px;
118
- padding-right: 10px;
119
- font-weight: normal !important;
120
- font-size: 14px;
121
- }
122
-
123
- textarea:disabled {
124
- background-color: white !important;
125
- opacity: 0.5;
126
- }
127
-
128
-
129
- .success {
130
- color: #94aa2a;
131
- font-size: 14px;
132
- }
133
-
134
- .invalid {
135
- color: #f0134d;
136
- font-size: 14px;
137
- }
138
- </style>
1
+ <template>
2
+ <div class="form-group">
3
+ <label>
4
+ <span class="title">{{ title }}</span>
5
+ <span class="required" v-if="required">*</span>
6
+ <Tip :field="field" :formName="formName" />
7
+ </label>
8
+ <div class="inner-addon right-addon">
9
+ <i v-if="notifications.length > 0 && formDirty" class="required glyphicon fas fa-exclamation-triangle"></i>
10
+
11
+ <textarea :disabled="disabled" rows="4" cols="50" type="text" :placeholder="placeholder" v-bind:value="value"
12
+ v-on:input="$emit('input', $event.target.value)"
13
+ :class="{ 'is-invalid': notifications.length > 0 && formDirty }">
14
+ </textarea>
15
+ </div>
16
+
17
+ <div v-if="formDirty">
18
+ <div v-for="message in notifications" :key="message">
19
+ <span class="invalid">{{ message }}</span>
20
+ </div>
21
+ </div>
22
+ </div>
23
+ </template>
24
+
25
+ <script>
26
+ import Tip from "../shared/Tip.vue";
27
+ import { mapState, mapMutations } from "vuex";
28
+
29
+ export default {
30
+ components: { Tip },
31
+ name: "TextArea",
32
+ props: {
33
+ title: String,
34
+ field: String,
35
+ placeholder: String,
36
+ disabled: Boolean,
37
+ formName: String,
38
+ required: Boolean,
39
+ maxLength: Number,
40
+ value: String,
41
+ },
42
+ data() {
43
+ return {
44
+ notifications: [],
45
+ formDirty: false,
46
+ };
47
+ },
48
+ created() {
49
+ this.validate();
50
+ },
51
+ methods: {
52
+ ...mapMutations("validation", [
53
+ "addValidation",
54
+ "removeValidation",
55
+ "updateFormDirty",
56
+ ]),
57
+ validate() {
58
+ this.notifications = [];
59
+
60
+ if (this.required && this.value.length == 0) {
61
+ var message = `${this.title} não pode ser vazio!`;
62
+ this.notifications.push(message);
63
+ }
64
+
65
+ if (this.maxLength > 0) {
66
+ if (this.value.length > this.maxLength) {
67
+ var message = `Máximo de ${this.maxLength} caracteres!`;
68
+ this.notifications.push(message);
69
+ }
70
+ }
71
+ },
72
+ },
73
+ computed: {
74
+ ...mapState("validation", ["resetForm", "validations"]),
75
+ },
76
+ watch: {
77
+ value() {
78
+ this.validate();
79
+ this.formDirty = true;
80
+ this.updateFormDirty(true);
81
+ },
82
+ notifications() {
83
+ let self = this;
84
+ this.notifications.forEach(function (notification) {
85
+ let obj = {
86
+ key: self.field + "&" + self.formName,
87
+ formName: self.formName,
88
+ notification: notification,
89
+ };
90
+ self.addValidation(obj);
91
+ });
92
+
93
+ if (this.notifications.length == 0) {
94
+ let obj = {
95
+ key: self.field + "&" + self.formName,
96
+ formName: self.formName,
97
+ };
98
+ self.removeValidation(obj);
99
+ }
100
+ },
101
+ resetForm: {
102
+ handler(form) {
103
+ if (form.nome == this.formName) this.formDirty = false;
104
+ },
105
+ deep: true,
106
+ },
107
+ },
108
+ };
109
+ </script>
110
+
111
+ <style scoped>
112
+ textarea {
113
+ width: 100%;
114
+ border: 1px #DBDEE0 solid;
115
+ border-radius: 5px;
116
+ color: #35495E;
117
+ padding-left: 10px;
118
+ padding-right: 10px;
119
+ font-weight: normal !important;
120
+ font-size: 14px;
121
+ }
122
+
123
+ textarea:disabled {
124
+ background-color: white !important;
125
+ opacity: 0.5;
126
+ }
127
+
128
+
129
+ .success {
130
+ color: #94aa2a;
131
+ font-size: 14px;
132
+ }
133
+
134
+ .invalid {
135
+ color: #f0134d;
136
+ font-size: 14px;
137
+ }
138
+ </style>
@@ -1,88 +1,88 @@
1
- <template>
2
- <div>
3
- <div class="warning" :class="{
4
- 'alert-primary': type === 'primary',
5
- 'alert-success': type === 'success',
6
- 'alert-warning': type === 'warning',
7
- 'alert-info': type === 'info',
8
- 'alert-danger': type === 'danger',
9
- }">
10
- <span v-if="type === 'success'" class="success-icon">
11
- <i class="fas fa-check-circle"></i>
12
- </span>
13
- <span v-if="type === 'danger'" class="danger-icon">
14
- <i class="fas fa-times-circle"></i></span>
15
- <span v-if="type === 'warning'" class="warning-icon">
16
- <i class="fas fa-exclamation-triangle"></i></span>
17
- <span v-if="type === 'info'" class="info-icon">
18
- <i class="fas fa-exclamation-circle"></i></span>
19
- <span class="message">
20
- <slot></slot>
21
- </span>
22
- </div>
23
- </div>
24
- </template>
25
- <script>
26
- export default {
27
- name: "Alert",
28
- props: {
29
- type: String,
30
- },
31
- };
32
- </script>
33
- <style scoped>
34
- .warning {
35
- box-sizing: border-box;
36
- margin-bottom: 10px;
37
- color: rgba(0, 0, 0, 0.65);
38
- font-size: 14px;
39
- font-variant: tabular-nums;
40
- line-height: 1.5;
41
- list-style: none;
42
- font-feature-settings: "tnum";
43
- position: relative;
44
- padding: 8px 15px 8px 10px;
45
- word-wrap: break-word;
46
- border-radius: 4px;
47
- }
48
-
49
- .message {
50
- margin-left: 5px;
51
- }
52
-
53
- .alert-success {
54
- background-color: #f6ffed !important;
55
- border: 1px solid #b7eb8f !important;
56
- }
57
-
58
- .alert-warning {
59
- background-color: #fffbe6;
60
- border: 1px solid #ffe58f;
61
- }
62
-
63
- .alert-info {
64
- background-color: #e6f7ff;
65
- border: 1px solid #91d5ff;
66
- }
67
-
68
- .alert-danger {
69
- background-color: #fff1f0;
70
- border: 1px solid #ffa39e;
71
- }
72
-
73
- .success-icon {
74
- color: #52c41a;
75
- }
76
-
77
- .warning-icon {
78
- color: #faad14;
79
- }
80
-
81
- .info-icon {
82
- color: #1890ff;
83
- }
84
-
85
- .danger-icon {
86
- color: red;
87
- }
88
- </style>
1
+ <template>
2
+ <div>
3
+ <div class="warning" :class="{
4
+ 'alert-primary': type === 'primary',
5
+ 'alert-success': type === 'success',
6
+ 'alert-warning': type === 'warning',
7
+ 'alert-info': type === 'info',
8
+ 'alert-danger': type === 'danger',
9
+ }">
10
+ <span v-if="type === 'success'" class="success-icon">
11
+ <i class="fas fa-check-circle"></i>
12
+ </span>
13
+ <span v-if="type === 'danger'" class="danger-icon">
14
+ <i class="fas fa-times-circle"></i></span>
15
+ <span v-if="type === 'warning'" class="warning-icon">
16
+ <i class="fas fa-exclamation-triangle"></i></span>
17
+ <span v-if="type === 'info'" class="info-icon">
18
+ <i class="fas fa-exclamation-circle"></i></span>
19
+ <span class="message">
20
+ <slot></slot>
21
+ </span>
22
+ </div>
23
+ </div>
24
+ </template>
25
+ <script>
26
+ export default {
27
+ name: "Alert",
28
+ props: {
29
+ type: String,
30
+ },
31
+ };
32
+ </script>
33
+ <style scoped>
34
+ .warning {
35
+ box-sizing: border-box;
36
+ margin-bottom: 10px;
37
+ color: rgba(0, 0, 0, 0.65);
38
+ font-size: 14px;
39
+ font-variant: tabular-nums;
40
+ line-height: 1.5;
41
+ list-style: none;
42
+ font-feature-settings: "tnum";
43
+ position: relative;
44
+ padding: 8px 15px 8px 10px;
45
+ word-wrap: break-word;
46
+ border-radius: 4px;
47
+ }
48
+
49
+ .message {
50
+ margin-left: 5px;
51
+ }
52
+
53
+ .alert-success {
54
+ background-color: #f6ffed !important;
55
+ border: 1px solid #b7eb8f !important;
56
+ }
57
+
58
+ .alert-warning {
59
+ background-color: #fffbe6;
60
+ border: 1px solid #ffe58f;
61
+ }
62
+
63
+ .alert-info {
64
+ background-color: #e6f7ff;
65
+ border: 1px solid #91d5ff;
66
+ }
67
+
68
+ .alert-danger {
69
+ background-color: #fff1f0;
70
+ border: 1px solid #ffa39e;
71
+ }
72
+
73
+ .success-icon {
74
+ color: #52c41a;
75
+ }
76
+
77
+ .warning-icon {
78
+ color: #faad14;
79
+ }
80
+
81
+ .info-icon {
82
+ color: #1890ff;
83
+ }
84
+
85
+ .danger-icon {
86
+ color: red;
87
+ }
88
+ </style>
@@ -1,111 +1,111 @@
1
- <template>
2
- <div class="side-by-side">
3
- <div
4
- class="badge"
5
- :class="{
6
- small: size === 'small',
7
- medium: size === 'medium',
8
- large: size === 'large',
9
- blue: type === 'blue',
10
- primary: type === 'primary',
11
- success: type === 'success',
12
- warning: type === 'warning',
13
- info: type === 'info',
14
- edit: type === 'edit',
15
- danger: type === 'danger',
16
- }"
17
- >
18
- <i :class="classIcon"></i> <span>{{ title }}</span>
19
- </div>
20
- </div>
21
- </template>
22
-
23
- <script>
24
- export default {
25
- name: "Badge",
26
- props: {
27
- title: String,
28
- type: String,
29
- size: String,
30
- classIcon: String,
31
- },
32
- };
33
- </script>
34
-
35
- <style scoped>
36
- .badge {
37
- margin-left: 10px;
38
- padding: 8px 12px;
39
- cursor: pointer;
40
- border: none;
41
- border-radius: 5px !important;
42
- font-size: 14px;
43
- font-weight: 400;
44
- -webkit-box-shadow: 0px 10px 20px -6px rgb(0 0 0 / 12%);
45
- -moz-box-shadow: 0px 10px 20px -6px rgba(0, 0, 0, 0.12);
46
- box-shadow: 0px 10px 20px -6px rgb(0 0 0 / 12%);
47
- }
48
-
49
- .small {
50
- padding: 5px 10px;
51
- font-size: 13px;
52
- }
53
-
54
- .medium {
55
- padding: 7px 12px !important;
56
- font-size: 13px;
57
- }
58
-
59
- .large {
60
- padding: 11px 16px !important;
61
- font-size: 14px;
62
- }
63
-
64
- .disabled {
65
- background: #bbbbbb !important;
66
- border-color: #bbbbbb !important;
67
- color: #fff;
68
- }
69
-
70
- .blue {
71
- background: #007bff;
72
- border-color: #007bff;
73
- color: #fff;
74
- }
75
-
76
- .primary {
77
- background: #577696;
78
- border-color: #577696;
79
- color: #fff;
80
- }
81
-
82
- .success {
83
- color: #fff;
84
- background: #38a169;
85
- border-color: #38a169;
86
- }
87
-
88
- .info {
89
- color: #fff;
90
- border-color: #4ab4e2;
91
- background: #4ab4e2;
92
- }
93
-
94
- .edit {
95
- color: #fff;
96
- border-color: #7b7f83;
97
- background: #7b7f83;
98
- }
99
-
100
- .warning {
101
- color: #fff;
102
- border-color: #f1bc31;
103
- background: #f1bc31;
104
- }
105
-
106
- .danger {
107
- color: #fff;
108
- border-color: #f0134d;
109
- background: #f0134d;
110
- }
111
- </style>
1
+ <template>
2
+ <div class="side-by-side">
3
+ <div
4
+ class="badge"
5
+ :class="{
6
+ small: size === 'small',
7
+ medium: size === 'medium',
8
+ large: size === 'large',
9
+ blue: type === 'blue',
10
+ primary: type === 'primary',
11
+ success: type === 'success',
12
+ warning: type === 'warning',
13
+ info: type === 'info',
14
+ edit: type === 'edit',
15
+ danger: type === 'danger',
16
+ }"
17
+ >
18
+ <i :class="classIcon"></i> <span>{{ title }}</span>
19
+ </div>
20
+ </div>
21
+ </template>
22
+
23
+ <script>
24
+ export default {
25
+ name: "Badge",
26
+ props: {
27
+ title: String,
28
+ type: String,
29
+ size: String,
30
+ classIcon: String,
31
+ },
32
+ };
33
+ </script>
34
+
35
+ <style scoped>
36
+ .badge {
37
+ margin-left: 10px;
38
+ padding: 8px 12px;
39
+ cursor: pointer;
40
+ border: none;
41
+ border-radius: 5px !important;
42
+ font-size: 14px;
43
+ font-weight: 400;
44
+ -webkit-box-shadow: 0px 10px 20px -6px rgb(0 0 0 / 12%);
45
+ -moz-box-shadow: 0px 10px 20px -6px rgba(0, 0, 0, 0.12);
46
+ box-shadow: 0px 10px 20px -6px rgb(0 0 0 / 12%);
47
+ }
48
+
49
+ .small {
50
+ padding: 5px 10px;
51
+ font-size: 13px;
52
+ }
53
+
54
+ .medium {
55
+ padding: 7px 12px !important;
56
+ font-size: 13px;
57
+ }
58
+
59
+ .large {
60
+ padding: 11px 16px !important;
61
+ font-size: 14px;
62
+ }
63
+
64
+ .disabled {
65
+ background: #bbbbbb !important;
66
+ border-color: #bbbbbb !important;
67
+ color: #fff;
68
+ }
69
+
70
+ .blue {
71
+ background: #007bff;
72
+ border-color: #007bff;
73
+ color: #fff;
74
+ }
75
+
76
+ .primary {
77
+ background: #577696;
78
+ border-color: #577696;
79
+ color: #fff;
80
+ }
81
+
82
+ .success {
83
+ color: #fff;
84
+ background: #38a169;
85
+ border-color: #38a169;
86
+ }
87
+
88
+ .info {
89
+ color: #fff;
90
+ border-color: #4ab4e2;
91
+ background: #4ab4e2;
92
+ }
93
+
94
+ .edit {
95
+ color: #fff;
96
+ border-color: #7b7f83;
97
+ background: #7b7f83;
98
+ }
99
+
100
+ .warning {
101
+ color: #fff;
102
+ border-color: #f1bc31;
103
+ background: #f1bc31;
104
+ }
105
+
106
+ .danger {
107
+ color: #fff;
108
+ border-color: #f0134d;
109
+ background: #f0134d;
110
+ }
111
+ </style>