@dataloop-ai/components 0.16.19 → 0.16.21

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dataloop-ai/components",
3
- "version": "0.16.19",
3
+ "version": "0.16.21",
4
4
  "exports": {
5
5
  ".": "./index.ts",
6
6
  "./models": "./models.ts",
@@ -0,0 +1,46 @@
1
+ :root {
2
+ // Constants
3
+ --dl-color-alert-success: #38D079;
4
+ --dl-color-alert-success-background: #E1FFF0;
5
+ --dl-color-alert-warn: ##FFDA3A;
6
+ --dl-color-alert-warn-background: #FFF7D6;
7
+ --dl-color-alert-error: #FF3434;
8
+ --dl-color-alert-error-background: #FFEAEA ;
9
+ --dl-color-alert-info: #4E81B3;
10
+ --dl-color-alert-info-background: #F3F9FF;
11
+ --dl-color-alert-text: #171723;
12
+
13
+ // Z-Index
14
+ --dl-z-index-toast: 1052;
15
+ --dl-z-index-panel: 3000; // panel & panel contaiener content
16
+ --dl-z-index-panel-elements: 3010; // separator + glutter
17
+ --dl-z-index-panel-header-footer: 3020;
18
+ --dl-z-index-panel-container-overlay: 3025;
19
+ --dl-z-index-panel-container-elements: 3030; // collapse icon + separator
20
+
21
+ --dl-z-index-overlay: 5000;
22
+
23
+ --dl-z-index-menu: 6000;
24
+ --dl-z-index-tooltip: 9000;
25
+
26
+
27
+ // chart colors
28
+ --dl-color-chart-1: #4DB1D3;
29
+ --dl-color-chart-2: #FF2F7A;
30
+ --dl-color-chart-3: #D4E3FF;
31
+ --dl-color-chart-4: #BECB5D;
32
+ --dl-color-chart-5: #839E30;
33
+ --dl-color-chart-6: #6B5935;
34
+ --dl-color-chart-7: #752B86;
35
+ --dl-color-chart-8: #BB96A3;
36
+ --dl-color-chart-9: #870F49;
37
+ --dl-color-chart-10: #CC566C;
38
+ --dl-color-chart-11: #F0A18C;
39
+ --dl-color-chart-12: #EDAB55;
40
+ --dl-color-chart-13: #FF5934;
41
+ --dl-color-chart-14: #9CD2E3;
42
+ --dl-color-chart-15: #928F80;
43
+ --dl-color-chart-16: #575567;
44
+ --dl-color-chart-17: #979797;
45
+ --dl-color-chart-18: #D9D9D9;
46
+ }
@@ -1,4 +1,5 @@
1
1
  @import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');
2
+ @import 'constants';
2
3
 
3
4
  body {
4
5
  font-family: 'Roboto', sans-serif;
@@ -99,6 +100,14 @@ body {
99
100
  align-items: center;
100
101
  }
101
102
 
103
+ .items-top {
104
+ align-items: start;
105
+ }
106
+
107
+ .items-bottom {
108
+ align-items: end;
109
+ }
110
+
102
111
  .col {
103
112
  flex: 10000 1 0%;
104
113
  }
@@ -107,6 +116,7 @@ body {
107
116
  width: 100%;
108
117
  }
109
118
 
119
+
110
120
  :root {
111
121
  // common
112
122
  --dl-color-white: #fff;
@@ -164,39 +174,6 @@ body {
164
174
 
165
175
  --dl-date-picker-shadow: 0px 3px 6px #101e7326;
166
176
  --dl-date-picker-selected-strip: rgb(52, 82, 255, 0.2);
167
-
168
- // chart
169
- --dl-color-chart-1: #4DB1D3;
170
- --dl-color-chart-2: #FF2F7A;
171
- --dl-color-chart-3: #D4E3FF;
172
- --dl-color-chart-4: #BECB5D;
173
- --dl-color-chart-5: #839E30;
174
- --dl-color-chart-6: #6B5935;
175
- --dl-color-chart-7: #752B86;
176
- --dl-color-chart-8: #BB96A3;
177
- --dl-color-chart-9: #870F49;
178
- --dl-color-chart-10: #CC566C;
179
- --dl-color-chart-11: #F0A18C;
180
- --dl-color-chart-12: #EDAB55;
181
- --dl-color-chart-13: #FF5934;
182
- --dl-color-chart-14: #9CD2E3;
183
- --dl-color-chart-15: #928F80;
184
- --dl-color-chart-16: #575567;
185
- --dl-color-chart-17: #979797;
186
- --dl-color-chart-18: #D9D9D9;
187
- //
188
-
189
- // z-index
190
- --dl-z-index-panel: 3000; // panel & panel contaiener content
191
- --dl-z-index-panel-elements: 3010; // separator + glutter
192
- --dl-z-index-panel-header-footer: 3020;
193
- --dl-z-index-panel-container-overlay: 3025;
194
- --dl-z-index-panel-container-elements: 3030; // collapse icon + separator
195
-
196
- --dl-z-index-overlay: 5000;
197
-
198
- --dl-z-index-menu: 6000;
199
- --dl-z-index-tooltip: 9000;
200
177
  }
201
178
 
202
179
  /* Define styles for the root window with dark - mode preference */
@@ -32,6 +32,7 @@
32
32
  class="close-btn-icon"
33
33
  data-test="close-btn-icon"
34
34
  icon="icon-dl-close"
35
+ color="dl-color-darker"
35
36
  size="12px"
36
37
  @click="handleClose"
37
38
  />
@@ -219,6 +220,7 @@ export default defineComponent({
219
220
  .close-btn {
220
221
  padding-right: 16px;
221
222
  padding-left: 10px;
223
+ align-items: start;
222
224
  }
223
225
 
224
226
  .icon-dl-close:hover {
@@ -455,7 +455,7 @@ export default defineComponent({
455
455
  })
456
456
  </script>
457
457
 
458
- <style>
458
+ <style lang="scss" scoped>
459
459
  .dl-popup {
460
460
  z-index: calc(var(--dl-z-index-menu) - 1);
461
461
  position: fixed !important;
@@ -147,12 +147,18 @@ export default defineComponent({
147
147
  {
148
148
  title: 'today',
149
149
  key: DAY_SIDEBAR_OPTION.today,
150
- value: { from: today, to: today }
150
+ value: {
151
+ from: today,
152
+ to: new CustomDate(today).endOf('day').toDate()
153
+ }
151
154
  },
152
155
  {
153
156
  title: 'yesterday',
154
157
  key: DAY_SIDEBAR_OPTION.yesterday,
155
- value: { from: yesterday, to: yesterday }
158
+ value: {
159
+ from: yesterday,
160
+ to: new CustomDate(yesterday).endOf('day').toDate()
161
+ }
156
162
  },
157
163
  {
158
164
  title: 'last 7 days',
@@ -44,7 +44,7 @@ export default defineComponent({
44
44
  })
45
45
  </script>
46
46
 
47
- <style lang="scss">
47
+ <style lang="scss" scoped>
48
48
  .dl-btn-group {
49
49
  border-radius: 2px;
50
50
  vertical-align: middle;
@@ -273,7 +273,7 @@ export default defineComponent({
273
273
  })
274
274
  </script>
275
275
 
276
- <style lang="scss">
276
+ <style lang="scss" scoped>
277
277
  .json-editor {
278
278
  --jse-text-color: var(--dl-color-tooltip-background);
279
279
  --jse-delimiter-color: var(--dl-color-tooltip-background);
@@ -252,8 +252,7 @@ export default defineComponent({
252
252
  .capitalized {
253
253
  text-transform: capitalize !important;
254
254
  }
255
- </style>
256
- <style lang="scss">
255
+
257
256
  .capitalized .checkbox-label {
258
257
  text-transform: capitalize !important;
259
258
  }
@@ -5,22 +5,26 @@
5
5
  >
6
6
  <div
7
7
  v-show="isActive"
8
+ id="DlToastContainer"
8
9
  ref="root"
9
- class="v-toast__item"
10
+ class="toast-item"
10
11
  :class="[
11
- `v-toast__item--${type}`,
12
- `v-toast__item--${position}`,
12
+ `toast-item--${type}`,
13
+ `toast-item--${position}`,
13
14
  classItem
14
15
  ]"
15
16
  :style="{ width }"
16
17
  >
17
18
  <dl-alert
19
+ class="alert"
18
20
  :type="type"
19
21
  :closable="closable"
22
+ :dark-mode="false"
23
+ close-button-position="center"
20
24
  @update:model-value="closeToast"
21
25
  >
22
26
  <span
23
- class="v-toast__text"
27
+ class="toast-message"
24
28
  data-test="message-text"
25
29
  />
26
30
  </dl-alert>
@@ -78,10 +82,14 @@ export default defineComponent({
78
82
  closable: {
79
83
  type: Boolean,
80
84
  default: true
85
+ },
86
+ collapseCount: {
87
+ type: Number,
88
+ default: 5
81
89
  }
82
90
  },
83
91
  setup(props: any) {
84
- const { position, duration, message } = props
92
+ const { position, duration, message, collapseCount } = props
85
93
  const root = ref(null)
86
94
  let parentTop: HTMLElement = null
87
95
  let parentBottom: HTMLElement = null
@@ -95,16 +103,16 @@ export default defineComponent({
95
103
  setupContainer()
96
104
  })
97
105
  function setupContainer(): void {
98
- parentTop = document.querySelector('.v-toast.v-toast--top')
99
- parentBottom = document.querySelector('.v-toast.v-toast--bottom')
106
+ parentTop = document.getElementById('DlToastContainerTop')
107
+ parentBottom = document.getElementById('DlToastContainerBottom')
100
108
  if (parentTop && parentBottom) return
101
109
  if (!parentTop) {
102
110
  parentTop = document.createElement('div')
103
- parentTop.className = 'v-toast v-toast--top'
111
+ parentTop.id = 'DlToastContainerTop'
104
112
  }
105
113
  if (!parentBottom) {
106
114
  parentBottom = document.createElement('div')
107
- parentBottom.className = 'v-toast v-toast--bottom'
115
+ parentBottom.id = 'DlToastContainerBottom'
108
116
  }
109
117
  const container = document.body
110
118
  container.appendChild(parentTop)
@@ -132,15 +140,15 @@ export default defineComponent({
132
140
  case Positions.top_right:
133
141
  case Positions.top_left:
134
142
  return {
135
- enter: 'v-toast--fade-in-down',
136
- leave: 'v-toast--fade-out'
143
+ enter: 'dl-toast--fade-in-down',
144
+ leave: 'dl-toast--fade-out'
137
145
  }
138
146
  case Positions.bottom:
139
147
  case Positions.bottom_right:
140
148
  case Positions.bottom_left:
141
149
  return {
142
- enter: 'v-toast--fade-in-up',
143
- leave: 'v-toast--fade-out'
150
+ enter: 'dl-toast--fade-in-up',
151
+ leave: 'dl-toast--fade-out'
144
152
  }
145
153
  }
146
154
  })
@@ -151,8 +159,8 @@ export default defineComponent({
151
159
 
152
160
  function showNotice(): void {
153
161
  const parent = correctParent.value
154
- const container = root.value.closest('.v-toast--pending')
155
- root.value.querySelector('.v-toast__text').innerHTML = message
162
+ const container = root.value.closest('.dl-toast-container--pending')
163
+ root.value.querySelector('.toast-message').innerHTML = message
156
164
  parent.insertAdjacentElement('afterbegin', root.value)
157
165
  container?.remove()
158
166
  isActive.value = true
@@ -161,6 +169,9 @@ export default defineComponent({
161
169
  closeToastMessage()
162
170
  }, duration * 1000)
163
171
  }
172
+ if (collapseCount && collapseCount < parent.childNodes.length) {
173
+ setTimeout(() => removeElement(parent.lastElementChild), 200)
174
+ }
164
175
  }
165
176
  function closeToast(val: boolean) {
166
177
  if (!val) removeElement(root.value)
@@ -177,52 +188,35 @@ export default defineComponent({
177
188
  })
178
189
  </script>
179
190
 
180
- <style lang="scss">
181
- .v-toast {
182
- position: fixed;
183
- display: flex;
184
- top: 0;
185
- bottom: 0;
186
- left: 0;
187
- right: 0;
188
- overflow: hidden;
189
- z-index: 1052;
190
- pointer-events: none;
191
- &__item {
192
- display: inline-flex;
193
- align-items: center;
194
- pointer-events: auto;
195
- min-width: 400px;
196
- max-width: 900px;
197
- margin: 5px;
198
- cursor: pointer;
199
- animation-duration: 150ms;
200
-
201
- &.v-toast__item--top,
202
- &.v-toast__item--bottom {
203
- align-self: center;
204
- }
205
-
206
- &.v-toast__item--top-right,
207
- &.v-toast__item--bottom-right {
208
- align-self: flex-end;
209
- }
191
+ <style lang="scss" scoped>
192
+ .toast-item {
193
+ display: inline-flex;
194
+ align-items: center;
195
+ pointer-events: auto;
196
+ min-width: 400px;
197
+ max-width: 900px;
198
+ margin: 5px;
199
+ cursor: pointer;
200
+ animation-duration: 150ms;
210
201
 
211
- &.v-toast__item--top-left,
212
- &.v-toast__item--bottom-left {
213
- align-self: flex-start;
214
- }
202
+ &.toast-item--top,
203
+ &.toast-item--bottom {
204
+ align-self: center;
215
205
  }
216
206
 
217
- &.v-toast--top {
218
- flex-direction: column;
207
+ &.toast-item--top-right,
208
+ &.toast-item--bottom-right {
209
+ align-self: flex-end;
219
210
  }
220
211
 
221
- &.v-toast--bottom {
222
- flex-direction: column-reverse;
212
+ &.toast-item--top-left,
213
+ &.toast-item--bottom-left {
214
+ align-self: flex-start;
223
215
  }
224
216
  }
225
217
 
218
+ // using unique class to identify the changes
219
+
226
220
  @keyframes fadeOut {
227
221
  from {
228
222
  opacity: 1;
@@ -232,7 +226,7 @@ export default defineComponent({
232
226
  }
233
227
  }
234
228
 
235
- .v-toast--fade-out {
229
+ .dl-toast--fade-out {
236
230
  animation-name: fadeOut;
237
231
  }
238
232
 
@@ -247,7 +241,7 @@ export default defineComponent({
247
241
  }
248
242
  }
249
243
 
250
- .v-toast--fade-in-down {
244
+ .dl-toast--fade-in-down {
251
245
  animation-name: fadeInDown;
252
246
  }
253
247
 
@@ -262,14 +256,11 @@ export default defineComponent({
262
256
  }
263
257
  }
264
258
 
265
- .v-toast--fade-in-up {
259
+ .dl-toast--fade-in-up {
266
260
  animation-name: fadeInUp;
267
261
  }
268
262
 
269
- /**
270
- * Vue Transitions
271
- */
272
-
263
+ // animations
273
264
  .fade-enter-active,
274
265
  .fade-leave-active {
275
266
  transition: opacity 150ms ease-out;
@@ -280,3 +271,54 @@ export default defineComponent({
280
271
  opacity: 0;
281
272
  }
282
273
  </style>
274
+
275
+ <style lang="scss">
276
+ #DlToastContainerTop {
277
+ position: fixed;
278
+ display: flex;
279
+ top: 0;
280
+ bottom: 0;
281
+ left: 0;
282
+ right: 0;
283
+ overflow: hidden;
284
+ z-index: var(--dl-z-index-toast);
285
+ pointer-events: none;
286
+ flex-direction: column;
287
+ .root {
288
+ width: 100% !important;
289
+ }
290
+ }
291
+ #DlToastContainerBottom {
292
+ position: fixed;
293
+ display: flex;
294
+ top: 0;
295
+ bottom: 0;
296
+ left: 0;
297
+ right: 0;
298
+ overflow: hidden;
299
+ z-index: var(--dl-z-index-toast);
300
+ pointer-events: none;
301
+ flex-direction: column-reverse;
302
+ .root {
303
+ width: 100% !important;
304
+ }
305
+ }
306
+
307
+ #DlToastContainer {
308
+ --dl-color-negative: var(--dl-color-alert-error);
309
+ --dl-color-negative-background: var(--dl-color-alert-error-background);
310
+ --dl-color-warning: var(--dl-color-alert-warn);
311
+ --dl-color-warning-background: var(--dl-color-alert-warn-background);
312
+ --dl-color-positive: var(--dl-color-alert-success);
313
+ --dl-color-positive-background: var(--dl-color-alert-success-background);
314
+ --dl-color-info: var(--dl-color-alert-info);
315
+ --dl-color-info-background: var(--dl-color-alert-info-background);
316
+ --dl-color-darker: var(--dl-color-alert-text);
317
+
318
+ .alert {
319
+ .close-btn {
320
+ align-items: center !important;
321
+ }
322
+ }
323
+ }
324
+ </style>
@@ -14,7 +14,7 @@ if (VueDemi.isVue3) {
14
14
  ) {
15
15
  const vNode = VueDemi.h(component, props, slots)
16
16
  const container = document.createElement('div')
17
- container.classList.add('v-toast--pending')
17
+ container.classList.add('dl-toast-container--pending')
18
18
  parentContainer.appendChild(container)
19
19
  VueDemi.render(vNode, container)
20
20
 
@@ -28,9 +28,13 @@ if (VueDemi.isVue3) {
28
28
  slots = {}
29
29
  ) {
30
30
  const container = document.createElement('div')
31
- container.classList.add('v-toast--pending')
31
+ container.classList.add('dl-toast-container--pending')
32
32
  parentContainer.appendChild(container)
33
- renderVue2Component(ToastComponent, props, '.v-toast--pending')
33
+ renderVue2Component(
34
+ ToastComponent,
35
+ props,
36
+ '.dl-toast-container--pending'
37
+ )
34
38
  }
35
39
  }
36
40
 
@@ -414,7 +414,7 @@ export default defineComponent({
414
414
  })
415
415
  </script>
416
416
 
417
- <style lang="scss">
417
+ <style lang="scss" scoped>
418
418
  .dl-tooltip {
419
419
  z-index: var(--dl-z-index-tooltip);
420
420
  position: fixed !important;
@@ -2,7 +2,7 @@
2
2
  <div style="width: 950px; padding-top: 20px">
3
3
  <div class="flex">
4
4
  <div>
5
- <dl-area
5
+ <dl-text-area
6
6
  v-model="message"
7
7
  title="Message"
8
8
  />
@@ -11,11 +11,16 @@
11
11
  type="number"
12
12
  title="Duration seconds"
13
13
  />
14
+ <dl-input
15
+ v-model="collapseCount"
16
+ type="number"
17
+ title="Collapse count"
18
+ />
14
19
  <dl-input
15
20
  v-model="classItem"
16
21
  title="Custom class for toast item"
17
22
  />
18
- <dl-text-input
23
+ <dl-input
19
24
  v-model="width"
20
25
  title="Custom width for toast item"
21
26
  />
@@ -93,11 +98,19 @@
93
98
 
94
99
  <script lang="ts">
95
100
  import { defineComponent, ref } from 'vue-demi'
96
- import { DlButton, DlToast, DlInput, DlRadio, DlSwitch } from '../components'
101
+ import {
102
+ DlButton,
103
+ DlInput,
104
+ DlRadio,
105
+ DlSwitch,
106
+ DlTextArea,
107
+ DlToast
108
+ } from '../components'
97
109
 
98
110
  export default defineComponent({
99
111
  name: 'DlToast',
100
112
  components: {
113
+ DlTextArea,
101
114
  DlSwitch,
102
115
  DlRadio,
103
116
  DlInput,
@@ -113,6 +126,7 @@ export default defineComponent({
113
126
  const closable = ref(true)
114
127
  const classItem = ref('demo-toast')
115
128
  const width = ref('auto')
129
+ const collapseCount = ref(null)
116
130
  function showToastMessage() {
117
131
  DlToast.open({
118
132
  message: message.value,
@@ -121,7 +135,8 @@ export default defineComponent({
121
135
  duration: duration.value,
122
136
  classItem: classItem.value,
123
137
  closable: closable.value,
124
- width: width.value
138
+ width: width.value,
139
+ collapseCount: collapseCount.value
125
140
  })
126
141
  }
127
142
  return {
@@ -132,7 +147,8 @@ export default defineComponent({
132
147
  position,
133
148
  classItem,
134
149
  closable,
135
- width
150
+ width,
151
+ collapseCount
136
152
  }
137
153
  }
138
154
  })