@omnitend/dashboard-for-laravel 0.16.4 → 0.18.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.
@@ -11,13 +11,68 @@ interface Props {
11
11
  * bootstrap-vue-next 0.45 removed the no-op `'md'` value from `Size`.
12
12
  */
13
13
  size?: Size;
14
+ /**
15
+ * Disable the button. Combined with `loading` — either one disables it.
16
+ */
17
+ disabled?: boolean;
18
+ /**
19
+ * Show an in-flight state: the button is disabled immediately and, after
20
+ * `spinnerDelay`, a trailing spinner appears (and the label swaps to
21
+ * `loadingText` if given).
22
+ *
23
+ * Diverges from bvn: `BButton` has a native `loading`/`loadingText` that
24
+ * shows its spinner immediately. We intercept both and render our own
25
+ * anti-flash spinner instead, so bvn's native loading never fires. See
26
+ * DIVERGENCES.md.
27
+ * @default false
28
+ */
29
+ loading?: boolean;
30
+ /**
31
+ * Label shown in place of the default slot while the spinner is visible.
32
+ * Omit to keep the original label alongside the spinner. (See `loading` re:
33
+ * the bvn divergence.)
34
+ */
35
+ loadingText?: string;
36
+ /**
37
+ * Leading Bootstrap Icons glyph name, rendered as `<i class="bi bi-{icon}">`.
38
+ * e.g. `icon="save"`. Hidden while the loading spinner is visible.
39
+ *
40
+ * Diverges from bvn: `BButton`'s native `icon` is a `boolean` (icon-button
41
+ * styling mode). We redefine it as a glyph-name `string`, so bvn's boolean
42
+ * icon mode is unreachable through `DButton`. See DIVERGENCES.md.
43
+ */
44
+ icon?: string;
45
+ /**
46
+ * Full-width button (BS5 `w-100` idiom, replacing the dropped `.btn-block`).
47
+ * @default false
48
+ */
49
+ block?: boolean;
50
+ /**
51
+ * Anti-flash: how long (ms) `loading` must stay true before the spinner is
52
+ * shown, so fast actions never flicker one in.
53
+ * @default 500
54
+ */
55
+ spinnerDelay?: number;
56
+ /**
57
+ * Anti-flash: minimum time (ms) the spinner stays visible once shown, so a
58
+ * loading state that clears quickly doesn't strobe it away.
59
+ * @default 100
60
+ */
61
+ minSpinnerTime?: number;
14
62
  }
15
- declare var __VLS_7: string | number, __VLS_8: {};
63
+ declare var __VLS_6: {}, __VLS_12: string, __VLS_13: any;
16
64
  type __VLS_Slots = {} & {
17
- [K in NonNullable<typeof __VLS_7>]?: (props: typeof __VLS_8) => any;
65
+ [K in NonNullable<typeof __VLS_12>]?: (props: typeof __VLS_13) => any;
66
+ } & {
67
+ default?: (props: typeof __VLS_6) => any;
18
68
  };
19
69
  declare const __VLS_component: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
20
70
  variant: ButtonVariant | LinkVariant | null;
71
+ disabled: boolean;
72
+ loading: boolean;
73
+ block: boolean;
74
+ spinnerDelay: number;
75
+ minSpinnerTime: number;
21
76
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
77
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
23
78
  export default _default;
@@ -1,5 +1,5 @@
1
1
  import type { UseFormReturn } from "../../composables/useForm";
2
- import type { FieldDefinition } from "../../types";
2
+ import type { FieldDefinition, LabelCols } from "../../types";
3
3
  interface Props {
4
4
  /** Field definition to render */
5
5
  field: FieldDefinition;
@@ -15,6 +15,22 @@ interface Props {
15
15
  keyPath?: string;
16
16
  /** Error key for validation lookups (defaults to keyPath/field.key). */
17
17
  errorKey?: string;
18
+ /**
19
+ * Field layout: "vertical" (default, label above input) or "horizontal"
20
+ * (label left, input right). Normally set by DXForm (form-level, with
21
+ * `field.layout` taking precedence); pass directly when using DXField
22
+ * standalone.
23
+ */
24
+ layout?: "vertical" | "horizontal";
25
+ /** Label column width for horizontal layout (mirrors BFormGroup). */
26
+ labelCols?: LabelCols;
27
+ /**
28
+ * Skip rendering the field's own label entirely (only affects the
29
+ * standard labelled-field branch). Used by DXRepeater's `table` layout,
30
+ * where a column header already names the field and a per-row label
31
+ * would waste space in the cell.
32
+ */
33
+ hideLabel?: boolean;
18
34
  }
19
35
  declare function setValue(value: any): void;
20
36
  declare var __VLS_1: {
@@ -22,78 +38,112 @@ declare var __VLS_1: {
22
38
  model: any;
23
39
  value: any;
24
40
  update: typeof setValue;
25
- }, __VLS_3: {
41
+ }, __VLS_9: {
42
+ field: FieldDefinition;
43
+ model: any;
44
+ value: any;
45
+ update: typeof setValue;
46
+ }, __VLS_20: {
47
+ field: FieldDefinition;
48
+ model: any;
49
+ }, __VLS_25: {
50
+ field: FieldDefinition;
51
+ model: any;
52
+ }, __VLS_30: {
53
+ field: FieldDefinition;
54
+ model: any;
55
+ value: any;
56
+ update: typeof setValue;
57
+ }, __VLS_41: {
58
+ field: FieldDefinition;
59
+ model: any;
60
+ }, __VLS_46: {
61
+ field: FieldDefinition;
62
+ model: any;
63
+ }, __VLS_57: {
26
64
  field: FieldDefinition;
27
65
  model: any;
28
66
  value: any;
29
67
  update: typeof setValue;
30
- }, __VLS_14: {
68
+ }, __VLS_68: {
31
69
  field: FieldDefinition;
32
70
  model: any;
33
- }, __VLS_19: {
71
+ }, __VLS_73: {
34
72
  field: FieldDefinition;
35
73
  model: any;
36
- }, __VLS_24: {
74
+ }, __VLS_78: {
37
75
  field: FieldDefinition;
38
76
  model: any;
39
77
  value: any;
40
78
  update: typeof setValue;
41
- }, __VLS_35: {
79
+ }, __VLS_89: {
42
80
  field: FieldDefinition;
43
81
  model: any;
44
- }, __VLS_40: {
82
+ }, __VLS_94: {
45
83
  field: FieldDefinition;
46
84
  model: any;
47
- }, __VLS_55: {
85
+ }, __VLS_109: {
48
86
  row: any;
49
87
  index: number;
50
88
  fields: FieldDefinition[];
51
89
  remove: () => void;
52
90
  path: string;
53
- }, __VLS_57: {
91
+ }, __VLS_111: {
54
92
  field: FieldDefinition;
55
93
  model: any;
56
- }, __VLS_62: {
94
+ }, __VLS_116: {
57
95
  field: FieldDefinition;
58
96
  model: any;
59
- }, __VLS_73: {
97
+ }, __VLS_127: {
60
98
  field: FieldDefinition;
61
99
  model: any;
62
100
  value: any;
63
101
  update: typeof setValue;
64
- }, __VLS_119: {
102
+ }, __VLS_173: {
65
103
  field: FieldDefinition;
66
104
  model: any;
67
- }, __VLS_124: {
105
+ }, __VLS_178: {
68
106
  field: FieldDefinition;
69
107
  model: any;
70
108
  };
71
109
  type __VLS_Slots = {} & {
72
110
  span?: (props: typeof __VLS_1) => any;
73
111
  } & {
74
- value?: (props: typeof __VLS_3) => any;
112
+ value?: (props: typeof __VLS_9) => any;
113
+ } & {
114
+ info?: (props: typeof __VLS_20) => any;
115
+ } & {
116
+ hint?: (props: typeof __VLS_25) => any;
117
+ } & {
118
+ value?: (props: typeof __VLS_30) => any;
119
+ } & {
120
+ info?: (props: typeof __VLS_41) => any;
121
+ } & {
122
+ hint?: (props: typeof __VLS_46) => any;
123
+ } & {
124
+ value?: (props: typeof __VLS_57) => any;
75
125
  } & {
76
- info?: (props: typeof __VLS_14) => any;
126
+ info?: (props: typeof __VLS_68) => any;
77
127
  } & {
78
- hint?: (props: typeof __VLS_19) => any;
128
+ hint?: (props: typeof __VLS_73) => any;
79
129
  } & {
80
- value?: (props: typeof __VLS_24) => any;
130
+ value?: (props: typeof __VLS_78) => any;
81
131
  } & {
82
- info?: (props: typeof __VLS_35) => any;
132
+ info?: (props: typeof __VLS_89) => any;
83
133
  } & {
84
- hint?: (props: typeof __VLS_40) => any;
134
+ hint?: (props: typeof __VLS_94) => any;
85
135
  } & {
86
- 'repeater-row'?: (props: typeof __VLS_55) => any;
136
+ 'repeater-row'?: (props: typeof __VLS_109) => any;
87
137
  } & {
88
- info?: (props: typeof __VLS_57) => any;
138
+ info?: (props: typeof __VLS_111) => any;
89
139
  } & {
90
- hint?: (props: typeof __VLS_62) => any;
140
+ hint?: (props: typeof __VLS_116) => any;
91
141
  } & {
92
- value?: (props: typeof __VLS_73) => any;
142
+ value?: (props: typeof __VLS_127) => any;
93
143
  } & {
94
- info?: (props: typeof __VLS_119) => any;
144
+ info?: (props: typeof __VLS_173) => any;
95
145
  } & {
96
- hint?: (props: typeof __VLS_124) => any;
146
+ hint?: (props: typeof __VLS_178) => any;
97
147
  };
98
148
  declare const __VLS_component: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
99
149
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
@@ -1,6 +1,6 @@
1
1
  import type { UseFormReturn } from "../../composables/useForm";
2
2
  import type { DefineFormReturn } from "../../composables/defineForm";
3
- import type { FieldDefinition, FormTab } from "../../types";
3
+ import type { FieldDefinition, FormTab, LabelCols } from "../../types";
4
4
  interface Props {
5
5
  /**
6
6
  * Form instance — either a raw `useForm` return or a `defineForm`
@@ -26,6 +26,26 @@ interface Props {
26
26
  showSubmit?: boolean;
27
27
  /** Auto-switch to the first tab containing a validation error. */
28
28
  autoErrorTab?: boolean;
29
+ /**
30
+ * Wrap the form in a card for a visual boundary (mirrors DXTable's
31
+ * `card` prop). Tabbed forms render the tab nav as a BS5
32
+ * card-header-tabs instead of double-wrapping. Off by default since
33
+ * DXForm is commonly embedded in a page card or modal already.
34
+ */
35
+ card?: boolean;
36
+ /**
37
+ * Form-wide field layout: "vertical" (default, label above input) or
38
+ * "horizontal" (label left, input right). Overridable per-field via
39
+ * `field.layout`. A field with `span: true` always renders full-width,
40
+ * regardless of layout.
41
+ */
42
+ layout?: "vertical" | "horizontal";
43
+ /**
44
+ * Label column width for horizontal layout (mirrors BFormGroup's
45
+ * `labelCols`/`labelCols*` props). Overridable per-field via
46
+ * `field.labelCols`. Ignored when `layout` is "vertical".
47
+ */
48
+ labelCols?: LabelCols;
29
49
  }
30
50
  type __VLS_Props = Props;
31
51
  type __VLS_Slots = Record<string, (props: any) => any>;
@@ -43,6 +63,8 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps,
43
63
  onSubmit?: (() => any) | undefined;
44
64
  "onUpdate:activeTab"?: ((value: number) => any) | undefined;
45
65
  }>, {
66
+ card: boolean;
67
+ layout: "vertical" | "horizontal";
46
68
  submitText: string;
47
69
  submitLoadingText: string;
48
70
  showSubmit: boolean;
@@ -16,9 +16,25 @@ declare var __VLS_1: {
16
16
  fields: FieldDefinition[];
17
17
  remove: () => void;
18
18
  path: string;
19
+ }, __VLS_24: {
20
+ row: any;
21
+ index: number;
22
+ fields: FieldDefinition[];
23
+ remove: () => void;
24
+ path: string;
25
+ }, __VLS_43: {
26
+ row: any;
27
+ index: number;
28
+ fields: FieldDefinition[];
29
+ remove: () => void;
30
+ path: string;
19
31
  };
20
32
  type __VLS_Slots = {} & {
21
33
  row?: (props: typeof __VLS_1) => any;
34
+ } & {
35
+ row?: (props: typeof __VLS_24) => any;
36
+ } & {
37
+ row?: (props: typeof __VLS_43) => any;
22
38
  };
23
39
  declare const __VLS_component: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
24
40
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;