@pequity/squirrel 1.0.20-beta.3 → 1.0.20
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/squirrel.cjs.js +5 -0
- package/dist/squirrel.es.js +8220 -0
- package/dist/style.css +1 -2124
- package/package.json +20 -22
- package/dist/cjs/chunks/_plugin-vue_export-helper.js +0 -9
- package/dist/cjs/chunks/p-action-bar.js +0 -60
- package/dist/cjs/chunks/p-card.js +0 -28
- package/dist/cjs/chunks/p-checkbox.js +0 -24
- package/dist/cjs/chunks/p-dropdown-select.js +0 -414
- package/dist/cjs/chunks/p-input-percent.js +0 -53
- package/dist/cjs/chunks/p-pagination-info.js +0 -66
- package/dist/cjs/chunks/p-pagination.js +0 -122
- package/dist/cjs/chunks/p-ring-loader.js +0 -81
- package/dist/cjs/chunks/p-select-btn.js +0 -97
- package/dist/cjs/chunks/p-select.js +0 -123
- package/dist/cjs/chunks/p-table-loader.js +0 -70
- package/dist/cjs/chunks/p-tabs.js +0 -52
- package/dist/cjs/config.js +0 -105
- package/dist/cjs/currency.js +0 -9
- package/dist/cjs/dom.js +0 -27
- package/dist/cjs/index.js +0 -976
- package/dist/cjs/inputClassesMixin.js +0 -50
- package/dist/cjs/inputClassesShared.js +0 -76
- package/dist/cjs/listKeyboardNavigation.js +0 -110
- package/dist/cjs/number.js +0 -9
- package/dist/cjs/object.js +0 -4
- package/dist/cjs/p-action-bar.js +0 -3
- package/dist/cjs/p-alert.js +0 -65
- package/dist/cjs/p-avatar.js +0 -71
- package/dist/cjs/p-btn.js +0 -361
- package/dist/cjs/p-card.js +0 -3
- package/dist/cjs/p-checkbox.js +0 -3
- package/dist/cjs/p-chips.js +0 -110
- package/dist/cjs/p-close-btn.js +0 -36
- package/dist/cjs/p-date-picker.js +0 -139
- package/dist/cjs/p-drawer.js +0 -253
- package/dist/cjs/p-dropdown-select.js +0 -3
- package/dist/cjs/p-dropdown.js +0 -138
- package/dist/cjs/p-file-upload.js +0 -21
- package/dist/cjs/p-info-icon.js +0 -35
- package/dist/cjs/p-inline-date-picker.js +0 -142
- package/dist/cjs/p-input-number.js +0 -146
- package/dist/cjs/p-input-percent.js +0 -3
- package/dist/cjs/p-input-search.js +0 -110
- package/dist/cjs/p-input.js +0 -89
- package/dist/cjs/p-loading.js +0 -38
- package/dist/cjs/p-modal.js +0 -369
- package/dist/cjs/p-pagination-info.js +0 -3
- package/dist/cjs/p-pagination.js +0 -3
- package/dist/cjs/p-progress-bar.js +0 -41
- package/dist/cjs/p-ring-loader.js +0 -3
- package/dist/cjs/p-select-btn.js +0 -3
- package/dist/cjs/p-select-list.js +0 -4
- package/dist/cjs/p-select-pill.js +0 -111
- package/dist/cjs/p-select.js +0 -3
- package/dist/cjs/p-skeleton-loader.js +0 -73
- package/dist/cjs/p-table-filter-icon.js +0 -20
- package/dist/cjs/p-table-header-cell.js +0 -75
- package/dist/cjs/p-table-loader.js +0 -3
- package/dist/cjs/p-table-sort.js +0 -8
- package/dist/cjs/p-table-td.js +0 -88
- package/dist/cjs/p-table.js +0 -12
- package/dist/cjs/p-tabs.js +0 -3
- package/dist/cjs/p-textarea.js +0 -73
- package/dist/cjs/p-toggle.js +0 -114
- package/dist/cjs/pagination.js +0 -29
- package/dist/cjs/string.js +0 -12
- package/dist/cjs/tailwind.js +0 -4353
- package/dist/cjs/text.js +0 -16
- package/dist/cjs/useInputClasses.js +0 -44
- package/dist/cjs/usePLoading.js +0 -35
- package/dist/cjs/usePModal.js +0 -21
- package/dist/cjs/usePTableColResize.js +0 -81
- package/dist/cjs/usePTableRowVirtualizer.js +0 -31
- package/dist/cjs/useSelectList.js +0 -256
- package/dist/es/chunks/_plugin-vue_export-helper.js +0 -10
- package/dist/es/chunks/p-action-bar.js +0 -61
- package/dist/es/chunks/p-card.js +0 -29
- package/dist/es/chunks/p-checkbox.js +0 -25
- package/dist/es/chunks/p-dropdown-select.js +0 -415
- package/dist/es/chunks/p-input-percent.js +0 -54
- package/dist/es/chunks/p-pagination-info.js +0 -67
- package/dist/es/chunks/p-pagination.js +0 -123
- package/dist/es/chunks/p-ring-loader.js +0 -82
- package/dist/es/chunks/p-select-btn.js +0 -98
- package/dist/es/chunks/p-select.js +0 -124
- package/dist/es/chunks/p-table-loader.js +0 -71
- package/dist/es/chunks/p-tabs.js +0 -53
- package/dist/es/config.js +0 -105
- package/dist/es/currency.js +0 -9
- package/dist/es/dom.js +0 -27
- package/dist/es/index.js +0 -978
- package/dist/es/inputClassesMixin.js +0 -51
- package/dist/es/inputClassesShared.js +0 -76
- package/dist/es/listKeyboardNavigation.js +0 -110
- package/dist/es/number.js +0 -9
- package/dist/es/object.js +0 -4
- package/dist/es/p-action-bar.js +0 -4
- package/dist/es/p-alert.js +0 -66
- package/dist/es/p-avatar.js +0 -72
- package/dist/es/p-btn.js +0 -362
- package/dist/es/p-card.js +0 -4
- package/dist/es/p-checkbox.js +0 -4
- package/dist/es/p-chips.js +0 -111
- package/dist/es/p-close-btn.js +0 -37
- package/dist/es/p-date-picker.js +0 -140
- package/dist/es/p-drawer.js +0 -254
- package/dist/es/p-dropdown-select.js +0 -4
- package/dist/es/p-dropdown.js +0 -139
- package/dist/es/p-file-upload.js +0 -21
- package/dist/es/p-info-icon.js +0 -36
- package/dist/es/p-inline-date-picker.js +0 -143
- package/dist/es/p-input-number.js +0 -147
- package/dist/es/p-input-percent.js +0 -4
- package/dist/es/p-input-search.js +0 -111
- package/dist/es/p-input.js +0 -90
- package/dist/es/p-loading.js +0 -39
- package/dist/es/p-modal.js +0 -370
- package/dist/es/p-pagination-info.js +0 -4
- package/dist/es/p-pagination.js +0 -4
- package/dist/es/p-progress-bar.js +0 -42
- package/dist/es/p-ring-loader.js +0 -4
- package/dist/es/p-select-btn.js +0 -4
- package/dist/es/p-select-list.js +0 -4
- package/dist/es/p-select-pill.js +0 -112
- package/dist/es/p-select.js +0 -4
- package/dist/es/p-skeleton-loader.js +0 -74
- package/dist/es/p-table-filter-icon.js +0 -21
- package/dist/es/p-table-header-cell.js +0 -76
- package/dist/es/p-table-loader.js +0 -4
- package/dist/es/p-table-sort.js +0 -8
- package/dist/es/p-table-td.js +0 -89
- package/dist/es/p-table.js +0 -12
- package/dist/es/p-tabs.js +0 -4
- package/dist/es/p-textarea.js +0 -74
- package/dist/es/p-toggle.js +0 -115
- package/dist/es/pagination.js +0 -29
- package/dist/es/string.js +0 -12
- package/dist/es/tailwind.js +0 -4353
- package/dist/es/text.js +0 -16
- package/dist/es/useInputClasses.js +0 -44
- package/dist/es/usePLoading.js +0 -35
- package/dist/es/usePModal.js +0 -21
- package/dist/es/usePTableColResize.js +0 -81
- package/dist/es/usePTableRowVirtualizer.js +0 -31
- package/dist/es/useSelectList.js +0 -256
package/dist/cjs/index.js
DELETED
|
@@ -1,976 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const config = require("./config.js");
|
|
4
|
-
const pActionBar_vue_vue_type_script_setup_true_lang = require("./chunks/p-action-bar.js");
|
|
5
|
-
const pAlert = require("./p-alert.js");
|
|
6
|
-
const pAvatar = require("./p-avatar.js");
|
|
7
|
-
const pBtn = require("./p-btn.js");
|
|
8
|
-
const pCard_vue_vue_type_script_setup_true_lang = require("./chunks/p-card.js");
|
|
9
|
-
const pCheckbox_vue_vue_type_script_setup_true_lang = require("./chunks/p-checkbox.js");
|
|
10
|
-
const pChips = require("./p-chips.js");
|
|
11
|
-
const pCloseBtn = require("./p-close-btn.js");
|
|
12
|
-
const pDatePicker = require("./p-date-picker.js");
|
|
13
|
-
const pDrawer = require("./p-drawer.js");
|
|
14
|
-
const pDropdown = require("./p-dropdown.js");
|
|
15
|
-
const pDropdownSelect_vue_vue_type_script_setup_true_lang = require("./chunks/p-dropdown-select.js");
|
|
16
|
-
const vue = require("vue");
|
|
17
|
-
const pFileUpload$1 = require("./p-file-upload.js");
|
|
18
|
-
const lodashEs = require("lodash-es");
|
|
19
|
-
const useInputClasses = require("./useInputClasses.js");
|
|
20
|
-
const vueToastification = require("vue-toastification");
|
|
21
|
-
const _pluginVue_exportHelper = require("./chunks/_plugin-vue_export-helper.js");
|
|
22
|
-
const pTableFilterIcon = require("./p-table-filter-icon.js");
|
|
23
|
-
const pInfoIcon = require("./p-info-icon.js");
|
|
24
|
-
const pInlineDatePicker = require("./p-inline-date-picker.js");
|
|
25
|
-
const pInput = require("./p-input.js");
|
|
26
|
-
const pInputNumber = require("./p-input-number.js");
|
|
27
|
-
const pInputPercent_vue_vue_type_script_setup_true_lang = require("./chunks/p-input-percent.js");
|
|
28
|
-
const pInputSearch = require("./p-input-search.js");
|
|
29
|
-
const pLoading = require("./p-loading.js");
|
|
30
|
-
const pModal = require("./p-modal.js");
|
|
31
|
-
const pPagination_vue_vue_type_script_setup_true_lang = require("./chunks/p-pagination.js");
|
|
32
|
-
const pPaginationInfo_vue_vue_type_script_setup_true_lang = require("./chunks/p-pagination-info.js");
|
|
33
|
-
const pProgressBar = require("./p-progress-bar.js");
|
|
34
|
-
const pRingLoader_vue_vue_type_script_setup_true_lang = require("./chunks/p-ring-loader.js");
|
|
35
|
-
const pSelect_vue_vue_type_script_setup_true_lang = require("./chunks/p-select.js");
|
|
36
|
-
const pSelectBtn_vue_vue_type_script_setup_true_lang = require("./chunks/p-select-btn.js");
|
|
37
|
-
const pSelectList = require("./p-select-list.js");
|
|
38
|
-
const text = require("./text.js");
|
|
39
|
-
const string = require("./string.js");
|
|
40
|
-
const useSelectList = require("./useSelectList.js");
|
|
41
|
-
const pSelectPill = require("./p-select-pill.js");
|
|
42
|
-
const pSkeletonLoader = require("./p-skeleton-loader.js");
|
|
43
|
-
const pTableHeaderCell = require("./p-table-header-cell.js");
|
|
44
|
-
const pTable$1 = require("./p-table.js");
|
|
45
|
-
const usePTableColResize = require("./usePTableColResize.js");
|
|
46
|
-
const pTableLoader_vue_vue_type_script_setup_true_lang = require("./chunks/p-table-loader.js");
|
|
47
|
-
const pTableSort$1 = require("./p-table-sort.js");
|
|
48
|
-
const pTableTd = require("./p-table-td.js");
|
|
49
|
-
const pTabs_vue_vue_type_script_setup_true_lang = require("./chunks/p-tabs.js");
|
|
50
|
-
const pTextarea = require("./p-textarea.js");
|
|
51
|
-
const pToggle = require("./p-toggle.js");
|
|
52
|
-
const usePLoading = require("./usePLoading.js");
|
|
53
|
-
const usePModal = require("./usePModal.js");
|
|
54
|
-
const usePTableRowVirtualizer = require("./usePTableRowVirtualizer.js");
|
|
55
|
-
const inputClassesMixin = require("./inputClassesMixin.js");
|
|
56
|
-
const currency = require("./currency.js");
|
|
57
|
-
const tailwind = require("./tailwind.js");
|
|
58
|
-
const inputClassesShared = require("./inputClassesShared.js");
|
|
59
|
-
const pagination = require("./pagination.js");
|
|
60
|
-
const dom = require("./dom.js");
|
|
61
|
-
const object = require("./object.js");
|
|
62
|
-
const listKeyboardNavigation = require("./listKeyboardNavigation.js");
|
|
63
|
-
const number = require("./number.js");
|
|
64
|
-
const _imports_0$1 = "data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M5.8335%206.25016L10.0002%202.0835L14.1668%206.25016'%20stroke='%23767189'%20stroke-width='1.25'%20/%3e%3cpath%20d='M10%202.0835V13.7502'%20stroke='%23767189'%20stroke-width='1.25'%20/%3e%3cpath%20d='M2.91675%2015V18.3333H17.0834V15'%20stroke='%23767189'%20stroke-width='1.25'%20/%3e%3c/svg%3e";
|
|
65
|
-
const _imports_1$1 = "data:image/svg+xml,%3csvg%20width='48'%20height='48'%20viewBox='0%200%2048%2048'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M33%2012H14V44H42V21L33%2012Z'%20stroke='%231A123B'%20stroke-width='3'%20/%3e%3cpath%20d='M9%2036H6V4H25L28%207'%20stroke='%231A123B'%20stroke-width='3'%20/%3e%3cpath%20d='M37%2030H19M28%2021V39'%20stroke='%231A123B'%20stroke-width='3'%20/%3e%3c/svg%3e";
|
|
66
|
-
const _withScopeId = (n) => (vue.pushScopeId("data-v-d07a8f64"), n = n(), vue.popScopeId(), n);
|
|
67
|
-
const _hoisted_1$3 = ["data-has-error"];
|
|
68
|
-
const _hoisted_2$3 = {
|
|
69
|
-
key: 0,
|
|
70
|
-
class: "flex h-28 flex-col items-center justify-center"
|
|
71
|
-
};
|
|
72
|
-
const _hoisted_3$3 = {
|
|
73
|
-
key: 0,
|
|
74
|
-
class: "flex flex-col items-center"
|
|
75
|
-
};
|
|
76
|
-
const _hoisted_4$3 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("img", {
|
|
77
|
-
src: _imports_0$1,
|
|
78
|
-
class: "h-8 w-8"
|
|
79
|
-
}, null, -1));
|
|
80
|
-
const _hoisted_5$3 = { class: "mt-2 text-p-gray-50" };
|
|
81
|
-
const _hoisted_6$3 = { class: "text-p-blue-60" };
|
|
82
|
-
const _hoisted_7$2 = {
|
|
83
|
-
key: 1,
|
|
84
|
-
class: "flex flex-col items-center"
|
|
85
|
-
};
|
|
86
|
-
const _hoisted_8 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("img", {
|
|
87
|
-
src: _imports_1$1,
|
|
88
|
-
class: "h-8 w-8"
|
|
89
|
-
}, null, -1));
|
|
90
|
-
const _hoisted_9 = { class: "mt-2 text-p-purple-60" };
|
|
91
|
-
const _hoisted_10 = ["accept", "multiple", "disabled"];
|
|
92
|
-
const _hoisted_11 = { class: "max-h-48 overflow-y-auto overflow-x-hidden" };
|
|
93
|
-
const _hoisted_12 = ["title"];
|
|
94
|
-
const _hoisted_13 = ["onClick"];
|
|
95
|
-
const _hoisted_14 = { class: "mt-1 text-xs text-p-gray-40" };
|
|
96
|
-
const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
|
|
97
|
-
...{
|
|
98
|
-
name: "PFileUpload"
|
|
99
|
-
},
|
|
100
|
-
__name: "p-file-upload",
|
|
101
|
-
props: {
|
|
102
|
-
modelValue: {
|
|
103
|
-
type: [Object, Array],
|
|
104
|
-
default: () => []
|
|
105
|
-
},
|
|
106
|
-
multiple: {
|
|
107
|
-
type: Boolean,
|
|
108
|
-
default: false
|
|
109
|
-
},
|
|
110
|
-
/**
|
|
111
|
-
* Array of file extensions to accept. If empty, all file types are accepted.
|
|
112
|
-
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers
|
|
113
|
-
*/
|
|
114
|
-
fileTypes: {
|
|
115
|
-
type: Array,
|
|
116
|
-
default: () => []
|
|
117
|
-
},
|
|
118
|
-
disabled: {
|
|
119
|
-
type: Boolean,
|
|
120
|
-
default: false
|
|
121
|
-
},
|
|
122
|
-
required: {
|
|
123
|
-
type: Boolean,
|
|
124
|
-
default: false
|
|
125
|
-
},
|
|
126
|
-
errorMsg: {
|
|
127
|
-
type: String,
|
|
128
|
-
default: ""
|
|
129
|
-
},
|
|
130
|
-
label: {
|
|
131
|
-
type: String,
|
|
132
|
-
default: ""
|
|
133
|
-
},
|
|
134
|
-
maxSizeInBytes: {
|
|
135
|
-
type: Number,
|
|
136
|
-
default: 256 * 1e3
|
|
137
|
-
// 256 KB
|
|
138
|
-
},
|
|
139
|
-
maxNumberOfFiles: {
|
|
140
|
-
type: Number,
|
|
141
|
-
default: 10
|
|
142
|
-
}
|
|
143
|
-
},
|
|
144
|
-
emits: ["update:modelValue", "file-removed", "file-added"],
|
|
145
|
-
setup(__props, { emit: __emit }) {
|
|
146
|
-
const props = __props;
|
|
147
|
-
const emit = __emit;
|
|
148
|
-
const fileInputRef = vue.shallowRef();
|
|
149
|
-
const isDraggingOver = vue.ref(false);
|
|
150
|
-
const toast = vueToastification.useToast();
|
|
151
|
-
const { labelClasses, errorMsgClasses } = useInputClasses.useInputClasses(props);
|
|
152
|
-
const fileWord = vue.computed(() => props.multiple ? "files" : "file");
|
|
153
|
-
const files = vue.computed({
|
|
154
|
-
get() {
|
|
155
|
-
return Array.isArray(props.modelValue) ? props.modelValue : [props.modelValue];
|
|
156
|
-
},
|
|
157
|
-
set(files2) {
|
|
158
|
-
if (props.multiple) {
|
|
159
|
-
emit("update:modelValue", files2);
|
|
160
|
-
} else {
|
|
161
|
-
emit("update:modelValue", files2[0]);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
});
|
|
165
|
-
const acceptFileTypes = vue.computed(() => {
|
|
166
|
-
return props.fileTypes.length > 0 ? lodashEs.uniq(props.fileTypes).join(",") : void 0;
|
|
167
|
-
});
|
|
168
|
-
const maxFilesReached = vue.computed(() => {
|
|
169
|
-
return props.multiple ? files.value.length >= props.maxNumberOfFiles : files.value.length >= 1;
|
|
170
|
-
});
|
|
171
|
-
const validateFiles = (filesToUpload) => {
|
|
172
|
-
const res = [];
|
|
173
|
-
for (let i = 0; i < filesToUpload.length; i++) {
|
|
174
|
-
const file = filesToUpload[i];
|
|
175
|
-
const fileName = file.name || file.url;
|
|
176
|
-
if (res.length + files.value.length >= props.maxNumberOfFiles) {
|
|
177
|
-
toast.error(`You can only upload a maximum of ${props.maxNumberOfFiles} ${fileWord.value}.`);
|
|
178
|
-
break;
|
|
179
|
-
}
|
|
180
|
-
if (!fileName) {
|
|
181
|
-
continue;
|
|
182
|
-
}
|
|
183
|
-
if (file.url) {
|
|
184
|
-
res.push(file);
|
|
185
|
-
continue;
|
|
186
|
-
}
|
|
187
|
-
if (props.fileTypes.length === 0)
|
|
188
|
-
;
|
|
189
|
-
else {
|
|
190
|
-
const extension = pFileUpload$1.getFileExtension(fileName) ? `.${pFileUpload$1.getFileExtension(fileName)}` : "";
|
|
191
|
-
const isValidExtension = extension ? props.fileTypes.includes(extension) : false;
|
|
192
|
-
if (!isValidExtension) {
|
|
193
|
-
toast.error(`${extension} files are not allowed.`);
|
|
194
|
-
continue;
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
if ((file.size || 0) > props.maxSizeInBytes) {
|
|
198
|
-
toast.error(`File size of ${fileName} exceeds ${pFileUpload$1.formatBytes(props.maxSizeInBytes)}.`);
|
|
199
|
-
continue;
|
|
200
|
-
}
|
|
201
|
-
res.push(file);
|
|
202
|
-
}
|
|
203
|
-
return res;
|
|
204
|
-
};
|
|
205
|
-
const uploadFile = (e) => {
|
|
206
|
-
var _a, _b;
|
|
207
|
-
const f = ((_a = e.target) == null ? void 0 : _a.files) || ((_b = e.dataTransfer) == null ? void 0 : _b.files);
|
|
208
|
-
if (!f) {
|
|
209
|
-
return;
|
|
210
|
-
}
|
|
211
|
-
const validatedFiles = props.fileTypes ? validateFiles(Array.from(f)) : f;
|
|
212
|
-
files.value = props.multiple ? [...files.value, ...validatedFiles] : validatedFiles;
|
|
213
|
-
emit("file-added", validatedFiles);
|
|
214
|
-
};
|
|
215
|
-
const changeFieldValue = (e) => {
|
|
216
|
-
uploadFile(e);
|
|
217
|
-
if (fileInputRef.value) {
|
|
218
|
-
fileInputRef.value.value = "";
|
|
219
|
-
}
|
|
220
|
-
};
|
|
221
|
-
const removeFile = (index) => {
|
|
222
|
-
if (index in files.value) {
|
|
223
|
-
const removedFile = files.value[index];
|
|
224
|
-
files.value = files.value.filter((item, idx) => idx !== index);
|
|
225
|
-
emit("file-removed", removedFile);
|
|
226
|
-
}
|
|
227
|
-
};
|
|
228
|
-
const onDrop = (e) => {
|
|
229
|
-
isDraggingOver.value = false;
|
|
230
|
-
changeFieldValue(e);
|
|
231
|
-
};
|
|
232
|
-
const openFileDialog = () => {
|
|
233
|
-
if (fileInputRef.value) {
|
|
234
|
-
fileInputRef.value.click();
|
|
235
|
-
}
|
|
236
|
-
};
|
|
237
|
-
vue.onMounted(() => {
|
|
238
|
-
if (Array.isArray(files.value) && files.value.length > 0) {
|
|
239
|
-
files.value = validateFiles(files.value);
|
|
240
|
-
}
|
|
241
|
-
});
|
|
242
|
-
return (_ctx, _cache) => {
|
|
243
|
-
return vue.openBlock(), vue.createElementBlock("div", {
|
|
244
|
-
class: vue.normalizeClass([{ hidden: _ctx.$attrs.hidden }]),
|
|
245
|
-
"data-has-error": !!__props.errorMsg
|
|
246
|
-
}, [
|
|
247
|
-
__props.label ? (vue.openBlock(), vue.createElementBlock("label", {
|
|
248
|
-
key: 0,
|
|
249
|
-
class: vue.normalizeClass(vue.unref(labelClasses))
|
|
250
|
-
}, vue.toDisplayString(__props.label), 3)) : vue.createCommentVNode("", true),
|
|
251
|
-
vue.createElementVNode("div", {
|
|
252
|
-
class: vue.normalizeClass(["flex w-full flex-col rounded border bg-surface p-4", [
|
|
253
|
-
{ "cursor-pointer": !maxFilesReached.value },
|
|
254
|
-
{ "border-dashed": !isDraggingOver.value },
|
|
255
|
-
{ "border-primary ring-1 ring-primary": isDraggingOver.value && !__props.errorMsg },
|
|
256
|
-
__props.errorMsg ? "border-on-error" : "border-p-gray-40 hover:border-primary",
|
|
257
|
-
{ "pointer-events-none opacity-50": __props.disabled }
|
|
258
|
-
]]),
|
|
259
|
-
"aria-label": "dropzone",
|
|
260
|
-
onDragover: _cache[1] || (_cache[1] = vue.withModifiers(($event) => isDraggingOver.value = true, ["prevent", "stop"])),
|
|
261
|
-
onDragleave: _cache[2] || (_cache[2] = vue.withModifiers(($event) => isDraggingOver.value = false, ["prevent", "stop"])),
|
|
262
|
-
onDrop: vue.withModifiers(onDrop, ["prevent", "stop"]),
|
|
263
|
-
onClick: openFileDialog
|
|
264
|
-
}, [
|
|
265
|
-
!maxFilesReached.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$3, [
|
|
266
|
-
!isDraggingOver.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$3, [
|
|
267
|
-
_hoisted_4$3,
|
|
268
|
-
vue.createElementVNode("div", _hoisted_5$3, [
|
|
269
|
-
vue.createTextVNode(" Drag or "),
|
|
270
|
-
vue.createElementVNode("span", _hoisted_6$3, "select " + vue.toDisplayString(fileWord.value), 1)
|
|
271
|
-
])
|
|
272
|
-
])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$2, [
|
|
273
|
-
_hoisted_8,
|
|
274
|
-
vue.createElementVNode("div", _hoisted_9, "Drop " + vue.toDisplayString(fileWord.value), 1)
|
|
275
|
-
])),
|
|
276
|
-
vue.createElementVNode("input", {
|
|
277
|
-
ref_key: "fileInputRef",
|
|
278
|
-
ref: fileInputRef,
|
|
279
|
-
type: "file",
|
|
280
|
-
class: "hidden",
|
|
281
|
-
tabindex: -1,
|
|
282
|
-
accept: acceptFileTypes.value,
|
|
283
|
-
multiple: __props.multiple,
|
|
284
|
-
disabled: __props.disabled,
|
|
285
|
-
"aria-hidden": "true",
|
|
286
|
-
onChange: changeFieldValue
|
|
287
|
-
}, null, 40, _hoisted_10)
|
|
288
|
-
])) : vue.createCommentVNode("", true),
|
|
289
|
-
vue.createElementVNode("div", _hoisted_11, [
|
|
290
|
-
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(files.value, (file, index) => {
|
|
291
|
-
return vue.openBlock(), vue.createElementBlock("div", {
|
|
292
|
-
key: index,
|
|
293
|
-
class: vue.normalizeClass([
|
|
294
|
-
"flex cursor-default items-center justify-between",
|
|
295
|
-
{ "border-b border-dashed border-p-gray-30 pb-4": index !== files.value.length - 1 },
|
|
296
|
-
{ "mt-4": index !== 0 }
|
|
297
|
-
]),
|
|
298
|
-
onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
|
|
299
|
-
}, ["stop"]))
|
|
300
|
-
}, [
|
|
301
|
-
vue.createElementVNode("div", {
|
|
302
|
-
class: "truncate",
|
|
303
|
-
title: file.name
|
|
304
|
-
}, vue.toDisplayString(file.name), 9, _hoisted_12),
|
|
305
|
-
vue.createElementVNode("button", {
|
|
306
|
-
class: "bg-file-upload-x-icon h-4 w-4 shrink-0 cursor-pointer",
|
|
307
|
-
onClick: vue.withModifiers(($event) => removeFile(index), ["stop"])
|
|
308
|
-
}, null, 8, _hoisted_13)
|
|
309
|
-
], 2);
|
|
310
|
-
}), 128))
|
|
311
|
-
])
|
|
312
|
-
], 34),
|
|
313
|
-
vue.withDirectives(vue.createElementVNode("div", {
|
|
314
|
-
class: vue.normalizeClass(vue.unref(errorMsgClasses))
|
|
315
|
-
}, vue.toDisplayString(__props.errorMsg), 3), [
|
|
316
|
-
[vue.vShow, __props.errorMsg]
|
|
317
|
-
]),
|
|
318
|
-
vue.createElementVNode("div", _hoisted_14, vue.toDisplayString(__props.multiple ? `Max ${__props.maxNumberOfFiles}` : "One") + " " + vue.toDisplayString(acceptFileTypes.value) + " " + vue.toDisplayString(__props.multiple ? "files" : "file") + " with size less than " + vue.toDisplayString(vue.unref(pFileUpload$1.formatBytes)(__props.maxSizeInBytes)) + " " + vue.toDisplayString(__props.multiple ? "each" : ""), 1)
|
|
319
|
-
], 10, _hoisted_1$3);
|
|
320
|
-
};
|
|
321
|
-
}
|
|
322
|
-
});
|
|
323
|
-
const pFileUpload = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main$3, [["__scopeId", "data-v-d07a8f64"]]);
|
|
324
|
-
const _hoisted_1$2 = ["data-has-error"];
|
|
325
|
-
const _hoisted_2$2 = { class: "text-p-purple-60" };
|
|
326
|
-
const _hoisted_3$2 = { class: "flex flex-row" };
|
|
327
|
-
const _hoisted_4$2 = /* @__PURE__ */ vue.createElementVNode("span", { class: "px-1 leading-none" }, ".", -1);
|
|
328
|
-
const _hoisted_5$2 = ["onClick"];
|
|
329
|
-
const _hoisted_6$2 = ["title"];
|
|
330
|
-
const _hoisted_7$1 = {
|
|
331
|
-
key: 0,
|
|
332
|
-
class: "ml-auto fill-p-purple-60 pl-2",
|
|
333
|
-
src: pDropdownSelect_vue_vue_type_script_setup_true_lang._imports_0
|
|
334
|
-
};
|
|
335
|
-
const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
336
|
-
...{
|
|
337
|
-
name: "PSelectList",
|
|
338
|
-
inheritAttrs: false
|
|
339
|
-
},
|
|
340
|
-
__name: "p-select-list",
|
|
341
|
-
props: {
|
|
342
|
-
modelValue: {
|
|
343
|
-
type: [String, Number, Boolean, Array, Object],
|
|
344
|
-
default: null
|
|
345
|
-
},
|
|
346
|
-
/**
|
|
347
|
-
* `p-select-list v-model normally works with a string or an array of strings (for multiple mode).
|
|
348
|
-
* Setting this prop to `true` will switch the behavior to an object (or array of objects) for the v-model value.
|
|
349
|
-
* e.g `:value="{ value: 1, text: 'option text' }"`
|
|
350
|
-
*/
|
|
351
|
-
valueIsObject: {
|
|
352
|
-
type: Boolean,
|
|
353
|
-
default: false
|
|
354
|
-
},
|
|
355
|
-
/**
|
|
356
|
-
* Can be an array of objects or array of strings. When using objects, will look for a text - value pair.
|
|
357
|
-
* This can be changed using the item-text, item-value props.
|
|
358
|
-
*/
|
|
359
|
-
items: {
|
|
360
|
-
type: Array,
|
|
361
|
-
default: () => []
|
|
362
|
-
},
|
|
363
|
-
label: {
|
|
364
|
-
type: String,
|
|
365
|
-
default: ""
|
|
366
|
-
},
|
|
367
|
-
errorMsg: {
|
|
368
|
-
type: String,
|
|
369
|
-
default: ""
|
|
370
|
-
},
|
|
371
|
-
required: {
|
|
372
|
-
type: Boolean,
|
|
373
|
-
default: false
|
|
374
|
-
},
|
|
375
|
-
size: {
|
|
376
|
-
type: String,
|
|
377
|
-
default: "md",
|
|
378
|
-
validator(value) {
|
|
379
|
-
return Object.keys(pSelectList.SIZES).includes(value);
|
|
380
|
-
}
|
|
381
|
-
},
|
|
382
|
-
/**
|
|
383
|
-
* Set property of **items**’s text value
|
|
384
|
-
*/
|
|
385
|
-
itemText: {
|
|
386
|
-
type: String,
|
|
387
|
-
default: "text"
|
|
388
|
-
},
|
|
389
|
-
/**
|
|
390
|
-
* Set property of **items**’s value - must be primitive.
|
|
391
|
-
*/
|
|
392
|
-
itemValue: {
|
|
393
|
-
type: [String, Number],
|
|
394
|
-
default: "value"
|
|
395
|
-
},
|
|
396
|
-
/**
|
|
397
|
-
* itemSize sets the list item's height and it's REQUIRED if a custom item template is used
|
|
398
|
-
* https://github.com/Akryum/vue-virtual-scroller/tree/v1/packages/vue-virtual-scroller#props
|
|
399
|
-
*/
|
|
400
|
-
itemSize: {
|
|
401
|
-
type: Number,
|
|
402
|
-
default: null
|
|
403
|
-
},
|
|
404
|
-
/**
|
|
405
|
-
* The number of items visible in the list
|
|
406
|
-
*/
|
|
407
|
-
itemsVisible: {
|
|
408
|
-
type: Number,
|
|
409
|
-
default: 7
|
|
410
|
-
},
|
|
411
|
-
searchable: {
|
|
412
|
-
type: Boolean,
|
|
413
|
-
default: false
|
|
414
|
-
},
|
|
415
|
-
/**
|
|
416
|
-
* Enables multiple selection
|
|
417
|
-
*/
|
|
418
|
-
multiple: {
|
|
419
|
-
type: Boolean,
|
|
420
|
-
default: false
|
|
421
|
-
},
|
|
422
|
-
/**
|
|
423
|
-
* Dropdown button text
|
|
424
|
-
*/
|
|
425
|
-
placeholder: {
|
|
426
|
-
type: String,
|
|
427
|
-
default: ""
|
|
428
|
-
},
|
|
429
|
-
/**
|
|
430
|
-
* Placeholder for the search field
|
|
431
|
-
*/
|
|
432
|
-
placeholderSearch: {
|
|
433
|
-
type: String,
|
|
434
|
-
default: ""
|
|
435
|
-
},
|
|
436
|
-
/**
|
|
437
|
-
* Setting it to `true` will display the selected options at the top of the list
|
|
438
|
-
*/
|
|
439
|
-
selectedTopShown: {
|
|
440
|
-
type: Boolean,
|
|
441
|
-
default: false
|
|
442
|
-
},
|
|
443
|
-
topSectionClass: {
|
|
444
|
-
type: String,
|
|
445
|
-
default: ""
|
|
446
|
-
},
|
|
447
|
-
closePopperOnSelect: {
|
|
448
|
-
type: Boolean,
|
|
449
|
-
default: true
|
|
450
|
-
}
|
|
451
|
-
},
|
|
452
|
-
emits: ["update:modelValue", "select"],
|
|
453
|
-
setup(__props, { emit: __emit }) {
|
|
454
|
-
const emit = __emit;
|
|
455
|
-
const props = __props;
|
|
456
|
-
const listItemStyle = vue.ref({ paddingTop: 0, paddingBottom: 0 });
|
|
457
|
-
const scrollerStyle = vue.ref({ maxHeight: "none" });
|
|
458
|
-
const inputSearch = vue.ref(null);
|
|
459
|
-
const actionsContainer = vue.ref(null);
|
|
460
|
-
const { labelClasses, errorMsgClasses } = useInputClasses.useInputClasses(props);
|
|
461
|
-
const $attrs = vue.useAttrs();
|
|
462
|
-
const virtualizerRef = vue.ref(null);
|
|
463
|
-
const {
|
|
464
|
-
LIST_ITEM_CLASS,
|
|
465
|
-
LIST_ITEM_ACTIVE_CLASS,
|
|
466
|
-
selectedItems,
|
|
467
|
-
computedItems,
|
|
468
|
-
computedItemSize,
|
|
469
|
-
computedInsideSelected,
|
|
470
|
-
internalItems,
|
|
471
|
-
search,
|
|
472
|
-
rowVirtualizer,
|
|
473
|
-
getValue,
|
|
474
|
-
getText,
|
|
475
|
-
isSelected,
|
|
476
|
-
setupNavigationSvc,
|
|
477
|
-
select,
|
|
478
|
-
onFocus,
|
|
479
|
-
onMousemove,
|
|
480
|
-
scrollToActiveItem,
|
|
481
|
-
putSelectedItemsOnTop,
|
|
482
|
-
selectAll,
|
|
483
|
-
clearAll
|
|
484
|
-
} = useSelectList.useSelectList(props, inputSearch, virtualizerRef, emit);
|
|
485
|
-
const style = vue.computed(() => $attrs.style);
|
|
486
|
-
vue.onMounted(async () => {
|
|
487
|
-
var _a, _b;
|
|
488
|
-
const actionsContainerHeight = ((_a = actionsContainer.value) == null ? void 0 : _a.clientHeight) || 0;
|
|
489
|
-
scrollerStyle.value = { maxHeight: `${computedItemSize.value * props.itemsVisible - actionsContainerHeight}px` };
|
|
490
|
-
putSelectedItemsOnTop();
|
|
491
|
-
if (props.searchable) {
|
|
492
|
-
(_b = inputSearch.value) == null ? void 0 : _b.$el.querySelector("input").focus();
|
|
493
|
-
} else {
|
|
494
|
-
setupNavigationSvc();
|
|
495
|
-
}
|
|
496
|
-
scrollToActiveItem({ wait: 200 });
|
|
497
|
-
});
|
|
498
|
-
return (_ctx, _cache) => {
|
|
499
|
-
const _directive_close_popper = vue.resolveDirective("close-popper");
|
|
500
|
-
return vue.openBlock(), vue.createElementBlock("div", {
|
|
501
|
-
ref: "formControl",
|
|
502
|
-
class: vue.normalizeClass([{ hidden: vue.unref($attrs).hidden }, vue.unref($attrs).class]),
|
|
503
|
-
"data-has-error": !!__props.errorMsg,
|
|
504
|
-
style: vue.normalizeStyle(style.value),
|
|
505
|
-
"p-select-list": ""
|
|
506
|
-
}, [
|
|
507
|
-
__props.label ? (vue.openBlock(), vue.createElementBlock("label", {
|
|
508
|
-
key: 0,
|
|
509
|
-
class: vue.normalizeClass(vue.unref(labelClasses))
|
|
510
|
-
}, vue.toDisplayString(__props.label), 3)) : vue.createCommentVNode("", true),
|
|
511
|
-
vue.createElementVNode("div", {
|
|
512
|
-
class: vue.normalizeClass([
|
|
513
|
-
{ "border border-on-error": !!__props.errorMsg },
|
|
514
|
-
vue.unref($attrs).disabled ? "pointer-events-none bg-p-gray-10" : "bg-white"
|
|
515
|
-
])
|
|
516
|
-
}, [
|
|
517
|
-
__props.multiple || __props.searchable ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
518
|
-
key: 0,
|
|
519
|
-
class: vue.normalizeClass(__props.topSectionClass)
|
|
520
|
-
}, [
|
|
521
|
-
__props.multiple ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
522
|
-
key: 0,
|
|
523
|
-
ref_key: "actionsContainer",
|
|
524
|
-
ref: actionsContainer,
|
|
525
|
-
class: "flex flex-row justify-between text-xs font-semibold text-primary"
|
|
526
|
-
}, [
|
|
527
|
-
vue.createElementVNode("p", _hoisted_2$2, vue.toDisplayString(vue.unref(computedItems).length) + " items", 1),
|
|
528
|
-
vue.createElementVNode("div", _hoisted_3$2, [
|
|
529
|
-
vue.unref(computedItems).length === vue.unref(internalItems).length ? (vue.openBlock(), vue.createElementBlock("a", {
|
|
530
|
-
key: 0,
|
|
531
|
-
class: vue.normalizeClass([
|
|
532
|
-
vue.unref(selectedItems).length !== vue.unref(internalItems).length ? "cursor-pointer" : "pointer-events-none opacity-50"
|
|
533
|
-
]),
|
|
534
|
-
onClick: _cache[0] || (_cache[0] = //@ts-ignore
|
|
535
|
-
(...args) => vue.unref(selectAll) && vue.unref(selectAll)(...args))
|
|
536
|
-
}, " Select all ", 2)) : (vue.openBlock(), vue.createElementBlock("a", {
|
|
537
|
-
key: 1,
|
|
538
|
-
class: vue.normalizeClass([vue.unref(computedInsideSelected) ? "pointer-events-none opacity-50" : "cursor-pointer"]),
|
|
539
|
-
onClick: _cache[1] || (_cache[1] = //@ts-ignore
|
|
540
|
-
(...args) => vue.unref(selectAll) && vue.unref(selectAll)(...args))
|
|
541
|
-
}, " Select all filtered ", 2)),
|
|
542
|
-
_hoisted_4$2,
|
|
543
|
-
vue.createElementVNode("a", {
|
|
544
|
-
class: vue.normalizeClass([vue.unref(selectedItems).length ? "cursor-pointer" : "pointer-events-none opacity-50"]),
|
|
545
|
-
onClick: _cache[2] || (_cache[2] = //@ts-ignore
|
|
546
|
-
(...args) => vue.unref(clearAll) && vue.unref(clearAll)(...args))
|
|
547
|
-
}, " Clear all ", 2)
|
|
548
|
-
])
|
|
549
|
-
], 512)) : vue.createCommentVNode("", true),
|
|
550
|
-
__props.searchable ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
551
|
-
key: 1,
|
|
552
|
-
class: vue.normalizeClass([{ "mt-3": __props.multiple }])
|
|
553
|
-
}, [
|
|
554
|
-
vue.createVNode(pInputSearch, {
|
|
555
|
-
ref_key: "inputSearch",
|
|
556
|
-
ref: inputSearch,
|
|
557
|
-
modelValue: vue.unref(search),
|
|
558
|
-
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.isRef(search) ? search.value = $event : null),
|
|
559
|
-
size: __props.size,
|
|
560
|
-
placeholder: __props.placeholderSearch,
|
|
561
|
-
onFocus: vue.unref(onFocus)
|
|
562
|
-
}, null, 8, ["modelValue", "size", "placeholder", "onFocus"])
|
|
563
|
-
], 2)) : vue.createCommentVNode("", true)
|
|
564
|
-
], 2)) : vue.createCommentVNode("", true),
|
|
565
|
-
vue.createElementVNode("div", {
|
|
566
|
-
ref_key: "virtualizerRef",
|
|
567
|
-
ref: virtualizerRef,
|
|
568
|
-
style: vue.normalizeStyle(scrollerStyle.value),
|
|
569
|
-
class: vue.normalizeClass(["overflow-y-auto", { "mt-3": __props.multiple || __props.searchable }])
|
|
570
|
-
}, [
|
|
571
|
-
vue.createElementVNode("div", {
|
|
572
|
-
tabindex: "-1",
|
|
573
|
-
class: "relative w-full",
|
|
574
|
-
"p-select-list-options": "",
|
|
575
|
-
style: vue.normalizeStyle({ height: `${vue.unref(rowVirtualizer).getTotalSize()}px` }),
|
|
576
|
-
onFocus: _cache[4] || (_cache[4] = //@ts-ignore
|
|
577
|
-
(...args) => vue.unref(onFocus) && vue.unref(onFocus)(...args)),
|
|
578
|
-
onMousemove: _cache[5] || (_cache[5] = //@ts-ignore
|
|
579
|
-
(...args) => vue.unref(onMousemove) && vue.unref(onMousemove)(...args))
|
|
580
|
-
}, [
|
|
581
|
-
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(rowVirtualizer).getVirtualItems(), (row) => {
|
|
582
|
-
return vue.openBlock(), vue.createElementBlock("div", {
|
|
583
|
-
key: row.index,
|
|
584
|
-
class: "absolute left-0 top-0 w-full",
|
|
585
|
-
"p-select-list-option": "",
|
|
586
|
-
style: vue.normalizeStyle({ height: `${row.size}px`, transform: `translateY(${row.start}px)` })
|
|
587
|
-
}, [
|
|
588
|
-
vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
|
|
589
|
-
class: vue.normalizeClass([vue.unref(LIST_ITEM_CLASS), { [vue.unref(LIST_ITEM_ACTIVE_CLASS)]: vue.unref(isSelected)(vue.unref(getValue)(row.index)) }]),
|
|
590
|
-
"p-select-list-option-item": "",
|
|
591
|
-
style: vue.normalizeStyle(listItemStyle.value),
|
|
592
|
-
onClick: ($event) => vue.unref(select)($event, vue.unref(getValue)(row.index))
|
|
593
|
-
}, [
|
|
594
|
-
vue.createElementVNode("div", {
|
|
595
|
-
class: vue.normalizeClass(["flex items-center", { [vue.unref(pSelectList.SIZES)[__props.size]]: !__props.itemSize }])
|
|
596
|
-
}, [
|
|
597
|
-
vue.renderSlot(_ctx.$slots, "item", {
|
|
598
|
-
item: vue.unref(computedItems)[row.index],
|
|
599
|
-
isItemSelected: vue.unref(isSelected)(vue.unref(getValue)(row.index)),
|
|
600
|
-
itemTextSplit: vue.unref(text.splitStringForHighlight)(vue.unref(string.toString)(vue.unref(getText)(row.index)), vue.unref(search))
|
|
601
|
-
}, () => [
|
|
602
|
-
vue.createElementVNode("div", {
|
|
603
|
-
class: "truncate text-p-purple-60",
|
|
604
|
-
title: vue.unref(string.toString)(vue.unref(getText)(row.index))
|
|
605
|
-
}, [
|
|
606
|
-
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(text.splitStringForHighlight)(vue.unref(string.toString)(vue.unref(getText)(row.index)), vue.unref(search)), (str, index) => {
|
|
607
|
-
return vue.openBlock(), vue.createElementBlock("span", {
|
|
608
|
-
key: `${vue.unref(getValue)(row.index)}_${index}`,
|
|
609
|
-
class: vue.normalizeClass({ "bg-p-blue-20": index === 1 })
|
|
610
|
-
}, vue.toDisplayString(str), 3);
|
|
611
|
-
}), 128))
|
|
612
|
-
], 8, _hoisted_6$2)
|
|
613
|
-
]),
|
|
614
|
-
vue.unref(isSelected)(vue.unref(getValue)(row.index)) ? (vue.openBlock(), vue.createElementBlock("img", _hoisted_7$1)) : vue.createCommentVNode("", true)
|
|
615
|
-
], 2)
|
|
616
|
-
], 14, _hoisted_5$2)), [
|
|
617
|
-
[_directive_close_popper, __props.closePopperOnSelect && !__props.multiple]
|
|
618
|
-
])
|
|
619
|
-
], 4);
|
|
620
|
-
}), 128))
|
|
621
|
-
], 36),
|
|
622
|
-
!vue.unref(computedItems).length ? vue.renderSlot(_ctx.$slots, "no-items", { key: 0 }, () => [
|
|
623
|
-
vue.createElementVNode("div", {
|
|
624
|
-
class: vue.normalizeClass(["flex items-center justify-center", vue.unref(pSelectList.SIZES)[__props.size]])
|
|
625
|
-
}, "No items found", 2)
|
|
626
|
-
]) : vue.createCommentVNode("", true)
|
|
627
|
-
], 6)
|
|
628
|
-
], 2),
|
|
629
|
-
vue.withDirectives(vue.createElementVNode("div", {
|
|
630
|
-
class: vue.normalizeClass(vue.unref(errorMsgClasses))
|
|
631
|
-
}, vue.toDisplayString(__props.errorMsg), 3), [
|
|
632
|
-
[vue.vShow, __props.errorMsg]
|
|
633
|
-
])
|
|
634
|
-
], 14, _hoisted_1$2);
|
|
635
|
-
};
|
|
636
|
-
}
|
|
637
|
-
});
|
|
638
|
-
const _hoisted_1$1 = ["data-col-id"];
|
|
639
|
-
const _hoisted_2$1 = { class: "flex" };
|
|
640
|
-
const _hoisted_3$1 = ["onMousedown", "onDblclick"];
|
|
641
|
-
const _hoisted_4$1 = {
|
|
642
|
-
key: 0,
|
|
643
|
-
class: "min-w-[80px] bg-gradient-to-r from-white via-p-gray-10 to-p-gray-10"
|
|
644
|
-
};
|
|
645
|
-
const _hoisted_5$1 = { key: 0 };
|
|
646
|
-
const _hoisted_6$1 = { key: 1 };
|
|
647
|
-
const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
648
|
-
...{ name: "PTable" },
|
|
649
|
-
__name: "p-table",
|
|
650
|
-
props: {
|
|
651
|
-
cols: {},
|
|
652
|
-
colsResizable: { type: Boolean, default: false },
|
|
653
|
-
isFirstColFixed: { type: Boolean, default: false },
|
|
654
|
-
isLastColFixed: { type: Boolean, default: false },
|
|
655
|
-
lockScroll: { type: Boolean, default: false },
|
|
656
|
-
virtualizer: { default: () => ({
|
|
657
|
-
paddingTop: 0,
|
|
658
|
-
paddingBottom: 0
|
|
659
|
-
}) }
|
|
660
|
-
},
|
|
661
|
-
emits: ["scroll", "click-filter-icon", "col-resize"],
|
|
662
|
-
setup(__props, { emit: __emit }) {
|
|
663
|
-
const emit = __emit;
|
|
664
|
-
const props = __props;
|
|
665
|
-
vue.provide(
|
|
666
|
-
pTable$1.colsInjectionKey,
|
|
667
|
-
vue.computed(() => props.cols)
|
|
668
|
-
);
|
|
669
|
-
vue.provide(
|
|
670
|
-
pTable$1.isFirstColFixedInjectionKey,
|
|
671
|
-
vue.computed(() => props.isFirstColFixed)
|
|
672
|
-
);
|
|
673
|
-
vue.provide(
|
|
674
|
-
pTable$1.isLastColFixedInjectionKey,
|
|
675
|
-
vue.computed(() => props.isLastColFixed)
|
|
676
|
-
);
|
|
677
|
-
vue.provide(
|
|
678
|
-
pTable$1.isColsResizableInjectionKey,
|
|
679
|
-
vue.computed(() => props.colsResizable)
|
|
680
|
-
);
|
|
681
|
-
const scrollWrapper = vue.ref(null);
|
|
682
|
-
const ths = vue.ref([]);
|
|
683
|
-
const {
|
|
684
|
-
isColResizing,
|
|
685
|
-
colResizeHandleLeft,
|
|
686
|
-
colResizingIndex,
|
|
687
|
-
colResizingWidth,
|
|
688
|
-
colResize,
|
|
689
|
-
colResizeStart,
|
|
690
|
-
colResizeFitToData
|
|
691
|
-
} = usePTableColResize.usePTableColResize({
|
|
692
|
-
enabled: vue.computed(() => props.colsResizable),
|
|
693
|
-
ths
|
|
694
|
-
});
|
|
695
|
-
const updateThsRefs = (el, index) => {
|
|
696
|
-
if (el instanceof Element) {
|
|
697
|
-
ths.value[index] = el;
|
|
698
|
-
}
|
|
699
|
-
};
|
|
700
|
-
const emitScroll = (e) => {
|
|
701
|
-
emit("scroll", e);
|
|
702
|
-
};
|
|
703
|
-
const thDivClasses = (i, col) => {
|
|
704
|
-
const res = ["relative", "py-2"];
|
|
705
|
-
if (!col.borderColor) {
|
|
706
|
-
res.push("border-b border-p-gray-30");
|
|
707
|
-
}
|
|
708
|
-
if (i === 0 && props.isFirstColFixed || i === props.cols.length - 1 && props.isLastColFixed) {
|
|
709
|
-
res.push("th-shadow px-4");
|
|
710
|
-
} else {
|
|
711
|
-
!props.colsResizable ? res.push("px-2") : res.push("pl-2 pr-4");
|
|
712
|
-
}
|
|
713
|
-
return res;
|
|
714
|
-
};
|
|
715
|
-
vue.onMounted(() => {
|
|
716
|
-
var _a;
|
|
717
|
-
(_a = scrollWrapper.value) == null ? void 0 : _a.addEventListener("scroll", emitScroll, true);
|
|
718
|
-
});
|
|
719
|
-
vue.onBeforeUnmount(() => {
|
|
720
|
-
var _a;
|
|
721
|
-
(_a = scrollWrapper.value) == null ? void 0 : _a.removeEventListener("scroll", emitScroll, true);
|
|
722
|
-
});
|
|
723
|
-
vue.watch(isColResizing, (nV) => {
|
|
724
|
-
if (nV === false && colResizingWidth.value > 0) {
|
|
725
|
-
emit("col-resize", colResizingIndex.value, colResizingWidth.value);
|
|
726
|
-
}
|
|
727
|
-
});
|
|
728
|
-
return (_ctx, _cache) => {
|
|
729
|
-
var _a, _b;
|
|
730
|
-
return vue.openBlock(), vue.createElementBlock("div", {
|
|
731
|
-
ref_key: "scrollWrapper",
|
|
732
|
-
ref: scrollWrapper,
|
|
733
|
-
class: vue.normalizeClass(["block border border-p-gray-30", _ctx.lockScroll ? "overflow-hidden" : "overflow-x-auto"])
|
|
734
|
-
}, [
|
|
735
|
-
vue.unref(isColResizing) ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
736
|
-
key: 0,
|
|
737
|
-
class: "fixed z-[100] w-1 cursor-col-resize bg-p-gray-30",
|
|
738
|
-
style: vue.normalizeStyle({
|
|
739
|
-
top: `${(_a = scrollWrapper.value) == null ? void 0 : _a.offsetTop}px`,
|
|
740
|
-
left: vue.unref(colResizeHandleLeft),
|
|
741
|
-
height: `${(_b = scrollWrapper.value) == null ? void 0 : _b.offsetHeight}px`
|
|
742
|
-
}),
|
|
743
|
-
"data-resize-y-axis": ""
|
|
744
|
-
}, null, 4)) : vue.createCommentVNode("", true),
|
|
745
|
-
vue.createElementVNode("table", vue.mergeProps({
|
|
746
|
-
class: [
|
|
747
|
-
"p-table mb-0 w-full bg-surface",
|
|
748
|
-
{ "last-col-fixed": _ctx.isLastColFixed },
|
|
749
|
-
{ "first-col-fixed": _ctx.isFirstColFixed }
|
|
750
|
-
]
|
|
751
|
-
}, vue.toHandlers(_ctx.colsResizable ? { mousemove: vue.unref(colResize) } : {}, true)), [
|
|
752
|
-
vue.createElementVNode("thead", null, [
|
|
753
|
-
vue.createElementVNode("tr", null, [
|
|
754
|
-
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(props.cols, (col, i) => {
|
|
755
|
-
return vue.openBlock(), vue.createElementBlock("th", vue.mergeProps({
|
|
756
|
-
ref_for: true,
|
|
757
|
-
ref: (el) => updateThsRefs(el, i),
|
|
758
|
-
key: col.id,
|
|
759
|
-
"data-col-id": col.id
|
|
760
|
-
}, col.thAttrs, {
|
|
761
|
-
style: col.style,
|
|
762
|
-
class: "bg-surface"
|
|
763
|
-
}), [
|
|
764
|
-
vue.createElementVNode("div", {
|
|
765
|
-
class: vue.normalizeClass(thDivClasses(i, col))
|
|
766
|
-
}, [
|
|
767
|
-
vue.createElementVNode("div", _hoisted_2$1, [
|
|
768
|
-
vue.renderSlot(_ctx.$slots, `prepend-header-cell-${vue.unref(lodashEs.kebabCase)(col.name)}`, { col }, void 0, true),
|
|
769
|
-
vue.createVNode(pTableHeaderCell, vue.mergeProps({
|
|
770
|
-
text: col.title,
|
|
771
|
-
"filter-active": col.filterActive,
|
|
772
|
-
"show-filter-icon": col.filterable || col.sortable,
|
|
773
|
-
"tooltip-text": col.tooltip,
|
|
774
|
-
class: [{ "pl-2": i === 1 && _ctx.isFirstColFixed, "pr-2": i === _ctx.cols.length && _ctx.isLastColFixed }, "grow"]
|
|
775
|
-
}, col.headerCellAttrs, {
|
|
776
|
-
onClickFilterIcon: ($event) => _ctx.$emit("click-filter-icon", $event, col)
|
|
777
|
-
}), null, 16, ["text", "filter-active", "show-filter-icon", "tooltip-text", "class", "onClickFilterIcon"])
|
|
778
|
-
]),
|
|
779
|
-
_ctx.colsResizable && i !== 0 && !(i === _ctx.cols.length - 1 && _ctx.isLastColFixed) ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
780
|
-
key: 0,
|
|
781
|
-
class: vue.normalizeClass(["absolute bottom-0 right-0 h-full w-2 cursor-col-resize after:absolute after:bottom-2 after:z-20 after:block after:h-5 after:w-px after:cursor-col-resize after:bg-p-gray-30", i === _ctx.cols.length - 1 ? " after:right-0" : " after:right-1"]),
|
|
782
|
-
"data-resize-handle": "",
|
|
783
|
-
onMousedown: ($event) => vue.unref(colResizeStart)($event, i),
|
|
784
|
-
onDblclick: ($event) => vue.unref(colResizeFitToData)(i)
|
|
785
|
-
}, null, 42, _hoisted_3$1)) : vue.createCommentVNode("", true),
|
|
786
|
-
vue.createElementVNode("div", {
|
|
787
|
-
class: vue.normalizeClass(["absolute bottom-0 h-1 w-full", _ctx.colsResizable ? "-left-1" : "left-0"]),
|
|
788
|
-
style: vue.normalizeStyle({ background: col.borderColor })
|
|
789
|
-
}, null, 6)
|
|
790
|
-
], 2)
|
|
791
|
-
], 16, _hoisted_1$1);
|
|
792
|
-
}), 128)),
|
|
793
|
-
_ctx.colsResizable && !_ctx.isLastColFixed ? (vue.openBlock(), vue.createElementBlock("th", _hoisted_4$1)) : vue.createCommentVNode("", true)
|
|
794
|
-
])
|
|
795
|
-
]),
|
|
796
|
-
vue.createElementVNode("tbody", null, [
|
|
797
|
-
_ctx.virtualizer.paddingTop > 0 ? (vue.openBlock(), vue.createElementBlock("tr", _hoisted_5$1, [
|
|
798
|
-
vue.createElementVNode("td", {
|
|
799
|
-
style: vue.normalizeStyle({ height: `${_ctx.virtualizer.paddingTop}px` })
|
|
800
|
-
}, null, 4)
|
|
801
|
-
])) : vue.createCommentVNode("", true),
|
|
802
|
-
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true),
|
|
803
|
-
_ctx.virtualizer.paddingBottom > 0 ? (vue.openBlock(), vue.createElementBlock("tr", _hoisted_6$1, [
|
|
804
|
-
vue.createElementVNode("td", {
|
|
805
|
-
style: vue.normalizeStyle({ height: `${_ctx.virtualizer.paddingBottom}px` })
|
|
806
|
-
}, null, 4)
|
|
807
|
-
])) : vue.createCommentVNode("", true)
|
|
808
|
-
])
|
|
809
|
-
], 16)
|
|
810
|
-
], 2);
|
|
811
|
-
};
|
|
812
|
-
}
|
|
813
|
-
});
|
|
814
|
-
const pTable = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main$1, [["__scopeId", "data-v-170d774b"]]);
|
|
815
|
-
const _sfc_main = vue.defineComponent({
|
|
816
|
-
name: "PTableSort",
|
|
817
|
-
props: {
|
|
818
|
-
modelValue: {
|
|
819
|
-
type: String,
|
|
820
|
-
default: pTableSort$1.SORTING_TYPES.NO_SORTING,
|
|
821
|
-
validator(value) {
|
|
822
|
-
return Object.values(pTableSort$1.SORTING_TYPES).includes(value);
|
|
823
|
-
}
|
|
824
|
-
}
|
|
825
|
-
},
|
|
826
|
-
emits: ["update:modelValue"],
|
|
827
|
-
data() {
|
|
828
|
-
return {
|
|
829
|
-
SORTING_TYPES: pTableSort$1.SORTING_TYPES
|
|
830
|
-
};
|
|
831
|
-
}
|
|
832
|
-
});
|
|
833
|
-
const _imports_0 = "data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1019_75838)'%3e%3cpath%20d='M11.6533%203.37331L8.47329%200.18664C8.41131%200.124154%208.33758%200.074558%208.25634%200.0407122C8.1751%200.00686641%208.08796%20-0.0105591%207.99995%20-0.0105591C7.91194%20-0.0105591%207.82481%200.00686641%207.74357%200.0407122C7.66233%200.074558%207.58859%200.124154%207.52662%200.18664L4.34662%203.37331C4.253%203.46615%204.18902%203.58468%204.16277%203.71388C4.13651%203.84309%204.14916%203.97719%204.19911%204.09921C4.24906%204.22123%204.33407%204.3257%204.44339%204.39941C4.55271%204.47312%204.68144%204.51275%204.81329%204.51331H6.81329C6.83571%204.51054%206.85846%204.51235%206.88016%204.51865C6.90186%204.52494%206.92205%204.53559%206.93951%204.54993C6.95697%204.56427%206.97133%204.58201%206.98172%204.60207C6.99211%204.62214%206.99832%204.6441%206.99995%204.66664V14.9933C6.99995%2015.2585%207.10531%2015.5129%207.29285%2015.7004C7.48038%2015.888%207.73474%2015.9933%207.99995%2015.9933C8.26517%2015.9933%208.51952%2015.888%208.70706%2015.7004C8.8946%2015.5129%208.99995%2015.2585%208.99995%2014.9933V4.66664C8.99995%204.62244%209.01751%204.58004%209.04877%204.54879C9.08002%204.51753%209.12242%204.49997%209.16662%204.49997H11.1666C11.2985%204.49942%2011.4272%204.45978%2011.5365%204.38608C11.6458%204.31237%2011.7308%204.2079%2011.7808%204.08587C11.8307%203.96385%2011.8434%203.82976%2011.8171%203.70055C11.7909%203.57134%2011.7269%203.45282%2011.6333%203.35997L11.6533%203.37331Z'%20fill='%23424E6E'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1019_75838'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
|
|
834
|
-
const _imports_1 = "data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1019_80096)'%3e%3cpath%20d='M11.6533%203.37331L8.47329%200.18664C8.41131%200.124154%208.33758%200.074558%208.25634%200.0407122C8.1751%200.00686641%208.08796%20-0.0105591%207.99995%20-0.0105591C7.91194%20-0.0105591%207.82481%200.00686641%207.74357%200.0407122C7.66233%200.074558%207.58859%200.124154%207.52662%200.18664L4.34662%203.37331C4.253%203.46615%204.18902%203.58468%204.16277%203.71388C4.13651%203.84309%204.14916%203.97719%204.19911%204.09921C4.24906%204.22123%204.33407%204.3257%204.44339%204.39941C4.55271%204.47312%204.68144%204.51275%204.81329%204.51331H6.81329C6.83571%204.51054%206.85846%204.51235%206.88016%204.51865C6.90186%204.52494%206.92205%204.53559%206.93951%204.54993C6.95697%204.56427%206.97133%204.58201%206.98172%204.60207C6.99211%204.62214%206.99832%204.6441%206.99995%204.66664V14.9933C6.99995%2015.2585%207.10531%2015.5129%207.29285%2015.7004C7.48038%2015.888%207.73474%2015.9933%207.99995%2015.9933C8.26517%2015.9933%208.51952%2015.888%208.70706%2015.7004C8.8946%2015.5129%208.99995%2015.2585%208.99995%2014.9933V4.66664C8.99995%204.62244%209.01751%204.58004%209.04877%204.54879C9.08002%204.51753%209.12242%204.49997%209.16662%204.49997H11.1666C11.2985%204.49942%2011.4272%204.45978%2011.5365%204.38608C11.6458%204.31237%2011.7308%204.2079%2011.7808%204.08587C11.8307%203.96385%2011.8434%203.82976%2011.8171%203.70055C11.7909%203.57134%2011.7269%203.45282%2011.6333%203.35997L11.6533%203.37331Z'%20fill='%23323CEB'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1019_80096'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
|
|
835
|
-
const _imports_2 = "data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1019_75842)'%3e%3cpath%20d='M11.8%2011.8933C11.75%2011.7716%2011.665%2011.6674%2011.5559%2011.5938C11.4467%2011.5203%2011.3183%2011.4807%2011.1866%2011.48H9.18664C9.16473%2011.4828%209.14248%2011.4812%209.12119%2011.4753C9.0999%2011.4694%209.07999%2011.4594%209.06262%2011.4457C9.04525%2011.4321%209.03077%2011.4151%209.02001%2011.3958C9.00926%2011.3765%209.00245%2011.3553%208.99997%2011.3333V1C8.99997%200.734784%208.89462%200.48043%208.70708%200.292893C8.51954%200.105357%208.26519%200%207.99997%200C7.73476%200%207.4804%200.105357%207.29287%200.292893C7.10533%200.48043%206.99997%200.734784%206.99997%201V11.3333C6.99997%2011.3775%206.98241%2011.4199%206.95116%2011.4512C6.9199%2011.4824%206.87751%2011.5%206.83331%2011.5H4.83331C4.70146%2011.5006%204.57273%2011.5402%204.46341%2011.6139C4.35409%2011.6876%204.26908%2011.7921%204.21913%2011.9141C4.16918%2012.0361%204.15653%2012.1702%204.18279%2012.2994C4.20904%2012.4286%204.27302%2012.5472%204.36664%2012.64L7.54664%2015.8267C7.60861%2015.8892%207.68235%2015.9387%207.76359%2015.9726C7.84483%2016.0064%207.93196%2016.0239%208.01997%2016.0239C8.10798%2016.0239%208.19512%2016.0064%208.27636%2015.9726C8.3576%2015.9387%208.43133%2015.8892%208.49331%2015.8267L11.6733%2012.64C11.7677%2012.5431%2011.8303%2012.4198%2011.853%2012.2864C11.8756%2012.153%2011.8571%2012.0159%2011.8%2011.8933Z'%20fill='%23424E6E'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1019_75842'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
|
|
836
|
-
const _imports_3 = "data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1019_80100)'%3e%3cpath%20d='M11.8%2011.8933C11.75%2011.7716%2011.665%2011.6674%2011.5559%2011.5938C11.4467%2011.5203%2011.3183%2011.4807%2011.1866%2011.48H9.18664C9.16473%2011.4828%209.14248%2011.4812%209.12119%2011.4753C9.0999%2011.4694%209.07999%2011.4594%209.06262%2011.4457C9.04525%2011.4321%209.03077%2011.4151%209.02001%2011.3958C9.00926%2011.3765%209.00245%2011.3553%208.99997%2011.3333V1C8.99997%200.734784%208.89462%200.48043%208.70708%200.292893C8.51954%200.105357%208.26519%200%207.99997%200C7.73476%200%207.4804%200.105357%207.29287%200.292893C7.10533%200.48043%206.99997%200.734784%206.99997%201V11.3333C6.99997%2011.3775%206.98241%2011.4199%206.95116%2011.4512C6.9199%2011.4824%206.87751%2011.5%206.83331%2011.5H4.83331C4.70146%2011.5006%204.57273%2011.5402%204.46341%2011.6139C4.35409%2011.6876%204.26908%2011.7921%204.21913%2011.9141C4.16918%2012.0361%204.15653%2012.1702%204.18279%2012.2994C4.20904%2012.4286%204.27302%2012.5472%204.36664%2012.64L7.54664%2015.8267C7.60861%2015.8892%207.68235%2015.9387%207.76359%2015.9726C7.84483%2016.0064%207.93196%2016.0239%208.01997%2016.0239C8.10798%2016.0239%208.19512%2016.0064%208.27636%2015.9726C8.3576%2015.9387%208.43133%2015.8892%208.49331%2015.8267L11.6733%2012.64C11.7677%2012.5431%2011.8303%2012.4198%2011.853%2012.2864C11.8756%2012.153%2011.8571%2012.0159%2011.8%2011.8933Z'%20fill='%23323CEB'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1019_80100'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
|
|
837
|
-
const _hoisted_1 = { class: "flex items-center justify-between" };
|
|
838
|
-
const _hoisted_2 = /* @__PURE__ */ vue.createElementVNode("div", { class: "px-4 text-xs font-semibold text-p-gray-40" }, "SORT", -1);
|
|
839
|
-
const _hoisted_3 = { class: "mt-2" };
|
|
840
|
-
const _hoisted_4 = {
|
|
841
|
-
key: 0,
|
|
842
|
-
src: _imports_0
|
|
843
|
-
};
|
|
844
|
-
const _hoisted_5 = {
|
|
845
|
-
key: 1,
|
|
846
|
-
src: _imports_1
|
|
847
|
-
};
|
|
848
|
-
const _hoisted_6 = {
|
|
849
|
-
key: 0,
|
|
850
|
-
src: _imports_2
|
|
851
|
-
};
|
|
852
|
-
const _hoisted_7 = {
|
|
853
|
-
key: 1,
|
|
854
|
-
src: _imports_3
|
|
855
|
-
};
|
|
856
|
-
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
857
|
-
return vue.openBlock(), vue.createElementBlock("div", null, [
|
|
858
|
-
vue.createElementVNode("div", _hoisted_1, [
|
|
859
|
-
_hoisted_2,
|
|
860
|
-
vue.createElementVNode("div", {
|
|
861
|
-
class: vue.normalizeClass([
|
|
862
|
-
"px-4 text-xs font-semibold text-primary",
|
|
863
|
-
[_ctx.SORTING_TYPES.ASC, _ctx.SORTING_TYPES.DESC].includes(_ctx.modelValue) ? "cursor-pointer opacity-100" : "opacity-50"
|
|
864
|
-
]),
|
|
865
|
-
onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("update:modelValue", _ctx.SORTING_TYPES.NO_SORTING))
|
|
866
|
-
}, " Clear ", 2)
|
|
867
|
-
]),
|
|
868
|
-
vue.createElementVNode("div", _hoisted_3, [
|
|
869
|
-
vue.createElementVNode("div", {
|
|
870
|
-
class: "flex cursor-pointer items-center justify-between px-4 py-1 hover:bg-p-blue-10",
|
|
871
|
-
onClick: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("update:modelValue", _ctx.SORTING_TYPES.ASC))
|
|
872
|
-
}, [
|
|
873
|
-
vue.createElementVNode("div", {
|
|
874
|
-
class: vue.normalizeClass(["text-sm font-semibold text-p-purple-60", { "text-primary": _ctx.modelValue === _ctx.SORTING_TYPES.ASC }])
|
|
875
|
-
}, " Sort ascending ", 2),
|
|
876
|
-
vue.createElementVNode("div", null, [
|
|
877
|
-
_ctx.modelValue === _ctx.SORTING_TYPES.NO_SORTING || _ctx.modelValue === _ctx.SORTING_TYPES.DESC ? (vue.openBlock(), vue.createElementBlock("img", _hoisted_4)) : (vue.openBlock(), vue.createElementBlock("img", _hoisted_5))
|
|
878
|
-
])
|
|
879
|
-
]),
|
|
880
|
-
vue.createElementVNode("div", {
|
|
881
|
-
class: "flex cursor-pointer items-center justify-between px-4 py-1 hover:bg-p-blue-10",
|
|
882
|
-
onClick: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("update:modelValue", _ctx.SORTING_TYPES.DESC))
|
|
883
|
-
}, [
|
|
884
|
-
vue.createElementVNode("div", {
|
|
885
|
-
class: vue.normalizeClass(["text-sm font-semibold text-p-purple-60", { "text-primary": _ctx.modelValue === _ctx.SORTING_TYPES.DESC }])
|
|
886
|
-
}, " Sort descending ", 2),
|
|
887
|
-
vue.createElementVNode("div", null, [
|
|
888
|
-
_ctx.modelValue === _ctx.SORTING_TYPES.NO_SORTING || _ctx.modelValue === _ctx.SORTING_TYPES.ASC ? (vue.openBlock(), vue.createElementBlock("img", _hoisted_6)) : (vue.openBlock(), vue.createElementBlock("img", _hoisted_7))
|
|
889
|
-
])
|
|
890
|
-
])
|
|
891
|
-
])
|
|
892
|
-
]);
|
|
893
|
-
}
|
|
894
|
-
const pTableSort = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["render", _sfc_render]]);
|
|
895
|
-
exports.config = config.config;
|
|
896
|
-
exports.PActionBar = pActionBar_vue_vue_type_script_setup_true_lang._sfc_main;
|
|
897
|
-
exports.PAlert = pAlert;
|
|
898
|
-
exports.PAvatar = pAvatar;
|
|
899
|
-
exports.PBtn = pBtn;
|
|
900
|
-
exports.PCard = pCard_vue_vue_type_script_setup_true_lang._sfc_main;
|
|
901
|
-
exports.PCheckbox = pCheckbox_vue_vue_type_script_setup_true_lang._sfc_main;
|
|
902
|
-
exports.PChips = pChips;
|
|
903
|
-
exports.PCloseBtn = pCloseBtn;
|
|
904
|
-
exports.PDatePicker = pDatePicker;
|
|
905
|
-
exports.PDrawer = pDrawer;
|
|
906
|
-
exports.PDropdown = pDropdown;
|
|
907
|
-
exports.PDropdownSelect = pDropdownSelect_vue_vue_type_script_setup_true_lang._sfc_main;
|
|
908
|
-
exports.useInputClasses = useInputClasses.useInputClasses;
|
|
909
|
-
exports.PFilterIcon = pTableFilterIcon;
|
|
910
|
-
exports.PInfoIcon = pInfoIcon;
|
|
911
|
-
exports.PInlineDatePicker = pInlineDatePicker;
|
|
912
|
-
exports.PInput = pInput;
|
|
913
|
-
exports.PInputNumber = pInputNumber;
|
|
914
|
-
exports.PInputPercent = pInputPercent_vue_vue_type_script_setup_true_lang._sfc_main;
|
|
915
|
-
exports.PInputSearch = pInputSearch;
|
|
916
|
-
exports.PLoading = pLoading;
|
|
917
|
-
exports.PModal = pModal;
|
|
918
|
-
exports.PPagination = pPagination_vue_vue_type_script_setup_true_lang._sfc_main;
|
|
919
|
-
exports.PPaginationInfo = pPaginationInfo_vue_vue_type_script_setup_true_lang._sfc_main;
|
|
920
|
-
exports.PProgressBar = pProgressBar;
|
|
921
|
-
exports.PRingLoader = pRingLoader_vue_vue_type_script_setup_true_lang._sfc_main;
|
|
922
|
-
exports.PSelect = pSelect_vue_vue_type_script_setup_true_lang._sfc_main;
|
|
923
|
-
exports.PSelectBtn = pSelectBtn_vue_vue_type_script_setup_true_lang._sfc_main;
|
|
924
|
-
exports.splitStringForHighlight = text.splitStringForHighlight;
|
|
925
|
-
exports.toString = string.toString;
|
|
926
|
-
exports.useSelectList = useSelectList.useSelectList;
|
|
927
|
-
exports.PSelectPill = pSelectPill;
|
|
928
|
-
exports.PSkeletonLoader = pSkeletonLoader;
|
|
929
|
-
exports.PTableHeaderCell = pTableHeaderCell;
|
|
930
|
-
exports.MIN_WIDTH_COL_RESIZE = pTable$1.MIN_WIDTH_COL_RESIZE;
|
|
931
|
-
exports.colsInjectionKey = pTable$1.colsInjectionKey;
|
|
932
|
-
exports.isColsResizableInjectionKey = pTable$1.isColsResizableInjectionKey;
|
|
933
|
-
exports.isFirstColFixedInjectionKey = pTable$1.isFirstColFixedInjectionKey;
|
|
934
|
-
exports.isLastColFixedInjectionKey = pTable$1.isLastColFixedInjectionKey;
|
|
935
|
-
exports.usePTableColResize = usePTableColResize.usePTableColResize;
|
|
936
|
-
exports.PTableLoader = pTableLoader_vue_vue_type_script_setup_true_lang._sfc_main;
|
|
937
|
-
exports.SORTING_TYPES = pTableSort$1.SORTING_TYPES;
|
|
938
|
-
exports.PTableTd = pTableTd;
|
|
939
|
-
exports.PTabs = pTabs_vue_vue_type_script_setup_true_lang._sfc_main;
|
|
940
|
-
exports.PTextarea = pTextarea;
|
|
941
|
-
exports.PToggle = pToggle;
|
|
942
|
-
exports.usePLoading = usePLoading.usePLoading;
|
|
943
|
-
exports.usePModal = usePModal.usePModal;
|
|
944
|
-
exports.usePTableRowVirtualizer = usePTableRowVirtualizer.usePTableRowVirtualizer;
|
|
945
|
-
exports.inputClassesMixin = inputClassesMixin;
|
|
946
|
-
exports.CURRENCY_INPUT_DEFAULTS = currency.CURRENCY_INPUT_DEFAULTS;
|
|
947
|
-
exports.getColor = tailwind.getColor;
|
|
948
|
-
exports.getColorDeep = tailwind.getColorDeep;
|
|
949
|
-
exports.getScreen = tailwind.getScreen;
|
|
950
|
-
exports.ERROR_MSG = inputClassesShared.ERROR_MSG;
|
|
951
|
-
exports.INPUT_BASE = inputClassesShared.INPUT_BASE;
|
|
952
|
-
exports.INPUT_ERROR = inputClassesShared.INPUT_ERROR;
|
|
953
|
-
exports.INPUT_NORMAL = inputClassesShared.INPUT_NORMAL;
|
|
954
|
-
exports.INPUT_SIZES = inputClassesShared.INPUT_SIZES;
|
|
955
|
-
exports.LABEL_BASE = inputClassesShared.LABEL_BASE;
|
|
956
|
-
exports.LABEL_REQUIRED = inputClassesShared.LABEL_REQUIRED;
|
|
957
|
-
exports.LABEL_SIZES = inputClassesShared.LABEL_SIZES;
|
|
958
|
-
exports.SELECT_ARROW = inputClassesShared.SELECT_ARROW;
|
|
959
|
-
exports.SELECT_BASE = inputClassesShared.SELECT_BASE;
|
|
960
|
-
exports.SELECT_SIZES = inputClassesShared.SELECT_SIZES;
|
|
961
|
-
exports.SPACING_LEFT = inputClassesShared.SPACING_LEFT;
|
|
962
|
-
exports.SPACING_PREFIX = inputClassesShared.SPACING_PREFIX;
|
|
963
|
-
exports.SPACING_RIGHT = inputClassesShared.SPACING_RIGHT;
|
|
964
|
-
exports.SPACING_SUFFIX = inputClassesShared.SPACING_SUFFIX;
|
|
965
|
-
exports.TEXTAREA_BASE = inputClassesShared.TEXTAREA_BASE;
|
|
966
|
-
exports.createPagingRange = pagination.createPagingRange;
|
|
967
|
-
exports.getNextActiveElement = dom.getNextActiveElement;
|
|
968
|
-
exports.isElement = dom.isElement;
|
|
969
|
-
exports.isVisible = dom.isVisible;
|
|
970
|
-
exports.isObject = object.isObject;
|
|
971
|
-
exports.setupListKeyboardNavigation = listKeyboardNavigation.setupListKeyboardNavigation;
|
|
972
|
-
exports.toNumberOrNull = number.toNumberOrNull;
|
|
973
|
-
exports.PFileUpload = pFileUpload;
|
|
974
|
-
exports.PSelectList = _sfc_main$2;
|
|
975
|
-
exports.PTable = pTable;
|
|
976
|
-
exports.PTableSort = pTableSort;
|