@elastic/eui 95.10.1 → 95.12.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/README.md +1 -69
- package/dist/eui_theme_dark.css +0 -924
- package/dist/eui_theme_dark.min.css +1 -1
- package/dist/eui_theme_light.css +0 -924
- package/dist/eui_theme_light.min.css +1 -1
- package/es/components/basic_table/basic_table.js +43 -35
- package/es/components/basic_table/collapsed_item_actions.js +24 -31
- package/es/components/datagrid/body/cell/data_grid_cell.js +212 -94
- package/es/components/datagrid/body/cell/data_grid_cell.styles.js +110 -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 +23 -8
- package/es/components/datagrid/body/data_grid_body_virtualized.js +23 -8
- package/es/components/datagrid/body/footer/data_grid_footer.styles.js +24 -0
- package/es/components/datagrid/body/footer/data_grid_footer_row.js +24 -11
- 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 +6 -5
- package/es/components/datagrid/body/header/data_grid_header_cell.js +42 -66
- package/es/components/datagrid/body/header/data_grid_header_cell.styles.js +27 -0
- package/es/components/datagrid/body/header/data_grid_header_cell_wrapper.js +9 -3
- 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 +12 -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 +17 -9
- package/es/components/datagrid/data_grid.stories.utils.js +1422 -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 +10 -36
- package/es/components/datagrid/utils/scrolling.js +14 -7
- package/es/components/datagrid/utils/scrolling.styles.js +30 -0
- package/es/components/date_picker/date_picker.js +1 -1
- 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/provider/provider.js +16 -13
- package/es/components/provider/system_color_mode/index.js +9 -0
- package/es/components/provider/system_color_mode/system_color_mode_provider.js +49 -0
- package/es/components/resizable_container/resizable_button.js +9 -2
- package/es/components/resizable_container/resizable_button.styles.js +19 -6
- package/es/components/table/table_header_cell.js +10 -3
- package/es/components/table/table_header_cell_checkbox.js +5 -3
- package/es/components/table/table_row_cell.js +10 -3
- package/es/components/table/table_row_cell_checkbox.js +5 -3
- 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/es/services/copy/index.js +10 -0
- package/es/services/copy/tabular_copy.js +103 -0
- package/es/services/index.js +1 -1
- package/eui.d.ts +692 -124
- package/i18ntokens.json +432 -396
- package/lib/components/basic_table/basic_table.js +42 -34
- package/lib/components/basic_table/collapsed_item_actions.js +23 -30
- package/lib/components/datagrid/body/cell/data_grid_cell.js +209 -91
- package/lib/components/datagrid/body/cell/data_grid_cell.styles.js +114 -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 +23 -8
- package/lib/components/datagrid/body/data_grid_body_virtualized.js +23 -8
- package/lib/components/datagrid/body/footer/data_grid_footer.styles.js +30 -0
- package/lib/components/datagrid/body/footer/data_grid_footer_row.js +23 -10
- 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 +6 -5
- package/lib/components/datagrid/body/header/data_grid_header_cell.js +49 -74
- package/lib/components/datagrid/body/header/data_grid_header_cell.styles.js +32 -0
- package/lib/components/datagrid/body/header/data_grid_header_cell_wrapper.js +8 -2
- 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 +12 -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 +16 -8
- package/lib/components/datagrid/data_grid.stories.utils.js +1426 -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 +11 -36
- package/lib/components/datagrid/utils/scrolling.js +14 -7
- package/lib/components/datagrid/utils/scrolling.styles.js +36 -0
- package/lib/components/date_picker/date_picker.js +1 -1
- 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/provider/provider.js +16 -13
- package/lib/components/provider/system_color_mode/index.js +12 -0
- package/lib/components/provider/system_color_mode/system_color_mode_provider.js +54 -0
- package/lib/components/resizable_container/resizable_button.js +9 -2
- package/lib/components/resizable_container/resizable_button.styles.js +19 -6
- package/lib/components/table/table_header_cell.js +10 -3
- package/lib/components/table/table_header_cell_checkbox.js +5 -3
- package/lib/components/table/table_row_cell.js +10 -3
- package/lib/components/table/table_row_cell_checkbox.js +5 -3
- 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/lib/services/copy/index.js +25 -0
- package/lib/services/copy/tabular_copy.js +111 -0
- package/lib/services/index.js +12 -8
- package/optimize/es/components/basic_table/basic_table.js +43 -35
- package/optimize/es/components/basic_table/collapsed_item_actions.js +24 -31
- package/optimize/es/components/datagrid/body/cell/data_grid_cell.js +98 -88
- package/optimize/es/components/datagrid/body/cell/data_grid_cell.styles.js +110 -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 +12 -6
- package/optimize/es/components/datagrid/body/data_grid_body_virtualized.js +12 -6
- 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 +24 -11
- 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 +5 -5
- package/optimize/es/components/datagrid/body/header/data_grid_header_cell.js +42 -61
- package/optimize/es/components/datagrid/body/header/data_grid_header_cell.styles.js +27 -0
- package/optimize/es/components/datagrid/body/header/data_grid_header_cell_wrapper.js +8 -3
- 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 +12 -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 +17 -9
- package/optimize/es/components/datagrid/data_grid.stories.utils.js +369 -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 +10 -36
- 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/date_picker/date_picker.js +1 -1
- 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/provider/provider.js +16 -13
- package/optimize/es/components/provider/system_color_mode/index.js +9 -0
- package/optimize/es/components/provider/system_color_mode/system_color_mode_provider.js +40 -0
- package/optimize/es/components/resizable_container/resizable_button.js +3 -2
- package/optimize/es/components/resizable_container/resizable_button.styles.js +19 -6
- package/optimize/es/components/table/table_header_cell.js +3 -2
- package/optimize/es/components/table/table_header_cell_checkbox.js +3 -2
- package/optimize/es/components/table/table_row_cell.js +4 -3
- package/optimize/es/components/table/table_row_cell_checkbox.js +3 -2
- 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/es/services/copy/index.js +10 -0
- package/optimize/es/services/copy/tabular_copy.js +103 -0
- package/optimize/es/services/index.js +1 -1
- package/optimize/lib/components/basic_table/basic_table.js +42 -34
- package/optimize/lib/components/basic_table/collapsed_item_actions.js +23 -30
- package/optimize/lib/components/datagrid/body/cell/data_grid_cell.js +95 -85
- package/optimize/lib/components/datagrid/body/cell/data_grid_cell.styles.js +114 -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 +12 -6
- package/optimize/lib/components/datagrid/body/data_grid_body_virtualized.js +12 -6
- 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 +22 -9
- 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 +5 -5
- package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.js +45 -63
- package/optimize/lib/components/datagrid/body/header/data_grid_header_cell.styles.js +32 -0
- package/optimize/lib/components/datagrid/body/header/data_grid_header_cell_wrapper.js +7 -2
- 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 +12 -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 +16 -8
- package/optimize/lib/components/datagrid/data_grid.stories.utils.js +374 -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 +11 -36
- 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/date_picker/date_picker.js +1 -1
- 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/provider/provider.js +16 -13
- package/optimize/lib/components/provider/system_color_mode/index.js +12 -0
- package/optimize/lib/components/provider/system_color_mode/system_color_mode_provider.js +47 -0
- package/optimize/lib/components/resizable_container/resizable_button.js +3 -2
- package/optimize/lib/components/resizable_container/resizable_button.styles.js +19 -6
- package/optimize/lib/components/table/table_header_cell.js +3 -2
- package/optimize/lib/components/table/table_header_cell_checkbox.js +3 -2
- package/optimize/lib/components/table/table_row_cell.js +4 -3
- package/optimize/lib/components/table/table_row_cell_checkbox.js +3 -2
- 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/optimize/lib/services/copy/index.js +25 -0
- package/optimize/lib/services/copy/tabular_copy.js +111 -0
- package/optimize/lib/services/index.js +12 -8
- 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 +42 -34
- package/test-env/components/basic_table/collapsed_item_actions.js +23 -30
- package/test-env/components/datagrid/body/cell/data_grid_cell.js +204 -91
- package/test-env/components/datagrid/body/cell/data_grid_cell.styles.js +114 -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 +23 -8
- package/test-env/components/datagrid/body/data_grid_body_virtualized.js +23 -8
- 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 +22 -9
- 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 +6 -5
- package/test-env/components/datagrid/body/header/data_grid_header_cell.js +45 -67
- package/test-env/components/datagrid/body/header/data_grid_header_cell.styles.js +32 -0
- package/test-env/components/datagrid/body/header/data_grid_header_cell_wrapper.js +8 -2
- 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 +12 -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 +16 -8
- package/test-env/components/datagrid/data_grid.stories.utils.js +1419 -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 +11 -36
- 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/date_picker/date_picker.js +1 -1
- 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/provider/provider.js +16 -13
- package/test-env/components/provider/system_color_mode/index.js +12 -0
- package/test-env/components/provider/system_color_mode/system_color_mode_provider.js +51 -0
- package/test-env/components/resizable_container/resizable_button.js +9 -2
- package/test-env/components/resizable_container/resizable_button.styles.js +19 -6
- package/test-env/components/table/table_header_cell.js +10 -3
- package/test-env/components/table/table_header_cell_checkbox.js +5 -3
- package/test-env/components/table/table_row_cell.js +10 -3
- package/test-env/components/table/table_row_cell_checkbox.js +5 -3
- 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/test-env/services/copy/index.js +25 -0
- package/test-env/services/copy/tabular_copy.js +30 -0
- package/test-env/services/index.js +12 -8
- 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 -221
- 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
- /package/es/services/{copy_to_clipboard.js → copy/copy_to_clipboard.js} +0 -0
- /package/lib/services/{copy_to_clipboard.js → copy/copy_to_clipboard.js} +0 -0
- /package/optimize/es/services/{copy_to_clipboard.js → copy/copy_to_clipboard.js} +0 -0
- /package/optimize/lib/services/{copy_to_clipboard.js → copy/copy_to_clipboard.js} +0 -0
- /package/test-env/services/{copy_to_clipboard.js → copy/copy_to_clipboard.js} +0 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.EuiSystemColorModeProvider = exports.COLOR_MODE_MEDIA_QUERY = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
11
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
12
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
13
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
14
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
15
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } /*
|
|
16
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
17
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
18
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
19
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
20
|
+
* Side Public License, v 1.
|
|
21
|
+
*/
|
|
22
|
+
var COLOR_MODE_MEDIA_QUERY = exports.COLOR_MODE_MEDIA_QUERY = '(prefers-color-scheme: dark)';
|
|
23
|
+
var EuiSystemColorModeProvider = exports.EuiSystemColorModeProvider = function EuiSystemColorModeProvider(_ref) {
|
|
24
|
+
var children = _ref.children;
|
|
25
|
+
// Use optional chaining here for SSR or test environments
|
|
26
|
+
var _useState = (0, _react.useState)(function () {
|
|
27
|
+
var _window, _window$matchMedia;
|
|
28
|
+
return (_window = window) !== null && _window !== void 0 && (_window$matchMedia = _window.matchMedia) !== null && _window$matchMedia !== void 0 && _window$matchMedia.call(_window, COLOR_MODE_MEDIA_QUERY).matches ? 'DARK' : 'LIGHT';
|
|
29
|
+
}),
|
|
30
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
31
|
+
systemColorMode = _useState2[0],
|
|
32
|
+
setSystemColorMode = _useState2[1];
|
|
33
|
+
|
|
34
|
+
// Listen for system changes
|
|
35
|
+
(0, _react.useEffect)(function () {
|
|
36
|
+
var _window$matchMedia2, _window2, _window$matchMedia2$c, _window$matchMedia2$c2;
|
|
37
|
+
var eventListener = function eventListener(event) {
|
|
38
|
+
setSystemColorMode(event.matches ? 'DARK' : 'LIGHT');
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
// Optional chaining here is for test environments - SSR should not run useEffect
|
|
42
|
+
(_window$matchMedia2 = (_window2 = window).matchMedia) === null || _window$matchMedia2 === void 0 || (_window$matchMedia2$c = (_window$matchMedia2$c2 = _window$matchMedia2.call(_window2, COLOR_MODE_MEDIA_QUERY)).addEventListener) === null || _window$matchMedia2$c === void 0 || _window$matchMedia2$c.call(_window$matchMedia2$c2, 'change', eventListener);
|
|
43
|
+
|
|
44
|
+
// Clean up the listener on unmount
|
|
45
|
+
return function () {
|
|
46
|
+
var _window$matchMedia3, _window3, _window$matchMedia3$c, _window$matchMedia3$c2;
|
|
47
|
+
(_window$matchMedia3 = (_window3 = window).matchMedia) === null || _window$matchMedia3 === void 0 || (_window$matchMedia3$c = (_window$matchMedia3$c2 = _window$matchMedia3.call(_window3, COLOR_MODE_MEDIA_QUERY)).removeEventListener) === null || _window$matchMedia3$c === void 0 || _window$matchMedia3$c.call(_window$matchMedia3$c2, 'change', eventListener);
|
|
48
|
+
};
|
|
49
|
+
}, []);
|
|
50
|
+
return children(systemColorMode);
|
|
51
|
+
};
|
|
52
|
+
EuiSystemColorModeProvider.propTypes = {
|
|
53
|
+
children: _propTypes.default.func.isRequired
|
|
54
|
+
};
|
|
@@ -13,7 +13,7 @@ var _services = require("../../services");
|
|
|
13
13
|
var _context = require("./context");
|
|
14
14
|
var _resizable_button = require("./resizable_button.styles");
|
|
15
15
|
var _react2 = require("@emotion/react");
|
|
16
|
-
var _excluded = ["isHorizontal", "indicator", "alignIndicator", "className"],
|
|
16
|
+
var _excluded = ["isHorizontal", "indicator", "alignIndicator", "accountForScrollbars", "className"],
|
|
17
17
|
_excluded2 = ["registration", "id", "disabled", "onFocus"];
|
|
18
18
|
/*
|
|
19
19
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
@@ -44,12 +44,13 @@ var EuiResizableButton = exports.EuiResizableButton = /*#__PURE__*/(0, _react.fo
|
|
|
44
44
|
indicator = _ref$indicator === void 0 ? 'handle' : _ref$indicator,
|
|
45
45
|
_ref$alignIndicator = _ref.alignIndicator,
|
|
46
46
|
alignIndicator = _ref$alignIndicator === void 0 ? 'center' : _ref$alignIndicator,
|
|
47
|
+
accountForScrollbars = _ref.accountForScrollbars,
|
|
47
48
|
className = _ref.className,
|
|
48
49
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
49
50
|
var classes = (0, _classnames.default)('euiResizableButton', className);
|
|
50
51
|
var resizeDirection = isHorizontal ? 'horizontal' : 'vertical';
|
|
51
52
|
var styles = (0, _services.useEuiMemoizedStyles)(_resizable_button.euiResizableButtonStyles);
|
|
52
|
-
var cssStyles = [styles.euiResizableButton, styles[indicator], styles["".concat(indicator, "Direction")][resizeDirection], styles[resizeDirection], indicator === 'handle' && styles.alignIndicator[alignIndicator]];
|
|
53
|
+
var cssStyles = [styles.euiResizableButton, styles[indicator], styles["".concat(indicator, "Direction")][resizeDirection], styles[resizeDirection], indicator === 'handle' && styles.alignIndicator[alignIndicator], styles.accountForScrollbars[resizeDirection][accountForScrollbars !== null && accountForScrollbars !== void 0 ? accountForScrollbars : 'none']];
|
|
53
54
|
return (0, _react2.jsx)(_i18n.EuiI18n, {
|
|
54
55
|
tokens: ['euiResizableButton.horizontalResizerAriaLabel', 'euiResizableButton.verticalResizerAriaLabel'],
|
|
55
56
|
defaults: ['Press the left or right arrow keys to adjust panels size', 'Press the up or down arrow keys to adjust panels size']
|
|
@@ -88,6 +89,12 @@ EuiResizableButton.propTypes = {
|
|
|
88
89
|
* tall content that scrolls off-screen
|
|
89
90
|
*/
|
|
90
91
|
alignIndicator: _propTypes.default.oneOf(["center", "start", "end"]),
|
|
92
|
+
/**
|
|
93
|
+
* By default, EuiResizableButton will overlap into the panels before/after it.
|
|
94
|
+
* This can occasionally occlude interactive elements like scrollbars. To prevent
|
|
95
|
+
* this overlap, use this prop to remove the overlap for the specified side.
|
|
96
|
+
*/
|
|
97
|
+
accountForScrollbars: _propTypes.default.oneOf(["before", "after", "both"]),
|
|
91
98
|
/**
|
|
92
99
|
* When disabled, the resizer button will be completely hidden
|
|
93
100
|
*/
|
|
@@ -41,6 +41,9 @@ var _ref3 = process.env.NODE_ENV === "production" ? {
|
|
|
41
41
|
var euiResizableButtonStyles = exports.euiResizableButtonStyles = function euiResizableButtonStyles(euiThemeContext) {
|
|
42
42
|
var euiTheme = euiThemeContext.euiTheme;
|
|
43
43
|
var buttonSize = euiTheme.size.base;
|
|
44
|
+
var negativeMargin = (0, _global_styling.mathWithUnits)(buttonSize, function (x) {
|
|
45
|
+
return x / -2;
|
|
46
|
+
});
|
|
44
47
|
var grabHandleWidth = euiTheme.size.m;
|
|
45
48
|
var grabHandleHeight = euiTheme.border.width.thin;
|
|
46
49
|
var transitionSpeed = euiTheme.animation.fast;
|
|
@@ -53,12 +56,22 @@ var euiResizableButtonStyles = exports.euiResizableButtonStyles = function euiRe
|
|
|
53
56
|
euiResizableButton: /*#__PURE__*/(0, _react.css)("z-index:1;flex-shrink:0;display:flex;justify-content:center;&:disabled{display:none;}&::before,&::after{content:'';display:block;", _global_styling.euiCanAnimate, "{transition:width ", transition, ",height ", transition, ",margin ", transition, ",background-color ", transition, ";}}&:hover{&::before,&::after{background-color:", euiTheme.colors.mediumShade, ";}}&:focus,&:active{background-color:", (0, _services.transparentize)(euiTheme.colors.primary, 0.1), ";&::before,&::after{background-color:", euiTheme.colors.primary, ";", _global_styling.euiCanAnimate, "{transition:width ", transition, ",height ", transition, ";transition-delay:", (0, _global_styling.mathWithUnits)(transitionSpeed, function (x) {
|
|
54
57
|
return x / 2;
|
|
55
58
|
}), ";}}};label:euiResizableButton;"),
|
|
56
|
-
horizontal: /*#__PURE__*/(0, _react.css)("cursor:col-resize;", (0, _global_styling.logicalCSS)('height', '100%'), " ", (0, _global_styling.logicalCSS)('width', buttonSize), "
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
horizontal: /*#__PURE__*/(0, _react.css)("cursor:col-resize;", (0, _global_styling.logicalCSS)('height', '100%'), " ", (0, _global_styling.logicalCSS)('width', buttonSize), ";;label:horizontal;"),
|
|
60
|
+
vertical: /*#__PURE__*/(0, _react.css)("flex-direction:column;cursor:row-resize;", (0, _global_styling.logicalCSS)('width', '100%'), " ", (0, _global_styling.logicalCSS)('height', buttonSize), ";;label:vertical;"),
|
|
61
|
+
accountForScrollbars: {
|
|
62
|
+
horizontal: {
|
|
63
|
+
both: /*#__PURE__*/(0, _react.css)(";label:both;"),
|
|
64
|
+
before: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('margin-right', negativeMargin), ";label:before;"),
|
|
65
|
+
after: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('margin-left', negativeMargin), ";label:after;"),
|
|
66
|
+
none: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('margin-horizontal', negativeMargin), ";label:none;")
|
|
67
|
+
},
|
|
68
|
+
vertical: {
|
|
69
|
+
both: /*#__PURE__*/(0, _react.css)(";label:both;"),
|
|
70
|
+
before: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('margin-bottom', negativeMargin), ";label:before;"),
|
|
71
|
+
after: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('margin-top', negativeMargin), ";label:after;"),
|
|
72
|
+
none: /*#__PURE__*/(0, _react.css)((0, _global_styling.logicalCSS)('margin-vertical', negativeMargin), ";label:none;")
|
|
73
|
+
}
|
|
74
|
+
},
|
|
62
75
|
border: /*#__PURE__*/(0, _react.css)("&::before,&::after{background-color:", euiTheme.border.color, ";};label:border;"),
|
|
63
76
|
borderDirection: {
|
|
64
77
|
horizontal: /*#__PURE__*/(0, _react.css)("&::before{", (0, _global_styling.logicalCSS)('width', euiTheme.border.width.thin), " ", (0, _global_styling.logicalCSS)('height', '100%'), ";}&:hover,&:focus,&:active{&::after{", (0, _global_styling.logicalCSS)('width', euiTheme.border.width.thin), " ", (0, _global_styling.logicalCSS)('height', '100%'), ";}};label:horizontal;"),
|
|
@@ -17,7 +17,7 @@ var _responsive_context = require("./mobile/responsive_context");
|
|
|
17
17
|
var _table_cell_content = require("./_table_cell_content");
|
|
18
18
|
var _table_cells_shared = require("./table_cells_shared.styles");
|
|
19
19
|
var _react2 = require("@emotion/react");
|
|
20
|
-
var _excluded = ["children", "align", "onSort", "isSorted", "isSortAscending", "className", "scope", "mobileOptions", "width", "style", "readOnly", "description"];
|
|
20
|
+
var _excluded = ["children", "align", "onSort", "isSorted", "isSortAscending", "className", "scope", "mobileOptions", "width", "style", "readOnly", "description", "append"];
|
|
21
21
|
/*
|
|
22
22
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
23
23
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -82,6 +82,7 @@ var EuiTableHeaderCell = exports.EuiTableHeaderCell = function EuiTableHeaderCel
|
|
|
82
82
|
style = _ref2.style,
|
|
83
83
|
readOnly = _ref2.readOnly,
|
|
84
84
|
description = _ref2.description,
|
|
85
|
+
append = _ref2.append,
|
|
85
86
|
rest = _objectWithoutProperties(_ref2, _excluded);
|
|
86
87
|
var styles = (0, _services.useEuiMemoizedStyles)(_table_cells_shared.euiTableHeaderFooterCellStyles);
|
|
87
88
|
var isResponsive = (0, _responsive_context.useEuiTableIsResponsive)();
|
|
@@ -124,7 +125,7 @@ var EuiTableHeaderCell = exports.EuiTableHeaderCell = function EuiTableHeaderCel
|
|
|
124
125
|
}),
|
|
125
126
|
onClick: onSort,
|
|
126
127
|
"data-test-subj": "tableHeaderSortButton"
|
|
127
|
-
}, (0, _react2.jsx)(CellContents, cellContentsProps)) : (0, _react2.jsx)(CellContents, cellContentsProps));
|
|
128
|
+
}, (0, _react2.jsx)(CellContents, cellContentsProps)) : (0, _react2.jsx)(CellContents, cellContentsProps), append);
|
|
128
129
|
};
|
|
129
130
|
EuiTableHeaderCell.propTypes = {
|
|
130
131
|
className: _propTypes.default.string,
|
|
@@ -142,5 +143,11 @@ EuiTableHeaderCell.propTypes = {
|
|
|
142
143
|
/**
|
|
143
144
|
* Shows the sort indicator but removes the button
|
|
144
145
|
*/
|
|
145
|
-
readOnly: _propTypes.default.bool
|
|
146
|
+
readOnly: _propTypes.default.bool,
|
|
147
|
+
/**
|
|
148
|
+
* Content rendered outside the visible cell content wrapper. Useful for, e.g. screen reader text.
|
|
149
|
+
*
|
|
150
|
+
* Used by EuiBasicTable to render hidden copy markers
|
|
151
|
+
*/
|
|
152
|
+
append: _propTypes.default.node
|
|
146
153
|
};
|
|
@@ -11,7 +11,7 @@ var _services = require("../../services");
|
|
|
11
11
|
var _utils = require("./utils");
|
|
12
12
|
var _table_cells_shared = require("./table_cells_shared.styles");
|
|
13
13
|
var _react2 = require("@emotion/react");
|
|
14
|
-
var _excluded = ["children", "className", "scope", "style", "width"];
|
|
14
|
+
var _excluded = ["children", "className", "scope", "style", "width", "append"];
|
|
15
15
|
/*
|
|
16
16
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
17
17
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -30,6 +30,7 @@ var EuiTableHeaderCellCheckbox = exports.EuiTableHeaderCellCheckbox = function E
|
|
|
30
30
|
scope = _ref$scope === void 0 ? 'col' : _ref$scope,
|
|
31
31
|
style = _ref.style,
|
|
32
32
|
width = _ref.width,
|
|
33
|
+
append = _ref.append,
|
|
33
34
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
34
35
|
var classes = (0, _classnames.default)('euiTableHeaderCellCheckbox', className);
|
|
35
36
|
var styles = (0, _services.useEuiMemoizedStyles)(_table_cells_shared.euiTableCellCheckboxStyles);
|
|
@@ -41,7 +42,7 @@ var EuiTableHeaderCellCheckbox = exports.EuiTableHeaderCellCheckbox = function E
|
|
|
41
42
|
style: inlineStyles
|
|
42
43
|
}, rest), (0, _react2.jsx)("div", {
|
|
43
44
|
className: "euiTableCellContent"
|
|
44
|
-
}, children));
|
|
45
|
+
}, children), append);
|
|
45
46
|
};
|
|
46
47
|
EuiTableHeaderCellCheckbox.propTypes = {
|
|
47
48
|
className: _propTypes.default.string,
|
|
@@ -49,5 +50,6 @@ EuiTableHeaderCellCheckbox.propTypes = {
|
|
|
49
50
|
"data-test-subj": _propTypes.default.string,
|
|
50
51
|
css: _propTypes.default.any,
|
|
51
52
|
width: _propTypes.default.oneOfType([_propTypes.default.string.isRequired, _propTypes.default.number.isRequired]),
|
|
52
|
-
scope: _propTypes.default.any
|
|
53
|
+
scope: _propTypes.default.any,
|
|
54
|
+
append: _propTypes.default.node
|
|
53
55
|
};
|
|
@@ -14,7 +14,7 @@ var _utils = require("./utils");
|
|
|
14
14
|
var _table_cell_content = require("./_table_cell_content");
|
|
15
15
|
var _table_row_cell = require("./table_row_cell.styles");
|
|
16
16
|
var _react2 = require("@emotion/react");
|
|
17
|
-
var _excluded = ["align", "children", "className", "truncateText", "setScopeRow", "textOnly", "hasActions", "isExpander", "style", "width", "valign", "mobileOptions"];
|
|
17
|
+
var _excluded = ["align", "children", "className", "truncateText", "setScopeRow", "textOnly", "hasActions", "isExpander", "style", "width", "valign", "mobileOptions", "append"];
|
|
18
18
|
/*
|
|
19
19
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
20
20
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -53,6 +53,7 @@ var EuiTableRowCell = exports.EuiTableRowCell = function EuiTableRowCell(_ref) {
|
|
|
53
53
|
_ref$valign = _ref.valign,
|
|
54
54
|
valign = _ref$valign === void 0 ? 'middle' : _ref$valign,
|
|
55
55
|
mobileOptions = _ref.mobileOptions,
|
|
56
|
+
append = _ref.append,
|
|
56
57
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
57
58
|
var isResponsive = (0, _responsive_context.useEuiTableIsResponsive)();
|
|
58
59
|
var styles = (0, _services.useEuiMemoizedStyles)(_table_row_cell.euiTableRowCellStyles);
|
|
@@ -92,7 +93,7 @@ var EuiTableRowCell = exports.EuiTableRowCell = function EuiTableRowCell(_ref) {
|
|
|
92
93
|
,
|
|
93
94
|
truncateText: (_mobileOptions$trunca = mobileOptions === null || mobileOptions === void 0 ? void 0 : mobileOptions.truncateText) !== null && _mobileOptions$trunca !== void 0 ? _mobileOptions$trunca : truncateText,
|
|
94
95
|
textOnly: (_mobileOptions$textOn = mobileOptions === null || mobileOptions === void 0 ? void 0 : mobileOptions.textOnly) !== null && _mobileOptions$textOn !== void 0 ? _mobileOptions$textOn : textOnly
|
|
95
|
-
}), (mobileOptions === null || mobileOptions === void 0 ? void 0 : mobileOptions.render) || children));
|
|
96
|
+
}), (mobileOptions === null || mobileOptions === void 0 ? void 0 : mobileOptions.render) || children), append);
|
|
96
97
|
}
|
|
97
98
|
} else {
|
|
98
99
|
// Desktop view
|
|
@@ -101,7 +102,7 @@ var EuiTableRowCell = exports.EuiTableRowCell = function EuiTableRowCell(_ref) {
|
|
|
101
102
|
} else {
|
|
102
103
|
return (0, _react2.jsx)(Element, _extends({
|
|
103
104
|
className: cellClasses
|
|
104
|
-
}, sharedProps), (0, _react2.jsx)(_table_cell_content.EuiTableCellContent, sharedContentProps, children));
|
|
105
|
+
}, sharedProps), (0, _react2.jsx)(_table_cell_content.EuiTableCellContent, sharedContentProps, children), append);
|
|
105
106
|
}
|
|
106
107
|
}
|
|
107
108
|
};
|
|
@@ -183,6 +184,12 @@ EuiTableRowCell.propTypes = {
|
|
|
183
184
|
lines: _propTypes.default.number.isRequired
|
|
184
185
|
}).isRequired])
|
|
185
186
|
}),
|
|
187
|
+
/**
|
|
188
|
+
* Content rendered outside the visible cell content wrapper. Useful for, e.g. screen reader text.
|
|
189
|
+
*
|
|
190
|
+
* Used by EuiBasicTable to render hidden copy markers
|
|
191
|
+
*/
|
|
192
|
+
append: _propTypes.default.node,
|
|
186
193
|
/**
|
|
187
194
|
* Horizontal alignment of the text in the cell
|
|
188
195
|
*/
|
|
@@ -11,7 +11,7 @@ var _services = require("../../services");
|
|
|
11
11
|
var _responsive_context = require("./mobile/responsive_context");
|
|
12
12
|
var _table_cells_shared = require("./table_cells_shared.styles");
|
|
13
13
|
var _react2 = require("@emotion/react");
|
|
14
|
-
var _excluded = ["children", "className"];
|
|
14
|
+
var _excluded = ["children", "className", "append"];
|
|
15
15
|
/*
|
|
16
16
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
17
17
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -26,6 +26,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
|
|
|
26
26
|
var EuiTableRowCellCheckbox = exports.EuiTableRowCellCheckbox = function EuiTableRowCellCheckbox(_ref) {
|
|
27
27
|
var children = _ref.children,
|
|
28
28
|
className = _ref.className,
|
|
29
|
+
append = _ref.append,
|
|
29
30
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
30
31
|
var isResponsive = (0, _responsive_context.useEuiTableIsResponsive)();
|
|
31
32
|
var styles = (0, _services.useEuiMemoizedStyles)(_table_cells_shared.euiTableCellCheckboxStyles);
|
|
@@ -36,11 +37,12 @@ var EuiTableRowCellCheckbox = exports.EuiTableRowCellCheckbox = function EuiTabl
|
|
|
36
37
|
className: classes
|
|
37
38
|
}, rest), (0, _react2.jsx)("div", {
|
|
38
39
|
className: "euiTableCellContent"
|
|
39
|
-
}, children));
|
|
40
|
+
}, children), append);
|
|
40
41
|
};
|
|
41
42
|
EuiTableRowCellCheckbox.propTypes = {
|
|
42
43
|
className: _propTypes.default.string,
|
|
43
44
|
"aria-label": _propTypes.default.string,
|
|
44
45
|
"data-test-subj": _propTypes.default.string,
|
|
45
|
-
css: _propTypes.default.any
|
|
46
|
+
css: _propTypes.default.any,
|
|
47
|
+
append: _propTypes.default.node
|
|
46
48
|
};
|
|
@@ -8,11 +8,11 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
10
|
var _services = require("../../services");
|
|
11
|
-
var _text = require("./text.styles");
|
|
12
11
|
var _text_color = require("./text_color");
|
|
13
12
|
var _text_align = require("./text_align");
|
|
13
|
+
var _text = require("./text.styles");
|
|
14
14
|
var _react2 = require("@emotion/react");
|
|
15
|
-
var _excluded = ["size", "color", "grow", "textAlign", "children", "className"];
|
|
15
|
+
var _excluded = ["component", "size", "color", "grow", "textAlign", "children", "className"];
|
|
16
16
|
/*
|
|
17
17
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
18
18
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -26,7 +26,9 @@ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i
|
|
|
26
26
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.indexOf(n) >= 0) continue; t[n] = r[n]; } return t; }
|
|
27
27
|
var TEXT_SIZES = exports.TEXT_SIZES = ['xs', 's', 'm', 'relative'];
|
|
28
28
|
var EuiText = exports.EuiText = function EuiText(_ref) {
|
|
29
|
-
var _ref$
|
|
29
|
+
var _ref$component = _ref.component,
|
|
30
|
+
component = _ref$component === void 0 ? 'div' : _ref$component,
|
|
31
|
+
_ref$size = _ref.size,
|
|
30
32
|
size = _ref$size === void 0 ? 'm' : _ref$size,
|
|
31
33
|
color = _ref.color,
|
|
32
34
|
_ref$grow = _ref.grow,
|
|
@@ -38,12 +40,14 @@ var EuiText = exports.EuiText = function EuiText(_ref) {
|
|
|
38
40
|
var styles = (0, _services.useEuiMemoizedStyles)(_text.euiTextStyles);
|
|
39
41
|
var cssStyles = [styles.euiText, !grow ? styles.constrainedWidth : undefined, styles[size]];
|
|
40
42
|
var classes = (0, _classnames.default)('euiText', className);
|
|
41
|
-
var
|
|
43
|
+
var Component = component;
|
|
44
|
+
var text = (0, _react2.jsx)(Component, _extends({
|
|
42
45
|
css: cssStyles,
|
|
43
46
|
className: classes
|
|
44
47
|
}, rest), children);
|
|
45
48
|
if (color) {
|
|
46
49
|
text = (0, _react2.jsx)(_text_color.EuiTextColor, {
|
|
50
|
+
component: component,
|
|
47
51
|
color: color,
|
|
48
52
|
className: classes,
|
|
49
53
|
cloneElement: true
|
|
@@ -51,6 +55,7 @@ var EuiText = exports.EuiText = function EuiText(_ref) {
|
|
|
51
55
|
}
|
|
52
56
|
if (textAlign) {
|
|
53
57
|
text = (0, _react2.jsx)(_text_align.EuiTextAlign, {
|
|
58
|
+
component: component,
|
|
54
59
|
textAlign: textAlign,
|
|
55
60
|
className: classes,
|
|
56
61
|
cloneElement: true
|
|
@@ -63,15 +68,26 @@ EuiText.propTypes = {
|
|
|
63
68
|
"aria-label": _propTypes.default.string,
|
|
64
69
|
"data-test-subj": _propTypes.default.string,
|
|
65
70
|
css: _propTypes.default.any,
|
|
71
|
+
/**
|
|
72
|
+
* The HTML element/tag to render.
|
|
73
|
+
* Use with care when nesting multiple components to ensure valid XHTML:
|
|
74
|
+
* - `<div>` and other block tags are not valid to use inside `<p>`. If using the `<p>` tag, we recommend passing strings/text only.
|
|
75
|
+
* - `<span>` is valid to be nested in any tag, and can have any tag nested within it.
|
|
76
|
+
*/
|
|
77
|
+
component: _propTypes.default.oneOf(["div", "span", "p"]),
|
|
78
|
+
/**
|
|
79
|
+
* Any of our named colors or a `hex`, `rgb` or `rgba` value.
|
|
80
|
+
* @default inherit
|
|
81
|
+
*/
|
|
82
|
+
color: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.any.isRequired]),
|
|
83
|
+
/**
|
|
84
|
+
* Applies horizontal text alignment
|
|
85
|
+
* @default left
|
|
86
|
+
*/
|
|
66
87
|
textAlign: _propTypes.default.any,
|
|
67
88
|
/**
|
|
68
89
|
* Determines the text size. Choose `relative` to control the `font-size` based on the value of a parent container.
|
|
69
90
|
*/
|
|
70
91
|
size: _propTypes.default.any,
|
|
71
|
-
/**
|
|
72
|
-
* Any of our named colors or a `hex`, `rgb` or `rgba` value.
|
|
73
|
-
* @default inherit
|
|
74
|
-
*/
|
|
75
|
-
color: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.any.isRequired]),
|
|
76
92
|
grow: _propTypes.default.bool
|
|
77
93
|
};
|
|
@@ -10,7 +10,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
10
10
|
var _services = require("../../services");
|
|
11
11
|
var _text_align = require("./text_align.styles");
|
|
12
12
|
var _react2 = require("@emotion/react");
|
|
13
|
-
var _excluded = ["children", "textAlign", "cloneElement"];
|
|
13
|
+
var _excluded = ["children", "component", "textAlign", "cloneElement"];
|
|
14
14
|
/*
|
|
15
15
|
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
16
16
|
* or more contributor license agreements. Licensed under the Elastic License
|
|
@@ -31,6 +31,8 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
|
|
|
31
31
|
var ALIGNMENTS = exports.ALIGNMENTS = ['left', 'right', 'center'];
|
|
32
32
|
var EuiTextAlign = exports.EuiTextAlign = function EuiTextAlign(_ref) {
|
|
33
33
|
var children = _ref.children,
|
|
34
|
+
_ref$component = _ref.component,
|
|
35
|
+
Component = _ref$component === void 0 ? 'div' : _ref$component,
|
|
34
36
|
_ref$textAlign = _ref.textAlign,
|
|
35
37
|
textAlign = _ref$textAlign === void 0 ? 'left' : _ref$textAlign,
|
|
36
38
|
_ref$cloneElement = _ref.cloneElement,
|
|
@@ -43,7 +45,7 @@ var EuiTextAlign = exports.EuiTextAlign = function EuiTextAlign(_ref) {
|
|
|
43
45
|
if ( /*#__PURE__*/(0, _react.isValidElement)(children) && cloneElement) {
|
|
44
46
|
return (0, _services.cloneElementWithCss)(children, props);
|
|
45
47
|
} else {
|
|
46
|
-
return (0, _react2.jsx)(
|
|
48
|
+
return (0, _react2.jsx)(Component, props, children);
|
|
47
49
|
}
|
|
48
50
|
};
|
|
49
51
|
EuiTextAlign.propTypes = {
|
|
@@ -51,10 +53,21 @@ EuiTextAlign.propTypes = {
|
|
|
51
53
|
"aria-label": _propTypes.default.string,
|
|
52
54
|
"data-test-subj": _propTypes.default.string,
|
|
53
55
|
css: _propTypes.default.any,
|
|
54
|
-
textAlign: _propTypes.default.any,
|
|
55
56
|
/**
|
|
56
|
-
*
|
|
57
|
-
*
|
|
57
|
+
* The HTML element/tag to render.
|
|
58
|
+
* Use with care when nesting multiple components to ensure valid XHTML:
|
|
59
|
+
* - `<div>` and other block tags are not valid to use inside `<p>`. If using the `<p>` tag, we recommend passing strings/text only.
|
|
60
|
+
* - `<span>` is valid to be nested in any tag, and can have any tag nested within it.
|
|
58
61
|
*/
|
|
59
|
-
|
|
62
|
+
component: _propTypes.default.oneOf(["div", "span", "p"]),
|
|
63
|
+
/**
|
|
64
|
+
* Applies text styling to the child element instead of rendering a parent wrapper.
|
|
65
|
+
* Can only be used when wrapping a *single* child element/tag, and not raw text.
|
|
66
|
+
*/
|
|
67
|
+
cloneElement: _propTypes.default.bool,
|
|
68
|
+
/**
|
|
69
|
+
* Applies horizontal text alignment
|
|
70
|
+
* @default left
|
|
71
|
+
*/
|
|
72
|
+
textAlign: _propTypes.default.any
|
|
60
73
|
};
|
|
@@ -37,7 +37,7 @@ var EuiTextColor = exports.EuiTextColor = function EuiTextColor(_ref) {
|
|
|
37
37
|
_ref$color = _ref.color,
|
|
38
38
|
color = _ref$color === void 0 ? 'default' : _ref$color,
|
|
39
39
|
_ref$component = _ref.component,
|
|
40
|
-
|
|
40
|
+
Component = _ref$component === void 0 ? 'span' : _ref$component,
|
|
41
41
|
_ref$cloneElement = _ref.cloneElement,
|
|
42
42
|
cloneElement = _ref$cloneElement === void 0 ? false : _ref$cloneElement,
|
|
43
43
|
style = _ref.style,
|
|
@@ -62,7 +62,6 @@ var EuiTextColor = exports.EuiTextColor = function EuiTextColor(_ref) {
|
|
|
62
62
|
style: childrenStyle
|
|
63
63
|
}));
|
|
64
64
|
} else {
|
|
65
|
-
var Component = component;
|
|
66
65
|
return (0, _react2.jsx)(Component, props, children);
|
|
67
66
|
}
|
|
68
67
|
};
|
|
@@ -72,16 +71,20 @@ EuiTextColor.propTypes = {
|
|
|
72
71
|
"data-test-subj": _propTypes.default.string,
|
|
73
72
|
css: _propTypes.default.any,
|
|
74
73
|
/**
|
|
75
|
-
*
|
|
74
|
+
* The HTML element/tag to render.
|
|
75
|
+
* Use with care when nesting multiple components to ensure valid XHTML:
|
|
76
|
+
* - `<div>` and other block tags are not valid to use inside `<p>`. If using the `<p>` tag, we recommend passing strings/text only.
|
|
77
|
+
* - `<span>` is valid to be nested in any tag, and can have any tag nested within it.
|
|
76
78
|
*/
|
|
77
|
-
|
|
79
|
+
component: _propTypes.default.oneOf(["div", "span", "p"]),
|
|
78
80
|
/**
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
81
|
+
* Applies text styling to the child element instead of rendering a parent wrapper.
|
|
82
|
+
* Can only be used when wrapping a *single* child element/tag, and not raw text.
|
|
83
|
+
*/
|
|
84
|
+
cloneElement: _propTypes.default.bool,
|
|
82
85
|
/**
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
86
|
+
* Any of our named colors or a `hex`, `rgb` or `rgba` value.
|
|
87
|
+
* @default inherit
|
|
88
|
+
*/
|
|
89
|
+
color: _propTypes.default.oneOfType([_propTypes.default.any.isRequired, _propTypes.default.any.isRequired])
|
|
87
90
|
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "OverrideCopiedTabularContent", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _tabular_copy.OverrideCopiedTabularContent;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "copyToClipboard", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _copy_to_clipboard.copyToClipboard;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "tabularCopyMarkers", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _tabular_copy.tabularCopyMarkers;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
var _copy_to_clipboard = require("./copy_to_clipboard");
|
|
25
|
+
var _tabular_copy = require("./tabular_copy");
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.tabularCopyMarkers = exports.onTabularCopy = exports.OverrideCopiedTabularContent = exports.CHARS = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _react2 = require("@emotion/react");
|
|
10
|
+
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); }
|
|
11
|
+
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; }
|
|
12
|
+
/*
|
|
13
|
+
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
14
|
+
* or more contributor license agreements. Licensed under the Elastic License
|
|
15
|
+
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
|
16
|
+
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
|
17
|
+
* Side Public License, v 1.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Clipboard text cleaning logic
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
// Special visually hidden unicode characters that we use to manually clean content
|
|
25
|
+
// and force our own newlines/horizontal tabs
|
|
26
|
+
var CHARS = exports.CHARS = {
|
|
27
|
+
NEWLINE: '↵',
|
|
28
|
+
TAB: '↦',
|
|
29
|
+
// Use multiple characters to reduce the chances of consumers also using these characters
|
|
30
|
+
TABULAR_CONTENT_BOUND: '𐘂𐘂',
|
|
31
|
+
NO_COPY_BOUND: '✄𐘗'
|
|
32
|
+
};
|
|
33
|
+
// This regex finds all content between two bounds
|
|
34
|
+
var noCopyBoundsRegex = new RegExp("".concat(CHARS.NO_COPY_BOUND, "[^").concat(CHARS.NO_COPY_BOUND, "]*").concat(CHARS.NO_COPY_BOUND), 'gs');
|
|
35
|
+
var hasCharsToReplace = function hasCharsToReplace(text) {
|
|
36
|
+
for (var _i = 0, _Object$values = Object.values(CHARS); _i < _Object$values.length; _i++) {
|
|
37
|
+
var char = _Object$values[_i];
|
|
38
|
+
if (text.indexOf(char) >= 0) return true;
|
|
39
|
+
}
|
|
40
|
+
return false;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
// Strip all existing newlines and replace our special hidden characters
|
|
44
|
+
// with the desired spacing needed to paste cleanly into a spreadsheet
|
|
45
|
+
var onTabularCopy = exports.onTabularCopy = function onTabularCopy(event) {
|
|
46
|
+
var _window$getSelection;
|
|
47
|
+
if (!event.clipboardData) return;
|
|
48
|
+
var selectedText = (_window$getSelection = window.getSelection()) === null || _window$getSelection === void 0 ? void 0 : _window$getSelection.toString();
|
|
49
|
+
if (!selectedText || !hasCharsToReplace(selectedText)) return;
|
|
50
|
+
var amendedText = selectedText.split(CHARS.TABULAR_CONTENT_BOUND).map(function (text) {
|
|
51
|
+
return hasCharsToReplace(text) ? text.replace(/\r?\n/g, '') // remove all other newlines generated by content or block display
|
|
52
|
+
.replaceAll(CHARS.NEWLINE, '\n') // insert newline for each table/grid row
|
|
53
|
+
.replace(/\t/g, '') // remove tabs generated by content or automatically by <td> elements
|
|
54
|
+
.replaceAll(CHARS.TAB, "\t") // insert horizontal tab for each table/grid cell
|
|
55
|
+
.replace(noCopyBoundsRegex, '') // remove text that should not be copied (e.g. screen reader instructions)
|
|
56
|
+
: text;
|
|
57
|
+
}).join('');
|
|
58
|
+
event.clipboardData.setData('text/plain', amendedText);
|
|
59
|
+
event.preventDefault();
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* JSX utils for rendering the hidden marker characters
|
|
64
|
+
*/
|
|
65
|
+
|
|
66
|
+
var VisuallyHide = function VisuallyHide(_ref) {
|
|
67
|
+
var children = _ref.children,
|
|
68
|
+
_ref$type = _ref.type,
|
|
69
|
+
type = _ref$type === void 0 ? 'true' : _ref$type;
|
|
70
|
+
return (
|
|
71
|
+
// Hides the characters to both sighted user and screen readers
|
|
72
|
+
// Sadly, we can't use `hidden` as that hides the chars from the clipboard as well
|
|
73
|
+
(0, _react2.jsx)("span", {
|
|
74
|
+
className: "euiScreenReaderOnly",
|
|
75
|
+
"aria-hidden": true,
|
|
76
|
+
"data-tabular-copy-marker": type
|
|
77
|
+
}, children)
|
|
78
|
+
);
|
|
79
|
+
};
|
|
80
|
+
var tabularCopyMarkers = exports.tabularCopyMarkers = {
|
|
81
|
+
hiddenTab: (0, _react2.jsx)(VisuallyHide, {
|
|
82
|
+
type: "tab"
|
|
83
|
+
}, CHARS.TAB),
|
|
84
|
+
hiddenNewline: (0, _react2.jsx)(VisuallyHide, {
|
|
85
|
+
type: "newline"
|
|
86
|
+
}, CHARS.NEWLINE),
|
|
87
|
+
hiddenWrapperBoundary: (0, _react2.jsx)(VisuallyHide, {
|
|
88
|
+
type: "boundary"
|
|
89
|
+
}, CHARS.TABULAR_CONTENT_BOUND),
|
|
90
|
+
hiddenNoCopyBoundary: (0, _react2.jsx)(VisuallyHide, {
|
|
91
|
+
type: "no-copy"
|
|
92
|
+
}, CHARS.NO_COPY_BOUND)
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Wrapper setup around table/grid tabular content we want to override/clean up on copy
|
|
97
|
+
*/
|
|
98
|
+
|
|
99
|
+
var OverrideCopiedTabularContent = exports.OverrideCopiedTabularContent = function OverrideCopiedTabularContent(_ref2) {
|
|
100
|
+
var children = _ref2.children;
|
|
101
|
+
(0, _react.useEffect)(function () {
|
|
102
|
+
// Chrome and webkit browsers work perfectly when passing `onTabularCopy` to a React
|
|
103
|
+
// `onCopy` prop, but sadly Firefox does not if copying more than just the table/grid
|
|
104
|
+
// (e.g. Ctrl+A). So we have to set up a global window event listener
|
|
105
|
+
window.document.addEventListener('copy', onTabularCopy);
|
|
106
|
+
// Note: Since onCopy is static, we don't have to worry about duplicate
|
|
107
|
+
// event listeners - it's automatically handled by the browser. See:
|
|
108
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Multiple_identical_event_listeners
|
|
109
|
+
}, []);
|
|
110
|
+
return (0, _react2.jsx)(_react.default.Fragment, null, tabularCopyMarkers.hiddenWrapperBoundary, children, tabularCopyMarkers.hiddenWrapperBoundary);
|
|
111
|
+
};
|