@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.
@@ -1,8 +1,8 @@
1
1
  {
2
- "generated": "2026-06-28T12:36:46.436Z",
2
+ "generated": "2026-06-30T11:46:51.421Z",
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": [
@@ -70,9 +70,9 @@
70
70
  "methods": []
71
71
  },
72
72
  {
73
- "name": "DAvatar",
73
+ "name": "DAspect",
74
74
  "category": "base",
75
- "filePath": "resources/js/components/base/DAvatar.vue",
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": "DBadge",
94
+ "name": "DAutocomplete",
95
95
  "category": "base",
96
- "filePath": "resources/js/components/base/DBadge.vue",
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": "DBreadcrumb",
115
+ "name": "DAvatar",
116
116
  "category": "base",
117
- "filePath": "resources/js/components/base/DBreadcrumb.vue",
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": "DButton",
136
+ "name": "DBadge",
137
137
  "category": "base",
138
- "filePath": "resources/js/components/base/DButton.vue",
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": "DButtonGroup",
157
+ "name": "DBreadcrumb",
173
158
  "category": "base",
174
- "filePath": "resources/js/components/base/DButtonGroup.vue",
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": "DButtonToolbar",
178
+ "name": "DButton",
194
179
  "category": "base",
195
- "filePath": "resources/js/components/base/DButtonToolbar.vue",
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": "DCard",
213
+ "name": "DButtonGroup",
215
214
  "category": "base",
216
- "filePath": "resources/js/components/base/DCard.vue",
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": "DCarousel",
234
+ "name": "DButtonToolbar",
236
235
  "category": "base",
237
- "filePath": "resources/js/components/base/DCarousel.vue",
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": "DCarouselSlide",
255
+ "name": "DCard",
257
256
  "category": "base",
258
- "filePath": "resources/js/components/base/DCarouselSlide.vue",
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": 64,
2189
- "baseComponents": 56,
2215
+ "totalComponents": 65,
2216
+ "baseComponents": 57,
2190
2217
  "extendedComponents": 8
2191
2218
  }
2192
2219
  }
@@ -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: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**: 70
100
+ **Total Pages**: 73
@@ -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 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 (56 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.5.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.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",
@@ -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
- * @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
 
@@ -1,10 +1,11 @@
1
1
  /**
2
2
  * @component
3
- * Type-safe wrapper around Bootstrap Vue Next BCarousel component.
4
- * Slideshow component for cycling through images or content.
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 { BCarousel } from "bootstrap-vue-next";
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
- <BCarousel v-bind="$attrs">
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
- </BCarousel>
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
- 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>
@@ -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 { default as DCarousel } from "./components/base/DCarousel.vue";
34
- export { default as DCarouselSlide } from "./components/base/DCarouselSlide.vue";
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>