@fastkit/vui 0.7.19 → 0.7.23
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/tool/index.js +6 -4
- package/dist/tool/vite-plugin.d.ts.map +1 -1
- package/dist/vui.cjs.js +122 -3
- package/dist/vui.cjs.prod.js +122 -3
- package/dist/vui.d.ts +89 -0
- package/dist/vui.mjs +119 -4
- package/package.json +6 -6
- package/src/components/VDataTable/VDataTable.tsx +49 -1
- package/src/components/VSelect/VSelect.tsx +19 -5
- package/src/plugin.tsx +26 -1
- package/src/service.tsx +73 -0
- package/src/tool/vite-plugin.ts +6 -4
package/dist/tool/index.js
CHANGED
|
@@ -35,20 +35,21 @@ import './setup.scss';
|
|
|
35
35
|
import type { App } from 'vue';
|
|
36
36
|
import type { Router } from 'vue-router';
|
|
37
37
|
import { VPageLink } from '@fastkit/vue-page';
|
|
38
|
-
import { installVuiPlugin as _installVuiPlugin,
|
|
38
|
+
import { installVuiPlugin as _installVuiPlugin, RawVuiPluginOptions, mergeVuiPluginOptions } from '@fastkit/vui';
|
|
39
39
|
import { colorScheme } from '<%~ it.colorScheme %>';
|
|
40
40
|
import '<%~ it.mediaMatch %>';
|
|
41
41
|
import './icon-font';
|
|
42
42
|
import '${STYLE_AFTER_EFFECTS_PATH}';
|
|
43
43
|
|
|
44
|
-
export function installVui(settings: { app: App, router: Router }) {
|
|
45
|
-
|
|
44
|
+
export function installVui(settings: { app: App, router: Router }, options?: RawVuiPluginOptions) {
|
|
45
|
+
const merged = mergeVuiPluginOptions({
|
|
46
46
|
RouterLink: VPageLink,
|
|
47
47
|
colorScheme,
|
|
48
48
|
uiSettings: <%~ it.uiSettings %>,
|
|
49
49
|
icons: <%~ it.icons %>,
|
|
50
50
|
...settings,
|
|
51
|
-
});
|
|
51
|
+
}, options);
|
|
52
|
+
_installVuiPlugin(settings.app, merged);
|
|
52
53
|
}
|
|
53
54
|
|
|
54
55
|
export default installVui;
|
|
@@ -123,6 +124,7 @@ function viteVuiPlugin(options = {}) {
|
|
|
123
124
|
editorUndo: 'mdi-undo-variant',
|
|
124
125
|
editorRedo: 'mdi-redo-variant',
|
|
125
126
|
hinttip: 'mdi-help-circle-outline',
|
|
127
|
+
clear: 'mdi-close',
|
|
126
128
|
// navigationExpand: (gen, active) => {
|
|
127
129
|
// return gen({
|
|
128
130
|
// name: 'mdi-menu-down' as any,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../../../../../../../packages/vui/src/tool/vite-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAK9B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"vite-plugin.d.ts","sourceRoot":"","sources":["../../../../../../../packages/vui/src/tool/vite-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAK9B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAgG/C,MAAM,WAAW,oBACf,SAAQ,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC9B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,WAAW,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACzE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAGD,MAAM,WAAW,2BACf,SAAQ,IAAI,CAAC,iBAAiB,EAAE,YAAY,GAAG,OAAO,CAAC;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,2BAA2B,CAAC;IACtC,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,aAAa,CAC3B,OAAO,GAAE,oBAAyB,GACjC,mBAAmB,CAyJrB"}
|
package/dist/vui.cjs.js
CHANGED
|
@@ -2149,7 +2149,16 @@ const VSelect = vue.defineComponent({
|
|
|
2149
2149
|
}, [vue.createVNode("div", {
|
|
2150
2150
|
"class": "v-select__selections__inner"
|
|
2151
2151
|
}, [this.renderSelections(selectedItems)])])],
|
|
2152
|
-
endAdornment: () => vue.createVNode(
|
|
2152
|
+
endAdornment: () => this.clearable && this.nodeControl.value != null && vue.createVNode(VButton, {
|
|
2153
|
+
"key": "clear",
|
|
2154
|
+
"icon": this.$vui.icon('clear'),
|
|
2155
|
+
"rounded": true,
|
|
2156
|
+
"onClick": ev => {
|
|
2157
|
+
ev.stopPropagation();
|
|
2158
|
+
this.nodeControl.clear();
|
|
2159
|
+
}
|
|
2160
|
+
}, null) || vue.createVNode(VIcon, {
|
|
2161
|
+
"key": "icon",
|
|
2153
2162
|
"name": this.iconName,
|
|
2154
2163
|
"rotate": this.menuOpened ? 180 : 0
|
|
2155
2164
|
}, null)
|
|
@@ -3423,6 +3432,11 @@ const VDataTable = vue.defineComponent({
|
|
|
3423
3432
|
default: () => DATA_TABLE_DEFAULTS.orderQuery
|
|
3424
3433
|
},
|
|
3425
3434
|
|
|
3435
|
+
/**
|
|
3436
|
+
* 検索クエリ名
|
|
3437
|
+
*/
|
|
3438
|
+
searchQuery: [String, Array],
|
|
3439
|
+
|
|
3426
3440
|
/**
|
|
3427
3441
|
* リミット件数クエリ名
|
|
3428
3442
|
*/
|
|
@@ -3468,7 +3482,11 @@ const VDataTable = vue.defineComponent({
|
|
|
3468
3482
|
},
|
|
3469
3483
|
selectable: Boolean,
|
|
3470
3484
|
fixedHeader: Boolean,
|
|
3471
|
-
maxHeight: [Number, String]
|
|
3485
|
+
maxHeight: [Number, String],
|
|
3486
|
+
// eslint-disable-next-line vue/require-prop-types
|
|
3487
|
+
noDataMessage: {},
|
|
3488
|
+
// eslint-disable-next-line vue/require-prop-types
|
|
3489
|
+
noResultsMessage: {}
|
|
3472
3490
|
},
|
|
3473
3491
|
emits: {
|
|
3474
3492
|
input: selecteds => true
|
|
@@ -3497,6 +3515,46 @@ const VDataTable = vue.defineComponent({
|
|
|
3497
3515
|
ret.push(...headers.filter(h => !h.hidden));
|
|
3498
3516
|
return ret;
|
|
3499
3517
|
});
|
|
3518
|
+
const searchQueryValues = vue.computed(() => {
|
|
3519
|
+
let {
|
|
3520
|
+
searchQuery
|
|
3521
|
+
} = props;
|
|
3522
|
+
|
|
3523
|
+
if (!searchQuery) {
|
|
3524
|
+
return [];
|
|
3525
|
+
}
|
|
3526
|
+
|
|
3527
|
+
if (!Array.isArray(searchQuery)) {
|
|
3528
|
+
searchQuery = [searchQuery];
|
|
3529
|
+
}
|
|
3530
|
+
|
|
3531
|
+
const values = [];
|
|
3532
|
+
searchQuery.forEach(query => {
|
|
3533
|
+
const value = vui.location.getQuery(query);
|
|
3534
|
+
|
|
3535
|
+
if (value == null || value === '') {
|
|
3536
|
+
return;
|
|
3537
|
+
}
|
|
3538
|
+
|
|
3539
|
+
if (typeof value === 'object' && !Object.keys(value).length) {
|
|
3540
|
+
return;
|
|
3541
|
+
}
|
|
3542
|
+
|
|
3543
|
+
values.push(value);
|
|
3544
|
+
});
|
|
3545
|
+
return values;
|
|
3546
|
+
});
|
|
3547
|
+
const emptyMessage = vue.computed(() => {
|
|
3548
|
+
let message;
|
|
3549
|
+
|
|
3550
|
+
if (searchQueryValues.value.length) {
|
|
3551
|
+
message = props.noResultsMessage || vui.setting('noResultsMessage') || 'No search results found.'; // 検索結果が見つかりませんでした。
|
|
3552
|
+
} else {
|
|
3553
|
+
message = props.noDataMessage || vui.setting('noDataMessage') || 'No data was available.'; // データはありませんでした。
|
|
3554
|
+
}
|
|
3555
|
+
|
|
3556
|
+
return typeof message === 'function' ? message() : message;
|
|
3557
|
+
});
|
|
3500
3558
|
const classesRef = vue.computed(() => [{
|
|
3501
3559
|
'v-data-table--fixed-header': props.fixedHeader
|
|
3502
3560
|
}]);
|
|
@@ -3963,7 +4021,7 @@ const VDataTable = vue.defineComponent({
|
|
|
3963
4021
|
"class": "v-data-table__body container-pull"
|
|
3964
4022
|
}, [isEmpty ? vue.createVNode("div", {
|
|
3965
4023
|
"class": "v-data-table__empty--message"
|
|
3966
|
-
},
|
|
4024
|
+
}, [emptyMessage.value]) : vue.createVNode(VPaper, {
|
|
3967
4025
|
"class": "v-data-table__body__inner",
|
|
3968
4026
|
"style": bodyInnerStylesRef.value
|
|
3969
4027
|
}, {
|
|
@@ -4127,6 +4185,51 @@ const VToolbarTitle = vue.defineComponent({
|
|
|
4127
4185
|
|
|
4128
4186
|
const DEFAULT_AUTO_SCROLL_TO_ELEMENT_OFFSET_TOP = -20;
|
|
4129
4187
|
const DEFAULT_TEXTAREA_ROWS = 3;
|
|
4188
|
+
function mergeVuiServiceUISettings(base, overrides) {
|
|
4189
|
+
if (!overrides) {
|
|
4190
|
+
return base;
|
|
4191
|
+
}
|
|
4192
|
+
|
|
4193
|
+
const merged = { ...base
|
|
4194
|
+
};
|
|
4195
|
+
Object.entries(overrides).forEach(([key, value]) => {
|
|
4196
|
+
if (value) {
|
|
4197
|
+
merged[key] = value;
|
|
4198
|
+
}
|
|
4199
|
+
});
|
|
4200
|
+
return merged;
|
|
4201
|
+
}
|
|
4202
|
+
function mergeVuiServiceIconSettings(base, overrides) {
|
|
4203
|
+
if (!overrides) {
|
|
4204
|
+
return base;
|
|
4205
|
+
}
|
|
4206
|
+
|
|
4207
|
+
const merged = { ...base
|
|
4208
|
+
};
|
|
4209
|
+
Object.entries(overrides).forEach(([key, value]) => {
|
|
4210
|
+
if (value) {
|
|
4211
|
+
merged[key] = value;
|
|
4212
|
+
}
|
|
4213
|
+
});
|
|
4214
|
+
return merged;
|
|
4215
|
+
}
|
|
4216
|
+
function mergeVuiServiceOptions(base, overrides) {
|
|
4217
|
+
if (!overrides) {
|
|
4218
|
+
return base;
|
|
4219
|
+
}
|
|
4220
|
+
|
|
4221
|
+
const merged = { ...base,
|
|
4222
|
+
uiSettings: mergeVuiServiceUISettings(base.uiSettings, overrides.uiSettings),
|
|
4223
|
+
icons: mergeVuiServiceIconSettings(base.icons, overrides.icons)
|
|
4224
|
+
};
|
|
4225
|
+
const excludes = ['uiSettings', 'icons'];
|
|
4226
|
+
Object.entries(overrides).forEach(([key, value]) => {
|
|
4227
|
+
if (value && !excludes.includes(key)) {
|
|
4228
|
+
merged[key] = value;
|
|
4229
|
+
}
|
|
4230
|
+
});
|
|
4231
|
+
return merged;
|
|
4232
|
+
}
|
|
4130
4233
|
class VuiService {
|
|
4131
4234
|
get scroller() {
|
|
4132
4235
|
return vueScroller.getDocumentScroller();
|
|
@@ -4263,6 +4366,18 @@ class VuiService {
|
|
|
4263
4366
|
|
|
4264
4367
|
}
|
|
4265
4368
|
|
|
4369
|
+
function mergeVuiPluginOptions(base, override) {
|
|
4370
|
+
if (!override) return base;
|
|
4371
|
+
const merged = mergeVuiServiceOptions(base, override);
|
|
4372
|
+
|
|
4373
|
+
if (override.stack) {
|
|
4374
|
+
merged.stack = { ...merged.stack,
|
|
4375
|
+
...override.stack
|
|
4376
|
+
};
|
|
4377
|
+
}
|
|
4378
|
+
|
|
4379
|
+
return merged;
|
|
4380
|
+
}
|
|
4266
4381
|
class VuiPlugin {
|
|
4267
4382
|
static installedApps = new Set();
|
|
4268
4383
|
|
|
@@ -4406,6 +4521,10 @@ exports.defineFormSelectorComponent = defineFormSelectorComponent;
|
|
|
4406
4521
|
exports.iconProps = iconProps;
|
|
4407
4522
|
exports.installVuiPlugin = installVuiPlugin;
|
|
4408
4523
|
exports.listTileEmits = listTileEmits;
|
|
4524
|
+
exports.mergeVuiPluginOptions = mergeVuiPluginOptions;
|
|
4525
|
+
exports.mergeVuiServiceIconSettings = mergeVuiServiceIconSettings;
|
|
4526
|
+
exports.mergeVuiServiceOptions = mergeVuiServiceOptions;
|
|
4527
|
+
exports.mergeVuiServiceUISettings = mergeVuiServiceUISettings;
|
|
4409
4528
|
exports.paginationProps = paginationProps;
|
|
4410
4529
|
exports.rawIconProp = rawIconProp;
|
|
4411
4530
|
exports.renderNavigationItemInput = renderNavigationItemInput;
|
package/dist/vui.cjs.prod.js
CHANGED
|
@@ -2149,7 +2149,16 @@ const VSelect = vue.defineComponent({
|
|
|
2149
2149
|
}, [vue.createVNode("div", {
|
|
2150
2150
|
"class": "v-select__selections__inner"
|
|
2151
2151
|
}, [this.renderSelections(selectedItems)])])],
|
|
2152
|
-
endAdornment: () => vue.createVNode(
|
|
2152
|
+
endAdornment: () => this.clearable && this.nodeControl.value != null && vue.createVNode(VButton, {
|
|
2153
|
+
"key": "clear",
|
|
2154
|
+
"icon": this.$vui.icon('clear'),
|
|
2155
|
+
"rounded": true,
|
|
2156
|
+
"onClick": ev => {
|
|
2157
|
+
ev.stopPropagation();
|
|
2158
|
+
this.nodeControl.clear();
|
|
2159
|
+
}
|
|
2160
|
+
}, null) || vue.createVNode(VIcon, {
|
|
2161
|
+
"key": "icon",
|
|
2153
2162
|
"name": this.iconName,
|
|
2154
2163
|
"rotate": this.menuOpened ? 180 : 0
|
|
2155
2164
|
}, null)
|
|
@@ -3423,6 +3432,11 @@ const VDataTable = vue.defineComponent({
|
|
|
3423
3432
|
default: () => DATA_TABLE_DEFAULTS.orderQuery
|
|
3424
3433
|
},
|
|
3425
3434
|
|
|
3435
|
+
/**
|
|
3436
|
+
* 検索クエリ名
|
|
3437
|
+
*/
|
|
3438
|
+
searchQuery: [String, Array],
|
|
3439
|
+
|
|
3426
3440
|
/**
|
|
3427
3441
|
* リミット件数クエリ名
|
|
3428
3442
|
*/
|
|
@@ -3468,7 +3482,11 @@ const VDataTable = vue.defineComponent({
|
|
|
3468
3482
|
},
|
|
3469
3483
|
selectable: Boolean,
|
|
3470
3484
|
fixedHeader: Boolean,
|
|
3471
|
-
maxHeight: [Number, String]
|
|
3485
|
+
maxHeight: [Number, String],
|
|
3486
|
+
// eslint-disable-next-line vue/require-prop-types
|
|
3487
|
+
noDataMessage: {},
|
|
3488
|
+
// eslint-disable-next-line vue/require-prop-types
|
|
3489
|
+
noResultsMessage: {}
|
|
3472
3490
|
},
|
|
3473
3491
|
emits: {
|
|
3474
3492
|
input: selecteds => true
|
|
@@ -3497,6 +3515,46 @@ const VDataTable = vue.defineComponent({
|
|
|
3497
3515
|
ret.push(...headers.filter(h => !h.hidden));
|
|
3498
3516
|
return ret;
|
|
3499
3517
|
});
|
|
3518
|
+
const searchQueryValues = vue.computed(() => {
|
|
3519
|
+
let {
|
|
3520
|
+
searchQuery
|
|
3521
|
+
} = props;
|
|
3522
|
+
|
|
3523
|
+
if (!searchQuery) {
|
|
3524
|
+
return [];
|
|
3525
|
+
}
|
|
3526
|
+
|
|
3527
|
+
if (!Array.isArray(searchQuery)) {
|
|
3528
|
+
searchQuery = [searchQuery];
|
|
3529
|
+
}
|
|
3530
|
+
|
|
3531
|
+
const values = [];
|
|
3532
|
+
searchQuery.forEach(query => {
|
|
3533
|
+
const value = vui.location.getQuery(query);
|
|
3534
|
+
|
|
3535
|
+
if (value == null || value === '') {
|
|
3536
|
+
return;
|
|
3537
|
+
}
|
|
3538
|
+
|
|
3539
|
+
if (typeof value === 'object' && !Object.keys(value).length) {
|
|
3540
|
+
return;
|
|
3541
|
+
}
|
|
3542
|
+
|
|
3543
|
+
values.push(value);
|
|
3544
|
+
});
|
|
3545
|
+
return values;
|
|
3546
|
+
});
|
|
3547
|
+
const emptyMessage = vue.computed(() => {
|
|
3548
|
+
let message;
|
|
3549
|
+
|
|
3550
|
+
if (searchQueryValues.value.length) {
|
|
3551
|
+
message = props.noResultsMessage || vui.setting('noResultsMessage') || 'No search results found.'; // 検索結果が見つかりませんでした。
|
|
3552
|
+
} else {
|
|
3553
|
+
message = props.noDataMessage || vui.setting('noDataMessage') || 'No data was available.'; // データはありませんでした。
|
|
3554
|
+
}
|
|
3555
|
+
|
|
3556
|
+
return typeof message === 'function' ? message() : message;
|
|
3557
|
+
});
|
|
3500
3558
|
const classesRef = vue.computed(() => [{
|
|
3501
3559
|
'v-data-table--fixed-header': props.fixedHeader
|
|
3502
3560
|
}]);
|
|
@@ -3963,7 +4021,7 @@ const VDataTable = vue.defineComponent({
|
|
|
3963
4021
|
"class": "v-data-table__body container-pull"
|
|
3964
4022
|
}, [isEmpty ? vue.createVNode("div", {
|
|
3965
4023
|
"class": "v-data-table__empty--message"
|
|
3966
|
-
},
|
|
4024
|
+
}, [emptyMessage.value]) : vue.createVNode(VPaper, {
|
|
3967
4025
|
"class": "v-data-table__body__inner",
|
|
3968
4026
|
"style": bodyInnerStylesRef.value
|
|
3969
4027
|
}, {
|
|
@@ -4127,6 +4185,51 @@ const VToolbarTitle = vue.defineComponent({
|
|
|
4127
4185
|
|
|
4128
4186
|
const DEFAULT_AUTO_SCROLL_TO_ELEMENT_OFFSET_TOP = -20;
|
|
4129
4187
|
const DEFAULT_TEXTAREA_ROWS = 3;
|
|
4188
|
+
function mergeVuiServiceUISettings(base, overrides) {
|
|
4189
|
+
if (!overrides) {
|
|
4190
|
+
return base;
|
|
4191
|
+
}
|
|
4192
|
+
|
|
4193
|
+
const merged = { ...base
|
|
4194
|
+
};
|
|
4195
|
+
Object.entries(overrides).forEach(([key, value]) => {
|
|
4196
|
+
if (value) {
|
|
4197
|
+
merged[key] = value;
|
|
4198
|
+
}
|
|
4199
|
+
});
|
|
4200
|
+
return merged;
|
|
4201
|
+
}
|
|
4202
|
+
function mergeVuiServiceIconSettings(base, overrides) {
|
|
4203
|
+
if (!overrides) {
|
|
4204
|
+
return base;
|
|
4205
|
+
}
|
|
4206
|
+
|
|
4207
|
+
const merged = { ...base
|
|
4208
|
+
};
|
|
4209
|
+
Object.entries(overrides).forEach(([key, value]) => {
|
|
4210
|
+
if (value) {
|
|
4211
|
+
merged[key] = value;
|
|
4212
|
+
}
|
|
4213
|
+
});
|
|
4214
|
+
return merged;
|
|
4215
|
+
}
|
|
4216
|
+
function mergeVuiServiceOptions(base, overrides) {
|
|
4217
|
+
if (!overrides) {
|
|
4218
|
+
return base;
|
|
4219
|
+
}
|
|
4220
|
+
|
|
4221
|
+
const merged = { ...base,
|
|
4222
|
+
uiSettings: mergeVuiServiceUISettings(base.uiSettings, overrides.uiSettings),
|
|
4223
|
+
icons: mergeVuiServiceIconSettings(base.icons, overrides.icons)
|
|
4224
|
+
};
|
|
4225
|
+
const excludes = ['uiSettings', 'icons'];
|
|
4226
|
+
Object.entries(overrides).forEach(([key, value]) => {
|
|
4227
|
+
if (value && !excludes.includes(key)) {
|
|
4228
|
+
merged[key] = value;
|
|
4229
|
+
}
|
|
4230
|
+
});
|
|
4231
|
+
return merged;
|
|
4232
|
+
}
|
|
4130
4233
|
class VuiService {
|
|
4131
4234
|
get scroller() {
|
|
4132
4235
|
return vueScroller.getDocumentScroller();
|
|
@@ -4263,6 +4366,18 @@ class VuiService {
|
|
|
4263
4366
|
|
|
4264
4367
|
}
|
|
4265
4368
|
|
|
4369
|
+
function mergeVuiPluginOptions(base, override) {
|
|
4370
|
+
if (!override) return base;
|
|
4371
|
+
const merged = mergeVuiServiceOptions(base, override);
|
|
4372
|
+
|
|
4373
|
+
if (override.stack) {
|
|
4374
|
+
merged.stack = { ...merged.stack,
|
|
4375
|
+
...override.stack
|
|
4376
|
+
};
|
|
4377
|
+
}
|
|
4378
|
+
|
|
4379
|
+
return merged;
|
|
4380
|
+
}
|
|
4266
4381
|
class VuiPlugin {
|
|
4267
4382
|
static installedApps = new Set();
|
|
4268
4383
|
|
|
@@ -4406,6 +4521,10 @@ exports.defineFormSelectorComponent = defineFormSelectorComponent;
|
|
|
4406
4521
|
exports.iconProps = iconProps;
|
|
4407
4522
|
exports.installVuiPlugin = installVuiPlugin;
|
|
4408
4523
|
exports.listTileEmits = listTileEmits;
|
|
4524
|
+
exports.mergeVuiPluginOptions = mergeVuiPluginOptions;
|
|
4525
|
+
exports.mergeVuiServiceIconSettings = mergeVuiServiceIconSettings;
|
|
4526
|
+
exports.mergeVuiServiceOptions = mergeVuiServiceOptions;
|
|
4527
|
+
exports.mergeVuiServiceUISettings = mergeVuiServiceUISettings;
|
|
4409
4528
|
exports.paginationProps = paginationProps;
|
|
4410
4529
|
exports.rawIconProp = rawIconProp;
|
|
4411
4530
|
exports.renderNavigationItemInput = renderNavigationItemInput;
|