@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.
- package/alert/index.js +1 -1
- package/alert/index.js.map +1 -1
- package/annotation-context/annotation/annotation-popover.d.ts.map +1 -1
- package/annotation-context/annotation/annotation-popover.js +1 -1
- package/annotation-context/annotation/annotation-popover.js.map +1 -1
- package/app-layout/visual-refresh/context.d.ts.map +1 -1
- package/app-layout/visual-refresh/context.js +1 -2
- package/app-layout/visual-refresh/context.js.map +1 -1
- package/app-layout/visual-refresh-toolbar/index.d.ts.map +1 -1
- package/app-layout/visual-refresh-toolbar/index.js +1 -2
- package/app-layout/visual-refresh-toolbar/index.js.map +1 -1
- package/area-chart/elements/data-series.d.ts.map +1 -1
- package/area-chart/elements/data-series.js +1 -1
- package/area-chart/elements/data-series.js.map +1 -1
- package/attribute-editor/internal.d.ts.map +1 -1
- package/attribute-editor/internal.js +1 -2
- package/attribute-editor/internal.js.map +1 -1
- package/attribute-editor/row.d.ts.map +1 -1
- package/attribute-editor/row.js +1 -1
- package/attribute-editor/row.js.map +1 -1
- package/autosuggest/internal.d.ts.map +1 -1
- package/autosuggest/internal.js +1 -2
- package/autosuggest/internal.js.map +1 -1
- package/button/internal.d.ts.map +1 -1
- package/button/internal.js +1 -2
- package/button/internal.js.map +1 -1
- package/button-dropdown/internal.d.ts.map +1 -1
- package/button-dropdown/internal.js +1 -2
- package/button-dropdown/internal.js.map +1 -1
- package/calendar/internal.d.ts.map +1 -1
- package/calendar/internal.js +1 -1
- package/calendar/internal.js.map +1 -1
- package/code-editor/index.d.ts.map +1 -1
- package/code-editor/index.js +1 -2
- package/code-editor/index.js.map +1 -1
- package/collection-preferences/content-display/content-display-option.d.ts.map +1 -1
- package/collection-preferences/content-display/content-display-option.js +1 -1
- package/collection-preferences/content-display/content-display-option.js.map +1 -1
- package/collection-preferences/content-display/index.d.ts.map +1 -1
- package/collection-preferences/content-display/index.js +1 -1
- package/collection-preferences/content-display/index.js.map +1 -1
- package/collection-preferences/index.d.ts.map +1 -1
- package/collection-preferences/index.js +1 -2
- package/collection-preferences/index.js.map +1 -1
- package/collection-preferences/visible-content.d.ts.map +1 -1
- package/collection-preferences/visible-content.js +1 -1
- package/collection-preferences/visible-content.js.map +1 -1
- package/container/internal.d.ts.map +1 -1
- package/container/internal.js +1 -2
- package/container/internal.js.map +1 -1
- package/date-picker/index.d.ts.map +1 -1
- package/date-picker/index.js +1 -2
- package/date-picker/index.js.map +1 -1
- package/date-range-picker/calendar/index.d.ts.map +1 -1
- package/date-range-picker/calendar/index.js +1 -1
- package/date-range-picker/calendar/index.js.map +1 -1
- package/date-range-picker/index.d.ts.map +1 -1
- package/date-range-picker/index.js +1 -2
- package/date-range-picker/index.js.map +1 -1
- package/expandable-section/internal.d.ts.map +1 -1
- package/expandable-section/internal.js +1 -1
- package/expandable-section/internal.js.map +1 -1
- package/file-input/internal.d.ts.map +1 -1
- package/file-input/internal.js +1 -2
- package/file-input/internal.js.map +1 -1
- package/file-token-group/file-token.d.ts.map +1 -1
- package/file-token-group/file-token.js +1 -1
- package/file-token-group/file-token.js.map +1 -1
- package/file-upload/internal.d.ts.map +1 -1
- package/file-upload/internal.js +1 -2
- package/file-upload/internal.js.map +1 -1
- package/flashbar/collapsible-flashbar.js +1 -1
- package/flashbar/collapsible-flashbar.js.map +1 -1
- package/flashbar/flash.d.ts.map +1 -1
- package/flashbar/flash.js +1 -2
- package/flashbar/flash.js.map +1 -1
- package/form/index.d.ts.map +1 -1
- package/form/index.js +1 -1
- package/form/index.js.map +1 -1
- package/form-field/internal.d.ts.map +1 -1
- package/form-field/internal.js +1 -2
- package/form-field/internal.js.map +1 -1
- package/header/internal.d.ts.map +1 -1
- package/header/internal.js +1 -1
- package/header/internal.js.map +1 -1
- package/internal/analytics/components/analytics-funnel.d.ts.map +1 -1
- package/internal/analytics/components/analytics-funnel.js +1 -1
- package/internal/analytics/components/analytics-funnel.js.map +1 -1
- package/internal/components/abstract-switch/index.d.ts.map +1 -1
- package/internal/components/abstract-switch/index.js +1 -1
- package/internal/components/abstract-switch/index.js.map +1 -1
- package/internal/components/chart-plot/index.d.ts.map +1 -1
- package/internal/components/chart-plot/index.js +1 -1
- package/internal/components/chart-plot/index.js.map +1 -1
- package/internal/components/dropdown/index.d.ts.map +1 -1
- package/internal/components/dropdown/index.js +1 -2
- package/internal/components/dropdown/index.js.map +1 -1
- package/internal/components/token-list/index.d.ts.map +1 -1
- package/internal/components/token-list/index.js +1 -1
- package/internal/components/token-list/index.js.map +1 -1
- package/internal/environment.js +1 -1
- package/internal/environment.json +1 -1
- package/internal/hooks/use-hidden-description/index.js +1 -1
- package/internal/hooks/use-hidden-description/index.js.map +1 -1
- package/internal/hooks/use-intersection-observer/index.d.ts.map +1 -1
- package/internal/hooks/use-intersection-observer/index.js +13 -1
- package/internal/hooks/use-intersection-observer/index.js.map +1 -1
- package/internal/hooks/use-performance-marks/index.d.ts.map +1 -1
- package/internal/hooks/use-performance-marks/index.js +1 -1
- package/internal/hooks/use-performance-marks/index.js.map +1 -1
- package/internal/hooks/use-table-interaction-metrics/index.d.ts.map +1 -1
- package/internal/hooks/use-table-interaction-metrics/index.js +1 -1
- package/internal/hooks/use-table-interaction-metrics/index.js.map +1 -1
- package/internal/manifest.json +1 -1
- package/internal/plugins/helpers/use-discovered-content.d.ts.map +1 -1
- package/internal/plugins/helpers/use-discovered-content.js +1 -1
- package/internal/plugins/helpers/use-discovered-content.js.map +1 -1
- package/key-value-pairs/internal.d.ts.map +1 -1
- package/key-value-pairs/internal.js +1 -1
- package/key-value-pairs/internal.js.map +1 -1
- package/link/internal.d.ts.map +1 -1
- package/link/internal.js +1 -2
- package/link/internal.js.map +1 -1
- package/mixed-line-bar-chart/data-series.d.ts.map +1 -1
- package/mixed-line-bar-chart/data-series.js +1 -1
- package/mixed-line-bar-chart/data-series.js.map +1 -1
- package/modal/index.d.ts.map +1 -1
- package/modal/index.js +1 -1
- package/modal/index.js.map +1 -1
- package/modal/internal.d.ts.map +1 -1
- package/modal/internal.js +1 -2
- package/modal/internal.js.map +1 -1
- package/multiselect/embedded.d.ts.map +1 -1
- package/multiselect/embedded.js +1 -1
- package/multiselect/embedded.js.map +1 -1
- package/multiselect/internal.d.ts.map +1 -1
- package/multiselect/internal.js +1 -1
- package/multiselect/internal.js.map +1 -1
- package/package.json +1 -1
- package/pie-chart/pie-chart.js +1 -1
- package/pie-chart/pie-chart.js.map +1 -1
- package/popover/body.js +1 -1
- package/popover/body.js.map +1 -1
- package/popover/internal.d.ts.map +1 -1
- package/popover/internal.js +1 -2
- package/popover/internal.js.map +1 -1
- package/progress-bar/index.d.ts.map +1 -1
- package/progress-bar/index.js +1 -2
- package/progress-bar/index.js.map +1 -1
- package/property-filter/internal.d.ts.map +1 -1
- package/property-filter/internal.js +1 -2
- package/property-filter/internal.js.map +1 -1
- package/property-filter/property-editor.d.ts.map +1 -1
- package/property-filter/property-editor.js +1 -1
- package/property-filter/property-editor.js.map +1 -1
- package/property-filter/property-filter-autosuggest.d.ts.map +1 -1
- package/property-filter/property-filter-autosuggest.js +1 -2
- package/property-filter/property-filter-autosuggest.js.map +1 -1
- package/property-filter/token-editor.d.ts.map +1 -1
- package/property-filter/token-editor.js +1 -1
- package/property-filter/token-editor.js.map +1 -1
- package/radio-group/internal.d.ts.map +1 -1
- package/radio-group/internal.js +1 -1
- package/radio-group/internal.js.map +1 -1
- package/select/internal.d.ts.map +1 -1
- package/select/internal.js +1 -2
- package/select/internal.js.map +1 -1
- package/select/parts/trigger.d.ts.map +1 -1
- package/select/parts/trigger.js +1 -2
- package/select/parts/trigger.js.map +1 -1
- package/select/utils/use-select.d.ts.map +1 -1
- package/select/utils/use-select.js +1 -1
- package/select/utils/use-select.js.map +1 -1
- package/slider/internal.d.ts.map +1 -1
- package/slider/internal.js +1 -2
- package/slider/internal.js.map +1 -1
- package/split-panel/implementation.d.ts.map +1 -1
- package/split-panel/implementation.js +1 -2
- package/split-panel/implementation.js.map +1 -1
- package/table/header-cell/index.d.ts.map +1 -1
- package/table/header-cell/index.js +1 -2
- package/table/header-cell/index.js.map +1 -1
- package/table/resizer/index.d.ts.map +1 -1
- package/table/resizer/index.js +1 -2
- package/table/resizer/index.js.map +1 -1
- package/table/selection/selection-control.js +1 -1
- package/table/selection/selection-control.js.map +1 -1
- package/table/selection/use-selection.d.ts.map +1 -1
- package/table/selection/use-selection.js +1 -1
- package/table/selection/use-selection.js.map +1 -1
- package/table/tools-header.d.ts.map +1 -1
- package/table/tools-header.js +1 -1
- package/table/tools-header.js.map +1 -1
- package/tabs/index.js +1 -1
- package/tabs/index.js.map +1 -1
- package/text-filter/internal.d.ts.map +1 -1
- package/text-filter/internal.js +1 -1
- package/text-filter/internal.js.map +1 -1
- package/tiles/internal.d.ts.map +1 -1
- package/tiles/internal.js +1 -2
- package/tiles/internal.js.map +1 -1
- package/top-navigation/parts/overflow-menu/menu-item.d.ts.map +1 -1
- package/top-navigation/parts/overflow-menu/menu-item.js +1 -1
- package/top-navigation/parts/overflow-menu/menu-item.js.map +1 -1
- package/top-navigation/parts/overflow-menu/views/submenu.d.ts.map +1 -1
- package/top-navigation/parts/overflow-menu/views/submenu.js +1 -1
- package/top-navigation/parts/overflow-menu/views/submenu.js.map +1 -1
- package/top-navigation/parts/overflow-menu/views/utilities.d.ts.map +1 -1
- package/top-navigation/parts/overflow-menu/views/utilities.js +1 -1
- package/top-navigation/parts/overflow-menu/views/utilities.js.map +1 -1
- package/tutorial-panel/components/tutorial-list/index.d.ts.map +1 -1
- package/tutorial-panel/components/tutorial-list/index.js +1 -1
- package/tutorial-panel/components/tutorial-list/index.js.map +1 -1
- package/wizard/wizard-form.d.ts.map +1 -1
- package/wizard/wizard-form.js +1 -2
- package/wizard/wizard-form.js.map +1 -1
- package/internal/hooks/use-unique-id/index.d.ts +0 -3
- package/internal/hooks/use-unique-id/index.d.ts.map +0 -1
- package/internal/hooks/use-unique-id/index.js +0 -17
- 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;
|
|
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"}
|
package/wizard/wizard-form.js
CHANGED
|
@@ -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":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAoB,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACnE,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AAGrF,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAC5C,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAkC,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvG,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAC7C,OAAO,gBAAgB,MAAM,sBAAsB,CAAC;AAEpD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAiBrC,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,oBAAoB,KAAK,oBAAoB,IAAI,CAAC;AAExF,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,KAAsB;IACpE,MAAM,iBAAiB,GAAG,yBAAyB,CACjD,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAmC,CACrE,CAAC;IAEF,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,YAAY,EAAE,eAAe,EAAE,iBAAsC,CAAC,CAAC;IACtH,MAAM,aAAa,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IAE1D,iBAAiB,CAAC,GAAG,EAAE;;QACrB,IAAI,aAAa,IAAI,aAAa,CAAC,OAAO,EAAE;YAC1C,MAAA,aAAa,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;SAChC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAE5B,OAAO,CACL,oBAAC,mBAAmB,IAClB,cAAc,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,kBAAkB,EACrD,gBAAgB,EAAE,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,YAAY,EACjD,gBAAgB,EAAE,kBAAkB,EACpC,UAAU,EAAE,KAAK,CAAC,eAAe,GAAG,CAAC;QAErC,oBAAC,UAAU,kBAAC,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,IAAM,KAAK,EAAI,CACzE,CACvB,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAClB,iBAAiB,EACjB,aAAa,EACb,KAAK,EACL,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,cAAc,EACd,aAAa,GACgE;;IAC7E,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IAClG,MAAM,UAAU,GAAG,eAAe,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACvD,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAExE,MAAM,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAAE,CAAC;IAE9D,MAAM,cAAc,GAAG,gBAAgB,EAAE,CAAC;IAE1C,MAAM,WAAW,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;IAEjD,MAAM,UAAU,GAAG,WAAW,IAAI,iBAAiB,KAAK,CAAC,CAAC,CAAC;IAC3D,MAAM,gBAAgB,GACpB,iBAAiB,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,iBAAiB;QACvD,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,CAAC,CAAC;QAChF,CAAC,CAAC,SAAS,CAAC;IAEhB,SAAS,CAAC,GAAG,EAAE;;QACb,IAAI,mBAAmB,IAAI,SAAS,EAAE;YACpC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAE9E,aAAa,CAAC,eAAe,CAAC;gBAC5B,mBAAmB;gBACnB,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,UAAU;gBAC7C,gBAAgB,EAAE,cAAc,CAAC,OAAO,CAAC,gBAAgB;gBACzD,QAAQ;gBACR,cAAc,EAAE,cAAc,CAAC,OAAO,CAAC,cAAc;gBACrD,eAAe,EAAE,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,OAAO,0CAAE,aAAa;gBAC1D,aAAa,EAAE,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO;gBAC1D,gBAAgB;gBAChB,kBAAkB,EAAE,qBAAqB,EAAE;gBAC3C,YAAY,EAAE,cAAc,CAAC,OAAO,CAAC,gBAAgB;gBACrD,oBAAoB,EAAE,MAAA,cAAc,CAAC,OAAO,CAAC,oBAAoB,CAAC,OAAO,0CAAE,GAAG,CAC5E,cAAc,CAAC,OAAO,CAAC,UAAU,CAClC;gBACD,iBAAiB,EAAE,GAAG,GAAG,WAAW;aACrC,CAAC,CAAC;SACJ;IACH,CAAC,EAAE,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,iBAAiB,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAEnH,OAAO,CACL;QACE,oBAAC,gBAAgB;YACf,6BAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,kBAAkB,IAAI,MAAM,CAAC,wBAAwB,CAAC,CAAC,IACrG,MAAA,WAAW,CAAC,mBAAmB,4DAAG,eAAe,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CACjE;YACN,oBAAC,cAAc,IACb,SAAS,EAAE,MAAM,CAAC,uBAAuB,CAAC,EAC1C,OAAO,EAAC,IAAI,EACZ,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,aAAa,EAC9B,oBAAoB,EAAE,CAAC,CAAC;gBAExB,8BAAM,SAAS,EAAE,MAAM,CAAC,+BAA+B,CAAC;oBACtD,8CAAU,EAAE,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,EAAE,GAAG,KAAK,CAAQ;oBACzE,UAAU,IAAI,+BAAI,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAK,CAC/C,CACQ,CACA;QAEnB,oBAAC,YAAY,kBACX,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC,EACnC,OAAO,EACL,oBAAC,aAAa,IACZ,gBAAgB,EAAE,WAAW,CAAC,YAAY,EAC1C,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,EACrG,wBAAwB,EACtB,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC,CAAC,WAAW,CAAC,6BAA6B,EAEtG,kBAAkB,EAAE,WAAW,CAAC,cAAc,EAC9C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,iBAAiB,CAAC,EACrD,YAAY,EAAE,eAAe,KAAK,CAAC,EACnC,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,eAAe,EAChC,eAAe,EAAE,iBAAiB,GAClC,EAEJ,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,WAAW,EAC1B,kBAAkB,EAAE,WAAW,CAAC,kBAAkB,IAC9C,cAAc,CAAC,OAAO,CAAC,eAAe,GAEzC,OAAO,CACK,CACd,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAsC,EAAE,eAAuB;IAC5F,IAAI,qBAAqB,GAAG,eAAe,CAAC;IAC5C,GAAG;QACD,qBAAqB,EAAE,CAAC;KACzB,QAAQ,qBAAqB,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,UAAU,EAAE;IAE9F,OAAO,qBAAqB,GAAG,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC","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 +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"]}
|