@cloudscape-design/components-themeable 3.0.1137 → 3.0.1139

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 (827) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +127 -99
  3. package/lib/internal/scss/progress-bar/styles.scss +39 -25
  4. package/lib/internal/scss/prompt-input/styles.scss +75 -13
  5. package/lib/internal/scss/radio-group/analytics-metadata/styles.scss +8 -0
  6. package/lib/internal/template/alert/actions-wrapper/index.js +3 -3
  7. package/lib/internal/template/alert/actions-wrapper/index.js.map +1 -1
  8. package/lib/internal/template/alert/index.js +2 -4
  9. package/lib/internal/template/alert/index.js.map +1 -1
  10. package/lib/internal/template/alert/internal.js +8 -10
  11. package/lib/internal/template/alert/internal.js.map +1 -1
  12. package/lib/internal/template/alert/style.js +12 -5
  13. package/lib/internal/template/alert/style.js.map +1 -1
  14. package/lib/internal/template/alert/styles.css.js +27 -27
  15. package/lib/internal/template/alert/styles.scoped.css +50 -50
  16. package/lib/internal/template/alert/styles.selectors.js +27 -27
  17. package/lib/internal/template/anchor-navigation/anchor-item/index.js +1 -1
  18. package/lib/internal/template/anchor-navigation/anchor-item/index.js.map +1 -1
  19. package/lib/internal/template/anchor-navigation/index.js +2 -4
  20. package/lib/internal/template/anchor-navigation/index.js.map +1 -1
  21. package/lib/internal/template/anchor-navigation/internal.js +2 -4
  22. package/lib/internal/template/anchor-navigation/internal.js.map +1 -1
  23. package/lib/internal/template/annotation-context/annotation/styles.css.js +24 -24
  24. package/lib/internal/template/annotation-context/annotation/styles.scoped.css +32 -32
  25. package/lib/internal/template/annotation-context/annotation/styles.selectors.js +24 -24
  26. package/lib/internal/template/annotation-context/index.js +3 -4
  27. package/lib/internal/template/annotation-context/index.js.map +1 -1
  28. package/lib/internal/template/app-layout/classic.js +20 -17
  29. package/lib/internal/template/app-layout/classic.js.map +1 -1
  30. package/lib/internal/template/app-layout/defaults.js +8 -3
  31. package/lib/internal/template/app-layout/defaults.js.map +1 -1
  32. package/lib/internal/template/app-layout/drawer/resizable-drawer.js +8 -10
  33. package/lib/internal/template/app-layout/drawer/resizable-drawer.js.map +1 -1
  34. package/lib/internal/template/app-layout/index.js +24 -21
  35. package/lib/internal/template/app-layout/index.js.map +1 -1
  36. package/lib/internal/template/app-layout/internal.js +3 -3
  37. package/lib/internal/template/app-layout/internal.js.map +1 -1
  38. package/lib/internal/template/app-layout/notifications/index.js +3 -5
  39. package/lib/internal/template/app-layout/notifications/index.js.map +1 -1
  40. package/lib/internal/template/app-layout/notifications/styles.css.js +3 -3
  41. package/lib/internal/template/app-layout/notifications/styles.scoped.css +7 -7
  42. package/lib/internal/template/app-layout/notifications/styles.selectors.js +3 -3
  43. package/lib/internal/template/app-layout/runtime-drawer/index.js +36 -18
  44. package/lib/internal/template/app-layout/runtime-drawer/index.js.map +1 -1
  45. package/lib/internal/template/app-layout/split-panel/provider.js +2 -4
  46. package/lib/internal/template/app-layout/split-panel/provider.js.map +1 -1
  47. package/lib/internal/template/app-layout/utils/use-app-layout-placement.js +1 -1
  48. package/lib/internal/template/app-layout/utils/use-app-layout-placement.js.map +1 -1
  49. package/lib/internal/template/app-layout/utils/use-drawers.js +9 -3
  50. package/lib/internal/template/app-layout/utils/use-drawers.js.map +1 -1
  51. package/lib/internal/template/app-layout/visual-refresh/context.js +28 -11
  52. package/lib/internal/template/app-layout/visual-refresh/context.js.map +1 -1
  53. package/lib/internal/template/app-layout/visual-refresh/drawers.js +3 -1
  54. package/lib/internal/template/app-layout/visual-refresh/drawers.js.map +1 -1
  55. package/lib/internal/template/app-layout/visual-refresh/index.js +1 -1
  56. package/lib/internal/template/app-layout/visual-refresh/index.js.map +1 -1
  57. package/lib/internal/template/app-layout/visual-refresh/layout.js +9 -1
  58. package/lib/internal/template/app-layout/visual-refresh/layout.js.map +1 -1
  59. package/lib/internal/template/app-layout/visual-refresh/main.js +4 -1
  60. package/lib/internal/template/app-layout/visual-refresh/main.js.map +1 -1
  61. package/lib/internal/template/app-layout/visual-refresh/split-panel.js +1 -1
  62. package/lib/internal/template/app-layout/visual-refresh/split-panel.js.map +1 -1
  63. package/lib/internal/template/app-layout/visual-refresh/styles.css.js +86 -86
  64. package/lib/internal/template/app-layout/visual-refresh/styles.scoped.css +258 -258
  65. package/lib/internal/template/app-layout/visual-refresh/styles.selectors.js +86 -86
  66. package/lib/internal/template/app-layout/visual-refresh/trigger-button.js +6 -3
  67. package/lib/internal/template/app-layout/visual-refresh/trigger-button.js.map +1 -1
  68. package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.js +5 -2
  69. package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.js.map +1 -1
  70. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.js +8 -4
  71. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.js.map +1 -1
  72. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.js +9 -6
  73. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.js.map +1 -1
  74. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-drawer.js +7 -3
  75. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-drawer.js.map +1 -1
  76. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/local-drawer.js +8 -4
  77. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/local-drawer.js.map +1 -1
  78. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.css.js +30 -30
  79. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +87 -87
  80. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +30 -30
  81. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.css.js +4 -4
  82. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +7 -7
  83. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +4 -4
  84. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/index.js +10 -10
  85. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/index.js.map +1 -1
  86. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/slots.js +5 -2
  87. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/slots.js.map +1 -1
  88. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +27 -27
  89. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +54 -54
  90. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +27 -27
  91. package/lib/internal/template/app-layout/visual-refresh-toolbar/split-panel/index.js +2 -2
  92. package/lib/internal/template/app-layout/visual-refresh-toolbar/split-panel/index.js.map +1 -1
  93. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/props-merger.js +7 -2
  94. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/props-merger.js.map +1 -1
  95. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-ai-drawer.js +1 -1
  96. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-ai-drawer.js.map +1 -1
  97. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-app-layout.js +19 -12
  98. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-app-layout.js.map +1 -1
  99. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-bottom-drawers.js +5 -2
  100. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-bottom-drawers.js.map +1 -1
  101. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-skeleton-slots-attributes.js +10 -6
  102. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-skeleton-slots-attributes.js.map +1 -1
  103. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js +4 -1
  104. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js.map +1 -1
  105. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js +1 -1
  106. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js.map +1 -1
  107. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.js +8 -8
  108. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.js.map +1 -1
  109. package/lib/internal/template/app-layout-toolbar/index.js +24 -21
  110. package/lib/internal/template/app-layout-toolbar/index.js.map +1 -1
  111. package/lib/internal/template/area-chart/chart-container.js +1 -1
  112. package/lib/internal/template/area-chart/chart-container.js.map +1 -1
  113. package/lib/internal/template/area-chart/elements/chart-popover.js +1 -1
  114. package/lib/internal/template/area-chart/elements/chart-popover.js.map +1 -1
  115. package/lib/internal/template/area-chart/elements/threshold-series.js +1 -1
  116. package/lib/internal/template/area-chart/elements/threshold-series.js.map +1 -1
  117. package/lib/internal/template/area-chart/index.js +2 -4
  118. package/lib/internal/template/area-chart/index.js.map +1 -1
  119. package/lib/internal/template/area-chart/internal.js +2 -4
  120. package/lib/internal/template/area-chart/internal.js.map +1 -1
  121. package/lib/internal/template/area-chart/model/interactions-store.js +39 -9
  122. package/lib/internal/template/area-chart/model/interactions-store.js.map +1 -1
  123. package/lib/internal/template/attribute-editor/index.d.ts.map +1 -1
  124. package/lib/internal/template/attribute-editor/index.js +4 -6
  125. package/lib/internal/template/attribute-editor/index.js.map +1 -1
  126. package/lib/internal/template/attribute-editor/interfaces.d.ts +8 -0
  127. package/lib/internal/template/attribute-editor/interfaces.d.ts.map +1 -1
  128. package/lib/internal/template/attribute-editor/interfaces.js.map +1 -1
  129. package/lib/internal/template/attribute-editor/internal.d.ts.map +1 -1
  130. package/lib/internal/template/attribute-editor/internal.js +14 -10
  131. package/lib/internal/template/attribute-editor/internal.js.map +1 -1
  132. package/lib/internal/template/attribute-editor/row.js +1 -1
  133. package/lib/internal/template/attribute-editor/row.js.map +1 -1
  134. package/lib/internal/template/attribute-editor/styles.css.js +15 -15
  135. package/lib/internal/template/attribute-editor/styles.scoped.css +28 -28
  136. package/lib/internal/template/attribute-editor/styles.selectors.js +15 -15
  137. package/lib/internal/template/autosuggest/autosuggest-option.js +3 -5
  138. package/lib/internal/template/autosuggest/autosuggest-option.js.map +1 -1
  139. package/lib/internal/template/autosuggest/index.js +2 -4
  140. package/lib/internal/template/autosuggest/index.js.map +1 -1
  141. package/lib/internal/template/autosuggest/internal.js +10 -5
  142. package/lib/internal/template/autosuggest/internal.js.map +1 -1
  143. package/lib/internal/template/autosuggest/options-controller.js +15 -8
  144. package/lib/internal/template/autosuggest/options-controller.js.map +1 -1
  145. package/lib/internal/template/autosuggest/plain-list.js +3 -3
  146. package/lib/internal/template/autosuggest/plain-list.js.map +1 -1
  147. package/lib/internal/template/autosuggest/virtual-list.js +2 -2
  148. package/lib/internal/template/autosuggest/virtual-list.js.map +1 -1
  149. package/lib/internal/template/badge/index.js +2 -4
  150. package/lib/internal/template/badge/index.js.map +1 -1
  151. package/lib/internal/template/bar-chart/index.js +2 -4
  152. package/lib/internal/template/bar-chart/index.js.map +1 -1
  153. package/lib/internal/template/box/index.js +2 -4
  154. package/lib/internal/template/box/index.js.map +1 -1
  155. package/lib/internal/template/box/internal.js +2 -4
  156. package/lib/internal/template/box/internal.js.map +1 -1
  157. package/lib/internal/template/breadcrumb-group/all-items-dropdown.js +3 -3
  158. package/lib/internal/template/breadcrumb-group/all-items-dropdown.js.map +1 -1
  159. package/lib/internal/template/breadcrumb-group/implementation.js +9 -8
  160. package/lib/internal/template/breadcrumb-group/implementation.js.map +1 -1
  161. package/lib/internal/template/breadcrumb-group/index.js +3 -5
  162. package/lib/internal/template/breadcrumb-group/index.js.map +1 -1
  163. package/lib/internal/template/breadcrumb-group/item/funnel.js +1 -1
  164. package/lib/internal/template/breadcrumb-group/item/funnel.js.map +1 -1
  165. package/lib/internal/template/breadcrumb-group/item/item.js +5 -7
  166. package/lib/internal/template/breadcrumb-group/item/item.js.map +1 -1
  167. package/lib/internal/template/breadcrumb-group/item/styles.css.js +7 -7
  168. package/lib/internal/template/breadcrumb-group/item/styles.scoped.css +28 -28
  169. package/lib/internal/template/breadcrumb-group/item/styles.selectors.js +7 -7
  170. package/lib/internal/template/button/icon-helper.js +3 -5
  171. package/lib/internal/template/button/icon-helper.js.map +1 -1
  172. package/lib/internal/template/button/index.js +2 -4
  173. package/lib/internal/template/button/index.js.map +1 -1
  174. package/lib/internal/template/button/internal.js +31 -14
  175. package/lib/internal/template/button/internal.js.map +1 -1
  176. package/lib/internal/template/button/style.js +38 -27
  177. package/lib/internal/template/button/style.js.map +1 -1
  178. package/lib/internal/template/button/styles.css.js +22 -22
  179. package/lib/internal/template/button/styles.scoped.css +256 -256
  180. package/lib/internal/template/button/styles.selectors.js +22 -22
  181. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js +11 -11
  182. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
  183. package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js +12 -12
  184. package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js.map +1 -1
  185. package/lib/internal/template/button-dropdown/index.js +4 -6
  186. package/lib/internal/template/button-dropdown/index.js.map +1 -1
  187. package/lib/internal/template/button-dropdown/internal.js +36 -25
  188. package/lib/internal/template/button-dropdown/internal.js.map +1 -1
  189. package/lib/internal/template/button-dropdown/item-element/index.js +25 -17
  190. package/lib/internal/template/button-dropdown/item-element/index.js.map +1 -1
  191. package/lib/internal/template/button-dropdown/item-element/styles.css.js +16 -16
  192. package/lib/internal/template/button-dropdown/item-element/styles.scoped.css +27 -27
  193. package/lib/internal/template/button-dropdown/item-element/styles.selectors.js +16 -16
  194. package/lib/internal/template/button-dropdown/tooltip.js +1 -1
  195. package/lib/internal/template/button-dropdown/tooltip.js.map +1 -1
  196. package/lib/internal/template/button-dropdown/utils/use-button-dropdown.js +1 -2
  197. package/lib/internal/template/button-dropdown/utils/use-button-dropdown.js.map +1 -1
  198. package/lib/internal/template/button-group/index.js +2 -4
  199. package/lib/internal/template/button-group/index.js.map +1 -1
  200. package/lib/internal/template/button-group/internal.js +2 -4
  201. package/lib/internal/template/button-group/internal.js.map +1 -1
  202. package/lib/internal/template/button-group/item-element.js +4 -4
  203. package/lib/internal/template/button-group/item-element.js.map +1 -1
  204. package/lib/internal/template/button-group/menu-dropdown-item.js +1 -1
  205. package/lib/internal/template/button-group/menu-dropdown-item.js.map +1 -1
  206. package/lib/internal/template/button-group/style.js +34 -20
  207. package/lib/internal/template/button-group/style.js.map +1 -1
  208. package/lib/internal/template/calendar/grid/index.js +2 -3
  209. package/lib/internal/template/calendar/grid/index.js.map +1 -1
  210. package/lib/internal/template/calendar/index.js +2 -4
  211. package/lib/internal/template/calendar/index.js.map +1 -1
  212. package/lib/internal/template/calendar/internal.js +2 -4
  213. package/lib/internal/template/calendar/internal.js.map +1 -1
  214. package/lib/internal/template/cards/index.js +17 -19
  215. package/lib/internal/template/cards/index.js.map +1 -1
  216. package/lib/internal/template/checkbox/index.js +2 -4
  217. package/lib/internal/template/checkbox/index.js.map +1 -1
  218. package/lib/internal/template/checkbox/internal.js +4 -6
  219. package/lib/internal/template/checkbox/internal.js.map +1 -1
  220. package/lib/internal/template/checkbox/styles.css.js +3 -3
  221. package/lib/internal/template/checkbox/styles.scoped.css +11 -11
  222. package/lib/internal/template/checkbox/styles.selectors.js +3 -3
  223. package/lib/internal/template/code-editor/index.js +2 -3
  224. package/lib/internal/template/code-editor/index.js.map +1 -1
  225. package/lib/internal/template/code-editor/use-editor.js +4 -1
  226. package/lib/internal/template/code-editor/use-editor.js.map +1 -1
  227. package/lib/internal/template/code-editor/util.js +4 -1
  228. package/lib/internal/template/code-editor/util.js.map +1 -1
  229. package/lib/internal/template/collection-preferences/content-display/index.js +1 -1
  230. package/lib/internal/template/collection-preferences/content-display/index.js.map +1 -1
  231. package/lib/internal/template/collection-preferences/content-display/utils.js +1 -1
  232. package/lib/internal/template/collection-preferences/content-display/utils.js.map +1 -1
  233. package/lib/internal/template/collection-preferences/index.js +20 -13
  234. package/lib/internal/template/collection-preferences/index.js.map +1 -1
  235. package/lib/internal/template/collection-preferences/utils.js +9 -9
  236. package/lib/internal/template/collection-preferences/utils.js.map +1 -1
  237. package/lib/internal/template/collection-preferences/visible-content.js +8 -8
  238. package/lib/internal/template/collection-preferences/visible-content.js.map +1 -1
  239. package/lib/internal/template/column-layout/index.js +2 -4
  240. package/lib/internal/template/column-layout/index.js.map +1 -1
  241. package/lib/internal/template/column-layout/internal.js +2 -4
  242. package/lib/internal/template/column-layout/internal.js.map +1 -1
  243. package/lib/internal/template/container/index.js +2 -4
  244. package/lib/internal/template/container/index.js.map +1 -1
  245. package/lib/internal/template/container/internal.js +11 -9
  246. package/lib/internal/template/container/internal.js.map +1 -1
  247. package/lib/internal/template/container/style.js +11 -2
  248. package/lib/internal/template/container/style.js.map +1 -1
  249. package/lib/internal/template/content-layout/index.js +1 -1
  250. package/lib/internal/template/content-layout/index.js.map +1 -1
  251. package/lib/internal/template/content-layout/internal.js +3 -5
  252. package/lib/internal/template/content-layout/internal.js.map +1 -1
  253. package/lib/internal/template/content-layout/styles.css.js +14 -14
  254. package/lib/internal/template/content-layout/styles.scoped.css +27 -27
  255. package/lib/internal/template/content-layout/styles.selectors.js +14 -14
  256. package/lib/internal/template/copy-to-clipboard/index.js +2 -4
  257. package/lib/internal/template/copy-to-clipboard/index.js.map +1 -1
  258. package/lib/internal/template/copy-to-clipboard/internal.js +2 -4
  259. package/lib/internal/template/copy-to-clipboard/internal.js.map +1 -1
  260. package/lib/internal/template/date-input/index.js +1 -1
  261. package/lib/internal/template/date-input/index.js.map +1 -1
  262. package/lib/internal/template/date-input/internal.js +6 -8
  263. package/lib/internal/template/date-input/internal.js.map +1 -1
  264. package/lib/internal/template/date-picker/index.js +9 -6
  265. package/lib/internal/template/date-picker/index.js.map +1 -1
  266. package/lib/internal/template/date-range-picker/calendar/grids/grid-cell.js +3 -4
  267. package/lib/internal/template/date-range-picker/calendar/grids/grid-cell.js.map +1 -1
  268. package/lib/internal/template/date-range-picker/calendar/grids/grid.js +8 -8
  269. package/lib/internal/template/date-range-picker/calendar/grids/grid.js.map +1 -1
  270. package/lib/internal/template/date-range-picker/calendar/grids/index.js +2 -2
  271. package/lib/internal/template/date-range-picker/calendar/grids/index.js.map +1 -1
  272. package/lib/internal/template/date-range-picker/calendar/index.js +5 -2
  273. package/lib/internal/template/date-range-picker/calendar/index.js.map +1 -1
  274. package/lib/internal/template/date-range-picker/index.js +8 -6
  275. package/lib/internal/template/date-range-picker/index.js.map +1 -1
  276. package/lib/internal/template/date-range-picker/utils.js +8 -2
  277. package/lib/internal/template/date-range-picker/utils.js.map +1 -1
  278. package/lib/internal/template/drawer/implementation.js +7 -6
  279. package/lib/internal/template/drawer/implementation.js.map +1 -1
  280. package/lib/internal/template/drawer/index.js +1 -1
  281. package/lib/internal/template/drawer/index.js.map +1 -1
  282. package/lib/internal/template/expandable-section/expandable-section-container.js +3 -5
  283. package/lib/internal/template/expandable-section/expandable-section-container.js.map +1 -1
  284. package/lib/internal/template/expandable-section/expandable-section-header.js +8 -8
  285. package/lib/internal/template/expandable-section/expandable-section-header.js.map +1 -1
  286. package/lib/internal/template/expandable-section/index.js +2 -4
  287. package/lib/internal/template/expandable-section/index.js.map +1 -1
  288. package/lib/internal/template/expandable-section/internal.js +2 -4
  289. package/lib/internal/template/expandable-section/internal.js.map +1 -1
  290. package/lib/internal/template/file-dropzone/index.js +1 -1
  291. package/lib/internal/template/file-dropzone/index.js.map +1 -1
  292. package/lib/internal/template/file-dropzone/internal.js +3 -5
  293. package/lib/internal/template/file-dropzone/internal.js.map +1 -1
  294. package/lib/internal/template/file-input/index.js +2 -4
  295. package/lib/internal/template/file-input/index.js.map +1 -1
  296. package/lib/internal/template/file-input/internal.js +11 -8
  297. package/lib/internal/template/file-input/internal.js.map +1 -1
  298. package/lib/internal/template/file-token-group/default-formatters.js +3 -3
  299. package/lib/internal/template/file-token-group/default-formatters.js.map +1 -1
  300. package/lib/internal/template/file-token-group/index.js +2 -4
  301. package/lib/internal/template/file-token-group/index.js.map +1 -1
  302. package/lib/internal/template/file-token-group/internal.js +2 -4
  303. package/lib/internal/template/file-token-group/internal.js.map +1 -1
  304. package/lib/internal/template/file-upload/index.js +2 -4
  305. package/lib/internal/template/file-upload/index.js.map +1 -1
  306. package/lib/internal/template/file-upload/internal.js +5 -7
  307. package/lib/internal/template/file-upload/internal.js.map +1 -1
  308. package/lib/internal/template/flashbar/collapsible-flashbar.js +33 -23
  309. package/lib/internal/template/flashbar/collapsible-flashbar.js.map +1 -1
  310. package/lib/internal/template/flashbar/common.js +1 -3
  311. package/lib/internal/template/flashbar/common.js.map +1 -1
  312. package/lib/internal/template/flashbar/flash.js +4 -6
  313. package/lib/internal/template/flashbar/flash.js.map +1 -1
  314. package/lib/internal/template/flashbar/implementation.js +2 -2
  315. package/lib/internal/template/flashbar/implementation.js.map +1 -1
  316. package/lib/internal/template/flashbar/index.js +1 -1
  317. package/lib/internal/template/flashbar/index.js.map +1 -1
  318. package/lib/internal/template/flashbar/non-collapsible-flashbar.js +10 -9
  319. package/lib/internal/template/flashbar/non-collapsible-flashbar.js.map +1 -1
  320. package/lib/internal/template/flashbar/style.js +50 -32
  321. package/lib/internal/template/flashbar/style.js.map +1 -1
  322. package/lib/internal/template/flashbar/styles.css.js +50 -50
  323. package/lib/internal/template/flashbar/styles.scoped.css +187 -187
  324. package/lib/internal/template/flashbar/styles.selectors.js +50 -50
  325. package/lib/internal/template/flashbar/utils.js +2 -2
  326. package/lib/internal/template/flashbar/utils.js.map +1 -1
  327. package/lib/internal/template/form/index.js +4 -7
  328. package/lib/internal/template/form/index.js.map +1 -1
  329. package/lib/internal/template/form/internal.js +2 -4
  330. package/lib/internal/template/form/internal.js.map +1 -1
  331. package/lib/internal/template/form-field/index.js +7 -9
  332. package/lib/internal/template/form-field/index.js.map +1 -1
  333. package/lib/internal/template/form-field/internal.js +6 -5
  334. package/lib/internal/template/form-field/internal.js.map +1 -1
  335. package/lib/internal/template/grid/index.js +2 -4
  336. package/lib/internal/template/grid/index.js.map +1 -1
  337. package/lib/internal/template/grid/internal.js +2 -4
  338. package/lib/internal/template/grid/internal.js.map +1 -1
  339. package/lib/internal/template/header/analytics/use-table-integration.d.ts +2 -1
  340. package/lib/internal/template/header/analytics/use-table-integration.d.ts.map +1 -1
  341. package/lib/internal/template/header/analytics/use-table-integration.js +8 -1
  342. package/lib/internal/template/header/analytics/use-table-integration.js.map +1 -1
  343. package/lib/internal/template/header/index.js +2 -4
  344. package/lib/internal/template/header/index.js.map +1 -1
  345. package/lib/internal/template/header/interfaces.d.ts +2 -2
  346. package/lib/internal/template/header/interfaces.d.ts.map +1 -1
  347. package/lib/internal/template/header/interfaces.js.map +1 -1
  348. package/lib/internal/template/header/internal.js +4 -6
  349. package/lib/internal/template/header/internal.js.map +1 -1
  350. package/lib/internal/template/help-panel/implementation.js +7 -6
  351. package/lib/internal/template/help-panel/implementation.js.map +1 -1
  352. package/lib/internal/template/help-panel/index.js +1 -1
  353. package/lib/internal/template/help-panel/index.js.map +1 -1
  354. package/lib/internal/template/help-panel/styles.css.js +6 -6
  355. package/lib/internal/template/help-panel/styles.scoped.css +73 -73
  356. package/lib/internal/template/help-panel/styles.selectors.js +6 -6
  357. package/lib/internal/template/hotspot/index.js +3 -5
  358. package/lib/internal/template/hotspot/index.js.map +1 -1
  359. package/lib/internal/template/icon/index.js +2 -4
  360. package/lib/internal/template/icon/index.js.map +1 -1
  361. package/lib/internal/template/icon/internal.js +4 -6
  362. package/lib/internal/template/icon/internal.js.map +1 -1
  363. package/lib/internal/template/icon-provider/index.js +1 -1
  364. package/lib/internal/template/icon-provider/index.js.map +1 -1
  365. package/lib/internal/template/icon-provider/internal.js +2 -2
  366. package/lib/internal/template/icon-provider/internal.js.map +1 -1
  367. package/lib/internal/template/input/index.js +5 -5
  368. package/lib/internal/template/input/index.js.map +1 -1
  369. package/lib/internal/template/input/internal.js +10 -12
  370. package/lib/internal/template/input/internal.js.map +1 -1
  371. package/lib/internal/template/input/styles.css.js +13 -13
  372. package/lib/internal/template/input/styles.js +42 -30
  373. package/lib/internal/template/input/styles.js.map +1 -1
  374. package/lib/internal/template/input/styles.scoped.css +65 -65
  375. package/lib/internal/template/input/styles.selectors.js +13 -13
  376. package/lib/internal/template/internal/analytics/components/analytics-funnel.js +9 -12
  377. package/lib/internal/template/internal/analytics/components/analytics-funnel.js.map +1 -1
  378. package/lib/internal/template/internal/analytics/hooks/use-funnel.js +5 -6
  379. package/lib/internal/template/internal/analytics/hooks/use-funnel.js.map +1 -1
  380. package/lib/internal/template/internal/animate.js +1 -1
  381. package/lib/internal/template/internal/animate.js.map +1 -1
  382. package/lib/internal/template/internal/base-component/index.js +1 -1
  383. package/lib/internal/template/internal/base-component/index.js.map +1 -1
  384. package/lib/internal/template/internal/base-component/styles.scoped.css +1 -1
  385. package/lib/internal/template/internal/components/abstract-switch/index.js +21 -20
  386. package/lib/internal/template/internal/components/abstract-switch/index.js.map +1 -1
  387. package/lib/internal/template/internal/components/autosuggest-input/index.js +3 -5
  388. package/lib/internal/template/internal/components/autosuggest-input/index.js.map +1 -1
  389. package/lib/internal/template/internal/components/button-trigger/index.js +25 -6
  390. package/lib/internal/template/internal/components/button-trigger/index.js.map +1 -1
  391. package/lib/internal/template/internal/components/cartesian-chart/inline-start-labels.js +1 -1
  392. package/lib/internal/template/internal/components/cartesian-chart/inline-start-labels.js.map +1 -1
  393. package/lib/internal/template/internal/components/chart-filter/index.js +2 -4
  394. package/lib/internal/template/internal/components/chart-filter/index.js.map +1 -1
  395. package/lib/internal/template/internal/components/chart-plot/index.js +2 -2
  396. package/lib/internal/template/internal/components/chart-plot/index.js.map +1 -1
  397. package/lib/internal/template/internal/components/chart-popover/index.js +3 -5
  398. package/lib/internal/template/internal/components/chart-popover/index.js.map +1 -1
  399. package/lib/internal/template/internal/components/chart-series-details/index.js +2 -4
  400. package/lib/internal/template/internal/components/chart-series-details/index.js.map +1 -1
  401. package/lib/internal/template/internal/components/chart-wrapper/index.js +3 -5
  402. package/lib/internal/template/internal/components/chart-wrapper/index.js.map +1 -1
  403. package/lib/internal/template/internal/components/checkbox-icon/index.js +5 -7
  404. package/lib/internal/template/internal/components/checkbox-icon/index.js.map +1 -1
  405. package/lib/internal/template/internal/components/drag-handle/button.js +5 -5
  406. package/lib/internal/template/internal/components/drag-handle/button.js.map +1 -1
  407. package/lib/internal/template/internal/components/drag-handle/hooks/use-drag-handle-interaction-state.js +17 -4
  408. package/lib/internal/template/internal/components/drag-handle/hooks/use-drag-handle-interaction-state.js.map +1 -1
  409. package/lib/internal/template/internal/components/drag-handle/index.js +1 -3
  410. package/lib/internal/template/internal/components/drag-handle/index.js.map +1 -1
  411. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.css.js +20 -20
  412. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.scoped.css +48 -48
  413. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.selectors.js +20 -20
  414. package/lib/internal/template/internal/components/dropdown/styles.css.js +20 -20
  415. package/lib/internal/template/internal/components/dropdown/styles.scoped.css +38 -38
  416. package/lib/internal/template/internal/components/dropdown/styles.selectors.js +20 -20
  417. package/lib/internal/template/internal/components/masked-input/index.js +12 -8
  418. package/lib/internal/template/internal/components/masked-input/index.js.map +1 -1
  419. package/lib/internal/template/internal/components/masked-input/utils/mask-format.js +6 -1
  420. package/lib/internal/template/internal/components/masked-input/utils/mask-format.js.map +1 -1
  421. package/lib/internal/template/internal/components/menu-dropdown/index.js +2 -4
  422. package/lib/internal/template/internal/components/menu-dropdown/index.js.map +1 -1
  423. package/lib/internal/template/internal/components/option/index.js +6 -8
  424. package/lib/internal/template/internal/components/option/index.js.map +1 -1
  425. package/lib/internal/template/internal/components/option/option-parts.js +1 -1
  426. package/lib/internal/template/internal/components/option/option-parts.js.map +1 -1
  427. package/lib/internal/template/internal/components/option/utils/flatten-options.js +1 -2
  428. package/lib/internal/template/internal/components/option/utils/flatten-options.js.map +1 -1
  429. package/lib/internal/template/internal/components/options-list/index.js +2 -4
  430. package/lib/internal/template/internal/components/options-list/index.js.map +1 -1
  431. package/lib/internal/template/internal/components/screenreader-only/index.js +1 -1
  432. package/lib/internal/template/internal/components/screenreader-only/index.js.map +1 -1
  433. package/lib/internal/template/internal/components/selectable-item/analytics-metadata/utils.js +1 -3
  434. package/lib/internal/template/internal/components/selectable-item/analytics-metadata/utils.js.map +1 -1
  435. package/lib/internal/template/internal/components/selectable-item/index.js +5 -7
  436. package/lib/internal/template/internal/components/selectable-item/index.js.map +1 -1
  437. package/lib/internal/template/internal/components/sortable-area/index.js +19 -6
  438. package/lib/internal/template/internal/components/sortable-area/index.js.map +1 -1
  439. package/lib/internal/template/internal/components/token-list/styles.css.js +10 -10
  440. package/lib/internal/template/internal/components/token-list/styles.scoped.css +25 -25
  441. package/lib/internal/template/internal/components/token-list/styles.selectors.js +10 -10
  442. package/lib/internal/template/internal/components/token-list/token-limit-toggle.js +1 -1
  443. package/lib/internal/template/internal/components/token-list/token-limit-toggle.js.map +1 -1
  444. package/lib/internal/template/internal/components/tooltip/index.js +1 -1
  445. package/lib/internal/template/internal/components/tooltip/index.js.map +1 -1
  446. package/lib/internal/template/internal/components/transition/index.js +3 -5
  447. package/lib/internal/template/internal/components/transition/index.js.map +1 -1
  448. package/lib/internal/template/internal/environment.js +2 -2
  449. package/lib/internal/template/internal/environment.json +2 -2
  450. package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts +28 -0
  451. package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts.map +1 -1
  452. package/lib/internal/template/internal/generated/custom-css-properties/index.js +126 -98
  453. package/lib/internal/template/internal/generated/custom-css-properties/index.js.map +1 -1
  454. package/lib/internal/template/internal/generated/styles/tokens.d.ts +50 -75
  455. package/lib/internal/template/internal/generated/styles/tokens.js +50 -75
  456. package/lib/internal/template/internal/generated/theming/index.cjs +305 -461
  457. package/lib/internal/template/internal/generated/theming/index.js +305 -461
  458. package/lib/internal/template/internal/hooks/use-intersection-observer/index.js +1 -1
  459. package/lib/internal/template/internal/hooks/use-intersection-observer/index.js.map +1 -1
  460. package/lib/internal/template/internal/hooks/use-performance-marks/index.js +12 -2
  461. package/lib/internal/template/internal/hooks/use-performance-marks/index.js.map +1 -1
  462. package/lib/internal/template/internal/hooks/use-virtual/index.js +5 -2
  463. package/lib/internal/template/internal/hooks/use-virtual/index.js.map +1 -1
  464. package/lib/internal/template/internal/plugins/controllers/drawers.js +4 -6
  465. package/lib/internal/template/internal/plugins/controllers/drawers.js.map +1 -1
  466. package/lib/internal/template/internal/plugins/helpers/use-global-breadcrumbs.js +4 -6
  467. package/lib/internal/template/internal/plugins/helpers/use-global-breadcrumbs.js.map +1 -1
  468. package/lib/internal/template/internal/plugins/widget/index.js +1 -1
  469. package/lib/internal/template/internal/plugins/widget/index.js.map +1 -1
  470. package/lib/internal/template/internal/utils/with-native-attributes.js +4 -6
  471. package/lib/internal/template/internal/utils/with-native-attributes.js.map +1 -1
  472. package/lib/internal/template/internal/widgets/index.js +2 -2
  473. package/lib/internal/template/internal/widgets/index.js.map +1 -1
  474. package/lib/internal/template/internal/widgets/loader-mock.js +2 -2
  475. package/lib/internal/template/internal/widgets/loader-mock.js.map +1 -1
  476. package/lib/internal/template/key-value-pairs/index.js +2 -4
  477. package/lib/internal/template/key-value-pairs/index.js.map +1 -1
  478. package/lib/internal/template/key-value-pairs/internal.js +4 -6
  479. package/lib/internal/template/key-value-pairs/internal.js.map +1 -1
  480. package/lib/internal/template/line-chart/index.js +2 -4
  481. package/lib/internal/template/line-chart/index.js.map +1 -1
  482. package/lib/internal/template/link/index.js +2 -4
  483. package/lib/internal/template/link/index.js.map +1 -1
  484. package/lib/internal/template/link/internal.js +13 -6
  485. package/lib/internal/template/link/internal.js.map +1 -1
  486. package/lib/internal/template/link/style.js +12 -9
  487. package/lib/internal/template/link/style.js.map +1 -1
  488. package/lib/internal/template/link/styles.css.js +20 -20
  489. package/lib/internal/template/link/styles.scoped.css +103 -103
  490. package/lib/internal/template/link/styles.selectors.js +20 -20
  491. package/lib/internal/template/list/index.js +1 -1
  492. package/lib/internal/template/list/index.js.map +1 -1
  493. package/lib/internal/template/list/internal.js +6 -8
  494. package/lib/internal/template/list/internal.js.map +1 -1
  495. package/lib/internal/template/live-region/index.js +2 -4
  496. package/lib/internal/template/live-region/index.js.map +1 -1
  497. package/lib/internal/template/live-region/internal.js +2 -4
  498. package/lib/internal/template/live-region/internal.js.map +1 -1
  499. package/lib/internal/template/mixed-line-bar-chart/bar-series.js +3 -3
  500. package/lib/internal/template/mixed-line-bar-chart/bar-series.js.map +1 -1
  501. package/lib/internal/template/mixed-line-bar-chart/chart-container.js +7 -9
  502. package/lib/internal/template/mixed-line-bar-chart/chart-container.js.map +1 -1
  503. package/lib/internal/template/mixed-line-bar-chart/chart-popover.js +4 -1
  504. package/lib/internal/template/mixed-line-bar-chart/chart-popover.js.map +1 -1
  505. package/lib/internal/template/mixed-line-bar-chart/hooks/use-navigation.js +1 -1
  506. package/lib/internal/template/mixed-line-bar-chart/hooks/use-navigation.js.map +1 -1
  507. package/lib/internal/template/mixed-line-bar-chart/index.js +2 -4
  508. package/lib/internal/template/mixed-line-bar-chart/index.js.map +1 -1
  509. package/lib/internal/template/mixed-line-bar-chart/internal.js +2 -4
  510. package/lib/internal/template/mixed-line-bar-chart/internal.js.map +1 -1
  511. package/lib/internal/template/mixed-line-bar-chart/line-series.js +3 -3
  512. package/lib/internal/template/mixed-line-bar-chart/line-series.js.map +1 -1
  513. package/lib/internal/template/modal/index.js +5 -8
  514. package/lib/internal/template/modal/index.js.map +1 -1
  515. package/lib/internal/template/modal/internal.js +11 -14
  516. package/lib/internal/template/modal/internal.js.map +1 -1
  517. package/lib/internal/template/multiselect/embedded.js +15 -6
  518. package/lib/internal/template/multiselect/embedded.js.map +1 -1
  519. package/lib/internal/template/multiselect/index.js +2 -4
  520. package/lib/internal/template/multiselect/index.js.map +1 -1
  521. package/lib/internal/template/multiselect/internal.js +13 -12
  522. package/lib/internal/template/multiselect/internal.js.map +1 -1
  523. package/lib/internal/template/multiselect/use-multiselect.js +9 -5
  524. package/lib/internal/template/multiselect/use-multiselect.js.map +1 -1
  525. package/lib/internal/template/navigable-group/index.js +2 -4
  526. package/lib/internal/template/navigable-group/index.js.map +1 -1
  527. package/lib/internal/template/navigable-group/internal.js +2 -4
  528. package/lib/internal/template/navigable-group/internal.js.map +1 -1
  529. package/lib/internal/template/pagination/index.js +10 -10
  530. package/lib/internal/template/pagination/index.js.map +1 -1
  531. package/lib/internal/template/pagination/internal.js +36 -40
  532. package/lib/internal/template/pagination/internal.js.map +1 -1
  533. package/lib/internal/template/pie-chart/index.js +4 -6
  534. package/lib/internal/template/pie-chart/index.js.map +1 -1
  535. package/lib/internal/template/pie-chart/labels.js +2 -2
  536. package/lib/internal/template/pie-chart/labels.js.map +1 -1
  537. package/lib/internal/template/pie-chart/segments.js +1 -1
  538. package/lib/internal/template/pie-chart/segments.js.map +1 -1
  539. package/lib/internal/template/pie-chart/utils.js +17 -5
  540. package/lib/internal/template/pie-chart/utils.js.map +1 -1
  541. package/lib/internal/template/popover/body.js +3 -3
  542. package/lib/internal/template/popover/body.js.map +1 -1
  543. package/lib/internal/template/popover/container.js +1 -1
  544. package/lib/internal/template/popover/container.js.map +1 -1
  545. package/lib/internal/template/popover/index.js +2 -4
  546. package/lib/internal/template/popover/index.js.map +1 -1
  547. package/lib/internal/template/popover/internal.js +4 -6
  548. package/lib/internal/template/popover/internal.js.map +1 -1
  549. package/lib/internal/template/progress-bar/index.d.ts +1 -1
  550. package/lib/internal/template/progress-bar/index.d.ts.map +1 -1
  551. package/lib/internal/template/progress-bar/index.js +3 -5
  552. package/lib/internal/template/progress-bar/index.js.map +1 -1
  553. package/lib/internal/template/progress-bar/interfaces.d.ts +19 -0
  554. package/lib/internal/template/progress-bar/interfaces.d.ts.map +1 -1
  555. package/lib/internal/template/progress-bar/interfaces.js.map +1 -1
  556. package/lib/internal/template/progress-bar/internal.d.ts +2 -1
  557. package/lib/internal/template/progress-bar/internal.d.ts.map +1 -1
  558. package/lib/internal/template/progress-bar/internal.js +10 -3
  559. package/lib/internal/template/progress-bar/internal.js.map +1 -1
  560. package/lib/internal/template/progress-bar/styles.css.js +19 -19
  561. package/lib/internal/template/progress-bar/styles.d.ts +16 -0
  562. package/lib/internal/template/progress-bar/styles.d.ts.map +1 -0
  563. package/lib/internal/template/progress-bar/styles.js +33 -0
  564. package/lib/internal/template/progress-bar/styles.js.map +1 -0
  565. package/lib/internal/template/progress-bar/styles.scoped.css +56 -56
  566. package/lib/internal/template/progress-bar/styles.selectors.js +19 -19
  567. package/lib/internal/template/prompt-input/index.js +2 -4
  568. package/lib/internal/template/prompt-input/index.js.map +1 -1
  569. package/lib/internal/template/prompt-input/interfaces.d.ts +48 -0
  570. package/lib/internal/template/prompt-input/interfaces.d.ts.map +1 -1
  571. package/lib/internal/template/prompt-input/interfaces.js.map +1 -1
  572. package/lib/internal/template/prompt-input/internal.d.ts.map +1 -1
  573. package/lib/internal/template/prompt-input/internal.js +5 -6
  574. package/lib/internal/template/prompt-input/internal.js.map +1 -1
  575. package/lib/internal/template/prompt-input/styles.css.js +17 -17
  576. package/lib/internal/template/prompt-input/styles.d.ts +5 -0
  577. package/lib/internal/template/prompt-input/styles.d.ts.map +1 -0
  578. package/lib/internal/template/prompt-input/styles.js +44 -0
  579. package/lib/internal/template/prompt-input/styles.js.map +1 -0
  580. package/lib/internal/template/prompt-input/styles.scoped.css +73 -61
  581. package/lib/internal/template/prompt-input/styles.selectors.js +17 -17
  582. package/lib/internal/template/property-filter/controller.js +6 -6
  583. package/lib/internal/template/property-filter/controller.js.map +1 -1
  584. package/lib/internal/template/property-filter/filter-options.js +1 -1
  585. package/lib/internal/template/property-filter/filter-options.js.map +1 -1
  586. package/lib/internal/template/property-filter/filtering-token/index.js +11 -14
  587. package/lib/internal/template/property-filter/filtering-token/index.js.map +1 -1
  588. package/lib/internal/template/property-filter/i18n-utils.js +48 -11
  589. package/lib/internal/template/property-filter/i18n-utils.js.map +1 -1
  590. package/lib/internal/template/property-filter/index.js +4 -6
  591. package/lib/internal/template/property-filter/index.js.map +1 -1
  592. package/lib/internal/template/property-filter/internal.js +15 -13
  593. package/lib/internal/template/property-filter/internal.js.map +1 -1
  594. package/lib/internal/template/property-filter/property-editor.js +1 -1
  595. package/lib/internal/template/property-filter/property-editor.js.map +1 -1
  596. package/lib/internal/template/property-filter/property-filter-autosuggest.js +8 -4
  597. package/lib/internal/template/property-filter/property-filter-autosuggest.js.map +1 -1
  598. package/lib/internal/template/property-filter/token-editor-inputs.js +10 -9
  599. package/lib/internal/template/property-filter/token-editor-inputs.js.map +1 -1
  600. package/lib/internal/template/property-filter/token-editor.js +10 -10
  601. package/lib/internal/template/property-filter/token-editor.js.map +1 -1
  602. package/lib/internal/template/property-filter/token.js +8 -8
  603. package/lib/internal/template/property-filter/token.js.map +1 -1
  604. package/lib/internal/template/property-filter/use-load-items.js +6 -1
  605. package/lib/internal/template/property-filter/use-load-items.js.map +1 -1
  606. package/lib/internal/template/radio-group/analytics-metadata/interfaces.d.ts +1 -0
  607. package/lib/internal/template/radio-group/analytics-metadata/interfaces.d.ts.map +1 -1
  608. package/lib/internal/template/radio-group/analytics-metadata/interfaces.js.map +1 -1
  609. package/lib/internal/template/radio-group/analytics-metadata/styles.css.js +6 -0
  610. package/lib/internal/template/radio-group/analytics-metadata/styles.scoped.css +7 -0
  611. package/lib/internal/template/radio-group/analytics-metadata/styles.selectors.js +7 -0
  612. package/lib/internal/template/radio-group/index.d.ts.map +1 -1
  613. package/lib/internal/template/radio-group/index.js +10 -8
  614. package/lib/internal/template/radio-group/index.js.map +1 -1
  615. package/lib/internal/template/radio-group/internal.d.ts.map +1 -1
  616. package/lib/internal/template/radio-group/internal.js +11 -12
  617. package/lib/internal/template/radio-group/internal.js.map +1 -1
  618. package/lib/internal/template/radio-group/radio-button.js +4 -6
  619. package/lib/internal/template/radio-group/radio-button.js.map +1 -1
  620. package/lib/internal/template/radio-group/styles.css.js +10 -10
  621. package/lib/internal/template/radio-group/styles.scoped.css +22 -22
  622. package/lib/internal/template/radio-group/styles.selectors.js +10 -10
  623. package/lib/internal/template/s3-resource-selector/index.js +3 -5
  624. package/lib/internal/template/s3-resource-selector/index.js.map +1 -1
  625. package/lib/internal/template/s3-resource-selector/s3-in-context/index.js +1 -1
  626. package/lib/internal/template/s3-resource-selector/s3-in-context/index.js.map +1 -1
  627. package/lib/internal/template/s3-resource-selector/s3-in-context/search-input.js +1 -1
  628. package/lib/internal/template/s3-resource-selector/s3-in-context/search-input.js.map +1 -1
  629. package/lib/internal/template/s3-resource-selector/s3-modal/basic-table.js +4 -7
  630. package/lib/internal/template/s3-resource-selector/s3-modal/basic-table.js.map +1 -1
  631. package/lib/internal/template/s3-resource-selector/s3-modal/buckets-table.js +13 -1
  632. package/lib/internal/template/s3-resource-selector/s3-modal/buckets-table.js.map +1 -1
  633. package/lib/internal/template/s3-resource-selector/s3-modal/index.js +4 -1
  634. package/lib/internal/template/s3-resource-selector/s3-modal/index.js.map +1 -1
  635. package/lib/internal/template/s3-resource-selector/s3-modal/objects-table.js +14 -2
  636. package/lib/internal/template/s3-resource-selector/s3-modal/objects-table.js.map +1 -1
  637. package/lib/internal/template/s3-resource-selector/s3-modal/versions-table.js +13 -1
  638. package/lib/internal/template/s3-resource-selector/s3-modal/versions-table.js.map +1 -1
  639. package/lib/internal/template/segmented-control/index.js +1 -1
  640. package/lib/internal/template/segmented-control/index.js.map +1 -1
  641. package/lib/internal/template/segmented-control/internal.js +6 -8
  642. package/lib/internal/template/segmented-control/internal.js.map +1 -1
  643. package/lib/internal/template/segmented-control/segment.js +1 -1
  644. package/lib/internal/template/segmented-control/segment.js.map +1 -1
  645. package/lib/internal/template/select/index.js +2 -4
  646. package/lib/internal/template/select/index.js.map +1 -1
  647. package/lib/internal/template/select/internal.js +13 -10
  648. package/lib/internal/template/select/internal.js.map +1 -1
  649. package/lib/internal/template/select/parts/filter.js +9 -4
  650. package/lib/internal/template/select/parts/filter.js.map +1 -1
  651. package/lib/internal/template/select/parts/item.js +3 -5
  652. package/lib/internal/template/select/parts/item.js.map +1 -1
  653. package/lib/internal/template/select/parts/multiselect-item.js +3 -5
  654. package/lib/internal/template/select/parts/multiselect-item.js.map +1 -1
  655. package/lib/internal/template/select/parts/plain-list.js +1 -1
  656. package/lib/internal/template/select/parts/plain-list.js.map +1 -1
  657. package/lib/internal/template/select/parts/trigger.js +2 -2
  658. package/lib/internal/template/select/parts/trigger.js.map +1 -1
  659. package/lib/internal/template/select/parts/virtual-list.js +3 -3
  660. package/lib/internal/template/select/parts/virtual-list.js.map +1 -1
  661. package/lib/internal/template/select/utils/get-item-props.js +7 -1
  662. package/lib/internal/template/select/utils/get-item-props.js.map +1 -1
  663. package/lib/internal/template/select/utils/render-options.js +1 -1
  664. package/lib/internal/template/select/utils/render-options.js.map +1 -1
  665. package/lib/internal/template/side-navigation/implementation.js +2 -4
  666. package/lib/internal/template/side-navigation/implementation.js.map +1 -1
  667. package/lib/internal/template/side-navigation/index.js +2 -4
  668. package/lib/internal/template/side-navigation/index.js.map +1 -1
  669. package/lib/internal/template/side-navigation/parts.js +4 -4
  670. package/lib/internal/template/side-navigation/parts.js.map +1 -1
  671. package/lib/internal/template/slider/index.js +2 -4
  672. package/lib/internal/template/slider/index.js.map +1 -1
  673. package/lib/internal/template/slider/internal.js +2 -4
  674. package/lib/internal/template/slider/internal.js.map +1 -1
  675. package/lib/internal/template/slider/styles.css.js +26 -26
  676. package/lib/internal/template/slider/styles.scoped.css +86 -86
  677. package/lib/internal/template/slider/styles.selectors.js +26 -26
  678. package/lib/internal/template/slider/tick-marks.js +3 -3
  679. package/lib/internal/template/slider/tick-marks.js.map +1 -1
  680. package/lib/internal/template/space-between/index.js +2 -4
  681. package/lib/internal/template/space-between/index.js.map +1 -1
  682. package/lib/internal/template/space-between/internal.js +2 -4
  683. package/lib/internal/template/space-between/internal.js.map +1 -1
  684. package/lib/internal/template/spinner/index.js +2 -4
  685. package/lib/internal/template/spinner/index.js.map +1 -1
  686. package/lib/internal/template/spinner/internal.js +2 -4
  687. package/lib/internal/template/spinner/internal.js.map +1 -1
  688. package/lib/internal/template/spinner/styles.css.js +13 -13
  689. package/lib/internal/template/spinner/styles.scoped.css +39 -39
  690. package/lib/internal/template/spinner/styles.selectors.js +13 -13
  691. package/lib/internal/template/split-panel/bottom.js +2 -2
  692. package/lib/internal/template/split-panel/bottom.js.map +1 -1
  693. package/lib/internal/template/split-panel/implementation.js +2 -4
  694. package/lib/internal/template/split-panel/implementation.js.map +1 -1
  695. package/lib/internal/template/split-panel/index.js +16 -4
  696. package/lib/internal/template/split-panel/index.js.map +1 -1
  697. package/lib/internal/template/split-panel/side.js +6 -2
  698. package/lib/internal/template/split-panel/side.js.map +1 -1
  699. package/lib/internal/template/status-indicator/index.js +2 -4
  700. package/lib/internal/template/status-indicator/index.js.map +1 -1
  701. package/lib/internal/template/status-indicator/internal.js +3 -5
  702. package/lib/internal/template/status-indicator/internal.js.map +1 -1
  703. package/lib/internal/template/steps/index.js +2 -4
  704. package/lib/internal/template/steps/index.js.map +1 -1
  705. package/lib/internal/template/steps/internal.js +2 -4
  706. package/lib/internal/template/steps/internal.js.map +1 -1
  707. package/lib/internal/template/table/body-cell/disabled-inline-editor.js +4 -6
  708. package/lib/internal/template/table/body-cell/disabled-inline-editor.js.map +1 -1
  709. package/lib/internal/template/table/body-cell/index.js +9 -11
  710. package/lib/internal/template/table/body-cell/index.js.map +1 -1
  711. package/lib/internal/template/table/body-cell/inline-editor.js +18 -21
  712. package/lib/internal/template/table/body-cell/inline-editor.js.map +1 -1
  713. package/lib/internal/template/table/body-cell/td-element.js +3 -5
  714. package/lib/internal/template/table/body-cell/td-element.js.map +1 -1
  715. package/lib/internal/template/table/expandable-rows/expandable-rows-utils.js +1 -1
  716. package/lib/internal/template/table/expandable-rows/expandable-rows-utils.js.map +1 -1
  717. package/lib/internal/template/table/header-cell/index.js +20 -20
  718. package/lib/internal/template/table/header-cell/index.js.map +1 -1
  719. package/lib/internal/template/table/header-cell/th-element.js +3 -5
  720. package/lib/internal/template/table/header-cell/th-element.js.map +1 -1
  721. package/lib/internal/template/table/index.js +14 -10
  722. package/lib/internal/template/table/index.js.map +1 -1
  723. package/lib/internal/template/table/internal.js +47 -34
  724. package/lib/internal/template/table/internal.js.map +1 -1
  725. package/lib/internal/template/table/progressive-loading/loader-cell.js +2 -4
  726. package/lib/internal/template/table/progressive-loading/loader-cell.js.map +1 -1
  727. package/lib/internal/template/table/selection/selection-cell.js +8 -11
  728. package/lib/internal/template/table/selection/selection-cell.js.map +1 -1
  729. package/lib/internal/template/table/selection/selection-control.js +10 -12
  730. package/lib/internal/template/table/selection/selection-control.js.map +1 -1
  731. package/lib/internal/template/table/sticky-columns/use-sticky-columns.js +1 -1
  732. package/lib/internal/template/table/sticky-columns/use-sticky-columns.js.map +1 -1
  733. package/lib/internal/template/table/sticky-header.js +2 -2
  734. package/lib/internal/template/table/sticky-header.js.map +1 -1
  735. package/lib/internal/template/table/thead.js +5 -5
  736. package/lib/internal/template/table/thead.js.map +1 -1
  737. package/lib/internal/template/table/use-cell-editing.js +3 -4
  738. package/lib/internal/template/table/use-cell-editing.js.map +1 -1
  739. package/lib/internal/template/table/utils.js +1 -1
  740. package/lib/internal/template/table/utils.js.map +1 -1
  741. package/lib/internal/template/tabs/index.js +6 -8
  742. package/lib/internal/template/tabs/index.js.map +1 -1
  743. package/lib/internal/template/tabs/tab-header-bar.js +12 -5
  744. package/lib/internal/template/tabs/tab-header-bar.js.map +1 -1
  745. package/lib/internal/template/tag-editor/index.js +7 -9
  746. package/lib/internal/template/tag-editor/index.js.map +1 -1
  747. package/lib/internal/template/tag-editor/styles.css.js +3 -3
  748. package/lib/internal/template/tag-editor/styles.scoped.css +13 -13
  749. package/lib/internal/template/tag-editor/styles.selectors.js +3 -3
  750. package/lib/internal/template/text-content/index.js +2 -4
  751. package/lib/internal/template/text-content/index.js.map +1 -1
  752. package/lib/internal/template/text-content/styles.css.js +1 -1
  753. package/lib/internal/template/text-content/styles.scoped.css +66 -66
  754. package/lib/internal/template/text-content/styles.selectors.js +1 -1
  755. package/lib/internal/template/text-filter/index.js +1 -1
  756. package/lib/internal/template/text-filter/index.js.map +1 -1
  757. package/lib/internal/template/text-filter/internal.js +2 -4
  758. package/lib/internal/template/text-filter/internal.js.map +1 -1
  759. package/lib/internal/template/textarea/index.js +3 -5
  760. package/lib/internal/template/textarea/index.js.map +1 -1
  761. package/lib/internal/template/textarea/styles.css.js +5 -5
  762. package/lib/internal/template/textarea/styles.js +42 -30
  763. package/lib/internal/template/textarea/styles.js.map +1 -1
  764. package/lib/internal/template/textarea/styles.scoped.css +41 -41
  765. package/lib/internal/template/textarea/styles.selectors.js +5 -5
  766. package/lib/internal/template/tiles/index.js +3 -3
  767. package/lib/internal/template/tiles/index.js.map +1 -1
  768. package/lib/internal/template/tiles/internal.js +12 -14
  769. package/lib/internal/template/tiles/internal.js.map +1 -1
  770. package/lib/internal/template/tiles/tile.js +3 -5
  771. package/lib/internal/template/tiles/tile.js.map +1 -1
  772. package/lib/internal/template/time-input/index.js +2 -4
  773. package/lib/internal/template/time-input/index.js.map +1 -1
  774. package/lib/internal/template/time-input/internal.js +2 -4
  775. package/lib/internal/template/time-input/internal.js.map +1 -1
  776. package/lib/internal/template/toggle/index.js +1 -1
  777. package/lib/internal/template/toggle/index.js.map +1 -1
  778. package/lib/internal/template/toggle/internal.js +5 -7
  779. package/lib/internal/template/toggle/internal.js.map +1 -1
  780. package/lib/internal/template/toggle/styles.css.js +10 -10
  781. package/lib/internal/template/toggle/styles.scoped.css +23 -23
  782. package/lib/internal/template/toggle/styles.selectors.js +10 -10
  783. package/lib/internal/template/toggle-button/index.js +2 -4
  784. package/lib/internal/template/toggle-button/index.js.map +1 -1
  785. package/lib/internal/template/toggle-button/internal.js +3 -5
  786. package/lib/internal/template/toggle-button/internal.js.map +1 -1
  787. package/lib/internal/template/token/dismiss-button.js +2 -2
  788. package/lib/internal/template/token/dismiss-button.js.map +1 -1
  789. package/lib/internal/template/token/index.js +1 -1
  790. package/lib/internal/template/token/index.js.map +1 -1
  791. package/lib/internal/template/token/internal.js +20 -14
  792. package/lib/internal/template/token/internal.js.map +1 -1
  793. package/lib/internal/template/token-group/index.js +2 -4
  794. package/lib/internal/template/token-group/index.js.map +1 -1
  795. package/lib/internal/template/token-group/internal.js +6 -8
  796. package/lib/internal/template/token-group/internal.js.map +1 -1
  797. package/lib/internal/template/top-navigation/index.js +2 -4
  798. package/lib/internal/template/top-navigation/index.js.map +1 -1
  799. package/lib/internal/template/top-navigation/internal.js +2 -4
  800. package/lib/internal/template/top-navigation/internal.js.map +1 -1
  801. package/lib/internal/template/top-navigation/parts/overflow-menu/menu-item.js +7 -11
  802. package/lib/internal/template/top-navigation/parts/overflow-menu/menu-item.js.map +1 -1
  803. package/lib/internal/template/top-navigation/parts/overflow-menu/views/submenu.js +2 -2
  804. package/lib/internal/template/top-navigation/parts/overflow-menu/views/submenu.js.map +1 -1
  805. package/lib/internal/template/top-navigation/parts/overflow-menu/views/utilities.js +1 -1
  806. package/lib/internal/template/top-navigation/parts/overflow-menu/views/utilities.js.map +1 -1
  807. package/lib/internal/template/top-navigation/parts/utility.js +1 -1
  808. package/lib/internal/template/top-navigation/parts/utility.js.map +1 -1
  809. package/lib/internal/template/tree-view/index.js +1 -1
  810. package/lib/internal/template/tree-view/index.js.map +1 -1
  811. package/lib/internal/template/tree-view/internal.js +2 -4
  812. package/lib/internal/template/tree-view/internal.js.map +1 -1
  813. package/lib/internal/template/tutorial-panel/components/tutorial-detail-view/task-list.js +1 -1
  814. package/lib/internal/template/tutorial-panel/components/tutorial-detail-view/task-list.js.map +1 -1
  815. package/lib/internal/template/tutorial-panel/index.js +2 -4
  816. package/lib/internal/template/tutorial-panel/index.js.map +1 -1
  817. package/lib/internal/template/wizard/index.js +2 -4
  818. package/lib/internal/template/wizard/index.js.map +1 -1
  819. package/lib/internal/template/wizard/internal.js +23 -10
  820. package/lib/internal/template/wizard/internal.js.map +1 -1
  821. package/lib/internal/template/wizard/wizard-actions.js +3 -3
  822. package/lib/internal/template/wizard/wizard-actions.js.map +1 -1
  823. package/lib/internal/template/wizard/wizard-form.js +2 -2
  824. package/lib/internal/template/wizard/wizard-form.js.map +1 -1
  825. package/lib/internal/template/wizard/wizard-navigation.js +7 -7
  826. package/lib/internal/template/wizard/wizard-navigation.js.map +1 -1
  827. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tab-header-bar.js","sourceRoot":"","sources":["../../../src/tabs/tab-header-bar.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\n\nimport React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { useContainerQuery } from '@cloudscape-design/component-toolkit';\nimport {\n SingleTabStopNavigationAPI,\n SingleTabStopNavigationProvider,\n useMergeRefs,\n useSingleTabStopNavigation,\n} from '@cloudscape-design/component-toolkit/internal';\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport { ButtonProps } from '../button/interfaces';\nimport { InternalButton } from '../button/internal';\nimport { useInternalI18n } from '../i18n/context';\nimport { getAllFocusables } from '../internal/components/focus-lock/utils';\nimport Tooltip from '../internal/components/tooltip';\nimport { hasModifierKeys, isPlainLeftClick } from '../internal/events';\nimport useHiddenDescription from '../internal/hooks/use-hidden-description';\nimport { usePrevious } from '../internal/hooks/use-previous';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport { KeyCode } from '../internal/keycode';\nimport { circleIndex } from '../internal/utils/circle-index';\nimport { isHTMLElement } from '../internal/utils/dom';\nimport handleKey from '../internal/utils/handle-key';\nimport {\n GeneratedAnalyticsMetadataTabsComponent,\n GeneratedAnalyticsMetadataTabsDismiss,\n GeneratedAnalyticsMetadataTabsSelect,\n} from './analytics-metadata/interfaces';\nimport { TabsProps } from './interfaces';\nimport {\n hasHorizontalOverflow,\n hasInlineEndOverflow,\n hasInlineStartOverflow,\n onPaginationClick,\n scrollIntoView,\n} from './scroll-utils';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\nimport styles from './styles.css.js';\nimport testUtilStyles from './test-classes/styles.css.js';\n\nconst tabSelector = `.${styles['tabs-tab-link']}`;\nconst focusedTabSelector = `.${styles['tabs-tab-focused']}`;\nconst focusableTabSelector = `.${styles['tabs-tab-focusable']}`;\n\nfunction dismissButton({\n dismissLabel,\n dismissDisabled,\n onDismiss,\n tabId,\n}: {\n dismissLabel?: string;\n dismissDisabled?: boolean;\n onDismiss: ButtonProps['onClick'];\n tabId: string;\n}) {\n return (\n <InternalButton\n onClick={onDismiss}\n variant=\"icon\"\n iconName=\"close\"\n formAction=\"none\"\n ariaLabel={dismissLabel}\n disabled={dismissDisabled}\n className={clsx(testUtilStyles['tab-dismiss-button'], analyticsSelectors['tab-dismiss-button'])}\n data-testid={`awsui-tab-dismiss-button-${tabId}`}\n />\n );\n}\n\ninterface TabHeaderBarProps {\n onChange: (changeDetail: TabsProps.ChangeDetail) => void;\n activeTabId: TabsProps['activeTabId'];\n tabs: TabsProps['tabs'];\n variant: TabsProps['variant'];\n idNamespace: string;\n ariaLabel?: string;\n ariaLabelledby?: string;\n i18nStrings?: TabsProps.I18nStrings;\n keyboardActivationMode: Required<TabsProps['keyboardActivationMode']>;\n actions?: TabsProps['actions'];\n}\n\nexport function TabHeaderBar({\n onChange,\n activeTabId,\n tabs,\n variant,\n idNamespace,\n ariaLabel,\n ariaLabelledby,\n i18nStrings,\n keyboardActivationMode,\n actions,\n}: TabHeaderBarProps) {\n const headerBarRef = useRef<HTMLUListElement>(null);\n const activeTabHeaderRef = useRef<null | HTMLElement>(null);\n const inlineStartOverflowButton = useRef<HTMLElement>(null);\n const i18n = useInternalI18n('tabs');\n\n const isVisualRefresh = useVisualRefresh();\n\n const containerObjectRef = useRef<HTMLDivElement>(null);\n const documentRef = useRef<null | Document>(typeof document !== 'undefined' ? document : null);\n const documentRefCallback = (node: null | Element) => (documentRef.current = node?.ownerDocument ?? document);\n const [widthChange, containerMeasureRef] = useContainerQuery<number>(rect => rect.contentBoxWidth);\n const containerRef = useMergeRefs(containerObjectRef, containerMeasureRef, documentRefCallback);\n const tabRefs = useRef<Map<string, HTMLElement>>(new Map());\n const [horizontalOverflow, setHorizontalOverflow] = useState(false);\n const [inlineStartOverflow, setInlineStartOverflow] = useState(false);\n const [inlineEndOverflow, setInlineEndOverflow] = useState(false);\n const [focusedTabId, setFocusedTabId] = useState(activeTabId);\n const [previousActiveTabId, setPreviousActiveTabId] = useState<string | undefined>(activeTabId);\n const hasActionOrDismissible = tabs.some(tab => tab.action || tab.dismissible);\n const hadActionOrDismissible = usePrevious(hasActionOrDismissible);\n const tabActionAttributes = hasActionOrDismissible\n ? {\n role: 'application',\n 'aria-roledescription': i18n(\n 'i18nStrings.tabsWithActionsAriaRoleDescription',\n i18nStrings?.tabsWithActionsAriaRoleDescription\n ),\n }\n : {\n role: 'tablist',\n };\n\n useEffect(() => {\n if (hadActionOrDismissible && !hasActionOrDismissible) {\n // when tabs becomes non-dismissible (e.g. when all dismissible tabs are removed),\n // the hasActionOrDismissible is changing which causing tabs to re-mount to the React tree,\n // which, in turn, causes losing their refs, and the nextActive.focus() function inside handleDismiss does not focus on the next tab\n // so this code does\n getNextFocusTarget()?.focus();\n }\n }, [hasActionOrDismissible, hadActionOrDismissible]);\n\n useEffect(() => {\n if (headerBarRef.current) {\n setHorizontalOverflow(hasHorizontalOverflow(headerBarRef.current, inlineStartOverflowButton));\n setInlineStartOverflow(hasInlineStartOverflow(headerBarRef.current));\n setInlineEndOverflow(hasInlineEndOverflow(headerBarRef.current));\n }\n }, [widthChange, tabs]);\n\n const scrollIntoViewIfPossible = (smooth: boolean) => {\n if (!activeTabId) {\n return;\n }\n const activeTabRef = tabRefs.current.get(activeTabId);\n if (activeTabRef && headerBarRef.current) {\n scrollIntoView(activeTabRef, headerBarRef.current, smooth);\n }\n };\n\n useEffect(() => {\n // Delay scrollIntoView as the position is depending on parent elements\n // (effects are called inside-out in the component tree).\n // Wait one frame to allow parents to complete it's calculation.\n requestAnimationFrame(() => {\n scrollIntoViewIfPossible(false);\n });\n // Non-smooth scrolling should not be called upon activeId change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [horizontalOverflow, widthChange, tabs.length]);\n\n useEffect(() => {\n scrollIntoViewIfPossible(true);\n // Smooth scrolling should only be called upon activeId change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeTabId]);\n\n useEffect(() => {\n /*\n When the selected tab changes and we are currently already focused on a tab,\n move the focus to the newly selected tab.\n */\n if (documentRef.current && headerBarRef.current?.contains(documentRef.current.activeElement)) {\n if (documentRef.current.activeElement !== activeTabHeaderRef.current) {\n activeTabHeaderRef.current?.focus({ preventScroll: true });\n }\n }\n }, [activeTabId]);\n\n const onScroll = () => {\n if (headerBarRef.current) {\n setInlineStartOverflow(hasInlineStartOverflow(headerBarRef.current));\n setInlineEndOverflow(hasInlineEndOverflow(headerBarRef.current));\n }\n };\n\n const classes = clsx({\n [styles['tabs-header']]: true,\n [styles['tabs-header-with-divider']]: variant === 'default' || isVisualRefresh,\n });\n\n const leftButtonClasses = clsx({\n [styles['pagination-button']]: true,\n [styles['pagination-button-left']]: true,\n [styles['pagination-button-left-scrollable']]: inlineStartOverflow,\n });\n\n const rightButtonClasses = clsx({\n [styles['pagination-button']]: true,\n [styles['pagination-button-right']]: true,\n [styles['pagination-button-right-scrollable']]: inlineEndOverflow,\n });\n\n const navigationAPI = useRef<SingleTabStopNavigationAPI>(null);\n\n function getNextFocusTarget(): null | HTMLElement {\n if (!containerObjectRef.current) {\n return null;\n }\n const tabElements: HTMLButtonElement[] = Array.from(containerObjectRef.current.querySelectorAll(tabSelector));\n return tabElements.find(tab => tab.matches(focusedTabSelector)) ?? tabElements.find(tab => !tab.disabled) ?? null;\n }\n\n function onUnregisterActive(focusableElement: HTMLElement) {\n const isFocusableActionOrDismissible = !focusableElement.classList.contains(styles['tabs-tab-link']);\n if (!isFocusableActionOrDismissible) {\n const nextFocusTarget = navigationAPI.current?.getFocusTarget();\n const tabLinkButton = nextFocusTarget?.querySelector(`.${styles['tabs-tab-link']}`) as HTMLElement;\n tabLinkButton?.focus();\n }\n }\n\n useEffect(() => {\n navigationAPI.current?.updateFocusTarget();\n });\n function onFocus() {\n navigationAPI.current?.updateFocusTarget();\n }\n function onBlur() {\n navigationAPI.current?.updateFocusTarget();\n }\n\n function onKeyDown(event: React.KeyboardEvent) {\n const focusTarget = documentRef.current?.activeElement;\n const specialKeys = [\n KeyCode.right,\n KeyCode.left,\n KeyCode.end,\n KeyCode.home,\n KeyCode.pageUp,\n KeyCode.pageDown,\n KeyCode.space,\n ];\n const isActionOpen = documentRef.current?.querySelector(`.${styles['tabs-tab-action']} [aria-expanded=\"true\"]`);\n const isDismissOrActionFocused = !focusTarget?.classList.contains(styles['tabs-tab-link']);\n\n if (isActionOpen) {\n return;\n }\n if (event.key === 'Tab' && !event.shiftKey && isDismissOrActionFocused) {\n event.preventDefault();\n const panelId = `${idNamespace}-${activeTabId}-panel`;\n const panel = documentRef.current?.getElementById(panelId);\n panel?.focus();\n }\n if (hasModifierKeys(event) || specialKeys.indexOf(event.keyCode) === -1) {\n return;\n }\n if (!containerObjectRef.current || !focusTarget) {\n return;\n }\n\n event.preventDefault();\n\n const focusables = getFocusablesFrom(containerObjectRef.current);\n const activeIndex = isHTMLElement(focusTarget) ? focusables.indexOf(focusTarget) : -1;\n\n handleKey(event as any, {\n onHome: () => focusElement(focusables[0]),\n onEnd: () => focusElement(focusables[focusables.length - 1]),\n onInlineStart: () => focusElement(focusables[circleIndex(activeIndex - 1, [0, focusables.length - 1])]),\n onInlineEnd: () => focusElement(focusables[circleIndex(activeIndex + 1, [0, focusables.length - 1])]),\n onPageDown: () => inlineEndOverflow && onPaginationClick(headerBarRef, 'forward'),\n onPageUp: () => inlineStartOverflow && onPaginationClick(headerBarRef, 'backward'),\n onActivate: () =>\n focusedTabId &&\n focusedTabId !== activeTabId &&\n onChange({ activeTabId: focusedTabId, activeTabHref: tabs.find(tab => tab.id === focusedTabId)?.href }),\n });\n }\n function focusElement(element: HTMLElement) {\n element.focus();\n // If focusable element is a tab - fire the onChange for it.\n const tabsById = tabs.reduce((map, tab) => map.set(tab.id, tab), new Map<string, TabsProps.Tab>());\n for (const [tabId, focusTargetTabTriggerElement] of tabRefs.current.entries()) {\n const focusTargetTabLabelElement = focusTargetTabTriggerElement?.querySelector(`.${styles['tabs-tab-link']}`);\n if (tabId !== activeTabId && focusTargetTabLabelElement === element) {\n setPreviousActiveTabId(tabId);\n setFocusedTabId(tabId);\n\n if (!tabsById.get(tabId)?.disabled && keyboardActivationMode === 'automatic') {\n onChange({ activeTabId: tabId, activeTabHref: tabsById.get(tabId)?.href });\n }\n break;\n }\n }\n }\n // List all non-disabled and registered focusables: those are eligible for keyboard navigation.\n function getFocusablesFrom(target: HTMLElement) {\n function isElementRegistered(element: HTMLElement) {\n return navigationAPI.current?.isRegistered(element) ?? false;\n }\n function isElementFocusable(element: HTMLElement) {\n if (element instanceof HTMLButtonElement) {\n return !element.disabled || element.closest(focusableTabSelector);\n }\n\n return element.matches(focusableTabSelector);\n }\n return getAllFocusables(target).filter(el => isElementRegistered(el) && isElementFocusable(el));\n }\n\n const TabList = hasActionOrDismissible ? 'div' : 'ul';\n\n return (\n <div className={classes}>\n <div className={styles['tab-header-scroll-container']} ref={containerRef}>\n {horizontalOverflow && (\n <span ref={inlineStartOverflowButton} className={leftButtonClasses}>\n <InternalButton\n formAction=\"none\"\n variant=\"icon\"\n iconName=\"angle-left\"\n disabled={!inlineStartOverflow}\n __focusable={true}\n onClick={() => onPaginationClick(headerBarRef, 'backward')}\n ariaLabel={i18n('i18nStrings.scrollLeftAriaLabel', i18nStrings?.scrollLeftAriaLabel)}\n />\n </span>\n )}\n <SingleTabStopNavigationProvider\n ref={navigationAPI}\n navigationActive={true}\n getNextFocusTarget={getNextFocusTarget}\n onUnregisterActive={onUnregisterActive}\n >\n <TabList\n {...tabActionAttributes}\n className={clsx(styles['tabs-header-list'], analyticsSelectors['tabs-header-list'])}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n ref={headerBarRef as never}\n onScroll={onScroll}\n onKeyDown={onKeyDown}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {tabs.map(renderTabHeader)}\n </TabList>\n </SingleTabStopNavigationProvider>\n {horizontalOverflow && (\n <span className={rightButtonClasses}>\n <InternalButton\n formAction=\"none\"\n variant=\"icon\"\n iconName=\"angle-right\"\n disabled={!inlineEndOverflow}\n __focusable={true}\n onClick={() => onPaginationClick(headerBarRef, 'forward')}\n ariaLabel={i18n('i18nStrings.scrollRightAriaLabel', i18nStrings?.scrollRightAriaLabel)}\n />\n </span>\n )}\n </div>\n {actions && <div className={styles['actions-container']}>{actions}</div>}\n </div>\n );\n\n function renderTabHeader(tab: TabsProps.Tab, index: number) {\n const { dismissible, dismissLabel, dismissDisabled, action, onDismiss } = tab;\n const isActive = activeTabId === tab.id && !tab.disabled;\n\n const clickTab = (event: React.MouseEvent) => {\n if (tab.disabled) {\n event.preventDefault();\n return;\n }\n\n // if the primary mouse button is clicked with a modifier key, the browser will handle opening a new tab\n const specialKey = !isPlainLeftClick(event);\n if (specialKey && tab.href) {\n return;\n }\n\n event.preventDefault();\n // for browsers that do not focus buttons on button click\n if (!tab.href) {\n const clickedTabRef = tabRefs.current.get(tab.id) as undefined | HTMLButtonElement;\n if (clickedTabRef) {\n if (clickedTabRef && clickedTabRef !== documentRef.current?.activeElement) {\n clickedTabRef.focus({ preventScroll: true });\n }\n }\n }\n\n if (tab.id === activeTabId) {\n return;\n }\n\n setFocusedTabId(tab.id);\n setPreviousActiveTabId(tab.id);\n onChange({ activeTabId: tab.id, activeTabHref: tab.href });\n };\n\n const classes = clsx({\n [styles['tabs-tab-link']]: true,\n [styles.refresh]: isVisualRefresh,\n [styles['tabs-tab-active']]: activeTabId === tab.id && !tab.disabled,\n [styles['tabs-tab-focused']]: focusedTabId === tab.id,\n [styles['tabs-tab-active']]: isActive,\n [analyticsSelectors['active-tab-header']]: isActive,\n [styles['tabs-tab-disabled']]: tab.disabled,\n [styles['tabs-tab-focusable']]: !tab.disabled || (tab.disabled && !!tab.disabledReason),\n });\n\n const tabHeaderContainerClasses = clsx({\n [styles['tabs-tab-header-container']]: true,\n [styles.refresh]: isVisualRefresh,\n [styles['tabs-tab-active']]: isActive,\n [styles['tabs-tab-disabled']]: tab.disabled,\n [styles['tabs-tab-focusable']]: !tab.disabled || (tab.disabled && !!tab.disabledReason),\n });\n\n const tabActionClasses = clsx({\n [styles['tabs-tab-action']]: true,\n [styles['tabs-tab-active']]: isActive,\n });\n\n const commonProps: (JSX.IntrinsicElements['a'] | JSX.IntrinsicElements['button']) & { 'data-testid': string } = {\n className: classes,\n 'aria-controls': `${idNamespace}-${tab.id}-panel`,\n 'data-testid': tab.id,\n id: getTabElementId({ namespace: idNamespace, tabId: tab.id }),\n onClick: clickTab,\n };\n\n const tabHeaderContainerAriaProps = hasActionOrDismissible\n ? {\n role: 'group',\n 'aria-labelledby': commonProps.id,\n }\n : {};\n\n if (!hasActionOrDismissible) {\n commonProps['aria-selected'] = activeTabId === tab.id;\n commonProps.role = 'tab';\n } else {\n commonProps['aria-expanded'] = activeTabId === tab.id;\n }\n\n if (tab.disabled) {\n commonProps['aria-disabled'] = 'true';\n }\n\n const setElement = (tabElement: null | HTMLElement) => {\n if (tab.id === activeTabId) {\n activeTabHeaderRef.current = tabElement;\n }\n tabRefs.current.set(tab.id, tabElement as HTMLElement);\n };\n\n const handleDismiss: ButtonProps['onClick'] = event => {\n if (!containerObjectRef.current || !onDismiss) {\n return;\n }\n const tabElements = getFocusablesFrom(containerObjectRef.current).filter(el =>\n el.classList.contains(styles['tabs-tab-link'])\n );\n const activeTabIndex = tabElements.findIndex(el => el.dataset.testid === tab.id);\n tabElements.splice(activeTabIndex, 1);\n let nextActive: HTMLElement | undefined;\n if (previousActiveTabId && previousActiveTabId !== tab.id) {\n nextActive = tabElements.find(el => el.dataset.testid === previousActiveTabId);\n } else {\n nextActive = tabElements[Math.min(tabElements.length - 1, activeTabIndex)];\n }\n if (nextActive && nextActive.dataset.testid) {\n onChange({ activeTabId: nextActive.dataset.testid });\n setPreviousActiveTabId(nextActive.dataset.testid);\n nextActive.focus();\n }\n onDismiss(event);\n };\n\n const TabItem = hasActionOrDismissible ? 'div' : 'li';\n\n const analyticsDismissMetadata: GeneratedAnalyticsMetadataTabsDismiss = {\n action: 'dismiss',\n detail: {\n id: tab.id,\n label: `.${analyticsSelectors['tab-dismiss-button']}`,\n position: `${index + 1}`,\n },\n };\n\n const analyticsComponentMetadataInnerContext: Partial<GeneratedAnalyticsMetadataTabsComponent> = {\n innerContext: {\n tabId: tab.id,\n tabLabel: `.${analyticsSelectors['tab-label']}`,\n tabPosition: `${index + 1}`,\n },\n };\n\n return (\n <TabItem\n ref={(element: any) => tabRefs.current.set(tab.id, element as HTMLElement)}\n className={styles['tabs-tab']}\n role=\"presentation\"\n key={tab.id}\n >\n <div\n className={tabHeaderContainerClasses}\n {...tabHeaderContainerAriaProps}\n {...getAnalyticsMetadataAttribute({ component: analyticsComponentMetadataInnerContext })}\n >\n <TabTrigger ref={setElement} tab={tab} elementProps={commonProps} activeTabId={activeTabId} index={index} />\n {action && <span className={tabActionClasses}>{action}</span>}\n {dismissible && (\n <span className={styles['tabs-tab-dismiss']} {...getAnalyticsMetadataAttribute(analyticsDismissMetadata)}>\n {dismissButton({ dismissLabel, dismissDisabled, onDismiss: handleDismiss, tabId: tab.id })}\n </span>\n )}\n </div>\n </TabItem>\n );\n }\n}\n\ninterface TabTriggerProps {\n tab: TabsProps.Tab;\n elementProps: React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>;\n activeTabId?: string;\n index: number;\n}\nconst TabTrigger = forwardRef(\n ({ tab, elementProps, activeTabId, index }: TabTriggerProps, ref: React.Ref<HTMLElement>) => {\n const refObject = useRef<HTMLElement>(null);\n const tabLabelRefObject = useRef<HTMLElement>(null);\n const mergedRef = useMergeRefs(refObject, ref);\n const { tabIndex } = useSingleTabStopNavigation(refObject);\n const isDisabledWithReason = tab.disabled && !!tab.disabledReason;\n const [showTooltip, setShowTooltip] = useState(false);\n const { targetProps, descriptionEl } = useHiddenDescription(tab.disabledReason);\n const children = (\n <>\n <span className={clsx(styles['tabs-tab-label'], analyticsSelectors['tab-label'])} ref={tabLabelRefObject}>\n {/* The label is wrapped with span so that whitespaces inside don't get trimmed. */}\n <span>{tab.label}</span>\n </span>\n {isDisabledWithReason && (\n <>\n {descriptionEl}\n {showTooltip && (\n <Tooltip\n className={styles['disabled-reason-tooltip']}\n trackRef={tabLabelRefObject}\n value={tab.disabledReason!}\n onDismiss={() => setShowTooltip(false)}\n />\n )}\n </>\n )}\n </>\n );\n\n const handlers = {\n onFocus: () => setShowTooltip(true),\n onBlur: () => setShowTooltip(false),\n onMouseEnter: () => setShowTooltip(true),\n onMouseLeave: () => setShowTooltip(false),\n };\n\n const analyticsSelectMetadata: GeneratedAnalyticsMetadataTabsSelect = {\n action: 'select',\n detail: {\n id: tab.id,\n label: `.${analyticsSelectors['tab-label']}`,\n position: `${index + 1}`,\n originTabId: activeTabId || '',\n },\n };\n\n const commonProps = {\n ...elementProps,\n ...(isDisabledWithReason ? targetProps : {}),\n ...(isDisabledWithReason ? handlers : {}),\n ref: mergedRef,\n tabIndex: tabIndex,\n ...(tab.disabled || tab.id === activeTabId ? {} : getAnalyticsMetadataAttribute(analyticsSelectMetadata)),\n };\n\n return tab.href ? (\n <a {...commonProps} href={tab.href}>\n {children}\n </a>\n ) : (\n <button {...commonProps} type=\"button\" disabled={tab.disabled && !isDisabledWithReason}>\n {children}\n </button>\n );\n }\n);\n\nexport function getTabElementId({ namespace, tabId }: { namespace: string; tabId: string }) {\n return namespace + '-' + tabId;\n}\n"]}
1
+ {"version":3,"file":"tab-header-bar.js","sourceRoot":"","sources":["../../../src/tabs/tab-header-bar.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\n\nimport React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { useContainerQuery } from '@cloudscape-design/component-toolkit';\nimport {\n SingleTabStopNavigationAPI,\n SingleTabStopNavigationProvider,\n useMergeRefs,\n useSingleTabStopNavigation,\n} from '@cloudscape-design/component-toolkit/internal';\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport { ButtonProps } from '../button/interfaces';\nimport { InternalButton } from '../button/internal';\nimport { useInternalI18n } from '../i18n/context';\nimport { getAllFocusables } from '../internal/components/focus-lock/utils';\nimport Tooltip from '../internal/components/tooltip';\nimport { hasModifierKeys, isPlainLeftClick } from '../internal/events';\nimport useHiddenDescription from '../internal/hooks/use-hidden-description';\nimport { usePrevious } from '../internal/hooks/use-previous';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport { KeyCode } from '../internal/keycode';\nimport { circleIndex } from '../internal/utils/circle-index';\nimport { isHTMLElement } from '../internal/utils/dom';\nimport handleKey from '../internal/utils/handle-key';\nimport {\n GeneratedAnalyticsMetadataTabsComponent,\n GeneratedAnalyticsMetadataTabsDismiss,\n GeneratedAnalyticsMetadataTabsSelect,\n} from './analytics-metadata/interfaces';\nimport { TabsProps } from './interfaces';\nimport {\n hasHorizontalOverflow,\n hasInlineEndOverflow,\n hasInlineStartOverflow,\n onPaginationClick,\n scrollIntoView,\n} from './scroll-utils';\n\nimport analyticsSelectors from './analytics-metadata/styles.css.js';\nimport styles from './styles.css.js';\nimport testUtilStyles from './test-classes/styles.css.js';\n\nconst tabSelector = `.${styles['tabs-tab-link']}`;\nconst focusedTabSelector = `.${styles['tabs-tab-focused']}`;\nconst focusableTabSelector = `.${styles['tabs-tab-focusable']}`;\n\nfunction dismissButton({\n dismissLabel,\n dismissDisabled,\n onDismiss,\n tabId,\n}: {\n dismissLabel?: string;\n dismissDisabled?: boolean;\n onDismiss: ButtonProps['onClick'];\n tabId: string;\n}) {\n return (\n <InternalButton\n onClick={onDismiss}\n variant=\"icon\"\n iconName=\"close\"\n formAction=\"none\"\n ariaLabel={dismissLabel}\n disabled={dismissDisabled}\n className={clsx(testUtilStyles['tab-dismiss-button'], analyticsSelectors['tab-dismiss-button'])}\n data-testid={`awsui-tab-dismiss-button-${tabId}`}\n />\n );\n}\n\ninterface TabHeaderBarProps {\n onChange: (changeDetail: TabsProps.ChangeDetail) => void;\n activeTabId: TabsProps['activeTabId'];\n tabs: TabsProps['tabs'];\n variant: TabsProps['variant'];\n idNamespace: string;\n ariaLabel?: string;\n ariaLabelledby?: string;\n i18nStrings?: TabsProps.I18nStrings;\n keyboardActivationMode: Required<TabsProps['keyboardActivationMode']>;\n actions?: TabsProps['actions'];\n}\n\nexport function TabHeaderBar({\n onChange,\n activeTabId,\n tabs,\n variant,\n idNamespace,\n ariaLabel,\n ariaLabelledby,\n i18nStrings,\n keyboardActivationMode,\n actions,\n}: TabHeaderBarProps) {\n const headerBarRef = useRef<HTMLUListElement>(null);\n const activeTabHeaderRef = useRef<null | HTMLElement>(null);\n const inlineStartOverflowButton = useRef<HTMLElement>(null);\n const i18n = useInternalI18n('tabs');\n\n const isVisualRefresh = useVisualRefresh();\n\n const containerObjectRef = useRef<HTMLDivElement>(null);\n const documentRef = useRef<null | Document>(typeof document !== 'undefined' ? document : null);\n const documentRefCallback = (node: null | Element) => (documentRef.current = node?.ownerDocument ?? document);\n const [widthChange, containerMeasureRef] = useContainerQuery<number>(rect => rect.contentBoxWidth);\n const containerRef = useMergeRefs(containerObjectRef, containerMeasureRef, documentRefCallback);\n const tabRefs = useRef<Map<string, HTMLElement>>(new Map());\n const [horizontalOverflow, setHorizontalOverflow] = useState(false);\n const [inlineStartOverflow, setInlineStartOverflow] = useState(false);\n const [inlineEndOverflow, setInlineEndOverflow] = useState(false);\n const [focusedTabId, setFocusedTabId] = useState(activeTabId);\n const [previousActiveTabId, setPreviousActiveTabId] = useState<string | undefined>(activeTabId);\n const hasActionOrDismissible = tabs.some(tab => tab.action || tab.dismissible);\n const hadActionOrDismissible = usePrevious(hasActionOrDismissible);\n const tabActionAttributes = hasActionOrDismissible\n ? {\n role: 'application',\n 'aria-roledescription': i18n(\n 'i18nStrings.tabsWithActionsAriaRoleDescription',\n i18nStrings?.tabsWithActionsAriaRoleDescription\n ),\n }\n : {\n role: 'tablist',\n };\n\n useEffect(() => {\n if (hadActionOrDismissible && !hasActionOrDismissible) {\n // when tabs becomes non-dismissible (e.g. when all dismissible tabs are removed),\n // the hasActionOrDismissible is changing which causing tabs to re-mount to the React tree,\n // which, in turn, causes losing their refs, and the nextActive.focus() function inside handleDismiss does not focus on the next tab\n // so this code does\n getNextFocusTarget()?.focus();\n }\n }, [hasActionOrDismissible, hadActionOrDismissible]);\n\n useEffect(() => {\n if (headerBarRef.current) {\n setHorizontalOverflow(hasHorizontalOverflow(headerBarRef.current, inlineStartOverflowButton));\n setInlineStartOverflow(hasInlineStartOverflow(headerBarRef.current));\n setInlineEndOverflow(hasInlineEndOverflow(headerBarRef.current));\n }\n }, [widthChange, tabs]);\n\n const scrollIntoViewIfPossible = (smooth: boolean) => {\n if (!activeTabId) {\n return;\n }\n const activeTabRef = tabRefs.current.get(activeTabId);\n if (activeTabRef && headerBarRef.current) {\n scrollIntoView(activeTabRef, headerBarRef.current, smooth);\n }\n };\n\n useEffect(() => {\n // Delay scrollIntoView as the position is depending on parent elements\n // (effects are called inside-out in the component tree).\n // Wait one frame to allow parents to complete it's calculation.\n requestAnimationFrame(() => {\n scrollIntoViewIfPossible(false);\n });\n // Non-smooth scrolling should not be called upon activeId change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [horizontalOverflow, widthChange, tabs.length]);\n\n useEffect(() => {\n scrollIntoViewIfPossible(true);\n // Smooth scrolling should only be called upon activeId change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeTabId]);\n\n useEffect(() => {\n /*\n When the selected tab changes and we are currently already focused on a tab,\n move the focus to the newly selected tab.\n */\n if (documentRef.current && headerBarRef.current?.contains(documentRef.current.activeElement)) {\n if (documentRef.current.activeElement !== activeTabHeaderRef.current) {\n activeTabHeaderRef.current?.focus({ preventScroll: true });\n }\n }\n }, [activeTabId]);\n\n const onScroll = () => {\n if (headerBarRef.current) {\n setInlineStartOverflow(hasInlineStartOverflow(headerBarRef.current));\n setInlineEndOverflow(hasInlineEndOverflow(headerBarRef.current));\n }\n };\n\n const classes = clsx({\n [styles['tabs-header']]: true,\n [styles['tabs-header-with-divider']]: variant === 'default' || isVisualRefresh,\n });\n\n const leftButtonClasses = clsx({\n [styles['pagination-button']]: true,\n [styles['pagination-button-left']]: true,\n [styles['pagination-button-left-scrollable']]: inlineStartOverflow,\n });\n\n const rightButtonClasses = clsx({\n [styles['pagination-button']]: true,\n [styles['pagination-button-right']]: true,\n [styles['pagination-button-right-scrollable']]: inlineEndOverflow,\n });\n\n const navigationAPI = useRef<SingleTabStopNavigationAPI>(null);\n\n function getNextFocusTarget(): null | HTMLElement {\n if (!containerObjectRef.current) {\n return null;\n }\n const tabElements: HTMLButtonElement[] = Array.from(containerObjectRef.current.querySelectorAll(tabSelector));\n return tabElements.find(tab => tab.matches(focusedTabSelector)) ?? tabElements.find(tab => !tab.disabled) ?? null;\n }\n\n function onUnregisterActive(focusableElement: HTMLElement) {\n const isFocusableActionOrDismissible = !focusableElement.classList.contains(styles['tabs-tab-link']);\n if (!isFocusableActionOrDismissible) {\n const nextFocusTarget = navigationAPI.current?.getFocusTarget();\n const tabLinkButton = nextFocusTarget?.querySelector(`.${styles['tabs-tab-link']}`) as HTMLElement;\n tabLinkButton?.focus();\n }\n }\n\n useEffect(() => {\n navigationAPI.current?.updateFocusTarget();\n });\n function onFocus() {\n navigationAPI.current?.updateFocusTarget();\n }\n function onBlur() {\n navigationAPI.current?.updateFocusTarget();\n }\n\n function onKeyDown(event: React.KeyboardEvent) {\n const focusTarget = documentRef.current?.activeElement;\n const specialKeys = [\n KeyCode.right,\n KeyCode.left,\n KeyCode.end,\n KeyCode.home,\n KeyCode.pageUp,\n KeyCode.pageDown,\n KeyCode.space,\n ];\n const isActionOpen = documentRef.current?.querySelector(`.${styles['tabs-tab-action']} [aria-expanded=\"true\"]`);\n const isDismissOrActionFocused = !focusTarget?.classList.contains(styles['tabs-tab-link']);\n\n if (isActionOpen) {\n return;\n }\n if (event.key === 'Tab' && !event.shiftKey && isDismissOrActionFocused) {\n event.preventDefault();\n const panelId = `${idNamespace}-${activeTabId}-panel`;\n const panel = documentRef.current?.getElementById(panelId);\n panel?.focus();\n }\n if (hasModifierKeys(event) || specialKeys.indexOf(event.keyCode) === -1) {\n return;\n }\n if (!containerObjectRef.current || !focusTarget) {\n return;\n }\n\n event.preventDefault();\n\n const focusables = getFocusablesFrom(containerObjectRef.current);\n const activeIndex = isHTMLElement(focusTarget) ? focusables.indexOf(focusTarget) : -1;\n\n handleKey(event as any, {\n onHome: () => focusElement(focusables[0]),\n onEnd: () => focusElement(focusables[focusables.length - 1]),\n onInlineStart: () => focusElement(focusables[circleIndex(activeIndex - 1, [0, focusables.length - 1])]),\n onInlineEnd: () => focusElement(focusables[circleIndex(activeIndex + 1, [0, focusables.length - 1])]),\n onPageDown: () => inlineEndOverflow && onPaginationClick(headerBarRef, 'forward'),\n onPageUp: () => inlineStartOverflow && onPaginationClick(headerBarRef, 'backward'),\n onActivate: () =>\n focusedTabId &&\n focusedTabId !== activeTabId &&\n onChange({ activeTabId: focusedTabId, activeTabHref: tabs.find(tab => tab.id === focusedTabId)?.href }),\n });\n }\n function focusElement(element: HTMLElement) {\n element.focus();\n // If focusable element is a tab - fire the onChange for it.\n const tabsById = tabs.reduce((map, tab) => map.set(tab.id, tab), new Map<string, TabsProps.Tab>());\n for (const [tabId, focusTargetTabTriggerElement] of tabRefs.current.entries()) {\n const focusTargetTabLabelElement = focusTargetTabTriggerElement?.querySelector(`.${styles['tabs-tab-link']}`);\n if (tabId !== activeTabId && focusTargetTabLabelElement === element) {\n setPreviousActiveTabId(tabId);\n setFocusedTabId(tabId);\n\n if (!tabsById.get(tabId)?.disabled && keyboardActivationMode === 'automatic') {\n onChange({ activeTabId: tabId, activeTabHref: tabsById.get(tabId)?.href });\n }\n break;\n }\n }\n }\n // List all non-disabled and registered focusables: those are eligible for keyboard navigation.\n function getFocusablesFrom(target: HTMLElement) {\n function isElementRegistered(element: HTMLElement) {\n return navigationAPI.current?.isRegistered(element) ?? false;\n }\n function isElementFocusable(element: HTMLElement) {\n if (element instanceof HTMLButtonElement) {\n return !element.disabled || element.closest(focusableTabSelector);\n }\n\n return element.matches(focusableTabSelector);\n }\n return getAllFocusables(target).filter(el => isElementRegistered(el) && isElementFocusable(el));\n }\n\n const TabList = hasActionOrDismissible ? 'div' : 'ul';\n\n return (\n <div className={classes}>\n <div className={styles['tab-header-scroll-container']} ref={containerRef}>\n {horizontalOverflow && (\n <span ref={inlineStartOverflowButton} className={leftButtonClasses}>\n <InternalButton\n formAction=\"none\"\n variant=\"icon\"\n iconName=\"angle-left\"\n disabled={!inlineStartOverflow}\n __focusable={true}\n onClick={() => onPaginationClick(headerBarRef, 'backward')}\n ariaLabel={i18n('i18nStrings.scrollLeftAriaLabel', i18nStrings?.scrollLeftAriaLabel)}\n />\n </span>\n )}\n <SingleTabStopNavigationProvider\n ref={navigationAPI}\n navigationActive={true}\n getNextFocusTarget={getNextFocusTarget}\n onUnregisterActive={onUnregisterActive}\n >\n <TabList\n {...tabActionAttributes}\n className={clsx(styles['tabs-header-list'], analyticsSelectors['tabs-header-list'])}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n ref={headerBarRef as never}\n onScroll={onScroll}\n onKeyDown={onKeyDown}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {tabs.map(renderTabHeader)}\n </TabList>\n </SingleTabStopNavigationProvider>\n {horizontalOverflow && (\n <span className={rightButtonClasses}>\n <InternalButton\n formAction=\"none\"\n variant=\"icon\"\n iconName=\"angle-right\"\n disabled={!inlineEndOverflow}\n __focusable={true}\n onClick={() => onPaginationClick(headerBarRef, 'forward')}\n ariaLabel={i18n('i18nStrings.scrollRightAriaLabel', i18nStrings?.scrollRightAriaLabel)}\n />\n </span>\n )}\n </div>\n {actions && <div className={styles['actions-container']}>{actions}</div>}\n </div>\n );\n\n function renderTabHeader(tab: TabsProps.Tab, index: number) {\n const { dismissible, dismissLabel, dismissDisabled, action, onDismiss } = tab;\n const isActive = activeTabId === tab.id && !tab.disabled;\n\n const clickTab = (event: React.MouseEvent) => {\n if (tab.disabled) {\n event.preventDefault();\n return;\n }\n\n // if the primary mouse button is clicked with a modifier key, the browser will handle opening a new tab\n const specialKey = !isPlainLeftClick(event);\n if (specialKey && tab.href) {\n return;\n }\n\n event.preventDefault();\n // for browsers that do not focus buttons on button click\n if (!tab.href) {\n const clickedTabRef = tabRefs.current.get(tab.id) as undefined | HTMLButtonElement;\n if (clickedTabRef) {\n if (clickedTabRef && clickedTabRef !== documentRef.current?.activeElement) {\n clickedTabRef.focus({ preventScroll: true });\n }\n }\n }\n\n if (tab.id === activeTabId) {\n return;\n }\n\n setFocusedTabId(tab.id);\n setPreviousActiveTabId(tab.id);\n onChange({ activeTabId: tab.id, activeTabHref: tab.href });\n };\n\n const classes = clsx({\n [styles['tabs-tab-link']]: true,\n [styles.refresh]: isVisualRefresh,\n [styles['tabs-tab-active']]: activeTabId === tab.id && !tab.disabled,\n [styles['tabs-tab-focused']]: focusedTabId === tab.id,\n [styles['tabs-tab-active']]: isActive,\n [analyticsSelectors['active-tab-header']]: isActive,\n [styles['tabs-tab-disabled']]: tab.disabled,\n [styles['tabs-tab-focusable']]: !tab.disabled || (tab.disabled && !!tab.disabledReason),\n });\n\n const tabHeaderContainerClasses = clsx({\n [styles['tabs-tab-header-container']]: true,\n [styles.refresh]: isVisualRefresh,\n [styles['tabs-tab-active']]: isActive,\n [styles['tabs-tab-disabled']]: tab.disabled,\n [styles['tabs-tab-focusable']]: !tab.disabled || (tab.disabled && !!tab.disabledReason),\n });\n\n const tabActionClasses = clsx({\n [styles['tabs-tab-action']]: true,\n [styles['tabs-tab-active']]: isActive,\n });\n\n const commonProps: (JSX.IntrinsicElements['a'] | JSX.IntrinsicElements['button']) & { 'data-testid': string } = {\n className: classes,\n 'aria-controls': `${idNamespace}-${tab.id}-panel`,\n 'data-testid': tab.id,\n id: getTabElementId({ namespace: idNamespace, tabId: tab.id }),\n onClick: clickTab,\n };\n\n const tabHeaderContainerAriaProps = hasActionOrDismissible\n ? {\n role: 'group',\n 'aria-labelledby': commonProps.id,\n }\n : {};\n\n if (!hasActionOrDismissible) {\n commonProps['aria-selected'] = activeTabId === tab.id;\n commonProps.role = 'tab';\n } else {\n commonProps['aria-expanded'] = activeTabId === tab.id;\n }\n\n if (tab.disabled) {\n commonProps['aria-disabled'] = 'true';\n }\n\n const setElement = (tabElement: null | HTMLElement) => {\n if (tab.id === activeTabId) {\n activeTabHeaderRef.current = tabElement;\n }\n tabRefs.current.set(tab.id, tabElement as HTMLElement);\n };\n\n const handleDismiss: ButtonProps['onClick'] = event => {\n if (!containerObjectRef.current || !onDismiss) {\n return;\n }\n const tabElements = getFocusablesFrom(containerObjectRef.current).filter(el =>\n el.classList.contains(styles['tabs-tab-link'])\n );\n const activeTabIndex = tabElements.findIndex(el => el.dataset.testid === tab.id);\n tabElements.splice(activeTabIndex, 1);\n let nextActive: HTMLElement | undefined;\n if (previousActiveTabId && previousActiveTabId !== tab.id) {\n nextActive = tabElements.find(el => el.dataset.testid === previousActiveTabId);\n } else {\n nextActive = tabElements[Math.min(tabElements.length - 1, activeTabIndex)];\n }\n if (nextActive && nextActive.dataset.testid) {\n onChange({ activeTabId: nextActive.dataset.testid });\n setPreviousActiveTabId(nextActive.dataset.testid);\n nextActive.focus();\n }\n onDismiss(event);\n };\n\n const TabItem = hasActionOrDismissible ? 'div' : 'li';\n\n const analyticsDismissMetadata: GeneratedAnalyticsMetadataTabsDismiss = {\n action: 'dismiss',\n detail: {\n id: tab.id,\n label: `.${analyticsSelectors['tab-dismiss-button']}`,\n position: `${index + 1}`,\n },\n };\n\n const analyticsComponentMetadataInnerContext: Partial<GeneratedAnalyticsMetadataTabsComponent> = {\n innerContext: {\n tabId: tab.id,\n tabLabel: `.${analyticsSelectors['tab-label']}`,\n tabPosition: `${index + 1}`,\n },\n };\n\n return (\n <TabItem\n ref={(element: any) => tabRefs.current.set(tab.id, element as HTMLElement)}\n className={styles['tabs-tab']}\n role=\"presentation\"\n key={tab.id}\n >\n <div\n className={tabHeaderContainerClasses}\n {...tabHeaderContainerAriaProps}\n {...getAnalyticsMetadataAttribute({ component: analyticsComponentMetadataInnerContext })}\n >\n <TabTrigger ref={setElement} tab={tab} elementProps={commonProps} activeTabId={activeTabId} index={index} />\n {action && <span className={tabActionClasses}>{action}</span>}\n {dismissible && (\n <span className={styles['tabs-tab-dismiss']} {...getAnalyticsMetadataAttribute(analyticsDismissMetadata)}>\n {dismissButton({ dismissLabel, dismissDisabled, onDismiss: handleDismiss, tabId: tab.id })}\n </span>\n )}\n </div>\n </TabItem>\n );\n }\n}\n\ninterface TabTriggerProps {\n tab: TabsProps.Tab;\n elementProps: React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>;\n activeTabId?: string;\n index: number;\n}\nconst TabTrigger = forwardRef(\n ({ tab, elementProps, activeTabId, index }: TabTriggerProps, ref: React.Ref<HTMLElement>) => {\n const refObject = useRef<HTMLElement>(null);\n const tabLabelRefObject = useRef<HTMLElement>(null);\n const mergedRef = useMergeRefs(refObject, ref);\n const { tabIndex } = useSingleTabStopNavigation(refObject);\n const isDisabledWithReason = tab.disabled && !!tab.disabledReason;\n const [showTooltip, setShowTooltip] = useState(false);\n const { targetProps, descriptionEl } = useHiddenDescription(tab.disabledReason);\n const children = (\n <>\n <span className={clsx(styles['tabs-tab-label'], analyticsSelectors['tab-label'])} ref={tabLabelRefObject}>\n {/* The label is wrapped with span so that whitespaces inside don't get trimmed. */}\n <span>{tab.label}</span>\n </span>\n {isDisabledWithReason && (\n <>\n {descriptionEl}\n {showTooltip && (\n <Tooltip\n className={styles['disabled-reason-tooltip']}\n trackRef={tabLabelRefObject}\n value={tab.disabledReason!}\n onDismiss={() => setShowTooltip(false)}\n />\n )}\n </>\n )}\n </>\n );\n\n const handlers = {\n onFocus: () => setShowTooltip(true),\n onBlur: () => setShowTooltip(false),\n onMouseEnter: () => setShowTooltip(true),\n onMouseLeave: () => setShowTooltip(false),\n };\n\n const analyticsSelectMetadata: GeneratedAnalyticsMetadataTabsSelect = {\n action: 'select',\n detail: {\n id: tab.id,\n label: `.${analyticsSelectors['tab-label']}`,\n position: `${index + 1}`,\n originTabId: activeTabId || '',\n },\n };\n\n const commonProps = {\n ...elementProps,\n ...(isDisabledWithReason ? targetProps : {}),\n ...(isDisabledWithReason ? handlers : {}),\n ref: mergedRef,\n tabIndex: tabIndex,\n ...(tab.disabled || tab.id === activeTabId ? {} : getAnalyticsMetadataAttribute(analyticsSelectMetadata)),\n };\n\n return tab.href ? (\n <a {...commonProps} href={tab.href}>\n {children}\n </a>\n ) : (\n <button {...commonProps} type=\"button\" disabled={tab.disabled && !isDisabledWithReason}>\n {children}\n </button>\n );\n }\n);\n\nexport function getTabElementId({ namespace, tabId }: { namespace: string; tabId: string }) {\n return namespace + '-' + tabId;\n}\n"]}
@@ -1,7 +1,6 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  'use client';
4
- import { __rest } from "tslib";
5
4
  import React, { useCallback, useImperativeHandle, useLayoutEffect, useMemo, useRef } from 'react';
6
5
  import clsx from 'clsx';
7
6
  import { useStableCallback } from '@cloudscape-design/component-toolkit/internal';
@@ -22,9 +21,8 @@ import { validate } from './validation';
22
21
  import styles from './styles.css.js';
23
22
  export { getTagsDiff };
24
23
  const isItemRemovable = ({ tag }) => !tag.markedForRemoval;
25
- const TagEditor = React.forwardRef((_a, ref) => {
26
- var _b, _c, _d, _e, _f, _g;
27
- var { tags = [], i18nStrings, loading = false, tagLimit = 50, allowedCharacterPattern, keysRequest, valuesRequest, onChange } = _a, restProps = __rest(_a, ["tags", "i18nStrings", "loading", "tagLimit", "allowedCharacterPattern", "keysRequest", "valuesRequest", "onChange"]);
24
+ const TagEditor = React.forwardRef(({ tags = [], i18nStrings, loading = false, tagLimit = 50, allowedCharacterPattern, keysRequest, valuesRequest, onChange, ...restProps }, ref) => {
25
+ var _a, _b, _c, _d, _e, _f;
28
26
  const baseComponentProps = useBaseComponent('TagEditor', {
29
27
  props: { tagLimit, allowedCharacterPattern },
30
28
  });
@@ -75,7 +73,7 @@ const TagEditor = React.forwardRef((_a, ref) => {
75
73
  const existing = tags[detail.itemIndex].existing;
76
74
  validateAndFire([
77
75
  ...tags.slice(0, detail.itemIndex),
78
- ...(existing ? [Object.assign(Object.assign({}, tags[detail.itemIndex]), { markedForRemoval: true })] : []),
76
+ ...(existing ? [{ ...tags[detail.itemIndex], markedForRemoval: true }] : []),
79
77
  ...tags.slice(detail.itemIndex + 1),
80
78
  ]);
81
79
  if (existing) {
@@ -114,7 +112,7 @@ const TagEditor = React.forwardRef((_a, ref) => {
114
112
  });
115
113
  const onKeyChange = useStableCallback((value, row) => {
116
114
  keyDirtyStateRef.current[row] = true;
117
- validateAndFire([...tags.slice(0, row), Object.assign(Object.assign({}, tags[row]), { key: value }), ...tags.slice(row + 1)]);
115
+ validateAndFire([...tags.slice(0, row), { ...tags[row], key: value }, ...tags.slice(row + 1)]);
118
116
  });
119
117
  const onKeyBlur = useStableCallback((row) => {
120
118
  keyDirtyStateRef.current[row] = true;
@@ -122,10 +120,10 @@ const TagEditor = React.forwardRef((_a, ref) => {
122
120
  validateAndFire([...tags]);
123
121
  });
124
122
  const onValueChange = useStableCallback((value, row) => {
125
- validateAndFire([...tags.slice(0, row), Object.assign(Object.assign({}, tags[row]), { value }), ...tags.slice(row + 1)]);
123
+ validateAndFire([...tags.slice(0, row), { ...tags[row], value }, ...tags.slice(row + 1)]);
126
124
  });
127
125
  const onUndoRemoval = useStableCallback((row) => {
128
- validateAndFire([...tags.slice(0, row), Object.assign(Object.assign({}, tags[row]), { markedForRemoval: false }), ...tags.slice(row + 1)]);
126
+ validateAndFire([...tags.slice(0, row), { ...tags[row], markedForRemoval: false }, ...tags.slice(row + 1)]);
129
127
  focusEventRef.current = () => {
130
128
  var _a;
131
129
  (_a = attributeEditorRef.current) === null || _a === void 0 ? void 0 : _a.focusRemoveButton(row);
@@ -171,7 +169,7 @@ const TagEditor = React.forwardRef((_a, ref) => {
171
169
  React.createElement(InternalLiveRegion, { tagName: "span" }, i18n('i18nStrings.loading', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.loading)))));
172
170
  }
173
171
  const baseProps = getBaseProps(restProps);
174
- return (React.createElement(InternalAttributeEditor, Object.assign({}, baseProps, baseComponentProps, { ref: attributeEditorRef, className: clsx(styles.root, baseProps.className), items: internalTags, isItemRemovable: isItemRemovable, onAddButtonClick: onAddButtonClick, onRemoveButtonClick: onRemoveButtonClick, addButtonText: (_b = i18n('i18nStrings.addButton', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.addButton)) !== null && _b !== void 0 ? _b : '', removeButtonText: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.removeButton, disableAddButton: remainingTags <= 0, empty: i18n('i18nStrings.emptyTags', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.emptyTags), addButtonVariant: "normal", additionalInfo: remainingTags < 0 ? (React.createElement(FormFieldError, { errorIconAriaLabel: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.errorIconAriaLabel }, (_d = i18n('i18nStrings.tagLimitExceeded', (_c = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.tagLimitExceeded) === null || _c === void 0 ? void 0 : _c.call(i18nStrings, tagLimit), format => format({ tagLimit }))) !== null && _d !== void 0 ? _d : '')) : remainingTags === 0 ? (((_f = i18n('i18nStrings.tagLimitReached', (_e = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.tagLimitReached) === null || _e === void 0 ? void 0 : _e.call(i18nStrings, tagLimit), format => format({ tagLimit }))) !== null && _f !== void 0 ? _f : '')) : (i18n('i18nStrings.tagLimit', (_g = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.tagLimit) === null || _g === void 0 ? void 0 : _g.call(i18nStrings, remainingTags, tagLimit), format => format({ tagLimitAvailable: `${remainingTags === tagLimit}`, availableTags: remainingTags, tagLimit }))), definition: definition, i18nStrings: forwardedI18nStrings })));
172
+ return (React.createElement(InternalAttributeEditor, { ...baseProps, ...baseComponentProps, ref: attributeEditorRef, className: clsx(styles.root, baseProps.className), items: internalTags, isItemRemovable: isItemRemovable, onAddButtonClick: onAddButtonClick, onRemoveButtonClick: onRemoveButtonClick, addButtonText: (_a = i18n('i18nStrings.addButton', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.addButton)) !== null && _a !== void 0 ? _a : '', removeButtonText: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.removeButton, disableAddButton: remainingTags <= 0, empty: i18n('i18nStrings.emptyTags', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.emptyTags), addButtonVariant: "normal", additionalInfo: remainingTags < 0 ? (React.createElement(FormFieldError, { errorIconAriaLabel: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.errorIconAriaLabel }, (_c = i18n('i18nStrings.tagLimitExceeded', (_b = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.tagLimitExceeded) === null || _b === void 0 ? void 0 : _b.call(i18nStrings, tagLimit), format => format({ tagLimit }))) !== null && _c !== void 0 ? _c : '')) : remainingTags === 0 ? (((_e = i18n('i18nStrings.tagLimitReached', (_d = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.tagLimitReached) === null || _d === void 0 ? void 0 : _d.call(i18nStrings, tagLimit), format => format({ tagLimit }))) !== null && _e !== void 0 ? _e : '')) : (i18n('i18nStrings.tagLimit', (_f = i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.tagLimit) === null || _f === void 0 ? void 0 : _f.call(i18nStrings, remainingTags, tagLimit), format => format({ tagLimitAvailable: `${remainingTags === tagLimit}`, availableTags: remainingTags, tagLimit }))), definition: definition, i18nStrings: forwardedI18nStrings }));
175
173
  });
176
174
  applyDisplayName(TagEditor, 'TagEditor');
177
175
  export default TagEditor;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tag-editor/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n'use client';\nimport React, { useCallback, useImperativeHandle, useLayoutEffect, useMemo, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useStableCallback } from '@cloudscape-design/component-toolkit/internal';\n\nimport { AttributeEditorProps } from '../attribute-editor/interfaces';\nimport InternalAttributeEditor from '../attribute-editor/internal';\nimport { AutosuggestProps } from '../autosuggest/interfaces';\nimport InternalBox from '../box/internal';\nimport { FormFieldError } from '../form-field/internal';\nimport { useInternalI18n } from '../i18n/context';\nimport { InputProps } from '../input/interfaces';\nimport { getBaseProps } from '../internal/base-component';\nimport { fireNonCancelableEvent, NonCancelableCustomEvent } from '../internal/events';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport InternalLiveRegion from '../live-region/internal';\nimport InternalStatusIndicator from '../status-indicator/internal';\nimport { TagEditorProps } from './interfaces';\nimport { TagControl, UndoButton } from './internal';\nimport { useMemoizedArray } from './utils';\nimport { getTagsDiff } from './utils';\nimport { validate, ValidationError } from './validation';\n\nimport styles from './styles.css.js';\n\nexport { TagEditorProps, getTagsDiff };\n\ninterface InternalTag {\n tag: TagEditorProps.Tag;\n error?: ValidationError;\n}\n\nconst isItemRemovable = ({ tag }: InternalTag) => !tag.markedForRemoval;\n\nconst TagEditor = React.forwardRef(\n (\n {\n tags = [],\n i18nStrings,\n loading = false,\n tagLimit = 50,\n allowedCharacterPattern,\n keysRequest,\n valuesRequest,\n onChange,\n ...restProps\n }: TagEditorProps,\n ref: React.Ref<TagEditorProps.Ref>\n ) => {\n const baseComponentProps = useBaseComponent('TagEditor', {\n props: { tagLimit, allowedCharacterPattern },\n });\n const i18n = useInternalI18n('tag-editor');\n\n const remainingTags = tagLimit - tags.filter(tag => !tag.markedForRemoval).length;\n\n const attributeEditorRef = useRef<AttributeEditorProps.Ref>(null);\n const keyInputRefs = useRef<(InputProps.Ref | undefined | null)[]>([]);\n const valueInputRefs = useRef<(InputProps.Ref | undefined | null)[]>([]);\n const undoButtonRefs = useRef<(HTMLAnchorElement | undefined | null)[]>([]);\n\n const initialKeyOptionsRef = useRef<AutosuggestProps.Options>([]);\n const keyDirtyStateRef = useRef<boolean[]>([]);\n const focusEventRef = useRef<() => void>();\n\n useLayoutEffect(() => {\n focusEventRef.current?.apply(undefined);\n focusEventRef.current = undefined;\n });\n\n const errors = validate(\n tags,\n keyDirtyStateRef.current,\n i18n,\n i18nStrings,\n allowedCharacterPattern ? new RegExp(allowedCharacterPattern) : undefined\n );\n\n const internalTags = useMemoizedArray(\n tags.map((tag, i) => ({ tag, error: errors[i] })),\n (prev, next) => {\n return prev.tag === next.tag && prev.error?.key === next.error?.key && prev.error?.value === next.error?.value;\n }\n );\n\n useImperativeHandle(\n ref,\n () => ({\n focus() {\n const errorIndex = internalTags.findIndex(({ error }) => error?.key || error?.value);\n if (errorIndex !== -1) {\n const refArray = internalTags[errorIndex].error?.key ? keyInputRefs : valueInputRefs;\n refArray.current[errorIndex]?.focus();\n }\n },\n }),\n [internalTags]\n );\n\n const validateAndFire = useCallback(\n (newTags: ReadonlyArray<TagEditorProps.Tag>) => {\n fireNonCancelableEvent(onChange, {\n tags: newTags,\n valid: !validate(\n newTags,\n keyDirtyStateRef.current,\n i18n,\n i18nStrings,\n allowedCharacterPattern ? new RegExp(allowedCharacterPattern) : undefined\n ).some(error => error),\n });\n },\n [onChange, i18n, i18nStrings, allowedCharacterPattern]\n );\n\n const onAddButtonClick = () => {\n validateAndFire([...tags, { key: '', value: '', existing: false }]);\n focusEventRef.current = () => {\n keyInputRefs.current[tags.length]?.focus();\n };\n };\n\n const onRemoveButtonClick = useStableCallback(\n ({ detail }: NonCancelableCustomEvent<AttributeEditorProps.RemoveButtonClickDetail>) => {\n const existing = tags[detail.itemIndex].existing;\n validateAndFire([\n ...tags.slice(0, detail.itemIndex),\n ...(existing ? [{ ...tags[detail.itemIndex], markedForRemoval: true }] : []),\n ...tags.slice(detail.itemIndex + 1),\n ]);\n if (existing) {\n focusEventRef.current = () => {\n undoButtonRefs.current[detail.itemIndex]?.focus();\n };\n } else {\n keyDirtyStateRef.current.splice(detail.itemIndex, 1);\n const nextKey = keyInputRefs.current[detail.itemIndex + 1];\n if (nextKey) {\n // if next key is present, focus _current_ key which will be replaced by next after state update\n keyInputRefs.current[detail.itemIndex]?.focus();\n } else if (detail.itemIndex > 0) {\n // otherwise focus previous key/value/undo button\n const previousIsExisting = tags[detail.itemIndex - 1].existing;\n if (previousIsExisting) {\n if (tags[detail.itemIndex - 1].markedForRemoval) {\n undoButtonRefs.current[detail.itemIndex - 1]?.focus();\n } else {\n valueInputRefs.current[detail.itemIndex - 1]?.focus();\n }\n } else {\n keyInputRefs.current[detail.itemIndex - 1]?.focus();\n }\n } else {\n // or the 'add' button\n attributeEditorRef.current?.focusAddButton();\n }\n }\n }\n );\n\n const onKeyChange = useStableCallback((value: string, row: number) => {\n keyDirtyStateRef.current[row] = true;\n validateAndFire([...tags.slice(0, row), { ...tags[row], key: value }, ...tags.slice(row + 1)]);\n });\n\n const onKeyBlur = useStableCallback((row: number) => {\n keyDirtyStateRef.current[row] = true;\n // Force re-render by providing a new array reference\n validateAndFire([...tags]);\n });\n\n const onValueChange = useStableCallback((value: string, row: number) => {\n validateAndFire([...tags.slice(0, row), { ...tags[row], value }, ...tags.slice(row + 1)]);\n });\n\n const onUndoRemoval = useStableCallback((row: number) => {\n validateAndFire([...tags.slice(0, row), { ...tags[row], markedForRemoval: false }, ...tags.slice(row + 1)]);\n focusEventRef.current = () => {\n attributeEditorRef.current?.focusRemoveButton(row);\n };\n });\n\n const definition = useMemo(\n () => [\n {\n label: i18n('i18nStrings.keyHeader', i18nStrings?.keyHeader),\n control: ({ tag }: InternalTag, row: number) => (\n <TagControl\n row={row}\n value={tag.key}\n readOnly={tag.existing}\n limit={200}\n defaultOptions={[]}\n placeholder={i18n('i18nStrings.keyPlaceholder', i18nStrings?.keyPlaceholder)}\n errorText={i18n('i18nStrings.keysSuggestionError', i18nStrings?.keysSuggestionError)}\n loadingText={i18n('i18nStrings.keysSuggestionLoading', i18nStrings?.keysSuggestionLoading)}\n suggestionText={i18n('i18nStrings.keySuggestion', i18nStrings?.keySuggestion)}\n tooManySuggestionText={i18n('i18nStrings.tooManyKeysSuggestion', i18nStrings?.tooManyKeysSuggestion)}\n enteredTextLabel={i18nStrings?.enteredKeyLabel}\n clearAriaLabel={i18nStrings?.clearAriaLabel}\n onRequest={keysRequest}\n onChange={onKeyChange}\n onBlur={onKeyBlur}\n initialOptionsRef={initialKeyOptionsRef}\n ref={ref => {\n keyInputRefs.current[row] = ref;\n }}\n />\n ),\n errorText: ({ error }: InternalTag) => error?.key,\n },\n {\n label: (\n <span>\n {i18n('i18nStrings.valueHeader', i18nStrings?.valueHeader)} -{' '}\n <i>{i18n('i18nStrings.optional', i18nStrings?.optional)}</i>\n </span>\n ),\n control: ({ tag }: InternalTag, row: number) =>\n tag.markedForRemoval ? (\n <div role=\"alert\">\n <InternalBox margin={{ top: 'xxs' }}>\n {i18n('i18nStrings.undoPrompt', i18nStrings?.undoPrompt)}{' '}\n <UndoButton\n onClick={() => onUndoRemoval(row)}\n ref={elem => {\n undoButtonRefs.current[row] = elem;\n }}\n >\n {i18n('i18nStrings.undoButton', i18nStrings?.undoButton)}\n </UndoButton>\n </InternalBox>\n </div>\n ) : (\n <TagControl\n row={row}\n value={tag.value}\n readOnly={false}\n limit={200}\n defaultOptions={tag.valueSuggestionOptions ?? []}\n placeholder={i18n('i18nStrings.valuePlaceholder', i18nStrings?.valuePlaceholder)}\n errorText={i18n('i18nStrings.valuesSuggestionError', i18nStrings?.valuesSuggestionError)}\n loadingText={i18n('i18nStrings.valuesSuggestionLoading', i18nStrings?.valuesSuggestionLoading)}\n suggestionText={i18n('i18nStrings.valueSuggestion', i18nStrings?.valueSuggestion)}\n tooManySuggestionText={i18n(\n 'i18nStrings.tooManyValuesSuggestion',\n i18nStrings?.tooManyValuesSuggestion\n )}\n enteredTextLabel={i18nStrings?.enteredValueLabel}\n clearAriaLabel={i18nStrings?.clearAriaLabel}\n filteringKey={tag.key}\n onRequest={valuesRequest && (value => valuesRequest(tag.key, value))}\n onChange={onValueChange}\n ref={ref => {\n valueInputRefs.current[row] = ref;\n }}\n />\n ),\n errorText: ({ error }: InternalTag) => error?.value,\n },\n ],\n [i18n, i18nStrings, keysRequest, onKeyChange, onKeyBlur, valuesRequest, onValueChange, onUndoRemoval]\n );\n\n const forwardedI18nStrings = useMemo<AttributeEditorProps.I18nStrings<InternalTag>>(\n () => ({\n errorIconAriaLabel: i18nStrings?.errorIconAriaLabel,\n itemRemovedAriaLive: i18nStrings?.itemRemovedAriaLive,\n removeButtonAriaLabel: i18n(\n 'i18nStrings.removeButtonAriaLabel',\n i18nStrings?.removeButtonAriaLabel && (({ tag }) => i18nStrings.removeButtonAriaLabel!(tag)),\n format =>\n ({ tag }) =>\n format({ tag__key: tag.key })\n ),\n }),\n [i18nStrings, i18n]\n );\n\n if (loading) {\n return (\n <div className={styles.root} ref={baseComponentProps.__internalRootRef}>\n <InternalStatusIndicator className={styles.loading} type=\"loading\">\n <InternalLiveRegion tagName=\"span\">{i18n('i18nStrings.loading', i18nStrings?.loading)}</InternalLiveRegion>\n </InternalStatusIndicator>\n </div>\n );\n }\n\n const baseProps = getBaseProps(restProps);\n return (\n <InternalAttributeEditor<InternalTag>\n {...baseProps}\n {...baseComponentProps}\n ref={attributeEditorRef}\n className={clsx(styles.root, baseProps.className)}\n items={internalTags}\n isItemRemovable={isItemRemovable}\n onAddButtonClick={onAddButtonClick}\n onRemoveButtonClick={onRemoveButtonClick}\n addButtonText={i18n('i18nStrings.addButton', i18nStrings?.addButton) ?? ''}\n removeButtonText={i18nStrings?.removeButton}\n disableAddButton={remainingTags <= 0}\n empty={i18n('i18nStrings.emptyTags', i18nStrings?.emptyTags)}\n addButtonVariant=\"normal\"\n additionalInfo={\n remainingTags < 0 ? (\n <FormFieldError errorIconAriaLabel={i18nStrings?.errorIconAriaLabel}>\n {i18n('i18nStrings.tagLimitExceeded', i18nStrings?.tagLimitExceeded?.(tagLimit), format =>\n format({ tagLimit })\n ) ?? ''}\n </FormFieldError>\n ) : remainingTags === 0 ? (\n (i18n('i18nStrings.tagLimitReached', i18nStrings?.tagLimitReached?.(tagLimit), format =>\n format({ tagLimit })\n ) ?? '')\n ) : (\n i18n('i18nStrings.tagLimit', i18nStrings?.tagLimit?.(remainingTags, tagLimit), format =>\n format({ tagLimitAvailable: `${remainingTags === tagLimit}`, availableTags: remainingTags, tagLimit })\n )\n )\n }\n definition={definition}\n i18nStrings={forwardedI18nStrings}\n />\n );\n }\n);\n\napplyDisplayName(TagEditor, 'TagEditor');\nexport default TagEditor;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tag-editor/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n'use client';\nimport React, { useCallback, useImperativeHandle, useLayoutEffect, useMemo, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useStableCallback } from '@cloudscape-design/component-toolkit/internal';\n\nimport { AttributeEditorProps } from '../attribute-editor/interfaces';\nimport InternalAttributeEditor from '../attribute-editor/internal';\nimport { AutosuggestProps } from '../autosuggest/interfaces';\nimport InternalBox from '../box/internal';\nimport { FormFieldError } from '../form-field/internal';\nimport { useInternalI18n } from '../i18n/context';\nimport { InputProps } from '../input/interfaces';\nimport { getBaseProps } from '../internal/base-component';\nimport { fireNonCancelableEvent, NonCancelableCustomEvent } from '../internal/events';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport InternalLiveRegion from '../live-region/internal';\nimport InternalStatusIndicator from '../status-indicator/internal';\nimport { TagEditorProps } from './interfaces';\nimport { TagControl, UndoButton } from './internal';\nimport { useMemoizedArray } from './utils';\nimport { getTagsDiff } from './utils';\nimport { validate, ValidationError } from './validation';\n\nimport styles from './styles.css.js';\n\nexport { TagEditorProps, getTagsDiff };\n\ninterface InternalTag {\n tag: TagEditorProps.Tag;\n error?: ValidationError;\n}\n\nconst isItemRemovable = ({ tag }: InternalTag) => !tag.markedForRemoval;\n\nconst TagEditor = React.forwardRef(\n (\n {\n tags = [],\n i18nStrings,\n loading = false,\n tagLimit = 50,\n allowedCharacterPattern,\n keysRequest,\n valuesRequest,\n onChange,\n ...restProps\n }: TagEditorProps,\n ref: React.Ref<TagEditorProps.Ref>\n ) => {\n const baseComponentProps = useBaseComponent('TagEditor', {\n props: { tagLimit, allowedCharacterPattern },\n });\n const i18n = useInternalI18n('tag-editor');\n\n const remainingTags = tagLimit - tags.filter(tag => !tag.markedForRemoval).length;\n\n const attributeEditorRef = useRef<AttributeEditorProps.Ref>(null);\n const keyInputRefs = useRef<(InputProps.Ref | undefined | null)[]>([]);\n const valueInputRefs = useRef<(InputProps.Ref | undefined | null)[]>([]);\n const undoButtonRefs = useRef<(HTMLAnchorElement | undefined | null)[]>([]);\n\n const initialKeyOptionsRef = useRef<AutosuggestProps.Options>([]);\n const keyDirtyStateRef = useRef<boolean[]>([]);\n const focusEventRef = useRef<() => void>();\n\n useLayoutEffect(() => {\n focusEventRef.current?.apply(undefined);\n focusEventRef.current = undefined;\n });\n\n const errors = validate(\n tags,\n keyDirtyStateRef.current,\n i18n,\n i18nStrings,\n allowedCharacterPattern ? new RegExp(allowedCharacterPattern) : undefined\n );\n\n const internalTags = useMemoizedArray(\n tags.map((tag, i) => ({ tag, error: errors[i] })),\n (prev, next) => {\n return prev.tag === next.tag && prev.error?.key === next.error?.key && prev.error?.value === next.error?.value;\n }\n );\n\n useImperativeHandle(\n ref,\n () => ({\n focus() {\n const errorIndex = internalTags.findIndex(({ error }) => error?.key || error?.value);\n if (errorIndex !== -1) {\n const refArray = internalTags[errorIndex].error?.key ? keyInputRefs : valueInputRefs;\n refArray.current[errorIndex]?.focus();\n }\n },\n }),\n [internalTags]\n );\n\n const validateAndFire = useCallback(\n (newTags: ReadonlyArray<TagEditorProps.Tag>) => {\n fireNonCancelableEvent(onChange, {\n tags: newTags,\n valid: !validate(\n newTags,\n keyDirtyStateRef.current,\n i18n,\n i18nStrings,\n allowedCharacterPattern ? new RegExp(allowedCharacterPattern) : undefined\n ).some(error => error),\n });\n },\n [onChange, i18n, i18nStrings, allowedCharacterPattern]\n );\n\n const onAddButtonClick = () => {\n validateAndFire([...tags, { key: '', value: '', existing: false }]);\n focusEventRef.current = () => {\n keyInputRefs.current[tags.length]?.focus();\n };\n };\n\n const onRemoveButtonClick = useStableCallback(\n ({ detail }: NonCancelableCustomEvent<AttributeEditorProps.RemoveButtonClickDetail>) => {\n const existing = tags[detail.itemIndex].existing;\n validateAndFire([\n ...tags.slice(0, detail.itemIndex),\n ...(existing ? [{ ...tags[detail.itemIndex], markedForRemoval: true }] : []),\n ...tags.slice(detail.itemIndex + 1),\n ]);\n if (existing) {\n focusEventRef.current = () => {\n undoButtonRefs.current[detail.itemIndex]?.focus();\n };\n } else {\n keyDirtyStateRef.current.splice(detail.itemIndex, 1);\n const nextKey = keyInputRefs.current[detail.itemIndex + 1];\n if (nextKey) {\n // if next key is present, focus _current_ key which will be replaced by next after state update\n keyInputRefs.current[detail.itemIndex]?.focus();\n } else if (detail.itemIndex > 0) {\n // otherwise focus previous key/value/undo button\n const previousIsExisting = tags[detail.itemIndex - 1].existing;\n if (previousIsExisting) {\n if (tags[detail.itemIndex - 1].markedForRemoval) {\n undoButtonRefs.current[detail.itemIndex - 1]?.focus();\n } else {\n valueInputRefs.current[detail.itemIndex - 1]?.focus();\n }\n } else {\n keyInputRefs.current[detail.itemIndex - 1]?.focus();\n }\n } else {\n // or the 'add' button\n attributeEditorRef.current?.focusAddButton();\n }\n }\n }\n );\n\n const onKeyChange = useStableCallback((value: string, row: number) => {\n keyDirtyStateRef.current[row] = true;\n validateAndFire([...tags.slice(0, row), { ...tags[row], key: value }, ...tags.slice(row + 1)]);\n });\n\n const onKeyBlur = useStableCallback((row: number) => {\n keyDirtyStateRef.current[row] = true;\n // Force re-render by providing a new array reference\n validateAndFire([...tags]);\n });\n\n const onValueChange = useStableCallback((value: string, row: number) => {\n validateAndFire([...tags.slice(0, row), { ...tags[row], value }, ...tags.slice(row + 1)]);\n });\n\n const onUndoRemoval = useStableCallback((row: number) => {\n validateAndFire([...tags.slice(0, row), { ...tags[row], markedForRemoval: false }, ...tags.slice(row + 1)]);\n focusEventRef.current = () => {\n attributeEditorRef.current?.focusRemoveButton(row);\n };\n });\n\n const definition = useMemo(\n () => [\n {\n label: i18n('i18nStrings.keyHeader', i18nStrings?.keyHeader),\n control: ({ tag }: InternalTag, row: number) => (\n <TagControl\n row={row}\n value={tag.key}\n readOnly={tag.existing}\n limit={200}\n defaultOptions={[]}\n placeholder={i18n('i18nStrings.keyPlaceholder', i18nStrings?.keyPlaceholder)}\n errorText={i18n('i18nStrings.keysSuggestionError', i18nStrings?.keysSuggestionError)}\n loadingText={i18n('i18nStrings.keysSuggestionLoading', i18nStrings?.keysSuggestionLoading)}\n suggestionText={i18n('i18nStrings.keySuggestion', i18nStrings?.keySuggestion)}\n tooManySuggestionText={i18n('i18nStrings.tooManyKeysSuggestion', i18nStrings?.tooManyKeysSuggestion)}\n enteredTextLabel={i18nStrings?.enteredKeyLabel}\n clearAriaLabel={i18nStrings?.clearAriaLabel}\n onRequest={keysRequest}\n onChange={onKeyChange}\n onBlur={onKeyBlur}\n initialOptionsRef={initialKeyOptionsRef}\n ref={ref => {\n keyInputRefs.current[row] = ref;\n }}\n />\n ),\n errorText: ({ error }: InternalTag) => error?.key,\n },\n {\n label: (\n <span>\n {i18n('i18nStrings.valueHeader', i18nStrings?.valueHeader)} -{' '}\n <i>{i18n('i18nStrings.optional', i18nStrings?.optional)}</i>\n </span>\n ),\n control: ({ tag }: InternalTag, row: number) =>\n tag.markedForRemoval ? (\n <div role=\"alert\">\n <InternalBox margin={{ top: 'xxs' }}>\n {i18n('i18nStrings.undoPrompt', i18nStrings?.undoPrompt)}{' '}\n <UndoButton\n onClick={() => onUndoRemoval(row)}\n ref={elem => {\n undoButtonRefs.current[row] = elem;\n }}\n >\n {i18n('i18nStrings.undoButton', i18nStrings?.undoButton)}\n </UndoButton>\n </InternalBox>\n </div>\n ) : (\n <TagControl\n row={row}\n value={tag.value}\n readOnly={false}\n limit={200}\n defaultOptions={tag.valueSuggestionOptions ?? []}\n placeholder={i18n('i18nStrings.valuePlaceholder', i18nStrings?.valuePlaceholder)}\n errorText={i18n('i18nStrings.valuesSuggestionError', i18nStrings?.valuesSuggestionError)}\n loadingText={i18n('i18nStrings.valuesSuggestionLoading', i18nStrings?.valuesSuggestionLoading)}\n suggestionText={i18n('i18nStrings.valueSuggestion', i18nStrings?.valueSuggestion)}\n tooManySuggestionText={i18n(\n 'i18nStrings.tooManyValuesSuggestion',\n i18nStrings?.tooManyValuesSuggestion\n )}\n enteredTextLabel={i18nStrings?.enteredValueLabel}\n clearAriaLabel={i18nStrings?.clearAriaLabel}\n filteringKey={tag.key}\n onRequest={valuesRequest && (value => valuesRequest(tag.key, value))}\n onChange={onValueChange}\n ref={ref => {\n valueInputRefs.current[row] = ref;\n }}\n />\n ),\n errorText: ({ error }: InternalTag) => error?.value,\n },\n ],\n [i18n, i18nStrings, keysRequest, onKeyChange, onKeyBlur, valuesRequest, onValueChange, onUndoRemoval]\n );\n\n const forwardedI18nStrings = useMemo<AttributeEditorProps.I18nStrings<InternalTag>>(\n () => ({\n errorIconAriaLabel: i18nStrings?.errorIconAriaLabel,\n itemRemovedAriaLive: i18nStrings?.itemRemovedAriaLive,\n removeButtonAriaLabel: i18n(\n 'i18nStrings.removeButtonAriaLabel',\n i18nStrings?.removeButtonAriaLabel && (({ tag }) => i18nStrings.removeButtonAriaLabel!(tag)),\n format =>\n ({ tag }) =>\n format({ tag__key: tag.key })\n ),\n }),\n [i18nStrings, i18n]\n );\n\n if (loading) {\n return (\n <div className={styles.root} ref={baseComponentProps.__internalRootRef}>\n <InternalStatusIndicator className={styles.loading} type=\"loading\">\n <InternalLiveRegion tagName=\"span\">{i18n('i18nStrings.loading', i18nStrings?.loading)}</InternalLiveRegion>\n </InternalStatusIndicator>\n </div>\n );\n }\n\n const baseProps = getBaseProps(restProps);\n return (\n <InternalAttributeEditor<InternalTag>\n {...baseProps}\n {...baseComponentProps}\n ref={attributeEditorRef}\n className={clsx(styles.root, baseProps.className)}\n items={internalTags}\n isItemRemovable={isItemRemovable}\n onAddButtonClick={onAddButtonClick}\n onRemoveButtonClick={onRemoveButtonClick}\n addButtonText={i18n('i18nStrings.addButton', i18nStrings?.addButton) ?? ''}\n removeButtonText={i18nStrings?.removeButton}\n disableAddButton={remainingTags <= 0}\n empty={i18n('i18nStrings.emptyTags', i18nStrings?.emptyTags)}\n addButtonVariant=\"normal\"\n additionalInfo={\n remainingTags < 0 ? (\n <FormFieldError errorIconAriaLabel={i18nStrings?.errorIconAriaLabel}>\n {i18n('i18nStrings.tagLimitExceeded', i18nStrings?.tagLimitExceeded?.(tagLimit), format =>\n format({ tagLimit })\n ) ?? ''}\n </FormFieldError>\n ) : remainingTags === 0 ? (\n (i18n('i18nStrings.tagLimitReached', i18nStrings?.tagLimitReached?.(tagLimit), format =>\n format({ tagLimit })\n ) ?? '')\n ) : (\n i18n('i18nStrings.tagLimit', i18nStrings?.tagLimit?.(remainingTags, tagLimit), format =>\n format({ tagLimitAvailable: `${remainingTags === tagLimit}`, availableTags: remainingTags, tagLimit })\n )\n )\n }\n definition={definition}\n i18nStrings={forwardedI18nStrings}\n />\n );\n }\n);\n\napplyDisplayName(TagEditor, 'TagEditor');\nexport default TagEditor;\n"]}
@@ -1,8 +1,8 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "root": "awsui_root_brdst_1danq_145",
5
- "loading": "awsui_loading_brdst_1danq_149",
6
- "undo-button": "awsui_undo-button_brdst_1danq_153"
4
+ "root": "awsui_root_brdst_1qvao_145",
5
+ "loading": "awsui_loading_brdst_1qvao_149",
6
+ "undo-button": "awsui_undo-button_brdst_1qvao_153"
7
7
  };
8
8
 
@@ -142,20 +142,20 @@
142
142
  */
143
143
  /* Style used for links in slots/components that are text heavy, to help links stand out among
144
144
  surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F73#description */
145
- .awsui_root_brdst_1danq_145:not(#\9) {
145
+ .awsui_root_brdst_1qvao_145:not(#\9) {
146
146
  /* used in test utils */
147
147
  }
148
148
 
149
- .awsui_loading_brdst_1danq_149:not(#\9) {
149
+ .awsui_loading_brdst_1qvao_149:not(#\9) {
150
150
  /* used in test utils */
151
151
  }
152
152
 
153
- .awsui_undo-button_brdst_1danq_153:not(#\9) {
153
+ .awsui_undo-button_brdst_1qvao_153:not(#\9) {
154
154
  -webkit-font-smoothing: var(--font-smoothing-webkit-px4az4, auto);
155
155
  -moz-osx-font-smoothing: var(--font-smoothing-moz-osx-ev3sgf, auto);
156
156
  text-underline-offset: 0.25em;
157
157
  text-decoration-thickness: 1px;
158
- color: var(--awsui-style-color-default-b75yp7, var(--color-text-link-default-x6cnv5, #0073bb));
158
+ color: var(--awsui-style-color-default-d43v8n, var(--color-text-link-default-x6cnv5, #0073bb));
159
159
  font-weight: var(--font-link-button-weight-bnpz8h, 400);
160
160
  letter-spacing: var(--font-link-button-letter-spacing-yobz7z, normal);
161
161
  text-decoration-line: underline;
@@ -166,30 +166,30 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
166
166
  transition-duration: var(--motion-duration-refresh-only-medium-h3wrr6, 0ms);
167
167
  }
168
168
  @media (prefers-reduced-motion: reduce) {
169
- .awsui_undo-button_brdst_1danq_153:not(#\9) {
169
+ .awsui_undo-button_brdst_1qvao_153:not(#\9) {
170
170
  animation: none;
171
171
  transition: none;
172
172
  }
173
173
  }
174
- .awsui-motion-disabled .awsui_undo-button_brdst_1danq_153:not(#\9), .awsui-mode-entering .awsui_undo-button_brdst_1danq_153:not(#\9) {
174
+ .awsui-motion-disabled .awsui_undo-button_brdst_1qvao_153:not(#\9), .awsui-mode-entering .awsui_undo-button_brdst_1qvao_153:not(#\9) {
175
175
  animation: none;
176
176
  transition: none;
177
177
  }
178
- .awsui_undo-button_brdst_1danq_153:not(#\9):hover {
178
+ .awsui_undo-button_brdst_1qvao_153:not(#\9):hover {
179
179
  cursor: pointer;
180
- color: var(--awsui-style-color-hover-b75yp7, var(--color-text-link-hover-tk5gkv, #0a4a74));
180
+ color: var(--awsui-style-color-hover-d43v8n, var(--color-text-link-hover-tk5gkv, #0a4a74));
181
181
  }
182
- .awsui_undo-button_brdst_1danq_153:not(#\9):focus {
182
+ .awsui_undo-button_brdst_1qvao_153:not(#\9):focus {
183
183
  outline: none;
184
184
  }
185
- .awsui_undo-button_brdst_1danq_153:not(#\9):active {
186
- color: var(--awsui-style-color-active-b75yp7, var(--color-text-link-hover-tk5gkv, #0a4a74));
185
+ .awsui_undo-button_brdst_1qvao_153:not(#\9):active {
186
+ color: var(--awsui-style-color-active-d43v8n, var(--color-text-link-hover-tk5gkv, #0a4a74));
187
187
  }
188
- .awsui_undo-button_brdst_1danq_153:not(#\9):active, .awsui_undo-button_brdst_1danq_153:not(#\9):focus, .awsui_undo-button_brdst_1danq_153:not(#\9):hover {
188
+ .awsui_undo-button_brdst_1qvao_153:not(#\9):active, .awsui_undo-button_brdst_1qvao_153:not(#\9):focus, .awsui_undo-button_brdst_1qvao_153:not(#\9):hover {
189
189
  text-decoration-line: underline;
190
190
  text-decoration-color: var(--color-text-link-button-underline-hover-s0fj6r, currentColor);
191
191
  }
192
- body[data-awsui-focus-visible=true] .awsui_undo-button_brdst_1danq_153:not(#\9):focus {
192
+ body[data-awsui-focus-visible=true] .awsui_undo-button_brdst_1qvao_153:not(#\9):focus {
193
193
  outline: thin dotted;
194
194
  outline: var(--border-link-focus-ring-outline-c5423y, 5px auto Highlight);
195
195
  outline-offset: 2px;
@@ -2,8 +2,8 @@
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_brdst_1danq_145",
6
- "loading": "awsui_loading_brdst_1danq_149",
7
- "undo-button": "awsui_undo-button_brdst_1danq_153"
5
+ "root": "awsui_root_brdst_1qvao_145",
6
+ "loading": "awsui_loading_brdst_1qvao_149",
7
+ "undo-button": "awsui_undo-button_brdst_1qvao_153"
8
8
  };
9
9
 
@@ -1,19 +1,17 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  'use client';
4
- import { __rest } from "tslib";
5
4
  import React from 'react';
6
5
  import clsx from 'clsx';
7
6
  import { getBaseProps } from '../internal/base-component';
8
7
  import useBaseComponent from '../internal/hooks/use-base-component';
9
8
  import { applyDisplayName } from '../internal/utils/apply-display-name';
10
9
  import styles from './styles.css.js';
11
- export default function TextContent(_a) {
12
- var { children } = _a, props = __rest(_a, ["children"]);
10
+ export default function TextContent({ children, ...props }) {
13
11
  const { __internalRootRef } = useBaseComponent('TextContent');
14
12
  const baseProps = getBaseProps(props);
15
13
  const className = clsx(baseProps.className, styles['text-content']);
16
- return (React.createElement("div", Object.assign({}, baseProps, { className: className, ref: __internalRootRef }), children));
14
+ return (React.createElement("div", { ...baseProps, className: className, ref: __internalRootRef }, children));
17
15
  }
18
16
  applyDisplayName(TextContent, 'TextContent');
19
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/text-content/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,YAAY,CAAC;;AACb,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAIrC,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAwC;QAAxC,EAAE,QAAQ,OAA8B,EAAzB,KAAK,cAApB,YAAsB,CAAF;IACtD,MAAM,EAAE,iBAAiB,EAAE,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAEtC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;IACpE,OAAO,CACL,6CAAS,SAAS,IAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,iBAAiB,KAC7D,QAAQ,CACL,CACP,CAAC;AACJ,CAAC;AAED,gBAAgB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n'use client';\nimport React from 'react';\nimport clsx from 'clsx';\n\nimport { getBaseProps } from '../internal/base-component';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { TextContentProps } from './interfaces';\n\nimport styles from './styles.css.js';\n\nexport { TextContentProps };\n\nexport default function TextContent({ children, ...props }: TextContentProps) {\n const { __internalRootRef } = useBaseComponent('TextContent');\n const baseProps = getBaseProps(props);\n\n const className = clsx(baseProps.className, styles['text-content']);\n return (\n <div {...baseProps} className={className} ref={__internalRootRef}>\n {children}\n </div>\n );\n}\n\napplyDisplayName(TextContent, 'TextContent');\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/text-content/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,YAAY,CAAC;AACb,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAIrC,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAoB;IAC1E,MAAM,EAAE,iBAAiB,EAAE,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAEtC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;IACpE,OAAO,CACL,gCAAS,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,iBAAiB,IAC7D,QAAQ,CACL,CACP,CAAC;AACJ,CAAC;AAED,gBAAgB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n'use client';\nimport React from 'react';\nimport clsx from 'clsx';\n\nimport { getBaseProps } from '../internal/base-component';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { TextContentProps } from './interfaces';\n\nimport styles from './styles.css.js';\n\nexport { TextContentProps };\n\nexport default function TextContent({ children, ...props }: TextContentProps) {\n const { __internalRootRef } = useBaseComponent('TextContent');\n const baseProps = getBaseProps(props);\n\n const className = clsx(baseProps.className, styles['text-content']);\n return (\n <div {...baseProps} className={className} ref={__internalRootRef}>\n {children}\n </div>\n );\n}\n\napplyDisplayName(TextContent, 'TextContent');\n"]}
@@ -1,6 +1,6 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "text-content": "awsui_text-content_6absk_mbcml_146"
4
+ "text-content": "awsui_text-content_6absk_rxagl_146"
5
5
  };
6
6