@everchron/ec-shards 2.0.0 → 2.0.2
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/.eslintrc.js +2 -5
- package/dist/ec-shards.common.js +880 -310
- package/dist/ec-shards.common.js.map +1 -1
- package/dist/ec-shards.css +1 -1
- package/dist/ec-shards.umd.js +880 -310
- package/dist/ec-shards.umd.js.map +1 -1
- package/dist/ec-shards.umd.min.js +2 -2
- package/dist/ec-shards.umd.min.js.map +1 -1
- package/package.json +6 -5
- package/src/assets/icons/empty-broken-transcript.svg +1 -0
- package/src/assets/icons/sticker-info.svg +1 -0
- package/src/components/button-toolbar-icon/button-toolbar-icon.vue +1 -4
- package/src/components/data-list-item/data-list-item.vue +34 -28
- package/src/components/document-state/document-state.vue +20 -8
- package/src/components/index.js +6 -0
- package/src/components/legend-item/legend-item.vue +176 -0
- package/src/components/log-message/log-message.vue +144 -0
- package/src/components/overlay/overlay.vue +68 -18
- package/src/components/quicklink/quicklink.vue +1 -1
- package/src/components/sticker/sticker.vue +4 -2
- package/src/components/switch/switch.vue +102 -11
- package/src/components/transcript-state/transcript-state.vue +125 -0
- package/src/stories/Changelog.stories.mdx +58 -1
- package/src/stories/{data-list-item → data-list}/.DS_Store +0 -0
- package/src/stories/{data-list-item → data-list}/data-list-item.stories.js +3 -3
- package/src/stories/data-list/data-list.stories.js +17 -0
- package/src/stories/legend-item/legend-item.stories.js +50 -0
- package/src/stories/log-message/log-message.stories.js +37 -0
- package/src/stories/overlay/overlay.stories.js +60 -15
- package/src/stories/quicklink/quicklink.stories.js +6 -1
- package/src/stories/sidebar/sidebar-content.stories.js +27 -0
- package/src/stories/{sidebar-footer → sidebar}/sidebar-footer.stories.js +0 -0
- package/src/stories/{sidebar-header → sidebar}/sidebar-header.stories.js +0 -0
- package/src/stories/swatches-picker/swatches-picker.stories.js +7 -161
- package/src/stories/switch/switch.stories.js +21 -1
- package/src/stories/{sidebar-footer → transcript-state}/.DS_Store +0 -0
- package/src/stories/transcript-state/transcript-state.stories.js +16 -0
- package/src/stories/sidebar-header/.DS_Store +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@everchron/ec-shards",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.2",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Everchron Shards UI Library",
|
|
6
6
|
"repository": "https://github.com/everchron/ec-shards.git",
|
|
@@ -30,16 +30,17 @@
|
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@babel/core": "^7.13.15",
|
|
33
|
-
"@storybook/addon-actions": "^6.5.
|
|
34
|
-
"@storybook/addon-essentials": "^6.5.
|
|
35
|
-
"@storybook/addon-links": "^6.5.
|
|
36
|
-
"@storybook/vue": "^6.5.
|
|
33
|
+
"@storybook/addon-actions": "^6.5.10",
|
|
34
|
+
"@storybook/addon-essentials": "^6.5.10",
|
|
35
|
+
"@storybook/addon-links": "^6.5.10",
|
|
36
|
+
"@storybook/vue": "^6.5.10",
|
|
37
37
|
"@vue/cli-plugin-babel": "~4.5.0",
|
|
38
38
|
"@vue/cli-service": "~4.5.0",
|
|
39
39
|
"babel-eslint": "^10.1.0",
|
|
40
40
|
"babel-loader": "^8.2.2",
|
|
41
41
|
"core-js": "^3.6.5",
|
|
42
42
|
"eslint": "^6.7.2",
|
|
43
|
+
"eslint-plugin-storybook": "^0.6.4",
|
|
43
44
|
"eslint-plugin-vue": "^6.2.2",
|
|
44
45
|
"node-sass": "^5.0.0",
|
|
45
46
|
"sass-loader": "^10.1.1",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width="140" height="140" fill="none" xmlns="http://www.w3.org/2000/svg"><path vector-effect="non-scaling-stroke" d="M31.25 23.333h67.083C104.777 23.333 110 28.557 110 35M61.5 37.77h35M56.5 37.77h-4M61.5 43.77h30M56.5 43.77h-4M61.5 49.77h24M56.5 49.77h-4M61.5 55.77h20M56.5 55.77h-4M61.5 61.77h19M56.5 61.77h-4M61.5 67.77h19M56.5 67.77h-4M61.5 73.77h20M56.5 73.77h-4M61.5 79.77h23M56.5 79.77h-4" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path vector-effect="non-scaling-stroke" d="M48.75 116.667h67.083c6.444 0 11.667-5.224 11.667-11.667v-5.833a5.833 5.833 0 0 0-5.833-5.834H63.333a5.833 5.833 0 0 0-5.833 5.834v8.75a8.75 8.75 0 0 1-8.75 8.75Zm0 0a8.75 8.75 0 0 1-8.75-8.75V58.333m0 .648V32.083a8.75 8.75 0 1 0-17.5 0v14.584a5.833 5.833 0 0 0 5.833 5.833H40v6.481ZM101.996 55.49a9.533 9.533 0 0 1 6.042.006 9.99 9.99 0 0 1-4.27 19.433 10.102 10.102 0 0 1-8.277-6.886 9.531 9.531 0 0 1 0-6.047 1 1 0 0 1 1.662-.377l5.614 5.614 4.472-4.472-5.615-5.614a1 1 0 0 1 .372-1.656v0Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path vector-effect="non-scaling-stroke" d="M117.728 77.728c7.029-7.03 7.029-18.426 0-25.456-7.029-7.03-18.426-7.03-25.456 0-7.03 7.03-7.03 18.426 0 25.456 7.03 7.03 18.427 7.03 25.456 0ZM107.581 74.652l6.112 6.112M114.653 67.582l6.111 6.111" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8 14.75a6.75 6.75 0 1 0 0-13.5 6.75 6.75 0 0 0 0 13.5Z" fill="#6BAFFF" stroke="#fff" stroke-width="1.5"/><path d="M8.2 11.484v-3.75h-1" stroke="#fff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><circle cx="7.8" cy="4.8" r="1" fill="#fff"/></svg>
|
|
@@ -126,6 +126,40 @@
|
|
|
126
126
|
}
|
|
127
127
|
</script>
|
|
128
128
|
|
|
129
|
+
<style lang="scss">
|
|
130
|
+
@import "../../tokens/build/scss/tokens.scss";
|
|
131
|
+
|
|
132
|
+
.ecs-data-list-data{
|
|
133
|
+
a:not(.ecs-button){
|
|
134
|
+
color: $color-blue-8;
|
|
135
|
+
cursor: pointer;
|
|
136
|
+
|
|
137
|
+
&:hover{
|
|
138
|
+
color: $color-blue-9;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
li{
|
|
143
|
+
margin-bottom: 2px;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.subtle{
|
|
147
|
+
color: $color-gray-8;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
li{
|
|
151
|
+
&:last-child{
|
|
152
|
+
margin-bottom: 0;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
.ecs-button{
|
|
157
|
+
margin-top: -5px;
|
|
158
|
+
margin-bottom: -5px;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
</style>
|
|
162
|
+
|
|
129
163
|
<style lang="scss" scoped>
|
|
130
164
|
@import "../../tokens/build/scss/tokens.scss";
|
|
131
165
|
@import "../mixins/svg-uri";
|
|
@@ -221,19 +255,6 @@
|
|
|
221
255
|
position: relative;
|
|
222
256
|
z-index: 0;
|
|
223
257
|
|
|
224
|
-
a:not(.ecs-button){
|
|
225
|
-
color: $color-blue-8;
|
|
226
|
-
cursor: pointer;
|
|
227
|
-
|
|
228
|
-
&:hover{
|
|
229
|
-
color: $color-blue-9;
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
li{
|
|
234
|
-
margin-bottom: 2px;
|
|
235
|
-
}
|
|
236
|
-
|
|
237
258
|
&-links{
|
|
238
259
|
color: $color-gray-8;
|
|
239
260
|
}
|
|
@@ -265,21 +286,6 @@
|
|
|
265
286
|
}
|
|
266
287
|
}
|
|
267
288
|
|
|
268
|
-
.subtle{
|
|
269
|
-
color: $color-gray-8;
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
li{
|
|
273
|
-
&:last-child{
|
|
274
|
-
margin-bottom: 0;
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
.ecs-button{
|
|
279
|
-
margin-top: -5px;
|
|
280
|
-
margin-bottom: -5px;
|
|
281
|
-
}
|
|
282
|
-
|
|
283
289
|
.progress{
|
|
284
290
|
background: $color-blue-2;
|
|
285
291
|
position: absolute;
|
|
@@ -4,16 +4,20 @@
|
|
|
4
4
|
<div v-else class="no-txt" />
|
|
5
5
|
<div v-if="instantView" class="instant" />
|
|
6
6
|
<div v-else class="no-instant" />
|
|
7
|
-
<
|
|
7
|
+
<span v-if="loading" class="loading">
|
|
8
|
+
<ecs-icon type="loading" width="18px" height="18px" color="#202127" />
|
|
9
|
+
</span>
|
|
8
10
|
</div>
|
|
9
11
|
</template>
|
|
10
12
|
|
|
11
13
|
<script>
|
|
12
14
|
import EcsAnimations from '../animations/animations'
|
|
15
|
+
import EcsIcon from '../icon/icon'
|
|
13
16
|
|
|
14
17
|
export default {
|
|
15
18
|
components: {
|
|
16
|
-
EcsAnimations
|
|
19
|
+
EcsAnimations,
|
|
20
|
+
EcsIcon
|
|
17
21
|
},
|
|
18
22
|
props: {
|
|
19
23
|
/** Determines if the document has been processed by OCR. */
|
|
@@ -72,12 +76,20 @@
|
|
|
72
76
|
}
|
|
73
77
|
|
|
74
78
|
.loading{
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
79
|
+
border-radius: 100%;
|
|
80
|
+
background: #FFF;
|
|
81
|
+
width: 18px;
|
|
82
|
+
height: 18px;
|
|
83
|
+
position: absolute;
|
|
84
|
+
bottom: -3px;
|
|
85
|
+
right: 0;
|
|
86
|
+
display: block;
|
|
87
|
+
|
|
88
|
+
.icon{
|
|
89
|
+
position: absolute;
|
|
90
|
+
inset: 0;
|
|
91
|
+
animation: spin 1.5s infinite linear reverse;
|
|
92
|
+
}
|
|
81
93
|
}
|
|
82
94
|
}
|
|
83
95
|
</style>
|
package/src/components/index.js
CHANGED
|
@@ -69,6 +69,8 @@ import EcsJumperPage from "./jumper-page/jumper-page.vue"
|
|
|
69
69
|
import EcsLayoutIndex from "./layout-index/layout-index.vue"
|
|
70
70
|
import EcsLayoutDirectory from "./layout-directory/layout-directory.vue"
|
|
71
71
|
import EcsLayoutDataTable from "./layout-data-table/layout-data-table.vue"
|
|
72
|
+
import EcsLegendItem from "./legend-item/legend-item.vue"
|
|
73
|
+
import EcsLogMessage from "./log-message/log-message.vue"
|
|
72
74
|
import EcsMap from "./map/map.vue"
|
|
73
75
|
import EcsModal from "./modal/modal.vue"
|
|
74
76
|
import EcsModalHeader from "./modal-header/modal-header.vue"
|
|
@@ -117,6 +119,7 @@ import EcsText from "./text/text.vue"
|
|
|
117
119
|
import EcsToast from "./toast/toast.vue"
|
|
118
120
|
import EcsToasts from "./toasts/toasts.vue"
|
|
119
121
|
import EcsToolbar from "./toolbar/toolbar.vue"
|
|
122
|
+
import EcsTranscriptState from "./transcript-state/transcript-state.vue"
|
|
120
123
|
import EcsTreeList from "./tree-list/tree-list.vue"
|
|
121
124
|
import EcsTreeListItem from "./tree-list-item/tree-list-item.vue"
|
|
122
125
|
import EcsVideo from "./video/video.vue"
|
|
@@ -190,6 +193,8 @@ const Components = {
|
|
|
190
193
|
EcsLayoutIndex,
|
|
191
194
|
EcsLayoutDirectory,
|
|
192
195
|
EcsLayoutDataTable,
|
|
196
|
+
EcsLegendItem,
|
|
197
|
+
EcsLogMessage,
|
|
193
198
|
EcsMap,
|
|
194
199
|
EcsModal,
|
|
195
200
|
EcsModalHeader,
|
|
@@ -238,6 +243,7 @@ const Components = {
|
|
|
238
243
|
EcsToast,
|
|
239
244
|
EcsToasts,
|
|
240
245
|
EcsToolbar,
|
|
246
|
+
EcsTranscriptState,
|
|
241
247
|
EcsTreeList,
|
|
242
248
|
EcsTreeListItem,
|
|
243
249
|
EcsVideo
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<ecs-flex-row
|
|
3
|
+
class="ecs-legend-item"
|
|
4
|
+
:gap="8"
|
|
5
|
+
:class="[
|
|
6
|
+
sizeClass,
|
|
7
|
+
hover ? 'hover' : '',
|
|
8
|
+
highlight ? 'highlighted' : ''
|
|
9
|
+
]">
|
|
10
|
+
<div class="ecs-legend-item-color" :class="type" :style="{backgroundColor: validColor}" />
|
|
11
|
+
<div class="ecs-legend-item-label">{{ label }}</div>
|
|
12
|
+
<div v-if="count" class="ecs-legend-item-count">{{ count }}</div>
|
|
13
|
+
<div v-if="percentage" class="ecs-legend-item-percentage">{{ percentageLabel }}</div>
|
|
14
|
+
<div v-if="highlight || hover" class="ecs-legend-item-highlight" :style="{backgroundColor: validColor}" />
|
|
15
|
+
</ecs-flex-row>
|
|
16
|
+
</template>
|
|
17
|
+
|
|
18
|
+
<script>
|
|
19
|
+
import EcsFlexRow from '../flex/flex-row'
|
|
20
|
+
|
|
21
|
+
export default {
|
|
22
|
+
components: {
|
|
23
|
+
EcsFlexRow
|
|
24
|
+
},
|
|
25
|
+
|
|
26
|
+
props: {
|
|
27
|
+
/** Determines the type of legend message. */
|
|
28
|
+
type: {
|
|
29
|
+
type: String,
|
|
30
|
+
validator: v => ['fill', 'line'].includes(v),
|
|
31
|
+
default: 'fill'
|
|
32
|
+
},
|
|
33
|
+
/** Determines the size of the legend item. */
|
|
34
|
+
size: {
|
|
35
|
+
type: String,
|
|
36
|
+
validator: v => ['sml', 'md'].includes(v),
|
|
37
|
+
default: 'md'
|
|
38
|
+
},
|
|
39
|
+
/** The main legend item label. */
|
|
40
|
+
label: {
|
|
41
|
+
type: String,
|
|
42
|
+
required: true
|
|
43
|
+
},
|
|
44
|
+
/** Determines the color value of the legend item. This should exactly match the color this item represent in data visualization. */
|
|
45
|
+
color: {
|
|
46
|
+
type: String,
|
|
47
|
+
required: true
|
|
48
|
+
},
|
|
49
|
+
/** Displays a count next to the label. */
|
|
50
|
+
count: {
|
|
51
|
+
type: [String, Number]
|
|
52
|
+
},
|
|
53
|
+
/** Displays a percentage value next to the count/label. */
|
|
54
|
+
percentage: {
|
|
55
|
+
type: [String, Number]
|
|
56
|
+
},
|
|
57
|
+
/** Adds a background color to highlight the legend item. */
|
|
58
|
+
highlight: {
|
|
59
|
+
type: Boolean,
|
|
60
|
+
default: false
|
|
61
|
+
},
|
|
62
|
+
/** Determines if the legend item should have a hover state. */
|
|
63
|
+
hover: {
|
|
64
|
+
type: Boolean,
|
|
65
|
+
default: false
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
|
|
69
|
+
computed: {
|
|
70
|
+
validColor(){
|
|
71
|
+
if(CSS.supports('color', this.color)){
|
|
72
|
+
return this.color
|
|
73
|
+
} else {
|
|
74
|
+
console.warn('The passed color value is not a valid color.')
|
|
75
|
+
return this.color
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
|
|
79
|
+
percentageLabel() {
|
|
80
|
+
if(Number.isInteger(this.percentage)){
|
|
81
|
+
return this.percentage + '%'
|
|
82
|
+
} else {
|
|
83
|
+
return this.percentage
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
|
|
87
|
+
sizeClass(){
|
|
88
|
+
return `ecs-legend-item-${this.size}`
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
</script>
|
|
93
|
+
|
|
94
|
+
<style lang="scss" scoped>
|
|
95
|
+
@import "../../tokens/build/scss/tokens.scss";
|
|
96
|
+
@import "../mixins/svg-uri";
|
|
97
|
+
|
|
98
|
+
.ecs-legend-item{
|
|
99
|
+
color: $color-gray-15;
|
|
100
|
+
border-radius: $border-radius-small;
|
|
101
|
+
position: relative;
|
|
102
|
+
z-index: 1;
|
|
103
|
+
cursor: default;
|
|
104
|
+
|
|
105
|
+
&-sml{
|
|
106
|
+
font-size: $type-scale-2-font-size;
|
|
107
|
+
line-height: $type-scale-2-line-height;
|
|
108
|
+
padding: $spacing-5;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
&-md{
|
|
112
|
+
font-size: $type-scale-3-font-size;
|
|
113
|
+
line-height: $type-scale-3-line-height;
|
|
114
|
+
padding: $spacing-10;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
&-color{
|
|
118
|
+
&.fill{
|
|
119
|
+
width: $spacing-15;
|
|
120
|
+
height: $spacing-15;
|
|
121
|
+
border-radius: 100%;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
&.line{
|
|
125
|
+
width: $spacing-20;
|
|
126
|
+
height: 3px;
|
|
127
|
+
border-radius: 1px;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
&-label{
|
|
132
|
+
flex: 1;
|
|
133
|
+
overflow: hidden;
|
|
134
|
+
text-overflow: ellipsis;
|
|
135
|
+
white-space: nowrap;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
&-count{
|
|
139
|
+
font-weight: $font-weight-medium;
|
|
140
|
+
text-align: right;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
&-percentage{
|
|
144
|
+
color: $color-gray-10;
|
|
145
|
+
text-align: right;
|
|
146
|
+
min-width: 48px;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
&-highlight{
|
|
150
|
+
position: absolute;
|
|
151
|
+
inset: 0;
|
|
152
|
+
opacity: 0;
|
|
153
|
+
transform: scale(.6);
|
|
154
|
+
transition: opacity .1s ease-in-out, transform .3s cubic-bezier(0.3, 0.76, 0.27, 1);
|
|
155
|
+
border-radius: $border-radius-small;
|
|
156
|
+
z-index: -1;
|
|
157
|
+
pointer-events: none;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
&.hover{
|
|
161
|
+
cursor: pointer;
|
|
162
|
+
|
|
163
|
+
&:hover .ecs-legend-item-highlight{
|
|
164
|
+
opacity: .1;
|
|
165
|
+
transform: scale(1);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
&.highlighted{
|
|
170
|
+
.ecs-legend-item-highlight{
|
|
171
|
+
opacity: .1;
|
|
172
|
+
transform: scale(1);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
</style>
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<ecs-flex-row class="ecs-log-message" :class="[type, highlight ? 'highlighted' : '']" align="start" :style="padding">
|
|
3
|
+
<ecs-sticker v-if="type != 'blank'" :type="type" />
|
|
4
|
+
<div class="ecs-log-message-content">
|
|
5
|
+
<slot></slot>
|
|
6
|
+
</div>
|
|
7
|
+
<div v-if="meta" class="ecs-log-message-meta">
|
|
8
|
+
{{ meta }}
|
|
9
|
+
</div>
|
|
10
|
+
</ecs-flex-row>
|
|
11
|
+
</template>
|
|
12
|
+
|
|
13
|
+
<script>
|
|
14
|
+
import EcsFlexRow from '../flex/flex-row'
|
|
15
|
+
import EcsSticker from '../sticker/sticker'
|
|
16
|
+
|
|
17
|
+
export default {
|
|
18
|
+
components: {
|
|
19
|
+
EcsFlexRow, EcsSticker
|
|
20
|
+
},
|
|
21
|
+
|
|
22
|
+
props: {
|
|
23
|
+
/** Determines the type of log message, which also impacts the styling of it. */
|
|
24
|
+
type: {
|
|
25
|
+
type: String,
|
|
26
|
+
validator: v => ['blank', 'success', 'warning', 'info', 'error'].includes(v),
|
|
27
|
+
default: 'blank'
|
|
28
|
+
},
|
|
29
|
+
/** Adds a background color to highlight the line within the log. */
|
|
30
|
+
highlight: {
|
|
31
|
+
type: Boolean,
|
|
32
|
+
default: false
|
|
33
|
+
},
|
|
34
|
+
/** Meta text like (most usual) a timestamp, a username, etc. Appears as subtle gray text on the right side of the log message. */
|
|
35
|
+
meta: {
|
|
36
|
+
type: String
|
|
37
|
+
},
|
|
38
|
+
/** Allows to customize the left and right inner padding of the log message. */
|
|
39
|
+
verticalPadding: {
|
|
40
|
+
type: String,
|
|
41
|
+
default: '20px'
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
|
|
45
|
+
computed: {
|
|
46
|
+
padding() {
|
|
47
|
+
return 'padding-left: ' + this.verticalPadding + '; padding-right: ' + this.verticalPadding + ';'
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
</script>
|
|
52
|
+
|
|
53
|
+
<style lang="scss">
|
|
54
|
+
@import "../../tokens/build/scss/tokens.scss";
|
|
55
|
+
|
|
56
|
+
.ecs-log-message-content{
|
|
57
|
+
p, ol, ul, blockquote{
|
|
58
|
+
margin: $spacing-10 0;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
b, strong{
|
|
62
|
+
font-weight: $font-weight-medium;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
a{
|
|
66
|
+
font-weight: $font-weight-medium;
|
|
67
|
+
|
|
68
|
+
&:hover{
|
|
69
|
+
text-decoration: underline;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.highlighted.error > .ecs-log-message-content a{
|
|
75
|
+
color: $color-red-12;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.highlighted.info > .ecs-log-message-content a{
|
|
79
|
+
color: $color-blue-12;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.highlighted.warning > .ecs-log-message-content a{
|
|
83
|
+
color: $color-yellow-12;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.highlighted.success > .ecs-log-message-content a{
|
|
87
|
+
color: $color-green-12;
|
|
88
|
+
}
|
|
89
|
+
</style>
|
|
90
|
+
|
|
91
|
+
<style lang="scss" scoped>
|
|
92
|
+
@import "../../tokens/build/scss/tokens.scss";
|
|
93
|
+
@import "../mixins/svg-uri";
|
|
94
|
+
|
|
95
|
+
.ecs-log-message{
|
|
96
|
+
column-gap: $spacing-10;
|
|
97
|
+
padding-top: $spacing-10;
|
|
98
|
+
padding-bottom: $spacing-10;
|
|
99
|
+
color: $color-gray-15;
|
|
100
|
+
font-size: $type-scale-2-font-size;
|
|
101
|
+
line-height: $type-scale-2-line-height;
|
|
102
|
+
border-bottom: 1px solid $color-gray-1;
|
|
103
|
+
|
|
104
|
+
&-content{
|
|
105
|
+
flex: 1;
|
|
106
|
+
|
|
107
|
+
> :first-child{
|
|
108
|
+
margin-top: 0;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
> :last-child{
|
|
112
|
+
margin-bottom: 0;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
&-meta{
|
|
117
|
+
opacity: .5;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.info.highlighted{
|
|
122
|
+
background: $color-blue-1;
|
|
123
|
+
border-color: $color-blue-2;
|
|
124
|
+
color: $color-blue-15;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.warning.highlighted{
|
|
128
|
+
background: $color-yellow-1;
|
|
129
|
+
border-color: $color-yellow-2;
|
|
130
|
+
color: $color-yellow-15;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.error.highlighted{
|
|
134
|
+
background: $color-red-1;
|
|
135
|
+
border-color: $color-red-2;
|
|
136
|
+
color: $color-red-15;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.success.highlighted{
|
|
140
|
+
background: $color-green-1;
|
|
141
|
+
border-color: $color-green-2;
|
|
142
|
+
color: $color-green-15;
|
|
143
|
+
}
|
|
144
|
+
</style>
|