@cloudscape-design/components 3.0.730 → 3.0.732

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/app-layout/classic.d.ts.map +1 -1
  2. package/app-layout/classic.js +7 -2
  3. package/app-layout/classic.js.map +1 -1
  4. package/app-layout/drawer/styles.css.js +13 -13
  5. package/app-layout/drawer/styles.scoped.css +22 -22
  6. package/app-layout/drawer/styles.selectors.js +13 -13
  7. package/app-layout/mobile-toolbar/styles.css.js +8 -8
  8. package/app-layout/mobile-toolbar/styles.scoped.css +10 -10
  9. package/app-layout/mobile-toolbar/styles.selectors.js +8 -8
  10. package/app-layout/resize/styles.css.js +9 -0
  11. package/app-layout/resize/styles.scoped.css +179 -0
  12. package/app-layout/resize/styles.selectors.js +10 -0
  13. package/app-layout/styles.css.js +12 -16
  14. package/app-layout/styles.scoped.css +12 -43
  15. package/app-layout/styles.selectors.js +12 -16
  16. package/app-layout/utils/use-drawers.js +1 -1
  17. package/app-layout/utils/use-drawers.js.map +1 -1
  18. package/app-layout/utils/use-pointer-events.js +1 -1
  19. package/app-layout/utils/use-pointer-events.js.map +1 -1
  20. package/app-layout/visual-refresh/context.d.ts.map +1 -1
  21. package/app-layout/visual-refresh/context.js +4 -1
  22. package/app-layout/visual-refresh/context.js.map +1 -1
  23. package/app-layout/visual-refresh-toolbar/compute-layout.d.ts +3 -1
  24. package/app-layout/visual-refresh-toolbar/compute-layout.d.ts.map +1 -1
  25. package/app-layout/visual-refresh-toolbar/compute-layout.js +5 -3
  26. package/app-layout/visual-refresh-toolbar/compute-layout.js.map +1 -1
  27. package/app-layout/visual-refresh-toolbar/drawer/index.d.ts.map +1 -1
  28. package/app-layout/visual-refresh-toolbar/drawer/index.js +10 -9
  29. package/app-layout/visual-refresh-toolbar/drawer/index.js.map +1 -1
  30. package/app-layout/visual-refresh-toolbar/drawer/use-resize.d.ts.map +1 -1
  31. package/app-layout/visual-refresh-toolbar/drawer/use-resize.js +1 -0
  32. package/app-layout/visual-refresh-toolbar/drawer/use-resize.js.map +1 -1
  33. package/app-layout/visual-refresh-toolbar/index.js +4 -4
  34. package/app-layout/visual-refresh-toolbar/index.js.map +1 -1
  35. package/app-layout/visual-refresh-toolbar/navigation/index.d.ts.map +1 -1
  36. package/app-layout/visual-refresh-toolbar/navigation/index.js +9 -7
  37. package/app-layout/visual-refresh-toolbar/navigation/index.js.map +1 -1
  38. package/app-layout/visual-refresh-toolbar/navigation/styles.css.js +4 -6
  39. package/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +8 -30
  40. package/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +4 -6
  41. package/app-layout/visual-refresh-toolbar/skeleton/index.d.ts.map +1 -1
  42. package/app-layout/visual-refresh-toolbar/skeleton/index.js +4 -3
  43. package/app-layout/visual-refresh-toolbar/skeleton/index.js.map +1 -1
  44. package/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +16 -16
  45. package/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +48 -33
  46. package/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +16 -16
  47. package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.d.ts.map +1 -1
  48. package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js +3 -1
  49. package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js.map +1 -1
  50. package/app-layout/visual-refresh-toolbar/toolbar/index.js +2 -2
  51. package/app-layout/visual-refresh-toolbar/toolbar/index.js.map +1 -1
  52. package/app-layout/visual-refresh-toolbar/toolbar/styles.css.js +12 -13
  53. package/app-layout/visual-refresh-toolbar/toolbar/styles.scoped.css +17 -19
  54. package/app-layout/visual-refresh-toolbar/toolbar/styles.selectors.js +12 -13
  55. package/expandable-section/analytics-metadata/interfaces.d.ts +17 -0
  56. package/expandable-section/analytics-metadata/interfaces.d.ts.map +1 -0
  57. package/expandable-section/analytics-metadata/interfaces.js +4 -0
  58. package/expandable-section/analytics-metadata/interfaces.js.map +1 -0
  59. package/expandable-section/analytics-metadata/styles.css.js +6 -0
  60. package/expandable-section/analytics-metadata/styles.scoped.css +7 -0
  61. package/expandable-section/analytics-metadata/styles.selectors.js +7 -0
  62. package/expandable-section/expandable-section-container.d.ts +2 -1
  63. package/expandable-section/expandable-section-container.d.ts.map +1 -1
  64. package/expandable-section/expandable-section-container.js +13 -3
  65. package/expandable-section/expandable-section-container.js.map +1 -1
  66. package/expandable-section/expandable-section-header.d.ts.map +1 -1
  67. package/expandable-section/expandable-section-header.js +19 -7
  68. package/expandable-section/expandable-section-header.js.map +1 -1
  69. package/expandable-section/index.d.ts.map +1 -1
  70. package/expandable-section/index.js +1 -1
  71. package/expandable-section/index.js.map +1 -1
  72. package/expandable-section/internal.d.ts +2 -1
  73. package/expandable-section/internal.d.ts.map +1 -1
  74. package/expandable-section/internal.js +2 -2
  75. package/expandable-section/internal.js.map +1 -1
  76. package/flashbar/styles.css.js +47 -47
  77. package/flashbar/styles.scoped.css +158 -158
  78. package/flashbar/styles.selectors.js +47 -47
  79. package/i18n/messages/all.all.js +1 -1
  80. package/i18n/messages/all.all.json +1 -1
  81. package/i18n/messages/all.ar.js +1 -1
  82. package/i18n/messages/all.ar.json +1 -1
  83. package/i18n/messages/all.de.js +1 -1
  84. package/i18n/messages/all.de.json +1 -1
  85. package/i18n/messages/all.en-GB.js +1 -1
  86. package/i18n/messages/all.en-GB.json +1 -1
  87. package/i18n/messages/all.es.js +1 -1
  88. package/i18n/messages/all.es.json +1 -1
  89. package/i18n/messages/all.fr.js +1 -1
  90. package/i18n/messages/all.fr.json +1 -1
  91. package/i18n/messages/all.id.js +1 -1
  92. package/i18n/messages/all.id.json +1 -1
  93. package/i18n/messages/all.it.js +1 -1
  94. package/i18n/messages/all.it.json +1 -1
  95. package/i18n/messages/all.ja.js +1 -1
  96. package/i18n/messages/all.ja.json +1 -1
  97. package/i18n/messages/all.ko.js +1 -1
  98. package/i18n/messages/all.ko.json +1 -1
  99. package/i18n/messages/all.pt-BR.js +1 -1
  100. package/i18n/messages/all.pt-BR.json +1 -1
  101. package/i18n/messages/all.tr.js +1 -1
  102. package/i18n/messages/all.tr.json +1 -1
  103. package/i18n/messages/all.zh-CN.js +1 -1
  104. package/i18n/messages/all.zh-CN.json +1 -1
  105. package/i18n/messages/all.zh-TW.js +1 -1
  106. package/i18n/messages/all.zh-TW.json +1 -1
  107. package/internal/base-component/styles.scoped.css +10 -5
  108. package/internal/environment.js +1 -1
  109. package/internal/environment.json +1 -1
  110. package/internal/generated/styles/tokens.js +1 -1
  111. package/internal/generated/theming/index.cjs +15 -15
  112. package/internal/generated/theming/index.js +15 -15
  113. package/internal/manifest.json +1 -1
  114. package/package.json +1 -1
  115. package/property-filter/i18n-utils.d.ts.map +1 -1
  116. package/property-filter/i18n-utils.js +10 -16
  117. package/property-filter/i18n-utils.js.map +1 -1
  118. package/property-filter/internal.js +1 -1
  119. package/property-filter/internal.js.map +1 -1
  120. package/split-panel/bottom.d.ts +1 -4
  121. package/split-panel/bottom.d.ts.map +1 -1
  122. package/split-panel/bottom.js +5 -7
  123. package/split-panel/bottom.js.map +1 -1
  124. package/split-panel/implementation.d.ts.map +1 -1
  125. package/split-panel/implementation.js +5 -5
  126. package/split-panel/implementation.js.map +1 -1
  127. package/split-panel/side.d.ts.map +1 -1
  128. package/split-panel/side.js +5 -3
  129. package/split-panel/side.js.map +1 -1
  130. package/split-panel/styles.css.js +26 -27
  131. package/split-panel/styles.scoped.css +50 -215
  132. package/split-panel/styles.selectors.js +26 -27
  133. package/tabs/analytics-metadata/interfaces.d.ts +33 -0
  134. package/tabs/analytics-metadata/interfaces.d.ts.map +1 -0
  135. package/tabs/analytics-metadata/interfaces.js +4 -0
  136. package/tabs/analytics-metadata/interfaces.js.map +1 -0
  137. package/tabs/analytics-metadata/styles.css.js +9 -0
  138. package/tabs/analytics-metadata/styles.scoped.css +10 -0
  139. package/tabs/analytics-metadata/styles.selectors.js +10 -0
  140. package/tabs/index.d.ts.map +1 -1
  141. package/tabs/index.js +16 -2
  142. package/tabs/index.js.map +1 -1
  143. package/tabs/tab-header-bar.d.ts.map +1 -1
  144. package/tabs/tab-header-bar.js +36 -9
  145. package/tabs/tab-header-bar.js.map +1 -1
  146. package/wizard/styles.css.js +30 -30
  147. package/wizard/styles.scoped.css +59 -59
  148. package/wizard/styles.selectors.js +30 -30
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/app-layout/visual-refresh-toolbar/toolbar/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useResizeObserver } from '@cloudscape-design/component-toolkit/internal';\n\nimport { InternalBreadcrumbGroup } from '../../../breadcrumb-group/internal';\nimport { createWidgetizedComponent } from '../../../internal/widgets';\nimport { AppLayoutProps } from '../../interfaces';\nimport { Focusable } from '../../utils/use-focus-control';\nimport { AppLayoutInternals } from '../interfaces';\nimport { ToolbarSlot } from '../skeleton/slot-wrappers';\nimport { DrawerTriggers, SplitPanelToggleProps } from './drawer-triggers';\nimport TriggerButton from './trigger-button';\n\nimport testutilStyles from '../../test-classes/styles.css.js';\nimport styles from './styles.css.js';\n\nexport { SplitPanelToggleProps };\n\nexport interface ToolbarProps {\n ariaLabels?: AppLayoutProps.Labels;\n // navigation\n hasNavigation?: boolean;\n navigationOpen?: boolean;\n onNavigationToggle?: (open: boolean) => void;\n navigationFocusRef?: React.Ref<Focusable>;\n\n // breadcrumbs\n hasBreadcrumbsPortal?: boolean;\n\n // split panel\n hasSplitPanel?: boolean;\n splitPanelToggleProps?: SplitPanelToggleProps;\n splitPanelFocusRef?: React.Ref<Focusable>;\n onSplitPanelToggle?: () => void;\n\n // drawers\n activeDrawerId?: string | null;\n drawers?: ReadonlyArray<AppLayoutProps.Drawer>;\n drawersFocusRef?: React.Ref<Focusable>;\n onActiveDrawerChange?: (drawerId: string | null) => void;\n}\n\ninterface AppLayoutToolbarImplementationProps {\n appLayoutInternals: AppLayoutInternals;\n toolbarProps: ToolbarProps;\n}\n\n// support compatibility with changes before this commit: cf0f2b0755af1a28ac7c3c9476418a7ea807d0fd\nfunction convertLegacyProps(toolbarProps: ToolbarProps, legacyProps: AppLayoutInternals): ToolbarProps {\n return {\n ariaLabels: toolbarProps.ariaLabels ?? legacyProps.ariaLabels,\n activeDrawerId: toolbarProps.activeDrawerId ?? legacyProps.activeDrawer?.id,\n drawers: toolbarProps.drawers ?? legacyProps.drawers,\n drawersFocusRef: toolbarProps.drawersFocusRef ?? legacyProps.drawersFocusControl?.refs.toggle,\n onActiveDrawerChange: toolbarProps.onActiveDrawerChange ?? legacyProps.onActiveDrawerChange,\n hasNavigation: toolbarProps.hasNavigation ?? !!legacyProps.navigation,\n navigationOpen: toolbarProps.navigationOpen ?? legacyProps.navigationOpen,\n navigationFocusRef: toolbarProps.navigationFocusRef ?? legacyProps.navigationFocusControl?.refs.toggle,\n onNavigationToggle: toolbarProps.onNavigationToggle ?? legacyProps.onNavigationToggle,\n hasSplitPanel: toolbarProps.hasSplitPanel ?? true,\n splitPanelFocusRef: legacyProps.splitPanelFocusControl?.refs.toggle,\n splitPanelToggleProps: toolbarProps.splitPanelToggleProps ?? {\n ...legacyProps.splitPanelToggleConfig,\n active: legacyProps.splitPanelOpen,\n controlId: legacyProps.splitPanelControlId,\n position: legacyProps.splitPanelPosition,\n },\n onSplitPanelToggle: toolbarProps.onSplitPanelToggle ?? legacyProps.onSplitPanelToggle,\n };\n}\n\nexport function AppLayoutToolbarImplementation({\n appLayoutInternals,\n // the value could be undefined if this component is loaded as a widget by a different app layout version\n // not testable in a single-version setup\n toolbarProps = {},\n}: AppLayoutToolbarImplementationProps) {\n const {\n breadcrumbs,\n discoveredBreadcrumbs,\n verticalOffsets,\n isMobile,\n toolbarState,\n setToolbarState,\n setToolbarHeight,\n } = appLayoutInternals;\n const {\n ariaLabels,\n activeDrawerId,\n drawers,\n drawersFocusRef,\n onActiveDrawerChange,\n hasNavigation,\n navigationOpen,\n navigationFocusRef,\n onNavigationToggle,\n hasSplitPanel,\n splitPanelFocusRef,\n splitPanelToggleProps,\n onSplitPanelToggle,\n } = convertLegacyProps(toolbarProps, appLayoutInternals);\n // TODO: expose configuration property\n const pinnedToolbar = true;\n const ref = useRef<HTMLElement>(null);\n useResizeObserver(ref, entry => setToolbarHeight(entry.borderBoxHeight));\n useEffect(() => {\n return () => {\n setToolbarHeight(0);\n };\n // unmount effect only\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n let lastScrollY = window.scrollY;\n\n /* istanbul ignore next not testable in JSDOM */\n const updateScrollDirection = () => {\n if (pinnedToolbar) {\n setToolbarState('show');\n return;\n }\n const scrollY = window.scrollY;\n // 80 is an arbitrary number to have a pause before the toolbar scrolls out of view at the top of the page\n const direction = scrollY > lastScrollY && scrollY > 80 ? 'hide' : 'show';\n // 2 as a buffer to avoid mistaking minor accidental mouse moves as scroll\n if (direction !== toolbarState && (scrollY - lastScrollY > 2 || scrollY - lastScrollY < -2)) {\n setToolbarState(direction);\n }\n lastScrollY = scrollY > 0 ? scrollY : 0;\n };\n\n window.addEventListener('scroll', updateScrollDirection);\n return () => {\n window.removeEventListener('scroll', updateScrollDirection);\n };\n }, [pinnedToolbar, setToolbarState, toolbarState]);\n\n const toolbarHidden = toolbarState === 'hide' && !pinnedToolbar;\n\n return (\n <ToolbarSlot\n ref={ref}\n className={clsx(styles['universal-toolbar'], testutilStyles.toolbar, {\n [testutilStyles['mobile-bar']]: isMobile,\n [styles['toolbar-hidden']]: toolbarHidden,\n })}\n style={{\n insetBlockStart: toolbarHidden ? '-60px' : verticalOffsets.toolbar,\n }}\n >\n <div className={styles['toolbar-container']}>\n {hasNavigation && !navigationOpen && (\n <nav className={clsx(styles['universal-toolbar-nav'], testutilStyles['drawer-closed'])}>\n <TriggerButton\n ariaLabel={ariaLabels?.navigationToggle ?? undefined}\n ariaExpanded={false}\n iconName=\"menu\"\n className={testutilStyles['navigation-toggle']}\n onClick={() => onNavigationToggle?.(true)}\n ref={navigationFocusRef}\n selected={navigationOpen}\n />\n </nav>\n )}\n {(breadcrumbs || discoveredBreadcrumbs) && (\n <div className={clsx(styles['universal-toolbar-breadcrumbs'], testutilStyles.breadcrumbs)}>\n {breadcrumbs}\n {discoveredBreadcrumbs && (\n <InternalBreadcrumbGroup {...discoveredBreadcrumbs} __injectAnalyticsComponentMetadata={true} />\n )}\n </div>\n )}\n {((drawers && drawers.length > 0) || (hasSplitPanel && splitPanelToggleProps?.displayed)) && (\n <span className={clsx(styles['universal-toolbar-drawers'])}>\n <DrawerTriggers\n ariaLabels={ariaLabels}\n activeDrawerId={activeDrawerId ?? null}\n drawers={drawers ?? []}\n drawersFocusRef={drawersFocusRef}\n onActiveDrawerChange={onActiveDrawerChange}\n splitPanelToggleProps={splitPanelToggleProps?.displayed ? splitPanelToggleProps : undefined}\n splitPanelFocusRef={splitPanelFocusRef}\n onSplitPanelToggle={onSplitPanelToggle}\n />\n </span>\n )}\n </div>\n </ToolbarSlot>\n );\n}\n\nexport const createWidgetizedAppLayoutToolbar = createWidgetizedComponent(AppLayoutToolbarImplementation);\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/app-layout/visual-refresh-toolbar/toolbar/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useResizeObserver } from '@cloudscape-design/component-toolkit/internal';\n\nimport { InternalBreadcrumbGroup } from '../../../breadcrumb-group/internal';\nimport { createWidgetizedComponent } from '../../../internal/widgets';\nimport { AppLayoutProps } from '../../interfaces';\nimport { Focusable } from '../../utils/use-focus-control';\nimport { AppLayoutInternals } from '../interfaces';\nimport { ToolbarSlot } from '../skeleton/slot-wrappers';\nimport { DrawerTriggers, SplitPanelToggleProps } from './drawer-triggers';\nimport TriggerButton from './trigger-button';\n\nimport testutilStyles from '../../test-classes/styles.css.js';\nimport styles from './styles.css.js';\n\nexport { SplitPanelToggleProps };\n\nexport interface ToolbarProps {\n ariaLabels?: AppLayoutProps.Labels;\n // navigation\n hasNavigation?: boolean;\n navigationOpen?: boolean;\n onNavigationToggle?: (open: boolean) => void;\n navigationFocusRef?: React.Ref<Focusable>;\n\n // breadcrumbs\n hasBreadcrumbsPortal?: boolean;\n\n // split panel\n hasSplitPanel?: boolean;\n splitPanelToggleProps?: SplitPanelToggleProps;\n splitPanelFocusRef?: React.Ref<Focusable>;\n onSplitPanelToggle?: () => void;\n\n // drawers\n activeDrawerId?: string | null;\n drawers?: ReadonlyArray<AppLayoutProps.Drawer>;\n drawersFocusRef?: React.Ref<Focusable>;\n onActiveDrawerChange?: (drawerId: string | null) => void;\n}\n\ninterface AppLayoutToolbarImplementationProps {\n appLayoutInternals: AppLayoutInternals;\n toolbarProps: ToolbarProps;\n}\n\n// support compatibility with changes before this commit: cf0f2b0755af1a28ac7c3c9476418a7ea807d0fd\nfunction convertLegacyProps(toolbarProps: ToolbarProps, legacyProps: AppLayoutInternals): ToolbarProps {\n return {\n ariaLabels: toolbarProps.ariaLabels ?? legacyProps.ariaLabels,\n activeDrawerId: toolbarProps.activeDrawerId ?? legacyProps.activeDrawer?.id,\n drawers: toolbarProps.drawers ?? legacyProps.drawers,\n drawersFocusRef: toolbarProps.drawersFocusRef ?? legacyProps.drawersFocusControl?.refs.toggle,\n onActiveDrawerChange: toolbarProps.onActiveDrawerChange ?? legacyProps.onActiveDrawerChange,\n hasNavigation: toolbarProps.hasNavigation ?? !!legacyProps.navigation,\n navigationOpen: toolbarProps.navigationOpen ?? legacyProps.navigationOpen,\n navigationFocusRef: toolbarProps.navigationFocusRef ?? legacyProps.navigationFocusControl?.refs.toggle,\n onNavigationToggle: toolbarProps.onNavigationToggle ?? legacyProps.onNavigationToggle,\n hasSplitPanel: toolbarProps.hasSplitPanel ?? true,\n splitPanelFocusRef: legacyProps.splitPanelFocusControl?.refs.toggle,\n splitPanelToggleProps: toolbarProps.splitPanelToggleProps ?? {\n ...legacyProps.splitPanelToggleConfig,\n active: legacyProps.splitPanelOpen,\n controlId: legacyProps.splitPanelControlId,\n position: legacyProps.splitPanelPosition,\n },\n onSplitPanelToggle: toolbarProps.onSplitPanelToggle ?? legacyProps.onSplitPanelToggle,\n };\n}\n\nexport function AppLayoutToolbarImplementation({\n appLayoutInternals,\n // the value could be undefined if this component is loaded as a widget by a different app layout version\n // not testable in a single-version setup\n toolbarProps = {},\n}: AppLayoutToolbarImplementationProps) {\n const {\n breadcrumbs,\n discoveredBreadcrumbs,\n verticalOffsets,\n isMobile,\n toolbarState,\n setToolbarState,\n setToolbarHeight,\n } = appLayoutInternals;\n const {\n ariaLabels,\n activeDrawerId,\n drawers,\n drawersFocusRef,\n onActiveDrawerChange,\n hasNavigation,\n navigationOpen,\n navigationFocusRef,\n onNavigationToggle,\n hasSplitPanel,\n splitPanelFocusRef,\n splitPanelToggleProps,\n onSplitPanelToggle,\n } = convertLegacyProps(toolbarProps, appLayoutInternals);\n // TODO: expose configuration property\n const pinnedToolbar = true;\n const ref = useRef<HTMLElement>(null);\n useResizeObserver(ref, entry => setToolbarHeight(entry.borderBoxHeight));\n useEffect(() => {\n return () => {\n setToolbarHeight(0);\n };\n // unmount effect only\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n let lastScrollY = window.scrollY;\n\n /* istanbul ignore next not testable in JSDOM */\n const updateScrollDirection = () => {\n if (pinnedToolbar) {\n setToolbarState('show');\n return;\n }\n const scrollY = window.scrollY;\n // 80 is an arbitrary number to have a pause before the toolbar scrolls out of view at the top of the page\n const direction = scrollY > lastScrollY && scrollY > 80 ? 'hide' : 'show';\n // 2 as a buffer to avoid mistaking minor accidental mouse moves as scroll\n if (direction !== toolbarState && (scrollY - lastScrollY > 2 || scrollY - lastScrollY < -2)) {\n setToolbarState(direction);\n }\n lastScrollY = scrollY > 0 ? scrollY : 0;\n };\n\n window.addEventListener('scroll', updateScrollDirection);\n return () => {\n window.removeEventListener('scroll', updateScrollDirection);\n };\n }, [pinnedToolbar, setToolbarState, toolbarState]);\n\n const toolbarHidden = toolbarState === 'hide' && !pinnedToolbar;\n\n return (\n <ToolbarSlot\n ref={ref}\n className={clsx(styles['universal-toolbar'], testutilStyles.toolbar, {\n [testutilStyles['mobile-bar']]: isMobile,\n [styles['toolbar-hidden']]: toolbarHidden,\n })}\n style={{\n insetBlockStart: toolbarHidden ? '-60px' : verticalOffsets.toolbar,\n }}\n >\n <div className={styles['toolbar-container']}>\n {hasNavigation && (\n <nav className={clsx(styles['universal-toolbar-nav'], testutilStyles['drawer-closed'])}>\n <TriggerButton\n ariaLabel={ariaLabels?.navigationToggle ?? undefined}\n ariaExpanded={false}\n iconName=\"menu\"\n className={testutilStyles['navigation-toggle']}\n onClick={() => onNavigationToggle?.(!navigationOpen)}\n ref={navigationFocusRef}\n selected={navigationOpen}\n />\n </nav>\n )}\n {(breadcrumbs || discoveredBreadcrumbs) && (\n <div className={clsx(styles['universal-toolbar-breadcrumbs'], testutilStyles.breadcrumbs)}>\n {breadcrumbs}\n {discoveredBreadcrumbs && (\n <InternalBreadcrumbGroup {...discoveredBreadcrumbs} __injectAnalyticsComponentMetadata={true} />\n )}\n </div>\n )}\n {((drawers && drawers.length > 0) || (hasSplitPanel && splitPanelToggleProps?.displayed)) && (\n <span className={clsx(styles['universal-toolbar-drawers'])}>\n <DrawerTriggers\n ariaLabels={ariaLabels}\n activeDrawerId={activeDrawerId ?? null}\n drawers={drawers ?? []}\n drawersFocusRef={drawersFocusRef}\n onActiveDrawerChange={onActiveDrawerChange}\n splitPanelToggleProps={splitPanelToggleProps?.displayed ? splitPanelToggleProps : undefined}\n splitPanelFocusRef={splitPanelFocusRef}\n onSplitPanelToggle={onSplitPanelToggle}\n />\n </span>\n )}\n </div>\n </ToolbarSlot>\n );\n}\n\nexport const createWidgetizedAppLayoutToolbar = createWidgetizedComponent(AppLayoutToolbarImplementation);\n"]}
@@ -1,18 +1,17 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "universal-toolbar": "awsui_universal-toolbar_1kzri_9v5ww_141",
5
- "disable-body-scroll": "awsui_disable-body-scroll_1kzri_9v5ww_163",
6
- "toolbar-hidden": "awsui_toolbar-hidden_1kzri_9v5ww_166",
7
- "toolbar-container": "awsui_toolbar-container_1kzri_9v5ww_169",
8
- "universal-toolbar-nav": "awsui_universal-toolbar-nav_1kzri_9v5ww_178",
9
- "universal-toolbar-breadcrumbs": "awsui_universal-toolbar-breadcrumbs_1kzri_9v5ww_182",
10
- "universal-toolbar-drawers": "awsui_universal-toolbar-drawers_1kzri_9v5ww_187",
11
- "drawers-desktop-triggers-container": "awsui_drawers-desktop-triggers-container_1kzri_9v5ww_195",
12
- "drawers-mobile-triggers-container": "awsui_drawers-mobile-triggers-container_1kzri_9v5ww_196",
13
- "drawers-trigger-content": "awsui_drawers-trigger-content_1kzri_9v5ww_242",
14
- "has-multiple-triggers": "awsui_has-multiple-triggers_1kzri_9v5ww_250",
15
- "has-open-drawer": "awsui_has-open-drawer_1kzri_9v5ww_250",
16
- "drawers-trigger": "awsui_drawers-trigger_1kzri_9v5ww_242"
4
+ "universal-toolbar": "awsui_universal-toolbar_1kzri_1n996_141",
5
+ "disable-body-scroll": "awsui_disable-body-scroll_1kzri_1n996_162",
6
+ "toolbar-hidden": "awsui_toolbar-hidden_1kzri_1n996_165",
7
+ "toolbar-container": "awsui_toolbar-container_1kzri_1n996_168",
8
+ "universal-toolbar-nav": "awsui_universal-toolbar-nav_1kzri_1n996_177",
9
+ "universal-toolbar-breadcrumbs": "awsui_universal-toolbar-breadcrumbs_1kzri_1n996_181",
10
+ "universal-toolbar-drawers": "awsui_universal-toolbar-drawers_1kzri_1n996_186",
11
+ "drawers-desktop-triggers-container": "awsui_drawers-desktop-triggers-container_1kzri_1n996_194",
12
+ "drawers-mobile-triggers-container": "awsui_drawers-mobile-triggers-container_1kzri_1n996_195",
13
+ "drawers-trigger-content": "awsui_drawers-trigger-content_1kzri_1n996_241",
14
+ "group-divider": "awsui_group-divider_1kzri_1n996_250",
15
+ "drawers-trigger": "awsui_drawers-trigger_1kzri_1n996_241"
17
16
  };
18
17
 
@@ -138,9 +138,8 @@
138
138
  */
139
139
  /* Style used for links in slots/components that are text heavy, to help links stand out among
140
140
  surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F73#description */
141
- .awsui_universal-toolbar_1kzri_9v5ww_141:not(#\9) {
141
+ .awsui_universal-toolbar_1kzri_1n996_141:not(#\9) {
142
142
  background-color: var(--color-background-layout-panel-content-t82vgh, #ffffff);
143
- border-block-end: 1px solid var(--color-border-divider-panel-bottom-dwyqvg, #b6bec9);
144
143
  box-sizing: border-box;
145
144
  padding-block: 0;
146
145
  padding-inline: var(--space-m-udix3p, 16px);
@@ -151,22 +150,22 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
151
150
  transition-property: inset-block-start, opacity;
152
151
  }
153
152
  @media (prefers-reduced-motion: reduce) {
154
- .awsui_universal-toolbar_1kzri_9v5ww_141:not(#\9) {
153
+ .awsui_universal-toolbar_1kzri_1n996_141:not(#\9) {
155
154
  animation: none;
156
155
  transition: none;
157
156
  }
158
157
  }
159
- .awsui-motion-disabled .awsui_universal-toolbar_1kzri_9v5ww_141:not(#\9), .awsui-mode-entering .awsui_universal-toolbar_1kzri_9v5ww_141:not(#\9) {
158
+ .awsui-motion-disabled .awsui_universal-toolbar_1kzri_1n996_141:not(#\9), .awsui-mode-entering .awsui_universal-toolbar_1kzri_1n996_141:not(#\9) {
160
159
  animation: none;
161
160
  transition: none;
162
161
  }
163
- .awsui_universal-toolbar_1kzri_9v5ww_141.awsui_disable-body-scroll_1kzri_9v5ww_163:not(#\9) {
162
+ .awsui_universal-toolbar_1kzri_1n996_141.awsui_disable-body-scroll_1kzri_1n996_162:not(#\9) {
164
163
  inset-block-start: 0px;
165
164
  }
166
- .awsui_universal-toolbar_1kzri_9v5ww_141.awsui_toolbar-hidden_1kzri_9v5ww_166:not(#\9) {
165
+ .awsui_universal-toolbar_1kzri_1n996_141.awsui_toolbar-hidden_1kzri_1n996_165:not(#\9) {
167
166
  opacity: 0;
168
167
  }
169
- .awsui_universal-toolbar_1kzri_9v5ww_141 > .awsui_toolbar-container_1kzri_9v5ww_169:not(#\9) {
168
+ .awsui_universal-toolbar_1kzri_1n996_141 > .awsui_toolbar-container_1kzri_1n996_168:not(#\9) {
170
169
  block-size: 48px;
171
170
  align-items: center;
172
171
  display: grid;
@@ -175,16 +174,16 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
175
174
  grid-template-columns: min-content auto minmax(140px, 1fr);
176
175
  grid-template-rows: 1fr;
177
176
  }
178
- .awsui_universal-toolbar_1kzri_9v5ww_141 > .awsui_toolbar-container_1kzri_9v5ww_169 > .awsui_universal-toolbar-nav_1kzri_9v5ww_178:not(#\9) {
177
+ .awsui_universal-toolbar_1kzri_1n996_141 > .awsui_toolbar-container_1kzri_1n996_168 > .awsui_universal-toolbar-nav_1kzri_1n996_177:not(#\9) {
179
178
  grid-column: 1;
180
179
  padding-inline-end: var(--space-static-xxs-82cdfi, 4px);
181
180
  }
182
- .awsui_universal-toolbar_1kzri_9v5ww_141 > .awsui_toolbar-container_1kzri_9v5ww_169 > .awsui_universal-toolbar-breadcrumbs_1kzri_9v5ww_182:not(#\9) {
181
+ .awsui_universal-toolbar_1kzri_1n996_141 > .awsui_toolbar-container_1kzri_1n996_168 > .awsui_universal-toolbar-breadcrumbs_1kzri_1n996_181:not(#\9) {
183
182
  grid-column: 2;
184
183
  background-color: transparent;
185
184
  flex: 1 0;
186
185
  }
187
- .awsui_universal-toolbar_1kzri_9v5ww_141 > .awsui_toolbar-container_1kzri_9v5ww_169 > .awsui_universal-toolbar-drawers_1kzri_9v5ww_187:not(#\9) {
186
+ .awsui_universal-toolbar_1kzri_1n996_141 > .awsui_toolbar-container_1kzri_1n996_168 > .awsui_universal-toolbar-drawers_1kzri_1n996_186:not(#\9) {
188
187
  grid-column: 3;
189
188
  column-gap: var(--space-static-xs-7sfb63, 8px);
190
189
  display: flex;
@@ -192,8 +191,8 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
192
191
  block-size: 100%;
193
192
  }
194
193
 
195
- .awsui_drawers-desktop-triggers-container_1kzri_9v5ww_195:not(#\9),
196
- .awsui_drawers-mobile-triggers-container_1kzri_9v5ww_196:not(#\9) {
194
+ .awsui_drawers-desktop-triggers-container_1kzri_1n996_194:not(#\9),
195
+ .awsui_drawers-mobile-triggers-container_1kzri_1n996_195:not(#\9) {
197
196
  border-collapse: separate;
198
197
  border-spacing: 0;
199
198
  box-sizing: border-box;
@@ -240,7 +239,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
240
239
  inline-size: 100%;
241
240
  }
242
241
 
243
- .awsui_drawers-trigger-content_1kzri_9v5ww_242:not(#\9) {
242
+ .awsui_drawers-trigger-content_1kzri_1n996_241:not(#\9) {
244
243
  block-size: 100%;
245
244
  align-items: center;
246
245
  display: flex;
@@ -248,15 +247,14 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
248
247
  gap: var(--space-xs-zb16t3, 8px);
249
248
  justify-content: flex-end;
250
249
  }
251
- .awsui_drawers-trigger-content_1kzri_9v5ww_242:not(#\9):not(.awsui_has-multiple-triggers_1kzri_9v5ww_250).awsui_has-open-drawer_1kzri_9v5ww_250 {
252
- opacity: 0;
253
- }
254
- .awsui_drawers-trigger-content_1kzri_9v5ww_242:not(#\9):not(.awsui_has-multiple-triggers_1kzri_9v5ww_250):not(.awsui_has-open-drawer_1kzri_9v5ww_250) {
255
- opacity: 1;
250
+
251
+ .awsui_group-divider_1kzri_1n996_250:not(#\9) {
252
+ border-inline-end: var(--border-divider-section-width-1061zr, 1px) solid var(--color-border-layout-1zovx9, #b6bec9);
253
+ block-size: 60%;
256
254
  }
257
255
 
258
256
  @media (max-width: 688px) {
259
- .awsui_drawers-trigger_1kzri_9v5ww_242:not(#\9) {
257
+ .awsui_drawers-trigger_1kzri_1n996_241:not(#\9) {
260
258
  display: flex;
261
259
  justify-content: center;
262
260
  align-items: center;
@@ -2,18 +2,17 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "universal-toolbar": "awsui_universal-toolbar_1kzri_9v5ww_141",
6
- "disable-body-scroll": "awsui_disable-body-scroll_1kzri_9v5ww_163",
7
- "toolbar-hidden": "awsui_toolbar-hidden_1kzri_9v5ww_166",
8
- "toolbar-container": "awsui_toolbar-container_1kzri_9v5ww_169",
9
- "universal-toolbar-nav": "awsui_universal-toolbar-nav_1kzri_9v5ww_178",
10
- "universal-toolbar-breadcrumbs": "awsui_universal-toolbar-breadcrumbs_1kzri_9v5ww_182",
11
- "universal-toolbar-drawers": "awsui_universal-toolbar-drawers_1kzri_9v5ww_187",
12
- "drawers-desktop-triggers-container": "awsui_drawers-desktop-triggers-container_1kzri_9v5ww_195",
13
- "drawers-mobile-triggers-container": "awsui_drawers-mobile-triggers-container_1kzri_9v5ww_196",
14
- "drawers-trigger-content": "awsui_drawers-trigger-content_1kzri_9v5ww_242",
15
- "has-multiple-triggers": "awsui_has-multiple-triggers_1kzri_9v5ww_250",
16
- "has-open-drawer": "awsui_has-open-drawer_1kzri_9v5ww_250",
17
- "drawers-trigger": "awsui_drawers-trigger_1kzri_9v5ww_242"
5
+ "universal-toolbar": "awsui_universal-toolbar_1kzri_1n996_141",
6
+ "disable-body-scroll": "awsui_disable-body-scroll_1kzri_1n996_162",
7
+ "toolbar-hidden": "awsui_toolbar-hidden_1kzri_1n996_165",
8
+ "toolbar-container": "awsui_toolbar-container_1kzri_1n996_168",
9
+ "universal-toolbar-nav": "awsui_universal-toolbar-nav_1kzri_1n996_177",
10
+ "universal-toolbar-breadcrumbs": "awsui_universal-toolbar-breadcrumbs_1kzri_1n996_181",
11
+ "universal-toolbar-drawers": "awsui_universal-toolbar-drawers_1kzri_1n996_186",
12
+ "drawers-desktop-triggers-container": "awsui_drawers-desktop-triggers-container_1kzri_1n996_194",
13
+ "drawers-mobile-triggers-container": "awsui_drawers-mobile-triggers-container_1kzri_1n996_195",
14
+ "drawers-trigger-content": "awsui_drawers-trigger-content_1kzri_1n996_241",
15
+ "group-divider": "awsui_group-divider_1kzri_1n996_250",
16
+ "drawers-trigger": "awsui_drawers-trigger_1kzri_1n996_241"
18
17
  };
19
18
 
@@ -0,0 +1,17 @@
1
+ import { LabelIdentifier } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';
2
+ export interface GeneratedAnalyticsMetadataExpandableSectionExpand {
3
+ action: 'expand';
4
+ detail: {
5
+ label: LabelIdentifier;
6
+ expanded: string;
7
+ };
8
+ }
9
+ export interface GeneratedAnalyticsMetadataExpandableSectionComponent {
10
+ name: 'awsui.ExpandableSection';
11
+ label: LabelIdentifier;
12
+ properties: {
13
+ variant: string;
14
+ expanded?: string;
15
+ };
16
+ }
17
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/expandable-section/analytics-metadata/interfaces.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,kEAAkE,CAAC;AAEnG,MAAM,WAAW,iDAAiD;IAChE,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE;QACN,KAAK,EAAE,eAAe,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,oDAAoD;IACnE,IAAI,EAAE,yBAAyB,CAAC;IAChC,KAAK,EAAE,eAAe,CAAC;IACvB,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH"}
@@ -0,0 +1,4 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export {};
4
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/expandable-section/analytics-metadata/interfaces.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { LabelIdentifier } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nexport interface GeneratedAnalyticsMetadataExpandableSectionExpand {\n action: 'expand';\n detail: {\n label: LabelIdentifier;\n expanded: string;\n };\n}\n\nexport interface GeneratedAnalyticsMetadataExpandableSectionComponent {\n name: 'awsui.ExpandableSection';\n label: LabelIdentifier;\n properties: {\n variant: string;\n expanded?: string;\n };\n}\n"]}
@@ -0,0 +1,6 @@
1
+
2
+ import './styles.scoped.css';
3
+ export default {
4
+ "header-label": "awsui_header-label_4mvj3_170ry_5"
5
+ };
6
+
@@ -0,0 +1,7 @@
1
+ /*
2
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ .awsui_header-label_4mvj3_170ry_5:not(#\9) {
6
+ /* used in analytics metadata */
7
+ }
@@ -0,0 +1,7 @@
1
+
2
+ // es-module interop with Babel and Typescript
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ module.exports.default = {
5
+ "header-label": "awsui_header-label_4mvj3_170ry_5"
6
+ };
7
+
@@ -8,6 +8,7 @@ export interface ExpandableSectionContainerProps extends InternalBaseComponentPr
8
8
  variant: InternalVariant;
9
9
  expanded: boolean | undefined;
10
10
  disableContentPaddings: boolean | undefined;
11
+ __injectAnalyticsComponentMetadata?: boolean;
11
12
  }
12
- export declare const ExpandableSectionContainer: ({ className, children, header, variant, expanded, disableContentPaddings, __internalRootRef, ...rest }: ExpandableSectionContainerProps) => JSX.Element;
13
+ export declare const ExpandableSectionContainer: ({ className, children, header, variant, expanded, disableContentPaddings, __internalRootRef, __injectAnalyticsComponentMetadata, ...rest }: ExpandableSectionContainerProps) => JSX.Element;
13
14
  //# sourceMappingURL=expandable-section-container.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"expandable-section-container.d.ts","sourceRoot":"","sources":["../../../src/expandable-section/expandable-section-container.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,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,eAAe,CAAC;IACzB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,sBAAsB,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7C;AAED,eAAO,MAAM,0BAA0B,2GASpC,+BAA+B,gBA0BjC,CAAC"}
1
+ {"version":3,"file":"expandable-section-container.d.ts","sourceRoot":"","sources":["../../../src/expandable-section/expandable-section-container.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAElF,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAI/C,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,eAAe,CAAC;IACzB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,sBAAsB,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5C,kCAAkC,CAAC,EAAE,OAAO,CAAC;CAC9C;AAED,eAAO,MAAM,0BAA0B,+IAUpC,+BAA+B,gBA2CjC,CAAC"}
@@ -2,15 +2,25 @@ 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 { getAnalyticsLabelAttribute, getAnalyticsMetadataAttribute, } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';
5
6
  import { InternalContainerAsSubstep } from '../container/internal';
6
7
  import { AnalyticsFunnelSubStep } from '../internal/analytics/components/analytics-funnel';
8
+ import analyticsSelectors from './analytics-metadata/styles.css.js';
7
9
  export const ExpandableSectionContainer = (_a) => {
8
- var { className, children, header, variant, expanded, disableContentPaddings, __internalRootRef } = _a, rest = __rest(_a, ["className", "children", "header", "variant", "expanded", "disableContentPaddings", "__internalRootRef"]);
10
+ var { className, children, header, variant, expanded, disableContentPaddings, __internalRootRef, __injectAnalyticsComponentMetadata } = _a, rest = __rest(_a, ["className", "children", "header", "variant", "expanded", "disableContentPaddings", "__internalRootRef", "__injectAnalyticsComponentMetadata"]);
11
+ const analyticsComponentMetadata = {
12
+ name: 'awsui.ExpandableSection',
13
+ label: { root: 'self' },
14
+ properties: { variant, expanded: `${!!expanded}` },
15
+ };
16
+ const metadataAttribute = __injectAnalyticsComponentMetadata
17
+ ? getAnalyticsMetadataAttribute({ component: analyticsComponentMetadata })
18
+ : {};
9
19
  if (variant === 'container' || variant === 'stacked') {
10
20
  return (React.createElement(AnalyticsFunnelSubStep, null,
11
- React.createElement(InternalContainerAsSubstep, Object.assign({}, rest, { className: className, header: header, variant: variant === 'stacked' ? 'stacked' : 'default', disableContentPaddings: disableContentPaddings || !expanded, disableHeaderPaddings: true, __hiddenContent: !expanded, __internalRootRef: __internalRootRef }), children)));
21
+ React.createElement(InternalContainerAsSubstep, Object.assign({}, rest, { className: className, header: header, variant: variant === 'stacked' ? 'stacked' : 'default', disableContentPaddings: disableContentPaddings || !expanded, disableHeaderPaddings: true, __hiddenContent: !expanded, __internalRootRef: __internalRootRef }, metadataAttribute), children)));
12
22
  }
13
- return (React.createElement("div", Object.assign({ className: className }, rest, { ref: __internalRootRef }),
23
+ return (React.createElement("div", Object.assign({ className: className }, rest, { ref: __internalRootRef }, metadataAttribute, getAnalyticsLabelAttribute(`.${analyticsSelectors['header-label']}`)),
14
24
  header,
15
25
  children));
16
26
  };
@@ -1 +1 @@
1
- {"version":3,"file":"expandable-section-container.js","sourceRoot":"","sources":["../../../src/expandable-section/expandable-section-container.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAa3F,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,sBAAsB;YACrB,oBAAC,0BAA0B,oBACrB,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,CACkB,CACN,CAC1B,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 React from 'react';\n\nimport { InternalContainerAsSubstep } from '../container/internal';\nimport { AnalyticsFunnelSubStep } from '../internal/analytics/components/analytics-funnel';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { InternalVariant } from './interfaces';\n\nexport interface ExpandableSectionContainerProps extends InternalBaseComponentProps {\n className?: string;\n header: React.ReactNode;\n children?: React.ReactNode;\n variant: InternalVariant;\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 <AnalyticsFunnelSubStep>\n <InternalContainerAsSubstep\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 </InternalContainerAsSubstep>\n </AnalyticsFunnelSubStep>\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":"","sources":["../../../src/expandable-section/expandable-section-container.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,kEAAkE,CAAC;AAE1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAK3F,OAAO,kBAAkB,MAAM,oCAAoC,CAAC;AAYpE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,EAUT,EAAE,EAAE;QAVK,EACzC,SAAS,EACT,QAAQ,EACR,MAAM,EACN,OAAO,EACP,QAAQ,EACR,sBAAsB,EACtB,iBAAiB,EACjB,kCAAkC,OAEF,EAD7B,IAAI,cATkC,+IAU1C,CADQ;IAEP,MAAM,0BAA0B,GAAyD;QACvF,IAAI,EAAE,yBAAyB;QAC/B,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QACvB,UAAU,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;KACnD,CAAC;IAEF,MAAM,iBAAiB,GAAG,kCAAkC;QAC1D,CAAC,CAAC,6BAA6B,CAAC,EAAE,SAAS,EAAE,0BAA0B,EAAE,CAAC;QAC1E,CAAC,CAAC,EAAE,CAAC;IAEP,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,SAAS,EAAE;QACpD,OAAO,CACL,oBAAC,sBAAsB;YACrB,oBAAC,0BAA0B,oBACrB,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,IAChC,iBAAiB,GAEpB,QAAQ,CACkB,CACN,CAC1B,CAAC;KACH;IAED,OAAO,CACL,2CACE,SAAS,EAAE,SAAS,IAChB,IAAI,IACR,GAAG,EAAE,iBAAiB,IAClB,iBAAiB,EACjB,0BAA0B,CAAC,IAAI,kBAAkB,CAAC,cAAc,CAAC,EAAE,CAAC;QAEvE,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 React from 'react';\n\nimport {\n getAnalyticsLabelAttribute,\n getAnalyticsMetadataAttribute,\n} from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport { InternalContainerAsSubstep } from '../container/internal';\nimport { AnalyticsFunnelSubStep } from '../internal/analytics/components/analytics-funnel';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { GeneratedAnalyticsMetadataExpandableSectionComponent } from './analytics-metadata/interfaces';\nimport { InternalVariant } from './interfaces';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\n\nexport interface ExpandableSectionContainerProps extends InternalBaseComponentProps {\n className?: string;\n header: React.ReactNode;\n children?: React.ReactNode;\n variant: InternalVariant;\n expanded: boolean | undefined;\n disableContentPaddings: boolean | undefined;\n __injectAnalyticsComponentMetadata?: boolean;\n}\n\nexport const ExpandableSectionContainer = ({\n className,\n children,\n header,\n variant,\n expanded,\n disableContentPaddings,\n __internalRootRef,\n __injectAnalyticsComponentMetadata,\n ...rest\n}: ExpandableSectionContainerProps) => {\n const analyticsComponentMetadata: GeneratedAnalyticsMetadataExpandableSectionComponent = {\n name: 'awsui.ExpandableSection',\n label: { root: 'self' },\n properties: { variant, expanded: `${!!expanded}` },\n };\n\n const metadataAttribute = __injectAnalyticsComponentMetadata\n ? getAnalyticsMetadataAttribute({ component: analyticsComponentMetadata })\n : {};\n\n if (variant === 'container' || variant === 'stacked') {\n return (\n <AnalyticsFunnelSubStep>\n <InternalContainerAsSubstep\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 {...metadataAttribute}\n >\n {children}\n </InternalContainerAsSubstep>\n </AnalyticsFunnelSubStep>\n );\n }\n\n return (\n <div\n className={className}\n {...rest}\n ref={__internalRootRef}\n {...metadataAttribute}\n {...getAnalyticsLabelAttribute(`.${analyticsSelectors['header-label']}`)}\n >\n {header}\n {children}\n </div>\n );\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"expandable-section-header.d.ts","sourceRoot":"","sources":["../../../src/expandable-section/expandable-section-header.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAQlF,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAKvE,eAAO,MAAM,aAAa,sBAAsB,CAAC;AAEjD,UAAU,4BAA4B;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,SAAS,EAAE,oBAAoB,CAAC;IAChC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC;IAClB,OAAO,EAAE,eAAe,CAAC;CAC1B;AAcD,UAAU,4BAA6B,SAAQ,IAAI,CAAC,4BAA4B,EAAE,UAAU,GAAG,MAAM,CAAC;IACpG,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,kBAAkB,CAAC,EAAE,sBAAsB,CAAC,UAAU,CAAC;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA6JD,eAAO,MAAM,uBAAuB,oOAmBjC,4BAA4B,gBAoF9B,CAAC"}
1
+ {"version":3,"file":"expandable-section-header.d.ts","sourceRoot":"","sources":["../../../src/expandable-section/expandable-section-header.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAUlF,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAMvE,eAAO,MAAM,aAAa,sBAAsB,CAAC;AAEjD,UAAU,4BAA4B;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,SAAS,EAAE,oBAAoB,CAAC;IAChC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC;IAClB,OAAO,EAAE,eAAe,CAAC;CAC1B;AAcD,UAAU,4BAA6B,SAAQ,IAAI,CAAC,4BAA4B,EAAE,UAAU,GAAG,MAAM,CAAC;IACpG,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,kBAAkB,CAAC,EAAE,sBAAsB,CAAC,UAAU,CAAC;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAqLD,eAAO,MAAM,uBAAuB,oOAmBjC,4BAA4B,gBAoF9B,CAAC"}
@@ -3,20 +3,32 @@
3
3
  import React from 'react';
4
4
  import clsx from 'clsx';
5
5
  import { warnOnce } from '@cloudscape-design/component-toolkit/internal';
6
+ import { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';
6
7
  import InternalHeader, { Description as HeaderDescription } from '../header/internal';
7
8
  import InternalIcon from '../icon/internal';
8
9
  import { isDevelopment } from '../internal/is-development';
9
10
  import { variantSupportsActions, variantSupportsDescription, variantSupportsInfoLink } from './utils';
11
+ import analyticsSelectors from './analytics-metadata/styles.css.js';
10
12
  import styles from './styles.css.js';
11
13
  export const componentName = 'ExpandableSection';
14
+ const getExpandActionAnalyticsMetadataAttribute = (expanded) => {
15
+ const metadata = {
16
+ action: 'expand',
17
+ detail: {
18
+ label: { root: 'component' },
19
+ expanded: `${!expanded}`,
20
+ },
21
+ };
22
+ return getAnalyticsMetadataAttribute(metadata);
23
+ };
12
24
  const ExpandableDeprecatedHeader = ({ id, className, onClick, ariaLabel, ariaControls, expanded, children, icon, onKeyUp, onKeyDown, variant, }) => {
13
- return (React.createElement("div", { id: id, role: "button", className: clsx(className, styles['expand-button'], styles['click-target'], styles['header-deprecated']), tabIndex: 0, onKeyUp: onKeyUp, onKeyDown: onKeyDown, onClick: onClick, "aria-label": ariaLabel, "aria-controls": ariaControls, "aria-expanded": expanded },
25
+ return (React.createElement("div", Object.assign({ id: id, role: "button", className: clsx(className, styles['expand-button'], styles['click-target'], styles['header-deprecated'], analyticsSelectors['header-label']), tabIndex: 0, onKeyUp: onKeyUp, onKeyDown: onKeyDown, onClick: onClick, "aria-label": ariaLabel, "aria-controls": ariaControls, "aria-expanded": expanded }, getExpandActionAnalyticsMetadataAttribute(expanded)),
14
26
  React.createElement("div", { className: clsx(styles['icon-container'], styles[`icon-container-${variant}`]) }, icon),
15
27
  children));
16
28
  };
17
29
  const ExpandableNavigationHeader = ({ id, className, onClick, ariaLabelledBy, ariaLabel, ariaControls, expanded, children, icon, }) => {
18
- return (React.createElement("div", { id: id, className: clsx(className, styles['click-target']) },
19
- React.createElement("button", { className: clsx(styles['icon-container'], styles['expand-button']), "aria-labelledby": ariaLabelledBy, "aria-label": ariaLabel, "aria-controls": ariaControls, "aria-expanded": expanded, type: "button", onClick: onClick }, icon),
30
+ return (React.createElement("div", { id: id, className: clsx(className, styles['click-target'], analyticsSelectors['header-label']) },
31
+ React.createElement("button", Object.assign({ className: clsx(styles['icon-container'], styles['expand-button']), "aria-labelledby": ariaLabelledBy, "aria-label": ariaLabel, "aria-controls": ariaControls, "aria-expanded": expanded, type: "button", onClick: onClick }, getExpandActionAnalyticsMetadataAttribute(expanded)), icon),
20
32
  children));
21
33
  };
22
34
  const ExpandableHeaderTextWrapper = ({ id, descriptionId, className, onClick, ariaLabel, ariaControls, expanded, children, icon, headerDescription, headerCounter, headerInfo, headerActions, variant, headingTagOverride, onKeyUp, onKeyDown, }) => {
@@ -36,12 +48,12 @@ const ExpandableHeaderTextWrapper = ({ id, descriptionId, className, onClick, ar
36
48
  const headingTagListeners = !headerButtonListeners && !isContainer && description ? listeners : undefined;
37
49
  // For all other cases, make the entire header clickable for backwards compatibility.
38
50
  const wrapperListeners = !headerButtonListeners && !headingTagListeners ? listeners : undefined;
39
- const headerButton = (React.createElement("span", Object.assign({ className: clsx(styles['expand-button'], isContainer ? styles['header-container-button'] : styles['header-button'], headerButtonListeners && styles['click-target']), role: "button", tabIndex: 0, "aria-label": ariaLabel, "aria-labelledby": !ariaLabel && description ? id : undefined, "aria-describedby": description ? descriptionId : undefined, "aria-controls": ariaControls, "aria-expanded": expanded }, headerButtonListeners),
51
+ const headerButton = (React.createElement("span", Object.assign({ className: clsx(styles['expand-button'], isContainer ? styles['header-container-button'] : styles['header-button'], headerButtonListeners && styles['click-target']), role: "button", tabIndex: 0, "aria-label": ariaLabel, "aria-labelledby": !ariaLabel && description ? id : undefined, "aria-describedby": description ? descriptionId : undefined, "aria-controls": ariaControls, "aria-expanded": expanded }, headerButtonListeners, (headerButtonListeners ? getExpandActionAnalyticsMetadataAttribute(expanded) : {})),
40
52
  React.createElement("span", { className: clsx(styles['icon-container'], styles[`icon-container-${variant}`]) }, icon),
41
- React.createElement("span", { id: id, className: styles['header-text'] }, children)));
42
- return (React.createElement("div", Object.assign({ className: clsx(className, wrapperListeners && styles['click-target']) }, wrapperListeners), isContainer ? (React.createElement(InternalHeader, { variant: "h2", description: description, counter: headerCounter, info: headerInfo, actions: actions, headingTagOverride: headingTagOverride }, headerButton)) : (React.createElement(React.Fragment, null,
53
+ React.createElement("span", { id: id, className: clsx(styles['header-text'], analyticsSelectors['header-label']) }, children)));
54
+ return (React.createElement("div", Object.assign({ className: clsx(className, wrapperListeners && styles['click-target']) }, wrapperListeners, (wrapperListeners ? getExpandActionAnalyticsMetadataAttribute(expanded) : {})), isContainer ? (React.createElement(InternalHeader, { variant: "h2", description: description, counter: headerCounter, info: headerInfo, actions: actions, headingTagOverride: headingTagOverride }, headerButton)) : (React.createElement(React.Fragment, null,
43
55
  React.createElement("div", { className: clsx(actions && styles['header-actions-wrapper']) },
44
- React.createElement(HeadingTag, Object.assign({ className: clsx(styles['header-wrapper'], headingTagListeners && styles['click-target']) }, headingTagListeners), headerButton),
56
+ React.createElement(HeadingTag, Object.assign({ className: clsx(styles['header-wrapper'], headingTagListeners && styles['click-target']) }, headingTagListeners, (headingTagListeners ? getExpandActionAnalyticsMetadataAttribute(expanded) : {})), headerButton),
45
57
  actions),
46
58
  description && React.createElement(HeaderDescription, { variantOverride: "h3" }, description)))));
47
59
  };
@@ -1 +1 @@
1
- {"version":3,"file":"expandable-section-header.js","sourceRoot":"","sources":["../../../src/expandable-section/expandable-section-header.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, { KeyboardEventHandler, MouseEventHandler, ReactNode } from 'react';\nimport clsx from 'clsx';\n\nimport { warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport InternalHeader, { Description as HeaderDescription } from '../header/internal';\nimport InternalIcon from '../icon/internal';\nimport { isDevelopment } from '../internal/is-development';\nimport { ExpandableSectionProps, InternalVariant } from './interfaces';\nimport { variantSupportsActions, variantSupportsDescription, variantSupportsInfoLink } from './utils';\n\nimport styles from './styles.css.js';\n\nexport const componentName = 'ExpandableSection';\n\ninterface ExpandableDefaultHeaderProps {\n id: string;\n descriptionId?: string;\n className?: string;\n children?: ReactNode;\n expanded: boolean;\n ariaControls: string;\n ariaLabel?: string;\n onKeyUp: KeyboardEventHandler;\n onKeyDown: KeyboardEventHandler;\n onClick: MouseEventHandler;\n icon: JSX.Element;\n variant: InternalVariant;\n}\n\ninterface ExpandableNavigationHeaderProps extends Omit<ExpandableDefaultHeaderProps, 'onKeyUp' | 'onKeyDown'> {\n ariaLabelledBy?: string;\n}\n\ninterface ExpandableHeaderTextWrapperProps extends ExpandableDefaultHeaderProps {\n headerDescription?: ReactNode;\n headerCounter?: string;\n headerInfo?: ReactNode;\n headerActions?: ReactNode;\n headingTagOverride?: ExpandableSectionProps.HeadingTag;\n}\n\ninterface ExpandableSectionHeaderProps extends Omit<ExpandableDefaultHeaderProps, 'children' | 'icon'> {\n header?: ReactNode;\n headerText?: ReactNode;\n headerDescription?: ReactNode;\n headerCounter?: string;\n headerInfo?: ReactNode;\n headerActions?: ReactNode;\n headingTagOverride?: ExpandableSectionProps.HeadingTag;\n ariaLabelledBy?: string;\n}\n\nconst ExpandableDeprecatedHeader = ({\n id,\n className,\n onClick,\n ariaLabel,\n ariaControls,\n expanded,\n children,\n icon,\n onKeyUp,\n onKeyDown,\n variant,\n}: ExpandableDefaultHeaderProps) => {\n return (\n <div\n id={id}\n role=\"button\"\n className={clsx(className, styles['expand-button'], styles['click-target'], styles['header-deprecated'])}\n tabIndex={0}\n onKeyUp={onKeyUp}\n onKeyDown={onKeyDown}\n onClick={onClick}\n aria-label={ariaLabel}\n aria-controls={ariaControls}\n aria-expanded={expanded}\n >\n <div className={clsx(styles['icon-container'], styles[`icon-container-${variant}`])}>{icon}</div>\n {children}\n </div>\n );\n};\n\nconst ExpandableNavigationHeader = ({\n id,\n className,\n onClick,\n ariaLabelledBy,\n ariaLabel,\n ariaControls,\n expanded,\n children,\n icon,\n}: ExpandableNavigationHeaderProps) => {\n return (\n <div id={id} className={clsx(className, styles['click-target'])}>\n <button\n className={clsx(styles['icon-container'], styles['expand-button'])}\n aria-labelledby={ariaLabelledBy}\n aria-label={ariaLabel}\n aria-controls={ariaControls}\n aria-expanded={expanded}\n type=\"button\"\n onClick={onClick}\n >\n {icon}\n </button>\n {children}\n </div>\n );\n};\n\nconst ExpandableHeaderTextWrapper = ({\n id,\n descriptionId,\n className,\n onClick,\n ariaLabel,\n ariaControls,\n expanded,\n children,\n icon,\n headerDescription,\n headerCounter,\n headerInfo,\n headerActions,\n variant,\n headingTagOverride,\n onKeyUp,\n onKeyDown,\n}: ExpandableHeaderTextWrapperProps) => {\n const isContainer = variant === 'container';\n const HeadingTag = headingTagOverride || 'div';\n const supportsInteractiveElements = variantSupportsActions(variant);\n const restrictClickableArea = supportsInteractiveElements && (headerInfo || headerActions);\n const actions = supportsInteractiveElements && headerActions;\n const description = variantSupportsDescription(variant) && headerDescription && (\n <span id={descriptionId} className={styles[`description-${variant}`]}>\n {headerDescription}\n </span>\n );\n const listeners = { onClick, onKeyDown, onKeyUp };\n\n // If interactive elements are present, constrain the clickable area to only the icon and the header text\n // to prevent nesting interactive elements.\n const headerButtonListeners = restrictClickableArea ? listeners : undefined;\n // For the default and footer variants with description,\n // include also the immediate wrapper around it to include the entire row for backwards compatibility,\n // but exclude the description.\n const headingTagListeners = !headerButtonListeners && !isContainer && description ? listeners : undefined;\n // For all other cases, make the entire header clickable for backwards compatibility.\n const wrapperListeners = !headerButtonListeners && !headingTagListeners ? listeners : undefined;\n const headerButton = (\n <span\n className={clsx(\n styles['expand-button'],\n isContainer ? styles['header-container-button'] : styles['header-button'],\n headerButtonListeners && styles['click-target']\n )}\n role=\"button\"\n tabIndex={0}\n aria-label={ariaLabel}\n aria-labelledby={!ariaLabel && description ? id : undefined}\n aria-describedby={description ? descriptionId : undefined}\n aria-controls={ariaControls}\n aria-expanded={expanded}\n {...headerButtonListeners}\n >\n <span className={clsx(styles['icon-container'], styles[`icon-container-${variant}`])}>{icon}</span>\n <span id={id} className={styles['header-text']}>\n {children}\n </span>\n </span>\n );\n\n return (\n <div className={clsx(className, wrapperListeners && styles['click-target'])} {...wrapperListeners}>\n {isContainer ? (\n <InternalHeader\n variant=\"h2\"\n description={description}\n counter={headerCounter}\n info={headerInfo}\n actions={actions}\n headingTagOverride={headingTagOverride}\n >\n {headerButton}\n </InternalHeader>\n ) : (\n <>\n <div className={clsx(actions && styles['header-actions-wrapper'])}>\n <HeadingTag\n className={clsx(styles['header-wrapper'], headingTagListeners && styles['click-target'])}\n {...headingTagListeners}\n >\n {headerButton}\n </HeadingTag>\n {actions}\n </div>\n {description && <HeaderDescription variantOverride=\"h3\">{description}</HeaderDescription>}\n </>\n )}\n </div>\n );\n};\n\nexport const ExpandableSectionHeader = ({\n id,\n descriptionId,\n className,\n variant,\n header,\n headerText,\n headerDescription,\n headerCounter,\n headerInfo,\n headerActions,\n headingTagOverride,\n expanded,\n ariaControls,\n ariaLabel,\n ariaLabelledBy,\n onKeyUp,\n onKeyDown,\n onClick,\n}: ExpandableSectionHeaderProps) => {\n const alwaysShowDivider = variant === 'default' && headerActions;\n const icon = (\n <InternalIcon\n size={variant === 'container' ? 'medium' : 'normal'}\n className={clsx(styles.icon, expanded && styles.expanded)}\n name=\"caret-down-filled\"\n />\n );\n const defaultHeaderProps = {\n id: id,\n icon: icon,\n expanded: expanded,\n ariaControls: ariaControls,\n ariaLabel: ariaLabel,\n onClick: onClick,\n variant,\n };\n\n if ((headerCounter || headerInfo) && !variantSupportsInfoLink(variant) && isDevelopment) {\n warnOnce(\n componentName,\n 'The `headerCounter` and `headerInfo` props are only supported for the \"container\" variant.'\n );\n }\n\n if (headerActions && !variantSupportsActions(variant) && isDevelopment) {\n warnOnce(componentName, `The \\`headerActions\\` prop is only supported for the \"container\" and \"default\" variants.`);\n }\n\n if (headerDescription && !variantSupportsDescription(variant) && isDevelopment) {\n warnOnce(componentName, `The \\`headerDescription\\` prop is not supported for the ${variant} variant.`);\n }\n\n const wrapperClassName = clsx(\n styles.wrapper,\n styles[`wrapper-${variant}`],\n (expanded || alwaysShowDivider) && styles['wrapper-expanded']\n );\n if (variant === 'navigation') {\n return (\n <ExpandableNavigationHeader\n className={clsx(className, wrapperClassName)}\n ariaLabelledBy={ariaLabelledBy}\n {...defaultHeaderProps}\n >\n {headerText ?? header}\n </ExpandableNavigationHeader>\n );\n }\n\n if (headerText) {\n return (\n <ExpandableHeaderTextWrapper\n className={clsx(className, wrapperClassName, expanded && styles.expanded)}\n descriptionId={descriptionId}\n headerDescription={headerDescription}\n headerCounter={headerCounter}\n headerInfo={headerInfo}\n headerActions={headerActions}\n headingTagOverride={headingTagOverride}\n onKeyUp={onKeyUp}\n onKeyDown={onKeyDown}\n {...defaultHeaderProps}\n >\n {headerText}\n </ExpandableHeaderTextWrapper>\n );\n }\n\n if (variant === 'container' && header && isDevelopment) {\n warnOnce(componentName, 'Use `headerText` instead of `header` to provide the button within the heading for a11y.');\n }\n\n return (\n <ExpandableDeprecatedHeader\n className={clsx(className, wrapperClassName, styles.focusable, expanded && styles.expanded)}\n onKeyUp={onKeyUp}\n onKeyDown={onKeyDown}\n {...defaultHeaderProps}\n >\n {header}\n </ExpandableDeprecatedHeader>\n );\n};\n"]}
1
+ {"version":3,"file":"expandable-section-header.js","sourceRoot":"","sources":["../../../src/expandable-section/expandable-section-header.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, { KeyboardEventHandler, MouseEventHandler, ReactNode } from 'react';\nimport clsx from 'clsx';\n\nimport { warnOnce } from '@cloudscape-design/component-toolkit/internal';\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalHeader, { Description as HeaderDescription } from '../header/internal';\nimport InternalIcon from '../icon/internal';\nimport { isDevelopment } from '../internal/is-development';\nimport { GeneratedAnalyticsMetadataExpandableSectionExpand } from './analytics-metadata/interfaces';\nimport { ExpandableSectionProps, InternalVariant } from './interfaces';\nimport { variantSupportsActions, variantSupportsDescription, variantSupportsInfoLink } from './utils';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\nimport styles from './styles.css.js';\n\nexport const componentName = 'ExpandableSection';\n\ninterface ExpandableDefaultHeaderProps {\n id: string;\n descriptionId?: string;\n className?: string;\n children?: ReactNode;\n expanded: boolean;\n ariaControls: string;\n ariaLabel?: string;\n onKeyUp: KeyboardEventHandler;\n onKeyDown: KeyboardEventHandler;\n onClick: MouseEventHandler;\n icon: JSX.Element;\n variant: InternalVariant;\n}\n\ninterface ExpandableNavigationHeaderProps extends Omit<ExpandableDefaultHeaderProps, 'onKeyUp' | 'onKeyDown'> {\n ariaLabelledBy?: string;\n}\n\ninterface ExpandableHeaderTextWrapperProps extends ExpandableDefaultHeaderProps {\n headerDescription?: ReactNode;\n headerCounter?: string;\n headerInfo?: ReactNode;\n headerActions?: ReactNode;\n headingTagOverride?: ExpandableSectionProps.HeadingTag;\n}\n\ninterface ExpandableSectionHeaderProps extends Omit<ExpandableDefaultHeaderProps, 'children' | 'icon'> {\n header?: ReactNode;\n headerText?: ReactNode;\n headerDescription?: ReactNode;\n headerCounter?: string;\n headerInfo?: ReactNode;\n headerActions?: ReactNode;\n headingTagOverride?: ExpandableSectionProps.HeadingTag;\n ariaLabelledBy?: string;\n}\n\nconst getExpandActionAnalyticsMetadataAttribute = (expanded: boolean) => {\n const metadata: GeneratedAnalyticsMetadataExpandableSectionExpand = {\n action: 'expand',\n detail: {\n label: { root: 'component' },\n expanded: `${!expanded}`,\n },\n };\n return getAnalyticsMetadataAttribute(metadata);\n};\nconst ExpandableDeprecatedHeader = ({\n id,\n className,\n onClick,\n ariaLabel,\n ariaControls,\n expanded,\n children,\n icon,\n onKeyUp,\n onKeyDown,\n variant,\n}: ExpandableDefaultHeaderProps) => {\n return (\n <div\n id={id}\n role=\"button\"\n className={clsx(\n className,\n styles['expand-button'],\n styles['click-target'],\n styles['header-deprecated'],\n analyticsSelectors['header-label']\n )}\n tabIndex={0}\n onKeyUp={onKeyUp}\n onKeyDown={onKeyDown}\n onClick={onClick}\n aria-label={ariaLabel}\n aria-controls={ariaControls}\n aria-expanded={expanded}\n {...getExpandActionAnalyticsMetadataAttribute(expanded)}\n >\n <div className={clsx(styles['icon-container'], styles[`icon-container-${variant}`])}>{icon}</div>\n {children}\n </div>\n );\n};\n\nconst ExpandableNavigationHeader = ({\n id,\n className,\n onClick,\n ariaLabelledBy,\n ariaLabel,\n ariaControls,\n expanded,\n children,\n icon,\n}: ExpandableNavigationHeaderProps) => {\n return (\n <div id={id} className={clsx(className, styles['click-target'], analyticsSelectors['header-label'])}>\n <button\n className={clsx(styles['icon-container'], styles['expand-button'])}\n aria-labelledby={ariaLabelledBy}\n aria-label={ariaLabel}\n aria-controls={ariaControls}\n aria-expanded={expanded}\n type=\"button\"\n onClick={onClick}\n {...getExpandActionAnalyticsMetadataAttribute(expanded)}\n >\n {icon}\n </button>\n {children}\n </div>\n );\n};\n\nconst ExpandableHeaderTextWrapper = ({\n id,\n descriptionId,\n className,\n onClick,\n ariaLabel,\n ariaControls,\n expanded,\n children,\n icon,\n headerDescription,\n headerCounter,\n headerInfo,\n headerActions,\n variant,\n headingTagOverride,\n onKeyUp,\n onKeyDown,\n}: ExpandableHeaderTextWrapperProps) => {\n const isContainer = variant === 'container';\n const HeadingTag = headingTagOverride || 'div';\n const supportsInteractiveElements = variantSupportsActions(variant);\n const restrictClickableArea = supportsInteractiveElements && (headerInfo || headerActions);\n const actions = supportsInteractiveElements && headerActions;\n const description = variantSupportsDescription(variant) && headerDescription && (\n <span id={descriptionId} className={styles[`description-${variant}`]}>\n {headerDescription}\n </span>\n );\n const listeners = { onClick, onKeyDown, onKeyUp };\n\n // If interactive elements are present, constrain the clickable area to only the icon and the header text\n // to prevent nesting interactive elements.\n const headerButtonListeners = restrictClickableArea ? listeners : undefined;\n // For the default and footer variants with description,\n // include also the immediate wrapper around it to include the entire row for backwards compatibility,\n // but exclude the description.\n const headingTagListeners = !headerButtonListeners && !isContainer && description ? listeners : undefined;\n // For all other cases, make the entire header clickable for backwards compatibility.\n const wrapperListeners = !headerButtonListeners && !headingTagListeners ? listeners : undefined;\n const headerButton = (\n <span\n className={clsx(\n styles['expand-button'],\n isContainer ? styles['header-container-button'] : styles['header-button'],\n headerButtonListeners && styles['click-target']\n )}\n role=\"button\"\n tabIndex={0}\n aria-label={ariaLabel}\n aria-labelledby={!ariaLabel && description ? id : undefined}\n aria-describedby={description ? descriptionId : undefined}\n aria-controls={ariaControls}\n aria-expanded={expanded}\n {...headerButtonListeners}\n {...(headerButtonListeners ? getExpandActionAnalyticsMetadataAttribute(expanded) : {})}\n >\n <span className={clsx(styles['icon-container'], styles[`icon-container-${variant}`])}>{icon}</span>\n <span id={id} className={clsx(styles['header-text'], analyticsSelectors['header-label'])}>\n {children}\n </span>\n </span>\n );\n\n return (\n <div\n className={clsx(className, wrapperListeners && styles['click-target'])}\n {...wrapperListeners}\n {...(wrapperListeners ? getExpandActionAnalyticsMetadataAttribute(expanded) : {})}\n >\n {isContainer ? (\n <InternalHeader\n variant=\"h2\"\n description={description}\n counter={headerCounter}\n info={headerInfo}\n actions={actions}\n headingTagOverride={headingTagOverride}\n >\n {headerButton}\n </InternalHeader>\n ) : (\n <>\n <div className={clsx(actions && styles['header-actions-wrapper'])}>\n <HeadingTag\n className={clsx(styles['header-wrapper'], headingTagListeners && styles['click-target'])}\n {...headingTagListeners}\n {...(headingTagListeners ? getExpandActionAnalyticsMetadataAttribute(expanded) : {})}\n >\n {headerButton}\n </HeadingTag>\n {actions}\n </div>\n {description && <HeaderDescription variantOverride=\"h3\">{description}</HeaderDescription>}\n </>\n )}\n </div>\n );\n};\n\nexport const ExpandableSectionHeader = ({\n id,\n descriptionId,\n className,\n variant,\n header,\n headerText,\n headerDescription,\n headerCounter,\n headerInfo,\n headerActions,\n headingTagOverride,\n expanded,\n ariaControls,\n ariaLabel,\n ariaLabelledBy,\n onKeyUp,\n onKeyDown,\n onClick,\n}: ExpandableSectionHeaderProps) => {\n const alwaysShowDivider = variant === 'default' && headerActions;\n const icon = (\n <InternalIcon\n size={variant === 'container' ? 'medium' : 'normal'}\n className={clsx(styles.icon, expanded && styles.expanded)}\n name=\"caret-down-filled\"\n />\n );\n const defaultHeaderProps = {\n id: id,\n icon: icon,\n expanded: expanded,\n ariaControls: ariaControls,\n ariaLabel: ariaLabel,\n onClick: onClick,\n variant,\n };\n\n if ((headerCounter || headerInfo) && !variantSupportsInfoLink(variant) && isDevelopment) {\n warnOnce(\n componentName,\n 'The `headerCounter` and `headerInfo` props are only supported for the \"container\" variant.'\n );\n }\n\n if (headerActions && !variantSupportsActions(variant) && isDevelopment) {\n warnOnce(componentName, `The \\`headerActions\\` prop is only supported for the \"container\" and \"default\" variants.`);\n }\n\n if (headerDescription && !variantSupportsDescription(variant) && isDevelopment) {\n warnOnce(componentName, `The \\`headerDescription\\` prop is not supported for the ${variant} variant.`);\n }\n\n const wrapperClassName = clsx(\n styles.wrapper,\n styles[`wrapper-${variant}`],\n (expanded || alwaysShowDivider) && styles['wrapper-expanded']\n );\n if (variant === 'navigation') {\n return (\n <ExpandableNavigationHeader\n className={clsx(className, wrapperClassName)}\n ariaLabelledBy={ariaLabelledBy}\n {...defaultHeaderProps}\n >\n {headerText ?? header}\n </ExpandableNavigationHeader>\n );\n }\n\n if (headerText) {\n return (\n <ExpandableHeaderTextWrapper\n className={clsx(className, wrapperClassName, expanded && styles.expanded)}\n descriptionId={descriptionId}\n headerDescription={headerDescription}\n headerCounter={headerCounter}\n headerInfo={headerInfo}\n headerActions={headerActions}\n headingTagOverride={headingTagOverride}\n onKeyUp={onKeyUp}\n onKeyDown={onKeyDown}\n {...defaultHeaderProps}\n >\n {headerText}\n </ExpandableHeaderTextWrapper>\n );\n }\n\n if (variant === 'container' && header && isDevelopment) {\n warnOnce(componentName, 'Use `headerText` instead of `header` to provide the button within the heading for a11y.');\n }\n\n return (\n <ExpandableDeprecatedHeader\n className={clsx(className, wrapperClassName, styles.focusable, expanded && styles.expanded)}\n onKeyUp={onKeyUp}\n onKeyDown={onKeyDown}\n {...defaultHeaderProps}\n >\n {header}\n </ExpandableDeprecatedHeader>\n );\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/expandable-section/index.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAGtD,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":"","sources":["../../../src/expandable-section/index.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAGtD,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAElC,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAE,OAAmB,EAAE,GAAG,KAAK,EAAE,EAAE,sBAAsB,eAiBlG"}
@@ -14,7 +14,7 @@ export default function ExpandableSection(_a) {
14
14
  variant,
15
15
  },
16
16
  });
17
- return React.createElement(InternalExpandableSection, Object.assign({ variant: variant }, props, baseComponentProps));
17
+ return (React.createElement(InternalExpandableSection, Object.assign({ variant: variant }, props, baseComponentProps, { __injectAnalyticsComponentMetadata: true })));
18
18
  }
19
19
  applyDisplayName(ExpandableSection, 'ExpandableSection');
20
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/expandable-section/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,yBAAyB,MAAM,YAAY,CAAC;AAInD,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,EAAE;QAC/D,KAAK,EAAE;YACL,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;YACpD,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;YAC5C,OAAO;SACR;KACF,CAAC,CAAC;IAEH,OAAO,oBAAC,yBAAyB,kBAAC,OAAO,EAAE,OAAO,IAAM,KAAK,EAAM,kBAAkB,EAAI,CAAC;AAC5F,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 useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { ExpandableSectionProps } from './interfaces';\nimport InternalExpandableSection from './internal';\n\nexport { ExpandableSectionProps };\n\nexport default function ExpandableSection({ variant = 'default', ...props }: ExpandableSectionProps) {\n const baseComponentProps = useBaseComponent('ExpandableSection', {\n props: {\n disableContentPaddings: props.disableContentPaddings,\n headingTagOverride: props.headingTagOverride,\n variant,\n },\n });\n\n return <InternalExpandableSection variant={variant} {...props} {...baseComponentProps} />;\n}\n\napplyDisplayName(ExpandableSection, 'ExpandableSection');\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/expandable-section/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,yBAAyB,MAAM,YAAY,CAAC;AAInD,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,EAAE;QAC/D,KAAK,EAAE;YACL,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;YACpD,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;YAC5C,OAAO;SACR;KACF,CAAC,CAAC;IAEH,OAAO,CACL,oBAAC,yBAAyB,kBACxB,OAAO,EAAE,OAAO,IACZ,KAAK,EACL,kBAAkB,IACtB,kCAAkC,EAAE,IAAI,IACxC,CACH,CAAC;AACJ,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 useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { ExpandableSectionProps } from './interfaces';\nimport InternalExpandableSection from './internal';\n\nexport { ExpandableSectionProps };\n\nexport default function ExpandableSection({ variant = 'default', ...props }: ExpandableSectionProps) {\n const baseComponentProps = useBaseComponent('ExpandableSection', {\n props: {\n disableContentPaddings: props.disableContentPaddings,\n headingTagOverride: props.headingTagOverride,\n variant,\n },\n });\n\n return (\n <InternalExpandableSection\n variant={variant}\n {...props}\n {...baseComponentProps}\n __injectAnalyticsComponentMetadata={true}\n />\n );\n}\n\napplyDisplayName(ExpandableSection, 'ExpandableSection');\n"]}
@@ -3,6 +3,7 @@ import { InternalBaseComponentProps } from '../internal/hooks/use-base-component
3
3
  import { ExpandableSectionProps, InternalVariant } from './interfaces';
4
4
  export type InternalExpandableSectionProps = Omit<ExpandableSectionProps, 'variant'> & InternalBaseComponentProps & {
5
5
  variant?: InternalVariant;
6
+ __injectAnalyticsComponentMetadata?: boolean;
6
7
  };
7
- export default function InternalExpandableSection({ expanded: controlledExpanded, defaultExpanded, onChange, variant, children, header, headerText, headerCounter, headerDescription, headerInfo, headerActions, headingTagOverride, disableContentPaddings, headerAriaLabel, __internalRootRef, ...props }: InternalExpandableSectionProps): JSX.Element;
8
+ export default function InternalExpandableSection({ expanded: controlledExpanded, defaultExpanded, onChange, variant, children, header, headerText, headerCounter, headerDescription, headerInfo, headerActions, headingTagOverride, disableContentPaddings, headerAriaLabel, __internalRootRef, __injectAnalyticsComponentMetadata, ...props }: InternalExpandableSectionProps): JSX.Element;
8
9
  //# sourceMappingURL=internal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/expandable-section/internal.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAMlF,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAKvE,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAAC,sBAAsB,EAAE,SAAS,CAAC,GAClF,0BAA0B,GAAG;IAC3B,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEJ,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":"","sources":["../../../src/expandable-section/internal.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAMlF,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAKvE,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAAC,sBAAsB,EAAE,SAAS,CAAC,GAClF,0BAA0B,GAAG;IAC3B,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,kCAAkC,CAAC,EAAE,OAAO,CAAC;CAC9C,CAAC;AAEJ,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,kCAAkC,EAClC,GAAG,KAAK,EACT,EAAE,8BAA8B,eAiGhC"}
@@ -14,7 +14,7 @@ import { ExpandableSectionHeader } from './expandable-section-header';
14
14
  import { variantSupportsDescription } from './utils';
15
15
  import styles from './styles.css.js';
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, __injectAnalyticsComponentMetadata } = _a, props = __rest(_a, ["expanded", "defaultExpanded", "onChange", "variant", "children", "header", "headerText", "headerCounter", "headerDescription", "headerInfo", "headerActions", "headingTagOverride", "disableContentPaddings", "headerAriaLabel", "__internalRootRef", "__injectAnalyticsComponentMetadata"]);
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, disableContentPaddings: disableContentPaddings, __injectAnalyticsComponentMetadata: __injectAnalyticsComponentMetadata, 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
  }