@cloudscape-design/components 3.0.499 → 3.0.500

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 (41) hide show
  1. package/app-layout/visual-refresh/mobile-toolbar.d.ts.map +1 -1
  2. package/app-layout/visual-refresh/mobile-toolbar.js +2 -1
  3. package/app-layout/visual-refresh/mobile-toolbar.js.map +1 -1
  4. package/app-layout/visual-refresh/styles.css.js +81 -80
  5. package/app-layout/visual-refresh/styles.scoped.css +177 -171
  6. package/app-layout/visual-refresh/styles.selectors.js +81 -80
  7. package/app-layout/visual-refresh/trigger-button.d.ts.map +1 -1
  8. package/app-layout/visual-refresh/trigger-button.js +2 -1
  9. package/app-layout/visual-refresh/trigger-button.js.map +1 -1
  10. package/cards/index.d.ts.map +1 -1
  11. package/cards/index.js +3 -2
  12. package/cards/index.js.map +1 -1
  13. package/cards/styles.css.js +40 -39
  14. package/cards/styles.scoped.css +52 -49
  15. package/cards/styles.selectors.js +40 -39
  16. package/container/internal.d.ts.map +1 -1
  17. package/container/internal.js +3 -2
  18. package/container/internal.js.map +1 -1
  19. package/container/styles.css.js +30 -29
  20. package/container/styles.scoped.css +65 -52
  21. package/container/styles.selectors.js +30 -29
  22. package/internal/environment.js +1 -1
  23. package/internal/environment.json +1 -1
  24. package/internal/manifest.json +1 -1
  25. package/internal/utils/content-header-utils.d.ts +1 -0
  26. package/internal/utils/content-header-utils.d.ts.map +1 -1
  27. package/internal/utils/content-header-utils.js +2 -3
  28. package/internal/utils/content-header-utils.js.map +1 -1
  29. package/package.json +1 -1
  30. package/wizard/internal.d.ts.map +1 -1
  31. package/wizard/internal.js +3 -2
  32. package/wizard/internal.js.map +1 -1
  33. package/wizard/styles.css.js +32 -31
  34. package/wizard/styles.scoped.css +76 -65
  35. package/wizard/styles.selectors.js +32 -31
  36. package/wizard/wizard-form-header.d.ts.map +1 -1
  37. package/wizard/wizard-form-header.js +2 -1
  38. package/wizard/wizard-form-header.js.map +1 -1
  39. package/wizard/wizard-navigation.d.ts.map +1 -1
  40. package/wizard/wizard-navigation.js +3 -2
  41. package/wizard/wizard-navigation.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"wizard-navigation.js","sourceRoot":"lib/default/","sources":["wizard/wizard-navigation.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\nimport InternalLink from '../link/internal';\nimport InternalBox from '../box/internal';\nimport { WizardProps } from './interfaces';\nimport styles from './styles.css.js';\n\ninterface NavigationProps {\n activeStepIndex: number;\n farthestStepIndex: number;\n allowSkipTo: boolean;\n hidden: boolean;\n i18nStrings: WizardProps.I18nStrings;\n isVisualRefresh: boolean;\n isLoadingNextStep: boolean;\n onStepClick: (stepIndex: number) => void;\n onSkipToClick: (stepIndex: number) => void;\n steps: ReadonlyArray<WizardProps.Step>;\n}\n\ninterface NavigationStepProps {\n i18nStrings: WizardProps.I18nStrings;\n index: number;\n onStepClick: (stepIndex: number) => void;\n onSkipToClick: (stepIndex: number) => void;\n status: string;\n step: WizardProps.Step;\n}\n\nenum Statuses {\n Active = 'active',\n Unvisited = 'unvisited',\n Visited = 'visited',\n Next = 'next',\n}\n\nexport default function Navigation({\n activeStepIndex,\n farthestStepIndex,\n allowSkipTo,\n hidden,\n i18nStrings,\n isVisualRefresh,\n isLoadingNextStep,\n onStepClick,\n onSkipToClick,\n steps,\n}: NavigationProps) {\n return (\n <nav\n className={clsx(styles.navigation, hidden && styles.hidden, isVisualRefresh && styles.refresh)}\n aria-label={i18nStrings.navigationAriaLabel}\n >\n <ul className={clsx(isVisualRefresh && styles.refresh)}>\n {steps.map((step, index: number) =>\n isVisualRefresh ? (\n <NavigationStepVisualRefresh\n i18nStrings={i18nStrings}\n index={index}\n key={index}\n onStepClick={onStepClick}\n onSkipToClick={onSkipToClick}\n status={getStatus(index)}\n step={step}\n />\n ) : (\n <NavigationStepClassic\n i18nStrings={i18nStrings}\n index={index}\n key={index}\n onStepClick={onStepClick}\n onSkipToClick={onSkipToClick}\n status={getStatus(index)}\n step={step}\n />\n )\n )}\n </ul>\n </nav>\n );\n\n function getStatus(index: number) {\n if (activeStepIndex === index) {\n return Statuses.Active;\n }\n if (isLoadingNextStep) {\n return Statuses.Unvisited;\n }\n if (farthestStepIndex >= index) {\n return Statuses.Visited;\n }\n if (allowSkipTo && canSkip(activeStepIndex + 1, index)) {\n return Statuses.Next;\n }\n return Statuses.Unvisited;\n }\n\n function canSkip(fromIndex: number, toIndex: number) {\n let index = fromIndex;\n do {\n if (!steps[index].isOptional) {\n return false;\n }\n index++;\n } while (index < toIndex);\n return true;\n }\n}\n\nfunction NavigationStepVisualRefresh({\n i18nStrings,\n index,\n onStepClick,\n onSkipToClick,\n status,\n step,\n}: NavigationStepProps) {\n function handleStepInteraction() {\n if (status === Statuses.Visited) {\n onStepClick(index);\n }\n if (status === Statuses.Next) {\n onSkipToClick(index);\n }\n }\n\n const state = {\n active: 'active',\n unvisited: 'disabled',\n visited: 'enabled',\n next: 'enabled',\n }[status];\n\n const linkClassName = clsx(styles['navigation-link'], {\n [styles['navigation-link-active']]: status === Statuses.Active,\n [styles['navigation-link-disabled']]: status === Statuses.Unvisited,\n });\n\n return (\n <li className={clsx(styles[`${state}`], styles['navigation-link-item'])}>\n <hr />\n\n <span className={clsx(styles.number, styles['navigation-link-label'])}>\n {i18nStrings.stepNumberLabel && i18nStrings.stepNumberLabel(index + 1)}\n {step.isOptional && <i>{` - ${i18nStrings.optional}`}</i>}\n </span>\n\n <a\n className={linkClassName}\n aria-current={status === Statuses.Active ? 'step' : undefined}\n aria-disabled={status === Statuses.Unvisited ? 'true' : undefined}\n onClick={event => {\n event.preventDefault();\n handleStepInteraction();\n }}\n onKeyDown={event => {\n if (event.key === ' ' || event.key === 'Enter') {\n event.preventDefault();\n }\n // Enter activates the button on key down instead of key up.\n if (event.key === 'Enter') {\n handleStepInteraction();\n }\n }}\n onKeyUp={event => {\n // Emulate button behavior, which also fires on space.\n if (event.key === ' ') {\n handleStepInteraction();\n }\n }}\n role=\"button\"\n tabIndex={status === Statuses.Visited || status === Statuses.Next ? 0 : undefined}\n >\n <div className={clsx(styles.circle)} />\n\n <span className={clsx(styles.title)}>{step.title}</span>\n </a>\n </li>\n );\n}\n\nfunction NavigationStepClassic({ i18nStrings, index, onStepClick, onSkipToClick, status, step }: NavigationStepProps) {\n const spanClassName = clsx(\n styles['navigation-link'],\n status === Statuses.Active ? styles['navigation-link-active'] : styles['navigation-link-disabled']\n );\n\n return (\n <li className={styles['navigation-link-item']}>\n <InternalBox\n variant=\"small\"\n className={styles['navigation-link-label']}\n display=\"block\"\n margin={{ bottom: 'xxs' }}\n >\n {i18nStrings.stepNumberLabel && i18nStrings.stepNumberLabel(index + 1)}\n {step.isOptional && <i>{` - ${i18nStrings.optional}`}</i>}\n </InternalBox>\n <div>\n {status === Statuses.Visited || status === Statuses.Next ? (\n <InternalLink\n className={clsx(styles['navigation-link'])}\n onFollow={evt => {\n evt.preventDefault();\n status === Statuses.Visited ? onStepClick(index) : onSkipToClick(index);\n }}\n variant=\"primary\"\n >\n {step.title}\n </InternalLink>\n ) : (\n <span\n className={spanClassName}\n aria-current={status === Statuses.Active ? 'step' : undefined}\n aria-disabled={status === Statuses.Active ? undefined : 'true'}\n >\n {step.title}\n </span>\n )}\n </div>\n </li>\n );\n}\n"]}
1
+ {"version":3,"file":"wizard-navigation.js","sourceRoot":"lib/default/","sources":["wizard/wizard-navigation.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\nimport InternalLink from '../link/internal';\nimport InternalBox from '../box/internal';\nimport { WizardProps } from './interfaces';\nimport styles from './styles.css.js';\nimport { shouldRemoveHighContrastHeader } from '../internal/utils/content-header-utils';\n\ninterface NavigationProps {\n activeStepIndex: number;\n farthestStepIndex: number;\n allowSkipTo: boolean;\n hidden: boolean;\n i18nStrings: WizardProps.I18nStrings;\n isVisualRefresh: boolean;\n isLoadingNextStep: boolean;\n onStepClick: (stepIndex: number) => void;\n onSkipToClick: (stepIndex: number) => void;\n steps: ReadonlyArray<WizardProps.Step>;\n}\n\ninterface NavigationStepProps {\n i18nStrings: WizardProps.I18nStrings;\n index: number;\n onStepClick: (stepIndex: number) => void;\n onSkipToClick: (stepIndex: number) => void;\n status: string;\n step: WizardProps.Step;\n}\n\nenum Statuses {\n Active = 'active',\n Unvisited = 'unvisited',\n Visited = 'visited',\n Next = 'next',\n}\n\nexport default function Navigation({\n activeStepIndex,\n farthestStepIndex,\n allowSkipTo,\n hidden,\n i18nStrings,\n isVisualRefresh,\n isLoadingNextStep,\n onStepClick,\n onSkipToClick,\n steps,\n}: NavigationProps) {\n return (\n <nav\n className={clsx(\n styles.navigation,\n hidden && styles.hidden,\n isVisualRefresh && styles.refresh,\n shouldRemoveHighContrastHeader && styles['remove-high-contrast-header']\n )}\n aria-label={i18nStrings.navigationAriaLabel}\n >\n <ul\n className={clsx(\n isVisualRefresh && styles.refresh,\n shouldRemoveHighContrastHeader && styles['remove-high-contrast-header']\n )}\n >\n {steps.map((step, index: number) =>\n isVisualRefresh ? (\n <NavigationStepVisualRefresh\n i18nStrings={i18nStrings}\n index={index}\n key={index}\n onStepClick={onStepClick}\n onSkipToClick={onSkipToClick}\n status={getStatus(index)}\n step={step}\n />\n ) : (\n <NavigationStepClassic\n i18nStrings={i18nStrings}\n index={index}\n key={index}\n onStepClick={onStepClick}\n onSkipToClick={onSkipToClick}\n status={getStatus(index)}\n step={step}\n />\n )\n )}\n </ul>\n </nav>\n );\n\n function getStatus(index: number) {\n if (activeStepIndex === index) {\n return Statuses.Active;\n }\n if (isLoadingNextStep) {\n return Statuses.Unvisited;\n }\n if (farthestStepIndex >= index) {\n return Statuses.Visited;\n }\n if (allowSkipTo && canSkip(activeStepIndex + 1, index)) {\n return Statuses.Next;\n }\n return Statuses.Unvisited;\n }\n\n function canSkip(fromIndex: number, toIndex: number) {\n let index = fromIndex;\n do {\n if (!steps[index].isOptional) {\n return false;\n }\n index++;\n } while (index < toIndex);\n return true;\n }\n}\n\nfunction NavigationStepVisualRefresh({\n i18nStrings,\n index,\n onStepClick,\n onSkipToClick,\n status,\n step,\n}: NavigationStepProps) {\n function handleStepInteraction() {\n if (status === Statuses.Visited) {\n onStepClick(index);\n }\n if (status === Statuses.Next) {\n onSkipToClick(index);\n }\n }\n\n const state = {\n active: 'active',\n unvisited: 'disabled',\n visited: 'enabled',\n next: 'enabled',\n }[status];\n\n const linkClassName = clsx(styles['navigation-link'], {\n [styles['navigation-link-active']]: status === Statuses.Active,\n [styles['navigation-link-disabled']]: status === Statuses.Unvisited,\n });\n\n return (\n <li className={clsx(styles[`${state}`], styles['navigation-link-item'])}>\n <hr />\n\n <span className={clsx(styles.number, styles['navigation-link-label'])}>\n {i18nStrings.stepNumberLabel && i18nStrings.stepNumberLabel(index + 1)}\n {step.isOptional && <i>{` - ${i18nStrings.optional}`}</i>}\n </span>\n\n <a\n className={linkClassName}\n aria-current={status === Statuses.Active ? 'step' : undefined}\n aria-disabled={status === Statuses.Unvisited ? 'true' : undefined}\n onClick={event => {\n event.preventDefault();\n handleStepInteraction();\n }}\n onKeyDown={event => {\n if (event.key === ' ' || event.key === 'Enter') {\n event.preventDefault();\n }\n // Enter activates the button on key down instead of key up.\n if (event.key === 'Enter') {\n handleStepInteraction();\n }\n }}\n onKeyUp={event => {\n // Emulate button behavior, which also fires on space.\n if (event.key === ' ') {\n handleStepInteraction();\n }\n }}\n role=\"button\"\n tabIndex={status === Statuses.Visited || status === Statuses.Next ? 0 : undefined}\n >\n <div className={clsx(styles.circle)} />\n\n <span className={clsx(styles.title)}>{step.title}</span>\n </a>\n </li>\n );\n}\n\nfunction NavigationStepClassic({ i18nStrings, index, onStepClick, onSkipToClick, status, step }: NavigationStepProps) {\n const spanClassName = clsx(\n styles['navigation-link'],\n status === Statuses.Active ? styles['navigation-link-active'] : styles['navigation-link-disabled']\n );\n\n return (\n <li className={styles['navigation-link-item']}>\n <InternalBox\n variant=\"small\"\n className={styles['navigation-link-label']}\n display=\"block\"\n margin={{ bottom: 'xxs' }}\n >\n {i18nStrings.stepNumberLabel && i18nStrings.stepNumberLabel(index + 1)}\n {step.isOptional && <i>{` - ${i18nStrings.optional}`}</i>}\n </InternalBox>\n <div>\n {status === Statuses.Visited || status === Statuses.Next ? (\n <InternalLink\n className={clsx(styles['navigation-link'])}\n onFollow={evt => {\n evt.preventDefault();\n status === Statuses.Visited ? onStepClick(index) : onSkipToClick(index);\n }}\n variant=\"primary\"\n >\n {step.title}\n </InternalLink>\n ) : (\n <span\n className={spanClassName}\n aria-current={status === Statuses.Active ? 'step' : undefined}\n aria-disabled={status === Statuses.Active ? undefined : 'true'}\n >\n {step.title}\n </span>\n )}\n </div>\n </li>\n );\n}\n"]}