@cloudscape-design/components 3.0.839 → 3.0.841

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 (865) hide show
  1. package/alert/styles.css.js +28 -28
  2. package/alert/styles.scoped.css +43 -49
  3. package/alert/styles.selectors.js +28 -28
  4. package/anchor-navigation/styles.css.js +8 -8
  5. package/anchor-navigation/styles.scoped.css +18 -21
  6. package/anchor-navigation/styles.selectors.js +8 -8
  7. package/annotation-context/annotation/annotation-icon.d.ts +2 -1
  8. package/annotation-context/annotation/annotation-icon.d.ts.map +1 -1
  9. package/annotation-context/annotation/annotation-icon.js.map +1 -1
  10. package/annotation-context/annotation/annotation-popover.d.ts +2 -1
  11. package/annotation-context/annotation/annotation-popover.d.ts.map +1 -1
  12. package/annotation-context/annotation/annotation-popover.js.map +1 -1
  13. package/annotation-context/annotation/annotation-trigger.d.ts +1 -1
  14. package/annotation-context/annotation/annotation-trigger.d.ts.map +1 -1
  15. package/annotation-context/annotation/annotation-trigger.js.map +1 -1
  16. package/annotation-context/annotation/closed-annotation.d.ts +2 -1
  17. package/annotation-context/annotation/closed-annotation.d.ts.map +1 -1
  18. package/annotation-context/annotation/closed-annotation.js.map +1 -1
  19. package/annotation-context/annotation/open-annotation.d.ts +2 -1
  20. package/annotation-context/annotation/open-annotation.d.ts.map +1 -1
  21. package/annotation-context/annotation/open-annotation.js.map +1 -1
  22. package/annotation-context/annotation/styles.css.js +24 -24
  23. package/annotation-context/annotation/styles.scoped.css +30 -33
  24. package/annotation-context/annotation/styles.selectors.js +24 -24
  25. package/app-layout/classic.d.ts.map +1 -1
  26. package/app-layout/classic.js +6 -3
  27. package/app-layout/classic.js.map +1 -1
  28. package/app-layout/defaults.d.ts +2 -1
  29. package/app-layout/defaults.d.ts.map +1 -1
  30. package/app-layout/defaults.js.map +1 -1
  31. package/app-layout/split-panel/constants.d.ts +0 -1
  32. package/app-layout/split-panel/constants.d.ts.map +1 -1
  33. package/app-layout/split-panel/constants.js +0 -1
  34. package/app-layout/split-panel/constants.js.map +1 -1
  35. package/app-layout/split-panel/split-panel-forced-position.d.ts +5 -0
  36. package/app-layout/split-panel/split-panel-forced-position.d.ts.map +1 -0
  37. package/app-layout/split-panel/split-panel-forced-position.js +30 -0
  38. package/app-layout/split-panel/split-panel-forced-position.js.map +1 -0
  39. package/app-layout/utils/use-pointer-events.d.ts.map +1 -1
  40. package/app-layout/utils/use-pointer-events.js +19 -10
  41. package/app-layout/utils/use-pointer-events.js.map +1 -1
  42. package/app-layout/utils/use-resize.d.ts +1 -1
  43. package/app-layout/utils/use-resize.d.ts.map +1 -1
  44. package/app-layout/utils/use-resize.js.map +1 -1
  45. package/app-layout/utils/use-split-panel-focus-control.d.ts +2 -1
  46. package/app-layout/utils/use-split-panel-focus-control.d.ts.map +1 -1
  47. package/app-layout/utils/use-split-panel-focus-control.js.map +1 -1
  48. package/app-layout/visual-refresh/context.d.ts.map +1 -1
  49. package/app-layout/visual-refresh/context.js +5 -2
  50. package/app-layout/visual-refresh/context.js.map +1 -1
  51. package/app-layout/visual-refresh/drawers.d.ts +0 -8
  52. package/app-layout/visual-refresh/drawers.d.ts.map +1 -1
  53. package/app-layout/visual-refresh/drawers.js +1 -1
  54. package/app-layout/visual-refresh/drawers.js.map +1 -1
  55. package/app-layout/visual-refresh/styles.css.js +86 -86
  56. package/app-layout/visual-refresh/styles.scoped.css +163 -169
  57. package/app-layout/visual-refresh/styles.selectors.js +86 -86
  58. package/app-layout/visual-refresh-toolbar/compute-layout.d.ts.map +1 -1
  59. package/app-layout/visual-refresh-toolbar/compute-layout.js +6 -3
  60. package/app-layout/visual-refresh-toolbar/compute-layout.js.map +1 -1
  61. package/app-layout/visual-refresh-toolbar/drawer/local-drawer.js +1 -1
  62. package/app-layout/visual-refresh-toolbar/drawer/local-drawer.js.map +1 -1
  63. package/app-layout/visual-refresh-toolbar/index.d.ts.map +1 -1
  64. package/app-layout/visual-refresh-toolbar/index.js +32 -2
  65. package/app-layout/visual-refresh-toolbar/index.js.map +1 -1
  66. package/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +19 -19
  67. package/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +35 -50
  68. package/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +19 -19
  69. package/app-layout/visual-refresh-toolbar/split-panel/index.d.ts +1 -1
  70. package/app-layout/visual-refresh-toolbar/split-panel/index.d.ts.map +1 -1
  71. package/app-layout/visual-refresh-toolbar/split-panel/index.js +3 -1
  72. package/app-layout/visual-refresh-toolbar/split-panel/index.js.map +1 -1
  73. package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.d.ts.map +1 -1
  74. package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js +3 -5
  75. package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js.map +1 -1
  76. package/app-layout/visual-refresh-toolbar/toolbar/index.d.ts.map +1 -1
  77. package/app-layout/visual-refresh-toolbar/toolbar/index.js +4 -1
  78. package/app-layout/visual-refresh-toolbar/toolbar/index.js.map +1 -1
  79. package/app-layout/visual-refresh-toolbar/toolbar/styles.css.js +13 -13
  80. package/app-layout/visual-refresh-toolbar/toolbar/styles.scoped.css +15 -18
  81. package/app-layout/visual-refresh-toolbar/toolbar/styles.selectors.js +13 -13
  82. package/area-chart/elements/area-series.d.ts +1 -1
  83. package/area-chart/elements/area-series.d.ts.map +1 -1
  84. package/area-chart/elements/area-series.js.map +1 -1
  85. package/area-chart/elements/threshold-series.d.ts +1 -1
  86. package/area-chart/elements/threshold-series.d.ts.map +1 -1
  87. package/area-chart/elements/threshold-series.js.map +1 -1
  88. package/attribute-editor/internal.d.ts.map +1 -1
  89. package/attribute-editor/internal.js +5 -1
  90. package/attribute-editor/internal.js.map +1 -1
  91. package/attribute-editor/row.d.ts +2 -1
  92. package/attribute-editor/row.d.ts.map +1 -1
  93. package/attribute-editor/row.js.map +1 -1
  94. package/attribute-editor/styles.css.js +14 -14
  95. package/attribute-editor/styles.scoped.css +24 -27
  96. package/attribute-editor/styles.selectors.js +14 -14
  97. package/autosuggest/analytics-metadata/interfaces.d.ts +0 -4
  98. package/autosuggest/analytics-metadata/interfaces.d.ts.map +1 -1
  99. package/autosuggest/analytics-metadata/interfaces.js.map +1 -1
  100. package/autosuggest/autosuggest-option.d.ts +1 -1
  101. package/autosuggest/autosuggest-option.d.ts.map +1 -1
  102. package/autosuggest/autosuggest-option.js.map +1 -1
  103. package/autosuggest/internal.d.ts +1 -1
  104. package/autosuggest/internal.d.ts.map +1 -1
  105. package/autosuggest/internal.js.map +1 -1
  106. package/autosuggest/load-more-controller.d.ts +3 -2
  107. package/autosuggest/load-more-controller.d.ts.map +1 -1
  108. package/autosuggest/load-more-controller.js.map +1 -1
  109. package/autosuggest/options-list.d.ts +2 -1
  110. package/autosuggest/options-list.d.ts.map +1 -1
  111. package/autosuggest/options-list.js.map +1 -1
  112. package/badge/styles.css.js +10 -10
  113. package/badge/styles.scoped.css +10 -13
  114. package/badge/styles.selectors.js +10 -10
  115. package/breadcrumb-group/analytics-metadata/interfaces.d.ts +0 -7
  116. package/breadcrumb-group/analytics-metadata/interfaces.d.ts.map +1 -1
  117. package/breadcrumb-group/analytics-metadata/interfaces.js.map +1 -1
  118. package/breadcrumb-group/styles.css.js +10 -10
  119. package/breadcrumb-group/styles.scoped.css +11 -14
  120. package/breadcrumb-group/styles.selectors.js +10 -10
  121. package/button/styles.css.js +21 -21
  122. package/button/styles.scoped.css +154 -157
  123. package/button/styles.selectors.js +21 -21
  124. package/button-dropdown/interfaces.d.ts +4 -3
  125. package/button-dropdown/interfaces.d.ts.map +1 -1
  126. package/button-dropdown/interfaces.js.map +1 -1
  127. package/button-dropdown/item-element/index.d.ts +0 -7
  128. package/button-dropdown/item-element/index.d.ts.map +1 -1
  129. package/button-dropdown/item-element/index.js.map +1 -1
  130. package/button-dropdown/mobile-expandable-group/mobile-expandable-group.d.ts +1 -1
  131. package/button-dropdown/mobile-expandable-group/mobile-expandable-group.d.ts.map +1 -1
  132. package/button-dropdown/mobile-expandable-group/mobile-expandable-group.js.map +1 -1
  133. package/button-dropdown/mobile-expandable-group/styles.css.js +5 -5
  134. package/button-dropdown/mobile-expandable-group/styles.scoped.css +5 -8
  135. package/button-dropdown/mobile-expandable-group/styles.selectors.js +5 -5
  136. package/button-dropdown/tooltip.d.ts +2 -1
  137. package/button-dropdown/tooltip.d.ts.map +1 -1
  138. package/button-dropdown/tooltip.js.map +1 -1
  139. package/button-dropdown/utils/menu-item.d.ts +3 -2
  140. package/button-dropdown/utils/menu-item.d.ts.map +1 -1
  141. package/button-dropdown/utils/menu-item.js.map +1 -1
  142. package/button-group/styles.css.js +4 -4
  143. package/button-group/styles.scoped.css +4 -7
  144. package/button-group/styles.selectors.js +4 -4
  145. package/calendar/grid/index.d.ts +2 -1
  146. package/calendar/grid/index.d.ts.map +1 -1
  147. package/calendar/grid/index.js.map +1 -1
  148. package/calendar/styles.css.js +21 -21
  149. package/calendar/styles.scoped.css +43 -46
  150. package/calendar/styles.selectors.js +21 -21
  151. package/cards/styles.css.js +39 -39
  152. package/cards/styles.scoped.css +50 -53
  153. package/cards/styles.selectors.js +39 -39
  154. package/checkbox/styles.css.js +3 -3
  155. package/checkbox/styles.scoped.css +5 -8
  156. package/checkbox/styles.selectors.js +3 -3
  157. package/code-editor/pane.d.ts +2 -1
  158. package/code-editor/pane.d.ts.map +1 -1
  159. package/code-editor/pane.js.map +1 -1
  160. package/code-editor/styles.css.js +33 -33
  161. package/code-editor/styles.scoped.css +135 -138
  162. package/code-editor/styles.selectors.js +33 -33
  163. package/collection-preferences/analytics-metadata/interfaces.d.ts +0 -24
  164. package/collection-preferences/analytics-metadata/interfaces.d.ts.map +1 -1
  165. package/collection-preferences/analytics-metadata/interfaces.js.map +1 -1
  166. package/collection-preferences/content-display/content-display-option.d.ts +1 -1
  167. package/collection-preferences/content-display/content-display-option.d.ts.map +1 -1
  168. package/collection-preferences/content-display/content-display-option.js.map +1 -1
  169. package/collection-preferences/content-display/index.d.ts.map +1 -1
  170. package/collection-preferences/content-display/index.js +18 -42
  171. package/collection-preferences/content-display/index.js.map +1 -1
  172. package/collection-preferences/content-display/styles.css.js +12 -13
  173. package/collection-preferences/content-display/styles.scoped.css +15 -47
  174. package/collection-preferences/content-display/styles.selectors.js +12 -13
  175. package/collection-preferences/styles.css.js +38 -39
  176. package/collection-preferences/styles.scoped.css +42 -74
  177. package/collection-preferences/styles.selectors.js +38 -39
  178. package/column-layout/flexible-column-layout/styles.css.js +5 -5
  179. package/column-layout/flexible-column-layout/styles.scoped.css +22 -7
  180. package/column-layout/flexible-column-layout/styles.selectors.js +5 -5
  181. package/column-layout/styles.css.js +13 -13
  182. package/column-layout/styles.scoped.css +43 -46
  183. package/column-layout/styles.selectors.js +13 -13
  184. package/container/styles.css.js +31 -31
  185. package/container/styles.scoped.css +54 -57
  186. package/container/styles.selectors.js +31 -31
  187. package/copy-to-clipboard/internal.d.ts +2 -1
  188. package/copy-to-clipboard/internal.d.ts.map +1 -1
  189. package/copy-to-clipboard/internal.js +2 -2
  190. package/copy-to-clipboard/internal.js.map +1 -1
  191. package/copy-to-clipboard/styles.css.js +3 -4
  192. package/copy-to-clipboard/styles.scoped.css +3 -7
  193. package/copy-to-clipboard/styles.selectors.js +3 -4
  194. package/date-picker/index.js +1 -1
  195. package/date-picker/index.js.map +1 -1
  196. package/date-picker/styles.css.js +7 -7
  197. package/date-picker/styles.scoped.css +9 -12
  198. package/date-picker/styles.selectors.js +7 -7
  199. package/date-range-picker/calendar/grids/index.d.ts +2 -1
  200. package/date-range-picker/calendar/grids/index.d.ts.map +1 -1
  201. package/date-range-picker/calendar/grids/index.js.map +1 -1
  202. package/date-range-picker/calendar/grids/monthly-grid.d.ts +2 -1
  203. package/date-range-picker/calendar/grids/monthly-grid.d.ts.map +1 -1
  204. package/date-range-picker/calendar/grids/monthly-grid.js.map +1 -1
  205. package/date-range-picker/calendar/range-inputs.d.ts +1 -1
  206. package/date-range-picker/calendar/range-inputs.d.ts.map +1 -1
  207. package/date-range-picker/calendar/range-inputs.js.map +1 -1
  208. package/date-range-picker/dropdown.d.ts +2 -2
  209. package/date-range-picker/dropdown.d.ts.map +1 -1
  210. package/date-range-picker/dropdown.js +2 -2
  211. package/date-range-picker/dropdown.js.map +1 -1
  212. package/date-range-picker/interfaces.d.ts +2 -1
  213. package/date-range-picker/interfaces.d.ts.map +1 -1
  214. package/date-range-picker/interfaces.js.map +1 -1
  215. package/date-range-picker/relative-range/index.d.ts +2 -1
  216. package/date-range-picker/relative-range/index.d.ts.map +1 -1
  217. package/date-range-picker/relative-range/index.js.map +1 -1
  218. package/date-range-picker/styles.css.js +38 -38
  219. package/date-range-picker/styles.scoped.css +47 -50
  220. package/date-range-picker/styles.selectors.js +38 -38
  221. package/drawer/implementation.d.ts +2 -1
  222. package/drawer/implementation.d.ts.map +1 -1
  223. package/drawer/implementation.js.map +1 -1
  224. package/drawer/interfaces.d.ts +2 -1
  225. package/drawer/interfaces.d.ts.map +1 -1
  226. package/drawer/interfaces.js.map +1 -1
  227. package/drawer/styles.css.js +5 -5
  228. package/drawer/styles.scoped.css +10 -13
  229. package/drawer/styles.selectors.js +5 -5
  230. package/expandable-section/expandable-section-container.d.ts +2 -1
  231. package/expandable-section/expandable-section-container.d.ts.map +1 -1
  232. package/expandable-section/expandable-section-container.js.map +1 -1
  233. package/expandable-section/expandable-section-header.d.ts +0 -1
  234. package/expandable-section/expandable-section-header.d.ts.map +1 -1
  235. package/expandable-section/expandable-section-header.js +1 -1
  236. package/expandable-section/expandable-section-header.js.map +1 -1
  237. package/expandable-section/internal.d.ts +2 -1
  238. package/expandable-section/internal.d.ts.map +1 -1
  239. package/expandable-section/internal.js.map +1 -1
  240. package/expandable-section/styles.css.js +34 -34
  241. package/expandable-section/styles.scoped.css +65 -68
  242. package/expandable-section/styles.selectors.js +34 -34
  243. package/file-token-group/file-token.d.ts +1 -1
  244. package/file-token-group/file-token.d.ts.map +1 -1
  245. package/file-token-group/file-token.js.map +1 -1
  246. package/file-token-group/styles.css.js +22 -22
  247. package/file-token-group/styles.scoped.css +29 -32
  248. package/file-token-group/styles.selectors.js +22 -22
  249. package/file-upload/interfaces.d.ts +0 -5
  250. package/file-upload/interfaces.d.ts.map +1 -1
  251. package/file-upload/interfaces.js.map +1 -1
  252. package/flashbar/analytics-metadata/interfaces.d.ts +0 -6
  253. package/flashbar/analytics-metadata/interfaces.d.ts.map +1 -1
  254. package/flashbar/analytics-metadata/interfaces.js.map +1 -1
  255. package/flashbar/collapsible-flashbar.d.ts +0 -1
  256. package/flashbar/collapsible-flashbar.d.ts.map +1 -1
  257. package/flashbar/collapsible-flashbar.js.map +1 -1
  258. package/flashbar/flash.d.ts +2 -1
  259. package/flashbar/flash.d.ts.map +1 -1
  260. package/flashbar/flash.js.map +1 -1
  261. package/flashbar/non-collapsible-flashbar.d.ts +0 -1
  262. package/flashbar/non-collapsible-flashbar.d.ts.map +1 -1
  263. package/flashbar/non-collapsible-flashbar.js.map +1 -1
  264. package/flashbar/styles.css.js +50 -50
  265. package/flashbar/styles.scoped.css +148 -151
  266. package/flashbar/styles.selectors.js +50 -50
  267. package/flashbar/utils.d.ts +2 -1
  268. package/flashbar/utils.d.ts.map +1 -1
  269. package/flashbar/utils.js.map +1 -1
  270. package/form/styles.css.js +8 -8
  271. package/form/styles.scoped.css +8 -11
  272. package/form/styles.selectors.js +8 -8
  273. package/form-field/styles.css.js +24 -24
  274. package/form-field/styles.scoped.css +38 -41
  275. package/form-field/styles.selectors.js +24 -24
  276. package/grid/internal.d.ts +1 -1
  277. package/grid/internal.d.ts.map +1 -1
  278. package/grid/internal.js.map +1 -1
  279. package/grid/styles.css.js +53 -53
  280. package/grid/styles.scoped.css +54 -57
  281. package/grid/styles.selectors.js +53 -53
  282. package/header/styles.css.js +34 -34
  283. package/header/styles.scoped.css +50 -53
  284. package/header/styles.selectors.js +34 -34
  285. package/help-panel/implementation.d.ts +2 -1
  286. package/help-panel/implementation.d.ts.map +1 -1
  287. package/help-panel/implementation.js.map +1 -1
  288. package/help-panel/styles.css.js +6 -6
  289. package/help-panel/styles.scoped.css +67 -70
  290. package/help-panel/styles.selectors.js +6 -6
  291. package/i18n/context.d.ts +1 -1
  292. package/i18n/context.d.ts.map +1 -1
  293. package/i18n/context.js.map +1 -1
  294. package/i18n/testing.d.ts +2 -1
  295. package/i18n/testing.d.ts.map +1 -1
  296. package/i18n/testing.js.map +1 -1
  297. package/input/styles.css.js +13 -13
  298. package/input/styles.scoped.css +32 -35
  299. package/input/styles.selectors.js +13 -13
  300. package/internal/analytics/components/analytics-funnel.d.ts +0 -1
  301. package/internal/analytics/components/analytics-funnel.d.ts.map +1 -1
  302. package/internal/analytics/components/analytics-funnel.js +1 -1
  303. package/internal/analytics/components/analytics-funnel.js.map +1 -1
  304. package/internal/analytics/interfaces.d.ts +17 -24
  305. package/internal/analytics/interfaces.d.ts.map +1 -1
  306. package/internal/analytics/interfaces.js.map +1 -1
  307. package/internal/analytics/selectors.d.ts +1 -1
  308. package/internal/analytics/selectors.d.ts.map +1 -1
  309. package/internal/analytics/selectors.js +2 -1
  310. package/internal/analytics/selectors.js.map +1 -1
  311. package/internal/components/autosuggest-input/index.d.ts +2 -2
  312. package/internal/components/autosuggest-input/index.d.ts.map +1 -1
  313. package/internal/components/autosuggest-input/index.js.map +1 -1
  314. package/internal/components/button-trigger/styles.css.js +13 -13
  315. package/internal/components/button-trigger/styles.scoped.css +27 -30
  316. package/internal/components/button-trigger/styles.selectors.js +13 -13
  317. package/internal/components/cartesian-chart/highlighted-point.d.ts +1 -1
  318. package/internal/components/cartesian-chart/highlighted-point.d.ts.map +1 -1
  319. package/internal/components/cartesian-chart/highlighted-point.js.map +1 -1
  320. package/internal/components/cartesian-chart/scales.d.ts +4 -5
  321. package/internal/components/cartesian-chart/scales.d.ts.map +1 -1
  322. package/internal/components/cartesian-chart/scales.js +1 -1
  323. package/internal/components/cartesian-chart/scales.js.map +1 -1
  324. package/internal/components/cartesian-chart/vertical-marker.d.ts +1 -1
  325. package/internal/components/cartesian-chart/vertical-marker.d.ts.map +1 -1
  326. package/internal/components/cartesian-chart/vertical-marker.js.map +1 -1
  327. package/internal/components/chart-filter/index.d.ts +1 -1
  328. package/internal/components/chart-filter/index.d.ts.map +1 -1
  329. package/internal/components/chart-filter/index.js.map +1 -1
  330. package/internal/components/chart-filter/styles.css.js +3 -3
  331. package/internal/components/chart-filter/styles.scoped.css +3 -6
  332. package/internal/components/chart-filter/styles.selectors.js +3 -3
  333. package/internal/components/chart-legend/index.d.ts +1 -1
  334. package/internal/components/chart-legend/index.d.ts.map +1 -1
  335. package/internal/components/chart-legend/index.js.map +1 -1
  336. package/internal/components/chart-legend/styles.css.js +6 -6
  337. package/internal/components/chart-legend/styles.scoped.css +15 -18
  338. package/internal/components/chart-legend/styles.selectors.js +6 -6
  339. package/internal/components/chart-plot/application-controller.d.ts +1 -1
  340. package/internal/components/chart-plot/application-controller.d.ts.map +1 -1
  341. package/internal/components/chart-plot/application-controller.js.map +1 -1
  342. package/internal/components/chart-plot/focus-outline.d.ts +2 -1
  343. package/internal/components/chart-plot/focus-outline.d.ts.map +1 -1
  344. package/internal/components/chart-plot/focus-outline.js.map +1 -1
  345. package/internal/components/chart-plot/index.d.ts +1 -1
  346. package/internal/components/chart-plot/index.d.ts.map +1 -1
  347. package/internal/components/chart-plot/index.js.map +1 -1
  348. package/internal/components/chart-popover/index.d.ts +1 -1
  349. package/internal/components/chart-popover/index.d.ts.map +1 -1
  350. package/internal/components/chart-popover/index.js.map +1 -1
  351. package/internal/components/chart-popover/styles.css.js +3 -3
  352. package/internal/components/chart-popover/styles.scoped.css +3 -6
  353. package/internal/components/chart-popover/styles.selectors.js +3 -3
  354. package/internal/components/chart-series-details/index.d.ts +1 -1
  355. package/internal/components/chart-series-details/index.d.ts.map +1 -1
  356. package/internal/components/chart-series-details/index.js.map +1 -1
  357. package/internal/components/chart-series-details/styles.css.js +20 -20
  358. package/internal/components/chart-series-details/styles.scoped.css +33 -42
  359. package/internal/components/chart-series-details/styles.selectors.js +20 -20
  360. package/internal/components/chart-series-marker/styles.css.js +5 -5
  361. package/internal/components/chart-series-marker/styles.scoped.css +7 -10
  362. package/internal/components/chart-series-marker/styles.selectors.js +5 -5
  363. package/internal/components/chart-wrapper/styles.css.js +9 -9
  364. package/internal/components/chart-wrapper/styles.scoped.css +9 -12
  365. package/internal/components/chart-wrapper/styles.selectors.js +9 -9
  366. package/internal/components/checkbox-icon/index.d.ts +1 -10
  367. package/internal/components/checkbox-icon/index.d.ts.map +1 -1
  368. package/internal/components/checkbox-icon/index.js +1 -1
  369. package/internal/components/checkbox-icon/index.js.map +1 -1
  370. package/internal/components/dnd-container/index.d.ts +28 -0
  371. package/internal/components/dnd-container/index.d.ts.map +1 -0
  372. package/internal/components/dnd-container/index.js +67 -0
  373. package/internal/components/dnd-container/index.js.map +1 -0
  374. package/internal/components/dnd-container/interfaces.d.ts +13 -0
  375. package/internal/components/dnd-container/interfaces.d.ts.map +1 -0
  376. package/internal/components/dnd-container/interfaces.js +4 -0
  377. package/internal/components/dnd-container/interfaces.js.map +1 -0
  378. package/internal/components/dnd-container/keyboard-sensor/defaults.d.ts.map +1 -0
  379. package/internal/components/dnd-container/keyboard-sensor/defaults.js.map +1 -0
  380. package/internal/components/dnd-container/keyboard-sensor/index.d.ts.map +1 -0
  381. package/{collection-preferences/content-display → internal/components/dnd-container}/keyboard-sensor/index.js +1 -1
  382. package/internal/components/dnd-container/keyboard-sensor/index.js.map +1 -0
  383. package/internal/components/dnd-container/keyboard-sensor/utilities/events.d.ts +7 -0
  384. package/internal/components/dnd-container/keyboard-sensor/utilities/events.d.ts.map +1 -0
  385. package/{collection-preferences/content-display → internal/components/dnd-container}/keyboard-sensor/utilities/events.js +0 -4
  386. package/internal/components/dnd-container/keyboard-sensor/utilities/events.js.map +1 -0
  387. package/internal/components/dnd-container/keyboard-sensor/utilities/listeners.d.ts.map +1 -0
  388. package/internal/components/dnd-container/keyboard-sensor/utilities/listeners.js.map +1 -0
  389. package/internal/components/dnd-container/keyboard-sensor/utilities/scroll.d.ts +8 -0
  390. package/internal/components/dnd-container/keyboard-sensor/utilities/scroll.d.ts.map +1 -0
  391. package/{collection-preferences/content-display → internal/components/dnd-container}/keyboard-sensor/utilities/scroll.js +2 -2
  392. package/internal/components/dnd-container/keyboard-sensor/utilities/scroll.js.map +1 -0
  393. package/internal/components/dnd-container/styles.css.js +6 -0
  394. package/internal/components/dnd-container/styles.scoped.css +168 -0
  395. package/internal/components/dnd-container/styles.selectors.js +7 -0
  396. package/{collection-preferences/content-display → internal/components/dnd-container}/use-drag-and-drop-reorder.d.ts +2 -4
  397. package/internal/components/dnd-container/use-drag-and-drop-reorder.d.ts.map +1 -0
  398. package/{collection-preferences/content-display → internal/components/dnd-container}/use-drag-and-drop-reorder.js +4 -4
  399. package/internal/components/dnd-container/use-drag-and-drop-reorder.js.map +1 -0
  400. package/internal/components/dnd-container/use-live-announcements.d.ts +11 -0
  401. package/internal/components/dnd-container/use-live-announcements.d.ts.map +1 -0
  402. package/{collection-preferences/content-display → internal/components/dnd-container}/use-live-announcements.js +6 -6
  403. package/internal/components/dnd-container/use-live-announcements.js.map +1 -0
  404. package/internal/components/dropdown/dropdown-fit-handler.d.ts +0 -30
  405. package/internal/components/dropdown/dropdown-fit-handler.d.ts.map +1 -1
  406. package/internal/components/dropdown/dropdown-fit-handler.js +4 -4
  407. package/internal/components/dropdown/dropdown-fit-handler.js.map +1 -1
  408. package/internal/components/dropdown/styles.css.js +20 -20
  409. package/internal/components/dropdown/styles.scoped.css +37 -40
  410. package/internal/components/dropdown/styles.selectors.js +20 -20
  411. package/internal/components/dropdown-footer/styles.css.js +3 -3
  412. package/internal/components/dropdown-footer/styles.scoped.css +3 -6
  413. package/internal/components/dropdown-footer/styles.selectors.js +3 -3
  414. package/internal/components/dropdown-status/styles.css.js +2 -2
  415. package/internal/components/dropdown-status/styles.scoped.css +2 -5
  416. package/internal/components/dropdown-status/styles.selectors.js +2 -2
  417. package/internal/components/focus-lock/utils.d.ts +0 -1
  418. package/internal/components/focus-lock/utils.d.ts.map +1 -1
  419. package/internal/components/focus-lock/utils.js +1 -1
  420. package/internal/components/focus-lock/utils.js.map +1 -1
  421. package/internal/components/masked-input/index.d.ts +1 -2
  422. package/internal/components/masked-input/index.d.ts.map +1 -1
  423. package/internal/components/masked-input/index.js +0 -1
  424. package/internal/components/masked-input/index.js.map +1 -1
  425. package/internal/components/masked-input/utils/mask-format.d.ts +1 -1
  426. package/internal/components/masked-input/utils/mask-format.d.ts.map +1 -1
  427. package/internal/components/masked-input/utils/mask-format.js.map +1 -1
  428. package/internal/components/menu-dropdown/styles.css.js +7 -7
  429. package/internal/components/menu-dropdown/styles.scoped.css +13 -16
  430. package/internal/components/menu-dropdown/styles.selectors.js +7 -7
  431. package/internal/components/option/highlight-match.d.ts +2 -1
  432. package/internal/components/option/highlight-match.d.ts.map +1 -1
  433. package/internal/components/option/highlight-match.js.map +1 -1
  434. package/internal/components/option/interfaces.d.ts +3 -2
  435. package/internal/components/option/interfaces.d.ts.map +1 -1
  436. package/internal/components/option/interfaces.js.map +1 -1
  437. package/internal/components/option/styles.css.js +17 -17
  438. package/internal/components/option/styles.scoped.css +29 -32
  439. package/internal/components/option/styles.selectors.js +17 -17
  440. package/internal/components/options-list/styles.css.js +3 -3
  441. package/internal/components/options-list/styles.scoped.css +3 -6
  442. package/internal/components/options-list/styles.selectors.js +3 -3
  443. package/internal/components/options-list/utils/use-highlight-option.d.ts +2 -1
  444. package/internal/components/options-list/utils/use-highlight-option.d.ts.map +1 -1
  445. package/internal/components/options-list/utils/use-highlight-option.js +2 -2
  446. package/internal/components/options-list/utils/use-highlight-option.js.map +1 -1
  447. package/internal/components/screenreader-only/index.d.ts +2 -1
  448. package/internal/components/screenreader-only/index.d.ts.map +1 -1
  449. package/internal/components/screenreader-only/index.js.map +1 -1
  450. package/internal/components/tab-trap/index.d.ts +2 -1
  451. package/internal/components/tab-trap/index.d.ts.map +1 -1
  452. package/internal/components/tab-trap/index.js.map +1 -1
  453. package/internal/components/token-list/styles.css.js +10 -10
  454. package/internal/components/token-list/styles.scoped.css +22 -25
  455. package/internal/components/token-list/styles.selectors.js +10 -10
  456. package/internal/components/transition/index.d.ts +2 -1
  457. package/internal/components/transition/index.d.ts.map +1 -1
  458. package/internal/components/transition/index.js.map +1 -1
  459. package/internal/context/single-tab-stop-navigation-context.d.ts +2 -4
  460. package/internal/context/single-tab-stop-navigation-context.d.ts.map +1 -1
  461. package/internal/context/single-tab-stop-navigation-context.js.map +1 -1
  462. package/internal/context/table-component-context.d.ts +2 -2
  463. package/internal/context/table-component-context.d.ts.map +1 -1
  464. package/internal/context/table-component-context.js +1 -1
  465. package/internal/context/table-component-context.js.map +1 -1
  466. package/internal/environment.js +1 -1
  467. package/internal/environment.json +1 -1
  468. package/internal/events/index.d.ts +1 -0
  469. package/internal/events/index.d.ts.map +1 -1
  470. package/internal/events/index.js +1 -0
  471. package/internal/events/index.js.map +1 -1
  472. package/internal/hooks/forward-focus/radio-group.d.ts +2 -1
  473. package/internal/hooks/forward-focus/radio-group.d.ts.map +1 -1
  474. package/internal/hooks/forward-focus/radio-group.js.map +1 -1
  475. package/internal/hooks/use-dynamic-overlap/index.d.ts +2 -1
  476. package/internal/hooks/use-dynamic-overlap/index.d.ts.map +1 -1
  477. package/internal/hooks/use-dynamic-overlap/index.js.map +1 -1
  478. package/internal/keycode.d.ts +1 -5
  479. package/internal/keycode.d.ts.map +1 -1
  480. package/internal/keycode.js +0 -4
  481. package/internal/keycode.js.map +1 -1
  482. package/internal/manifest.json +1 -1
  483. package/internal/plugins/controllers/action-buttons.d.ts +1 -1
  484. package/internal/plugins/controllers/action-buttons.d.ts.map +1 -1
  485. package/internal/plugins/controllers/action-buttons.js.map +1 -1
  486. package/internal/plugins/controllers/alert-flash-content.d.ts +3 -3
  487. package/internal/plugins/controllers/alert-flash-content.d.ts.map +1 -1
  488. package/internal/plugins/controllers/alert-flash-content.js.map +1 -1
  489. package/internal/plugins/controllers/app-layout-widget.d.ts +1 -1
  490. package/internal/plugins/controllers/app-layout-widget.d.ts.map +1 -1
  491. package/internal/plugins/controllers/app-layout-widget.js.map +1 -1
  492. package/internal/plugins/controllers/drawers.d.ts +4 -4
  493. package/internal/plugins/controllers/drawers.d.ts.map +1 -1
  494. package/internal/plugins/controllers/drawers.js.map +1 -1
  495. package/internal/utils/handle-key.d.ts +2 -1
  496. package/internal/utils/handle-key.d.ts.map +1 -1
  497. package/internal/utils/handle-key.js.map +1 -1
  498. package/internal/utils/throttle.d.ts +2 -1
  499. package/internal/utils/throttle.d.ts.map +1 -1
  500. package/internal/utils/throttle.js.map +1 -1
  501. package/key-value-pairs/styles.css.js +8 -8
  502. package/key-value-pairs/styles.scoped.css +9 -15
  503. package/key-value-pairs/styles.selectors.js +8 -8
  504. package/link/styles.css.js +20 -20
  505. package/link/styles.scoped.css +71 -74
  506. package/link/styles.selectors.js +20 -20
  507. package/live-region/internal.d.ts +1 -1
  508. package/live-region/internal.d.ts.map +1 -1
  509. package/live-region/internal.js.map +1 -1
  510. package/mixed-line-bar-chart/bar-groups.d.ts +2 -1
  511. package/mixed-line-bar-chart/bar-groups.d.ts.map +1 -1
  512. package/mixed-line-bar-chart/bar-groups.js.map +1 -1
  513. package/mixed-line-bar-chart/bar-series.d.ts +2 -1
  514. package/mixed-line-bar-chart/bar-series.d.ts.map +1 -1
  515. package/mixed-line-bar-chart/bar-series.js.map +1 -1
  516. package/mixed-line-bar-chart/data-series.d.ts +2 -1
  517. package/mixed-line-bar-chart/data-series.d.ts.map +1 -1
  518. package/mixed-line-bar-chart/data-series.js.map +1 -1
  519. package/mixed-line-bar-chart/interfaces.d.ts +0 -2
  520. package/mixed-line-bar-chart/interfaces.d.ts.map +1 -1
  521. package/mixed-line-bar-chart/interfaces.js.map +1 -1
  522. package/mixed-line-bar-chart/line-series.d.ts +2 -1
  523. package/mixed-line-bar-chart/line-series.d.ts.map +1 -1
  524. package/mixed-line-bar-chart/line-series.js.map +1 -1
  525. package/modal/index.d.ts.map +1 -1
  526. package/modal/index.js +8 -2
  527. package/modal/index.js.map +1 -1
  528. package/modal/internal.js +1 -1
  529. package/modal/internal.js.map +1 -1
  530. package/modal/styles.css.js +23 -23
  531. package/modal/styles.scoped.css +38 -44
  532. package/modal/styles.selectors.js +23 -23
  533. package/multiselect/analytics-metadata/interfaces.d.ts +0 -4
  534. package/multiselect/analytics-metadata/interfaces.d.ts.map +1 -1
  535. package/multiselect/analytics-metadata/interfaces.js.map +1 -1
  536. package/multiselect/styles.css.js +3 -3
  537. package/multiselect/styles.scoped.css +3 -9
  538. package/multiselect/styles.selectors.js +3 -3
  539. package/package.json +1 -1
  540. package/pagination/styles.css.js +9 -9
  541. package/pagination/styles.scoped.css +23 -26
  542. package/pagination/styles.selectors.js +9 -9
  543. package/pie-chart/interfaces.d.ts +2 -1
  544. package/pie-chart/interfaces.d.ts.map +1 -1
  545. package/pie-chart/interfaces.js.map +1 -1
  546. package/pie-chart/labels.d.ts +1 -1
  547. package/pie-chart/labels.d.ts.map +1 -1
  548. package/pie-chart/labels.js.map +1 -1
  549. package/pie-chart/pie-chart.d.ts +2 -7
  550. package/pie-chart/pie-chart.d.ts.map +1 -1
  551. package/pie-chart/pie-chart.js.map +1 -1
  552. package/popover/arrow.d.ts +1 -1
  553. package/popover/arrow.d.ts.map +1 -1
  554. package/popover/arrow.js.map +1 -1
  555. package/popover/body.d.ts.map +1 -1
  556. package/popover/body.js +0 -1
  557. package/popover/body.js.map +1 -1
  558. package/popover/container.d.ts +2 -1
  559. package/popover/container.d.ts.map +1 -1
  560. package/popover/container.js.map +1 -1
  561. package/popover/internal.d.ts +1 -0
  562. package/popover/internal.d.ts.map +1 -1
  563. package/popover/internal.js +2 -2
  564. package/popover/internal.js.map +1 -1
  565. package/popover/styles.css.js +53 -52
  566. package/popover/styles.scoped.css +71 -77
  567. package/popover/styles.selectors.js +53 -52
  568. package/progress-bar/styles.css.js +19 -19
  569. package/progress-bar/styles.scoped.css +30 -33
  570. package/progress-bar/styles.selectors.js +19 -19
  571. package/prompt-input/internal.d.ts +1 -1
  572. package/prompt-input/internal.d.ts.map +1 -1
  573. package/prompt-input/internal.js.map +1 -1
  574. package/prompt-input/styles.css.js +14 -14
  575. package/prompt-input/styles.scoped.css +39 -51
  576. package/prompt-input/styles.selectors.js +14 -14
  577. package/property-filter/analytics-metadata/interfaces.d.ts +0 -15
  578. package/property-filter/analytics-metadata/interfaces.d.ts.map +1 -1
  579. package/property-filter/analytics-metadata/interfaces.js.map +1 -1
  580. package/property-filter/controller.d.ts +0 -1
  581. package/property-filter/controller.d.ts.map +1 -1
  582. package/property-filter/controller.js +1 -1
  583. package/property-filter/controller.js.map +1 -1
  584. package/property-filter/filtering-token/styles.css.js +18 -18
  585. package/property-filter/filtering-token/styles.scoped.css +41 -44
  586. package/property-filter/filtering-token/styles.selectors.js +18 -18
  587. package/property-filter/interfaces.d.ts +1 -6
  588. package/property-filter/interfaces.d.ts.map +1 -1
  589. package/property-filter/interfaces.js.map +1 -1
  590. package/property-filter/internal.d.ts +0 -2
  591. package/property-filter/internal.d.ts.map +1 -1
  592. package/property-filter/internal.js.map +1 -1
  593. package/property-filter/styles.css.js +39 -39
  594. package/property-filter/styles.scoped.css +41 -47
  595. package/property-filter/styles.selectors.js +39 -39
  596. package/property-filter/utils.d.ts +0 -1
  597. package/property-filter/utils.d.ts.map +1 -1
  598. package/property-filter/utils.js +1 -1
  599. package/property-filter/utils.js.map +1 -1
  600. package/radio-group/styles.css.js +10 -10
  601. package/radio-group/styles.scoped.css +16 -19
  602. package/radio-group/styles.selectors.js +10 -10
  603. package/s3-resource-selector/s3-modal/basic-table.d.ts +0 -6
  604. package/s3-resource-selector/s3-modal/basic-table.d.ts.map +1 -1
  605. package/s3-resource-selector/s3-modal/basic-table.js +1 -1
  606. package/s3-resource-selector/s3-modal/basic-table.js.map +1 -1
  607. package/segmented-control/segment.d.ts +2 -1
  608. package/segmented-control/segment.d.ts.map +1 -1
  609. package/segmented-control/segment.js.map +1 -1
  610. package/segmented-control/styles.css.js +15 -15
  611. package/segmented-control/styles.scoped.css +34 -37
  612. package/segmented-control/styles.selectors.js +15 -15
  613. package/select/analytics-metadata/interfaces.d.ts +0 -4
  614. package/select/analytics-metadata/interfaces.d.ts.map +1 -1
  615. package/select/analytics-metadata/interfaces.js.map +1 -1
  616. package/select/styles.css.js +1 -1
  617. package/select/styles.scoped.css +1 -4
  618. package/select/styles.selectors.js +1 -1
  619. package/select/utils/render-options.d.ts +2 -1
  620. package/select/utils/render-options.d.ts.map +1 -1
  621. package/select/utils/render-options.js.map +1 -1
  622. package/select/utils/use-native-search.d.ts +0 -1
  623. package/select/utils/use-native-search.d.ts.map +1 -1
  624. package/select/utils/use-native-search.js +1 -1
  625. package/select/utils/use-native-search.js.map +1 -1
  626. package/side-navigation/analytics-metadata/interfaces.d.ts +0 -2
  627. package/side-navigation/analytics-metadata/interfaces.d.ts.map +1 -1
  628. package/side-navigation/analytics-metadata/interfaces.js.map +1 -1
  629. package/side-navigation/implementation.d.ts +2 -1
  630. package/side-navigation/implementation.d.ts.map +1 -1
  631. package/side-navigation/implementation.js.map +1 -1
  632. package/side-navigation/parts.d.ts +2 -2
  633. package/side-navigation/parts.d.ts.map +1 -1
  634. package/side-navigation/parts.js.map +1 -1
  635. package/side-navigation/styles.css.js +30 -30
  636. package/side-navigation/styles.scoped.css +46 -49
  637. package/side-navigation/styles.selectors.js +30 -30
  638. package/slider/internal.d.ts +2 -1
  639. package/slider/internal.d.ts.map +1 -1
  640. package/slider/internal.js.map +1 -1
  641. package/slider/slider-labels.d.ts +2 -1
  642. package/slider/slider-labels.d.ts.map +1 -1
  643. package/slider/slider-labels.js.map +1 -1
  644. package/slider/styles.css.js +26 -26
  645. package/slider/styles.scoped.css +76 -79
  646. package/slider/styles.selectors.js +26 -26
  647. package/slider/tick-marks.d.ts +2 -4
  648. package/slider/tick-marks.d.ts.map +1 -1
  649. package/slider/tick-marks.js.map +1 -1
  650. package/split-panel/bottom.d.ts.map +1 -1
  651. package/split-panel/bottom.js +13 -3
  652. package/split-panel/bottom.js.map +1 -1
  653. package/split-panel/implementation.js +1 -1
  654. package/split-panel/implementation.js.map +1 -1
  655. package/split-panel/styles.css.js +26 -26
  656. package/split-panel/styles.scoped.css +43 -51
  657. package/split-panel/styles.selectors.js +26 -26
  658. package/steps/internal.d.ts +1 -1
  659. package/steps/internal.d.ts.map +1 -1
  660. package/steps/internal.js +1 -1
  661. package/steps/internal.js.map +1 -1
  662. package/steps/styles.css.js +6 -6
  663. package/steps/styles.scoped.css +7 -10
  664. package/steps/styles.selectors.js +6 -6
  665. package/table/expandable-rows/styles.css.js +3 -3
  666. package/table/expandable-rows/styles.scoped.css +13 -16
  667. package/table/expandable-rows/styles.selectors.js +3 -3
  668. package/table/interfaces.d.ts +3 -2
  669. package/table/interfaces.d.ts.map +1 -1
  670. package/table/interfaces.js.map +1 -1
  671. package/table/internal.js +2 -2
  672. package/table/internal.js.map +1 -1
  673. package/table/progressive-loading/loader-cell.d.ts +2 -1
  674. package/table/progressive-loading/loader-cell.d.ts.map +1 -1
  675. package/table/progressive-loading/loader-cell.js.map +1 -1
  676. package/table/resizer/styles.css.js +8 -8
  677. package/table/resizer/styles.scoped.css +15 -18
  678. package/table/resizer/styles.selectors.js +8 -8
  679. package/table/selection/utils.d.ts +0 -1
  680. package/table/selection/utils.d.ts.map +1 -1
  681. package/table/selection/utils.js +1 -1
  682. package/table/selection/utils.js.map +1 -1
  683. package/table/sticky-columns/use-sticky-columns.d.ts +1 -21
  684. package/table/sticky-columns/use-sticky-columns.d.ts.map +1 -1
  685. package/table/sticky-columns/use-sticky-columns.js +1 -1
  686. package/table/sticky-columns/use-sticky-columns.js.map +1 -1
  687. package/table/sticky-scrollbar/sticky-scrollbar.d.ts.map +1 -1
  688. package/table/sticky-scrollbar/sticky-scrollbar.js +6 -2
  689. package/table/sticky-scrollbar/sticky-scrollbar.js.map +1 -1
  690. package/table/sticky-scrollbar/styles.css.js +6 -6
  691. package/table/sticky-scrollbar/styles.scoped.css +10 -7
  692. package/table/sticky-scrollbar/styles.selectors.js +6 -6
  693. package/table/table-role/grid-navigation.js +10 -0
  694. package/table/table-role/grid-navigation.js.map +1 -1
  695. package/table/table-role/index.d.ts +1 -1
  696. package/table/table-role/index.d.ts.map +1 -1
  697. package/table/table-role/index.js.map +1 -1
  698. package/table/use-cell-editing.d.ts +1 -1
  699. package/table/use-cell-editing.d.ts.map +1 -1
  700. package/table/use-cell-editing.js.map +1 -1
  701. package/tabs/styles.css.js +28 -28
  702. package/tabs/styles.scoped.css +49 -52
  703. package/tabs/styles.selectors.js +28 -28
  704. package/tabs/tab-header-bar.d.ts +2 -1
  705. package/tabs/tab-header-bar.d.ts.map +1 -1
  706. package/tabs/tab-header-bar.js.map +1 -1
  707. package/tag-editor/internal.d.ts +2 -1
  708. package/tag-editor/internal.d.ts.map +1 -1
  709. package/tag-editor/internal.js.map +1 -1
  710. package/test-utils/dom/anchor-navigation/index.d.ts +2 -1
  711. package/test-utils/dom/anchor-navigation/index.js +0 -2
  712. package/test-utils/dom/anchor-navigation/index.js.map +1 -1
  713. package/test-utils/dom/autosuggest/index.d.ts +0 -3
  714. package/test-utils/dom/autosuggest/index.js +1 -2
  715. package/test-utils/dom/autosuggest/index.js.map +1 -1
  716. package/test-utils/dom/cards/index.d.ts +3 -2
  717. package/test-utils/dom/cards/index.js +0 -3
  718. package/test-utils/dom/cards/index.js.map +1 -1
  719. package/test-utils/dom/key-value-pairs/index.d.ts +3 -2
  720. package/test-utils/dom/key-value-pairs/index.js +0 -3
  721. package/test-utils/dom/key-value-pairs/index.js.map +1 -1
  722. package/test-utils/dom/steps/index.d.ts +2 -1
  723. package/test-utils/dom/steps/index.js +0 -2
  724. package/test-utils/dom/steps/index.js.map +1 -1
  725. package/test-utils/dom/tabs/index.d.ts +2 -1
  726. package/test-utils/dom/tabs/index.js +0 -2
  727. package/test-utils/dom/tabs/index.js.map +1 -1
  728. package/test-utils/dom/tag-editor/index.d.ts +2 -1
  729. package/test-utils/dom/tag-editor/index.js +0 -2
  730. package/test-utils/dom/tag-editor/index.js.map +1 -1
  731. package/test-utils/selectors/anchor-navigation/index.d.ts +2 -1
  732. package/test-utils/selectors/anchor-navigation/index.js +0 -2
  733. package/test-utils/selectors/anchor-navigation/index.js.map +1 -1
  734. package/test-utils/selectors/autosuggest/index.d.ts +0 -3
  735. package/test-utils/selectors/autosuggest/index.js +1 -2
  736. package/test-utils/selectors/autosuggest/index.js.map +1 -1
  737. package/test-utils/selectors/cards/index.d.ts +3 -2
  738. package/test-utils/selectors/cards/index.js +0 -3
  739. package/test-utils/selectors/cards/index.js.map +1 -1
  740. package/test-utils/selectors/key-value-pairs/index.d.ts +3 -2
  741. package/test-utils/selectors/key-value-pairs/index.js +0 -3
  742. package/test-utils/selectors/key-value-pairs/index.js.map +1 -1
  743. package/test-utils/selectors/steps/index.d.ts +2 -1
  744. package/test-utils/selectors/steps/index.js +0 -2
  745. package/test-utils/selectors/steps/index.js.map +1 -1
  746. package/test-utils/selectors/tabs/index.d.ts +2 -1
  747. package/test-utils/selectors/tabs/index.js +0 -2
  748. package/test-utils/selectors/tabs/index.js.map +1 -1
  749. package/test-utils/selectors/tag-editor/index.d.ts +2 -1
  750. package/test-utils/selectors/tag-editor/index.js +0 -2
  751. package/test-utils/selectors/tag-editor/index.js.map +1 -1
  752. package/test-utils/tsconfig.tsbuildinfo +1 -1
  753. package/text-content/styles.css.js +1 -1
  754. package/text-content/styles.scoped.css +60 -63
  755. package/text-content/styles.selectors.js +1 -1
  756. package/text-filter/analytics-metadata/interfaces.d.ts +0 -2
  757. package/text-filter/analytics-metadata/interfaces.d.ts.map +1 -1
  758. package/text-filter/analytics-metadata/interfaces.js.map +1 -1
  759. package/text-filter/styles.css.js +3 -3
  760. package/text-filter/styles.scoped.css +3 -6
  761. package/text-filter/styles.selectors.js +3 -3
  762. package/textarea/styles.css.js +5 -5
  763. package/textarea/styles.scoped.css +14 -17
  764. package/textarea/styles.selectors.js +5 -5
  765. package/tiles/styles.css.js +30 -30
  766. package/tiles/styles.scoped.css +71 -77
  767. package/tiles/styles.selectors.js +30 -30
  768. package/toggle/styles.css.js +10 -10
  769. package/toggle/styles.scoped.css +17 -20
  770. package/toggle/styles.selectors.js +10 -10
  771. package/toggle-button/internal.d.ts +0 -1
  772. package/toggle-button/internal.d.ts.map +1 -1
  773. package/toggle-button/internal.js +0 -1
  774. package/toggle-button/internal.js.map +1 -1
  775. package/token-group/analytics-metadata/interfaces.d.ts +0 -2
  776. package/token-group/analytics-metadata/interfaces.d.ts.map +1 -1
  777. package/token-group/analytics-metadata/interfaces.js.map +1 -1
  778. package/token-group/styles.css.js +8 -8
  779. package/token-group/styles.scoped.css +16 -19
  780. package/token-group/styles.selectors.js +8 -8
  781. package/top-navigation/1.0-beta/internal.d.ts +2 -1
  782. package/top-navigation/1.0-beta/internal.d.ts.map +1 -1
  783. package/top-navigation/1.0-beta/internal.js.map +1 -1
  784. package/top-navigation/1.0-beta/parts/overflow-menu.d.ts +2 -1
  785. package/top-navigation/1.0-beta/parts/overflow-menu.d.ts.map +1 -1
  786. package/top-navigation/1.0-beta/parts/overflow-menu.js.map +1 -1
  787. package/top-navigation/1.0-beta/styles.css.js +25 -25
  788. package/top-navigation/1.0-beta/styles.scoped.css +42 -45
  789. package/top-navigation/1.0-beta/styles.selectors.js +25 -25
  790. package/top-navigation/1.0-beta/use-top-navigation.d.ts +4 -24
  791. package/top-navigation/1.0-beta/use-top-navigation.d.ts.map +1 -1
  792. package/top-navigation/1.0-beta/use-top-navigation.js +2 -2
  793. package/top-navigation/1.0-beta/use-top-navigation.js.map +1 -1
  794. package/top-navigation/internal.d.ts +2 -1
  795. package/top-navigation/internal.d.ts.map +1 -1
  796. package/top-navigation/internal.js.map +1 -1
  797. package/top-navigation/parts/overflow-menu/router.d.ts +1 -10
  798. package/top-navigation/parts/overflow-menu/router.d.ts.map +1 -1
  799. package/top-navigation/parts/overflow-menu/router.js +1 -1
  800. package/top-navigation/parts/overflow-menu/router.js.map +1 -1
  801. package/top-navigation/styles.css.js +47 -47
  802. package/top-navigation/styles.scoped.css +66 -75
  803. package/top-navigation/styles.selectors.js +47 -47
  804. package/top-navigation/use-top-navigation.d.ts +4 -3
  805. package/top-navigation/use-top-navigation.d.ts.map +1 -1
  806. package/top-navigation/use-top-navigation.js.map +1 -1
  807. package/tutorial-panel/components/tutorial-detail-view/styles.css.js +20 -20
  808. package/tutorial-panel/components/tutorial-detail-view/styles.scoped.css +21 -24
  809. package/tutorial-panel/components/tutorial-detail-view/styles.selectors.js +20 -20
  810. package/tutorial-panel/components/tutorial-detail-view/task-list.d.ts +2 -1
  811. package/tutorial-panel/components/tutorial-detail-view/task-list.d.ts.map +1 -1
  812. package/tutorial-panel/components/tutorial-detail-view/task-list.js.map +1 -1
  813. package/tutorial-panel/components/tutorial-list/index.d.ts +2 -1
  814. package/tutorial-panel/components/tutorial-list/index.d.ts.map +1 -1
  815. package/tutorial-panel/components/tutorial-list/index.js.map +1 -1
  816. package/tutorial-panel/components/tutorial-list/styles.css.js +18 -18
  817. package/tutorial-panel/components/tutorial-list/styles.scoped.css +27 -36
  818. package/tutorial-panel/components/tutorial-list/styles.selectors.js +18 -18
  819. package/tutorial-panel/styles.css.js +1 -1
  820. package/tutorial-panel/styles.scoped.css +1 -4
  821. package/tutorial-panel/styles.selectors.js +1 -1
  822. package/wizard/analytics-metadata/interfaces.d.ts +0 -21
  823. package/wizard/analytics-metadata/interfaces.d.ts.map +1 -1
  824. package/wizard/analytics-metadata/interfaces.js.map +1 -1
  825. package/wizard/styles.css.js +30 -30
  826. package/wizard/styles.scoped.css +58 -61
  827. package/wizard/styles.selectors.js +30 -30
  828. package/wizard/wizard-form.d.ts +1 -4
  829. package/wizard/wizard-form.d.ts.map +1 -1
  830. package/wizard/wizard-form.js +1 -1
  831. package/wizard/wizard-form.js.map +1 -1
  832. package/app-layout/split-panel/split-panel-utils.d.ts +0 -12
  833. package/app-layout/split-panel/split-panel-utils.d.ts.map +0 -1
  834. package/app-layout/split-panel/split-panel-utils.js +0 -28
  835. package/app-layout/split-panel/split-panel-utils.js.map +0 -1
  836. package/collection-preferences/content-display/draggable-option.d.ts +0 -9
  837. package/collection-preferences/content-display/draggable-option.d.ts.map +0 -1
  838. package/collection-preferences/content-display/draggable-option.js +0 -27
  839. package/collection-preferences/content-display/draggable-option.js.map +0 -1
  840. package/collection-preferences/content-display/keyboard-sensor/defaults.d.ts.map +0 -1
  841. package/collection-preferences/content-display/keyboard-sensor/defaults.js.map +0 -1
  842. package/collection-preferences/content-display/keyboard-sensor/index.d.ts.map +0 -1
  843. package/collection-preferences/content-display/keyboard-sensor/index.js.map +0 -1
  844. package/collection-preferences/content-display/keyboard-sensor/utilities/events.d.ts +0 -11
  845. package/collection-preferences/content-display/keyboard-sensor/utilities/events.d.ts.map +0 -1
  846. package/collection-preferences/content-display/keyboard-sensor/utilities/events.js.map +0 -1
  847. package/collection-preferences/content-display/keyboard-sensor/utilities/listeners.d.ts.map +0 -1
  848. package/collection-preferences/content-display/keyboard-sensor/utilities/listeners.js.map +0 -1
  849. package/collection-preferences/content-display/keyboard-sensor/utilities/scroll.d.ts +0 -30
  850. package/collection-preferences/content-display/keyboard-sensor/utilities/scroll.d.ts.map +0 -1
  851. package/collection-preferences/content-display/keyboard-sensor/utilities/scroll.js.map +0 -1
  852. package/collection-preferences/content-display/use-drag-and-drop-reorder.d.ts.map +0 -1
  853. package/collection-preferences/content-display/use-drag-and-drop-reorder.js.map +0 -1
  854. package/collection-preferences/content-display/use-live-announcements.d.ts +0 -12
  855. package/collection-preferences/content-display/use-live-announcements.d.ts.map +0 -1
  856. package/collection-preferences/content-display/use-live-announcements.js.map +0 -1
  857. package/internal/hooks/use-mutation-observer/index.d.ts +0 -8
  858. package/internal/hooks/use-mutation-observer/index.d.ts.map +0 -1
  859. package/internal/hooks/use-mutation-observer/index.js +0 -26
  860. package/internal/hooks/use-mutation-observer/index.js.map +0 -1
  861. /package/{collection-preferences/content-display → internal/components/dnd-container}/keyboard-sensor/defaults.d.ts +0 -0
  862. /package/{collection-preferences/content-display → internal/components/dnd-container}/keyboard-sensor/defaults.js +0 -0
  863. /package/{collection-preferences/content-display → internal/components/dnd-container}/keyboard-sensor/index.d.ts +0 -0
  864. /package/{collection-preferences/content-display → internal/components/dnd-container}/keyboard-sensor/utilities/listeners.d.ts +0 -0
  865. /package/{collection-preferences/content-display → internal/components/dnd-container}/keyboard-sensor/utilities/listeners.js +0 -0
@@ -138,11 +138,11 @@
138
138
  */
139
139
  /* Style used for links in slots/components that are text heavy, to help links stand out among
140
140
  surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F73#description */
141
- .awsui_root_2rhyz_137vc_141:not(#\9) {
141
+ .awsui_root_2rhyz_lclin_141:not(#\9) {
142
142
  /* used in test-utils for component to distinguish input from other input-like components, for example autosuggest */
143
143
  }
144
144
 
145
- .awsui_input_2rhyz_137vc_145:not(#\9) {
145
+ .awsui_input_2rhyz_lclin_145:not(#\9) {
146
146
  border-collapse: separate;
147
147
  border-spacing: 0;
148
148
  box-sizing: border-box;
@@ -151,12 +151,9 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
151
151
  direction: inherit;
152
152
  empty-cells: show;
153
153
  font-family: serif;
154
- font-size: medium;
155
154
  font-style: normal;
156
155
  font-variant: normal;
157
- font-weight: 400;
158
156
  font-stretch: normal;
159
- line-height: normal;
160
157
  -webkit-hyphens: none;
161
158
  hyphens: none;
162
159
  letter-spacing: normal;
@@ -193,36 +190,36 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
193
190
  line-height: var(--line-height-body-m-30ar75, 20px);
194
191
  block-size: var(--size-vertical-input-v5iwwf, 32px);
195
192
  }
196
- .awsui_input_2rhyz_137vc_145.awsui_input-readonly_2rhyz_137vc_195:not(#\9) {
193
+ .awsui_input_2rhyz_lclin_145.awsui_input-readonly_2rhyz_lclin_192:not(#\9) {
197
194
  background-color: var(--color-background-input-default-u56ls1, #ffffff);
198
195
  border-block: var(--border-width-field-h1g7tw, 2px) solid var(--color-border-input-disabled-lb7zn3, #ebebf0);
199
196
  border-inline: var(--border-width-field-h1g7tw, 2px) solid var(--color-border-input-disabled-lb7zn3, #ebebf0);
200
197
  }
201
- .awsui_input_2rhyz_137vc_145:not(#\9)::-webkit-input-placeholder {
198
+ .awsui_input_2rhyz_lclin_145:not(#\9)::-webkit-input-placeholder {
202
199
  color: var(--color-text-input-placeholder-f3x213, #656871);
203
200
  font-style: italic;
204
201
  -webkit-user-select: none;
205
202
  user-select: none;
206
203
  }
207
- .awsui_input_2rhyz_137vc_145:not(#\9)::-ms-input-placeholder {
204
+ .awsui_input_2rhyz_lclin_145:not(#\9)::-ms-input-placeholder {
208
205
  color: var(--color-text-input-placeholder-f3x213, #656871);
209
206
  font-style: italic;
210
207
  }
211
- .awsui_input_2rhyz_137vc_145:not(#\9)::-moz-placeholder {
208
+ .awsui_input_2rhyz_lclin_145:not(#\9)::-moz-placeholder {
212
209
  color: var(--color-text-input-placeholder-f3x213, #656871);
213
210
  font-style: italic;
214
211
  opacity: 1;
215
212
  }
216
- .awsui_input_2rhyz_137vc_145:not(#\9):-ms-input-placeholder {
213
+ .awsui_input_2rhyz_lclin_145:not(#\9):-ms-input-placeholder {
217
214
  color: var(--color-text-input-placeholder-f3x213, #656871);
218
215
  font-style: italic;
219
216
  }
220
- .awsui_input_2rhyz_137vc_145:not(#\9):-moz-placeholder {
217
+ .awsui_input_2rhyz_lclin_145:not(#\9):-moz-placeholder {
221
218
  color: var(--color-text-input-placeholder-f3x213, #656871);
222
219
  font-style: italic;
223
220
  opacity: 1;
224
221
  }
225
- .awsui_input_2rhyz_137vc_145:not(#\9):focus {
222
+ .awsui_input_2rhyz_lclin_145:not(#\9):focus {
226
223
  outline: 2px dotted transparent;
227
224
  border-block: var(--border-width-field-h1g7tw, 2px) solid var(--color-border-input-focused-c6w5i5, #002b66);
228
225
  border-inline: var(--border-width-field-h1g7tw, 2px) solid var(--color-border-input-focused-c6w5i5, #002b66);
@@ -232,7 +229,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
232
229
  border-end-end-radius: var(--border-radius-input-plgbrq, 8px);
233
230
  box-shadow: 0 0 0 var(--border-control-focus-ring-shadow-spread-0ctpjf, 0px) var(--color-border-item-focused-nv6mhz, #006ce0);
234
231
  }
235
- .awsui_input_2rhyz_137vc_145:not(#\9):disabled {
232
+ .awsui_input_2rhyz_lclin_145:not(#\9):disabled {
236
233
  background-color: var(--color-background-input-disabled-gvxsk4, #ebebf0);
237
234
  border-block: var(--border-width-field-h1g7tw, 2px) solid var(--color-border-input-disabled-lb7zn3, #ebebf0);
238
235
  border-inline: var(--border-width-field-h1g7tw, 2px) solid var(--color-border-input-disabled-lb7zn3, #ebebf0);
@@ -240,93 +237,93 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
240
237
  cursor: auto;
241
238
  cursor: default;
242
239
  }
243
- .awsui_input_2rhyz_137vc_145:not(#\9):disabled::-webkit-input-placeholder {
240
+ .awsui_input_2rhyz_lclin_145:not(#\9):disabled::-webkit-input-placeholder {
244
241
  color: var(--color-text-input-placeholder-disabled-7v2f7f, #b4b4bb);
245
242
  -webkit-user-select: none;
246
243
  user-select: none;
247
244
  }
248
- .awsui_input_2rhyz_137vc_145:not(#\9):disabled::-ms-input-placeholder {
245
+ .awsui_input_2rhyz_lclin_145:not(#\9):disabled::-ms-input-placeholder {
249
246
  color: var(--color-text-input-placeholder-disabled-7v2f7f, #b4b4bb);
250
247
  }
251
- .awsui_input_2rhyz_137vc_145:not(#\9):disabled::-moz-placeholder {
248
+ .awsui_input_2rhyz_lclin_145:not(#\9):disabled::-moz-placeholder {
252
249
  color: var(--color-text-input-placeholder-disabled-7v2f7f, #b4b4bb);
253
250
  opacity: 1;
254
251
  }
255
- .awsui_input_2rhyz_137vc_145:not(#\9):disabled:-ms-input-placeholder {
252
+ .awsui_input_2rhyz_lclin_145:not(#\9):disabled:-ms-input-placeholder {
256
253
  color: var(--color-text-input-placeholder-disabled-7v2f7f, #b4b4bb);
257
254
  }
258
- .awsui_input_2rhyz_137vc_145:not(#\9):disabled:-moz-placeholder {
255
+ .awsui_input_2rhyz_lclin_145:not(#\9):disabled:-moz-placeholder {
259
256
  color: var(--color-text-input-placeholder-disabled-7v2f7f, #b4b4bb);
260
257
  opacity: 1;
261
258
  }
262
- .awsui_input_2rhyz_137vc_145:not(#\9):invalid {
259
+ .awsui_input_2rhyz_lclin_145:not(#\9):invalid {
263
260
  box-shadow: none;
264
261
  }
265
- .awsui_input_2rhyz_137vc_145.awsui_input-invalid_2rhyz_137vc_262:not(#\9) {
262
+ .awsui_input_2rhyz_lclin_145.awsui_input-invalid_2rhyz_lclin_259:not(#\9) {
266
263
  color: var(--color-text-status-error-5676bj, #db0000);
267
264
  border-color: var(--color-text-status-error-5676bj, #db0000);
268
265
  padding-inline-start: calc(var(--space-field-horizontal-gg19kw, 12px) - (var(--border-invalid-width-5ktjp2, 8px) - var(--border-width-field-h1g7tw, 2px)));
269
266
  border-inline-start-width: var(--border-invalid-width-5ktjp2, 8px);
270
267
  }
271
- .awsui_input_2rhyz_137vc_145.awsui_input-invalid_2rhyz_137vc_262:not(#\9):focus {
268
+ .awsui_input_2rhyz_lclin_145.awsui_input-invalid_2rhyz_lclin_259:not(#\9):focus {
272
269
  box-shadow: 0 0 0 var(--border-control-invalid-focus-ring-shadow-spread-fhmbjn, 2px) var(--color-border-item-focused-nv6mhz, #006ce0);
273
270
  }
274
- .awsui_input_2rhyz_137vc_145.awsui_input-invalid_2rhyz_137vc_262.awsui_input-has-icon-left_2rhyz_137vc_271:not(#\9) {
271
+ .awsui_input_2rhyz_lclin_145.awsui_input-invalid_2rhyz_lclin_259.awsui_input-has-icon-left_2rhyz_lclin_268:not(#\9) {
275
272
  padding-inline-start: calc(var(--space-field-icon-offset-csk9vw, 36px) - (var(--border-invalid-width-5ktjp2, 8px) - var(--border-width-field-h1g7tw, 2px)));
276
273
  }
277
- .awsui_input_2rhyz_137vc_145.awsui_input-warning_2rhyz_137vc_274:not(#\9) {
274
+ .awsui_input_2rhyz_lclin_145.awsui_input-warning_2rhyz_lclin_271:not(#\9) {
278
275
  color: var(--color-text-status-warning-csaw41, #855900);
279
276
  border-color: var(--color-text-status-warning-csaw41, #855900);
280
277
  padding-inline-start: calc(var(--space-field-horizontal-gg19kw, 12px) - (var(--border-invalid-width-5ktjp2, 8px) - var(--border-width-field-h1g7tw, 2px)));
281
278
  border-inline-start-width: var(--border-invalid-width-5ktjp2, 8px);
282
279
  }
283
- .awsui_input_2rhyz_137vc_145.awsui_input-warning_2rhyz_137vc_274:not(#\9):focus {
280
+ .awsui_input_2rhyz_lclin_145.awsui_input-warning_2rhyz_lclin_271:not(#\9):focus {
284
281
  box-shadow: 0 0 0 var(--border-control-invalid-focus-ring-shadow-spread-fhmbjn, 2px) var(--color-border-item-focused-nv6mhz, #006ce0);
285
282
  }
286
- .awsui_input_2rhyz_137vc_145.awsui_input-warning_2rhyz_137vc_274.awsui_input-has-icon-left_2rhyz_137vc_271:not(#\9) {
283
+ .awsui_input_2rhyz_lclin_145.awsui_input-warning_2rhyz_lclin_271.awsui_input-has-icon-left_2rhyz_lclin_268:not(#\9) {
287
284
  padding-inline-start: calc(var(--space-field-icon-offset-csk9vw, 36px) - (var(--border-invalid-width-5ktjp2, 8px) - var(--border-width-field-h1g7tw, 2px)));
288
285
  }
289
- .awsui_input_2rhyz_137vc_145.awsui_input-type-search_2rhyz_137vc_286:not(#\9) {
286
+ .awsui_input_2rhyz_lclin_145.awsui_input-type-search_2rhyz_lclin_283:not(#\9) {
290
287
  box-sizing: border-box;
291
288
  -webkit-appearance: none;
292
289
  }
293
- .awsui_input_2rhyz_137vc_145.awsui_input-type-search_2rhyz_137vc_286:not(#\9)::-webkit-search-decoration {
290
+ .awsui_input_2rhyz_lclin_145.awsui_input-type-search_2rhyz_lclin_283:not(#\9)::-webkit-search-decoration {
294
291
  -webkit-appearance: none;
295
292
  }
296
- .awsui_input_2rhyz_137vc_145.awsui_input-type-search_2rhyz_137vc_286:not(#\9)::-webkit-search-cancel-button {
293
+ .awsui_input_2rhyz_lclin_145.awsui_input-type-search_2rhyz_lclin_283:not(#\9)::-webkit-search-cancel-button {
297
294
  display: none;
298
295
  }
299
- .awsui_input_2rhyz_137vc_145.awsui_input-has-icon-left_2rhyz_137vc_271:not(#\9) {
296
+ .awsui_input_2rhyz_lclin_145.awsui_input-has-icon-left_2rhyz_lclin_268:not(#\9) {
300
297
  padding-inline-start: var(--space-field-icon-offset-csk9vw, 36px);
301
298
  }
302
- .awsui_input_2rhyz_137vc_145.awsui_input-has-icon-right_2rhyz_137vc_299:not(#\9) {
299
+ .awsui_input_2rhyz_lclin_145.awsui_input-has-icon-right_2rhyz_lclin_296:not(#\9) {
303
300
  padding-inline-end: var(--space-field-icon-offset-csk9vw, 36px);
304
301
  }
305
- .awsui_input_2rhyz_137vc_145.awsui_input-has-no-border-radius_2rhyz_137vc_302:not(#\9) {
302
+ .awsui_input_2rhyz_lclin_145.awsui_input-has-no-border-radius_2rhyz_lclin_299:not(#\9) {
306
303
  border-start-start-radius: var(--border-radius-dropdown-0dhh79, 8px);
307
304
  border-start-end-radius: var(--border-radius-dropdown-0dhh79, 8px);
308
305
  border-end-start-radius: var(--border-radius-dropdown-0dhh79, 8px);
309
306
  border-end-end-radius: var(--border-radius-dropdown-0dhh79, 8px);
310
307
  }
311
308
 
312
- .awsui_input-container_2rhyz_137vc_309:not(#\9) {
309
+ .awsui_input-container_2rhyz_lclin_306:not(#\9) {
313
310
  display: flex;
314
311
  position: relative;
315
312
  }
316
313
 
317
- .awsui_input-icon-left_2rhyz_137vc_314:not(#\9) {
314
+ .awsui_input-icon-left_2rhyz_lclin_311:not(#\9) {
318
315
  position: absolute;
319
316
  pointer-events: none;
320
317
  inset-inline-start: var(--space-field-horizontal-gg19kw, 12px);
321
318
  inset-block-start: calc(50% - var(--line-height-body-m-30ar75, 20px) / 2);
322
319
  }
323
320
 
324
- .awsui_input-icon-right_2rhyz_137vc_321:not(#\9) {
321
+ .awsui_input-icon-right_2rhyz_lclin_318:not(#\9) {
325
322
  position: absolute;
326
323
  inset-block-start: calc(50% - var(--line-height-body-m-30ar75, 20px) / 2);
327
324
  inset-inline-end: calc(var(--space-field-horizontal-gg19kw, 12px) - var(--space-xxs-p8yyaw, 4px));
328
325
  }
329
326
 
330
- .awsui_input-button-right_2rhyz_137vc_327:not(#\9) {
327
+ .awsui_input-button-right_2rhyz_lclin_324:not(#\9) {
331
328
  /* used in test-utils */
332
329
  }
@@ -2,18 +2,18 @@
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_2rhyz_137vc_141",
6
- "input": "awsui_input_2rhyz_137vc_145",
7
- "input-readonly": "awsui_input-readonly_2rhyz_137vc_195",
8
- "input-invalid": "awsui_input-invalid_2rhyz_137vc_262",
9
- "input-has-icon-left": "awsui_input-has-icon-left_2rhyz_137vc_271",
10
- "input-warning": "awsui_input-warning_2rhyz_137vc_274",
11
- "input-type-search": "awsui_input-type-search_2rhyz_137vc_286",
12
- "input-has-icon-right": "awsui_input-has-icon-right_2rhyz_137vc_299",
13
- "input-has-no-border-radius": "awsui_input-has-no-border-radius_2rhyz_137vc_302",
14
- "input-container": "awsui_input-container_2rhyz_137vc_309",
15
- "input-icon-left": "awsui_input-icon-left_2rhyz_137vc_314",
16
- "input-icon-right": "awsui_input-icon-right_2rhyz_137vc_321",
17
- "input-button-right": "awsui_input-button-right_2rhyz_137vc_327"
5
+ "root": "awsui_root_2rhyz_lclin_141",
6
+ "input": "awsui_input_2rhyz_lclin_145",
7
+ "input-readonly": "awsui_input-readonly_2rhyz_lclin_192",
8
+ "input-invalid": "awsui_input-invalid_2rhyz_lclin_259",
9
+ "input-has-icon-left": "awsui_input-has-icon-left_2rhyz_lclin_268",
10
+ "input-warning": "awsui_input-warning_2rhyz_lclin_271",
11
+ "input-type-search": "awsui_input-type-search_2rhyz_lclin_283",
12
+ "input-has-icon-right": "awsui_input-has-icon-right_2rhyz_lclin_296",
13
+ "input-has-no-border-radius": "awsui_input-has-no-border-radius_2rhyz_lclin_299",
14
+ "input-container": "awsui_input-container_2rhyz_lclin_306",
15
+ "input-icon-left": "awsui_input-icon-left_2rhyz_lclin_311",
16
+ "input-icon-right": "awsui_input-icon-right_2rhyz_lclin_318",
17
+ "input-button-right": "awsui_input-button-right_2rhyz_lclin_324"
18
18
  };
19
19
 
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
2
  import { FunnelStepContextValue, FunnelSubStepContextValue } from '../context/analytics-context';
3
3
  import { AnalyticsMetadata, FunnelStartProps, FunnelStepProps, StepConfiguration } from '../interfaces';
4
- export declare const FUNNEL_VERSION = "1.4";
5
4
  interface AnalyticsFunnelProps {
6
5
  mounted?: boolean;
7
6
  children?: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"analytics-funnel.d.ts","sourceRoot":"","sources":["../../../../../src/internal/analytics/components/analytics-funnel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAOvE,OAAO,EAKL,sBAAsB,EAEtB,yBAAyB,EAC1B,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EAGlB,MAAM,eAAe,CAAC;AAWvB,eAAO,MAAM,cAAc,QAAQ,CAAC;AAEpC,UAAU,oBAAoB;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACxC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,UAAU,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAC3C,mBAAmB,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;IAC7D,gBAAgB,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;IACvD,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;IAC3D,cAAc,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC/C,kBAAkB,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACvD,kBAAkB,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;CACxD;AAED,eAAO,MAAM,eAAe,UAAW,oBAAoB,gBAa1D,CAAC;AAEF,eAAO,MAAM,kCAAkC,kCAAkC,CAAC;AAuNlF,UAAU,wBAAwB;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;IACzD,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACrD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,sBAAsB,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IAClF,gBAAgB,CAAC,EAAE,eAAe,CAAC,kBAAkB,CAAC,CAAC;IACvD,UAAU,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;CAC3C;AAED,eAAO,MAAM,mBAAmB,UAAW,wBAAwB,gBAMlE,CAAC;AAoOF,UAAU,2BAA2B;IACnC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;IAC5D,mBAAmB,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACxD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,yBAAyB,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;CACtF;AAED,eAAO,MAAM,sBAAsB,0DAIhC,2BAA2B,gBAmG7B,CAAC"}
1
+ {"version":3,"file":"analytics-funnel.d.ts","sourceRoot":"","sources":["../../../../../src/internal/analytics/components/analytics-funnel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAOvE,OAAO,EAKL,sBAAsB,EAEtB,yBAAyB,EAC1B,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EAGlB,MAAM,eAAe,CAAC;AAavB,UAAU,oBAAoB;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACxC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,UAAU,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAC3C,mBAAmB,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;IAC7D,gBAAgB,EAAE,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;IACvD,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;IAC3D,cAAc,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC/C,kBAAkB,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACvD,kBAAkB,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;CACxD;AAED,eAAO,MAAM,eAAe,UAAW,oBAAoB,gBAa1D,CAAC;AAEF,eAAO,MAAM,kCAAkC,kCAAkC,CAAC;AAuNlF,UAAU,wBAAwB;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;IACzD,gBAAgB,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACrD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,sBAAsB,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;IAClF,gBAAgB,CAAC,EAAE,eAAe,CAAC,kBAAkB,CAAC,CAAC;IACvD,UAAU,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;CAC3C;AAED,eAAO,MAAM,mBAAmB,UAAW,wBAAwB,gBAMlE,CAAC;AAoOF,UAAU,2BAA2B;IACnC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;IAC5D,mBAAmB,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACxD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,yBAAyB,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;CACtF;AAED,eAAO,MAAM,sBAAsB,0DAIhC,2BAA2B,gBAmG7B,CAAC"}
@@ -11,7 +11,7 @@ import { FunnelContext, FunnelStepContext, FunnelSubStepContext, } from '../cont
11
11
  import { useFunnel, useFunnelStep } from '../hooks/use-funnel';
12
12
  import { FunnelMetrics, PerformanceMetrics } from '../index';
13
13
  import { DATA_ATTR_FUNNEL_STEP, DATA_ATTR_RESOURCE_TYPE, getFunnelNameSelector, getSubStepAllSelector, getSubStepNameSelector, getSubStepSelector, getTextFromSelector, } from '../selectors';
14
- export const FUNNEL_VERSION = '1.4';
14
+ const FUNNEL_VERSION = '1.4';
15
15
  export const AnalyticsFunnel = (props) => {
16
16
  const { isInFunnel } = useFunnel();
17
17
  /*
@@ -1 +1 @@
1
- {"version":3,"file":"analytics-funnel.js","sourceRoot":"","sources":["../../../../../src/internal/analytics/components/analytics-funnel.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, { useContext, useEffect, useRef, useState } from 'react';\n\nimport { PACKAGE_VERSION } from '../../environment';\nimport { useDebounceCallback } from '../../hooks/use-debounce-callback';\nimport { useUniqueId } from '../../hooks/use-unique-id';\nimport { useVisualRefresh } from '../../hooks/use-visual-mode';\nimport { nodeBelongs } from '../../utils/node-belongs';\nimport {\n FunnelContext,\n FunnelContextValue,\n FunnelState,\n FunnelStepContext,\n FunnelStepContextValue,\n FunnelSubStepContext,\n FunnelSubStepContextValue,\n} from '../context/analytics-context';\nimport { useFunnel, useFunnelStep } from '../hooks/use-funnel';\nimport { FunnelMetrics, PerformanceMetrics } from '../index';\nimport {\n AnalyticsMetadata,\n FunnelStartProps,\n FunnelStepProps,\n StepConfiguration,\n SubStepConfiguration,\n TaskCompletionDataProps,\n} from '../interfaces';\nimport {\n DATA_ATTR_FUNNEL_STEP,\n DATA_ATTR_RESOURCE_TYPE,\n getFunnelNameSelector,\n getSubStepAllSelector,\n getSubStepNameSelector,\n getSubStepSelector,\n getTextFromSelector,\n} from '../selectors';\n\nexport const FUNNEL_VERSION = '1.4';\n\ninterface AnalyticsFunnelProps {\n mounted?: boolean;\n children?: React.ReactNode;\n stepConfiguration?: StepConfiguration[];\n funnelNameSelectors?: string[];\n funnelType: FunnelStartProps['funnelType'];\n optionalStepNumbers: FunnelStartProps['optionalStepNumbers'];\n totalFunnelSteps: FunnelStartProps['totalFunnelSteps'];\n funnelIdentifier?: AnalyticsMetadata['instanceIdentifier'];\n funnelFlowType?: AnalyticsMetadata['flowType'];\n funnelErrorContext?: AnalyticsMetadata['errorContext'];\n funnelResourceType?: AnalyticsMetadata['resourceType'];\n}\n\nexport const AnalyticsFunnel = (props: AnalyticsFunnelProps) => {\n const { isInFunnel } = useFunnel();\n /*\n If the current funnel component is a Form (i.e. single-page funnel), it should\n defer its funnel-handling to a parent Form element, if present.\n Wizards (i.e. multi-page funnels) always take highest precedence for handling funnels,\n and do not defer to any other element.\n */\n if (isInFunnel && props.funnelType === 'single-page') {\n return <>{props.children}</>;\n }\n\n return <InnerAnalyticsFunnel {...props} />;\n};\n\nexport const CREATION_EDIT_FLOW_DONE_EVENT_NAME = 'awsui-creation-edit-flow-done';\nconst dispatchCreateEditFlowDoneEvent = () => {\n try {\n window.top?.document.dispatchEvent(new Event(CREATION_EDIT_FLOW_DONE_EVENT_NAME));\n } catch {\n // probably because of cross-origin error, then do not dispatch the event\n }\n};\n\nconst onFunnelCancelled = ({\n funnelInteractionId,\n funnelIdentifier,\n}: {\n funnelInteractionId: string;\n funnelIdentifier?: string;\n}) => {\n FunnelMetrics.funnelCancelled({ funnelInteractionId, funnelIdentifier });\n};\n\nconst onFunnelComplete = (taskCompletionDataProps: TaskCompletionDataProps) => {\n FunnelMetrics.funnelComplete({\n funnelInteractionId: taskCompletionDataProps.taskInteractionId,\n funnelIdentifier: taskCompletionDataProps.taskIdentifier,\n });\n PerformanceMetrics.taskCompletionData(taskCompletionDataProps);\n dispatchCreateEditFlowDoneEvent();\n};\n\nfunction evaluateSelectors(selectors: string[], defaultSelector: string) {\n for (const selector of selectors) {\n const element = document.querySelector(selector);\n if (element) {\n return selector;\n }\n }\n\n return defaultSelector;\n}\n\nconst InnerAnalyticsFunnel = ({ mounted = true, children, stepConfiguration, ...props }: AnalyticsFunnelProps) => {\n const [funnelInteractionId, setFunnelInteractionId] = useState<string>('');\n const [submissionAttempt, setSubmissionAttempt] = useState(0);\n const isVisualRefresh = useVisualRefresh();\n const funnelState = useRef<FunnelState>('default');\n const funnelNameSelector = useRef<string>(getFunnelNameSelector());\n const errorCount = useRef<number>(0);\n const loadingButtonCount = useRef<number>(0);\n const wizardCount = useRef<number>(0);\n const latestFocusCleanupFunction = useRef<undefined | (() => void)>(undefined);\n const formSubmitStartTime = useRef<number>(0);\n // This useEffect hook is run once on component mount to initiate the funnel analytics.\n // It first calls the 'funnelStart' method from FunnelMetrics, providing all necessary details\n // about the funnel, and receives a unique interaction id.\n // This unique interaction id is then stored in the state for further use.\n //\n // On component unmount, it checks whether the funnel was successfully completed.\n // Based on this, it either calls 'funnelComplete' or 'funnelCancelled' method from FunnelMetrics.\n //\n // The eslint-disable is required as we deliberately want this effect to run only once on mount and unmount,\n // hence we do not provide any dependencies.\n useEffect(() => {\n if (!mounted) {\n return;\n }\n\n /*\n We run this effect with a delay, in order to detect whether this funnel contains a Wizard.\n If it does contain a Wizard, that Wizard should take precedence for handling the funnel, and\n this current funnel component should do nothing.\n */\n let funnelInteractionId: string;\n const handle = setTimeout(() => {\n funnelNameSelector.current = evaluateSelectors(props.funnelNameSelectors || [], getFunnelNameSelector());\n if (props.funnelType === 'single-page' && wizardCount.current > 0) {\n return;\n }\n\n // Reset the state, in case the component was re-mounted.\n funnelState.current = 'default';\n const funnelName = getTextFromSelector(funnelNameSelector.current) ?? '';\n\n const singleStepFlowStepConfiguration = [\n {\n number: 1,\n isOptional: false,\n name: funnelName,\n stepIdentifier: props.funnelIdentifier,\n },\n ];\n\n funnelInteractionId = FunnelMetrics.funnelStart({\n funnelName,\n funnelIdentifier: props.funnelIdentifier,\n flowType: props.funnelFlowType,\n funnelNameSelector: funnelNameSelector.current,\n optionalStepNumbers: props.optionalStepNumbers,\n funnelType: props.funnelType,\n totalFunnelSteps: props.totalFunnelSteps,\n componentVersion: PACKAGE_VERSION,\n componentTheme: isVisualRefresh ? 'vr' : 'classic',\n funnelVersion: FUNNEL_VERSION,\n stepConfiguration: stepConfiguration ?? singleStepFlowStepConfiguration,\n resourceType: props.funnelResourceType || getTextFromSelector(`[${DATA_ATTR_RESOURCE_TYPE}]`),\n });\n\n setFunnelInteractionId(funnelInteractionId);\n }, 1);\n\n /*\n A funnel counts as \"successful\" if it is unmounted after being \"complete\".\n */\n /* eslint-disable react-hooks/exhaustive-deps */\n return () => {\n clearTimeout(handle);\n if (props.funnelType === 'single-page' && wizardCount.current > 0) {\n return;\n }\n\n if (funnelState.current === 'validating') {\n // Finish the validation phase early.\n const taskCompletionDataProps: TaskCompletionDataProps = {\n taskIdentifier: props.funnelIdentifier,\n taskType: props.funnelType,\n timeToRespondAfterFormSubmit: performance.now() - formSubmitStartTime.current,\n taskInteractionId: funnelInteractionId,\n taskFlowType: props.funnelFlowType,\n };\n onFunnelComplete(taskCompletionDataProps);\n funnelState.current = 'complete';\n }\n\n if (funnelState.current === 'complete') {\n FunnelMetrics.funnelSuccessful({ funnelInteractionId, funnelIdentifier: props.funnelIdentifier });\n } else {\n funnelState.current = 'cancelled';\n onFunnelCancelled({ funnelInteractionId, funnelIdentifier: props.funnelIdentifier });\n }\n };\n }, [mounted]);\n /* eslint-enable react-hooks/exhaustive-deps */\n\n const funnelSubmit = () => {\n funnelState.current = 'validating';\n formSubmitStartTime.current = performance.now();\n /*\n When the user attempts to submit the form, we wait for 50 milliseconds before checking\n if any form validation errors are present. This value was chosen to give enough time\n for validation and rerendering to occur, but be low enough that the user will not\n be able to take further action in the meantime.\n */\n const VALIDATION_WAIT_DELAY = 50;\n /*\n Loading is expected to take longer than validation, so we can keep the pressure on the CPU low.\n */\n const LOADING_WAIT_DELAY = 100;\n\n const checkForCompleteness = () => {\n if (funnelState.current === 'complete') {\n return;\n }\n\n if (loadingButtonCount.current > 0) {\n setTimeout(checkForCompleteness, LOADING_WAIT_DELAY);\n return;\n }\n\n if (errorCount.current === 0) {\n /*\n If no validation errors are rendered, we treat the funnel as complete.\n */\n const taskCompletionDataProps: TaskCompletionDataProps = {\n taskIdentifier: props.funnelIdentifier,\n taskType: props.funnelType,\n timeToRespondAfterFormSubmit: performance.now() - formSubmitStartTime.current,\n taskInteractionId: funnelInteractionId,\n taskFlowType: props.funnelFlowType,\n };\n onFunnelComplete(taskCompletionDataProps);\n funnelState.current = 'complete';\n } else {\n funnelState.current = 'default';\n }\n };\n setTimeout(checkForCompleteness, VALIDATION_WAIT_DELAY);\n };\n\n const funnelNextOrSubmitAttempt = () => setSubmissionAttempt(i => i + 1);\n\n const funnelCancel = () => {};\n\n const funnelContextValue: FunnelContextValue = {\n funnelInteractionId,\n funnelIdentifier: props.funnelIdentifier,\n funnelFlowType: props.funnelFlowType,\n funnelErrorContext: props.funnelErrorContext,\n setFunnelInteractionId,\n funnelType: props.funnelType,\n optionalStepNumbers: props.optionalStepNumbers,\n totalFunnelSteps: props.totalFunnelSteps,\n funnelNameSelector: funnelNameSelector.current,\n funnelSubmit,\n funnelCancel,\n submissionAttempt,\n funnelNextOrSubmitAttempt,\n funnelState,\n errorCount,\n loadingButtonCount,\n latestFocusCleanupFunction,\n isInFunnel: true,\n wizardCount,\n };\n\n return <FunnelContext.Provider value={funnelContextValue}>{children}</FunnelContext.Provider>;\n};\n\ninterface AnalyticsFunnelStepProps {\n mounted?: boolean;\n stepIdentifier?: AnalyticsMetadata['instanceIdentifier'];\n stepErrorContext?: AnalyticsMetadata['errorContext'];\n children?: React.ReactNode | ((props: FunnelStepContextValue) => React.ReactNode);\n stepNameSelector?: FunnelStepProps['stepNameSelector'];\n stepNumber: FunnelStepProps['stepNumber'];\n}\n\nexport const AnalyticsFunnelStep = (props: AnalyticsFunnelStepProps) => {\n /*\n This wrapper is used to apply a `key` property to the actual (inner) AnalyticsFunnelStep\n element. This allows us to keep the state and effects separate per step.\n */\n return <InnerAnalyticsFunnelStep {...props} key={props.stepNumber} />;\n};\n\nfunction getSubStepConfiguration(): SubStepConfiguration[] {\n const subSteps = Array.from(document.querySelectorAll<HTMLElement>(getSubStepAllSelector()));\n\n const subStepConfiguration = subSteps.map((substep, index) => {\n const subStepIdentifier = (substep as any)?.__awsuiMetadata__?.analytics?.instanceIdentifier;\n const name = substep.querySelector<HTMLElement>(getSubStepNameSelector())?.innerText?.trim() ?? '';\n\n return {\n name,\n number: index + 1,\n subStepIdentifier,\n };\n });\n return subStepConfiguration;\n}\n\nfunction useStepChangeListener(stepNumber: number, handler: (stepConfiguration: SubStepConfiguration[]) => void) {\n const subStepConfiguration = useRef(new Map<number, SubStepConfiguration[] | undefined>());\n /*\n Chosen so that it's hopefully shorter than a user interaction, but gives enough time for the\n amount of containers to stabilise.\n */\n const SUBSTEP_CHANGE_DEBOUNCE = 50;\n\n const listenForSubStepChanges = useRef(false);\n useEffect(() => {\n // We prevent emitting the event on the first render.\n const handle = setTimeout(() => (listenForSubStepChanges.current = true), SUBSTEP_CHANGE_DEBOUNCE);\n\n return () => {\n clearTimeout(handle);\n listenForSubStepChanges.current = false;\n };\n }, []);\n\n useEffect(() => {\n const handle = setTimeout(\n () => subStepConfiguration.current.set(stepNumber, getSubStepConfiguration()),\n SUBSTEP_CHANGE_DEBOUNCE\n );\n return () => {\n clearTimeout(handle);\n };\n }, [stepNumber]);\n\n /* We debounce this handler, so that multiple containers can change at once without causing\n too many events. */\n const stepChangeCallback = useDebounceCallback(() => {\n // We don't want to emit the event after the component has been unmounted.\n if (!listenForSubStepChanges.current) {\n return;\n }\n\n subStepConfiguration.current.set(stepNumber, getSubStepConfiguration());\n handler(subStepConfiguration.current.get(stepNumber)!);\n }, SUBSTEP_CHANGE_DEBOUNCE);\n\n return { onStepChange: stepChangeCallback, subStepConfiguration };\n}\n\nconst InnerAnalyticsFunnelStep = ({\n mounted = true,\n children,\n stepNumber,\n stepIdentifier,\n stepErrorContext,\n ...rest\n}: AnalyticsFunnelStepProps) => {\n const { funnelInteractionId, funnelIdentifier, funnelNameSelector, funnelState, funnelType } = useFunnel();\n const parentStep = useFunnelStep();\n const parentStepExists = parentStep.isInStep;\n const parentStepFunnelInteractionId = parentStep.funnelInteractionId;\n\n const funnelStepProps = { [DATA_ATTR_FUNNEL_STEP]: stepNumber };\n\n const subStepCount = useRef<number>(0);\n\n const stepNameSelector = rest.stepNameSelector || funnelNameSelector;\n const { onStepChange, subStepConfiguration } = useStepChangeListener(stepNumber, subStepConfiguration => {\n if (!funnelInteractionId) {\n return;\n }\n\n FunnelMetrics.funnelStepChange({\n stepIdentifier,\n funnelIdentifier,\n funnelInteractionId,\n stepNumber,\n stepNameSelector,\n subStepAllSelector: getSubStepAllSelector(),\n totalSubSteps: subStepCount.current,\n subStepConfiguration,\n });\n });\n\n useEffect(() => {\n if (!funnelInteractionId) {\n // This step is not inside an active funnel.\n return;\n }\n\n if (mounted) {\n return;\n }\n\n const stepName = getTextFromSelector(stepNameSelector);\n const handler = setTimeout(() => {\n if (funnelState.current !== 'cancelled') {\n FunnelMetrics.funnelStepComplete({\n funnelIdentifier,\n funnelInteractionId,\n stepIdentifier,\n stepNumber,\n stepName,\n stepNameSelector,\n subStepAllSelector: getSubStepAllSelector(),\n totalSubSteps: subStepCount.current,\n });\n }\n }, 0);\n\n return () => {\n clearTimeout(handler);\n };\n }, [\n stepIdentifier,\n funnelIdentifier,\n funnelInteractionId,\n stepNumber,\n stepNameSelector,\n funnelState,\n parentStepExists,\n funnelType,\n parentStepFunnelInteractionId,\n mounted,\n ]);\n\n // This useEffect hook is used to track the start and completion of interaction with the step.\n // On mount, if there is a valid funnel interaction id, it calls the 'funnelStepStart' method from FunnelMetrics\n // to record the beginning of the interaction with the current step.\n // On unmount, it does a similar thing but this time calling 'funnelStepComplete' to record the completion of the interaction.\n useEffect(() => {\n if (!funnelInteractionId) {\n // This step is not inside an active funnel.\n return;\n }\n\n if (parentStepExists && parentStepFunnelInteractionId) {\n /*\n This step is inside another step, which already reports events as\n part of an active funnel (i.e. that step is not a parent of a Wizard).\n Thus, this current step does not need to report any events.\n */\n return;\n }\n\n const stepName = getTextFromSelector(stepNameSelector);\n\n if (funnelState.current === 'default') {\n FunnelMetrics.funnelStepStart({\n stepIdentifier,\n funnelIdentifier,\n funnelInteractionId,\n stepNumber,\n stepName,\n stepNameSelector,\n subStepAllSelector: getSubStepAllSelector(),\n totalSubSteps: subStepCount.current,\n subStepConfiguration: getSubStepConfiguration(),\n });\n }\n\n return () => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n if (funnelState.current !== 'cancelled') {\n FunnelMetrics.funnelStepComplete({\n funnelIdentifier,\n funnelInteractionId,\n stepIdentifier,\n stepNumber,\n stepName,\n stepNameSelector,\n subStepAllSelector: getSubStepAllSelector(),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n totalSubSteps: subStepCount.current,\n });\n }\n };\n }, [\n stepIdentifier,\n funnelIdentifier,\n funnelInteractionId,\n stepNumber,\n stepNameSelector,\n funnelState,\n parentStepExists,\n funnelType,\n parentStepFunnelInteractionId,\n ]);\n\n const contextValue: FunnelStepContextValue = {\n stepIdentifier,\n stepNumber,\n stepNameSelector,\n funnelStepProps,\n subStepCount,\n isInStep: true,\n funnelInteractionId,\n onStepChange,\n subStepConfiguration,\n stepErrorContext,\n };\n\n /*\n If this step is inside another step which already reports events as part of an active\n funnel (i.e. that step is not a parent of a Wizard), the current step becomes invisible\n in the hierarchy by passing the context of its parent through.\n */\n const effectiveContextValue = parentStepExists && parentStepFunnelInteractionId ? parentStep : contextValue;\n\n return (\n <FunnelStepContext.Provider value={effectiveContextValue}>\n {typeof children === 'function' ? children(effectiveContextValue) : children}\n </FunnelStepContext.Provider>\n );\n};\ninterface AnalyticsFunnelSubStepProps {\n subStepIdentifier?: AnalyticsMetadata['instanceIdentifier'];\n subStepErrorContext?: AnalyticsMetadata['errorContext'];\n children?: React.ReactNode | ((props: FunnelSubStepContextValue) => React.ReactNode);\n}\n\nexport const AnalyticsFunnelSubStep = ({\n children,\n subStepIdentifier,\n subStepErrorContext,\n}: AnalyticsFunnelSubStepProps) => {\n const subStepId = useUniqueId('substep');\n const subStepSelector = getSubStepSelector(subStepId);\n const subStepNameSelector = getSubStepNameSelector(subStepId);\n const subStepRef = useRef<HTMLDivElement | null>(null);\n const { subStepCount, onStepChange } = useFunnelStep();\n const mousePressed = useRef<boolean>(false);\n const isFocusedSubStep = useRef<boolean>(false);\n const focusCleanupFunction = useRef<undefined | (() => void)>(undefined);\n const { funnelState, funnelInteractionId } = useFunnel();\n const { stepNumber, stepNameSelector } = useFunnelStep();\n\n const newContext: FunnelSubStepContextValue = {\n subStepIdentifier,\n subStepErrorContext,\n subStepSelector,\n subStepNameSelector,\n subStepId,\n subStepRef,\n mousePressed,\n isFocusedSubStep,\n focusCleanupFunction,\n isNestedSubStep: false,\n };\n\n const inheritedContext = { ...useContext(FunnelSubStepContext), isNestedSubStep: true };\n\n const isNested = Boolean(inheritedContext.subStepId);\n\n useEffect(() => {\n if (!isNested) {\n subStepCount.current++;\n onStepChange();\n\n return () => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n subStepCount.current--;\n onStepChange();\n };\n }\n }, [isNested, subStepCount, onStepChange]);\n\n const context = isNested ? inheritedContext : newContext;\n\n useEffect(() => {\n if (isNested || !subStepRef.current) {\n return;\n }\n\n const onMouseDown = () => (mousePressed.current = true);\n\n const onMouseUp = async () => {\n mousePressed.current = false;\n\n if (!isFocusedSubStep.current) {\n return;\n }\n\n /*\n Some mouse events result in an element being focused. However,\n this happens only _after_ the onMouseUp event. We yield the\n event loop here, so that `document.activeElement` has the\n correct new value.\n */\n await new Promise(r => setTimeout(r, 1));\n\n if (!subStepRef.current || !document.activeElement || !nodeBelongs(subStepRef.current, document.activeElement)) {\n isFocusedSubStep.current = false;\n\n /*\n Run this substep's own focus cleanup function if another substep\n hasn't already done it for us.\n */\n focusCleanupFunction.current?.();\n }\n };\n window.addEventListener('mousedown', onMouseDown);\n window.addEventListener('mouseup', onMouseUp);\n return () => {\n window.removeEventListener('mousedown', onMouseDown);\n window.removeEventListener('mouseup', onMouseUp);\n };\n }, [\n funnelInteractionId,\n funnelState,\n stepNameSelector,\n stepNumber,\n subStepNameSelector,\n subStepSelector,\n focusCleanupFunction,\n isNested,\n subStepRef,\n ]);\n\n return (\n <FunnelSubStepContext.Provider value={context}>\n {typeof children === 'function' ? children(context) : children}\n </FunnelSubStepContext.Provider>\n );\n};\n"]}
1
+ {"version":3,"file":"analytics-funnel.js","sourceRoot":"","sources":["../../../../../src/internal/analytics/components/analytics-funnel.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, { useContext, useEffect, useRef, useState } from 'react';\n\nimport { PACKAGE_VERSION } from '../../environment';\nimport { useDebounceCallback } from '../../hooks/use-debounce-callback';\nimport { useUniqueId } from '../../hooks/use-unique-id';\nimport { useVisualRefresh } from '../../hooks/use-visual-mode';\nimport { nodeBelongs } from '../../utils/node-belongs';\nimport {\n FunnelContext,\n FunnelContextValue,\n FunnelState,\n FunnelStepContext,\n FunnelStepContextValue,\n FunnelSubStepContext,\n FunnelSubStepContextValue,\n} from '../context/analytics-context';\nimport { useFunnel, useFunnelStep } from '../hooks/use-funnel';\nimport { FunnelMetrics, PerformanceMetrics } from '../index';\nimport {\n AnalyticsMetadata,\n FunnelStartProps,\n FunnelStepProps,\n StepConfiguration,\n SubStepConfiguration,\n TaskCompletionDataProps,\n} from '../interfaces';\nimport {\n DATA_ATTR_FUNNEL_STEP,\n DATA_ATTR_RESOURCE_TYPE,\n getFunnelNameSelector,\n getSubStepAllSelector,\n getSubStepNameSelector,\n getSubStepSelector,\n getTextFromSelector,\n} from '../selectors';\n\nconst FUNNEL_VERSION = '1.4';\n\ninterface AnalyticsFunnelProps {\n mounted?: boolean;\n children?: React.ReactNode;\n stepConfiguration?: StepConfiguration[];\n funnelNameSelectors?: string[];\n funnelType: FunnelStartProps['funnelType'];\n optionalStepNumbers: FunnelStartProps['optionalStepNumbers'];\n totalFunnelSteps: FunnelStartProps['totalFunnelSteps'];\n funnelIdentifier?: AnalyticsMetadata['instanceIdentifier'];\n funnelFlowType?: AnalyticsMetadata['flowType'];\n funnelErrorContext?: AnalyticsMetadata['errorContext'];\n funnelResourceType?: AnalyticsMetadata['resourceType'];\n}\n\nexport const AnalyticsFunnel = (props: AnalyticsFunnelProps) => {\n const { isInFunnel } = useFunnel();\n /*\n If the current funnel component is a Form (i.e. single-page funnel), it should\n defer its funnel-handling to a parent Form element, if present.\n Wizards (i.e. multi-page funnels) always take highest precedence for handling funnels,\n and do not defer to any other element.\n */\n if (isInFunnel && props.funnelType === 'single-page') {\n return <>{props.children}</>;\n }\n\n return <InnerAnalyticsFunnel {...props} />;\n};\n\nexport const CREATION_EDIT_FLOW_DONE_EVENT_NAME = 'awsui-creation-edit-flow-done';\nconst dispatchCreateEditFlowDoneEvent = () => {\n try {\n window.top?.document.dispatchEvent(new Event(CREATION_EDIT_FLOW_DONE_EVENT_NAME));\n } catch {\n // probably because of cross-origin error, then do not dispatch the event\n }\n};\n\nconst onFunnelCancelled = ({\n funnelInteractionId,\n funnelIdentifier,\n}: {\n funnelInteractionId: string;\n funnelIdentifier?: string;\n}) => {\n FunnelMetrics.funnelCancelled({ funnelInteractionId, funnelIdentifier });\n};\n\nconst onFunnelComplete = (taskCompletionDataProps: TaskCompletionDataProps) => {\n FunnelMetrics.funnelComplete({\n funnelInteractionId: taskCompletionDataProps.taskInteractionId,\n funnelIdentifier: taskCompletionDataProps.taskIdentifier,\n });\n PerformanceMetrics.taskCompletionData(taskCompletionDataProps);\n dispatchCreateEditFlowDoneEvent();\n};\n\nfunction evaluateSelectors(selectors: string[], defaultSelector: string) {\n for (const selector of selectors) {\n const element = document.querySelector(selector);\n if (element) {\n return selector;\n }\n }\n\n return defaultSelector;\n}\n\nconst InnerAnalyticsFunnel = ({ mounted = true, children, stepConfiguration, ...props }: AnalyticsFunnelProps) => {\n const [funnelInteractionId, setFunnelInteractionId] = useState<string>('');\n const [submissionAttempt, setSubmissionAttempt] = useState(0);\n const isVisualRefresh = useVisualRefresh();\n const funnelState = useRef<FunnelState>('default');\n const funnelNameSelector = useRef<string>(getFunnelNameSelector());\n const errorCount = useRef<number>(0);\n const loadingButtonCount = useRef<number>(0);\n const wizardCount = useRef<number>(0);\n const latestFocusCleanupFunction = useRef<undefined | (() => void)>(undefined);\n const formSubmitStartTime = useRef<number>(0);\n // This useEffect hook is run once on component mount to initiate the funnel analytics.\n // It first calls the 'funnelStart' method from FunnelMetrics, providing all necessary details\n // about the funnel, and receives a unique interaction id.\n // This unique interaction id is then stored in the state for further use.\n //\n // On component unmount, it checks whether the funnel was successfully completed.\n // Based on this, it either calls 'funnelComplete' or 'funnelCancelled' method from FunnelMetrics.\n //\n // The eslint-disable is required as we deliberately want this effect to run only once on mount and unmount,\n // hence we do not provide any dependencies.\n useEffect(() => {\n if (!mounted) {\n return;\n }\n\n /*\n We run this effect with a delay, in order to detect whether this funnel contains a Wizard.\n If it does contain a Wizard, that Wizard should take precedence for handling the funnel, and\n this current funnel component should do nothing.\n */\n let funnelInteractionId: string;\n const handle = setTimeout(() => {\n funnelNameSelector.current = evaluateSelectors(props.funnelNameSelectors || [], getFunnelNameSelector());\n if (props.funnelType === 'single-page' && wizardCount.current > 0) {\n return;\n }\n\n // Reset the state, in case the component was re-mounted.\n funnelState.current = 'default';\n const funnelName = getTextFromSelector(funnelNameSelector.current) ?? '';\n\n const singleStepFlowStepConfiguration = [\n {\n number: 1,\n isOptional: false,\n name: funnelName,\n stepIdentifier: props.funnelIdentifier,\n },\n ];\n\n funnelInteractionId = FunnelMetrics.funnelStart({\n funnelName,\n funnelIdentifier: props.funnelIdentifier,\n flowType: props.funnelFlowType,\n funnelNameSelector: funnelNameSelector.current,\n optionalStepNumbers: props.optionalStepNumbers,\n funnelType: props.funnelType,\n totalFunnelSteps: props.totalFunnelSteps,\n componentVersion: PACKAGE_VERSION,\n componentTheme: isVisualRefresh ? 'vr' : 'classic',\n funnelVersion: FUNNEL_VERSION,\n stepConfiguration: stepConfiguration ?? singleStepFlowStepConfiguration,\n resourceType: props.funnelResourceType || getTextFromSelector(`[${DATA_ATTR_RESOURCE_TYPE}]`),\n });\n\n setFunnelInteractionId(funnelInteractionId);\n }, 1);\n\n /*\n A funnel counts as \"successful\" if it is unmounted after being \"complete\".\n */\n /* eslint-disable react-hooks/exhaustive-deps */\n return () => {\n clearTimeout(handle);\n if (props.funnelType === 'single-page' && wizardCount.current > 0) {\n return;\n }\n\n if (funnelState.current === 'validating') {\n // Finish the validation phase early.\n const taskCompletionDataProps: TaskCompletionDataProps = {\n taskIdentifier: props.funnelIdentifier,\n taskType: props.funnelType,\n timeToRespondAfterFormSubmit: performance.now() - formSubmitStartTime.current,\n taskInteractionId: funnelInteractionId,\n taskFlowType: props.funnelFlowType,\n };\n onFunnelComplete(taskCompletionDataProps);\n funnelState.current = 'complete';\n }\n\n if (funnelState.current === 'complete') {\n FunnelMetrics.funnelSuccessful({ funnelInteractionId, funnelIdentifier: props.funnelIdentifier });\n } else {\n funnelState.current = 'cancelled';\n onFunnelCancelled({ funnelInteractionId, funnelIdentifier: props.funnelIdentifier });\n }\n };\n }, [mounted]);\n /* eslint-enable react-hooks/exhaustive-deps */\n\n const funnelSubmit = () => {\n funnelState.current = 'validating';\n formSubmitStartTime.current = performance.now();\n /*\n When the user attempts to submit the form, we wait for 50 milliseconds before checking\n if any form validation errors are present. This value was chosen to give enough time\n for validation and rerendering to occur, but be low enough that the user will not\n be able to take further action in the meantime.\n */\n const VALIDATION_WAIT_DELAY = 50;\n /*\n Loading is expected to take longer than validation, so we can keep the pressure on the CPU low.\n */\n const LOADING_WAIT_DELAY = 100;\n\n const checkForCompleteness = () => {\n if (funnelState.current === 'complete') {\n return;\n }\n\n if (loadingButtonCount.current > 0) {\n setTimeout(checkForCompleteness, LOADING_WAIT_DELAY);\n return;\n }\n\n if (errorCount.current === 0) {\n /*\n If no validation errors are rendered, we treat the funnel as complete.\n */\n const taskCompletionDataProps: TaskCompletionDataProps = {\n taskIdentifier: props.funnelIdentifier,\n taskType: props.funnelType,\n timeToRespondAfterFormSubmit: performance.now() - formSubmitStartTime.current,\n taskInteractionId: funnelInteractionId,\n taskFlowType: props.funnelFlowType,\n };\n onFunnelComplete(taskCompletionDataProps);\n funnelState.current = 'complete';\n } else {\n funnelState.current = 'default';\n }\n };\n setTimeout(checkForCompleteness, VALIDATION_WAIT_DELAY);\n };\n\n const funnelNextOrSubmitAttempt = () => setSubmissionAttempt(i => i + 1);\n\n const funnelCancel = () => {};\n\n const funnelContextValue: FunnelContextValue = {\n funnelInteractionId,\n funnelIdentifier: props.funnelIdentifier,\n funnelFlowType: props.funnelFlowType,\n funnelErrorContext: props.funnelErrorContext,\n setFunnelInteractionId,\n funnelType: props.funnelType,\n optionalStepNumbers: props.optionalStepNumbers,\n totalFunnelSteps: props.totalFunnelSteps,\n funnelNameSelector: funnelNameSelector.current,\n funnelSubmit,\n funnelCancel,\n submissionAttempt,\n funnelNextOrSubmitAttempt,\n funnelState,\n errorCount,\n loadingButtonCount,\n latestFocusCleanupFunction,\n isInFunnel: true,\n wizardCount,\n };\n\n return <FunnelContext.Provider value={funnelContextValue}>{children}</FunnelContext.Provider>;\n};\n\ninterface AnalyticsFunnelStepProps {\n mounted?: boolean;\n stepIdentifier?: AnalyticsMetadata['instanceIdentifier'];\n stepErrorContext?: AnalyticsMetadata['errorContext'];\n children?: React.ReactNode | ((props: FunnelStepContextValue) => React.ReactNode);\n stepNameSelector?: FunnelStepProps['stepNameSelector'];\n stepNumber: FunnelStepProps['stepNumber'];\n}\n\nexport const AnalyticsFunnelStep = (props: AnalyticsFunnelStepProps) => {\n /*\n This wrapper is used to apply a `key` property to the actual (inner) AnalyticsFunnelStep\n element. This allows us to keep the state and effects separate per step.\n */\n return <InnerAnalyticsFunnelStep {...props} key={props.stepNumber} />;\n};\n\nfunction getSubStepConfiguration(): SubStepConfiguration[] {\n const subSteps = Array.from(document.querySelectorAll<HTMLElement>(getSubStepAllSelector()));\n\n const subStepConfiguration = subSteps.map((substep, index) => {\n const subStepIdentifier = (substep as any)?.__awsuiMetadata__?.analytics?.instanceIdentifier;\n const name = substep.querySelector<HTMLElement>(getSubStepNameSelector())?.innerText?.trim() ?? '';\n\n return {\n name,\n number: index + 1,\n subStepIdentifier,\n };\n });\n return subStepConfiguration;\n}\n\nfunction useStepChangeListener(stepNumber: number, handler: (stepConfiguration: SubStepConfiguration[]) => void) {\n const subStepConfiguration = useRef(new Map<number, SubStepConfiguration[] | undefined>());\n /*\n Chosen so that it's hopefully shorter than a user interaction, but gives enough time for the\n amount of containers to stabilise.\n */\n const SUBSTEP_CHANGE_DEBOUNCE = 50;\n\n const listenForSubStepChanges = useRef(false);\n useEffect(() => {\n // We prevent emitting the event on the first render.\n const handle = setTimeout(() => (listenForSubStepChanges.current = true), SUBSTEP_CHANGE_DEBOUNCE);\n\n return () => {\n clearTimeout(handle);\n listenForSubStepChanges.current = false;\n };\n }, []);\n\n useEffect(() => {\n const handle = setTimeout(\n () => subStepConfiguration.current.set(stepNumber, getSubStepConfiguration()),\n SUBSTEP_CHANGE_DEBOUNCE\n );\n return () => {\n clearTimeout(handle);\n };\n }, [stepNumber]);\n\n /* We debounce this handler, so that multiple containers can change at once without causing\n too many events. */\n const stepChangeCallback = useDebounceCallback(() => {\n // We don't want to emit the event after the component has been unmounted.\n if (!listenForSubStepChanges.current) {\n return;\n }\n\n subStepConfiguration.current.set(stepNumber, getSubStepConfiguration());\n handler(subStepConfiguration.current.get(stepNumber)!);\n }, SUBSTEP_CHANGE_DEBOUNCE);\n\n return { onStepChange: stepChangeCallback, subStepConfiguration };\n}\n\nconst InnerAnalyticsFunnelStep = ({\n mounted = true,\n children,\n stepNumber,\n stepIdentifier,\n stepErrorContext,\n ...rest\n}: AnalyticsFunnelStepProps) => {\n const { funnelInteractionId, funnelIdentifier, funnelNameSelector, funnelState, funnelType } = useFunnel();\n const parentStep = useFunnelStep();\n const parentStepExists = parentStep.isInStep;\n const parentStepFunnelInteractionId = parentStep.funnelInteractionId;\n\n const funnelStepProps = { [DATA_ATTR_FUNNEL_STEP]: stepNumber };\n\n const subStepCount = useRef<number>(0);\n\n const stepNameSelector = rest.stepNameSelector || funnelNameSelector;\n const { onStepChange, subStepConfiguration } = useStepChangeListener(stepNumber, subStepConfiguration => {\n if (!funnelInteractionId) {\n return;\n }\n\n FunnelMetrics.funnelStepChange({\n stepIdentifier,\n funnelIdentifier,\n funnelInteractionId,\n stepNumber,\n stepNameSelector,\n subStepAllSelector: getSubStepAllSelector(),\n totalSubSteps: subStepCount.current,\n subStepConfiguration,\n });\n });\n\n useEffect(() => {\n if (!funnelInteractionId) {\n // This step is not inside an active funnel.\n return;\n }\n\n if (mounted) {\n return;\n }\n\n const stepName = getTextFromSelector(stepNameSelector);\n const handler = setTimeout(() => {\n if (funnelState.current !== 'cancelled') {\n FunnelMetrics.funnelStepComplete({\n funnelIdentifier,\n funnelInteractionId,\n stepIdentifier,\n stepNumber,\n stepName,\n stepNameSelector,\n subStepAllSelector: getSubStepAllSelector(),\n totalSubSteps: subStepCount.current,\n });\n }\n }, 0);\n\n return () => {\n clearTimeout(handler);\n };\n }, [\n stepIdentifier,\n funnelIdentifier,\n funnelInteractionId,\n stepNumber,\n stepNameSelector,\n funnelState,\n parentStepExists,\n funnelType,\n parentStepFunnelInteractionId,\n mounted,\n ]);\n\n // This useEffect hook is used to track the start and completion of interaction with the step.\n // On mount, if there is a valid funnel interaction id, it calls the 'funnelStepStart' method from FunnelMetrics\n // to record the beginning of the interaction with the current step.\n // On unmount, it does a similar thing but this time calling 'funnelStepComplete' to record the completion of the interaction.\n useEffect(() => {\n if (!funnelInteractionId) {\n // This step is not inside an active funnel.\n return;\n }\n\n if (parentStepExists && parentStepFunnelInteractionId) {\n /*\n This step is inside another step, which already reports events as\n part of an active funnel (i.e. that step is not a parent of a Wizard).\n Thus, this current step does not need to report any events.\n */\n return;\n }\n\n const stepName = getTextFromSelector(stepNameSelector);\n\n if (funnelState.current === 'default') {\n FunnelMetrics.funnelStepStart({\n stepIdentifier,\n funnelIdentifier,\n funnelInteractionId,\n stepNumber,\n stepName,\n stepNameSelector,\n subStepAllSelector: getSubStepAllSelector(),\n totalSubSteps: subStepCount.current,\n subStepConfiguration: getSubStepConfiguration(),\n });\n }\n\n return () => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n if (funnelState.current !== 'cancelled') {\n FunnelMetrics.funnelStepComplete({\n funnelIdentifier,\n funnelInteractionId,\n stepIdentifier,\n stepNumber,\n stepName,\n stepNameSelector,\n subStepAllSelector: getSubStepAllSelector(),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n totalSubSteps: subStepCount.current,\n });\n }\n };\n }, [\n stepIdentifier,\n funnelIdentifier,\n funnelInteractionId,\n stepNumber,\n stepNameSelector,\n funnelState,\n parentStepExists,\n funnelType,\n parentStepFunnelInteractionId,\n ]);\n\n const contextValue: FunnelStepContextValue = {\n stepIdentifier,\n stepNumber,\n stepNameSelector,\n funnelStepProps,\n subStepCount,\n isInStep: true,\n funnelInteractionId,\n onStepChange,\n subStepConfiguration,\n stepErrorContext,\n };\n\n /*\n If this step is inside another step which already reports events as part of an active\n funnel (i.e. that step is not a parent of a Wizard), the current step becomes invisible\n in the hierarchy by passing the context of its parent through.\n */\n const effectiveContextValue = parentStepExists && parentStepFunnelInteractionId ? parentStep : contextValue;\n\n return (\n <FunnelStepContext.Provider value={effectiveContextValue}>\n {typeof children === 'function' ? children(effectiveContextValue) : children}\n </FunnelStepContext.Provider>\n );\n};\ninterface AnalyticsFunnelSubStepProps {\n subStepIdentifier?: AnalyticsMetadata['instanceIdentifier'];\n subStepErrorContext?: AnalyticsMetadata['errorContext'];\n children?: React.ReactNode | ((props: FunnelSubStepContextValue) => React.ReactNode);\n}\n\nexport const AnalyticsFunnelSubStep = ({\n children,\n subStepIdentifier,\n subStepErrorContext,\n}: AnalyticsFunnelSubStepProps) => {\n const subStepId = useUniqueId('substep');\n const subStepSelector = getSubStepSelector(subStepId);\n const subStepNameSelector = getSubStepNameSelector(subStepId);\n const subStepRef = useRef<HTMLDivElement | null>(null);\n const { subStepCount, onStepChange } = useFunnelStep();\n const mousePressed = useRef<boolean>(false);\n const isFocusedSubStep = useRef<boolean>(false);\n const focusCleanupFunction = useRef<undefined | (() => void)>(undefined);\n const { funnelState, funnelInteractionId } = useFunnel();\n const { stepNumber, stepNameSelector } = useFunnelStep();\n\n const newContext: FunnelSubStepContextValue = {\n subStepIdentifier,\n subStepErrorContext,\n subStepSelector,\n subStepNameSelector,\n subStepId,\n subStepRef,\n mousePressed,\n isFocusedSubStep,\n focusCleanupFunction,\n isNestedSubStep: false,\n };\n\n const inheritedContext = { ...useContext(FunnelSubStepContext), isNestedSubStep: true };\n\n const isNested = Boolean(inheritedContext.subStepId);\n\n useEffect(() => {\n if (!isNested) {\n subStepCount.current++;\n onStepChange();\n\n return () => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n subStepCount.current--;\n onStepChange();\n };\n }\n }, [isNested, subStepCount, onStepChange]);\n\n const context = isNested ? inheritedContext : newContext;\n\n useEffect(() => {\n if (isNested || !subStepRef.current) {\n return;\n }\n\n const onMouseDown = () => (mousePressed.current = true);\n\n const onMouseUp = async () => {\n mousePressed.current = false;\n\n if (!isFocusedSubStep.current) {\n return;\n }\n\n /*\n Some mouse events result in an element being focused. However,\n this happens only _after_ the onMouseUp event. We yield the\n event loop here, so that `document.activeElement` has the\n correct new value.\n */\n await new Promise(r => setTimeout(r, 1));\n\n if (!subStepRef.current || !document.activeElement || !nodeBelongs(subStepRef.current, document.activeElement)) {\n isFocusedSubStep.current = false;\n\n /*\n Run this substep's own focus cleanup function if another substep\n hasn't already done it for us.\n */\n focusCleanupFunction.current?.();\n }\n };\n window.addEventListener('mousedown', onMouseDown);\n window.addEventListener('mouseup', onMouseUp);\n return () => {\n window.removeEventListener('mousedown', onMouseDown);\n window.removeEventListener('mouseup', onMouseUp);\n };\n }, [\n funnelInteractionId,\n funnelState,\n stepNameSelector,\n stepNumber,\n subStepNameSelector,\n subStepSelector,\n focusCleanupFunction,\n isNested,\n subStepRef,\n ]);\n\n return (\n <FunnelSubStepContext.Provider value={context}>\n {typeof children === 'function' ? children(context) : children}\n </FunnelSubStepContext.Provider>\n );\n};\n"]}
@@ -6,12 +6,12 @@ export interface AnalyticsMetadata {
6
6
  errorContext?: string;
7
7
  resourceType?: string;
8
8
  }
9
- export interface BaseFunnelProps {
9
+ interface BaseFunnelProps {
10
10
  funnelIdentifier?: string;
11
11
  funnelInteractionId: string;
12
12
  currentDocument?: Document;
13
13
  }
14
- export interface FunnelErrorProps extends BaseFunnelProps {
14
+ interface FunnelErrorProps extends BaseFunnelProps {
15
15
  funnelErrorContext?: string;
16
16
  }
17
17
  export interface FunnelStartProps extends Omit<BaseFunnelProps, 'funnelInteractionId'> {
@@ -28,7 +28,7 @@ export interface FunnelStartProps extends Omit<BaseFunnelProps, 'funnelInteracti
28
28
  componentTheme: string;
29
29
  funnelInteractionId?: string;
30
30
  }
31
- export type FunnelMethod<T extends BaseFunnelProps> = (props: T) => void;
31
+ type FunnelMethod<T extends BaseFunnelProps> = (props: T) => void;
32
32
  export interface TableInteractionProps {
33
33
  interactionTime: number;
34
34
  userAction: string;
@@ -37,8 +37,8 @@ export interface TableInteractionProps {
37
37
  noOfResourcesInTable?: number;
38
38
  interactionMetadata?: string;
39
39
  }
40
- export type TableInteractionMethod = (props: TableInteractionProps) => void;
41
- export type FunnelStartMethod = (props: FunnelStartProps) => string;
40
+ type TableInteractionMethod = (props: TableInteractionProps) => void;
41
+ type FunnelStartMethod = (props: FunnelStartProps) => string;
42
42
  export interface FunnelStepProps extends BaseFunnelProps {
43
43
  stepIdentifier?: string;
44
44
  stepNumber: number;
@@ -48,40 +48,33 @@ export interface FunnelStepProps extends BaseFunnelProps {
48
48
  totalSubSteps?: number;
49
49
  subStepConfiguration?: SubStepConfiguration[];
50
50
  }
51
- export interface FunnelStepNavigationProps extends FunnelStepProps {
51
+ interface FunnelStepNavigationProps extends FunnelStepProps {
52
52
  destinationStepNumber: number;
53
53
  navigationType: string;
54
54
  totalSubSteps?: number;
55
55
  }
56
- export interface FunnelStepErrorProps extends FunnelStepProps {
56
+ interface FunnelStepErrorProps extends FunnelStepProps {
57
57
  stepErrorContext?: string;
58
58
  stepErrorSelector: string;
59
59
  }
60
- export interface FunnelSubStepProps extends FunnelStepProps {
60
+ interface FunnelSubStepProps extends FunnelStepProps {
61
61
  subStepIdentifier?: string;
62
62
  subStepSelector: string;
63
63
  subStepName?: string | undefined;
64
64
  subStepNameSelector: string;
65
65
  subStepNumber?: number;
66
66
  }
67
- export interface FunnelSubStepErrorProps extends FunnelSubStepProps {
68
- subStepErrorContext?: string;
69
- fieldIdentifier?: string;
70
- fieldErrorContext?: string;
71
- fieldLabelSelector: string;
72
- fieldErrorSelector: string;
73
- }
74
- export interface OptionalFunnelSubStepErrorProps extends FunnelSubStepProps {
67
+ interface OptionalFunnelSubStepErrorProps extends FunnelSubStepProps {
75
68
  subStepErrorContext?: string;
76
69
  fieldIdentifier?: string;
77
70
  fieldErrorContext?: string;
78
71
  fieldLabelSelector?: string;
79
72
  fieldErrorSelector?: string;
80
73
  }
81
- export interface FunnelLinkInteractionProps extends FunnelSubStepProps {
74
+ interface FunnelLinkInteractionProps extends FunnelSubStepProps {
82
75
  elementSelector: string;
83
76
  }
84
- export interface FunnelChangeProps extends BaseFunnelProps {
77
+ interface FunnelChangeProps extends BaseFunnelProps {
85
78
  stepConfiguration: StepConfiguration[];
86
79
  }
87
80
  export interface StepConfiguration {
@@ -121,7 +114,7 @@ export interface TaskCompletionDataProps {
121
114
  taskType?: FunnelType;
122
115
  completionMetadata?: string;
123
116
  }
124
- export type TaskCompletionDataMethod = (props: TaskCompletionDataProps) => void;
117
+ type TaskCompletionDataMethod = (props: TaskCompletionDataProps) => void;
125
118
  export interface IPerformanceMetrics {
126
119
  tableInteraction: TableInteractionMethod;
127
120
  taskCompletionData: TaskCompletionDataMethod;
@@ -131,17 +124,17 @@ type JSONValue = string | number | boolean | null | undefined;
131
124
  export interface JSONObject {
132
125
  [key: string]: JSONObject | JSONValue;
133
126
  }
134
- export interface ComponentMountedProps {
127
+ interface ComponentMountedProps {
135
128
  componentName: string;
136
129
  taskInteractionId?: string;
137
130
  componentConfiguration: JSONObject;
138
131
  }
139
- export interface ComponentUpdatedProps extends ComponentMountedProps {
132
+ interface ComponentUpdatedProps extends ComponentMountedProps {
140
133
  taskInteractionId: string;
141
134
  actionType: string;
142
135
  }
143
- export type ComponentMountedMethod = (props: ComponentMountedProps) => string;
144
- export type ComponentUpdatedMethod = (props: ComponentUpdatedProps) => void;
136
+ type ComponentMountedMethod = (props: ComponentMountedProps) => string;
137
+ type ComponentUpdatedMethod = (props: ComponentUpdatedProps) => void;
145
138
  export interface IComponentMetrics {
146
139
  componentMounted: ComponentMountedMethod;
147
140
  componentUpdated: ComponentUpdatedMethod;
@@ -152,6 +145,6 @@ export interface ModalPerformanceDataProps {
152
145
  componentIdentifier?: string;
153
146
  modalMetadata?: string;
154
147
  }
155
- export type ModalPerformanceDataMethod = (props: ModalPerformanceDataProps) => void;
148
+ type ModalPerformanceDataMethod = (props: ModalPerformanceDataProps) => void;
156
149
  export {};
157
150
  //# sourceMappingURL=interfaces.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/internal/analytics/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/internal/analytics/interfaces.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/internal/analytics/interfaces.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport type FunnelType = 'single-page' | 'multi-page' | 'modal';\nexport type FlowType = 'create' | 'edit' | 'delete' | 'home' | 'dashboard' | 'view-resource';\nexport interface AnalyticsMetadata {\n instanceIdentifier?: string;\n flowType?: FlowType;\n errorContext?: string;\n resourceType?: string;\n}\n\n// Common properties for all funnels\nexport interface BaseFunnelProps {\n funnelIdentifier?: string;\n funnelInteractionId: string;\n currentDocument?: Document;\n}\n\nexport interface FunnelErrorProps extends BaseFunnelProps {\n funnelErrorContext?: string;\n}\n\nexport interface FunnelStartProps extends Omit<BaseFunnelProps, 'funnelInteractionId'> {\n flowType?: FlowType;\n resourceType?: string;\n funnelName: string;\n funnelNameSelector: string;\n totalFunnelSteps: number;\n optionalStepNumbers: number[];\n stepConfiguration?: StepConfiguration[];\n funnelType: FunnelType;\n funnelVersion: string;\n componentVersion: string;\n componentTheme: string;\n funnelInteractionId?: string;\n}\n\n// A function type for a generic funnel method\nexport type FunnelMethod<T extends BaseFunnelProps> = (props: T) => void;\n\n// Interface for table interaction method props\nexport interface TableInteractionProps {\n // Time to render table in either no data state or with data after user actions like filtering, pagination.\n // in milliseconds\n interactionTime: number;\n // User action like sorting, filtering, pagination which triggered new data load in table.\n userAction: string;\n // Unique instance identifier for the component.\n // Default: ''\n instanceIdentifier?: string;\n // Component identifier like table header which can be used to identify the table\n // Default: ''\n componentIdentifier?: string;\n // Number of resources in table after user action\n // Default: 0\n noOfResourcesInTable?: number;\n // Additional metadata related to user interaction\n interactionMetadata?: string;\n}\n\nexport type TableInteractionMethod = (props: TableInteractionProps) => void;\n\n// A function type specifically for funnelStart\nexport type FunnelStartMethod = (props: FunnelStartProps) => string;\n\n// Define individual method props by extending the base\nexport interface FunnelStepProps extends BaseFunnelProps {\n stepIdentifier?: string;\n stepNumber: number;\n stepName?: string | undefined;\n stepNameSelector?: string;\n subStepAllSelector: string;\n totalSubSteps?: number;\n subStepConfiguration?: SubStepConfiguration[];\n}\n\nexport interface FunnelStepNavigationProps extends FunnelStepProps {\n destinationStepNumber: number;\n navigationType: string;\n totalSubSteps?: number;\n}\n\nexport interface FunnelStepErrorProps extends FunnelStepProps {\n stepErrorContext?: string;\n stepErrorSelector: string;\n}\n\nexport interface FunnelSubStepProps extends FunnelStepProps {\n subStepIdentifier?: string;\n subStepSelector: string;\n subStepName?: string | undefined;\n subStepNameSelector: string;\n subStepNumber?: number;\n}\n\nexport interface FunnelSubStepErrorProps extends FunnelSubStepProps {\n subStepErrorContext?: string;\n fieldIdentifier?: string;\n fieldErrorContext?: string;\n fieldLabelSelector: string;\n fieldErrorSelector: string;\n}\n\nexport interface OptionalFunnelSubStepErrorProps extends FunnelSubStepProps {\n subStepErrorContext?: string;\n fieldIdentifier?: string;\n fieldErrorContext?: string;\n fieldLabelSelector?: string;\n fieldErrorSelector?: string;\n}\n\nexport interface FunnelLinkInteractionProps extends FunnelSubStepProps {\n elementSelector: string;\n}\n\nexport interface FunnelChangeProps extends BaseFunnelProps {\n stepConfiguration: StepConfiguration[];\n}\n\nexport interface StepConfiguration {\n number: number;\n name: string;\n isOptional: boolean;\n stepIdentifier?: string;\n}\n\nexport interface SubStepConfiguration {\n number: number;\n name: string;\n subStepIdentifier?: string;\n}\n\n// Define the interface using the method type\nexport interface IFunnelMetrics {\n funnelStart: FunnelStartMethod;\n funnelError: FunnelMethod<FunnelErrorProps>;\n funnelComplete: FunnelMethod<BaseFunnelProps>;\n funnelSuccessful: FunnelMethod<BaseFunnelProps>;\n funnelCancelled: FunnelMethod<BaseFunnelProps>;\n funnelChange: FunnelMethod<FunnelChangeProps>;\n\n funnelStepStart: FunnelMethod<FunnelStepProps>;\n funnelStepComplete: FunnelMethod<FunnelStepProps>;\n funnelStepNavigation: FunnelMethod<FunnelStepNavigationProps>;\n funnelStepError: FunnelMethod<FunnelStepErrorProps>;\n funnelStepChange: FunnelMethod<FunnelStepProps>;\n\n funnelSubStepStart: FunnelMethod<FunnelSubStepProps>;\n funnelSubStepComplete: FunnelMethod<FunnelSubStepProps>;\n funnelSubStepError: FunnelMethod<OptionalFunnelSubStepErrorProps>;\n\n helpPanelInteracted: FunnelMethod<FunnelLinkInteractionProps>;\n externalLinkInteracted: FunnelMethod<FunnelLinkInteractionProps>;\n}\n\n// Interface for task completion method props\nexport interface TaskCompletionDataProps {\n // Time taken to respond to customers after customers submit the form\n // in milliseconds\n timeToRespondAfterFormSubmit: number;\n // Unique identifier for the task aka funnelInteractionId.\n // Default: ''\n taskInteractionId: string;\n // Task name identifier to identify the task aka funnelName\n // Default: ''\n taskIdentifier?: string;\n // To identify create or edit flow\n // Default: ''\n taskFlowType?: string;\n //\"single-page\" | \"multi-page\"\n // Default: ''\n taskType?: FunnelType;\n // Additional metadata related to completion such as success or error\n completionMetadata?: string;\n}\n\nexport type TaskCompletionDataMethod = (props: TaskCompletionDataProps) => void;\n\nexport interface IPerformanceMetrics {\n tableInteraction: TableInteractionMethod;\n taskCompletionData: TaskCompletionDataMethod;\n modalPerformanceData: ModalPerformanceDataMethod;\n}\n\ntype JSONValue = string | number | boolean | null | undefined;\nexport interface JSONObject {\n [key: string]: JSONObject | JSONValue;\n}\n\nexport interface ComponentMountedProps {\n componentName: string;\n taskInteractionId?: string;\n componentConfiguration: JSONObject;\n}\n\nexport interface ComponentUpdatedProps extends ComponentMountedProps {\n taskInteractionId: string;\n actionType: string;\n}\n\nexport type ComponentMountedMethod = (props: ComponentMountedProps) => string;\nexport type ComponentUpdatedMethod = (props: ComponentUpdatedProps) => void;\nexport interface IComponentMetrics {\n componentMounted: ComponentMountedMethod;\n componentUpdated: ComponentUpdatedMethod;\n}\n\n// Interface for modal metrics\nexport interface ModalPerformanceDataProps {\n // Time span from when the modal begins loading to when the primary button or modal has finished loading.\n // in milliseconds\n timeToContentReadyInModal: number;\n // Unique instance identifier for the component.\n // Default: ''\n instanceIdentifier?: string;\n // Component identifier like modal header which can be used to identify the modal\n // Default: ''\n componentIdentifier?: string;\n // Additional metadata related to modal\n modalMetadata?: string;\n}\n\nexport type ModalPerformanceDataMethod = (props: ModalPerformanceDataProps) => void;\n"]}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/internal/analytics/interfaces.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport type FunnelType = 'single-page' | 'multi-page' | 'modal';\nexport type FlowType = 'create' | 'edit' | 'delete' | 'home' | 'dashboard' | 'view-resource';\nexport interface AnalyticsMetadata {\n instanceIdentifier?: string;\n flowType?: FlowType;\n errorContext?: string;\n resourceType?: string;\n}\n\n// Common properties for all funnels\ninterface BaseFunnelProps {\n funnelIdentifier?: string;\n funnelInteractionId: string;\n currentDocument?: Document;\n}\n\ninterface FunnelErrorProps extends BaseFunnelProps {\n funnelErrorContext?: string;\n}\n\nexport interface FunnelStartProps extends Omit<BaseFunnelProps, 'funnelInteractionId'> {\n flowType?: FlowType;\n resourceType?: string;\n funnelName: string;\n funnelNameSelector: string;\n totalFunnelSteps: number;\n optionalStepNumbers: number[];\n stepConfiguration?: StepConfiguration[];\n funnelType: FunnelType;\n funnelVersion: string;\n componentVersion: string;\n componentTheme: string;\n funnelInteractionId?: string;\n}\n\n// A function type for a generic funnel method\ntype FunnelMethod<T extends BaseFunnelProps> = (props: T) => void;\n\n// Interface for table interaction method props\nexport interface TableInteractionProps {\n // Time to render table in either no data state or with data after user actions like filtering, pagination.\n // in milliseconds\n interactionTime: number;\n // User action like sorting, filtering, pagination which triggered new data load in table.\n userAction: string;\n // Unique instance identifier for the component.\n // Default: ''\n instanceIdentifier?: string;\n // Component identifier like table header which can be used to identify the table\n // Default: ''\n componentIdentifier?: string;\n // Number of resources in table after user action\n // Default: 0\n noOfResourcesInTable?: number;\n // Additional metadata related to user interaction\n interactionMetadata?: string;\n}\n\ntype TableInteractionMethod = (props: TableInteractionProps) => void;\n\n// A function type specifically for funnelStart\ntype FunnelStartMethod = (props: FunnelStartProps) => string;\n\n// Define individual method props by extending the base\nexport interface FunnelStepProps extends BaseFunnelProps {\n stepIdentifier?: string;\n stepNumber: number;\n stepName?: string | undefined;\n stepNameSelector?: string;\n subStepAllSelector: string;\n totalSubSteps?: number;\n subStepConfiguration?: SubStepConfiguration[];\n}\n\ninterface FunnelStepNavigationProps extends FunnelStepProps {\n destinationStepNumber: number;\n navigationType: string;\n totalSubSteps?: number;\n}\n\ninterface FunnelStepErrorProps extends FunnelStepProps {\n stepErrorContext?: string;\n stepErrorSelector: string;\n}\n\ninterface FunnelSubStepProps extends FunnelStepProps {\n subStepIdentifier?: string;\n subStepSelector: string;\n subStepName?: string | undefined;\n subStepNameSelector: string;\n subStepNumber?: number;\n}\n\ninterface OptionalFunnelSubStepErrorProps extends FunnelSubStepProps {\n subStepErrorContext?: string;\n fieldIdentifier?: string;\n fieldErrorContext?: string;\n fieldLabelSelector?: string;\n fieldErrorSelector?: string;\n}\n\ninterface FunnelLinkInteractionProps extends FunnelSubStepProps {\n elementSelector: string;\n}\n\ninterface FunnelChangeProps extends BaseFunnelProps {\n stepConfiguration: StepConfiguration[];\n}\n\nexport interface StepConfiguration {\n number: number;\n name: string;\n isOptional: boolean;\n stepIdentifier?: string;\n}\n\nexport interface SubStepConfiguration {\n number: number;\n name: string;\n subStepIdentifier?: string;\n}\n\n// Define the interface using the method type\nexport interface IFunnelMetrics {\n funnelStart: FunnelStartMethod;\n funnelError: FunnelMethod<FunnelErrorProps>;\n funnelComplete: FunnelMethod<BaseFunnelProps>;\n funnelSuccessful: FunnelMethod<BaseFunnelProps>;\n funnelCancelled: FunnelMethod<BaseFunnelProps>;\n funnelChange: FunnelMethod<FunnelChangeProps>;\n\n funnelStepStart: FunnelMethod<FunnelStepProps>;\n funnelStepComplete: FunnelMethod<FunnelStepProps>;\n funnelStepNavigation: FunnelMethod<FunnelStepNavigationProps>;\n funnelStepError: FunnelMethod<FunnelStepErrorProps>;\n funnelStepChange: FunnelMethod<FunnelStepProps>;\n\n funnelSubStepStart: FunnelMethod<FunnelSubStepProps>;\n funnelSubStepComplete: FunnelMethod<FunnelSubStepProps>;\n funnelSubStepError: FunnelMethod<OptionalFunnelSubStepErrorProps>;\n\n helpPanelInteracted: FunnelMethod<FunnelLinkInteractionProps>;\n externalLinkInteracted: FunnelMethod<FunnelLinkInteractionProps>;\n}\n\n// Interface for task completion method props\nexport interface TaskCompletionDataProps {\n // Time taken to respond to customers after customers submit the form\n // in milliseconds\n timeToRespondAfterFormSubmit: number;\n // Unique identifier for the task aka funnelInteractionId.\n // Default: ''\n taskInteractionId: string;\n // Task name identifier to identify the task aka funnelName\n // Default: ''\n taskIdentifier?: string;\n // To identify create or edit flow\n // Default: ''\n taskFlowType?: string;\n //\"single-page\" | \"multi-page\"\n // Default: ''\n taskType?: FunnelType;\n // Additional metadata related to completion such as success or error\n completionMetadata?: string;\n}\n\ntype TaskCompletionDataMethod = (props: TaskCompletionDataProps) => void;\n\nexport interface IPerformanceMetrics {\n tableInteraction: TableInteractionMethod;\n taskCompletionData: TaskCompletionDataMethod;\n modalPerformanceData: ModalPerformanceDataMethod;\n}\n\ntype JSONValue = string | number | boolean | null | undefined;\nexport interface JSONObject {\n [key: string]: JSONObject | JSONValue;\n}\n\ninterface ComponentMountedProps {\n componentName: string;\n taskInteractionId?: string;\n componentConfiguration: JSONObject;\n}\n\ninterface ComponentUpdatedProps extends ComponentMountedProps {\n taskInteractionId: string;\n actionType: string;\n}\n\ntype ComponentMountedMethod = (props: ComponentMountedProps) => string;\ntype ComponentUpdatedMethod = (props: ComponentUpdatedProps) => void;\nexport interface IComponentMetrics {\n componentMounted: ComponentMountedMethod;\n componentUpdated: ComponentUpdatedMethod;\n}\n\n// Interface for modal metrics\nexport interface ModalPerformanceDataProps {\n // Time span from when the modal begins loading to when the primary button or modal has finished loading.\n // in milliseconds\n timeToContentReadyInModal: number;\n // Unique instance identifier for the component.\n // Default: ''\n instanceIdentifier?: string;\n // Component identifier like modal header which can be used to identify the modal\n // Default: ''\n componentIdentifier?: string;\n // Additional metadata related to modal\n modalMetadata?: string;\n}\n\ntype ModalPerformanceDataMethod = (props: ModalPerformanceDataProps) => void;\n"]}