@ui5/webcomponents-compat 2.12.0-rc.1 → 2.12.0-rc.3

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 (85) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +6 -3
  3. package/dist/Table.d.ts +1 -0
  4. package/dist/Table.js +1 -0
  5. package/dist/Table.js.map +1 -1
  6. package/dist/TableCell.d.ts +1 -0
  7. package/dist/TableCell.js +1 -0
  8. package/dist/TableCell.js.map +1 -1
  9. package/dist/TableColumn.d.ts +1 -0
  10. package/dist/TableColumn.js +1 -0
  11. package/dist/TableColumn.js.map +1 -1
  12. package/dist/TableGroupRow.d.ts +1 -0
  13. package/dist/TableGroupRow.js +1 -0
  14. package/dist/TableGroupRow.js.map +1 -1
  15. package/dist/TableRow.d.ts +1 -0
  16. package/dist/TableRow.js +1 -0
  17. package/dist/TableRow.js.map +1 -1
  18. package/dist/css/themes/GrowingButton.css +1 -1
  19. package/dist/css/themes/Table.css +1 -1
  20. package/dist/css/themes/TableCell.css +1 -1
  21. package/dist/css/themes/TableColumn.css +1 -1
  22. package/dist/css/themes/TableGroupRow.css +1 -1
  23. package/dist/css/themes/TableRow.css +1 -1
  24. package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
  25. package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
  26. package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
  27. package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
  28. package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
  29. package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
  30. package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -1
  31. package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -1
  32. package/dist/custom-elements-internal.json +5 -0
  33. package/dist/custom-elements.json +5 -0
  34. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  35. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  36. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  37. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  38. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  39. package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
  40. package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
  41. package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
  42. package/dist/generated/themes/GrowingButton.css.d.ts +1 -1
  43. package/dist/generated/themes/GrowingButton.css.js +1 -1
  44. package/dist/generated/themes/GrowingButton.css.js.map +1 -1
  45. package/dist/generated/themes/Table.css.d.ts +1 -1
  46. package/dist/generated/themes/Table.css.js +1 -1
  47. package/dist/generated/themes/Table.css.js.map +1 -1
  48. package/dist/generated/themes/TableCell.css.d.ts +1 -1
  49. package/dist/generated/themes/TableCell.css.js +1 -1
  50. package/dist/generated/themes/TableCell.css.js.map +1 -1
  51. package/dist/generated/themes/TableColumn.css.d.ts +1 -1
  52. package/dist/generated/themes/TableColumn.css.js +1 -1
  53. package/dist/generated/themes/TableColumn.css.js.map +1 -1
  54. package/dist/generated/themes/TableGroupRow.css.d.ts +1 -1
  55. package/dist/generated/themes/TableGroupRow.css.js +1 -1
  56. package/dist/generated/themes/TableGroupRow.css.js.map +1 -1
  57. package/dist/generated/themes/TableRow.css.d.ts +1 -1
  58. package/dist/generated/themes/TableRow.css.js +1 -1
  59. package/dist/generated/themes/TableRow.css.js.map +1 -1
  60. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
  61. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  62. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
  63. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
  64. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  65. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
  66. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
  67. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  68. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
  69. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
  70. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  71. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
  72. package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
  73. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  74. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
  75. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
  76. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
  77. package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
  78. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
  79. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -1
  80. package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
  81. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
  82. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -1
  83. package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
  84. package/dist/web-types.json +6 -6
  85. package/package.json +8 -8
package/CHANGELOG.md CHANGED
@@ -3,6 +3,22 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.12.0-rc.3](https://github.com/SAP/ui5-webcomponents/compare/v2.12.0-rc.2...v2.12.0-rc.3) (2025-07-03)
7
+
8
+ **Note:** Version bump only for package @ui5/webcomponents-compat
9
+
10
+
11
+
12
+
13
+
14
+ # [2.12.0-rc.2](https://github.com/SAP/ui5-webcomponents/compare/v2.12.0-rc.1...v2.12.0-rc.2) (2025-06-26)
15
+
16
+ **Note:** Version bump only for package @ui5/webcomponents-compat
17
+
18
+
19
+
20
+
21
+
6
22
  # [2.12.0-rc.1](https://github.com/SAP/ui5-webcomponents/compare/v2.12.0-rc.0...v2.12.0-rc.1) (2025-06-19)
7
23
 
8
24
  **Note:** Version bump only for package @ui5/webcomponents-compat
package/README.md CHANGED
@@ -2,13 +2,16 @@
2
2
 
3
3
  [![npm Package Version](https://badge.fury.io/js/%40ui5%2Fwebcomponents.svg)](https://www.npmjs.com/package/@ui5/webcomponents)
4
4
 
5
- Provides Table web component for compatibility (previously part of the "@ui5/webcomponents" package), while brand new Table web component is being developed and will replace it in the "@ui5/webcomponents" package.
5
+ **DEPRECATED SINCE 2.12.0:** The `@ui5/webcomponents-compat` package has been deprecated as of version `2.12.0`.
6
+ Please use the Table from `@ui5/webcomponents` package instead.
6
7
 
8
+ While `@ui5/webcomponents-compat` will remain available for compatibility purposes (until the next major release),
9
+ migration is strongly recommended, as new development and enhancements will be focused on `@ui5/webcomponents/Table`.
7
10
 
8
- **Note:** The package is available since 2.0 and will be available until the next major release (3.0) when it will be removed as the Table "@ui5/webcomponents" will finally replace it.
11
+ ## Provided components
9
12
 
13
+ The package provides Table web component and several subcomopnents as descrived below.
10
14
 
11
- ## Provided components
12
15
 
13
16
  | Web Component | Tag name | Module import |
14
17
  |--------------------------|-----------------------------|------------------------------------------------------------|
package/dist/Table.d.ts CHANGED
@@ -108,6 +108,7 @@ declare enum TableFocusTargetElement {
108
108
  * @constructor
109
109
  * @extends UI5Element
110
110
  * @public
111
+ * @deprecated Deprecated as of version 2.12.0, use `@ui5/webcomponents/dist/Table.js` instead.
111
112
  */
112
113
  declare class Table extends UI5Element {
113
114
  eventDetails: {
package/dist/Table.js CHANGED
@@ -97,6 +97,7 @@ var TableFocusTargetElement;
97
97
  * @constructor
98
98
  * @extends UI5Element
99
99
  * @public
100
+ * @deprecated Deprecated as of version 2.12.0, use `@ui5/webcomponents/dist/Table.js` instead.
100
101
  */
101
102
  let Table = Table_1 = class Table extends UI5Element {
102
103
  constructor() {
package/dist/Table.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","sourceRoot":"","sources":["../src/Table.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { ChangeInfo } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport {\n\tisTabNext,\n\tisTabPrevious,\n\tisSpace,\n\tisEnter,\n\tisDown,\n\tisCtrlA,\n\tisUpAlt,\n\tisDownAlt,\n\tisUpShift,\n\tisDownShift,\n\tisHomeCtrl,\n\tisEndCtrl,\n\tisHomeShift,\n\tisEndShift,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport getNormalizedTarget from \"@ui5/webcomponents-base/dist/util/getNormalizedTarget.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\nimport { getLastTabbableElement, getTabbableElements } from \"@ui5/webcomponents-base/dist/util/TabbableElements.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport debounce from \"@ui5/webcomponents-base/dist/util/debounce.js\";\nimport TableGrowingMode from \"./types/TableGrowingMode.js\";\nimport type {\n\tTableRowClickEventDetail,\n\tTableRowSelectionRequestedEventDetail,\n\tTableRowF7PressEventDetail,\n\tTableRowForwardBeforeEventDetail,\n\tTableRowForwardAfterEventDetail,\n} from \"./TableRow.js\";\nimport type TableCell from \"./TableCell.js\";\nimport type TableColumn from \"./TableColumn.js\";\nimport type TableColumnPopinDisplay from \"./types/TableColumnPopinDisplay.js\";\nimport TableMode from \"./types/TableMode.js\";\n\n// Texts\nimport {\n\tLOAD_MORE_TEXT,\n\tARIA_LABEL_SELECT_ALL_CHECKBOX,\n\tTABLE_HEADER_ROW_INFORMATION,\n\tTABLE_ROW_POSITION,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport TableTemplate from \"./TableTemplate.js\";\n\n// Styles\nimport tableStyles from \"./generated/themes/Table.css.js\";\n\n/**\n * Interface for components that may be slotted inside a `ui5-table` as rows\n * @public\n */\ninterface ITableRow extends UI5Element, ITabbable {\n\tmode: `${TableMode}`,\n\tselected: boolean,\n\tforcedBusy: boolean,\n\tforcedAriaPosition?: string,\n\t_columnsInfoString: string,\n\t_columnsInfo?: Array<TableColumnInfo>,\n\ttabbableElements: Array<HTMLElement>,\n}\n\nconst GROWING_WITH_SCROLL_DEBOUNCE_RATE = 250; // ms\n\nconst PAGE_UP_DOWN_SIZE = 20;\n\ntype TableColumnInfo = {\n\tcell?: TableCell,\n\tindex?: number,\n\ttext?: string | null,\n\tvisible?: boolean,\n\tdemandPopin?: boolean,\n\tpopinText?: string,\n\tpopinDisplay?: `${TableColumnPopinDisplay}`,\n\tpopinDisplayInline?: boolean,\n\tclasses?: string,\n\tminWidth?: number,\n}\n\ntype TableColumnHeaderInfo = ITabbable;\n\ntype TableSelectionChangeEventDetail = {\n\tselectedRows: Array<ITableRow>,\n\tpreviouslySelectedRows: Array<ITableRow>,\n}\n\ntype TablePopinChangeEventDetail = {\n\tpoppedColumns: Array<TableColumnInfo>;\n}\n\nenum TableFocusTargetElement {\n\tRow = \"tableRow\",\n\tGroupRow = \"tableGroupRow\",\n\tColumnHeader = \"columnHeader\",\n\tMoreButton = \"moreButton\",\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table` component provides a set of sophisticated and convenient functions for responsive table design.\n * It provides a comprehensive set of features for displaying and dealing with vast amounts of data.\n *\n * To render the `Table` properly, the order of the `columns` should match with the\n * order of the item `cells` in the `rows`.\n *\n * Desktop and tablet devices are supported.\n * On tablets, special consideration should be given to the number of visible columns\n * and rows due to the limited performance of some devices.\n *\n * ### Selection\n * To benefit from the selection mechanism of `ui5-table` component, you can use the available selection modes:\n * `SingleSelect` and `MultiSelect`.\n *\n * In additition to the used mode, you can also specify the `ui5-table-row` type choosing between\n * `Active` or `Inactive`.\n *\n * In `SingleSelect` mode, you can select both an `Active` and `Inactive` row via mouse or\n * by pressing the `Space` or `Enter` keys.\n *\n * In `MultiSelect` mode, you can select both an `Active` and `Inactive` row by pressing the\n * `Space` key when a row is on focus or via mouse click over the selection checkbox of the row.\n * In order to select all the available rows at once, you can use the selection checkbox presented in the table's header.\n *\n * **Note:** Currently, when a column is shown as a pop-in, the visual indication for selection is not presented over it.\n *\n * ### Keyboard Handling\n *\n * #### Fast Navigation\n * This component provides a build in fast navigation group which can be used via [F6] / [Shift] + [F6] / [Ctrl] + [Alt/Option] / [Down] or [Ctrl] + [Alt/Option] + [Up].\n * In order to use this functionality, you need to import the following module:\n * `import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"`\n *\n * Furthermore, you can interact with `ui5-table` via the following keys.\n *\n * - [F7] - If focus is on an interactive control inside an item, moves focus to the corresponding item.\n * - [Ctrl]+[A] - Selects all items, if MultiSelect mode is enabled.\n * - [Home]/[End] - Focuses the first/last item.\n * - [Page Up]/[Page Down] - Moves focus up/down by page size (20 items by default).\n * - [Alt]+[Down]/[Up] - Switches focus between header, last focused item, and More button (if applies) in either direction.\n * - [Shift]+[Down]/[Up] - Selects the next/previous item in a MultiSelect table, if the current item is selected (Range selection). Otherwise, deselects them (Range deselection).\n * - [Shift]+[Home]/[End] - Range selection to the first/last item of the List.\n * - [Ctrl]+[Home]/[End] - Same behavior as HOME & END.\n *\n * ### ES6 Module Import\n *\n * - `import \"@ui5/webcomponents-compat/dist/Table.js\";`\n * - `import \"@ui5/webcomponents-compat/dist/TableColumn.js\";` (`ui5-table-column`)\n * - `import \"@ui5/webcomponents-compat/dist/TableRow.js\";` (`ui5-table-row`)\n * - `import \"@ui5/webcomponents-compat/dist/TableGroupRow.js\";` (`ui5-table-group-row`)\n * - `import \"@ui5/webcomponents-compat/dist/TableCell.js\";` (`ui5-table-cell`)\n * @constructor\n * @extends UI5Element\n * @public\n */\n@customElement({\n\ttag: \"ui5-table\",\n\tfastNavigation: true,\n\tstyles: tableStyles,\n\trenderer: jsxRenderer,\n\ttemplate: TableTemplate,\n})\n/** Fired when a row in `Active` mode is clicked or `Enter` key is pressed.\n * @param {HTMLElement} row the activated row.\n * @public\n */\n@event(\"row-click\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when `ui5-table-column` is shown as a pop-in instead of hiding it.\n * @param {Array} poppedColumns popped-in columns.\n * @since 2.0.0\n * @public\n */\n@event(\"popin-change\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the user presses the `More` button or scrolls to the table's end.\n *\n * **Note:** The event will be fired if `growing` is set to `Button` or `Scroll`.\n * @public\n * @since 2.0.0\n */\n@event(\"load-more\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when selection is changed by user interaction\n * in `SingleSelect` and `MultiSelect` modes.\n * @param {Array} selectedRows An array of the selected rows.\n * @param {Array} previouslySelectedRows An array of the previously selected rows.\n * @public\n * @since 2.0.0\n */\n@event(\"selection-change\", {\n\tbubbles: true,\n})\nclass Table extends UI5Element {\n\teventDetails!: {\n\t\t\"row-click\": TableRowClickEventDetail,\n\t\t\"popin-change\": TablePopinChangeEventDetail,\n\t\t\"load-more\": void,\n\t\t\"selection-change\": TableSelectionChangeEventDetail,\n\t}\n\n\t/**\n\t * Defines the text that will be displayed when there is no data and `hideNoData` is not present.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tnoDataText?: string;\n\n\t/**\n\t * Defines the text that will be displayed inside the growing button at the bottom of the table,\n\t * meant for loading more rows upon press.\n\t *\n\t * **Note:** If not specified a built-in text will be displayed.\n\t *\n\t * **Note:** This property takes effect if `growing` is set to `Button`.\n\t * @default undefined\n\t * @since 2.0.0\n\t * @public\n\t */\n\t@property()\n\tgrowingButtonText?: string;\n\n\t/**\n\t * Defines the subtext that will be displayed under the `growingButtonText`.\n\t *\n\t * **Note:** This property takes effect if `growing` is set to `Button`.\n\t * @default undefined\n\t * @since 2.0.0\n\t * @public\n\t */\n\t@property()\n\tgrowingButtonSubtext?: string;\n\n\t/**\n\t * Defines if the value of `noDataText` will be diplayed when there is no rows present in the table.\n\t * @default false\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property({ type: Boolean })\n\thideNoData = false;\n\n\t/**\n\t * Defines whether the table will have growing capability either by pressing a `More` button,\n\t * or via user scroll. In both cases `load-more` event is fired.\n\t *\n\t * Available options:\n\t *\n\t * `Button` - Shows a `More` button at the bottom of the table, pressing of which triggers the `load-more` event.\n\t *\n\t * `Scroll` - The `load-more` event is triggered when the user scrolls to the bottom of the table;\n\t *\n\t * `None` (default) - The growing is off.\n\t *\n\t * **Restrictions:** `growing=\"Scroll\"` is not supported for Internet Explorer,\n\t * and the component will fallback to `growing=\"Button\"`.\n\t * @default \"None\"\n\t * @since 2.0.0\n\t * @public\n\t */\n\t@property()\n\tgrowing: `${TableGrowingMode}` = \"None\";\n\n\t/**\n\t * Defines if the table is in busy state.\n\t *\n\t * In this state the component's opacity is reduced\n\t * and busy indicator is displayed at the bottom of the table.\n\t * @default false\n\t * @since 2.0.0\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tbusy = false;\n\n\t/**\n\t * Defines the delay in milliseconds, after which the busy indicator will show up for this component.\n\t * @default 1000\n\t * @public\n\t */\n\t@property({ type: Number })\n\tbusyDelay = 1000;\n\n\t/**\n\t * Determines whether the column headers remain fixed at the top of the page during\n\t * vertical scrolling as long as the Web Component is in the viewport.\n\t *\n\t * **Restrictions:**\n\t *\n\t * - Browsers that do not support this feature:\n\t *\n\t * - Internet Explorer\n\t * - Microsoft Edge lower than version 41 (EdgeHTML 16)\n\t * - Mozilla Firefox lower than version 59\n\t *\n\t * - Scrolling behavior:\n\t *\n\t * - If the Web Component is placed in layout containers that have the `overflow: hidden`\n\t * or `overflow: auto` style definition, this can\n\t * prevent the sticky elements of the Web Component from becoming fixed at the top of the viewport.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tstickyColumnHeader = false;\n\n\t/**\n\t * Defines the mode of the component.\n\t * @default \"None\"\n\t * @since 2.0.0\n\t * @public\n\t */\n\t@property()\n\tmode: `${TableMode}` = \"None\";\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t@property({ type: Array })\n\t_hiddenColumns?: Array<TableColumnInfo>;\n\n\t@property({ type: Boolean })\n\t_noDataDisplayed = false;\n\n\t/**\n\t * Defines the active state of the `More` button.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_loadMoreActive = false;\n\n\t/**\n\t * Used to represent the table column header for the purpose of the item navigation as it does not work with DOM objects directly\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_columnHeader: TableColumnHeaderInfo;\n\n\t/**\n\t * Defines whether all rows are selected or not when table is in MultiSelect mode.\n\t * @default false\n\t * @since 2.0.0\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_allRowsSelected = false;\n\n\t/**\n\t * Defines the component rows.\n\t *\n\t * **Note:** Use `ui5-table-row` for the intended design.\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\t\"default\": true,\n\t\tindividualSlots: true,\n\t\tinvalidateOnChildChange: true,\n\t})\n\trows!: Array<ITableRow>;\n\n\t/**\n\t * Defines the configuration for the columns of the component.\n\t *\n\t * **Note:** Use `ui5-table-column` for the intended design.\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\tindividualSlots: true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: false,\n\t\t},\n\t})\n\tcolumns!: Array<TableColumn>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tfnHandleF7: (e: CustomEvent) => void;\n\tfnOnRowFocused: (e: CustomEvent) => void;\n\t_handleResize: ResizeObserverCallback;\n\n\ttableEndObserved: boolean;\n\tvisibleColumns: Array<TableColumn>;\n\tvisibleColumnsCount?: number;\n\tlastFocusedElement: HTMLElement | null;\n\tgrowingIntersectionObserver?: IntersectionObserver | null;\n\tinitialIntersection: boolean;\n\n\t_forwardingFocus: boolean;\n\t_prevNestedElementIndex: number;\n\t_itemNavigation: ItemNavigation;\n\t_prevFocusedRow?: ITableRow;\n\n\t_afterElement?: HTMLElement;\n\t_beforeElement?: HTMLElement;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis.visibleColumns = []; // template loop should always have a defined array\n\t\t// The ItemNavigation requires each item to 1) have a \"forcedTabIndex\" property and 2) be either a UI5Element, or have an id property (to find it in the component's shadow DOM by)\n\t\tthis._columnHeader = {\n\t\t\tid: `${this._id}-columnHeader`,\n\t\t\tforcedTabIndex: \"0\",\n\t\t};\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tnavigationMode: NavigationMode.Vertical,\n\t\t\taffectedPropertiesNames: [\"_columnHeader\"],\n\t\t\tgetItemsCallback: () => [this._columnHeader, ...this.rows],\n\t\t\tskipItemsSize: PAGE_UP_DOWN_SIZE,\n\t\t});\n\n\t\tthis._handleResize = this.popinContent.bind(this);\n\t\tthis.fnOnRowFocused = this.onRowFocused.bind(this);\n\t\tthis.fnHandleF7 = this._handleF7.bind(this);\n\n\t\tthis.tableEndObserved = false;\n\n\t\t// Stores the last focused element within the table.\n\t\tthis.lastFocusedElement = null;\n\n\t\t// Indicates whether the table is forwarding focus before or after the current table row.\n\t\tthis._forwardingFocus = false;\n\n\t\t// Stores the last focused nested element index (within a table row) for F7 navigation.\n\t\tthis._prevNestedElementIndex = 0;\n\n\t\t// Indicates the Table bottom most part has been detected by the IntersectionObserver\n\t\t// for the first time.\n\t\tthis.initialIntersection = true;\n\t}\n\n\tonBeforeRendering() {\n\t\tconst columnSettings = this.getColumnPropagationSettings();\n\t\tconst columnSettingsString = JSON.stringify(columnSettings);\n\t\tconst rowsCount = this.rows.length + 1;\n\t\tconst selectedRows = this.selectedRows;\n\n\t\tthis.rows.forEach((row, index) => {\n\t\t\tif (row._columnsInfoString !== columnSettingsString) {\n\t\t\t\trow._columnsInfo = columnSettings;\n\t\t\t\trow._columnsInfoString = JSON.stringify(row._columnsInfo);\n\t\t\t}\n\n\t\t\trow.forcedAriaPosition = Table.i18nBundle.getText(TABLE_ROW_POSITION, index + 2, rowsCount);\n\t\t\trow.forcedBusy = this.busy;\n\t\t\trow.removeEventListener(\"ui5-_focused\", this.fnOnRowFocused as EventListener);\n\t\t\trow.addEventListener(\"ui5-_focused\", this.fnOnRowFocused as EventListener);\n\t\t\trow.removeEventListener(\"ui5-f7-pressed\", this.fnHandleF7 as EventListener);\n\t\t\trow.addEventListener(\"ui5-f7-pressed\", this.fnHandleF7 as EventListener);\n\t\t\trow.mode = this.mode;\n\t\t});\n\n\t\tthis.visibleColumns = this.columns.filter((column, index) => {\n\t\t\treturn !this._hiddenColumns?.[index];\n\t\t});\n\n\t\tthis._noDataDisplayed = !this.rows.length && !this.hideNoData;\n\t\tthis.visibleColumnsCount = this.visibleColumns.length;\n\n\t\tif (this.isMultiSelect) {\n\t\t\t// we have to count the selection column as well\n\t\t\tthis.visibleColumnsCount += 1;\n\t\t}\n\n\t\tthis._allRowsSelected = selectedRows.length === this.rows.length;\n\n\t\tthis._prevFocusedRow = this._prevFocusedRow || this.rows[0];\n\t}\n\n\tonAfterRendering() {\n\t\tif (this.growsOnScroll) {\n\t\t\tthis.observeTableEnd();\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tthis.growingIntersectionObserver = this.getIntersectionObserver();\n\n\t\tResizeHandler.register(this.getDomRef()!, this._handleResize);\n\n\t\tthis._itemNavigation.setCurrentItem(this.rows.length ? this.rows[0] : this._columnHeader);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this.getDomRef()!, this._handleResize);\n\n\t\tthis.growingIntersectionObserver!.disconnect();\n\t\tthis.growingIntersectionObserver = null;\n\t\tthis.tableEndObserved = false;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isTabNext(e) || isTabPrevious(e)) {\n\t\t\tthis._handleTab(e);\n\t\t}\n\n\t\tif (isCtrlA(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.isMultiSelect && this._selectAll();\n\t\t}\n\n\t\tif (isUpAlt(e) || isDownAlt(e)) {\n\t\t\tthis._handleArrowAlt(e);\n\t\t}\n\n\t\tif ((isUpShift(e) || isDownShift(e)) && this.isMultiSelect) {\n\t\t\tthis._handleArrowNav(e);\n\t\t}\n\n\t\tif (isHomeCtrl(e)) {\n\t\t\te.preventDefault();\n\n\t\t\tthis._itemNavigation._handleHome();\n\t\t\tthis._itemNavigation._applyTabIndex();\n\t\t\tthis._itemNavigation._focusCurrentItem();\n\t\t}\n\n\t\tif (isEndCtrl(e)) {\n\t\t\te.preventDefault();\n\n\t\t\tthis._itemNavigation._handleEnd();\n\t\t\tthis._itemNavigation._applyTabIndex();\n\t\t\tthis._itemNavigation._focusCurrentItem();\n\t\t}\n\n\t\tif ((isHomeShift(e) || isEndShift(e)) && this.isMultiSelect) {\n\t\t\tthis._handleHomeEndSelection(e);\n\t\t}\n\t}\n\n\t_handleTab(e: KeyboardEvent) {\n\t\tconst isNext = isTabNext(e);\n\t\tconst target = getNormalizedTarget(e.target as HTMLElement);\n\t\tconst targetType: TableFocusTargetElement | undefined = this.getFocusedElementType(e.target as HTMLElement);\n\n\t\tif (this.columnHeaderTabbables.includes(target)) {\n\t\t\tif (isNext && this.columnHeaderLastElement === target) {\n\t\t\t\treturn this._focusNextElement();\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (isNext && targetType === TableFocusTargetElement.ColumnHeader && !this.columnHeaderTabbables.length) {\n\t\t\treturn this._focusNextElement();\n\t\t}\n\n\t\tif (targetType === TableFocusTargetElement.Row || !targetType) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch (targetType) {\n\t\tcase TableFocusTargetElement.GroupRow:\n\t\t\treturn isNext ? this._focusNextElement() : this._focusForwardElement(false);\n\t\tcase TableFocusTargetElement.ColumnHeader:\n\t\t\treturn !isNext && this._focusForwardElement(false);\n\t\tcase TableFocusTargetElement.MoreButton:\n\t\t\tif (isNext) {\n\t\t\t\tthis._focusForwardElement(true);\n\t\t\t} else {\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.currentElement?.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\t_focusNextElement() {\n\t\tif (!this.growsWithButton) {\n\t\t\tthis._focusForwardElement(true);\n\t\t} else {\n\t\t\tthis.morеBtn!.focus();\n\t\t}\n\t}\n\n\t_handleArrowNav(e: KeyboardEvent) {\n\t\tconst isRowFocused = this.currentElement!.localName === \"tr\";\n\n\t\tif (!isRowFocused) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst previouslySelectedRows: Array<ITableRow> = this.selectedRows;\n\t\tconst currentItem: ITableRow = this.currentItem;\n\t\tconst currentItemIdx: number = this.currentItemIdx;\n\n\t\tconst prevItemIdx = currentItemIdx - 1;\n\t\tconst nextItemIdx = currentItemIdx + 1;\n\n\t\tconst prevItem: ITableRow = this.rows[prevItemIdx];\n\t\tconst nextItem: ITableRow = this.rows[nextItemIdx];\n\t\tconst wasSelected = !!currentItem.selected;\n\n\t\tif ((isUpShift(e) && !prevItem) || (isDownShift(e) && !nextItem)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isUpShift(e)) {\n\t\t\tcurrentItem.selected = currentItem.selected && !prevItem.selected;\n\t\t\tprevItem.selected = currentItem.selected || (wasSelected && !currentItem.selected);\n\t\t\tprevItem.focus();\n\t\t}\n\n\t\tif (isDownShift(e)) {\n\t\t\tcurrentItem.selected = currentItem.selected && !nextItem.selected;\n\t\t\tnextItem.selected = currentItem.selected || (wasSelected && !currentItem.selected);\n\t\t\tnextItem.focus();\n\t\t}\n\n\t\tconst selectedRows = this.selectedRows;\n\n\t\tthis.fireDecoratorEvent(\"selection-change\", {\n\t\t\tselectedRows,\n\t\t\tpreviouslySelectedRows,\n\t\t});\n\t}\n\n\t_handleHomeEndSelection(e: KeyboardEvent) {\n\t\tconst isRowFocused = this.currentElement!.localName === \"tr\";\n\n\t\tif (!isRowFocused) {\n\t\t\treturn;\n\t\t}\n\t\tconst rows = this.rows;\n\t\tconst previouslySelectedRows: Array<ITableRow> = this.selectedRows;\n\t\tconst currentItemIdx = this.currentItemIdx;\n\n\t\tif (isHomeShift(e)) {\n\t\t\trows.slice(0, currentItemIdx + 1).forEach(item => {\n\t\t\t\titem.selected = true;\n\t\t\t});\n\t\t\trows[0].focus();\n\t\t}\n\n\t\tif (isEndShift(e)) {\n\t\t\trows.slice(currentItemIdx).forEach(item => {\n\t\t\t\titem.selected = true;\n\t\t\t});\n\t\t\trows[rows.length - 1].focus();\n\t\t}\n\n\t\tconst selectedRows: Array<ITableRow> = this.selectedRows;\n\n\t\tthis.fireDecoratorEvent(\"selection-change\", {\n\t\t\tselectedRows,\n\t\t\tpreviouslySelectedRows,\n\t\t});\n\t}\n\n\t/**\n\t * Handles Alt + Up/Down.\n\t * Switches focus between column header, last focused item, and \"More\" button (if applicable).\n\t * @private\n\t */\n\t_handleArrowAlt(e: KeyboardEvent) {\n\t\tconst shouldMoveUp: boolean = isUpAlt(e);\n\t\tconst target = e.target as ITableRow;\n\t\tconst focusedElementType = this.getFocusedElementType(target);\n\n\t\tif (shouldMoveUp) {\n\t\t\tswitch (focusedElementType) {\n\t\t\tcase TableFocusTargetElement.Row:\n\t\t\tcase TableFocusTargetElement.GroupRow:\n\t\t\t\tthis._prevFocusedRow = target;\n\t\t\t\treturn this._onColumnHeaderClick(e);\n\t\t\tcase TableFocusTargetElement.ColumnHeader:\n\t\t\t\treturn this.morеBtn ? this.morеBtn.focus() : this._prevFocusedRow?.focus();\n\t\t\tcase TableFocusTargetElement.MoreButton:\n\t\t\t\treturn this._prevFocusedRow ? this._prevFocusedRow.focus() : this._onColumnHeaderClick(e);\n\t\t\t}\n\t\t} else {\n\t\t\tswitch (focusedElementType) {\n\t\t\tcase TableFocusTargetElement.Row:\n\t\t\tcase TableFocusTargetElement.GroupRow:\n\t\t\t\tthis._prevFocusedRow = target;\n\t\t\t\treturn this.morеBtn ? this.morеBtn.focus() : this._onColumnHeaderClick(e);\n\t\t\tcase TableFocusTargetElement.ColumnHeader:\n\t\t\t\tif (this._prevFocusedRow) {\n\t\t\t\t\tthis._prevFocusedRow.focus();\n\t\t\t\t} else if (this.morеBtn) {\n\t\t\t\t\tthis.morеBtn.focus();\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\tcase TableFocusTargetElement.MoreButton:\n\t\t\t\treturn this._onColumnHeaderClick(e);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Determines the type of the currently focused element.\n\t * @private\n\t */\n\tgetFocusedElementType(element: HTMLElement): TableFocusTargetElement | undefined {\n\t\tif (element === this.columnHeader) {\n\t\t\treturn TableFocusTargetElement.ColumnHeader;\n\t\t}\n\n\t\tif (element === this.morеBtn) {\n\t\t\treturn TableFocusTargetElement.MoreButton;\n\t\t}\n\n\t\tif (this.rows.includes(element as ITableRow)) {\n\t\t\tconst isGroupRow = element.hasAttribute(\"ui5-table-group-row\");\n\t\t\treturn isGroupRow ? TableFocusTargetElement.GroupRow : TableFocusTargetElement.Row;\n\t\t}\n\t}\n\n\t/**\n\t * Toggles focus between the table row's root and the last focused nested element.\n\t * @private\n\t */\n\t_handleF7(e: CustomEvent<TableRowF7PressEventDetail>) {\n\t\tconst row = e.detail.row;\n\t\trow.tabbableElements = getTabbableElements(row);\n\t\tconst activeElement = getActiveElement();\n\t\tconst lastFocusedElement = row.tabbableElements[this._prevNestedElementIndex] || row.tabbableElements[0];\n\t\tconst targetIndex = row.tabbableElements.indexOf(activeElement as HTMLElement);\n\n\t\tif (!row.tabbableElements.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (activeElement === row.root) {\n\t\t\tlastFocusedElement.focus();\n\t\t} else if (targetIndex > -1) {\n\t\t\tthis._prevNestedElementIndex = targetIndex;\n\t\t\trow.root.focus();\n\t\t}\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tconst target = getNormalizedTarget(e.target as HTMLElement);\n\n\t\tif (!this._isForwardElement(target)) {\n\t\t\tthis.lastFocusedElement = target;\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._forwardingFocus) {\n\t\t\tif (this.lastFocusedElement) {\n\t\t\t\tthis.lastFocusedElement.focus();\n\t\t\t} else {\n\t\t\t\tthis.currentElement!.focus();\n\t\t\t}\n\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis._forwardingFocus = false;\n\t}\n\n\t_onForwardBefore(e: CustomEvent<TableRowForwardBeforeEventDetail>) {\n\t\tthis.lastFocusedElement = e.detail.target;\n\t\tthis._focusForwardElement(false);\n\t\te.stopImmediatePropagation();\n\t}\n\n\t_onForwardAfter(e: CustomEvent<TableRowForwardAfterEventDetail>) {\n\t\tthis.lastFocusedElement = e.detail.target;\n\n\t\tif (!this.growsWithButton) {\n\t\t\tthis._focusForwardElement(true);\n\t\t} else {\n\t\t\tthis.morеBtn!.focus();\n\t\t}\n\t}\n\n\t_focusForwardElement(isAfter: boolean) {\n\t\tthis._forwardingFocus = true;\n\t\tthis.shadowRoot!.querySelector<HTMLElement>(`#${this._id}-${isAfter ? \"after\" : \"before\"}`)!.focus();\n\t}\n\n\t_isForwardElement(element: HTMLElement): boolean {\n\t\tconst elementId = element.id;\n\t\tconst afterElement = this._getForwardElement(true);\n\t\tconst beforeElement = this._getForwardElement(false);\n\n\t\tif (this._id === elementId || (beforeElement && beforeElement.id === elementId)) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn !!(afterElement && afterElement.id === elementId);\n\t}\n\n\t_getForwardElement(isAfter: boolean): HTMLElement | null {\n\t\tif (isAfter) {\n\t\t\treturn this._getAfterForwardElement();\n\t\t}\n\n\t\treturn this._getBeforeForwardElement();\n\t}\n\n\t_getAfterForwardElement(): HTMLElement {\n\t\tif (!this._afterElement) {\n\t\t\tthis._afterElement = this.shadowRoot!.querySelector(`[id=\"${this._id}-after\"]`)!;\n\t\t}\n\n\t\treturn this._afterElement;\n\t}\n\n\t_getBeforeForwardElement(): HTMLElement {\n\t\tif (!this._beforeElement) {\n\t\t\tthis._beforeElement = this.shadowRoot!.querySelector(`[id=\"${this._id}-before\"]`)!;\n\t\t}\n\n\t\treturn this._beforeElement;\n\t}\n\n\tonRowFocused(e: CustomEvent) {\n\t\tthis._itemNavigation.setCurrentItem(e.target as ITableRow);\n\t}\n\n\tonRowKeyDown(e: KeyboardEvent) {\n\t\tif (this.growing === \"Scroll\" && isDown(e) && this.currentItemIdx === this.rows.length - 1) {\n\t\t\tdebounce(this.loadMore.bind(this), GROWING_WITH_SCROLL_DEBOUNCE_RATE);\n\t\t}\n\t}\n\n\t_onColumnHeaderFocused() {\n\t\tthis._itemNavigation.setCurrentItem(this._columnHeader);\n\t}\n\n\t_onColumnHeaderClick(e: MouseEvent | KeyboardEvent) {\n\t\tif (!e.target) {\n\t\t\tthis.columnHeader!.focus();\n\t\t}\n\n\t\tconst target = getNormalizedTarget(e.target as HTMLElement);\n\t\tconst isNestedElement = this.columnHeaderTabbables.includes(target);\n\n\t\tif (!isNestedElement) {\n\t\t\tthis.columnHeader!.focus();\n\t\t}\n\t}\n\n\t_onColumnHeaderKeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.isMultiSelect && this._selectAll();\n\t\t}\n\t}\n\n\t_onLoadMoreKeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._loadMoreActive = true;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._onLoadMoreClick();\n\t\t\tthis._loadMoreActive = true;\n\t\t}\n\t}\n\n\t_onLoadMoreKeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._onLoadMoreClick();\n\t\t}\n\t\tthis._loadMoreActive = false;\n\t}\n\n\tonInvalidation(change: ChangeInfo) {\n\t\tif (change.type === \"property\" && change.name === \"growing\") {\n\t\t\tthis.tableEndObserved = false;\n\t\t\tthis.getIntersectionObserver().disconnect();\n\t\t}\n\t}\n\n\t_onLoadMoreClick() {\n\t\tthis.fireDecoratorEvent(\"load-more\");\n\t}\n\n\tobserveTableEnd() {\n\t\tif (!this.tableEndObserved) {\n\t\t\tthis.getIntersectionObserver().observe(this.tableEndDOM);\n\t\t\tthis.tableEndObserved = true;\n\t\t}\n\t}\n\n\tonInteresection(entries: Array<IntersectionObserverEntry>) {\n\t\tif (this.initialIntersection) {\n\t\t\tthis.initialIntersection = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (entries.some(entry => entry.isIntersecting)) {\n\t\t\tdebounce(this.loadMore.bind(this), GROWING_WITH_SCROLL_DEBOUNCE_RATE);\n\t\t}\n\t}\n\n\tloadMore() {\n\t\tthis.fireDecoratorEvent(\"load-more\");\n\t}\n\n\t_handleSingleSelect(e: CustomEvent<TableRowSelectionRequestedEventDetail>) {\n\t\tconst row: ITableRow | undefined = this.getRowParent(e.target as HTMLElement);\n\n\t\tif (!row) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!row.selected) {\n\t\t\tconst previouslySelectedRows = this.selectedRows;\n\t\t\tthis.rows.forEach(item => {\n\t\t\t\tif (item.selected) {\n\t\t\t\t\titem.selected = false;\n\t\t\t\t}\n\t\t\t});\n\t\t\trow.selected = true;\n\t\t\tthis.fireDecoratorEvent(\"selection-change\", {\n\t\t\t\tselectedRows: [row],\n\t\t\t\tpreviouslySelectedRows,\n\t\t\t});\n\t\t}\n\t}\n\n\t_handleMultiSelect(e: CustomEvent<TableRowSelectionRequestedEventDetail>) {\n\t\tconst row: ITableRow | undefined = this.getRowParent(e.target as HTMLElement);\n\t\tconst previouslySelectedRows: Array<ITableRow> = this.selectedRows;\n\n\t\tif (!row) {\n\t\t\treturn;\n\t\t}\n\n\t\trow.selected = !row.selected;\n\n\t\tconst selectedRows = this.selectedRows;\n\n\t\tif (selectedRows.length === this.rows.length) {\n\t\t\tthis._allRowsSelected = true;\n\t\t} else {\n\t\t\tthis._allRowsSelected = false;\n\t\t}\n\n\t\tthis.fireDecoratorEvent(\"selection-change\", {\n\t\t\tselectedRows,\n\t\t\tpreviouslySelectedRows,\n\t\t});\n\t}\n\n\t_handleSelect(e: CustomEvent<TableRowSelectionRequestedEventDetail>) {\n\t\tif (this.isSingleSelect) {\n\t\t\tthis._handleSingleSelect(e);\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isMultiSelect) {\n\t\t\tthis._handleMultiSelect(e);\n\t\t}\n\t}\n\n\t_selectAll() {\n\t\tconst bAllSelected = !this._allRowsSelected;\n\t\tconst previouslySelectedRows: Array<ITableRow> = this.rows.filter(row => row.selected);\n\n\t\tthis._allRowsSelected = bAllSelected;\n\n\t\tthis.rows.forEach(row => {\n\t\t\trow.selected = bAllSelected;\n\t\t});\n\n\t\tconst selectedRows = bAllSelected ? this.rows : [];\n\n\t\tthis.fireDecoratorEvent(\"selection-change\", {\n\t\t\tselectedRows,\n\t\t\tpreviouslySelectedRows,\n\t\t});\n\t}\n\n\tgetRowParent(child: HTMLElement): ITableRow | undefined {\n\t\tif (child.hasAttribute(\"ui5-table-row\")) {\n\t\t\treturn child as ITableRow;\n\t\t}\n\n\t\tconst parent = child.parentElement;\n\n\t\tif (!parent) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (parent.hasAttribute(\"ui5-table-row\")) {\n\t\t\treturn parent as ITableRow;\n\t\t}\n\n\t\treturn this.getRowParent(parent);\n\t}\n\n\tget columnHeader(): HTMLElement | null {\n\t\tconst domRef = this.getDomRef();\n\t\treturn domRef ? domRef.querySelector<HTMLElement>(`#${this._id}-columnHeader`) : null;\n\t}\n\n\tget morеBtn(): HTMLElement | null {\n\t\tconst domRef = this.getDomRef();\n\n\t\tif (this.growsWithButton && domRef) {\n\t\t\treturn domRef.querySelector<HTMLElement>(`#${this._id}-growingButton`);\n\t\t}\n\n\t\treturn null;\n\t}\n\n\thandleResize() {\n\t\tthis.popinContent();\n\t}\n\n\tpopinContent() {\n\t\tconst clientRect: DOMRect = this.getDomRef()!.getBoundingClientRect();\n\t\tconst tableWidth: number = clientRect.width;\n\t\tconst hiddenColumns: Array<TableColumnInfo> = [];\n\t\tconst visibleColumnsIndexes: Array<number> = [];\n\n\t\t// store the hidden columns\n\t\tthis.columns.forEach((column, index) => {\n\t\t\tif (tableWidth < column.minWidth && column.minWidth !== Infinity) {\n\t\t\t\thiddenColumns[index] = {\n\t\t\t\t\tindex,\n\t\t\t\t\tpopinText: column.popinText,\n\t\t\t\t\tdemandPopin: column.demandPopin,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tvisibleColumnsIndexes.push(index);\n\t\t\t}\n\t\t});\n\n\t\tif (visibleColumnsIndexes.length) {\n\t\t\tif (!this.isMultiSelect) {\n\t\t\t\tthis.columns[visibleColumnsIndexes[0]].first = true;\n\t\t\t}\n\t\t\tthis.columns[visibleColumnsIndexes[visibleColumnsIndexes.length - 1]].last = true;\n\t\t}\n\n\t\tconst hiddenColumnsChange = (this._hiddenColumns?.length !== hiddenColumns.length) || this._hiddenColumns?.some((column, index) => column !== hiddenColumns[index]);\n\t\tconst shownColumnsChange = hiddenColumns.length === 0;\n\n\t\t// invalidate if hidden columns count has changed or columns are shown\n\t\tif (hiddenColumnsChange || shownColumnsChange) {\n\t\t\tthis._hiddenColumns = hiddenColumns;\n\t\t\tthis.fireDecoratorEvent(\"popin-change\", {\n\t\t\t\tpoppedColumns: this._hiddenColumns,\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Gets settings to be propagated from columns to rows.\n\t */\n\tgetColumnPropagationSettings(): Array<TableColumnInfo> {\n\t\treturn this.columns.map((column, index) => {\n\t\t\treturn {\n\t\t\t\tindex,\n\t\t\t\tminWidth: column.minWidth,\n\t\t\t\tdemandPopin: column.demandPopin,\n\t\t\t\ttext: column.textContent,\n\t\t\t\tpopinText: column.popinText,\n\t\t\t\tpopinDisplay: column.popinDisplay,\n\t\t\t\tvisible: !this._hiddenColumns?.[index],\n\t\t\t};\n\t\t}, this);\n\t}\n\n\tgetIntersectionObserver(): IntersectionObserver {\n\t\tif (!this.growingIntersectionObserver) {\n\t\t\tthis.growingIntersectionObserver = new IntersectionObserver(this.onInteresection.bind(this), {\n\t\t\t\troot: document,\n\t\t\t\trootMargin: \"0px\",\n\t\t\t\tthreshold: 1.0,\n\t\t\t});\n\t\t}\n\n\t\treturn this.growingIntersectionObserver;\n\t}\n\n\tget growsWithButton(): boolean {\n\t\treturn this.growing === TableGrowingMode.Button;\n\t}\n\n\tget growsOnScroll(): boolean {\n\t\treturn this.growing === TableGrowingMode.Scroll;\n\t}\n\n\tget _growingButtonText(): string {\n\t\treturn this.growingButtonText || Table.i18nBundle.getText(LOAD_MORE_TEXT);\n\t}\n\n\tget ariaLabelText(): string {\n\t\tconst rowsCount = this.rows.length + 1;\n\t\tconst headerRowText = Table.i18nBundle.getText(TABLE_HEADER_ROW_INFORMATION, rowsCount);\n\t\tconst columnsTitle = this.columns.map(column => {\n\t\t\treturn column.textContent!.trim();\n\t\t}).join(\" \");\n\n\t\treturn `${headerRowText} ${columnsTitle}`;\n\t}\n\n\tget tableAriaLabelText(): string | undefined {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget ariaLabelSelectAllText(): string {\n\t\treturn Table.i18nBundle.getText(ARIA_LABEL_SELECT_ALL_CHECKBOX);\n\t}\n\n\tget loadMoreAriaLabelledBy(): string {\n\t\tif (this.growingButtonSubtext) {\n\t\t\treturn `${this._id}-growingButton-text ${this._id}-growingButton-subtext`;\n\t\t}\n\n\t\treturn `${this._id}-growingButton-text`;\n\t}\n\n\tget tableEndDOM(): Element {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-table-end-marker\")!;\n\t}\n\n\tget isMultiSelect(): boolean {\n\t\treturn this.mode === TableMode.MultiSelect;\n\t}\n\n\tget isSingleSelect(): boolean {\n\t\treturn this.mode === TableMode.SingleSelect;\n\t}\n\n\tget selectedRows(): Array<ITableRow> {\n\t\treturn this.rows.filter(row => row.selected);\n\t}\n\n\tget currentItemIdx(): number {\n\t\treturn this.rows.indexOf(this.currentItem);\n\t}\n\n\tget currentItem(): ITableRow {\n\t\treturn (this.getRootNode() as Document).activeElement as ITableRow;\n\t}\n\n\tget currentElement(): HTMLElement | undefined {\n\t\treturn this._itemNavigation._getCurrentItem();\n\t}\n\n\tget columnHeaderTabbables(): Array<HTMLElement> {\n\t\treturn this.columnHeader ? getTabbableElements(this.columnHeader) : [];\n\t}\n\n\tget columnHeaderLastElement(): HTMLElement | null {\n\t\treturn this.columnHeader && getLastTabbableElement(this.columnHeader);\n\t}\n}\n\nTable.define();\n\nexport default Table;\n\nexport type {\n\tITableRow,\n\tTableColumnInfo,\n\tTableRowClickEventDetail,\n\tTableSelectionChangeEventDetail,\n\tTablePopinChangeEventDetail,\n};\n"]}
1
+ {"version":3,"file":"Table.js","sourceRoot":"","sources":["../src/Table.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { ChangeInfo } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport ItemNavigation from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type { ITabbable } from \"@ui5/webcomponents-base/dist/delegate/ItemNavigation.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport NavigationMode from \"@ui5/webcomponents-base/dist/types/NavigationMode.js\";\nimport {\n\tisTabNext,\n\tisTabPrevious,\n\tisSpace,\n\tisEnter,\n\tisDown,\n\tisCtrlA,\n\tisUpAlt,\n\tisDownAlt,\n\tisUpShift,\n\tisDownShift,\n\tisHomeCtrl,\n\tisEndCtrl,\n\tisHomeShift,\n\tisEndShift,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport getNormalizedTarget from \"@ui5/webcomponents-base/dist/util/getNormalizedTarget.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\nimport { getLastTabbableElement, getTabbableElements } from \"@ui5/webcomponents-base/dist/util/TabbableElements.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport debounce from \"@ui5/webcomponents-base/dist/util/debounce.js\";\nimport TableGrowingMode from \"./types/TableGrowingMode.js\";\nimport type {\n\tTableRowClickEventDetail,\n\tTableRowSelectionRequestedEventDetail,\n\tTableRowF7PressEventDetail,\n\tTableRowForwardBeforeEventDetail,\n\tTableRowForwardAfterEventDetail,\n} from \"./TableRow.js\";\nimport type TableCell from \"./TableCell.js\";\nimport type TableColumn from \"./TableColumn.js\";\nimport type TableColumnPopinDisplay from \"./types/TableColumnPopinDisplay.js\";\nimport TableMode from \"./types/TableMode.js\";\n\n// Texts\nimport {\n\tLOAD_MORE_TEXT,\n\tARIA_LABEL_SELECT_ALL_CHECKBOX,\n\tTABLE_HEADER_ROW_INFORMATION,\n\tTABLE_ROW_POSITION,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Template\nimport TableTemplate from \"./TableTemplate.js\";\n\n// Styles\nimport tableStyles from \"./generated/themes/Table.css.js\";\n\n/**\n * Interface for components that may be slotted inside a `ui5-table` as rows\n * @public\n */\ninterface ITableRow extends UI5Element, ITabbable {\n\tmode: `${TableMode}`,\n\tselected: boolean,\n\tforcedBusy: boolean,\n\tforcedAriaPosition?: string,\n\t_columnsInfoString: string,\n\t_columnsInfo?: Array<TableColumnInfo>,\n\ttabbableElements: Array<HTMLElement>,\n}\n\nconst GROWING_WITH_SCROLL_DEBOUNCE_RATE = 250; // ms\n\nconst PAGE_UP_DOWN_SIZE = 20;\n\ntype TableColumnInfo = {\n\tcell?: TableCell,\n\tindex?: number,\n\ttext?: string | null,\n\tvisible?: boolean,\n\tdemandPopin?: boolean,\n\tpopinText?: string,\n\tpopinDisplay?: `${TableColumnPopinDisplay}`,\n\tpopinDisplayInline?: boolean,\n\tclasses?: string,\n\tminWidth?: number,\n}\n\ntype TableColumnHeaderInfo = ITabbable;\n\ntype TableSelectionChangeEventDetail = {\n\tselectedRows: Array<ITableRow>,\n\tpreviouslySelectedRows: Array<ITableRow>,\n}\n\ntype TablePopinChangeEventDetail = {\n\tpoppedColumns: Array<TableColumnInfo>;\n}\n\nenum TableFocusTargetElement {\n\tRow = \"tableRow\",\n\tGroupRow = \"tableGroupRow\",\n\tColumnHeader = \"columnHeader\",\n\tMoreButton = \"moreButton\",\n}\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table` component provides a set of sophisticated and convenient functions for responsive table design.\n * It provides a comprehensive set of features for displaying and dealing with vast amounts of data.\n *\n * To render the `Table` properly, the order of the `columns` should match with the\n * order of the item `cells` in the `rows`.\n *\n * Desktop and tablet devices are supported.\n * On tablets, special consideration should be given to the number of visible columns\n * and rows due to the limited performance of some devices.\n *\n * ### Selection\n * To benefit from the selection mechanism of `ui5-table` component, you can use the available selection modes:\n * `SingleSelect` and `MultiSelect`.\n *\n * In additition to the used mode, you can also specify the `ui5-table-row` type choosing between\n * `Active` or `Inactive`.\n *\n * In `SingleSelect` mode, you can select both an `Active` and `Inactive` row via mouse or\n * by pressing the `Space` or `Enter` keys.\n *\n * In `MultiSelect` mode, you can select both an `Active` and `Inactive` row by pressing the\n * `Space` key when a row is on focus or via mouse click over the selection checkbox of the row.\n * In order to select all the available rows at once, you can use the selection checkbox presented in the table's header.\n *\n * **Note:** Currently, when a column is shown as a pop-in, the visual indication for selection is not presented over it.\n *\n * ### Keyboard Handling\n *\n * #### Fast Navigation\n * This component provides a build in fast navigation group which can be used via [F6] / [Shift] + [F6] / [Ctrl] + [Alt/Option] / [Down] or [Ctrl] + [Alt/Option] + [Up].\n * In order to use this functionality, you need to import the following module:\n * `import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"`\n *\n * Furthermore, you can interact with `ui5-table` via the following keys.\n *\n * - [F7] - If focus is on an interactive control inside an item, moves focus to the corresponding item.\n * - [Ctrl]+[A] - Selects all items, if MultiSelect mode is enabled.\n * - [Home]/[End] - Focuses the first/last item.\n * - [Page Up]/[Page Down] - Moves focus up/down by page size (20 items by default).\n * - [Alt]+[Down]/[Up] - Switches focus between header, last focused item, and More button (if applies) in either direction.\n * - [Shift]+[Down]/[Up] - Selects the next/previous item in a MultiSelect table, if the current item is selected (Range selection). Otherwise, deselects them (Range deselection).\n * - [Shift]+[Home]/[End] - Range selection to the first/last item of the List.\n * - [Ctrl]+[Home]/[End] - Same behavior as HOME & END.\n *\n * ### ES6 Module Import\n *\n * - `import \"@ui5/webcomponents-compat/dist/Table.js\";`\n * - `import \"@ui5/webcomponents-compat/dist/TableColumn.js\";` (`ui5-table-column`)\n * - `import \"@ui5/webcomponents-compat/dist/TableRow.js\";` (`ui5-table-row`)\n * - `import \"@ui5/webcomponents-compat/dist/TableGroupRow.js\";` (`ui5-table-group-row`)\n * - `import \"@ui5/webcomponents-compat/dist/TableCell.js\";` (`ui5-table-cell`)\n * @constructor\n * @extends UI5Element\n * @public\n * @deprecated Deprecated as of version 2.12.0, use `@ui5/webcomponents/dist/Table.js` instead.\n */\n@customElement({\n\ttag: \"ui5-table\",\n\tfastNavigation: true,\n\tstyles: tableStyles,\n\trenderer: jsxRenderer,\n\ttemplate: TableTemplate,\n})\n/** Fired when a row in `Active` mode is clicked or `Enter` key is pressed.\n * @param {HTMLElement} row the activated row.\n * @public\n */\n@event(\"row-click\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when `ui5-table-column` is shown as a pop-in instead of hiding it.\n * @param {Array} poppedColumns popped-in columns.\n * @since 2.0.0\n * @public\n */\n@event(\"popin-change\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when the user presses the `More` button or scrolls to the table's end.\n *\n * **Note:** The event will be fired if `growing` is set to `Button` or `Scroll`.\n * @public\n * @since 2.0.0\n */\n@event(\"load-more\", {\n\tbubbles: true,\n})\n\n/**\n * Fired when selection is changed by user interaction\n * in `SingleSelect` and `MultiSelect` modes.\n * @param {Array} selectedRows An array of the selected rows.\n * @param {Array} previouslySelectedRows An array of the previously selected rows.\n * @public\n * @since 2.0.0\n */\n@event(\"selection-change\", {\n\tbubbles: true,\n})\nclass Table extends UI5Element {\n\teventDetails!: {\n\t\t\"row-click\": TableRowClickEventDetail,\n\t\t\"popin-change\": TablePopinChangeEventDetail,\n\t\t\"load-more\": void,\n\t\t\"selection-change\": TableSelectionChangeEventDetail,\n\t}\n\n\t/**\n\t * Defines the text that will be displayed when there is no data and `hideNoData` is not present.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tnoDataText?: string;\n\n\t/**\n\t * Defines the text that will be displayed inside the growing button at the bottom of the table,\n\t * meant for loading more rows upon press.\n\t *\n\t * **Note:** If not specified a built-in text will be displayed.\n\t *\n\t * **Note:** This property takes effect if `growing` is set to `Button`.\n\t * @default undefined\n\t * @since 2.0.0\n\t * @public\n\t */\n\t@property()\n\tgrowingButtonText?: string;\n\n\t/**\n\t * Defines the subtext that will be displayed under the `growingButtonText`.\n\t *\n\t * **Note:** This property takes effect if `growing` is set to `Button`.\n\t * @default undefined\n\t * @since 2.0.0\n\t * @public\n\t */\n\t@property()\n\tgrowingButtonSubtext?: string;\n\n\t/**\n\t * Defines if the value of `noDataText` will be diplayed when there is no rows present in the table.\n\t * @default false\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property({ type: Boolean })\n\thideNoData = false;\n\n\t/**\n\t * Defines whether the table will have growing capability either by pressing a `More` button,\n\t * or via user scroll. In both cases `load-more` event is fired.\n\t *\n\t * Available options:\n\t *\n\t * `Button` - Shows a `More` button at the bottom of the table, pressing of which triggers the `load-more` event.\n\t *\n\t * `Scroll` - The `load-more` event is triggered when the user scrolls to the bottom of the table;\n\t *\n\t * `None` (default) - The growing is off.\n\t *\n\t * **Restrictions:** `growing=\"Scroll\"` is not supported for Internet Explorer,\n\t * and the component will fallback to `growing=\"Button\"`.\n\t * @default \"None\"\n\t * @since 2.0.0\n\t * @public\n\t */\n\t@property()\n\tgrowing: `${TableGrowingMode}` = \"None\";\n\n\t/**\n\t * Defines if the table is in busy state.\n\t *\n\t * In this state the component's opacity is reduced\n\t * and busy indicator is displayed at the bottom of the table.\n\t * @default false\n\t * @since 2.0.0\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tbusy = false;\n\n\t/**\n\t * Defines the delay in milliseconds, after which the busy indicator will show up for this component.\n\t * @default 1000\n\t * @public\n\t */\n\t@property({ type: Number })\n\tbusyDelay = 1000;\n\n\t/**\n\t * Determines whether the column headers remain fixed at the top of the page during\n\t * vertical scrolling as long as the Web Component is in the viewport.\n\t *\n\t * **Restrictions:**\n\t *\n\t * - Browsers that do not support this feature:\n\t *\n\t * - Internet Explorer\n\t * - Microsoft Edge lower than version 41 (EdgeHTML 16)\n\t * - Mozilla Firefox lower than version 59\n\t *\n\t * - Scrolling behavior:\n\t *\n\t * - If the Web Component is placed in layout containers that have the `overflow: hidden`\n\t * or `overflow: auto` style definition, this can\n\t * prevent the sticky elements of the Web Component from becoming fixed at the top of the viewport.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tstickyColumnHeader = false;\n\n\t/**\n\t * Defines the mode of the component.\n\t * @default \"None\"\n\t * @since 2.0.0\n\t * @public\n\t */\n\t@property()\n\tmode: `${TableMode}` = \"None\";\n\n\t/**\n\t * Defines the accessible ARIA name of the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property()\n\taccessibleName?: string;\n\n\t/**\n\t * Receives id(or many ids) of the elements that label the component.\n\t * @default undefined\n\t * @public\n\t * @since 2.0.0\n\t */\n\t@property()\n\taccessibleNameRef?: string;\n\n\t@property({ type: Array })\n\t_hiddenColumns?: Array<TableColumnInfo>;\n\n\t@property({ type: Boolean })\n\t_noDataDisplayed = false;\n\n\t/**\n\t * Defines the active state of the `More` button.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_loadMoreActive = false;\n\n\t/**\n\t * Used to represent the table column header for the purpose of the item navigation as it does not work with DOM objects directly\n\t * @private\n\t */\n\t@property({ type: Object })\n\t_columnHeader: TableColumnHeaderInfo;\n\n\t/**\n\t * Defines whether all rows are selected or not when table is in MultiSelect mode.\n\t * @default false\n\t * @since 2.0.0\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_allRowsSelected = false;\n\n\t/**\n\t * Defines the component rows.\n\t *\n\t * **Note:** Use `ui5-table-row` for the intended design.\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\t\"default\": true,\n\t\tindividualSlots: true,\n\t\tinvalidateOnChildChange: true,\n\t})\n\trows!: Array<ITableRow>;\n\n\t/**\n\t * Defines the configuration for the columns of the component.\n\t *\n\t * **Note:** Use `ui5-table-column` for the intended design.\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\tindividualSlots: true,\n\t\tinvalidateOnChildChange: {\n\t\t\tproperties: true,\n\t\t\tslots: false,\n\t\t},\n\t})\n\tcolumns!: Array<TableColumn>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tfnHandleF7: (e: CustomEvent) => void;\n\tfnOnRowFocused: (e: CustomEvent) => void;\n\t_handleResize: ResizeObserverCallback;\n\n\ttableEndObserved: boolean;\n\tvisibleColumns: Array<TableColumn>;\n\tvisibleColumnsCount?: number;\n\tlastFocusedElement: HTMLElement | null;\n\tgrowingIntersectionObserver?: IntersectionObserver | null;\n\tinitialIntersection: boolean;\n\n\t_forwardingFocus: boolean;\n\t_prevNestedElementIndex: number;\n\t_itemNavigation: ItemNavigation;\n\t_prevFocusedRow?: ITableRow;\n\n\t_afterElement?: HTMLElement;\n\t_beforeElement?: HTMLElement;\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis.visibleColumns = []; // template loop should always have a defined array\n\t\t// The ItemNavigation requires each item to 1) have a \"forcedTabIndex\" property and 2) be either a UI5Element, or have an id property (to find it in the component's shadow DOM by)\n\t\tthis._columnHeader = {\n\t\t\tid: `${this._id}-columnHeader`,\n\t\t\tforcedTabIndex: \"0\",\n\t\t};\n\n\t\tthis._itemNavigation = new ItemNavigation(this, {\n\t\t\tnavigationMode: NavigationMode.Vertical,\n\t\t\taffectedPropertiesNames: [\"_columnHeader\"],\n\t\t\tgetItemsCallback: () => [this._columnHeader, ...this.rows],\n\t\t\tskipItemsSize: PAGE_UP_DOWN_SIZE,\n\t\t});\n\n\t\tthis._handleResize = this.popinContent.bind(this);\n\t\tthis.fnOnRowFocused = this.onRowFocused.bind(this);\n\t\tthis.fnHandleF7 = this._handleF7.bind(this);\n\n\t\tthis.tableEndObserved = false;\n\n\t\t// Stores the last focused element within the table.\n\t\tthis.lastFocusedElement = null;\n\n\t\t// Indicates whether the table is forwarding focus before or after the current table row.\n\t\tthis._forwardingFocus = false;\n\n\t\t// Stores the last focused nested element index (within a table row) for F7 navigation.\n\t\tthis._prevNestedElementIndex = 0;\n\n\t\t// Indicates the Table bottom most part has been detected by the IntersectionObserver\n\t\t// for the first time.\n\t\tthis.initialIntersection = true;\n\t}\n\n\tonBeforeRendering() {\n\t\tconst columnSettings = this.getColumnPropagationSettings();\n\t\tconst columnSettingsString = JSON.stringify(columnSettings);\n\t\tconst rowsCount = this.rows.length + 1;\n\t\tconst selectedRows = this.selectedRows;\n\n\t\tthis.rows.forEach((row, index) => {\n\t\t\tif (row._columnsInfoString !== columnSettingsString) {\n\t\t\t\trow._columnsInfo = columnSettings;\n\t\t\t\trow._columnsInfoString = JSON.stringify(row._columnsInfo);\n\t\t\t}\n\n\t\t\trow.forcedAriaPosition = Table.i18nBundle.getText(TABLE_ROW_POSITION, index + 2, rowsCount);\n\t\t\trow.forcedBusy = this.busy;\n\t\t\trow.removeEventListener(\"ui5-_focused\", this.fnOnRowFocused as EventListener);\n\t\t\trow.addEventListener(\"ui5-_focused\", this.fnOnRowFocused as EventListener);\n\t\t\trow.removeEventListener(\"ui5-f7-pressed\", this.fnHandleF7 as EventListener);\n\t\t\trow.addEventListener(\"ui5-f7-pressed\", this.fnHandleF7 as EventListener);\n\t\t\trow.mode = this.mode;\n\t\t});\n\n\t\tthis.visibleColumns = this.columns.filter((column, index) => {\n\t\t\treturn !this._hiddenColumns?.[index];\n\t\t});\n\n\t\tthis._noDataDisplayed = !this.rows.length && !this.hideNoData;\n\t\tthis.visibleColumnsCount = this.visibleColumns.length;\n\n\t\tif (this.isMultiSelect) {\n\t\t\t// we have to count the selection column as well\n\t\t\tthis.visibleColumnsCount += 1;\n\t\t}\n\n\t\tthis._allRowsSelected = selectedRows.length === this.rows.length;\n\n\t\tthis._prevFocusedRow = this._prevFocusedRow || this.rows[0];\n\t}\n\n\tonAfterRendering() {\n\t\tif (this.growsOnScroll) {\n\t\t\tthis.observeTableEnd();\n\t\t}\n\t}\n\n\tonEnterDOM() {\n\t\tthis.growingIntersectionObserver = this.getIntersectionObserver();\n\n\t\tResizeHandler.register(this.getDomRef()!, this._handleResize);\n\n\t\tthis._itemNavigation.setCurrentItem(this.rows.length ? this.rows[0] : this._columnHeader);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this.getDomRef()!, this._handleResize);\n\n\t\tthis.growingIntersectionObserver!.disconnect();\n\t\tthis.growingIntersectionObserver = null;\n\t\tthis.tableEndObserved = false;\n\t}\n\n\t_onkeydown(e: KeyboardEvent) {\n\t\tif (isTabNext(e) || isTabPrevious(e)) {\n\t\t\tthis._handleTab(e);\n\t\t}\n\n\t\tif (isCtrlA(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.isMultiSelect && this._selectAll();\n\t\t}\n\n\t\tif (isUpAlt(e) || isDownAlt(e)) {\n\t\t\tthis._handleArrowAlt(e);\n\t\t}\n\n\t\tif ((isUpShift(e) || isDownShift(e)) && this.isMultiSelect) {\n\t\t\tthis._handleArrowNav(e);\n\t\t}\n\n\t\tif (isHomeCtrl(e)) {\n\t\t\te.preventDefault();\n\n\t\t\tthis._itemNavigation._handleHome();\n\t\t\tthis._itemNavigation._applyTabIndex();\n\t\t\tthis._itemNavigation._focusCurrentItem();\n\t\t}\n\n\t\tif (isEndCtrl(e)) {\n\t\t\te.preventDefault();\n\n\t\t\tthis._itemNavigation._handleEnd();\n\t\t\tthis._itemNavigation._applyTabIndex();\n\t\t\tthis._itemNavigation._focusCurrentItem();\n\t\t}\n\n\t\tif ((isHomeShift(e) || isEndShift(e)) && this.isMultiSelect) {\n\t\t\tthis._handleHomeEndSelection(e);\n\t\t}\n\t}\n\n\t_handleTab(e: KeyboardEvent) {\n\t\tconst isNext = isTabNext(e);\n\t\tconst target = getNormalizedTarget(e.target as HTMLElement);\n\t\tconst targetType: TableFocusTargetElement | undefined = this.getFocusedElementType(e.target as HTMLElement);\n\n\t\tif (this.columnHeaderTabbables.includes(target)) {\n\t\t\tif (isNext && this.columnHeaderLastElement === target) {\n\t\t\t\treturn this._focusNextElement();\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif (isNext && targetType === TableFocusTargetElement.ColumnHeader && !this.columnHeaderTabbables.length) {\n\t\t\treturn this._focusNextElement();\n\t\t}\n\n\t\tif (targetType === TableFocusTargetElement.Row || !targetType) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch (targetType) {\n\t\tcase TableFocusTargetElement.GroupRow:\n\t\t\treturn isNext ? this._focusNextElement() : this._focusForwardElement(false);\n\t\tcase TableFocusTargetElement.ColumnHeader:\n\t\t\treturn !isNext && this._focusForwardElement(false);\n\t\tcase TableFocusTargetElement.MoreButton:\n\t\t\tif (isNext) {\n\t\t\t\tthis._focusForwardElement(true);\n\t\t\t} else {\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.currentElement?.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\t_focusNextElement() {\n\t\tif (!this.growsWithButton) {\n\t\t\tthis._focusForwardElement(true);\n\t\t} else {\n\t\t\tthis.morеBtn!.focus();\n\t\t}\n\t}\n\n\t_handleArrowNav(e: KeyboardEvent) {\n\t\tconst isRowFocused = this.currentElement!.localName === \"tr\";\n\n\t\tif (!isRowFocused) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst previouslySelectedRows: Array<ITableRow> = this.selectedRows;\n\t\tconst currentItem: ITableRow = this.currentItem;\n\t\tconst currentItemIdx: number = this.currentItemIdx;\n\n\t\tconst prevItemIdx = currentItemIdx - 1;\n\t\tconst nextItemIdx = currentItemIdx + 1;\n\n\t\tconst prevItem: ITableRow = this.rows[prevItemIdx];\n\t\tconst nextItem: ITableRow = this.rows[nextItemIdx];\n\t\tconst wasSelected = !!currentItem.selected;\n\n\t\tif ((isUpShift(e) && !prevItem) || (isDownShift(e) && !nextItem)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isUpShift(e)) {\n\t\t\tcurrentItem.selected = currentItem.selected && !prevItem.selected;\n\t\t\tprevItem.selected = currentItem.selected || (wasSelected && !currentItem.selected);\n\t\t\tprevItem.focus();\n\t\t}\n\n\t\tif (isDownShift(e)) {\n\t\t\tcurrentItem.selected = currentItem.selected && !nextItem.selected;\n\t\t\tnextItem.selected = currentItem.selected || (wasSelected && !currentItem.selected);\n\t\t\tnextItem.focus();\n\t\t}\n\n\t\tconst selectedRows = this.selectedRows;\n\n\t\tthis.fireDecoratorEvent(\"selection-change\", {\n\t\t\tselectedRows,\n\t\t\tpreviouslySelectedRows,\n\t\t});\n\t}\n\n\t_handleHomeEndSelection(e: KeyboardEvent) {\n\t\tconst isRowFocused = this.currentElement!.localName === \"tr\";\n\n\t\tif (!isRowFocused) {\n\t\t\treturn;\n\t\t}\n\t\tconst rows = this.rows;\n\t\tconst previouslySelectedRows: Array<ITableRow> = this.selectedRows;\n\t\tconst currentItemIdx = this.currentItemIdx;\n\n\t\tif (isHomeShift(e)) {\n\t\t\trows.slice(0, currentItemIdx + 1).forEach(item => {\n\t\t\t\titem.selected = true;\n\t\t\t});\n\t\t\trows[0].focus();\n\t\t}\n\n\t\tif (isEndShift(e)) {\n\t\t\trows.slice(currentItemIdx).forEach(item => {\n\t\t\t\titem.selected = true;\n\t\t\t});\n\t\t\trows[rows.length - 1].focus();\n\t\t}\n\n\t\tconst selectedRows: Array<ITableRow> = this.selectedRows;\n\n\t\tthis.fireDecoratorEvent(\"selection-change\", {\n\t\t\tselectedRows,\n\t\t\tpreviouslySelectedRows,\n\t\t});\n\t}\n\n\t/**\n\t * Handles Alt + Up/Down.\n\t * Switches focus between column header, last focused item, and \"More\" button (if applicable).\n\t * @private\n\t */\n\t_handleArrowAlt(e: KeyboardEvent) {\n\t\tconst shouldMoveUp: boolean = isUpAlt(e);\n\t\tconst target = e.target as ITableRow;\n\t\tconst focusedElementType = this.getFocusedElementType(target);\n\n\t\tif (shouldMoveUp) {\n\t\t\tswitch (focusedElementType) {\n\t\t\tcase TableFocusTargetElement.Row:\n\t\t\tcase TableFocusTargetElement.GroupRow:\n\t\t\t\tthis._prevFocusedRow = target;\n\t\t\t\treturn this._onColumnHeaderClick(e);\n\t\t\tcase TableFocusTargetElement.ColumnHeader:\n\t\t\t\treturn this.morеBtn ? this.morеBtn.focus() : this._prevFocusedRow?.focus();\n\t\t\tcase TableFocusTargetElement.MoreButton:\n\t\t\t\treturn this._prevFocusedRow ? this._prevFocusedRow.focus() : this._onColumnHeaderClick(e);\n\t\t\t}\n\t\t} else {\n\t\t\tswitch (focusedElementType) {\n\t\t\tcase TableFocusTargetElement.Row:\n\t\t\tcase TableFocusTargetElement.GroupRow:\n\t\t\t\tthis._prevFocusedRow = target;\n\t\t\t\treturn this.morеBtn ? this.morеBtn.focus() : this._onColumnHeaderClick(e);\n\t\t\tcase TableFocusTargetElement.ColumnHeader:\n\t\t\t\tif (this._prevFocusedRow) {\n\t\t\t\t\tthis._prevFocusedRow.focus();\n\t\t\t\t} else if (this.morеBtn) {\n\t\t\t\t\tthis.morеBtn.focus();\n\t\t\t\t}\n\n\t\t\t\treturn;\n\t\t\tcase TableFocusTargetElement.MoreButton:\n\t\t\t\treturn this._onColumnHeaderClick(e);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Determines the type of the currently focused element.\n\t * @private\n\t */\n\tgetFocusedElementType(element: HTMLElement): TableFocusTargetElement | undefined {\n\t\tif (element === this.columnHeader) {\n\t\t\treturn TableFocusTargetElement.ColumnHeader;\n\t\t}\n\n\t\tif (element === this.morеBtn) {\n\t\t\treturn TableFocusTargetElement.MoreButton;\n\t\t}\n\n\t\tif (this.rows.includes(element as ITableRow)) {\n\t\t\tconst isGroupRow = element.hasAttribute(\"ui5-table-group-row\");\n\t\t\treturn isGroupRow ? TableFocusTargetElement.GroupRow : TableFocusTargetElement.Row;\n\t\t}\n\t}\n\n\t/**\n\t * Toggles focus between the table row's root and the last focused nested element.\n\t * @private\n\t */\n\t_handleF7(e: CustomEvent<TableRowF7PressEventDetail>) {\n\t\tconst row = e.detail.row;\n\t\trow.tabbableElements = getTabbableElements(row);\n\t\tconst activeElement = getActiveElement();\n\t\tconst lastFocusedElement = row.tabbableElements[this._prevNestedElementIndex] || row.tabbableElements[0];\n\t\tconst targetIndex = row.tabbableElements.indexOf(activeElement as HTMLElement);\n\n\t\tif (!row.tabbableElements.length) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (activeElement === row.root) {\n\t\t\tlastFocusedElement.focus();\n\t\t} else if (targetIndex > -1) {\n\t\t\tthis._prevNestedElementIndex = targetIndex;\n\t\t\trow.root.focus();\n\t\t}\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tconst target = getNormalizedTarget(e.target as HTMLElement);\n\n\t\tif (!this._isForwardElement(target)) {\n\t\t\tthis.lastFocusedElement = target;\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._forwardingFocus) {\n\t\t\tif (this.lastFocusedElement) {\n\t\t\t\tthis.lastFocusedElement.focus();\n\t\t\t} else {\n\t\t\t\tthis.currentElement!.focus();\n\t\t\t}\n\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis._forwardingFocus = false;\n\t}\n\n\t_onForwardBefore(e: CustomEvent<TableRowForwardBeforeEventDetail>) {\n\t\tthis.lastFocusedElement = e.detail.target;\n\t\tthis._focusForwardElement(false);\n\t\te.stopImmediatePropagation();\n\t}\n\n\t_onForwardAfter(e: CustomEvent<TableRowForwardAfterEventDetail>) {\n\t\tthis.lastFocusedElement = e.detail.target;\n\n\t\tif (!this.growsWithButton) {\n\t\t\tthis._focusForwardElement(true);\n\t\t} else {\n\t\t\tthis.morеBtn!.focus();\n\t\t}\n\t}\n\n\t_focusForwardElement(isAfter: boolean) {\n\t\tthis._forwardingFocus = true;\n\t\tthis.shadowRoot!.querySelector<HTMLElement>(`#${this._id}-${isAfter ? \"after\" : \"before\"}`)!.focus();\n\t}\n\n\t_isForwardElement(element: HTMLElement): boolean {\n\t\tconst elementId = element.id;\n\t\tconst afterElement = this._getForwardElement(true);\n\t\tconst beforeElement = this._getForwardElement(false);\n\n\t\tif (this._id === elementId || (beforeElement && beforeElement.id === elementId)) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn !!(afterElement && afterElement.id === elementId);\n\t}\n\n\t_getForwardElement(isAfter: boolean): HTMLElement | null {\n\t\tif (isAfter) {\n\t\t\treturn this._getAfterForwardElement();\n\t\t}\n\n\t\treturn this._getBeforeForwardElement();\n\t}\n\n\t_getAfterForwardElement(): HTMLElement {\n\t\tif (!this._afterElement) {\n\t\t\tthis._afterElement = this.shadowRoot!.querySelector(`[id=\"${this._id}-after\"]`)!;\n\t\t}\n\n\t\treturn this._afterElement;\n\t}\n\n\t_getBeforeForwardElement(): HTMLElement {\n\t\tif (!this._beforeElement) {\n\t\t\tthis._beforeElement = this.shadowRoot!.querySelector(`[id=\"${this._id}-before\"]`)!;\n\t\t}\n\n\t\treturn this._beforeElement;\n\t}\n\n\tonRowFocused(e: CustomEvent) {\n\t\tthis._itemNavigation.setCurrentItem(e.target as ITableRow);\n\t}\n\n\tonRowKeyDown(e: KeyboardEvent) {\n\t\tif (this.growing === \"Scroll\" && isDown(e) && this.currentItemIdx === this.rows.length - 1) {\n\t\t\tdebounce(this.loadMore.bind(this), GROWING_WITH_SCROLL_DEBOUNCE_RATE);\n\t\t}\n\t}\n\n\t_onColumnHeaderFocused() {\n\t\tthis._itemNavigation.setCurrentItem(this._columnHeader);\n\t}\n\n\t_onColumnHeaderClick(e: MouseEvent | KeyboardEvent) {\n\t\tif (!e.target) {\n\t\t\tthis.columnHeader!.focus();\n\t\t}\n\n\t\tconst target = getNormalizedTarget(e.target as HTMLElement);\n\t\tconst isNestedElement = this.columnHeaderTabbables.includes(target);\n\n\t\tif (!isNestedElement) {\n\t\t\tthis.columnHeader!.focus();\n\t\t}\n\t}\n\n\t_onColumnHeaderKeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis.isMultiSelect && this._selectAll();\n\t\t}\n\t}\n\n\t_onLoadMoreKeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\tthis._loadMoreActive = true;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._onLoadMoreClick();\n\t\t\tthis._loadMoreActive = true;\n\t\t}\n\t}\n\n\t_onLoadMoreKeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._onLoadMoreClick();\n\t\t}\n\t\tthis._loadMoreActive = false;\n\t}\n\n\tonInvalidation(change: ChangeInfo) {\n\t\tif (change.type === \"property\" && change.name === \"growing\") {\n\t\t\tthis.tableEndObserved = false;\n\t\t\tthis.getIntersectionObserver().disconnect();\n\t\t}\n\t}\n\n\t_onLoadMoreClick() {\n\t\tthis.fireDecoratorEvent(\"load-more\");\n\t}\n\n\tobserveTableEnd() {\n\t\tif (!this.tableEndObserved) {\n\t\t\tthis.getIntersectionObserver().observe(this.tableEndDOM);\n\t\t\tthis.tableEndObserved = true;\n\t\t}\n\t}\n\n\tonInteresection(entries: Array<IntersectionObserverEntry>) {\n\t\tif (this.initialIntersection) {\n\t\t\tthis.initialIntersection = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (entries.some(entry => entry.isIntersecting)) {\n\t\t\tdebounce(this.loadMore.bind(this), GROWING_WITH_SCROLL_DEBOUNCE_RATE);\n\t\t}\n\t}\n\n\tloadMore() {\n\t\tthis.fireDecoratorEvent(\"load-more\");\n\t}\n\n\t_handleSingleSelect(e: CustomEvent<TableRowSelectionRequestedEventDetail>) {\n\t\tconst row: ITableRow | undefined = this.getRowParent(e.target as HTMLElement);\n\n\t\tif (!row) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!row.selected) {\n\t\t\tconst previouslySelectedRows = this.selectedRows;\n\t\t\tthis.rows.forEach(item => {\n\t\t\t\tif (item.selected) {\n\t\t\t\t\titem.selected = false;\n\t\t\t\t}\n\t\t\t});\n\t\t\trow.selected = true;\n\t\t\tthis.fireDecoratorEvent(\"selection-change\", {\n\t\t\t\tselectedRows: [row],\n\t\t\t\tpreviouslySelectedRows,\n\t\t\t});\n\t\t}\n\t}\n\n\t_handleMultiSelect(e: CustomEvent<TableRowSelectionRequestedEventDetail>) {\n\t\tconst row: ITableRow | undefined = this.getRowParent(e.target as HTMLElement);\n\t\tconst previouslySelectedRows: Array<ITableRow> = this.selectedRows;\n\n\t\tif (!row) {\n\t\t\treturn;\n\t\t}\n\n\t\trow.selected = !row.selected;\n\n\t\tconst selectedRows = this.selectedRows;\n\n\t\tif (selectedRows.length === this.rows.length) {\n\t\t\tthis._allRowsSelected = true;\n\t\t} else {\n\t\t\tthis._allRowsSelected = false;\n\t\t}\n\n\t\tthis.fireDecoratorEvent(\"selection-change\", {\n\t\t\tselectedRows,\n\t\t\tpreviouslySelectedRows,\n\t\t});\n\t}\n\n\t_handleSelect(e: CustomEvent<TableRowSelectionRequestedEventDetail>) {\n\t\tif (this.isSingleSelect) {\n\t\t\tthis._handleSingleSelect(e);\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.isMultiSelect) {\n\t\t\tthis._handleMultiSelect(e);\n\t\t}\n\t}\n\n\t_selectAll() {\n\t\tconst bAllSelected = !this._allRowsSelected;\n\t\tconst previouslySelectedRows: Array<ITableRow> = this.rows.filter(row => row.selected);\n\n\t\tthis._allRowsSelected = bAllSelected;\n\n\t\tthis.rows.forEach(row => {\n\t\t\trow.selected = bAllSelected;\n\t\t});\n\n\t\tconst selectedRows = bAllSelected ? this.rows : [];\n\n\t\tthis.fireDecoratorEvent(\"selection-change\", {\n\t\t\tselectedRows,\n\t\t\tpreviouslySelectedRows,\n\t\t});\n\t}\n\n\tgetRowParent(child: HTMLElement): ITableRow | undefined {\n\t\tif (child.hasAttribute(\"ui5-table-row\")) {\n\t\t\treturn child as ITableRow;\n\t\t}\n\n\t\tconst parent = child.parentElement;\n\n\t\tif (!parent) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (parent.hasAttribute(\"ui5-table-row\")) {\n\t\t\treturn parent as ITableRow;\n\t\t}\n\n\t\treturn this.getRowParent(parent);\n\t}\n\n\tget columnHeader(): HTMLElement | null {\n\t\tconst domRef = this.getDomRef();\n\t\treturn domRef ? domRef.querySelector<HTMLElement>(`#${this._id}-columnHeader`) : null;\n\t}\n\n\tget morеBtn(): HTMLElement | null {\n\t\tconst domRef = this.getDomRef();\n\n\t\tif (this.growsWithButton && domRef) {\n\t\t\treturn domRef.querySelector<HTMLElement>(`#${this._id}-growingButton`);\n\t\t}\n\n\t\treturn null;\n\t}\n\n\thandleResize() {\n\t\tthis.popinContent();\n\t}\n\n\tpopinContent() {\n\t\tconst clientRect: DOMRect = this.getDomRef()!.getBoundingClientRect();\n\t\tconst tableWidth: number = clientRect.width;\n\t\tconst hiddenColumns: Array<TableColumnInfo> = [];\n\t\tconst visibleColumnsIndexes: Array<number> = [];\n\n\t\t// store the hidden columns\n\t\tthis.columns.forEach((column, index) => {\n\t\t\tif (tableWidth < column.minWidth && column.minWidth !== Infinity) {\n\t\t\t\thiddenColumns[index] = {\n\t\t\t\t\tindex,\n\t\t\t\t\tpopinText: column.popinText,\n\t\t\t\t\tdemandPopin: column.demandPopin,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tvisibleColumnsIndexes.push(index);\n\t\t\t}\n\t\t});\n\n\t\tif (visibleColumnsIndexes.length) {\n\t\t\tif (!this.isMultiSelect) {\n\t\t\t\tthis.columns[visibleColumnsIndexes[0]].first = true;\n\t\t\t}\n\t\t\tthis.columns[visibleColumnsIndexes[visibleColumnsIndexes.length - 1]].last = true;\n\t\t}\n\n\t\tconst hiddenColumnsChange = (this._hiddenColumns?.length !== hiddenColumns.length) || this._hiddenColumns?.some((column, index) => column !== hiddenColumns[index]);\n\t\tconst shownColumnsChange = hiddenColumns.length === 0;\n\n\t\t// invalidate if hidden columns count has changed or columns are shown\n\t\tif (hiddenColumnsChange || shownColumnsChange) {\n\t\t\tthis._hiddenColumns = hiddenColumns;\n\t\t\tthis.fireDecoratorEvent(\"popin-change\", {\n\t\t\t\tpoppedColumns: this._hiddenColumns,\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * Gets settings to be propagated from columns to rows.\n\t */\n\tgetColumnPropagationSettings(): Array<TableColumnInfo> {\n\t\treturn this.columns.map((column, index) => {\n\t\t\treturn {\n\t\t\t\tindex,\n\t\t\t\tminWidth: column.minWidth,\n\t\t\t\tdemandPopin: column.demandPopin,\n\t\t\t\ttext: column.textContent,\n\t\t\t\tpopinText: column.popinText,\n\t\t\t\tpopinDisplay: column.popinDisplay,\n\t\t\t\tvisible: !this._hiddenColumns?.[index],\n\t\t\t};\n\t\t}, this);\n\t}\n\n\tgetIntersectionObserver(): IntersectionObserver {\n\t\tif (!this.growingIntersectionObserver) {\n\t\t\tthis.growingIntersectionObserver = new IntersectionObserver(this.onInteresection.bind(this), {\n\t\t\t\troot: document,\n\t\t\t\trootMargin: \"0px\",\n\t\t\t\tthreshold: 1.0,\n\t\t\t});\n\t\t}\n\n\t\treturn this.growingIntersectionObserver;\n\t}\n\n\tget growsWithButton(): boolean {\n\t\treturn this.growing === TableGrowingMode.Button;\n\t}\n\n\tget growsOnScroll(): boolean {\n\t\treturn this.growing === TableGrowingMode.Scroll;\n\t}\n\n\tget _growingButtonText(): string {\n\t\treturn this.growingButtonText || Table.i18nBundle.getText(LOAD_MORE_TEXT);\n\t}\n\n\tget ariaLabelText(): string {\n\t\tconst rowsCount = this.rows.length + 1;\n\t\tconst headerRowText = Table.i18nBundle.getText(TABLE_HEADER_ROW_INFORMATION, rowsCount);\n\t\tconst columnsTitle = this.columns.map(column => {\n\t\t\treturn column.textContent!.trim();\n\t\t}).join(\" \");\n\n\t\treturn `${headerRowText} ${columnsTitle}`;\n\t}\n\n\tget tableAriaLabelText(): string | undefined {\n\t\treturn getEffectiveAriaLabelText(this);\n\t}\n\n\tget ariaLabelSelectAllText(): string {\n\t\treturn Table.i18nBundle.getText(ARIA_LABEL_SELECT_ALL_CHECKBOX);\n\t}\n\n\tget loadMoreAriaLabelledBy(): string {\n\t\tif (this.growingButtonSubtext) {\n\t\t\treturn `${this._id}-growingButton-text ${this._id}-growingButton-subtext`;\n\t\t}\n\n\t\treturn `${this._id}-growingButton-text`;\n\t}\n\n\tget tableEndDOM(): Element {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-table-end-marker\")!;\n\t}\n\n\tget isMultiSelect(): boolean {\n\t\treturn this.mode === TableMode.MultiSelect;\n\t}\n\n\tget isSingleSelect(): boolean {\n\t\treturn this.mode === TableMode.SingleSelect;\n\t}\n\n\tget selectedRows(): Array<ITableRow> {\n\t\treturn this.rows.filter(row => row.selected);\n\t}\n\n\tget currentItemIdx(): number {\n\t\treturn this.rows.indexOf(this.currentItem);\n\t}\n\n\tget currentItem(): ITableRow {\n\t\treturn (this.getRootNode() as Document).activeElement as ITableRow;\n\t}\n\n\tget currentElement(): HTMLElement | undefined {\n\t\treturn this._itemNavigation._getCurrentItem();\n\t}\n\n\tget columnHeaderTabbables(): Array<HTMLElement> {\n\t\treturn this.columnHeader ? getTabbableElements(this.columnHeader) : [];\n\t}\n\n\tget columnHeaderLastElement(): HTMLElement | null {\n\t\treturn this.columnHeader && getLastTabbableElement(this.columnHeader);\n\t}\n}\n\nTable.define();\n\nexport default Table;\n\nexport type {\n\tITableRow,\n\tTableColumnInfo,\n\tTableRowClickEventDetail,\n\tTableSelectionChangeEventDetail,\n\tTablePopinChangeEventDetail,\n};\n"]}
@@ -10,6 +10,7 @@ import type I18nBundle from "@ui5/webcomponents-base/dist/i18nBundle.js";
10
10
  * @extends UI5Element
11
11
  * @public
12
12
  * @csspart cell - Used to style the native `td` element
13
+ * @deprecated Deprecated as of version 2.12.0, use `@ui5/webcomponents/dist/TableCell.js` instead.
13
14
  */
14
15
  declare class TableCell extends UI5Element {
15
16
  /**
package/dist/TableCell.js CHANGED
@@ -26,6 +26,7 @@ import { ARIA_LABEL_EMPTY_CELL, } from "./generated/i18n/i18n-defaults.js";
26
26
  * @extends UI5Element
27
27
  * @public
28
28
  * @csspart cell - Used to style the native `td` element
29
+ * @deprecated Deprecated as of version 2.12.0, use `@ui5/webcomponents/dist/TableCell.js` instead.
29
30
  */
30
31
  let TableCell = TableCell_1 = class TableCell extends UI5Element {
31
32
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"TableCell.js","sourceRoot":"","sources":["../src/TableCell.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAE/E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AAEvD,SAAS;AACT,OAAO,eAAe,MAAM,qCAAqC,CAAC;AAElE,QAAQ;AACR,OAAO,EACN,qBAAqB,GACrB,MAAM,mCAAmC,CAAC;AAE3C;;;;;;;;;;GAUG;AAOH,IAAM,SAAS,iBAAf,MAAM,SAAU,SAAQ,UAAU;IAAlC;;QACC;;WAEG;QAEH,cAAS,GAAG,KAAK,CAAC;QAElB;;WAEG;QAEH,YAAO,GAAG,KAAK,CAAC;QAEhB;;WAEG;QAEH,mBAAc,GAAG,KAAK,CAAC;IAmBxB,CAAC;IAPA,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,eAAe,CAAc,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,sBAAsB;QACzB,OAAO,WAAS,CAAC,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC5D,CAAC;CACD,CAAA;AA/BA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;4CACV;AAMlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CACZ;AAMhB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iDACL;AAOvB;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;0CAChB;AAGtB;IADN,IAAI,CAAC,oBAAoB,CAAC;mCACG;AA3BzB,SAAS;IANd,aAAa,CAAC;QACd,GAAG,EAAE,gBAAgB;QACrB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,iBAAiB;QAC3B,MAAM,EAAE,eAAe;KACvB,CAAC;GACI,SAAS,CAoCd;AAED,SAAS,CAAC,MAAM,EAAE,CAAC;AAEnB,eAAe,SAAS,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport TableCellTemplate from \"./TableCellTemplate.js\";\n\n// Styles\nimport tableCellStyles from \"./generated/themes/TableCell.css.js\";\n\n// Texts\nimport {\n\tARIA_LABEL_EMPTY_CELL,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-cell` component defines the structure of the data in a single `ui5-table` cell.\n * @constructor\n * @extends UI5Element\n * @public\n * @csspart cell - Used to style the native `td` element\n */\n@customElement({\n\ttag: \"ui5-table-cell\",\n\trenderer: jsxRenderer,\n\ttemplate: TableCellTemplate,\n\tstyles: tableCellStyles,\n})\nclass TableCell extends UI5Element {\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tlastInRow = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tpopined = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_popinedInline = false;\n\n\t/**\n\t * Specifies the content of the component.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\tcontent?: Array<HTMLElement>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tget cellContent(): Array<HTMLElement> {\n\t\treturn this.getSlottedNodes<HTMLElement>(\"content\");\n\t}\n\n\tget ariaLabelEmptyCellText(): string {\n\t\treturn TableCell.i18nBundle.getText(ARIA_LABEL_EMPTY_CELL);\n\t}\n}\n\nTableCell.define();\n\nexport default TableCell;\n"]}
1
+ {"version":3,"file":"TableCell.js","sourceRoot":"","sources":["../src/TableCell.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAE/E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AAEvD,SAAS;AACT,OAAO,eAAe,MAAM,qCAAqC,CAAC;AAElE,QAAQ;AACR,OAAO,EACN,qBAAqB,GACrB,MAAM,mCAAmC,CAAC;AAE3C;;;;;;;;;;;GAWG;AAOH,IAAM,SAAS,iBAAf,MAAM,SAAU,SAAQ,UAAU;IAAlC;;QACC;;WAEG;QAEH,cAAS,GAAG,KAAK,CAAC;QAElB;;WAEG;QAEH,YAAO,GAAG,KAAK,CAAC;QAEhB;;WAEG;QAEH,mBAAc,GAAG,KAAK,CAAC;IAmBxB,CAAC;IAPA,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,eAAe,CAAc,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,sBAAsB;QACzB,OAAO,WAAS,CAAC,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC5D,CAAC;CACD,CAAA;AA/BA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;4CACV;AAMlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CACZ;AAMhB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iDACL;AAOvB;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;0CAChB;AAGtB;IADN,IAAI,CAAC,oBAAoB,CAAC;mCACG;AA3BzB,SAAS;IANd,aAAa,CAAC;QACd,GAAG,EAAE,gBAAgB;QACrB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,iBAAiB;QAC3B,MAAM,EAAE,eAAe;KACvB,CAAC;GACI,SAAS,CAoCd;AAED,SAAS,CAAC,MAAM,EAAE,CAAC;AAEnB,eAAe,SAAS,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport TableCellTemplate from \"./TableCellTemplate.js\";\n\n// Styles\nimport tableCellStyles from \"./generated/themes/TableCell.css.js\";\n\n// Texts\nimport {\n\tARIA_LABEL_EMPTY_CELL,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-cell` component defines the structure of the data in a single `ui5-table` cell.\n * @constructor\n * @extends UI5Element\n * @public\n * @csspart cell - Used to style the native `td` element\n * @deprecated Deprecated as of version 2.12.0, use `@ui5/webcomponents/dist/TableCell.js` instead.\n */\n@customElement({\n\ttag: \"ui5-table-cell\",\n\trenderer: jsxRenderer,\n\ttemplate: TableCellTemplate,\n\tstyles: tableCellStyles,\n})\nclass TableCell extends UI5Element {\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tlastInRow = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tpopined = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\t_popinedInline = false;\n\n\t/**\n\t * Specifies the content of the component.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true })\n\tcontent?: Array<HTMLElement>;\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\tget cellContent(): Array<HTMLElement> {\n\t\treturn this.getSlottedNodes<HTMLElement>(\"content\");\n\t}\n\n\tget ariaLabelEmptyCellText(): string {\n\t\treturn TableCell.i18nBundle.getText(ARIA_LABEL_EMPTY_CELL);\n\t}\n}\n\nTableCell.define();\n\nexport default TableCell;\n"]}
@@ -12,6 +12,7 @@ import type TableColumnPopinDisplay from "./types/TableColumnPopinDisplay.js";
12
12
  * @public
13
13
  * @slot {Node[]} default - Defines the content of the column header
14
14
  * @csspart column - Used to style the native `th` element
15
+ * @deprecated Deprecated as of version 2.12.0, use `@ui5/webcomponents/dist/Table.js` instead.
15
16
  */
16
17
  declare class TableColumn extends UI5Element {
17
18
  /**
@@ -23,6 +23,7 @@ import tableColumnStyles from "./generated/themes/TableColumn.css.js";
23
23
  * @public
24
24
  * @slot {Node[]} default - Defines the content of the column header
25
25
  * @csspart column - Used to style the native `th` element
26
+ * @deprecated Deprecated as of version 2.12.0, use `@ui5/webcomponents/dist/Table.js` instead.
26
27
  */
27
28
  let TableColumn = class TableColumn extends UI5Element {
28
29
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"TableColumn.js","sourceRoot":"","sources":["../src/TableColumn.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAG3D,SAAS;AACT,OAAO,iBAAiB,MAAM,uCAAuC,CAAC;AAEtE;;;;;;;;;;;;GAYG;AAOH,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,UAAU;IAApC;;QACC;;;;;;;;;WASG;QAEH,aAAQ,GAAW,QAAQ,CAAC;QAU5B;;;;;;;WAOG;QAEH,gBAAW,GAAG,KAAK,CAAC;QAEpB;;;;;;;;;WASG;QAEH,iBAAY,GAAiC,OAAO,CAAC;QAErD;;WAEG;QAEH,UAAK,GAAG,KAAK,CAAC;QAEd;;WAEG;QAEH,SAAI,GAAG,KAAK,CAAC;IACd,CAAC;CAAA,CAAA;AA7CA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CACC;AAQ5B;IADC,QAAQ,EAAE;8CACQ;AAWnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gDACR;AAapB;IADC,QAAQ,EAAE;iDAC0C;AAMrD;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CACd;AAMd;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;yCACf;AAxDR,WAAW;IANhB,aAAa,CAAC;QACd,GAAG,EAAE,kBAAkB;QACvB,MAAM,EAAE,iBAAiB;QACzB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,mBAAmB;KAC7B,CAAC;GACI,WAAW,CAyDhB;AAED,WAAW,CAAC,MAAM,EAAE,CAAC;AAErB,eAAe,WAAW,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport TableColumnTemplate from \"./TableColumnTemplate.js\";\nimport type TableColumnPopinDisplay from \"./types/TableColumnPopinDisplay.js\";\n\n// Styles\nimport tableColumnStyles from \"./generated/themes/TableColumn.css.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-column` component allows to define column specific properties that are applied\n * when rendering the `ui5-table` component.\n * @constructor\n * @extends UI5Element\n * @public\n * @slot {Node[]} default - Defines the content of the column header\n * @csspart column - Used to style the native `th` element\n */\n@customElement({\n\ttag: \"ui5-table-column\",\n\tstyles: tableColumnStyles,\n\trenderer: jsxRenderer,\n\ttemplate: TableColumnTemplate,\n})\nclass TableColumn extends UI5Element {\n\t/**\n\t * Defines the minimum table width required to display this column. By default it is always displayed.\n\t *\n\t * The responsive behavior of the `ui5-table` is determined by this property. As an example, by setting\n\t * `minWidth` property to `400` sets the minimum width to 400 pixels, and\tshows this column on tablet (and desktop) but hides it on mobile.\n\t *\n\t * For further responsive design options, see `demandPopin` property.\n\t * @default Infinity\n\t * @public\n\t */\n\t@property({ type: Number })\n\tminWidth: number = Infinity;\n\n\t/**\n\t * The text for the column when it pops in.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tpopinText?: string;\n\n\t/**\n\t * According to your `minWidth` settings, the component can be hidden\n\t * in different screen sizes.\n\t *\n\t * Setting this property to `true`, shows this column as pop-in instead of hiding it.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdemandPopin = false;\n\n\t/**\n\t * Defines how the popin row is displayed.\n\t *\n\t * **The available values are:**\n\t *\n\t * - `Block`\n\t * - `Inline`\n\t * @default \"Block\"\n\t * @public\n\t */\n\t@property()\n\tpopinDisplay: `${TableColumnPopinDisplay}` = \"Block\";\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfirst = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tlast = false;\n}\n\nTableColumn.define();\n\nexport default TableColumn;\n"]}
1
+ {"version":3,"file":"TableColumn.js","sourceRoot":"","sources":["../src/TableColumn.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAG3D,SAAS;AACT,OAAO,iBAAiB,MAAM,uCAAuC,CAAC;AAEtE;;;;;;;;;;;;;GAaG;AAOH,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,UAAU;IAApC;;QACC;;;;;;;;;WASG;QAEH,aAAQ,GAAW,QAAQ,CAAC;QAU5B;;;;;;;WAOG;QAEH,gBAAW,GAAG,KAAK,CAAC;QAEpB;;;;;;;;;WASG;QAEH,iBAAY,GAAiC,OAAO,CAAC;QAErD;;WAEG;QAEH,UAAK,GAAG,KAAK,CAAC;QAEd;;WAEG;QAEH,SAAI,GAAG,KAAK,CAAC;IACd,CAAC;CAAA,CAAA;AA7CA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CACC;AAQ5B;IADC,QAAQ,EAAE;8CACQ;AAWnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gDACR;AAapB;IADC,QAAQ,EAAE;iDAC0C;AAMrD;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CACd;AAMd;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;yCACf;AAxDR,WAAW;IANhB,aAAa,CAAC;QACd,GAAG,EAAE,kBAAkB;QACvB,MAAM,EAAE,iBAAiB;QACzB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,mBAAmB;KAC7B,CAAC;GACI,WAAW,CAyDhB;AAED,WAAW,CAAC,MAAM,EAAE,CAAC;AAErB,eAAe,WAAW,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport TableColumnTemplate from \"./TableColumnTemplate.js\";\nimport type TableColumnPopinDisplay from \"./types/TableColumnPopinDisplay.js\";\n\n// Styles\nimport tableColumnStyles from \"./generated/themes/TableColumn.css.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-column` component allows to define column specific properties that are applied\n * when rendering the `ui5-table` component.\n * @constructor\n * @extends UI5Element\n * @public\n * @slot {Node[]} default - Defines the content of the column header\n * @csspart column - Used to style the native `th` element\n * @deprecated Deprecated as of version 2.12.0, use `@ui5/webcomponents/dist/Table.js` instead.\n */\n@customElement({\n\ttag: \"ui5-table-column\",\n\tstyles: tableColumnStyles,\n\trenderer: jsxRenderer,\n\ttemplate: TableColumnTemplate,\n})\nclass TableColumn extends UI5Element {\n\t/**\n\t * Defines the minimum table width required to display this column. By default it is always displayed.\n\t *\n\t * The responsive behavior of the `ui5-table` is determined by this property. As an example, by setting\n\t * `minWidth` property to `400` sets the minimum width to 400 pixels, and\tshows this column on tablet (and desktop) but hides it on mobile.\n\t *\n\t * For further responsive design options, see `demandPopin` property.\n\t * @default Infinity\n\t * @public\n\t */\n\t@property({ type: Number })\n\tminWidth: number = Infinity;\n\n\t/**\n\t * The text for the column when it pops in.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tpopinText?: string;\n\n\t/**\n\t * According to your `minWidth` settings, the component can be hidden\n\t * in different screen sizes.\n\t *\n\t * Setting this property to `true`, shows this column as pop-in instead of hiding it.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdemandPopin = false;\n\n\t/**\n\t * Defines how the popin row is displayed.\n\t *\n\t * **The available values are:**\n\t *\n\t * - `Block`\n\t * - `Inline`\n\t * @default \"Block\"\n\t * @public\n\t */\n\t@property()\n\tpopinDisplay: `${TableColumnPopinDisplay}` = \"Block\";\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tfirst = false;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tlast = false;\n}\n\nTableColumn.define();\n\nexport default TableColumn;\n"]}
@@ -17,6 +17,7 @@ import TableMode from "./types/TableMode.js";
17
17
  *
18
18
  * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.
19
19
  * @csspart group-row - Used to style the native `tr` element
20
+ * @deprecated Deprecated as of version 2.12.0, use `@ui5/webcomponents/dist/Table.js` instead.
20
21
  */
21
22
  declare class TableGroupRow extends UI5Element implements ITableRow {
22
23
  eventDetails: {
@@ -32,6 +32,7 @@ import tableGroupRowStyles from "./generated/themes/TableGroupRow.css.js";
32
32
  *
33
33
  * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.
34
34
  * @csspart group-row - Used to style the native `tr` element
35
+ * @deprecated Deprecated as of version 2.12.0, use `@ui5/webcomponents/dist/Table.js` instead.
35
36
  */
36
37
  let TableGroupRow = TableGroupRow_1 = class TableGroupRow extends UI5Element {
37
38
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"TableGroupRow.js","sourceRoot":"","sources":["../src/TableGroupRow.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAG/E,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAC/D,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,QAAQ;AACR,OAAO,EACN,0BAA0B,GAC1B,MAAM,mCAAmC,CAAC;AAE3C,SAAS;AACT,OAAO,mBAAmB,MAAM,yCAAyC,CAAC;AAE1E;;;;;;;;;;;;;;;GAeG;AAUH,IAAM,aAAa,qBAAnB,MAAM,aAAc,SAAQ,UAAU;IAAtC;;QAIC;;;;WAIG;QAEH,SAAI,GAAmB,MAAM,CAAC;QAS9B,eAAU,GAAG,KAAK,CAAC;QAKnB,2CAA2C;QAC3C,aAAQ,GAAG,KAAK,CAAC;QACjB,qBAAgB,GAAuB,EAAE,CAAC;QAC1C,uBAAkB,GAAG,EAAE,CAAC;IAqCzB,CAAC;IA9BA,IAAI,OAAO;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,GAAG,eAAa,CAAC,UAAU,CAAC,OAAO,CAAC,0BAA0B,CAAC,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC1H,CAAC;IAED,eAAe;QACd,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACrD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACrC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAEX,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC;YACzC,KAAK,EAAE,CAAC;QACT,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1D,OAAO;QACR,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC;IAED,UAAU,CAAC,CAAa;QACvB,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACxC,CAAC;CACD,CAAA;AAtDA;IADC,QAAQ,EAAE;2CACmB;AAG9B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;mDACY;AAGtC;IADC,QAAQ,EAAE;qDACa;AAGxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iDACT;AAGnB;IADC,QAAQ,EAAE;yDACiB;AAQrB;IADN,IAAI,CAAC,oBAAoB,CAAC;uCACG;AA9BzB,aAAa;IATlB,aAAa,CAAC;QACd,GAAG,EAAE,qBAAqB;QAC1B,MAAM,EAAE,mBAAmB;QAC3B,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,qBAAqB;KAC/B,CAAC;IACD,KAAK,CAAC,UAAU,EAAE;QAClB,OAAO,EAAE,IAAI;KACb,CAAC;GACI,aAAa,CAgElB;AAED,aAAa,CAAC,MAAM,EAAE,CAAC;AAEvB,eAAe,aAAa,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { ITableRow, TableColumnInfo } from \"./Table.js\";\nimport TableGroupRowTemplate from \"./TableGroupRowTemplate.js\";\nimport TableMode from \"./types/TableMode.js\";\n\n// Texts\nimport {\n\tTABLE_GROUP_ROW_ARIA_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport tableGroupRowStyles from \"./generated/themes/TableGroupRow.css.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-group-row` component represents a group row in the `ui5-table`.\n * @constructor\n * @since 2.0.0\n * @implements {ITableRow}\n * @extends UI5Element\n * @public\n * @slot {Node[]} default - Defines the text of the component.\n *\n * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n * @csspart group-row - Used to style the native `tr` element\n */\n@customElement({\n\ttag: \"ui5-table-group-row\",\n\tstyles: tableGroupRowStyles,\n\trenderer: jsxRenderer,\n\ttemplate: TableGroupRowTemplate,\n})\n@event(\"_focused\", {\n\tbubbles: true,\n})\nclass TableGroupRow extends UI5Element implements ITableRow {\n\teventDetails!: {\n\t\t_focused: FocusEvent,\n\t}\n\t/**\n\t * Defines the mode of the row\n\t * @default \"None\"\n\t * @private\n\t */\n\t@property()\n\tmode: `${TableMode}` = \"None\";\n\n\t@property({ type: Array })\n\t_columnsInfo?: Array<TableColumnInfo>;\n\n\t@property()\n\tforcedTabIndex?: string;\n\n\t@property({ type: Boolean })\n\tforcedBusy = false;\n\n\t@property()\n\tforcedAriaPosition?: string;\n\n\t// Properties, set and handled by the Table\n\tselected = false;\n\ttabbableElements: Array<HTMLElement> = [];\n\t_columnsInfoString = \"\";\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\t_colSpan?: number;\n\n\tget colSpan() {\n\t\treturn this._colSpan;\n\t}\n\n\tget ariaLabelText() {\n\t\treturn `${TableGroupRow.i18nBundle.getText(TABLE_GROUP_ROW_ARIA_LABEL)} ${this.textContent}. ${this.forcedAriaPosition}`;\n\t}\n\n\tvisibleColCount(): number {\n\t\tlet count = this._columnsInfo?.reduce((acc, column) => {\n\t\t\treturn column.visible ? ++acc : acc;\n\t\t}, 0) || 0;\n\n\t\tif (this.mode === TableMode.MultiSelect) {\n\t\t\tcount++;\n\t\t}\n\n\t\treturn count;\n\t}\n\n\tonBeforeRendering() {\n\t\tif (!this._columnsInfo || this._columnsInfo.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tthis._colSpan = this.visibleColCount();\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tthis.fireDecoratorEvent(\"_focused\", e);\n\t}\n}\n\nTableGroupRow.define();\n\nexport default TableGroupRow;\n"]}
1
+ {"version":3,"file":"TableGroupRow.js","sourceRoot":"","sources":["../src/TableGroupRow.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAG/E,OAAO,qBAAqB,MAAM,4BAA4B,CAAC;AAC/D,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,QAAQ;AACR,OAAO,EACN,0BAA0B,GAC1B,MAAM,mCAAmC,CAAC;AAE3C,SAAS;AACT,OAAO,mBAAmB,MAAM,yCAAyC,CAAC;AAE1E;;;;;;;;;;;;;;;;GAgBG;AAUH,IAAM,aAAa,qBAAnB,MAAM,aAAc,SAAQ,UAAU;IAAtC;;QAIC;;;;WAIG;QAEH,SAAI,GAAmB,MAAM,CAAC;QAS9B,eAAU,GAAG,KAAK,CAAC;QAKnB,2CAA2C;QAC3C,aAAQ,GAAG,KAAK,CAAC;QACjB,qBAAgB,GAAuB,EAAE,CAAC;QAC1C,uBAAkB,GAAG,EAAE,CAAC;IAqCzB,CAAC;IA9BA,IAAI,OAAO;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,GAAG,eAAa,CAAC,UAAU,CAAC,OAAO,CAAC,0BAA0B,CAAC,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC1H,CAAC;IAED,eAAe;QACd,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACrD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACrC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAEX,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC;YACzC,KAAK,EAAE,CAAC;QACT,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1D,OAAO;QACR,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IACxC,CAAC;IAED,UAAU,CAAC,CAAa;QACvB,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACxC,CAAC;CACD,CAAA;AAtDA;IADC,QAAQ,EAAE;2CACmB;AAG9B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;mDACY;AAGtC;IADC,QAAQ,EAAE;qDACa;AAGxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iDACT;AAGnB;IADC,QAAQ,EAAE;yDACiB;AAQrB;IADN,IAAI,CAAC,oBAAoB,CAAC;uCACG;AA9BzB,aAAa;IATlB,aAAa,CAAC;QACd,GAAG,EAAE,qBAAqB;QAC1B,MAAM,EAAE,mBAAmB;QAC3B,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,qBAAqB;KAC/B,CAAC;IACD,KAAK,CAAC,UAAU,EAAE;QAClB,OAAO,EAAE,IAAI;KACb,CAAC;GACI,aAAa,CAgElB;AAED,aAAa,CAAC,MAAM,EAAE,CAAC;AAEvB,eAAe,aAAa,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport type { ITableRow, TableColumnInfo } from \"./Table.js\";\nimport TableGroupRowTemplate from \"./TableGroupRowTemplate.js\";\nimport TableMode from \"./types/TableMode.js\";\n\n// Texts\nimport {\n\tTABLE_GROUP_ROW_ARIA_LABEL,\n} from \"./generated/i18n/i18n-defaults.js\";\n\n// Styles\nimport tableGroupRowStyles from \"./generated/themes/TableGroupRow.css.js\";\n\n/**\n * @class\n *\n * ### Overview\n *\n * The `ui5-table-group-row` component represents a group row in the `ui5-table`.\n * @constructor\n * @since 2.0.0\n * @implements {ITableRow}\n * @extends UI5Element\n * @public\n * @slot {Node[]} default - Defines the text of the component.\n *\n * **Note:** Although this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design.\n * @csspart group-row - Used to style the native `tr` element\n * @deprecated Deprecated as of version 2.12.0, use `@ui5/webcomponents/dist/Table.js` instead.\n */\n@customElement({\n\ttag: \"ui5-table-group-row\",\n\tstyles: tableGroupRowStyles,\n\trenderer: jsxRenderer,\n\ttemplate: TableGroupRowTemplate,\n})\n@event(\"_focused\", {\n\tbubbles: true,\n})\nclass TableGroupRow extends UI5Element implements ITableRow {\n\teventDetails!: {\n\t\t_focused: FocusEvent,\n\t}\n\t/**\n\t * Defines the mode of the row\n\t * @default \"None\"\n\t * @private\n\t */\n\t@property()\n\tmode: `${TableMode}` = \"None\";\n\n\t@property({ type: Array })\n\t_columnsInfo?: Array<TableColumnInfo>;\n\n\t@property()\n\tforcedTabIndex?: string;\n\n\t@property({ type: Boolean })\n\tforcedBusy = false;\n\n\t@property()\n\tforcedAriaPosition?: string;\n\n\t// Properties, set and handled by the Table\n\tselected = false;\n\ttabbableElements: Array<HTMLElement> = [];\n\t_columnsInfoString = \"\";\n\n\t@i18n(\"@ui5/webcomponents\")\n\tstatic i18nBundle: I18nBundle;\n\n\t_colSpan?: number;\n\n\tget colSpan() {\n\t\treturn this._colSpan;\n\t}\n\n\tget ariaLabelText() {\n\t\treturn `${TableGroupRow.i18nBundle.getText(TABLE_GROUP_ROW_ARIA_LABEL)} ${this.textContent}. ${this.forcedAriaPosition}`;\n\t}\n\n\tvisibleColCount(): number {\n\t\tlet count = this._columnsInfo?.reduce((acc, column) => {\n\t\t\treturn column.visible ? ++acc : acc;\n\t\t}, 0) || 0;\n\n\t\tif (this.mode === TableMode.MultiSelect) {\n\t\t\tcount++;\n\t\t}\n\n\t\treturn count;\n\t}\n\n\tonBeforeRendering() {\n\t\tif (!this._columnsInfo || this._columnsInfo.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tthis._colSpan = this.visibleColCount();\n\t}\n\n\t_onfocusin(e: FocusEvent) {\n\t\tthis.fireDecoratorEvent(\"_focused\", e);\n\t}\n}\n\nTableGroupRow.define();\n\nexport default TableGroupRow;\n"]}
@@ -31,6 +31,7 @@ type TableRowF7PressEventDetail = {
31
31
  * @public
32
32
  * @csspart row - Used to style the native `tr` element
33
33
  * @csspart popin-row - Used to style the `tr` element when a row pops in
34
+ * @deprecated Deprecated as of version 2.12.0, use `@ui5/webcomponents/dist/TableRow.js` instead.
34
35
  */
35
36
  declare class TableRow extends UI5Element implements ITableRow {
36
37
  eventDetails: {
package/dist/TableRow.js CHANGED
@@ -34,6 +34,7 @@ import tableRowStyles from "./generated/themes/TableRow.css.js";
34
34
  * @public
35
35
  * @csspart row - Used to style the native `tr` element
36
36
  * @csspart popin-row - Used to style the `tr` element when a row pops in
37
+ * @deprecated Deprecated as of version 2.12.0, use `@ui5/webcomponents/dist/TableRow.js` instead.
37
38
  */
38
39
  let TableRow = TableRow_1 = class TableRow extends UI5Element {
39
40
  constructor() {