@cloudscape-design/components 3.0.388 → 3.0.390

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 (184) hide show
  1. package/anchor-navigation/index.d.ts +5 -0
  2. package/anchor-navigation/index.d.ts.map +1 -0
  3. package/anchor-navigation/index.js +14 -0
  4. package/anchor-navigation/index.js.map +1 -0
  5. package/anchor-navigation/interfaces.d.ts +67 -0
  6. package/anchor-navigation/interfaces.d.ts.map +1 -0
  7. package/anchor-navigation/interfaces.js +4 -0
  8. package/anchor-navigation/interfaces.js.map +1 -0
  9. package/anchor-navigation/internal.d.ts +5 -0
  10. package/anchor-navigation/internal.d.ts.map +1 -0
  11. package/anchor-navigation/internal.js +48 -0
  12. package/anchor-navigation/internal.js.map +1 -0
  13. package/anchor-navigation/styles.css.js +13 -0
  14. package/anchor-navigation/styles.scoped.css +243 -0
  15. package/anchor-navigation/styles.selectors.js +14 -0
  16. package/anchor-navigation/test-classes/styles.css.js +11 -0
  17. package/anchor-navigation/test-classes/styles.scoped.css +27 -0
  18. package/anchor-navigation/test-classes/styles.selectors.js +12 -0
  19. package/anchor-navigation/use-scroll-spy.d.ts +18 -0
  20. package/anchor-navigation/use-scroll-spy.d.ts.map +1 -0
  21. package/anchor-navigation/use-scroll-spy.js +74 -0
  22. package/anchor-navigation/use-scroll-spy.js.map +1 -0
  23. package/annotation-context/annotation/styles.css.js +24 -24
  24. package/annotation-context/annotation/styles.scoped.css +30 -30
  25. package/annotation-context/annotation/styles.selectors.js +24 -24
  26. package/app-layout/notifications/styles.css.js +3 -3
  27. package/app-layout/notifications/styles.scoped.css +7 -7
  28. package/app-layout/notifications/styles.selectors.js +3 -3
  29. package/app-layout/visual-refresh/styles.css.js +75 -75
  30. package/app-layout/visual-refresh/styles.scoped.css +295 -295
  31. package/app-layout/visual-refresh/styles.selectors.js +75 -75
  32. package/button/styles.css.js +20 -20
  33. package/button/styles.scoped.css +151 -152
  34. package/button/styles.selectors.js +20 -20
  35. package/button-dropdown/item-element/styles.css.js +15 -15
  36. package/button-dropdown/item-element/styles.scoped.css +18 -19
  37. package/button-dropdown/item-element/styles.selectors.js +15 -15
  38. package/cards/index.js +2 -2
  39. package/cards/index.js.map +1 -1
  40. package/code-editor/styles.css.js +32 -32
  41. package/code-editor/styles.scoped.css +129 -131
  42. package/code-editor/styles.selectors.js +32 -32
  43. package/collection-preferences/content-display/styles.css.js +11 -11
  44. package/collection-preferences/content-display/styles.scoped.css +17 -18
  45. package/collection-preferences/content-display/styles.selectors.js +11 -11
  46. package/collection-preferences/styles.css.js +37 -37
  47. package/collection-preferences/styles.scoped.css +44 -45
  48. package/collection-preferences/styles.selectors.js +37 -37
  49. package/container/index.d.ts.map +1 -1
  50. package/container/index.js +2 -2
  51. package/container/index.js.map +1 -1
  52. package/container/internal.d.ts +5 -1
  53. package/container/internal.d.ts.map +1 -1
  54. package/container/internal.js +7 -4
  55. package/container/internal.js.map +1 -1
  56. package/content-layout/styles.css.js +7 -7
  57. package/content-layout/styles.scoped.css +13 -13
  58. package/content-layout/styles.selectors.js +7 -7
  59. package/expandable-section/expandable-section-container.d.ts +5 -3
  60. package/expandable-section/expandable-section-container.d.ts.map +1 -1
  61. package/expandable-section/expandable-section-container.js +2 -2
  62. package/expandable-section/expandable-section-container.js.map +1 -1
  63. package/expandable-section/index.d.ts.map +1 -1
  64. package/expandable-section/index.js +8 -3
  65. package/expandable-section/index.js.map +1 -1
  66. package/expandable-section/internal.d.ts +3 -3
  67. package/expandable-section/internal.d.ts.map +1 -1
  68. package/expandable-section/internal.js +2 -2
  69. package/expandable-section/internal.js.map +1 -1
  70. package/expandable-section/styles.css.js +29 -29
  71. package/expandable-section/styles.scoped.css +58 -59
  72. package/expandable-section/styles.selectors.js +29 -29
  73. package/flashbar/styles.css.js +47 -47
  74. package/flashbar/styles.scoped.css +171 -172
  75. package/flashbar/styles.selectors.js +47 -47
  76. package/form-field/styles.css.js +19 -19
  77. package/form-field/styles.scoped.css +29 -30
  78. package/form-field/styles.selectors.js +19 -19
  79. package/header/styles.css.js +32 -32
  80. package/header/styles.scoped.css +48 -49
  81. package/header/styles.selectors.js +32 -32
  82. package/index.d.ts +1 -0
  83. package/index.d.ts.map +1 -1
  84. package/index.js +1 -0
  85. package/index.js.map +1 -1
  86. package/internal/analytics/components/analytics-funnel.d.ts +2 -2
  87. package/internal/analytics/components/analytics-funnel.d.ts.map +1 -1
  88. package/internal/analytics/components/analytics-funnel.js +8 -2
  89. package/internal/analytics/components/analytics-funnel.js.map +1 -1
  90. package/internal/analytics/hooks/use-funnel.d.ts.map +1 -1
  91. package/internal/analytics/hooks/use-funnel.js +2 -1
  92. package/internal/analytics/hooks/use-funnel.js.map +1 -1
  93. package/internal/components/abstract-switch/styles.css.js +13 -13
  94. package/internal/components/abstract-switch/styles.scoped.css +19 -21
  95. package/internal/components/abstract-switch/styles.selectors.js +13 -13
  96. package/internal/components/dropdown/dropdown-fit-handler.d.ts +31 -2
  97. package/internal/components/dropdown/dropdown-fit-handler.d.ts.map +1 -1
  98. package/internal/components/dropdown/dropdown-fit-handler.js +49 -7
  99. package/internal/components/dropdown/dropdown-fit-handler.js.map +1 -1
  100. package/internal/components/dropdown/index.d.ts.map +1 -1
  101. package/internal/components/dropdown/index.js +20 -2
  102. package/internal/components/dropdown/index.js.map +1 -1
  103. package/internal/components/dropdown/styles.css.js +21 -21
  104. package/internal/components/dropdown/styles.scoped.css +37 -36
  105. package/internal/components/dropdown/styles.selectors.js +21 -21
  106. package/internal/components/menu-dropdown/styles.css.js +7 -7
  107. package/internal/components/menu-dropdown/styles.scoped.css +13 -14
  108. package/internal/components/menu-dropdown/styles.selectors.js +7 -7
  109. package/internal/components/option/styles.css.js +17 -17
  110. package/internal/components/option/styles.scoped.css +29 -30
  111. package/internal/components/option/styles.selectors.js +17 -17
  112. package/internal/environment.js +1 -1
  113. package/internal/environment.json +1 -1
  114. package/internal/generated/custom-css-properties/index.d.ts.map +1 -1
  115. package/internal/generated/custom-css-properties/index.js +40 -39
  116. package/internal/generated/custom-css-properties/index.js.map +1 -1
  117. package/internal/manifest.json +1 -1
  118. package/internal/utils/scrollable-containers.d.ts +6 -1
  119. package/internal/utils/scrollable-containers.d.ts.map +1 -1
  120. package/internal/utils/scrollable-containers.js +1 -1
  121. package/internal/utils/scrollable-containers.js.map +1 -1
  122. package/modal/internal.d.ts.map +1 -1
  123. package/modal/internal.js +6 -4
  124. package/modal/internal.js.map +1 -1
  125. package/package.json +2 -1
  126. package/progress-bar/styles.css.js +18 -18
  127. package/progress-bar/styles.scoped.css +32 -33
  128. package/progress-bar/styles.selectors.js +18 -18
  129. package/property-filter/styles.css.js +30 -30
  130. package/property-filter/styles.scoped.css +32 -33
  131. package/property-filter/styles.selectors.js +30 -30
  132. package/side-navigation/styles.css.js +28 -28
  133. package/side-navigation/styles.scoped.css +38 -39
  134. package/side-navigation/styles.selectors.js +28 -28
  135. package/split-panel/styles.css.js +56 -56
  136. package/split-panel/styles.scoped.css +77 -78
  137. package/split-panel/styles.selectors.js +56 -56
  138. package/status-indicator/internal.d.ts.map +1 -1
  139. package/status-indicator/internal.js +3 -1
  140. package/status-indicator/internal.js.map +1 -1
  141. package/status-indicator/styles.css.js +22 -22
  142. package/status-indicator/styles.scoped.css +36 -34
  143. package/status-indicator/styles.selectors.js +22 -22
  144. package/table/header-cell/index.d.ts +0 -2
  145. package/table/header-cell/index.d.ts.map +1 -1
  146. package/table/header-cell/index.js +1 -1
  147. package/table/header-cell/index.js.map +1 -1
  148. package/table/index.d.ts.map +1 -1
  149. package/table/index.js +8 -4
  150. package/table/index.js.map +1 -1
  151. package/table/internal.d.ts +1 -0
  152. package/table/internal.d.ts.map +1 -1
  153. package/table/internal.js +8 -2
  154. package/table/internal.js.map +1 -1
  155. package/table/resizer/index.d.ts +3 -5
  156. package/table/resizer/index.d.ts.map +1 -1
  157. package/table/resizer/index.js +44 -66
  158. package/table/resizer/index.js.map +1 -1
  159. package/table/resizer/resizer-lookup.d.ts +8 -0
  160. package/table/resizer/resizer-lookup.d.ts.map +1 -0
  161. package/table/resizer/resizer-lookup.js +39 -0
  162. package/table/resizer/resizer-lookup.js.map +1 -0
  163. package/tabs/styles.css.js +21 -21
  164. package/tabs/styles.scoped.css +39 -40
  165. package/tabs/styles.selectors.js +21 -21
  166. package/test-utils/dom/anchor-navigation/index.d.ts +16 -0
  167. package/test-utils/dom/anchor-navigation/index.js +58 -0
  168. package/test-utils/dom/anchor-navigation/index.js.map +1 -0
  169. package/test-utils/dom/index.d.ts +3 -0
  170. package/test-utils/dom/index.js +10 -2
  171. package/test-utils/dom/index.js.map +1 -1
  172. package/test-utils/selectors/anchor-navigation/index.d.ts +15 -0
  173. package/test-utils/selectors/anchor-navigation/index.js +45 -0
  174. package/test-utils/selectors/anchor-navigation/index.js.map +1 -0
  175. package/test-utils/selectors/index.d.ts +3 -0
  176. package/test-utils/selectors/index.js +10 -2
  177. package/test-utils/selectors/index.js.map +1 -1
  178. package/test-utils/tsconfig.tsbuildinfo +1 -1
  179. package/tiles/styles.css.js +29 -29
  180. package/tiles/styles.scoped.css +70 -71
  181. package/tiles/styles.selectors.js +29 -29
  182. package/wizard/styles.css.js +31 -31
  183. package/wizard/styles.scoped.css +64 -68
  184. package/wizard/styles.selectors.js +31 -31
@@ -2,7 +2,7 @@ import { __rest } from "tslib";
2
2
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  import React from 'react';
5
- import InternalContainer from './internal';
5
+ import { InternalContainerAsSubstep } from './internal';
6
6
  import { getExternalProps } from '../internal/utils/external-props';
7
7
  import { applyDisplayName } from '../internal/utils/apply-display-name';
8
8
  import useBaseComponent from '../internal/hooks/use-base-component';
@@ -12,7 +12,7 @@ export default function Container(_a) {
12
12
  const baseComponentProps = useBaseComponent('Container');
13
13
  const externalProps = getExternalProps(props);
14
14
  return (React.createElement(AnalyticsFunnelSubStep, null,
15
- React.createElement(InternalContainer, Object.assign({ variant: variant, disableHeaderPaddings: disableHeaderPaddings, disableContentPaddings: disableContentPaddings }, externalProps, baseComponentProps))));
15
+ React.createElement(InternalContainerAsSubstep, Object.assign({ variant: variant, disableContentPaddings: disableContentPaddings, disableHeaderPaddings: disableHeaderPaddings }, props, externalProps, baseComponentProps))));
16
16
  }
17
17
  applyDisplayName(Container, 'Container');
18
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"lib/default/","sources":["container/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,iBAAiB,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAI3F,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAKjB;QALiB,EAChC,OAAO,GAAG,SAAS,EACnB,qBAAqB,GAAG,KAAK,EAC7B,sBAAsB,GAAG,KAAK,OAEf,EADZ,KAAK,cAJwB,8DAKjC,CADS;IAER,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,CACL,oBAAC,sBAAsB;QACrB,oBAAC,iBAAiB,kBAChB,OAAO,EAAE,OAAO,EAChB,qBAAqB,EAAE,qBAAqB,EAC5C,sBAAsB,EAAE,sBAAsB,IAC1C,aAAa,EACb,kBAAkB,EACtB,CACqB,CAC1B,CAAC;AACJ,CAAC;AAED,gBAAgB,CAAC,SAAS,EAAE,WAAW,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 InternalContainer from './internal';\nimport { ContainerProps } from './interfaces';\nimport { getExternalProps } from '../internal/utils/external-props';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { AnalyticsFunnelSubStep } from '../internal/analytics/components/analytics-funnel';\n\nexport { ContainerProps };\n\nexport default function Container({\n variant = 'default',\n disableHeaderPaddings = false,\n disableContentPaddings = false,\n ...props\n}: ContainerProps) {\n const baseComponentProps = useBaseComponent('Container');\n const externalProps = getExternalProps(props);\n return (\n <AnalyticsFunnelSubStep>\n <InternalContainer\n variant={variant}\n disableHeaderPaddings={disableHeaderPaddings}\n disableContentPaddings={disableContentPaddings}\n {...externalProps}\n {...baseComponentProps}\n />\n </AnalyticsFunnelSubStep>\n );\n}\n\napplyDisplayName(Container, 'Container');\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"lib/default/","sources":["container/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAI3F,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAKjB;QALiB,EAChC,OAAO,GAAG,SAAS,EACnB,qBAAqB,GAAG,KAAK,EAC7B,sBAAsB,GAAG,KAAK,OAEf,EADZ,KAAK,cAJwB,8DAKjC,CADS;IAER,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE9C,OAAO,CACL,oBAAC,sBAAsB;QACrB,oBAAC,0BAA0B,kBACzB,OAAO,EAAE,OAAO,EAChB,sBAAsB,EAAE,sBAAsB,EAC9C,qBAAqB,EAAE,qBAAqB,IACxC,KAAK,EACL,aAAa,EACb,kBAAkB,EACtB,CACqB,CAC1B,CAAC;AACJ,CAAC;AAED,gBAAgB,CAAC,SAAS,EAAE,WAAW,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 { InternalContainerAsSubstep } from './internal';\nimport { ContainerProps } from './interfaces';\nimport { getExternalProps } from '../internal/utils/external-props';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { AnalyticsFunnelSubStep } from '../internal/analytics/components/analytics-funnel';\n\nexport { ContainerProps };\n\nexport default function Container({\n variant = 'default',\n disableHeaderPaddings = false,\n disableContentPaddings = false,\n ...props\n}: ContainerProps) {\n const baseComponentProps = useBaseComponent('Container');\n const externalProps = getExternalProps(props);\n\n return (\n <AnalyticsFunnelSubStep>\n <InternalContainerAsSubstep\n variant={variant}\n disableContentPaddings={disableContentPaddings}\n disableHeaderPaddings={disableHeaderPaddings}\n {...props}\n {...externalProps}\n {...baseComponentProps}\n />\n </AnalyticsFunnelSubStep>\n );\n}\n\napplyDisplayName(Container, 'Container');\n"]}
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { ContainerProps } from './interfaces';
3
3
  import { InternalBaseComponentProps } from '../internal/hooks/use-base-component';
4
+ import { useFunnelSubStep } from '../internal/analytics/hooks/use-funnel';
4
5
  export interface InternalContainerProps extends Omit<ContainerProps, 'variant'>, InternalBaseComponentProps {
5
6
  __stickyHeader?: boolean;
6
7
  __stickyOffset?: number;
@@ -18,6 +19,9 @@ export interface InternalContainerProps extends Omit<ContainerProps, 'variant'>,
18
19
  * * `full-page` – Only for internal use in table, cards and other components
19
20
  */
20
21
  variant?: ContainerProps['variant'] | 'embedded' | 'full-page' | 'cards';
22
+ __funnelSubStepProps?: ReturnType<typeof useFunnelSubStep>['funnelSubStepProps'];
23
+ __subStepRef?: ReturnType<typeof useFunnelSubStep>['subStepRef'];
21
24
  }
22
- export default function InternalContainer({ header, footer, children, variant, disableHeaderPaddings, disableContentPaddings, fitHeight, media, __stickyOffset, __mobileStickyOffset, __stickyHeader, __internalRootRef, __disableFooterDivider, __disableFooterPaddings, __hiddenContent, __headerRef, __darkHeader, __disableStickyMobile, ...restProps }: InternalContainerProps): JSX.Element;
25
+ export declare function InternalContainerAsSubstep(props: InternalContainerProps): JSX.Element;
26
+ export default function InternalContainer({ header, footer, children, variant, disableHeaderPaddings, disableContentPaddings, fitHeight, media, __stickyOffset, __mobileStickyOffset, __stickyHeader, __internalRootRef, __disableFooterDivider, __disableFooterPaddings, __hiddenContent, __headerRef, __darkHeader, __disableStickyMobile, __funnelSubStepProps, __subStepRef, ...restProps }: InternalContainerProps): JSX.Element;
23
27
  //# sourceMappingURL=internal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"lib/default/","sources":["container/internal.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AASlF,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE,0BAA0B;IACzG,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC;CAC1E;AAED,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,MAAM,EACN,MAAM,EACN,QAAQ,EACR,OAAmB,EACnB,qBAA6B,EAC7B,sBAA8B,EAC9B,SAAS,EACT,KAAK,EACL,cAAc,EACd,oBAAoB,EACpB,cAAsB,EACtB,iBAAwB,EACxB,sBAA8B,EAC9B,uBAA+B,EAC/B,eAAuB,EACvB,WAAW,EACX,YAAoB,EACpB,qBAA4B,EAC5B,GAAG,SAAS,EACb,EAAE,sBAAsB,eAkHxB"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"lib/default/","sources":["container/internal.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAOlF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAE1E,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE,0BAA0B;IACzG,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC,SAAS,CAAC,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC;IAEzE,oBAAoB,CAAC,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,oBAAoB,CAAC,CAAC;IACjF,YAAY,CAAC,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC,YAAY,CAAC,CAAC;CAClE;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,sBAAsB,eAGvE;AAED,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,MAAM,EACN,MAAM,EACN,QAAQ,EACR,OAAmB,EACnB,qBAA6B,EAC7B,sBAA8B,EAC9B,SAAS,EACT,KAAK,EACL,cAAc,EACd,oBAAoB,EACpB,cAAsB,EACtB,iBAAwB,EACxB,sBAA8B,EAC9B,uBAA+B,EAC/B,eAAuB,EACvB,WAAW,EACX,YAAoB,EACpB,qBAA4B,EAC5B,oBAAoB,EACpB,YAAY,EACZ,GAAG,SAAS,EACb,EAAE,sBAAsB,eAiHxB"}
@@ -12,9 +12,13 @@ import { useMobile } from '../internal/hooks/use-mobile';
12
12
  import { useVisualRefresh } from '../internal/hooks/use-visual-mode';
13
13
  import styles from './styles.css.js';
14
14
  import { useFunnelSubStep } from '../internal/analytics/hooks/use-funnel';
15
+ export function InternalContainerAsSubstep(props) {
16
+ const { subStepRef, funnelSubStepProps } = useFunnelSubStep();
17
+ return React.createElement(InternalContainer, Object.assign({}, props, { __subStepRef: subStepRef, __funnelSubStepProps: funnelSubStepProps }));
18
+ }
15
19
  export default function InternalContainer(_a) {
16
20
  var _b;
17
- var { header, footer, children, variant = 'default', disableHeaderPaddings = false, disableContentPaddings = false, fitHeight, media, __stickyOffset, __mobileStickyOffset, __stickyHeader = false, __internalRootRef = null, __disableFooterDivider = false, __disableFooterPaddings = false, __hiddenContent = false, __headerRef, __darkHeader = false, __disableStickyMobile = true } = _a, restProps = __rest(_a, ["header", "footer", "children", "variant", "disableHeaderPaddings", "disableContentPaddings", "fitHeight", "media", "__stickyOffset", "__mobileStickyOffset", "__stickyHeader", "__internalRootRef", "__disableFooterDivider", "__disableFooterPaddings", "__hiddenContent", "__headerRef", "__darkHeader", "__disableStickyMobile"]);
21
+ var { header, footer, children, variant = 'default', disableHeaderPaddings = false, disableContentPaddings = false, fitHeight, media, __stickyOffset, __mobileStickyOffset, __stickyHeader = false, __internalRootRef = null, __disableFooterDivider = false, __disableFooterPaddings = false, __hiddenContent = false, __headerRef, __darkHeader = false, __disableStickyMobile = true, __funnelSubStepProps, __subStepRef } = _a, restProps = __rest(_a, ["header", "footer", "children", "variant", "disableHeaderPaddings", "disableContentPaddings", "fitHeight", "media", "__stickyOffset", "__mobileStickyOffset", "__stickyHeader", "__internalRootRef", "__disableFooterDivider", "__disableFooterPaddings", "__hiddenContent", "__headerRef", "__darkHeader", "__disableStickyMobile", "__funnelSubStepProps", "__subStepRef"]);
18
22
  const isMobile = useMobile();
19
23
  const baseProps = getBaseProps(restProps);
20
24
  const rootRef = useRef(null);
@@ -22,10 +26,9 @@ export default function InternalContainer(_a) {
22
26
  const { isSticky, isStuck, stickyStyles } = useStickyHeader(rootRef, headerRef, __stickyHeader, __stickyOffset, __mobileStickyOffset, __disableStickyMobile);
23
27
  const { setHasStickyBackground } = useAppLayoutContext();
24
28
  const isRefresh = useVisualRefresh();
25
- const { subStepRef, funnelSubStepProps } = useFunnelSubStep();
26
29
  const hasDynamicHeight = isRefresh && variant === 'full-page';
27
30
  const overlapElement = useDynamicOverlap({ disabled: !hasDynamicHeight || !__darkHeader });
28
- const mergedRef = useMergeRefs(rootRef, subStepRef, __internalRootRef);
31
+ const mergedRef = useMergeRefs(rootRef, __subStepRef, __internalRootRef);
29
32
  const headerMergedRef = useMergeRefs(headerRef, overlapElement, __headerRef);
30
33
  /**
31
34
  * The visual refresh AppLayout component needs to know if a child component
@@ -48,7 +51,7 @@ export default function InternalContainer(_a) {
48
51
  const shouldHaveStickyStyles = isSticky && !isMobile;
49
52
  const hasMedia = !!(media === null || media === void 0 ? void 0 : media.content);
50
53
  const mediaPosition = (_b = media === null || media === void 0 ? void 0 : media.position) !== null && _b !== void 0 ? _b : 'top';
51
- return (React.createElement("div", Object.assign({}, baseProps, funnelSubStepProps, { className: clsx(baseProps.className, styles.root, styles[`variant-${variant}`], fitHeight && styles['fit-height'], hasMedia && (mediaPosition === 'side' ? styles['with-side-media'] : styles['with-top-media']), shouldHaveStickyStyles && [styles['sticky-enabled']]), ref: mergedRef }),
54
+ return (React.createElement("div", Object.assign({}, baseProps, __funnelSubStepProps, { className: clsx(baseProps.className, styles.root, styles[`variant-${variant}`], fitHeight && styles['fit-height'], hasMedia && (mediaPosition === 'side' ? styles['with-side-media'] : styles['with-top-media']), shouldHaveStickyStyles && [styles['sticky-enabled']]), ref: mergedRef }),
52
55
  hasMedia && (React.createElement("div", { className: clsx(styles[`media-${mediaPosition === 'side' ? 'side' : 'top'}`], styles.media), style: mediaPosition === 'top' ? { height: (media === null || media === void 0 ? void 0 : media.height) || '' } : { width: (media === null || media === void 0 ? void 0 : media.width) || '' } }, media.content)),
53
56
  React.createElement("div", { className: clsx(styles['content-wrapper'], fitHeight && styles['content-wrapper-fit-height']) },
54
57
  header && (React.createElement(StickyHeaderContext.Provider, { value: { isStuck } },
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"lib/default/","sources":["container/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 clsx from 'clsx';\nimport React, { useEffect, useRef } from 'react';\nimport { ContainerProps } from './interfaces';\nimport { getBaseProps } from '../internal/base-component';\nimport { useAppLayoutContext } from '../internal/context/app-layout-context';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { StickyHeaderContext, useStickyHeader } from './use-sticky-header';\nimport { useDynamicOverlap } from '../internal/hooks/use-dynamic-overlap';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport styles from './styles.css.js';\nimport { useFunnelSubStep } from '../internal/analytics/hooks/use-funnel';\n\nexport interface InternalContainerProps extends Omit<ContainerProps, 'variant'>, InternalBaseComponentProps {\n __stickyHeader?: boolean;\n __stickyOffset?: number;\n __mobileStickyOffset?: number;\n __disableFooterDivider?: boolean;\n __disableFooterPaddings?: boolean;\n __hiddenContent?: boolean;\n __headerRef?: React.RefObject<HTMLDivElement>;\n __darkHeader?: boolean;\n __disableStickyMobile?: boolean;\n /**\n * Additional internal variant:\n * * `embedded` - Use this variant within a parent container (such as a modal,\n * expandable section, container or split panel).\n * * `full-page` – Only for internal use in table, cards and other components\n */\n variant?: ContainerProps['variant'] | 'embedded' | 'full-page' | 'cards';\n}\n\nexport default function InternalContainer({\n header,\n footer,\n children,\n variant = 'default',\n disableHeaderPaddings = false,\n disableContentPaddings = false,\n fitHeight,\n media,\n __stickyOffset,\n __mobileStickyOffset,\n __stickyHeader = false,\n __internalRootRef = null,\n __disableFooterDivider = false,\n __disableFooterPaddings = false,\n __hiddenContent = false,\n __headerRef,\n __darkHeader = false,\n __disableStickyMobile = true,\n ...restProps\n}: InternalContainerProps) {\n const isMobile = useMobile();\n const baseProps = getBaseProps(restProps);\n const rootRef = useRef<HTMLDivElement>(null);\n const headerRef = useRef<HTMLDivElement>(null);\n const { isSticky, isStuck, stickyStyles } = useStickyHeader(\n rootRef,\n headerRef,\n __stickyHeader,\n __stickyOffset,\n __mobileStickyOffset,\n __disableStickyMobile\n );\n const { setHasStickyBackground } = useAppLayoutContext();\n const isRefresh = useVisualRefresh();\n const { subStepRef, funnelSubStepProps } = useFunnelSubStep();\n\n const hasDynamicHeight = isRefresh && variant === 'full-page';\n const overlapElement = useDynamicOverlap({ disabled: !hasDynamicHeight || !__darkHeader });\n\n const mergedRef = useMergeRefs(rootRef, subStepRef, __internalRootRef);\n const headerMergedRef = useMergeRefs(headerRef, overlapElement, __headerRef);\n\n /**\n * The visual refresh AppLayout component needs to know if a child component\n * has a high contrast sticky header. This is to make sure the background element\n * stays in the same vertical position as the header content.\n */\n useEffect(() => {\n const shouldUpdateStickyBackground = isSticky && variant === 'full-page' && setHasStickyBackground;\n if (shouldUpdateStickyBackground) {\n setHasStickyBackground(true);\n }\n\n return () => {\n if (shouldUpdateStickyBackground) {\n setHasStickyBackground(false);\n }\n };\n }, [isSticky, setHasStickyBackground, variant]);\n\n // The container is only sticky on mobile if it is the header for the table.\n // In this case we don't want the container to have sticky styles, as only the table header row will show as stuck on scroll.\n const shouldHaveStickyStyles = isSticky && !isMobile;\n\n const hasMedia = !!media?.content;\n const mediaPosition = media?.position ?? 'top';\n\n return (\n <div\n {...baseProps}\n {...funnelSubStepProps}\n className={clsx(\n baseProps.className,\n styles.root,\n styles[`variant-${variant}`],\n fitHeight && styles['fit-height'],\n hasMedia && (mediaPosition === 'side' ? styles['with-side-media'] : styles['with-top-media']),\n shouldHaveStickyStyles && [styles['sticky-enabled']]\n )}\n ref={mergedRef}\n >\n {hasMedia && (\n <div\n className={clsx(styles[`media-${mediaPosition === 'side' ? 'side' : 'top'}`], styles.media)}\n style={mediaPosition === 'top' ? { height: media?.height || '' } : { width: media?.width || '' }}\n >\n {media.content}\n </div>\n )}\n <div className={clsx(styles['content-wrapper'], fitHeight && styles['content-wrapper-fit-height'])}>\n {header && (\n <StickyHeaderContext.Provider value={{ isStuck }}>\n <div\n className={clsx(styles.header, styles[`header-variant-${variant}`], {\n [styles['header-sticky-disabled']]: __stickyHeader && !isSticky,\n [styles['header-sticky-enabled']]: isSticky,\n [styles['header-dynamic-height']]: hasDynamicHeight,\n [styles['header-stuck']]: isStuck,\n [styles['with-paddings']]: !disableHeaderPaddings,\n [styles['with-hidden-content']]: !children || __hiddenContent,\n [styles['header-with-media']]: hasMedia,\n })}\n {...stickyStyles}\n ref={headerMergedRef}\n >\n {__darkHeader ? (\n <div className={clsx(styles['dark-header'], 'awsui-context-content-header')}>{header}</div>\n ) : (\n header\n )}\n </div>\n </StickyHeaderContext.Provider>\n )}\n <div\n className={clsx(styles.content, fitHeight && styles['content-fit-height'], {\n [styles['with-paddings']]: !disableContentPaddings,\n })}\n >\n {children}\n </div>\n {footer && (\n <div\n className={clsx(styles.footer, {\n [styles['with-divider']]: !__disableFooterDivider,\n [styles['with-paddings']]: !__disableFooterPaddings,\n })}\n >\n {footer}\n </div>\n )}\n </div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"internal.js","sourceRoot":"lib/default/","sources":["container/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 clsx from 'clsx';\nimport React, { useEffect, useRef } from 'react';\nimport { ContainerProps } from './interfaces';\nimport { getBaseProps } from '../internal/base-component';\nimport { useAppLayoutContext } from '../internal/context/app-layout-context';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { StickyHeaderContext, useStickyHeader } from './use-sticky-header';\nimport { useDynamicOverlap } from '../internal/hooks/use-dynamic-overlap';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport styles from './styles.css.js';\nimport { useFunnelSubStep } from '../internal/analytics/hooks/use-funnel';\n\nexport interface InternalContainerProps extends Omit<ContainerProps, 'variant'>, InternalBaseComponentProps {\n __stickyHeader?: boolean;\n __stickyOffset?: number;\n __mobileStickyOffset?: number;\n __disableFooterDivider?: boolean;\n __disableFooterPaddings?: boolean;\n __hiddenContent?: boolean;\n __headerRef?: React.RefObject<HTMLDivElement>;\n __darkHeader?: boolean;\n __disableStickyMobile?: boolean;\n /**\n * Additional internal variant:\n * * `embedded` - Use this variant within a parent container (such as a modal,\n * expandable section, container or split panel).\n * * `full-page` – Only for internal use in table, cards and other components\n */\n variant?: ContainerProps['variant'] | 'embedded' | 'full-page' | 'cards';\n\n __funnelSubStepProps?: ReturnType<typeof useFunnelSubStep>['funnelSubStepProps'];\n __subStepRef?: ReturnType<typeof useFunnelSubStep>['subStepRef'];\n}\n\nexport function InternalContainerAsSubstep(props: InternalContainerProps) {\n const { subStepRef, funnelSubStepProps } = useFunnelSubStep();\n return <InternalContainer {...props} __subStepRef={subStepRef} __funnelSubStepProps={funnelSubStepProps} />;\n}\n\nexport default function InternalContainer({\n header,\n footer,\n children,\n variant = 'default',\n disableHeaderPaddings = false,\n disableContentPaddings = false,\n fitHeight,\n media,\n __stickyOffset,\n __mobileStickyOffset,\n __stickyHeader = false,\n __internalRootRef = null,\n __disableFooterDivider = false,\n __disableFooterPaddings = false,\n __hiddenContent = false,\n __headerRef,\n __darkHeader = false,\n __disableStickyMobile = true,\n __funnelSubStepProps,\n __subStepRef,\n ...restProps\n}: InternalContainerProps) {\n const isMobile = useMobile();\n const baseProps = getBaseProps(restProps);\n const rootRef = useRef<HTMLDivElement>(null);\n const headerRef = useRef<HTMLDivElement>(null);\n const { isSticky, isStuck, stickyStyles } = useStickyHeader(\n rootRef,\n headerRef,\n __stickyHeader,\n __stickyOffset,\n __mobileStickyOffset,\n __disableStickyMobile\n );\n const { setHasStickyBackground } = useAppLayoutContext();\n const isRefresh = useVisualRefresh();\n\n const hasDynamicHeight = isRefresh && variant === 'full-page';\n const overlapElement = useDynamicOverlap({ disabled: !hasDynamicHeight || !__darkHeader });\n\n const mergedRef = useMergeRefs(rootRef, __subStepRef, __internalRootRef);\n const headerMergedRef = useMergeRefs(headerRef, overlapElement, __headerRef);\n\n /**\n * The visual refresh AppLayout component needs to know if a child component\n * has a high contrast sticky header. This is to make sure the background element\n * stays in the same vertical position as the header content.\n */\n useEffect(() => {\n const shouldUpdateStickyBackground = isSticky && variant === 'full-page' && setHasStickyBackground;\n if (shouldUpdateStickyBackground) {\n setHasStickyBackground(true);\n }\n\n return () => {\n if (shouldUpdateStickyBackground) {\n setHasStickyBackground(false);\n }\n };\n }, [isSticky, setHasStickyBackground, variant]);\n\n // The container is only sticky on mobile if it is the header for the table.\n // In this case we don't want the container to have sticky styles, as only the table header row will show as stuck on scroll.\n const shouldHaveStickyStyles = isSticky && !isMobile;\n\n const hasMedia = !!media?.content;\n const mediaPosition = media?.position ?? 'top';\n\n return (\n <div\n {...baseProps}\n {...__funnelSubStepProps}\n className={clsx(\n baseProps.className,\n styles.root,\n styles[`variant-${variant}`],\n fitHeight && styles['fit-height'],\n hasMedia && (mediaPosition === 'side' ? styles['with-side-media'] : styles['with-top-media']),\n shouldHaveStickyStyles && [styles['sticky-enabled']]\n )}\n ref={mergedRef}\n >\n {hasMedia && (\n <div\n className={clsx(styles[`media-${mediaPosition === 'side' ? 'side' : 'top'}`], styles.media)}\n style={mediaPosition === 'top' ? { height: media?.height || '' } : { width: media?.width || '' }}\n >\n {media.content}\n </div>\n )}\n <div className={clsx(styles['content-wrapper'], fitHeight && styles['content-wrapper-fit-height'])}>\n {header && (\n <StickyHeaderContext.Provider value={{ isStuck }}>\n <div\n className={clsx(styles.header, styles[`header-variant-${variant}`], {\n [styles['header-sticky-disabled']]: __stickyHeader && !isSticky,\n [styles['header-sticky-enabled']]: isSticky,\n [styles['header-dynamic-height']]: hasDynamicHeight,\n [styles['header-stuck']]: isStuck,\n [styles['with-paddings']]: !disableHeaderPaddings,\n [styles['with-hidden-content']]: !children || __hiddenContent,\n [styles['header-with-media']]: hasMedia,\n })}\n {...stickyStyles}\n ref={headerMergedRef}\n >\n {__darkHeader ? (\n <div className={clsx(styles['dark-header'], 'awsui-context-content-header')}>{header}</div>\n ) : (\n header\n )}\n </div>\n </StickyHeaderContext.Provider>\n )}\n <div\n className={clsx(styles.content, fitHeight && styles['content-fit-height'], {\n [styles['with-paddings']]: !disableContentPaddings,\n })}\n >\n {children}\n </div>\n {footer && (\n <div\n className={clsx(styles.footer, {\n [styles['with-divider']]: !__disableFooterDivider,\n [styles['with-paddings']]: !__disableFooterPaddings,\n })}\n >\n {footer}\n </div>\n )}\n </div>\n </div>\n );\n}\n"]}
@@ -1,12 +1,12 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "layout": "awsui_layout_5gtk3_18yfo_99",
5
- "is-visual-refresh": "awsui_is-visual-refresh_5gtk3_18yfo_99",
6
- "background": "awsui_background_5gtk3_18yfo_102",
7
- "header": "awsui_header_5gtk3_18yfo_105",
8
- "is-overlap-disabled": "awsui_is-overlap-disabled_5gtk3_18yfo_121",
9
- "content": "awsui_content_5gtk3_18yfo_129",
10
- "has-header": "awsui_has-header_5gtk3_18yfo_133"
4
+ "layout": "awsui_layout_5gtk3_lh8g2_99",
5
+ "is-visual-refresh": "awsui_is-visual-refresh_5gtk3_lh8g2_99",
6
+ "background": "awsui_background_5gtk3_lh8g2_102",
7
+ "header": "awsui_header_5gtk3_lh8g2_105",
8
+ "is-overlap-disabled": "awsui_is-overlap-disabled_5gtk3_lh8g2_121",
9
+ "content": "awsui_content_5gtk3_lh8g2_129",
10
+ "has-header": "awsui_has-header_5gtk3_lh8g2_133"
11
11
  };
12
12
 
@@ -96,48 +96,48 @@ visual refresh mode. The padding is still added to the header
96
96
  in this scenario because otherwise the header and child
97
97
  nodes will directly touch with no gap between them.
98
98
  */
99
- .awsui_layout_5gtk3_18yfo_99:not(#\9):not(.awsui_is-visual-refresh_5gtk3_18yfo_99) {
99
+ .awsui_layout_5gtk3_lh8g2_99:not(#\9):not(.awsui_is-visual-refresh_5gtk3_lh8g2_99) {
100
100
  display: contents;
101
101
  }
102
- .awsui_layout_5gtk3_18yfo_99:not(#\9):not(.awsui_is-visual-refresh_5gtk3_18yfo_99) > .awsui_background_5gtk3_18yfo_102 {
102
+ .awsui_layout_5gtk3_lh8g2_99:not(#\9):not(.awsui_is-visual-refresh_5gtk3_lh8g2_99) > .awsui_background_5gtk3_lh8g2_102 {
103
103
  display: none;
104
104
  }
105
- .awsui_layout_5gtk3_18yfo_99:not(#\9):not(.awsui_is-visual-refresh_5gtk3_18yfo_99) > .awsui_header_5gtk3_18yfo_105 {
105
+ .awsui_layout_5gtk3_lh8g2_99:not(#\9):not(.awsui_is-visual-refresh_5gtk3_lh8g2_99) > .awsui_header_5gtk3_lh8g2_105 {
106
106
  padding-bottom: var(--space-content-header-padding-bottom-y2enua, 16px);
107
107
  }
108
108
 
109
- .awsui_layout_5gtk3_18yfo_99.awsui_is-visual-refresh_5gtk3_18yfo_99:not(#\9) {
109
+ .awsui_layout_5gtk3_lh8g2_99.awsui_is-visual-refresh_5gtk3_lh8g2_99:not(#\9) {
110
110
  display: grid;
111
111
  grid-template-columns: minmax(0, 1fr);
112
112
  grid-template-rows: auto var(--space-dark-header-overlap-distance-lxpp0s, 36px) 1fr;
113
113
  min-height: 100%;
114
114
  }
115
- .awsui_layout_5gtk3_18yfo_99.awsui_is-visual-refresh_5gtk3_18yfo_99 > .awsui_background_5gtk3_18yfo_102:not(#\9) {
115
+ .awsui_layout_5gtk3_lh8g2_99.awsui_is-visual-refresh_5gtk3_lh8g2_99 > .awsui_background_5gtk3_lh8g2_102:not(#\9) {
116
116
  background-color: var(--color-background-layout-main-nx09lr, #ffffff);
117
117
  grid-column: 1;
118
118
  grid-row: 1/3;
119
119
  color: var(--color-text-body-default-2sxhhn, #000716);
120
120
  }
121
- .awsui_layout_5gtk3_18yfo_99.awsui_is-visual-refresh_5gtk3_18yfo_99 > .awsui_background_5gtk3_18yfo_102.awsui_is-overlap-disabled_5gtk3_18yfo_121:not(#\9) {
121
+ .awsui_layout_5gtk3_lh8g2_99.awsui_is-visual-refresh_5gtk3_lh8g2_99 > .awsui_background_5gtk3_lh8g2_102.awsui_is-overlap-disabled_5gtk3_lh8g2_121:not(#\9) {
122
122
  grid-row: 1/2;
123
123
  }
124
- .awsui_layout_5gtk3_18yfo_99.awsui_is-visual-refresh_5gtk3_18yfo_99 > .awsui_header_5gtk3_18yfo_105:not(#\9) {
124
+ .awsui_layout_5gtk3_lh8g2_99.awsui_is-visual-refresh_5gtk3_lh8g2_99 > .awsui_header_5gtk3_lh8g2_105:not(#\9) {
125
125
  grid-column: 1;
126
126
  grid-row: 1;
127
127
  padding-bottom: var(--space-content-header-padding-bottom-y2enua, 16px);
128
128
  }
129
- .awsui_layout_5gtk3_18yfo_99.awsui_is-visual-refresh_5gtk3_18yfo_99 > .awsui_content_5gtk3_18yfo_129:not(#\9) {
129
+ .awsui_layout_5gtk3_lh8g2_99.awsui_is-visual-refresh_5gtk3_lh8g2_99 > .awsui_content_5gtk3_lh8g2_129:not(#\9) {
130
130
  grid-column: 1;
131
131
  grid-row: 2/4;
132
132
  }
133
- .awsui_layout_5gtk3_18yfo_99.awsui_is-visual-refresh_5gtk3_18yfo_99:not(#\9):not(.awsui_has-header_5gtk3_18yfo_133) {
133
+ .awsui_layout_5gtk3_lh8g2_99.awsui_is-visual-refresh_5gtk3_lh8g2_99:not(#\9):not(.awsui_has-header_5gtk3_lh8g2_133) {
134
134
  grid-template-rows: auto calc(
135
- var(--space-dark-header-overlap-distance-lxpp0s, 36px) + var(--awsui-container-first-overlap-extension-zw2xxa, 0px) + var(--awsui-container-first-gap-zw2xxa, 0px)
135
+ var(--space-dark-header-overlap-distance-lxpp0s, 36px) + var(--awsui-container-first-overlap-extension-y98gph, 0px) + var(--awsui-container-first-gap-y98gph, 0px)
136
136
  ) 1fr;
137
137
  }
138
- .awsui_layout_5gtk3_18yfo_99.awsui_is-visual-refresh_5gtk3_18yfo_99:not(#\9):not(.awsui_has-header_5gtk3_18yfo_133) > .awsui_content_5gtk3_18yfo_129 {
139
- padding-top: var(--awsui-container-first-gap-zw2xxa, 0px);
138
+ .awsui_layout_5gtk3_lh8g2_99.awsui_is-visual-refresh_5gtk3_lh8g2_99:not(#\9):not(.awsui_has-header_5gtk3_lh8g2_133) > .awsui_content_5gtk3_lh8g2_129 {
139
+ padding-top: var(--awsui-container-first-gap-y98gph, 0px);
140
140
  }
141
- .awsui_layout_5gtk3_18yfo_99.awsui_is-visual-refresh_5gtk3_18yfo_99.awsui_is-overlap-disabled_5gtk3_18yfo_121:not(#\9) {
141
+ .awsui_layout_5gtk3_lh8g2_99.awsui_is-visual-refresh_5gtk3_lh8g2_99.awsui_is-overlap-disabled_5gtk3_lh8g2_121:not(#\9) {
142
142
  grid-template-rows: auto 0 1fr;
143
143
  }
@@ -2,12 +2,12 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "layout": "awsui_layout_5gtk3_18yfo_99",
6
- "is-visual-refresh": "awsui_is-visual-refresh_5gtk3_18yfo_99",
7
- "background": "awsui_background_5gtk3_18yfo_102",
8
- "header": "awsui_header_5gtk3_18yfo_105",
9
- "is-overlap-disabled": "awsui_is-overlap-disabled_5gtk3_18yfo_121",
10
- "content": "awsui_content_5gtk3_18yfo_129",
11
- "has-header": "awsui_has-header_5gtk3_18yfo_133"
5
+ "layout": "awsui_layout_5gtk3_lh8g2_99",
6
+ "is-visual-refresh": "awsui_is-visual-refresh_5gtk3_lh8g2_99",
7
+ "background": "awsui_background_5gtk3_lh8g2_102",
8
+ "header": "awsui_header_5gtk3_lh8g2_105",
9
+ "is-overlap-disabled": "awsui_is-overlap-disabled_5gtk3_lh8g2_121",
10
+ "content": "awsui_content_5gtk3_lh8g2_129",
11
+ "has-header": "awsui_has-header_5gtk3_lh8g2_133"
12
12
  };
13
13
 
@@ -1,14 +1,16 @@
1
+ import { InternalContainerProps } from '../container/internal';
1
2
  import React from 'react';
2
3
  import { ExpandableSectionProps } from './interfaces';
3
4
  import { InternalBaseComponentProps } from '../internal/hooks/use-base-component';
4
- interface ExpandableSectionContainerProps extends InternalBaseComponentProps {
5
+ export interface ExpandableSectionContainerProps extends InternalBaseComponentProps {
5
6
  className?: string;
6
7
  header: React.ReactNode;
7
8
  children?: React.ReactNode;
8
9
  variant: ExpandableSectionProps.Variant;
9
10
  expanded: boolean | undefined;
10
11
  disableContentPaddings: boolean | undefined;
12
+ __funnelSubStepProps?: InternalContainerProps['__funnelSubStepProps'];
13
+ __subStepRef?: InternalContainerProps['__subStepRef'];
11
14
  }
12
- export declare const ExpandableSectionContainer: ({ className, children, header, variant, expanded, disableContentPaddings, __internalRootRef, ...rest }: ExpandableSectionContainerProps) => JSX.Element;
13
- export {};
15
+ export declare const ExpandableSectionContainer: ({ className, children, header, variant, expanded, disableContentPaddings, __internalRootRef, __funnelSubStepProps, __subStepRef, ...rest }: ExpandableSectionContainerProps) => JSX.Element;
14
16
  //# sourceMappingURL=expandable-section-container.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"expandable-section-container.d.ts","sourceRoot":"lib/default/","sources":["expandable-section/expandable-section-container.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAElF,UAAU,+BAAgC,SAAQ,0BAA0B;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,EAAE,sBAAsB,CAAC,OAAO,CAAC;IACxC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,sBAAsB,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7C;AAED,eAAO,MAAM,0BAA0B,2GASpC,+BAA+B,gBAwBjC,CAAC"}
1
+ {"version":3,"file":"expandable-section-container.d.ts","sourceRoot":"lib/default/","sources":["expandable-section/expandable-section-container.tsx"],"names":[],"mappings":"AAEA,OAA0B,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAElF,MAAM,WAAW,+BAAgC,SAAQ,0BAA0B;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,EAAE,sBAAsB,CAAC,OAAO,CAAC;IACxC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,sBAAsB,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5C,oBAAoB,CAAC,EAAE,sBAAsB,CAAC,sBAAsB,CAAC,CAAC;IACtE,YAAY,CAAC,EAAE,sBAAsB,CAAC,cAAc,CAAC,CAAC;CACvD;AAED,eAAO,MAAM,0BAA0B,+IAWpC,+BAA+B,gBA0BjC,CAAC"}
@@ -4,9 +4,9 @@ import { __rest } from "tslib";
4
4
  import InternalContainer from '../container/internal';
5
5
  import React from 'react';
6
6
  export const ExpandableSectionContainer = (_a) => {
7
- var { className, children, header, variant, expanded, disableContentPaddings, __internalRootRef } = _a, rest = __rest(_a, ["className", "children", "header", "variant", "expanded", "disableContentPaddings", "__internalRootRef"]);
7
+ var { className, children, header, variant, expanded, disableContentPaddings, __internalRootRef, __funnelSubStepProps, __subStepRef } = _a, rest = __rest(_a, ["className", "children", "header", "variant", "expanded", "disableContentPaddings", "__internalRootRef", "__funnelSubStepProps", "__subStepRef"]);
8
8
  if (variant === 'container' || variant === 'stacked') {
9
- return (React.createElement(InternalContainer, Object.assign({}, rest, { className: className, header: header, variant: variant === 'stacked' ? 'stacked' : 'default', disableContentPaddings: disableContentPaddings || !expanded, disableHeaderPaddings: true, __hiddenContent: !expanded, __internalRootRef: __internalRootRef }), children));
9
+ return (React.createElement(InternalContainer, Object.assign({}, rest, { className: className, header: header, variant: variant === 'stacked' ? 'stacked' : 'default', disableContentPaddings: disableContentPaddings || !expanded, disableHeaderPaddings: true, __hiddenContent: !expanded, __internalRootRef: __internalRootRef, __funnelSubStepProps: __funnelSubStepProps, __subStepRef: __subStepRef }), children));
10
10
  }
11
11
  return (React.createElement("div", Object.assign({ className: className }, rest, { ref: __internalRootRef }),
12
12
  header,
@@ -1 +1 @@
1
- {"version":3,"file":"expandable-section-container.js","sourceRoot":"lib/default/","sources":["expandable-section/expandable-section-container.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,iBAAiB,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EAST,EAAE,EAAE;QATK,EACzC,SAAS,EACT,QAAQ,EACR,MAAM,EACN,OAAO,EACP,QAAQ,EACR,sBAAsB,EACtB,iBAAiB,OAEe,EAD7B,IAAI,cARkC,yGAS1C,CADQ;IAEP,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,SAAS,EAAE;QACpD,OAAO,CACL,oBAAC,iBAAiB,oBACZ,IAAI,IACR,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACtD,sBAAsB,EAAE,sBAAsB,IAAI,CAAC,QAAQ,EAC3D,qBAAqB,EAAE,IAAI,EAC3B,eAAe,EAAE,CAAC,QAAQ,EAC1B,iBAAiB,EAAE,iBAAiB,KAEnC,QAAQ,CACS,CACrB,CAAC;KACH;IAED,OAAO,CACL,2CAAK,SAAS,EAAE,SAAS,IAAM,IAAI,IAAE,GAAG,EAAE,iBAAiB;QACxD,MAAM;QACN,QAAQ,CACL,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport InternalContainer from '../container/internal';\nimport React from 'react';\nimport { ExpandableSectionProps } from './interfaces';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\n\ninterface ExpandableSectionContainerProps extends InternalBaseComponentProps {\n className?: string;\n header: React.ReactNode;\n children?: React.ReactNode;\n variant: ExpandableSectionProps.Variant;\n expanded: boolean | undefined;\n disableContentPaddings: boolean | undefined;\n}\n\nexport const ExpandableSectionContainer = ({\n className,\n children,\n header,\n variant,\n expanded,\n disableContentPaddings,\n __internalRootRef,\n ...rest\n}: ExpandableSectionContainerProps) => {\n if (variant === 'container' || variant === 'stacked') {\n return (\n <InternalContainer\n {...rest}\n className={className}\n header={header}\n variant={variant === 'stacked' ? 'stacked' : 'default'}\n disableContentPaddings={disableContentPaddings || !expanded}\n disableHeaderPaddings={true}\n __hiddenContent={!expanded}\n __internalRootRef={__internalRootRef}\n >\n {children}\n </InternalContainer>\n );\n }\n\n return (\n <div className={className} {...rest} ref={__internalRootRef}>\n {header}\n {children}\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"expandable-section-container.js","sourceRoot":"lib/default/","sources":["expandable-section/expandable-section-container.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,iBAA6C,MAAM,uBAAuB,CAAC;AAClF,OAAO,KAAK,MAAM,OAAO,CAAC;AAe1B,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EAWT,EAAE,EAAE;QAXK,EACzC,SAAS,EACT,QAAQ,EACR,MAAM,EACN,OAAO,EACP,QAAQ,EACR,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,OAEoB,EAD7B,IAAI,cAVkC,iJAW1C,CADQ;IAEP,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,SAAS,EAAE;QACpD,OAAO,CACL,oBAAC,iBAAiB,oBACZ,IAAI,IACR,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACtD,sBAAsB,EAAE,sBAAsB,IAAI,CAAC,QAAQ,EAC3D,qBAAqB,EAAE,IAAI,EAC3B,eAAe,EAAE,CAAC,QAAQ,EAC1B,iBAAiB,EAAE,iBAAiB,EACpC,oBAAoB,EAAE,oBAAoB,EAC1C,YAAY,EAAE,YAAY,KAEzB,QAAQ,CACS,CACrB,CAAC;KACH;IAED,OAAO,CACL,2CAAK,SAAS,EAAE,SAAS,IAAM,IAAI,IAAE,GAAG,EAAE,iBAAiB;QACxD,MAAM;QACN,QAAQ,CACL,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport InternalContainer, { InternalContainerProps } from '../container/internal';\nimport React from 'react';\nimport { ExpandableSectionProps } from './interfaces';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\n\nexport interface ExpandableSectionContainerProps extends InternalBaseComponentProps {\n className?: string;\n header: React.ReactNode;\n children?: React.ReactNode;\n variant: ExpandableSectionProps.Variant;\n expanded: boolean | undefined;\n disableContentPaddings: boolean | undefined;\n __funnelSubStepProps?: InternalContainerProps['__funnelSubStepProps'];\n __subStepRef?: InternalContainerProps['__subStepRef'];\n}\n\nexport const ExpandableSectionContainer = ({\n className,\n children,\n header,\n variant,\n expanded,\n disableContentPaddings,\n __internalRootRef,\n __funnelSubStepProps,\n __subStepRef,\n ...rest\n}: ExpandableSectionContainerProps) => {\n if (variant === 'container' || variant === 'stacked') {\n return (\n <InternalContainer\n {...rest}\n className={className}\n header={header}\n variant={variant === 'stacked' ? 'stacked' : 'default'}\n disableContentPaddings={disableContentPaddings || !expanded}\n disableHeaderPaddings={true}\n __hiddenContent={!expanded}\n __internalRootRef={__internalRootRef}\n __funnelSubStepProps={__funnelSubStepProps}\n __subStepRef={__subStepRef}\n >\n {children}\n </InternalContainer>\n );\n }\n\n return (\n <div className={className} {...rest} ref={__internalRootRef}>\n {header}\n {children}\n </div>\n );\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"lib/default/","sources":["expandable-section/index.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAMtD,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAElC,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAE,OAAmB,EAAE,GAAG,KAAK,EAAE,EAAE,sBAAsB,eAUlG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"lib/default/","sources":["expandable-section/index.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAOtD,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAElC,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAE,OAAmB,EAAE,GAAG,KAAK,EAAE,EAAE,sBAAsB,eAYlG"}
@@ -6,16 +6,21 @@ import { applyDisplayName } from '../internal/utils/apply-display-name';
6
6
  import InternalExpandableSection from './internal';
7
7
  import useBaseComponent from '../internal/hooks/use-base-component';
8
8
  import { AnalyticsFunnelSubStep } from '../internal/analytics/components/analytics-funnel';
9
+ import { useFunnelSubStep } from '../internal/analytics/hooks/use-funnel';
9
10
  export default function ExpandableSection(_a) {
10
11
  var { variant = 'default' } = _a, props = __rest(_a, ["variant"]);
11
12
  const baseComponentProps = useBaseComponent('ExpandableSection');
12
- const expandableSection = React.createElement(InternalExpandableSection, Object.assign({ variant: variant }, props, baseComponentProps));
13
13
  if (variant === 'container' || variant === 'stacked') {
14
- return React.createElement(AnalyticsFunnelSubStep, null, expandableSection);
14
+ return (React.createElement(AnalyticsFunnelSubStep, null,
15
+ React.createElement(InternalExpandableSectionAsSubstep, Object.assign({ variant: variant }, props, baseComponentProps))));
15
16
  }
16
17
  else {
17
- return expandableSection;
18
+ return React.createElement(InternalExpandableSection, Object.assign({ variant: variant }, props, baseComponentProps));
18
19
  }
19
20
  }
21
+ function InternalExpandableSectionAsSubstep(props) {
22
+ const { subStepRef, funnelSubStepProps } = useFunnelSubStep();
23
+ return React.createElement(InternalExpandableSection, Object.assign({}, props, { __subStepRef: subStepRef, __funnelSubStepProps: funnelSubStepProps }));
24
+ }
20
25
  applyDisplayName(ExpandableSection, 'ExpandableSection');
21
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"lib/default/","sources":["expandable-section/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,yBAAyB,MAAM,YAAY,CAAC;AACnD,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAI3F,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAyD;QAAzD,EAAE,OAAO,GAAG,SAAS,OAAoC,EAA/B,KAAK,cAA/B,WAAiC,CAAF;IACvE,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IAEjE,MAAM,iBAAiB,GAAG,oBAAC,yBAAyB,kBAAC,OAAO,EAAE,OAAO,IAAM,KAAK,EAAM,kBAAkB,EAAI,CAAC;IAE7G,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,SAAS,EAAE;QACpD,OAAO,oBAAC,sBAAsB,QAAE,iBAAiB,CAA0B,CAAC;KAC7E;SAAM;QACL,OAAO,iBAAiB,CAAC;KAC1B;AACH,CAAC;AAED,gBAAgB,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport { ExpandableSectionProps } from './interfaces';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport InternalExpandableSection from './internal';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { AnalyticsFunnelSubStep } from '../internal/analytics/components/analytics-funnel';\n\nexport { ExpandableSectionProps };\n\nexport default function ExpandableSection({ variant = 'default', ...props }: ExpandableSectionProps) {\n const baseComponentProps = useBaseComponent('ExpandableSection');\n\n const expandableSection = <InternalExpandableSection variant={variant} {...props} {...baseComponentProps} />;\n\n if (variant === 'container' || variant === 'stacked') {\n return <AnalyticsFunnelSubStep>{expandableSection}</AnalyticsFunnelSubStep>;\n } else {\n return expandableSection;\n }\n}\n\napplyDisplayName(ExpandableSection, 'ExpandableSection');\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"lib/default/","sources":["expandable-section/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,yBAA6D,MAAM,YAAY,CAAC;AACvF,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAI1E,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAyD;QAAzD,EAAE,OAAO,GAAG,SAAS,OAAoC,EAA/B,KAAK,cAA/B,WAAiC,CAAF;IACvE,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;IAEjE,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,SAAS,EAAE;QACpD,OAAO,CACL,oBAAC,sBAAsB;YACrB,oBAAC,kCAAkC,kBAAC,OAAO,EAAE,OAAO,IAAM,KAAK,EAAM,kBAAkB,EAAI,CACpE,CAC1B,CAAC;KACH;SAAM;QACL,OAAO,oBAAC,yBAAyB,kBAAC,OAAO,EAAE,OAAO,IAAM,KAAK,EAAM,kBAAkB,EAAI,CAAC;KAC3F;AACH,CAAC;AAED,SAAS,kCAAkC,CAAC,KAAqC;IAC/E,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAE9D,OAAO,oBAAC,yBAAyB,oBAAK,KAAK,IAAE,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,kBAAkB,IAAI,CAAC;AACtH,CAAC;AAED,gBAAgB,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport { ExpandableSectionProps } from './interfaces';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport InternalExpandableSection, { InternalExpandableSectionProps } from './internal';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { AnalyticsFunnelSubStep } from '../internal/analytics/components/analytics-funnel';\nimport { useFunnelSubStep } from '../internal/analytics/hooks/use-funnel';\n\nexport { ExpandableSectionProps };\n\nexport default function ExpandableSection({ variant = 'default', ...props }: ExpandableSectionProps) {\n const baseComponentProps = useBaseComponent('ExpandableSection');\n\n if (variant === 'container' || variant === 'stacked') {\n return (\n <AnalyticsFunnelSubStep>\n <InternalExpandableSectionAsSubstep variant={variant} {...props} {...baseComponentProps} />\n </AnalyticsFunnelSubStep>\n );\n } else {\n return <InternalExpandableSection variant={variant} {...props} {...baseComponentProps} />;\n }\n}\n\nfunction InternalExpandableSectionAsSubstep(props: InternalExpandableSectionProps) {\n const { subStepRef, funnelSubStepProps } = useFunnelSubStep();\n\n return <InternalExpandableSection {...props} __subStepRef={subStepRef} __funnelSubStepProps={funnelSubStepProps} />;\n}\n\napplyDisplayName(ExpandableSection, 'ExpandableSection');\n"]}
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { ExpandableSectionProps } from './interfaces';
3
+ import { ExpandableSectionContainerProps } from './expandable-section-container';
3
4
  import { InternalBaseComponentProps } from '../internal/hooks/use-base-component';
4
- type InternalExpandableSectionProps = ExpandableSectionProps & InternalBaseComponentProps;
5
- export default function InternalExpandableSection({ expanded: controlledExpanded, defaultExpanded, onChange, variant, children, header, headerText, headerCounter, headerDescription, headerInfo, headerActions, headingTagOverride, disableContentPaddings, headerAriaLabel, __internalRootRef, ...props }: InternalExpandableSectionProps): JSX.Element;
6
- export {};
5
+ export type InternalExpandableSectionProps = ExpandableSectionProps & InternalBaseComponentProps & Pick<ExpandableSectionContainerProps, '__funnelSubStepProps' | '__subStepRef'>;
6
+ export default function InternalExpandableSection({ expanded: controlledExpanded, defaultExpanded, onChange, variant, children, header, headerText, headerCounter, headerDescription, headerInfo, headerActions, headingTagOverride, disableContentPaddings, headerAriaLabel, __internalRootRef, __funnelSubStepProps, __subStepRef, ...props }: InternalExpandableSectionProps): JSX.Element;
7
7
  //# sourceMappingURL=internal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"lib/default/","sources":["expandable-section/internal.tsx"],"names":[],"mappings":";AAYA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAKtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAGlF,KAAK,8BAA8B,GAAG,sBAAsB,GAAG,0BAA0B,CAAC;AAE1F,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,EAChD,QAAQ,EAAE,kBAAkB,EAC5B,eAAe,EACf,QAAQ,EACR,OAAmB,EACnB,QAAQ,EACR,MAAM,EACN,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,GAAG,KAAK,EACT,EAAE,8BAA8B,eAgGhC"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"lib/default/","sources":["expandable-section/internal.tsx"],"names":[],"mappings":";AAYA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAGtD,OAAO,EAA8B,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AAE7G,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAGlF,MAAM,MAAM,8BAA8B,GAAG,sBAAsB,GACjE,0BAA0B,GAC1B,IAAI,CAAC,+BAA+B,EAAE,sBAAsB,GAAG,cAAc,CAAC,CAAC;AAEjF,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,EAChD,QAAQ,EAAE,kBAAkB,EAC5B,eAAe,EACf,QAAQ,EACR,OAAmB,EACnB,QAAQ,EACR,MAAM,EACN,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,GAAG,KAAK,EACT,EAAE,8BAA8B,eAkGhC"}
@@ -14,7 +14,7 @@ import { ExpandableSectionContainer } from './expandable-section-container';
14
14
  import { ExpandableSectionHeader } from './expandable-section-header';
15
15
  import { variantSupportsDescription } from './utils';
16
16
  export default function InternalExpandableSection(_a) {
17
- var { expanded: controlledExpanded, defaultExpanded, onChange, variant = 'default', children, header, headerText, headerCounter, headerDescription, headerInfo, headerActions, headingTagOverride, disableContentPaddings, headerAriaLabel, __internalRootRef } = _a, props = __rest(_a, ["expanded", "defaultExpanded", "onChange", "variant", "children", "header", "headerText", "headerCounter", "headerDescription", "headerInfo", "headerActions", "headingTagOverride", "disableContentPaddings", "headerAriaLabel", "__internalRootRef"]);
17
+ var { expanded: controlledExpanded, defaultExpanded, onChange, variant = 'default', children, header, headerText, headerCounter, headerDescription, headerInfo, headerActions, headingTagOverride, disableContentPaddings, headerAriaLabel, __internalRootRef, __funnelSubStepProps, __subStepRef } = _a, props = __rest(_a, ["expanded", "defaultExpanded", "onChange", "variant", "children", "header", "headerText", "headerCounter", "headerDescription", "headerInfo", "headerActions", "headingTagOverride", "disableContentPaddings", "headerAriaLabel", "__internalRootRef", "__funnelSubStepProps", "__subStepRef"]);
18
18
  const ref = useRef(null);
19
19
  const controlId = useUniqueId();
20
20
  const triggerControlId = `${controlId}-trigger`;
@@ -54,7 +54,7 @@ export default function InternalExpandableSection(_a) {
54
54
  };
55
55
  // Map stacked variant to container to avoid code duplication
56
56
  const baseVariant = variant === 'stacked' ? 'container' : variant;
57
- return (React.createElement(ExpandableSectionContainer, Object.assign({}, baseProps, { expanded: expanded, className: clsx(baseProps.className, styles.root), variant: variant, disableContentPaddings: disableContentPaddings, header: React.createElement(ExpandableSectionHeader, Object.assign({ id: triggerControlId, descriptionId: descriptionId, className: clsx(styles.header, styles[`header-${baseVariant}`]), variant: baseVariant, expanded: !!expanded, header: header, headerText: headerText, headerDescription: headerDescription, headerCounter: headerCounter, headerInfo: headerInfo, headerActions: headerActions, headingTagOverride: headingTagOverride }, triggerProps)), __internalRootRef: __internalRootRef }),
57
+ return (React.createElement(ExpandableSectionContainer, Object.assign({}, baseProps, { expanded: expanded, className: clsx(baseProps.className, styles.root), variant: variant, __funnelSubStepProps: __funnelSubStepProps, __subStepRef: __subStepRef, disableContentPaddings: disableContentPaddings, header: React.createElement(ExpandableSectionHeader, Object.assign({ id: triggerControlId, descriptionId: descriptionId, className: clsx(styles.header, styles[`header-${baseVariant}`]), variant: baseVariant, expanded: !!expanded, header: header, headerText: headerText, headerDescription: headerDescription, headerCounter: headerCounter, headerInfo: headerInfo, headerActions: headerActions, headingTagOverride: headingTagOverride }, triggerProps)), __internalRootRef: __internalRootRef }),
58
58
  React.createElement(CSSTransition, { in: expanded, timeout: 30, classNames: { enter: styles['content-enter'] }, nodeRef: ref },
59
59
  React.createElement("div", { id: controlId, ref: ref, className: clsx(styles.content, styles[`content-${baseVariant}`], expanded && styles['content-expanded']), role: "group", "aria-label": triggerProps.ariaLabel, "aria-labelledby": triggerProps.ariaLabelledBy, "aria-describedby": variantSupportsDescription(baseVariant) && headerDescription ? descriptionId : undefined }, children))));
60
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"lib/default/","sources":["expandable-section/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, { KeyboardEvent, useCallback, useRef } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport clsx from 'clsx';\n\nimport { getBaseProps } from '../internal/base-component';\nimport { useControllable } from '../internal/hooks/use-controllable';\nimport { useUniqueId } from '../internal/hooks/use-unique-id';\nimport { KeyCode } from '../internal/keycode';\nimport { fireNonCancelableEvent } from '../internal/events';\n\nimport { ExpandableSectionProps } from './interfaces';\n\nimport styles from './styles.css.js';\nimport { ExpandableSectionContainer } from './expandable-section-container';\nimport { ExpandableSectionHeader } from './expandable-section-header';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { variantSupportsDescription } from './utils';\n\ntype InternalExpandableSectionProps = ExpandableSectionProps & InternalBaseComponentProps;\n\nexport default function InternalExpandableSection({\n expanded: controlledExpanded,\n defaultExpanded,\n onChange,\n variant = 'default',\n children,\n header,\n headerText,\n headerCounter,\n headerDescription,\n headerInfo,\n headerActions,\n headingTagOverride,\n disableContentPaddings,\n headerAriaLabel,\n __internalRootRef,\n ...props\n}: InternalExpandableSectionProps) {\n const ref = useRef<HTMLDivElement>(null);\n const controlId = useUniqueId();\n const triggerControlId = `${controlId}-trigger`;\n const descriptionId = `${controlId}-description`;\n\n const baseProps = getBaseProps(props);\n const [expanded, setExpanded] = useControllable(controlledExpanded, onChange, defaultExpanded, {\n componentName: 'ExpandableSection',\n controlledProp: 'expanded',\n changeHandler: 'onChange',\n });\n\n const onExpandChange = useCallback(\n (expanded: boolean) => {\n setExpanded(expanded);\n fireNonCancelableEvent(onChange, { expanded });\n },\n [onChange, setExpanded]\n );\n\n const onClick = useCallback(() => {\n onExpandChange(!expanded);\n }, [onExpandChange, expanded]);\n\n const onKeyUp = useCallback(\n (event: KeyboardEvent<Element>) => {\n const interactionKeys = [KeyCode.enter, KeyCode.space];\n\n if (interactionKeys.indexOf(event.keyCode) !== -1) {\n onExpandChange(!expanded);\n }\n },\n [onExpandChange, expanded]\n );\n\n const onKeyDown = useCallback((event: KeyboardEvent<Element>) => {\n if (event.keyCode === KeyCode.space) {\n // Prevent the page from scrolling when toggling the component with the space bar.\n event.preventDefault();\n }\n }, []);\n\n const triggerProps = {\n ariaControls: controlId,\n ariaLabel: headerAriaLabel,\n ariaLabelledBy: headerAriaLabel ? undefined : triggerControlId,\n onKeyUp,\n onKeyDown,\n onClick,\n };\n\n // Map stacked variant to container to avoid code duplication\n const baseVariant: ExpandableSectionProps.Variant = variant === 'stacked' ? 'container' : variant;\n\n return (\n <ExpandableSectionContainer\n {...baseProps}\n expanded={expanded}\n className={clsx(baseProps.className, styles.root)}\n variant={variant}\n disableContentPaddings={disableContentPaddings}\n header={\n <ExpandableSectionHeader\n id={triggerControlId}\n descriptionId={descriptionId}\n className={clsx(styles.header, styles[`header-${baseVariant}`])}\n variant={baseVariant}\n expanded={!!expanded}\n header={header}\n headerText={headerText}\n headerDescription={headerDescription}\n headerCounter={headerCounter}\n headerInfo={headerInfo}\n headerActions={headerActions}\n headingTagOverride={headingTagOverride}\n {...triggerProps}\n />\n }\n __internalRootRef={__internalRootRef}\n >\n <CSSTransition in={expanded} timeout={30} classNames={{ enter: styles['content-enter'] }} nodeRef={ref}>\n <div\n id={controlId}\n ref={ref}\n className={clsx(styles.content, styles[`content-${baseVariant}`], expanded && styles['content-expanded'])}\n role=\"group\"\n aria-label={triggerProps.ariaLabel}\n aria-labelledby={triggerProps.ariaLabelledBy}\n aria-describedby={variantSupportsDescription(baseVariant) && headerDescription ? descriptionId : undefined}\n >\n {children}\n </div>\n </CSSTransition>\n </ExpandableSectionContainer>\n );\n}\n"]}
1
+ {"version":3,"file":"internal.js","sourceRoot":"lib/default/","sources":["expandable-section/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, { KeyboardEvent, useCallback, useRef } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport clsx from 'clsx';\n\nimport { getBaseProps } from '../internal/base-component';\nimport { useControllable } from '../internal/hooks/use-controllable';\nimport { useUniqueId } from '../internal/hooks/use-unique-id';\nimport { KeyCode } from '../internal/keycode';\nimport { fireNonCancelableEvent } from '../internal/events';\n\nimport { ExpandableSectionProps } from './interfaces';\n\nimport styles from './styles.css.js';\nimport { ExpandableSectionContainer, ExpandableSectionContainerProps } from './expandable-section-container';\nimport { ExpandableSectionHeader } from './expandable-section-header';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { variantSupportsDescription } from './utils';\n\nexport type InternalExpandableSectionProps = ExpandableSectionProps &\n InternalBaseComponentProps &\n Pick<ExpandableSectionContainerProps, '__funnelSubStepProps' | '__subStepRef'>;\n\nexport default function InternalExpandableSection({\n expanded: controlledExpanded,\n defaultExpanded,\n onChange,\n variant = 'default',\n children,\n header,\n headerText,\n headerCounter,\n headerDescription,\n headerInfo,\n headerActions,\n headingTagOverride,\n disableContentPaddings,\n headerAriaLabel,\n __internalRootRef,\n __funnelSubStepProps,\n __subStepRef,\n ...props\n}: InternalExpandableSectionProps) {\n const ref = useRef<HTMLDivElement>(null);\n const controlId = useUniqueId();\n const triggerControlId = `${controlId}-trigger`;\n const descriptionId = `${controlId}-description`;\n\n const baseProps = getBaseProps(props);\n const [expanded, setExpanded] = useControllable(controlledExpanded, onChange, defaultExpanded, {\n componentName: 'ExpandableSection',\n controlledProp: 'expanded',\n changeHandler: 'onChange',\n });\n\n const onExpandChange = useCallback(\n (expanded: boolean) => {\n setExpanded(expanded);\n fireNonCancelableEvent(onChange, { expanded });\n },\n [onChange, setExpanded]\n );\n\n const onClick = useCallback(() => {\n onExpandChange(!expanded);\n }, [onExpandChange, expanded]);\n\n const onKeyUp = useCallback(\n (event: KeyboardEvent<Element>) => {\n const interactionKeys = [KeyCode.enter, KeyCode.space];\n\n if (interactionKeys.indexOf(event.keyCode) !== -1) {\n onExpandChange(!expanded);\n }\n },\n [onExpandChange, expanded]\n );\n\n const onKeyDown = useCallback((event: KeyboardEvent<Element>) => {\n if (event.keyCode === KeyCode.space) {\n // Prevent the page from scrolling when toggling the component with the space bar.\n event.preventDefault();\n }\n }, []);\n\n const triggerProps = {\n ariaControls: controlId,\n ariaLabel: headerAriaLabel,\n ariaLabelledBy: headerAriaLabel ? undefined : triggerControlId,\n onKeyUp,\n onKeyDown,\n onClick,\n };\n\n // Map stacked variant to container to avoid code duplication\n const baseVariant: ExpandableSectionProps.Variant = variant === 'stacked' ? 'container' : variant;\n\n return (\n <ExpandableSectionContainer\n {...baseProps}\n expanded={expanded}\n className={clsx(baseProps.className, styles.root)}\n variant={variant}\n __funnelSubStepProps={__funnelSubStepProps}\n __subStepRef={__subStepRef}\n disableContentPaddings={disableContentPaddings}\n header={\n <ExpandableSectionHeader\n id={triggerControlId}\n descriptionId={descriptionId}\n className={clsx(styles.header, styles[`header-${baseVariant}`])}\n variant={baseVariant}\n expanded={!!expanded}\n header={header}\n headerText={headerText}\n headerDescription={headerDescription}\n headerCounter={headerCounter}\n headerInfo={headerInfo}\n headerActions={headerActions}\n headingTagOverride={headingTagOverride}\n {...triggerProps}\n />\n }\n __internalRootRef={__internalRootRef}\n >\n <CSSTransition in={expanded} timeout={30} classNames={{ enter: styles['content-enter'] }} nodeRef={ref}>\n <div\n id={controlId}\n ref={ref}\n className={clsx(styles.content, styles[`content-${baseVariant}`], expanded && styles['content-expanded'])}\n role=\"group\"\n aria-label={triggerProps.ariaLabel}\n aria-labelledby={triggerProps.ariaLabelledBy}\n aria-describedby={variantSupportsDescription(baseVariant) && headerDescription ? descriptionId : undefined}\n >\n {children}\n </div>\n </CSSTransition>\n </ExpandableSectionContainer>\n );\n}\n"]}
@@ -1,34 +1,34 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "content-enter": "awsui_content-enter_gwq0h_1nlb3_97",
5
- "awsui-motion-fade-in": "awsui_awsui-motion-fade-in_gwq0h_1nlb3_1",
6
- "trigger-expanded": "awsui_trigger-expanded_gwq0h_1nlb3_119",
7
- "icon": "awsui_icon_gwq0h_1nlb3_133",
8
- "root": "awsui_root_gwq0h_1nlb3_151",
9
- "expand-button": "awsui_expand-button_gwq0h_1nlb3_168",
10
- "expanded": "awsui_expanded_gwq0h_1nlb3_175",
11
- "icon-container": "awsui_icon-container_gwq0h_1nlb3_179",
12
- "icon-container-container": "awsui_icon-container-container_gwq0h_1nlb3_184",
13
- "wrapper": "awsui_wrapper_gwq0h_1nlb3_188",
14
- "wrapper-default": "awsui_wrapper-default_gwq0h_1nlb3_195",
15
- "wrapper-footer": "awsui_wrapper-footer_gwq0h_1nlb3_195",
16
- "wrapper-navigation": "awsui_wrapper-navigation_gwq0h_1nlb3_198",
17
- "wrapper-container": "awsui_wrapper-container_gwq0h_1nlb3_201",
18
- "header-deprecated": "awsui_header-deprecated_gwq0h_1nlb3_217",
19
- "wrapper-expanded": "awsui_wrapper-expanded_gwq0h_1nlb3_239",
20
- "header": "awsui_header_gwq0h_1nlb3_217",
21
- "header-wrapper": "awsui_header-wrapper_gwq0h_1nlb3_258",
22
- "header-button": "awsui_header-button_gwq0h_1nlb3_268",
23
- "header-container-button": "awsui_header-container-button_gwq0h_1nlb3_268",
24
- "header-container": "awsui_header-container_gwq0h_1nlb3_268",
25
- "header-navigation": "awsui_header-navigation_gwq0h_1nlb3_300",
26
- "header-text": "awsui_header-text_gwq0h_1nlb3_332",
27
- "content": "awsui_content_gwq0h_1nlb3_97",
28
- "content-default": "awsui_content-default_gwq0h_1nlb3_339",
29
- "content-footer": "awsui_content-footer_gwq0h_1nlb3_342",
30
- "content-expanded": "awsui_content-expanded_gwq0h_1nlb3_345",
31
- "focusable": "awsui_focusable_gwq0h_1nlb3_349",
32
- "click-target": "awsui_click-target_gwq0h_1nlb3_360"
4
+ "content-enter": "awsui_content-enter_gwq0h_1g8ek_97",
5
+ "awsui-motion-fade-in": "awsui_awsui-motion-fade-in_gwq0h_1g8ek_1",
6
+ "trigger-expanded": "awsui_trigger-expanded_gwq0h_1g8ek_119",
7
+ "icon": "awsui_icon_gwq0h_1g8ek_133",
8
+ "root": "awsui_root_gwq0h_1g8ek_151",
9
+ "expand-button": "awsui_expand-button_gwq0h_1g8ek_167",
10
+ "expanded": "awsui_expanded_gwq0h_1g8ek_174",
11
+ "icon-container": "awsui_icon-container_gwq0h_1g8ek_178",
12
+ "icon-container-container": "awsui_icon-container-container_gwq0h_1g8ek_183",
13
+ "wrapper": "awsui_wrapper_gwq0h_1g8ek_187",
14
+ "wrapper-default": "awsui_wrapper-default_gwq0h_1g8ek_194",
15
+ "wrapper-footer": "awsui_wrapper-footer_gwq0h_1g8ek_194",
16
+ "wrapper-navigation": "awsui_wrapper-navigation_gwq0h_1g8ek_197",
17
+ "wrapper-container": "awsui_wrapper-container_gwq0h_1g8ek_200",
18
+ "header-deprecated": "awsui_header-deprecated_gwq0h_1g8ek_216",
19
+ "wrapper-expanded": "awsui_wrapper-expanded_gwq0h_1g8ek_238",
20
+ "header": "awsui_header_gwq0h_1g8ek_216",
21
+ "header-wrapper": "awsui_header-wrapper_gwq0h_1g8ek_257",
22
+ "header-button": "awsui_header-button_gwq0h_1g8ek_267",
23
+ "header-container-button": "awsui_header-container-button_gwq0h_1g8ek_267",
24
+ "header-container": "awsui_header-container_gwq0h_1g8ek_267",
25
+ "header-navigation": "awsui_header-navigation_gwq0h_1g8ek_299",
26
+ "header-text": "awsui_header-text_gwq0h_1g8ek_331",
27
+ "content": "awsui_content_gwq0h_1g8ek_97",
28
+ "content-default": "awsui_content-default_gwq0h_1g8ek_338",
29
+ "content-footer": "awsui_content-footer_gwq0h_1g8ek_341",
30
+ "content-expanded": "awsui_content-expanded_gwq0h_1g8ek_344",
31
+ "focusable": "awsui_focusable_gwq0h_1g8ek_348",
32
+ "click-target": "awsui_click-target_gwq0h_1g8ek_359"
33
33
  };
34
34