@milaboratories/uikit 2.2.17 → 2.2.18
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/CHANGELOG.md +7 -0
- package/dist/pl-uikit.js +3217 -2988
- package/dist/pl-uikit.umd.cjs +6 -6
- package/dist/src/components/ContextProvider.vue.d.ts +7 -8
- package/dist/src/components/DataTable/AddColumnBtn.vue.d.ts +1 -1
- package/dist/src/components/DataTable/BaseCellComponent.vue.d.ts +5 -8
- package/dist/src/components/DataTable/ColumnCaret.vue.d.ts +3 -4
- package/dist/src/components/DataTable/TScroll.vue.d.ts +5 -8
- package/dist/src/components/DataTable/TableComponent.vue.d.ts +5 -6
- package/dist/src/components/DataTable/TdCell.vue.d.ts +3 -4
- package/dist/src/components/DataTable/ThCell.vue.d.ts +5 -6
- package/dist/src/components/DataTable/TrBody.vue.d.ts +6 -6
- package/dist/src/components/DataTable/TrHead.vue.d.ts +3 -2
- package/dist/src/components/DataTable/assets/TableIcon.vue.d.ts +1 -1
- package/dist/src/components/DropdownListItem.vue.d.ts +5 -10
- package/dist/src/components/GridTable/AddColumnBtn.vue.d.ts +1 -1
- package/dist/src/components/GridTable/TRow.vue.d.ts +8 -10
- package/dist/src/components/GridTable/TdCell.vue.d.ts +10 -12
- package/dist/src/components/GridTable/ThCell.vue.d.ts +5 -8
- package/dist/src/components/GridTable/assets/TableIcon.vue.d.ts +1 -1
- package/dist/src/components/GridTable/index.vue.d.ts +8 -8
- package/dist/src/components/HScroll.vue.d.ts +4 -7
- package/dist/src/components/InputRange.vue.d.ts +4 -6
- package/dist/src/components/LongText.vue.d.ts +3 -2
- package/dist/src/components/PlAccordion/ExpandTransition.vue.d.ts +2 -1
- package/dist/src/components/PlAccordion/PlAccordion.vue.d.ts +6 -5
- package/dist/src/components/PlAccordion/PlAccordionSection.vue.d.ts +6 -5
- package/dist/src/components/PlBtnGhost/PlBtnGhost.vue.d.ts +1 -1
- package/dist/src/components/PlBtnGroup/PlBtnGroup.vue.d.ts +1 -1
- package/dist/src/components/PlBtnLink/PlBtnLink.vue.d.ts +12 -35
- package/dist/src/components/PlBtnSplit/PlBtnSplit.vue.d.ts +3 -4
- package/dist/src/components/PlCheckbox/PlCheckboxBase.vue.d.ts +5 -7
- package/dist/src/components/PlCheckboxGroup/PlCheckboxGroup.vue.d.ts +1 -1
- package/dist/src/components/PlChip/PlChip.vue.d.ts +8 -9
- package/dist/src/components/PlDropdown/PlDropdown.vue.d.ts +1 -1
- package/dist/src/components/PlDropdownLegacy/PlDropdownLegacy.vue.d.ts +1 -1
- package/dist/src/components/PlDropdownLine/PlDropdownLine.vue.d.ts +16 -23
- package/dist/src/components/PlDropdownLine/ResizableInput.vue.d.ts +5 -11
- package/dist/src/components/PlDropdownMulti/PlDropdownMulti.vue.d.ts +1 -1
- package/dist/src/components/PlDropdownRef/PlDropdownRef.vue.d.ts +1 -1
- package/dist/src/components/PlEditableTitle/PlEditableTitle.vue.d.ts +5 -5
- package/dist/src/components/PlFileDialog/Local.vue.d.ts +8 -0
- package/dist/src/components/PlFileDialog/PlFileDialog.vue.d.ts +84 -12
- package/dist/src/components/PlFileDialog/Remote.vue.d.ts +28 -0
- package/dist/src/components/PlFileDialog/remote.d.ts +20 -0
- package/dist/src/components/PlFileDialog/utils.d.ts +1 -0
- package/dist/src/components/PlFileInput/PlFileInput.vue.d.ts +18 -65
- package/dist/src/components/PlIcon16/PlIcon16.vue.d.ts +3 -5
- package/dist/src/components/PlIcon24/PlIcon24.vue.d.ts +3 -5
- package/dist/src/components/PlLogView/PlLogView.vue.d.ts +1 -1
- package/dist/src/components/PlMaskIcon16/PlMaskIcon16.vue.d.ts +3 -5
- package/dist/src/components/PlMaskIcon24/PlMaskIcon24.vue.d.ts +3 -5
- package/dist/src/components/PlNotificationAlert/PlNotificationAlert.vue.d.ts +6 -5
- package/dist/src/components/PlNumberField/PlNumberField.vue.d.ts +3 -2
- package/dist/src/components/PlProgressBar/PlProgressBar.vue.d.ts +3 -6
- package/dist/src/components/PlSearchField/PlSearchField.vue.d.ts +12 -0
- package/dist/src/components/PlSearchField/index.d.ts +1 -0
- package/dist/src/components/PlSectionSeparator/PlSectionSeparator.vue.d.ts +9 -12
- package/dist/src/components/PlSpacer/PlSpacer.vue.d.ts +1 -1
- package/dist/src/components/PlTabs/PlTabs.vue.d.ts +1 -1
- package/dist/src/components/PlTabs/Tab.vue.d.ts +6 -6
- package/dist/src/components/PlTextArea/PlTextArea.vue.d.ts +1 -1
- package/dist/src/components/PlTextField/PlTextField.vue.d.ts +3 -5
- package/dist/src/components/PlToggleSwitch/PlToggleSwitch.vue.d.ts +1 -1
- package/dist/src/components/PlTooltip/Beak.vue.d.ts +1 -1
- package/dist/src/components/Scrollable.vue.d.ts +3 -2
- package/dist/src/components/Slider.vue.d.ts +18 -28
- package/dist/src/components/SliderRange.vue.d.ts +18 -28
- package/dist/src/components/SliderRangeTriple.vue.d.ts +19 -29
- package/dist/src/components/TabItem.vue.d.ts +4 -7
- package/dist/src/components/ThemeSwitcher.vue.d.ts +1 -1
- package/dist/src/components/TransitionSlidePanel.vue.d.ts +2 -1
- package/dist/src/components/VScroll.vue.d.ts +4 -7
- package/dist/src/components/contextMenu/Menu.vue.d.ts +5 -6
- package/dist/src/drafts/FileBaseInput.vue.d.ts +3 -2
- package/dist/src/index.d.ts +1 -0
- package/dist/src/layout/PlBlockPage/PlBlockPage.vue.d.ts +1 -1
- package/dist/src/layout/PlContainer/PlContainer.vue.d.ts +1 -1
- package/dist/src/layout/PlGrid/PlGrid.vue.d.ts +1 -1
- package/dist/src/layout/PlRow/PlRow.vue.d.ts +1 -1
- package/dist/src/layout/PlSpacer/PlSpacer.vue.d.ts +1 -1
- package/dist/src/types.d.ts +1 -1
- package/dist/src/utils/CloseModalBtn.vue.d.ts +1 -1
- package/dist/style.css +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +8 -8
- package/src/components/PlBtnSplit/PlBtnSplit.vue +1 -2
- package/src/components/PlDialogModal/pl-dialog-modal.scss +0 -1
- package/src/components/PlFileDialog/Local.vue +95 -0
- package/src/components/PlFileDialog/PlFileDialog.vue +63 -310
- package/src/components/PlFileDialog/Remote.vue +313 -0
- package/src/components/PlFileDialog/pl-file-dialog.module.scss +247 -0
- package/src/components/PlFileDialog/remote.ts +45 -0
- package/src/components/PlFileDialog/utils.ts +5 -0
- package/src/components/PlFileInput/pl-file-input.scss +2 -5
- package/src/components/PlSearchField/PlSearchField.vue +85 -0
- package/src/components/PlSearchField/index.ts +1 -0
- package/src/components/PlTabs/Tab.vue +0 -1
- package/src/index.ts +1 -0
- package/src/types.ts +1 -1
- package/src/components/PlFileDialog/pl-file-dialog.scss +0 -172
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
<script lang="ts" setup>
|
|
2
|
+
import { PlIcon16 } from '../PlIcon16';
|
|
3
|
+
import { PlIcon24 } from '../PlIcon24';
|
|
4
|
+
import { computed, ref } from 'vue';
|
|
5
|
+
|
|
6
|
+
const emit = defineEmits(['update:modelValue']);
|
|
7
|
+
|
|
8
|
+
const props = defineProps<{
|
|
9
|
+
modelValue?: string;
|
|
10
|
+
clearable?: boolean;
|
|
11
|
+
placeholder?: string;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
}>();
|
|
14
|
+
|
|
15
|
+
const root = ref<HTMLInputElement | undefined>(undefined);
|
|
16
|
+
const input = ref<HTMLInputElement | undefined>();
|
|
17
|
+
|
|
18
|
+
const value = computed({
|
|
19
|
+
get() {
|
|
20
|
+
return props.modelValue ?? '';
|
|
21
|
+
},
|
|
22
|
+
set(v) {
|
|
23
|
+
emit('update:modelValue', v);
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
const nonEmpty = computed(() => !!props.modelValue);
|
|
28
|
+
|
|
29
|
+
const clear = () => emit('update:modelValue', '');
|
|
30
|
+
</script>
|
|
31
|
+
|
|
32
|
+
<template>
|
|
33
|
+
<div ref="root" class="pl-search-field" :class="[$style.component]">
|
|
34
|
+
<PlIcon24 name="search" />
|
|
35
|
+
<input ref="input" v-model="value" :disabled="disabled" type="text" :placeholder="placeholder || 'Find...'" spellcheck="false" />
|
|
36
|
+
<PlIcon16 v-if="clearable && nonEmpty" :class="$style.clear" name="delete-clear" @click.stop="clear" />
|
|
37
|
+
</div>
|
|
38
|
+
</template>
|
|
39
|
+
|
|
40
|
+
<style lang="scss" module>
|
|
41
|
+
.component {
|
|
42
|
+
--pl-search-field-border-bottom-color: var(--txt-01);
|
|
43
|
+
--pl-search-field-bg: transparent;
|
|
44
|
+
--pl-search-field-caret-color: auto;
|
|
45
|
+
--pl-search-field-clear-display: none;
|
|
46
|
+
|
|
47
|
+
position: relative;
|
|
48
|
+
display: flex;
|
|
49
|
+
align-items: center;
|
|
50
|
+
min-height: calc(var(--control-height) - 2px);
|
|
51
|
+
line-height: calc(var(--control-height) - 2px);
|
|
52
|
+
background-color: var(--pl-search-field-bg);
|
|
53
|
+
padding: 0 0 0 0;
|
|
54
|
+
border-bottom: 2px solid var(--pl-search-field-border-bottom-color);
|
|
55
|
+
|
|
56
|
+
input {
|
|
57
|
+
margin-left: 8px;
|
|
58
|
+
height: 20px;
|
|
59
|
+
border: none;
|
|
60
|
+
outline: none;
|
|
61
|
+
background-color: transparent;
|
|
62
|
+
caret-color: var(--txt-focus);
|
|
63
|
+
font-size: 14px;
|
|
64
|
+
font-weight: 500;
|
|
65
|
+
line-height: 20px;
|
|
66
|
+
caret-color: var(--pl-search-field-caret-color);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
&:focus-within {
|
|
70
|
+
--pl-search-field-border-bottom-color: var(--txt-focus);
|
|
71
|
+
--pl-search-field-caret-color: var(--border-color-focus);
|
|
72
|
+
--pl-search-field-clear-display: block;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
&:hover {
|
|
76
|
+
--pl-search-field-clear-display: block;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.clear {
|
|
80
|
+
cursor: pointer;
|
|
81
|
+
margin-left: auto;
|
|
82
|
+
display: var(--pl-search-field-clear-display);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
</style>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as PlSearchField } from './PlSearchField.vue';
|
package/src/index.ts
CHANGED
|
@@ -28,6 +28,7 @@ export * from './components/PlBtnLink';
|
|
|
28
28
|
export * from './components/PlBtnGroup';
|
|
29
29
|
export * from './components/PlEditableTitle';
|
|
30
30
|
export * from './components/PlTextField';
|
|
31
|
+
export * from './components/PlSearchField';
|
|
31
32
|
export * from './components/PlTextArea';
|
|
32
33
|
export * from './components/PlDropdown';
|
|
33
34
|
export * from './components/PlDropdownRef';
|
package/src/types.ts
CHANGED
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
@import "@/assets/mixins";
|
|
2
|
-
|
|
3
|
-
.file-dialog {
|
|
4
|
-
display: flex;
|
|
5
|
-
flex-direction: column;
|
|
6
|
-
gap: 24px;
|
|
7
|
-
overflow: auto;
|
|
8
|
-
|
|
9
|
-
&__search {
|
|
10
|
-
padding-top: 6px;
|
|
11
|
-
display: flex;
|
|
12
|
-
flex-direction: column;
|
|
13
|
-
gap: 24px;
|
|
14
|
-
margin: 0 24px;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.ls-container {
|
|
18
|
-
display: flex;
|
|
19
|
-
flex-direction: column;
|
|
20
|
-
border-top: 1px solid var(--border-color-div-grey);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.ls-head {
|
|
24
|
-
display: flex;
|
|
25
|
-
align-items: center;
|
|
26
|
-
gap: 6px;
|
|
27
|
-
height: 40px;
|
|
28
|
-
font-size: 11px;
|
|
29
|
-
font-style: normal;
|
|
30
|
-
font-weight: 600;
|
|
31
|
-
line-height: 12px;
|
|
32
|
-
letter-spacing: 0.44px;
|
|
33
|
-
border-bottom: 1px solid var(--border-color-div-grey);
|
|
34
|
-
background-color: var(--bg-base-light);
|
|
35
|
-
padding: 0 24px;
|
|
36
|
-
&__selected {
|
|
37
|
-
font-size: 11px;
|
|
38
|
-
font-weight: 600;
|
|
39
|
-
letter-spacing: 0.44px;
|
|
40
|
-
text-transform: uppercase;
|
|
41
|
-
}
|
|
42
|
-
> div {
|
|
43
|
-
cursor: pointer;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
&__breadcrumbs {
|
|
47
|
-
color: var(--txt-01);
|
|
48
|
-
font-size: 14px;
|
|
49
|
-
font-weight: 600;
|
|
50
|
-
|
|
51
|
-
display: flex;
|
|
52
|
-
flex-direction: row;
|
|
53
|
-
align-items: center;
|
|
54
|
-
gap: 2px;
|
|
55
|
-
|
|
56
|
-
> div {
|
|
57
|
-
display: flex;
|
|
58
|
-
flex-direction: row;
|
|
59
|
-
align-items: center;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
i {
|
|
63
|
-
display: inline-block;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
.ls-error {
|
|
69
|
-
display: flex;
|
|
70
|
-
flex-direction: column;
|
|
71
|
-
gap: 24px;
|
|
72
|
-
align-items: center;
|
|
73
|
-
background-color: var(--bg-base-light);
|
|
74
|
-
height: 366px;
|
|
75
|
-
&__cat {
|
|
76
|
-
margin-top: 40px;
|
|
77
|
-
width: 240px;
|
|
78
|
-
height: 200px;
|
|
79
|
-
background: url('@/assets/images/no-data-cat.svg');
|
|
80
|
-
}
|
|
81
|
-
&__message {
|
|
82
|
-
color: var(--txt-mask);
|
|
83
|
-
text-align: center;
|
|
84
|
-
font-size: 28px;
|
|
85
|
-
line-height: 28px;
|
|
86
|
-
font-weight: 500;
|
|
87
|
-
letter-spacing: -0.56px;
|
|
88
|
-
overflow: hidden;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
.ls-empty {
|
|
93
|
-
display: flex;
|
|
94
|
-
flex-direction: column;
|
|
95
|
-
gap: 24px;
|
|
96
|
-
align-items: center;
|
|
97
|
-
background-color: var(--bg-base-light);
|
|
98
|
-
height: 366px;
|
|
99
|
-
&__cat {
|
|
100
|
-
margin-top: 40px;
|
|
101
|
-
width: 400px;
|
|
102
|
-
height: 200px;
|
|
103
|
-
background: url('@/assets/images/empty-cat.svg');
|
|
104
|
-
}
|
|
105
|
-
&__message {
|
|
106
|
-
color: var(--txt-mask);
|
|
107
|
-
text-align: center;
|
|
108
|
-
font-size: 28px;
|
|
109
|
-
font-weight: 500;
|
|
110
|
-
letter-spacing: -0.56px;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
.ls-body {
|
|
115
|
-
padding: 12px;
|
|
116
|
-
height: 366px;
|
|
117
|
-
overflow: auto;
|
|
118
|
-
user-select: none;
|
|
119
|
-
display: flex;
|
|
120
|
-
flex-direction: column;
|
|
121
|
-
@include scrollbar(true);
|
|
122
|
-
> div {
|
|
123
|
-
font-family: var(--font-family-monospace);
|
|
124
|
-
color: var(--txt-01);
|
|
125
|
-
font-feature-settings: 'ss11' on, 'ss15' on, 'ss17' on;
|
|
126
|
-
font-size: 14px;
|
|
127
|
-
font-weight: 400;
|
|
128
|
-
display: flex;
|
|
129
|
-
align-items: center;
|
|
130
|
-
min-height: 24px;
|
|
131
|
-
gap: 12px;
|
|
132
|
-
padding: 0 12px;
|
|
133
|
-
> span {
|
|
134
|
-
display: inline-block;
|
|
135
|
-
white-space: nowrap;
|
|
136
|
-
overflow: hidden;
|
|
137
|
-
}
|
|
138
|
-
> i {
|
|
139
|
-
min-width: 16px;
|
|
140
|
-
}
|
|
141
|
-
i.isFile {
|
|
142
|
-
display: inline-block;
|
|
143
|
-
background-color: #CFD1DB;
|
|
144
|
-
}
|
|
145
|
-
&.isDir {
|
|
146
|
-
cursor: pointer;
|
|
147
|
-
&:hover {
|
|
148
|
-
text-decoration: underline;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
&.canBeSelected {
|
|
152
|
-
color: var(--txt-01);
|
|
153
|
-
&.selected {
|
|
154
|
-
background-color: var(--btn-active-select);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
.ls-loader {
|
|
161
|
-
display: flex;
|
|
162
|
-
align-items: center;
|
|
163
|
-
justify-items: center;
|
|
164
|
-
height: 366px;
|
|
165
|
-
transform: scale(4);
|
|
166
|
-
.loader-icon {
|
|
167
|
-
animation: spin 4s linear infinite;
|
|
168
|
-
background-color: #ccc;
|
|
169
|
-
margin: auto;
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
}
|