@revolist/revogrid 4.9.6 → 4.9.8

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 (148) hide show
  1. package/dist/cjs/{column.service-0615a373.js → column.service-bfaba0e0.js} +5 -5
  2. package/dist/cjs/column.service-bfaba0e0.js.map +1 -0
  3. package/dist/cjs/{column.utils-694677fa.js → column.utils-4a450d27.js} +2 -2
  4. package/dist/cjs/{column.utils-694677fa.js.map → column.utils-4a450d27.js.map} +1 -1
  5. package/dist/cjs/{edit.utils-2e1f4278.js → edit.utils-983f1a82.js} +2 -2
  6. package/dist/cjs/{edit.utils-2e1f4278.js.map → edit.utils-983f1a82.js.map} +1 -1
  7. package/dist/cjs/{header-cell-renderer-360528aa.js → header-cell-renderer-53e4fd75.js} +2 -2
  8. package/dist/cjs/{header-cell-renderer-360528aa.js.map → header-cell-renderer-53e4fd75.js.map} +1 -1
  9. package/dist/cjs/{index-2991afbb.js → index-464d1aaf.js} +3 -2
  10. package/dist/cjs/index-464d1aaf.js.map +1 -0
  11. package/dist/cjs/index.cjs.js +5 -5
  12. package/dist/cjs/{key.utils-b84b0eba.js → key.utils-12715159.js} +2 -2
  13. package/dist/cjs/{key.utils-b84b0eba.js.map → key.utils-12715159.js.map} +1 -1
  14. package/dist/cjs/loader.cjs.js +1 -1
  15. package/dist/cjs/revo-grid.cjs.entry.js +95 -16
  16. package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
  17. package/dist/cjs/revo-grid.cjs.js +1 -1
  18. package/dist/cjs/revogr-attribution_6.cjs.entry.js +25 -24
  19. package/dist/cjs/revogr-attribution_6.cjs.entry.js.map +1 -1
  20. package/dist/cjs/revogr-clipboard_3.cjs.entry.js +3 -3
  21. package/dist/cjs/revogr-data_4.cjs.entry.js +13 -12
  22. package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
  23. package/dist/cjs/{row-header-utils-b5266b12.js → row-header-utils-e71dc7bf.js} +2 -2
  24. package/dist/cjs/{row-header-utils-b5266b12.js.map → row-header-utils-e71dc7bf.js.map} +1 -1
  25. package/dist/cjs/{selection.helpers-4374518f.js → selection.helpers-2c90d546.js} +2 -2
  26. package/dist/cjs/{selection.helpers-4374518f.js.map → selection.helpers-2c90d546.js.map} +1 -1
  27. package/dist/cjs/{throttle-8885fd65.js → throttle-c893457e.js} +2 -2
  28. package/dist/cjs/{throttle-8885fd65.js.map → throttle-c893457e.js.map} +1 -1
  29. package/dist/collection/components/data/column.service.js.map +1 -1
  30. package/dist/collection/components/data/revogr-data-style.css +1 -0
  31. package/dist/collection/components/data/revogr-data.js +13 -7
  32. package/dist/collection/components/data/revogr-data.js.map +1 -1
  33. package/dist/collection/components/overlay/keyboard.service.js +2 -2
  34. package/dist/collection/components/overlay/keyboard.service.js.map +1 -1
  35. package/dist/collection/components/overlay/revogr-overlay-selection.js +2 -2
  36. package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -1
  37. package/dist/collection/components/overlay/selection.utils.js.map +1 -1
  38. package/dist/collection/components/revoGrid/revo-grid.js +36 -10
  39. package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
  40. package/dist/collection/components/scroll/revogr-viewport-scroll-style.css +1 -0
  41. package/dist/collection/components/selectionFocus/revogr-focus.js +21 -20
  42. package/dist/collection/components/selectionFocus/revogr-focus.js.map +1 -1
  43. package/dist/collection/plugins/column.auto-size.plugin.js +1 -1
  44. package/dist/collection/plugins/column.auto-size.plugin.js.map +1 -1
  45. package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +6 -6
  46. package/dist/collection/plugins/groupingRow/grouping.row.plugin.js.map +1 -1
  47. package/dist/collection/plugins/groupingRow/grouping.service.js +2 -2
  48. package/dist/collection/plugins/groupingRow/grouping.service.js.map +1 -1
  49. package/dist/collection/plugins/wcag/index.js +79 -0
  50. package/dist/collection/plugins/wcag/index.js.map +1 -0
  51. package/dist/collection/store/dataSource/data.store.js +2 -1
  52. package/dist/collection/store/dataSource/data.store.js.map +1 -1
  53. package/dist/collection/types/interfaces.js +0 -4
  54. package/dist/collection/types/interfaces.js.map +1 -1
  55. package/dist/collection/types/selection.js.map +1 -1
  56. package/dist/esm/{column.service-af0694c5.js → column.service-6f1faf2d.js} +5 -5
  57. package/dist/esm/column.service-6f1faf2d.js.map +1 -0
  58. package/dist/esm/{column.utils-78dd3ef2.js → column.utils-1a402ff9.js} +2 -2
  59. package/dist/esm/{column.utils-78dd3ef2.js.map → column.utils-1a402ff9.js.map} +1 -1
  60. package/dist/esm/{edit.utils-ca303802.js → edit.utils-c3f5c9f4.js} +2 -2
  61. package/dist/esm/{edit.utils-ca303802.js.map → edit.utils-c3f5c9f4.js.map} +1 -1
  62. package/dist/esm/{header-cell-renderer-261317c3.js → header-cell-renderer-66d01daa.js} +2 -2
  63. package/dist/esm/{header-cell-renderer-261317c3.js.map → header-cell-renderer-66d01daa.js.map} +1 -1
  64. package/dist/esm/{index-f65def08.js → index-c428acf6.js} +3 -2
  65. package/dist/esm/index-c428acf6.js.map +1 -0
  66. package/dist/esm/index.js +5 -5
  67. package/dist/esm/{key.utils-4b0093d5.js → key.utils-b1f93f7e.js} +2 -2
  68. package/dist/esm/{key.utils-4b0093d5.js.map → key.utils-b1f93f7e.js.map} +1 -1
  69. package/dist/esm/loader.js +1 -1
  70. package/dist/esm/revo-grid.entry.js +95 -16
  71. package/dist/esm/revo-grid.entry.js.map +1 -1
  72. package/dist/esm/revo-grid.js +1 -1
  73. package/dist/esm/revogr-attribution_6.entry.js +25 -24
  74. package/dist/esm/revogr-attribution_6.entry.js.map +1 -1
  75. package/dist/esm/revogr-clipboard_3.entry.js +3 -3
  76. package/dist/esm/revogr-data_4.entry.js +13 -12
  77. package/dist/esm/revogr-data_4.entry.js.map +1 -1
  78. package/dist/esm/{row-header-utils-6081260c.js → row-header-utils-3a6f6adc.js} +2 -2
  79. package/dist/esm/{row-header-utils-6081260c.js.map → row-header-utils-3a6f6adc.js.map} +1 -1
  80. package/dist/esm/{selection.helpers-d92697e1.js → selection.helpers-ac4368b0.js} +2 -2
  81. package/dist/esm/{selection.helpers-d92697e1.js.map → selection.helpers-ac4368b0.js.map} +1 -1
  82. package/dist/esm/{throttle-041ded8e.js → throttle-f9cda5b0.js} +2 -2
  83. package/dist/esm/{throttle-041ded8e.js.map → throttle-f9cda5b0.js.map} +1 -1
  84. package/dist/revo-grid/column.service-6f1faf2d.js +5 -0
  85. package/dist/revo-grid/column.service-6f1faf2d.js.map +1 -0
  86. package/dist/revo-grid/{column.utils-78dd3ef2.js → column.utils-1a402ff9.js} +2 -2
  87. package/dist/revo-grid/{edit.utils-ca303802.js → edit.utils-c3f5c9f4.js} +2 -2
  88. package/dist/revo-grid/{header-cell-renderer-261317c3.js → header-cell-renderer-66d01daa.js} +2 -2
  89. package/dist/revo-grid/{index-f65def08.js → index-c428acf6.js} +2 -2
  90. package/dist/revo-grid/{index-f65def08.js.map → index-c428acf6.js.map} +1 -1
  91. package/dist/revo-grid/index.esm.js +1 -1
  92. package/dist/revo-grid/key.utils-b1f93f7e.js +5 -0
  93. package/dist/revo-grid/revo-grid.entry.js +1 -1
  94. package/dist/revo-grid/revo-grid.entry.js.map +1 -1
  95. package/dist/revo-grid/revo-grid.esm.js +1 -1
  96. package/dist/revo-grid/revo-grid.esm.js.map +1 -1
  97. package/dist/revo-grid/revogr-attribution_6.entry.js +1 -1
  98. package/dist/revo-grid/revogr-attribution_6.entry.js.map +1 -1
  99. package/dist/revo-grid/revogr-clipboard_3.entry.js +1 -1
  100. package/dist/revo-grid/revogr-data_4.entry.js +1 -1
  101. package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
  102. package/dist/revo-grid/{row-header-utils-6081260c.js → row-header-utils-3a6f6adc.js} +2 -2
  103. package/dist/revo-grid/{selection.helpers-d92697e1.js → selection.helpers-ac4368b0.js} +2 -2
  104. package/dist/revo-grid/{throttle-041ded8e.js → throttle-f9cda5b0.js} +2 -2
  105. package/dist/types/components/data/column.service.d.ts +1 -1
  106. package/dist/types/components/data/revogr-data.d.ts +2 -2
  107. package/dist/types/components/overlay/selection.utils.d.ts +1 -1
  108. package/dist/types/components/revoGrid/revo-grid.d.ts +9 -6
  109. package/dist/types/components/selectionFocus/revogr-focus.d.ts +2 -6
  110. package/dist/types/components.d.ts +19 -21
  111. package/dist/types/plugins/groupingRow/grouping.service.d.ts +10 -2
  112. package/dist/types/plugins/wcag/index.d.ts +26 -0
  113. package/dist/types/services/data.provider.d.ts +1 -1
  114. package/dist/types/store/dataSource/data.store.d.ts +2 -2
  115. package/dist/types/types/interfaces.d.ts +13 -3
  116. package/dist/types/types/selection.d.ts +1 -3
  117. package/hydrate/index.js +120 -37
  118. package/hydrate/index.mjs +120 -37
  119. package/package.json +1 -1
  120. package/standalone/column.service.js +2 -2
  121. package/standalone/column.service.js.map +1 -1
  122. package/standalone/data.store.js +2 -1
  123. package/standalone/data.store.js.map +1 -1
  124. package/standalone/revo-grid.js +92 -12
  125. package/standalone/revo-grid.js.map +1 -1
  126. package/standalone/revogr-data2.js +7 -6
  127. package/standalone/revogr-data2.js.map +1 -1
  128. package/standalone/revogr-focus2.js +17 -16
  129. package/standalone/revogr-focus2.js.map +1 -1
  130. package/standalone/revogr-overlay-selection2.js +2 -2
  131. package/standalone/revogr-overlay-selection2.js.map +1 -1
  132. package/standalone/revogr-viewport-scroll2.js +1 -1
  133. package/standalone/revogr-viewport-scroll2.js.map +1 -1
  134. package/standalone/selection.utils.js.map +1 -1
  135. package/dist/cjs/column.service-0615a373.js.map +0 -1
  136. package/dist/cjs/index-2991afbb.js.map +0 -1
  137. package/dist/esm/column.service-af0694c5.js.map +0 -1
  138. package/dist/esm/index-f65def08.js.map +0 -1
  139. package/dist/revo-grid/column.service-af0694c5.js +0 -5
  140. package/dist/revo-grid/column.service-af0694c5.js.map +0 -1
  141. package/dist/revo-grid/key.utils-4b0093d5.js +0 -5
  142. /package/dist/revo-grid/{column.utils-78dd3ef2.js.map → column.utils-1a402ff9.js.map} +0 -0
  143. /package/dist/revo-grid/{edit.utils-ca303802.js.map → edit.utils-c3f5c9f4.js.map} +0 -0
  144. /package/dist/revo-grid/{header-cell-renderer-261317c3.js.map → header-cell-renderer-66d01daa.js.map} +0 -0
  145. /package/dist/revo-grid/{key.utils-4b0093d5.js.map → key.utils-b1f93f7e.js.map} +0 -0
  146. /package/dist/revo-grid/{row-header-utils-6081260c.js.map → row-header-utils-3a6f6adc.js.map} +0 -0
  147. /package/dist/revo-grid/{selection.helpers-d92697e1.js.map → selection.helpers-ac4368b0.js.map} +0 -0
  148. /package/dist/revo-grid/{throttle-041ded8e.js.map → throttle-f9cda5b0.js.map} +0 -0
@@ -5,7 +5,7 @@
5
5
  * It contains typing information for all components that exist in this project.
6
6
  */
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
- import { AfterEditEvent, AllDimensionType, ApplyFocusEvent, BeforeCellRenderEvent, BeforeEdit, BeforeRangeSaveDataDetails, BeforeRowRenderEvent, BeforeSaveDataDetails, Cell, ChangedRange, ColumnDataSchemaModel, ColumnGrouping, ColumnProp, ColumnRegular, ColumnType, DataFormat, DataType, DimensionCols, DimensionRows, DimensionSettingsState, DimensionType, DimensionTypeCol, DragStartEvent, EditCell, EditorCtr, Editors, ElementScroll, FocusRenderEvent, FocusTemplateFunc, InitialHeaderClick, MultiDimensionType, Nullable, PluginBaseComponent, PositionItem, RangeArea, RangeClipboardCopyEventProps, RangeClipboardPasteEvent, RowDefinition, RowHeaders, SaveDataDetails, SelectionStoreState, TempRange, Theme, ViewportData, ViewPortResizeEvent, ViewPortScrollEvent, ViewportState, ViewSettingSizeProp } from "./types/index";
8
+ import { AfterEditEvent, AllDimensionType, ApplyFocusEvent, BeforeCellRenderEvent, BeforeEdit, BeforeRangeSaveDataDetails, BeforeRowRenderEvent, BeforeSaveDataDetails, Cell, ChangedRange, ColumnDataSchemaModel, ColumnGrouping, ColumnProp, ColumnRegular, ColumnType, DataFormat, DataType, DimensionCols, DimensionRows, DimensionSettingsState, DimensionType, DimensionTypeCol, DragStartEvent, EditCell, EditorCtr, Editors, ElementScroll, FocusAfterRenderEvent, FocusRenderEvent, FocusTemplateFunc, InitialHeaderClick, MultiDimensionType, Nullable, PluginBaseComponent, PositionItem, RangeArea, RangeClipboardCopyEventProps, RangeClipboardPasteEvent, RowDefinition, RowHeaders, SaveDataDetails, SelectionStoreState, TempRange, Theme, ViewportData, ViewPortResizeEvent, ViewPortScrollEvent, ViewportState, ViewSettingSizeProp } from "./types/index";
9
9
  import { GridPlugin } from "./plugins/base.plugin";
10
10
  import { AutoSizeColumnConfig } from "./plugins/column.auto-size.plugin";
11
11
  import { ColumnFilterConfig, FilterCaptions, FilterCollection } from "./plugins/filter/filter.plugin";
@@ -21,7 +21,7 @@ import { LogicFunction } from "./plugins/filter/filter.types";
21
21
  import { ResizeProps } from "./components/header/resizable.directive";
22
22
  import { Cell as Cell1, ColumnRegular as ColumnRegular1, DataType as DataType1, DimensionCols as DimensionCols1, DimensionRows as DimensionRows1, DimensionSettingsState as DimensionSettingsState1, Observable as Observable1, SelectionStoreState as SelectionStoreState1 } from "./components";
23
23
  import { EventData } from "./components/overlay/selection.utils";
24
- export { AfterEditEvent, AllDimensionType, ApplyFocusEvent, BeforeCellRenderEvent, BeforeEdit, BeforeRangeSaveDataDetails, BeforeRowRenderEvent, BeforeSaveDataDetails, Cell, ChangedRange, ColumnDataSchemaModel, ColumnGrouping, ColumnProp, ColumnRegular, ColumnType, DataFormat, DataType, DimensionCols, DimensionRows, DimensionSettingsState, DimensionType, DimensionTypeCol, DragStartEvent, EditCell, EditorCtr, Editors, ElementScroll, FocusRenderEvent, FocusTemplateFunc, InitialHeaderClick, MultiDimensionType, Nullable, PluginBaseComponent, PositionItem, RangeArea, RangeClipboardCopyEventProps, RangeClipboardPasteEvent, RowDefinition, RowHeaders, SaveDataDetails, SelectionStoreState, TempRange, Theme, ViewportData, ViewPortResizeEvent, ViewPortScrollEvent, ViewportState, ViewSettingSizeProp } from "./types/index";
24
+ export { AfterEditEvent, AllDimensionType, ApplyFocusEvent, BeforeCellRenderEvent, BeforeEdit, BeforeRangeSaveDataDetails, BeforeRowRenderEvent, BeforeSaveDataDetails, Cell, ChangedRange, ColumnDataSchemaModel, ColumnGrouping, ColumnProp, ColumnRegular, ColumnType, DataFormat, DataType, DimensionCols, DimensionRows, DimensionSettingsState, DimensionType, DimensionTypeCol, DragStartEvent, EditCell, EditorCtr, Editors, ElementScroll, FocusAfterRenderEvent, FocusRenderEvent, FocusTemplateFunc, InitialHeaderClick, MultiDimensionType, Nullable, PluginBaseComponent, PositionItem, RangeArea, RangeClipboardCopyEventProps, RangeClipboardPasteEvent, RowDefinition, RowHeaders, SaveDataDetails, SelectionStoreState, TempRange, Theme, ViewportData, ViewPortResizeEvent, ViewPortScrollEvent, ViewportState, ViewSettingSizeProp } from "./types/index";
25
25
  export { GridPlugin } from "./plugins/base.plugin";
26
26
  export { AutoSizeColumnConfig } from "./plugins/column.auto-size.plugin";
27
27
  export { ColumnFilterConfig, FilterCaptions, FilterCollection } from "./plugins/filter/filter.plugin";
@@ -52,6 +52,11 @@ export namespace Components {
52
52
  * @example focus-rgCol-rgRow - focus layer for main data. Applies extra elements in <revogr-focus />.
53
53
  */
54
54
  interface RevoGrid {
55
+ /**
56
+ * Enable accessibility. If disabled, the grid will not be accessible.
57
+ * @default true
58
+ */
59
+ "accessible": boolean;
55
60
  /**
56
61
  * Add trimmed by type
57
62
  */
@@ -745,10 +750,7 @@ declare global {
745
750
  "afteredit": AfterEditEvent;
746
751
  "beforeautofill": ChangedRange;
747
752
  "beforerange": ChangedRange;
748
- "afterfocus": {
749
- model: any;
750
- column: ColumnRegular;
751
- };
753
+ "afterfocus": FocusAfterRenderEvent;
752
754
  "roworderchanged": { from: number; to: number };
753
755
  "beforesortingapply": {
754
756
  column: ColumnRegular;
@@ -898,7 +900,7 @@ declare global {
898
900
  interface HTMLRevogrDataElementEventMap {
899
901
  "beforerowrender": BeforeRowRenderEvent;
900
902
  "afterrender": { type: DimensionRows };
901
- "beforecellrender": BeforeCellRenderEvent;
903
+ "beforecellrender": BeforeCellRenderEvent<ColumnDataSchemaModel>;
902
904
  "dragstartcell": DragStartEvent;
903
905
  }
904
906
  /**
@@ -962,10 +964,7 @@ declare global {
962
964
  interface HTMLRevogrFocusElementEventMap {
963
965
  "beforefocusrender": FocusRenderEvent;
964
966
  "beforescrollintoview": { el: HTMLElement };
965
- "afterfocus": {
966
- model: any;
967
- column: ColumnRegular;
968
- };
967
+ "afterfocus": FocusAfterRenderEvent;
969
968
  }
970
969
  /**
971
970
  * Focus component. Shows focus layer around the cell that is currently in focus.
@@ -1207,6 +1206,11 @@ declare namespace LocalJSX {
1207
1206
  * @example focus-rgCol-rgRow - focus layer for main data. Applies extra elements in <revogr-focus />.
1208
1207
  */
1209
1208
  interface RevoGrid {
1209
+ /**
1210
+ * Enable accessibility. If disabled, the grid will not be accessible.
1211
+ * @default true
1212
+ */
1213
+ "accessible"?: boolean;
1210
1214
  /**
1211
1215
  * Additional data to be passed to plugins, renders or editors. For example if you need to pass Vue component instance.
1212
1216
  */
@@ -1308,12 +1312,9 @@ declare namespace LocalJSX {
1308
1312
  */
1309
1313
  "onAfteredit"?: (event: RevoGridCustomEvent<AfterEditEvent>) => void;
1310
1314
  /**
1311
- * Triggered after focus render finished. Can be used to access a focus element through `event.target`
1315
+ * Triggered after focus render finished. Can be used to access a focus element through `event.target`. This is just a duplicate of `afterfocus` from `revogr-focus.tsx`.
1312
1316
  */
1313
- "onAfterfocus"?: (event: RevoGridCustomEvent<{
1314
- model: any;
1315
- column: ColumnRegular;
1316
- }>) => void;
1317
+ "onAfterfocus"?: (event: RevoGridCustomEvent<FocusAfterRenderEvent>) => void;
1317
1318
  /**
1318
1319
  * Emmited after the grid is initialized. Connected to the DOM.
1319
1320
  */
@@ -1632,7 +1633,7 @@ declare namespace LocalJSX {
1632
1633
  /**
1633
1634
  * Before each cell render function. Allows to override cell properties
1634
1635
  */
1635
- "onBeforecellrender"?: (event: RevogrDataCustomEvent<BeforeCellRenderEvent>) => void;
1636
+ "onBeforecellrender"?: (event: RevogrDataCustomEvent<BeforeCellRenderEvent<ColumnDataSchemaModel>>) => void;
1636
1637
  /**
1637
1638
  * Before each row render
1638
1639
  */
@@ -1746,10 +1747,7 @@ declare namespace LocalJSX {
1746
1747
  /**
1747
1748
  * Used to setup properties after focus was rendered
1748
1749
  */
1749
- "onAfterfocus"?: (event: RevogrFocusCustomEvent<{
1750
- model: any;
1751
- column: ColumnRegular;
1752
- }>) => void;
1750
+ "onAfterfocus"?: (event: RevogrFocusCustomEvent<FocusAfterRenderEvent>) => void;
1753
1751
  /**
1754
1752
  * Before focus render event. Can be prevented by event.preventDefault(). If preventDefault used slot will be rendered.
1755
1753
  */
@@ -1,4 +1,5 @@
1
1
  import { DataType, ColumnProp, ColumnRegular } from "../../types/index";
2
+ import { GROUP_DEPTH, GROUP_EXPANDED, PSEUDO_GROUP_ITEM, PSEUDO_GROUP_ITEM_VALUE } from './grouping.const';
2
3
  import { GroupLabelTemplateFunc } from './grouping.row.types';
3
4
  export type ExpandedOptions = {
4
5
  prevExpanded?: Record<string, boolean>;
@@ -12,7 +13,7 @@ export type ExpandedOptions = {
12
13
  * @param groupIds - ids of groups
13
14
  * @param expanded - potentially expanded items if present
14
15
  */
15
- export declare function gatherGrouping(array: DataType[], groupIds: ColumnProp[], { prevExpanded, expandedAll, getGroupValue }: ExpandedOptions): {
16
+ export declare function gatherGrouping(array: DataType[], groupIds: ColumnProp[], { prevExpanded, expandedAll, getGroupValue, }: ExpandedOptions): {
16
17
  sourceWithGroups: DataType[];
17
18
  depth: number;
18
19
  trimmed: Record<number, boolean>;
@@ -20,8 +21,15 @@ export declare function gatherGrouping(array: DataType[], groupIds: ColumnProp[]
20
21
  childrenByGroup: Record<string, number[]>;
21
22
  };
22
23
  export declare function getGroupingName(rgRow?: DataType): any;
23
- export declare function isGrouping(rgRow?: DataType): boolean | undefined;
24
+ type GroupingItem = {
25
+ [PSEUDO_GROUP_ITEM]: string;
26
+ [GROUP_EXPANDED]: boolean;
27
+ [PSEUDO_GROUP_ITEM_VALUE]: string;
28
+ [GROUP_DEPTH]: number;
29
+ };
30
+ export declare function isGrouping(rgRow?: DataType): rgRow is GroupingItem;
24
31
  export declare function isGroupingColumn(column?: ColumnRegular): boolean | undefined;
25
32
  export declare function measureEqualDepth<T>(groupA: T[], groupB: T[]): number;
26
33
  export declare function getParsedGroup(id: string): any[] | null;
27
34
  export declare function isSameGroup(currentGroup: any[], currentModel: DataType, nextModel: DataType): boolean;
35
+ export {};
@@ -0,0 +1,26 @@
1
+ import { PluginProviders } from "../../types/index";
2
+ import { BasePlugin } from '../base.plugin';
3
+ /**
4
+ * WCAG Plugin is responsible for enhancing the accessibility features of the RevoGrid component.
5
+ * It ensures that the grid is fully compliant with Web Content Accessibility Guidelines (WCAG) 2.1.
6
+ * This plugin should be the last plugin you add, as it modifies the grid's default behavior.
7
+ *
8
+ * The WCAG Plugin performs the following tasks:
9
+ * - Sets the 'dir' attribute to 'ltr' for left-to-right text direction.
10
+ * - Sets the 'role' attribute to 'treegrid' for treelike hierarchical structure.
11
+ * - Sets the 'aria-keyshortcuts' attribute to 'Enter' and 'Esc' for keyboard shortcuts.
12
+ * - Adds event listeners for keyboard navigation and editing.
13
+ *
14
+ * By default, the plugin adds ARIA roles and properties to the grid elements, providing semantic information
15
+ * for assistive technologies. These roles include 'grid', 'row', and 'gridcell'. The plugin also sets
16
+ * ARIA attributes such as 'aria-rowindex', 'aria-colindex', and 'aria-selected'.
17
+ *
18
+ * The WCAG Plugin ensures that the grid is fully functional and usable for users with various disabilities,
19
+ * including visual impairments, deaf-blindness, and cognitive disabilities.
20
+ *
21
+ * Note: The WCAG Plugin should be added as the last plugin in the list of plugins, as it modifies the grid's
22
+ * default behavior and may conflict with other plugins if added earlier.
23
+ */
24
+ export declare class WCAGPlugin extends BasePlugin {
25
+ constructor(revogrid: HTMLRevoGridElement, providers: PluginProviders);
26
+ }
@@ -17,7 +17,7 @@ export declare class DataProvider {
17
17
  groups?: Groups;
18
18
  customRenderer?: GroupLabelTemplateFunc;
19
19
  }, silent?: boolean): DataType[];
20
- getModel(virtualIndex: number, type?: DimensionRows): any;
20
+ getModel(virtualIndex: number, type?: DimensionRows): DataType;
21
21
  setCellData({ type, rowIndex, prop, val }: BeforeSaveDataDetails, mutate?: boolean): void;
22
22
  setRangeData(data: DataLookup, type: DimensionRows): void;
23
23
  refresh(type?: DimensionRows | 'all'): void;
@@ -51,14 +51,14 @@ export declare function getVisibleSourceItem(store: Observable<DSourceState<any,
51
51
  * @param store - store to process
52
52
  * @param virtualIndex - virtual index to process
53
53
  */
54
- export declare const getSourceItem: (store: Observable<DSourceState<any, any>>, virtualIndex: number) => any | undefined;
54
+ export declare const getSourceItem: <T1 extends GDataType, T2 extends GDimension>(store: Observable<DSourceState<T1, T2>>, virtualIndex: number) => T1;
55
55
  /**
56
56
  * Apple item/model/row value to data source
57
57
  * @param store - data source with changes
58
58
  * @param modelByIndex - collection of rows/values with virtual indexes to setup/replace in store/data source
59
59
  * @param mutate - if true, store will be mutated and whole viewport will be re-rendered
60
60
  */
61
- export declare function setSourceByVirtualIndex<T extends GDataType>(store: Observable<DSourceState<T, any>>, modelByIndex: Record<number, T>, mutate?: boolean): void;
61
+ export declare function setSourceByVirtualIndex<T extends GDataType>(store: Observable<DSourceState<T, any>>, modelByIndex: Record<number, T | undefined>, mutate?: boolean): void;
62
62
  /**
63
63
  * set item to source
64
64
  * @param store - store to process
@@ -654,6 +654,18 @@ export interface FocusRenderEvent extends AllDimensionType {
654
654
  */
655
655
  next?: Partial<Cell>;
656
656
  }
657
+ export interface FocusAfterRenderEvent extends AllDimensionType {
658
+ model?: any;
659
+ column?: ColumnRegular;
660
+ /**
661
+ * Index of the row in the viewport
662
+ */
663
+ rowIndex: number;
664
+ /**
665
+ * Index of the column in the viewport
666
+ */
667
+ colIndex: number;
668
+ }
657
669
  /**
658
670
  * Represents the event object that is emitted when scrolling occurs.
659
671
  * The `type` property indicates the type of dimension (row or column) being scrolled.
@@ -674,9 +686,7 @@ export type ScrollCoordinateEvent = {
674
686
  /** Range paste. */
675
687
  export type RangeClipboardPasteEvent = {
676
688
  data: DataLookup;
677
- models: {
678
- [rowIndex: number]: DataType;
679
- };
689
+ models: Partial<DataLookup>;
680
690
  range: RangeArea | null;
681
691
  } & AllDimensionType;
682
692
  /** Range copy. */
@@ -102,9 +102,7 @@ export type BeforeSaveDataDetails = {
102
102
  };
103
103
  export type BeforeRangeSaveDataDetails = {
104
104
  data: DataLookup;
105
- models: {
106
- [rowIndex: number]: DataType;
107
- };
105
+ models: Partial<DataLookup>;
108
106
  type: DimensionRows;
109
107
  };
110
108
  export type AfterEditEvent = BeforeRangeSaveDataDetails | BeforeSaveDataDetails;