@cloudscape-design/components-themeable 3.0.839 → 3.0.841

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/app-layout/visual-refresh-toolbar/skeleton/breadcrumbs/styles.scss +9 -0
  3. package/lib/internal/scss/app-layout/visual-refresh-toolbar/toolbar/styles.scss +0 -5
  4. package/lib/internal/scss/breadcrumb-group/item/styles.scss +0 -4
  5. package/lib/internal/scss/breadcrumb-group/styles.scss +4 -0
  6. package/lib/internal/scss/{internal/components/file-dropzone → file-dropzone}/styles.scss +14 -11
  7. package/lib/internal/scss/{internal/components/file-input → file-input}/styles.scss +2 -2
  8. package/lib/internal/scss/{internal/components/file-token-group → file-token-group}/constants.scss +1 -1
  9. package/lib/internal/scss/{internal/components/file-token-group → file-token-group}/styles.scss +3 -3
  10. package/lib/internal/scss/internal/components/token-list/styles.scss +1 -1
  11. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/index.d.ts.map +1 -1
  12. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/index.js +2 -1
  13. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/index.js.map +1 -1
  14. package/lib/internal/template/app-layout/visual-refresh-toolbar/notifications/index.d.ts +1 -2
  15. package/lib/internal/template/app-layout/visual-refresh-toolbar/notifications/index.d.ts.map +1 -1
  16. package/lib/internal/template/app-layout/visual-refresh-toolbar/notifications/index.js +2 -1
  17. package/lib/internal/template/app-layout/visual-refresh-toolbar/notifications/index.js.map +1 -1
  18. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/breadcrumbs/index.d.ts +9 -0
  19. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/breadcrumbs/index.d.ts.map +1 -0
  20. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/breadcrumbs/index.js +13 -0
  21. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/breadcrumbs/index.js.map +1 -0
  22. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/breadcrumbs/styles.css.js +7 -0
  23. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/breadcrumbs/styles.scoped.css +7 -0
  24. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/breadcrumbs/styles.selectors.js +8 -0
  25. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/slot-skeletons.d.ts +6 -0
  26. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/slot-skeletons.d.ts.map +1 -0
  27. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/slot-skeletons.js +9 -0
  28. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/slot-skeletons.js.map +1 -0
  29. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.d.ts +1 -1
  30. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.d.ts.map +1 -1
  31. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js +4 -7
  32. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js.map +1 -1
  33. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/styles.css.js +13 -15
  34. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/styles.scoped.css +15 -19
  35. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/styles.selectors.js +13 -15
  36. package/lib/internal/template/breadcrumb-group/implementation.d.ts.map +1 -1
  37. package/lib/internal/template/breadcrumb-group/implementation.js +5 -7
  38. package/lib/internal/template/breadcrumb-group/implementation.js.map +1 -1
  39. package/lib/internal/template/breadcrumb-group/index.d.ts.map +1 -1
  40. package/lib/internal/template/breadcrumb-group/index.js +2 -1
  41. package/lib/internal/template/breadcrumb-group/index.js.map +1 -1
  42. package/lib/internal/template/breadcrumb-group/interfaces.d.ts +2 -1
  43. package/lib/internal/template/breadcrumb-group/interfaces.d.ts.map +1 -1
  44. package/lib/internal/template/breadcrumb-group/interfaces.js.map +1 -1
  45. package/lib/internal/template/breadcrumb-group/item/funnel.d.ts +4 -3
  46. package/lib/internal/template/breadcrumb-group/item/funnel.d.ts.map +1 -1
  47. package/lib/internal/template/breadcrumb-group/item/funnel.js +10 -6
  48. package/lib/internal/template/breadcrumb-group/item/funnel.js.map +1 -1
  49. package/lib/internal/template/breadcrumb-group/item/item.d.ts +1 -1
  50. package/lib/internal/template/breadcrumb-group/item/item.d.ts.map +1 -1
  51. package/lib/internal/template/breadcrumb-group/item/item.js +10 -10
  52. package/lib/internal/template/breadcrumb-group/item/item.js.map +1 -1
  53. package/lib/internal/template/breadcrumb-group/item/styles.css.js +7 -8
  54. package/lib/internal/template/breadcrumb-group/item/styles.scoped.css +25 -29
  55. package/lib/internal/template/breadcrumb-group/item/styles.selectors.js +7 -8
  56. package/lib/internal/template/breadcrumb-group/skeleton.d.ts +4 -3
  57. package/lib/internal/template/breadcrumb-group/skeleton.d.ts.map +1 -1
  58. package/lib/internal/template/breadcrumb-group/skeleton.js +2 -7
  59. package/lib/internal/template/breadcrumb-group/skeleton.js.map +1 -1
  60. package/lib/internal/template/breadcrumb-group/styles.css.js +10 -9
  61. package/lib/internal/template/breadcrumb-group/styles.scoped.css +14 -10
  62. package/lib/internal/template/breadcrumb-group/styles.selectors.js +10 -9
  63. package/lib/internal/template/button-group/icon-toggle-button-item.d.ts +12 -0
  64. package/lib/internal/template/button-group/icon-toggle-button-item.d.ts.map +1 -0
  65. package/lib/internal/template/button-group/icon-toggle-button-item.js +30 -0
  66. package/lib/internal/template/button-group/icon-toggle-button-item.js.map +1 -0
  67. package/lib/internal/template/button-group/interfaces.d.ts +42 -6
  68. package/lib/internal/template/button-group/interfaces.d.ts.map +1 -1
  69. package/lib/internal/template/button-group/interfaces.js.map +1 -1
  70. package/lib/internal/template/button-group/item-element.d.ts.map +1 -1
  71. package/lib/internal/template/button-group/item-element.js +2 -0
  72. package/lib/internal/template/button-group/item-element.js.map +1 -1
  73. package/lib/internal/template/button-group/menu-dropdown-item.js +1 -1
  74. package/lib/internal/template/button-group/menu-dropdown-item.js.map +1 -1
  75. package/lib/internal/template/{internal/components/file-dropzone → file-dropzone}/index.d.ts +1 -1
  76. package/lib/internal/template/file-dropzone/index.d.ts.map +1 -0
  77. package/lib/internal/template/file-dropzone/index.js +14 -0
  78. package/lib/internal/template/file-dropzone/index.js.map +1 -0
  79. package/lib/internal/template/{internal/components/file-dropzone → file-dropzone}/interfaces.d.ts +2 -2
  80. package/lib/internal/template/file-dropzone/interfaces.d.ts.map +1 -0
  81. package/lib/internal/template/file-dropzone/interfaces.js.map +1 -0
  82. package/lib/internal/template/file-dropzone/internal.d.ts +5 -0
  83. package/lib/internal/template/file-dropzone/internal.d.ts.map +1 -0
  84. package/lib/internal/template/{internal/components/file-dropzone/index.js → file-dropzone/internal.js} +10 -6
  85. package/lib/internal/template/file-dropzone/internal.js.map +1 -0
  86. package/lib/internal/template/file-dropzone/styles.css.js +8 -0
  87. package/lib/internal/template/{internal/components/file-dropzone → file-dropzone}/styles.scoped.css +17 -14
  88. package/lib/internal/template/{internal/components/file-dropzone → file-dropzone}/styles.selectors.js +3 -3
  89. package/lib/internal/template/file-dropzone/use-files-dragging.d.ts.map +1 -0
  90. package/lib/internal/template/file-dropzone/use-files-dragging.js.map +1 -0
  91. package/lib/internal/template/file-input/index.d.ts +6 -0
  92. package/lib/internal/template/file-input/index.d.ts.map +1 -0
  93. package/lib/internal/template/file-input/index.js +20 -0
  94. package/lib/internal/template/file-input/index.js.map +1 -0
  95. package/lib/internal/template/{internal/components/file-input → file-input}/interfaces.d.ts +3 -3
  96. package/lib/internal/template/file-input/interfaces.d.ts.map +1 -0
  97. package/lib/internal/template/file-input/interfaces.js.map +1 -0
  98. package/lib/internal/template/file-input/internal.d.ts +6 -0
  99. package/lib/internal/template/file-input/internal.d.ts.map +1 -0
  100. package/lib/internal/template/{internal/components/file-input/index.js → file-input/internal.js} +13 -11
  101. package/lib/internal/template/file-input/internal.js.map +1 -0
  102. package/lib/internal/template/file-input/styles.css.js +10 -0
  103. package/lib/internal/template/{internal/components/file-input → file-input}/styles.scoped.css +6 -6
  104. package/lib/internal/template/file-input/styles.selectors.js +11 -0
  105. package/lib/internal/template/file-token-group/default-formatters.d.ts.map +1 -0
  106. package/lib/internal/template/{internal/components/file-token-group → file-token-group}/default-formatters.js +1 -1
  107. package/lib/internal/template/file-token-group/default-formatters.js.map +1 -0
  108. package/lib/internal/template/{internal/components/file-token-group → file-token-group}/file-token.d.ts +2 -2
  109. package/lib/internal/template/file-token-group/file-token.d.ts.map +1 -0
  110. package/lib/internal/template/{internal/components/file-token-group → file-token-group}/file-token.js +8 -8
  111. package/lib/internal/template/file-token-group/file-token.js.map +1 -0
  112. package/lib/internal/template/file-token-group/index.d.ts +6 -0
  113. package/lib/internal/template/file-token-group/index.d.ts.map +1 -0
  114. package/lib/internal/template/file-token-group/index.js +23 -0
  115. package/lib/internal/template/file-token-group/index.js.map +1 -0
  116. package/lib/internal/template/{internal/components/file-token-group → file-token-group}/interfaces.d.ts +2 -2
  117. package/lib/internal/template/file-token-group/interfaces.d.ts.map +1 -0
  118. package/lib/internal/template/file-token-group/interfaces.js.map +1 -0
  119. package/lib/internal/template/{internal/components/file-token-group/index.d.ts → file-token-group/internal.d.ts} +2 -3
  120. package/lib/internal/template/file-token-group/internal.d.ts.map +1 -0
  121. package/lib/internal/template/{internal/components/file-token-group/index.js → file-token-group/internal.js} +7 -7
  122. package/lib/internal/template/file-token-group/internal.js.map +1 -0
  123. package/lib/internal/template/file-token-group/styles.css.js +27 -0
  124. package/lib/internal/template/{internal/components/file-token-group → file-token-group}/styles.scoped.css +29 -29
  125. package/lib/internal/template/file-token-group/styles.selectors.js +28 -0
  126. package/lib/internal/template/file-token-group/test-classes/styles.css.js +11 -0
  127. package/lib/internal/template/file-token-group/test-classes/styles.scoped.css +12 -0
  128. package/lib/internal/template/file-token-group/test-classes/styles.selectors.js +12 -0
  129. package/lib/internal/template/file-token-group/thumbnail.d.ts.map +1 -0
  130. package/lib/internal/template/file-token-group/thumbnail.js.map +1 -0
  131. package/lib/internal/template/file-upload/internal.d.ts.map +1 -1
  132. package/lib/internal/template/file-upload/internal.js +6 -5
  133. package/lib/internal/template/file-upload/internal.js.map +1 -1
  134. package/lib/internal/template/index.d.ts +3 -0
  135. package/lib/internal/template/index.d.ts.map +1 -1
  136. package/lib/internal/template/index.js +3 -0
  137. package/lib/internal/template/index.js.map +1 -1
  138. package/lib/internal/template/internal/analytics/components/analytics-funnel.js +2 -2
  139. package/lib/internal/template/internal/analytics/components/analytics-funnel.js.map +1 -1
  140. package/lib/internal/template/internal/analytics/selectors.d.ts +1 -1
  141. package/lib/internal/template/internal/analytics/selectors.d.ts.map +1 -1
  142. package/lib/internal/template/internal/analytics/selectors.js +2 -4
  143. package/lib/internal/template/internal/analytics/selectors.js.map +1 -1
  144. package/lib/internal/template/internal/base-component/styles.scoped.css +62 -43
  145. package/lib/internal/template/internal/environment.js +1 -1
  146. package/lib/internal/template/internal/environment.json +1 -1
  147. package/lib/internal/template/internal/generated/styles/tokens.d.ts +4 -2
  148. package/lib/internal/template/internal/generated/styles/tokens.js +6 -4
  149. package/lib/internal/template/internal/generated/theming/index.cjs +136 -74
  150. package/lib/internal/template/internal/generated/theming/index.js +136 -74
  151. package/lib/internal/template/internal/widgets/index.d.ts +4 -3
  152. package/lib/internal/template/internal/widgets/index.d.ts.map +1 -1
  153. package/lib/internal/template/internal/widgets/index.js +2 -2
  154. package/lib/internal/template/internal/widgets/index.js.map +1 -1
  155. package/lib/internal/template/package.json +3 -0
  156. package/lib/internal/template/test-utils/dom/button-group/index.d.ts +5 -0
  157. package/lib/internal/template/test-utils/dom/button-group/index.js +9 -0
  158. package/lib/internal/template/test-utils/dom/button-group/index.js.map +1 -1
  159. package/lib/internal/template/test-utils/dom/{internal/file-dropzone.js → file-dropzone/index.js} +2 -2
  160. package/lib/internal/template/test-utils/dom/file-dropzone/index.js.map +1 -0
  161. package/lib/internal/template/test-utils/dom/{internal/file-input.js → file-input/index.js} +2 -2
  162. package/lib/internal/template/test-utils/dom/file-input/index.js.map +1 -0
  163. package/lib/internal/template/test-utils/dom/{internal/file-token-group.js → file-token-group/index.js} +14 -14
  164. package/lib/internal/template/test-utils/dom/file-token-group/index.js.map +1 -0
  165. package/lib/internal/template/test-utils/dom/file-upload/index.d.ts +1 -1
  166. package/lib/internal/template/test-utils/dom/file-upload/index.js +13 -13
  167. package/lib/internal/template/test-utils/dom/file-upload/index.js.map +1 -1
  168. package/lib/internal/template/test-utils/dom/index.d.ts +9 -0
  169. package/lib/internal/template/test-utils/dom/index.js +26 -2
  170. package/lib/internal/template/test-utils/dom/index.js.map +1 -1
  171. package/lib/internal/template/test-utils/selectors/button-group/index.d.ts +5 -0
  172. package/lib/internal/template/test-utils/selectors/button-group/index.js +9 -0
  173. package/lib/internal/template/test-utils/selectors/button-group/index.js.map +1 -1
  174. package/lib/internal/template/test-utils/selectors/{internal/file-dropzone.js → file-dropzone/index.js} +2 -2
  175. package/lib/internal/template/test-utils/selectors/file-dropzone/index.js.map +1 -0
  176. package/lib/internal/template/test-utils/selectors/{internal/file-input.js → file-input/index.js} +2 -2
  177. package/lib/internal/template/test-utils/selectors/file-input/index.js.map +1 -0
  178. package/lib/internal/template/test-utils/selectors/{internal/file-token-group.js → file-token-group/index.js} +14 -14
  179. package/lib/internal/template/test-utils/selectors/file-token-group/index.js.map +1 -0
  180. package/lib/internal/template/test-utils/selectors/file-upload/index.d.ts +1 -1
  181. package/lib/internal/template/test-utils/selectors/file-upload/index.js +13 -13
  182. package/lib/internal/template/test-utils/selectors/file-upload/index.js.map +1 -1
  183. package/lib/internal/template/test-utils/selectors/index.d.ts +9 -0
  184. package/lib/internal/template/test-utils/selectors/index.js +26 -2
  185. package/lib/internal/template/test-utils/selectors/index.js.map +1 -1
  186. package/lib/internal/template/test-utils/tsconfig.tsbuildinfo +1 -1
  187. package/lib/internal/template/toggle-button/internal.d.ts +3 -1
  188. package/lib/internal/template/toggle-button/internal.d.ts.map +1 -1
  189. package/lib/internal/template/toggle-button/internal.js.map +1 -1
  190. package/lib/internal/template/wizard/internal.d.ts.map +1 -1
  191. package/lib/internal/template/wizard/internal.js +2 -2
  192. package/lib/internal/template/wizard/internal.js.map +1 -1
  193. package/package.json +1 -1
  194. package/lib/internal/template/internal/components/file-dropzone/index.d.ts.map +0 -1
  195. package/lib/internal/template/internal/components/file-dropzone/index.js.map +0 -1
  196. package/lib/internal/template/internal/components/file-dropzone/interfaces.d.ts.map +0 -1
  197. package/lib/internal/template/internal/components/file-dropzone/interfaces.js.map +0 -1
  198. package/lib/internal/template/internal/components/file-dropzone/styles.css.js +0 -8
  199. package/lib/internal/template/internal/components/file-dropzone/use-files-dragging.d.ts.map +0 -1
  200. package/lib/internal/template/internal/components/file-dropzone/use-files-dragging.js.map +0 -1
  201. package/lib/internal/template/internal/components/file-input/index.d.ts +0 -6
  202. package/lib/internal/template/internal/components/file-input/index.d.ts.map +0 -1
  203. package/lib/internal/template/internal/components/file-input/index.js.map +0 -1
  204. package/lib/internal/template/internal/components/file-input/interfaces.d.ts.map +0 -1
  205. package/lib/internal/template/internal/components/file-input/interfaces.js.map +0 -1
  206. package/lib/internal/template/internal/components/file-input/styles.css.js +0 -10
  207. package/lib/internal/template/internal/components/file-input/styles.selectors.js +0 -11
  208. package/lib/internal/template/internal/components/file-token-group/default-formatters.d.ts.map +0 -1
  209. package/lib/internal/template/internal/components/file-token-group/default-formatters.js.map +0 -1
  210. package/lib/internal/template/internal/components/file-token-group/file-token.d.ts.map +0 -1
  211. package/lib/internal/template/internal/components/file-token-group/file-token.js.map +0 -1
  212. package/lib/internal/template/internal/components/file-token-group/index.d.ts.map +0 -1
  213. package/lib/internal/template/internal/components/file-token-group/index.js.map +0 -1
  214. package/lib/internal/template/internal/components/file-token-group/interfaces.d.ts.map +0 -1
  215. package/lib/internal/template/internal/components/file-token-group/interfaces.js.map +0 -1
  216. package/lib/internal/template/internal/components/file-token-group/styles.css.js +0 -27
  217. package/lib/internal/template/internal/components/file-token-group/styles.selectors.js +0 -28
  218. package/lib/internal/template/internal/components/file-token-group/test-classes/styles.css.js +0 -11
  219. package/lib/internal/template/internal/components/file-token-group/test-classes/styles.scoped.css +0 -12
  220. package/lib/internal/template/internal/components/file-token-group/test-classes/styles.selectors.js +0 -12
  221. package/lib/internal/template/internal/components/file-token-group/thumbnail.d.ts.map +0 -1
  222. package/lib/internal/template/internal/components/file-token-group/thumbnail.js.map +0 -1
  223. package/lib/internal/template/test-utils/dom/internal/file-dropzone.js.map +0 -1
  224. package/lib/internal/template/test-utils/dom/internal/file-input.js.map +0 -1
  225. package/lib/internal/template/test-utils/dom/internal/file-token-group.js.map +0 -1
  226. package/lib/internal/template/test-utils/selectors/internal/file-dropzone.js.map +0 -1
  227. package/lib/internal/template/test-utils/selectors/internal/file-input.js.map +0 -1
  228. package/lib/internal/template/test-utils/selectors/internal/file-token-group.js.map +0 -1
  229. /package/lib/internal/scss/{internal/components/file-token-group → file-token-group}/test-classes/styles.scss +0 -0
  230. /package/lib/internal/template/{internal/components/file-dropzone → file-dropzone}/interfaces.js +0 -0
  231. /package/lib/internal/template/{internal/components/file-dropzone → file-dropzone}/use-files-dragging.d.ts +0 -0
  232. /package/lib/internal/template/{internal/components/file-dropzone → file-dropzone}/use-files-dragging.js +0 -0
  233. /package/lib/internal/template/{internal/components/file-input → file-input}/interfaces.js +0 -0
  234. /package/lib/internal/template/{internal/components/file-token-group → file-token-group}/default-formatters.d.ts +0 -0
  235. /package/lib/internal/template/{internal/components/file-token-group → file-token-group}/interfaces.js +0 -0
  236. /package/lib/internal/template/{internal/components/file-token-group → file-token-group}/thumbnail.d.ts +0 -0
  237. /package/lib/internal/template/{internal/components/file-token-group → file-token-group}/thumbnail.js +0 -0
  238. /package/lib/internal/template/test-utils/dom/{internal/file-dropzone.d.ts → file-dropzone/index.d.ts} +0 -0
  239. /package/lib/internal/template/test-utils/dom/{internal/file-input.d.ts → file-input/index.d.ts} +0 -0
  240. /package/lib/internal/template/test-utils/dom/{internal/file-token-group.d.ts → file-token-group/index.d.ts} +0 -0
  241. /package/lib/internal/template/test-utils/selectors/{internal/file-dropzone.d.ts → file-dropzone/index.d.ts} +0 -0
  242. /package/lib/internal/template/test-utils/selectors/{internal/file-input.d.ts → file-input/index.d.ts} +0 -0
  243. /package/lib/internal/template/test-utils/selectors/{internal/file-token-group.d.ts → file-token-group/index.d.ts} +0 -0
@@ -138,22 +138,22 @@
138
138
  */
139
139
  /* Style used for links in slots/components that are text heavy, to help links stand out among
140
140
  surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F73#description */
141
- .awsui_link_1kosq_co5oc_141:not(#\9):after {
141
+ .awsui_link_1kosq_idgry_141:not(#\9):after {
142
142
  display: none;
143
143
  }
144
144
 
145
- .awsui_breadcrumb_1kosq_co5oc_145:not(#\9),
146
- .awsui_ghost-breadcrumb_1kosq_co5oc_146:not(#\9) {
145
+ .awsui_breadcrumb_1kosq_idgry_145:not(#\9),
146
+ .awsui_ghost-breadcrumb_1kosq_idgry_146:not(#\9) {
147
147
  display: flex;
148
148
  }
149
- .awsui_breadcrumb_1kosq_co5oc_145 > .awsui_icon_1kosq_co5oc_149:not(#\9),
150
- .awsui_ghost-breadcrumb_1kosq_co5oc_146 > .awsui_icon_1kosq_co5oc_149:not(#\9) {
149
+ .awsui_breadcrumb_1kosq_idgry_145 > .awsui_icon_1kosq_idgry_149:not(#\9),
150
+ .awsui_ghost-breadcrumb_1kosq_idgry_146 > .awsui_icon_1kosq_idgry_149:not(#\9) {
151
151
  margin-block: 0;
152
152
  margin-inline: var(--space-xs-6dgkww, 8px);
153
153
  color: var(--color-text-breadcrumb-icon-hqnw0m, #687078);
154
154
  }
155
- .awsui_breadcrumb_1kosq_co5oc_145 > .awsui_anchor_1kosq_co5oc_155:not(#\9),
156
- .awsui_ghost-breadcrumb_1kosq_co5oc_146 > .awsui_anchor_1kosq_co5oc_155:not(#\9) {
155
+ .awsui_breadcrumb_1kosq_idgry_145 > .awsui_anchor_1kosq_idgry_155:not(#\9),
156
+ .awsui_ghost-breadcrumb_1kosq_idgry_146 > .awsui_anchor_1kosq_idgry_155:not(#\9) {
157
157
  min-inline-size: 0;
158
158
  overflow: hidden;
159
159
  text-underline-offset: 0.25em;
@@ -169,42 +169,42 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
169
169
  transition-duration: var(--motion-duration-refresh-only-medium-kd6k1u, 0ms);
170
170
  }
171
171
  @media (prefers-reduced-motion: reduce) {
172
- .awsui_breadcrumb_1kosq_co5oc_145 > .awsui_anchor_1kosq_co5oc_155:not(#\9),
173
- .awsui_ghost-breadcrumb_1kosq_co5oc_146 > .awsui_anchor_1kosq_co5oc_155:not(#\9) {
172
+ .awsui_breadcrumb_1kosq_idgry_145 > .awsui_anchor_1kosq_idgry_155:not(#\9),
173
+ .awsui_ghost-breadcrumb_1kosq_idgry_146 > .awsui_anchor_1kosq_idgry_155:not(#\9) {
174
174
  animation: none;
175
175
  transition: none;
176
176
  }
177
177
  }
178
- .awsui-motion-disabled .awsui_breadcrumb_1kosq_co5oc_145 > .awsui_anchor_1kosq_co5oc_155:not(#\9), .awsui-mode-entering .awsui_breadcrumb_1kosq_co5oc_145 > .awsui_anchor_1kosq_co5oc_155:not(#\9), .awsui-motion-disabled .awsui_ghost-breadcrumb_1kosq_co5oc_146 > .awsui_anchor_1kosq_co5oc_155:not(#\9), .awsui-mode-entering .awsui_ghost-breadcrumb_1kosq_co5oc_146 > .awsui_anchor_1kosq_co5oc_155:not(#\9) {
178
+ .awsui-motion-disabled .awsui_breadcrumb_1kosq_idgry_145 > .awsui_anchor_1kosq_idgry_155:not(#\9), .awsui-mode-entering .awsui_breadcrumb_1kosq_idgry_145 > .awsui_anchor_1kosq_idgry_155:not(#\9), .awsui-motion-disabled .awsui_ghost-breadcrumb_1kosq_idgry_146 > .awsui_anchor_1kosq_idgry_155:not(#\9), .awsui-mode-entering .awsui_ghost-breadcrumb_1kosq_idgry_146 > .awsui_anchor_1kosq_idgry_155:not(#\9) {
179
179
  animation: none;
180
180
  transition: none;
181
181
  }
182
- .awsui_breadcrumb_1kosq_co5oc_145 > .awsui_anchor_1kosq_co5oc_155:not(#\9):hover,
183
- .awsui_ghost-breadcrumb_1kosq_co5oc_146 > .awsui_anchor_1kosq_co5oc_155:not(#\9):hover {
182
+ .awsui_breadcrumb_1kosq_idgry_145 > .awsui_anchor_1kosq_idgry_155:not(#\9):hover,
183
+ .awsui_ghost-breadcrumb_1kosq_idgry_146 > .awsui_anchor_1kosq_idgry_155:not(#\9):hover {
184
184
  cursor: pointer;
185
185
  color: var(--color-text-link-hover-jvu4dp, #0a4a74);
186
186
  }
187
- .awsui_breadcrumb_1kosq_co5oc_145 > .awsui_anchor_1kosq_co5oc_155:not(#\9):focus,
188
- .awsui_ghost-breadcrumb_1kosq_co5oc_146 > .awsui_anchor_1kosq_co5oc_155:not(#\9):focus {
187
+ .awsui_breadcrumb_1kosq_idgry_145 > .awsui_anchor_1kosq_idgry_155:not(#\9):focus,
188
+ .awsui_ghost-breadcrumb_1kosq_idgry_146 > .awsui_anchor_1kosq_idgry_155:not(#\9):focus {
189
189
  outline: none;
190
190
  }
191
- .awsui_breadcrumb_1kosq_co5oc_145 > .awsui_anchor_1kosq_co5oc_155:not(#\9):active,
192
- .awsui_ghost-breadcrumb_1kosq_co5oc_146 > .awsui_anchor_1kosq_co5oc_155:not(#\9):active {
191
+ .awsui_breadcrumb_1kosq_idgry_145 > .awsui_anchor_1kosq_idgry_155:not(#\9):active,
192
+ .awsui_ghost-breadcrumb_1kosq_idgry_146 > .awsui_anchor_1kosq_idgry_155:not(#\9):active {
193
193
  color: var(--color-text-link-hover-jvu4dp, #0a4a74);
194
194
  }
195
- .awsui_breadcrumb_1kosq_co5oc_145 > .awsui_anchor_1kosq_co5oc_155:not(#\9):active, .awsui_breadcrumb_1kosq_co5oc_145 > .awsui_anchor_1kosq_co5oc_155:not(#\9):focus, .awsui_breadcrumb_1kosq_co5oc_145 > .awsui_anchor_1kosq_co5oc_155:not(#\9):hover, .awsui_ghost-breadcrumb_1kosq_co5oc_146 > .awsui_anchor_1kosq_co5oc_155:not(#\9):active, .awsui_ghost-breadcrumb_1kosq_co5oc_146 > .awsui_anchor_1kosq_co5oc_155:not(#\9):focus, .awsui_ghost-breadcrumb_1kosq_co5oc_146 > .awsui_anchor_1kosq_co5oc_155:not(#\9):hover {
195
+ .awsui_breadcrumb_1kosq_idgry_145 > .awsui_anchor_1kosq_idgry_155:not(#\9):active, .awsui_breadcrumb_1kosq_idgry_145 > .awsui_anchor_1kosq_idgry_155:not(#\9):focus, .awsui_breadcrumb_1kosq_idgry_145 > .awsui_anchor_1kosq_idgry_155:not(#\9):hover, .awsui_ghost-breadcrumb_1kosq_idgry_146 > .awsui_anchor_1kosq_idgry_155:not(#\9):active, .awsui_ghost-breadcrumb_1kosq_idgry_146 > .awsui_anchor_1kosq_idgry_155:not(#\9):focus, .awsui_ghost-breadcrumb_1kosq_idgry_146 > .awsui_anchor_1kosq_idgry_155:not(#\9):hover {
196
196
  text-decoration-line: underline;
197
197
  text-decoration-color: currentColor;
198
198
  }
199
- .awsui_breadcrumb_1kosq_co5oc_145 > .awsui_anchor_1kosq_co5oc_155 > .awsui_text_1kosq_co5oc_202:not(#\9),
200
- .awsui_ghost-breadcrumb_1kosq_co5oc_146 > .awsui_anchor_1kosq_co5oc_155 > .awsui_text_1kosq_co5oc_202:not(#\9) {
199
+ .awsui_breadcrumb_1kosq_idgry_145 > .awsui_anchor_1kosq_idgry_155 > .awsui_text_1kosq_idgry_202:not(#\9),
200
+ .awsui_ghost-breadcrumb_1kosq_idgry_146 > .awsui_anchor_1kosq_idgry_155 > .awsui_text_1kosq_idgry_202:not(#\9) {
201
201
  overflow: hidden;
202
202
  text-overflow: ellipsis;
203
203
  white-space: nowrap;
204
204
  display: block;
205
205
  }
206
- body[data-awsui-focus-visible=true] .awsui_breadcrumb_1kosq_co5oc_145 > .awsui_anchor_1kosq_co5oc_155:not(#\9):focus,
207
- body[data-awsui-focus-visible=true] .awsui_ghost-breadcrumb_1kosq_co5oc_146 > .awsui_anchor_1kosq_co5oc_155:not(#\9):focus {
206
+ body[data-awsui-focus-visible=true] .awsui_breadcrumb_1kosq_idgry_145 > .awsui_anchor_1kosq_idgry_155:not(#\9):focus,
207
+ body[data-awsui-focus-visible=true] .awsui_ghost-breadcrumb_1kosq_idgry_146 > .awsui_anchor_1kosq_idgry_155:not(#\9):focus {
208
208
  outline: thin dotted;
209
209
  outline: var(--border-link-focus-ring-outline-bptw2p, 5px auto Highlight);
210
210
  outline-offset: 2px;
@@ -215,18 +215,14 @@ body[data-awsui-focus-visible=true] .awsui_ghost-breadcrumb_1kosq_co5oc_146 > .a
215
215
  border-end-end-radius: var(--border-radius-control-default-focus-ring-vy2hlh, 2px);
216
216
  box-shadow: 0 0 0 var(--border-link-focus-ring-shadow-spread-yrkso1, 0px) var(--color-border-item-focused-q68bgg, #0073bb);
217
217
  }
218
- .awsui_breadcrumb_1kosq_co5oc_145.awsui_last_1kosq_co5oc_221 > .awsui_icon_1kosq_co5oc_149:not(#\9),
219
- .awsui_ghost-breadcrumb_1kosq_co5oc_146.awsui_last_1kosq_co5oc_221 > .awsui_icon_1kosq_co5oc_149:not(#\9) {
218
+ .awsui_breadcrumb_1kosq_idgry_145.awsui_last_1kosq_idgry_221 > .awsui_icon_1kosq_idgry_149:not(#\9),
219
+ .awsui_ghost-breadcrumb_1kosq_idgry_146.awsui_last_1kosq_idgry_221 > .awsui_icon_1kosq_idgry_149:not(#\9) {
220
220
  display: none;
221
221
  }
222
- .awsui_breadcrumb_1kosq_co5oc_145.awsui_last_1kosq_co5oc_221 > .awsui_anchor_1kosq_co5oc_155:not(#\9),
223
- .awsui_ghost-breadcrumb_1kosq_co5oc_146.awsui_last_1kosq_co5oc_221 > .awsui_anchor_1kosq_co5oc_155:not(#\9) {
222
+ .awsui_breadcrumb_1kosq_idgry_145.awsui_last_1kosq_idgry_221 > .awsui_anchor_1kosq_idgry_155:not(#\9),
223
+ .awsui_ghost-breadcrumb_1kosq_idgry_146.awsui_last_1kosq_idgry_221 > .awsui_anchor_1kosq_idgry_155:not(#\9) {
224
224
  color: var(--color-text-breadcrumb-current-e96tx0, #687078);
225
225
  font-weight: 700;
226
226
  text-decoration: none;
227
227
  cursor: default;
228
- }
229
-
230
- .awsui_text-hidden_1kosq_co5oc_233:not(#\9) {
231
- display: none;
232
228
  }
@@ -2,13 +2,12 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "link": "awsui_link_1kosq_co5oc_141",
6
- "breadcrumb": "awsui_breadcrumb_1kosq_co5oc_145",
7
- "ghost-breadcrumb": "awsui_ghost-breadcrumb_1kosq_co5oc_146",
8
- "icon": "awsui_icon_1kosq_co5oc_149",
9
- "anchor": "awsui_anchor_1kosq_co5oc_155",
10
- "text": "awsui_text_1kosq_co5oc_202",
11
- "last": "awsui_last_1kosq_co5oc_221",
12
- "text-hidden": "awsui_text-hidden_1kosq_co5oc_233"
5
+ "link": "awsui_link_1kosq_idgry_141",
6
+ "breadcrumb": "awsui_breadcrumb_1kosq_idgry_145",
7
+ "ghost-breadcrumb": "awsui_ghost-breadcrumb_1kosq_idgry_146",
8
+ "icon": "awsui_icon_1kosq_idgry_149",
9
+ "anchor": "awsui_anchor_1kosq_idgry_155",
10
+ "text": "awsui_text_1kosq_idgry_202",
11
+ "last": "awsui_last_1kosq_idgry_221"
13
12
  };
14
13
 
@@ -1,4 +1,5 @@
1
- /// <reference types="react" />
2
- import { BreadcrumbGroupProps, InternalBreadcrumbGroupProps } from './interfaces';
3
- export declare function BreadcrumbGroupSkeleton<T extends BreadcrumbGroupProps.Item = BreadcrumbGroupProps.Item>({ items, }: InternalBreadcrumbGroupProps<T>): JSX.Element;
1
+ import React from 'react';
2
+ export declare const BreadcrumbGroupSkeleton: React.ForwardRefExoticComponent<import("./interfaces").BreadcrumbGroupProps<import("./interfaces").BreadcrumbGroupProps.Item> & import("../internal/hooks/use-base-component").InternalBaseComponentProps<any> & {
3
+ __injectAnalyticsComponentMetadata?: boolean | undefined;
4
+ } & React.RefAttributes<HTMLElement>>;
4
5
  //# sourceMappingURL=skeleton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../src/breadcrumb-group/skeleton.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAGlF,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,oBAAoB,CAAC,IAAI,GAAG,oBAAoB,CAAC,IAAI,EAAE,EACvG,KAAK,GACN,EAAE,4BAA4B,CAAC,CAAC,CAAC,eAMjC"}
1
+ {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../src/breadcrumb-group/skeleton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,eAAO,MAAM,uBAAuB;;qCAMlC,CAAC"}
@@ -2,11 +2,6 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import React from 'react';
4
4
  import { FunnelBreadcrumbItem } from './item/funnel';
5
- export function BreadcrumbGroupSkeleton({ items, }) {
6
- const lastItem = items[items.length - 1];
7
- if (!lastItem) {
8
- return React.createElement(React.Fragment, null);
9
- }
10
- return React.createElement(FunnelBreadcrumbItem, { hidden: true, last: true, text: lastItem.text });
11
- }
5
+ import styles from './styles.css.js';
6
+ export const BreadcrumbGroupSkeleton = React.forwardRef(({ items }, ref) => (React.createElement("div", { ref: ref, className: styles['breadcrumbs-skeleton'] }, items.map((item, index) => (React.createElement(FunnelBreadcrumbItem, { itemIndex: index, totalCount: items.length, text: item.text, key: index }))))));
12
7
  //# sourceMappingURL=skeleton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton.js","sourceRoot":"","sources":["../../../src/breadcrumb-group/skeleton.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,UAAU,uBAAuB,CAAkE,EACvG,KAAK,GAC2B;IAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,yCAAK,CAAC;KACd;IACD,OAAO,oBAAC,oBAAoB,IAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAI,CAAC;AACjF,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport { BreadcrumbGroupProps, InternalBreadcrumbGroupProps } from './interfaces';\nimport { FunnelBreadcrumbItem } from './item/funnel';\n\nexport function BreadcrumbGroupSkeleton<T extends BreadcrumbGroupProps.Item = BreadcrumbGroupProps.Item>({\n items,\n}: InternalBreadcrumbGroupProps<T>) {\n const lastItem = items[items.length - 1];\n if (!lastItem) {\n return <></>;\n }\n return <FunnelBreadcrumbItem hidden={true} last={true} text={lastItem.text} />;\n}\n"]}
1
+ {"version":3,"file":"skeleton.js","sourceRoot":"","sources":["../../../src/breadcrumb-group/skeleton.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC,UAAU,CAA4C,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACrH,6BAAK,GAAG,EAAE,GAAgC,EAAE,SAAS,EAAE,MAAM,CAAC,sBAAsB,CAAC,IAClF,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAC1B,oBAAC,oBAAoB,IAAC,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,GAAI,CAClG,CAAC,CACE,CACP,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport { InternalBreadcrumbGroupProps } from './interfaces';\nimport { FunnelBreadcrumbItem } from './item/funnel';\n\nimport styles from './styles.css.js';\n\nexport const BreadcrumbGroupSkeleton = React.forwardRef<HTMLElement, InternalBreadcrumbGroupProps>(({ items }, ref) => (\n <div ref={ref as React.Ref<HTMLDivElement>} className={styles['breadcrumbs-skeleton']}>\n {items.map((item, index) => (\n <FunnelBreadcrumbItem itemIndex={index} totalCount={items.length} text={item.text} key={index} />\n ))}\n </div>\n));\n"]}
@@ -1,14 +1,15 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "breadcrumb-group": "awsui_breadcrumb-group_d19fg_1vilx_141",
5
- "breadcrumb-group-list": "awsui_breadcrumb-group-list_d19fg_1vilx_179",
6
- "ghost": "awsui_ghost_d19fg_1vilx_190",
7
- "item": "awsui_item_d19fg_1vilx_195",
8
- "ghost-item": "awsui_ghost-item_d19fg_1vilx_196",
9
- "ellipsis": "awsui_ellipsis_d19fg_1vilx_197",
10
- "hide": "awsui_hide_d19fg_1vilx_204",
11
- "visible": "awsui_visible_d19fg_1vilx_210",
12
- "icon": "awsui_icon_d19fg_1vilx_214"
4
+ "breadcrumb-group": "awsui_breadcrumb-group_d19fg_525rx_141",
5
+ "breadcrumb-group-list": "awsui_breadcrumb-group-list_d19fg_525rx_179",
6
+ "ghost": "awsui_ghost_d19fg_525rx_190",
7
+ "item": "awsui_item_d19fg_525rx_195",
8
+ "ghost-item": "awsui_ghost-item_d19fg_525rx_196",
9
+ "ellipsis": "awsui_ellipsis_d19fg_525rx_197",
10
+ "hide": "awsui_hide_d19fg_525rx_204",
11
+ "visible": "awsui_visible_d19fg_525rx_210",
12
+ "icon": "awsui_icon_d19fg_525rx_214",
13
+ "breadcrumbs-skeleton": "awsui_breadcrumbs-skeleton_d19fg_525rx_220"
13
14
  };
14
15
 
@@ -138,7 +138,7 @@
138
138
  */
139
139
  /* Style used for links in slots/components that are text heavy, to help links stand out among
140
140
  surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F73#description */
141
- .awsui_breadcrumb-group_d19fg_1vilx_141:not(#\9) {
141
+ .awsui_breadcrumb-group_d19fg_525rx_141:not(#\9) {
142
142
  border-collapse: separate;
143
143
  border-spacing: 0;
144
144
  box-sizing: border-box;
@@ -177,7 +177,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
177
177
  padding-block: var(--space-xxs-y2432o, 4px);
178
178
  padding-inline: 0;
179
179
  }
180
- .awsui_breadcrumb-group_d19fg_1vilx_141 > .awsui_breadcrumb-group-list_d19fg_1vilx_179:not(#\9) {
180
+ .awsui_breadcrumb-group_d19fg_525rx_141 > .awsui_breadcrumb-group-list_d19fg_525rx_179:not(#\9) {
181
181
  display: flex;
182
182
  align-items: center;
183
183
  padding-block: 0;
@@ -188,32 +188,36 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
188
188
  inline-size: 100%;
189
189
  flex-wrap: nowrap;
190
190
  }
191
- .awsui_breadcrumb-group_d19fg_1vilx_141 > .awsui_breadcrumb-group-list_d19fg_1vilx_179.awsui_ghost_d19fg_1vilx_190:not(#\9) {
191
+ .awsui_breadcrumb-group_d19fg_525rx_141 > .awsui_breadcrumb-group-list_d19fg_525rx_179.awsui_ghost_d19fg_525rx_190:not(#\9) {
192
192
  flex-wrap: wrap;
193
193
  position: absolute;
194
194
  inset-inline-start: -9000px;
195
195
  }
196
- .awsui_breadcrumb-group_d19fg_1vilx_141 > .awsui_breadcrumb-group-list_d19fg_1vilx_179 > .awsui_item_d19fg_1vilx_195:not(#\9),
197
- .awsui_breadcrumb-group_d19fg_1vilx_141 > .awsui_breadcrumb-group-list_d19fg_1vilx_179 > .awsui_ghost-item_d19fg_1vilx_196:not(#\9),
198
- .awsui_breadcrumb-group_d19fg_1vilx_141 > .awsui_breadcrumb-group-list_d19fg_1vilx_179 > .awsui_ellipsis_d19fg_1vilx_197:not(#\9) {
196
+ .awsui_breadcrumb-group_d19fg_525rx_141 > .awsui_breadcrumb-group-list_d19fg_525rx_179 > .awsui_item_d19fg_525rx_195:not(#\9),
197
+ .awsui_breadcrumb-group_d19fg_525rx_141 > .awsui_breadcrumb-group-list_d19fg_525rx_179 > .awsui_ghost-item_d19fg_525rx_196:not(#\9),
198
+ .awsui_breadcrumb-group_d19fg_525rx_141 > .awsui_breadcrumb-group-list_d19fg_525rx_179 > .awsui_ellipsis_d19fg_525rx_197:not(#\9) {
199
199
  display: inline-block;
200
200
  padding-block: 0;
201
201
  padding-inline: 0;
202
202
  margin-block: 0;
203
203
  margin-inline: 0;
204
204
  }
205
- .awsui_breadcrumb-group_d19fg_1vilx_141 > .awsui_breadcrumb-group-list_d19fg_1vilx_179 > .awsui_item_d19fg_1vilx_195.awsui_hide_d19fg_1vilx_204:not(#\9) {
205
+ .awsui_breadcrumb-group_d19fg_525rx_141 > .awsui_breadcrumb-group-list_d19fg_525rx_179 > .awsui_item_d19fg_525rx_195.awsui_hide_d19fg_525rx_204:not(#\9) {
206
206
  display: none;
207
207
  }
208
- .awsui_breadcrumb-group_d19fg_1vilx_141 > .awsui_breadcrumb-group-list_d19fg_1vilx_179 > .awsui_ellipsis_d19fg_1vilx_197:not(#\9) {
208
+ .awsui_breadcrumb-group_d19fg_525rx_141 > .awsui_breadcrumb-group-list_d19fg_525rx_179 > .awsui_ellipsis_d19fg_525rx_197:not(#\9) {
209
209
  display: none;
210
210
  }
211
- .awsui_breadcrumb-group_d19fg_1vilx_141 > .awsui_breadcrumb-group-list_d19fg_1vilx_179 > .awsui_ellipsis_d19fg_1vilx_197.awsui_visible_d19fg_1vilx_210:not(#\9) {
211
+ .awsui_breadcrumb-group_d19fg_525rx_141 > .awsui_breadcrumb-group-list_d19fg_525rx_179 > .awsui_ellipsis_d19fg_525rx_197.awsui_visible_d19fg_525rx_210:not(#\9) {
212
212
  display: flex;
213
213
  flex-shrink: 0;
214
214
  }
215
- .awsui_breadcrumb-group_d19fg_1vilx_141 > .awsui_breadcrumb-group-list_d19fg_1vilx_179 > .awsui_ellipsis_d19fg_1vilx_197 > .awsui_icon_d19fg_1vilx_214:not(#\9) {
215
+ .awsui_breadcrumb-group_d19fg_525rx_141 > .awsui_breadcrumb-group-list_d19fg_525rx_179 > .awsui_ellipsis_d19fg_525rx_197 > .awsui_icon_d19fg_525rx_214:not(#\9) {
216
216
  margin-block: 0;
217
217
  margin-inline: 10px;
218
218
  color: var(--color-text-breadcrumb-icon-hqnw0m, #687078);
219
+ }
220
+
221
+ .awsui_breadcrumbs-skeleton_d19fg_525rx_220:not(#\9) {
222
+ display: none;
219
223
  }
@@ -2,14 +2,15 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "breadcrumb-group": "awsui_breadcrumb-group_d19fg_1vilx_141",
6
- "breadcrumb-group-list": "awsui_breadcrumb-group-list_d19fg_1vilx_179",
7
- "ghost": "awsui_ghost_d19fg_1vilx_190",
8
- "item": "awsui_item_d19fg_1vilx_195",
9
- "ghost-item": "awsui_ghost-item_d19fg_1vilx_196",
10
- "ellipsis": "awsui_ellipsis_d19fg_1vilx_197",
11
- "hide": "awsui_hide_d19fg_1vilx_204",
12
- "visible": "awsui_visible_d19fg_1vilx_210",
13
- "icon": "awsui_icon_d19fg_1vilx_214"
5
+ "breadcrumb-group": "awsui_breadcrumb-group_d19fg_525rx_141",
6
+ "breadcrumb-group-list": "awsui_breadcrumb-group-list_d19fg_525rx_179",
7
+ "ghost": "awsui_ghost_d19fg_525rx_190",
8
+ "item": "awsui_item_d19fg_525rx_195",
9
+ "ghost-item": "awsui_ghost-item_d19fg_525rx_196",
10
+ "ellipsis": "awsui_ellipsis_d19fg_525rx_197",
11
+ "hide": "awsui_hide_d19fg_525rx_204",
12
+ "visible": "awsui_visible_d19fg_525rx_210",
13
+ "icon": "awsui_icon_d19fg_525rx_214",
14
+ "breadcrumbs-skeleton": "awsui_breadcrumbs-skeleton_d19fg_525rx_220"
14
15
  };
15
16
 
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { ButtonProps } from '../button/interfaces.js';
3
+ import { CancelableEventHandler } from '../internal/events/index.js';
4
+ import { ButtonGroupProps } from './interfaces.js';
5
+ declare const IconToggleButtonItem: React.ForwardRefExoticComponent<{
6
+ item: ButtonGroupProps.IconToggleButton;
7
+ showTooltip: boolean;
8
+ showFeedback: boolean;
9
+ onItemClick?: CancelableEventHandler<ButtonGroupProps.ItemClickDetails> | undefined;
10
+ } & React.RefAttributes<ButtonProps.Ref>>;
11
+ export default IconToggleButtonItem;
12
+ //# sourceMappingURL=icon-toggle-button-item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-toggle-button-item.d.ts","sourceRoot":"","sources":["../../../src/button-group/icon-toggle-button-item.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAK1C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAuB,MAAM,6BAA6B,CAAC;AAG1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAInD,QAAA,MAAM,oBAAoB;UAQd,iBAAiB,gBAAgB;iBAC1B,OAAO;kBACN,OAAO;;yCAwD1B,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,30 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import React, { forwardRef } from 'react';
4
+ import clsx from 'clsx';
5
+ import { warnOnce } from '@cloudscape-design/component-toolkit/internal';
6
+ import Tooltip from '../internal/components/tooltip/index.js';
7
+ import { fireCancelableEvent } from '../internal/events/index.js';
8
+ import InternalLiveRegion from '../live-region/internal.js';
9
+ import { InternalToggleButton } from '../toggle-button/internal.js';
10
+ import testUtilStyles from './test-classes/styles.css.js';
11
+ const IconToggleButtonItem = forwardRef(({ item, showTooltip, showFeedback, onItemClick, }, ref) => {
12
+ var _a;
13
+ const containerRef = React.useRef(null);
14
+ const hasIcon = item.iconName || item.iconUrl || item.iconSvg;
15
+ const hasPressedIcon = item.pressedIconName || item.pressedIconUrl || item.pressedIconSvg;
16
+ if (!hasIcon) {
17
+ warnOnce('ButtonGroup', `Missing icon for item with id: ${item.id}`);
18
+ }
19
+ if (!hasPressedIcon) {
20
+ warnOnce('ButtonGroup', `Missing pressed icon for item with id: ${item.id}`);
21
+ }
22
+ const feedbackContent = item.pressed ? (_a = item.pressedPopoverFeedback) !== null && _a !== void 0 ? _a : item.popoverFeedback : item.popoverFeedback;
23
+ const canShowTooltip = showTooltip && !item.disabled && !item.loading;
24
+ const canShowFeedback = showTooltip && showFeedback && feedbackContent;
25
+ return (React.createElement("div", { ref: containerRef },
26
+ React.createElement(InternalToggleButton, { variant: "icon", pressed: item.pressed, loading: item.loading, loadingText: item.loadingText, disabled: item.disabled, iconName: hasIcon ? item.iconName : 'close', iconUrl: item.iconUrl, iconSvg: item.iconSvg, pressedIconName: hasIcon ? item.pressedIconName : 'close', pressedIconUrl: item.pressedIconUrl, pressedIconSvg: item.pressedIconUrl, ariaLabel: item.text, onChange: event => fireCancelableEvent(onItemClick, { id: item.id, pressed: event.detail.pressed }), ref: ref, "data-testid": item.id, "data-itemid": item.id, className: clsx(testUtilStyles.item, testUtilStyles['button-group-item']), __title: "" }, item.text),
27
+ (canShowTooltip || canShowFeedback) && (React.createElement(Tooltip, { trackRef: containerRef, trackKey: item.id, value: (showFeedback && React.createElement(InternalLiveRegion, { tagName: "span" }, feedbackContent)) || item.text, className: clsx(testUtilStyles.tooltip, testUtilStyles['button-group-tooltip']) }))));
28
+ });
29
+ export default IconToggleButtonItem;
30
+ //# sourceMappingURL=icon-toggle-button-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-toggle-button-item.js","sourceRoot":"","sources":["../../../src/button-group/icon-toggle-button-item.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 } from 'react';\nimport clsx from 'clsx';\n\nimport { warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport { ButtonProps } from '../button/interfaces.js';\nimport Tooltip from '../internal/components/tooltip/index.js';\nimport { CancelableEventHandler, fireCancelableEvent } from '../internal/events/index.js';\nimport InternalLiveRegion from '../live-region/internal.js';\nimport { InternalToggleButton } from '../toggle-button/internal.js';\nimport { ButtonGroupProps } from './interfaces.js';\n\nimport testUtilStyles from './test-classes/styles.css.js';\n\nconst IconToggleButtonItem = forwardRef(\n (\n {\n item,\n showTooltip,\n showFeedback,\n onItemClick,\n }: {\n item: ButtonGroupProps.IconToggleButton;\n showTooltip: boolean;\n showFeedback: boolean;\n onItemClick?: CancelableEventHandler<ButtonGroupProps.ItemClickDetails>;\n },\n ref: React.Ref<ButtonProps.Ref>\n ) => {\n const containerRef = React.useRef<HTMLDivElement>(null);\n const hasIcon = item.iconName || item.iconUrl || item.iconSvg;\n const hasPressedIcon = item.pressedIconName || item.pressedIconUrl || item.pressedIconSvg;\n\n if (!hasIcon) {\n warnOnce('ButtonGroup', `Missing icon for item with id: ${item.id}`);\n }\n if (!hasPressedIcon) {\n warnOnce('ButtonGroup', `Missing pressed icon for item with id: ${item.id}`);\n }\n\n const feedbackContent = item.pressed ? item.pressedPopoverFeedback ?? item.popoverFeedback : item.popoverFeedback;\n const canShowTooltip = showTooltip && !item.disabled && !item.loading;\n const canShowFeedback = showTooltip && showFeedback && feedbackContent;\n return (\n <div ref={containerRef}>\n <InternalToggleButton\n variant=\"icon\"\n pressed={item.pressed}\n loading={item.loading}\n loadingText={item.loadingText}\n disabled={item.disabled}\n iconName={hasIcon ? item.iconName : 'close'}\n iconUrl={item.iconUrl}\n iconSvg={item.iconSvg}\n pressedIconName={hasIcon ? item.pressedIconName : 'close'}\n pressedIconUrl={item.pressedIconUrl}\n pressedIconSvg={item.pressedIconUrl}\n ariaLabel={item.text}\n onChange={event => fireCancelableEvent(onItemClick, { id: item.id, pressed: event.detail.pressed })}\n ref={ref}\n data-testid={item.id}\n data-itemid={item.id}\n className={clsx(testUtilStyles.item, testUtilStyles['button-group-item'])}\n __title=\"\"\n >\n {item.text}\n </InternalToggleButton>\n {(canShowTooltip || canShowFeedback) && (\n <Tooltip\n trackRef={containerRef}\n trackKey={item.id}\n value={\n (showFeedback && <InternalLiveRegion tagName=\"span\">{feedbackContent}</InternalLiveRegion>) || item.text\n }\n className={clsx(testUtilStyles.tooltip, testUtilStyles['button-group-tooltip'])}\n />\n )}\n </div>\n );\n }\n);\n\nexport default IconToggleButtonItem;\n"]}
@@ -35,15 +35,32 @@ export interface ButtonGroupProps extends BaseComponentProps {
35
35
  * ### icon-button
36
36
  *
37
37
  * * `id` (string) - The unique identifier of the button, used as detail in `onItemClick` handler and to focus the button using `ref.focus(id)`.
38
- * * `text` (string) - The name shown as a tooltip or menu text for this button.
39
- * * `disabled` (optional, boolean) - The disabled state indication for the button.
40
- * * `loading` (optional, boolean) - The loading state indication for the button.
38
+ * * `text` (string) - The name shown as a tooltip for this button.
39
+ * * `disabled` (optional, boolean) - The disabled state indication for this button.
40
+ * * `loading` (optional, boolean) - The loading state indication for this button.
41
41
  * * `loadingText` (optional, string) - The loading text announced to screen readers.
42
42
  * * `iconName` (optional, string) - Specifies the name of the icon, used with the [icon component](/components/icon/).
43
43
  * * `iconAlt` (optional, string) - Specifies alternate text for the icon when using `iconUrl`.
44
44
  * * `iconUrl` (optional, string) - Specifies the URL of a custom icon.
45
45
  * * `iconSvg` (optional, ReactNode) - Custom SVG icon. Equivalent to the `svg` slot of the [icon component](/components/icon/).
46
- * * `popoverFeedback` (optional, string) - Text that appears when the user clicks the button. Use to provide feedback to the user.
46
+ * * `popoverFeedback` (optional, ReactNode) - Text that appears when the user clicks the button. Use to provide feedback to the user.
47
+ *
48
+ * ### icon-toggle-button
49
+ *
50
+ * * `id` (string) - The unique identifier of the button, used as detail in `onItemClick` handler and to focus the button using `ref.focus(id)`.
51
+ * * `pressed` (boolean) - The toggle button pressed state.
52
+ * * `text` (string) - The name shown as a tooltip for this button.
53
+ * * `disabled` (optional, boolean) - The disabled state indication for this button.
54
+ * * `loading` (optional, boolean) - The loading state indication for this button.
55
+ * * `loadingText` (optional, string) - The loading text announced to screen readers.
56
+ * * `iconName` (optional, string) - Specifies the name of the icon, used with the [icon component](/components/icon/).
57
+ * * `iconUrl` (optional, string) - Specifies the URL of a custom icon.
58
+ * * `iconSvg` (optional, ReactNode) - Custom SVG icon. Equivalent to the `svg` slot of the [icon component](/components/icon/).
59
+ * * `pressedIconName` (optional, string) - Specifies the name of the icon in pressed state, used with the [icon component](/components/icon/).
60
+ * * `pressedIconUrl` (optional, string) - Specifies the URL of a custom icon in pressed state.
61
+ * * `pressedIconSvg` (optional, ReactNode) - Custom SVG icon in pressed state. Equivalent to the `svg` slot of the [icon component](/components/icon/).
62
+ * * `popoverFeedback` (optional, ReactNode) - Text that appears when the user clicks the button. Use to provide feedback to the user.
63
+ * * `pressedPopoverFeedback` (optional, ReactNode) - Text that appears when the user clicks the button in pressed state. Defaults to `popoverFeedback`.
47
64
  *
48
65
  * ### menu-dropdown
49
66
  *
@@ -54,7 +71,7 @@ export interface ButtonGroupProps extends BaseComponentProps {
54
71
  * * `loadingText` (optional, string) - The loading text announced to screen readers.
55
72
  * * `items` (ButtonDropdownProps.ItemOrGroup[]) - The array of dropdown items that belong to this menu.
56
73
  *
57
- * group
74
+ * ### group
58
75
  *
59
76
  * * `text` (string) - The name of the group rendered as ARIA label for this group.
60
77
  * * `items` ((ButtonGroupProps.IconButton | ButtonGroupProps.MenuDropdown)[]) - The array of items that belong to this group.
@@ -70,7 +87,7 @@ export interface InternalButtonGroupProps extends ButtonGroupProps, InternalBase
70
87
  export declare namespace ButtonGroupProps {
71
88
  type Variant = 'icon';
72
89
  type ItemOrGroup = Item | Group;
73
- type Item = IconButton | MenuDropdown;
90
+ type Item = IconButton | IconToggleButton | MenuDropdown;
74
91
  interface IconButton {
75
92
  type: 'icon-button';
76
93
  id: string;
@@ -84,6 +101,23 @@ export declare namespace ButtonGroupProps {
84
101
  iconSvg?: React.ReactNode;
85
102
  popoverFeedback?: React.ReactNode;
86
103
  }
104
+ interface IconToggleButton {
105
+ type: 'icon-toggle-button';
106
+ id: string;
107
+ text: string;
108
+ pressed: boolean;
109
+ disabled?: boolean;
110
+ loading?: boolean;
111
+ loadingText?: string;
112
+ iconName?: IconProps.Name;
113
+ iconUrl?: string;
114
+ iconSvg?: React.ReactNode;
115
+ pressedIconName?: IconProps.Name;
116
+ pressedIconUrl?: string;
117
+ pressedIconSvg?: React.ReactNode;
118
+ popoverFeedback?: React.ReactNode;
119
+ pressedPopoverFeedback?: React.ReactNode;
120
+ }
87
121
  interface MenuDropdown {
88
122
  type: 'menu-dropdown';
89
123
  id: string;
@@ -100,6 +134,8 @@ export declare namespace ButtonGroupProps {
100
134
  }
101
135
  interface ItemClickDetails {
102
136
  id: string;
137
+ pressed?: boolean;
138
+ checked?: boolean;
103
139
  }
104
140
  interface Ref {
105
141
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/button-group/interfaces.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAElF,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;IAC1D;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC;IAClC;;;;;;;;;;;;OAYG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,KAAK,EAAE,aAAa,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACnD;;OAEG;IACH,WAAW,CAAC,EAAE,yBAAyB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;CAC5E;AAED,MAAM,WAAW,wBAAyB,SAAQ,gBAAgB,EAAE,0BAA0B;CAAG;AAEjG,yBAAiB,gBAAgB,CAAC;IAChC,KAAY,OAAO,GAAG,MAAM,CAAC;IAE7B,KAAY,WAAW,GAAG,IAAI,GAAG,KAAK,CAAC;IACvC,KAAY,IAAI,GAAG,UAAU,GAAG,YAAY,CAAC;IAE7C,UAAiB,UAAU;QACzB,IAAI,EAAE,aAAa,CAAC;QACpB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC;QAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QAC1B,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;KACnC;IAED,UAAiB,YAAY;QAC3B,IAAI,EAAE,eAAe,CAAC;QACtB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,aAAa,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;KACvD;IAED,UAAiB,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;KAC7C;IAED,UAAiB,gBAAgB;QAC/B,EAAE,EAAE,MAAM,CAAC;KACZ;IAED,UAAiB,GAAG;QAClB;;WAEG;QACH,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B;CACF"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/button-group/interfaces.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/button-group/interfaces.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { ButtonDropdownProps } from '../button-dropdown/interfaces';\nimport { IconProps } from '../icon/interfaces';\nimport { BaseComponentProps } from '../internal/base-component';\nimport { NonCancelableEventHandler } from '../internal/events';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\n\nexport interface ButtonGroupProps extends BaseComponentProps {\n /**\n * Adds `aria-label` to the button group toolbar element.\n * Use this to provide a unique accessible name for each button group on the page.\n */\n ariaLabel?: string;\n /**\n * Determines the general styling of the button dropdown.\n * * `icon` for icon buttons.\n */\n variant: ButtonGroupProps.Variant;\n /**\n * Use this property to determine dropdown placement strategy for all menu dropdown items.\n *\n * By default, the dropdown height is constrained to fit inside the height of its next scrollable container element.\n * Enabling this property will allow the dropdown to extend beyond that container by using fixed positioning and\n * [React Portals](https://reactjs.org/docs/portals.html).\n *\n * Set this property if the dropdown would otherwise be constrained by a scrollable container,\n * for example inside table and split view layouts.\n *\n * We recommend you use discretion, and don't enable this property unless necessary\n * because fixed positioning results in a slight, visible lag when scrolling complex pages.\n */\n dropdownExpandToViewport?: boolean;\n /**\n * Array of objects with a number of supported types.\n *\n * ### icon-button\n *\n * * `id` (string) - The unique identifier of the button, used as detail in `onItemClick` handler and to focus the button using `ref.focus(id)`.\n * * `text` (string) - The name shown as a tooltip or menu text for this button.\n * * `disabled` (optional, boolean) - The disabled state indication for the button.\n * * `loading` (optional, boolean) - The loading state indication for the button.\n * * `loadingText` (optional, string) - The loading text announced to screen readers.\n * * `iconName` (optional, string) - Specifies the name of the icon, used with the [icon component](/components/icon/).\n * * `iconAlt` (optional, string) - Specifies alternate text for the icon when using `iconUrl`.\n * * `iconUrl` (optional, string) - Specifies the URL of a custom icon.\n * * `iconSvg` (optional, ReactNode) - Custom SVG icon. Equivalent to the `svg` slot of the [icon component](/components/icon/).\n * * `popoverFeedback` (optional, string) - Text that appears when the user clicks the button. Use to provide feedback to the user.\n *\n * ### menu-dropdown\n *\n * * `id` (string) - The unique identifier of the button, used as detail in `onItemClick`.\n * * `text` (string) - The name of the menu button shown as a tooltip.\n * * `disabled` (optional, boolean) - The disabled state indication for the menu button.\n * * `loading` (optional, boolean) - The loading state indication for the menu button.\n * * `loadingText` (optional, string) - The loading text announced to screen readers.\n * * `items` (ButtonDropdownProps.ItemOrGroup[]) - The array of dropdown items that belong to this menu.\n *\n * group\n *\n * * `text` (string) - The name of the group rendered as ARIA label for this group.\n * * `items` ((ButtonGroupProps.IconButton | ButtonGroupProps.MenuDropdown)[]) - The array of items that belong to this group.\n */\n items: ReadonlyArray<ButtonGroupProps.ItemOrGroup>;\n /**\n * Called when the user clicks on an item, and the item is not disabled. The event detail object contains the id of the clicked item.\n */\n onItemClick?: NonCancelableEventHandler<ButtonGroupProps.ItemClickDetails>;\n}\n\nexport interface InternalButtonGroupProps extends ButtonGroupProps, InternalBaseComponentProps {}\n\nexport namespace ButtonGroupProps {\n export type Variant = 'icon';\n\n export type ItemOrGroup = Item | Group;\n export type Item = IconButton | MenuDropdown;\n\n export interface IconButton {\n type: 'icon-button';\n id: string;\n text: string;\n disabled?: boolean;\n loading?: boolean;\n loadingText?: string;\n iconName?: IconProps.Name;\n iconAlt?: string;\n iconUrl?: string;\n iconSvg?: React.ReactNode;\n popoverFeedback?: React.ReactNode;\n }\n\n export interface MenuDropdown {\n type: 'menu-dropdown';\n id: string;\n text: string;\n disabled?: boolean;\n loading?: boolean;\n loadingText?: string;\n items: ReadonlyArray<ButtonDropdownProps.ItemOrGroup>;\n }\n\n export interface Group {\n type: 'group';\n text: string;\n items: ReadonlyArray<ButtonGroupProps.Item>;\n }\n\n export interface ItemClickDetails {\n id: string;\n }\n\n export interface Ref {\n /**\n * Focuses button group item by id.\n */\n focus(itemId: string): void;\n }\n}\n"]}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/button-group/interfaces.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { ButtonDropdownProps } from '../button-dropdown/interfaces';\nimport { IconProps } from '../icon/interfaces';\nimport { BaseComponentProps } from '../internal/base-component';\nimport { NonCancelableEventHandler } from '../internal/events';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\n\nexport interface ButtonGroupProps extends BaseComponentProps {\n /**\n * Adds `aria-label` to the button group toolbar element.\n * Use this to provide a unique accessible name for each button group on the page.\n */\n ariaLabel?: string;\n /**\n * Determines the general styling of the button dropdown.\n * * `icon` for icon buttons.\n */\n variant: ButtonGroupProps.Variant;\n /**\n * Use this property to determine dropdown placement strategy for all menu dropdown items.\n *\n * By default, the dropdown height is constrained to fit inside the height of its next scrollable container element.\n * Enabling this property will allow the dropdown to extend beyond that container by using fixed positioning and\n * [React Portals](https://reactjs.org/docs/portals.html).\n *\n * Set this property if the dropdown would otherwise be constrained by a scrollable container,\n * for example inside table and split view layouts.\n *\n * We recommend you use discretion, and don't enable this property unless necessary\n * because fixed positioning results in a slight, visible lag when scrolling complex pages.\n */\n dropdownExpandToViewport?: boolean;\n /**\n * Array of objects with a number of supported types.\n *\n * ### icon-button\n *\n * * `id` (string) - The unique identifier of the button, used as detail in `onItemClick` handler and to focus the button using `ref.focus(id)`.\n * * `text` (string) - The name shown as a tooltip for this button.\n * * `disabled` (optional, boolean) - The disabled state indication for this button.\n * * `loading` (optional, boolean) - The loading state indication for this button.\n * * `loadingText` (optional, string) - The loading text announced to screen readers.\n * * `iconName` (optional, string) - Specifies the name of the icon, used with the [icon component](/components/icon/).\n * * `iconAlt` (optional, string) - Specifies alternate text for the icon when using `iconUrl`.\n * * `iconUrl` (optional, string) - Specifies the URL of a custom icon.\n * * `iconSvg` (optional, ReactNode) - Custom SVG icon. Equivalent to the `svg` slot of the [icon component](/components/icon/).\n * * `popoverFeedback` (optional, ReactNode) - Text that appears when the user clicks the button. Use to provide feedback to the user.\n *\n * ### icon-toggle-button\n *\n * * `id` (string) - The unique identifier of the button, used as detail in `onItemClick` handler and to focus the button using `ref.focus(id)`.\n * * `pressed` (boolean) - The toggle button pressed state.\n * * `text` (string) - The name shown as a tooltip for this button.\n * * `disabled` (optional, boolean) - The disabled state indication for this button.\n * * `loading` (optional, boolean) - The loading state indication for this button.\n * * `loadingText` (optional, string) - The loading text announced to screen readers.\n * * `iconName` (optional, string) - Specifies the name of the icon, used with the [icon component](/components/icon/).\n * * `iconUrl` (optional, string) - Specifies the URL of a custom icon.\n * * `iconSvg` (optional, ReactNode) - Custom SVG icon. Equivalent to the `svg` slot of the [icon component](/components/icon/).\n * * `pressedIconName` (optional, string) - Specifies the name of the icon in pressed state, used with the [icon component](/components/icon/).\n * * `pressedIconUrl` (optional, string) - Specifies the URL of a custom icon in pressed state.\n * * `pressedIconSvg` (optional, ReactNode) - Custom SVG icon in pressed state. Equivalent to the `svg` slot of the [icon component](/components/icon/).\n * * `popoverFeedback` (optional, ReactNode) - Text that appears when the user clicks the button. Use to provide feedback to the user.\n * * `pressedPopoverFeedback` (optional, ReactNode) - Text that appears when the user clicks the button in pressed state. Defaults to `popoverFeedback`.\n *\n * ### menu-dropdown\n *\n * * `id` (string) - The unique identifier of the button, used as detail in `onItemClick`.\n * * `text` (string) - The name of the menu button shown as a tooltip.\n * * `disabled` (optional, boolean) - The disabled state indication for the menu button.\n * * `loading` (optional, boolean) - The loading state indication for the menu button.\n * * `loadingText` (optional, string) - The loading text announced to screen readers.\n * * `items` (ButtonDropdownProps.ItemOrGroup[]) - The array of dropdown items that belong to this menu.\n *\n * ### group\n *\n * * `text` (string) - The name of the group rendered as ARIA label for this group.\n * * `items` ((ButtonGroupProps.IconButton | ButtonGroupProps.MenuDropdown)[]) - The array of items that belong to this group.\n */\n items: ReadonlyArray<ButtonGroupProps.ItemOrGroup>;\n /**\n * Called when the user clicks on an item, and the item is not disabled. The event detail object contains the id of the clicked item.\n */\n onItemClick?: NonCancelableEventHandler<ButtonGroupProps.ItemClickDetails>;\n}\n\nexport interface InternalButtonGroupProps extends ButtonGroupProps, InternalBaseComponentProps {}\n\nexport namespace ButtonGroupProps {\n export type Variant = 'icon';\n\n export type ItemOrGroup = Item | Group;\n export type Item = IconButton | IconToggleButton | MenuDropdown;\n\n export interface IconButton {\n type: 'icon-button';\n id: string;\n text: string;\n disabled?: boolean;\n loading?: boolean;\n loadingText?: string;\n iconName?: IconProps.Name;\n iconAlt?: string;\n iconUrl?: string;\n iconSvg?: React.ReactNode;\n popoverFeedback?: React.ReactNode;\n }\n\n export interface IconToggleButton {\n type: 'icon-toggle-button';\n id: string;\n text: string;\n pressed: boolean;\n disabled?: boolean;\n loading?: boolean;\n loadingText?: string;\n iconName?: IconProps.Name;\n iconUrl?: string;\n iconSvg?: React.ReactNode;\n pressedIconName?: IconProps.Name;\n pressedIconUrl?: string;\n pressedIconSvg?: React.ReactNode;\n popoverFeedback?: React.ReactNode;\n pressedPopoverFeedback?: React.ReactNode;\n }\n\n export interface MenuDropdown {\n type: 'menu-dropdown';\n id: string;\n text: string;\n disabled?: boolean;\n loading?: boolean;\n loadingText?: string;\n items: ReadonlyArray<ButtonDropdownProps.ItemOrGroup>;\n }\n\n export interface Group {\n type: 'group';\n text: string;\n items: ReadonlyArray<ButtonGroupProps.Item>;\n }\n\n export interface ItemClickDetails {\n id: string;\n pressed?: boolean;\n checked?: boolean;\n }\n\n export interface Ref {\n /**\n * Focuses button group item by id.\n */\n focus(itemId: string): void;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"item-element.d.ts","sourceRoot":"","sources":["../../../src/button-group/item-element.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA6D,MAAM,OAAO,CAAC;AAElF,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAuB,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAGpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAKhD,UAAU,gBAAgB;IACxB,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC;IAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,OAAO,EAAE,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IACpD,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC1E,WAAW,CAAC,EAAE,yBAAyB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAC;CACxF;AAED,QAAA,MAAM,WAAW,0FA4GhB,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"item-element.d.ts","sourceRoot":"","sources":["../../../src/button-group/item-element.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA6D,MAAM,OAAO,CAAC;AAElF,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAuB,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAIpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAKhD,UAAU,gBAAgB;IACxB,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC;IAC5B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,OAAO,EAAE,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IACpD,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC1E,WAAW,CAAC,EAAE,yBAAyB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAC;CACxF;AAED,QAAA,MAAM,WAAW,0FAqHhB,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -4,6 +4,7 @@ import React, { forwardRef, useEffect, useImperativeHandle, useRef } from 'react
4
4
  import { fireCancelableEvent } from '../internal/events';
5
5
  import { nodeBelongs } from '../internal/utils/node-belongs';
6
6
  import IconButtonItem from './icon-button-item';
7
+ import IconToggleButtonItem from './icon-toggle-button-item.js';
7
8
  import MenuDropdownItem from './menu-dropdown-item';
8
9
  import styles from './styles.css.js';
9
10
  const ItemElement = forwardRef(({ item, dropdownExpandToViewport, tooltip, setTooltip, onItemClick }, ref) => {
@@ -68,6 +69,7 @@ const ItemElement = forwardRef(({ item, dropdownExpandToViewport, tooltip, setTo
68
69
  onShowTooltipHard(true);
69
70
  }, onBlur: () => onShowTooltipHard(false) },
70
71
  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) })),
72
+ 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) })),
71
73
  item.type === 'menu-dropdown' && (React.createElement(MenuDropdownItem, { ref: buttonRef, item: item, showTooltip: (tooltip === null || tooltip === void 0 ? void 0 : tooltip.item) === item.id, onItemClick: onClickHandler, expandToViewport: dropdownExpandToViewport }))));
72
74
  });
73
75
  export default ItemElement;
@@ -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 { ButtonProps } from '../button/interfaces.js';\nimport { fireCancelableEvent, NonCancelableEventHandler } from '../internal/events';\nimport { nodeBelongs } from '../internal/utils/node-belongs';\nimport IconButtonItem from './icon-button-item';\nimport { ButtonGroupProps } from './interfaces';\nimport MenuDropdownItem from './menu-dropdown-item';\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}\n\nconst ItemElement = forwardRef(\n (\n { item, dropdownExpandToViewport, tooltip, setTooltip, onItemClick }: ItemElementProps,\n ref: React.Ref<ButtonProps.Ref>\n ) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n useImperativeHandle(ref, () => ({\n focus: () => {\n buttonRef.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 window.addEventListener('pointerdown', handlePointerDownEvent);\n window.addEventListener('keydown', handleKeyDownEvent);\n\n return () => {\n window.removeEventListener('pointerdown', handlePointerDownEvent);\n window.removeEventListener('keydown', handleKeyDownEvent);\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 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 >\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 />\n )}\n {item.type === 'menu-dropdown' && (\n <MenuDropdownItem\n ref={buttonRef}\n item={item}\n showTooltip={tooltip?.item === item.id}\n onItemClick={onClickHandler}\n expandToViewport={dropdownExpandToViewport}\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":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAGlF,OAAO,EAAE,mBAAmB,EAA6B,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAChD,OAAO,oBAAoB,MAAM,8BAA8B,CAAC;AAEhE,OAAO,gBAAgB,MAAM,sBAAsB,CAAC;AAEpD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAUrC,MAAM,WAAW,GAAG,UAAU,CAC5B,CACE,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAoB,EACtF,GAA+B,EAC/B,EAAE;IACF,MAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAElD,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9B,KAAK,EAAE,GAAG,EAAE;;YACV,MAAA,SAAS,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;QAC7B,CAAC;KACF,CAAC,CAAC,CAAC;IAEJ,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,IAAI,CAAC,EAAE,EAAE;YAC7B,OAAO;SACR;QAED,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC;QAEF,MAAM,sBAAsB,GAAG,CAAC,KAAmB,EAAE,EAAE;;YACrD,IAAI,KAAK,CAAC,MAAM,KAAI,MAAA,YAAY,CAAC,OAAO,0CAAE,QAAQ,CAAC,KAAK,CAAC,MAAqB,CAAC,CAAA,EAAE;gBAC/E,OAAO;aACR;YAED,KAAK,EAAE,CAAC;QACV,CAAC,CAAC;QAEF,MAAM,kBAAkB,GAAG,CAAC,KAAoB,EAAE,EAAE;YAClD,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;gBAC1B,KAAK,EAAE,CAAC;aACT;QACH,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC;QAC/D,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QAEvD,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,sBAAsB,CAAC,CAAC;YAClE,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QAC5D,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAEnC,MAAM,iBAAiB,GAAG,CAAC,IAAa,EAAE,EAAE;QAC1C,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAA,EAAE;YACtB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC9D;IACH,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,IAAa,EAAE,EAAE;QAC1C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,MAAK,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAA,EAAE;YACtC,OAAO;SACR;QAED,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,KAAqD,EAAE,EAAE;QAC/E,MAAM,kBAAkB,GAAG,iBAAiB,IAAI,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC;QAE7E,IAAI,kBAAkB,EAAE;YACtB,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;SAC/C;QAED,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF,OAAO,CACL,6BACE,GAAG,EAAE,IAAI,CAAC,EAAE,EACZ,SAAS,EAAE,MAAM,CAAC,cAAc,CAAC,EACjC,GAAG,EAAE,YAAY,EACjB,cAAc,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAC7C,cAAc,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAC9C,OAAO,EAAE,KAAK,CAAC,EAAE;YACf,qEAAqE;YACrE,2FAA2F;YAC3F,IAAI,KAAK,IAAI,KAAK,CAAC,aAAa,IAAI,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,EAAE;gBAC1F,OAAO;aACR;YACD,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,EACD,MAAM,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC;QAErC,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,CAC9B,oBAAC,cAAc,IACb,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,cAAc,EAC3B,WAAW,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,IAAI,CAAC,EAAE,EACtC,YAAY,EAAE,CAAC,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAA,GACjC,CACH;QACA,IAAI,CAAC,IAAI,KAAK,oBAAoB,IAAI,CACrC,oBAAC,oBAAoB,IACnB,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,cAAc,EAC3B,WAAW,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,IAAI,CAAC,EAAE,EACtC,YAAY,EAAE,CAAC,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAA,GACjC,CACH;QACA,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,CAChC,oBAAC,gBAAgB,IACf,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,IAAI,CAAC,EAAE,EACtC,WAAW,EAAE,cAAc,EAC3B,gBAAgB,EAAE,wBAAwB,GAC1C,CACH,CACG,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,WAAW,CAAC","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 { ButtonProps } from '../button/interfaces.js';\nimport { fireCancelableEvent, NonCancelableEventHandler } from '../internal/events';\nimport { nodeBelongs } from '../internal/utils/node-belongs';\nimport IconButtonItem from './icon-button-item';\nimport IconToggleButtonItem from './icon-toggle-button-item.js';\nimport { ButtonGroupProps } from './interfaces';\nimport MenuDropdownItem from './menu-dropdown-item';\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}\n\nconst ItemElement = forwardRef(\n (\n { item, dropdownExpandToViewport, tooltip, setTooltip, onItemClick }: ItemElementProps,\n ref: React.Ref<ButtonProps.Ref>\n ) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n useImperativeHandle(ref, () => ({\n focus: () => {\n buttonRef.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 window.addEventListener('pointerdown', handlePointerDownEvent);\n window.addEventListener('keydown', handleKeyDownEvent);\n\n return () => {\n window.removeEventListener('pointerdown', handlePointerDownEvent);\n window.removeEventListener('keydown', handleKeyDownEvent);\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 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 >\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 />\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 />\n )}\n {item.type === 'menu-dropdown' && (\n <MenuDropdownItem\n ref={buttonRef}\n item={item}\n showTooltip={tooltip?.item === item.id}\n onItemClick={onClickHandler}\n expandToViewport={dropdownExpandToViewport}\n />\n )}\n </div>\n );\n }\n);\n\nexport default ItemElement;\n"]}
@@ -10,7 +10,7 @@ import testUtilStyles from './test-classes/styles.css.js';
10
10
  const MenuDropdownItem = React.forwardRef(({ item, showTooltip, onItemClick, expandToViewport }, ref) => {
11
11
  const containerRef = React.useRef(null);
12
12
  const onClickHandler = (event) => {
13
- fireCancelableEvent(onItemClick, { id: event.detail.id }, event);
13
+ fireCancelableEvent(onItemClick, { id: event.detail.id, checked: event.detail.checked }, event);
14
14
  };
15
15
  return (React.createElement(ButtonDropdown, { ref: ref, variant: "icon", items: item.items, onItemClick: onClickHandler, expandToViewport: expandToViewport, ariaLabel: item.text, className: testUtilStyles['button-group-item'], "data-testid": item.id, customTriggerBuilder: ({ onClick, isOpen, triggerRef, ariaLabel, ariaExpanded, testUtilsClass }) => (React.createElement("div", { ref: containerRef },
16
16
  !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']) })),
@@ -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,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;AAS1D,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CACvC,CACE,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAyB,EAC3E,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,EAAE,KAAK,CAAC,CAAC;IACnE,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,iBACjC,IAAI,CAAC,EAAE,EACpB,oBAAoB,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAClG,6BAAK,GAAG,EAAE,YAAY;YACnB,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,GAC/E,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,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 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 onItemClick?: CancelableEventHandler<ButtonGroupProps.ItemClickDetails>;\n expandToViewport?: boolean;\n}\n\nconst MenuDropdownItem = React.forwardRef(\n (\n { item, showTooltip, onItemClick, expandToViewport }: 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 }, 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 data-testid={item.id}\n customTriggerBuilder={({ onClick, isOpen, triggerRef, ariaLabel, ariaExpanded, testUtilsClass }) => (\n <div ref={containerRef}>\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 />\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 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,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;AAS1D,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CACvC,CACE,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAyB,EAC3E,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,iBACjC,IAAI,CAAC,EAAE,EACpB,oBAAoB,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAClG,6BAAK,GAAG,EAAE,YAAY;YACnB,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,GAC/E,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,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 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 onItemClick?: CancelableEventHandler<ButtonGroupProps.ItemClickDetails>;\n expandToViewport?: boolean;\n}\n\nconst MenuDropdownItem = React.forwardRef(\n (\n { item, showTooltip, onItemClick, expandToViewport }: 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 data-testid={item.id}\n customTriggerBuilder={({ onClick, isOpen, triggerRef, ariaLabel, ariaExpanded, testUtilsClass }) => (\n <div ref={containerRef}>\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 />\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 onClick={onClick}\n __title=\"\"\n />\n </div>\n )}\n />\n );\n }\n);\n\nexport default MenuDropdownItem;\n"]}