@cloudscape-design/components 3.0.1126 → 3.0.1127

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 (1606) hide show
  1. package/alert/actions-wrapper/index.d.ts.map +1 -1
  2. package/alert/actions-wrapper/index.js.map +1 -1
  3. package/alert/internal-do-not-use-core.js.map +1 -1
  4. package/alert/internal.d.ts +2 -2
  5. package/alert/internal.d.ts.map +1 -1
  6. package/alert/internal.js.map +1 -1
  7. package/alert/style.d.ts +2 -1
  8. package/alert/style.d.ts.map +1 -1
  9. package/alert/style.js.map +1 -1
  10. package/anchor-navigation/anchor-item/index.d.ts.map +1 -1
  11. package/anchor-navigation/anchor-item/index.js.map +1 -1
  12. package/anchor-navigation/index.d.ts +0 -1
  13. package/anchor-navigation/index.d.ts.map +1 -1
  14. package/anchor-navigation/internal.d.ts +0 -1
  15. package/anchor-navigation/internal.d.ts.map +1 -1
  16. package/anchor-navigation/internal.js.map +1 -1
  17. package/anchor-navigation/use-scroll-spy.js.map +1 -1
  18. package/anchor-navigation/utils.d.ts.map +1 -1
  19. package/anchor-navigation/utils.js.map +1 -1
  20. package/annotation-context/annotation/annotation-icon.d.ts +0 -1
  21. package/annotation-context/annotation/annotation-icon.d.ts.map +1 -1
  22. package/annotation-context/annotation/annotation-icon.js.map +1 -1
  23. package/annotation-context/annotation/closed-annotation.d.ts +0 -1
  24. package/annotation-context/annotation/closed-annotation.d.ts.map +1 -1
  25. package/annotation-context/annotation/closed-annotation.js.map +1 -1
  26. package/annotation-context/index.d.ts +0 -1
  27. package/annotation-context/index.d.ts.map +1 -1
  28. package/annotation-context/index.js.map +1 -1
  29. package/annotation-context/interfaces.d.ts +0 -1
  30. package/annotation-context/interfaces.d.ts.map +1 -1
  31. package/annotation-context/utils.js.map +1 -1
  32. package/app-layout/classic.js.map +1 -1
  33. package/app-layout/content-wrapper/index.js.map +1 -1
  34. package/app-layout/drawer/drawers-helpers.js.map +1 -1
  35. package/app-layout/drawer/index.d.ts.map +1 -1
  36. package/app-layout/drawer/index.js.map +1 -1
  37. package/app-layout/drawer/overflow-menu.d.ts +0 -1
  38. package/app-layout/drawer/overflow-menu.d.ts.map +1 -1
  39. package/app-layout/drawer/overflow-menu.js.map +1 -1
  40. package/app-layout/drawer/resizable-drawer.d.ts +0 -1
  41. package/app-layout/drawer/resizable-drawer.d.ts.map +1 -1
  42. package/app-layout/drawer/resizable-drawer.js.map +1 -1
  43. package/app-layout/index.js.map +1 -1
  44. package/app-layout/internal.js.map +1 -1
  45. package/app-layout/mobile-toolbar/index.js.map +1 -1
  46. package/app-layout/runtime-drawer/index.d.ts +4 -4
  47. package/app-layout/runtime-drawer/index.d.ts.map +1 -1
  48. package/app-layout/runtime-drawer/index.js.map +1 -1
  49. package/app-layout/runtime-drawer/use-runtime-drawer-context.d.ts.map +1 -1
  50. package/app-layout/runtime-drawer/use-runtime-drawer-context.js.map +1 -1
  51. package/app-layout/split-panel/provider.js.map +1 -1
  52. package/app-layout/split-panel/split-panel-forced-position.js.map +1 -1
  53. package/app-layout/toggles/index.d.ts.map +1 -1
  54. package/app-layout/utils/sticky-offsets.d.ts +3 -1
  55. package/app-layout/utils/sticky-offsets.d.ts.map +1 -1
  56. package/app-layout/utils/use-app-layout-placement.d.ts +0 -1
  57. package/app-layout/utils/use-app-layout-placement.d.ts.map +1 -1
  58. package/app-layout/utils/use-app-layout-placement.js.map +1 -1
  59. package/app-layout/utils/use-drawers.d.ts.map +1 -1
  60. package/app-layout/utils/use-drawers.js.map +1 -1
  61. package/app-layout/utils/use-focus-control.js.map +1 -1
  62. package/app-layout/utils/use-global-scroll-padding.js.map +1 -1
  63. package/app-layout/utils/use-keyboard-events.d.ts.map +1 -1
  64. package/app-layout/utils/use-keyboard-events.js.map +1 -1
  65. package/app-layout/utils/use-pointer-events.d.ts.map +1 -1
  66. package/app-layout/utils/use-pointer-events.js.map +1 -1
  67. package/app-layout/utils/use-resize.js.map +1 -1
  68. package/app-layout/utils/use-split-panel-focus-control.js.map +1 -1
  69. package/app-layout/utils/visibility-context.d.ts +0 -1
  70. package/app-layout/utils/visibility-context.d.ts.map +1 -1
  71. package/app-layout/visual-refresh/background.d.ts +0 -1
  72. package/app-layout/visual-refresh/background.d.ts.map +1 -1
  73. package/app-layout/visual-refresh/background.js.map +1 -1
  74. package/app-layout/visual-refresh/breadcrumbs.d.ts +0 -1
  75. package/app-layout/visual-refresh/breadcrumbs.d.ts.map +1 -1
  76. package/app-layout/visual-refresh/breadcrumbs.js.map +1 -1
  77. package/app-layout/visual-refresh/context.js.map +1 -1
  78. package/app-layout/visual-refresh/drawers.d.ts +0 -1
  79. package/app-layout/visual-refresh/drawers.d.ts.map +1 -1
  80. package/app-layout/visual-refresh/drawers.js.map +1 -1
  81. package/app-layout/visual-refresh/header.d.ts +0 -1
  82. package/app-layout/visual-refresh/header.d.ts.map +1 -1
  83. package/app-layout/visual-refresh/header.js.map +1 -1
  84. package/app-layout/visual-refresh/layout.js.map +1 -1
  85. package/app-layout/visual-refresh/main.d.ts +0 -1
  86. package/app-layout/visual-refresh/main.d.ts.map +1 -1
  87. package/app-layout/visual-refresh/mobile-toolbar.d.ts +0 -1
  88. package/app-layout/visual-refresh/mobile-toolbar.d.ts.map +1 -1
  89. package/app-layout/visual-refresh/mobile-toolbar.js.map +1 -1
  90. package/app-layout/visual-refresh/navigation.d.ts +0 -1
  91. package/app-layout/visual-refresh/navigation.d.ts.map +1 -1
  92. package/app-layout/visual-refresh/navigation.js.map +1 -1
  93. package/app-layout/visual-refresh/notifications.d.ts +0 -1
  94. package/app-layout/visual-refresh/notifications.d.ts.map +1 -1
  95. package/app-layout/visual-refresh/notifications.js.map +1 -1
  96. package/app-layout/visual-refresh/split-panel.js.map +1 -1
  97. package/app-layout/visual-refresh/tools.js.map +1 -1
  98. package/app-layout/visual-refresh/use-background-overlap.js.map +1 -1
  99. package/app-layout/visual-refresh-toolbar/compute-layout.js.map +1 -1
  100. package/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.js.map +1 -1
  101. package/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.d.ts +0 -1
  102. package/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.d.ts.map +1 -1
  103. package/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.js.map +1 -1
  104. package/app-layout/visual-refresh-toolbar/drawer/global-drawer.d.ts +0 -1
  105. package/app-layout/visual-refresh-toolbar/drawer/global-drawer.d.ts.map +1 -1
  106. package/app-layout/visual-refresh-toolbar/drawer/global-drawer.js.map +1 -1
  107. package/app-layout/visual-refresh-toolbar/drawer/global-drawers.d.ts +0 -1
  108. package/app-layout/visual-refresh-toolbar/drawer/global-drawers.d.ts.map +1 -1
  109. package/app-layout/visual-refresh-toolbar/drawer/global-drawers.js.map +1 -1
  110. package/app-layout/visual-refresh-toolbar/drawer/local-drawer.d.ts +0 -1
  111. package/app-layout/visual-refresh-toolbar/drawer/local-drawer.d.ts.map +1 -1
  112. package/app-layout/visual-refresh-toolbar/drawer/local-drawer.js.map +1 -1
  113. package/app-layout/visual-refresh-toolbar/drawer/use-resize.js.map +1 -1
  114. package/app-layout/visual-refresh-toolbar/internal.d.ts +0 -1
  115. package/app-layout/visual-refresh-toolbar/internal.d.ts.map +1 -1
  116. package/app-layout/visual-refresh-toolbar/navigation/index.d.ts +0 -1
  117. package/app-layout/visual-refresh-toolbar/navigation/index.d.ts.map +1 -1
  118. package/app-layout/visual-refresh-toolbar/navigation/index.js.map +1 -1
  119. package/app-layout/visual-refresh-toolbar/skeleton/index.d.ts +0 -1
  120. package/app-layout/visual-refresh-toolbar/skeleton/index.d.ts.map +1 -1
  121. package/app-layout/visual-refresh-toolbar/skeleton/multi-layout.js.map +1 -1
  122. package/app-layout/visual-refresh-toolbar/state/index.d.ts.map +1 -1
  123. package/app-layout/visual-refresh-toolbar/state/index.js.map +1 -1
  124. package/app-layout/visual-refresh-toolbar/state/props-merger.d.ts.map +1 -1
  125. package/app-layout/visual-refresh-toolbar/state/props-merger.js.map +1 -1
  126. package/app-layout/visual-refresh-toolbar/state/use-ai-drawer.d.ts +10 -11
  127. package/app-layout/visual-refresh-toolbar/state/use-ai-drawer.d.ts.map +1 -1
  128. package/app-layout/visual-refresh-toolbar/state/use-ai-drawer.js.map +1 -1
  129. package/app-layout/visual-refresh-toolbar/state/use-app-layout.d.ts.map +1 -1
  130. package/app-layout/visual-refresh-toolbar/state/use-app-layout.js.map +1 -1
  131. package/app-layout/visual-refresh-toolbar/state/use-bottom-drawers.d.ts +10 -10
  132. package/app-layout/visual-refresh-toolbar/state/use-bottom-drawers.d.ts.map +1 -1
  133. package/app-layout/visual-refresh-toolbar/state/use-bottom-drawers.js.map +1 -1
  134. package/app-layout/visual-refresh-toolbar/state/use-skeleton-slots-attributes.d.ts.map +1 -1
  135. package/app-layout/visual-refresh-toolbar/state/use-widget-messages.js.map +1 -1
  136. package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js.map +1 -1
  137. package/app-layout/visual-refresh-toolbar/toolbar/index.js.map +1 -1
  138. package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.js.map +1 -1
  139. package/app-layout/visual-refresh-toolbar/widget-areas/after-main-slot.d.ts +0 -1
  140. package/app-layout/visual-refresh-toolbar/widget-areas/after-main-slot.d.ts.map +1 -1
  141. package/app-layout/visual-refresh-toolbar/widget-areas/after-main-slot.js.map +1 -1
  142. package/app-layout/visual-refresh-toolbar/widget-areas/before-main-slot.d.ts +0 -1
  143. package/app-layout/visual-refresh-toolbar/widget-areas/before-main-slot.d.ts.map +1 -1
  144. package/app-layout/visual-refresh-toolbar/widget-areas/before-main-slot.js.map +1 -1
  145. package/app-layout/visual-refresh-toolbar/widget-areas/bottom-content-slot.d.ts +0 -1
  146. package/app-layout/visual-refresh-toolbar/widget-areas/bottom-content-slot.d.ts.map +1 -1
  147. package/app-layout/visual-refresh-toolbar/widget-areas/bottom-content-slot.js.map +1 -1
  148. package/app-layout/visual-refresh-toolbar/widget-areas/top-content-slot.d.ts +0 -1
  149. package/app-layout/visual-refresh-toolbar/widget-areas/top-content-slot.d.ts.map +1 -1
  150. package/app-layout/visual-refresh-toolbar/widget-areas/top-content-slot.js.map +1 -1
  151. package/app-layout-toolbar/index.js.map +1 -1
  152. package/area-chart/async-store/index.js.map +1 -1
  153. package/area-chart/chart-container.d.ts +0 -1
  154. package/area-chart/chart-container.d.ts.map +1 -1
  155. package/area-chart/elements/area-chart-filter.d.ts +0 -1
  156. package/area-chart/elements/area-chart-filter.d.ts.map +1 -1
  157. package/area-chart/elements/area-chart-legend.d.ts.map +1 -1
  158. package/area-chart/elements/area-series.d.ts +0 -1
  159. package/area-chart/elements/area-series.d.ts.map +1 -1
  160. package/area-chart/elements/chart-popover.js.map +1 -1
  161. package/area-chart/elements/data-series.d.ts +0 -1
  162. package/area-chart/elements/data-series.d.ts.map +1 -1
  163. package/area-chart/elements/data-series.js.map +1 -1
  164. package/area-chart/elements/highlighted-point.d.ts +1 -1
  165. package/area-chart/elements/highlighted-point.d.ts.map +1 -1
  166. package/area-chart/elements/threshold-series.d.ts +0 -1
  167. package/area-chart/elements/threshold-series.d.ts.map +1 -1
  168. package/area-chart/elements/use-highlight-details.js.map +1 -1
  169. package/area-chart/elements/vertical-marker.d.ts +0 -1
  170. package/area-chart/elements/vertical-marker.d.ts.map +1 -1
  171. package/area-chart/index.d.ts +0 -1
  172. package/area-chart/index.d.ts.map +1 -1
  173. package/area-chart/internal.d.ts +0 -1
  174. package/area-chart/internal.d.ts.map +1 -1
  175. package/area-chart/internal.js.map +1 -1
  176. package/area-chart/model/create-series-decorator.d.ts.map +1 -1
  177. package/area-chart/model/use-chart-model.js.map +1 -1
  178. package/area-chart/model/use-filter-props.js.map +1 -1
  179. package/area-chart/model/use-highlight-props.js.map +1 -1
  180. package/area-chart/model/utils.js.map +1 -1
  181. package/attribute-editor/additional-info.d.ts.map +1 -1
  182. package/attribute-editor/index.d.ts.map +1 -1
  183. package/attribute-editor/internal.d.ts.map +1 -1
  184. package/attribute-editor/internal.js.map +1 -1
  185. package/attribute-editor/row.d.ts.map +1 -1
  186. package/attribute-editor/row.js.map +1 -1
  187. package/attribute-editor/utils.js.map +1 -1
  188. package/autosuggest/autosuggest-option.js.map +1 -1
  189. package/autosuggest/internal.js.map +1 -1
  190. package/autosuggest/load-more-controller.d.ts.map +1 -1
  191. package/autosuggest/load-more-controller.js.map +1 -1
  192. package/autosuggest/options-controller.d.ts.map +1 -1
  193. package/autosuggest/options-controller.js.map +1 -1
  194. package/autosuggest/options-list.js.map +1 -1
  195. package/autosuggest/plain-list.d.ts +3 -3
  196. package/autosuggest/plain-list.d.ts.map +1 -1
  197. package/autosuggest/plain-list.js.map +1 -1
  198. package/autosuggest/utils/utils.d.ts.map +1 -1
  199. package/autosuggest/utils/utils.js.map +1 -1
  200. package/autosuggest/virtual-list.d.ts +0 -1
  201. package/autosuggest/virtual-list.d.ts.map +1 -1
  202. package/autosuggest/virtual-list.js.map +1 -1
  203. package/badge/index.d.ts +0 -1
  204. package/badge/index.d.ts.map +1 -1
  205. package/badge/style.js.map +1 -1
  206. package/bar-chart/index.d.ts +0 -1
  207. package/bar-chart/index.d.ts.map +1 -1
  208. package/box/index.d.ts +0 -1
  209. package/box/index.d.ts.map +1 -1
  210. package/box/interfaces.d.ts +0 -1
  211. package/box/interfaces.d.ts.map +1 -1
  212. package/box/internal.d.ts +0 -1
  213. package/box/internal.d.ts.map +1 -1
  214. package/box/internal.js.map +1 -1
  215. package/breadcrumb-group/all-items-dropdown.d.ts +0 -1
  216. package/breadcrumb-group/all-items-dropdown.d.ts.map +1 -1
  217. package/breadcrumb-group/all-items-dropdown.js.map +1 -1
  218. package/breadcrumb-group/implementation.d.ts +0 -1
  219. package/breadcrumb-group/implementation.d.ts.map +1 -1
  220. package/breadcrumb-group/implementation.js +1 -1
  221. package/breadcrumb-group/implementation.js.map +1 -1
  222. package/breadcrumb-group/index.d.ts +0 -1
  223. package/breadcrumb-group/index.d.ts.map +1 -1
  224. package/breadcrumb-group/index.js.map +1 -1
  225. package/breadcrumb-group/item/funnel.js.map +1 -1
  226. package/breadcrumb-group/item/item.d.ts +0 -1
  227. package/breadcrumb-group/item/item.d.ts.map +1 -1
  228. package/breadcrumb-group/item/item.js.map +1 -1
  229. package/breadcrumb-group/skeleton.d.ts +1 -1
  230. package/breadcrumb-group/utils.d.ts.map +1 -1
  231. package/breadcrumb-group/utils.js.map +1 -1
  232. package/button/icon-helper.js.map +1 -1
  233. package/button/internal.d.ts +9 -9
  234. package/button/internal.d.ts.map +1 -1
  235. package/button/internal.js.map +1 -1
  236. package/button/style.js.map +1 -1
  237. package/button-dropdown/category-elements/category-element.d.ts +0 -1
  238. package/button-dropdown/category-elements/category-element.d.ts.map +1 -1
  239. package/button-dropdown/category-elements/expandable-category-element.d.ts +0 -1
  240. package/button-dropdown/category-elements/expandable-category-element.d.ts.map +1 -1
  241. package/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
  242. package/button-dropdown/category-elements/mobile-expandable-category-element.d.ts +0 -1
  243. package/button-dropdown/category-elements/mobile-expandable-category-element.d.ts.map +1 -1
  244. package/button-dropdown/category-elements/mobile-expandable-category-element.js.map +1 -1
  245. package/button-dropdown/internal.js.map +1 -1
  246. package/button-dropdown/item-element/index.d.ts +0 -1
  247. package/button-dropdown/item-element/index.d.ts.map +1 -1
  248. package/button-dropdown/item-element/index.js.map +1 -1
  249. package/button-dropdown/items-list.d.ts +0 -1
  250. package/button-dropdown/items-list.d.ts.map +1 -1
  251. package/button-dropdown/items-list.js.map +1 -1
  252. package/button-dropdown/mobile-expandable-group/mobile-expandable-group.d.ts.map +1 -1
  253. package/button-dropdown/tooltip.js.map +1 -1
  254. package/button-dropdown/utils/create-items-tree.js.map +1 -1
  255. package/button-dropdown/utils/move-highlight.js.map +1 -1
  256. package/button-dropdown/utils/use-button-dropdown.js.map +1 -1
  257. package/button-dropdown/utils/use-highlighted-menu.js.map +1 -1
  258. package/button-dropdown/utils/utils.d.ts.map +1 -1
  259. package/button-dropdown/utils/utils.js.map +1 -1
  260. package/button-group/icon-button-item.js.map +1 -1
  261. package/button-group/icon-toggle-button-item.js.map +1 -1
  262. package/button-group/interfaces.d.ts +0 -1
  263. package/button-group/interfaces.d.ts.map +1 -1
  264. package/button-group/internal-do-not-use-core.js.map +1 -1
  265. package/button-group/internal.js.map +1 -1
  266. package/button-group/item-element.js.map +1 -1
  267. package/button-group/style.js.map +1 -1
  268. package/calendar/grid/calendar-grid-header.d.ts +0 -1
  269. package/calendar/grid/calendar-grid-header.d.ts.map +1 -1
  270. package/calendar/grid/index.js.map +1 -1
  271. package/calendar/grid/use-calendar-grid-keyboard-navigation.d.ts.map +1 -1
  272. package/calendar/grid/use-calendar-grid-keyboard-navigation.js.map +1 -1
  273. package/calendar/grid/use-calendar-grid-rows.js.map +1 -1
  274. package/calendar/header/header-button.d.ts +0 -1
  275. package/calendar/header/header-button.d.ts.map +1 -1
  276. package/calendar/header/index.d.ts +0 -1
  277. package/calendar/header/index.d.ts.map +1 -1
  278. package/calendar/index.d.ts +0 -1
  279. package/calendar/index.d.ts.map +1 -1
  280. package/calendar/internal.d.ts +0 -1
  281. package/calendar/internal.d.ts.map +1 -1
  282. package/calendar/internal.js.map +1 -1
  283. package/calendar/use-calendar-labels.js.map +1 -1
  284. package/calendar/utils/intl.js.map +1 -1
  285. package/calendar/utils/navigation-day.js.map +1 -1
  286. package/calendar/utils/navigation-month.js.map +1 -1
  287. package/cards/cards-layout-helper.d.ts.map +1 -1
  288. package/cards/cards-layout-helper.js.map +1 -1
  289. package/cards/index.d.ts.map +1 -1
  290. package/cards/index.js.map +1 -1
  291. package/checkbox/internal.js.map +1 -1
  292. package/checkbox/style.js.map +1 -1
  293. package/code-editor/error-screen.d.ts.map +1 -1
  294. package/code-editor/index.js.map +1 -1
  295. package/code-editor/listeners.js.map +1 -1
  296. package/code-editor/loading-screen.d.ts.map +1 -1
  297. package/code-editor/pane.d.ts +0 -1
  298. package/code-editor/pane.d.ts.map +1 -1
  299. package/code-editor/pane.js.map +1 -1
  300. package/code-editor/preferences-modal.d.ts +0 -1
  301. package/code-editor/preferences-modal.d.ts.map +1 -1
  302. package/code-editor/resizable-box/index.js.map +1 -1
  303. package/code-editor/setup-editor.js.map +1 -1
  304. package/code-editor/use-editor.d.ts +0 -2
  305. package/code-editor/use-editor.d.ts.map +1 -1
  306. package/code-editor/use-editor.js.map +1 -1
  307. package/code-editor/util.d.ts +2 -2
  308. package/code-editor/util.js.map +1 -1
  309. package/collection-preferences/analytics-metadata/utils.d.ts +1 -1
  310. package/collection-preferences/analytics-metadata/utils.d.ts.map +1 -1
  311. package/collection-preferences/analytics-metadata/utils.js.map +1 -1
  312. package/collection-preferences/content-display/content-display-option.d.ts.map +1 -1
  313. package/collection-preferences/content-display/index.d.ts +0 -1
  314. package/collection-preferences/content-display/index.d.ts.map +1 -1
  315. package/collection-preferences/content-display/utils.js.map +1 -1
  316. package/collection-preferences/index.d.ts +0 -1
  317. package/collection-preferences/index.d.ts.map +1 -1
  318. package/collection-preferences/index.js.map +1 -1
  319. package/collection-preferences/interfaces.d.ts +0 -1
  320. package/collection-preferences/interfaces.d.ts.map +1 -1
  321. package/collection-preferences/utils.d.ts.map +1 -1
  322. package/collection-preferences/utils.js.map +1 -1
  323. package/collection-preferences/visible-content.d.ts +0 -1
  324. package/collection-preferences/visible-content.d.ts.map +1 -1
  325. package/collection-preferences/visible-content.js.map +1 -1
  326. package/column-layout/flexible-column-layout/index.js.map +1 -1
  327. package/column-layout/index.d.ts +0 -1
  328. package/column-layout/index.d.ts.map +1 -1
  329. package/column-layout/internal.d.ts +0 -1
  330. package/column-layout/internal.d.ts.map +1 -1
  331. package/column-layout/util.js.map +1 -1
  332. package/container/index.d.ts +0 -1
  333. package/container/index.d.ts.map +1 -1
  334. package/container/style.js.map +1 -1
  335. package/container/use-sticky-header.d.ts.map +1 -1
  336. package/container/use-sticky-header.js.map +1 -1
  337. package/content-layout/index.d.ts +0 -1
  338. package/content-layout/index.d.ts.map +1 -1
  339. package/content-layout/interfaces.d.ts +0 -1
  340. package/content-layout/interfaces.d.ts.map +1 -1
  341. package/content-layout/internal.d.ts +0 -1
  342. package/content-layout/internal.d.ts.map +1 -1
  343. package/copy-to-clipboard/index.d.ts +0 -1
  344. package/copy-to-clipboard/index.d.ts.map +1 -1
  345. package/copy-to-clipboard/internal.d.ts +0 -1
  346. package/copy-to-clipboard/internal.d.ts.map +1 -1
  347. package/copy-to-clipboard/internal.js.map +1 -1
  348. package/date-input/internal.d.ts +1 -1
  349. package/date-input/internal.d.ts.map +1 -1
  350. package/date-input/internal.js.map +1 -1
  351. package/date-input/utils.d.ts.map +1 -1
  352. package/date-input/utils.js.map +1 -1
  353. package/date-picker/index.js.map +1 -1
  354. package/date-range-picker/calendar/grids/grid-cell.js.map +1 -1
  355. package/date-range-picker/calendar/grids/grid.d.ts +0 -1
  356. package/date-range-picker/calendar/grids/grid.d.ts.map +1 -1
  357. package/date-range-picker/calendar/grids/grid.js.map +1 -1
  358. package/date-range-picker/calendar/grids/index.d.ts +0 -1
  359. package/date-range-picker/calendar/grids/index.d.ts.map +1 -1
  360. package/date-range-picker/calendar/grids/index.js.map +1 -1
  361. package/date-range-picker/calendar/grids/interfaces.d.ts +0 -1
  362. package/date-range-picker/calendar/grids/interfaces.d.ts.map +1 -1
  363. package/date-range-picker/calendar/grids/intl.js.map +1 -1
  364. package/date-range-picker/calendar/header/header-button.d.ts +0 -1
  365. package/date-range-picker/calendar/header/header-button.d.ts.map +1 -1
  366. package/date-range-picker/calendar/header/index.d.ts +0 -1
  367. package/date-range-picker/calendar/header/index.d.ts.map +1 -1
  368. package/date-range-picker/calendar/index.d.ts +0 -1
  369. package/date-range-picker/calendar/index.d.ts.map +1 -1
  370. package/date-range-picker/calendar/index.js.map +1 -1
  371. package/date-range-picker/calendar/interfaces.d.ts +0 -1
  372. package/date-range-picker/calendar/interfaces.d.ts.map +1 -1
  373. package/date-range-picker/calendar/range-inputs.d.ts +0 -1
  374. package/date-range-picker/calendar/range-inputs.d.ts.map +1 -1
  375. package/date-range-picker/calendar/utils.d.ts +2 -2
  376. package/date-range-picker/calendar/utils.d.ts.map +1 -1
  377. package/date-range-picker/calendar/utils.js.map +1 -1
  378. package/date-range-picker/dropdown.d.ts +0 -1
  379. package/date-range-picker/dropdown.d.ts.map +1 -1
  380. package/date-range-picker/dropdown.js.map +1 -1
  381. package/date-range-picker/index.js.map +1 -1
  382. package/date-range-picker/mode-switcher.d.ts +0 -1
  383. package/date-range-picker/mode-switcher.d.ts.map +1 -1
  384. package/date-range-picker/relative-range/index.d.ts +0 -1
  385. package/date-range-picker/relative-range/index.d.ts.map +1 -1
  386. package/date-range-picker/relative-range/index.js +2 -4
  387. package/date-range-picker/relative-range/index.js.map +1 -1
  388. package/date-range-picker/time-offset.js.map +1 -1
  389. package/date-range-picker/utils.js.map +1 -1
  390. package/drawer/implementation.d.ts +0 -1
  391. package/drawer/implementation.d.ts.map +1 -1
  392. package/drawer/index.d.ts +0 -1
  393. package/drawer/index.d.ts.map +1 -1
  394. package/expandable-section/expandable-section-container.d.ts.map +1 -1
  395. package/expandable-section/expandable-section-container.js.map +1 -1
  396. package/expandable-section/expandable-section-header.d.ts.map +1 -1
  397. package/expandable-section/expandable-section-header.js.map +1 -1
  398. package/expandable-section/index.d.ts +0 -1
  399. package/expandable-section/index.d.ts.map +1 -1
  400. package/expandable-section/internal.d.ts +0 -1
  401. package/expandable-section/internal.d.ts.map +1 -1
  402. package/expandable-section/internal.js.map +1 -1
  403. package/file-dropzone/index.d.ts +0 -1
  404. package/file-dropzone/index.d.ts.map +1 -1
  405. package/file-dropzone/interfaces.d.ts +0 -1
  406. package/file-dropzone/interfaces.d.ts.map +1 -1
  407. package/file-dropzone/internal.d.ts +0 -1
  408. package/file-dropzone/internal.d.ts.map +1 -1
  409. package/file-dropzone/internal.js.map +1 -1
  410. package/file-dropzone/use-files-dragging.js.map +1 -1
  411. package/file-input/internal.js.map +1 -1
  412. package/file-token-group/default-formatters.js.map +1 -1
  413. package/file-token-group/file-token.js.map +1 -1
  414. package/file-token-group/index.d.ts +0 -1
  415. package/file-token-group/index.d.ts.map +1 -1
  416. package/file-token-group/internal.d.ts +0 -1
  417. package/file-token-group/internal.d.ts.map +1 -1
  418. package/file-token-group/thumbnail.d.ts +0 -1
  419. package/file-token-group/thumbnail.d.ts.map +1 -1
  420. package/file-token-group/thumbnail.js.map +1 -1
  421. package/file-upload/interfaces.d.ts +0 -1
  422. package/file-upload/interfaces.d.ts.map +1 -1
  423. package/file-upload/internal.js.map +1 -1
  424. package/flashbar/analytics-metadata/utils.d.ts.map +1 -1
  425. package/flashbar/analytics-metadata/utils.js.map +1 -1
  426. package/flashbar/collapsible-flashbar.d.ts +0 -1
  427. package/flashbar/collapsible-flashbar.d.ts.map +1 -1
  428. package/flashbar/collapsible-flashbar.js.map +1 -1
  429. package/flashbar/common.d.ts +0 -1
  430. package/flashbar/common.d.ts.map +1 -1
  431. package/flashbar/common.js.map +1 -1
  432. package/flashbar/flash.d.ts.map +1 -1
  433. package/flashbar/flash.js.map +1 -1
  434. package/flashbar/implementation.d.ts +0 -1
  435. package/flashbar/implementation.d.ts.map +1 -1
  436. package/flashbar/implementation.js.map +1 -1
  437. package/flashbar/index.d.ts +0 -1
  438. package/flashbar/index.d.ts.map +1 -1
  439. package/flashbar/non-collapsible-flashbar.d.ts +0 -1
  440. package/flashbar/non-collapsible-flashbar.d.ts.map +1 -1
  441. package/flashbar/non-collapsible-flashbar.js.map +1 -1
  442. package/flashbar/style.js.map +1 -1
  443. package/flashbar/utils.js.map +1 -1
  444. package/form/analytics-metadata/styles.css.js +2 -1
  445. package/form/analytics-metadata/styles.scoped.css +2 -1
  446. package/form/analytics-metadata/styles.selectors.js +2 -1
  447. package/form/index.d.ts +0 -1
  448. package/form/index.d.ts.map +1 -1
  449. package/form/index.js +1 -1
  450. package/form/index.js.map +1 -1
  451. package/form/internal.d.ts +0 -1
  452. package/form/internal.d.ts.map +1 -1
  453. package/form/internal.js +1 -1
  454. package/form/internal.js.map +1 -1
  455. package/form-field/index.d.ts +0 -1
  456. package/form-field/index.d.ts.map +1 -1
  457. package/form-field/internal.js.map +1 -1
  458. package/form-field/util.d.ts +0 -1
  459. package/form-field/util.d.ts.map +1 -1
  460. package/form-field/util.js.map +1 -1
  461. package/grid/index.d.ts +0 -1
  462. package/grid/index.d.ts.map +1 -1
  463. package/grid/internal.js.map +1 -1
  464. package/header/analytics/use-table-integration.d.ts.map +1 -1
  465. package/header/analytics/use-table-integration.js.map +1 -1
  466. package/header/index.d.ts +0 -1
  467. package/header/index.d.ts.map +1 -1
  468. package/header/internal.js.map +1 -1
  469. package/help-panel/implementation.d.ts +0 -1
  470. package/help-panel/implementation.d.ts.map +1 -1
  471. package/help-panel/index.d.ts +0 -1
  472. package/help-panel/index.d.ts.map +1 -1
  473. package/hotspot/index.d.ts +0 -1
  474. package/hotspot/index.d.ts.map +1 -1
  475. package/hotspot/index.js.map +1 -1
  476. package/hotspot/interfaces.d.ts +0 -1
  477. package/hotspot/interfaces.d.ts.map +1 -1
  478. package/i18n/get-matchable-locales.js.map +1 -1
  479. package/i18n/provider.js.map +1 -1
  480. package/icon/generated/icons.d.ts +0 -1
  481. package/icon/generated/icons.d.ts.map +1 -1
  482. package/icon/index.d.ts +0 -1
  483. package/icon/index.d.ts.map +1 -1
  484. package/icon/internal.d.ts +0 -1
  485. package/icon/internal.d.ts.map +1 -1
  486. package/icon/internal.js.map +1 -1
  487. package/icon-provider/context.d.ts +0 -1
  488. package/icon-provider/context.d.ts.map +1 -1
  489. package/icon-provider/index.d.ts +0 -1
  490. package/icon-provider/index.d.ts.map +1 -1
  491. package/icon-provider/internal.d.ts +0 -1
  492. package/icon-provider/internal.d.ts.map +1 -1
  493. package/icon-provider/internal.js.map +1 -1
  494. package/input/interfaces.d.ts +0 -1
  495. package/input/interfaces.d.ts.map +1 -1
  496. package/input/internal-do-not-use-core.js +2 -2
  497. package/input/internal-do-not-use-core.js.map +1 -1
  498. package/input/internal.js.map +1 -1
  499. package/input/styles.js.map +1 -1
  500. package/input/utils.d.ts.map +1 -1
  501. package/input/utils.js.map +1 -1
  502. package/internal/analytics/components/analytics-funnel.d.ts.map +1 -1
  503. package/internal/analytics/components/analytics-funnel.js.map +1 -1
  504. package/internal/analytics/hooks/use-funnel.d.ts +3 -4
  505. package/internal/analytics/hooks/use-funnel.d.ts.map +1 -1
  506. package/internal/analytics/hooks/use-funnel.js.map +1 -1
  507. package/internal/analytics/selectors.d.ts +6 -6
  508. package/internal/analytics/selectors.d.ts.map +1 -1
  509. package/internal/analytics/utils/parse-count-text.d.ts.map +1 -1
  510. package/internal/analytics/utils/parse-count-text.js.map +1 -1
  511. package/internal/animate.js.map +1 -1
  512. package/internal/base-component/index.d.ts.map +1 -1
  513. package/internal/base-component/index.js.map +1 -1
  514. package/internal/base-component/styles.scoped.css +1 -1
  515. package/internal/breakpoints.js.map +1 -1
  516. package/internal/components/abstract-switch/index.js.map +1 -1
  517. package/internal/components/autosuggest-input/index.js.map +1 -1
  518. package/internal/components/button-trigger/index.js.map +1 -1
  519. package/internal/components/cartesian-chart/axis-label.d.ts +0 -1
  520. package/internal/components/cartesian-chart/axis-label.d.ts.map +1 -1
  521. package/internal/components/cartesian-chart/axis-label.js.map +1 -1
  522. package/internal/components/cartesian-chart/block-end-labels.d.ts.map +1 -1
  523. package/internal/components/cartesian-chart/block-end-labels.js.map +1 -1
  524. package/internal/components/cartesian-chart/chart-container.js.map +1 -1
  525. package/internal/components/cartesian-chart/emphasized-baseline.d.ts +0 -1
  526. package/internal/components/cartesian-chart/emphasized-baseline.d.ts.map +1 -1
  527. package/internal/components/cartesian-chart/emphasized-baseline.js.map +1 -1
  528. package/internal/components/cartesian-chart/highlighted-point.js.map +1 -1
  529. package/internal/components/cartesian-chart/inline-start-labels.d.ts +0 -1
  530. package/internal/components/cartesian-chart/inline-start-labels.d.ts.map +1 -1
  531. package/internal/components/cartesian-chart/inline-start-labels.js.map +1 -1
  532. package/internal/components/cartesian-chart/interfaces.d.ts +0 -1
  533. package/internal/components/cartesian-chart/interfaces.d.ts.map +1 -1
  534. package/internal/components/cartesian-chart/label-utils.js.map +1 -1
  535. package/internal/components/cartesian-chart/labels-measure.d.ts +0 -1
  536. package/internal/components/cartesian-chart/labels-measure.d.ts.map +1 -1
  537. package/internal/components/cartesian-chart/labels-measure.js.map +1 -1
  538. package/internal/components/cartesian-chart/scales.d.ts +1 -1
  539. package/internal/components/cartesian-chart/scales.d.ts.map +1 -1
  540. package/internal/components/cartesian-chart/scales.js.map +1 -1
  541. package/internal/components/cartesian-chart/ticks.js.map +1 -1
  542. package/internal/components/cartesian-chart/vertical-grid-lines.d.ts +0 -1
  543. package/internal/components/cartesian-chart/vertical-grid-lines.d.ts.map +1 -1
  544. package/internal/components/chart-filter/index.d.ts.map +1 -1
  545. package/internal/components/chart-legend/index.d.ts.map +1 -1
  546. package/internal/components/chart-legend/index.js.map +1 -1
  547. package/internal/components/chart-plot/application-controller.js.map +1 -1
  548. package/internal/components/chart-plot/focus-outline.js.map +1 -1
  549. package/internal/components/chart-plot/index.js.map +1 -1
  550. package/internal/components/chart-popover/index.js.map +1 -1
  551. package/internal/components/chart-series-details/index.js.map +1 -1
  552. package/internal/components/chart-series-details/series-details-text.js.map +1 -1
  553. package/internal/components/chart-status-container/index.js.map +1 -1
  554. package/internal/components/chart-wrapper/index.js.map +1 -1
  555. package/internal/components/checkbox-icon/index.d.ts +0 -1
  556. package/internal/components/checkbox-icon/index.d.ts.map +1 -1
  557. package/internal/components/drag-handle/button.js.map +1 -1
  558. package/internal/components/drag-handle/hooks/use-drag-handle-interaction-state.d.ts.map +1 -1
  559. package/internal/components/drag-handle/hooks/use-drag-handle-interaction-state.js.map +1 -1
  560. package/internal/components/drag-handle/interfaces.d.ts +0 -1
  561. package/internal/components/drag-handle/interfaces.d.ts.map +1 -1
  562. package/internal/components/drag-handle/resize-icon.d.ts +0 -1
  563. package/internal/components/drag-handle/resize-icon.d.ts.map +1 -1
  564. package/internal/components/drag-handle-wrapper/index.d.ts +0 -1
  565. package/internal/components/drag-handle-wrapper/index.d.ts.map +1 -1
  566. package/internal/components/drag-handle-wrapper/index.js.map +1 -1
  567. package/internal/components/drag-handle-wrapper/interfaces.d.ts +0 -1
  568. package/internal/components/drag-handle-wrapper/interfaces.d.ts.map +1 -1
  569. package/internal/components/drag-handle-wrapper/portal-overlay.js.map +1 -1
  570. package/internal/components/dropdown/context.d.ts.map +1 -1
  571. package/internal/components/dropdown/dropdown-fit-handler.d.ts +7 -7
  572. package/internal/components/dropdown/dropdown-fit-handler.d.ts.map +1 -1
  573. package/internal/components/dropdown/dropdown-fit-handler.js.map +1 -1
  574. package/internal/components/dropdown/dropdown-position.js.map +1 -1
  575. package/internal/components/dropdown/index.d.ts +0 -1
  576. package/internal/components/dropdown/index.d.ts.map +1 -1
  577. package/internal/components/dropdown/index.js.map +1 -1
  578. package/internal/components/dropdown-status/index.js.map +1 -1
  579. package/internal/components/focus-lock/index.js.map +1 -1
  580. package/internal/components/focus-lock/utils.js.map +1 -1
  581. package/internal/components/masked-input/index.js.map +1 -1
  582. package/internal/components/masked-input/keyboard-handler.d.ts.map +1 -1
  583. package/internal/components/masked-input/keyboard-handler.js.map +1 -1
  584. package/internal/components/masked-input/use-mask.d.ts.map +1 -1
  585. package/internal/components/masked-input/use-mask.js.map +1 -1
  586. package/internal/components/masked-input/utils/keys.d.ts.map +1 -1
  587. package/internal/components/masked-input/utils/mask-format.js.map +1 -1
  588. package/internal/components/masked-input/utils/strings.d.ts.map +1 -1
  589. package/internal/components/menu-dropdown/index.d.ts.map +1 -1
  590. package/internal/components/menu-dropdown/interfaces.d.ts +0 -1
  591. package/internal/components/menu-dropdown/interfaces.d.ts.map +1 -1
  592. package/internal/components/option/highlight-match.js.map +1 -1
  593. package/internal/components/option/index.d.ts +0 -1
  594. package/internal/components/option/index.d.ts.map +1 -1
  595. package/internal/components/option/index.js.map +1 -1
  596. package/internal/components/option/option-announcer.js.map +1 -1
  597. package/internal/components/option/option-parts.d.ts.map +1 -1
  598. package/internal/components/option/option-parts.js.map +1 -1
  599. package/internal/components/option/utils/filter-options.d.ts.map +1 -1
  600. package/internal/components/option/utils/filter-options.js.map +1 -1
  601. package/internal/components/option/utils/flatten-options.d.ts.map +1 -1
  602. package/internal/components/option/utils/flatten-options.js.map +1 -1
  603. package/internal/components/option/utils/unflatten-options.js.map +1 -1
  604. package/internal/components/options-list/index.js.map +1 -1
  605. package/internal/components/options-list/utils/test-indexes.d.ts +1 -1
  606. package/internal/components/options-list/utils/test-indexes.d.ts.map +1 -1
  607. package/internal/components/options-list/utils/test-indexes.js.map +1 -1
  608. package/internal/components/options-list/utils/use-highlight-option.js.map +1 -1
  609. package/internal/components/options-list/utils/use-ids.d.ts.map +1 -1
  610. package/internal/components/options-list/utils/use-ids.js.map +1 -1
  611. package/internal/components/options-list/utils/use-keyboard.js.map +1 -1
  612. package/internal/components/options-list/utils/use-open-state.d.ts.map +1 -1
  613. package/internal/components/options-list/utils/use-open-state.js.map +1 -1
  614. package/internal/components/responsive-text/index.js.map +1 -1
  615. package/internal/components/responsive-text/responsive-text-utils.js.map +1 -1
  616. package/internal/components/selectable-item/analytics-metadata/utils.d.ts.map +1 -1
  617. package/internal/components/selectable-item/analytics-metadata/utils.js.map +1 -1
  618. package/internal/components/selectable-item/index.js.map +1 -1
  619. package/internal/components/selectable-item/interfaces.d.ts +0 -1
  620. package/internal/components/selectable-item/interfaces.d.ts.map +1 -1
  621. package/internal/components/sortable-area/index.d.ts +0 -1
  622. package/internal/components/sortable-area/index.d.ts.map +1 -1
  623. package/internal/components/sortable-area/index.js.map +1 -1
  624. package/internal/components/sortable-area/interfaces.d.ts +0 -1
  625. package/internal/components/sortable-area/interfaces.d.ts.map +1 -1
  626. package/internal/components/sortable-area/keyboard-sensor/index.js.map +1 -1
  627. package/internal/components/sortable-area/keyboard-sensor/utilities/scroll.js.map +1 -1
  628. package/internal/components/sortable-area/use-drag-and-drop-reorder.d.ts.map +1 -1
  629. package/internal/components/sortable-area/use-drag-and-drop-reorder.js.map +1 -1
  630. package/internal/components/sortable-area/use-live-announcements.js.map +1 -1
  631. package/internal/components/structured-item/index.d.ts +0 -1
  632. package/internal/components/structured-item/index.d.ts.map +1 -1
  633. package/internal/components/token-list/index.d.ts +0 -1
  634. package/internal/components/token-list/index.d.ts.map +1 -1
  635. package/internal/components/token-list/index.js.map +1 -1
  636. package/internal/components/token-list/token-limit-toggle.d.ts +0 -1
  637. package/internal/components/token-list/token-limit-toggle.d.ts.map +1 -1
  638. package/internal/components/tooltip/index.js.map +1 -1
  639. package/internal/components/transition/index.js.map +1 -1
  640. package/internal/components/visual-context/index.js.map +1 -1
  641. package/internal/context/button-context.d.ts +0 -1
  642. package/internal/context/button-context.d.ts.map +1 -1
  643. package/internal/context/collection-label-context.d.ts +0 -1
  644. package/internal/context/collection-label-context.d.ts.map +1 -1
  645. package/internal/context/collection-preferences-metadata-context.d.ts +0 -1
  646. package/internal/context/collection-preferences-metadata-context.d.ts.map +1 -1
  647. package/internal/context/container-header.d.ts.map +1 -1
  648. package/internal/context/dynamic-overlap-context.d.ts +0 -1
  649. package/internal/context/dynamic-overlap-context.d.ts.map +1 -1
  650. package/internal/context/form-field-context.d.ts +0 -1
  651. package/internal/context/form-field-context.d.ts.map +1 -1
  652. package/internal/context/info-link-label-context.d.ts +0 -1
  653. package/internal/context/info-link-label-context.d.ts.map +1 -1
  654. package/internal/context/link-default-variant-context.d.ts +0 -1
  655. package/internal/context/link-default-variant-context.d.ts.map +1 -1
  656. package/internal/context/reset-contexts-for-modal.d.ts.map +1 -1
  657. package/internal/context/split-panel-context.js.map +1 -1
  658. package/internal/debounce.js.map +1 -1
  659. package/internal/environment.js +2 -2
  660. package/internal/environment.json +2 -2
  661. package/internal/events/index.js.map +1 -1
  662. package/internal/focus-tracker.js.map +1 -1
  663. package/internal/hooks/check-controlled/index.js.map +1 -1
  664. package/internal/hooks/container-queries/use-container-breakpoints.d.ts.map +1 -1
  665. package/internal/hooks/container-queries/use-height-measure.d.ts +0 -1
  666. package/internal/hooks/container-queries/use-height-measure.d.ts.map +1 -1
  667. package/internal/hooks/use-base-component/styles-check.d.ts +1 -1
  668. package/internal/hooks/use-base-component/styles-check.d.ts.map +1 -1
  669. package/internal/hooks/use-base-component/styles-check.js +34 -25
  670. package/internal/hooks/use-base-component/styles-check.js.map +1 -1
  671. package/internal/hooks/use-controllable/index.d.ts.map +1 -1
  672. package/internal/hooks/use-controllable/index.js.map +1 -1
  673. package/internal/hooks/use-date-cache/index.js.map +1 -1
  674. package/internal/hooks/use-debounce-callback/index.js.map +1 -1
  675. package/internal/hooks/use-dom-attribute/index.d.ts +1 -2
  676. package/internal/hooks/use-dom-attribute/index.d.ts.map +1 -1
  677. package/internal/hooks/use-dynamic-overlap/index.d.ts +0 -1
  678. package/internal/hooks/use-dynamic-overlap/index.d.ts.map +1 -1
  679. package/internal/hooks/use-dynamic-overlap/index.js.map +1 -1
  680. package/internal/hooks/use-effect-on-update/index.js.map +1 -1
  681. package/internal/hooks/use-focus-tracker.js.map +1 -1
  682. package/internal/hooks/use-hidden-description/index.d.ts +0 -1
  683. package/internal/hooks/use-hidden-description/index.d.ts.map +1 -1
  684. package/internal/hooks/use-intersection-observer/index.d.ts +2 -1
  685. package/internal/hooks/use-intersection-observer/index.d.ts.map +1 -1
  686. package/internal/hooks/use-intersection-observer/index.js.map +1 -1
  687. package/internal/hooks/use-list-focus-controller.d.ts +0 -1
  688. package/internal/hooks/use-list-focus-controller.d.ts.map +1 -1
  689. package/internal/hooks/use-list-focus-controller.js.map +1 -1
  690. package/internal/hooks/use-mobile/index.js.map +1 -1
  691. package/internal/hooks/use-modal-component-analytics/index.d.ts.map +1 -1
  692. package/internal/hooks/use-modal-component-analytics/index.js.map +1 -1
  693. package/internal/hooks/use-performance-marks/index.d.ts +0 -1
  694. package/internal/hooks/use-performance-marks/index.d.ts.map +1 -1
  695. package/internal/hooks/use-performance-marks/index.js.map +1 -1
  696. package/internal/hooks/use-performance-marks/is-in-viewport.js.map +1 -1
  697. package/internal/hooks/use-previous/index.d.ts.map +1 -1
  698. package/internal/hooks/use-scroll-sync/index.d.ts.map +1 -1
  699. package/internal/hooks/use-scroll-sync/index.js.map +1 -1
  700. package/internal/hooks/use-table-interaction-metrics/index.d.ts +0 -1
  701. package/internal/hooks/use-table-interaction-metrics/index.d.ts.map +1 -1
  702. package/internal/hooks/use-table-interaction-metrics/index.js.map +1 -1
  703. package/internal/hooks/use-virtual/index.js.map +1 -1
  704. package/internal/manifest.json +1 -1
  705. package/internal/plugins/api.d.ts.map +1 -1
  706. package/internal/plugins/api.js.map +1 -1
  707. package/internal/plugins/controllers/action-buttons.d.ts.map +1 -1
  708. package/internal/plugins/controllers/alert-flash-content.d.ts.map +1 -1
  709. package/internal/plugins/controllers/alert-flash-content.js.map +1 -1
  710. package/internal/plugins/controllers/app-layout-widget.d.ts.map +1 -1
  711. package/internal/plugins/controllers/app-layout-widget.js.map +1 -1
  712. package/internal/plugins/controllers/breadcrumbs.d.ts.map +1 -1
  713. package/internal/plugins/controllers/breadcrumbs.js.map +1 -1
  714. package/internal/plugins/controllers/drawers.d.ts.map +1 -1
  715. package/internal/plugins/controllers/drawers.js.map +1 -1
  716. package/internal/plugins/controllers/shared-react-contexts.d.ts.map +1 -1
  717. package/internal/plugins/controllers/shared-react-contexts.js.map +1 -1
  718. package/internal/plugins/helpers/use-discovered-action.d.ts.map +1 -1
  719. package/internal/plugins/helpers/use-discovered-action.js.map +1 -1
  720. package/internal/plugins/helpers/use-discovered-content.d.ts.map +1 -1
  721. package/internal/plugins/helpers/use-discovered-content.js.map +1 -1
  722. package/internal/plugins/helpers/use-global-breadcrumbs.js.map +1 -1
  723. package/internal/plugins/helpers/utils.js.map +1 -1
  724. package/internal/plugins/widget/core.js.map +1 -1
  725. package/internal/styles/motion/utils.d.ts.map +1 -1
  726. package/internal/utils/browser-scrollbar-size.js.map +1 -1
  727. package/internal/utils/calculate-once.js.map +1 -1
  728. package/internal/utils/check-safe-url.js.map +1 -1
  729. package/internal/utils/circle-index.js.map +1 -1
  730. package/internal/utils/create-category-color-scale.js.map +1 -1
  731. package/internal/utils/date-time/calendar.js.map +1 -1
  732. package/internal/utils/date-time/format-date-iso.js.map +1 -1
  733. package/internal/utils/date-time/format-date-localized.js.map +1 -1
  734. package/internal/utils/date-time/format-date-time-with-offset.js.map +1 -1
  735. package/internal/utils/date-time/format-date.js.map +1 -1
  736. package/internal/utils/date-time/format-time-offset.js.map +1 -1
  737. package/internal/utils/date-time/format-time.d.ts.map +1 -1
  738. package/internal/utils/date-time/join-date-time.js.map +1 -1
  739. package/internal/utils/date-time/parse-date.js.map +1 -1
  740. package/internal/utils/date-time/parse-timezone-offset.js.map +1 -1
  741. package/internal/utils/dom.js.map +1 -1
  742. package/internal/utils/external-props.d.ts.map +1 -1
  743. package/internal/utils/get-visual-theme.d.ts.map +1 -1
  744. package/internal/utils/get-visual-theme.js.map +1 -1
  745. package/internal/utils/handle-key.js.map +1 -1
  746. package/internal/utils/locale/merge-locales.js.map +1 -1
  747. package/internal/utils/locale/normalize-locale.js.map +1 -1
  748. package/internal/utils/locale/normalize-start-of-week.d.ts.map +1 -1
  749. package/internal/utils/node-belongs.js.map +1 -1
  750. package/internal/utils/promises.js.map +1 -1
  751. package/internal/utils/scrollable-containers.d.ts.map +1 -1
  752. package/internal/utils/scrollable-containers.js.map +1 -1
  753. package/internal/utils/strings/pad-left-zeros.js.map +1 -1
  754. package/internal/utils/style.js.map +1 -1
  755. package/internal/utils/throttle.js.map +1 -1
  756. package/internal/utils/use-container-width.js.map +1 -1
  757. package/internal/utils/with-native-attributes.d.ts.map +1 -1
  758. package/internal/utils/with-native-attributes.js.map +1 -1
  759. package/internal/widgets/index.d.ts.map +1 -1
  760. package/internal/widgets/index.js.map +1 -1
  761. package/internal/widgets/loader-mock.js.map +1 -1
  762. package/key-value-pairs/index.d.ts +0 -1
  763. package/key-value-pairs/index.d.ts.map +1 -1
  764. package/key-value-pairs/internal.js.map +1 -1
  765. package/line-chart/index.d.ts +0 -1
  766. package/line-chart/index.d.ts.map +1 -1
  767. package/link/internal-do-not-use-core.js.map +1 -1
  768. package/link/internal.d.ts +1 -1
  769. package/link/internal.js.map +1 -1
  770. package/link/style.js.map +1 -1
  771. package/list/index.d.ts +0 -1
  772. package/list/index.d.ts.map +1 -1
  773. package/list/internal.d.ts +0 -1
  774. package/list/internal.d.ts.map +1 -1
  775. package/list/internal.js.map +1 -1
  776. package/live-region/controller.js.map +1 -1
  777. package/live-region/index.d.ts +0 -1
  778. package/live-region/index.d.ts.map +1 -1
  779. package/live-region/interfaces.d.ts +0 -1
  780. package/live-region/interfaces.d.ts.map +1 -1
  781. package/live-region/internal.js.map +1 -1
  782. package/mixed-line-bar-chart/bar-series.d.ts +0 -1
  783. package/mixed-line-bar-chart/bar-series.d.ts.map +1 -1
  784. package/mixed-line-bar-chart/bar-series.js.map +1 -1
  785. package/mixed-line-bar-chart/chart-container.d.ts +0 -1
  786. package/mixed-line-bar-chart/chart-container.d.ts.map +1 -1
  787. package/mixed-line-bar-chart/chart-container.js.map +1 -1
  788. package/mixed-line-bar-chart/chart-popover.js.map +1 -1
  789. package/mixed-line-bar-chart/create-one-side-rounded-rect-path.js.map +1 -1
  790. package/mixed-line-bar-chart/data-series.d.ts +0 -1
  791. package/mixed-line-bar-chart/data-series.d.ts.map +1 -1
  792. package/mixed-line-bar-chart/data-series.js.map +1 -1
  793. package/mixed-line-bar-chart/domain.js.map +1 -1
  794. package/mixed-line-bar-chart/format-highlighted.js.map +1 -1
  795. package/mixed-line-bar-chart/hooks/use-mouse-hover.d.ts +0 -1
  796. package/mixed-line-bar-chart/hooks/use-mouse-hover.d.ts.map +1 -1
  797. package/mixed-line-bar-chart/hooks/use-mouse-hover.js.map +1 -1
  798. package/mixed-line-bar-chart/hooks/use-navigation.d.ts.map +1 -1
  799. package/mixed-line-bar-chart/hooks/use-navigation.js.map +1 -1
  800. package/mixed-line-bar-chart/hooks/use-popover.js.map +1 -1
  801. package/mixed-line-bar-chart/index.d.ts +0 -1
  802. package/mixed-line-bar-chart/index.d.ts.map +1 -1
  803. package/mixed-line-bar-chart/internal.d.ts +0 -1
  804. package/mixed-line-bar-chart/internal.d.ts.map +1 -1
  805. package/mixed-line-bar-chart/internal.js.map +1 -1
  806. package/mixed-line-bar-chart/line-series.d.ts +0 -1
  807. package/mixed-line-bar-chart/line-series.d.ts.map +1 -1
  808. package/mixed-line-bar-chart/line-series.js.map +1 -1
  809. package/mixed-line-bar-chart/make-scaled-bar-groups.js.map +1 -1
  810. package/mixed-line-bar-chart/make-scaled-series.js.map +1 -1
  811. package/mixed-line-bar-chart/utils.d.ts.map +1 -1
  812. package/mixed-line-bar-chart/utils.js.map +1 -1
  813. package/modal/body-scroll.js.map +1 -1
  814. package/modal/index.d.ts +0 -1
  815. package/modal/index.d.ts.map +1 -1
  816. package/modal/index.js.map +1 -1
  817. package/modal/interfaces.d.ts +3 -2
  818. package/modal/interfaces.d.ts.map +1 -1
  819. package/modal/interfaces.js.map +1 -1
  820. package/modal/internal.d.ts +0 -1
  821. package/modal/internal.d.ts.map +1 -1
  822. package/modal/internal.js.map +1 -1
  823. package/multiselect/embedded.d.ts +2 -2
  824. package/multiselect/embedded.d.ts.map +1 -1
  825. package/multiselect/internal.d.ts +1 -1
  826. package/multiselect/use-multiselect.d.ts +5 -5
  827. package/multiselect/use-multiselect.d.ts.map +1 -1
  828. package/multiselect/use-multiselect.js.map +1 -1
  829. package/navigable-group/interfaces.d.ts +0 -1
  830. package/navigable-group/interfaces.d.ts.map +1 -1
  831. package/navigable-group/internal.js.map +1 -1
  832. package/package.json +1 -1
  833. package/pagination/index.d.ts +0 -1
  834. package/pagination/index.d.ts.map +1 -1
  835. package/pagination/internal.d.ts +0 -1
  836. package/pagination/internal.d.ts.map +1 -1
  837. package/pagination/internal.js.map +1 -1
  838. package/pagination/utils.js.map +1 -1
  839. package/pie-chart/index.d.ts +0 -1
  840. package/pie-chart/index.d.ts.map +1 -1
  841. package/pie-chart/index.js.map +1 -1
  842. package/pie-chart/labels.d.ts.map +1 -1
  843. package/pie-chart/labels.js.map +1 -1
  844. package/pie-chart/pie-chart.d.ts +0 -1
  845. package/pie-chart/pie-chart.d.ts.map +1 -1
  846. package/pie-chart/pie-chart.js.map +1 -1
  847. package/pie-chart/responsive-text.js.map +1 -1
  848. package/pie-chart/segments.js.map +1 -1
  849. package/pie-chart/utils.d.ts +1 -1
  850. package/pie-chart/utils.d.ts.map +1 -1
  851. package/pie-chart/utils.js.map +1 -1
  852. package/popover/arrow.d.ts.map +1 -1
  853. package/popover/body.js.map +1 -1
  854. package/popover/conditional-live-region.d.ts.map +1 -1
  855. package/popover/conditional-live-region.js.map +1 -1
  856. package/popover/container.js.map +1 -1
  857. package/popover/index.js.map +1 -1
  858. package/popover/interfaces.d.ts +0 -1
  859. package/popover/interfaces.d.ts.map +1 -1
  860. package/popover/internal.js.map +1 -1
  861. package/popover/use-popover-position.js.map +1 -1
  862. package/popover/use-position-observer.js.map +1 -1
  863. package/popover/utils/positions.js.map +1 -1
  864. package/progress-bar/index.d.ts +0 -1
  865. package/progress-bar/index.d.ts.map +1 -1
  866. package/progress-bar/index.js.map +1 -1
  867. package/progress-bar/interfaces.d.ts +0 -1
  868. package/progress-bar/interfaces.d.ts.map +1 -1
  869. package/progress-bar/internal.d.ts.map +1 -1
  870. package/progress-bar/internal.js.map +1 -1
  871. package/prompt-input/interfaces.d.ts +0 -1
  872. package/prompt-input/interfaces.d.ts.map +1 -1
  873. package/prompt-input/internal.js.map +1 -1
  874. package/property-filter/controller.d.ts.map +1 -1
  875. package/property-filter/controller.js.map +1 -1
  876. package/property-filter/filter-options.js.map +1 -1
  877. package/property-filter/i18n-utils.js.map +1 -1
  878. package/property-filter/index.js.map +1 -1
  879. package/property-filter/internal.d.ts +1 -1
  880. package/property-filter/internal.js.map +1 -1
  881. package/property-filter/property-editor.d.ts +0 -1
  882. package/property-filter/property-editor.d.ts.map +1 -1
  883. package/property-filter/property-filter-autosuggest.js.map +1 -1
  884. package/property-filter/token-editor-inputs.d.ts +0 -1
  885. package/property-filter/token-editor-inputs.d.ts.map +1 -1
  886. package/property-filter/token-editor-inputs.js.map +1 -1
  887. package/property-filter/token-editor.d.ts +0 -1
  888. package/property-filter/token-editor.d.ts.map +1 -1
  889. package/property-filter/token-editor.js.map +1 -1
  890. package/property-filter/token.d.ts +0 -1
  891. package/property-filter/token.d.ts.map +1 -1
  892. package/property-filter/token.js.map +1 -1
  893. package/property-filter/use-load-items.d.ts.map +1 -1
  894. package/property-filter/use-load-items.js.map +1 -1
  895. package/property-filter/utils.js.map +1 -1
  896. package/radio-group/radio-button.js.map +1 -1
  897. package/radio-group/style.js.map +1 -1
  898. package/s3-resource-selector/index.js.map +1 -1
  899. package/s3-resource-selector/s3-in-context/index.js.map +1 -1
  900. package/s3-resource-selector/s3-in-context/use-versions-fetch.js.map +1 -1
  901. package/s3-resource-selector/s3-in-context/validation.js.map +1 -1
  902. package/s3-resource-selector/s3-modal/basic-table.js.map +1 -1
  903. package/s3-resource-selector/s3-modal/column-formats.js.map +1 -1
  904. package/s3-resource-selector/s3-modal/index.js.map +1 -1
  905. package/s3-resource-selector/s3-modal/table-utils.d.ts.map +1 -1
  906. package/s3-resource-selector/s3-modal/table-utils.js.map +1 -1
  907. package/s3-resource-selector/utils.js.map +1 -1
  908. package/segmented-control/index.d.ts +0 -1
  909. package/segmented-control/index.d.ts.map +1 -1
  910. package/segmented-control/internal-segmented-control.d.ts +0 -1
  911. package/segmented-control/internal-segmented-control.d.ts.map +1 -1
  912. package/segmented-control/internal-segmented-control.js.map +1 -1
  913. package/segmented-control/internal.d.ts +0 -1
  914. package/segmented-control/internal.d.ts.map +1 -1
  915. package/select/internal.js.map +1 -1
  916. package/select/parts/filter.d.ts +1 -1
  917. package/select/parts/filter.js.map +1 -1
  918. package/select/parts/plain-list.js.map +1 -1
  919. package/select/parts/trigger.js.map +1 -1
  920. package/select/parts/virtual-list.js.map +1 -1
  921. package/select/utils/check-option-value-field.js.map +1 -1
  922. package/select/utils/connect-options.d.ts.map +1 -1
  923. package/select/utils/connect-options.js.map +1 -1
  924. package/select/utils/get-item-props.d.ts.map +1 -1
  925. package/select/utils/render-options.d.ts.map +1 -1
  926. package/select/utils/render-options.js.map +1 -1
  927. package/select/utils/scroll-to-index.js.map +1 -1
  928. package/select/utils/use-announcement.js.map +1 -1
  929. package/select/utils/use-load-items.d.ts.map +1 -1
  930. package/select/utils/use-load-items.js.map +1 -1
  931. package/select/utils/use-native-search.d.ts.map +1 -1
  932. package/select/utils/use-native-search.js.map +1 -1
  933. package/select/utils/use-select.d.ts +1 -1
  934. package/select/utils/use-select.d.ts.map +1 -1
  935. package/select/utils/use-select.js.map +1 -1
  936. package/side-navigation/implementation.d.ts +0 -1
  937. package/side-navigation/implementation.d.ts.map +1 -1
  938. package/side-navigation/implementation.js.map +1 -1
  939. package/side-navigation/index.d.ts +0 -1
  940. package/side-navigation/index.d.ts.map +1 -1
  941. package/side-navigation/parts.js.map +1 -1
  942. package/side-navigation/util.js.map +1 -1
  943. package/slider/index.d.ts +0 -1
  944. package/slider/index.d.ts.map +1 -1
  945. package/slider/internal.d.ts +0 -1
  946. package/slider/internal.d.ts.map +1 -1
  947. package/slider/internal.js.map +1 -1
  948. package/slider/slider-labels.d.ts +0 -1
  949. package/slider/slider-labels.d.ts.map +1 -1
  950. package/slider/slider-labels.js.map +1 -1
  951. package/slider/tick-marks.d.ts +0 -1
  952. package/slider/tick-marks.d.ts.map +1 -1
  953. package/slider/tick-marks.js.map +1 -1
  954. package/slider/utils.d.ts +3 -3
  955. package/slider/utils.d.ts.map +1 -1
  956. package/slider/utils.js.map +1 -1
  957. package/space-between/index.d.ts +0 -1
  958. package/space-between/index.d.ts.map +1 -1
  959. package/space-between/interfaces.d.ts +0 -1
  960. package/space-between/interfaces.d.ts.map +1 -1
  961. package/spinner/index.d.ts +0 -1
  962. package/spinner/index.d.ts.map +1 -1
  963. package/spinner/interfaces.d.ts +0 -1
  964. package/spinner/interfaces.d.ts.map +1 -1
  965. package/spinner/internal.d.ts +0 -1
  966. package/spinner/internal.d.ts.map +1 -1
  967. package/split-panel/icons/bottom-icon-refresh.d.ts +0 -1
  968. package/split-panel/icons/bottom-icon-refresh.d.ts.map +1 -1
  969. package/split-panel/icons/bottom-icon.d.ts +0 -1
  970. package/split-panel/icons/bottom-icon.d.ts.map +1 -1
  971. package/split-panel/icons/side-position-refresh.d.ts +0 -1
  972. package/split-panel/icons/side-position-refresh.d.ts.map +1 -1
  973. package/split-panel/icons/side-position.d.ts +0 -1
  974. package/split-panel/icons/side-position.d.ts.map +1 -1
  975. package/split-panel/implementation.d.ts +0 -1
  976. package/split-panel/implementation.d.ts.map +1 -1
  977. package/split-panel/implementation.js.map +1 -1
  978. package/split-panel/index.d.ts +0 -1
  979. package/split-panel/index.d.ts.map +1 -1
  980. package/split-panel/preferences-modal.d.ts +0 -1
  981. package/split-panel/preferences-modal.d.ts.map +1 -1
  982. package/split-panel/utils/size-utils.js.map +1 -1
  983. package/status-indicator/index.d.ts +0 -1
  984. package/status-indicator/index.d.ts.map +1 -1
  985. package/status-indicator/interfaces.d.ts +0 -1
  986. package/status-indicator/interfaces.d.ts.map +1 -1
  987. package/status-indicator/internal.d.ts +0 -1
  988. package/status-indicator/internal.d.ts.map +1 -1
  989. package/steps/index.d.ts +0 -1
  990. package/steps/index.d.ts.map +1 -1
  991. package/steps/interfaces.d.ts +0 -1
  992. package/steps/interfaces.d.ts.map +1 -1
  993. package/steps/internal.d.ts +0 -1
  994. package/steps/internal.d.ts.map +1 -1
  995. package/table/body-cell/click-away.d.ts +0 -1
  996. package/table/body-cell/click-away.d.ts.map +1 -1
  997. package/table/body-cell/click-away.js.map +1 -1
  998. package/table/body-cell/disabled-inline-editor.d.ts +0 -1
  999. package/table/body-cell/disabled-inline-editor.d.ts.map +1 -1
  1000. package/table/body-cell/disabled-inline-editor.js.map +1 -1
  1001. package/table/body-cell/index.d.ts +0 -1
  1002. package/table/body-cell/index.d.ts.map +1 -1
  1003. package/table/body-cell/index.js.map +1 -1
  1004. package/table/body-cell/inline-editor.d.ts +0 -1
  1005. package/table/body-cell/inline-editor.d.ts.map +1 -1
  1006. package/table/body-cell/inline-editor.js +1 -1
  1007. package/table/body-cell/inline-editor.js.map +1 -1
  1008. package/table/column-widths-utils.js.map +1 -1
  1009. package/table/expandable-rows/expandable-rows-utils.d.ts.map +1 -1
  1010. package/table/expandable-rows/expandable-rows-utils.js.map +1 -1
  1011. package/table/header-cell/index.js.map +1 -1
  1012. package/table/header-cell/utils.d.ts +1 -1
  1013. package/table/header-cell/utils.d.ts.map +1 -1
  1014. package/table/header-cell/utils.js.map +1 -1
  1015. package/table/index.d.ts.map +1 -1
  1016. package/table/index.js.map +1 -1
  1017. package/table/internal.d.ts.map +1 -1
  1018. package/table/internal.js.map +1 -1
  1019. package/table/no-data-cell.js.map +1 -1
  1020. package/table/progressive-loading/items-loader.js.map +1 -1
  1021. package/table/progressive-loading/loader-cell.d.ts +0 -1
  1022. package/table/progressive-loading/loader-cell.d.ts.map +1 -1
  1023. package/table/progressive-loading/progressive-loading-utils.js.map +1 -1
  1024. package/table/resizer/index.d.ts +0 -1
  1025. package/table/resizer/index.d.ts.map +1 -1
  1026. package/table/resizer/index.js.map +1 -1
  1027. package/table/resizer/resizer-lookup.js.map +1 -1
  1028. package/table/selection/selection-cell.d.ts +0 -1
  1029. package/table/selection/selection-cell.d.ts.map +1 -1
  1030. package/table/selection/selection-control.js.map +1 -1
  1031. package/table/selection/use-selection-focus-move.js.map +1 -1
  1032. package/table/selection/use-selection.js.map +1 -1
  1033. package/table/selection/utils.d.ts.map +1 -1
  1034. package/table/sticky-columns/use-sticky-columns.js.map +1 -1
  1035. package/table/sticky-columns/utils.js.map +1 -1
  1036. package/table/sticky-scrollbar/use-sticky-scrollbar.d.ts.map +1 -1
  1037. package/table/sticky-scrollbar/use-sticky-scrollbar.js.map +1 -1
  1038. package/table/sticky-scrolling.d.ts +0 -1
  1039. package/table/sticky-scrolling.d.ts.map +1 -1
  1040. package/table/sticky-scrolling.js.map +1 -1
  1041. package/table/table-role/grid-navigation.d.ts +0 -1
  1042. package/table/table-role/grid-navigation.d.ts.map +1 -1
  1043. package/table/table-role/grid-navigation.js.map +1 -1
  1044. package/table/table-role/interfaces.d.ts +0 -1
  1045. package/table/table-role/interfaces.d.ts.map +1 -1
  1046. package/table/table-role/table-role-helper.d.ts +0 -1
  1047. package/table/table-role/table-role-helper.d.ts.map +1 -1
  1048. package/table/table-role/table-role-helper.js.map +1 -1
  1049. package/table/table-role/utils.d.ts +1 -1
  1050. package/table/table-role/utils.d.ts.map +1 -1
  1051. package/table/table-role/utils.js.map +1 -1
  1052. package/table/tools-header.js.map +1 -1
  1053. package/table/use-cell-editing.js.map +1 -1
  1054. package/table/use-column-widths.js.map +1 -1
  1055. package/table/use-prevent-sticky-click-scroll.d.ts +0 -1
  1056. package/table/use-prevent-sticky-click-scroll.d.ts.map +1 -1
  1057. package/table/use-prevent-sticky-click-scroll.js.map +1 -1
  1058. package/table/use-row-events.d.ts.map +1 -1
  1059. package/table/use-row-events.js.map +1 -1
  1060. package/table/use-sticky-header.d.ts.map +1 -1
  1061. package/table/use-sticky-header.js.map +1 -1
  1062. package/table/use-table-focus-navigation.js.map +1 -1
  1063. package/table/utils.d.ts +1 -1
  1064. package/table/utils.d.ts.map +1 -1
  1065. package/table/utils.js.map +1 -1
  1066. package/tabs/index.d.ts +0 -1
  1067. package/tabs/index.d.ts.map +1 -1
  1068. package/tabs/index.js.map +1 -1
  1069. package/tabs/interfaces.d.ts +0 -1
  1070. package/tabs/interfaces.d.ts.map +1 -1
  1071. package/tabs/scroll-utils.d.ts +1 -1
  1072. package/tabs/scroll-utils.d.ts.map +1 -1
  1073. package/tabs/scroll-utils.js.map +1 -1
  1074. package/tabs/smooth-scroll.d.ts.map +1 -1
  1075. package/tabs/smooth-scroll.js.map +1 -1
  1076. package/tabs/tab-header-bar.d.ts +0 -1
  1077. package/tabs/tab-header-bar.d.ts.map +1 -1
  1078. package/tabs/tab-header-bar.js.map +1 -1
  1079. package/tag-editor/index.js.map +1 -1
  1080. package/tag-editor/internal.js.map +1 -1
  1081. package/tag-editor/utils.js.map +1 -1
  1082. package/tag-editor/validation.d.ts.map +1 -1
  1083. package/tag-editor/validation.js.map +1 -1
  1084. package/test-utils/dom/alert/index.js +1 -1
  1085. package/test-utils/dom/alert/index.js.map +1 -1
  1086. package/test-utils/dom/anchor-navigation/index.js +1 -1
  1087. package/test-utils/dom/anchor-navigation/index.js.map +1 -1
  1088. package/test-utils/dom/annotation/index.js +1 -1
  1089. package/test-utils/dom/annotation/index.js.map +1 -1
  1090. package/test-utils/dom/app-layout/index.js +1 -1
  1091. package/test-utils/dom/app-layout/index.js.map +1 -1
  1092. package/test-utils/dom/app-layout-toolbar/index.js +1 -1
  1093. package/test-utils/dom/app-layout-toolbar/index.js.map +1 -1
  1094. package/test-utils/dom/area-chart/index.js +1 -1
  1095. package/test-utils/dom/area-chart/index.js.map +1 -1
  1096. package/test-utils/dom/attribute-editor/index.js +1 -1
  1097. package/test-utils/dom/attribute-editor/index.js.map +1 -1
  1098. package/test-utils/dom/autosuggest/index.js +1 -1
  1099. package/test-utils/dom/autosuggest/index.js.map +1 -1
  1100. package/test-utils/dom/badge/index.js +1 -1
  1101. package/test-utils/dom/badge/index.js.map +1 -1
  1102. package/test-utils/dom/bar-chart/index.js +1 -1
  1103. package/test-utils/dom/bar-chart/index.js.map +1 -1
  1104. package/test-utils/dom/box/index.js +1 -1
  1105. package/test-utils/dom/box/index.js.map +1 -1
  1106. package/test-utils/dom/breadcrumb-group/index.js +1 -1
  1107. package/test-utils/dom/breadcrumb-group/index.js.map +1 -1
  1108. package/test-utils/dom/button/index.js +1 -1
  1109. package/test-utils/dom/button/index.js.map +1 -1
  1110. package/test-utils/dom/button-dropdown/index.js +1 -1
  1111. package/test-utils/dom/button-dropdown/index.js.map +1 -1
  1112. package/test-utils/dom/button-group/index.js +1 -1
  1113. package/test-utils/dom/button-group/index.js.map +1 -1
  1114. package/test-utils/dom/calendar/index.js +1 -1
  1115. package/test-utils/dom/calendar/index.js.map +1 -1
  1116. package/test-utils/dom/cards/index.js +1 -1
  1117. package/test-utils/dom/cards/index.js.map +1 -1
  1118. package/test-utils/dom/checkbox/index.js +1 -1
  1119. package/test-utils/dom/checkbox/index.js.map +1 -1
  1120. package/test-utils/dom/code-editor/index.js +1 -1
  1121. package/test-utils/dom/code-editor/index.js.map +1 -1
  1122. package/test-utils/dom/collection-preferences/content-display-preference.js +1 -1
  1123. package/test-utils/dom/collection-preferences/content-display-preference.js.map +1 -1
  1124. package/test-utils/dom/collection-preferences/index.js +1 -1
  1125. package/test-utils/dom/collection-preferences/index.js.map +1 -1
  1126. package/test-utils/dom/collection-preferences/page-size-preference.js +1 -1
  1127. package/test-utils/dom/collection-preferences/page-size-preference.js.map +1 -1
  1128. package/test-utils/dom/collection-preferences/sticky-columns-preference.js +1 -1
  1129. package/test-utils/dom/collection-preferences/sticky-columns-preference.js.map +1 -1
  1130. package/test-utils/dom/collection-preferences/visible-content-preference.js +1 -1
  1131. package/test-utils/dom/collection-preferences/visible-content-preference.js.map +1 -1
  1132. package/test-utils/dom/column-layout/index.js +1 -1
  1133. package/test-utils/dom/column-layout/index.js.map +1 -1
  1134. package/test-utils/dom/container/index.js +1 -1
  1135. package/test-utils/dom/container/index.js.map +1 -1
  1136. package/test-utils/dom/content-layout/index.js +1 -1
  1137. package/test-utils/dom/content-layout/index.js.map +1 -1
  1138. package/test-utils/dom/copy-to-clipboard/index.js +1 -1
  1139. package/test-utils/dom/copy-to-clipboard/index.js.map +1 -1
  1140. package/test-utils/dom/date-input/index.js +1 -1
  1141. package/test-utils/dom/date-input/index.js.map +1 -1
  1142. package/test-utils/dom/date-picker/index.js +1 -1
  1143. package/test-utils/dom/date-picker/index.js.map +1 -1
  1144. package/test-utils/dom/date-range-picker/index.js +1 -1
  1145. package/test-utils/dom/date-range-picker/index.js.map +1 -1
  1146. package/test-utils/dom/drawer/index.js +1 -1
  1147. package/test-utils/dom/drawer/index.js.map +1 -1
  1148. package/test-utils/dom/expandable-section/index.js +1 -1
  1149. package/test-utils/dom/expandable-section/index.js.map +1 -1
  1150. package/test-utils/dom/file-dropzone/index.js +1 -1
  1151. package/test-utils/dom/file-dropzone/index.js.map +1 -1
  1152. package/test-utils/dom/file-input/index.js +1 -1
  1153. package/test-utils/dom/file-input/index.js.map +1 -1
  1154. package/test-utils/dom/file-token-group/index.js +1 -1
  1155. package/test-utils/dom/file-token-group/index.js.map +1 -1
  1156. package/test-utils/dom/file-upload/index.js +1 -1
  1157. package/test-utils/dom/file-upload/index.js.map +1 -1
  1158. package/test-utils/dom/flashbar/flash.js +1 -1
  1159. package/test-utils/dom/flashbar/flash.js.map +1 -1
  1160. package/test-utils/dom/flashbar/index.js +1 -1
  1161. package/test-utils/dom/flashbar/index.js.map +1 -1
  1162. package/test-utils/dom/form/index.js +1 -1
  1163. package/test-utils/dom/form/index.js.map +1 -1
  1164. package/test-utils/dom/form-field/index.js +1 -1
  1165. package/test-utils/dom/form-field/index.js.map +1 -1
  1166. package/test-utils/dom/grid/index.js +1 -1
  1167. package/test-utils/dom/grid/index.js.map +1 -1
  1168. package/test-utils/dom/header/index.js +1 -1
  1169. package/test-utils/dom/header/index.js.map +1 -1
  1170. package/test-utils/dom/help-panel/index.js +1 -1
  1171. package/test-utils/dom/help-panel/index.js.map +1 -1
  1172. package/test-utils/dom/hotspot/index.js +1 -1
  1173. package/test-utils/dom/hotspot/index.js.map +1 -1
  1174. package/test-utils/dom/icon/index.js +1 -1
  1175. package/test-utils/dom/icon/index.js.map +1 -1
  1176. package/test-utils/dom/index.js +1 -1
  1177. package/test-utils/dom/index.js.map +1 -1
  1178. package/test-utils/dom/input/base-input.js +1 -1
  1179. package/test-utils/dom/input/base-input.js.map +1 -1
  1180. package/test-utils/dom/input/index.js +1 -1
  1181. package/test-utils/dom/input/index.js.map +1 -1
  1182. package/test-utils/dom/internal/abstract-switch.js +1 -1
  1183. package/test-utils/dom/internal/abstract-switch.js.map +1 -1
  1184. package/test-utils/dom/internal/autosuggest-input.js +1 -1
  1185. package/test-utils/dom/internal/autosuggest-input.js.map +1 -1
  1186. package/test-utils/dom/internal/chart-filter.js +1 -1
  1187. package/test-utils/dom/internal/chart-filter.js.map +1 -1
  1188. package/test-utils/dom/internal/chart-legend.js +1 -1
  1189. package/test-utils/dom/internal/chart-legend.js.map +1 -1
  1190. package/test-utils/dom/internal/chart-popover.js +1 -1
  1191. package/test-utils/dom/internal/chart-popover.js.map +1 -1
  1192. package/test-utils/dom/internal/chart-tooltip.js +1 -1
  1193. package/test-utils/dom/internal/chart-tooltip.js.map +1 -1
  1194. package/test-utils/dom/internal/drag-handle.js +1 -1
  1195. package/test-utils/dom/internal/drag-handle.js.map +1 -1
  1196. package/test-utils/dom/internal/dropdown-host.js +1 -1
  1197. package/test-utils/dom/internal/dropdown-host.js.map +1 -1
  1198. package/test-utils/dom/internal/dropdown.js +1 -1
  1199. package/test-utils/dom/internal/dropdown.js.map +1 -1
  1200. package/test-utils/dom/internal/option.js +1 -1
  1201. package/test-utils/dom/internal/option.js.map +1 -1
  1202. package/test-utils/dom/internal/options-list.js +1 -1
  1203. package/test-utils/dom/internal/options-list.js.map +1 -1
  1204. package/test-utils/dom/internal/structured-item.js +1 -1
  1205. package/test-utils/dom/internal/structured-item.js.map +1 -1
  1206. package/test-utils/dom/internal/tooltip.js +1 -1
  1207. package/test-utils/dom/internal/tooltip.js.map +1 -1
  1208. package/test-utils/dom/key-value-pairs/index.js +1 -1
  1209. package/test-utils/dom/key-value-pairs/index.js.map +1 -1
  1210. package/test-utils/dom/line-chart/index.js +1 -1
  1211. package/test-utils/dom/line-chart/index.js.map +1 -1
  1212. package/test-utils/dom/link/index.js +1 -1
  1213. package/test-utils/dom/link/index.js.map +1 -1
  1214. package/test-utils/dom/list/index.js +1 -1
  1215. package/test-utils/dom/list/index.js.map +1 -1
  1216. package/test-utils/dom/live-region/index.js +1 -1
  1217. package/test-utils/dom/live-region/index.js.map +1 -1
  1218. package/test-utils/dom/mixed-line-bar-chart/index.js +1 -1
  1219. package/test-utils/dom/mixed-line-bar-chart/index.js.map +1 -1
  1220. package/test-utils/dom/modal/index.js +1 -1
  1221. package/test-utils/dom/modal/index.js.map +1 -1
  1222. package/test-utils/dom/multiselect/index.js +1 -1
  1223. package/test-utils/dom/multiselect/index.js.map +1 -1
  1224. package/test-utils/dom/navigable-group/index.js +1 -1
  1225. package/test-utils/dom/navigable-group/index.js.map +1 -1
  1226. package/test-utils/dom/pagination/index.js +1 -1
  1227. package/test-utils/dom/pagination/index.js.map +1 -1
  1228. package/test-utils/dom/pie-chart/index.js +1 -1
  1229. package/test-utils/dom/pie-chart/index.js.map +1 -1
  1230. package/test-utils/dom/popover/index.js +1 -1
  1231. package/test-utils/dom/popover/index.js.map +1 -1
  1232. package/test-utils/dom/progress-bar/index.js +1 -1
  1233. package/test-utils/dom/progress-bar/index.js.map +1 -1
  1234. package/test-utils/dom/prompt-input/index.js +1 -1
  1235. package/test-utils/dom/prompt-input/index.js.map +1 -1
  1236. package/test-utils/dom/property-filter/index.js +1 -1
  1237. package/test-utils/dom/property-filter/index.js.map +1 -1
  1238. package/test-utils/dom/radio-group/index.js +1 -1
  1239. package/test-utils/dom/radio-group/index.js.map +1 -1
  1240. package/test-utils/dom/s3-resource-selector/index.js +1 -1
  1241. package/test-utils/dom/s3-resource-selector/index.js.map +1 -1
  1242. package/test-utils/dom/segmented-control/index.js +1 -1
  1243. package/test-utils/dom/segmented-control/index.js.map +1 -1
  1244. package/test-utils/dom/select/index.js +1 -1
  1245. package/test-utils/dom/select/index.js.map +1 -1
  1246. package/test-utils/dom/side-navigation/index.js +1 -1
  1247. package/test-utils/dom/side-navigation/index.js.map +1 -1
  1248. package/test-utils/dom/slider/index.js +1 -1
  1249. package/test-utils/dom/slider/index.js.map +1 -1
  1250. package/test-utils/dom/space-between/index.js +1 -1
  1251. package/test-utils/dom/space-between/index.js.map +1 -1
  1252. package/test-utils/dom/spinner/index.js +1 -1
  1253. package/test-utils/dom/spinner/index.js.map +1 -1
  1254. package/test-utils/dom/split-panel/index.js +1 -1
  1255. package/test-utils/dom/split-panel/index.js.map +1 -1
  1256. package/test-utils/dom/status-indicator/index.js +1 -1
  1257. package/test-utils/dom/status-indicator/index.js.map +1 -1
  1258. package/test-utils/dom/steps/index.js +1 -1
  1259. package/test-utils/dom/steps/index.js.map +1 -1
  1260. package/test-utils/dom/table/index.js +1 -1
  1261. package/test-utils/dom/table/index.js.map +1 -1
  1262. package/test-utils/dom/tabs/index.js +1 -1
  1263. package/test-utils/dom/tabs/index.js.map +1 -1
  1264. package/test-utils/dom/tag-editor/index.js +1 -1
  1265. package/test-utils/dom/tag-editor/index.js.map +1 -1
  1266. package/test-utils/dom/text-content/index.js +1 -1
  1267. package/test-utils/dom/text-content/index.js.map +1 -1
  1268. package/test-utils/dom/text-filter/index.js +1 -1
  1269. package/test-utils/dom/text-filter/index.js.map +1 -1
  1270. package/test-utils/dom/textarea/index.js +1 -1
  1271. package/test-utils/dom/textarea/index.js.map +1 -1
  1272. package/test-utils/dom/tiles/index.js +1 -1
  1273. package/test-utils/dom/tiles/index.js.map +1 -1
  1274. package/test-utils/dom/tiles/tile.js +1 -1
  1275. package/test-utils/dom/tiles/tile.js.map +1 -1
  1276. package/test-utils/dom/time-input/index.js +1 -1
  1277. package/test-utils/dom/time-input/index.js.map +1 -1
  1278. package/test-utils/dom/toggle/index.js +1 -1
  1279. package/test-utils/dom/toggle/index.js.map +1 -1
  1280. package/test-utils/dom/toggle-button/index.js +1 -1
  1281. package/test-utils/dom/toggle-button/index.js.map +1 -1
  1282. package/test-utils/dom/token/index.js +1 -1
  1283. package/test-utils/dom/token/index.js.map +1 -1
  1284. package/test-utils/dom/token-group/index.js +1 -1
  1285. package/test-utils/dom/token-group/index.js.map +1 -1
  1286. package/test-utils/dom/top-navigation/index.js +1 -1
  1287. package/test-utils/dom/top-navigation/index.js.map +1 -1
  1288. package/test-utils/dom/tree-view/index.js +1 -1
  1289. package/test-utils/dom/tree-view/index.js.map +1 -1
  1290. package/test-utils/dom/tutorial-panel/index.js +1 -1
  1291. package/test-utils/dom/tutorial-panel/index.js.map +1 -1
  1292. package/test-utils/dom/tutorial-panel/tutorial.js +1 -1
  1293. package/test-utils/dom/tutorial-panel/tutorial.js.map +1 -1
  1294. package/test-utils/dom/wizard/index.js +1 -1
  1295. package/test-utils/dom/wizard/index.js.map +1 -1
  1296. package/test-utils/selectors/alert/index.js +1 -1
  1297. package/test-utils/selectors/alert/index.js.map +1 -1
  1298. package/test-utils/selectors/anchor-navigation/index.js +1 -1
  1299. package/test-utils/selectors/anchor-navigation/index.js.map +1 -1
  1300. package/test-utils/selectors/annotation/index.js +1 -1
  1301. package/test-utils/selectors/annotation/index.js.map +1 -1
  1302. package/test-utils/selectors/app-layout/index.js +1 -1
  1303. package/test-utils/selectors/app-layout/index.js.map +1 -1
  1304. package/test-utils/selectors/app-layout-toolbar/index.js +1 -1
  1305. package/test-utils/selectors/app-layout-toolbar/index.js.map +1 -1
  1306. package/test-utils/selectors/area-chart/index.js +1 -1
  1307. package/test-utils/selectors/area-chart/index.js.map +1 -1
  1308. package/test-utils/selectors/attribute-editor/index.js +1 -1
  1309. package/test-utils/selectors/attribute-editor/index.js.map +1 -1
  1310. package/test-utils/selectors/autosuggest/index.js +1 -1
  1311. package/test-utils/selectors/autosuggest/index.js.map +1 -1
  1312. package/test-utils/selectors/badge/index.js +1 -1
  1313. package/test-utils/selectors/badge/index.js.map +1 -1
  1314. package/test-utils/selectors/bar-chart/index.js +1 -1
  1315. package/test-utils/selectors/bar-chart/index.js.map +1 -1
  1316. package/test-utils/selectors/box/index.js +1 -1
  1317. package/test-utils/selectors/box/index.js.map +1 -1
  1318. package/test-utils/selectors/breadcrumb-group/index.js +1 -1
  1319. package/test-utils/selectors/breadcrumb-group/index.js.map +1 -1
  1320. package/test-utils/selectors/button/index.js +1 -1
  1321. package/test-utils/selectors/button/index.js.map +1 -1
  1322. package/test-utils/selectors/button-dropdown/index.js +1 -1
  1323. package/test-utils/selectors/button-dropdown/index.js.map +1 -1
  1324. package/test-utils/selectors/button-group/index.js +1 -1
  1325. package/test-utils/selectors/button-group/index.js.map +1 -1
  1326. package/test-utils/selectors/calendar/index.js +1 -1
  1327. package/test-utils/selectors/calendar/index.js.map +1 -1
  1328. package/test-utils/selectors/cards/index.js +1 -1
  1329. package/test-utils/selectors/cards/index.js.map +1 -1
  1330. package/test-utils/selectors/checkbox/index.js +1 -1
  1331. package/test-utils/selectors/checkbox/index.js.map +1 -1
  1332. package/test-utils/selectors/code-editor/index.js +1 -1
  1333. package/test-utils/selectors/code-editor/index.js.map +1 -1
  1334. package/test-utils/selectors/collection-preferences/content-display-preference.js +1 -1
  1335. package/test-utils/selectors/collection-preferences/content-display-preference.js.map +1 -1
  1336. package/test-utils/selectors/collection-preferences/index.js +1 -1
  1337. package/test-utils/selectors/collection-preferences/index.js.map +1 -1
  1338. package/test-utils/selectors/collection-preferences/page-size-preference.js +1 -1
  1339. package/test-utils/selectors/collection-preferences/page-size-preference.js.map +1 -1
  1340. package/test-utils/selectors/collection-preferences/sticky-columns-preference.js +1 -1
  1341. package/test-utils/selectors/collection-preferences/sticky-columns-preference.js.map +1 -1
  1342. package/test-utils/selectors/collection-preferences/visible-content-preference.js +1 -1
  1343. package/test-utils/selectors/collection-preferences/visible-content-preference.js.map +1 -1
  1344. package/test-utils/selectors/column-layout/index.js +1 -1
  1345. package/test-utils/selectors/column-layout/index.js.map +1 -1
  1346. package/test-utils/selectors/container/index.js +1 -1
  1347. package/test-utils/selectors/container/index.js.map +1 -1
  1348. package/test-utils/selectors/content-layout/index.js +1 -1
  1349. package/test-utils/selectors/content-layout/index.js.map +1 -1
  1350. package/test-utils/selectors/copy-to-clipboard/index.js +1 -1
  1351. package/test-utils/selectors/copy-to-clipboard/index.js.map +1 -1
  1352. package/test-utils/selectors/date-input/index.js +1 -1
  1353. package/test-utils/selectors/date-input/index.js.map +1 -1
  1354. package/test-utils/selectors/date-picker/index.js +1 -1
  1355. package/test-utils/selectors/date-picker/index.js.map +1 -1
  1356. package/test-utils/selectors/date-range-picker/index.js +1 -1
  1357. package/test-utils/selectors/date-range-picker/index.js.map +1 -1
  1358. package/test-utils/selectors/drawer/index.js +1 -1
  1359. package/test-utils/selectors/drawer/index.js.map +1 -1
  1360. package/test-utils/selectors/expandable-section/index.js +1 -1
  1361. package/test-utils/selectors/expandable-section/index.js.map +1 -1
  1362. package/test-utils/selectors/file-dropzone/index.js +1 -1
  1363. package/test-utils/selectors/file-dropzone/index.js.map +1 -1
  1364. package/test-utils/selectors/file-input/index.js +1 -1
  1365. package/test-utils/selectors/file-input/index.js.map +1 -1
  1366. package/test-utils/selectors/file-token-group/index.js +1 -1
  1367. package/test-utils/selectors/file-token-group/index.js.map +1 -1
  1368. package/test-utils/selectors/file-upload/index.js +1 -1
  1369. package/test-utils/selectors/file-upload/index.js.map +1 -1
  1370. package/test-utils/selectors/flashbar/flash.js +1 -1
  1371. package/test-utils/selectors/flashbar/flash.js.map +1 -1
  1372. package/test-utils/selectors/flashbar/index.js +1 -1
  1373. package/test-utils/selectors/flashbar/index.js.map +1 -1
  1374. package/test-utils/selectors/form/index.js +1 -1
  1375. package/test-utils/selectors/form/index.js.map +1 -1
  1376. package/test-utils/selectors/form-field/index.js +1 -1
  1377. package/test-utils/selectors/form-field/index.js.map +1 -1
  1378. package/test-utils/selectors/grid/index.js +1 -1
  1379. package/test-utils/selectors/grid/index.js.map +1 -1
  1380. package/test-utils/selectors/header/index.js +1 -1
  1381. package/test-utils/selectors/header/index.js.map +1 -1
  1382. package/test-utils/selectors/help-panel/index.js +1 -1
  1383. package/test-utils/selectors/help-panel/index.js.map +1 -1
  1384. package/test-utils/selectors/hotspot/index.js +1 -1
  1385. package/test-utils/selectors/hotspot/index.js.map +1 -1
  1386. package/test-utils/selectors/icon/index.js +1 -1
  1387. package/test-utils/selectors/icon/index.js.map +1 -1
  1388. package/test-utils/selectors/index.js +1 -1
  1389. package/test-utils/selectors/index.js.map +1 -1
  1390. package/test-utils/selectors/input/index.js +1 -1
  1391. package/test-utils/selectors/input/index.js.map +1 -1
  1392. package/test-utils/selectors/internal/abstract-switch.js +1 -1
  1393. package/test-utils/selectors/internal/abstract-switch.js.map +1 -1
  1394. package/test-utils/selectors/internal/autosuggest-input.js +1 -1
  1395. package/test-utils/selectors/internal/autosuggest-input.js.map +1 -1
  1396. package/test-utils/selectors/internal/chart-filter.js +1 -1
  1397. package/test-utils/selectors/internal/chart-filter.js.map +1 -1
  1398. package/test-utils/selectors/internal/chart-legend.js +1 -1
  1399. package/test-utils/selectors/internal/chart-legend.js.map +1 -1
  1400. package/test-utils/selectors/internal/chart-popover.js +1 -1
  1401. package/test-utils/selectors/internal/chart-popover.js.map +1 -1
  1402. package/test-utils/selectors/internal/chart-tooltip.js +1 -1
  1403. package/test-utils/selectors/internal/chart-tooltip.js.map +1 -1
  1404. package/test-utils/selectors/internal/drag-handle.js +1 -1
  1405. package/test-utils/selectors/internal/drag-handle.js.map +1 -1
  1406. package/test-utils/selectors/internal/dropdown-host.js.map +1 -1
  1407. package/test-utils/selectors/internal/dropdown.js +1 -1
  1408. package/test-utils/selectors/internal/dropdown.js.map +1 -1
  1409. package/test-utils/selectors/internal/option.js +1 -1
  1410. package/test-utils/selectors/internal/option.js.map +1 -1
  1411. package/test-utils/selectors/internal/options-list.js +1 -1
  1412. package/test-utils/selectors/internal/options-list.js.map +1 -1
  1413. package/test-utils/selectors/internal/structured-item.js +1 -1
  1414. package/test-utils/selectors/internal/structured-item.js.map +1 -1
  1415. package/test-utils/selectors/internal/tooltip.js +1 -1
  1416. package/test-utils/selectors/internal/tooltip.js.map +1 -1
  1417. package/test-utils/selectors/key-value-pairs/index.js +1 -1
  1418. package/test-utils/selectors/key-value-pairs/index.js.map +1 -1
  1419. package/test-utils/selectors/line-chart/index.js +1 -1
  1420. package/test-utils/selectors/line-chart/index.js.map +1 -1
  1421. package/test-utils/selectors/link/index.js +1 -1
  1422. package/test-utils/selectors/link/index.js.map +1 -1
  1423. package/test-utils/selectors/list/index.js +1 -1
  1424. package/test-utils/selectors/list/index.js.map +1 -1
  1425. package/test-utils/selectors/live-region/index.js +1 -1
  1426. package/test-utils/selectors/live-region/index.js.map +1 -1
  1427. package/test-utils/selectors/mixed-line-bar-chart/index.js +1 -1
  1428. package/test-utils/selectors/mixed-line-bar-chart/index.js.map +1 -1
  1429. package/test-utils/selectors/modal/index.js +1 -1
  1430. package/test-utils/selectors/modal/index.js.map +1 -1
  1431. package/test-utils/selectors/multiselect/index.js +1 -1
  1432. package/test-utils/selectors/multiselect/index.js.map +1 -1
  1433. package/test-utils/selectors/navigable-group/index.js +1 -1
  1434. package/test-utils/selectors/navigable-group/index.js.map +1 -1
  1435. package/test-utils/selectors/pagination/index.js +1 -1
  1436. package/test-utils/selectors/pagination/index.js.map +1 -1
  1437. package/test-utils/selectors/pie-chart/index.js +1 -1
  1438. package/test-utils/selectors/pie-chart/index.js.map +1 -1
  1439. package/test-utils/selectors/popover/index.js +1 -1
  1440. package/test-utils/selectors/popover/index.js.map +1 -1
  1441. package/test-utils/selectors/progress-bar/index.js +1 -1
  1442. package/test-utils/selectors/progress-bar/index.js.map +1 -1
  1443. package/test-utils/selectors/prompt-input/index.js +1 -1
  1444. package/test-utils/selectors/prompt-input/index.js.map +1 -1
  1445. package/test-utils/selectors/property-filter/index.js +1 -1
  1446. package/test-utils/selectors/property-filter/index.js.map +1 -1
  1447. package/test-utils/selectors/radio-group/index.js +1 -1
  1448. package/test-utils/selectors/radio-group/index.js.map +1 -1
  1449. package/test-utils/selectors/s3-resource-selector/index.js +1 -1
  1450. package/test-utils/selectors/s3-resource-selector/index.js.map +1 -1
  1451. package/test-utils/selectors/segmented-control/index.js +1 -1
  1452. package/test-utils/selectors/segmented-control/index.js.map +1 -1
  1453. package/test-utils/selectors/select/index.js +1 -1
  1454. package/test-utils/selectors/select/index.js.map +1 -1
  1455. package/test-utils/selectors/side-navigation/index.js +1 -1
  1456. package/test-utils/selectors/side-navigation/index.js.map +1 -1
  1457. package/test-utils/selectors/slider/index.js +1 -1
  1458. package/test-utils/selectors/slider/index.js.map +1 -1
  1459. package/test-utils/selectors/space-between/index.js +1 -1
  1460. package/test-utils/selectors/space-between/index.js.map +1 -1
  1461. package/test-utils/selectors/spinner/index.js +1 -1
  1462. package/test-utils/selectors/spinner/index.js.map +1 -1
  1463. package/test-utils/selectors/split-panel/index.js +1 -1
  1464. package/test-utils/selectors/split-panel/index.js.map +1 -1
  1465. package/test-utils/selectors/status-indicator/index.js +1 -1
  1466. package/test-utils/selectors/status-indicator/index.js.map +1 -1
  1467. package/test-utils/selectors/steps/index.js +1 -1
  1468. package/test-utils/selectors/steps/index.js.map +1 -1
  1469. package/test-utils/selectors/table/index.js +1 -1
  1470. package/test-utils/selectors/table/index.js.map +1 -1
  1471. package/test-utils/selectors/tabs/index.js +1 -1
  1472. package/test-utils/selectors/tabs/index.js.map +1 -1
  1473. package/test-utils/selectors/tag-editor/index.js +1 -1
  1474. package/test-utils/selectors/tag-editor/index.js.map +1 -1
  1475. package/test-utils/selectors/text-content/index.js +1 -1
  1476. package/test-utils/selectors/text-content/index.js.map +1 -1
  1477. package/test-utils/selectors/text-filter/index.js +1 -1
  1478. package/test-utils/selectors/text-filter/index.js.map +1 -1
  1479. package/test-utils/selectors/textarea/index.js +1 -1
  1480. package/test-utils/selectors/textarea/index.js.map +1 -1
  1481. package/test-utils/selectors/tiles/index.js +1 -1
  1482. package/test-utils/selectors/tiles/index.js.map +1 -1
  1483. package/test-utils/selectors/tiles/tile.js +1 -1
  1484. package/test-utils/selectors/tiles/tile.js.map +1 -1
  1485. package/test-utils/selectors/time-input/index.js +1 -1
  1486. package/test-utils/selectors/time-input/index.js.map +1 -1
  1487. package/test-utils/selectors/toggle/index.js +1 -1
  1488. package/test-utils/selectors/toggle/index.js.map +1 -1
  1489. package/test-utils/selectors/toggle-button/index.js +1 -1
  1490. package/test-utils/selectors/toggle-button/index.js.map +1 -1
  1491. package/test-utils/selectors/token/index.js +1 -1
  1492. package/test-utils/selectors/token/index.js.map +1 -1
  1493. package/test-utils/selectors/token-group/index.js +1 -1
  1494. package/test-utils/selectors/token-group/index.js.map +1 -1
  1495. package/test-utils/selectors/top-navigation/index.js +1 -1
  1496. package/test-utils/selectors/top-navigation/index.js.map +1 -1
  1497. package/test-utils/selectors/tree-view/index.js +1 -1
  1498. package/test-utils/selectors/tree-view/index.js.map +1 -1
  1499. package/test-utils/selectors/tutorial-panel/index.js +1 -1
  1500. package/test-utils/selectors/tutorial-panel/index.js.map +1 -1
  1501. package/test-utils/selectors/tutorial-panel/tutorial.js +1 -1
  1502. package/test-utils/selectors/tutorial-panel/tutorial.js.map +1 -1
  1503. package/test-utils/selectors/wizard/index.js +1 -1
  1504. package/test-utils/selectors/wizard/index.js.map +1 -1
  1505. package/text-content/index.d.ts +0 -1
  1506. package/text-content/index.d.ts.map +1 -1
  1507. package/text-filter/analytics/use-table-integration.d.ts.map +1 -1
  1508. package/text-filter/analytics/use-table-integration.js.map +1 -1
  1509. package/text-filter/use-debounce-search-result-callback.js.map +1 -1
  1510. package/textarea/interfaces.d.ts +0 -1
  1511. package/textarea/interfaces.d.ts.map +1 -1
  1512. package/textarea/internal-do-not-use-core.js.map +1 -1
  1513. package/textarea/styles.js.map +1 -1
  1514. package/tiles/internal.js.map +1 -1
  1515. package/tiles/tile.js.map +1 -1
  1516. package/toggle/internal.js.map +1 -1
  1517. package/toggle/style.js.map +1 -1
  1518. package/toggle-button/internal.d.ts +2 -2
  1519. package/toggle-button/internal.d.ts.map +1 -1
  1520. package/toggle-button/internal.js.map +1 -1
  1521. package/toggle-button/util.js.map +1 -1
  1522. package/token/dismiss-button.js.map +1 -1
  1523. package/token/index.d.ts +0 -1
  1524. package/token/index.d.ts.map +1 -1
  1525. package/token/internal.d.ts +0 -1
  1526. package/token/internal.d.ts.map +1 -1
  1527. package/token/internal.js.map +1 -1
  1528. package/token-group/index.d.ts +0 -1
  1529. package/token-group/index.d.ts.map +1 -1
  1530. package/token-group/internal.d.ts +0 -1
  1531. package/token-group/internal.d.ts.map +1 -1
  1532. package/token-group/internal.js.map +1 -1
  1533. package/top-navigation/index.d.ts +0 -1
  1534. package/top-navigation/index.d.ts.map +1 -1
  1535. package/top-navigation/interfaces.d.ts +0 -1
  1536. package/top-navigation/interfaces.d.ts.map +1 -1
  1537. package/top-navigation/internal.d.ts +0 -1
  1538. package/top-navigation/internal.d.ts.map +1 -1
  1539. package/top-navigation/internal.js.map +1 -1
  1540. package/top-navigation/parts/overflow-menu/index.d.ts +0 -1
  1541. package/top-navigation/parts/overflow-menu/index.d.ts.map +1 -1
  1542. package/top-navigation/parts/overflow-menu/index.js.map +1 -1
  1543. package/top-navigation/parts/overflow-menu/menu-item.d.ts.map +1 -1
  1544. package/top-navigation/parts/overflow-menu/menu-item.js.map +1 -1
  1545. package/top-navigation/parts/overflow-menu/router.d.ts.map +1 -1
  1546. package/top-navigation/parts/overflow-menu/router.js.map +1 -1
  1547. package/top-navigation/parts/overflow-menu/views/submenu.d.ts +0 -1
  1548. package/top-navigation/parts/overflow-menu/views/submenu.d.ts.map +1 -1
  1549. package/top-navigation/parts/overflow-menu/views/submenu.js.map +1 -1
  1550. package/top-navigation/parts/overflow-menu/views/utilities.d.ts +0 -1
  1551. package/top-navigation/parts/overflow-menu/views/utilities.d.ts.map +1 -1
  1552. package/top-navigation/parts/overflow-menu/views/utilities.js.map +1 -1
  1553. package/top-navigation/parts/utility.d.ts +0 -1
  1554. package/top-navigation/parts/utility.d.ts.map +1 -1
  1555. package/top-navigation/parts/utility.js.map +1 -1
  1556. package/top-navigation/use-top-navigation.js.map +1 -1
  1557. package/tree-view/index.d.ts +0 -1
  1558. package/tree-view/index.d.ts.map +1 -1
  1559. package/tree-view/internal.d.ts +0 -1
  1560. package/tree-view/internal.d.ts.map +1 -1
  1561. package/tree-view/internal.js.map +1 -1
  1562. package/tree-view/keyboard-navigation/index.js.map +1 -1
  1563. package/tree-view/keyboard-navigation/utils.d.ts +3 -3
  1564. package/tree-view/keyboard-navigation/utils.d.ts.map +1 -1
  1565. package/tree-view/keyboard-navigation/utils.js.map +1 -1
  1566. package/tree-view/tree-item/focus-target.d.ts +0 -1
  1567. package/tree-view/tree-item/focus-target.d.ts.map +1 -1
  1568. package/tree-view/tree-item/index.d.ts +0 -1
  1569. package/tree-view/tree-item/index.d.ts.map +1 -1
  1570. package/tree-view/tree-item/index.js.map +1 -1
  1571. package/tree-view/utils.js.map +1 -1
  1572. package/tutorial-panel/components/tutorial-detail-view/index.d.ts +0 -1
  1573. package/tutorial-panel/components/tutorial-detail-view/index.d.ts.map +1 -1
  1574. package/tutorial-panel/components/tutorial-detail-view/task-list.d.ts +0 -1
  1575. package/tutorial-panel/components/tutorial-detail-view/task-list.d.ts.map +1 -1
  1576. package/tutorial-panel/components/tutorial-detail-view/task.d.ts +0 -1
  1577. package/tutorial-panel/components/tutorial-detail-view/task.d.ts.map +1 -1
  1578. package/tutorial-panel/components/tutorial-detail-view/task.js.map +1 -1
  1579. package/tutorial-panel/components/tutorial-list/index.d.ts +0 -1
  1580. package/tutorial-panel/components/tutorial-list/index.d.ts.map +1 -1
  1581. package/tutorial-panel/index.d.ts +0 -1
  1582. package/tutorial-panel/index.d.ts.map +1 -1
  1583. package/wizard/analytics-metadata/styles.css.js +2 -1
  1584. package/wizard/analytics-metadata/styles.scoped.css +2 -1
  1585. package/wizard/analytics-metadata/styles.selectors.js +2 -1
  1586. package/wizard/analytics-metadata/utils.d.ts.map +1 -1
  1587. package/wizard/analytics-metadata/utils.js.map +1 -1
  1588. package/wizard/analytics.js.map +1 -1
  1589. package/wizard/index.d.ts +0 -1
  1590. package/wizard/index.d.ts.map +1 -1
  1591. package/wizard/internal-do-not-use-core.js +2 -2
  1592. package/wizard/internal-do-not-use-core.js.map +1 -1
  1593. package/wizard/internal.d.ts +0 -1
  1594. package/wizard/internal.d.ts.map +1 -1
  1595. package/wizard/internal.js +2 -1
  1596. package/wizard/internal.js.map +1 -1
  1597. package/wizard/wizard-actions.d.ts +0 -1
  1598. package/wizard/wizard-actions.d.ts.map +1 -1
  1599. package/wizard/wizard-actions.js.map +1 -1
  1600. package/wizard/wizard-form.d.ts +1 -1
  1601. package/wizard/wizard-form.d.ts.map +1 -1
  1602. package/wizard/wizard-form.js +1 -1
  1603. package/wizard/wizard-form.js.map +1 -1
  1604. package/wizard/wizard-navigation.d.ts +0 -1
  1605. package/wizard/wizard-navigation.d.ts.map +1 -1
  1606. package/wizard/wizard-navigation.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"grid-navigation.js","sourceRoot":"","sources":["../../../../src/table/table-role/grid-navigation.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport React, { useRef } from 'react';\nimport { useEffect, useMemo } from 'react';\n\nimport { useStableCallback } from '@cloudscape-design/component-toolkit/internal';\nimport {\n SingleTabStopNavigationAPI,\n SingleTabStopNavigationProvider,\n} from '@cloudscape-design/component-toolkit/internal';\n\nimport { getAllFocusables } from '../../internal/components/focus-lock/utils';\nimport { KeyCode } from '../../internal/keycode';\nimport handleKey, { isEventLike } from '../../internal/utils/handle-key';\nimport { nodeBelongs } from '../../internal/utils/node-belongs';\nimport { FocusedCell, GridNavigationProps } from './interfaces';\nimport {\n defaultIsSuppressed,\n findTableRowByAriaRowIndex,\n findTableRowCellByAriaColIndex,\n focusNextElement,\n getClosestCell,\n isElementDisabled,\n isTableCell,\n} from './utils';\n\n/**\n * Makes table navigable with keyboard commands.\n * See grid-navigation.md\n */\nexport function GridNavigationProvider({ keyboardNavigation, pageSize, getTable, children }: GridNavigationProps) {\n const navigationAPI = useRef<SingleTabStopNavigationAPI>(null);\n const gridNavigation = useMemo(() => new GridNavigationProcessor(navigationAPI), []);\n\n const getTableStable = useStableCallback(getTable);\n\n // Initialize the processor with the table container assuming it is mounted synchronously and only once.\n useEffect(() => {\n if (keyboardNavigation) {\n const table = getTableStable();\n if (table) {\n gridNavigation.init(table);\n return gridNavigation.cleanup;\n }\n }\n }, [keyboardNavigation, gridNavigation, getTableStable]);\n\n // Notify the processor of the props change.\n useEffect(() => {\n gridNavigation.update({ pageSize });\n }, [gridNavigation, pageSize]);\n\n // Notify the processor of the new render.\n useEffect(() => {\n if (keyboardNavigation) {\n gridNavigation.refresh();\n }\n });\n\n return (\n <SingleTabStopNavigationProvider\n ref={navigationAPI}\n navigationActive={keyboardNavigation}\n getNextFocusTarget={gridNavigation.getNextFocusTarget}\n isElementSuppressed={gridNavigation.isElementSuppressed}\n onRegisterFocusable={gridNavigation.onRegisterFocusable}\n onUnregisterActive={gridNavigation.onUnregisterActive}\n >\n {children}\n </SingleTabStopNavigationProvider>\n );\n}\n\n/**\n * This helper encapsulates the grid navigation behaviors which are:\n * 1. Responding to keyboard commands and moving the focus accordingly;\n * 2. Muting table interactive elements for only one to be user-focusable at a time;\n * 3. Suppressing the above behaviors when focusing an element inside a dialog or when instructed explicitly.\n */\nexport class GridNavigationProcessor {\n // Props\n private _pageSize = 0;\n private _table: null | HTMLTableElement = null;\n private _navigationAPI: { current: null | SingleTabStopNavigationAPI };\n\n // State\n private focusedCell: null | FocusedCell = null;\n private focusInside = false;\n private keepUserIndex = false;\n\n constructor(navigationAPI: { current: null | SingleTabStopNavigationAPI }) {\n this._navigationAPI = navigationAPI;\n }\n\n public init(table: HTMLTableElement) {\n this._table = table;\n const controller = new AbortController();\n\n table.addEventListener('focusin', this.onFocusin, { signal: controller.signal });\n table.addEventListener('focusout', this.onFocusout, { signal: controller.signal });\n table.addEventListener('keydown', this.onKeydown, { signal: controller.signal });\n\n this.cleanup = () => {\n controller.abort();\n };\n }\n\n public cleanup = () => {\n // Do nothing before initialized.\n };\n\n public update({ pageSize }: { pageSize: number }) {\n this._pageSize = pageSize;\n }\n\n public refresh() {\n // Timeout ensures the newly rendered content elements are registered.\n setTimeout(() => {\n if (this._table) {\n // Update focused cell indices in case table rows, columns, or firstIndex change.\n this.updateFocusedCell(this.focusedCell?.element);\n this._navigationAPI.current?.updateFocusTarget();\n }\n }, 0);\n }\n\n public onRegisterFocusable = (focusableElement: HTMLElement) => {\n if (!this.focusInside) {\n return;\n }\n // When newly registered element belongs to the focused cell the focus must transition to it.\n const focusedElement = this.focusedCell?.element;\n if (focusedElement && isTableCell(focusedElement) && focusedElement.contains(focusableElement)) {\n // Scroll is unnecessary when moving focus from a cell to element within the cell.\n focusableElement.focus({ preventScroll: true });\n }\n };\n\n public onUnregisterActive = () => {\n // If the focused cell appears to be no longer attached to the table we need to re-apply\n // focus to a cell with the same or closest position.\n if (this.focusedCell && !nodeBelongs(this.table, this.focusedCell.element)) {\n this.moveFocusBy(this.focusedCell, { x: 0, y: 0 });\n }\n };\n\n public getNextFocusTarget = () => {\n if (!this.table) {\n return null;\n }\n\n const cell = this.focusedCell;\n const firstTableCell = this.table.querySelector('td,th') as null | HTMLTableCellElement;\n\n // A single element of the table is made user-focusable.\n // It defaults to the first interactive element of the first cell or the first cell itself otherwise.\n let focusTarget: null | HTMLElement =\n (firstTableCell && this.getFocusablesFrom(firstTableCell)[0]) ?? firstTableCell;\n\n // When a navigation-focused element is present in the table it is used for user-navigation instead.\n if (cell) {\n focusTarget = this.getNextFocusable(cell, { x: 0, y: 0 });\n }\n\n return focusTarget;\n };\n\n public isElementSuppressed = (element: null | Element) => {\n // Omit calculation as irrelevant until the table receives focus.\n if (!this.focusedCell) {\n return false;\n }\n return !element || defaultIsSuppressed(element);\n };\n\n private get pageSize() {\n return this._pageSize;\n }\n\n private get table(): null | HTMLTableElement {\n return this._table;\n }\n\n private onFocusin = (event: FocusEvent) => {\n this.focusInside = true;\n\n if (!(event.target instanceof HTMLElement)) {\n return;\n }\n\n this.updateFocusedCell(event.target);\n if (!this.focusedCell) {\n return;\n }\n\n this._navigationAPI.current?.updateFocusTarget();\n\n // Focusing on cell is not eligible when it contains focusable elements in the content.\n // If content focusables are available - move the focus to the first one.\n const focusedElement = this.focusedCell.element;\n const nextTarget = isTableCell(focusedElement) ? this.getFocusablesFrom(focusedElement)[0] : null;\n if (nextTarget) {\n // Scroll is unnecessary when moving focus from a cell to element within the cell.\n nextTarget.focus({ preventScroll: true });\n } else {\n this.keepUserIndex = false;\n }\n };\n\n private onFocusout = () => {\n this.focusInside = false;\n };\n\n private onKeydown = (event: KeyboardEvent) => {\n if (!this.focusedCell) {\n return;\n }\n\n const keys = [\n KeyCode.up,\n KeyCode.down,\n KeyCode.left,\n KeyCode.right,\n KeyCode.pageUp,\n KeyCode.pageDown,\n KeyCode.home,\n KeyCode.end,\n ];\n const ctrlKey = event.ctrlKey ? 1 : 0;\n const altKey = event.altKey ? 1 : 0;\n const shiftKey = event.shiftKey ? 1 : 0;\n const metaKey = event.metaKey ? 1 : 0;\n const modifiersPressed = ctrlKey + altKey + shiftKey + metaKey;\n const invalidModifierCombination =\n (modifiersPressed && !event.ctrlKey) ||\n (event.ctrlKey && event.keyCode !== KeyCode.home && event.keyCode !== KeyCode.end);\n\n if (\n invalidModifierCombination ||\n this.isElementSuppressed(document.activeElement) ||\n !this.isRegistered(document.activeElement) ||\n keys.indexOf(event.keyCode) === -1\n ) {\n return;\n }\n\n const from = this.focusedCell;\n event.preventDefault();\n\n if (isEventLike(event)) {\n handleKey(event, {\n onBlockStart: () => this.moveFocusBy(from, { y: -1, x: 0 }),\n onBlockEnd: () => this.moveFocusBy(from, { y: 1, x: 0 }),\n onInlineStart: () => this.moveFocusBy(from, { y: 0, x: -1 }),\n onInlineEnd: () => this.moveFocusBy(from, { y: 0, x: 1 }),\n onPageUp: () => this.moveFocusBy(from, { y: -this.pageSize, x: 0 }),\n onPageDown: () => this.moveFocusBy(from, { y: this.pageSize, x: 0 }),\n onHome: () =>\n event.ctrlKey\n ? this.moveFocusBy(from, { y: -Infinity, x: -Infinity })\n : this.moveFocusBy(from, { y: 0, x: -Infinity }),\n onEnd: () =>\n event.ctrlKey\n ? this.moveFocusBy(from, { y: Infinity, x: Infinity })\n : this.moveFocusBy(from, { y: 0, x: Infinity }),\n });\n }\n };\n\n private moveFocusBy(cell: FocusedCell, delta: { x: number; y: number }) {\n // For vertical moves preserve column- and element indices set by user.\n // It allows keeping indices while moving over disabled actions or cells with colspan > 1.\n if (delta.y !== 0 && delta.x === 0) {\n this.keepUserIndex = true;\n }\n focusNextElement(this.getNextFocusable(cell, delta));\n }\n\n private isRegistered(element: null | Element): boolean {\n return !element || (this._navigationAPI.current?.isRegistered(element) ?? false);\n }\n\n private updateFocusedCell(focusedElement?: HTMLElement): void {\n if (!focusedElement) {\n return;\n }\n\n const cellElement = getClosestCell(focusedElement);\n const rowElement = cellElement?.closest('tr');\n if (!cellElement || !rowElement) {\n return;\n }\n\n const colIndex = parseInt(cellElement.getAttribute('aria-colindex') ?? '');\n const rowIndex = parseInt(rowElement.getAttribute('aria-rowindex') ?? '');\n if (isNaN(colIndex) || isNaN(rowIndex)) {\n return;\n }\n\n const cellFocusables = this.getFocusablesFrom(cellElement);\n const elementIndex = cellFocusables.indexOf(focusedElement);\n\n const prevColIndex = this.focusedCell?.colIndex ?? -1;\n const prevElementIndex = this.focusedCell?.elementIndex ?? -1;\n this.focusedCell = {\n rowIndex,\n colIndex: this.keepUserIndex && prevColIndex !== -1 ? prevColIndex : colIndex,\n elementIndex: this.keepUserIndex && prevElementIndex !== -1 ? prevElementIndex : elementIndex,\n element: focusedElement,\n };\n }\n\n private getNextFocusable(from: FocusedCell, delta: { y: number; x: number }) {\n // Find next row to move focus into (can be null if the top/bottom is reached).\n const targetAriaRowIndex = from.rowIndex + delta.y;\n const targetRow = findTableRowByAriaRowIndex(this.table, targetAriaRowIndex, delta.y);\n if (!targetRow) {\n return null;\n }\n\n // Return next interactive cell content element if available.\n const cellElement = getClosestCell(from.element);\n const cellFocusables = cellElement ? this.getFocusablesFrom(cellElement) : [];\n const nextElementIndex = from.elementIndex + delta.x;\n const isValidDirection = !!delta.x;\n const isValidIndex = from.elementIndex !== -1 && 0 <= nextElementIndex && nextElementIndex < cellFocusables.length;\n const isTargetDifferent = from.element !== cellFocusables[nextElementIndex];\n if (isValidDirection && isValidIndex && isTargetDifferent) {\n return cellFocusables[nextElementIndex];\n }\n\n // Find next cell to focus or move focus into (can be null if the left/right edge is reached).\n const targetAriaColIndex = from.colIndex + delta.x;\n const targetCell = findTableRowCellByAriaColIndex(targetRow, targetAriaColIndex, delta.x);\n if (!targetCell) {\n return null;\n }\n\n // When target cell matches the current cell it means we reached the left or right boundary.\n if (targetCell === cellElement && delta.x !== 0) {\n return null;\n }\n\n const targetCellFocusables = this.getFocusablesFrom(targetCell);\n\n // When delta.x = 0 keep element index if possible.\n let focusIndex = from.elementIndex;\n // Use first element index when moving to the right or to extreme left.\n if ((isFinite(delta.x) && delta.x > 0) || delta.x === -Infinity) {\n focusIndex = 0;\n }\n // Use last element index when moving to the left or to extreme right.\n if ((isFinite(delta.x) && delta.x < 0) || delta.x === Infinity) {\n focusIndex = targetCellFocusables.length - 1;\n }\n\n return targetCellFocusables[focusIndex] ?? targetCell;\n }\n\n private getFocusablesFrom(target: HTMLElement) {\n const isElementRegistered = (element: Element) => this._navigationAPI.current?.isRegistered(element);\n return getAllFocusables(target).filter(el => isElementRegistered(el) && !isElementDisabled(el));\n }\n}\n"]}
1
+ {"version":3,"file":"grid-navigation.js","sourceRoot":"","sources":["../../../../src/table/table-role/grid-navigation.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport React, { useRef } from 'react';\nimport { useEffect, useMemo } from 'react';\n\nimport { useStableCallback } from '@cloudscape-design/component-toolkit/internal';\nimport {\n SingleTabStopNavigationAPI,\n SingleTabStopNavigationProvider,\n} from '@cloudscape-design/component-toolkit/internal';\n\nimport { getAllFocusables } from '../../internal/components/focus-lock/utils';\nimport { KeyCode } from '../../internal/keycode';\nimport handleKey, { isEventLike } from '../../internal/utils/handle-key';\nimport { nodeBelongs } from '../../internal/utils/node-belongs';\nimport { FocusedCell, GridNavigationProps } from './interfaces';\nimport {\n defaultIsSuppressed,\n findTableRowByAriaRowIndex,\n findTableRowCellByAriaColIndex,\n focusNextElement,\n getClosestCell,\n isElementDisabled,\n isTableCell,\n} from './utils';\n\n/**\n * Makes table navigable with keyboard commands.\n * See grid-navigation.md\n */\nexport function GridNavigationProvider({ keyboardNavigation, pageSize, getTable, children }: GridNavigationProps) {\n const navigationAPI = useRef<SingleTabStopNavigationAPI>(null);\n const gridNavigation = useMemo(() => new GridNavigationProcessor(navigationAPI), []);\n\n const getTableStable = useStableCallback(getTable);\n\n // Initialize the processor with the table container assuming it is mounted synchronously and only once.\n useEffect(() => {\n if (keyboardNavigation) {\n const table = getTableStable();\n if (table) {\n gridNavigation.init(table);\n return gridNavigation.cleanup;\n }\n }\n }, [keyboardNavigation, gridNavigation, getTableStable]);\n\n // Notify the processor of the props change.\n useEffect(() => {\n gridNavigation.update({ pageSize });\n }, [gridNavigation, pageSize]);\n\n // Notify the processor of the new render.\n useEffect(() => {\n if (keyboardNavigation) {\n gridNavigation.refresh();\n }\n });\n\n return (\n <SingleTabStopNavigationProvider\n ref={navigationAPI}\n navigationActive={keyboardNavigation}\n getNextFocusTarget={gridNavigation.getNextFocusTarget}\n isElementSuppressed={gridNavigation.isElementSuppressed}\n onRegisterFocusable={gridNavigation.onRegisterFocusable}\n onUnregisterActive={gridNavigation.onUnregisterActive}\n >\n {children}\n </SingleTabStopNavigationProvider>\n );\n}\n\n/**\n * This helper encapsulates the grid navigation behaviors which are:\n * 1. Responding to keyboard commands and moving the focus accordingly;\n * 2. Muting table interactive elements for only one to be user-focusable at a time;\n * 3. Suppressing the above behaviors when focusing an element inside a dialog or when instructed explicitly.\n */\nexport class GridNavigationProcessor {\n // Props\n private _pageSize = 0;\n private _table: null | HTMLTableElement = null;\n private _navigationAPI: { current: null | SingleTabStopNavigationAPI };\n\n // State\n private focusedCell: null | FocusedCell = null;\n private focusInside = false;\n private keepUserIndex = false;\n\n constructor(navigationAPI: { current: null | SingleTabStopNavigationAPI }) {\n this._navigationAPI = navigationAPI;\n }\n\n public init(table: HTMLTableElement) {\n this._table = table;\n const controller = new AbortController();\n\n table.addEventListener('focusin', this.onFocusin, { signal: controller.signal });\n table.addEventListener('focusout', this.onFocusout, { signal: controller.signal });\n table.addEventListener('keydown', this.onKeydown, { signal: controller.signal });\n\n this.cleanup = () => {\n controller.abort();\n };\n }\n\n public cleanup = () => {\n // Do nothing before initialized.\n };\n\n public update({ pageSize }: { pageSize: number }) {\n this._pageSize = pageSize;\n }\n\n public refresh() {\n // Timeout ensures the newly rendered content elements are registered.\n setTimeout(() => {\n if (this._table) {\n // Update focused cell indices in case table rows, columns, or firstIndex change.\n this.updateFocusedCell(this.focusedCell?.element);\n this._navigationAPI.current?.updateFocusTarget();\n }\n }, 0);\n }\n\n public onRegisterFocusable = (focusableElement: HTMLElement) => {\n if (!this.focusInside) {\n return;\n }\n // When newly registered element belongs to the focused cell the focus must transition to it.\n const focusedElement = this.focusedCell?.element;\n if (focusedElement && isTableCell(focusedElement) && focusedElement.contains(focusableElement)) {\n // Scroll is unnecessary when moving focus from a cell to element within the cell.\n focusableElement.focus({ preventScroll: true });\n }\n };\n\n public onUnregisterActive = () => {\n // If the focused cell appears to be no longer attached to the table we need to re-apply\n // focus to a cell with the same or closest position.\n if (this.focusedCell && !nodeBelongs(this.table, this.focusedCell.element)) {\n this.moveFocusBy(this.focusedCell, { x: 0, y: 0 });\n }\n };\n\n public getNextFocusTarget = () => {\n if (!this.table) {\n return null;\n }\n\n const cell = this.focusedCell;\n const firstTableCell = this.table.querySelector('td,th') as null | HTMLTableCellElement;\n\n // A single element of the table is made user-focusable.\n // It defaults to the first interactive element of the first cell or the first cell itself otherwise.\n let focusTarget: null | HTMLElement =\n (firstTableCell && this.getFocusablesFrom(firstTableCell)[0]) ?? firstTableCell;\n\n // When a navigation-focused element is present in the table it is used for user-navigation instead.\n if (cell) {\n focusTarget = this.getNextFocusable(cell, { x: 0, y: 0 });\n }\n\n return focusTarget;\n };\n\n public isElementSuppressed = (element: null | Element) => {\n // Omit calculation as irrelevant until the table receives focus.\n if (!this.focusedCell) {\n return false;\n }\n return !element || defaultIsSuppressed(element);\n };\n\n private get pageSize() {\n return this._pageSize;\n }\n\n private get table(): null | HTMLTableElement {\n return this._table;\n }\n\n private onFocusin = (event: FocusEvent) => {\n this.focusInside = true;\n\n if (!(event.target instanceof HTMLElement)) {\n return;\n }\n\n this.updateFocusedCell(event.target);\n if (!this.focusedCell) {\n return;\n }\n\n this._navigationAPI.current?.updateFocusTarget();\n\n // Focusing on cell is not eligible when it contains focusable elements in the content.\n // If content focusables are available - move the focus to the first one.\n const focusedElement = this.focusedCell.element;\n const nextTarget = isTableCell(focusedElement) ? this.getFocusablesFrom(focusedElement)[0] : null;\n if (nextTarget) {\n // Scroll is unnecessary when moving focus from a cell to element within the cell.\n nextTarget.focus({ preventScroll: true });\n } else {\n this.keepUserIndex = false;\n }\n };\n\n private onFocusout = () => {\n this.focusInside = false;\n };\n\n private onKeydown = (event: KeyboardEvent) => {\n if (!this.focusedCell) {\n return;\n }\n\n const keys = [\n KeyCode.up,\n KeyCode.down,\n KeyCode.left,\n KeyCode.right,\n KeyCode.pageUp,\n KeyCode.pageDown,\n KeyCode.home,\n KeyCode.end,\n ];\n const ctrlKey = event.ctrlKey ? 1 : 0;\n const altKey = event.altKey ? 1 : 0;\n const shiftKey = event.shiftKey ? 1 : 0;\n const metaKey = event.metaKey ? 1 : 0;\n const modifiersPressed = ctrlKey + altKey + shiftKey + metaKey;\n const invalidModifierCombination =\n (modifiersPressed && !event.ctrlKey) ||\n (event.ctrlKey && event.keyCode !== KeyCode.home && event.keyCode !== KeyCode.end);\n\n if (\n invalidModifierCombination ||\n this.isElementSuppressed(document.activeElement) ||\n !this.isRegistered(document.activeElement) ||\n keys.indexOf(event.keyCode) === -1\n ) {\n return;\n }\n\n const from = this.focusedCell;\n event.preventDefault();\n\n if (isEventLike(event)) {\n handleKey(event, {\n onBlockStart: () => this.moveFocusBy(from, { y: -1, x: 0 }),\n onBlockEnd: () => this.moveFocusBy(from, { y: 1, x: 0 }),\n onInlineStart: () => this.moveFocusBy(from, { y: 0, x: -1 }),\n onInlineEnd: () => this.moveFocusBy(from, { y: 0, x: 1 }),\n onPageUp: () => this.moveFocusBy(from, { y: -this.pageSize, x: 0 }),\n onPageDown: () => this.moveFocusBy(from, { y: this.pageSize, x: 0 }),\n onHome: () =>\n event.ctrlKey\n ? this.moveFocusBy(from, { y: -Infinity, x: -Infinity })\n : this.moveFocusBy(from, { y: 0, x: -Infinity }),\n onEnd: () =>\n event.ctrlKey\n ? this.moveFocusBy(from, { y: Infinity, x: Infinity })\n : this.moveFocusBy(from, { y: 0, x: Infinity }),\n });\n }\n };\n\n private moveFocusBy(cell: FocusedCell, delta: { x: number; y: number }) {\n // For vertical moves preserve column- and element indices set by user.\n // It allows keeping indices while moving over disabled actions or cells with colspan > 1.\n if (delta.y !== 0 && delta.x === 0) {\n this.keepUserIndex = true;\n }\n focusNextElement(this.getNextFocusable(cell, delta));\n }\n\n private isRegistered(element: null | Element): boolean {\n return !element || (this._navigationAPI.current?.isRegistered(element) ?? false);\n }\n\n private updateFocusedCell(focusedElement?: HTMLElement): void {\n if (!focusedElement) {\n return;\n }\n\n const cellElement = getClosestCell(focusedElement);\n const rowElement = cellElement?.closest('tr');\n if (!cellElement || !rowElement) {\n return;\n }\n\n const colIndex = parseInt(cellElement.getAttribute('aria-colindex') ?? '');\n const rowIndex = parseInt(rowElement.getAttribute('aria-rowindex') ?? '');\n if (isNaN(colIndex) || isNaN(rowIndex)) {\n return;\n }\n\n const cellFocusables = this.getFocusablesFrom(cellElement);\n const elementIndex = cellFocusables.indexOf(focusedElement);\n\n const prevColIndex = this.focusedCell?.colIndex ?? -1;\n const prevElementIndex = this.focusedCell?.elementIndex ?? -1;\n this.focusedCell = {\n rowIndex,\n colIndex: this.keepUserIndex && prevColIndex !== -1 ? prevColIndex : colIndex,\n elementIndex: this.keepUserIndex && prevElementIndex !== -1 ? prevElementIndex : elementIndex,\n element: focusedElement,\n };\n }\n\n private getNextFocusable(from: FocusedCell, delta: { y: number; x: number }) {\n // Find next row to move focus into (can be null if the top/bottom is reached).\n const targetAriaRowIndex = from.rowIndex + delta.y;\n const targetRow = findTableRowByAriaRowIndex(this.table, targetAriaRowIndex, delta.y);\n if (!targetRow) {\n return null;\n }\n\n // Return next interactive cell content element if available.\n const cellElement = getClosestCell(from.element);\n const cellFocusables = cellElement ? this.getFocusablesFrom(cellElement) : [];\n const nextElementIndex = from.elementIndex + delta.x;\n const isValidDirection = !!delta.x;\n const isValidIndex = from.elementIndex !== -1 && 0 <= nextElementIndex && nextElementIndex < cellFocusables.length;\n const isTargetDifferent = from.element !== cellFocusables[nextElementIndex];\n if (isValidDirection && isValidIndex && isTargetDifferent) {\n return cellFocusables[nextElementIndex];\n }\n\n // Find next cell to focus or move focus into (can be null if the left/right edge is reached).\n const targetAriaColIndex = from.colIndex + delta.x;\n const targetCell = findTableRowCellByAriaColIndex(targetRow, targetAriaColIndex, delta.x);\n if (!targetCell) {\n return null;\n }\n\n // When target cell matches the current cell it means we reached the left or right boundary.\n if (targetCell === cellElement && delta.x !== 0) {\n return null;\n }\n\n const targetCellFocusables = this.getFocusablesFrom(targetCell);\n\n // When delta.x = 0 keep element index if possible.\n let focusIndex = from.elementIndex;\n // Use first element index when moving to the right or to extreme left.\n if ((isFinite(delta.x) && delta.x > 0) || delta.x === -Infinity) {\n focusIndex = 0;\n }\n // Use last element index when moving to the left or to extreme right.\n if ((isFinite(delta.x) && delta.x < 0) || delta.x === Infinity) {\n focusIndex = targetCellFocusables.length - 1;\n }\n\n return targetCellFocusables[focusIndex] ?? targetCell;\n }\n\n private getFocusablesFrom(target: HTMLElement) {\n const isElementRegistered = (element: Element) => this._navigationAPI.current?.isRegistered(element);\n return getAllFocusables(target).filter(el => isElementRegistered(el) && !isElementDisabled(el));\n }\n}\n"]}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export type TableRole = 'table' | 'grid' | 'treegrid' | 'grid-default';
3
2
  export interface GridNavigationProps {
4
3
  keyboardNavigation: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/table/table-role/interfaces.ts"],"names":[],"mappings":";AAGA,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,cAAc,CAAC;AAEvE,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,IAAI,GAAG,gBAAgB,CAAC;IACxC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,WAAW,CAAC;CACtB"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/table/table-role/interfaces.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,cAAc,CAAC;AAEvE,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,IAAI,GAAG,gBAAgB,CAAC;IACxC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,WAAW,CAAC;CACtB"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { TableRole } from './interfaces';
3
2
  type SortingStatus = 'sortable' | 'ascending' | 'descending';
4
3
  export declare function getTableRoleProps(options: {
@@ -1 +1 @@
1
- {"version":3,"file":"table-role-helper.d.ts","sourceRoot":"","sources":["../../../../src/table/table-role/table-role-helper.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,KAAK,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,YAAY,CAAC;AAa7D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IACzC,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,GAAG,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAyB9C;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE;IAChD,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,kDAYA;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE;IAAE,SAAS,EAAE,SAAS,CAAA;CAAE,uDAS3E;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,uDAsBA;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE;IAClD,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,0DAcA;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,0DAY/G"}
1
+ {"version":3,"file":"table-role-helper.d.ts","sourceRoot":"","sources":["../../../../src/table/table-role/table-role-helper.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,KAAK,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,YAAY,CAAC;AAa7D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IACzC,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,GAAG,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAyB9C;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE;IAChD,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,kDAYA;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE;IAAE,SAAS,EAAE,SAAS,CAAA;CAAE,uDAS3E;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,uDAsBA;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE;IAClD,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,0DAcA;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,0DAY/G"}
@@ -1 +1 @@
1
- {"version":3,"file":"table-role-helper.js","sourceRoot":"","sources":["../../../../src/table/table-role/table-role-helper.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 { TableRole } from './interfaces';\n\ntype SortingStatus = 'sortable' | 'ascending' | 'descending';\n\nconst stateToAriaSort = {\n sortable: 'none',\n ascending: 'ascending',\n descending: 'descending',\n} as const;\nconst getAriaSort = (sortingState: SortingStatus) => stateToAriaSort[sortingState];\n\n// Depending on its content the table can have different semantic representation which includes the\n// ARIA role of the table component (\"table\", \"grid\", \"treegrid\") but also roles and other semantic attributes\n// of the child elements. The TableRole helper encapsulates table's semantic structure.\n\nexport function getTableRoleProps(options: {\n tableRole: TableRole;\n ariaLabel?: string;\n ariaLabelledby?: string;\n totalItemsCount?: number;\n totalColumnsCount?: number;\n}): React.TableHTMLAttributes<HTMLTableElement> {\n const nativeProps: React.TableHTMLAttributes<HTMLTableElement> = {};\n\n // Browsers have weird mechanism to guess whether it's a data table or a layout table.\n // If we state explicitly, they get it always correctly even with low number of rows.\n nativeProps.role = options.tableRole === 'grid-default' ? 'grid' : options.tableRole;\n\n nativeProps['aria-label'] = options.ariaLabel;\n nativeProps['aria-labelledby'] = options.ariaLabelledby;\n\n // Incrementing the total count by one to account for the header row.\n if (typeof options.totalItemsCount === 'number' && options.totalItemsCount > 0) {\n nativeProps['aria-rowcount'] = options.totalItemsCount + 1;\n }\n\n if (options.tableRole === 'grid' || options.tableRole === 'treegrid') {\n nativeProps['aria-colcount'] = options.totalColumnsCount;\n }\n\n // Make table component programmatically focusable to attach focusin/focusout for keyboard navigation.\n if (options.tableRole === 'grid' || options.tableRole === 'treegrid') {\n nativeProps.tabIndex = -1;\n }\n\n return nativeProps;\n}\n\nexport function getTableWrapperRoleProps(options: {\n tableRole: TableRole;\n isScrollable: boolean;\n ariaLabel?: string;\n ariaLabelledby?: string;\n}) {\n const nativeProps: React.HTMLAttributes<HTMLDivElement> = {};\n\n // When the table is scrollable, the wrapper is made focusable so that keyboard users can scroll it horizontally with arrow keys.\n if (options.isScrollable) {\n nativeProps.role = 'region';\n nativeProps.tabIndex = 0;\n nativeProps['aria-label'] = options.ariaLabel;\n nativeProps['aria-labelledby'] = options.ariaLabelledby;\n }\n\n return nativeProps;\n}\n\nexport function getTableHeaderRowRoleProps(options: { tableRole: TableRole }) {\n const nativeProps: React.HTMLAttributes<HTMLTableRowElement> = {};\n\n // For grids headers are treated similar to data rows and are indexed accordingly.\n if (options.tableRole === 'grid' || options.tableRole === 'grid-default' || options.tableRole === 'treegrid') {\n nativeProps['aria-rowindex'] = 1;\n }\n\n return nativeProps;\n}\n\nexport function getTableRowRoleProps(options: {\n tableRole: TableRole;\n rowIndex: number;\n firstIndex?: number;\n level?: number;\n setSize?: number;\n posInSet?: number;\n}) {\n const nativeProps: React.HTMLAttributes<HTMLTableRowElement> = {};\n\n // The data cell indices are incremented by 1 to account for the header cells.\n if (options.tableRole === 'grid' || options.tableRole === 'treegrid') {\n nativeProps['aria-rowindex'] = (options.firstIndex || 1) + options.rowIndex + 1;\n }\n // For tables indices are only added when the first index is not 0 (not the first page/frame).\n else if (options.firstIndex !== undefined) {\n nativeProps['aria-rowindex'] = options.firstIndex + options.rowIndex + 1;\n }\n if (options.tableRole === 'treegrid' && options.level && options.level !== 0) {\n nativeProps['aria-level'] = options.level;\n }\n if (options.tableRole === 'treegrid' && options.setSize) {\n nativeProps['aria-setsize'] = options.setSize;\n }\n if (options.tableRole === 'treegrid' && options.posInSet) {\n nativeProps['aria-posinset'] = options.posInSet;\n }\n\n return nativeProps;\n}\n\nexport function getTableColHeaderRoleProps(options: {\n tableRole: TableRole;\n colIndex: number;\n sortingStatus?: SortingStatus;\n}) {\n const nativeProps: React.ThHTMLAttributes<HTMLTableCellElement> = {};\n\n nativeProps.scope = 'col';\n\n if (options.tableRole === 'grid' || options.tableRole === 'treegrid') {\n nativeProps['aria-colindex'] = options.colIndex + 1;\n }\n\n if (options.sortingStatus) {\n nativeProps['aria-sort'] = getAriaSort(options.sortingStatus);\n }\n\n return nativeProps;\n}\n\nexport function getTableCellRoleProps(options: { tableRole: TableRole; colIndex: number; isRowHeader?: boolean }) {\n const nativeProps: React.TdHTMLAttributes<HTMLTableCellElement> = {};\n\n if (options.tableRole === 'grid' || options.tableRole === 'treegrid') {\n nativeProps['aria-colindex'] = options.colIndex + 1;\n }\n\n if (options.isRowHeader) {\n nativeProps.scope = 'row';\n }\n\n return nativeProps;\n}\n"]}
1
+ {"version":3,"file":"table-role-helper.js","sourceRoot":"","sources":["../../../../src/table/table-role/table-role-helper.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 { TableRole } from './interfaces';\n\ntype SortingStatus = 'sortable' | 'ascending' | 'descending';\n\nconst stateToAriaSort = {\n sortable: 'none',\n ascending: 'ascending',\n descending: 'descending',\n} as const;\nconst getAriaSort = (sortingState: SortingStatus) => stateToAriaSort[sortingState];\n\n// Depending on its content the table can have different semantic representation which includes the\n// ARIA role of the table component (\"table\", \"grid\", \"treegrid\") but also roles and other semantic attributes\n// of the child elements. The TableRole helper encapsulates table's semantic structure.\n\nexport function getTableRoleProps(options: {\n tableRole: TableRole;\n ariaLabel?: string;\n ariaLabelledby?: string;\n totalItemsCount?: number;\n totalColumnsCount?: number;\n}): React.TableHTMLAttributes<HTMLTableElement> {\n const nativeProps: React.TableHTMLAttributes<HTMLTableElement> = {};\n\n // Browsers have weird mechanism to guess whether it's a data table or a layout table.\n // If we state explicitly, they get it always correctly even with low number of rows.\n nativeProps.role = options.tableRole === 'grid-default' ? 'grid' : options.tableRole;\n\n nativeProps['aria-label'] = options.ariaLabel;\n nativeProps['aria-labelledby'] = options.ariaLabelledby;\n\n // Incrementing the total count by one to account for the header row.\n if (typeof options.totalItemsCount === 'number' && options.totalItemsCount > 0) {\n nativeProps['aria-rowcount'] = options.totalItemsCount + 1;\n }\n\n if (options.tableRole === 'grid' || options.tableRole === 'treegrid') {\n nativeProps['aria-colcount'] = options.totalColumnsCount;\n }\n\n // Make table component programmatically focusable to attach focusin/focusout for keyboard navigation.\n if (options.tableRole === 'grid' || options.tableRole === 'treegrid') {\n nativeProps.tabIndex = -1;\n }\n\n return nativeProps;\n}\n\nexport function getTableWrapperRoleProps(options: {\n tableRole: TableRole;\n isScrollable: boolean;\n ariaLabel?: string;\n ariaLabelledby?: string;\n}) {\n const nativeProps: React.HTMLAttributes<HTMLDivElement> = {};\n\n // When the table is scrollable, the wrapper is made focusable so that keyboard users can scroll it horizontally with arrow keys.\n if (options.isScrollable) {\n nativeProps.role = 'region';\n nativeProps.tabIndex = 0;\n nativeProps['aria-label'] = options.ariaLabel;\n nativeProps['aria-labelledby'] = options.ariaLabelledby;\n }\n\n return nativeProps;\n}\n\nexport function getTableHeaderRowRoleProps(options: { tableRole: TableRole }) {\n const nativeProps: React.HTMLAttributes<HTMLTableRowElement> = {};\n\n // For grids headers are treated similar to data rows and are indexed accordingly.\n if (options.tableRole === 'grid' || options.tableRole === 'grid-default' || options.tableRole === 'treegrid') {\n nativeProps['aria-rowindex'] = 1;\n }\n\n return nativeProps;\n}\n\nexport function getTableRowRoleProps(options: {\n tableRole: TableRole;\n rowIndex: number;\n firstIndex?: number;\n level?: number;\n setSize?: number;\n posInSet?: number;\n}) {\n const nativeProps: React.HTMLAttributes<HTMLTableRowElement> = {};\n\n // The data cell indices are incremented by 1 to account for the header cells.\n if (options.tableRole === 'grid' || options.tableRole === 'treegrid') {\n nativeProps['aria-rowindex'] = (options.firstIndex || 1) + options.rowIndex + 1;\n }\n // For tables indices are only added when the first index is not 0 (not the first page/frame).\n else if (options.firstIndex !== undefined) {\n nativeProps['aria-rowindex'] = options.firstIndex + options.rowIndex + 1;\n }\n if (options.tableRole === 'treegrid' && options.level && options.level !== 0) {\n nativeProps['aria-level'] = options.level;\n }\n if (options.tableRole === 'treegrid' && options.setSize) {\n nativeProps['aria-setsize'] = options.setSize;\n }\n if (options.tableRole === 'treegrid' && options.posInSet) {\n nativeProps['aria-posinset'] = options.posInSet;\n }\n\n return nativeProps;\n}\n\nexport function getTableColHeaderRoleProps(options: {\n tableRole: TableRole;\n colIndex: number;\n sortingStatus?: SortingStatus;\n}) {\n const nativeProps: React.ThHTMLAttributes<HTMLTableCellElement> = {};\n\n nativeProps.scope = 'col';\n\n if (options.tableRole === 'grid' || options.tableRole === 'treegrid') {\n nativeProps['aria-colindex'] = options.colIndex + 1;\n }\n\n if (options.sortingStatus) {\n nativeProps['aria-sort'] = getAriaSort(options.sortingStatus);\n }\n\n return nativeProps;\n}\n\nexport function getTableCellRoleProps(options: { tableRole: TableRole; colIndex: number; isRowHeader?: boolean }) {\n const nativeProps: React.TdHTMLAttributes<HTMLTableCellElement> = {};\n\n if (options.tableRole === 'grid' || options.tableRole === 'treegrid') {\n nativeProps['aria-colindex'] = options.colIndex + 1;\n }\n\n if (options.isRowHeader) {\n nativeProps.scope = 'row';\n }\n\n return nativeProps;\n}\n"]}
@@ -1,4 +1,4 @@
1
- export declare function getClosestCell(element: Element): HTMLTableCellElement | null;
1
+ export declare function getClosestCell(element: Element): null | HTMLTableCellElement;
2
2
  export declare function isElementDisabled(element: HTMLElement): boolean;
3
3
  /**
4
4
  * Returns true if the target element or one of its parents is a dialog or is marked with data-awsui-table-suppress-navigation attribute.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/table/table-role/utils.ts"],"names":[],"mappings":"AAGA,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,+BAE9C;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,WAKrD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,WAgBlD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,IAAI,GAAG,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,8BAqBnH;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,mBAAmB,EAC7B,kBAAkB,EAAE,MAAM,EAC1B,KAAK,EAAE,MAAM,+BAsBd;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,WAE3C;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,IAAI,GAAG,WAAW,QAW3D"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/table/table-role/utils.ts"],"names":[],"mappings":"AAGA,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GACV,IAAI,GAAG,oBAAoB,CAC/D;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,WAKrD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,WAgBlD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,IAAI,GAAG,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,8BAqBnH;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,mBAAmB,EAC7B,kBAAkB,EAAE,MAAM,EAC1B,KAAK,EAAE,MAAM,+BAsBd;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,WAE3C;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,IAAI,GAAG,WAAW,QAW3D"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/table/table-role/utils.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\nexport function getClosestCell(element: Element) {\n return element.closest('td,th') as null | HTMLTableCellElement;\n}\n\nexport function isElementDisabled(element: HTMLElement) {\n if (element instanceof HTMLInputElement || element instanceof HTMLButtonElement) {\n return element.disabled;\n }\n return false;\n}\n\n/**\n * Returns true if the target element or one of its parents is a dialog or is marked with data-awsui-table-suppress-navigation attribute.\n * This is used to suppress navigation for interactive content without a need to use a custom suppression check.\n */\nexport function defaultIsSuppressed(target: Element) {\n let current: null | Element = target;\n while (current) {\n // Stop checking for parents upon reaching the cell element as the function only aims at the cell content.\n if (isTableCell(current)) {\n return false;\n }\n if (\n current.getAttribute('role') === 'dialog' ||\n current.getAttribute('data-awsui-table-suppress-navigation') === 'true'\n ) {\n return true;\n }\n current = current.parentElement;\n }\n return false;\n}\n\n/**\n * Finds the closest row to the targetAriaRowIndex+delta in the direction of delta.\n */\nexport function findTableRowByAriaRowIndex(table: null | HTMLTableElement, targetAriaRowIndex: number, delta: number) {\n let targetRow: null | HTMLTableRowElement = null;\n const rowElements = Array.from(table?.querySelectorAll('tr[aria-rowindex]') ?? []);\n if (delta < 0) {\n rowElements.reverse();\n }\n for (const element of rowElements) {\n const rowIndex = parseInt(element.getAttribute('aria-rowindex') ?? '');\n targetRow = element as HTMLTableRowElement;\n\n if (rowIndex === targetAriaRowIndex) {\n break;\n }\n if (delta >= 0 && rowIndex > targetAriaRowIndex) {\n break;\n }\n if (delta < 0 && rowIndex < targetAriaRowIndex) {\n break;\n }\n }\n return targetRow;\n}\n\n/**\n * Finds the closest column to the targetAriaColIndex+delta in the direction of delta.\n */\nexport function findTableRowCellByAriaColIndex(\n tableRow: HTMLTableRowElement,\n targetAriaColIndex: number,\n delta: number\n) {\n let targetCell: null | HTMLTableCellElement = null;\n const cellElements = Array.from(tableRow.querySelectorAll('td[aria-colindex],th[aria-colindex]'));\n if (delta < 0) {\n cellElements.reverse();\n }\n for (const element of cellElements) {\n const columnIndex = parseInt(element.getAttribute('aria-colindex') ?? '');\n targetCell = element as HTMLTableCellElement;\n\n if (columnIndex === targetAriaColIndex) {\n break;\n }\n if (delta >= 0 && columnIndex > targetAriaColIndex) {\n break;\n }\n if (delta < 0 && columnIndex < targetAriaColIndex) {\n break;\n }\n }\n return targetCell;\n}\n\nexport function isTableCell(element: Element) {\n return element.tagName === 'TD' || element.tagName === 'TH';\n}\n\nexport function focusNextElement(element: null | HTMLElement) {\n if (element) {\n // Table cells are not focusable by default (tabIndex=undefined) so cell.focus() is ignored.\n // To force focusing we have to imperatively set tabIndex to -1. This tabIndex is then to be\n // overridden by the single tab stop context to be 0 or undefined.\n // We cannot make cells have tabIndex=-1 by default due to an associated bug with text selection, see: PR 2158.\n if (isTableCell(element) && element.tabIndex !== 0) {\n element.tabIndex = -1;\n }\n element.focus();\n }\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/table/table-role/utils.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\nexport function getClosestCell(element: Element) {\n return element.closest('td,th') as null | HTMLTableCellElement;\n}\n\nexport function isElementDisabled(element: HTMLElement) {\n if (element instanceof HTMLInputElement || element instanceof HTMLButtonElement) {\n return element.disabled;\n }\n return false;\n}\n\n/**\n * Returns true if the target element or one of its parents is a dialog or is marked with data-awsui-table-suppress-navigation attribute.\n * This is used to suppress navigation for interactive content without a need to use a custom suppression check.\n */\nexport function defaultIsSuppressed(target: Element) {\n let current: null | Element = target;\n while (current) {\n // Stop checking for parents upon reaching the cell element as the function only aims at the cell content.\n if (isTableCell(current)) {\n return false;\n }\n if (\n current.getAttribute('role') === 'dialog' ||\n current.getAttribute('data-awsui-table-suppress-navigation') === 'true'\n ) {\n return true;\n }\n current = current.parentElement;\n }\n return false;\n}\n\n/**\n * Finds the closest row to the targetAriaRowIndex+delta in the direction of delta.\n */\nexport function findTableRowByAriaRowIndex(table: null | HTMLTableElement, targetAriaRowIndex: number, delta: number) {\n let targetRow: null | HTMLTableRowElement = null;\n const rowElements = Array.from(table?.querySelectorAll('tr[aria-rowindex]') ?? []);\n if (delta < 0) {\n rowElements.reverse();\n }\n for (const element of rowElements) {\n const rowIndex = parseInt(element.getAttribute('aria-rowindex') ?? '');\n targetRow = element as HTMLTableRowElement;\n\n if (rowIndex === targetAriaRowIndex) {\n break;\n }\n if (delta >= 0 && rowIndex > targetAriaRowIndex) {\n break;\n }\n if (delta < 0 && rowIndex < targetAriaRowIndex) {\n break;\n }\n }\n return targetRow;\n}\n\n/**\n * Finds the closest column to the targetAriaColIndex+delta in the direction of delta.\n */\nexport function findTableRowCellByAriaColIndex(\n tableRow: HTMLTableRowElement,\n targetAriaColIndex: number,\n delta: number\n) {\n let targetCell: null | HTMLTableCellElement = null;\n const cellElements = Array.from(tableRow.querySelectorAll('td[aria-colindex],th[aria-colindex]'));\n if (delta < 0) {\n cellElements.reverse();\n }\n for (const element of cellElements) {\n const columnIndex = parseInt(element.getAttribute('aria-colindex') ?? '');\n targetCell = element as HTMLTableCellElement;\n\n if (columnIndex === targetAriaColIndex) {\n break;\n }\n if (delta >= 0 && columnIndex > targetAriaColIndex) {\n break;\n }\n if (delta < 0 && columnIndex < targetAriaColIndex) {\n break;\n }\n }\n return targetCell;\n}\n\nexport function isTableCell(element: Element) {\n return element.tagName === 'TD' || element.tagName === 'TH';\n}\n\nexport function focusNextElement(element: null | HTMLElement) {\n if (element) {\n // Table cells are not focusable by default (tabIndex=undefined) so cell.focus() is ignored.\n // To force focusing we have to imperatively set tabIndex to -1. This tabIndex is then to be\n // overridden by the single tab stop context to be 0 or undefined.\n // We cannot make cells have tabIndex=-1 by default due to an associated bug with text selection, see: PR 2158.\n if (isTableCell(element) && element.tabIndex !== 0) {\n element.tabIndex = -1;\n }\n element.focus();\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tools-header.js","sourceRoot":"","sources":["../../../src/table/tools-header.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAE5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAUrC,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAoB;IAClH,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,uBAAuB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC;IAClD,MAAM,cAAc,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC;IACnE,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,EAAE;QAClD,cAAc,CAAC,SAAS,CAAC,CAAC;KAC3B;IACD,MAAM,OAAO,GAAG,UAAU,KAAK,SAAS,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,UAAU,IAAI,WAAW,CAAC;IACrD,OAAO,CACL;QACG,cAAc,CAAC,CAAC,CAAC,8BAAM,EAAE,EAAE,SAAS,IAAG,MAAM,CAAQ,CAAC,CAAC,CAAC,MAAM;QAC9D,QAAQ,IAAI,CACX,6BAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC;YAC3E,MAAM,IAAI,CACT,6BACE,SAAS,EAAE,MAAM,CAAC,iBAAiB,CAAC,EACpC,cAAc,EAAE,GAAG,EAAE,CAAC,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAG,QAAQ,CAAC,EACnD,gBAAgB,EAAE,GAAG,EAAE,CAAC,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAG,QAAQ,CAAC,IAEpD,MAAM,CACH,CACP;YACD,6BAAK,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC;gBACxC,UAAU,IAAI,CACb,6BAAK,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAG,YAAY,CAAC,IAChG,UAAU,CACP,CACP;gBACA,WAAW,IAAI,CACd,6BAAK,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAG,aAAa,CAAC,IAClG,WAAW,CACR,CACP,CACG,CACF,CACP,CACA,CACJ,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useContext } from 'react';\nimport clsx from 'clsx';\n\nimport { useUniqueId } from '@cloudscape-design/component-toolkit/internal';\n\nimport { CollectionLabelContext } from '../internal/context/collection-label-context';\nimport { useContainerBreakpoints } from '../internal/hooks/container-queries';\n\nimport styles from './styles.css.js';\n\ninterface ToolsHeaderProps {\n header: React.ReactNode;\n filter?: React.ReactNode;\n pagination?: React.ReactNode;\n preferences?: React.ReactNode;\n setLastUserAction?: (name: string) => void;\n}\n\nexport default function ToolsHeader({ header, filter, pagination, preferences, setLastUserAction }: ToolsHeaderProps) {\n const [breakpoint, ref] = useContainerBreakpoints(['xs']);\n const isHeaderString = typeof header === 'string';\n const assignHeaderId = useContext(CollectionLabelContext).assignId;\n const headingId = useUniqueId('heading');\n if (assignHeaderId !== undefined && isHeaderString) {\n assignHeaderId(headingId);\n }\n const isSmall = breakpoint === 'default';\n const hasTools = filter || pagination || preferences;\n return (\n <>\n {isHeaderString ? <span id={headingId}>{header}</span> : header}\n {hasTools && (\n <div ref={ref} className={clsx(styles.tools, isSmall && styles['tools-small'])}>\n {filter && (\n <div\n className={styles['tools-filtering']}\n onClickCapture={() => setLastUserAction?.('filter')}\n onKeyDownCapture={() => setLastUserAction?.('filter')}\n >\n {filter}\n </div>\n )}\n <div className={styles['tools-align-right']}>\n {pagination && (\n <div className={styles['tools-pagination']} onClickCapture={() => setLastUserAction?.('pagination')}>\n {pagination}\n </div>\n )}\n {preferences && (\n <div className={styles['tools-preferences']} onClickCapture={() => setLastUserAction?.('preferences')}>\n {preferences}\n </div>\n )}\n </div>\n </div>\n )}\n </>\n );\n}\n"]}
1
+ {"version":3,"file":"tools-header.js","sourceRoot":"","sources":["../../../src/table/tools-header.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAE5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAUrC,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAoB;IAClH,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,uBAAuB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC;IAClD,MAAM,cAAc,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAC;IACnE,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,EAAE,CAAC;QACnD,cAAc,CAAC,SAAS,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,OAAO,GAAG,UAAU,KAAK,SAAS,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,UAAU,IAAI,WAAW,CAAC;IACrD,OAAO,CACL;QACG,cAAc,CAAC,CAAC,CAAC,8BAAM,EAAE,EAAE,SAAS,IAAG,MAAM,CAAQ,CAAC,CAAC,CAAC,MAAM;QAC9D,QAAQ,IAAI,CACX,6BAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC;YAC3E,MAAM,IAAI,CACT,6BACE,SAAS,EAAE,MAAM,CAAC,iBAAiB,CAAC,EACpC,cAAc,EAAE,GAAG,EAAE,CAAC,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAG,QAAQ,CAAC,EACnD,gBAAgB,EAAE,GAAG,EAAE,CAAC,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAG,QAAQ,CAAC,IAEpD,MAAM,CACH,CACP;YACD,6BAAK,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC;gBACxC,UAAU,IAAI,CACb,6BAAK,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAG,YAAY,CAAC,IAChG,UAAU,CACP,CACP;gBACA,WAAW,IAAI,CACd,6BAAK,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAG,aAAa,CAAC,IAClG,WAAW,CACR,CACP,CACG,CACF,CACP,CACA,CACJ,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useContext } from 'react';\nimport clsx from 'clsx';\n\nimport { useUniqueId } from '@cloudscape-design/component-toolkit/internal';\n\nimport { CollectionLabelContext } from '../internal/context/collection-label-context';\nimport { useContainerBreakpoints } from '../internal/hooks/container-queries';\n\nimport styles from './styles.css.js';\n\ninterface ToolsHeaderProps {\n header: React.ReactNode;\n filter?: React.ReactNode;\n pagination?: React.ReactNode;\n preferences?: React.ReactNode;\n setLastUserAction?: (name: string) => void;\n}\n\nexport default function ToolsHeader({ header, filter, pagination, preferences, setLastUserAction }: ToolsHeaderProps) {\n const [breakpoint, ref] = useContainerBreakpoints(['xs']);\n const isHeaderString = typeof header === 'string';\n const assignHeaderId = useContext(CollectionLabelContext).assignId;\n const headingId = useUniqueId('heading');\n if (assignHeaderId !== undefined && isHeaderString) {\n assignHeaderId(headingId);\n }\n const isSmall = breakpoint === 'default';\n const hasTools = filter || pagination || preferences;\n return (\n <>\n {isHeaderString ? <span id={headingId}>{header}</span> : header}\n {hasTools && (\n <div ref={ref} className={clsx(styles.tools, isSmall && styles['tools-small'])}>\n {filter && (\n <div\n className={styles['tools-filtering']}\n onClickCapture={() => setLastUserAction?.('filter')}\n onKeyDownCapture={() => setLastUserAction?.('filter')}\n >\n {filter}\n </div>\n )}\n <div className={styles['tools-align-right']}>\n {pagination && (\n <div className={styles['tools-pagination']} onClickCapture={() => setLastUserAction?.('pagination')}>\n {pagination}\n </div>\n )}\n {preferences && (\n <div className={styles['tools-preferences']} onClickCapture={() => setLastUserAction?.('preferences')}>\n {preferences}\n </div>\n )}\n </div>\n </div>\n )}\n </>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"use-cell-editing.js","sourceRoot":"","sources":["../../../src/table/use-cell-editing.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;;AAEtC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE9C,OAAO,EAA0B,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAajF,MAAM,UAAU,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAoB;IACrE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC5E,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC1F,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpE,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,EAAE;QACnC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAChC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAEnE,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,aAAsB,EAAE,EAAE;QAC9D,MAAM,cAAc,GAAG,mBAAmB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,cAAc,EAAE;YACnB,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,aAAa,EAAE;gBAClB,yBAAyB,CAAC,MAAM,CAAC,CAAC;aACnC;SACF;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAU,EAAE,EAAE,CAAC,GAAG,MAAK,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,GAAG,CAAA,IAAI,GAAG,KAAK,eAAe,CAAC,GAAG,CAAC;IAE3G,MAAM,uBAAuB,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAU,EAAE,EAAE,CACvD,GAAG,MAAK,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,GAAG,CAAA,IAAI,GAAG,KAAK,sBAAsB,CAAC,GAAG,CAAC;IAE5E,MAAM,UAAU,GAAG,QAAQ;QACzB,CAAC,CAAC,CAAO,GAAG,IAAiC,EAAE,EAAE;YAC7C,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI;gBACF,MAAM,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;aACzB;oBAAS;gBACR,qBAAqB,CAAC,KAAK,CAAC,CAAC;aAC9B;QACH,CAAC,CAAA;QACH,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO;QACL,SAAS,EAAE,kBAAkB;QAC7B,SAAS;QACT,UAAU;QACV,YAAY;QACZ,uBAAuB;QACvB,YAAY;QACZ,UAAU;KACX,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useCallback, useState } from 'react';\n\nimport { CancelableEventHandler, fireCancelableEvent } from '../internal/events';\nimport { TableProps } from './interfaces';\n\ninterface CellId {\n row: string; // Item ID (from trackBy) or row index\n col: string; // Column ID or column index\n}\n\ninterface CellEditingProps {\n onCancel?: CancelableEventHandler;\n onSubmit?: TableProps.SubmitEditFunction<any>;\n}\n\nexport function useCellEditing({ onCancel, onSubmit }: CellEditingProps) {\n const [currentEditCell, setCurrentEditCell] = useState<null | CellId>(null);\n const [lastSuccessfulEditCell, setLastSuccessfulEditCell] = useState<null | CellId>(null);\n const [currentEditLoading, setCurrentEditLoading] = useState(false);\n\n const startEdit = (cellId: CellId) => {\n setLastSuccessfulEditCell(null);\n setCurrentEditCell(cellId);\n };\n\n const cancelEdit = useCallback(() => setCurrentEditCell(null), []);\n\n const completeEdit = (cellId: CellId, editCancelled: boolean) => {\n const eventCancelled = fireCancelableEvent(onCancel, {});\n if (!eventCancelled) {\n setCurrentEditCell(null);\n if (!editCancelled) {\n setLastSuccessfulEditCell(cellId);\n }\n }\n };\n\n const checkEditing = ({ row, col }: CellId) => row === currentEditCell?.row && col === currentEditCell.col;\n\n const checkLastSuccessfulEdit = ({ row, col }: CellId) =>\n row === lastSuccessfulEditCell?.row && col === lastSuccessfulEditCell.col;\n\n const submitEdit = onSubmit\n ? async (...args: Parameters<typeof onSubmit>) => {\n setCurrentEditLoading(true);\n try {\n await onSubmit(...args);\n } finally {\n setCurrentEditLoading(false);\n }\n }\n : undefined;\n\n return {\n isLoading: currentEditLoading,\n startEdit,\n cancelEdit,\n checkEditing,\n checkLastSuccessfulEdit,\n completeEdit,\n submitEdit,\n };\n}\n"]}
1
+ {"version":3,"file":"use-cell-editing.js","sourceRoot":"","sources":["../../../src/table/use-cell-editing.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;;AAEtC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE9C,OAAO,EAA0B,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAajF,MAAM,UAAU,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAoB;IACrE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC5E,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC1F,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpE,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,EAAE;QACnC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAChC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAEnE,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,aAAsB,EAAE,EAAE;QAC9D,MAAM,cAAc,GAAG,mBAAmB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,yBAAyB,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAU,EAAE,EAAE,CAAC,GAAG,MAAK,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,GAAG,CAAA,IAAI,GAAG,KAAK,eAAe,CAAC,GAAG,CAAC;IAE3G,MAAM,uBAAuB,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAU,EAAE,EAAE,CACvD,GAAG,MAAK,sBAAsB,aAAtB,sBAAsB,uBAAtB,sBAAsB,CAAE,GAAG,CAAA,IAAI,GAAG,KAAK,sBAAsB,CAAC,GAAG,CAAC;IAE5E,MAAM,UAAU,GAAG,QAAQ;QACzB,CAAC,CAAC,CAAO,GAAG,IAAiC,EAAE,EAAE;YAC7C,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;YAC1B,CAAC;oBAAS,CAAC;gBACT,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CAAA;QACH,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO;QACL,SAAS,EAAE,kBAAkB;QAC7B,SAAS;QACT,UAAU;QACV,YAAY;QACZ,uBAAuB;QACvB,YAAY;QACZ,UAAU;KACX,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useCallback, useState } from 'react';\n\nimport { CancelableEventHandler, fireCancelableEvent } from '../internal/events';\nimport { TableProps } from './interfaces';\n\ninterface CellId {\n row: string; // Item ID (from trackBy) or row index\n col: string; // Column ID or column index\n}\n\ninterface CellEditingProps {\n onCancel?: CancelableEventHandler;\n onSubmit?: TableProps.SubmitEditFunction<any>;\n}\n\nexport function useCellEditing({ onCancel, onSubmit }: CellEditingProps) {\n const [currentEditCell, setCurrentEditCell] = useState<null | CellId>(null);\n const [lastSuccessfulEditCell, setLastSuccessfulEditCell] = useState<null | CellId>(null);\n const [currentEditLoading, setCurrentEditLoading] = useState(false);\n\n const startEdit = (cellId: CellId) => {\n setLastSuccessfulEditCell(null);\n setCurrentEditCell(cellId);\n };\n\n const cancelEdit = useCallback(() => setCurrentEditCell(null), []);\n\n const completeEdit = (cellId: CellId, editCancelled: boolean) => {\n const eventCancelled = fireCancelableEvent(onCancel, {});\n if (!eventCancelled) {\n setCurrentEditCell(null);\n if (!editCancelled) {\n setLastSuccessfulEditCell(cellId);\n }\n }\n };\n\n const checkEditing = ({ row, col }: CellId) => row === currentEditCell?.row && col === currentEditCell.col;\n\n const checkLastSuccessfulEdit = ({ row, col }: CellId) =>\n row === lastSuccessfulEditCell?.row && col === lastSuccessfulEditCell.col;\n\n const submitEdit = onSubmit\n ? async (...args: Parameters<typeof onSubmit>) => {\n setCurrentEditLoading(true);\n try {\n await onSubmit(...args);\n } finally {\n setCurrentEditLoading(false);\n }\n }\n : undefined;\n\n return {\n isLoading: currentEditLoading,\n startEdit,\n cancelEdit,\n checkEditing,\n checkLastSuccessfulEdit,\n completeEdit,\n submitEdit,\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"use-column-widths.js","sourceRoot":"","sources":["../../../src/table/use-column-widths.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, { createContext, useContext, useEffect, useRef, useState } from 'react';\n\nimport { useResizeObserver, useStableCallback } from '@cloudscape-design/component-toolkit/internal';\nimport { getLogicalBoundingClientRect } from '@cloudscape-design/component-toolkit/internal';\n\nimport { ColumnWidthStyle, setElementWidths } from './column-widths-utils';\n\nexport const DEFAULT_COLUMN_WIDTH = 120;\n\nexport interface ColumnWidthDefinition extends ColumnWidthStyle {\n id: PropertyKey;\n}\n\nfunction readWidths(\n getCell: (columnId: PropertyKey) => null | HTMLElement,\n visibleColumns: readonly ColumnWidthDefinition[]\n) {\n const result = new Map<PropertyKey, number>();\n for (let index = 0; index < visibleColumns.length; index++) {\n const column = visibleColumns[index];\n let width = (column.width as number) || 0;\n const minWidth = (column.minWidth as number) || width || DEFAULT_COLUMN_WIDTH;\n if (\n !width && // read width from the DOM if it is missing in the config\n index !== visibleColumns.length - 1 // skip reading for the last column, because it expands to fully fit the container\n ) {\n const colEl = getCell(column.id);\n width = colEl ? getLogicalBoundingClientRect(colEl).inlineSize : DEFAULT_COLUMN_WIDTH;\n }\n result.set(column.id, Math.max(width, minWidth));\n }\n return result;\n}\n\nfunction updateWidths(\n visibleColumns: readonly ColumnWidthDefinition[],\n oldWidths: Map<PropertyKey, number>,\n newWidth: number,\n columnId: PropertyKey\n) {\n const column = visibleColumns.find(column => column.id === columnId);\n let minWidth = DEFAULT_COLUMN_WIDTH;\n if (typeof column?.width === 'number' && column.width < DEFAULT_COLUMN_WIDTH) {\n minWidth = column?.width;\n }\n if (typeof column?.minWidth === 'number') {\n minWidth = column?.minWidth;\n }\n newWidth = Math.max(newWidth, minWidth);\n if (oldWidths.get(columnId) === newWidth) {\n return oldWidths;\n }\n const newWidths = new Map(oldWidths);\n newWidths.set(columnId, newWidth);\n return newWidths;\n}\n\ninterface WidthsContext {\n getColumnStyles(sticky: boolean, columnId: PropertyKey): ColumnWidthStyle;\n columnWidths: Map<PropertyKey, number>;\n updateColumn: (columnId: PropertyKey, newWidth: number) => void;\n setCell: (sticky: boolean, columnId: PropertyKey, node: null | HTMLElement) => void;\n}\n\nconst WidthsContext = createContext<WidthsContext>({\n getColumnStyles: () => ({}),\n columnWidths: new Map(),\n updateColumn: () => {},\n setCell: () => {},\n});\n\ninterface WidthProviderProps {\n visibleColumns: readonly ColumnWidthDefinition[];\n resizableColumns: boolean | undefined;\n containerRef: React.RefObject<HTMLElement>;\n children: React.ReactNode;\n}\n\nexport function ColumnWidthsProvider({ visibleColumns, resizableColumns, containerRef, children }: WidthProviderProps) {\n const visibleColumnsRef = useRef<PropertyKey[] | null>(null);\n const containerWidthRef = useRef(0);\n const [columnWidths, setColumnWidths] = useState<null | Map<PropertyKey, number>>(null);\n\n const cellsRef = useRef(new Map<PropertyKey, HTMLElement>());\n const stickyCellsRef = useRef(new Map<PropertyKey, HTMLElement>());\n const getCell = (columnId: PropertyKey): null | HTMLElement => cellsRef.current.get(columnId) ?? null;\n const setCell = (sticky: boolean, columnId: PropertyKey, node: null | HTMLElement) => {\n const ref = sticky ? stickyCellsRef : cellsRef;\n if (node) {\n ref.current.set(columnId, node);\n } else {\n ref.current.delete(columnId);\n }\n };\n\n const getColumnStyles = (sticky: boolean, columnId: PropertyKey): ColumnWidthStyle => {\n const column = visibleColumns.find(column => column.id === columnId);\n if (!column) {\n return {};\n }\n\n if (sticky) {\n return {\n width:\n cellsRef.current.get(column.id)?.getBoundingClientRect().width ||\n (columnWidths?.get(column.id) ?? column.width),\n };\n }\n\n if (resizableColumns && columnWidths) {\n const isLastColumn = column.id === visibleColumns[visibleColumns.length - 1]?.id;\n const totalWidth = visibleColumns.reduce(\n (sum, { id }) => sum + (columnWidths.get(id) || DEFAULT_COLUMN_WIDTH),\n 0\n );\n if (isLastColumn && containerWidthRef.current > totalWidth) {\n return { width: 'auto', minWidth: column?.minWidth };\n } else {\n return { width: columnWidths.get(column.id), minWidth: column?.minWidth };\n }\n }\n return {\n width: column.width,\n minWidth: column.minWidth,\n maxWidth: !resizableColumns ? column.maxWidth : undefined,\n };\n };\n\n // Imperatively sets width style for a cell avoiding React state.\n // This allows setting the style as soon container's size change is observed.\n const updateColumnWidths = useStableCallback(() => {\n for (const { id } of visibleColumns) {\n const element = cellsRef.current.get(id);\n if (element) {\n setElementWidths(element, getColumnStyles(false, id));\n }\n }\n // Sticky column widths must be synchronized once all real column widths are assigned.\n for (const { id } of visibleColumns) {\n const element = stickyCellsRef.current.get(id);\n if (element) {\n setElementWidths(element, getColumnStyles(true, id));\n }\n }\n });\n\n // Observes container size and requests an update to the last cell width as it depends on the container's width.\n useResizeObserver(containerRef, ({ contentBoxWidth: containerWidth }) => {\n containerWidthRef.current = containerWidth;\n requestAnimationFrame(() => updateColumnWidths());\n });\n\n // The widths of the dynamically added columns (after the first render) if not set explicitly\n // will default to the DEFAULT_COLUMN_WIDTH.\n useEffect(() => {\n updateColumnWidths();\n\n if (!resizableColumns) {\n return;\n }\n let updated = false;\n const newColumnWidths = new Map(columnWidths);\n const lastVisible = visibleColumnsRef.current;\n if (lastVisible) {\n for (let index = 0; index < visibleColumns.length; index++) {\n const column = visibleColumns[index];\n if (!columnWidths?.get(column.id) && lastVisible.indexOf(column.id) === -1) {\n updated = true;\n newColumnWidths.set(column.id, (column.width as number) || DEFAULT_COLUMN_WIDTH);\n }\n }\n if (updated) {\n setColumnWidths(newColumnWidths);\n }\n }\n visibleColumnsRef.current = visibleColumns.map(column => column.id);\n }, [columnWidths, resizableColumns, visibleColumns, updateColumnWidths]);\n\n // Read the actual column widths after the first render to employ the browser defaults for\n // those columns without explicit width.\n useEffect(() => {\n if (!resizableColumns) {\n return;\n }\n setColumnWidths(() => readWidths(getCell, visibleColumns));\n // This code is intended to run only at the first render and should not re-run when table props change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n function updateColumn(columnId: PropertyKey, newWidth: number) {\n setColumnWidths(columnWidths => updateWidths(visibleColumns, columnWidths ?? new Map(), newWidth, columnId));\n }\n\n return (\n <WidthsContext.Provider value={{ getColumnStyles, columnWidths: columnWidths ?? new Map(), updateColumn, setCell }}>\n {children}\n </WidthsContext.Provider>\n );\n}\n\nexport function useColumnWidths() {\n return useContext(WidthsContext);\n}\n"]}
1
+ {"version":3,"file":"use-column-widths.js","sourceRoot":"","sources":["../../../src/table/use-column-widths.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, { createContext, useContext, useEffect, useRef, useState } from 'react';\n\nimport { useResizeObserver, useStableCallback } from '@cloudscape-design/component-toolkit/internal';\nimport { getLogicalBoundingClientRect } from '@cloudscape-design/component-toolkit/internal';\n\nimport { ColumnWidthStyle, setElementWidths } from './column-widths-utils';\n\nexport const DEFAULT_COLUMN_WIDTH = 120;\n\nexport interface ColumnWidthDefinition extends ColumnWidthStyle {\n id: PropertyKey;\n}\n\nfunction readWidths(\n getCell: (columnId: PropertyKey) => null | HTMLElement,\n visibleColumns: readonly ColumnWidthDefinition[]\n) {\n const result = new Map<PropertyKey, number>();\n for (let index = 0; index < visibleColumns.length; index++) {\n const column = visibleColumns[index];\n let width = (column.width as number) || 0;\n const minWidth = (column.minWidth as number) || width || DEFAULT_COLUMN_WIDTH;\n if (\n !width && // read width from the DOM if it is missing in the config\n index !== visibleColumns.length - 1 // skip reading for the last column, because it expands to fully fit the container\n ) {\n const colEl = getCell(column.id);\n width = colEl ? getLogicalBoundingClientRect(colEl).inlineSize : DEFAULT_COLUMN_WIDTH;\n }\n result.set(column.id, Math.max(width, minWidth));\n }\n return result;\n}\n\nfunction updateWidths(\n visibleColumns: readonly ColumnWidthDefinition[],\n oldWidths: Map<PropertyKey, number>,\n newWidth: number,\n columnId: PropertyKey\n) {\n const column = visibleColumns.find(column => column.id === columnId);\n let minWidth = DEFAULT_COLUMN_WIDTH;\n if (typeof column?.width === 'number' && column.width < DEFAULT_COLUMN_WIDTH) {\n minWidth = column?.width;\n }\n if (typeof column?.minWidth === 'number') {\n minWidth = column?.minWidth;\n }\n newWidth = Math.max(newWidth, minWidth);\n if (oldWidths.get(columnId) === newWidth) {\n return oldWidths;\n }\n const newWidths = new Map(oldWidths);\n newWidths.set(columnId, newWidth);\n return newWidths;\n}\n\ninterface WidthsContext {\n getColumnStyles(sticky: boolean, columnId: PropertyKey): ColumnWidthStyle;\n columnWidths: Map<PropertyKey, number>;\n updateColumn: (columnId: PropertyKey, newWidth: number) => void;\n setCell: (sticky: boolean, columnId: PropertyKey, node: null | HTMLElement) => void;\n}\n\nconst WidthsContext = createContext<WidthsContext>({\n getColumnStyles: () => ({}),\n columnWidths: new Map(),\n updateColumn: () => {},\n setCell: () => {},\n});\n\ninterface WidthProviderProps {\n visibleColumns: readonly ColumnWidthDefinition[];\n resizableColumns: boolean | undefined;\n containerRef: React.RefObject<HTMLElement>;\n children: React.ReactNode;\n}\n\nexport function ColumnWidthsProvider({ visibleColumns, resizableColumns, containerRef, children }: WidthProviderProps) {\n const visibleColumnsRef = useRef<PropertyKey[] | null>(null);\n const containerWidthRef = useRef(0);\n const [columnWidths, setColumnWidths] = useState<null | Map<PropertyKey, number>>(null);\n\n const cellsRef = useRef(new Map<PropertyKey, HTMLElement>());\n const stickyCellsRef = useRef(new Map<PropertyKey, HTMLElement>());\n const getCell = (columnId: PropertyKey): null | HTMLElement => cellsRef.current.get(columnId) ?? null;\n const setCell = (sticky: boolean, columnId: PropertyKey, node: null | HTMLElement) => {\n const ref = sticky ? stickyCellsRef : cellsRef;\n if (node) {\n ref.current.set(columnId, node);\n } else {\n ref.current.delete(columnId);\n }\n };\n\n const getColumnStyles = (sticky: boolean, columnId: PropertyKey): ColumnWidthStyle => {\n const column = visibleColumns.find(column => column.id === columnId);\n if (!column) {\n return {};\n }\n\n if (sticky) {\n return {\n width:\n cellsRef.current.get(column.id)?.getBoundingClientRect().width ||\n (columnWidths?.get(column.id) ?? column.width),\n };\n }\n\n if (resizableColumns && columnWidths) {\n const isLastColumn = column.id === visibleColumns[visibleColumns.length - 1]?.id;\n const totalWidth = visibleColumns.reduce(\n (sum, { id }) => sum + (columnWidths.get(id) || DEFAULT_COLUMN_WIDTH),\n 0\n );\n if (isLastColumn && containerWidthRef.current > totalWidth) {\n return { width: 'auto', minWidth: column?.minWidth };\n } else {\n return { width: columnWidths.get(column.id), minWidth: column?.minWidth };\n }\n }\n return {\n width: column.width,\n minWidth: column.minWidth,\n maxWidth: !resizableColumns ? column.maxWidth : undefined,\n };\n };\n\n // Imperatively sets width style for a cell avoiding React state.\n // This allows setting the style as soon container's size change is observed.\n const updateColumnWidths = useStableCallback(() => {\n for (const { id } of visibleColumns) {\n const element = cellsRef.current.get(id);\n if (element) {\n setElementWidths(element, getColumnStyles(false, id));\n }\n }\n // Sticky column widths must be synchronized once all real column widths are assigned.\n for (const { id } of visibleColumns) {\n const element = stickyCellsRef.current.get(id);\n if (element) {\n setElementWidths(element, getColumnStyles(true, id));\n }\n }\n });\n\n // Observes container size and requests an update to the last cell width as it depends on the container's width.\n useResizeObserver(containerRef, ({ contentBoxWidth: containerWidth }) => {\n containerWidthRef.current = containerWidth;\n requestAnimationFrame(() => updateColumnWidths());\n });\n\n // The widths of the dynamically added columns (after the first render) if not set explicitly\n // will default to the DEFAULT_COLUMN_WIDTH.\n useEffect(() => {\n updateColumnWidths();\n\n if (!resizableColumns) {\n return;\n }\n let updated = false;\n const newColumnWidths = new Map(columnWidths);\n const lastVisible = visibleColumnsRef.current;\n if (lastVisible) {\n for (let index = 0; index < visibleColumns.length; index++) {\n const column = visibleColumns[index];\n if (!columnWidths?.get(column.id) && lastVisible.indexOf(column.id) === -1) {\n updated = true;\n newColumnWidths.set(column.id, (column.width as number) || DEFAULT_COLUMN_WIDTH);\n }\n }\n if (updated) {\n setColumnWidths(newColumnWidths);\n }\n }\n visibleColumnsRef.current = visibleColumns.map(column => column.id);\n }, [columnWidths, resizableColumns, visibleColumns, updateColumnWidths]);\n\n // Read the actual column widths after the first render to employ the browser defaults for\n // those columns without explicit width.\n useEffect(() => {\n if (!resizableColumns) {\n return;\n }\n setColumnWidths(() => readWidths(getCell, visibleColumns));\n // This code is intended to run only at the first render and should not re-run when table props change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n function updateColumn(columnId: PropertyKey, newWidth: number) {\n setColumnWidths(columnWidths => updateWidths(visibleColumns, columnWidths ?? new Map(), newWidth, columnId));\n }\n\n return (\n <WidthsContext.Provider value={{ getColumnStyles, columnWidths: columnWidths ?? new Map(), updateColumn, setCell }}>\n {children}\n </WidthsContext.Provider>\n );\n}\n\nexport function useColumnWidths() {\n return useContext(WidthsContext);\n}\n"]}
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
1
  export declare function usePreventStickyClickScroll(wrapperRefObject: React.RefObject<HTMLDivElement>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"use-prevent-sticky-click-scroll.d.ts","sourceRoot":"","sources":["../../../src/table/use-prevent-sticky-click-scroll.ts"],"names":[],"mappings":";AAuBA,wBAAgB,2BAA2B,CAAC,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,QAqC5F"}
1
+ {"version":3,"file":"use-prevent-sticky-click-scroll.d.ts","sourceRoot":"","sources":["../../../src/table/use-prevent-sticky-click-scroll.ts"],"names":[],"mappings":"AAuBA,wBAAgB,2BAA2B,CAAC,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,QAqC5F"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-prevent-sticky-click-scroll.js","sourceRoot":"","sources":["../../../src/table/use-prevent-sticky-click-scroll.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;;;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,cAAc,MAAM,2BAA2B,CAAC;AAEvD,MAAM,kBAAkB,GAAG,IAAI,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;AAE/D,4DAA4D;AAC5D,mFAAmF;AACnF,uDAAuD;AACvD,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,wHAAwH;AACxH,6BAA6B;AAC7B,iIAAiI;AACjI,oIAAoI;AACpI,mIAAmI;AACnI,+HAA+H;AAC/H,EAAE;AACF,0GAA0G;AAC1G,qHAAqH;AACrH,MAAM,UAAU,2BAA2B,CAAC,gBAAiD;IAC3F,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,gBAAgB,CAAC,OAAO,EAAE;YAC5B,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC;YAC3C,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;YAEpC,mFAAmF;YACnF,0EAA0E;YAC1E,gEAAgE;YAChE,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE;gBAC/B,IACE,KAAK,CAAC,MAAM;oBACZ,KAAK,CAAC,MAAM,YAAY,WAAW;oBACnC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,EACtF;oBACA,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;iBACtC;YACH,CAAC,CAAC;YACF,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAE7C,6GAA6G;YAC7G,4GAA4G;YAC5G,6EAA6E;YAC7E,MAAM,QAAQ,GAAG,GAAG,EAAE;gBACpB,IAAI,UAAU,CAAC,MAAM,EAAE;oBACrB,SAAS,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;oBAC7C,UAAU,CAAC,KAAK,EAAE,CAAC;iBACpB;YACH,CAAC,CAAC;YACF,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAE/C,OAAO,GAAG,EAAE;gBACV,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAChD,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACpD,CAAC,CAAC;SACH;IACH,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU;IAAhB;QACE,gCAAa,UAAU,CAAC,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC,EAAC;QACrC,iCAAc,CAAC,EAAC;QAChB,6BAAU,KAAK,EAAC;IAsBlB,CAAC;IApBQ,GAAG,CAAC,UAAkB;QAC3B,IAAI,CAAC,uBAAA,IAAI,0BAAQ,EAAE;YACjB,uBAAA,IAAI,sBAAW,IAAI,MAAA,CAAC;YACpB,uBAAA,IAAI,0BAAe,UAAU,MAAA,CAAC;YAC9B,uBAAA,IAAI,yBAAc,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,uBAAA,IAAI,sBAAW,KAAK,MAAA,CAAC,EAAE,iBAAiB,CAAC,MAAA,CAAC;SAC/E;IACH,CAAC;IAEM,KAAK;QACV,uBAAA,IAAI,sBAAW,KAAK,MAAA,CAAC;QACrB,YAAY,CAAC,uBAAA,IAAI,6BAAW,CAAC,CAAC;IAChC,CAAC;IAED,IAAW,MAAM;QACf,OAAO,uBAAA,IAAI,0BAAQ,CAAC;IACtB,CAAC;IAED,IAAW,UAAU;QACnB,OAAO,uBAAA,IAAI,8BAAY,CAAC;IAC1B,CAAC;CACF","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { useEffect } from 'react';\n\nimport bodyCellStyles from './body-cell/styles.css.js';\n\nconst stickyCellSelector = `.${bodyCellStyles['sticky-cell']}`;\n\n// The scroll lock timeout value was determined empirically.\n// It is small enough to not interfere with sequential user events, and long enough\n// to ensure the browser-triggered scroll event occurs.\nconst scrollLockTimeout = 50;\n\n// The function provides a workaround for a Chrome issue causing unexpected scroll when clicking on interactive elements\n// inside sticky table cells.\n// When an interactive element (cell editor button, row selector, or a custom interactive button or link) is clicked, it receives\n// focus. The browser then tries to ensure the focused element is visible on screen, and it scrolls the element into view as needed.\n// In Chrome, this scrolling also occurs when clicking an interactive element inside a sticky cell, despite it being fully visible.\n// This causes an unneeded and unexpected scroll of the table wrapper towards the sticky element (on the left or on the right).\n//\n// Note: If moving focus to an interactive element using the keyboard, the automatic scroll still happens.\n// That is because the implemented workaround is not suitable for focusin events due to a difference in events order.\nexport function usePreventStickyClickScroll(wrapperRefObject: React.RefObject<HTMLDivElement>) {\n useEffect(() => {\n if (wrapperRefObject.current) {\n const wrapperEl = wrapperRefObject.current;\n const scrollLock = new ScrollLock();\n\n // For click events inside sticky cells we capture the table wrapper scroll offset.\n // This is used to reset the browser-enforced scrolling that is to follow.\n // The scroll lock is automatically cleared after a short delay.\n const onClick = (event: Event) => {\n if (\n event.target &&\n event.target instanceof HTMLElement &&\n (event.target.matches(stickyCellSelector) || event.target.closest(stickyCellSelector))\n ) {\n scrollLock.set(wrapperEl.scrollLeft);\n }\n };\n wrapperEl.addEventListener('click', onClick);\n\n // We cannot prevent the browser-issued scroll events from happening, and cannot cancel the default behavior.\n // Instead, if we detect a scroll event that immediately follows a click inside a sticky cell, we negate the\n // effect of it by resetting the wrapper scroll offset to its previous value.\n const onScroll = () => {\n if (scrollLock.active) {\n wrapperEl.scrollLeft = scrollLock.scrollLeft;\n scrollLock.clear();\n }\n };\n wrapperEl.addEventListener('scroll', onScroll);\n\n return () => {\n wrapperEl.removeEventListener('click', onClick);\n wrapperEl.removeEventListener('scroll', onScroll);\n };\n }\n }, [wrapperRefObject]);\n}\n\nclass ScrollLock {\n #timeoutId = setTimeout(() => {}, 0);\n #scrollLeft = 0;\n #active = false;\n\n public set(scrollLeft: number) {\n if (!this.#active) {\n this.#active = true;\n this.#scrollLeft = scrollLeft;\n this.#timeoutId = setTimeout(() => (this.#active = false), scrollLockTimeout);\n }\n }\n\n public clear() {\n this.#active = false;\n clearTimeout(this.#timeoutId);\n }\n\n public get active() {\n return this.#active;\n }\n\n public get scrollLeft() {\n return this.#scrollLeft;\n }\n}\n"]}
1
+ {"version":3,"file":"use-prevent-sticky-click-scroll.js","sourceRoot":"","sources":["../../../src/table/use-prevent-sticky-click-scroll.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 } from 'react';\n\nimport bodyCellStyles from './body-cell/styles.css.js';\n\nconst stickyCellSelector = `.${bodyCellStyles['sticky-cell']}`;\n\n// The scroll lock timeout value was determined empirically.\n// It is small enough to not interfere with sequential user events, and long enough\n// to ensure the browser-triggered scroll event occurs.\nconst scrollLockTimeout = 50;\n\n// The function provides a workaround for a Chrome issue causing unexpected scroll when clicking on interactive elements\n// inside sticky table cells.\n// When an interactive element (cell editor button, row selector, or a custom interactive button or link) is clicked, it receives\n// focus. The browser then tries to ensure the focused element is visible on screen, and it scrolls the element into view as needed.\n// In Chrome, this scrolling also occurs when clicking an interactive element inside a sticky cell, despite it being fully visible.\n// This causes an unneeded and unexpected scroll of the table wrapper towards the sticky element (on the left or on the right).\n//\n// Note: If moving focus to an interactive element using the keyboard, the automatic scroll still happens.\n// That is because the implemented workaround is not suitable for focusin events due to a difference in events order.\nexport function usePreventStickyClickScroll(wrapperRefObject: React.RefObject<HTMLDivElement>) {\n useEffect(() => {\n if (wrapperRefObject.current) {\n const wrapperEl = wrapperRefObject.current;\n const scrollLock = new ScrollLock();\n\n // For click events inside sticky cells we capture the table wrapper scroll offset.\n // This is used to reset the browser-enforced scrolling that is to follow.\n // The scroll lock is automatically cleared after a short delay.\n const onClick = (event: Event) => {\n if (\n event.target &&\n event.target instanceof HTMLElement &&\n (event.target.matches(stickyCellSelector) || event.target.closest(stickyCellSelector))\n ) {\n scrollLock.set(wrapperEl.scrollLeft);\n }\n };\n wrapperEl.addEventListener('click', onClick);\n\n // We cannot prevent the browser-issued scroll events from happening, and cannot cancel the default behavior.\n // Instead, if we detect a scroll event that immediately follows a click inside a sticky cell, we negate the\n // effect of it by resetting the wrapper scroll offset to its previous value.\n const onScroll = () => {\n if (scrollLock.active) {\n wrapperEl.scrollLeft = scrollLock.scrollLeft;\n scrollLock.clear();\n }\n };\n wrapperEl.addEventListener('scroll', onScroll);\n\n return () => {\n wrapperEl.removeEventListener('click', onClick);\n wrapperEl.removeEventListener('scroll', onScroll);\n };\n }\n }, [wrapperRefObject]);\n}\n\nclass ScrollLock {\n #timeoutId = setTimeout(() => {}, 0);\n #scrollLeft = 0;\n #active = false;\n\n public set(scrollLeft: number) {\n if (!this.#active) {\n this.#active = true;\n this.#scrollLeft = scrollLeft;\n this.#timeoutId = setTimeout(() => (this.#active = false), scrollLockTimeout);\n }\n }\n\n public clear() {\n this.#active = false;\n clearTimeout(this.#timeoutId);\n }\n\n public get active() {\n return this.#active;\n }\n\n public get scrollLeft() {\n return this.#scrollLeft;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"use-row-events.d.ts","sourceRoot":"","sources":["../../../src/table/use-row-events.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,wBAAgB,YAAY,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,GAAG,kBAAkB,CAAC;mCAC9E,MAAM,QAAQ,CAAC,SAAS,gBAAgB;yCAOlC,MAAM,QAAQ,CAAC,SAAS,gBAAgB;EAcpF"}
1
+ {"version":3,"file":"use-row-events.d.ts","sourceRoot":"","sources":["../../../src/table/use-row-events.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI1C,wBAAgB,YAAY,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,GAAG,kBAAkB,CAAC;mCAC9E,MAAM,QAAQ,CAAC,SAAS,KAAK,CAAC,UAAU;yCAOlC,MAAM,QAAQ,CAAC,SAAS,KAAK,CAAC,UAAU;EAcpF"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-row-events.js","sourceRoot":"","sources":["../../../src/table/use-row-events.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGvF,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,MAAM,UAAU,YAAY,CAAI,EAAE,UAAU,EAAE,gBAAgB,EAAuD;IACnH,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAE,IAAO,EAAE,KAAuB,EAAE,EAAE;QAC/E,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,MAAqB,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,CAAC;QAC9G,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE;YAC5E,MAAM,OAAO,GAAmC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YACnE,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;SAC7C;IACH,CAAC,CAAC;IACF,MAAM,uBAAuB,GAAG,CAAC,QAAgB,EAAE,IAAO,EAAE,KAAuB,EAAE,EAAE;QACrF,MAAM,OAAO,GAAyC;YACpD,QAAQ;YACR,IAAI;YACJ,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC;QACF,mBAAmB,CAAC,gBAAgB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF,OAAO;QACL,iBAAiB,EAAE,UAAU,IAAI,iBAAiB;QAClD,uBAAuB,EAAE,gBAAgB,IAAI,uBAAuB;KACrE,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { findUpUntil } from '@cloudscape-design/component-toolkit/dom';\n\nimport { fireCancelableEvent, fireNonCancelableEvent } from '../internal/events/index';\nimport { TableProps } from './interfaces';\n\nimport styles from './styles.css.js';\n\nexport function useRowEvents<T>({ onRowClick, onRowContextMenu }: Pick<TableProps, 'onRowClick' | 'onRowContextMenu'>) {\n const onRowClickHandler = (rowIndex: number, item: T, event: React.MouseEvent) => {\n const tableCell = findUpUntil(event.target as HTMLElement, element => element.tagName.toLowerCase() === 'td');\n if (!tableCell || !tableCell.classList.contains(styles['selection-control'])) {\n const details: TableProps.OnRowClickDetail<T> = { rowIndex, item };\n fireNonCancelableEvent(onRowClick, details);\n }\n };\n const onRowContextMenuHandler = (rowIndex: number, item: T, event: React.MouseEvent) => {\n const details: TableProps.OnRowContextMenuDetail<T> = {\n rowIndex,\n item,\n clientX: event.clientX,\n clientY: event.clientY,\n };\n fireCancelableEvent(onRowContextMenu, details, event);\n };\n\n return {\n onRowClickHandler: onRowClick && onRowClickHandler,\n onRowContextMenuHandler: onRowContextMenu && onRowContextMenuHandler,\n };\n}\n"]}
1
+ {"version":3,"file":"use-row-events.js","sourceRoot":"","sources":["../../../src/table/use-row-events.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGvF,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,MAAM,UAAU,YAAY,CAAI,EAAE,UAAU,EAAE,gBAAgB,EAAuD;IACnH,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAE,IAAO,EAAE,KAAuB,EAAE,EAAE;QAC/E,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,MAAqB,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,CAAC;QAC9G,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC;YAC7E,MAAM,OAAO,GAAmC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YACnE,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC;IACF,MAAM,uBAAuB,GAAG,CAAC,QAAgB,EAAE,IAAO,EAAE,KAAuB,EAAE,EAAE;QACrF,MAAM,OAAO,GAAyC;YACpD,QAAQ;YACR,IAAI;YACJ,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC;QACF,mBAAmB,CAAC,gBAAgB,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF,OAAO;QACL,iBAAiB,EAAE,UAAU,IAAI,iBAAiB;QAClD,uBAAuB,EAAE,gBAAgB,IAAI,uBAAuB;KACrE,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { findUpUntil } from '@cloudscape-design/component-toolkit/dom';\n\nimport { fireCancelableEvent, fireNonCancelableEvent } from '../internal/events/index';\nimport { TableProps } from './interfaces';\n\nimport styles from './styles.css.js';\n\nexport function useRowEvents<T>({ onRowClick, onRowContextMenu }: Pick<TableProps, 'onRowClick' | 'onRowContextMenu'>) {\n const onRowClickHandler = (rowIndex: number, item: T, event: React.MouseEvent) => {\n const tableCell = findUpUntil(event.target as HTMLElement, element => element.tagName.toLowerCase() === 'td');\n if (!tableCell || !tableCell.classList.contains(styles['selection-control'])) {\n const details: TableProps.OnRowClickDetail<T> = { rowIndex, item };\n fireNonCancelableEvent(onRowClick, details);\n }\n };\n const onRowContextMenuHandler = (rowIndex: number, item: T, event: React.MouseEvent) => {\n const details: TableProps.OnRowContextMenuDetail<T> = {\n rowIndex,\n item,\n clientX: event.clientX,\n clientY: event.clientY,\n };\n fireCancelableEvent(onRowContextMenu, details, event);\n };\n\n return {\n onRowClickHandler: onRowClick && onRowClickHandler,\n onRowContextMenuHandler: onRowContextMenu && onRowContextMenuHandler,\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"use-sticky-header.d.ts","sourceRoot":"","sources":["../../../src/table/use-sticky-header.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAgC,MAAM,OAAO,CAAC;AAOhE,eAAO,MAAM,eAAe,aAChB,UAAU,WAAW,CAAC,YACtB,UAAU,WAAW,CAAC,qBACb,UAAU,WAAW,CAAC,qBACtB,UAAU,WAAW,CAAC,mBACxB,UAAU,WAAW,CAAC;4BAiCR,WAAW,GAAG,IAAI;;CAMlD,CAAC"}
1
+ {"version":3,"file":"use-sticky-header.d.ts","sourceRoot":"","sources":["../../../src/table/use-sticky-header.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAgC,MAAM,OAAO,CAAC;AAOhE,eAAO,MAAM,eAAe,GAC1B,UAAU,SAAS,CAAC,WAAW,CAAC,EAChC,UAAU,SAAS,CAAC,WAAW,CAAC,EAChC,mBAAmB,SAAS,CAAC,WAAW,CAAC,EACzC,mBAAmB,SAAS,CAAC,WAAW,CAAC,EACzC,iBAAiB,SAAS,CAAC,WAAW,CAAC;4BAiCR,WAAW,GAAG,IAAI;;CAMlD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-sticky-header.js","sourceRoot":"","sources":["../../../src/table/use-sticky-header.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAa,WAAW,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAElF,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,eAAe,EAAE,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE3F,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,QAAgC,EAChC,QAAgC,EAChC,iBAAyC,EACzC,iBAAyC,EACzC,eAAuC,EACvC,EAAE;IACF,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC;IAC7B,qFAAqF;IACrF,MAAM,sBAAsB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9C,IACE,QAAQ,CAAC,OAAO;YAChB,QAAQ,CAAC,OAAO;YAChB,iBAAiB,CAAC,OAAO;YACzB,iBAAiB,CAAC,OAAO;YACzB,eAAe,CAAC,OAAO,EACvB;YACA,yFAAyF;YACzF,6FAA6F;YAC7F,uEAAuE;YACvE,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,IAAI,CAAC;YAEnG,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,IAAI,CAAC;SAC1G;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC;IAChF,eAAe,CAAC,GAAG,EAAE;QACnB,sBAAsB,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,iBAAiB,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,IAAI,iBAAiB,CAAC,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE;YACzF,MAAM,UAAU,GAAG,wBAAwB,CAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACzF,IAAI,UAAU,GAAG,CAAC,EAAE;gBAClB,UAAU,CAAC,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;aACjD;SACF;IACH,CAAC,CAAC;IACF,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;IAC7E,MAAM,WAAW,GAAG,CAAC,QAA4B,EAAE,EAAE;QACnD,IAAI,CAAC,QAAQ,EAAE;YACb,YAAY,CAAC,QAAQ,CAAC,CAAC;SACxB;IACH,CAAC,CAAC;IACF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;AACtC,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { RefObject, useCallback, useLayoutEffect } from 'react';\n\nimport { useResizeObserver } from '@cloudscape-design/component-toolkit/internal';\n\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport stickyScrolling, { calculateScrollingOffset, scrollUpBy } from './sticky-scrolling';\n\nexport const useStickyHeader = (\n tableRef: RefObject<HTMLElement>,\n theadRef: RefObject<HTMLElement>,\n secondaryTheadRef: RefObject<HTMLElement>,\n secondaryTableRef: RefObject<HTMLElement>,\n tableWrapperRef: RefObject<HTMLElement>\n) => {\n const isMobile = useMobile();\n // Sync the sizes of the column header copies in the sticky header with the originals\n const syncColumnHeaderWidths = useCallback(() => {\n if (\n tableRef.current &&\n theadRef.current &&\n secondaryTheadRef.current &&\n secondaryTableRef.current &&\n tableWrapperRef.current\n ) {\n // Using the tableRef getBoundingClientRect().width instead of the theadRef because in VR\n // the tableRef adds extra padding to the table and by default the theadRef will have a width\n // without the padding and will make the sticky header width incorrect.\n secondaryTableRef.current.style.inlineSize = `${tableRef.current.getBoundingClientRect().width}px`;\n\n tableWrapperRef.current.style.marginBlockStart = `-${theadRef.current.getBoundingClientRect().height}px`;\n }\n }, [theadRef, secondaryTheadRef, secondaryTableRef, tableWrapperRef, tableRef]);\n useLayoutEffect(() => {\n syncColumnHeaderWidths();\n });\n useResizeObserver(theadRef, syncColumnHeaderWidths);\n const scrollToTop = () => {\n if (!isMobile && theadRef.current && secondaryTheadRef.current && tableWrapperRef.current) {\n const scrollDist = calculateScrollingOffset(theadRef.current, secondaryTheadRef.current);\n if (scrollDist > 0) {\n scrollUpBy(scrollDist, tableWrapperRef.current);\n }\n }\n };\n const { scrollToItem } = stickyScrolling(tableWrapperRef, secondaryTheadRef);\n const scrollToRow = (itemNode: HTMLElement | null) => {\n if (!isMobile) {\n scrollToItem(itemNode);\n }\n };\n return { scrollToRow, scrollToTop };\n};\n"]}
1
+ {"version":3,"file":"use-sticky-header.js","sourceRoot":"","sources":["../../../src/table/use-sticky-header.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAa,WAAW,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAElF,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,eAAe,EAAE,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE3F,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,QAAgC,EAChC,QAAgC,EAChC,iBAAyC,EACzC,iBAAyC,EACzC,eAAuC,EACvC,EAAE;IACF,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC;IAC7B,qFAAqF;IACrF,MAAM,sBAAsB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9C,IACE,QAAQ,CAAC,OAAO;YAChB,QAAQ,CAAC,OAAO;YAChB,iBAAiB,CAAC,OAAO;YACzB,iBAAiB,CAAC,OAAO;YACzB,eAAe,CAAC,OAAO,EACvB,CAAC;YACD,yFAAyF;YACzF,6FAA6F;YAC7F,uEAAuE;YACvE,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,IAAI,CAAC;YAEnG,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,IAAI,CAAC;QAC3G,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC;IAChF,eAAe,CAAC,GAAG,EAAE;QACnB,sBAAsB,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,iBAAiB,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;IACpD,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,IAAI,iBAAiB,CAAC,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;YAC1F,MAAM,UAAU,GAAG,wBAAwB,CAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACzF,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;gBACnB,UAAU,CAAC,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;IAC7E,MAAM,WAAW,GAAG,CAAC,QAA4B,EAAE,EAAE;QACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,YAAY,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;IACF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;AACtC,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { RefObject, useCallback, useLayoutEffect } from 'react';\n\nimport { useResizeObserver } from '@cloudscape-design/component-toolkit/internal';\n\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport stickyScrolling, { calculateScrollingOffset, scrollUpBy } from './sticky-scrolling';\n\nexport const useStickyHeader = (\n tableRef: RefObject<HTMLElement>,\n theadRef: RefObject<HTMLElement>,\n secondaryTheadRef: RefObject<HTMLElement>,\n secondaryTableRef: RefObject<HTMLElement>,\n tableWrapperRef: RefObject<HTMLElement>\n) => {\n const isMobile = useMobile();\n // Sync the sizes of the column header copies in the sticky header with the originals\n const syncColumnHeaderWidths = useCallback(() => {\n if (\n tableRef.current &&\n theadRef.current &&\n secondaryTheadRef.current &&\n secondaryTableRef.current &&\n tableWrapperRef.current\n ) {\n // Using the tableRef getBoundingClientRect().width instead of the theadRef because in VR\n // the tableRef adds extra padding to the table and by default the theadRef will have a width\n // without the padding and will make the sticky header width incorrect.\n secondaryTableRef.current.style.inlineSize = `${tableRef.current.getBoundingClientRect().width}px`;\n\n tableWrapperRef.current.style.marginBlockStart = `-${theadRef.current.getBoundingClientRect().height}px`;\n }\n }, [theadRef, secondaryTheadRef, secondaryTableRef, tableWrapperRef, tableRef]);\n useLayoutEffect(() => {\n syncColumnHeaderWidths();\n });\n useResizeObserver(theadRef, syncColumnHeaderWidths);\n const scrollToTop = () => {\n if (!isMobile && theadRef.current && secondaryTheadRef.current && tableWrapperRef.current) {\n const scrollDist = calculateScrollingOffset(theadRef.current, secondaryTheadRef.current);\n if (scrollDist > 0) {\n scrollUpBy(scrollDist, tableWrapperRef.current);\n }\n }\n };\n const { scrollToItem } = stickyScrolling(tableWrapperRef, secondaryTheadRef);\n const scrollToRow = (itemNode: HTMLElement | null) => {\n if (!isMobile) {\n scrollToItem(itemNode);\n }\n };\n return { scrollToRow, scrollToTop };\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-focus-navigation.js","sourceRoot":"","sources":["../../../src/table/use-table-focus-navigation.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 { RefObject, useCallback, useEffect, useMemo } from 'react';\n\nimport { scrollElementIntoView } from '../internal/utils/scrollable-containers';\nimport { TableProps } from './interfaces';\n\nfunction iterateTableCells<T extends HTMLElement>(\n table: T,\n func: (cell: HTMLTableCellElement, rowIndex: number, columnIndex: number) => void\n) {\n table.querySelectorAll('tr').forEach((row: HTMLTableRowElement, rowIndex: number) => {\n row.querySelectorAll('td').forEach((cell, cellIndex) => {\n func(cell, rowIndex, cellIndex);\n });\n });\n}\n\ninterface TableFocusNavigationProps<T> {\n enableKeyboardNavigation?: boolean;\n selectionType: TableProps['selectionType'];\n tableRoot: RefObject<HTMLTableElement>;\n columnDefinitions: Readonly<T[]>;\n numRows: number;\n}\n\n/**\n * This hook is used to navigate between table cells using the keyboard arrow keys.\n * All the functionality is implemented in the hook, so the table component does not\n * need to implement any keyboard event handlers.\n * @param enable - Toggle functionality of the hook\n * @param tableRoot - A ref to a table container. Ideally the root element of the table (<table>); tbody is also acceptable.\n * @param columnDefinitions - The column definitions for the table.\n * @param numRows - The number of rows in the table.\n */\nfunction useTableFocusNavigation<T extends { editConfig?: TableProps.EditConfig<any> }>({\n enableKeyboardNavigation,\n selectionType,\n tableRoot,\n columnDefinitions,\n numRows,\n}: TableFocusNavigationProps<T>) {\n const focusableColumns = useMemo(() => {\n const cols = columnDefinitions.map(column => !!column.editConfig);\n if (selectionType) {\n cols.unshift(false);\n }\n return cols;\n }, [columnDefinitions, selectionType]);\n\n const maxColumnIndex = focusableColumns.length - 1;\n const minColumnIndex = selectionType ? 1 : 0;\n\n const focusCell = useCallback(\n (rowIndex: number, columnIndex: number) => {\n if (tableRoot?.current) {\n iterateTableCells(tableRoot.current, (cell, rIndex, cIndex) => {\n if (rIndex === rowIndex && cIndex === columnIndex) {\n const editButton = cell.querySelector('button:last-child') as HTMLButtonElement | null;\n\n if (editButton) {\n editButton.focus?.();\n scrollElementIntoView(editButton);\n }\n }\n });\n }\n },\n [tableRoot]\n );\n\n const shiftFocus = useCallback(\n (vertical: -1 | 0 | 1, horizontal: -1 | 0 | 1) => {\n const focusedCell = tableRoot.current?.querySelector<HTMLTableCellElement>('td:focus-within');\n if (!focusedCell) {\n return;\n }\n\n const columnIndex = focusedCell.cellIndex;\n const rowIndex = (focusedCell.parentElement as HTMLTableRowElement).rowIndex;\n\n let newRowIndex = rowIndex;\n let newColumnIndex = columnIndex;\n\n if (vertical !== 0) {\n newRowIndex = Math.min(numRows, Math.max(rowIndex + vertical, 0));\n }\n\n if (horizontal !== 0) {\n while (newColumnIndex <= maxColumnIndex && newColumnIndex >= minColumnIndex) {\n newColumnIndex += horizontal;\n if (focusableColumns[newColumnIndex]) {\n break;\n }\n }\n }\n\n if ((rowIndex !== newRowIndex || columnIndex !== newColumnIndex) && tableRoot.current) {\n focusCell(newRowIndex, newColumnIndex);\n }\n },\n [focusCell, focusableColumns, maxColumnIndex, minColumnIndex, numRows, tableRoot]\n );\n\n const handleArrowKeyEvents = useCallback(\n (event: KeyboardEvent) => {\n const abort =\n !!tableRoot.current?.querySelector('[data-inline-editing-active = \"true\"]') ||\n !document.activeElement?.closest('[data-inline-editing-active]');\n\n if (abort) {\n return;\n }\n switch (event.key) {\n case 'ArrowUp':\n event.preventDefault();\n shiftFocus(-1, 0);\n break;\n case 'ArrowDown':\n event.preventDefault();\n shiftFocus(1, 0);\n break;\n case 'ArrowLeft':\n event.preventDefault();\n shiftFocus(0, -1);\n break;\n case 'ArrowRight':\n event.preventDefault();\n shiftFocus(0, 1);\n break;\n // istanbul ignore next (default case = do nothing, not testable)\n default:\n return;\n }\n },\n [shiftFocus, tableRoot]\n );\n\n useEffect(() => {\n if (!tableRoot.current || enableKeyboardNavigation) {\n return;\n }\n\n const tableElement = tableRoot.current;\n tableRoot.current.addEventListener('keydown', handleArrowKeyEvents);\n\n return () => tableElement && tableElement.removeEventListener('keydown', handleArrowKeyEvents);\n }, [enableKeyboardNavigation, focusableColumns, handleArrowKeyEvents, tableRoot]);\n}\n\nexport default useTableFocusNavigation;\n"]}
1
+ {"version":3,"file":"use-table-focus-navigation.js","sourceRoot":"","sources":["../../../src/table/use-table-focus-navigation.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 { RefObject, useCallback, useEffect, useMemo } from 'react';\n\nimport { scrollElementIntoView } from '../internal/utils/scrollable-containers';\nimport { TableProps } from './interfaces';\n\nfunction iterateTableCells<T extends HTMLElement>(\n table: T,\n func: (cell: HTMLTableCellElement, rowIndex: number, columnIndex: number) => void\n) {\n table.querySelectorAll('tr').forEach((row: HTMLTableRowElement, rowIndex: number) => {\n row.querySelectorAll('td').forEach((cell, cellIndex) => {\n func(cell, rowIndex, cellIndex);\n });\n });\n}\n\ninterface TableFocusNavigationProps<T> {\n enableKeyboardNavigation?: boolean;\n selectionType: TableProps['selectionType'];\n tableRoot: RefObject<HTMLTableElement>;\n columnDefinitions: Readonly<T[]>;\n numRows: number;\n}\n\n/**\n * This hook is used to navigate between table cells using the keyboard arrow keys.\n * All the functionality is implemented in the hook, so the table component does not\n * need to implement any keyboard event handlers.\n * @param enable - Toggle functionality of the hook\n * @param tableRoot - A ref to a table container. Ideally the root element of the table (<table>); tbody is also acceptable.\n * @param columnDefinitions - The column definitions for the table.\n * @param numRows - The number of rows in the table.\n */\nfunction useTableFocusNavigation<T extends { editConfig?: TableProps.EditConfig<any> }>({\n enableKeyboardNavigation,\n selectionType,\n tableRoot,\n columnDefinitions,\n numRows,\n}: TableFocusNavigationProps<T>) {\n const focusableColumns = useMemo(() => {\n const cols = columnDefinitions.map(column => !!column.editConfig);\n if (selectionType) {\n cols.unshift(false);\n }\n return cols;\n }, [columnDefinitions, selectionType]);\n\n const maxColumnIndex = focusableColumns.length - 1;\n const minColumnIndex = selectionType ? 1 : 0;\n\n const focusCell = useCallback(\n (rowIndex: number, columnIndex: number) => {\n if (tableRoot?.current) {\n iterateTableCells(tableRoot.current, (cell, rIndex, cIndex) => {\n if (rIndex === rowIndex && cIndex === columnIndex) {\n const editButton = cell.querySelector('button:last-child') as HTMLButtonElement | null;\n\n if (editButton) {\n editButton.focus?.();\n scrollElementIntoView(editButton);\n }\n }\n });\n }\n },\n [tableRoot]\n );\n\n const shiftFocus = useCallback(\n (vertical: -1 | 0 | 1, horizontal: -1 | 0 | 1) => {\n const focusedCell = tableRoot.current?.querySelector<HTMLTableCellElement>('td:focus-within');\n if (!focusedCell) {\n return;\n }\n\n const columnIndex = focusedCell.cellIndex;\n const rowIndex = (focusedCell.parentElement as HTMLTableRowElement).rowIndex;\n\n let newRowIndex = rowIndex;\n let newColumnIndex = columnIndex;\n\n if (vertical !== 0) {\n newRowIndex = Math.min(numRows, Math.max(rowIndex + vertical, 0));\n }\n\n if (horizontal !== 0) {\n while (newColumnIndex <= maxColumnIndex && newColumnIndex >= minColumnIndex) {\n newColumnIndex += horizontal;\n if (focusableColumns[newColumnIndex]) {\n break;\n }\n }\n }\n\n if ((rowIndex !== newRowIndex || columnIndex !== newColumnIndex) && tableRoot.current) {\n focusCell(newRowIndex, newColumnIndex);\n }\n },\n [focusCell, focusableColumns, maxColumnIndex, minColumnIndex, numRows, tableRoot]\n );\n\n const handleArrowKeyEvents = useCallback(\n (event: KeyboardEvent) => {\n const abort =\n !!tableRoot.current?.querySelector('[data-inline-editing-active = \"true\"]') ||\n !document.activeElement?.closest('[data-inline-editing-active]');\n\n if (abort) {\n return;\n }\n switch (event.key) {\n case 'ArrowUp':\n event.preventDefault();\n shiftFocus(-1, 0);\n break;\n case 'ArrowDown':\n event.preventDefault();\n shiftFocus(1, 0);\n break;\n case 'ArrowLeft':\n event.preventDefault();\n shiftFocus(0, -1);\n break;\n case 'ArrowRight':\n event.preventDefault();\n shiftFocus(0, 1);\n break;\n // istanbul ignore next (default case = do nothing, not testable)\n default:\n return;\n }\n },\n [shiftFocus, tableRoot]\n );\n\n useEffect(() => {\n if (!tableRoot.current || enableKeyboardNavigation) {\n return;\n }\n\n const tableElement = tableRoot.current;\n tableRoot.current.addEventListener('keydown', handleArrowKeyEvents);\n\n return () => tableElement && tableElement.removeEventListener('keydown', handleArrowKeyEvents);\n }, [enableKeyboardNavigation, focusableColumns, handleArrowKeyEvents, tableRoot]);\n}\n\nexport default useTableFocusNavigation;\n"]}
package/table/utils.d.ts CHANGED
@@ -5,7 +5,7 @@ export declare const applyTrackBy: <T>(trackBy: TableProps.TrackBy<T>, item: T)
5
5
  export declare const getItemKey: <T>(trackBy: TableProps.TrackBy<T> | undefined, item: T, index: number) => any;
6
6
  export declare const getTrackableValue: <T>(trackBy: TableProps.TrackBy<T> | undefined, item: T) => any;
7
7
  export declare const getColumnKey: <T>(column: TableProps.ColumnDefinition<T>, index: number) => string | number;
8
- export declare const toContainerVariant: (variant: TableProps.Variant | undefined) => InternalContainerProps['variant'];
8
+ export declare const toContainerVariant: (variant: TableProps.Variant | undefined) => InternalContainerProps["variant"];
9
9
  export declare function checkSortingState<T>(columnDefinitions: ReadonlyArray<TableProps.ColumnDefinition<T>>, sortingComparator: TableProps.SortingColumn<T>['sortingComparator']): void;
10
10
  export declare function getVisibleColumnDefinitions<T>({
11
11
  columnDisplay,
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/table/utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,eAAO,MAAM,YAAY,qDAKxB,CAAC;AAEF,eAAO,MAAM,UAAU,kEAAmE,MAAM,QAK/F,CAAC;AAEF,eAAO,MAAM,iBAAiB,iEAK7B,CAAC;AAEF,eAAO,MAAM,YAAY,qDAAsD,MAAM,oBAEpF,CAAC;AAEF,eAAO,MAAM,kBAAkB,YAAa,WAAW,OAAO,GAAG,SAAS,KAAG,sBAAsB,CAAC,SAAS,CAG5G,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,iBAAiB,EAAE,aAAa,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAChE,iBAAiB,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,QASpE;AAED,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,EAC7C,aAAa,EACb,cAAc,EACd,iBAAiB,GAClB,EAAE;IACD,aAAa,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAClE,cAAc,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,iBAAiB,EAAE,aAAa,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;CAClE,6CASA;AA8BD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;;EAOvG"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/table/utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,QAKtE,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,MAAM,QAK/F,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,CAAC,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,MAAM,CAAC,QAKvF,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,QAAQ,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,MAAM,oBAEpF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,SAAS,UAAU,CAAC,OAAO,GAAG,SAAS,KAAG,sBAAsB,CAAC,SAAS,CAG5G,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,iBAAiB,EAAE,aAAa,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAChE,iBAAiB,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,QASpE;AAED,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,EAC7C,aAAa,EACb,cAAc,EACd,iBAAiB,GAClB,EAAE;IACD,aAAa,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;IAClE,cAAc,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,iBAAiB,EAAE,aAAa,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;CAClE,6CASA;AA8BD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,sBAAsB,GAAG,IAAI;;EAOvG"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/table/utils.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AAMzE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAI,OAA8B,EAAE,IAAO,EAAE,EAAE;IACzE,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE;QACjC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;KACtB;IACD,OAAQ,IAAY,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAI,OAA0C,EAAE,IAAO,EAAE,KAAa,EAAE,EAAE;IAClG,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,KAAK,CAAC;KACd;IACD,OAAO,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAI,OAA0C,EAAE,IAAO,EAAE,EAAE;IAC1F,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,IAAI,CAAC;KACb;IACD,OAAO,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAI,MAAsC,EAAE,KAAa,EAAE,EAAE;IACvF,OAAO,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAuC,EAAqC,EAAE;IAC/G,MAAM,gBAAgB,GAAG,CAAC,OAAO,IAAI,OAAO,KAAK,WAAW,CAAC;IAC7D,OAAO,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;AACxF,CAAC,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAC/B,iBAAgE,EAChE,iBAAmE;IAEnE,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,iBAAiB,KAAK,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5G,IAAI,CAAC,aAAa,EAAE;QAClB,QAAQ,CACN,OAAO,EACP,8IAA8I,CAC/I,CAAC;KACH;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAI,EAC7C,aAAa,EACb,cAAc,EACd,iBAAiB,GAKlB;IACC,uDAAuD;IACvD,IAAI,aAAa,EAAE;QACjB,OAAO,4CAA4C,CAAC,EAAE,aAAa,EAAE,iBAAiB,EAAE,CAAC,CAAC;KAC3F;SAAM,IAAI,cAAc,EAAE;QACzB,OAAO,6CAA6C,CAAC,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC,CAAC;KAC7F;SAAM;QACL,OAAO,iBAAiB,CAAC;KAC1B;AACH,CAAC;AAED,SAAS,4CAA4C,CAAI,EACvD,aAAa,EACb,iBAAiB,GAIlB;IACC,MAAM,qBAAqB,GAAmD,iBAAiB,CAAC,MAAM,CACpG,CAAC,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,iCAAM,WAAW,KAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,GAAE,CAAC,EAClG,EAAE,CACH,CAAC;IACF,OAAO,aAAa;SACjB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;SAC5B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC3C,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,6CAA6C,CAAI,EACxD,cAAc,EACd,iBAAiB,GAIlB;IACC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;IACpC,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,SAAS,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAA8B,EAAE,KAAoC;IACtG,OAAO;QACL,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK;QAChC,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,CAAA;QACjE,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,oBAAoB,CAAA;QACxE,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,kBAAkB,CAAA;KACrE,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport { InternalContainerProps } from '../container/internal';\nimport { TableProps } from './interfaces';\nimport { StickyColumnsCellState } from './sticky-columns';\n\nexport const applyTrackBy = <T>(trackBy: TableProps.TrackBy<T>, item: T) => {\n if (typeof trackBy === 'function') {\n return trackBy(item);\n }\n return (item as any)[trackBy];\n};\n\nexport const getItemKey = <T>(trackBy: TableProps.TrackBy<T> | undefined, item: T, index: number) => {\n if (!trackBy) {\n return index;\n }\n return applyTrackBy(trackBy, item);\n};\n\nexport const getTrackableValue = <T>(trackBy: TableProps.TrackBy<T> | undefined, item: T) => {\n if (!trackBy) {\n return item;\n }\n return applyTrackBy(trackBy, item);\n};\n\nexport const getColumnKey = <T>(column: TableProps.ColumnDefinition<T>, index: number) => {\n return column.id || index;\n};\n\nexport const toContainerVariant = (variant: TableProps.Variant | undefined): InternalContainerProps['variant'] => {\n const isDefaultVariant = !variant || variant === 'container';\n return isDefaultVariant ? 'default' : variant === 'borderless' ? 'embedded' : variant;\n};\n\nexport function checkSortingState<T>(\n columnDefinitions: ReadonlyArray<TableProps.ColumnDefinition<T>>,\n sortingComparator: TableProps.SortingColumn<T>['sortingComparator']\n) {\n const matchedColumn = columnDefinitions.filter(column => column.sortingComparator === sortingComparator)[0];\n if (!matchedColumn) {\n warnOnce(\n 'Table',\n 'Currently active sorting comparator was not found in any columns. Make sure to provide the same comparator function instance on each render.'\n );\n }\n}\n\nexport function getVisibleColumnDefinitions<T>({\n columnDisplay,\n visibleColumns,\n columnDefinitions,\n}: {\n columnDisplay?: ReadonlyArray<TableProps.ColumnDisplayProperties>;\n visibleColumns?: ReadonlyArray<string>;\n columnDefinitions: ReadonlyArray<TableProps.ColumnDefinition<T>>;\n}) {\n // columnsDisplay has a precedence over visibleColumns.\n if (columnDisplay) {\n return getVisibleColumnDefinitionsFromColumnDisplay({ columnDisplay, columnDefinitions });\n } else if (visibleColumns) {\n return getVisibleColumnDefinitionsFromVisibleColumns({ visibleColumns, columnDefinitions });\n } else {\n return columnDefinitions;\n }\n}\n\nfunction getVisibleColumnDefinitionsFromColumnDisplay<T>({\n columnDisplay,\n columnDefinitions,\n}: {\n columnDisplay: ReadonlyArray<TableProps.ColumnDisplayProperties>;\n columnDefinitions: ReadonlyArray<TableProps.ColumnDefinition<T>>;\n}) {\n const columnDefinitionsById: Record<string, TableProps.ColumnDefinition<T>> = columnDefinitions.reduce(\n (accumulator, item) => (item.id === undefined ? accumulator : { ...accumulator, [item.id]: item }),\n {}\n );\n return columnDisplay\n .filter(item => item.visible)\n .map(item => columnDefinitionsById[item.id])\n .filter(Boolean);\n}\n\nfunction getVisibleColumnDefinitionsFromVisibleColumns<T>({\n visibleColumns,\n columnDefinitions,\n}: {\n visibleColumns: ReadonlyArray<string>;\n columnDefinitions: ReadonlyArray<TableProps.ColumnDefinition<T>>;\n}) {\n const ids = new Set(visibleColumns);\n return columnDefinitions.filter(({ id }) => id !== undefined && ids.has(id));\n}\n\nexport function getStickyClassNames(styles: Record<string, string>, props: StickyColumnsCellState | null) {\n return {\n [styles['sticky-cell']]: !!props,\n [styles['sticky-cell-pad-inline-start']]: !!props?.padInlineStart,\n [styles['sticky-cell-last-inline-start']]: !!props?.lastInsetInlineStart,\n [styles['sticky-cell-last-inline-end']]: !!props?.lastInsetInlineEnd,\n };\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/table/utils.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 { warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport { InternalContainerProps } from '../container/internal';\nimport { TableProps } from './interfaces';\nimport { StickyColumnsCellState } from './sticky-columns';\n\nexport const applyTrackBy = <T>(trackBy: TableProps.TrackBy<T>, item: T) => {\n if (typeof trackBy === 'function') {\n return trackBy(item);\n }\n return (item as any)[trackBy];\n};\n\nexport const getItemKey = <T>(trackBy: TableProps.TrackBy<T> | undefined, item: T, index: number) => {\n if (!trackBy) {\n return index;\n }\n return applyTrackBy(trackBy, item);\n};\n\nexport const getTrackableValue = <T>(trackBy: TableProps.TrackBy<T> | undefined, item: T) => {\n if (!trackBy) {\n return item;\n }\n return applyTrackBy(trackBy, item);\n};\n\nexport const getColumnKey = <T>(column: TableProps.ColumnDefinition<T>, index: number) => {\n return column.id || index;\n};\n\nexport const toContainerVariant = (variant: TableProps.Variant | undefined): InternalContainerProps['variant'] => {\n const isDefaultVariant = !variant || variant === 'container';\n return isDefaultVariant ? 'default' : variant === 'borderless' ? 'embedded' : variant;\n};\n\nexport function checkSortingState<T>(\n columnDefinitions: ReadonlyArray<TableProps.ColumnDefinition<T>>,\n sortingComparator: TableProps.SortingColumn<T>['sortingComparator']\n) {\n const matchedColumn = columnDefinitions.filter(column => column.sortingComparator === sortingComparator)[0];\n if (!matchedColumn) {\n warnOnce(\n 'Table',\n 'Currently active sorting comparator was not found in any columns. Make sure to provide the same comparator function instance on each render.'\n );\n }\n}\n\nexport function getVisibleColumnDefinitions<T>({\n columnDisplay,\n visibleColumns,\n columnDefinitions,\n}: {\n columnDisplay?: ReadonlyArray<TableProps.ColumnDisplayProperties>;\n visibleColumns?: ReadonlyArray<string>;\n columnDefinitions: ReadonlyArray<TableProps.ColumnDefinition<T>>;\n}) {\n // columnsDisplay has a precedence over visibleColumns.\n if (columnDisplay) {\n return getVisibleColumnDefinitionsFromColumnDisplay({ columnDisplay, columnDefinitions });\n } else if (visibleColumns) {\n return getVisibleColumnDefinitionsFromVisibleColumns({ visibleColumns, columnDefinitions });\n } else {\n return columnDefinitions;\n }\n}\n\nfunction getVisibleColumnDefinitionsFromColumnDisplay<T>({\n columnDisplay,\n columnDefinitions,\n}: {\n columnDisplay: ReadonlyArray<TableProps.ColumnDisplayProperties>;\n columnDefinitions: ReadonlyArray<TableProps.ColumnDefinition<T>>;\n}) {\n const columnDefinitionsById: Record<string, TableProps.ColumnDefinition<T>> = columnDefinitions.reduce(\n (accumulator, item) => (item.id === undefined ? accumulator : { ...accumulator, [item.id]: item }),\n {}\n );\n return columnDisplay\n .filter(item => item.visible)\n .map(item => columnDefinitionsById[item.id])\n .filter(Boolean);\n}\n\nfunction getVisibleColumnDefinitionsFromVisibleColumns<T>({\n visibleColumns,\n columnDefinitions,\n}: {\n visibleColumns: ReadonlyArray<string>;\n columnDefinitions: ReadonlyArray<TableProps.ColumnDefinition<T>>;\n}) {\n const ids = new Set(visibleColumns);\n return columnDefinitions.filter(({ id }) => id !== undefined && ids.has(id));\n}\n\nexport function getStickyClassNames(styles: Record<string, string>, props: StickyColumnsCellState | null) {\n return {\n [styles['sticky-cell']]: !!props,\n [styles['sticky-cell-pad-inline-start']]: !!props?.padInlineStart,\n [styles['sticky-cell-last-inline-start']]: !!props?.lastInsetInlineStart,\n [styles['sticky-cell-last-inline-end']]: !!props?.lastInsetInlineEnd,\n };\n}\n"]}
package/tabs/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { TabsProps } from './interfaces';
3
2
  export { TabsProps };
4
3
  export default function Tabs({
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tabs/index.tsx"],"names":[],"mappings":";AAiBA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAMzC,OAAO,EAAE,SAAS,EAAE,CAAC;AAsBrB,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,EAC3B,IAAI,EACJ,OAAmB,EACnB,QAAQ,EACR,WAAW,EAAE,eAAe,EAC5B,SAAS,EACT,cAAc,EACd,sBAA8B,EAC9B,WAAW,EACX,SAAS,EACT,sBAAoC,EACpC,OAAO,EACP,GAAG,IAAI,EACR,EAAE,SAAS,eAkIX"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tabs/index.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAMzC,OAAO,EAAE,SAAS,EAAE,CAAC;AAsBrB,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,EAC3B,IAAI,EACJ,OAAmB,EACnB,QAAQ,EACR,WAAW,EAAE,eAAe,EAC5B,SAAS,EACT,cAAc,EACd,sBAA8B,EAC9B,WAAW,EACX,SAAS,EACT,sBAAoC,EACpC,OAAO,EACP,GAAG,IAAI,EACR,EAAE,SAAS,eAkIX"}