@oscarpalmer/tabela 0.12.0 → 0.13.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 (160) hide show
  1. package/dist/body.component-_VDOpJhV.d.mts +10 -0
  2. package/dist/body.model-2iwsovAV.d.mts +7 -0
  3. package/dist/column.component-Bx46r3JI.d.mts +16 -0
  4. package/dist/column.model-D-aw4EU4.d.mts +16 -0
  5. package/dist/components/body.component.d.mts +2 -0
  6. package/dist/components/{body.component.js → body.component.mjs} +6 -3
  7. package/dist/components/column.component.d.mts +2 -0
  8. package/dist/components/{column.component.js → column.component.mjs} +8 -5
  9. package/dist/components/footer.component.d.mts +2 -0
  10. package/dist/components/{footer.component.js → footer.component.mjs} +7 -4
  11. package/dist/components/group.component.d.mts +2 -0
  12. package/dist/components/group.component.mjs +51 -0
  13. package/dist/components/header.component.d.mts +2 -0
  14. package/dist/components/{header.component.js → header.component.mjs} +6 -3
  15. package/dist/components/row.component.d.mts +2 -0
  16. package/dist/components/{row.component.js → row.component.mjs} +11 -7
  17. package/dist/filter.model-7ukJrtil.d.mts +16 -0
  18. package/dist/footer.component-Curiab8j.d.mts +12 -0
  19. package/dist/footer.model-DhqoS6ds.d.mts +8 -0
  20. package/dist/group.component-Cq1YYbfJ.d.mts +285 -0
  21. package/dist/group.model-BsKFwHbt.d.mts +10 -0
  22. package/dist/header.component-BjjlpZIg.d.mts +12 -0
  23. package/dist/header.model-DN_KzUCV.d.mts +7 -0
  24. package/dist/helpers/dom.helpers.d.mts +12 -0
  25. package/dist/helpers/{dom.helpers.js → dom.helpers.mjs} +13 -9
  26. package/dist/helpers/misc.helpers.d.mts +6 -0
  27. package/dist/helpers/{misc.helpers.js → misc.helpers.mjs} +3 -1
  28. package/dist/helpers/style.helper.d.mts +6 -0
  29. package/dist/helpers/style.helper.mjs +8 -0
  30. package/dist/index.d.mts +7 -0
  31. package/dist/{index.js → index.mjs} +3 -1
  32. package/dist/managers/column.manager.d.mts +2 -0
  33. package/dist/managers/{column.manager.js → column.manager.mjs} +6 -1
  34. package/dist/managers/data.manager.d.mts +2 -0
  35. package/dist/managers/data.manager.mjs +222 -0
  36. package/dist/managers/event.manager.d.mts +2 -0
  37. package/dist/managers/{event.manager.js → event.manager.mjs} +9 -8
  38. package/dist/managers/filter.manager.d.mts +2 -0
  39. package/dist/managers/{filter.manager.js → filter.manager.mjs} +23 -14
  40. package/dist/managers/group.manager.d.mts +2 -0
  41. package/dist/managers/group.manager.mjs +73 -0
  42. package/dist/managers/navigation.manager.d.mts +2 -0
  43. package/dist/managers/{navigation.manager.js → navigation.manager.mjs} +27 -24
  44. package/dist/managers/render.manager.d.mts +2 -0
  45. package/dist/managers/{render.manager.js → render.manager.mjs} +35 -26
  46. package/dist/managers/row.manager.d.mts +2 -0
  47. package/dist/managers/{row.manager.js → row.manager.mjs} +18 -11
  48. package/dist/managers/selection.manager.d.mts +2 -0
  49. package/dist/managers/{selection.manager.js → selection.manager.mjs} +32 -28
  50. package/dist/managers/sort.manager.d.mts +2 -0
  51. package/dist/managers/{sort.manager.js → sort.manager.mjs} +12 -9
  52. package/dist/managers/style.manager.d.mts +2 -0
  53. package/dist/managers/style.manager.mjs +149 -0
  54. package/dist/models/body.model.d.mts +2 -0
  55. package/dist/models/body.model.mjs +1 -0
  56. package/dist/models/column.model.d.mts +2 -0
  57. package/dist/models/column.model.mjs +1 -0
  58. package/dist/models/data.model.d.mts +2 -0
  59. package/dist/models/data.model.mjs +1 -0
  60. package/dist/models/filter.model.d.mts +2 -0
  61. package/dist/models/filter.model.mjs +1 -0
  62. package/dist/models/footer.model.d.mts +2 -0
  63. package/dist/models/footer.model.mjs +1 -0
  64. package/dist/models/group.model.d.mts +2 -0
  65. package/dist/models/group.model.mjs +1 -0
  66. package/dist/models/header.model.d.mts +2 -0
  67. package/dist/models/header.model.mjs +1 -0
  68. package/dist/models/render.model.d.mts +2 -0
  69. package/dist/models/render.model.mjs +1 -0
  70. package/dist/models/selection.model.d.mts +2 -0
  71. package/dist/models/selection.model.mjs +1 -0
  72. package/dist/models/sort.model.d.mts +2 -0
  73. package/dist/models/sort.model.mjs +1 -0
  74. package/dist/models/style.model.d.mts +23 -0
  75. package/dist/models/style.model.mjs +23 -0
  76. package/dist/models/tabela.model.d.mts +2 -0
  77. package/dist/models/tabela.model.mjs +1 -0
  78. package/dist/models/tabela.options.d.mts +2 -0
  79. package/dist/models/tabela.options.mjs +1 -0
  80. package/dist/selection.model-rwQe9fco.d.mts +12 -0
  81. package/dist/sort.model-CauImaLu.d.mts +15 -0
  82. package/dist/tabela.d.mts +21 -0
  83. package/dist/{tabela.full.js → tabela.full.mjs} +1073 -756
  84. package/dist/tabela.mjs +126 -0
  85. package/dist/tabela.options-RkZvfptB.d.mts +14 -0
  86. package/package.json +45 -37
  87. package/src/components/body.component.ts +4 -3
  88. package/src/components/column.component.ts +13 -18
  89. package/src/components/footer.component.ts +8 -3
  90. package/src/components/group.component.ts +48 -6
  91. package/src/components/header.component.ts +3 -2
  92. package/src/components/row.component.ts +8 -6
  93. package/src/helpers/dom.helpers.ts +21 -19
  94. package/src/helpers/style.helper.ts +1 -1
  95. package/src/managers/column.manager.ts +4 -0
  96. package/src/managers/data.manager.ts +170 -100
  97. package/src/managers/event.manager.ts +9 -10
  98. package/src/managers/filter.manager.ts +23 -12
  99. package/src/managers/group.manager.ts +63 -11
  100. package/src/managers/navigation.manager.ts +23 -22
  101. package/src/managers/render.manager.ts +43 -29
  102. package/src/managers/row.manager.ts +21 -9
  103. package/src/managers/selection.manager.ts +28 -21
  104. package/src/managers/sort.manager.ts +22 -20
  105. package/src/managers/style.manager.ts +156 -0
  106. package/src/models/data.model.ts +11 -8
  107. package/src/models/group.model.ts +6 -2
  108. package/src/models/style.model.ts +39 -0
  109. package/src/models/tabela.model.ts +10 -8
  110. package/src/tabela.ts +65 -33
  111. package/dist/components/group.component.js +0 -28
  112. package/dist/helpers/style.helper.js +0 -6
  113. package/dist/managers/data.manager.js +0 -181
  114. package/dist/managers/group.manager.js +0 -46
  115. package/dist/models/body.model.js +0 -0
  116. package/dist/models/column.model.js +0 -0
  117. package/dist/models/data.model.js +0 -0
  118. package/dist/models/filter.model.js +0 -0
  119. package/dist/models/footer.model.js +0 -0
  120. package/dist/models/group.model.js +0 -0
  121. package/dist/models/header.model.js +0 -0
  122. package/dist/models/render.model.js +0 -0
  123. package/dist/models/selection.model.js +0 -0
  124. package/dist/models/sort.model.js +0 -0
  125. package/dist/models/tabela.model.js +0 -0
  126. package/dist/models/tabela.options.js +0 -0
  127. package/dist/tabela.js +0 -105
  128. package/types/components/body.component.d.ts +0 -6
  129. package/types/components/column.component.d.ts +0 -13
  130. package/types/components/footer.component.d.ts +0 -8
  131. package/types/components/group.component.d.ts +0 -14
  132. package/types/components/header.component.d.ts +0 -8
  133. package/types/components/row.component.d.ts +0 -11
  134. package/types/helpers/dom.helpers.d.ts +0 -10
  135. package/types/helpers/misc.helpers.d.ts +0 -2
  136. package/types/helpers/style.helper.d.ts +0 -1
  137. package/types/index.d.ts +0 -4
  138. package/types/managers/column.manager.d.ts +0 -12
  139. package/types/managers/data.manager.d.ts +0 -29
  140. package/types/managers/event.manager.d.ts +0 -7
  141. package/types/managers/filter.manager.d.ts +0 -19
  142. package/types/managers/group.manager.d.ts +0 -17
  143. package/types/managers/navigation.manager.d.ts +0 -10
  144. package/types/managers/render.manager.d.ts +0 -17
  145. package/types/managers/row.manager.d.ts +0 -13
  146. package/types/managers/selection.manager.d.ts +0 -24
  147. package/types/managers/sort.manager.d.ts +0 -28
  148. package/types/models/body.model.d.ts +0 -4
  149. package/types/models/column.model.d.ts +0 -13
  150. package/types/models/data.model.d.ts +0 -24
  151. package/types/models/filter.model.d.ts +0 -13
  152. package/types/models/footer.model.d.ts +0 -5
  153. package/types/models/group.model.d.ts +0 -4
  154. package/types/models/header.model.d.ts +0 -4
  155. package/types/models/render.model.d.ts +0 -13
  156. package/types/models/selection.model.d.ts +0 -8
  157. package/types/models/sort.model.d.ts +0 -12
  158. package/types/models/tabela.model.d.ts +0 -39
  159. package/types/models/tabela.options.d.ts +0 -10
  160. package/types/tabela.d.ts +0 -15
@@ -1,13 +0,0 @@
1
- export type Column = {
2
- field: string;
3
- title: string;
4
- type: TabelaColumnType;
5
- width: number;
6
- };
7
- export type TabelaColumn = {
8
- field: string;
9
- title: string;
10
- type: TabelaColumnType;
11
- width?: number;
12
- };
13
- export type TabelaColumnType = 'boolean' | 'date' | 'date-time' | 'number' | 'string' | 'time';
@@ -1,24 +0,0 @@
1
- import type { Key, PlainObject } from '@oscarpalmer/atoms/models';
2
- import type { GroupComponent } from '../components/group.component';
3
- export type DataValues = {
4
- keys: DataValuesKeys;
5
- objects: DataValuesObjects;
6
- };
7
- type DataValuesKeys = {
8
- active?: Array<GroupComponent | Key>;
9
- original: Array<GroupComponent | Key>;
10
- };
11
- type DataValuesObjects = {
12
- array: Array<GroupComponent | PlainObject>;
13
- mapped: Map<Key, PlainObject>;
14
- };
15
- export type TabelaData = {
16
- add(data: PlainObject[]): void;
17
- clear(): void;
18
- get(active?: boolean): PlainObject[];
19
- remove(keys: Key[]): void;
20
- remove(data: PlainObject[]): void;
21
- synchronize(data: PlainObject[], remove?: boolean): void;
22
- update(data: PlainObject[]): void;
23
- };
24
- export {};
@@ -1,13 +0,0 @@
1
- export type TabelaFilter = {
2
- add(item: TabelaFilterItem): void;
3
- clear(): void;
4
- remove(field: string): void;
5
- remove(item: TabelaFilterItem): void;
6
- set(items: TabelaFilterItem[]): void;
7
- };
8
- export type TabelaFilterComparison = 'contains' | 'ends-with' | 'equals' | 'greater-than' | 'greater-than-or-equal' | 'less-than' | 'less-than-or-equal' | 'not-contains' | 'not-equals' | 'starts-with';
9
- export type TabelaFilterItem = {
10
- comparison: TabelaFilterComparison;
11
- field: string;
12
- value: unknown;
13
- };
@@ -1,5 +0,0 @@
1
- export type FooterElements = {
2
- cells: HTMLDivElement[];
3
- group: HTMLDivElement;
4
- row: HTMLDivElement;
5
- };
@@ -1,4 +0,0 @@
1
- export type TabelaGroup = {
2
- label: string;
3
- value: unknown;
4
- };
@@ -1,4 +0,0 @@
1
- export type HeaderElements = {
2
- group: HTMLDivElement;
3
- row: HTMLDivElement;
4
- };
@@ -1,13 +0,0 @@
1
- import type { State } from './tabela.model';
2
- export type RenderElementPool = {
3
- cells: Record<string, HTMLDivElement[]>;
4
- rows: HTMLDivElement[];
5
- };
6
- export type RenderRange = {
7
- end: number;
8
- start: number;
9
- };
10
- export type RenderState = {
11
- active: boolean;
12
- top: number;
13
- } & State;
@@ -1,8 +0,0 @@
1
- import type { Key } from '@oscarpalmer/atoms/models';
2
- export type TabelaSelection = {
3
- add(keys: Key[]): void;
4
- clear(): void;
5
- remove(keys: Key[]): void;
6
- set(keys: Key[]): void;
7
- toggle(): void;
8
- };
@@ -1,12 +0,0 @@
1
- export type TabelaSort = {
2
- add(field: string, direction?: TabelaSortDirection): void;
3
- clear(): void;
4
- flip(field: string): void;
5
- remove(field: string): void;
6
- set(items: TabelaSortItem[]): void;
7
- };
8
- export type TabelaSortDirection = 'ascending' | 'descending';
9
- export type TabelaSortItem = {
10
- direction: TabelaSortDirection;
11
- field: string;
12
- };
@@ -1,39 +0,0 @@
1
- import type { BodyComponent } from '../components/body.component';
2
- import type { FooterComponent } from '../components/footer.component';
3
- import type { HeaderComponent } from '../components/header.component';
4
- import type { ColumnManager } from '../managers/column.manager';
5
- import type { DataManager } from '../managers/data.manager';
6
- import type { EventManager } from '../managers/event.manager';
7
- import type { FilterManager } from '../managers/filter.manager';
8
- import type { GroupManager } from '../managers/group.manager';
9
- import type { NavigationManager } from '../managers/navigation.manager';
10
- import type { RenderManager } from '../managers/render.manager';
11
- import type { RowManager } from '../managers/row.manager';
12
- import type { SelectionManager } from '../managers/selection.manager';
13
- import type { SortManager } from '../managers/sort.manager';
14
- import type { TabelaOptions } from './tabela.options';
15
- export type Components = {
16
- body: BodyComponent;
17
- footer: FooterComponent;
18
- header: HeaderComponent;
19
- };
20
- export type Managers = {
21
- column: ColumnManager;
22
- data: DataManager;
23
- event: EventManager;
24
- filter: FilterManager;
25
- group: GroupManager;
26
- navigation: NavigationManager;
27
- row: RowManager;
28
- selection: SelectionManager;
29
- sort: SortManager;
30
- render: RenderManager;
31
- };
32
- export type State = {
33
- readonly components: Components;
34
- readonly element: HTMLElement;
35
- readonly id: number;
36
- readonly key: string;
37
- readonly managers: Managers;
38
- readonly options: TabelaOptions;
39
- };
@@ -1,10 +0,0 @@
1
- import type { PlainObject } from '@oscarpalmer/atoms/models';
2
- import type { TabelaColumn } from './column.model';
3
- export type TabelaOptions = {
4
- columns: TabelaColumn[];
5
- data: PlainObject[];
6
- grouping?: string;
7
- key: string;
8
- label: string;
9
- rowHeight: number;
10
- };
package/types/tabela.d.ts DELETED
@@ -1,15 +0,0 @@
1
- import type { TabelaData } from './models/data.model';
2
- import type { TabelaFilter } from './models/filter.model';
3
- import type { TabelaSelection } from './models/selection.model';
4
- import type { TabelaSort } from './models/sort.model';
5
- import type { TabelaOptions } from './models/tabela.options';
6
- export declare class Tabela {
7
- #private;
8
- readonly data: TabelaData;
9
- readonly filter: TabelaFilter;
10
- readonly selection: TabelaSelection;
11
- readonly sort: TabelaSort;
12
- get key(): string;
13
- constructor(element: HTMLElement, options: TabelaOptions);
14
- destroy(): void;
15
- }