@oscarpalmer/tabela 0.13.0 → 0.15.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 (108) hide show
  1. package/dist/components/body.component.d.mts +10 -1
  2. package/dist/components/body.component.mjs +8 -6
  3. package/dist/components/column.component.d.mts +15 -1
  4. package/dist/components/column.component.mjs +12 -10
  5. package/dist/components/footer.component.d.mts +12 -1
  6. package/dist/components/footer.component.mjs +6 -6
  7. package/dist/components/group.component.d.mts +19 -1
  8. package/dist/components/group.component.mjs +17 -11
  9. package/dist/components/header.component.d.mts +12 -1
  10. package/dist/components/header.component.mjs +5 -5
  11. package/dist/components/row.component.d.mts +14 -1
  12. package/dist/components/row.component.mjs +21 -17
  13. package/dist/helpers/dom.helpers.d.mts +3 -3
  14. package/dist/helpers/dom.helpers.mjs +12 -11
  15. package/dist/helpers/misc.helpers.d.mts +7 -1
  16. package/dist/helpers/misc.helpers.mjs +12 -1
  17. package/dist/index.d.mts +1 -1
  18. package/dist/managers/column.manager.d.mts +16 -1
  19. package/dist/managers/column.manager.mjs +7 -7
  20. package/dist/managers/data.manager.d.mts +26 -1
  21. package/dist/managers/data.manager.mjs +122 -88
  22. package/dist/managers/event.manager.d.mts +17 -1
  23. package/dist/managers/event.manager.mjs +35 -10
  24. package/dist/managers/filter.manager.d.mts +17 -1
  25. package/dist/managers/filter.manager.mjs +43 -35
  26. package/dist/managers/group.manager.d.mts +26 -1
  27. package/dist/managers/group.manager.mjs +36 -16
  28. package/dist/managers/navigation.manager.d.mts +15 -2
  29. package/dist/managers/navigation.manager.mjs +38 -34
  30. package/dist/managers/render.manager.d.mts +18 -1
  31. package/dist/managers/render.manager.mjs +44 -31
  32. package/dist/managers/row.manager.d.mts +18 -1
  33. package/dist/managers/row.manager.mjs +1 -1
  34. package/dist/managers/selection.manager.d.mts +22 -1
  35. package/dist/managers/selection.manager.mjs +26 -23
  36. package/dist/managers/sort.manager.d.mts +22 -1
  37. package/dist/managers/sort.manager.mjs +71 -49
  38. package/dist/managers/style.manager.d.mts +8 -1
  39. package/dist/managers/style.manager.mjs +57 -25
  40. package/dist/models/body.model.d.mts +6 -1
  41. package/dist/models/column.model.d.mts +13 -2
  42. package/dist/models/data.model.d.mts +28 -2
  43. package/dist/models/dom.model.d.mts +19 -0
  44. package/dist/models/dom.model.mjs +19 -0
  45. package/dist/models/event.model.d.mts +99 -0
  46. package/dist/models/event.model.mjs +53 -0
  47. package/dist/models/filter.model.d.mts +26 -2
  48. package/dist/models/filter.model.mjs +13 -1
  49. package/dist/models/footer.model.d.mts +7 -1
  50. package/dist/models/group.model.d.mts +19 -2
  51. package/dist/models/group.model.mjs +5 -1
  52. package/dist/models/header.model.d.mts +6 -1
  53. package/dist/models/render.model.d.mts +22 -2
  54. package/dist/models/selection.model.d.mts +11 -1
  55. package/dist/models/sort.model.d.mts +19 -2
  56. package/dist/models/sort.model.mjs +5 -1
  57. package/dist/models/style.model.d.mts +27 -21
  58. package/dist/models/style.model.mjs +27 -21
  59. package/dist/models/tabela.model.d.mts +45 -1
  60. package/dist/models/tabela.options.d.mts +13 -1
  61. package/dist/tabela.d.mts +9 -8
  62. package/dist/tabela.full.mjs +1083 -574
  63. package/dist/tabela.mjs +19 -19
  64. package/package.json +2 -4
  65. package/src/components/body.component.ts +10 -7
  66. package/src/components/column.component.ts +20 -16
  67. package/src/components/footer.component.ts +7 -10
  68. package/src/components/group.component.ts +39 -13
  69. package/src/components/header.component.ts +6 -5
  70. package/src/components/row.component.ts +27 -19
  71. package/src/helpers/dom.helpers.ts +18 -22
  72. package/src/helpers/misc.helpers.ts +17 -0
  73. package/src/managers/column.manager.ts +9 -9
  74. package/src/managers/data.manager.ts +196 -107
  75. package/src/managers/event.manager.ts +69 -12
  76. package/src/managers/filter.manager.ts +70 -41
  77. package/src/managers/group.manager.ts +60 -18
  78. package/src/managers/navigation.manager.ts +46 -49
  79. package/src/managers/render.manager.ts +60 -34
  80. package/src/managers/row.manager.ts +1 -1
  81. package/src/managers/selection.manager.ts +37 -35
  82. package/src/managers/sort.manager.ts +114 -72
  83. package/src/managers/style.manager.ts +73 -25
  84. package/src/models/column.model.ts +4 -8
  85. package/src/models/data.model.ts +13 -14
  86. package/src/models/dom.model.ts +31 -0
  87. package/src/models/event.model.ts +175 -0
  88. package/src/models/filter.model.ts +22 -2
  89. package/src/models/group.model.ts +13 -0
  90. package/src/models/render.model.ts +6 -0
  91. package/src/models/sort.model.ts +11 -5
  92. package/src/models/style.model.ts +32 -20
  93. package/src/models/tabela.model.ts +1 -0
  94. package/src/tabela.ts +26 -24
  95. package/dist/body.component-_VDOpJhV.d.mts +0 -10
  96. package/dist/body.model-2iwsovAV.d.mts +0 -7
  97. package/dist/column.component-Bx46r3JI.d.mts +0 -16
  98. package/dist/column.model-D-aw4EU4.d.mts +0 -16
  99. package/dist/filter.model-7ukJrtil.d.mts +0 -16
  100. package/dist/footer.component-Curiab8j.d.mts +0 -12
  101. package/dist/footer.model-DhqoS6ds.d.mts +0 -8
  102. package/dist/group.component-Cq1YYbfJ.d.mts +0 -285
  103. package/dist/group.model-BsKFwHbt.d.mts +0 -10
  104. package/dist/header.component-BjjlpZIg.d.mts +0 -12
  105. package/dist/header.model-DN_KzUCV.d.mts +0 -7
  106. package/dist/selection.model-rwQe9fco.d.mts +0 -12
  107. package/dist/sort.model-CauImaLu.d.mts +0 -15
  108. package/dist/tabela.options-RkZvfptB.d.mts +0 -14
@@ -1,285 +0,0 @@
1
- import { t as BodyComponent } from "./body.component-_VDOpJhV.mjs";
2
- import { n as TabelaColumn } from "./column.model-D-aw4EU4.mjs";
3
- import { t as ColumnComponent } from "./column.component-Bx46r3JI.mjs";
4
- import { t as FooterComponent } from "./footer.component-Curiab8j.mjs";
5
- import { t as GroupValue } from "./group.model-BsKFwHbt.mjs";
6
- import { t as HeaderComponent } from "./header.component-BjjlpZIg.mjs";
7
- import { r as TabelaFilterItem } from "./filter.model-7ukJrtil.mjs";
8
- import { n as TabelaSortDirection, r as TabelaSortItem } from "./sort.model-CauImaLu.mjs";
9
- import { t as TabelaOptions } from "./tabela.options-RkZvfptB.mjs";
10
- import { Key, PlainObject } from "@oscarpalmer/atoms/models";
11
- import { RemovableEventListener } from "@oscarpalmer/toretto/models";
12
-
13
- //#region src/managers/column.manager.d.ts
14
- declare class ColumnManager {
15
- state: State;
16
- items: ColumnComponent[];
17
- constructor(state: State);
18
- destroy(): void;
19
- get(field: string): ColumnComponent | undefined;
20
- remove(field: string): void;
21
- remove(fields: string[]): void;
22
- set(columns: TabelaColumn[]): void;
23
- }
24
- //#endregion
25
- //#region src/models/data.model.d.ts
26
- type DataItem = GroupComponent | Key;
27
- type DataItems = {
28
- active?: Array<DataItem>;
29
- original: Array<DataItem>;
30
- };
31
- type DataState = {
32
- items: DataItems;
33
- values: DataValues;
34
- } & State;
35
- type DataValues = {
36
- array: Array<GroupComponent | PlainObject>;
37
- mapped: Map<Key, PlainObject>;
38
- };
39
- type TabelaData = {
40
- add(data: PlainObject[]): void;
41
- clear(): void;
42
- get(active?: boolean): PlainObject[];
43
- remove(keys: Key[]): void;
44
- remove(data: PlainObject[]): void;
45
- synchronize(data: PlainObject[], remove?: boolean): void;
46
- update(data: PlainObject[]): void;
47
- };
48
- //#endregion
49
- //#region src/managers/data.manager.d.ts
50
- declare class DataManager {
51
- handlers: Readonly<{
52
- add: (data: PlainObject[]) => undefined;
53
- clear: () => undefined;
54
- get: (active: boolean | undefined) => PlainObject[];
55
- remove: (items: Key[] | PlainObject[]) => undefined;
56
- synchronize: (data: PlainObject[], remove: boolean | undefined) => undefined;
57
- update: (data: PlainObject[]) => undefined;
58
- }>;
59
- state: DataState;
60
- get items(): DataItem[];
61
- get size(): number;
62
- constructor(state: State);
63
- add(data: PlainObject[], render: boolean): Promise<void>;
64
- clear(): void;
65
- destroy(): void;
66
- get(active?: boolean): PlainObject[];
67
- getIndex(item: DataItem): number;
68
- remove(items: Array<Key | PlainObject>, render: boolean): Promise<void>;
69
- removeItems(items: DataItem[], clear: boolean, render: boolean): Promise<void>;
70
- render(): void;
71
- set(data: PlainObject[]): void;
72
- synchronize(data: PlainObject[], remove?: boolean): Promise<void>;
73
- update(data: PlainObject[]): Promise<void>;
74
- }
75
- //#endregion
76
- //#region src/managers/event.manager.d.ts
77
- declare class EventManager {
78
- state: State;
79
- constructor(state: State);
80
- destroy(): void;
81
- onSort(event: MouseEvent, target: HTMLElement): void;
82
- }
83
- //#endregion
84
- //#region src/managers/filter.manager.d.ts
85
- declare class FilterManager {
86
- state: State;
87
- handlers: Readonly<{
88
- add: (item: TabelaFilterItem) => void;
89
- clear: () => void;
90
- remove: (value: string | TabelaFilterItem) => void;
91
- set: (items: TabelaFilterItem[]) => void;
92
- }>;
93
- items: Record<string, TabelaFilterItem[]>;
94
- constructor(state: State);
95
- add(item: TabelaFilterItem): void;
96
- clear(): void;
97
- destroy(): void;
98
- filter(): void;
99
- remove(value: string | TabelaFilterItem): void;
100
- set(items: TabelaFilterItem[]): void;
101
- }
102
- //#endregion
103
- //#region src/managers/group.manager.d.ts
104
- declare class GroupManager {
105
- state: State;
106
- collapsed: Set<Key>;
107
- enabled: boolean;
108
- field: string;
109
- handlers: Readonly<{
110
- set: (group?: string) => void;
111
- }>;
112
- items: GroupComponent[];
113
- order: Record<never, number>;
114
- constructor(state: State);
115
- add(group: GroupComponent): void;
116
- clear(): void;
117
- destroy(): void;
118
- get(value: unknown): GroupComponent | undefined;
119
- handle(button: HTMLElement): void;
120
- remove(group: GroupComponent): void;
121
- set(items: GroupComponent[]): void;
122
- }
123
- //#endregion
124
- //#region src/managers/navigation.manager.d.ts
125
- declare class NavigationManager {
126
- state: State;
127
- active: DataItem | undefined;
128
- constructor(state: State);
129
- destroy(): void;
130
- handle(event: KeyboardEvent): void;
131
- setActive(item: DataItem | undefined, scroll?: boolean): void;
132
- }
133
- //#endregion
134
- //#region src/models/render.model.d.ts
135
- type RenderElementPool = {
136
- cells: Record<string, HTMLDivElement[]>;
137
- rows: HTMLDivElement[];
138
- };
139
- type RenderRange = {
140
- end: number;
141
- start: number;
142
- };
143
- type RenderState = {
144
- active: boolean;
145
- top: number;
146
- } & State;
147
- //#endregion
148
- //#region src/managers/render.manager.d.ts
149
- declare class RenderManager {
150
- fragment: DocumentFragment;
151
- listener: RemovableEventListener;
152
- pool: RenderElementPool;
153
- state: RenderState;
154
- visible: Map<number, DataItem>;
155
- constructor(state: State);
156
- destroy(): void;
157
- removeCells(fields: string[]): void;
158
- getFragment(): DocumentFragment;
159
- update(down: boolean, rerender?: boolean): void;
160
- }
161
- //#endregion
162
- //#region src/components/row.component.d.ts
163
- declare function removeRow(pool: RenderElementPool, row: RowComponent): void;
164
- declare function renderRow(state: State, row: RowComponent): void;
165
- declare class RowComponent {
166
- readonly key: Key;
167
- cells: Record<string, HTMLDivElement>;
168
- element: HTMLDivElement | undefined;
169
- constructor(key: Key);
170
- }
171
- //#endregion
172
- //#region src/managers/row.manager.d.ts
173
- declare class RowManager {
174
- state: State;
175
- components: Map<Key, RowComponent>;
176
- constructor(state: State);
177
- clear(): void;
178
- destroy(): void;
179
- get(key: Key, create: boolean): RowComponent | undefined;
180
- has(key: Key): boolean;
181
- remove(key: Key): void;
182
- removeRow(row: RowComponent): void;
183
- update(key: Key): void;
184
- }
185
- //#endregion
186
- //#region src/managers/selection.manager.d.ts
187
- declare class SelectionManager {
188
- state: State;
189
- handlers: Readonly<{
190
- add: (keys: Key[]) => void;
191
- clear: () => void;
192
- remove: (keys: Key[]) => void;
193
- set: (keys: Key[]) => void;
194
- toggle: () => void;
195
- }>;
196
- items: Set<Key>;
197
- last: Key | undefined;
198
- constructor(state: State);
199
- add(keys: Key[]): void;
200
- clear(): void;
201
- destroy(): void;
202
- handle(event: MouseEvent, target: HTMLElement): void;
203
- range(from: Key | HTMLElement, to: Key | HTMLElement): void;
204
- remove(keys: Key[]): void;
205
- set(keys: Key[]): void;
206
- toggle(): void;
207
- update(removed: Key[]): void;
208
- }
209
- //#endregion
210
- //#region src/managers/sort.manager.d.ts
211
- declare class SortManager {
212
- state: State;
213
- handlers: Readonly<{
214
- add: (field: string, direction: TabelaSortDirection | undefined) => void;
215
- flip: (field: string) => void;
216
- clear: () => void;
217
- remove: (field: string) => void;
218
- set: (items: TabelaSortItem[]) => void;
219
- }>;
220
- items: PlainObject[];
221
- constructor(state: State);
222
- add(field: string, direction?: TabelaSortDirection): void;
223
- addOrSet(event: MouseEvent, field: string): void;
224
- clear(): void;
225
- destroy(): void;
226
- flip(field: string): void;
227
- remove(field: string): void;
228
- removeOrClear(event: MouseEvent, field: string): void;
229
- set(items: TabelaSortItem[]): void;
230
- sort(): void;
231
- toggle(event: MouseEvent, field: string, direction?: string | null): void;
232
- }
233
- declare function sortWithGroups(state: State, data: Array<GroupComponent | PlainObject>, sorters: PlainObject[]): Array<GroupComponent | PlainObject>;
234
- //#endregion
235
- //#region src/managers/style.manager.d.ts
236
- declare class StyleManager {
237
- readonly state: State;
238
- constructor(state: State);
239
- }
240
- //#endregion
241
- //#region src/models/tabela.model.d.ts
242
- type Components = {
243
- body: BodyComponent;
244
- footer: FooterComponent;
245
- header: HeaderComponent;
246
- };
247
- type Managers = {
248
- column: ColumnManager;
249
- data: DataManager;
250
- event: EventManager;
251
- filter: FilterManager;
252
- group: GroupManager;
253
- navigation: NavigationManager;
254
- render: RenderManager;
255
- row: RowManager;
256
- selection: SelectionManager;
257
- sort: SortManager;
258
- style: StyleManager;
259
- };
260
- type State = {
261
- components: Components;
262
- element: HTMLElement;
263
- id: number;
264
- key: string;
265
- managers: Managers;
266
- options: TabelaOptions;
267
- };
268
- //#endregion
269
- //#region src/components/group.component.d.ts
270
- declare class GroupComponent {
271
- readonly label: string;
272
- element: HTMLElement | undefined;
273
- expanded: boolean;
274
- filtered: number;
275
- readonly key: string;
276
- selected: number;
277
- total: number;
278
- readonly value: GroupValue;
279
- constructor(label: string, value: unknown);
280
- }
281
- declare function removeGroup(group: GroupComponent): void;
282
- declare function renderGroup(state: State, component: GroupComponent): void;
283
- declare function updateGroup(state: State, component: GroupComponent): void;
284
- //#endregion
285
- export { EventManager as C, TabelaData as D, DataState as E, ColumnManager as O, FilterManager as S, DataItem as T, RenderElementPool as _, Components as a, NavigationManager as b, StyleManager as c, SelectionManager as d, RowManager as f, RenderManager as g, renderRow as h, updateGroup as i, SortManager as l, removeRow as m, removeGroup as n, Managers as o, RowComponent as p, renderGroup as r, State as s, GroupComponent as t, sortWithGroups as u, RenderRange as v, DataManager as w, GroupManager as x, RenderState as y };
@@ -1,10 +0,0 @@
1
- //#region src/models/group.model.d.ts
2
- type GroupValue = {
3
- original: unknown;
4
- stringified: string;
5
- };
6
- type TabelaGroup = {
7
- set(group?: string): void;
8
- };
9
- //#endregion
10
- export { TabelaGroup as n, GroupValue as t };
@@ -1,12 +0,0 @@
1
- import { t as ColumnComponent } from "./column.component-Bx46r3JI.mjs";
2
- import { t as HeaderElements } from "./header.model-DN_KzUCV.mjs";
3
-
4
- //#region src/components/header.component.d.ts
5
- declare class HeaderComponent {
6
- readonly elements: HeaderElements;
7
- constructor();
8
- destroy(): void;
9
- update(columns: ColumnComponent[]): void;
10
- }
11
- //#endregion
12
- export { HeaderComponent as t };
@@ -1,7 +0,0 @@
1
- //#region src/models/header.model.d.ts
2
- type HeaderElements = {
3
- group: HTMLDivElement;
4
- row: HTMLDivElement;
5
- };
6
- //#endregion
7
- export { HeaderElements as t };
@@ -1,12 +0,0 @@
1
- import { Key } from "@oscarpalmer/atoms/models";
2
-
3
- //#region src/models/selection.model.d.ts
4
- type TabelaSelection = {
5
- add(keys: Key[]): void;
6
- clear(): void;
7
- remove(keys: Key[]): void;
8
- set(keys: Key[]): void;
9
- toggle(): void;
10
- };
11
- //#endregion
12
- export { TabelaSelection as t };
@@ -1,15 +0,0 @@
1
- //#region src/models/sort.model.d.ts
2
- type TabelaSort = {
3
- add(field: string, direction?: TabelaSortDirection): void;
4
- clear(): void;
5
- flip(field: string): void;
6
- remove(field: string): void;
7
- set(items: TabelaSortItem[]): void;
8
- };
9
- type TabelaSortDirection = 'ascending' | 'descending';
10
- type TabelaSortItem = {
11
- direction: TabelaSortDirection;
12
- field: string;
13
- };
14
- //#endregion
15
- export { TabelaSortDirection as n, TabelaSortItem as r, TabelaSort as t };
@@ -1,14 +0,0 @@
1
- import { n as TabelaColumn } from "./column.model-D-aw4EU4.mjs";
2
- import { PlainObject } from "@oscarpalmer/atoms/models";
3
-
4
- //#region src/models/tabela.options.d.ts
5
- type TabelaOptions = {
6
- columns: TabelaColumn[];
7
- data: PlainObject[];
8
- grouping?: string;
9
- key: string;
10
- label: string;
11
- rowHeight: number;
12
- };
13
- //#endregion
14
- export { TabelaOptions as t };