@cloudscape-design/components-themeable 3.0.1138 → 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 (790) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +127 -103
  3. package/lib/internal/scss/prompt-input/styles.scss +75 -13
  4. package/lib/internal/template/alert/actions-wrapper/index.js +3 -3
  5. package/lib/internal/template/alert/actions-wrapper/index.js.map +1 -1
  6. package/lib/internal/template/alert/index.js +2 -4
  7. package/lib/internal/template/alert/index.js.map +1 -1
  8. package/lib/internal/template/alert/internal.js +8 -10
  9. package/lib/internal/template/alert/internal.js.map +1 -1
  10. package/lib/internal/template/alert/style.js +12 -5
  11. package/lib/internal/template/alert/style.js.map +1 -1
  12. package/lib/internal/template/alert/styles.css.js +27 -27
  13. package/lib/internal/template/alert/styles.scoped.css +50 -50
  14. package/lib/internal/template/alert/styles.selectors.js +27 -27
  15. package/lib/internal/template/anchor-navigation/anchor-item/index.js +1 -1
  16. package/lib/internal/template/anchor-navigation/anchor-item/index.js.map +1 -1
  17. package/lib/internal/template/anchor-navigation/index.js +2 -4
  18. package/lib/internal/template/anchor-navigation/index.js.map +1 -1
  19. package/lib/internal/template/anchor-navigation/internal.js +2 -4
  20. package/lib/internal/template/anchor-navigation/internal.js.map +1 -1
  21. package/lib/internal/template/annotation-context/annotation/styles.css.js +24 -24
  22. package/lib/internal/template/annotation-context/annotation/styles.scoped.css +32 -32
  23. package/lib/internal/template/annotation-context/annotation/styles.selectors.js +24 -24
  24. package/lib/internal/template/annotation-context/index.js +3 -4
  25. package/lib/internal/template/annotation-context/index.js.map +1 -1
  26. package/lib/internal/template/app-layout/classic.js +20 -17
  27. package/lib/internal/template/app-layout/classic.js.map +1 -1
  28. package/lib/internal/template/app-layout/defaults.js +8 -3
  29. package/lib/internal/template/app-layout/defaults.js.map +1 -1
  30. package/lib/internal/template/app-layout/drawer/resizable-drawer.js +8 -10
  31. package/lib/internal/template/app-layout/drawer/resizable-drawer.js.map +1 -1
  32. package/lib/internal/template/app-layout/index.js +24 -21
  33. package/lib/internal/template/app-layout/index.js.map +1 -1
  34. package/lib/internal/template/app-layout/internal.js +3 -3
  35. package/lib/internal/template/app-layout/internal.js.map +1 -1
  36. package/lib/internal/template/app-layout/notifications/index.js +3 -5
  37. package/lib/internal/template/app-layout/notifications/index.js.map +1 -1
  38. package/lib/internal/template/app-layout/notifications/styles.css.js +3 -3
  39. package/lib/internal/template/app-layout/notifications/styles.scoped.css +7 -7
  40. package/lib/internal/template/app-layout/notifications/styles.selectors.js +3 -3
  41. package/lib/internal/template/app-layout/runtime-drawer/index.js +36 -18
  42. package/lib/internal/template/app-layout/runtime-drawer/index.js.map +1 -1
  43. package/lib/internal/template/app-layout/split-panel/provider.js +2 -4
  44. package/lib/internal/template/app-layout/split-panel/provider.js.map +1 -1
  45. package/lib/internal/template/app-layout/utils/use-app-layout-placement.js +1 -1
  46. package/lib/internal/template/app-layout/utils/use-app-layout-placement.js.map +1 -1
  47. package/lib/internal/template/app-layout/utils/use-drawers.js +9 -3
  48. package/lib/internal/template/app-layout/utils/use-drawers.js.map +1 -1
  49. package/lib/internal/template/app-layout/visual-refresh/context.js +28 -11
  50. package/lib/internal/template/app-layout/visual-refresh/context.js.map +1 -1
  51. package/lib/internal/template/app-layout/visual-refresh/drawers.js +3 -1
  52. package/lib/internal/template/app-layout/visual-refresh/drawers.js.map +1 -1
  53. package/lib/internal/template/app-layout/visual-refresh/index.js +1 -1
  54. package/lib/internal/template/app-layout/visual-refresh/index.js.map +1 -1
  55. package/lib/internal/template/app-layout/visual-refresh/layout.js +9 -1
  56. package/lib/internal/template/app-layout/visual-refresh/layout.js.map +1 -1
  57. package/lib/internal/template/app-layout/visual-refresh/main.js +4 -1
  58. package/lib/internal/template/app-layout/visual-refresh/main.js.map +1 -1
  59. package/lib/internal/template/app-layout/visual-refresh/split-panel.js +1 -1
  60. package/lib/internal/template/app-layout/visual-refresh/split-panel.js.map +1 -1
  61. package/lib/internal/template/app-layout/visual-refresh/styles.css.js +86 -86
  62. package/lib/internal/template/app-layout/visual-refresh/styles.scoped.css +258 -258
  63. package/lib/internal/template/app-layout/visual-refresh/styles.selectors.js +86 -86
  64. package/lib/internal/template/app-layout/visual-refresh/trigger-button.js +6 -3
  65. package/lib/internal/template/app-layout/visual-refresh/trigger-button.js.map +1 -1
  66. package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.js +5 -2
  67. package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.js.map +1 -1
  68. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.js +8 -4
  69. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.js.map +1 -1
  70. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.js +9 -6
  71. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.js.map +1 -1
  72. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-drawer.js +7 -3
  73. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-drawer.js.map +1 -1
  74. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/local-drawer.js +8 -4
  75. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/local-drawer.js.map +1 -1
  76. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.css.js +30 -30
  77. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +87 -87
  78. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +30 -30
  79. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.css.js +4 -4
  80. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +7 -7
  81. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +4 -4
  82. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/index.js +10 -10
  83. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/index.js.map +1 -1
  84. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/slots.js +5 -2
  85. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/slots.js.map +1 -1
  86. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +27 -27
  87. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +54 -54
  88. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +27 -27
  89. package/lib/internal/template/app-layout/visual-refresh-toolbar/split-panel/index.js +2 -2
  90. package/lib/internal/template/app-layout/visual-refresh-toolbar/split-panel/index.js.map +1 -1
  91. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/props-merger.js +7 -2
  92. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/props-merger.js.map +1 -1
  93. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-ai-drawer.js +1 -1
  94. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-ai-drawer.js.map +1 -1
  95. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-app-layout.js +19 -12
  96. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-app-layout.js.map +1 -1
  97. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-bottom-drawers.js +5 -2
  98. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-bottom-drawers.js.map +1 -1
  99. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-skeleton-slots-attributes.js +10 -6
  100. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-skeleton-slots-attributes.js.map +1 -1
  101. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js +4 -1
  102. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js.map +1 -1
  103. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js +1 -1
  104. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js.map +1 -1
  105. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.js +8 -8
  106. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.js.map +1 -1
  107. package/lib/internal/template/app-layout-toolbar/index.js +24 -21
  108. package/lib/internal/template/app-layout-toolbar/index.js.map +1 -1
  109. package/lib/internal/template/area-chart/chart-container.js +1 -1
  110. package/lib/internal/template/area-chart/chart-container.js.map +1 -1
  111. package/lib/internal/template/area-chart/elements/chart-popover.js +1 -1
  112. package/lib/internal/template/area-chart/elements/chart-popover.js.map +1 -1
  113. package/lib/internal/template/area-chart/elements/threshold-series.js +1 -1
  114. package/lib/internal/template/area-chart/elements/threshold-series.js.map +1 -1
  115. package/lib/internal/template/area-chart/index.js +2 -4
  116. package/lib/internal/template/area-chart/index.js.map +1 -1
  117. package/lib/internal/template/area-chart/internal.js +2 -4
  118. package/lib/internal/template/area-chart/internal.js.map +1 -1
  119. package/lib/internal/template/area-chart/model/interactions-store.js +39 -9
  120. package/lib/internal/template/area-chart/model/interactions-store.js.map +1 -1
  121. package/lib/internal/template/attribute-editor/index.js +4 -6
  122. package/lib/internal/template/attribute-editor/index.js.map +1 -1
  123. package/lib/internal/template/attribute-editor/internal.js +6 -5
  124. package/lib/internal/template/attribute-editor/internal.js.map +1 -1
  125. package/lib/internal/template/attribute-editor/row.js +1 -1
  126. package/lib/internal/template/attribute-editor/row.js.map +1 -1
  127. package/lib/internal/template/attribute-editor/styles.css.js +15 -15
  128. package/lib/internal/template/attribute-editor/styles.scoped.css +28 -28
  129. package/lib/internal/template/attribute-editor/styles.selectors.js +15 -15
  130. package/lib/internal/template/autosuggest/autosuggest-option.js +3 -5
  131. package/lib/internal/template/autosuggest/autosuggest-option.js.map +1 -1
  132. package/lib/internal/template/autosuggest/index.js +2 -4
  133. package/lib/internal/template/autosuggest/index.js.map +1 -1
  134. package/lib/internal/template/autosuggest/internal.js +10 -5
  135. package/lib/internal/template/autosuggest/internal.js.map +1 -1
  136. package/lib/internal/template/autosuggest/options-controller.js +15 -8
  137. package/lib/internal/template/autosuggest/options-controller.js.map +1 -1
  138. package/lib/internal/template/autosuggest/plain-list.js +3 -3
  139. package/lib/internal/template/autosuggest/plain-list.js.map +1 -1
  140. package/lib/internal/template/autosuggest/virtual-list.js +2 -2
  141. package/lib/internal/template/autosuggest/virtual-list.js.map +1 -1
  142. package/lib/internal/template/badge/index.js +2 -4
  143. package/lib/internal/template/badge/index.js.map +1 -1
  144. package/lib/internal/template/bar-chart/index.js +2 -4
  145. package/lib/internal/template/bar-chart/index.js.map +1 -1
  146. package/lib/internal/template/box/index.js +2 -4
  147. package/lib/internal/template/box/index.js.map +1 -1
  148. package/lib/internal/template/box/internal.js +2 -4
  149. package/lib/internal/template/box/internal.js.map +1 -1
  150. package/lib/internal/template/breadcrumb-group/all-items-dropdown.js +3 -3
  151. package/lib/internal/template/breadcrumb-group/all-items-dropdown.js.map +1 -1
  152. package/lib/internal/template/breadcrumb-group/implementation.js +9 -8
  153. package/lib/internal/template/breadcrumb-group/implementation.js.map +1 -1
  154. package/lib/internal/template/breadcrumb-group/index.js +3 -5
  155. package/lib/internal/template/breadcrumb-group/index.js.map +1 -1
  156. package/lib/internal/template/breadcrumb-group/item/funnel.js +1 -1
  157. package/lib/internal/template/breadcrumb-group/item/funnel.js.map +1 -1
  158. package/lib/internal/template/breadcrumb-group/item/item.js +5 -7
  159. package/lib/internal/template/breadcrumb-group/item/item.js.map +1 -1
  160. package/lib/internal/template/breadcrumb-group/item/styles.css.js +7 -7
  161. package/lib/internal/template/breadcrumb-group/item/styles.scoped.css +28 -28
  162. package/lib/internal/template/breadcrumb-group/item/styles.selectors.js +7 -7
  163. package/lib/internal/template/button/icon-helper.js +3 -5
  164. package/lib/internal/template/button/icon-helper.js.map +1 -1
  165. package/lib/internal/template/button/index.js +2 -4
  166. package/lib/internal/template/button/index.js.map +1 -1
  167. package/lib/internal/template/button/internal.js +31 -14
  168. package/lib/internal/template/button/internal.js.map +1 -1
  169. package/lib/internal/template/button/style.js +38 -27
  170. package/lib/internal/template/button/style.js.map +1 -1
  171. package/lib/internal/template/button/styles.css.js +22 -22
  172. package/lib/internal/template/button/styles.scoped.css +256 -256
  173. package/lib/internal/template/button/styles.selectors.js +22 -22
  174. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js +11 -11
  175. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
  176. package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js +12 -12
  177. package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js.map +1 -1
  178. package/lib/internal/template/button-dropdown/index.js +4 -6
  179. package/lib/internal/template/button-dropdown/index.js.map +1 -1
  180. package/lib/internal/template/button-dropdown/internal.js +36 -25
  181. package/lib/internal/template/button-dropdown/internal.js.map +1 -1
  182. package/lib/internal/template/button-dropdown/item-element/index.js +25 -17
  183. package/lib/internal/template/button-dropdown/item-element/index.js.map +1 -1
  184. package/lib/internal/template/button-dropdown/item-element/styles.css.js +16 -16
  185. package/lib/internal/template/button-dropdown/item-element/styles.scoped.css +27 -27
  186. package/lib/internal/template/button-dropdown/item-element/styles.selectors.js +16 -16
  187. package/lib/internal/template/button-dropdown/tooltip.js +1 -1
  188. package/lib/internal/template/button-dropdown/tooltip.js.map +1 -1
  189. package/lib/internal/template/button-dropdown/utils/use-button-dropdown.js +1 -2
  190. package/lib/internal/template/button-dropdown/utils/use-button-dropdown.js.map +1 -1
  191. package/lib/internal/template/button-group/index.js +2 -4
  192. package/lib/internal/template/button-group/index.js.map +1 -1
  193. package/lib/internal/template/button-group/internal.js +2 -4
  194. package/lib/internal/template/button-group/internal.js.map +1 -1
  195. package/lib/internal/template/button-group/item-element.js +4 -4
  196. package/lib/internal/template/button-group/item-element.js.map +1 -1
  197. package/lib/internal/template/button-group/menu-dropdown-item.js +1 -1
  198. package/lib/internal/template/button-group/menu-dropdown-item.js.map +1 -1
  199. package/lib/internal/template/button-group/style.js +34 -20
  200. package/lib/internal/template/button-group/style.js.map +1 -1
  201. package/lib/internal/template/calendar/grid/index.js +2 -3
  202. package/lib/internal/template/calendar/grid/index.js.map +1 -1
  203. package/lib/internal/template/calendar/index.js +2 -4
  204. package/lib/internal/template/calendar/index.js.map +1 -1
  205. package/lib/internal/template/calendar/internal.js +2 -4
  206. package/lib/internal/template/calendar/internal.js.map +1 -1
  207. package/lib/internal/template/cards/index.js +17 -19
  208. package/lib/internal/template/cards/index.js.map +1 -1
  209. package/lib/internal/template/checkbox/index.js +2 -4
  210. package/lib/internal/template/checkbox/index.js.map +1 -1
  211. package/lib/internal/template/checkbox/internal.js +4 -6
  212. package/lib/internal/template/checkbox/internal.js.map +1 -1
  213. package/lib/internal/template/checkbox/styles.css.js +3 -3
  214. package/lib/internal/template/checkbox/styles.scoped.css +11 -11
  215. package/lib/internal/template/checkbox/styles.selectors.js +3 -3
  216. package/lib/internal/template/code-editor/index.js +2 -3
  217. package/lib/internal/template/code-editor/index.js.map +1 -1
  218. package/lib/internal/template/code-editor/use-editor.js +4 -1
  219. package/lib/internal/template/code-editor/use-editor.js.map +1 -1
  220. package/lib/internal/template/code-editor/util.js +4 -1
  221. package/lib/internal/template/code-editor/util.js.map +1 -1
  222. package/lib/internal/template/collection-preferences/content-display/index.js +1 -1
  223. package/lib/internal/template/collection-preferences/content-display/index.js.map +1 -1
  224. package/lib/internal/template/collection-preferences/content-display/utils.js +1 -1
  225. package/lib/internal/template/collection-preferences/content-display/utils.js.map +1 -1
  226. package/lib/internal/template/collection-preferences/index.js +20 -13
  227. package/lib/internal/template/collection-preferences/index.js.map +1 -1
  228. package/lib/internal/template/collection-preferences/utils.js +9 -9
  229. package/lib/internal/template/collection-preferences/utils.js.map +1 -1
  230. package/lib/internal/template/collection-preferences/visible-content.js +8 -8
  231. package/lib/internal/template/collection-preferences/visible-content.js.map +1 -1
  232. package/lib/internal/template/column-layout/index.js +2 -4
  233. package/lib/internal/template/column-layout/index.js.map +1 -1
  234. package/lib/internal/template/column-layout/internal.js +2 -4
  235. package/lib/internal/template/column-layout/internal.js.map +1 -1
  236. package/lib/internal/template/container/index.js +2 -4
  237. package/lib/internal/template/container/index.js.map +1 -1
  238. package/lib/internal/template/container/internal.js +11 -9
  239. package/lib/internal/template/container/internal.js.map +1 -1
  240. package/lib/internal/template/container/style.js +11 -2
  241. package/lib/internal/template/container/style.js.map +1 -1
  242. package/lib/internal/template/content-layout/index.js +1 -1
  243. package/lib/internal/template/content-layout/index.js.map +1 -1
  244. package/lib/internal/template/content-layout/internal.js +3 -5
  245. package/lib/internal/template/content-layout/internal.js.map +1 -1
  246. package/lib/internal/template/content-layout/styles.css.js +14 -14
  247. package/lib/internal/template/content-layout/styles.scoped.css +27 -27
  248. package/lib/internal/template/content-layout/styles.selectors.js +14 -14
  249. package/lib/internal/template/copy-to-clipboard/index.js +2 -4
  250. package/lib/internal/template/copy-to-clipboard/index.js.map +1 -1
  251. package/lib/internal/template/copy-to-clipboard/internal.js +2 -4
  252. package/lib/internal/template/copy-to-clipboard/internal.js.map +1 -1
  253. package/lib/internal/template/date-input/index.js +1 -1
  254. package/lib/internal/template/date-input/index.js.map +1 -1
  255. package/lib/internal/template/date-input/internal.js +6 -8
  256. package/lib/internal/template/date-input/internal.js.map +1 -1
  257. package/lib/internal/template/date-picker/index.js +9 -6
  258. package/lib/internal/template/date-picker/index.js.map +1 -1
  259. package/lib/internal/template/date-range-picker/calendar/grids/grid-cell.js +3 -4
  260. package/lib/internal/template/date-range-picker/calendar/grids/grid-cell.js.map +1 -1
  261. package/lib/internal/template/date-range-picker/calendar/grids/grid.js +8 -8
  262. package/lib/internal/template/date-range-picker/calendar/grids/grid.js.map +1 -1
  263. package/lib/internal/template/date-range-picker/calendar/grids/index.js +2 -2
  264. package/lib/internal/template/date-range-picker/calendar/grids/index.js.map +1 -1
  265. package/lib/internal/template/date-range-picker/calendar/index.js +5 -2
  266. package/lib/internal/template/date-range-picker/calendar/index.js.map +1 -1
  267. package/lib/internal/template/date-range-picker/index.js +8 -6
  268. package/lib/internal/template/date-range-picker/index.js.map +1 -1
  269. package/lib/internal/template/date-range-picker/utils.js +8 -2
  270. package/lib/internal/template/date-range-picker/utils.js.map +1 -1
  271. package/lib/internal/template/drawer/implementation.js +7 -6
  272. package/lib/internal/template/drawer/implementation.js.map +1 -1
  273. package/lib/internal/template/drawer/index.js +1 -1
  274. package/lib/internal/template/drawer/index.js.map +1 -1
  275. package/lib/internal/template/expandable-section/expandable-section-container.js +3 -5
  276. package/lib/internal/template/expandable-section/expandable-section-container.js.map +1 -1
  277. package/lib/internal/template/expandable-section/expandable-section-header.js +8 -8
  278. package/lib/internal/template/expandable-section/expandable-section-header.js.map +1 -1
  279. package/lib/internal/template/expandable-section/index.js +2 -4
  280. package/lib/internal/template/expandable-section/index.js.map +1 -1
  281. package/lib/internal/template/expandable-section/internal.js +2 -4
  282. package/lib/internal/template/expandable-section/internal.js.map +1 -1
  283. package/lib/internal/template/file-dropzone/index.js +1 -1
  284. package/lib/internal/template/file-dropzone/index.js.map +1 -1
  285. package/lib/internal/template/file-dropzone/internal.js +3 -5
  286. package/lib/internal/template/file-dropzone/internal.js.map +1 -1
  287. package/lib/internal/template/file-input/index.js +2 -4
  288. package/lib/internal/template/file-input/index.js.map +1 -1
  289. package/lib/internal/template/file-input/internal.js +11 -8
  290. package/lib/internal/template/file-input/internal.js.map +1 -1
  291. package/lib/internal/template/file-token-group/default-formatters.js +3 -3
  292. package/lib/internal/template/file-token-group/default-formatters.js.map +1 -1
  293. package/lib/internal/template/file-token-group/index.js +2 -4
  294. package/lib/internal/template/file-token-group/index.js.map +1 -1
  295. package/lib/internal/template/file-token-group/internal.js +2 -4
  296. package/lib/internal/template/file-token-group/internal.js.map +1 -1
  297. package/lib/internal/template/file-upload/index.js +2 -4
  298. package/lib/internal/template/file-upload/index.js.map +1 -1
  299. package/lib/internal/template/file-upload/internal.js +5 -7
  300. package/lib/internal/template/file-upload/internal.js.map +1 -1
  301. package/lib/internal/template/flashbar/collapsible-flashbar.js +33 -23
  302. package/lib/internal/template/flashbar/collapsible-flashbar.js.map +1 -1
  303. package/lib/internal/template/flashbar/common.js +1 -3
  304. package/lib/internal/template/flashbar/common.js.map +1 -1
  305. package/lib/internal/template/flashbar/flash.js +4 -6
  306. package/lib/internal/template/flashbar/flash.js.map +1 -1
  307. package/lib/internal/template/flashbar/implementation.js +2 -2
  308. package/lib/internal/template/flashbar/implementation.js.map +1 -1
  309. package/lib/internal/template/flashbar/index.js +1 -1
  310. package/lib/internal/template/flashbar/index.js.map +1 -1
  311. package/lib/internal/template/flashbar/non-collapsible-flashbar.js +10 -9
  312. package/lib/internal/template/flashbar/non-collapsible-flashbar.js.map +1 -1
  313. package/lib/internal/template/flashbar/style.js +50 -32
  314. package/lib/internal/template/flashbar/style.js.map +1 -1
  315. package/lib/internal/template/flashbar/styles.css.js +50 -50
  316. package/lib/internal/template/flashbar/styles.scoped.css +187 -187
  317. package/lib/internal/template/flashbar/styles.selectors.js +50 -50
  318. package/lib/internal/template/flashbar/utils.js +2 -2
  319. package/lib/internal/template/flashbar/utils.js.map +1 -1
  320. package/lib/internal/template/form/index.js +4 -7
  321. package/lib/internal/template/form/index.js.map +1 -1
  322. package/lib/internal/template/form/internal.js +2 -4
  323. package/lib/internal/template/form/internal.js.map +1 -1
  324. package/lib/internal/template/form-field/index.js +7 -9
  325. package/lib/internal/template/form-field/index.js.map +1 -1
  326. package/lib/internal/template/form-field/internal.js +6 -5
  327. package/lib/internal/template/form-field/internal.js.map +1 -1
  328. package/lib/internal/template/grid/index.js +2 -4
  329. package/lib/internal/template/grid/index.js.map +1 -1
  330. package/lib/internal/template/grid/internal.js +2 -4
  331. package/lib/internal/template/grid/internal.js.map +1 -1
  332. package/lib/internal/template/header/index.js +2 -4
  333. package/lib/internal/template/header/index.js.map +1 -1
  334. package/lib/internal/template/header/internal.js +4 -6
  335. package/lib/internal/template/header/internal.js.map +1 -1
  336. package/lib/internal/template/help-panel/implementation.js +7 -6
  337. package/lib/internal/template/help-panel/implementation.js.map +1 -1
  338. package/lib/internal/template/help-panel/index.js +1 -1
  339. package/lib/internal/template/help-panel/index.js.map +1 -1
  340. package/lib/internal/template/help-panel/styles.css.js +6 -6
  341. package/lib/internal/template/help-panel/styles.scoped.css +73 -73
  342. package/lib/internal/template/help-panel/styles.selectors.js +6 -6
  343. package/lib/internal/template/hotspot/index.js +3 -5
  344. package/lib/internal/template/hotspot/index.js.map +1 -1
  345. package/lib/internal/template/icon/index.js +2 -4
  346. package/lib/internal/template/icon/index.js.map +1 -1
  347. package/lib/internal/template/icon/internal.js +4 -6
  348. package/lib/internal/template/icon/internal.js.map +1 -1
  349. package/lib/internal/template/icon-provider/index.js +1 -1
  350. package/lib/internal/template/icon-provider/index.js.map +1 -1
  351. package/lib/internal/template/icon-provider/internal.js +2 -2
  352. package/lib/internal/template/icon-provider/internal.js.map +1 -1
  353. package/lib/internal/template/input/index.js +5 -5
  354. package/lib/internal/template/input/index.js.map +1 -1
  355. package/lib/internal/template/input/internal.js +10 -12
  356. package/lib/internal/template/input/internal.js.map +1 -1
  357. package/lib/internal/template/input/styles.css.js +13 -13
  358. package/lib/internal/template/input/styles.js +42 -30
  359. package/lib/internal/template/input/styles.js.map +1 -1
  360. package/lib/internal/template/input/styles.scoped.css +65 -65
  361. package/lib/internal/template/input/styles.selectors.js +13 -13
  362. package/lib/internal/template/internal/analytics/components/analytics-funnel.js +9 -12
  363. package/lib/internal/template/internal/analytics/components/analytics-funnel.js.map +1 -1
  364. package/lib/internal/template/internal/analytics/hooks/use-funnel.js +5 -6
  365. package/lib/internal/template/internal/analytics/hooks/use-funnel.js.map +1 -1
  366. package/lib/internal/template/internal/animate.js +1 -1
  367. package/lib/internal/template/internal/animate.js.map +1 -1
  368. package/lib/internal/template/internal/base-component/index.js +1 -1
  369. package/lib/internal/template/internal/base-component/index.js.map +1 -1
  370. package/lib/internal/template/internal/base-component/styles.scoped.css +1 -1
  371. package/lib/internal/template/internal/components/abstract-switch/index.js +21 -20
  372. package/lib/internal/template/internal/components/abstract-switch/index.js.map +1 -1
  373. package/lib/internal/template/internal/components/autosuggest-input/index.js +3 -5
  374. package/lib/internal/template/internal/components/autosuggest-input/index.js.map +1 -1
  375. package/lib/internal/template/internal/components/button-trigger/index.js +25 -6
  376. package/lib/internal/template/internal/components/button-trigger/index.js.map +1 -1
  377. package/lib/internal/template/internal/components/cartesian-chart/inline-start-labels.js +1 -1
  378. package/lib/internal/template/internal/components/cartesian-chart/inline-start-labels.js.map +1 -1
  379. package/lib/internal/template/internal/components/chart-filter/index.js +2 -4
  380. package/lib/internal/template/internal/components/chart-filter/index.js.map +1 -1
  381. package/lib/internal/template/internal/components/chart-plot/index.js +2 -2
  382. package/lib/internal/template/internal/components/chart-plot/index.js.map +1 -1
  383. package/lib/internal/template/internal/components/chart-popover/index.js +3 -5
  384. package/lib/internal/template/internal/components/chart-popover/index.js.map +1 -1
  385. package/lib/internal/template/internal/components/chart-series-details/index.js +2 -4
  386. package/lib/internal/template/internal/components/chart-series-details/index.js.map +1 -1
  387. package/lib/internal/template/internal/components/chart-wrapper/index.js +3 -5
  388. package/lib/internal/template/internal/components/chart-wrapper/index.js.map +1 -1
  389. package/lib/internal/template/internal/components/checkbox-icon/index.js +5 -7
  390. package/lib/internal/template/internal/components/checkbox-icon/index.js.map +1 -1
  391. package/lib/internal/template/internal/components/drag-handle/button.js +5 -5
  392. package/lib/internal/template/internal/components/drag-handle/button.js.map +1 -1
  393. package/lib/internal/template/internal/components/drag-handle/hooks/use-drag-handle-interaction-state.js +17 -4
  394. package/lib/internal/template/internal/components/drag-handle/hooks/use-drag-handle-interaction-state.js.map +1 -1
  395. package/lib/internal/template/internal/components/drag-handle/index.js +1 -3
  396. package/lib/internal/template/internal/components/drag-handle/index.js.map +1 -1
  397. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.css.js +20 -20
  398. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.scoped.css +48 -48
  399. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.selectors.js +20 -20
  400. package/lib/internal/template/internal/components/dropdown/styles.css.js +20 -20
  401. package/lib/internal/template/internal/components/dropdown/styles.scoped.css +38 -38
  402. package/lib/internal/template/internal/components/dropdown/styles.selectors.js +20 -20
  403. package/lib/internal/template/internal/components/masked-input/index.js +12 -8
  404. package/lib/internal/template/internal/components/masked-input/index.js.map +1 -1
  405. package/lib/internal/template/internal/components/masked-input/utils/mask-format.js +6 -1
  406. package/lib/internal/template/internal/components/masked-input/utils/mask-format.js.map +1 -1
  407. package/lib/internal/template/internal/components/menu-dropdown/index.js +2 -4
  408. package/lib/internal/template/internal/components/menu-dropdown/index.js.map +1 -1
  409. package/lib/internal/template/internal/components/option/index.js +6 -8
  410. package/lib/internal/template/internal/components/option/index.js.map +1 -1
  411. package/lib/internal/template/internal/components/option/option-parts.js +1 -1
  412. package/lib/internal/template/internal/components/option/option-parts.js.map +1 -1
  413. package/lib/internal/template/internal/components/option/utils/flatten-options.js +1 -2
  414. package/lib/internal/template/internal/components/option/utils/flatten-options.js.map +1 -1
  415. package/lib/internal/template/internal/components/options-list/index.js +2 -4
  416. package/lib/internal/template/internal/components/options-list/index.js.map +1 -1
  417. package/lib/internal/template/internal/components/screenreader-only/index.js +1 -1
  418. package/lib/internal/template/internal/components/screenreader-only/index.js.map +1 -1
  419. package/lib/internal/template/internal/components/selectable-item/analytics-metadata/utils.js +1 -3
  420. package/lib/internal/template/internal/components/selectable-item/analytics-metadata/utils.js.map +1 -1
  421. package/lib/internal/template/internal/components/selectable-item/index.js +5 -7
  422. package/lib/internal/template/internal/components/selectable-item/index.js.map +1 -1
  423. package/lib/internal/template/internal/components/sortable-area/index.js +19 -6
  424. package/lib/internal/template/internal/components/sortable-area/index.js.map +1 -1
  425. package/lib/internal/template/internal/components/token-list/styles.css.js +10 -10
  426. package/lib/internal/template/internal/components/token-list/styles.scoped.css +25 -25
  427. package/lib/internal/template/internal/components/token-list/styles.selectors.js +10 -10
  428. package/lib/internal/template/internal/components/token-list/token-limit-toggle.js +1 -1
  429. package/lib/internal/template/internal/components/token-list/token-limit-toggle.js.map +1 -1
  430. package/lib/internal/template/internal/components/tooltip/index.js +1 -1
  431. package/lib/internal/template/internal/components/tooltip/index.js.map +1 -1
  432. package/lib/internal/template/internal/components/transition/index.js +3 -5
  433. package/lib/internal/template/internal/components/transition/index.js.map +1 -1
  434. package/lib/internal/template/internal/environment.js +2 -2
  435. package/lib/internal/template/internal/environment.json +2 -2
  436. package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts +24 -0
  437. package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts.map +1 -1
  438. package/lib/internal/template/internal/generated/custom-css-properties/index.js +126 -102
  439. package/lib/internal/template/internal/generated/custom-css-properties/index.js.map +1 -1
  440. package/lib/internal/template/internal/hooks/use-intersection-observer/index.js +1 -1
  441. package/lib/internal/template/internal/hooks/use-intersection-observer/index.js.map +1 -1
  442. package/lib/internal/template/internal/hooks/use-performance-marks/index.js +12 -2
  443. package/lib/internal/template/internal/hooks/use-performance-marks/index.js.map +1 -1
  444. package/lib/internal/template/internal/hooks/use-virtual/index.js +5 -2
  445. package/lib/internal/template/internal/hooks/use-virtual/index.js.map +1 -1
  446. package/lib/internal/template/internal/plugins/controllers/drawers.js +4 -6
  447. package/lib/internal/template/internal/plugins/controllers/drawers.js.map +1 -1
  448. package/lib/internal/template/internal/plugins/helpers/use-global-breadcrumbs.js +4 -6
  449. package/lib/internal/template/internal/plugins/helpers/use-global-breadcrumbs.js.map +1 -1
  450. package/lib/internal/template/internal/plugins/widget/index.js +1 -1
  451. package/lib/internal/template/internal/plugins/widget/index.js.map +1 -1
  452. package/lib/internal/template/internal/utils/with-native-attributes.js +4 -6
  453. package/lib/internal/template/internal/utils/with-native-attributes.js.map +1 -1
  454. package/lib/internal/template/internal/widgets/index.js +2 -2
  455. package/lib/internal/template/internal/widgets/index.js.map +1 -1
  456. package/lib/internal/template/internal/widgets/loader-mock.js +2 -2
  457. package/lib/internal/template/internal/widgets/loader-mock.js.map +1 -1
  458. package/lib/internal/template/key-value-pairs/index.js +2 -4
  459. package/lib/internal/template/key-value-pairs/index.js.map +1 -1
  460. package/lib/internal/template/key-value-pairs/internal.js +4 -6
  461. package/lib/internal/template/key-value-pairs/internal.js.map +1 -1
  462. package/lib/internal/template/line-chart/index.js +2 -4
  463. package/lib/internal/template/line-chart/index.js.map +1 -1
  464. package/lib/internal/template/link/index.js +2 -4
  465. package/lib/internal/template/link/index.js.map +1 -1
  466. package/lib/internal/template/link/internal.js +13 -6
  467. package/lib/internal/template/link/internal.js.map +1 -1
  468. package/lib/internal/template/link/style.js +12 -9
  469. package/lib/internal/template/link/style.js.map +1 -1
  470. package/lib/internal/template/link/styles.css.js +20 -20
  471. package/lib/internal/template/link/styles.scoped.css +103 -103
  472. package/lib/internal/template/link/styles.selectors.js +20 -20
  473. package/lib/internal/template/list/index.js +1 -1
  474. package/lib/internal/template/list/index.js.map +1 -1
  475. package/lib/internal/template/list/internal.js +6 -8
  476. package/lib/internal/template/list/internal.js.map +1 -1
  477. package/lib/internal/template/live-region/index.js +2 -4
  478. package/lib/internal/template/live-region/index.js.map +1 -1
  479. package/lib/internal/template/live-region/internal.js +2 -4
  480. package/lib/internal/template/live-region/internal.js.map +1 -1
  481. package/lib/internal/template/mixed-line-bar-chart/bar-series.js +3 -3
  482. package/lib/internal/template/mixed-line-bar-chart/bar-series.js.map +1 -1
  483. package/lib/internal/template/mixed-line-bar-chart/chart-container.js +7 -9
  484. package/lib/internal/template/mixed-line-bar-chart/chart-container.js.map +1 -1
  485. package/lib/internal/template/mixed-line-bar-chart/chart-popover.js +4 -1
  486. package/lib/internal/template/mixed-line-bar-chart/chart-popover.js.map +1 -1
  487. package/lib/internal/template/mixed-line-bar-chart/hooks/use-navigation.js +1 -1
  488. package/lib/internal/template/mixed-line-bar-chart/hooks/use-navigation.js.map +1 -1
  489. package/lib/internal/template/mixed-line-bar-chart/index.js +2 -4
  490. package/lib/internal/template/mixed-line-bar-chart/index.js.map +1 -1
  491. package/lib/internal/template/mixed-line-bar-chart/internal.js +2 -4
  492. package/lib/internal/template/mixed-line-bar-chart/internal.js.map +1 -1
  493. package/lib/internal/template/mixed-line-bar-chart/line-series.js +3 -3
  494. package/lib/internal/template/mixed-line-bar-chart/line-series.js.map +1 -1
  495. package/lib/internal/template/modal/index.js +5 -8
  496. package/lib/internal/template/modal/index.js.map +1 -1
  497. package/lib/internal/template/modal/internal.js +11 -14
  498. package/lib/internal/template/modal/internal.js.map +1 -1
  499. package/lib/internal/template/multiselect/embedded.js +15 -6
  500. package/lib/internal/template/multiselect/embedded.js.map +1 -1
  501. package/lib/internal/template/multiselect/index.js +2 -4
  502. package/lib/internal/template/multiselect/index.js.map +1 -1
  503. package/lib/internal/template/multiselect/internal.js +13 -12
  504. package/lib/internal/template/multiselect/internal.js.map +1 -1
  505. package/lib/internal/template/multiselect/use-multiselect.js +9 -5
  506. package/lib/internal/template/multiselect/use-multiselect.js.map +1 -1
  507. package/lib/internal/template/navigable-group/index.js +2 -4
  508. package/lib/internal/template/navigable-group/index.js.map +1 -1
  509. package/lib/internal/template/navigable-group/internal.js +2 -4
  510. package/lib/internal/template/navigable-group/internal.js.map +1 -1
  511. package/lib/internal/template/pagination/index.js +10 -10
  512. package/lib/internal/template/pagination/index.js.map +1 -1
  513. package/lib/internal/template/pagination/internal.js +36 -40
  514. package/lib/internal/template/pagination/internal.js.map +1 -1
  515. package/lib/internal/template/pie-chart/index.js +4 -6
  516. package/lib/internal/template/pie-chart/index.js.map +1 -1
  517. package/lib/internal/template/pie-chart/labels.js +2 -2
  518. package/lib/internal/template/pie-chart/labels.js.map +1 -1
  519. package/lib/internal/template/pie-chart/segments.js +1 -1
  520. package/lib/internal/template/pie-chart/segments.js.map +1 -1
  521. package/lib/internal/template/pie-chart/utils.js +17 -5
  522. package/lib/internal/template/pie-chart/utils.js.map +1 -1
  523. package/lib/internal/template/popover/body.js +3 -3
  524. package/lib/internal/template/popover/body.js.map +1 -1
  525. package/lib/internal/template/popover/container.js +1 -1
  526. package/lib/internal/template/popover/container.js.map +1 -1
  527. package/lib/internal/template/popover/index.js +2 -4
  528. package/lib/internal/template/popover/index.js.map +1 -1
  529. package/lib/internal/template/popover/internal.js +4 -6
  530. package/lib/internal/template/popover/internal.js.map +1 -1
  531. package/lib/internal/template/progress-bar/index.js +2 -4
  532. package/lib/internal/template/progress-bar/index.js.map +1 -1
  533. package/lib/internal/template/progress-bar/internal.js +4 -1
  534. package/lib/internal/template/progress-bar/internal.js.map +1 -1
  535. package/lib/internal/template/progress-bar/styles.css.js +19 -19
  536. package/lib/internal/template/progress-bar/styles.scoped.css +56 -56
  537. package/lib/internal/template/progress-bar/styles.selectors.js +19 -19
  538. package/lib/internal/template/prompt-input/index.js +2 -4
  539. package/lib/internal/template/prompt-input/index.js.map +1 -1
  540. package/lib/internal/template/prompt-input/interfaces.d.ts +48 -0
  541. package/lib/internal/template/prompt-input/interfaces.d.ts.map +1 -1
  542. package/lib/internal/template/prompt-input/interfaces.js.map +1 -1
  543. package/lib/internal/template/prompt-input/internal.d.ts.map +1 -1
  544. package/lib/internal/template/prompt-input/internal.js +5 -6
  545. package/lib/internal/template/prompt-input/internal.js.map +1 -1
  546. package/lib/internal/template/prompt-input/styles.css.js +17 -17
  547. package/lib/internal/template/prompt-input/styles.d.ts +5 -0
  548. package/lib/internal/template/prompt-input/styles.d.ts.map +1 -0
  549. package/lib/internal/template/prompt-input/styles.js +44 -0
  550. package/lib/internal/template/prompt-input/styles.js.map +1 -0
  551. package/lib/internal/template/prompt-input/styles.scoped.css +73 -61
  552. package/lib/internal/template/prompt-input/styles.selectors.js +17 -17
  553. package/lib/internal/template/property-filter/controller.js +6 -6
  554. package/lib/internal/template/property-filter/controller.js.map +1 -1
  555. package/lib/internal/template/property-filter/filter-options.js +1 -1
  556. package/lib/internal/template/property-filter/filter-options.js.map +1 -1
  557. package/lib/internal/template/property-filter/filtering-token/index.js +11 -14
  558. package/lib/internal/template/property-filter/filtering-token/index.js.map +1 -1
  559. package/lib/internal/template/property-filter/i18n-utils.js +48 -11
  560. package/lib/internal/template/property-filter/i18n-utils.js.map +1 -1
  561. package/lib/internal/template/property-filter/index.js +4 -6
  562. package/lib/internal/template/property-filter/index.js.map +1 -1
  563. package/lib/internal/template/property-filter/internal.js +15 -13
  564. package/lib/internal/template/property-filter/internal.js.map +1 -1
  565. package/lib/internal/template/property-filter/property-editor.js +1 -1
  566. package/lib/internal/template/property-filter/property-editor.js.map +1 -1
  567. package/lib/internal/template/property-filter/property-filter-autosuggest.js +8 -4
  568. package/lib/internal/template/property-filter/property-filter-autosuggest.js.map +1 -1
  569. package/lib/internal/template/property-filter/token-editor-inputs.js +10 -9
  570. package/lib/internal/template/property-filter/token-editor-inputs.js.map +1 -1
  571. package/lib/internal/template/property-filter/token-editor.js +10 -10
  572. package/lib/internal/template/property-filter/token-editor.js.map +1 -1
  573. package/lib/internal/template/property-filter/token.js +8 -8
  574. package/lib/internal/template/property-filter/token.js.map +1 -1
  575. package/lib/internal/template/property-filter/use-load-items.js +6 -1
  576. package/lib/internal/template/property-filter/use-load-items.js.map +1 -1
  577. package/lib/internal/template/radio-group/index.js +9 -9
  578. package/lib/internal/template/radio-group/index.js.map +1 -1
  579. package/lib/internal/template/radio-group/internal.js +10 -12
  580. package/lib/internal/template/radio-group/internal.js.map +1 -1
  581. package/lib/internal/template/radio-group/radio-button.js +4 -6
  582. package/lib/internal/template/radio-group/radio-button.js.map +1 -1
  583. package/lib/internal/template/radio-group/styles.css.js +10 -10
  584. package/lib/internal/template/radio-group/styles.scoped.css +22 -22
  585. package/lib/internal/template/radio-group/styles.selectors.js +10 -10
  586. package/lib/internal/template/s3-resource-selector/index.js +3 -5
  587. package/lib/internal/template/s3-resource-selector/index.js.map +1 -1
  588. package/lib/internal/template/s3-resource-selector/s3-in-context/index.js +1 -1
  589. package/lib/internal/template/s3-resource-selector/s3-in-context/index.js.map +1 -1
  590. package/lib/internal/template/s3-resource-selector/s3-in-context/search-input.js +1 -1
  591. package/lib/internal/template/s3-resource-selector/s3-in-context/search-input.js.map +1 -1
  592. package/lib/internal/template/s3-resource-selector/s3-modal/basic-table.js +4 -7
  593. package/lib/internal/template/s3-resource-selector/s3-modal/basic-table.js.map +1 -1
  594. package/lib/internal/template/s3-resource-selector/s3-modal/buckets-table.js +13 -1
  595. package/lib/internal/template/s3-resource-selector/s3-modal/buckets-table.js.map +1 -1
  596. package/lib/internal/template/s3-resource-selector/s3-modal/index.js +4 -1
  597. package/lib/internal/template/s3-resource-selector/s3-modal/index.js.map +1 -1
  598. package/lib/internal/template/s3-resource-selector/s3-modal/objects-table.js +14 -2
  599. package/lib/internal/template/s3-resource-selector/s3-modal/objects-table.js.map +1 -1
  600. package/lib/internal/template/s3-resource-selector/s3-modal/versions-table.js +13 -1
  601. package/lib/internal/template/s3-resource-selector/s3-modal/versions-table.js.map +1 -1
  602. package/lib/internal/template/segmented-control/index.js +1 -1
  603. package/lib/internal/template/segmented-control/index.js.map +1 -1
  604. package/lib/internal/template/segmented-control/internal.js +6 -8
  605. package/lib/internal/template/segmented-control/internal.js.map +1 -1
  606. package/lib/internal/template/segmented-control/segment.js +1 -1
  607. package/lib/internal/template/segmented-control/segment.js.map +1 -1
  608. package/lib/internal/template/select/index.js +2 -4
  609. package/lib/internal/template/select/index.js.map +1 -1
  610. package/lib/internal/template/select/internal.js +13 -10
  611. package/lib/internal/template/select/internal.js.map +1 -1
  612. package/lib/internal/template/select/parts/filter.js +9 -4
  613. package/lib/internal/template/select/parts/filter.js.map +1 -1
  614. package/lib/internal/template/select/parts/item.js +3 -5
  615. package/lib/internal/template/select/parts/item.js.map +1 -1
  616. package/lib/internal/template/select/parts/multiselect-item.js +3 -5
  617. package/lib/internal/template/select/parts/multiselect-item.js.map +1 -1
  618. package/lib/internal/template/select/parts/plain-list.js +1 -1
  619. package/lib/internal/template/select/parts/plain-list.js.map +1 -1
  620. package/lib/internal/template/select/parts/trigger.js +2 -2
  621. package/lib/internal/template/select/parts/trigger.js.map +1 -1
  622. package/lib/internal/template/select/parts/virtual-list.js +3 -3
  623. package/lib/internal/template/select/parts/virtual-list.js.map +1 -1
  624. package/lib/internal/template/select/utils/get-item-props.js +7 -1
  625. package/lib/internal/template/select/utils/get-item-props.js.map +1 -1
  626. package/lib/internal/template/select/utils/render-options.js +1 -1
  627. package/lib/internal/template/select/utils/render-options.js.map +1 -1
  628. package/lib/internal/template/side-navigation/implementation.js +2 -4
  629. package/lib/internal/template/side-navigation/implementation.js.map +1 -1
  630. package/lib/internal/template/side-navigation/index.js +2 -4
  631. package/lib/internal/template/side-navigation/index.js.map +1 -1
  632. package/lib/internal/template/side-navigation/parts.js +4 -4
  633. package/lib/internal/template/side-navigation/parts.js.map +1 -1
  634. package/lib/internal/template/slider/index.js +2 -4
  635. package/lib/internal/template/slider/index.js.map +1 -1
  636. package/lib/internal/template/slider/internal.js +2 -4
  637. package/lib/internal/template/slider/internal.js.map +1 -1
  638. package/lib/internal/template/slider/styles.css.js +26 -26
  639. package/lib/internal/template/slider/styles.scoped.css +86 -86
  640. package/lib/internal/template/slider/styles.selectors.js +26 -26
  641. package/lib/internal/template/slider/tick-marks.js +3 -3
  642. package/lib/internal/template/slider/tick-marks.js.map +1 -1
  643. package/lib/internal/template/space-between/index.js +2 -4
  644. package/lib/internal/template/space-between/index.js.map +1 -1
  645. package/lib/internal/template/space-between/internal.js +2 -4
  646. package/lib/internal/template/space-between/internal.js.map +1 -1
  647. package/lib/internal/template/spinner/index.js +2 -4
  648. package/lib/internal/template/spinner/index.js.map +1 -1
  649. package/lib/internal/template/spinner/internal.js +2 -4
  650. package/lib/internal/template/spinner/internal.js.map +1 -1
  651. package/lib/internal/template/spinner/styles.css.js +13 -13
  652. package/lib/internal/template/spinner/styles.scoped.css +39 -39
  653. package/lib/internal/template/spinner/styles.selectors.js +13 -13
  654. package/lib/internal/template/split-panel/bottom.js +2 -2
  655. package/lib/internal/template/split-panel/bottom.js.map +1 -1
  656. package/lib/internal/template/split-panel/implementation.js +2 -4
  657. package/lib/internal/template/split-panel/implementation.js.map +1 -1
  658. package/lib/internal/template/split-panel/index.js +16 -4
  659. package/lib/internal/template/split-panel/index.js.map +1 -1
  660. package/lib/internal/template/split-panel/side.js +6 -2
  661. package/lib/internal/template/split-panel/side.js.map +1 -1
  662. package/lib/internal/template/status-indicator/index.js +2 -4
  663. package/lib/internal/template/status-indicator/index.js.map +1 -1
  664. package/lib/internal/template/status-indicator/internal.js +3 -5
  665. package/lib/internal/template/status-indicator/internal.js.map +1 -1
  666. package/lib/internal/template/steps/index.js +2 -4
  667. package/lib/internal/template/steps/index.js.map +1 -1
  668. package/lib/internal/template/steps/internal.js +2 -4
  669. package/lib/internal/template/steps/internal.js.map +1 -1
  670. package/lib/internal/template/table/body-cell/disabled-inline-editor.js +4 -6
  671. package/lib/internal/template/table/body-cell/disabled-inline-editor.js.map +1 -1
  672. package/lib/internal/template/table/body-cell/index.js +9 -11
  673. package/lib/internal/template/table/body-cell/index.js.map +1 -1
  674. package/lib/internal/template/table/body-cell/inline-editor.js +18 -21
  675. package/lib/internal/template/table/body-cell/inline-editor.js.map +1 -1
  676. package/lib/internal/template/table/body-cell/td-element.js +3 -5
  677. package/lib/internal/template/table/body-cell/td-element.js.map +1 -1
  678. package/lib/internal/template/table/expandable-rows/expandable-rows-utils.js +1 -1
  679. package/lib/internal/template/table/expandable-rows/expandable-rows-utils.js.map +1 -1
  680. package/lib/internal/template/table/header-cell/index.js +20 -20
  681. package/lib/internal/template/table/header-cell/index.js.map +1 -1
  682. package/lib/internal/template/table/header-cell/th-element.js +3 -5
  683. package/lib/internal/template/table/header-cell/th-element.js.map +1 -1
  684. package/lib/internal/template/table/index.js +14 -10
  685. package/lib/internal/template/table/index.js.map +1 -1
  686. package/lib/internal/template/table/internal.js +47 -34
  687. package/lib/internal/template/table/internal.js.map +1 -1
  688. package/lib/internal/template/table/progressive-loading/loader-cell.js +2 -4
  689. package/lib/internal/template/table/progressive-loading/loader-cell.js.map +1 -1
  690. package/lib/internal/template/table/selection/selection-cell.js +8 -11
  691. package/lib/internal/template/table/selection/selection-cell.js.map +1 -1
  692. package/lib/internal/template/table/selection/selection-control.js +10 -12
  693. package/lib/internal/template/table/selection/selection-control.js.map +1 -1
  694. package/lib/internal/template/table/sticky-columns/use-sticky-columns.js +1 -1
  695. package/lib/internal/template/table/sticky-columns/use-sticky-columns.js.map +1 -1
  696. package/lib/internal/template/table/sticky-header.js +2 -2
  697. package/lib/internal/template/table/sticky-header.js.map +1 -1
  698. package/lib/internal/template/table/thead.js +5 -5
  699. package/lib/internal/template/table/thead.js.map +1 -1
  700. package/lib/internal/template/table/use-cell-editing.js +3 -4
  701. package/lib/internal/template/table/use-cell-editing.js.map +1 -1
  702. package/lib/internal/template/table/utils.js +1 -1
  703. package/lib/internal/template/table/utils.js.map +1 -1
  704. package/lib/internal/template/tabs/index.js +6 -8
  705. package/lib/internal/template/tabs/index.js.map +1 -1
  706. package/lib/internal/template/tabs/tab-header-bar.js +12 -5
  707. package/lib/internal/template/tabs/tab-header-bar.js.map +1 -1
  708. package/lib/internal/template/tag-editor/index.js +7 -9
  709. package/lib/internal/template/tag-editor/index.js.map +1 -1
  710. package/lib/internal/template/tag-editor/styles.css.js +3 -3
  711. package/lib/internal/template/tag-editor/styles.scoped.css +13 -13
  712. package/lib/internal/template/tag-editor/styles.selectors.js +3 -3
  713. package/lib/internal/template/text-content/index.js +2 -4
  714. package/lib/internal/template/text-content/index.js.map +1 -1
  715. package/lib/internal/template/text-content/styles.css.js +1 -1
  716. package/lib/internal/template/text-content/styles.scoped.css +66 -66
  717. package/lib/internal/template/text-content/styles.selectors.js +1 -1
  718. package/lib/internal/template/text-filter/index.js +1 -1
  719. package/lib/internal/template/text-filter/index.js.map +1 -1
  720. package/lib/internal/template/text-filter/internal.js +2 -4
  721. package/lib/internal/template/text-filter/internal.js.map +1 -1
  722. package/lib/internal/template/textarea/index.js +3 -5
  723. package/lib/internal/template/textarea/index.js.map +1 -1
  724. package/lib/internal/template/textarea/styles.css.js +5 -5
  725. package/lib/internal/template/textarea/styles.js +42 -30
  726. package/lib/internal/template/textarea/styles.js.map +1 -1
  727. package/lib/internal/template/textarea/styles.scoped.css +41 -41
  728. package/lib/internal/template/textarea/styles.selectors.js +5 -5
  729. package/lib/internal/template/tiles/index.js +3 -3
  730. package/lib/internal/template/tiles/index.js.map +1 -1
  731. package/lib/internal/template/tiles/internal.js +12 -14
  732. package/lib/internal/template/tiles/internal.js.map +1 -1
  733. package/lib/internal/template/tiles/tile.js +3 -5
  734. package/lib/internal/template/tiles/tile.js.map +1 -1
  735. package/lib/internal/template/time-input/index.js +2 -4
  736. package/lib/internal/template/time-input/index.js.map +1 -1
  737. package/lib/internal/template/time-input/internal.js +2 -4
  738. package/lib/internal/template/time-input/internal.js.map +1 -1
  739. package/lib/internal/template/toggle/index.js +1 -1
  740. package/lib/internal/template/toggle/index.js.map +1 -1
  741. package/lib/internal/template/toggle/internal.js +5 -7
  742. package/lib/internal/template/toggle/internal.js.map +1 -1
  743. package/lib/internal/template/toggle/styles.css.js +10 -10
  744. package/lib/internal/template/toggle/styles.scoped.css +23 -23
  745. package/lib/internal/template/toggle/styles.selectors.js +10 -10
  746. package/lib/internal/template/toggle-button/index.js +2 -4
  747. package/lib/internal/template/toggle-button/index.js.map +1 -1
  748. package/lib/internal/template/toggle-button/internal.js +3 -5
  749. package/lib/internal/template/toggle-button/internal.js.map +1 -1
  750. package/lib/internal/template/token/dismiss-button.js +2 -2
  751. package/lib/internal/template/token/dismiss-button.js.map +1 -1
  752. package/lib/internal/template/token/index.js +1 -1
  753. package/lib/internal/template/token/index.js.map +1 -1
  754. package/lib/internal/template/token/internal.js +20 -14
  755. package/lib/internal/template/token/internal.js.map +1 -1
  756. package/lib/internal/template/token-group/index.js +2 -4
  757. package/lib/internal/template/token-group/index.js.map +1 -1
  758. package/lib/internal/template/token-group/internal.js +6 -8
  759. package/lib/internal/template/token-group/internal.js.map +1 -1
  760. package/lib/internal/template/top-navigation/index.js +2 -4
  761. package/lib/internal/template/top-navigation/index.js.map +1 -1
  762. package/lib/internal/template/top-navigation/internal.js +2 -4
  763. package/lib/internal/template/top-navigation/internal.js.map +1 -1
  764. package/lib/internal/template/top-navigation/parts/overflow-menu/menu-item.js +7 -11
  765. package/lib/internal/template/top-navigation/parts/overflow-menu/menu-item.js.map +1 -1
  766. package/lib/internal/template/top-navigation/parts/overflow-menu/views/submenu.js +2 -2
  767. package/lib/internal/template/top-navigation/parts/overflow-menu/views/submenu.js.map +1 -1
  768. package/lib/internal/template/top-navigation/parts/overflow-menu/views/utilities.js +1 -1
  769. package/lib/internal/template/top-navigation/parts/overflow-menu/views/utilities.js.map +1 -1
  770. package/lib/internal/template/top-navigation/parts/utility.js +1 -1
  771. package/lib/internal/template/top-navigation/parts/utility.js.map +1 -1
  772. package/lib/internal/template/tree-view/index.js +1 -1
  773. package/lib/internal/template/tree-view/index.js.map +1 -1
  774. package/lib/internal/template/tree-view/internal.js +2 -4
  775. package/lib/internal/template/tree-view/internal.js.map +1 -1
  776. package/lib/internal/template/tutorial-panel/components/tutorial-detail-view/task-list.js +1 -1
  777. package/lib/internal/template/tutorial-panel/components/tutorial-detail-view/task-list.js.map +1 -1
  778. package/lib/internal/template/tutorial-panel/index.js +2 -4
  779. package/lib/internal/template/tutorial-panel/index.js.map +1 -1
  780. package/lib/internal/template/wizard/index.js +2 -4
  781. package/lib/internal/template/wizard/index.js.map +1 -1
  782. package/lib/internal/template/wizard/internal.js +23 -10
  783. package/lib/internal/template/wizard/internal.js.map +1 -1
  784. package/lib/internal/template/wizard/wizard-actions.js +3 -3
  785. package/lib/internal/template/wizard/wizard-actions.js.map +1 -1
  786. package/lib/internal/template/wizard/wizard-form.js +2 -2
  787. package/lib/internal/template/wizard/wizard-form.js.map +1 -1
  788. package/lib/internal/template/wizard/wizard-navigation.js +7 -7
  789. package/lib/internal/template/wizard/wizard-navigation.js.map +1 -1
  790. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/use-performance-marks/index.ts"],"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 { useEffect, useState } from 'react';\n\nimport { useRandomId } from '@cloudscape-design/component-toolkit/internal';\n\nimport { useModalContext } from '../../context/modal-context';\nimport { useDOMAttribute } from '../use-dom-attribute';\nimport { useEffectOnUpdate } from '../use-effect-on-update';\nimport { isInViewport } from './is-in-viewport';\n\nconst EVALUATE_COMPONENT_VISIBILITY_EVENT = 'awsui-evaluate-component-visibility';\n\n/**\n * This hook manages a boolean state (`evaluateComponentVisibility`) that toggles\n * whenever a custom DOM event (`EVALUATE_COMPONENT_VISIBILITY_EVENT`) is triggered.\n *\n * @returns\n */\nconst useEvaluateComponentVisibility = () => {\n const [evaluateComponentVisibility, setEvaluateComponentVisibility] = useState(false);\n\n useEffect(() => {\n const handleEvaluateComponentVisibility = () => {\n setEvaluateComponentVisibility(prev => !prev);\n };\n\n document.addEventListener(EVALUATE_COMPONENT_VISIBILITY_EVENT, handleEvaluateComponentVisibility);\n\n return () => {\n document.removeEventListener(EVALUATE_COMPONENT_VISIBILITY_EVENT, handleEvaluateComponentVisibility);\n };\n }, []);\n\n return evaluateComponentVisibility;\n};\n\n/**\n * This function returns an object that needs to be spread onto the same\n * element as the `elementRef`, so that the data attribute is applied\n * correctly.\n */\nexport function usePerformanceMarks(\n name: string,\n enabled: () => boolean,\n elementRef: React.RefObject<HTMLElement>,\n getDetails: () => Record<string, string | boolean | number | undefined>,\n dependencies: React.DependencyList\n) {\n const id = useRandomId();\n const { isInModal } = useModalContext();\n const attributes = useDOMAttribute(elementRef, 'data-analytics-performance-mark', id);\n const evaluateComponentVisibility = useEvaluateComponentVisibility();\n\n useEffect(() => {\n if (!enabled() || !elementRef.current || isInModal) {\n return;\n }\n const elementVisible =\n elementRef.current.offsetWidth > 0 &&\n elementRef.current.offsetHeight > 0 &&\n getComputedStyle(elementRef.current).visibility !== 'hidden';\n\n if (!elementVisible) {\n return;\n }\n\n const timestamp = performance.now();\n\n const cleanup = isInViewport(elementRef.current, inViewport => {\n performance.mark(`${name}Rendered`, {\n startTime: timestamp,\n detail: {\n source: 'awsui',\n instanceIdentifier: id,\n inViewport,\n ...getDetails(),\n },\n });\n });\n\n return cleanup;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffectOnUpdate(() => {\n if (!enabled() || !elementRef.current || isInModal) {\n return;\n }\n const elementVisible =\n elementRef.current.offsetWidth > 0 &&\n elementRef.current.offsetHeight > 0 &&\n getComputedStyle(elementRef.current).visibility !== 'hidden';\n\n if (!elementVisible) {\n return;\n }\n\n const timestamp = performance.now();\n\n const cleanup = isInViewport(elementRef.current, inViewport => {\n performance.mark(`${name}Updated`, {\n startTime: timestamp,\n detail: {\n source: 'awsui',\n instanceIdentifier: id,\n inViewport,\n ...getDetails(),\n },\n });\n });\n return cleanup;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [evaluateComponentVisibility, ...dependencies]);\n\n return attributes;\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/use-performance-marks/index.ts"],"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 { useEffect, useState } from 'react';\n\nimport { useRandomId } from '@cloudscape-design/component-toolkit/internal';\n\nimport { useModalContext } from '../../context/modal-context';\nimport { useDOMAttribute } from '../use-dom-attribute';\nimport { useEffectOnUpdate } from '../use-effect-on-update';\nimport { isInViewport } from './is-in-viewport';\n\nconst EVALUATE_COMPONENT_VISIBILITY_EVENT = 'awsui-evaluate-component-visibility';\n\n/**\n * This hook manages a boolean state (`evaluateComponentVisibility`) that toggles\n * whenever a custom DOM event (`EVALUATE_COMPONENT_VISIBILITY_EVENT`) is triggered.\n *\n * @returns\n */\nconst useEvaluateComponentVisibility = () => {\n const [evaluateComponentVisibility, setEvaluateComponentVisibility] = useState(false);\n\n useEffect(() => {\n const handleEvaluateComponentVisibility = () => {\n setEvaluateComponentVisibility(prev => !prev);\n };\n\n document.addEventListener(EVALUATE_COMPONENT_VISIBILITY_EVENT, handleEvaluateComponentVisibility);\n\n return () => {\n document.removeEventListener(EVALUATE_COMPONENT_VISIBILITY_EVENT, handleEvaluateComponentVisibility);\n };\n }, []);\n\n return evaluateComponentVisibility;\n};\n\n/**\n * This function returns an object that needs to be spread onto the same\n * element as the `elementRef`, so that the data attribute is applied\n * correctly.\n */\nexport function usePerformanceMarks(\n name: string,\n enabled: () => boolean,\n elementRef: React.RefObject<HTMLElement>,\n getDetails: () => Record<string, string | boolean | number | undefined>,\n dependencies: React.DependencyList\n) {\n const id = useRandomId();\n const { isInModal } = useModalContext();\n const attributes = useDOMAttribute(elementRef, 'data-analytics-performance-mark', id);\n const evaluateComponentVisibility = useEvaluateComponentVisibility();\n\n useEffect(() => {\n if (!enabled() || !elementRef.current || isInModal) {\n return;\n }\n const elementVisible =\n elementRef.current.offsetWidth > 0 &&\n elementRef.current.offsetHeight > 0 &&\n getComputedStyle(elementRef.current).visibility !== 'hidden';\n\n if (!elementVisible) {\n return;\n }\n\n const timestamp = performance.now();\n\n const cleanup = isInViewport(elementRef.current, inViewport => {\n performance.mark(`${name}Rendered`, {\n startTime: timestamp,\n detail: {\n source: 'awsui',\n instanceIdentifier: id,\n inViewport,\n ...getDetails(),\n },\n });\n });\n\n return cleanup;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffectOnUpdate(() => {\n if (!enabled() || !elementRef.current || isInModal) {\n return;\n }\n const elementVisible =\n elementRef.current.offsetWidth > 0 &&\n elementRef.current.offsetHeight > 0 &&\n getComputedStyle(elementRef.current).visibility !== 'hidden';\n\n if (!elementVisible) {\n return;\n }\n\n const timestamp = performance.now();\n\n const cleanup = isInViewport(elementRef.current, inViewport => {\n performance.mark(`${name}Updated`, {\n startTime: timestamp,\n detail: {\n source: 'awsui',\n instanceIdentifier: id,\n inViewport,\n ...getDetails(),\n },\n });\n });\n return cleanup;\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [evaluateComponentVisibility, ...dependencies]);\n\n return attributes;\n}\n"]}
@@ -35,14 +35,17 @@ export function useVirtual({ items, parentRef, estimateSize, firstItemSticky, })
35
35
  useEffect(() => {
36
36
  measuresCache.current = new WeakMap();
37
37
  }, [indicesKey, items, estimateSize]);
38
- const virtualItems = useMemo(() => rowVirtualizer.virtualItems.map(virtualItem => (Object.assign(Object.assign({}, virtualItem), { measureRef: (node) => {
38
+ const virtualItems = useMemo(() => rowVirtualizer.virtualItems.map(virtualItem => ({
39
+ ...virtualItem,
40
+ measureRef: (node) => {
39
41
  var _a;
40
42
  const mountedCount = (_a = measuresCache.current.get(items[virtualItem.index])) !== null && _a !== void 0 ? _a : 0;
41
43
  if (mountedCount < MAX_ITEM_MOUNTS) {
42
44
  virtualItem.measureRef(node);
43
45
  measuresCache.current.set(items[virtualItem.index], mountedCount + 1);
44
46
  }
45
- } }))), [items, rowVirtualizer.virtualItems]);
47
+ },
48
+ })), [items, rowVirtualizer.virtualItems]);
46
49
  return {
47
50
  virtualItems,
48
51
  totalSize: rowVirtualizer.totalSize,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/use-virtual/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAc,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE1D,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAe,MAAM,4BAA4B,CAAC;AAC1F,OAAO,oBAAoB,MAAM,0BAA0B,CAAC;AAE5D,8EAA8E;AAC9E,sEAAsE;AACtE,sFAAsF;AACtF,yFAAyF;AACzF,MAAM,eAAe,GAAG,EAAE,GAAG,CAAC,CAAC;AAe/B;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,UAAU,CAAsB,EAC9C,KAAK,EACL,SAAS,EACT,YAAY,EACZ,eAAe,GACO;IACtB,MAAM,cAAc,GAAG,iBAAiB,CAAC;QACvC,IAAI,EAAE,KAAK,CAAC,MAAM;QAClB,SAAS;QACT,YAAY;QACZ,QAAQ,EAAE,CAAC;QACX,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS;KACnE,CAAC,CAAC;IAEH,oEAAoE;IACpE,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,OAAO,EAAgB,CAAC,CAAC;IAE1D,yEAAyE;IACzE,MAAM,UAAU,GAAG,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtF,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,CAAC,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IACxC,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;IAEtC,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CACH,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,iCAC1C,WAAW,KACd,UAAU,EAAE,CAAC,IAAwB,EAAE,EAAE;;YACvC,MAAM,YAAY,GAAG,MAAA,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,mCAAI,CAAC,CAAC;YAC9E,IAAI,YAAY,GAAG,eAAe,EAAE,CAAC;gBACnC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC7B,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;YACxE,CAAC;QACH,CAAC,IACD,CAAC,EACL,CAAC,KAAK,EAAE,cAAc,CAAC,YAAY,CAAC,CACrC,CAAC;IAEF,OAAO;QACL,YAAY;QACZ,SAAS,EAAE,cAAc,CAAC,SAAS;QACnC,aAAa,EAAE,cAAc,CAAC,aAAa;KAC5C,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useMemo, useRef } from 'react';\n\nimport { useVirtual as useVirtualDefault, VirtualItem } from '../../vendor/react-virtual';\nimport stickyRangeExtractor from './sticky-range-extractor';\n\n// Maximum allowed synchronous (nested) item mounts before forcing a bail-out.\n// Mirrors React’s internal safeguard for nested updates: React throws\n// \"Maximum update depth exceeded\" once >50 sync updates occur within a single commit.\n// See: https://github.com/facebook/react/commit/d8c90fa48d3addefe4b805ec56a3c65e4ee39127\nconst MAX_ITEM_MOUNTS = 50 - 1;\n\ninterface UseVirtualProps<Item> {\n items: readonly Item[];\n parentRef: React.RefObject<HTMLElement>;\n estimateSize: () => number;\n firstItemSticky?: boolean;\n}\n\ninterface RowVirtualizer {\n virtualItems: VirtualItem[];\n totalSize: number;\n scrollToIndex: (index: number) => void;\n}\n\n/**\n * The useVirtual from react-virtual@2 might produce an infinite update loop caused by setting\n * measured item sizes in the render cycle (as part of the measureRef assignment):\n * The sum of all measured item sizes is returned as totalSize which is then set on the list container.\n * Enforcing new container height might result in an items size change e.g. when the content wraps.\n *\n * The infinite update cycle causes React \"Maximum update depth exceeded\" error and can be additionally confirmed\n * by logging the totalSize which should then bounce between two values.\n *\n * The number of item refs assignments is limited to MAX_ITEM_MOUNTS unless items or indices change.\n * That is based on the assumption the item height stays constant after its first render.\n */\nexport function useVirtual<Item extends object>({\n items,\n parentRef,\n estimateSize,\n firstItemSticky,\n}: UseVirtualProps<Item>): RowVirtualizer {\n const rowVirtualizer = useVirtualDefault({\n size: items.length,\n parentRef,\n estimateSize,\n overscan: 5,\n rangeExtractor: firstItemSticky ? stickyRangeExtractor : undefined,\n });\n\n // Cache virtual item mounts to limit the amount of mounts per item.\n const measuresCache = useRef(new WeakMap<Item, number>());\n\n // Clear mounts cache every time indices, items, or size estimate change.\n const indicesKey = rowVirtualizer.virtualItems.map(item => `${item.index}`).join(':');\n useEffect(() => {\n measuresCache.current = new WeakMap();\n }, [indicesKey, items, estimateSize]);\n\n const virtualItems = useMemo(\n () =>\n rowVirtualizer.virtualItems.map(virtualItem => ({\n ...virtualItem,\n measureRef: (node: null | HTMLElement) => {\n const mountedCount = measuresCache.current.get(items[virtualItem.index]) ?? 0;\n if (mountedCount < MAX_ITEM_MOUNTS) {\n virtualItem.measureRef(node);\n measuresCache.current.set(items[virtualItem.index], mountedCount + 1);\n }\n },\n })),\n [items, rowVirtualizer.virtualItems]\n );\n\n return {\n virtualItems,\n totalSize: rowVirtualizer.totalSize,\n scrollToIndex: rowVirtualizer.scrollToIndex,\n };\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/use-virtual/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAc,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE1D,OAAO,EAAE,UAAU,IAAI,iBAAiB,EAAe,MAAM,4BAA4B,CAAC;AAC1F,OAAO,oBAAoB,MAAM,0BAA0B,CAAC;AAE5D,8EAA8E;AAC9E,sEAAsE;AACtE,sFAAsF;AACtF,yFAAyF;AACzF,MAAM,eAAe,GAAG,EAAE,GAAG,CAAC,CAAC;AAe/B;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,UAAU,CAAsB,EAC9C,KAAK,EACL,SAAS,EACT,YAAY,EACZ,eAAe,GACO;IACtB,MAAM,cAAc,GAAG,iBAAiB,CAAC;QACvC,IAAI,EAAE,KAAK,CAAC,MAAM;QAClB,SAAS;QACT,YAAY;QACZ,QAAQ,EAAE,CAAC;QACX,cAAc,EAAE,eAAe,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS;KACnE,CAAC,CAAC;IAEH,oEAAoE;IACpE,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,OAAO,EAAgB,CAAC,CAAC;IAE1D,yEAAyE;IACzE,MAAM,UAAU,GAAG,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtF,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,CAAC,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IACxC,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;IAEtC,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CACH,cAAc,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC9C,GAAG,WAAW;QACd,UAAU,EAAE,CAAC,IAAwB,EAAE,EAAE;;YACvC,MAAM,YAAY,GAAG,MAAA,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,mCAAI,CAAC,CAAC;YAC9E,IAAI,YAAY,GAAG,eAAe,EAAE,CAAC;gBACnC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC7B,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;KACF,CAAC,CAAC,EACL,CAAC,KAAK,EAAE,cAAc,CAAC,YAAY,CAAC,CACrC,CAAC;IAEF,OAAO;QACL,YAAY;QACZ,SAAS,EAAE,cAAc,CAAC,SAAS;QACnC,aAAa,EAAE,cAAc,CAAC,aAAa;KAC5C,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useMemo, useRef } from 'react';\n\nimport { useVirtual as useVirtualDefault, VirtualItem } from '../../vendor/react-virtual';\nimport stickyRangeExtractor from './sticky-range-extractor';\n\n// Maximum allowed synchronous (nested) item mounts before forcing a bail-out.\n// Mirrors React’s internal safeguard for nested updates: React throws\n// \"Maximum update depth exceeded\" once >50 sync updates occur within a single commit.\n// See: https://github.com/facebook/react/commit/d8c90fa48d3addefe4b805ec56a3c65e4ee39127\nconst MAX_ITEM_MOUNTS = 50 - 1;\n\ninterface UseVirtualProps<Item> {\n items: readonly Item[];\n parentRef: React.RefObject<HTMLElement>;\n estimateSize: () => number;\n firstItemSticky?: boolean;\n}\n\ninterface RowVirtualizer {\n virtualItems: VirtualItem[];\n totalSize: number;\n scrollToIndex: (index: number) => void;\n}\n\n/**\n * The useVirtual from react-virtual@2 might produce an infinite update loop caused by setting\n * measured item sizes in the render cycle (as part of the measureRef assignment):\n * The sum of all measured item sizes is returned as totalSize which is then set on the list container.\n * Enforcing new container height might result in an items size change e.g. when the content wraps.\n *\n * The infinite update cycle causes React \"Maximum update depth exceeded\" error and can be additionally confirmed\n * by logging the totalSize which should then bounce between two values.\n *\n * The number of item refs assignments is limited to MAX_ITEM_MOUNTS unless items or indices change.\n * That is based on the assumption the item height stays constant after its first render.\n */\nexport function useVirtual<Item extends object>({\n items,\n parentRef,\n estimateSize,\n firstItemSticky,\n}: UseVirtualProps<Item>): RowVirtualizer {\n const rowVirtualizer = useVirtualDefault({\n size: items.length,\n parentRef,\n estimateSize,\n overscan: 5,\n rangeExtractor: firstItemSticky ? stickyRangeExtractor : undefined,\n });\n\n // Cache virtual item mounts to limit the amount of mounts per item.\n const measuresCache = useRef(new WeakMap<Item, number>());\n\n // Clear mounts cache every time indices, items, or size estimate change.\n const indicesKey = rowVirtualizer.virtualItems.map(item => `${item.index}`).join(':');\n useEffect(() => {\n measuresCache.current = new WeakMap();\n }, [indicesKey, items, estimateSize]);\n\n const virtualItems = useMemo(\n () =>\n rowVirtualizer.virtualItems.map(virtualItem => ({\n ...virtualItem,\n measureRef: (node: null | HTMLElement) => {\n const mountedCount = measuresCache.current.get(items[virtualItem.index]) ?? 0;\n if (mountedCount < MAX_ITEM_MOUNTS) {\n virtualItem.measureRef(node);\n measuresCache.current.set(items[virtualItem.index], mountedCount + 1);\n }\n },\n })),\n [items, rowVirtualizer.virtualItems]\n );\n\n return {\n virtualItems,\n totalSize: rowVirtualizer.totalSize,\n scrollToIndex: rowVirtualizer.scrollToIndex,\n };\n}\n"]}
@@ -1,4 +1,3 @@
1
- import { __rest } from "tslib";
2
1
  import debounce from '../../debounce';
3
2
  import { reportRuntimeApiWarning } from '../helpers/metrics';
4
3
  const updatableProperties = [
@@ -31,16 +30,15 @@ export class DrawersController {
31
30
  this.drawers = this.drawers.concat(config);
32
31
  this.scheduleUpdate();
33
32
  };
34
- this.updateDrawer = (_a) => {
35
- var _b;
36
- var { id: drawerId } = _a, rest = __rest(_a, ["id"]);
33
+ this.updateDrawer = ({ id: drawerId, ...rest }) => {
34
+ var _a;
37
35
  const drawerIndex = this.drawers.findIndex(({ id }) => id === drawerId);
38
- const oldDrawerConfig = (_b = this.drawers) === null || _b === void 0 ? void 0 : _b[drawerIndex];
36
+ const oldDrawerConfig = (_a = this.drawers) === null || _a === void 0 ? void 0 : _a[drawerIndex];
39
37
  if (!oldDrawerConfig) {
40
38
  throw new Error(`[AwsUi] [runtime drawers] drawer with id ${drawerId} not found`);
41
39
  }
42
40
  const drawers = this.drawers.slice();
43
- const updatedDrawer = Object.assign({}, oldDrawerConfig);
41
+ const updatedDrawer = { ...oldDrawerConfig };
44
42
  for (const key of updatableProperties) {
45
43
  if (key in rest) {
46
44
  updatedDrawer[key] = rest[key];
@@ -1 +1 @@
1
- {"version":3,"file":"drawers.js","sourceRoot":"","sources":["../../../../../src/internal/plugins/controllers/drawers.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ButtonGroupProps } from '../../../button-group/interfaces';\nimport debounce from '../../debounce';\nimport { NonCancelableEventHandler } from '../../events';\nimport { reportRuntimeApiWarning } from '../helpers/metrics';\n\ntype DrawerVisibilityChange = (callback: (isVisible: boolean) => void) => void;\n\ninterface MountContentContext {\n onVisibilityChange: DrawerVisibilityChange;\n}\n\nexport interface DrawerStateChangeParams {\n isOpen: boolean;\n initiatedByUserAction?: boolean;\n}\n\nexport interface DrawerConfig {\n id: string;\n type?: 'local' | 'global';\n ariaLabels: {\n content?: string;\n closeButton?: string;\n triggerButton?: string;\n resizeHandle?: string;\n resizeHandleTooltipText?: string;\n expandedModeButton?: string;\n };\n isExpandable?: boolean;\n badge?: boolean;\n resizable?: boolean;\n defaultSize?: number;\n onResize?: NonCancelableEventHandler<{ size: number; id: string }>;\n orderPriority?: number;\n defaultActive?: boolean;\n trigger?: {\n iconSvg?: string;\n };\n mountContent: (container: HTMLElement, mountContext: MountContentContext) => void;\n unmountContent: (container: HTMLElement) => void;\n preserveInactiveContent?: boolean;\n onToggle?: NonCancelableEventHandler<DrawerStateChangeParams>;\n headerActions?: ReadonlyArray<ButtonGroupProps.Item>;\n onHeaderActionClick?: NonCancelableEventHandler<ButtonGroupProps.ItemClickDetails>;\n}\n\nconst updatableProperties = [\n 'badge',\n 'resizable',\n 'defaultSize',\n 'orderPriority',\n 'defaultActive',\n 'onResize',\n] as const;\n\nexport type UpdateDrawerConfig = { id: DrawerConfig['id'] } & Partial<\n Pick<DrawerConfig, (typeof updatableProperties)[number]>\n>;\n\ntype DrawersRegistrationListener = (drawers: Array<DrawerConfig>) => void;\ntype DrawersUpdateListener = (drawers: Array<DrawerConfig>) => void;\n\nexport type DrawersToggledListener = (drawerId: string, params?: OpenCloseDrawerParams) => void;\ntype DrawersResizeListener = (drawerId: string, size: number) => void;\n\ninterface OpenCloseDrawerParams {\n initiatedByUserAction: boolean;\n}\n\nexport interface DrawersApiPublic {\n registerDrawer(config: DrawerConfig): void;\n updateDrawer(config: UpdateDrawerConfig): void;\n openDrawer(drawerId: string, params?: OpenCloseDrawerParams): void;\n closeDrawer(drawerId: string, params?: OpenCloseDrawerParams): void;\n resizeDrawer(drawerId: string, size: number): void;\n}\n\nexport interface DrawersApiInternal {\n clearRegisteredDrawers(): void;\n onDrawersRegistered(listener: DrawersRegistrationListener): () => void;\n onDrawerOpened(listener: DrawersToggledListener): () => void;\n onDrawerClosed(listener: DrawersToggledListener): () => void;\n onDrawerResize(listener: DrawersResizeListener): () => void;\n onDrawersUpdated(listener: DrawersUpdateListener): void;\n getDrawersState(): Array<DrawerConfig>;\n}\n\nexport class DrawersController {\n private drawers: Array<DrawerConfig> = [];\n private drawersRegistrationListener: DrawersRegistrationListener | null = null;\n private drawerOpenedListener: DrawersToggledListener | null = null;\n private drawerClosedListener: DrawersToggledListener | null = null;\n private drawersUpdateListeners: Array<DrawersUpdateListener> = [];\n private drawerResizeListener: DrawersResizeListener | null = null;\n\n scheduleUpdate = debounce(() => {\n this.drawersRegistrationListener?.(this.drawers);\n this.drawersUpdateListeners.forEach(drawersUpdateListeners => {\n drawersUpdateListeners?.(this.drawers);\n });\n }, 0);\n\n registerDrawer = (config: DrawerConfig) => {\n if (this.drawers.find(drawer => drawer.id === config.id)) {\n reportRuntimeApiWarning('app-layout-drawers', `drawer with id \"${config.id}\" is already registered`);\n }\n this.drawers = this.drawers.concat(config);\n this.scheduleUpdate();\n };\n\n updateDrawer = ({ id: drawerId, ...rest }: UpdateDrawerConfig) => {\n const drawerIndex = this.drawers.findIndex(({ id }) => id === drawerId);\n const oldDrawerConfig = this.drawers?.[drawerIndex];\n if (!oldDrawerConfig) {\n throw new Error(`[AwsUi] [runtime drawers] drawer with id ${drawerId} not found`);\n }\n const drawers = this.drawers.slice();\n const updatedDrawer = { ...oldDrawerConfig };\n for (const key of updatableProperties) {\n if (key in rest) {\n updatedDrawer[key] = (rest as any)[key];\n }\n }\n drawers[drawerIndex] = updatedDrawer;\n this.drawers = drawers;\n this.scheduleUpdate();\n };\n\n onDrawersRegistered = (listener: DrawersRegistrationListener) => {\n if (this.drawersRegistrationListener !== null) {\n reportRuntimeApiWarning(\n 'app-layout-drawers',\n 'multiple app layout instances detected when calling onDrawersRegistered'\n );\n }\n this.drawersRegistrationListener = listener;\n this.scheduleUpdate();\n return () => {\n this.drawersRegistrationListener = null;\n this.drawersUpdateListeners = [];\n };\n };\n\n clearRegisteredDrawers = () => {\n this.drawers = [];\n };\n\n onDrawerOpened = (listener: DrawersToggledListener) => {\n if (this.drawerOpenedListener !== null) {\n reportRuntimeApiWarning(\n 'app-layout-drawers',\n 'multiple app layout instances detected when calling onDrawerOpened'\n );\n }\n\n this.drawerOpenedListener = listener;\n\n return () => {\n this.drawerOpenedListener = null;\n };\n };\n\n onDrawerClosed = (listener: DrawersToggledListener) => {\n if (this.drawerClosedListener !== null) {\n reportRuntimeApiWarning(\n 'app-layout-drawers',\n 'multiple app layout instances detected when calling onDrawerClosed'\n );\n }\n\n this.drawerClosedListener = listener;\n\n return () => {\n this.drawerClosedListener = null;\n };\n };\n\n openDrawer = (drawerId: string, params?: OpenCloseDrawerParams) => {\n this.drawerOpenedListener?.(drawerId, params);\n };\n\n closeDrawer = (drawerId: string, params?: OpenCloseDrawerParams) => {\n this.drawerClosedListener?.(drawerId, params);\n };\n\n onDrawersUpdated = (listener: DrawersUpdateListener) => {\n this.drawersUpdateListeners.push(listener);\n\n return () => {\n this.drawersUpdateListeners = this.drawersUpdateListeners.filter(item => item !== listener);\n };\n };\n\n onDrawerResize = (listener: DrawersResizeListener) => {\n if (this.drawerResizeListener !== null) {\n reportRuntimeApiWarning(\n 'app-layout-drawers',\n 'multiple app layout instances detected when calling onDrawerResize'\n );\n }\n\n this.drawerResizeListener = listener;\n\n return () => {\n this.drawerResizeListener = null;\n };\n };\n\n resizeDrawer = (drawerId: string, size: number) => {\n this.drawerResizeListener?.(drawerId, size);\n };\n\n getDrawersState = () => {\n return this.drawers;\n };\n\n installPublic(api: Partial<DrawersApiPublic> = {}): DrawersApiPublic {\n api.registerDrawer ??= this.registerDrawer;\n api.updateDrawer ??= this.updateDrawer;\n api.openDrawer ??= this.openDrawer;\n api.closeDrawer ??= this.closeDrawer;\n api.resizeDrawer ??= this.resizeDrawer;\n return api as DrawersApiPublic;\n }\n\n installInternal(internalApi: Partial<DrawersApiInternal> = {}): DrawersApiInternal {\n internalApi.clearRegisteredDrawers ??= this.clearRegisteredDrawers;\n internalApi.onDrawersRegistered ??= this.onDrawersRegistered;\n internalApi.onDrawerOpened ??= this.onDrawerOpened;\n internalApi.onDrawerClosed ??= this.onDrawerClosed;\n internalApi.onDrawerResize ??= this.onDrawerResize;\n internalApi.onDrawersUpdated ??= this.onDrawersUpdated;\n internalApi.getDrawersState ??= this.getDrawersState;\n return internalApi as DrawersApiInternal;\n }\n}\n"]}
1
+ {"version":3,"file":"drawers.js","sourceRoot":"","sources":["../../../../../src/internal/plugins/controllers/drawers.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ButtonGroupProps } from '../../../button-group/interfaces';\nimport debounce from '../../debounce';\nimport { NonCancelableEventHandler } from '../../events';\nimport { reportRuntimeApiWarning } from '../helpers/metrics';\n\ntype DrawerVisibilityChange = (callback: (isVisible: boolean) => void) => void;\n\ninterface MountContentContext {\n onVisibilityChange: DrawerVisibilityChange;\n}\n\nexport interface DrawerStateChangeParams {\n isOpen: boolean;\n initiatedByUserAction?: boolean;\n}\n\nexport interface DrawerConfig {\n id: string;\n type?: 'local' | 'global';\n ariaLabels: {\n content?: string;\n closeButton?: string;\n triggerButton?: string;\n resizeHandle?: string;\n resizeHandleTooltipText?: string;\n expandedModeButton?: string;\n };\n isExpandable?: boolean;\n badge?: boolean;\n resizable?: boolean;\n defaultSize?: number;\n onResize?: NonCancelableEventHandler<{ size: number; id: string }>;\n orderPriority?: number;\n defaultActive?: boolean;\n trigger?: {\n iconSvg?: string;\n };\n mountContent: (container: HTMLElement, mountContext: MountContentContext) => void;\n unmountContent: (container: HTMLElement) => void;\n preserveInactiveContent?: boolean;\n onToggle?: NonCancelableEventHandler<DrawerStateChangeParams>;\n headerActions?: ReadonlyArray<ButtonGroupProps.Item>;\n onHeaderActionClick?: NonCancelableEventHandler<ButtonGroupProps.ItemClickDetails>;\n}\n\nconst updatableProperties = [\n 'badge',\n 'resizable',\n 'defaultSize',\n 'orderPriority',\n 'defaultActive',\n 'onResize',\n] as const;\n\nexport type UpdateDrawerConfig = { id: DrawerConfig['id'] } & Partial<\n Pick<DrawerConfig, (typeof updatableProperties)[number]>\n>;\n\ntype DrawersRegistrationListener = (drawers: Array<DrawerConfig>) => void;\ntype DrawersUpdateListener = (drawers: Array<DrawerConfig>) => void;\n\nexport type DrawersToggledListener = (drawerId: string, params?: OpenCloseDrawerParams) => void;\ntype DrawersResizeListener = (drawerId: string, size: number) => void;\n\ninterface OpenCloseDrawerParams {\n initiatedByUserAction: boolean;\n}\n\nexport interface DrawersApiPublic {\n registerDrawer(config: DrawerConfig): void;\n updateDrawer(config: UpdateDrawerConfig): void;\n openDrawer(drawerId: string, params?: OpenCloseDrawerParams): void;\n closeDrawer(drawerId: string, params?: OpenCloseDrawerParams): void;\n resizeDrawer(drawerId: string, size: number): void;\n}\n\nexport interface DrawersApiInternal {\n clearRegisteredDrawers(): void;\n onDrawersRegistered(listener: DrawersRegistrationListener): () => void;\n onDrawerOpened(listener: DrawersToggledListener): () => void;\n onDrawerClosed(listener: DrawersToggledListener): () => void;\n onDrawerResize(listener: DrawersResizeListener): () => void;\n onDrawersUpdated(listener: DrawersUpdateListener): void;\n getDrawersState(): Array<DrawerConfig>;\n}\n\nexport class DrawersController {\n private drawers: Array<DrawerConfig> = [];\n private drawersRegistrationListener: DrawersRegistrationListener | null = null;\n private drawerOpenedListener: DrawersToggledListener | null = null;\n private drawerClosedListener: DrawersToggledListener | null = null;\n private drawersUpdateListeners: Array<DrawersUpdateListener> = [];\n private drawerResizeListener: DrawersResizeListener | null = null;\n\n scheduleUpdate = debounce(() => {\n this.drawersRegistrationListener?.(this.drawers);\n this.drawersUpdateListeners.forEach(drawersUpdateListeners => {\n drawersUpdateListeners?.(this.drawers);\n });\n }, 0);\n\n registerDrawer = (config: DrawerConfig) => {\n if (this.drawers.find(drawer => drawer.id === config.id)) {\n reportRuntimeApiWarning('app-layout-drawers', `drawer with id \"${config.id}\" is already registered`);\n }\n this.drawers = this.drawers.concat(config);\n this.scheduleUpdate();\n };\n\n updateDrawer = ({ id: drawerId, ...rest }: UpdateDrawerConfig) => {\n const drawerIndex = this.drawers.findIndex(({ id }) => id === drawerId);\n const oldDrawerConfig = this.drawers?.[drawerIndex];\n if (!oldDrawerConfig) {\n throw new Error(`[AwsUi] [runtime drawers] drawer with id ${drawerId} not found`);\n }\n const drawers = this.drawers.slice();\n const updatedDrawer = { ...oldDrawerConfig };\n for (const key of updatableProperties) {\n if (key in rest) {\n updatedDrawer[key] = (rest as any)[key];\n }\n }\n drawers[drawerIndex] = updatedDrawer;\n this.drawers = drawers;\n this.scheduleUpdate();\n };\n\n onDrawersRegistered = (listener: DrawersRegistrationListener) => {\n if (this.drawersRegistrationListener !== null) {\n reportRuntimeApiWarning(\n 'app-layout-drawers',\n 'multiple app layout instances detected when calling onDrawersRegistered'\n );\n }\n this.drawersRegistrationListener = listener;\n this.scheduleUpdate();\n return () => {\n this.drawersRegistrationListener = null;\n this.drawersUpdateListeners = [];\n };\n };\n\n clearRegisteredDrawers = () => {\n this.drawers = [];\n };\n\n onDrawerOpened = (listener: DrawersToggledListener) => {\n if (this.drawerOpenedListener !== null) {\n reportRuntimeApiWarning(\n 'app-layout-drawers',\n 'multiple app layout instances detected when calling onDrawerOpened'\n );\n }\n\n this.drawerOpenedListener = listener;\n\n return () => {\n this.drawerOpenedListener = null;\n };\n };\n\n onDrawerClosed = (listener: DrawersToggledListener) => {\n if (this.drawerClosedListener !== null) {\n reportRuntimeApiWarning(\n 'app-layout-drawers',\n 'multiple app layout instances detected when calling onDrawerClosed'\n );\n }\n\n this.drawerClosedListener = listener;\n\n return () => {\n this.drawerClosedListener = null;\n };\n };\n\n openDrawer = (drawerId: string, params?: OpenCloseDrawerParams) => {\n this.drawerOpenedListener?.(drawerId, params);\n };\n\n closeDrawer = (drawerId: string, params?: OpenCloseDrawerParams) => {\n this.drawerClosedListener?.(drawerId, params);\n };\n\n onDrawersUpdated = (listener: DrawersUpdateListener) => {\n this.drawersUpdateListeners.push(listener);\n\n return () => {\n this.drawersUpdateListeners = this.drawersUpdateListeners.filter(item => item !== listener);\n };\n };\n\n onDrawerResize = (listener: DrawersResizeListener) => {\n if (this.drawerResizeListener !== null) {\n reportRuntimeApiWarning(\n 'app-layout-drawers',\n 'multiple app layout instances detected when calling onDrawerResize'\n );\n }\n\n this.drawerResizeListener = listener;\n\n return () => {\n this.drawerResizeListener = null;\n };\n };\n\n resizeDrawer = (drawerId: string, size: number) => {\n this.drawerResizeListener?.(drawerId, size);\n };\n\n getDrawersState = () => {\n return this.drawers;\n };\n\n installPublic(api: Partial<DrawersApiPublic> = {}): DrawersApiPublic {\n api.registerDrawer ??= this.registerDrawer;\n api.updateDrawer ??= this.updateDrawer;\n api.openDrawer ??= this.openDrawer;\n api.closeDrawer ??= this.closeDrawer;\n api.resizeDrawer ??= this.resizeDrawer;\n return api as DrawersApiPublic;\n }\n\n installInternal(internalApi: Partial<DrawersApiInternal> = {}): DrawersApiInternal {\n internalApi.clearRegisteredDrawers ??= this.clearRegisteredDrawers;\n internalApi.onDrawersRegistered ??= this.onDrawersRegistered;\n internalApi.onDrawerOpened ??= this.onDrawerOpened;\n internalApi.onDrawerClosed ??= this.onDrawerClosed;\n internalApi.onDrawerResize ??= this.onDrawerResize;\n internalApi.onDrawersUpdated ??= this.onDrawersUpdated;\n internalApi.getDrawersState ??= this.getDrawersState;\n return internalApi as DrawersApiInternal;\n }\n}\n"]}
@@ -1,4 +1,3 @@
1
- import { __rest } from "tslib";
2
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
2
  // SPDX-License-Identifier: Apache-2.0
4
3
  import { useContext, useEffect, useLayoutEffect, useRef, useState } from 'react';
@@ -6,11 +5,10 @@ import { useAppLayoutFlagEnabled } from '../../../app-layout/utils/feature-flags
6
5
  import { AppLayoutVisibilityContext, BreadcrumbsSlotContext, } from '../../../app-layout/visual-refresh-toolbar/contexts';
7
6
  import { metrics } from '../../metrics';
8
7
  import { awsuiPluginsInternal } from '../api';
9
- function useSetGlobalBreadcrumbsImplementation(_a) {
10
- var _b, _c;
11
- var { __disableGlobalization } = _a, props = __rest(_a, ["__disableGlobalization"]);
12
- const { isInToolbar } = (_b = useContext(BreadcrumbsSlotContext)) !== null && _b !== void 0 ? _b : {};
13
- const isLayoutVisible = (_c = useContext(AppLayoutVisibilityContext)) !== null && _c !== void 0 ? _c : true;
8
+ function useSetGlobalBreadcrumbsImplementation({ __disableGlobalization, ...props }) {
9
+ var _a, _b;
10
+ const { isInToolbar } = (_a = useContext(BreadcrumbsSlotContext)) !== null && _a !== void 0 ? _a : {};
11
+ const isLayoutVisible = (_b = useContext(AppLayoutVisibilityContext)) !== null && _b !== void 0 ? _b : true;
14
12
  const registrationRef = useRef();
15
13
  const [registered, setRegistered] = useState(false);
16
14
  useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"use-global-breadcrumbs.js","sourceRoot":"","sources":["../../../../../src/internal/plugins/helpers/use-global-breadcrumbs.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useContext, useEffect, useLayoutEffect, useRef, useState } from 'react';\n\nimport { useAppLayoutFlagEnabled } from '../../../app-layout/utils/feature-flags';\nimport {\n AppLayoutVisibilityContext,\n BreadcrumbsSlotContext,\n} from '../../../app-layout/visual-refresh-toolbar/contexts';\nimport { BreadcrumbGroupProps } from '../../../breadcrumb-group/interfaces';\nimport { metrics } from '../../metrics';\nimport { awsuiPluginsInternal } from '../api';\nimport { BreadcrumbsGlobalRegistration } from '../controllers/breadcrumbs';\n\nfunction useSetGlobalBreadcrumbsImplementation({\n __disableGlobalization,\n ...props\n}: BreadcrumbGroupProps<any> & { __disableGlobalization?: boolean }) {\n const { isInToolbar } = useContext(BreadcrumbsSlotContext) ?? {};\n const isLayoutVisible = useContext(AppLayoutVisibilityContext) ?? true;\n const registrationRef = useRef<BreadcrumbsGlobalRegistration<BreadcrumbGroupProps> | null>();\n const [registered, setRegistered] = useState(false);\n\n useEffect(() => {\n if (isInToolbar || __disableGlobalization || !isLayoutVisible) {\n return;\n }\n const registration = awsuiPluginsInternal.breadcrumbs.registerBreadcrumbs(props, isRegistered => {\n setRegistered(isRegistered ?? true);\n if (isRegistered) {\n const breadcrumbs = props.items.map(item => item.text).join(' > ');\n metrics.sendOpsMetricObject('awsui-global-breadcrumbs-used', { breadcrumbs });\n }\n });\n registrationRef.current = registration;\n\n return () => {\n registration.cleanup();\n };\n // subsequent prop changes are handled by another effect\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isInToolbar, __disableGlobalization, isLayoutVisible]);\n\n useLayoutEffect(() => {\n registrationRef.current?.update(props);\n });\n\n return registered;\n}\n\nexport function useSetGlobalBreadcrumbs<T extends BreadcrumbGroupProps.Item>(props: BreadcrumbGroupProps<T>) {\n // avoid additional side effects when this feature is not active\n if (!useAppLayoutFlagEnabled()) {\n return false;\n }\n // getGlobalFlag() value does not change without full page reload\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return useSetGlobalBreadcrumbsImplementation(props);\n}\n\nexport function useGetGlobalBreadcrumbs(enabled: boolean) {\n const [discoveredBreadcrumbs, setDiscoveredBreadcrumbs] = useState<BreadcrumbGroupProps<any> | null>(null);\n\n useEffect(() => {\n if (!enabled) {\n return;\n }\n const unregisterAppLayout = awsuiPluginsInternal.breadcrumbs.registerAppLayout(breadcrumbs => {\n setDiscoveredBreadcrumbs(breadcrumbs);\n });\n return () => {\n unregisterAppLayout?.();\n setDiscoveredBreadcrumbs(null);\n };\n }, [enabled]);\n\n return discoveredBreadcrumbs;\n}\n"]}
1
+ {"version":3,"file":"use-global-breadcrumbs.js","sourceRoot":"","sources":["../../../../../src/internal/plugins/helpers/use-global-breadcrumbs.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useContext, useEffect, useLayoutEffect, useRef, useState } from 'react';\n\nimport { useAppLayoutFlagEnabled } from '../../../app-layout/utils/feature-flags';\nimport {\n AppLayoutVisibilityContext,\n BreadcrumbsSlotContext,\n} from '../../../app-layout/visual-refresh-toolbar/contexts';\nimport { BreadcrumbGroupProps } from '../../../breadcrumb-group/interfaces';\nimport { metrics } from '../../metrics';\nimport { awsuiPluginsInternal } from '../api';\nimport { BreadcrumbsGlobalRegistration } from '../controllers/breadcrumbs';\n\nfunction useSetGlobalBreadcrumbsImplementation({\n __disableGlobalization,\n ...props\n}: BreadcrumbGroupProps<any> & { __disableGlobalization?: boolean }) {\n const { isInToolbar } = useContext(BreadcrumbsSlotContext) ?? {};\n const isLayoutVisible = useContext(AppLayoutVisibilityContext) ?? true;\n const registrationRef = useRef<BreadcrumbsGlobalRegistration<BreadcrumbGroupProps> | null>();\n const [registered, setRegistered] = useState(false);\n\n useEffect(() => {\n if (isInToolbar || __disableGlobalization || !isLayoutVisible) {\n return;\n }\n const registration = awsuiPluginsInternal.breadcrumbs.registerBreadcrumbs(props, isRegistered => {\n setRegistered(isRegistered ?? true);\n if (isRegistered) {\n const breadcrumbs = props.items.map(item => item.text).join(' > ');\n metrics.sendOpsMetricObject('awsui-global-breadcrumbs-used', { breadcrumbs });\n }\n });\n registrationRef.current = registration;\n\n return () => {\n registration.cleanup();\n };\n // subsequent prop changes are handled by another effect\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isInToolbar, __disableGlobalization, isLayoutVisible]);\n\n useLayoutEffect(() => {\n registrationRef.current?.update(props);\n });\n\n return registered;\n}\n\nexport function useSetGlobalBreadcrumbs<T extends BreadcrumbGroupProps.Item>(props: BreadcrumbGroupProps<T>) {\n // avoid additional side effects when this feature is not active\n if (!useAppLayoutFlagEnabled()) {\n return false;\n }\n // getGlobalFlag() value does not change without full page reload\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return useSetGlobalBreadcrumbsImplementation(props);\n}\n\nexport function useGetGlobalBreadcrumbs(enabled: boolean) {\n const [discoveredBreadcrumbs, setDiscoveredBreadcrumbs] = useState<BreadcrumbGroupProps<any> | null>(null);\n\n useEffect(() => {\n if (!enabled) {\n return;\n }\n const unregisterAppLayout = awsuiPluginsInternal.breadcrumbs.registerAppLayout(breadcrumbs => {\n setDiscoveredBreadcrumbs(breadcrumbs);\n });\n return () => {\n unregisterAppLayout?.();\n setDiscoveredBreadcrumbs(null);\n };\n }, [enabled]);\n\n return discoveredBreadcrumbs;\n}\n"]}
@@ -17,7 +17,7 @@ export function registerLeftDrawer(drawer) {
17
17
  */
18
18
  export function registerBottomDrawer(drawer) {
19
19
  var _a;
20
- const message = { type: 'registerBottomDrawer', payload: Object.assign(Object.assign({}, drawer), { position: 'bottom' }) };
20
+ const message = { type: 'registerBottomDrawer', payload: { ...drawer, position: 'bottom' } };
21
21
  pushInitialMessage(message);
22
22
  (_a = getAppLayoutMessageHandler()) === null || _a === void 0 ? void 0 : _a(message);
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/plugins/widget/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAGxE;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAqB;;IACtD,MAAM,OAAO,GAA0B,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IACvF,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAA,0BAA0B,EAAE,0CAAG,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAqB;;IACxD,MAAM,OAAO,GAA0B,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,kCAAO,MAAM,KAAE,QAAQ,EAAE,QAAQ,GAAE,EAAE,CAAC;IACpH,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAA,0BAA0B,EAAE,0CAAG,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,OAA+B;;IAC1D,MAAA,0BAA0B,EAAE,0CAAG,OAAO,CAAC,CAAC;AAC1C,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getAppLayoutMessageHandler, pushInitialMessage } from './core';\nimport { AppLayoutUpdateMessage, DrawerPayload, RegisterDrawerMessage } from './interfaces';\n\n/**\n * Registers a new left runtime drawer to app layout\n * @param drawer\n */\nexport function registerLeftDrawer(drawer: DrawerPayload) {\n const message: RegisterDrawerMessage = { type: 'registerLeftDrawer', payload: drawer };\n pushInitialMessage(message);\n getAppLayoutMessageHandler()?.(message);\n}\n\n/**\n * Registers a new bottom runtime drawer to app layout\n * @param drawer\n */\nexport function registerBottomDrawer(drawer: DrawerPayload) {\n const message: RegisterDrawerMessage = { type: 'registerBottomDrawer', payload: { ...drawer, position: 'bottom' } };\n pushInitialMessage(message);\n getAppLayoutMessageHandler()?.(message);\n}\n\n/**\n * Interact with already registered app layout drawers\n * @param message\n */\nexport function updateDrawer(message: AppLayoutUpdateMessage) {\n getAppLayoutMessageHandler()?.(message);\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/plugins/widget/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAGxE;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAqB;;IACtD,MAAM,OAAO,GAA0B,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IACvF,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAA,0BAA0B,EAAE,0CAAG,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAqB;;IACxD,MAAM,OAAO,GAA0B,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC;IACpH,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAA,0BAA0B,EAAE,0CAAG,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,OAA+B;;IAC1D,MAAA,0BAA0B,EAAE,0CAAG,OAAO,CAAC,CAAC;AAC1C,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getAppLayoutMessageHandler, pushInitialMessage } from './core';\nimport { AppLayoutUpdateMessage, DrawerPayload, RegisterDrawerMessage } from './interfaces';\n\n/**\n * Registers a new left runtime drawer to app layout\n * @param drawer\n */\nexport function registerLeftDrawer(drawer: DrawerPayload) {\n const message: RegisterDrawerMessage = { type: 'registerLeftDrawer', payload: drawer };\n pushInitialMessage(message);\n getAppLayoutMessageHandler()?.(message);\n}\n\n/**\n * Registers a new bottom runtime drawer to app layout\n * @param drawer\n */\nexport function registerBottomDrawer(drawer: DrawerPayload) {\n const message: RegisterDrawerMessage = { type: 'registerBottomDrawer', payload: { ...drawer, position: 'bottom' } };\n pushInitialMessage(message);\n getAppLayoutMessageHandler()?.(message);\n}\n\n/**\n * Interact with already registered app layout drawers\n * @param message\n */\nexport function updateDrawer(message: AppLayoutUpdateMessage) {\n getAppLayoutMessageHandler()?.(message);\n}\n"]}
@@ -1,4 +1,3 @@
1
- import { __rest } from "tslib";
2
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
2
  // SPDX-License-Identifier: Apache-2.0
4
3
  import React from 'react';
@@ -12,7 +11,7 @@ export function processAttributes(rest, nativeAttributes, componentName, skipWar
12
11
  // merge style
13
12
  }
14
13
  else if (key === 'style') {
15
- acc[key] = Object.assign(Object.assign({}, rest.style), value);
14
+ acc[key] = { ...rest.style, ...value };
16
15
  // chain event handlers
17
16
  }
18
17
  else if (key.match(/^on[A-Z]/) && typeof value === 'function' && key in rest) {
@@ -31,12 +30,11 @@ export function processAttributes(rest, nativeAttributes, componentName, skipWar
31
30
  acc[key] = value;
32
31
  }
33
32
  return acc;
34
- }, Object.assign({}, rest));
33
+ }, { ...rest });
35
34
  }
36
- export default React.forwardRef((_a, ref) => {
37
- var { tag, nativeAttributes, children, skipWarnings, componentName } = _a, rest = __rest(_a, ["tag", "nativeAttributes", "children", "skipWarnings", "componentName"]);
35
+ export default React.forwardRef(({ tag, nativeAttributes, children, skipWarnings, componentName, ...rest }, ref) => {
38
36
  const Tag = tag;
39
37
  const processedAttributes = processAttributes(rest, nativeAttributes, componentName, skipWarnings);
40
- return (React.createElement(Tag, Object.assign({}, processedAttributes, { ref: ref }), children));
38
+ return (React.createElement(Tag, { ...processedAttributes, ref: ref }, children));
41
39
  });
42
40
  //# sourceMappingURL=with-native-attributes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"with-native-attributes.js","sourceRoot":"","sources":["../../../../src/internal/utils/with-native-attributes.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AAqBzE,MAAM,UAAU,iBAAiB,CAC/B,IAAiH,EACjH,gBAAsC,EACtC,aAAqB,EACrB,YAA2B;IAE3B,OAAO,MAAM,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,MAAM,CAClD,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACpB,wBAAwB;QACxB,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACxB,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAEvC,cAAc;QAChB,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YAC3B,GAAG,CAAC,GAAG,CAAC,mCAAQ,IAAI,CAAC,KAAK,GAAK,KAAK,CAAE,CAAC;YAEvC,uBAAuB;QACzB,CAAC;aAAM,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,OAAO,KAAK,KAAK,UAAU,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YAC/E,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAY,EAAE,EAAE;gBAC1B,KAAK,CAAC,KAAK,CAAC,CAAC;gBACb,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;oBAC3B,IAAY,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC,CAAC;YAEF,0DAA0D;QAC5D,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7F,QAAQ,CAAC,aAAa,EAAE,gCAAgC,GAAG,yCAAyC,CAAC,CAAC;YACxG,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EACD,kBAAK,IAAI,CAAS,CACnB,CAAC;AACJ,CAAC;AAED,eAAe,KAAK,CAAC,UAAU,CAC7B,CACE,EAAoG,EACpG,GAAkB,EAClB,EAAE;QAFF,EAAE,GAAG,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,OAAsC,EAAjC,IAAI,cAAvE,wEAAyE,CAAF;IAGvE,MAAM,GAAG,GAAG,GAAG,CAAC;IAEhB,MAAM,mBAAmB,GAAG,iBAAiB,CAAS,IAAI,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;IAE3G,OAAO,CACL,oBAAC,GAAG,oBAAK,mBAAmB,IAAE,GAAG,EAAE,GAAG,KACnC,QAAQ,CACL,CACP,CAAC;AACJ,CAAC,CACgB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { ReactNode } from 'react';\nimport clsx from 'clsx';\n\nimport { warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nexport type NativeAttributes<T extends React.HTMLAttributes<HTMLElement>> =\n | (Omit<T, 'children'> & Record<`data-${string}`, string>)\n | undefined;\n\nexport type SkipWarnings = boolean | string[];\n\ntype NativeAttributesProps<AT extends React.HTMLAttributes<HTMLElement>> = {\n tag: string;\n children?: ReactNode;\n skipWarnings?: SkipWarnings;\n nativeAttributes: NativeAttributes<AT>;\n componentName: string;\n} & NativeAttributes<AT>;\ninterface ForwardRefType {\n <ET extends HTMLElement, AT extends React.HTMLAttributes<ET>>(\n props: NativeAttributesProps<AT> & { ref?: React.Ref<ET> }\n ): JSX.Element;\n}\n\nexport function processAttributes<ET extends HTMLElement, AT extends React.HTMLAttributes<ET>>(\n rest: Omit<NativeAttributesProps<AT>, 'children' | 'tag' | 'skipWarnings' | 'componentName' | 'nativeAttributes'>,\n nativeAttributes: NativeAttributes<AT>,\n componentName: string,\n skipWarnings?: SkipWarnings\n) {\n return Object.entries(nativeAttributes || {}).reduce(\n (acc, [key, value]) => {\n // concatenate className\n if (key === 'className') {\n acc[key] = clsx(rest.className, value);\n\n // merge style\n } else if (key === 'style') {\n acc[key] = { ...rest.style, ...value };\n\n // chain event handlers\n } else if (key.match(/^on[A-Z]/) && typeof value === 'function' && key in rest) {\n acc[key] = (event: Event) => {\n value(event);\n if (!event.defaultPrevented) {\n (rest as any)[key](event);\n }\n };\n\n // override other attributes, warning if it already exists\n } else {\n if (key in rest && (!skipWarnings || (skipWarnings !== true && !skipWarnings.includes(key)))) {\n warnOnce(componentName, `Overriding native attribute [${key}] which has a Cloudscape-provided value`);\n }\n acc[key] = value;\n }\n return acc;\n },\n { ...rest } as any\n );\n}\n\nexport default React.forwardRef(\n <ET extends HTMLElement, AT extends React.HTMLAttributes<ET>>(\n { tag, nativeAttributes, children, skipWarnings, componentName, ...rest }: NativeAttributesProps<AT>,\n ref: React.Ref<ET>\n ) => {\n const Tag = tag;\n\n const processedAttributes = processAttributes<ET, AT>(rest, nativeAttributes, componentName, skipWarnings);\n\n return (\n <Tag {...processedAttributes} ref={ref}>\n {children}\n </Tag>\n );\n }\n) as ForwardRefType;\n"]}
1
+ {"version":3,"file":"with-native-attributes.js","sourceRoot":"","sources":["../../../../src/internal/utils/with-native-attributes.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AAqBzE,MAAM,UAAU,iBAAiB,CAC/B,IAAiH,EACjH,gBAAsC,EACtC,aAAqB,EACrB,YAA2B;IAE3B,OAAO,MAAM,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,MAAM,CAClD,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACpB,wBAAwB;QACxB,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YACxB,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAEvC,cAAc;QAChB,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YAC3B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC;YAEvC,uBAAuB;QACzB,CAAC;aAAM,IAAI,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,OAAO,KAAK,KAAK,UAAU,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YAC/E,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAY,EAAE,EAAE;gBAC1B,KAAK,CAAC,KAAK,CAAC,CAAC;gBACb,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;oBAC3B,IAAY,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC,CAAC;YAEF,0DAA0D;QAC5D,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7F,QAAQ,CAAC,aAAa,EAAE,gCAAgC,GAAG,yCAAyC,CAAC,CAAC;YACxG,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,GAAG,IAAI,EAAS,CACnB,CAAC;AACJ,CAAC;AAED,eAAe,KAAK,CAAC,UAAU,CAC7B,CACE,EAAE,GAAG,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,IAAI,EAA6B,EACpG,GAAkB,EAClB,EAAE;IACF,MAAM,GAAG,GAAG,GAAG,CAAC;IAEhB,MAAM,mBAAmB,GAAG,iBAAiB,CAAS,IAAI,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;IAE3G,OAAO,CACL,oBAAC,GAAG,OAAK,mBAAmB,EAAE,GAAG,EAAE,GAAG,IACnC,QAAQ,CACL,CACP,CAAC;AACJ,CAAC,CACgB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { ReactNode } from 'react';\nimport clsx from 'clsx';\n\nimport { warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nexport type NativeAttributes<T extends React.HTMLAttributes<HTMLElement>> =\n | (Omit<T, 'children'> & Record<`data-${string}`, string>)\n | undefined;\n\nexport type SkipWarnings = boolean | string[];\n\ntype NativeAttributesProps<AT extends React.HTMLAttributes<HTMLElement>> = {\n tag: string;\n children?: ReactNode;\n skipWarnings?: SkipWarnings;\n nativeAttributes: NativeAttributes<AT>;\n componentName: string;\n} & NativeAttributes<AT>;\ninterface ForwardRefType {\n <ET extends HTMLElement, AT extends React.HTMLAttributes<ET>>(\n props: NativeAttributesProps<AT> & { ref?: React.Ref<ET> }\n ): JSX.Element;\n}\n\nexport function processAttributes<ET extends HTMLElement, AT extends React.HTMLAttributes<ET>>(\n rest: Omit<NativeAttributesProps<AT>, 'children' | 'tag' | 'skipWarnings' | 'componentName' | 'nativeAttributes'>,\n nativeAttributes: NativeAttributes<AT>,\n componentName: string,\n skipWarnings?: SkipWarnings\n) {\n return Object.entries(nativeAttributes || {}).reduce(\n (acc, [key, value]) => {\n // concatenate className\n if (key === 'className') {\n acc[key] = clsx(rest.className, value);\n\n // merge style\n } else if (key === 'style') {\n acc[key] = { ...rest.style, ...value };\n\n // chain event handlers\n } else if (key.match(/^on[A-Z]/) && typeof value === 'function' && key in rest) {\n acc[key] = (event: Event) => {\n value(event);\n if (!event.defaultPrevented) {\n (rest as any)[key](event);\n }\n };\n\n // override other attributes, warning if it already exists\n } else {\n if (key in rest && (!skipWarnings || (skipWarnings !== true && !skipWarnings.includes(key)))) {\n warnOnce(componentName, `Overriding native attribute [${key}] which has a Cloudscape-provided value`);\n }\n acc[key] = value;\n }\n return acc;\n },\n { ...rest } as any\n );\n}\n\nexport default React.forwardRef(\n <ET extends HTMLElement, AT extends React.HTMLAttributes<ET>>(\n { tag, nativeAttributes, children, skipWarnings, componentName, ...rest }: NativeAttributesProps<AT>,\n ref: React.Ref<ET>\n ) => {\n const Tag = tag;\n\n const processedAttributes = processAttributes<ET, AT>(rest, nativeAttributes, componentName, skipWarnings);\n\n return (\n <Tag {...processedAttributes} ref={ref}>\n {children}\n </Tag>\n );\n }\n) as ForwardRefType;\n"]}
@@ -8,9 +8,9 @@ export function createWidgetizedComponent(Implementation, Skeleton) {
8
8
  return (props => {
9
9
  const isRefresh = useVisualRefresh();
10
10
  if (isRefresh && getGlobalFlag('appLayoutWidget') && Loader) {
11
- return React.createElement(Loader, Object.assign({ Skeleton: Skeleton }, props));
11
+ return React.createElement(Loader, { Skeleton: Skeleton, ...props });
12
12
  }
13
- return React.createElement(Implementation, Object.assign({}, props));
13
+ return React.createElement(Implementation, { ...props });
14
14
  });
15
15
  };
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/internal/widgets/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAE9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAO5D,MAAM,UAAU,yBAAyB,CACvC,cAAyB,EACzB,QAAmG;IAEnG,OAAO,CAAC,MAAkB,EAAa,EAAE;QACvC,OAAO,CAAC,KAAK,CAAC,EAAE;YACd,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;YACrC,IAAI,SAAS,IAAI,aAAa,CAAC,iBAAiB,CAAC,IAAI,MAAM,EAAE,CAAC;gBAC5D,OAAO,oBAAC,MAAM,kBAAC,QAAQ,EAAE,QAAQ,IAAO,KAAa,EAAI,CAAC;YAC5D,CAAC;YAED,OAAO,oBAAC,cAAc,oBAAM,KAAa,EAAI,CAAC;QAChD,CAAC,CAAc,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport { getGlobalFlag } from '@cloudscape-design/component-toolkit/internal';\n\nimport { useVisualRefresh } from '../hooks/use-visual-mode';\n\n// Built-in React.FunctionComponent has always present `children` property which is not desired\nexport type FunctionComponent<Props extends object> = (props: Props) => JSX.Element | null;\nexport type PropsType<Component extends FunctionComponent<any>> =\n Component extends FunctionComponent<infer Props> ? Props : never;\n\nexport function createWidgetizedComponent<Component extends FunctionComponent<any>>(\n Implementation: Component,\n Skeleton?: React.ForwardRefExoticComponent<PropsType<Component> & React.RefAttributes<HTMLElement>>\n) {\n return (Loader?: Component): Component => {\n return (props => {\n const isRefresh = useVisualRefresh();\n if (isRefresh && getGlobalFlag('appLayoutWidget') && Loader) {\n return <Loader Skeleton={Skeleton} {...(props as any)} />;\n }\n\n return <Implementation {...(props as any)} />;\n }) as Component;\n };\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/internal/widgets/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAE9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAO5D,MAAM,UAAU,yBAAyB,CACvC,cAAyB,EACzB,QAAmG;IAEnG,OAAO,CAAC,MAAkB,EAAa,EAAE;QACvC,OAAO,CAAC,KAAK,CAAC,EAAE;YACd,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;YACrC,IAAI,SAAS,IAAI,aAAa,CAAC,iBAAiB,CAAC,IAAI,MAAM,EAAE,CAAC;gBAC5D,OAAO,oBAAC,MAAM,IAAC,QAAQ,EAAE,QAAQ,KAAO,KAAa,GAAI,CAAC;YAC5D,CAAC;YAED,OAAO,oBAAC,cAAc,OAAM,KAAa,GAAI,CAAC;QAChD,CAAC,CAAc,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport { getGlobalFlag } from '@cloudscape-design/component-toolkit/internal';\n\nimport { useVisualRefresh } from '../hooks/use-visual-mode';\n\n// Built-in React.FunctionComponent has always present `children` property which is not desired\nexport type FunctionComponent<Props extends object> = (props: Props) => JSX.Element | null;\nexport type PropsType<Component extends FunctionComponent<any>> =\n Component extends FunctionComponent<infer Props> ? Props : never;\n\nexport function createWidgetizedComponent<Component extends FunctionComponent<any>>(\n Implementation: Component,\n Skeleton?: React.ForwardRefExoticComponent<PropsType<Component> & React.RefAttributes<HTMLElement>>\n) {\n return (Loader?: Component): Component => {\n return (props => {\n const isRefresh = useVisualRefresh();\n if (isRefresh && getGlobalFlag('appLayoutWidget') && Loader) {\n return <Loader Skeleton={Skeleton} {...(props as any)} />;\n }\n\n return <Implementation {...(props as any)} />;\n }) as Component;\n };\n}\n"]}
@@ -33,11 +33,11 @@ export function createLoadableComponent(Component) {
33
33
  };
34
34
  }, []);
35
35
  if (mounted) {
36
- return React.createElement(Component, Object.assign({}, props));
36
+ return React.createElement(Component, { ...props });
37
37
  }
38
38
  // this prop is injected in `createWidgetizedComponent` and is not a part of the component signature
39
39
  const { Skeleton } = props;
40
- return Skeleton ? React.createElement(Skeleton, Object.assign({}, props)) : React.createElement("div", null);
40
+ return Skeleton ? React.createElement(Skeleton, { ...props }) : React.createElement("div", null);
41
41
  });
42
42
  }
43
43
  //# sourceMappingURL=loader-mock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader-mock.js","sourceRoot":"","sources":["../../../../src/internal/widgets/loader-mock.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAInD,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAE,EAAE;;IACzC,MAAM,UAAU,GAAQ,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;IAC5E,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAChE,OAAO,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,sBAA6B,CAAC,0CAAG,QAAe,CAAC,CAAC;AACxE,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,GAAG,EAAE;IACpC,OAAO,CAAC,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,wBAAwB,EAAE,CAAC;AAE3D,IAAI,WAA0B,CAAC;AAE/B,MAAM,UAAU,uBAAuB,CACrC,SAAwB;IAExB,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC7B,OAAO;IACT,CAAC;IACD,OAAO,CAAC,CAAC,KAA+B,EAAE,EAAE;QAC1C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE9C,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,WAAW,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1E,CAAC;YACD,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE;gBACpB,IAAI,OAAO,EAAE,CAAC;oBACZ,UAAU,CAAC,IAAI,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC,CAAC,CAAC;YACH,OAAO,GAAG,EAAE;gBACV,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC,CAAC;QACJ,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,oBAAC,SAAS,oBAAK,KAAK,EAAI,CAAC;QAClC,CAAC;QACD,oGAAoG;QACpG,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAY,CAAC;QAElC,OAAO,QAAQ,CAAC,CAAC,CAAC,oBAAC,QAAQ,oBAAK,KAAK,EAAI,CAAC,CAAC,CAAC,gCAAO,CAAC;IACtD,CAAC,CAAkB,CAAC;AACtB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useState } from 'react';\n\nimport { FunctionComponent, PropsType } from './index';\n\nconst getCustomFlag = (flagName: string) => {\n const flagHolder: any = typeof window !== 'undefined' ? window : globalThis;\n const awsuiCustomFlagsSymbol = Symbol.for('awsui-custom-flags');\n return flagHolder?.[awsuiCustomFlagsSymbol as any]?.[flagName as any];\n};\n\nconst isAppLayoutDelayedWidget = () => {\n return !!getCustomFlag('appLayoutDelayedWidget');\n};\n\nconst enableDelayedComponents = isAppLayoutDelayedWidget();\n\nlet loadPromise: Promise<void>;\n\nexport function createLoadableComponent<ComponentType extends FunctionComponent<any>>(\n Component: ComponentType\n): ComponentType | undefined {\n if (!enableDelayedComponents) {\n return;\n }\n return ((props: PropsType<ComponentType>) => {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n if (!loadPromise) {\n loadPromise = new Promise(resolve => setTimeout(() => resolve(), 1000));\n }\n let mounted = true;\n loadPromise.then(() => {\n if (mounted) {\n setMounted(true);\n }\n });\n return () => {\n mounted = false;\n };\n }, []);\n\n if (mounted) {\n return <Component {...props} />;\n }\n // this prop is injected in `createWidgetizedComponent` and is not a part of the component signature\n const { Skeleton } = props as any;\n\n return Skeleton ? <Skeleton {...props} /> : <div />;\n }) as ComponentType;\n}\n"]}
1
+ {"version":3,"file":"loader-mock.js","sourceRoot":"","sources":["../../../../src/internal/widgets/loader-mock.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAInD,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAE,EAAE;;IACzC,MAAM,UAAU,GAAQ,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;IAC5E,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAChE,OAAO,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,sBAA6B,CAAC,0CAAG,QAAe,CAAC,CAAC;AACxE,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,GAAG,EAAE;IACpC,OAAO,CAAC,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,wBAAwB,EAAE,CAAC;AAE3D,IAAI,WAA0B,CAAC;AAE/B,MAAM,UAAU,uBAAuB,CACrC,SAAwB;IAExB,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC7B,OAAO;IACT,CAAC;IACD,OAAO,CAAC,CAAC,KAA+B,EAAE,EAAE;QAC1C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE9C,SAAS,CAAC,GAAG,EAAE;YACb,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,WAAW,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1E,CAAC;YACD,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE;gBACpB,IAAI,OAAO,EAAE,CAAC;oBACZ,UAAU,CAAC,IAAI,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC,CAAC,CAAC;YACH,OAAO,GAAG,EAAE;gBACV,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC,CAAC;QACJ,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,oBAAC,SAAS,OAAK,KAAK,GAAI,CAAC;QAClC,CAAC;QACD,oGAAoG;QACpG,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAY,CAAC;QAElC,OAAO,QAAQ,CAAC,CAAC,CAAC,oBAAC,QAAQ,OAAK,KAAK,GAAI,CAAC,CAAC,CAAC,gCAAO,CAAC;IACtD,CAAC,CAAkB,CAAC;AACtB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useState } from 'react';\n\nimport { FunctionComponent, PropsType } from './index';\n\nconst getCustomFlag = (flagName: string) => {\n const flagHolder: any = typeof window !== 'undefined' ? window : globalThis;\n const awsuiCustomFlagsSymbol = Symbol.for('awsui-custom-flags');\n return flagHolder?.[awsuiCustomFlagsSymbol as any]?.[flagName as any];\n};\n\nconst isAppLayoutDelayedWidget = () => {\n return !!getCustomFlag('appLayoutDelayedWidget');\n};\n\nconst enableDelayedComponents = isAppLayoutDelayedWidget();\n\nlet loadPromise: Promise<void>;\n\nexport function createLoadableComponent<ComponentType extends FunctionComponent<any>>(\n Component: ComponentType\n): ComponentType | undefined {\n if (!enableDelayedComponents) {\n return;\n }\n return ((props: PropsType<ComponentType>) => {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n if (!loadPromise) {\n loadPromise = new Promise(resolve => setTimeout(() => resolve(), 1000));\n }\n let mounted = true;\n loadPromise.then(() => {\n if (mounted) {\n setMounted(true);\n }\n });\n return () => {\n mounted = false;\n };\n }, []);\n\n if (mounted) {\n return <Component {...props} />;\n }\n // this prop is injected in `createWidgetizedComponent` and is not a part of the component signature\n const { Skeleton } = props as any;\n\n return Skeleton ? <Skeleton {...props} /> : <div />;\n }) as ComponentType;\n}\n"]}
@@ -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 { getBaseProps } from '../internal/base-component';
7
6
  import useBaseComponent from '../internal/hooks/use-base-component';
8
7
  import { applyDisplayName } from '../internal/utils/apply-display-name';
9
8
  import InternalKeyValuePairs from './internal';
10
- export default function KeyValuePairs(_a) {
11
- var { columns = 1, items, ariaLabel, ariaLabelledby, minColumnWidth = 150 } = _a, rest = __rest(_a, ["columns", "items", "ariaLabel", "ariaLabelledby", "minColumnWidth"]);
9
+ export default function KeyValuePairs({ columns = 1, items, ariaLabel, ariaLabelledby, minColumnWidth = 150, ...rest }) {
12
10
  const { __internalRootRef } = useBaseComponent('KeyValuePairs', {
13
11
  props: { columns },
14
12
  });
15
13
  const baseProps = getBaseProps(rest);
16
- return (React.createElement(InternalKeyValuePairs, Object.assign({ columns: columns, items: items, ariaLabel: ariaLabel, ariaLabelledby: ariaLabelledby, minColumnWidth: minColumnWidth }, baseProps, { ref: __internalRootRef })));
14
+ return (React.createElement(InternalKeyValuePairs, { columns: columns, items: items, ariaLabel: ariaLabel, ariaLabelledby: ariaLabelledby, minColumnWidth: minColumnWidth, ...baseProps, ref: __internalRootRef }));
17
15
  }
18
16
  applyDisplayName(KeyValuePairs, 'KeyValuePairs');
19
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/key-value-pairs/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,YAAY,CAAC;;AACb,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,qBAAqB,MAAM,YAAY,CAAC;AAI/C,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAOjB;QAPiB,EACpC,OAAO,GAAG,CAAC,EACX,KAAK,EACL,SAAS,EACT,cAAc,EACd,cAAc,GAAG,GAAG,OAED,EADhB,IAAI,cAN6B,qEAOrC,CADQ;IAEP,MAAM,EAAE,iBAAiB,EAAE,GAAG,gBAAgB,CAAC,eAAe,EAAE;QAC9D,KAAK,EAAE,EAAE,OAAO,EAAE;KACnB,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAErC,OAAO,CACL,oBAAC,qBAAqB,kBACpB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,IAC1B,SAAS,IACb,GAAG,EAAE,iBAAiB,IACtB,CACH,CAAC;AACJ,CAAC;AAED,gBAAgB,CAAC,aAAa,EAAE,eAAe,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';\n\nimport { getBaseProps } from '../internal/base-component';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { KeyValuePairsProps } from './interfaces';\nimport InternalKeyValuePairs from './internal';\n\nexport { KeyValuePairsProps };\n\nexport default function KeyValuePairs({\n columns = 1,\n items,\n ariaLabel,\n ariaLabelledby,\n minColumnWidth = 150,\n ...rest\n}: KeyValuePairsProps) {\n const { __internalRootRef } = useBaseComponent('KeyValuePairs', {\n props: { columns },\n });\n const baseProps = getBaseProps(rest);\n\n return (\n <InternalKeyValuePairs\n columns={columns}\n items={items}\n ariaLabel={ariaLabel}\n ariaLabelledby={ariaLabelledby}\n minColumnWidth={minColumnWidth}\n {...baseProps}\n ref={__internalRootRef}\n />\n );\n}\n\napplyDisplayName(KeyValuePairs, 'KeyValuePairs');\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/key-value-pairs/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,YAAY,CAAC;AACb,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,qBAAqB,MAAM,YAAY,CAAC;AAI/C,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EACpC,OAAO,GAAG,CAAC,EACX,KAAK,EACL,SAAS,EACT,cAAc,EACd,cAAc,GAAG,GAAG,EACpB,GAAG,IAAI,EACY;IACnB,MAAM,EAAE,iBAAiB,EAAE,GAAG,gBAAgB,CAAC,eAAe,EAAE;QAC9D,KAAK,EAAE,EAAE,OAAO,EAAE;KACnB,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAErC,OAAO,CACL,oBAAC,qBAAqB,IACpB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,KAC1B,SAAS,EACb,GAAG,EAAE,iBAAiB,GACtB,CACH,CAAC;AACJ,CAAC;AAED,gBAAgB,CAAC,aAAa,EAAE,eAAe,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';\n\nimport { getBaseProps } from '../internal/base-component';\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { KeyValuePairsProps } from './interfaces';\nimport InternalKeyValuePairs from './internal';\n\nexport { KeyValuePairsProps };\n\nexport default function KeyValuePairs({\n columns = 1,\n items,\n ariaLabel,\n ariaLabelledby,\n minColumnWidth = 150,\n ...rest\n}: KeyValuePairsProps) {\n const { __internalRootRef } = useBaseComponent('KeyValuePairs', {\n props: { columns },\n });\n const baseProps = getBaseProps(rest);\n\n return (\n <InternalKeyValuePairs\n columns={columns}\n items={items}\n ariaLabel={ariaLabel}\n ariaLabelledby={ariaLabelledby}\n minColumnWidth={minColumnWidth}\n {...baseProps}\n ref={__internalRootRef}\n />\n );\n}\n\napplyDisplayName(KeyValuePairs, 'KeyValuePairs');\n"]}
@@ -1,4 +1,3 @@
1
- import { __rest } from "tslib";
2
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
2
  // SPDX-License-Identifier: Apache-2.0
4
3
  import React from 'react';
@@ -20,14 +19,13 @@ const InternalKeyValuePair = ({ label, info, value, id }) => {
20
19
  const InternalKeyValuePairGroup = ({ label, value }) => (React.createElement(React.Fragment, null,
21
20
  label && React.createElement("dt", { className: styles['group-title'] }, label),
22
21
  React.createElement("dd", { className: styles.detail }, value)));
23
- const InternalKeyValuePairs = React.forwardRef((_a, ref) => {
24
- var { columns, items, className, ariaLabel, ariaLabelledby, minColumnWidth } = _a, rest = __rest(_a, ["columns", "items", "className", "ariaLabel", "ariaLabelledby", "minColumnWidth"]);
22
+ const InternalKeyValuePairs = React.forwardRef(({ columns, items, className, ariaLabel, ariaLabelledby, minColumnWidth, ...rest }, ref) => {
25
23
  const MAX_COLUMNS = 4;
26
24
  if (columns > MAX_COLUMNS) {
27
25
  warnOnce('Key-value pairs', `\`columns\` (${columns}) must be <= ${MAX_COLUMNS}. Using ${MAX_COLUMNS} as default.`);
28
26
  }
29
27
  return (React.createElement(LinkDefaultVariantContext.Provider, { value: { defaultVariant: 'primary' } },
30
- React.createElement("div", Object.assign({}, rest, { className: clsx(styles['key-value-pairs'], className), "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, ref: ref }),
28
+ React.createElement("div", { ...rest, className: clsx(styles['key-value-pairs'], className), "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, ref: ref },
31
29
  React.createElement(ColumnLayout, { __tagOverride: "dl", columns: Math.min(columns, MAX_COLUMNS), variant: "text-grid", minColumnWidth: minColumnWidth }, items.map((pair, index) => {
32
30
  if (pair.type === 'group') {
33
31
  return (
@@ -36,9 +34,9 @@ const InternalKeyValuePairs = React.forwardRef((_a, ref) => {
36
34
  * InternalKeyValuePairGroup is not wrapped by div tag, because it ruins a11y compatibility for dl -> dt/dd
37
35
  * */
38
36
  React.createElement(InternalKeyValuePairGroup, { key: index, label: pair.title && (React.createElement(Box, { variant: "h3", padding: "n" }, pair.title)), value: React.createElement("dl", { className: styles['group-list'] }, pair.items.map((item, itemIndex) => (React.createElement("div", { key: itemIndex, className: styles['group-list-item'] },
39
- React.createElement(InternalKeyValuePair, Object.assign({}, item)))))) }));
37
+ React.createElement(InternalKeyValuePair, { ...item }))))) }));
40
38
  }
41
- return React.createElement(InternalKeyValuePair, Object.assign({ key: index }, pair));
39
+ return React.createElement(InternalKeyValuePair, { key: index, ...pair });
42
40
  })))));
43
41
  });
44
42
  export default InternalKeyValuePairs;
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/key-value-pairs/internal.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\n\nimport { useUniqueId, warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport Box from '../box/internal';\nimport ColumnLayout from '../column-layout/internal';\nimport { InfoLinkLabelContext } from '../internal/context/info-link-label-context';\nimport { LinkDefaultVariantContext } from '../internal/context/link-default-variant-context';\nimport { KeyValuePairsProps } from './interfaces';\n\nimport styles from './styles.css.js';\n\nconst InternalKeyValuePair = ({ label, info, value, id }: KeyValuePairsProps.Pair) => {\n const kvPairId = useUniqueId('kv-pair-');\n\n return (\n <>\n <dt className={styles.term}>\n <div className={styles['key-label']} id={id || kvPairId}>\n {label}\n </div>\n <InfoLinkLabelContext.Provider value={id || kvPairId}>\n {info && <span className={styles.info}>{info}</span>}\n </InfoLinkLabelContext.Provider>\n </dt>\n <dd className={styles.detail}>{value}</dd>\n </>\n );\n};\n\nconst InternalKeyValuePairGroup = ({ label, value }: { label?: React.ReactNode; value: React.ReactNode }) => (\n <>\n {label && <dt className={styles['group-title']}>{label}</dt>}\n <dd className={styles.detail}>{value}</dd>\n </>\n);\n\nconst InternalKeyValuePairs = React.forwardRef(\n (\n {\n columns,\n items,\n className,\n ariaLabel,\n ariaLabelledby,\n minColumnWidth,\n ...rest\n }: KeyValuePairsProps & Required<Pick<KeyValuePairsProps, 'columns'>>,\n ref: React.Ref<HTMLDivElement>\n ) => {\n const MAX_COLUMNS = 4;\n\n if (columns > MAX_COLUMNS) {\n warnOnce(\n 'Key-value pairs',\n `\\`columns\\` (${columns}) must be <= ${MAX_COLUMNS}. Using ${MAX_COLUMNS} as default.`\n );\n }\n\n return (\n <LinkDefaultVariantContext.Provider value={{ defaultVariant: 'primary' }}>\n <div\n {...rest}\n className={clsx(styles['key-value-pairs'], className)}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n ref={ref}\n >\n {/*\n minColumnWidth={150} is set to use FlexibleColumnLayout which has only 1 nested div wrapper for column items,\n otherwise GridColumnLayout will be used, which has 2 nested div, therefore it is not a11y compatible for dl -> dt/dd relationship\n */}\n <ColumnLayout\n __tagOverride=\"dl\"\n columns={Math.min(columns, MAX_COLUMNS)}\n variant=\"text-grid\"\n minColumnWidth={minColumnWidth}\n >\n {items.map((pair, index) => {\n if (pair.type === 'group') {\n return (\n /* InternalKeyValuePairGroup tells react to treat the dt-dd pair as an individual layout item.\n * Otherwise, without this component, they will be rendered as a list, which ruins the html structure.\n * InternalKeyValuePairGroup is not wrapped by div tag, because it ruins a11y compatibility for dl -> dt/dd\n * */\n <InternalKeyValuePairGroup\n key={index}\n label={\n pair.title && (\n <Box variant=\"h3\" padding=\"n\">\n {pair.title}\n </Box>\n )\n }\n value={\n <dl className={styles['group-list']}>\n {pair.items.map((item, itemIndex) => (\n <div key={itemIndex} className={styles['group-list-item']}>\n <InternalKeyValuePair {...item} />\n </div>\n ))}\n </dl>\n }\n />\n );\n }\n\n return <InternalKeyValuePair key={index} {...pair} />;\n })}\n </ColumnLayout>\n </div>\n </LinkDefaultVariantContext.Provider>\n );\n }\n);\n\nexport default InternalKeyValuePairs;\n"]}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/key-value-pairs/internal.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\n\nimport { useUniqueId, warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport Box from '../box/internal';\nimport ColumnLayout from '../column-layout/internal';\nimport { InfoLinkLabelContext } from '../internal/context/info-link-label-context';\nimport { LinkDefaultVariantContext } from '../internal/context/link-default-variant-context';\nimport { KeyValuePairsProps } from './interfaces';\n\nimport styles from './styles.css.js';\n\nconst InternalKeyValuePair = ({ label, info, value, id }: KeyValuePairsProps.Pair) => {\n const kvPairId = useUniqueId('kv-pair-');\n\n return (\n <>\n <dt className={styles.term}>\n <div className={styles['key-label']} id={id || kvPairId}>\n {label}\n </div>\n <InfoLinkLabelContext.Provider value={id || kvPairId}>\n {info && <span className={styles.info}>{info}</span>}\n </InfoLinkLabelContext.Provider>\n </dt>\n <dd className={styles.detail}>{value}</dd>\n </>\n );\n};\n\nconst InternalKeyValuePairGroup = ({ label, value }: { label?: React.ReactNode; value: React.ReactNode }) => (\n <>\n {label && <dt className={styles['group-title']}>{label}</dt>}\n <dd className={styles.detail}>{value}</dd>\n </>\n);\n\nconst InternalKeyValuePairs = React.forwardRef(\n (\n {\n columns,\n items,\n className,\n ariaLabel,\n ariaLabelledby,\n minColumnWidth,\n ...rest\n }: KeyValuePairsProps & Required<Pick<KeyValuePairsProps, 'columns'>>,\n ref: React.Ref<HTMLDivElement>\n ) => {\n const MAX_COLUMNS = 4;\n\n if (columns > MAX_COLUMNS) {\n warnOnce(\n 'Key-value pairs',\n `\\`columns\\` (${columns}) must be <= ${MAX_COLUMNS}. Using ${MAX_COLUMNS} as default.`\n );\n }\n\n return (\n <LinkDefaultVariantContext.Provider value={{ defaultVariant: 'primary' }}>\n <div\n {...rest}\n className={clsx(styles['key-value-pairs'], className)}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n ref={ref}\n >\n {/*\n minColumnWidth={150} is set to use FlexibleColumnLayout which has only 1 nested div wrapper for column items,\n otherwise GridColumnLayout will be used, which has 2 nested div, therefore it is not a11y compatible for dl -> dt/dd relationship\n */}\n <ColumnLayout\n __tagOverride=\"dl\"\n columns={Math.min(columns, MAX_COLUMNS)}\n variant=\"text-grid\"\n minColumnWidth={minColumnWidth}\n >\n {items.map((pair, index) => {\n if (pair.type === 'group') {\n return (\n /* InternalKeyValuePairGroup tells react to treat the dt-dd pair as an individual layout item.\n * Otherwise, without this component, they will be rendered as a list, which ruins the html structure.\n * InternalKeyValuePairGroup is not wrapped by div tag, because it ruins a11y compatibility for dl -> dt/dd\n * */\n <InternalKeyValuePairGroup\n key={index}\n label={\n pair.title && (\n <Box variant=\"h3\" padding=\"n\">\n {pair.title}\n </Box>\n )\n }\n value={\n <dl className={styles['group-list']}>\n {pair.items.map((item, itemIndex) => (\n <div key={itemIndex} className={styles['group-list-item']}>\n <InternalKeyValuePair {...item} />\n </div>\n ))}\n </dl>\n }\n />\n );\n }\n\n return <InternalKeyValuePair key={index} {...pair} />;\n })}\n </ColumnLayout>\n </div>\n </LinkDefaultVariantContext.Provider>\n );\n }\n);\n\nexport default InternalKeyValuePairs;\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 from 'react';
6
5
  import clsx from 'clsx';
7
6
  import { getBaseProps } from '../internal/base-component';
@@ -9,8 +8,7 @@ import useBaseComponent from '../internal/hooks/use-base-component';
9
8
  import { applyDisplayName } from '../internal/utils/apply-display-name';
10
9
  import InternalMixedLineBarChart from '../mixed-line-bar-chart/internal';
11
10
  import styles from './styles.css.js';
12
- function LineChart(_a) {
13
- var { series = [], height = 500, xScaleType = 'linear', yScaleType = 'linear', detailPopoverSize = 'medium', statusType = 'finished', emphasizeBaselineAxis = true } = _a, props = __rest(_a, ["series", "height", "xScaleType", "yScaleType", "detailPopoverSize", "statusType", "emphasizeBaselineAxis"]);
11
+ function LineChart({ series = [], height = 500, xScaleType = 'linear', yScaleType = 'linear', detailPopoverSize = 'medium', statusType = 'finished', emphasizeBaselineAxis = true, ...props }) {
14
12
  const baseComponentProps = useBaseComponent('LineChart', {
15
13
  props: {
16
14
  detailPopoverSize,
@@ -24,7 +22,7 @@ function LineChart(_a) {
24
22
  });
25
23
  const baseProps = getBaseProps(props);
26
24
  const className = clsx(baseProps.className, styles.root);
27
- return (React.createElement(InternalMixedLineBarChart, Object.assign({}, props, baseComponentProps, { className: className, height: height, xScaleType: xScaleType, yScaleType: yScaleType, stackedBars: false, horizontalBars: false, series: series, detailPopoverSize: detailPopoverSize, statusType: statusType, emphasizeBaselineAxis: emphasizeBaselineAxis })));
25
+ return (React.createElement(InternalMixedLineBarChart, { ...props, ...baseComponentProps, className: className, height: height, xScaleType: xScaleType, yScaleType: yScaleType, stackedBars: false, horizontalBars: false, series: series, detailPopoverSize: detailPopoverSize, statusType: statusType, emphasizeBaselineAxis: emphasizeBaselineAxis }));
28
26
  }
29
27
  applyDisplayName(LineChart, 'LineChart');
30
28
  export default LineChart;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/line-chart/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;AACxE,OAAO,yBAAyB,MAAM,kCAAkC,CAAC;AAGzE,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAIrC,SAAS,SAAS,CAAmC,EASjC;QATiC,EACnD,MAAM,GAAG,EAAE,EACX,MAAM,GAAG,GAAG,EACZ,UAAU,GAAG,QAAQ,EACrB,UAAU,GAAG,QAAQ,EACrB,iBAAiB,GAAG,QAAQ,EAC5B,UAAU,GAAG,UAAU,EACvB,qBAAqB,GAAG,IAAI,OAEV,EADf,KAAK,cAR2C,4GASpD,CADS;IAER,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,WAAW,EAAE;QACvD,KAAK,EAAE;YACL,iBAAiB;YACjB,qBAAqB;YACrB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU;YACV,UAAU;SACX;KACF,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAEzD,OAAO,CACL,oBAAC,yBAAyB,oBACpB,KAAK,EACL,kBAAkB,IACtB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,KAAK,EAClB,cAAc,EAAE,KAAK,EACrB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,UAAU,EACtB,qBAAqB,EAAE,qBAAqB,IAC5C,CACH,CAAC;AACJ,CAAC;AAED,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AAEzC,eAAe,SAAS,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 InternalMixedLineBarChart from '../mixed-line-bar-chart/internal';\nimport { LineChartProps } from './interfaces';\n\nimport styles from './styles.css.js';\n\nexport { LineChartProps };\n\nfunction LineChart<T extends number | string | Date>({\n series = [],\n height = 500,\n xScaleType = 'linear',\n yScaleType = 'linear',\n detailPopoverSize = 'medium',\n statusType = 'finished',\n emphasizeBaselineAxis = true,\n ...props\n}: LineChartProps<T>) {\n const baseComponentProps = useBaseComponent('LineChart', {\n props: {\n detailPopoverSize,\n emphasizeBaselineAxis,\n fitHeight: props.fitHeight,\n hideFilter: props.hideFilter,\n hideLegend: props.hideLegend,\n xScaleType,\n yScaleType,\n },\n });\n const baseProps = getBaseProps(props);\n const className = clsx(baseProps.className, styles.root);\n\n return (\n <InternalMixedLineBarChart\n {...props}\n {...baseComponentProps}\n className={className}\n height={height}\n xScaleType={xScaleType}\n yScaleType={yScaleType}\n stackedBars={false}\n horizontalBars={false}\n series={series}\n detailPopoverSize={detailPopoverSize}\n statusType={statusType}\n emphasizeBaselineAxis={emphasizeBaselineAxis}\n />\n );\n}\n\napplyDisplayName(LineChart, 'LineChart');\n\nexport default LineChart;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/line-chart/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;AACxE,OAAO,yBAAyB,MAAM,kCAAkC,CAAC;AAGzE,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAIrC,SAAS,SAAS,CAAmC,EACnD,MAAM,GAAG,EAAE,EACX,MAAM,GAAG,GAAG,EACZ,UAAU,GAAG,QAAQ,EACrB,UAAU,GAAG,QAAQ,EACrB,iBAAiB,GAAG,QAAQ,EAC5B,UAAU,GAAG,UAAU,EACvB,qBAAqB,GAAG,IAAI,EAC5B,GAAG,KAAK,EACU;IAClB,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,WAAW,EAAE;QACvD,KAAK,EAAE;YACL,iBAAiB;YACjB,qBAAqB;YACrB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,UAAU;YACV,UAAU;SACX;KACF,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAEzD,OAAO,CACL,oBAAC,yBAAyB,OACpB,KAAK,KACL,kBAAkB,EACtB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,KAAK,EAClB,cAAc,EAAE,KAAK,EACrB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,iBAAiB,EACpC,UAAU,EAAE,UAAU,EACtB,qBAAqB,EAAE,qBAAqB,GAC5C,CACH,CAAC;AACJ,CAAC;AAED,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AAEzC,eAAe,SAAS,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 InternalMixedLineBarChart from '../mixed-line-bar-chart/internal';\nimport { LineChartProps } from './interfaces';\n\nimport styles from './styles.css.js';\n\nexport { LineChartProps };\n\nfunction LineChart<T extends number | string | Date>({\n series = [],\n height = 500,\n xScaleType = 'linear',\n yScaleType = 'linear',\n detailPopoverSize = 'medium',\n statusType = 'finished',\n emphasizeBaselineAxis = true,\n ...props\n}: LineChartProps<T>) {\n const baseComponentProps = useBaseComponent('LineChart', {\n props: {\n detailPopoverSize,\n emphasizeBaselineAxis,\n fitHeight: props.fitHeight,\n hideFilter: props.hideFilter,\n hideLegend: props.hideLegend,\n xScaleType,\n yScaleType,\n },\n });\n const baseProps = getBaseProps(props);\n const className = clsx(baseProps.className, styles.root);\n\n return (\n <InternalMixedLineBarChart\n {...props}\n {...baseComponentProps}\n className={className}\n height={height}\n xScaleType={xScaleType}\n yScaleType={yScaleType}\n stackedBars={false}\n horizontalBars={false}\n series={series}\n detailPopoverSize={detailPopoverSize}\n statusType={statusType}\n emphasizeBaselineAxis={emphasizeBaselineAxis}\n />\n );\n}\n\napplyDisplayName(LineChart, 'LineChart');\n\nexport default LineChart;\n"]}
@@ -1,14 +1,12 @@
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 { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';
7
6
  import useBaseComponent from '../internal/hooks/use-base-component';
8
7
  import { applyDisplayName } from '../internal/utils/apply-display-name';
9
8
  import InternalLink from './internal';
10
- const Link = React.forwardRef((_a, ref) => {
11
- var { fontSize = 'body-m', color = 'normal', external = false, style } = _a, props = __rest(_a, ["fontSize", "color", "external", "style"]);
9
+ const Link = React.forwardRef(({ fontSize = 'body-m', color = 'normal', external = false, style, ...props }, ref) => {
12
10
  const baseComponentProps = useBaseComponent('Link', {
13
11
  props: { color, external, fontSize, rel: props.rel, target: props.target, variant: props.variant },
14
12
  });
@@ -27,7 +25,7 @@ const Link = React.forwardRef((_a, ref) => {
27
25
  if (props.href) {
28
26
  analyticsMetadata.detail.href = props.href;
29
27
  }
30
- return (React.createElement(InternalLink, Object.assign({ fontSize: fontSize, color: color, external: external }, props, baseComponentProps, { ref: ref }, getAnalyticsMetadataAttribute(analyticsMetadata), { style: style })));
28
+ return (React.createElement(InternalLink, { fontSize: fontSize, color: color, external: external, ...props, ...baseComponentProps, ref: ref, ...getAnalyticsMetadataAttribute(analyticsMetadata), style: style }));
31
29
  });
32
30
  applyDisplayName(Link, 'Link');
33
31
  export default Link;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/link/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,YAAY,CAAC;;AACb,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,6BAA6B,EAAE,MAAM,kEAAkE,CAAC;AAEjH,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,OAAO,YAAY,MAAM,YAAY,CAAC;AAItC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAC3B,CACE,EAAuF,EACvF,GAA6B,EAC7B,EAAE;QAFF,EAAE,QAAQ,GAAG,QAAQ,EAAE,KAAK,GAAG,QAAQ,EAAE,QAAQ,GAAG,KAAK,EAAE,KAAK,OAAuB,EAAlB,KAAK,cAA1E,0CAA4E,CAAF;IAG1E,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,MAAM,EAAE;QAClD,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;KACnG,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAA2C;QAChE,MAAM,EAAE,OAAO;QACf,MAAM,EAAE;YACN,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACvB,QAAQ,EAAE,GAAG,QAAQ,EAAE;SACxB;QACD,SAAS,EAAE;YACT,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACvB,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,WAAW,EAAE;SACtD;KACF,CAAC;IAEF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,iBAAiB,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAC7C,CAAC;IAED,OAAO,CACL,oBAAC,YAAY,kBACX,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,IACd,KAAK,EACL,kBAAkB,IACtB,GAAG,EAAE,GAAG,IACJ,6BAA6B,CAAC,iBAAiB,CAAC,IACpD,KAAK,EAAE,KAAK,IACZ,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC/B,eAAe,IAAI,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';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { GeneratedAnalyticsMetadataLinkFragment } from './analytics-metadata/interfaces';\nimport { LinkProps } from './interfaces';\nimport InternalLink from './internal';\n\nexport { LinkProps };\n\nconst Link = React.forwardRef(\n (\n { fontSize = 'body-m', color = 'normal', external = false, style, ...props }: LinkProps,\n ref: React.Ref<LinkProps.Ref>\n ) => {\n const baseComponentProps = useBaseComponent('Link', {\n props: { color, external, fontSize, rel: props.rel, target: props.target, variant: props.variant },\n });\n\n const analyticsMetadata: GeneratedAnalyticsMetadataLinkFragment = {\n action: 'click',\n detail: {\n label: { root: 'self' },\n external: `${external}`,\n },\n component: {\n name: 'awsui.Link',\n label: { root: 'self' },\n properties: { variant: props.variant || 'secondary' },\n },\n };\n\n if (props.href) {\n analyticsMetadata.detail.href = props.href;\n }\n\n return (\n <InternalLink\n fontSize={fontSize}\n color={color}\n external={external}\n {...props}\n {...baseComponentProps}\n ref={ref}\n {...getAnalyticsMetadataAttribute(analyticsMetadata)}\n style={style}\n />\n );\n }\n);\n\napplyDisplayName(Link, 'Link');\nexport default Link;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/link/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,YAAY,CAAC;AACb,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,6BAA6B,EAAE,MAAM,kEAAkE,CAAC;AAEjH,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,OAAO,YAAY,MAAM,YAAY,CAAC;AAItC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAC3B,CACE,EAAE,QAAQ,GAAG,QAAQ,EAAE,KAAK,GAAG,QAAQ,EAAE,QAAQ,GAAG,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,EAAa,EACvF,GAA6B,EAC7B,EAAE;IACF,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,MAAM,EAAE;QAClD,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;KACnG,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAA2C;QAChE,MAAM,EAAE,OAAO;QACf,MAAM,EAAE;YACN,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACvB,QAAQ,EAAE,GAAG,QAAQ,EAAE;SACxB;QACD,SAAS,EAAE;YACT,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACvB,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,WAAW,EAAE;SACtD;KACF,CAAC;IAEF,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,iBAAiB,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAC7C,CAAC;IAED,OAAO,CACL,oBAAC,YAAY,IACX,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,KACd,KAAK,KACL,kBAAkB,EACtB,GAAG,EAAE,GAAG,KACJ,6BAA6B,CAAC,iBAAiB,CAAC,EACpD,KAAK,EAAE,KAAK,GACZ,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC/B,eAAe,IAAI,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';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { GeneratedAnalyticsMetadataLinkFragment } from './analytics-metadata/interfaces';\nimport { LinkProps } from './interfaces';\nimport InternalLink from './internal';\n\nexport { LinkProps };\n\nconst Link = React.forwardRef(\n (\n { fontSize = 'body-m', color = 'normal', external = false, style, ...props }: LinkProps,\n ref: React.Ref<LinkProps.Ref>\n ) => {\n const baseComponentProps = useBaseComponent('Link', {\n props: { color, external, fontSize, rel: props.rel, target: props.target, variant: props.variant },\n });\n\n const analyticsMetadata: GeneratedAnalyticsMetadataLinkFragment = {\n action: 'click',\n detail: {\n label: { root: 'self' },\n external: `${external}`,\n },\n component: {\n name: 'awsui.Link',\n label: { root: 'self' },\n properties: { variant: props.variant || 'secondary' },\n },\n };\n\n if (props.href) {\n analyticsMetadata.detail.href = props.href;\n }\n\n return (\n <InternalLink\n fontSize={fontSize}\n color={color}\n external={external}\n {...props}\n {...baseComponentProps}\n ref={ref}\n {...getAnalyticsMetadataAttribute(analyticsMetadata)}\n style={style}\n />\n );\n }\n);\n\napplyDisplayName(Link, 'Link');\nexport default Link;\n"]}