@revolist/revogrid 4.9.7 → 4.9.9

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 (146) 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 +7 -7
  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/overlay/keyboard.service.js +2 -2
  32. package/dist/collection/components/overlay/keyboard.service.js.map +1 -1
  33. package/dist/collection/components/overlay/revogr-overlay-selection.js +2 -2
  34. package/dist/collection/components/overlay/revogr-overlay-selection.js.map +1 -1
  35. package/dist/collection/components/overlay/selection.utils.js.map +1 -1
  36. package/dist/collection/components/revoGrid/revo-grid.js +36 -10
  37. package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
  38. package/dist/collection/components/scroll/revogr-viewport-scroll-style.css +1 -0
  39. package/dist/collection/components/selectionFocus/revogr-focus.js +21 -20
  40. package/dist/collection/components/selectionFocus/revogr-focus.js.map +1 -1
  41. package/dist/collection/plugins/column.auto-size.plugin.js +1 -1
  42. package/dist/collection/plugins/column.auto-size.plugin.js.map +1 -1
  43. package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +6 -6
  44. package/dist/collection/plugins/groupingRow/grouping.row.plugin.js.map +1 -1
  45. package/dist/collection/plugins/groupingRow/grouping.service.js +2 -2
  46. package/dist/collection/plugins/groupingRow/grouping.service.js.map +1 -1
  47. package/dist/collection/plugins/wcag/index.js +79 -0
  48. package/dist/collection/plugins/wcag/index.js.map +1 -0
  49. package/dist/collection/store/dataSource/data.store.js +2 -1
  50. package/dist/collection/store/dataSource/data.store.js.map +1 -1
  51. package/dist/collection/types/interfaces.js +0 -4
  52. package/dist/collection/types/interfaces.js.map +1 -1
  53. package/dist/collection/types/selection.js.map +1 -1
  54. package/dist/esm/{column.service-af0694c5.js → column.service-6f1faf2d.js} +5 -5
  55. package/dist/esm/column.service-6f1faf2d.js.map +1 -0
  56. package/dist/esm/{column.utils-78dd3ef2.js → column.utils-1a402ff9.js} +2 -2
  57. package/dist/esm/{column.utils-78dd3ef2.js.map → column.utils-1a402ff9.js.map} +1 -1
  58. package/dist/esm/{edit.utils-ca303802.js → edit.utils-c3f5c9f4.js} +2 -2
  59. package/dist/esm/{edit.utils-ca303802.js.map → edit.utils-c3f5c9f4.js.map} +1 -1
  60. package/dist/esm/{header-cell-renderer-261317c3.js → header-cell-renderer-66d01daa.js} +2 -2
  61. package/dist/esm/{header-cell-renderer-261317c3.js.map → header-cell-renderer-66d01daa.js.map} +1 -1
  62. package/dist/esm/{index-f65def08.js → index-c428acf6.js} +3 -2
  63. package/dist/esm/index-c428acf6.js.map +1 -0
  64. package/dist/esm/index.js +5 -5
  65. package/dist/esm/{key.utils-4b0093d5.js → key.utils-b1f93f7e.js} +2 -2
  66. package/dist/esm/{key.utils-4b0093d5.js.map → key.utils-b1f93f7e.js.map} +1 -1
  67. package/dist/esm/loader.js +1 -1
  68. package/dist/esm/revo-grid.entry.js +95 -16
  69. package/dist/esm/revo-grid.entry.js.map +1 -1
  70. package/dist/esm/revo-grid.js +1 -1
  71. package/dist/esm/revogr-attribution_6.entry.js +25 -24
  72. package/dist/esm/revogr-attribution_6.entry.js.map +1 -1
  73. package/dist/esm/revogr-clipboard_3.entry.js +3 -3
  74. package/dist/esm/revogr-data_4.entry.js +7 -7
  75. package/dist/esm/revogr-data_4.entry.js.map +1 -1
  76. package/dist/esm/{row-header-utils-6081260c.js → row-header-utils-3a6f6adc.js} +2 -2
  77. package/dist/esm/{row-header-utils-6081260c.js.map → row-header-utils-3a6f6adc.js.map} +1 -1
  78. package/dist/esm/{selection.helpers-d92697e1.js → selection.helpers-ac4368b0.js} +2 -2
  79. package/dist/esm/{selection.helpers-d92697e1.js.map → selection.helpers-ac4368b0.js.map} +1 -1
  80. package/dist/esm/{throttle-041ded8e.js → throttle-f9cda5b0.js} +2 -2
  81. package/dist/esm/{throttle-041ded8e.js.map → throttle-f9cda5b0.js.map} +1 -1
  82. package/dist/revo-grid/column.service-6f1faf2d.js +5 -0
  83. package/dist/revo-grid/column.service-6f1faf2d.js.map +1 -0
  84. package/dist/revo-grid/{column.utils-78dd3ef2.js → column.utils-1a402ff9.js} +2 -2
  85. package/dist/revo-grid/{edit.utils-ca303802.js → edit.utils-c3f5c9f4.js} +2 -2
  86. package/dist/revo-grid/{header-cell-renderer-261317c3.js → header-cell-renderer-66d01daa.js} +2 -2
  87. package/dist/revo-grid/{index-f65def08.js → index-c428acf6.js} +2 -2
  88. package/dist/revo-grid/{index-f65def08.js.map → index-c428acf6.js.map} +1 -1
  89. package/dist/revo-grid/index.esm.js +1 -1
  90. package/dist/revo-grid/key.utils-b1f93f7e.js +5 -0
  91. package/dist/revo-grid/revo-grid.entry.js +1 -1
  92. package/dist/revo-grid/revo-grid.entry.js.map +1 -1
  93. package/dist/revo-grid/revo-grid.esm.js +1 -1
  94. package/dist/revo-grid/revo-grid.esm.js.map +1 -1
  95. package/dist/revo-grid/revogr-attribution_6.entry.js +1 -1
  96. package/dist/revo-grid/revogr-attribution_6.entry.js.map +1 -1
  97. package/dist/revo-grid/revogr-clipboard_3.entry.js +1 -1
  98. package/dist/revo-grid/revogr-data_4.entry.js +1 -1
  99. package/dist/revo-grid/revogr-data_4.entry.js.map +1 -1
  100. package/dist/revo-grid/{row-header-utils-6081260c.js → row-header-utils-3a6f6adc.js} +2 -2
  101. package/dist/revo-grid/{selection.helpers-d92697e1.js → selection.helpers-ac4368b0.js} +2 -2
  102. package/dist/revo-grid/{throttle-041ded8e.js → throttle-f9cda5b0.js} +2 -2
  103. package/dist/types/components/data/column.service.d.ts +1 -1
  104. package/dist/types/components/overlay/selection.utils.d.ts +1 -1
  105. package/dist/types/components/revoGrid/revo-grid.d.ts +9 -6
  106. package/dist/types/components/selectionFocus/revogr-focus.d.ts +2 -6
  107. package/dist/types/components.d.ts +17 -19
  108. package/dist/types/plugins/groupingRow/grouping.service.d.ts +10 -2
  109. package/dist/types/plugins/wcag/index.d.ts +26 -0
  110. package/dist/types/services/data.provider.d.ts +1 -1
  111. package/dist/types/store/dataSource/data.store.d.ts +2 -2
  112. package/dist/types/types/interfaces.d.ts +13 -3
  113. package/dist/types/types/selection.d.ts +1 -3
  114. package/hydrate/index.js +114 -32
  115. package/hydrate/index.mjs +114 -32
  116. package/package.json +1 -1
  117. package/readme.md +12 -2
  118. package/standalone/column.service.js +2 -2
  119. package/standalone/column.service.js.map +1 -1
  120. package/standalone/data.store.js +2 -1
  121. package/standalone/data.store.js.map +1 -1
  122. package/standalone/revo-grid.js +92 -12
  123. package/standalone/revo-grid.js.map +1 -1
  124. package/standalone/revogr-data2.js +1 -1
  125. package/standalone/revogr-data2.js.map +1 -1
  126. package/standalone/revogr-focus2.js +17 -16
  127. package/standalone/revogr-focus2.js.map +1 -1
  128. package/standalone/revogr-overlay-selection2.js +2 -2
  129. package/standalone/revogr-overlay-selection2.js.map +1 -1
  130. package/standalone/revogr-viewport-scroll2.js +1 -1
  131. package/standalone/revogr-viewport-scroll2.js.map +1 -1
  132. package/standalone/selection.utils.js.map +1 -1
  133. package/dist/cjs/column.service-0615a373.js.map +0 -1
  134. package/dist/cjs/index-2991afbb.js.map +0 -1
  135. package/dist/esm/column.service-af0694c5.js.map +0 -1
  136. package/dist/esm/index-f65def08.js.map +0 -1
  137. package/dist/revo-grid/column.service-af0694c5.js +0 -5
  138. package/dist/revo-grid/column.service-af0694c5.js.map +0 -1
  139. package/dist/revo-grid/key.utils-4b0093d5.js +0 -5
  140. /package/dist/revo-grid/{column.utils-78dd3ef2.js.map → column.utils-1a402ff9.js.map} +0 -0
  141. /package/dist/revo-grid/{edit.utils-ca303802.js.map → edit.utils-c3f5c9f4.js.map} +0 -0
  142. /package/dist/revo-grid/{header-cell-renderer-261317c3.js.map → header-cell-renderer-66d01daa.js.map} +0 -0
  143. /package/dist/revo-grid/{key.utils-4b0093d5.js.map → key.utils-b1f93f7e.js.map} +0 -0
  144. /package/dist/revo-grid/{row-header-utils-6081260c.js.map → row-header-utils-3a6f6adc.js.map} +0 -0
  145. /package/dist/revo-grid/{selection.helpers-d92697e1.js.map → selection.helpers-ac4368b0.js.map} +0 -0
  146. /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;
@@ -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
  */
@@ -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;
package/hydrate/index.js CHANGED
@@ -6938,7 +6938,8 @@ function setSourceByVirtualIndex(store, modelByIndex, mutate = true) {
6938
6938
  const source = store.get('source');
6939
6939
  for (let virtualIndex in modelByIndex) {
6940
6940
  const realIndex = items[virtualIndex];
6941
- source[realIndex] = modelByIndex[virtualIndex];
6941
+ const item = modelByIndex[virtualIndex];
6942
+ source[realIndex] = item;
6942
6943
  }
6943
6944
  if (mutate) {
6944
6945
  store.set('source', [...source]);
@@ -8658,7 +8659,7 @@ function getGroupValueDefault(item, prop) {
8658
8659
  * @param groupIds - ids of groups
8659
8660
  * @param expanded - potentially expanded items if present
8660
8661
  */
8661
- function gatherGrouping(array, groupIds, { prevExpanded, expandedAll, getGroupValue = getGroupValueDefault }) {
8662
+ function gatherGrouping(array, groupIds, { prevExpanded, expandedAll, getGroupValue = getGroupValueDefault, }) {
8662
8663
  const groupedItems = new Map();
8663
8664
  array.forEach((item, originalIndex) => {
8664
8665
  const groupLevelValues = groupIds.map(groupId => getGroupValue(item, groupId));
@@ -8737,7 +8738,7 @@ function getGroupingName(rgRow) {
8737
8738
  return rgRow && rgRow[PSEUDO_GROUP_ITEM];
8738
8739
  }
8739
8740
  function isGrouping(rgRow) {
8740
- return rgRow && typeof rgRow[PSEUDO_GROUP_ITEM] !== 'undefined';
8741
+ return typeof (rgRow === null || rgRow === void 0 ? void 0 : rgRow[PSEUDO_GROUP_ITEM]) !== 'undefined';
8741
8742
  }
8742
8743
  function isGroupingColumn(column) {
8743
8744
  return column && typeof column[PSEUDO_GROUP_COLUMN] !== 'undefined';
@@ -9643,7 +9644,7 @@ class KeyboardService {
9643
9644
  return;
9644
9645
  }
9645
9646
  // tab key means same as arrow right
9646
- if (codesLetter.TAB === e.code) {
9647
+ if (isTab(e.code)) {
9647
9648
  this.keyChangeSelection(e, canRange);
9648
9649
  return;
9649
9650
  }
@@ -11468,7 +11469,7 @@ class AutoSizeColumnPlugin extends BasePlugin {
11468
11469
  return reduce_1(this.providers.data.stores, (r, s) => {
11469
11470
  const perStore = reduce_1(s.store.get('items'), (prev, _row, i) => {
11470
11471
  const item = getSourceItem(s.store, i);
11471
- return Math.max(prev || 0, this.getLength(item[rgCol.prop]));
11472
+ return Math.max(prev || 0, this.getLength(item === null || item === void 0 ? void 0 : item[rgCol.prop]));
11472
11473
  }, 0);
11473
11474
  return Math.max(r, perStore);
11474
11475
  }, rgCol.size || 0);
@@ -12901,16 +12902,16 @@ class GroupingRowPlugin extends BasePlugin {
12901
12902
  return result;
12902
12903
  }
12903
12904
  // grouping filter
12904
- if (!isGrouping(model)) {
12905
- result.source.push(model);
12906
- result.oldNewIndexes[i] = index;
12907
- index++;
12908
- }
12909
- else {
12905
+ if (isGrouping(model)) {
12910
12906
  if (model[GROUP_EXPANDED]) {
12911
12907
  result.prevExpanded[model[PSEUDO_GROUP_ITEM_VALUE]] = true;
12912
12908
  }
12913
12909
  }
12910
+ else {
12911
+ result.source.push(model);
12912
+ result.oldNewIndexes[i] = index;
12913
+ index++;
12914
+ }
12914
12915
  return result;
12915
12916
  }, {
12916
12917
  source: [],
@@ -14145,6 +14146,81 @@ function isMobileDevice() {
14145
14146
  return /Mobi/i.test(navigator.userAgent) || /Android/i.test(navigator.userAgent) || navigator.maxTouchPoints > 0;
14146
14147
  }
14147
14148
 
14149
+ /**
14150
+ * WCAG Plugin is responsible for enhancing the accessibility features of the RevoGrid component.
14151
+ * It ensures that the grid is fully compliant with Web Content Accessibility Guidelines (WCAG) 2.1.
14152
+ * This plugin should be the last plugin you add, as it modifies the grid's default behavior.
14153
+ *
14154
+ * The WCAG Plugin performs the following tasks:
14155
+ * - Sets the 'dir' attribute to 'ltr' for left-to-right text direction.
14156
+ * - Sets the 'role' attribute to 'treegrid' for treelike hierarchical structure.
14157
+ * - Sets the 'aria-keyshortcuts' attribute to 'Enter' and 'Esc' for keyboard shortcuts.
14158
+ * - Adds event listeners for keyboard navigation and editing.
14159
+ *
14160
+ * By default, the plugin adds ARIA roles and properties to the grid elements, providing semantic information
14161
+ * for assistive technologies. These roles include 'grid', 'row', and 'gridcell'. The plugin also sets
14162
+ * ARIA attributes such as 'aria-rowindex', 'aria-colindex', and 'aria-selected'.
14163
+ *
14164
+ * The WCAG Plugin ensures that the grid is fully functional and usable for users with various disabilities,
14165
+ * including visual impairments, deaf-blindness, and cognitive disabilities.
14166
+ *
14167
+ * Note: The WCAG Plugin should be added as the last plugin in the list of plugins, as it modifies the grid's
14168
+ * default behavior and may conflict with other plugins if added earlier.
14169
+ */
14170
+ class WCAGPlugin extends BasePlugin {
14171
+ constructor(revogrid, providers) {
14172
+ super(revogrid, providers);
14173
+ revogrid.setAttribute('dir', 'ltr');
14174
+ revogrid.setAttribute('role', 'treegrid');
14175
+ revogrid.setAttribute('aria-keyshortcuts', 'Enter');
14176
+ revogrid.setAttribute('aria-multiselectable', 'true');
14177
+ revogrid.setAttribute('tabindex', '0');
14178
+ /**
14179
+ * Before Columns Set Event
14180
+ */
14181
+ this.addEventListener('beforecolumnsset', ({ detail }) => {
14182
+ const columns = [
14183
+ ...detail.columns.colPinStart,
14184
+ ...detail.columns.rgCol,
14185
+ ...detail.columns.colPinEnd,
14186
+ ];
14187
+ revogrid.setAttribute('aria-colcount', `${columns.length}`);
14188
+ columns.forEach((column, index) => {
14189
+ const { columnProperties, cellProperties } = column;
14190
+ column.columnProperties = (...args) => {
14191
+ const result = (columnProperties === null || columnProperties === void 0 ? void 0 : columnProperties(...args)) || {};
14192
+ result.role = 'columnheader';
14193
+ result['aria-colindex'] = index;
14194
+ return result;
14195
+ };
14196
+ column.cellProperties = (...args) => {
14197
+ const columnProps = (cellProperties === null || cellProperties === void 0 ? void 0 : cellProperties(...args)) || {};
14198
+ return Object.assign({ role: 'gridcell', ['aria-colindex']: index, ['aria-rowindex']: args[0].rowIndex, ['tabindex']: -1 }, columnProps);
14199
+ };
14200
+ });
14201
+ });
14202
+ /**
14203
+ * Before Row Set Event
14204
+ */
14205
+ this.addEventListener('beforesourceset', ({ detail, }) => {
14206
+ revogrid.setAttribute('aria-rowcount', `${detail.source.length}`);
14207
+ });
14208
+ this.addEventListener('beforerowrender', ({ detail, }) => {
14209
+ detail.node.$attrs$ = Object.assign(Object.assign({}, detail.node.$attrs$), { role: 'row', ['aria-rowindex']: detail.item.itemIndex });
14210
+ });
14211
+ // focuscell
14212
+ this.addEventListener('afterfocus', async (e) => {
14213
+ if (e.defaultPrevented) {
14214
+ return;
14215
+ }
14216
+ const el = this.revogrid.querySelector(`revogr-data[type="${e.detail.rowType}"][col-type="${e.detail.colType}"] [data-rgrow="${e.detail.rowIndex}"][data-rgcol="${e.detail.colIndex}"]`);
14217
+ if (el instanceof HTMLElement) {
14218
+ el.focus();
14219
+ }
14220
+ });
14221
+ }
14222
+ }
14223
+
14148
14224
  const revoGridStyleCss = ".revo-drag-icon{width:11px;opacity:0.8}.revo-drag-icon::before{content:\"::\"}.revo-alt-icon{-webkit-mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 384 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 384 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");width:11px;height:11px;background-size:cover;background-repeat:no-repeat}.arrow-down{position:absolute;right:5px;top:0}.arrow-down svg{width:8px;margin-top:5px;margin-left:5px;opacity:0.4}.cell-value-wrapper{margin-right:10px;overflow:hidden;text-overflow:ellipsis}.revo-button{position:relative;overflow:hidden;color:#fff;background-color:#6200ee;height:34px;line-height:34px;padding:0 15px;outline:0;border:0;border-radius:7px;box-sizing:border-box;cursor:pointer}.revo-button.green{background-color:#009037;border:1px solid #00772d}.revo-button.red{background-color:#E0662E;border:1px solid #d55920}.revo-button:disabled,.revo-button[disabled]{cursor:not-allowed !important;filter:opacity(0.35) !important}.revo-button.light{border:1px solid #cedefa;line-height:32px;background:none;color:#000;box-shadow:none}revo-grid[theme=default],revo-grid:not([theme]){border:1px solid #cecece;font-size:12px}revo-grid[theme=default] revogr-header,revo-grid:not([theme]) revogr-header{text-align:center;line-height:30px;background-color:#f8f9fa}revo-grid[theme=default] revogr-header .group-rgRow,revo-grid:not([theme]) revogr-header .group-rgRow{box-shadow:none}revo-grid[theme=default] revogr-header .header-rgRow,revo-grid[theme=default] revogr-header .group-rgRow,revo-grid:not([theme]) revogr-header .header-rgRow,revo-grid:not([theme]) revogr-header .group-rgRow{text-transform:uppercase;font-size:12px;color:#000}revo-grid[theme=default] revogr-header .header-rgRow,revo-grid:not([theme]) revogr-header .header-rgRow{height:30px;box-shadow:0 -1px 0 0 #cecece inset}revo-grid[theme=default] revogr-header .rgHeaderCell,revo-grid:not([theme]) revogr-header .rgHeaderCell{box-shadow:-1px 0 0 0 #cecece inset, 0 -1px 0 0 #cecece, 0 -1px 0 0 #cecece inset}revo-grid[theme=default] revogr-header .rgHeaderCell.focused-cell,revo-grid:not([theme]) revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=default] .rowHeaders,revo-grid:not([theme]) .rowHeaders{background-color:#f8f9fa}revo-grid[theme=default] .rowHeaders revogr-data .rgCell,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell{color:#000}revo-grid[theme=default] .rowHeaders revogr-data .rgCell:first-child,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:first-child{box-shadow:0 -1px 0 0 #cecece inset}revo-grid[theme=default] .rowHeaders revogr-data .rgCell:not(:first-child),revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:not(:first-child){box-shadow:0 -1px 0 0 #cecece inset, 1px 0 0 0 #cecece inset}revo-grid[theme=default] .rowHeaders revogr-data .rgCell:last-child,revo-grid:not([theme]) .rowHeaders revogr-data .rgCell:last-child{border-right:1px solid #cecece}revo-grid[theme=default] .rowHeaders revogr-data revogr-header,revo-grid:not([theme]) .rowHeaders revogr-data revogr-header{box-shadow:0 -1px 0 0 #cecece inset}revo-grid[theme=default] revogr-viewport-scroll.colPinStart revogr-data .rgRow .rgCell:last-child,revo-grid:not([theme]) revogr-viewport-scroll.colPinStart revogr-data .rgRow .rgCell:last-child{box-shadow:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #cecece inset}revo-grid[theme=default] revogr-viewport-scroll.colPinStart .footer-wrapper revogr-data .rgRow:first-child .rgCell,revo-grid:not([theme]) revogr-viewport-scroll.colPinStart .footer-wrapper revogr-data .rgRow:first-child .rgCell{box-shadow:0 1px 0 0 #cecece inset, -1px 0 0 0 #cecece inset}revo-grid[theme=default] revogr-viewport-scroll.colPinEnd,revo-grid[theme=default] revogr-viewport-scroll.colPinEnd revogr-header,revo-grid:not([theme]) revogr-viewport-scroll.colPinEnd,revo-grid:not([theme]) revogr-viewport-scroll.colPinEnd revogr-header{box-shadow:1px 0 0 #cecece inset}revo-grid[theme=default] .footer-wrapper revogr-data .rgRow:first-child .rgCell,revo-grid:not([theme]) .footer-wrapper revogr-data .rgRow:first-child .rgCell{box-shadow:0 1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset, 0 -1px 0 0 #e2e3e3 inset}revo-grid[theme=default] revogr-data,revo-grid:not([theme]) revogr-data{text-align:center}revo-grid[theme=default] revogr-data .revo-draggable,revo-grid:not([theme]) revogr-data .revo-draggable{float:left}revo-grid[theme=default] revogr-data .rgRow,revo-grid:not([theme]) revogr-data .rgRow{line-height:27px}revo-grid[theme=default] revogr-data .rgRow.focused-rgRow,revo-grid:not([theme]) revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=default] revogr-data .rgCell,revo-grid:not([theme]) revogr-data .rgCell{box-shadow:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset}revo-grid[theme=default] revogr-data .rgCell.disabled,revo-grid:not([theme]) revogr-data .rgCell.disabled{background-color:0 -1px 0 0 #e2e3e3 inset, -1px 0 0 0 #e2e3e3 inset}revo-grid[theme=material]{font-family:Nunito, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}revo-grid[theme=material] revogr-header{line-height:50px;font-weight:600;text-align:left}revo-grid[theme=material] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=material] revogr-header .header-rgRow{height:50px}revo-grid[theme=material] revogr-data{text-align:left}revo-grid[theme=material] revogr-data .rgRow{line-height:42px}revo-grid[theme=material] revogr-data .rgCell{padding:0 15px}revo-grid[theme=material] .rowHeaders{background-color:#f7faff}revo-grid[theme=material] .rowHeaders revogr-data .rgCell{color:#757a82}revo-grid[theme=material] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #f1f1f1, 0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-header .rgHeaderCell.sortable:hover{background-color:#f1f1f1}revo-grid[theme=material] revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=material] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #f1f1f1}revo-grid[theme=material] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #f1f1f1}revo-grid[theme=material] revogr-data .rgRow{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=material] revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=material] revogr-data .rgCell{color:rgba(0, 0, 0, 0.87)}revo-grid[theme=material] revogr-data .rgCell.disabled{background-color:#f7f7f7}revo-grid[theme=darkMaterial]{font-family:Nunito, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#d8d8d8}revo-grid[theme=darkMaterial] revogr-header{line-height:50px;font-weight:600;text-align:left}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=darkMaterial] revogr-header .header-rgRow{height:50px}revo-grid[theme=darkMaterial] revogr-data{text-align:left}revo-grid[theme=darkMaterial] revogr-data .rgRow{line-height:42px}revo-grid[theme=darkMaterial] revogr-data .rgCell{padding:0 15px}revo-grid[theme=darkMaterial] .rowHeaders{background-color:rgba(40, 39, 43, 0.8)}revo-grid[theme=darkMaterial] .rowHeaders revogr-data .rgCell{color:rgba(216, 216, 216, 0.8)}revo-grid[theme=darkMaterial] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #404040, 0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell.sortable:hover{background-color:rgba(64, 64, 64, 0.5)}revo-grid[theme=darkMaterial] revogr-header .rgHeaderCell.focused-cell{background:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkMaterial] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #404040}revo-grid[theme=darkMaterial] revogr-data .rgCell{color:rgba(216, 216, 216, 0.9)}revo-grid[theme=darkMaterial] revogr-data .rgRow{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-data .rgRow.focused-rgRow{background-color:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkMaterial] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #404040 inset}revo-grid[theme=darkMaterial] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #404040}revo-grid[theme=darkCompact]{font-family:Nunito, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";color:#d8d8d8}revo-grid[theme=darkCompact] revogr-header{line-height:45px;font-weight:600;text-align:left}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=darkCompact] revogr-header .header-rgRow{height:45px}revo-grid[theme=darkCompact] revogr-data{text-align:left}revo-grid[theme=darkCompact] revogr-data .rgRow{line-height:32px}revo-grid[theme=darkCompact] revogr-data .rgCell{padding:0 15px}revo-grid[theme=darkCompact] .rowHeaders{background-color:rgba(40, 39, 43, 0.8)}revo-grid[theme=darkCompact] .rowHeaders revogr-data .rgCell{color:rgba(216, 216, 216, 0.8)}revo-grid[theme=darkCompact] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #404040, 0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell.sortable:hover{background-color:rgba(64, 64, 64, 0.5)}revo-grid[theme=darkCompact] revogr-header .rgHeaderCell.focused-cell{background:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkCompact] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #404040}revo-grid[theme=darkCompact] revogr-data .rgCell{color:rgba(216, 216, 216, 0.9)}revo-grid[theme=darkCompact] revogr-data .rgRow{box-shadow:0 -1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-data .rgRow.focused-rgRow{background-color:rgba(115, 148, 160, 0.15)}revo-grid[theme=darkCompact] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #404040 inset}revo-grid[theme=darkCompact] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #404040}revo-grid[theme=compact]{font-family:Nunito, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}revo-grid[theme=compact] revogr-header{line-height:45px;font-weight:600;text-align:left}revo-grid[theme=compact] revogr-header .rgHeaderCell{padding:0 15px;text-overflow:ellipsis}revo-grid[theme=compact] revogr-header .header-rgRow{height:45px}revo-grid[theme=compact] revogr-data{text-align:left}revo-grid[theme=compact] revogr-data .rgRow{line-height:32px}revo-grid[theme=compact] revogr-data .rgCell{padding:0 15px}revo-grid[theme=compact] .rowHeaders{background-color:#f7faff}revo-grid[theme=compact] .rowHeaders revogr-data .rgCell{color:#757a82}revo-grid[theme=compact] revogr-header .header-rgRow.group{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-header .header-rgRow:not(.group){box-shadow:0 -1px 0 0 #f1f1f1, 0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-header .rgHeaderCell.sortable:hover{background-color:#f1f1f1}revo-grid[theme=compact] revogr-header .rgHeaderCell.focused-cell{background:rgba(233, 234, 237, 0.5)}revo-grid[theme=compact] .footer-wrapper revogr-data{box-shadow:0 -1px 0 #f1f1f1}revo-grid[theme=compact] revogr-viewport-scroll.colPinStart{box-shadow:-1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-viewport-scroll.colPinEnd{box-shadow:-1px 0 0 #f1f1f1}revo-grid[theme=compact] revogr-data .rgRow{box-shadow:0 -1px 0 0 #f1f1f1 inset}revo-grid[theme=compact] revogr-data .rgRow.focused-rgRow{background-color:rgba(233, 234, 237, 0.5)}revo-grid[theme=compact] revogr-data .rgCell{color:rgba(0, 0, 0, 0.87)}revo-grid[theme=compact] revogr-data .rgCell.disabled{background-color:#f7f7f7}revo-grid[theme=compact] revo-dropdown .rv-dr-root{padding:0px 9px}revo-grid{display:block;height:100%;min-height:300px;font-family:Helvetica, Arial, Sans-Serif, serif;font-size:14px;position:relative;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column;width:100%;height:100%}revo-grid .attribution{position:absolute;top:0;left:0;right:0;z-index:100;width:0;height:0;border-left:4px solid rgba(38, 106, 232, 0.6);border-top:4px solid rgba(38, 106, 232, 0.6);border-bottom:4px solid transparent;border-right:4px solid transparent;cursor:pointer}revo-grid .attribution .value{position:absolute;top:0;left:0;background-color:rgba(255, 255, 255, 0.9);padding:4px;border-radius:4px;box-shadow:0 1px 10px rgba(0, 0, 0, 0.2);white-space:nowrap;text-decoration:none;color:black;letter-spacing:0.3px;font-size:11px;opacity:0;width:4px;overflow:hidden;transition:opacity 0.5s ease-in-out, width 0.3s ease-in-out}revo-grid .attribution:hover .value{width:63px;opacity:1}revo-grid.column-draggable.column-drag-start:hover,revo-grid.column-draggable.column-drag-start *:hover{cursor:grabbing}revo-grid .footer-wrapper,revo-grid .header-wrapper{width:100%}revo-grid .footer-wrapper revogr-data,revo-grid .header-wrapper revogr-data{z-index:3}revo-grid revo-dropdown{width:100%}revo-grid revo-dropdown .rv-dr-root{max-height:100%}revo-grid revo-dropdown.shrink label{opacity:0}revo-grid .viewports{max-width:100%;display:flex;flex-direction:row;align-items:flex-start;flex-grow:1}revo-grid .main-viewport{flex-grow:1;height:0;display:flex;justify-content:space-between;flex-direction:row}revo-grid .draggable{position:fixed;height:30px;line-height:30px;background:#fff;border-radius:3px;display:block;z-index:100;margin-top:5px;margin-right:-20px;box-shadow:0 4px 20px 0 rgba(0, 0, 0, 0.15);padding-left:20px;padding-right:5px}revo-grid .draggable.hidden{display:none}revo-grid .draggable .revo-alt-icon{background-color:black;position:absolute;left:5px;top:10px}revo-grid .draggable-wrapper.hidden{display:none}revo-grid .drag-position{position:absolute;left:0;right:0;height:1px;z-index:2;background:gray;pointer-events:none}revo-grid .drag-position-y{position:absolute;top:0;left:0;bottom:0;width:1px;z-index:2;background:gray;pointer-events:none}revo-grid .drag-auto-scroll-y{pointer-events:none;position:absolute;left:0;top:0;height:50px;width:1px}revo-grid .clipboard{position:absolute;left:0;top:0}revo-grid revogr-scroll-virtual{position:relative}revo-grid revogr-scroll-virtual.vertical,revo-grid revogr-scroll-virtual.horizontal{z-index:3}";
14149
14225
  var RevoGridStyle0 = revoGridStyleCss;
14150
14226
 
@@ -14245,6 +14321,7 @@ class RevoGridComponent {
14245
14321
  this.hideAttribution = false;
14246
14322
  this.jobsBeforeRender = [];
14247
14323
  this.registerVNode = [];
14324
+ this.accessible = true;
14248
14325
  }
14249
14326
  // #endregion
14250
14327
  // #region Methods
@@ -14737,6 +14814,9 @@ class RevoGridComponent {
14737
14814
  viewport: this.viewportProvider,
14738
14815
  selection: this.selectionStoreConnector,
14739
14816
  };
14817
+ if (this.accessible) {
14818
+ this.internalPlugins.push(new WCAGPlugin(this.element, pluginData));
14819
+ }
14740
14820
  // register auto size plugin
14741
14821
  if (this.autoSizeColumn) {
14742
14822
  this.internalPlugins.push(new AutoSizeColumnPlugin(this.element, pluginData, typeof this.autoSizeColumn === 'object'
@@ -14862,7 +14942,7 @@ class RevoGridComponent {
14862
14942
  const headerProperties = Object.assign(Object.assign({}, view.headerProp), { type: view.type, additionalData: this.additionalData, viewportCol: view.viewportCol, selectionStore: view.columnSelectionStore, canResize: this.resize, readonly: this.readonly, columnFilter: !!this.filter });
14863
14943
  // Column headers
14864
14944
  const dataViews = [
14865
- hAsync("revogr-header", Object.assign({ key: 'bada77126c317da09a9826312186c16617c7b0af' }, headerProperties, { slot: HEADER_SLOT })),
14945
+ hAsync("revogr-header", Object.assign({ key: '31f0cebc08d5e9222d058c138079ee1d6c228ed2' }, headerProperties, { slot: HEADER_SLOT })),
14866
14946
  ];
14867
14947
  // Render viewport data (vertical sections)
14868
14948
  view.dataPorts.forEach(data => {
@@ -14884,12 +14964,12 @@ class RevoGridComponent {
14884
14964
  const typeCol = 'rgCol';
14885
14965
  const viewports = this.viewportProvider.stores;
14886
14966
  const dimensions = this.dimensionProvider.stores;
14887
- return (hAsync(Host, { key: '9b95aef4de8af770036a733986e7e0fe2dd3ffda' }, this.hideAttribution ? null : (hAsync("revogr-attribution", { class: "attribution" })), hAsync("div", { key: '68dbc0fca826a0089402157d301c49a0776e9007', class: "main-viewport", onClick: (e) => {
14967
+ return (hAsync(Host, { key: '2563091c11d20bef3e25706e64822040002fe5a4' }, this.hideAttribution ? null : (hAsync("revogr-attribution", { class: "attribution" })), hAsync("div", { key: '58fbfb9a4169e6640ad1c4b0f238c006e23d0059', class: "main-viewport", onClick: (e) => {
14888
14968
  var _a;
14889
14969
  if (e.currentTarget === e.target) {
14890
14970
  (_a = this.viewport) === null || _a === void 0 ? void 0 : _a.clearEdit();
14891
14971
  }
14892
- } }, hAsync("div", { key: '6f927e04dd8c7e542a87fdc0a4f6d74248c65ccb', class: "viewports" }, hAsync("slot", { key: 'b6d421fa412b34ce9821cd1fa30a80ae37282f37', name: "viewport" }), viewportSections, hAsync("revogr-scroll-virtual", { key: '4ce3045201685f6c6c617c84fddc5a3d531034bd', class: "vertical", dimension: typeRow, viewportStore: viewports[typeRow].store, dimensionStore: dimensions[typeRow].store, ref: el => this.scrollingService.registerElement(el, 'rowScroll'), onScrollvirtual: e => this.scrollingService.proxyScroll(e.detail) }), hAsync(OrderRenderer, { key: 'e5bd92c37bdc31f0601a4d4cf4a62026e0e25406', ref: e => (this.orderService = e) }))), hAsync("revogr-scroll-virtual", { key: 'dbda0fb90cf6a9eb6ac66ca16bcff30cf254b1e1', class: "horizontal", dimension: typeCol, viewportStore: viewports[typeCol].store, dimensionStore: dimensions[typeCol].store, ref: el => this.scrollingService.registerElement(el, 'colScroll'), onScrollvirtual: e => this.scrollingService.proxyScroll(e.detail) }), this.extraElements));
14972
+ } }, hAsync("div", { key: '028984ab42f98828aba4d5b37b831b832978133f', class: "viewports" }, hAsync("slot", { key: '521dacf842476ff8ed35ec4c87c6276c331c4316', name: "viewport" }), viewportSections, hAsync("revogr-scroll-virtual", { key: 'd4e7a0c3cdda8fcc9e64841c0d16f1e557a75144', class: "vertical", dimension: typeRow, viewportStore: viewports[typeRow].store, dimensionStore: dimensions[typeRow].store, ref: el => this.scrollingService.registerElement(el, 'rowScroll'), onScrollvirtual: e => this.scrollingService.proxyScroll(e.detail) }), hAsync(OrderRenderer, { key: 'c49e93965594b38d6827f8f8c00e3004c8c392f8', ref: e => (this.orderService = e) }))), hAsync("revogr-scroll-virtual", { key: 'ccccd5bdfbd5ccd1dfb76727b7e903a95d262945', class: "horizontal", dimension: typeCol, viewportStore: viewports[typeCol].store, dimensionStore: dimensions[typeCol].store, ref: el => this.scrollingService.registerElement(el, 'colScroll'), onScrollvirtual: e => this.scrollingService.proxyScroll(e.detail) }), this.extraElements));
14893
14973
  }
14894
14974
  disconnectedCallback() {
14895
14975
  // Remove all plugins, to avoid memory leaks and unexpected behaviour when the component is removed
@@ -14954,6 +15034,7 @@ class RevoGridComponent {
14954
15034
  "hideAttribution": [4, "hide-attribution"],
14955
15035
  "jobsBeforeRender": [16],
14956
15036
  "registerVNode": [16],
15037
+ "accessible": [4],
14957
15038
  "refresh": [64],
14958
15039
  "setDataAt": [64],
14959
15040
  "scrollToRow": [64],
@@ -15119,7 +15200,7 @@ const CellRenderer = ({ renderProps, cellProps, }) => {
15119
15200
  return (hAsync("div", Object.assign({}, cellProps, { redraw: render }), render()));
15120
15201
  };
15121
15202
 
15122
- const revogrDataStyleCss = ".revo-drag-icon{width:11px;opacity:0.8}.revo-drag-icon::before{content:\"::\"}.revo-alt-icon{-webkit-mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 384 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 384 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");width:11px;height:11px;background-size:cover;background-repeat:no-repeat}.arrow-down{position:absolute;right:5px;top:0}.arrow-down svg{width:8px;margin-top:5px;margin-left:5px;opacity:0.4}.cell-value-wrapper{margin-right:10px;overflow:hidden;text-overflow:ellipsis}.revo-button{position:relative;overflow:hidden;color:#fff;background-color:#6200ee;height:34px;line-height:34px;padding:0 15px;outline:0;border:0;border-radius:7px;box-sizing:border-box;cursor:pointer}.revo-button.green{background-color:#009037;border:1px solid #00772d}.revo-button.red{background-color:#E0662E;border:1px solid #d55920}.revo-button:disabled,.revo-button[disabled]{cursor:not-allowed !important;filter:opacity(0.35) !important}.revo-button.light{border:1px solid #cedefa;line-height:32px;background:none;color:#000;box-shadow:none}revogr-data{display:block;width:100%;position:relative}revogr-data .rgRow{position:absolute;width:100%;left:0}revogr-data .rgRow.groupingRow{font-weight:600;text-align:left}revogr-data .rgRow.groupingRow .group-expand{width:25px;height:100%;max-height:25px;margin-right:2px;background-color:transparent;border-color:transparent}revogr-data .rgRow.groupingRow .group-expand svg{width:7px}revogr-data .revo-draggable{border:none;height:32px;display:inline-flex;outline:0;padding:0;font-size:0.8125rem;box-sizing:border-box;align-items:center;white-space:nowrap;vertical-align:middle;justify-content:center;text-decoration:none;width:24px;height:100%;cursor:pointer;display:inline-flex}revogr-data .revo-draggable:hover>.revo-drag-icon{opacity:1;zoom:1.2;font-weight:600}revogr-data .revo-draggable>.revo-drag-icon{pointer-events:none;transition:opacity 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, zoom 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms}revogr-data .rgCell{top:0;left:0;position:absolute;box-sizing:border-box;height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}revogr-data .rgCell.align-center{text-align:center}revogr-data .rgCell.align-left{text-align:left}revogr-data .rgCell.align-right{text-align:right}";
15203
+ const revogrDataStyleCss = ".revo-drag-icon{width:11px;opacity:0.8}.revo-drag-icon::before{content:\"::\"}.revo-alt-icon{-webkit-mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 384 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 384 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");width:11px;height:11px;background-size:cover;background-repeat:no-repeat}.arrow-down{position:absolute;right:5px;top:0}.arrow-down svg{width:8px;margin-top:5px;margin-left:5px;opacity:0.4}.cell-value-wrapper{margin-right:10px;overflow:hidden;text-overflow:ellipsis}.revo-button{position:relative;overflow:hidden;color:#fff;background-color:#6200ee;height:34px;line-height:34px;padding:0 15px;outline:0;border:0;border-radius:7px;box-sizing:border-box;cursor:pointer}.revo-button.green{background-color:#009037;border:1px solid #00772d}.revo-button.red{background-color:#E0662E;border:1px solid #d55920}.revo-button:disabled,.revo-button[disabled]{cursor:not-allowed !important;filter:opacity(0.35) !important}.revo-button.light{border:1px solid #cedefa;line-height:32px;background:none;color:#000;box-shadow:none}revogr-data{display:block;width:100%;position:relative}revogr-data .rgRow{position:absolute;width:100%;left:0}revogr-data .rgRow.groupingRow{font-weight:600;text-align:left}revogr-data .rgRow.groupingRow .group-expand{width:25px;height:100%;max-height:25px;margin-right:2px;background-color:transparent;border-color:transparent}revogr-data .rgRow.groupingRow .group-expand svg{width:7px}revogr-data .revo-draggable{border:none;height:32px;display:inline-flex;outline:0;padding:0;font-size:0.8125rem;box-sizing:border-box;align-items:center;white-space:nowrap;vertical-align:middle;justify-content:center;text-decoration:none;width:24px;height:100%;cursor:pointer;display:inline-flex}revogr-data .revo-draggable:hover>.revo-drag-icon{opacity:1;zoom:1.2;font-weight:600}revogr-data .revo-draggable>.revo-drag-icon{pointer-events:none;transition:opacity 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, zoom 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms}revogr-data .rgCell{top:0;left:0;position:absolute;box-sizing:border-box;height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;outline:none}revogr-data .rgCell.align-center{text-align:center}revogr-data .rgCell.align-left{text-align:left}revogr-data .rgCell.align-right{text-align:right}";
15123
15204
  var RevogrDataStyle0 = revogrDataStyleCss;
15124
15205
 
15125
15206
  /**
@@ -15353,21 +15434,6 @@ class RevogrFocus$1 {
15353
15434
  this.colData = undefined;
15354
15435
  this.focusTemplate = null;
15355
15436
  }
15356
- changed(e, focus) {
15357
- const beforeScrollIn = this.beforeScrollIntoView.emit({ el: e });
15358
- if (!beforeScrollIn.defaultPrevented) {
15359
- e.scrollIntoView({
15360
- block: 'nearest',
15361
- inline: 'nearest',
15362
- });
15363
- }
15364
- const model = getSourceItem(this.dataStore, focus.y);
15365
- const column = getSourceItem(this.colData, focus.x);
15366
- this.afterFocus.emit({
15367
- model,
15368
- column,
15369
- });
15370
- }
15371
15437
  componentDidRender() {
15372
15438
  var _a, _b;
15373
15439
  const currentFocus = this.selectionStore.get('focus');
@@ -15377,7 +15443,23 @@ class RevogrFocus$1 {
15377
15443
  }
15378
15444
  this.activeFocus = currentFocus;
15379
15445
  if (currentFocus && this.el) {
15380
- this.changed(this.el, currentFocus);
15446
+ const beforeScrollIn = this.beforeScrollIntoView.emit({ el: this.el });
15447
+ if (!beforeScrollIn.defaultPrevented) {
15448
+ this.el.scrollIntoView({
15449
+ block: 'nearest',
15450
+ inline: 'nearest',
15451
+ });
15452
+ }
15453
+ const model = getSourceItem(this.dataStore, currentFocus.y);
15454
+ const column = getSourceItem(this.colData, currentFocus.x);
15455
+ this.afterFocus.emit({
15456
+ model,
15457
+ column,
15458
+ rowType: this.rowType,
15459
+ colType: this.colType,
15460
+ rowIndex: currentFocus.y,
15461
+ colIndex: currentFocus.x,
15462
+ });
15381
15463
  }
15382
15464
  }
15383
15465
  render() {
@@ -16353,7 +16435,7 @@ class GridResizeService {
16353
16435
  }
16354
16436
  }
16355
16437
 
16356
- const revogrViewportScrollStyleCss = ".revo-drag-icon{width:11px;opacity:0.8}.revo-drag-icon::before{content:\"::\"}.revo-alt-icon{-webkit-mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 384 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 384 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");width:11px;height:11px;background-size:cover;background-repeat:no-repeat}.arrow-down{position:absolute;right:5px;top:0}.arrow-down svg{width:8px;margin-top:5px;margin-left:5px;opacity:0.4}.cell-value-wrapper{margin-right:10px;overflow:hidden;text-overflow:ellipsis}.revo-button{position:relative;overflow:hidden;color:#fff;background-color:#6200ee;height:34px;line-height:34px;padding:0 15px;outline:0;border:0;border-radius:7px;box-sizing:border-box;cursor:pointer}.revo-button.green{background-color:#009037;border:1px solid #00772d}.revo-button.red{background-color:#E0662E;border:1px solid #d55920}.revo-button:disabled,.revo-button[disabled]{cursor:not-allowed !important;filter:opacity(0.35) !important}.revo-button.light{border:1px solid #cedefa;line-height:32px;background:none;color:#000;box-shadow:none}.rowHeaders{z-index:2;font-size:10px;display:flex;height:100%}.rowHeaders revogr-data .rgCell{text-align:center}.rowHeaders .rgCell{padding:0 1em !important;min-width:100%}revogr-viewport-scroll{-ms-overflow-style:none;scrollbar-width:none;overflow-x:auto;overflow-y:hidden;position:relative;z-index:1;height:100%}revogr-viewport-scroll::-webkit-scrollbar{display:none;-webkit-appearance:none}revogr-viewport-scroll.colPinStart,revogr-viewport-scroll.colPinEnd{z-index:2}revogr-viewport-scroll.colPinEnd:has(.active){overflow:visible}revogr-viewport-scroll.rgCol{flex-grow:1}revogr-viewport-scroll .content-wrapper{overflow:hidden}revogr-viewport-scroll .inner-content-table{display:flex;flex-direction:column;max-height:100%;width:100%;min-width:100%;position:relative;z-index:0}revogr-viewport-scroll .vertical-inner{overflow-y:auto;position:relative;width:100%;flex-grow:1;-ms-overflow-style:none;scrollbar-width:none;}revogr-viewport-scroll .vertical-inner::-webkit-scrollbar{display:none;-webkit-appearance:none}revogr-viewport-scroll .vertical-inner revogr-data,revogr-viewport-scroll .vertical-inner revogr-overlay-selection{height:100%}";
16438
+ const revogrViewportScrollStyleCss = ".revo-drag-icon{width:11px;opacity:0.8}.revo-drag-icon::before{content:\"::\"}.revo-alt-icon{-webkit-mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 384 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg viewBox='0 0 384 383' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg%3E%3Cpath d='M192.4375,383 C197.424479,383 201.663411,381.254557 205.154297,377.763672 L205.154297,377.763672 L264.25,318.667969 C270.234375,312.683594 271.605794,306.075846 268.364258,298.844727 C265.122721,291.613607 259.51237,287.998047 251.533203,287.998047 L251.533203,287.998047 L213.382812,287.998047 L213.382812,212.445312 L288.935547,212.445312 L288.935547,250.595703 C288.935547,258.57487 292.551107,264.185221 299.782227,267.426758 C307.013346,270.668294 313.621094,269.296875 319.605469,263.3125 L319.605469,263.3125 L378.701172,204.216797 C382.192057,200.725911 383.9375,196.486979 383.9375,191.5 C383.9375,186.513021 382.192057,182.274089 378.701172,178.783203 L378.701172,178.783203 L319.605469,119.6875 C313.621094,114.201823 307.013346,112.955078 299.782227,115.947266 C292.551107,118.939453 288.935547,124.42513 288.935547,132.404297 L288.935547,132.404297 L288.935547,170.554688 L213.382812,170.554688 L213.382812,95.0019531 L251.533203,95.0019531 C259.51237,95.0019531 264.998047,91.3863932 267.990234,84.1552734 C270.982422,76.9241536 269.735677,70.3164062 264.25,64.3320312 L264.25,64.3320312 L205.154297,5.23632812 C201.663411,1.74544271 197.424479,0 192.4375,0 C187.450521,0 183.211589,1.74544271 179.720703,5.23632812 L179.720703,5.23632812 L120.625,64.3320312 C114.640625,70.3164062 113.269206,76.9241536 116.510742,84.1552734 C119.752279,91.3863932 125.36263,95.0019531 133.341797,95.0019531 L133.341797,95.0019531 L171.492188,95.0019531 L171.492188,170.554688 L95.9394531,170.554688 L95.9394531,132.404297 C95.9394531,124.42513 92.3238932,118.814779 85.0927734,115.573242 C77.8616536,112.331706 71.2539062,113.703125 65.2695312,119.6875 L65.2695312,119.6875 L6.17382812,178.783203 C2.68294271,182.274089 0.9375,186.513021 0.9375,191.5 C0.9375,196.486979 2.68294271,200.725911 6.17382812,204.216797 L6.17382812,204.216797 L65.2695312,263.3125 C71.2539062,268.798177 77.8616536,270.044922 85.0927734,267.052734 C92.3238932,264.060547 95.9394531,258.57487 95.9394531,250.595703 L95.9394531,250.595703 L95.9394531,212.445312 L171.492188,212.445312 L171.492188,287.998047 L133.341797,287.998047 C125.36263,287.998047 119.876953,291.613607 116.884766,298.844727 C113.892578,306.075846 115.139323,312.683594 120.625,318.667969 L120.625,318.667969 L179.720703,377.763672 C183.211589,381.254557 187.450521,383 192.4375,383 Z'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\");width:11px;height:11px;background-size:cover;background-repeat:no-repeat}.arrow-down{position:absolute;right:5px;top:0}.arrow-down svg{width:8px;margin-top:5px;margin-left:5px;opacity:0.4}.cell-value-wrapper{margin-right:10px;overflow:hidden;text-overflow:ellipsis}.revo-button{position:relative;overflow:hidden;color:#fff;background-color:#6200ee;height:34px;line-height:34px;padding:0 15px;outline:0;border:0;border-radius:7px;box-sizing:border-box;cursor:pointer}.revo-button.green{background-color:#009037;border:1px solid #00772d}.revo-button.red{background-color:#E0662E;border:1px solid #d55920}.revo-button:disabled,.revo-button[disabled]{cursor:not-allowed !important;filter:opacity(0.35) !important}.revo-button.light{border:1px solid #cedefa;line-height:32px;background:none;color:#000;box-shadow:none}.rowHeaders{z-index:2;font-size:10px;display:flex;height:100%}.rowHeaders revogr-data .rgCell{text-align:center}.rowHeaders .rgCell{padding:0 1em !important;min-width:100%}revogr-viewport-scroll{-ms-overflow-style:none;scrollbar-width:none;overflow-x:auto;overflow-y:hidden;position:relative;z-index:1;height:100%}revogr-viewport-scroll::-webkit-scrollbar{display:none;-webkit-appearance:none}revogr-viewport-scroll.colPinStart,revogr-viewport-scroll.colPinEnd{z-index:2}revogr-viewport-scroll.colPinEnd:has(.active){overflow:visible}revogr-viewport-scroll.rgCol{flex-grow:1}revogr-viewport-scroll .content-wrapper{overflow:hidden}revogr-viewport-scroll .inner-content-table{display:flex;flex-direction:column;max-height:100%;width:100%;min-width:100%;position:relative;z-index:0}revogr-viewport-scroll .vertical-inner{overflow-y:auto;position:relative;width:100%;flex-grow:1;outline:none;-ms-overflow-style:none;scrollbar-width:none;}revogr-viewport-scroll .vertical-inner::-webkit-scrollbar{display:none;-webkit-appearance:none}revogr-viewport-scroll .vertical-inner revogr-data,revogr-viewport-scroll .vertical-inner revogr-overlay-selection{height:100%}";
16357
16439
  var RevogrViewportScrollStyle0 = revogrViewportScrollStyleCss;
16358
16440
 
16359
16441
  /**