@cloudscape-design/components 3.0.993 → 3.0.995

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 (220) hide show
  1. package/alert/index.js +1 -1
  2. package/alert/index.js.map +1 -1
  3. package/annotation-context/annotation/annotation-popover.d.ts.map +1 -1
  4. package/annotation-context/annotation/annotation-popover.js +1 -1
  5. package/annotation-context/annotation/annotation-popover.js.map +1 -1
  6. package/app-layout/visual-refresh/context.d.ts.map +1 -1
  7. package/app-layout/visual-refresh/context.js +1 -2
  8. package/app-layout/visual-refresh/context.js.map +1 -1
  9. package/app-layout/visual-refresh-toolbar/index.d.ts.map +1 -1
  10. package/app-layout/visual-refresh-toolbar/index.js +1 -2
  11. package/app-layout/visual-refresh-toolbar/index.js.map +1 -1
  12. package/area-chart/elements/data-series.d.ts.map +1 -1
  13. package/area-chart/elements/data-series.js +1 -1
  14. package/area-chart/elements/data-series.js.map +1 -1
  15. package/attribute-editor/internal.d.ts.map +1 -1
  16. package/attribute-editor/internal.js +1 -2
  17. package/attribute-editor/internal.js.map +1 -1
  18. package/attribute-editor/row.d.ts.map +1 -1
  19. package/attribute-editor/row.js +1 -1
  20. package/attribute-editor/row.js.map +1 -1
  21. package/autosuggest/internal.d.ts.map +1 -1
  22. package/autosuggest/internal.js +1 -2
  23. package/autosuggest/internal.js.map +1 -1
  24. package/button/internal.d.ts.map +1 -1
  25. package/button/internal.js +1 -2
  26. package/button/internal.js.map +1 -1
  27. package/button-dropdown/internal.d.ts.map +1 -1
  28. package/button-dropdown/internal.js +1 -2
  29. package/button-dropdown/internal.js.map +1 -1
  30. package/calendar/internal.d.ts.map +1 -1
  31. package/calendar/internal.js +1 -1
  32. package/calendar/internal.js.map +1 -1
  33. package/code-editor/index.d.ts.map +1 -1
  34. package/code-editor/index.js +1 -2
  35. package/code-editor/index.js.map +1 -1
  36. package/collection-preferences/content-display/content-display-option.d.ts.map +1 -1
  37. package/collection-preferences/content-display/content-display-option.js +1 -1
  38. package/collection-preferences/content-display/content-display-option.js.map +1 -1
  39. package/collection-preferences/content-display/index.d.ts.map +1 -1
  40. package/collection-preferences/content-display/index.js +1 -1
  41. package/collection-preferences/content-display/index.js.map +1 -1
  42. package/collection-preferences/index.d.ts.map +1 -1
  43. package/collection-preferences/index.js +1 -2
  44. package/collection-preferences/index.js.map +1 -1
  45. package/collection-preferences/visible-content.d.ts.map +1 -1
  46. package/collection-preferences/visible-content.js +1 -1
  47. package/collection-preferences/visible-content.js.map +1 -1
  48. package/container/internal.d.ts.map +1 -1
  49. package/container/internal.js +1 -2
  50. package/container/internal.js.map +1 -1
  51. package/date-picker/index.d.ts.map +1 -1
  52. package/date-picker/index.js +1 -2
  53. package/date-picker/index.js.map +1 -1
  54. package/date-range-picker/calendar/index.d.ts.map +1 -1
  55. package/date-range-picker/calendar/index.js +1 -1
  56. package/date-range-picker/calendar/index.js.map +1 -1
  57. package/date-range-picker/index.d.ts.map +1 -1
  58. package/date-range-picker/index.js +1 -2
  59. package/date-range-picker/index.js.map +1 -1
  60. package/expandable-section/internal.d.ts.map +1 -1
  61. package/expandable-section/internal.js +1 -1
  62. package/expandable-section/internal.js.map +1 -1
  63. package/file-input/internal.d.ts.map +1 -1
  64. package/file-input/internal.js +1 -2
  65. package/file-input/internal.js.map +1 -1
  66. package/file-token-group/file-token.d.ts.map +1 -1
  67. package/file-token-group/file-token.js +1 -1
  68. package/file-token-group/file-token.js.map +1 -1
  69. package/file-upload/internal.d.ts.map +1 -1
  70. package/file-upload/internal.js +1 -2
  71. package/file-upload/internal.js.map +1 -1
  72. package/flashbar/collapsible-flashbar.js +1 -1
  73. package/flashbar/collapsible-flashbar.js.map +1 -1
  74. package/flashbar/flash.d.ts.map +1 -1
  75. package/flashbar/flash.js +1 -2
  76. package/flashbar/flash.js.map +1 -1
  77. package/form/index.d.ts.map +1 -1
  78. package/form/index.js +1 -1
  79. package/form/index.js.map +1 -1
  80. package/form-field/internal.d.ts.map +1 -1
  81. package/form-field/internal.js +1 -2
  82. package/form-field/internal.js.map +1 -1
  83. package/header/internal.d.ts.map +1 -1
  84. package/header/internal.js +1 -1
  85. package/header/internal.js.map +1 -1
  86. package/internal/analytics/components/analytics-funnel.d.ts.map +1 -1
  87. package/internal/analytics/components/analytics-funnel.js +1 -1
  88. package/internal/analytics/components/analytics-funnel.js.map +1 -1
  89. package/internal/components/abstract-switch/index.d.ts.map +1 -1
  90. package/internal/components/abstract-switch/index.js +1 -1
  91. package/internal/components/abstract-switch/index.js.map +1 -1
  92. package/internal/components/chart-plot/index.d.ts.map +1 -1
  93. package/internal/components/chart-plot/index.js +1 -1
  94. package/internal/components/chart-plot/index.js.map +1 -1
  95. package/internal/components/dropdown/index.d.ts.map +1 -1
  96. package/internal/components/dropdown/index.js +1 -2
  97. package/internal/components/dropdown/index.js.map +1 -1
  98. package/internal/components/token-list/index.d.ts.map +1 -1
  99. package/internal/components/token-list/index.js +1 -1
  100. package/internal/components/token-list/index.js.map +1 -1
  101. package/internal/environment.js +1 -1
  102. package/internal/environment.json +1 -1
  103. package/internal/hooks/use-hidden-description/index.js +1 -1
  104. package/internal/hooks/use-hidden-description/index.js.map +1 -1
  105. package/internal/hooks/use-intersection-observer/index.d.ts.map +1 -1
  106. package/internal/hooks/use-intersection-observer/index.js +13 -1
  107. package/internal/hooks/use-intersection-observer/index.js.map +1 -1
  108. package/internal/hooks/use-performance-marks/index.d.ts.map +1 -1
  109. package/internal/hooks/use-performance-marks/index.js +1 -1
  110. package/internal/hooks/use-performance-marks/index.js.map +1 -1
  111. package/internal/hooks/use-table-interaction-metrics/index.d.ts.map +1 -1
  112. package/internal/hooks/use-table-interaction-metrics/index.js +1 -1
  113. package/internal/hooks/use-table-interaction-metrics/index.js.map +1 -1
  114. package/internal/manifest.json +1 -1
  115. package/internal/plugins/helpers/use-discovered-content.d.ts.map +1 -1
  116. package/internal/plugins/helpers/use-discovered-content.js +1 -1
  117. package/internal/plugins/helpers/use-discovered-content.js.map +1 -1
  118. package/key-value-pairs/internal.d.ts.map +1 -1
  119. package/key-value-pairs/internal.js +1 -1
  120. package/key-value-pairs/internal.js.map +1 -1
  121. package/link/internal.d.ts.map +1 -1
  122. package/link/internal.js +1 -2
  123. package/link/internal.js.map +1 -1
  124. package/mixed-line-bar-chart/data-series.d.ts.map +1 -1
  125. package/mixed-line-bar-chart/data-series.js +1 -1
  126. package/mixed-line-bar-chart/data-series.js.map +1 -1
  127. package/modal/index.d.ts.map +1 -1
  128. package/modal/index.js +1 -1
  129. package/modal/index.js.map +1 -1
  130. package/modal/internal.d.ts.map +1 -1
  131. package/modal/internal.js +1 -2
  132. package/modal/internal.js.map +1 -1
  133. package/multiselect/embedded.d.ts.map +1 -1
  134. package/multiselect/embedded.js +1 -1
  135. package/multiselect/embedded.js.map +1 -1
  136. package/multiselect/internal.d.ts.map +1 -1
  137. package/multiselect/internal.js +1 -1
  138. package/multiselect/internal.js.map +1 -1
  139. package/package.json +1 -1
  140. package/pie-chart/pie-chart.js +1 -1
  141. package/pie-chart/pie-chart.js.map +1 -1
  142. package/popover/body.js +1 -1
  143. package/popover/body.js.map +1 -1
  144. package/popover/internal.d.ts.map +1 -1
  145. package/popover/internal.js +1 -2
  146. package/popover/internal.js.map +1 -1
  147. package/progress-bar/index.d.ts.map +1 -1
  148. package/progress-bar/index.js +1 -2
  149. package/progress-bar/index.js.map +1 -1
  150. package/property-filter/internal.d.ts.map +1 -1
  151. package/property-filter/internal.js +1 -2
  152. package/property-filter/internal.js.map +1 -1
  153. package/property-filter/property-editor.d.ts.map +1 -1
  154. package/property-filter/property-editor.js +1 -1
  155. package/property-filter/property-editor.js.map +1 -1
  156. package/property-filter/property-filter-autosuggest.d.ts.map +1 -1
  157. package/property-filter/property-filter-autosuggest.js +1 -2
  158. package/property-filter/property-filter-autosuggest.js.map +1 -1
  159. package/property-filter/token-editor.d.ts.map +1 -1
  160. package/property-filter/token-editor.js +1 -1
  161. package/property-filter/token-editor.js.map +1 -1
  162. package/radio-group/internal.d.ts.map +1 -1
  163. package/radio-group/internal.js +1 -1
  164. package/radio-group/internal.js.map +1 -1
  165. package/select/internal.d.ts.map +1 -1
  166. package/select/internal.js +1 -2
  167. package/select/internal.js.map +1 -1
  168. package/select/parts/trigger.d.ts.map +1 -1
  169. package/select/parts/trigger.js +1 -2
  170. package/select/parts/trigger.js.map +1 -1
  171. package/select/utils/use-select.d.ts.map +1 -1
  172. package/select/utils/use-select.js +1 -1
  173. package/select/utils/use-select.js.map +1 -1
  174. package/slider/internal.d.ts.map +1 -1
  175. package/slider/internal.js +1 -2
  176. package/slider/internal.js.map +1 -1
  177. package/split-panel/implementation.d.ts.map +1 -1
  178. package/split-panel/implementation.js +1 -2
  179. package/split-panel/implementation.js.map +1 -1
  180. package/table/header-cell/index.d.ts.map +1 -1
  181. package/table/header-cell/index.js +1 -2
  182. package/table/header-cell/index.js.map +1 -1
  183. package/table/resizer/index.d.ts.map +1 -1
  184. package/table/resizer/index.js +1 -2
  185. package/table/resizer/index.js.map +1 -1
  186. package/table/selection/selection-control.js +1 -1
  187. package/table/selection/selection-control.js.map +1 -1
  188. package/table/selection/use-selection.d.ts.map +1 -1
  189. package/table/selection/use-selection.js +1 -1
  190. package/table/selection/use-selection.js.map +1 -1
  191. package/table/tools-header.d.ts.map +1 -1
  192. package/table/tools-header.js +1 -1
  193. package/table/tools-header.js.map +1 -1
  194. package/tabs/index.js +1 -1
  195. package/tabs/index.js.map +1 -1
  196. package/text-filter/internal.d.ts.map +1 -1
  197. package/text-filter/internal.js +1 -1
  198. package/text-filter/internal.js.map +1 -1
  199. package/tiles/internal.d.ts.map +1 -1
  200. package/tiles/internal.js +1 -2
  201. package/tiles/internal.js.map +1 -1
  202. package/top-navigation/parts/overflow-menu/menu-item.d.ts.map +1 -1
  203. package/top-navigation/parts/overflow-menu/menu-item.js +1 -1
  204. package/top-navigation/parts/overflow-menu/menu-item.js.map +1 -1
  205. package/top-navigation/parts/overflow-menu/views/submenu.d.ts.map +1 -1
  206. package/top-navigation/parts/overflow-menu/views/submenu.js +1 -1
  207. package/top-navigation/parts/overflow-menu/views/submenu.js.map +1 -1
  208. package/top-navigation/parts/overflow-menu/views/utilities.d.ts.map +1 -1
  209. package/top-navigation/parts/overflow-menu/views/utilities.js +1 -1
  210. package/top-navigation/parts/overflow-menu/views/utilities.js.map +1 -1
  211. package/tutorial-panel/components/tutorial-list/index.d.ts.map +1 -1
  212. package/tutorial-panel/components/tutorial-list/index.js +1 -1
  213. package/tutorial-panel/components/tutorial-list/index.js.map +1 -1
  214. package/wizard/wizard-form.d.ts.map +1 -1
  215. package/wizard/wizard-form.js +1 -2
  216. package/wizard/wizard-form.js.map +1 -1
  217. package/internal/hooks/use-unique-id/index.d.ts +0 -3
  218. package/internal/hooks/use-unique-id/index.d.ts.map +0 -1
  219. package/internal/hooks/use-unique-id/index.js +0 -17
  220. package/internal/hooks/use-unique-id/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"wizard-form.d.ts","sourceRoot":"","sources":["../../../src/wizard/wizard-form.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8C,MAAM,OAAO,CAAC;AAmBnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAGlF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAM3C,UAAU,eAAgB,SAAQ,0BAA0B;IAC1D,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,kBAAkB,QAAwD,CAAC;AAExF,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,KAAK,EAAE,eAAe,eAwBrE"}
1
+ {"version":3,"file":"wizard-form.d.ts","sourceRoot":"","sources":["../../../src/wizard/wizard-form.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8C,MAAM,OAAO,CAAC;AAmBnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAElF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAM3C,UAAU,eAAgB,SAAQ,0BAA0B;IAC1D,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,kBAAkB,QAAwD,CAAC;AAExF,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,KAAK,EAAE,eAAe,eAwBrE"}
@@ -2,7 +2,7 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import React, { useEffect, useRef } from 'react';
4
4
  import clsx from 'clsx';
5
- import { useComponentMetadata } from '@cloudscape-design/component-toolkit/internal';
5
+ import { useComponentMetadata, useUniqueId } from '@cloudscape-design/component-toolkit/internal';
6
6
  import InternalForm from '../form/internal';
7
7
  import InternalHeader from '../header/internal';
8
8
  import { FunnelMetrics } from '../internal/analytics';
@@ -12,7 +12,6 @@ import { DATA_ATTR_FUNNEL_KEY, FUNNEL_KEY_STEP_NAME, getSubStepAllSelector, getT
12
12
  import { getAnalyticsMetadataProps } from '../internal/base-component';
13
13
  import { PACKAGE_VERSION } from '../internal/environment';
14
14
  import { useEffectOnUpdate } from '../internal/hooks/use-effect-on-update';
15
- import { useUniqueId } from '../internal/hooks/use-unique-id';
16
15
  import WizardActions from './wizard-actions';
17
16
  import WizardFormHeader from './wizard-form-header';
18
17
  import styles from './styles.css.js';
@@ -1 +1 @@
1
- {"version":3,"file":"wizard-form.js","sourceRoot":"","sources":["../../../src/wizard/wizard-form.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, { MutableRefObject, useEffect, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useComponentMetadata } from '@cloudscape-design/component-toolkit/internal';\nimport { AnalyticsMetadata } from '@cloudscape-design/component-toolkit/internal/base-component/metrics/interfaces';\n\nimport InternalForm from '../form/internal';\nimport InternalHeader from '../header/internal';\nimport { FunnelMetrics } from '../internal/analytics';\nimport { AnalyticsFunnelStep } from '../internal/analytics/components/analytics-funnel';\nimport { useFunnel, useFunnelStepRef } from '../internal/analytics/hooks/use-funnel';\nimport {\n DATA_ATTR_FUNNEL_KEY,\n FUNNEL_KEY_STEP_NAME,\n getSubStepAllSelector,\n getTextFromSelector,\n} from '../internal/analytics/selectors';\nimport { BasePropsWithAnalyticsMetadata, getAnalyticsMetadataProps } from '../internal/base-component';\nimport { PACKAGE_VERSION } from '../internal/environment';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { useEffectOnUpdate } from '../internal/hooks/use-effect-on-update';\nimport { useUniqueId } from '../internal/hooks/use-unique-id';\nimport { WizardProps } from './interfaces';\nimport WizardActions from './wizard-actions';\nimport WizardFormHeader from './wizard-form-header';\n\nimport styles from './styles.css.js';\n\ninterface WizardFormProps extends InternalBaseComponentProps {\n steps: ReadonlyArray<WizardProps.Step>;\n activeStepIndex: number;\n showCollapsedSteps: boolean;\n i18nStrings: WizardProps.I18nStrings;\n submitButtonText?: string;\n isPrimaryLoading: boolean;\n allowSkipTo: boolean;\n secondaryActions?: React.ReactNode;\n onCancelClick: () => void;\n onPreviousClick: () => void;\n onPrimaryClick: () => void;\n onSkipToClick: (stepIndex: number) => void;\n}\n\nexport const STEP_NAME_SELECTOR = `[${DATA_ATTR_FUNNEL_KEY}=\"${FUNNEL_KEY_STEP_NAME}\"]`;\n\nexport default function WizardFormWithAnalytics(props: WizardFormProps) {\n const analyticsMetadata = getAnalyticsMetadataProps(\n props.steps[props.activeStepIndex] as BasePropsWithAnalyticsMetadata\n );\n\n const __internalRootRef = useComponentMetadata('WizardForm', PACKAGE_VERSION, analyticsMetadata as AnalyticsMetadata);\n const stepHeaderRef = useRef<HTMLDivElement | null>(null);\n\n useEffectOnUpdate(() => {\n if (stepHeaderRef && stepHeaderRef.current) {\n stepHeaderRef.current?.focus();\n }\n }, [props.activeStepIndex]);\n\n return (\n <AnalyticsFunnelStep\n stepIdentifier={analyticsMetadata?.instanceIdentifier}\n stepErrorContext={analyticsMetadata?.errorContext}\n stepNameSelector={STEP_NAME_SELECTOR}\n stepNumber={props.activeStepIndex + 1}\n >\n <WizardForm stepHeaderRef={stepHeaderRef} __internalRootRef={__internalRootRef} {...props} />\n </AnalyticsFunnelStep>\n );\n}\n\nfunction WizardForm({\n __internalRootRef,\n stepHeaderRef,\n steps,\n activeStepIndex,\n showCollapsedSteps,\n i18nStrings,\n submitButtonText,\n isPrimaryLoading,\n allowSkipTo,\n secondaryActions,\n onCancelClick,\n onPreviousClick,\n onPrimaryClick,\n onSkipToClick,\n}: WizardFormProps & { stepHeaderRef: MutableRefObject<HTMLDivElement | null> }) {\n const { title, info, description, content, errorText, isOptional } = steps[activeStepIndex] || {};\n const isLastStep = activeStepIndex >= steps.length - 1;\n const skipToTargetIndex = findSkipToTargetIndex(steps, activeStepIndex);\n\n const { funnelInteractionId, funnelIdentifier } = useFunnel();\n\n const funnelStepInfo = useFunnelStepRef();\n\n const errorSlotId = useUniqueId('wizard-error-');\n\n const showSkipTo = allowSkipTo && skipToTargetIndex !== -1;\n const skipToButtonText =\n skipToTargetIndex !== -1 && i18nStrings.skipToButtonLabel\n ? i18nStrings.skipToButtonLabel(steps[skipToTargetIndex], skipToTargetIndex + 1)\n : undefined;\n\n useEffect(() => {\n if (funnelInteractionId && errorText) {\n const stepName = getTextFromSelector(funnelStepInfo.current.stepNameSelector);\n\n FunnelMetrics.funnelStepError({\n funnelInteractionId,\n stepNumber: funnelStepInfo.current.stepNumber,\n stepNameSelector: funnelStepInfo.current.stepNameSelector,\n stepName,\n stepIdentifier: funnelStepInfo.current.stepIdentifier,\n currentDocument: __internalRootRef?.current?.ownerDocument,\n totalSubSteps: funnelStepInfo.current.subStepCount.current,\n funnelIdentifier,\n subStepAllSelector: getSubStepAllSelector(),\n errorContext: funnelStepInfo.current.stepErrorContext,\n subStepConfiguration: funnelStepInfo.current.subStepConfiguration.current?.get(\n funnelStepInfo.current.stepNumber\n ),\n stepErrorSelector: '#' + errorSlotId,\n });\n }\n }, [funnelInteractionId, funnelIdentifier, isLastStep, errorText, __internalRootRef, errorSlotId, funnelStepInfo]);\n\n return (\n <>\n <WizardFormHeader>\n <div className={clsx(styles['collapsed-steps'], !showCollapsedSteps && styles['collapsed-steps-hidden'])}>\n {i18nStrings.collapsedStepsLabel?.(activeStepIndex + 1, steps.length)}\n </div>\n <InternalHeader\n className={styles['form-header-component']}\n variant=\"h1\"\n description={description}\n info={info}\n __headingTagRef={stepHeaderRef}\n __headingTagTabIndex={-1}\n >\n <span className={styles['form-header-component-wrapper']}>\n <span {...{ [DATA_ATTR_FUNNEL_KEY]: FUNNEL_KEY_STEP_NAME }}>{title}</span>\n {isOptional && <i>{` - ${i18nStrings.optional}`}</i>}\n </span>\n </InternalHeader>\n </WizardFormHeader>\n\n <InternalForm\n __internalRootRef={__internalRootRef}\n className={styles['form-component']}\n actions={\n <WizardActions\n cancelButtonText={i18nStrings.cancelButton}\n primaryButtonText={isLastStep ? submitButtonText ?? i18nStrings.submitButton : i18nStrings.nextButton}\n primaryButtonLoadingText={\n isLastStep ? i18nStrings.submitButtonLoadingAnnouncement : i18nStrings.nextButtonLoadingAnnouncement\n }\n previousButtonText={i18nStrings.previousButton}\n onCancelClick={onCancelClick}\n onPreviousClick={onPreviousClick}\n onPrimaryClick={onPrimaryClick}\n onSkipToClick={() => onSkipToClick(skipToTargetIndex)}\n showPrevious={activeStepIndex !== 0}\n isPrimaryLoading={isPrimaryLoading}\n showSkipTo={showSkipTo}\n skipToButtonText={skipToButtonText}\n isLastStep={isLastStep}\n activeStepIndex={activeStepIndex}\n skipToStepIndex={skipToTargetIndex}\n />\n }\n secondaryActions={secondaryActions}\n errorText={errorText}\n __errorSlotId={errorSlotId}\n errorIconAriaLabel={i18nStrings.errorIconAriaLabel}\n {...funnelStepInfo.current.funnelStepProps}\n >\n {content}\n </InternalForm>\n </>\n );\n}\n\nfunction findSkipToTargetIndex(steps: ReadonlyArray<WizardProps.Step>, activeStepIndex: number): number {\n let nextRequiredStepIndex = activeStepIndex;\n do {\n nextRequiredStepIndex++;\n } while (nextRequiredStepIndex < steps.length - 1 && steps[nextRequiredStepIndex].isOptional);\n\n return nextRequiredStepIndex > activeStepIndex + 1 ? nextRequiredStepIndex : -1;\n}\n"]}
1
+ {"version":3,"file":"wizard-form.js","sourceRoot":"","sources":["../../../src/wizard/wizard-form.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, { MutableRefObject, useEffect, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useComponentMetadata, useUniqueId } from '@cloudscape-design/component-toolkit/internal';\nimport { AnalyticsMetadata } from '@cloudscape-design/component-toolkit/internal/base-component/metrics/interfaces';\n\nimport InternalForm from '../form/internal';\nimport InternalHeader from '../header/internal';\nimport { FunnelMetrics } from '../internal/analytics';\nimport { AnalyticsFunnelStep } from '../internal/analytics/components/analytics-funnel';\nimport { useFunnel, useFunnelStepRef } from '../internal/analytics/hooks/use-funnel';\nimport {\n DATA_ATTR_FUNNEL_KEY,\n FUNNEL_KEY_STEP_NAME,\n getSubStepAllSelector,\n getTextFromSelector,\n} from '../internal/analytics/selectors';\nimport { BasePropsWithAnalyticsMetadata, getAnalyticsMetadataProps } from '../internal/base-component';\nimport { PACKAGE_VERSION } from '../internal/environment';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { useEffectOnUpdate } from '../internal/hooks/use-effect-on-update';\nimport { WizardProps } from './interfaces';\nimport WizardActions from './wizard-actions';\nimport WizardFormHeader from './wizard-form-header';\n\nimport styles from './styles.css.js';\n\ninterface WizardFormProps extends InternalBaseComponentProps {\n steps: ReadonlyArray<WizardProps.Step>;\n activeStepIndex: number;\n showCollapsedSteps: boolean;\n i18nStrings: WizardProps.I18nStrings;\n submitButtonText?: string;\n isPrimaryLoading: boolean;\n allowSkipTo: boolean;\n secondaryActions?: React.ReactNode;\n onCancelClick: () => void;\n onPreviousClick: () => void;\n onPrimaryClick: () => void;\n onSkipToClick: (stepIndex: number) => void;\n}\n\nexport const STEP_NAME_SELECTOR = `[${DATA_ATTR_FUNNEL_KEY}=\"${FUNNEL_KEY_STEP_NAME}\"]`;\n\nexport default function WizardFormWithAnalytics(props: WizardFormProps) {\n const analyticsMetadata = getAnalyticsMetadataProps(\n props.steps[props.activeStepIndex] as BasePropsWithAnalyticsMetadata\n );\n\n const __internalRootRef = useComponentMetadata('WizardForm', PACKAGE_VERSION, analyticsMetadata as AnalyticsMetadata);\n const stepHeaderRef = useRef<HTMLDivElement | null>(null);\n\n useEffectOnUpdate(() => {\n if (stepHeaderRef && stepHeaderRef.current) {\n stepHeaderRef.current?.focus();\n }\n }, [props.activeStepIndex]);\n\n return (\n <AnalyticsFunnelStep\n stepIdentifier={analyticsMetadata?.instanceIdentifier}\n stepErrorContext={analyticsMetadata?.errorContext}\n stepNameSelector={STEP_NAME_SELECTOR}\n stepNumber={props.activeStepIndex + 1}\n >\n <WizardForm stepHeaderRef={stepHeaderRef} __internalRootRef={__internalRootRef} {...props} />\n </AnalyticsFunnelStep>\n );\n}\n\nfunction WizardForm({\n __internalRootRef,\n stepHeaderRef,\n steps,\n activeStepIndex,\n showCollapsedSteps,\n i18nStrings,\n submitButtonText,\n isPrimaryLoading,\n allowSkipTo,\n secondaryActions,\n onCancelClick,\n onPreviousClick,\n onPrimaryClick,\n onSkipToClick,\n}: WizardFormProps & { stepHeaderRef: MutableRefObject<HTMLDivElement | null> }) {\n const { title, info, description, content, errorText, isOptional } = steps[activeStepIndex] || {};\n const isLastStep = activeStepIndex >= steps.length - 1;\n const skipToTargetIndex = findSkipToTargetIndex(steps, activeStepIndex);\n\n const { funnelInteractionId, funnelIdentifier } = useFunnel();\n\n const funnelStepInfo = useFunnelStepRef();\n\n const errorSlotId = useUniqueId('wizard-error-');\n\n const showSkipTo = allowSkipTo && skipToTargetIndex !== -1;\n const skipToButtonText =\n skipToTargetIndex !== -1 && i18nStrings.skipToButtonLabel\n ? i18nStrings.skipToButtonLabel(steps[skipToTargetIndex], skipToTargetIndex + 1)\n : undefined;\n\n useEffect(() => {\n if (funnelInteractionId && errorText) {\n const stepName = getTextFromSelector(funnelStepInfo.current.stepNameSelector);\n\n FunnelMetrics.funnelStepError({\n funnelInteractionId,\n stepNumber: funnelStepInfo.current.stepNumber,\n stepNameSelector: funnelStepInfo.current.stepNameSelector,\n stepName,\n stepIdentifier: funnelStepInfo.current.stepIdentifier,\n currentDocument: __internalRootRef?.current?.ownerDocument,\n totalSubSteps: funnelStepInfo.current.subStepCount.current,\n funnelIdentifier,\n subStepAllSelector: getSubStepAllSelector(),\n errorContext: funnelStepInfo.current.stepErrorContext,\n subStepConfiguration: funnelStepInfo.current.subStepConfiguration.current?.get(\n funnelStepInfo.current.stepNumber\n ),\n stepErrorSelector: '#' + errorSlotId,\n });\n }\n }, [funnelInteractionId, funnelIdentifier, isLastStep, errorText, __internalRootRef, errorSlotId, funnelStepInfo]);\n\n return (\n <>\n <WizardFormHeader>\n <div className={clsx(styles['collapsed-steps'], !showCollapsedSteps && styles['collapsed-steps-hidden'])}>\n {i18nStrings.collapsedStepsLabel?.(activeStepIndex + 1, steps.length)}\n </div>\n <InternalHeader\n className={styles['form-header-component']}\n variant=\"h1\"\n description={description}\n info={info}\n __headingTagRef={stepHeaderRef}\n __headingTagTabIndex={-1}\n >\n <span className={styles['form-header-component-wrapper']}>\n <span {...{ [DATA_ATTR_FUNNEL_KEY]: FUNNEL_KEY_STEP_NAME }}>{title}</span>\n {isOptional && <i>{` - ${i18nStrings.optional}`}</i>}\n </span>\n </InternalHeader>\n </WizardFormHeader>\n\n <InternalForm\n __internalRootRef={__internalRootRef}\n className={styles['form-component']}\n actions={\n <WizardActions\n cancelButtonText={i18nStrings.cancelButton}\n primaryButtonText={isLastStep ? submitButtonText ?? i18nStrings.submitButton : i18nStrings.nextButton}\n primaryButtonLoadingText={\n isLastStep ? i18nStrings.submitButtonLoadingAnnouncement : i18nStrings.nextButtonLoadingAnnouncement\n }\n previousButtonText={i18nStrings.previousButton}\n onCancelClick={onCancelClick}\n onPreviousClick={onPreviousClick}\n onPrimaryClick={onPrimaryClick}\n onSkipToClick={() => onSkipToClick(skipToTargetIndex)}\n showPrevious={activeStepIndex !== 0}\n isPrimaryLoading={isPrimaryLoading}\n showSkipTo={showSkipTo}\n skipToButtonText={skipToButtonText}\n isLastStep={isLastStep}\n activeStepIndex={activeStepIndex}\n skipToStepIndex={skipToTargetIndex}\n />\n }\n secondaryActions={secondaryActions}\n errorText={errorText}\n __errorSlotId={errorSlotId}\n errorIconAriaLabel={i18nStrings.errorIconAriaLabel}\n {...funnelStepInfo.current.funnelStepProps}\n >\n {content}\n </InternalForm>\n </>\n );\n}\n\nfunction findSkipToTargetIndex(steps: ReadonlyArray<WizardProps.Step>, activeStepIndex: number): number {\n let nextRequiredStepIndex = activeStepIndex;\n do {\n nextRequiredStepIndex++;\n } while (nextRequiredStepIndex < steps.length - 1 && steps[nextRequiredStepIndex].isOptional);\n\n return nextRequiredStepIndex > activeStepIndex + 1 ? nextRequiredStepIndex : -1;\n}\n"]}
@@ -1,3 +0,0 @@
1
- export declare const useRandomId: () => string;
2
- export declare function useUniqueId(prefix?: string): string;
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/hooks/use-unique-id/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,WAAW,cAMvB,CAAC;AAIF,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,UAE1C"}
@@ -1,17 +0,0 @@
1
- var _a;
2
- // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
- // SPDX-License-Identifier: Apache-2.0
4
- import React, { useRef } from 'react';
5
- let counter = 0;
6
- export const useRandomId = () => {
7
- const idRef = useRef(null);
8
- if (!idRef.current) {
9
- idRef.current = `${counter++}-${Date.now()}-${Math.round(Math.random() * 10000)}`;
10
- }
11
- return idRef.current;
12
- };
13
- const useId = (_a = React.useId) !== null && _a !== void 0 ? _a : useRandomId;
14
- export function useUniqueId(prefix) {
15
- return `${prefix ? prefix : ''}` + useId();
16
- }
17
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/use-unique-id/index.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEtC,IAAI,OAAO,GAAG,CAAC,CAAC;AAChB,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,KAAK,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;QAClB,KAAK,CAAC,OAAO,GAAG,GAAG,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;KACnF;IACD,OAAO,KAAK,CAAC,OAAO,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,KAAK,GAAuB,MAAC,KAAa,CAAC,KAAK,mCAAI,WAAW,CAAC;AAEtE,MAAM,UAAU,WAAW,CAAC,MAAe;IACzC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC;AAC7C,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useRef } from 'react';\n\nlet counter = 0;\nexport const useRandomId = () => {\n const idRef = useRef<string | null>(null);\n if (!idRef.current) {\n idRef.current = `${counter++}-${Date.now()}-${Math.round(Math.random() * 10000)}`;\n }\n return idRef.current;\n};\n\nconst useId: typeof useRandomId = (React as any).useId ?? useRandomId;\n\nexport function useUniqueId(prefix?: string) {\n return `${prefix ? prefix : ''}` + useId();\n}\n"]}