@cloudscape-design/components 3.0.693 → 3.0.695

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 (344) hide show
  1. package/app-layout/visual-refresh-toolbar/compute-layout.d.ts +2 -2
  2. package/app-layout/visual-refresh-toolbar/compute-layout.d.ts.map +1 -1
  3. package/app-layout/visual-refresh-toolbar/compute-layout.js +2 -2
  4. package/app-layout/visual-refresh-toolbar/compute-layout.js.map +1 -1
  5. package/app-layout/visual-refresh-toolbar/drawer/styles.css.js +6 -6
  6. package/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +7 -7
  7. package/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +6 -6
  8. package/app-layout/visual-refresh-toolbar/index.d.ts.map +1 -1
  9. package/app-layout/visual-refresh-toolbar/index.js +35 -16
  10. package/app-layout/visual-refresh-toolbar/index.js.map +1 -1
  11. package/app-layout/visual-refresh-toolbar/multi-layout.d.ts +27 -0
  12. package/app-layout/visual-refresh-toolbar/multi-layout.d.ts.map +1 -0
  13. package/app-layout/visual-refresh-toolbar/multi-layout.js +55 -0
  14. package/app-layout/visual-refresh-toolbar/multi-layout.js.map +1 -0
  15. package/app-layout/visual-refresh-toolbar/navigation/index.d.ts.map +1 -1
  16. package/app-layout/visual-refresh-toolbar/navigation/index.js +1 -0
  17. package/app-layout/visual-refresh-toolbar/navigation/index.js.map +1 -1
  18. package/app-layout/visual-refresh-toolbar/navigation/styles.css.js +6 -6
  19. package/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +15 -11
  20. package/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +6 -6
  21. package/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +16 -16
  22. package/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +28 -28
  23. package/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +16 -16
  24. package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.d.ts +12 -10
  25. package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.d.ts.map +1 -1
  26. package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js +3 -3
  27. package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js.map +1 -1
  28. package/app-layout/visual-refresh-toolbar/toolbar/index.d.ts +23 -3
  29. package/app-layout/visual-refresh-toolbar/toolbar/index.d.ts.map +1 -1
  30. package/app-layout/visual-refresh-toolbar/toolbar/index.js +8 -8
  31. package/app-layout/visual-refresh-toolbar/toolbar/index.js.map +1 -1
  32. package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.css.js +6 -6
  33. package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.scoped.css +30 -44
  34. package/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.selectors.js +6 -6
  35. package/button-dropdown/analytics-metadata/interfaces.d.ts +26 -0
  36. package/button-dropdown/analytics-metadata/interfaces.d.ts.map +1 -0
  37. package/button-dropdown/analytics-metadata/interfaces.js +4 -0
  38. package/button-dropdown/analytics-metadata/interfaces.js.map +1 -0
  39. package/button-dropdown/analytics-metadata/styles.css.js +8 -0
  40. package/button-dropdown/analytics-metadata/styles.scoped.css +9 -0
  41. package/button-dropdown/analytics-metadata/styles.selectors.js +9 -0
  42. package/button-dropdown/category-elements/category-element.d.ts +1 -1
  43. package/button-dropdown/category-elements/category-element.d.ts.map +1 -1
  44. package/button-dropdown/category-elements/category-element.js +2 -2
  45. package/button-dropdown/category-elements/category-element.js.map +1 -1
  46. package/button-dropdown/category-elements/expandable-category-element.d.ts +1 -1
  47. package/button-dropdown/category-elements/expandable-category-element.d.ts.map +1 -1
  48. package/button-dropdown/category-elements/expandable-category-element.js +14 -3
  49. package/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
  50. package/button-dropdown/category-elements/mobile-expandable-category-element.d.ts +1 -1
  51. package/button-dropdown/category-elements/mobile-expandable-category-element.d.ts.map +1 -1
  52. package/button-dropdown/category-elements/mobile-expandable-category-element.js +14 -3
  53. package/button-dropdown/category-elements/mobile-expandable-category-element.js.map +1 -1
  54. package/button-dropdown/index.d.ts.map +1 -1
  55. package/button-dropdown/index.js +10 -1
  56. package/button-dropdown/index.js.map +1 -1
  57. package/button-dropdown/interfaces.d.ts +3 -0
  58. package/button-dropdown/interfaces.d.ts.map +1 -1
  59. package/button-dropdown/interfaces.js.map +1 -1
  60. package/button-dropdown/internal.d.ts.map +1 -1
  61. package/button-dropdown/internal.js +22 -6
  62. package/button-dropdown/internal.js.map +1 -1
  63. package/button-dropdown/item-element/index.d.ts +1 -1
  64. package/button-dropdown/item-element/index.d.ts.map +1 -1
  65. package/button-dropdown/item-element/index.js +15 -4
  66. package/button-dropdown/item-element/index.js.map +1 -1
  67. package/button-dropdown/items-list.d.ts +1 -1
  68. package/button-dropdown/items-list.d.ts.map +1 -1
  69. package/button-dropdown/items-list.js +4 -4
  70. package/button-dropdown/items-list.js.map +1 -1
  71. package/button-dropdown/styles.css.js +18 -15
  72. package/button-dropdown/styles.scoped.css +31 -22
  73. package/button-dropdown/styles.selectors.js +18 -15
  74. package/checkbox/analytics-metadata/interfaces.d.ts +13 -0
  75. package/checkbox/analytics-metadata/interfaces.d.ts.map +1 -0
  76. package/checkbox/analytics-metadata/interfaces.js +4 -0
  77. package/checkbox/analytics-metadata/interfaces.js.map +1 -0
  78. package/checkbox/index.js +1 -1
  79. package/checkbox/index.js.map +1 -1
  80. package/checkbox/internal.d.ts +1 -0
  81. package/checkbox/internal.d.ts.map +1 -1
  82. package/checkbox/internal.js +16 -2
  83. package/checkbox/internal.js.map +1 -1
  84. package/container/analytics-metadata/interfaces.d.ts +5 -0
  85. package/container/analytics-metadata/interfaces.d.ts.map +1 -0
  86. package/container/analytics-metadata/interfaces.js +4 -0
  87. package/container/analytics-metadata/interfaces.js.map +1 -0
  88. package/container/analytics-metadata/styles.css.js +6 -0
  89. package/container/analytics-metadata/styles.scoped.css +7 -0
  90. package/container/analytics-metadata/styles.selectors.js +7 -0
  91. package/container/index.d.ts.map +1 -1
  92. package/container/index.js +6 -1
  93. package/container/index.js.map +1 -1
  94. package/container/internal.d.ts.map +1 -1
  95. package/container/internal.js +4 -2
  96. package/container/internal.js.map +1 -1
  97. package/drawer/implementation.d.ts.map +1 -1
  98. package/drawer/implementation.js +3 -1
  99. package/drawer/implementation.js.map +1 -1
  100. package/drawer/styles.css.js +4 -3
  101. package/drawer/styles.scoped.css +16 -8
  102. package/drawer/styles.selectors.js +4 -3
  103. package/form/analytics-metadata/interfaces.d.ts +13 -0
  104. package/form/analytics-metadata/interfaces.d.ts.map +1 -0
  105. package/form/analytics-metadata/interfaces.js +4 -0
  106. package/form/analytics-metadata/interfaces.js.map +1 -0
  107. package/form/analytics-metadata/styles.css.js +6 -0
  108. package/form/analytics-metadata/styles.scoped.css +7 -0
  109. package/form/analytics-metadata/styles.selectors.js +7 -0
  110. package/form/index.d.ts.map +1 -1
  111. package/form/index.js +1 -1
  112. package/form/index.js.map +1 -1
  113. package/form/internal.d.ts +4 -2
  114. package/form/internal.d.ts.map +1 -1
  115. package/form/internal.js +13 -3
  116. package/form/internal.js.map +1 -1
  117. package/form-field/analytics-metadata/interfaces.d.ts +5 -0
  118. package/form-field/analytics-metadata/interfaces.d.ts.map +1 -0
  119. package/form-field/analytics-metadata/interfaces.js +4 -0
  120. package/form-field/analytics-metadata/interfaces.js.map +1 -0
  121. package/form-field/analytics-metadata/styles.css.js +6 -0
  122. package/form-field/analytics-metadata/styles.scoped.css +7 -0
  123. package/form-field/analytics-metadata/styles.selectors.js +7 -0
  124. package/form-field/index.d.ts.map +1 -1
  125. package/form-field/index.js +8 -1
  126. package/form-field/index.js.map +1 -1
  127. package/form-field/internal.d.ts.map +1 -1
  128. package/form-field/internal.js +4 -2
  129. package/form-field/internal.js.map +1 -1
  130. package/header/analytics-metadata/styles.css.js +6 -0
  131. package/header/analytics-metadata/styles.scoped.css +7 -0
  132. package/header/analytics-metadata/styles.selectors.js +7 -0
  133. package/header/internal.d.ts.map +1 -1
  134. package/header/internal.js +4 -2
  135. package/header/internal.js.map +1 -1
  136. package/help-panel/implementation.d.ts.map +1 -1
  137. package/help-panel/implementation.js +4 -2
  138. package/help-panel/implementation.js.map +1 -1
  139. package/help-panel/styles.css.js +5 -4
  140. package/help-panel/styles.scoped.css +74 -65
  141. package/help-panel/styles.selectors.js +5 -4
  142. package/i18n/messages/all.all.js +1 -1
  143. package/i18n/messages/all.all.json +1 -1
  144. package/i18n/messages/all.ar.js +1 -1
  145. package/i18n/messages/all.ar.json +1 -1
  146. package/i18n/messages/all.de.js +1 -1
  147. package/i18n/messages/all.de.json +1 -1
  148. package/i18n/messages/all.en-GB.js +1 -1
  149. package/i18n/messages/all.en-GB.json +1 -1
  150. package/i18n/messages/all.en.js +1 -1
  151. package/i18n/messages/all.en.json +1 -1
  152. package/i18n/messages/all.es.js +1 -1
  153. package/i18n/messages/all.es.json +1 -1
  154. package/i18n/messages/all.fr.js +1 -1
  155. package/i18n/messages/all.fr.json +1 -1
  156. package/i18n/messages/all.id.js +1 -1
  157. package/i18n/messages/all.id.json +1 -1
  158. package/i18n/messages/all.it.js +1 -1
  159. package/i18n/messages/all.it.json +1 -1
  160. package/i18n/messages/all.ja.js +1 -1
  161. package/i18n/messages/all.ja.json +1 -1
  162. package/i18n/messages/all.ko.js +1 -1
  163. package/i18n/messages/all.ko.json +1 -1
  164. package/i18n/messages/all.pt-BR.js +1 -1
  165. package/i18n/messages/all.pt-BR.json +1 -1
  166. package/i18n/messages/all.tr.js +1 -1
  167. package/i18n/messages/all.tr.json +1 -1
  168. package/i18n/messages/all.zh-CN.js +1 -1
  169. package/i18n/messages/all.zh-CN.json +1 -1
  170. package/i18n/messages/all.zh-TW.js +1 -1
  171. package/i18n/messages/all.zh-TW.json +1 -1
  172. package/i18n/messages-types.d.ts +1 -0
  173. package/i18n/messages-types.d.ts.map +1 -1
  174. package/i18n/messages-types.js.map +1 -1
  175. package/internal/components/abstract-switch/analytics-metadata/styles.css.js +7 -0
  176. package/internal/components/abstract-switch/analytics-metadata/styles.scoped.css +8 -0
  177. package/internal/components/abstract-switch/analytics-metadata/styles.selectors.js +8 -0
  178. package/internal/components/abstract-switch/index.d.ts.map +1 -1
  179. package/internal/components/abstract-switch/index.js +13 -4
  180. package/internal/components/abstract-switch/index.js.map +1 -1
  181. package/internal/components/button-trigger/styles.css.js +11 -11
  182. package/internal/components/button-trigger/styles.scoped.css +52 -49
  183. package/internal/components/button-trigger/styles.selectors.js +11 -11
  184. package/internal/components/token-list/index.d.ts +1 -0
  185. package/internal/components/token-list/index.d.ts.map +1 -1
  186. package/internal/components/token-list/index.js.map +1 -1
  187. package/internal/components/tooltip/index.d.ts.map +1 -1
  188. package/internal/components/tooltip/index.js +1 -1
  189. package/internal/components/tooltip/index.js.map +1 -1
  190. package/internal/environment.js +1 -1
  191. package/internal/environment.json +1 -1
  192. package/internal/manifest.json +1 -1
  193. package/internal/plugins/api.d.ts +3 -0
  194. package/internal/plugins/api.d.ts.map +1 -1
  195. package/internal/plugins/api.js +3 -0
  196. package/internal/plugins/api.js.map +1 -1
  197. package/internal/plugins/controllers/app-layout-widget.d.ts +33 -0
  198. package/internal/plugins/controllers/app-layout-widget.d.ts.map +1 -0
  199. package/internal/plugins/controllers/app-layout-widget.js +77 -0
  200. package/internal/plugins/controllers/app-layout-widget.js.map +1 -0
  201. package/internal/plugins/helpers/use-global-breadcrumbs.d.ts +1 -1
  202. package/internal/plugins/helpers/use-global-breadcrumbs.d.ts.map +1 -1
  203. package/internal/plugins/helpers/use-global-breadcrumbs.js +5 -2
  204. package/internal/plugins/helpers/use-global-breadcrumbs.js.map +1 -1
  205. package/link/analytics-metadata/interfaces.d.ts +21 -0
  206. package/link/analytics-metadata/interfaces.d.ts.map +1 -0
  207. package/link/analytics-metadata/interfaces.js +4 -0
  208. package/link/analytics-metadata/interfaces.js.map +1 -0
  209. package/link/index.d.ts.map +1 -1
  210. package/link/index.js +17 -1
  211. package/link/index.js.map +1 -1
  212. package/package.json +1 -1
  213. package/pagination/analytics-metadata/interfaces.d.ts +17 -0
  214. package/pagination/analytics-metadata/interfaces.d.ts.map +1 -0
  215. package/pagination/analytics-metadata/interfaces.js +4 -0
  216. package/pagination/analytics-metadata/interfaces.js.map +1 -0
  217. package/pagination/index.d.ts.map +1 -1
  218. package/pagination/index.js +12 -1
  219. package/pagination/index.js.map +1 -1
  220. package/pagination/internal.d.ts.map +1 -1
  221. package/pagination/internal.js +35 -6
  222. package/pagination/internal.js.map +1 -1
  223. package/popover/internal.d.ts +2 -1
  224. package/popover/internal.d.ts.map +1 -1
  225. package/popover/internal.js +1 -1
  226. package/popover/internal.js.map +1 -1
  227. package/popover/styles.css.js +52 -50
  228. package/popover/styles.scoped.css +75 -67
  229. package/popover/styles.selectors.js +52 -50
  230. package/property-filter/filtering-token/index.d.ts +25 -8
  231. package/property-filter/filtering-token/index.d.ts.map +1 -1
  232. package/property-filter/filtering-token/index.js +51 -11
  233. package/property-filter/filtering-token/index.js.map +1 -1
  234. package/property-filter/filtering-token/styles.css.js +18 -7
  235. package/property-filter/filtering-token/styles.scoped.css +100 -17
  236. package/property-filter/filtering-token/styles.selectors.js +18 -7
  237. package/property-filter/styles.css.js +31 -32
  238. package/property-filter/styles.scoped.css +33 -34
  239. package/property-filter/styles.selectors.js +31 -32
  240. package/property-filter/test-classes/styles.css.js +14 -9
  241. package/property-filter/test-classes/styles.scoped.css +29 -9
  242. package/property-filter/test-classes/styles.selectors.js +14 -9
  243. package/property-filter/token-editor.d.ts +5 -5
  244. package/property-filter/token-editor.d.ts.map +1 -1
  245. package/property-filter/token-editor.js +19 -25
  246. package/property-filter/token-editor.js.map +1 -1
  247. package/property-filter/token.d.ts.map +1 -1
  248. package/property-filter/token.js +15 -5
  249. package/property-filter/token.js.map +1 -1
  250. package/radio-group/analytics-metadata/interfaces.d.ts +14 -0
  251. package/radio-group/analytics-metadata/interfaces.d.ts.map +1 -0
  252. package/radio-group/analytics-metadata/interfaces.js +4 -0
  253. package/radio-group/analytics-metadata/interfaces.js.map +1 -0
  254. package/radio-group/index.d.ts.map +1 -1
  255. package/radio-group/index.js +7 -1
  256. package/radio-group/index.js.map +1 -1
  257. package/radio-group/internal.d.ts.map +1 -1
  258. package/radio-group/internal.js +9 -1
  259. package/radio-group/internal.js.map +1 -1
  260. package/radio-group/radio-button.d.ts.map +1 -1
  261. package/radio-group/radio-button.js +6 -3
  262. package/radio-group/radio-button.js.map +1 -1
  263. package/select/interfaces.d.ts +15 -0
  264. package/select/interfaces.d.ts.map +1 -1
  265. package/select/interfaces.js.map +1 -1
  266. package/select/internal.d.ts.map +1 -1
  267. package/select/internal.js +3 -4
  268. package/select/internal.js.map +1 -1
  269. package/select/parts/styles.css.js +21 -17
  270. package/select/parts/styles.scoped.css +52 -18
  271. package/select/parts/styles.selectors.js +21 -17
  272. package/select/parts/trigger.d.ts +1 -0
  273. package/select/parts/trigger.d.ts.map +1 -1
  274. package/select/parts/trigger.js +5 -2
  275. package/select/parts/trigger.js.map +1 -1
  276. package/side-navigation/implementation.d.ts.map +1 -1
  277. package/side-navigation/implementation.js +3 -1
  278. package/side-navigation/implementation.js.map +1 -1
  279. package/side-navigation/styles.css.js +29 -28
  280. package/side-navigation/styles.scoped.css +47 -38
  281. package/side-navigation/styles.selectors.js +29 -28
  282. package/split-panel/implementation.d.ts.map +1 -1
  283. package/split-panel/implementation.js +3 -1
  284. package/split-panel/implementation.js.map +1 -1
  285. package/split-panel/side.d.ts.map +1 -1
  286. package/split-panel/side.js +4 -1
  287. package/split-panel/side.js.map +1 -1
  288. package/split-panel/styles.css.js +27 -27
  289. package/split-panel/styles.scoped.css +62 -44
  290. package/split-panel/styles.selectors.js +27 -27
  291. package/table/analytics-metadata/interfaces.d.ts +45 -0
  292. package/table/analytics-metadata/interfaces.d.ts.map +1 -0
  293. package/table/analytics-metadata/interfaces.js +4 -0
  294. package/table/analytics-metadata/interfaces.js.map +1 -0
  295. package/table/analytics-metadata/styles.css.js +6 -0
  296. package/table/analytics-metadata/styles.scoped.css +7 -0
  297. package/table/analytics-metadata/styles.selectors.js +7 -0
  298. package/table/body-cell/styles.css.js +47 -46
  299. package/table/body-cell/styles.scoped.css +276 -273
  300. package/table/body-cell/styles.selectors.js +47 -46
  301. package/table/body-cell/td-element.d.ts +2 -0
  302. package/table/body-cell/td-element.d.ts.map +1 -1
  303. package/table/body-cell/td-element.js +5 -2
  304. package/table/body-cell/td-element.js.map +1 -1
  305. package/table/header-cell/index.d.ts.map +1 -1
  306. package/table/header-cell/index.js +14 -2
  307. package/table/header-cell/index.js.map +1 -1
  308. package/table/header-cell/th-element.d.ts +1 -1
  309. package/table/header-cell/th-element.d.ts.map +1 -1
  310. package/table/header-cell/th-element.js +5 -2
  311. package/table/header-cell/th-element.js.map +1 -1
  312. package/table/header-cell/utils.d.ts +1 -0
  313. package/table/header-cell/utils.d.ts.map +1 -1
  314. package/table/header-cell/utils.js +11 -0
  315. package/table/header-cell/utils.js.map +1 -1
  316. package/table/index.d.ts.map +1 -1
  317. package/table/index.js +19 -2
  318. package/table/index.js.map +1 -1
  319. package/table/interfaces.d.ts +3 -0
  320. package/table/interfaces.d.ts.map +1 -1
  321. package/table/interfaces.js.map +1 -1
  322. package/table/internal.d.ts.map +1 -1
  323. package/table/internal.js +16 -2
  324. package/table/internal.js.map +1 -1
  325. package/table/selection/selection-control.d.ts +3 -1
  326. package/table/selection/selection-control.d.ts.map +1 -1
  327. package/table/selection/selection-control.js +10 -2
  328. package/table/selection/selection-control.js.map +1 -1
  329. package/table/thead.d.ts.map +1 -1
  330. package/table/thead.js +4 -1
  331. package/table/thead.js.map +1 -1
  332. package/test-utils/dom/property-filter/index.d.ts +10 -0
  333. package/test-utils/dom/property-filter/index.js +25 -1
  334. package/test-utils/dom/property-filter/index.js.map +1 -1
  335. package/test-utils/dom/select/index.d.ts +1 -0
  336. package/test-utils/dom/select/index.js +3 -0
  337. package/test-utils/dom/select/index.js.map +1 -1
  338. package/test-utils/selectors/property-filter/index.d.ts +10 -0
  339. package/test-utils/selectors/property-filter/index.js +25 -1
  340. package/test-utils/selectors/property-filter/index.js.map +1 -1
  341. package/test-utils/selectors/select/index.d.ts +1 -0
  342. package/test-utils/selectors/select/index.js +3 -0
  343. package/test-utils/selectors/select/index.js.map +1 -1
  344. package/test-utils/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/internal/plugins/api.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAA2B,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC7G,OAAO,EAAE,sBAAsB,EAAyB,MAAM,2BAA2B,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAqB,MAAM,uBAAuB,CAAC;AAIhG,UAAU,QAAQ;IAChB,YAAY,EAAE;QACZ,SAAS,EAAE,gBAAgB,CAAC;QAC5B,KAAK,EAAE,gBAAgB,CAAC;QACxB,QAAQ,EAAE,gBAAgB,CAAC;KAC5B,CAAC;IACF,oBAAoB,EAAE;QACpB,SAAS,EAAE,kBAAkB,CAAC;QAC9B,KAAK,EAAE,kBAAkB,CAAC;QAC1B,QAAQ,EAAE,kBAAkB,CAAC;QAC7B,WAAW,EAAE,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;KAC3D,CAAC;CACH;AAwBD,wBAAgB,OAAO,aAQtB;AAED,eAAO,MAAQ,YAAY;eA5CZ,gBAAgB;WACpB,gBAAgB;cACb,gBAAgB;GA0CD,oBAAoB;eAvClC,kBAAkB;WACtB,kBAAkB;cACf,kBAAkB;iBACf,uBAAuB,oBAAoB,CAAC;CAoCE,CAAC"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/internal/plugins/api.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAA2B,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC7G,OAAO,EAAE,0BAA0B,EAA6B,MAAM,iCAAiC,CAAC;AACxG,OAAO,EAAE,sBAAsB,EAAyB,MAAM,2BAA2B,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAqB,MAAM,uBAAuB,CAAC;AAIhG,UAAU,QAAQ;IAChB,YAAY,EAAE;QACZ,SAAS,EAAE,gBAAgB,CAAC;QAC5B,KAAK,EAAE,gBAAgB,CAAC;QACxB,QAAQ,EAAE,gBAAgB,CAAC;KAC5B,CAAC;IACF,oBAAoB,EAAE;QACpB,SAAS,EAAE,kBAAkB,CAAC;QAC9B,eAAe,EAAE,0BAA0B,CAAC;QAC5C,KAAK,EAAE,kBAAkB,CAAC;QAC1B,QAAQ,EAAE,kBAAkB,CAAC;QAC7B,WAAW,EAAE,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;KAC3D,CAAC;CACH;AAwBD,wBAAgB,OAAO,aAQtB;AAED,eAAO,MAAQ,YAAY;eA7CZ,gBAAgB;WACpB,gBAAgB;cACb,gBAAgB;GA2CD,oBAAoB;eAxClC,kBAAkB;qBACZ,0BAA0B;WACpC,kBAAkB;cACf,kBAAkB;iBACf,uBAAuB,oBAAoB,CAAC;CAoCE,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { ActionButtonsController } from './controllers/action-buttons';
2
+ import { AppLayoutWidgetController } from './controllers/app-layout-widget';
2
3
  import { BreadcrumbsController } from './controllers/breadcrumbs';
3
4
  import { DrawersController } from './controllers/drawers';
4
5
  const storageKey = Symbol.for('awsui-plugin-api');
@@ -35,6 +36,8 @@ function installApi(api) {
35
36
  const appLayoutDrawers = new DrawersController();
36
37
  api.awsuiPlugins.appLayout = appLayoutDrawers.installPublic(api.awsuiPlugins.appLayout);
37
38
  api.awsuiPluginsInternal.appLayout = appLayoutDrawers.installInternal(api.awsuiPluginsInternal.appLayout);
39
+ const appLayoutController = new AppLayoutWidgetController();
40
+ api.awsuiPluginsInternal.appLayoutWidget = appLayoutController.installInternal(api.awsuiPluginsInternal.appLayoutWidget);
38
41
  const alertActions = new ActionButtonsController();
39
42
  api.awsuiPlugins.alert = alertActions.installPublic(api.awsuiPlugins.alert);
40
43
  api.awsuiPluginsInternal.alert = alertActions.installInternal(api.awsuiPluginsInternal.alert);
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/internal/plugins/api.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAwC,MAAM,8BAA8B,CAAC;AAC7G,OAAO,EAA0B,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,OAAO,EAAwC,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEhG,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAoBlD,SAAS,SAAS,CAAC,aAA4B;IAC7C,IAAI;QACF,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,UAAU,CAAC,EAAE;YAC/B,OAAO,aAAa,CAAC,UAAU,CAAC,CAAC;SAClC;QAED,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,aAAa,EAAE;YAC5D,4DAA4D;YAC5D,OAAO,SAAS,CAAC;SAClB;QAED,OAAO,SAAS,CAAC,aAAa,CAAC,MAAuB,CAAC,CAAC;KACzD;IAAC,OAAO,EAAE,EAAE;QACX,0CAA0C;QAC1C,OAAO,SAAS,CAAC;KAClB;AACH,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;KACvB;IACD,MAAM,GAAG,GAAG,MAAkC,CAAC;IAC/C,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IACnC,GAAG,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,CAAC,CAAC;IAChD,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE,GAAG,OAAO,EAAE,CAAC;AAIhE,SAAS,UAAU,CAAC,GAA0B;;IAC5C,MAAA,GAAG,CAAC,YAAY,oCAAhB,GAAG,CAAC,YAAY,GAAK,EAAE,EAAC;IACxB,MAAA,GAAG,CAAC,oBAAoB,oCAAxB,GAAG,CAAC,oBAAoB,GAAK,EAAE,EAAC;IAEhC,MAAM,gBAAgB,GAAG,IAAI,iBAAiB,EAAE,CAAC;IACjD,GAAG,CAAC,YAAY,CAAC,SAAS,GAAG,gBAAgB,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACxF,GAAG,CAAC,oBAAoB,CAAC,SAAS,GAAG,gBAAgB,CAAC,eAAe,CAAC,GAAG,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAE1G,MAAM,YAAY,GAAG,IAAI,uBAAuB,EAAE,CAAC;IACnD,GAAG,CAAC,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC5E,GAAG,CAAC,oBAAoB,CAAC,KAAK,GAAG,YAAY,CAAC,eAAe,CAAC,GAAG,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAE9F,MAAM,eAAe,GAAG,IAAI,uBAAuB,EAAE,CAAC;IACtD,GAAG,CAAC,YAAY,CAAC,QAAQ,GAAG,eAAe,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACrF,GAAG,CAAC,oBAAoB,CAAC,QAAQ,GAAG,eAAe,CAAC,eAAe,CAAC,GAAG,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAEvG,MAAM,WAAW,GAAG,IAAI,qBAAqB,EAAwB,CAAC;IACtE,GAAG,CAAC,oBAAoB,CAAC,WAAW,GAAG,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAEzG,OAAO,GAAe,CAAC;AACzB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { BreadcrumbGroupProps } from '../../breadcrumb-group/interfaces';\nimport { ActionButtonsController, ActionsApiInternal, ActionsApiPublic } from './controllers/action-buttons';\nimport { BreadcrumbsApiInternal, BreadcrumbsController } from './controllers/breadcrumbs';\nimport { DrawersApiInternal, DrawersApiPublic, DrawersController } from './controllers/drawers';\n\nconst storageKey = Symbol.for('awsui-plugin-api');\n\ninterface AwsuiApi {\n awsuiPlugins: {\n appLayout: DrawersApiPublic;\n alert: ActionsApiPublic;\n flashbar: ActionsApiPublic;\n };\n awsuiPluginsInternal: {\n appLayout: DrawersApiInternal;\n alert: ActionsApiInternal;\n flashbar: ActionsApiInternal;\n breadcrumbs: BreadcrumbsApiInternal<BreadcrumbGroupProps>;\n };\n}\n\ninterface WindowWithApi extends Window {\n [storageKey]: AwsuiApi;\n}\n\nfunction findUpApi(currentWindow: WindowWithApi): AwsuiApi | undefined {\n try {\n if (currentWindow?.[storageKey]) {\n return currentWindow[storageKey];\n }\n\n if (!currentWindow || currentWindow.parent === currentWindow) {\n // When the window has no more parents, it references itself\n return undefined;\n }\n\n return findUpApi(currentWindow.parent as WindowWithApi);\n } catch (ex) {\n // Most likely a cross-origin access error\n return undefined;\n }\n}\n\nexport function loadApi() {\n if (typeof window === 'undefined') {\n return installApi({});\n }\n const win = window as unknown as WindowWithApi;\n const existingApi = findUpApi(win);\n win[storageKey] = installApi(existingApi ?? {});\n return win[storageKey];\n}\n\nexport const { awsuiPlugins, awsuiPluginsInternal } = loadApi();\n\ntype DeepPartial<T> = T extends (...args: any) => any ? T : { [P in keyof T]?: DeepPartial<T[P]> };\n\nfunction installApi(api: DeepPartial<AwsuiApi>): AwsuiApi {\n api.awsuiPlugins ??= {};\n api.awsuiPluginsInternal ??= {};\n\n const appLayoutDrawers = new DrawersController();\n api.awsuiPlugins.appLayout = appLayoutDrawers.installPublic(api.awsuiPlugins.appLayout);\n api.awsuiPluginsInternal.appLayout = appLayoutDrawers.installInternal(api.awsuiPluginsInternal.appLayout);\n\n const alertActions = new ActionButtonsController();\n api.awsuiPlugins.alert = alertActions.installPublic(api.awsuiPlugins.alert);\n api.awsuiPluginsInternal.alert = alertActions.installInternal(api.awsuiPluginsInternal.alert);\n\n const flashbarActions = new ActionButtonsController();\n api.awsuiPlugins.flashbar = flashbarActions.installPublic(api.awsuiPlugins.flashbar);\n api.awsuiPluginsInternal.flashbar = flashbarActions.installInternal(api.awsuiPluginsInternal.flashbar);\n\n const breadcrumbs = new BreadcrumbsController<BreadcrumbGroupProps>();\n api.awsuiPluginsInternal.breadcrumbs = breadcrumbs.installInternal(api.awsuiPluginsInternal.breadcrumbs);\n\n return api as AwsuiApi;\n}\n"]}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/internal/plugins/api.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { BreadcrumbGroupProps } from '../../breadcrumb-group/interfaces';\nimport { ActionButtonsController, ActionsApiInternal, ActionsApiPublic } from './controllers/action-buttons';\nimport { AppLayoutWidgetApiInternal, AppLayoutWidgetController } from './controllers/app-layout-widget';\nimport { BreadcrumbsApiInternal, BreadcrumbsController } from './controllers/breadcrumbs';\nimport { DrawersApiInternal, DrawersApiPublic, DrawersController } from './controllers/drawers';\n\nconst storageKey = Symbol.for('awsui-plugin-api');\n\ninterface AwsuiApi {\n awsuiPlugins: {\n appLayout: DrawersApiPublic;\n alert: ActionsApiPublic;\n flashbar: ActionsApiPublic;\n };\n awsuiPluginsInternal: {\n appLayout: DrawersApiInternal;\n appLayoutWidget: AppLayoutWidgetApiInternal;\n alert: ActionsApiInternal;\n flashbar: ActionsApiInternal;\n breadcrumbs: BreadcrumbsApiInternal<BreadcrumbGroupProps>;\n };\n}\n\ninterface WindowWithApi extends Window {\n [storageKey]: AwsuiApi;\n}\n\nfunction findUpApi(currentWindow: WindowWithApi): AwsuiApi | undefined {\n try {\n if (currentWindow?.[storageKey]) {\n return currentWindow[storageKey];\n }\n\n if (!currentWindow || currentWindow.parent === currentWindow) {\n // When the window has no more parents, it references itself\n return undefined;\n }\n\n return findUpApi(currentWindow.parent as WindowWithApi);\n } catch (ex) {\n // Most likely a cross-origin access error\n return undefined;\n }\n}\n\nexport function loadApi() {\n if (typeof window === 'undefined') {\n return installApi({});\n }\n const win = window as unknown as WindowWithApi;\n const existingApi = findUpApi(win);\n win[storageKey] = installApi(existingApi ?? {});\n return win[storageKey];\n}\n\nexport const { awsuiPlugins, awsuiPluginsInternal } = loadApi();\n\ntype DeepPartial<T> = T extends (...args: any) => any ? T : { [P in keyof T]?: DeepPartial<T[P]> };\n\nfunction installApi(api: DeepPartial<AwsuiApi>): AwsuiApi {\n api.awsuiPlugins ??= {};\n api.awsuiPluginsInternal ??= {};\n\n const appLayoutDrawers = new DrawersController();\n api.awsuiPlugins.appLayout = appLayoutDrawers.installPublic(api.awsuiPlugins.appLayout);\n api.awsuiPluginsInternal.appLayout = appLayoutDrawers.installInternal(api.awsuiPluginsInternal.appLayout);\n\n const appLayoutController = new AppLayoutWidgetController();\n api.awsuiPluginsInternal.appLayoutWidget = appLayoutController.installInternal(\n api.awsuiPluginsInternal.appLayoutWidget\n );\n\n const alertActions = new ActionButtonsController();\n api.awsuiPlugins.alert = alertActions.installPublic(api.awsuiPlugins.alert);\n api.awsuiPluginsInternal.alert = alertActions.installInternal(api.awsuiPluginsInternal.alert);\n\n const flashbarActions = new ActionButtonsController();\n api.awsuiPlugins.flashbar = flashbarActions.installPublic(api.awsuiPlugins.flashbar);\n api.awsuiPluginsInternal.flashbar = flashbarActions.installInternal(api.awsuiPluginsInternal.flashbar);\n\n const breadcrumbs = new BreadcrumbsController<BreadcrumbGroupProps>();\n api.awsuiPluginsInternal.breadcrumbs = breadcrumbs.installInternal(api.awsuiPluginsInternal.breadcrumbs);\n\n return api as AwsuiApi;\n}\n"]}
@@ -0,0 +1,33 @@
1
+ interface PrimaryRegistration<Props> {
2
+ type: 'primary';
3
+ discoveredProps: Array<Props>;
4
+ }
5
+ interface SecondaryRegistration<Props> {
6
+ type: 'secondary';
7
+ update: (props: Props) => void;
8
+ }
9
+ export type RegistrationState<Props> = PrimaryRegistration<Props> | SecondaryRegistration<Props>;
10
+ export type RegistrationType = RegistrationState<unknown>['type'];
11
+ type RegistrationChangeHandler<Props> = (registration: PrimaryRegistration<Props> | SecondaryRegistration<Props>) => void;
12
+ interface RegistrationInternal<Props> {
13
+ forceType: RegistrationType | undefined;
14
+ props: Props;
15
+ secondaryInstance: SecondaryRegistration<Props>;
16
+ onChange: (registration: PrimaryRegistration<Props> | SecondaryRegistration<Props>) => void;
17
+ }
18
+ export interface AppLayoutWidgetApiInternal<Props = unknown> {
19
+ register(forceDeduplicationType: RegistrationType | undefined, onPropsChange: RegistrationChangeHandler<Props>): () => void;
20
+ getStateForTesting(): {
21
+ registrations: Array<RegistrationInternal<Props>>;
22
+ };
23
+ }
24
+ export declare class AppLayoutWidgetController<Props = unknown> {
25
+ #private;
26
+ register: (forceType: RegistrationType | undefined, onRegistrationChange: RegistrationChangeHandler<Props>) => (() => void);
27
+ getStateForTesting: () => {
28
+ registrations: RegistrationInternal<Props>[];
29
+ };
30
+ installInternal: (internalApi?: Partial<AppLayoutWidgetApiInternal<Props>>) => AppLayoutWidgetApiInternal<Props>;
31
+ }
32
+ export {};
33
+ //# sourceMappingURL=app-layout-widget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-layout-widget.d.ts","sourceRoot":"","sources":["../../../../../src/internal/plugins/controllers/app-layout-widget.ts"],"names":[],"mappings":"AAIA,UAAU,mBAAmB,CAAC,KAAK;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;CAC/B;AAED,UAAU,qBAAqB,CAAC,KAAK;IACnC,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAChC;AAED,MAAM,MAAM,iBAAiB,CAAC,KAAK,IAAI,mBAAmB,CAAC,KAAK,CAAC,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;AACjG,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,KAAK,yBAAyB,CAAC,KAAK,IAAI,CACtC,YAAY,EAAE,mBAAmB,CAAC,KAAK,CAAC,GAAG,qBAAqB,CAAC,KAAK,CAAC,KACpE,IAAI,CAAC;AAEV,UAAU,oBAAoB,CAAC,KAAK;IAClC,SAAS,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACxC,KAAK,EAAE,KAAK,CAAC;IACb,iBAAiB,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAChD,QAAQ,EAAE,CAAC,YAAY,EAAE,mBAAmB,CAAC,KAAK,CAAC,GAAG,qBAAqB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;CAC7F;AAED,MAAM,WAAW,0BAA0B,CAAC,KAAK,GAAG,OAAO;IACzD,QAAQ,CACN,sBAAsB,EAAE,gBAAgB,GAAG,SAAS,EACpD,aAAa,EAAE,yBAAyB,CAAC,KAAK,CAAC,GAC9C,MAAM,IAAI,CAAC;IACd,kBAAkB,IAAI;QAAE,aAAa,EAAE,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAA;KAAE,CAAC;CAC7E;AAED,qBAAa,yBAAyB,CAAC,KAAK,GAAG,OAAO;;IAmCpD,QAAQ,cACK,gBAAgB,GAAG,SAAS,wBACjB,0BAA0B,KAAK,CAAC,KACrD,CAAC,MAAM,IAAI,CAAC,CA0Bb;IAEF,kBAAkB;;MAIhB;IAEF,eAAe,iBACA,QAAQ,2BAA2B,KAAK,CAAC,CAAC,KACtD,2BAA2B,KAAK,CAAC,CAIlC;CACH"}
@@ -0,0 +1,77 @@
1
+ var _AppLayoutWidgetController_registrations, _AppLayoutWidgetController_findPrimary, _AppLayoutWidgetController_update, _AppLayoutWidgetController_scheduleUpdate;
2
+ import { __classPrivateFieldGet } from "tslib";
3
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ // SPDX-License-Identifier: Apache-2.0
5
+ import debounce from '../../debounce';
6
+ export class AppLayoutWidgetController {
7
+ constructor() {
8
+ _AppLayoutWidgetController_registrations.set(this, []);
9
+ _AppLayoutWidgetController_findPrimary.set(this, () => {
10
+ const forcedPrimary = __classPrivateFieldGet(this, _AppLayoutWidgetController_registrations, "f").find(registration => registration.forceType === 'primary');
11
+ if (forcedPrimary) {
12
+ return forcedPrimary;
13
+ }
14
+ for (const registration of __classPrivateFieldGet(this, _AppLayoutWidgetController_registrations, "f").slice().reverse()) {
15
+ if (registration.forceType !== 'secondary') {
16
+ return registration;
17
+ }
18
+ }
19
+ return undefined;
20
+ });
21
+ _AppLayoutWidgetController_update.set(this, () => {
22
+ const primary = __classPrivateFieldGet(this, _AppLayoutWidgetController_findPrimary, "f").call(this);
23
+ const discoveredProps = __classPrivateFieldGet(this, _AppLayoutWidgetController_registrations, "f")
24
+ .filter(registration => registration !== primary)
25
+ .map(registration => registration.props);
26
+ for (const registration of __classPrivateFieldGet(this, _AppLayoutWidgetController_registrations, "f")) {
27
+ if (registration === primary) {
28
+ registration.onChange({
29
+ type: 'primary',
30
+ discoveredProps,
31
+ });
32
+ }
33
+ else {
34
+ registration.onChange(registration.secondaryInstance);
35
+ }
36
+ }
37
+ });
38
+ _AppLayoutWidgetController_scheduleUpdate.set(this, debounce(() => __classPrivateFieldGet(this, _AppLayoutWidgetController_update, "f").call(this), 0));
39
+ this.register = (forceType, onRegistrationChange) => {
40
+ const hasForcedPrimary = __classPrivateFieldGet(this, _AppLayoutWidgetController_registrations, "f").some(instance => instance.forceType === 'primary');
41
+ if (forceType === 'primary' && hasForcedPrimary) {
42
+ throw new Error('Double primary registration attempt');
43
+ }
44
+ const registration = {
45
+ forceType,
46
+ onChange: onRegistrationChange,
47
+ props: {},
48
+ secondaryInstance: {
49
+ type: 'secondary',
50
+ update: props => {
51
+ registration.props = props;
52
+ __classPrivateFieldGet(this, _AppLayoutWidgetController_scheduleUpdate, "f").call(this);
53
+ },
54
+ },
55
+ };
56
+ __classPrivateFieldGet(this, _AppLayoutWidgetController_registrations, "f").push(registration);
57
+ __classPrivateFieldGet(this, _AppLayoutWidgetController_update, "f").call(this);
58
+ return () => {
59
+ __classPrivateFieldGet(this, _AppLayoutWidgetController_registrations, "f").splice(__classPrivateFieldGet(this, _AppLayoutWidgetController_registrations, "f").indexOf(registration), 1);
60
+ __classPrivateFieldGet(this, _AppLayoutWidgetController_scheduleUpdate, "f").call(this);
61
+ };
62
+ };
63
+ this.getStateForTesting = () => {
64
+ return {
65
+ registrations: __classPrivateFieldGet(this, _AppLayoutWidgetController_registrations, "f"),
66
+ };
67
+ };
68
+ this.installInternal = (internalApi = {}) => {
69
+ var _a, _b;
70
+ (_a = internalApi.register) !== null && _a !== void 0 ? _a : (internalApi.register = this.register);
71
+ (_b = internalApi.getStateForTesting) !== null && _b !== void 0 ? _b : (internalApi.getStateForTesting = this.getStateForTesting);
72
+ return internalApi;
73
+ };
74
+ }
75
+ }
76
+ _AppLayoutWidgetController_registrations = new WeakMap(), _AppLayoutWidgetController_findPrimary = new WeakMap(), _AppLayoutWidgetController_update = new WeakMap(), _AppLayoutWidgetController_scheduleUpdate = new WeakMap();
77
+ //# sourceMappingURL=app-layout-widget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-layout-widget.js","sourceRoot":"","sources":["../../../../../src/internal/plugins/controllers/app-layout-widget.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport debounce from '../../debounce';\n\ninterface PrimaryRegistration<Props> {\n type: 'primary';\n discoveredProps: Array<Props>;\n}\n\ninterface SecondaryRegistration<Props> {\n type: 'secondary';\n update: (props: Props) => void;\n}\n\nexport type RegistrationState<Props> = PrimaryRegistration<Props> | SecondaryRegistration<Props>;\nexport type RegistrationType = RegistrationState<unknown>['type'];\n\ntype RegistrationChangeHandler<Props> = (\n registration: PrimaryRegistration<Props> | SecondaryRegistration<Props>\n) => void;\n\ninterface RegistrationInternal<Props> {\n forceType: RegistrationType | undefined;\n props: Props;\n secondaryInstance: SecondaryRegistration<Props>;\n onChange: (registration: PrimaryRegistration<Props> | SecondaryRegistration<Props>) => void;\n}\n\nexport interface AppLayoutWidgetApiInternal<Props = unknown> {\n register(\n forceDeduplicationType: RegistrationType | undefined,\n onPropsChange: RegistrationChangeHandler<Props>\n ): () => void;\n getStateForTesting(): { registrations: Array<RegistrationInternal<Props>> };\n}\n\nexport class AppLayoutWidgetController<Props = unknown> {\n #registrations: Array<RegistrationInternal<Props>> = [];\n\n #findPrimary = () => {\n const forcedPrimary = this.#registrations.find(registration => registration.forceType === 'primary');\n if (forcedPrimary) {\n return forcedPrimary;\n }\n for (const registration of this.#registrations.slice().reverse()) {\n if (registration.forceType !== 'secondary') {\n return registration;\n }\n }\n return undefined;\n };\n\n #update = () => {\n const primary = this.#findPrimary();\n const discoveredProps = this.#registrations\n .filter(registration => registration !== primary)\n .map(registration => registration.props);\n for (const registration of this.#registrations) {\n if (registration === primary) {\n registration.onChange({\n type: 'primary',\n discoveredProps,\n });\n } else {\n registration.onChange(registration.secondaryInstance);\n }\n }\n };\n\n #scheduleUpdate = debounce(() => this.#update(), 0);\n\n register = (\n forceType: RegistrationType | undefined,\n onRegistrationChange: RegistrationChangeHandler<Props>\n ): (() => void) => {\n const hasForcedPrimary = this.#registrations.some(instance => instance.forceType === 'primary');\n if (forceType === 'primary' && hasForcedPrimary) {\n throw new Error('Double primary registration attempt');\n }\n\n const registration: RegistrationInternal<Props> = {\n forceType,\n onChange: onRegistrationChange,\n props: {} as Props,\n secondaryInstance: {\n type: 'secondary',\n update: props => {\n registration.props = props;\n this.#scheduleUpdate();\n },\n },\n };\n this.#registrations.push(registration);\n\n this.#update();\n\n return () => {\n this.#registrations.splice(this.#registrations.indexOf(registration), 1);\n this.#scheduleUpdate();\n };\n };\n\n getStateForTesting = () => {\n return {\n registrations: this.#registrations,\n };\n };\n\n installInternal = (\n internalApi: Partial<AppLayoutWidgetApiInternal<Props>> = {}\n ): AppLayoutWidgetApiInternal<Props> => {\n internalApi.register ??= this.register;\n internalApi.getStateForTesting ??= this.getStateForTesting;\n return internalApi as AppLayoutWidgetApiInternal<Props>;\n };\n}\n"]}
@@ -1,4 +1,4 @@
1
1
  import { BreadcrumbGroupProps } from '../../../breadcrumb-group/interfaces';
2
2
  export declare function useSetGlobalBreadcrumbs<T extends BreadcrumbGroupProps.Item>(props: BreadcrumbGroupProps<T>): boolean;
3
- export declare function useGetGlobalBreadcrumbs(): BreadcrumbGroupProps<any> | null;
3
+ export declare function useGetGlobalBreadcrumbs(enabled: boolean): BreadcrumbGroupProps<any> | null;
4
4
  //# sourceMappingURL=use-global-breadcrumbs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-global-breadcrumbs.d.ts","sourceRoot":"","sources":["../../../../../src/internal/plugins/helpers/use-global-breadcrumbs.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AA0B5E,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,WAQ1G;AAED,wBAAgB,uBAAuB,qCAUtC"}
1
+ {"version":3,"file":"use-global-breadcrumbs.d.ts","sourceRoot":"","sources":["../../../../../src/internal/plugins/helpers/use-global-breadcrumbs.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AA0B5E,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,WAQ1G;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,oCAavD"}
@@ -30,13 +30,16 @@ export function useSetGlobalBreadcrumbs(props) {
30
30
  // eslint-disable-next-line react-hooks/rules-of-hooks
31
31
  return useSetGlobalBreadcrumbsImplementation(props);
32
32
  }
33
- export function useGetGlobalBreadcrumbs() {
33
+ export function useGetGlobalBreadcrumbs(enabled) {
34
34
  const [discoveredBreadcrumbs, setDiscoveredBreadcrumbs] = useState(null);
35
35
  useEffect(() => {
36
+ if (!enabled) {
37
+ return;
38
+ }
36
39
  return awsuiPluginsInternal.breadcrumbs.registerAppLayout(breadcrumbs => {
37
40
  setDiscoveredBreadcrumbs(breadcrumbs);
38
41
  });
39
- }, []);
42
+ }, [enabled]);
40
43
  return discoveredBreadcrumbs;
41
44
  }
42
45
  //# sourceMappingURL=use-global-breadcrumbs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-global-breadcrumbs.js","sourceRoot":"","sources":["../../../../../src/internal/plugins/helpers/use-global-breadcrumbs.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAErE,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAG9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAG9C,SAAS,qCAAqC,CAAC,KAAgC;IAC7E,MAAM,eAAe,GAAG,MAAM,EAA8D,CAAC;IAC7F,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,oBAAoB,CAAC,WAAW,CAAC,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5G,eAAe,CAAC,OAAO,GAAG,YAAY,CAAC;QAEvC,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC,CAAC;QACF,wDAAwD;QACxD,uDAAuD;IACzD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,eAAe,CAAC,GAAG,EAAE;;QACnB,MAAA,eAAe,CAAC,OAAO,0CAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAsC,KAA8B;IACzG,gEAAgE;IAChE,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE;QACrC,OAAO,KAAK,CAAC;KACd;IACD,iEAAiE;IACjE,sDAAsD;IACtD,OAAO,qCAAqC,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,QAAQ,CAAmC,IAAI,CAAC,CAAC;IAE3G,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE;YACtE,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,qBAAqB,CAAC;AAC/B,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useEffect, useLayoutEffect, useRef, useState } from 'react';\n\nimport { getGlobalFlag } from '@cloudscape-design/component-toolkit/internal';\n\nimport { BreadcrumbGroupProps } from '../../../breadcrumb-group/interfaces';\nimport { awsuiPluginsInternal } from '../api';\nimport { BreadcrumbsGlobalRegistration } from '../controllers/breadcrumbs';\n\nfunction useSetGlobalBreadcrumbsImplementation(props: BreadcrumbGroupProps<any>) {\n const registrationRef = useRef<BreadcrumbsGlobalRegistration<BreadcrumbGroupProps> | null>();\n const [registered, setRegistered] = useState(false);\n\n useEffect(() => {\n const registration = awsuiPluginsInternal.breadcrumbs.registerBreadcrumbs(props, () => setRegistered(true));\n registrationRef.current = registration;\n\n return () => {\n registration.cleanup();\n };\n // subsequent prop changes are handled by another effect\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useLayoutEffect(() => {\n registrationRef.current?.update(props);\n });\n\n return registered;\n}\n\nexport function useSetGlobalBreadcrumbs<T extends BreadcrumbGroupProps.Item>(props: BreadcrumbGroupProps<T>) {\n // avoid additional side effects when this feature is not active\n if (!getGlobalFlag('appLayoutWidget')) {\n return false;\n }\n // getGlobalFlag() value does not change without full page reload\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return useSetGlobalBreadcrumbsImplementation(props);\n}\n\nexport function useGetGlobalBreadcrumbs() {\n const [discoveredBreadcrumbs, setDiscoveredBreadcrumbs] = useState<BreadcrumbGroupProps<any> | null>(null);\n\n useEffect(() => {\n return awsuiPluginsInternal.breadcrumbs.registerAppLayout(breadcrumbs => {\n setDiscoveredBreadcrumbs(breadcrumbs);\n });\n }, []);\n\n return discoveredBreadcrumbs;\n}\n"]}
1
+ {"version":3,"file":"use-global-breadcrumbs.js","sourceRoot":"","sources":["../../../../../src/internal/plugins/helpers/use-global-breadcrumbs.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAErE,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAG9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAG9C,SAAS,qCAAqC,CAAC,KAAgC;IAC7E,MAAM,eAAe,GAAG,MAAM,EAA8D,CAAC;IAC7F,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,oBAAoB,CAAC,WAAW,CAAC,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5G,eAAe,CAAC,OAAO,GAAG,YAAY,CAAC;QAEvC,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC,CAAC;QACF,wDAAwD;QACxD,uDAAuD;IACzD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,eAAe,CAAC,GAAG,EAAE;;QACnB,MAAA,eAAe,CAAC,OAAO,0CAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAsC,KAA8B;IACzG,gEAAgE;IAChE,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE;QACrC,OAAO,KAAK,CAAC;KACd;IACD,iEAAiE;IACjE,sDAAsD;IACtD,OAAO,qCAAqC,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,QAAQ,CAAmC,IAAI,CAAC,CAAC;IAE3G,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QACD,OAAO,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE;YACtE,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,qBAAqB,CAAC;AAC/B,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useEffect, useLayoutEffect, useRef, useState } from 'react';\n\nimport { getGlobalFlag } from '@cloudscape-design/component-toolkit/internal';\n\nimport { BreadcrumbGroupProps } from '../../../breadcrumb-group/interfaces';\nimport { awsuiPluginsInternal } from '../api';\nimport { BreadcrumbsGlobalRegistration } from '../controllers/breadcrumbs';\n\nfunction useSetGlobalBreadcrumbsImplementation(props: BreadcrumbGroupProps<any>) {\n const registrationRef = useRef<BreadcrumbsGlobalRegistration<BreadcrumbGroupProps> | null>();\n const [registered, setRegistered] = useState(false);\n\n useEffect(() => {\n const registration = awsuiPluginsInternal.breadcrumbs.registerBreadcrumbs(props, () => setRegistered(true));\n registrationRef.current = registration;\n\n return () => {\n registration.cleanup();\n };\n // subsequent prop changes are handled by another effect\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useLayoutEffect(() => {\n registrationRef.current?.update(props);\n });\n\n return registered;\n}\n\nexport function useSetGlobalBreadcrumbs<T extends BreadcrumbGroupProps.Item>(props: BreadcrumbGroupProps<T>) {\n // avoid additional side effects when this feature is not active\n if (!getGlobalFlag('appLayoutWidget')) {\n return false;\n }\n // getGlobalFlag() value does not change without full page reload\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return useSetGlobalBreadcrumbsImplementation(props);\n}\n\nexport function useGetGlobalBreadcrumbs(enabled: boolean) {\n const [discoveredBreadcrumbs, setDiscoveredBreadcrumbs] = useState<BreadcrumbGroupProps<any> | null>(null);\n\n useEffect(() => {\n if (!enabled) {\n return;\n }\n return awsuiPluginsInternal.breadcrumbs.registerAppLayout(breadcrumbs => {\n setDiscoveredBreadcrumbs(breadcrumbs);\n });\n }, [enabled]);\n\n return discoveredBreadcrumbs;\n}\n"]}
@@ -0,0 +1,21 @@
1
+ import { LabelIdentifier } from '@cloudscape-design/component-toolkit/internal/analytics-metadata/interfaces';
2
+ interface GeneratedAnalyticsMetadataLinkClick {
3
+ action: 'click';
4
+ detail: {
5
+ label: string | LabelIdentifier;
6
+ href?: string;
7
+ external: string;
8
+ };
9
+ }
10
+ interface GeneratedAnalyticsMetadataLinkComponent {
11
+ name: 'awsui.Link';
12
+ label: string | LabelIdentifier;
13
+ properties: {
14
+ variant: string;
15
+ };
16
+ }
17
+ export interface GeneratedAnalyticsMetadataLinkFragment extends GeneratedAnalyticsMetadataLinkClick {
18
+ component?: GeneratedAnalyticsMetadataLinkComponent;
19
+ }
20
+ export {};
21
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/link/analytics-metadata/interfaces.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,6EAA6E,CAAC;AAE9G,UAAU,mCAAmC;IAC3C,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;QAChC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,UAAU,uCAAuC;IAC/C,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC;IAChC,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,sCAAuC,SAAQ,mCAAmC;IACjG,SAAS,CAAC,EAAE,uCAAuC,CAAC;CACrD"}
@@ -0,0 +1,4 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export {};
4
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/link/analytics-metadata/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 { LabelIdentifier } from '@cloudscape-design/component-toolkit/internal/analytics-metadata/interfaces';\n\ninterface GeneratedAnalyticsMetadataLinkClick {\n action: 'click';\n detail: {\n label: string | LabelIdentifier;\n href?: string;\n external: string;\n };\n}\n\ninterface GeneratedAnalyticsMetadataLinkComponent {\n name: 'awsui.Link';\n label: string | LabelIdentifier;\n properties: {\n variant: string;\n };\n}\n\nexport interface GeneratedAnalyticsMetadataLinkFragment extends GeneratedAnalyticsMetadataLinkClick {\n component?: GeneratedAnalyticsMetadataLinkComponent;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/link/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,QAAA,MAAM,IAAI,iFAgBT,CAAC;AAGF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/link/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,QAAA,MAAM,IAAI,iFAmCT,CAAC;AAGF,eAAe,IAAI,CAAC"}
package/link/index.js CHANGED
@@ -2,6 +2,7 @@ import { __rest } from "tslib";
2
2
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  import React from 'react';
5
+ import { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';
5
6
  import useBaseComponent from '../internal/hooks/use-base-component';
6
7
  import { applyDisplayName } from '../internal/utils/apply-display-name';
7
8
  import InternalLink from './internal';
@@ -10,7 +11,22 @@ const Link = React.forwardRef((_a, ref) => {
10
11
  const baseComponentProps = useBaseComponent('Link', {
11
12
  props: { color, external, fontSize, rel: props.rel, target: props.target, variant: props.variant },
12
13
  });
13
- return (React.createElement(InternalLink, Object.assign({ fontSize: fontSize, color: color, external: external }, props, baseComponentProps, { ref: ref })));
14
+ const analyticsMetadata = {
15
+ action: 'click',
16
+ detail: {
17
+ label: '',
18
+ external: `${external}`,
19
+ },
20
+ component: {
21
+ name: 'awsui.Link',
22
+ label: '',
23
+ properties: { variant: props.variant || 'secondary' },
24
+ },
25
+ };
26
+ if (props.href) {
27
+ analyticsMetadata.detail.href = props.href;
28
+ }
29
+ return (React.createElement(InternalLink, Object.assign({ fontSize: fontSize, color: color, external: external }, props, baseComponentProps, { ref: ref }, getAnalyticsMetadataAttribute(analyticsMetadata))));
14
30
  });
15
31
  applyDisplayName(Link, 'Link');
16
32
  export default Link;
package/link/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/link/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,YAAY,MAAM,YAAY,CAAC;AAItC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAC3B,CAAC,EAAgF,EAAE,GAA6B,EAAE,EAAE;QAAnH,EAAE,QAAQ,GAAG,QAAQ,EAAE,KAAK,GAAG,QAAQ,EAAE,QAAQ,GAAG,KAAK,OAAuB,EAAlB,KAAK,cAAnE,iCAAqE,CAAF;IAClE,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,MAAM,EAAE;QAClD,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;KACnG,CAAC,CAAC;IACH,OAAO,CACL,oBAAC,YAAY,kBACX,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,IACd,KAAK,EACL,kBAAkB,IACtB,GAAG,EAAE,GAAG,IACR,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC/B,eAAe,IAAI,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { LinkProps } from './interfaces';\nimport InternalLink from './internal';\n\nexport { LinkProps };\n\nconst Link = React.forwardRef(\n ({ fontSize = 'body-m', color = 'normal', external = false, ...props }: LinkProps, ref: React.Ref<LinkProps.Ref>) => {\n const baseComponentProps = useBaseComponent('Link', {\n props: { color, external, fontSize, rel: props.rel, target: props.target, variant: props.variant },\n });\n return (\n <InternalLink\n fontSize={fontSize}\n color={color}\n external={external}\n {...props}\n {...baseComponentProps}\n ref={ref}\n />\n );\n }\n);\n\napplyDisplayName(Link, 'Link');\nexport default Link;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/link/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,6BAA6B,EAAE,MAAM,kEAAkE,CAAC;AAEjH,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,OAAO,YAAY,MAAM,YAAY,CAAC;AAItC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAC3B,CAAC,EAAgF,EAAE,GAA6B,EAAE,EAAE;QAAnH,EAAE,QAAQ,GAAG,QAAQ,EAAE,KAAK,GAAG,QAAQ,EAAE,QAAQ,GAAG,KAAK,OAAuB,EAAlB,KAAK,cAAnE,iCAAqE,CAAF;IAClE,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,MAAM,EAAE;QAClD,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;KACnG,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAA2C;QAChE,MAAM,EAAE,OAAO;QACf,MAAM,EAAE;YACN,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE,GAAG,QAAQ,EAAE;SACxB;QACD,SAAS,EAAE;YACT,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,WAAW,EAAE;SACtD;KACF,CAAC;IAEF,IAAI,KAAK,CAAC,IAAI,EAAE;QACd,iBAAiB,CAAC,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;KAC5C;IAED,OAAO,CACL,oBAAC,YAAY,kBACX,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,IACd,KAAK,EACL,kBAAkB,IACtB,GAAG,EAAE,GAAG,IACJ,6BAA6B,CAAC,iBAAiB,CAAC,EACpD,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC/B,eAAe,IAAI,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { GeneratedAnalyticsMetadataLinkFragment } from './analytics-metadata/interfaces';\nimport { LinkProps } from './interfaces';\nimport InternalLink from './internal';\n\nexport { LinkProps };\n\nconst Link = React.forwardRef(\n ({ fontSize = 'body-m', color = 'normal', external = false, ...props }: LinkProps, ref: React.Ref<LinkProps.Ref>) => {\n const baseComponentProps = useBaseComponent('Link', {\n props: { color, external, fontSize, rel: props.rel, target: props.target, variant: props.variant },\n });\n\n const analyticsMetadata: GeneratedAnalyticsMetadataLinkFragment = {\n action: 'click',\n detail: {\n label: '',\n external: `${external}`,\n },\n component: {\n name: 'awsui.Link',\n label: '',\n properties: { variant: props.variant || 'secondary' },\n },\n };\n\n if (props.href) {\n analyticsMetadata.detail.href = props.href;\n }\n\n return (\n <InternalLink\n fontSize={fontSize}\n color={color}\n external={external}\n {...props}\n {...baseComponentProps}\n ref={ref}\n {...getAnalyticsMetadataAttribute(analyticsMetadata)}\n />\n );\n }\n);\n\napplyDisplayName(Link, 'Link');\nexport default Link;\n"]}
package/package.json CHANGED
@@ -124,7 +124,7 @@
124
124
  "./internal/base-component/index.js",
125
125
  "./internal/base-component/styles.css.js"
126
126
  ],
127
- "version": "3.0.693",
127
+ "version": "3.0.695",
128
128
  "repository": {
129
129
  "type": "git",
130
130
  "url": "https://github.com/cloudscape-design/components.git"
@@ -0,0 +1,17 @@
1
+ export interface GeneratedAnalyticsMetadataPaginationClick {
2
+ action: 'click';
3
+ detail: {
4
+ label: string;
5
+ position?: string;
6
+ };
7
+ }
8
+ export interface GeneratedAnalyticsMetadataPaginationComponent {
9
+ name: 'awsui.Pagination';
10
+ label: string;
11
+ properties: {
12
+ openEnd: string;
13
+ pagesCount: string;
14
+ currentPageIndex: string;
15
+ };
16
+ }
17
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/pagination/analytics-metadata/interfaces.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,yCAAyC;IACxD,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,6CAA6C;IAC5D,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH"}
@@ -0,0 +1,4 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export {};
4
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/pagination/analytics-metadata/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\nexport interface GeneratedAnalyticsMetadataPaginationClick {\n action: 'click';\n detail: {\n label: string;\n position?: string;\n };\n}\n\nexport interface GeneratedAnalyticsMetadataPaginationComponent {\n name: 'awsui.Pagination';\n label: string;\n properties: {\n openEnd: string;\n pagesCount: string;\n currentPageIndex: string;\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pagination/index.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,EAAE,eAAe,eAGxD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pagination/index.tsx"],"names":[],"mappings":";AASA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAK,EAAE,eAAe,eAmBxD"}
@@ -1,12 +1,23 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import React from 'react';
4
+ import { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';
4
5
  import useBaseComponent from '../internal/hooks/use-base-component';
5
6
  import { applyDisplayName } from '../internal/utils/apply-display-name';
6
7
  import InternalPagination from './internal';
7
8
  export default function Pagination(props) {
8
9
  const baseComponentProps = useBaseComponent('Pagination', { props: { openEnd: props.openEnd } });
9
- return React.createElement(InternalPagination, Object.assign({}, props, baseComponentProps));
10
+ return (React.createElement(InternalPagination, Object.assign({}, props, baseComponentProps, getAnalyticsMetadataAttribute({
11
+ component: {
12
+ name: 'awsui.Pagination',
13
+ label: '',
14
+ properties: {
15
+ openEnd: `${!!props.openEnd}`,
16
+ pagesCount: `${props.pagesCount || ''}`,
17
+ currentPageIndex: `${props.currentPageIndex}`,
18
+ },
19
+ },
20
+ }))));
10
21
  }
11
22
  applyDisplayName(Pagination, 'Pagination');
12
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pagination/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,OAAO,kBAAkB,MAAM,YAAY,CAAC;AAI5C,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAsB;IACvD,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACjG,OAAO,oBAAC,kBAAkB,oBAAK,KAAK,EAAM,kBAAkB,EAAI,CAAC;AACnE,CAAC;AAED,gBAAgB,CAAC,UAAU,EAAE,YAAY,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 useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { PaginationProps } from './interfaces';\nimport InternalPagination from './internal';\n\nexport { PaginationProps };\n\nexport default function Pagination(props: PaginationProps) {\n const baseComponentProps = useBaseComponent('Pagination', { props: { openEnd: props.openEnd } });\n return <InternalPagination {...props} {...baseComponentProps} />;\n}\n\napplyDisplayName(Pagination, 'Pagination');\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pagination/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,6BAA6B,EAAE,MAAM,kEAAkE,CAAC;AAEjH,OAAO,gBAAgB,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAGxE,OAAO,kBAAkB,MAAM,YAAY,CAAC;AAI5C,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,KAAsB;IACvD,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACjG,OAAO,CACL,oBAAC,kBAAkB,oBACb,KAAK,EACL,kBAAkB,EAClB,6BAA6B,CAAC;QAChC,SAAS,EAAE;YACT,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,EAAE;YACT,UAAU,EAAE;gBACV,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC7B,UAAU,EAAE,GAAG,KAAK,CAAC,UAAU,IAAI,EAAE,EAAE;gBACvC,gBAAgB,EAAE,GAAG,KAAK,CAAC,gBAAgB,EAAE;aAC9C;SAC+C;KACnD,CAAC,EACF,CACH,CAAC;AACJ,CAAC;AAED,gBAAgB,CAAC,UAAU,EAAE,YAAY,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 { getAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport useBaseComponent from '../internal/hooks/use-base-component';\nimport { applyDisplayName } from '../internal/utils/apply-display-name';\nimport { GeneratedAnalyticsMetadataPaginationComponent } from './analytics-metadata/interfaces';\nimport { PaginationProps } from './interfaces';\nimport InternalPagination from './internal';\n\nexport { PaginationProps };\n\nexport default function Pagination(props: PaginationProps) {\n const baseComponentProps = useBaseComponent('Pagination', { props: { openEnd: props.openEnd } });\n return (\n <InternalPagination\n {...props}\n {...baseComponentProps}\n {...getAnalyticsMetadataAttribute({\n component: {\n name: 'awsui.Pagination',\n label: '',\n properties: {\n openEnd: `${!!props.openEnd}`,\n pagesCount: `${props.pagesCount || ''}`,\n currentPageIndex: `${props.currentPageIndex}`,\n },\n } as GeneratedAnalyticsMetadataPaginationComponent,\n })}\n />\n );\n}\n\napplyDisplayName(Pagination, 'Pagination');\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/pagination/internal.tsx"],"names":[],"mappings":";AASA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAgE/C,KAAK,uBAAuB,GAAG,eAAe,GAAG,0BAA0B,CAAC;AAE5E,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACzC,OAAO,EACP,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,mBAAmB,EACnB,iBAAwB,EACxB,GAAG,IAAI,EACR,EAAE,uBAAuB,eAyFzB"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/pagination/internal.tsx"],"names":[],"mappings":";AAcA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAElF,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAoF/C,KAAK,uBAAuB,GAAG,eAAe,GAAG,0BAA0B,CAAC;AAE5E,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACzC,OAAO,EACP,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,mBAAmB,EACnB,iBAAwB,EACxB,GAAG,IAAI,EACR,EAAE,uBAAuB,eA0GzB"}
@@ -3,6 +3,7 @@ import { __rest } from "tslib";
3
3
  // SPDX-License-Identifier: Apache-2.0
4
4
  import React from 'react';
5
5
  import clsx from 'clsx';
6
+ import { copyAnalyticsMetadataAttribute, getAnalyticsMetadataAttribute, } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';
6
7
  import { useInternalI18n } from '../i18n/context';
7
8
  import InternalIcon from '../icon/internal';
8
9
  import { getBaseProps } from '../internal/base-component';
@@ -15,17 +16,31 @@ const defaultAriaLabels = {
15
16
  previousPageLabel: '',
16
17
  pageLabel: pageNumber => `${pageNumber}`,
17
18
  };
18
- function PageButton({ className, ariaLabel, disabled, pageIndex, isCurrent = false, children, onClick, }) {
19
+ function PageButton(_a) {
20
+ var { className, ariaLabel, disabled, pageIndex, isCurrent = false, children, onClick } = _a, rest = __rest(_a, ["className", "ariaLabel", "disabled", "pageIndex", "isCurrent", "children", "onClick"]);
19
21
  function handleClick(event) {
20
22
  event.preventDefault();
21
23
  onClick(pageIndex);
22
24
  }
23
- return (React.createElement("li", { className: styles['page-item'] },
24
- React.createElement("button", { className: clsx(className, styles.button, disabled && styles['button-disabled'], isCurrent && styles['button-current']), type: "button", "aria-label": ariaLabel, disabled: disabled, onClick: handleClick, "aria-current": isCurrent }, children)));
25
+ return (React.createElement("li", Object.assign({ className: styles['page-item'] }, copyAnalyticsMetadataAttribute(rest)),
26
+ React.createElement("button", Object.assign({ className: clsx(className, styles.button, disabled && styles['button-disabled'], isCurrent && styles['button-current']), type: "button", "aria-label": ariaLabel, disabled: disabled, onClick: handleClick, "aria-current": isCurrent }, (disabled
27
+ ? {}
28
+ : getAnalyticsMetadataAttribute({
29
+ action: 'click',
30
+ detail: {
31
+ label: '',
32
+ },
33
+ }))), children)));
25
34
  }
26
35
  function PageNumber(_a) {
27
36
  var { pageIndex } = _a, rest = __rest(_a, ["pageIndex"]);
28
- return (React.createElement(PageButton, Object.assign({ className: styles['page-number'], pageIndex: pageIndex }, rest), pageIndex));
37
+ return (React.createElement(PageButton, Object.assign({ className: styles['page-number'], pageIndex: pageIndex }, rest, (rest.disabled
38
+ ? {}
39
+ : getAnalyticsMetadataAttribute({
40
+ detail: {
41
+ position: `${pageIndex}`,
42
+ },
43
+ }))), pageIndex));
29
44
  }
30
45
  export default function InternalPagination(_a) {
31
46
  var _b, _c, _d;
@@ -54,15 +69,29 @@ export default function InternalPagination(_a) {
54
69
  function handlePageClick(requestedPageIndex) {
55
70
  fireNonCancelableEvent(onChange, { currentPageIndex: requestedPageIndex });
56
71
  }
72
+ const previousButtonDisabled = disabled || currentPageIndex === 1;
73
+ const nextButtonDisabled = disabled || (!openEnd && (pagesCount === 0 || currentPageIndex === pagesCount));
57
74
  return (React.createElement("ul", Object.assign({ "aria-label": paginationLabel }, baseProps, { className: clsx(baseProps.className, styles.root, disabled && styles['root-disabled']), ref: __internalRootRef }),
58
- React.createElement(PageButton, { className: styles.arrow, pageIndex: currentPageIndex - 1, ariaLabel: previousPageLabel !== null && previousPageLabel !== void 0 ? previousPageLabel : defaultAriaLabels.nextPageLabel, disabled: disabled || currentPageIndex === 1, onClick: handlePrevPageClick },
75
+ React.createElement(PageButton, Object.assign({ className: styles.arrow, pageIndex: currentPageIndex - 1, ariaLabel: previousPageLabel !== null && previousPageLabel !== void 0 ? previousPageLabel : defaultAriaLabels.nextPageLabel, disabled: previousButtonDisabled, onClick: handlePrevPageClick }, (previousButtonDisabled
76
+ ? {}
77
+ : getAnalyticsMetadataAttribute({
78
+ detail: {
79
+ position: 'prev',
80
+ },
81
+ }))),
59
82
  React.createElement(InternalIcon, { name: "angle-left", variant: disabled ? 'disabled' : 'normal' })),
60
83
  React.createElement(PageNumber, { pageIndex: 1, isCurrent: currentPageIndex === 1, disabled: disabled, ariaLabel: pageNumberLabelFn(1), onClick: handlePageClick }),
61
84
  leftDots && React.createElement("li", { className: styles.dots }, "..."),
62
85
  range(leftIndex, rightIndex).map(pageIndex => (React.createElement(PageNumber, { key: pageIndex, isCurrent: currentPageIndex === pageIndex, pageIndex: pageIndex, disabled: disabled, ariaLabel: pageNumberLabelFn(pageIndex), onClick: handlePageClick }))),
63
86
  rightDots && React.createElement("li", { className: styles.dots }, "..."),
64
87
  !openEnd && pagesCount > 1 && (React.createElement(PageNumber, { isCurrent: currentPageIndex === pagesCount, pageIndex: pagesCount, disabled: disabled, ariaLabel: pageNumberLabelFn(pagesCount), onClick: handlePageClick })),
65
- React.createElement(PageButton, { className: styles.arrow, pageIndex: currentPageIndex + 1, ariaLabel: nextPageLabel !== null && nextPageLabel !== void 0 ? nextPageLabel : defaultAriaLabels.nextPageLabel, disabled: disabled || (!openEnd && (pagesCount === 0 || currentPageIndex === pagesCount)), onClick: handleNextPageClick },
88
+ React.createElement(PageButton, Object.assign({ className: styles.arrow, pageIndex: currentPageIndex + 1, ariaLabel: nextPageLabel !== null && nextPageLabel !== void 0 ? nextPageLabel : defaultAriaLabels.nextPageLabel, disabled: nextButtonDisabled, onClick: handleNextPageClick }, (nextButtonDisabled
89
+ ? {}
90
+ : getAnalyticsMetadataAttribute({
91
+ detail: {
92
+ position: 'next',
93
+ },
94
+ }))),
66
95
  React.createElement(InternalIcon, { name: "angle-right", variant: disabled ? 'disabled' : 'normal' }))));
67
96
  }
68
97
  //# sourceMappingURL=internal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/pagination/internal.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,YAAY,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAG5D,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEpD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,MAAM,iBAAiB,GAAqC;IAC1D,aAAa,EAAE,EAAE;IACjB,eAAe,EAAE,EAAE;IACnB,iBAAiB,EAAE,EAAE;IACrB,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE;CACzC,CAAC;AAYF,SAAS,UAAU,CAAC,EAClB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,SAAS,EACT,SAAS,GAAG,KAAK,EACjB,QAAQ,EACR,OAAO,GACS;IAChB,SAAS,WAAW,CAAC,KAAuB;QAC1C,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,OAAO,CAAC,SAAS,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,CACL,4BAAI,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC;QAChC,gCACE,SAAS,EAAE,IAAI,CACb,SAAS,EACT,MAAM,CAAC,MAAM,EACb,QAAQ,IAAI,MAAM,CAAC,iBAAiB,CAAC,EACrC,SAAS,IAAI,MAAM,CAAC,gBAAgB,CAAC,CACtC,EACD,IAAI,EAAC,QAAQ,gBACD,SAAS,EACrB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,WAAW,kBACN,SAAS,IAEtB,QAAQ,CACF,CACN,CACN,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAAuC;QAAvC,EAAE,SAAS,OAA4B,EAAvB,IAAI,cAApB,aAAsB,CAAF;IACtC,OAAO,CACL,oBAAC,UAAU,kBAAC,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,SAAS,IAAM,IAAI,GACzE,SAAS,CACC,CACd,CAAC;AACJ,CAAC;AAID,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EAWjB;;QAXiB,EACzC,OAAO,EACP,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,mBAAmB,EACnB,iBAAiB,GAAG,IAAI,OAEA,EADrB,IAAI,cAVkC,kJAW1C,CADQ;IAEP,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAEjH,MAAM,IAAI,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;IAE3C,MAAM,eAAe,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,eAAe,CAAC;IACpD,MAAM,aAAa,GAAG,MAAA,IAAI,CAAC,0BAA0B,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,aAAa,CAAC,mCAAI,iBAAiB,CAAC,aAAa,CAAC;IACrH,MAAM,iBAAiB,GACrB,MAAA,IAAI,CAAC,8BAA8B,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,iBAAiB,CAAC,mCAAI,iBAAiB,CAAC,iBAAiB,CAAC;IAC7G,MAAM,iBAAiB,GACrB,MAAA,IAAI,CAAC,sBAAsB,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,mCACnG,iBAAiB,CAAC,SAAS,CAAC;IAE9B,SAAS,mBAAmB,CAAC,kBAA0B;QACrD,eAAe,CAAC,kBAAkB,CAAC,CAAC;QACpC,sBAAsB,CAAC,mBAAmB,EAAE;YAC1C,sBAAsB,EAAE,IAAI;YAC5B,kBAAkB,EAAE,kBAAkB;SACvC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,mBAAmB,CAAC,kBAA0B;QACrD,eAAe,CAAC,kBAAkB,CAAC,CAAC;QACpC,sBAAsB,CAAC,eAAe,EAAE;YACtC,sBAAsB,EAAE,gBAAgB,GAAG,UAAU;YACrD,kBAAkB,EAAE,kBAAkB;SACvC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,eAAe,CAAC,kBAA0B;QACjD,sBAAsB,CAAC,QAAQ,EAAE,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,CACL,wDACc,eAAe,IACvB,SAAS,IACb,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,EACtF,GAAG,EAAE,iBAAiB;QAEtB,oBAAC,UAAU,IACT,SAAS,EAAE,MAAM,CAAC,KAAK,EACvB,SAAS,EAAE,gBAAgB,GAAG,CAAC,EAC/B,SAAS,EAAE,iBAAiB,aAAjB,iBAAiB,cAAjB,iBAAiB,GAAI,iBAAiB,CAAC,aAAa,EAC/D,QAAQ,EAAE,QAAQ,IAAI,gBAAgB,KAAK,CAAC,EAC5C,OAAO,EAAE,mBAAmB;YAE5B,oBAAC,YAAY,IAAC,IAAI,EAAC,YAAY,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,GAAI,CAClE;QACb,oBAAC,UAAU,IACT,SAAS,EAAE,CAAC,EACZ,SAAS,EAAE,gBAAgB,KAAK,CAAC,EACjC,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC/B,OAAO,EAAE,eAAe,GACxB;QACD,QAAQ,IAAI,4BAAI,SAAS,EAAE,MAAM,CAAC,IAAI,UAAU;QAChD,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAC7C,oBAAC,UAAU,IACT,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,gBAAgB,KAAK,SAAS,EACzC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,iBAAiB,CAAC,SAAS,CAAC,EACvC,OAAO,EAAE,eAAe,GACxB,CACH,CAAC;QACD,SAAS,IAAI,4BAAI,SAAS,EAAE,MAAM,CAAC,IAAI,UAAU;QACjD,CAAC,OAAO,IAAI,UAAU,GAAG,CAAC,IAAI,CAC7B,oBAAC,UAAU,IACT,SAAS,EAAE,gBAAgB,KAAK,UAAU,EAC1C,SAAS,EAAE,UAAU,EACrB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,iBAAiB,CAAC,UAAU,CAAC,EACxC,OAAO,EAAE,eAAe,GACxB,CACH;QACD,oBAAC,UAAU,IACT,SAAS,EAAE,MAAM,CAAC,KAAK,EACvB,SAAS,EAAE,gBAAgB,GAAG,CAAC,EAC/B,SAAS,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,iBAAiB,CAAC,aAAa,EAC3D,QAAQ,EAAE,QAAQ,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,gBAAgB,KAAK,UAAU,CAAC,CAAC,EACzF,OAAO,EAAE,mBAAmB;YAE5B,oBAAC,YAAY,IAAC,IAAI,EAAC,aAAa,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,GAAI,CACnE,CACV,CACN,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\n\nimport { useInternalI18n } from '../i18n/context';\nimport InternalIcon from '../icon/internal';\nimport { getBaseProps } from '../internal/base-component';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { PaginationProps } from './interfaces';\nimport { getPaginationState, range } from './utils';\n\nimport styles from './styles.css.js';\n\nconst defaultAriaLabels: Required<PaginationProps.Labels> = {\n nextPageLabel: '',\n paginationLabel: '',\n previousPageLabel: '',\n pageLabel: pageNumber => `${pageNumber}`,\n};\n\ninterface PageButtonProps {\n className?: string;\n ariaLabel: string;\n disabled?: boolean;\n pageIndex: number;\n isCurrent?: boolean;\n children?: React.ReactNode;\n onClick: (requestedIndex: number) => void;\n}\n\nfunction PageButton({\n className,\n ariaLabel,\n disabled,\n pageIndex,\n isCurrent = false,\n children,\n onClick,\n}: PageButtonProps) {\n function handleClick(event: React.MouseEvent) {\n event.preventDefault();\n onClick(pageIndex);\n }\n return (\n <li className={styles['page-item']}>\n <button\n className={clsx(\n className,\n styles.button,\n disabled && styles['button-disabled'],\n isCurrent && styles['button-current']\n )}\n type=\"button\"\n aria-label={ariaLabel}\n disabled={disabled}\n onClick={handleClick}\n aria-current={isCurrent}\n >\n {children}\n </button>\n </li>\n );\n}\n\nfunction PageNumber({ pageIndex, ...rest }: PageButtonProps) {\n return (\n <PageButton className={styles['page-number']} pageIndex={pageIndex} {...rest}>\n {pageIndex}\n </PageButton>\n );\n}\n\ntype InternalPaginationProps = PaginationProps & InternalBaseComponentProps;\n\nexport default function InternalPagination({\n openEnd,\n currentPageIndex,\n ariaLabels,\n pagesCount,\n disabled,\n onChange,\n onNextPageClick,\n onPreviousPageClick,\n __internalRootRef = null,\n ...rest\n}: InternalPaginationProps) {\n const baseProps = getBaseProps(rest);\n const { leftDots, leftIndex, rightIndex, rightDots } = getPaginationState(currentPageIndex, pagesCount, openEnd);\n\n const i18n = useInternalI18n('pagination');\n\n const paginationLabel = ariaLabels?.paginationLabel;\n const nextPageLabel = i18n('ariaLabels.nextPageLabel', ariaLabels?.nextPageLabel) ?? defaultAriaLabels.nextPageLabel;\n const previousPageLabel =\n i18n('ariaLabels.previousPageLabel', ariaLabels?.previousPageLabel) ?? defaultAriaLabels.previousPageLabel;\n const pageNumberLabelFn =\n i18n('ariaLabels.pageLabel', ariaLabels?.pageLabel, format => pageNumber => format({ pageNumber })) ??\n defaultAriaLabels.pageLabel;\n\n function handlePrevPageClick(requestedPageIndex: number) {\n handlePageClick(requestedPageIndex);\n fireNonCancelableEvent(onPreviousPageClick, {\n requestedPageAvailable: true,\n requestedPageIndex: requestedPageIndex,\n });\n }\n\n function handleNextPageClick(requestedPageIndex: number) {\n handlePageClick(requestedPageIndex);\n fireNonCancelableEvent(onNextPageClick, {\n requestedPageAvailable: currentPageIndex < pagesCount,\n requestedPageIndex: requestedPageIndex,\n });\n }\n\n function handlePageClick(requestedPageIndex: number) {\n fireNonCancelableEvent(onChange, { currentPageIndex: requestedPageIndex });\n }\n\n return (\n <ul\n aria-label={paginationLabel}\n {...baseProps}\n className={clsx(baseProps.className, styles.root, disabled && styles['root-disabled'])}\n ref={__internalRootRef}\n >\n <PageButton\n className={styles.arrow}\n pageIndex={currentPageIndex - 1}\n ariaLabel={previousPageLabel ?? defaultAriaLabels.nextPageLabel}\n disabled={disabled || currentPageIndex === 1}\n onClick={handlePrevPageClick}\n >\n <InternalIcon name=\"angle-left\" variant={disabled ? 'disabled' : 'normal'} />\n </PageButton>\n <PageNumber\n pageIndex={1}\n isCurrent={currentPageIndex === 1}\n disabled={disabled}\n ariaLabel={pageNumberLabelFn(1)}\n onClick={handlePageClick}\n />\n {leftDots && <li className={styles.dots}>...</li>}\n {range(leftIndex, rightIndex).map(pageIndex => (\n <PageNumber\n key={pageIndex}\n isCurrent={currentPageIndex === pageIndex}\n pageIndex={pageIndex}\n disabled={disabled}\n ariaLabel={pageNumberLabelFn(pageIndex)}\n onClick={handlePageClick}\n />\n ))}\n {rightDots && <li className={styles.dots}>...</li>}\n {!openEnd && pagesCount > 1 && (\n <PageNumber\n isCurrent={currentPageIndex === pagesCount}\n pageIndex={pagesCount}\n disabled={disabled}\n ariaLabel={pageNumberLabelFn(pagesCount)}\n onClick={handlePageClick}\n />\n )}\n <PageButton\n className={styles.arrow}\n pageIndex={currentPageIndex + 1}\n ariaLabel={nextPageLabel ?? defaultAriaLabels.nextPageLabel}\n disabled={disabled || (!openEnd && (pagesCount === 0 || currentPageIndex === pagesCount))}\n onClick={handleNextPageClick}\n >\n <InternalIcon name=\"angle-right\" variant={disabled ? 'disabled' : 'normal'} />\n </PageButton>\n </ul>\n );\n}\n"]}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../../src/pagination/internal.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\n\nimport {\n copyAnalyticsMetadataAttribute,\n getAnalyticsMetadataAttribute,\n} from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport { useInternalI18n } from '../i18n/context';\nimport InternalIcon from '../icon/internal';\nimport { getBaseProps } from '../internal/base-component';\nimport { fireNonCancelableEvent } from '../internal/events';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { GeneratedAnalyticsMetadataPaginationClick } from './analytics-metadata/interfaces';\nimport { PaginationProps } from './interfaces';\nimport { getPaginationState, range } from './utils';\n\nimport styles from './styles.css.js';\n\nconst defaultAriaLabels: Required<PaginationProps.Labels> = {\n nextPageLabel: '',\n paginationLabel: '',\n previousPageLabel: '',\n pageLabel: pageNumber => `${pageNumber}`,\n};\n\ninterface PageButtonProps {\n className?: string;\n ariaLabel: string;\n disabled?: boolean;\n pageIndex: number;\n isCurrent?: boolean;\n children?: React.ReactNode;\n onClick: (requestedIndex: number) => void;\n}\n\nfunction PageButton({\n className,\n ariaLabel,\n disabled,\n pageIndex,\n isCurrent = false,\n children,\n onClick,\n ...rest\n}: PageButtonProps) {\n function handleClick(event: React.MouseEvent) {\n event.preventDefault();\n onClick(pageIndex);\n }\n return (\n <li className={styles['page-item']} {...copyAnalyticsMetadataAttribute(rest)}>\n <button\n className={clsx(\n className,\n styles.button,\n disabled && styles['button-disabled'],\n isCurrent && styles['button-current']\n )}\n type=\"button\"\n aria-label={ariaLabel}\n disabled={disabled}\n onClick={handleClick}\n aria-current={isCurrent}\n {...(disabled\n ? {}\n : getAnalyticsMetadataAttribute({\n action: 'click',\n detail: {\n label: '',\n },\n } as GeneratedAnalyticsMetadataPaginationClick))}\n >\n {children}\n </button>\n </li>\n );\n}\n\nfunction PageNumber({ pageIndex, ...rest }: PageButtonProps) {\n return (\n <PageButton\n className={styles['page-number']}\n pageIndex={pageIndex}\n {...rest}\n {...(rest.disabled\n ? {}\n : getAnalyticsMetadataAttribute({\n detail: {\n position: `${pageIndex}`,\n },\n }))}\n >\n {pageIndex}\n </PageButton>\n );\n}\n\ntype InternalPaginationProps = PaginationProps & InternalBaseComponentProps;\n\nexport default function InternalPagination({\n openEnd,\n currentPageIndex,\n ariaLabels,\n pagesCount,\n disabled,\n onChange,\n onNextPageClick,\n onPreviousPageClick,\n __internalRootRef = null,\n ...rest\n}: InternalPaginationProps) {\n const baseProps = getBaseProps(rest);\n const { leftDots, leftIndex, rightIndex, rightDots } = getPaginationState(currentPageIndex, pagesCount, openEnd);\n\n const i18n = useInternalI18n('pagination');\n\n const paginationLabel = ariaLabels?.paginationLabel;\n const nextPageLabel = i18n('ariaLabels.nextPageLabel', ariaLabels?.nextPageLabel) ?? defaultAriaLabels.nextPageLabel;\n const previousPageLabel =\n i18n('ariaLabels.previousPageLabel', ariaLabels?.previousPageLabel) ?? defaultAriaLabels.previousPageLabel;\n const pageNumberLabelFn =\n i18n('ariaLabels.pageLabel', ariaLabels?.pageLabel, format => pageNumber => format({ pageNumber })) ??\n defaultAriaLabels.pageLabel;\n\n function handlePrevPageClick(requestedPageIndex: number) {\n handlePageClick(requestedPageIndex);\n fireNonCancelableEvent(onPreviousPageClick, {\n requestedPageAvailable: true,\n requestedPageIndex: requestedPageIndex,\n });\n }\n\n function handleNextPageClick(requestedPageIndex: number) {\n handlePageClick(requestedPageIndex);\n fireNonCancelableEvent(onNextPageClick, {\n requestedPageAvailable: currentPageIndex < pagesCount,\n requestedPageIndex: requestedPageIndex,\n });\n }\n\n function handlePageClick(requestedPageIndex: number) {\n fireNonCancelableEvent(onChange, { currentPageIndex: requestedPageIndex });\n }\n\n const previousButtonDisabled = disabled || currentPageIndex === 1;\n const nextButtonDisabled = disabled || (!openEnd && (pagesCount === 0 || currentPageIndex === pagesCount));\n\n return (\n <ul\n aria-label={paginationLabel}\n {...baseProps}\n className={clsx(baseProps.className, styles.root, disabled && styles['root-disabled'])}\n ref={__internalRootRef}\n >\n <PageButton\n className={styles.arrow}\n pageIndex={currentPageIndex - 1}\n ariaLabel={previousPageLabel ?? defaultAriaLabels.nextPageLabel}\n disabled={previousButtonDisabled}\n onClick={handlePrevPageClick}\n {...(previousButtonDisabled\n ? {}\n : getAnalyticsMetadataAttribute({\n detail: {\n position: 'prev',\n },\n }))}\n >\n <InternalIcon name=\"angle-left\" variant={disabled ? 'disabled' : 'normal'} />\n </PageButton>\n <PageNumber\n pageIndex={1}\n isCurrent={currentPageIndex === 1}\n disabled={disabled}\n ariaLabel={pageNumberLabelFn(1)}\n onClick={handlePageClick}\n />\n {leftDots && <li className={styles.dots}>...</li>}\n {range(leftIndex, rightIndex).map(pageIndex => (\n <PageNumber\n key={pageIndex}\n isCurrent={currentPageIndex === pageIndex}\n pageIndex={pageIndex}\n disabled={disabled}\n ariaLabel={pageNumberLabelFn(pageIndex)}\n onClick={handlePageClick}\n />\n ))}\n {rightDots && <li className={styles.dots}>...</li>}\n {!openEnd && pagesCount > 1 && (\n <PageNumber\n isCurrent={currentPageIndex === pagesCount}\n pageIndex={pagesCount}\n disabled={disabled}\n ariaLabel={pageNumberLabelFn(pagesCount)}\n onClick={handlePageClick}\n />\n )}\n <PageButton\n className={styles.arrow}\n pageIndex={currentPageIndex + 1}\n ariaLabel={nextPageLabel ?? defaultAriaLabels.nextPageLabel}\n disabled={nextButtonDisabled}\n onClick={handleNextPageClick}\n {...(nextButtonDisabled\n ? {}\n : getAnalyticsMetadataAttribute({\n detail: {\n position: 'next',\n },\n }))}\n >\n <InternalIcon name=\"angle-right\" variant={disabled ? 'disabled' : 'normal'} />\n </PageButton>\n </ul>\n );\n}\n"]}
@@ -2,8 +2,9 @@ import React from 'react';
2
2
  import { NonCancelableEventHandler } from '../internal/events/index';
3
3
  import { InternalBaseComponentProps } from '../internal/hooks/use-base-component';
4
4
  import { PopoverProps } from './interfaces';
5
- export interface InternalPopoverProps extends PopoverProps, InternalBaseComponentProps {
5
+ export interface InternalPopoverProps extends Omit<PopoverProps, 'triggerType'>, InternalBaseComponentProps {
6
6
  __onOpen?: NonCancelableEventHandler<null>;
7
+ triggerType?: PopoverProps.TriggerType | 'filtering-token';
7
8
  }
8
9
  export interface InternalPopoverRef {
9
10
  dismissPopover: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/popover/internal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAwE,MAAM,OAAO,CAAC;AAU7F,OAAO,EAA0B,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAQlF,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAI5C,MAAM,WAAW,oBAAqB,SAAQ,YAAY,EAAE,0BAA0B;IACpF,QAAQ,CAAC,EAAE,yBAAyB,CAAC,IAAI,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CAC7B;;AAED,wBAAiD"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../src/popover/internal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAwE,MAAM,OAAO,CAAC;AAU7F,OAAO,EAA0B,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAQlF,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAI5C,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE,0BAA0B;IACzG,QAAQ,CAAC,EAAE,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAC3C,WAAW,CAAC,EAAE,YAAY,CAAC,WAAW,GAAG,iBAAiB,CAAC;CAC5D;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CAC7B;;AAED,wBAAiD"}
@@ -94,7 +94,7 @@ function InternalPopover(_a, ref) {
94
94
  React.createElement(LinkDefaultVariantContext.Provider, { value: { defaultVariant: 'primary' } },
95
95
  React.createElement(PopoverBody, { dismissButton: dismissButton, dismissAriaLabel: dismissAriaLabel, header: header, onDismiss: onDismiss, overflowVisible: "both" }, content))))));
96
96
  const mergedRef = useMergeRefs(popoverRef, __internalRootRef);
97
- return (React.createElement("span", Object.assign({}, baseProps, { className: clsx(styles.root, baseProps.className), ref: mergedRef, onMouseDown: () => {
97
+ return (React.createElement("span", Object.assign({}, baseProps, { className: clsx(styles.root, baseProps.className, triggerType === 'filtering-token' && styles['root-filtering-token']), ref: mergedRef, onMouseDown: () => {
98
98
  // Indicate there was a click inside popover recently, including nested portals.
99
99
  clickFrameId.current = requestAnimationFrame(() => {
100
100
  clickFrameId.current = null;