@everchron/ec-shards 3.1.4 → 3.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 +1587 -1592
- package/dist/ec-shards.common.js.map +1 -1
- package/dist/ec-shards.css +1 -1
- package/dist/ec-shards.umd.js +1587 -1592
- 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 +1 -1
- package/src/components/alert/alert.vue +2 -2
- package/src/components/breadcrumb-button/breadcrumb-button.vue +2 -2
- package/src/components/button/button.vue +2 -2
- package/src/components/button-context/button-context.vue +1 -1
- package/src/components/button-more/button-more.vue +1 -1
- package/src/components/button-table/button-table.vue +1 -1
- package/src/components/button-toolbar/button-toolbar.vue +4 -4
- package/src/components/button-toolbar-icon/button-toolbar-icon.vue +1 -1
- package/src/components/collection-control/collection-control.vue +1 -1
- package/src/components/data-card/data-card.vue +1 -1
- package/src/components/dialog/dialog.vue +24 -16
- package/src/components/document-state/document-state.vue +1 -1
- package/src/components/empty-state/empty-state.vue +1 -1
- package/src/components/excerpt-snippet/excerpt-snippet.vue +1 -1
- package/src/components/info-tooltip/info-tooltip.vue +1 -1
- package/src/components/input-addon/input-addon.vue +1 -1
- package/src/components/input-clear/input-clear.vue +1 -1
- package/src/components/input-search/input-search.vue +1 -1
- package/src/components/multiselect-option/multiselect-option.vue +1 -1
- package/src/components/multiselect-search-token/multiselect-search-token.vue +2 -2
- package/src/components/multiselect-token/multiselect-token.vue +1 -1
- package/src/components/overlay/overlay.vue +1 -1
- package/src/components/pagination/pagination.vue +138 -105
- package/src/components/party-entry/party-entry.vue +2 -2
- package/src/components/popover-header/popover-header.vue +1 -1
- package/src/components/segment/segment.vue +1 -1
- package/src/components/sequence-map-button/sequence-map-button.vue +1 -1
- package/src/components/tab-button/tab-button.vue +16 -5
- package/src/components/transcript-state/transcript-state.vue +1 -1
- package/src/components/tree-list-item/tree-list-item.vue +1 -1
- package/src/stories/Changelog.stories.mdx +19 -0
- package/src/stories/pagination/pagination.stories.js +0 -15
- package/src/components/tiptap/tiptap.vue +0 -246
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div v-if="show" class="ecs-alert" :class="[typeClass, dismissable ? 'ecs-alert-dismissable' : '', inset ? 'ecs-alert-inset' : '']">
|
|
3
3
|
<button v-if="dismissable" @click="dismiss" class="close">
|
|
4
|
-
<ecs-icon type="close"
|
|
4
|
+
<ecs-icon type="close" size="20" />
|
|
5
5
|
</button>
|
|
6
6
|
<div class="ecs-alert-inner">
|
|
7
7
|
<h4 v-if="headline" class="ecs-alert-headline">
|
|
8
|
-
<ecs-icon v-if="icon" :type="icon"
|
|
8
|
+
<ecs-icon v-if="icon" :type="icon" size="20" />
|
|
9
9
|
{{ headline }}
|
|
10
10
|
</h4>
|
|
11
11
|
<div v-if="$slots.default" class="ecs-alert-content">
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
typeClass
|
|
8
8
|
]"
|
|
9
9
|
>
|
|
10
|
-
<ecs-icon v-if="icon" :type="icon"
|
|
11
|
-
<ecs-icon v-if="type == 'more'" type="more"
|
|
10
|
+
<ecs-icon v-if="icon" :type="icon" size="20" />
|
|
11
|
+
<ecs-icon v-if="type == 'more'" type="more" size="20" />
|
|
12
12
|
<span v-if="type != 'more'">
|
|
13
13
|
<slot></slot>
|
|
14
14
|
</span>
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
@mouseover="$emit('mouseover', $event)"
|
|
14
14
|
@mouseleave="$emit('mouseleave', $event)">
|
|
15
15
|
|
|
16
|
-
<ecs-icon v-if="icon || loading" :type="iconType" :
|
|
16
|
+
<ecs-icon v-if="icon || loading" :type="iconType" :size="iconSize" />
|
|
17
17
|
<slot></slot>
|
|
18
18
|
</a>
|
|
19
19
|
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
@mouseover="$emit('mouseover', $event)"
|
|
32
32
|
@mouseleave="$emit('mouseleave', $event)">
|
|
33
33
|
|
|
34
|
-
<ecs-icon v-if="icon || loading" :type="iconType" :
|
|
34
|
+
<ecs-icon v-if="icon || loading" :type="iconType" :size="iconSize" />
|
|
35
35
|
<slot></slot>
|
|
36
36
|
</button>
|
|
37
37
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
:style="selectedColorText"
|
|
6
6
|
@click="$emit('click', $event)">
|
|
7
7
|
|
|
8
|
-
<ecs-icon v-if="icon || loading" :type="iconType"
|
|
8
|
+
<ecs-icon v-if="icon || loading" :type="iconType" size="20" />
|
|
9
9
|
<div v-if="selectedColor" class="ecs-context-button-color" :style="selectedColorBackground" />
|
|
10
10
|
<slot></slot>
|
|
11
11
|
</button>
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
@mouseover="$emit('mouseover', $event)"
|
|
16
16
|
@mouseleave="$emit('mouseleave', $event)">
|
|
17
17
|
|
|
18
|
-
<ecs-icon v-if="icon || loading" :type="iconType" :
|
|
18
|
+
<ecs-icon v-if="icon || loading" :type="iconType" :size="iconSize" />
|
|
19
19
|
<div v-if="label != null" class="button-label">{{ label }}</div>
|
|
20
20
|
<div v-if="chevron" class="chevron" :class="active ? 'expand' : ''" />
|
|
21
21
|
</button>
|
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
dropdownClass]"
|
|
10
10
|
@click="$emit('click', $event)">
|
|
11
11
|
|
|
12
|
-
<ecs-icon v-if="(icon && iconPosition == 'left') || (loading && iconPosition == 'left')" :
|
|
12
|
+
<ecs-icon v-if="(icon && iconPosition == 'left') || (loading && iconPosition == 'left')" :size="iconSize" :color="iconTint" :type="iconType" :spinning="loading" />
|
|
13
13
|
<slot></slot>
|
|
14
14
|
<span class="badge" v-if="badge" :style="{ background: badgeColor }"></span>
|
|
15
|
-
<ecs-icon v-if="(icon && iconPosition == 'right') || (loading && iconPosition == 'right')" :
|
|
15
|
+
<ecs-icon v-if="(icon && iconPosition == 'right') || (loading && iconPosition == 'right')" :size="iconSize" :color="iconTint" :type="iconType" :spinning="loading" />
|
|
16
16
|
</a>
|
|
17
17
|
|
|
18
18
|
<button v-else class="ecs-toolbar-button"
|
|
@@ -25,10 +25,10 @@
|
|
|
25
25
|
dropdownClass]"
|
|
26
26
|
@click="$emit('click', $event)">
|
|
27
27
|
|
|
28
|
-
<ecs-icon v-if="(icon && iconPosition == 'left') || (loading && iconPosition == 'left')" :
|
|
28
|
+
<ecs-icon v-if="(icon && iconPosition == 'left') || (loading && iconPosition == 'left')" :size="iconSize" :color="iconTint" :type="iconType" :spinning="loading" />
|
|
29
29
|
<slot></slot>
|
|
30
30
|
<span class="badge" v-if="badge" :style="{ background: badgeColor }"></span>
|
|
31
|
-
<ecs-icon v-if="(icon && iconPosition == 'right') || (loading && iconPosition == 'right')" :
|
|
31
|
+
<ecs-icon v-if="(icon && iconPosition == 'right') || (loading && iconPosition == 'right')" :size="iconSize" :color="iconTint" :type="iconType" :spinning="loading" />
|
|
32
32
|
</button>
|
|
33
33
|
</template>
|
|
34
34
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
isVisible || nonInteractive ? '' : 'collapsed',
|
|
9
9
|
nonInteractive ? '' : 'interactive',
|
|
10
10
|
]">
|
|
11
|
-
<ecs-icon v-if="icon" :type="icon" color="#858E9E" :
|
|
11
|
+
<ecs-icon v-if="icon" :type="icon" color="#858E9E" :size="iconSize" />
|
|
12
12
|
<div class="description" v-if="label">{{ label }}</div>
|
|
13
13
|
<div class="collection"
|
|
14
14
|
@mouseover="toggleTooltip"
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
<slot name="control"></slot>
|
|
16
16
|
</div>
|
|
17
17
|
|
|
18
|
-
<ecs-icon v-if="icon" :type="icon" :color="iconColor" :spinning="spinning"
|
|
18
|
+
<ecs-icon v-if="icon" :type="icon" :color="iconColor" :spinning="spinning" size="26" />
|
|
19
19
|
<ecs-skeleton-loader v-if="icon && loading" type="rect" :width="26" :height="26" />
|
|
20
20
|
|
|
21
21
|
<div class="ecs-data-card-inner">
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
2
|
+
<dialog v-if="lazyLoad" ref="dialog" :class="[large ? 'ecs-dialog-large' : '']" class="ecs-dialog">
|
|
3
|
+
<div class="ecs-dialog-body">
|
|
4
|
+
<slot></slot>
|
|
5
|
+
</div>
|
|
6
|
+
|
|
7
|
+
<div v-if="$slots.actions" class="ecs-dialog-footer" :class="[stackedFooter ? 'ecs-dialog-footer-stacked' : '']">
|
|
8
|
+
<!-- @slot Slot for the dialog footer buttons. Should only contain EcsButtonDialog components. -->
|
|
9
|
+
<slot name="actions"></slot>
|
|
10
|
+
</div>
|
|
11
|
+
</dialog>
|
|
12
12
|
</template>
|
|
13
13
|
|
|
14
14
|
<script>
|
|
@@ -33,7 +33,8 @@
|
|
|
33
33
|
|
|
34
34
|
data () {
|
|
35
35
|
return {
|
|
36
|
-
isShown: this.show
|
|
36
|
+
isShown: this.show,
|
|
37
|
+
lazyLoad: false
|
|
37
38
|
}
|
|
38
39
|
},
|
|
39
40
|
|
|
@@ -49,10 +50,17 @@
|
|
|
49
50
|
show(){
|
|
50
51
|
this.isShown = this.show
|
|
51
52
|
|
|
52
|
-
if(this.isShown)
|
|
53
|
-
this
|
|
54
|
-
|
|
53
|
+
if(this.isShown){
|
|
54
|
+
this.lazyLoad = true
|
|
55
|
+
this.$nextTick(() => {
|
|
56
|
+
this.$refs.dialog.showModal()
|
|
57
|
+
})
|
|
58
|
+
} else {
|
|
55
59
|
this.$refs.dialog.close()
|
|
60
|
+
this.$nextTick(() => {
|
|
61
|
+
this.lazyLoad = false
|
|
62
|
+
})
|
|
63
|
+
}
|
|
56
64
|
}
|
|
57
65
|
},
|
|
58
66
|
|
|
@@ -80,8 +88,8 @@
|
|
|
80
88
|
display: flex;
|
|
81
89
|
flex-direction: column;
|
|
82
90
|
margin: auto;
|
|
83
|
-
margin-bottom: auto;
|
|
84
|
-
margin-top: auto;
|
|
91
|
+
margin-bottom: auto !important;
|
|
92
|
+
margin-top: auto !important;
|
|
85
93
|
border: none;
|
|
86
94
|
padding: 0;
|
|
87
95
|
overflow: visible;
|
|
@@ -5,7 +5,7 @@
|
|
|
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"
|
|
8
|
+
<ecs-icon type="loading" size="18" color="#202127" />
|
|
9
9
|
</span>
|
|
10
10
|
</div>
|
|
11
11
|
</template>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="ecs-empty-state">
|
|
3
|
-
<ecs-icon v-if="type!='loading'" :type="type" :color="iconColor" :
|
|
3
|
+
<ecs-icon v-if="type!='loading'" :type="type" :color="iconColor" :size="iconSize" />
|
|
4
4
|
<div v-else class="ecs-empty-state-loading" />
|
|
5
5
|
<div v-if="type!='loading'" class="ecs-empty-state-message" :class="size">
|
|
6
6
|
<slot></slot>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<div class="ecs-excerpt-title">
|
|
4
4
|
<div class="ecs-excerpt-title-headline">
|
|
5
5
|
<ecs-skeleton-loader v-if="icon && loading" type="rect" :width="20" :height="20" />
|
|
6
|
-
<ecs-icon v-if="icon && !loading" :type="icon"
|
|
6
|
+
<ecs-icon v-if="icon && !loading" :type="icon" size="20" />
|
|
7
7
|
<ecs-skeleton-loader v-if="loading" type="single" :width="20" />
|
|
8
8
|
<span v-else>{{ headline }}</span>
|
|
9
9
|
</div>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="ecs-input-clear">
|
|
3
3
|
<button @click="$emit('click', $event)" :title="tooltip" class="ecs-input-clear-button" />
|
|
4
|
-
<ecs-icon v-if="loading" type="loading"
|
|
4
|
+
<ecs-icon v-if="loading" type="loading" size="32" spinning color="#AEB1B9" />
|
|
5
5
|
</div>
|
|
6
6
|
</template>
|
|
7
7
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="ecs-search-group" :class="groupSizeClass">
|
|
3
|
-
<ecs-icon type="search" color="#B9BCC2" :
|
|
3
|
+
<ecs-icon type="search" color="#B9BCC2" :size="iconSize" />
|
|
4
4
|
<input ref="input"
|
|
5
5
|
:name="name"
|
|
6
6
|
:disabled="disabled"
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="ecs-multiselect-search-token" :class="typeClass">
|
|
3
3
|
<div v-if="icon || operator" class="symbol">
|
|
4
|
-
<ecs-icon :type="icon"
|
|
4
|
+
<ecs-icon :type="icon" size="20" color="#FFF" />
|
|
5
5
|
<div v-if="operator" class="operator">{{ operator }}</div>
|
|
6
6
|
</div>
|
|
7
7
|
<div class="query">
|
|
8
8
|
<div v-if="descriptor" class="descriptor">{{ descriptor }}</div>
|
|
9
9
|
<slot></slot>
|
|
10
10
|
<button @click="$emit('remove', $event)" class="remove" title="Remove">
|
|
11
|
-
<ecs-icon type="close"
|
|
11
|
+
<ecs-icon type="close" size="14" color="#FFF" />
|
|
12
12
|
</button>
|
|
13
13
|
</div>
|
|
14
14
|
</div>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<div v-if="isShown" class="ecs-overlay" :style="{ top: offsetTop + 'px', height: 'calc(100vh - '+ offsetTop +'px' }">
|
|
4
4
|
<div class="ecs-overlay-header">
|
|
5
5
|
<div class="ecs-overlay-titles">
|
|
6
|
-
<ecs-icon v-if="icon" :type="icon"
|
|
6
|
+
<ecs-icon v-if="icon" :type="icon" size="40" color="#B9BCC2" />
|
|
7
7
|
<div>
|
|
8
8
|
<span class="title"><span v-if="headerTitleEmphasized" class="emphasized">{{ headerTitleEmphasized }}</span> {{ headerTitle }}</span>
|
|
9
9
|
<span v-if="headerTitleSubline" class="subline">{{ headerTitleSubline }}</span>
|
|
@@ -1,62 +1,66 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="ecs-pagination" :class="[ floating ? 'ecs-pagination-floating' : '' ]">
|
|
3
|
-
<
|
|
4
|
-
<
|
|
5
|
-
<ecs-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
</ecs-
|
|
20
|
-
</
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
3
|
+
<div class="ecs-pagination-nav">
|
|
4
|
+
<ecs-button-toolbar-group>
|
|
5
|
+
<ecs-button-toolbar
|
|
6
|
+
@click="$emit('prevPage', $event)"
|
|
7
|
+
:disabled="loading || currentPage === 1"
|
|
8
|
+
icon="back"
|
|
9
|
+
data-test="pagination-previous-button">
|
|
10
|
+
Previous Page
|
|
11
|
+
</ecs-button-toolbar>
|
|
12
|
+
<ecs-button-toolbar
|
|
13
|
+
@click="$emit('nextPage', $event)"
|
|
14
|
+
:disabled="loading || currentPage === totalPages"
|
|
15
|
+
icon="next"
|
|
16
|
+
icon-position="right"
|
|
17
|
+
data-test="pagination-next-button">
|
|
18
|
+
Next Page
|
|
19
|
+
</ecs-button-toolbar>
|
|
20
|
+
</ecs-button-toolbar-group>
|
|
21
|
+
|
|
22
|
+
<div class="ecs-pagination-dropdown">
|
|
23
|
+
<span>Page</span>
|
|
24
|
+
<div @click="toggleDropdown" class="ecs-pagination-dropdown-button" :class="[dropdownShown ? 'active' : '', totalPages ? '' : 'disabled']">
|
|
25
|
+
<template v-if="currentPage">{{ currentPage }}</template>
|
|
26
|
+
<template v-else>-</template>
|
|
27
|
+
|
|
28
|
+
<transition name="dropdown">
|
|
29
|
+
<div v-if="dropdownShown && totalPages" class="ecs-pagination-select scrollbar scrollbar-sml">
|
|
30
|
+
<ecs-popover-list>
|
|
31
|
+
<ecs-popover-list-item
|
|
32
|
+
@click="$emit('update:page', n), hideDropdown"
|
|
33
|
+
v-for="n in totalPages"
|
|
34
|
+
:key="n"
|
|
35
|
+
:selected="n === currentPage">
|
|
36
|
+
{{ n }}
|
|
37
|
+
</ecs-popover-list-item>
|
|
38
|
+
</ecs-popover-list>
|
|
39
|
+
</div>
|
|
40
|
+
</transition>
|
|
41
|
+
</div>
|
|
42
|
+
<span v-if="totalPages" class="total">of {{ totalPages }}</span>
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
<div>
|
|
30
46
|
<!-- @slot Slot for a sheet tab bar. -->
|
|
31
47
|
<slot name="tabs"></slot>
|
|
32
48
|
</div>
|
|
33
|
-
|
|
34
|
-
<ecs-flex-row v-if="showItemsPerPage && type == 'paginated'" :gap="4" class="ecs-pagination-items">
|
|
35
|
-
<span>Items per page</span>
|
|
36
|
-
<ecs-select @change="$emit('itemsPerPage', $event.target.value)" :disabled="loading" size="sml">
|
|
37
|
-
<option v-for="n in itemsPerPage" :key="n" :value="n" :selected="n === itemsPerPageSelected">{{ n }}</option>
|
|
38
|
-
</ecs-select>
|
|
39
|
-
</ecs-flex-row>
|
|
40
|
-
|
|
41
|
-
<ecs-flex-row v-if="$slots.controls" :gap="4" class="ecs-pagination-controls">
|
|
42
|
-
<!-- @slot Slot for a additional controls, such as a settings button. -->
|
|
43
|
-
<slot name="controls"></slot>
|
|
44
|
-
</ecs-flex-row>
|
|
45
49
|
</div>
|
|
46
50
|
</template>
|
|
47
51
|
|
|
48
52
|
<script>
|
|
49
|
-
import
|
|
50
|
-
import
|
|
51
|
-
import
|
|
52
|
-
import
|
|
53
|
+
import EcsButtonToolbarGroup from '../button-toolbar-group/button-toolbar-group'
|
|
54
|
+
import EcsButtonToolbar from '../button-toolbar/button-toolbar'
|
|
55
|
+
import EcsPopoverList from '../popover-list/popover-list'
|
|
56
|
+
import EcsPopoverListItem from '../popover-list-item/popover-list-item'
|
|
53
57
|
|
|
54
58
|
export default {
|
|
55
59
|
components: {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
+
EcsButtonToolbarGroup,
|
|
61
|
+
EcsButtonToolbar,
|
|
62
|
+
EcsPopoverList,
|
|
63
|
+
EcsPopoverListItem
|
|
60
64
|
},
|
|
61
65
|
|
|
62
66
|
props: {
|
|
@@ -65,12 +69,6 @@
|
|
|
65
69
|
type: Boolean,
|
|
66
70
|
default: false
|
|
67
71
|
},
|
|
68
|
-
/** Determines which elements are visible in the pagination component. */
|
|
69
|
-
type: {
|
|
70
|
-
type: String,
|
|
71
|
-
validator: v => ['paginated', 'infinite'].includes(v),
|
|
72
|
-
default: 'paginated'
|
|
73
|
-
},
|
|
74
72
|
/** Briefly disables all controls while ongoing navigation. */
|
|
75
73
|
loading: {
|
|
76
74
|
type: Boolean,
|
|
@@ -83,28 +81,23 @@
|
|
|
83
81
|
/** The total pages of the index. */
|
|
84
82
|
totalPages: {
|
|
85
83
|
type: Number,
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
|
|
87
|
+
data() {
|
|
88
|
+
return {
|
|
89
|
+
dropdownShown: false
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
|
|
93
|
+
methods: {
|
|
94
|
+
toggleDropdown(){
|
|
95
|
+
if(this.totalPages)
|
|
96
|
+
this.dropdownShown = !this.dropdownShown
|
|
86
97
|
},
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
default: 400
|
|
91
|
-
},
|
|
92
|
-
/** Determines if the selector for items per page should be shown. */
|
|
93
|
-
showItemsPerPage: {
|
|
94
|
-
type: Boolean,
|
|
95
|
-
default: true
|
|
96
|
-
},
|
|
97
|
-
/** The options to be show as selectable in the items per page dropdown. Requires an array with Numbers. Default: `[25, 50, 100]` */
|
|
98
|
-
itemsPerPage: {
|
|
99
|
-
type: Array,
|
|
100
|
-
default() {
|
|
101
|
-
return [25, 50, 100]
|
|
102
|
-
}
|
|
103
|
-
},
|
|
104
|
-
/** The selected option in the items per page dropdown. */
|
|
105
|
-
itemsPerPageSelected: {
|
|
106
|
-
type: Number,
|
|
107
|
-
default: 100
|
|
98
|
+
|
|
99
|
+
hideDropdown(){
|
|
100
|
+
this.dropdownShown = false
|
|
108
101
|
}
|
|
109
102
|
}
|
|
110
103
|
}
|
|
@@ -123,9 +116,6 @@
|
|
|
123
116
|
box-shadow: 0 -1px 0 $color-gray-4;
|
|
124
117
|
position: relative;
|
|
125
118
|
z-index: 2;
|
|
126
|
-
font-size: $type-scale-2-font-size;
|
|
127
|
-
line-height: $type-scale-2-line-height;
|
|
128
|
-
color: $color-gray-15;
|
|
129
119
|
|
|
130
120
|
&-floating{
|
|
131
121
|
border-radius: $border-radius-small;
|
|
@@ -133,51 +123,94 @@
|
|
|
133
123
|
}
|
|
134
124
|
|
|
135
125
|
&-nav{
|
|
126
|
+
display: flex;
|
|
127
|
+
align-items: center;
|
|
136
128
|
height: 40px;
|
|
129
|
+
margin-right: 24px;
|
|
130
|
+
}
|
|
137
131
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
}
|
|
132
|
+
.ecs-toolbar-button-group{
|
|
133
|
+
margin-right: 32px;
|
|
141
134
|
}
|
|
142
135
|
|
|
143
|
-
|
|
144
|
-
|
|
136
|
+
.ecs-toolbar-button-icon{
|
|
137
|
+
font-size: $type-scale-2-font-size;
|
|
145
138
|
}
|
|
146
139
|
|
|
147
|
-
&-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
140
|
+
&-dropdown{
|
|
141
|
+
display: flex;
|
|
142
|
+
align-items: center;
|
|
143
|
+
font-size: $type-scale-2-font-size;
|
|
144
|
+
color: $color-gray-9;
|
|
145
|
+
|
|
146
|
+
.total{
|
|
147
|
+
color: $color-gray-15;
|
|
152
148
|
}
|
|
153
|
-
}
|
|
154
149
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
150
|
+
&-button{
|
|
151
|
+
background: #FFF;
|
|
152
|
+
display: flex;
|
|
153
|
+
align-items: center;
|
|
154
|
+
border: 1px solid $color-gray-3;
|
|
155
|
+
padding: 0 8px;
|
|
156
|
+
height: 32px;
|
|
157
|
+
transition: .2s;
|
|
158
|
+
border-radius: $border-radius-small;
|
|
159
|
+
margin: 0 6px;
|
|
160
|
+
cursor: pointer;
|
|
161
|
+
position: relative;
|
|
162
|
+
color: $color-gray-15;
|
|
163
|
+
|
|
164
|
+
&:after{
|
|
165
|
+
content: "";
|
|
166
|
+
background: svg-uri('<svg xmlns="http://www.w3.org/2000/svg" width="8" height="5" viewBox="0 0 8 5"><polyline fill="none" stroke="#858E9E" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" points="0 0 3 3 6 0" transform="translate(1 .8)"/></svg>');
|
|
167
|
+
width: 8px;
|
|
168
|
+
height: 5px;
|
|
169
|
+
margin-left: 6px;
|
|
170
|
+
}
|
|
158
171
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
172
|
+
&:hover{
|
|
173
|
+
border: 1px solid $color-gray-4;
|
|
174
|
+
box-shadow: 0 1px 1px rgba($color-gray-4, .25);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
&.active{
|
|
178
|
+
border: 1px solid $color-gray-5;
|
|
179
|
+
box-shadow: 0 1px 0 rgba($color-gray-2, .1) inset;
|
|
180
|
+
background: rgba($color-gray-5, .1);
|
|
181
|
+
}
|
|
164
182
|
|
|
165
|
-
|
|
166
|
-
|
|
183
|
+
&.disabled{
|
|
184
|
+
border: 1px solid $color-gray-3;
|
|
185
|
+
box-shadow: none;
|
|
186
|
+
cursor: not-allowed;
|
|
187
|
+
color: $color-gray-7;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
167
190
|
}
|
|
168
191
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
192
|
+
&-select{
|
|
193
|
+
position: absolute;
|
|
194
|
+
left: 0;
|
|
195
|
+
right: auto;
|
|
196
|
+
bottom: 34px;
|
|
197
|
+
z-index: 1000;
|
|
198
|
+
background-color: #fff;
|
|
199
|
+
box-shadow: 0 0 0 1px rgba($color-gray-15, .08), 0 1px 3px 0 rgba($color-gray-15, 0.15);
|
|
200
|
+
border-radius: $border-radius-small;
|
|
201
|
+
max-height: 30vh;
|
|
202
|
+
overflow: auto;
|
|
172
203
|
}
|
|
173
204
|
}
|
|
174
205
|
|
|
175
|
-
.
|
|
176
|
-
|
|
206
|
+
.dropdown-enter-active,
|
|
207
|
+
.dropdown-leave-active {
|
|
208
|
+
transition: all .3s;
|
|
177
209
|
}
|
|
178
210
|
|
|
179
|
-
.
|
|
211
|
+
.dropdown-enter,
|
|
212
|
+
.dropdown-leave-to {
|
|
180
213
|
opacity: 0;
|
|
181
|
-
transform:
|
|
214
|
+
transform: translateY(10px);
|
|
182
215
|
}
|
|
183
216
|
</style>
|