@cloudscape-design/components 3.0.347 → 3.0.349
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/styles.css.js +19 -19
- package/alert/styles.scoped.css +64 -64
- package/alert/styles.selectors.js +19 -19
- package/annotation-context/annotation/styles.css.js +24 -24
- package/annotation-context/annotation/styles.scoped.css +46 -46
- package/annotation-context/annotation/styles.selectors.js +24 -24
- package/app-layout/content-wrapper/styles.css.js +3 -3
- package/app-layout/content-wrapper/styles.scoped.css +10 -10
- package/app-layout/content-wrapper/styles.selectors.js +3 -3
- package/app-layout/drawer/styles.css.js +10 -10
- package/app-layout/drawer/styles.scoped.css +28 -28
- package/app-layout/drawer/styles.selectors.js +10 -10
- package/app-layout/mobile-toolbar/styles.css.js +8 -8
- package/app-layout/mobile-toolbar/styles.scoped.css +18 -18
- package/app-layout/mobile-toolbar/styles.selectors.js +8 -8
- package/app-layout/notifications/styles.css.js +3 -3
- package/app-layout/notifications/styles.scoped.css +7 -7
- package/app-layout/notifications/styles.selectors.js +3 -3
- package/app-layout/styles.css.js +17 -17
- package/app-layout/styles.scoped.css +30 -30
- package/app-layout/styles.selectors.js +17 -17
- package/app-layout/toggles/styles.css.js +2 -2
- package/app-layout/toggles/styles.scoped.css +16 -16
- package/app-layout/toggles/styles.selectors.js +2 -2
- package/app-layout/visual-refresh/styles.css.js +69 -69
- package/app-layout/visual-refresh/styles.scoped.css +267 -267
- package/app-layout/visual-refresh/styles.selectors.js +69 -69
- package/area-chart/styles.css.js +6 -6
- package/area-chart/styles.scoped.css +16 -16
- package/area-chart/styles.selectors.js +6 -6
- package/attribute-editor/styles.css.js +14 -14
- package/attribute-editor/styles.scoped.css +48 -48
- package/attribute-editor/styles.selectors.js +14 -14
- package/badge/styles.css.js +5 -5
- package/badge/styles.scoped.css +20 -20
- package/badge/styles.selectors.js +5 -5
- package/box/styles.css.js +189 -189
- package/box/styles.scoped.css +418 -418
- package/box/styles.selectors.js +189 -189
- package/breadcrumb-group/item/styles.css.js +9 -9
- package/breadcrumb-group/item/styles.scoped.css +28 -28
- package/breadcrumb-group/item/styles.selectors.js +9 -9
- package/breadcrumb-group/styles.css.js +7 -7
- package/breadcrumb-group/styles.scoped.css +22 -22
- package/breadcrumb-group/styles.selectors.js +7 -7
- package/button/styles.css.js +20 -20
- package/button/styles.scoped.css +472 -472
- package/button/styles.selectors.js +20 -20
- package/button-dropdown/category-elements/styles.css.js +13 -13
- package/button-dropdown/category-elements/styles.scoped.css +50 -50
- package/button-dropdown/category-elements/styles.selectors.js +13 -13
- package/button-dropdown/interfaces.d.ts +2 -15
- package/button-dropdown/interfaces.d.ts.map +1 -1
- package/button-dropdown/interfaces.js.map +1 -1
- package/button-dropdown/item-element/styles.css.js +14 -14
- package/button-dropdown/item-element/styles.scoped.css +42 -42
- package/button-dropdown/item-element/styles.selectors.js +14 -14
- package/button-dropdown/mobile-expandable-group/styles.css.js +5 -5
- package/button-dropdown/mobile-expandable-group/styles.scoped.css +10 -10
- package/button-dropdown/mobile-expandable-group/styles.selectors.js +5 -5
- package/button-dropdown/styles.css.js +14 -14
- package/button-dropdown/styles.scoped.css +32 -32
- package/button-dropdown/styles.selectors.js +14 -14
- package/calendar/styles.css.js +18 -18
- package/calendar/styles.scoped.css +89 -89
- package/calendar/styles.selectors.js +18 -18
- package/cards/styles.css.js +38 -38
- package/cards/styles.scoped.css +99 -99
- package/cards/styles.selectors.js +38 -38
- package/checkbox/styles.css.js +3 -3
- package/checkbox/styles.scoped.css +16 -16
- package/checkbox/styles.selectors.js +3 -3
- package/code-editor/resizable-box/styles.css.js +3 -3
- package/code-editor/resizable-box/styles.scoped.css +8 -8
- package/code-editor/resizable-box/styles.selectors.js +3 -3
- package/code-editor/styles.css.js +32 -32
- package/code-editor/styles.scoped.css +228 -219
- package/code-editor/styles.selectors.js +32 -32
- package/collection-preferences/content-display/styles.css.js +11 -11
- package/collection-preferences/content-display/styles.scoped.css +42 -42
- package/collection-preferences/content-display/styles.selectors.js +11 -11
- package/collection-preferences/styles.css.js +37 -37
- package/collection-preferences/styles.scoped.css +81 -81
- package/collection-preferences/styles.selectors.js +37 -37
- package/column-layout/flexible-column-layout/styles.css.js +5 -5
- package/column-layout/flexible-column-layout/styles.scoped.css +8 -8
- package/column-layout/flexible-column-layout/styles.selectors.js +5 -5
- package/column-layout/styles.css.js +13 -13
- package/column-layout/styles.scoped.css +55 -55
- package/column-layout/styles.selectors.js +13 -13
- package/container/styles.css.js +28 -28
- package/container/styles.scoped.css +94 -94
- package/container/styles.selectors.js +28 -28
- package/content-layout/styles.css.js +7 -7
- package/content-layout/styles.scoped.css +17 -17
- package/content-layout/styles.selectors.js +7 -7
- package/date-picker/styles.css.js +7 -7
- package/date-picker/styles.scoped.css +16 -16
- package/date-picker/styles.selectors.js +7 -7
- package/date-range-picker/calendar/grids/styles.css.js +25 -25
- package/date-range-picker/calendar/grids/styles.scoped.css +95 -95
- package/date-range-picker/calendar/grids/styles.selectors.js +25 -25
- package/date-range-picker/relative-range/styles.css.js +9 -9
- package/date-range-picker/relative-range/styles.scoped.css +16 -16
- package/date-range-picker/relative-range/styles.selectors.js +9 -9
- package/date-range-picker/styles.css.js +38 -38
- package/date-range-picker/styles.scoped.css +76 -76
- package/date-range-picker/styles.selectors.js +38 -38
- package/expandable-section/styles.css.js +29 -29
- package/expandable-section/styles.scoped.css +106 -106
- package/expandable-section/styles.selectors.js +29 -29
- package/file-upload/dropzone/styles.css.js +2 -2
- package/file-upload/dropzone/styles.scoped.css +9 -9
- package/file-upload/dropzone/styles.selectors.js +2 -2
- package/file-upload/file-input/styles.css.js +4 -4
- package/file-upload/file-input/styles.scoped.css +14 -14
- package/file-upload/file-input/styles.selectors.js +4 -4
- package/file-upload/file-option/styles.css.js +7 -7
- package/file-upload/file-option/styles.scoped.css +10 -10
- package/file-upload/file-option/styles.selectors.js +7 -7
- package/file-upload/styles.css.js +2 -2
- package/file-upload/styles.scoped.css +4 -4
- package/file-upload/styles.selectors.js +2 -2
- package/flashbar/collapsible-flashbar.d.ts.map +1 -1
- package/flashbar/collapsible-flashbar.js +8 -5
- package/flashbar/collapsible-flashbar.js.map +1 -1
- package/flashbar/flash.d.ts.map +1 -1
- package/flashbar/flash.js +2 -1
- package/flashbar/flash.js.map +1 -1
- package/flashbar/non-collapsible-flashbar.d.ts.map +1 -1
- package/flashbar/non-collapsible-flashbar.js +1 -2
- package/flashbar/non-collapsible-flashbar.js.map +1 -1
- package/flashbar/styles.css.js +46 -46
- package/flashbar/styles.scoped.css +250 -246
- package/flashbar/styles.selectors.js +46 -46
- package/flashbar/utils.js +1 -1
- package/flashbar/utils.js.map +1 -1
- package/form/styles.css.js +9 -9
- package/form/styles.scoped.css +20 -20
- package/form/styles.selectors.js +9 -9
- package/form-field/styles.css.js +19 -19
- package/form-field/styles.scoped.css +52 -52
- package/form-field/styles.selectors.js +19 -19
- package/grid/styles.css.js +53 -53
- package/grid/styles.scoped.css +60 -60
- package/grid/styles.selectors.js +53 -53
- package/header/styles.css.js +33 -33
- package/header/styles.scoped.css +114 -114
- package/header/styles.selectors.js +33 -33
- package/help-panel/styles.css.js +4 -4
- package/help-panel/styles.scoped.css +172 -172
- package/help-panel/styles.selectors.js +4 -4
- package/hotspot/styles.css.js +7 -7
- package/hotspot/styles.scoped.css +10 -10
- package/hotspot/styles.selectors.js +7 -7
- package/i18n/index.d.ts +1 -1
- package/i18n/index.d.ts.map +1 -1
- package/i18n/index.js +1 -1
- package/i18n/index.js.map +1 -1
- package/i18n/provider.d.ts.map +1 -1
- package/i18n/provider.js +4 -2
- package/i18n/provider.js.map +1 -1
- package/i18n/testing.d.ts.map +1 -1
- package/i18n/testing.js +2 -0
- package/i18n/testing.js.map +1 -1
- package/icon/styles.css.js +21 -21
- package/icon/styles.scoped.css +81 -81
- package/icon/styles.selectors.js +21 -21
- package/input/styles.css.js +12 -12
- package/input/styles.scoped.css +73 -73
- package/input/styles.selectors.js +12 -12
- package/internal/analytics/components/analytics-funnel.d.ts.map +1 -1
- package/internal/analytics/components/analytics-funnel.js +50 -1
- package/internal/analytics/components/analytics-funnel.js.map +1 -1
- package/internal/analytics/context/analytics-context.d.ts +13 -0
- package/internal/analytics/context/analytics-context.d.ts.map +1 -1
- package/internal/analytics/context/analytics-context.js +4 -0
- package/internal/analytics/context/analytics-context.js.map +1 -1
- package/internal/analytics/hooks/use-funnel.d.ts +4 -0
- package/internal/analytics/hooks/use-funnel.d.ts.map +1 -1
- package/internal/analytics/hooks/use-funnel.js +73 -20
- package/internal/analytics/hooks/use-funnel.js.map +1 -1
- package/internal/base-component/styles.scoped.css +1696 -1635
- package/internal/components/abstract-switch/styles.css.js +13 -13
- package/internal/components/abstract-switch/styles.scoped.css +26 -26
- package/internal/components/abstract-switch/styles.selectors.js +13 -13
- package/internal/components/button-trigger/styles.css.js +9 -9
- package/internal/components/button-trigger/styles.scoped.css +63 -63
- package/internal/components/button-trigger/styles.selectors.js +9 -9
- package/internal/components/cartesian-chart/styles.css.js +27 -27
- package/internal/components/cartesian-chart/styles.scoped.css +41 -41
- package/internal/components/cartesian-chart/styles.selectors.js +27 -27
- package/internal/components/chart-filter/styles.css.js +3 -3
- package/internal/components/chart-filter/styles.scoped.css +7 -7
- package/internal/components/chart-filter/styles.selectors.js +3 -3
- package/internal/components/chart-legend/styles.css.js +6 -6
- package/internal/components/chart-legend/styles.scoped.css +23 -23
- package/internal/components/chart-legend/styles.selectors.js +6 -6
- package/internal/components/chart-plot/styles.css.js +5 -5
- package/internal/components/chart-plot/styles.scoped.css +6 -6
- package/internal/components/chart-plot/styles.selectors.js +5 -5
- package/internal/components/chart-popover/index.js +1 -1
- package/internal/components/chart-popover/index.js.map +1 -1
- package/internal/components/chart-popover/styles.css.js +3 -3
- package/internal/components/chart-popover/styles.scoped.css +9 -9
- package/internal/components/chart-popover/styles.selectors.js +3 -3
- package/internal/components/chart-series-details/styles.css.js +5 -5
- package/internal/components/chart-series-details/styles.scoped.css +20 -20
- package/internal/components/chart-series-details/styles.selectors.js +5 -5
- package/internal/components/chart-series-marker/styles.css.js +5 -5
- package/internal/components/chart-series-marker/styles.scoped.css +14 -14
- package/internal/components/chart-series-marker/styles.selectors.js +5 -5
- package/internal/components/chart-status-container/styles.css.js +2 -2
- package/internal/components/chart-status-container/styles.scoped.css +3 -3
- package/internal/components/chart-status-container/styles.selectors.js +2 -2
- package/internal/components/chart-wrapper/styles.css.js +9 -9
- package/internal/components/chart-wrapper/styles.scoped.css +15 -15
- package/internal/components/chart-wrapper/styles.selectors.js +9 -9
- package/internal/components/checkbox-icon/styles.css.js +7 -7
- package/internal/components/checkbox-icon/styles.scoped.css +18 -18
- package/internal/components/checkbox-icon/styles.selectors.js +7 -7
- package/internal/components/dark-ribbon/styles.css.js +2 -2
- package/internal/components/dark-ribbon/styles.scoped.css +4 -4
- package/internal/components/dark-ribbon/styles.selectors.js +2 -2
- package/internal/components/dropdown/interfaces.d.ts +8 -5
- package/internal/components/dropdown/interfaces.d.ts.map +1 -1
- package/internal/components/dropdown/interfaces.js.map +1 -1
- package/internal/components/dropdown/styles.css.js +20 -20
- package/internal/components/dropdown/styles.scoped.css +51 -51
- package/internal/components/dropdown/styles.selectors.js +20 -20
- package/internal/components/dropdown-footer/styles.css.js +3 -3
- package/internal/components/dropdown-footer/styles.scoped.css +9 -9
- package/internal/components/dropdown-footer/styles.selectors.js +3 -3
- package/internal/components/dropdown-status/styles.css.js +2 -2
- package/internal/components/dropdown-status/styles.scoped.css +8 -8
- package/internal/components/dropdown-status/styles.selectors.js +2 -2
- package/internal/components/filtering-token/styles.css.js +7 -7
- package/internal/components/filtering-token/styles.scoped.css +34 -34
- package/internal/components/filtering-token/styles.selectors.js +7 -7
- package/internal/components/handle/styles.css.js +2 -2
- package/internal/components/handle/styles.scoped.css +12 -12
- package/internal/components/handle/styles.selectors.js +2 -2
- package/internal/components/menu-dropdown/styles.css.js +7 -7
- package/internal/components/menu-dropdown/styles.scoped.css +32 -32
- package/internal/components/menu-dropdown/styles.selectors.js +7 -7
- package/internal/components/option/styles.css.js +17 -17
- package/internal/components/option/styles.scoped.css +47 -47
- package/internal/components/option/styles.selectors.js +17 -17
- package/internal/components/options-list/styles.css.js +2 -2
- package/internal/components/options-list/styles.scoped.css +7 -7
- package/internal/components/options-list/styles.selectors.js +2 -2
- package/internal/components/selectable-item/styles.css.js +16 -16
- package/internal/components/selectable-item/styles.scoped.css +70 -70
- package/internal/components/selectable-item/styles.selectors.js +16 -16
- package/internal/components/token-list/styles.css.js +9 -9
- package/internal/components/token-list/styles.scoped.css +40 -40
- package/internal/components/token-list/styles.selectors.js +9 -9
- package/internal/environment.js +1 -1
- package/internal/environment.json +1 -1
- package/internal/generated/styles/tokens.d.ts +1 -0
- package/internal/generated/styles/tokens.js +306 -305
- package/internal/generated/theming/index.cjs +1830 -821
- package/internal/generated/theming/index.cjs.d.ts +192 -0
- package/internal/generated/theming/index.d.ts +192 -0
- package/internal/generated/theming/index.js +1830 -821
- package/internal/manifest.json +1 -1
- package/internal/utils/dom.d.ts +1 -1
- package/internal/utils/dom.d.ts.map +1 -1
- package/internal/utils/dom.js +1 -1
- package/internal/utils/dom.js.map +1 -1
- package/link/styles.css.js +20 -20
- package/link/styles.scoped.css +163 -163
- package/link/styles.selectors.js +20 -20
- package/mixed-line-bar-chart/styles.css.js +11 -11
- package/mixed-line-bar-chart/styles.scoped.css +24 -24
- package/mixed-line-bar-chart/styles.selectors.js +11 -11
- package/modal/styles.css.js +23 -23
- package/modal/styles.scoped.css +67 -67
- package/modal/styles.selectors.js +23 -23
- package/multiselect/styles.css.js +1 -1
- package/multiselect/styles.scoped.css +5 -5
- package/multiselect/styles.selectors.js +1 -1
- package/package.json +1 -1
- package/pagination/styles.css.js +9 -9
- package/pagination/styles.scoped.css +47 -47
- package/pagination/styles.selectors.js +9 -9
- package/pie-chart/index.d.ts.map +1 -1
- package/pie-chart/index.js +1 -2
- package/pie-chart/index.js.map +1 -1
- package/pie-chart/pie-chart.d.ts +1 -3
- package/pie-chart/pie-chart.d.ts.map +1 -1
- package/pie-chart/pie-chart.js +16 -17
- package/pie-chart/pie-chart.js.map +1 -1
- package/pie-chart/segments.d.ts +1 -2
- package/pie-chart/segments.d.ts.map +1 -1
- package/pie-chart/segments.js +2 -2
- package/pie-chart/segments.js.map +1 -1
- package/pie-chart/styles.css.js +27 -27
- package/pie-chart/styles.scoped.css +63 -63
- package/pie-chart/styles.selectors.js +27 -27
- package/popover/styles.css.js +50 -50
- package/popover/styles.scoped.css +104 -104
- package/popover/styles.selectors.js +50 -50
- package/progress-bar/styles.css.js +18 -18
- package/progress-bar/styles.scoped.css +58 -58
- package/progress-bar/styles.selectors.js +18 -18
- package/property-filter/styles.css.js +29 -29
- package/property-filter/styles.scoped.css +52 -52
- package/property-filter/styles.selectors.js +29 -29
- package/radio-group/styles.css.js +9 -9
- package/radio-group/styles.scoped.css +37 -37
- package/radio-group/styles.selectors.js +9 -9
- package/s3-resource-selector/s3-in-context/styles.css.js +7 -7
- package/s3-resource-selector/s3-in-context/styles.scoped.css +12 -12
- package/s3-resource-selector/s3-in-context/styles.selectors.js +7 -7
- package/segmented-control/styles.css.js +14 -14
- package/segmented-control/styles.scoped.css +78 -78
- package/segmented-control/styles.selectors.js +14 -14
- package/select/parts/styles.css.js +9 -9
- package/select/parts/styles.scoped.css +17 -17
- package/select/parts/styles.selectors.js +9 -9
- package/select/styles.css.js +1 -1
- package/select/styles.scoped.css +5 -5
- package/select/styles.selectors.js +1 -1
- package/side-navigation/styles.css.js +28 -28
- package/side-navigation/styles.scoped.css +92 -92
- package/side-navigation/styles.selectors.js +28 -28
- package/space-between/styles.css.js +23 -23
- package/space-between/styles.scoped.css +40 -40
- package/space-between/styles.selectors.js +23 -23
- package/spinner/styles.css.js +13 -13
- package/spinner/styles.scoped.css +35 -35
- package/spinner/styles.selectors.js +13 -13
- package/split-panel/styles.css.js +56 -56
- package/split-panel/styles.scoped.css +146 -146
- package/split-panel/styles.selectors.js +56 -56
- package/status-indicator/styles.css.js +22 -22
- package/status-indicator/styles.scoped.css +46 -46
- package/status-indicator/styles.selectors.js +22 -22
- package/table/body-cell/styles.css.js +28 -28
- package/table/body-cell/styles.scoped.css +155 -155
- package/table/body-cell/styles.selectors.js +28 -28
- package/table/body-cell/td-element.d.ts +3 -1
- package/table/body-cell/td-element.d.ts.map +1 -1
- package/table/body-cell/td-element.js +5 -7
- package/table/body-cell/td-element.js.map +1 -1
- package/table/header-cell/index.d.ts +2 -0
- package/table/header-cell/index.d.ts.map +1 -1
- package/table/header-cell/index.js +4 -3
- package/table/header-cell/index.js.map +1 -1
- package/table/header-cell/styles.css.js +24 -24
- package/table/header-cell/styles.scoped.css +93 -93
- package/table/header-cell/styles.selectors.js +24 -24
- package/table/header-cell/utils.d.ts +0 -1
- package/table/header-cell/utils.d.ts.map +1 -1
- package/table/header-cell/utils.js +0 -6
- package/table/header-cell/utils.js.map +1 -1
- package/table/internal.d.ts.map +1 -1
- package/table/internal.js +9 -8
- package/table/internal.js.map +1 -1
- package/table/resizer/styles.css.js +6 -6
- package/table/resizer/styles.scoped.css +27 -27
- package/table/resizer/styles.selectors.js +6 -6
- package/table/selection-control/styles.css.js +3 -3
- package/table/selection-control/styles.scoped.css +4 -4
- package/table/selection-control/styles.selectors.js +3 -3
- package/table/sticky-header.d.ts +2 -0
- package/table/sticky-header.d.ts.map +1 -1
- package/table/sticky-header.js +3 -2
- package/table/sticky-header.js.map +1 -1
- package/table/styles.css.js +34 -34
- package/table/styles.scoped.css +84 -84
- package/table/styles.selectors.js +34 -34
- package/table/table-role/index.d.ts +2 -0
- package/table/table-role/index.d.ts.map +1 -0
- package/table/table-role/index.js +4 -0
- package/table/table-role/index.js.map +1 -0
- package/table/table-role/table-role-helper.d.ts +22 -0
- package/table/table-role/table-role-helper.d.ts.map +1 -0
- package/table/table-role/table-role-helper.js +47 -0
- package/table/table-role/table-role-helper.js.map +1 -0
- package/table/thead.d.ts +2 -0
- package/table/thead.d.ts.map +1 -1
- package/table/thead.js +4 -3
- package/table/thead.js.map +1 -1
- package/tabs/styles.css.js +21 -21
- package/tabs/styles.scoped.css +86 -86
- package/tabs/styles.selectors.js +21 -21
- package/tag-editor/styles.css.js +3 -3
- package/tag-editor/styles.scoped.css +24 -24
- package/tag-editor/styles.selectors.js +3 -3
- package/text-content/styles.css.js +1 -1
- package/text-content/styles.scoped.css +130 -130
- package/text-content/styles.selectors.js +1 -1
- package/text-filter/styles.css.js +3 -3
- package/text-filter/styles.scoped.css +10 -10
- package/text-filter/styles.selectors.js +3 -3
- package/textarea/styles.css.js +4 -4
- package/textarea/styles.scoped.css +40 -40
- package/textarea/styles.selectors.js +4 -4
- package/tiles/styles.css.js +29 -29
- package/tiles/styles.scoped.css +128 -128
- package/tiles/styles.selectors.js +29 -29
- package/toggle/styles.css.js +8 -8
- package/toggle/styles.scoped.css +27 -27
- package/toggle/styles.selectors.js +8 -8
- package/token-group/styles.css.js +7 -7
- package/token-group/styles.scoped.css +42 -42
- package/token-group/styles.selectors.js +7 -7
- package/top-navigation/1.0-beta/styles.css.js +25 -25
- package/top-navigation/1.0-beta/styles.scoped.css +84 -84
- package/top-navigation/1.0-beta/styles.selectors.js +25 -25
- package/top-navigation/styles.css.js +47 -47
- package/top-navigation/styles.scoped.css +148 -148
- package/top-navigation/styles.selectors.js +47 -47
- package/tutorial-panel/components/tutorial-detail-view/styles.css.js +20 -20
- package/tutorial-panel/components/tutorial-detail-view/styles.scoped.css +43 -43
- package/tutorial-panel/components/tutorial-detail-view/styles.selectors.js +20 -20
- package/tutorial-panel/components/tutorial-list/styles.css.js +18 -18
- package/tutorial-panel/components/tutorial-list/styles.scoped.css +50 -50
- package/tutorial-panel/components/tutorial-list/styles.selectors.js +18 -18
- package/tutorial-panel/styles.css.js +1 -1
- package/tutorial-panel/styles.scoped.css +6 -6
- package/tutorial-panel/styles.selectors.js +1 -1
- package/wizard/styles.css.js +31 -31
- package/wizard/styles.scoped.css +124 -124
- package/wizard/styles.selectors.js +31 -31
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
import { __awaiter } from "tslib";
|
|
3
4
|
import { useContext } from 'react';
|
|
4
5
|
import { FunnelContext, FunnelStepContext, FunnelSubStepContext } from '../context/analytics-context';
|
|
5
|
-
import { DATA_ATTR_FUNNEL_INTERACTION_ID, DATA_ATTR_FUNNEL_SUBSTEP, getSubStepAllSelector } from '../selectors';
|
|
6
|
+
import { DATA_ATTR_FUNNEL_INTERACTION_ID, DATA_ATTR_FUNNEL_SUBSTEP, getNameFromSelector, getSubStepAllSelector, } from '../selectors';
|
|
6
7
|
import { FunnelMetrics } from '../';
|
|
7
8
|
/**
|
|
8
9
|
* Custom React Hook to manage and interact with FunnelSubStep.
|
|
@@ -16,39 +17,91 @@ import { FunnelMetrics } from '../';
|
|
|
16
17
|
*/
|
|
17
18
|
export const useFunnelSubStep = () => {
|
|
18
19
|
const context = useContext(FunnelSubStepContext);
|
|
19
|
-
const { funnelInteractionId, funnelState } = useFunnel();
|
|
20
|
+
const { funnelInteractionId, funnelState, latestFocusCleanupFunction } = useFunnel();
|
|
20
21
|
const { stepNumber, stepNameSelector } = useFunnelStep();
|
|
21
|
-
const { subStepId, subStepSelector, subStepNameSelector, subStepRef, isNestedSubStep } = context;
|
|
22
|
+
const { subStepId, subStepSelector, subStepNameSelector, subStepRef, isNestedSubStep, mousePressed, isFocusedSubStep, focusCleanupFunction, } = context;
|
|
22
23
|
if (isNestedSubStep) {
|
|
23
24
|
return context;
|
|
24
25
|
}
|
|
25
|
-
const onFocus = (event) => {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
const onFocus = (event) => __awaiter(void 0, void 0, void 0, function* () {
|
|
27
|
+
var _a;
|
|
28
|
+
const element = event.target;
|
|
29
|
+
// Ignore spurious focus events, such as when the browser window is focused again.
|
|
30
|
+
yield new Promise(r => setTimeout(r, 1));
|
|
31
|
+
if (document.activeElement !== element) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (isFocusedSubStep.current) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
isFocusedSubStep.current = true;
|
|
38
|
+
if (funnelInteractionId && subStepId) {
|
|
39
|
+
/*
|
|
40
|
+
If the previously focused substep has provided a cleanup function, we
|
|
41
|
+
call it here on behalf of the previously focused substep.
|
|
42
|
+
*/
|
|
43
|
+
(_a = latestFocusCleanupFunction.current) === null || _a === void 0 ? void 0 : _a.call(latestFocusCleanupFunction);
|
|
29
44
|
FunnelMetrics.funnelSubStepStart({
|
|
30
45
|
funnelInteractionId,
|
|
31
46
|
subStepSelector,
|
|
32
47
|
subStepNameSelector,
|
|
48
|
+
subStepName: getNameFromSelector(subStepNameSelector),
|
|
33
49
|
stepNumber,
|
|
34
50
|
stepNameSelector,
|
|
35
51
|
subStepAllSelector: getSubStepAllSelector(),
|
|
36
52
|
});
|
|
53
|
+
/*
|
|
54
|
+
This cleanup function will be called when the user leaves this substep.
|
|
55
|
+
The function might be called either:
|
|
56
|
+
|
|
57
|
+
- by the next focused substep as `latestFocusCleanupFunction`
|
|
58
|
+
(through a separate instance of the function we're currently in), or
|
|
59
|
+
|
|
60
|
+
- by the same substep as `focusCleanupFunction`
|
|
61
|
+
(through the `onMouseUp` handler or the `onBlur` handler).
|
|
62
|
+
*/
|
|
63
|
+
let cleanupFunctionHasBeenRun = false;
|
|
64
|
+
focusCleanupFunction.current = () => {
|
|
65
|
+
if (cleanupFunctionHasBeenRun) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
cleanupFunctionHasBeenRun = true;
|
|
69
|
+
if (funnelState.current !== 'cancelled') {
|
|
70
|
+
FunnelMetrics.funnelSubStepComplete({
|
|
71
|
+
funnelInteractionId,
|
|
72
|
+
subStepSelector,
|
|
73
|
+
subStepNameSelector,
|
|
74
|
+
subStepName: getNameFromSelector(subStepNameSelector),
|
|
75
|
+
stepNumber,
|
|
76
|
+
stepNameSelector,
|
|
77
|
+
subStepAllSelector: getSubStepAllSelector(),
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
latestFocusCleanupFunction.current = focusCleanupFunction.current;
|
|
37
82
|
}
|
|
38
|
-
};
|
|
83
|
+
});
|
|
39
84
|
const onBlur = (event) => {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
85
|
+
var _a;
|
|
86
|
+
if (mousePressed.current) {
|
|
87
|
+
/*
|
|
88
|
+
Ignore blur events that are caused by mouse interaction, because these events don't
|
|
89
|
+
always reflect user intention. For example, clicking the label of an interactive form
|
|
90
|
+
element will briefly blur it.
|
|
91
|
+
The mouse-caused events are handled in the global `onMouseUp` handler of the substep
|
|
92
|
+
context instead.
|
|
93
|
+
*/
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
if (!subStepRef.current || !subStepRef.current.contains(event.relatedTarget) || !event.relatedTarget) {
|
|
97
|
+
isFocusedSubStep.current = false;
|
|
98
|
+
if (funnelInteractionId && subStepId && funnelState.current !== 'cancelled') {
|
|
99
|
+
/*
|
|
100
|
+
Run this substep's own focus cleanup function if another substep
|
|
101
|
+
hasn't already done it for us.
|
|
102
|
+
*/
|
|
103
|
+
(_a = focusCleanupFunction.current) === null || _a === void 0 ? void 0 : _a.call(focusCleanupFunction);
|
|
104
|
+
}
|
|
52
105
|
}
|
|
53
106
|
};
|
|
54
107
|
const funnelSubStepProps = funnelInteractionId
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-funnel.js","sourceRoot":"lib/default/","sources":["internal/analytics/hooks/use-funnel.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC
|
|
1
|
+
{"version":3,"file":"use-funnel.js","sourceRoot":"lib/default/","sources":["internal/analytics/hooks/use-funnel.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\n\nimport { useContext } from 'react';\nimport { FunnelContext, FunnelStepContext, FunnelSubStepContext } from '../context/analytics-context';\nimport {\n DATA_ATTR_FUNNEL_INTERACTION_ID,\n DATA_ATTR_FUNNEL_SUBSTEP,\n getNameFromSelector,\n getSubStepAllSelector,\n} from '../selectors';\nimport { FunnelMetrics } from '../';\n\n/**\n * Custom React Hook to manage and interact with FunnelSubStep.\n * This hook will provide necessary properties and methods required\n * to track and manage interactions with a FunnelSubStep component.\n *\n * The `onFocus` method is used to track the beginning of interaction with the FunnelSubStep.\n * The `onBlur` method is used to track the completion of interaction with the FunnelSubStep.\n * The subStepId is a unique identifier for the funnel sub-step.\n * The subStepRef is a reference to the DOM element of the funnel sub-step.\n */\nexport const useFunnelSubStep = () => {\n const context = useContext(FunnelSubStepContext);\n const { funnelInteractionId, funnelState, latestFocusCleanupFunction } = useFunnel();\n const { stepNumber, stepNameSelector } = useFunnelStep();\n\n const {\n subStepId,\n subStepSelector,\n subStepNameSelector,\n subStepRef,\n isNestedSubStep,\n mousePressed,\n isFocusedSubStep,\n focusCleanupFunction,\n } = context;\n\n if (isNestedSubStep) {\n return context;\n }\n\n const onFocus = async (event: React.FocusEvent<HTMLDivElement>) => {\n const element = event.target;\n // Ignore spurious focus events, such as when the browser window is focused again.\n await new Promise(r => setTimeout(r, 1));\n if (document.activeElement !== element) {\n return;\n }\n\n if (isFocusedSubStep.current) {\n return;\n }\n isFocusedSubStep.current = true;\n\n if (funnelInteractionId && subStepId) {\n /*\n If the previously focused substep has provided a cleanup function, we\n call it here on behalf of the previously focused substep.\n */\n latestFocusCleanupFunction.current?.();\n\n FunnelMetrics.funnelSubStepStart({\n funnelInteractionId,\n subStepSelector,\n subStepNameSelector,\n subStepName: getNameFromSelector(subStepNameSelector),\n stepNumber,\n stepNameSelector,\n subStepAllSelector: getSubStepAllSelector(),\n });\n\n /*\n This cleanup function will be called when the user leaves this substep.\n The function might be called either:\n\n - by the next focused substep as `latestFocusCleanupFunction`\n (through a separate instance of the function we're currently in), or\n\n - by the same substep as `focusCleanupFunction`\n (through the `onMouseUp` handler or the `onBlur` handler).\n */\n let cleanupFunctionHasBeenRun = false;\n focusCleanupFunction.current = () => {\n if (cleanupFunctionHasBeenRun) {\n return;\n }\n cleanupFunctionHasBeenRun = true;\n\n if (funnelState.current !== 'cancelled') {\n FunnelMetrics.funnelSubStepComplete({\n funnelInteractionId,\n subStepSelector,\n subStepNameSelector,\n subStepName: getNameFromSelector(subStepNameSelector),\n stepNumber,\n stepNameSelector,\n subStepAllSelector: getSubStepAllSelector(),\n });\n }\n };\n latestFocusCleanupFunction.current = focusCleanupFunction.current;\n }\n };\n\n const onBlur = (event: React.FocusEvent<HTMLDivElement>) => {\n if (mousePressed.current) {\n /*\n Ignore blur events that are caused by mouse interaction, because these events don't\n always reflect user intention. For example, clicking the label of an interactive form\n element will briefly blur it.\n The mouse-caused events are handled in the global `onMouseUp` handler of the substep\n context instead.\n */\n return;\n }\n\n if (!subStepRef.current || !subStepRef.current.contains(event.relatedTarget) || !event.relatedTarget) {\n isFocusedSubStep.current = false;\n\n if (funnelInteractionId && subStepId && funnelState.current !== 'cancelled') {\n /*\n Run this substep's own focus cleanup function if another substep\n hasn't already done it for us.\n */\n focusCleanupFunction.current?.();\n }\n }\n };\n\n const funnelSubStepProps: Record<string, any> = funnelInteractionId\n ? {\n [DATA_ATTR_FUNNEL_SUBSTEP]: subStepId,\n onFocus,\n onBlur,\n }\n : {};\n\n return { funnelSubStepProps, ...context };\n};\n\n/**\n * Custom React Hook to manage and interact with FunnelStep.\n * This hook will provide necessary properties required to track\n * and manage interactions with a FunnelStep component.\n *\n * The 'data-analytics-funnel-step' property of funnelStepProps is used to track the index of the current step in the funnel.\n * The context contains additional properties of the FunnelStep.\n */\nexport const useFunnelStep = () => {\n const context = useContext(FunnelStepContext);\n return context;\n};\n\n/**\n * Custom React Hook to manage and interact with Funnel.\n * This hook will provide necessary properties required to track\n * and manage interactions with a Funnel component.\n *\n * The 'data-analytics-funnel-interaction-id' property of funnelProps is used to track the unique identifier of the current interaction with the funnel.\n */\nexport const useFunnel = () => {\n const context = useContext(FunnelContext);\n const funnelProps: Record<string, string | number | boolean | undefined> = context.funnelInteractionId\n ? {\n [DATA_ATTR_FUNNEL_INTERACTION_ID]: context.funnelInteractionId,\n }\n : {};\n\n return { funnelProps, ...context };\n};\n"]}
|