@bexis2/bexis2-core-ui 0.0.30 → 0.1.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.
Files changed (39) hide show
  1. package/README.md +41 -0
  2. package/dist/components/Table/Table.svelte +132 -94
  3. package/dist/components/Table/Table.svelte.d.ts +2 -0
  4. package/dist/components/Table/TableFilter.svelte +50 -5
  5. package/dist/components/Table/TablePagination.svelte +1 -1
  6. package/dist/components/Table/filter.js +43 -3
  7. package/dist/components/form/DropdownKvP.svelte +17 -2
  8. package/dist/components/form/DropdownKvP.svelte.d.ts +2 -0
  9. package/dist/components/form/NumberInput.svelte +2 -0
  10. package/dist/components/form/NumberInput.svelte.d.ts +1 -0
  11. package/dist/components/form/TextArea.svelte +2 -0
  12. package/dist/components/form/TextArea.svelte.d.ts +1 -0
  13. package/dist/components/form/TextInput.svelte +2 -0
  14. package/dist/components/form/TextInput.svelte.d.ts +1 -0
  15. package/dist/components/page/Alert.svelte +39 -0
  16. package/dist/components/page/Alert.svelte.d.ts +22 -0
  17. package/dist/components/spinner/Spinner.svelte +11 -1
  18. package/dist/components/spinner/Spinner.svelte.d.ts +9 -13
  19. package/dist/css/themes/theme-bexis2.css +3 -3
  20. package/dist/index.d.ts +4 -2
  21. package/dist/index.js +4 -1
  22. package/dist/models/Enums.d.ts +5 -0
  23. package/dist/models/Enums.js +6 -0
  24. package/dist/models/Models.d.ts +18 -0
  25. package/package.json +1 -1
  26. package/src/lib/components/Table/Table.svelte +230 -184
  27. package/src/lib/components/Table/TableFilter.svelte +50 -5
  28. package/src/lib/components/Table/TablePagination.svelte +1 -1
  29. package/src/lib/components/Table/filter.ts +141 -94
  30. package/src/lib/components/form/DropdownKvP.svelte +17 -2
  31. package/src/lib/components/form/NumberInput.svelte +2 -0
  32. package/src/lib/components/form/TextArea.svelte +2 -0
  33. package/src/lib/components/form/TextInput.svelte +3 -0
  34. package/src/lib/components/page/Alert.svelte +46 -0
  35. package/src/lib/components/spinner/Spinner.svelte +14 -1
  36. package/src/lib/css/themes/theme-bexis2.css +3 -3
  37. package/src/lib/index.ts +9 -3
  38. package/src/lib/models/Enums.ts +6 -0
  39. package/src/lib/models/Models.ts +102 -78
@@ -1,78 +1,102 @@
1
- import type { SvelteComponent } from 'svelte';
2
- import type { ColumnFilterFn } from 'svelte-headless-table/lib/plugins';
3
- import type { Writable } from 'svelte/store';
4
-
5
- // page
6
- export interface Link
7
- {
8
- label:string,
9
- url:string
10
- }
11
-
12
- // Form
13
- export interface Input {
14
- id: string;
15
- label: string;
16
- feedback: string[];
17
- invalid: boolean;
18
- valid: boolean;
19
- required: boolean;
20
- }
21
-
22
- export interface FileInfo {
23
- name: string;
24
- type: string;
25
- length: number;
26
- description: string;
27
- validationHash: string;
28
- }
29
-
30
- export interface FileUploaderModel {
31
- accept: string[];
32
- existingFiles: FileInfo[];
33
- descriptionType: number;
34
- multiple: boolean;
35
- maxSize: number;
36
- lastModification: Date;
37
- }
38
-
39
- export interface Files {
40
- accepted: Blob[];
41
- rejected: Blob[];
42
- }
43
-
44
- export type user = {
45
- name: string;
46
- };
47
-
48
- export interface FileObj {
49
- path: string;
50
- lastModified: number;
51
- lastModifiedDate: Date;
52
- name: string;
53
- size: number;
54
- type: string;
55
- webkitRelativePath: string;
56
- }
57
-
58
- // Table column type
59
- export interface Column {
60
- header?: string;
61
- exclude?: boolean;
62
- colFilterFn?: ColumnFilterFn;
63
- colFilterComponent?: typeof SvelteComponent;
64
- }
65
-
66
- export interface Columns {
67
- [key: string]: Column;
68
- }
69
-
70
- // Table config type
71
- export interface TableConfig<T> {
72
- id: string;
73
- data: Writable<T[]>;
74
- columns?: Columns;
75
- pageSizes?: number[];
76
- defaultPageSize?: number;
77
- optionsComponent?: typeof SvelteComponent;
78
- }
1
+ import type { SvelteComponent } from 'svelte';
2
+ import type { ColumnFilterFn } from 'svelte-headless-table/lib/plugins';
3
+ import type { Writable } from 'svelte/store';
4
+
5
+ // page
6
+ export interface Link
7
+ {
8
+ label:string,
9
+ url:string
10
+ }
11
+
12
+
13
+ // Form
14
+ export interface Input {
15
+ id: string;
16
+ label: string;
17
+ feedback: string[];
18
+ invalid: boolean;
19
+ valid: boolean;
20
+ required: boolean;
21
+ placeholder:string;
22
+ }
23
+
24
+ export interface FileInfo {
25
+ name: string;
26
+ type: string;
27
+ length: number;
28
+ description: string;
29
+ validationHash: string;
30
+ }
31
+
32
+ export interface FileUploaderModel {
33
+ accept: string[];
34
+ existingFiles: FileInfo[];
35
+ descriptionType: number;
36
+ multiple: boolean;
37
+ maxSize: number;
38
+ lastModification: Date;
39
+ }
40
+
41
+ export interface Files {
42
+ accepted: Blob[];
43
+ rejected: Blob[];
44
+ }
45
+
46
+ export type user = {
47
+ name: string;
48
+ };
49
+
50
+ export interface FileObj {
51
+ path: string;
52
+ lastModified: number;
53
+ lastModifiedDate: Date;
54
+ name: string;
55
+ size: number;
56
+ type: string;
57
+ webkitRelativePath: string;
58
+ }
59
+
60
+ export interface ColumnInstructions {
61
+ toStringFn?: (value: any) => string;
62
+ toSortableValueFn?: (value: any) => string | number;
63
+ toFilterableValueFn?: (value: any) => string | number | Date;
64
+ }
65
+
66
+ // Table column type
67
+ export interface Column {
68
+ header?: string;
69
+ exclude?: boolean; // false by default
70
+ instructions?: ColumnInstructions;
71
+ disableFiltering?: boolean; // false by default
72
+ disableSorting?: boolean; // false by default
73
+ colFilterFn?: ColumnFilterFn;
74
+ colFilterComponent?: typeof SvelteComponent;
75
+ }
76
+
77
+ export interface Columns {
78
+ [key: string]: Column;
79
+ }
80
+
81
+ // Table config type
82
+ export interface TableConfig<T> {
83
+ id: string;
84
+ data: Writable<T[]>;
85
+ columns?: Columns;
86
+ pageSizes?: number[];
87
+ defaultPageSize?: number;
88
+ optionsComponent?: typeof SvelteComponent;
89
+ }
90
+
91
+
92
+ // lists
93
+ export interface KvP {
94
+ id: number;
95
+ text: string;
96
+ }
97
+
98
+ export interface ListItem {
99
+ id: number;
100
+ text: string;
101
+ group: string;
102
+ }