@elastic/eui 95.10.0 → 95.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/eui_theme_dark.css +0 -923
- package/dist/eui_theme_dark.min.css +1 -1
- package/dist/eui_theme_light.css +0 -923
- package/dist/eui_theme_light.min.css +1 -1
- package/es/components/basic_table/basic_table.js +4 -3
- package/es/components/basic_table/collapsed_item_actions.js +24 -31
- package/es/components/datagrid/body/cell/data_grid_cell.js +98 -86
- package/es/components/datagrid/body/cell/data_grid_cell.styles.js +107 -0
- package/es/components/datagrid/body/cell/data_grid_cell_actions.js +13 -3
- package/es/components/datagrid/body/cell/data_grid_cell_actions.styles.js +33 -0
- package/es/components/datagrid/body/cell/data_grid_cell_popover.js +21 -12
- package/es/components/datagrid/body/cell/data_grid_cell_popover.styles.js +19 -0
- package/es/components/datagrid/body/cell/focus_utils.js +18 -20
- package/es/components/datagrid/body/data_grid_body.js +20 -4
- package/es/components/datagrid/body/data_grid_body.styles.js +26 -0
- package/es/components/datagrid/body/data_grid_body_custom.js +18 -6
- package/es/components/datagrid/body/data_grid_body_virtualized.js +18 -6
- package/es/components/datagrid/body/footer/data_grid_footer.styles.js +24 -0
- package/es/components/datagrid/body/footer/data_grid_footer_row.js +10 -5
- package/es/components/datagrid/body/header/column_actions.js +16 -4
- package/es/components/datagrid/body/header/data_grid_column_resizer.js +14 -7
- package/es/components/datagrid/body/header/data_grid_column_resizer.styles.js +36 -0
- package/es/components/datagrid/body/header/data_grid_control_header_cell.js +1 -3
- package/es/components/datagrid/body/header/data_grid_header_cell.js +40 -66
- package/es/components/datagrid/body/header/data_grid_header_cell.styles.js +29 -0
- package/es/components/datagrid/body/header/data_grid_header_cell_wrapper.js +4 -1
- package/es/components/datagrid/body/header/data_grid_header_cell_wrapper.styles.js +27 -0
- package/es/components/datagrid/body/header/data_grid_header_row.js +8 -2
- package/es/components/datagrid/body/header/data_grid_header_row.styles.js +21 -0
- package/es/components/datagrid/controls/column_selector.js +17 -8
- package/es/components/datagrid/controls/column_selector.styles.js +22 -0
- package/es/components/datagrid/controls/column_sorting.js +7 -2
- package/es/components/datagrid/controls/column_sorting.styles.js +35 -0
- package/es/components/datagrid/controls/column_sorting_draggable.js +19 -14
- package/es/components/datagrid/controls/data_grid_toolbar.js +8 -1
- package/es/components/datagrid/controls/data_grid_toolbar.styles.js +18 -0
- package/es/components/datagrid/controls/data_grid_toolbar_control.js +27 -27
- package/es/components/datagrid/controls/display_selector.js +14 -3
- package/es/components/datagrid/controls/fullscreen_selector.js +8 -5
- package/es/components/datagrid/controls/fullscreen_selector.styles.js +20 -0
- package/es/components/datagrid/controls/keyboard_shortcuts.js +7 -3
- package/es/components/datagrid/controls/keyboard_shortcuts.styles.js +18 -0
- package/es/components/datagrid/data_grid.a11y.js +1 -0
- package/es/components/datagrid/data_grid.js +16 -8
- package/es/components/datagrid/data_grid.stories.utils.js +1386 -0
- package/es/components/datagrid/data_grid.styles.js +88 -0
- package/es/components/datagrid/{utils → pagination}/data_grid_pagination.js +30 -30
- package/es/components/datagrid/pagination/data_grid_pagination.styles.js +16 -0
- package/es/components/datagrid/pagination/index.js +9 -0
- package/es/components/datagrid/utils/row_heights.js +13 -15
- package/es/components/datagrid/utils/scrolling.js +14 -7
- package/es/components/datagrid/utils/scrolling.styles.js +30 -0
- package/es/components/flyout/flyout_resizable.js +6 -2
- package/es/components/flyout/flyout_resizable.styles.js +34 -5
- package/es/components/popover/popover.js +1 -1
- package/es/components/text/text.js +25 -9
- package/es/components/text/text_align.js +19 -6
- package/es/components/text/text_color.js +14 -11
- package/es/components/text/types.js +1 -0
- package/eui.d.ts +581 -108
- package/i18ntokens.json +392 -356
- package/lib/components/basic_table/basic_table.js +4 -3
- package/lib/components/basic_table/collapsed_item_actions.js +23 -30
- package/lib/components/datagrid/body/cell/data_grid_cell.js +95 -83
- package/lib/components/datagrid/body/cell/data_grid_cell.styles.js +111 -0
- package/lib/components/datagrid/body/cell/data_grid_cell_actions.js +13 -3
- package/lib/components/datagrid/body/cell/data_grid_cell_actions.styles.js +38 -0
- package/lib/components/datagrid/body/cell/data_grid_cell_popover.js +20 -11
- package/lib/components/datagrid/body/cell/data_grid_cell_popover.styles.js +24 -0
- package/lib/components/datagrid/body/cell/focus_utils.js +17 -19
- package/lib/components/datagrid/body/data_grid_body.js +20 -4
- package/lib/components/datagrid/body/data_grid_body.styles.js +30 -0
- package/lib/components/datagrid/body/data_grid_body_custom.js +18 -6
- package/lib/components/datagrid/body/data_grid_body_virtualized.js +18 -6
- package/lib/components/datagrid/body/footer/data_grid_footer.styles.js +30 -0
- package/lib/components/datagrid/body/footer/data_grid_footer_row.js +11 -6
- package/lib/components/datagrid/body/header/column_actions.js +16 -4
- package/lib/components/datagrid/body/header/data_grid_column_resizer.js +14 -7
- package/lib/components/datagrid/body/header/data_grid_column_resizer.styles.js +39 -0
- package/lib/components/datagrid/body/header/data_grid_control_header_cell.js +1 -3
- package/lib/components/datagrid/body/header/data_grid_header_cell.js +47 -74
- package/lib/components/datagrid/body/header/data_grid_header_cell.styles.js +34 -0
- package/lib/components/datagrid/body/header/data_grid_header_cell_wrapper.js +3 -0
- package/lib/components/datagrid/body/header/data_grid_header_cell_wrapper.styles.js +32 -0
- package/lib/components/datagrid/body/header/data_grid_header_row.js +8 -2
- package/lib/components/datagrid/body/header/data_grid_header_row.styles.js +27 -0
- package/lib/components/datagrid/controls/column_selector.js +17 -8
- package/lib/components/datagrid/controls/column_selector.styles.js +28 -0
- package/lib/components/datagrid/controls/column_sorting.js +7 -2
- package/lib/components/datagrid/controls/column_sorting.styles.js +41 -0
- package/lib/components/datagrid/controls/column_sorting_draggable.js +19 -14
- package/lib/components/datagrid/controls/data_grid_toolbar.js +8 -1
- package/lib/components/datagrid/controls/data_grid_toolbar.styles.js +24 -0
- package/lib/components/datagrid/controls/data_grid_toolbar_control.js +27 -27
- package/lib/components/datagrid/controls/display_selector.js +13 -2
- package/lib/components/datagrid/controls/fullscreen_selector.js +7 -4
- package/lib/components/datagrid/controls/fullscreen_selector.styles.js +26 -0
- package/lib/components/datagrid/controls/keyboard_shortcuts.js +6 -2
- package/lib/components/datagrid/controls/keyboard_shortcuts.styles.js +24 -0
- package/lib/components/datagrid/data_grid.a11y.js +1 -0
- package/lib/components/datagrid/data_grid.js +15 -7
- package/lib/components/datagrid/data_grid.stories.utils.js +1391 -0
- package/lib/components/datagrid/data_grid.styles.js +94 -0
- package/lib/components/datagrid/{utils → pagination}/data_grid_pagination.js +30 -30
- package/lib/components/datagrid/pagination/data_grid_pagination.styles.js +22 -0
- package/lib/components/datagrid/pagination/index.js +18 -0
- package/lib/components/datagrid/utils/row_heights.js +13 -14
- package/lib/components/datagrid/utils/scrolling.js +14 -7
- package/lib/components/datagrid/utils/scrolling.styles.js +36 -0
- package/lib/components/flyout/flyout_resizable.js +6 -2
- package/lib/components/flyout/flyout_resizable.styles.js +34 -5
- package/lib/components/popover/popover.js +1 -1
- package/lib/components/text/text.js +25 -9
- package/lib/components/text/text_align.js +19 -6
- package/lib/components/text/text_color.js +14 -11
- package/lib/components/text/types.js +5 -0
- package/optimize/es/components/basic_table/basic_table.js +4 -3
- package/optimize/es/components/basic_table/collapsed_item_actions.js +24 -31
- package/optimize/es/components/datagrid/body/cell/data_grid_cell.js +87 -81
- package/optimize/es/components/datagrid/body/cell/data_grid_cell.styles.js +107 -0
- package/optimize/es/components/datagrid/body/cell/data_grid_cell_actions.js +13 -3
- package/optimize/es/components/datagrid/body/cell/data_grid_cell_actions.styles.js +33 -0
- package/optimize/es/components/datagrid/body/cell/data_grid_cell_popover.js +21 -12
- package/optimize/es/components/datagrid/body/cell/data_grid_cell_popover.styles.js +19 -0
- package/optimize/es/components/datagrid/body/cell/focus_utils.js +18 -20
- package/optimize/es/components/datagrid/body/data_grid_body.js +9 -2
- package/optimize/es/components/datagrid/body/data_grid_body.styles.js +26 -0
- package/optimize/es/components/datagrid/body/data_grid_body_custom.js +7 -4
- package/optimize/es/components/datagrid/body/data_grid_body_virtualized.js +7 -4
- package/optimize/es/components/datagrid/body/footer/data_grid_footer.styles.js +24 -0
- package/optimize/es/components/datagrid/body/footer/data_grid_footer_row.js +10 -5
- package/optimize/es/components/datagrid/body/header/column_actions.js +16 -4
- package/optimize/es/components/datagrid/body/header/data_grid_column_resizer.js +14 -7
- package/optimize/es/components/datagrid/body/header/data_grid_column_resizer.styles.js +36 -0
- package/optimize/es/components/datagrid/body/header/data_grid_control_header_cell.js +1 -3
- package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +40 -61
- package/optimize/es/components/datagrid/body/header/data_grid_header_cell.styles.js +29 -0
- package/optimize/es/components/datagrid/body/header/data_grid_header_cell_wrapper.js +4 -1
- package/optimize/es/components/datagrid/body/header/data_grid_header_cell_wrapper.styles.js +27 -0
- package/optimize/es/components/datagrid/body/header/data_grid_header_row.js +8 -2
- package/optimize/es/components/datagrid/body/header/data_grid_header_row.styles.js +21 -0
- package/optimize/es/components/datagrid/controls/column_selector.js +17 -8
- package/optimize/es/components/datagrid/controls/column_selector.styles.js +22 -0
- package/optimize/es/components/datagrid/controls/column_sorting.js +7 -2
- package/optimize/es/components/datagrid/controls/column_sorting.styles.js +35 -0
- package/optimize/es/components/datagrid/controls/column_sorting_draggable.js +19 -14
- package/optimize/es/components/datagrid/controls/data_grid_toolbar.js +8 -1
- package/optimize/es/components/datagrid/controls/data_grid_toolbar.styles.js +18 -0
- package/optimize/es/components/datagrid/controls/data_grid_toolbar_control.js +27 -27
- package/optimize/es/components/datagrid/controls/display_selector.js +14 -3
- package/optimize/es/components/datagrid/controls/fullscreen_selector.js +8 -5
- package/optimize/es/components/datagrid/controls/fullscreen_selector.styles.js +20 -0
- package/optimize/es/components/datagrid/controls/keyboard_shortcuts.js +7 -3
- package/optimize/es/components/datagrid/controls/keyboard_shortcuts.styles.js +18 -0
- package/optimize/es/components/datagrid/data_grid.a11y.js +1 -0
- package/optimize/es/components/datagrid/data_grid.js +16 -8
- package/optimize/es/components/datagrid/data_grid.stories.utils.js +333 -0
- package/optimize/es/components/datagrid/data_grid.styles.js +88 -0
- package/optimize/es/components/datagrid/{utils → pagination}/data_grid_pagination.js +30 -30
- package/optimize/es/components/datagrid/pagination/data_grid_pagination.styles.js +16 -0
- package/optimize/es/components/datagrid/pagination/index.js +9 -0
- package/optimize/es/components/datagrid/utils/row_heights.js +13 -15
- package/optimize/es/components/datagrid/utils/scrolling.js +14 -7
- package/optimize/es/components/datagrid/utils/scrolling.styles.js +30 -0
- package/optimize/es/components/flyout/flyout_resizable.js +6 -2
- package/optimize/es/components/flyout/flyout_resizable.styles.js +34 -5
- package/optimize/es/components/popover/popover.js +1 -1
- package/optimize/es/components/text/text.js +9 -4
- package/optimize/es/components/text/text_align.js +4 -2
- package/optimize/es/components/text/text_color.js +1 -2
- package/optimize/es/components/text/types.js +1 -0
- package/optimize/lib/components/basic_table/basic_table.js +4 -3
- package/optimize/lib/components/basic_table/collapsed_item_actions.js +23 -30
- package/optimize/lib/components/datagrid/body/cell/data_grid_cell.js +84 -78
- package/optimize/lib/components/datagrid/body/cell/data_grid_cell.styles.js +111 -0
- package/optimize/lib/components/datagrid/body/cell/data_grid_cell_actions.js +13 -3
- package/optimize/lib/components/datagrid/body/cell/data_grid_cell_actions.styles.js +39 -0
- package/optimize/lib/components/datagrid/body/cell/data_grid_cell_popover.js +20 -11
- package/optimize/lib/components/datagrid/body/cell/data_grid_cell_popover.styles.js +25 -0
- package/optimize/lib/components/datagrid/body/cell/focus_utils.js +17 -19
- package/optimize/lib/components/datagrid/body/data_grid_body.js +9 -2
- package/optimize/lib/components/datagrid/body/data_grid_body.styles.js +30 -0
- package/optimize/lib/components/datagrid/body/data_grid_body_custom.js +7 -4
- package/optimize/lib/components/datagrid/body/data_grid_body_virtualized.js +7 -4
- package/optimize/lib/components/datagrid/body/footer/data_grid_footer.styles.js +30 -0
- package/optimize/lib/components/datagrid/body/footer/data_grid_footer_row.js +10 -5
- package/optimize/lib/components/datagrid/body/header/column_actions.js +16 -4
- package/optimize/lib/components/datagrid/body/header/data_grid_column_resizer.js +14 -7
- package/optimize/lib/components/datagrid/body/header/data_grid_column_resizer.styles.js +39 -0
- package/optimize/lib/components/datagrid/body/header/data_grid_control_header_cell.js +1 -3
- package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +43 -63
- package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.styles.js +34 -0
- package/optimize/lib/components/datagrid/body/header/data_grid_header_cell_wrapper.js +3 -0
- package/optimize/lib/components/datagrid/body/header/data_grid_header_cell_wrapper.styles.js +32 -0
- package/optimize/lib/components/datagrid/body/header/data_grid_header_row.js +8 -2
- package/optimize/lib/components/datagrid/body/header/data_grid_header_row.styles.js +27 -0
- package/optimize/lib/components/datagrid/controls/column_selector.js +17 -8
- package/optimize/lib/components/datagrid/controls/column_selector.styles.js +28 -0
- package/optimize/lib/components/datagrid/controls/column_sorting.js +7 -2
- package/optimize/lib/components/datagrid/controls/column_sorting.styles.js +41 -0
- package/optimize/lib/components/datagrid/controls/column_sorting_draggable.js +19 -14
- package/optimize/lib/components/datagrid/controls/data_grid_toolbar.js +8 -1
- package/optimize/lib/components/datagrid/controls/data_grid_toolbar.styles.js +24 -0
- package/optimize/lib/components/datagrid/controls/data_grid_toolbar_control.js +27 -27
- package/optimize/lib/components/datagrid/controls/display_selector.js +13 -2
- package/optimize/lib/components/datagrid/controls/fullscreen_selector.js +7 -4
- package/optimize/lib/components/datagrid/controls/fullscreen_selector.styles.js +26 -0
- package/optimize/lib/components/datagrid/controls/keyboard_shortcuts.js +6 -2
- package/optimize/lib/components/datagrid/controls/keyboard_shortcuts.styles.js +24 -0
- package/optimize/lib/components/datagrid/data_grid.a11y.js +1 -0
- package/optimize/lib/components/datagrid/data_grid.js +15 -7
- package/optimize/lib/components/datagrid/data_grid.stories.utils.js +341 -0
- package/optimize/lib/components/datagrid/data_grid.styles.js +94 -0
- package/{test-env/components/datagrid/utils → optimize/lib/components/datagrid/pagination}/data_grid_pagination.js +29 -31
- package/optimize/lib/components/datagrid/pagination/data_grid_pagination.styles.js +22 -0
- package/optimize/lib/components/datagrid/pagination/index.js +18 -0
- package/optimize/lib/components/datagrid/utils/row_heights.js +13 -14
- package/optimize/lib/components/datagrid/utils/scrolling.js +14 -7
- package/optimize/lib/components/datagrid/utils/scrolling.styles.js +36 -0
- package/optimize/lib/components/flyout/flyout_resizable.js +6 -2
- package/optimize/lib/components/flyout/flyout_resizable.styles.js +34 -5
- package/optimize/lib/components/popover/popover.js +1 -1
- package/optimize/lib/components/text/text.js +9 -4
- package/optimize/lib/components/text/text_align.js +4 -2
- package/optimize/lib/components/text/text_color.js +1 -2
- package/optimize/lib/components/text/types.js +5 -0
- package/package.json +3 -3
- package/src/themes/amsterdam/theme_dark.scss +0 -7
- package/src/themes/amsterdam/theme_light.scss +0 -7
- package/test-env/components/basic_table/basic_table.js +4 -3
- package/test-env/components/basic_table/collapsed_item_actions.js +23 -30
- package/test-env/components/datagrid/body/cell/data_grid_cell.js +90 -83
- package/test-env/components/datagrid/body/cell/data_grid_cell.styles.js +111 -0
- package/test-env/components/datagrid/body/cell/data_grid_cell_actions.js +13 -3
- package/test-env/components/datagrid/body/cell/data_grid_cell_actions.styles.js +39 -0
- package/test-env/components/datagrid/body/cell/data_grid_cell_popover.js +20 -11
- package/test-env/components/datagrid/body/cell/data_grid_cell_popover.styles.js +25 -0
- package/test-env/components/datagrid/body/cell/focus_utils.js +17 -19
- package/test-env/components/datagrid/body/data_grid_body.js +20 -4
- package/test-env/components/datagrid/body/data_grid_body.styles.js +30 -0
- package/test-env/components/datagrid/body/data_grid_body_custom.js +18 -6
- package/test-env/components/datagrid/body/data_grid_body_virtualized.js +18 -6
- package/test-env/components/datagrid/body/footer/data_grid_footer.styles.js +30 -0
- package/test-env/components/datagrid/body/footer/data_grid_footer_row.js +10 -5
- package/test-env/components/datagrid/body/header/column_actions.js +16 -4
- package/test-env/components/datagrid/body/header/data_grid_column_resizer.js +14 -7
- package/test-env/components/datagrid/body/header/data_grid_column_resizer.styles.js +39 -0
- package/test-env/components/datagrid/body/header/data_grid_control_header_cell.js +1 -3
- package/test-env/components/datagrid/body/header/data_grid_header_cell.js +43 -67
- package/test-env/components/datagrid/body/header/data_grid_header_cell.styles.js +34 -0
- package/test-env/components/datagrid/body/header/data_grid_header_cell_wrapper.js +3 -0
- package/test-env/components/datagrid/body/header/data_grid_header_cell_wrapper.styles.js +32 -0
- package/test-env/components/datagrid/body/header/data_grid_header_row.js +8 -2
- package/test-env/components/datagrid/body/header/data_grid_header_row.styles.js +27 -0
- package/test-env/components/datagrid/controls/column_selector.js +17 -8
- package/test-env/components/datagrid/controls/column_selector.styles.js +28 -0
- package/test-env/components/datagrid/controls/column_sorting.js +7 -2
- package/test-env/components/datagrid/controls/column_sorting.styles.js +41 -0
- package/test-env/components/datagrid/controls/column_sorting_draggable.js +19 -14
- package/test-env/components/datagrid/controls/data_grid_toolbar.js +8 -1
- package/test-env/components/datagrid/controls/data_grid_toolbar.styles.js +24 -0
- package/test-env/components/datagrid/controls/data_grid_toolbar_control.js +27 -27
- package/test-env/components/datagrid/controls/display_selector.js +13 -2
- package/test-env/components/datagrid/controls/fullscreen_selector.js +7 -4
- package/test-env/components/datagrid/controls/fullscreen_selector.styles.js +26 -0
- package/test-env/components/datagrid/controls/keyboard_shortcuts.js +6 -2
- package/test-env/components/datagrid/controls/keyboard_shortcuts.styles.js +24 -0
- package/test-env/components/datagrid/data_grid.a11y.js +1 -0
- package/test-env/components/datagrid/data_grid.js +15 -7
- package/test-env/components/datagrid/data_grid.stories.utils.js +1386 -0
- package/test-env/components/datagrid/data_grid.styles.js +94 -0
- package/{optimize/lib/components/datagrid/utils → test-env/components/datagrid/pagination}/data_grid_pagination.js +29 -31
- package/test-env/components/datagrid/pagination/data_grid_pagination.styles.js +22 -0
- package/test-env/components/datagrid/pagination/index.js +18 -0
- package/test-env/components/datagrid/utils/row_heights.js +13 -14
- package/test-env/components/datagrid/utils/scrolling.js +14 -7
- package/test-env/components/datagrid/utils/scrolling.styles.js +36 -0
- package/test-env/components/flyout/flyout_resizable.js +6 -2
- package/test-env/components/flyout/flyout_resizable.styles.js +34 -5
- package/test-env/components/popover/popover.js +1 -1
- package/test-env/components/text/text.js +25 -9
- package/test-env/components/text/text_align.js +19 -6
- package/test-env/components/text/text_color.js +14 -11
- package/test-env/components/text/types.js +5 -0
- package/src/components/datagrid/_data_grid.scss +0 -121
- package/src/components/datagrid/_data_grid_data_row.scss +0 -303
- package/src/components/datagrid/_index.scss +0 -12
- package/src/components/datagrid/_mixins.scss +0 -84
- package/src/components/datagrid/_variables.scss +0 -11
- package/src/components/datagrid/body/footer/_data_grid_footer_row.scss +0 -47
- package/src/components/datagrid/body/header/_data_grid_column_resizer.scss +0 -48
- package/src/components/datagrid/body/header/_data_grid_header_row.scss +0 -219
- package/src/components/datagrid/controls/_data_grid_column_selector.scss +0 -19
- package/src/components/datagrid/controls/_data_grid_column_sorting.scss +0 -43
- package/src/components/datagrid/controls/_data_grid_display.scss +0 -3
- package/src/components/datagrid/controls/_data_grid_keyboard_shortcuts.scss +0 -11
- package/src/components/datagrid/controls/_data_grid_toolbar.scss +0 -55
- package/src/components/index.scss +0 -3
- package/src/themes/amsterdam/overrides/_data_grid.scss +0 -5
- package/src/themes/amsterdam/overrides/_index.scss +0 -1
|
@@ -214,8 +214,15 @@ var getSortColumnActions = exports.getSortColumnActions = function getSortColumn
|
|
|
214
214
|
var onClickSortAsc = function onClickSortAsc() {
|
|
215
215
|
sortBy('asc');
|
|
216
216
|
};
|
|
217
|
+
var isSorted = sortingIdx >= 0 && sorting.columns[sortingIdx].direction === 'asc';
|
|
217
218
|
var action = {
|
|
218
|
-
label: (0, _react2.jsx)(_i18n.EuiI18n, {
|
|
219
|
+
label: isSorted ? (0, _react2.jsx)(_i18n.EuiI18n, {
|
|
220
|
+
token: "euiColumnActions.unsort",
|
|
221
|
+
default: "Unsort {schemaLabel}",
|
|
222
|
+
values: {
|
|
223
|
+
schemaLabel: label
|
|
224
|
+
}
|
|
225
|
+
}) : (0, _react2.jsx)(_i18n.EuiI18n, {
|
|
219
226
|
token: "euiColumnActions.sort",
|
|
220
227
|
default: "Sort {schemaLabel}",
|
|
221
228
|
values: {
|
|
@@ -224,7 +231,6 @@ var getSortColumnActions = exports.getSortColumnActions = function getSortColumn
|
|
|
224
231
|
}),
|
|
225
232
|
onClick: onClickSortAsc,
|
|
226
233
|
isDisabled: column.isSortable === false,
|
|
227
|
-
className: sortingIdx >= 0 && sorting.columns[sortingIdx].direction === 'asc' ? 'euiDataGridHeader__action--selected' : '',
|
|
228
234
|
iconType: 'sortUp',
|
|
229
235
|
size: 'xs',
|
|
230
236
|
color: 'text'
|
|
@@ -236,8 +242,15 @@ var getSortColumnActions = exports.getSortColumnActions = function getSortColumn
|
|
|
236
242
|
var onClickSortDesc = function onClickSortDesc() {
|
|
237
243
|
sortBy('desc');
|
|
238
244
|
};
|
|
245
|
+
var _isSorted = sortingIdx >= 0 && sorting.columns[sortingIdx].direction === 'desc';
|
|
239
246
|
var _action2 = {
|
|
240
|
-
label: (0, _react2.jsx)(_i18n.EuiI18n, {
|
|
247
|
+
label: _isSorted ? (0, _react2.jsx)(_i18n.EuiI18n, {
|
|
248
|
+
token: "euiColumnActions.unsort",
|
|
249
|
+
default: "Unsort {schemaLabel}",
|
|
250
|
+
values: {
|
|
251
|
+
schemaLabel: _label
|
|
252
|
+
}
|
|
253
|
+
}) : (0, _react2.jsx)(_i18n.EuiI18n, {
|
|
241
254
|
token: "euiColumnActions.sort",
|
|
242
255
|
default: "Sort {schemaLabel}",
|
|
243
256
|
values: {
|
|
@@ -246,7 +259,6 @@ var getSortColumnActions = exports.getSortColumnActions = function getSortColumn
|
|
|
246
259
|
}),
|
|
247
260
|
onClick: onClickSortDesc,
|
|
248
261
|
isDisabled: column.isSortable === false,
|
|
249
|
-
className: sortingIdx >= 0 && sorting.columns[sortingIdx].direction === 'desc' ? 'euiDataGridHeader__action--selected' : '',
|
|
250
262
|
iconType: 'sortDown',
|
|
251
263
|
size: 'xs',
|
|
252
264
|
color: 'text'
|
|
@@ -13,6 +13,9 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
13
13
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
14
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
15
|
var _react = _interopRequireWildcard(require("react"));
|
|
16
|
+
var _services = require("../../../../services");
|
|
17
|
+
var _global_styling = require("../../../../global_styling");
|
|
18
|
+
var _data_grid_column_resizer = require("./data_grid_column_resizer.styles");
|
|
16
19
|
var _react2 = require("@emotion/react");
|
|
17
20
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
18
21
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -77,14 +80,18 @@ var EuiDataGridColumnResizer = exports.EuiDataGridColumnResizer = /*#__PURE__*/f
|
|
|
77
80
|
return (0, _createClass2.default)(EuiDataGridColumnResizer, [{
|
|
78
81
|
key: "render",
|
|
79
82
|
value: function render() {
|
|
83
|
+
var _this2 = this;
|
|
80
84
|
var offset = this.state.offset;
|
|
81
|
-
return (0, _react2.jsx)(
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
85
|
+
return (0, _react2.jsx)(_services.RenderWithEuiStylesMemoizer, null, function (stylesMemoizer) {
|
|
86
|
+
var styles = stylesMemoizer(_data_grid_column_resizer.euiDataGridColumnResizerStyles);
|
|
87
|
+
var cssStyles = [styles.euiDataGridColumnResizer, offset && styles.isDragging];
|
|
88
|
+
return (0, _react2.jsx)("div", {
|
|
89
|
+
css: cssStyles,
|
|
90
|
+
className: "euiDataGridColumnResizer",
|
|
91
|
+
"data-test-subj": "dataGridColumnResizer",
|
|
92
|
+
style: offset ? (0, _global_styling.logicalStyle)('margin-right', "".concat(-offset, "px")) : undefined,
|
|
93
|
+
onMouseDown: _this2.onMouseDown
|
|
94
|
+
});
|
|
88
95
|
});
|
|
89
96
|
}
|
|
90
97
|
}]);
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.euiDataGridColumnResizerStyles = void 0;
|
|
7
|
+
var _react = require("@emotion/react");
|
|
8
|
+
var _global_styling = require("../../../../global_styling");
|
|
9
|
+
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } /*
|
|
10
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
11
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
12
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
13
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
14
|
+
* Side Public License, v 1.
|
|
15
|
+
*/
|
|
16
|
+
// Resizer straddles the column border and is an invisible hitzone for dragging
|
|
17
|
+
var _ref = process.env.NODE_ENV === "production" ? {
|
|
18
|
+
name: "1i9vv3a-isDragging",
|
|
19
|
+
styles: "opacity:1;label:isDragging;"
|
|
20
|
+
} : {
|
|
21
|
+
name: "1i9vv3a-isDragging",
|
|
22
|
+
styles: "opacity:1;label:isDragging;",
|
|
23
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
24
|
+
};
|
|
25
|
+
var euiDataGridColumnResizerStyles = exports.euiDataGridColumnResizerStyles = function euiDataGridColumnResizerStyles(euiThemeContext) {
|
|
26
|
+
var euiTheme = euiThemeContext.euiTheme;
|
|
27
|
+
var clickableWidth = euiTheme.size.base;
|
|
28
|
+
var positionOffset = (0, _global_styling.mathWithUnits)(clickableWidth, function (x) {
|
|
29
|
+
return x / -2;
|
|
30
|
+
});
|
|
31
|
+
var indicatorWidth = (0, _global_styling.mathWithUnits)([euiTheme.border.width.thin, euiTheme.border.width.thick], function (x, y) {
|
|
32
|
+
return x + y;
|
|
33
|
+
}); // Odd number because it straddles a border
|
|
34
|
+
var indicatorOffset = "-".concat(euiTheme.border.width.thin);
|
|
35
|
+
return {
|
|
36
|
+
euiDataGridColumnResizer: /*#__PURE__*/(0, _react.css)("z-index:2;position:absolute;", (0, _global_styling.logicalCSS)('vertical', 0), " ", (0, _global_styling.logicalCSS)('right', positionOffset), " cursor:ew-resize;opacity:0;&:hover,&:active{opacity:1;}&::after{content:'';position:absolute;", (0, _global_styling.logicalCSS)('vertical', 0), " ", (0, _global_styling.logicalCSS)('left', positionOffset), " ", (0, _global_styling.logicalCSS)('margin-left', indicatorOffset), " ", (0, _global_styling.logicalCSS)('width', indicatorWidth), " background-color:", euiTheme.colors.primary, ";}.euiDataGridHeaderCell:last-child &{", (0, _global_styling.logicalCSS)('right', 0), " ", (0, _global_styling.logicalCSS)('width', euiTheme.size.s), " &::after{", (0, _global_styling.logicalCSS)('left', 'auto'), " ", (0, _global_styling.logicalCSS)('right', 0), ";}};label:euiDataGridColumnResizer;"),
|
|
37
|
+
isDragging: _ref
|
|
38
|
+
};
|
|
39
|
+
};
|
|
@@ -33,8 +33,6 @@ var EuiDataGridControlHeaderCell = exports.EuiDataGridControlHeaderCell = /*#__P
|
|
|
33
33
|
id: id,
|
|
34
34
|
index: index,
|
|
35
35
|
width: width
|
|
36
|
-
}), (0, _react2.jsx)(
|
|
37
|
-
className: "euiDataGridHeaderCell__content"
|
|
38
|
-
}, (0, _react2.jsx)(HeaderCellRender, null)));
|
|
36
|
+
}), (0, _react2.jsx)(HeaderCellRender, null));
|
|
39
37
|
});
|
|
40
38
|
EuiDataGridControlHeaderCell.displayName = 'EuiDataGridControlHeaderCell';
|
|
@@ -6,26 +6,26 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.useSortingUtils = exports.usePopoverArrowNavigation = exports.EuiDataGridHeaderCell = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
11
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
12
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
12
|
var _classnames2 = _interopRequireDefault(require("classnames"));
|
|
14
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
15
14
|
var _tabbable = require("tabbable");
|
|
16
15
|
var _services = require("../../../../services");
|
|
17
|
-
var _accessibility = require("../../../../services/accessibility");
|
|
18
16
|
var _i18n = require("../../../i18n");
|
|
19
17
|
var _icon = require("../../../icon");
|
|
20
18
|
var _list_group = require("../../../list_group");
|
|
21
19
|
var _popover = require("../../../popover");
|
|
22
|
-
var
|
|
20
|
+
var _button = require("../../../button");
|
|
23
21
|
var _focus = require("../../utils/focus");
|
|
24
22
|
var _column_actions = require("./column_actions");
|
|
25
23
|
var _data_grid_column_resizer = require("./data_grid_column_resizer");
|
|
26
24
|
var _data_grid_header_cell_wrapper = require("./data_grid_header_cell_wrapper");
|
|
25
|
+
var _data_grid_header_cell = require("./data_grid_header_cell.styles");
|
|
27
26
|
var _react2 = require("@emotion/react");
|
|
28
|
-
|
|
27
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
28
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
29
29
|
/*
|
|
30
30
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
31
31
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -33,39 +33,19 @@ var _excluded = ["children", "title", "arrow"];
|
|
|
33
33
|
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
34
34
|
* Side Public License, v 1.
|
|
35
35
|
*/
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
var _ref3 = process.env.NODE_ENV === "production" ? {
|
|
50
|
-
name: "mc0thx-EuiDataGridHeaderCell",
|
|
51
|
-
styles: "margin-inline-start:auto;label:EuiDataGridHeaderCell;"
|
|
52
|
-
} : {
|
|
53
|
-
name: "mc0thx-EuiDataGridHeaderCell",
|
|
54
|
-
styles: "margin-inline-start:auto;label:EuiDataGridHeaderCell;",
|
|
55
|
-
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
56
|
-
};
|
|
57
|
-
var EuiDataGridHeaderCell = exports.EuiDataGridHeaderCell = /*#__PURE__*/(0, _react.memo)(function (_ref2) {
|
|
58
|
-
var index = _ref2.index,
|
|
59
|
-
column = _ref2.column,
|
|
60
|
-
columns = _ref2.columns,
|
|
61
|
-
columnWidths = _ref2.columnWidths,
|
|
62
|
-
defaultColumnWidth = _ref2.defaultColumnWidth,
|
|
63
|
-
setColumnWidth = _ref2.setColumnWidth,
|
|
64
|
-
setVisibleColumns = _ref2.setVisibleColumns,
|
|
65
|
-
switchColumnPos = _ref2.switchColumnPos,
|
|
66
|
-
sorting = _ref2.sorting,
|
|
67
|
-
schema = _ref2.schema,
|
|
68
|
-
schemaDetectors = _ref2.schemaDetectors;
|
|
36
|
+
|
|
37
|
+
var EuiDataGridHeaderCell = exports.EuiDataGridHeaderCell = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
38
|
+
var index = _ref.index,
|
|
39
|
+
column = _ref.column,
|
|
40
|
+
columns = _ref.columns,
|
|
41
|
+
columnWidths = _ref.columnWidths,
|
|
42
|
+
defaultColumnWidth = _ref.defaultColumnWidth,
|
|
43
|
+
setColumnWidth = _ref.setColumnWidth,
|
|
44
|
+
setVisibleColumns = _ref.setVisibleColumns,
|
|
45
|
+
switchColumnPos = _ref.switchColumnPos,
|
|
46
|
+
sorting = _ref.sorting,
|
|
47
|
+
schema = _ref.schema,
|
|
48
|
+
schemaDetectors = _ref.schemaDetectors;
|
|
69
49
|
var id = column.id,
|
|
70
50
|
display = column.display,
|
|
71
51
|
displayAsText = column.displayAsText,
|
|
@@ -135,7 +115,7 @@ var EuiDataGridHeaderCell = exports.EuiDataGridHeaderCell = /*#__PURE__*/(0, _re
|
|
|
135
115
|
sortingArrow = _useSortingUtils.sortingArrow,
|
|
136
116
|
ariaSort = _useSortingUtils.ariaSort,
|
|
137
117
|
sortingScreenReaderText = _useSortingUtils.sortingScreenReaderText;
|
|
138
|
-
var sortingAriaId = (0,
|
|
118
|
+
var sortingAriaId = (0, _services.useGeneratedHtmlId)({
|
|
139
119
|
prefix: 'euiDataGridCellHeader',
|
|
140
120
|
suffix: 'sorting'
|
|
141
121
|
});
|
|
@@ -144,7 +124,8 @@ var EuiDataGridHeaderCell = exports.EuiDataGridHeaderCell = /*#__PURE__*/(0, _re
|
|
|
144
124
|
* Rendering
|
|
145
125
|
*/
|
|
146
126
|
var classes = (0, _classnames2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, "euiDataGridHeaderCell--".concat(columnType), columnType), 'euiDataGridHeaderCell--hasColumnActions', showColumnActions), 'euiDataGridHeaderCell--isActionsPopoverOpen', isPopoverOpen), displayHeaderCellProps === null || displayHeaderCellProps === void 0 ? void 0 : displayHeaderCellProps.className);
|
|
147
|
-
var
|
|
127
|
+
var styles = (0, _services.useEuiMemoizedStyles)(_data_grid_header_cell.euiDataGridHeaderCellStyles);
|
|
128
|
+
var contentStyles = [styles.euiDataGridHeaderCell__content, columnType === 'numeric' || columnType === 'currency' ? styles.right : styles.left];
|
|
148
129
|
return (0, _react2.jsx)(_data_grid_header_cell_wrapper.EuiDataGridHeaderCellWrapper, (0, _extends2.default)({}, displayHeaderCellProps, {
|
|
149
130
|
className: classes,
|
|
150
131
|
id: id,
|
|
@@ -161,10 +142,11 @@ var EuiDataGridHeaderCell = exports.EuiDataGridHeaderCell = /*#__PURE__*/(0, _re
|
|
|
161
142
|
columnId: id,
|
|
162
143
|
columnWidth: width,
|
|
163
144
|
setColumnWidth: setColumnWidth
|
|
164
|
-
}) : null, (0, _react2.jsx)(
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
145
|
+
}) : null, (0, _react2.jsx)("div", {
|
|
146
|
+
css: contentStyles,
|
|
147
|
+
className: "euiDataGridHeaderCell__content",
|
|
148
|
+
title: title
|
|
149
|
+
}, children), sortingArrow, sortingScreenReaderText && (0, _react2.jsx)("p", {
|
|
168
150
|
id: sortingAriaId,
|
|
169
151
|
hidden: true
|
|
170
152
|
}, sortingScreenReaderText), showColumnActions && (0, _react2.jsx)(_popover.EuiPopover, (0, _extends2.default)({
|
|
@@ -172,12 +154,14 @@ var EuiDataGridHeaderCell = exports.EuiDataGridHeaderCell = /*#__PURE__*/(0, _re
|
|
|
172
154
|
panelPaddingSize: "none",
|
|
173
155
|
offset: 7,
|
|
174
156
|
anchorPosition: "downRight",
|
|
175
|
-
css:
|
|
176
|
-
,
|
|
177
|
-
|
|
178
|
-
|
|
157
|
+
css: styles.euiDataGridHeaderCell__popover,
|
|
158
|
+
button: (0, _react2.jsx)(_button.EuiButtonIcon, {
|
|
159
|
+
iconType: "boxesVertical",
|
|
160
|
+
iconSize: "s",
|
|
161
|
+
color: "text",
|
|
162
|
+
css: styles.euiDataGridHeaderCell__button,
|
|
179
163
|
className: "euiDataGridHeaderCell__button",
|
|
180
|
-
|
|
164
|
+
buttonRef: actionsButtonRef,
|
|
181
165
|
onClick: togglePopover,
|
|
182
166
|
onFocus: function onFocus() {
|
|
183
167
|
return setIsActionsButtonFocused(true);
|
|
@@ -185,17 +169,13 @@ var EuiDataGridHeaderCell = exports.EuiDataGridHeaderCell = /*#__PURE__*/(0, _re
|
|
|
185
169
|
onBlur: function onBlur() {
|
|
186
170
|
return setIsActionsButtonFocused(false);
|
|
187
171
|
},
|
|
172
|
+
tabIndex: 0 // Override EuiButtonIcon's conditional tabindex based on aria-hidden
|
|
173
|
+
,
|
|
188
174
|
"aria-hidden": hasFocusTrap && !isActionsButtonFocused ? 'true' // prevent the actions button from being read on cell focus
|
|
189
175
|
: undefined,
|
|
190
176
|
"aria-label": hasFocusTrap ? actionsButtonAriaLabel : actionsEnterKeyInstructions,
|
|
191
177
|
"data-test-subj": "dataGridHeaderCellActionButton-".concat(id)
|
|
192
|
-
}
|
|
193
|
-
className: "euiDataGridHeaderCell__icon"
|
|
194
|
-
}, (0, _react2.jsx)(_icon.EuiIcon, {
|
|
195
|
-
type: "boxesVertical",
|
|
196
|
-
size: "s",
|
|
197
|
-
color: "text"
|
|
198
|
-
}))),
|
|
178
|
+
}),
|
|
199
179
|
isOpen: isPopoverOpen,
|
|
200
180
|
closePopover: closePopover
|
|
201
181
|
}, popoverArrowNavigationProps), (0, _react2.jsx)(_list_group.EuiListGroup, {
|
|
@@ -210,11 +190,11 @@ EuiDataGridHeaderCell.displayName = 'EuiDataGridHeaderCell';
|
|
|
210
190
|
/**
|
|
211
191
|
* Column sorting utility helpers
|
|
212
192
|
*/
|
|
213
|
-
var useSortingUtils = exports.useSortingUtils = function useSortingUtils(
|
|
193
|
+
var useSortingUtils = exports.useSortingUtils = function useSortingUtils(_ref2) {
|
|
214
194
|
var _sorting$columns;
|
|
215
|
-
var sorting =
|
|
216
|
-
id =
|
|
217
|
-
showColumnActions =
|
|
195
|
+
var sorting = _ref2.sorting,
|
|
196
|
+
id = _ref2.id,
|
|
197
|
+
showColumnActions = _ref2.showColumnActions;
|
|
218
198
|
var sortedColumn = (0, _react.useMemo)(function () {
|
|
219
199
|
return sorting === null || sorting === void 0 ? void 0 : sorting.columns.find(function (col) {
|
|
220
200
|
return col.id === id;
|
|
@@ -250,9 +230,9 @@ var useSortingUtils = exports.useSortingUtils = function useSortingUtils(_ref4)
|
|
|
250
230
|
var _sorting$columns2;
|
|
251
231
|
if (!isColumnSorted) return null;
|
|
252
232
|
if (!showColumnActions && hasOnlyOneSort) return null; // in this scenario, the `aria-sort` attribute will be used by screen readers
|
|
253
|
-
return (0, _react2.jsx)(_react.default.Fragment, null, sorting === null || sorting === void 0 || (_sorting$columns2 = sorting.columns) === null || _sorting$columns2 === void 0 ? void 0 : _sorting$columns2.map(function (
|
|
254
|
-
var columnId =
|
|
255
|
-
direction =
|
|
233
|
+
return (0, _react2.jsx)(_react.default.Fragment, null, sorting === null || sorting === void 0 || (_sorting$columns2 = sorting.columns) === null || _sorting$columns2 === void 0 ? void 0 : _sorting$columns2.map(function (_ref3, index) {
|
|
234
|
+
var columnId = _ref3.id,
|
|
235
|
+
direction = _ref3.direction;
|
|
256
236
|
if (hasOnlyOneSort) {
|
|
257
237
|
if (direction === 'asc') {
|
|
258
238
|
return (0, _react2.jsx)(_i18n.EuiI18n, {
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.euiDataGridHeaderCellStyles = void 0;
|
|
7
|
+
var _react = require("@emotion/react");
|
|
8
|
+
var _global_styling = require("../../../../global_styling");
|
|
9
|
+
var _data_grid_cell = require("../cell/data_grid_cell.styles");
|
|
10
|
+
/*
|
|
11
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
12
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
13
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
14
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
15
|
+
* Side Public License, v 1.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Styles only applied to data header cell content, not control header cells
|
|
20
|
+
*/
|
|
21
|
+
var euiDataGridHeaderCellStyles = exports.euiDataGridHeaderCellStyles = function euiDataGridHeaderCellStyles(euiThemeContext) {
|
|
22
|
+
var euiTheme = euiThemeContext.euiTheme;
|
|
23
|
+
var _euiDataGridCellOutli = (0, _data_grid_cell.euiDataGridCellOutlineSelectors)('.euiDataGridHeaderCell'),
|
|
24
|
+
header = _euiDataGridCellOutli.header;
|
|
25
|
+
return {
|
|
26
|
+
euiDataGridHeaderCell__content: /*#__PURE__*/(0, _react.css)("flex-grow:1;", (0, _global_styling.euiTextTruncate)(), ";;label:euiDataGridHeaderCell__content;"),
|
|
27
|
+
// Overwrite inherited 'center' styles from <button>
|
|
28
|
+
left: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalTextAlignCSS)('left'), ";;label:left;"),
|
|
29
|
+
// Numeric and currency schemas are aligned to the right
|
|
30
|
+
right: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalTextAlignCSS)('right'), ";;label:right;"),
|
|
31
|
+
euiDataGridHeaderCell__popover: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('margin-left', 'auto'), "line-height:0;;label:euiDataGridHeaderCell__popover;"),
|
|
32
|
+
euiDataGridHeaderCell__button: /*#__PURE__*/(0, _react.css)("overflow:hidden;", header.hideActions, " &{", (0, _global_styling.logicalCSS)('width', 0), " opacity:0;}", _global_styling.euiCanAnimate, "{transition:inline-size ", euiTheme.animation.fast, " ease-in,opacity ", euiTheme.animation.slow, " ease-in;transform:none!important;animation:none!important;};label:euiDataGridHeaderCell__button;")
|
|
33
|
+
};
|
|
34
|
+
};
|
|
@@ -14,6 +14,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
|
14
14
|
var _services = require("../../../../services");
|
|
15
15
|
var _focus = require("../../utils/focus");
|
|
16
16
|
var _focus_utils = require("../cell/focus_utils");
|
|
17
|
+
var _data_grid_header_cell_wrapper = require("./data_grid_header_cell_wrapper.styles");
|
|
17
18
|
var _react2 = require("@emotion/react");
|
|
18
19
|
var _excluded = ["id", "index", "width", "className", "children", "hasActionsPopover", "openActionsPopover", "aria-label"];
|
|
19
20
|
/*
|
|
@@ -41,6 +42,7 @@ var EuiDataGridHeaderCellWrapper = exports.EuiDataGridHeaderCellWrapper = functi
|
|
|
41
42
|
ariaLabel = _ref['aria-label'],
|
|
42
43
|
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
43
44
|
var classes = (0, _classnames.default)('euiDataGridHeaderCell', className);
|
|
45
|
+
var styles = (0, _services.useEuiMemoizedStyles)(_data_grid_header_cell_wrapper.euiDataGridHeaderCellWrapperStyles);
|
|
44
46
|
|
|
45
47
|
// Must be a state and not a ref to trigger a HandleInteractiveChildren rerender
|
|
46
48
|
var _useState = (0, _react.useState)(null),
|
|
@@ -92,6 +94,7 @@ var EuiDataGridHeaderCellWrapper = exports.EuiDataGridHeaderCellWrapper = functi
|
|
|
92
94
|
ref: setHeaderEl,
|
|
93
95
|
tabIndex: isFocused ? 0 : -1,
|
|
94
96
|
onKeyDown: onKeyDown,
|
|
97
|
+
css: styles.euiDataGridHeaderCell,
|
|
95
98
|
className: classes,
|
|
96
99
|
"data-test-subj": "dataGridHeaderCell-".concat(id),
|
|
97
100
|
"data-gridcell-column-id": id,
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.euiDataGridHeaderCellWrapperStyles = void 0;
|
|
7
|
+
var _react = require("@emotion/react");
|
|
8
|
+
var _global_styling = require("../../../../global_styling");
|
|
9
|
+
var _data_grid_cell = require("../cell/data_grid_cell.styles");
|
|
10
|
+
/*
|
|
11
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
12
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
13
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
14
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
15
|
+
* Side Public License, v 1.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Styles that apply to both control and non-control columns
|
|
20
|
+
*/
|
|
21
|
+
var euiDataGridHeaderCellWrapperStyles = exports.euiDataGridHeaderCellWrapperStyles = function euiDataGridHeaderCellWrapperStyles(euiThemeContext) {
|
|
22
|
+
var euiTheme = euiThemeContext.euiTheme;
|
|
23
|
+
var _euiDataGridCellOutli = (0, _data_grid_cell.euiDataGridCellOutlineStyles)(euiThemeContext),
|
|
24
|
+
focusStyles = _euiDataGridCellOutli.focusStyles,
|
|
25
|
+
hoverStyles = _euiDataGridCellOutli.hoverStyles;
|
|
26
|
+
var _euiDataGridCellOutli2 = (0, _data_grid_cell.euiDataGridCellOutlineSelectors)(),
|
|
27
|
+
outlineSelectors = _euiDataGridCellOutli2.header;
|
|
28
|
+
var _sharedFlexCss = /*#__PURE__*/(0, _react.css)("display:flex;align-items:center;gap:", euiTheme.size.xxs, ";");
|
|
29
|
+
return {
|
|
30
|
+
euiDataGridHeaderCell: /*#__PURE__*/(0, _react.css)("position:relative;", _sharedFlexCss, " flex:0 0 auto;font-weight:", euiTheme.font.weight.bold, ";", outlineSelectors.focus, "{", focusStyles, ";}", outlineSelectors.focusTrapped, "{", hoverStyles, ";}&>[data-focus-lock-disabled]{", _sharedFlexCss, " ", (0, _global_styling.logicalCSS)('width', '100%'), ";};label:euiDataGridHeaderCell;")
|
|
31
|
+
};
|
|
32
|
+
};
|
|
@@ -10,11 +10,13 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
10
10
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
11
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _services = require("../../../../services");
|
|
14
|
+
var _data_grid_types = require("../../data_grid_types");
|
|
13
15
|
var _data_grid_control_header_cell = require("./data_grid_control_header_cell");
|
|
14
16
|
var _data_grid_header_cell = require("./data_grid_header_cell");
|
|
15
|
-
var
|
|
17
|
+
var _data_grid_header_row = require("./data_grid_header_row.styles");
|
|
16
18
|
var _react2 = require("@emotion/react");
|
|
17
|
-
var _excluded = ["className", "data-test-subj", "leadingControlColumns", "trailingControlColumns", "columns", "columnWidths", "defaultColumnWidth", "setColumnWidth", "setVisibleColumns", "switchColumnPos", "sorting", "schema", "schemaDetectors"];
|
|
19
|
+
var _excluded = ["className", "data-test-subj", "leadingControlColumns", "trailingControlColumns", "columns", "columnWidths", "defaultColumnWidth", "setColumnWidth", "setVisibleColumns", "switchColumnPos", "sorting", "schema", "schemaDetectors", "gridStyles"];
|
|
18
20
|
/*
|
|
19
21
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
20
22
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -40,12 +42,16 @@ var EuiDataGridHeaderRow = exports.EuiDataGridHeaderRow = /*#__PURE__*/(0, _reac
|
|
|
40
42
|
sorting = props.sorting,
|
|
41
43
|
schema = props.schema,
|
|
42
44
|
schemaDetectors = props.schemaDetectors,
|
|
45
|
+
gridStyles = props.gridStyles,
|
|
43
46
|
rest = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
47
|
+
var styles = (0, _services.useEuiMemoizedStyles)(_data_grid_header_row.euiDataGridHeaderStyles);
|
|
48
|
+
var cssStyles = [styles.euiDataGridHeader, styles[gridStyles.header]];
|
|
44
49
|
var classes = (0, _classnames.default)('euiDataGridHeader', className);
|
|
45
50
|
var dataTestSubj = (0, _classnames.default)('dataGridHeader', _dataTestSubj);
|
|
46
51
|
return (0, _react2.jsx)("div", (0, _extends2.default)({
|
|
47
52
|
role: "row",
|
|
48
53
|
ref: ref,
|
|
54
|
+
css: cssStyles,
|
|
49
55
|
className: classes,
|
|
50
56
|
"data-test-subj": dataTestSubj
|
|
51
57
|
}, rest), leadingControlColumns.map(function (controlColumn, index) {
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.euiDataGridHeaderStyles = void 0;
|
|
7
|
+
var _react = require("@emotion/react");
|
|
8
|
+
var _global_styling = require("../../../../global_styling");
|
|
9
|
+
var _data_grid = require("../../data_grid.styles");
|
|
10
|
+
/*
|
|
11
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
12
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
13
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
14
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
15
|
+
* Side Public License, v 1.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
var euiDataGridHeaderStyles = exports.euiDataGridHeaderStyles = function euiDataGridHeaderStyles(euiThemeContext) {
|
|
19
|
+
var euiTheme = euiThemeContext.euiTheme;
|
|
20
|
+
var _euiDataGridVariables = (0, _data_grid.euiDataGridVariables)(euiThemeContext),
|
|
21
|
+
levels = _euiDataGridVariables.levels;
|
|
22
|
+
return {
|
|
23
|
+
euiDataGridHeader: /*#__PURE__*/(0, _react.css)("z-index:", levels.stickyHeader, ";position:sticky;", (0, _global_styling.logicalCSS)('top', 0), " ", (0, _global_styling.logicalCSS)('width', 'fit-content'), " display:flex;;label:euiDataGridHeader;"),
|
|
24
|
+
underline: /*#__PURE__*/(0, _react.css)("background-color:", euiTheme.colors.emptyShade, ";", (0, _global_styling.logicalCSS)('border-bottom', "".concat(euiTheme.border.width.thick, " solid ").concat(euiTheme.colors.text)), ";;label:underline;"),
|
|
25
|
+
shade: /*#__PURE__*/(0, _react.css)("background-color:", euiTheme.colors.lightestShade, ";;label:shade;")
|
|
26
|
+
};
|
|
27
|
+
};
|
|
@@ -11,16 +11,18 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
11
11
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
12
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
13
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
14
|
+
var _services = require("../../../services");
|
|
14
15
|
var _popover = require("../../popover");
|
|
15
16
|
var _i18n = require("../../i18n");
|
|
16
17
|
var _button = require("../../button");
|
|
17
18
|
var _flex = require("../../flex");
|
|
18
19
|
var _form = require("../../form");
|
|
19
|
-
var
|
|
20
|
+
var _text = require("../../text");
|
|
20
21
|
var _icon = require("../../icon");
|
|
21
|
-
var
|
|
22
|
+
var _drag_and_drop = require("../../drag_and_drop");
|
|
22
23
|
var _data_grid_toolbar = require("./data_grid_toolbar");
|
|
23
24
|
var _data_grid_toolbar_control = require("./data_grid_toolbar_control");
|
|
25
|
+
var _column_selector = require("./column_selector.styles");
|
|
24
26
|
var _react2 = require("@emotion/react");
|
|
25
27
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
26
28
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -92,6 +94,7 @@ var useDataGridColumnSelector = exports.useDataGridColumnSelector = function use
|
|
|
92
94
|
return column != null;
|
|
93
95
|
});
|
|
94
96
|
}, [availableColumns, visibleColumns]);
|
|
97
|
+
var styles = (0, _services.useEuiMemoizedStyles)(_column_selector.euiDataGridColumnSelectorStyles);
|
|
95
98
|
var columnSelector = (0, _react.useMemo)(function () {
|
|
96
99
|
return allowColumnHiding || allowColumnReorder ? (0, _react2.jsx)(_popover.EuiPopover, {
|
|
97
100
|
"data-test-subj": "dataGridColumnSelectorPopover",
|
|
@@ -100,7 +103,7 @@ var useDataGridColumnSelector = exports.useDataGridColumnSelector = function use
|
|
|
100
103
|
return setIsOpen(false);
|
|
101
104
|
},
|
|
102
105
|
anchorPosition: "downLeft",
|
|
103
|
-
panelPaddingSize: "
|
|
106
|
+
panelPaddingSize: "none",
|
|
104
107
|
hasDragDrop: true,
|
|
105
108
|
button: (0, _react2.jsx)(_data_grid_toolbar_control.EuiDataGridToolbarControl, {
|
|
106
109
|
badgeContent: numberOfHiddenFields > 0 ? "".concat(orderedVisibleColumns.length, "/").concat(availableColumns.length) : availableColumns.length,
|
|
@@ -113,7 +116,9 @@ var useDataGridColumnSelector = exports.useDataGridColumnSelector = function use
|
|
|
113
116
|
token: "euiColumnSelector.button",
|
|
114
117
|
default: "Columns"
|
|
115
118
|
}))
|
|
116
|
-
}, allowColumnHiding && (0, _react2.jsx)(_popover.EuiPopoverTitle,
|
|
119
|
+
}, allowColumnHiding && (0, _react2.jsx)(_popover.EuiPopoverTitle, {
|
|
120
|
+
paddingSize: "s"
|
|
121
|
+
}, (0, _react2.jsx)(_i18n.EuiI18n, {
|
|
117
122
|
tokens: ['euiColumnSelector.search', 'euiColumnSelector.searchcolumns'],
|
|
118
123
|
defaults: ['Search', 'Search columns']
|
|
119
124
|
}, function (_ref4) {
|
|
@@ -135,7 +140,7 @@ var useDataGridColumnSelector = exports.useDataGridColumnSelector = function use
|
|
|
135
140
|
}, (0, _react2.jsx)(_drag_and_drop.EuiDroppable, {
|
|
136
141
|
droppableId: "columnOrder",
|
|
137
142
|
isDropDisabled: !isDragEnabled,
|
|
138
|
-
|
|
143
|
+
css: styles.euiDataGridColumnSelector
|
|
139
144
|
}, (0, _react2.jsx)(_react.default.Fragment, null, filteredColumns.map(function (id, index) {
|
|
140
145
|
return (0, _react2.jsx)(_drag_and_drop.EuiDraggable, {
|
|
141
146
|
key: id,
|
|
@@ -146,6 +151,7 @@ var useDataGridColumnSelector = exports.useDataGridColumnSelector = function use
|
|
|
146
151
|
customDragHandle: true
|
|
147
152
|
}, function (provided, state) {
|
|
148
153
|
return (0, _react2.jsx)("div", {
|
|
154
|
+
css: styles.euiDataGridColumnSelector__item,
|
|
149
155
|
className: (0, _classnames.default)('euiDataGridColumnSelector__item', {
|
|
150
156
|
'euiDataGridColumnSelector__item-isDragging': state.isDragging
|
|
151
157
|
}),
|
|
@@ -176,7 +182,8 @@ var useDataGridColumnSelector = exports.useDataGridColumnSelector = function use
|
|
|
176
182
|
, (0, _extends2.default)({}, provided.dragHandleProps, {
|
|
177
183
|
"aria-hidden": true,
|
|
178
184
|
tabIndex: -1
|
|
179
|
-
}), (0, _react2.jsx)(
|
|
185
|
+
}), (0, _react2.jsx)(_text.EuiText, {
|
|
186
|
+
size: "xs",
|
|
180
187
|
className: "euiDataGridColumnSelector__itemLabel"
|
|
181
188
|
}, displayValues[id] || id)), isDragEnabled && (0, _react2.jsx)(_flex.EuiFlexItem, (0, _extends2.default)({
|
|
182
189
|
grow: false
|
|
@@ -187,7 +194,9 @@ var useDataGridColumnSelector = exports.useDataGridColumnSelector = function use
|
|
|
187
194
|
color: "subdued"
|
|
188
195
|
}))));
|
|
189
196
|
});
|
|
190
|
-
})))), allowColumnHiding && (0, _react2.jsx)(_popover.EuiPopoverFooter,
|
|
197
|
+
})))), allowColumnHiding && (0, _react2.jsx)(_popover.EuiPopoverFooter, {
|
|
198
|
+
paddingSize: "s"
|
|
199
|
+
}, (0, _react2.jsx)(_flex.EuiFlexGroup, {
|
|
191
200
|
gutterSize: "s",
|
|
192
201
|
responsive: false,
|
|
193
202
|
justifyContent: "spaceBetween"
|
|
@@ -216,7 +225,7 @@ var useDataGridColumnSelector = exports.useDataGridColumnSelector = function use
|
|
|
216
225
|
token: "euiColumnSelector.hideAll",
|
|
217
226
|
default: "Hide all"
|
|
218
227
|
})))))) : null;
|
|
219
|
-
}, [availableColumns.length, numberOfHiddenFields, orderedVisibleColumns.length, allowColumnHiding, allowColumnReorder, isOpen, columnSearchText, displayValues, visibleColumnIds, sortedColumns, setVisibleColumns, setIsOpen, onDragEnd, isDragEnabled, dragHandleAriaLabel, filteredColumns]);
|
|
228
|
+
}, [styles, availableColumns.length, numberOfHiddenFields, orderedVisibleColumns.length, allowColumnHiding, allowColumnReorder, isOpen, columnSearchText, displayValues, visibleColumnIds, sortedColumns, setVisibleColumns, setIsOpen, onDragEnd, isDragEnabled, dragHandleAriaLabel, filteredColumns]);
|
|
220
229
|
|
|
221
230
|
/**
|
|
222
231
|
* Used for moving columns left/right, available in the headers actions menu
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.euiDataGridColumnSelectorStyles = void 0;
|
|
7
|
+
var _react = require("@emotion/react");
|
|
8
|
+
var _global_styling = require("../../../global_styling");
|
|
9
|
+
var _themes = require("../../../themes");
|
|
10
|
+
/*
|
|
11
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
12
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
13
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
14
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
15
|
+
* Side Public License, v 1.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
var euiDataGridColumnSelectorStyles = exports.euiDataGridColumnSelectorStyles = function euiDataGridColumnSelectorStyles(euiThemeContext) {
|
|
19
|
+
var euiTheme = euiThemeContext.euiTheme;
|
|
20
|
+
var maxStaticHeight = (0, _global_styling.mathWithUnits)(euiTheme.size.base, function (x) {
|
|
21
|
+
return x * 25;
|
|
22
|
+
});
|
|
23
|
+
var maxResponsiveHeight = "min(".concat(maxStaticHeight, ", 50vh)");
|
|
24
|
+
return {
|
|
25
|
+
euiDataGridColumnSelector: /*#__PURE__*/(0, _react.css)((0, _global_styling.euiYScroll)(euiThemeContext), " ", (0, _global_styling.logicalCSS)('max-height', maxResponsiveHeight), " padding:", euiTheme.size.s, ";;label:euiDataGridColumnSelector;"),
|
|
26
|
+
euiDataGridColumnSelector__item: /*#__PURE__*/(0, _react.css)("padding:", euiTheme.size.xs, ";&.euiDataGridColumnSelector__item-isDragging{", (0, _themes.euiShadowLarge)(euiThemeContext), " background-color:", euiTheme.colors.emptyShade, ";};label:euiDataGridColumnSelector__item;")
|
|
27
|
+
};
|
|
28
|
+
};
|