@cloudscape-design/components-themeable 3.0.252 → 3.0.254

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.
Files changed (146) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/app-layout/constants.scss +5 -0
  3. package/lib/internal/scss/app-layout/drawer/styles.scss +45 -5
  4. package/lib/internal/scss/app-layout/mobile-toolbar/styles.scss +6 -1
  5. package/lib/internal/scss/app-layout/test-classes/styles.scss +15 -0
  6. package/lib/internal/scss/app-layout/visual-refresh/app-bar.scss +6 -3
  7. package/lib/internal/scss/app-layout/visual-refresh/drawers.scss +151 -0
  8. package/lib/internal/scss/app-layout/visual-refresh/split-panel.scss +1 -1
  9. package/lib/internal/scss/app-layout/visual-refresh/styles.scss +1 -0
  10. package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +31 -30
  11. package/lib/internal/scss/space-between/styles.scss +5 -17
  12. package/lib/internal/template/annotation-context/annotation/styles.css.js +24 -24
  13. package/lib/internal/template/annotation-context/annotation/styles.scoped.css +30 -30
  14. package/lib/internal/template/annotation-context/annotation/styles.selectors.js +24 -24
  15. package/lib/internal/template/app-layout/drawer/index.d.ts +3 -21
  16. package/lib/internal/template/app-layout/drawer/index.d.ts.map +1 -1
  17. package/lib/internal/template/app-layout/drawer/index.js +25 -5
  18. package/lib/internal/template/app-layout/drawer/index.js.map +1 -1
  19. package/lib/internal/template/app-layout/drawer/interfaces.d.ts +84 -0
  20. package/lib/internal/template/app-layout/drawer/interfaces.d.ts.map +1 -0
  21. package/lib/internal/template/app-layout/drawer/interfaces.js +2 -0
  22. package/lib/internal/template/app-layout/drawer/interfaces.js.map +1 -0
  23. package/lib/internal/template/app-layout/drawer/resizable-drawer.d.ts +4 -0
  24. package/lib/internal/template/app-layout/drawer/resizable-drawer.d.ts.map +1 -0
  25. package/lib/internal/template/app-layout/drawer/resizable-drawer.js +51 -0
  26. package/lib/internal/template/app-layout/drawer/resizable-drawer.js.map +1 -0
  27. package/lib/internal/template/app-layout/drawer/styles.css.js +10 -5
  28. package/lib/internal/template/app-layout/drawer/styles.scoped.css +46 -10
  29. package/lib/internal/template/app-layout/drawer/styles.selectors.js +10 -5
  30. package/lib/internal/template/app-layout/index.d.ts.map +1 -1
  31. package/lib/internal/template/app-layout/index.js +142 -17
  32. package/lib/internal/template/app-layout/index.js.map +1 -1
  33. package/lib/internal/template/app-layout/mobile-toolbar/index.d.ts +10 -1
  34. package/lib/internal/template/app-layout/mobile-toolbar/index.d.ts.map +1 -1
  35. package/lib/internal/template/app-layout/mobile-toolbar/index.js +3 -2
  36. package/lib/internal/template/app-layout/mobile-toolbar/index.js.map +1 -1
  37. package/lib/internal/template/app-layout/mobile-toolbar/styles.css.js +5 -4
  38. package/lib/internal/template/app-layout/mobile-toolbar/styles.scoped.css +11 -7
  39. package/lib/internal/template/app-layout/mobile-toolbar/styles.selectors.js +5 -4
  40. package/lib/internal/template/app-layout/notifications/styles.css.js +3 -3
  41. package/lib/internal/template/app-layout/notifications/styles.scoped.css +7 -7
  42. package/lib/internal/template/app-layout/notifications/styles.selectors.js +3 -3
  43. package/lib/internal/template/app-layout/test-classes/styles.css.js +18 -13
  44. package/lib/internal/template/app-layout/test-classes/styles.scoped.css +33 -13
  45. package/lib/internal/template/app-layout/test-classes/styles.selectors.js +18 -13
  46. package/lib/internal/template/app-layout/toggles/index.d.ts.map +1 -1
  47. package/lib/internal/template/app-layout/toggles/index.js +2 -2
  48. package/lib/internal/template/app-layout/toggles/index.js.map +1 -1
  49. package/lib/internal/template/app-layout/toggles/interfaces.d.ts +3 -1
  50. package/lib/internal/template/app-layout/toggles/interfaces.d.ts.map +1 -1
  51. package/lib/internal/template/app-layout/toggles/interfaces.js.map +1 -1
  52. package/lib/internal/template/app-layout/utils/use-drawer-focus-control.d.ts +21 -0
  53. package/lib/internal/template/app-layout/utils/use-drawer-focus-control.d.ts.map +1 -0
  54. package/lib/internal/template/app-layout/utils/use-drawer-focus-control.js +65 -0
  55. package/lib/internal/template/app-layout/utils/use-drawer-focus-control.js.map +1 -0
  56. package/lib/internal/template/app-layout/visual-refresh/app-bar.d.ts.map +1 -1
  57. package/lib/internal/template/app-layout/visual-refresh/app-bar.js +8 -6
  58. package/lib/internal/template/app-layout/visual-refresh/app-bar.js.map +1 -1
  59. package/lib/internal/template/app-layout/visual-refresh/context.d.ts +13 -6
  60. package/lib/internal/template/app-layout/visual-refresh/context.d.ts.map +1 -1
  61. package/lib/internal/template/app-layout/visual-refresh/context.js +107 -52
  62. package/lib/internal/template/app-layout/visual-refresh/context.js.map +1 -1
  63. package/lib/internal/template/app-layout/visual-refresh/drawers.d.ts +47 -0
  64. package/lib/internal/template/app-layout/visual-refresh/drawers.d.ts.map +1 -0
  65. package/lib/internal/template/app-layout/visual-refresh/drawers.js +127 -0
  66. package/lib/internal/template/app-layout/visual-refresh/drawers.js.map +1 -0
  67. package/lib/internal/template/app-layout/visual-refresh/header.js +2 -2
  68. package/lib/internal/template/app-layout/visual-refresh/header.js.map +1 -1
  69. package/lib/internal/template/app-layout/visual-refresh/index.d.ts.map +1 -1
  70. package/lib/internal/template/app-layout/visual-refresh/index.js +3 -1
  71. package/lib/internal/template/app-layout/visual-refresh/index.js.map +1 -1
  72. package/lib/internal/template/app-layout/visual-refresh/layout.d.ts.map +1 -1
  73. package/lib/internal/template/app-layout/visual-refresh/layout.js +5 -42
  74. package/lib/internal/template/app-layout/visual-refresh/layout.js.map +1 -1
  75. package/lib/internal/template/app-layout/visual-refresh/main.d.ts.map +1 -1
  76. package/lib/internal/template/app-layout/visual-refresh/main.js +2 -3
  77. package/lib/internal/template/app-layout/visual-refresh/main.js.map +1 -1
  78. package/lib/internal/template/app-layout/visual-refresh/navigation.js +2 -2
  79. package/lib/internal/template/app-layout/visual-refresh/navigation.js.map +1 -1
  80. package/lib/internal/template/app-layout/visual-refresh/notifications.d.ts.map +1 -1
  81. package/lib/internal/template/app-layout/visual-refresh/notifications.js +2 -2
  82. package/lib/internal/template/app-layout/visual-refresh/notifications.js.map +1 -1
  83. package/lib/internal/template/app-layout/visual-refresh/split-panel.js +2 -2
  84. package/lib/internal/template/app-layout/visual-refresh/split-panel.js.map +1 -1
  85. package/lib/internal/template/app-layout/visual-refresh/styles.css.js +71 -61
  86. package/lib/internal/template/app-layout/visual-refresh/styles.scoped.css +437 -229
  87. package/lib/internal/template/app-layout/visual-refresh/styles.selectors.js +71 -61
  88. package/lib/internal/template/app-layout/visual-refresh/tools.d.ts.map +1 -1
  89. package/lib/internal/template/app-layout/visual-refresh/tools.js +7 -3
  90. package/lib/internal/template/app-layout/visual-refresh/tools.js.map +1 -1
  91. package/lib/internal/template/app-layout/visual-refresh/trigger-button.d.ts +4 -3
  92. package/lib/internal/template/app-layout/visual-refresh/trigger-button.d.ts.map +1 -1
  93. package/lib/internal/template/app-layout/visual-refresh/trigger-button.js +5 -4
  94. package/lib/internal/template/app-layout/visual-refresh/trigger-button.js.map +1 -1
  95. package/lib/internal/template/area-chart/internal.js +1 -1
  96. package/lib/internal/template/area-chart/internal.js.map +1 -1
  97. package/lib/internal/template/flashbar/styles.css.js +45 -45
  98. package/lib/internal/template/flashbar/styles.scoped.css +169 -169
  99. package/lib/internal/template/flashbar/styles.selectors.js +45 -45
  100. package/lib/internal/template/internal/base-component/styles.scoped.css +53 -0
  101. package/lib/internal/template/internal/context/app-layout-context.d.ts +0 -1
  102. package/lib/internal/template/internal/context/app-layout-context.d.ts.map +1 -1
  103. package/lib/internal/template/internal/context/app-layout-context.js.map +1 -1
  104. package/lib/internal/template/internal/context/dynamic-overlap-context.d.ts +3 -0
  105. package/lib/internal/template/internal/context/dynamic-overlap-context.d.ts.map +1 -0
  106. package/lib/internal/template/internal/context/dynamic-overlap-context.js +5 -0
  107. package/lib/internal/template/internal/context/dynamic-overlap-context.js.map +1 -0
  108. package/lib/internal/template/internal/environment.js +1 -1
  109. package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts.map +1 -1
  110. package/lib/internal/template/internal/generated/custom-css-properties/index.js +31 -30
  111. package/lib/internal/template/internal/generated/custom-css-properties/index.js.map +1 -1
  112. package/lib/internal/template/internal/generated/styles/tokens.d.ts +2 -0
  113. package/lib/internal/template/internal/generated/styles/tokens.js +2 -0
  114. package/lib/internal/template/internal/generated/theming/index.cjs +140 -0
  115. package/lib/internal/template/internal/generated/theming/index.js +140 -0
  116. package/lib/internal/template/internal/hooks/use-dynamic-overlap/index.js +7 -7
  117. package/lib/internal/template/internal/hooks/use-dynamic-overlap/index.js.map +1 -1
  118. package/lib/internal/template/mixed-line-bar-chart/internal.js +1 -1
  119. package/lib/internal/template/mixed-line-bar-chart/internal.js.map +1 -1
  120. package/lib/internal/template/pie-chart/index.js +1 -1
  121. package/lib/internal/template/pie-chart/index.js.map +1 -1
  122. package/lib/internal/template/space-between/internal.js +1 -1
  123. package/lib/internal/template/space-between/internal.js.map +1 -1
  124. package/lib/internal/template/space-between/styles.css.js +20 -28
  125. package/lib/internal/template/space-between/styles.scoped.css +37 -101
  126. package/lib/internal/template/space-between/styles.selectors.js +20 -28
  127. package/lib/internal/template/test-utils/dom/button/index.js +1 -6
  128. package/lib/internal/template/test-utils/dom/button/index.js.map +1 -1
  129. package/lib/internal/template/test-utils/dom/flashbar/index.d.ts +5 -1
  130. package/lib/internal/template/test-utils/dom/flashbar/index.js +7 -0
  131. package/lib/internal/template/test-utils/dom/flashbar/index.js.map +1 -1
  132. package/lib/internal/template/test-utils/selectors/flashbar/index.d.ts +5 -1
  133. package/lib/internal/template/test-utils/selectors/flashbar/index.js +7 -0
  134. package/lib/internal/template/test-utils/selectors/flashbar/index.js.map +1 -1
  135. package/lib/internal/template/test-utils/tsconfig.tsbuildinfo +1 -1
  136. package/lib/internal/template/wizard/interfaces.d.ts +4 -0
  137. package/lib/internal/template/wizard/interfaces.d.ts.map +1 -1
  138. package/lib/internal/template/wizard/interfaces.js.map +1 -1
  139. package/lib/internal/template/wizard/wizard-actions.d.ts +2 -1
  140. package/lib/internal/template/wizard/wizard-actions.d.ts.map +1 -1
  141. package/lib/internal/template/wizard/wizard-actions.js +2 -2
  142. package/lib/internal/template/wizard/wizard-actions.js.map +1 -1
  143. package/lib/internal/template/wizard/wizard-form.d.ts.map +1 -1
  144. package/lib/internal/template/wizard/wizard-form.js +1 -1
  145. package/lib/internal/template/wizard/wizard-form.js.map +1 -1
  146. package/package.json +1 -1
@@ -2,66 +2,76 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "appbar": "awsui_appbar_hyvsj_18e3o_93",
6
- "appbar-nav": "awsui_appbar-nav_hyvsj_18e3o_117",
7
- "breadcrumbs": "awsui_breadcrumbs_hyvsj_18e3o_121",
8
- "appbar-tools": "awsui_appbar-tools_hyvsj_18e3o_125",
9
- "has-breadcrumbs": "awsui_has-breadcrumbs_hyvsj_18e3o_166",
10
- "has-notifications-content": "awsui_has-notifications-content_hyvsj_18e3o_173",
11
- "has-header": "awsui_has-header_hyvsj_18e3o_179",
12
- "has-dynamic-overlap-height": "awsui_has-dynamic-overlap-height_hyvsj_18e3o_179",
13
- "content-type-wizard": "awsui_content-type-wizard_hyvsj_18e3o_180",
14
- "content-type-cards": "awsui_content-type-cards_hyvsj_18e3o_183",
15
- "content-type-table": "awsui_content-type-table_hyvsj_18e3o_184",
16
- "has-sticky-background": "awsui_has-sticky-background_hyvsj_18e3o_187",
17
- "background": "awsui_background_hyvsj_18e3o_221",
18
- "notifications-appbar-header": "awsui_notifications-appbar-header_hyvsj_18e3o_224",
19
- "sticky-notifications": "awsui_sticky-notifications_hyvsj_18e3o_237",
20
- "overlap": "awsui_overlap_hyvsj_18e3o_243",
21
- "content": "awsui_content_hyvsj_18e3o_180",
22
- "layout": "awsui_layout_hyvsj_18e3o_335",
23
- "has-max-content-width": "awsui_has-max-content-width_hyvsj_18e3o_418",
24
- "content-type-dashboard": "awsui_content-type-dashboard_hyvsj_18e3o_433",
25
- "is-overlap-disabled": "awsui_is-overlap-disabled_hyvsj_18e3o_460",
26
- "disable-body-scroll": "awsui_disable-body-scroll_hyvsj_18e3o_463",
27
- "has-sticky-notifications": "awsui_has-sticky-notifications_hyvsj_18e3o_467",
28
- "has-split-panel": "awsui_has-split-panel_hyvsj_18e3o_481",
29
- "split-panel-position-bottom": "awsui_split-panel-position-bottom_hyvsj_18e3o_481",
30
- "has-content-gap-left": "awsui_has-content-gap-left_hyvsj_18e3o_493",
31
- "has-content-gap-right": "awsui_has-content-gap-right_hyvsj_18e3o_496",
32
- "block-body-scroll": "awsui_block-body-scroll_hyvsj_18e3o_511",
33
- "container": "awsui_container_hyvsj_18e3o_519",
34
- "disable-content-paddings": "awsui_disable-content-paddings_hyvsj_18e3o_545",
35
- "is-navigation-open": "awsui_is-navigation-open_hyvsj_18e3o_550",
36
- "is-tools-open": "awsui_is-tools-open_hyvsj_18e3o_553",
37
- "is-split-panel-open": "awsui_is-split-panel-open_hyvsj_18e3o_553",
38
- "split-panel-position-side": "awsui_split-panel-position-side_hyvsj_18e3o_553",
39
- "content-type-default": "awsui_content-type-default_hyvsj_18e3o_573",
40
- "content-type-form": "awsui_content-type-form_hyvsj_18e3o_573",
41
- "unfocusable": "awsui_unfocusable_hyvsj_18e3o_614",
42
- "navigation-container": "awsui_navigation-container_hyvsj_18e3o_624",
43
- "show-navigation": "awsui_show-navigation_hyvsj_18e3o_659",
44
- "animating": "awsui_animating_hyvsj_18e3o_681",
45
- "showButtons": "awsui_showButtons_hyvsj_18e3o_1",
46
- "navigation": "awsui_navigation_hyvsj_18e3o_624",
47
- "openNavigation": "awsui_openNavigation_hyvsj_18e3o_1",
48
- "animated-content": "awsui_animated-content_hyvsj_18e3o_742",
49
- "hide-navigation": "awsui_hide-navigation_hyvsj_18e3o_751",
50
- "notifications": "awsui_notifications_hyvsj_18e3o_224",
51
- "split-panel-bottom": "awsui_split-panel-bottom_hyvsj_18e3o_818",
52
- "position-bottom": "awsui_position-bottom_hyvsj_18e3o_864",
53
- "openSplitPanelBottom": "awsui_openSplitPanelBottom_hyvsj_18e3o_1",
54
- "split-panel-side": "awsui_split-panel-side_hyvsj_18e3o_893",
55
- "position-side": "awsui_position-side_hyvsj_18e3o_921",
56
- "openSplitPanelSide": "awsui_openSplitPanelSide_hyvsj_18e3o_1",
57
- "tools-container": "awsui_tools-container_hyvsj_18e3o_958",
58
- "tools": "awsui_tools_hyvsj_18e3o_958",
59
- "openTools": "awsui_openTools_hyvsj_18e3o_1",
60
- "has-tools-form-persistence": "awsui_has-tools-form-persistence_hyvsj_18e3o_1043",
61
- "hide-tools": "awsui_hide-tools_hyvsj_18e3o_1053",
62
- "show-tools": "awsui_show-tools_hyvsj_18e3o_1065",
63
- "has-tools-form": "awsui_has-tools-form_hyvsj_18e3o_1043",
64
- "trigger": "awsui_trigger_hyvsj_18e3o_1132",
65
- "selected": "awsui_selected_hyvsj_18e3o_1171"
5
+ "appbar": "awsui_appbar_hyvsj_ttvdf_93",
6
+ "appbar-nav": "awsui_appbar-nav_hyvsj_ttvdf_117",
7
+ "breadcrumbs": "awsui_breadcrumbs_hyvsj_ttvdf_121",
8
+ "appbar-tools": "awsui_appbar-tools_hyvsj_ttvdf_125",
9
+ "drawers-mobile-triggers-container": "awsui_drawers-mobile-triggers-container_hyvsj_ttvdf_126",
10
+ "has-breadcrumbs": "awsui_has-breadcrumbs_hyvsj_ttvdf_167",
11
+ "has-notifications-content": "awsui_has-notifications-content_hyvsj_ttvdf_175",
12
+ "has-header": "awsui_has-header_hyvsj_ttvdf_181",
13
+ "has-dynamic-overlap-height": "awsui_has-dynamic-overlap-height_hyvsj_ttvdf_181",
14
+ "content-type-wizard": "awsui_content-type-wizard_hyvsj_ttvdf_182",
15
+ "content-type-cards": "awsui_content-type-cards_hyvsj_ttvdf_185",
16
+ "content-type-table": "awsui_content-type-table_hyvsj_ttvdf_186",
17
+ "has-sticky-background": "awsui_has-sticky-background_hyvsj_ttvdf_189",
18
+ "background": "awsui_background_hyvsj_ttvdf_224",
19
+ "notifications-appbar-header": "awsui_notifications-appbar-header_hyvsj_ttvdf_227",
20
+ "sticky-notifications": "awsui_sticky-notifications_hyvsj_ttvdf_240",
21
+ "overlap": "awsui_overlap_hyvsj_ttvdf_246",
22
+ "drawers-container": "awsui_drawers-container_hyvsj_ttvdf_270",
23
+ "has-open-drawer": "awsui_has-open-drawer_hyvsj_ttvdf_282",
24
+ "drawers-desktop-triggers-container": "awsui_drawers-desktop-triggers-container_hyvsj_ttvdf_312",
25
+ "has-multiple-triggers": "awsui_has-multiple-triggers_hyvsj_ttvdf_330",
26
+ "drawers-trigger-content": "awsui_drawers-trigger-content_hyvsj_ttvdf_362",
27
+ "drawer": "awsui_drawer_hyvsj_ttvdf_126",
28
+ "drawer-close-button": "awsui_drawer-close-button_hyvsj_ttvdf_406",
29
+ "drawer-content": "awsui_drawer-content_hyvsj_ttvdf_410",
30
+ "is-drawer-open": "awsui_is-drawer-open_hyvsj_ttvdf_415",
31
+ "content": "awsui_content_hyvsj_ttvdf_182",
32
+ "layout": "awsui_layout_hyvsj_ttvdf_517",
33
+ "has-max-content-width": "awsui_has-max-content-width_hyvsj_ttvdf_600",
34
+ "content-type-dashboard": "awsui_content-type-dashboard_hyvsj_ttvdf_615",
35
+ "is-overlap-disabled": "awsui_is-overlap-disabled_hyvsj_ttvdf_642",
36
+ "disable-body-scroll": "awsui_disable-body-scroll_hyvsj_ttvdf_645",
37
+ "has-sticky-notifications": "awsui_has-sticky-notifications_hyvsj_ttvdf_649",
38
+ "has-split-panel": "awsui_has-split-panel_hyvsj_ttvdf_663",
39
+ "split-panel-position-bottom": "awsui_split-panel-position-bottom_hyvsj_ttvdf_663",
40
+ "has-content-gap-left": "awsui_has-content-gap-left_hyvsj_ttvdf_675",
41
+ "has-content-gap-right": "awsui_has-content-gap-right_hyvsj_ttvdf_678",
42
+ "block-body-scroll": "awsui_block-body-scroll_hyvsj_ttvdf_693",
43
+ "container": "awsui_container_hyvsj_ttvdf_701",
44
+ "disable-content-paddings": "awsui_disable-content-paddings_hyvsj_ttvdf_727",
45
+ "is-navigation-open": "awsui_is-navigation-open_hyvsj_ttvdf_732",
46
+ "is-tools-open": "awsui_is-tools-open_hyvsj_ttvdf_735",
47
+ "is-split-panel-open": "awsui_is-split-panel-open_hyvsj_ttvdf_735",
48
+ "split-panel-position-side": "awsui_split-panel-position-side_hyvsj_ttvdf_735",
49
+ "content-type-default": "awsui_content-type-default_hyvsj_ttvdf_755",
50
+ "content-type-form": "awsui_content-type-form_hyvsj_ttvdf_755",
51
+ "unfocusable": "awsui_unfocusable_hyvsj_ttvdf_796",
52
+ "navigation-container": "awsui_navigation-container_hyvsj_ttvdf_806",
53
+ "show-navigation": "awsui_show-navigation_hyvsj_ttvdf_841",
54
+ "animating": "awsui_animating_hyvsj_ttvdf_863",
55
+ "showButtons": "awsui_showButtons_hyvsj_ttvdf_1",
56
+ "navigation": "awsui_navigation_hyvsj_ttvdf_806",
57
+ "openNavigation": "awsui_openNavigation_hyvsj_ttvdf_1",
58
+ "animated-content": "awsui_animated-content_hyvsj_ttvdf_924",
59
+ "hide-navigation": "awsui_hide-navigation_hyvsj_ttvdf_933",
60
+ "notifications": "awsui_notifications_hyvsj_ttvdf_227",
61
+ "split-panel-bottom": "awsui_split-panel-bottom_hyvsj_ttvdf_1000",
62
+ "position-bottom": "awsui_position-bottom_hyvsj_ttvdf_1046",
63
+ "openSplitPanelBottom": "awsui_openSplitPanelBottom_hyvsj_ttvdf_1",
64
+ "split-panel-side": "awsui_split-panel-side_hyvsj_ttvdf_1075",
65
+ "position-side": "awsui_position-side_hyvsj_ttvdf_1103",
66
+ "openSplitPanelSide": "awsui_openSplitPanelSide_hyvsj_ttvdf_1",
67
+ "tools-container": "awsui_tools-container_hyvsj_ttvdf_1140",
68
+ "tools": "awsui_tools_hyvsj_ttvdf_1140",
69
+ "openTools": "awsui_openTools_hyvsj_ttvdf_1",
70
+ "has-tools-form-persistence": "awsui_has-tools-form-persistence_hyvsj_ttvdf_1225",
71
+ "hide-tools": "awsui_hide-tools_hyvsj_ttvdf_1235",
72
+ "show-tools": "awsui_show-tools_hyvsj_ttvdf_1247",
73
+ "has-tools-form": "awsui_has-tools-form_hyvsj_ttvdf_1225",
74
+ "trigger": "awsui_trigger_hyvsj_ttvdf_1314",
75
+ "selected": "awsui_selected_hyvsj_ttvdf_1353"
66
76
  };
67
77
 
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"lib/default/","sources":["app-layout/visual-refresh/tools.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,UAAU,UAAU;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,QAAQ,EAAE,EAAE,UAAU,sBA6HrD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,OAAO,WAU/E"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"lib/default/","sources":["app-layout/visual-refresh/tools.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,UAAU,UAAU;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,QAAQ,EAAE,EAAE,UAAU,sBAiIrD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,OAAO,WAU/E"}
@@ -19,14 +19,18 @@ import customCssProps from '../../internal/generated/custom-css-properties';
19
19
  * split panel in large viewports;
20
20
  */
21
21
  export default function Tools({ children }) {
22
- const { ariaLabels, handleSplitPanelClick, handleToolsClick, hasDefaultToolsWidth, isNavigationOpen, isMobile, isSplitPanelOpen, isToolsOpen, splitPanelDisplayed, tools, toolsHide, toolsWidth, isAnyPanelOpen, navigationHide, toolsRefs, loseToolsFocus, splitPanelPosition, splitPanelToggle, splitPanelRefs, } = useAppLayoutInternals();
22
+ const { ariaLabels, drawers, handleSplitPanelClick, handleToolsClick, hasDefaultToolsWidth, hasDrawerViewportOverlay, isMobile, isNavigationOpen, isSplitPanelOpen, isToolsOpen, loseToolsFocus, navigationHide, splitPanelDisplayed, splitPanelPosition, splitPanelRefs, splitPanelToggle, tools, toolsHide, toolsRefs, toolsWidth, } = useAppLayoutInternals();
23
23
  const hasSplitPanel = getSplitPanelStatus(splitPanelDisplayed, splitPanelPosition);
24
24
  const hasToolsForm = getToolsFormStatus(hasSplitPanel, isMobile, isSplitPanelOpen, isToolsOpen, toolsHide);
25
25
  const hasToolsFormPersistence = getToolsFormPersistence(hasSplitPanel, isSplitPanelOpen, isToolsOpen, toolsHide);
26
- if (toolsHide && !hasSplitPanel) {
26
+ const isUnfocusable = hasDrawerViewportOverlay && isNavigationOpen && !navigationHide;
27
+ /**
28
+ * If the drawers property is defined the Tools and SplitPanel will be mounted and rendered
29
+ * by the Drawers component.
30
+ */
31
+ if ((toolsHide && !hasSplitPanel) || drawers) {
27
32
  return null;
28
33
  }
29
- const isUnfocusable = isMobile && isAnyPanelOpen && isNavigationOpen && !navigationHide;
30
34
  return (React.createElement(Transition, { in: isToolsOpen !== null && isToolsOpen !== void 0 ? isToolsOpen : false }, (state, transitionEventsRef) => {
31
35
  var _a, _b, _c;
32
36
  return (React.createElement("div", { className: clsx(styles['tools-container'], {
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"lib/default/","sources":["app-layout/visual-refresh/tools.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\nimport { InternalButton } from '../../button/internal';\nimport { useAppLayoutInternals } from './context';\nimport TriggerButton from './trigger-button';\nimport styles from './styles.css.js';\nimport splitPanelStyles from '../../split-panel/styles.css.js';\nimport testutilStyles from '../test-classes/styles.css.js';\nimport { Transition } from '../../internal/components/transition';\nimport customCssProps from '../../internal/generated/custom-css-properties';\n\ninterface ToolsProps {\n children: React.ReactNode;\n}\n\n/**\n * The Tools component consists of the following elements:\n * the container, or root element, that sits as a direct child to the Layout grid definition;\n * the split panel, which exists only if there is a split panel in side position;\n * the tools, or drawer, that contains the hide tools form and the children passed through the API;\n * the show tools form that contains the triggers for both the drawer and the\n * split panel in large viewports;\n */\nexport default function Tools({ children }: ToolsProps) {\n const {\n ariaLabels,\n handleSplitPanelClick,\n handleToolsClick,\n hasDefaultToolsWidth,\n isNavigationOpen,\n isMobile,\n isSplitPanelOpen,\n isToolsOpen,\n splitPanelDisplayed,\n tools,\n toolsHide,\n toolsWidth,\n isAnyPanelOpen,\n navigationHide,\n toolsRefs,\n loseToolsFocus,\n splitPanelPosition,\n splitPanelToggle,\n splitPanelRefs,\n } = useAppLayoutInternals();\n\n const hasSplitPanel = getSplitPanelStatus(splitPanelDisplayed, splitPanelPosition);\n const hasToolsForm = getToolsFormStatus(hasSplitPanel, isMobile, isSplitPanelOpen, isToolsOpen, toolsHide);\n const hasToolsFormPersistence = getToolsFormPersistence(hasSplitPanel, isSplitPanelOpen, isToolsOpen, toolsHide);\n\n if (toolsHide && !hasSplitPanel) {\n return null;\n }\n\n const isUnfocusable = isMobile && isAnyPanelOpen && isNavigationOpen && !navigationHide;\n\n return (\n <Transition in={isToolsOpen ?? false}>\n {(state, transitionEventsRef) => (\n <div\n className={clsx(styles['tools-container'], {\n [testutilStyles['drawer-closed']]: !isToolsOpen,\n [styles.unfocusable]: isUnfocusable,\n })}\n style={{\n [customCssProps.toolsAnimationStartingOpacity]: `${hasSplitPanel && isSplitPanelOpen ? 1 : 0}`,\n // Overwrite the default tools width (depends on breakpoints) only when the `toolsWidth` property has been set.\n [customCssProps.toolsWidth]: hasDefaultToolsWidth ? '' : `${toolsWidth}px`,\n }}\n onBlur={e => {\n if (!e.relatedTarget || !e.currentTarget.contains(e.relatedTarget)) {\n loseToolsFocus();\n }\n }}\n >\n {children}\n\n {!toolsHide && (\n <aside\n aria-hidden={!isToolsOpen ? true : false}\n aria-label={ariaLabels?.tools ?? undefined}\n className={clsx(\n styles.tools,\n {\n [styles.animating]: state === 'entering',\n [styles['has-tools-form-persistence']]: hasToolsFormPersistence,\n [styles['is-tools-open']]: isToolsOpen,\n },\n testutilStyles.tools\n )}\n ref={state !== 'exiting' ? transitionEventsRef : undefined}\n >\n <div className={clsx(styles['animated-content'])}>\n <div className={clsx(styles['hide-tools'])}>\n <InternalButton\n ariaLabel={ariaLabels?.toolsClose ?? undefined}\n iconName={isMobile ? 'close' : 'angle-right'}\n onClick={() => handleToolsClick(false)}\n variant=\"icon\"\n formAction=\"none\"\n className={testutilStyles['tools-close']}\n ref={toolsRefs.close}\n />\n </div>\n\n {tools}\n </div>\n </aside>\n )}\n\n {!isMobile && (\n <aside\n aria-hidden={!hasToolsForm ? true : false}\n aria-label={ariaLabels?.tools ?? undefined}\n className={clsx(styles['show-tools'], {\n [styles.animating]: state === 'exiting',\n [styles['has-tools-form']]: hasToolsForm,\n [styles['has-tools-form-persistence']]: hasToolsFormPersistence,\n })}\n ref={state === 'exiting' ? transitionEventsRef : undefined}\n >\n {!toolsHide && (\n <TriggerButton\n ariaLabel={ariaLabels?.toolsToggle}\n iconName=\"status-info\"\n onClick={() => handleToolsClick(!isToolsOpen)}\n selected={hasSplitPanel && isToolsOpen}\n className={testutilStyles['tools-toggle']}\n ref={toolsRefs.toggle}\n />\n )}\n\n {hasSplitPanel && splitPanelToggle.displayed && (\n <TriggerButton\n ariaLabel={splitPanelToggle.ariaLabel}\n iconName=\"view-vertical\"\n onClick={() => handleSplitPanelClick()}\n selected={hasSplitPanel && isSplitPanelOpen}\n className={splitPanelStyles['open-button']}\n ref={splitPanelRefs.toggle}\n />\n )}\n </aside>\n )}\n </div>\n )}\n </Transition>\n );\n}\n\n/**\n * Determine the default state of the Tools component. Mobile viewports should be\n * closed by default under all circumstances. If the toolsOpen prop has not been\n * set then it should be closed as well. Otherwise, default to the toolsOpen prop.\n */\nexport function getToolsDefaultState(isMobile: boolean, stateFromProps?: boolean) {\n let isToolsOpen;\n\n if (isMobile || stateFromProps === undefined) {\n isToolsOpen = false;\n } else {\n isToolsOpen = stateFromProps;\n }\n\n return isToolsOpen;\n}\n\n/**\n * This simple function returns the presence of the split panel as a child of the\n * Tools component. It must exist and be in side position.\n */\nfunction getSplitPanelStatus(splitPanelDisplayed: boolean, splitPanelPosition: string) {\n return splitPanelDisplayed && splitPanelPosition === 'side' ? true : false;\n}\n\n/**\n * By default the Tools form is styled as display: none; This behavior should\n * be unchanged in mobile viewports where the Tools form is always suppressed.\n * In large viewports, however the Tools form and its corresponding buttons\n * should be present in the UI under the below circumstances.\n */\nfunction getToolsFormStatus(\n hasSplitPanel: boolean,\n isMobile: boolean,\n isSplitPanelOpen?: boolean,\n isToolsOpen?: boolean,\n toolsHide?: boolean\n) {\n let hasToolsForm = false;\n\n if (!isMobile) {\n // Both the Split Panel and Tools button are needed\n if (hasSplitPanel && !toolsHide) {\n hasToolsForm = true;\n }\n\n // The Split Panel button is needed\n if (hasSplitPanel && !isSplitPanelOpen && toolsHide) {\n hasToolsForm = true;\n }\n\n // The Tools button is needed\n if (!hasSplitPanel && !toolsHide && !isToolsOpen) {\n hasToolsForm = true;\n }\n }\n\n return hasToolsForm;\n}\n\n/**\n * Under two scenarios the Tools form that contains the triggers\n * for the Tools content and the Split Panel may be persistent\n * in the UI (as opposed to disappearing when one of the drawers\n * is open). This will also add a white background as opposed to the\n * default transparent background. The buttons will present and in a\n * selected / not selected state.\n */\nfunction getToolsFormPersistence(\n hasSplitPanel: boolean,\n isSplitPanelOpen?: boolean,\n isToolsOpen?: boolean,\n toolsHide?: boolean\n) {\n let hasToolsFormPersistence = false;\n\n // Both Tools and Split Panel exist and one or both is open\n if (hasSplitPanel && !toolsHide && (isSplitPanelOpen || isToolsOpen)) {\n hasToolsFormPersistence = true;\n }\n\n return hasToolsFormPersistence;\n}\n"]}
1
+ {"version":3,"file":"tools.js","sourceRoot":"lib/default/","sources":["app-layout/visual-refresh/tools.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\nimport { InternalButton } from '../../button/internal';\nimport { useAppLayoutInternals } from './context';\nimport TriggerButton from './trigger-button';\nimport styles from './styles.css.js';\nimport splitPanelStyles from '../../split-panel/styles.css.js';\nimport testutilStyles from '../test-classes/styles.css.js';\nimport { Transition } from '../../internal/components/transition';\nimport customCssProps from '../../internal/generated/custom-css-properties';\n\ninterface ToolsProps {\n children: React.ReactNode;\n}\n\n/**\n * The Tools component consists of the following elements:\n * the container, or root element, that sits as a direct child to the Layout grid definition;\n * the split panel, which exists only if there is a split panel in side position;\n * the tools, or drawer, that contains the hide tools form and the children passed through the API;\n * the show tools form that contains the triggers for both the drawer and the\n * split panel in large viewports;\n */\nexport default function Tools({ children }: ToolsProps) {\n const {\n ariaLabels,\n drawers,\n handleSplitPanelClick,\n handleToolsClick,\n hasDefaultToolsWidth,\n hasDrawerViewportOverlay,\n isMobile,\n isNavigationOpen,\n isSplitPanelOpen,\n isToolsOpen,\n loseToolsFocus,\n navigationHide,\n splitPanelDisplayed,\n splitPanelPosition,\n splitPanelRefs,\n splitPanelToggle,\n tools,\n toolsHide,\n toolsRefs,\n toolsWidth,\n } = useAppLayoutInternals();\n\n const hasSplitPanel = getSplitPanelStatus(splitPanelDisplayed, splitPanelPosition);\n const hasToolsForm = getToolsFormStatus(hasSplitPanel, isMobile, isSplitPanelOpen, isToolsOpen, toolsHide);\n const hasToolsFormPersistence = getToolsFormPersistence(hasSplitPanel, isSplitPanelOpen, isToolsOpen, toolsHide);\n const isUnfocusable = hasDrawerViewportOverlay && isNavigationOpen && !navigationHide;\n\n /**\n * If the drawers property is defined the Tools and SplitPanel will be mounted and rendered\n * by the Drawers component.\n */\n if ((toolsHide && !hasSplitPanel) || drawers) {\n return null;\n }\n\n return (\n <Transition in={isToolsOpen ?? false}>\n {(state, transitionEventsRef) => (\n <div\n className={clsx(styles['tools-container'], {\n [testutilStyles['drawer-closed']]: !isToolsOpen,\n [styles.unfocusable]: isUnfocusable,\n })}\n style={{\n [customCssProps.toolsAnimationStartingOpacity]: `${hasSplitPanel && isSplitPanelOpen ? 1 : 0}`,\n // Overwrite the default tools width (depends on breakpoints) only when the `toolsWidth` property has been set.\n [customCssProps.toolsWidth]: hasDefaultToolsWidth ? '' : `${toolsWidth}px`,\n }}\n onBlur={e => {\n if (!e.relatedTarget || !e.currentTarget.contains(e.relatedTarget)) {\n loseToolsFocus();\n }\n }}\n >\n {children}\n\n {!toolsHide && (\n <aside\n aria-hidden={!isToolsOpen ? true : false}\n aria-label={ariaLabels?.tools ?? undefined}\n className={clsx(\n styles.tools,\n {\n [styles.animating]: state === 'entering',\n [styles['has-tools-form-persistence']]: hasToolsFormPersistence,\n [styles['is-tools-open']]: isToolsOpen,\n },\n testutilStyles.tools\n )}\n ref={state !== 'exiting' ? transitionEventsRef : undefined}\n >\n <div className={clsx(styles['animated-content'])}>\n <div className={clsx(styles['hide-tools'])}>\n <InternalButton\n ariaLabel={ariaLabels?.toolsClose ?? undefined}\n iconName={isMobile ? 'close' : 'angle-right'}\n onClick={() => handleToolsClick(false)}\n variant=\"icon\"\n formAction=\"none\"\n className={testutilStyles['tools-close']}\n ref={toolsRefs.close}\n />\n </div>\n\n {tools}\n </div>\n </aside>\n )}\n\n {!isMobile && (\n <aside\n aria-hidden={!hasToolsForm ? true : false}\n aria-label={ariaLabels?.tools ?? undefined}\n className={clsx(styles['show-tools'], {\n [styles.animating]: state === 'exiting',\n [styles['has-tools-form']]: hasToolsForm,\n [styles['has-tools-form-persistence']]: hasToolsFormPersistence,\n })}\n ref={state === 'exiting' ? transitionEventsRef : undefined}\n >\n {!toolsHide && (\n <TriggerButton\n ariaLabel={ariaLabels?.toolsToggle}\n iconName=\"status-info\"\n onClick={() => handleToolsClick(!isToolsOpen)}\n selected={hasSplitPanel && isToolsOpen}\n className={testutilStyles['tools-toggle']}\n ref={toolsRefs.toggle}\n />\n )}\n\n {hasSplitPanel && splitPanelToggle.displayed && (\n <TriggerButton\n ariaLabel={splitPanelToggle.ariaLabel}\n iconName=\"view-vertical\"\n onClick={() => handleSplitPanelClick()}\n selected={hasSplitPanel && isSplitPanelOpen}\n className={splitPanelStyles['open-button']}\n ref={splitPanelRefs.toggle}\n />\n )}\n </aside>\n )}\n </div>\n )}\n </Transition>\n );\n}\n\n/**\n * Determine the default state of the Tools component. Mobile viewports should be\n * closed by default under all circumstances. If the toolsOpen prop has not been\n * set then it should be closed as well. Otherwise, default to the toolsOpen prop.\n */\nexport function getToolsDefaultState(isMobile: boolean, stateFromProps?: boolean) {\n let isToolsOpen;\n\n if (isMobile || stateFromProps === undefined) {\n isToolsOpen = false;\n } else {\n isToolsOpen = stateFromProps;\n }\n\n return isToolsOpen;\n}\n\n/**\n * This simple function returns the presence of the split panel as a child of the\n * Tools component. It must exist and be in side position.\n */\nfunction getSplitPanelStatus(splitPanelDisplayed: boolean, splitPanelPosition: string) {\n return splitPanelDisplayed && splitPanelPosition === 'side' ? true : false;\n}\n\n/**\n * By default the Tools form is styled as display: none; This behavior should\n * be unchanged in mobile viewports where the Tools form is always suppressed.\n * In large viewports, however the Tools form and its corresponding buttons\n * should be present in the UI under the below circumstances.\n */\nfunction getToolsFormStatus(\n hasSplitPanel: boolean,\n isMobile: boolean,\n isSplitPanelOpen?: boolean,\n isToolsOpen?: boolean,\n toolsHide?: boolean\n) {\n let hasToolsForm = false;\n\n if (!isMobile) {\n // Both the Split Panel and Tools button are needed\n if (hasSplitPanel && !toolsHide) {\n hasToolsForm = true;\n }\n\n // The Split Panel button is needed\n if (hasSplitPanel && !isSplitPanelOpen && toolsHide) {\n hasToolsForm = true;\n }\n\n // The Tools button is needed\n if (!hasSplitPanel && !toolsHide && !isToolsOpen) {\n hasToolsForm = true;\n }\n }\n\n return hasToolsForm;\n}\n\n/**\n * Under two scenarios the Tools form that contains the triggers\n * for the Tools content and the Split Panel may be persistent\n * in the UI (as opposed to disappearing when one of the drawers\n * is open). This will also add a white background as opposed to the\n * default transparent background. The buttons will present and in a\n * selected / not selected state.\n */\nfunction getToolsFormPersistence(\n hasSplitPanel: boolean,\n isSplitPanelOpen?: boolean,\n isToolsOpen?: boolean,\n toolsHide?: boolean\n) {\n let hasToolsFormPersistence = false;\n\n // Both Tools and Split Panel exist and one or both is open\n if (hasSplitPanel && !toolsHide && (isSplitPanelOpen || isToolsOpen)) {\n hasToolsFormPersistence = true;\n }\n\n return hasToolsFormPersistence;\n}\n"]}
@@ -1,12 +1,13 @@
1
1
  import React from 'react';
2
2
  import { ButtonProps } from '../../button/interfaces';
3
3
  import { IconProps } from '../../icon/interfaces';
4
- interface TriggerButtonProps {
4
+ export interface TriggerButtonProps {
5
5
  ariaLabel?: string;
6
- iconName: IconProps.Name;
6
+ className?: string;
7
+ iconName?: IconProps.Name;
8
+ iconSvg?: React.ReactNode;
7
9
  onClick: React.MouseEventHandler<HTMLButtonElement>;
8
10
  selected?: boolean;
9
- className?: string;
10
11
  }
11
12
  declare const _default: React.ForwardRefExoticComponent<TriggerButtonProps & React.RefAttributes<ButtonProps.Ref>>;
12
13
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"trigger-button.d.ts","sourceRoot":"lib/default/","sources":["app-layout/visual-refresh/trigger-button.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,UAAU,kBAAkB;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC;IACzB,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;;AA2BD,wBAA+C"}
1
+ {"version":3,"file":"trigger-button.d.ts","sourceRoot":"lib/default/","sources":["app-layout/visual-refresh/trigger-button.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;;AA4BD,wBAA+C"}
@@ -4,11 +4,12 @@ import React from 'react';
4
4
  import clsx from 'clsx';
5
5
  import Icon from '../../icon/internal';
6
6
  import styles from './styles.css.js';
7
- function TriggerButton({ ariaLabel, iconName, onClick, selected = false, className }, ref) {
8
- return (React.createElement("button", { "aria-label": ariaLabel, "aria-expanded": false, "aria-haspopup": true, className: clsx(styles.trigger, {
7
+ function TriggerButton({ ariaLabel, className, iconName, iconSvg, onClick, selected = false }, ref) {
8
+ return (React.createElement("button", { "aria-expanded": false, "aria-haspopup": true, "aria-label": ariaLabel, className: clsx(styles.trigger, {
9
9
  [styles.selected]: selected,
10
- }, className), onClick: onClick, type: "button", ref: ref },
11
- React.createElement(Icon, { name: iconName })));
10
+ }, className), onClick: onClick, ref: ref, type: "button" },
11
+ iconName && !iconSvg && React.createElement(Icon, { name: iconName }),
12
+ iconSvg));
12
13
  }
13
14
  export default React.forwardRef(TriggerButton);
14
15
  //# sourceMappingURL=trigger-button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trigger-button.js","sourceRoot":"lib/default/","sources":["app-layout/visual-refresh/trigger-button.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,qBAAqB,CAAC;AACvC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAYrC,SAAS,aAAa,CACpB,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,GAAG,KAAK,EAAE,SAAS,EAAsB,EACjF,GAA+B;IAE/B,OAAO,CACL,8CACc,SAAS,mBACN,KAAK,mBACL,IAAI,EACnB,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,OAAO,EACd;YACE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;SAC5B,EACD,SAAS,CACV,EACD,OAAO,EAAE,OAAO,EAChB,IAAI,EAAC,QAAQ,EACb,GAAG,EAAE,GAAmC;QAExC,oBAAC,IAAI,IAAC,IAAI,EAAE,QAAQ,GAAI,CACjB,CACV,CAAC;AACJ,CAAC;AAED,eAAe,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\nimport Icon from '../../icon/internal';\nimport styles from './styles.css.js';\nimport { ButtonProps } from '../../button/interfaces';\nimport { IconProps } from '../../icon/interfaces';\n\ninterface TriggerButtonProps {\n ariaLabel?: string;\n iconName: IconProps.Name;\n onClick: React.MouseEventHandler<HTMLButtonElement>;\n selected?: boolean;\n className?: string;\n}\n\nfunction TriggerButton(\n { ariaLabel, iconName, onClick, selected = false, className }: TriggerButtonProps,\n ref: React.Ref<ButtonProps.Ref>\n) {\n return (\n <button\n aria-label={ariaLabel}\n aria-expanded={false}\n aria-haspopup={true}\n className={clsx(\n styles.trigger,\n {\n [styles.selected]: selected,\n },\n className\n )}\n onClick={onClick}\n type=\"button\"\n ref={ref as React.Ref<HTMLButtonElement>}\n >\n <Icon name={iconName} />\n </button>\n );\n}\n\nexport default React.forwardRef(TriggerButton);\n"]}
1
+ {"version":3,"file":"trigger-button.js","sourceRoot":"lib/default/","sources":["app-layout/visual-refresh/trigger-button.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,qBAAqB,CAAC;AACvC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAarC,SAAS,aAAa,CACpB,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,GAAG,KAAK,EAAsB,EAC1F,GAA+B;IAE/B,OAAO,CACL,iDACiB,KAAK,mBACL,IAAI,gBACP,SAAS,EACrB,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,OAAO,EACd;YACE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;SAC5B,EACD,SAAS,CACV,EACD,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAmC,EACxC,IAAI,EAAC,QAAQ;QAEZ,QAAQ,IAAI,CAAC,OAAO,IAAI,oBAAC,IAAI,IAAC,IAAI,EAAE,QAAQ,GAAI;QAChD,OAAO,CACD,CACV,CAAC;AACJ,CAAC;AAED,eAAe,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\nimport Icon from '../../icon/internal';\nimport styles from './styles.css.js';\nimport { ButtonProps } from '../../button/interfaces';\nimport { IconProps } from '../../icon/interfaces';\n\nexport interface TriggerButtonProps {\n ariaLabel?: string;\n className?: string;\n iconName?: IconProps.Name;\n iconSvg?: React.ReactNode;\n onClick: React.MouseEventHandler<HTMLButtonElement>;\n selected?: boolean;\n}\n\nfunction TriggerButton(\n { ariaLabel, className, iconName, iconSvg, onClick, selected = false }: TriggerButtonProps,\n ref: React.Ref<ButtonProps.Ref>\n) {\n return (\n <button\n aria-expanded={false}\n aria-haspopup={true}\n aria-label={ariaLabel}\n className={clsx(\n styles.trigger,\n {\n [styles.selected]: selected,\n },\n className\n )}\n onClick={onClick}\n ref={ref as React.Ref<HTMLButtonElement>}\n type=\"button\"\n >\n {iconName && !iconSvg && <Icon name={iconName} />}\n {iconSvg}\n </button>\n );\n}\n\nexport default React.forwardRef(TriggerButton);\n"]}
@@ -56,7 +56,7 @@ export default function InternalAreaChart(_a) {
56
56
  visibleData: visibleSeries,
57
57
  statusType,
58
58
  });
59
- const showFilters = statusType === 'finished' && (!isEmpty || isNoMatch);
59
+ const showFilters = statusType === 'finished' && (!isEmpty || isNoMatch) && (additionalFilters || !hideFilter);
60
60
  const showLegend = !hideLegend && !isEmpty && statusType === 'finished';
61
61
  const reserveLegendSpace = !showChart && !hideLegend;
62
62
  const reserveFilterSpace = !showChart && !isNoMatch && (!hideFilter || additionalFilters);
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"lib/default/","sources":["area-chart/internal.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { isDevelopment } from '../internal/is-development';\nimport { getBaseProps } from '../internal/base-component';\nimport InternalBox from '../box/internal';\nimport ChartStatusContainer, { getChartStatus } from '../internal/components/chart-status-container';\n\nimport AreaChartFilter from './elements/area-chart-filter';\nimport AreaChartLegend from './elements/area-chart-legend';\nimport { AreaChartProps } from './interfaces';\nimport InternalSpaceBetween from '../space-between/internal';\nimport ChartContainer from './chart-container';\nimport cartesianStyles from '../internal/components/cartesian-chart/styles.css.js';\nimport styles from './styles.css.js';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport useChartModel from './model/use-chart-model';\nimport useFilterProps from './model/use-filter-props';\nimport useHighlightProps from './model/use-highlight-props';\nimport { isSeriesValid } from './model/utils';\nimport { warnOnce } from '../internal/logging';\nimport { nodeContains } from '../internal/utils/dom';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport { SomeRequired } from '../internal/types';\n\ntype InternalAreaChartProps<T extends AreaChartProps.DataTypes> = SomeRequired<\n AreaChartProps<T>,\n 'height' | 'xScaleType' | 'yScaleType' | 'statusType' | 'detailPopoverSize' | 'i18nStrings'\n> &\n InternalBaseComponentProps;\n\nexport default function InternalAreaChart<T extends AreaChartProps.DataTypes>({\n height,\n xScaleType,\n yScaleType,\n xDomain,\n yDomain,\n highlightedSeries: controlledHighlightedSeries,\n visibleSeries: controlledVisibleSeries,\n series: externalSeries,\n onFilterChange: controlledOnVisibleChange,\n onHighlightChange: controlledOnHighlightChange,\n i18nStrings,\n ariaLabel,\n ariaLabelledby,\n ariaDescription,\n xTitle,\n yTitle,\n hideFilter,\n additionalFilters,\n hideLegend,\n legendTitle,\n statusType,\n detailPopoverSize,\n empty,\n noMatch,\n errorText,\n loadingText,\n recoveryText,\n onRecoveryClick,\n __internalRootRef = null,\n ...props\n}: InternalAreaChartProps<T>) {\n const baseProps = getBaseProps(props);\n const containerRef = useRef<HTMLDivElement>(null);\n const popoverRef = useRef<HTMLDivElement>(null);\n\n if (isDevelopment) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(() => {\n if (!isSeriesValid(externalSeries)) {\n warnOnce(\n 'AreaChart',\n \"The `series` property violates the component's constraints: all `area` \" +\n 'series must have `data` arrays of the same length and with the same x-values.'\n );\n }\n }, [externalSeries]);\n }\n\n const [width, setWidth] = useState(0);\n const [visibleSeries, setVisibleSeries] = useFilterProps(\n externalSeries,\n controlledVisibleSeries,\n controlledOnVisibleChange\n );\n const [highlightedSeries, setHighlightedSeries] = useHighlightProps(\n externalSeries,\n controlledHighlightedSeries,\n controlledOnHighlightChange\n );\n const model = useChartModel({\n externalSeries,\n visibleSeries,\n setVisibleSeries,\n highlightedSeries,\n setHighlightedSeries,\n xDomain,\n yDomain,\n xScaleType,\n yScaleType,\n height,\n width,\n popoverRef,\n });\n\n const { isEmpty, isNoMatch, showChart } = getChartStatus({\n externalData: externalSeries,\n visibleData: visibleSeries,\n statusType,\n });\n const showFilters = statusType === 'finished' && (!isEmpty || isNoMatch);\n const showLegend = !hideLegend && !isEmpty && statusType === 'finished';\n const reserveLegendSpace = !showChart && !hideLegend;\n const reserveFilterSpace = !showChart && !isNoMatch && (!hideFilter || additionalFilters);\n\n useEffect(() => {\n const onKeyDown = model.handlers.onDocumentKeyDown;\n document.addEventListener('keydown', onKeyDown);\n return () => document.removeEventListener('keydown', onKeyDown);\n }, [model.handlers.onDocumentKeyDown]);\n\n const onBlur = (event: React.FocusEvent) => {\n if (event.relatedTarget && !nodeContains(containerRef.current, event.relatedTarget)) {\n model.handlers.onContainerBlur();\n }\n };\n\n const mergedRef = useMergeRefs(containerRef, __internalRootRef);\n\n return (\n <div {...baseProps} className={clsx(baseProps.className, styles.root)} ref={mergedRef} onBlur={onBlur}>\n {showFilters && (\n <InternalBox className={cartesianStyles['filter-container']} margin={{ bottom: 'l' }}>\n <InternalSpaceBetween\n size=\"l\"\n direction=\"horizontal\"\n className={clsx({ [styles['has-default-filter']]: !hideFilter })}\n >\n {!hideFilter && (\n <AreaChartFilter\n model={model}\n filterLabel={i18nStrings.filterLabel}\n filterPlaceholder={i18nStrings.filterPlaceholder}\n filterSelectedAriaLabel={i18nStrings.filterSelectedAriaLabel}\n />\n )}\n {additionalFilters}\n </InternalSpaceBetween>\n </InternalBox>\n )}\n\n <div\n className={clsx(styles.content, {\n [styles['content--reserve-filter']]: reserveFilterSpace,\n [styles['content--reserve-legend']]: reserveLegendSpace,\n })}\n style={{ minHeight: height }}\n >\n <ChartStatusContainer\n isEmpty={isEmpty}\n isNoMatch={isNoMatch}\n showChart={showChart}\n statusType={statusType}\n empty={empty}\n noMatch={noMatch}\n loadingText={loadingText}\n errorText={errorText}\n recoveryText={recoveryText}\n onRecoveryClick={onRecoveryClick}\n />\n {showChart && (\n <ChartContainer\n model={model}\n autoWidth={setWidth}\n detailPopoverSize={detailPopoverSize}\n xTitle={xTitle}\n yTitle={yTitle}\n ariaLabel={ariaLabel}\n ariaLabelledby={ariaLabelledby}\n ariaDescription={ariaDescription}\n i18nStrings={i18nStrings}\n />\n )}\n </div>\n\n {showLegend && (\n <InternalBox margin={{ top: 'm' }}>\n <AreaChartLegend\n plotContainerRef={containerRef}\n model={model}\n legendTitle={legendTitle}\n ariaLabel={i18nStrings.legendAriaLabel}\n />\n </InternalBox>\n )}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"internal.js","sourceRoot":"lib/default/","sources":["area-chart/internal.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { isDevelopment } from '../internal/is-development';\nimport { getBaseProps } from '../internal/base-component';\nimport InternalBox from '../box/internal';\nimport ChartStatusContainer, { getChartStatus } from '../internal/components/chart-status-container';\n\nimport AreaChartFilter from './elements/area-chart-filter';\nimport AreaChartLegend from './elements/area-chart-legend';\nimport { AreaChartProps } from './interfaces';\nimport InternalSpaceBetween from '../space-between/internal';\nimport ChartContainer from './chart-container';\nimport cartesianStyles from '../internal/components/cartesian-chart/styles.css.js';\nimport styles from './styles.css.js';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport useChartModel from './model/use-chart-model';\nimport useFilterProps from './model/use-filter-props';\nimport useHighlightProps from './model/use-highlight-props';\nimport { isSeriesValid } from './model/utils';\nimport { warnOnce } from '../internal/logging';\nimport { nodeContains } from '../internal/utils/dom';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport { SomeRequired } from '../internal/types';\n\ntype InternalAreaChartProps<T extends AreaChartProps.DataTypes> = SomeRequired<\n AreaChartProps<T>,\n 'height' | 'xScaleType' | 'yScaleType' | 'statusType' | 'detailPopoverSize' | 'i18nStrings'\n> &\n InternalBaseComponentProps;\n\nexport default function InternalAreaChart<T extends AreaChartProps.DataTypes>({\n height,\n xScaleType,\n yScaleType,\n xDomain,\n yDomain,\n highlightedSeries: controlledHighlightedSeries,\n visibleSeries: controlledVisibleSeries,\n series: externalSeries,\n onFilterChange: controlledOnVisibleChange,\n onHighlightChange: controlledOnHighlightChange,\n i18nStrings,\n ariaLabel,\n ariaLabelledby,\n ariaDescription,\n xTitle,\n yTitle,\n hideFilter,\n additionalFilters,\n hideLegend,\n legendTitle,\n statusType,\n detailPopoverSize,\n empty,\n noMatch,\n errorText,\n loadingText,\n recoveryText,\n onRecoveryClick,\n __internalRootRef = null,\n ...props\n}: InternalAreaChartProps<T>) {\n const baseProps = getBaseProps(props);\n const containerRef = useRef<HTMLDivElement>(null);\n const popoverRef = useRef<HTMLDivElement>(null);\n\n if (isDevelopment) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(() => {\n if (!isSeriesValid(externalSeries)) {\n warnOnce(\n 'AreaChart',\n \"The `series` property violates the component's constraints: all `area` \" +\n 'series must have `data` arrays of the same length and with the same x-values.'\n );\n }\n }, [externalSeries]);\n }\n\n const [width, setWidth] = useState(0);\n const [visibleSeries, setVisibleSeries] = useFilterProps(\n externalSeries,\n controlledVisibleSeries,\n controlledOnVisibleChange\n );\n const [highlightedSeries, setHighlightedSeries] = useHighlightProps(\n externalSeries,\n controlledHighlightedSeries,\n controlledOnHighlightChange\n );\n const model = useChartModel({\n externalSeries,\n visibleSeries,\n setVisibleSeries,\n highlightedSeries,\n setHighlightedSeries,\n xDomain,\n yDomain,\n xScaleType,\n yScaleType,\n height,\n width,\n popoverRef,\n });\n\n const { isEmpty, isNoMatch, showChart } = getChartStatus({\n externalData: externalSeries,\n visibleData: visibleSeries,\n statusType,\n });\n const showFilters = statusType === 'finished' && (!isEmpty || isNoMatch) && (additionalFilters || !hideFilter);\n const showLegend = !hideLegend && !isEmpty && statusType === 'finished';\n const reserveLegendSpace = !showChart && !hideLegend;\n const reserveFilterSpace = !showChart && !isNoMatch && (!hideFilter || additionalFilters);\n\n useEffect(() => {\n const onKeyDown = model.handlers.onDocumentKeyDown;\n document.addEventListener('keydown', onKeyDown);\n return () => document.removeEventListener('keydown', onKeyDown);\n }, [model.handlers.onDocumentKeyDown]);\n\n const onBlur = (event: React.FocusEvent) => {\n if (event.relatedTarget && !nodeContains(containerRef.current, event.relatedTarget)) {\n model.handlers.onContainerBlur();\n }\n };\n\n const mergedRef = useMergeRefs(containerRef, __internalRootRef);\n\n return (\n <div {...baseProps} className={clsx(baseProps.className, styles.root)} ref={mergedRef} onBlur={onBlur}>\n {showFilters && (\n <InternalBox className={cartesianStyles['filter-container']} margin={{ bottom: 'l' }}>\n <InternalSpaceBetween\n size=\"l\"\n direction=\"horizontal\"\n className={clsx({ [styles['has-default-filter']]: !hideFilter })}\n >\n {!hideFilter && (\n <AreaChartFilter\n model={model}\n filterLabel={i18nStrings.filterLabel}\n filterPlaceholder={i18nStrings.filterPlaceholder}\n filterSelectedAriaLabel={i18nStrings.filterSelectedAriaLabel}\n />\n )}\n {additionalFilters}\n </InternalSpaceBetween>\n </InternalBox>\n )}\n\n <div\n className={clsx(styles.content, {\n [styles['content--reserve-filter']]: reserveFilterSpace,\n [styles['content--reserve-legend']]: reserveLegendSpace,\n })}\n style={{ minHeight: height }}\n >\n <ChartStatusContainer\n isEmpty={isEmpty}\n isNoMatch={isNoMatch}\n showChart={showChart}\n statusType={statusType}\n empty={empty}\n noMatch={noMatch}\n loadingText={loadingText}\n errorText={errorText}\n recoveryText={recoveryText}\n onRecoveryClick={onRecoveryClick}\n />\n {showChart && (\n <ChartContainer\n model={model}\n autoWidth={setWidth}\n detailPopoverSize={detailPopoverSize}\n xTitle={xTitle}\n yTitle={yTitle}\n ariaLabel={ariaLabel}\n ariaLabelledby={ariaLabelledby}\n ariaDescription={ariaDescription}\n i18nStrings={i18nStrings}\n />\n )}\n </div>\n\n {showLegend && (\n <InternalBox margin={{ top: 'm' }}>\n <AreaChartLegend\n plotContainerRef={containerRef}\n model={model}\n legendTitle={legendTitle}\n ariaLabel={i18nStrings.legendAriaLabel}\n />\n </InternalBox>\n )}\n </div>\n );\n}\n"]}
@@ -1,50 +1,50 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "flash-with-motion": "awsui_flash-with-motion_1q84n_vln8f_93",
5
- "enter": "awsui_enter_1q84n_vln8f_93",
6
- "flash-body": "awsui_flash-body_1q84n_vln8f_107",
7
- "flash-message": "awsui_flash-message_1q84n_vln8f_107",
8
- "flash-header": "awsui_flash-header_1q84n_vln8f_107",
9
- "flash-content": "awsui_flash-content_1q84n_vln8f_108",
10
- "action-button-wrapper": "awsui_action-button-wrapper_1q84n_vln8f_109",
11
- "dismiss-button-wrapper": "awsui_dismiss-button-wrapper_1q84n_vln8f_110",
12
- "flash-icon": "awsui_flash-icon_1q84n_vln8f_133",
13
- "entering": "awsui_entering_1q84n_vln8f_146",
14
- "entered": "awsui_entered_1q84n_vln8f_167",
15
- "exiting": "awsui_exiting_1q84n_vln8f_272",
16
- "stack": "awsui_stack_1q84n_vln8f_294",
17
- "animation-running": "awsui_animation-running_1q84n_vln8f_294",
18
- "item": "awsui_item_1q84n_vln8f_294",
19
- "flash-list-item": "awsui_flash-list-item_1q84n_vln8f_295",
20
- "notification-bar": "awsui_notification-bar_1q84n_vln8f_296",
21
- "collapsed": "awsui_collapsed_1q84n_vln8f_316",
22
- "animation-ready": "awsui_animation-ready_1q84n_vln8f_316",
23
- "expanded-only": "awsui_expanded-only_1q84n_vln8f_316",
24
- "expanded": "awsui_expanded_1q84n_vln8f_316",
25
- "flash": "awsui_flash_1q84n_vln8f_93",
26
- "collapsible": "awsui_collapsible_1q84n_vln8f_380",
27
- "short-list": "awsui_short-list_1q84n_vln8f_386",
28
- "visual-refresh": "awsui_visual-refresh_1q84n_vln8f_386",
29
- "status": "awsui_status_1q84n_vln8f_603",
30
- "header": "awsui_header_1q84n_vln8f_603",
31
- "item-count": "awsui_item-count_1q84n_vln8f_604",
32
- "button": "awsui_button_1q84n_vln8f_605",
33
- "type-count": "awsui_type-count_1q84n_vln8f_640",
34
- "count-number": "awsui_count-number_1q84n_vln8f_640",
35
- "icon": "awsui_icon_1q84n_vln8f_674",
36
- "floating": "awsui_floating_1q84n_vln8f_712",
37
- "flashbar": "awsui_flashbar_1q84n_vln8f_720",
38
- "flash-refresh": "awsui_flash-refresh_1q84n_vln8f_766",
39
- "flash-list": "awsui_flash-list_1q84n_vln8f_295",
40
- "flash-focus-container": "awsui_flash-focus-container_1q84n_vln8f_785",
41
- "flash-text": "awsui_flash-text_1q84n_vln8f_812",
42
- "dismiss-button": "awsui_dismiss-button_1q84n_vln8f_110",
43
- "breakpoint-default": "awsui_breakpoint-default_1q84n_vln8f_853",
44
- "action-button": "awsui_action-button_1q84n_vln8f_109",
45
- "flash-type-success": "awsui_flash-type-success_1q84n_vln8f_866",
46
- "flash-type-error": "awsui_flash-type-error_1q84n_vln8f_870",
47
- "flash-type-warning": "awsui_flash-type-warning_1q84n_vln8f_874",
48
- "flash-type-info": "awsui_flash-type-info_1q84n_vln8f_878"
4
+ "flash-with-motion": "awsui_flash-with-motion_1q84n_1hcnc_93",
5
+ "enter": "awsui_enter_1q84n_1hcnc_93",
6
+ "flash-body": "awsui_flash-body_1q84n_1hcnc_107",
7
+ "flash-message": "awsui_flash-message_1q84n_1hcnc_107",
8
+ "flash-header": "awsui_flash-header_1q84n_1hcnc_107",
9
+ "flash-content": "awsui_flash-content_1q84n_1hcnc_108",
10
+ "action-button-wrapper": "awsui_action-button-wrapper_1q84n_1hcnc_109",
11
+ "dismiss-button-wrapper": "awsui_dismiss-button-wrapper_1q84n_1hcnc_110",
12
+ "flash-icon": "awsui_flash-icon_1q84n_1hcnc_133",
13
+ "entering": "awsui_entering_1q84n_1hcnc_146",
14
+ "entered": "awsui_entered_1q84n_1hcnc_167",
15
+ "exiting": "awsui_exiting_1q84n_1hcnc_272",
16
+ "stack": "awsui_stack_1q84n_1hcnc_294",
17
+ "animation-running": "awsui_animation-running_1q84n_1hcnc_294",
18
+ "item": "awsui_item_1q84n_1hcnc_294",
19
+ "flash-list-item": "awsui_flash-list-item_1q84n_1hcnc_295",
20
+ "notification-bar": "awsui_notification-bar_1q84n_1hcnc_296",
21
+ "collapsed": "awsui_collapsed_1q84n_1hcnc_316",
22
+ "animation-ready": "awsui_animation-ready_1q84n_1hcnc_316",
23
+ "expanded-only": "awsui_expanded-only_1q84n_1hcnc_316",
24
+ "expanded": "awsui_expanded_1q84n_1hcnc_316",
25
+ "flash": "awsui_flash_1q84n_1hcnc_93",
26
+ "collapsible": "awsui_collapsible_1q84n_1hcnc_380",
27
+ "short-list": "awsui_short-list_1q84n_1hcnc_386",
28
+ "visual-refresh": "awsui_visual-refresh_1q84n_1hcnc_386",
29
+ "status": "awsui_status_1q84n_1hcnc_603",
30
+ "header": "awsui_header_1q84n_1hcnc_603",
31
+ "item-count": "awsui_item-count_1q84n_1hcnc_604",
32
+ "button": "awsui_button_1q84n_1hcnc_605",
33
+ "type-count": "awsui_type-count_1q84n_1hcnc_640",
34
+ "count-number": "awsui_count-number_1q84n_1hcnc_640",
35
+ "icon": "awsui_icon_1q84n_1hcnc_674",
36
+ "floating": "awsui_floating_1q84n_1hcnc_712",
37
+ "flashbar": "awsui_flashbar_1q84n_1hcnc_720",
38
+ "flash-refresh": "awsui_flash-refresh_1q84n_1hcnc_766",
39
+ "flash-list": "awsui_flash-list_1q84n_1hcnc_295",
40
+ "flash-focus-container": "awsui_flash-focus-container_1q84n_1hcnc_785",
41
+ "flash-text": "awsui_flash-text_1q84n_1hcnc_812",
42
+ "dismiss-button": "awsui_dismiss-button_1q84n_1hcnc_110",
43
+ "breakpoint-default": "awsui_breakpoint-default_1q84n_1hcnc_853",
44
+ "action-button": "awsui_action-button_1q84n_1hcnc_109",
45
+ "flash-type-success": "awsui_flash-type-success_1q84n_1hcnc_866",
46
+ "flash-type-error": "awsui_flash-type-error_1q84n_1hcnc_870",
47
+ "flash-type-warning": "awsui_flash-type-warning_1q84n_1hcnc_874",
48
+ "flash-type-info": "awsui_flash-type-info_1q84n_1hcnc_878"
49
49
  };
50
50