@cloudscape-design/components 3.0.221 → 3.0.223
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/alert/index.js +4 -4
- package/alert/index.js.map +1 -1
- package/alert/internal.js +14 -15
- package/alert/internal.js.map +1 -1
- package/annotation-context/annotation/annotation-icon.js +1 -2
- package/annotation-context/annotation/annotation-icon.js.map +1 -1
- package/annotation-context/annotation/annotation-popover.js +6 -7
- package/annotation-context/annotation/annotation-popover.js.map +1 -1
- package/annotation-context/annotation/annotation-trigger.js +4 -6
- package/annotation-context/annotation/annotation-trigger.js.map +1 -1
- package/annotation-context/annotation/closed-annotation.js +4 -5
- package/annotation-context/annotation/closed-annotation.js.map +1 -1
- package/annotation-context/annotation/open-annotation.js +2 -3
- package/annotation-context/annotation/open-annotation.js.map +1 -1
- package/annotation-context/context.js +7 -7
- package/annotation-context/context.js.map +1 -1
- package/annotation-context/index.js +62 -69
- package/annotation-context/index.js.map +1 -1
- package/app-layout/content-wrapper/index.js +2 -3
- package/app-layout/content-wrapper/index.js.map +1 -1
- package/app-layout/defaults.js +13 -14
- package/app-layout/defaults.js.map +1 -1
- package/app-layout/drawer.js +16 -18
- package/app-layout/drawer.js.map +1 -1
- package/app-layout/index.js +111 -113
- package/app-layout/index.js.map +1 -1
- package/app-layout/mobile-toolbar/index.js +7 -9
- package/app-layout/mobile-toolbar/index.js.map +1 -1
- package/app-layout/navigation-panel.js +5 -8
- package/app-layout/navigation-panel.js.map +1 -1
- package/app-layout/notifications/index.js +2 -2
- package/app-layout/notifications/index.js.map +1 -1
- package/app-layout/toggles/index.js +14 -22
- package/app-layout/toggles/index.js.map +1 -1
- package/app-layout/tools-and-split-panel.js +6 -9
- package/app-layout/tools-and-split-panel.js.map +1 -1
- package/app-layout/utils/use-content-height.js +14 -15
- package/app-layout/utils/use-content-height.js.map +1 -1
- package/app-layout/utils/use-content-width.js +8 -8
- package/app-layout/utils/use-content-width.js.map +1 -1
- package/app-layout/utils/use-focus-control.js +7 -8
- package/app-layout/utils/use-focus-control.js.map +1 -1
- package/app-layout/utils/use-observed-element.js +3 -3
- package/app-layout/utils/use-observed-element.js.map +1 -1
- package/app-layout/utils/use-window-width.js +4 -4
- package/app-layout/utils/use-window-width.js.map +1 -1
- package/app-layout/visual-refresh/app-bar.js +19 -20
- package/app-layout/visual-refresh/app-bar.js.map +1 -1
- package/app-layout/visual-refresh/background.js +9 -10
- package/app-layout/visual-refresh/background.js.map +1 -1
- package/app-layout/visual-refresh/context.js +101 -59
- package/app-layout/visual-refresh/context.js.map +1 -1
- package/app-layout/visual-refresh/header.js +6 -7
- package/app-layout/visual-refresh/header.js.map +1 -1
- package/app-layout/visual-refresh/index.js +3 -4
- package/app-layout/visual-refresh/index.js.map +1 -1
- package/app-layout/visual-refresh/layout.js +18 -21
- package/app-layout/visual-refresh/layout.js.map +1 -1
- package/app-layout/visual-refresh/main.js +17 -18
- package/app-layout/visual-refresh/main.js.map +1 -1
- package/app-layout/visual-refresh/navigation.js +22 -24
- package/app-layout/visual-refresh/navigation.js.map +1 -1
- package/app-layout/visual-refresh/notifications.js +6 -7
- package/app-layout/visual-refresh/notifications.js.map +1 -1
- package/app-layout/visual-refresh/split-panel.js +36 -43
- package/app-layout/visual-refresh/split-panel.js.map +1 -1
- package/app-layout/visual-refresh/tools.js +32 -34
- package/app-layout/visual-refresh/tools.js.map +1 -1
- package/app-layout/visual-refresh/trigger-button.js +5 -8
- package/app-layout/visual-refresh/trigger-button.js.map +1 -1
- package/area-chart/chart-container.js +18 -19
- package/area-chart/chart-container.js.map +1 -1
- package/area-chart/elements/area-chart-filter.js +7 -8
- package/area-chart/elements/area-chart-filter.js.map +1 -1
- package/area-chart/elements/area-chart-legend.js +6 -9
- package/area-chart/elements/area-chart-legend.js.map +1 -1
- package/area-chart/elements/area-series.js +12 -13
- package/area-chart/elements/area-series.js.map +1 -1
- package/area-chart/elements/chart-popover.js +4 -6
- package/area-chart/elements/chart-popover.js.map +1 -1
- package/area-chart/elements/data-series.js +14 -17
- package/area-chart/elements/data-series.js.map +1 -1
- package/area-chart/elements/highlighted-point.js +6 -7
- package/area-chart/elements/highlighted-point.js.map +1 -1
- package/area-chart/elements/threshold-series.js +5 -7
- package/area-chart/elements/threshold-series.js.map +1 -1
- package/area-chart/elements/use-highlight-details.js +28 -30
- package/area-chart/elements/use-highlight-details.js.map +1 -1
- package/area-chart/elements/vertical-marker.js +6 -7
- package/area-chart/elements/vertical-marker.js.map +1 -1
- package/area-chart/index.js +4 -4
- package/area-chart/index.js.map +1 -1
- package/area-chart/internal.js +40 -41
- package/area-chart/internal.js.map +1 -1
- package/area-chart/model/async-store.js +23 -30
- package/area-chart/model/async-store.js.map +1 -1
- package/area-chart/model/compute-chart-props.js +11 -12
- package/area-chart/model/compute-chart-props.js.map +1 -1
- package/area-chart/model/create-series-decorator.js +11 -13
- package/area-chart/model/create-series-decorator.js.map +1 -1
- package/area-chart/model/interactions-store.js +47 -54
- package/area-chart/model/interactions-store.js.map +1 -1
- package/area-chart/model/use-chart-model.js +85 -89
- package/area-chart/model/use-chart-model.js.map +1 -1
- package/area-chart/model/use-filter-props.js +6 -6
- package/area-chart/model/use-filter-props.js.map +1 -1
- package/area-chart/model/use-highlight-props.js +6 -6
- package/area-chart/model/use-highlight-props.js.map +1 -1
- package/area-chart/model/utils.js +46 -59
- package/area-chart/model/utils.js.map +1 -1
- package/attribute-editor/additional-info.js +2 -5
- package/attribute-editor/additional-info.js.map +1 -1
- package/attribute-editor/index.js +5 -5
- package/attribute-editor/index.js.map +1 -1
- package/attribute-editor/internal.js +20 -20
- package/attribute-editor/internal.js.map +1 -1
- package/attribute-editor/row.js +17 -25
- package/attribute-editor/row.js.map +1 -1
- package/autosuggest/autosuggest-option.js +12 -12
- package/autosuggest/autosuggest-option.js.map +1 -1
- package/autosuggest/index.js +6 -6
- package/autosuggest/index.js.map +1 -1
- package/autosuggest/internal.js +39 -39
- package/autosuggest/internal.js.map +1 -1
- package/autosuggest/load-more-controller.js +10 -14
- package/autosuggest/load-more-controller.js.map +1 -1
- package/autosuggest/options-controller.js +31 -32
- package/autosuggest/options-controller.js.map +1 -1
- package/autosuggest/options-list.js +12 -13
- package/autosuggest/options-list.js.map +1 -1
- package/autosuggest/plain-list.js +15 -17
- package/autosuggest/plain-list.js.map +1 -1
- package/autosuggest/utils/utils.js +12 -12
- package/autosuggest/utils/utils.js.map +1 -1
- package/autosuggest/virtual-list.js +14 -16
- package/autosuggest/virtual-list.js.map +1 -1
- package/badge/index.js +6 -6
- package/badge/index.js.map +1 -1
- package/bar-chart/index.js +6 -6
- package/bar-chart/index.js.map +1 -1
- package/box/index.js +4 -4
- package/box/index.js.map +1 -1
- package/box/internal.js +12 -12
- package/box/internal.js.map +1 -1
- package/breadcrumb-group/index.js +4 -4
- package/breadcrumb-group/index.js.map +1 -1
- package/breadcrumb-group/internal.js +24 -25
- package/breadcrumb-group/internal.js.map +1 -1
- package/breadcrumb-group/item/item.js +32 -34
- package/breadcrumb-group/item/item.js.map +1 -1
- package/button/icon-helper.js +6 -6
- package/button/icon-helper.js.map +1 -1
- package/button/index.js +6 -6
- package/button/index.js.map +1 -1
- package/button/internal.js +32 -33
- package/button/internal.js.map +1 -1
- package/button-dropdown/category-elements/category-element.js +3 -5
- package/button-dropdown/category-elements/category-element.js.map +1 -1
- package/button-dropdown/category-elements/expandable-category-element.js +23 -26
- package/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
- package/button-dropdown/category-elements/mobile-expandable-category-element.js +27 -30
- package/button-dropdown/category-elements/mobile-expandable-category-element.js.map +1 -1
- package/button-dropdown/index.js +6 -6
- package/button-dropdown/index.js.map +1 -1
- package/button-dropdown/internal.js +28 -29
- package/button-dropdown/internal.js.map +1 -1
- package/button-dropdown/item-element/index.js +30 -36
- package/button-dropdown/item-element/index.js.map +1 -1
- package/button-dropdown/items-list.js +3 -4
- package/button-dropdown/items-list.js.map +1 -1
- package/button-dropdown/mobile-expandable-group/mobile-expandable-group.js +2 -4
- package/button-dropdown/mobile-expandable-group/mobile-expandable-group.js.map +1 -1
- package/button-dropdown/tooltip.js +22 -24
- package/button-dropdown/tooltip.js.map +1 -1
- package/button-dropdown/utils/create-items-tree.js +21 -23
- package/button-dropdown/utils/create-items-tree.js.map +1 -1
- package/button-dropdown/utils/menu-item.js +6 -9
- package/button-dropdown/utils/menu-item.js.map +1 -1
- package/button-dropdown/utils/move-highlight.js +3 -4
- package/button-dropdown/utils/move-highlight.js.map +1 -1
- package/button-dropdown/utils/use-button-dropdown.js +31 -33
- package/button-dropdown/utils/use-button-dropdown.js.map +1 -1
- package/button-dropdown/utils/use-hidden-description.js +3 -3
- package/button-dropdown/utils/use-hidden-description.js.map +1 -1
- package/button-dropdown/utils/use-highlighted-menu.js +40 -42
- package/button-dropdown/utils/use-highlighted-menu.js.map +1 -1
- package/button-dropdown/utils/utils.js +5 -9
- package/button-dropdown/utils/utils.js.map +1 -1
- package/calendar/grid/index.js +25 -28
- package/calendar/grid/index.js.map +1 -1
- package/calendar/header/header-button.js +4 -6
- package/calendar/header/header-button.js.map +1 -1
- package/calendar/header/index.js +1 -2
- package/calendar/header/index.js.map +1 -1
- package/calendar/index.js +4 -4
- package/calendar/index.js.map +1 -1
- package/calendar/internal.js +27 -27
- package/calendar/internal.js.map +1 -1
- package/calendar/utils/intl.js +12 -13
- package/calendar/utils/intl.js.map +1 -1
- package/calendar/utils/navigation.js +3 -3
- package/calendar/utils/navigation.js.map +1 -1
- package/cards/cards-layout-helper.js +12 -12
- package/cards/cards-layout-helper.js.map +1 -1
- package/cards/index.js +53 -63
- package/cards/index.js.map +1 -1
- package/checkbox/index.js +4 -4
- package/checkbox/index.js.map +1 -1
- package/checkbox/internal.d.ts +1 -0
- package/checkbox/internal.d.ts.map +1 -1
- package/checkbox/internal.js +9 -9
- package/checkbox/internal.js.map +1 -1
- package/code-editor/ace-modes.js +1 -1
- package/code-editor/ace-modes.js.map +1 -1
- package/code-editor/ace-themes.js +2 -2
- package/code-editor/ace-themes.js.map +1 -1
- package/code-editor/error-screen.js +3 -4
- package/code-editor/error-screen.js.map +1 -1
- package/code-editor/index.js +61 -65
- package/code-editor/index.js.map +1 -1
- package/code-editor/listeners.js +5 -5
- package/code-editor/listeners.js.map +1 -1
- package/code-editor/loading-screen.js +2 -2
- package/code-editor/loading-screen.js.map +1 -1
- package/code-editor/pane.js +21 -25
- package/code-editor/pane.js.map +1 -1
- package/code-editor/preferences-modal.js +12 -13
- package/code-editor/preferences-modal.js.map +1 -1
- package/code-editor/resizable-box/index.js +14 -15
- package/code-editor/resizable-box/index.js.map +1 -1
- package/code-editor/setup-editor.js +20 -20
- package/code-editor/setup-editor.js.map +1 -1
- package/code-editor/status-bar.js +19 -22
- package/code-editor/status-bar.js.map +1 -1
- package/code-editor/tab-button.js +7 -10
- package/code-editor/tab-button.js.map +1 -1
- package/code-editor/util.js +6 -6
- package/code-editor/util.js.map +1 -1
- package/collection-preferences/index.js +21 -23
- package/collection-preferences/index.js.map +1 -1
- package/collection-preferences/utils.js +25 -57
- package/collection-preferences/utils.js.map +1 -1
- package/collection-preferences/visible-content.js +23 -27
- package/collection-preferences/visible-content.js.map +1 -1
- package/column-layout/index.js +6 -6
- package/column-layout/index.js.map +1 -1
- package/column-layout/internal.js +20 -21
- package/column-layout/internal.js.map +1 -1
- package/column-layout/util.js +2 -2
- package/column-layout/util.js.map +1 -1
- package/container/index.js +5 -5
- package/container/index.js.map +1 -1
- package/container/internal.js +30 -31
- package/container/internal.js.map +1 -1
- package/container/use-sticky-header.js +25 -25
- package/container/use-sticky-header.js.map +1 -1
- package/content-layout/index.js +2 -3
- package/content-layout/index.js.map +1 -1
- package/content-layout/internal.js +15 -16
- package/content-layout/internal.js.map +1 -1
- package/date-input/index.js +3 -4
- package/date-input/index.js.map +1 -1
- package/date-input/interfaces.d.ts +4 -0
- package/date-input/interfaces.d.ts.map +1 -1
- package/date-input/interfaces.js.map +1 -1
- package/date-input/internal.js +8 -8
- package/date-input/internal.js.map +1 -1
- package/date-picker/index.js +28 -28
- package/date-picker/index.js.map +1 -1
- package/date-range-picker/calendar/grids/grid.js +54 -57
- package/date-range-picker/calendar/grids/grid.js.map +1 -1
- package/date-range-picker/calendar/grids/index.js +27 -28
- package/date-range-picker/calendar/grids/index.js.map +1 -1
- package/date-range-picker/calendar/header/header-button.js +4 -6
- package/date-range-picker/calendar/header/header-button.js.map +1 -1
- package/date-range-picker/calendar/header/index.js +6 -7
- package/date-range-picker/calendar/header/index.js.map +1 -1
- package/date-range-picker/calendar/index.js +40 -45
- package/date-range-picker/calendar/index.js.map +1 -1
- package/date-range-picker/calendar/range-inputs.js +5 -6
- package/date-range-picker/calendar/range-inputs.js.map +1 -1
- package/date-range-picker/calendar/utils.js +2 -2
- package/date-range-picker/calendar/utils.js.map +1 -1
- package/date-range-picker/dropdown.js +29 -34
- package/date-range-picker/dropdown.js.map +1 -1
- package/date-range-picker/index.js +40 -43
- package/date-range-picker/index.js.map +1 -1
- package/date-range-picker/mode-switcher.js +2 -3
- package/date-range-picker/mode-switcher.js.map +1 -1
- package/date-range-picker/relative-range/index.js +36 -40
- package/date-range-picker/relative-range/index.js.map +1 -1
- package/date-range-picker/time-offset.js +5 -5
- package/date-range-picker/time-offset.js.map +1 -1
- package/date-range-picker/utils.js +4 -5
- package/date-range-picker/utils.js.map +1 -1
- package/expandable-section/expandable-section-container.js +5 -5
- package/expandable-section/expandable-section-container.js.map +1 -1
- package/expandable-section/expandable-section-header.js +18 -23
- package/expandable-section/expandable-section-header.js.map +1 -1
- package/expandable-section/index.js +4 -4
- package/expandable-section/index.js.map +1 -1
- package/expandable-section/internal.js +22 -22
- package/expandable-section/internal.js.map +1 -1
- package/flashbar/collapsible-flashbar.js +103 -118
- package/flashbar/collapsible-flashbar.js.map +1 -1
- package/flashbar/common.js +26 -35
- package/flashbar/common.js.map +1 -1
- package/flashbar/constant.js +1 -1
- package/flashbar/constant.js.map +1 -1
- package/flashbar/flash.js +23 -26
- package/flashbar/flash.js.map +1 -1
- package/flashbar/index.js +3 -4
- package/flashbar/index.js.map +1 -1
- package/flashbar/internal/analytics.js +12 -12
- package/flashbar/internal/analytics.js.map +1 -1
- package/flashbar/non-collapsible-flashbar.js +10 -10
- package/flashbar/non-collapsible-flashbar.js.map +1 -1
- package/flashbar/utils.js +25 -27
- package/flashbar/utils.js.map +1 -1
- package/form/index.js +4 -4
- package/form/index.js.map +1 -1
- package/form/internal.js +5 -6
- package/form/internal.js.map +1 -1
- package/form-field/index.js +4 -4
- package/form-field/index.js.map +1 -1
- package/form-field/internal.js +20 -23
- package/form-field/internal.js.map +1 -1
- package/form-field/util.js +9 -10
- package/form-field/util.js.map +1 -1
- package/grid/index.js +6 -6
- package/grid/index.js.map +1 -1
- package/grid/internal.js +14 -15
- package/grid/internal.js.map +1 -1
- package/header/index.js +4 -4
- package/header/index.js.map +1 -1
- package/header/internal.js +15 -15
- package/header/internal.js.map +1 -1
- package/help-panel/index.js +7 -7
- package/help-panel/index.js.map +1 -1
- package/hotspot/index.js +12 -12
- package/hotspot/index.js.map +1 -1
- package/icon/index.js +4 -4
- package/icon/index.js.map +1 -1
- package/icon/internal.js +18 -18
- package/icon/internal.js.map +1 -1
- package/input/index.js +36 -17
- package/input/index.js.map +1 -1
- package/input/internal.js +30 -25
- package/input/internal.js.map +1 -1
- package/input/utils.js +4 -5
- package/input/utils.js.map +1 -1
- package/internal/animate.js +27 -32
- package/internal/animate.js.map +1 -1
- package/internal/base-component/index.js +2 -2
- package/internal/base-component/index.js.map +1 -1
- package/internal/breakpoints.js +7 -12
- package/internal/breakpoints.js.map +1 -1
- package/internal/components/abstract-switch/index.d.ts +2 -1
- package/internal/components/abstract-switch/index.d.ts.map +1 -1
- package/internal/components/abstract-switch/index.js +19 -19
- package/internal/components/abstract-switch/index.js.map +1 -1
- package/internal/components/abstract-switch/styles.css.js +13 -12
- package/internal/components/abstract-switch/styles.scoped.css +21 -21
- package/internal/components/abstract-switch/styles.selectors.js +13 -12
- package/internal/components/autosuggest-input/index.js +38 -38
- package/internal/components/autosuggest-input/index.js.map +1 -1
- package/internal/components/button-trigger/index.js +7 -7
- package/internal/components/button-trigger/index.js.map +1 -1
- package/internal/components/cartesian-chart/axis-label.js +1 -2
- package/internal/components/cartesian-chart/axis-label.js.map +1 -1
- package/internal/components/cartesian-chart/bottom-labels.js +20 -26
- package/internal/components/cartesian-chart/bottom-labels.js.map +1 -1
- package/internal/components/cartesian-chart/constants.js +5 -5
- package/internal/components/cartesian-chart/constants.js.map +1 -1
- package/internal/components/cartesian-chart/emphasized-baseline.js +4 -5
- package/internal/components/cartesian-chart/emphasized-baseline.js.map +1 -1
- package/internal/components/cartesian-chart/highlighted-point.js +1 -2
- package/internal/components/cartesian-chart/highlighted-point.js.map +1 -1
- package/internal/components/cartesian-chart/label-utils.js +20 -24
- package/internal/components/cartesian-chart/label-utils.js.map +1 -1
- package/internal/components/cartesian-chart/labels-measure.js +6 -7
- package/internal/components/cartesian-chart/labels-measure.js.map +1 -1
- package/internal/components/cartesian-chart/left-labels.js +13 -17
- package/internal/components/cartesian-chart/left-labels.js.map +1 -1
- package/internal/components/cartesian-chart/scales.js +21 -26
- package/internal/components/cartesian-chart/scales.js.map +1 -1
- package/internal/components/cartesian-chart/ticks.js +9 -10
- package/internal/components/cartesian-chart/ticks.js.map +1 -1
- package/internal/components/cartesian-chart/vertical-grid-lines.js +3 -4
- package/internal/components/cartesian-chart/vertical-grid-lines.js.map +1 -1
- package/internal/components/cartesian-chart/vertical-marker.js +3 -4
- package/internal/components/cartesian-chart/vertical-marker.js.map +1 -1
- package/internal/components/chart-filter/index.js +13 -14
- package/internal/components/chart-filter/index.js.map +1 -1
- package/internal/components/chart-legend/index.js +26 -29
- package/internal/components/chart-legend/index.js.map +1 -1
- package/internal/components/chart-plot/application-controller.js +21 -25
- package/internal/components/chart-plot/application-controller.js.map +1 -1
- package/internal/components/chart-plot/focus-outline.js +7 -8
- package/internal/components/chart-plot/focus-outline.js.map +1 -1
- package/internal/components/chart-plot/index.js +33 -34
- package/internal/components/chart-plot/index.js.map +1 -1
- package/internal/components/chart-popover/index.js +11 -12
- package/internal/components/chart-popover/index.js.map +1 -1
- package/internal/components/chart-series-details/index.js +13 -17
- package/internal/components/chart-series-details/index.js.map +1 -1
- package/internal/components/chart-series-marker/index.js +2 -3
- package/internal/components/chart-series-marker/index.js.map +1 -1
- package/internal/components/chart-status-container/index.js +8 -10
- package/internal/components/chart-status-container/index.js.map +1 -1
- package/internal/components/checkbox-icon/index.js +18 -19
- package/internal/components/checkbox-icon/index.js.map +1 -1
- package/internal/components/dark-ribbon/index.js +13 -14
- package/internal/components/dark-ribbon/index.js.map +1 -1
- package/internal/components/dropdown/context.js +4 -5
- package/internal/components/dropdown/context.js.map +1 -1
- package/internal/components/dropdown/dropdown-fit-handler.js +74 -81
- package/internal/components/dropdown/dropdown-fit-handler.js.map +1 -1
- package/internal/components/dropdown/index.js +57 -65
- package/internal/components/dropdown/index.js.map +1 -1
- package/internal/components/dropdown-footer/index.js +2 -6
- package/internal/components/dropdown-footer/index.js.map +1 -1
- package/internal/components/dropdown-status/index.js +5 -7
- package/internal/components/dropdown-status/index.js.map +1 -1
- package/internal/components/filtering-token/index.js +4 -6
- package/internal/components/filtering-token/index.js.map +1 -1
- package/internal/components/focus-lock/index.js +10 -11
- package/internal/components/focus-lock/index.js.map +1 -1
- package/internal/components/focus-lock/utils.js +4 -4
- package/internal/components/focus-lock/utils.js.map +1 -1
- package/internal/components/live-region/index.js +10 -10
- package/internal/components/live-region/index.js.map +1 -1
- package/internal/components/masked-input/index.js +22 -24
- package/internal/components/masked-input/index.js.map +1 -1
- package/internal/components/masked-input/keyboard-handler.js +18 -18
- package/internal/components/masked-input/keyboard-handler.js.map +1 -1
- package/internal/components/masked-input/use-mask.js +24 -28
- package/internal/components/masked-input/use-mask.js.map +1 -1
- package/internal/components/masked-input/utils/keys.js +4 -6
- package/internal/components/masked-input/utils/keys.js.map +1 -1
- package/internal/components/masked-input/utils/mask-format.js +103 -113
- package/internal/components/masked-input/utils/mask-format.js.map +1 -1
- package/internal/components/masked-input/utils/strings.js +1 -4
- package/internal/components/masked-input/utils/strings.js.map +1 -1
- package/internal/components/menu-dropdown/index.js +10 -12
- package/internal/components/menu-dropdown/index.js.map +1 -1
- package/internal/components/option/highlight-match.js +14 -18
- package/internal/components/option/highlight-match.js.map +1 -1
- package/internal/components/option/index.js +13 -13
- package/internal/components/option/index.js.map +1 -1
- package/internal/components/option/option-announcer.js +1 -1
- package/internal/components/option/option-announcer.js.map +1 -1
- package/internal/components/option/option-parts.js +28 -45
- package/internal/components/option/option-parts.js.map +1 -1
- package/internal/components/option/utils/filter-options.js +16 -19
- package/internal/components/option/utils/filter-options.js.map +1 -1
- package/internal/components/option/utils/flatten-options.js +15 -15
- package/internal/components/option/utils/flatten-options.js.map +1 -1
- package/internal/components/option/utils/prepare-options.js +3 -3
- package/internal/components/option/utils/prepare-options.js.map +1 -1
- package/internal/components/options-list/index.js +19 -20
- package/internal/components/options-list/index.js.map +1 -1
- package/internal/components/options-list/utils/test-indexes.js +11 -11
- package/internal/components/options-list/utils/test-indexes.js.map +1 -1
- package/internal/components/options-list/utils/use-highlight-option.js +17 -21
- package/internal/components/options-list/utils/use-highlight-option.js.map +1 -1
- package/internal/components/options-list/utils/use-ids.js +2 -2
- package/internal/components/options-list/utils/use-ids.js.map +1 -1
- package/internal/components/options-list/utils/use-keyboard.js +6 -8
- package/internal/components/options-list/utils/use-keyboard.js.map +1 -1
- package/internal/components/options-list/utils/use-open-state.js +6 -7
- package/internal/components/options-list/utils/use-open-state.js.map +1 -1
- package/internal/components/portal/index.js +5 -6
- package/internal/components/portal/index.js.map +1 -1
- package/internal/components/screenreader-only/index.js +1 -2
- package/internal/components/screenreader-only/index.js.map +1 -1
- package/internal/components/selectable-item/index.js +25 -26
- package/internal/components/selectable-item/index.js.map +1 -1
- package/internal/components/tab-trap/index.js +1 -2
- package/internal/components/tab-trap/index.js.map +1 -1
- package/internal/components/transition/index.js +16 -16
- package/internal/components/transition/index.js.map +1 -1
- package/internal/components/visual-context/index.js +6 -7
- package/internal/components/visual-context/index.js.map +1 -1
- package/internal/context/app-layout-context.js +2 -2
- package/internal/context/app-layout-context.js.map +1 -1
- package/internal/context/form-field-context.js +4 -4
- package/internal/context/form-field-context.js.map +1 -1
- package/internal/context/split-panel-context.js +3 -3
- package/internal/context/split-panel-context.js.map +1 -1
- package/internal/debounce.js +6 -11
- package/internal/debounce.js.map +1 -1
- package/internal/environment.js +1 -1
- package/internal/events/index.js +12 -16
- package/internal/events/index.js.map +1 -1
- package/internal/focus-tracker.js +22 -27
- package/internal/focus-tracker.js.map +1 -1
- package/internal/generated/custom-css-properties/index.js +2 -2
- package/internal/generated/custom-css-properties/index.js.map +1 -1
- package/internal/hooks/check-controlled/index.js +1 -1
- package/internal/hooks/check-controlled/index.js.map +1 -1
- package/internal/hooks/container-queries/use-container-breakpoints.js +2 -2
- package/internal/hooks/container-queries/use-container-breakpoints.js.map +1 -1
- package/internal/hooks/container-queries/use-container-query.js +5 -6
- package/internal/hooks/container-queries/use-container-query.js.map +1 -1
- package/internal/hooks/container-queries/use-resize-observer.js +13 -13
- package/internal/hooks/container-queries/use-resize-observer.js.map +1 -1
- package/internal/hooks/focus-visible/index.js +8 -8
- package/internal/hooks/focus-visible/index.js.map +1 -1
- package/internal/hooks/forward-focus/index.js +5 -9
- package/internal/hooks/forward-focus/index.js.map +1 -1
- package/internal/hooks/forward-focus/radio-group.js +7 -7
- package/internal/hooks/forward-focus/radio-group.js.map +1 -1
- package/internal/hooks/use-base-component/component-metadata.js +5 -5
- package/internal/hooks/use-base-component/component-metadata.js.map +1 -1
- package/internal/hooks/use-base-component/index.js +1 -1
- package/internal/hooks/use-base-component/index.js.map +1 -1
- package/internal/hooks/use-controllable/index.js +16 -17
- package/internal/hooks/use-controllable/index.js.map +1 -1
- package/internal/hooks/use-date-cache/index.js +2 -2
- package/internal/hooks/use-date-cache/index.js.map +1 -1
- package/internal/hooks/use-debounce-callback/index.js +3 -7
- package/internal/hooks/use-debounce-callback/index.js.map +1 -1
- package/internal/hooks/use-dynamic-overlap/index.js +4 -4
- package/internal/hooks/use-dynamic-overlap/index.js.map +1 -1
- package/internal/hooks/use-effect-on-update.js +2 -2
- package/internal/hooks/use-effect-on-update.js.map +1 -1
- package/internal/hooks/use-focus-tracker.js +7 -8
- package/internal/hooks/use-focus-tracker.js.map +1 -1
- package/internal/hooks/use-has-rendered/index.js +6 -6
- package/internal/hooks/use-has-rendered/index.js.map +1 -1
- package/internal/hooks/use-merge-refs/index.js +5 -9
- package/internal/hooks/use-merge-refs/index.js.map +1 -1
- package/internal/hooks/use-mobile/index.js +7 -7
- package/internal/hooks/use-mobile/index.js.map +1 -1
- package/internal/hooks/use-mouse-down-target.js +5 -5
- package/internal/hooks/use-mouse-down-target.js.map +1 -1
- package/internal/hooks/use-mutation-observer/index.js +5 -5
- package/internal/hooks/use-mutation-observer/index.js.map +1 -1
- package/internal/hooks/use-portal-mode-classes/index.js +10 -12
- package/internal/hooks/use-portal-mode-classes/index.js.map +1 -1
- package/internal/hooks/use-previous/index.js +3 -3
- package/internal/hooks/use-previous/index.js.map +1 -1
- package/internal/hooks/use-scroll-sync/index.js +8 -9
- package/internal/hooks/use-scroll-sync/index.js.map +1 -1
- package/internal/hooks/use-singleton-handler/index.js +12 -14
- package/internal/hooks/use-singleton-handler/index.js.map +1 -1
- package/internal/hooks/use-stable-event-handler/index.js +3 -10
- package/internal/hooks/use-stable-event-handler/index.js.map +1 -1
- package/internal/hooks/use-telemetry/index.js +2 -2
- package/internal/hooks/use-telemetry/index.js.map +1 -1
- package/internal/hooks/use-telemetry/telemetry.js +3 -4
- package/internal/hooks/use-telemetry/telemetry.js.map +1 -1
- package/internal/hooks/use-unique-id/index.js +3 -3
- package/internal/hooks/use-unique-id/index.js.map +1 -1
- package/internal/hooks/use-visual-mode/index.js +11 -11
- package/internal/hooks/use-visual-mode/index.js.map +1 -1
- package/internal/is-development.js +1 -1
- package/internal/is-development.js.map +1 -1
- package/internal/logging.js +2 -2
- package/internal/logging.js.map +1 -1
- package/internal/manifest.json +1 -1
- package/internal/metrics/log-clients.js +18 -27
- package/internal/metrics/log-clients.js.map +1 -1
- package/internal/metrics/metrics-formatters.js +11 -14
- package/internal/metrics/metrics-formatters.js.map +1 -1
- package/internal/metrics/metrics.js +27 -33
- package/internal/metrics/metrics.js.map +1 -1
- package/internal/motion.js +2 -2
- package/internal/motion.js.map +1 -1
- package/internal/styles/colors.js +1 -1
- package/internal/styles/colors.js.map +1 -1
- package/internal/utils/browser-scrollbar-size.js +5 -5
- package/internal/utils/browser-scrollbar-size.js.map +1 -1
- package/internal/utils/calculate-once.js +2 -2
- package/internal/utils/calculate-once.js.map +1 -1
- package/internal/utils/check-safe-url.js +4 -4
- package/internal/utils/check-safe-url.js.map +1 -1
- package/internal/utils/create-category-color-scale.js +6 -9
- package/internal/utils/create-category-color-scale.js.map +1 -1
- package/internal/utils/date-time/format-date-range.js +3 -3
- package/internal/utils/date-time/format-date-range.js.map +1 -1
- package/internal/utils/date-time/format-date.js +4 -4
- package/internal/utils/date-time/format-date.js.map +1 -1
- package/internal/utils/date-time/format-time.js +5 -5
- package/internal/utils/date-time/format-time.js.map +1 -1
- package/internal/utils/date-time/format-timezone-offset.js +4 -4
- package/internal/utils/date-time/format-timezone-offset.js.map +1 -1
- package/internal/utils/date-time/is-iso-date-only.js +1 -1
- package/internal/utils/date-time/is-iso-date-only.js.map +1 -1
- package/internal/utils/date-time/join-date-time.js +3 -3
- package/internal/utils/date-time/join-date-time.js.map +1 -1
- package/internal/utils/date-time/parse-date.js +5 -6
- package/internal/utils/date-time/parse-date.js.map +1 -1
- package/internal/utils/date-time/parse-timezone-offset.js +5 -5
- package/internal/utils/date-time/parse-timezone-offset.js.map +1 -1
- package/internal/utils/date-time/shift-timezone-offset.js +6 -6
- package/internal/utils/date-time/shift-timezone-offset.js.map +1 -1
- package/internal/utils/dom.js +12 -12
- package/internal/utils/dom.js.map +1 -1
- package/internal/utils/external-props.js +3 -3
- package/internal/utils/external-props.js.map +1 -1
- package/internal/utils/focus-svg-element.js +1 -1
- package/internal/utils/focus-svg-element.js.map +1 -1
- package/internal/utils/locale/merge-locales.js +1 -1
- package/internal/utils/locale/merge-locales.js.map +1 -1
- package/internal/utils/locale/normalize-locale.js +3 -3
- package/internal/utils/locale/normalize-locale.js.map +1 -1
- package/internal/utils/promises.js +7 -11
- package/internal/utils/promises.js.map +1 -1
- package/internal/utils/scrollable-containers.js +14 -18
- package/internal/utils/scrollable-containers.js.map +1 -1
- package/internal/utils/strings/join-strings.js +1 -5
- package/internal/utils/strings/join-strings.js.map +1 -1
- package/internal/utils/strings/pad-left-zeros.js +1 -1
- package/internal/utils/strings/pad-left-zeros.js.map +1 -1
- package/internal/utils/throttle.js +10 -15
- package/internal/utils/throttle.js.map +1 -1
- package/internal/utils/use-container-width.js +3 -5
- package/internal/utils/use-container-width.js.map +1 -1
- package/line-chart/index.js +6 -6
- package/line-chart/index.js.map +1 -1
- package/link/index.js +5 -5
- package/link/index.js.map +1 -1
- package/link/internal.js +25 -25
- package/link/internal.js.map +1 -1
- package/mixed-line-bar-chart/bar-groups.js +3 -4
- package/mixed-line-bar-chart/bar-groups.js.map +1 -1
- package/mixed-line-bar-chart/bar-series.js +24 -33
- package/mixed-line-bar-chart/bar-series.js.map +1 -1
- package/mixed-line-bar-chart/chart-container.js +123 -138
- package/mixed-line-bar-chart/chart-container.js.map +1 -1
- package/mixed-line-bar-chart/chart-filters.js +10 -17
- package/mixed-line-bar-chart/chart-filters.js.map +1 -1
- package/mixed-line-bar-chart/chart-legend.js +9 -13
- package/mixed-line-bar-chart/chart-legend.js.map +1 -1
- package/mixed-line-bar-chart/chart-popover.js +3 -4
- package/mixed-line-bar-chart/chart-popover.js.map +1 -1
- package/mixed-line-bar-chart/data-series.js +13 -17
- package/mixed-line-bar-chart/data-series.js.map +1 -1
- package/mixed-line-bar-chart/domain.js +32 -39
- package/mixed-line-bar-chart/domain.js.map +1 -1
- package/mixed-line-bar-chart/format-highlighted.js +13 -14
- package/mixed-line-bar-chart/format-highlighted.js.map +1 -1
- package/mixed-line-bar-chart/hooks/use-mouse-hover.js +32 -34
- package/mixed-line-bar-chart/hooks/use-mouse-hover.js.map +1 -1
- package/mixed-line-bar-chart/hooks/use-navigation.js +48 -57
- package/mixed-line-bar-chart/hooks/use-navigation.js.map +1 -1
- package/mixed-line-bar-chart/hooks/use-popover.js +7 -7
- package/mixed-line-bar-chart/hooks/use-popover.js.map +1 -1
- package/mixed-line-bar-chart/index.js +4 -4
- package/mixed-line-bar-chart/index.js.map +1 -1
- package/mixed-line-bar-chart/internal.js +47 -49
- package/mixed-line-bar-chart/internal.js.map +1 -1
- package/mixed-line-bar-chart/line-series.js +19 -24
- package/mixed-line-bar-chart/line-series.js.map +1 -1
- package/mixed-line-bar-chart/make-scaled-bar-groups.js +10 -11
- package/mixed-line-bar-chart/make-scaled-bar-groups.js.map +1 -1
- package/mixed-line-bar-chart/make-scaled-series.js +30 -38
- package/mixed-line-bar-chart/make-scaled-series.js.map +1 -1
- package/mixed-line-bar-chart/utils.js +18 -21
- package/mixed-line-bar-chart/utils.js.map +1 -1
- package/modal/body-scroll.js +4 -4
- package/modal/body-scroll.js.map +1 -1
- package/modal/index.js +4 -4
- package/modal/index.js.map +1 -1
- package/modal/internal.js +24 -25
- package/modal/internal.js.map +1 -1
- package/multiselect/index.js +5 -5
- package/multiselect/index.js.map +1 -1
- package/multiselect/internal.js +81 -88
- package/multiselect/internal.js.map +1 -1
- package/package.json +1 -1
- package/pagination/index.js +2 -3
- package/pagination/index.js.map +1 -1
- package/pagination/internal.js +16 -17
- package/pagination/internal.js.map +1 -1
- package/pagination/utils.js +12 -12
- package/pagination/utils.js.map +1 -1
- package/pie-chart/index.js +38 -39
- package/pie-chart/index.js.map +1 -1
- package/pie-chart/labels.js +38 -42
- package/pie-chart/labels.js.map +1 -1
- package/pie-chart/pie-chart.js +65 -67
- package/pie-chart/pie-chart.js.map +1 -1
- package/pie-chart/responsive-text.js +9 -10
- package/pie-chart/responsive-text.js.map +1 -1
- package/pie-chart/segments.js +27 -31
- package/pie-chart/segments.js.map +1 -1
- package/pie-chart/utils.js +32 -35
- package/pie-chart/utils.js.map +1 -1
- package/popover/arrow.js +2 -2
- package/popover/arrow.js.map +1 -1
- package/popover/body.js +16 -19
- package/popover/body.js.map +1 -1
- package/popover/container.js +52 -55
- package/popover/container.js.map +1 -1
- package/popover/index.js +6 -6
- package/popover/index.js.map +1 -1
- package/popover/internal.js +28 -28
- package/popover/internal.js.map +1 -1
- package/popover/utils/positions.js +54 -66
- package/popover/utils/positions.js.map +1 -1
- package/progress-bar/index.js +17 -17
- package/progress-bar/index.js.map +1 -1
- package/progress-bar/internal.js +12 -16
- package/progress-bar/internal.js.map +1 -1
- package/property-filter/controller.js +117 -125
- package/property-filter/controller.js.map +1 -1
- package/property-filter/filter-options.js +8 -11
- package/property-filter/filter-options.js.map +1 -1
- package/property-filter/index.js +50 -50
- package/property-filter/index.js.map +1 -1
- package/property-filter/property-editor.js +4 -5
- package/property-filter/property-editor.js.map +1 -1
- package/property-filter/property-filter-autosuggest.js +39 -39
- package/property-filter/property-filter-autosuggest.js.map +1 -1
- package/property-filter/token-editor.js +55 -66
- package/property-filter/token-editor.js.map +1 -1
- package/property-filter/token.js +9 -11
- package/property-filter/token.js.map +1 -1
- package/property-filter/use-load-items.js +8 -12
- package/property-filter/use-load-items.js.map +1 -1
- package/property-filter/utils.js +13 -18
- package/property-filter/utils.js.map +1 -1
- package/radio-group/index.js +3 -4
- package/radio-group/index.js.map +1 -1
- package/radio-group/internal.js +9 -9
- package/radio-group/internal.js.map +1 -1
- package/radio-group/radio-button.js +12 -15
- package/radio-group/radio-button.js.map +1 -1
- package/s3-resource-selector/index.js +29 -29
- package/s3-resource-selector/index.js.map +1 -1
- package/s3-resource-selector/s3-in-context/index.js +16 -18
- package/s3-resource-selector/s3-in-context/index.js.map +1 -1
- package/s3-resource-selector/s3-in-context/search-input.js +3 -4
- package/s3-resource-selector/s3-in-context/search-input.js.map +1 -1
- package/s3-resource-selector/s3-in-context/use-versions-fetch.js +16 -16
- package/s3-resource-selector/s3-in-context/use-versions-fetch.js.map +1 -1
- package/s3-resource-selector/s3-in-context/validation.js +6 -6
- package/s3-resource-selector/s3-in-context/validation.js.map +1 -1
- package/s3-resource-selector/s3-modal/basic-table.js +19 -20
- package/s3-resource-selector/s3-modal/basic-table.js.map +1 -1
- package/s3-resource-selector/s3-modal/buckets-table.js +11 -13
- package/s3-resource-selector/s3-modal/buckets-table.js.map +1 -1
- package/s3-resource-selector/s3-modal/column-formats.js +5 -5
- package/s3-resource-selector/s3-modal/column-formats.js.map +1 -1
- package/s3-resource-selector/s3-modal/empty-state.js +1 -2
- package/s3-resource-selector/s3-modal/empty-state.js.map +1 -1
- package/s3-resource-selector/s3-modal/index.js +37 -43
- package/s3-resource-selector/s3-modal/index.js.map +1 -1
- package/s3-resource-selector/s3-modal/objects-table.js +12 -14
- package/s3-resource-selector/s3-modal/objects-table.js.map +1 -1
- package/s3-resource-selector/s3-modal/table-utils.js +9 -12
- package/s3-resource-selector/s3-modal/table-utils.js.map +1 -1
- package/s3-resource-selector/s3-modal/versions-table.js +10 -12
- package/s3-resource-selector/s3-modal/versions-table.js.map +1 -1
- package/s3-resource-selector/utils.js +1 -1
- package/s3-resource-selector/utils.js.map +1 -1
- package/segmented-control/index.js +2 -3
- package/segmented-control/index.js.map +1 -1
- package/segmented-control/internal-segmented-control.js +16 -17
- package/segmented-control/internal-segmented-control.js.map +1 -1
- package/segmented-control/internal.js +14 -14
- package/segmented-control/internal.js.map +1 -1
- package/segmented-control/segment.js +3 -6
- package/segmented-control/segment.js.map +1 -1
- package/select/index.js +6 -6
- package/select/index.js.map +1 -1
- package/select/internal.js +58 -58
- package/select/internal.js.map +1 -1
- package/select/parts/filter.js +4 -4
- package/select/parts/filter.js.map +1 -1
- package/select/parts/item.js +10 -10
- package/select/parts/item.js.map +1 -1
- package/select/parts/multiselect-item.js +13 -14
- package/select/parts/multiselect-item.js.map +1 -1
- package/select/parts/plain-list.js +13 -15
- package/select/parts/plain-list.js.map +1 -1
- package/select/parts/trigger.js +7 -9
- package/select/parts/trigger.js.map +1 -1
- package/select/parts/virtual-list.js +27 -33
- package/select/parts/virtual-list.js.map +1 -1
- package/select/utils/check-option-value-field.js +2 -2
- package/select/utils/check-option-value-field.js.map +1 -1
- package/select/utils/connect-options.js +6 -7
- package/select/utils/connect-options.js.map +1 -1
- package/select/utils/get-item-props.js +4 -7
- package/select/utils/get-item-props.js.map +1 -1
- package/select/utils/render-options.js +13 -15
- package/select/utils/render-options.js.map +1 -1
- package/select/utils/use-announcement.js +10 -11
- package/select/utils/use-announcement.js.map +1 -1
- package/select/utils/use-load-items.js +16 -19
- package/select/utils/use-load-items.js.map +1 -1
- package/select/utils/use-native-search.js +20 -29
- package/select/utils/use-native-search.js.map +1 -1
- package/select/utils/use-select.js +89 -96
- package/select/utils/use-select.js.map +1 -1
- package/side-navigation/index.js +10 -10
- package/side-navigation/index.js.map +1 -1
- package/side-navigation/internal.js +35 -46
- package/side-navigation/internal.js.map +1 -1
- package/side-navigation/util.js +9 -12
- package/side-navigation/util.js.map +1 -1
- package/space-between/index.js +4 -4
- package/space-between/index.js.map +1 -1
- package/space-between/internal.js +7 -7
- package/space-between/internal.js.map +1 -1
- package/spinner/index.js +4 -4
- package/spinner/index.js.map +1 -1
- package/spinner/internal.js +4 -4
- package/spinner/internal.js.map +1 -1
- package/split-panel/bottom.js +22 -25
- package/split-panel/bottom.js.map +1 -1
- package/split-panel/icons/bottom-icon-refresh.js +11 -13
- package/split-panel/icons/bottom-icon-refresh.js.map +1 -1
- package/split-panel/icons/bottom-icon.js +1 -1
- package/split-panel/icons/bottom-icon.js.map +1 -1
- package/split-panel/icons/resize-handler.js +3 -6
- package/split-panel/icons/resize-handler.js.map +1 -1
- package/split-panel/icons/side-position-refresh.js +12 -14
- package/split-panel/icons/side-position-refresh.js.map +1 -1
- package/split-panel/icons/side-position.js +1 -1
- package/split-panel/icons/side-position.js.map +1 -1
- package/split-panel/index.js +65 -65
- package/split-panel/index.js.map +1 -1
- package/split-panel/preferences-modal.js +9 -9
- package/split-panel/preferences-modal.js.map +1 -1
- package/split-panel/side.js +12 -15
- package/split-panel/side.js.map +1 -1
- package/split-panel/utils/size-utils.js +3 -3
- package/split-panel/utils/size-utils.js.map +1 -1
- package/split-panel/utils/use-keyboard-events.js +13 -17
- package/split-panel/utils/use-keyboard-events.js.map +1 -1
- package/split-panel/utils/use-pointer-events.js +12 -13
- package/split-panel/utils/use-pointer-events.js.map +1 -1
- package/status-indicator/index.js +4 -4
- package/status-indicator/index.js.map +1 -1
- package/status-indicator/internal.js +9 -10
- package/status-indicator/internal.js.map +1 -1
- package/table/body-cell/click-away.js +9 -10
- package/table/body-cell/click-away.js.map +1 -1
- package/table/body-cell/index.js +18 -18
- package/table/body-cell/index.js.map +1 -1
- package/table/body-cell/inline-editor.js +32 -46
- package/table/body-cell/inline-editor.js.map +1 -1
- package/table/body-cell/td-element.js +2 -4
- package/table/body-cell/td-element.js.map +1 -1
- package/table/body-cell/use-stable-scroll-position.js +10 -13
- package/table/body-cell/use-stable-scroll-position.js.map +1 -1
- package/table/header-cell/index.d.ts +4 -2
- package/table/header-cell/index.d.ts.map +1 -1
- package/table/header-cell/index.js +33 -34
- package/table/header-cell/index.js.map +1 -1
- package/table/header-cell/utils.js +10 -12
- package/table/header-cell/utils.js.map +1 -1
- package/table/index.js +5 -5
- package/table/index.js.map +1 -1
- package/table/internal.d.ts.map +1 -1
- package/table/internal.js +94 -118
- package/table/internal.js.map +1 -1
- package/table/resizer/index.d.ts +5 -1
- package/table/resizer/index.d.ts.map +1 -1
- package/table/resizer/index.js +40 -39
- package/table/resizer/index.js.map +1 -1
- package/table/selection-control/index.d.ts +4 -1
- package/table/selection-control/index.d.ts.map +1 -1
- package/table/selection-control/index.js +11 -11
- package/table/selection-control/index.js.map +1 -1
- package/table/sticky-header.d.ts +2 -2
- package/table/sticky-header.d.ts.map +1 -1
- package/table/sticky-header.js +16 -15
- package/table/sticky-header.js.map +1 -1
- package/table/sticky-scrollbar.js +5 -6
- package/table/sticky-scrollbar.js.map +1 -1
- package/table/sticky-scrolling.js +10 -10
- package/table/sticky-scrolling.js.map +1 -1
- package/table/thead.d.ts +11 -3
- package/table/thead.d.ts.map +1 -1
- package/table/thead.js +13 -13
- package/table/thead.js.map +1 -1
- package/table/tools-header.js +4 -5
- package/table/tools-header.js.map +1 -1
- package/table/use-column-widths.js +34 -44
- package/table/use-column-widths.js.map +1 -1
- package/table/use-row-events.js +10 -11
- package/table/use-row-events.js.map +1 -1
- package/table/use-selection.js +75 -81
- package/table/use-selection.js.map +1 -1
- package/table/use-sticky-header.js +16 -16
- package/table/use-sticky-header.js.map +1 -1
- package/table/use-sticky-scrollbar.js +42 -42
- package/table/use-sticky-scrollbar.js.map +1 -1
- package/table/use-table-focus-navigation.js +27 -28
- package/table/use-table-focus-navigation.js.map +1 -1
- package/table/utils.js +7 -7
- package/table/utils.js.map +1 -1
- package/tabs/index.js +30 -33
- package/tabs/index.js.map +1 -1
- package/tabs/scroll-utils.js +12 -13
- package/tabs/scroll-utils.js.map +1 -1
- package/tabs/smooth-scroll.js +17 -17
- package/tabs/smooth-scroll.js.map +1 -1
- package/tabs/tab-header-bar.js +61 -66
- package/tabs/tab-header-bar.js.map +1 -1
- package/tag-editor/index.js +59 -72
- package/tag-editor/index.js.map +1 -1
- package/tag-editor/internal.js +21 -29
- package/tag-editor/internal.js.map +1 -1
- package/tag-editor/utils.js +7 -8
- package/tag-editor/utils.js.map +1 -1
- package/tag-editor/validation.js +16 -18
- package/tag-editor/validation.js.map +1 -1
- package/text-content/index.js +6 -6
- package/text-content/index.js.map +1 -1
- package/text-filter/index.js +3 -4
- package/text-filter/index.js.map +1 -1
- package/text-filter/internal.js +10 -10
- package/text-filter/internal.js.map +1 -1
- package/textarea/index.js +23 -24
- package/textarea/index.js.map +1 -1
- package/theming/index.js +2 -3
- package/theming/index.js.map +1 -1
- package/tiles/index.js +3 -4
- package/tiles/index.js.map +1 -1
- package/tiles/internal.js +17 -17
- package/tiles/internal.js.map +1 -1
- package/tiles/tile.js +7 -9
- package/tiles/tile.js.map +1 -1
- package/time-input/index.js +5 -5
- package/time-input/index.js.map +1 -1
- package/time-input/internal.js +9 -9
- package/time-input/internal.js.map +1 -1
- package/toggle/index.js +3 -4
- package/toggle/index.js.map +1 -1
- package/toggle/internal.js +15 -16
- package/toggle/internal.js.map +1 -1
- package/token-group/dismiss-button.js +5 -7
- package/token-group/dismiss-button.js.map +1 -1
- package/token-group/index.js +4 -4
- package/token-group/index.js.map +1 -1
- package/token-group/internal.js +14 -14
- package/token-group/internal.js.map +1 -1
- package/token-group/toggle.js +7 -9
- package/token-group/toggle.js.map +1 -1
- package/top-navigation/1.0-beta/index.js +4 -4
- package/top-navigation/1.0-beta/index.js.map +1 -1
- package/top-navigation/1.0-beta/internal.js +43 -46
- package/top-navigation/1.0-beta/internal.js.map +1 -1
- package/top-navigation/1.0-beta/parts/overflow-menu.js +16 -17
- package/top-navigation/1.0-beta/parts/overflow-menu.js.map +1 -1
- package/top-navigation/1.0-beta/parts/utility.js +9 -12
- package/top-navigation/1.0-beta/parts/utility.js.map +1 -1
- package/top-navigation/1.0-beta/use-top-navigation.js +46 -54
- package/top-navigation/1.0-beta/use-top-navigation.js.map +1 -1
- package/top-navigation/index.js +4 -4
- package/top-navigation/index.js.map +1 -1
- package/top-navigation/internal.js +64 -71
- package/top-navigation/internal.js.map +1 -1
- package/top-navigation/parts/overflow-menu/header.js +3 -4
- package/top-navigation/parts/overflow-menu/header.js.map +1 -1
- package/top-navigation/parts/overflow-menu/index.js +4 -5
- package/top-navigation/parts/overflow-menu/index.js.map +1 -1
- package/top-navigation/parts/overflow-menu/menu-item.js +56 -61
- package/top-navigation/parts/overflow-menu/menu-item.js.map +1 -1
- package/top-navigation/parts/overflow-menu/router.js +11 -13
- package/top-navigation/parts/overflow-menu/router.js.map +1 -1
- package/top-navigation/parts/overflow-menu/views/submenu.js +6 -8
- package/top-navigation/parts/overflow-menu/views/submenu.js.map +1 -1
- package/top-navigation/parts/overflow-menu/views/utilities.js +5 -7
- package/top-navigation/parts/overflow-menu/views/utilities.js.map +1 -1
- package/top-navigation/parts/utility.js +12 -15
- package/top-navigation/parts/utility.js.map +1 -1
- package/top-navigation/use-top-navigation.js +52 -59
- package/top-navigation/use-top-navigation.js.map +1 -1
- package/tutorial-panel/components/tutorial-detail-view/congratulation-screen.js +5 -7
- package/tutorial-panel/components/tutorial-detail-view/congratulation-screen.js.map +1 -1
- package/tutorial-panel/components/tutorial-detail-view/index.js +6 -7
- package/tutorial-panel/components/tutorial-detail-view/index.js.map +1 -1
- package/tutorial-panel/components/tutorial-detail-view/task-list.js +8 -15
- package/tutorial-panel/components/tutorial-detail-view/task-list.js.map +1 -1
- package/tutorial-panel/components/tutorial-detail-view/task.js +5 -6
- package/tutorial-panel/components/tutorial-detail-view/task.js.map +1 -1
- package/tutorial-panel/components/tutorial-list/index.js +19 -22
- package/tutorial-panel/components/tutorial-list/index.js.map +1 -1
- package/tutorial-panel/index.js +8 -8
- package/tutorial-panel/index.js.map +1 -1
- package/wizard/index.js +28 -28
- package/wizard/index.js.map +1 -1
- package/wizard/internal/analytics.js +32 -42
- package/wizard/internal/analytics.js.map +1 -1
- package/wizard/unmount.js +6 -13
- package/wizard/unmount.js.map +1 -1
- package/wizard/wizard-actions.js +7 -8
- package/wizard/wizard-actions.js.map +1 -1
- package/wizard/wizard-form-header.js +2 -3
- package/wizard/wizard-form-header.js.map +1 -1
- package/wizard/wizard-form.js +14 -16
- package/wizard/wizard-form.js.map +1 -1
- package/wizard/wizard-navigation.js +19 -25
- package/wizard/wizard-navigation.js.map +1 -1
|
@@ -8,7 +8,7 @@ function isDateDomain(domain) {
|
|
|
8
8
|
return domain.length > 0 && domain[0] instanceof Date;
|
|
9
9
|
}
|
|
10
10
|
function createNumericScale(type, domain) {
|
|
11
|
-
|
|
11
|
+
let scale;
|
|
12
12
|
switch (type) {
|
|
13
13
|
case 'log':
|
|
14
14
|
scale = scaleLog();
|
|
@@ -22,14 +22,14 @@ function createNumericScale(type, domain) {
|
|
|
22
22
|
return scale;
|
|
23
23
|
}
|
|
24
24
|
function createTimeScale(domain) {
|
|
25
|
-
|
|
25
|
+
const scale = scaleTime();
|
|
26
26
|
if (isDateDomain(domain)) {
|
|
27
27
|
scale.domain(domain);
|
|
28
28
|
}
|
|
29
29
|
return scale;
|
|
30
30
|
}
|
|
31
31
|
function createBandScale(domain) {
|
|
32
|
-
|
|
32
|
+
const scale = scaleBand().padding(0.1);
|
|
33
33
|
scale.domain(domain);
|
|
34
34
|
return scale;
|
|
35
35
|
}
|
|
@@ -44,9 +44,8 @@ export function createScale(type, domain, range) {
|
|
|
44
44
|
return { type: 'categorical', scale: createBandScale(domain).range(range) };
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
if (noCategoricalOuterPadding === void 0) { noCategoricalOuterPadding = false; }
|
|
47
|
+
export class ChartScale {
|
|
48
|
+
constructor(scaleType, domain, range, noCategoricalOuterPadding = false) {
|
|
50
49
|
this.scaleType = scaleType;
|
|
51
50
|
this.domain = domain;
|
|
52
51
|
this.range = range;
|
|
@@ -65,35 +64,31 @@ var ChartScale = /** @class */ (function () {
|
|
|
65
64
|
}
|
|
66
65
|
}
|
|
67
66
|
}
|
|
68
|
-
|
|
67
|
+
cloneScale(newScaleType, newDomain, newRange) {
|
|
69
68
|
return new ChartScale(newScaleType || this.scaleType, newDomain || this.domain, newRange || this.range);
|
|
70
|
-
}
|
|
71
|
-
|
|
69
|
+
}
|
|
70
|
+
isNumeric() {
|
|
72
71
|
return this.scale.type === 'numeric';
|
|
73
|
-
}
|
|
74
|
-
|
|
72
|
+
}
|
|
73
|
+
isTime() {
|
|
75
74
|
return this.scale.type === 'time';
|
|
76
|
-
}
|
|
77
|
-
|
|
75
|
+
}
|
|
76
|
+
isCategorical() {
|
|
78
77
|
return this.scale.type === 'categorical';
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
var NumericChartScale = /** @class */ (function () {
|
|
84
|
-
function NumericChartScale(scaleType, domain, range, adjustDomain) {
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
export class NumericChartScale {
|
|
81
|
+
constructor(scaleType, domain, range, adjustDomain) {
|
|
85
82
|
this.scaleType = scaleType;
|
|
86
|
-
|
|
83
|
+
const scale = createNumericScale(scaleType, domain).range(range);
|
|
87
84
|
if (adjustDomain !== null) {
|
|
88
85
|
scale.nice(adjustDomain);
|
|
89
86
|
}
|
|
90
|
-
this.scale = { type: 'numeric', scale
|
|
87
|
+
this.scale = { type: 'numeric', scale };
|
|
91
88
|
this.d3Scale = this.scale.scale;
|
|
92
89
|
}
|
|
93
|
-
|
|
90
|
+
isCategorical() {
|
|
94
91
|
return false;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
}());
|
|
98
|
-
export { NumericChartScale };
|
|
92
|
+
}
|
|
93
|
+
}
|
|
99
94
|
//# sourceMappingURL=scales.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scales.js","sourceRoot":"","sources":["../../../../../src/internal/components/cartesian-chart/scales.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EACL,WAAW,EACX,QAAQ,EACR,SAAS,EACT,SAAS,GAIV,MAAM,uBAAuB,CAAC;AAuB/B,SAAS,eAAe,CAAC,MAAmC;IAC1D,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;AAC5D,CAAC;AAED,SAAS,YAAY,CAAC,MAAmC;IACvD,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC;AACxD,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAe,EAAE,MAAmC;IAC9E,IAAI,KAA6C,CAAC;IAClD,QAAQ,IAAI,EAAE;QACZ,KAAK,KAAK;YACR,KAAK,GAAG,QAAQ,EAAE,CAAC;YACnB,MAAM;QACR;YACE,KAAK,GAAG,WAAW,EAAE,CAAC;KACzB;IAED,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE;QAC3B,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;KACtB;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,MAAmC;IAC1D,
|
|
1
|
+
{"version":3,"file":"scales.js","sourceRoot":"","sources":["../../../../../src/internal/components/cartesian-chart/scales.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {\n scaleLinear,\n scaleLog,\n scaleTime,\n scaleBand,\n ScaleContinuousNumeric,\n ScaleTime,\n ScaleBand,\n} from '../../vendor/d3-scale';\n\nimport { ChartDataTypes, ChartDomain, ScaleType, ScaleRange } from './interfaces';\n\nexport interface NumericD3Scale {\n type: 'numeric';\n scale: ScaleContinuousNumeric<number, number>;\n}\n\nexport interface TimeD3Scale {\n type: 'time';\n scale: ScaleTime<number, number>;\n}\n\nexport interface CategoricalD3Scale {\n type: 'categorical';\n scale: ScaleBand<ChartDataTypes>;\n}\n\nexport type D3Scale = NumericD3Scale | TimeD3Scale | CategoricalD3Scale;\n\ntype InternalScale = ScaleContinuousNumeric<number, number> | ScaleBand<ChartDataTypes> | ScaleTime<number, number>;\n\nfunction isNumericDomain(domain: ChartDomain<ChartDataTypes>): domain is number[] {\n return domain.length > 0 && typeof domain[0] === 'number';\n}\n\nfunction isDateDomain(domain: ChartDomain<ChartDataTypes>): domain is Date[] {\n return domain.length > 0 && domain[0] instanceof Date;\n}\n\nfunction createNumericScale(type: ScaleType, domain: ChartDomain<ChartDataTypes>) {\n let scale: ScaleContinuousNumeric<number, number>;\n switch (type) {\n case 'log':\n scale = scaleLog();\n break;\n default:\n scale = scaleLinear();\n }\n\n if (isNumericDomain(domain)) {\n scale.domain(domain);\n }\n\n return scale;\n}\n\nfunction createTimeScale(domain: ChartDomain<ChartDataTypes>) {\n const scale = scaleTime();\n if (isDateDomain(domain)) {\n scale.domain(domain);\n }\n return scale;\n}\n\nfunction createBandScale(domain: ChartDomain<ChartDataTypes>) {\n const scale = scaleBand<ChartDataTypes>().padding(0.1);\n scale.domain(domain);\n return scale;\n}\n\nexport function createScale(type: ScaleType, domain: ChartDomain<ChartDataTypes>, range: ScaleRange): D3Scale {\n switch (type) {\n case 'linear':\n case 'log':\n return { type: 'numeric', scale: createNumericScale(type, domain).range(range) };\n\n case 'time':\n return { type: 'time', scale: createTimeScale(domain).range(range) };\n\n case 'categorical':\n return { type: 'categorical', scale: createBandScale(domain).range(range) };\n }\n}\n\nexport class ChartScale {\n public readonly scale: D3Scale;\n public readonly d3Scale: InternalScale;\n\n constructor(\n public readonly scaleType: ScaleType,\n public readonly domain: ChartDomain<ChartDataTypes>,\n public readonly range: ScaleRange,\n noCategoricalOuterPadding = false\n ) {\n this.scale = createScale(this.scaleType, this.domain, this.range);\n this.d3Scale = this.scale.scale;\n\n if (this.isCategorical()) {\n if (noCategoricalOuterPadding) {\n // Categorical charts with only line (or threshold) series don't need as much out padding\n // compared to a bar series. Increasing the inner padding to push more data points to the outside.\n this.d3Scale.paddingInner(0.7);\n this.d3Scale.paddingOuter(0);\n } else {\n this.d3Scale.paddingInner(0.2);\n this.d3Scale.paddingOuter(0.05);\n }\n }\n }\n\n cloneScale(newScaleType?: ScaleType, newDomain?: ChartDomain<ChartDataTypes>, newRange?: ScaleRange) {\n return new ChartScale(newScaleType || this.scaleType, newDomain || this.domain, newRange || this.range);\n }\n\n isNumeric(): this is { d3Scale: ScaleContinuousNumeric<number, number>; domain: ChartDomain<number> } {\n return this.scale.type === 'numeric';\n }\n\n isTime(): this is { d3Scale: ScaleTime<number, number>; domain: ChartDomain<Date> } {\n return this.scale.type === 'time';\n }\n\n isCategorical(): this is { d3Scale: ScaleBand<ChartDataTypes>; domain: ChartDomain<string> } {\n return this.scale.type === 'categorical';\n }\n}\n\nexport class NumericChartScale {\n public readonly scale: NumericD3Scale;\n public readonly d3Scale: ScaleContinuousNumeric<number, number>;\n\n constructor(\n public readonly scaleType: 'linear' | 'log',\n domain: ChartDomain<number>,\n range: ScaleRange,\n adjustDomain: null | number\n ) {\n const scale = createNumericScale(scaleType, domain).range(range);\n if (adjustDomain !== null) {\n scale.nice(adjustDomain);\n }\n this.scale = { type: 'numeric', scale };\n this.d3Scale = this.scale.scale;\n }\n\n isCategorical() {\n return false;\n }\n}\n"]}
|
|
@@ -15,8 +15,8 @@ export function createXTicks(scale, values) {
|
|
|
15
15
|
return scale.d3Scale.ticks(values);
|
|
16
16
|
}
|
|
17
17
|
else if (scale.isTime()) {
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
const rawTicks = scale.d3Scale.ticks(values);
|
|
19
|
+
const domain = scale.d3Scale.domain();
|
|
20
20
|
return uniform(rawTicks, domain[domain.length - 1]);
|
|
21
21
|
}
|
|
22
22
|
else {
|
|
@@ -24,7 +24,7 @@ export function createXTicks(scale, values) {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
export function createYTicks(scale, values) {
|
|
27
|
-
|
|
27
|
+
const ticks = scale.d3Scale.ticks(values);
|
|
28
28
|
// The logarithmic scale sometimes produces a very large amount of (major and minor) ticks,
|
|
29
29
|
// at which point we need to reduce them significantly for space.
|
|
30
30
|
if (scale.scaleType === 'log' && ticks.length > 10) {
|
|
@@ -44,21 +44,20 @@ function uniform(ticks, max) {
|
|
|
44
44
|
return createTwoDayInterval(ticks[0], max);
|
|
45
45
|
}
|
|
46
46
|
function isMixedDayInterval(ticks) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
for (
|
|
47
|
+
let oneDayInterval = false;
|
|
48
|
+
let twoDayInterval = false;
|
|
49
|
+
for (let i = 1; i < ticks.length; i++) {
|
|
50
50
|
oneDayInterval = oneDayInterval || isDayInterval(ticks[i - 1], ticks[i], 1);
|
|
51
51
|
twoDayInterval = twoDayInterval || isDayInterval(ticks[i - 1], ticks[i], 2);
|
|
52
52
|
}
|
|
53
53
|
return oneDayInterval && twoDayInterval;
|
|
54
54
|
}
|
|
55
|
-
function isDayInterval(a, b, difference) {
|
|
56
|
-
if (difference === void 0) { difference = 1; }
|
|
55
|
+
function isDayInterval(a, b, difference = 1) {
|
|
57
56
|
return Math.abs(differenceInDays(a, b)) === difference;
|
|
58
57
|
}
|
|
59
58
|
function createTwoDayInterval(start, max) {
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
const result = [];
|
|
60
|
+
let curr = start;
|
|
62
61
|
while (curr < max) {
|
|
63
62
|
result.push(curr);
|
|
64
63
|
curr = add(curr, { days: 2 });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ticks.js","sourceRoot":"","sources":["../../../../../src/internal/components/cartesian-chart/ticks.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGrE,uEAAuE;AACvE,6EAA6E;AAC7E,yFAAyF;AACzF,uFAAuF;AACvF,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC,CAAC;AAC/C,CAAC;AACD,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,kBAAkB,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAiB,EAAE,MAAc;IAC5D,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE;QACrB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACpC;SAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE;QACzB,
|
|
1
|
+
{"version":3,"file":"ticks.js","sourceRoot":"","sources":["../../../../../src/internal/components/cartesian-chart/ticks.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ChartScale, NumericChartScale } from '../../components/cartesian-chart/scales';\nimport { differenceInDays, add } from 'date-fns';\nimport { X_TICK_COUNT_RATIO, Y_TICK_COUNT_RATIO } from './constants';\nimport { ChartDataTypes } from './interfaces';\n\n// The number of ticks is currently defined by the length of the scale.\n// The x scale tends to have longer labels, so we're using less ticks for it.\n// These numbers are currently based on first impressions and might change in the future.\n// We might also open up an API in the future to control the amount of ticks displayed.\nexport function getXTickCount(width: number) {\n return Math.ceil(width / X_TICK_COUNT_RATIO);\n}\nexport function getYTickCount(height: number) {\n return Math.ceil(height / Y_TICK_COUNT_RATIO);\n}\n\nexport function createXTicks(scale: ChartScale, values: number): ChartDataTypes[] {\n if (scale.isNumeric()) {\n return scale.d3Scale.ticks(values);\n } else if (scale.isTime()) {\n const rawTicks = scale.d3Scale.ticks(values) as Date[];\n const domain = scale.d3Scale.domain() as Date[];\n return uniform(rawTicks, domain[domain.length - 1]);\n } else {\n return scale.d3Scale.domain();\n }\n}\n\nexport function createYTicks(scale: NumericChartScale, values: number): number[] {\n const ticks = scale.d3Scale.ticks(values);\n\n // The logarithmic scale sometimes produces a very large amount of (major and minor) ticks,\n // at which point we need to reduce them significantly for space.\n if (scale.scaleType === 'log' && ticks.length > 10) {\n return scale.d3Scale.ticks(3);\n }\n\n return ticks;\n}\n\n/**\n * Ensure uniformly-spaced ticks for 2-day intervals. d3-scale generates\n * ticks for even or odd numbers, which causes varying interval lengths\n * between months.\n */\nfunction uniform(ticks: Date[], max: Date): Date[] {\n if (ticks.length < 3 || !isMixedDayInterval(ticks)) {\n return ticks;\n }\n\n return createTwoDayInterval(ticks[0], max);\n}\n\nfunction isMixedDayInterval(ticks: Date[]) {\n let oneDayInterval = false;\n let twoDayInterval = false;\n\n for (let i = 1; i < ticks.length; i++) {\n oneDayInterval = oneDayInterval || isDayInterval(ticks[i - 1], ticks[i], 1);\n twoDayInterval = twoDayInterval || isDayInterval(ticks[i - 1], ticks[i], 2);\n }\n return oneDayInterval && twoDayInterval;\n}\n\nfunction isDayInterval(a: Date, b: Date, difference = 1) {\n return Math.abs(differenceInDays(a, b)) === difference;\n}\n\nfunction createTwoDayInterval(start: Date, max: Date) {\n const result: Date[] = [];\n let curr = start;\n while (curr < max) {\n result.push(curr);\n curr = add(curr, { days: 2 });\n }\n return result;\n}\n"]}
|
|
@@ -3,11 +3,10 @@
|
|
|
3
3
|
import React, { memo } from 'react';
|
|
4
4
|
import styles from './styles.css.js';
|
|
5
5
|
export default memo(VerticalGridLines);
|
|
6
|
-
function VerticalGridLines(
|
|
7
|
-
|
|
8
|
-
return (React.createElement("g", { "aria-hidden": "true" }, ticks.map(function (tick) {
|
|
6
|
+
function VerticalGridLines({ ticks, scale, height }) {
|
|
7
|
+
return (React.createElement("g", { "aria-hidden": "true" }, ticks.map(tick => {
|
|
9
8
|
var _a;
|
|
10
|
-
|
|
9
|
+
const x = (_a = scale.d3Scale(tick)) !== null && _a !== void 0 ? _a : NaN;
|
|
11
10
|
return isFinite(x) && React.createElement("line", { key: tick, className: styles.grid, x1: x, y1: 0, x2: x, y2: height });
|
|
12
11
|
})));
|
|
13
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vertical-grid-lines.js","sourceRoot":"","sources":["../../../../../src/internal/components/cartesian-chart/vertical-grid-lines.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAGpC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,eAAe,IAAI,CAAC,iBAAiB,CAA6B,CAAC;AAEnE,SAAS,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"vertical-grid-lines.js","sourceRoot":"","sources":["../../../../../src/internal/components/cartesian-chart/vertical-grid-lines.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAGpC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,eAAe,IAAI,CAAC,iBAAiB,CAA6B,CAAC;AAEnE,SAAS,iBAAiB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAiE;IAChH,OAAO,CACL,0CAAe,MAAM,IAClB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;;QAChB,MAAM,CAAC,GAAG,MAAA,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAI,GAAG,CAAC;QACrC,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,8BAAM,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,GAAI,CAAC;IACrG,CAAC,CAAC,CACA,CACL,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { memo } from 'react';\n\nimport { NumericChartScale } from './scales';\nimport styles from './styles.css.js';\n\nexport default memo(VerticalGridLines) as typeof VerticalGridLines;\n\nfunction VerticalGridLines({ ticks, scale, height }: { ticks: number[]; scale: NumericChartScale; height: number }) {\n return (\n <g aria-hidden=\"true\">\n {ticks.map(tick => {\n const x = scale.d3Scale(tick) ?? NaN;\n return isFinite(x) && <line key={tick} className={styles.grid} x1={x} y1={0} x2={x} y2={height} />;\n })}\n </g>\n );\n}\n"]}
|
|
@@ -3,13 +3,12 @@
|
|
|
3
3
|
import React, { forwardRef, memo } from 'react';
|
|
4
4
|
import styles from './styles.css.js';
|
|
5
5
|
export default memo(forwardRef(VerticalMarker));
|
|
6
|
-
function VerticalMarker(
|
|
7
|
-
|
|
8
|
-
var firstPoint = (points || [])[0];
|
|
6
|
+
function VerticalMarker({ height, showPoints = true, showLine = true, points }, ref) {
|
|
7
|
+
const [firstPoint] = points || [];
|
|
9
8
|
return (React.createElement("g", null,
|
|
10
9
|
React.createElement("line", { ref: ref, "aria-hidden": "true", className: styles['vertical-marker'], style: { visibility: showLine && firstPoint ? 'visible' : 'hidden' }, x1: firstPoint === null || firstPoint === void 0 ? void 0 : firstPoint.x, x2: firstPoint === null || firstPoint === void 0 ? void 0 : firstPoint.x, y1: 0, y2: height }),
|
|
11
10
|
showPoints &&
|
|
12
11
|
points &&
|
|
13
|
-
points.map(
|
|
12
|
+
points.map(point => (React.createElement("circle", { key: point.key, "aria-hidden": "true", className: styles['vertical-marker-circle'], cx: point.x, cy: point.y, r: 4, stroke: point.color })))));
|
|
14
13
|
}
|
|
15
14
|
//# sourceMappingURL=vertical-marker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vertical-marker.js","sourceRoot":"","sources":["../../../../../src/internal/components/cartesian-chart/vertical-marker.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAgBrC,eAAe,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;AAEhD,SAAS,cAAc,CACrB,
|
|
1
|
+
{"version":3,"file":"vertical-marker.js","sourceRoot":"","sources":["../../../../../src/internal/components/cartesian-chart/vertical-marker.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAgBrC,eAAe,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;AAEhD,SAAS,cAAc,CACrB,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,MAAM,EAAuB,EAC3E,GAA8B;IAE9B,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,IAAI,EAAE,CAAC;IAElC,OAAO,CACL;QACE,8BACE,GAAG,EAAE,GAAG,iBACI,MAAM,EAClB,SAAS,EAAE,MAAM,CAAC,iBAAiB,CAAC,EACpC,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,IAAI,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,EACpE,EAAE,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,CAAC,EACjB,EAAE,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,CAAC,EACjB,EAAE,EAAE,CAAC,EACL,EAAE,EAAE,MAAM,GACV;QAED,UAAU;YACT,MAAM;YACN,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAClB,gCACE,GAAG,EAAE,KAAK,CAAC,GAAG,iBACF,MAAM,EAClB,SAAS,EAAE,MAAM,CAAC,wBAAwB,CAAC,EAC3C,EAAE,EAAE,KAAK,CAAC,CAAC,EACX,EAAE,EAAE,KAAK,CAAC,CAAC,EACX,CAAC,EAAE,CAAC,EACJ,MAAM,EAAE,KAAK,CAAC,KAAK,GACnB,CACH,CAAC,CACF,CACL,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { forwardRef, memo } from 'react';\n\nimport styles from './styles.css.js';\n\ninterface SeriesPoint {\n key: string;\n x: number;\n y: number;\n color: string;\n}\n\nexport interface VerticalMarkerProps {\n height: number;\n showPoints?: boolean;\n showLine?: boolean;\n points: null | readonly SeriesPoint[];\n}\n\nexport default memo(forwardRef(VerticalMarker));\n\nfunction VerticalMarker(\n { height, showPoints = true, showLine = true, points }: VerticalMarkerProps,\n ref: React.Ref<SVGLineElement>\n) {\n const [firstPoint] = points || [];\n\n return (\n <g>\n <line\n ref={ref}\n aria-hidden=\"true\"\n className={styles['vertical-marker']}\n style={{ visibility: showLine && firstPoint ? 'visible' : 'hidden' }}\n x1={firstPoint?.x}\n x2={firstPoint?.x}\n y1={0}\n y2={height}\n />\n\n {showPoints &&\n points &&\n points.map(point => (\n <circle\n key={point.key}\n aria-hidden=\"true\"\n className={styles['vertical-marker-circle']}\n cx={point.x}\n cy={point.y}\n r={4}\n stroke={point.color}\n />\n ))}\n </g>\n );\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { __rest } from "tslib";
|
|
2
2
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
import clsx from 'clsx';
|
|
@@ -10,25 +10,24 @@ import SeriesMarker from '../chart-series-marker';
|
|
|
10
10
|
import styles from './styles.css.js';
|
|
11
11
|
export default memo(ChartFilter);
|
|
12
12
|
function ChartFilter(_a) {
|
|
13
|
-
var
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
var { series, i18nStrings, selectedSeries, onChange } = _a, restProps = __rest(_a, ["series", "i18nStrings", "selectedSeries", "onChange"]);
|
|
14
|
+
const baseProps = getBaseProps(restProps);
|
|
15
|
+
const className = clsx(baseProps.className, styles.root);
|
|
16
|
+
const defaultOptions = series.map((d, i) => ({
|
|
17
17
|
label: d.label,
|
|
18
18
|
value: '' + i,
|
|
19
19
|
datum: d.datum,
|
|
20
20
|
__customIcon: (React.createElement("span", { className: styles['custom-icon-wrapper'] },
|
|
21
|
-
React.createElement(SeriesMarker, { color: d.color, type: d.type })))
|
|
22
|
-
})
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
.
|
|
28
|
-
.map(function (option) { return option.datum; });
|
|
21
|
+
React.createElement(SeriesMarker, { color: d.color, type: d.type }))),
|
|
22
|
+
}));
|
|
23
|
+
const selectedOptions = defaultOptions.filter(option => (selectedSeries === null || selectedSeries === void 0 ? void 0 : selectedSeries.indexOf(option.datum)) !== -1);
|
|
24
|
+
const updateSelection = useCallback(({ detail: { selectedOptions } }) => {
|
|
25
|
+
const selectedSeries = defaultOptions
|
|
26
|
+
.filter(option => selectedOptions.indexOf(option) !== -1)
|
|
27
|
+
.map(option => option.datum);
|
|
29
28
|
onChange(selectedSeries);
|
|
30
29
|
}, [onChange, defaultOptions]);
|
|
31
|
-
return (React.createElement(InternalFormField,
|
|
30
|
+
return (React.createElement(InternalFormField, Object.assign({}, baseProps, { label: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.filterLabel, className: className }),
|
|
32
31
|
React.createElement(InternalMultiselect, { placeholder: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.filterPlaceholder, options: defaultOptions, selectedOptions: selectedOptions, onChange: updateSelection, className: styles['chart-filter'], selectedAriaLabel: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.filterSelectedAriaLabel, hideTokens: true })));
|
|
33
32
|
}
|
|
34
33
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/components/chart-filter/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAGjD,OAAO,iBAAiB,MAAM,8BAA8B,CAAC;AAC7D,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAsB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAExE,OAAO,YAAuC,MAAM,wBAAwB,CAAC;AAE7E,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAsBrC,eAAe,IAAI,CAAC,WAAW,CAAuB,CAAC;AAEvD,SAAS,WAAW,CAAI,EAAoF;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/components/chart-filter/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAGjD,OAAO,iBAAiB,MAAM,8BAA8B,CAAC;AAC7D,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAsB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAExE,OAAO,YAAuC,MAAM,wBAAwB,CAAC;AAE7E,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAsBrC,eAAe,IAAI,CAAC,WAAW,CAAuB,CAAC;AAEvD,SAAS,WAAW,CAAI,EAAoF;QAApF,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,OAAqC,EAAhC,SAAS,cAA7D,uDAA+D,CAAF;IACnF,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAEzD,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3C,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,KAAK,EAAE,EAAE,GAAG,CAAC;QACb,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,YAAY,EAAE,CACZ,8BAAM,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC;YAC5C,oBAAC,YAAY,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,GAAI,CACzC,CACR;KACF,CAAC,CAAC,CAAC;IAEJ,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAK,CAAC,CAAC,CAAC,CAAC;IAEtG,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE;QAClC,MAAM,cAAc,GAAG,cAAc;aAClC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;aACxD,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC3B,CAAC,EACD,CAAC,QAAQ,EAAE,cAAc,CAAC,CAC3B,CAAC;IAEF,OAAO,CACL,oBAAC,iBAAiB,oBAAK,SAAS,IAAE,KAAK,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,EAAE,SAAS,EAAE,SAAS;QACrF,oBAAC,mBAAmB,IAClB,WAAW,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,iBAAiB,EAC3C,OAAO,EAAE,cAAc,EACvB,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,EACjC,iBAAiB,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,uBAAuB,EACvD,UAAU,EAAE,IAAI,GAChB,CACgB,CACrB,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport clsx from 'clsx';\nimport React, { useCallback, memo } from 'react';\n\nimport { NonCancelableEventHandler } from '../../events';\nimport InternalFormField from '../../../form-field/internal';\nimport InternalMultiselect from '../../../multiselect/internal';\nimport { BaseComponentProps, getBaseProps } from '../../base-component';\nimport { MultiselectProps } from '../../../multiselect/interfaces';\nimport SeriesMarker, { ChartSeriesMarkerType } from '../chart-series-marker';\n\nimport styles from './styles.css.js';\n\ninterface I18nStrings {\n filterLabel?: string;\n filterPlaceholder?: string;\n filterSelectedAriaLabel?: string;\n}\n\nexport interface ChartFilterItem<T> {\n label: string;\n color: string;\n type: ChartSeriesMarkerType;\n datum: T;\n}\n\nexport interface ChartFilterProps<T> extends BaseComponentProps {\n series: ReadonlyArray<ChartFilterItem<T>>;\n selectedSeries?: ReadonlyArray<T>;\n onChange: (selectedSeries: ReadonlyArray<T>) => void;\n i18nStrings?: I18nStrings;\n}\n\nexport default memo(ChartFilter) as typeof ChartFilter;\n\nfunction ChartFilter<T>({ series, i18nStrings, selectedSeries, onChange, ...restProps }: ChartFilterProps<T>) {\n const baseProps = getBaseProps(restProps);\n const className = clsx(baseProps.className, styles.root);\n\n const defaultOptions = series.map((d, i) => ({\n label: d.label,\n value: '' + i,\n datum: d.datum,\n __customIcon: (\n <span className={styles['custom-icon-wrapper']}>\n <SeriesMarker color={d.color} type={d.type} />\n </span>\n ),\n }));\n\n const selectedOptions = defaultOptions.filter(option => selectedSeries?.indexOf(option.datum) !== -1);\n\n const updateSelection = useCallback<NonCancelableEventHandler<MultiselectProps.MultiselectChangeDetail>>(\n ({ detail: { selectedOptions } }) => {\n const selectedSeries = defaultOptions\n .filter(option => selectedOptions.indexOf(option) !== -1)\n .map(option => option.datum);\n onChange(selectedSeries);\n },\n [onChange, defaultOptions]\n );\n\n return (\n <InternalFormField {...baseProps} label={i18nStrings?.filterLabel} className={className}>\n <InternalMultiselect\n placeholder={i18nStrings?.filterPlaceholder}\n options={defaultOptions}\n selectedOptions={selectedOptions}\n onChange={updateSelection}\n className={styles['chart-filter']}\n selectedAriaLabel={i18nStrings?.filterSelectedAriaLabel}\n hideTokens={true}\n />\n </InternalFormField>\n );\n}\n"]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { __assign } from "tslib";
|
|
2
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
3
|
import clsx from 'clsx';
|
|
@@ -9,25 +8,24 @@ import { KeyCode } from '../../keycode';
|
|
|
9
8
|
import SeriesMarker from '../chart-series-marker';
|
|
10
9
|
import styles from './styles.css.js';
|
|
11
10
|
export default memo(ChartLegend);
|
|
12
|
-
function ChartLegend(
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
var highlightLeft = function () {
|
|
11
|
+
function ChartLegend({ series, onHighlightChange, highlightedSeries, legendTitle, ariaLabel, plotContainerRef, }) {
|
|
12
|
+
const focusVisible = useFocusVisible();
|
|
13
|
+
const containerRef = useRef(null);
|
|
14
|
+
const segmentsRef = useRef([]);
|
|
15
|
+
const highlightedSeriesIndex = findSeriesIndex(series, highlightedSeries);
|
|
16
|
+
const highlightLeft = () => {
|
|
19
17
|
var _a;
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
const currentIndex = highlightedSeriesIndex !== null && highlightedSeriesIndex !== void 0 ? highlightedSeriesIndex : 0;
|
|
19
|
+
const nextIndex = currentIndex - 1 >= 0 ? currentIndex - 1 : series.length - 1;
|
|
22
20
|
(_a = segmentsRef.current[nextIndex]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
23
21
|
};
|
|
24
|
-
|
|
22
|
+
const highlightRight = () => {
|
|
25
23
|
var _a;
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
const currentIndex = highlightedSeriesIndex !== null && highlightedSeriesIndex !== void 0 ? highlightedSeriesIndex : 0;
|
|
25
|
+
const nextIndex = currentIndex + 1 < series.length ? currentIndex + 1 : 0;
|
|
28
26
|
(_a = segmentsRef.current[nextIndex]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
29
27
|
};
|
|
30
|
-
|
|
28
|
+
const handleKeyPress = (event) => {
|
|
31
29
|
if (event.keyCode === KeyCode.right || event.keyCode === KeyCode.left) {
|
|
32
30
|
// Preventing default fixes an issue in Safari+VO when VO additionally interprets arrow keys as its commands.
|
|
33
31
|
event.preventDefault();
|
|
@@ -41,12 +39,12 @@ function ChartLegend(_a) {
|
|
|
41
39
|
}
|
|
42
40
|
}
|
|
43
41
|
};
|
|
44
|
-
|
|
42
|
+
const handleSelection = (index) => {
|
|
45
43
|
if (series[index].datum !== highlightedSeries) {
|
|
46
44
|
onHighlightChange(series[index].datum);
|
|
47
45
|
}
|
|
48
46
|
};
|
|
49
|
-
|
|
47
|
+
const handleBlur = (event) => {
|
|
50
48
|
var _a;
|
|
51
49
|
// We need to check if the next element to be focused inside the plot container or not
|
|
52
50
|
// so we don't clear the selected legend in case we are still focusing elements ( legend elements )
|
|
@@ -58,40 +56,39 @@ function ChartLegend(_a) {
|
|
|
58
56
|
onHighlightChange(null);
|
|
59
57
|
}
|
|
60
58
|
};
|
|
61
|
-
|
|
59
|
+
const handleMouseOver = (s) => {
|
|
62
60
|
if (s !== highlightedSeries) {
|
|
63
61
|
onHighlightChange(s);
|
|
64
62
|
}
|
|
65
63
|
};
|
|
66
|
-
|
|
64
|
+
const handleMouseLeave = () => {
|
|
67
65
|
onHighlightChange(null);
|
|
68
66
|
};
|
|
69
67
|
return (React.createElement(React.Fragment, null,
|
|
70
68
|
React.createElement("div", { ref: containerRef, role: "toolbar", "aria-label": legendTitle || ariaLabel, className: styles.root, onKeyDown: handleKeyPress, onBlur: handleBlur },
|
|
71
69
|
legendTitle && (React.createElement(InternalBox, { fontWeight: "bold", className: styles.title }, legendTitle)),
|
|
72
|
-
React.createElement("div", { className: styles.list }, series.map(
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
_a)), ref: function (elem) {
|
|
70
|
+
React.createElement("div", { className: styles.list }, series.map((s, index) => {
|
|
71
|
+
const someHighlighted = highlightedSeries !== null;
|
|
72
|
+
const isHighlighted = highlightedSeries === s.datum;
|
|
73
|
+
const isDimmed = someHighlighted && !isHighlighted;
|
|
74
|
+
return (React.createElement("div", Object.assign({}, focusVisible, { role: "button", key: index, "aria-pressed": isHighlighted, className: clsx(styles.marker, {
|
|
75
|
+
[styles['marker--dimmed']]: isDimmed,
|
|
76
|
+
[styles['marker--highlighted']]: isHighlighted,
|
|
77
|
+
}), ref: elem => {
|
|
81
78
|
if (elem) {
|
|
82
79
|
segmentsRef.current[index] = elem;
|
|
83
80
|
}
|
|
84
81
|
else {
|
|
85
82
|
delete segmentsRef.current[index];
|
|
86
83
|
}
|
|
87
|
-
}, tabIndex: index === highlightedSeriesIndex || (highlightedSeriesIndex === undefined && index === 0) ? 0 : -1, onFocus:
|
|
84
|
+
}, tabIndex: index === highlightedSeriesIndex || (highlightedSeriesIndex === undefined && index === 0) ? 0 : -1, onFocus: () => handleSelection(index), onClick: () => handleSelection(index), onMouseOver: () => handleMouseOver(s.datum), onMouseLeave: handleMouseLeave }),
|
|
88
85
|
React.createElement(SeriesMarker, { color: s.color, type: s.type }),
|
|
89
86
|
" ",
|
|
90
87
|
s.label));
|
|
91
88
|
})))));
|
|
92
89
|
}
|
|
93
90
|
function findSeriesIndex(series, targetSeries) {
|
|
94
|
-
for (
|
|
91
|
+
for (let index = 0; index < series.length; index++) {
|
|
95
92
|
if (series[index].datum === targetSeries) {
|
|
96
93
|
return index;
|
|
97
94
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/components/chart-legend/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/components/chart-legend/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport clsx from 'clsx';\nimport React, { useRef, memo } from 'react';\n\nimport useFocusVisible from '../../hooks/focus-visible';\nimport InternalBox from '../../../box/internal';\nimport { KeyCode } from '../../keycode';\nimport SeriesMarker, { ChartSeriesMarkerType } from '../chart-series-marker';\nimport styles from './styles.css.js';\n\nexport interface ChartLegendItem<T> {\n label: string;\n color: string;\n type: ChartSeriesMarkerType;\n datum: T;\n}\n\nexport interface ChartLegendProps<T> {\n series: ReadonlyArray<ChartLegendItem<T>>;\n highlightedSeries: T | null;\n legendTitle?: string;\n ariaLabel?: string;\n plotContainerRef?: React.RefObject<HTMLDivElement>;\n onHighlightChange: (series: T | null) => void;\n}\n\nexport default memo(ChartLegend) as typeof ChartLegend;\n\nfunction ChartLegend<T>({\n series,\n onHighlightChange,\n highlightedSeries,\n legendTitle,\n ariaLabel,\n plotContainerRef,\n}: ChartLegendProps<T>) {\n const focusVisible = useFocusVisible();\n const containerRef = useRef<HTMLDivElement>(null);\n const segmentsRef = useRef<Record<number, HTMLElement>>([]);\n\n const highlightedSeriesIndex = findSeriesIndex(series, highlightedSeries);\n\n const highlightLeft = () => {\n const currentIndex = highlightedSeriesIndex ?? 0;\n const nextIndex = currentIndex - 1 >= 0 ? currentIndex - 1 : series.length - 1;\n segmentsRef.current[nextIndex]?.focus();\n };\n\n const highlightRight = () => {\n const currentIndex = highlightedSeriesIndex ?? 0;\n const nextIndex = currentIndex + 1 < series.length ? currentIndex + 1 : 0;\n segmentsRef.current[nextIndex]?.focus();\n };\n\n const handleKeyPress = (event: React.KeyboardEvent) => {\n if (event.keyCode === KeyCode.right || event.keyCode === KeyCode.left) {\n // Preventing default fixes an issue in Safari+VO when VO additionally interprets arrow keys as its commands.\n event.preventDefault();\n\n switch (event.keyCode) {\n case KeyCode.left:\n return highlightLeft();\n\n case KeyCode.right:\n return highlightRight();\n\n default:\n return;\n }\n }\n };\n\n const handleSelection = (index: number) => {\n if (series[index].datum !== highlightedSeries) {\n onHighlightChange(series[index].datum);\n }\n };\n\n const handleBlur = (event: React.FocusEvent<Element>) => {\n // We need to check if the next element to be focused inside the plot container or not\n // so we don't clear the selected legend in case we are still focusing elements ( legend elements )\n // inside the plot container\n if (\n event.relatedTarget === null ||\n (containerRef.current &&\n !containerRef.current.contains(event.relatedTarget) &&\n !plotContainerRef?.current?.contains(event.relatedTarget))\n ) {\n onHighlightChange(null);\n }\n };\n\n const handleMouseOver = (s: T) => {\n if (s !== highlightedSeries) {\n onHighlightChange(s);\n }\n };\n\n const handleMouseLeave = () => {\n onHighlightChange(null);\n };\n\n return (\n <>\n <div\n ref={containerRef}\n role=\"toolbar\"\n aria-label={legendTitle || ariaLabel}\n className={styles.root}\n onKeyDown={handleKeyPress}\n onBlur={handleBlur}\n >\n {legendTitle && (\n <InternalBox fontWeight=\"bold\" className={styles.title}>\n {legendTitle}\n </InternalBox>\n )}\n\n <div className={styles.list}>\n {series.map((s, index) => {\n const someHighlighted = highlightedSeries !== null;\n const isHighlighted = highlightedSeries === s.datum;\n const isDimmed = someHighlighted && !isHighlighted;\n return (\n <div\n {...focusVisible}\n role=\"button\"\n key={index}\n aria-pressed={isHighlighted}\n className={clsx(styles.marker, {\n [styles['marker--dimmed']]: isDimmed,\n [styles['marker--highlighted']]: isHighlighted,\n })}\n ref={elem => {\n if (elem) {\n segmentsRef.current[index] = elem;\n } else {\n delete segmentsRef.current[index];\n }\n }}\n tabIndex={\n index === highlightedSeriesIndex || (highlightedSeriesIndex === undefined && index === 0) ? 0 : -1\n }\n onFocus={() => handleSelection(index)}\n onClick={() => handleSelection(index)}\n onMouseOver={() => handleMouseOver(s.datum)}\n onMouseLeave={handleMouseLeave}\n >\n <SeriesMarker color={s.color} type={s.type} /> {s.label}\n </div>\n );\n })}\n </div>\n </div>\n </>\n );\n}\n\nfunction findSeriesIndex<T>(series: ReadonlyArray<ChartLegendItem<T>>, targetSeries: null | T): undefined | number {\n for (let index = 0; index < series.length; index++) {\n if (series[index].datum === targetSeries) {\n return index;\n }\n }\n return undefined;\n}\n"]}
|
|
@@ -4,14 +4,13 @@ import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useRef,
|
|
|
4
4
|
import focusSvgElement from '../../utils/focus-svg-element';
|
|
5
5
|
import styles from './styles.css.js';
|
|
6
6
|
export default forwardRef(ApplicationController);
|
|
7
|
-
function ApplicationController(
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var _b = useState(false), isFocused = _b[0], setFocused = _b[1];
|
|
7
|
+
function ApplicationController({ activeElementKey, activeElementRef, onFocus, onBlur, onKeyDown }, ref) {
|
|
8
|
+
const containerRef = useRef(null);
|
|
9
|
+
const applicationRef = useRef(null);
|
|
10
|
+
const focusTransitionRef = useRef(false);
|
|
11
|
+
const [isFocused, setFocused] = useState(false);
|
|
13
12
|
// Calls provided onFocus handler when the application obtains focus, ignoring internal focus juggling.
|
|
14
|
-
|
|
13
|
+
const onApplicationFocus = useCallback((event) => {
|
|
15
14
|
if (focusTransitionRef.current === false) {
|
|
16
15
|
setFocused(true);
|
|
17
16
|
onFocus && onFocus(event);
|
|
@@ -21,7 +20,7 @@ function ApplicationController(_a, ref) {
|
|
|
21
20
|
}
|
|
22
21
|
}, [onFocus]);
|
|
23
22
|
// Calls provided onBlur handler when the application loses focus, ignoring internal focus juggling.
|
|
24
|
-
|
|
23
|
+
const onApplicationBlur = useCallback((event) => {
|
|
25
24
|
if (focusTransitionRef.current === false) {
|
|
26
25
|
setFocused(false);
|
|
27
26
|
onBlur && onBlur(event);
|
|
@@ -29,25 +28,25 @@ function ApplicationController(_a, ref) {
|
|
|
29
28
|
muteApplication(applicationRef.current);
|
|
30
29
|
}
|
|
31
30
|
}, [onBlur]);
|
|
32
|
-
|
|
33
|
-
useImperativeHandle(ref,
|
|
34
|
-
focus:
|
|
35
|
-
})
|
|
31
|
+
const onApplicationKeyDown = onKeyDown;
|
|
32
|
+
useImperativeHandle(ref, () => ({
|
|
33
|
+
focus: () => focusApplication(applicationRef.current, (activeElementRef === null || activeElementRef === void 0 ? void 0 : activeElementRef.current) || null),
|
|
34
|
+
}), [activeElementRef]);
|
|
36
35
|
// Re-attaches and re-focuses the application for screen readers to treat it as an update.
|
|
37
|
-
useEffect(
|
|
36
|
+
useEffect(() => {
|
|
38
37
|
// Skip if not focused or if the transition is already happening.
|
|
39
38
|
if (!isFocused || focusTransitionRef.current === true) {
|
|
40
39
|
return;
|
|
41
40
|
}
|
|
42
41
|
// Delay focus juggle to let the last focus event settle in Firefox.
|
|
43
42
|
// Without the delay the focus is getting lost.
|
|
44
|
-
|
|
43
|
+
const timeoutId = setTimeout(() => {
|
|
45
44
|
focusTransitionRef.current = true;
|
|
46
45
|
containerRef.current.removeChild(applicationRef.current);
|
|
47
46
|
containerRef.current.appendChild(applicationRef.current);
|
|
48
47
|
focusApplication(applicationRef.current, (activeElementRef === null || activeElementRef === void 0 ? void 0 : activeElementRef.current) || null);
|
|
49
48
|
}, 0);
|
|
50
|
-
return
|
|
49
|
+
return () => clearTimeout(timeoutId);
|
|
51
50
|
}, [isFocused, activeElementKey, activeElementRef]);
|
|
52
51
|
return (React.createElement("g", { ref: containerRef },
|
|
53
52
|
React.createElement("g", { tabIndex: -1, ref: applicationRef, onFocus: onApplicationFocus, onBlur: onApplicationBlur, onKeyDown: onApplicationKeyDown, className: styles.application })));
|
|
@@ -55,18 +54,16 @@ function ApplicationController(_a, ref) {
|
|
|
55
54
|
// Focuses application but before copies aria-attributes from the target.
|
|
56
55
|
function focusApplication(app, target) {
|
|
57
56
|
// Remove prev attributes.
|
|
58
|
-
for (
|
|
59
|
-
var attributeName = _a[_i];
|
|
57
|
+
for (const attributeName of getAttributeNames(app)) {
|
|
60
58
|
if (attributeName === 'role' || attributeName.slice(0, 4) === 'aria') {
|
|
61
59
|
app.removeAttribute(attributeName);
|
|
62
60
|
}
|
|
63
61
|
}
|
|
64
62
|
// Copy new attributes.
|
|
65
63
|
if (target) {
|
|
66
|
-
for (
|
|
67
|
-
var attributeName = _c[_b];
|
|
64
|
+
for (const attributeName of getAttributeNames(target)) {
|
|
68
65
|
if (attributeName === 'role' || attributeName.slice(0, 4) === 'aria') {
|
|
69
|
-
|
|
66
|
+
const attributeValue = target.getAttribute(attributeName);
|
|
70
67
|
attributeValue && app.setAttribute(attributeName, attributeValue);
|
|
71
68
|
}
|
|
72
69
|
}
|
|
@@ -81,8 +78,7 @@ function focusApplication(app, target) {
|
|
|
81
78
|
// The application is to be only focused programmatically.
|
|
82
79
|
function muteApplication(app) {
|
|
83
80
|
// Remove prev attributes.
|
|
84
|
-
for (
|
|
85
|
-
var attributeName = _a[_i];
|
|
81
|
+
for (const attributeName of getAttributeNames(app)) {
|
|
86
82
|
if (attributeName === 'role' || attributeName.slice(0, 4) === 'aria') {
|
|
87
83
|
app.removeAttribute(attributeName);
|
|
88
84
|
}
|
|
@@ -95,9 +91,9 @@ function muteApplication(app) {
|
|
|
95
91
|
// Polyfill for element.getAttributeNames(), IE11
|
|
96
92
|
// https://developer.mozilla.org/en-US/docs/Web/API/Element/getAttributeNames#polyfill
|
|
97
93
|
function getAttributeNames(element) {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
for (
|
|
94
|
+
const attributes = element.attributes;
|
|
95
|
+
const result = new Array(attributes.length);
|
|
96
|
+
for (let i = 0; i < attributes.length; i++) {
|
|
101
97
|
result[i] = attributes[i].name;
|
|
102
98
|
}
|
|
103
99
|
return result;
|