@vc-shell/framework 1.0.316 → 1.0.318
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 +18 -0
- package/core/composables/useSettings/index.ts +1 -1
- package/core/plugins/modularity/index.ts +1 -1
- package/dist/{azuread-BEDyfp-B.js → azuread-CJSEspQG.js} +2 -2
- package/dist/core/composables/useSettings/index.d.ts.map +1 -1
- package/dist/{external-provider-DcC1zWEO.js → external-provider-BCx6voAS.js} +1 -1
- package/dist/{external-provider.vue_vue_type_script_setup_true_lang-hFbmyZWT.js → external-provider.vue_vue_type_script_setup_true_lang-DS0pdOI4.js} +1 -1
- package/dist/external-providers-C3ipUu4X.js +4 -0
- package/dist/framework.js +1 -1
- package/dist/{index-BKlPQn8r.js → index-5lj-Khzv.js} +1 -1
- package/dist/{index-BJ_5CrUU.js → index-BGi54kRU.js} +1 -1
- package/dist/{index-BCwBSU0q.js → index-C0Ej2rhW.js} +13030 -12974
- package/dist/{index-Dgg3HMbU.js → index-CAuTPoxO.js} +1 -1
- package/dist/{index-BGTS5Q7U.js → index-CGGQLFGj.js} +1 -1
- package/dist/{index-z96MJ7sA.js → index-CqJTaoye.js} +1 -1
- package/dist/{index-Dv2ufjAS.js → index-CuaPIv9j.js} +1 -1
- package/dist/{index-BbfER0VL.js → index-Cuq1NqL2.js} +1 -1
- package/dist/{index-AMbx22gV.js → index-Cx8-D7jW.js} +1 -1
- package/dist/{index-CSSjUHre.js → index-CzOVuS24.js} +1 -1
- package/dist/{index-COuMdMeQ.js → index-DpADBMAg.js} +1 -1
- package/dist/{index-DnZAnO6v.js → index-DzKgU4I6.js} +1 -1
- package/dist/{index-pU2xkDC8.js → index-M-1HlIsj.js} +1 -1
- package/dist/{index-VTtDxdEo.js → index-X8ui7i04.js} +1 -1
- package/dist/{index-DGBgF-kf.js → index-f9XKnuL7.js} +1 -1
- package/dist/{index-6F462Mrq.js → index-gwYhQoXl.js} +1 -1
- package/dist/{index-CZdHpD3e.js → index-oY8BxX9o.js} +1 -1
- package/dist/index.css +1 -1
- package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/SchemaRender.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/Button.d.ts +1 -0
- package/dist/shared/modules/dynamic/components/fields/Button.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/Card.d.ts +1 -0
- package/dist/shared/modules/dynamic/components/fields/Card.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/Checkbox.d.ts +1 -0
- package/dist/shared/modules/dynamic/components/fields/Checkbox.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/ContentField.d.ts +1 -0
- package/dist/shared/modules/dynamic/components/fields/ContentField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/CustomComponent.d.ts +1 -0
- package/dist/shared/modules/dynamic/components/fields/CustomComponent.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/DynamicProperty.d.ts +1 -0
- package/dist/shared/modules/dynamic/components/fields/DynamicProperty.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/EditorField.d.ts +1 -0
- package/dist/shared/modules/dynamic/components/fields/EditorField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/Fieldset.d.ts +1 -0
- package/dist/shared/modules/dynamic/components/fields/Fieldset.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/GalleryField.d.ts +1 -0
- package/dist/shared/modules/dynamic/components/fields/GalleryField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/ImageField.d.ts +1 -0
- package/dist/shared/modules/dynamic/components/fields/ImageField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/InputCurrency.d.ts +1 -0
- package/dist/shared/modules/dynamic/components/fields/InputCurrency.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/InputField.d.ts +1 -0
- package/dist/shared/modules/dynamic/components/fields/InputField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/MultivalueField.d.ts +1 -0
- package/dist/shared/modules/dynamic/components/fields/MultivalueField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/RadioButtonGroup.d.ts +1 -0
- package/dist/shared/modules/dynamic/components/fields/RadioButtonGroup.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/RatingField.d.ts +1 -0
- package/dist/shared/modules/dynamic/components/fields/RatingField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/SelectField.d.ts +1 -0
- package/dist/shared/modules/dynamic/components/fields/SelectField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/StatusField.d.ts +1 -0
- package/dist/shared/modules/dynamic/components/fields/StatusField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/SwitchField.d.ts +1 -0
- package/dist/shared/modules/dynamic/components/fields/SwitchField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/Table.d.ts +1 -0
- package/dist/shared/modules/dynamic/components/fields/Table.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/TextareaField.d.ts +1 -0
- package/dist/shared/modules/dynamic/components/fields/TextareaField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/VideoField.d.ts +1 -0
- package/dist/shared/modules/dynamic/components/fields/VideoField.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/props.d.ts +1 -0
- package/dist/shared/modules/dynamic/components/fields/props.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/Button.stories.d.ts +3 -0
- package/dist/shared/modules/dynamic/components/fields/storybook/Button.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/Card.stories.d.ts +3 -0
- package/dist/shared/modules/dynamic/components/fields/storybook/Card.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/Checkbox.stories.d.ts +3 -0
- package/dist/shared/modules/dynamic/components/fields/storybook/Checkbox.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/ContentField.stories.d.ts +3 -0
- package/dist/shared/modules/dynamic/components/fields/storybook/ContentField.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/EditorField.stories.d.ts +3 -0
- package/dist/shared/modules/dynamic/components/fields/storybook/EditorField.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/Fieldset.stories.d.ts +3 -0
- package/dist/shared/modules/dynamic/components/fields/storybook/Fieldset.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/GalleryField.stories.d.ts +3 -0
- package/dist/shared/modules/dynamic/components/fields/storybook/GalleryField.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/ImageField.stories.d.ts +3 -0
- package/dist/shared/modules/dynamic/components/fields/storybook/ImageField.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/InputCurrency.stories.d.ts +3 -0
- package/dist/shared/modules/dynamic/components/fields/storybook/InputCurrency.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/InputField.stories.d.ts +3 -0
- package/dist/shared/modules/dynamic/components/fields/storybook/InputField.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/MultivalueField.stories.d.ts +3 -0
- package/dist/shared/modules/dynamic/components/fields/storybook/MultivalueField.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/RadioButtonGroup.stories.d.ts +3 -0
- package/dist/shared/modules/dynamic/components/fields/storybook/RadioButtonGroup.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/RatingField.stories.d.ts +3 -0
- package/dist/shared/modules/dynamic/components/fields/storybook/RatingField.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/SelectField.stories.d.ts +3 -0
- package/dist/shared/modules/dynamic/components/fields/storybook/SelectField.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/StatusField.stories.d.ts +3 -0
- package/dist/shared/modules/dynamic/components/fields/storybook/StatusField.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/TextareaField.stories.d.ts +3 -0
- package/dist/shared/modules/dynamic/components/fields/storybook/TextareaField.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/VideoField.stories.d.ts +3 -0
- package/dist/shared/modules/dynamic/components/fields/storybook/VideoField.stories.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/components/fields/storybook/pages/DynamicRender.d.ts +3 -0
- package/dist/shared/modules/dynamic/components/fields/storybook/pages/DynamicRender.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/factories/base/useDetailsFactory.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/factories/types/index.d.ts +2 -0
- package/dist/shared/modules/dynamic/factories/types/index.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/helpers/methodHandler.d.ts +4 -0
- package/dist/shared/modules/dynamic/helpers/methodHandler.d.ts.map +1 -0
- package/dist/shared/modules/dynamic/helpers/override.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts +2 -0
- package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts.map +1 -1
- package/dist/shared/modules/dynamic/types/index.d.ts +8 -2
- package/dist/shared/modules/dynamic/types/index.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.stories.d.ts +21 -21
- package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.vue.d.ts +3 -3
- package/dist/ui/components/molecules/vc-select/vc-select.stories.d.ts +210 -30
- package/dist/ui/components/molecules/vc-select/vc-select.stories.d.ts.map +1 -1
- package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts +22 -3
- package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/vc-app.stories.d.ts +12 -0
- package/dist/ui/components/organisms/vc-app/vc-app.stories.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts +1 -0
- package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-blade/vc-blade.stories.d.ts +1 -1
- package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts +3 -3
- package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts.map +1 -1
- package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts +1 -1
- package/package.json +4 -4
- package/shared/components/blade-navigation/composables/useBladeNavigation/index.ts +10 -9
- package/shared/components/theme-selector/theme-selector.vue +1 -1
- package/shared/components/user-dropdown-button/user-dropdown-button.vue +4 -4
- package/shared/modules/dynamic/components/SchemaRender.ts +9 -5
- package/shared/modules/dynamic/components/fields/DynamicProperty.ts +3 -0
- package/shared/modules/dynamic/components/fields/InputField.ts +9 -1
- package/shared/modules/dynamic/factories/base/useDetailsFactory.ts +6 -1
- package/shared/modules/dynamic/factories/types/index.ts +2 -0
- package/shared/modules/dynamic/helpers/{visibilityHandler.ts → methodHandler.ts} +2 -2
- package/shared/modules/dynamic/helpers/nodeBuilder.ts +3 -3
- package/shared/modules/dynamic/helpers/override.ts +1 -1
- package/shared/modules/dynamic/pages/dynamic-blade-form.vue +70 -19
- package/shared/modules/dynamic/types/index.ts +9 -2
- package/ui/components/molecules/vc-notification/vc-notification.vue +1 -1
- package/ui/components/molecules/vc-select/vc-select.vue +75 -23
- package/ui/components/organisms/vc-app/vc-app.vue +2 -0
- package/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue +4 -1
- package/ui/components/organisms/vc-blade/vc-blade.stories.ts +1 -1
- package/dist/external-providers-ooV6TgBS.js +0 -4
- package/dist/shared/modules/dynamic/helpers/visibilityHandler.d.ts +0 -4
- package/dist/shared/modules/dynamic/helpers/visibilityHandler.d.ts.map +0 -1
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
v-if="bladeOptions"
|
|
17
17
|
#actions
|
|
18
18
|
>
|
|
19
|
-
<div class="tw-flex tw-flex-row tw-items-center tw-gap-3">
|
|
19
|
+
<div class="tw-flex tw-flex-row tw-items-center tw-gap-3 tw-max-w-1/2 tw-w-full">
|
|
20
20
|
<template
|
|
21
21
|
v-for="(value, key, index) in bladeOptions"
|
|
22
22
|
:key="`blade-actions-slot-${key}-${index}`"
|
|
@@ -26,26 +26,40 @@
|
|
|
26
26
|
</div>
|
|
27
27
|
</template>
|
|
28
28
|
|
|
29
|
-
<
|
|
29
|
+
<div class="blade-content-wrapper">
|
|
30
30
|
<div
|
|
31
|
-
v-if="
|
|
32
|
-
class="
|
|
31
|
+
v-if="multilanguage.multilanguage"
|
|
32
|
+
class="language-selector-container"
|
|
33
33
|
>
|
|
34
|
-
<
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
v-model="item"
|
|
41
|
-
:ui-schema="form.children"
|
|
42
|
-
:context="bladeContext as any"
|
|
43
|
-
:current-locale="toValue(unreffedScope)?.multilanguage?.currentLocale"
|
|
44
|
-
></SchemaRender>
|
|
45
|
-
</VcForm>
|
|
46
|
-
</div>
|
|
34
|
+
<template
|
|
35
|
+
v-for="(value, key, index) in multilanguage"
|
|
36
|
+
:key="`blade-multilanguage-slot-${key}-${index}`"
|
|
37
|
+
>
|
|
38
|
+
<component :is="value" />
|
|
39
|
+
</template>
|
|
47
40
|
</div>
|
|
48
|
-
|
|
41
|
+
|
|
42
|
+
<VcContainer :no-padding="true">
|
|
43
|
+
<div
|
|
44
|
+
v-if="isReady && item && Object.keys(item)"
|
|
45
|
+
class="item-details__inner"
|
|
46
|
+
>
|
|
47
|
+
<div class="item-details__content">
|
|
48
|
+
<VcForm
|
|
49
|
+
ref="formItem"
|
|
50
|
+
class="tw-grow tw-p-4"
|
|
51
|
+
>
|
|
52
|
+
<SchemaRender
|
|
53
|
+
v-model="item"
|
|
54
|
+
:ui-schema="form.children"
|
|
55
|
+
:context="bladeContext as any"
|
|
56
|
+
:current-locale="toValue(unreffedScope)?.multilanguage?.currentLocale"
|
|
57
|
+
></SchemaRender>
|
|
58
|
+
</VcForm>
|
|
59
|
+
</div>
|
|
60
|
+
</div>
|
|
61
|
+
</VcContainer>
|
|
62
|
+
</div>
|
|
49
63
|
|
|
50
64
|
<template
|
|
51
65
|
v-if="item && bladeWidgets && bladeWidgets.length"
|
|
@@ -296,6 +310,12 @@ const bladeMultilanguage = reactiveComputed(() => {
|
|
|
296
310
|
disabled: "disabled" in toValue(unreffedScope) && toValue(unreffedScope).disabled,
|
|
297
311
|
required: true,
|
|
298
312
|
clearable: false,
|
|
313
|
+
outline: false,
|
|
314
|
+
offset: {
|
|
315
|
+
mainAxis: -2,
|
|
316
|
+
crossAxis: -12,
|
|
317
|
+
},
|
|
318
|
+
placement: "bottom-end",
|
|
299
319
|
"onUpdate:modelValue": (e: string) => {
|
|
300
320
|
toValue(unreffedScope).multilanguage?.setLocale(e);
|
|
301
321
|
},
|
|
@@ -307,6 +327,16 @@ const bladeMultilanguage = reactiveComputed(() => {
|
|
|
307
327
|
opt: { flag: string; label: string };
|
|
308
328
|
},
|
|
309
329
|
) => {
|
|
330
|
+
if (slot === "selected-item") {
|
|
331
|
+
return h(
|
|
332
|
+
"div",
|
|
333
|
+
{
|
|
334
|
+
class:
|
|
335
|
+
"tw-flex tw-items-center tw-justify-center tw-bg-[--primary-500] tw-w-8 tw-h-8 tw-rounded-l-full",
|
|
336
|
+
},
|
|
337
|
+
[h(VcImage, { src: scope.opt.flag, class: "tw-w-6 tw-h-6", emptyIcon: "" })],
|
|
338
|
+
);
|
|
339
|
+
}
|
|
310
340
|
return h("div", { class: "tw-flex tw-items-center tw-gap-2" }, [
|
|
311
341
|
h(VcImage, { src: scope.opt.flag, class: "tw-w-6 tw-h-6", emptyIcon: "" }),
|
|
312
342
|
h("span", { class: "tw-text-sm" }, scope.opt.label),
|
|
@@ -340,10 +370,13 @@ const bladeWidgets = computed(() => {
|
|
|
340
370
|
});
|
|
341
371
|
|
|
342
372
|
const bladeOptions = reactive({
|
|
343
|
-
multilanguage: bladeMultilanguage.component,
|
|
344
373
|
status: bladeStatus,
|
|
345
374
|
});
|
|
346
375
|
|
|
376
|
+
const multilanguage = reactive({
|
|
377
|
+
multilanguage: bladeMultilanguage.component,
|
|
378
|
+
});
|
|
379
|
+
|
|
347
380
|
const toolbarComputed =
|
|
348
381
|
(props.composables &&
|
|
349
382
|
useToolbarReducer({
|
|
@@ -484,4 +517,22 @@ defineExpose({
|
|
|
484
517
|
@apply tw-border-r-0 tw-border-b tw-border-solid tw-border-b-[--dynamic-form-mobile-border] tw-overflow-visible;
|
|
485
518
|
}
|
|
486
519
|
}
|
|
520
|
+
|
|
521
|
+
.blade-content-wrapper {
|
|
522
|
+
position: relative;
|
|
523
|
+
height: 100%;
|
|
524
|
+
width: 100%;
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
.language-selector-container {
|
|
528
|
+
position: absolute;
|
|
529
|
+
top: 0;
|
|
530
|
+
right: -5px;
|
|
531
|
+
z-index: 10;
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
.blade-scrollable-content {
|
|
535
|
+
height: 100%;
|
|
536
|
+
overflow-y: auto;
|
|
537
|
+
}
|
|
487
538
|
</style>
|
|
@@ -11,17 +11,17 @@ import {
|
|
|
11
11
|
VcRating,
|
|
12
12
|
VcStatus,
|
|
13
13
|
VcPagination,
|
|
14
|
+
VcInputCurrency,
|
|
14
15
|
} from "./../../../../ui/components";
|
|
15
16
|
import { ITableColumns, IValidationRules, MenuItemConfig } from "../../../../core/types";
|
|
16
17
|
import type { ComponentProps } from "./../../../utilities/vueUtils";
|
|
17
|
-
import VcInputCurrency from "../../../../ui/components/molecules/vc-input-currency/vc-input-currency.vue";
|
|
18
18
|
|
|
19
19
|
export type KeysOfUnion<T> = T extends T ? keyof T : never;
|
|
20
20
|
|
|
21
21
|
export type Composable<T> = T[keyof T];
|
|
22
22
|
|
|
23
23
|
export type DynamicSchema = DynamicGridSchema | DynamicDetailsSchema;
|
|
24
|
-
type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
|
|
24
|
+
// type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
|
|
25
25
|
type RequiredBy<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
|
|
26
26
|
|
|
27
27
|
export interface DynamicGridSchema {
|
|
@@ -495,6 +495,13 @@ export interface InputSchema extends SchemaBase {
|
|
|
495
495
|
* Datepicker options.
|
|
496
496
|
*/
|
|
497
497
|
datePickerOptions?: ComponentProps<typeof VcInput>["datePickerOptions"];
|
|
498
|
+
/**
|
|
499
|
+
* Whether the input is in loading state or not.
|
|
500
|
+
* @type {boolean}
|
|
501
|
+
*/
|
|
502
|
+
loading?: {
|
|
503
|
+
method: string;
|
|
504
|
+
};
|
|
498
505
|
}
|
|
499
506
|
|
|
500
507
|
/**
|
|
@@ -155,7 +155,7 @@ function onMouseLeave() {
|
|
|
155
155
|
}
|
|
156
156
|
|
|
157
157
|
&__content {
|
|
158
|
-
@apply tw-text-[color:var(--notification-content-color)] tw-whitespace-pre-line tw-overflow-auto;
|
|
158
|
+
@apply tw-text-[color:var(--notification-content-color)] tw-whitespace-pre-line tw-overflow-auto tw-text-sm tw-leading-5;
|
|
159
159
|
@apply tw-max-h-[100px];
|
|
160
160
|
}
|
|
161
161
|
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
'vc-select_error': error,
|
|
7
7
|
'vc-select_disabled': disabled,
|
|
8
8
|
'vc-select_has-hint-or-error': error || hint,
|
|
9
|
+
'vc-select_no-outline': !outline,
|
|
9
10
|
}"
|
|
10
11
|
>
|
|
11
12
|
<!-- Select label -->
|
|
@@ -239,8 +240,9 @@
|
|
|
239
240
|
ref="root"
|
|
240
241
|
:no-padding="true"
|
|
241
242
|
>
|
|
243
|
+
<div v-if="listLoading"></div>
|
|
242
244
|
<div
|
|
243
|
-
v-if="!(optionsList && optionsList.length)"
|
|
245
|
+
v-else-if="!(optionsList && optionsList.length)"
|
|
244
246
|
class="vc-select__no-options"
|
|
245
247
|
>
|
|
246
248
|
<slot name="no-options">
|
|
@@ -279,7 +281,16 @@ import { ref, computed, watch, nextTick, Ref, toRefs } from "vue";
|
|
|
279
281
|
import { vOnClickOutside } from "@vueuse/components";
|
|
280
282
|
import * as _ from "lodash-es";
|
|
281
283
|
import { useIntersectionObserver } from "@vueuse/core";
|
|
282
|
-
import {
|
|
284
|
+
import {
|
|
285
|
+
useFloating,
|
|
286
|
+
UseFloatingReturn,
|
|
287
|
+
offset as uiOffset,
|
|
288
|
+
flip,
|
|
289
|
+
shift,
|
|
290
|
+
autoUpdate,
|
|
291
|
+
MiddlewareState,
|
|
292
|
+
Placement,
|
|
293
|
+
} from "@floating-ui/vue";
|
|
283
294
|
import { VcLabel, VcContainer, VcHint, VcIcon } from "./../../";
|
|
284
295
|
import { useI18n } from "vue-i18n";
|
|
285
296
|
|
|
@@ -484,6 +495,14 @@ const props = withDefaults(
|
|
|
484
495
|
multilanguage?: boolean;
|
|
485
496
|
currentLanguage?: string;
|
|
486
497
|
size?: "default" | "small";
|
|
498
|
+
outline?: boolean;
|
|
499
|
+
placement?: Placement;
|
|
500
|
+
offset?:
|
|
501
|
+
| {
|
|
502
|
+
crossAxis?: number;
|
|
503
|
+
mainAxis?: number;
|
|
504
|
+
}
|
|
505
|
+
| number;
|
|
487
506
|
}>(),
|
|
488
507
|
{
|
|
489
508
|
optionValue: "id",
|
|
@@ -495,6 +514,9 @@ const props = withDefaults(
|
|
|
495
514
|
mapOptions: true,
|
|
496
515
|
size: "default",
|
|
497
516
|
options: (): T[] => [],
|
|
517
|
+
outline: true,
|
|
518
|
+
placement: "bottom",
|
|
519
|
+
offset: -2,
|
|
498
520
|
},
|
|
499
521
|
);
|
|
500
522
|
|
|
@@ -552,13 +574,13 @@ useIntersectionObserver(
|
|
|
552
574
|
);
|
|
553
575
|
|
|
554
576
|
const popper = useFloating(dropdownToggleRef, dropdownRef, {
|
|
555
|
-
placement:
|
|
577
|
+
placement: props.placement,
|
|
556
578
|
whileElementsMounted: autoUpdate,
|
|
557
579
|
middleware: [
|
|
558
580
|
flip({ fallbackPlacements: ["top", "bottom"] }),
|
|
559
581
|
shift({ mainAxis: false }),
|
|
560
582
|
sameWidthChangeBorders(),
|
|
561
|
-
offset
|
|
583
|
+
uiOffset(props.offset),
|
|
562
584
|
],
|
|
563
585
|
}) as FloatingInstanceType;
|
|
564
586
|
|
|
@@ -611,22 +633,36 @@ watch(
|
|
|
611
633
|
);
|
|
612
634
|
|
|
613
635
|
watch(
|
|
614
|
-
|
|
615
|
-
async () => {
|
|
616
|
-
if (
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
636
|
+
isOpened,
|
|
637
|
+
async (newVal) => {
|
|
638
|
+
if (newVal && !optionsList.value.length) {
|
|
639
|
+
if (props.options && typeof props.options === "function") {
|
|
640
|
+
try {
|
|
641
|
+
listLoading.value = true;
|
|
642
|
+
const data = await props.options();
|
|
643
|
+
optionsList.value = data.results as Option[];
|
|
644
|
+
totalItems.value = data.totalCount;
|
|
645
|
+
} finally {
|
|
646
|
+
listLoading.value = false;
|
|
647
|
+
}
|
|
624
648
|
}
|
|
625
|
-
|
|
626
|
-
|
|
649
|
+
|
|
650
|
+
optionsTemp.value = optionsList.value;
|
|
627
651
|
}
|
|
652
|
+
},
|
|
653
|
+
{ immediate: true },
|
|
654
|
+
);
|
|
655
|
+
|
|
656
|
+
watch(
|
|
657
|
+
options,
|
|
658
|
+
async (newVal) => {
|
|
659
|
+
if (newVal && !optionsList.value.length && typeof props.options !== "function") {
|
|
660
|
+
if (props.options && Array.isArray(props.options)) {
|
|
661
|
+
optionsList.value = props.options as Option[];
|
|
662
|
+
}
|
|
628
663
|
|
|
629
|
-
|
|
664
|
+
optionsTemp.value = optionsList.value;
|
|
665
|
+
}
|
|
630
666
|
},
|
|
631
667
|
{ immediate: true },
|
|
632
668
|
);
|
|
@@ -836,12 +872,17 @@ function sameWidthChangeBorders() {
|
|
|
836
872
|
return {
|
|
837
873
|
x,
|
|
838
874
|
y,
|
|
839
|
-
data:
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
875
|
+
data: props.outline
|
|
876
|
+
? {
|
|
877
|
+
borderTop,
|
|
878
|
+
borderBottom,
|
|
879
|
+
borderRadius,
|
|
880
|
+
width,
|
|
881
|
+
}
|
|
882
|
+
: {
|
|
883
|
+
border: "1px solid var(--select-border-color)",
|
|
884
|
+
width: "max-content",
|
|
885
|
+
},
|
|
845
886
|
};
|
|
846
887
|
},
|
|
847
888
|
};
|
|
@@ -964,6 +1005,17 @@ function onReset() {
|
|
|
964
1005
|
}
|
|
965
1006
|
|
|
966
1007
|
.vc-select {
|
|
1008
|
+
&_no-outline {
|
|
1009
|
+
.vc-select__chevron-container {
|
|
1010
|
+
display: none;
|
|
1011
|
+
}
|
|
1012
|
+
|
|
1013
|
+
.vc-select__field {
|
|
1014
|
+
border: none;
|
|
1015
|
+
background-color: transparent !important;
|
|
1016
|
+
}
|
|
1017
|
+
}
|
|
1018
|
+
|
|
967
1019
|
&__container {
|
|
968
1020
|
@apply tw-box-border tw-w-full;
|
|
969
1021
|
}
|
|
@@ -63,6 +63,7 @@
|
|
|
63
63
|
<UserDropdownButton
|
|
64
64
|
:avatar-url="avatar"
|
|
65
65
|
:role="role"
|
|
66
|
+
:name="name"
|
|
66
67
|
/>
|
|
67
68
|
</slot>
|
|
68
69
|
</slot>
|
|
@@ -121,6 +122,7 @@ export interface Props {
|
|
|
121
122
|
version?: string;
|
|
122
123
|
title?: string;
|
|
123
124
|
avatar?: string;
|
|
125
|
+
name?: string;
|
|
124
126
|
disableMenu?: boolean;
|
|
125
127
|
role?: string;
|
|
126
128
|
}
|
|
@@ -74,7 +74,7 @@ export const ExpandableBlade: StoryFn<typeof VcBlade> = (args) => ({
|
|
|
74
74
|
template: '<vc-blade v-bind="args" expandable @expand="expandBlade"><div class="p-4">Blade Contents</div></vc-blade>',
|
|
75
75
|
});
|
|
76
76
|
|
|
77
|
-
export const
|
|
77
|
+
export const BladeWithoutToolbar: StoryFn<typeof VcBlade> = (args) => ({
|
|
78
78
|
components: { VcBlade },
|
|
79
79
|
setup() {
|
|
80
80
|
return { args };
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { ControlSchema } from "./../types/index";
|
|
2
|
-
import { ComputedRef } from "vue";
|
|
3
|
-
export declare const visibilityHandler: (visibility: ComputedRef<boolean | undefined> | ((schema: ControlSchema, fieldContext: Record<string, any> | undefined) => boolean) | undefined, fieldContext: Record<string, any> | undefined, schema: ControlSchema) => boolean | undefined;
|
|
4
|
-
//# sourceMappingURL=visibilityHandler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"visibilityHandler.d.ts","sourceRoot":"","sources":["../../../../../shared/modules/dynamic/helpers/visibilityHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAW,MAAM,KAAK,CAAC;AAE3C,eAAO,MAAM,iBAAiB,4DAGd,aAAa,gBAAgB,OAAO,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,KAAK,OAAO,6BAExE,OAAO,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,UACrC,aAAa,wBAWtB,CAAC"}
|