@cloudscape-design/components 3.0.623 → 3.0.625

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 (144) hide show
  1. package/alert/index.d.ts.map +1 -1
  2. package/alert/index.js +9 -5
  3. package/alert/index.js.map +1 -1
  4. package/attribute-editor/interfaces.d.ts +4 -0
  5. package/attribute-editor/interfaces.d.ts.map +1 -1
  6. package/attribute-editor/interfaces.js.map +1 -1
  7. package/attribute-editor/row.d.ts.map +1 -1
  8. package/attribute-editor/row.js +4 -1
  9. package/attribute-editor/row.js.map +1 -1
  10. package/container/index.js +1 -1
  11. package/container/index.js.map +1 -1
  12. package/date-picker/index.d.ts.map +1 -1
  13. package/date-picker/index.js +2 -2
  14. package/date-picker/index.js.map +1 -1
  15. package/date-range-picker/index.d.ts.map +1 -1
  16. package/date-range-picker/index.js +2 -2
  17. package/date-range-picker/index.js.map +1 -1
  18. package/file-upload/interfaces.d.ts +14 -4
  19. package/file-upload/interfaces.d.ts.map +1 -1
  20. package/file-upload/interfaces.js.map +1 -1
  21. package/file-upload/internal.js +13 -7
  22. package/file-upload/internal.js.map +1 -1
  23. package/form/index.d.ts.map +1 -1
  24. package/form/index.js +17 -6
  25. package/form/index.js.map +1 -1
  26. package/form/internal.d.ts.map +1 -1
  27. package/form/internal.js +1 -14
  28. package/form/internal.js.map +1 -1
  29. package/form-field/index.d.ts.map +1 -1
  30. package/form-field/index.js +3 -2
  31. package/form-field/index.js.map +1 -1
  32. package/form-field/interfaces.d.ts +12 -1
  33. package/form-field/interfaces.d.ts.map +1 -1
  34. package/form-field/interfaces.js.map +1 -1
  35. package/form-field/internal.d.ts +9 -3
  36. package/form-field/internal.d.ts.map +1 -1
  37. package/form-field/internal.js +39 -13
  38. package/form-field/internal.js.map +1 -1
  39. package/form-field/styles.css.js +23 -19
  40. package/form-field/styles.scoped.css +45 -29
  41. package/form-field/styles.selectors.js +23 -19
  42. package/form-field/util.d.ts +3 -2
  43. package/form-field/util.d.ts.map +1 -1
  44. package/form-field/util.js +4 -3
  45. package/form-field/util.js.map +1 -1
  46. package/input/index.d.ts.map +1 -1
  47. package/input/index.js +2 -1
  48. package/input/index.js.map +1 -1
  49. package/input/internal.d.ts.map +1 -1
  50. package/input/internal.js +4 -1
  51. package/input/internal.js.map +1 -1
  52. package/input/styles.css.js +13 -12
  53. package/input/styles.scoped.css +46 -30
  54. package/input/styles.selectors.js +13 -12
  55. package/internal/analytics/components/analytics-funnel.d.ts +12 -12
  56. package/internal/analytics/components/analytics-funnel.d.ts.map +1 -1
  57. package/internal/analytics/components/analytics-funnel.js +38 -25
  58. package/internal/analytics/components/analytics-funnel.js.map +1 -1
  59. package/internal/analytics/context/analytics-context.d.ts +7 -2
  60. package/internal/analytics/context/analytics-context.d.ts.map +1 -1
  61. package/internal/analytics/context/analytics-context.js.map +1 -1
  62. package/internal/analytics/hooks/use-funnel.d.ts +5 -1
  63. package/internal/analytics/hooks/use-funnel.d.ts.map +1 -1
  64. package/internal/analytics/hooks/use-funnel.js +9 -5
  65. package/internal/analytics/hooks/use-funnel.js.map +1 -1
  66. package/internal/analytics/interfaces.d.ts +23 -37
  67. package/internal/analytics/interfaces.d.ts.map +1 -1
  68. package/internal/analytics/interfaces.js.map +1 -1
  69. package/internal/base-component/index.d.ts +1 -1
  70. package/internal/base-component/index.d.ts.map +1 -1
  71. package/internal/base-component/index.js +1 -1
  72. package/internal/base-component/index.js.map +1 -1
  73. package/internal/components/button-trigger/index.d.ts +1 -0
  74. package/internal/components/button-trigger/index.d.ts.map +1 -1
  75. package/internal/components/button-trigger/index.js +2 -2
  76. package/internal/components/button-trigger/index.js.map +1 -1
  77. package/internal/components/button-trigger/styles.css.js +11 -10
  78. package/internal/components/button-trigger/styles.scoped.css +35 -24
  79. package/internal/components/button-trigger/styles.selectors.js +11 -10
  80. package/internal/components/responsive-text/index.d.ts +1 -1
  81. package/internal/components/responsive-text/index.d.ts.map +1 -1
  82. package/internal/components/responsive-text/index.js +9 -4
  83. package/internal/components/responsive-text/index.js.map +1 -1
  84. package/internal/context/form-field-context.d.ts +14 -1
  85. package/internal/context/form-field-context.d.ts.map +1 -1
  86. package/internal/context/form-field-context.js +1 -1
  87. package/internal/context/form-field-context.js.map +1 -1
  88. package/internal/environment.js +1 -1
  89. package/internal/environment.json +1 -1
  90. package/internal/manifest.json +1 -1
  91. package/link/internal.d.ts.map +1 -1
  92. package/link/internal.js +9 -3
  93. package/link/internal.js.map +1 -1
  94. package/modal/body-scroll.d.ts.map +1 -1
  95. package/modal/body-scroll.js +5 -0
  96. package/modal/body-scroll.js.map +1 -1
  97. package/package.json +1 -1
  98. package/pie-chart/responsive-text.d.ts.map +1 -1
  99. package/pie-chart/responsive-text.js +5 -1
  100. package/pie-chart/responsive-text.js.map +1 -1
  101. package/select/parts/filter.d.ts +1 -1
  102. package/select/parts/filter.d.ts.map +1 -1
  103. package/select/parts/trigger.d.ts.map +1 -1
  104. package/select/parts/trigger.js +2 -2
  105. package/select/parts/trigger.js.map +1 -1
  106. package/test-utils/dom/file-upload/index.d.ts +2 -0
  107. package/test-utils/dom/file-upload/index.js +6 -0
  108. package/test-utils/dom/file-upload/index.js.map +1 -1
  109. package/test-utils/dom/form-field/index.d.ts +1 -0
  110. package/test-utils/dom/form-field/index.js +3 -0
  111. package/test-utils/dom/form-field/index.js.map +1 -1
  112. package/test-utils/selectors/file-upload/index.d.ts +2 -0
  113. package/test-utils/selectors/file-upload/index.js +6 -0
  114. package/test-utils/selectors/file-upload/index.js.map +1 -1
  115. package/test-utils/selectors/form-field/index.d.ts +1 -0
  116. package/test-utils/selectors/form-field/index.js +3 -0
  117. package/test-utils/selectors/form-field/index.js.map +1 -1
  118. package/test-utils/tsconfig.tsbuildinfo +1 -1
  119. package/textarea/index.d.ts.map +1 -1
  120. package/textarea/index.js +2 -1
  121. package/textarea/index.js.map +1 -1
  122. package/textarea/styles.css.js +5 -4
  123. package/textarea/styles.scoped.css +23 -12
  124. package/textarea/styles.selectors.js +5 -4
  125. package/token-group/styles.css.js +9 -8
  126. package/token-group/styles.scoped.css +27 -16
  127. package/token-group/styles.selectors.js +9 -8
  128. package/token-group/token.d.ts +3 -1
  129. package/token-group/token.d.ts.map +1 -1
  130. package/token-group/token.js +8 -5
  131. package/token-group/token.js.map +1 -1
  132. package/wizard/analytics.d.ts +2 -1
  133. package/wizard/analytics.d.ts.map +1 -1
  134. package/wizard/analytics.js +7 -3
  135. package/wizard/analytics.js.map +1 -1
  136. package/wizard/index.js +1 -1
  137. package/wizard/index.js.map +1 -1
  138. package/wizard/internal.d.ts.map +1 -1
  139. package/wizard/internal.js +2 -2
  140. package/wizard/internal.js.map +1 -1
  141. package/wizard/wizard-form.d.ts +4 -2
  142. package/wizard/wizard-form.d.ts.map +1 -1
  143. package/wizard/wizard-form.js +31 -19
  144. package/wizard/wizard-form.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/textarea/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { Ref, useRef } from 'react';\nimport { getBaseProps } from '../internal/base-component';\nimport { fireKeyboardEvent, fireNonCancelableEvent } from '../internal/events';\nimport { TextareaProps } from './interfaces';\nimport { useFormFieldContext } from '../internal/context/form-field-context';\nimport useForwardFocus from '../internal/hooks/forward-focus';\nimport clsx from 'clsx';\nimport styles from './styles.css.js';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { convertAutoComplete } from '../input/utils';\n\nexport { TextareaProps };\n\nconst Textarea = React.forwardRef(\n (\n {\n value,\n autoComplete = true,\n disabled,\n readOnly,\n disableBrowserAutocorrect,\n disableBrowserSpellcheck,\n spellcheck,\n onKeyDown,\n onKeyUp,\n onChange,\n onBlur,\n onFocus,\n ariaRequired,\n name,\n rows,\n placeholder,\n autoFocus,\n ariaLabel,\n ...rest\n }: TextareaProps,\n ref: Ref<TextareaProps.Ref>\n ) => {\n const { __internalRootRef } = useBaseComponent('Textarea', {\n props: { autoComplete, autoFocus, disableBrowserAutocorrect, disableBrowserSpellcheck, readOnly, spellcheck },\n });\n const { ariaLabelledby, ariaDescribedby, controlId, invalid } = useFormFieldContext(rest);\n const baseProps = getBaseProps(rest);\n\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n useForwardFocus(ref, textareaRef);\n\n const attributes: React.TextareaHTMLAttributes<HTMLTextAreaElement> = {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n 'aria-describedby': ariaDescribedby,\n 'aria-required': ariaRequired ? 'true' : undefined,\n 'aria-invalid': invalid ? 'true' : undefined,\n name,\n placeholder,\n autoFocus,\n className: clsx(styles.textarea, {\n [styles['textarea-readonly']]: readOnly,\n [styles['textarea-invalid']]: invalid,\n }),\n autoComplete: convertAutoComplete(autoComplete),\n spellCheck: spellcheck,\n disabled,\n readOnly: readOnly ? true : undefined,\n rows: rows || 3,\n onKeyDown: onKeyDown && (event => fireKeyboardEvent(onKeyDown, event)),\n onKeyUp: onKeyUp && (event => fireKeyboardEvent(onKeyUp, event)),\n // We set a default value on the component in order to force it into the controlled mode.\n value: value || '',\n onChange: onChange && (event => fireNonCancelableEvent(onChange, { value: event.target.value })),\n onBlur: onBlur && (() => fireNonCancelableEvent(onBlur)),\n onFocus: onFocus && (() => fireNonCancelableEvent(onFocus)),\n };\n\n if (disableBrowserAutocorrect) {\n attributes.autoCorrect = 'off';\n attributes.autoCapitalize = 'off';\n }\n\n if (disableBrowserSpellcheck) {\n attributes.spellCheck = 'false';\n }\n\n return (\n <span {...baseProps} className={clsx(styles.root, baseProps.className)} ref={__internalRootRef}>\n <textarea ref={textareaRef} id={controlId} {...attributes} />\n </span>\n );\n }\n);\n\napplyDisplayName(Textarea, 'Textarea');\nexport default Textarea;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/textarea/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { Ref, useRef } from 'react';\nimport { getBaseProps } from '../internal/base-component';\nimport { fireKeyboardEvent, fireNonCancelableEvent } from '../internal/events';\nimport { TextareaProps } from './interfaces';\nimport { useFormFieldContext } from '../internal/context/form-field-context';\nimport useForwardFocus from '../internal/hooks/forward-focus';\nimport clsx from 'clsx';\nimport styles from './styles.css.js';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { convertAutoComplete } from '../input/utils';\n\nexport { TextareaProps };\n\nconst Textarea = React.forwardRef(\n (\n {\n value,\n autoComplete = true,\n disabled,\n readOnly,\n disableBrowserAutocorrect,\n disableBrowserSpellcheck,\n spellcheck,\n onKeyDown,\n onKeyUp,\n onChange,\n onBlur,\n onFocus,\n ariaRequired,\n name,\n rows,\n placeholder,\n autoFocus,\n ariaLabel,\n ...rest\n }: TextareaProps,\n ref: Ref<TextareaProps.Ref>\n ) => {\n const { __internalRootRef } = useBaseComponent('Textarea', {\n props: { autoComplete, autoFocus, disableBrowserAutocorrect, disableBrowserSpellcheck, readOnly, spellcheck },\n });\n const { ariaLabelledby, ariaDescribedby, controlId, invalid, warning } = useFormFieldContext(rest);\n\n const baseProps = getBaseProps(rest);\n\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n useForwardFocus(ref, textareaRef);\n\n const attributes: React.TextareaHTMLAttributes<HTMLTextAreaElement> = {\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n 'aria-describedby': ariaDescribedby,\n 'aria-required': ariaRequired ? 'true' : undefined,\n 'aria-invalid': invalid ? 'true' : undefined,\n name,\n placeholder,\n autoFocus,\n className: clsx(styles.textarea, {\n [styles['textarea-readonly']]: readOnly,\n [styles['textarea-invalid']]: invalid,\n [styles['textarea-warning']]: warning && !invalid,\n }),\n autoComplete: convertAutoComplete(autoComplete),\n spellCheck: spellcheck,\n disabled,\n readOnly: readOnly ? true : undefined,\n rows: rows || 3,\n onKeyDown: onKeyDown && (event => fireKeyboardEvent(onKeyDown, event)),\n onKeyUp: onKeyUp && (event => fireKeyboardEvent(onKeyUp, event)),\n // We set a default value on the component in order to force it into the controlled mode.\n value: value || '',\n onChange: onChange && (event => fireNonCancelableEvent(onChange, { value: event.target.value })),\n onBlur: onBlur && (() => fireNonCancelableEvent(onBlur)),\n onFocus: onFocus && (() => fireNonCancelableEvent(onFocus)),\n };\n\n if (disableBrowserAutocorrect) {\n attributes.autoCorrect = 'off';\n attributes.autoCapitalize = 'off';\n }\n\n if (disableBrowserSpellcheck) {\n attributes.spellCheck = 'false';\n }\n\n return (\n <span {...baseProps} className={clsx(styles.root, baseProps.className)} ref={__internalRootRef}>\n <textarea ref={textareaRef} id={controlId} {...attributes} />\n </span>\n );\n }\n);\n\napplyDisplayName(Textarea, 'Textarea');\nexport default Textarea;\n"]}
@@ -1,9 +1,10 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "root": "awsui_root_qk1j1_w6j53_99",
5
- "textarea": "awsui_textarea_qk1j1_w6j53_103",
6
- "textarea-readonly": "awsui_textarea-readonly_qk1j1_w6j53_156",
7
- "textarea-invalid": "awsui_textarea-invalid_qk1j1_w6j53_198"
4
+ "root": "awsui_root_qk1j1_1pnfd_99",
5
+ "textarea": "awsui_textarea_qk1j1_1pnfd_103",
6
+ "textarea-readonly": "awsui_textarea-readonly_qk1j1_1pnfd_156",
7
+ "textarea-invalid": "awsui_textarea-invalid_qk1j1_1pnfd_198",
8
+ "textarea-warning": "awsui_textarea-warning_qk1j1_1pnfd_209"
8
9
  };
9
10
 
@@ -96,11 +96,11 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
96
96
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
97
97
  SPDX-License-Identifier: Apache-2.0
98
98
  */
99
- .awsui_root_qk1j1_w6j53_99:not(#\9) {
99
+ .awsui_root_qk1j1_1pnfd_99:not(#\9) {
100
100
  /* used for test-utils */
101
101
  }
102
102
 
103
- .awsui_textarea_qk1j1_w6j53_103:not(#\9) {
103
+ .awsui_textarea_qk1j1_1pnfd_103:not(#\9) {
104
104
  border-collapse: separate;
105
105
  border-spacing: 0;
106
106
  box-sizing: border-box;
@@ -154,21 +154,21 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
154
154
  font-size: var(--font-size-body-m-x4okxb, 14px);
155
155
  line-height: var(--line-height-body-m-30ar75, 20px);
156
156
  }
157
- .awsui_textarea_qk1j1_w6j53_103.awsui_textarea-readonly_qk1j1_w6j53_156:not(#\9) {
157
+ .awsui_textarea_qk1j1_1pnfd_103.awsui_textarea-readonly_qk1j1_1pnfd_156:not(#\9) {
158
158
  background-color: var(--color-background-input-default-igdh5e, #ffffff);
159
159
  border-block: var(--border-field-width-09w7vk, 2px) solid var(--color-border-input-disabled-rx2aau, #e9ebed);
160
160
  border-inline: var(--border-field-width-09w7vk, 2px) solid var(--color-border-input-disabled-rx2aau, #e9ebed);
161
161
  }
162
- .awsui_textarea_qk1j1_w6j53_103:not(#\9)::placeholder {
162
+ .awsui_textarea_qk1j1_1pnfd_103:not(#\9)::placeholder {
163
163
  color: var(--color-text-input-placeholder-mx1ygd, #5f6b7a);
164
164
  font-style: italic;
165
165
  opacity: 1;
166
166
  }
167
- .awsui_textarea_qk1j1_w6j53_103:not(#\9):-ms-input-placeholder {
167
+ .awsui_textarea_qk1j1_1pnfd_103:not(#\9):-ms-input-placeholder {
168
168
  color: var(--color-text-input-placeholder-mx1ygd, #5f6b7a);
169
169
  font-style: italic;
170
170
  }
171
- .awsui_textarea_qk1j1_w6j53_103:not(#\9):focus {
171
+ .awsui_textarea_qk1j1_1pnfd_103:not(#\9):focus {
172
172
  outline: 2px dotted transparent;
173
173
  border-block: var(--border-field-width-09w7vk, 2px) solid var(--color-border-input-focused-3d15sl, #033160);
174
174
  border-inline: var(--border-field-width-09w7vk, 2px) solid var(--color-border-input-focused-3d15sl, #033160);
@@ -178,10 +178,10 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
178
178
  border-end-end-radius: var(--border-radius-input-plgbrq, 8px);
179
179
  box-shadow: 0 0 0 var(--border-control-focus-ring-shadow-spread-0ctpjf, 0px) var(--color-border-item-focused-b2ntyl, #0972d3);
180
180
  }
181
- .awsui_textarea_qk1j1_w6j53_103:not(#\9):invalid {
181
+ .awsui_textarea_qk1j1_1pnfd_103:not(#\9):invalid {
182
182
  box-shadow: none;
183
183
  }
184
- .awsui_textarea_qk1j1_w6j53_103:not(#\9):disabled {
184
+ .awsui_textarea_qk1j1_1pnfd_103:not(#\9):disabled {
185
185
  background-color: var(--color-background-input-disabled-ab59a3, #e9ebed);
186
186
  border-block: var(--border-field-width-09w7vk, 2px) solid var(--color-border-input-disabled-rx2aau, #e9ebed);
187
187
  border-inline: var(--border-field-width-09w7vk, 2px) solid var(--color-border-input-disabled-rx2aau, #e9ebed);
@@ -189,14 +189,14 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
189
189
  cursor: auto;
190
190
  cursor: default;
191
191
  }
192
- .awsui_textarea_qk1j1_w6j53_103:not(#\9):disabled::placeholder {
192
+ .awsui_textarea_qk1j1_1pnfd_103:not(#\9):disabled::placeholder {
193
193
  color: var(--color-text-input-placeholder-disabled-abhb0d, #9ba7b6);
194
194
  opacity: 1;
195
195
  }
196
- .awsui_textarea_qk1j1_w6j53_103:not(#\9):disabled:-ms-input-placeholder {
196
+ .awsui_textarea_qk1j1_1pnfd_103:not(#\9):disabled:-ms-input-placeholder {
197
197
  color: var(--color-text-input-placeholder-disabled-abhb0d, #9ba7b6);
198
198
  }
199
- .awsui_textarea_qk1j1_w6j53_103.awsui_textarea-invalid_qk1j1_w6j53_198:not(#\9) {
199
+ .awsui_textarea_qk1j1_1pnfd_103.awsui_textarea-invalid_qk1j1_1pnfd_198:not(#\9) {
200
200
  color: var(--color-text-status-error-wdvepn, #d91515);
201
201
  border-color: var(--color-text-status-error-wdvepn, #d91515);
202
202
  padding-inline-start: calc(
@@ -204,6 +204,17 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
204
204
  );
205
205
  border-inline-start-width: var(--border-invalid-width-5ktjp2, 8px);
206
206
  }
207
- .awsui_textarea_qk1j1_w6j53_103.awsui_textarea-invalid_qk1j1_w6j53_198:not(#\9):focus {
207
+ .awsui_textarea_qk1j1_1pnfd_103.awsui_textarea-invalid_qk1j1_1pnfd_198:not(#\9):focus {
208
+ box-shadow: 0 0 0 var(--border-control-invalid-focus-ring-shadow-spread-fhmbjn, 2px) var(--color-border-item-focused-b2ntyl, #0972d3);
209
+ }
210
+ .awsui_textarea_qk1j1_1pnfd_103.awsui_textarea-warning_qk1j1_1pnfd_209:not(#\9) {
211
+ color: var(--color-text-status-warning-yik8vi, #8d6605);
212
+ border-color: var(--color-text-status-warning-yik8vi, #8d6605);
213
+ padding-inline-start: calc(
214
+ var(--space-field-horizontal-gg19kw, 12px) - (var(--border-invalid-width-5ktjp2, 8px) - var(--border-field-width-09w7vk, 2px))
215
+ );
216
+ border-inline-start-width: var(--border-invalid-width-5ktjp2, 8px);
217
+ }
218
+ .awsui_textarea_qk1j1_1pnfd_103.awsui_textarea-warning_qk1j1_1pnfd_209:not(#\9):focus {
208
219
  box-shadow: 0 0 0 var(--border-control-invalid-focus-ring-shadow-spread-fhmbjn, 2px) var(--color-border-item-focused-b2ntyl, #0972d3);
209
220
  }
@@ -2,9 +2,10 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "root": "awsui_root_qk1j1_w6j53_99",
6
- "textarea": "awsui_textarea_qk1j1_w6j53_103",
7
- "textarea-readonly": "awsui_textarea-readonly_qk1j1_w6j53_156",
8
- "textarea-invalid": "awsui_textarea-invalid_qk1j1_w6j53_198"
5
+ "root": "awsui_root_qk1j1_1pnfd_99",
6
+ "textarea": "awsui_textarea_qk1j1_1pnfd_103",
7
+ "textarea-readonly": "awsui_textarea-readonly_qk1j1_1pnfd_156",
8
+ "textarea-invalid": "awsui_textarea-invalid_qk1j1_1pnfd_198",
9
+ "textarea-warning": "awsui_textarea-warning_qk1j1_1pnfd_209"
9
10
  };
10
11
 
@@ -1,13 +1,14 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "root": "awsui_root_dm8gx_9oo5q_103",
5
- "has-items": "awsui_has-items_dm8gx_9oo5q_137",
6
- "no-padding": "awsui_no-padding_dm8gx_9oo5q_137",
7
- "dismiss-button": "awsui_dismiss-button_dm8gx_9oo5q_141",
8
- "token": "awsui_token_dm8gx_9oo5q_183",
9
- "token-box": "awsui_token-box_dm8gx_9oo5q_190",
10
- "token-box-error": "awsui_token-box-error_dm8gx_9oo5q_209",
11
- "token-box-disabled": "awsui_token-box-disabled_dm8gx_9oo5q_220"
4
+ "root": "awsui_root_dm8gx_1ja6m_103",
5
+ "has-items": "awsui_has-items_dm8gx_1ja6m_137",
6
+ "no-padding": "awsui_no-padding_dm8gx_1ja6m_137",
7
+ "dismiss-button": "awsui_dismiss-button_dm8gx_1ja6m_141",
8
+ "token": "awsui_token_dm8gx_1ja6m_183",
9
+ "token-box": "awsui_token-box_dm8gx_1ja6m_190",
10
+ "token-box-error": "awsui_token-box-error_dm8gx_1ja6m_209",
11
+ "token-box-warning": "awsui_token-box-warning_dm8gx_1ja6m_220",
12
+ "token-box-disabled": "awsui_token-box-disabled_dm8gx_1ja6m_231"
12
13
  };
13
14
 
@@ -100,7 +100,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
100
100
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
101
101
  SPDX-License-Identifier: Apache-2.0
102
102
  */
103
- .awsui_root_dm8gx_9oo5q_103:not(#\9) {
103
+ .awsui_root_dm8gx_1ja6m_103:not(#\9) {
104
104
  border-collapse: separate;
105
105
  border-spacing: 0;
106
106
  box-sizing: border-box;
@@ -135,11 +135,11 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
135
135
  -webkit-font-smoothing: auto;
136
136
  -moz-osx-font-smoothing: auto;
137
137
  }
138
- .awsui_root_dm8gx_9oo5q_103.awsui_has-items_dm8gx_9oo5q_137:not(#\9):not(.awsui_no-padding_dm8gx_9oo5q_137) {
138
+ .awsui_root_dm8gx_1ja6m_103.awsui_has-items_dm8gx_1ja6m_137:not(#\9):not(.awsui_no-padding_dm8gx_1ja6m_137) {
139
139
  padding-block-start: var(--space-xs-zb16t3, 8px);
140
140
  }
141
141
 
142
- .awsui_dismiss-button_dm8gx_9oo5q_141:not(#\9) {
142
+ .awsui_dismiss-button_dm8gx_1ja6m_141:not(#\9) {
143
143
  margin-block-start: -1px;
144
144
  margin-block-end: 0;
145
145
  margin-inline-start: var(--space-xxs-p8yyaw, 4px);
@@ -151,14 +151,14 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
151
151
  color: var(--color-text-button-inline-icon-default-s3yux9, #0972d3);
152
152
  background-color: transparent;
153
153
  }
154
- body[data-awsui-focus-visible=true] .awsui_dismiss-button_dm8gx_9oo5q_141:not(#\9):focus {
154
+ body[data-awsui-focus-visible=true] .awsui_dismiss-button_dm8gx_1ja6m_141:not(#\9):focus {
155
155
  position: relative;
156
156
  }
157
- body[data-awsui-focus-visible=true] .awsui_dismiss-button_dm8gx_9oo5q_141:not(#\9):focus {
157
+ body[data-awsui-focus-visible=true] .awsui_dismiss-button_dm8gx_1ja6m_141:not(#\9):focus {
158
158
  outline: 2px dotted transparent;
159
159
  outline-offset: calc(0px - 1px);
160
160
  }
161
- body[data-awsui-focus-visible=true] .awsui_dismiss-button_dm8gx_9oo5q_141:not(#\9):focus::before {
161
+ body[data-awsui-focus-visible=true] .awsui_dismiss-button_dm8gx_1ja6m_141:not(#\9):focus::before {
162
162
  content: " ";
163
163
  display: block;
164
164
  position: absolute;
@@ -172,23 +172,23 @@ body[data-awsui-focus-visible=true] .awsui_dismiss-button_dm8gx_9oo5q_141:not(#\
172
172
  border-end-end-radius: var(--border-radius-control-default-focus-ring-u8zbsz, 4px);
173
173
  box-shadow: 0 0 0 2px var(--color-border-item-focused-b2ntyl, #0972d3);
174
174
  }
175
- .awsui_dismiss-button_dm8gx_9oo5q_141:not(#\9):focus {
175
+ .awsui_dismiss-button_dm8gx_1ja6m_141:not(#\9):focus {
176
176
  outline: none;
177
177
  text-decoration: none;
178
178
  }
179
- .awsui_dismiss-button_dm8gx_9oo5q_141:not(#\9):hover {
179
+ .awsui_dismiss-button_dm8gx_1ja6m_141:not(#\9):hover {
180
180
  cursor: pointer;
181
181
  color: var(--color-text-button-inline-icon-hover-my2daf, #033160);
182
182
  }
183
183
 
184
- .awsui_token_dm8gx_9oo5q_183:not(#\9) {
184
+ .awsui_token_dm8gx_1ja6m_183:not(#\9) {
185
185
  block-size: 100%;
186
186
  display: flex;
187
187
  flex-direction: column;
188
188
  gap: var(--space-xxs-p8yyaw, 4px);
189
189
  }
190
190
 
191
- .awsui_token-box_dm8gx_9oo5q_190:not(#\9) {
191
+ .awsui_token-box_dm8gx_1ja6m_190:not(#\9) {
192
192
  block-size: 100%;
193
193
  border-block: var(--border-field-width-09w7vk, 2px) solid var(--color-border-item-selected-k00wlz, #0972d3);
194
194
  border-inline: var(--border-field-width-09w7vk, 2px) solid var(--color-border-item-selected-k00wlz, #0972d3);
@@ -207,27 +207,38 @@ body[data-awsui-focus-visible=true] .awsui_dismiss-button_dm8gx_9oo5q_141:not(#\
207
207
  box-sizing: border-box;
208
208
  }
209
209
 
210
- .awsui_token-box-error_dm8gx_9oo5q_209:not(#\9) {
210
+ .awsui_token-box-error_dm8gx_1ja6m_209:not(#\9) {
211
211
  border-color: var(--color-border-status-error-dj6icm, #d91515);
212
212
  border-inline-start-width: var(--border-invalid-width-5ktjp2, 8px);
213
213
  }
214
- .awsui_token-box-error_dm8gx_9oo5q_209 > .awsui_dismiss-button_dm8gx_9oo5q_141:not(#\9) {
214
+ .awsui_token-box-error_dm8gx_1ja6m_209 > .awsui_dismiss-button_dm8gx_1ja6m_141:not(#\9) {
215
215
  color: var(--color-text-interactive-default-lnx6lk, #414d5c);
216
216
  }
217
- .awsui_token-box-error_dm8gx_9oo5q_209 > .awsui_dismiss-button_dm8gx_9oo5q_141:not(#\9):hover {
217
+ .awsui_token-box-error_dm8gx_1ja6m_209 > .awsui_dismiss-button_dm8gx_1ja6m_141:not(#\9):hover {
218
218
  color: var(--color-text-interactive-hover-mj8add, #000716);
219
219
  }
220
220
 
221
- .awsui_token-box-disabled_dm8gx_9oo5q_220.awsui_token-box-disabled_dm8gx_9oo5q_220:not(#\9) {
221
+ .awsui_token-box-warning_dm8gx_1ja6m_220:not(#\9) {
222
+ border-color: var(--color-border-status-warning-52glov, #8d6605);
223
+ border-inline-start-width: var(--border-invalid-width-5ktjp2, 8px);
224
+ }
225
+ .awsui_token-box-warning_dm8gx_1ja6m_220 > .awsui_dismiss-button_dm8gx_1ja6m_141:not(#\9) {
226
+ color: var(--color-text-interactive-default-lnx6lk, #414d5c);
227
+ }
228
+ .awsui_token-box-warning_dm8gx_1ja6m_220 > .awsui_dismiss-button_dm8gx_1ja6m_141:not(#\9):hover {
229
+ color: var(--color-text-interactive-hover-mj8add, #000716);
230
+ }
231
+
232
+ .awsui_token-box-disabled_dm8gx_1ja6m_231.awsui_token-box-disabled_dm8gx_1ja6m_231:not(#\9) {
222
233
  border-color: var(--color-border-control-disabled-bv2kkn, #d1d5db);
223
234
  background-color: var(--color-background-container-content-4un1ap, #ffffff);
224
235
  color: var(--color-text-disabled-f4c52h, #9ba7b6);
225
236
  pointer-events: none;
226
237
  }
227
- .awsui_token-box-disabled_dm8gx_9oo5q_220.awsui_token-box-disabled_dm8gx_9oo5q_220 > .awsui_dismiss-button_dm8gx_9oo5q_141:not(#\9) {
238
+ .awsui_token-box-disabled_dm8gx_1ja6m_231.awsui_token-box-disabled_dm8gx_1ja6m_231 > .awsui_dismiss-button_dm8gx_1ja6m_141:not(#\9) {
228
239
  color: var(--color-text-button-inline-icon-disabled-mz5gmn, #9ba7b6);
229
240
  }
230
- .awsui_token-box-disabled_dm8gx_9oo5q_220.awsui_token-box-disabled_dm8gx_9oo5q_220 > .awsui_dismiss-button_dm8gx_9oo5q_141:not(#\9):hover {
241
+ .awsui_token-box-disabled_dm8gx_1ja6m_231.awsui_token-box-disabled_dm8gx_1ja6m_231 > .awsui_dismiss-button_dm8gx_1ja6m_141:not(#\9):hover {
231
242
  /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
232
243
  cursor: initial;
233
244
  color: var(--color-text-button-inline-icon-disabled-mz5gmn, #9ba7b6);
@@ -2,13 +2,14 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "root": "awsui_root_dm8gx_9oo5q_103",
6
- "has-items": "awsui_has-items_dm8gx_9oo5q_137",
7
- "no-padding": "awsui_no-padding_dm8gx_9oo5q_137",
8
- "dismiss-button": "awsui_dismiss-button_dm8gx_9oo5q_141",
9
- "token": "awsui_token_dm8gx_9oo5q_183",
10
- "token-box": "awsui_token-box_dm8gx_9oo5q_190",
11
- "token-box-error": "awsui_token-box-error_dm8gx_9oo5q_209",
12
- "token-box-disabled": "awsui_token-box-disabled_dm8gx_9oo5q_220"
5
+ "root": "awsui_root_dm8gx_1ja6m_103",
6
+ "has-items": "awsui_has-items_dm8gx_1ja6m_137",
7
+ "no-padding": "awsui_no-padding_dm8gx_1ja6m_137",
8
+ "dismiss-button": "awsui_dismiss-button_dm8gx_1ja6m_141",
9
+ "token": "awsui_token_dm8gx_1ja6m_183",
10
+ "token-box": "awsui_token-box_dm8gx_1ja6m_190",
11
+ "token-box-error": "awsui_token-box-error_dm8gx_1ja6m_209",
12
+ "token-box-warning": "awsui_token-box-warning_dm8gx_1ja6m_220",
13
+ "token-box-disabled": "awsui_token-box-disabled_dm8gx_1ja6m_231"
13
14
  };
14
15
 
@@ -7,8 +7,10 @@ interface TokenProps {
7
7
  disabled?: boolean;
8
8
  errorText?: React.ReactNode;
9
9
  errorIconAriaLabel?: string;
10
+ warningText?: React.ReactNode;
11
+ warningIconAriaLabel?: string;
10
12
  className?: string;
11
13
  }
12
- export declare function Token({ ariaLabel, disabled, dismissLabel, onDismiss, children, errorText, errorIconAriaLabel, ...restProps }: TokenProps): JSX.Element;
14
+ export declare function Token({ ariaLabel, disabled, dismissLabel, onDismiss, children, errorText, warningText, errorIconAriaLabel, warningIconAriaLabel, ...restProps }: TokenProps): JSX.Element;
13
15
  export {};
14
16
  //# sourceMappingURL=token.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../src/token-group/token.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,UAAU,UAAU;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,KAAK,CAAC,EACpB,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,SAAS,EACT,kBAAkB,EAClB,GAAG,SAAS,EACb,EAAE,UAAU,eA6BZ"}
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../src/token-group/token.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,UAAU,UAAU;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,KAAK,CAAC,EACpB,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,oBAAoB,EACpB,GAAG,SAAS,EACb,EAAE,UAAU,eAuCZ"}
@@ -5,17 +5,20 @@ import React from 'react';
5
5
  import clsx from 'clsx';
6
6
  import DismissButton from './dismiss-button';
7
7
  import styles from './styles.css.js';
8
- import { FormFieldError } from '../form-field/internal';
8
+ import { FormFieldError, FormFieldWarning } from '../form-field/internal';
9
9
  import { useUniqueId } from '../internal/hooks/use-unique-id';
10
10
  import { getBaseProps } from '../internal/base-component';
11
11
  export function Token(_a) {
12
- var { ariaLabel, disabled, dismissLabel, onDismiss, children, errorText, errorIconAriaLabel } = _a, restProps = __rest(_a, ["ariaLabel", "disabled", "dismissLabel", "onDismiss", "children", "errorText", "errorIconAriaLabel"]);
12
+ var { ariaLabel, disabled, dismissLabel, onDismiss, children, errorText, warningText, errorIconAriaLabel, warningIconAriaLabel } = _a, restProps = __rest(_a, ["ariaLabel", "disabled", "dismissLabel", "onDismiss", "children", "errorText", "warningText", "errorIconAriaLabel", "warningIconAriaLabel"]);
13
13
  const errorId = useUniqueId('error');
14
+ const warningId = useUniqueId('warning');
14
15
  const baseProps = getBaseProps(restProps);
15
- return (React.createElement("div", Object.assign({}, baseProps, { className: clsx(styles.token, baseProps.className), role: "group", "aria-label": ariaLabel, "aria-describedby": errorText ? errorId : undefined, "aria-disabled": disabled }),
16
- React.createElement("div", { className: clsx(styles['token-box'], disabled && styles['token-box-disabled'], errorText && styles['token-box-error']) },
16
+ const showWarning = warningText && !errorText;
17
+ return (React.createElement("div", Object.assign({}, baseProps, { className: clsx(styles.token, baseProps.className), role: "group", "aria-label": ariaLabel, "aria-describedby": errorText ? errorId : warningText ? warningId : undefined, "aria-disabled": disabled }),
18
+ React.createElement("div", { className: clsx(styles['token-box'], disabled && styles['token-box-disabled'], errorText && styles['token-box-error'], showWarning && styles['token-box-warning']) },
17
19
  children,
18
20
  onDismiss && React.createElement(DismissButton, { disabled: disabled, dismissLabel: dismissLabel, onDismiss: onDismiss })),
19
- errorText && (React.createElement(FormFieldError, { id: errorId, errorIconAriaLabel: errorIconAriaLabel }, errorText))));
21
+ errorText && (React.createElement(FormFieldError, { id: errorId, errorIconAriaLabel: errorIconAriaLabel }, errorText)),
22
+ showWarning && (React.createElement(FormFieldWarning, { id: warningId, warningIconAriaLabel: warningIconAriaLabel }, warningText))));
20
23
  }
21
24
  //# sourceMappingURL=token.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/token-group/token.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;;AAEtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAa1D,MAAM,UAAU,KAAK,CAAC,EAST;QATS,EACpB,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,SAAS,EACT,kBAAkB,OAEP,EADR,SAAS,cARQ,qGASrB,CADa;IAEZ,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,OAAO,CACL,6CACM,SAAS,IACb,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,EAClD,IAAI,EAAC,OAAO,gBACA,SAAS,sBACH,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,mBAClC,QAAQ;QAEvB,6BACE,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,WAAW,CAAC,EACnB,QAAQ,IAAI,MAAM,CAAC,oBAAoB,CAAC,EACxC,SAAS,IAAI,MAAM,CAAC,iBAAiB,CAAC,CACvC;YAEA,QAAQ;YACR,SAAS,IAAI,oBAAC,aAAa,IAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,GAAI,CACjG;QACL,SAAS,IAAI,CACZ,oBAAC,cAAc,IAAC,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,IAChE,SAAS,CACK,CAClB,CACG,CACP,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport React from 'react';\nimport clsx from 'clsx';\n\nimport DismissButton from './dismiss-button';\nimport styles from './styles.css.js';\nimport { FormFieldError } from '../form-field/internal';\nimport { useUniqueId } from '../internal/hooks/use-unique-id';\nimport { getBaseProps } from '../internal/base-component';\n\ninterface TokenProps {\n children: React.ReactNode;\n ariaLabel?: string;\n dismissLabel?: string;\n onDismiss?: () => void;\n disabled?: boolean;\n errorText?: React.ReactNode;\n errorIconAriaLabel?: string;\n className?: string;\n}\n\nexport function Token({\n ariaLabel,\n disabled,\n dismissLabel,\n onDismiss,\n children,\n errorText,\n errorIconAriaLabel,\n ...restProps\n}: TokenProps) {\n const errorId = useUniqueId('error');\n const baseProps = getBaseProps(restProps);\n return (\n <div\n {...baseProps}\n className={clsx(styles.token, baseProps.className)}\n role=\"group\"\n aria-label={ariaLabel}\n aria-describedby={errorText ? errorId : undefined}\n aria-disabled={disabled}\n >\n <div\n className={clsx(\n styles['token-box'],\n disabled && styles['token-box-disabled'],\n errorText && styles['token-box-error']\n )}\n >\n {children}\n {onDismiss && <DismissButton disabled={disabled} dismissLabel={dismissLabel} onDismiss={onDismiss} />}\n </div>\n {errorText && (\n <FormFieldError id={errorId} errorIconAriaLabel={errorIconAriaLabel}>\n {errorText}\n </FormFieldError>\n )}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/token-group/token.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;;AAEtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAe1D,MAAM,UAAU,KAAK,CAAC,EAWT;QAXS,EACpB,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,oBAAoB,OAET,EADR,SAAS,cAVQ,4IAWrB,CADa;IAEZ,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAE1C,MAAM,WAAW,GAAG,WAAW,IAAI,CAAC,SAAS,CAAC;IAE9C,OAAO,CACL,6CACM,SAAS,IACb,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,EAClD,IAAI,EAAC,OAAO,gBACA,SAAS,sBACH,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,mBAC5D,QAAQ;QAEvB,6BACE,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,WAAW,CAAC,EACnB,QAAQ,IAAI,MAAM,CAAC,oBAAoB,CAAC,EACxC,SAAS,IAAI,MAAM,CAAC,iBAAiB,CAAC,EACtC,WAAW,IAAI,MAAM,CAAC,mBAAmB,CAAC,CAC3C;YAEA,QAAQ;YACR,SAAS,IAAI,oBAAC,aAAa,IAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,GAAI,CACjG;QACL,SAAS,IAAI,CACZ,oBAAC,cAAc,IAAC,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,IAChE,SAAS,CACK,CAClB;QACA,WAAW,IAAI,CACd,oBAAC,gBAAgB,IAAC,EAAE,EAAE,SAAS,EAAE,oBAAoB,EAAE,oBAAoB,IACxE,WAAW,CACK,CACpB,CACG,CACP,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport React from 'react';\nimport clsx from 'clsx';\n\nimport DismissButton from './dismiss-button';\nimport styles from './styles.css.js';\nimport { FormFieldError, FormFieldWarning } from '../form-field/internal';\nimport { useUniqueId } from '../internal/hooks/use-unique-id';\nimport { getBaseProps } from '../internal/base-component';\n\ninterface TokenProps {\n children: React.ReactNode;\n ariaLabel?: string;\n dismissLabel?: string;\n onDismiss?: () => void;\n disabled?: boolean;\n errorText?: React.ReactNode;\n errorIconAriaLabel?: string;\n warningText?: React.ReactNode;\n warningIconAriaLabel?: string;\n className?: string;\n}\n\nexport function Token({\n ariaLabel,\n disabled,\n dismissLabel,\n onDismiss,\n children,\n errorText,\n warningText,\n errorIconAriaLabel,\n warningIconAriaLabel,\n ...restProps\n}: TokenProps) {\n const errorId = useUniqueId('error');\n const warningId = useUniqueId('warning');\n const baseProps = getBaseProps(restProps);\n\n const showWarning = warningText && !errorText;\n\n return (\n <div\n {...baseProps}\n className={clsx(styles.token, baseProps.className)}\n role=\"group\"\n aria-label={ariaLabel}\n aria-describedby={errorText ? errorId : warningText ? warningId : undefined}\n aria-disabled={disabled}\n >\n <div\n className={clsx(\n styles['token-box'],\n disabled && styles['token-box-disabled'],\n errorText && styles['token-box-error'],\n showWarning && styles['token-box-warning']\n )}\n >\n {children}\n {onDismiss && <DismissButton disabled={disabled} dismissLabel={dismissLabel} onDismiss={onDismiss} />}\n </div>\n {errorText && (\n <FormFieldError id={errorId} errorIconAriaLabel={errorIconAriaLabel}>\n {errorText}\n </FormFieldError>\n )}\n {showWarning && (\n <FormFieldWarning id={warningId} warningIconAriaLabel={warningIconAriaLabel}>\n {warningText}\n </FormFieldWarning>\n )}\n </div>\n );\n}\n"]}
@@ -1,8 +1,9 @@
1
1
  import { WizardProps } from './interfaces';
2
- export declare function useFunnelChangeEvent(funnelInteractionId: string | undefined, steps: WizardProps['steps']): void;
2
+ export declare function useFunnelChangeEvent(funnelInteractionId: string | undefined, funnelIdentifier: string | undefined, steps: WizardProps['steps']): void;
3
3
  export declare function getStepConfiguration(steps: WizardProps['steps']): {
4
4
  name: string;
5
5
  number: number;
6
6
  isOptional: boolean;
7
+ stepIdentifier: string | undefined;
7
8
  }[];
8
9
  //# sourceMappingURL=analytics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../src/wizard/analytics.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,wBAAgB,oBAAoB,CAAC,mBAAmB,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,QA6BxG;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC;;;;IAM/D"}
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../src/wizard/analytics.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,wBAAgB,oBAAoB,CAClC,mBAAmB,EAAE,MAAM,GAAG,SAAS,EACvC,gBAAgB,EAAE,MAAM,GAAG,SAAS,EACpC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,QA+B5B;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC;;;;;IAW/D"}
@@ -2,7 +2,8 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import { useRef, useEffect } from 'react';
4
4
  import { FunnelMetrics } from '../internal/analytics';
5
- export function useFunnelChangeEvent(funnelInteractionId, steps) {
5
+ import { getAnalyticsMetadataProps } from '../internal/base-component';
6
+ export function useFunnelChangeEvent(funnelInteractionId, funnelIdentifier, steps) {
6
7
  const listenForStepChanges = useRef(false);
7
8
  useEffect(() => {
8
9
  // We prevent emitting the event before the funnel has stabilised.
@@ -19,6 +20,7 @@ export function useFunnelChangeEvent(funnelInteractionId, steps) {
19
20
  }
20
21
  FunnelMetrics.funnelChange({
21
22
  funnelInteractionId,
23
+ funnelIdentifier,
22
24
  stepConfiguration: getStepConfiguration(steps),
23
25
  });
24
26
  // This dependency array does not include `steps`, because `steps` is not stable across renders.
@@ -30,11 +32,13 @@ export function useFunnelChangeEvent(funnelInteractionId, steps) {
30
32
  export function getStepConfiguration(steps) {
31
33
  return steps.map((step, index) => {
32
34
  var _a;
33
- return ({
35
+ const stepAnalyticsMetadata = getAnalyticsMetadataProps(step);
36
+ return {
34
37
  name: step.title,
35
38
  number: index + 1,
36
39
  isOptional: (_a = step.isOptional) !== null && _a !== void 0 ? _a : false,
37
- });
40
+ stepIdentifier: stepAnalyticsMetadata === null || stepAnalyticsMetadata === void 0 ? void 0 : stepAnalyticsMetadata.instanceIdentifier,
41
+ };
38
42
  });
39
43
  }
40
44
  //# sourceMappingURL=analytics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../src/wizard/analytics.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,MAAM,UAAU,oBAAoB,CAAC,mBAAuC,EAAE,KAA2B;IACvG,MAAM,oBAAoB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAE3C,SAAS,CAAC,GAAG,EAAE;QACb,kEAAkE;QAClE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,oBAAoB,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAE1E,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,MAAM,CAAC,CAAC;YACrB,oBAAoB,CAAC,OAAO,GAAG,KAAK,CAAC;QACvC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,mBAAmB,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE;YACzD,OAAO;SACR;QAED,aAAa,CAAC,YAAY,CAAC;YACzB,mBAAmB;YACnB,iBAAiB,EAAE,oBAAoB,CAAC,KAAK,CAAC;SAC/C,CAAC,CAAC;QAEH,gGAAgG;QAChG,yCAAyC;QACzC,EAAE;QACF,uDAAuD;IACzD,CAAC,EAAE,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAA2B;IAC9D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;;QAAC,OAAA,CAAC;YACjC,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,MAAM,EAAE,KAAK,GAAG,CAAC;YACjB,UAAU,EAAE,MAAA,IAAI,CAAC,UAAU,mCAAI,KAAK;SACrC,CAAC,CAAA;KAAA,CAAC,CAAC;AACN,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useRef, useEffect } from 'react';\nimport { FunnelMetrics } from '../internal/analytics';\nimport { WizardProps } from './interfaces';\n\nexport function useFunnelChangeEvent(funnelInteractionId: string | undefined, steps: WizardProps['steps']) {\n const listenForStepChanges = useRef(false);\n\n useEffect(() => {\n // We prevent emitting the event before the funnel has stabilised.\n const handle = setTimeout(() => (listenForStepChanges.current = true), 0);\n\n return () => {\n clearTimeout(handle);\n listenForStepChanges.current = false;\n };\n }, [funnelInteractionId]);\n\n const stepTitles = steps.map(step => step.title).join();\n useEffect(() => {\n if (!funnelInteractionId || !listenForStepChanges.current) {\n return;\n }\n\n FunnelMetrics.funnelChange({\n funnelInteractionId,\n stepConfiguration: getStepConfiguration(steps),\n });\n\n // This dependency array does not include `steps`, because `steps` is not stable across renders.\n // We use `stepTitles` as a stable proxy.\n //\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [funnelInteractionId, stepTitles]);\n}\n\nexport function getStepConfiguration(steps: WizardProps['steps']) {\n return steps.map((step, index) => ({\n name: step.title,\n number: index + 1,\n isOptional: step.isOptional ?? false,\n }));\n}\n"]}
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../src/wizard/analytics.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAkC,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAEvG,MAAM,UAAU,oBAAoB,CAClC,mBAAuC,EACvC,gBAAoC,EACpC,KAA2B;IAE3B,MAAM,oBAAoB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAE3C,SAAS,CAAC,GAAG,EAAE;QACb,kEAAkE;QAClE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,oBAAoB,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAE1E,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,MAAM,CAAC,CAAC;YACrB,oBAAoB,CAAC,OAAO,GAAG,KAAK,CAAC;QACvC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,mBAAmB,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE;YACzD,OAAO;SACR;QAED,aAAa,CAAC,YAAY,CAAC;YACzB,mBAAmB;YACnB,gBAAgB;YAChB,iBAAiB,EAAE,oBAAoB,CAAC,KAAK,CAAC;SAC/C,CAAC,CAAC;QAEH,gGAAgG;QAChG,yCAAyC;QACzC,EAAE;QACF,uDAAuD;IACzD,CAAC,EAAE,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAA2B;IAC9D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;;QAC/B,MAAM,qBAAqB,GAAG,yBAAyB,CAAC,IAAsC,CAAC,CAAC;QAEhG,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,MAAM,EAAE,KAAK,GAAG,CAAC;YACjB,UAAU,EAAE,MAAA,IAAI,CAAC,UAAU,mCAAI,KAAK;YACpC,cAAc,EAAE,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,kBAAkB;SAC1D,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useRef, useEffect } from 'react';\nimport { FunnelMetrics } from '../internal/analytics';\nimport { WizardProps } from './interfaces';\nimport { BasePropsWithAnalyticsMetadata, getAnalyticsMetadataProps } from '../internal/base-component';\n\nexport function useFunnelChangeEvent(\n funnelInteractionId: string | undefined,\n funnelIdentifier: string | undefined,\n steps: WizardProps['steps']\n) {\n const listenForStepChanges = useRef(false);\n\n useEffect(() => {\n // We prevent emitting the event before the funnel has stabilised.\n const handle = setTimeout(() => (listenForStepChanges.current = true), 0);\n\n return () => {\n clearTimeout(handle);\n listenForStepChanges.current = false;\n };\n }, [funnelInteractionId]);\n\n const stepTitles = steps.map(step => step.title).join();\n useEffect(() => {\n if (!funnelInteractionId || !listenForStepChanges.current) {\n return;\n }\n\n FunnelMetrics.funnelChange({\n funnelInteractionId,\n funnelIdentifier,\n stepConfiguration: getStepConfiguration(steps),\n });\n\n // This dependency array does not include `steps`, because `steps` is not stable across renders.\n // We use `stepTitles` as a stable proxy.\n //\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [funnelInteractionId, stepTitles]);\n}\n\nexport function getStepConfiguration(steps: WizardProps['steps']) {\n return steps.map((step, index) => {\n const stepAnalyticsMetadata = getAnalyticsMetadataProps(step as BasePropsWithAnalyticsMetadata);\n\n return {\n name: step.title,\n number: index + 1,\n isOptional: step.isOptional ?? false,\n stepIdentifier: stepAnalyticsMetadata?.instanceIdentifier,\n };\n });\n}\n"]}
package/wizard/index.js CHANGED
@@ -21,7 +21,7 @@ function Wizard(_a) {
21
21
  // eslint-disable-next-line react-hooks/exhaustive-deps
22
22
  return () => void wizardCount.current--;
23
23
  }, [wizardCount]);
24
- return (React.createElement(AnalyticsFunnel, { instanceIdentifier: analyticsMetadata === null || analyticsMetadata === void 0 ? void 0 : analyticsMetadata.instanceIdentifier, flowType: analyticsMetadata === null || analyticsMetadata === void 0 ? void 0 : analyticsMetadata.flowType, errorContext: analyticsMetadata === null || analyticsMetadata === void 0 ? void 0 : analyticsMetadata.errorContext, funnelType: "multi-page", optionalStepNumbers: props.steps
24
+ return (React.createElement(AnalyticsFunnel, { funnelIdentifier: analyticsMetadata === null || analyticsMetadata === void 0 ? void 0 : analyticsMetadata.instanceIdentifier, funnelFlowType: analyticsMetadata === null || analyticsMetadata === void 0 ? void 0 : analyticsMetadata.flowType, funnelErrorContext: analyticsMetadata === null || analyticsMetadata === void 0 ? void 0 : analyticsMetadata.errorContext, funnelType: "multi-page", optionalStepNumbers: props.steps
25
25
  .map((step, index) => (step.isOptional ? index + 1 : -1))
26
26
  .filter(step => step !== -1), totalFunnelSteps: props.steps.length, stepConfiguration: getStepConfiguration(props.steps) },
27
27
  React.createElement(InternalWizard, Object.assign({ isLoadingNextStep: isLoadingNextStep, allowSkipTo: allowSkipTo }, externalProps, baseComponentProps))));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/wizard/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AAEpF,OAAO,cAAc,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAkC,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAEvG,SAAS,MAAM,CAAC,EAAyE;QAAzE,EAAE,iBAAiB,GAAG,KAAK,EAAE,WAAW,GAAG,KAAK,OAAyB,EAApB,KAAK,cAA1D,oCAA4D,CAAF;IACxE,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,KAAuC,CAAC,CAAC;IAC7F,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAC;IACrG,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,EAAE,CAAC;IACpC,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE9C,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,CAAC,OAAO,EAAE,CAAC;QACtB,uDAAuD;QACvD,OAAO,GAAG,EAAE,CAAC,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;IAC1C,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,CACL,oBAAC,eAAe,IACd,kBAAkB,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,kBAAkB,EACzD,QAAQ,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,QAAQ,EACrC,YAAY,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,YAAY,EAC7C,UAAU,EAAC,YAAY,EACvB,mBAAmB,EAAE,KAAK,CAAC,KAAK;aAC7B,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACxD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAC9B,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EACpC,iBAAiB,EAAE,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC;QAEpD,oBAAC,cAAc,kBACb,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,WAAW,IACpB,aAAa,EACb,kBAAkB,EACtB,CACc,CACnB,CAAC;AACJ,CAAC;AAED,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAGnC,eAAe,MAAM,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect } from 'react';\nimport { getExternalProps } from '../internal/utils/external-props';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport useBaseComponent from '../internal/hooks/use-base-component';\n\nimport { AnalyticsFunnel } from '../internal/analytics/components/analytics-funnel';\n\nimport InternalWizard from './internal';\nimport { getStepConfiguration } from './analytics';\nimport { WizardProps } from './interfaces';\nimport { useFunnel } from '../internal/analytics/hooks/use-funnel';\nimport { BasePropsWithAnalyticsMetadata, getAnalyticsMetadataProps } from '../internal/base-component';\n\nfunction Wizard({ isLoadingNextStep = false, allowSkipTo = false, ...props }: WizardProps) {\n const analyticsMetadata = getAnalyticsMetadataProps(props as BasePropsWithAnalyticsMetadata);\n const baseComponentProps = useBaseComponent('Wizard', { props: { allowSkipTo } }, analyticsMetadata);\n const { wizardCount } = useFunnel();\n const externalProps = getExternalProps(props);\n\n useEffect(() => {\n wizardCount.current++;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return () => void wizardCount.current--;\n }, [wizardCount]);\n\n return (\n <AnalyticsFunnel\n instanceIdentifier={analyticsMetadata?.instanceIdentifier}\n flowType={analyticsMetadata?.flowType}\n errorContext={analyticsMetadata?.errorContext}\n funnelType=\"multi-page\"\n optionalStepNumbers={props.steps\n .map((step, index) => (step.isOptional ? index + 1 : -1))\n .filter(step => step !== -1)}\n totalFunnelSteps={props.steps.length}\n stepConfiguration={getStepConfiguration(props.steps)}\n >\n <InternalWizard\n isLoadingNextStep={isLoadingNextStep}\n allowSkipTo={allowSkipTo}\n {...externalProps}\n {...baseComponentProps}\n />\n </AnalyticsFunnel>\n );\n}\n\napplyDisplayName(Wizard, 'Wizard');\n\nexport { WizardProps };\nexport default Wizard;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/wizard/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AAEpF,OAAO,cAAc,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAkC,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAEvG,SAAS,MAAM,CAAC,EAAyE;QAAzE,EAAE,iBAAiB,GAAG,KAAK,EAAE,WAAW,GAAG,KAAK,OAAyB,EAApB,KAAK,cAA1D,oCAA4D,CAAF;IACxE,MAAM,iBAAiB,GAAG,yBAAyB,CAAC,KAAuC,CAAC,CAAC;IAC7F,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,iBAAiB,CAAC,CAAC;IACrG,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,EAAE,CAAC;IACpC,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE9C,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,CAAC,OAAO,EAAE,CAAC;QACtB,uDAAuD;QACvD,OAAO,GAAG,EAAE,CAAC,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;IAC1C,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,CACL,oBAAC,eAAe,IACd,gBAAgB,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,kBAAkB,EACvD,cAAc,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,QAAQ,EAC3C,kBAAkB,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,YAAY,EACnD,UAAU,EAAC,YAAY,EACvB,mBAAmB,EAAE,KAAK,CAAC,KAAK;aAC7B,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACxD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAC9B,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EACpC,iBAAiB,EAAE,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC;QAEpD,oBAAC,cAAc,kBACb,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,WAAW,IACpB,aAAa,EACb,kBAAkB,EACtB,CACc,CACnB,CAAC;AACJ,CAAC;AAED,gBAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAGnC,eAAe,MAAM,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect } from 'react';\nimport { getExternalProps } from '../internal/utils/external-props';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport useBaseComponent from '../internal/hooks/use-base-component';\n\nimport { AnalyticsFunnel } from '../internal/analytics/components/analytics-funnel';\n\nimport InternalWizard from './internal';\nimport { getStepConfiguration } from './analytics';\nimport { WizardProps } from './interfaces';\nimport { useFunnel } from '../internal/analytics/hooks/use-funnel';\nimport { BasePropsWithAnalyticsMetadata, getAnalyticsMetadataProps } from '../internal/base-component';\n\nfunction Wizard({ isLoadingNextStep = false, allowSkipTo = false, ...props }: WizardProps) {\n const analyticsMetadata = getAnalyticsMetadataProps(props as BasePropsWithAnalyticsMetadata);\n const baseComponentProps = useBaseComponent('Wizard', { props: { allowSkipTo } }, analyticsMetadata);\n const { wizardCount } = useFunnel();\n const externalProps = getExternalProps(props);\n\n useEffect(() => {\n wizardCount.current++;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return () => void wizardCount.current--;\n }, [wizardCount]);\n\n return (\n <AnalyticsFunnel\n funnelIdentifier={analyticsMetadata?.instanceIdentifier}\n funnelFlowType={analyticsMetadata?.flowType}\n funnelErrorContext={analyticsMetadata?.errorContext}\n funnelType=\"multi-page\"\n optionalStepNumbers={props.steps\n .map((step, index) => (step.isOptional ? index + 1 : -1))\n .filter(step => step !== -1)}\n totalFunnelSteps={props.steps.length}\n stepConfiguration={getStepConfiguration(props.steps)}\n >\n <InternalWizard\n isLoadingNextStep={isLoadingNextStep}\n allowSkipTo={allowSkipTo}\n {...externalProps}\n {...baseComponentProps}\n />\n </AnalyticsFunnel>\n );\n}\n\napplyDisplayName(Wizard, 'Wizard');\n\nexport { WizardProps };\nexport default Wizard;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/wizard/internal.tsx"],"names":[],"mappings":";AAaA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAYlF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAM3C,KAAK,mBAAmB,GAAG,WAAW,GAAG,0BAA0B,CAAC;AAEpE,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,KAAK,EACL,eAAe,EAAE,yBAAyB,EAC1C,gBAAgB,EAChB,iBAAyB,EACzB,WAAmB,EACnB,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,GAAG,IAAI,EACR,EAAE,mBAAmB,eAyJrB"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/wizard/internal.tsx"],"names":[],"mappings":";AAaA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAYlF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAM3C,KAAK,mBAAmB,GAAG,WAAW,GAAG,0BAA0B,CAAC;AAEpE,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,KAAK,EACL,eAAe,EAAE,yBAAyB,EAC1C,gBAAgB,EAChB,iBAAyB,EACzB,WAAmB,EACnB,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,iBAAiB,EACjB,GAAG,IAAI,EACR,EAAE,mBAAmB,eA0JrB"}
@@ -32,7 +32,7 @@ export default function InternalWizard(_a) {
32
32
  controlledProp: 'activeStepIndex',
33
33
  changeHandler: 'onNavigate',
34
34
  });
35
- const { funnelInteractionId, funnelSubmit, funnelCancel, funnelProps, funnelNextOrSubmitAttempt } = useFunnel();
35
+ const { funnelIdentifier, funnelInteractionId, funnelSubmit, funnelCancel, funnelProps, funnelNextOrSubmitAttempt } = useFunnel();
36
36
  const actualActiveStepIndex = activeStepIndex ? Math.min(activeStepIndex, steps.length - 1) : 0;
37
37
  const farthestStepIndex = useRef(actualActiveStepIndex);
38
38
  farthestStepIndex.current = Math.max(farthestStepIndex.current, actualActiveStepIndex);
@@ -71,7 +71,7 @@ export default function InternalWizard(_a) {
71
71
  navigationEvent(actualActiveStepIndex + 1, 'next');
72
72
  }
73
73
  };
74
- useFunnelChangeEvent(funnelInteractionId, steps);
74
+ useFunnelChangeEvent(funnelInteractionId, funnelIdentifier, steps);
75
75
  const i18n = useInternalI18n('wizard');
76
76
  const skipToButtonLabel = i18n('i18nStrings.skipToButtonLabel', (_b = rest.i18nStrings) === null || _b === void 0 ? void 0 : _b.skipToButtonLabel, format => task => format({ task__title: task.title }));
77
77
  const i18nStrings = Object.assign(Object.assign({}, rest.i18nStrings), { skipToButtonLabel, stepNumberLabel: i18n('i18nStrings.stepNumberLabel', (_c = rest.i18nStrings) === null || _c === void 0 ? void 0 : _c.stepNumberLabel, format => stepNumber => format({ stepNumber })), collapsedStepsLabel: i18n('i18nStrings.collapsedStepsLabel', (_d = rest.i18nStrings) === null || _d === void 0 ? void 0 : _d.collapsedStepsLabel, format => (stepNumber, stepsCount) => format({ stepNumber, stepsCount })), navigationAriaLabel: i18n('i18nStrings.navigationAriaLabel', (_e = rest.i18nStrings) === null || _e === void 0 ? void 0 : _e.navigationAriaLabel), cancelButton: i18n('i18nStrings.cancelButton', (_f = rest.i18nStrings) === null || _f === void 0 ? void 0 : _f.cancelButton), previousButton: i18n('i18nStrings.previousButton', (_g = rest.i18nStrings) === null || _g === void 0 ? void 0 : _g.previousButton), nextButton: i18n('i18nStrings.nextButton', (_h = rest.i18nStrings) === null || _h === void 0 ? void 0 : _h.nextButton), optional: i18n('i18nStrings.optional', (_j = rest.i18nStrings) === null || _j === void 0 ? void 0 : _j.optional) });
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/wizard/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, { useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { getBaseProps } from '../internal/base-component';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport { useContainerBreakpoints } from '../internal/hooks/container-queries';\nimport { useControllable } from '../internal/hooks/use-controllable';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { getContentHeaderClassName } from '../internal/utils/content-header-utils';\n\nimport { useInternalI18n } from '../i18n/context';\n\nimport { FunnelMetrics } from '../internal/analytics';\nimport { useFunnel } from '../internal/analytics/hooks/use-funnel';\nimport { getNameFromSelector, getSubStepAllSelector } from '../internal/analytics/selectors';\n\nimport WizardForm, { STEP_NAME_SELECTOR } from './wizard-form';\nimport WizardNavigation from './wizard-navigation';\n\nimport { WizardProps } from './interfaces';\n\nimport styles from './styles.css.js';\nimport { useFunnelChangeEvent } from './analytics';\nimport { shouldRemoveHighContrastHeader } from '../internal/utils/content-header-utils';\n\ntype InternalWizardProps = WizardProps & InternalBaseComponentProps;\n\nexport default function InternalWizard({\n steps,\n activeStepIndex: controlledActiveStepIndex,\n submitButtonText,\n isLoadingNextStep = false,\n allowSkipTo = false,\n secondaryActions,\n onCancel,\n onSubmit,\n onNavigate,\n __internalRootRef,\n ...rest\n}: InternalWizardProps) {\n const baseProps = getBaseProps(rest);\n\n const [breakpoint, breakpointsRef] = useContainerBreakpoints(['xs']);\n const ref = useMergeRefs(breakpointsRef, __internalRootRef);\n\n const smallContainer = breakpoint === 'default';\n\n const [activeStepIndex, setActiveStepIndex] = useControllable(controlledActiveStepIndex, onNavigate, 0, {\n componentName: 'Wizard',\n controlledProp: 'activeStepIndex',\n changeHandler: 'onNavigate',\n });\n const { funnelInteractionId, funnelSubmit, funnelCancel, funnelProps, funnelNextOrSubmitAttempt } = useFunnel();\n const actualActiveStepIndex = activeStepIndex ? Math.min(activeStepIndex, steps.length - 1) : 0;\n\n const farthestStepIndex = useRef<number>(actualActiveStepIndex);\n farthestStepIndex.current = Math.max(farthestStepIndex.current, actualActiveStepIndex);\n\n const isVisualRefresh = useVisualRefresh();\n const isLastStep = actualActiveStepIndex >= steps.length - 1;\n\n const navigationEvent = (requestedStepIndex: number, reason: WizardProps.NavigationReason) => {\n if (funnelInteractionId) {\n const stepName = getNameFromSelector(STEP_NAME_SELECTOR);\n\n FunnelMetrics.funnelStepNavigation({\n navigationType: reason,\n funnelInteractionId,\n stepNumber: actualActiveStepIndex + 1,\n stepName,\n stepNameSelector: STEP_NAME_SELECTOR,\n destinationStepNumber: requestedStepIndex + 1,\n subStepAllSelector: getSubStepAllSelector(),\n });\n }\n\n setActiveStepIndex(requestedStepIndex);\n fireNonCancelableEvent(onNavigate, { requestedStepIndex, reason });\n };\n const onStepClick = (stepIndex: number) => navigationEvent(stepIndex, 'step');\n const onSkipToClick = (stepIndex: number) => navigationEvent(stepIndex, 'skip');\n const onCancelClick = () => {\n funnelCancel();\n fireNonCancelableEvent(onCancel);\n };\n const onPreviousClick = () => navigationEvent(actualActiveStepIndex - 1, 'previous');\n const onPrimaryClick = () => {\n funnelNextOrSubmitAttempt();\n\n if (isLastStep) {\n funnelSubmit();\n fireNonCancelableEvent(onSubmit);\n } else {\n navigationEvent(actualActiveStepIndex + 1, 'next');\n }\n };\n\n useFunnelChangeEvent(funnelInteractionId, steps);\n\n const i18n = useInternalI18n('wizard');\n const skipToButtonLabel = i18n(\n 'i18nStrings.skipToButtonLabel',\n rest.i18nStrings?.skipToButtonLabel,\n format => task => format({ task__title: task.title })\n );\n\n const i18nStrings: WizardProps.I18nStrings = {\n ...rest.i18nStrings,\n skipToButtonLabel,\n stepNumberLabel: i18n(\n 'i18nStrings.stepNumberLabel',\n rest.i18nStrings?.stepNumberLabel,\n format => stepNumber => format({ stepNumber })\n ),\n collapsedStepsLabel: i18n(\n 'i18nStrings.collapsedStepsLabel',\n rest.i18nStrings?.collapsedStepsLabel,\n format => (stepNumber, stepsCount) => format({ stepNumber, stepsCount })\n ),\n navigationAriaLabel: i18n('i18nStrings.navigationAriaLabel', rest.i18nStrings?.navigationAriaLabel),\n cancelButton: i18n('i18nStrings.cancelButton', rest.i18nStrings?.cancelButton),\n previousButton: i18n('i18nStrings.previousButton', rest.i18nStrings?.previousButton),\n nextButton: i18n('i18nStrings.nextButton', rest.i18nStrings?.nextButton),\n optional: i18n('i18nStrings.optional', rest.i18nStrings?.optional),\n };\n\n if (activeStepIndex && activeStepIndex >= steps.length) {\n warnOnce(\n 'Wizard',\n `You have set \\`activeStepIndex\\` to ${activeStepIndex} but you have provided only ${\n steps.length\n } steps. Its value is ignored and the component uses ${steps.length - 1} instead.`\n );\n }\n\n if (allowSkipTo && !skipToButtonLabel) {\n warnOnce(\n 'Wizard',\n `You have set \\`allowSkipTo\\` but you have not provided \\`i18nStrings.skipToButtonLabel\\`. The skip-to button will not be rendered.`\n );\n }\n\n return (\n <div {...baseProps} {...funnelProps} ref={ref} className={clsx(styles.root, baseProps.className)}>\n <div\n className={clsx(\n styles.wizard,\n isVisualRefresh && styles.refresh,\n smallContainer && styles['small-container'],\n shouldRemoveHighContrastHeader() && styles['remove-high-contrast-header']\n )}\n >\n <WizardNavigation\n activeStepIndex={actualActiveStepIndex}\n farthestStepIndex={farthestStepIndex.current}\n allowSkipTo={allowSkipTo}\n hidden={smallContainer}\n i18nStrings={i18nStrings}\n isVisualRefresh={isVisualRefresh}\n isLoadingNextStep={isLoadingNextStep}\n onStepClick={onStepClick}\n onSkipToClick={onSkipToClick}\n steps={steps}\n />\n <div\n className={clsx(\n styles.form,\n isVisualRefresh && styles.refresh,\n smallContainer && styles['small-container'],\n shouldRemoveHighContrastHeader() && styles['remove-high-contrast-header']\n )}\n >\n {isVisualRefresh && <div className={clsx(styles.background, getContentHeaderClassName())} />}\n <WizardForm\n steps={steps}\n isVisualRefresh={isVisualRefresh}\n showCollapsedSteps={smallContainer}\n i18nStrings={i18nStrings}\n submitButtonText={submitButtonText}\n activeStepIndex={actualActiveStepIndex}\n isPrimaryLoading={isLoadingNextStep}\n allowSkipTo={allowSkipTo}\n secondaryActions={secondaryActions}\n onCancelClick={onCancelClick}\n onPreviousClick={onPreviousClick}\n onSkipToClick={onSkipToClick}\n onPrimaryClick={onPrimaryClick}\n />\n </div>\n </div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/wizard/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, { useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { getBaseProps } from '../internal/base-component';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport { useContainerBreakpoints } from '../internal/hooks/container-queries';\nimport { useControllable } from '../internal/hooks/use-controllable';\nimport { useMergeRefs } from '../internal/hooks/use-merge-refs';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { getContentHeaderClassName } from '../internal/utils/content-header-utils';\n\nimport { useInternalI18n } from '../i18n/context';\n\nimport { FunnelMetrics } from '../internal/analytics';\nimport { useFunnel } from '../internal/analytics/hooks/use-funnel';\nimport { getNameFromSelector, getSubStepAllSelector } from '../internal/analytics/selectors';\n\nimport WizardForm, { STEP_NAME_SELECTOR } from './wizard-form';\nimport WizardNavigation from './wizard-navigation';\n\nimport { WizardProps } from './interfaces';\n\nimport styles from './styles.css.js';\nimport { useFunnelChangeEvent } from './analytics';\nimport { shouldRemoveHighContrastHeader } from '../internal/utils/content-header-utils';\n\ntype InternalWizardProps = WizardProps & InternalBaseComponentProps;\n\nexport default function InternalWizard({\n steps,\n activeStepIndex: controlledActiveStepIndex,\n submitButtonText,\n isLoadingNextStep = false,\n allowSkipTo = false,\n secondaryActions,\n onCancel,\n onSubmit,\n onNavigate,\n __internalRootRef,\n ...rest\n}: InternalWizardProps) {\n const baseProps = getBaseProps(rest);\n\n const [breakpoint, breakpointsRef] = useContainerBreakpoints(['xs']);\n const ref = useMergeRefs(breakpointsRef, __internalRootRef);\n\n const smallContainer = breakpoint === 'default';\n\n const [activeStepIndex, setActiveStepIndex] = useControllable(controlledActiveStepIndex, onNavigate, 0, {\n componentName: 'Wizard',\n controlledProp: 'activeStepIndex',\n changeHandler: 'onNavigate',\n });\n const { funnelIdentifier, funnelInteractionId, funnelSubmit, funnelCancel, funnelProps, funnelNextOrSubmitAttempt } =\n useFunnel();\n const actualActiveStepIndex = activeStepIndex ? Math.min(activeStepIndex, steps.length - 1) : 0;\n\n const farthestStepIndex = useRef<number>(actualActiveStepIndex);\n farthestStepIndex.current = Math.max(farthestStepIndex.current, actualActiveStepIndex);\n\n const isVisualRefresh = useVisualRefresh();\n const isLastStep = actualActiveStepIndex >= steps.length - 1;\n\n const navigationEvent = (requestedStepIndex: number, reason: WizardProps.NavigationReason) => {\n if (funnelInteractionId) {\n const stepName = getNameFromSelector(STEP_NAME_SELECTOR);\n\n FunnelMetrics.funnelStepNavigation({\n navigationType: reason,\n funnelInteractionId,\n stepNumber: actualActiveStepIndex + 1,\n stepName,\n stepNameSelector: STEP_NAME_SELECTOR,\n destinationStepNumber: requestedStepIndex + 1,\n subStepAllSelector: getSubStepAllSelector(),\n });\n }\n\n setActiveStepIndex(requestedStepIndex);\n fireNonCancelableEvent(onNavigate, { requestedStepIndex, reason });\n };\n const onStepClick = (stepIndex: number) => navigationEvent(stepIndex, 'step');\n const onSkipToClick = (stepIndex: number) => navigationEvent(stepIndex, 'skip');\n const onCancelClick = () => {\n funnelCancel();\n fireNonCancelableEvent(onCancel);\n };\n const onPreviousClick = () => navigationEvent(actualActiveStepIndex - 1, 'previous');\n const onPrimaryClick = () => {\n funnelNextOrSubmitAttempt();\n\n if (isLastStep) {\n funnelSubmit();\n fireNonCancelableEvent(onSubmit);\n } else {\n navigationEvent(actualActiveStepIndex + 1, 'next');\n }\n };\n\n useFunnelChangeEvent(funnelInteractionId, funnelIdentifier, steps);\n\n const i18n = useInternalI18n('wizard');\n const skipToButtonLabel = i18n(\n 'i18nStrings.skipToButtonLabel',\n rest.i18nStrings?.skipToButtonLabel,\n format => task => format({ task__title: task.title })\n );\n\n const i18nStrings: WizardProps.I18nStrings = {\n ...rest.i18nStrings,\n skipToButtonLabel,\n stepNumberLabel: i18n(\n 'i18nStrings.stepNumberLabel',\n rest.i18nStrings?.stepNumberLabel,\n format => stepNumber => format({ stepNumber })\n ),\n collapsedStepsLabel: i18n(\n 'i18nStrings.collapsedStepsLabel',\n rest.i18nStrings?.collapsedStepsLabel,\n format => (stepNumber, stepsCount) => format({ stepNumber, stepsCount })\n ),\n navigationAriaLabel: i18n('i18nStrings.navigationAriaLabel', rest.i18nStrings?.navigationAriaLabel),\n cancelButton: i18n('i18nStrings.cancelButton', rest.i18nStrings?.cancelButton),\n previousButton: i18n('i18nStrings.previousButton', rest.i18nStrings?.previousButton),\n nextButton: i18n('i18nStrings.nextButton', rest.i18nStrings?.nextButton),\n optional: i18n('i18nStrings.optional', rest.i18nStrings?.optional),\n };\n\n if (activeStepIndex && activeStepIndex >= steps.length) {\n warnOnce(\n 'Wizard',\n `You have set \\`activeStepIndex\\` to ${activeStepIndex} but you have provided only ${\n steps.length\n } steps. Its value is ignored and the component uses ${steps.length - 1} instead.`\n );\n }\n\n if (allowSkipTo && !skipToButtonLabel) {\n warnOnce(\n 'Wizard',\n `You have set \\`allowSkipTo\\` but you have not provided \\`i18nStrings.skipToButtonLabel\\`. The skip-to button will not be rendered.`\n );\n }\n\n return (\n <div {...baseProps} {...funnelProps} ref={ref} className={clsx(styles.root, baseProps.className)}>\n <div\n className={clsx(\n styles.wizard,\n isVisualRefresh && styles.refresh,\n smallContainer && styles['small-container'],\n shouldRemoveHighContrastHeader() && styles['remove-high-contrast-header']\n )}\n >\n <WizardNavigation\n activeStepIndex={actualActiveStepIndex}\n farthestStepIndex={farthestStepIndex.current}\n allowSkipTo={allowSkipTo}\n hidden={smallContainer}\n i18nStrings={i18nStrings}\n isVisualRefresh={isVisualRefresh}\n isLoadingNextStep={isLoadingNextStep}\n onStepClick={onStepClick}\n onSkipToClick={onSkipToClick}\n steps={steps}\n />\n <div\n className={clsx(\n styles.form,\n isVisualRefresh && styles.refresh,\n smallContainer && styles['small-container'],\n shouldRemoveHighContrastHeader() && styles['remove-high-contrast-header']\n )}\n >\n {isVisualRefresh && <div className={clsx(styles.background, getContentHeaderClassName())} />}\n <WizardForm\n steps={steps}\n isVisualRefresh={isVisualRefresh}\n showCollapsedSteps={smallContainer}\n i18nStrings={i18nStrings}\n submitButtonText={submitButtonText}\n activeStepIndex={actualActiveStepIndex}\n isPrimaryLoading={isLoadingNextStep}\n allowSkipTo={allowSkipTo}\n secondaryActions={secondaryActions}\n onCancelClick={onCancelClick}\n onPreviousClick={onPreviousClick}\n onSkipToClick={onSkipToClick}\n onPrimaryClick={onPrimaryClick}\n />\n </div>\n </div>\n </div>\n );\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { WizardProps } from './interfaces';
3
- interface WizardFormProps {
3
+ import { InternalBaseComponentProps } from '../internal/hooks/use-base-component';
4
+ interface WizardFormProps extends InternalBaseComponentProps {
4
5
  steps: ReadonlyArray<WizardProps.Step>;
5
6
  activeStepIndex: number;
6
7
  isVisualRefresh: boolean;
@@ -16,6 +17,7 @@ interface WizardFormProps {
16
17
  onSkipToClick: (stepIndex: number) => void;
17
18
  }
18
19
  export declare const STEP_NAME_SELECTOR: string;
19
- export default function WizardForm({ steps, activeStepIndex, isVisualRefresh, showCollapsedSteps, i18nStrings, submitButtonText, isPrimaryLoading, allowSkipTo, secondaryActions, onCancelClick, onPreviousClick, onPrimaryClick, onSkipToClick, }: WizardFormProps): JSX.Element;
20
+ export default function WizardFormWithAnalytics(props: WizardFormProps): JSX.Element;
21
+ export declare function WizardForm({ __internalRootRef, steps, activeStepIndex, isVisualRefresh, showCollapsedSteps, i18nStrings, submitButtonText, isPrimaryLoading, allowSkipTo, secondaryActions, onCancelClick, onPreviousClick, onPrimaryClick, onSkipToClick, }: WizardFormProps): JSX.Element;
20
22
  export {};
21
23
  //# sourceMappingURL=wizard-form.d.ts.map