@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.
Files changed (156) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/core/composables/useSettings/index.ts +1 -1
  3. package/core/plugins/modularity/index.ts +1 -1
  4. package/dist/{azuread-BEDyfp-B.js → azuread-CJSEspQG.js} +2 -2
  5. package/dist/core/composables/useSettings/index.d.ts.map +1 -1
  6. package/dist/{external-provider-DcC1zWEO.js → external-provider-BCx6voAS.js} +1 -1
  7. 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
  8. package/dist/external-providers-C3ipUu4X.js +4 -0
  9. package/dist/framework.js +1 -1
  10. package/dist/{index-BKlPQn8r.js → index-5lj-Khzv.js} +1 -1
  11. package/dist/{index-BJ_5CrUU.js → index-BGi54kRU.js} +1 -1
  12. package/dist/{index-BCwBSU0q.js → index-C0Ej2rhW.js} +13030 -12974
  13. package/dist/{index-Dgg3HMbU.js → index-CAuTPoxO.js} +1 -1
  14. package/dist/{index-BGTS5Q7U.js → index-CGGQLFGj.js} +1 -1
  15. package/dist/{index-z96MJ7sA.js → index-CqJTaoye.js} +1 -1
  16. package/dist/{index-Dv2ufjAS.js → index-CuaPIv9j.js} +1 -1
  17. package/dist/{index-BbfER0VL.js → index-Cuq1NqL2.js} +1 -1
  18. package/dist/{index-AMbx22gV.js → index-Cx8-D7jW.js} +1 -1
  19. package/dist/{index-CSSjUHre.js → index-CzOVuS24.js} +1 -1
  20. package/dist/{index-COuMdMeQ.js → index-DpADBMAg.js} +1 -1
  21. package/dist/{index-DnZAnO6v.js → index-DzKgU4I6.js} +1 -1
  22. package/dist/{index-pU2xkDC8.js → index-M-1HlIsj.js} +1 -1
  23. package/dist/{index-VTtDxdEo.js → index-X8ui7i04.js} +1 -1
  24. package/dist/{index-DGBgF-kf.js → index-f9XKnuL7.js} +1 -1
  25. package/dist/{index-6F462Mrq.js → index-gwYhQoXl.js} +1 -1
  26. package/dist/{index-CZdHpD3e.js → index-oY8BxX9o.js} +1 -1
  27. package/dist/index.css +1 -1
  28. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -1
  29. package/dist/shared/modules/dynamic/components/SchemaRender.d.ts.map +1 -1
  30. package/dist/shared/modules/dynamic/components/fields/Button.d.ts +1 -0
  31. package/dist/shared/modules/dynamic/components/fields/Button.d.ts.map +1 -1
  32. package/dist/shared/modules/dynamic/components/fields/Card.d.ts +1 -0
  33. package/dist/shared/modules/dynamic/components/fields/Card.d.ts.map +1 -1
  34. package/dist/shared/modules/dynamic/components/fields/Checkbox.d.ts +1 -0
  35. package/dist/shared/modules/dynamic/components/fields/Checkbox.d.ts.map +1 -1
  36. package/dist/shared/modules/dynamic/components/fields/ContentField.d.ts +1 -0
  37. package/dist/shared/modules/dynamic/components/fields/ContentField.d.ts.map +1 -1
  38. package/dist/shared/modules/dynamic/components/fields/CustomComponent.d.ts +1 -0
  39. package/dist/shared/modules/dynamic/components/fields/CustomComponent.d.ts.map +1 -1
  40. package/dist/shared/modules/dynamic/components/fields/DynamicProperty.d.ts +1 -0
  41. package/dist/shared/modules/dynamic/components/fields/DynamicProperty.d.ts.map +1 -1
  42. package/dist/shared/modules/dynamic/components/fields/EditorField.d.ts +1 -0
  43. package/dist/shared/modules/dynamic/components/fields/EditorField.d.ts.map +1 -1
  44. package/dist/shared/modules/dynamic/components/fields/Fieldset.d.ts +1 -0
  45. package/dist/shared/modules/dynamic/components/fields/Fieldset.d.ts.map +1 -1
  46. package/dist/shared/modules/dynamic/components/fields/GalleryField.d.ts +1 -0
  47. package/dist/shared/modules/dynamic/components/fields/GalleryField.d.ts.map +1 -1
  48. package/dist/shared/modules/dynamic/components/fields/ImageField.d.ts +1 -0
  49. package/dist/shared/modules/dynamic/components/fields/ImageField.d.ts.map +1 -1
  50. package/dist/shared/modules/dynamic/components/fields/InputCurrency.d.ts +1 -0
  51. package/dist/shared/modules/dynamic/components/fields/InputCurrency.d.ts.map +1 -1
  52. package/dist/shared/modules/dynamic/components/fields/InputField.d.ts +1 -0
  53. package/dist/shared/modules/dynamic/components/fields/InputField.d.ts.map +1 -1
  54. package/dist/shared/modules/dynamic/components/fields/MultivalueField.d.ts +1 -0
  55. package/dist/shared/modules/dynamic/components/fields/MultivalueField.d.ts.map +1 -1
  56. package/dist/shared/modules/dynamic/components/fields/RadioButtonGroup.d.ts +1 -0
  57. package/dist/shared/modules/dynamic/components/fields/RadioButtonGroup.d.ts.map +1 -1
  58. package/dist/shared/modules/dynamic/components/fields/RatingField.d.ts +1 -0
  59. package/dist/shared/modules/dynamic/components/fields/RatingField.d.ts.map +1 -1
  60. package/dist/shared/modules/dynamic/components/fields/SelectField.d.ts +1 -0
  61. package/dist/shared/modules/dynamic/components/fields/SelectField.d.ts.map +1 -1
  62. package/dist/shared/modules/dynamic/components/fields/StatusField.d.ts +1 -0
  63. package/dist/shared/modules/dynamic/components/fields/StatusField.d.ts.map +1 -1
  64. package/dist/shared/modules/dynamic/components/fields/SwitchField.d.ts +1 -0
  65. package/dist/shared/modules/dynamic/components/fields/SwitchField.d.ts.map +1 -1
  66. package/dist/shared/modules/dynamic/components/fields/Table.d.ts +1 -0
  67. package/dist/shared/modules/dynamic/components/fields/Table.d.ts.map +1 -1
  68. package/dist/shared/modules/dynamic/components/fields/TextareaField.d.ts +1 -0
  69. package/dist/shared/modules/dynamic/components/fields/TextareaField.d.ts.map +1 -1
  70. package/dist/shared/modules/dynamic/components/fields/VideoField.d.ts +1 -0
  71. package/dist/shared/modules/dynamic/components/fields/VideoField.d.ts.map +1 -1
  72. package/dist/shared/modules/dynamic/components/fields/props.d.ts +1 -0
  73. package/dist/shared/modules/dynamic/components/fields/props.d.ts.map +1 -1
  74. package/dist/shared/modules/dynamic/components/fields/storybook/Button.stories.d.ts +3 -0
  75. package/dist/shared/modules/dynamic/components/fields/storybook/Button.stories.d.ts.map +1 -1
  76. package/dist/shared/modules/dynamic/components/fields/storybook/Card.stories.d.ts +3 -0
  77. package/dist/shared/modules/dynamic/components/fields/storybook/Card.stories.d.ts.map +1 -1
  78. package/dist/shared/modules/dynamic/components/fields/storybook/Checkbox.stories.d.ts +3 -0
  79. package/dist/shared/modules/dynamic/components/fields/storybook/Checkbox.stories.d.ts.map +1 -1
  80. package/dist/shared/modules/dynamic/components/fields/storybook/ContentField.stories.d.ts +3 -0
  81. package/dist/shared/modules/dynamic/components/fields/storybook/ContentField.stories.d.ts.map +1 -1
  82. package/dist/shared/modules/dynamic/components/fields/storybook/EditorField.stories.d.ts +3 -0
  83. package/dist/shared/modules/dynamic/components/fields/storybook/EditorField.stories.d.ts.map +1 -1
  84. package/dist/shared/modules/dynamic/components/fields/storybook/Fieldset.stories.d.ts +3 -0
  85. package/dist/shared/modules/dynamic/components/fields/storybook/Fieldset.stories.d.ts.map +1 -1
  86. package/dist/shared/modules/dynamic/components/fields/storybook/GalleryField.stories.d.ts +3 -0
  87. package/dist/shared/modules/dynamic/components/fields/storybook/GalleryField.stories.d.ts.map +1 -1
  88. package/dist/shared/modules/dynamic/components/fields/storybook/ImageField.stories.d.ts +3 -0
  89. package/dist/shared/modules/dynamic/components/fields/storybook/ImageField.stories.d.ts.map +1 -1
  90. package/dist/shared/modules/dynamic/components/fields/storybook/InputCurrency.stories.d.ts +3 -0
  91. package/dist/shared/modules/dynamic/components/fields/storybook/InputCurrency.stories.d.ts.map +1 -1
  92. package/dist/shared/modules/dynamic/components/fields/storybook/InputField.stories.d.ts +3 -0
  93. package/dist/shared/modules/dynamic/components/fields/storybook/InputField.stories.d.ts.map +1 -1
  94. package/dist/shared/modules/dynamic/components/fields/storybook/MultivalueField.stories.d.ts +3 -0
  95. package/dist/shared/modules/dynamic/components/fields/storybook/MultivalueField.stories.d.ts.map +1 -1
  96. package/dist/shared/modules/dynamic/components/fields/storybook/RadioButtonGroup.stories.d.ts +3 -0
  97. package/dist/shared/modules/dynamic/components/fields/storybook/RadioButtonGroup.stories.d.ts.map +1 -1
  98. package/dist/shared/modules/dynamic/components/fields/storybook/RatingField.stories.d.ts +3 -0
  99. package/dist/shared/modules/dynamic/components/fields/storybook/RatingField.stories.d.ts.map +1 -1
  100. package/dist/shared/modules/dynamic/components/fields/storybook/SelectField.stories.d.ts +3 -0
  101. package/dist/shared/modules/dynamic/components/fields/storybook/SelectField.stories.d.ts.map +1 -1
  102. package/dist/shared/modules/dynamic/components/fields/storybook/StatusField.stories.d.ts +3 -0
  103. package/dist/shared/modules/dynamic/components/fields/storybook/StatusField.stories.d.ts.map +1 -1
  104. package/dist/shared/modules/dynamic/components/fields/storybook/TextareaField.stories.d.ts +3 -0
  105. package/dist/shared/modules/dynamic/components/fields/storybook/TextareaField.stories.d.ts.map +1 -1
  106. package/dist/shared/modules/dynamic/components/fields/storybook/VideoField.stories.d.ts +3 -0
  107. package/dist/shared/modules/dynamic/components/fields/storybook/VideoField.stories.d.ts.map +1 -1
  108. package/dist/shared/modules/dynamic/components/fields/storybook/pages/DynamicRender.d.ts +3 -0
  109. package/dist/shared/modules/dynamic/components/fields/storybook/pages/DynamicRender.d.ts.map +1 -1
  110. package/dist/shared/modules/dynamic/factories/base/useDetailsFactory.d.ts.map +1 -1
  111. package/dist/shared/modules/dynamic/factories/types/index.d.ts +2 -0
  112. package/dist/shared/modules/dynamic/factories/types/index.d.ts.map +1 -1
  113. package/dist/shared/modules/dynamic/helpers/methodHandler.d.ts +4 -0
  114. package/dist/shared/modules/dynamic/helpers/methodHandler.d.ts.map +1 -0
  115. package/dist/shared/modules/dynamic/helpers/override.d.ts.map +1 -1
  116. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts +2 -0
  117. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts.map +1 -1
  118. package/dist/shared/modules/dynamic/types/index.d.ts +8 -2
  119. package/dist/shared/modules/dynamic/types/index.d.ts.map +1 -1
  120. package/dist/tsconfig.tsbuildinfo +1 -1
  121. package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.stories.d.ts +21 -21
  122. package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.vue.d.ts +3 -3
  123. package/dist/ui/components/molecules/vc-select/vc-select.stories.d.ts +210 -30
  124. package/dist/ui/components/molecules/vc-select/vc-select.stories.d.ts.map +1 -1
  125. package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts +22 -3
  126. package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts.map +1 -1
  127. package/dist/ui/components/organisms/vc-app/vc-app.stories.d.ts +12 -0
  128. package/dist/ui/components/organisms/vc-app/vc-app.stories.d.ts.map +1 -1
  129. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts +1 -0
  130. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
  131. package/dist/ui/components/organisms/vc-blade/vc-blade.stories.d.ts +1 -1
  132. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts +3 -3
  133. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts.map +1 -1
  134. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts +1 -1
  135. package/package.json +4 -4
  136. package/shared/components/blade-navigation/composables/useBladeNavigation/index.ts +10 -9
  137. package/shared/components/theme-selector/theme-selector.vue +1 -1
  138. package/shared/components/user-dropdown-button/user-dropdown-button.vue +4 -4
  139. package/shared/modules/dynamic/components/SchemaRender.ts +9 -5
  140. package/shared/modules/dynamic/components/fields/DynamicProperty.ts +3 -0
  141. package/shared/modules/dynamic/components/fields/InputField.ts +9 -1
  142. package/shared/modules/dynamic/factories/base/useDetailsFactory.ts +6 -1
  143. package/shared/modules/dynamic/factories/types/index.ts +2 -0
  144. package/shared/modules/dynamic/helpers/{visibilityHandler.ts → methodHandler.ts} +2 -2
  145. package/shared/modules/dynamic/helpers/nodeBuilder.ts +3 -3
  146. package/shared/modules/dynamic/helpers/override.ts +1 -1
  147. package/shared/modules/dynamic/pages/dynamic-blade-form.vue +70 -19
  148. package/shared/modules/dynamic/types/index.ts +9 -2
  149. package/ui/components/molecules/vc-notification/vc-notification.vue +1 -1
  150. package/ui/components/molecules/vc-select/vc-select.vue +75 -23
  151. package/ui/components/organisms/vc-app/vc-app.vue +2 -0
  152. package/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue +4 -1
  153. package/ui/components/organisms/vc-blade/vc-blade.stories.ts +1 -1
  154. package/dist/external-providers-ooV6TgBS.js +0 -4
  155. package/dist/shared/modules/dynamic/helpers/visibilityHandler.d.ts +0 -4
  156. 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
- <VcContainer :no-padding="true">
29
+ <div class="blade-content-wrapper">
30
30
  <div
31
- v-if="isReady && item && Object.keys(item)"
32
- class="item-details__inner"
31
+ v-if="multilanguage.multilanguage"
32
+ class="language-selector-container"
33
33
  >
34
- <div class="item-details__content">
35
- <VcForm
36
- ref="formItem"
37
- class="tw-grow tw-p-4"
38
- >
39
- <SchemaRender
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
- </VcContainer>
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 { useFloating, UseFloatingReturn, offset, flip, shift, autoUpdate, MiddlewareState } from "@floating-ui/vue";
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: "bottom",
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(-2),
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
- options,
615
- async () => {
616
- if (props.options && typeof props.options === "function") {
617
- try {
618
- listLoading.value = true;
619
- const data = await props.options();
620
- optionsList.value = data.results as Option[];
621
- totalItems.value = data.totalCount;
622
- } finally {
623
- listLoading.value = false;
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
- } else if (props.options && Array.isArray(props.options)) {
626
- optionsList.value = props.options as Option[];
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
- optionsTemp.value = optionsList.value;
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
- borderTop,
841
- borderBottom,
842
- borderRadius,
843
- width,
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
  }
@@ -52,7 +52,10 @@
52
52
  </div>
53
53
  </div>
54
54
 
55
- <div v-if="$slots['actions']">
55
+ <div
56
+ v-if="$slots['actions']"
57
+ class="tw-w-auto tw-max-w-1/2"
58
+ >
56
59
  <slot name="actions"></slot>
57
60
  </div>
58
61
 
@@ -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 bladeWithoutToolbar: StoryFn<typeof VcBlade> = (args) => ({
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 { b as f } from "./index-BCwBSU0q.js";
2
- export {
3
- f as default
4
- };
@@ -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"}