@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.
- package/dist/components/base/DButton.vue.d.ts +2 -3
- package/dist/components/base/DTable.vue.d.ts +11 -3
- package/dist/dashboard-for-laravel.js +29201 -14558
- package/dist/dashboard-for-laravel.js.map +1 -1
- package/dist/dashboard-for-laravel.umd.cjs +11 -8
- package/dist/dashboard-for-laravel.umd.cjs.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/style.css +1 -1
- package/docs/public/api-reference.json +13 -49
- package/docs/public/docs-map.md +1 -1
- package/docs/public/llms.txt +2 -4
- package/package.json +3 -3
- package/resources/js/components/base/DButton.vue +2 -3
- package/resources/js/components/base/DTable.vue +39 -3
- package/resources/js/components/base/DToaster.vue +5 -3
- package/resources/js/index.ts +6 -2
- package/dist/components/base/DCarousel.vue.d.ts +0 -12
- package/dist/components/base/DCarouselSlide.vue.d.ts +0 -12
- package/resources/js/components/base/DCarousel.vue +0 -21
- package/resources/js/components/base/DCarouselSlide.vue +0 -14
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
"generated": "2026-06-
|
|
2
|
+
"generated": "2026-06-30T11:07:44.590Z",
|
|
3
3
|
"package": {
|
|
4
4
|
"name": "@omnitend/dashboard-for-laravel",
|
|
5
|
-
"version": "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
|
-
"
|
|
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":
|
|
2189
|
-
"baseComponents":
|
|
2152
|
+
"totalComponents": 62,
|
|
2153
|
+
"baseComponents": 54,
|
|
2190
2154
|
"extendedComponents": 8
|
|
2191
2155
|
}
|
|
2192
2156
|
}
|
package/docs/public/docs-map.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Documentation Map
|
|
2
2
|
|
|
3
3
|
> Auto-generated hierarchical overview of all documentation
|
|
4
|
-
> Last updated: 2026-06-
|
|
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
|
|
package/docs/public/llms.txt
CHANGED
|
@@ -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
|
|
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 (
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
*
|
|
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
|
-
|
|
49
|
-
|
|
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
|
-
|
|
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
|
-
<
|
|
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
|
-
</
|
|
17
|
+
</BOrchestrator>
|
|
16
18
|
</template>
|
package/resources/js/index.ts
CHANGED
|
@@ -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
|
|
34
|
-
|
|
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>
|