@cloudscape-design/components-themeable 3.0.1332 → 3.0.1334
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/lib/internal/manifest.json +1 -1
- package/lib/internal/scss/app-layout/constants.scss +4 -0
- package/lib/internal/scss/app-layout/visual-refresh-toolbar/navigation/styles.scss +43 -13
- package/lib/internal/scss/app-layout/visual-refresh-toolbar/skeleton/styles.scss +7 -1
- package/lib/internal/scss/app-layout/visual-refresh-toolbar/toolbar/styles.scss +2 -2
- package/lib/internal/scss/box/visual-accent.scss +61 -25
- package/lib/internal/scss/button/styles.scss +6 -0
- package/lib/internal/scss/code-editor/ace-editor.scss +1 -1
- package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +174 -173
- package/lib/internal/scss/side-navigation/styles.scss +14 -10
- package/lib/internal/scss/status-indicator/styles.scss +4 -2
- package/lib/internal/scss/steps/styles.scss +113 -31
- package/lib/internal/scss/table/header-cell/styles.scss +42 -14
- package/lib/internal/scss/table/styles.scss +6 -0
- package/lib/internal/scss/tooltip/styles.scss +22 -0
- package/lib/internal/template/alert/styles.css.js +27 -27
- package/lib/internal/template/alert/styles.scoped.css +50 -50
- package/lib/internal/template/alert/styles.selectors.js +27 -27
- package/lib/internal/template/annotation-context/annotation/styles.css.js +13 -13
- package/lib/internal/template/annotation-context/annotation/styles.scoped.css +21 -21
- package/lib/internal/template/annotation-context/annotation/styles.selectors.js +13 -13
- package/lib/internal/template/app-layout/classic.d.ts +1 -0
- package/lib/internal/template/app-layout/classic.d.ts.map +1 -1
- package/lib/internal/template/app-layout/index.d.ts.map +1 -1
- package/lib/internal/template/app-layout/index.js +2 -1
- package/lib/internal/template/app-layout/index.js.map +1 -1
- package/lib/internal/template/app-layout/interfaces.d.ts +16 -1
- package/lib/internal/template/app-layout/interfaces.d.ts.map +1 -1
- package/lib/internal/template/app-layout/interfaces.js.map +1 -1
- package/lib/internal/template/app-layout/internal.d.ts +1 -0
- package/lib/internal/template/app-layout/internal.d.ts.map +1 -1
- package/lib/internal/template/app-layout/notifications/styles.css.js +3 -3
- package/lib/internal/template/app-layout/notifications/styles.scoped.css +7 -7
- package/lib/internal/template/app-layout/notifications/styles.selectors.js +3 -3
- package/lib/internal/template/app-layout/visual-refresh/index.d.ts +1 -0
- package/lib/internal/template/app-layout/visual-refresh/index.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh/styles.css.js +86 -86
- package/lib/internal/template/app-layout/visual-refresh/styles.scoped.css +262 -262
- package/lib/internal/template/app-layout/visual-refresh/styles.selectors.js +86 -86
- package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.d.ts +3 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.js +2 -2
- package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.css.js +32 -32
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +93 -93
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +32 -32
- package/lib/internal/template/app-layout/visual-refresh-toolbar/interfaces.d.ts +2 -0
- package/lib/internal/template/app-layout/visual-refresh-toolbar/interfaces.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/interfaces.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/index.d.ts +2 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/index.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/index.js +11 -5
- package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/index.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.css.js +6 -4
- package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +34 -15
- package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +6 -4
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/skeleton-parts.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/skeleton-parts.js +4 -2
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/skeleton-parts.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +30 -29
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +72 -67
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +30 -29
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/interfaces.d.ts +1 -0
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/interfaces.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/interfaces.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/props-merger.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/props-merger.js +2 -0
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/props-merger.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-app-layout.d.ts +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-app-layout.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-app-layout.js +26 -3
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-app-layout.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-skeleton-slots-attributes.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-skeleton-slots-attributes.js +2 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-skeleton-slots-attributes.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.d.ts +1 -0
- package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/styles.css.js +14 -14
- package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/styles.scoped.css +36 -36
- package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/styles.selectors.js +14 -14
- package/lib/internal/template/app-layout/visual-refresh-toolbar/widget-areas/before-main-slot.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/widget-areas/before-main-slot.js +3 -3
- package/lib/internal/template/app-layout/visual-refresh-toolbar/widget-areas/before-main-slot.js.map +1 -1
- package/lib/internal/template/app-layout-toolbar/index.d.ts.map +1 -1
- package/lib/internal/template/app-layout-toolbar/index.js +2 -1
- package/lib/internal/template/app-layout-toolbar/index.js.map +1 -1
- package/lib/internal/template/attribute-editor/styles.css.js +15 -15
- package/lib/internal/template/attribute-editor/styles.scoped.css +29 -29
- package/lib/internal/template/attribute-editor/styles.selectors.js +15 -15
- package/lib/internal/template/box/interfaces.d.ts +1 -1
- package/lib/internal/template/box/interfaces.d.ts.map +1 -1
- package/lib/internal/template/box/interfaces.js.map +1 -1
- package/lib/internal/template/box/styles.css.js +220 -224
- package/lib/internal/template/box/styles.scoped.css +293 -313
- package/lib/internal/template/box/styles.selectors.js +220 -224
- package/lib/internal/template/breadcrumb-group/item/styles.css.js +7 -7
- package/lib/internal/template/breadcrumb-group/item/styles.scoped.css +30 -30
- package/lib/internal/template/breadcrumb-group/item/styles.selectors.js +7 -7
- package/lib/internal/template/button/internal.d.ts +2 -0
- package/lib/internal/template/button/internal.d.ts.map +1 -1
- package/lib/internal/template/button/internal.js +2 -1
- package/lib/internal/template/button/internal.js.map +1 -1
- package/lib/internal/template/button/styles.css.js +23 -22
- package/lib/internal/template/button/styles.scoped.css +261 -256
- package/lib/internal/template/button/styles.selectors.js +23 -22
- package/lib/internal/template/button-dropdown/internal-interfaces.d.ts +11 -0
- package/lib/internal/template/button-dropdown/internal-interfaces.d.ts.map +1 -1
- package/lib/internal/template/button-dropdown/internal-interfaces.js.map +1 -1
- package/lib/internal/template/button-dropdown/internal.d.ts.map +1 -1
- package/lib/internal/template/button-dropdown/internal.js +3 -2
- package/lib/internal/template/button-dropdown/internal.js.map +1 -1
- package/lib/internal/template/button-dropdown/item-element/styles.css.js +21 -21
- package/lib/internal/template/button-dropdown/item-element/styles.scoped.css +37 -37
- package/lib/internal/template/button-dropdown/item-element/styles.selectors.js +21 -21
- package/lib/internal/template/button-group/copy-to-clipboard-item.d.ts +16 -0
- package/lib/internal/template/button-group/copy-to-clipboard-item.d.ts.map +1 -0
- package/lib/internal/template/button-group/copy-to-clipboard-item.js +38 -0
- package/lib/internal/template/button-group/copy-to-clipboard-item.js.map +1 -0
- package/lib/internal/template/button-group/index.d.ts.map +1 -1
- package/lib/internal/template/button-group/index.js +9 -1
- package/lib/internal/template/button-group/index.js.map +1 -1
- package/lib/internal/template/button-group/interfaces.d.ts +38 -2
- package/lib/internal/template/button-group/interfaces.d.ts.map +1 -1
- package/lib/internal/template/button-group/interfaces.js.map +1 -1
- package/lib/internal/template/button-group/internal-interfaces.d.ts +1 -1
- package/lib/internal/template/button-group/internal-interfaces.d.ts.map +1 -1
- package/lib/internal/template/button-group/internal-interfaces.js.map +1 -1
- package/lib/internal/template/button-group/internal.d.ts.map +1 -1
- package/lib/internal/template/button-group/internal.js +2 -2
- package/lib/internal/template/button-group/internal.js.map +1 -1
- package/lib/internal/template/button-group/item-element.d.ts +2 -0
- package/lib/internal/template/button-group/item-element.d.ts.map +1 -1
- package/lib/internal/template/button-group/item-element.js +13 -3
- package/lib/internal/template/button-group/item-element.js.map +1 -1
- package/lib/internal/template/checkbox/styles.css.js +3 -3
- package/lib/internal/template/checkbox/styles.scoped.css +11 -11
- package/lib/internal/template/checkbox/styles.selectors.js +3 -3
- package/lib/internal/template/code-editor/styles.css.js +33 -33
- package/lib/internal/template/code-editor/styles.scoped.css +187 -187
- package/lib/internal/template/code-editor/styles.selectors.js +33 -33
- package/lib/internal/template/content-layout/styles.css.js +14 -14
- package/lib/internal/template/content-layout/styles.scoped.css +27 -27
- package/lib/internal/template/content-layout/styles.selectors.js +14 -14
- package/lib/internal/template/dropdown/styles.css.js +20 -20
- package/lib/internal/template/dropdown/styles.scoped.css +49 -49
- package/lib/internal/template/dropdown/styles.selectors.js +20 -20
- package/lib/internal/template/file-token-group/styles.css.js +23 -23
- package/lib/internal/template/file-token-group/styles.scoped.css +36 -36
- package/lib/internal/template/file-token-group/styles.selectors.js +23 -23
- package/lib/internal/template/flashbar/styles.css.js +50 -50
- package/lib/internal/template/flashbar/styles.scoped.css +192 -192
- package/lib/internal/template/flashbar/styles.selectors.js +50 -50
- package/lib/internal/template/help-panel/styles.css.js +6 -6
- package/lib/internal/template/help-panel/styles.scoped.css +72 -72
- package/lib/internal/template/help-panel/styles.selectors.js +6 -6
- package/lib/internal/template/i18n/messages/all.all.js +1 -1
- package/lib/internal/template/i18n/messages/all.all.json +1 -1
- package/lib/internal/template/i18n/messages/all.ar.js +1 -1
- package/lib/internal/template/i18n/messages/all.ar.json +1 -1
- package/lib/internal/template/i18n/messages/all.de.js +1 -1
- package/lib/internal/template/i18n/messages/all.de.json +1 -1
- package/lib/internal/template/i18n/messages/all.en-GB.js +1 -1
- package/lib/internal/template/i18n/messages/all.en-GB.json +1 -1
- package/lib/internal/template/i18n/messages/all.en.js +1 -1
- package/lib/internal/template/i18n/messages/all.en.json +1 -1
- package/lib/internal/template/i18n/messages/all.es.js +1 -1
- package/lib/internal/template/i18n/messages/all.es.json +1 -1
- package/lib/internal/template/i18n/messages/all.fr.js +1 -1
- package/lib/internal/template/i18n/messages/all.fr.json +1 -1
- package/lib/internal/template/i18n/messages/all.id.js +1 -1
- package/lib/internal/template/i18n/messages/all.id.json +1 -1
- package/lib/internal/template/i18n/messages/all.it.js +1 -1
- package/lib/internal/template/i18n/messages/all.it.json +1 -1
- package/lib/internal/template/i18n/messages/all.ja.js +1 -1
- package/lib/internal/template/i18n/messages/all.ja.json +1 -1
- package/lib/internal/template/i18n/messages/all.ko.js +1 -1
- package/lib/internal/template/i18n/messages/all.ko.json +1 -1
- package/lib/internal/template/i18n/messages/all.pt-BR.js +1 -1
- package/lib/internal/template/i18n/messages/all.pt-BR.json +1 -1
- package/lib/internal/template/i18n/messages/all.tr.js +1 -1
- package/lib/internal/template/i18n/messages/all.tr.json +1 -1
- package/lib/internal/template/i18n/messages/all.zh-CN.js +1 -1
- package/lib/internal/template/i18n/messages/all.zh-CN.json +1 -1
- package/lib/internal/template/i18n/messages/all.zh-TW.js +1 -1
- package/lib/internal/template/i18n/messages/all.zh-TW.json +1 -1
- package/lib/internal/template/i18n/messages-types.d.ts +19 -0
- package/lib/internal/template/i18n/messages-types.d.ts.map +1 -1
- package/lib/internal/template/i18n/messages-types.js.map +1 -1
- package/lib/internal/template/input/styles.css.js +18 -18
- package/lib/internal/template/input/styles.scoped.css +82 -82
- package/lib/internal/template/input/styles.selectors.js +18 -18
- package/lib/internal/template/internal/base-component/styles.scoped.css +171 -3
- package/lib/internal/template/internal/components/abstract-switch/index.d.ts.map +1 -1
- package/lib/internal/template/internal/components/abstract-switch/index.js +7 -1
- package/lib/internal/template/internal/components/abstract-switch/index.js.map +1 -1
- package/lib/internal/template/internal/components/drag-handle-wrapper/styles.css.js +30 -30
- package/lib/internal/template/internal/components/drag-handle-wrapper/styles.scoped.css +58 -58
- package/lib/internal/template/internal/components/drag-handle-wrapper/styles.selectors.js +30 -30
- package/lib/internal/template/internal/components/option/styles.css.js +17 -17
- package/lib/internal/template/internal/components/option/styles.scoped.css +31 -31
- package/lib/internal/template/internal/components/option/styles.selectors.js +17 -17
- package/lib/internal/template/internal/components/radio-button/styles.css.js +7 -7
- package/lib/internal/template/internal/components/radio-button/styles.scoped.css +18 -18
- package/lib/internal/template/internal/components/radio-button/styles.selectors.js +7 -7
- package/lib/internal/template/internal/components/selectable-item/styles.css.js +22 -22
- package/lib/internal/template/internal/components/selectable-item/styles.scoped.css +57 -57
- package/lib/internal/template/internal/components/selectable-item/styles.selectors.js +22 -22
- package/lib/internal/template/internal/components/token-list/styles.css.js +10 -10
- package/lib/internal/template/internal/components/token-list/styles.scoped.css +25 -25
- package/lib/internal/template/internal/components/token-list/styles.selectors.js +10 -10
- package/lib/internal/template/internal/environment.js +2 -2
- package/lib/internal/template/internal/environment.json +2 -2
- package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts +1 -0
- package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts.map +1 -1
- package/lib/internal/template/internal/generated/custom-css-properties/index.js +173 -172
- package/lib/internal/template/internal/generated/custom-css-properties/index.js.map +1 -1
- package/lib/internal/template/internal/generated/styles/tokens.d.ts +37 -38
- package/lib/internal/template/internal/generated/styles/tokens.js +37 -38
- package/lib/internal/template/internal/generated/theming/index.cjs +625 -774
- package/lib/internal/template/internal/generated/theming/index.cjs.d.ts +63 -9
- package/lib/internal/template/internal/generated/theming/index.d.ts +63 -9
- package/lib/internal/template/internal/generated/theming/index.js +625 -774
- package/lib/internal/template/item-card/styles.css.js +14 -14
- package/lib/internal/template/item-card/styles.scoped.css +63 -63
- package/lib/internal/template/item-card/styles.selectors.js +14 -14
- package/lib/internal/template/link/styles.css.js +21 -21
- package/lib/internal/template/link/styles.scoped.css +117 -117
- package/lib/internal/template/link/styles.selectors.js +21 -21
- package/lib/internal/template/modal/styles.css.js +31 -31
- package/lib/internal/template/modal/styles.scoped.css +48 -48
- package/lib/internal/template/modal/styles.selectors.js +31 -31
- package/lib/internal/template/package.json +94 -0
- package/lib/internal/template/progress-bar/styles.css.js +18 -18
- package/lib/internal/template/progress-bar/styles.scoped.css +48 -48
- package/lib/internal/template/progress-bar/styles.selectors.js +18 -18
- package/lib/internal/template/prompt-input/styles.css.js +26 -26
- package/lib/internal/template/prompt-input/styles.scoped.css +105 -105
- package/lib/internal/template/prompt-input/styles.selectors.js +26 -26
- package/lib/internal/template/segmented-control/styles.css.js +16 -16
- package/lib/internal/template/segmented-control/styles.scoped.css +46 -46
- package/lib/internal/template/segmented-control/styles.selectors.js +16 -16
- package/lib/internal/template/side-navigation/implementation.d.ts.map +1 -1
- package/lib/internal/template/side-navigation/implementation.js +6 -4
- package/lib/internal/template/side-navigation/implementation.js.map +1 -1
- package/lib/internal/template/side-navigation/parts.d.ts +4 -1
- package/lib/internal/template/side-navigation/parts.d.ts.map +1 -1
- package/lib/internal/template/side-navigation/parts.js +45 -32
- package/lib/internal/template/side-navigation/parts.js.map +1 -1
- package/lib/internal/template/side-navigation/styles.css.js +48 -47
- package/lib/internal/template/side-navigation/styles.scoped.css +79 -78
- package/lib/internal/template/side-navigation/styles.selectors.js +48 -47
- package/lib/internal/template/side-navigation/util.d.ts +1 -0
- package/lib/internal/template/side-navigation/util.d.ts.map +1 -1
- package/lib/internal/template/side-navigation/util.js +5 -0
- package/lib/internal/template/side-navigation/util.js.map +1 -1
- package/lib/internal/template/slider/styles.css.js +26 -26
- package/lib/internal/template/slider/styles.scoped.css +165 -165
- package/lib/internal/template/slider/styles.selectors.js +26 -26
- package/lib/internal/template/spinner/styles.css.js +13 -13
- package/lib/internal/template/spinner/styles.scoped.css +39 -39
- package/lib/internal/template/spinner/styles.selectors.js +13 -13
- package/lib/internal/template/status-indicator/internal-interfaces.d.ts +3 -0
- package/lib/internal/template/status-indicator/internal-interfaces.d.ts.map +1 -0
- package/lib/internal/template/status-indicator/internal-interfaces.js +2 -0
- package/lib/internal/template/status-indicator/internal-interfaces.js.map +1 -0
- package/lib/internal/template/status-indicator/internal.d.ts +6 -2
- package/lib/internal/template/status-indicator/internal.d.ts.map +1 -1
- package/lib/internal/template/status-indicator/internal.js +1 -0
- package/lib/internal/template/status-indicator/internal.js.map +1 -1
- package/lib/internal/template/status-indicator/styles.css.js +25 -24
- package/lib/internal/template/status-indicator/styles.scoped.css +59 -53
- package/lib/internal/template/status-indicator/styles.selectors.js +25 -24
- package/lib/internal/template/steps/interfaces.d.ts +4 -2
- package/lib/internal/template/steps/interfaces.d.ts.map +1 -1
- package/lib/internal/template/steps/interfaces.js.map +1 -1
- package/lib/internal/template/steps/internal.d.ts.map +1 -1
- package/lib/internal/template/steps/internal.js +36 -12
- package/lib/internal/template/steps/internal.js.map +1 -1
- package/lib/internal/template/steps/styles.css.js +17 -13
- package/lib/internal/template/steps/styles.scoped.css +99 -42
- package/lib/internal/template/steps/styles.selectors.js +17 -13
- package/lib/internal/template/table/clear-sort.d.ts +9 -0
- package/lib/internal/template/table/clear-sort.d.ts.map +1 -0
- package/lib/internal/template/table/clear-sort.js +15 -0
- package/lib/internal/template/table/clear-sort.js.map +1 -0
- package/lib/internal/template/table/header-cell/index.d.ts +4 -1
- package/lib/internal/template/table/header-cell/index.d.ts.map +1 -1
- package/lib/internal/template/table/header-cell/index.js +122 -33
- package/lib/internal/template/table/header-cell/index.js.map +1 -1
- package/lib/internal/template/table/header-cell/sort-menu.d.ts +14 -0
- package/lib/internal/template/table/header-cell/sort-menu.d.ts.map +1 -0
- package/lib/internal/template/table/header-cell/sort-menu.js +50 -0
- package/lib/internal/template/table/header-cell/sort-menu.js.map +1 -0
- package/lib/internal/template/table/header-cell/styles.css.js +38 -33
- package/lib/internal/template/table/header-cell/styles.scoped.css +101 -76
- package/lib/internal/template/table/header-cell/styles.selectors.js +38 -33
- package/lib/internal/template/table/header-cell/th-element.d.ts +8 -1
- package/lib/internal/template/table/header-cell/th-element.d.ts.map +1 -1
- package/lib/internal/template/table/header-cell/th-element.js +6 -2
- package/lib/internal/template/table/header-cell/th-element.js.map +1 -1
- package/lib/internal/template/table/index.d.ts.map +1 -1
- package/lib/internal/template/table/index.js +1 -0
- package/lib/internal/template/table/index.js.map +1 -1
- package/lib/internal/template/table/interfaces.d.ts +67 -1
- package/lib/internal/template/table/interfaces.d.ts.map +1 -1
- package/lib/internal/template/table/interfaces.js.map +1 -1
- package/lib/internal/template/table/internal.d.ts.map +1 -1
- package/lib/internal/template/table/internal.js +21 -3
- package/lib/internal/template/table/internal.js.map +1 -1
- package/lib/internal/template/table/multi-column-sort/live-announcement.d.ts +16 -0
- package/lib/internal/template/table/multi-column-sort/live-announcement.d.ts.map +1 -0
- package/lib/internal/template/table/multi-column-sort/live-announcement.js +68 -0
- package/lib/internal/template/table/multi-column-sort/live-announcement.js.map +1 -0
- package/lib/internal/template/table/multi-column-sort/utils.d.ts +45 -0
- package/lib/internal/template/table/multi-column-sort/utils.d.ts.map +1 -0
- package/lib/internal/template/table/multi-column-sort/utils.js +76 -0
- package/lib/internal/template/table/multi-column-sort/utils.js.map +1 -0
- package/lib/internal/template/table/styles.css.js +37 -36
- package/lib/internal/template/table/styles.scoped.css +46 -43
- package/lib/internal/template/table/styles.selectors.js +37 -36
- package/lib/internal/template/table/thead.d.ts +3 -0
- package/lib/internal/template/table/thead.d.ts.map +1 -1
- package/lib/internal/template/table/thead.js +3 -3
- package/lib/internal/template/table/thead.js.map +1 -1
- package/lib/internal/template/table/tools-header.d.ts +2 -1
- package/lib/internal/template/table/tools-header.d.ts.map +1 -1
- package/lib/internal/template/table/tools-header.js +4 -3
- package/lib/internal/template/table/tools-header.js.map +1 -1
- package/lib/internal/template/tabs/styles.css.js +30 -30
- package/lib/internal/template/tabs/styles.scoped.css +76 -76
- package/lib/internal/template/tabs/styles.selectors.js +30 -30
- package/lib/internal/template/tag-editor/styles.css.js +3 -3
- package/lib/internal/template/tag-editor/styles.scoped.css +13 -13
- package/lib/internal/template/tag-editor/styles.selectors.js +3 -3
- package/lib/internal/template/test-utils/dom/button-group/index.d.ts +4 -0
- package/lib/internal/template/test-utils/dom/button-group/index.js +8 -0
- package/lib/internal/template/test-utils/dom/button-group/index.js.map +1 -1
- package/lib/internal/template/test-utils/dom/steps/index.d.ts +4 -0
- package/lib/internal/template/test-utils/dom/steps/index.js +6 -0
- package/lib/internal/template/test-utils/dom/steps/index.js.map +1 -1
- package/lib/internal/template/test-utils/dom/table/index.d.ts +77 -0
- package/lib/internal/template/test-utils/dom/table/index.js +87 -2
- package/lib/internal/template/test-utils/dom/table/index.js.map +1 -1
- package/lib/internal/template/test-utils/selectors/button-group/index.d.ts +4 -0
- package/lib/internal/template/test-utils/selectors/button-group/index.js +8 -0
- package/lib/internal/template/test-utils/selectors/button-group/index.js.map +1 -1
- package/lib/internal/template/test-utils/selectors/steps/index.d.ts +4 -0
- package/lib/internal/template/test-utils/selectors/steps/index.js +6 -0
- package/lib/internal/template/test-utils/selectors/steps/index.js.map +1 -1
- package/lib/internal/template/test-utils/selectors/table/index.d.ts +77 -0
- package/lib/internal/template/test-utils/selectors/table/index.js +87 -2
- package/lib/internal/template/test-utils/selectors/table/index.js.map +1 -1
- package/lib/internal/template/text-content/styles.css.js +1 -1
- package/lib/internal/template/text-content/styles.scoped.css +66 -66
- package/lib/internal/template/text-content/styles.selectors.js +1 -1
- package/lib/internal/template/textarea/styles.css.js +5 -5
- package/lib/internal/template/textarea/styles.scoped.css +45 -45
- package/lib/internal/template/textarea/styles.selectors.js +5 -5
- package/lib/internal/template/toggle/styles.css.js +10 -10
- package/lib/internal/template/toggle/styles.scoped.css +23 -23
- package/lib/internal/template/toggle/styles.selectors.js +10 -10
- package/lib/internal/template/token/styles.css.js +14 -14
- package/lib/internal/template/token/styles.scoped.css +47 -47
- package/lib/internal/template/token/styles.selectors.js +14 -14
- package/lib/internal/template/tooltip/internal.d.ts.map +1 -1
- package/lib/internal/template/tooltip/internal.js +2 -1
- package/lib/internal/template/tooltip/internal.js.map +1 -1
- package/lib/internal/template/tooltip/styles.css.js +7 -0
- package/lib/internal/template/tooltip/styles.scoped.css +165 -0
- package/lib/internal/template/tooltip/styles.selectors.js +8 -0
- package/lib/internal/template/top-navigation/use-top-navigation.d.ts.map +1 -1
- package/lib/internal/template/top-navigation/use-top-navigation.js +2 -5
- package/lib/internal/template/top-navigation/use-top-navigation.js.map +1 -1
- package/package.json +1 -1
|
@@ -178,15 +178,19 @@
|
|
|
178
178
|
*/
|
|
179
179
|
/* Style used for links in slots/components that are text heavy, to help links stand out among
|
|
180
180
|
surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F73#description */
|
|
181
|
-
.
|
|
181
|
+
.awsui_connector_gxp9y_166tz_181:not(#\9) {
|
|
182
182
|
background-color: var(--color-border-divider-default-ipvpev, #eaeded);
|
|
183
183
|
}
|
|
184
184
|
|
|
185
|
-
.
|
|
185
|
+
.awsui_connector_gxp9y_166tz_181.awsui_connector-hidden_gxp9y_166tz_185:not(#\9) {
|
|
186
186
|
background-color: transparent;
|
|
187
187
|
}
|
|
188
188
|
|
|
189
|
-
.
|
|
189
|
+
.awsui_header_gxp9y_166tz_189:not(#\9) {
|
|
190
|
+
/* used in test-utils */
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.awsui_root_gxp9y_166tz_193:not(#\9) {
|
|
190
194
|
border-collapse: separate;
|
|
191
195
|
border-spacing: 0;
|
|
192
196
|
box-sizing: border-box;
|
|
@@ -219,66 +223,61 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
219
223
|
min-inline-size: 0;
|
|
220
224
|
word-break: break-word;
|
|
221
225
|
}
|
|
222
|
-
.
|
|
226
|
+
.awsui_root_gxp9y_166tz_193 > .awsui_list_gxp9y_166tz_226:not(#\9) {
|
|
223
227
|
list-style: none;
|
|
224
228
|
padding-inline-start: 0;
|
|
225
229
|
margin-block: 0;
|
|
226
230
|
}
|
|
227
|
-
.
|
|
231
|
+
.awsui_root_gxp9y_166tz_193 > .awsui_list_gxp9y_166tz_226 > .awsui_container_gxp9y_166tz_231:not(#\9) {
|
|
228
232
|
display: grid;
|
|
229
233
|
grid-template-columns: var(--space-static-l-ig026c, 20px) 1fr;
|
|
230
234
|
grid-template-rows: minmax(var(--space-static-l-ig026c, 20px), auto);
|
|
231
235
|
}
|
|
232
|
-
.
|
|
236
|
+
.awsui_root_gxp9y_166tz_193 > .awsui_list_gxp9y_166tz_226 > .awsui_container_gxp9y_166tz_231 > .awsui_annotation_gxp9y_166tz_236:not(#\9) {
|
|
237
|
+
justify-self: flex-end;
|
|
238
|
+
min-inline-size: 0;
|
|
239
|
+
color: var(--color-text-status-inactive-n7p1uq, #687078);
|
|
240
|
+
}
|
|
241
|
+
.awsui_root_gxp9y_166tz_193 > .awsui_list_gxp9y_166tz_226 > .awsui_container_gxp9y_166tz_231 > .awsui_step-layout_gxp9y_166tz_241:not(#\9) {
|
|
233
242
|
display: flex;
|
|
234
243
|
gap: var(--space-xxs-jnczic, 4px);
|
|
235
244
|
grid-row: 1;
|
|
236
245
|
grid-column: 1/span 2;
|
|
237
246
|
}
|
|
238
|
-
.
|
|
247
|
+
.awsui_root_gxp9y_166tz_193 > .awsui_list_gxp9y_166tz_226 > .awsui_container_gxp9y_166tz_231 > .awsui_details_gxp9y_166tz_247:not(#\9) {
|
|
239
248
|
align-items: center;
|
|
240
249
|
grid-row: 2;
|
|
241
250
|
grid-column: 2;
|
|
242
251
|
margin-block-end: var(--space-static-xs-4gq40t, 8px);
|
|
243
252
|
}
|
|
244
|
-
.
|
|
245
|
-
grid-row: 2;
|
|
246
|
-
grid-column: 1;
|
|
247
|
-
margin-block: 0;
|
|
248
|
-
border-block: 0;
|
|
249
|
-
border-inline: 0;
|
|
250
|
-
inline-size: var(--border-divider-list-width-2qbfmz, 1px);
|
|
251
|
-
block-size: auto;
|
|
252
|
-
min-block-size: var(--space-static-xs-4gq40t, 8px);
|
|
253
|
-
position: relative;
|
|
254
|
-
inset-inline-end: var(--space-static-xxxs-zckw10, 2px);
|
|
255
|
-
}
|
|
256
|
-
.awsui_root_gxp9y_m67w6_189 > .awsui_list_gxp9y_m67w6_222 > :not(#\9):last-of-type > .awsui_connector_gxp9y_m67w6_181 {
|
|
257
|
-
display: none;
|
|
258
|
-
}
|
|
259
|
-
.awsui_root_gxp9y_m67w6_189 > .awsui_list_gxp9y_m67w6_222.awsui_custom_gxp9y_m67w6_259 > .awsui_details_gxp9y_m67w6_238:not(#\9) {
|
|
253
|
+
.awsui_root_gxp9y_166tz_193 > .awsui_list_gxp9y_166tz_226.awsui_custom_gxp9y_166tz_253 > .awsui_details_gxp9y_166tz_247:not(#\9) {
|
|
260
254
|
margin-block-end: 0;
|
|
261
255
|
}
|
|
262
256
|
|
|
263
|
-
.
|
|
257
|
+
.awsui_horizontal_gxp9y_166tz_257 > .awsui_list_gxp9y_166tz_226:not(#\9) {
|
|
264
258
|
display: grid;
|
|
265
259
|
align-items: flex-start;
|
|
266
260
|
grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
|
|
261
|
+
grid-template-rows: auto minmax(var(--space-static-l-ig026c, 20px), auto) auto;
|
|
267
262
|
grid-auto-flow: column;
|
|
268
263
|
}
|
|
269
|
-
.
|
|
270
|
-
|
|
271
|
-
grid-template-
|
|
272
|
-
grid-template-rows: minmax(var(--space-static-l-ig026c, 20px), auto);
|
|
264
|
+
.awsui_horizontal_gxp9y_166tz_257 > .awsui_list_gxp9y_166tz_226 > .awsui_container_gxp9y_166tz_231:not(#\9) {
|
|
265
|
+
grid-row: 1/-1;
|
|
266
|
+
grid-template-rows: subgrid;
|
|
273
267
|
align-items: center;
|
|
274
268
|
}
|
|
275
|
-
.
|
|
276
|
-
|
|
269
|
+
.awsui_horizontal_gxp9y_166tz_257 > .awsui_list_gxp9y_166tz_226 > .awsui_container_gxp9y_166tz_231 > .awsui_annotation_gxp9y_166tz_236:not(#\9) {
|
|
270
|
+
justify-self: flex-start;
|
|
271
|
+
align-self: flex-end;
|
|
277
272
|
grid-row: 1;
|
|
278
273
|
grid-column: 1/span 2;
|
|
274
|
+
padding-inline-end: var(--space-xs-kw7k3v, 8px);
|
|
275
|
+
}
|
|
276
|
+
.awsui_horizontal_gxp9y_166tz_257 > .awsui_list_gxp9y_166tz_226 > .awsui_container_gxp9y_166tz_231 > .awsui_step-layout_gxp9y_166tz_241:not(#\9) {
|
|
277
|
+
grid-row: 2;
|
|
279
278
|
align-items: center;
|
|
280
279
|
}
|
|
281
|
-
.
|
|
280
|
+
.awsui_horizontal_gxp9y_166tz_257 > .awsui_list_gxp9y_166tz_226 > .awsui_container_gxp9y_166tz_231 > .awsui_step-layout_gxp9y_166tz_241 > .awsui_connector_gxp9y_166tz_181:not(#\9) {
|
|
282
281
|
display: block;
|
|
283
282
|
flex: 1;
|
|
284
283
|
margin-block: 0;
|
|
@@ -291,27 +290,59 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
291
290
|
min-inline-size: var(--space-static-xs-4gq40t, 8px);
|
|
292
291
|
margin-inline-end: var(--space-static-xxs-0cgyf1, 4px);
|
|
293
292
|
}
|
|
294
|
-
.
|
|
295
|
-
|
|
296
|
-
grid-column: 1/span 3;
|
|
297
|
-
padding-inline-end: var(--space-xs-kw7k3v, 8px);
|
|
298
|
-
}
|
|
299
|
-
.awsui_horizontal_gxp9y_m67w6_263 > .awsui_list_gxp9y_m67w6_222 > .awsui_container_gxp9y_m67w6_227 > .awsui_details_gxp9y_m67w6_238:not(#\9) {
|
|
293
|
+
.awsui_horizontal_gxp9y_166tz_257 > .awsui_list_gxp9y_166tz_226 > .awsui_container_gxp9y_166tz_231 > .awsui_content_gxp9y_166tz_293:not(#\9) {
|
|
294
|
+
align-self: flex-start;
|
|
300
295
|
grid-row: 3;
|
|
301
296
|
grid-column: 1/span 3;
|
|
297
|
+
min-inline-size: 0;
|
|
302
298
|
padding-inline-end: var(--space-xs-kw7k3v, 8px);
|
|
303
299
|
}
|
|
304
|
-
.
|
|
300
|
+
.awsui_horizontal_gxp9y_166tz_257 > .awsui_list_gxp9y_166tz_226 > .awsui_container_gxp9y_166tz_231 > .awsui_content_gxp9y_166tz_293 > .awsui_details_gxp9y_166tz_247:not(#\9) {
|
|
301
|
+
margin-block-end: var(--space-static-xs-4gq40t, 8px);
|
|
302
|
+
}
|
|
303
|
+
.awsui_horizontal_gxp9y_166tz_257 > .awsui_list_gxp9y_166tz_226 > .awsui_container_gxp9y_166tz_231:not(#\9):last-child > .awsui_step-layout_gxp9y_166tz_241 > .awsui_connector_gxp9y_166tz_181 {
|
|
304
|
+
display: none;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
.awsui_vertical_gxp9y_166tz_307 > .awsui_list_gxp9y_166tz_226 > .awsui_container_gxp9y_166tz_231 > .awsui_step-layout_gxp9y_166tz_241:not(#\9) {
|
|
308
|
+
display: grid;
|
|
309
|
+
grid-template-columns: subgrid;
|
|
310
|
+
grid-template-rows: auto 1fr;
|
|
311
|
+
gap: 0;
|
|
312
|
+
}
|
|
313
|
+
.awsui_vertical_gxp9y_166tz_307 > .awsui_list_gxp9y_166tz_226 > .awsui_container_gxp9y_166tz_231 > .awsui_step-layout_gxp9y_166tz_241 > :not(#\9):first-child {
|
|
314
|
+
grid-column: 1/-1;
|
|
315
|
+
}
|
|
316
|
+
.awsui_vertical_gxp9y_166tz_307 > .awsui_list_gxp9y_166tz_226 > .awsui_container_gxp9y_166tz_231 > .awsui_step-layout_gxp9y_166tz_241 > .awsui_details_gxp9y_166tz_247:not(#\9) {
|
|
317
|
+
grid-row: 2;
|
|
318
|
+
grid-column: 2;
|
|
319
|
+
margin-block-end: var(--space-static-xs-4gq40t, 8px);
|
|
320
|
+
}
|
|
321
|
+
.awsui_vertical_gxp9y_166tz_307 > .awsui_list_gxp9y_166tz_226 > .awsui_container_gxp9y_166tz_231 > .awsui_step-layout_gxp9y_166tz_241 > .awsui_connector-continuation_gxp9y_166tz_321:not(#\9) {
|
|
322
|
+
grid-row: 2;
|
|
323
|
+
grid-column: 1;
|
|
324
|
+
justify-self: center;
|
|
325
|
+
margin-block: 0;
|
|
326
|
+
margin-inline: 0;
|
|
327
|
+
border-block: 0;
|
|
328
|
+
border-inline: 0;
|
|
329
|
+
inline-size: var(--border-divider-list-width-2qbfmz, 1px);
|
|
330
|
+
block-size: auto;
|
|
331
|
+
min-block-size: var(--space-static-xs-4gq40t, 8px);
|
|
332
|
+
position: relative;
|
|
333
|
+
inset-inline-end: var(--space-static-xxxs-zckw10, 2px);
|
|
334
|
+
}
|
|
335
|
+
.awsui_vertical_gxp9y_166tz_307 > .awsui_list_gxp9y_166tz_226 > :not(#\9):last-of-type > .awsui_step-layout_gxp9y_166tz_241 > .awsui_connector-continuation_gxp9y_166tz_321 {
|
|
305
336
|
display: none;
|
|
306
337
|
}
|
|
307
338
|
|
|
308
|
-
.
|
|
339
|
+
.awsui_root_gxp9y_166tz_193 > .awsui_list_gxp9y_166tz_226 > .awsui_container_gxp9y_166tz_231.awsui_custom-vertical_gxp9y_166tz_339 > .awsui_rail_gxp9y_166tz_339:not(#\9) {
|
|
309
340
|
grid-column: 1;
|
|
310
341
|
display: flex;
|
|
311
342
|
flex-direction: column;
|
|
312
343
|
align-items: center;
|
|
313
344
|
}
|
|
314
|
-
.
|
|
345
|
+
.awsui_root_gxp9y_166tz_193 > .awsui_list_gxp9y_166tz_226 > .awsui_container_gxp9y_166tz_231.awsui_custom-vertical_gxp9y_166tz_339 > .awsui_rail_gxp9y_166tz_339 > .awsui_connector_gxp9y_166tz_181:not(#\9) {
|
|
315
346
|
grid-row: auto;
|
|
316
347
|
grid-column: auto;
|
|
317
348
|
flex: 1 1 auto;
|
|
@@ -323,11 +354,37 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
323
354
|
inset-inline-end: 0;
|
|
324
355
|
margin-block: var(--space-static-xxs-0cgyf1, 4px) 0;
|
|
325
356
|
}
|
|
326
|
-
.
|
|
357
|
+
.awsui_root_gxp9y_166tz_193 > .awsui_list_gxp9y_166tz_226 > .awsui_container_gxp9y_166tz_231.awsui_custom-vertical_gxp9y_166tz_339 > .awsui_content_gxp9y_166tz_293:not(#\9) {
|
|
327
358
|
grid-column: 2;
|
|
328
359
|
min-inline-size: 0;
|
|
329
360
|
}
|
|
330
361
|
|
|
331
|
-
.
|
|
362
|
+
.awsui_root_gxp9y_166tz_193 > .awsui_list_gxp9y_166tz_226.awsui_with-annotation_gxp9y_166tz_362:not(#\9) {
|
|
363
|
+
display: grid;
|
|
364
|
+
grid-template-columns: fit-content(50%) var(--space-static-l-ig026c, 20px) 1fr;
|
|
365
|
+
}
|
|
366
|
+
.awsui_root_gxp9y_166tz_193 > .awsui_list_gxp9y_166tz_226.awsui_with-annotation_gxp9y_166tz_362 > .awsui_container_gxp9y_166tz_231:not(#\9) {
|
|
367
|
+
grid-column: 1/-1;
|
|
368
|
+
grid-template-columns: subgrid;
|
|
369
|
+
}
|
|
370
|
+
.awsui_root_gxp9y_166tz_193 > .awsui_list_gxp9y_166tz_226.awsui_with-annotation_gxp9y_166tz_362 > .awsui_container_gxp9y_166tz_231 > .awsui_annotation_gxp9y_166tz_236:not(#\9) {
|
|
371
|
+
grid-row: 1;
|
|
372
|
+
grid-column: 1;
|
|
373
|
+
padding-inline-end: var(--space-xxs-jnczic, 4px);
|
|
374
|
+
}
|
|
375
|
+
.awsui_root_gxp9y_166tz_193 > .awsui_list_gxp9y_166tz_226.awsui_with-annotation_gxp9y_166tz_362 > .awsui_container_gxp9y_166tz_231:not(#\9):not(.awsui_custom-vertical_gxp9y_166tz_339) > .awsui_step-layout_gxp9y_166tz_241 {
|
|
376
|
+
grid-column: 2/span 2;
|
|
377
|
+
}
|
|
378
|
+
.awsui_root_gxp9y_166tz_193 > .awsui_list_gxp9y_166tz_226.awsui_with-annotation_gxp9y_166tz_362 > .awsui_container_gxp9y_166tz_231:not(#\9):not(.awsui_custom-vertical_gxp9y_166tz_339) > .awsui_details_gxp9y_166tz_247 {
|
|
379
|
+
grid-column: 3;
|
|
380
|
+
}
|
|
381
|
+
.awsui_root_gxp9y_166tz_193 > .awsui_list_gxp9y_166tz_226.awsui_with-annotation_gxp9y_166tz_362 > .awsui_container_gxp9y_166tz_231.awsui_custom-vertical_gxp9y_166tz_339 > .awsui_rail_gxp9y_166tz_339:not(#\9) {
|
|
382
|
+
grid-column: 2;
|
|
383
|
+
}
|
|
384
|
+
.awsui_root_gxp9y_166tz_193 > .awsui_list_gxp9y_166tz_226.awsui_with-annotation_gxp9y_166tz_362 > .awsui_container_gxp9y_166tz_231.awsui_custom-vertical_gxp9y_166tz_339 > .awsui_content_gxp9y_166tz_293:not(#\9) {
|
|
385
|
+
grid-column: 3;
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
.awsui_root_gxp9y_166tz_193 > .awsui_list_gxp9y_166tz_226 > .awsui_container_gxp9y_166tz_231.awsui_custom-vertical_gxp9y_166tz_339:not(#\9):last-of-type > .awsui_rail_gxp9y_166tz_339 > .awsui_connector_gxp9y_166tz_181 {
|
|
332
389
|
display: none;
|
|
333
390
|
}
|
|
@@ -2,18 +2,22 @@
|
|
|
2
2
|
// es-module interop with Babel and Typescript
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
module.exports.default = {
|
|
5
|
-
"connector": "
|
|
6
|
-
"connector-hidden": "awsui_connector-
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
5
|
+
"connector": "awsui_connector_gxp9y_166tz_181",
|
|
6
|
+
"connector-hidden": "awsui_connector-hidden_gxp9y_166tz_185",
|
|
7
|
+
"header": "awsui_header_gxp9y_166tz_189",
|
|
8
|
+
"root": "awsui_root_gxp9y_166tz_193",
|
|
9
|
+
"list": "awsui_list_gxp9y_166tz_226",
|
|
10
|
+
"container": "awsui_container_gxp9y_166tz_231",
|
|
11
|
+
"annotation": "awsui_annotation_gxp9y_166tz_236",
|
|
12
|
+
"step-layout": "awsui_step-layout_gxp9y_166tz_241",
|
|
13
|
+
"details": "awsui_details_gxp9y_166tz_247",
|
|
14
|
+
"custom": "awsui_custom_gxp9y_166tz_253",
|
|
15
|
+
"horizontal": "awsui_horizontal_gxp9y_166tz_257",
|
|
16
|
+
"content": "awsui_content_gxp9y_166tz_293",
|
|
17
|
+
"vertical": "awsui_vertical_gxp9y_166tz_307",
|
|
18
|
+
"connector-continuation": "awsui_connector-continuation_gxp9y_166tz_321",
|
|
19
|
+
"custom-vertical": "awsui_custom-vertical_gxp9y_166tz_339",
|
|
20
|
+
"rail": "awsui_rail_gxp9y_166tz_339",
|
|
21
|
+
"with-annotation": "awsui_with-annotation_gxp9y_166tz_362"
|
|
18
22
|
};
|
|
19
23
|
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TableProps } from './interfaces';
|
|
2
|
+
interface ClearSortButtonProps<T> {
|
|
3
|
+
multiColumnSort: TableProps.MultiColumnSort<T>;
|
|
4
|
+
i18nStrings?: TableProps.I18nStrings;
|
|
5
|
+
onClearSort?: () => void;
|
|
6
|
+
}
|
|
7
|
+
export declare function ClearSortButton<T>({ multiColumnSort, i18nStrings, onClearSort }: ClearSortButtonProps<T>): JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=clear-sort.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clear-sort.d.ts","sourceRoot":"","sources":["../../../src/table/clear-sort.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,UAAU,oBAAoB,CAAC,CAAC;IAC9B,eAAe,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,oBAAoB,CAAC,CAAC,CAAC,eAcxG"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import InternalButton from '../button/internal';
|
|
5
|
+
import { useInternalI18n } from '../i18n/context';
|
|
6
|
+
import { fireNonCancelableEvent } from '../internal/events';
|
|
7
|
+
export function ClearSortButton({ multiColumnSort, i18nStrings, onClearSort }) {
|
|
8
|
+
var _a;
|
|
9
|
+
const i18n = useInternalI18n('table');
|
|
10
|
+
return (React.createElement(InternalButton, { variant: "inline-link", formAction: "none", onClick: () => {
|
|
11
|
+
fireNonCancelableEvent(multiColumnSort.onChange, { sortingColumns: [] });
|
|
12
|
+
onClearSort === null || onClearSort === void 0 ? void 0 : onClearSort();
|
|
13
|
+
} }, (_a = i18n('i18nStrings.clearSort', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.clearSort)) !== null && _a !== void 0 ? _a : ''));
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=clear-sort.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clear-sort.js","sourceRoot":"","sources":["../../../src/table/clear-sort.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAS5D,MAAM,UAAU,eAAe,CAAI,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAA2B;;IACvG,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO,CACL,oBAAC,cAAc,IACb,OAAO,EAAC,aAAa,EACrB,UAAU,EAAC,MAAM,EACjB,OAAO,EAAE,GAAG,EAAE;YACZ,sBAAsB,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC;YACzE,WAAW,aAAX,WAAW,uBAAX,WAAW,EAAI,CAAC;QAClB,CAAC,IAEA,MAAA,IAAI,CAAC,uBAAuB,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAC,mCAAI,EAAE,CAC7C,CAClB,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport InternalButton from '../button/internal';\nimport { useInternalI18n } from '../i18n/context';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { TableProps } from './interfaces';\n\ninterface ClearSortButtonProps<T> {\n multiColumnSort: TableProps.MultiColumnSort<T>;\n i18nStrings?: TableProps.I18nStrings;\n onClearSort?: () => void;\n}\n\nexport function ClearSortButton<T>({ multiColumnSort, i18nStrings, onClearSort }: ClearSortButtonProps<T>) {\n const i18n = useInternalI18n('table');\n return (\n <InternalButton\n variant=\"inline-link\"\n formAction=\"none\"\n onClick={() => {\n fireNonCancelableEvent(multiColumnSort.onChange, { sortingColumns: [] });\n onClearSort?.();\n }}\n >\n {i18n('i18nStrings.clearSort', i18nStrings?.clearSort) ?? ''}\n </InternalButton>\n );\n}\n"]}
|
|
@@ -7,6 +7,9 @@ export interface TableHeaderCellProps<ItemType> extends BaseHeaderCellProps {
|
|
|
7
7
|
sortingDisabled?: boolean;
|
|
8
8
|
stuck?: boolean;
|
|
9
9
|
onClick(detail: TableProps.SortingState<any>): void;
|
|
10
|
+
multiColumnSort?: TableProps.MultiColumnSort<ItemType>;
|
|
11
|
+
i18nStrings?: TableProps.I18nStrings;
|
|
12
|
+
ariaLabels?: TableProps.AriaLabels<ItemType>;
|
|
10
13
|
updateColumn: (columnId: PropertyKey, newWidth: number) => void;
|
|
11
14
|
isEditable?: boolean;
|
|
12
15
|
columnId: PropertyKey;
|
|
@@ -18,5 +21,5 @@ export interface TableHeaderCellProps<ItemType> extends BaseHeaderCellProps {
|
|
|
18
21
|
isLastChildOfGroup?: boolean;
|
|
19
22
|
isLast?: boolean;
|
|
20
23
|
}
|
|
21
|
-
export declare function TableHeaderCell<ItemType>({ tabIndex, column, activeSortingColumn, sortingDescending, sortingDisabled, wrapLines, focusedComponent, stuck, sticky, hidden, stripedRows, onClick, colIndex, updateColumn, resizableColumns, resizableStyle, onResizeFinish, isEditable, columnId, stickyState, cellRef, tableRole, resizerRoleDescription, resizerTooltipText, isExpandable, hasDynamicContent, variant, colSpan, rowSpan, columnGroupId, isLastChildOfGroup, isLast, tableVariant, }: TableHeaderCellProps<ItemType>): JSX.Element;
|
|
24
|
+
export declare function TableHeaderCell<ItemType>({ tabIndex, column, activeSortingColumn, sortingDescending, sortingDisabled, wrapLines, focusedComponent, stuck, sticky, hidden, stripedRows, onClick, colIndex, updateColumn, resizableColumns, resizableStyle, onResizeFinish, isEditable, columnId, stickyState, cellRef, tableRole, resizerRoleDescription, resizerTooltipText, isExpandable, hasDynamicContent, variant, colSpan, rowSpan, columnGroupId, isLastChildOfGroup, isLast, tableVariant, multiColumnSort, i18nStrings, ariaLabels, }: TableHeaderCellProps<ItemType>): JSX.Element;
|
|
22
25
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/table/header-cell/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/table/header-cell/index.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAU3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAQrD,MAAM,WAAW,oBAAoB,CAAC,QAAQ,CAAE,SAAQ,mBAAmB;IACzE,MAAM,EAAE,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC9C,mBAAmB,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACpD,eAAe,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACvD,WAAW,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC;IACrC,UAAU,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7C,YAAY,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,WAAW,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,EACxC,QAAQ,EACR,MAAM,EACN,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,KAAK,EACL,MAAM,EACN,MAAM,EACN,WAAW,EACX,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,UAAU,EACV,QAAQ,EACR,WAAW,EACX,OAAO,EACP,SAAS,EACT,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,OAAO,EACP,OAAO,EACP,OAAO,EACP,aAAa,EACb,kBAAkB,EAClB,MAAM,EACN,YAAY,EACZ,eAAe,EACf,WAAW,EACX,UAAU,GACX,EAAE,oBAAoB,CAAC,QAAQ,CAAC,eAuQhC"}
|
|
@@ -7,23 +7,99 @@ import { useSingleTabStopNavigation } from '@cloudscape-design/component-toolkit
|
|
|
7
7
|
import { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';
|
|
8
8
|
import { useInternalI18n } from '../../i18n/context';
|
|
9
9
|
import InternalIcon from '../../icon/internal';
|
|
10
|
+
import ScreenreaderOnly from '../../internal/components/screenreader-only';
|
|
11
|
+
import { fireNonCancelableEvent } from '../../internal/events';
|
|
10
12
|
import { KeyCode } from '../../internal/keycode';
|
|
13
|
+
import { appendSort, getSortIndex, removeSort, replaceSort, setDirection, toggleDirection, } from '../multi-column-sort/utils';
|
|
11
14
|
import { Divider, Resizer } from '../resizer';
|
|
15
|
+
import { SortMenu } from './sort-menu';
|
|
12
16
|
import { TableThElement } from './th-element';
|
|
13
17
|
import { getSortingIconName, getSortingStatus, isSorted } from './utils';
|
|
14
18
|
import analyticsSelectors from '../analytics-metadata/styles.css.js';
|
|
15
19
|
import styles from './styles.css.js';
|
|
16
|
-
export function TableHeaderCell({ tabIndex, column, activeSortingColumn, sortingDescending, sortingDisabled, wrapLines, focusedComponent, stuck, sticky, hidden, stripedRows, onClick, colIndex, updateColumn, resizableColumns, resizableStyle, onResizeFinish, isEditable, columnId, stickyState, cellRef, tableRole, resizerRoleDescription, resizerTooltipText, isExpandable, hasDynamicContent, variant, colSpan, rowSpan, columnGroupId, isLastChildOfGroup, isLast, tableVariant, }) {
|
|
20
|
+
export function TableHeaderCell({ tabIndex, column, activeSortingColumn, sortingDescending, sortingDisabled, wrapLines, focusedComponent, stuck, sticky, hidden, stripedRows, onClick, colIndex, updateColumn, resizableColumns, resizableStyle, onResizeFinish, isEditable, columnId, stickyState, cellRef, tableRole, resizerRoleDescription, resizerTooltipText, isExpandable, hasDynamicContent, variant, colSpan, rowSpan, columnGroupId, isLastChildOfGroup, isLast, tableVariant, multiColumnSort, i18nStrings, ariaLabels, }) {
|
|
17
21
|
var _a;
|
|
18
22
|
const i18n = useInternalI18n('table');
|
|
19
23
|
const sortable = !!column.sortingComparator || !!column.sortingField;
|
|
20
|
-
const sorted = !!activeSortingColumn && isSorted(column, activeSortingColumn);
|
|
21
|
-
const sortingStatus = getSortingStatus(sortable, sorted, !!sortingDescending, !!sortingDisabled);
|
|
22
24
|
const isGrouped = !!columnGroupId || (rowSpan !== null && rowSpan !== void 0 ? rowSpan : 1) > 1;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
// The sort menu only renders for a sortable, enabled column under multi-column sort.
|
|
26
|
+
const hasSortMenu = !!multiColumnSort && sortable && !sortingDisabled;
|
|
27
|
+
// Multi-column sort context — derived from `multiColumnSort.sortingColumns` when present.
|
|
28
|
+
const multiSortIndex = multiColumnSort ? getSortIndex(multiColumnSort.sortingColumns, column) : null;
|
|
29
|
+
const multiSortEntry = multiSortIndex !== null && multiColumnSort ? multiColumnSort.sortingColumns[multiSortIndex - 1] : undefined;
|
|
30
|
+
const inMultiSort = multiSortIndex !== null;
|
|
31
|
+
const isPrimaryMultiSort = multiSortIndex === 1;
|
|
32
|
+
// Priority badges are only meaningful when 2+ columns are sorted; with a single column, the position number adds no information.
|
|
33
|
+
const showPriorityBadge = !!multiColumnSort && multiColumnSort.sortingColumns.length >= 2 && multiSortIndex !== null;
|
|
34
|
+
// For multi-sort, derive sorted/descending from the matching entry; otherwise fall back to single-sort props.
|
|
35
|
+
const sorted = multiColumnSort ? inMultiSort : !!activeSortingColumn && isSorted(column, activeSortingColumn);
|
|
36
|
+
const descending = multiColumnSort ? !!(multiSortEntry === null || multiSortEntry === void 0 ? void 0 : multiSortEntry.isDescending) : !!sortingDescending;
|
|
37
|
+
const sortingStatus = getSortingStatus(sortable, sorted, descending, !!sortingDisabled);
|
|
38
|
+
// In multi-sort, only the primary column declares aria-sort (ARIA only allows one column sorted at a time).
|
|
39
|
+
const suppressAriaSort = !!multiColumnSort && inMultiSort && !isPrimaryMultiSort;
|
|
40
|
+
// Screen-reader-only text appended to a sorted column header. The visible header text supplies the column name;
|
|
41
|
+
// this adds the sort direction (only when `aria-sort` is suppressed, i.e. secondary columns) and the sort priority.
|
|
42
|
+
const sortDirectionLabel = descending
|
|
43
|
+
? i18n('ariaLabels.sortDescending', ariaLabels === null || ariaLabels === void 0 ? void 0 : ariaLabels.sortDescending)
|
|
44
|
+
: i18n('ariaLabels.sortAscending', ariaLabels === null || ariaLabels === void 0 ? void 0 : ariaLabels.sortAscending);
|
|
45
|
+
const sortPriorityLabel = i18n('ariaLabels.sortPriority', ariaLabels === null || ariaLabels === void 0 ? void 0 : ariaLabels.sortPriority, format => ({ priority }) => format({ priority }));
|
|
46
|
+
const sortAccessibleText = inMultiSort
|
|
47
|
+
? [
|
|
48
|
+
suppressAriaSort ? sortDirectionLabel : undefined,
|
|
49
|
+
showPriorityBadge ? sortPriorityLabel === null || sortPriorityLabel === void 0 ? void 0 : sortPriorityLabel({ priority: multiSortIndex !== null && multiSortIndex !== void 0 ? multiSortIndex : 0 }) : undefined,
|
|
50
|
+
]
|
|
51
|
+
.filter(Boolean)
|
|
52
|
+
.join(' ')
|
|
53
|
+
: '';
|
|
54
|
+
const handleClick = (shiftKey = false) => {
|
|
55
|
+
if (multiColumnSort) {
|
|
56
|
+
const current = multiColumnSort.sortingColumns;
|
|
57
|
+
let next;
|
|
58
|
+
if (shiftKey && !inMultiSort) {
|
|
59
|
+
next = appendSort(current, column, false);
|
|
60
|
+
}
|
|
61
|
+
else if (inMultiSort) {
|
|
62
|
+
next = toggleDirection(current, column);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
next = replaceSort(column, false);
|
|
66
|
+
}
|
|
67
|
+
fireNonCancelableEvent(multiColumnSort.onChange, { sortingColumns: next });
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
onClick({
|
|
71
|
+
sortingColumn: column,
|
|
72
|
+
isDescending: sorted ? !sortingDescending : false,
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
const handleSortMenuAction = (action) => {
|
|
76
|
+
// The sort menu is only rendered when `multiColumnSort` is set (see render below), so this guard
|
|
77
|
+
// exists purely to narrow the type for the accesses that follow and is unreachable at runtime.
|
|
78
|
+
/* istanbul ignore next */
|
|
79
|
+
if (!multiColumnSort) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
const current = multiColumnSort.sortingColumns;
|
|
83
|
+
let next;
|
|
84
|
+
switch (action) {
|
|
85
|
+
case 'sort-ascending':
|
|
86
|
+
next = inMultiSort ? setDirection(current, column, false) : replaceSort(column, false);
|
|
87
|
+
break;
|
|
88
|
+
case 'sort-descending':
|
|
89
|
+
next = inMultiSort ? setDirection(current, column, true) : replaceSort(column, true);
|
|
90
|
+
break;
|
|
91
|
+
case 'add-to-sort-ascending':
|
|
92
|
+
next = appendSort(current, column, false);
|
|
93
|
+
break;
|
|
94
|
+
case 'add-to-sort-descending':
|
|
95
|
+
next = appendSort(current, column, true);
|
|
96
|
+
break;
|
|
97
|
+
case 'remove-from-sort':
|
|
98
|
+
next = removeSort(current, column);
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
fireNonCancelableEvent(multiColumnSort.onChange, { sortingColumns: next });
|
|
102
|
+
};
|
|
27
103
|
// Elements with role="button" do not have the default behavior of <button>, where pressing
|
|
28
104
|
// Enter or Space will trigger a click event. Therefore we need to add this ourselves.
|
|
29
105
|
// The native <button> element cannot be used due to a misaligned implementation in Firefox:
|
|
@@ -31,7 +107,7 @@ export function TableHeaderCell({ tabIndex, column, activeSortingColumn, sorting
|
|
|
31
107
|
const handleKeyPress = ({ nativeEvent: e }) => {
|
|
32
108
|
if (e.keyCode === KeyCode.enter || e.keyCode === KeyCode.space) {
|
|
33
109
|
e.preventDefault();
|
|
34
|
-
handleClick();
|
|
110
|
+
handleClick(e.shiftKey);
|
|
35
111
|
}
|
|
36
112
|
};
|
|
37
113
|
const headerId = useUniqueId('table-header-');
|
|
@@ -47,7 +123,7 @@ export function TableHeaderCell({ tabIndex, column, activeSortingColumn, sorting
|
|
|
47
123
|
useResizeObserver(hasDynamicContent ? cellRefObject : () => null, entry => {
|
|
48
124
|
updateColumn(columnId, entry.borderBoxWidth);
|
|
49
125
|
});
|
|
50
|
-
return (React.createElement(TableThElement, { resizableStyle: resizableStyle, cellRef: cellRefCombined, sortingStatus: sortingStatus, sortingDisabled: sortingDisabled, focusedComponent: focusedComponent, stuck: stuck, sticky: sticky, resizable: resizableColumns, hidden: hidden, stripedRows: stripedRows, colIndex: colIndex, columnId: columnId, stickyState: stickyState, tableRole: tableRole, variant: variant, tableVariant: tableVariant, colSpan: colSpan, rowSpan: rowSpan, columnGroupId: columnGroupId, isLast: isLast, ...(sortingDisabled
|
|
126
|
+
return (React.createElement(TableThElement, { resizableStyle: resizableStyle, cellRef: cellRefCombined, sortingStatus: sortingStatus, sortingDisabled: sortingDisabled, suppressAriaSort: suppressAriaSort, focusedComponent: focusedComponent, stuck: stuck, sticky: sticky, resizable: resizableColumns, hidden: hidden, stripedRows: stripedRows, colIndex: colIndex, columnId: columnId, stickyState: stickyState, tableRole: tableRole, variant: variant, tableVariant: tableVariant, colSpan: colSpan, rowSpan: rowSpan, columnGroupId: columnGroupId, isLast: isLast, ...(sortingDisabled
|
|
51
127
|
? {}
|
|
52
128
|
: getAnalyticsMetadataAttribute({
|
|
53
129
|
action: 'sort',
|
|
@@ -55,32 +131,45 @@ export function TableHeaderCell({ tabIndex, column, activeSortingColumn, sorting
|
|
|
55
131
|
position: `${colIndex + 1}`,
|
|
56
132
|
columnId: column.id ? `${column.id}` : '',
|
|
57
133
|
label: `.${analyticsSelectors['header-cell-text']}`,
|
|
58
|
-
sortingDescending: `${!
|
|
134
|
+
sortingDescending: `${!descending}`,
|
|
59
135
|
},
|
|
60
136
|
})) },
|
|
61
|
-
React.createElement("div", {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
137
|
+
React.createElement("div", { className: clsx(styles['header-cell-main'], hasSortMenu && styles['header-cell-main-with-menu']) },
|
|
138
|
+
React.createElement("div", { ref: clickableHeaderRef, "data-focus-id": `sorting-control-${String(columnId)}`, className: clsx(styles['header-cell-content'], {
|
|
139
|
+
[styles['header-cell-fake-focus']]: focusedComponent === `sorting-control-${String(columnId)}`,
|
|
140
|
+
[styles['header-cell-content-expandable']]: isExpandable,
|
|
141
|
+
[styles['header-cell-content-multi-sorted']]: showPriorityBadge,
|
|
142
|
+
[styles['header-cell-content-with-menu']]: hasSortMenu,
|
|
143
|
+
}), "aria-label": column.ariaLabel
|
|
144
|
+
? column.ariaLabel({
|
|
145
|
+
sorted: sorted,
|
|
146
|
+
descending: sorted && descending,
|
|
147
|
+
disabled: !!sortingDisabled,
|
|
148
|
+
sortIndex: multiSortIndex !== null && multiSortIndex !== void 0 ? multiSortIndex : undefined,
|
|
149
|
+
})
|
|
150
|
+
: undefined, ...(sortingStatus && !sortingDisabled
|
|
151
|
+
? {
|
|
152
|
+
onKeyPress: handleKeyPress,
|
|
153
|
+
tabIndex: clickableHeaderTabIndex,
|
|
154
|
+
role: 'button',
|
|
155
|
+
onClick: event => handleClick(event.shiftKey),
|
|
156
|
+
// Prevent the browser from extending the text selection on Shift+click.
|
|
157
|
+
onMouseDown: (event) => {
|
|
158
|
+
if (event.shiftKey) {
|
|
159
|
+
event.preventDefault();
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
}
|
|
163
|
+
: {}) },
|
|
164
|
+
React.createElement("div", { className: clsx(styles['header-cell-text'], analyticsSelectors['header-cell-text'], wrapLines && styles['header-cell-text-wrap']), id: headerId },
|
|
165
|
+
column.header,
|
|
166
|
+
isEditable ? (React.createElement("span", { className: styles['edit-icon'] },
|
|
167
|
+
React.createElement(InternalIcon, { name: "edit", ariaLabel: i18n('columnDefinitions.editConfig.editIconAriaLabel', (_a = column.editConfig) === null || _a === void 0 ? void 0 : _a.editIconAriaLabel) }))) : null),
|
|
168
|
+
sortAccessibleText && React.createElement(ScreenreaderOnly, null, sortAccessibleText),
|
|
169
|
+
sortingStatus && (React.createElement("span", { className: styles['sorting-icon'] },
|
|
170
|
+
showPriorityBadge && (React.createElement("span", { className: styles['sort-priority-badge'], "aria-hidden": "true" }, multiSortIndex)),
|
|
171
|
+
React.createElement(InternalIcon, { name: getSortingIconName(sortingStatus) })))),
|
|
172
|
+
hasSortMenu && (React.createElement(SortMenu, { column: column, inSort: inMultiSort, isSortedAscending: inMultiSort && !descending, isSortedDescending: inMultiSort && descending, i18nStrings: i18nStrings, ariaLabel: ariaLabels === null || ariaLabels === void 0 ? void 0 : ariaLabels.sortMenuTriggerLabel, ariaDescribedby: headerId, onAction: handleSortMenuAction }))),
|
|
84
173
|
resizableColumns ? (React.createElement(Resizer, { tabIndex: tabIndex, focusId: `resize-control-${String(columnId)}`, showFocusRing: focusedComponent === `resize-control-${String(columnId)}`, onWidthUpdate: newWidth => updateColumn(columnId, newWidth), onWidthUpdateCommit: onResizeFinish, ariaLabelledby: headerId, minWidth: typeof column.minWidth === 'string' ? parseInt(column.minWidth) : column.minWidth, roleDescription: i18n('ariaLabels.resizerRoleDescription', resizerRoleDescription),
|
|
85
174
|
// TODO: Replace with this when strings are available
|
|
86
175
|
// tooltipText={i18n('ariaLabels.resizerTooltipText', resizerTooltipText)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table/header-cell/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useMergeRefs, useResizeObserver, useUniqueId } from '@cloudscape-design/component-toolkit/internal';\nimport { useSingleTabStopNavigation } from '@cloudscape-design/component-toolkit/internal';\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport { useInternalI18n } from '../../i18n/context';\nimport InternalIcon from '../../icon/internal';\nimport { KeyCode } from '../../internal/keycode';\nimport { GeneratedAnalyticsMetadataTableSort } from '../analytics-metadata/interfaces';\nimport { TableProps } from '../interfaces';\nimport { Divider, Resizer } from '../resizer';\nimport { BaseHeaderCellProps } from './common-props';\nimport { TableThElement } from './th-element';\nimport { getSortingIconName, getSortingStatus, isSorted } from './utils';\n\nimport analyticsSelectors from '../analytics-metadata/styles.css.js';\nimport styles from './styles.css.js';\n\nexport interface TableHeaderCellProps<ItemType> extends BaseHeaderCellProps {\n column: TableProps.ColumnDefinition<ItemType>;\n activeSortingColumn?: TableProps.SortingColumn<ItemType>;\n sortingDescending?: boolean;\n sortingDisabled?: boolean;\n stuck?: boolean;\n onClick(detail: TableProps.SortingState<any>): void;\n updateColumn: (columnId: PropertyKey, newWidth: number) => void;\n isEditable?: boolean;\n columnId: PropertyKey;\n isExpandable?: boolean;\n hasDynamicContent?: boolean;\n colSpan?: number;\n rowSpan?: number;\n columnGroupId?: string;\n isLastChildOfGroup?: boolean;\n isLast?: boolean;\n}\n\nexport function TableHeaderCell<ItemType>({\n tabIndex,\n column,\n activeSortingColumn,\n sortingDescending,\n sortingDisabled,\n wrapLines,\n focusedComponent,\n stuck,\n sticky,\n hidden,\n stripedRows,\n onClick,\n colIndex,\n updateColumn,\n resizableColumns,\n resizableStyle,\n onResizeFinish,\n isEditable,\n columnId,\n stickyState,\n cellRef,\n tableRole,\n resizerRoleDescription,\n resizerTooltipText,\n isExpandable,\n hasDynamicContent,\n variant,\n colSpan,\n rowSpan,\n columnGroupId,\n isLastChildOfGroup,\n isLast,\n tableVariant,\n}: TableHeaderCellProps<ItemType>) {\n const i18n = useInternalI18n('table');\n const sortable = !!column.sortingComparator || !!column.sortingField;\n const sorted = !!activeSortingColumn && isSorted(column, activeSortingColumn);\n const sortingStatus = getSortingStatus(sortable, sorted, !!sortingDescending, !!sortingDisabled);\n const isGrouped = !!columnGroupId || (rowSpan ?? 1) > 1;\n const handleClick = () =>\n onClick({\n sortingColumn: column,\n isDescending: sorted ? !sortingDescending : false,\n });\n\n // Elements with role=\"button\" do not have the default behavior of <button>, where pressing\n // Enter or Space will trigger a click event. Therefore we need to add this ourselves.\n // The native <button> element cannot be used due to a misaligned implementation in Firefox:\n // https://bugzilla.mozilla.org/show_bug.cgi?id=843003\n const handleKeyPress = ({ nativeEvent: e }: React.KeyboardEvent) => {\n if (e.keyCode === KeyCode.enter || e.keyCode === KeyCode.space) {\n e.preventDefault();\n handleClick();\n }\n };\n\n const headerId = useUniqueId('table-header-');\n\n const clickableHeaderRef = useRef<HTMLDivElement>(null);\n const { tabIndex: clickableHeaderTabIndex } = useSingleTabStopNavigation(clickableHeaderRef, { tabIndex });\n\n const cellRefObject = useRef<HTMLElement>(null);\n const cellRefCombined = useMergeRefs(cellRef, cellRefObject);\n\n // Keep sticky and non-sticky headers in sync for dynamic cell\n // content changes. This is only needed when:\n // - Column has dynamic content\n // - This is the non-sticky version of a sticky header (hidden === true)\n // - Columns are not resizable\n useResizeObserver(hasDynamicContent ? cellRefObject : () => null, entry => {\n updateColumn(columnId, entry.borderBoxWidth);\n });\n\n return (\n <TableThElement\n resizableStyle={resizableStyle}\n cellRef={cellRefCombined}\n sortingStatus={sortingStatus}\n sortingDisabled={sortingDisabled}\n focusedComponent={focusedComponent}\n stuck={stuck}\n sticky={sticky}\n resizable={resizableColumns}\n hidden={hidden}\n stripedRows={stripedRows}\n colIndex={colIndex}\n columnId={columnId}\n stickyState={stickyState}\n tableRole={tableRole}\n variant={variant}\n tableVariant={tableVariant}\n colSpan={colSpan}\n rowSpan={rowSpan}\n columnGroupId={columnGroupId}\n isLast={isLast}\n {...(sortingDisabled\n ? {}\n : getAnalyticsMetadataAttribute({\n action: 'sort',\n detail: {\n position: `${colIndex + 1}`,\n columnId: column.id ? `${column.id}` : '',\n label: `.${analyticsSelectors['header-cell-text']}`,\n sortingDescending: `${!sortingDescending}`,\n },\n } as GeneratedAnalyticsMetadataTableSort))}\n >\n <div\n ref={clickableHeaderRef}\n data-focus-id={`sorting-control-${String(columnId)}`}\n className={clsx(styles['header-cell-content'], {\n [styles['header-cell-fake-focus']]: focusedComponent === `sorting-control-${String(columnId)}`,\n [styles['header-cell-content-expandable']]: isExpandable,\n })}\n aria-label={\n column.ariaLabel\n ? column.ariaLabel({\n sorted: sorted,\n descending: sorted && !!sortingDescending,\n disabled: !!sortingDisabled,\n })\n : undefined\n }\n {...(sortingStatus && !sortingDisabled\n ? {\n onKeyPress: handleKeyPress,\n tabIndex: clickableHeaderTabIndex,\n role: 'button',\n onClick: handleClick,\n }\n : {})}\n >\n <div\n className={clsx(\n styles['header-cell-text'],\n analyticsSelectors['header-cell-text'],\n wrapLines && styles['header-cell-text-wrap']\n )}\n id={headerId}\n >\n {column.header}\n {isEditable ? (\n <span className={styles['edit-icon']}>\n <InternalIcon\n name=\"edit\"\n ariaLabel={i18n('columnDefinitions.editConfig.editIconAriaLabel', column.editConfig?.editIconAriaLabel)}\n />\n </span>\n ) : null}\n </div>\n {sortingStatus && (\n <span className={styles['sorting-icon']}>\n <InternalIcon name={getSortingIconName(sortingStatus)} />\n </span>\n )}\n </div>\n {resizableColumns ? (\n <Resizer\n tabIndex={tabIndex}\n focusId={`resize-control-${String(columnId)}`}\n showFocusRing={focusedComponent === `resize-control-${String(columnId)}`}\n onWidthUpdate={newWidth => updateColumn(columnId, newWidth)}\n onWidthUpdateCommit={onResizeFinish}\n ariaLabelledby={headerId}\n minWidth={typeof column.minWidth === 'string' ? parseInt(column.minWidth) : column.minWidth}\n roleDescription={i18n('ariaLabels.resizerRoleDescription', resizerRoleDescription)}\n // TODO: Replace with this when strings are available\n // tooltipText={i18n('ariaLabels.resizerTooltipText', resizerTooltipText)}\n tooltipText={resizerTooltipText}\n isBorderless={variant === 'full-page' || variant === 'embedded' || variant === 'borderless'}\n isLast={isLast}\n isGrouped={isGrouped}\n dividerPosition={isLastChildOfGroup ? 'top' : undefined}\n />\n ) : (\n <Divider\n className={styles['resize-divider']}\n position={isLastChildOfGroup ? 'top' : undefined}\n isGrouped={isGrouped}\n />\n )}\n </TableThElement>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/table/header-cell/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useMergeRefs, useResizeObserver, useUniqueId } from '@cloudscape-design/component-toolkit/internal';\nimport { useSingleTabStopNavigation } from '@cloudscape-design/component-toolkit/internal';\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport { useInternalI18n } from '../../i18n/context';\nimport InternalIcon from '../../icon/internal';\nimport ScreenreaderOnly from '../../internal/components/screenreader-only';\nimport { fireNonCancelableEvent } from '../../internal/events';\nimport { KeyCode } from '../../internal/keycode';\nimport { GeneratedAnalyticsMetadataTableSort } from '../analytics-metadata/interfaces';\nimport { TableProps } from '../interfaces';\nimport {\n appendSort,\n getSortIndex,\n removeSort,\n replaceSort,\n setDirection,\n toggleDirection,\n} from '../multi-column-sort/utils';\nimport { Divider, Resizer } from '../resizer';\nimport { BaseHeaderCellProps } from './common-props';\nimport { SortMenu, SortMenuAction } from './sort-menu';\nimport { TableThElement } from './th-element';\nimport { getSortingIconName, getSortingStatus, isSorted } from './utils';\n\nimport analyticsSelectors from '../analytics-metadata/styles.css.js';\nimport styles from './styles.css.js';\n\nexport interface TableHeaderCellProps<ItemType> extends BaseHeaderCellProps {\n column: TableProps.ColumnDefinition<ItemType>;\n activeSortingColumn?: TableProps.SortingColumn<ItemType>;\n sortingDescending?: boolean;\n sortingDisabled?: boolean;\n stuck?: boolean;\n onClick(detail: TableProps.SortingState<any>): void;\n multiColumnSort?: TableProps.MultiColumnSort<ItemType>;\n i18nStrings?: TableProps.I18nStrings;\n ariaLabels?: TableProps.AriaLabels<ItemType>;\n updateColumn: (columnId: PropertyKey, newWidth: number) => void;\n isEditable?: boolean;\n columnId: PropertyKey;\n isExpandable?: boolean;\n hasDynamicContent?: boolean;\n colSpan?: number;\n rowSpan?: number;\n columnGroupId?: string;\n isLastChildOfGroup?: boolean;\n isLast?: boolean;\n}\n\nexport function TableHeaderCell<ItemType>({\n tabIndex,\n column,\n activeSortingColumn,\n sortingDescending,\n sortingDisabled,\n wrapLines,\n focusedComponent,\n stuck,\n sticky,\n hidden,\n stripedRows,\n onClick,\n colIndex,\n updateColumn,\n resizableColumns,\n resizableStyle,\n onResizeFinish,\n isEditable,\n columnId,\n stickyState,\n cellRef,\n tableRole,\n resizerRoleDescription,\n resizerTooltipText,\n isExpandable,\n hasDynamicContent,\n variant,\n colSpan,\n rowSpan,\n columnGroupId,\n isLastChildOfGroup,\n isLast,\n tableVariant,\n multiColumnSort,\n i18nStrings,\n ariaLabels,\n}: TableHeaderCellProps<ItemType>) {\n const i18n = useInternalI18n('table');\n const sortable = !!column.sortingComparator || !!column.sortingField;\n const isGrouped = !!columnGroupId || (rowSpan ?? 1) > 1;\n // The sort menu only renders for a sortable, enabled column under multi-column sort.\n const hasSortMenu = !!multiColumnSort && sortable && !sortingDisabled;\n\n // Multi-column sort context — derived from `multiColumnSort.sortingColumns` when present.\n const multiSortIndex = multiColumnSort ? getSortIndex(multiColumnSort.sortingColumns, column) : null;\n const multiSortEntry =\n multiSortIndex !== null && multiColumnSort ? multiColumnSort.sortingColumns[multiSortIndex - 1] : undefined;\n const inMultiSort = multiSortIndex !== null;\n const isPrimaryMultiSort = multiSortIndex === 1;\n // Priority badges are only meaningful when 2+ columns are sorted; with a single column, the position number adds no information.\n const showPriorityBadge = !!multiColumnSort && multiColumnSort.sortingColumns.length >= 2 && multiSortIndex !== null;\n\n // For multi-sort, derive sorted/descending from the matching entry; otherwise fall back to single-sort props.\n const sorted = multiColumnSort ? inMultiSort : !!activeSortingColumn && isSorted(column, activeSortingColumn);\n const descending = multiColumnSort ? !!multiSortEntry?.isDescending : !!sortingDescending;\n const sortingStatus = getSortingStatus(sortable, sorted, descending, !!sortingDisabled);\n // In multi-sort, only the primary column declares aria-sort (ARIA only allows one column sorted at a time).\n const suppressAriaSort = !!multiColumnSort && inMultiSort && !isPrimaryMultiSort;\n\n // Screen-reader-only text appended to a sorted column header. The visible header text supplies the column name;\n // this adds the sort direction (only when `aria-sort` is suppressed, i.e. secondary columns) and the sort priority.\n const sortDirectionLabel = descending\n ? i18n('ariaLabels.sortDescending', ariaLabels?.sortDescending)\n : i18n('ariaLabels.sortAscending', ariaLabels?.sortAscending);\n const sortPriorityLabel = i18n(\n 'ariaLabels.sortPriority',\n ariaLabels?.sortPriority,\n format =>\n ({ priority }) =>\n format({ priority })\n );\n const sortAccessibleText = inMultiSort\n ? [\n suppressAriaSort ? sortDirectionLabel : undefined,\n showPriorityBadge ? sortPriorityLabel?.({ priority: multiSortIndex ?? 0 }) : undefined,\n ]\n .filter(Boolean)\n .join(' ')\n : '';\n const handleClick = (shiftKey = false) => {\n if (multiColumnSort) {\n const current = multiColumnSort.sortingColumns;\n let next: ReadonlyArray<TableProps.SortingState<ItemType>>;\n if (shiftKey && !inMultiSort) {\n next = appendSort(current, column, false);\n } else if (inMultiSort) {\n next = toggleDirection(current, column);\n } else {\n next = replaceSort(column, false);\n }\n fireNonCancelableEvent(multiColumnSort.onChange, { sortingColumns: next });\n return;\n }\n onClick({\n sortingColumn: column,\n isDescending: sorted ? !sortingDescending : false,\n });\n };\n\n const handleSortMenuAction = (action: SortMenuAction) => {\n // The sort menu is only rendered when `multiColumnSort` is set (see render below), so this guard\n // exists purely to narrow the type for the accesses that follow and is unreachable at runtime.\n /* istanbul ignore next */\n if (!multiColumnSort) {\n return;\n }\n const current = multiColumnSort.sortingColumns;\n let next: ReadonlyArray<TableProps.SortingState<ItemType>>;\n switch (action) {\n case 'sort-ascending':\n next = inMultiSort ? setDirection(current, column, false) : replaceSort(column, false);\n break;\n case 'sort-descending':\n next = inMultiSort ? setDirection(current, column, true) : replaceSort(column, true);\n break;\n case 'add-to-sort-ascending':\n next = appendSort(current, column, false);\n break;\n case 'add-to-sort-descending':\n next = appendSort(current, column, true);\n break;\n case 'remove-from-sort':\n next = removeSort(current, column);\n break;\n }\n fireNonCancelableEvent(multiColumnSort.onChange, { sortingColumns: next });\n };\n\n // Elements with role=\"button\" do not have the default behavior of <button>, where pressing\n // Enter or Space will trigger a click event. Therefore we need to add this ourselves.\n // The native <button> element cannot be used due to a misaligned implementation in Firefox:\n // https://bugzilla.mozilla.org/show_bug.cgi?id=843003\n const handleKeyPress = ({ nativeEvent: e }: React.KeyboardEvent) => {\n if (e.keyCode === KeyCode.enter || e.keyCode === KeyCode.space) {\n e.preventDefault();\n handleClick(e.shiftKey);\n }\n };\n\n const headerId = useUniqueId('table-header-');\n\n const clickableHeaderRef = useRef<HTMLDivElement>(null);\n const { tabIndex: clickableHeaderTabIndex } = useSingleTabStopNavigation(clickableHeaderRef, { tabIndex });\n\n const cellRefObject = useRef<HTMLElement>(null);\n const cellRefCombined = useMergeRefs(cellRef, cellRefObject);\n\n // Keep sticky and non-sticky headers in sync for dynamic cell\n // content changes. This is only needed when:\n // - Column has dynamic content\n // - This is the non-sticky version of a sticky header (hidden === true)\n // - Columns are not resizable\n useResizeObserver(hasDynamicContent ? cellRefObject : () => null, entry => {\n updateColumn(columnId, entry.borderBoxWidth);\n });\n\n return (\n <TableThElement\n resizableStyle={resizableStyle}\n cellRef={cellRefCombined}\n sortingStatus={sortingStatus}\n sortingDisabled={sortingDisabled}\n suppressAriaSort={suppressAriaSort}\n focusedComponent={focusedComponent}\n stuck={stuck}\n sticky={sticky}\n resizable={resizableColumns}\n hidden={hidden}\n stripedRows={stripedRows}\n colIndex={colIndex}\n columnId={columnId}\n stickyState={stickyState}\n tableRole={tableRole}\n variant={variant}\n tableVariant={tableVariant}\n colSpan={colSpan}\n rowSpan={rowSpan}\n columnGroupId={columnGroupId}\n isLast={isLast}\n {...(sortingDisabled\n ? {}\n : getAnalyticsMetadataAttribute({\n action: 'sort',\n detail: {\n position: `${colIndex + 1}`,\n columnId: column.id ? `${column.id}` : '',\n label: `.${analyticsSelectors['header-cell-text']}`,\n sortingDescending: `${!descending}`,\n },\n } as GeneratedAnalyticsMetadataTableSort))}\n >\n <div className={clsx(styles['header-cell-main'], hasSortMenu && styles['header-cell-main-with-menu'])}>\n <div\n ref={clickableHeaderRef}\n data-focus-id={`sorting-control-${String(columnId)}`}\n className={clsx(styles['header-cell-content'], {\n [styles['header-cell-fake-focus']]: focusedComponent === `sorting-control-${String(columnId)}`,\n [styles['header-cell-content-expandable']]: isExpandable,\n [styles['header-cell-content-multi-sorted']]: showPriorityBadge,\n [styles['header-cell-content-with-menu']]: hasSortMenu,\n })}\n aria-label={\n column.ariaLabel\n ? column.ariaLabel({\n sorted: sorted,\n descending: sorted && descending,\n disabled: !!sortingDisabled,\n sortIndex: multiSortIndex ?? undefined,\n })\n : undefined\n }\n {...(sortingStatus && !sortingDisabled\n ? {\n onKeyPress: handleKeyPress,\n tabIndex: clickableHeaderTabIndex,\n role: 'button',\n onClick: event => handleClick(event.shiftKey),\n // Prevent the browser from extending the text selection on Shift+click.\n onMouseDown: (event: React.MouseEvent) => {\n if (event.shiftKey) {\n event.preventDefault();\n }\n },\n }\n : {})}\n >\n <div\n className={clsx(\n styles['header-cell-text'],\n analyticsSelectors['header-cell-text'],\n wrapLines && styles['header-cell-text-wrap']\n )}\n id={headerId}\n >\n {column.header}\n {isEditable ? (\n <span className={styles['edit-icon']}>\n <InternalIcon\n name=\"edit\"\n ariaLabel={i18n(\n 'columnDefinitions.editConfig.editIconAriaLabel',\n column.editConfig?.editIconAriaLabel\n )}\n />\n </span>\n ) : null}\n </div>\n {sortAccessibleText && <ScreenreaderOnly>{sortAccessibleText}</ScreenreaderOnly>}\n {sortingStatus && (\n <span className={styles['sorting-icon']}>\n {showPriorityBadge && (\n <span className={styles['sort-priority-badge']} aria-hidden=\"true\">\n {multiSortIndex}\n </span>\n )}\n <InternalIcon name={getSortingIconName(sortingStatus)} />\n </span>\n )}\n </div>\n {hasSortMenu && (\n <SortMenu<ItemType>\n column={column}\n inSort={inMultiSort}\n isSortedAscending={inMultiSort && !descending}\n isSortedDescending={inMultiSort && descending}\n i18nStrings={i18nStrings}\n ariaLabel={ariaLabels?.sortMenuTriggerLabel}\n ariaDescribedby={headerId}\n onAction={handleSortMenuAction}\n />\n )}\n </div>\n {resizableColumns ? (\n <Resizer\n tabIndex={tabIndex}\n focusId={`resize-control-${String(columnId)}`}\n showFocusRing={focusedComponent === `resize-control-${String(columnId)}`}\n onWidthUpdate={newWidth => updateColumn(columnId, newWidth)}\n onWidthUpdateCommit={onResizeFinish}\n ariaLabelledby={headerId}\n minWidth={typeof column.minWidth === 'string' ? parseInt(column.minWidth) : column.minWidth}\n roleDescription={i18n('ariaLabels.resizerRoleDescription', resizerRoleDescription)}\n // TODO: Replace with this when strings are available\n // tooltipText={i18n('ariaLabels.resizerTooltipText', resizerTooltipText)}\n tooltipText={resizerTooltipText}\n isBorderless={variant === 'full-page' || variant === 'embedded' || variant === 'borderless'}\n isLast={isLast}\n isGrouped={isGrouped}\n dividerPosition={isLastChildOfGroup ? 'top' : undefined}\n />\n ) : (\n <Divider\n className={styles['resize-divider']}\n position={isLastChildOfGroup ? 'top' : undefined}\n isGrouped={isGrouped}\n />\n )}\n </TableThElement>\n );\n}\n"]}
|