@vc-shell/framework 1.1.30 → 1.1.31

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 (109) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/core/composables/useErrorHandler/index.ts +28 -36
  3. package/core/composables/useLanguages/index.ts +1 -0
  4. package/core/services/settings-menu-service.ts +6 -6
  5. package/core/utilities/error.ts +89 -0
  6. package/dist/core/composables/useErrorHandler/index.d.ts +10 -1
  7. package/dist/core/composables/useErrorHandler/index.d.ts.map +1 -1
  8. package/dist/core/composables/useLanguages/index.d.ts.map +1 -1
  9. package/dist/core/services/settings-menu-service.d.ts +3 -3
  10. package/dist/core/services/settings-menu-service.d.ts.map +1 -1
  11. package/dist/core/utilities/error.d.ts +13 -0
  12. package/dist/core/utilities/error.d.ts.map +1 -0
  13. package/dist/framework.js +138 -134
  14. package/dist/{index-Bpzd_lmX.js → index-0JXtGXkU.js} +1 -1
  15. package/dist/{index-DJxEdMUZ.js → index-B4vlCcFR.js} +1 -1
  16. package/dist/{index-Bn87vMP8.js → index-Bo-tMcwW.js} +1 -1
  17. package/dist/{index-CM7z23lM.js → index-Bxzy9NzM.js} +1 -1
  18. package/dist/{index-BhEc39Bx.js → index-C0HMg87C.js} +1 -1
  19. package/dist/{index-DFp2PcZu.js → index-C34EKuYz.js} +1 -1
  20. package/dist/{index-B8e874V3.js → index-CIYNhqa0.js} +1 -1
  21. package/dist/{index-CK1ZmJzV.js → index-D2ktcdHl.js} +30374 -30127
  22. package/dist/{index-CR9ZPpuz.js → index-DKAEB9Q6.js} +1 -1
  23. package/dist/{index-BeTy-tH8.js → index-DWkmlYj4.js} +1 -1
  24. package/dist/{index-Cl-FWJ0z.js → index-Dxs7WOw2.js} +1 -1
  25. package/dist/{index-sElVLLwP.js → index-NFZ0riWN.js} +1 -1
  26. package/dist/{index-BerVe4OV.js → index-W3dvhLJ3.js} +1 -1
  27. package/dist/{index-C-pBZXky.js → index-Yu2Xrty9.js} +1 -1
  28. package/dist/{index-AgS-u96H.js → index-jKOJ5dxS.js} +1 -1
  29. package/dist/{index-HFn5nMnu.js → index-lJ-eV6nh.js} +1 -1
  30. package/dist/{index-NX-Ek0LQ.js → index-uOSH3WBg.js} +1 -1
  31. package/dist/index.css +1 -1
  32. package/dist/locales/de.json +1 -1
  33. package/dist/locales/en.json +1 -1
  34. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts.map +1 -1
  35. package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts +3 -2
  36. package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts.map +1 -1
  37. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts +2 -0
  38. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -1
  39. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeState.d.ts +2 -0
  40. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeState.d.ts.map +1 -1
  41. package/dist/shared/components/blade-navigation/types/index.d.ts +3 -2
  42. package/dist/shared/components/blade-navigation/types/index.d.ts.map +1 -1
  43. package/dist/shared/components/draggable-dashboard/composables/useDashboardDragAndDrop.d.ts +18 -363
  44. package/dist/shared/components/draggable-dashboard/composables/useDashboardDragAndDrop.d.ts.map +1 -1
  45. package/dist/shared/components/error-interceptor/interceptor.d.ts +7 -4
  46. package/dist/shared/components/error-interceptor/interceptor.d.ts.map +1 -1
  47. package/dist/shared/components/index.d.ts +1 -0
  48. package/dist/shared/components/index.d.ts.map +1 -1
  49. package/dist/shared/components/multilanguage-selector/index.d.ts +2 -0
  50. package/dist/shared/components/multilanguage-selector/index.d.ts.map +1 -0
  51. package/dist/shared/components/multilanguage-selector/multilanguage-selector.vue.d.ts +43 -0
  52. package/dist/shared/components/multilanguage-selector/multilanguage-selector.vue.d.ts.map +1 -0
  53. package/dist/shared/composables/index.d.ts +1 -0
  54. package/dist/shared/composables/index.d.ts.map +1 -1
  55. package/dist/shared/composables/useModificationTracker/index.d.ts +34 -0
  56. package/dist/shared/composables/useModificationTracker/index.d.ts.map +1 -0
  57. package/dist/shared/index.d.ts +1 -0
  58. package/dist/shared/index.d.ts.map +1 -1
  59. package/dist/tsconfig.tsbuildinfo +1 -1
  60. package/dist/ui/components/atoms/index.d.ts +1 -0
  61. package/dist/ui/components/atoms/index.d.ts.map +1 -1
  62. package/dist/ui/components/atoms/vc-banner/index.d.ts +2 -0
  63. package/dist/ui/components/atoms/vc-banner/index.d.ts.map +1 -0
  64. package/dist/ui/components/atoms/vc-banner/vc-banner.vue.d.ts +25 -0
  65. package/dist/ui/components/atoms/vc-banner/vc-banner.vue.d.ts.map +1 -0
  66. package/dist/ui/components/atoms/vc-card/vc-card.vue.d.ts.map +1 -1
  67. package/dist/ui/components/molecules/vc-checkbox/vc-checkbox.vue.d.ts +1 -0
  68. package/dist/ui/components/molecules/vc-checkbox/vc-checkbox.vue.d.ts.map +1 -1
  69. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts +1 -0
  70. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
  71. package/dist/ui/components/organisms/vc-blade/vc-blade.backupsb.d.ts +5 -1
  72. package/dist/ui/components/organisms/vc-blade/vc-blade.backupsb.d.ts.map +1 -1
  73. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts +3 -1
  74. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts.map +1 -1
  75. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-body/vc-table-body.vue.d.ts +0 -1
  76. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-body/vc-table-body.vue.d.ts.map +1 -1
  77. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-row/vc-table-row.vue.d.ts +0 -1
  78. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-row/vc-table-row.vue.d.ts.map +1 -1
  79. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/vc-table-desktop-view.vue.d.ts +0 -1
  80. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/vc-table-desktop-view.vue.d.ts.map +1 -1
  81. package/dist/ui/components/organisms/vc-table/composables/useTableActions.d.ts +4 -4
  82. package/dist/ui/components/organisms/vc-table/composables/useTableActions.d.ts.map +1 -1
  83. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts.map +1 -1
  84. package/package.json +4 -4
  85. package/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue +18 -18
  86. package/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.ts +5 -3
  87. package/shared/components/blade-navigation/composables/useBladeNavigation/index.ts +12 -1
  88. package/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeState.ts +34 -0
  89. package/shared/components/blade-navigation/types/index.ts +2 -1
  90. package/shared/components/draggable-dashboard/composables/useDashboardDragAndDrop.ts +17 -3
  91. package/shared/components/error-interceptor/interceptor.ts +48 -44
  92. package/shared/components/index.ts +1 -0
  93. package/shared/components/multilanguage-selector/index.ts +1 -0
  94. package/shared/components/multilanguage-selector/multilanguage-selector.vue +144 -0
  95. package/shared/composables/index.ts +2 -1
  96. package/shared/composables/useModificationTracker/index.ts +93 -0
  97. package/shared/index.ts +1 -0
  98. package/ui/components/atoms/index.ts +1 -0
  99. package/ui/components/atoms/vc-banner/index.ts +1 -0
  100. package/ui/components/atoms/vc-banner/vc-banner.vue +138 -0
  101. package/ui/components/atoms/vc-card/vc-card.vue +6 -0
  102. package/ui/components/molecules/vc-checkbox/vc-checkbox.vue +9 -3
  103. package/ui/components/organisms/vc-app/vc-app.vue +6 -1
  104. package/ui/components/organisms/vc-blade/vc-blade.vue +40 -50
  105. package/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-body/vc-table-body.vue +0 -2
  106. package/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-row/vc-table-row.vue +1 -2
  107. package/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/vc-table-desktop-view.vue +0 -2
  108. package/ui/components/organisms/vc-table/composables/useTableActions.ts +13 -8
  109. package/ui/components/organisms/vc-table/vc-table.vue +6 -6
@@ -68,11 +68,11 @@
68
68
  size="s"
69
69
  icon="material-warning"
70
70
  />
71
- <div class="vc-blade__error-text">{{ blade.error }}</div>
71
+ <div class="vc-blade__error-text">{{ shortErrorMessage }}</div>
72
72
  <VcButton
73
73
  text
74
74
  class="vc-blade__error-button"
75
- @click="open()"
75
+ @click="openErrorDetails"
76
76
  >
77
77
  {{ t("COMPONENTS.ORGANISMS.VC_BLADE.SEE_DETAILS") }}
78
78
  </VcButton>
@@ -153,6 +153,7 @@ export interface Emits {
153
153
  (event: "close"): void;
154
154
  (event: "expand"): void;
155
155
  (event: "collapse"): void;
156
+ (event: "reset:error"): void;
156
157
  }
157
158
 
158
159
  defineOptions({
@@ -198,7 +199,6 @@ const slots = defineSlots<{
198
199
  * });
199
200
  */
200
201
  widgets: (props: any) => any;
201
- backButton: (props: any) => any;
202
202
  }>();
203
203
 
204
204
  const emit = defineEmits<Emits>();
@@ -207,7 +207,7 @@ const blade = inject(
207
207
  BladeInstance,
208
208
  computed(() => ({
209
209
  id: FALLBACK_BLADE_ID,
210
- error: undefined,
210
+ error: null,
211
211
  expandable: false,
212
212
  maximized: false,
213
213
  navigation: undefined,
@@ -225,10 +225,27 @@ const { blades } = useBladeNavigation();
225
225
  const bladeRef = ref<HTMLElement | null>(null);
226
226
  const contentRef = ref<HTMLElement | null>(null);
227
227
 
228
+ const error = computed(() => toValue(blade.value.error));
229
+
230
+ const shortErrorMessage = computed(() => {
231
+ const err = error.value;
232
+ if (!err) return "";
233
+ return err instanceof Error ? err.message : err;
234
+ });
235
+
236
+ const errorDetails = computed(() => {
237
+ const err = error.value;
238
+ if (!err) return "";
239
+ if (err instanceof Error) {
240
+ return (err as any).details || err.stack || String(err);
241
+ }
242
+ return String(err);
243
+ });
244
+
228
245
  const { open } = usePopup({
229
246
  component: vcPopupError,
230
247
  slots: {
231
- default: computed(() => toValue(blade.value.error)),
248
+ default: errorDetails,
232
249
  header: defineComponent({
233
250
  render: () =>
234
251
  h("div", [
@@ -236,13 +253,17 @@ const { open } = usePopup({
236
253
  " ",
237
254
  h(
238
255
  VcLink,
239
- { onClick: () => navigator.clipboard.writeText(toValue(blade.value.error) ?? "") },
256
+ { onClick: () => navigator.clipboard.writeText(errorDetails.value) },
240
257
  `(${t("COMPONENTS.ORGANISMS.VC_BLADE.ERROR_POPUP.COPY_ERROR")})`,
241
258
  ),
242
259
  ]),
243
260
  }),
244
261
  },
245
262
  });
263
+
264
+ const openErrorDetails = () => {
265
+ open();
266
+ };
246
267
  </script>
247
268
 
248
269
  <style lang="scss">
@@ -276,17 +297,18 @@ const { open } = usePopup({
276
297
  }
277
298
 
278
299
  &--mobile {
279
- @apply tw-w-full #{!important};
300
+ @apply tw-w-full !important;
280
301
  }
281
302
 
282
303
  &--expanded {
283
- @apply tw-w-full tw-shrink #{!important};
304
+ @apply tw-w-full tw-shrink !important;
284
305
  }
285
306
 
286
307
  &--maximized {
287
- @apply tw-absolute tw-z-[2] tw-top-0 tw-bottom-0 tw-left-0 tw-shrink #{!important};
288
- width: -webkit-fill-available !important;
289
- width: -moz-available !important;
308
+ @apply tw-absolute tw-z-[2] tw-top-0 tw-bottom-0 tw-left-0 tw-shrink !important;
309
+ width: -webkit-fill-available;
310
+ width: -moz-available;
311
+ width: fill-available;
290
312
  }
291
313
 
292
314
  &__header {
@@ -306,8 +328,8 @@ const { open } = usePopup({
306
328
  }
307
329
 
308
330
  &__error-button {
309
- @apply tw-shrink-0 tw-opacity-80 hover:tw-opacity-100 hover:tw-text-[color:var(--blade-text-color)];
310
- @apply tw-text-[color:var(--blade-text-color)] #{!important};
331
+ @apply tw-shrink-0 tw-opacity-80 hover:tw-opacity-100 hover:tw-text-[color:var(--blade-text-color)];
332
+ @apply tw-text-[color:var(--blade-text-color)] !important;
311
333
  }
312
334
 
313
335
  &__unsaved-changes {
@@ -339,7 +361,7 @@ const { open } = usePopup({
339
361
  }
340
362
 
341
363
  &__slot {
342
- @apply tw-flex tw-flex-auto tw-flex-col;
364
+ @apply tw-flex tw-flex-auto tw-flex-col tw-relative;
343
365
 
344
366
  &--desktop {
345
367
  @apply tw-w-0;
@@ -362,46 +384,14 @@ const { open } = usePopup({
362
384
  @apply tw-mr-[10px];
363
385
 
364
386
  &-button {
365
- @apply tw-text-[color:var(--blade-header-breadcrumbs-button-color)] tw-cursor-pointer hover:tw-text-[color:var(--blade-header-breadcrumbs-button-color-hover)] #{!important};
387
+ @apply tw-text-[color:var(--blade-header-breadcrumbs-button-color)] tw-cursor-pointer hover:tw-text-[color:var(--blade-header-breadcrumbs-button-color-hover)] !important;
366
388
 
367
389
  &--active {
368
- @apply tw-text-[color:var(--blade-header-breadcrumbs-button-color-hover)] #{!important};
390
+ @apply tw-text-[color:var(--blade-header-breadcrumbs-button-color-hover)] !important;
369
391
  }
370
392
  }
371
393
  }
372
394
 
373
- // &__widgets {
374
- // @apply tw-flex;
375
-
376
- // &--desktop {
377
- // @apply tw-border-l tw-border-solid tw-border-l-[color:var(--blade-border-color)];
378
- // }
379
-
380
- // &--not-expanded {
381
- // @apply tw-w-12 tw-flex-col;
382
- // }
383
-
384
- // &--expanded {
385
- // @apply tw-w-32 tw-flex-col;
386
- // }
387
-
388
- // &--mobile {
389
- // @apply tw-w-auto tw-border-t tw-border-solid tw-border-t-[color:var(--blade-border-color)] tw-flex-row;
390
- // }
391
- // }
392
-
393
- // &__widget-container {
394
- // @apply tw-flex tw-overflow-y-auto tw-flex-row;
395
-
396
- // // &--desktop {
397
- // // @apply tw-flex-col tw-overflow-x-clip;
398
- // // }
399
-
400
- // // &--mobile {
401
- // // @apply tw-flex-row;
402
- // // }
403
- // }
404
-
405
395
  &__widget-toggle {
406
396
  @apply tw-flex;
407
397
 
@@ -416,7 +406,7 @@ const { open } = usePopup({
416
406
 
417
407
  &__toggle-icon {
418
408
  @apply tw-flex-auto tw-items-center tw-self-center tw-justify-self-center tw-text-[color:var(--blade-icon-color)] tw-cursor-pointer hover:tw-text-[color:var(--blade-icon-hover-color)];
419
- @apply tw-flex #{!important};
409
+ @apply tw-flex !important;
420
410
  }
421
411
 
422
412
  &__toggle-icon--desktop {
@@ -435,7 +425,7 @@ const { open } = usePopup({
435
425
  }
436
426
 
437
427
  &__breadcrumbs-button {
438
- @apply tw-p-0 #{!important};
428
+ @apply tw-p-0 !important;
439
429
  }
440
430
  }
441
431
 
@@ -19,7 +19,6 @@
19
19
  :has-click-listener="hasClickListener"
20
20
  :editing="editing"
21
21
  :enable-item-actions="enableItemActions"
22
- :item-action-builder="itemActionBuilder"
23
22
  :item-actions="itemActions"
24
23
  :selected-row-index="selectedRowIndex"
25
24
  :is-selected="isSelected"
@@ -89,7 +88,6 @@ defineProps<{
89
88
  hasClickListener?: boolean;
90
89
  editing?: boolean;
91
90
  enableItemActions?: boolean;
92
- itemActionBuilder?: (item: T) => IActionBuilderResult[] | undefined;
93
91
  itemActions: IActionBuilderResult[][];
94
92
  selectedRowIndex?: number;
95
93
  columnsInit: boolean;
@@ -64,7 +64,7 @@
64
64
  </div>
65
65
  </div>
66
66
  <div
67
- v-if="enableItemActions && itemActionBuilder && typeof item === 'object' && selectedRowIndex === index"
67
+ v-if="enableItemActions && itemActions?.length && typeof item === 'object' && selectedRowIndex === index"
68
68
  class="vc-table-row__actions"
69
69
  :class="{
70
70
  'vc-table-row__actions--hover': hasClickListener,
@@ -121,7 +121,6 @@ defineProps<{
121
121
  hasClickListener?: boolean;
122
122
  editing?: boolean;
123
123
  enableItemActions?: boolean;
124
- itemActionBuilder?: (item: T) => IActionBuilderResult[] | undefined;
125
124
  itemActions: IActionBuilderResult[][];
126
125
  selectedRowIndex?: number;
127
126
  isSelected: (item: T) => boolean;
@@ -51,7 +51,6 @@
51
51
  :has-click-listener="hasClickListener"
52
52
  :editing="editing"
53
53
  :enable-item-actions="enableItemActions"
54
- :item-action-builder="itemActionBuilder"
55
54
  :item-actions="itemActions"
56
55
  :selected-row-index="selectedRowIndex"
57
56
  :columns-init="columnsInit"
@@ -119,7 +118,6 @@ const props = defineProps<{
119
118
  reorderableRows?: boolean;
120
119
  reorderableColumns?: boolean;
121
120
  enableItemActions?: boolean;
122
- itemActionBuilder?: (item: T) => IActionBuilderResult<T>[] | undefined;
123
121
  itemActions: IActionBuilderResult<T>[][];
124
122
  selectedRowIndex?: number;
125
123
  hasClickListener?: boolean;
@@ -1,31 +1,37 @@
1
- import { Ref, ref, shallowRef } from "vue";
1
+ import { type MaybeRef, Ref, ref, shallowRef, unref } from "vue";
2
2
  import { IActionBuilderResult } from "../../../../../core/types";
3
3
  import type { TableItem } from "./../types";
4
4
 
5
5
  export interface UseTableActionsOptions<T extends TableItem | string> {
6
- enableItemActions?: boolean;
7
- itemActionBuilder?: (item: T) => Promise<IActionBuilderResult[]> | IActionBuilderResult[] | undefined;
6
+ enableItemActions?: MaybeRef<boolean | undefined>;
7
+ itemActionBuilder?: MaybeRef<
8
+ ((item: T) => Promise<IActionBuilderResult<T>[]> | IActionBuilderResult<T>[] | undefined) | undefined
9
+ >;
8
10
  }
9
11
 
10
12
  export function useTableActions<T extends TableItem | string>(options: UseTableActionsOptions<T>) {
11
13
  const { enableItemActions, itemActionBuilder } = options;
12
14
 
13
- const itemActions: Ref<IActionBuilderResult[][]> = ref([]);
15
+ const itemActions: Ref<IActionBuilderResult<T>[][]> = ref([]);
14
16
  const selectedRowIndex = shallowRef<number>();
15
17
  const mobileSwipeItem = ref<string>();
16
18
 
17
19
  async function calculateActions(items: T[]) {
18
- if (enableItemActions && typeof itemActionBuilder === "function") {
19
- const populatedItems: IActionBuilderResult[][] = [];
20
+ const builder = unref(itemActionBuilder);
21
+
22
+ if (unref(enableItemActions) && typeof builder === "function") {
23
+ const populatedItems: IActionBuilderResult<T>[][] = [];
20
24
  for (let index = 0; index < items.length; index++) {
21
25
  if (typeof items[index] === "object") {
22
- const elementWithActions = await itemActionBuilder(items[index]);
26
+ const elementWithActions = await builder(items[index]);
23
27
  if (elementWithActions) {
24
28
  populatedItems.push(elementWithActions);
25
29
  }
26
30
  }
27
31
  }
28
32
  itemActions.value = populatedItems;
33
+ } else {
34
+ itemActions.value = [];
29
35
  }
30
36
  }
31
37
 
@@ -40,7 +46,6 @@ export function useTableActions<T extends TableItem | string>(options: UseTableA
40
46
  }
41
47
 
42
48
  function handleSwipe(id: string) {
43
- console.log("handleSwipe", id);
44
49
  mobileSwipeItem.value = id;
45
50
  }
46
51
 
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div
3
- v-loading:49="unref(loading) || columnsInit"
3
+ v-loading:49="loading || columnsInit"
4
4
  class="vc-table"
5
5
  >
6
6
  <VcTableSelectAll
@@ -49,7 +49,7 @@
49
49
  ref="scrollContainer"
50
50
  :no-padding="true"
51
51
  class="vc-table__scroll-container"
52
- :use-ptr="selection.length === 0 ? pullToReload : undefined"
52
+ :use-ptr="selection?.length === 0 ? pullToReload : undefined"
53
53
  @scroll:ptr="$emit('scroll:ptr')"
54
54
  >
55
55
  <!-- Mobile table view -->
@@ -110,7 +110,6 @@
110
110
  :selected-item-id="selectedItemId"
111
111
  :reorderable-rows="reorderableRows"
112
112
  :enable-item-actions="enableItemActions"
113
- :item-action-builder="itemActionBuilder"
114
113
  :item-actions="itemActions"
115
114
  :selected-row-index="selectedRowIndex"
116
115
  :has-click-listener="hasClickListener"
@@ -254,6 +253,7 @@ const props = withDefaults(
254
253
  reorderableColumns: true,
255
254
  paginationVariant: "default",
256
255
  columnSelector: "auto",
256
+ stateKey: "FALLBACK_STATE_KEY",
257
257
  },
258
258
  );
259
259
 
@@ -273,7 +273,7 @@ const emit = defineEmits<{
273
273
 
274
274
  const instance = getCurrentInstance();
275
275
 
276
- const { items, columns, stateKey, columnSelector, expanded, selectionItems } = toRefs(props);
276
+ const { items, columns, stateKey, columnSelector, expanded, selectionItems, enableItemActions, itemActionBuilder } = toRefs(props);
277
277
 
278
278
  // template refs
279
279
  const tableBody = ref<HTMLElement | null>();
@@ -301,8 +301,8 @@ const {
301
301
  });
302
302
 
303
303
  const { itemActions, selectedRowIndex, calculateActions, showActions, closeActions } = useTableActions<T>({
304
- enableItemActions: props.enableItemActions,
305
- itemActionBuilder: props.itemActionBuilder,
304
+ enableItemActions,
305
+ itemActionBuilder,
306
306
  });
307
307
 
308
308
  const isHeaderHover = ref(false);