@cloudscape-design/components-themeable 3.0.186 → 3.0.188
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/internal/manifest.json +1 -1
- package/lib/internal/scss/collection-preferences/visible-content.scss +1 -0
- package/lib/internal/scss/side-navigation/styles.scss +17 -3
- package/lib/internal/template/collection-preferences/styles.css.js +20 -20
- package/lib/internal/template/collection-preferences/styles.scoped.css +22 -21
- package/lib/internal/template/collection-preferences/styles.selectors.js +20 -20
- package/lib/internal/template/collection-preferences/visible-content.js +1 -1
- package/lib/internal/template/collection-preferences/visible-content.js.map +1 -1
- package/lib/internal/template/flashbar/interfaces.d.ts +2 -4
- package/lib/internal/template/flashbar/interfaces.d.ts.map +1 -1
- package/lib/internal/template/flashbar/interfaces.js.map +1 -1
- package/lib/internal/template/internal/environment.js +1 -1
- package/lib/internal/template/side-navigation/interfaces.d.ts +14 -2
- package/lib/internal/template/side-navigation/interfaces.d.ts.map +1 -1
- package/lib/internal/template/side-navigation/interfaces.js.map +1 -1
- package/lib/internal/template/side-navigation/internal.d.ts +1 -1
- package/lib/internal/template/side-navigation/internal.d.ts.map +1 -1
- package/lib/internal/template/side-navigation/internal.js +14 -6
- package/lib/internal/template/side-navigation/internal.js.map +1 -1
- package/lib/internal/template/side-navigation/styles.css.js +26 -22
- package/lib/internal/template/side-navigation/styles.scoped.css +57 -34
- package/lib/internal/template/side-navigation/styles.selectors.js +26 -22
- package/lib/internal/template/test-utils/dom/side-navigation/index.d.ts +3 -0
- package/lib/internal/template/test-utils/dom/side-navigation/index.js +9 -0
- package/lib/internal/template/test-utils/dom/side-navigation/index.js.map +1 -1
- package/lib/internal/template/test-utils/selectors/side-navigation/index.d.ts +3 -0
- package/lib/internal/template/test-utils/selectors/side-navigation/index.js +9 -0
- package/lib/internal/template/test-utils/selectors/side-navigation/index.js.map +1 -1
- package/lib/internal/template/test-utils/tsconfig.tsbuildinfo +1 -1
- package/lib/internal/template/top-navigation/internal.js +2 -1
- package/lib/internal/template/top-navigation/internal.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/side-navigation/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, { useCallback, useState, useEffect, useMemo } from 'react';\nimport clsx from 'clsx';\nimport { ExpandableSectionProps } from '../expandable-section/interfaces';\nimport InternalExpandableSection from '../expandable-section/internal';\nimport InternalIcon from '../icon/internal';\n\nimport { SideNavigationProps } from './interfaces';\nimport styles from './styles.css.js';\nimport { NonCancelableCustomEvent, isPlainLeftClick } from '../internal/events';\nimport useFocusVisible from '../internal/hooks/focus-visible';\nimport { hasActiveLink } from './util';\nimport { checkSafeUrl } from '../internal/utils/check-safe-url';\n\ninterface BaseItemComponentProps {\n activeHref?: string;\n fireChange: (item: SideNavigationProps.Section | SideNavigationProps.ExpandableLinkGroup, expanded: boolean) => void;\n fireFollow: (\n item:\n | SideNavigationProps.Link\n | SideNavigationProps.Header\n | SideNavigationProps.LinkGroup\n | SideNavigationProps.ExpandableLinkGroup,\n event: React.SyntheticEvent | Event\n ) => void;\n}\n\nexport interface HeaderProps extends BaseItemComponentProps {\n definition: SideNavigationProps.Header;\n}\n\nexport function Header({ definition, activeHref, fireFollow }: HeaderProps) {\n checkSafeUrl('SideNavigation', definition.href);\n const focusVisible = useFocusVisible();\n\n const onClick = useCallback(\n (event: React.MouseEvent) => {\n if (isPlainLeftClick(event)) {\n fireFollow(definition, event);\n }\n },\n [fireFollow, definition]\n );\n\n return (\n <>\n <h2 className={styles.header}>\n <a\n {...focusVisible}\n href={definition.href}\n className={clsx(styles['header-link'], { [styles['header-link--has-logo']]: !!definition.logo })}\n aria-current={definition.href === activeHref ? 'page' : undefined}\n onClick={onClick}\n >\n {definition.logo && (\n <img\n className={clsx(styles['header-logo'], {\n [styles['header-logo--stretched']]: !definition.text,\n })}\n {...definition.logo}\n />\n )}\n <span className={styles['header-link-text']}>{definition.text}</span>\n </a>\n </h2>\n <Divider variant=\"header\" />\n </>\n );\n}\n\nexport interface ItemListProps extends BaseItemComponentProps {\n items: ReadonlyArray<SideNavigationProps.Item>;\n variant: 'section' | 'link-group' | 'expandable-link-group' | 'root';\n}\n\nexport function ItemList({ variant, items, activeHref, fireChange, fireFollow }: ItemListProps) {\n return (\n <ul className={clsx(styles.list, styles[`list-variant-${variant}`])}>\n {items.map((item, i) => (\n <li key={i} className={styles['list-item']}>\n {item.type === 'link' && (\n <Link definition={item} activeHref={activeHref} fireChange={fireChange} fireFollow={fireFollow} />\n )}\n {item.type === 'section' && (\n <Section definition={item} activeHref={activeHref} fireChange={fireChange} fireFollow={fireFollow} />\n )}\n {item.type === 'link-group' && (\n <LinkGroup definition={item} activeHref={activeHref} fireChange={fireChange} fireFollow={fireFollow} />\n )}\n {item.type === 'expandable-link-group' && (\n <ExpandableLinkGroup\n definition={item}\n activeHref={activeHref}\n fireChange={fireChange}\n fireFollow={fireFollow}\n />\n )}\n {((i === 0 && item.type === 'divider') || (items[i + 1] && items[i + 1].type === 'divider')) && (\n <Divider variant=\"default\" />\n )}\n </li>\n ))}\n </ul>\n );\n}\n\ninterface DividerProps {\n variant: 'default' | 'header';\n}\n\nfunction Divider({ variant = 'default' }: DividerProps) {\n return <hr className={clsx(styles.divider, styles[`divider-${variant}`])} />;\n}\n\ninterface LinkProps extends BaseItemComponentProps {\n definition: SideNavigationProps.Link;\n expanded?: boolean;\n}\n\nfunction Link({ definition, expanded, activeHref, fireFollow }: LinkProps) {\n checkSafeUrl('SideNavigation', definition.href);\n const isActive = definition.href === activeHref;\n const focusVisible = useFocusVisible();\n\n const onClick = useCallback(\n (event: React.MouseEvent) => {\n // Prevent the click event from toggling outer expandable sections.\n event.stopPropagation();\n\n if (isPlainLeftClick(event)) {\n fireFollow(definition, event);\n }\n },\n [fireFollow, definition]\n );\n\n return (\n <>\n {/* https://github.com/yannickcr/eslint-plugin-react/issues/2962 */}\n {/* eslint-disable-next-line react/jsx-no-target-blank */}\n <a\n {...focusVisible}\n href={definition.href}\n className={clsx(styles.link, { [styles['link-active']]: isActive })}\n target={definition.external ? '_blank' : undefined}\n rel={definition.external ? 'noopener noreferrer' : undefined}\n aria-expanded={expanded}\n aria-current={definition.href === activeHref ? 'page' : undefined}\n onClick={onClick}\n >\n {definition.text}\n {definition.external && (\n <span\n aria-label={definition.externalIconAriaLabel}\n role={definition.externalIconAriaLabel ? 'img' : undefined}\n >\n <InternalIcon name=\"external\" className={styles['external-icon']} />\n </span>\n )}\n </a>\n {definition.info && <span className={styles.info}>{definition.info}</span>}\n </>\n );\n}\n\ninterface SectionProps extends BaseItemComponentProps {\n definition: SideNavigationProps.Section;\n}\n\nfunction Section({ definition, activeHref, fireFollow, fireChange }: SectionProps) {\n const [expanded, setExpanded] = useState<boolean>(definition.defaultExpanded ?? true);\n\n const onExpandedChange = useCallback(\n (e: NonCancelableCustomEvent<ExpandableSectionProps.ChangeDetail>) => {\n fireChange(definition, e.detail.expanded);\n setExpanded(e.detail.expanded);\n },\n [definition, fireChange]\n );\n\n useEffect(() => {\n setExpanded(definition.defaultExpanded ?? true);\n }, [definition]);\n\n return (\n <InternalExpandableSection\n variant=\"footer\"\n expanded={expanded}\n onChange={onExpandedChange}\n className={styles.section}\n headerText={definition.text}\n >\n <ItemList\n variant=\"section\"\n items={definition.items}\n fireFollow={fireFollow}\n fireChange={fireChange}\n activeHref={activeHref}\n />\n </InternalExpandableSection>\n );\n}\n\ninterface LinkGroupProps extends BaseItemComponentProps {\n definition: SideNavigationProps.LinkGroup;\n}\n\nfunction LinkGroup({ definition, activeHref, fireFollow, fireChange }: LinkGroupProps) {\n checkSafeUrl('SideNavigation', definition.href);\n\n return (\n <>\n <Link\n definition={{ type: 'link', href: definition.href, text: definition.text }}\n fireFollow={(_, event) => fireFollow(definition, event)}\n fireChange={fireChange}\n activeHref={activeHref}\n />\n <ItemList\n variant=\"link-group\"\n items={definition.items}\n fireFollow={fireFollow}\n fireChange={fireChange}\n activeHref={activeHref}\n />\n </>\n );\n}\n\ninterface ExpandableLinkGroupProps extends BaseItemComponentProps {\n definition: SideNavigationProps.ExpandableLinkGroup;\n}\n\nfunction ExpandableLinkGroup({ definition, fireFollow, fireChange, activeHref }: ExpandableLinkGroupProps) {\n // Check whether the definition contains an active link and memoize it to avoid\n // rechecking every time.\n const containsActiveLink = useMemo(() => {\n return activeHref ? hasActiveLink(definition.items, activeHref) : false;\n }, [activeHref, definition.items]);\n\n const [expanded, setExpanded] = useState<boolean>(() => {\n return definition.defaultExpanded ?? (definition.href === activeHref || containsActiveLink);\n });\n\n const [userExpanded, setUserExpanded] = useState<boolean | undefined>();\n\n // Reset user expansion status when the items property is updated.\n useEffect(() => setUserExpanded(undefined), [definition]);\n\n // By default, the expandable section is open when there's an active link inside.\n useEffect(() => {\n setExpanded(definition.href === activeHref || containsActiveLink);\n }, [definition.href, containsActiveLink, activeHref]);\n\n // If the definition object itself is updated, reset the expansion state to default.\n useEffect(() => {\n if (definition.defaultExpanded !== undefined) {\n setExpanded(definition.defaultExpanded);\n }\n }, [definition]);\n\n const onExpandedChange = useCallback(\n (e: NonCancelableCustomEvent<ExpandableSectionProps.ChangeDetail>) => {\n fireChange(definition, e.detail.expanded);\n setUserExpanded(e.detail.expanded);\n },\n [definition, fireChange]\n );\n\n const onHeaderFollow: LinkProps['fireFollow'] = (_, event) => {\n fireFollow(definition, event);\n setUserExpanded(true);\n if (!expanded) {\n fireChange(definition, true);\n }\n };\n\n return (\n <InternalExpandableSection\n className={styles['expandable-link-group']}\n variant=\"navigation\"\n expanded={userExpanded ?? expanded}\n onChange={onExpandedChange}\n headerText={\n <Link\n definition={{ type: 'link', href: definition.href, text: definition.text }}\n expanded={userExpanded ?? expanded}\n fireFollow={onHeaderFollow}\n fireChange={fireChange}\n activeHref={activeHref}\n />\n }\n >\n <ItemList\n variant=\"expandable-link-group\"\n items={definition.items}\n fireFollow={fireFollow}\n fireChange={fireChange}\n activeHref={activeHref}\n />\n </InternalExpandableSection>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/side-navigation/internal.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACzE,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,yBAAyB,MAAM,gCAAgC,CAAC;AACvE,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAC5C,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAE1C,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAA4B,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,eAAe,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAmBhE,MAAM,UAAU,MAAM,CAAC,EAAmD;;QAAjD,UAAU,gBAAA,EAAE,UAAU,gBAAA,EAAE,UAAU,gBAAA;IACzD,YAAY,CAAC,gBAAgB,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IAChD,IAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IAEvC,IAAM,OAAO,GAAG,WAAW,CACzB,UAAC,KAAuB;QACtB,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE;YAC3B,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;SAC/B;IACH,CAAC,EACD,CAAC,UAAU,EAAE,UAAU,CAAC,CACzB,CAAC;IAEF,OAAO,CACL;QACE,4BAAI,SAAS,EAAE,MAAM,CAAC,MAAM;YAC1B,sCACM,YAAY,IAChB,IAAI,EAAE,UAAU,CAAC,IAAI,EACrB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAI,GAAC,MAAM,CAAC,uBAAuB,CAAC,IAAG,CAAC,CAAC,UAAU,CAAC,IAAI,MAAG,kBAClF,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EACjE,OAAO,EAAE,OAAO;gBAEf,UAAU,CAAC,IAAI,IAAI,CAClB,sCACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;wBACnC,GAAC,MAAM,CAAC,wBAAwB,CAAC,IAAG,CAAC,UAAU,CAAC,IAAI;4BACpD,IACE,UAAU,CAAC,IAAI,EACnB,CACH;gBACD,8BAAM,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,IAAG,UAAU,CAAC,IAAI,CAAQ,CACnE,CACD;QACL,oBAAC,OAAO,IAAC,OAAO,EAAC,QAAQ,GAAG,CAC3B,CACJ,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,QAAQ,CAAC,EAAqE;QAAnE,OAAO,aAAA,EAAE,KAAK,WAAA,EAAE,UAAU,gBAAA,EAAE,UAAU,gBAAA,EAAE,UAAU,gBAAA;IAC3E,OAAO,CACL,4BAAI,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,uBAAgB,OAAO,CAAE,CAAC,CAAC,IAChE,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,CAAC,IAAK,OAAA,CACtB,4BAAI,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CACvB,oBAAC,IAAI,IAAC,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAI,CACnG;QACA,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAC1B,oBAAC,OAAO,IACN,UAAU,EAAE,IAAI,EAChB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,GAChB,CACH;QACA,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,CAChC,oBAAC,YAAY,IAAC,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAI,CAC3G;QACA,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,CAC7B,oBAAC,SAAS,IAAC,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAI,CACxG;QACA,IAAI,CAAC,IAAI,KAAK,uBAAuB,IAAI,CACxC,oBAAC,mBAAmB,IAClB,UAAU,EAAE,IAAI,EAChB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,GAChB,CACH;QACA,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,IAAI,CAC9F,oBAAC,OAAO,IAAC,OAAO,EAAC,SAAS,GAAG,CAC9B,CACE,CACN,EAjCuB,CAiCvB,CAAC,CACC,CACN,CAAC;AACJ,CAAC;AAMD,SAAS,OAAO,CAAC,EAAqC;QAAnC,eAAmB,EAAnB,OAAO,mBAAG,SAAS,KAAA;IACpC,OAAO,4BAAI,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,kBAAW,OAAO,CAAE,CAAC,CAAC,GAAI,CAAC;AAC/E,CAAC;AAOD,SAAS,IAAI,CAAC,EAA2D;;QAAzD,UAAU,gBAAA,EAAE,QAAQ,cAAA,EAAE,UAAU,gBAAA,EAAE,UAAU,gBAAA;IAC1D,YAAY,CAAC,gBAAgB,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IAChD,IAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC;IAChD,IAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IAEvC,IAAM,OAAO,GAAG,WAAW,CACzB,UAAC,KAAuB;QACtB,mEAAmE;QACnE,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE;YAC3B,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;SAC/B;IACH,CAAC,EACD,CAAC,UAAU,EAAE,UAAU,CAAC,CACzB,CAAC;IAEF,OAAO,CACL;QAGE,sCACM,YAAY,IAChB,IAAI,EAAE,UAAU,CAAC,IAAI,EACrB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,YAAI,GAAC,MAAM,CAAC,aAAa,CAAC,IAAG,QAAQ,MAAG,EACnE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAClD,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,mBAC7C,QAAQ,kBACT,UAAU,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EACjE,OAAO,EAAE,OAAO;YAEf,UAAU,CAAC,IAAI;YACf,UAAU,CAAC,QAAQ,IAAI,CACtB,4CACc,UAAU,CAAC,qBAAqB,EAC5C,IAAI,EAAE,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBAE1D,oBAAC,YAAY,IAAC,IAAI,EAAC,UAAU,EAAC,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,GAAI,CAC/D,CACR,CACC;QACH,UAAU,CAAC,IAAI,IAAI,8BAAM,SAAS,EAAE,MAAM,CAAC,IAAI,IAAG,UAAU,CAAC,IAAI,CAAQ,CACzE,CACJ,CAAC;AACJ,CAAC;AAOD,SAAS,OAAO,CAAC,EAAyE;;QAAvE,UAAU,gBAAA,EAAE,UAAU,gBAAA,EAAE,UAAU,gBAAA,EAAE,UAAU,gBAAA,EAAE,OAAO,aAAA;IAClE,IAAA,KAA0B,QAAQ,CAAU,MAAA,UAAU,CAAC,eAAe,mCAAI,IAAI,CAAC,EAA9E,QAAQ,QAAA,EAAE,WAAW,QAAyD,CAAC;IAEtF,IAAM,gBAAgB,GAAG,WAAW,CAClC,UAAC,CAAgE;QAC/D,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1C,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC,EACD,CAAC,UAAU,EAAE,UAAU,CAAC,CACzB,CAAC;IAEF,SAAS,CAAC;;QACR,WAAW,CAAC,MAAA,UAAU,CAAC,eAAe,mCAAI,IAAI,CAAC,CAAC;IAClD,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,OAAO,CACL,oBAAC,yBAAyB,IACxB,OAAO,EAAC,QAAQ,EAChB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,KAAK,eAAe,IAAI,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAC3F,UAAU,EAAE,UAAU,CAAC,IAAI;QAE3B,oBAAC,QAAQ,IACP,OAAO,EAAC,SAAS,EACjB,KAAK,EAAE,UAAU,CAAC,KAAK,EACvB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,GACtB,CACwB,CAC7B,CAAC;AACJ,CAAC;AAMD,SAAS,YAAY,CAAC,EAAqE;QAAnE,UAAU,gBAAA,EAAE,UAAU,gBAAA,EAAE,UAAU,gBAAA,EAAE,UAAU,gBAAA;IACpE,OAAO,CACL,6BAAK,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC;QACrC,oBAAC,WAAW,IAAC,SAAS,EAAE,MAAM,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAC,IAAI,IAChE,UAAU,CAAC,KAAK,CACL;QACd,oBAAC,QAAQ,IACP,OAAO,EAAC,eAAe,EACvB,KAAK,EAAE,UAAU,CAAC,KAAK,EACvB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,GACtB,CACE,CACP,CAAC;AACJ,CAAC;AAMD,SAAS,SAAS,CAAC,EAAkE;QAAhE,UAAU,gBAAA,EAAE,UAAU,gBAAA,EAAE,UAAU,gBAAA,EAAE,UAAU,gBAAA;IACjE,YAAY,CAAC,gBAAgB,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IAEhD,OAAO,CACL;QACE,oBAAC,IAAI,IACH,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,EAC1E,UAAU,EAAE,UAAC,CAAC,EAAE,KAAK,IAAK,OAAA,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,EAA7B,CAA6B,EACvD,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,GACtB;QACF,oBAAC,QAAQ,IACP,OAAO,EAAC,YAAY,EACpB,KAAK,EAAE,UAAU,CAAC,KAAK,EACvB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,GACtB,CACD,CACJ,CAAC;AACJ,CAAC;AAOD,SAAS,mBAAmB,CAAC,EAAqF;QAAnF,UAAU,gBAAA,EAAE,UAAU,gBAAA,EAAE,UAAU,gBAAA,EAAE,UAAU,gBAAA,EAAE,OAAO,aAAA;IACpF,+EAA+E;IAC/E,yBAAyB;IACzB,IAAM,kBAAkB,GAAG,OAAO,CAAC;QACjC,OAAO,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1E,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7B,IAAA,KAA0B,QAAQ,CAAU;;QAChD,OAAO,MAAA,UAAU,CAAC,eAAe,mCAAI,CAAC,UAAU,CAAC,IAAI,KAAK,UAAU,IAAI,kBAAkB,CAAC,CAAC;IAC9F,CAAC,CAAC,EAFK,QAAQ,QAAA,EAAE,WAAW,QAE1B,CAAC;IAEG,IAAA,KAAkC,QAAQ,EAAuB,EAAhE,YAAY,QAAA,EAAE,eAAe,QAAmC,CAAC;IAExE,kEAAkE;IAClE,SAAS,CAAC,cAAM,OAAA,eAAe,CAAC,SAAS,CAAC,EAA1B,CAA0B,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAE1D,iFAAiF;IACjF,SAAS,CAAC;QACR,WAAW,CAAC,UAAU,CAAC,IAAI,KAAK,UAAU,IAAI,kBAAkB,CAAC,CAAC;IACpE,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,kBAAkB,EAAE,UAAU,CAAC,CAAC,CAAC;IAEtD,oFAAoF;IACpF,SAAS,CAAC;QACR,IAAI,UAAU,CAAC,eAAe,KAAK,SAAS,EAAE;YAC5C,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;SACzC;IACH,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,IAAM,gBAAgB,GAAG,WAAW,CAClC,UAAC,CAAgE;QAC/D,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1C,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC,EACD,CAAC,UAAU,EAAE,UAAU,CAAC,CACzB,CAAC;IAEF,IAAM,cAAc,GAA4B,UAAC,CAAC,EAAE,KAAK;QACvD,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC9B,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,QAAQ,EAAE;YACb,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SAC9B;IACH,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,yBAAyB,IACxB,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,uBAAuB,CAAC,EAC/B,OAAO,KAAK,eAAe,IAAI,MAAM,CAAC,iCAAiC,CAAC,CACzE,EACD,OAAO,EAAC,YAAY,EACpB,QAAQ,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,QAAQ,EAClC,QAAQ,EAAE,gBAAgB,EAC1B,UAAU,EACR,oBAAC,IAAI,IACH,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,EAC1E,QAAQ,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,QAAQ,EAClC,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,GACtB;QAGJ,oBAAC,QAAQ,IACP,OAAO,EAAC,uBAAuB,EAC/B,KAAK,EAAE,UAAU,CAAC,KAAK,EACvB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,GACtB,CACwB,CAC7B,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useCallback, useState, useEffect, useMemo } from 'react';\nimport clsx from 'clsx';\nimport { ExpandableSectionProps } from '../expandable-section/interfaces';\nimport InternalExpandableSection from '../expandable-section/internal';\nimport InternalIcon from '../icon/internal';\nimport InternalBox from '../box/internal';\nimport { SideNavigationProps } from './interfaces';\nimport styles from './styles.css.js';\nimport { NonCancelableCustomEvent, isPlainLeftClick } from '../internal/events';\nimport useFocusVisible from '../internal/hooks/focus-visible';\nimport { hasActiveLink } from './util';\nimport { checkSafeUrl } from '../internal/utils/check-safe-url';\n\ninterface BaseItemComponentProps {\n activeHref?: string;\n fireChange: (item: SideNavigationProps.Section | SideNavigationProps.ExpandableLinkGroup, expanded: boolean) => void;\n fireFollow: (\n item:\n | SideNavigationProps.Link\n | SideNavigationProps.Header\n | SideNavigationProps.LinkGroup\n | SideNavigationProps.ExpandableLinkGroup,\n event: React.SyntheticEvent | Event\n ) => void;\n}\n\nexport interface HeaderProps extends BaseItemComponentProps {\n definition: SideNavigationProps.Header;\n}\n\nexport function Header({ definition, activeHref, fireFollow }: HeaderProps) {\n checkSafeUrl('SideNavigation', definition.href);\n const focusVisible = useFocusVisible();\n\n const onClick = useCallback(\n (event: React.MouseEvent) => {\n if (isPlainLeftClick(event)) {\n fireFollow(definition, event);\n }\n },\n [fireFollow, definition]\n );\n\n return (\n <>\n <h2 className={styles.header}>\n <a\n {...focusVisible}\n href={definition.href}\n className={clsx(styles['header-link'], { [styles['header-link--has-logo']]: !!definition.logo })}\n aria-current={definition.href === activeHref ? 'page' : undefined}\n onClick={onClick}\n >\n {definition.logo && (\n <img\n className={clsx(styles['header-logo'], {\n [styles['header-logo--stretched']]: !definition.text,\n })}\n {...definition.logo}\n />\n )}\n <span className={styles['header-link-text']}>{definition.text}</span>\n </a>\n </h2>\n <Divider variant=\"header\" />\n </>\n );\n}\n\nexport interface ItemListProps extends BaseItemComponentProps {\n items: ReadonlyArray<SideNavigationProps.Item>;\n variant: 'section' | 'section-group' | 'link-group' | 'expandable-link-group' | 'root';\n}\n\nexport function ItemList({ variant, items, activeHref, fireChange, fireFollow }: ItemListProps) {\n return (\n <ul className={clsx(styles.list, styles[`list-variant-${variant}`])}>\n {items.map((item, i) => (\n <li key={i} className={styles['list-item']}>\n {item.type === 'link' && (\n <Link definition={item} activeHref={activeHref} fireChange={fireChange} fireFollow={fireFollow} />\n )}\n {item.type === 'section' && (\n <Section\n definition={item}\n activeHref={activeHref}\n fireChange={fireChange}\n fireFollow={fireFollow}\n variant={variant}\n />\n )}\n {item.type === 'section-group' && (\n <SectionGroup definition={item} activeHref={activeHref} fireChange={fireChange} fireFollow={fireFollow} />\n )}\n {item.type === 'link-group' && (\n <LinkGroup definition={item} activeHref={activeHref} fireChange={fireChange} fireFollow={fireFollow} />\n )}\n {item.type === 'expandable-link-group' && (\n <ExpandableLinkGroup\n definition={item}\n activeHref={activeHref}\n fireChange={fireChange}\n fireFollow={fireFollow}\n variant={variant}\n />\n )}\n {((i === 0 && item.type === 'divider') || (items[i + 1] && items[i + 1].type === 'divider')) && (\n <Divider variant=\"default\" />\n )}\n </li>\n ))}\n </ul>\n );\n}\n\ninterface DividerProps {\n variant: 'default' | 'header';\n}\n\nfunction Divider({ variant = 'default' }: DividerProps) {\n return <hr className={clsx(styles.divider, styles[`divider-${variant}`])} />;\n}\n\ninterface LinkProps extends BaseItemComponentProps {\n definition: SideNavigationProps.Link;\n expanded?: boolean;\n}\n\nfunction Link({ definition, expanded, activeHref, fireFollow }: LinkProps) {\n checkSafeUrl('SideNavigation', definition.href);\n const isActive = definition.href === activeHref;\n const focusVisible = useFocusVisible();\n\n const onClick = useCallback(\n (event: React.MouseEvent) => {\n // Prevent the click event from toggling outer expandable sections.\n event.stopPropagation();\n\n if (isPlainLeftClick(event)) {\n fireFollow(definition, event);\n }\n },\n [fireFollow, definition]\n );\n\n return (\n <>\n {/* https://github.com/yannickcr/eslint-plugin-react/issues/2962 */}\n {/* eslint-disable-next-line react/jsx-no-target-blank */}\n <a\n {...focusVisible}\n href={definition.href}\n className={clsx(styles.link, { [styles['link-active']]: isActive })}\n target={definition.external ? '_blank' : undefined}\n rel={definition.external ? 'noopener noreferrer' : undefined}\n aria-expanded={expanded}\n aria-current={definition.href === activeHref ? 'page' : undefined}\n onClick={onClick}\n >\n {definition.text}\n {definition.external && (\n <span\n aria-label={definition.externalIconAriaLabel}\n role={definition.externalIconAriaLabel ? 'img' : undefined}\n >\n <InternalIcon name=\"external\" className={styles['external-icon']} />\n </span>\n )}\n </a>\n {definition.info && <span className={styles.info}>{definition.info}</span>}\n </>\n );\n}\n\ninterface SectionProps extends BaseItemComponentProps {\n definition: SideNavigationProps.Section;\n variant: 'section' | 'section-group' | 'link-group' | 'expandable-link-group' | 'root';\n}\n\nfunction Section({ definition, activeHref, fireFollow, fireChange, variant }: SectionProps) {\n const [expanded, setExpanded] = useState<boolean>(definition.defaultExpanded ?? true);\n\n const onExpandedChange = useCallback(\n (e: NonCancelableCustomEvent<ExpandableSectionProps.ChangeDetail>) => {\n fireChange(definition, e.detail.expanded);\n setExpanded(e.detail.expanded);\n },\n [definition, fireChange]\n );\n\n useEffect(() => {\n setExpanded(definition.defaultExpanded ?? true);\n }, [definition]);\n\n return (\n <InternalExpandableSection\n variant=\"footer\"\n expanded={expanded}\n onChange={onExpandedChange}\n className={clsx(styles.section, variant === 'section-group' && styles['section--no-ident'])}\n headerText={definition.text}\n >\n <ItemList\n variant=\"section\"\n items={definition.items}\n fireFollow={fireFollow}\n fireChange={fireChange}\n activeHref={activeHref}\n />\n </InternalExpandableSection>\n );\n}\n\ninterface SectionGroupProps extends BaseItemComponentProps {\n definition: SideNavigationProps.SectionGroup;\n}\n\nfunction SectionGroup({ definition, activeHref, fireFollow, fireChange }: SectionGroupProps) {\n return (\n <div className={styles['section-group']}>\n <InternalBox className={styles['section-group-title']} variant=\"h3\">\n {definition.title}\n </InternalBox>\n <ItemList\n variant=\"section-group\"\n items={definition.items}\n fireFollow={fireFollow}\n fireChange={fireChange}\n activeHref={activeHref}\n />\n </div>\n );\n}\n\ninterface LinkGroupProps extends BaseItemComponentProps {\n definition: SideNavigationProps.LinkGroup;\n}\n\nfunction LinkGroup({ definition, activeHref, fireFollow, fireChange }: LinkGroupProps) {\n checkSafeUrl('SideNavigation', definition.href);\n\n return (\n <>\n <Link\n definition={{ type: 'link', href: definition.href, text: definition.text }}\n fireFollow={(_, event) => fireFollow(definition, event)}\n fireChange={fireChange}\n activeHref={activeHref}\n />\n <ItemList\n variant=\"link-group\"\n items={definition.items}\n fireFollow={fireFollow}\n fireChange={fireChange}\n activeHref={activeHref}\n />\n </>\n );\n}\n\ninterface ExpandableLinkGroupProps extends BaseItemComponentProps {\n definition: SideNavigationProps.ExpandableLinkGroup;\n variant: 'section' | 'section-group' | 'link-group' | 'expandable-link-group' | 'root';\n}\n\nfunction ExpandableLinkGroup({ definition, fireFollow, fireChange, activeHref, variant }: ExpandableLinkGroupProps) {\n // Check whether the definition contains an active link and memoize it to avoid\n // rechecking every time.\n const containsActiveLink = useMemo(() => {\n return activeHref ? hasActiveLink(definition.items, activeHref) : false;\n }, [activeHref, definition.items]);\n\n const [expanded, setExpanded] = useState<boolean>(() => {\n return definition.defaultExpanded ?? (definition.href === activeHref || containsActiveLink);\n });\n\n const [userExpanded, setUserExpanded] = useState<boolean | undefined>();\n\n // Reset user expansion status when the items property is updated.\n useEffect(() => setUserExpanded(undefined), [definition]);\n\n // By default, the expandable section is open when there's an active link inside.\n useEffect(() => {\n setExpanded(definition.href === activeHref || containsActiveLink);\n }, [definition.href, containsActiveLink, activeHref]);\n\n // If the definition object itself is updated, reset the expansion state to default.\n useEffect(() => {\n if (definition.defaultExpanded !== undefined) {\n setExpanded(definition.defaultExpanded);\n }\n }, [definition]);\n\n const onExpandedChange = useCallback(\n (e: NonCancelableCustomEvent<ExpandableSectionProps.ChangeDetail>) => {\n fireChange(definition, e.detail.expanded);\n setUserExpanded(e.detail.expanded);\n },\n [definition, fireChange]\n );\n\n const onHeaderFollow: LinkProps['fireFollow'] = (_, event) => {\n fireFollow(definition, event);\n setUserExpanded(true);\n if (!expanded) {\n fireChange(definition, true);\n }\n };\n\n return (\n <InternalExpandableSection\n className={clsx(\n styles['expandable-link-group'],\n variant === 'section-group' && styles['expandable-link-group--no-ident']\n )}\n variant=\"navigation\"\n expanded={userExpanded ?? expanded}\n onChange={onExpandedChange}\n headerText={\n <Link\n definition={{ type: 'link', href: definition.href, text: definition.text }}\n expanded={userExpanded ?? expanded}\n fireFollow={onHeaderFollow}\n fireChange={fireChange}\n activeHref={activeHref}\n />\n }\n >\n <ItemList\n variant=\"expandable-link-group\"\n items={definition.items}\n fireFollow={fireFollow}\n fireChange={fireChange}\n activeHref={activeHref}\n />\n </InternalExpandableSection>\n );\n}\n"]}
|
|
@@ -1,27 +1,31 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"root": "
|
|
5
|
-
"header": "
|
|
6
|
-
"header-link": "awsui_header-
|
|
7
|
-
"header-link--has-logo": "awsui_header-link--has-
|
|
8
|
-
"header-link-text": "awsui_header-link-
|
|
9
|
-
"header-logo": "awsui_header-
|
|
10
|
-
"header-logo--stretched": "awsui_header-logo--
|
|
11
|
-
"list-container": "awsui_list-
|
|
12
|
-
"list": "
|
|
13
|
-
"list-variant-root": "awsui_list-variant-
|
|
14
|
-
"list-variant-expandable-link-group": "awsui_list-variant-expandable-link-
|
|
15
|
-
"list-item": "awsui_list-
|
|
16
|
-
"section": "
|
|
17
|
-
"expandable-link-group": "awsui_expandable-link-
|
|
18
|
-
"section-
|
|
19
|
-
"link": "
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
4
|
+
"root": "awsui_root_l0dv0_11rnf_93",
|
|
5
|
+
"header": "awsui_header_l0dv0_11rnf_109",
|
|
6
|
+
"header-link": "awsui_header-link_l0dv0_11rnf_120",
|
|
7
|
+
"header-link--has-logo": "awsui_header-link--has-logo_l0dv0_11rnf_130",
|
|
8
|
+
"header-link-text": "awsui_header-link-text_l0dv0_11rnf_130",
|
|
9
|
+
"header-logo": "awsui_header-logo_l0dv0_11rnf_134",
|
|
10
|
+
"header-logo--stretched": "awsui_header-logo--stretched_l0dv0_11rnf_140",
|
|
11
|
+
"list-container": "awsui_list-container_l0dv0_11rnf_145",
|
|
12
|
+
"list": "awsui_list_l0dv0_11rnf_145",
|
|
13
|
+
"list-variant-root": "awsui_list-variant-root_l0dv0_11rnf_155",
|
|
14
|
+
"list-variant-expandable-link-group": "awsui_list-variant-expandable-link-group_l0dv0_11rnf_161",
|
|
15
|
+
"list-item": "awsui_list-item_l0dv0_11rnf_165",
|
|
16
|
+
"section": "awsui_section_l0dv0_11rnf_171",
|
|
17
|
+
"expandable-link-group": "awsui_expandable-link-group_l0dv0_11rnf_172",
|
|
18
|
+
"section--no-ident": "awsui_section--no-ident_l0dv0_11rnf_175",
|
|
19
|
+
"expandable-link-group--no-ident": "awsui_expandable-link-group--no-ident_l0dv0_11rnf_176",
|
|
20
|
+
"list-variant-section-group": "awsui_list-variant-section-group_l0dv0_11rnf_189",
|
|
21
|
+
"section-group": "awsui_section-group_l0dv0_11rnf_194",
|
|
22
|
+
"section-group-title": "awsui_section-group-title_l0dv0_11rnf_204",
|
|
23
|
+
"link": "awsui_link_l0dv0_11rnf_208",
|
|
24
|
+
"link-active": "awsui_link-active_l0dv0_11rnf_217",
|
|
25
|
+
"info": "awsui_info_l0dv0_11rnf_251",
|
|
26
|
+
"external-icon": "awsui_external-icon_l0dv0_11rnf_255",
|
|
27
|
+
"divider": "awsui_divider_l0dv0_11rnf_259",
|
|
28
|
+
"divider-default": "awsui_divider-default_l0dv0_11rnf_264",
|
|
29
|
+
"divider-header": "awsui_divider-header_l0dv0_11rnf_268"
|
|
26
30
|
};
|
|
27
31
|
|
|
@@ -90,7 +90,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
90
90
|
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
91
91
|
SPDX-License-Identifier: Apache-2.0
|
|
92
92
|
*/
|
|
93
|
-
.
|
|
93
|
+
.awsui_root_l0dv0_11rnf_93:not(#\9) {
|
|
94
94
|
/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
|
|
95
95
|
border-collapse: separate;
|
|
96
96
|
border-spacing: 0;
|
|
@@ -132,13 +132,18 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
132
132
|
word-break: break-word;
|
|
133
133
|
}
|
|
134
134
|
|
|
135
|
-
.
|
|
135
|
+
.awsui_header_l0dv0_11rnf_109:not(#\9) {
|
|
136
|
+
font-size: var(--font-panel-header-size-s14y0f, 18px);
|
|
137
|
+
line-height: var(--font-panel-header-line-height-dwnc1y, 22px);
|
|
138
|
+
font-weight: var(--font-heading-l-weight-qh3c9t, 700);
|
|
139
|
+
-webkit-font-smoothing: var(--font-smoothing-webkit-aglr0j, auto);
|
|
140
|
+
-moz-osx-font-smoothing: var(--font-smoothing-moz-osx-f5m4xg, auto);
|
|
136
141
|
margin: 0;
|
|
137
142
|
padding: var(--space-scaled-l-t03y3z, 20px) var(--space-panel-nav-left-hwf0ky, 32px);
|
|
138
143
|
padding-right: calc(var(--space-scaled-xxl-pfgv96, 32px) + var(--space-xl-a39hup, 24px));
|
|
139
144
|
}
|
|
140
145
|
|
|
141
|
-
.awsui_header-
|
|
146
|
+
.awsui_header-link_l0dv0_11rnf_120:not(#\9) {
|
|
142
147
|
font-size: var(--font-panel-header-size-s14y0f, 18px);
|
|
143
148
|
line-height: var(--font-panel-header-line-height-dwnc1y, 22px);
|
|
144
149
|
font-weight: var(--font-heading-l-weight-qh3c9t, 700);
|
|
@@ -148,67 +153,85 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
148
153
|
min-height: var(--font-panel-header-line-height-dwnc1y, 22px);
|
|
149
154
|
display: flex;
|
|
150
155
|
}
|
|
151
|
-
.awsui_header-link--has-
|
|
156
|
+
.awsui_header-link--has-logo_l0dv0_11rnf_130 > .awsui_header-link-text_l0dv0_11rnf_130:not(#\9) {
|
|
152
157
|
font-weight: 400;
|
|
153
158
|
}
|
|
154
159
|
|
|
155
|
-
.awsui_header-
|
|
160
|
+
.awsui_header-logo_l0dv0_11rnf_134:not(#\9) {
|
|
156
161
|
margin-right: var(--space-s-hv8c1d, 12px);
|
|
157
162
|
margin-top: var(--space-xxxs-k2w98v, 2px);
|
|
158
163
|
max-width: calc(1.25 * var(--size-icon-big-cu55wt, 32px));
|
|
159
164
|
align-self: flex-start;
|
|
160
165
|
}
|
|
161
|
-
.awsui_header-logo--
|
|
166
|
+
.awsui_header-logo--stretched_l0dv0_11rnf_140:not(#\9) {
|
|
162
167
|
max-width: 100%;
|
|
163
168
|
margin-right: 0;
|
|
164
169
|
}
|
|
165
170
|
|
|
166
|
-
.awsui_list-
|
|
171
|
+
.awsui_list-container_l0dv0_11rnf_145:not(#\9) {
|
|
167
172
|
margin-top: var(--space-scaled-l-t03y3z, 20px);
|
|
168
173
|
}
|
|
169
174
|
|
|
170
|
-
.
|
|
175
|
+
.awsui_list_l0dv0_11rnf_145:not(#\9) {
|
|
171
176
|
margin: 0;
|
|
172
177
|
padding: 0;
|
|
173
178
|
padding-left: var(--space-l-4vl6xu, 20px);
|
|
174
179
|
}
|
|
175
180
|
|
|
176
|
-
.awsui_list-variant-
|
|
181
|
+
.awsui_list-variant-root_l0dv0_11rnf_155:not(#\9) {
|
|
177
182
|
margin: 0;
|
|
178
183
|
margin-bottom: var(--space-scaled-xxxl-ffokcj, 40px);
|
|
179
184
|
padding: 0 var(--space-panel-side-right-oktwq8, 32px) 0 var(--space-panel-nav-left-hwf0ky, 32px);
|
|
180
185
|
}
|
|
181
186
|
|
|
182
|
-
.awsui_list-variant-expandable-link-
|
|
187
|
+
.awsui_list-variant-expandable-link-group_l0dv0_11rnf_161:not(#\9) {
|
|
183
188
|
padding-left: var(--space-xxxl-bo9z7f, 40px);
|
|
184
189
|
}
|
|
185
190
|
|
|
186
|
-
.awsui_list-
|
|
191
|
+
.awsui_list-item_l0dv0_11rnf_165:not(#\9) {
|
|
187
192
|
margin: var(--space-scaled-xs-6859qs, 8px) 0;
|
|
188
193
|
padding: 0;
|
|
189
194
|
list-style: none;
|
|
190
195
|
}
|
|
191
196
|
|
|
192
|
-
.
|
|
193
|
-
.awsui_expandable-link-
|
|
197
|
+
.awsui_section_l0dv0_11rnf_171:not(#\9),
|
|
198
|
+
.awsui_expandable-link-group_l0dv0_11rnf_172:not(#\9) {
|
|
194
199
|
margin-left: calc(-1 * var(--space-l-4vl6xu, 20px));
|
|
195
200
|
}
|
|
201
|
+
.awsui_section--no-ident_l0dv0_11rnf_175:not(#\9),
|
|
202
|
+
.awsui_expandable-link-group--no-ident_l0dv0_11rnf_176:not(#\9) {
|
|
203
|
+
margin-left: 0;
|
|
204
|
+
}
|
|
196
205
|
|
|
197
|
-
.
|
|
206
|
+
.awsui_section_l0dv0_11rnf_171:not(#\9) {
|
|
198
207
|
margin-top: calc(var(--space-scaled-2x-l-yejodm, 20px) - var(--border-divider-section-width-5a4cv1, 1px));
|
|
199
208
|
margin-bottom: calc(var(--space-scaled-2x-l-yejodm, 20px) - var(--border-divider-section-width-5a4cv1, 1px));
|
|
200
209
|
/* stylelint-disable-next-line selector-max-type */
|
|
201
210
|
}
|
|
202
|
-
.
|
|
211
|
+
.awsui_section_l0dv0_11rnf_171 > div:not(#\9) {
|
|
203
212
|
padding: 0;
|
|
204
213
|
}
|
|
205
214
|
|
|
206
|
-
.
|
|
207
|
-
|
|
208
|
-
|
|
215
|
+
.awsui_list-variant-section-group_l0dv0_11rnf_189:not(#\9) {
|
|
216
|
+
margin: 0;
|
|
217
|
+
padding: 0;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
.awsui_section-group_l0dv0_11rnf_194:not(#\9) {
|
|
221
|
+
font-size: var(--font-heading-m-size-f8kmgg, 18px);
|
|
222
|
+
line-height: var(--font-heading-m-line-height-wqj6lz, 22px);
|
|
223
|
+
letter-spacing: var(--font-heading-m-letter-spacing-vsl82f, normal);
|
|
224
|
+
font-weight: var(--font-heading-m-weight-0y5yq5, 400);
|
|
225
|
+
-webkit-font-smoothing: var(--font-smoothing-webkit-aglr0j, auto);
|
|
226
|
+
-moz-osx-font-smoothing: var(--font-smoothing-moz-osx-f5m4xg, auto);
|
|
227
|
+
margin: 0;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
.awsui_section-group-title_l0dv0_11rnf_204:not(#\9) {
|
|
231
|
+
/* used in test-utils */
|
|
209
232
|
}
|
|
210
233
|
|
|
211
|
-
.
|
|
234
|
+
.awsui_link_l0dv0_11rnf_208:not(#\9) {
|
|
212
235
|
font-size: var(--font-body-m-size-sregvd, 14px);
|
|
213
236
|
line-height: var(--font-body-m-line-height-i7xxvv, 22px);
|
|
214
237
|
color: var(--color-text-body-secondary-u912t7, #545b64);
|
|
@@ -217,30 +240,30 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
217
240
|
-moz-osx-font-smoothing: auto;
|
|
218
241
|
}
|
|
219
242
|
|
|
220
|
-
.awsui_link-
|
|
243
|
+
.awsui_link-active_l0dv0_11rnf_217:not(#\9) {
|
|
221
244
|
font-weight: var(--font-wayfinding-link-active-weight-r40wpo, 700);
|
|
222
245
|
-webkit-font-smoothing: var(--font-smoothing-webkit-aglr0j, auto);
|
|
223
246
|
-moz-osx-font-smoothing: var(--font-smoothing-moz-osx-f5m4xg, auto);
|
|
224
247
|
color: var(--color-text-accent-s0earc, #0073bb);
|
|
225
248
|
}
|
|
226
249
|
|
|
227
|
-
.awsui_header-
|
|
228
|
-
.
|
|
250
|
+
.awsui_header-link_l0dv0_11rnf_120:not(#\9),
|
|
251
|
+
.awsui_link_l0dv0_11rnf_208:not(#\9) {
|
|
229
252
|
text-decoration: none;
|
|
230
253
|
}
|
|
231
|
-
.awsui_header-
|
|
232
|
-
.
|
|
254
|
+
.awsui_header-link_l0dv0_11rnf_120:not(#\9):hover,
|
|
255
|
+
.awsui_link_l0dv0_11rnf_208:not(#\9):hover {
|
|
233
256
|
color: var(--color-text-accent-s0earc, #0073bb);
|
|
234
257
|
}
|
|
235
|
-
.awsui_header-
|
|
236
|
-
.
|
|
258
|
+
.awsui_header-link_l0dv0_11rnf_120:not(#\9):focus,
|
|
259
|
+
.awsui_link_l0dv0_11rnf_208:not(#\9):focus {
|
|
237
260
|
outline: none;
|
|
238
261
|
}
|
|
239
|
-
.awsui_header-
|
|
262
|
+
.awsui_header-link_l0dv0_11rnf_120:not(#\9):hover, .awsui_header-link_l0dv0_11rnf_120:not(#\9):focus, .awsui_link_l0dv0_11rnf_208:not(#\9):hover, .awsui_link_l0dv0_11rnf_208:not(#\9):focus {
|
|
240
263
|
text-decoration: none;
|
|
241
264
|
}
|
|
242
|
-
.awsui_header-
|
|
243
|
-
.
|
|
265
|
+
.awsui_header-link_l0dv0_11rnf_120[data-awsui-focus-visible=true]:not(#\9):focus,
|
|
266
|
+
.awsui_link_l0dv0_11rnf_208[data-awsui-focus-visible=true]:not(#\9):focus {
|
|
244
267
|
outline: thin dotted;
|
|
245
268
|
outline: var(--border-link-focus-ring-outline-67z0xv, 5px auto Highlight);
|
|
246
269
|
outline-offset: 2px;
|
|
@@ -249,23 +272,23 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
249
272
|
box-shadow: 0 0 0 var(--border-link-focus-ring-shadow-spread-e3dct9, 0px) var(--color-border-item-focused-n5kd8g, #0073bb);
|
|
250
273
|
}
|
|
251
274
|
|
|
252
|
-
.
|
|
275
|
+
.awsui_info_l0dv0_11rnf_251:not(#\9) {
|
|
253
276
|
margin-left: var(--space-xs-rsr2qu, 8px);
|
|
254
277
|
}
|
|
255
278
|
|
|
256
|
-
.awsui_external-
|
|
279
|
+
.awsui_external-icon_l0dv0_11rnf_255:not(#\9) {
|
|
257
280
|
margin-left: var(--space-xxs-ynfts5, 4px);
|
|
258
281
|
}
|
|
259
282
|
|
|
260
|
-
.
|
|
283
|
+
.awsui_divider_l0dv0_11rnf_259:not(#\9) {
|
|
261
284
|
border: none;
|
|
262
285
|
border-top: var(--border-divider-section-width-5a4cv1, 1px) solid var(--color-border-divider-default-k96bks, #eaeded);
|
|
263
286
|
}
|
|
264
287
|
|
|
265
|
-
.awsui_divider-
|
|
288
|
+
.awsui_divider-default_l0dv0_11rnf_264:not(#\9) {
|
|
266
289
|
margin: var(--space-scaled-2x-xl-x30c9w, 24px) calc(-1 * var(--space-s-hv8c1d, 12px));
|
|
267
290
|
}
|
|
268
291
|
|
|
269
|
-
.awsui_divider-
|
|
292
|
+
.awsui_divider-header_l0dv0_11rnf_268:not(#\9) {
|
|
270
293
|
margin-top: 0;
|
|
271
294
|
}
|
|
@@ -2,27 +2,31 @@
|
|
|
2
2
|
// es-module interop with Babel and Typescript
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
module.exports.default = {
|
|
5
|
-
"root": "
|
|
6
|
-
"header": "
|
|
7
|
-
"header-link": "awsui_header-
|
|
8
|
-
"header-link--has-logo": "awsui_header-link--has-
|
|
9
|
-
"header-link-text": "awsui_header-link-
|
|
10
|
-
"header-logo": "awsui_header-
|
|
11
|
-
"header-logo--stretched": "awsui_header-logo--
|
|
12
|
-
"list-container": "awsui_list-
|
|
13
|
-
"list": "
|
|
14
|
-
"list-variant-root": "awsui_list-variant-
|
|
15
|
-
"list-variant-expandable-link-group": "awsui_list-variant-expandable-link-
|
|
16
|
-
"list-item": "awsui_list-
|
|
17
|
-
"section": "
|
|
18
|
-
"expandable-link-group": "awsui_expandable-link-
|
|
19
|
-
"section-
|
|
20
|
-
"link": "
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
5
|
+
"root": "awsui_root_l0dv0_11rnf_93",
|
|
6
|
+
"header": "awsui_header_l0dv0_11rnf_109",
|
|
7
|
+
"header-link": "awsui_header-link_l0dv0_11rnf_120",
|
|
8
|
+
"header-link--has-logo": "awsui_header-link--has-logo_l0dv0_11rnf_130",
|
|
9
|
+
"header-link-text": "awsui_header-link-text_l0dv0_11rnf_130",
|
|
10
|
+
"header-logo": "awsui_header-logo_l0dv0_11rnf_134",
|
|
11
|
+
"header-logo--stretched": "awsui_header-logo--stretched_l0dv0_11rnf_140",
|
|
12
|
+
"list-container": "awsui_list-container_l0dv0_11rnf_145",
|
|
13
|
+
"list": "awsui_list_l0dv0_11rnf_145",
|
|
14
|
+
"list-variant-root": "awsui_list-variant-root_l0dv0_11rnf_155",
|
|
15
|
+
"list-variant-expandable-link-group": "awsui_list-variant-expandable-link-group_l0dv0_11rnf_161",
|
|
16
|
+
"list-item": "awsui_list-item_l0dv0_11rnf_165",
|
|
17
|
+
"section": "awsui_section_l0dv0_11rnf_171",
|
|
18
|
+
"expandable-link-group": "awsui_expandable-link-group_l0dv0_11rnf_172",
|
|
19
|
+
"section--no-ident": "awsui_section--no-ident_l0dv0_11rnf_175",
|
|
20
|
+
"expandable-link-group--no-ident": "awsui_expandable-link-group--no-ident_l0dv0_11rnf_176",
|
|
21
|
+
"list-variant-section-group": "awsui_list-variant-section-group_l0dv0_11rnf_189",
|
|
22
|
+
"section-group": "awsui_section-group_l0dv0_11rnf_194",
|
|
23
|
+
"section-group-title": "awsui_section-group-title_l0dv0_11rnf_204",
|
|
24
|
+
"link": "awsui_link_l0dv0_11rnf_208",
|
|
25
|
+
"link-active": "awsui_link-active_l0dv0_11rnf_217",
|
|
26
|
+
"info": "awsui_info_l0dv0_11rnf_251",
|
|
27
|
+
"external-icon": "awsui_external-icon_l0dv0_11rnf_255",
|
|
28
|
+
"divider": "awsui_divider_l0dv0_11rnf_259",
|
|
29
|
+
"divider-default": "awsui_divider-default_l0dv0_11rnf_264",
|
|
30
|
+
"divider-header": "awsui_divider-header_l0dv0_11rnf_268"
|
|
27
31
|
};
|
|
28
32
|
|
|
@@ -2,6 +2,7 @@ import { ComponentWrapper, ElementWrapper } from '@cloudscape-design/test-utils-
|
|
|
2
2
|
import ExpandableSectionWrapper from '../expandable-section';
|
|
3
3
|
export default class SideNavigationWrapper extends ComponentWrapper {
|
|
4
4
|
static rootSelector: string;
|
|
5
|
+
findHeader(): ElementWrapper<HTMLAnchorElement> | null;
|
|
5
6
|
findHeaderLink(): ElementWrapper<HTMLAnchorElement> | null;
|
|
6
7
|
findLinkByHref(href: string): ElementWrapper<HTMLAnchorElement> | null;
|
|
7
8
|
findActiveLink(): ElementWrapper<HTMLAnchorElement> | null;
|
|
@@ -9,6 +10,8 @@ export default class SideNavigationWrapper extends ComponentWrapper {
|
|
|
9
10
|
}
|
|
10
11
|
export declare class SideNavigationItemWrapper extends ElementWrapper {
|
|
11
12
|
findSection(): ExpandableSectionWrapper | null;
|
|
13
|
+
findSectionGroup(): ElementWrapper | null;
|
|
14
|
+
findSectionGroupTitle(): ElementWrapper | null;
|
|
12
15
|
findExpandableLinkGroup(): ExpandableSectionWrapper | null;
|
|
13
16
|
findDivider(): ElementWrapper | null;
|
|
14
17
|
findLink(): ElementWrapper<HTMLAnchorElement> | null;
|
|
@@ -26,6 +26,9 @@ var SideNavigationWrapper = /** @class */ (function (_super) {
|
|
|
26
26
|
function SideNavigationWrapper() {
|
|
27
27
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
28
28
|
}
|
|
29
|
+
SideNavigationWrapper.prototype.findHeader = function () {
|
|
30
|
+
return this.findByClassName(styles_selectors_js_1.default.header);
|
|
31
|
+
};
|
|
29
32
|
SideNavigationWrapper.prototype.findHeaderLink = function () {
|
|
30
33
|
return this.findByClassName(styles_selectors_js_1.default['header-link']);
|
|
31
34
|
};
|
|
@@ -50,6 +53,12 @@ var SideNavigationItemWrapper = /** @class */ (function (_super) {
|
|
|
50
53
|
SideNavigationItemWrapper.prototype.findSection = function () {
|
|
51
54
|
return this.findComponent(".".concat(styles_selectors_js_1.default.section), expandable_section_1.default);
|
|
52
55
|
};
|
|
56
|
+
SideNavigationItemWrapper.prototype.findSectionGroup = function () {
|
|
57
|
+
return this.findByClassName(styles_selectors_js_1.default['section-group']);
|
|
58
|
+
};
|
|
59
|
+
SideNavigationItemWrapper.prototype.findSectionGroupTitle = function () {
|
|
60
|
+
return this.findByClassName(styles_selectors_js_1.default['section-group-title']);
|
|
61
|
+
};
|
|
53
62
|
SideNavigationItemWrapper.prototype.findExpandableLinkGroup = function () {
|
|
54
63
|
return this.findComponent(".".concat(styles_selectors_js_1.default['expandable-link-group']), expandable_section_1.default);
|
|
55
64
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/test-utils/dom/side-navigation/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,qEAAqE;AACrE,sCAAsC;AACtC,8DAA0F;AAC1F,4DAA6D;AAC7D,oFAAkE;AAElE;IAAmD,yCAAgB;IAAnE;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/test-utils/dom/side-navigation/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,qEAAqE;AACrE,sCAAsC;AACtC,8DAA0F;AAC1F,4DAA6D;AAC7D,oFAAkE;AAElE;IAAmD,yCAAgB;IAAnE;;IAsBA,CAAC;IAnBC,0CAAU,GAAV;QACE,OAAO,IAAI,CAAC,eAAe,CAAC,6BAAM,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,8CAAc,GAAd;QACE,OAAO,IAAI,CAAC,eAAe,CAAC,6BAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,8CAAc,GAAd,UAAe,IAAY;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAI,6BAAM,CAAC,IAAI,qBAAU,IAAI,QAAI,CAAC,CAAC;IACtD,CAAC;IAED,8CAAc,GAAd;QACE,OAAO,IAAI,CAAC,eAAe,CAAC,6BAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,+CAAe,GAAf,UAAgB,KAAa;QAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,WAAI,6BAAM,CAAC,mBAAmB,CAAC,6BAAmB,KAAK,MAAG,EAAE,yBAAyB,CAAC,CAAC;IACnH,CAAC;IApBM,kCAAY,GAAW,6BAAM,CAAC,IAAI,CAAC;IAqB5C,4BAAC;CAAA,AAtBD,CAAmD,sBAAgB,GAsBlE;kBAtBoB,qBAAqB;AAwB1C;IAA+C,6CAAc;IAA7D;;IAoCA,CAAC;IAnCC,+CAAW,GAAX;QACE,OAAO,IAAI,CAAC,aAAa,CAAC,WAAI,6BAAM,CAAC,OAAO,CAAE,EAAE,4BAAwB,CAAC,CAAC;IAC5E,CAAC;IAED,oDAAgB,GAAhB;QACE,OAAO,IAAI,CAAC,eAAe,CAAC,6BAAM,CAAC,eAAe,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,yDAAqB,GAArB;QACE,OAAO,IAAI,CAAC,eAAe,CAAC,6BAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,2DAAuB,GAAvB;QACE,OAAO,IAAI,CAAC,aAAa,CAAC,WAAI,6BAAM,CAAC,uBAAuB,CAAC,CAAE,EAAE,4BAAwB,CAAC,CAAC;IAC7F,CAAC;IAED,+CAAW,GAAX;QACE,OAAO,IAAI,CAAC,eAAe,CAAC,6BAAM,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,4CAAQ,GAAR;QACE,OAAO,IAAI,CAAC,eAAe,CAAC,6BAAM,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,oDAAgB,GAAhB;;QACE,OAAO,MAAA,MAAA,IAAI,CAAC,WAAW,EAAE,0CAAE,UAAU,EAAE,mCAAI,IAAI,CAAC;IAClD,CAAC;IAED,mDAAe,GAAf,UAAgB,KAAa;QAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,uBAAgB,KAAK,MAAG,EAAE,yBAAyB,CAAC,CAAC;IACjF,CAAC;IAED,6CAAS,GAAT;QACE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAA,OAAO,IAAI,OAAA,IAAI,yBAAyB,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAnD,CAAmD,CAAC,CAAC;IAChG,CAAC;IACH,gCAAC;AAAD,CAAC,AApCD,CAA+C,oBAAc,GAoC5D;AApCY,8DAAyB"}
|
|
@@ -2,6 +2,7 @@ import { ComponentWrapper, ElementWrapper } from "@cloudscape-design/test-utils-
|
|
|
2
2
|
import ExpandableSectionWrapper from '../expandable-section';
|
|
3
3
|
export default class SideNavigationWrapper extends ComponentWrapper {
|
|
4
4
|
static rootSelector: string;
|
|
5
|
+
findHeader(): ElementWrapper;
|
|
5
6
|
findHeaderLink(): ElementWrapper;
|
|
6
7
|
findLinkByHref(href: string): ElementWrapper;
|
|
7
8
|
findActiveLink(): ElementWrapper;
|
|
@@ -9,6 +10,8 @@ export default class SideNavigationWrapper extends ComponentWrapper {
|
|
|
9
10
|
}
|
|
10
11
|
export declare class SideNavigationItemWrapper extends ElementWrapper {
|
|
11
12
|
findSection(): ExpandableSectionWrapper;
|
|
13
|
+
findSectionGroup(): ElementWrapper;
|
|
14
|
+
findSectionGroupTitle(): ElementWrapper;
|
|
12
15
|
findExpandableLinkGroup(): ExpandableSectionWrapper;
|
|
13
16
|
findDivider(): ElementWrapper;
|
|
14
17
|
findLink(): ElementWrapper;
|
|
@@ -26,6 +26,9 @@ var SideNavigationWrapper = /** @class */ (function (_super) {
|
|
|
26
26
|
function SideNavigationWrapper() {
|
|
27
27
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
28
28
|
}
|
|
29
|
+
SideNavigationWrapper.prototype.findHeader = function () {
|
|
30
|
+
return this.findByClassName(styles_selectors_js_1.default.header);
|
|
31
|
+
};
|
|
29
32
|
SideNavigationWrapper.prototype.findHeaderLink = function () {
|
|
30
33
|
return this.findByClassName(styles_selectors_js_1.default['header-link']);
|
|
31
34
|
};
|
|
@@ -50,6 +53,12 @@ var SideNavigationItemWrapper = /** @class */ (function (_super) {
|
|
|
50
53
|
SideNavigationItemWrapper.prototype.findSection = function () {
|
|
51
54
|
return this.findComponent(".".concat(styles_selectors_js_1.default.section), expandable_section_1.default);
|
|
52
55
|
};
|
|
56
|
+
SideNavigationItemWrapper.prototype.findSectionGroup = function () {
|
|
57
|
+
return this.findByClassName(styles_selectors_js_1.default['section-group']);
|
|
58
|
+
};
|
|
59
|
+
SideNavigationItemWrapper.prototype.findSectionGroupTitle = function () {
|
|
60
|
+
return this.findByClassName(styles_selectors_js_1.default['section-group-title']);
|
|
61
|
+
};
|
|
53
62
|
SideNavigationItemWrapper.prototype.findExpandableLinkGroup = function () {
|
|
54
63
|
return this.findComponent(".".concat(styles_selectors_js_1.default['expandable-link-group']), expandable_section_1.default);
|
|
55
64
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/test-utils/selectors/side-navigation/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,qEAAqE;AACrE,sCAAsC;AACtC,0EAAgG;AAChG,4DAA6D;AAC7D,oFAAkE;AAClE;IAAmD,yCAAgB;IAAnE;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/test-utils/selectors/side-navigation/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,qEAAqE;AACrE,sCAAsC;AACtC,0EAAgG;AAChG,4DAA6D;AAC7D,oFAAkE;AAClE;IAAmD,yCAAgB;IAAnE;;IAiBA,CAAC;IAfC,0CAAU,GAAV;QACE,OAAO,IAAI,CAAC,eAAe,CAAC,6BAAM,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IACD,8CAAc,GAAd;QACE,OAAO,IAAI,CAAC,eAAe,CAAC,6BAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,8CAAc,GAAd,UAAe,IAAY;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAI,6BAAM,CAAC,IAAI,qBAAU,IAAI,QAAI,CAAC,CAAC;IACtD,CAAC;IACD,8CAAc,GAAd;QACE,OAAO,IAAI,CAAC,eAAe,CAAC,6BAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,+CAAe,GAAf,UAAgB,KAAa;QAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,WAAI,6BAAM,CAAC,mBAAmB,CAAC,6BAAmB,KAAK,MAAG,EAAE,yBAAyB,CAAC,CAAC;IACnH,CAAC;IAfM,kCAAY,GAAW,6BAAM,CAAC,IAAI,CAAC;IAgB5C,4BAAC;CAAA,AAjBD,CAAmD,4BAAgB,GAiBlE;kBAjBoB,qBAAqB;AAkB1C;IAA+C,6CAAc;IAA7D;;IA4BA,CAAC;IA3BC,+CAAW,GAAX;QACE,OAAO,IAAI,CAAC,aAAa,CAAC,WAAI,6BAAM,CAAC,OAAO,CAAE,EAAE,4BAAwB,CAAC,CAAC;IAC5E,CAAC;IACD,oDAAgB,GAAhB;QACE,OAAO,IAAI,CAAC,eAAe,CAAC,6BAAM,CAAC,eAAe,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,yDAAqB,GAArB;QACE,OAAO,IAAI,CAAC,eAAe,CAAC,6BAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD,2DAAuB,GAAvB;QACE,OAAO,IAAI,CAAC,aAAa,CAAC,WAAI,6BAAM,CAAC,uBAAuB,CAAC,CAAE,EAAE,4BAAwB,CAAC,CAAC;IAC7F,CAAC;IACD,+CAAW,GAAX;QACE,OAAO,IAAI,CAAC,eAAe,CAAC,6BAAM,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IACD,4CAAQ,GAAR;QACE,OAAO,IAAI,CAAC,eAAe,CAAC,6BAAM,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IACD,oDAAgB,GAAhB;;QACE,OAAO,MAAA,MAAA,IAAI,CAAC,WAAW,EAAE,0CAAE,UAAU,EAAE,mCAAI,IAAI,CAAC;IAClD,CAAC;IACD,mDAAe,GAAf,UAAgB,KAAa;QAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,uBAAgB,KAAK,MAAG,EAAE,yBAAyB,CAAC,CAAC;IACjF,CAAC;IACD,6CAAS,GAAT;QACE,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAA,OAAO,IAAI,OAAA,IAAI,yBAAyB,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAnD,CAAmD,CAAC,CAAC;IAChG,CAAC;IACH,gCAAC;AAAD,CAAC,AA5BD,CAA+C,0BAAc,GA4B5D;AA5BY,8DAAyB"}
|