@omnitend/dashboard-for-laravel 0.5.0 → 0.6.0

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.
@@ -1,8 +1,8 @@
1
1
  {
2
- "generated": "2026-06-28T12:36:46.436Z",
2
+ "generated": "2026-06-30T11:07:44.590Z",
3
3
  "package": {
4
4
  "name": "@omnitend/dashboard-for-laravel",
5
- "version": "0.5.0"
5
+ "version": "0.6.0"
6
6
  },
7
7
  "components": {
8
8
  "base": [
@@ -149,8 +149,7 @@
149
149
  "name": "size",
150
150
  "type": "Size",
151
151
  "required": false,
152
- "default": "'md'",
153
- "description": "The size of the button"
152
+ "description": "The size of the button. Omit for the default (medium) size —\nbootstrap-vue-next 0.45 removed the no-op `'md'` value from `Size`."
154
153
  }
155
154
  ],
156
155
  "events": [],
@@ -231,48 +230,6 @@
231
230
  ],
232
231
  "methods": []
233
232
  },
234
- {
235
- "name": "DCarousel",
236
- "category": "base",
237
- "filePath": "resources/js/components/base/DCarousel.vue",
238
- "description": "",
239
- "props": [],
240
- "events": [],
241
- "slots": [
242
- {
243
- "name": "name",
244
- "description": "",
245
- "bindings": [
246
- {
247
- "name": "name",
248
- "title": "binding"
249
- }
250
- ]
251
- }
252
- ],
253
- "methods": []
254
- },
255
- {
256
- "name": "DCarouselSlide",
257
- "category": "base",
258
- "filePath": "resources/js/components/base/DCarouselSlide.vue",
259
- "description": "",
260
- "props": [],
261
- "events": [],
262
- "slots": [
263
- {
264
- "name": "name",
265
- "description": "",
266
- "bindings": [
267
- {
268
- "name": "name",
269
- "title": "binding"
270
- }
271
- ]
272
- }
273
- ],
274
- "methods": []
275
- },
276
233
  {
277
234
  "name": "DCol",
278
235
  "category": "base",
@@ -1042,7 +999,14 @@
1042
999
  "category": "base",
1043
1000
  "filePath": "resources/js/components/base/DTable.vue",
1044
1001
  "description": "",
1045
- "props": [],
1002
+ "props": [
1003
+ {
1004
+ "name": "fields",
1005
+ "type": "Array",
1006
+ "required": false,
1007
+ "description": "Column definitions. Declared as a prop (rather than passed through\n`$attrs`) so we can shield the field `formatter` signature across\nbootstrap-vue-next versions."
1008
+ }
1009
+ ],
1046
1010
  "events": [
1047
1011
  {
1048
1012
  "name": "update:sortBy",
@@ -2185,8 +2149,8 @@
2185
2149
  ]
2186
2150
  },
2187
2151
  "stats": {
2188
- "totalComponents": 64,
2189
- "baseComponents": 56,
2152
+ "totalComponents": 62,
2153
+ "baseComponents": 54,
2190
2154
  "extendedComponents": 8
2191
2155
  }
2192
2156
  }
@@ -1,7 +1,7 @@
1
1
  # Documentation Map
2
2
 
3
3
  > Auto-generated hierarchical overview of all documentation
4
- > Last updated: 2026-06-28T12:36:46.494Z
4
+ > Last updated: 2026-06-30T11:07:44.650Z
5
5
 
6
6
  This file provides a complete map of all available documentation for AI agents and developers.
7
7
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  > Vue 3 dashboard components for Laravel with Bootstrap Vue Next
4
4
  >
5
- > A dual-package library (NPM + Composer) providing 64 Vue 3 components for building Laravel dashboards with Bootstrap Vue Next.
5
+ > A dual-package library (NPM + Composer) providing 62 Vue 3 components for building Laravel dashboards with Bootstrap Vue Next.
6
6
 
7
7
  ## Installation
8
8
 
@@ -19,7 +19,7 @@
19
19
  - [Theming](/guide/theming): Customize appearance with CSS variables
20
20
  - [TypeScript](/guide/typescript): TypeScript types and best practices
21
21
 
22
- ## Base Components (56 components)
22
+ ## Base Components (54 components)
23
23
 
24
24
  Lightweight type-safe wrappers around Bootstrap Vue Next components providing API stability and consistent theming.
25
25
 
@@ -33,8 +33,6 @@ Lightweight type-safe wrappers around Bootstrap Vue Next components providing AP
33
33
  - [DButtonGroup](/components/base/dbuttongroup): Bootstrap Vue Next ButtonGroup wrapper
34
34
  - [DButtonToolbar](/components/base/dbuttontoolbar): Bootstrap Vue Next ButtonToolbar wrapper
35
35
  - [DCard](/components/base/dcard): Bootstrap Vue Next Card wrapper
36
- - [DCarousel](/components/base/dcarousel): Bootstrap Vue Next Carousel wrapper
37
- - [DCarouselSlide](/components/base/dcarouselslide): Bootstrap Vue Next CarouselSlide wrapper
38
36
  - [DCol](/components/base/dcol): Bootstrap Vue Next Col wrapper
39
37
  - [DCollapse](/components/base/dcollapse): Bootstrap Vue Next Collapse wrapper
40
38
  - [DContainer](/components/base/dcontainer): Bootstrap Vue Next Container wrapper
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omnitend/dashboard-for-laravel",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "Vue 3 dashboard components for Laravel with Bootstrap Vue Next",
5
5
  "type": "module",
6
6
  "main": "./dist/dashboard-for-laravel.umd.cjs",
@@ -47,7 +47,7 @@
47
47
  "peerDependencies": {
48
48
  "@inertiajs/vue3": "^2.0.0",
49
49
  "axios": "^1.6.0",
50
- "vue": "^3.4.0"
50
+ "vue": "^3.5.13"
51
51
  },
52
52
  "peerDependenciesMeta": {
53
53
  "axios": {
@@ -59,7 +59,7 @@
59
59
  },
60
60
  "dependencies": {
61
61
  "@modelcontextprotocol/sdk": "^1.22.0",
62
- "bootstrap-vue-next": "^0.40.8",
62
+ "bootstrap-vue-next": "^0.45.6",
63
63
  "highlight.js": "^11.11.1",
64
64
  "pluralize": "^8.0.0",
65
65
  "rehype-autolink-headings": "^7.1.0",
@@ -33,15 +33,14 @@ interface Props {
33
33
  variant?: ButtonVariant | LinkVariant | null;
34
34
 
35
35
  /**
36
- * The size of the button
37
- * @default 'md'
36
+ * The size of the button. Omit for the default (medium) size —
37
+ * bootstrap-vue-next 0.45 removed the no-op `'md'` value from `Size`.
38
38
  */
39
39
  size?: Size;
40
40
  }
41
41
 
42
42
  withDefaults(defineProps<Props>(), {
43
43
  variant: 'primary',
44
- size: 'md',
45
44
  });
46
45
  </script>
47
46
 
@@ -2,6 +2,7 @@
2
2
  <BTable
3
3
  ref="bTableRef"
4
4
  v-bind="$attrs"
5
+ :fields="shieldedFields"
5
6
  @update:sort-by="handleSortByUpdate"
6
7
  @update:current-page="handleCurrentPageUpdate"
7
8
  @update:busy="handleBusyUpdate"
@@ -15,19 +16,49 @@
15
16
  </template>
16
17
 
17
18
  <script setup lang="ts">
18
- import { ref } from 'vue';
19
+ import { ref, computed } from 'vue';
19
20
  import { BTable } from "bootstrap-vue-next";
20
21
 
21
22
  defineOptions({
22
23
  inheritAttrs: false,
23
24
  });
24
25
 
26
+ const props = defineProps<{
27
+ /**
28
+ * Column definitions. Declared as a prop (rather than passed through
29
+ * `$attrs`) so we can shield the field `formatter` signature across
30
+ * bootstrap-vue-next versions.
31
+ */
32
+ fields?: any[];
33
+ }>();
34
+
25
35
  // Define emits to forward BTable events
26
36
  const emit = defineEmits(['update:sortBy', 'update:currentPage', 'update:busy', 'sorted', 'rowClicked']);
27
37
 
28
38
  // Reference to BTable for exposing methods
29
39
  const bTableRef = ref<any>(null);
30
40
 
41
+ /**
42
+ * bootstrap-vue-next 0.43 changed the field `formatter` to receive a single
43
+ * object `{ value, key, item }`. This library has always documented the
44
+ * positional `(value, key, item)` signature, so wrap each formatter to keep
45
+ * existing consumer formatters working across the upgrade.
46
+ */
47
+ const shieldedFields = computed(() => {
48
+ if (!props.fields) return undefined;
49
+ return props.fields.map((field) => {
50
+ if (field && typeof field.formatter === 'function') {
51
+ const original = field.formatter;
52
+ return {
53
+ ...field,
54
+ formatter: (obj: { value: unknown; key: string; item: any }) =>
55
+ original(obj?.value, obj?.key, obj?.item),
56
+ };
57
+ }
58
+ return field;
59
+ });
60
+ });
61
+
31
62
  // Event handlers to forward BTable events
32
63
  const handleSortByUpdate = (val: any) => {
33
64
  emit('update:sortBy', val);
@@ -45,8 +76,13 @@ const handleSorted = (val: any) => {
45
76
  emit('sorted', val);
46
77
  };
47
78
 
48
- const handleRowClicked = (item: any, index: number, event: MouseEvent) => {
49
- emit('rowClicked', item, index, event);
79
+ /**
80
+ * bootstrap-vue-next 0.43 changed row events to a single object payload
81
+ * `{ item, index, event }`. Re-emit in the historic `(item, index, event)`
82
+ * shape so consumers (incl. DXTable) keep their handler signatures.
83
+ */
84
+ const handleRowClicked = (obj: any) => {
85
+ emit('rowClicked', obj?.item, obj?.index, obj?.event);
50
86
  };
51
87
 
52
88
  // Expose refresh method from BTable
@@ -1,5 +1,7 @@
1
1
  <script setup lang="ts">
2
- import { BToastOrchestrator } from "bootstrap-vue-next";
2
+ // bootstrap-vue-next 0.44 removed BToastOrchestrator; the toast/modal/popover
3
+ // renderer is now the unified BOrchestrator (also included inside BApp).
4
+ import { BOrchestrator } from "bootstrap-vue-next";
3
5
 
4
6
  defineOptions({
5
7
  inheritAttrs: false,
@@ -7,10 +9,10 @@ defineOptions({
7
9
  </script>
8
10
 
9
11
  <template>
10
- <BToastOrchestrator v-bind="$attrs">
12
+ <BOrchestrator v-bind="$attrs">
11
13
  <!-- Dynamically pass through all named slots with their props -->
12
14
  <template v-for="(_, name) in $slots" :key="name" #[name]="slotProps">
13
15
  <slot :name="name" v-bind="slotProps" />
14
16
  </template>
15
- </BToastOrchestrator>
17
+ </BOrchestrator>
16
18
  </template>
@@ -30,8 +30,12 @@ export { default as DButton } from "./components/base/DButton.vue";
30
30
  export { default as DButtonGroup } from "./components/base/DButtonGroup.vue";
31
31
  export { default as DButtonToolbar } from "./components/base/DButtonToolbar.vue";
32
32
  export { default as DCard } from "./components/base/DCard.vue";
33
- export { default as DCarousel } from "./components/base/DCarousel.vue";
34
- export { default as DCarouselSlide } from "./components/base/DCarouselSlide.vue";
33
+ // Re-export the real BCarousel/BCarouselSlide (not wrappers): BCarousel
34
+ // collects its slides by scanning slot vnodes for the BCarouselSlide
35
+ // component type, so wrapper components in between break slide registration
36
+ // in bvn 0.45. (Most components are safely wrapped; carousel is the exception.)
37
+ export { BCarousel as DCarousel } from "bootstrap-vue-next";
38
+ export { BCarouselSlide as DCarouselSlide } from "bootstrap-vue-next";
35
39
  export { default as DCol } from "./components/base/DCol.vue";
36
40
  export { default as DCollapse } from "./components/base/DCollapse.vue";
37
41
  export { default as DContainer } from "./components/base/DContainer.vue";
@@ -1,12 +0,0 @@
1
- declare var __VLS_7: string | number, __VLS_8: any;
2
- type __VLS_Slots = {} & {
3
- [K in NonNullable<typeof __VLS_7>]?: (props: typeof __VLS_8) => any;
4
- };
5
- declare const __VLS_component: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
6
- declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
7
- export default _default;
8
- type __VLS_WithSlots<T, S> = T & {
9
- new (): {
10
- $slots: S;
11
- };
12
- };
@@ -1,12 +0,0 @@
1
- declare var __VLS_7: string | number, __VLS_8: any;
2
- type __VLS_Slots = {} & {
3
- [K in NonNullable<typeof __VLS_7>]?: (props: typeof __VLS_8) => any;
4
- };
5
- declare const __VLS_component: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
6
- declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
7
- export default _default;
8
- type __VLS_WithSlots<T, S> = T & {
9
- new (): {
10
- $slots: S;
11
- };
12
- };
@@ -1,21 +0,0 @@
1
- /**
2
- * @component
3
- * Type-safe wrapper around Bootstrap Vue Next BCarousel component.
4
- * Slideshow component for cycling through images or content.
5
- */
6
- <script setup lang="ts">
7
- import { BCarousel } from "bootstrap-vue-next";
8
-
9
- defineOptions({
10
- inheritAttrs: false,
11
- });
12
- </script>
13
-
14
- <template>
15
- <BCarousel v-bind="$attrs">
16
- <!-- Dynamically pass through all named slots with their props -->
17
- <template v-for="(_, name) in $slots" :key="name" #[name]="slotProps">
18
- <slot :name="name" v-bind="slotProps" />
19
- </template>
20
- </BCarousel>
21
- </template>
@@ -1,14 +0,0 @@
1
- <script setup lang="ts">
2
- import { BCarouselSlide } from "bootstrap-vue-next";
3
- import { useSlots } from "vue";
4
-
5
- const slots = useSlots();
6
- </script>
7
-
8
- <template>
9
- <BCarouselSlide v-bind="$attrs">
10
- <template v-for="(_, name) in slots" :key="name" #[name]="slotProps">
11
- <slot :name="name" v-bind="slotProps" />
12
- </template>
13
- </BCarouselSlide>
14
- </template>