@everchron/ec-shards 1.0.2 → 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/dist/ec-shards.common.js +497 -201
- package/dist/ec-shards.common.js.map +1 -1
- package/dist/ec-shards.css +1 -1
- package/dist/ec-shards.umd.js +497 -201
- 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/dist/img/load-file-annotations.a86b6944.svg +1 -0
- package/dist/img/load-file-designation-report.43313733.svg +1 -0
- package/dist/img/load-file-designation.c1a22daa.svg +1 -0
- package/dist/img/load-file-zip.a8320034.svg +1 -0
- package/dist/img/overlay-files.7cb16b90.svg +1 -0
- package/dist/img/overlay-metadata.b1df7d12.svg +1 -0
- package/package.json +1 -1
- package/src/assets/images/.DS_Store +0 -0
- package/src/assets/images/selectable-tiles-illustrations/load-file-annotations.svg +1 -0
- package/src/assets/images/selectable-tiles-illustrations/load-file-designation-report.svg +1 -0
- package/src/assets/images/selectable-tiles-illustrations/load-file-designation.svg +1 -0
- package/src/assets/images/selectable-tiles-illustrations/load-file-zip.svg +1 -0
- package/src/assets/images/selectable-tiles-illustrations/overlay-files.svg +1 -0
- package/src/assets/images/selectable-tiles-illustrations/overlay-metadata.svg +1 -0
- package/src/components/button/button.vue +85 -10
- package/src/components/button-group/button-group.vue +14 -0
- package/src/components/citation-line/citation-line.vue +136 -0
- package/src/components/index.js +6 -0
- package/src/components/quicklink/quicklink.vue +6 -1
- package/src/components/select-tile/select-tile.vue +181 -0
- package/src/components/switch/switch.vue +6 -5
- package/src/components/tab-button/tab-button.vue +1 -1
- package/src/stories/Changelog.stories.mdx +26 -3
- package/src/stories/alert/alert.stories.js +1 -1
- package/src/stories/button/button.stories.js +52 -2
- package/src/stories/citation-line/citation-line.stories.js +32 -0
- package/src/stories/quicklink/quicklink.stories.js +1 -1
- package/src/stories/select-tile/select-tile.stories.js +23 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<ecs-flex-row class="ecs-citation-line">
|
|
3
|
+
<div class="ecs-citation-line-cite" :class="[state, editable ? 'editable' : '']"
|
|
4
|
+
ref="editable"
|
|
5
|
+
@keyup="onInput"
|
|
6
|
+
@blur="$emit('blur', $event)"
|
|
7
|
+
@focus="$emit('focus', $event)"
|
|
8
|
+
@keydown.enter.prevent
|
|
9
|
+
:contenteditable="editable">
|
|
10
|
+
</div>
|
|
11
|
+
<ecs-flex-row v-if="$slots.actions" justify="end" class="ecs-citation-line-actions">
|
|
12
|
+
<!-- @slot Slot for optional buttons or other controls that should appear next to the citation line. -->
|
|
13
|
+
<slot name="actions"></slot>
|
|
14
|
+
</ecs-flex-row>
|
|
15
|
+
</ecs-flex-row>
|
|
16
|
+
</template>
|
|
17
|
+
|
|
18
|
+
<script>
|
|
19
|
+
import EcsFlexRow from '../flex/flex-row'
|
|
20
|
+
|
|
21
|
+
export default {
|
|
22
|
+
components: { EcsFlexRow },
|
|
23
|
+
|
|
24
|
+
props: {
|
|
25
|
+
/** The citation range text. */
|
|
26
|
+
cite: {
|
|
27
|
+
type: String,
|
|
28
|
+
required: true
|
|
29
|
+
},
|
|
30
|
+
/** Unique citation ID */
|
|
31
|
+
id: {
|
|
32
|
+
type: [String, Number],
|
|
33
|
+
required: true
|
|
34
|
+
},
|
|
35
|
+
/** Determines the visual state of the citation line. */
|
|
36
|
+
state: {
|
|
37
|
+
type: String,
|
|
38
|
+
validator: v => ['default', 'error', 'warning', 'edited', 'skipped'].includes(v),
|
|
39
|
+
default: 'default'
|
|
40
|
+
},
|
|
41
|
+
/** Makes the content of the citation line editable. */
|
|
42
|
+
editable: {
|
|
43
|
+
type: Boolean,
|
|
44
|
+
default: true
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
|
|
48
|
+
data() {
|
|
49
|
+
return {
|
|
50
|
+
citeValue: this.cite
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
|
|
54
|
+
mounted() {
|
|
55
|
+
this.$refs.editable.innerText = this.citeValue
|
|
56
|
+
},
|
|
57
|
+
|
|
58
|
+
methods: {
|
|
59
|
+
onInput(e) {
|
|
60
|
+
this.citeValue = e.target.innerText
|
|
61
|
+
this.$emit('change', this.citeValue, this.id)
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
}
|
|
65
|
+
</script>
|
|
66
|
+
|
|
67
|
+
<style lang="scss" scoped>
|
|
68
|
+
@import "../../tokens/build/scss/tokens.scss";
|
|
69
|
+
@import "../mixins/svg-uri";
|
|
70
|
+
|
|
71
|
+
.ecs-citation-line{
|
|
72
|
+
margin-bottom: 2px;
|
|
73
|
+
|
|
74
|
+
&:last-child{
|
|
75
|
+
margin-bottom: 0;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
&-cite{
|
|
79
|
+
border-radius: $border-radius-small;
|
|
80
|
+
padding: 2px $spacing-10;
|
|
81
|
+
font-family: $font-family-monospace;
|
|
82
|
+
font-size: $type-scale-3-font-size - 1;
|
|
83
|
+
line-height: $type-scale-3-line-height;
|
|
84
|
+
color: $color-gray-15;
|
|
85
|
+
transition: .2s;
|
|
86
|
+
flex: 1;
|
|
87
|
+
flex-shrink: 0;
|
|
88
|
+
|
|
89
|
+
&.editable:hover,
|
|
90
|
+
&.editable:focus{
|
|
91
|
+
background: $color-gray-2;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
&.warning{
|
|
95
|
+
background: $color-yellow-2;
|
|
96
|
+
|
|
97
|
+
&.editable:hover,
|
|
98
|
+
&.editable:focus{
|
|
99
|
+
background: $color-yellow-3;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
&.error{
|
|
104
|
+
background: $color-red-2;
|
|
105
|
+
|
|
106
|
+
&.editable:hover,
|
|
107
|
+
&.editable:focus{
|
|
108
|
+
background: $color-red-3;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
&.edited{
|
|
113
|
+
background: $color-blue-2;
|
|
114
|
+
|
|
115
|
+
&.editable:hover,
|
|
116
|
+
&.editable:focus{
|
|
117
|
+
background: $color-blue-3;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
&.skipped{
|
|
122
|
+
background: $color-gray-2;
|
|
123
|
+
color: $color-gray-10;
|
|
124
|
+
|
|
125
|
+
&.editable:hover,
|
|
126
|
+
&.editable:focus{
|
|
127
|
+
background: $color-gray-3;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
&-actions{
|
|
133
|
+
margin-left: $spacing-10;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
</style>
|
package/src/components/index.js
CHANGED
|
@@ -10,6 +10,7 @@ import EcsBreadcrumb from "./breadcrumb/breadcrumb.vue"
|
|
|
10
10
|
import EcsBreadcrumbButton from "./breadcrumb-button/breadcrumb-button.vue"
|
|
11
11
|
import EcsBreadcrumbTitle from "./breadcrumb-title/breadcrumb-title.vue"
|
|
12
12
|
import EcsButton from "./button/button.vue"
|
|
13
|
+
import EcsButtonGroup from "./button-group/button-group.vue"
|
|
13
14
|
import EcsButtonCollapse from "./button-collapse/button-collapse.vue"
|
|
14
15
|
import EcsButtonContext from "./button-context/button-context.vue"
|
|
15
16
|
import EcsButtonContextGroup from "./button-context-group/button-context-group.vue"
|
|
@@ -20,6 +21,7 @@ import EcsButtonToolbar from "./button-toolbar/button-toolbar.vue"
|
|
|
20
21
|
import EcsButtonToolbarGroup from "./button-toolbar-group/button-toolbar-group.vue"
|
|
21
22
|
import EcsButtonToolbarIcon from "./button-toolbar-icon/button-toolbar-icon.vue"
|
|
22
23
|
import EcsCard from "./card/card.vue"
|
|
24
|
+
import EcsCitationLine from "./citation-line/citation-line.vue"
|
|
23
25
|
import EcsCheckbox from "./checkbox/checkbox.vue"
|
|
24
26
|
import EcsCollapse from "./collapse/collapse.vue"
|
|
25
27
|
import EcsCollectionControl from "./collection-control/collection-control.vue"
|
|
@@ -91,6 +93,7 @@ import EcsScrollContainer from "./scroll-container/scroll-container.vue"
|
|
|
91
93
|
import EcsSection from "./section/section.vue"
|
|
92
94
|
import EcsSegment from "./segment/segment.vue"
|
|
93
95
|
import EcsSelect from "./select/select.vue"
|
|
96
|
+
import EcsSelectTile from "./select-tile/select-tile.vue"
|
|
94
97
|
import EcsSequenceMap from "./sequence-map/sequence-map.vue"
|
|
95
98
|
import EcsSequenceMapButton from "./sequence-map-button/sequence-map-button.vue"
|
|
96
99
|
import EcsSidebar from "./sidebar/sidebar.vue"
|
|
@@ -128,6 +131,7 @@ const Components = {
|
|
|
128
131
|
EcsBreadcrumbButton,
|
|
129
132
|
EcsBreadcrumbTitle,
|
|
130
133
|
EcsButton,
|
|
134
|
+
EcsButtonGroup,
|
|
131
135
|
EcsButtonCollapse,
|
|
132
136
|
EcsButtonContext,
|
|
133
137
|
EcsButtonContextGroup,
|
|
@@ -139,6 +143,7 @@ const Components = {
|
|
|
139
143
|
EcsButtonToolbarIcon,
|
|
140
144
|
EcsCheckbox,
|
|
141
145
|
EcsCard,
|
|
146
|
+
EcsCitationLine,
|
|
142
147
|
EcsCollapse,
|
|
143
148
|
EcsCollectionControl,
|
|
144
149
|
EcsComment,
|
|
@@ -209,6 +214,7 @@ const Components = {
|
|
|
209
214
|
EcsSection,
|
|
210
215
|
EcsSegment,
|
|
211
216
|
EcsSelect,
|
|
217
|
+
EcsSelectTile,
|
|
212
218
|
EcsSequenceMap,
|
|
213
219
|
EcsSequenceMapButton,
|
|
214
220
|
EcsSidebar,
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
</template>
|
|
25
25
|
|
|
26
26
|
<template v-else-if="type === 'switch'">
|
|
27
|
-
<ecs-switch @input="$emit('toggle', $event)" size="sml">{{label}}</ecs-switch>
|
|
27
|
+
<ecs-switch @input="$emit('toggle', $event)" :value="valueToggle" :disabled="value == false" size="sml">{{label}}</ecs-switch>
|
|
28
28
|
</template>
|
|
29
29
|
|
|
30
30
|
<template v-else>
|
|
@@ -86,6 +86,11 @@
|
|
|
86
86
|
required: false,
|
|
87
87
|
type: [Date, Number, String, Boolean]
|
|
88
88
|
},
|
|
89
|
+
valueToggle: {
|
|
90
|
+
default: false,
|
|
91
|
+
required: false,
|
|
92
|
+
type: [Date, Number, String, Boolean]
|
|
93
|
+
},
|
|
89
94
|
disabled: {
|
|
90
95
|
type: Boolean,
|
|
91
96
|
default: false
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div @click="$emit('click', $event)" class="ecs-select-tile"
|
|
3
|
+
:class="[selected ? 'ecs-select-tile-selected' : '', disabled ? 'ecs-select-tile-disabled' : '']">
|
|
4
|
+
|
|
5
|
+
<div class="select-check" />
|
|
6
|
+
<div v-if="illustration" class="illustration" :class="illustration" />
|
|
7
|
+
<div v-if="label" class="label">{{ label }}</div>
|
|
8
|
+
<div v-if="helpText" class="help">{{ helpText }}</div>
|
|
9
|
+
</div>
|
|
10
|
+
</template>
|
|
11
|
+
|
|
12
|
+
<script>
|
|
13
|
+
export default {
|
|
14
|
+
props: {
|
|
15
|
+
/** The main label for the tile. */
|
|
16
|
+
label: {
|
|
17
|
+
type: String,
|
|
18
|
+
required: true
|
|
19
|
+
},
|
|
20
|
+
/** Additional line of text underneath the label, which can be used to add further explanations and infos. */
|
|
21
|
+
helpText: {
|
|
22
|
+
type: String
|
|
23
|
+
},
|
|
24
|
+
/** The type of illustration that should be shown within the tile. */
|
|
25
|
+
illustration: {
|
|
26
|
+
type: String,
|
|
27
|
+
validator: v => [
|
|
28
|
+
'load-file-annotations',
|
|
29
|
+
'load-file-designation-report',
|
|
30
|
+
'load-file-designation',
|
|
31
|
+
'load-file-zip',
|
|
32
|
+
'overlay-files',
|
|
33
|
+
'overlay-metadata',
|
|
34
|
+
null
|
|
35
|
+
].includes(v),
|
|
36
|
+
},
|
|
37
|
+
/** Determines the selection state of the tile. */
|
|
38
|
+
selected: {
|
|
39
|
+
type: Boolean,
|
|
40
|
+
default: false
|
|
41
|
+
},
|
|
42
|
+
/** Disables the tile. */
|
|
43
|
+
disabled: {
|
|
44
|
+
type: Boolean,
|
|
45
|
+
default: false
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
</script>
|
|
50
|
+
|
|
51
|
+
<style lang="scss" scoped>
|
|
52
|
+
@import "../../tokens/build/scss/tokens.scss";
|
|
53
|
+
@import "../mixins/svg-uri";
|
|
54
|
+
|
|
55
|
+
.ecs-select-tile{
|
|
56
|
+
display: flex;
|
|
57
|
+
flex-direction: column;
|
|
58
|
+
justify-content: center;
|
|
59
|
+
align-items: center;
|
|
60
|
+
padding: 32px 24px;
|
|
61
|
+
min-width: 240px;
|
|
62
|
+
background: #FFFFFF;
|
|
63
|
+
box-shadow: 0px 0px 0px 1px rgba(71, 75, 96, 0.05), 0px 1px 4px rgba(71, 75, 96, 0.1);
|
|
64
|
+
border-radius: 8px;
|
|
65
|
+
border: 1px solid #FFF;
|
|
66
|
+
cursor: pointer;
|
|
67
|
+
text-align: center;
|
|
68
|
+
transition: .2s;
|
|
69
|
+
position: relative;
|
|
70
|
+
|
|
71
|
+
&:hover{
|
|
72
|
+
box-shadow: 0px 0px 0px 1px rgba(71, 75, 96, 0.05), 0px 2px 4px rgba(71, 75, 96, 0.15);
|
|
73
|
+
transform: translateY(-4px);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.label{
|
|
77
|
+
font-weight: 500;
|
|
78
|
+
font-size: 14px;
|
|
79
|
+
line-height: 20px;
|
|
80
|
+
color: #202127;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.help{
|
|
84
|
+
font-size: 12px;
|
|
85
|
+
line-height: 16px;
|
|
86
|
+
color: #75798F;
|
|
87
|
+
margin-top: 8px;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.select-check{
|
|
91
|
+
background: #0B71EB;
|
|
92
|
+
border-radius: 100%;
|
|
93
|
+
position: absolute;
|
|
94
|
+
opacity: 0;
|
|
95
|
+
transition: .2s;
|
|
96
|
+
top: 8px;
|
|
97
|
+
left: 8px;
|
|
98
|
+
width: 18px;
|
|
99
|
+
height: 18px;
|
|
100
|
+
display: flex;
|
|
101
|
+
align-items: center;
|
|
102
|
+
justify-content: center;
|
|
103
|
+
|
|
104
|
+
&:before{
|
|
105
|
+
opacity: 0;
|
|
106
|
+
transform: rotate(-15deg) scale(.7);
|
|
107
|
+
transition: .4s;
|
|
108
|
+
width: 8px;
|
|
109
|
+
height: 8px;
|
|
110
|
+
content: "";
|
|
111
|
+
background-image: svg-uri('<svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 4.259L3.347 6.998L7 1" stroke="white" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/></svg>');
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
&-selected{
|
|
116
|
+
background: #F4F9FF;
|
|
117
|
+
border: 1px solid #A7CFFF;
|
|
118
|
+
box-shadow: none;
|
|
119
|
+
|
|
120
|
+
.select-check{
|
|
121
|
+
opacity: 1;
|
|
122
|
+
|
|
123
|
+
&:before{
|
|
124
|
+
opacity: 1;
|
|
125
|
+
transform: rotate(0) scale(1);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
&:hover{
|
|
130
|
+
box-shadow: none;
|
|
131
|
+
transform: translateY(0);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
&-disabled{
|
|
136
|
+
background: #F9FAFC;
|
|
137
|
+
border: 1px solid #ECEDF2;
|
|
138
|
+
box-shadow: none;
|
|
139
|
+
pointer-events: none;
|
|
140
|
+
|
|
141
|
+
.label{
|
|
142
|
+
color: #65687A;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.help{
|
|
146
|
+
color: #929AA9;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.illustration{
|
|
152
|
+
width: 140px;
|
|
153
|
+
height: 140px;
|
|
154
|
+
background-position: center center;
|
|
155
|
+
margin-bottom: 16px;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.load-file-annotations{
|
|
159
|
+
background: url('../../assets/images/selectable-tiles-illustrations/load-file-annotations.svg');
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.load-file-designation-report{
|
|
163
|
+
background: url('../../assets/images/selectable-tiles-illustrations/load-file-designation-report.svg');
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.load-file-designation{
|
|
167
|
+
background: url('../../assets/images/selectable-tiles-illustrations/load-file-designation.svg');
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.load-file-zip{
|
|
171
|
+
background: url('../../assets/images/selectable-tiles-illustrations/load-file-zip.svg');
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.overlay-files{
|
|
175
|
+
background: url('../../assets/images/selectable-tiles-illustrations/overlay-files.svg');
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
.overlay-metadata{
|
|
179
|
+
background: url('../../assets/images/selectable-tiles-illustrations/overlay-metadata.svg');
|
|
180
|
+
}
|
|
181
|
+
</style>
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="ecs-switch-wrapper"
|
|
2
|
+
<div class="ecs-switch-wrapper">
|
|
3
3
|
<label class="ecs-switch"
|
|
4
4
|
:class="[
|
|
5
5
|
sizeClass,
|
|
6
|
-
hasDefaultSlot ? `ecs-switch-has-label` : ''
|
|
6
|
+
hasDefaultSlot ? `ecs-switch-has-label` : '',
|
|
7
|
+
disabled ? `disabled` : ''
|
|
7
8
|
]">
|
|
8
9
|
<input
|
|
9
10
|
type="checkbox"
|
|
@@ -140,10 +141,10 @@
|
|
|
140
141
|
&-wrapper{
|
|
141
142
|
display: flex;
|
|
142
143
|
align-items: center;
|
|
144
|
+
}
|
|
143
145
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
}
|
|
146
|
+
&.disabled{
|
|
147
|
+
opacity: .5;
|
|
147
148
|
}
|
|
148
149
|
|
|
149
150
|
input[type=checkbox] {
|
|
@@ -6,7 +6,30 @@ import { Meta } from '@storybook/addon-docs/blocks';
|
|
|
6
6
|
Changelog
|
|
7
7
|
</h1>
|
|
8
8
|
|
|
9
|
-
## Version 1.0
|
|
9
|
+
## Version 1.2.0 (24 August 2022)
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
- Added new EcsCitationLine component.
|
|
14
|
+
|
|
15
|
+
## Version 1.1.0 (23 August 2022)
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
- Added new EcsSelectTile component.
|
|
20
|
+
|
|
21
|
+
## Version 1.0.3 (21 August 2022)
|
|
22
|
+
|
|
23
|
+
### Features
|
|
24
|
+
|
|
25
|
+
- Added new `addon` prop for EcsButton, which renders a small dropdown addition.
|
|
26
|
+
- Added new EcsButtonGroup component to create groups of regular Buttons, as well as dropdown addons.
|
|
27
|
+
|
|
28
|
+
### Fixes
|
|
29
|
+
|
|
30
|
+
- Fixed positioning of stickers on column EcsTabButton variant
|
|
31
|
+
|
|
32
|
+
## Version 1.0.2 (16 August 2022)
|
|
10
33
|
|
|
11
34
|
### Fixes
|
|
12
35
|
|
|
@@ -14,13 +37,13 @@ import { Meta } from '@storybook/addon-docs/blocks';
|
|
|
14
37
|
- Replaced old add icon with new add icon
|
|
15
38
|
- EcsButton type `create` icons are now white instead of dark green
|
|
16
39
|
|
|
17
|
-
## Version 1.0.1 (
|
|
40
|
+
## Version 1.0.1 (19 August 2022)
|
|
18
41
|
|
|
19
42
|
### Fixes
|
|
20
43
|
|
|
21
44
|
- Changed standard EcsTabButton font scale to 3.
|
|
22
45
|
|
|
23
|
-
## Version 1.0.0 (
|
|
46
|
+
## Version 1.0.0 (16 August 2022)
|
|
24
47
|
|
|
25
48
|
### Features
|
|
26
49
|
|
|
@@ -28,7 +28,7 @@ export const headline = () => ({
|
|
|
28
28
|
|
|
29
29
|
export const actions = () => ({
|
|
30
30
|
components: { EcsAlert },
|
|
31
|
-
template: `<ecs-alert type="warning" dismissable action="Review" @action="">
|
|
31
|
+
template: `<ecs-alert type="warning" dismissable action-label="Review" @action="">
|
|
32
32
|
<p>This is a warning alert with a primary action — check it out!</p>
|
|
33
33
|
<ul>
|
|
34
34
|
<li>This is the first bullet point</li>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import EcsButton from '@components/button/button';
|
|
2
|
+
import EcsButtonGroup from '@components/button-group/button-group';
|
|
2
3
|
import { action } from '@storybook/addon-actions';
|
|
3
4
|
|
|
4
5
|
export default {
|
|
@@ -33,13 +34,31 @@ export const sizes = () => ({
|
|
|
33
34
|
export const withIcon = () => ({
|
|
34
35
|
components: { EcsButton },
|
|
35
36
|
methods: { action: action('clicked') },
|
|
36
|
-
template: `<
|
|
37
|
+
template: `<main>
|
|
38
|
+
<ecs-button @click="action" icon="add-plus" type="primary">Create</ecs-button>
|
|
39
|
+
<ecs-button @click="action" icon="add-plus" type="secondary">Create</ecs-button>
|
|
40
|
+
<ecs-button @click="action" icon="add-plus" type="danger">Create</ecs-button>
|
|
41
|
+
<ecs-button @click="action" icon="add-plus" type="danger-vibrant">Create</ecs-button>
|
|
42
|
+
<ecs-button @click="action" icon="add-plus" type="warning">Create</ecs-button>
|
|
43
|
+
<ecs-button @click="action" icon="add-plus" type="create">Create</ecs-button>
|
|
44
|
+
<ecs-button @click="action" icon="add-plus" type="vibrant">Create</ecs-button>
|
|
45
|
+
</main>`,
|
|
37
46
|
});
|
|
38
47
|
|
|
39
48
|
export const iconOnly = () => ({
|
|
40
49
|
components: { EcsButton },
|
|
41
50
|
methods: { action: action('clicked') },
|
|
42
|
-
template:
|
|
51
|
+
template: `
|
|
52
|
+
<main>
|
|
53
|
+
<ecs-button @click="action" icon-only icon="add-plus" type="primary"></ecs-button>
|
|
54
|
+
<ecs-button @click="action" icon-only icon="add-plus" type="secondary"></ecs-button>
|
|
55
|
+
<ecs-button @click="action" icon-only icon="add-plus" type="danger"></ecs-button>
|
|
56
|
+
<ecs-button @click="action" icon-only icon="add-plus" type="danger-vibrant"></ecs-button>
|
|
57
|
+
<ecs-button @click="action" icon-only icon="add-plus" type="warning"></ecs-button>
|
|
58
|
+
<ecs-button @click="action" icon-only icon="add-plus" type="create"></ecs-button>
|
|
59
|
+
<ecs-button @click="action" icon-only icon="add-plus" type="vibrant"></ecs-button>
|
|
60
|
+
</main>
|
|
61
|
+
`,
|
|
43
62
|
});
|
|
44
63
|
|
|
45
64
|
export const active = () => ({
|
|
@@ -58,3 +77,34 @@ export const fullWidth = () => ({
|
|
|
58
77
|
methods: { action: action('clicked') },
|
|
59
78
|
template: `<ecs-button @click="action" full-width type="vibrant">Block button</ecs-button>`,
|
|
60
79
|
});
|
|
80
|
+
|
|
81
|
+
export const grouped = () => ({
|
|
82
|
+
components: { EcsButton, EcsButtonGroup },
|
|
83
|
+
methods: { action: action('clicked') },
|
|
84
|
+
template: `<ecs-button-group>
|
|
85
|
+
<ecs-button @click="action" type="create">First</ecs-button>
|
|
86
|
+
<ecs-button @click="action" type="create">Middle</ecs-button>
|
|
87
|
+
<ecs-button @click="action" type="create">Last</ecs-button>
|
|
88
|
+
</ecs-button-group>`,
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
export const addons = () => ({
|
|
92
|
+
components: { EcsButton, EcsButtonGroup },
|
|
93
|
+
methods: { action: action('clicked') },
|
|
94
|
+
template: `
|
|
95
|
+
<main>
|
|
96
|
+
<ecs-button-group>
|
|
97
|
+
<ecs-button @click="action" type="create" size="sml">Small</ecs-button>
|
|
98
|
+
<ecs-button @click="action" type="create" size="sml" addon />
|
|
99
|
+
</ecs-button-group>
|
|
100
|
+
<ecs-button-group>
|
|
101
|
+
<ecs-button @click="action" type="create">Medium</ecs-button>
|
|
102
|
+
<ecs-button @click="action" type="create" addon />
|
|
103
|
+
</ecs-button-group>
|
|
104
|
+
<ecs-button-group>
|
|
105
|
+
<ecs-button @click="action" type="create" size="lg">Large</ecs-button>
|
|
106
|
+
<ecs-button @click="action" type="create" size="lg" addon />
|
|
107
|
+
</ecs-button-group>
|
|
108
|
+
</main>
|
|
109
|
+
`,
|
|
110
|
+
});
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import EcsCitationLine from '@components/citation-line/citation-line';
|
|
2
|
+
import EcsButton from '@components/button/button';
|
|
3
|
+
|
|
4
|
+
export default {
|
|
5
|
+
title: 'Input/Citation Line',
|
|
6
|
+
component: EcsCitationLine
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export const citationLine = () => ({
|
|
10
|
+
components: { EcsCitationLine },
|
|
11
|
+
template: `<ecs-citation-line cite="1:10 - 1:14" :id="1" state="warning"></ecs-citation-line>`,
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
export const citationLineStates = () => ({
|
|
15
|
+
components: { EcsCitationLine },
|
|
16
|
+
template: `<div>
|
|
17
|
+
<ecs-citation-line cite="1:10 - 1:14" :id="1" state="default"></ecs-citation-line>
|
|
18
|
+
<ecs-citation-line cite="1:10 - 1:14" :id="1" state="warning"></ecs-citation-line>
|
|
19
|
+
<ecs-citation-line cite="1:10 - 1:14" :id="1" state="error"></ecs-citation-line>
|
|
20
|
+
<ecs-citation-line cite="1:10 - 1:14" :id="1" state="edited"></ecs-citation-line>
|
|
21
|
+
<ecs-citation-line cite="1:10 - 1:14" :id="1" state="skipped"></ecs-citation-line>
|
|
22
|
+
</div>`,
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
export const citationLineActions = () => ({
|
|
26
|
+
components: { EcsCitationLine, EcsButton },
|
|
27
|
+
template: `<ecs-citation-line cite="1:10 - 1:14" :id="1" state="warning">
|
|
28
|
+
<template slot="actions">
|
|
29
|
+
<ecs-button size="sml" icon="warning" icon-only type="warning" />
|
|
30
|
+
</template>
|
|
31
|
+
</ecs-citation-line>`,
|
|
32
|
+
});
|
|
@@ -27,5 +27,5 @@ export const quicklinkFavorability = () => ({
|
|
|
27
27
|
|
|
28
28
|
export const quicklinkThreeWaySwitch = () => ({
|
|
29
29
|
components: { EcsQuicklink },
|
|
30
|
-
template: `<ecs-quicklink type="switch" label="Filter" :count="12" />`,
|
|
30
|
+
template: `<ecs-quicklink type="switch" label="Filter" :value="true" :valueToggle="true" :count="12" />`,
|
|
31
31
|
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import EcsSelectTile from '@components/select-tile/select-tile';
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Input/Select Tile',
|
|
5
|
+
component: EcsSelectTile
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export const selectTile = () => ({
|
|
9
|
+
components: { EcsSelectTile },
|
|
10
|
+
data() {
|
|
11
|
+
return {
|
|
12
|
+
selectedTile: null
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
template: `
|
|
16
|
+
<main>
|
|
17
|
+
<ecs-select-tile @click="selectedTile = 1" :selected="selectedTile == 1" label="Designation Load File Import" help-text="CSV or XLS Load File" illustration="load-file-designation" />
|
|
18
|
+
<ecs-select-tile @click="selectedTile = 2" :selected="selectedTile == 2" label="Designation Report Import" help-text="XLS Report" illustration="load-file-designation-report" />
|
|
19
|
+
<ecs-select-tile @click="selectedTile = 3" disabled :selected="selectedTile == 3" label="Designation Report Import" help-text="XLS Report" illustration="load-file-designation-report" />
|
|
20
|
+
</main>
|
|
21
|
+
`,
|
|
22
|
+
});
|
|
23
|
+
|