@cloudscape-design/components-themeable 3.0.375 → 3.0.377

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 (148) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/alert/styles.scss +27 -40
  3. package/lib/internal/scss/button-dropdown/styles.scss +4 -0
  4. package/lib/internal/scss/mixed-line-bar-chart/styles.scss +0 -5
  5. package/lib/internal/scss/table/sticky-scrollbar/styles.scss +3 -2
  6. package/lib/internal/template/alert/index.d.ts.map +1 -1
  7. package/lib/internal/template/alert/index.js +21 -16
  8. package/lib/internal/template/alert/index.js.map +1 -1
  9. package/lib/internal/template/alert/internal.d.ts.map +1 -1
  10. package/lib/internal/template/alert/internal.js +13 -14
  11. package/lib/internal/template/alert/internal.js.map +1 -1
  12. package/lib/internal/template/alert/styles.css.js +25 -25
  13. package/lib/internal/template/alert/styles.scoped.css +52 -66
  14. package/lib/internal/template/alert/styles.selectors.js +25 -25
  15. package/lib/internal/template/area-chart/model/use-chart-model.js +1 -1
  16. package/lib/internal/template/area-chart/model/use-chart-model.js.map +1 -1
  17. package/lib/internal/template/breadcrumb-group/internal.d.ts.map +1 -1
  18. package/lib/internal/template/breadcrumb-group/internal.js +5 -5
  19. package/lib/internal/template/breadcrumb-group/internal.js.map +1 -1
  20. package/lib/internal/template/button-dropdown/interfaces.d.ts +9 -1
  21. package/lib/internal/template/button-dropdown/interfaces.d.ts.map +1 -1
  22. package/lib/internal/template/button-dropdown/interfaces.js.map +1 -1
  23. package/lib/internal/template/button-dropdown/internal.d.ts.map +1 -1
  24. package/lib/internal/template/button-dropdown/internal.js +9 -2
  25. package/lib/internal/template/button-dropdown/internal.js.map +1 -1
  26. package/lib/internal/template/button-dropdown/styles.css.js +15 -14
  27. package/lib/internal/template/button-dropdown/styles.scoped.css +25 -21
  28. package/lib/internal/template/button-dropdown/styles.selectors.js +15 -14
  29. package/lib/internal/template/code-editor/index.d.ts.map +1 -1
  30. package/lib/internal/template/code-editor/index.js +26 -71
  31. package/lib/internal/template/code-editor/index.js.map +1 -1
  32. package/lib/internal/template/code-editor/listeners.d.ts +1 -1
  33. package/lib/internal/template/code-editor/listeners.d.ts.map +1 -1
  34. package/lib/internal/template/code-editor/listeners.js.map +1 -1
  35. package/lib/internal/template/code-editor/setup-editor.d.ts.map +1 -1
  36. package/lib/internal/template/code-editor/setup-editor.js +39 -36
  37. package/lib/internal/template/code-editor/setup-editor.js.map +1 -1
  38. package/lib/internal/template/code-editor/use-editor.d.ts +24 -0
  39. package/lib/internal/template/code-editor/use-editor.d.ts.map +1 -0
  40. package/lib/internal/template/code-editor/use-editor.js +71 -0
  41. package/lib/internal/template/code-editor/use-editor.js.map +1 -0
  42. package/lib/internal/template/form/index.d.ts.map +1 -1
  43. package/lib/internal/template/form/index.js +2 -1
  44. package/lib/internal/template/form/index.js.map +1 -1
  45. package/lib/internal/template/form-field/internal.d.ts.map +1 -1
  46. package/lib/internal/template/form-field/internal.js +17 -12
  47. package/lib/internal/template/form-field/internal.js.map +1 -1
  48. package/lib/internal/template/internal/analytics/components/analytics-funnel.d.ts +1 -1
  49. package/lib/internal/template/internal/analytics/components/analytics-funnel.d.ts.map +1 -1
  50. package/lib/internal/template/internal/analytics/components/analytics-funnel.js +92 -26
  51. package/lib/internal/template/internal/analytics/components/analytics-funnel.js.map +1 -1
  52. package/lib/internal/template/internal/analytics/context/analytics-context.d.ts +4 -0
  53. package/lib/internal/template/internal/analytics/context/analytics-context.d.ts.map +1 -1
  54. package/lib/internal/template/internal/analytics/context/analytics-context.js +4 -0
  55. package/lib/internal/template/internal/analytics/context/analytics-context.js.map +1 -1
  56. package/lib/internal/template/internal/analytics/hooks/use-funnel.d.ts +2 -0
  57. package/lib/internal/template/internal/analytics/hooks/use-funnel.d.ts.map +1 -1
  58. package/lib/internal/template/internal/components/chart-popover/index.d.ts.map +1 -1
  59. package/lib/internal/template/internal/components/chart-popover/index.js +1 -1
  60. package/lib/internal/template/internal/components/chart-popover/index.js.map +1 -1
  61. package/lib/internal/template/internal/components/menu-dropdown/index.d.ts +1 -1
  62. package/lib/internal/template/internal/components/menu-dropdown/index.d.ts.map +1 -1
  63. package/lib/internal/template/internal/components/menu-dropdown/index.js +7 -5
  64. package/lib/internal/template/internal/components/menu-dropdown/index.js.map +1 -1
  65. package/lib/internal/template/internal/components/menu-dropdown/interfaces.d.ts +1 -0
  66. package/lib/internal/template/internal/components/menu-dropdown/interfaces.d.ts.map +1 -1
  67. package/lib/internal/template/internal/components/menu-dropdown/interfaces.js.map +1 -1
  68. package/lib/internal/template/internal/environment.js +1 -1
  69. package/lib/internal/template/internal/environment.json +1 -1
  70. package/lib/internal/template/internal/plugins/api.d.ts +21 -25
  71. package/lib/internal/template/internal/plugins/api.d.ts.map +1 -1
  72. package/lib/internal/template/internal/plugins/api.js +15 -35
  73. package/lib/internal/template/internal/plugins/api.js.map +1 -1
  74. package/lib/internal/template/internal/plugins/controllers/action-buttons.d.ts +9 -0
  75. package/lib/internal/template/internal/plugins/controllers/action-buttons.d.ts.map +1 -1
  76. package/lib/internal/template/internal/plugins/controllers/action-buttons.js +11 -0
  77. package/lib/internal/template/internal/plugins/controllers/action-buttons.js.map +1 -1
  78. package/lib/internal/template/internal/plugins/controllers/drawers.d.ts +9 -0
  79. package/lib/internal/template/internal/plugins/controllers/drawers.d.ts.map +1 -1
  80. package/lib/internal/template/internal/plugins/controllers/drawers.js +11 -0
  81. package/lib/internal/template/internal/plugins/controllers/drawers.js.map +1 -1
  82. package/lib/internal/template/internal/utils/dom.d.ts +1 -8
  83. package/lib/internal/template/internal/utils/dom.d.ts.map +1 -1
  84. package/lib/internal/template/internal/utils/dom.js +1 -22
  85. package/lib/internal/template/internal/utils/dom.js.map +1 -1
  86. package/lib/internal/template/mixed-line-bar-chart/bar-series.d.ts.map +1 -1
  87. package/lib/internal/template/mixed-line-bar-chart/bar-series.js +14 -3
  88. package/lib/internal/template/mixed-line-bar-chart/bar-series.js.map +1 -1
  89. package/lib/internal/template/mixed-line-bar-chart/hooks/use-mouse-hover.js +1 -1
  90. package/lib/internal/template/mixed-line-bar-chart/hooks/use-mouse-hover.js.map +1 -1
  91. package/lib/internal/template/mixed-line-bar-chart/styles.css.js +11 -11
  92. package/lib/internal/template/mixed-line-bar-chart/styles.scoped.css +17 -22
  93. package/lib/internal/template/mixed-line-bar-chart/styles.selectors.js +11 -11
  94. package/lib/internal/template/modal/internal.d.ts.map +1 -1
  95. package/lib/internal/template/modal/internal.js +14 -12
  96. package/lib/internal/template/modal/internal.js.map +1 -1
  97. package/lib/internal/template/pie-chart/pie-chart.d.ts.map +1 -1
  98. package/lib/internal/template/pie-chart/pie-chart.js +1 -1
  99. package/lib/internal/template/pie-chart/pie-chart.js.map +1 -1
  100. package/lib/internal/template/popover/container.d.ts.map +1 -1
  101. package/lib/internal/template/popover/container.js +3 -2
  102. package/lib/internal/template/popover/container.js.map +1 -1
  103. package/lib/internal/template/progress-bar/index.d.ts.map +1 -1
  104. package/lib/internal/template/progress-bar/index.js +7 -4
  105. package/lib/internal/template/progress-bar/index.js.map +1 -1
  106. package/lib/internal/template/table/body-cell/td-element.d.ts +2 -1
  107. package/lib/internal/template/table/body-cell/td-element.d.ts.map +1 -1
  108. package/lib/internal/template/table/body-cell/td-element.js +3 -3
  109. package/lib/internal/template/table/body-cell/td-element.js.map +1 -1
  110. package/lib/internal/template/table/header-cell/index.d.ts +1 -1
  111. package/lib/internal/template/table/header-cell/index.d.ts.map +1 -1
  112. package/lib/internal/template/table/header-cell/index.js +2 -2
  113. package/lib/internal/template/table/header-cell/index.js.map +1 -1
  114. package/lib/internal/template/table/internal.d.ts.map +1 -1
  115. package/lib/internal/template/table/internal.js +12 -14
  116. package/lib/internal/template/table/internal.js.map +1 -1
  117. package/lib/internal/template/table/table-role/index.d.ts +3 -1
  118. package/lib/internal/template/table/table-role/index.d.ts.map +1 -1
  119. package/lib/internal/template/table/table-role/index.js +2 -1
  120. package/lib/internal/template/table/table-role/index.js.map +1 -1
  121. package/lib/internal/template/table/table-role/interfaces.d.ts +18 -0
  122. package/lib/internal/template/table/table-role/interfaces.d.ts.map +1 -0
  123. package/lib/internal/template/table/table-role/interfaces.js +4 -0
  124. package/lib/internal/template/table/table-role/interfaces.js.map +1 -0
  125. package/lib/internal/template/table/table-role/table-role-helper.d.ts +16 -4
  126. package/lib/internal/template/table/table-role/table-role-helper.d.ts.map +1 -1
  127. package/lib/internal/template/table/table-role/table-role-helper.js +39 -4
  128. package/lib/internal/template/table/table-role/table-role-helper.js.map +1 -1
  129. package/lib/internal/template/table/table-role/use-grid-navigation.d.ts +7 -0
  130. package/lib/internal/template/table/table-role/use-grid-navigation.d.ts.map +1 -0
  131. package/lib/internal/template/table/table-role/use-grid-navigation.js +185 -0
  132. package/lib/internal/template/table/table-role/use-grid-navigation.js.map +1 -0
  133. package/lib/internal/template/table/table-role/utils.d.ts +23 -0
  134. package/lib/internal/template/table/table-role/utils.d.ts.map +1 -0
  135. package/lib/internal/template/table/table-role/utils.js +141 -0
  136. package/lib/internal/template/table/table-role/utils.js.map +1 -0
  137. package/lib/internal/template/table/thead.d.ts.map +1 -1
  138. package/lib/internal/template/table/thead.js +4 -4
  139. package/lib/internal/template/table/thead.js.map +1 -1
  140. package/lib/internal/template/test-utils/dom/button-dropdown/index.js +1 -3
  141. package/lib/internal/template/test-utils/dom/button-dropdown/index.js.map +1 -1
  142. package/lib/internal/template/test-utils/selectors/button-dropdown/index.js +1 -3
  143. package/lib/internal/template/test-utils/selectors/button-dropdown/index.js.map +1 -1
  144. package/lib/internal/template/test-utils/tsconfig.tsbuildinfo +1 -1
  145. package/lib/internal/template/wizard/index.d.ts.map +1 -1
  146. package/lib/internal/template/wizard/index.js +8 -1
  147. package/lib/internal/template/wizard/index.js.map +1 -1
  148. package/package.json +1 -1
@@ -1,3 +1,3 @@
1
1
  {
2
- "commit": "0e1ee85bfe26214d14d9426715de264920c0ade7"
2
+ "commit": "9198ac180a688c23edcfddbbc186bb3430d9325c"
3
3
  }
@@ -23,22 +23,27 @@
23
23
  .alert {
24
24
  @include styles.styles-reset;
25
25
  position: relative;
26
- display: flex;
27
- justify-content: flex-start;
28
- align-items: flex-start;
29
- // display: grid;
30
- grid-template-columns: auto auto 1fr;
31
-
26
+ display: grid;
27
+ grid-template-columns: 1fr;
32
28
  border-radius: awsui.$border-radius-alert;
33
29
  border: awsui.$border-field-width solid;
34
30
  padding: awsui.$space-alert-vertical awsui.$space-alert-horizontal;
35
31
  background-color: awsui.$color-background-container-content;
36
- }
37
32
 
38
- .body {
39
- display: flex;
40
- flex: 1 1 0%;
41
- min-width: 0;
33
+ &.with-dismiss,
34
+ &.with-action {
35
+ grid-template-columns: 1fr auto;
36
+ }
37
+ &.with-action.with-dismiss {
38
+ grid-template-columns: 1fr auto auto;
39
+ }
40
+ // Below the breakpoint, arrange actions below the content
41
+ &.breakpoint-default.with-action {
42
+ grid-template-columns: 1fr auto;
43
+ }
44
+ &.breakpoint-default:not(.with-dismiss) {
45
+ grid-template-columns: 1fr;
46
+ }
42
47
  }
43
48
 
44
49
  .header {
@@ -56,8 +61,8 @@
56
61
  }
57
62
 
58
63
  .alert-focus-wrapper {
59
- display: flex;
60
- flex: 1 1 0%;
64
+ display: grid;
65
+ grid-template-columns: min-content auto;
61
66
 
62
67
  &:focus {
63
68
  outline: none;
@@ -67,12 +72,8 @@
67
72
  }
68
73
  }
69
74
 
70
- .alert-mobile-block {
71
- display: flex;
72
- flex: 1 1 0%;
73
- }
74
-
75
75
  .text {
76
+ min-width: 0;
76
77
  padding: awsui.$border-field-width 0; // To account for vertical misalignment due to button borders
77
78
  margin: awsui.$space-scaled-xxs awsui.$space-xxs;
78
79
  &.icon {
@@ -83,40 +84,30 @@
83
84
  }
84
85
  }
85
86
 
86
- /* stylelint-disable selector-max-type */
87
- .root.breakpoint-default > div > .alert {
87
+ .breakpoint-default {
88
88
  // Below the breakpoint, arrange actions below the content
89
- & > .alert-mobile-block {
90
- display: block;
91
- & > .action {
92
- margin-bottom: awsui.$space-xxs;
93
- }
89
+ > .action {
90
+ grid-row: 2;
91
+ margin-bottom: awsui.$space-xxs;
94
92
  }
95
93
 
96
94
  // Indent actions according to the size of the alert icon
97
- &.icon-size-medium > .alert-mobile-block > .action {
95
+ &.icon-size-medium > .action {
98
96
  margin-left: calc(#{awsui.$size-icon-medium} + #{awsui.$space-xs});
99
97
  }
100
- &.icon-size-big > .alert-mobile-block > .action {
98
+ &.icon-size-big > .action {
101
99
  margin-left: calc(#{awsui.$size-icon-big} + #{awsui.$space-xs});
102
100
  }
103
- &.icon-size-normal > .alert-mobile-block > .action {
101
+ &.icon-size-normal > .action {
104
102
  margin-left: calc(#{awsui.$size-icon-normal} + #{awsui.$space-xs});
105
103
  }
106
104
  }
107
- /* stylelint-enable selector-max-type */
108
-
109
- .message {
110
- flex: 1 1 0%;
111
- min-width: 0;
112
- }
113
105
 
114
106
  .content {
115
107
  /* used in test-utils */
116
108
  }
117
109
 
118
110
  .dismiss {
119
- flex: 0 0 auto;
120
111
  margin-right: calc(-1 * #{awsui.$space-xxs});
121
112
  margin-left: awsui.$space-s;
122
113
  }
@@ -125,10 +116,6 @@
125
116
  /* used in test-utils */
126
117
  }
127
118
 
128
- .icon {
129
- flex: 0 0 auto;
130
- }
131
-
132
119
  $_border-colors: (
133
120
  'error': awsui.$color-border-status-error,
134
121
  'warning': awsui.$color-border-status-warning,
@@ -154,7 +141,7 @@ $_text-colors: (
154
141
  .type-#{$type} {
155
142
  border-color: #{map.get($_border-colors, $type)};
156
143
  background-color: #{map.get($_background-colors, $type)};
157
- > .alert-mobile-block > .alert-focus-wrapper > .icon {
144
+ > .alert-focus-wrapper > .icon {
158
145
  color: #{map.get($_text-colors, $type)};
159
146
  }
160
147
  }
@@ -89,3 +89,7 @@ $dropdown-trigger-icon-offset: 2px;
89
89
  .dropdown-trigger {
90
90
  display: contents;
91
91
  }
92
+
93
+ .test-utils-button-trigger {
94
+ /* used in test-utils */
95
+ }
@@ -28,11 +28,6 @@
28
28
  opacity: 0.3;
29
29
  }
30
30
 
31
- .series--bar > .series__rect {
32
- stroke: awsui.$color-background-container-content;
33
- stroke-width: 2px;
34
- }
35
-
36
31
  .series--threshold {
37
32
  stroke-dasharray: awsui.$border-line-chart-dash-array;
38
33
  stroke-width: awsui.$border-line-chart-width;
@@ -28,7 +28,8 @@
28
28
 
29
29
  &-offset {
30
30
  // "offset" styles are needed for when sticky columns are enabled.
31
- // We move the scrollbar lower for it not to overlap interactive elements (such as checkboxes or links)
31
+ // We move the scrollbar lower, so it doesn't overlap interactive elements (such as checkboxes or links)
32
+
32
33
  z-index: 800; // Higher than sticky columns
33
34
  &:not(.is-visual-refresh) {
34
35
  background-color: awsui.$color-background-container-content;
@@ -44,5 +45,5 @@
44
45
  }
45
46
 
46
47
  .is-visual-refresh {
47
- // Used for decting visual refresh
48
+ // Used for detecting Visual Refresh
48
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"lib/default/","sources":["alert/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAO1C,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,QAAA,MAAM,KAAK,mFA2CV,CAAC;AAGF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"lib/default/","sources":["alert/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAO1C,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,QAAA,MAAM,KAAK,mFAgDV,CAAC;AAGF,eAAe,KAAK,CAAC"}
@@ -15,26 +15,31 @@ const Alert = React.forwardRef((_a, ref) => {
15
15
  const { stepNumber, stepNameSelector } = useFunnelStep();
16
16
  const { subStepSelector, subStepNameSelector } = useFunnelSubStep();
17
17
  useEffect(() => {
18
+ var _a, _b, _c;
18
19
  if (funnelInteractionId && visible && type === 'error' && funnelState.current !== 'complete') {
19
20
  const stepName = getNameFromSelector(stepNameSelector);
20
21
  const subStepName = getNameFromSelector(subStepNameSelector);
21
22
  errorCount.current++;
22
- if (subStepSelector) {
23
- FunnelMetrics.funnelSubStepError({
24
- funnelInteractionId,
25
- subStepSelector,
26
- subStepName,
27
- subStepNameSelector,
28
- stepNumber,
29
- stepName,
30
- stepNameSelector,
31
- subStepAllSelector: getSubStepAllSelector(),
32
- });
33
- }
34
- else {
35
- FunnelMetrics.funnelError({
36
- funnelInteractionId,
37
- });
23
+ // We don't want to report an error if it is hidden, e.g. inside an Expandable Section.
24
+ const errorIsVisible = ((_c = (_b = (_a = baseComponentProps.__internalRootRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) === null || _b === void 0 ? void 0 : _b.width) !== null && _c !== void 0 ? _c : 0) > 0;
25
+ if (errorIsVisible) {
26
+ if (subStepSelector) {
27
+ FunnelMetrics.funnelSubStepError({
28
+ funnelInteractionId,
29
+ subStepSelector,
30
+ subStepName,
31
+ subStepNameSelector,
32
+ stepNumber,
33
+ stepName,
34
+ stepNameSelector,
35
+ subStepAllSelector: getSubStepAllSelector(),
36
+ });
37
+ }
38
+ else {
39
+ FunnelMetrics.funnelError({
40
+ funnelInteractionId,
41
+ });
42
+ }
38
43
  }
39
44
  return () => {
40
45
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"lib/default/","sources":["alert/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,aAAa,MAAM,YAAY,CAAC;AACvC,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AACpG,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAI7F,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAC5B,CAAC,EAAuD,EAAE,GAA8B,EAAE,EAAE;QAA3F,EAAE,IAAI,GAAG,MAAM,EAAE,OAAO,GAAG,IAAI,OAAwB,EAAnB,KAAK,cAAzC,mBAA2C,CAAF;IACxC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAErD,MAAM,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,SAAS,EAAE,CAAC;IACxF,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,aAAa,EAAE,CAAC;IACzD,MAAM,EAAE,eAAe,EAAE,mBAAmB,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAEpE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,mBAAmB,IAAI,OAAO,IAAI,IAAI,KAAK,OAAO,IAAI,WAAW,CAAC,OAAO,KAAK,UAAU,EAAE;YAC5F,MAAM,QAAQ,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;YACvD,MAAM,WAAW,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;YAE7D,UAAU,CAAC,OAAO,EAAE,CAAC;YAErB,IAAI,eAAe,EAAE;gBACnB,aAAa,CAAC,kBAAkB,CAAC;oBAC/B,mBAAmB;oBACnB,eAAe;oBACf,WAAW;oBACX,mBAAmB;oBACnB,UAAU;oBACV,QAAQ;oBACR,gBAAgB;oBAChB,kBAAkB,EAAE,qBAAqB,EAAE;iBAC5C,CAAC,CAAC;aACJ;iBAAM;gBACL,aAAa,CAAC,WAAW,CAAC;oBACxB,mBAAmB;iBACpB,CAAC,CAAC;aACJ;YAED,OAAO,GAAG,EAAE;gBACV,uDAAuD;gBACvD,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,CAAC,CAAC;SACH;QAED,uDAAuD;IACzD,CAAC,EAAE,CAAC,mBAAmB,EAAE,OAAO,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC;IAElE,OAAO,oBAAC,aAAa,kBAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,IAAM,KAAK,EAAM,kBAAkB,IAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACtG,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACjC,eAAe,KAAK,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect } from 'react';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { AlertProps } from './interfaces';\nimport InternalAlert from './internal';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { FunnelMetrics } from '../internal/analytics';\nimport { useFunnel, useFunnelStep, useFunnelSubStep } from '../internal/analytics/hooks/use-funnel';\nimport { getNameFromSelector, getSubStepAllSelector } from '../internal/analytics/selectors';\n\nexport { AlertProps };\n\nconst Alert = React.forwardRef(\n ({ type = 'info', visible = true, ...props }: AlertProps, ref: React.Ref<AlertProps.Ref>) => {\n const baseComponentProps = useBaseComponent('Alert');\n\n const { funnelInteractionId, submissionAttempt, funnelState, errorCount } = useFunnel();\n const { stepNumber, stepNameSelector } = useFunnelStep();\n const { subStepSelector, subStepNameSelector } = useFunnelSubStep();\n\n useEffect(() => {\n if (funnelInteractionId && visible && type === 'error' && funnelState.current !== 'complete') {\n const stepName = getNameFromSelector(stepNameSelector);\n const subStepName = getNameFromSelector(subStepNameSelector);\n\n errorCount.current++;\n\n if (subStepSelector) {\n FunnelMetrics.funnelSubStepError({\n funnelInteractionId,\n subStepSelector,\n subStepName,\n subStepNameSelector,\n stepNumber,\n stepName,\n stepNameSelector,\n subStepAllSelector: getSubStepAllSelector(),\n });\n } else {\n FunnelMetrics.funnelError({\n funnelInteractionId,\n });\n }\n\n return () => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n errorCount.current--;\n };\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [funnelInteractionId, visible, submissionAttempt, errorCount]);\n\n return <InternalAlert type={type} visible={visible} {...props} {...baseComponentProps} ref={ref} />;\n }\n);\n\napplyDisplayName(Alert, 'Alert');\nexport default Alert;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"lib/default/","sources":["alert/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,aAAa,MAAM,YAAY,CAAC;AACvC,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AACpG,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAI7F,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAC5B,CAAC,EAAuD,EAAE,GAA8B,EAAE,EAAE;QAA3F,EAAE,IAAI,GAAG,MAAM,EAAE,OAAO,GAAG,IAAI,OAAwB,EAAnB,KAAK,cAAzC,mBAA2C,CAAF;IACxC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAErD,MAAM,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,SAAS,EAAE,CAAC;IACxF,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,aAAa,EAAE,CAAC;IACzD,MAAM,EAAE,eAAe,EAAE,mBAAmB,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAEpE,SAAS,CAAC,GAAG,EAAE;;QACb,IAAI,mBAAmB,IAAI,OAAO,IAAI,IAAI,KAAK,OAAO,IAAI,WAAW,CAAC,OAAO,KAAK,UAAU,EAAE;YAC5F,MAAM,QAAQ,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;YACvD,MAAM,WAAW,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;YAE7D,UAAU,CAAC,OAAO,EAAE,CAAC;YAErB,uFAAuF;YACvF,MAAM,cAAc,GAAG,CAAC,MAAA,MAAA,MAAA,kBAAkB,CAAC,iBAAiB,CAAC,OAAO,0CAAE,qBAAqB,EAAE,0CAAE,KAAK,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAE/G,IAAI,cAAc,EAAE;gBAClB,IAAI,eAAe,EAAE;oBACnB,aAAa,CAAC,kBAAkB,CAAC;wBAC/B,mBAAmB;wBACnB,eAAe;wBACf,WAAW;wBACX,mBAAmB;wBACnB,UAAU;wBACV,QAAQ;wBACR,gBAAgB;wBAChB,kBAAkB,EAAE,qBAAqB,EAAE;qBAC5C,CAAC,CAAC;iBACJ;qBAAM;oBACL,aAAa,CAAC,WAAW,CAAC;wBACxB,mBAAmB;qBACpB,CAAC,CAAC;iBACJ;aACF;YAED,OAAO,GAAG,EAAE;gBACV,uDAAuD;gBACvD,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,CAAC,CAAC;SACH;QAED,uDAAuD;IACzD,CAAC,EAAE,CAAC,mBAAmB,EAAE,OAAO,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC;IAElE,OAAO,oBAAC,aAAa,kBAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,IAAM,KAAK,EAAM,kBAAkB,IAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACtG,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACjC,eAAe,KAAK,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect } from 'react';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { AlertProps } from './interfaces';\nimport InternalAlert from './internal';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { FunnelMetrics } from '../internal/analytics';\nimport { useFunnel, useFunnelStep, useFunnelSubStep } from '../internal/analytics/hooks/use-funnel';\nimport { getNameFromSelector, getSubStepAllSelector } from '../internal/analytics/selectors';\n\nexport { AlertProps };\n\nconst Alert = React.forwardRef(\n ({ type = 'info', visible = true, ...props }: AlertProps, ref: React.Ref<AlertProps.Ref>) => {\n const baseComponentProps = useBaseComponent('Alert');\n\n const { funnelInteractionId, submissionAttempt, funnelState, errorCount } = useFunnel();\n const { stepNumber, stepNameSelector } = useFunnelStep();\n const { subStepSelector, subStepNameSelector } = useFunnelSubStep();\n\n useEffect(() => {\n if (funnelInteractionId && visible && type === 'error' && funnelState.current !== 'complete') {\n const stepName = getNameFromSelector(stepNameSelector);\n const subStepName = getNameFromSelector(subStepNameSelector);\n\n errorCount.current++;\n\n // We don't want to report an error if it is hidden, e.g. inside an Expandable Section.\n const errorIsVisible = (baseComponentProps.__internalRootRef.current?.getBoundingClientRect()?.width ?? 0) > 0;\n\n if (errorIsVisible) {\n if (subStepSelector) {\n FunnelMetrics.funnelSubStepError({\n funnelInteractionId,\n subStepSelector,\n subStepName,\n subStepNameSelector,\n stepNumber,\n stepName,\n stepNameSelector,\n subStepAllSelector: getSubStepAllSelector(),\n });\n } else {\n FunnelMetrics.funnelError({\n funnelInteractionId,\n });\n }\n }\n\n return () => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n errorCount.current--;\n };\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [funnelInteractionId, visible, submissionAttempt, errorCount]);\n\n return <InternalAlert type={type} visible={visible} {...props} {...baseComponentProps} ref={ref} />;\n }\n);\n\napplyDisplayName(Alert, 'Alert');\nexport default Alert;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"lib/default/","sources":["alert/internal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAYtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAqBlF,QAAA,MAAM,aAAa;;qEAqGlB,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"lib/default/","sources":["alert/internal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAYtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAqBlF,QAAA,MAAM,aAAa;;qEAuGlB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -37,25 +37,24 @@ const InternalAlert = React.forwardRef((_a, ref) => {
37
37
  const isRefresh = useVisualRefresh();
38
38
  const size = isRefresh ? 'normal' : header && children ? 'big' : 'normal';
39
39
  const { discoveredActions, headerRef, contentRef } = useDiscoveredAction(type);
40
+ const hasAction = Boolean(action || buttonText || discoveredActions.length);
40
41
  const analyticsAttributes = {
41
42
  [DATA_ATTR_ANALYTICS_ALERT]: type,
42
43
  };
43
- return (React.createElement("div", Object.assign({}, baseProps, analyticsAttributes, { "aria-hidden": !visible, className: clsx(styles.root, { [styles.hidden]: !visible }, baseProps.className, styles[`breakpoint-${breakpoint}`]), ref: mergedRef }),
44
+ return (React.createElement("div", Object.assign({}, baseProps, analyticsAttributes, { "aria-hidden": !visible, className: clsx(styles.root, { [styles.hidden]: !visible }, baseProps.className), ref: mergedRef }),
44
45
  React.createElement(LinkDefaultVariantContext.Provider, { value: { defaultVariant: 'primary' } },
45
46
  React.createElement(VisualContext, { contextName: "alert" },
46
- React.createElement("div", { className: clsx(styles.alert, styles[`type-${type}`], styles[`icon-size-${size}`]) },
47
- React.createElement("div", { className: styles['alert-mobile-block'] },
48
- React.createElement("div", { className: styles['alert-focus-wrapper'], tabIndex: -1, ref: focusRef },
49
- React.createElement("div", { className: clsx(styles.icon, styles.text), role: "img", "aria-label": statusIconAriaLabel },
50
- React.createElement(InternalIcon, { name: typeToIcon[type], size: size })),
51
- React.createElement("div", { className: styles.body },
52
- React.createElement("div", { className: clsx(styles.message, styles.text) },
53
- header && (React.createElement("div", { className: styles.header, ref: headerRef }, header)),
54
- React.createElement("div", { className: styles.content, ref: contentRef }, children)))),
55
- React.createElement(ActionsWrapper, { className: styles.action, testUtilClasses: {
56
- actionSlot: styles['action-slot'],
57
- actionButton: styles['action-button'],
58
- }, action: action, discoveredActions: discoveredActions, buttonText: buttonText, onButtonClick: () => fireNonCancelableEvent(onButtonClick) })),
47
+ React.createElement("div", { className: clsx(styles.alert, styles[`type-${type}`], styles[`icon-size-${size}`], hasAction && styles['with-action'], dismissible && styles['with-dismiss'], styles[`breakpoint-${breakpoint}`]) },
48
+ React.createElement("div", { className: styles['alert-focus-wrapper'], tabIndex: -1, ref: focusRef },
49
+ React.createElement("div", { className: clsx(styles.icon, styles.text), role: "img", "aria-label": statusIconAriaLabel },
50
+ React.createElement(InternalIcon, { name: typeToIcon[type], size: size })),
51
+ React.createElement("div", { className: clsx(styles.message, styles.text) },
52
+ header && (React.createElement("div", { className: styles.header, ref: headerRef }, header)),
53
+ React.createElement("div", { className: styles.content, ref: contentRef }, children))),
54
+ React.createElement(ActionsWrapper, { className: styles.action, testUtilClasses: {
55
+ actionSlot: styles['action-slot'],
56
+ actionButton: styles['action-button'],
57
+ }, action: action, discoveredActions: discoveredActions, buttonText: buttonText, onButtonClick: () => fireNonCancelableEvent(onButtonClick) }),
59
58
  dismissible && (React.createElement("div", { className: styles.dismiss },
60
59
  React.createElement(InternalButton, { className: styles['dismiss-button'], variant: "icon", iconName: "close", formAction: "none", ariaLabel: i18n('dismissAriaLabel', dismissAriaLabel), onClick: () => fireNonCancelableEvent(onDismiss) }))))))));
61
60
  });
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"lib/default/","sources":["alert/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, { useRef } from 'react';\nimport clsx from 'clsx';\nimport { InternalButton } from '../button/internal';\nimport { IconProps } from '../icon/interfaces';\nimport InternalIcon from '../icon/internal';\nimport { getBaseProps } from '../internal/base-component';\nimport VisualContext from '../internal/components/visual-context';\nimport styles from './styles.css.js';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { useContainerBreakpoints } from '../internal/hooks/container-queries';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport useForwardFocus from '../internal/hooks/forward-focus';\nimport { AlertProps } from './interfaces';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport { SomeRequired } from '../internal/types';\nimport { useInternalI18n } from '../i18n/context';\nimport { DATA_ATTR_ANALYTICS_ALERT } from '../internal/analytics/selectors';\nimport { LinkDefaultVariantContext } from '../internal/context/link-default-variant-context';\nimport { createUseDiscoveredAction } from '../internal/plugins/helpers';\nimport { awsuiPluginsInternal } from '../internal/plugins/api';\nimport { ActionsWrapper } from './actions-wrapper';\n\nconst typeToIcon: Record<AlertProps.Type, IconProps['name']> = {\n error: 'status-negative',\n warning: 'status-warning',\n success: 'status-positive',\n info: 'status-info',\n};\n\ntype InternalAlertProps = SomeRequired<AlertProps, 'type'> & InternalBaseComponentProps;\n\nconst useDiscoveredAction = createUseDiscoveredAction(awsuiPluginsInternal.alert.onActionRegistered);\n\nconst InternalAlert = React.forwardRef(\n (\n {\n type,\n statusIconAriaLabel,\n visible = true,\n dismissible,\n dismissAriaLabel,\n children,\n header,\n buttonText,\n action,\n onDismiss,\n onButtonClick,\n __internalRootRef = null,\n ...rest\n }: InternalAlertProps,\n ref: React.Ref<AlertProps.Ref>\n ) => {\n const baseProps = getBaseProps(rest);\n const i18n = useInternalI18n('alert');\n\n const focusRef = useRef<HTMLDivElement>(null);\n useForwardFocus(ref, focusRef);\n\n const [breakpoint, breakpointRef] = useContainerBreakpoints(['xs']);\n const mergedRef = useMergeRefs(breakpointRef, __internalRootRef);\n\n const isRefresh = useVisualRefresh();\n const size = isRefresh ? 'normal' : header && children ? 'big' : 'normal';\n\n const { discoveredActions, headerRef, contentRef } = useDiscoveredAction(type);\n\n const analyticsAttributes = {\n [DATA_ATTR_ANALYTICS_ALERT]: type,\n };\n\n return (\n <div\n {...baseProps}\n {...analyticsAttributes}\n aria-hidden={!visible}\n className={clsx(\n styles.root,\n { [styles.hidden]: !visible },\n baseProps.className,\n styles[`breakpoint-${breakpoint}`]\n )}\n ref={mergedRef}\n >\n <LinkDefaultVariantContext.Provider value={{ defaultVariant: 'primary' }}>\n <VisualContext contextName=\"alert\">\n <div className={clsx(styles.alert, styles[`type-${type}`], styles[`icon-size-${size}`])}>\n <div className={styles['alert-mobile-block']}>\n <div className={styles['alert-focus-wrapper']} tabIndex={-1} ref={focusRef}>\n <div className={clsx(styles.icon, styles.text)} role=\"img\" aria-label={statusIconAriaLabel}>\n <InternalIcon name={typeToIcon[type]} size={size} />\n </div>\n <div className={styles.body}>\n <div className={clsx(styles.message, styles.text)}>\n {header && (\n <div className={styles.header} ref={headerRef}>\n {header}\n </div>\n )}\n <div className={styles.content} ref={contentRef}>\n {children}\n </div>\n </div>\n </div>\n </div>\n <ActionsWrapper\n className={styles.action}\n testUtilClasses={{\n actionSlot: styles['action-slot'],\n actionButton: styles['action-button'],\n }}\n action={action}\n discoveredActions={discoveredActions}\n buttonText={buttonText}\n onButtonClick={() => fireNonCancelableEvent(onButtonClick)}\n />\n </div>\n {dismissible && (\n <div className={styles.dismiss}>\n <InternalButton\n className={styles['dismiss-button']}\n variant=\"icon\"\n iconName=\"close\"\n formAction=\"none\"\n ariaLabel={i18n('dismissAriaLabel', dismissAriaLabel)}\n onClick={() => fireNonCancelableEvent(onDismiss)}\n />\n </div>\n )}\n </div>\n </VisualContext>\n </LinkDefaultVariantContext.Provider>\n </div>\n );\n }\n);\n\nexport default InternalAlert;\n"]}
1
+ {"version":3,"file":"internal.js","sourceRoot":"lib/default/","sources":["alert/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, { useRef } from 'react';\nimport clsx from 'clsx';\nimport { InternalButton } from '../button/internal';\nimport { IconProps } from '../icon/interfaces';\nimport InternalIcon from '../icon/internal';\nimport { getBaseProps } from '../internal/base-component';\nimport VisualContext from '../internal/components/visual-context';\nimport styles from './styles.css.js';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { useContainerBreakpoints } from '../internal/hooks/container-queries';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport useForwardFocus from '../internal/hooks/forward-focus';\nimport { AlertProps } from './interfaces';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport { SomeRequired } from '../internal/types';\nimport { useInternalI18n } from '../i18n/context';\nimport { DATA_ATTR_ANALYTICS_ALERT } from '../internal/analytics/selectors';\nimport { LinkDefaultVariantContext } from '../internal/context/link-default-variant-context';\nimport { createUseDiscoveredAction } from '../internal/plugins/helpers';\nimport { awsuiPluginsInternal } from '../internal/plugins/api';\nimport { ActionsWrapper } from './actions-wrapper';\n\nconst typeToIcon: Record<AlertProps.Type, IconProps['name']> = {\n error: 'status-negative',\n warning: 'status-warning',\n success: 'status-positive',\n info: 'status-info',\n};\n\ntype InternalAlertProps = SomeRequired<AlertProps, 'type'> & InternalBaseComponentProps;\n\nconst useDiscoveredAction = createUseDiscoveredAction(awsuiPluginsInternal.alert.onActionRegistered);\n\nconst InternalAlert = React.forwardRef(\n (\n {\n type,\n statusIconAriaLabel,\n visible = true,\n dismissible,\n dismissAriaLabel,\n children,\n header,\n buttonText,\n action,\n onDismiss,\n onButtonClick,\n __internalRootRef = null,\n ...rest\n }: InternalAlertProps,\n ref: React.Ref<AlertProps.Ref>\n ) => {\n const baseProps = getBaseProps(rest);\n const i18n = useInternalI18n('alert');\n\n const focusRef = useRef<HTMLDivElement>(null);\n useForwardFocus(ref, focusRef);\n\n const [breakpoint, breakpointRef] = useContainerBreakpoints(['xs']);\n const mergedRef = useMergeRefs(breakpointRef, __internalRootRef);\n\n const isRefresh = useVisualRefresh();\n const size = isRefresh ? 'normal' : header && children ? 'big' : 'normal';\n\n const { discoveredActions, headerRef, contentRef } = useDiscoveredAction(type);\n\n const hasAction = Boolean(action || buttonText || discoveredActions.length);\n\n const analyticsAttributes = {\n [DATA_ATTR_ANALYTICS_ALERT]: type,\n };\n\n return (\n <div\n {...baseProps}\n {...analyticsAttributes}\n aria-hidden={!visible}\n className={clsx(styles.root, { [styles.hidden]: !visible }, baseProps.className)}\n ref={mergedRef}\n >\n <LinkDefaultVariantContext.Provider value={{ defaultVariant: 'primary' }}>\n <VisualContext contextName=\"alert\">\n <div\n className={clsx(\n styles.alert,\n styles[`type-${type}`],\n styles[`icon-size-${size}`],\n hasAction && styles['with-action'],\n dismissible && styles['with-dismiss'],\n styles[`breakpoint-${breakpoint}`]\n )}\n >\n <div className={styles['alert-focus-wrapper']} tabIndex={-1} ref={focusRef}>\n <div className={clsx(styles.icon, styles.text)} role=\"img\" aria-label={statusIconAriaLabel}>\n <InternalIcon name={typeToIcon[type]} size={size} />\n </div>\n <div className={clsx(styles.message, styles.text)}>\n {header && (\n <div className={styles.header} ref={headerRef}>\n {header}\n </div>\n )}\n <div className={styles.content} ref={contentRef}>\n {children}\n </div>\n </div>\n </div>\n <ActionsWrapper\n className={styles.action}\n testUtilClasses={{\n actionSlot: styles['action-slot'],\n actionButton: styles['action-button'],\n }}\n action={action}\n discoveredActions={discoveredActions}\n buttonText={buttonText}\n onButtonClick={() => fireNonCancelableEvent(onButtonClick)}\n />\n {dismissible && (\n <div className={styles.dismiss}>\n <InternalButton\n className={styles['dismiss-button']}\n variant=\"icon\"\n iconName=\"close\"\n formAction=\"none\"\n ariaLabel={i18n('dismissAriaLabel', dismissAriaLabel)}\n onClick={() => fireNonCancelableEvent(onDismiss)}\n />\n </div>\n )}\n </div>\n </VisualContext>\n </LinkDefaultVariantContext.Provider>\n </div>\n );\n }\n);\n\nexport default InternalAlert;\n"]}
@@ -1,30 +1,30 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "alert": "awsui_alert_mx3cw_1k712_93",
5
- "awsui-motion-fade-in": "awsui_awsui-motion-fade-in_mx3cw_1k712_1",
6
- "root": "awsui_root_mx3cw_1k712_119",
7
- "hidden": "awsui_hidden_mx3cw_1k712_135",
8
- "body": "awsui_body_mx3cw_1k712_161",
9
- "header": "awsui_header_mx3cw_1k712_167",
10
- "action": "awsui_action_mx3cw_1k712_171",
11
- "action-slot": "awsui_action-slot_mx3cw_1k712_176",
12
- "action-button": "awsui_action-button_mx3cw_1k712_177",
13
- "alert-focus-wrapper": "awsui_alert-focus-wrapper_mx3cw_1k712_181",
14
- "alert-mobile-block": "awsui_alert-mobile-block_mx3cw_1k712_207",
15
- "text": "awsui_text_mx3cw_1k712_212",
16
- "icon": "awsui_icon_mx3cw_1k712_216",
17
- "message": "awsui_message_mx3cw_1k712_219",
18
- "breakpoint-default": "awsui_breakpoint-default_mx3cw_1k712_224",
19
- "icon-size-medium": "awsui_icon-size-medium_mx3cw_1k712_230",
20
- "icon-size-big": "awsui_icon-size-big_mx3cw_1k712_233",
21
- "icon-size-normal": "awsui_icon-size-normal_mx3cw_1k712_236",
22
- "content": "awsui_content_mx3cw_1k712_246",
23
- "dismiss": "awsui_dismiss_mx3cw_1k712_250",
24
- "dismiss-button": "awsui_dismiss-button_mx3cw_1k712_256",
25
- "type-error": "awsui_type-error_mx3cw_1k712_264",
26
- "type-warning": "awsui_type-warning_mx3cw_1k712_272",
27
- "type-success": "awsui_type-success_mx3cw_1k712_280",
28
- "type-info": "awsui_type-info_mx3cw_1k712_288"
4
+ "alert": "awsui_alert_mx3cw_4axkb_93",
5
+ "awsui-motion-fade-in": "awsui_awsui-motion-fade-in_mx3cw_4axkb_1",
6
+ "root": "awsui_root_mx3cw_4axkb_119",
7
+ "hidden": "awsui_hidden_mx3cw_4axkb_135",
8
+ "with-dismiss": "awsui_with-dismiss_mx3cw_4axkb_158",
9
+ "with-action": "awsui_with-action_mx3cw_4axkb_158",
10
+ "breakpoint-default": "awsui_breakpoint-default_mx3cw_4axkb_164",
11
+ "header": "awsui_header_mx3cw_4axkb_171",
12
+ "action": "awsui_action_mx3cw_4axkb_175",
13
+ "action-slot": "awsui_action-slot_mx3cw_4axkb_180",
14
+ "action-button": "awsui_action-button_mx3cw_4axkb_181",
15
+ "alert-focus-wrapper": "awsui_alert-focus-wrapper_mx3cw_4axkb_185",
16
+ "text": "awsui_text_mx3cw_4axkb_211",
17
+ "icon": "awsui_icon_mx3cw_4axkb_216",
18
+ "message": "awsui_message_mx3cw_4axkb_219",
19
+ "icon-size-medium": "awsui_icon-size-medium_mx3cw_4axkb_227",
20
+ "icon-size-big": "awsui_icon-size-big_mx3cw_4axkb_230",
21
+ "icon-size-normal": "awsui_icon-size-normal_mx3cw_4axkb_233",
22
+ "content": "awsui_content_mx3cw_4axkb_237",
23
+ "dismiss": "awsui_dismiss_mx3cw_4axkb_241",
24
+ "dismiss-button": "awsui_dismiss-button_mx3cw_4axkb_246",
25
+ "type-error": "awsui_type-error_mx3cw_4axkb_250",
26
+ "type-warning": "awsui_type-warning_mx3cw_4axkb_258",
27
+ "type-success": "awsui_type-success_mx3cw_4axkb_266",
28
+ "type-info": "awsui_type-info_mx3cw_4axkb_274"
29
29
  };
30
30