@dataloop-ai/components 0.20.9 → 0.20.12
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/package.json +2 -2
- package/src/components/basic/DlAlert/DlAlert.vue +1 -0
- package/src/components/blocks/DlLabelPicker/DlLabelPicker.vue +8 -5
- package/src/components/compound/DlStepper/DlStepper.vue +6 -0
- package/src/components/compound/DlStepper/components/DlStepperSidebar.vue +24 -10
- package/src/demos/DlLabelPickerDemo.vue +3 -1
- package/src/demos/DlStepperDemo/SimpleStepper.vue +6 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dataloop-ai/components",
|
|
3
|
-
"version": "0.20.
|
|
3
|
+
"version": "0.20.12",
|
|
4
4
|
"exports": {
|
|
5
5
|
".": "./index.ts",
|
|
6
6
|
"./models": "./models.ts",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"check-only": "if grep -E -H -r --exclude-dir=.git --exclude-dir=node_modules --exclude=*.json --exclude=*.yml '^(describe|it).only' .; then echo 'Found only in test files' && exit 1; fi"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@dataloop-ai/icons": "^3.0.
|
|
26
|
+
"@dataloop-ai/icons": "^3.0.101",
|
|
27
27
|
"@types/flat": "^5.0.2",
|
|
28
28
|
"@types/lodash": "^4.14.184",
|
|
29
29
|
"@types/sortablejs": "^1.15.7",
|
|
@@ -104,11 +104,15 @@ export default defineComponent({
|
|
|
104
104
|
hideNoData: {
|
|
105
105
|
type: Boolean,
|
|
106
106
|
default: false
|
|
107
|
+
},
|
|
108
|
+
initialSelection: {
|
|
109
|
+
type: Object as PropType<DlLabelPickerItem>,
|
|
110
|
+
default: null
|
|
107
111
|
}
|
|
108
112
|
},
|
|
109
113
|
emits: ['selected-label', 'click', 'focus', 'blur', 'clear'],
|
|
110
114
|
setup(props, { emit, slots }) {
|
|
111
|
-
const { items } = toRefs(props)
|
|
115
|
+
const { items, initialSelection } = toRefs(props)
|
|
112
116
|
|
|
113
117
|
const columns: DlTableColumn[] = [
|
|
114
118
|
{
|
|
@@ -124,9 +128,8 @@ export default defineComponent({
|
|
|
124
128
|
|
|
125
129
|
const inputValue = ref('')
|
|
126
130
|
const currentSelectedLabel = ref<DlLabelPickerItem>(
|
|
127
|
-
|
|
131
|
+
(initialSelection?.value ?? items.value?.[0]) || null
|
|
128
132
|
)
|
|
129
|
-
|
|
130
133
|
const table = ref()
|
|
131
134
|
const handleRowClick = (event: MouseEvent, item: DlLabelPickerItem) => {
|
|
132
135
|
table.value.$el
|
|
@@ -203,9 +206,9 @@ export default defineComponent({
|
|
|
203
206
|
|
|
204
207
|
onMounted(() => {
|
|
205
208
|
nextTick(() => {
|
|
206
|
-
if (
|
|
209
|
+
if (currentSelectedLabel.value.identifier) {
|
|
207
210
|
const target = table.value.$el.querySelector(
|
|
208
|
-
`[data-label-picker-identifier="${
|
|
211
|
+
`[data-label-picker-identifier="${currentSelectedLabel.value.identifier}"]`
|
|
209
212
|
)
|
|
210
213
|
target?.closest('tr')?.classList.add('selected')
|
|
211
214
|
}
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
:bg-color="bgColor"
|
|
22
22
|
:hide="hide"
|
|
23
23
|
:disabled="disabled"
|
|
24
|
+
:width="sidebarWidth"
|
|
24
25
|
@step-click="$emit('set-step', $event)"
|
|
25
26
|
/>
|
|
26
27
|
<div class="dl-stepper-content dl-stepper-content--slot">
|
|
@@ -137,6 +138,11 @@ export default defineComponent({
|
|
|
137
138
|
required: false,
|
|
138
139
|
default: '700px'
|
|
139
140
|
},
|
|
141
|
+
sidebarWidth: {
|
|
142
|
+
type: String,
|
|
143
|
+
required: false,
|
|
144
|
+
default: 'fit-content'
|
|
145
|
+
},
|
|
140
146
|
bgColor: {
|
|
141
147
|
type: String,
|
|
142
148
|
required: false,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="sidebar">
|
|
2
|
+
<div class="sidebar" :style="cssVars">
|
|
3
3
|
<dl-list v-if="!hide">
|
|
4
4
|
<dl-list-item
|
|
5
5
|
v-for="(step, index) in steps"
|
|
@@ -24,13 +24,13 @@
|
|
|
24
24
|
<dl-item-section no-wrap>
|
|
25
25
|
<span :class="stepClass(step)">
|
|
26
26
|
<span v-if="!step.icon">{{ index + 1 }}. </span>
|
|
27
|
-
<div>
|
|
28
|
-
<
|
|
27
|
+
<div style="width: 94%">
|
|
28
|
+
<dl-ellipsis>
|
|
29
29
|
{{ getStepTitle(step) }}
|
|
30
|
-
</
|
|
31
|
-
<
|
|
30
|
+
</dl-ellipsis>
|
|
31
|
+
<dl-ellipsis class="sidebar--subtitle">
|
|
32
32
|
{{ getStepSubtitle(step) }}
|
|
33
|
-
</
|
|
33
|
+
</dl-ellipsis>
|
|
34
34
|
</div>
|
|
35
35
|
<dl-tooltip v-if="isStepDisabled(step)">
|
|
36
36
|
{{ getStepDisabledTooltip(step) }}
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
import { defineComponent, PropType } from 'vue-demi'
|
|
47
47
|
import { DlListItem } from '../../../basic'
|
|
48
48
|
import { DlItemSection, DlTooltip } from '../../../shared'
|
|
49
|
-
import { DlList } from '../../../essential'
|
|
49
|
+
import { DlList, DlEllipsis } from '../../../essential'
|
|
50
50
|
import { Step } from '../models'
|
|
51
51
|
|
|
52
52
|
export default defineComponent({
|
|
@@ -55,7 +55,8 @@ export default defineComponent({
|
|
|
55
55
|
DlList,
|
|
56
56
|
DlListItem,
|
|
57
57
|
DlItemSection,
|
|
58
|
-
DlTooltip
|
|
58
|
+
DlTooltip,
|
|
59
|
+
DlEllipsis
|
|
59
60
|
},
|
|
60
61
|
props: {
|
|
61
62
|
steps: {
|
|
@@ -68,9 +69,21 @@ export default defineComponent({
|
|
|
68
69
|
default: 'dl-color-fill-third'
|
|
69
70
|
},
|
|
70
71
|
disabled: { type: Boolean, default: false },
|
|
71
|
-
hide: { type: Boolean, default: false }
|
|
72
|
+
hide: { type: Boolean, default: false },
|
|
73
|
+
width: {
|
|
74
|
+
type: String,
|
|
75
|
+
required: false,
|
|
76
|
+
default: 'fit-content'
|
|
77
|
+
}
|
|
72
78
|
},
|
|
73
79
|
emits: ['step-click'],
|
|
80
|
+
computed: {
|
|
81
|
+
cssVars(): Record<string, string | number> {
|
|
82
|
+
return {
|
|
83
|
+
'--dl-stepper-sidebar-width': this.width
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
},
|
|
74
87
|
methods: {
|
|
75
88
|
endIcon(step: Step) {
|
|
76
89
|
return {
|
|
@@ -142,6 +155,7 @@ export default defineComponent({
|
|
|
142
155
|
.sidebar {
|
|
143
156
|
display: flex;
|
|
144
157
|
min-width: 250px;
|
|
158
|
+
width: var(--dl-stepper-sidebar-width);
|
|
145
159
|
padding: 15px 0px;
|
|
146
160
|
border-right: 1px solid var(--dl-color-separator);
|
|
147
161
|
background-color: var(--dl-stepper-bg);
|
|
@@ -165,7 +179,6 @@ export default defineComponent({
|
|
|
165
179
|
}
|
|
166
180
|
|
|
167
181
|
&--subtitle {
|
|
168
|
-
display: block;
|
|
169
182
|
line-height: 1;
|
|
170
183
|
font-size: var(--dl-font-size-body);
|
|
171
184
|
color: var(--dl-color-lighter);
|
|
@@ -173,6 +186,7 @@ export default defineComponent({
|
|
|
173
186
|
|
|
174
187
|
&--step {
|
|
175
188
|
display: flex;
|
|
189
|
+
position: relative;
|
|
176
190
|
gap: 3px;
|
|
177
191
|
font-size: var(--dl-font-size-h4);
|
|
178
192
|
line-height: 18px;
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
title: '',
|
|
8
8
|
icon: ''
|
|
9
9
|
}"
|
|
10
|
+
:initial-selection="initialSelection"
|
|
10
11
|
hide-bottom
|
|
11
12
|
hide-no-data
|
|
12
13
|
@selected-label="setSelectedEvent"
|
|
@@ -72,11 +73,12 @@ export default defineComponent({
|
|
|
72
73
|
},
|
|
73
74
|
setup() {
|
|
74
75
|
const items = ref(rows)
|
|
76
|
+
const initialSelection = ref(rows[1])
|
|
75
77
|
const lastSelected = ref<DlLabelPickerItem>(null)
|
|
76
78
|
const setSelectedEvent = (item: DlLabelPickerItem) => {
|
|
77
79
|
lastSelected.value = item
|
|
78
80
|
}
|
|
79
|
-
return { items, lastSelected, setSelectedEvent }
|
|
81
|
+
return { items, lastSelected, setSelectedEvent, initialSelection }
|
|
80
82
|
}
|
|
81
83
|
})
|
|
82
84
|
</script>
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
:hide-close-button="true"
|
|
6
6
|
done-button-label="Create"
|
|
7
7
|
width="calc(100vh-400px)"
|
|
8
|
+
sidebar-width="300px"
|
|
8
9
|
header-title="Create New Task"
|
|
9
10
|
:content-title="`${stepper.currentIndex + 1}. ${
|
|
10
11
|
stepper.currentStep.value
|
|
@@ -24,10 +25,7 @@
|
|
|
24
25
|
>
|
|
25
26
|
<template #content-header="{ state }">
|
|
26
27
|
<div style="display: flex; gap: 20px; align-items: center">
|
|
27
|
-
<dl-typography
|
|
28
|
-
size="h3"
|
|
29
|
-
variant="h3"
|
|
30
|
-
>
|
|
28
|
+
<dl-typography size="h3" variant="h3">
|
|
31
29
|
{{
|
|
32
30
|
`${stepper.currentIndex + 1}. ${
|
|
33
31
|
stepper.currentStep.value
|
|
@@ -142,12 +140,16 @@ export default defineComponent({
|
|
|
142
140
|
{
|
|
143
141
|
value: 'general',
|
|
144
142
|
title: 'general',
|
|
143
|
+
subtitle:
|
|
144
|
+
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas vitae massa porttitor, tempor ex vel, varius felis. ',
|
|
145
145
|
warning: 'Some issues in the step',
|
|
146
146
|
completed: true
|
|
147
147
|
},
|
|
148
148
|
{
|
|
149
149
|
value: 'data',
|
|
150
150
|
title: 'data',
|
|
151
|
+
subtitle:
|
|
152
|
+
'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas vitae massa porttitor, tempor ex vel, varius felis. ',
|
|
151
153
|
completed: true
|
|
152
154
|
},
|
|
153
155
|
{
|