sprintify-ui 0.0.179 → 0.0.180

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 (31) hide show
  1. package/dist/sprintify-ui.es.js +7850 -7684
  2. package/dist/style.css +1 -1
  3. package/dist/types/src/components/BaseDataIterator.vue.d.ts +52 -13
  4. package/dist/types/src/components/BaseDataIteratorSectionBox.vue.d.ts +23 -0
  5. package/dist/types/src/components/BaseDataIteratorSectionButton.vue.d.ts +20 -0
  6. package/dist/types/src/components/{BaseDataTableToggleColumns.vue.d.ts → BaseDataIteratorSectionColumns.vue.d.ts} +6 -40
  7. package/dist/types/src/components/BaseDataIteratorSectionModal.vue.d.ts +29 -0
  8. package/dist/types/src/components/BaseDataTable.vue.d.ts +50 -11
  9. package/dist/types/src/components/BaseDataTableRowAction.vue.d.ts +18 -0
  10. package/dist/types/src/components/BaseMenu.vue.d.ts +9 -0
  11. package/dist/types/src/components/BaseMenuItem.vue.d.ts +9 -0
  12. package/dist/types/src/components/BaseTable.vue.d.ts +2 -17
  13. package/dist/types/src/index.d.ts +12 -0
  14. package/dist/types/src/types/index.d.ts +15 -0
  15. package/package.json +1 -1
  16. package/src/assets/main.css +23 -0
  17. package/src/components/BaseActionItem.vue +3 -1
  18. package/src/components/BaseDataIterator.vue +123 -85
  19. package/src/components/BaseDataIteratorSectionBox.vue +33 -0
  20. package/src/components/BaseDataIteratorSectionButton.vue +34 -0
  21. package/src/components/{BaseDataTableToggleColumns.vue → BaseDataIteratorSectionColumns.vue} +3 -3
  22. package/src/components/BaseDataIteratorSectionModal.vue +41 -0
  23. package/src/components/BaseDataTable.stories.js +45 -14
  24. package/src/components/BaseDataTable.vue +219 -78
  25. package/src/components/BaseDataTableRowAction.vue +28 -0
  26. package/src/components/BaseMenu.vue +7 -0
  27. package/src/components/BaseMenuItem.vue +17 -1
  28. package/src/components/BaseTable.vue +37 -85
  29. package/src/lang/en.json +3 -0
  30. package/src/lang/fr.json +3 -0
  31. package/src/types/index.ts +17 -0
@@ -0,0 +1,29 @@
1
+ import { DataIteratorSection } from '@/types';
2
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_TypePropsToRuntimeProps<{
3
+ modelValue: boolean;
4
+ section: DataIteratorSection;
5
+ }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
+ "update:modelValue": (value: boolean) => void;
7
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
8
+ modelValue: boolean;
9
+ section: DataIteratorSection;
10
+ }>>> & {
11
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
12
+ }, {}>, {
13
+ default: (_: {}) => any;
14
+ }>;
15
+ export default _default;
16
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
17
+ type __VLS_TypePropsToRuntimeProps<T> = {
18
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
19
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
20
+ } : {
21
+ type: import('vue').PropType<T[K]>;
22
+ required: true;
23
+ };
24
+ };
25
+ type __VLS_WithTemplateSlots<T, S> = T & {
26
+ new (): {
27
+ $slots: S;
28
+ };
29
+ };
@@ -1,5 +1,5 @@
1
1
  import { PropType } from 'vue';
2
- import { CollectionItem, DataTableQuery, MenuItemInterface } from '@/types';
2
+ import { CollectionItem, DataIteratorSection, DataTableQuery, MenuItemInterface, RowAction } from '@/types';
3
3
  import { RouteLocationRaw } from 'vue-router';
4
4
  declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
5
5
  /**
@@ -133,11 +133,30 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
133
133
  default: undefined;
134
134
  type: NumberConstructor;
135
135
  };
136
+ /**
137
+ * Layout type
138
+ */
139
+ layout: {
140
+ default: string;
141
+ type: PropType<"default" | "compact">;
142
+ };
143
+ sections: {
144
+ default: undefined;
145
+ type: PropType<DataIteratorSection[]>;
146
+ };
147
+ rowActions: {
148
+ default: undefined;
149
+ type: PropType<RowAction[]>;
150
+ };
151
+ numberOfVisibleRowActions: {
152
+ default: number;
153
+ type: NumberConstructor;
154
+ };
136
155
  }, {
137
156
  fetch: () => void;
138
157
  fetchWithoutLoading: () => void;
139
158
  query: import("vue").ComputedRef<DataTableQuery | null>;
140
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("delete" | "checkAll" | "update:checked-rows" | "check" | "cell-click")[], "delete" | "checkAll" | "update:checked-rows" | "check" | "cell-click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
159
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("delete" | "update:checked-rows" | "cell-click")[], "delete" | "update:checked-rows" | "cell-click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
141
160
  /**
142
161
  * Base URL from which to make requests
143
162
  */
@@ -269,11 +288,28 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
269
288
  default: undefined;
270
289
  type: NumberConstructor;
271
290
  };
291
+ /**
292
+ * Layout type
293
+ */
294
+ layout: {
295
+ default: string;
296
+ type: PropType<"default" | "compact">;
297
+ };
298
+ sections: {
299
+ default: undefined;
300
+ type: PropType<DataIteratorSection[]>;
301
+ };
302
+ rowActions: {
303
+ default: undefined;
304
+ type: PropType<RowAction[]>;
305
+ };
306
+ numberOfVisibleRowActions: {
307
+ default: number;
308
+ type: NumberConstructor;
309
+ };
272
310
  }>> & {
273
311
  onDelete?: ((...args: any[]) => any) | undefined;
274
- onCheckAll?: ((...args: any[]) => any) | undefined;
275
312
  "onUpdate:checked-rows"?: ((...args: any[]) => any) | undefined;
276
- onCheck?: ((...args: any[]) => any) | undefined;
277
313
  "onCell-click"?: ((...args: any[]) => any) | undefined;
278
314
  }, {
279
315
  actions: MenuItemInterface[];
@@ -281,9 +317,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
281
317
  defaultQuery: DataTableQuery;
282
318
  searchable: boolean;
283
319
  historyMode: boolean;
320
+ layout: "default" | "compact";
321
+ sections: DataIteratorSection[];
284
322
  detailed: boolean;
285
323
  checkable: boolean;
286
- checkableActions: MenuItemInterface[];
287
324
  isRowCheckable: Function;
288
325
  checkedRows: Record<string, any>[];
289
326
  hasDetailedVisible: (row: any) => boolean;
@@ -293,8 +330,11 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
293
330
  editUrl: ((row: CollectionItem) => RouteLocationRaw) | undefined;
294
331
  deleteButton: boolean;
295
332
  deleteUrl: ((row: CollectionItem) => string) | undefined;
333
+ checkableActions: MenuItemInterface[];
296
334
  toggleable: boolean;
297
- }>, {
335
+ rowActions: RowAction[];
336
+ numberOfVisibleRowActions: number;
337
+ }>, Record<string, (_: {}) => any> & {
298
338
  default: (_: {}) => any;
299
339
  rowActions: (_: {
300
340
  row: any;
@@ -303,11 +343,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
303
343
  row: import("@/types").Row;
304
344
  index: number;
305
345
  }) => any;
306
- checkedHeader: (_: {
307
- uncheckAll: () => void;
308
- count: number;
309
- checkRows: import("@/types").Row[];
310
- }) => any;
346
+ checkedHeader: (_: any) => any;
311
347
  filters: (_: {
312
348
  query: {
313
349
  [x: string]: any;
@@ -322,6 +358,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
322
358
  sidebarTop: (_: {
323
359
  paginationMetadata: import("@/types").PaginationMetadata | null;
324
360
  }) => any;
361
+ sidebarBottom: (_: {
362
+ paginationMetadata: import("@/types").PaginationMetadata | null;
363
+ }) => any;
325
364
  }>;
326
365
  export default _default;
327
366
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -0,0 +1,18 @@
1
+ import { CollectionItem, RowAction } from '@/types';
2
+ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToRuntimeProps<{
3
+ row: CollectionItem;
4
+ rowAction: RowAction;
5
+ }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
6
+ row: CollectionItem;
7
+ rowAction: RowAction;
8
+ }>>>, {}>;
9
+ export default _default;
10
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
11
+ type __VLS_TypePropsToRuntimeProps<T> = {
12
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
13
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
14
+ } : {
15
+ type: import('vue').PropType<T[K]>;
16
+ required: true;
17
+ };
18
+ };
@@ -13,6 +13,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
13
13
  default: string;
14
14
  type: PropType<"custom" | "bottom-left" | "bottom-right">;
15
15
  };
16
+ size: {
17
+ default: string;
18
+ type: PropType<"xs" | "sm" | "md">;
19
+ };
16
20
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
17
21
  items: {
18
22
  default: undefined;
@@ -26,7 +30,12 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
26
30
  default: string;
27
31
  type: PropType<"custom" | "bottom-left" | "bottom-right">;
28
32
  };
33
+ size: {
34
+ default: string;
35
+ type: PropType<"xs" | "sm" | "md">;
36
+ };
29
37
  }>>, {
38
+ size: "xs" | "sm" | "md";
30
39
  items: MenuItemInterface[];
31
40
  menuClass: string | Record<string, any> | unknown[];
32
41
  position: "custom" | "bottom-left" | "bottom-right";
@@ -20,6 +20,10 @@ declare const _default: import("vue").DefineComponent<{
20
20
  default: string;
21
21
  type: PropType<"dark" | "light" | "danger" | "success" | "warning">;
22
22
  };
23
+ size: {
24
+ default: string;
25
+ type: PropType<"xs" | "sm" | "md">;
26
+ };
23
27
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
24
28
  label: {
25
29
  default: undefined;
@@ -41,11 +45,16 @@ declare const _default: import("vue").DefineComponent<{
41
45
  default: string;
42
46
  type: PropType<"dark" | "light" | "danger" | "success" | "warning">;
43
47
  };
48
+ size: {
49
+ default: string;
50
+ type: PropType<"xs" | "sm" | "md">;
51
+ };
44
52
  }>>, {
45
53
  label: string;
46
54
  active: boolean;
47
55
  color: "dark" | "light" | "danger" | "success" | "warning";
48
56
  icon: string;
49
57
  count: number;
58
+ size: "xs" | "sm" | "md";
50
59
  }>;
51
60
  export default _default;
@@ -1,5 +1,5 @@
1
1
  import { PropType } from 'vue';
2
- import { BaseTableColumn, MenuItemInterface, Row } from '@/types';
2
+ import { BaseTableColumn, Row } from '@/types';
3
3
  declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
4
4
  /** Table data */
5
5
  data: {
@@ -25,11 +25,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
25
25
  default: boolean;
26
26
  type: BooleanConstructor;
27
27
  };
28
- /** Define checkable actions */
29
- checkableActions: {
30
- default: undefined;
31
- type: PropType<MenuItemInterface[]>;
32
- };
33
28
  /**
34
29
  * Position of the checkbox (if checkable is true)
35
30
  * @values left, right
@@ -101,6 +96,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
101
96
  thAttrs: (column: BaseTableColumn) => Record<string, any>;
102
97
  tdAttrs: (row: Row, column: BaseTableColumn) => Record<string, any>;
103
98
  }[]>;
99
+ uncheckAll: () => void;
104
100
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("sort" | "check" | "check-all" | "update:checkedRows" | "details-open" | "details-close" | "update:openedDetailed" | "cell-click")[], "sort" | "check" | "check-all" | "update:checkedRows" | "details-open" | "details-close" | "update:openedDetailed" | "cell-click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
105
101
  /** Table data */
106
102
  data: {
@@ -126,11 +122,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
126
122
  default: boolean;
127
123
  type: BooleanConstructor;
128
124
  };
129
- /** Define checkable actions */
130
- checkableActions: {
131
- default: undefined;
132
- type: PropType<MenuItemInterface[]>;
133
- };
134
125
  /**
135
126
  * Position of the checkbox (if checkable is true)
136
127
  * @values left, right
@@ -197,7 +188,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
197
188
  visibleColumns: number[];
198
189
  detailed: boolean;
199
190
  checkable: boolean;
200
- checkableActions: MenuItemInterface[];
201
191
  checkboxPosition: "left" | "right";
202
192
  isRowCheckable: Function;
203
193
  checkedRows: Row[];
@@ -207,11 +197,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
207
197
  maxHeight: number;
208
198
  }>, {
209
199
  default: (_: {}) => any;
210
- checkedHeader: (_: {
211
- uncheckAll: () => void;
212
- count: number;
213
- checkRows: Row[];
214
- }) => any;
215
200
  detail: (_: {
216
201
  row: Row;
217
202
  index: number;
@@ -13,6 +13,7 @@ declare const messages: {
13
13
  address_1_placeholder: string;
14
14
  address_2_description: string;
15
15
  and: string;
16
+ apply: string;
16
17
  apply_filters: string;
17
18
  autocomplete_placeholder: string;
18
19
  cancel: string;
@@ -26,10 +27,12 @@ declare const messages: {
26
27
  country: string;
27
28
  create_new: string;
28
29
  day: string;
30
+ delete: string;
29
31
  delete_record: string;
30
32
  delete_record_description: string;
31
33
  deselect_all: string;
32
34
  drop_or_click_to_upload: string;
35
+ edit: string;
33
36
  error: string;
34
37
  file_must_be_of_type: string;
35
38
  filters: string;
@@ -88,6 +91,7 @@ declare const messages: {
88
91
  address_1_placeholder: string;
89
92
  address_2_description: string;
90
93
  and: string;
94
+ apply: string;
91
95
  apply_filters: string;
92
96
  autocomplete_placeholder: string;
93
97
  cancel: string;
@@ -101,10 +105,12 @@ declare const messages: {
101
105
  country: string;
102
106
  create_new: string;
103
107
  day: string;
108
+ delete: string;
104
109
  delete_record: string;
105
110
  delete_record_description: string;
106
111
  deselect_all: string;
107
112
  drop_or_click_to_upload: string;
113
+ edit: string;
108
114
  error: string;
109
115
  file_must_be_of_type: string;
110
116
  filters: string;
@@ -180,6 +186,7 @@ declare const config: {
180
186
  address_1_placeholder: string;
181
187
  address_2_description: string;
182
188
  and: string;
189
+ apply: string;
183
190
  apply_filters: string;
184
191
  autocomplete_placeholder: string;
185
192
  cancel: string;
@@ -193,10 +200,12 @@ declare const config: {
193
200
  country: string;
194
201
  create_new: string;
195
202
  day: string;
203
+ delete: string;
196
204
  delete_record: string;
197
205
  delete_record_description: string;
198
206
  deselect_all: string;
199
207
  drop_or_click_to_upload: string;
208
+ edit: string;
200
209
  error: string;
201
210
  file_must_be_of_type: string;
202
211
  filters: string;
@@ -255,6 +264,7 @@ declare const config: {
255
264
  address_1_placeholder: string;
256
265
  address_2_description: string;
257
266
  and: string;
267
+ apply: string;
258
268
  apply_filters: string;
259
269
  autocomplete_placeholder: string;
260
270
  cancel: string;
@@ -268,10 +278,12 @@ declare const config: {
268
278
  country: string;
269
279
  create_new: string;
270
280
  day: string;
281
+ delete: string;
271
282
  delete_record: string;
272
283
  delete_record_description: string;
273
284
  deselect_all: string;
274
285
  drop_or_click_to_upload: string;
286
+ edit: string;
275
287
  error: string;
276
288
  file_must_be_of_type: string;
277
289
  filters: string;
@@ -68,6 +68,7 @@ export interface ActionItem {
68
68
  action?: () => Promise<void> | void;
69
69
  icon?: string;
70
70
  count?: number;
71
+ disabled?: boolean;
71
72
  meta?: Record<string, any>;
72
73
  actions?: ActionItem[];
73
74
  }
@@ -173,3 +174,17 @@ export interface SelectConfiguration {
173
174
  options: SelectConfigurationOption[];
174
175
  onChange?: (option: SelectConfigurationOption | null) => void;
175
176
  }
177
+ export interface DataIteratorSection {
178
+ name: string;
179
+ title: string;
180
+ closeText: string;
181
+ icon: string;
182
+ opened?: boolean;
183
+ }
184
+ export interface RowAction {
185
+ label: string;
186
+ icon: string;
187
+ action?: (row: CollectionItem) => Promise<void> | void;
188
+ to?: (row: CollectionItem) => RouteLocationRaw;
189
+ disabled?: (row: CollectionItem) => boolean;
190
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sprintify-ui",
3
- "version": "0.0.179",
3
+ "version": "0.0.180",
4
4
  "scripts": {
5
5
  "build": "rimraf dist && vue-tsc && vite build",
6
6
  "build-fast": "rimraf dist && vite build",
@@ -4,3 +4,26 @@
4
4
  [aria-label][role~='tooltip']::after {
5
5
  white-space: pre-line;
6
6
  }
7
+
8
+ .btn-group {
9
+ display: flex;
10
+ align-items: center;
11
+ justify-content: center;
12
+ margin: 0 -0.5rem;
13
+
14
+ & .btn:first-child {
15
+ border-bottom-right-radius: 0;
16
+ border-top-right-radius: 0;
17
+ }
18
+
19
+ & .btn:last-child {
20
+ border-bottom-left-radius: 0;
21
+ border-top-left-radius: 0;
22
+ border-left: 0;
23
+ }
24
+
25
+ & .btn:not(:first-child):not(:last-child) {
26
+ border-radius: 0;
27
+ border-left: 0;
28
+ }
29
+ }
@@ -52,7 +52,9 @@ defineProps({
52
52
  },
53
53
  });
54
54
 
55
- const closeMenu = inject('closeMenu') as () => void;
55
+ const closeMenu = inject('closeMenu', () => {
56
+ return;
57
+ }) as () => void;
56
58
 
57
59
  const emit = defineEmits(['click']);
58
60