@omnitend/dashboard-for-laravel 0.5.0 → 0.7.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/DFormOtp.vue.d.ts +12 -0
- package/dist/components/base/DTable.vue.d.ts +11 -3
- package/dist/dashboard-for-laravel.js +29235 -14550
- 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 +5 -2
- package/dist/style.css +1 -1
- package/docs/public/api-reference.json +67 -40
- package/docs/public/docs-map.md +5 -2
- package/docs/public/llms.txt +5 -4
- package/package.json +3 -3
- package/resources/js/components/base/DAspect.vue +22 -0
- package/resources/js/components/base/DAutocomplete.vue +23 -0
- package/resources/js/components/base/DButton.vue +2 -3
- package/resources/js/components/base/{DCarousel.vue → DFormOtp.vue} +6 -5
- package/resources/js/components/base/DTable.vue +39 -3
- package/resources/js/components/base/DToaster.vue +5 -3
- package/resources/js/index.ts +9 -2
- package/resources/js/components/base/DCarouselSlide.vue +0 -14
- /package/dist/components/base/{DCarousel.vue.d.ts → DAspect.vue.d.ts} +0 -0
- /package/dist/components/base/{DCarouselSlide.vue.d.ts → DAutocomplete.vue.d.ts} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
"generated": "2026-06-
|
|
2
|
+
"generated": "2026-06-30T11:46:51.421Z",
|
|
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": [
|
|
@@ -70,9 +70,9 @@
|
|
|
70
70
|
"methods": []
|
|
71
71
|
},
|
|
72
72
|
{
|
|
73
|
-
"name": "
|
|
73
|
+
"name": "DAspect",
|
|
74
74
|
"category": "base",
|
|
75
|
-
"filePath": "resources/js/components/base/
|
|
75
|
+
"filePath": "resources/js/components/base/DAspect.vue",
|
|
76
76
|
"description": "",
|
|
77
77
|
"props": [],
|
|
78
78
|
"events": [],
|
|
@@ -91,9 +91,9 @@
|
|
|
91
91
|
"methods": []
|
|
92
92
|
},
|
|
93
93
|
{
|
|
94
|
-
"name": "
|
|
94
|
+
"name": "DAutocomplete",
|
|
95
95
|
"category": "base",
|
|
96
|
-
"filePath": "resources/js/components/base/
|
|
96
|
+
"filePath": "resources/js/components/base/DAutocomplete.vue",
|
|
97
97
|
"description": "",
|
|
98
98
|
"props": [],
|
|
99
99
|
"events": [],
|
|
@@ -112,9 +112,9 @@
|
|
|
112
112
|
"methods": []
|
|
113
113
|
},
|
|
114
114
|
{
|
|
115
|
-
"name": "
|
|
115
|
+
"name": "DAvatar",
|
|
116
116
|
"category": "base",
|
|
117
|
-
"filePath": "resources/js/components/base/
|
|
117
|
+
"filePath": "resources/js/components/base/DAvatar.vue",
|
|
118
118
|
"description": "",
|
|
119
119
|
"props": [],
|
|
120
120
|
"events": [],
|
|
@@ -133,26 +133,11 @@
|
|
|
133
133
|
"methods": []
|
|
134
134
|
},
|
|
135
135
|
{
|
|
136
|
-
"name": "
|
|
136
|
+
"name": "DBadge",
|
|
137
137
|
"category": "base",
|
|
138
|
-
"filePath": "resources/js/components/base/
|
|
138
|
+
"filePath": "resources/js/components/base/DBadge.vue",
|
|
139
139
|
"description": "",
|
|
140
|
-
"props": [
|
|
141
|
-
{
|
|
142
|
-
"name": "variant",
|
|
143
|
-
"type": "union",
|
|
144
|
-
"required": false,
|
|
145
|
-
"default": "'primary'",
|
|
146
|
-
"description": "The visual style variant of the button"
|
|
147
|
-
},
|
|
148
|
-
{
|
|
149
|
-
"name": "size",
|
|
150
|
-
"type": "Size",
|
|
151
|
-
"required": false,
|
|
152
|
-
"default": "'md'",
|
|
153
|
-
"description": "The size of the button"
|
|
154
|
-
}
|
|
155
|
-
],
|
|
140
|
+
"props": [],
|
|
156
141
|
"events": [],
|
|
157
142
|
"slots": [
|
|
158
143
|
{
|
|
@@ -169,9 +154,9 @@
|
|
|
169
154
|
"methods": []
|
|
170
155
|
},
|
|
171
156
|
{
|
|
172
|
-
"name": "
|
|
157
|
+
"name": "DBreadcrumb",
|
|
173
158
|
"category": "base",
|
|
174
|
-
"filePath": "resources/js/components/base/
|
|
159
|
+
"filePath": "resources/js/components/base/DBreadcrumb.vue",
|
|
175
160
|
"description": "",
|
|
176
161
|
"props": [],
|
|
177
162
|
"events": [],
|
|
@@ -190,11 +175,25 @@
|
|
|
190
175
|
"methods": []
|
|
191
176
|
},
|
|
192
177
|
{
|
|
193
|
-
"name": "
|
|
178
|
+
"name": "DButton",
|
|
194
179
|
"category": "base",
|
|
195
|
-
"filePath": "resources/js/components/base/
|
|
180
|
+
"filePath": "resources/js/components/base/DButton.vue",
|
|
196
181
|
"description": "",
|
|
197
|
-
"props": [
|
|
182
|
+
"props": [
|
|
183
|
+
{
|
|
184
|
+
"name": "variant",
|
|
185
|
+
"type": "union",
|
|
186
|
+
"required": false,
|
|
187
|
+
"default": "'primary'",
|
|
188
|
+
"description": "The visual style variant of the button"
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"name": "size",
|
|
192
|
+
"type": "Size",
|
|
193
|
+
"required": false,
|
|
194
|
+
"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`."
|
|
195
|
+
}
|
|
196
|
+
],
|
|
198
197
|
"events": [],
|
|
199
198
|
"slots": [
|
|
200
199
|
{
|
|
@@ -211,9 +210,9 @@
|
|
|
211
210
|
"methods": []
|
|
212
211
|
},
|
|
213
212
|
{
|
|
214
|
-
"name": "
|
|
213
|
+
"name": "DButtonGroup",
|
|
215
214
|
"category": "base",
|
|
216
|
-
"filePath": "resources/js/components/base/
|
|
215
|
+
"filePath": "resources/js/components/base/DButtonGroup.vue",
|
|
217
216
|
"description": "",
|
|
218
217
|
"props": [],
|
|
219
218
|
"events": [],
|
|
@@ -232,9 +231,9 @@
|
|
|
232
231
|
"methods": []
|
|
233
232
|
},
|
|
234
233
|
{
|
|
235
|
-
"name": "
|
|
234
|
+
"name": "DButtonToolbar",
|
|
236
235
|
"category": "base",
|
|
237
|
-
"filePath": "resources/js/components/base/
|
|
236
|
+
"filePath": "resources/js/components/base/DButtonToolbar.vue",
|
|
238
237
|
"description": "",
|
|
239
238
|
"props": [],
|
|
240
239
|
"events": [],
|
|
@@ -253,9 +252,9 @@
|
|
|
253
252
|
"methods": []
|
|
254
253
|
},
|
|
255
254
|
{
|
|
256
|
-
"name": "
|
|
255
|
+
"name": "DCard",
|
|
257
256
|
"category": "base",
|
|
258
|
-
"filePath": "resources/js/components/base/
|
|
257
|
+
"filePath": "resources/js/components/base/DCard.vue",
|
|
259
258
|
"description": "",
|
|
260
259
|
"props": [],
|
|
261
260
|
"events": [],
|
|
@@ -482,6 +481,27 @@
|
|
|
482
481
|
],
|
|
483
482
|
"methods": []
|
|
484
483
|
},
|
|
484
|
+
{
|
|
485
|
+
"name": "DFormOtp",
|
|
486
|
+
"category": "base",
|
|
487
|
+
"filePath": "resources/js/components/base/DFormOtp.vue",
|
|
488
|
+
"description": "",
|
|
489
|
+
"props": [],
|
|
490
|
+
"events": [],
|
|
491
|
+
"slots": [
|
|
492
|
+
{
|
|
493
|
+
"name": "name",
|
|
494
|
+
"description": "",
|
|
495
|
+
"bindings": [
|
|
496
|
+
{
|
|
497
|
+
"name": "name",
|
|
498
|
+
"title": "binding"
|
|
499
|
+
}
|
|
500
|
+
]
|
|
501
|
+
}
|
|
502
|
+
],
|
|
503
|
+
"methods": []
|
|
504
|
+
},
|
|
485
505
|
{
|
|
486
506
|
"name": "DFormRadio",
|
|
487
507
|
"category": "base",
|
|
@@ -1042,7 +1062,14 @@
|
|
|
1042
1062
|
"category": "base",
|
|
1043
1063
|
"filePath": "resources/js/components/base/DTable.vue",
|
|
1044
1064
|
"description": "",
|
|
1045
|
-
"props": [
|
|
1065
|
+
"props": [
|
|
1066
|
+
{
|
|
1067
|
+
"name": "fields",
|
|
1068
|
+
"type": "Array",
|
|
1069
|
+
"required": false,
|
|
1070
|
+
"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."
|
|
1071
|
+
}
|
|
1072
|
+
],
|
|
1046
1073
|
"events": [
|
|
1047
1074
|
{
|
|
1048
1075
|
"name": "update:sortBy",
|
|
@@ -2185,8 +2212,8 @@
|
|
|
2185
2212
|
]
|
|
2186
2213
|
},
|
|
2187
2214
|
"stats": {
|
|
2188
|
-
"totalComponents":
|
|
2189
|
-
"baseComponents":
|
|
2215
|
+
"totalComponents": 65,
|
|
2216
|
+
"baseComponents": 57,
|
|
2190
2217
|
"extendedComponents": 8
|
|
2191
2218
|
}
|
|
2192
2219
|
}
|
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:46:51.484Z
|
|
5
5
|
|
|
6
6
|
This file provides a complete map of all available documentation for AI agents and developers.
|
|
7
7
|
|
|
@@ -14,6 +14,8 @@ This file provides a complete map of all available documentation for AI agents a
|
|
|
14
14
|
- [DAccordion](/components/base/DAccordion): Type-safe wrapper around Bootstrap Vue Next's BAccordion component
|
|
15
15
|
- [DAccordionItem](/components/base/DAccordionItem): Type-safe wrapper around Bootstrap Vue Next's BAccordionItem component
|
|
16
16
|
- [DAlert](/components/base/DAlert): Type-safe wrapper around Bootstrap Vue Next's BAlert component
|
|
17
|
+
- [DAspect](/components/base/DAspect): DAspect - A type-safe wrapper around Bootstrap Vue Next's BAspect component. Keeps its default-slot
|
|
18
|
+
- [DAutocomplete](/components/base/DAutocomplete): DAutocomplete - A type-safe wrapper around Bootstrap Vue Next's BAutocomplete component. A text inpu
|
|
17
19
|
- [DAvatar](/components/base/DAvatar): Type-safe wrapper around Bootstrap Vue Next's BAvatar component
|
|
18
20
|
- [DBadge](/components/base/DBadge): Type-safe wrapper around Bootstrap Vue Next's BBadge component
|
|
19
21
|
- [DBreadcrumb](/components/base/DBreadcrumb): Type-safe wrapper around Bootstrap Vue Next's BBreadcrumb component
|
|
@@ -34,6 +36,7 @@ This file provides a complete map of all available documentation for AI agents a
|
|
|
34
36
|
- [DFormGroup](/components/base/DFormGroup): Type-safe wrapper around Bootstrap Vue Next's BFormGroup component
|
|
35
37
|
- [DFormInput](/components/base/DFormInput): Type-safe wrapper around Bootstrap Vue Next's BFormInput component
|
|
36
38
|
- [DFormInvalidFeedback](/components/base/DFormInvalidFeedback): Type-safe wrapper around Bootstrap Vue Next's BFormInvalidFeedback component
|
|
39
|
+
- [DFormOtp](/components/base/DFormOtp): DFormOtp - A type-safe wrapper around Bootstrap Vue Next's BFormOtp component. A one-time-code / PIN
|
|
37
40
|
- [DFormRadio](/components/base/DFormRadio): Type-safe wrapper around Bootstrap Vue Next's BFormRadio component
|
|
38
41
|
- [DFormSelect](/components/base/DFormSelect): Type-safe wrapper around Bootstrap Vue Next's BFormSelect component
|
|
39
42
|
- [DFormSpinbutton](/components/base/DFormSpinbutton): Type-safe wrapper around Bootstrap Vue Next's BFormSpinbutton component
|
|
@@ -94,4 +97,4 @@ This file provides a complete map of all available documentation for AI agents a
|
|
|
94
97
|
|
|
95
98
|
---
|
|
96
99
|
|
|
97
|
-
**Total Pages**:
|
|
100
|
+
**Total Pages**: 73
|
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 65 Vue 3 components for building Laravel dashboards with Bootstrap Vue Next.
|
|
6
6
|
|
|
7
7
|
## Installation
|
|
8
8
|
|
|
@@ -19,13 +19,15 @@
|
|
|
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 (57 components)
|
|
23
23
|
|
|
24
24
|
Lightweight type-safe wrappers around Bootstrap Vue Next components providing API stability and consistent theming.
|
|
25
25
|
|
|
26
26
|
- [DAccordion](/components/base/daccordion): Bootstrap Vue Next Accordion wrapper
|
|
27
27
|
- [DAccordionItem](/components/base/daccordionitem): Bootstrap Vue Next AccordionItem wrapper
|
|
28
28
|
- [DAlert](/components/base/dalert): Bootstrap Vue Next Alert wrapper
|
|
29
|
+
- [DAspect](/components/base/daspect): Bootstrap Vue Next Aspect wrapper
|
|
30
|
+
- [DAutocomplete](/components/base/dautocomplete): Bootstrap Vue Next Autocomplete wrapper
|
|
29
31
|
- [DAvatar](/components/base/davatar): Bootstrap Vue Next Avatar wrapper
|
|
30
32
|
- [DBadge](/components/base/dbadge): Bootstrap Vue Next Badge wrapper
|
|
31
33
|
- [DBreadcrumb](/components/base/dbreadcrumb): Bootstrap Vue Next Breadcrumb wrapper
|
|
@@ -33,8 +35,6 @@ Lightweight type-safe wrappers around Bootstrap Vue Next components providing AP
|
|
|
33
35
|
- [DButtonGroup](/components/base/dbuttongroup): Bootstrap Vue Next ButtonGroup wrapper
|
|
34
36
|
- [DButtonToolbar](/components/base/dbuttontoolbar): Bootstrap Vue Next ButtonToolbar wrapper
|
|
35
37
|
- [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
38
|
- [DCol](/components/base/dcol): Bootstrap Vue Next Col wrapper
|
|
39
39
|
- [DCollapse](/components/base/dcollapse): Bootstrap Vue Next Collapse wrapper
|
|
40
40
|
- [DContainer](/components/base/dcontainer): Bootstrap Vue Next Container wrapper
|
|
@@ -46,6 +46,7 @@ Lightweight type-safe wrappers around Bootstrap Vue Next components providing AP
|
|
|
46
46
|
- [DFormGroup](/components/base/dformgroup): Bootstrap Vue Next FormGroup wrapper
|
|
47
47
|
- [DFormInput](/components/base/dforminput): Bootstrap Vue Next FormInput wrapper
|
|
48
48
|
- [DFormInvalidFeedback](/components/base/dforminvalidfeedback): Bootstrap Vue Next FormInvalidFeedback wrapper
|
|
49
|
+
- [DFormOtp](/components/base/dformotp): Bootstrap Vue Next FormOtp wrapper
|
|
49
50
|
- [DFormRadio](/components/base/dformradio): Bootstrap Vue Next FormRadio wrapper
|
|
50
51
|
- [DFormRadioGroup](/components/base/dformradiogroup): Bootstrap Vue Next FormRadioGroup wrapper
|
|
51
52
|
- [DFormSelect](/components/base/dformselect): Bootstrap Vue Next FormSelect wrapper
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@omnitend/dashboard-for-laravel",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.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",
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @component
|
|
3
|
+
* Type-safe wrapper around Bootstrap Vue Next BAspect component.
|
|
4
|
+
* Keeps its default slot content at a fixed aspect ratio (e.g. `aspect="16:9"`
|
|
5
|
+
* or a number like `1.7778`). Useful for responsive media/embeds.
|
|
6
|
+
*/
|
|
7
|
+
<script setup lang="ts">
|
|
8
|
+
import { BAspect } from "bootstrap-vue-next";
|
|
9
|
+
|
|
10
|
+
defineOptions({
|
|
11
|
+
inheritAttrs: false,
|
|
12
|
+
});
|
|
13
|
+
</script>
|
|
14
|
+
|
|
15
|
+
<template>
|
|
16
|
+
<BAspect v-bind="$attrs">
|
|
17
|
+
<!-- Dynamically pass through all named slots with their props -->
|
|
18
|
+
<template v-for="(_, name) in $slots" :key="name" #[name]="slotProps">
|
|
19
|
+
<slot :name="name" v-bind="slotProps" />
|
|
20
|
+
</template>
|
|
21
|
+
</BAspect>
|
|
22
|
+
</template>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @component
|
|
3
|
+
* Type-safe wrapper around Bootstrap Vue Next BAutocomplete component.
|
|
4
|
+
* Text input with a filtered dropdown of suggestions (typeahead/combobox).
|
|
5
|
+
* Pass `options` and bind `v-model`; supports `multiple` and a custom
|
|
6
|
+
* `filterFunction`.
|
|
7
|
+
*/
|
|
8
|
+
<script setup lang="ts">
|
|
9
|
+
import { BAutocomplete } from "bootstrap-vue-next";
|
|
10
|
+
|
|
11
|
+
defineOptions({
|
|
12
|
+
inheritAttrs: false,
|
|
13
|
+
});
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<template>
|
|
17
|
+
<BAutocomplete v-bind="$attrs">
|
|
18
|
+
<!-- Dynamically pass through all named slots with their props -->
|
|
19
|
+
<template v-for="(_, name) in $slots" :key="name" #[name]="slotProps">
|
|
20
|
+
<slot :name="name" v-bind="slotProps" />
|
|
21
|
+
</template>
|
|
22
|
+
</BAutocomplete>
|
|
23
|
+
</template>
|
|
@@ -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
|
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @component
|
|
3
|
-
* Type-safe wrapper around Bootstrap Vue Next
|
|
4
|
-
*
|
|
3
|
+
* Type-safe wrapper around Bootstrap Vue Next BFormOtp component.
|
|
4
|
+
* One-time-code / PIN input rendered as a row of single-character boxes.
|
|
5
|
+
* `v-model` is a `string[]` (one entry per box).
|
|
5
6
|
*/
|
|
6
7
|
<script setup lang="ts">
|
|
7
|
-
import {
|
|
8
|
+
import { BFormOtp } from "bootstrap-vue-next";
|
|
8
9
|
|
|
9
10
|
defineOptions({
|
|
10
11
|
inheritAttrs: false,
|
|
@@ -12,10 +13,10 @@ defineOptions({
|
|
|
12
13
|
</script>
|
|
13
14
|
|
|
14
15
|
<template>
|
|
15
|
-
<
|
|
16
|
+
<BFormOtp v-bind="$attrs">
|
|
16
17
|
<!-- Dynamically pass through all named slots with their props -->
|
|
17
18
|
<template v-for="(_, name) in $slots" :key="name" #[name]="slotProps">
|
|
18
19
|
<slot :name="name" v-bind="slotProps" />
|
|
19
20
|
</template>
|
|
20
|
-
</
|
|
21
|
+
</BFormOtp>
|
|
21
22
|
</template>
|
|
@@ -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
|
@@ -23,6 +23,8 @@ export { default as DXDashboardNavbar } from "./components/extended/DXDashboardN
|
|
|
23
23
|
export { default as DAccordion } from "./components/base/DAccordion.vue";
|
|
24
24
|
export { default as DAccordionItem } from "./components/base/DAccordionItem.vue";
|
|
25
25
|
export { default as DAlert } from "./components/base/DAlert.vue";
|
|
26
|
+
export { default as DAspect } from "./components/base/DAspect.vue";
|
|
27
|
+
export { default as DAutocomplete } from "./components/base/DAutocomplete.vue";
|
|
26
28
|
export { default as DAvatar } from "./components/base/DAvatar.vue";
|
|
27
29
|
export { default as DBadge } from "./components/base/DBadge.vue";
|
|
28
30
|
export { default as DBreadcrumb } from "./components/base/DBreadcrumb.vue";
|
|
@@ -30,8 +32,12 @@ export { default as DButton } from "./components/base/DButton.vue";
|
|
|
30
32
|
export { default as DButtonGroup } from "./components/base/DButtonGroup.vue";
|
|
31
33
|
export { default as DButtonToolbar } from "./components/base/DButtonToolbar.vue";
|
|
32
34
|
export { default as DCard } from "./components/base/DCard.vue";
|
|
33
|
-
export
|
|
34
|
-
|
|
35
|
+
// Re-export the real BCarousel/BCarouselSlide (not wrappers): BCarousel
|
|
36
|
+
// collects its slides by scanning slot vnodes for the BCarouselSlide
|
|
37
|
+
// component type, so wrapper components in between break slide registration
|
|
38
|
+
// in bvn 0.45. (Most components are safely wrapped; carousel is the exception.)
|
|
39
|
+
export { BCarousel as DCarousel } from "bootstrap-vue-next";
|
|
40
|
+
export { BCarouselSlide as DCarouselSlide } from "bootstrap-vue-next";
|
|
35
41
|
export { default as DCol } from "./components/base/DCol.vue";
|
|
36
42
|
export { default as DCollapse } from "./components/base/DCollapse.vue";
|
|
37
43
|
export { default as DContainer } from "./components/base/DContainer.vue";
|
|
@@ -43,6 +49,7 @@ export { default as DFormCheckbox } from "./components/base/DFormCheckbox.vue";
|
|
|
43
49
|
export { default as DFormGroup } from "./components/base/DFormGroup.vue";
|
|
44
50
|
export { default as DFormInput } from "./components/base/DFormInput.vue";
|
|
45
51
|
export { default as DFormInvalidFeedback } from "./components/base/DFormInvalidFeedback.vue";
|
|
52
|
+
export { default as DFormOtp } from "./components/base/DFormOtp.vue";
|
|
46
53
|
export { default as DFormRadio } from "./components/base/DFormRadio.vue";
|
|
47
54
|
export { default as DFormRadioGroup } from "./components/base/DFormRadioGroup.vue";
|
|
48
55
|
export { default as DFormSelect } from "./components/base/DFormSelect.vue";
|
|
@@ -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>
|
|
File without changes
|
|
File without changes
|