@dataloop-ai/components 0.18.144 → 0.19.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/package.json +4 -1
- package/src/assets/constants.scss +25 -26
- package/src/assets/globals.scss +58 -56
- package/src/assets/grid.css +1 -1
- package/src/assets/grid.scss +4 -4
- package/src/components/basic/DlAccordion/DlAccordion.vue +10 -3
- package/src/components/basic/DlEmptyState/types.ts +1 -1
- package/src/components/basic/DlGrid/DlGrid.vue +2 -1
- package/src/components/basic/DlPopup/DlPopup.vue +159 -396
- package/src/components/basic/DlWidget/DlWidget.vue +2 -1
- package/src/components/basic/utils.ts +0 -9
- package/src/components/blocks/DlLabelPicker/DlLabelPicker.vue +127 -0
- package/src/components/blocks/DlLabelPicker/index.ts +3 -0
- package/src/components/blocks/DlLabelPicker/types.ts +6 -0
- package/src/components/blocks/index.ts +1 -0
- package/src/components/blocks/types.ts +1 -0
- package/src/components/compound/DlCodeEditor/README.md +5 -4
- package/src/components/compound/DlCodeEditor/styles/themes-base16.css +16934 -11289
- package/src/components/compound/DlCodeEditor/styles/themes.css +5122 -3448
- package/src/components/compound/DlInput/DlInput.vue +609 -178
- package/src/components/compound/DlInput/components/InputFileElement.vue +97 -0
- package/src/components/compound/DlInput/types.ts +12 -0
- package/src/components/compound/DlInput/utils.ts +117 -0
- package/src/components/compound/DlSearches/DlSearch/DlSearch.vue +10 -1
- package/src/components/compound/DlSearches/DlSmartSearch/components/DlSmartSearchInput.vue +12 -3
- package/src/components/compound/DlSearches/DlSmartSearch/utils/highlightSyntax.ts +1 -1
- package/src/components/compound/DlSlider/sliderStyles.scss +92 -92
- package/src/components/compound/DlTable/DlTable.vue +701 -358
- package/src/components/compound/DlTable/components/DlTd.vue +11 -9
- package/src/components/compound/DlTable/components/DlTh.vue +22 -21
- package/src/components/compound/DlTable/components/SortableJS.vue +33 -0
- package/src/components/compound/DlTable/hooks/tableActions.ts +3 -3
- package/src/components/compound/DlTable/hooks/tableColumnSelection.ts +3 -4
- package/src/components/compound/DlTable/hooks/use-sortable.ts +152 -0
- package/src/components/compound/DlTable/styles/dl-table-styles.scss +372 -377
- package/src/components/compound/DlTable/types.ts +6 -0
- package/src/components/compound/DlTable/utils/getCellValue.ts +27 -0
- package/src/components/compound/DlTable/utils/insertAtIndex.ts +22 -0
- package/src/components/compound/DlTable/utils/tableClasses.ts +22 -0
- package/src/components/compound/DlToast/api/useToast.ts +10 -4
- package/src/components/compound/DlToast/components/ToastComponent.vue +26 -21
- package/src/components/compound/DlToast/utils/render.ts +15 -8
- package/src/components/compound/DlTreeTable/DlTreeTable.vue +708 -323
- package/src/components/compound/DlTreeTable/components/DlTdTree.vue +10 -9
- package/src/components/compound/DlTreeTable/components/DlTrTree.vue +13 -0
- package/src/components/compound/DlTreeTable/emits.ts +2 -2
- package/src/components/compound/DlTreeTable/utils/index.ts +6 -0
- package/src/components/compound/DlTreeTable/utils/moveNestedRow.ts +95 -0
- package/src/components/compound/DlTreeTable/utils/trSpacing.ts +12 -1
- package/src/components/compound/DlTreeTable/utils/treeTableRowSelection.ts +10 -7
- package/src/components/compound/DlTreeTable/views/DlTrTreeView.vue +52 -58
- package/src/components/essential/DlMenu/DlMenu.vue +25 -0
- package/src/components/index.ts +1 -0
- package/src/components/shared/DlVirtualScroll/DlVirtualScroll.vue +2 -1
- package/src/components/shared/DlVirtualScroll/styles/dl-virtual-scroll-styles.scss +62 -41
- package/src/components/types.ts +1 -0
- package/src/demos/DlAccordionDemo.vue +32 -0
- package/src/demos/DlButtonDemo.vue +7 -0
- package/src/demos/DlDemoPage.vue +1 -0
- package/src/demos/DlInputDemo.vue +122 -64
- package/src/demos/DlLabelPickerDemo.vue +46 -0
- package/src/demos/DlPopupDemo.vue +94 -4
- package/src/demos/DlSearchDemo.vue +0 -1
- package/src/demos/DlTableDemo.vue +261 -162
- package/src/demos/DlToastDemo.vue +28 -1
- package/src/demos/DlTreeTableDemo.vue +266 -262
- package/src/demos/DlVirtualScrollDemo.vue +1 -4
- package/src/demos/index.ts +3 -1
- package/src/hooks/use-model-toggle.ts +26 -62
- package/src/utils/browse-nested-nodes.ts +26 -0
- package/src/utils/draggable-table.ts +100 -488
- package/src/utils/get-element-above.ts +8 -0
- package/src/utils/getSlotByVersion.ts +11 -0
- package/src/utils/index.ts +4 -0
- package/src/utils/keyCodes.ts +1 -1
- package/src/utils/remove-child-nodes.ts +5 -0
- package/src/utils/render-fn.ts +46 -0
- package/src/utils/resizable-table.ts +110 -0
- package/src/utils/selection.ts +196 -0
- package/src/utils/swap-nodes.ts +11 -0
- package/src/utils/table-columns.ts +209 -0
- package/src/components/compound/DlTable/utils/ResizableManager.ts +0 -236
- package/src/components/compound/DlTable/utils/index.ts +0 -1
- package/src/components/compound/DlTable/utils/props.ts +0 -120
- package/src/components/compound/DlTreeTable/props.ts +0 -134
- package/src/components/compound/DlTreeTable/utils/flatTreeData.ts +0 -19
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div
|
|
3
|
+
class="input-file-element"
|
|
4
|
+
@mouseenter="visibleMenu = true"
|
|
5
|
+
@mouseleave="visibleMenu = false"
|
|
6
|
+
>
|
|
7
|
+
<div
|
|
8
|
+
v-if="file.image"
|
|
9
|
+
class="file-image"
|
|
10
|
+
:style="`background-image: url(${file.image})`"
|
|
11
|
+
/>
|
|
12
|
+
<div
|
|
13
|
+
v-else
|
|
14
|
+
class="file-image input-file-element--default"
|
|
15
|
+
>
|
|
16
|
+
<dl-icon
|
|
17
|
+
size="50px"
|
|
18
|
+
icon="icon-dl-file"
|
|
19
|
+
/>
|
|
20
|
+
</div>
|
|
21
|
+
<div
|
|
22
|
+
v-if="visibleMenu"
|
|
23
|
+
class="input-file-element__menu"
|
|
24
|
+
>
|
|
25
|
+
<dl-icon
|
|
26
|
+
v-if="file.image"
|
|
27
|
+
class="input-file-element--icon"
|
|
28
|
+
icon="icon-dl-zoom-in"
|
|
29
|
+
@click="$emit('zoom-image', file)"
|
|
30
|
+
/>
|
|
31
|
+
<dl-icon
|
|
32
|
+
class="input-file-element--icon"
|
|
33
|
+
icon="icon-dl-edit"
|
|
34
|
+
@click="$emit('rename-file', file)"
|
|
35
|
+
/>
|
|
36
|
+
<dl-icon
|
|
37
|
+
class="input-file-element--icon"
|
|
38
|
+
icon="icon-dl-discard"
|
|
39
|
+
@click="$emit('remove-file', file.id)"
|
|
40
|
+
/>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
</template>
|
|
44
|
+
|
|
45
|
+
<script lang="ts">
|
|
46
|
+
import { defineComponent, PropType } from 'vue-demi'
|
|
47
|
+
import { DlInputFile } from '../types'
|
|
48
|
+
import { DlIcon } from '../../../essential'
|
|
49
|
+
export default defineComponent({
|
|
50
|
+
components: {
|
|
51
|
+
DlIcon
|
|
52
|
+
},
|
|
53
|
+
props: {
|
|
54
|
+
file: {
|
|
55
|
+
type: Object as PropType<DlInputFile>,
|
|
56
|
+
default: null
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
emits: ['remove-file', 'zoom-image', 'rename-file'],
|
|
60
|
+
data() {
|
|
61
|
+
return {
|
|
62
|
+
visibleMenu: false
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
})
|
|
66
|
+
</script>
|
|
67
|
+
|
|
68
|
+
<style lang="scss" scoped>
|
|
69
|
+
.input-file-element {
|
|
70
|
+
position: relative;
|
|
71
|
+
&--default {
|
|
72
|
+
display: flex;
|
|
73
|
+
justify-content: center;
|
|
74
|
+
align-items: center;
|
|
75
|
+
}
|
|
76
|
+
&__menu {
|
|
77
|
+
background-color: var(--dl-color-panel-background);
|
|
78
|
+
border-radius: 2px;
|
|
79
|
+
padding: 5px;
|
|
80
|
+
display: flex;
|
|
81
|
+
gap: 5px;
|
|
82
|
+
position: absolute;
|
|
83
|
+
top: 5px;
|
|
84
|
+
right: 5px;
|
|
85
|
+
}
|
|
86
|
+
&--icon {
|
|
87
|
+
cursor: pointer;
|
|
88
|
+
}
|
|
89
|
+
padding: 5px;
|
|
90
|
+
}
|
|
91
|
+
.file-image {
|
|
92
|
+
width: 100px;
|
|
93
|
+
height: 100px;
|
|
94
|
+
background-size: cover;
|
|
95
|
+
background-position: center;
|
|
96
|
+
}
|
|
97
|
+
</style>
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getInnerText,
|
|
3
|
+
getSelectionOffset,
|
|
4
|
+
setSelectionOffset
|
|
5
|
+
} from '../../../utils'
|
|
6
|
+
import { DlInputSuggestion } from './types'
|
|
7
|
+
|
|
8
|
+
export function addEventListenersToElement(
|
|
9
|
+
element: HTMLElement,
|
|
10
|
+
eventHandlers: Record<string, (e: any) => void>
|
|
11
|
+
) {
|
|
12
|
+
for (const eventType in eventHandlers) {
|
|
13
|
+
const handler = eventHandlers[eventType]
|
|
14
|
+
element.addEventListener(eventType, handler)
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export function clearSuggestion(text: string, suggestion: string) {
|
|
19
|
+
return text.split(' ').slice(0, -1).join(' ') + ' ' + suggestion
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export function setInnerHTMLWithCursor(
|
|
23
|
+
inputEl: HTMLElement,
|
|
24
|
+
action: (str: string) => void
|
|
25
|
+
) {
|
|
26
|
+
const [start, end] = getSelectionOffset(inputEl)
|
|
27
|
+
const textBefore = getInnerText(inputEl)
|
|
28
|
+
action(textBefore)
|
|
29
|
+
setSelectionOffset(inputEl, start, end)
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export function getSuggestItems(
|
|
33
|
+
suggestions: DlInputSuggestion[],
|
|
34
|
+
text: string
|
|
35
|
+
) {
|
|
36
|
+
if (!text.trim()) {
|
|
37
|
+
return suggestions
|
|
38
|
+
}
|
|
39
|
+
const lowered = text.toLowerCase()
|
|
40
|
+
const split = lowered.split(' ')
|
|
41
|
+
const lastKeyword = split[split.length - 1]
|
|
42
|
+
return suggestions.filter((item) => {
|
|
43
|
+
const lowercasedSuggestion = item.suggestion.toLowerCase()
|
|
44
|
+
return (
|
|
45
|
+
lowercasedSuggestion !== lastKeyword &&
|
|
46
|
+
lowercasedSuggestion.includes(lastKeyword)
|
|
47
|
+
)
|
|
48
|
+
})
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export async function readClipboard(): Promise<{ type: string; data: any }[]> {
|
|
52
|
+
// removing typing of clipboard for now as it causes conflicts somehow
|
|
53
|
+
|
|
54
|
+
const fetchItemType = async (item: any, type: string) => {
|
|
55
|
+
const itemType: Blob = await item.getType(type)
|
|
56
|
+
return { type: itemType.type, data: itemType }
|
|
57
|
+
}
|
|
58
|
+
const promises: Promise<{ type: string; data: any }>[] = []
|
|
59
|
+
|
|
60
|
+
const clipboard = navigator.clipboard as any
|
|
61
|
+
try {
|
|
62
|
+
const content: any = await clipboard.read()
|
|
63
|
+
for (const item of content) {
|
|
64
|
+
for (const type of item.types) {
|
|
65
|
+
promises.push(fetchItemType(item, type))
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return Promise.all(promises)
|
|
70
|
+
} catch (e) {
|
|
71
|
+
return []
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export function readBlob(blob: Blob): Promise<ArrayBuffer> {
|
|
76
|
+
return new Promise((resolve, reject) => {
|
|
77
|
+
const reader = new FileReader()
|
|
78
|
+
|
|
79
|
+
reader.onload = () => {
|
|
80
|
+
const result = reader.result as ArrayBuffer
|
|
81
|
+
resolve(result)
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
reader.onerror = () => {
|
|
85
|
+
reject(new Error('Error reading Blob'))
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
reader.readAsArrayBuffer(blob)
|
|
89
|
+
})
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export function isArrayBufferImage(arrayBuffer: ArrayBuffer): boolean {
|
|
93
|
+
const view = new DataView(arrayBuffer)
|
|
94
|
+
|
|
95
|
+
if (
|
|
96
|
+
view.getUint8(0) === 0xff &&
|
|
97
|
+
view.getUint8(1) === 0xd8 &&
|
|
98
|
+
view.getUint8(2) === 0xff
|
|
99
|
+
) {
|
|
100
|
+
return true
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
if (
|
|
104
|
+
view.getUint8(0) === 0x89 &&
|
|
105
|
+
view.getUint8(1) === 0x50 &&
|
|
106
|
+
view.getUint8(2) === 0x4e &&
|
|
107
|
+
view.getUint8(3) === 0x47 &&
|
|
108
|
+
view.getUint8(4) === 0x0d &&
|
|
109
|
+
view.getUint8(5) === 0x0a &&
|
|
110
|
+
view.getUint8(6) === 0x1a &&
|
|
111
|
+
view.getUint8(7) === 0x0a
|
|
112
|
+
) {
|
|
113
|
+
return true
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
return false
|
|
117
|
+
}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
>
|
|
8
8
|
<dl-input
|
|
9
9
|
ref="input"
|
|
10
|
+
class="text-input-area"
|
|
10
11
|
type="text"
|
|
11
12
|
clear-button-tooltip
|
|
12
13
|
:size="size"
|
|
@@ -16,6 +17,7 @@
|
|
|
16
17
|
:highlight-matches="highlightMatches"
|
|
17
18
|
:dense="dense"
|
|
18
19
|
:suggest-menu-width="suggestMenuWidth"
|
|
20
|
+
:debounce="debounce"
|
|
19
21
|
@input="onChange"
|
|
20
22
|
@focus="onFocus"
|
|
21
23
|
@blur="onBlur"
|
|
@@ -87,7 +89,8 @@ export default defineComponent({
|
|
|
87
89
|
highlightMatches: { type: Boolean, default: false },
|
|
88
90
|
dense: { type: Boolean, default: false },
|
|
89
91
|
withSearchButton: { type: Boolean, default: false },
|
|
90
|
-
suggestMenuWidth: { type: String, default: 'auto' }
|
|
92
|
+
suggestMenuWidth: { type: String, default: 'auto' },
|
|
93
|
+
debounce: { type: Number, default: 0 }
|
|
91
94
|
},
|
|
92
95
|
emits: [
|
|
93
96
|
'input',
|
|
@@ -108,6 +111,7 @@ export default defineComponent({
|
|
|
108
111
|
return BUTTON_SIZES[this.size]
|
|
109
112
|
},
|
|
110
113
|
identifierClass(): string {
|
|
114
|
+
if (!this.placeholder) return 'dl-search'
|
|
111
115
|
return `dl-search-${this.placeholder}`.replaceAll(' ', '-')
|
|
112
116
|
},
|
|
113
117
|
buttonClasses(): string[] {
|
|
@@ -150,6 +154,11 @@ export default defineComponent({
|
|
|
150
154
|
display: flex;
|
|
151
155
|
align-items: center;
|
|
152
156
|
width: 100%;
|
|
157
|
+
gap: 10px;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.text-input-area {
|
|
161
|
+
flex-grow: 1;
|
|
153
162
|
}
|
|
154
163
|
|
|
155
164
|
::v-deep .dl-text-input {
|
|
@@ -105,6 +105,7 @@ import { DlDatePicker } from '../../../DlDateTime'
|
|
|
105
105
|
import { DlMenu, DlIcon, DlLabel } from '../../../../essential'
|
|
106
106
|
import { isEllipsisActive } from '../../../../../utils/is-ellipsis-active'
|
|
107
107
|
import { useSizeObserver } from '../../../../../hooks/use-size-observer'
|
|
108
|
+
import { setCaretAtTheEnd } from '../../../../../utils'
|
|
108
109
|
import { ColorSchema, SearchStatus, SyntaxColorSchema } from '../types'
|
|
109
110
|
import { debounce, isEqual } from 'lodash'
|
|
110
111
|
import { DlTooltip } from '../../../../shared'
|
|
@@ -113,7 +114,6 @@ import { DateInterval } from '../../../DlDateTime/types'
|
|
|
113
114
|
import {
|
|
114
115
|
isEndingWithDateIntervalPattern,
|
|
115
116
|
replaceDateInterval,
|
|
116
|
-
setCaret,
|
|
117
117
|
updateEditor,
|
|
118
118
|
isEligibleToChange,
|
|
119
119
|
createColorSchema,
|
|
@@ -355,12 +355,21 @@ export default defineComponent({
|
|
|
355
355
|
setInputValue(
|
|
356
356
|
clearPartlyTypedSuggestion(input.value.innerText, stringValue)
|
|
357
357
|
)
|
|
358
|
-
|
|
358
|
+
setCaretAtTheEnd(input.value)
|
|
359
359
|
}
|
|
360
360
|
|
|
361
361
|
const debouncedSetInputValue = debounce(setInputValue, 300)
|
|
362
362
|
|
|
363
|
+
let lastSearchQuery: string;
|
|
364
|
+
|
|
363
365
|
const updateJSONQuery = () => {
|
|
366
|
+
|
|
367
|
+
if (lastSearchQuery === searchQuery.value) {
|
|
368
|
+
return null
|
|
369
|
+
} else {
|
|
370
|
+
lastSearchQuery = searchQuery.value
|
|
371
|
+
}
|
|
372
|
+
|
|
364
373
|
try {
|
|
365
374
|
const bracketless = removeBrackets(searchQuery.value)
|
|
366
375
|
const cleanedAliases = revertAliases(bracketless, aliases.value)
|
|
@@ -590,7 +599,7 @@ export default defineComponent({
|
|
|
590
599
|
showDatePicker.value = false
|
|
591
600
|
showSuggestions.value = true
|
|
592
601
|
datePickerSelection.value = null
|
|
593
|
-
|
|
602
|
+
setCaretAtTheEnd(input.value)
|
|
594
603
|
return
|
|
595
604
|
}
|
|
596
605
|
|
|
@@ -110,7 +110,7 @@ function renderText(text: string, colorSchema: SyntaxColorSchema) {
|
|
|
110
110
|
return output?.join('')
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
export function
|
|
113
|
+
export function setCaretAtTheEnd(target: HTMLElement) {
|
|
114
114
|
const range = document.createRange()
|
|
115
115
|
const sel = window.getSelection()
|
|
116
116
|
range.selectNodeContents(target)
|
|
@@ -1,117 +1,117 @@
|
|
|
1
1
|
.slider-bar {
|
|
2
|
-
|
|
3
|
-
width: 100%;
|
|
4
|
-
cursor: grab;
|
|
5
|
-
display: inline-flex;
|
|
6
|
-
flex-wrap: nowrap;
|
|
7
|
-
flex-direction: column;
|
|
8
|
-
opacity: 1;
|
|
9
|
-
|
|
10
|
-
& .track-container {
|
|
11
|
-
cursor: grab;
|
|
12
|
-
outline: 0;
|
|
2
|
+
position: relative;
|
|
13
3
|
width: 100%;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
position: relative;
|
|
20
|
-
outline: none;
|
|
21
|
-
background-color: var(--dl-color-separator);
|
|
22
|
-
|
|
23
|
-
& .selection {
|
|
24
|
-
background: currentColor;
|
|
25
|
-
border-radius: inherit;
|
|
26
|
-
width: 100%;
|
|
27
|
-
height: 100%;
|
|
28
|
-
position: absolute;
|
|
29
|
-
}
|
|
4
|
+
cursor: grab;
|
|
5
|
+
display: inline-flex;
|
|
6
|
+
flex-wrap: nowrap;
|
|
7
|
+
flex-direction: column;
|
|
8
|
+
opacity: 1;
|
|
30
9
|
|
|
31
|
-
|
|
32
|
-
|
|
10
|
+
& .track-container {
|
|
11
|
+
cursor: grab;
|
|
33
12
|
outline: 0;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
13
|
+
width: 100%;
|
|
14
|
+
padding: 4px 0;
|
|
15
|
+
|
|
16
|
+
& .track {
|
|
17
|
+
height: 2px;
|
|
18
|
+
width: inherit;
|
|
19
|
+
position: relative;
|
|
20
|
+
outline: none;
|
|
21
|
+
background-color: var(--dl-color-separator);
|
|
22
|
+
|
|
23
|
+
& .selection {
|
|
24
|
+
background: currentColor;
|
|
25
|
+
border-radius: inherit;
|
|
26
|
+
width: 100%;
|
|
27
|
+
height: 100%;
|
|
28
|
+
position: absolute;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
& .thumb {
|
|
32
|
+
z-index: 1;
|
|
33
|
+
outline: 0;
|
|
34
|
+
transition: transform 0.18s ease-out, fill 0.18s ease-out,
|
|
35
|
+
stroke 0.18s ease-out;
|
|
36
|
+
top: 50%;
|
|
37
|
+
transform: scale(1) translate(-50%, -50%);
|
|
38
|
+
position: absolute;
|
|
39
|
+
user-select: none;
|
|
40
|
+
border-radius: 50%;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
42
43
|
}
|
|
43
|
-
}
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
.slider-content {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
47
|
+
font-size: var(--dl-font-size-body);
|
|
48
|
+
line-height: 13px;
|
|
49
|
+
color: var(--text-color);
|
|
50
|
+
|
|
51
|
+
.disabled {
|
|
52
|
+
color: var(--dl-color-separator);
|
|
53
|
+
cursor: not-allowed;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.readonly {
|
|
57
|
+
cursor: auto;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
#slider-input {
|
|
61
|
+
padding: 3px 5px;
|
|
62
|
+
}
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
.slider {
|
|
66
|
-
display: flex;
|
|
67
|
-
justify-content: center;
|
|
68
|
-
width: var(--width);
|
|
69
|
-
|
|
70
|
-
& .slider-bar-container {
|
|
71
66
|
display: flex;
|
|
72
|
-
|
|
73
|
-
width:
|
|
74
|
-
|
|
75
|
-
|
|
67
|
+
justify-content: center;
|
|
68
|
+
width: var(--width);
|
|
69
|
+
|
|
70
|
+
& .slider-bar-container {
|
|
71
|
+
display: flex;
|
|
72
|
+
align-items: center;
|
|
73
|
+
width: calc(100% - var(--thumb-size));
|
|
74
|
+
align-self: center;
|
|
75
|
+
}
|
|
76
76
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
77
|
+
& .text {
|
|
78
|
+
padding: 0;
|
|
79
|
+
margin-right: 5px;
|
|
80
|
+
text-align: left;
|
|
81
|
+
}
|
|
82
82
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
& .capitalize::first-letter {
|
|
84
|
+
text-transform: capitalize;
|
|
85
|
+
}
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
.slim {
|
|
89
|
-
|
|
90
|
-
|
|
89
|
+
align-items: center;
|
|
90
|
+
flex-direction: row;
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
.non-slim {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
94
|
+
flex-direction: column;
|
|
95
|
+
|
|
96
|
+
& .header {
|
|
97
|
+
display: flex;
|
|
98
|
+
justify-content: space-between;
|
|
99
|
+
align-items: center;
|
|
100
|
+
margin-bottom: 10px;
|
|
101
|
+
|
|
102
|
+
& .right-container {
|
|
103
|
+
display: flex;
|
|
104
|
+
align-items: center;
|
|
105
|
+
justify-content: space-between;
|
|
106
|
+
& > * {
|
|
107
|
+
margin: 0px 5px;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
109
110
|
}
|
|
110
|
-
}
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
// override the button padding
|
|
114
114
|
.dl-button {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}
|
|
115
|
+
padding: 0;
|
|
116
|
+
font-size: var(--dl-font-size-body);
|
|
117
|
+
}
|