@cloudscape-design/components-themeable 3.0.1138 → 3.0.1139

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (790) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +127 -103
  3. package/lib/internal/scss/prompt-input/styles.scss +75 -13
  4. package/lib/internal/template/alert/actions-wrapper/index.js +3 -3
  5. package/lib/internal/template/alert/actions-wrapper/index.js.map +1 -1
  6. package/lib/internal/template/alert/index.js +2 -4
  7. package/lib/internal/template/alert/index.js.map +1 -1
  8. package/lib/internal/template/alert/internal.js +8 -10
  9. package/lib/internal/template/alert/internal.js.map +1 -1
  10. package/lib/internal/template/alert/style.js +12 -5
  11. package/lib/internal/template/alert/style.js.map +1 -1
  12. package/lib/internal/template/alert/styles.css.js +27 -27
  13. package/lib/internal/template/alert/styles.scoped.css +50 -50
  14. package/lib/internal/template/alert/styles.selectors.js +27 -27
  15. package/lib/internal/template/anchor-navigation/anchor-item/index.js +1 -1
  16. package/lib/internal/template/anchor-navigation/anchor-item/index.js.map +1 -1
  17. package/lib/internal/template/anchor-navigation/index.js +2 -4
  18. package/lib/internal/template/anchor-navigation/index.js.map +1 -1
  19. package/lib/internal/template/anchor-navigation/internal.js +2 -4
  20. package/lib/internal/template/anchor-navigation/internal.js.map +1 -1
  21. package/lib/internal/template/annotation-context/annotation/styles.css.js +24 -24
  22. package/lib/internal/template/annotation-context/annotation/styles.scoped.css +32 -32
  23. package/lib/internal/template/annotation-context/annotation/styles.selectors.js +24 -24
  24. package/lib/internal/template/annotation-context/index.js +3 -4
  25. package/lib/internal/template/annotation-context/index.js.map +1 -1
  26. package/lib/internal/template/app-layout/classic.js +20 -17
  27. package/lib/internal/template/app-layout/classic.js.map +1 -1
  28. package/lib/internal/template/app-layout/defaults.js +8 -3
  29. package/lib/internal/template/app-layout/defaults.js.map +1 -1
  30. package/lib/internal/template/app-layout/drawer/resizable-drawer.js +8 -10
  31. package/lib/internal/template/app-layout/drawer/resizable-drawer.js.map +1 -1
  32. package/lib/internal/template/app-layout/index.js +24 -21
  33. package/lib/internal/template/app-layout/index.js.map +1 -1
  34. package/lib/internal/template/app-layout/internal.js +3 -3
  35. package/lib/internal/template/app-layout/internal.js.map +1 -1
  36. package/lib/internal/template/app-layout/notifications/index.js +3 -5
  37. package/lib/internal/template/app-layout/notifications/index.js.map +1 -1
  38. package/lib/internal/template/app-layout/notifications/styles.css.js +3 -3
  39. package/lib/internal/template/app-layout/notifications/styles.scoped.css +7 -7
  40. package/lib/internal/template/app-layout/notifications/styles.selectors.js +3 -3
  41. package/lib/internal/template/app-layout/runtime-drawer/index.js +36 -18
  42. package/lib/internal/template/app-layout/runtime-drawer/index.js.map +1 -1
  43. package/lib/internal/template/app-layout/split-panel/provider.js +2 -4
  44. package/lib/internal/template/app-layout/split-panel/provider.js.map +1 -1
  45. package/lib/internal/template/app-layout/utils/use-app-layout-placement.js +1 -1
  46. package/lib/internal/template/app-layout/utils/use-app-layout-placement.js.map +1 -1
  47. package/lib/internal/template/app-layout/utils/use-drawers.js +9 -3
  48. package/lib/internal/template/app-layout/utils/use-drawers.js.map +1 -1
  49. package/lib/internal/template/app-layout/visual-refresh/context.js +28 -11
  50. package/lib/internal/template/app-layout/visual-refresh/context.js.map +1 -1
  51. package/lib/internal/template/app-layout/visual-refresh/drawers.js +3 -1
  52. package/lib/internal/template/app-layout/visual-refresh/drawers.js.map +1 -1
  53. package/lib/internal/template/app-layout/visual-refresh/index.js +1 -1
  54. package/lib/internal/template/app-layout/visual-refresh/index.js.map +1 -1
  55. package/lib/internal/template/app-layout/visual-refresh/layout.js +9 -1
  56. package/lib/internal/template/app-layout/visual-refresh/layout.js.map +1 -1
  57. package/lib/internal/template/app-layout/visual-refresh/main.js +4 -1
  58. package/lib/internal/template/app-layout/visual-refresh/main.js.map +1 -1
  59. package/lib/internal/template/app-layout/visual-refresh/split-panel.js +1 -1
  60. package/lib/internal/template/app-layout/visual-refresh/split-panel.js.map +1 -1
  61. package/lib/internal/template/app-layout/visual-refresh/styles.css.js +86 -86
  62. package/lib/internal/template/app-layout/visual-refresh/styles.scoped.css +258 -258
  63. package/lib/internal/template/app-layout/visual-refresh/styles.selectors.js +86 -86
  64. package/lib/internal/template/app-layout/visual-refresh/trigger-button.js +6 -3
  65. package/lib/internal/template/app-layout/visual-refresh/trigger-button.js.map +1 -1
  66. package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.js +5 -2
  67. package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.js.map +1 -1
  68. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.js +8 -4
  69. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.js.map +1 -1
  70. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.js +9 -6
  71. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.js.map +1 -1
  72. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-drawer.js +7 -3
  73. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-drawer.js.map +1 -1
  74. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/local-drawer.js +8 -4
  75. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/local-drawer.js.map +1 -1
  76. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.css.js +30 -30
  77. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +87 -87
  78. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +30 -30
  79. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.css.js +4 -4
  80. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +7 -7
  81. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +4 -4
  82. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/index.js +10 -10
  83. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/index.js.map +1 -1
  84. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/slots.js +5 -2
  85. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/slots.js.map +1 -1
  86. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +27 -27
  87. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +54 -54
  88. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +27 -27
  89. package/lib/internal/template/app-layout/visual-refresh-toolbar/split-panel/index.js +2 -2
  90. package/lib/internal/template/app-layout/visual-refresh-toolbar/split-panel/index.js.map +1 -1
  91. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/props-merger.js +7 -2
  92. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/props-merger.js.map +1 -1
  93. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-ai-drawer.js +1 -1
  94. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-ai-drawer.js.map +1 -1
  95. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-app-layout.js +19 -12
  96. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-app-layout.js.map +1 -1
  97. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-bottom-drawers.js +5 -2
  98. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-bottom-drawers.js.map +1 -1
  99. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-skeleton-slots-attributes.js +10 -6
  100. package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-skeleton-slots-attributes.js.map +1 -1
  101. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js +4 -1
  102. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js.map +1 -1
  103. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js +1 -1
  104. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js.map +1 -1
  105. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.js +8 -8
  106. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.js.map +1 -1
  107. package/lib/internal/template/app-layout-toolbar/index.js +24 -21
  108. package/lib/internal/template/app-layout-toolbar/index.js.map +1 -1
  109. package/lib/internal/template/area-chart/chart-container.js +1 -1
  110. package/lib/internal/template/area-chart/chart-container.js.map +1 -1
  111. package/lib/internal/template/area-chart/elements/chart-popover.js +1 -1
  112. package/lib/internal/template/area-chart/elements/chart-popover.js.map +1 -1
  113. package/lib/internal/template/area-chart/elements/threshold-series.js +1 -1
  114. package/lib/internal/template/area-chart/elements/threshold-series.js.map +1 -1
  115. package/lib/internal/template/area-chart/index.js +2 -4
  116. package/lib/internal/template/area-chart/index.js.map +1 -1
  117. package/lib/internal/template/area-chart/internal.js +2 -4
  118. package/lib/internal/template/area-chart/internal.js.map +1 -1
  119. package/lib/internal/template/area-chart/model/interactions-store.js +39 -9
  120. package/lib/internal/template/area-chart/model/interactions-store.js.map +1 -1
  121. package/lib/internal/template/attribute-editor/index.js +4 -6
  122. package/lib/internal/template/attribute-editor/index.js.map +1 -1
  123. package/lib/internal/template/attribute-editor/internal.js +6 -5
  124. package/lib/internal/template/attribute-editor/internal.js.map +1 -1
  125. package/lib/internal/template/attribute-editor/row.js +1 -1
  126. package/lib/internal/template/attribute-editor/row.js.map +1 -1
  127. package/lib/internal/template/attribute-editor/styles.css.js +15 -15
  128. package/lib/internal/template/attribute-editor/styles.scoped.css +28 -28
  129. package/lib/internal/template/attribute-editor/styles.selectors.js +15 -15
  130. package/lib/internal/template/autosuggest/autosuggest-option.js +3 -5
  131. package/lib/internal/template/autosuggest/autosuggest-option.js.map +1 -1
  132. package/lib/internal/template/autosuggest/index.js +2 -4
  133. package/lib/internal/template/autosuggest/index.js.map +1 -1
  134. package/lib/internal/template/autosuggest/internal.js +10 -5
  135. package/lib/internal/template/autosuggest/internal.js.map +1 -1
  136. package/lib/internal/template/autosuggest/options-controller.js +15 -8
  137. package/lib/internal/template/autosuggest/options-controller.js.map +1 -1
  138. package/lib/internal/template/autosuggest/plain-list.js +3 -3
  139. package/lib/internal/template/autosuggest/plain-list.js.map +1 -1
  140. package/lib/internal/template/autosuggest/virtual-list.js +2 -2
  141. package/lib/internal/template/autosuggest/virtual-list.js.map +1 -1
  142. package/lib/internal/template/badge/index.js +2 -4
  143. package/lib/internal/template/badge/index.js.map +1 -1
  144. package/lib/internal/template/bar-chart/index.js +2 -4
  145. package/lib/internal/template/bar-chart/index.js.map +1 -1
  146. package/lib/internal/template/box/index.js +2 -4
  147. package/lib/internal/template/box/index.js.map +1 -1
  148. package/lib/internal/template/box/internal.js +2 -4
  149. package/lib/internal/template/box/internal.js.map +1 -1
  150. package/lib/internal/template/breadcrumb-group/all-items-dropdown.js +3 -3
  151. package/lib/internal/template/breadcrumb-group/all-items-dropdown.js.map +1 -1
  152. package/lib/internal/template/breadcrumb-group/implementation.js +9 -8
  153. package/lib/internal/template/breadcrumb-group/implementation.js.map +1 -1
  154. package/lib/internal/template/breadcrumb-group/index.js +3 -5
  155. package/lib/internal/template/breadcrumb-group/index.js.map +1 -1
  156. package/lib/internal/template/breadcrumb-group/item/funnel.js +1 -1
  157. package/lib/internal/template/breadcrumb-group/item/funnel.js.map +1 -1
  158. package/lib/internal/template/breadcrumb-group/item/item.js +5 -7
  159. package/lib/internal/template/breadcrumb-group/item/item.js.map +1 -1
  160. package/lib/internal/template/breadcrumb-group/item/styles.css.js +7 -7
  161. package/lib/internal/template/breadcrumb-group/item/styles.scoped.css +28 -28
  162. package/lib/internal/template/breadcrumb-group/item/styles.selectors.js +7 -7
  163. package/lib/internal/template/button/icon-helper.js +3 -5
  164. package/lib/internal/template/button/icon-helper.js.map +1 -1
  165. package/lib/internal/template/button/index.js +2 -4
  166. package/lib/internal/template/button/index.js.map +1 -1
  167. package/lib/internal/template/button/internal.js +31 -14
  168. package/lib/internal/template/button/internal.js.map +1 -1
  169. package/lib/internal/template/button/style.js +38 -27
  170. package/lib/internal/template/button/style.js.map +1 -1
  171. package/lib/internal/template/button/styles.css.js +22 -22
  172. package/lib/internal/template/button/styles.scoped.css +256 -256
  173. package/lib/internal/template/button/styles.selectors.js +22 -22
  174. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js +11 -11
  175. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
  176. package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js +12 -12
  177. package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js.map +1 -1
  178. package/lib/internal/template/button-dropdown/index.js +4 -6
  179. package/lib/internal/template/button-dropdown/index.js.map +1 -1
  180. package/lib/internal/template/button-dropdown/internal.js +36 -25
  181. package/lib/internal/template/button-dropdown/internal.js.map +1 -1
  182. package/lib/internal/template/button-dropdown/item-element/index.js +25 -17
  183. package/lib/internal/template/button-dropdown/item-element/index.js.map +1 -1
  184. package/lib/internal/template/button-dropdown/item-element/styles.css.js +16 -16
  185. package/lib/internal/template/button-dropdown/item-element/styles.scoped.css +27 -27
  186. package/lib/internal/template/button-dropdown/item-element/styles.selectors.js +16 -16
  187. package/lib/internal/template/button-dropdown/tooltip.js +1 -1
  188. package/lib/internal/template/button-dropdown/tooltip.js.map +1 -1
  189. package/lib/internal/template/button-dropdown/utils/use-button-dropdown.js +1 -2
  190. package/lib/internal/template/button-dropdown/utils/use-button-dropdown.js.map +1 -1
  191. package/lib/internal/template/button-group/index.js +2 -4
  192. package/lib/internal/template/button-group/index.js.map +1 -1
  193. package/lib/internal/template/button-group/internal.js +2 -4
  194. package/lib/internal/template/button-group/internal.js.map +1 -1
  195. package/lib/internal/template/button-group/item-element.js +4 -4
  196. package/lib/internal/template/button-group/item-element.js.map +1 -1
  197. package/lib/internal/template/button-group/menu-dropdown-item.js +1 -1
  198. package/lib/internal/template/button-group/menu-dropdown-item.js.map +1 -1
  199. package/lib/internal/template/button-group/style.js +34 -20
  200. package/lib/internal/template/button-group/style.js.map +1 -1
  201. package/lib/internal/template/calendar/grid/index.js +2 -3
  202. package/lib/internal/template/calendar/grid/index.js.map +1 -1
  203. package/lib/internal/template/calendar/index.js +2 -4
  204. package/lib/internal/template/calendar/index.js.map +1 -1
  205. package/lib/internal/template/calendar/internal.js +2 -4
  206. package/lib/internal/template/calendar/internal.js.map +1 -1
  207. package/lib/internal/template/cards/index.js +17 -19
  208. package/lib/internal/template/cards/index.js.map +1 -1
  209. package/lib/internal/template/checkbox/index.js +2 -4
  210. package/lib/internal/template/checkbox/index.js.map +1 -1
  211. package/lib/internal/template/checkbox/internal.js +4 -6
  212. package/lib/internal/template/checkbox/internal.js.map +1 -1
  213. package/lib/internal/template/checkbox/styles.css.js +3 -3
  214. package/lib/internal/template/checkbox/styles.scoped.css +11 -11
  215. package/lib/internal/template/checkbox/styles.selectors.js +3 -3
  216. package/lib/internal/template/code-editor/index.js +2 -3
  217. package/lib/internal/template/code-editor/index.js.map +1 -1
  218. package/lib/internal/template/code-editor/use-editor.js +4 -1
  219. package/lib/internal/template/code-editor/use-editor.js.map +1 -1
  220. package/lib/internal/template/code-editor/util.js +4 -1
  221. package/lib/internal/template/code-editor/util.js.map +1 -1
  222. package/lib/internal/template/collection-preferences/content-display/index.js +1 -1
  223. package/lib/internal/template/collection-preferences/content-display/index.js.map +1 -1
  224. package/lib/internal/template/collection-preferences/content-display/utils.js +1 -1
  225. package/lib/internal/template/collection-preferences/content-display/utils.js.map +1 -1
  226. package/lib/internal/template/collection-preferences/index.js +20 -13
  227. package/lib/internal/template/collection-preferences/index.js.map +1 -1
  228. package/lib/internal/template/collection-preferences/utils.js +9 -9
  229. package/lib/internal/template/collection-preferences/utils.js.map +1 -1
  230. package/lib/internal/template/collection-preferences/visible-content.js +8 -8
  231. package/lib/internal/template/collection-preferences/visible-content.js.map +1 -1
  232. package/lib/internal/template/column-layout/index.js +2 -4
  233. package/lib/internal/template/column-layout/index.js.map +1 -1
  234. package/lib/internal/template/column-layout/internal.js +2 -4
  235. package/lib/internal/template/column-layout/internal.js.map +1 -1
  236. package/lib/internal/template/container/index.js +2 -4
  237. package/lib/internal/template/container/index.js.map +1 -1
  238. package/lib/internal/template/container/internal.js +11 -9
  239. package/lib/internal/template/container/internal.js.map +1 -1
  240. package/lib/internal/template/container/style.js +11 -2
  241. package/lib/internal/template/container/style.js.map +1 -1
  242. package/lib/internal/template/content-layout/index.js +1 -1
  243. package/lib/internal/template/content-layout/index.js.map +1 -1
  244. package/lib/internal/template/content-layout/internal.js +3 -5
  245. package/lib/internal/template/content-layout/internal.js.map +1 -1
  246. package/lib/internal/template/content-layout/styles.css.js +14 -14
  247. package/lib/internal/template/content-layout/styles.scoped.css +27 -27
  248. package/lib/internal/template/content-layout/styles.selectors.js +14 -14
  249. package/lib/internal/template/copy-to-clipboard/index.js +2 -4
  250. package/lib/internal/template/copy-to-clipboard/index.js.map +1 -1
  251. package/lib/internal/template/copy-to-clipboard/internal.js +2 -4
  252. package/lib/internal/template/copy-to-clipboard/internal.js.map +1 -1
  253. package/lib/internal/template/date-input/index.js +1 -1
  254. package/lib/internal/template/date-input/index.js.map +1 -1
  255. package/lib/internal/template/date-input/internal.js +6 -8
  256. package/lib/internal/template/date-input/internal.js.map +1 -1
  257. package/lib/internal/template/date-picker/index.js +9 -6
  258. package/lib/internal/template/date-picker/index.js.map +1 -1
  259. package/lib/internal/template/date-range-picker/calendar/grids/grid-cell.js +3 -4
  260. package/lib/internal/template/date-range-picker/calendar/grids/grid-cell.js.map +1 -1
  261. package/lib/internal/template/date-range-picker/calendar/grids/grid.js +8 -8
  262. package/lib/internal/template/date-range-picker/calendar/grids/grid.js.map +1 -1
  263. package/lib/internal/template/date-range-picker/calendar/grids/index.js +2 -2
  264. package/lib/internal/template/date-range-picker/calendar/grids/index.js.map +1 -1
  265. package/lib/internal/template/date-range-picker/calendar/index.js +5 -2
  266. package/lib/internal/template/date-range-picker/calendar/index.js.map +1 -1
  267. package/lib/internal/template/date-range-picker/index.js +8 -6
  268. package/lib/internal/template/date-range-picker/index.js.map +1 -1
  269. package/lib/internal/template/date-range-picker/utils.js +8 -2
  270. package/lib/internal/template/date-range-picker/utils.js.map +1 -1
  271. package/lib/internal/template/drawer/implementation.js +7 -6
  272. package/lib/internal/template/drawer/implementation.js.map +1 -1
  273. package/lib/internal/template/drawer/index.js +1 -1
  274. package/lib/internal/template/drawer/index.js.map +1 -1
  275. package/lib/internal/template/expandable-section/expandable-section-container.js +3 -5
  276. package/lib/internal/template/expandable-section/expandable-section-container.js.map +1 -1
  277. package/lib/internal/template/expandable-section/expandable-section-header.js +8 -8
  278. package/lib/internal/template/expandable-section/expandable-section-header.js.map +1 -1
  279. package/lib/internal/template/expandable-section/index.js +2 -4
  280. package/lib/internal/template/expandable-section/index.js.map +1 -1
  281. package/lib/internal/template/expandable-section/internal.js +2 -4
  282. package/lib/internal/template/expandable-section/internal.js.map +1 -1
  283. package/lib/internal/template/file-dropzone/index.js +1 -1
  284. package/lib/internal/template/file-dropzone/index.js.map +1 -1
  285. package/lib/internal/template/file-dropzone/internal.js +3 -5
  286. package/lib/internal/template/file-dropzone/internal.js.map +1 -1
  287. package/lib/internal/template/file-input/index.js +2 -4
  288. package/lib/internal/template/file-input/index.js.map +1 -1
  289. package/lib/internal/template/file-input/internal.js +11 -8
  290. package/lib/internal/template/file-input/internal.js.map +1 -1
  291. package/lib/internal/template/file-token-group/default-formatters.js +3 -3
  292. package/lib/internal/template/file-token-group/default-formatters.js.map +1 -1
  293. package/lib/internal/template/file-token-group/index.js +2 -4
  294. package/lib/internal/template/file-token-group/index.js.map +1 -1
  295. package/lib/internal/template/file-token-group/internal.js +2 -4
  296. package/lib/internal/template/file-token-group/internal.js.map +1 -1
  297. package/lib/internal/template/file-upload/index.js +2 -4
  298. package/lib/internal/template/file-upload/index.js.map +1 -1
  299. package/lib/internal/template/file-upload/internal.js +5 -7
  300. package/lib/internal/template/file-upload/internal.js.map +1 -1
  301. package/lib/internal/template/flashbar/collapsible-flashbar.js +33 -23
  302. package/lib/internal/template/flashbar/collapsible-flashbar.js.map +1 -1
  303. package/lib/internal/template/flashbar/common.js +1 -3
  304. package/lib/internal/template/flashbar/common.js.map +1 -1
  305. package/lib/internal/template/flashbar/flash.js +4 -6
  306. package/lib/internal/template/flashbar/flash.js.map +1 -1
  307. package/lib/internal/template/flashbar/implementation.js +2 -2
  308. package/lib/internal/template/flashbar/implementation.js.map +1 -1
  309. package/lib/internal/template/flashbar/index.js +1 -1
  310. package/lib/internal/template/flashbar/index.js.map +1 -1
  311. package/lib/internal/template/flashbar/non-collapsible-flashbar.js +10 -9
  312. package/lib/internal/template/flashbar/non-collapsible-flashbar.js.map +1 -1
  313. package/lib/internal/template/flashbar/style.js +50 -32
  314. package/lib/internal/template/flashbar/style.js.map +1 -1
  315. package/lib/internal/template/flashbar/styles.css.js +50 -50
  316. package/lib/internal/template/flashbar/styles.scoped.css +187 -187
  317. package/lib/internal/template/flashbar/styles.selectors.js +50 -50
  318. package/lib/internal/template/flashbar/utils.js +2 -2
  319. package/lib/internal/template/flashbar/utils.js.map +1 -1
  320. package/lib/internal/template/form/index.js +4 -7
  321. package/lib/internal/template/form/index.js.map +1 -1
  322. package/lib/internal/template/form/internal.js +2 -4
  323. package/lib/internal/template/form/internal.js.map +1 -1
  324. package/lib/internal/template/form-field/index.js +7 -9
  325. package/lib/internal/template/form-field/index.js.map +1 -1
  326. package/lib/internal/template/form-field/internal.js +6 -5
  327. package/lib/internal/template/form-field/internal.js.map +1 -1
  328. package/lib/internal/template/grid/index.js +2 -4
  329. package/lib/internal/template/grid/index.js.map +1 -1
  330. package/lib/internal/template/grid/internal.js +2 -4
  331. package/lib/internal/template/grid/internal.js.map +1 -1
  332. package/lib/internal/template/header/index.js +2 -4
  333. package/lib/internal/template/header/index.js.map +1 -1
  334. package/lib/internal/template/header/internal.js +4 -6
  335. package/lib/internal/template/header/internal.js.map +1 -1
  336. package/lib/internal/template/help-panel/implementation.js +7 -6
  337. package/lib/internal/template/help-panel/implementation.js.map +1 -1
  338. package/lib/internal/template/help-panel/index.js +1 -1
  339. package/lib/internal/template/help-panel/index.js.map +1 -1
  340. package/lib/internal/template/help-panel/styles.css.js +6 -6
  341. package/lib/internal/template/help-panel/styles.scoped.css +73 -73
  342. package/lib/internal/template/help-panel/styles.selectors.js +6 -6
  343. package/lib/internal/template/hotspot/index.js +3 -5
  344. package/lib/internal/template/hotspot/index.js.map +1 -1
  345. package/lib/internal/template/icon/index.js +2 -4
  346. package/lib/internal/template/icon/index.js.map +1 -1
  347. package/lib/internal/template/icon/internal.js +4 -6
  348. package/lib/internal/template/icon/internal.js.map +1 -1
  349. package/lib/internal/template/icon-provider/index.js +1 -1
  350. package/lib/internal/template/icon-provider/index.js.map +1 -1
  351. package/lib/internal/template/icon-provider/internal.js +2 -2
  352. package/lib/internal/template/icon-provider/internal.js.map +1 -1
  353. package/lib/internal/template/input/index.js +5 -5
  354. package/lib/internal/template/input/index.js.map +1 -1
  355. package/lib/internal/template/input/internal.js +10 -12
  356. package/lib/internal/template/input/internal.js.map +1 -1
  357. package/lib/internal/template/input/styles.css.js +13 -13
  358. package/lib/internal/template/input/styles.js +42 -30
  359. package/lib/internal/template/input/styles.js.map +1 -1
  360. package/lib/internal/template/input/styles.scoped.css +65 -65
  361. package/lib/internal/template/input/styles.selectors.js +13 -13
  362. package/lib/internal/template/internal/analytics/components/analytics-funnel.js +9 -12
  363. package/lib/internal/template/internal/analytics/components/analytics-funnel.js.map +1 -1
  364. package/lib/internal/template/internal/analytics/hooks/use-funnel.js +5 -6
  365. package/lib/internal/template/internal/analytics/hooks/use-funnel.js.map +1 -1
  366. package/lib/internal/template/internal/animate.js +1 -1
  367. package/lib/internal/template/internal/animate.js.map +1 -1
  368. package/lib/internal/template/internal/base-component/index.js +1 -1
  369. package/lib/internal/template/internal/base-component/index.js.map +1 -1
  370. package/lib/internal/template/internal/base-component/styles.scoped.css +1 -1
  371. package/lib/internal/template/internal/components/abstract-switch/index.js +21 -20
  372. package/lib/internal/template/internal/components/abstract-switch/index.js.map +1 -1
  373. package/lib/internal/template/internal/components/autosuggest-input/index.js +3 -5
  374. package/lib/internal/template/internal/components/autosuggest-input/index.js.map +1 -1
  375. package/lib/internal/template/internal/components/button-trigger/index.js +25 -6
  376. package/lib/internal/template/internal/components/button-trigger/index.js.map +1 -1
  377. package/lib/internal/template/internal/components/cartesian-chart/inline-start-labels.js +1 -1
  378. package/lib/internal/template/internal/components/cartesian-chart/inline-start-labels.js.map +1 -1
  379. package/lib/internal/template/internal/components/chart-filter/index.js +2 -4
  380. package/lib/internal/template/internal/components/chart-filter/index.js.map +1 -1
  381. package/lib/internal/template/internal/components/chart-plot/index.js +2 -2
  382. package/lib/internal/template/internal/components/chart-plot/index.js.map +1 -1
  383. package/lib/internal/template/internal/components/chart-popover/index.js +3 -5
  384. package/lib/internal/template/internal/components/chart-popover/index.js.map +1 -1
  385. package/lib/internal/template/internal/components/chart-series-details/index.js +2 -4
  386. package/lib/internal/template/internal/components/chart-series-details/index.js.map +1 -1
  387. package/lib/internal/template/internal/components/chart-wrapper/index.js +3 -5
  388. package/lib/internal/template/internal/components/chart-wrapper/index.js.map +1 -1
  389. package/lib/internal/template/internal/components/checkbox-icon/index.js +5 -7
  390. package/lib/internal/template/internal/components/checkbox-icon/index.js.map +1 -1
  391. package/lib/internal/template/internal/components/drag-handle/button.js +5 -5
  392. package/lib/internal/template/internal/components/drag-handle/button.js.map +1 -1
  393. package/lib/internal/template/internal/components/drag-handle/hooks/use-drag-handle-interaction-state.js +17 -4
  394. package/lib/internal/template/internal/components/drag-handle/hooks/use-drag-handle-interaction-state.js.map +1 -1
  395. package/lib/internal/template/internal/components/drag-handle/index.js +1 -3
  396. package/lib/internal/template/internal/components/drag-handle/index.js.map +1 -1
  397. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.css.js +20 -20
  398. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.scoped.css +48 -48
  399. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.selectors.js +20 -20
  400. package/lib/internal/template/internal/components/dropdown/styles.css.js +20 -20
  401. package/lib/internal/template/internal/components/dropdown/styles.scoped.css +38 -38
  402. package/lib/internal/template/internal/components/dropdown/styles.selectors.js +20 -20
  403. package/lib/internal/template/internal/components/masked-input/index.js +12 -8
  404. package/lib/internal/template/internal/components/masked-input/index.js.map +1 -1
  405. package/lib/internal/template/internal/components/masked-input/utils/mask-format.js +6 -1
  406. package/lib/internal/template/internal/components/masked-input/utils/mask-format.js.map +1 -1
  407. package/lib/internal/template/internal/components/menu-dropdown/index.js +2 -4
  408. package/lib/internal/template/internal/components/menu-dropdown/index.js.map +1 -1
  409. package/lib/internal/template/internal/components/option/index.js +6 -8
  410. package/lib/internal/template/internal/components/option/index.js.map +1 -1
  411. package/lib/internal/template/internal/components/option/option-parts.js +1 -1
  412. package/lib/internal/template/internal/components/option/option-parts.js.map +1 -1
  413. package/lib/internal/template/internal/components/option/utils/flatten-options.js +1 -2
  414. package/lib/internal/template/internal/components/option/utils/flatten-options.js.map +1 -1
  415. package/lib/internal/template/internal/components/options-list/index.js +2 -4
  416. package/lib/internal/template/internal/components/options-list/index.js.map +1 -1
  417. package/lib/internal/template/internal/components/screenreader-only/index.js +1 -1
  418. package/lib/internal/template/internal/components/screenreader-only/index.js.map +1 -1
  419. package/lib/internal/template/internal/components/selectable-item/analytics-metadata/utils.js +1 -3
  420. package/lib/internal/template/internal/components/selectable-item/analytics-metadata/utils.js.map +1 -1
  421. package/lib/internal/template/internal/components/selectable-item/index.js +5 -7
  422. package/lib/internal/template/internal/components/selectable-item/index.js.map +1 -1
  423. package/lib/internal/template/internal/components/sortable-area/index.js +19 -6
  424. package/lib/internal/template/internal/components/sortable-area/index.js.map +1 -1
  425. package/lib/internal/template/internal/components/token-list/styles.css.js +10 -10
  426. package/lib/internal/template/internal/components/token-list/styles.scoped.css +25 -25
  427. package/lib/internal/template/internal/components/token-list/styles.selectors.js +10 -10
  428. package/lib/internal/template/internal/components/token-list/token-limit-toggle.js +1 -1
  429. package/lib/internal/template/internal/components/token-list/token-limit-toggle.js.map +1 -1
  430. package/lib/internal/template/internal/components/tooltip/index.js +1 -1
  431. package/lib/internal/template/internal/components/tooltip/index.js.map +1 -1
  432. package/lib/internal/template/internal/components/transition/index.js +3 -5
  433. package/lib/internal/template/internal/components/transition/index.js.map +1 -1
  434. package/lib/internal/template/internal/environment.js +2 -2
  435. package/lib/internal/template/internal/environment.json +2 -2
  436. package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts +24 -0
  437. package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts.map +1 -1
  438. package/lib/internal/template/internal/generated/custom-css-properties/index.js +126 -102
  439. package/lib/internal/template/internal/generated/custom-css-properties/index.js.map +1 -1
  440. package/lib/internal/template/internal/hooks/use-intersection-observer/index.js +1 -1
  441. package/lib/internal/template/internal/hooks/use-intersection-observer/index.js.map +1 -1
  442. package/lib/internal/template/internal/hooks/use-performance-marks/index.js +12 -2
  443. package/lib/internal/template/internal/hooks/use-performance-marks/index.js.map +1 -1
  444. package/lib/internal/template/internal/hooks/use-virtual/index.js +5 -2
  445. package/lib/internal/template/internal/hooks/use-virtual/index.js.map +1 -1
  446. package/lib/internal/template/internal/plugins/controllers/drawers.js +4 -6
  447. package/lib/internal/template/internal/plugins/controllers/drawers.js.map +1 -1
  448. package/lib/internal/template/internal/plugins/helpers/use-global-breadcrumbs.js +4 -6
  449. package/lib/internal/template/internal/plugins/helpers/use-global-breadcrumbs.js.map +1 -1
  450. package/lib/internal/template/internal/plugins/widget/index.js +1 -1
  451. package/lib/internal/template/internal/plugins/widget/index.js.map +1 -1
  452. package/lib/internal/template/internal/utils/with-native-attributes.js +4 -6
  453. package/lib/internal/template/internal/utils/with-native-attributes.js.map +1 -1
  454. package/lib/internal/template/internal/widgets/index.js +2 -2
  455. package/lib/internal/template/internal/widgets/index.js.map +1 -1
  456. package/lib/internal/template/internal/widgets/loader-mock.js +2 -2
  457. package/lib/internal/template/internal/widgets/loader-mock.js.map +1 -1
  458. package/lib/internal/template/key-value-pairs/index.js +2 -4
  459. package/lib/internal/template/key-value-pairs/index.js.map +1 -1
  460. package/lib/internal/template/key-value-pairs/internal.js +4 -6
  461. package/lib/internal/template/key-value-pairs/internal.js.map +1 -1
  462. package/lib/internal/template/line-chart/index.js +2 -4
  463. package/lib/internal/template/line-chart/index.js.map +1 -1
  464. package/lib/internal/template/link/index.js +2 -4
  465. package/lib/internal/template/link/index.js.map +1 -1
  466. package/lib/internal/template/link/internal.js +13 -6
  467. package/lib/internal/template/link/internal.js.map +1 -1
  468. package/lib/internal/template/link/style.js +12 -9
  469. package/lib/internal/template/link/style.js.map +1 -1
  470. package/lib/internal/template/link/styles.css.js +20 -20
  471. package/lib/internal/template/link/styles.scoped.css +103 -103
  472. package/lib/internal/template/link/styles.selectors.js +20 -20
  473. package/lib/internal/template/list/index.js +1 -1
  474. package/lib/internal/template/list/index.js.map +1 -1
  475. package/lib/internal/template/list/internal.js +6 -8
  476. package/lib/internal/template/list/internal.js.map +1 -1
  477. package/lib/internal/template/live-region/index.js +2 -4
  478. package/lib/internal/template/live-region/index.js.map +1 -1
  479. package/lib/internal/template/live-region/internal.js +2 -4
  480. package/lib/internal/template/live-region/internal.js.map +1 -1
  481. package/lib/internal/template/mixed-line-bar-chart/bar-series.js +3 -3
  482. package/lib/internal/template/mixed-line-bar-chart/bar-series.js.map +1 -1
  483. package/lib/internal/template/mixed-line-bar-chart/chart-container.js +7 -9
  484. package/lib/internal/template/mixed-line-bar-chart/chart-container.js.map +1 -1
  485. package/lib/internal/template/mixed-line-bar-chart/chart-popover.js +4 -1
  486. package/lib/internal/template/mixed-line-bar-chart/chart-popover.js.map +1 -1
  487. package/lib/internal/template/mixed-line-bar-chart/hooks/use-navigation.js +1 -1
  488. package/lib/internal/template/mixed-line-bar-chart/hooks/use-navigation.js.map +1 -1
  489. package/lib/internal/template/mixed-line-bar-chart/index.js +2 -4
  490. package/lib/internal/template/mixed-line-bar-chart/index.js.map +1 -1
  491. package/lib/internal/template/mixed-line-bar-chart/internal.js +2 -4
  492. package/lib/internal/template/mixed-line-bar-chart/internal.js.map +1 -1
  493. package/lib/internal/template/mixed-line-bar-chart/line-series.js +3 -3
  494. package/lib/internal/template/mixed-line-bar-chart/line-series.js.map +1 -1
  495. package/lib/internal/template/modal/index.js +5 -8
  496. package/lib/internal/template/modal/index.js.map +1 -1
  497. package/lib/internal/template/modal/internal.js +11 -14
  498. package/lib/internal/template/modal/internal.js.map +1 -1
  499. package/lib/internal/template/multiselect/embedded.js +15 -6
  500. package/lib/internal/template/multiselect/embedded.js.map +1 -1
  501. package/lib/internal/template/multiselect/index.js +2 -4
  502. package/lib/internal/template/multiselect/index.js.map +1 -1
  503. package/lib/internal/template/multiselect/internal.js +13 -12
  504. package/lib/internal/template/multiselect/internal.js.map +1 -1
  505. package/lib/internal/template/multiselect/use-multiselect.js +9 -5
  506. package/lib/internal/template/multiselect/use-multiselect.js.map +1 -1
  507. package/lib/internal/template/navigable-group/index.js +2 -4
  508. package/lib/internal/template/navigable-group/index.js.map +1 -1
  509. package/lib/internal/template/navigable-group/internal.js +2 -4
  510. package/lib/internal/template/navigable-group/internal.js.map +1 -1
  511. package/lib/internal/template/pagination/index.js +10 -10
  512. package/lib/internal/template/pagination/index.js.map +1 -1
  513. package/lib/internal/template/pagination/internal.js +36 -40
  514. package/lib/internal/template/pagination/internal.js.map +1 -1
  515. package/lib/internal/template/pie-chart/index.js +4 -6
  516. package/lib/internal/template/pie-chart/index.js.map +1 -1
  517. package/lib/internal/template/pie-chart/labels.js +2 -2
  518. package/lib/internal/template/pie-chart/labels.js.map +1 -1
  519. package/lib/internal/template/pie-chart/segments.js +1 -1
  520. package/lib/internal/template/pie-chart/segments.js.map +1 -1
  521. package/lib/internal/template/pie-chart/utils.js +17 -5
  522. package/lib/internal/template/pie-chart/utils.js.map +1 -1
  523. package/lib/internal/template/popover/body.js +3 -3
  524. package/lib/internal/template/popover/body.js.map +1 -1
  525. package/lib/internal/template/popover/container.js +1 -1
  526. package/lib/internal/template/popover/container.js.map +1 -1
  527. package/lib/internal/template/popover/index.js +2 -4
  528. package/lib/internal/template/popover/index.js.map +1 -1
  529. package/lib/internal/template/popover/internal.js +4 -6
  530. package/lib/internal/template/popover/internal.js.map +1 -1
  531. package/lib/internal/template/progress-bar/index.js +2 -4
  532. package/lib/internal/template/progress-bar/index.js.map +1 -1
  533. package/lib/internal/template/progress-bar/internal.js +4 -1
  534. package/lib/internal/template/progress-bar/internal.js.map +1 -1
  535. package/lib/internal/template/progress-bar/styles.css.js +19 -19
  536. package/lib/internal/template/progress-bar/styles.scoped.css +56 -56
  537. package/lib/internal/template/progress-bar/styles.selectors.js +19 -19
  538. package/lib/internal/template/prompt-input/index.js +2 -4
  539. package/lib/internal/template/prompt-input/index.js.map +1 -1
  540. package/lib/internal/template/prompt-input/interfaces.d.ts +48 -0
  541. package/lib/internal/template/prompt-input/interfaces.d.ts.map +1 -1
  542. package/lib/internal/template/prompt-input/interfaces.js.map +1 -1
  543. package/lib/internal/template/prompt-input/internal.d.ts.map +1 -1
  544. package/lib/internal/template/prompt-input/internal.js +5 -6
  545. package/lib/internal/template/prompt-input/internal.js.map +1 -1
  546. package/lib/internal/template/prompt-input/styles.css.js +17 -17
  547. package/lib/internal/template/prompt-input/styles.d.ts +5 -0
  548. package/lib/internal/template/prompt-input/styles.d.ts.map +1 -0
  549. package/lib/internal/template/prompt-input/styles.js +44 -0
  550. package/lib/internal/template/prompt-input/styles.js.map +1 -0
  551. package/lib/internal/template/prompt-input/styles.scoped.css +73 -61
  552. package/lib/internal/template/prompt-input/styles.selectors.js +17 -17
  553. package/lib/internal/template/property-filter/controller.js +6 -6
  554. package/lib/internal/template/property-filter/controller.js.map +1 -1
  555. package/lib/internal/template/property-filter/filter-options.js +1 -1
  556. package/lib/internal/template/property-filter/filter-options.js.map +1 -1
  557. package/lib/internal/template/property-filter/filtering-token/index.js +11 -14
  558. package/lib/internal/template/property-filter/filtering-token/index.js.map +1 -1
  559. package/lib/internal/template/property-filter/i18n-utils.js +48 -11
  560. package/lib/internal/template/property-filter/i18n-utils.js.map +1 -1
  561. package/lib/internal/template/property-filter/index.js +4 -6
  562. package/lib/internal/template/property-filter/index.js.map +1 -1
  563. package/lib/internal/template/property-filter/internal.js +15 -13
  564. package/lib/internal/template/property-filter/internal.js.map +1 -1
  565. package/lib/internal/template/property-filter/property-editor.js +1 -1
  566. package/lib/internal/template/property-filter/property-editor.js.map +1 -1
  567. package/lib/internal/template/property-filter/property-filter-autosuggest.js +8 -4
  568. package/lib/internal/template/property-filter/property-filter-autosuggest.js.map +1 -1
  569. package/lib/internal/template/property-filter/token-editor-inputs.js +10 -9
  570. package/lib/internal/template/property-filter/token-editor-inputs.js.map +1 -1
  571. package/lib/internal/template/property-filter/token-editor.js +10 -10
  572. package/lib/internal/template/property-filter/token-editor.js.map +1 -1
  573. package/lib/internal/template/property-filter/token.js +8 -8
  574. package/lib/internal/template/property-filter/token.js.map +1 -1
  575. package/lib/internal/template/property-filter/use-load-items.js +6 -1
  576. package/lib/internal/template/property-filter/use-load-items.js.map +1 -1
  577. package/lib/internal/template/radio-group/index.js +9 -9
  578. package/lib/internal/template/radio-group/index.js.map +1 -1
  579. package/lib/internal/template/radio-group/internal.js +10 -12
  580. package/lib/internal/template/radio-group/internal.js.map +1 -1
  581. package/lib/internal/template/radio-group/radio-button.js +4 -6
  582. package/lib/internal/template/radio-group/radio-button.js.map +1 -1
  583. package/lib/internal/template/radio-group/styles.css.js +10 -10
  584. package/lib/internal/template/radio-group/styles.scoped.css +22 -22
  585. package/lib/internal/template/radio-group/styles.selectors.js +10 -10
  586. package/lib/internal/template/s3-resource-selector/index.js +3 -5
  587. package/lib/internal/template/s3-resource-selector/index.js.map +1 -1
  588. package/lib/internal/template/s3-resource-selector/s3-in-context/index.js +1 -1
  589. package/lib/internal/template/s3-resource-selector/s3-in-context/index.js.map +1 -1
  590. package/lib/internal/template/s3-resource-selector/s3-in-context/search-input.js +1 -1
  591. package/lib/internal/template/s3-resource-selector/s3-in-context/search-input.js.map +1 -1
  592. package/lib/internal/template/s3-resource-selector/s3-modal/basic-table.js +4 -7
  593. package/lib/internal/template/s3-resource-selector/s3-modal/basic-table.js.map +1 -1
  594. package/lib/internal/template/s3-resource-selector/s3-modal/buckets-table.js +13 -1
  595. package/lib/internal/template/s3-resource-selector/s3-modal/buckets-table.js.map +1 -1
  596. package/lib/internal/template/s3-resource-selector/s3-modal/index.js +4 -1
  597. package/lib/internal/template/s3-resource-selector/s3-modal/index.js.map +1 -1
  598. package/lib/internal/template/s3-resource-selector/s3-modal/objects-table.js +14 -2
  599. package/lib/internal/template/s3-resource-selector/s3-modal/objects-table.js.map +1 -1
  600. package/lib/internal/template/s3-resource-selector/s3-modal/versions-table.js +13 -1
  601. package/lib/internal/template/s3-resource-selector/s3-modal/versions-table.js.map +1 -1
  602. package/lib/internal/template/segmented-control/index.js +1 -1
  603. package/lib/internal/template/segmented-control/index.js.map +1 -1
  604. package/lib/internal/template/segmented-control/internal.js +6 -8
  605. package/lib/internal/template/segmented-control/internal.js.map +1 -1
  606. package/lib/internal/template/segmented-control/segment.js +1 -1
  607. package/lib/internal/template/segmented-control/segment.js.map +1 -1
  608. package/lib/internal/template/select/index.js +2 -4
  609. package/lib/internal/template/select/index.js.map +1 -1
  610. package/lib/internal/template/select/internal.js +13 -10
  611. package/lib/internal/template/select/internal.js.map +1 -1
  612. package/lib/internal/template/select/parts/filter.js +9 -4
  613. package/lib/internal/template/select/parts/filter.js.map +1 -1
  614. package/lib/internal/template/select/parts/item.js +3 -5
  615. package/lib/internal/template/select/parts/item.js.map +1 -1
  616. package/lib/internal/template/select/parts/multiselect-item.js +3 -5
  617. package/lib/internal/template/select/parts/multiselect-item.js.map +1 -1
  618. package/lib/internal/template/select/parts/plain-list.js +1 -1
  619. package/lib/internal/template/select/parts/plain-list.js.map +1 -1
  620. package/lib/internal/template/select/parts/trigger.js +2 -2
  621. package/lib/internal/template/select/parts/trigger.js.map +1 -1
  622. package/lib/internal/template/select/parts/virtual-list.js +3 -3
  623. package/lib/internal/template/select/parts/virtual-list.js.map +1 -1
  624. package/lib/internal/template/select/utils/get-item-props.js +7 -1
  625. package/lib/internal/template/select/utils/get-item-props.js.map +1 -1
  626. package/lib/internal/template/select/utils/render-options.js +1 -1
  627. package/lib/internal/template/select/utils/render-options.js.map +1 -1
  628. package/lib/internal/template/side-navigation/implementation.js +2 -4
  629. package/lib/internal/template/side-navigation/implementation.js.map +1 -1
  630. package/lib/internal/template/side-navigation/index.js +2 -4
  631. package/lib/internal/template/side-navigation/index.js.map +1 -1
  632. package/lib/internal/template/side-navigation/parts.js +4 -4
  633. package/lib/internal/template/side-navigation/parts.js.map +1 -1
  634. package/lib/internal/template/slider/index.js +2 -4
  635. package/lib/internal/template/slider/index.js.map +1 -1
  636. package/lib/internal/template/slider/internal.js +2 -4
  637. package/lib/internal/template/slider/internal.js.map +1 -1
  638. package/lib/internal/template/slider/styles.css.js +26 -26
  639. package/lib/internal/template/slider/styles.scoped.css +86 -86
  640. package/lib/internal/template/slider/styles.selectors.js +26 -26
  641. package/lib/internal/template/slider/tick-marks.js +3 -3
  642. package/lib/internal/template/slider/tick-marks.js.map +1 -1
  643. package/lib/internal/template/space-between/index.js +2 -4
  644. package/lib/internal/template/space-between/index.js.map +1 -1
  645. package/lib/internal/template/space-between/internal.js +2 -4
  646. package/lib/internal/template/space-between/internal.js.map +1 -1
  647. package/lib/internal/template/spinner/index.js +2 -4
  648. package/lib/internal/template/spinner/index.js.map +1 -1
  649. package/lib/internal/template/spinner/internal.js +2 -4
  650. package/lib/internal/template/spinner/internal.js.map +1 -1
  651. package/lib/internal/template/spinner/styles.css.js +13 -13
  652. package/lib/internal/template/spinner/styles.scoped.css +39 -39
  653. package/lib/internal/template/spinner/styles.selectors.js +13 -13
  654. package/lib/internal/template/split-panel/bottom.js +2 -2
  655. package/lib/internal/template/split-panel/bottom.js.map +1 -1
  656. package/lib/internal/template/split-panel/implementation.js +2 -4
  657. package/lib/internal/template/split-panel/implementation.js.map +1 -1
  658. package/lib/internal/template/split-panel/index.js +16 -4
  659. package/lib/internal/template/split-panel/index.js.map +1 -1
  660. package/lib/internal/template/split-panel/side.js +6 -2
  661. package/lib/internal/template/split-panel/side.js.map +1 -1
  662. package/lib/internal/template/status-indicator/index.js +2 -4
  663. package/lib/internal/template/status-indicator/index.js.map +1 -1
  664. package/lib/internal/template/status-indicator/internal.js +3 -5
  665. package/lib/internal/template/status-indicator/internal.js.map +1 -1
  666. package/lib/internal/template/steps/index.js +2 -4
  667. package/lib/internal/template/steps/index.js.map +1 -1
  668. package/lib/internal/template/steps/internal.js +2 -4
  669. package/lib/internal/template/steps/internal.js.map +1 -1
  670. package/lib/internal/template/table/body-cell/disabled-inline-editor.js +4 -6
  671. package/lib/internal/template/table/body-cell/disabled-inline-editor.js.map +1 -1
  672. package/lib/internal/template/table/body-cell/index.js +9 -11
  673. package/lib/internal/template/table/body-cell/index.js.map +1 -1
  674. package/lib/internal/template/table/body-cell/inline-editor.js +18 -21
  675. package/lib/internal/template/table/body-cell/inline-editor.js.map +1 -1
  676. package/lib/internal/template/table/body-cell/td-element.js +3 -5
  677. package/lib/internal/template/table/body-cell/td-element.js.map +1 -1
  678. package/lib/internal/template/table/expandable-rows/expandable-rows-utils.js +1 -1
  679. package/lib/internal/template/table/expandable-rows/expandable-rows-utils.js.map +1 -1
  680. package/lib/internal/template/table/header-cell/index.js +20 -20
  681. package/lib/internal/template/table/header-cell/index.js.map +1 -1
  682. package/lib/internal/template/table/header-cell/th-element.js +3 -5
  683. package/lib/internal/template/table/header-cell/th-element.js.map +1 -1
  684. package/lib/internal/template/table/index.js +14 -10
  685. package/lib/internal/template/table/index.js.map +1 -1
  686. package/lib/internal/template/table/internal.js +47 -34
  687. package/lib/internal/template/table/internal.js.map +1 -1
  688. package/lib/internal/template/table/progressive-loading/loader-cell.js +2 -4
  689. package/lib/internal/template/table/progressive-loading/loader-cell.js.map +1 -1
  690. package/lib/internal/template/table/selection/selection-cell.js +8 -11
  691. package/lib/internal/template/table/selection/selection-cell.js.map +1 -1
  692. package/lib/internal/template/table/selection/selection-control.js +10 -12
  693. package/lib/internal/template/table/selection/selection-control.js.map +1 -1
  694. package/lib/internal/template/table/sticky-columns/use-sticky-columns.js +1 -1
  695. package/lib/internal/template/table/sticky-columns/use-sticky-columns.js.map +1 -1
  696. package/lib/internal/template/table/sticky-header.js +2 -2
  697. package/lib/internal/template/table/sticky-header.js.map +1 -1
  698. package/lib/internal/template/table/thead.js +5 -5
  699. package/lib/internal/template/table/thead.js.map +1 -1
  700. package/lib/internal/template/table/use-cell-editing.js +3 -4
  701. package/lib/internal/template/table/use-cell-editing.js.map +1 -1
  702. package/lib/internal/template/table/utils.js +1 -1
  703. package/lib/internal/template/table/utils.js.map +1 -1
  704. package/lib/internal/template/tabs/index.js +6 -8
  705. package/lib/internal/template/tabs/index.js.map +1 -1
  706. package/lib/internal/template/tabs/tab-header-bar.js +12 -5
  707. package/lib/internal/template/tabs/tab-header-bar.js.map +1 -1
  708. package/lib/internal/template/tag-editor/index.js +7 -9
  709. package/lib/internal/template/tag-editor/index.js.map +1 -1
  710. package/lib/internal/template/tag-editor/styles.css.js +3 -3
  711. package/lib/internal/template/tag-editor/styles.scoped.css +13 -13
  712. package/lib/internal/template/tag-editor/styles.selectors.js +3 -3
  713. package/lib/internal/template/text-content/index.js +2 -4
  714. package/lib/internal/template/text-content/index.js.map +1 -1
  715. package/lib/internal/template/text-content/styles.css.js +1 -1
  716. package/lib/internal/template/text-content/styles.scoped.css +66 -66
  717. package/lib/internal/template/text-content/styles.selectors.js +1 -1
  718. package/lib/internal/template/text-filter/index.js +1 -1
  719. package/lib/internal/template/text-filter/index.js.map +1 -1
  720. package/lib/internal/template/text-filter/internal.js +2 -4
  721. package/lib/internal/template/text-filter/internal.js.map +1 -1
  722. package/lib/internal/template/textarea/index.js +3 -5
  723. package/lib/internal/template/textarea/index.js.map +1 -1
  724. package/lib/internal/template/textarea/styles.css.js +5 -5
  725. package/lib/internal/template/textarea/styles.js +42 -30
  726. package/lib/internal/template/textarea/styles.js.map +1 -1
  727. package/lib/internal/template/textarea/styles.scoped.css +41 -41
  728. package/lib/internal/template/textarea/styles.selectors.js +5 -5
  729. package/lib/internal/template/tiles/index.js +3 -3
  730. package/lib/internal/template/tiles/index.js.map +1 -1
  731. package/lib/internal/template/tiles/internal.js +12 -14
  732. package/lib/internal/template/tiles/internal.js.map +1 -1
  733. package/lib/internal/template/tiles/tile.js +3 -5
  734. package/lib/internal/template/tiles/tile.js.map +1 -1
  735. package/lib/internal/template/time-input/index.js +2 -4
  736. package/lib/internal/template/time-input/index.js.map +1 -1
  737. package/lib/internal/template/time-input/internal.js +2 -4
  738. package/lib/internal/template/time-input/internal.js.map +1 -1
  739. package/lib/internal/template/toggle/index.js +1 -1
  740. package/lib/internal/template/toggle/index.js.map +1 -1
  741. package/lib/internal/template/toggle/internal.js +5 -7
  742. package/lib/internal/template/toggle/internal.js.map +1 -1
  743. package/lib/internal/template/toggle/styles.css.js +10 -10
  744. package/lib/internal/template/toggle/styles.scoped.css +23 -23
  745. package/lib/internal/template/toggle/styles.selectors.js +10 -10
  746. package/lib/internal/template/toggle-button/index.js +2 -4
  747. package/lib/internal/template/toggle-button/index.js.map +1 -1
  748. package/lib/internal/template/toggle-button/internal.js +3 -5
  749. package/lib/internal/template/toggle-button/internal.js.map +1 -1
  750. package/lib/internal/template/token/dismiss-button.js +2 -2
  751. package/lib/internal/template/token/dismiss-button.js.map +1 -1
  752. package/lib/internal/template/token/index.js +1 -1
  753. package/lib/internal/template/token/index.js.map +1 -1
  754. package/lib/internal/template/token/internal.js +20 -14
  755. package/lib/internal/template/token/internal.js.map +1 -1
  756. package/lib/internal/template/token-group/index.js +2 -4
  757. package/lib/internal/template/token-group/index.js.map +1 -1
  758. package/lib/internal/template/token-group/internal.js +6 -8
  759. package/lib/internal/template/token-group/internal.js.map +1 -1
  760. package/lib/internal/template/top-navigation/index.js +2 -4
  761. package/lib/internal/template/top-navigation/index.js.map +1 -1
  762. package/lib/internal/template/top-navigation/internal.js +2 -4
  763. package/lib/internal/template/top-navigation/internal.js.map +1 -1
  764. package/lib/internal/template/top-navigation/parts/overflow-menu/menu-item.js +7 -11
  765. package/lib/internal/template/top-navigation/parts/overflow-menu/menu-item.js.map +1 -1
  766. package/lib/internal/template/top-navigation/parts/overflow-menu/views/submenu.js +2 -2
  767. package/lib/internal/template/top-navigation/parts/overflow-menu/views/submenu.js.map +1 -1
  768. package/lib/internal/template/top-navigation/parts/overflow-menu/views/utilities.js +1 -1
  769. package/lib/internal/template/top-navigation/parts/overflow-menu/views/utilities.js.map +1 -1
  770. package/lib/internal/template/top-navigation/parts/utility.js +1 -1
  771. package/lib/internal/template/top-navigation/parts/utility.js.map +1 -1
  772. package/lib/internal/template/tree-view/index.js +1 -1
  773. package/lib/internal/template/tree-view/index.js.map +1 -1
  774. package/lib/internal/template/tree-view/internal.js +2 -4
  775. package/lib/internal/template/tree-view/internal.js.map +1 -1
  776. package/lib/internal/template/tutorial-panel/components/tutorial-detail-view/task-list.js +1 -1
  777. package/lib/internal/template/tutorial-panel/components/tutorial-detail-view/task-list.js.map +1 -1
  778. package/lib/internal/template/tutorial-panel/index.js +2 -4
  779. package/lib/internal/template/tutorial-panel/index.js.map +1 -1
  780. package/lib/internal/template/wizard/index.js +2 -4
  781. package/lib/internal/template/wizard/index.js.map +1 -1
  782. package/lib/internal/template/wizard/internal.js +23 -10
  783. package/lib/internal/template/wizard/internal.js.map +1 -1
  784. package/lib/internal/template/wizard/wizard-actions.js +3 -3
  785. package/lib/internal/template/wizard/wizard-actions.js.map +1 -1
  786. package/lib/internal/template/wizard/wizard-form.js +2 -2
  787. package/lib/internal/template/wizard/wizard-form.js.map +1 -1
  788. package/lib/internal/template/wizard/wizard-navigation.js +7 -7
  789. package/lib/internal/template/wizard/wizard-navigation.js.map +1 -1
  790. package/package.json +1 -1
@@ -72,16 +72,16 @@ const ItemElement = forwardRef(({ item, dropdownExpandToViewport, tooltip, setTo
72
72
  setTooltip(null);
73
73
  };
74
74
  const itemStylePropertiesAndVariables = getButtonGroupItemStyles(style);
75
- return (React.createElement("div", Object.assign({ key: item.id, className: styles['item-wrapper'], ref: containerRef, onPointerEnter: () => onShowTooltipSoft(true), onPointerLeave: () => onShowTooltipSoft(false), onFocus: event => {
75
+ return (React.createElement("div", { key: item.id, className: styles['item-wrapper'], ref: containerRef, onPointerEnter: () => onShowTooltipSoft(true), onPointerLeave: () => onShowTooltipSoft(false), onFocus: event => {
76
76
  // Showing no tooltip when the focus comes from inside the container.
77
77
  // This is needed to prevent the tooltip after a menu closes with item selection or Escape.
78
78
  if (event && event.relatedTarget && nodeBelongs(containerRef.current, event.relatedTarget)) {
79
79
  return;
80
80
  }
81
81
  onShowTooltipHard(true);
82
- }, onBlur: () => onShowTooltipHard(false), style: itemStylePropertiesAndVariables }, (item.type === 'menu-dropdown' || item.disabled
83
- ? {}
84
- : getAnalyticsMetadataAttribute({ detail: { position, id: item.id } }))),
82
+ }, onBlur: () => onShowTooltipHard(false), style: itemStylePropertiesAndVariables, ...(item.type === 'menu-dropdown' || item.disabled
83
+ ? {}
84
+ : getAnalyticsMetadataAttribute({ detail: { position, id: item.id } })) },
85
85
  item.type === 'icon-button' && (React.createElement(IconButtonItem, { ref: buttonRef, item: item, onItemClick: onClickHandler, showTooltip: (tooltip === null || tooltip === void 0 ? void 0 : tooltip.item) === item.id, showFeedback: !!(tooltip === null || tooltip === void 0 ? void 0 : tooltip.feedback), onTooltipDismiss: () => setTooltip(null) })),
86
86
  item.type === 'icon-toggle-button' && (React.createElement(IconToggleButtonItem, { ref: buttonRef, item: item, onItemClick: onClickHandler, showTooltip: (tooltip === null || tooltip === void 0 ? void 0 : tooltip.item) === item.id, showFeedback: !!(tooltip === null || tooltip === void 0 ? void 0 : tooltip.feedback), onTooltipDismiss: () => setTooltip(null) })),
87
87
  item.type === 'icon-file-input' && (React.createElement(FileInputItem, { ref: fileInputRef, item: item, onFilesChange: onFilesChangeHandler, showTooltip: (tooltip === null || tooltip === void 0 ? void 0 : tooltip.item) === item.id, onTooltipDismiss: () => setTooltip(null) })),
@@ -1 +1 @@
1
- {"version":3,"file":"item-element.js","sourceRoot":"","sources":["../../../src/button-group/item-element.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, { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport { ButtonProps } from '../button/interfaces.js';\nimport { ButtonDropdownProps } from '../button-dropdown/interfaces.js';\nimport { FileInputProps } from '../file-input/interfaces';\nimport { fireCancelableEvent, NonCancelableEventHandler } from '../internal/events';\nimport { nodeBelongs } from '../internal/utils/node-belongs';\nimport FileInputItem from './file-input-item';\nimport IconButtonItem from './icon-button-item';\nimport IconToggleButtonItem from './icon-toggle-button-item.js';\nimport { ButtonGroupProps } from './interfaces';\nimport MenuDropdownItem from './menu-dropdown-item';\nimport { getButtonGroupItemStyles } from './style';\n\nimport styles from './styles.css.js';\n\ninterface ItemElementProps {\n item: ButtonGroupProps.Item;\n dropdownExpandToViewport?: boolean;\n tooltip: null | { item: string; feedback: boolean };\n setTooltip: (tooltip: null | { item: string; feedback: boolean }) => void;\n onItemClick?: NonCancelableEventHandler<ButtonGroupProps.ItemClickDetails> | undefined;\n onFilesChange?: NonCancelableEventHandler<ButtonGroupProps.FilesChangeDetails> | undefined;\n position: string;\n style?: ButtonGroupProps.Style;\n}\n\nconst ItemElement = forwardRef(\n (\n {\n item,\n dropdownExpandToViewport,\n tooltip,\n setTooltip,\n onItemClick,\n onFilesChange,\n position,\n style,\n }: ItemElementProps,\n ref: React.Ref<ButtonProps.Ref>\n ) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const buttonRef = useRef<ButtonProps.Ref>(null);\n const fileInputRef = useRef<FileInputProps.Ref>(null);\n const buttonDropdownRef = useRef<ButtonDropdownProps.Ref>(null);\n\n useImperativeHandle(ref, () => ({\n focus: () => {\n buttonRef.current?.focus();\n fileInputRef.current?.focus();\n buttonDropdownRef.current?.focus();\n },\n }));\n\n useEffect(() => {\n if (tooltip?.item !== item.id) {\n return;\n }\n\n const close = () => {\n setTooltip(null);\n };\n\n const handlePointerDownEvent = (event: PointerEvent) => {\n if (event.target && containerRef.current?.contains(event.target as HTMLElement)) {\n return;\n }\n\n close();\n };\n\n const handleKeyDownEvent = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n close();\n }\n };\n\n const controller = new AbortController();\n window.addEventListener('pointerdown', handlePointerDownEvent, { signal: controller.signal });\n window.addEventListener('keydown', handleKeyDownEvent, { signal: controller.signal });\n\n return () => {\n controller.abort();\n };\n }, [item.id, tooltip, setTooltip]);\n\n const onShowTooltipSoft = (show: boolean) => {\n if (!tooltip?.feedback) {\n setTooltip(show ? { item: item.id, feedback: false } : null);\n }\n };\n\n const onShowTooltipHard = (show: boolean) => {\n if (!show && item.id !== tooltip?.item) {\n return;\n }\n\n setTooltip(show ? { item: item.id, feedback: false } : null);\n };\n\n const onClickHandler = (event: CustomEvent<ButtonGroupProps.ItemClickDetails>) => {\n const hasPopoverFeedback = 'popoverFeedback' in item && item.popoverFeedback;\n\n if (hasPopoverFeedback) {\n setTooltip({ item: item.id, feedback: true });\n }\n\n fireCancelableEvent(onItemClick, event.detail, event);\n };\n\n const onFilesChangeHandler = (event: CustomEvent<ButtonGroupProps.FilesChangeDetails>) => {\n fireCancelableEvent(onFilesChange, event.detail, event);\n\n setTooltip(null);\n };\n\n const itemStylePropertiesAndVariables = getButtonGroupItemStyles(style);\n\n return (\n <div\n key={item.id}\n className={styles['item-wrapper']}\n ref={containerRef}\n onPointerEnter={() => onShowTooltipSoft(true)}\n onPointerLeave={() => onShowTooltipSoft(false)}\n onFocus={event => {\n // Showing no tooltip when the focus comes from inside the container.\n // This is needed to prevent the tooltip after a menu closes with item selection or Escape.\n if (event && event.relatedTarget && nodeBelongs(containerRef.current, event.relatedTarget)) {\n return;\n }\n onShowTooltipHard(true);\n }}\n onBlur={() => onShowTooltipHard(false)}\n style={itemStylePropertiesAndVariables}\n {...(item.type === 'menu-dropdown' || (item as ButtonGroupProps.IconButton).disabled\n ? {}\n : getAnalyticsMetadataAttribute({ detail: { position, id: item.id } }))}\n >\n {item.type === 'icon-button' && (\n <IconButtonItem\n ref={buttonRef}\n item={item}\n onItemClick={onClickHandler}\n showTooltip={tooltip?.item === item.id}\n showFeedback={!!tooltip?.feedback}\n onTooltipDismiss={() => setTooltip(null)}\n />\n )}\n {item.type === 'icon-toggle-button' && (\n <IconToggleButtonItem\n ref={buttonRef}\n item={item}\n onItemClick={onClickHandler}\n showTooltip={tooltip?.item === item.id}\n showFeedback={!!tooltip?.feedback}\n onTooltipDismiss={() => setTooltip(null)}\n />\n )}\n {item.type === 'icon-file-input' && (\n <FileInputItem\n ref={fileInputRef}\n item={item}\n onFilesChange={onFilesChangeHandler}\n showTooltip={tooltip?.item === item.id}\n onTooltipDismiss={() => setTooltip(null)}\n />\n )}\n {item.type === 'menu-dropdown' && (\n <MenuDropdownItem\n ref={buttonDropdownRef}\n item={item}\n showTooltip={tooltip?.item === item.id}\n onItemClick={onClickHandler}\n expandToViewport={dropdownExpandToViewport}\n onTooltipDismiss={() => setTooltip(null)}\n position={position}\n />\n )}\n </div>\n );\n }\n);\n\nexport default ItemElement;\n"]}
1
+ {"version":3,"file":"item-element.js","sourceRoot":"","sources":["../../../src/button-group/item-element.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, { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport { ButtonProps } from '../button/interfaces.js';\nimport { ButtonDropdownProps } from '../button-dropdown/interfaces.js';\nimport { FileInputProps } from '../file-input/interfaces';\nimport { fireCancelableEvent, NonCancelableEventHandler } from '../internal/events';\nimport { nodeBelongs } from '../internal/utils/node-belongs';\nimport FileInputItem from './file-input-item';\nimport IconButtonItem from './icon-button-item';\nimport IconToggleButtonItem from './icon-toggle-button-item.js';\nimport { ButtonGroupProps } from './interfaces';\nimport MenuDropdownItem from './menu-dropdown-item';\nimport { getButtonGroupItemStyles } from './style';\n\nimport styles from './styles.css.js';\n\ninterface ItemElementProps {\n item: ButtonGroupProps.Item;\n dropdownExpandToViewport?: boolean;\n tooltip: null | { item: string; feedback: boolean };\n setTooltip: (tooltip: null | { item: string; feedback: boolean }) => void;\n onItemClick?: NonCancelableEventHandler<ButtonGroupProps.ItemClickDetails> | undefined;\n onFilesChange?: NonCancelableEventHandler<ButtonGroupProps.FilesChangeDetails> | undefined;\n position: string;\n style?: ButtonGroupProps.Style;\n}\n\nconst ItemElement = forwardRef(\n (\n {\n item,\n dropdownExpandToViewport,\n tooltip,\n setTooltip,\n onItemClick,\n onFilesChange,\n position,\n style,\n }: ItemElementProps,\n ref: React.Ref<ButtonProps.Ref>\n ) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const buttonRef = useRef<ButtonProps.Ref>(null);\n const fileInputRef = useRef<FileInputProps.Ref>(null);\n const buttonDropdownRef = useRef<ButtonDropdownProps.Ref>(null);\n\n useImperativeHandle(ref, () => ({\n focus: () => {\n buttonRef.current?.focus();\n fileInputRef.current?.focus();\n buttonDropdownRef.current?.focus();\n },\n }));\n\n useEffect(() => {\n if (tooltip?.item !== item.id) {\n return;\n }\n\n const close = () => {\n setTooltip(null);\n };\n\n const handlePointerDownEvent = (event: PointerEvent) => {\n if (event.target && containerRef.current?.contains(event.target as HTMLElement)) {\n return;\n }\n\n close();\n };\n\n const handleKeyDownEvent = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n close();\n }\n };\n\n const controller = new AbortController();\n window.addEventListener('pointerdown', handlePointerDownEvent, { signal: controller.signal });\n window.addEventListener('keydown', handleKeyDownEvent, { signal: controller.signal });\n\n return () => {\n controller.abort();\n };\n }, [item.id, tooltip, setTooltip]);\n\n const onShowTooltipSoft = (show: boolean) => {\n if (!tooltip?.feedback) {\n setTooltip(show ? { item: item.id, feedback: false } : null);\n }\n };\n\n const onShowTooltipHard = (show: boolean) => {\n if (!show && item.id !== tooltip?.item) {\n return;\n }\n\n setTooltip(show ? { item: item.id, feedback: false } : null);\n };\n\n const onClickHandler = (event: CustomEvent<ButtonGroupProps.ItemClickDetails>) => {\n const hasPopoverFeedback = 'popoverFeedback' in item && item.popoverFeedback;\n\n if (hasPopoverFeedback) {\n setTooltip({ item: item.id, feedback: true });\n }\n\n fireCancelableEvent(onItemClick, event.detail, event);\n };\n\n const onFilesChangeHandler = (event: CustomEvent<ButtonGroupProps.FilesChangeDetails>) => {\n fireCancelableEvent(onFilesChange, event.detail, event);\n\n setTooltip(null);\n };\n\n const itemStylePropertiesAndVariables = getButtonGroupItemStyles(style);\n\n return (\n <div\n key={item.id}\n className={styles['item-wrapper']}\n ref={containerRef}\n onPointerEnter={() => onShowTooltipSoft(true)}\n onPointerLeave={() => onShowTooltipSoft(false)}\n onFocus={event => {\n // Showing no tooltip when the focus comes from inside the container.\n // This is needed to prevent the tooltip after a menu closes with item selection or Escape.\n if (event && event.relatedTarget && nodeBelongs(containerRef.current, event.relatedTarget)) {\n return;\n }\n onShowTooltipHard(true);\n }}\n onBlur={() => onShowTooltipHard(false)}\n style={itemStylePropertiesAndVariables}\n {...(item.type === 'menu-dropdown' || (item as ButtonGroupProps.IconButton).disabled\n ? {}\n : getAnalyticsMetadataAttribute({ detail: { position, id: item.id } }))}\n >\n {item.type === 'icon-button' && (\n <IconButtonItem\n ref={buttonRef}\n item={item}\n onItemClick={onClickHandler}\n showTooltip={tooltip?.item === item.id}\n showFeedback={!!tooltip?.feedback}\n onTooltipDismiss={() => setTooltip(null)}\n />\n )}\n {item.type === 'icon-toggle-button' && (\n <IconToggleButtonItem\n ref={buttonRef}\n item={item}\n onItemClick={onClickHandler}\n showTooltip={tooltip?.item === item.id}\n showFeedback={!!tooltip?.feedback}\n onTooltipDismiss={() => setTooltip(null)}\n />\n )}\n {item.type === 'icon-file-input' && (\n <FileInputItem\n ref={fileInputRef}\n item={item}\n onFilesChange={onFilesChangeHandler}\n showTooltip={tooltip?.item === item.id}\n onTooltipDismiss={() => setTooltip(null)}\n />\n )}\n {item.type === 'menu-dropdown' && (\n <MenuDropdownItem\n ref={buttonDropdownRef}\n item={item}\n showTooltip={tooltip?.item === item.id}\n onItemClick={onClickHandler}\n expandToViewport={dropdownExpandToViewport}\n onTooltipDismiss={() => setTooltip(null)}\n position={position}\n />\n )}\n </div>\n );\n }\n);\n\nexport default ItemElement;\n"]}
@@ -13,7 +13,7 @@ const MenuDropdownItem = React.forwardRef(({ item, showTooltip, onItemClick, onT
13
13
  const onClickHandler = (event) => {
14
14
  fireCancelableEvent(onItemClick, { id: event.detail.id, checked: event.detail.checked }, event);
15
15
  };
16
- return (React.createElement(ButtonDropdown, { ref: ref, variant: "icon", items: item.items, onItemClick: onClickHandler, expandToViewport: expandToViewport, ariaLabel: item.text, className: testUtilStyles['button-group-item'], position: position, "data-testid": item.id, disabled: item.disabled, customTriggerBuilder: ({ onClick, isOpen, triggerRef, ariaLabel, ariaExpanded, testUtilsClass }) => (React.createElement("div", Object.assign({ ref: containerRef }, (item.disabled ? {} : getAnalyticsMetadataAttribute({ detail: { position } }))),
16
+ return (React.createElement(ButtonDropdown, { ref: ref, variant: "icon", items: item.items, onItemClick: onClickHandler, expandToViewport: expandToViewport, ariaLabel: item.text, className: testUtilStyles['button-group-item'], position: position, "data-testid": item.id, disabled: item.disabled, customTriggerBuilder: ({ onClick, isOpen, triggerRef, ariaLabel, ariaExpanded, testUtilsClass }) => (React.createElement("div", { ref: containerRef, ...(item.disabled ? {} : getAnalyticsMetadataAttribute({ detail: { position } })) },
17
17
  !isOpen && showTooltip && !item.disabled && !item.loading && (React.createElement(Tooltip, { trackRef: containerRef, trackKey: item.id, value: item.text, className: clsx(testUtilStyles.tooltip, testUtilStyles['button-group-tooltip']), onDismiss: onTooltipDismiss })),
18
18
  React.createElement(InternalButton, { ref: triggerRef, variant: "icon", ariaLabel: ariaLabel, "data-itemid": item.id, ariaExpanded: ariaExpanded, className: clsx(testUtilStyles.item, testUtilsClass), iconName: "ellipsis", loading: item.loading, loadingText: item.loadingText, disabled: item.disabled, disabledReason: item.disabledReason, onClick: onClick, __title: "" }))) }));
19
19
  });
@@ -1 +1 @@
1
- {"version":3,"file":"menu-dropdown-item.js","sourceRoot":"","sources":["../../../src/button-group/menu-dropdown-item.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,6BAA6B,EAAE,MAAM,kEAAkE,CAAC;AAEjH,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAEhD,OAAO,cAAc,MAAM,6BAA6B,CAAC;AACzD,OAAO,OAAO,MAAM,gCAAgC,CAAC;AACrD,OAAO,EAA0B,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGjF,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAW1D,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CACvC,CACE,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAyB,EACvG,GAAuC,EACvC,EAAE;IACF,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,CAAC,KAAwD,EAAE,EAAE;QAClF,mBAAmB,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;IAClG,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,cAAc,IACb,GAAG,EAAE,GAAG,EACR,OAAO,EAAC,MAAM,EACd,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,WAAW,EAAE,cAAc,EAC3B,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,IAAI,CAAC,IAAI,EACpB,SAAS,EAAE,cAAc,CAAC,mBAAmB,CAAC,EAC9C,QAAQ,EAAE,QAAQ,iBACL,IAAI,CAAC,EAAE,EACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,oBAAoB,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAClG,2CAAK,GAAG,EAAE,YAAY,IAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,6BAA6B,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YACvG,CAAC,MAAM,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAC5D,oBAAC,OAAO,IACN,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,IAAI,CAAC,EAAE,EACjB,KAAK,EAAE,IAAI,CAAC,IAAI,EAChB,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAC/E,SAAS,EAAE,gBAAgB,GAC3B,CACH;YACD,oBAAC,cAAc,IACb,GAAG,EAAE,UAAU,EACf,OAAO,EAAC,MAAM,EACd,SAAS,EAAE,SAAS,iBACP,IAAI,CAAC,EAAE,EACpB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,EACpD,QAAQ,EAAC,UAAU,EACnB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAC,EAAE,GACV,CACE,CACP,GACD,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,gBAAgB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalButton from '../button/internal';\nimport { ButtonDropdownProps } from '../button-dropdown/interfaces';\nimport ButtonDropdown from '../button-dropdown/internal';\nimport Tooltip from '../internal/components/tooltip';\nimport { CancelableEventHandler, fireCancelableEvent } from '../internal/events';\nimport { ButtonGroupProps } from './interfaces';\n\nimport testUtilStyles from './test-classes/styles.css.js';\n\ninterface MenuDropdownItemProps {\n item: ButtonGroupProps.MenuDropdown;\n showTooltip: boolean;\n onTooltipDismiss: () => void;\n onItemClick?: CancelableEventHandler<ButtonGroupProps.ItemClickDetails>;\n expandToViewport?: boolean;\n position: string;\n}\n\nconst MenuDropdownItem = React.forwardRef(\n (\n { item, showTooltip, onItemClick, onTooltipDismiss, expandToViewport, position }: MenuDropdownItemProps,\n ref: React.Ref<ButtonDropdownProps.Ref>\n ) => {\n const containerRef = React.useRef<HTMLDivElement>(null);\n const onClickHandler = (event: CustomEvent<ButtonDropdownProps.ItemClickDetails>) => {\n fireCancelableEvent(onItemClick, { id: event.detail.id, checked: event.detail.checked }, event);\n };\n\n return (\n <ButtonDropdown\n ref={ref}\n variant=\"icon\"\n items={item.items}\n onItemClick={onClickHandler}\n expandToViewport={expandToViewport}\n ariaLabel={item.text}\n className={testUtilStyles['button-group-item']}\n position={position}\n data-testid={item.id}\n disabled={item.disabled}\n customTriggerBuilder={({ onClick, isOpen, triggerRef, ariaLabel, ariaExpanded, testUtilsClass }) => (\n <div ref={containerRef} {...(item.disabled ? {} : getAnalyticsMetadataAttribute({ detail: { position } }))}>\n {!isOpen && showTooltip && !item.disabled && !item.loading && (\n <Tooltip\n trackRef={containerRef}\n trackKey={item.id}\n value={item.text}\n className={clsx(testUtilStyles.tooltip, testUtilStyles['button-group-tooltip'])}\n onDismiss={onTooltipDismiss}\n />\n )}\n <InternalButton\n ref={triggerRef}\n variant=\"icon\"\n ariaLabel={ariaLabel}\n data-itemid={item.id}\n ariaExpanded={ariaExpanded}\n className={clsx(testUtilStyles.item, testUtilsClass)}\n iconName=\"ellipsis\"\n loading={item.loading}\n loadingText={item.loadingText}\n disabled={item.disabled}\n disabledReason={item.disabledReason}\n onClick={onClick}\n __title=\"\"\n />\n </div>\n )}\n />\n );\n }\n);\n\nexport default MenuDropdownItem;\n"]}
1
+ {"version":3,"file":"menu-dropdown-item.js","sourceRoot":"","sources":["../../../src/button-group/menu-dropdown-item.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,6BAA6B,EAAE,MAAM,kEAAkE,CAAC;AAEjH,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAEhD,OAAO,cAAc,MAAM,6BAA6B,CAAC;AACzD,OAAO,OAAO,MAAM,gCAAgC,CAAC;AACrD,OAAO,EAA0B,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGjF,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAW1D,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CACvC,CACE,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAyB,EACvG,GAAuC,EACvC,EAAE;IACF,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,CAAC,KAAwD,EAAE,EAAE;QAClF,mBAAmB,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;IAClG,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,cAAc,IACb,GAAG,EAAE,GAAG,EACR,OAAO,EAAC,MAAM,EACd,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,WAAW,EAAE,cAAc,EAC3B,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,IAAI,CAAC,IAAI,EACpB,SAAS,EAAE,cAAc,CAAC,mBAAmB,CAAC,EAC9C,QAAQ,EAAE,QAAQ,iBACL,IAAI,CAAC,EAAE,EACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,oBAAoB,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAClG,6BAAK,GAAG,EAAE,YAAY,KAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,6BAA6B,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YACvG,CAAC,MAAM,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAC5D,oBAAC,OAAO,IACN,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,IAAI,CAAC,EAAE,EACjB,KAAK,EAAE,IAAI,CAAC,IAAI,EAChB,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAC/E,SAAS,EAAE,gBAAgB,GAC3B,CACH;YACD,oBAAC,cAAc,IACb,GAAG,EAAE,UAAU,EACf,OAAO,EAAC,MAAM,EACd,SAAS,EAAE,SAAS,iBACP,IAAI,CAAC,EAAE,EACpB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,EACpD,QAAQ,EAAC,UAAU,EACnB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAC,EAAE,GACV,CACE,CACP,GACD,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,gBAAgB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport InternalButton from '../button/internal';\nimport { ButtonDropdownProps } from '../button-dropdown/interfaces';\nimport ButtonDropdown from '../button-dropdown/internal';\nimport Tooltip from '../internal/components/tooltip';\nimport { CancelableEventHandler, fireCancelableEvent } from '../internal/events';\nimport { ButtonGroupProps } from './interfaces';\n\nimport testUtilStyles from './test-classes/styles.css.js';\n\ninterface MenuDropdownItemProps {\n item: ButtonGroupProps.MenuDropdown;\n showTooltip: boolean;\n onTooltipDismiss: () => void;\n onItemClick?: CancelableEventHandler<ButtonGroupProps.ItemClickDetails>;\n expandToViewport?: boolean;\n position: string;\n}\n\nconst MenuDropdownItem = React.forwardRef(\n (\n { item, showTooltip, onItemClick, onTooltipDismiss, expandToViewport, position }: MenuDropdownItemProps,\n ref: React.Ref<ButtonDropdownProps.Ref>\n ) => {\n const containerRef = React.useRef<HTMLDivElement>(null);\n const onClickHandler = (event: CustomEvent<ButtonDropdownProps.ItemClickDetails>) => {\n fireCancelableEvent(onItemClick, { id: event.detail.id, checked: event.detail.checked }, event);\n };\n\n return (\n <ButtonDropdown\n ref={ref}\n variant=\"icon\"\n items={item.items}\n onItemClick={onClickHandler}\n expandToViewport={expandToViewport}\n ariaLabel={item.text}\n className={testUtilStyles['button-group-item']}\n position={position}\n data-testid={item.id}\n disabled={item.disabled}\n customTriggerBuilder={({ onClick, isOpen, triggerRef, ariaLabel, ariaExpanded, testUtilsClass }) => (\n <div ref={containerRef} {...(item.disabled ? {} : getAnalyticsMetadataAttribute({ detail: { position } }))}>\n {!isOpen && showTooltip && !item.disabled && !item.loading && (\n <Tooltip\n trackRef={containerRef}\n trackKey={item.id}\n value={item.text}\n className={clsx(testUtilStyles.tooltip, testUtilStyles['button-group-tooltip'])}\n onDismiss={onTooltipDismiss}\n />\n )}\n <InternalButton\n ref={triggerRef}\n variant=\"icon\"\n ariaLabel={ariaLabel}\n data-itemid={item.id}\n ariaExpanded={ariaExpanded}\n className={clsx(testUtilStyles.item, testUtilsClass)}\n iconName=\"ellipsis\"\n loading={item.loading}\n loadingText={item.loadingText}\n disabled={item.disabled}\n disabledReason={item.disabledReason}\n onClick={onClick}\n __title=\"\"\n />\n </div>\n )}\n />\n );\n }\n);\n\nexport default MenuDropdownItem;\n"]}
@@ -7,31 +7,45 @@ export function getButtonGroupStyles(style) {
7
7
  if (SYSTEM !== 'core' || !(style === null || style === void 0 ? void 0 : style.root)) {
8
8
  return undefined;
9
9
  }
10
- return Object.assign({ borderRadius: (_a = style === null || style === void 0 ? void 0 : style.root) === null || _a === void 0 ? void 0 : _a.borderRadius, borderWidth: (_b = style === null || style === void 0 ? void 0 : style.root) === null || _b === void 0 ? void 0 : _b.borderWidth, borderStyle: ((_c = style === null || style === void 0 ? void 0 : style.root) === null || _c === void 0 ? void 0 : _c.borderWidth) ? 'solid' : undefined, boxShadow: (_d = style === null || style === void 0 ? void 0 : style.root) === null || _d === void 0 ? void 0 : _d.boxShadow, paddingBlock: (_e = style === null || style === void 0 ? void 0 : style.root) === null || _e === void 0 ? void 0 : _e.paddingBlock, paddingInline: (_f = style === null || style === void 0 ? void 0 : style.root) === null || _f === void 0 ? void 0 : _f.paddingInline, background: (_g = style === null || style === void 0 ? void 0 : style.root) === null || _g === void 0 ? void 0 : _g.background, borderColor: (_h = style === null || style === void 0 ? void 0 : style.root) === null || _h === void 0 ? void 0 : _h.borderColor }, (((_j = style === null || style === void 0 ? void 0 : style.root) === null || _j === void 0 ? void 0 : _j.focusRing) && {
11
- [customCssProps.styleFocusRingBorderColor]: (_k = style.root.focusRing) === null || _k === void 0 ? void 0 : _k.borderColor,
12
- [customCssProps.styleFocusRingBorderRadius]: (_l = style.root.focusRing) === null || _l === void 0 ? void 0 : _l.borderRadius,
13
- [customCssProps.styleFocusRingBorderWidth]: (_m = style.root.focusRing) === null || _m === void 0 ? void 0 : _m.borderWidth,
14
- }));
10
+ return {
11
+ borderRadius: (_a = style === null || style === void 0 ? void 0 : style.root) === null || _a === void 0 ? void 0 : _a.borderRadius,
12
+ borderWidth: (_b = style === null || style === void 0 ? void 0 : style.root) === null || _b === void 0 ? void 0 : _b.borderWidth,
13
+ borderStyle: ((_c = style === null || style === void 0 ? void 0 : style.root) === null || _c === void 0 ? void 0 : _c.borderWidth) ? 'solid' : undefined,
14
+ boxShadow: (_d = style === null || style === void 0 ? void 0 : style.root) === null || _d === void 0 ? void 0 : _d.boxShadow,
15
+ paddingBlock: (_e = style === null || style === void 0 ? void 0 : style.root) === null || _e === void 0 ? void 0 : _e.paddingBlock,
16
+ paddingInline: (_f = style === null || style === void 0 ? void 0 : style.root) === null || _f === void 0 ? void 0 : _f.paddingInline,
17
+ background: (_g = style === null || style === void 0 ? void 0 : style.root) === null || _g === void 0 ? void 0 : _g.background,
18
+ borderColor: (_h = style === null || style === void 0 ? void 0 : style.root) === null || _h === void 0 ? void 0 : _h.borderColor,
19
+ ...(((_j = style === null || style === void 0 ? void 0 : style.root) === null || _j === void 0 ? void 0 : _j.focusRing) && {
20
+ [customCssProps.styleFocusRingBorderColor]: (_k = style.root.focusRing) === null || _k === void 0 ? void 0 : _k.borderColor,
21
+ [customCssProps.styleFocusRingBorderRadius]: (_l = style.root.focusRing) === null || _l === void 0 ? void 0 : _l.borderRadius,
22
+ [customCssProps.styleFocusRingBorderWidth]: (_m = style.root.focusRing) === null || _m === void 0 ? void 0 : _m.borderWidth,
23
+ }),
24
+ };
15
25
  }
16
26
  export function getButtonGroupItemStyles(style) {
17
27
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
18
28
  if (SYSTEM !== 'core' || !(style === null || style === void 0 ? void 0 : style.item)) {
19
29
  return undefined;
20
30
  }
21
- return Object.assign(Object.assign(Object.assign({}, (((_a = style === null || style === void 0 ? void 0 : style.item) === null || _a === void 0 ? void 0 : _a.color) && {
22
- [customCssProps.styleColorActive]: (_b = style.item.color) === null || _b === void 0 ? void 0 : _b.active,
23
- [customCssProps.styleColorDefault]: (_c = style.item.color) === null || _c === void 0 ? void 0 : _c.default,
24
- [customCssProps.styleColorDisabled]: (_d = style.item.color) === null || _d === void 0 ? void 0 : _d.disabled,
25
- [customCssProps.styleColorHover]: (_e = style.item.color) === null || _e === void 0 ? void 0 : _e.hover,
26
- })), (((_f = style === null || style === void 0 ? void 0 : style.item) === null || _f === void 0 ? void 0 : _f.boxShadow) && {
27
- [customCssProps.styleBoxShadowActive]: (_g = style.item.boxShadow) === null || _g === void 0 ? void 0 : _g.active,
28
- [customCssProps.styleBoxShadowDefault]: (_h = style.item.boxShadow) === null || _h === void 0 ? void 0 : _h.default,
29
- [customCssProps.styleBoxShadowDisabled]: (_j = style.item.boxShadow) === null || _j === void 0 ? void 0 : _j.disabled,
30
- [customCssProps.styleBoxShadowHover]: (_k = style.item.boxShadow) === null || _k === void 0 ? void 0 : _k.hover,
31
- })), (((_l = style === null || style === void 0 ? void 0 : style.item) === null || _l === void 0 ? void 0 : _l.focusRing) && {
32
- [customCssProps.styleFocusRingBorderColor]: (_m = style.item.focusRing) === null || _m === void 0 ? void 0 : _m.borderColor,
33
- [customCssProps.styleFocusRingBorderRadius]: (_o = style.item.focusRing) === null || _o === void 0 ? void 0 : _o.borderRadius,
34
- [customCssProps.styleFocusRingBorderWidth]: (_p = style.item.focusRing) === null || _p === void 0 ? void 0 : _p.borderWidth,
35
- }));
31
+ return {
32
+ ...(((_a = style === null || style === void 0 ? void 0 : style.item) === null || _a === void 0 ? void 0 : _a.color) && {
33
+ [customCssProps.styleColorActive]: (_b = style.item.color) === null || _b === void 0 ? void 0 : _b.active,
34
+ [customCssProps.styleColorDefault]: (_c = style.item.color) === null || _c === void 0 ? void 0 : _c.default,
35
+ [customCssProps.styleColorDisabled]: (_d = style.item.color) === null || _d === void 0 ? void 0 : _d.disabled,
36
+ [customCssProps.styleColorHover]: (_e = style.item.color) === null || _e === void 0 ? void 0 : _e.hover,
37
+ }),
38
+ ...(((_f = style === null || style === void 0 ? void 0 : style.item) === null || _f === void 0 ? void 0 : _f.boxShadow) && {
39
+ [customCssProps.styleBoxShadowActive]: (_g = style.item.boxShadow) === null || _g === void 0 ? void 0 : _g.active,
40
+ [customCssProps.styleBoxShadowDefault]: (_h = style.item.boxShadow) === null || _h === void 0 ? void 0 : _h.default,
41
+ [customCssProps.styleBoxShadowDisabled]: (_j = style.item.boxShadow) === null || _j === void 0 ? void 0 : _j.disabled,
42
+ [customCssProps.styleBoxShadowHover]: (_k = style.item.boxShadow) === null || _k === void 0 ? void 0 : _k.hover,
43
+ }),
44
+ ...(((_l = style === null || style === void 0 ? void 0 : style.item) === null || _l === void 0 ? void 0 : _l.focusRing) && {
45
+ [customCssProps.styleFocusRingBorderColor]: (_m = style.item.focusRing) === null || _m === void 0 ? void 0 : _m.borderColor,
46
+ [customCssProps.styleFocusRingBorderRadius]: (_o = style.item.focusRing) === null || _o === void 0 ? void 0 : _o.borderRadius,
47
+ [customCssProps.styleFocusRingBorderWidth]: (_p = style.item.focusRing) === null || _p === void 0 ? void 0 : _p.borderWidth,
48
+ }),
49
+ };
36
50
  }
37
51
  //# sourceMappingURL=style.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sourceRoot":"","sources":["../../../src/button-group/style.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 { SYSTEM } from '../internal/environment';\nimport customCssProps from '../internal/generated/custom-css-properties';\nimport { ButtonGroupProps } from './interfaces';\n\nexport function getButtonGroupStyles(style: ButtonGroupProps['style']) {\n if (SYSTEM !== 'core' || !style?.root) {\n return undefined;\n }\n\n return {\n borderRadius: style?.root?.borderRadius,\n borderWidth: style?.root?.borderWidth,\n borderStyle: style?.root?.borderWidth ? 'solid' : undefined,\n boxShadow: style?.root?.boxShadow,\n paddingBlock: style?.root?.paddingBlock,\n paddingInline: style?.root?.paddingInline,\n background: style?.root?.background,\n borderColor: style?.root?.borderColor,\n ...(style?.root?.focusRing && {\n [customCssProps.styleFocusRingBorderColor]: style.root.focusRing?.borderColor,\n [customCssProps.styleFocusRingBorderRadius]: style.root.focusRing?.borderRadius,\n [customCssProps.styleFocusRingBorderWidth]: style.root.focusRing?.borderWidth,\n }),\n };\n}\n\nexport function getButtonGroupItemStyles(style: ButtonGroupProps['style']): React.CSSProperties | undefined {\n if (SYSTEM !== 'core' || !style?.item) {\n return undefined;\n }\n\n return {\n ...(style?.item?.color && {\n [customCssProps.styleColorActive]: style.item.color?.active,\n [customCssProps.styleColorDefault]: style.item.color?.default,\n [customCssProps.styleColorDisabled]: style.item.color?.disabled,\n [customCssProps.styleColorHover]: style.item.color?.hover,\n }),\n ...(style?.item?.boxShadow && {\n [customCssProps.styleBoxShadowActive]: style.item.boxShadow?.active,\n [customCssProps.styleBoxShadowDefault]: style.item.boxShadow?.default,\n [customCssProps.styleBoxShadowDisabled]: style.item.boxShadow?.disabled,\n [customCssProps.styleBoxShadowHover]: style.item.boxShadow?.hover,\n }),\n ...(style?.item?.focusRing && {\n [customCssProps.styleFocusRingBorderColor]: style.item.focusRing?.borderColor,\n [customCssProps.styleFocusRingBorderRadius]: style.item.focusRing?.borderRadius,\n [customCssProps.styleFocusRingBorderWidth]: style.item.focusRing?.borderWidth,\n }),\n };\n}\n"]}
1
+ {"version":3,"file":"style.js","sourceRoot":"","sources":["../../../src/button-group/style.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 { SYSTEM } from '../internal/environment';\nimport customCssProps from '../internal/generated/custom-css-properties';\nimport { ButtonGroupProps } from './interfaces';\n\nexport function getButtonGroupStyles(style: ButtonGroupProps['style']) {\n if (SYSTEM !== 'core' || !style?.root) {\n return undefined;\n }\n\n return {\n borderRadius: style?.root?.borderRadius,\n borderWidth: style?.root?.borderWidth,\n borderStyle: style?.root?.borderWidth ? 'solid' : undefined,\n boxShadow: style?.root?.boxShadow,\n paddingBlock: style?.root?.paddingBlock,\n paddingInline: style?.root?.paddingInline,\n background: style?.root?.background,\n borderColor: style?.root?.borderColor,\n ...(style?.root?.focusRing && {\n [customCssProps.styleFocusRingBorderColor]: style.root.focusRing?.borderColor,\n [customCssProps.styleFocusRingBorderRadius]: style.root.focusRing?.borderRadius,\n [customCssProps.styleFocusRingBorderWidth]: style.root.focusRing?.borderWidth,\n }),\n };\n}\n\nexport function getButtonGroupItemStyles(style: ButtonGroupProps['style']): React.CSSProperties | undefined {\n if (SYSTEM !== 'core' || !style?.item) {\n return undefined;\n }\n\n return {\n ...(style?.item?.color && {\n [customCssProps.styleColorActive]: style.item.color?.active,\n [customCssProps.styleColorDefault]: style.item.color?.default,\n [customCssProps.styleColorDisabled]: style.item.color?.disabled,\n [customCssProps.styleColorHover]: style.item.color?.hover,\n }),\n ...(style?.item?.boxShadow && {\n [customCssProps.styleBoxShadowActive]: style.item.boxShadow?.active,\n [customCssProps.styleBoxShadowDefault]: style.item.boxShadow?.default,\n [customCssProps.styleBoxShadowDisabled]: style.item.boxShadow?.disabled,\n [customCssProps.styleBoxShadowHover]: style.item.boxShadow?.hover,\n }),\n ...(style?.item?.focusRing && {\n [customCssProps.styleFocusRingBorderColor]: style.item.focusRing?.borderColor,\n [customCssProps.styleFocusRingBorderRadius]: style.item.focusRing?.borderRadius,\n [customCssProps.styleFocusRingBorderWidth]: style.item.focusRing?.borderWidth,\n }),\n };\n}\n"]}
@@ -1,4 +1,3 @@
1
- import { __rest } from "tslib";
2
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
2
  // SPDX-License-Identifier: Apache-2.0
4
3
  import React, { forwardRef, useRef, useState } from 'react';
@@ -11,12 +10,12 @@ import useHiddenDescription from '../../internal/hooks/use-hidden-description';
11
10
  import { applyDisplayName } from '../../internal/utils/apply-display-name';
12
11
  import styles from '../styles.css.js';
13
12
  const GridCell = forwardRef((props, focusedDateRef) => {
14
- const { disabledReason } = props, rest = __rest(props, ["disabledReason"]);
13
+ const { disabledReason, ...rest } = props;
15
14
  const isDisabledWithReason = !!disabledReason;
16
15
  const { targetProps, descriptionEl } = useHiddenDescription(disabledReason);
17
16
  const ref = useRef(null);
18
17
  const [showTooltip, setShowTooltip] = useState(false);
19
- return (React.createElement("td", Object.assign({ ref: useMergeRefs(focusedDateRef, ref) }, (isDisabledWithReason ? targetProps : {}), rest, { onFocus: () => (isDisabledWithReason ? setShowTooltip(true) : undefined), onBlur: () => (isDisabledWithReason ? setShowTooltip(false) : undefined), onMouseEnter: () => (isDisabledWithReason ? setShowTooltip(true) : undefined), onMouseLeave: () => (isDisabledWithReason ? setShowTooltip(false) : undefined) }),
18
+ return (React.createElement("td", { ref: useMergeRefs(focusedDateRef, ref), ...(isDisabledWithReason ? targetProps : {}), ...rest, onFocus: () => (isDisabledWithReason ? setShowTooltip(true) : undefined), onBlur: () => (isDisabledWithReason ? setShowTooltip(false) : undefined), onMouseEnter: () => (isDisabledWithReason ? setShowTooltip(true) : undefined), onMouseLeave: () => (isDisabledWithReason ? setShowTooltip(false) : undefined) },
20
19
  props.children,
21
20
  isDisabledWithReason && (React.createElement(React.Fragment, null,
22
21
  descriptionEl,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/calendar/grid/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { forwardRef, TdHTMLAttributes, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { useMergeRefs } from '@cloudscape-design/component-toolkit/internal';\n\nimport { DatePickerProps } from '../../date-picker/interfaces';\nimport ScreenreaderOnly from '../../internal/components/screenreader-only/index.js';\nimport Tooltip from '../../internal/components/tooltip';\nimport { useEffectOnUpdate } from '../../internal/hooks/use-effect-on-update';\nimport useHiddenDescription from '../../internal/hooks/use-hidden-description';\nimport { applyDisplayName } from '../../internal/utils/apply-display-name';\nimport { CalendarProps } from '../interfaces';\n\nimport styles from '../styles.css.js';\n\n/**\n * Calendar grid supports two mechanisms of keyboard navigation:\n * - Native screen-reader table navigation (semantic table markup);\n * - Keyboard arrow-keys navigation (a custom key-down handler).\n *\n * The implementation largely follows the w3 example (https://www.w3.org/WAI/ARIA/apg/example-index/dialog-modal/datepicker-dialog) and shares the following issues:\n * - (table navigation) Chrome+VO - weekday is announced twice when navigating to the calendar's header;\n * - (table navigation) Safari+VO - \"dimmed\" state is announced twice;\n * - (table navigation) Firefox/Chrome+NVDA - cannot use table navigation if any cell has a focus;\n * - (keyboard navigation) Firefox+NVDA - every date is announced as \"not selected\";\n * - (keyboard navigation) Safari/Chrome+VO - weekdays are not announced;\n * - (keyboard navigation) Safari/Chrome+VO - dates are not announced as interactive (clickable or selectable);\n * - (keyboard navigation) Safari/Chrome+VO - date announcements are not interruptive and can be missed if navigating fast.\n */\n\nexport interface GridProps {\n isDateEnabled: DatePickerProps.IsDateEnabledFunction;\n dateDisabledReason: CalendarProps.DateDisabledReasonFunction;\n focusedDate: Date | null;\n focusableDate: Date | null;\n onSelectDate: (date: Date) => void;\n onFocusDate: (date: null | Date) => void;\n onChangePage: (date: Date) => void;\n selectedDate: Date | null;\n ariaLabelledby: string;\n header?: React.ReactNode;\n rows: ReadonlyArray<ReadonlyArray<Date>>;\n isCurrentPage: (date: Date) => boolean;\n renderDate: (date: Date) => string;\n renderDateAnnouncement: (date: Date, isOnCurrentDate: boolean) => string;\n isSameDate: (date: Date, baseDate: Date) => boolean;\n onGridKeyDownHandler: (event: React.KeyboardEvent<HTMLElement>) => void;\n}\n\ninterface GridCellProps extends TdHTMLAttributes<HTMLTableCellElement> {\n disabledReason?: string;\n}\n\nconst GridCell = forwardRef((props: GridCellProps, focusedDateRef: React.Ref<HTMLTableCellElement>) => {\n const { disabledReason, ...rest } = props;\n const isDisabledWithReason = !!disabledReason;\n const { targetProps, descriptionEl } = useHiddenDescription(disabledReason);\n const ref = useRef<HTMLTableCellElement>(null);\n const [showTooltip, setShowTooltip] = useState(false);\n\n return (\n <td\n ref={useMergeRefs(focusedDateRef, ref)}\n {...(isDisabledWithReason ? targetProps : {})}\n {...rest}\n onFocus={() => (isDisabledWithReason ? setShowTooltip(true) : undefined)}\n onBlur={() => (isDisabledWithReason ? setShowTooltip(false) : undefined)}\n onMouseEnter={() => (isDisabledWithReason ? setShowTooltip(true) : undefined)}\n onMouseLeave={() => (isDisabledWithReason ? setShowTooltip(false) : undefined)}\n >\n {props.children}\n {isDisabledWithReason && (\n <>\n {descriptionEl}\n {showTooltip && (\n <Tooltip\n className={styles['disabled-reason-tooltip']}\n trackRef={ref}\n value={disabledReason!}\n onDismiss={() => setShowTooltip(false)}\n />\n )}\n </>\n )}\n </td>\n );\n});\n\napplyDisplayName(GridCell, 'GridCell');\n\nexport default function Grid({\n isDateEnabled,\n dateDisabledReason,\n focusedDate,\n focusableDate,\n onSelectDate,\n selectedDate,\n ariaLabelledby,\n header,\n rows,\n isCurrentPage,\n renderDate,\n renderDateAnnouncement,\n isSameDate,\n onGridKeyDownHandler,\n}: GridProps) {\n const focusedDateRef = useRef<HTMLTableCellElement>(null);\n\n // The focused date changes as a feedback to keyboard navigation in the grid.\n // Once changed, the corresponding date button needs to receive the actual focus.\n useEffectOnUpdate(() => {\n if (focusedDate && focusedDateRef.current) {\n (focusedDateRef.current as HTMLDivElement).focus();\n }\n }, [focusedDate]);\n\n const rowLength = rows[0].length;\n\n const denseGrid = rowLength > 3;\n\n return (\n <table\n role=\"grid\"\n className={clsx(styles['calendar-grid'], denseGrid && styles['calendar-grid-dense'])}\n aria-labelledby={ariaLabelledby}\n >\n {header}\n <tbody onKeyDown={onGridKeyDownHandler}>\n {rows.map((row, rowIndex) => (\n <tr key={rowIndex} className={styles['calendar-row']}>\n {row.map((date, dateIndex) => {\n const isFocusable = !!focusableDate && isSameDate(date, focusableDate);\n const isSelected = !!selectedDate && isSameDate(date, selectedDate);\n const isEnabled = !isDateEnabled || isDateEnabled(date);\n const disabledReason = dateDisabledReason(date);\n const isDisabledWithReason = !isEnabled && !!disabledReason;\n const isCurrentDate = isSameDate(date, new Date());\n\n // Can't be focused.\n let tabIndex = undefined;\n if (isFocusable && (isEnabled || isDisabledWithReason)) {\n // Next focus target.\n tabIndex = 0;\n } else if (isEnabled || isDisabledWithReason) {\n // Can be focused programmatically.\n tabIndex = -1;\n }\n\n return (\n <GridCell\n key={`${rowIndex}:${dateIndex}`}\n ref={tabIndex === 0 ? focusedDateRef : undefined}\n tabIndex={tabIndex}\n aria-current={isCurrentDate ? 'date' : undefined}\n aria-selected={isEnabled ? isSelected : undefined}\n aria-disabled={!isEnabled}\n // Do not attach click event when the date is disabled, otherwise VO+safari announces clickable\n onClick={isEnabled ? () => onSelectDate(date) : undefined}\n className={clsx(styles['calendar-grid-cell'], styles['calendar-date'], {\n [styles['calendar-date-current-page']]: isCurrentPage(date),\n [styles['calendar-date-enabled']]: isEnabled,\n [styles['calendar-date-selected']]: isSelected,\n [styles['calendar-date-current']]: isCurrentDate,\n [styles['calendar-date-dense']]: denseGrid,\n })}\n disabledReason={isDisabledWithReason ? disabledReason : undefined}\n >\n <span className={styles['date-inner']} aria-hidden=\"true\">\n {renderDate(date)}\n </span>\n {/* Screen-reader announcement for the focused date. */}\n <ScreenreaderOnly>{renderDateAnnouncement(date, isCurrentDate)}</ScreenreaderOnly>\n </GridCell>\n );\n })}\n </tr>\n ))}\n </tbody>\n </table>\n );\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/calendar/grid/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { forwardRef, TdHTMLAttributes, useRef, useState } from 'react';\nimport clsx from 'clsx';\n\nimport { useMergeRefs } from '@cloudscape-design/component-toolkit/internal';\n\nimport { DatePickerProps } from '../../date-picker/interfaces';\nimport ScreenreaderOnly from '../../internal/components/screenreader-only/index.js';\nimport Tooltip from '../../internal/components/tooltip';\nimport { useEffectOnUpdate } from '../../internal/hooks/use-effect-on-update';\nimport useHiddenDescription from '../../internal/hooks/use-hidden-description';\nimport { applyDisplayName } from '../../internal/utils/apply-display-name';\nimport { CalendarProps } from '../interfaces';\n\nimport styles from '../styles.css.js';\n\n/**\n * Calendar grid supports two mechanisms of keyboard navigation:\n * - Native screen-reader table navigation (semantic table markup);\n * - Keyboard arrow-keys navigation (a custom key-down handler).\n *\n * The implementation largely follows the w3 example (https://www.w3.org/WAI/ARIA/apg/example-index/dialog-modal/datepicker-dialog) and shares the following issues:\n * - (table navigation) Chrome+VO - weekday is announced twice when navigating to the calendar's header;\n * - (table navigation) Safari+VO - \"dimmed\" state is announced twice;\n * - (table navigation) Firefox/Chrome+NVDA - cannot use table navigation if any cell has a focus;\n * - (keyboard navigation) Firefox+NVDA - every date is announced as \"not selected\";\n * - (keyboard navigation) Safari/Chrome+VO - weekdays are not announced;\n * - (keyboard navigation) Safari/Chrome+VO - dates are not announced as interactive (clickable or selectable);\n * - (keyboard navigation) Safari/Chrome+VO - date announcements are not interruptive and can be missed if navigating fast.\n */\n\nexport interface GridProps {\n isDateEnabled: DatePickerProps.IsDateEnabledFunction;\n dateDisabledReason: CalendarProps.DateDisabledReasonFunction;\n focusedDate: Date | null;\n focusableDate: Date | null;\n onSelectDate: (date: Date) => void;\n onFocusDate: (date: null | Date) => void;\n onChangePage: (date: Date) => void;\n selectedDate: Date | null;\n ariaLabelledby: string;\n header?: React.ReactNode;\n rows: ReadonlyArray<ReadonlyArray<Date>>;\n isCurrentPage: (date: Date) => boolean;\n renderDate: (date: Date) => string;\n renderDateAnnouncement: (date: Date, isOnCurrentDate: boolean) => string;\n isSameDate: (date: Date, baseDate: Date) => boolean;\n onGridKeyDownHandler: (event: React.KeyboardEvent<HTMLElement>) => void;\n}\n\ninterface GridCellProps extends TdHTMLAttributes<HTMLTableCellElement> {\n disabledReason?: string;\n}\n\nconst GridCell = forwardRef((props: GridCellProps, focusedDateRef: React.Ref<HTMLTableCellElement>) => {\n const { disabledReason, ...rest } = props;\n const isDisabledWithReason = !!disabledReason;\n const { targetProps, descriptionEl } = useHiddenDescription(disabledReason);\n const ref = useRef<HTMLTableCellElement>(null);\n const [showTooltip, setShowTooltip] = useState(false);\n\n return (\n <td\n ref={useMergeRefs(focusedDateRef, ref)}\n {...(isDisabledWithReason ? targetProps : {})}\n {...rest}\n onFocus={() => (isDisabledWithReason ? setShowTooltip(true) : undefined)}\n onBlur={() => (isDisabledWithReason ? setShowTooltip(false) : undefined)}\n onMouseEnter={() => (isDisabledWithReason ? setShowTooltip(true) : undefined)}\n onMouseLeave={() => (isDisabledWithReason ? setShowTooltip(false) : undefined)}\n >\n {props.children}\n {isDisabledWithReason && (\n <>\n {descriptionEl}\n {showTooltip && (\n <Tooltip\n className={styles['disabled-reason-tooltip']}\n trackRef={ref}\n value={disabledReason!}\n onDismiss={() => setShowTooltip(false)}\n />\n )}\n </>\n )}\n </td>\n );\n});\n\napplyDisplayName(GridCell, 'GridCell');\n\nexport default function Grid({\n isDateEnabled,\n dateDisabledReason,\n focusedDate,\n focusableDate,\n onSelectDate,\n selectedDate,\n ariaLabelledby,\n header,\n rows,\n isCurrentPage,\n renderDate,\n renderDateAnnouncement,\n isSameDate,\n onGridKeyDownHandler,\n}: GridProps) {\n const focusedDateRef = useRef<HTMLTableCellElement>(null);\n\n // The focused date changes as a feedback to keyboard navigation in the grid.\n // Once changed, the corresponding date button needs to receive the actual focus.\n useEffectOnUpdate(() => {\n if (focusedDate && focusedDateRef.current) {\n (focusedDateRef.current as HTMLDivElement).focus();\n }\n }, [focusedDate]);\n\n const rowLength = rows[0].length;\n\n const denseGrid = rowLength > 3;\n\n return (\n <table\n role=\"grid\"\n className={clsx(styles['calendar-grid'], denseGrid && styles['calendar-grid-dense'])}\n aria-labelledby={ariaLabelledby}\n >\n {header}\n <tbody onKeyDown={onGridKeyDownHandler}>\n {rows.map((row, rowIndex) => (\n <tr key={rowIndex} className={styles['calendar-row']}>\n {row.map((date, dateIndex) => {\n const isFocusable = !!focusableDate && isSameDate(date, focusableDate);\n const isSelected = !!selectedDate && isSameDate(date, selectedDate);\n const isEnabled = !isDateEnabled || isDateEnabled(date);\n const disabledReason = dateDisabledReason(date);\n const isDisabledWithReason = !isEnabled && !!disabledReason;\n const isCurrentDate = isSameDate(date, new Date());\n\n // Can't be focused.\n let tabIndex = undefined;\n if (isFocusable && (isEnabled || isDisabledWithReason)) {\n // Next focus target.\n tabIndex = 0;\n } else if (isEnabled || isDisabledWithReason) {\n // Can be focused programmatically.\n tabIndex = -1;\n }\n\n return (\n <GridCell\n key={`${rowIndex}:${dateIndex}`}\n ref={tabIndex === 0 ? focusedDateRef : undefined}\n tabIndex={tabIndex}\n aria-current={isCurrentDate ? 'date' : undefined}\n aria-selected={isEnabled ? isSelected : undefined}\n aria-disabled={!isEnabled}\n // Do not attach click event when the date is disabled, otherwise VO+safari announces clickable\n onClick={isEnabled ? () => onSelectDate(date) : undefined}\n className={clsx(styles['calendar-grid-cell'], styles['calendar-date'], {\n [styles['calendar-date-current-page']]: isCurrentPage(date),\n [styles['calendar-date-enabled']]: isEnabled,\n [styles['calendar-date-selected']]: isSelected,\n [styles['calendar-date-current']]: isCurrentDate,\n [styles['calendar-date-dense']]: denseGrid,\n })}\n disabledReason={isDisabledWithReason ? disabledReason : undefined}\n >\n <span className={styles['date-inner']} aria-hidden=\"true\">\n {renderDate(date)}\n </span>\n {/* Screen-reader announcement for the focused date. */}\n <ScreenreaderOnly>{renderDateAnnouncement(date, isCurrentDate)}</ScreenreaderOnly>\n </GridCell>\n );\n })}\n </tr>\n ))}\n </tbody>\n </table>\n );\n}\n"]}
@@ -1,20 +1,18 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  'use client';
4
- import { __rest } from "tslib";
5
4
  import React from 'react';
6
5
  import useBaseComponent from '../internal/hooks/use-base-component';
7
6
  import { applyDisplayName } from '../internal/utils/apply-display-name';
8
7
  import InternalCalendar from './internal';
9
- export default function Calendar(_a) {
10
- var { locale = '', isDateEnabled = () => true, granularity = 'day' } = _a, props = __rest(_a, ["locale", "isDateEnabled", "granularity"]);
8
+ export default function Calendar({ locale = '', isDateEnabled = () => true, granularity = 'day', ...props }) {
11
9
  const baseComponentProps = useBaseComponent('Calendar', {
12
10
  props: { granularity },
13
11
  metadata: {
14
12
  hasDisabledReasons: Boolean(props.dateDisabledReason),
15
13
  },
16
14
  });
17
- return (React.createElement(InternalCalendar, Object.assign({}, props, baseComponentProps, { locale: locale, isDateEnabled: isDateEnabled, granularity: granularity })));
15
+ return (React.createElement(InternalCalendar, { ...props, ...baseComponentProps, locale: locale, isDateEnabled: isDateEnabled, granularity: granularity }));
18
16
  }
19
17
  applyDisplayName(Calendar, 'Calendar');
20
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/calendar/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,YAAY,CAAC;;AACb,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,gBAAgB,MAAM,YAAY,CAAC;AAI1C,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAKjB;QALiB,EAC/B,MAAM,GAAG,EAAE,EACX,aAAa,GAAG,GAAG,EAAE,CAAC,IAAI,EAC1B,WAAW,GAAG,KAAK,OAEL,EADX,KAAK,cAJuB,0CAKhC,CADS;IAER,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,UAAU,EAAE;QACtD,KAAK,EAAE,EAAE,WAAW,EAAE;QACtB,QAAQ,EAAE;YACR,kBAAkB,EAAE,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC;SACtD;KACF,CAAC,CAAC;IACH,OAAO,CACL,oBAAC,gBAAgB,oBACX,KAAK,EACL,kBAAkB,IACtB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,IACxB,CACH,CAAC;AACJ,CAAC;AAED,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n'use client';\nimport React from 'react';\n\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { CalendarProps } from './interfaces';\nimport InternalCalendar from './internal';\n\nexport { CalendarProps };\n\nexport default function Calendar({\n locale = '',\n isDateEnabled = () => true,\n granularity = 'day',\n ...props\n}: CalendarProps) {\n const baseComponentProps = useBaseComponent('Calendar', {\n props: { granularity },\n metadata: {\n hasDisabledReasons: Boolean(props.dateDisabledReason),\n },\n });\n return (\n <InternalCalendar\n {...props}\n {...baseComponentProps}\n locale={locale}\n isDateEnabled={isDateEnabled}\n granularity={granularity}\n />\n );\n}\n\napplyDisplayName(Calendar, 'Calendar');\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/calendar/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,YAAY,CAAC;AACb,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,gBAAgB,MAAM,YAAY,CAAC;AAI1C,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAC/B,MAAM,GAAG,EAAE,EACX,aAAa,GAAG,GAAG,EAAE,CAAC,IAAI,EAC1B,WAAW,GAAG,KAAK,EACnB,GAAG,KAAK,EACM;IACd,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,UAAU,EAAE;QACtD,KAAK,EAAE,EAAE,WAAW,EAAE;QACtB,QAAQ,EAAE;YACR,kBAAkB,EAAE,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC;SACtD;KACF,CAAC,CAAC;IACH,OAAO,CACL,oBAAC,gBAAgB,OACX,KAAK,KACL,kBAAkB,EACtB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,GACxB,CACH,CAAC;AACJ,CAAC;AAED,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n'use client';\nimport React from 'react';\n\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { CalendarProps } from './interfaces';\nimport InternalCalendar from './internal';\n\nexport { CalendarProps };\n\nexport default function Calendar({\n locale = '',\n isDateEnabled = () => true,\n granularity = 'day',\n ...props\n}: CalendarProps) {\n const baseComponentProps = useBaseComponent('Calendar', {\n props: { granularity },\n metadata: {\n hasDisabledReasons: Boolean(props.dateDisabledReason),\n },\n });\n return (\n <InternalCalendar\n {...props}\n {...baseComponentProps}\n locale={locale}\n isDateEnabled={isDateEnabled}\n granularity={granularity}\n />\n );\n}\n\napplyDisplayName(Calendar, 'Calendar');\n"]}
@@ -1,6 +1,5 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- import { __rest } from "tslib";
4
3
  import React, { useEffect, useRef, useState } from 'react';
5
4
  import clsx from 'clsx';
6
5
  import { addMonths, addYears, isSameDay, isSameMonth, isSameYear } from 'date-fns';
@@ -20,8 +19,7 @@ import useCalendarLabels from './use-calendar-labels';
20
19
  import { getBaseDay } from './utils/navigation-day';
21
20
  import { getBaseMonth } from './utils/navigation-month';
22
21
  import styles from './styles.css.js';
23
- export default function Calendar(_a) {
24
- var { value, locale = '', startOfWeek, isDateEnabled = () => true, dateDisabledReason = () => '', ariaLabel, ariaLabelledby, ariaDescribedby, onChange, __internalRootRef, i18nStrings, granularity = 'day', previousMonthAriaLabel, nextMonthAriaLabel, todayAriaLabel } = _a, rest = __rest(_a, ["value", "locale", "startOfWeek", "isDateEnabled", "dateDisabledReason", "ariaLabel", "ariaLabelledby", "ariaDescribedby", "onChange", "__internalRootRef", "i18nStrings", "granularity", "previousMonthAriaLabel", "nextMonthAriaLabel", "todayAriaLabel"]);
22
+ export default function Calendar({ value, locale = '', startOfWeek, isDateEnabled = () => true, dateDisabledReason = () => '', ariaLabel, ariaLabelledby, ariaDescribedby, onChange, __internalRootRef, i18nStrings, granularity = 'day', previousMonthAriaLabel, nextMonthAriaLabel, todayAriaLabel, ...rest }) {
25
23
  checkControlled('Calendar', 'value', value, 'onChange', onChange);
26
24
  const baseProps = getBaseProps(rest);
27
25
  const normalizedLocale = normalizeLocale('Calendar', locale);
@@ -108,7 +106,7 @@ export default function Calendar(_a) {
108
106
  onSelectDate: onGridSelectDateHandler,
109
107
  });
110
108
  const headerText = renderHeaderText(baseDate);
111
- return (React.createElement("div", Object.assign({ ref: __internalRootRef }, baseProps, { role: "group", "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, "aria-describedby": ariaDescribedby, className: clsx(styles.root, styles.calendar, baseProps.className) }),
109
+ return (React.createElement("div", { ref: __internalRootRef, ...baseProps, role: "group", "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, "aria-describedby": ariaDescribedby, className: clsx(styles.root, styles.calendar, baseProps.className) },
112
110
  React.createElement("div", { className: styles['calendar-inner'] },
113
111
  React.createElement(CalendarHeader, { formattedDate: headerText, onChange: onHeaderChangePageHandler, previousLabel: previousButtonLabel, nextLabel: nextButtonLabel, headingId: headingId }),
114
112
  React.createElement("div", { onBlur: onGridBlur, ref: gridWrapperRef },
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/calendar/internal.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport React, { useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\nimport { addMonths, addYears, isSameDay, isSameMonth, isSameYear } from 'date-fns';\n\nimport { useUniqueId } from '@cloudscape-design/component-toolkit/internal';\n\nimport { getBaseProps } from '../internal/base-component';\nimport { fireNonCancelableEvent } from '../internal/events/index.js';\nimport checkControlled from '../internal/hooks/check-controlled/index.js';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component/index.js';\nimport { useDateCache } from '../internal/hooks/use-date-cache/index.js';\nimport { formatDate, parseDate } from '../internal/utils/date-time';\nimport { normalizeLocale } from '../internal/utils/locale';\nimport Grid from './grid';\nimport CalendarGridHeader from './grid/calendar-grid-header';\nimport useCalendarGridKeyboardNavigation from './grid/use-calendar-grid-keyboard-navigation';\nimport useCalendarGridRows from './grid/use-calendar-grid-rows';\nimport CalendarHeader from './header';\nimport { CalendarProps } from './interfaces.js';\nimport useCalendarLabels from './use-calendar-labels';\nimport { getBaseDay } from './utils/navigation-day';\nimport { getBaseMonth } from './utils/navigation-month';\n\nimport styles from './styles.css.js';\n\nexport default function Calendar({\n value,\n locale = '',\n startOfWeek,\n isDateEnabled = () => true,\n dateDisabledReason = () => '',\n ariaLabel,\n ariaLabelledby,\n ariaDescribedby,\n onChange,\n __internalRootRef,\n i18nStrings,\n granularity = 'day',\n previousMonthAriaLabel,\n nextMonthAriaLabel,\n todayAriaLabel,\n ...rest\n}: CalendarProps & InternalBaseComponentProps) {\n checkControlled('Calendar', 'value', value, 'onChange', onChange);\n\n const baseProps = getBaseProps(rest);\n const normalizedLocale = normalizeLocale('Calendar', locale);\n\n const gridWrapperRef = useRef<HTMLDivElement>(null);\n const [focusedDate, setFocusedDate] = useState<Date | null>(null);\n\n const valueDateCache = useDateCache();\n const focusedDateCache = useDateCache();\n\n // Set displayed date to value if defined or to current date otherwise.\n const parsedValue = value && value.length >= 4 ? parseDate(value) : null;\n const memoizedValue = parsedValue && !isNaN(parsedValue.getDate()) ? valueDateCache(parsedValue) : null;\n const defaultDisplayedDate = memoizedValue ?? new Date();\n const [displayedDate, setDisplayedDate] = useState(defaultDisplayedDate);\n\n const headingId = useUniqueId('calendar-heading');\n\n const isMonthPicker = granularity === 'month';\n\n const isDateFocusable = (date: Date) => isDateEnabled(date) || (!isDateEnabled(date) && !!dateDisabledReason(date));\n\n const baseDate = isMonthPicker\n ? getBaseMonth(displayedDate, isDateEnabled)\n : getBaseDay(displayedDate, isDateEnabled);\n\n const isSameDate = isMonthPicker ? isSameMonth : isSameDay;\n const isSamePage = isMonthPicker ? isSameYear : isSameMonth;\n const isCurrentPage = (date: Date) => isMonthPicker || isSameMonth(date, baseDate);\n\n const { previousButtonLabel, nextButtonLabel, renderDate, renderDateAnnouncement, renderHeaderText } =\n useCalendarLabels({\n granularity,\n i18nStrings,\n locale: normalizedLocale,\n previousMonthAriaLabel,\n nextMonthAriaLabel,\n todayAriaLabel,\n });\n\n const gridRows = useCalendarGridRows({ baseDate, granularity, startOfWeek, locale: normalizedLocale });\n\n // Update displayed date if value changes.\n useEffect(() => {\n if (memoizedValue) {\n setDisplayedDate(prev => (prev.getTime() !== memoizedValue.getTime() ? memoizedValue : prev));\n }\n }, [memoizedValue]);\n\n const selectFocusedDate = (selected: Date | null, baseDate: Date): Date | null => {\n if (selected && isDateFocusable(selected) && isSamePage(selected, baseDate)) {\n return selected;\n }\n const today = new Date();\n if (isDateFocusable(today) && isSamePage(today, baseDate)) {\n return today;\n }\n if (isDateFocusable(baseDate)) {\n return baseDate;\n }\n return null;\n };\n\n const focusableDate = focusedDate || selectFocusedDate(memoizedValue, baseDate);\n\n const onHeaderChangePageHandler = (amount: number) => {\n const movePage = isMonthPicker ? addYears : addMonths;\n const newDate = movePage(baseDate, amount);\n onChangePageHandler(newDate);\n };\n\n const onChangePageHandler = (newDate: Date) => {\n setDisplayedDate(newDate);\n setFocusedDate(null);\n };\n\n const onGridFocusDateHandler = (date: null | Date) => {\n if (date) {\n setFocusedDate(date ? focusedDateCache(date) : null);\n }\n };\n\n const onGridSelectDateHandler = (date: Date) => {\n fireNonCancelableEvent(onChange, { value: formatDate(date, granularity) });\n setFocusedDate(null);\n };\n\n const onGridBlur = (event: React.FocusEvent) => {\n const newFocusTargetIsInGrid = event.relatedTarget && gridWrapperRef.current?.contains(event.relatedTarget as Node);\n if (!newFocusTargetIsInGrid) {\n setFocusedDate(null);\n }\n };\n\n const onGridKeyDownHandler = useCalendarGridKeyboardNavigation({\n baseDate,\n focusableDate,\n granularity,\n isDateEnabled,\n isDateFocusable,\n onChangePage: onChangePageHandler,\n onFocusDate: onGridFocusDateHandler,\n onSelectDate: onGridSelectDateHandler,\n });\n\n const headerText = renderHeaderText(baseDate);\n\n return (\n <div\n ref={__internalRootRef}\n {...baseProps}\n role=\"group\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n aria-describedby={ariaDescribedby}\n className={clsx(styles.root, styles.calendar, baseProps.className)}\n >\n <div className={styles['calendar-inner']}>\n <CalendarHeader\n formattedDate={headerText}\n onChange={onHeaderChangePageHandler}\n previousLabel={previousButtonLabel}\n nextLabel={nextButtonLabel}\n headingId={headingId}\n />\n <div onBlur={onGridBlur} ref={gridWrapperRef}>\n <Grid\n isDateEnabled={isDateEnabled}\n dateDisabledReason={dateDisabledReason}\n focusedDate={focusedDate}\n focusableDate={focusableDate}\n onSelectDate={onGridSelectDateHandler}\n onFocusDate={onGridFocusDateHandler}\n onChangePage={onChangePageHandler}\n selectedDate={memoizedValue}\n ariaLabelledby={headingId}\n header={isMonthPicker ? null : <CalendarGridHeader locale={normalizedLocale} rows={gridRows} />}\n rows={gridRows}\n isCurrentPage={isCurrentPage}\n renderDate={renderDate}\n renderDateAnnouncement={renderDateAnnouncement}\n isSameDate={isSameDate}\n onGridKeyDownHandler={onGridKeyDownHandler}\n />\n </div>\n </div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/calendar/internal.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport React, { useEffect, useRef, useState } from 'react';\nimport clsx from 'clsx';\nimport { addMonths, addYears, isSameDay, isSameMonth, isSameYear } from 'date-fns';\n\nimport { useUniqueId } from '@cloudscape-design/component-toolkit/internal';\n\nimport { getBaseProps } from '../internal/base-component';\nimport { fireNonCancelableEvent } from '../internal/events/index.js';\nimport checkControlled from '../internal/hooks/check-controlled/index.js';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component/index.js';\nimport { useDateCache } from '../internal/hooks/use-date-cache/index.js';\nimport { formatDate, parseDate } from '../internal/utils/date-time';\nimport { normalizeLocale } from '../internal/utils/locale';\nimport Grid from './grid';\nimport CalendarGridHeader from './grid/calendar-grid-header';\nimport useCalendarGridKeyboardNavigation from './grid/use-calendar-grid-keyboard-navigation';\nimport useCalendarGridRows from './grid/use-calendar-grid-rows';\nimport CalendarHeader from './header';\nimport { CalendarProps } from './interfaces.js';\nimport useCalendarLabels from './use-calendar-labels';\nimport { getBaseDay } from './utils/navigation-day';\nimport { getBaseMonth } from './utils/navigation-month';\n\nimport styles from './styles.css.js';\n\nexport default function Calendar({\n value,\n locale = '',\n startOfWeek,\n isDateEnabled = () => true,\n dateDisabledReason = () => '',\n ariaLabel,\n ariaLabelledby,\n ariaDescribedby,\n onChange,\n __internalRootRef,\n i18nStrings,\n granularity = 'day',\n previousMonthAriaLabel,\n nextMonthAriaLabel,\n todayAriaLabel,\n ...rest\n}: CalendarProps & InternalBaseComponentProps) {\n checkControlled('Calendar', 'value', value, 'onChange', onChange);\n\n const baseProps = getBaseProps(rest);\n const normalizedLocale = normalizeLocale('Calendar', locale);\n\n const gridWrapperRef = useRef<HTMLDivElement>(null);\n const [focusedDate, setFocusedDate] = useState<Date | null>(null);\n\n const valueDateCache = useDateCache();\n const focusedDateCache = useDateCache();\n\n // Set displayed date to value if defined or to current date otherwise.\n const parsedValue = value && value.length >= 4 ? parseDate(value) : null;\n const memoizedValue = parsedValue && !isNaN(parsedValue.getDate()) ? valueDateCache(parsedValue) : null;\n const defaultDisplayedDate = memoizedValue ?? new Date();\n const [displayedDate, setDisplayedDate] = useState(defaultDisplayedDate);\n\n const headingId = useUniqueId('calendar-heading');\n\n const isMonthPicker = granularity === 'month';\n\n const isDateFocusable = (date: Date) => isDateEnabled(date) || (!isDateEnabled(date) && !!dateDisabledReason(date));\n\n const baseDate = isMonthPicker\n ? getBaseMonth(displayedDate, isDateEnabled)\n : getBaseDay(displayedDate, isDateEnabled);\n\n const isSameDate = isMonthPicker ? isSameMonth : isSameDay;\n const isSamePage = isMonthPicker ? isSameYear : isSameMonth;\n const isCurrentPage = (date: Date) => isMonthPicker || isSameMonth(date, baseDate);\n\n const { previousButtonLabel, nextButtonLabel, renderDate, renderDateAnnouncement, renderHeaderText } =\n useCalendarLabels({\n granularity,\n i18nStrings,\n locale: normalizedLocale,\n previousMonthAriaLabel,\n nextMonthAriaLabel,\n todayAriaLabel,\n });\n\n const gridRows = useCalendarGridRows({ baseDate, granularity, startOfWeek, locale: normalizedLocale });\n\n // Update displayed date if value changes.\n useEffect(() => {\n if (memoizedValue) {\n setDisplayedDate(prev => (prev.getTime() !== memoizedValue.getTime() ? memoizedValue : prev));\n }\n }, [memoizedValue]);\n\n const selectFocusedDate = (selected: Date | null, baseDate: Date): Date | null => {\n if (selected && isDateFocusable(selected) && isSamePage(selected, baseDate)) {\n return selected;\n }\n const today = new Date();\n if (isDateFocusable(today) && isSamePage(today, baseDate)) {\n return today;\n }\n if (isDateFocusable(baseDate)) {\n return baseDate;\n }\n return null;\n };\n\n const focusableDate = focusedDate || selectFocusedDate(memoizedValue, baseDate);\n\n const onHeaderChangePageHandler = (amount: number) => {\n const movePage = isMonthPicker ? addYears : addMonths;\n const newDate = movePage(baseDate, amount);\n onChangePageHandler(newDate);\n };\n\n const onChangePageHandler = (newDate: Date) => {\n setDisplayedDate(newDate);\n setFocusedDate(null);\n };\n\n const onGridFocusDateHandler = (date: null | Date) => {\n if (date) {\n setFocusedDate(date ? focusedDateCache(date) : null);\n }\n };\n\n const onGridSelectDateHandler = (date: Date) => {\n fireNonCancelableEvent(onChange, { value: formatDate(date, granularity) });\n setFocusedDate(null);\n };\n\n const onGridBlur = (event: React.FocusEvent) => {\n const newFocusTargetIsInGrid = event.relatedTarget && gridWrapperRef.current?.contains(event.relatedTarget as Node);\n if (!newFocusTargetIsInGrid) {\n setFocusedDate(null);\n }\n };\n\n const onGridKeyDownHandler = useCalendarGridKeyboardNavigation({\n baseDate,\n focusableDate,\n granularity,\n isDateEnabled,\n isDateFocusable,\n onChangePage: onChangePageHandler,\n onFocusDate: onGridFocusDateHandler,\n onSelectDate: onGridSelectDateHandler,\n });\n\n const headerText = renderHeaderText(baseDate);\n\n return (\n <div\n ref={__internalRootRef}\n {...baseProps}\n role=\"group\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n aria-describedby={ariaDescribedby}\n className={clsx(styles.root, styles.calendar, baseProps.className)}\n >\n <div className={styles['calendar-inner']}>\n <CalendarHeader\n formattedDate={headerText}\n onChange={onHeaderChangePageHandler}\n previousLabel={previousButtonLabel}\n nextLabel={nextButtonLabel}\n headingId={headingId}\n />\n <div onBlur={onGridBlur} ref={gridWrapperRef}>\n <Grid\n isDateEnabled={isDateEnabled}\n dateDisabledReason={dateDisabledReason}\n focusedDate={focusedDate}\n focusableDate={focusableDate}\n onSelectDate={onGridSelectDateHandler}\n onFocusDate={onGridFocusDateHandler}\n onChangePage={onChangePageHandler}\n selectedDate={memoizedValue}\n ariaLabelledby={headingId}\n header={isMonthPicker ? null : <CalendarGridHeader locale={normalizedLocale} rows={gridRows} />}\n rows={gridRows}\n isCurrentPage={isCurrentPage}\n renderDate={renderDate}\n renderDateAnnouncement={renderDateAnnouncement}\n isSameDate={isSameDate}\n onGridKeyDownHandler={onGridKeyDownHandler}\n />\n </div>\n </div>\n </div>\n );\n}\n"]}
@@ -1,7 +1,6 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  'use client';
4
- import { __rest } from "tslib";
5
4
  import React, { useCallback, useImperativeHandle, useRef } from 'react';
6
5
  import clsx from 'clsx';
7
6
  import { useContainerQuery } from '@cloudscape-design/component-toolkit';
@@ -27,8 +26,7 @@ import { getItemKey } from '../table/utils';
27
26
  import { getCardsPerRow } from './cards-layout-helper';
28
27
  import analyticsSelectors from './analytics-metadata/styles.css.js';
29
28
  import styles from './styles.css.js';
30
- const Cards = React.forwardRef(function (_a, ref) {
31
- var { items = [], cardDefinition, cardsPerRow = [], header, filter, pagination, preferences, empty, loading, loadingText, trackBy, selectedItems, selectionType, isItemDisabled, onSelectionChange, ariaLabels, visibleSections, stickyHeader, stickyHeaderVerticalOffset, variant = 'container', renderAriaLive, firstIndex = 1, totalItemsCount, entireCardClickable } = _a, rest = __rest(_a, ["items", "cardDefinition", "cardsPerRow", "header", "filter", "pagination", "preferences", "empty", "loading", "loadingText", "trackBy", "selectedItems", "selectionType", "isItemDisabled", "onSelectionChange", "ariaLabels", "visibleSections", "stickyHeader", "stickyHeaderVerticalOffset", "variant", "renderAriaLive", "firstIndex", "totalItemsCount", "entireCardClickable"]);
29
+ const Cards = React.forwardRef(function ({ items = [], cardDefinition, cardsPerRow = [], header, filter, pagination, preferences, empty, loading, loadingText, trackBy, selectedItems, selectionType, isItemDisabled, onSelectionChange, ariaLabels, visibleSections, stickyHeader, stickyHeaderVerticalOffset, variant = 'container', renderAriaLive, firstIndex = 1, totalItemsCount, entireCardClickable, ...rest }, ref) {
32
30
  const { __internalRootRef } = useBaseComponent('Cards', {
33
31
  props: { entireCardClickable, selectionType, stickyHeader, variant },
34
32
  metadata: { usesVisibleSections: !!visibleSections },
@@ -103,7 +101,7 @@ const Cards = React.forwardRef(function (_a, ref) {
103
101
  }
104
102
  return (React.createElement(LinkDefaultVariantContext.Provider, { value: { defaultVariant: 'primary' } },
105
103
  React.createElement(AnalyticsFunnelSubStep, null,
106
- React.createElement("div", Object.assign({}, baseProps, { className: clsx(baseProps.className, styles.root), ref: mergedRef }, getAnalyticsMetadataAttribute({ component: analyticsComponentMetadata })),
104
+ React.createElement("div", { ...baseProps, className: clsx(baseProps.className, styles.root), ref: mergedRef, ...getAnalyticsMetadataAttribute({ component: analyticsComponentMetadata }) },
107
105
  React.createElement(InternalContainerAsSubstep, { header: hasToolsHeader && (React.createElement("div", { className: clsx(styles.header, isRefresh && styles['header-refresh'], styles[`header-variant-${computedVariant}`]) },
108
106
  React.createElement(CollectionLabelContext.Provider, { value: { assignId: setHeaderRef } },
109
107
  React.createElement(ToolsHeader, { header: header, filter: filter, pagination: pagination, preferences: preferences })))), footer: hasFooterPagination && React.createElement("div", { className: styles['footer-pagination'] }, pagination), disableContentPaddings: true, disableHeaderPaddings: computedVariant === 'full-page', variant: computedVariant === 'container' ? 'cards' : computedVariant, __stickyHeader: stickyHeader, __stickyOffset: stickyHeaderVerticalOffset, __headerRef: headerRef, __fullPage: computedVariant === 'full-page', __disableFooterDivider: true, className: analyticsSelectors.container },
@@ -127,7 +125,7 @@ const CardsList = ({ items, cardDefinition, trackBy, selectionType, columns, isI
127
125
  listRole = 'group';
128
126
  listItemRole = 'presentation';
129
127
  }
130
- return (React.createElement("ol", Object.assign({ className: clsx(styles.list, styles[`list-grid-${columns || 1}`], analyticsSelectors['cards-list']), role: listRole, "aria-labelledby": ariaLabelledby, "aria-label": ariaLabel }, (focusMarkers && focusMarkers.root)), items.map((item, index) => {
128
+ return (React.createElement("ol", { className: clsx(styles.list, styles[`list-grid-${columns || 1}`], analyticsSelectors['cards-list']), role: listRole, "aria-labelledby": ariaLabelledby, "aria-label": ariaLabel, ...(focusMarkers && focusMarkers.root) }, items.map((item, index) => {
131
129
  const key = getItemKey(trackBy, item, index);
132
130
  const selectionProps = getItemSelectionProps ? getItemSelectionProps(item) : null;
133
131
  const selected = isItemSelected(item);
@@ -143,31 +141,31 @@ const CardsList = ({ items, cardDefinition, trackBy, selectionType, columns, isI
143
141
  item: `${key}`,
144
142
  },
145
143
  };
146
- return (React.createElement("li", Object.assign({ className: clsx(styles.card, {
144
+ return (React.createElement("li", { className: clsx(styles.card, {
147
145
  [styles['card-selectable']]: selectable,
148
146
  [styles['card-selected']]: selectable && selected,
149
- }), key: key, onFocus: onFocus }, (focusMarkers && focusMarkers.item), { role: listItemRole }, getAnalyticsMetadataAttribute({
150
- component: {
151
- innerContext: {
152
- position: `${index + 1}`,
153
- item: `${key}`,
147
+ }), key: key, onFocus: onFocus, ...(focusMarkers && focusMarkers.item), role: listItemRole, ...getAnalyticsMetadataAttribute({
148
+ component: {
149
+ innerContext: {
150
+ position: `${index + 1}`,
151
+ item: `${key}`,
152
+ },
154
153
  },
155
- },
156
- })),
157
- React.createElement("div", Object.assign({ className: clsx(styles['card-inner'], isRefresh && styles.refresh) }, (canClickEntireCard && !disabled ? getAnalyticsMetadataAttribute(selectionAnalyticsMetadata) : {}), { onClick: canClickEntireCard
154
+ }) },
155
+ React.createElement("div", { className: clsx(styles['card-inner'], isRefresh && styles.refresh), ...(canClickEntireCard && !disabled ? getAnalyticsMetadataAttribute(selectionAnalyticsMetadata) : {}), onClick: canClickEntireCard
158
156
  ? event => {
159
157
  var _a;
160
158
  selectionProps === null || selectionProps === void 0 ? void 0 : selectionProps.onChange();
161
159
  // Manually move focus to the native input (checkbox or radio button)
162
160
  (_a = event.currentTarget.querySelector('input')) === null || _a === void 0 ? void 0 : _a.focus();
163
161
  }
164
- : undefined }),
162
+ : undefined },
165
163
  React.createElement("div", { className: styles['card-header'] },
166
164
  React.createElement("div", { className: clsx(styles['card-header-inner'], analyticsSelectors['card-header']) }, cardDefinition.header ? cardDefinition.header(item) : ''),
167
- selectionProps && (React.createElement("div", Object.assign({ className: styles['selection-control'] }, (!canClickEntireCard && !disabled
168
- ? getAnalyticsMetadataAttribute(selectionAnalyticsMetadata)
169
- : {})),
170
- React.createElement(SelectionControl, Object.assign({ onFocusDown: moveFocusDown, onFocusUp: moveFocusUp }, selectionProps))))),
165
+ selectionProps && (React.createElement("div", { className: styles['selection-control'], ...(!canClickEntireCard && !disabled
166
+ ? getAnalyticsMetadataAttribute(selectionAnalyticsMetadata)
167
+ : {}) },
168
+ React.createElement(SelectionControl, { onFocusDown: moveFocusDown, onFocusUp: moveFocusUp, ...selectionProps })))),
171
169
  visibleSectionsDefinition.map(({ width = 100, header, content, id }, index) => (React.createElement("div", { key: id || index, className: styles.section, style: { width: `${width}%` } },
172
170
  header ? React.createElement("div", { className: styles['section-header'] }, header) : '',
173
171
  content ? React.createElement("div", { className: styles['section-content'] }, content(item)) : ''))))));