@cloudscape-design/components-themeable 3.0.1137 → 3.0.1139
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/internal/generated/custom-css-properties/index.scss +127 -99
- package/lib/internal/scss/progress-bar/styles.scss +39 -25
- package/lib/internal/scss/prompt-input/styles.scss +75 -13
- package/lib/internal/scss/radio-group/analytics-metadata/styles.scss +8 -0
- package/lib/internal/template/alert/actions-wrapper/index.js +3 -3
- package/lib/internal/template/alert/actions-wrapper/index.js.map +1 -1
- package/lib/internal/template/alert/index.js +2 -4
- package/lib/internal/template/alert/index.js.map +1 -1
- package/lib/internal/template/alert/internal.js +8 -10
- package/lib/internal/template/alert/internal.js.map +1 -1
- package/lib/internal/template/alert/style.js +12 -5
- package/lib/internal/template/alert/style.js.map +1 -1
- 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/anchor-navigation/anchor-item/index.js +1 -1
- package/lib/internal/template/anchor-navigation/anchor-item/index.js.map +1 -1
- package/lib/internal/template/anchor-navigation/index.js +2 -4
- package/lib/internal/template/anchor-navigation/index.js.map +1 -1
- package/lib/internal/template/anchor-navigation/internal.js +2 -4
- package/lib/internal/template/anchor-navigation/internal.js.map +1 -1
- package/lib/internal/template/annotation-context/annotation/styles.css.js +24 -24
- package/lib/internal/template/annotation-context/annotation/styles.scoped.css +32 -32
- package/lib/internal/template/annotation-context/annotation/styles.selectors.js +24 -24
- package/lib/internal/template/annotation-context/index.js +3 -4
- package/lib/internal/template/annotation-context/index.js.map +1 -1
- package/lib/internal/template/app-layout/classic.js +20 -17
- package/lib/internal/template/app-layout/classic.js.map +1 -1
- package/lib/internal/template/app-layout/defaults.js +8 -3
- package/lib/internal/template/app-layout/defaults.js.map +1 -1
- package/lib/internal/template/app-layout/drawer/resizable-drawer.js +8 -10
- package/lib/internal/template/app-layout/drawer/resizable-drawer.js.map +1 -1
- package/lib/internal/template/app-layout/index.js +24 -21
- package/lib/internal/template/app-layout/index.js.map +1 -1
- package/lib/internal/template/app-layout/internal.js +3 -3
- package/lib/internal/template/app-layout/internal.js.map +1 -1
- package/lib/internal/template/app-layout/notifications/index.js +3 -5
- package/lib/internal/template/app-layout/notifications/index.js.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/runtime-drawer/index.js +36 -18
- package/lib/internal/template/app-layout/runtime-drawer/index.js.map +1 -1
- package/lib/internal/template/app-layout/split-panel/provider.js +2 -4
- package/lib/internal/template/app-layout/split-panel/provider.js.map +1 -1
- package/lib/internal/template/app-layout/utils/use-app-layout-placement.js +1 -1
- package/lib/internal/template/app-layout/utils/use-app-layout-placement.js.map +1 -1
- package/lib/internal/template/app-layout/utils/use-drawers.js +9 -3
- package/lib/internal/template/app-layout/utils/use-drawers.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh/context.js +28 -11
- package/lib/internal/template/app-layout/visual-refresh/context.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh/drawers.js +3 -1
- package/lib/internal/template/app-layout/visual-refresh/drawers.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh/index.js +1 -1
- package/lib/internal/template/app-layout/visual-refresh/index.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh/layout.js +9 -1
- package/lib/internal/template/app-layout/visual-refresh/layout.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh/main.js +4 -1
- package/lib/internal/template/app-layout/visual-refresh/main.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh/split-panel.js +1 -1
- package/lib/internal/template/app-layout/visual-refresh/split-panel.js.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 +258 -258
- package/lib/internal/template/app-layout/visual-refresh/styles.selectors.js +86 -86
- package/lib/internal/template/app-layout/visual-refresh/trigger-button.js +6 -3
- package/lib/internal/template/app-layout/visual-refresh/trigger-button.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.js +5 -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/global-ai-drawer.js +8 -4
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.js +9 -6
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-drawer.js +7 -3
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-drawer.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/local-drawer.js +8 -4
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/local-drawer.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.css.js +30 -30
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +87 -87
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +30 -30
- package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.css.js +4 -4
- package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +7 -7
- package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +4 -4
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/index.js +10 -10
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/index.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/slots.js +5 -2
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/slots.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +27 -27
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +54 -54
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +27 -27
- package/lib/internal/template/app-layout/visual-refresh-toolbar/split-panel/index.js +2 -2
- package/lib/internal/template/app-layout/visual-refresh-toolbar/split-panel/index.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/props-merger.js +7 -2
- 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-ai-drawer.js +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-ai-drawer.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-app-layout.js +19 -12
- 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-bottom-drawers.js +5 -2
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-bottom-drawers.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-skeleton-slots-attributes.js +10 -6
- 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/drawer-triggers.js +4 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js +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/trigger-button/index.js +8 -8
- package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.js.map +1 -1
- package/lib/internal/template/app-layout-toolbar/index.js +24 -21
- package/lib/internal/template/app-layout-toolbar/index.js.map +1 -1
- package/lib/internal/template/area-chart/chart-container.js +1 -1
- package/lib/internal/template/area-chart/chart-container.js.map +1 -1
- package/lib/internal/template/area-chart/elements/chart-popover.js +1 -1
- package/lib/internal/template/area-chart/elements/chart-popover.js.map +1 -1
- package/lib/internal/template/area-chart/elements/threshold-series.js +1 -1
- package/lib/internal/template/area-chart/elements/threshold-series.js.map +1 -1
- package/lib/internal/template/area-chart/index.js +2 -4
- package/lib/internal/template/area-chart/index.js.map +1 -1
- package/lib/internal/template/area-chart/internal.js +2 -4
- package/lib/internal/template/area-chart/internal.js.map +1 -1
- package/lib/internal/template/area-chart/model/interactions-store.js +39 -9
- package/lib/internal/template/area-chart/model/interactions-store.js.map +1 -1
- package/lib/internal/template/attribute-editor/index.d.ts.map +1 -1
- package/lib/internal/template/attribute-editor/index.js +4 -6
- package/lib/internal/template/attribute-editor/index.js.map +1 -1
- package/lib/internal/template/attribute-editor/interfaces.d.ts +8 -0
- package/lib/internal/template/attribute-editor/interfaces.d.ts.map +1 -1
- package/lib/internal/template/attribute-editor/interfaces.js.map +1 -1
- package/lib/internal/template/attribute-editor/internal.d.ts.map +1 -1
- package/lib/internal/template/attribute-editor/internal.js +14 -10
- package/lib/internal/template/attribute-editor/internal.js.map +1 -1
- package/lib/internal/template/attribute-editor/row.js +1 -1
- package/lib/internal/template/attribute-editor/row.js.map +1 -1
- package/lib/internal/template/attribute-editor/styles.css.js +15 -15
- package/lib/internal/template/attribute-editor/styles.scoped.css +28 -28
- package/lib/internal/template/attribute-editor/styles.selectors.js +15 -15
- package/lib/internal/template/autosuggest/autosuggest-option.js +3 -5
- package/lib/internal/template/autosuggest/autosuggest-option.js.map +1 -1
- package/lib/internal/template/autosuggest/index.js +2 -4
- package/lib/internal/template/autosuggest/index.js.map +1 -1
- package/lib/internal/template/autosuggest/internal.js +10 -5
- package/lib/internal/template/autosuggest/internal.js.map +1 -1
- package/lib/internal/template/autosuggest/options-controller.js +15 -8
- package/lib/internal/template/autosuggest/options-controller.js.map +1 -1
- package/lib/internal/template/autosuggest/plain-list.js +3 -3
- package/lib/internal/template/autosuggest/plain-list.js.map +1 -1
- package/lib/internal/template/autosuggest/virtual-list.js +2 -2
- package/lib/internal/template/autosuggest/virtual-list.js.map +1 -1
- package/lib/internal/template/badge/index.js +2 -4
- package/lib/internal/template/badge/index.js.map +1 -1
- package/lib/internal/template/bar-chart/index.js +2 -4
- package/lib/internal/template/bar-chart/index.js.map +1 -1
- package/lib/internal/template/box/index.js +2 -4
- package/lib/internal/template/box/index.js.map +1 -1
- package/lib/internal/template/box/internal.js +2 -4
- package/lib/internal/template/box/internal.js.map +1 -1
- package/lib/internal/template/breadcrumb-group/all-items-dropdown.js +3 -3
- package/lib/internal/template/breadcrumb-group/all-items-dropdown.js.map +1 -1
- package/lib/internal/template/breadcrumb-group/implementation.js +9 -8
- package/lib/internal/template/breadcrumb-group/implementation.js.map +1 -1
- package/lib/internal/template/breadcrumb-group/index.js +3 -5
- package/lib/internal/template/breadcrumb-group/index.js.map +1 -1
- package/lib/internal/template/breadcrumb-group/item/funnel.js +1 -1
- package/lib/internal/template/breadcrumb-group/item/funnel.js.map +1 -1
- package/lib/internal/template/breadcrumb-group/item/item.js +5 -7
- package/lib/internal/template/breadcrumb-group/item/item.js.map +1 -1
- package/lib/internal/template/breadcrumb-group/item/styles.css.js +7 -7
- package/lib/internal/template/breadcrumb-group/item/styles.scoped.css +28 -28
- package/lib/internal/template/breadcrumb-group/item/styles.selectors.js +7 -7
- package/lib/internal/template/button/icon-helper.js +3 -5
- package/lib/internal/template/button/icon-helper.js.map +1 -1
- package/lib/internal/template/button/index.js +2 -4
- package/lib/internal/template/button/index.js.map +1 -1
- package/lib/internal/template/button/internal.js +31 -14
- package/lib/internal/template/button/internal.js.map +1 -1
- package/lib/internal/template/button/style.js +38 -27
- package/lib/internal/template/button/style.js.map +1 -1
- package/lib/internal/template/button/styles.css.js +22 -22
- package/lib/internal/template/button/styles.scoped.css +256 -256
- package/lib/internal/template/button/styles.selectors.js +22 -22
- package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js +11 -11
- package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
- package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js +12 -12
- package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js.map +1 -1
- package/lib/internal/template/button-dropdown/index.js +4 -6
- package/lib/internal/template/button-dropdown/index.js.map +1 -1
- package/lib/internal/template/button-dropdown/internal.js +36 -25
- package/lib/internal/template/button-dropdown/internal.js.map +1 -1
- package/lib/internal/template/button-dropdown/item-element/index.js +25 -17
- package/lib/internal/template/button-dropdown/item-element/index.js.map +1 -1
- package/lib/internal/template/button-dropdown/item-element/styles.css.js +16 -16
- package/lib/internal/template/button-dropdown/item-element/styles.scoped.css +27 -27
- package/lib/internal/template/button-dropdown/item-element/styles.selectors.js +16 -16
- package/lib/internal/template/button-dropdown/tooltip.js +1 -1
- package/lib/internal/template/button-dropdown/tooltip.js.map +1 -1
- package/lib/internal/template/button-dropdown/utils/use-button-dropdown.js +1 -2
- package/lib/internal/template/button-dropdown/utils/use-button-dropdown.js.map +1 -1
- package/lib/internal/template/button-group/index.js +2 -4
- package/lib/internal/template/button-group/index.js.map +1 -1
- package/lib/internal/template/button-group/internal.js +2 -4
- package/lib/internal/template/button-group/internal.js.map +1 -1
- package/lib/internal/template/button-group/item-element.js +4 -4
- package/lib/internal/template/button-group/item-element.js.map +1 -1
- package/lib/internal/template/button-group/menu-dropdown-item.js +1 -1
- package/lib/internal/template/button-group/menu-dropdown-item.js.map +1 -1
- package/lib/internal/template/button-group/style.js +34 -20
- package/lib/internal/template/button-group/style.js.map +1 -1
- package/lib/internal/template/calendar/grid/index.js +2 -3
- package/lib/internal/template/calendar/grid/index.js.map +1 -1
- package/lib/internal/template/calendar/index.js +2 -4
- package/lib/internal/template/calendar/index.js.map +1 -1
- package/lib/internal/template/calendar/internal.js +2 -4
- package/lib/internal/template/calendar/internal.js.map +1 -1
- package/lib/internal/template/cards/index.js +17 -19
- package/lib/internal/template/cards/index.js.map +1 -1
- package/lib/internal/template/checkbox/index.js +2 -4
- package/lib/internal/template/checkbox/index.js.map +1 -1
- package/lib/internal/template/checkbox/internal.js +4 -6
- package/lib/internal/template/checkbox/internal.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/index.js +2 -3
- package/lib/internal/template/code-editor/index.js.map +1 -1
- package/lib/internal/template/code-editor/use-editor.js +4 -1
- package/lib/internal/template/code-editor/use-editor.js.map +1 -1
- package/lib/internal/template/code-editor/util.js +4 -1
- package/lib/internal/template/code-editor/util.js.map +1 -1
- package/lib/internal/template/collection-preferences/content-display/index.js +1 -1
- package/lib/internal/template/collection-preferences/content-display/index.js.map +1 -1
- package/lib/internal/template/collection-preferences/content-display/utils.js +1 -1
- package/lib/internal/template/collection-preferences/content-display/utils.js.map +1 -1
- package/lib/internal/template/collection-preferences/index.js +20 -13
- package/lib/internal/template/collection-preferences/index.js.map +1 -1
- package/lib/internal/template/collection-preferences/utils.js +9 -9
- package/lib/internal/template/collection-preferences/utils.js.map +1 -1
- package/lib/internal/template/collection-preferences/visible-content.js +8 -8
- package/lib/internal/template/collection-preferences/visible-content.js.map +1 -1
- package/lib/internal/template/column-layout/index.js +2 -4
- package/lib/internal/template/column-layout/index.js.map +1 -1
- package/lib/internal/template/column-layout/internal.js +2 -4
- package/lib/internal/template/column-layout/internal.js.map +1 -1
- package/lib/internal/template/container/index.js +2 -4
- package/lib/internal/template/container/index.js.map +1 -1
- package/lib/internal/template/container/internal.js +11 -9
- package/lib/internal/template/container/internal.js.map +1 -1
- package/lib/internal/template/container/style.js +11 -2
- package/lib/internal/template/container/style.js.map +1 -1
- package/lib/internal/template/content-layout/index.js +1 -1
- package/lib/internal/template/content-layout/index.js.map +1 -1
- package/lib/internal/template/content-layout/internal.js +3 -5
- package/lib/internal/template/content-layout/internal.js.map +1 -1
- 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/copy-to-clipboard/index.js +2 -4
- package/lib/internal/template/copy-to-clipboard/index.js.map +1 -1
- package/lib/internal/template/copy-to-clipboard/internal.js +2 -4
- package/lib/internal/template/copy-to-clipboard/internal.js.map +1 -1
- package/lib/internal/template/date-input/index.js +1 -1
- package/lib/internal/template/date-input/index.js.map +1 -1
- package/lib/internal/template/date-input/internal.js +6 -8
- package/lib/internal/template/date-input/internal.js.map +1 -1
- package/lib/internal/template/date-picker/index.js +9 -6
- package/lib/internal/template/date-picker/index.js.map +1 -1
- package/lib/internal/template/date-range-picker/calendar/grids/grid-cell.js +3 -4
- package/lib/internal/template/date-range-picker/calendar/grids/grid-cell.js.map +1 -1
- package/lib/internal/template/date-range-picker/calendar/grids/grid.js +8 -8
- package/lib/internal/template/date-range-picker/calendar/grids/grid.js.map +1 -1
- package/lib/internal/template/date-range-picker/calendar/grids/index.js +2 -2
- package/lib/internal/template/date-range-picker/calendar/grids/index.js.map +1 -1
- package/lib/internal/template/date-range-picker/calendar/index.js +5 -2
- package/lib/internal/template/date-range-picker/calendar/index.js.map +1 -1
- package/lib/internal/template/date-range-picker/index.js +8 -6
- package/lib/internal/template/date-range-picker/index.js.map +1 -1
- package/lib/internal/template/date-range-picker/utils.js +8 -2
- package/lib/internal/template/date-range-picker/utils.js.map +1 -1
- package/lib/internal/template/drawer/implementation.js +7 -6
- package/lib/internal/template/drawer/implementation.js.map +1 -1
- package/lib/internal/template/drawer/index.js +1 -1
- package/lib/internal/template/drawer/index.js.map +1 -1
- package/lib/internal/template/expandable-section/expandable-section-container.js +3 -5
- package/lib/internal/template/expandable-section/expandable-section-container.js.map +1 -1
- package/lib/internal/template/expandable-section/expandable-section-header.js +8 -8
- package/lib/internal/template/expandable-section/expandable-section-header.js.map +1 -1
- package/lib/internal/template/expandable-section/index.js +2 -4
- package/lib/internal/template/expandable-section/index.js.map +1 -1
- package/lib/internal/template/expandable-section/internal.js +2 -4
- package/lib/internal/template/expandable-section/internal.js.map +1 -1
- package/lib/internal/template/file-dropzone/index.js +1 -1
- package/lib/internal/template/file-dropzone/index.js.map +1 -1
- package/lib/internal/template/file-dropzone/internal.js +3 -5
- package/lib/internal/template/file-dropzone/internal.js.map +1 -1
- package/lib/internal/template/file-input/index.js +2 -4
- package/lib/internal/template/file-input/index.js.map +1 -1
- package/lib/internal/template/file-input/internal.js +11 -8
- package/lib/internal/template/file-input/internal.js.map +1 -1
- package/lib/internal/template/file-token-group/default-formatters.js +3 -3
- package/lib/internal/template/file-token-group/default-formatters.js.map +1 -1
- package/lib/internal/template/file-token-group/index.js +2 -4
- package/lib/internal/template/file-token-group/index.js.map +1 -1
- package/lib/internal/template/file-token-group/internal.js +2 -4
- package/lib/internal/template/file-token-group/internal.js.map +1 -1
- package/lib/internal/template/file-upload/index.js +2 -4
- package/lib/internal/template/file-upload/index.js.map +1 -1
- package/lib/internal/template/file-upload/internal.js +5 -7
- package/lib/internal/template/file-upload/internal.js.map +1 -1
- package/lib/internal/template/flashbar/collapsible-flashbar.js +33 -23
- package/lib/internal/template/flashbar/collapsible-flashbar.js.map +1 -1
- package/lib/internal/template/flashbar/common.js +1 -3
- package/lib/internal/template/flashbar/common.js.map +1 -1
- package/lib/internal/template/flashbar/flash.js +4 -6
- package/lib/internal/template/flashbar/flash.js.map +1 -1
- package/lib/internal/template/flashbar/implementation.js +2 -2
- package/lib/internal/template/flashbar/implementation.js.map +1 -1
- package/lib/internal/template/flashbar/index.js +1 -1
- package/lib/internal/template/flashbar/index.js.map +1 -1
- package/lib/internal/template/flashbar/non-collapsible-flashbar.js +10 -9
- package/lib/internal/template/flashbar/non-collapsible-flashbar.js.map +1 -1
- package/lib/internal/template/flashbar/style.js +50 -32
- package/lib/internal/template/flashbar/style.js.map +1 -1
- package/lib/internal/template/flashbar/styles.css.js +50 -50
- package/lib/internal/template/flashbar/styles.scoped.css +187 -187
- package/lib/internal/template/flashbar/styles.selectors.js +50 -50
- package/lib/internal/template/flashbar/utils.js +2 -2
- package/lib/internal/template/flashbar/utils.js.map +1 -1
- package/lib/internal/template/form/index.js +4 -7
- package/lib/internal/template/form/index.js.map +1 -1
- package/lib/internal/template/form/internal.js +2 -4
- package/lib/internal/template/form/internal.js.map +1 -1
- package/lib/internal/template/form-field/index.js +7 -9
- package/lib/internal/template/form-field/index.js.map +1 -1
- package/lib/internal/template/form-field/internal.js +6 -5
- package/lib/internal/template/form-field/internal.js.map +1 -1
- package/lib/internal/template/grid/index.js +2 -4
- package/lib/internal/template/grid/index.js.map +1 -1
- package/lib/internal/template/grid/internal.js +2 -4
- package/lib/internal/template/grid/internal.js.map +1 -1
- package/lib/internal/template/header/analytics/use-table-integration.d.ts +2 -1
- package/lib/internal/template/header/analytics/use-table-integration.d.ts.map +1 -1
- package/lib/internal/template/header/analytics/use-table-integration.js +8 -1
- package/lib/internal/template/header/analytics/use-table-integration.js.map +1 -1
- package/lib/internal/template/header/index.js +2 -4
- package/lib/internal/template/header/index.js.map +1 -1
- package/lib/internal/template/header/interfaces.d.ts +2 -2
- package/lib/internal/template/header/interfaces.d.ts.map +1 -1
- package/lib/internal/template/header/interfaces.js.map +1 -1
- package/lib/internal/template/header/internal.js +4 -6
- package/lib/internal/template/header/internal.js.map +1 -1
- package/lib/internal/template/help-panel/implementation.js +7 -6
- package/lib/internal/template/help-panel/implementation.js.map +1 -1
- package/lib/internal/template/help-panel/index.js +1 -1
- package/lib/internal/template/help-panel/index.js.map +1 -1
- package/lib/internal/template/help-panel/styles.css.js +6 -6
- package/lib/internal/template/help-panel/styles.scoped.css +73 -73
- package/lib/internal/template/help-panel/styles.selectors.js +6 -6
- package/lib/internal/template/hotspot/index.js +3 -5
- package/lib/internal/template/hotspot/index.js.map +1 -1
- package/lib/internal/template/icon/index.js +2 -4
- package/lib/internal/template/icon/index.js.map +1 -1
- package/lib/internal/template/icon/internal.js +4 -6
- package/lib/internal/template/icon/internal.js.map +1 -1
- package/lib/internal/template/icon-provider/index.js +1 -1
- package/lib/internal/template/icon-provider/index.js.map +1 -1
- package/lib/internal/template/icon-provider/internal.js +2 -2
- package/lib/internal/template/icon-provider/internal.js.map +1 -1
- package/lib/internal/template/input/index.js +5 -5
- package/lib/internal/template/input/index.js.map +1 -1
- package/lib/internal/template/input/internal.js +10 -12
- package/lib/internal/template/input/internal.js.map +1 -1
- package/lib/internal/template/input/styles.css.js +13 -13
- package/lib/internal/template/input/styles.js +42 -30
- package/lib/internal/template/input/styles.js.map +1 -1
- package/lib/internal/template/input/styles.scoped.css +65 -65
- package/lib/internal/template/input/styles.selectors.js +13 -13
- package/lib/internal/template/internal/analytics/components/analytics-funnel.js +9 -12
- package/lib/internal/template/internal/analytics/components/analytics-funnel.js.map +1 -1
- package/lib/internal/template/internal/analytics/hooks/use-funnel.js +5 -6
- package/lib/internal/template/internal/analytics/hooks/use-funnel.js.map +1 -1
- package/lib/internal/template/internal/animate.js +1 -1
- package/lib/internal/template/internal/animate.js.map +1 -1
- package/lib/internal/template/internal/base-component/index.js +1 -1
- package/lib/internal/template/internal/base-component/index.js.map +1 -1
- package/lib/internal/template/internal/base-component/styles.scoped.css +1 -1
- package/lib/internal/template/internal/components/abstract-switch/index.js +21 -20
- package/lib/internal/template/internal/components/abstract-switch/index.js.map +1 -1
- package/lib/internal/template/internal/components/autosuggest-input/index.js +3 -5
- package/lib/internal/template/internal/components/autosuggest-input/index.js.map +1 -1
- package/lib/internal/template/internal/components/button-trigger/index.js +25 -6
- package/lib/internal/template/internal/components/button-trigger/index.js.map +1 -1
- package/lib/internal/template/internal/components/cartesian-chart/inline-start-labels.js +1 -1
- package/lib/internal/template/internal/components/cartesian-chart/inline-start-labels.js.map +1 -1
- package/lib/internal/template/internal/components/chart-filter/index.js +2 -4
- package/lib/internal/template/internal/components/chart-filter/index.js.map +1 -1
- package/lib/internal/template/internal/components/chart-plot/index.js +2 -2
- package/lib/internal/template/internal/components/chart-plot/index.js.map +1 -1
- package/lib/internal/template/internal/components/chart-popover/index.js +3 -5
- package/lib/internal/template/internal/components/chart-popover/index.js.map +1 -1
- package/lib/internal/template/internal/components/chart-series-details/index.js +2 -4
- package/lib/internal/template/internal/components/chart-series-details/index.js.map +1 -1
- package/lib/internal/template/internal/components/chart-wrapper/index.js +3 -5
- package/lib/internal/template/internal/components/chart-wrapper/index.js.map +1 -1
- package/lib/internal/template/internal/components/checkbox-icon/index.js +5 -7
- package/lib/internal/template/internal/components/checkbox-icon/index.js.map +1 -1
- package/lib/internal/template/internal/components/drag-handle/button.js +5 -5
- package/lib/internal/template/internal/components/drag-handle/button.js.map +1 -1
- package/lib/internal/template/internal/components/drag-handle/hooks/use-drag-handle-interaction-state.js +17 -4
- package/lib/internal/template/internal/components/drag-handle/hooks/use-drag-handle-interaction-state.js.map +1 -1
- package/lib/internal/template/internal/components/drag-handle/index.js +1 -3
- package/lib/internal/template/internal/components/drag-handle/index.js.map +1 -1
- package/lib/internal/template/internal/components/drag-handle-wrapper/styles.css.js +20 -20
- package/lib/internal/template/internal/components/drag-handle-wrapper/styles.scoped.css +48 -48
- package/lib/internal/template/internal/components/drag-handle-wrapper/styles.selectors.js +20 -20
- package/lib/internal/template/internal/components/dropdown/styles.css.js +20 -20
- package/lib/internal/template/internal/components/dropdown/styles.scoped.css +38 -38
- package/lib/internal/template/internal/components/dropdown/styles.selectors.js +20 -20
- package/lib/internal/template/internal/components/masked-input/index.js +12 -8
- package/lib/internal/template/internal/components/masked-input/index.js.map +1 -1
- package/lib/internal/template/internal/components/masked-input/utils/mask-format.js +6 -1
- package/lib/internal/template/internal/components/masked-input/utils/mask-format.js.map +1 -1
- package/lib/internal/template/internal/components/menu-dropdown/index.js +2 -4
- package/lib/internal/template/internal/components/menu-dropdown/index.js.map +1 -1
- package/lib/internal/template/internal/components/option/index.js +6 -8
- package/lib/internal/template/internal/components/option/index.js.map +1 -1
- package/lib/internal/template/internal/components/option/option-parts.js +1 -1
- package/lib/internal/template/internal/components/option/option-parts.js.map +1 -1
- package/lib/internal/template/internal/components/option/utils/flatten-options.js +1 -2
- package/lib/internal/template/internal/components/option/utils/flatten-options.js.map +1 -1
- package/lib/internal/template/internal/components/options-list/index.js +2 -4
- package/lib/internal/template/internal/components/options-list/index.js.map +1 -1
- package/lib/internal/template/internal/components/screenreader-only/index.js +1 -1
- package/lib/internal/template/internal/components/screenreader-only/index.js.map +1 -1
- package/lib/internal/template/internal/components/selectable-item/analytics-metadata/utils.js +1 -3
- package/lib/internal/template/internal/components/selectable-item/analytics-metadata/utils.js.map +1 -1
- package/lib/internal/template/internal/components/selectable-item/index.js +5 -7
- package/lib/internal/template/internal/components/selectable-item/index.js.map +1 -1
- package/lib/internal/template/internal/components/sortable-area/index.js +19 -6
- package/lib/internal/template/internal/components/sortable-area/index.js.map +1 -1
- 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/components/token-list/token-limit-toggle.js +1 -1
- package/lib/internal/template/internal/components/token-list/token-limit-toggle.js.map +1 -1
- package/lib/internal/template/internal/components/tooltip/index.js +1 -1
- package/lib/internal/template/internal/components/tooltip/index.js.map +1 -1
- package/lib/internal/template/internal/components/transition/index.js +3 -5
- package/lib/internal/template/internal/components/transition/index.js.map +1 -1
- 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 +28 -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 +126 -98
- package/lib/internal/template/internal/generated/custom-css-properties/index.js.map +1 -1
- package/lib/internal/template/internal/generated/styles/tokens.d.ts +50 -75
- package/lib/internal/template/internal/generated/styles/tokens.js +50 -75
- package/lib/internal/template/internal/generated/theming/index.cjs +305 -461
- package/lib/internal/template/internal/generated/theming/index.js +305 -461
- package/lib/internal/template/internal/hooks/use-intersection-observer/index.js +1 -1
- package/lib/internal/template/internal/hooks/use-intersection-observer/index.js.map +1 -1
- package/lib/internal/template/internal/hooks/use-performance-marks/index.js +12 -2
- package/lib/internal/template/internal/hooks/use-performance-marks/index.js.map +1 -1
- package/lib/internal/template/internal/hooks/use-virtual/index.js +5 -2
- package/lib/internal/template/internal/hooks/use-virtual/index.js.map +1 -1
- package/lib/internal/template/internal/plugins/controllers/drawers.js +4 -6
- package/lib/internal/template/internal/plugins/controllers/drawers.js.map +1 -1
- package/lib/internal/template/internal/plugins/helpers/use-global-breadcrumbs.js +4 -6
- package/lib/internal/template/internal/plugins/helpers/use-global-breadcrumbs.js.map +1 -1
- package/lib/internal/template/internal/plugins/widget/index.js +1 -1
- package/lib/internal/template/internal/plugins/widget/index.js.map +1 -1
- package/lib/internal/template/internal/utils/with-native-attributes.js +4 -6
- package/lib/internal/template/internal/utils/with-native-attributes.js.map +1 -1
- package/lib/internal/template/internal/widgets/index.js +2 -2
- package/lib/internal/template/internal/widgets/index.js.map +1 -1
- package/lib/internal/template/internal/widgets/loader-mock.js +2 -2
- package/lib/internal/template/internal/widgets/loader-mock.js.map +1 -1
- package/lib/internal/template/key-value-pairs/index.js +2 -4
- package/lib/internal/template/key-value-pairs/index.js.map +1 -1
- package/lib/internal/template/key-value-pairs/internal.js +4 -6
- package/lib/internal/template/key-value-pairs/internal.js.map +1 -1
- package/lib/internal/template/line-chart/index.js +2 -4
- package/lib/internal/template/line-chart/index.js.map +1 -1
- package/lib/internal/template/link/index.js +2 -4
- package/lib/internal/template/link/index.js.map +1 -1
- package/lib/internal/template/link/internal.js +13 -6
- package/lib/internal/template/link/internal.js.map +1 -1
- package/lib/internal/template/link/style.js +12 -9
- package/lib/internal/template/link/style.js.map +1 -1
- package/lib/internal/template/link/styles.css.js +20 -20
- package/lib/internal/template/link/styles.scoped.css +103 -103
- package/lib/internal/template/link/styles.selectors.js +20 -20
- package/lib/internal/template/list/index.js +1 -1
- package/lib/internal/template/list/index.js.map +1 -1
- package/lib/internal/template/list/internal.js +6 -8
- package/lib/internal/template/list/internal.js.map +1 -1
- package/lib/internal/template/live-region/index.js +2 -4
- package/lib/internal/template/live-region/index.js.map +1 -1
- package/lib/internal/template/live-region/internal.js +2 -4
- package/lib/internal/template/live-region/internal.js.map +1 -1
- package/lib/internal/template/mixed-line-bar-chart/bar-series.js +3 -3
- package/lib/internal/template/mixed-line-bar-chart/bar-series.js.map +1 -1
- package/lib/internal/template/mixed-line-bar-chart/chart-container.js +7 -9
- package/lib/internal/template/mixed-line-bar-chart/chart-container.js.map +1 -1
- package/lib/internal/template/mixed-line-bar-chart/chart-popover.js +4 -1
- package/lib/internal/template/mixed-line-bar-chart/chart-popover.js.map +1 -1
- package/lib/internal/template/mixed-line-bar-chart/hooks/use-navigation.js +1 -1
- package/lib/internal/template/mixed-line-bar-chart/hooks/use-navigation.js.map +1 -1
- package/lib/internal/template/mixed-line-bar-chart/index.js +2 -4
- package/lib/internal/template/mixed-line-bar-chart/index.js.map +1 -1
- package/lib/internal/template/mixed-line-bar-chart/internal.js +2 -4
- package/lib/internal/template/mixed-line-bar-chart/internal.js.map +1 -1
- package/lib/internal/template/mixed-line-bar-chart/line-series.js +3 -3
- package/lib/internal/template/mixed-line-bar-chart/line-series.js.map +1 -1
- package/lib/internal/template/modal/index.js +5 -8
- package/lib/internal/template/modal/index.js.map +1 -1
- package/lib/internal/template/modal/internal.js +11 -14
- package/lib/internal/template/modal/internal.js.map +1 -1
- package/lib/internal/template/multiselect/embedded.js +15 -6
- package/lib/internal/template/multiselect/embedded.js.map +1 -1
- package/lib/internal/template/multiselect/index.js +2 -4
- package/lib/internal/template/multiselect/index.js.map +1 -1
- package/lib/internal/template/multiselect/internal.js +13 -12
- package/lib/internal/template/multiselect/internal.js.map +1 -1
- package/lib/internal/template/multiselect/use-multiselect.js +9 -5
- package/lib/internal/template/multiselect/use-multiselect.js.map +1 -1
- package/lib/internal/template/navigable-group/index.js +2 -4
- package/lib/internal/template/navigable-group/index.js.map +1 -1
- package/lib/internal/template/navigable-group/internal.js +2 -4
- package/lib/internal/template/navigable-group/internal.js.map +1 -1
- package/lib/internal/template/pagination/index.js +10 -10
- package/lib/internal/template/pagination/index.js.map +1 -1
- package/lib/internal/template/pagination/internal.js +36 -40
- package/lib/internal/template/pagination/internal.js.map +1 -1
- package/lib/internal/template/pie-chart/index.js +4 -6
- package/lib/internal/template/pie-chart/index.js.map +1 -1
- package/lib/internal/template/pie-chart/labels.js +2 -2
- package/lib/internal/template/pie-chart/labels.js.map +1 -1
- package/lib/internal/template/pie-chart/segments.js +1 -1
- package/lib/internal/template/pie-chart/segments.js.map +1 -1
- package/lib/internal/template/pie-chart/utils.js +17 -5
- package/lib/internal/template/pie-chart/utils.js.map +1 -1
- package/lib/internal/template/popover/body.js +3 -3
- package/lib/internal/template/popover/body.js.map +1 -1
- package/lib/internal/template/popover/container.js +1 -1
- package/lib/internal/template/popover/container.js.map +1 -1
- package/lib/internal/template/popover/index.js +2 -4
- package/lib/internal/template/popover/index.js.map +1 -1
- package/lib/internal/template/popover/internal.js +4 -6
- package/lib/internal/template/popover/internal.js.map +1 -1
- package/lib/internal/template/progress-bar/index.d.ts +1 -1
- package/lib/internal/template/progress-bar/index.d.ts.map +1 -1
- package/lib/internal/template/progress-bar/index.js +3 -5
- package/lib/internal/template/progress-bar/index.js.map +1 -1
- package/lib/internal/template/progress-bar/interfaces.d.ts +19 -0
- package/lib/internal/template/progress-bar/interfaces.d.ts.map +1 -1
- package/lib/internal/template/progress-bar/interfaces.js.map +1 -1
- package/lib/internal/template/progress-bar/internal.d.ts +2 -1
- package/lib/internal/template/progress-bar/internal.d.ts.map +1 -1
- package/lib/internal/template/progress-bar/internal.js +10 -3
- package/lib/internal/template/progress-bar/internal.js.map +1 -1
- package/lib/internal/template/progress-bar/styles.css.js +19 -19
- package/lib/internal/template/progress-bar/styles.d.ts +16 -0
- package/lib/internal/template/progress-bar/styles.d.ts.map +1 -0
- package/lib/internal/template/progress-bar/styles.js +33 -0
- package/lib/internal/template/progress-bar/styles.js.map +1 -0
- package/lib/internal/template/progress-bar/styles.scoped.css +56 -56
- package/lib/internal/template/progress-bar/styles.selectors.js +19 -19
- package/lib/internal/template/prompt-input/index.js +2 -4
- package/lib/internal/template/prompt-input/index.js.map +1 -1
- package/lib/internal/template/prompt-input/interfaces.d.ts +48 -0
- package/lib/internal/template/prompt-input/interfaces.d.ts.map +1 -1
- package/lib/internal/template/prompt-input/interfaces.js.map +1 -1
- package/lib/internal/template/prompt-input/internal.d.ts.map +1 -1
- package/lib/internal/template/prompt-input/internal.js +5 -6
- package/lib/internal/template/prompt-input/internal.js.map +1 -1
- package/lib/internal/template/prompt-input/styles.css.js +17 -17
- package/lib/internal/template/prompt-input/styles.d.ts +5 -0
- package/lib/internal/template/prompt-input/styles.d.ts.map +1 -0
- package/lib/internal/template/prompt-input/styles.js +44 -0
- package/lib/internal/template/prompt-input/styles.js.map +1 -0
- package/lib/internal/template/prompt-input/styles.scoped.css +73 -61
- package/lib/internal/template/prompt-input/styles.selectors.js +17 -17
- package/lib/internal/template/property-filter/controller.js +6 -6
- package/lib/internal/template/property-filter/controller.js.map +1 -1
- package/lib/internal/template/property-filter/filter-options.js +1 -1
- package/lib/internal/template/property-filter/filter-options.js.map +1 -1
- package/lib/internal/template/property-filter/filtering-token/index.js +11 -14
- package/lib/internal/template/property-filter/filtering-token/index.js.map +1 -1
- package/lib/internal/template/property-filter/i18n-utils.js +48 -11
- package/lib/internal/template/property-filter/i18n-utils.js.map +1 -1
- package/lib/internal/template/property-filter/index.js +4 -6
- package/lib/internal/template/property-filter/index.js.map +1 -1
- package/lib/internal/template/property-filter/internal.js +15 -13
- package/lib/internal/template/property-filter/internal.js.map +1 -1
- package/lib/internal/template/property-filter/property-editor.js +1 -1
- package/lib/internal/template/property-filter/property-editor.js.map +1 -1
- package/lib/internal/template/property-filter/property-filter-autosuggest.js +8 -4
- package/lib/internal/template/property-filter/property-filter-autosuggest.js.map +1 -1
- package/lib/internal/template/property-filter/token-editor-inputs.js +10 -9
- package/lib/internal/template/property-filter/token-editor-inputs.js.map +1 -1
- package/lib/internal/template/property-filter/token-editor.js +10 -10
- package/lib/internal/template/property-filter/token-editor.js.map +1 -1
- package/lib/internal/template/property-filter/token.js +8 -8
- package/lib/internal/template/property-filter/token.js.map +1 -1
- package/lib/internal/template/property-filter/use-load-items.js +6 -1
- package/lib/internal/template/property-filter/use-load-items.js.map +1 -1
- package/lib/internal/template/radio-group/analytics-metadata/interfaces.d.ts +1 -0
- package/lib/internal/template/radio-group/analytics-metadata/interfaces.d.ts.map +1 -1
- package/lib/internal/template/radio-group/analytics-metadata/interfaces.js.map +1 -1
- package/lib/internal/template/radio-group/analytics-metadata/styles.css.js +6 -0
- package/lib/internal/template/radio-group/analytics-metadata/styles.scoped.css +7 -0
- package/lib/internal/template/radio-group/analytics-metadata/styles.selectors.js +7 -0
- package/lib/internal/template/radio-group/index.d.ts.map +1 -1
- package/lib/internal/template/radio-group/index.js +10 -8
- package/lib/internal/template/radio-group/index.js.map +1 -1
- package/lib/internal/template/radio-group/internal.d.ts.map +1 -1
- package/lib/internal/template/radio-group/internal.js +11 -12
- package/lib/internal/template/radio-group/internal.js.map +1 -1
- package/lib/internal/template/radio-group/radio-button.js +4 -6
- package/lib/internal/template/radio-group/radio-button.js.map +1 -1
- package/lib/internal/template/radio-group/styles.css.js +10 -10
- package/lib/internal/template/radio-group/styles.scoped.css +22 -22
- package/lib/internal/template/radio-group/styles.selectors.js +10 -10
- package/lib/internal/template/s3-resource-selector/index.js +3 -5
- package/lib/internal/template/s3-resource-selector/index.js.map +1 -1
- package/lib/internal/template/s3-resource-selector/s3-in-context/index.js +1 -1
- package/lib/internal/template/s3-resource-selector/s3-in-context/index.js.map +1 -1
- package/lib/internal/template/s3-resource-selector/s3-in-context/search-input.js +1 -1
- package/lib/internal/template/s3-resource-selector/s3-in-context/search-input.js.map +1 -1
- package/lib/internal/template/s3-resource-selector/s3-modal/basic-table.js +4 -7
- package/lib/internal/template/s3-resource-selector/s3-modal/basic-table.js.map +1 -1
- package/lib/internal/template/s3-resource-selector/s3-modal/buckets-table.js +13 -1
- package/lib/internal/template/s3-resource-selector/s3-modal/buckets-table.js.map +1 -1
- package/lib/internal/template/s3-resource-selector/s3-modal/index.js +4 -1
- package/lib/internal/template/s3-resource-selector/s3-modal/index.js.map +1 -1
- package/lib/internal/template/s3-resource-selector/s3-modal/objects-table.js +14 -2
- package/lib/internal/template/s3-resource-selector/s3-modal/objects-table.js.map +1 -1
- package/lib/internal/template/s3-resource-selector/s3-modal/versions-table.js +13 -1
- package/lib/internal/template/s3-resource-selector/s3-modal/versions-table.js.map +1 -1
- package/lib/internal/template/segmented-control/index.js +1 -1
- package/lib/internal/template/segmented-control/index.js.map +1 -1
- package/lib/internal/template/segmented-control/internal.js +6 -8
- package/lib/internal/template/segmented-control/internal.js.map +1 -1
- package/lib/internal/template/segmented-control/segment.js +1 -1
- package/lib/internal/template/segmented-control/segment.js.map +1 -1
- package/lib/internal/template/select/index.js +2 -4
- package/lib/internal/template/select/index.js.map +1 -1
- package/lib/internal/template/select/internal.js +13 -10
- package/lib/internal/template/select/internal.js.map +1 -1
- package/lib/internal/template/select/parts/filter.js +9 -4
- package/lib/internal/template/select/parts/filter.js.map +1 -1
- package/lib/internal/template/select/parts/item.js +3 -5
- package/lib/internal/template/select/parts/item.js.map +1 -1
- package/lib/internal/template/select/parts/multiselect-item.js +3 -5
- package/lib/internal/template/select/parts/multiselect-item.js.map +1 -1
- package/lib/internal/template/select/parts/plain-list.js +1 -1
- package/lib/internal/template/select/parts/plain-list.js.map +1 -1
- package/lib/internal/template/select/parts/trigger.js +2 -2
- package/lib/internal/template/select/parts/trigger.js.map +1 -1
- package/lib/internal/template/select/parts/virtual-list.js +3 -3
- package/lib/internal/template/select/parts/virtual-list.js.map +1 -1
- package/lib/internal/template/select/utils/get-item-props.js +7 -1
- package/lib/internal/template/select/utils/get-item-props.js.map +1 -1
- package/lib/internal/template/select/utils/render-options.js +1 -1
- package/lib/internal/template/select/utils/render-options.js.map +1 -1
- package/lib/internal/template/side-navigation/implementation.js +2 -4
- package/lib/internal/template/side-navigation/implementation.js.map +1 -1
- package/lib/internal/template/side-navigation/index.js +2 -4
- package/lib/internal/template/side-navigation/index.js.map +1 -1
- package/lib/internal/template/side-navigation/parts.js +4 -4
- package/lib/internal/template/side-navigation/parts.js.map +1 -1
- package/lib/internal/template/slider/index.js +2 -4
- package/lib/internal/template/slider/index.js.map +1 -1
- package/lib/internal/template/slider/internal.js +2 -4
- package/lib/internal/template/slider/internal.js.map +1 -1
- package/lib/internal/template/slider/styles.css.js +26 -26
- package/lib/internal/template/slider/styles.scoped.css +86 -86
- package/lib/internal/template/slider/styles.selectors.js +26 -26
- package/lib/internal/template/slider/tick-marks.js +3 -3
- package/lib/internal/template/slider/tick-marks.js.map +1 -1
- package/lib/internal/template/space-between/index.js +2 -4
- package/lib/internal/template/space-between/index.js.map +1 -1
- package/lib/internal/template/space-between/internal.js +2 -4
- package/lib/internal/template/space-between/internal.js.map +1 -1
- package/lib/internal/template/spinner/index.js +2 -4
- package/lib/internal/template/spinner/index.js.map +1 -1
- package/lib/internal/template/spinner/internal.js +2 -4
- package/lib/internal/template/spinner/internal.js.map +1 -1
- 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/split-panel/bottom.js +2 -2
- package/lib/internal/template/split-panel/bottom.js.map +1 -1
- package/lib/internal/template/split-panel/implementation.js +2 -4
- package/lib/internal/template/split-panel/implementation.js.map +1 -1
- package/lib/internal/template/split-panel/index.js +16 -4
- package/lib/internal/template/split-panel/index.js.map +1 -1
- package/lib/internal/template/split-panel/side.js +6 -2
- package/lib/internal/template/split-panel/side.js.map +1 -1
- package/lib/internal/template/status-indicator/index.js +2 -4
- package/lib/internal/template/status-indicator/index.js.map +1 -1
- package/lib/internal/template/status-indicator/internal.js +3 -5
- package/lib/internal/template/status-indicator/internal.js.map +1 -1
- package/lib/internal/template/steps/index.js +2 -4
- package/lib/internal/template/steps/index.js.map +1 -1
- package/lib/internal/template/steps/internal.js +2 -4
- package/lib/internal/template/steps/internal.js.map +1 -1
- package/lib/internal/template/table/body-cell/disabled-inline-editor.js +4 -6
- package/lib/internal/template/table/body-cell/disabled-inline-editor.js.map +1 -1
- package/lib/internal/template/table/body-cell/index.js +9 -11
- package/lib/internal/template/table/body-cell/index.js.map +1 -1
- package/lib/internal/template/table/body-cell/inline-editor.js +18 -21
- package/lib/internal/template/table/body-cell/inline-editor.js.map +1 -1
- package/lib/internal/template/table/body-cell/td-element.js +3 -5
- package/lib/internal/template/table/body-cell/td-element.js.map +1 -1
- package/lib/internal/template/table/expandable-rows/expandable-rows-utils.js +1 -1
- package/lib/internal/template/table/expandable-rows/expandable-rows-utils.js.map +1 -1
- package/lib/internal/template/table/header-cell/index.js +20 -20
- package/lib/internal/template/table/header-cell/index.js.map +1 -1
- package/lib/internal/template/table/header-cell/th-element.js +3 -5
- package/lib/internal/template/table/header-cell/th-element.js.map +1 -1
- package/lib/internal/template/table/index.js +14 -10
- package/lib/internal/template/table/index.js.map +1 -1
- package/lib/internal/template/table/internal.js +47 -34
- package/lib/internal/template/table/internal.js.map +1 -1
- package/lib/internal/template/table/progressive-loading/loader-cell.js +2 -4
- package/lib/internal/template/table/progressive-loading/loader-cell.js.map +1 -1
- package/lib/internal/template/table/selection/selection-cell.js +8 -11
- package/lib/internal/template/table/selection/selection-cell.js.map +1 -1
- package/lib/internal/template/table/selection/selection-control.js +10 -12
- package/lib/internal/template/table/selection/selection-control.js.map +1 -1
- package/lib/internal/template/table/sticky-columns/use-sticky-columns.js +1 -1
- package/lib/internal/template/table/sticky-columns/use-sticky-columns.js.map +1 -1
- package/lib/internal/template/table/sticky-header.js +2 -2
- package/lib/internal/template/table/sticky-header.js.map +1 -1
- package/lib/internal/template/table/thead.js +5 -5
- package/lib/internal/template/table/thead.js.map +1 -1
- package/lib/internal/template/table/use-cell-editing.js +3 -4
- package/lib/internal/template/table/use-cell-editing.js.map +1 -1
- package/lib/internal/template/table/utils.js +1 -1
- package/lib/internal/template/table/utils.js.map +1 -1
- package/lib/internal/template/tabs/index.js +6 -8
- package/lib/internal/template/tabs/index.js.map +1 -1
- package/lib/internal/template/tabs/tab-header-bar.js +12 -5
- package/lib/internal/template/tabs/tab-header-bar.js.map +1 -1
- package/lib/internal/template/tag-editor/index.js +7 -9
- package/lib/internal/template/tag-editor/index.js.map +1 -1
- 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/text-content/index.js +2 -4
- package/lib/internal/template/text-content/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/text-filter/index.js +1 -1
- package/lib/internal/template/text-filter/index.js.map +1 -1
- package/lib/internal/template/text-filter/internal.js +2 -4
- package/lib/internal/template/text-filter/internal.js.map +1 -1
- package/lib/internal/template/textarea/index.js +3 -5
- package/lib/internal/template/textarea/index.js.map +1 -1
- package/lib/internal/template/textarea/styles.css.js +5 -5
- package/lib/internal/template/textarea/styles.js +42 -30
- package/lib/internal/template/textarea/styles.js.map +1 -1
- package/lib/internal/template/textarea/styles.scoped.css +41 -41
- package/lib/internal/template/textarea/styles.selectors.js +5 -5
- package/lib/internal/template/tiles/index.js +3 -3
- package/lib/internal/template/tiles/index.js.map +1 -1
- package/lib/internal/template/tiles/internal.js +12 -14
- package/lib/internal/template/tiles/internal.js.map +1 -1
- package/lib/internal/template/tiles/tile.js +3 -5
- package/lib/internal/template/tiles/tile.js.map +1 -1
- package/lib/internal/template/time-input/index.js +2 -4
- package/lib/internal/template/time-input/index.js.map +1 -1
- package/lib/internal/template/time-input/internal.js +2 -4
- package/lib/internal/template/time-input/internal.js.map +1 -1
- package/lib/internal/template/toggle/index.js +1 -1
- package/lib/internal/template/toggle/index.js.map +1 -1
- package/lib/internal/template/toggle/internal.js +5 -7
- package/lib/internal/template/toggle/internal.js.map +1 -1
- 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/toggle-button/index.js +2 -4
- package/lib/internal/template/toggle-button/index.js.map +1 -1
- package/lib/internal/template/toggle-button/internal.js +3 -5
- package/lib/internal/template/toggle-button/internal.js.map +1 -1
- package/lib/internal/template/token/dismiss-button.js +2 -2
- package/lib/internal/template/token/dismiss-button.js.map +1 -1
- package/lib/internal/template/token/index.js +1 -1
- package/lib/internal/template/token/index.js.map +1 -1
- package/lib/internal/template/token/internal.js +20 -14
- package/lib/internal/template/token/internal.js.map +1 -1
- package/lib/internal/template/token-group/index.js +2 -4
- package/lib/internal/template/token-group/index.js.map +1 -1
- package/lib/internal/template/token-group/internal.js +6 -8
- package/lib/internal/template/token-group/internal.js.map +1 -1
- package/lib/internal/template/top-navigation/index.js +2 -4
- package/lib/internal/template/top-navigation/index.js.map +1 -1
- package/lib/internal/template/top-navigation/internal.js +2 -4
- package/lib/internal/template/top-navigation/internal.js.map +1 -1
- package/lib/internal/template/top-navigation/parts/overflow-menu/menu-item.js +7 -11
- package/lib/internal/template/top-navigation/parts/overflow-menu/menu-item.js.map +1 -1
- package/lib/internal/template/top-navigation/parts/overflow-menu/views/submenu.js +2 -2
- package/lib/internal/template/top-navigation/parts/overflow-menu/views/submenu.js.map +1 -1
- package/lib/internal/template/top-navigation/parts/overflow-menu/views/utilities.js +1 -1
- package/lib/internal/template/top-navigation/parts/overflow-menu/views/utilities.js.map +1 -1
- package/lib/internal/template/top-navigation/parts/utility.js +1 -1
- package/lib/internal/template/top-navigation/parts/utility.js.map +1 -1
- package/lib/internal/template/tree-view/index.js +1 -1
- package/lib/internal/template/tree-view/index.js.map +1 -1
- package/lib/internal/template/tree-view/internal.js +2 -4
- package/lib/internal/template/tree-view/internal.js.map +1 -1
- package/lib/internal/template/tutorial-panel/components/tutorial-detail-view/task-list.js +1 -1
- package/lib/internal/template/tutorial-panel/components/tutorial-detail-view/task-list.js.map +1 -1
- package/lib/internal/template/tutorial-panel/index.js +2 -4
- package/lib/internal/template/tutorial-panel/index.js.map +1 -1
- package/lib/internal/template/wizard/index.js +2 -4
- package/lib/internal/template/wizard/index.js.map +1 -1
- package/lib/internal/template/wizard/internal.js +23 -10
- package/lib/internal/template/wizard/internal.js.map +1 -1
- package/lib/internal/template/wizard/wizard-actions.js +3 -3
- package/lib/internal/template/wizard/wizard-actions.js.map +1 -1
- package/lib/internal/template/wizard/wizard-form.js +2 -2
- package/lib/internal/template/wizard/wizard-form.js.map +1 -1
- package/lib/internal/template/wizard/wizard-navigation.js +7 -7
- package/lib/internal/template/wizard/wizard-navigation.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-header-bar.js","sourceRoot":"","sources":["../../../src/tabs/tab-header-bar.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\n\nimport React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { useContainerQuery } from '@cloudscape-design/component-toolkit';\nimport {\n SingleTabStopNavigationAPI,\n SingleTabStopNavigationProvider,\n useMergeRefs,\n useSingleTabStopNavigation,\n} from '@cloudscape-design/component-toolkit/internal';\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport { ButtonProps } from '../button/interfaces';\nimport { InternalButton } from '../button/internal';\nimport { useInternalI18n } from '../i18n/context';\nimport { getAllFocusables } from '../internal/components/focus-lock/utils';\nimport Tooltip from '../internal/components/tooltip';\nimport { hasModifierKeys, isPlainLeftClick } from '../internal/events';\nimport useHiddenDescription from '../internal/hooks/use-hidden-description';\nimport { usePrevious } from '../internal/hooks/use-previous';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport { KeyCode } from '../internal/keycode';\nimport { circleIndex } from '../internal/utils/circle-index';\nimport { isHTMLElement } from '../internal/utils/dom';\nimport handleKey from '../internal/utils/handle-key';\nimport {\n GeneratedAnalyticsMetadataTabsComponent,\n GeneratedAnalyticsMetadataTabsDismiss,\n GeneratedAnalyticsMetadataTabsSelect,\n} from './analytics-metadata/interfaces';\nimport { TabsProps } from './interfaces';\nimport {\n hasHorizontalOverflow,\n hasInlineEndOverflow,\n hasInlineStartOverflow,\n onPaginationClick,\n scrollIntoView,\n} from './scroll-utils';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\nimport styles from './styles.css.js';\nimport testUtilStyles from './test-classes/styles.css.js';\n\nconst tabSelector = `.${styles['tabs-tab-link']}`;\nconst focusedTabSelector = `.${styles['tabs-tab-focused']}`;\nconst focusableTabSelector = `.${styles['tabs-tab-focusable']}`;\n\nfunction dismissButton({\n dismissLabel,\n dismissDisabled,\n onDismiss,\n tabId,\n}: {\n dismissLabel?: string;\n dismissDisabled?: boolean;\n onDismiss: ButtonProps['onClick'];\n tabId: string;\n}) {\n return (\n <InternalButton\n onClick={onDismiss}\n variant=\"icon\"\n iconName=\"close\"\n formAction=\"none\"\n ariaLabel={dismissLabel}\n disabled={dismissDisabled}\n className={clsx(testUtilStyles['tab-dismiss-button'], analyticsSelectors['tab-dismiss-button'])}\n data-testid={`awsui-tab-dismiss-button-${tabId}`}\n />\n );\n}\n\ninterface TabHeaderBarProps {\n onChange: (changeDetail: TabsProps.ChangeDetail) => void;\n activeTabId: TabsProps['activeTabId'];\n tabs: TabsProps['tabs'];\n variant: TabsProps['variant'];\n idNamespace: string;\n ariaLabel?: string;\n ariaLabelledby?: string;\n i18nStrings?: TabsProps.I18nStrings;\n keyboardActivationMode: Required<TabsProps['keyboardActivationMode']>;\n actions?: TabsProps['actions'];\n}\n\nexport function TabHeaderBar({\n onChange,\n activeTabId,\n tabs,\n variant,\n idNamespace,\n ariaLabel,\n ariaLabelledby,\n i18nStrings,\n keyboardActivationMode,\n actions,\n}: TabHeaderBarProps) {\n const headerBarRef = useRef<HTMLUListElement>(null);\n const activeTabHeaderRef = useRef<null | HTMLElement>(null);\n const inlineStartOverflowButton = useRef<HTMLElement>(null);\n const i18n = useInternalI18n('tabs');\n\n const isVisualRefresh = useVisualRefresh();\n\n const containerObjectRef = useRef<HTMLDivElement>(null);\n const documentRef = useRef<null | Document>(typeof document !== 'undefined' ? document : null);\n const documentRefCallback = (node: null | Element) => (documentRef.current = node?.ownerDocument ?? document);\n const [widthChange, containerMeasureRef] = useContainerQuery<number>(rect => rect.contentBoxWidth);\n const containerRef = useMergeRefs(containerObjectRef, containerMeasureRef, documentRefCallback);\n const tabRefs = useRef<Map<string, HTMLElement>>(new Map());\n const [horizontalOverflow, setHorizontalOverflow] = useState(false);\n const [inlineStartOverflow, setInlineStartOverflow] = useState(false);\n const [inlineEndOverflow, setInlineEndOverflow] = useState(false);\n const [focusedTabId, setFocusedTabId] = useState(activeTabId);\n const [previousActiveTabId, setPreviousActiveTabId] = useState<string | undefined>(activeTabId);\n const hasActionOrDismissible = tabs.some(tab => tab.action || tab.dismissible);\n const hadActionOrDismissible = usePrevious(hasActionOrDismissible);\n const tabActionAttributes = hasActionOrDismissible\n ? {\n role: 'application',\n 'aria-roledescription': i18n(\n 'i18nStrings.tabsWithActionsAriaRoleDescription',\n i18nStrings?.tabsWithActionsAriaRoleDescription\n ),\n }\n : {\n role: 'tablist',\n };\n\n useEffect(() => {\n if (hadActionOrDismissible && !hasActionOrDismissible) {\n // when tabs becomes non-dismissible (e.g. when all dismissible tabs are removed),\n // the hasActionOrDismissible is changing which causing tabs to re-mount to the React tree,\n // which, in turn, causes losing their refs, and the nextActive.focus() function inside handleDismiss does not focus on the next tab\n // so this code does\n getNextFocusTarget()?.focus();\n }\n }, [hasActionOrDismissible, hadActionOrDismissible]);\n\n useEffect(() => {\n if (headerBarRef.current) {\n setHorizontalOverflow(hasHorizontalOverflow(headerBarRef.current, inlineStartOverflowButton));\n setInlineStartOverflow(hasInlineStartOverflow(headerBarRef.current));\n setInlineEndOverflow(hasInlineEndOverflow(headerBarRef.current));\n }\n }, [widthChange, tabs]);\n\n const scrollIntoViewIfPossible = (smooth: boolean) => {\n if (!activeTabId) {\n return;\n }\n const activeTabRef = tabRefs.current.get(activeTabId);\n if (activeTabRef && headerBarRef.current) {\n scrollIntoView(activeTabRef, headerBarRef.current, smooth);\n }\n };\n\n useEffect(() => {\n // Delay scrollIntoView as the position is depending on parent elements\n // (effects are called inside-out in the component tree).\n // Wait one frame to allow parents to complete it's calculation.\n requestAnimationFrame(() => {\n scrollIntoViewIfPossible(false);\n });\n // Non-smooth scrolling should not be called upon activeId change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [horizontalOverflow, widthChange, tabs.length]);\n\n useEffect(() => {\n scrollIntoViewIfPossible(true);\n // Smooth scrolling should only be called upon activeId change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeTabId]);\n\n useEffect(() => {\n /*\n When the selected tab changes and we are currently already focused on a tab,\n move the focus to the newly selected tab.\n */\n if (documentRef.current && headerBarRef.current?.contains(documentRef.current.activeElement)) {\n if (documentRef.current.activeElement !== activeTabHeaderRef.current) {\n activeTabHeaderRef.current?.focus({ preventScroll: true });\n }\n }\n }, [activeTabId]);\n\n const onScroll = () => {\n if (headerBarRef.current) {\n setInlineStartOverflow(hasInlineStartOverflow(headerBarRef.current));\n setInlineEndOverflow(hasInlineEndOverflow(headerBarRef.current));\n }\n };\n\n const classes = clsx({\n [styles['tabs-header']]: true,\n [styles['tabs-header-with-divider']]: variant === 'default' || isVisualRefresh,\n });\n\n const leftButtonClasses = clsx({\n [styles['pagination-button']]: true,\n [styles['pagination-button-left']]: true,\n [styles['pagination-button-left-scrollable']]: inlineStartOverflow,\n });\n\n const rightButtonClasses = clsx({\n [styles['pagination-button']]: true,\n [styles['pagination-button-right']]: true,\n [styles['pagination-button-right-scrollable']]: inlineEndOverflow,\n });\n\n const navigationAPI = useRef<SingleTabStopNavigationAPI>(null);\n\n function getNextFocusTarget(): null | HTMLElement {\n if (!containerObjectRef.current) {\n return null;\n }\n const tabElements: HTMLButtonElement[] = Array.from(containerObjectRef.current.querySelectorAll(tabSelector));\n return tabElements.find(tab => tab.matches(focusedTabSelector)) ?? tabElements.find(tab => !tab.disabled) ?? null;\n }\n\n function onUnregisterActive(focusableElement: HTMLElement) {\n const isFocusableActionOrDismissible = !focusableElement.classList.contains(styles['tabs-tab-link']);\n if (!isFocusableActionOrDismissible) {\n const nextFocusTarget = navigationAPI.current?.getFocusTarget();\n const tabLinkButton = nextFocusTarget?.querySelector(`.${styles['tabs-tab-link']}`) as HTMLElement;\n tabLinkButton?.focus();\n }\n }\n\n useEffect(() => {\n navigationAPI.current?.updateFocusTarget();\n });\n function onFocus() {\n navigationAPI.current?.updateFocusTarget();\n }\n function onBlur() {\n navigationAPI.current?.updateFocusTarget();\n }\n\n function onKeyDown(event: React.KeyboardEvent) {\n const focusTarget = documentRef.current?.activeElement;\n const specialKeys = [\n KeyCode.right,\n KeyCode.left,\n KeyCode.end,\n KeyCode.home,\n KeyCode.pageUp,\n KeyCode.pageDown,\n KeyCode.space,\n ];\n const isActionOpen = documentRef.current?.querySelector(`.${styles['tabs-tab-action']} [aria-expanded=\"true\"]`);\n const isDismissOrActionFocused = !focusTarget?.classList.contains(styles['tabs-tab-link']);\n\n if (isActionOpen) {\n return;\n }\n if (event.key === 'Tab' && !event.shiftKey && isDismissOrActionFocused) {\n event.preventDefault();\n const panelId = `${idNamespace}-${activeTabId}-panel`;\n const panel = documentRef.current?.getElementById(panelId);\n panel?.focus();\n }\n if (hasModifierKeys(event) || specialKeys.indexOf(event.keyCode) === -1) {\n return;\n }\n if (!containerObjectRef.current || !focusTarget) {\n return;\n }\n\n event.preventDefault();\n\n const focusables = getFocusablesFrom(containerObjectRef.current);\n const activeIndex = isHTMLElement(focusTarget) ? focusables.indexOf(focusTarget) : -1;\n\n handleKey(event as any, {\n onHome: () => focusElement(focusables[0]),\n onEnd: () => focusElement(focusables[focusables.length - 1]),\n onInlineStart: () => focusElement(focusables[circleIndex(activeIndex - 1, [0, focusables.length - 1])]),\n onInlineEnd: () => focusElement(focusables[circleIndex(activeIndex + 1, [0, focusables.length - 1])]),\n onPageDown: () => inlineEndOverflow && onPaginationClick(headerBarRef, 'forward'),\n onPageUp: () => inlineStartOverflow && onPaginationClick(headerBarRef, 'backward'),\n onActivate: () =>\n focusedTabId &&\n focusedTabId !== activeTabId &&\n onChange({ activeTabId: focusedTabId, activeTabHref: tabs.find(tab => tab.id === focusedTabId)?.href }),\n });\n }\n function focusElement(element: HTMLElement) {\n element.focus();\n // If focusable element is a tab - fire the onChange for it.\n const tabsById = tabs.reduce((map, tab) => map.set(tab.id, tab), new Map<string, TabsProps.Tab>());\n for (const [tabId, focusTargetTabTriggerElement] of tabRefs.current.entries()) {\n const focusTargetTabLabelElement = focusTargetTabTriggerElement?.querySelector(`.${styles['tabs-tab-link']}`);\n if (tabId !== activeTabId && focusTargetTabLabelElement === element) {\n setPreviousActiveTabId(tabId);\n setFocusedTabId(tabId);\n\n if (!tabsById.get(tabId)?.disabled && keyboardActivationMode === 'automatic') {\n onChange({ activeTabId: tabId, activeTabHref: tabsById.get(tabId)?.href });\n }\n break;\n }\n }\n }\n // List all non-disabled and registered focusables: those are eligible for keyboard navigation.\n function getFocusablesFrom(target: HTMLElement) {\n function isElementRegistered(element: HTMLElement) {\n return navigationAPI.current?.isRegistered(element) ?? false;\n }\n function isElementFocusable(element: HTMLElement) {\n if (element instanceof HTMLButtonElement) {\n return !element.disabled || element.closest(focusableTabSelector);\n }\n\n return element.matches(focusableTabSelector);\n }\n return getAllFocusables(target).filter(el => isElementRegistered(el) && isElementFocusable(el));\n }\n\n const TabList = hasActionOrDismissible ? 'div' : 'ul';\n\n return (\n <div className={classes}>\n <div className={styles['tab-header-scroll-container']} ref={containerRef}>\n {horizontalOverflow && (\n <span ref={inlineStartOverflowButton} className={leftButtonClasses}>\n <InternalButton\n formAction=\"none\"\n variant=\"icon\"\n iconName=\"angle-left\"\n disabled={!inlineStartOverflow}\n __focusable={true}\n onClick={() => onPaginationClick(headerBarRef, 'backward')}\n ariaLabel={i18n('i18nStrings.scrollLeftAriaLabel', i18nStrings?.scrollLeftAriaLabel)}\n />\n </span>\n )}\n <SingleTabStopNavigationProvider\n ref={navigationAPI}\n navigationActive={true}\n getNextFocusTarget={getNextFocusTarget}\n onUnregisterActive={onUnregisterActive}\n >\n <TabList\n {...tabActionAttributes}\n className={clsx(styles['tabs-header-list'], analyticsSelectors['tabs-header-list'])}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n ref={headerBarRef as never}\n onScroll={onScroll}\n onKeyDown={onKeyDown}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {tabs.map(renderTabHeader)}\n </TabList>\n </SingleTabStopNavigationProvider>\n {horizontalOverflow && (\n <span className={rightButtonClasses}>\n <InternalButton\n formAction=\"none\"\n variant=\"icon\"\n iconName=\"angle-right\"\n disabled={!inlineEndOverflow}\n __focusable={true}\n onClick={() => onPaginationClick(headerBarRef, 'forward')}\n ariaLabel={i18n('i18nStrings.scrollRightAriaLabel', i18nStrings?.scrollRightAriaLabel)}\n />\n </span>\n )}\n </div>\n {actions && <div className={styles['actions-container']}>{actions}</div>}\n </div>\n );\n\n function renderTabHeader(tab: TabsProps.Tab, index: number) {\n const { dismissible, dismissLabel, dismissDisabled, action, onDismiss } = tab;\n const isActive = activeTabId === tab.id && !tab.disabled;\n\n const clickTab = (event: React.MouseEvent) => {\n if (tab.disabled) {\n event.preventDefault();\n return;\n }\n\n // if the primary mouse button is clicked with a modifier key, the browser will handle opening a new tab\n const specialKey = !isPlainLeftClick(event);\n if (specialKey && tab.href) {\n return;\n }\n\n event.preventDefault();\n // for browsers that do not focus buttons on button click\n if (!tab.href) {\n const clickedTabRef = tabRefs.current.get(tab.id) as undefined | HTMLButtonElement;\n if (clickedTabRef) {\n if (clickedTabRef && clickedTabRef !== documentRef.current?.activeElement) {\n clickedTabRef.focus({ preventScroll: true });\n }\n }\n }\n\n if (tab.id === activeTabId) {\n return;\n }\n\n setFocusedTabId(tab.id);\n setPreviousActiveTabId(tab.id);\n onChange({ activeTabId: tab.id, activeTabHref: tab.href });\n };\n\n const classes = clsx({\n [styles['tabs-tab-link']]: true,\n [styles.refresh]: isVisualRefresh,\n [styles['tabs-tab-active']]: activeTabId === tab.id && !tab.disabled,\n [styles['tabs-tab-focused']]: focusedTabId === tab.id,\n [styles['tabs-tab-active']]: isActive,\n [analyticsSelectors['active-tab-header']]: isActive,\n [styles['tabs-tab-disabled']]: tab.disabled,\n [styles['tabs-tab-focusable']]: !tab.disabled || (tab.disabled && !!tab.disabledReason),\n });\n\n const tabHeaderContainerClasses = clsx({\n [styles['tabs-tab-header-container']]: true,\n [styles.refresh]: isVisualRefresh,\n [styles['tabs-tab-active']]: isActive,\n [styles['tabs-tab-disabled']]: tab.disabled,\n [styles['tabs-tab-focusable']]: !tab.disabled || (tab.disabled && !!tab.disabledReason),\n });\n\n const tabActionClasses = clsx({\n [styles['tabs-tab-action']]: true,\n [styles['tabs-tab-active']]: isActive,\n });\n\n const commonProps: (JSX.IntrinsicElements['a'] | JSX.IntrinsicElements['button']) & { 'data-testid': string } = {\n className: classes,\n 'aria-controls': `${idNamespace}-${tab.id}-panel`,\n 'data-testid': tab.id,\n id: getTabElementId({ namespace: idNamespace, tabId: tab.id }),\n onClick: clickTab,\n };\n\n const tabHeaderContainerAriaProps = hasActionOrDismissible\n ? {\n role: 'group',\n 'aria-labelledby': commonProps.id,\n }\n : {};\n\n if (!hasActionOrDismissible) {\n commonProps['aria-selected'] = activeTabId === tab.id;\n commonProps.role = 'tab';\n } else {\n commonProps['aria-expanded'] = activeTabId === tab.id;\n }\n\n if (tab.disabled) {\n commonProps['aria-disabled'] = 'true';\n }\n\n const setElement = (tabElement: null | HTMLElement) => {\n if (tab.id === activeTabId) {\n activeTabHeaderRef.current = tabElement;\n }\n tabRefs.current.set(tab.id, tabElement as HTMLElement);\n };\n\n const handleDismiss: ButtonProps['onClick'] = event => {\n if (!containerObjectRef.current || !onDismiss) {\n return;\n }\n const tabElements = getFocusablesFrom(containerObjectRef.current).filter(el =>\n el.classList.contains(styles['tabs-tab-link'])\n );\n const activeTabIndex = tabElements.findIndex(el => el.dataset.testid === tab.id);\n tabElements.splice(activeTabIndex, 1);\n let nextActive: HTMLElement | undefined;\n if (previousActiveTabId && previousActiveTabId !== tab.id) {\n nextActive = tabElements.find(el => el.dataset.testid === previousActiveTabId);\n } else {\n nextActive = tabElements[Math.min(tabElements.length - 1, activeTabIndex)];\n }\n if (nextActive && nextActive.dataset.testid) {\n onChange({ activeTabId: nextActive.dataset.testid });\n setPreviousActiveTabId(nextActive.dataset.testid);\n nextActive.focus();\n }\n onDismiss(event);\n };\n\n const TabItem = hasActionOrDismissible ? 'div' : 'li';\n\n const analyticsDismissMetadata: GeneratedAnalyticsMetadataTabsDismiss = {\n action: 'dismiss',\n detail: {\n id: tab.id,\n label: `.${analyticsSelectors['tab-dismiss-button']}`,\n position: `${index + 1}`,\n },\n };\n\n const analyticsComponentMetadataInnerContext: Partial<GeneratedAnalyticsMetadataTabsComponent> = {\n innerContext: {\n tabId: tab.id,\n tabLabel: `.${analyticsSelectors['tab-label']}`,\n tabPosition: `${index + 1}`,\n },\n };\n\n return (\n <TabItem\n ref={(element: any) => tabRefs.current.set(tab.id, element as HTMLElement)}\n className={styles['tabs-tab']}\n role=\"presentation\"\n key={tab.id}\n >\n <div\n className={tabHeaderContainerClasses}\n {...tabHeaderContainerAriaProps}\n {...getAnalyticsMetadataAttribute({ component: analyticsComponentMetadataInnerContext })}\n >\n <TabTrigger ref={setElement} tab={tab} elementProps={commonProps} activeTabId={activeTabId} index={index} />\n {action && <span className={tabActionClasses}>{action}</span>}\n {dismissible && (\n <span className={styles['tabs-tab-dismiss']} {...getAnalyticsMetadataAttribute(analyticsDismissMetadata)}>\n {dismissButton({ dismissLabel, dismissDisabled, onDismiss: handleDismiss, tabId: tab.id })}\n </span>\n )}\n </div>\n </TabItem>\n );\n }\n}\n\ninterface TabTriggerProps {\n tab: TabsProps.Tab;\n elementProps: React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>;\n activeTabId?: string;\n index: number;\n}\nconst TabTrigger = forwardRef(\n ({ tab, elementProps, activeTabId, index }: TabTriggerProps, ref: React.Ref<HTMLElement>) => {\n const refObject = useRef<HTMLElement>(null);\n const tabLabelRefObject = useRef<HTMLElement>(null);\n const mergedRef = useMergeRefs(refObject, ref);\n const { tabIndex } = useSingleTabStopNavigation(refObject);\n const isDisabledWithReason = tab.disabled && !!tab.disabledReason;\n const [showTooltip, setShowTooltip] = useState(false);\n const { targetProps, descriptionEl } = useHiddenDescription(tab.disabledReason);\n const children = (\n <>\n <span className={clsx(styles['tabs-tab-label'], analyticsSelectors['tab-label'])} ref={tabLabelRefObject}>\n {/* The label is wrapped with span so that whitespaces inside don't get trimmed. */}\n <span>{tab.label}</span>\n </span>\n {isDisabledWithReason && (\n <>\n {descriptionEl}\n {showTooltip && (\n <Tooltip\n className={styles['disabled-reason-tooltip']}\n trackRef={tabLabelRefObject}\n value={tab.disabledReason!}\n onDismiss={() => setShowTooltip(false)}\n />\n )}\n </>\n )}\n </>\n );\n\n const handlers = {\n onFocus: () => setShowTooltip(true),\n onBlur: () => setShowTooltip(false),\n onMouseEnter: () => setShowTooltip(true),\n onMouseLeave: () => setShowTooltip(false),\n };\n\n const analyticsSelectMetadata: GeneratedAnalyticsMetadataTabsSelect = {\n action: 'select',\n detail: {\n id: tab.id,\n label: `.${analyticsSelectors['tab-label']}`,\n position: `${index + 1}`,\n originTabId: activeTabId || '',\n },\n };\n\n const commonProps = {\n ...elementProps,\n ...(isDisabledWithReason ? targetProps : {}),\n ...(isDisabledWithReason ? handlers : {}),\n ref: mergedRef,\n tabIndex: tabIndex,\n ...(tab.disabled || tab.id === activeTabId ? {} : getAnalyticsMetadataAttribute(analyticsSelectMetadata)),\n };\n\n return tab.href ? (\n <a {...commonProps} href={tab.href}>\n {children}\n </a>\n ) : (\n <button {...commonProps} type=\"button\" disabled={tab.disabled && !isDisabledWithReason}>\n {children}\n </button>\n );\n }\n);\n\nexport function getTabElementId({ namespace, tabId }: { namespace: string; tabId: string }) {\n return namespace + '-' + tabId;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"tab-header-bar.js","sourceRoot":"","sources":["../../../src/tabs/tab-header-bar.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\n\nimport React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { useContainerQuery } from '@cloudscape-design/component-toolkit';\nimport {\n SingleTabStopNavigationAPI,\n SingleTabStopNavigationProvider,\n useMergeRefs,\n useSingleTabStopNavigation,\n} from '@cloudscape-design/component-toolkit/internal';\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport { ButtonProps } from '../button/interfaces';\nimport { InternalButton } from '../button/internal';\nimport { useInternalI18n } from '../i18n/context';\nimport { getAllFocusables } from '../internal/components/focus-lock/utils';\nimport Tooltip from '../internal/components/tooltip';\nimport { hasModifierKeys, isPlainLeftClick } from '../internal/events';\nimport useHiddenDescription from '../internal/hooks/use-hidden-description';\nimport { usePrevious } from '../internal/hooks/use-previous';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport { KeyCode } from '../internal/keycode';\nimport { circleIndex } from '../internal/utils/circle-index';\nimport { isHTMLElement } from '../internal/utils/dom';\nimport handleKey from '../internal/utils/handle-key';\nimport {\n GeneratedAnalyticsMetadataTabsComponent,\n GeneratedAnalyticsMetadataTabsDismiss,\n GeneratedAnalyticsMetadataTabsSelect,\n} from './analytics-metadata/interfaces';\nimport { TabsProps } from './interfaces';\nimport {\n hasHorizontalOverflow,\n hasInlineEndOverflow,\n hasInlineStartOverflow,\n onPaginationClick,\n scrollIntoView,\n} from './scroll-utils';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\nimport styles from './styles.css.js';\nimport testUtilStyles from './test-classes/styles.css.js';\n\nconst tabSelector = `.${styles['tabs-tab-link']}`;\nconst focusedTabSelector = `.${styles['tabs-tab-focused']}`;\nconst focusableTabSelector = `.${styles['tabs-tab-focusable']}`;\n\nfunction dismissButton({\n dismissLabel,\n dismissDisabled,\n onDismiss,\n tabId,\n}: {\n dismissLabel?: string;\n dismissDisabled?: boolean;\n onDismiss: ButtonProps['onClick'];\n tabId: string;\n}) {\n return (\n <InternalButton\n onClick={onDismiss}\n variant=\"icon\"\n iconName=\"close\"\n formAction=\"none\"\n ariaLabel={dismissLabel}\n disabled={dismissDisabled}\n className={clsx(testUtilStyles['tab-dismiss-button'], analyticsSelectors['tab-dismiss-button'])}\n data-testid={`awsui-tab-dismiss-button-${tabId}`}\n />\n );\n}\n\ninterface TabHeaderBarProps {\n onChange: (changeDetail: TabsProps.ChangeDetail) => void;\n activeTabId: TabsProps['activeTabId'];\n tabs: TabsProps['tabs'];\n variant: TabsProps['variant'];\n idNamespace: string;\n ariaLabel?: string;\n ariaLabelledby?: string;\n i18nStrings?: TabsProps.I18nStrings;\n keyboardActivationMode: Required<TabsProps['keyboardActivationMode']>;\n actions?: TabsProps['actions'];\n}\n\nexport function TabHeaderBar({\n onChange,\n activeTabId,\n tabs,\n variant,\n idNamespace,\n ariaLabel,\n ariaLabelledby,\n i18nStrings,\n keyboardActivationMode,\n actions,\n}: TabHeaderBarProps) {\n const headerBarRef = useRef<HTMLUListElement>(null);\n const activeTabHeaderRef = useRef<null | HTMLElement>(null);\n const inlineStartOverflowButton = useRef<HTMLElement>(null);\n const i18n = useInternalI18n('tabs');\n\n const isVisualRefresh = useVisualRefresh();\n\n const containerObjectRef = useRef<HTMLDivElement>(null);\n const documentRef = useRef<null | Document>(typeof document !== 'undefined' ? document : null);\n const documentRefCallback = (node: null | Element) => (documentRef.current = node?.ownerDocument ?? document);\n const [widthChange, containerMeasureRef] = useContainerQuery<number>(rect => rect.contentBoxWidth);\n const containerRef = useMergeRefs(containerObjectRef, containerMeasureRef, documentRefCallback);\n const tabRefs = useRef<Map<string, HTMLElement>>(new Map());\n const [horizontalOverflow, setHorizontalOverflow] = useState(false);\n const [inlineStartOverflow, setInlineStartOverflow] = useState(false);\n const [inlineEndOverflow, setInlineEndOverflow] = useState(false);\n const [focusedTabId, setFocusedTabId] = useState(activeTabId);\n const [previousActiveTabId, setPreviousActiveTabId] = useState<string | undefined>(activeTabId);\n const hasActionOrDismissible = tabs.some(tab => tab.action || tab.dismissible);\n const hadActionOrDismissible = usePrevious(hasActionOrDismissible);\n const tabActionAttributes = hasActionOrDismissible\n ? {\n role: 'application',\n 'aria-roledescription': i18n(\n 'i18nStrings.tabsWithActionsAriaRoleDescription',\n i18nStrings?.tabsWithActionsAriaRoleDescription\n ),\n }\n : {\n role: 'tablist',\n };\n\n useEffect(() => {\n if (hadActionOrDismissible && !hasActionOrDismissible) {\n // when tabs becomes non-dismissible (e.g. when all dismissible tabs are removed),\n // the hasActionOrDismissible is changing which causing tabs to re-mount to the React tree,\n // which, in turn, causes losing their refs, and the nextActive.focus() function inside handleDismiss does not focus on the next tab\n // so this code does\n getNextFocusTarget()?.focus();\n }\n }, [hasActionOrDismissible, hadActionOrDismissible]);\n\n useEffect(() => {\n if (headerBarRef.current) {\n setHorizontalOverflow(hasHorizontalOverflow(headerBarRef.current, inlineStartOverflowButton));\n setInlineStartOverflow(hasInlineStartOverflow(headerBarRef.current));\n setInlineEndOverflow(hasInlineEndOverflow(headerBarRef.current));\n }\n }, [widthChange, tabs]);\n\n const scrollIntoViewIfPossible = (smooth: boolean) => {\n if (!activeTabId) {\n return;\n }\n const activeTabRef = tabRefs.current.get(activeTabId);\n if (activeTabRef && headerBarRef.current) {\n scrollIntoView(activeTabRef, headerBarRef.current, smooth);\n }\n };\n\n useEffect(() => {\n // Delay scrollIntoView as the position is depending on parent elements\n // (effects are called inside-out in the component tree).\n // Wait one frame to allow parents to complete it's calculation.\n requestAnimationFrame(() => {\n scrollIntoViewIfPossible(false);\n });\n // Non-smooth scrolling should not be called upon activeId change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [horizontalOverflow, widthChange, tabs.length]);\n\n useEffect(() => {\n scrollIntoViewIfPossible(true);\n // Smooth scrolling should only be called upon activeId change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeTabId]);\n\n useEffect(() => {\n /*\n When the selected tab changes and we are currently already focused on a tab,\n move the focus to the newly selected tab.\n */\n if (documentRef.current && headerBarRef.current?.contains(documentRef.current.activeElement)) {\n if (documentRef.current.activeElement !== activeTabHeaderRef.current) {\n activeTabHeaderRef.current?.focus({ preventScroll: true });\n }\n }\n }, [activeTabId]);\n\n const onScroll = () => {\n if (headerBarRef.current) {\n setInlineStartOverflow(hasInlineStartOverflow(headerBarRef.current));\n setInlineEndOverflow(hasInlineEndOverflow(headerBarRef.current));\n }\n };\n\n const classes = clsx({\n [styles['tabs-header']]: true,\n [styles['tabs-header-with-divider']]: variant === 'default' || isVisualRefresh,\n });\n\n const leftButtonClasses = clsx({\n [styles['pagination-button']]: true,\n [styles['pagination-button-left']]: true,\n [styles['pagination-button-left-scrollable']]: inlineStartOverflow,\n });\n\n const rightButtonClasses = clsx({\n [styles['pagination-button']]: true,\n [styles['pagination-button-right']]: true,\n [styles['pagination-button-right-scrollable']]: inlineEndOverflow,\n });\n\n const navigationAPI = useRef<SingleTabStopNavigationAPI>(null);\n\n function getNextFocusTarget(): null | HTMLElement {\n if (!containerObjectRef.current) {\n return null;\n }\n const tabElements: HTMLButtonElement[] = Array.from(containerObjectRef.current.querySelectorAll(tabSelector));\n return tabElements.find(tab => tab.matches(focusedTabSelector)) ?? tabElements.find(tab => !tab.disabled) ?? null;\n }\n\n function onUnregisterActive(focusableElement: HTMLElement) {\n const isFocusableActionOrDismissible = !focusableElement.classList.contains(styles['tabs-tab-link']);\n if (!isFocusableActionOrDismissible) {\n const nextFocusTarget = navigationAPI.current?.getFocusTarget();\n const tabLinkButton = nextFocusTarget?.querySelector(`.${styles['tabs-tab-link']}`) as HTMLElement;\n tabLinkButton?.focus();\n }\n }\n\n useEffect(() => {\n navigationAPI.current?.updateFocusTarget();\n });\n function onFocus() {\n navigationAPI.current?.updateFocusTarget();\n }\n function onBlur() {\n navigationAPI.current?.updateFocusTarget();\n }\n\n function onKeyDown(event: React.KeyboardEvent) {\n const focusTarget = documentRef.current?.activeElement;\n const specialKeys = [\n KeyCode.right,\n KeyCode.left,\n KeyCode.end,\n KeyCode.home,\n KeyCode.pageUp,\n KeyCode.pageDown,\n KeyCode.space,\n ];\n const isActionOpen = documentRef.current?.querySelector(`.${styles['tabs-tab-action']} [aria-expanded=\"true\"]`);\n const isDismissOrActionFocused = !focusTarget?.classList.contains(styles['tabs-tab-link']);\n\n if (isActionOpen) {\n return;\n }\n if (event.key === 'Tab' && !event.shiftKey && isDismissOrActionFocused) {\n event.preventDefault();\n const panelId = `${idNamespace}-${activeTabId}-panel`;\n const panel = documentRef.current?.getElementById(panelId);\n panel?.focus();\n }\n if (hasModifierKeys(event) || specialKeys.indexOf(event.keyCode) === -1) {\n return;\n }\n if (!containerObjectRef.current || !focusTarget) {\n return;\n }\n\n event.preventDefault();\n\n const focusables = getFocusablesFrom(containerObjectRef.current);\n const activeIndex = isHTMLElement(focusTarget) ? focusables.indexOf(focusTarget) : -1;\n\n handleKey(event as any, {\n onHome: () => focusElement(focusables[0]),\n onEnd: () => focusElement(focusables[focusables.length - 1]),\n onInlineStart: () => focusElement(focusables[circleIndex(activeIndex - 1, [0, focusables.length - 1])]),\n onInlineEnd: () => focusElement(focusables[circleIndex(activeIndex + 1, [0, focusables.length - 1])]),\n onPageDown: () => inlineEndOverflow && onPaginationClick(headerBarRef, 'forward'),\n onPageUp: () => inlineStartOverflow && onPaginationClick(headerBarRef, 'backward'),\n onActivate: () =>\n focusedTabId &&\n focusedTabId !== activeTabId &&\n onChange({ activeTabId: focusedTabId, activeTabHref: tabs.find(tab => tab.id === focusedTabId)?.href }),\n });\n }\n function focusElement(element: HTMLElement) {\n element.focus();\n // If focusable element is a tab - fire the onChange for it.\n const tabsById = tabs.reduce((map, tab) => map.set(tab.id, tab), new Map<string, TabsProps.Tab>());\n for (const [tabId, focusTargetTabTriggerElement] of tabRefs.current.entries()) {\n const focusTargetTabLabelElement = focusTargetTabTriggerElement?.querySelector(`.${styles['tabs-tab-link']}`);\n if (tabId !== activeTabId && focusTargetTabLabelElement === element) {\n setPreviousActiveTabId(tabId);\n setFocusedTabId(tabId);\n\n if (!tabsById.get(tabId)?.disabled && keyboardActivationMode === 'automatic') {\n onChange({ activeTabId: tabId, activeTabHref: tabsById.get(tabId)?.href });\n }\n break;\n }\n }\n }\n // List all non-disabled and registered focusables: those are eligible for keyboard navigation.\n function getFocusablesFrom(target: HTMLElement) {\n function isElementRegistered(element: HTMLElement) {\n return navigationAPI.current?.isRegistered(element) ?? false;\n }\n function isElementFocusable(element: HTMLElement) {\n if (element instanceof HTMLButtonElement) {\n return !element.disabled || element.closest(focusableTabSelector);\n }\n\n return element.matches(focusableTabSelector);\n }\n return getAllFocusables(target).filter(el => isElementRegistered(el) && isElementFocusable(el));\n }\n\n const TabList = hasActionOrDismissible ? 'div' : 'ul';\n\n return (\n <div className={classes}>\n <div className={styles['tab-header-scroll-container']} ref={containerRef}>\n {horizontalOverflow && (\n <span ref={inlineStartOverflowButton} className={leftButtonClasses}>\n <InternalButton\n formAction=\"none\"\n variant=\"icon\"\n iconName=\"angle-left\"\n disabled={!inlineStartOverflow}\n __focusable={true}\n onClick={() => onPaginationClick(headerBarRef, 'backward')}\n ariaLabel={i18n('i18nStrings.scrollLeftAriaLabel', i18nStrings?.scrollLeftAriaLabel)}\n />\n </span>\n )}\n <SingleTabStopNavigationProvider\n ref={navigationAPI}\n navigationActive={true}\n getNextFocusTarget={getNextFocusTarget}\n onUnregisterActive={onUnregisterActive}\n >\n <TabList\n {...tabActionAttributes}\n className={clsx(styles['tabs-header-list'], analyticsSelectors['tabs-header-list'])}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n ref={headerBarRef as never}\n onScroll={onScroll}\n onKeyDown={onKeyDown}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {tabs.map(renderTabHeader)}\n </TabList>\n </SingleTabStopNavigationProvider>\n {horizontalOverflow && (\n <span className={rightButtonClasses}>\n <InternalButton\n formAction=\"none\"\n variant=\"icon\"\n iconName=\"angle-right\"\n disabled={!inlineEndOverflow}\n __focusable={true}\n onClick={() => onPaginationClick(headerBarRef, 'forward')}\n ariaLabel={i18n('i18nStrings.scrollRightAriaLabel', i18nStrings?.scrollRightAriaLabel)}\n />\n </span>\n )}\n </div>\n {actions && <div className={styles['actions-container']}>{actions}</div>}\n </div>\n );\n\n function renderTabHeader(tab: TabsProps.Tab, index: number) {\n const { dismissible, dismissLabel, dismissDisabled, action, onDismiss } = tab;\n const isActive = activeTabId === tab.id && !tab.disabled;\n\n const clickTab = (event: React.MouseEvent) => {\n if (tab.disabled) {\n event.preventDefault();\n return;\n }\n\n // if the primary mouse button is clicked with a modifier key, the browser will handle opening a new tab\n const specialKey = !isPlainLeftClick(event);\n if (specialKey && tab.href) {\n return;\n }\n\n event.preventDefault();\n // for browsers that do not focus buttons on button click\n if (!tab.href) {\n const clickedTabRef = tabRefs.current.get(tab.id) as undefined | HTMLButtonElement;\n if (clickedTabRef) {\n if (clickedTabRef && clickedTabRef !== documentRef.current?.activeElement) {\n clickedTabRef.focus({ preventScroll: true });\n }\n }\n }\n\n if (tab.id === activeTabId) {\n return;\n }\n\n setFocusedTabId(tab.id);\n setPreviousActiveTabId(tab.id);\n onChange({ activeTabId: tab.id, activeTabHref: tab.href });\n };\n\n const classes = clsx({\n [styles['tabs-tab-link']]: true,\n [styles.refresh]: isVisualRefresh,\n [styles['tabs-tab-active']]: activeTabId === tab.id && !tab.disabled,\n [styles['tabs-tab-focused']]: focusedTabId === tab.id,\n [styles['tabs-tab-active']]: isActive,\n [analyticsSelectors['active-tab-header']]: isActive,\n [styles['tabs-tab-disabled']]: tab.disabled,\n [styles['tabs-tab-focusable']]: !tab.disabled || (tab.disabled && !!tab.disabledReason),\n });\n\n const tabHeaderContainerClasses = clsx({\n [styles['tabs-tab-header-container']]: true,\n [styles.refresh]: isVisualRefresh,\n [styles['tabs-tab-active']]: isActive,\n [styles['tabs-tab-disabled']]: tab.disabled,\n [styles['tabs-tab-focusable']]: !tab.disabled || (tab.disabled && !!tab.disabledReason),\n });\n\n const tabActionClasses = clsx({\n [styles['tabs-tab-action']]: true,\n [styles['tabs-tab-active']]: isActive,\n });\n\n const commonProps: (JSX.IntrinsicElements['a'] | JSX.IntrinsicElements['button']) & { 'data-testid': string } = {\n className: classes,\n 'aria-controls': `${idNamespace}-${tab.id}-panel`,\n 'data-testid': tab.id,\n id: getTabElementId({ namespace: idNamespace, tabId: tab.id }),\n onClick: clickTab,\n };\n\n const tabHeaderContainerAriaProps = hasActionOrDismissible\n ? {\n role: 'group',\n 'aria-labelledby': commonProps.id,\n }\n : {};\n\n if (!hasActionOrDismissible) {\n commonProps['aria-selected'] = activeTabId === tab.id;\n commonProps.role = 'tab';\n } else {\n commonProps['aria-expanded'] = activeTabId === tab.id;\n }\n\n if (tab.disabled) {\n commonProps['aria-disabled'] = 'true';\n }\n\n const setElement = (tabElement: null | HTMLElement) => {\n if (tab.id === activeTabId) {\n activeTabHeaderRef.current = tabElement;\n }\n tabRefs.current.set(tab.id, tabElement as HTMLElement);\n };\n\n const handleDismiss: ButtonProps['onClick'] = event => {\n if (!containerObjectRef.current || !onDismiss) {\n return;\n }\n const tabElements = getFocusablesFrom(containerObjectRef.current).filter(el =>\n el.classList.contains(styles['tabs-tab-link'])\n );\n const activeTabIndex = tabElements.findIndex(el => el.dataset.testid === tab.id);\n tabElements.splice(activeTabIndex, 1);\n let nextActive: HTMLElement | undefined;\n if (previousActiveTabId && previousActiveTabId !== tab.id) {\n nextActive = tabElements.find(el => el.dataset.testid === previousActiveTabId);\n } else {\n nextActive = tabElements[Math.min(tabElements.length - 1, activeTabIndex)];\n }\n if (nextActive && nextActive.dataset.testid) {\n onChange({ activeTabId: nextActive.dataset.testid });\n setPreviousActiveTabId(nextActive.dataset.testid);\n nextActive.focus();\n }\n onDismiss(event);\n };\n\n const TabItem = hasActionOrDismissible ? 'div' : 'li';\n\n const analyticsDismissMetadata: GeneratedAnalyticsMetadataTabsDismiss = {\n action: 'dismiss',\n detail: {\n id: tab.id,\n label: `.${analyticsSelectors['tab-dismiss-button']}`,\n position: `${index + 1}`,\n },\n };\n\n const analyticsComponentMetadataInnerContext: Partial<GeneratedAnalyticsMetadataTabsComponent> = {\n innerContext: {\n tabId: tab.id,\n tabLabel: `.${analyticsSelectors['tab-label']}`,\n tabPosition: `${index + 1}`,\n },\n };\n\n return (\n <TabItem\n ref={(element: any) => tabRefs.current.set(tab.id, element as HTMLElement)}\n className={styles['tabs-tab']}\n role=\"presentation\"\n key={tab.id}\n >\n <div\n className={tabHeaderContainerClasses}\n {...tabHeaderContainerAriaProps}\n {...getAnalyticsMetadataAttribute({ component: analyticsComponentMetadataInnerContext })}\n >\n <TabTrigger ref={setElement} tab={tab} elementProps={commonProps} activeTabId={activeTabId} index={index} />\n {action && <span className={tabActionClasses}>{action}</span>}\n {dismissible && (\n <span className={styles['tabs-tab-dismiss']} {...getAnalyticsMetadataAttribute(analyticsDismissMetadata)}>\n {dismissButton({ dismissLabel, dismissDisabled, onDismiss: handleDismiss, tabId: tab.id })}\n </span>\n )}\n </div>\n </TabItem>\n );\n }\n}\n\ninterface TabTriggerProps {\n tab: TabsProps.Tab;\n elementProps: React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>;\n activeTabId?: string;\n index: number;\n}\nconst TabTrigger = forwardRef(\n ({ tab, elementProps, activeTabId, index }: TabTriggerProps, ref: React.Ref<HTMLElement>) => {\n const refObject = useRef<HTMLElement>(null);\n const tabLabelRefObject = useRef<HTMLElement>(null);\n const mergedRef = useMergeRefs(refObject, ref);\n const { tabIndex } = useSingleTabStopNavigation(refObject);\n const isDisabledWithReason = tab.disabled && !!tab.disabledReason;\n const [showTooltip, setShowTooltip] = useState(false);\n const { targetProps, descriptionEl } = useHiddenDescription(tab.disabledReason);\n const children = (\n <>\n <span className={clsx(styles['tabs-tab-label'], analyticsSelectors['tab-label'])} ref={tabLabelRefObject}>\n {/* The label is wrapped with span so that whitespaces inside don't get trimmed. */}\n <span>{tab.label}</span>\n </span>\n {isDisabledWithReason && (\n <>\n {descriptionEl}\n {showTooltip && (\n <Tooltip\n className={styles['disabled-reason-tooltip']}\n trackRef={tabLabelRefObject}\n value={tab.disabledReason!}\n onDismiss={() => setShowTooltip(false)}\n />\n )}\n </>\n )}\n </>\n );\n\n const handlers = {\n onFocus: () => setShowTooltip(true),\n onBlur: () => setShowTooltip(false),\n onMouseEnter: () => setShowTooltip(true),\n onMouseLeave: () => setShowTooltip(false),\n };\n\n const analyticsSelectMetadata: GeneratedAnalyticsMetadataTabsSelect = {\n action: 'select',\n detail: {\n id: tab.id,\n label: `.${analyticsSelectors['tab-label']}`,\n position: `${index + 1}`,\n originTabId: activeTabId || '',\n },\n };\n\n const commonProps = {\n ...elementProps,\n ...(isDisabledWithReason ? targetProps : {}),\n ...(isDisabledWithReason ? handlers : {}),\n ref: mergedRef,\n tabIndex: tabIndex,\n ...(tab.disabled || tab.id === activeTabId ? {} : getAnalyticsMetadataAttribute(analyticsSelectMetadata)),\n };\n\n return tab.href ? (\n <a {...commonProps} href={tab.href}>\n {children}\n </a>\n ) : (\n <button {...commonProps} type=\"button\" disabled={tab.disabled && !isDisabledWithReason}>\n {children}\n </button>\n );\n }\n);\n\nexport function getTabElementId({ namespace, tabId }: { namespace: string; tabId: string }) {\n return namespace + '-' + tabId;\n}\n"]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
'use client';
|
|
4
|
-
import { __rest } from "tslib";
|
|
5
4
|
import React, { useCallback, useImperativeHandle, useLayoutEffect, useMemo, useRef } from 'react';
|
|
6
5
|
import clsx from 'clsx';
|
|
7
6
|
import { useStableCallback } from '@cloudscape-design/component-toolkit/internal';
|
|
@@ -22,9 +21,8 @@ import { validate } from './validation';
|
|
|
22
21
|
import styles from './styles.css.js';
|
|
23
22
|
export { getTagsDiff };
|
|
24
23
|
const isItemRemovable = ({ tag }) => !tag.markedForRemoval;
|
|
25
|
-
const TagEditor = React.forwardRef((
|
|
26
|
-
var _b, _c, _d, _e, _f
|
|
27
|
-
var { tags = [], i18nStrings, loading = false, tagLimit = 50, allowedCharacterPattern, keysRequest, valuesRequest, onChange } = _a, restProps = __rest(_a, ["tags", "i18nStrings", "loading", "tagLimit", "allowedCharacterPattern", "keysRequest", "valuesRequest", "onChange"]);
|
|
24
|
+
const TagEditor = React.forwardRef(({ tags = [], i18nStrings, loading = false, tagLimit = 50, allowedCharacterPattern, keysRequest, valuesRequest, onChange, ...restProps }, ref) => {
|
|
25
|
+
var _a, _b, _c, _d, _e, _f;
|
|
28
26
|
const baseComponentProps = useBaseComponent('TagEditor', {
|
|
29
27
|
props: { tagLimit, allowedCharacterPattern },
|
|
30
28
|
});
|
|
@@ -75,7 +73,7 @@ const TagEditor = React.forwardRef((_a, ref) => {
|
|
|
75
73
|
const existing = tags[detail.itemIndex].existing;
|
|
76
74
|
validateAndFire([
|
|
77
75
|
...tags.slice(0, detail.itemIndex),
|
|
78
|
-
...(existing ? [
|
|
76
|
+
...(existing ? [{ ...tags[detail.itemIndex], markedForRemoval: true }] : []),
|
|
79
77
|
...tags.slice(detail.itemIndex + 1),
|
|
80
78
|
]);
|
|
81
79
|
if (existing) {
|
|
@@ -114,7 +112,7 @@ const TagEditor = React.forwardRef((_a, ref) => {
|
|
|
114
112
|
});
|
|
115
113
|
const onKeyChange = useStableCallback((value, row) => {
|
|
116
114
|
keyDirtyStateRef.current[row] = true;
|
|
117
|
-
validateAndFire([...tags.slice(0, row),
|
|
115
|
+
validateAndFire([...tags.slice(0, row), { ...tags[row], key: value }, ...tags.slice(row + 1)]);
|
|
118
116
|
});
|
|
119
117
|
const onKeyBlur = useStableCallback((row) => {
|
|
120
118
|
keyDirtyStateRef.current[row] = true;
|
|
@@ -122,10 +120,10 @@ const TagEditor = React.forwardRef((_a, ref) => {
|
|
|
122
120
|
validateAndFire([...tags]);
|
|
123
121
|
});
|
|
124
122
|
const onValueChange = useStableCallback((value, row) => {
|
|
125
|
-
validateAndFire([...tags.slice(0, row),
|
|
123
|
+
validateAndFire([...tags.slice(0, row), { ...tags[row], value }, ...tags.slice(row + 1)]);
|
|
126
124
|
});
|
|
127
125
|
const onUndoRemoval = useStableCallback((row) => {
|
|
128
|
-
validateAndFire([...tags.slice(0, row),
|
|
126
|
+
validateAndFire([...tags.slice(0, row), { ...tags[row], markedForRemoval: false }, ...tags.slice(row + 1)]);
|
|
129
127
|
focusEventRef.current = () => {
|
|
130
128
|
var _a;
|
|
131
129
|
(_a = attributeEditorRef.current) === null || _a === void 0 ? void 0 : _a.focusRemoveButton(row);
|
|
@@ -171,7 +169,7 @@ const TagEditor = React.forwardRef((_a, ref) => {
|
|
|
171
169
|
React.createElement(InternalLiveRegion, { tagName: "span" }, i18n('i18nStrings.loading', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.loading)))));
|
|
172
170
|
}
|
|
173
171
|
const baseProps = getBaseProps(restProps);
|
|
174
|
-
return (React.createElement(InternalAttributeEditor,
|
|
172
|
+
return (React.createElement(InternalAttributeEditor, { ...baseProps, ...baseComponentProps, ref: attributeEditorRef, className: clsx(styles.root, baseProps.className), items: internalTags, isItemRemovable: isItemRemovable, onAddButtonClick: onAddButtonClick, onRemoveButtonClick: onRemoveButtonClick, addButtonText: (_a = i18n('i18nStrings.addButton', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.addButton)) !== null && _a !== void 0 ? _a : '', removeButtonText: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.removeButton, disableAddButton: remainingTags <= 0, empty: i18n('i18nStrings.emptyTags', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.emptyTags), addButtonVariant: "normal", additionalInfo: remainingTags < 0 ? (React.createElement(FormFieldError, { errorIconAriaLabel: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.errorIconAriaLabel }, (_c = i18n('i18nStrings.tagLimitExceeded', (_b = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.tagLimitExceeded) === null || _b === void 0 ? void 0 : _b.call(i18nStrings, tagLimit), format => format({ tagLimit }))) !== null && _c !== void 0 ? _c : '')) : remainingTags === 0 ? (((_e = i18n('i18nStrings.tagLimitReached', (_d = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.tagLimitReached) === null || _d === void 0 ? void 0 : _d.call(i18nStrings, tagLimit), format => format({ tagLimit }))) !== null && _e !== void 0 ? _e : '')) : (i18n('i18nStrings.tagLimit', (_f = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.tagLimit) === null || _f === void 0 ? void 0 : _f.call(i18nStrings, remainingTags, tagLimit), format => format({ tagLimitAvailable: `${remainingTags === tagLimit}`, availableTags: remainingTags, tagLimit }))), definition: definition, i18nStrings: forwardedI18nStrings }));
|
|
175
173
|
});
|
|
176
174
|
applyDisplayName(TagEditor, 'TagEditor');
|
|
177
175
|
export default TagEditor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tag-editor/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,YAAY,CAAC;;AACb,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,mBAAmB,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAClG,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAGlF,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AAEnE,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAA4B,MAAM,oBAAoB,CAAC;AACtF,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAmB,MAAM,cAAc,CAAC;AAEzD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAkB,WAAW,EAAE,CAAC;AAOvC,MAAM,eAAe,GAAG,CAAC,EAAE,GAAG,EAAe,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC;AAExE,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAChC,CACE,EAUiB,EACjB,GAAkC,EAClC,EAAE;;QAZF,EACE,IAAI,GAAG,EAAE,EACT,WAAW,EACX,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,EAAE,EACb,uBAAuB,EACvB,WAAW,EACX,aAAa,EACb,QAAQ,OAEO,EADZ,SAAS,cATd,qHAUC,CADa;IAId,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,WAAW,EAAE;QACvD,KAAK,EAAE,EAAE,QAAQ,EAAE,uBAAuB,EAAE;KAC7C,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;IAE3C,MAAM,aAAa,GAAG,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC;IAElF,MAAM,kBAAkB,GAAG,MAAM,CAA2B,IAAI,CAAC,CAAC;IAClE,MAAM,YAAY,GAAG,MAAM,CAAwC,EAAE,CAAC,CAAC;IACvE,MAAM,cAAc,GAAG,MAAM,CAAwC,EAAE,CAAC,CAAC;IACzE,MAAM,cAAc,GAAG,MAAM,CAA2C,EAAE,CAAC,CAAC;IAE5E,MAAM,oBAAoB,GAAG,MAAM,CAA2B,EAAE,CAAC,CAAC;IAClE,MAAM,gBAAgB,GAAG,MAAM,CAAY,EAAE,CAAC,CAAC;IAC/C,MAAM,aAAa,GAAG,MAAM,EAAc,CAAC;IAE3C,eAAe,CAAC,GAAG,EAAE;;QACnB,MAAA,aAAa,CAAC,OAAO,0CAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACxC,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,QAAQ,CACrB,IAAI,EACJ,gBAAgB,CAAC,OAAO,EACxB,IAAI,EACJ,WAAW,EACX,uBAAuB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,SAAS,CAC1E,CAAC;IAEF,MAAM,YAAY,GAAG,gBAAgB,CACnC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EACjD,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;;QACb,OAAO,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,GAAG,OAAK,MAAA,IAAI,CAAC,KAAK,0CAAE,GAAG,CAAA,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,OAAK,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,CAAA,CAAC;IACjH,CAAC,CACF,CAAC;IAEF,mBAAmB,CACjB,GAAG,EACH,GAAG,EAAE,CAAC,CAAC;QACL,KAAK;;YACH,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,MAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAA,CAAC,CAAC;YACrF,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,CAAA,MAAA,YAAY,CAAC,UAAU,CAAC,CAAC,KAAK,0CAAE,GAAG,EAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC;gBACrF,MAAA,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,0CAAE,KAAK,EAAE,CAAC;YACxC,CAAC;QACH,CAAC;KACF,CAAC,EACF,CAAC,YAAY,CAAC,CACf,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,OAA0C,EAAE,EAAE;QAC7C,sBAAsB,CAAC,QAAQ,EAAE;YAC/B,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,CAAC,QAAQ,CACd,OAAO,EACP,gBAAgB,CAAC,OAAO,EACxB,IAAI,EACJ,WAAW,EACX,uBAAuB,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,SAAS,CAC1E,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC;SACvB,CAAC,CAAC;IACL,CAAC,EACD,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,CAAC,CACvD,CAAC;IAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,eAAe,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACpE,aAAa,CAAC,OAAO,GAAG,GAAG,EAAE;;YAC3B,MAAA,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,0CAAE,KAAK,EAAE,CAAC;QAC7C,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,iBAAiB,CAC3C,CAAC,EAAE,MAAM,EAA0E,EAAE,EAAE;;QACrF,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC;QACjD,eAAe,CAAC;YACd,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC;YAClC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,iCAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAE,gBAAgB,EAAE,IAAI,IAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;SACpC,CAAC,CAAC;QACH,IAAI,QAAQ,EAAE,CAAC;YACb,aAAa,CAAC,OAAO,GAAG,GAAG,EAAE;;gBAC3B,MAAA,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,0CAAE,KAAK,EAAE,CAAC;YACpD,CAAC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YAC3D,IAAI,OAAO,EAAE,CAAC;gBACZ,gGAAgG;gBAChG,MAAA,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,0CAAE,KAAK,EAAE,CAAC;YAClD,CAAC;iBAAM,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;gBAChC,iDAAiD;gBACjD,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC/D,IAAI,kBAAkB,EAAE,CAAC;oBACvB,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;wBAChD,MAAA,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,0CAAE,KAAK,EAAE,CAAC;oBACxD,CAAC;yBAAM,CAAC;wBACN,MAAA,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,0CAAE,KAAK,EAAE,CAAC;oBACxD,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAA,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,0CAAE,KAAK,EAAE,CAAC;gBACtD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,sBAAsB;gBACtB,MAAA,kBAAkB,CAAC,OAAO,0CAAE,cAAc,EAAE,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,WAAW,GAAG,iBAAiB,CAAC,CAAC,KAAa,EAAE,GAAW,EAAE,EAAE;QACnE,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACrC,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,kCAAO,IAAI,CAAC,GAAG,CAAC,KAAE,GAAG,EAAE,KAAK,KAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,GAAW,EAAE,EAAE;QAClD,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACrC,qDAAqD;QACrD,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,iBAAiB,CAAC,CAAC,KAAa,EAAE,GAAW,EAAE,EAAE;QACrE,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,kCAAO,IAAI,CAAC,GAAG,CAAC,KAAE,KAAK,KAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,iBAAiB,CAAC,CAAC,GAAW,EAAE,EAAE;QACtD,eAAe,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,kCAAO,IAAI,CAAC,GAAG,CAAC,KAAE,gBAAgB,EAAE,KAAK,KAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5G,aAAa,CAAC,OAAO,GAAG,GAAG,EAAE;;YAC3B,MAAA,kBAAkB,CAAC,OAAO,0CAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACrD,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,OAAO,CACxB,GAAG,EAAE,CAAC;QACJ;YACE,KAAK,EAAE,IAAI,CAAC,uBAAuB,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAC;YAC5D,OAAO,EAAE,CAAC,EAAE,GAAG,EAAe,EAAE,GAAW,EAAE,EAAE,CAAC,CAC9C,oBAAC,UAAU,IACT,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,GAAG,CAAC,GAAG,EACd,QAAQ,EAAE,GAAG,CAAC,QAAQ,EACtB,KAAK,EAAE,GAAG,EACV,cAAc,EAAE,EAAE,EAClB,WAAW,EAAE,IAAI,CAAC,4BAA4B,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,cAAc,CAAC,EAC5E,SAAS,EAAE,IAAI,CAAC,iCAAiC,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,mBAAmB,CAAC,EACpF,WAAW,EAAE,IAAI,CAAC,mCAAmC,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,qBAAqB,CAAC,EAC1F,cAAc,EAAE,IAAI,CAAC,2BAA2B,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,aAAa,CAAC,EAC7E,qBAAqB,EAAE,IAAI,CAAC,mCAAmC,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,qBAAqB,CAAC,EACpG,gBAAgB,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,eAAe,EAC9C,cAAc,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,cAAc,EAC3C,SAAS,EAAE,WAAW,EACtB,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,SAAS,EACjB,iBAAiB,EAAE,oBAAoB,EACvC,GAAG,EAAE,GAAG,CAAC,EAAE;oBACT,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;gBAClC,CAAC,GACD,CACH;YACD,SAAS,EAAE,CAAC,EAAE,KAAK,EAAe,EAAE,EAAE,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG;SAClD;QACD;YACE,KAAK,EAAE,CACL;gBACG,IAAI,CAAC,yBAAyB,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,CAAC;;gBAAI,GAAG;gBACjE,+BAAI,IAAI,CAAC,sBAAsB,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,CAAC,CAAK,CACvD,CACR;YACD,OAAO,EAAE,CAAC,EAAE,GAAG,EAAe,EAAE,GAAW,EAAE,EAAE;;gBAC7C,OAAA,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CACrB,6BAAK,IAAI,EAAC,OAAO;oBACf,oBAAC,WAAW,IAAC,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;wBAChC,IAAI,CAAC,wBAAwB,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,UAAU,CAAC;wBAAE,GAAG;wBAC7D,oBAAC,UAAU,IACT,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,EACjC,GAAG,EAAE,IAAI,CAAC,EAAE;gCACV,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;4BACrC,CAAC,IAEA,IAAI,CAAC,wBAAwB,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,UAAU,CAAC,CAC7C,CACD,CACV,CACP,CAAC,CAAC,CAAC,CACF,oBAAC,UAAU,IACT,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,QAAQ,EAAE,KAAK,EACf,KAAK,EAAE,GAAG,EACV,cAAc,EAAE,MAAA,GAAG,CAAC,sBAAsB,mCAAI,EAAE,EAChD,WAAW,EAAE,IAAI,CAAC,8BAA8B,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,gBAAgB,CAAC,EAChF,SAAS,EAAE,IAAI,CAAC,mCAAmC,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,qBAAqB,CAAC,EACxF,WAAW,EAAE,IAAI,CAAC,qCAAqC,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,uBAAuB,CAAC,EAC9F,cAAc,EAAE,IAAI,CAAC,6BAA6B,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,eAAe,CAAC,EACjF,qBAAqB,EAAE,IAAI,CACzB,qCAAqC,EACrC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,uBAAuB,CACrC,EACD,gBAAgB,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,iBAAiB,EAChD,cAAc,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,cAAc,EAC3C,YAAY,EAAE,GAAG,CAAC,GAAG,EACrB,SAAS,EAAE,aAAa,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,EACpE,QAAQ,EAAE,aAAa,EACvB,GAAG,EAAE,GAAG,CAAC,EAAE;wBACT,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;oBACpC,CAAC,GACD,CACH,CAAA;aAAA;YACH,SAAS,EAAE,CAAC,EAAE,KAAK,EAAe,EAAE,EAAE,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK;SACpD;KACF,EACD,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC,CACtG,CAAC;IAEF,MAAM,oBAAoB,GAAG,OAAO,CAClC,GAAG,EAAE,CAAC,CAAC;QACL,kBAAkB,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,kBAAkB;QACnD,mBAAmB,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,mBAAmB;QACrD,qBAAqB,EAAE,IAAI,CACzB,mCAAmC,EACnC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,qBAAqB,KAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,qBAAsB,CAAC,GAAG,CAAC,CAAC,EAC5F,MAAM,CAAC,EAAE,CACP,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CACV,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAClC;KACF,CAAC,EACF,CAAC,WAAW,EAAE,IAAI,CAAC,CACpB,CAAC;IAEF,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,6BAAK,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,kBAAkB,CAAC,iBAAiB;YACpE,oBAAC,uBAAuB,IAAC,SAAS,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAC,SAAS;gBAChE,oBAAC,kBAAkB,IAAC,OAAO,EAAC,MAAM,IAAE,IAAI,CAAC,qBAAqB,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,CAAC,CAAsB,CACnF,CACtB,CACP,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,OAAO,CACL,oBAAC,uBAAuB,oBAClB,SAAS,EACT,kBAAkB,IACtB,GAAG,EAAE,kBAAkB,EACvB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,EACjD,KAAK,EAAE,YAAY,EACnB,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,EAAE,mBAAmB,EACxC,aAAa,EAAE,MAAA,IAAI,CAAC,uBAAuB,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAC,mCAAI,EAAE,EAC1E,gBAAgB,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,YAAY,EAC3C,gBAAgB,EAAE,aAAa,IAAI,CAAC,EACpC,KAAK,EAAE,IAAI,CAAC,uBAAuB,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAC,EAC5D,gBAAgB,EAAC,QAAQ,EACzB,cAAc,EACZ,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAClB,oBAAC,cAAc,IAAC,kBAAkB,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,kBAAkB,IAChE,MAAA,IAAI,CAAC,8BAA8B,EAAE,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,gBAAgB,4DAAG,QAAQ,CAAC,EAAE,MAAM,CAAC,EAAE,CACxF,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CACrB,mCAAI,EAAE,CACQ,CAClB,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,CACxB,CAAC,MAAA,IAAI,CAAC,6BAA6B,EAAE,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,eAAe,4DAAG,QAAQ,CAAC,EAAE,MAAM,CAAC,EAAE,CACtF,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,CACrB,mCAAI,EAAE,CAAC,CACT,CAAC,CAAC,CAAC,CACF,IAAI,CAAC,sBAAsB,EAAE,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,4DAAG,aAAa,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,EAAE,CACtF,MAAM,CAAC,EAAE,iBAAiB,EAAE,GAAG,aAAa,KAAK,QAAQ,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CACvG,CACF,EAEH,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,oBAAoB,IACjC,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AACzC,eAAe,SAAS,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n'use client';\nimport React, { useCallback, useImperativeHandle, useLayoutEffect, useMemo, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useStableCallback } from '@cloudscape-design/component-toolkit/internal';\n\nimport { AttributeEditorProps } from '../attribute-editor/interfaces';\nimport InternalAttributeEditor from '../attribute-editor/internal';\nimport { AutosuggestProps } from '../autosuggest/interfaces';\nimport InternalBox from '../box/internal';\nimport { FormFieldError } from '../form-field/internal';\nimport { useInternalI18n } from '../i18n/context';\nimport { InputProps } from '../input/interfaces';\nimport { getBaseProps } from '../internal/base-component';\nimport { fireNonCancelableEvent, NonCancelableCustomEvent } from '../internal/events';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport InternalLiveRegion from '../live-region/internal';\nimport InternalStatusIndicator from '../status-indicator/internal';\nimport { TagEditorProps } from './interfaces';\nimport { TagControl, UndoButton } from './internal';\nimport { useMemoizedArray } from './utils';\nimport { getTagsDiff } from './utils';\nimport { validate, ValidationError } from './validation';\n\nimport styles from './styles.css.js';\n\nexport { TagEditorProps, getTagsDiff };\n\ninterface InternalTag {\n tag: TagEditorProps.Tag;\n error?: ValidationError;\n}\n\nconst isItemRemovable = ({ tag }: InternalTag) => !tag.markedForRemoval;\n\nconst TagEditor = React.forwardRef(\n (\n {\n tags = [],\n i18nStrings,\n loading = false,\n tagLimit = 50,\n allowedCharacterPattern,\n keysRequest,\n valuesRequest,\n onChange,\n ...restProps\n }: TagEditorProps,\n ref: React.Ref<TagEditorProps.Ref>\n ) => {\n const baseComponentProps = useBaseComponent('TagEditor', {\n props: { tagLimit, allowedCharacterPattern },\n });\n const i18n = useInternalI18n('tag-editor');\n\n const remainingTags = tagLimit - tags.filter(tag => !tag.markedForRemoval).length;\n\n const attributeEditorRef = useRef<AttributeEditorProps.Ref>(null);\n const keyInputRefs = useRef<(InputProps.Ref | undefined | null)[]>([]);\n const valueInputRefs = useRef<(InputProps.Ref | undefined | null)[]>([]);\n const undoButtonRefs = useRef<(HTMLAnchorElement | undefined | null)[]>([]);\n\n const initialKeyOptionsRef = useRef<AutosuggestProps.Options>([]);\n const keyDirtyStateRef = useRef<boolean[]>([]);\n const focusEventRef = useRef<() => void>();\n\n useLayoutEffect(() => {\n focusEventRef.current?.apply(undefined);\n focusEventRef.current = undefined;\n });\n\n const errors = validate(\n tags,\n keyDirtyStateRef.current,\n i18n,\n i18nStrings,\n allowedCharacterPattern ? new RegExp(allowedCharacterPattern) : undefined\n );\n\n const internalTags = useMemoizedArray(\n tags.map((tag, i) => ({ tag, error: errors[i] })),\n (prev, next) => {\n return prev.tag === next.tag && prev.error?.key === next.error?.key && prev.error?.value === next.error?.value;\n }\n );\n\n useImperativeHandle(\n ref,\n () => ({\n focus() {\n const errorIndex = internalTags.findIndex(({ error }) => error?.key || error?.value);\n if (errorIndex !== -1) {\n const refArray = internalTags[errorIndex].error?.key ? keyInputRefs : valueInputRefs;\n refArray.current[errorIndex]?.focus();\n }\n },\n }),\n [internalTags]\n );\n\n const validateAndFire = useCallback(\n (newTags: ReadonlyArray<TagEditorProps.Tag>) => {\n fireNonCancelableEvent(onChange, {\n tags: newTags,\n valid: !validate(\n newTags,\n keyDirtyStateRef.current,\n i18n,\n i18nStrings,\n allowedCharacterPattern ? new RegExp(allowedCharacterPattern) : undefined\n ).some(error => error),\n });\n },\n [onChange, i18n, i18nStrings, allowedCharacterPattern]\n );\n\n const onAddButtonClick = () => {\n validateAndFire([...tags, { key: '', value: '', existing: false }]);\n focusEventRef.current = () => {\n keyInputRefs.current[tags.length]?.focus();\n };\n };\n\n const onRemoveButtonClick = useStableCallback(\n ({ detail }: NonCancelableCustomEvent<AttributeEditorProps.RemoveButtonClickDetail>) => {\n const existing = tags[detail.itemIndex].existing;\n validateAndFire([\n ...tags.slice(0, detail.itemIndex),\n ...(existing ? [{ ...tags[detail.itemIndex], markedForRemoval: true }] : []),\n ...tags.slice(detail.itemIndex + 1),\n ]);\n if (existing) {\n focusEventRef.current = () => {\n undoButtonRefs.current[detail.itemIndex]?.focus();\n };\n } else {\n keyDirtyStateRef.current.splice(detail.itemIndex, 1);\n const nextKey = keyInputRefs.current[detail.itemIndex + 1];\n if (nextKey) {\n // if next key is present, focus _current_ key which will be replaced by next after state update\n keyInputRefs.current[detail.itemIndex]?.focus();\n } else if (detail.itemIndex > 0) {\n // otherwise focus previous key/value/undo button\n const previousIsExisting = tags[detail.itemIndex - 1].existing;\n if (previousIsExisting) {\n if (tags[detail.itemIndex - 1].markedForRemoval) {\n undoButtonRefs.current[detail.itemIndex - 1]?.focus();\n } else {\n valueInputRefs.current[detail.itemIndex - 1]?.focus();\n }\n } else {\n keyInputRefs.current[detail.itemIndex - 1]?.focus();\n }\n } else {\n // or the 'add' button\n attributeEditorRef.current?.focusAddButton();\n }\n }\n }\n );\n\n const onKeyChange = useStableCallback((value: string, row: number) => {\n keyDirtyStateRef.current[row] = true;\n validateAndFire([...tags.slice(0, row), { ...tags[row], key: value }, ...tags.slice(row + 1)]);\n });\n\n const onKeyBlur = useStableCallback((row: number) => {\n keyDirtyStateRef.current[row] = true;\n // Force re-render by providing a new array reference\n validateAndFire([...tags]);\n });\n\n const onValueChange = useStableCallback((value: string, row: number) => {\n validateAndFire([...tags.slice(0, row), { ...tags[row], value }, ...tags.slice(row + 1)]);\n });\n\n const onUndoRemoval = useStableCallback((row: number) => {\n validateAndFire([...tags.slice(0, row), { ...tags[row], markedForRemoval: false }, ...tags.slice(row + 1)]);\n focusEventRef.current = () => {\n attributeEditorRef.current?.focusRemoveButton(row);\n };\n });\n\n const definition = useMemo(\n () => [\n {\n label: i18n('i18nStrings.keyHeader', i18nStrings?.keyHeader),\n control: ({ tag }: InternalTag, row: number) => (\n <TagControl\n row={row}\n value={tag.key}\n readOnly={tag.existing}\n limit={200}\n defaultOptions={[]}\n placeholder={i18n('i18nStrings.keyPlaceholder', i18nStrings?.keyPlaceholder)}\n errorText={i18n('i18nStrings.keysSuggestionError', i18nStrings?.keysSuggestionError)}\n loadingText={i18n('i18nStrings.keysSuggestionLoading', i18nStrings?.keysSuggestionLoading)}\n suggestionText={i18n('i18nStrings.keySuggestion', i18nStrings?.keySuggestion)}\n tooManySuggestionText={i18n('i18nStrings.tooManyKeysSuggestion', i18nStrings?.tooManyKeysSuggestion)}\n enteredTextLabel={i18nStrings?.enteredKeyLabel}\n clearAriaLabel={i18nStrings?.clearAriaLabel}\n onRequest={keysRequest}\n onChange={onKeyChange}\n onBlur={onKeyBlur}\n initialOptionsRef={initialKeyOptionsRef}\n ref={ref => {\n keyInputRefs.current[row] = ref;\n }}\n />\n ),\n errorText: ({ error }: InternalTag) => error?.key,\n },\n {\n label: (\n <span>\n {i18n('i18nStrings.valueHeader', i18nStrings?.valueHeader)} -{' '}\n <i>{i18n('i18nStrings.optional', i18nStrings?.optional)}</i>\n </span>\n ),\n control: ({ tag }: InternalTag, row: number) =>\n tag.markedForRemoval ? (\n <div role=\"alert\">\n <InternalBox margin={{ top: 'xxs' }}>\n {i18n('i18nStrings.undoPrompt', i18nStrings?.undoPrompt)}{' '}\n <UndoButton\n onClick={() => onUndoRemoval(row)}\n ref={elem => {\n undoButtonRefs.current[row] = elem;\n }}\n >\n {i18n('i18nStrings.undoButton', i18nStrings?.undoButton)}\n </UndoButton>\n </InternalBox>\n </div>\n ) : (\n <TagControl\n row={row}\n value={tag.value}\n readOnly={false}\n limit={200}\n defaultOptions={tag.valueSuggestionOptions ?? []}\n placeholder={i18n('i18nStrings.valuePlaceholder', i18nStrings?.valuePlaceholder)}\n errorText={i18n('i18nStrings.valuesSuggestionError', i18nStrings?.valuesSuggestionError)}\n loadingText={i18n('i18nStrings.valuesSuggestionLoading', i18nStrings?.valuesSuggestionLoading)}\n suggestionText={i18n('i18nStrings.valueSuggestion', i18nStrings?.valueSuggestion)}\n tooManySuggestionText={i18n(\n 'i18nStrings.tooManyValuesSuggestion',\n i18nStrings?.tooManyValuesSuggestion\n )}\n enteredTextLabel={i18nStrings?.enteredValueLabel}\n clearAriaLabel={i18nStrings?.clearAriaLabel}\n filteringKey={tag.key}\n onRequest={valuesRequest && (value => valuesRequest(tag.key, value))}\n onChange={onValueChange}\n ref={ref => {\n valueInputRefs.current[row] = ref;\n }}\n />\n ),\n errorText: ({ error }: InternalTag) => error?.value,\n },\n ],\n [i18n, i18nStrings, keysRequest, onKeyChange, onKeyBlur, valuesRequest, onValueChange, onUndoRemoval]\n );\n\n const forwardedI18nStrings = useMemo<AttributeEditorProps.I18nStrings<InternalTag>>(\n () => ({\n errorIconAriaLabel: i18nStrings?.errorIconAriaLabel,\n itemRemovedAriaLive: i18nStrings?.itemRemovedAriaLive,\n removeButtonAriaLabel: i18n(\n 'i18nStrings.removeButtonAriaLabel',\n i18nStrings?.removeButtonAriaLabel && (({ tag }) => i18nStrings.removeButtonAriaLabel!(tag)),\n format =>\n ({ tag }) =>\n format({ tag__key: tag.key })\n ),\n }),\n [i18nStrings, i18n]\n );\n\n if (loading) {\n return (\n <div className={styles.root} ref={baseComponentProps.__internalRootRef}>\n <InternalStatusIndicator className={styles.loading} type=\"loading\">\n <InternalLiveRegion tagName=\"span\">{i18n('i18nStrings.loading', i18nStrings?.loading)}</InternalLiveRegion>\n </InternalStatusIndicator>\n </div>\n );\n }\n\n const baseProps = getBaseProps(restProps);\n return (\n <InternalAttributeEditor<InternalTag>\n {...baseProps}\n {...baseComponentProps}\n ref={attributeEditorRef}\n className={clsx(styles.root, baseProps.className)}\n items={internalTags}\n isItemRemovable={isItemRemovable}\n onAddButtonClick={onAddButtonClick}\n onRemoveButtonClick={onRemoveButtonClick}\n addButtonText={i18n('i18nStrings.addButton', i18nStrings?.addButton) ?? ''}\n removeButtonText={i18nStrings?.removeButton}\n disableAddButton={remainingTags <= 0}\n empty={i18n('i18nStrings.emptyTags', i18nStrings?.emptyTags)}\n addButtonVariant=\"normal\"\n additionalInfo={\n remainingTags < 0 ? (\n <FormFieldError errorIconAriaLabel={i18nStrings?.errorIconAriaLabel}>\n {i18n('i18nStrings.tagLimitExceeded', i18nStrings?.tagLimitExceeded?.(tagLimit), format =>\n format({ tagLimit })\n ) ?? ''}\n </FormFieldError>\n ) : remainingTags === 0 ? (\n (i18n('i18nStrings.tagLimitReached', i18nStrings?.tagLimitReached?.(tagLimit), format =>\n format({ tagLimit })\n ) ?? '')\n ) : (\n i18n('i18nStrings.tagLimit', i18nStrings?.tagLimit?.(remainingTags, tagLimit), format =>\n format({ tagLimitAvailable: `${remainingTags === tagLimit}`, availableTags: remainingTags, tagLimit })\n )\n )\n }\n definition={definition}\n i18nStrings={forwardedI18nStrings}\n />\n );\n }\n);\n\napplyDisplayName(TagEditor, 'TagEditor');\nexport default TagEditor;\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tag-editor/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\n'use client';\nimport React, { useCallback, useImperativeHandle, useLayoutEffect, useMemo, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useStableCallback } from '@cloudscape-design/component-toolkit/internal';\n\nimport { AttributeEditorProps } from '../attribute-editor/interfaces';\nimport InternalAttributeEditor from '../attribute-editor/internal';\nimport { AutosuggestProps } from '../autosuggest/interfaces';\nimport InternalBox from '../box/internal';\nimport { FormFieldError } from '../form-field/internal';\nimport { useInternalI18n } from '../i18n/context';\nimport { InputProps } from '../input/interfaces';\nimport { getBaseProps } from '../internal/base-component';\nimport { fireNonCancelableEvent, NonCancelableCustomEvent } from '../internal/events';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport InternalLiveRegion from '../live-region/internal';\nimport InternalStatusIndicator from '../status-indicator/internal';\nimport { TagEditorProps } from './interfaces';\nimport { TagControl, UndoButton } from './internal';\nimport { useMemoizedArray } from './utils';\nimport { getTagsDiff } from './utils';\nimport { validate, ValidationError } from './validation';\n\nimport styles from './styles.css.js';\n\nexport { TagEditorProps, getTagsDiff };\n\ninterface InternalTag {\n tag: TagEditorProps.Tag;\n error?: ValidationError;\n}\n\nconst isItemRemovable = ({ tag }: InternalTag) => !tag.markedForRemoval;\n\nconst TagEditor = React.forwardRef(\n (\n {\n tags = [],\n i18nStrings,\n loading = false,\n tagLimit = 50,\n allowedCharacterPattern,\n keysRequest,\n valuesRequest,\n onChange,\n ...restProps\n }: TagEditorProps,\n ref: React.Ref<TagEditorProps.Ref>\n ) => {\n const baseComponentProps = useBaseComponent('TagEditor', {\n props: { tagLimit, allowedCharacterPattern },\n });\n const i18n = useInternalI18n('tag-editor');\n\n const remainingTags = tagLimit - tags.filter(tag => !tag.markedForRemoval).length;\n\n const attributeEditorRef = useRef<AttributeEditorProps.Ref>(null);\n const keyInputRefs = useRef<(InputProps.Ref | undefined | null)[]>([]);\n const valueInputRefs = useRef<(InputProps.Ref | undefined | null)[]>([]);\n const undoButtonRefs = useRef<(HTMLAnchorElement | undefined | null)[]>([]);\n\n const initialKeyOptionsRef = useRef<AutosuggestProps.Options>([]);\n const keyDirtyStateRef = useRef<boolean[]>([]);\n const focusEventRef = useRef<() => void>();\n\n useLayoutEffect(() => {\n focusEventRef.current?.apply(undefined);\n focusEventRef.current = undefined;\n });\n\n const errors = validate(\n tags,\n keyDirtyStateRef.current,\n i18n,\n i18nStrings,\n allowedCharacterPattern ? new RegExp(allowedCharacterPattern) : undefined\n );\n\n const internalTags = useMemoizedArray(\n tags.map((tag, i) => ({ tag, error: errors[i] })),\n (prev, next) => {\n return prev.tag === next.tag && prev.error?.key === next.error?.key && prev.error?.value === next.error?.value;\n }\n );\n\n useImperativeHandle(\n ref,\n () => ({\n focus() {\n const errorIndex = internalTags.findIndex(({ error }) => error?.key || error?.value);\n if (errorIndex !== -1) {\n const refArray = internalTags[errorIndex].error?.key ? keyInputRefs : valueInputRefs;\n refArray.current[errorIndex]?.focus();\n }\n },\n }),\n [internalTags]\n );\n\n const validateAndFire = useCallback(\n (newTags: ReadonlyArray<TagEditorProps.Tag>) => {\n fireNonCancelableEvent(onChange, {\n tags: newTags,\n valid: !validate(\n newTags,\n keyDirtyStateRef.current,\n i18n,\n i18nStrings,\n allowedCharacterPattern ? new RegExp(allowedCharacterPattern) : undefined\n ).some(error => error),\n });\n },\n [onChange, i18n, i18nStrings, allowedCharacterPattern]\n );\n\n const onAddButtonClick = () => {\n validateAndFire([...tags, { key: '', value: '', existing: false }]);\n focusEventRef.current = () => {\n keyInputRefs.current[tags.length]?.focus();\n };\n };\n\n const onRemoveButtonClick = useStableCallback(\n ({ detail }: NonCancelableCustomEvent<AttributeEditorProps.RemoveButtonClickDetail>) => {\n const existing = tags[detail.itemIndex].existing;\n validateAndFire([\n ...tags.slice(0, detail.itemIndex),\n ...(existing ? [{ ...tags[detail.itemIndex], markedForRemoval: true }] : []),\n ...tags.slice(detail.itemIndex + 1),\n ]);\n if (existing) {\n focusEventRef.current = () => {\n undoButtonRefs.current[detail.itemIndex]?.focus();\n };\n } else {\n keyDirtyStateRef.current.splice(detail.itemIndex, 1);\n const nextKey = keyInputRefs.current[detail.itemIndex + 1];\n if (nextKey) {\n // if next key is present, focus _current_ key which will be replaced by next after state update\n keyInputRefs.current[detail.itemIndex]?.focus();\n } else if (detail.itemIndex > 0) {\n // otherwise focus previous key/value/undo button\n const previousIsExisting = tags[detail.itemIndex - 1].existing;\n if (previousIsExisting) {\n if (tags[detail.itemIndex - 1].markedForRemoval) {\n undoButtonRefs.current[detail.itemIndex - 1]?.focus();\n } else {\n valueInputRefs.current[detail.itemIndex - 1]?.focus();\n }\n } else {\n keyInputRefs.current[detail.itemIndex - 1]?.focus();\n }\n } else {\n // or the 'add' button\n attributeEditorRef.current?.focusAddButton();\n }\n }\n }\n );\n\n const onKeyChange = useStableCallback((value: string, row: number) => {\n keyDirtyStateRef.current[row] = true;\n validateAndFire([...tags.slice(0, row), { ...tags[row], key: value }, ...tags.slice(row + 1)]);\n });\n\n const onKeyBlur = useStableCallback((row: number) => {\n keyDirtyStateRef.current[row] = true;\n // Force re-render by providing a new array reference\n validateAndFire([...tags]);\n });\n\n const onValueChange = useStableCallback((value: string, row: number) => {\n validateAndFire([...tags.slice(0, row), { ...tags[row], value }, ...tags.slice(row + 1)]);\n });\n\n const onUndoRemoval = useStableCallback((row: number) => {\n validateAndFire([...tags.slice(0, row), { ...tags[row], markedForRemoval: false }, ...tags.slice(row + 1)]);\n focusEventRef.current = () => {\n attributeEditorRef.current?.focusRemoveButton(row);\n };\n });\n\n const definition = useMemo(\n () => [\n {\n label: i18n('i18nStrings.keyHeader', i18nStrings?.keyHeader),\n control: ({ tag }: InternalTag, row: number) => (\n <TagControl\n row={row}\n value={tag.key}\n readOnly={tag.existing}\n limit={200}\n defaultOptions={[]}\n placeholder={i18n('i18nStrings.keyPlaceholder', i18nStrings?.keyPlaceholder)}\n errorText={i18n('i18nStrings.keysSuggestionError', i18nStrings?.keysSuggestionError)}\n loadingText={i18n('i18nStrings.keysSuggestionLoading', i18nStrings?.keysSuggestionLoading)}\n suggestionText={i18n('i18nStrings.keySuggestion', i18nStrings?.keySuggestion)}\n tooManySuggestionText={i18n('i18nStrings.tooManyKeysSuggestion', i18nStrings?.tooManyKeysSuggestion)}\n enteredTextLabel={i18nStrings?.enteredKeyLabel}\n clearAriaLabel={i18nStrings?.clearAriaLabel}\n onRequest={keysRequest}\n onChange={onKeyChange}\n onBlur={onKeyBlur}\n initialOptionsRef={initialKeyOptionsRef}\n ref={ref => {\n keyInputRefs.current[row] = ref;\n }}\n />\n ),\n errorText: ({ error }: InternalTag) => error?.key,\n },\n {\n label: (\n <span>\n {i18n('i18nStrings.valueHeader', i18nStrings?.valueHeader)} -{' '}\n <i>{i18n('i18nStrings.optional', i18nStrings?.optional)}</i>\n </span>\n ),\n control: ({ tag }: InternalTag, row: number) =>\n tag.markedForRemoval ? (\n <div role=\"alert\">\n <InternalBox margin={{ top: 'xxs' }}>\n {i18n('i18nStrings.undoPrompt', i18nStrings?.undoPrompt)}{' '}\n <UndoButton\n onClick={() => onUndoRemoval(row)}\n ref={elem => {\n undoButtonRefs.current[row] = elem;\n }}\n >\n {i18n('i18nStrings.undoButton', i18nStrings?.undoButton)}\n </UndoButton>\n </InternalBox>\n </div>\n ) : (\n <TagControl\n row={row}\n value={tag.value}\n readOnly={false}\n limit={200}\n defaultOptions={tag.valueSuggestionOptions ?? []}\n placeholder={i18n('i18nStrings.valuePlaceholder', i18nStrings?.valuePlaceholder)}\n errorText={i18n('i18nStrings.valuesSuggestionError', i18nStrings?.valuesSuggestionError)}\n loadingText={i18n('i18nStrings.valuesSuggestionLoading', i18nStrings?.valuesSuggestionLoading)}\n suggestionText={i18n('i18nStrings.valueSuggestion', i18nStrings?.valueSuggestion)}\n tooManySuggestionText={i18n(\n 'i18nStrings.tooManyValuesSuggestion',\n i18nStrings?.tooManyValuesSuggestion\n )}\n enteredTextLabel={i18nStrings?.enteredValueLabel}\n clearAriaLabel={i18nStrings?.clearAriaLabel}\n filteringKey={tag.key}\n onRequest={valuesRequest && (value => valuesRequest(tag.key, value))}\n onChange={onValueChange}\n ref={ref => {\n valueInputRefs.current[row] = ref;\n }}\n />\n ),\n errorText: ({ error }: InternalTag) => error?.value,\n },\n ],\n [i18n, i18nStrings, keysRequest, onKeyChange, onKeyBlur, valuesRequest, onValueChange, onUndoRemoval]\n );\n\n const forwardedI18nStrings = useMemo<AttributeEditorProps.I18nStrings<InternalTag>>(\n () => ({\n errorIconAriaLabel: i18nStrings?.errorIconAriaLabel,\n itemRemovedAriaLive: i18nStrings?.itemRemovedAriaLive,\n removeButtonAriaLabel: i18n(\n 'i18nStrings.removeButtonAriaLabel',\n i18nStrings?.removeButtonAriaLabel && (({ tag }) => i18nStrings.removeButtonAriaLabel!(tag)),\n format =>\n ({ tag }) =>\n format({ tag__key: tag.key })\n ),\n }),\n [i18nStrings, i18n]\n );\n\n if (loading) {\n return (\n <div className={styles.root} ref={baseComponentProps.__internalRootRef}>\n <InternalStatusIndicator className={styles.loading} type=\"loading\">\n <InternalLiveRegion tagName=\"span\">{i18n('i18nStrings.loading', i18nStrings?.loading)}</InternalLiveRegion>\n </InternalStatusIndicator>\n </div>\n );\n }\n\n const baseProps = getBaseProps(restProps);\n return (\n <InternalAttributeEditor<InternalTag>\n {...baseProps}\n {...baseComponentProps}\n ref={attributeEditorRef}\n className={clsx(styles.root, baseProps.className)}\n items={internalTags}\n isItemRemovable={isItemRemovable}\n onAddButtonClick={onAddButtonClick}\n onRemoveButtonClick={onRemoveButtonClick}\n addButtonText={i18n('i18nStrings.addButton', i18nStrings?.addButton) ?? ''}\n removeButtonText={i18nStrings?.removeButton}\n disableAddButton={remainingTags <= 0}\n empty={i18n('i18nStrings.emptyTags', i18nStrings?.emptyTags)}\n addButtonVariant=\"normal\"\n additionalInfo={\n remainingTags < 0 ? (\n <FormFieldError errorIconAriaLabel={i18nStrings?.errorIconAriaLabel}>\n {i18n('i18nStrings.tagLimitExceeded', i18nStrings?.tagLimitExceeded?.(tagLimit), format =>\n format({ tagLimit })\n ) ?? ''}\n </FormFieldError>\n ) : remainingTags === 0 ? (\n (i18n('i18nStrings.tagLimitReached', i18nStrings?.tagLimitReached?.(tagLimit), format =>\n format({ tagLimit })\n ) ?? '')\n ) : (\n i18n('i18nStrings.tagLimit', i18nStrings?.tagLimit?.(remainingTags, tagLimit), format =>\n format({ tagLimitAvailable: `${remainingTags === tagLimit}`, availableTags: remainingTags, tagLimit })\n )\n )\n }\n definition={definition}\n i18nStrings={forwardedI18nStrings}\n />\n );\n }\n);\n\napplyDisplayName(TagEditor, 'TagEditor');\nexport default TagEditor;\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"root": "
|
|
5
|
-
"loading": "
|
|
6
|
-
"undo-button": "awsui_undo-
|
|
4
|
+
"root": "awsui_root_brdst_1qvao_145",
|
|
5
|
+
"loading": "awsui_loading_brdst_1qvao_149",
|
|
6
|
+
"undo-button": "awsui_undo-button_brdst_1qvao_153"
|
|
7
7
|
};
|
|
8
8
|
|
|
@@ -142,20 +142,20 @@
|
|
|
142
142
|
*/
|
|
143
143
|
/* Style used for links in slots/components that are text heavy, to help links stand out among
|
|
144
144
|
surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F73#description */
|
|
145
|
-
.
|
|
145
|
+
.awsui_root_brdst_1qvao_145:not(#\9) {
|
|
146
146
|
/* used in test utils */
|
|
147
147
|
}
|
|
148
148
|
|
|
149
|
-
.
|
|
149
|
+
.awsui_loading_brdst_1qvao_149:not(#\9) {
|
|
150
150
|
/* used in test utils */
|
|
151
151
|
}
|
|
152
152
|
|
|
153
|
-
.awsui_undo-
|
|
153
|
+
.awsui_undo-button_brdst_1qvao_153:not(#\9) {
|
|
154
154
|
-webkit-font-smoothing: var(--font-smoothing-webkit-px4az4, auto);
|
|
155
155
|
-moz-osx-font-smoothing: var(--font-smoothing-moz-osx-ev3sgf, auto);
|
|
156
156
|
text-underline-offset: 0.25em;
|
|
157
157
|
text-decoration-thickness: 1px;
|
|
158
|
-
color: var(--awsui-style-color-default-
|
|
158
|
+
color: var(--awsui-style-color-default-d43v8n, var(--color-text-link-default-x6cnv5, #0073bb));
|
|
159
159
|
font-weight: var(--font-link-button-weight-bnpz8h, 400);
|
|
160
160
|
letter-spacing: var(--font-link-button-letter-spacing-yobz7z, normal);
|
|
161
161
|
text-decoration-line: underline;
|
|
@@ -166,30 +166,30 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
166
166
|
transition-duration: var(--motion-duration-refresh-only-medium-h3wrr6, 0ms);
|
|
167
167
|
}
|
|
168
168
|
@media (prefers-reduced-motion: reduce) {
|
|
169
|
-
.awsui_undo-
|
|
169
|
+
.awsui_undo-button_brdst_1qvao_153:not(#\9) {
|
|
170
170
|
animation: none;
|
|
171
171
|
transition: none;
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
|
-
.awsui-motion-disabled .awsui_undo-
|
|
174
|
+
.awsui-motion-disabled .awsui_undo-button_brdst_1qvao_153:not(#\9), .awsui-mode-entering .awsui_undo-button_brdst_1qvao_153:not(#\9) {
|
|
175
175
|
animation: none;
|
|
176
176
|
transition: none;
|
|
177
177
|
}
|
|
178
|
-
.awsui_undo-
|
|
178
|
+
.awsui_undo-button_brdst_1qvao_153:not(#\9):hover {
|
|
179
179
|
cursor: pointer;
|
|
180
|
-
color: var(--awsui-style-color-hover-
|
|
180
|
+
color: var(--awsui-style-color-hover-d43v8n, var(--color-text-link-hover-tk5gkv, #0a4a74));
|
|
181
181
|
}
|
|
182
|
-
.awsui_undo-
|
|
182
|
+
.awsui_undo-button_brdst_1qvao_153:not(#\9):focus {
|
|
183
183
|
outline: none;
|
|
184
184
|
}
|
|
185
|
-
.awsui_undo-
|
|
186
|
-
color: var(--awsui-style-color-active-
|
|
185
|
+
.awsui_undo-button_brdst_1qvao_153:not(#\9):active {
|
|
186
|
+
color: var(--awsui-style-color-active-d43v8n, var(--color-text-link-hover-tk5gkv, #0a4a74));
|
|
187
187
|
}
|
|
188
|
-
.awsui_undo-
|
|
188
|
+
.awsui_undo-button_brdst_1qvao_153:not(#\9):active, .awsui_undo-button_brdst_1qvao_153:not(#\9):focus, .awsui_undo-button_brdst_1qvao_153:not(#\9):hover {
|
|
189
189
|
text-decoration-line: underline;
|
|
190
190
|
text-decoration-color: var(--color-text-link-button-underline-hover-s0fj6r, currentColor);
|
|
191
191
|
}
|
|
192
|
-
body[data-awsui-focus-visible=true] .awsui_undo-
|
|
192
|
+
body[data-awsui-focus-visible=true] .awsui_undo-button_brdst_1qvao_153:not(#\9):focus {
|
|
193
193
|
outline: thin dotted;
|
|
194
194
|
outline: var(--border-link-focus-ring-outline-c5423y, 5px auto Highlight);
|
|
195
195
|
outline-offset: 2px;
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
// es-module interop with Babel and Typescript
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
module.exports.default = {
|
|
5
|
-
"root": "
|
|
6
|
-
"loading": "
|
|
7
|
-
"undo-button": "awsui_undo-
|
|
5
|
+
"root": "awsui_root_brdst_1qvao_145",
|
|
6
|
+
"loading": "awsui_loading_brdst_1qvao_149",
|
|
7
|
+
"undo-button": "awsui_undo-button_brdst_1qvao_153"
|
|
8
8
|
};
|
|
9
9
|
|
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
'use client';
|
|
4
|
-
import { __rest } from "tslib";
|
|
5
4
|
import React from 'react';
|
|
6
5
|
import clsx from 'clsx';
|
|
7
6
|
import { getBaseProps } from '../internal/base-component';
|
|
8
7
|
import useBaseComponent from '../internal/hooks/use-base-component';
|
|
9
8
|
import { applyDisplayName } from '../internal/utils/apply-display-name';
|
|
10
9
|
import styles from './styles.css.js';
|
|
11
|
-
export default function TextContent(
|
|
12
|
-
var { children } = _a, props = __rest(_a, ["children"]);
|
|
10
|
+
export default function TextContent({ children, ...props }) {
|
|
13
11
|
const { __internalRootRef } = useBaseComponent('TextContent');
|
|
14
12
|
const baseProps = getBaseProps(props);
|
|
15
13
|
const className = clsx(baseProps.className, styles['text-content']);
|
|
16
|
-
return (React.createElement("div",
|
|
14
|
+
return (React.createElement("div", { ...baseProps, className: className, ref: __internalRootRef }, children));
|
|
17
15
|
}
|
|
18
16
|
applyDisplayName(TextContent, 'TextContent');
|
|
19
17
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/text-content/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,YAAY,CAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/text-content/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,YAAY,CAAC;AACb,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAIrC,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAoB;IAC1E,MAAM,EAAE,iBAAiB,EAAE,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAEtC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;IACpE,OAAO,CACL,gCAAS,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,iBAAiB,IAC7D,QAAQ,CACL,CACP,CAAC;AACJ,CAAC;AAED,gBAAgB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n'use client';\nimport React from 'react';\nimport clsx from 'clsx';\n\nimport { getBaseProps } from '../internal/base-component';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { TextContentProps } from './interfaces';\n\nimport styles from './styles.css.js';\n\nexport { TextContentProps };\n\nexport default function TextContent({ children, ...props }: TextContentProps) {\n const { __internalRootRef } = useBaseComponent('TextContent');\n const baseProps = getBaseProps(props);\n\n const className = clsx(baseProps.className, styles['text-content']);\n return (\n <div {...baseProps} className={className} ref={__internalRootRef}>\n {children}\n </div>\n );\n}\n\napplyDisplayName(TextContent, 'TextContent');\n"]}
|