@polygrid/core 1.0.433 → 1.0.435

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 (140) hide show
  1. package/dist/api/index.d.ts +2 -0
  2. package/dist/api/index.d.ts.map +1 -1
  3. package/dist/api/index.js +2 -0
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/api/set-columns.js +1 -1
  6. package/dist/api/set-columns.js.map +1 -1
  7. package/dist/api/set-sort-settings.d.ts +4 -0
  8. package/dist/api/set-sort-settings.d.ts.map +1 -0
  9. package/dist/api/set-sort-settings.js +6 -0
  10. package/dist/api/set-sort-settings.js.map +1 -0
  11. package/dist/engine/const/pg-css-class.d.ts +1 -0
  12. package/dist/engine/const/pg-css-class.d.ts.map +1 -1
  13. package/dist/engine/const/pg-css-class.js +1 -0
  14. package/dist/engine/const/pg-css-class.js.map +1 -1
  15. package/dist/engine/const/pg-icons.d.ts +5 -0
  16. package/dist/engine/const/pg-icons.d.ts.map +1 -0
  17. package/dist/engine/const/pg-icons.js +5 -0
  18. package/dist/engine/const/pg-icons.js.map +1 -0
  19. package/dist/engine/core/grid.d.ts.map +1 -1
  20. package/dist/engine/core/grid.js +3 -0
  21. package/dist/engine/core/grid.js.map +1 -1
  22. package/dist/engine/core/interfaces/grid-options.d.ts +2 -0
  23. package/dist/engine/core/interfaces/grid-options.d.ts.map +1 -1
  24. package/dist/engine/core/methods/consume-options.d.ts.map +1 -1
  25. package/dist/engine/core/methods/consume-options.js +8 -1
  26. package/dist/engine/core/methods/consume-options.js.map +1 -1
  27. package/dist/engine/services/column/interfaces/column.d.ts +2 -0
  28. package/dist/engine/services/column/interfaces/column.d.ts.map +1 -1
  29. package/dist/engine/services/column/interfaces/internal-column.d.ts +3 -0
  30. package/dist/engine/services/column/interfaces/internal-column.d.ts.map +1 -1
  31. package/dist/engine/services/column/methods/normalize-columns.d.ts +2 -1
  32. package/dist/engine/services/column/methods/normalize-columns.d.ts.map +1 -1
  33. package/dist/engine/services/column/methods/normalize-columns.js +2 -1
  34. package/dist/engine/services/column/methods/normalize-columns.js.map +1 -1
  35. package/dist/engine/services/data/types/data-type.d.ts +2 -0
  36. package/dist/engine/services/data/types/data-type.d.ts.map +1 -0
  37. package/dist/engine/services/data/types/data-type.js +2 -0
  38. package/dist/engine/services/data/types/data-type.js.map +1 -0
  39. package/dist/engine/services/icon/icon.d.ts +22 -0
  40. package/dist/engine/services/icon/icon.d.ts.map +1 -0
  41. package/dist/engine/services/icon/icon.js +32 -0
  42. package/dist/engine/services/icon/icon.js.map +1 -0
  43. package/dist/engine/services/icon/index.d.ts +2 -0
  44. package/dist/engine/services/icon/index.d.ts.map +1 -0
  45. package/dist/engine/services/icon/index.js +2 -0
  46. package/dist/engine/services/icon/index.js.map +1 -0
  47. package/dist/engine/services/icon/methods/index.d.ts +2 -0
  48. package/dist/engine/services/icon/methods/index.d.ts.map +1 -0
  49. package/dist/engine/services/icon/methods/index.js +2 -0
  50. package/dist/engine/services/icon/methods/index.js.map +1 -0
  51. package/dist/engine/services/icon/methods/render-icon.d.ts +4 -0
  52. package/dist/engine/services/icon/methods/render-icon.d.ts.map +1 -0
  53. package/dist/engine/services/icon/methods/render-icon.js +22 -0
  54. package/dist/engine/services/icon/methods/render-icon.js.map +1 -0
  55. package/dist/engine/services/icon/types/icon-name.d.ts +3 -0
  56. package/dist/engine/services/icon/types/icon-name.d.ts.map +1 -0
  57. package/dist/engine/services/icon/types/icon-name.js +2 -0
  58. package/dist/engine/services/icon/types/icon-name.js.map +1 -0
  59. package/dist/engine/services/renderer/parts/footer/footer-cells.d.ts.map +1 -1
  60. package/dist/engine/services/renderer/parts/footer/footer-cells.js +26 -4
  61. package/dist/engine/services/renderer/parts/footer/footer-cells.js.map +1 -1
  62. package/dist/engine/services/renderer/parts/header/header-cells.d.ts.map +1 -1
  63. package/dist/engine/services/renderer/parts/header/header-cells.js +19 -0
  64. package/dist/engine/services/renderer/parts/header/header-cells.js.map +1 -1
  65. package/dist/engine/services/renderer/parts/header/resize-handle.d.ts.map +1 -1
  66. package/dist/engine/services/renderer/parts/header/resize-handle.js +7 -1
  67. package/dist/engine/services/renderer/parts/header/resize-handle.js.map +1 -1
  68. package/dist/engine/services/services.d.ts +4 -0
  69. package/dist/engine/services/services.d.ts.map +1 -1
  70. package/dist/engine/services/services.js +4 -0
  71. package/dist/engine/services/services.js.map +1 -1
  72. package/dist/engine/services/sort/index.d.ts +2 -0
  73. package/dist/engine/services/sort/index.d.ts.map +1 -0
  74. package/dist/engine/services/sort/index.js +2 -0
  75. package/dist/engine/services/sort/index.js.map +1 -0
  76. package/dist/engine/services/sort/interfaces/column-sorting-settings.d.ts +8 -0
  77. package/dist/engine/services/sort/interfaces/column-sorting-settings.d.ts.map +1 -0
  78. package/dist/engine/services/sort/interfaces/column-sorting-settings.js +2 -0
  79. package/dist/engine/services/sort/interfaces/column-sorting-settings.js.map +1 -0
  80. package/dist/engine/services/sort/interfaces/grid-sorting-settings.d.ts +5 -0
  81. package/dist/engine/services/sort/interfaces/grid-sorting-settings.d.ts.map +1 -0
  82. package/dist/engine/services/sort/interfaces/grid-sorting-settings.js +2 -0
  83. package/dist/engine/services/sort/interfaces/grid-sorting-settings.js.map +1 -0
  84. package/dist/engine/services/sort/methods/detect-column-data-type.d.ts +3 -0
  85. package/dist/engine/services/sort/methods/detect-column-data-type.d.ts.map +1 -0
  86. package/dist/engine/services/sort/methods/detect-column-data-type.js +19 -0
  87. package/dist/engine/services/sort/methods/detect-column-data-type.js.map +1 -0
  88. package/dist/engine/services/sort/methods/get-first-row-value.d.ts +4 -0
  89. package/dist/engine/services/sort/methods/get-first-row-value.d.ts.map +1 -0
  90. package/dist/engine/services/sort/methods/get-first-row-value.js +11 -0
  91. package/dist/engine/services/sort/methods/get-first-row-value.js.map +1 -0
  92. package/dist/engine/services/sort/methods/get-initial-sort-order.d.ts +4 -0
  93. package/dist/engine/services/sort/methods/get-initial-sort-order.d.ts.map +1 -0
  94. package/dist/engine/services/sort/methods/get-initial-sort-order.js +10 -0
  95. package/dist/engine/services/sort/methods/get-initial-sort-order.js.map +1 -0
  96. package/dist/engine/services/sort/methods/get-sort-icon-name.d.ts +4 -0
  97. package/dist/engine/services/sort/methods/get-sort-icon-name.d.ts.map +1 -0
  98. package/dist/engine/services/sort/methods/get-sort-icon-name.js +11 -0
  99. package/dist/engine/services/sort/methods/get-sort-icon-name.js.map +1 -0
  100. package/dist/engine/services/sort/methods/get-sorted-columns.d.ts +3 -0
  101. package/dist/engine/services/sort/methods/get-sorted-columns.d.ts.map +1 -0
  102. package/dist/engine/services/sort/methods/get-sorted-columns.js +7 -0
  103. package/dist/engine/services/sort/methods/get-sorted-columns.js.map +1 -0
  104. package/dist/engine/services/sort/methods/index.d.ts +9 -0
  105. package/dist/engine/services/sort/methods/index.d.ts.map +1 -0
  106. package/dist/engine/services/sort/methods/index.js +9 -0
  107. package/dist/engine/services/sort/methods/index.js.map +1 -0
  108. package/dist/engine/services/sort/methods/sort-column.d.ts +5 -0
  109. package/dist/engine/services/sort/methods/sort-column.d.ts.map +1 -0
  110. package/dist/engine/services/sort/methods/sort-column.js +38 -0
  111. package/dist/engine/services/sort/methods/sort-column.js.map +1 -0
  112. package/dist/engine/services/sort/methods/sort.d.ts +4 -0
  113. package/dist/engine/services/sort/methods/sort.d.ts.map +1 -0
  114. package/dist/engine/services/sort/methods/sort.js +7 -0
  115. package/dist/engine/services/sort/methods/sort.js.map +1 -0
  116. package/dist/engine/services/sort/methods/toggle-sort-order.d.ts +4 -0
  117. package/dist/engine/services/sort/methods/toggle-sort-order.d.ts.map +1 -0
  118. package/dist/engine/services/sort/methods/toggle-sort-order.js +18 -0
  119. package/dist/engine/services/sort/methods/toggle-sort-order.js.map +1 -0
  120. package/dist/engine/services/sort/sort.d.ts +23 -0
  121. package/dist/engine/services/sort/sort.d.ts.map +1 -0
  122. package/dist/engine/services/sort/sort.js +21 -0
  123. package/dist/engine/services/sort/sort.js.map +1 -0
  124. package/dist/engine/services/sort/types/sort-mode.d.ts +2 -0
  125. package/dist/engine/services/sort/types/sort-mode.d.ts.map +1 -0
  126. package/dist/engine/services/sort/types/sort-mode.js +2 -0
  127. package/dist/engine/services/sort/types/sort-mode.js.map +1 -0
  128. package/dist/engine/services/sort/types/sort-order.d.ts +2 -0
  129. package/dist/engine/services/sort/types/sort-order.d.ts.map +1 -0
  130. package/dist/engine/services/sort/types/sort-order.js +2 -0
  131. package/dist/engine/services/sort/types/sort-order.js.map +1 -0
  132. package/dist/engine/store/interfaces/view-state.d.ts +2 -0
  133. package/dist/engine/store/interfaces/view-state.d.ts.map +1 -1
  134. package/dist/engine/store/methods/create-initial-state.d.ts.map +1 -1
  135. package/dist/engine/store/methods/create-initial-state.js +1 -0
  136. package/dist/engine/store/methods/create-initial-state.js.map +1 -1
  137. package/dist/index.d.ts +4 -0
  138. package/dist/index.d.ts.map +1 -1
  139. package/dist/polygrid.css +8 -0
  140. package/package.json +1 -1
@@ -1,4 +1,7 @@
1
1
  import { PG_CSS_CLASS } from "../../../../const/pg-css-class";
2
+ import { addDomListener } from "../../../../core/methods";
3
+ import { renderIcon } from "../../../icon/methods";
4
+ import { sort } from "../../../sort/methods";
2
5
  import { renderResizeHandle } from "./resize-handle";
3
6
  export function renderHeaderCells(header, store, gridDom, grid) {
4
7
  const runtime = grid._runtime;
@@ -12,6 +15,10 @@ export function renderHeaderCells(header, store, gridDom, grid) {
12
15
  const cell = document.createElement("div");
13
16
  cell.className = PG_CSS_CLASS.headerCell;
14
17
  cell.setAttribute("col-id", col.id);
18
+ cell.classList.toggle("sortable", !!col.sortable);
19
+ cell.setAttribute("sortdir", col.sortOrder);
20
+ // click handler for sorting
21
+ addDomListener(gridDom, cell, "click", (ev) => sort(col, ev, grid._services.sort));
15
22
  // Create content container
16
23
  const content = document.createElement("div");
17
24
  content.className = PG_CSS_CLASS.headerCellContent;
@@ -63,6 +70,18 @@ export function renderHeaderCells(header, store, gridDom, grid) {
63
70
  }
64
71
  // Store container for future updates (sorting, classes, etc.)
65
72
  runtime.headerContainers.set(col.id, cell);
73
+ // add subscription for sort icon rendering
74
+ const iconContainer = document.createElement("span");
75
+ const unsubscribe = grid._services.sort
76
+ .sortOrderForColumn(i)
77
+ .subscribe((sortOrder) => {
78
+ const iconName = grid._services.sort.getSortIconName(sortOrder);
79
+ const iconNode = renderIcon(grid._services.icon, iconName);
80
+ iconContainer.replaceChildren(iconNode ?? "");
81
+ cell.setAttribute("sortdir", sortOrder);
82
+ });
83
+ grid._destroy$.subscribe(() => unsubscribe());
84
+ cell.appendChild(iconContainer);
66
85
  header.appendChild(cell);
67
86
  });
68
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"header-cells.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/header/header-cells.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"header-cells.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/header/header-cells.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resize-handle.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/header/resize-handle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,MAAM,QASd"}
1
+ {"version":3,"file":"resize-handle.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/header/resize-handle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,MAAM,QAcd"}
@@ -5,6 +5,12 @@ export function renderResizeHandle(cell, gridDom, store, colId) {
5
5
  const resizeHandle = document.createElement("div");
6
6
  resizeHandle.className = PG_CSS_CLASS.headerResizeHandle;
7
7
  cell.appendChild(resizeHandle);
8
- addDomListener(gridDom, resizeHandle, "mousedown", (ev) => startResize(ev, store, colId, gridDom));
8
+ addDomListener(gridDom, resizeHandle, "mousedown", (ev) => {
9
+ ev.stopPropagation();
10
+ startResize(ev, store, colId, gridDom);
11
+ });
12
+ addDomListener(gridDom, resizeHandle, "click", (ev) => {
13
+ ev.stopPropagation();
14
+ });
9
15
  }
10
16
  //# sourceMappingURL=resize-handle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resize-handle.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/header/resize-handle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,UAAU,kBAAkB,CAChC,IAAoB,EACpB,OAAgB,EAChB,KAAoB,EACpB,KAAa;IAEb,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnD,YAAY,CAAC,SAAS,GAAG,YAAY,CAAC,kBAAkB,CAAC;IACzD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAE/B,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CACxD,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CACvC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"resize-handle.js","sourceRoot":"","sources":["../../../../../../src/engine/services/renderer/parts/header/resize-handle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,UAAU,kBAAkB,CAChC,IAAoB,EACpB,OAAgB,EAChB,KAAoB,EACpB,KAAa;IAEb,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACnD,YAAY,CAAC,SAAS,GAAG,YAAY,CAAC,kBAAkB,CAAC;IACzD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAE/B,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE;QACxD,EAAE,CAAC,eAAe,EAAE,CAAC;QACrB,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE;QACpD,EAAE,CAAC,eAAe,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -8,6 +8,8 @@ import { LoadingService } from "./loading";
8
8
  import { LogService } from "./log";
9
9
  import { ErrorService } from "./error";
10
10
  import { FilterService } from "./filter";
11
+ import { SortService } from "./sort";
12
+ import { IconService } from "./icon";
11
13
  export declare class PolyGridServices {
12
14
  private grid;
13
15
  layout: LayoutService;
@@ -19,6 +21,8 @@ export declare class PolyGridServices {
19
21
  log: LogService;
20
22
  error: ErrorService;
21
23
  filter: FilterService;
24
+ sort: SortService;
25
+ icon: IconService;
22
26
  constructor(grid: PolyGrid);
23
27
  }
24
28
  //# sourceMappingURL=services.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../../src/engine/services/services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAAW;IAEvB,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,EAAE,UAAU,CAAC;IAChB,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,cAAc,CAAC;IACxB,GAAG,EAAE,UAAU,CAAC;IAChB,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;gBAEV,IAAI,EAAE,QAAQ;CAa3B"}
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../../src/engine/services/services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAAW;IAEvB,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,aAAa,CAAC;IACtB,GAAG,EAAE,UAAU,CAAC;IAChB,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,cAAc,CAAC;IACxB,GAAG,EAAE,UAAU,CAAC;IAChB,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;gBAEN,IAAI,EAAE,QAAQ;CAe3B"}
@@ -7,6 +7,8 @@ import { LoadingService } from "./loading";
7
7
  import { LogService } from "./log";
8
8
  import { ErrorService } from "./error";
9
9
  import { FilterService } from "./filter";
10
+ import { SortService } from "./sort";
11
+ import { IconService } from "./icon";
10
12
  export class PolyGridServices {
11
13
  constructor(grid) {
12
14
  this.grid = grid;
@@ -19,6 +21,8 @@ export class PolyGridServices {
19
21
  this.log = new LogService(this.grid);
20
22
  this.error = new ErrorService(this.grid);
21
23
  this.filter = new FilterService(this.grid);
24
+ this.sort = new SortService(this.grid);
25
+ this.icon = new IconService(this.grid);
22
26
  }
23
27
  }
24
28
  //# sourceMappingURL=services.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sourceRoot":"","sources":["../../../src/engine/services/services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,OAAO,gBAAgB;IAa3B,YAAY,IAAc;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;CACF"}
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../../../src/engine/services/services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,MAAM,OAAO,gBAAgB;IAe3B,YAAY,IAAc;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export * from "./sort";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engine/services/sort/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./sort";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/engine/services/sort/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { PolyGridSortOrder } from "../types/sort-order";
2
+ export interface PolyGridColumnSortSettings {
3
+ compareFn?: (a: any, b: any) => number;
4
+ sortValueFn?: (rowData: any) => any;
5
+ initialDir?: PolyGridSortOrder;
6
+ sortPriority?: number;
7
+ }
8
+ //# sourceMappingURL=column-sorting-settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-sorting-settings.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/sort/interfaces/column-sorting-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,0BAA0B;IACzC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,MAAM,CAAC;IACvC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,GAAG,CAAC;IACpC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=column-sorting-settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column-sorting-settings.js","sourceRoot":"","sources":["../../../../../src/engine/services/sort/interfaces/column-sorting-settings.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { PolyGridSortMode } from "../types/sort-mode";
2
+ export interface PolyGridSortSettings {
3
+ sortMode?: PolyGridSortMode;
4
+ }
5
+ //# sourceMappingURL=grid-sorting-settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-sorting-settings.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/sort/interfaces/grid-sorting-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=grid-sorting-settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid-sorting-settings.js","sourceRoot":"","sources":["../../../../../src/engine/services/sort/interfaces/grid-sorting-settings.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { DataType } from "../../data/types/data-type";
2
+ export declare function detectColumnDataType(value: any): DataType;
3
+ //# sourceMappingURL=detect-column-data-type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect-column-data-type.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/detect-column-data-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,GAAG,GAAG,QAAQ,CAazD"}
@@ -0,0 +1,19 @@
1
+ export function detectColumnDataType(value) {
2
+ if (value === null || value === undefined)
3
+ return "unknown";
4
+ if (typeof value === "boolean")
5
+ return "boolean";
6
+ if (typeof value === "number") {
7
+ return isNaN(value) ? "unknown" : "number";
8
+ }
9
+ if (typeof value === "string") {
10
+ const date = new Date(value);
11
+ if (!isNaN(date.getTime()))
12
+ return "date";
13
+ return "string";
14
+ }
15
+ if (value instanceof Date && !isNaN(value.getTime()))
16
+ return "date";
17
+ return "unknown";
18
+ }
19
+ //# sourceMappingURL=detect-column-data-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect-column-data-type.js","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/detect-column-data-type.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,oBAAoB,CAAC,KAAU;IAC7C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5D,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC7C,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAAE,OAAO,MAAM,CAAC;QAC1C,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,MAAM,CAAC;IACpE,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { PolyGridStore } from "../../../store/store";
2
+ import { InternalColumn } from "../../column/interfaces/internal-column";
3
+ export declare function getFirstRowValue(store: PolyGridStore, column: InternalColumn): any;
4
+ //# sourceMappingURL=get-first-row-value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-first-row-value.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/get-first-row-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAGzE,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,cAAc,GACrB,GAAG,CAUL"}
@@ -0,0 +1,11 @@
1
+ export function getFirstRowValue(store, column) {
2
+ const firstRow = store.getState().view.rows[0]?.data;
3
+ const sortSettings = typeof column.sortable === "object"
4
+ ? column.sortable
5
+ : null;
6
+ const firstRowValue = sortSettings?.sortValueFn
7
+ ? sortSettings.sortValueFn(firstRow)
8
+ : firstRow[column.field];
9
+ return firstRowValue;
10
+ }
11
+ //# sourceMappingURL=get-first-row-value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-first-row-value.js","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/get-first-row-value.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,gBAAgB,CAC9B,KAAoB,EACpB,MAAsB;IAEtB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;IACrD,MAAM,YAAY,GAChB,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;QACjC,CAAC,CAAE,MAAM,CAAC,QAAuC;QACjD,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,aAAa,GAAG,YAAY,EAAE,WAAW;QAC7C,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC;QACpC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,aAAa,CAAC;AACvB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { PolyGridColumnSortSettings } from "../interfaces/column-sorting-settings";
2
+ import { PolyGridSortOrder } from "../types/sort-order";
3
+ export declare function getInitialSortOrder(sortSetting?: boolean | PolyGridColumnSortSettings): PolyGridSortOrder;
4
+ //# sourceMappingURL=get-initial-sort-order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-initial-sort-order.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/get-initial-sort-order.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,wBAAgB,mBAAmB,CACjC,WAAW,CAAC,EAAE,OAAO,GAAG,0BAA0B,GACjD,iBAAiB,CAMnB"}
@@ -0,0 +1,10 @@
1
+ export function getInitialSortOrder(sortSetting) {
2
+ if (!sortSetting)
3
+ return "none";
4
+ if (typeof sortSetting === "boolean" && sortSetting)
5
+ return "original";
6
+ if (typeof sortSetting === "object" && sortSetting.initialDir)
7
+ return sortSetting.initialDir;
8
+ return "original";
9
+ }
10
+ //# sourceMappingURL=get-initial-sort-order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-initial-sort-order.js","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/get-initial-sort-order.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,mBAAmB,CACjC,WAAkD;IAElD,IAAI,CAAC,WAAW;QAAE,OAAO,MAAM,CAAC;IAChC,IAAI,OAAO,WAAW,KAAK,SAAS,IAAI,WAAW;QAAE,OAAO,UAAU,CAAC;IACvE,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,UAAU;QAC3D,OAAO,WAAW,CAAC,UAAU,CAAC;IAChC,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { IconName } from "../../icon/types/icon-name";
2
+ import { PolyGridSortOrder } from "../types/sort-order";
3
+ export declare function getSortIconName(sortOrder: PolyGridSortOrder): IconName | null;
4
+ //# sourceMappingURL=get-sort-icon-name.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-sort-icon-name.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/get-sort-icon-name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,wBAAgB,eAAe,CAAC,SAAS,EAAE,iBAAiB,GAAG,QAAQ,GAAG,IAAI,CAS7E"}
@@ -0,0 +1,11 @@
1
+ export function getSortIconName(sortOrder) {
2
+ switch (sortOrder) {
3
+ case "asc":
4
+ return "sortAsc";
5
+ case "desc":
6
+ return "sortDesc";
7
+ default:
8
+ return null;
9
+ }
10
+ }
11
+ //# sourceMappingURL=get-sort-icon-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-sort-icon-name.js","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/get-sort-icon-name.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,eAAe,CAAC,SAA4B;IAC1D,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,KAAK;YACR,OAAO,SAAS,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,UAAU,CAAC;QACpB;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { InternalColumn } from "../../column/interfaces/internal-column";
2
+ export declare function getSortedColumns(columns: InternalColumn[]): InternalColumn[];
3
+ //# sourceMappingURL=get-sorted-columns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-sorted-columns.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/get-sorted-columns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAEzE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE,CAK5E"}
@@ -0,0 +1,7 @@
1
+ export function getSortedColumns(columns) {
2
+ const sortedCols = columns
3
+ .filter((c) => c.sortOrder === "asc" || c.sortOrder === "desc")
4
+ .sort((a, b) => (a.sortPriority ?? 0) - (b.sortPriority ?? 0));
5
+ return sortedCols;
6
+ }
7
+ //# sourceMappingURL=get-sorted-columns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-sorted-columns.js","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/get-sorted-columns.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAAC,OAAyB;IACxD,MAAM,UAAU,GAAG,OAAO;SACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,IAAI,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC;SAC9D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC;IACjE,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,9 @@
1
+ export * from "./detect-column-data-type";
2
+ export * from "./get-first-row-value";
3
+ export * from "./get-initial-sort-order";
4
+ export * from "./toggle-sort-order";
5
+ export * from "./sort";
6
+ export * from "./sort-column";
7
+ export * from "./get-sorted-columns";
8
+ export * from "./get-sort-icon-name";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,9 @@
1
+ export * from "./detect-column-data-type";
2
+ export * from "./get-first-row-value";
3
+ export * from "./get-initial-sort-order";
4
+ export * from "./toggle-sort-order";
5
+ export * from "./sort";
6
+ export * from "./sort-column";
7
+ export * from "./get-sorted-columns";
8
+ export * from "./get-sort-icon-name";
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { PolyGridStore } from "../../../store/store";
2
+ import { InternalColumn } from "../../column/interfaces/internal-column";
3
+ import { SortService } from "../sort";
4
+ export declare function sortColumn(store: PolyGridStore, sortedColumn: InternalColumn, isCtrlPressed: boolean, sortService: SortService): void;
5
+ //# sourceMappingURL=sort-column.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-column.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/sort-column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC,wBAAgB,UAAU,CACxB,KAAK,EAAE,aAAa,EACpB,YAAY,EAAE,cAAc,EAC5B,aAAa,EAAE,OAAO,EACtB,WAAW,EAAE,WAAW,QA0CzB"}
@@ -0,0 +1,38 @@
1
+ import { toggleSortOrder } from "./toggle-sort-order";
2
+ export function sortColumn(store, sortedColumn, isCtrlPressed, sortService) {
3
+ store.update((draft) => {
4
+ const columns = draft.view.internalColumns;
5
+ const sortMode = draft.view.sortSettings?.sortMode;
6
+ // find the clicked column
7
+ const sortedColInd = columns.findIndex((c) => c.id === sortedColumn.id);
8
+ const sortedCol = columns[sortedColInd];
9
+ if (!sortedCol)
10
+ return;
11
+ // 1. toggle sort order INSIDE the store
12
+ sortedCol.sortOrder = toggleSortOrder(sortedCol);
13
+ // 2. single-sort mode: reset others
14
+ if (sortMode !== "multiple" && !isCtrlPressed) {
15
+ columns.forEach((col, i) => {
16
+ if (i !== sortedColInd && col.sortOrder !== "none") {
17
+ col.sortOrder = "original";
18
+ delete col.sortPriority;
19
+ }
20
+ });
21
+ }
22
+ // 3. compute active sorts AFTER resetting
23
+ const activeSorts = columns.filter((c) => c.sortOrder === "asc" || c.sortOrder === "desc");
24
+ // 4. assign next priority to clicked column
25
+ if (sortedCol.sortOrder === "original") {
26
+ delete sortedCol.sortPriority;
27
+ }
28
+ else {
29
+ sortedCol.sortPriority = activeSorts.length; // temporary, will be reindexed
30
+ }
31
+ // 5. reindex priorities cleanly
32
+ const sortedColumns = sortService.getSortedColumns(columns);
33
+ sortedColumns.forEach((col, i) => {
34
+ col.sortPriority = i + 1;
35
+ });
36
+ });
37
+ }
38
+ //# sourceMappingURL=sort-column.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-column.js","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/sort-column.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,UAAU,UAAU,CACxB,KAAoB,EACpB,YAA4B,EAC5B,aAAsB,EACtB,WAAwB;IAExB,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;QAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC;QAEnD,0BAA0B;QAC1B,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,CAAC,CAAC;QACxE,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,wCAAwC;QACxC,SAAS,CAAC,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAEjD,oCAAoC;QACpC,IAAI,QAAQ,KAAK,UAAU,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9C,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBACzB,IAAI,CAAC,KAAK,YAAY,IAAI,GAAG,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;oBACnD,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC;oBAC3B,OAAO,GAAG,CAAC,YAAY,CAAC;gBAC1B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,0CAA0C;QAC1C,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,KAAK,IAAI,CAAC,CAAC,SAAS,KAAK,MAAM,CACvD,CAAC;QAEF,4CAA4C;QAC5C,IAAI,SAAS,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC,YAAY,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,+BAA+B;QAC9E,CAAC;QAED,gCAAgC;QAChC,MAAM,aAAa,GAAG,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC5D,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YAC/B,GAAG,CAAC,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { InternalColumn } from "../../column/interfaces/internal-column";
2
+ import { SortService } from "../sort";
3
+ export declare function sort(column: InternalColumn, e: MouseEvent, sortService: SortService): void;
4
+ //# sourceMappingURL=sort.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/sort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,wBAAgB,IAAI,CAClB,MAAM,EAAE,cAAc,EACtB,CAAC,EAAE,UAAU,EACb,WAAW,EAAE,WAAW,QAOzB"}
@@ -0,0 +1,7 @@
1
+ export function sort(column, e, sortService) {
2
+ if (!column.sortable)
3
+ return;
4
+ const isCtrlPressed = e.ctrlKey;
5
+ sortService.sortColumn(sortService.store, column, isCtrlPressed, sortService);
6
+ }
7
+ //# sourceMappingURL=sort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort.js","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/sort.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,IAAI,CAClB,MAAsB,EACtB,CAAa,EACb,WAAwB;IAExB,IAAI,CAAC,MAAM,CAAC,QAAQ;QAAE,OAAO;IAE7B,MAAM,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC;IAEhC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;AAChF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { InternalColumn } from "../../column/interfaces/internal-column";
2
+ import { PolyGridSortOrder } from "../types/sort-order";
3
+ export declare function toggleSortOrder(column: InternalColumn, sortOrder?: PolyGridSortOrder): PolyGridSortOrder;
4
+ //# sourceMappingURL=toggle-sort-order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle-sort-order.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/toggle-sort-order.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,wBAAgB,eAAe,CAC7B,MAAM,EAAE,cAAc,EACtB,SAAS,CAAC,EAAE,iBAAiB,GAC5B,iBAAiB,CAenB"}
@@ -0,0 +1,18 @@
1
+ export function toggleSortOrder(column, sortOrder) {
2
+ if (sortOrder) {
3
+ return (column.sortOrder = sortOrder);
4
+ }
5
+ else {
6
+ switch (column.sortOrder) {
7
+ case "original":
8
+ return (column.sortOrder = "asc");
9
+ case "asc":
10
+ return (column.sortOrder = "desc");
11
+ case "desc":
12
+ return (column.sortOrder = "original");
13
+ default:
14
+ return (column.sortOrder = "none");
15
+ }
16
+ }
17
+ }
18
+ //# sourceMappingURL=toggle-sort-order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle-sort-order.js","sourceRoot":"","sources":["../../../../../src/engine/services/sort/methods/toggle-sort-order.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,eAAe,CAC7B,MAAsB,EACtB,SAA6B;IAE7B,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,QAAQ,MAAM,CAAC,SAAS,EAAE,CAAC;YACzB,KAAK,UAAU;gBACb,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;YACpC,KAAK,KAAK;gBACR,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;YACrC,KAAK,MAAM;gBACT,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC;YACzC;gBACE,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,23 @@
1
+ import type { PolyGrid } from "../../core/grid";
2
+ import { GridDOM } from "../../core/grid-dom";
3
+ import { ObservableLike } from "../../rx-lite/interfaces/observable-like";
4
+ import type { PolyGridStore } from "../../store/store";
5
+ import * as methods from "./methods/index";
6
+ import { PolyGridSortOrder } from "./types/sort-order";
7
+ export declare class SortService {
8
+ store: PolyGridStore;
9
+ destroy$: ObservableLike<void>;
10
+ gridDom: GridDOM;
11
+ grid: PolyGrid;
12
+ sortOrderForColumn(colIndex: number): ObservableLike<PolyGridSortOrder>;
13
+ constructor(grid: PolyGrid);
14
+ detectColumnDataType: typeof methods.detectColumnDataType;
15
+ getFirstRowValue: typeof methods.getFirstRowValue;
16
+ getInitialSortOrder: typeof methods.getInitialSortOrder;
17
+ toggleSortOrder: typeof methods.toggleSortOrder;
18
+ sort: typeof methods.sort;
19
+ sortColumn: typeof methods.sortColumn;
20
+ getSortedColumns: typeof methods.getSortedColumns;
21
+ getSortIconName: typeof methods.getSortIconName;
22
+ }
23
+ //# sourceMappingURL=sort.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../../../../src/engine/services/sort/sort.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,qBAAa,WAAW;IACtB,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IAEf,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAAC,iBAAiB,CAAC;gBAO3D,IAAI,EAAE,QAAQ;IAO1B,oBAAoB,sCAAgC;IACpD,gBAAgB,kCAA4B;IAC5C,mBAAmB,qCAA+B;IAClD,eAAe,iCAA2B;IAC1C,IAAI,sBAAgB;IACpB,UAAU,4BAAsB;IAChC,gBAAgB,kCAA4B;IAC5C,eAAe,iCAA2B;CAC3C"}
@@ -0,0 +1,21 @@
1
+ import * as methods from "./methods/index";
2
+ export class SortService {
3
+ sortOrderForColumn(colIndex) {
4
+ return this.store.selectKeyed(`view.internalColumns.${colIndex}.sortOrder`, (s) => s.view.internalColumns[colIndex].sortOrder);
5
+ }
6
+ constructor(grid) {
7
+ this.detectColumnDataType = methods.detectColumnDataType;
8
+ this.getFirstRowValue = methods.getFirstRowValue;
9
+ this.getInitialSortOrder = methods.getInitialSortOrder;
10
+ this.toggleSortOrder = methods.toggleSortOrder;
11
+ this.sort = methods.sort;
12
+ this.sortColumn = methods.sortColumn;
13
+ this.getSortedColumns = methods.getSortedColumns;
14
+ this.getSortIconName = methods.getSortIconName;
15
+ this.store = grid._store;
16
+ this.destroy$ = grid._destroy$;
17
+ this.gridDom = grid._gridDom;
18
+ this.grid = grid;
19
+ }
20
+ }
21
+ //# sourceMappingURL=sort.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort.js","sourceRoot":"","sources":["../../../../src/engine/services/sort/sort.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAG3C,MAAM,OAAO,WAAW;IAMtB,kBAAkB,CAAC,QAAgB;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAC3B,wBAAwB,QAAQ,YAAY,EAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAE,CAAC,SAAS,CACnD,CAAC;IACJ,CAAC;IAED,YAAY,IAAc;QAO1B,yBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;QACpD,qBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QAC5C,wBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;QAClD,oBAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC1C,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACpB,eAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAChC,qBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QAC5C,oBAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAbxC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CAUF"}
@@ -0,0 +1,2 @@
1
+ export type PolyGridSortMode = "single" | "multiple";
2
+ //# sourceMappingURL=sort-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-mode.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/sort/types/sort-mode.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sort-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-mode.js","sourceRoot":"","sources":["../../../../../src/engine/services/sort/types/sort-mode.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export type PolyGridSortOrder = "asc" | "desc" | "original" | "none";
2
+ //# sourceMappingURL=sort-order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-order.d.ts","sourceRoot":"","sources":["../../../../../src/engine/services/sort/types/sort-order.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sort-order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-order.js","sourceRoot":"","sources":["../../../../../src/engine/services/sort/types/sort-order.ts"],"names":[],"mappings":""}
@@ -6,6 +6,7 @@ import { GridErrorType } from "../../services/error/types/error-type";
6
6
  import { PolyGridFilterType } from "../../services/filter/types/filter-type";
7
7
  import { RendererAdapter } from "../../services/renderer/interfaces/renderer-adapter";
8
8
  import type { PolyGridRow } from "../../services/row/interfaces/row";
9
+ import { PolyGridSortSettings } from "../../services/sort/interfaces/grid-sorting-settings";
9
10
  import { PolyGridResizeMode } from "../types/resize-mode";
10
11
  import { ColumnConstraints } from "./column-constraints";
11
12
  export interface PolyGridViewState {
@@ -36,5 +37,6 @@ export interface PolyGridViewState {
36
37
  hasUserResized: boolean;
37
38
  enableAnimations: boolean;
38
39
  filterable: PolyGridFilterType;
40
+ sortSettings: PolyGridSortSettings;
39
41
  }
40
42
  //# sourceMappingURL=view-state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"view-state.d.ts","sourceRoot":"","sources":["../../../../src/engine/store/interfaces/view-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,oDAAoD,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAC;AAClF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAC;AACtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACtD,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,kBAAkB,CAAC;CAChC"}
1
+ {"version":3,"file":"view-state.d.ts","sourceRoot":"","sources":["../../../../src/engine/store/interfaces/view-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,oDAAoD,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAC;AAClF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,qDAAqD,CAAC;AACtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sDAAsD,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACtD,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,aAAa,GAAG,IAAI,CAAC;IAChC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,kBAAkB,CAAC;IAC/B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,YAAY,EAAE,oBAAoB,CAAC;CACpC"}