@omnitend/dashboard-for-laravel 0.4.7

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 (149) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +397 -0
  3. package/dist/components/base/DAccordion.vue.d.ts +12 -0
  4. package/dist/components/base/DAccordionItem.vue.d.ts +12 -0
  5. package/dist/components/base/DAlert.vue.d.ts +12 -0
  6. package/dist/components/base/DAvatar.vue.d.ts +12 -0
  7. package/dist/components/base/DBadge.vue.d.ts +12 -0
  8. package/dist/components/base/DBreadcrumb.vue.d.ts +12 -0
  9. package/dist/components/base/DButton.vue.d.ts +29 -0
  10. package/dist/components/base/DButtonGroup.vue.d.ts +12 -0
  11. package/dist/components/base/DButtonToolbar.vue.d.ts +12 -0
  12. package/dist/components/base/DCard.vue.d.ts +12 -0
  13. package/dist/components/base/DCarousel.vue.d.ts +12 -0
  14. package/dist/components/base/DCarouselSlide.vue.d.ts +12 -0
  15. package/dist/components/base/DCol.vue.d.ts +12 -0
  16. package/dist/components/base/DCollapse.vue.d.ts +12 -0
  17. package/dist/components/base/DContainer.vue.d.ts +12 -0
  18. package/dist/components/base/DDropdown.vue.d.ts +12 -0
  19. package/dist/components/base/DDropdownDivider.vue.d.ts +2 -0
  20. package/dist/components/base/DDropdownItem.vue.d.ts +12 -0
  21. package/dist/components/base/DForm.vue.d.ts +12 -0
  22. package/dist/components/base/DFormCheckbox.vue.d.ts +12 -0
  23. package/dist/components/base/DFormGroup.vue.d.ts +12 -0
  24. package/dist/components/base/DFormInput.vue.d.ts +2 -0
  25. package/dist/components/base/DFormInvalidFeedback.vue.d.ts +12 -0
  26. package/dist/components/base/DFormRadio.vue.d.ts +12 -0
  27. package/dist/components/base/DFormSelect.vue.d.ts +12 -0
  28. package/dist/components/base/DFormSpinbutton.vue.d.ts +12 -0
  29. package/dist/components/base/DFormTags.vue.d.ts +12 -0
  30. package/dist/components/base/DFormText.vue.d.ts +12 -0
  31. package/dist/components/base/DFormTextarea.vue.d.ts +2 -0
  32. package/dist/components/base/DImage.vue.d.ts +12 -0
  33. package/dist/components/base/DInputGroup.vue.d.ts +12 -0
  34. package/dist/components/base/DLink.vue.d.ts +12 -0
  35. package/dist/components/base/DListGroup.vue.d.ts +12 -0
  36. package/dist/components/base/DListGroupItem.vue.d.ts +12 -0
  37. package/dist/components/base/DModal.vue.d.ts +12 -0
  38. package/dist/components/base/DNav.vue.d.ts +12 -0
  39. package/dist/components/base/DNavItem.vue.d.ts +12 -0
  40. package/dist/components/base/DNavbar.vue.d.ts +12 -0
  41. package/dist/components/base/DNavbarBrand.vue.d.ts +12 -0
  42. package/dist/components/base/DNavbarNav.vue.d.ts +12 -0
  43. package/dist/components/base/DNavbarToggle.vue.d.ts +12 -0
  44. package/dist/components/base/DOffcanvas.vue.d.ts +12 -0
  45. package/dist/components/base/DOverlay.vue.d.ts +12 -0
  46. package/dist/components/base/DPagination.vue.d.ts +2 -0
  47. package/dist/components/base/DPlaceholder.vue.d.ts +12 -0
  48. package/dist/components/base/DPopover.vue.d.ts +12 -0
  49. package/dist/components/base/DProgress.vue.d.ts +12 -0
  50. package/dist/components/base/DRow.vue.d.ts +12 -0
  51. package/dist/components/base/DSpinner.vue.d.ts +2 -0
  52. package/dist/components/base/DTab.vue.d.ts +12 -0
  53. package/dist/components/base/DTable.vue.d.ts +26 -0
  54. package/dist/components/base/DTabs.vue.d.ts +12 -0
  55. package/dist/components/base/DToast.vue.d.ts +12 -0
  56. package/dist/components/base/DToaster.vue.d.ts +12 -0
  57. package/dist/components/base/DTooltip.vue.d.ts +12 -0
  58. package/dist/components/extended/DXBasicForm.vue.d.ts +39 -0
  59. package/dist/components/extended/DXDashboard.vue.d.ts +52 -0
  60. package/dist/components/extended/DXDashboardNavbar.vue.d.ts +53 -0
  61. package/dist/components/extended/DXDashboardSidebar.vue.d.ts +37 -0
  62. package/dist/components/extended/DXForm.vue.d.ts +31 -0
  63. package/dist/components/extended/DXTable.vue.d.ts +190 -0
  64. package/dist/composables/defineForm.d.ts +35 -0
  65. package/dist/composables/useForm.d.ts +46 -0
  66. package/dist/composables/useToast.d.ts +1 -0
  67. package/dist/dashboard-for-laravel.js +17748 -0
  68. package/dist/dashboard-for-laravel.js.map +1 -0
  69. package/dist/dashboard-for-laravel.umd.cjs +11 -0
  70. package/dist/dashboard-for-laravel.umd.cjs.map +1 -0
  71. package/dist/index.d.ts +73 -0
  72. package/dist/style.css +5 -0
  73. package/dist/types/index.d.ts +37 -0
  74. package/dist/types/navigation.d.ts +17 -0
  75. package/dist/utils/api.d.ts +30 -0
  76. package/docs/public/api-reference.json +1932 -0
  77. package/docs/public/docs-map.md +85 -0
  78. package/docs/public/llms.txt +110 -0
  79. package/package.json +116 -0
  80. package/resources/css/theme.scss +219 -0
  81. package/resources/js/components/base/DAccordion.vue +21 -0
  82. package/resources/js/components/base/DAccordionItem.vue +14 -0
  83. package/resources/js/components/base/DAlert.vue +14 -0
  84. package/resources/js/components/base/DAvatar.vue +21 -0
  85. package/resources/js/components/base/DBadge.vue +14 -0
  86. package/resources/js/components/base/DBreadcrumb.vue +21 -0
  87. package/resources/js/components/base/DButton.vue +58 -0
  88. package/resources/js/components/base/DButtonGroup.vue +21 -0
  89. package/resources/js/components/base/DButtonToolbar.vue +21 -0
  90. package/resources/js/components/base/DCard.vue +35 -0
  91. package/resources/js/components/base/DCarousel.vue +21 -0
  92. package/resources/js/components/base/DCarouselSlide.vue +14 -0
  93. package/resources/js/components/base/DCol.vue +14 -0
  94. package/resources/js/components/base/DCollapse.vue +34 -0
  95. package/resources/js/components/base/DContainer.vue +14 -0
  96. package/resources/js/components/base/DDropdown.vue +16 -0
  97. package/resources/js/components/base/DDropdownDivider.vue +7 -0
  98. package/resources/js/components/base/DDropdownItem.vue +14 -0
  99. package/resources/js/components/base/DForm.vue +21 -0
  100. package/resources/js/components/base/DFormCheckbox.vue +14 -0
  101. package/resources/js/components/base/DFormGroup.vue +11 -0
  102. package/resources/js/components/base/DFormInput.vue +7 -0
  103. package/resources/js/components/base/DFormInvalidFeedback.vue +16 -0
  104. package/resources/js/components/base/DFormRadio.vue +21 -0
  105. package/resources/js/components/base/DFormSelect.vue +14 -0
  106. package/resources/js/components/base/DFormSpinbutton.vue +21 -0
  107. package/resources/js/components/base/DFormTags.vue +21 -0
  108. package/resources/js/components/base/DFormText.vue +16 -0
  109. package/resources/js/components/base/DFormTextarea.vue +7 -0
  110. package/resources/js/components/base/DImage.vue +21 -0
  111. package/resources/js/components/base/DInputGroup.vue +21 -0
  112. package/resources/js/components/base/DLink.vue +21 -0
  113. package/resources/js/components/base/DListGroup.vue +21 -0
  114. package/resources/js/components/base/DListGroupItem.vue +14 -0
  115. package/resources/js/components/base/DModal.vue +11 -0
  116. package/resources/js/components/base/DNav.vue +14 -0
  117. package/resources/js/components/base/DNavItem.vue +14 -0
  118. package/resources/js/components/base/DNavbar.vue +21 -0
  119. package/resources/js/components/base/DNavbarBrand.vue +14 -0
  120. package/resources/js/components/base/DNavbarNav.vue +14 -0
  121. package/resources/js/components/base/DNavbarToggle.vue +14 -0
  122. package/resources/js/components/base/DOffcanvas.vue +11 -0
  123. package/resources/js/components/base/DOverlay.vue +21 -0
  124. package/resources/js/components/base/DPagination.vue +7 -0
  125. package/resources/js/components/base/DPlaceholder.vue +21 -0
  126. package/resources/js/components/base/DPopover.vue +21 -0
  127. package/resources/js/components/base/DProgress.vue +21 -0
  128. package/resources/js/components/base/DRow.vue +14 -0
  129. package/resources/js/components/base/DSpinner.vue +7 -0
  130. package/resources/js/components/base/DTab.vue +14 -0
  131. package/resources/js/components/base/DTable.vue +62 -0
  132. package/resources/js/components/base/DTabs.vue +21 -0
  133. package/resources/js/components/base/DToast.vue +16 -0
  134. package/resources/js/components/base/DToaster.vue +16 -0
  135. package/resources/js/components/base/DTooltip.vue +21 -0
  136. package/resources/js/components/extended/DXBasicForm.vue +177 -0
  137. package/resources/js/components/extended/DXDashboard.vue +208 -0
  138. package/resources/js/components/extended/DXDashboardNavbar.vue +112 -0
  139. package/resources/js/components/extended/DXDashboardSidebar.vue +233 -0
  140. package/resources/js/components/extended/DXForm.vue +44 -0
  141. package/resources/js/components/extended/DXTable.vue +1345 -0
  142. package/resources/js/composables/defineForm.ts +78 -0
  143. package/resources/js/composables/useForm.ts +272 -0
  144. package/resources/js/composables/useToast.ts +1 -0
  145. package/resources/js/index.ts +118 -0
  146. package/resources/js/types/index.ts +61 -0
  147. package/resources/js/types/navigation.ts +19 -0
  148. package/resources/js/utils/api.ts +182 -0
  149. package/scripts/mcp-server.mjs +359 -0
@@ -0,0 +1,85 @@
1
+ # Documentation Map
2
+
3
+ > Auto-generated hierarchical overview of all documentation
4
+ > Last updated: 2025-11-26T12:28:39.369Z
5
+
6
+ This file provides a complete map of all available documentation for AI agents and developers.
7
+
8
+
9
+ ### Components
10
+
11
+
12
+ ### Base
13
+
14
+ - [DAccordion](/components/base/DAccordion): Type-safe wrapper around Bootstrap Vue Next's BAccordion component
15
+ - [DAlert](/components/base/DAlert): Type-safe wrapper around Bootstrap Vue Next's BAlert component
16
+ - [DAvatar](/components/base/DAvatar): Type-safe wrapper around Bootstrap Vue Next's BAvatar component
17
+ - [DBadge](/components/base/DBadge): Type-safe wrapper around Bootstrap Vue Next's BBadge component
18
+ - [DBreadcrumb](/components/base/DBreadcrumb): Type-safe wrapper around Bootstrap Vue Next's BBreadcrumb component
19
+ - [DButton](/components/base/DButton): Type-safe wrapper around Bootstrap Vue Next's BButton component
20
+ - [DButtonGroup](/components/base/DButtonGroup): Type-safe wrapper around Bootstrap Vue Next's BButtonGroup component
21
+ - [DButtonToolbar](/components/base/DButtonToolbar): Type-safe wrapper around Bootstrap Vue Next's BButtonToolbar component
22
+ - [DCard](/components/base/DCard): Type-safe wrapper around Bootstrap Vue Next's BCard component
23
+ - [DCarousel](/components/base/DCarousel): Type-safe wrapper around Bootstrap Vue Next's BCarousel component
24
+ - [DCol](/components/base/DCol): Type-safe wrapper around Bootstrap Vue Next's BCol component
25
+ - [DCollapse](/components/base/DCollapse): Type-safe wrapper around Bootstrap Vue Next's BCollapse component
26
+ - [DContainer](/components/base/DContainer): Type-safe wrapper around Bootstrap Vue Next's BContainer component
27
+ - [DDropdown](/components/base/DDropdown): Type-safe wrapper around Bootstrap Vue Next's BDropdown component
28
+ - [DDropdownDivider](/components/base/DDropdownDivider): Type-safe wrapper around Bootstrap Vue Next's BDropdownDivider component
29
+ - [DDropdownItem](/components/base/DDropdownItem): Type-safe wrapper around Bootstrap Vue Next's BDropdownItem component
30
+ - [DForm](/components/base/DForm): Type-safe wrapper around Bootstrap Vue Next's BForm component
31
+ - [DFormCheckbox](/components/base/DFormCheckbox): Type-safe wrapper around Bootstrap Vue Next's BFormCheckbox component
32
+ - [DFormGroup](/components/base/DFormGroup): Type-safe wrapper around Bootstrap Vue Next's BFormGroup component
33
+ - [DFormInput](/components/base/DFormInput): Type-safe wrapper around Bootstrap Vue Next's BFormInput component
34
+ - [DFormRadio](/components/base/DFormRadio): Type-safe wrapper around Bootstrap Vue Next's BFormRadio component
35
+ - [DFormSelect](/components/base/DFormSelect): Type-safe wrapper around Bootstrap Vue Next's BFormSelect component
36
+ - [DFormSpinbutton](/components/base/DFormSpinbutton): Type-safe wrapper around Bootstrap Vue Next's BFormSpinbutton component
37
+ - [DFormTags](/components/base/DFormTags): Type-safe wrapper around Bootstrap Vue Next's BFormTags component
38
+ - [DFormTextarea](/components/base/DFormTextarea): Type-safe wrapper around Bootstrap Vue Next's BFormTextarea component
39
+ - [DImage](/components/base/DImage): Type-safe wrapper around Bootstrap Vue Next's BImage component
40
+ - [DInputGroup](/components/base/DInputGroup): Type-safe wrapper around Bootstrap Vue Next's BInputGroup component
41
+ - [DLink](/components/base/DLink): Type-safe wrapper around Bootstrap Vue Next's BLink component
42
+ - [DListGroup](/components/base/DListGroup): Type-safe wrapper around Bootstrap Vue Next's BListGroup component
43
+ - [DModal](/components/base/DModal): Type-safe wrapper around Bootstrap Vue Next's BModal component
44
+ - [DNav](/components/base/DNav): Type-safe wrapper around Bootstrap Vue Next's BNav component
45
+ - [DNavItem](/components/base/DNavItem): DNavItem - A type-safe wrapper around Bootstrap Vue Next's BNavItem component. Individual navigation
46
+ - [DNavbar](/components/base/DNavbar): Type-safe wrapper around Bootstrap Vue Next BNavbar component. Responsive navigation header with sup
47
+ - [DOffcanvas](/components/base/DOffcanvas): DOffcanvas - A type-safe wrapper around Bootstrap Vue Next's BOffcanvas component. Hidden sidebar co
48
+ - [DOverlay](/components/base/DOverlay): Type-safe wrapper around Bootstrap Vue Next BOverlay component. Overlay component for indicating loa
49
+ - [DPagination](/components/base/DPagination): DPagination - A type-safe wrapper around Bootstrap Vue Next's BPagination component. Provides naviga
50
+ - [DPlaceholder](/components/base/DPlaceholder): Type-safe wrapper around Bootstrap Vue Next BPlaceholder component. Loading placeholder component to
51
+ - [DPopover](/components/base/DPopover): Type-safe wrapper around Bootstrap Vue Next BPopover component. Overlay component for displaying ric
52
+ - [DProgress](/components/base/DProgress): Type-safe wrapper around Bootstrap Vue Next BProgress component. Progress bar for displaying simple
53
+ - [DRow](/components/base/DRow): DRow - A type-safe wrapper around Bootstrap Vue Next's BRow component. Container for columns within
54
+ - [DSpinner](/components/base/DSpinner): DSpinner - A type-safe wrapper around Bootstrap Vue Next's BSpinner component. Loading indicator to
55
+ - [DTable](/components/base/DTable): DTable - A type-safe wrapper around Bootstrap Vue Next's BTable component. Feature-rich data table w
56
+ - [DTabs](/components/base/DTabs): Type-safe wrapper around Bootstrap Vue Next BTabs component. Create tabbed panes of local content wi
57
+ - [DToast](/components/base/DToast): DToast - A type-safe wrapper around Bootstrap Vue Next's BToast component. Lightweight notification
58
+ - [DToaster](/components/base/DToaster): DToaster - A type-safe wrapper around Bootstrap Vue Next's BToaster component. Container for managin
59
+ - [DTooltip](/components/base/DTooltip): Type-safe wrapper around Bootstrap Vue Next BTooltip component. Display helpful tooltips when hoveri
60
+
61
+ ### Extended
62
+
63
+ - [DXBasicForm](/components/extended/DXBasicForm): Form instance from useForm composable
64
+ - [DXDashboard](/components/extended/DXDashboard): Complete dashboard layout component that combines sidebar navigation, top navbar, and content area.
65
+ - [DXDashboardNavbar](/components/extended/DXDashboardNavbar): A responsive top navigation bar component for Laravel dashboards with user menu, search functionalit
66
+ - [DXDashboardSidebar](/components/extended/DXDashboardSidebar): A collapsible sidebar navigation component for Laravel dashboards with support for navigation groups
67
+ - [DXForm](/components/extended/DXForm): Form object from defineForm
68
+ - [DXTable](/components/extended/DXTable): A comprehensive data table component with built-in pagination, loading states, and error handling fo
69
+
70
+ ### Examples
71
+
72
+ - [Common Patterns](/examples/common-patterns): Real-world examples showing how to use the library components together.
73
+
74
+ ### Guide
75
+
76
+ - [Forms](/guide/forms): The library includes a powerful type-safe form system with validation, auto-generated forms, and com
77
+ - [Getting Started](/guide/getting-started): @omnitend/dashboard-for-laravel is a reusable full-stack component library for building Laravel dash
78
+ - [Installation](/guide/installation): Install via npm:
79
+ - [Theming](/guide/theming): The library includes a custom Bootstrap 5 theme that can be easily customised using CSS variables an
80
+ - [TypeScript](/guide/typescript): The library is written in TypeScript and includes full type definitions for all components, composab
81
+
82
+
83
+ ---
84
+
85
+ **Total Pages**: 58
@@ -0,0 +1,110 @@
1
+ # @omnitend/dashboard-for-laravel
2
+
3
+ > Vue 3 dashboard components for Laravel with Bootstrap Vue Next
4
+ >
5
+ > A dual-package library (NPM + Composer) providing 61 Vue 3 components for building Laravel dashboards with Bootstrap Vue Next.
6
+
7
+ ## Installation
8
+
9
+ - [NPM Installation](https://github.com/omnitend/dashboard-for-laravel#npm-package): Install via npm/yarn
10
+ - [Composer Installation](https://github.com/omnitend/dashboard-for-laravel#composer-package): Install via Composer for Laravel integration
11
+
12
+ ## Getting Started
13
+
14
+ - [Forms](/guide/forms): Type-safe form handling and validation
15
+ - [Getting Started](/guide/getting-started): Quick start guide and core concepts
16
+ - [Installation](/guide/installation): Install and configure the package
17
+ - [Theming](/guide/theming): Customize appearance with CSS variables
18
+ - [TypeScript](/guide/typescript): TypeScript types and best practices
19
+
20
+ ## Base Components (55 components)
21
+
22
+ Lightweight type-safe wrappers around Bootstrap Vue Next components providing API stability and consistent theming.
23
+
24
+ - [DAccordion](/components/base/daccordion): Bootstrap Vue Next Accordion wrapper
25
+ - [DAccordionItem](/components/base/daccordionitem): Bootstrap Vue Next AccordionItem wrapper
26
+ - [DAlert](/components/base/dalert): Bootstrap Vue Next Alert wrapper
27
+ - [DAvatar](/components/base/davatar): Bootstrap Vue Next Avatar wrapper
28
+ - [DBadge](/components/base/dbadge): Bootstrap Vue Next Badge wrapper
29
+ - [DBreadcrumb](/components/base/dbreadcrumb): Bootstrap Vue Next Breadcrumb wrapper
30
+ - [DButton](/components/base/dbutton): Bootstrap Vue Next Button wrapper
31
+ - [DButtonGroup](/components/base/dbuttongroup): Bootstrap Vue Next ButtonGroup wrapper
32
+ - [DButtonToolbar](/components/base/dbuttontoolbar): Bootstrap Vue Next ButtonToolbar wrapper
33
+ - [DCard](/components/base/dcard): Bootstrap Vue Next Card wrapper
34
+ - [DCarousel](/components/base/dcarousel): Bootstrap Vue Next Carousel wrapper
35
+ - [DCarouselSlide](/components/base/dcarouselslide): Bootstrap Vue Next CarouselSlide wrapper
36
+ - [DCol](/components/base/dcol): Bootstrap Vue Next Col wrapper
37
+ - [DCollapse](/components/base/dcollapse): Bootstrap Vue Next Collapse wrapper
38
+ - [DContainer](/components/base/dcontainer): Bootstrap Vue Next Container wrapper
39
+ - [DDropdown](/components/base/ddropdown): Bootstrap Vue Next Dropdown wrapper
40
+ - [DDropdownDivider](/components/base/ddropdowndivider): Bootstrap Vue Next DropdownDivider wrapper
41
+ - [DDropdownItem](/components/base/ddropdownitem): Bootstrap Vue Next DropdownItem wrapper
42
+ - [DForm](/components/base/dform): Bootstrap Vue Next Form wrapper
43
+ - [DFormCheckbox](/components/base/dformcheckbox): Bootstrap Vue Next FormCheckbox wrapper
44
+ - [DFormGroup](/components/base/dformgroup): Bootstrap Vue Next FormGroup wrapper
45
+ - [DFormInput](/components/base/dforminput): Bootstrap Vue Next FormInput wrapper
46
+ - [DFormInvalidFeedback](/components/base/dforminvalidfeedback): Bootstrap Vue Next FormInvalidFeedback wrapper
47
+ - [DFormRadio](/components/base/dformradio): Bootstrap Vue Next FormRadio wrapper
48
+ - [DFormSelect](/components/base/dformselect): Bootstrap Vue Next FormSelect wrapper
49
+ - [DFormSpinbutton](/components/base/dformspinbutton): Bootstrap Vue Next FormSpinbutton wrapper
50
+ - [DFormTags](/components/base/dformtags): Bootstrap Vue Next FormTags wrapper
51
+ - [DFormText](/components/base/dformtext): Bootstrap Vue Next FormText wrapper
52
+ - [DFormTextarea](/components/base/dformtextarea): Bootstrap Vue Next FormTextarea wrapper
53
+ - [DImage](/components/base/dimage): Bootstrap Vue Next Image wrapper
54
+ - [DInputGroup](/components/base/dinputgroup): Bootstrap Vue Next InputGroup wrapper
55
+ - [DLink](/components/base/dlink): Bootstrap Vue Next Link wrapper
56
+ - [DListGroup](/components/base/dlistgroup): Bootstrap Vue Next ListGroup wrapper
57
+ - [DListGroupItem](/components/base/dlistgroupitem): Bootstrap Vue Next ListGroupItem wrapper
58
+ - [DModal](/components/base/dmodal): Bootstrap Vue Next Modal wrapper
59
+ - [DNav](/components/base/dnav): Bootstrap Vue Next Nav wrapper
60
+ - [DNavItem](/components/base/dnavitem): Bootstrap Vue Next NavItem wrapper
61
+ - [DNavbar](/components/base/dnavbar): Bootstrap Vue Next Navbar wrapper
62
+ - [DNavbarBrand](/components/base/dnavbarbrand): Bootstrap Vue Next NavbarBrand wrapper
63
+ - [DNavbarNav](/components/base/dnavbarnav): Bootstrap Vue Next NavbarNav wrapper
64
+ - [DNavbarToggle](/components/base/dnavbartoggle): Bootstrap Vue Next NavbarToggle wrapper
65
+ - [DOffcanvas](/components/base/doffcanvas): Bootstrap Vue Next Offcanvas wrapper
66
+ - [DOverlay](/components/base/doverlay): Bootstrap Vue Next Overlay wrapper
67
+ - [DPagination](/components/base/dpagination): Bootstrap Vue Next Pagination wrapper
68
+ - [DPlaceholder](/components/base/dplaceholder): Bootstrap Vue Next Placeholder wrapper
69
+ - [DPopover](/components/base/dpopover): Bootstrap Vue Next Popover wrapper
70
+ - [DProgress](/components/base/dprogress): Bootstrap Vue Next Progress wrapper
71
+ - [DRow](/components/base/drow): Bootstrap Vue Next Row wrapper
72
+ - [DSpinner](/components/base/dspinner): Bootstrap Vue Next Spinner wrapper
73
+ - [DTab](/components/base/dtab): Bootstrap Vue Next Tab wrapper
74
+ - [DTable](/components/base/dtable): Bootstrap Vue Next Table wrapper
75
+ - [DTabs](/components/base/dtabs): Bootstrap Vue Next Tabs wrapper
76
+ - [DToast](/components/base/dtoast): Bootstrap Vue Next Toast wrapper
77
+ - [DToaster](/components/base/dtoaster): Bootstrap Vue Next Toaster wrapper
78
+ - [DTooltip](/components/base/dtooltip): Bootstrap Vue Next Tooltip wrapper
79
+
80
+ ## Extended Components (6 components)
81
+
82
+ Custom dashboard components with advanced functionality beyond Bootstrap Vue Next.
83
+
84
+ - [DXBasicForm](/components/extended/dxbasicform): Auto-generated forms from field definitions
85
+ - [DXDashboard](/components/extended/dxdashboard): Complete dashboard layout with sidebar and navbar
86
+ - [DXDashboardNavbar](/components/extended/dxdashboardnavbar): Top navbar with user dropdown
87
+ - [DXDashboardSidebar](/components/extended/dxdashboardsidebar): Collapsible sidebar with navigation
88
+ - [DXForm](/components/extended/dxform): Advanced form wrapper with defineForm integration
89
+ - [DXTable](/components/extended/dxtable): Data table with pagination, filtering, and sorting
90
+
91
+ ## Composables
92
+
93
+ - [useForm](/guide/forms#useform-composable): Type-safe form state management with validation
94
+ - [defineForm](/guide/forms#defineform): Define forms from field definitions with type inference
95
+ - [useToast](/components/base/dtoaster): Toast notification system
96
+
97
+ ## PHP Integration
98
+
99
+ - [BaseFormRequest](/guide/installation#laravel-integration): Laravel form request base class with validation
100
+ - [HasApiResponses](/guide/installation#laravel-integration): Trait for consistent API responses
101
+ - [PaginatedResource](/guide/installation#laravel-integration): Resource for paginated API responses
102
+
103
+ ## Optional
104
+
105
+ Additional resources for advanced usage:
106
+
107
+ - [TypeScript Guide](/guide/typescript): Full type safety and IDE support
108
+ - [Theming Guide](/guide/theming): Customize Bootstrap theme with CSS variables
109
+ - [Common Patterns](/examples/common-patterns): Real-world usage examples
110
+ - [GitHub Repository](https://github.com/omnitend/dashboard-for-laravel): Source code and issue tracker
package/package.json ADDED
@@ -0,0 +1,116 @@
1
+ {
2
+ "name": "@omnitend/dashboard-for-laravel",
3
+ "version": "0.4.7",
4
+ "description": "Vue 3 dashboard components for Laravel with Bootstrap Vue Next",
5
+ "type": "module",
6
+ "main": "./dist/dashboard-for-laravel.umd.cjs",
7
+ "module": "./dist/dashboard-for-laravel.js",
8
+ "types": "./dist/index.d.ts",
9
+ "bin": {
10
+ "dashboard-docs-mcp": "scripts/mcp-server.mjs"
11
+ },
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "import": "./dist/dashboard-for-laravel.js",
16
+ "require": "./dist/dashboard-for-laravel.umd.cjs"
17
+ },
18
+ "./style.css": "./dist/style.css",
19
+ "./theme.css": "./dist/style.css",
20
+ "./theme.scss": "./resources/css/theme.scss"
21
+ },
22
+ "files": [
23
+ "dist",
24
+ "resources",
25
+ "scripts/mcp-server.mjs",
26
+ "docs/public/llms.txt",
27
+ "docs/public/api-reference.json",
28
+ "docs/public/docs-map.md"
29
+ ],
30
+ "scripts": {
31
+ "dev": "vite build --watch",
32
+ "build": "vite build && vue-tsc --declaration --emitDeclarationOnly --outDir dist",
33
+ "typecheck": "vue-tsc --noEmit",
34
+ "test": "vitest",
35
+ "test:ui": "vitest --ui",
36
+ "test:headless": "vitest --run --browser.headless",
37
+ "docs:dev": "astro dev",
38
+ "docs:build": "npm run docs:generate:ai && astro build",
39
+ "docs:preview": "astro preview",
40
+ "docs:generate": "node scripts/generate-component-docs.mjs",
41
+ "docs:generate:ai": "node scripts/generate-llms-txt.mjs && node scripts/generate-api-manifest.mjs && node scripts/generate-docs-map.mjs",
42
+ "docs:enhance": "node scripts/enhance-frontmatter.mjs",
43
+ "docs:all": "npm run docs:generate && npm run docs:generate:ai && npm run docs:build",
44
+ "mcp": "node scripts/mcp-server.mjs",
45
+ "release": "bash scripts/release.sh"
46
+ },
47
+ "peerDependencies": {
48
+ "@inertiajs/vue3": "^2.0.0",
49
+ "axios": "^1.6.0",
50
+ "vue": "^3.4.0"
51
+ },
52
+ "peerDependenciesMeta": {
53
+ "axios": {
54
+ "optional": true
55
+ },
56
+ "bootstrap-vue-next": {
57
+ "optional": true
58
+ }
59
+ },
60
+ "dependencies": {
61
+ "@modelcontextprotocol/sdk": "^1.22.0",
62
+ "bootstrap-vue-next": "^0.40.8",
63
+ "highlight.js": "^11.11.1",
64
+ "pluralize": "^8.0.0",
65
+ "rehype-autolink-headings": "^7.1.0",
66
+ "rehype-slug": "^6.0.0",
67
+ "vue-docgen-api": "^4.79.2"
68
+ },
69
+ "devDependencies": {
70
+ "@astrojs/mdx": "^4.3.8",
71
+ "@astrojs/sitemap": "^3.6.0",
72
+ "@astrojs/vue": "^5.1.1",
73
+ "@iconify-json/lucide": "^1.2.71",
74
+ "@iconify/json": "^2.2.397",
75
+ "@inertiajs/vue3": "^2.2.15",
76
+ "@types/pluralize": "^0.0.33",
77
+ "@vitejs/plugin-vue": "^5.2.4",
78
+ "@vitest/browser": "^4.0.3",
79
+ "@vitest/browser-playwright": "^4.0.3",
80
+ "@vue/test-utils": "^2.4.6",
81
+ "astro": "^5.15.1",
82
+ "bootstrap": "^5.3.8",
83
+ "happy-dom": "^20.0.8",
84
+ "pagefind": "^1.4.0",
85
+ "playwright": "^1.56.1",
86
+ "sass-embedded": "^1.93.2",
87
+ "typescript": "^5.9.3",
88
+ "unplugin-icons": "^22.5.0",
89
+ "unplugin-vue-components": "^30.0.0",
90
+ "vite": "^6.4.1",
91
+ "vitest": "^4.0.3",
92
+ "vitest-browser-vue": "^2.0.0",
93
+ "vue-tsc": "^2.2.12"
94
+ },
95
+ "keywords": [
96
+ "vue",
97
+ "vue3",
98
+ "laravel",
99
+ "bootstrap",
100
+ "dashboard",
101
+ "components",
102
+ "forms",
103
+ "inertia",
104
+ "typescript"
105
+ ],
106
+ "license": "MIT",
107
+ "author": "Omni Tend",
108
+ "repository": {
109
+ "type": "git",
110
+ "url": "https://github.com/omnitend/dashboard-for-laravel.git"
111
+ },
112
+ "bugs": {
113
+ "url": "https://github.com/omnitend/dashboard-for-laravel/issues"
114
+ },
115
+ "homepage": "https://omnitend.github.io/dashboard-for-laravel/"
116
+ }
@@ -0,0 +1,219 @@
1
+ // ============================================================================
2
+ // Laravel Dashboard Theme
3
+ // ============================================================================
4
+ // Custom Bootstrap theme for the Laravel Dashboard library
5
+ // Override Bootstrap variables BEFORE importing Bootstrap
6
+
7
+ // ----------------------------------------------------------------------------
8
+ // Colors
9
+ // ----------------------------------------------------------------------------
10
+
11
+ $primary: #4f46e5; // Indigo-600 (8.6:1 with white)
12
+ $secondary: #475569; // Slate-600 (7.0:1 with white) - darkened for better contrast
13
+ $success: #10b981; // Emerald-500 (6.7:1 with white)
14
+ $danger: #dc2626; // Red-600 (7.2:1 with white) - darkened for better contrast
15
+ $warning: #f59e0b; // Amber-500 (7.7:1 with white)
16
+ $info: #2563eb; // Blue-600 (7.3:1 with white)
17
+ $light: #f8fafc; // Slate-50 (uses dark text)
18
+ $dark: #0f172a; // Slate-900 (uses white text)
19
+
20
+ // ----------------------------------------------------------------------------
21
+ // Contrast Settings
22
+ // ----------------------------------------------------------------------------
23
+ // Bootstrap uses these to calculate whether to use light or dark text on colored backgrounds
24
+
25
+ $min-contrast-ratio: 4.5; // WCAG AA standard
26
+ $color-contrast-dark: $dark; // Dark text color (for light backgrounds)
27
+ $color-contrast-light: #fff; // Light text color (for dark backgrounds)
28
+
29
+ // ----------------------------------------------------------------------------
30
+ // Typography
31
+ // ----------------------------------------------------------------------------
32
+
33
+ $font-family-base: "Poppins", sans-serif;
34
+ $font-size-base: 0.875rem; // 14px
35
+ $font-weight-base: 400;
36
+ $line-height-base: 1.5;
37
+
38
+ $h1-font-size: 2rem; // 32px
39
+ $h2-font-size: 1.75rem; // 28px
40
+ $h3-font-size: 1.5rem; // 24px
41
+ $h4-font-size: 1.25rem; // 20px
42
+ $h5-font-size: 1.125rem; // 18px
43
+ $h6-font-size: 1rem; // 16px
44
+
45
+ $headings-font-weight: 600;
46
+
47
+ // ----------------------------------------------------------------------------
48
+ // Spacing
49
+ // ----------------------------------------------------------------------------
50
+
51
+ $spacer: 1rem;
52
+
53
+ // ----------------------------------------------------------------------------
54
+ // Borders
55
+ // ----------------------------------------------------------------------------
56
+
57
+ $border-radius: 0.5rem; // 8px
58
+ $border-radius-sm: 0.375rem; // 6px
59
+ $border-radius-lg: 0.75rem; // 12px
60
+ $border-color: #e5e7eb; // Gray-200
61
+
62
+ // ----------------------------------------------------------------------------
63
+ // Buttons
64
+ // ----------------------------------------------------------------------------
65
+
66
+ $btn-padding-y: 0.625rem; // 10px
67
+ $btn-padding-x: 1.25rem; // 20px
68
+ $btn-font-weight: 500;
69
+ $btn-border-radius: $border-radius;
70
+ $btn-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
71
+
72
+ $btn-padding-y-sm: 0.5rem; // 8px
73
+ $btn-padding-x-sm: 1rem; // 16px
74
+
75
+ $btn-padding-y-lg: 0.75rem; // 12px
76
+ $btn-padding-x-lg: 1.5rem; // 24px
77
+
78
+ // ----------------------------------------------------------------------------
79
+ // Forms
80
+ // ----------------------------------------------------------------------------
81
+
82
+ $input-padding-y: 0.625rem;
83
+ $input-padding-x: 1rem;
84
+ $input-border-radius: $border-radius;
85
+ $input-border-color: #d1d5db; // Gray-300
86
+ $input-focus-border-color: $primary;
87
+ $input-focus-box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.1);
88
+
89
+ // ----------------------------------------------------------------------------
90
+ // Cards
91
+ // ----------------------------------------------------------------------------
92
+
93
+ $card-border-radius: $border-radius;
94
+ $card-border-color: $border-color;
95
+ $card-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1),
96
+ 0 1px 2px 0 rgba(0, 0, 0, 0.06);
97
+ $card-cap-bg: transparent;
98
+ $card-spacer-y: 1.5rem; // 24px vertical padding
99
+ $card-spacer-x: 1.5rem; // 24px horizontal padding
100
+
101
+ // ----------------------------------------------------------------------------
102
+ // Tables
103
+ // ----------------------------------------------------------------------------
104
+
105
+ $table-cell-padding-y: 0.75rem;
106
+ $table-cell-padding-x: 1rem;
107
+ $table-striped-bg: #f9fafb; // Gray-50
108
+ $table-hover-bg: #f3f4f6; // Gray-100
109
+
110
+ // ----------------------------------------------------------------------------
111
+ // Modals
112
+ // ----------------------------------------------------------------------------
113
+
114
+ $modal-content-border-radius: $border-radius-lg;
115
+ $modal-content-box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
116
+ 0 10px 10px -5px rgba(0, 0, 0, 0.04);
117
+
118
+ // ----------------------------------------------------------------------------
119
+ // Alerts
120
+ // ----------------------------------------------------------------------------
121
+
122
+ $alert-border-radius: $border-radius;
123
+ $alert-padding-y: 1rem;
124
+ $alert-padding-x: 1rem;
125
+
126
+ // ----------------------------------------------------------------------------
127
+ // Badges
128
+ // ----------------------------------------------------------------------------
129
+
130
+ $badge-border-radius: $border-radius-sm;
131
+ $badge-padding-y: 0.25rem;
132
+ $badge-padding-x: 0.625rem;
133
+ $badge-font-weight: 500;
134
+
135
+ // ----------------------------------------------------------------------------
136
+ // Dashboard
137
+ // ----------------------------------------------------------------------------
138
+
139
+ $dashboard-sidebar-width: 280px;
140
+ $dashboard-sidebar-collapsed-width: 80px;
141
+ $dashboard-navbar-height: 64px;
142
+
143
+ // ----------------------------------------------------------------------------
144
+ // Import Bootstrap
145
+ // ----------------------------------------------------------------------------
146
+
147
+ @import "bootstrap/scss/bootstrap";
148
+
149
+ // ----------------------------------------------------------------------------
150
+ // Import Bootstrap Vue Next
151
+ // ----------------------------------------------------------------------------
152
+
153
+ @import "bootstrap-vue-next/dist/bootstrap-vue-next.css";
154
+
155
+ // ----------------------------------------------------------------------------
156
+ // Dashboard Custom Styles
157
+ // ----------------------------------------------------------------------------
158
+
159
+ .dashboard-sidebar {
160
+ background-color: $dark;
161
+ width: $dashboard-sidebar-width;
162
+
163
+ &.sidebar-collapsed {
164
+ width: $dashboard-sidebar-collapsed-width;
165
+ }
166
+
167
+ .sidebar-header {
168
+ height: $dashboard-navbar-height;
169
+ border-bottom-color: $navbar-dark-toggler-border-color;
170
+ }
171
+
172
+ .nav-group-label {
173
+ color: $navbar-dark-color;
174
+ }
175
+
176
+ .nav-group-divider {
177
+ border-color: $navbar-dark-toggler-border-color;
178
+ }
179
+
180
+ .nav-link {
181
+ color: $navbar-dark-hover-color;
182
+
183
+ &:hover {
184
+ color: $navbar-dark-active-color;
185
+ background-color: rgba($white, 0.1);
186
+ }
187
+
188
+ &.active {
189
+ color: $navbar-dark-active-color;
190
+ background-color: rgba($white, 0.15);
191
+ font-weight: 500;
192
+ }
193
+ }
194
+ }
195
+
196
+ .dashboard-navbar {
197
+ height: $dashboard-navbar-height;
198
+ }
199
+
200
+ // ----------------------------------------------------------------------------
201
+ // Custom Utilities
202
+ // ----------------------------------------------------------------------------
203
+
204
+ // Add any custom utility classes here
205
+ .shadow-sm {
206
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
207
+ }
208
+
209
+ .shadow {
210
+ box-shadow:
211
+ 0 1px 3px 0 rgba(0, 0, 0, 0.1),
212
+ 0 1px 2px 0 rgba(0, 0, 0, 0.06) !important;
213
+ }
214
+
215
+ .shadow-lg {
216
+ box-shadow:
217
+ 0 10px 15px -3px rgba(0, 0, 0, 0.1),
218
+ 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
219
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @component
3
+ * Type-safe wrapper around Bootstrap Vue Next BAccordion component.
4
+ * Easily toggle content visibility with collapsible accordions.
5
+ */
6
+ <script setup lang="ts">
7
+ import { BAccordion } from "bootstrap-vue-next";
8
+
9
+ defineOptions({
10
+ inheritAttrs: false,
11
+ });
12
+ </script>
13
+
14
+ <template>
15
+ <BAccordion 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
+ </BAccordion>
21
+ </template>
@@ -0,0 +1,14 @@
1
+ <script setup lang="ts">
2
+ import { BAccordionItem } from "bootstrap-vue-next";
3
+ import { useSlots } from "vue";
4
+
5
+ const slots = useSlots();
6
+ </script>
7
+
8
+ <template>
9
+ <BAccordionItem v-bind="$attrs">
10
+ <template v-for="(_, name) in slots" :key="name" #[name]="slotProps">
11
+ <slot :name="name" v-bind="slotProps" />
12
+ </template>
13
+ </BAccordionItem>
14
+ </template>
@@ -0,0 +1,14 @@
1
+ <script setup lang="ts">
2
+ import { BAlert } from "bootstrap-vue-next";
3
+ import { useSlots } from "vue";
4
+
5
+ const slots = useSlots();
6
+ </script>
7
+
8
+ <template>
9
+ <BAlert v-bind="$attrs">
10
+ <template v-for="(_, name) in slots" :key="name" #[name]>
11
+ <slot :name="name" />
12
+ </template>
13
+ </BAlert>
14
+ </template>
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @component
3
+ * Type-safe wrapper around Bootstrap Vue Next BAvatar component.
4
+ * Display user profiles as pictures, icons, or short text.
5
+ */
6
+ <script setup lang="ts">
7
+ import { BAvatar } from "bootstrap-vue-next";
8
+
9
+ defineOptions({
10
+ inheritAttrs: false,
11
+ });
12
+ </script>
13
+
14
+ <template>
15
+ <BAvatar 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
+ </BAvatar>
21
+ </template>
@@ -0,0 +1,14 @@
1
+ <script setup lang="ts">
2
+ import { BBadge } from "bootstrap-vue-next";
3
+ import { useSlots } from "vue";
4
+
5
+ const slots = useSlots();
6
+ </script>
7
+
8
+ <template>
9
+ <BBadge v-bind="$attrs">
10
+ <template v-for="(_, name) in slots" :key="name" #[name]>
11
+ <slot :name="name" />
12
+ </template>
13
+ </BBadge>
14
+ </template>
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @component
3
+ * Type-safe wrapper around Bootstrap Vue Next BBreadcrumb component.
4
+ * Indicate the current page's location within a navigational hierarchy.
5
+ */
6
+ <script setup lang="ts">
7
+ import { BBreadcrumb } from "bootstrap-vue-next";
8
+
9
+ defineOptions({
10
+ inheritAttrs: false,
11
+ });
12
+ </script>
13
+
14
+ <template>
15
+ <BBreadcrumb 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
+ </BBreadcrumb>
21
+ </template>