@omnitend/dashboard-for-laravel 0.9.2 → 0.11.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.
@@ -8,6 +8,14 @@ interface Props {
8
8
  title?: string;
9
9
  /** Page title shown in navbar */
10
10
  pageTitle?: string;
11
+ /**
12
+ * Render the page content full-width and left-aligned instead of the default
13
+ * centred, reading-width (`col-xl-10`) column. Use for data-heavy admin pages
14
+ * (wide tables).
15
+ */
16
+ fluid?: boolean;
17
+ /** Extra class(es) applied to the content container/column. */
18
+ contentClass?: string;
11
19
  /** User object for navbar dropdown */
12
20
  user?: {
13
21
  name: string;
@@ -35,13 +43,15 @@ interface Props {
35
43
  */
36
44
  dashboardId?: string;
37
45
  }
38
- declare var __VLS_9: string, __VLS_10: any, __VLS_20: string, __VLS_21: any, __VLS_32: {};
46
+ declare var __VLS_9: string, __VLS_10: any, __VLS_20: string, __VLS_21: any, __VLS_26: {}, __VLS_37: {};
39
47
  type __VLS_Slots = {} & {
40
48
  [K in NonNullable<typeof __VLS_9>]?: (props: typeof __VLS_10) => any;
41
49
  } & {
42
50
  [K in NonNullable<typeof __VLS_20>]?: (props: typeof __VLS_21) => any;
43
51
  } & {
44
- default?: (props: typeof __VLS_32) => any;
52
+ default?: (props: typeof __VLS_26) => any;
53
+ } & {
54
+ default?: (props: typeof __VLS_37) => any;
45
55
  };
46
56
  declare const __VLS_component: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
47
57
  title: string;
@@ -1,22 +1,24 @@
1
1
  type __VLS_Props = {
2
+ /** The signed-in user shown in the avatar dropdown. `null` hides the menu. */
2
3
  user?: {
3
4
  name: string;
4
5
  email: string;
5
6
  [key: string]: any;
6
7
  } | null;
8
+ /** Page title shown at the left of the navbar (hidden below the `md` breakpoint). */
7
9
  pageTitle?: string;
8
10
  };
9
- declare var __VLS_17: {}, __VLS_19: {}, __VLS_24: {
11
+ declare var __VLS_11: {}, __VLS_13: {}, __VLS_15: {
10
12
  pageTitle: string;
11
- }, __VLS_26: {
13
+ }, __VLS_17: {
12
14
  user: {
13
15
  [key: string]: any;
14
16
  name: string;
15
17
  email: string;
16
18
  } | null;
17
- }, __VLS_31: {
19
+ }, __VLS_22: {
18
20
  initial: string;
19
- }, __VLS_33: {
21
+ }, __VLS_24: {
20
22
  user: {
21
23
  [key: string]: any;
22
24
  name: string;
@@ -24,17 +26,17 @@ declare var __VLS_17: {}, __VLS_19: {}, __VLS_24: {
24
26
  };
25
27
  };
26
28
  type __VLS_Slots = {} & {
27
- 'menu-icon'?: (props: typeof __VLS_17) => any;
29
+ 'menu-icon'?: (props: typeof __VLS_11) => any;
28
30
  } & {
29
- search?: (props: typeof __VLS_19) => any;
31
+ search?: (props: typeof __VLS_13) => any;
30
32
  } & {
31
- actions?: (props: typeof __VLS_24) => any;
33
+ actions?: (props: typeof __VLS_15) => any;
32
34
  } & {
33
- 'user-menu'?: (props: typeof __VLS_26) => any;
35
+ 'user-menu'?: (props: typeof __VLS_17) => any;
34
36
  } & {
35
- 'user-icon'?: (props: typeof __VLS_31) => any;
37
+ 'user-icon'?: (props: typeof __VLS_22) => any;
36
38
  } & {
37
- 'user-menu-items'?: (props: typeof __VLS_33) => any;
39
+ 'user-menu-items'?: (props: typeof __VLS_24) => any;
38
40
  };
39
41
  declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
40
42
  toggleSidebar: () => any;
@@ -1,9 +1,14 @@
1
1
  import type { Navigation } from '../../types/navigation';
2
2
  type __VLS_Props = {
3
+ /** Grouped navigation to render: an array of groups, each with a label and items. */
3
4
  navigation: Navigation;
5
+ /** The current route URL, used to highlight the matching nav item and open its group. */
4
6
  currentUrl: string;
7
+ /** Collapse the rail to an icons-only strip, hiding labels and the brand title. */
5
8
  collapsed?: boolean;
9
+ /** Hide the sidebar entirely (`display: none`). */
6
10
  hidden?: boolean;
11
+ /** Sidebar title; its first letter is also used as the brand initial. */
7
12
  title?: string;
8
13
  /**
9
14
  * Turn group headers into accordion toggles that collapse/expand their items.
@@ -26,11 +31,15 @@ declare var __VLS_1: {
26
31
  isActive: boolean;
27
32
  collapsed: boolean;
28
33
  isExpanded: boolean;
34
+ }, __VLS_9: {
35
+ collapsed: boolean;
29
36
  };
30
37
  type __VLS_Slots = {} & {
31
38
  brand?: (props: typeof __VLS_1) => any;
32
39
  } & {
33
40
  link?: (props: typeof __VLS_3) => any;
41
+ } & {
42
+ footer?: (props: typeof __VLS_9) => any;
34
43
  };
35
44
  declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
36
45
  toggle: () => any;
@@ -114,6 +114,15 @@ export interface Props<TItem = any> {
114
114
  editUrl?: string;
115
115
  /** API endpoint pattern for deletions (e.g., "/api/products/:id") */
116
116
  deleteUrl?: string;
117
+ /**
118
+ * Guard run when Delete is clicked, before the confirm dialog and request.
119
+ * Return a message for a non-deletable item to show it immediately (as a
120
+ * toast) and skip both the confirm and the delete request; return
121
+ * `null`/`undefined` to proceed with the normal confirm + delete. Lets you
122
+ * short-circuit a doomed delete (e.g. a record with dependents that the
123
+ * server would reject) with an immediate, specific reason.
124
+ */
125
+ deleteGuard?: (item: TItem) => string | null | undefined;
117
126
  /** API endpoint for creating new items (e.g., "/api/products") — enables "New" button */
118
127
  createUrl?: string;
119
128
  /** Enable client-side filtering, sorting, and pagination on items array */
@@ -142,6 +151,12 @@ declare const _default: <T = any>(__VLS_props: NonNullable<Awaited<typeof __VLS_
142
151
  } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onUpdate:sortBy" | "onUpdate:busy" | "onRowClicked" | "onPageChange" | "onSortChange" | "onFilterChange" | "onPerPageChange" | "onRowCreated" | "onCreateError" | "onRowUpdated" | "onEditError" | "onRowDeleted" | "onDeleteError" | "onUpdate:filters" | "onUpdate:perPage"> & Props<T> & Partial<{}>> & import("vue").PublicProps;
143
152
  expose(exposed: import("vue").ShallowUnwrapRef<{
144
153
  refresh: () => void;
154
+ /**
155
+ * Open the built-in create modal (same as clicking the default "New {item}"
156
+ * button). Lets the create action live outside the table card — e.g. in a
157
+ * page header or the dashboard navbar. No-op unless `editFields` are set.
158
+ */
159
+ openCreate: () => void;
145
160
  }>): void;
146
161
  attrs: any;
147
162
  slots: {